JP7187267B2 - 情報処理装置及びその制御方法 - Google Patents

情報処理装置及びその制御方法 Download PDF

Info

Publication number
JP7187267B2
JP7187267B2 JP2018205876A JP2018205876A JP7187267B2 JP 7187267 B2 JP7187267 B2 JP 7187267B2 JP 2018205876 A JP2018205876 A JP 2018205876A JP 2018205876 A JP2018205876 A JP 2018205876A JP 7187267 B2 JP7187267 B2 JP 7187267B2
Authority
JP
Japan
Prior art keywords
control unit
program
clock
frequency
supplied
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018205876A
Other languages
English (en)
Other versions
JP2020071723A5 (ja
JP2020071723A (ja
Inventor
賀久 野村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2018205876A priority Critical patent/JP7187267B2/ja
Priority to US16/662,803 priority patent/US20200134232A1/en
Priority to CN201911036270.7A priority patent/CN111125686B/zh
Priority to KR1020190136315A priority patent/KR102547034B1/ko
Publication of JP2020071723A publication Critical patent/JP2020071723A/ja
Publication of JP2020071723A5 publication Critical patent/JP2020071723A5/ja
Application granted granted Critical
Publication of JP7187267B2 publication Critical patent/JP7187267B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Description

本発明は、情報処理装置及びその制御方法に関するものである。
ソフトウェアの脆弱性をついて、ソフトウェアを改ざんし、コンピュータを悪用する攻撃が問題となっている。
特許文献1は、第1のCPU、第2のCPU、第2のCPUが実行するプログラムを記憶する不揮発メモリを有する情報処理装置を開示する。この情報処理装置では、第1のCPUが、第2のCPUが実行するプログラムを不揮発メモリから読み出して、そのプログラムの改竄の有無を検証し、その検証の結果に応じて、そのプログラムを第2CPUに出力する。そして第2CPUは、改竄がなされていないプログラムを実行するので、セキュリティを向上させることができる。
国際公開WO09/013825
プログラムをメモリから読み出して改竄の有無を検証するシステムにおいて、改竄の有無を検知するのにかかる時間は、システムバスやCPU等のモジュールに供給されるクロック周波数が高ければ短時間で済む。しかし、モジュールに供給されるクロックの周波数が高いと、モジュールからの放熱量の増大や消費電力量の増大等の課題が生じる。
本発明は、プログラムを記憶するメモリと、システムバスと、前記メモリに記憶されているプログラムを読み込み、該読み込まれたプログラムが改竄されているかを判定する第1制御部と、改竄されていないと判定された前記プログラムを前記メモリから読み込み、実行する第2制御部と、前記システムバスおよび前記第1制御部の少なくとも1つのモジュールへ供給されるクロックの周波数を制御するクロック制御部と、を有し、前記クロック制御部は、前記第1制御部による前記プログラムの読み込み開始されると、前記少なくとも1つのモジュールに供給されるクロックの周波数を、当該プログラムの読み込み前に供給されるクロックの周波数よりも高くし、前記判定が完了すると、前記少なくとも1つのモジュールに供給されるクロックの周波数を当該プログラムの読み込み後に供給されるクロックの周波数よりも低くするよう制御することを特徴とする。
本発明によれば、放熱や消費電力を増大させ過ぎずに、プログラムの改ざんの有無を検知するのにかかる時間を短縮することができる。
実施例1の複合機のハードウェア構成図 CPU111による改竄検知処理時の電力供給状態を示す図 複合機のソフトウェア構成図 起動時の動作を示す模式図 実施例1の処理を示すフローチャート 実施例1の処理を示すフローチャート 実施例2の複合機のハードウェア構成図 実施例2の処理を示すフローチャート
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、本発明は、以下の実施形態のみに限定されるものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、実施形態に係る情報処理装置として複合機(デジタル複合機/MFP/Multi Function Peripheral)を例に説明する。しかしながら適用範囲は複合機に限定はせず、情報処理装置であればよい。
(実施例1)
図1は実施例1に係る複合機10のハードウェア構成を説明するブロック図である。
コントローラ20は、複合機10の制御を行うための後述する101~137のハードウェアモジュールで構成される。本実施例では半導体チップとして構成されているものとして説明する。
クロック生成部30は、クロックを生成して複合機10内部の各モジュールに適した周波数のクロック信号(外部クロック)を供給する。本実施形態ではクロック生成部30は、クロック信号31をコントローラ20内のPLL(Phase Locked Loop)123に供給する。このPLL123は、周波数が可変なクロックを供給するクロック供給部として機能する。周波数はクロック制御信号32によって変更可能である。
リセット生成部40は、リセット信号を生成して複合機10内部の各モジュールへリセットを掛けたり解除したりする半導体チップである。本実施例ではコントローラ20へ供給するリセット信号41しか図示していないがスキャナ141やプリンタ142などのモジュールにも接続されているものとする。複合機10の電源が供給されると一定時間(例えば供給電源電圧が安定するまで)リセット信号41のリセット状態を保持した後にリセット信号41を解除状態にしてコントローラ20のリセットを解除する。リセット信号41がアサートされている状態がリセット信号41のリセット状態であり、リセット信号41がデアサートされている状態がリセット信号41の解除状態である。コントローラ20のリセットが解除されると、コントローラ20内のモジュールが動作を開始する。
CPU101は、複合機10のソフトウェアプログラムを実行し、装置全体の制御を行う。
RAM103は、ランダムアクセスメモリで、CPU101が複合機10を制御する際に、プログラムや一時的なデータの格納などに使用される。
HDD144は、ハードディスクドライブで一部のアプリケーション、各種データを格納する。このHDD144は、CPU101が実行するJava(登録商標)プログラム214を格納している。
フラッシュメモリ145は、複合機10の固定パラメータ等を格納している。またフラッシュメモリ145は、CPU101が実行するBIOS210を格納している。さらにCPU101が実行するローダー211・カーネル212・Nativeプログラム213を格納する。なお、HDD144とフラッシュメモリ145は同一のストレージモジュールであっても良いものとする。
CPU111は、CPU101が実行するソフトウェアプログラムの改竄を検知する改竄検知ソフトウェアプログラムを実行し、複合機10の中で一部の制御を行う。
ROM112はリードオンリーメモリで、前記改竄検知ソフトウェアプログラムや後述の公開鍵などを格納している。またROM112は、CPU111が実行するブートプログラム209を格納している。
なおROM112は、データの内容が書き換え不可能なマスクROMもしくは製造時に一度だけ書き込みが可能なOTP(One Time Programmable) ROMで構成されている。
RAM113は、ランダムアクセスメモリで、CPU111が複合機10を制御する際に、プログラムや一時的なデータの格納などに使用される。なおRAM103とRAM113は同一のモジュールであっても良いものとする。
電源制御部(電力制御部)120は、コントローラ20内部の各モジュール部に対して電力供給を制御するIC(Integrated Circuit)である。コントローラ20(複合機10)の起動時や動作時に、各モジュール部に対して所定の電力を供給したり停止したりすることができる。
クロック制御部121は、PLL123を内部クロック制御信号33で制御する。これにより、PLL123は、クロック信号31の周波数を逓倍し、周波数が逓倍されたクロック信号をコントローラ20内部の各モジュール部に対して供給する。クロック制御部121は、コントローラ20の起動時や動作時に、PLL123に対して逓倍の設定を変更することで、PLL123が各モジュール部に最適な周波数のクロック(内部クロック)を供給するように制御を行う。またクロック制御部121は、モジュールごとに個別にクロックをゲートして停止させることができる。
リセット制御部122はコントローラ20内部の各モジュール部に対してリセット制御する。コントローラ20の起動時や動作時に、各モジュールをリセット状態にしたりリセット解除状態にしたりする制御を行う。
スキャナI/F制御部131は、スキャナ141による原稿の読み取り制御する。プリンタI/F制御部132は、プリンタ142による印刷処理などを制御する。パネル制御部133は、タッチパネル式の操作パネル143を制御し、各種情報の表示、使用者からの指示入力を制御する。
HDD制御部134は、HDD144に対してデータを読み書きする制御を行う。例えばRAM103に格納されている画像データをシステムバス109経由でHDD144に書きだして格納することができる。
フラッシュメモリ制御部135は、フラッシュメモリ145に対してデータを読み書きする制御を行う。フラッシュメモリ制御部135は、コントローラ20の起動時にフラッシュメモリ145に格納されているプログラムを読みだしてシステムバス109経由でRAM113へ展開することができる。
ネットワークI/F制御部136は、ネットワーク146上の他のデバイスやサーバーとのデータの送受信を制御する。
外部ポート制御部137は、コントローラ20の入出力ポート制御部である。例えば出力ポートを制御することによりLED147を必要に応じて点灯し、ソフトウェアやハードウェアの異常を外部に伝えることが可能である。
画像処理部138は、スキャナ141から読み取った画像データをシェーディング補正したり、プリンタ142に出力するためにハーフトーン処理やスムージング処理したりする処理部である。
システムバス109は、システムバス109に接続されている各モジュールを相互に接続する。このシステムバス109を介して、CPU101やCPU111からの制御信号や各装置間のデータ信号が送受信される。
図3は、実施形態1に係る複合機10が有するソフトウェアモジュールを説明するブロック図である。これらのソフトウェアはCPU101、またはCPU111が実行するものとして説明する。
通信管理部207は、ネットワーク146に接続されるネットワークI/F制御装置136を制御して、ネットワーク146を介して外部とデータの送受信を行う。
UI制御部203は、パネル制御部133を介して操作パネル143への入力を受け取り、入力に応じた処理や操作パネル143への画面出力を行う。
ブートプログラム209は、複合機10の電源を入れるとCPU111で実行されるプログラムであり、起動に関わる処理としてコントローラ20に対して起動シーケンスを実行する。起動シーケンスについては図4を用いて後述する。このブートプログラム209は、起動後にBIOSの改ざん検知を行うBIOS改ざん検知処理部201を有する。
BIOS210は、ブートプログラム209実行後にCPU101で実行されるプログラムであり、起動に関わる処理を行うほかにローダー211の改ざん検知を行うローダー改ざん検知処理部202を有する。
ローダー211は、BIOS210の処理が終わった後にCPU101で実行されるプログラムであり、起動に関わる処理を行うほかにカーネルの改ざん検知を行うカーネル改ざん検知処理部204を有する。
カーネル212は、ローダー211の処理が終わった後にCPU101で実行されるプログラムであり、起動に関わる処理を行うほかにNativeプログラム213の改ざん検知を行うNative改ざん検知処理部205を有する。
Nativeプログラム213は、CPU101で実行されるプログラムであり、複合機10のJavaプログラム214と連携して各機能を提供する複数のプログラムで構成される。この複数のプログラムは、例えばスキャナIF制御部106やプリンタIF制御部106を制御するプログラムや起動プログラムなどを含む。この起動プログラムは、カーネル212によってNativeプログラムの中から呼び出され、起動処理を行う。またNativeプログラム213は、プログラムの中の一つとしてJavaプログラムの改ざん検知を行うJavaプログラム改ざん検知処理部を有する。
Javaプログラム214は、CPU101で実行されるプログラムであり、複合機10のNativeプログラム213と連携して各機能を提供するプログラム(たとえば操作パネル143に画面を表示するプログラム)である。
次に複写機10の起動シーケンスについて図4を用いて説明する。
図4(a)は改ざん検知を行わずに複合機10が起動する順序を示す起動シーケンス模式図である。ブートプログラム209がBIOS210を起動し、BIOS210がローダー211を起動し、ローダー211がカーネル212を起動し、カーネル212がNativeプログラム213の中から起動プログラムを起動する。起動プログラムの中でJavaプログラム214が起動され、以降はNativeプログラム213とJavaプログラム214が連携して複合機10の有する各機能を提供する。
図4(b)はブートプログラム209からBIOS210、ローダー211、カーネル212、Nativeプログラム213、Javaプログラム214が改ざん検知を行いながら起動する処理の流れを表した起動シーケンスの模式図である。また、図4(b)は各プログラムの保存場所、デジタル署名(以下署名と呼ぶ)と公開鍵の保存場所を表した模式図でもある。
署名とは、例えば正規のプログラム(データ列)を所定のハッシュ関数によってハッシュ値に変換し、公開鍵に対応する秘密鍵でハッシュ値を暗号化したものである。この暗号化されたハッシュ値を公開鍵で復号することで正規のプログラムのハッシュ値を計算し、改ざんの有無の検証対象であるプログラムを前述のハッシュ関数によってハッシュ値に変換し、これら2つのハッシュ値を比較する。2つのハッシュ値が等しければ検証対象のプログラムは正規のプログラムから改ざんされていないと判定できる。またもし2つのハッシュ値が異なれば検証対象のプログラムは正規のプログラムから改ざんされていると判定できる。このように署名を用いて検証対象のプログラムの改ざん有無を調べる方法を、以降では、プログラムの署名検証と呼ぶ。また、プログラムが改ざんされていないことを、署名検証に成功すると呼び、プログラムが改ざんされていることを、署名検証に失敗すると呼ぶ。本実施例では、プログラムの改ざん有無を調べる方法として、このような署名および公開鍵を用いる方法を採るが、改ざん有無を調べる他の方法でも良い。
ROM112には、ブートプログラム209の他に、BIOS署名検証用の公開鍵300が格納される。フラッシュメモリ145には、BIOS210、ローダー211、カーネル212、Nativeプログラム213、Javaプログラム214の他に、次のものが格納される。BIOS署名302、ローダー検証用公開鍵303、ローダー署名304、カーネル検証用公開鍵305、カーネル署名306、Nativeプログラム検証用公開鍵307である。また、Nativeプログラム署名309、Javaプログラム検証用公開鍵308、Javaプログラム署名310もフラッシュメモリ145に格納される。これらの公開鍵と署名はあらかじめ複合機10の出荷前にROM112およびフラッシュメモリ145に格納されたものとする。
改ざん検知処理部201、202、204~206が次のプログラムが改ざんされているかどうかを検証し、改ざんされていなければ次のプログラムを起動する。このようにプログラムの改ざん検知および起動を順次行う起動シーケンスにしたがって複合機10は起動する。
ここで、本実施例の特徴である前記起動シーケンスにおいて改竄検知プログラムを実施する際に周波数を最高速度で動作する方法について図4、図6を用いて説明をする。
図4はCPU111が実行する起動シーケンスの処理のフローチャートであり、図6はCPU101が実行する起動シーケンスの処理のフローチャートである。
本実施例では初期状態においては次の設定で動作してから図4のフローチャートの処理が実行されるものとする。
複合機10の電源が入ると電源制御部120は、コントローラ20の各部に電力を供給するように制御を行う。またクロック制御部121は、電力が供給されると、クロック制御信号32をクロック生成部30に出力することで、クロック生成部30の発振器もしくは振動子にクロック信号31を生成させるように制御する。またクロック制御部121は、内部クロック制御信号33をPLL123に出力することで、PLL123に所望のコントローラ20の内部クロックを生成させるように制御する。電源投入時のデフォルト状態ではPLL123の逓倍機能が動作しておらず、クロック信号31はバイパスされて内部クロックとして出力されているものとする。したがって内部クロックは通常動作時の1/10程度の低周波数である。
次にリセット生成部40は、リセット信号41を介してリセット制御部122に対するリセットを解除する。
リセット制御部122に対するリセットが解除されると、まずリセット制御部122は、CPU111、ROM112、システムバス109のリセットを解除する。このときはまだ、CPU101はリセット状態のままである。またCPU111のリセットベクターは、ROM112のアドレスである。すなわち、CPU111のリセットが解除されるとCPU111は、ROM112に記憶されているプログラムを実行する。CPU101のリセットベクターは、フラッシュメモリ145のアドレスであり、CPU101のリセットが解除されると、CPU101は、フラッシュメモリ145に記憶されているプログラムを実行する。
以下にS401~S410はCPU111が実行する起動シーケンスを図4に沿って説明する。すなわちCPU111が実行する図3に示されるソフトウェアモジュールによって以下の処理が行われる。この起動シーケンスの特徴は、S402、S403、S407、S408である。すなわち、プログラムの改竄有無を判定する処理(この処理を以降、改竄検知処理と呼ぶ)の間は、この改竄検知処理に関わるモジュールの少なくとも1つに高周波数のクロックが供給され、かつ、コントローラ20内の一部のモジュールのみに電力が供給される。この改竄検知処理に関わるモジュールとは、例えばCPU111、システムバス109等である。そして、この改竄検知処理(図5)後は、コントローラ20内の全モジュールに電力が供給され、かつ、前記少なくとも1つのモジュールに低周波数のクロックが供給される。例えば、クロック制御部121がPLL123を制御し、CPU111によるBIOS210のROM102からの読み出し開始から少なくともBIOS210の読み出し完了まで高周波数のクロックがCPU111、システムバス109に供給されるようにする。またクロック制御部121はPLL123を制御し、CPU111によるBIOS210の改竄検知処理後に低周波数のクロックがCPU111、システムバス109に供給されるようにする。
S401においてCPU111のリセットが解除されると、CPU111は、ROM112に記憶されているブートプログラムを、システムバス109を介して読み出して実行する。
S402においてCPU111は、ブートプログラムに従って電源制御(電力制御)を行う。ここでは改竄検知を行うために必要なコントローラ20内の一部のモジュールのみに電源を供給するように制御を行う。なお、本実施例では改竄検知処理時に必要な次の所定のモジュールには少なくとも電源を供給する。クロック制御部121、リセット制御部122、PLL123、電源制御部120である。また、CPU101、RAM103、CPU111、ROM112、RAM113、HDD制御部134、フラッシュメモリ制御部135、フラッシュメモリ145、外部ポート制御部137である。また、図2で灰色で塗られたモジュールには、電源が供給されない。
S403においてCPU111は、ブートプログラムに従って以下のクロック制御を行う。コントローラ20の起動完了後にコントローラ20内の各モジュールの動作周波数は複合機10の製品仕様に応じて異なる。しかしながら起動時間の短縮のために、起動シーケンスにおいて改竄検知処理を行う間、改竄検知処理に関連するモジュール(例えばCPU111やシステムバス109)に供給されるクロックの周波数を高周波数に設定するのが良い。
そこで本実施例では、クロック制御部121は、クロック制御信号32によってクロック生成部30に対して、高周波数のクロック信号31を供給するように指示する。なお、外部クロックを変更した場合は水晶振動子や水晶発振器が安定するまで一定時間待つ必要がある。
さらにクロック制御部121は、内部クロック制御信号33によってPLL123に対して、コントローラ20内の必要なモジュールに対して供給される内部クロックの周波数を高周波数に設定する。こうすることでCPU111やシステムバス109、フラッシュメモリ制御部135の処理速度を高速で行うことが可能となる。
なおクロック制御部121は、内部クロックの周波数を変更するために、次の処理を行う。すなわちクロック制御部121は、PLL123からのクロックを一旦ゲートして、PLL123をバイパスした外部クロックに切り替え、PLL123で生成される内部クロックが安定してから、高速な内部クロックを各モジュールに供給する制御を行う。ここで内部クロックを切り替える制御はCPU111へのクロック供給も停止してしまうのでクロック制御部121の内部にハードシーケンサを設けて行うものとする。
クロック制御部121は、CPU101、RAM103、CPU111、ROM112、RAM113、システムバス109、HDD制御部134、フラッシュメモリ制御部135、フラッシュメモリ145に供給されるクロック周波数の設定を行う。設定されるクロック周波数は後述のS407において設定される周波数よりも高い周波数である。供給されるクロックの周波数は、供給先のモジュールによって異ならせてよい。例えばCPU111には150MHzのクロック、システムバス109には600MHzのクロック等の異なる周波数のクロックが供給されてよい。こうすることで後述の処理を最短で実行することができる。とくにフラッシュメモリ145から読み出すBIOS、ローダー、カーネルはデータ量が大きく読み出し時間や改竄検知処理のための暗号復号処理が起動時間に大きく影響するものである。したがってシステムバス109やフラッシュメモリ制御部135およびCPU111の動作周波数を最大にすることで起動時間を短縮することが可能となる。
S404においてCPU111は、ブートプログラムに従ってリセット解除を行う。すなわちCPU111は、改竄検知処理に必要なモジュールのリセットを解除する。具体的にはRAM113、HDD制御部134、フラッシュメモリ制御部135、フラッシュメモリ145のリセットが解除される。
S405においてCPU111は、ブートプログラムに従ってBIOS210の署名検証を行う。ブートプログラム209に含まれるBIOS改ざん検知処理部201は、フラッシュメモリ145からシステムバス109を介してBIOS210およびBIOS署名302をRAM113に読み込む。次にBIOS改ざん検知処理部201は、ブートプログラムBIOS検証用公開鍵300を用いてBIOS署名302の検証を行う。
S406においてCPU111は、BIOS210の署名検証が成功したかを判定する。署名検証の結果、BIOSが改ざんされていない(ハッシュ値と署名の値とが一致する)ならば、署名検証に成功したとして、処理はS407に進む。BIOSが改ざんされている(ハッシュ値と署名の値とが一致しない)ならば、署名検証に失敗したとして、処理はS410に進む。
S407においてCPU111は、クロック制御部121を制御して、PLL123が供給するクロックの周波数を、S403において設定した高周波数から、複合機10の製品仕様に応じた相対的に低い動作周波数に変更する。供給されるクロックの周波数は、供給先のモジュールによって異ならせてよい。例えばCPU111には100MHz、システムバス109には400MHzのクロックをそれぞれ供給してよい。動作周波数の変更方法についてはS403で説明したものと同様のため割愛する。
S408においてCPU111は、電源制御部120を制御して、コントローラ20内の全モジュールに電源を供給するように制御を行う。
S409においてCPU111は、リセット制御部122を制御してCPU101、RAM103のリセットを解除し、ブートプログラム209の処理を終了する。そして起動シーケンスは後述のS501へ遷移する。すなわちCPU101がBIOS210を実行してBIOS210が起動する。
S410においてBIOS改ざん検知処理部201(CPU111)は、S406で署名検証に失敗したことを通知するために、外部ポート制御部137を制御してLED147を点灯させ、ブートプログラム209の処理を終了する。
なお、S407の制御は後述のCPU101が実行するプログラムのBIOSやカーネルで実行しても良いものとする。そうすることでCPU101の起動シーケンスを高速周波数で動作させてさらに起動時間を短縮効果が得られる。なお、製品仕様によっては電源容量や熱容量があるため高速周波数が動作保証できる範囲でクロック制御、電源制御は行われるものとする。
以上のシーケンスを実行することでCPU101は改竄されていないBIOS210を実行することが可能となる。
以下にS501~S510はCPU101が実行する起動シーケンスを図6に沿って説明する。すなわちCPU101が実行する図3に示されるソフトウェアモジュールによって以下の処理が行われる。なお、下記の説明においてプログラム(ローダー211、カーネル212、Nativeプログラム213、Javaプログラム214)の改ざん検知の有無の判定方法は一例であり、プログラムの改ざんを検知する方法であれば他の方法が実行されてもよい。
S501においてCPU101は、フラッシュメモリ145からシステムバス109を介してBIOS210をフラッシュBIOS210は起動されると、各種初期化処理を行う。このときBIOS210に含まれるローダー改ざん検知処理部202が、フラッシュメモリ145から、ローダー211とカーネル検証用公開鍵305、ローダー署名304を、RAM103に読み込む。ここでの初期化シーケンスは例えばHDD制御部134の初期化を行いHDD144へアクセスができるようにする。
S502においてローダー改ざん検知処理部202は、ローダー検証用公開鍵303およびローダー署名304を用いてローダー211の署名検証を行い、署名検証に成功したか判定する。署名検証に失敗した場合、S510にてローダー改ざん検知処理部202は、パネル制御部133の初期化を行って操作パネル143にエラーメッセージを表示し処理を終了する。署名検証に成功した場合、ローダー改ざん検知処理部204は処理を終了し、BIOS210がRAM103に読み込まれたローダー211を起動する。
S503においてローダー211は起動されると、各種初期化処理を行う。ここでの初期化は例えばパネル制御部133の初期化を行って操作パネル143に起動画面を表示させたりする。また、ローダー211に含まれるカーネル改ざん検知処理部204が、フラッシュメモリ145から、カーネル212とNativeプログラム検証用公開鍵307とカーネル署名306を、RAM103に読み込む。
S504においてカーネル改ざん検知処理204は、カーネル検証用公開鍵305およびカーネル署名306を用いてカーネル212の署名検証を行い、署名検証に成功したか判定する。署名検証に失敗した場合、S510にてカーネル改ざん検知処理部204は、操作パネル143にエラーメッセージを表示し処理を終了する。署名検証に成功した場合、カーネル改ざん検知処理部204は処理を終了し、ローダー211がRAM103に読み込まれたカーネル212を起動する。
S505においてカーネル212は起動されると、各種初期化処理を行う。ここでの初期化は例えばネットワークI/F制御部136の初期化を行ってネットワーク146との通信が行えるようにする。次にカーネル212に含まれるプログラム改ざん検知処理部205が、フラッシュメモリ145から、Nativeプログラム213・Javaプログラム214に対する検証用公開鍵308と、Nativeプログラム署名309を、RAM103に読み込む。
S506においてプログラム改ざん検知処理部205は、検証用公開鍵308およびNativeプログラム署名309を用いてNativeプログラム213の署名検証を行い、署名検証に成功したか判定する。署名検証に失敗した場合、S510にてプログラム改ざん検知処理部204は、操作パネル143にエラーメッセージを表示し処理を終了する。署名検証に成功した場合、プログラム改ざん検知処理部205は処理を終了し、Nativeプログラム213を起動する。
S507においてNativeプログラム213のうち、改ざん検知の処理を行うJavaプログラム改ざん検知処理部206が起動されると、HDD144から、Javaプログラム214とJavaプログラム署名310を、RAM103に読み込む。
S508においてJavaプログラム改ざん検知処理部206は、検証用公開鍵308およびJavaプログラム署名310を用いてJavaプログラム214の署名検証を行い、署名検証に成功したか判定する。署名検証に失敗した場合、S510にてJavaプログラム改ざん検知処理部206は操作パネル143にエラーメッセージを表示し処理を終了する。署名の検証に成功した場合、Javaプログラム改ざん検知処理部205は処理を終了し、S509にてJavaプログラム214を起動する。
なおS510の処理は、操作パネル143へエラーメッセージを表示するが、これに代えて、S410の処理のように、外部ポート制御部137を制御してLED147を点灯させるようにしてもよい。また操作パネル143へのエラーメッセージの表示およびLED147の点灯の両方が行われてもよい。
以上説明したように実施形態1によれば、ブートプログラム209がBIOS210の改ざんを検知する処理を高速に実行させるようにすることで起動時間を短縮することができる。
本実施例ではクロック制御を最大周波数から複合機10の製品仕様に応じて通常時の動作周波数は変更する処理をブートプログラム209が実行中におこなっている。しかし、クロック制御を行うプログラムは本実施例のものに限定されず、BIOS210やカーネル212などがクロック制御を実行してもよい。
また、本実施例では公開鍵がすべて異なるものであるとして説明したが、同じものがあってもよい。またブートプログラム209以外のプログラムの保存場所は限定されるものではなく、別の記憶媒体であってもよい。またプログラムの保存場所が上記で説明した箇所とは異なる箇所であってもよく、たとえばROM112上にローダー211を記憶する構成であってもよい。
(実施例2)
実施例2について説明する。前述の実施例1ではコントローラ20を1つのLSIで構成するもので説明したが、実施例2では起動時の改竄検知を行う専用チップを用いた構成で行う方法について実施例1との差分のみ説明する。
図7は本実施例の複合機10の構成図である。実施例1との差分は改竄検知コントローラ50がICで構成されている点である。改竄検知コントローラ50は、実施例1のコントローラ20内部のCPU111、ROM112、RAM113、LED147、システムバス109の機能に相当するCPU501、ROM502、RAM503、LED148、システムバス509を持つ。さらに電源制御部520、クロック制御部521、リセット制御部522、外部ポート制御部504、フラッシュメモリ制御部505も持つ。
また改竄検知コントローラ50は、クロック生成部121を制御するためのクロック制御信号32と、コントローラ20のリセット解除を行うためのコントローラリセット信号42とが接続されている。また改竄検知コントローラ50は、フラッシュメモリ145、LED148にも接続されている。なお、コントローラ20と改竄検知コントローラ50との両方がフラッシュメモリ145に同時にアクセスできないため、スイッチ149がアクセス制御を行う。つまりスイッチ149は、コントローラ20からのフラッシュメモリ145へのアクセスが行われている間、改竄検知コントローラ50からのフラッシュメモリ145へのアクセスができないようにする。またスイッチ149は、改竄検知コントローラ50からのフラッシュメモリ145へのアクセスが行われている間、コントローラ20からのフラッシュメモリ145へのアクセスができないようにする。
本実施例2では初期状態においては以下の設定で動作するものとする。
複合機10の電源を入れると電源制御部520の制御によってクロック制御部521、リセット制御部522、CPU501、ROM502、RAM503に電力が供給される。リセット生成部40からリセット信号41を介して改竄検知コントローラ50に対するリセット解除がなされる。またクロック制御部521は、電力が供給されると、複合機10内のクロック生成部30の発振器もしくは振動子、および、不図示の改竄検知コントローラ20内のPLL123が、それぞれ所定のクロック生成するための制御を行う。さらにリセット制御部522は、改竄検知コントローラ50に対するリセット解除がなされるとCPU501のリセットを解除する。またCPU501のリセットベクターはROM502のアドレスに設定されており、CPU501のリセットが解除されるとCPU501はまずROM502に格納されているプログラムを実行する。一方リセット制御部122は、コントローラ20に対するリセット解除がコントローラリセット信号42を介してなされると、CPU101のリセットを解除する。CPU101のリセットベクターがフラッシュメモリ145のアドレスに設定されていると、リセットが解除されたCPU101はまずフラッシュメモリ145に格納されているプログラムを実行する。
図8は改竄検知を行う専用チップを用いた起動シーケンスである。S701~S710はCPU501が実行するものとして説明する。S709以外については実施例1と同様のため説明を割愛する。つまりS701~S708、S710の処理はそれぞれ、S401~S408、S410の処理と同様である。ただし、S401からS410におけるコントローラ20のモジュールであるCPU111、ROM112、RAM113は改竄検知コントローラ50のモジュールCPU501、ROM502、RAM503に対応する。またフラッシュメモリ制御部135、外部ポート制御部137、システムバス109、フラッシュメモリ制御部505、外部ポート制御部504、システムバス509に対応する。さらに電源制御部120、クロック制御部121、リセット制御部122は電源制御部520、クロック制御部521、リセット制御部522に対応する。
S709においてCPU501は、リセット制御部522を制御することでコントローラ20に対するコントローラリセット信号42のリセット状態を解除し、ブートプログラム209の処理を終了する。
以上説明したように実施形態2によれば、S701~S710の起動シーケンスによってブートプログラム209がBIOS210の改ざんを検知する処理を高速に実行させるようにすることで起動時間を短縮することができる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (19)

  1. プログラムを記憶するメモリと、
    システムバスと、
    前記メモリに記憶されているプログラムを読み込み、該読み込まれたプログラムが改竄されているかを判定する第1制御部と、
    改竄されていないと判定された前記プログラムを前記メモリから読み込み、実行する第2制御部と、
    前記システムバスおよび前記第1制御部の少なくとも1つのモジュールへ供給されるクロックの周波数を制御するクロック制御部と、
    を有し、
    前記クロック制御部は、前記第1制御部による前記プログラムの読み込み開始されると、前記少なくとも1つのモジュールに供給されるクロックの周波数を、当該プログラムの読み込み前に供給されるクロックの周波数よりも高くし、前記判定が完了すると、前記少なくとも1つのモジュールに供給されるクロックの周波数を当該プログラムの読み込み後に供給されるクロックの周波数よりも低くするよう制御する
    ことを特徴とする情報処理装置。
  2. 前記クロック制御部は、前記第1制御部による前記プログラム読み込み開始されると、前記システムバスおよび前記第1制御部のそれぞれに供給されるクロックの周波数を、当該プログラムの読み込み前に供給されるクロックの周波数よりも高くし、前記判定が完了すると、前記少なくとも1つのモジュールに供給されるクロックの周波数を当該プログラムの読み込み後に供給されるクロックの周波数よりも低くするよう制御する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記システムバスおよび前記第1制御部に供給されるクロックの周波数は異なることを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記システムバスに供給されるクロックの周波数は、前記第1制御部に供給されるクロックの周波数よりも高いことを特徴とする請求項3に記載の情報処理装置。
  5. 前記システムバスおよび前記第1制御部の少なくとも1つのモジュールにクロックを供給するクロック供給部を有し、
    前記クロック制御部は、前記クロック供給部が供給するクロックの周波数を前記クロック供給部に対して設定して、クロックの周波数を制御することを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  6. 前記第1制御部および前記第2制御部への電力供給を制御する電力制御部と、
    前記電力制御部は、前記第1制御部による前記プログラムの読み込みの開始から前記判定の完了まで、前記第1制御部に電力を供給するが前記第2制御部に電力を供給せず、当該判定の完了後、前記第1制御部および前記第2制御部に電力を供給することを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。
  7. 前記メモリは、秘密鍵で暗号化された前記プログラムの署名を記憶し、
    前記第1制御部は、
    前記メモリから前記システムバスを介して読み込まれた前記プログラムの署名を計算する計算手段と、
    前記暗号化された前記署名を前記メモリから読み込む読み込み手段と、
    前記読み込まれた前記暗号化された前記署名を、公開鍵で復号する復号手段と、
    を有し、
    前記計算された署名と、前記復号された署名とを比較することで前記メモリに記憶された前記プログラムが改ざんされているかを判定することを特徴とする請求項1乃至6の何れか1項に記載の情報処理装置。
  8. 前記署名とは、前記プログラムのハッシュ値であることを特徴とする請求項7に記載の情報処理装置。
  9. 前記クロック供給部は少なくともPLLであることを特徴とする請求項5に記載の情報処理装置。
  10. 前記情報処理装置は、プリンタ部を有し、
    前記電力供給部は、前記プリンタ部への電力供給を制御し、
    前記第1制御部による前記プログラムの前記判定が完了すると、前記プリンタ部への電力供給を開始する
    ことを特徴とする請求項6に記載の情報処理装置。
  11. 前記情報処理装置は、前記第1制御部による前記プログラムの読み込み開始されると、前記最大電力容量に基づいて、少なくとも1つのモジュールに供給されるクロックの周波数を、当該プログラムの読み込み前に供給される当該プログラムの読み込み前に供給されるクロックの周波数よりも高くし、前記第1制御部による前記プログラムの前記判定が完了すると、前記プリンタ部への電力供給している状態において前記最大電力容量に基づいて前記少なくとも1つのモジュールに供給されるクロックの周波数を当該プログラムの読み込み後に供給されるクロックの周波数よりも低くするよう制御する
    ことを特徴とする請求項6に記載の情報処理装置。
  12. プログラムを記憶するメモリと、
    システムバスと、
    前記メモリに記憶されているプログラムを読み込み、該読み込まれたプログラムが改竄されているかを判定する第1制御部と、
    改竄されていないと判定された前記プログラムを前記メモリから読み込み、実行する第2制御部と、
    を有する情報処理装置の制御方法であって、
    前記システムバスおよび前記第1制御部にクロックを供給する供給工程を有し、
    前記供給工程は、前記第1制御部により前記プログラムの読み込みが開始すると、前記システムバスおよび前記第1制御部の少なくとも1つのモジュールに供給するクロックの周波数を当該プログラムの読み込み前に供給されるクロックの周波数よりも高くし、前記判定が完了すると、前記少なくとも1つのモジュールに供給されるクロックの周波数を当該プログラムの読み込み後に供給されるクロックの周波数よりも低くする工程を有することを特徴とする情報処理装置の制御方法。
  13. 前記高くする工程は、前記第1制御部による前記プログラムの読み込みが開始されると、前記システムバスおよび前記第1制御部のそれぞれに供給されるクロックの周波数を、当該プログラムの読み込み開始前に供給されるクロックの周波数よりも高くし、前記判定が完了すると、前記少なくとも1つのモジュールに供給されるクロックの周波数を当該プログラムの読み込み後に供給されるクロックの周波数よりも低くすることを特徴とする請求項12に記載の情報処理装置の制御方法。
  14. 前記システムバスおよび前記第1制御部に供給されるクロックの周波数は異なることを特徴とする請求項12または13に記載の情報処理装置の制御方法。
  15. 前記システムバスに供給されるクロックの周波数は、前記第1制御部に供給されるクロックの周波数よりも高いことを特徴とする請求項14に記載の情報処理装置の制御方法。
  16. 前記情報処理装置は、前記システムバスおよび前記第1制御部に供給されるクロックを生成するクロック供給部を有し、
    前記高くする工程は、供給するクロックの周波数を前記クロック供給部に対して設定して、クロックの周波数を制御することを特徴とする請求項12乃至15の何れか1項に記載の情報処理装置の制御方法。
  17. 前記第1制御部および前記第2制御部への電力供給を制御する電力制御工程をさらに有し、
    前記電力制御工程は、前記第1制御部による前記プログラムの読み込みの開始から前記判定の完了まで、前記第1制御部に電力を供給するが前記第2制御部に電力を供給せず、当該判定の完了後、前記第1制御部および前記第2制御部に電力を供給することを特徴とする請求項12乃至16の何れか1項に記載の情報処理装置の制御方法。
  18. 前記メモリは、秘密鍵で暗号化された前記プログラムの署名を記憶し、
    前記第1制御部による前記判定は、
    前記メモリから前記システムバスを介して読み込まれた前記プログラムの署名を計算する計算工程と、
    前記メモリから前記暗号化された前記署名を読み込む読み込み工程と、
    前記読み込まれた前記暗号化された前記署名を、公開鍵で復号する復号工程と、
    を有し、
    前記計算された署名と、前記復号された署名とを比較することで前記メモリに記憶された前記プログラムが改ざんされているかを判定することを特徴とする請求項12乃至17の何れか1項に記載の情報処理装置の制御方法。
  19. 前記署名とは、前記プログラムのハッシュ値であることを特徴とする請求項18に記載の情報処理装置の制御方法。
JP2018205876A 2018-10-31 2018-10-31 情報処理装置及びその制御方法 Active JP7187267B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018205876A JP7187267B2 (ja) 2018-10-31 2018-10-31 情報処理装置及びその制御方法
US16/662,803 US20200134232A1 (en) 2018-10-31 2019-10-24 Information processing apparatus and control method thereof
CN201911036270.7A CN111125686B (zh) 2018-10-31 2019-10-29 信息处理装置及其控制方法
KR1020190136315A KR102547034B1 (ko) 2018-10-31 2019-10-30 정보 처리 장치 및 그 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018205876A JP7187267B2 (ja) 2018-10-31 2018-10-31 情報処理装置及びその制御方法

Publications (3)

Publication Number Publication Date
JP2020071723A JP2020071723A (ja) 2020-05-07
JP2020071723A5 JP2020071723A5 (ja) 2021-12-02
JP7187267B2 true JP7187267B2 (ja) 2022-12-12

Family

ID=70328742

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018205876A Active JP7187267B2 (ja) 2018-10-31 2018-10-31 情報処理装置及びその制御方法

Country Status (4)

Country Link
US (1) US20200134232A1 (ja)
JP (1) JP7187267B2 (ja)
KR (1) KR102547034B1 (ja)
CN (1) CN111125686B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7210238B2 (ja) * 2018-11-15 2023-01-23 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び、プログラム
JP7249968B2 (ja) * 2020-03-09 2023-03-31 株式会社東芝 情報処理装置およびストレージ
KR102395258B1 (ko) * 2020-10-15 2022-05-10 한국전자통신연구원 부트 메모리 버스의 경로 절체 기능을 이용한 시큐어 부팅 방법 및 이를 이용한 장치

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002312056A (ja) 2001-04-16 2002-10-25 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
US20060069903A1 (en) 2004-09-30 2006-03-30 Fischer Stephen A Method and apparatus for establishing safe processor operating points
JP2009252244A (ja) 2008-04-10 2009-10-29 Nvidia Corp セキュアな信頼チェーンを実施する方法及びシステム
US20120159138A1 (en) 2010-12-20 2012-06-21 Tsirkin Michael S Mechanism for Virtual Machine Boot Speed-Up by Clock Acceleration
JP2015064676A (ja) 2013-09-24 2015-04-09 株式会社東芝 情報処理装置、半導体装置、情報処理方法およびプログラム
JP2018032313A (ja) 2016-08-26 2018-03-01 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4118789A (en) * 1977-06-06 1978-10-03 Allen-Bradley Company Program protection module for programmable controller
US9654499B2 (en) * 2014-06-20 2017-05-16 Vencore Labs, Inc. System and Method for mitigating TOC/TOU attacks in a cloud computing enviroment
US9490826B1 (en) * 2015-08-19 2016-11-08 Qualcomm Incorporated Methods and apparatus for synchronizing frequency dividers using a pulse swallowing technique
US10348281B1 (en) * 2016-09-06 2019-07-09 Ampere Computing Llc Clock control based on voltage associated with a microprocessor
KR20180043617A (ko) * 2016-10-20 2018-04-30 삼성전자주식회사 피드백 제공 방법 및 이를 지원하는 전자 장치
WO2018226550A1 (en) * 2017-06-06 2018-12-13 Walmart Apollo, Llc Rfid tag tracking systems and methods in identifying suspicious activities
US11144605B2 (en) * 2018-10-12 2021-10-12 Verizon Media Inc. Transmitting content items using search history profiles

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002312056A (ja) 2001-04-16 2002-10-25 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
US20060069903A1 (en) 2004-09-30 2006-03-30 Fischer Stephen A Method and apparatus for establishing safe processor operating points
JP2009252244A (ja) 2008-04-10 2009-10-29 Nvidia Corp セキュアな信頼チェーンを実施する方法及びシステム
US20120159138A1 (en) 2010-12-20 2012-06-21 Tsirkin Michael S Mechanism for Virtual Machine Boot Speed-Up by Clock Acceleration
JP2015064676A (ja) 2013-09-24 2015-04-09 株式会社東芝 情報処理装置、半導体装置、情報処理方法およびプログラム
JP2018032313A (ja) 2016-08-26 2018-03-01 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム

Also Published As

Publication number Publication date
US20200134232A1 (en) 2020-04-30
CN111125686B (zh) 2023-12-08
CN111125686A (zh) 2020-05-08
KR20200049658A (ko) 2020-05-08
KR102547034B1 (ko) 2023-06-26
JP2020071723A (ja) 2020-05-07

Similar Documents

Publication Publication Date Title
US10878098B2 (en) System on chip to perform a secure boot, an image forming apparatus using the same, and method thereof
US10949546B2 (en) Security devices, electronic devices and methods of operating electronic devices
EP2907068B1 (en) System on chip to perform a secure boot
US8438377B2 (en) Information processing apparatus, method and computer-readable storage medium that encrypts and decrypts data using a value calculated from operating-state data
CN109684849B (zh) 信息处理装置、其控制方法和存储介质
JP7187267B2 (ja) 情報処理装置及びその制御方法
US20140164753A1 (en) System on chip for performing secure boot, image forming apparatus using the same, and method thereof
WO2013048407A1 (en) Apparatus, system, and method for providing memory access control
US11914714B2 (en) Information processing apparatus and start-up method of the same
CN112789574B (zh) 经由系统及电源管理微控制器的安全启动
WO2022156513A1 (zh) 一种服务器操作系统引导方法、装置、设备及介质
CN117413268A (zh) 基于固件的安全租赁转移
JP7263101B2 (ja) 情報処理装置、データ検証方法
JP2020091698A (ja) 情報処理装置及びその制御方法
JP5961059B2 (ja) 情報処理装置およびその起動方法
JP7210238B2 (ja) 情報処理装置、情報処理装置の制御方法、及び、プログラム
JP2022182837A (ja) 情報処理装置、及びその制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211014

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211014

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220920

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221130

R151 Written notification of patent or utility model registration

Ref document number: 7187267

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151