JP7152920B2 - 情報処理装置とその制御方法、及びプログラム - Google Patents

情報処理装置とその制御方法、及びプログラム Download PDF

Info

Publication number
JP7152920B2
JP7152920B2 JP2018184987A JP2018184987A JP7152920B2 JP 7152920 B2 JP7152920 B2 JP 7152920B2 JP 2018184987 A JP2018184987 A JP 2018184987A JP 2018184987 A JP2018184987 A JP 2018184987A JP 7152920 B2 JP7152920 B2 JP 7152920B2
Authority
JP
Japan
Prior art keywords
program
boot program
information processing
tampering
boot
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
JP2018184987A
Other languages
English (en)
Other versions
JP2020057040A (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 JP2018184987A priority Critical patent/JP7152920B2/ja
Priority to US16/569,856 priority patent/US11099935B2/en
Publication of JP2020057040A publication Critical patent/JP2020057040A/ja
Application granted granted Critical
Publication of JP7152920B2 publication Critical patent/JP7152920B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area

Description

本発明は、情報処理装置とその制御方法、及びプログラムに関するものである。
ソフトウェアの脆弱性をついてソフトウェアを改ざんし、コンピュータを悪用する攻撃が問題となっている。そのような攻撃の対策として、起動する度にブートプログラムのハッシュ値を再計算して検証を行うことで改ざんを検知する方法が知られている。そして起動時にブートプログラムの改ざんを検知した場合は、冗長構成のブートプログラムによって自動復旧を行う方法が提案されている(例えば特許文献1)。
特開2015-138269号公報
特許文献1の技術を用いても起動が不可能である場合、ユーザに対して何らかの手段で、その状況を通知することが望ましい。起動エラー時に、ユーザにとって状況が分かり易いリッチな通知手段(例えばUI画面にメッセージを表示)を提供するためには、システムの初期化等、ブートプログラム同等の処理を、改ざん検知プログラムに組み込む必要がある。そのため、改ざん検知プログラムを保持するROMのメモリ容量が増大し、ROMに記憶した場合は、通知内容の変更ができない等の問題があった。
このため従来は、起動エラー時の通知は、例えば、GPIO制御によるLEDの点灯やブザーの鳴動等に限られ、ユーザにとってエラーの状況が分かりにくいという課題があった。
本発明の目的は、上記従来技術の問題点の少なくとも一つを解決することにある。
本発明の目的は、起動時に、ローディングプログラムによりブートプログラムの改ざんの有無を検知し、ブートプログラムの改ざんが検知されるとエラーを通知するプログラムを起動してエラーを通知することにより、ユーザに対してエラーの状況を分かり易く通知することにある。
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
ユーザとのインタフェースを行うユーザインタフェースと、
ローディングプログラムを格納する書き換え不可能な不揮発メモリと、
ブートプログラムと、当該ブートプログラムの複製を格納する書き換え可能な不揮発メモリと、
起動時、前記ローディングプログラムを実行して前記ブートプログラムの改ざんを検証し、当該ブートプログラムの改ざんを検知した場合、エラーの発生を記憶する記憶手段と、
前記ブートプログラムの改ざんを検知した場合前記ブートプログラムの複製の改ざんを検証し、前記ブートプログラムの複製の改ざんを検知しなかった場合に、前記記憶手段に前記エラーの発生が記憶されていると前記ユーザインタフェースを介してエラーを通知する制御手段と、を有することを特徴とする。
本発明によれば、起動時に、ローディングプログラムによりブートプログラムの改ざんの有無を検知し、ブートプログラムの改ざんが検知した場合、エラーを通知するプログラムを起動してエラーを通知することにより、ユーザに対してエラーの状況を分かり易く通知できる。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。尚、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
実施形態1に係る複合機の構成を説明するブロック図。 実施形態1に係る複合機が有するソフトウェアモジュールを説明する図。 実施形態1に係る複合機のCPU103による起動時の処理を説明するフローチャート。 実施形態1に係るUI部に表示されるエラーメッセージの一例を示す図。 実施形態2に係る複合機が有するソフトウェアモジュールを説明する図。 実施形態2に係る複合機のCPU103による起動時の処理を説明するフローチャート。 図6のS603、S607で実行されるブート処理を説明するフローチャート。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、実施形態に係る情報処理装置として複合機(デジタル複合機(MFP):Multi Function Peripheral)を例に説明する。しかしながら適用範囲は複合機に限定されるものでなく、例えばPC、通信装置等含む情報処理装置にも適用できる。
[実施形態1]
図1は、実施形態1に係る複合機10の構成を説明するブロック図である。
コントローラ(制御部)20は、複合機10を制御するためのモジュールを有し、実施形態1では半導体チップとして構成されているものとして説明する。ROM102は、マスクROMで構成されたリードオンリーメモリ(書き換え不可能な不揮発メモリ)で、CPU103により実行されるローダ(ローディングプログラム)200等を格納している。NORフラッシュメモリ145は、CPU103により実行されるブートプログラム202(図2)、エラー通知プログラム203(図2)等を格納している。NANDフラッシュメモリ146は、CPU101により実行されるメインプログラム208(図2)を格納している。各フラッシュメモリは書き換え可能な不揮発メモリで、NORフラッシュメモリ制御部135、NANDフラッシュメモリ制御部136を介して、CPU101,CPU103からアクセスすることができる。CPU103は、NORフラッシュメモリ145、及びNANDフラッシュメモリ146に格納された各プログラムの署名検証や各制御部の初期化、及びCPU101のリセット解除を行う。またCPU101は、複合機10の全体を制御する。OPT109は、製造時に一度だけ書き込みが可能なROM(One Time Programmable ROM)で、署名検証のための公開鍵を保持している。RAM104は、例えばSRAMで構成されたランダムアクセスメモリで、プログラムや一時的なデータの格納等に使用される。スキャナI/F(インタフェース)制御部105は、スキャナ111による原稿の読み取りを制御する。プリンタI/F制御部107は、プリンタ112による印刷処理等を制御する。画像処理部106は、スキャナ111から入力した原稿の画像データに対するシェーディング処理や、プリンタ112へ出力するためのハーフトーン処理を行う。UI制御部108は、UI(ユーザインタフェース)部110とコントローラ20との間のインタフェースを制御する。
DRAM144は、CPU101で実行されるプログラムや画像処理部106のワークメモリとして使用される。メモリ制御部134は、DRAM144へアクセスするための各種コマンド制御を行う。UI部110は、不図示のタッチパネルのユーザインターフェースで、ユーザからの操作の受け付けや画面への表示を行う。UI制御部108は、UI部110のタッチパネルへの表示タイミングの生成、及びタッチパネルからの入力コマンドの受け付けを行う。ネットワークI/F137は、ネットワーク147を介した、不図示のパーソナルコンピュータ(PC)からの印刷コマンドの受け付けや、ネットワーク147へのスキャンデータの送信等を行う。外部ポート制御部138は汎用の入出力ポートであり、例えば出力ポートを制御することにより、LED(表示器)148を必要に応じて点灯して、ソフトウェアやハードウェアの異常を外部に伝えることができる。システムバス100は、接続されているモジュールを相互に接続する。システムバス100を介して、CPU101とCPU103及び各モジュール間で各種データや制御コマンド等を送受信する。
図2は、実施形態1に係る複合機10が有するソフトウェアモジュールを説明する図である。
ローダ200は、複合機10の電源がオンになるとCPU103により実行されるプログラムで、ROM102に格納されている。ローダ200は、改ざん検知部201を有し、ブートプログラム202の署名検証に成功した後、ブートプログラム202の実行を開始する。またブートプログラム202の署名検証に失敗した場合は、エラー通知プログラム203を署名検証して実行を開始する。この処理の詳細については後述する。
ブートプログラム202は、ローダ200によるブートプログラム202の署名検証後にCPU103で実行されるプログラムで、NORフラッシュメモリ145に格納されている。システム初期化部204は、メモリ制御部134等の各種初期化を行う。メインプログラム改ざん検知部205は、メインプログラム208の署名検証を行う。この署名検証に成功すると、メインプログラム208をDRAM144へ展開した後、CPU101のリセットを解除する。CPU101は、リセットが解除されると、DRAM144に展開されたメインプログラム208の実行を開始する。
メインプログラム208はCPU101により実行されるプログラムで、NANDフラッシュメモリ146に格納されている。カーネル209は、複合機10の制御システムの核となるプログラムで、アプリケーション210に提供する各種リソースの制御やスケジューリング等を行う。アプリケーション210は、複合機10が提供する各種機能(コピー、SEND、プリント等)を実現するためのプログラムである。アプリケーション210には、スキャナI/F制御部105、プリンタI/F制御部107、画像処理部106の制御や、UI部110に表示する画面の生成、及び複合機10の総合的な状態制御等が含まれる。
エラー通知プログラム203は、CPU103によりで実行されるプログラムで、NORフラッシュメモリ145に格納されている。ローダ200によってブートプログラム202の改ざんを検知した場合、エラー通知プログラム203はローダ200に代わってUI部110を通じてエラーを通知する。UI初期化部206は、UI部110にエラー通知を表示するために必要となるUI制御部108とメモリ制御部134の初期化を行う。UI初期化部206は、ブートプログラム202のシステム初期化部204と異なり、UI部110にエラーを通知するのに必要となるモジュールのみ初期化し、通知に必要でないモジュールの初期化は行わない。エラー表示部207は、ユーザにエラー状態を通知するためのメッセージを作成してUI部110へ表示させる。
図3は、実施形態1に係る複合機10のCPU103による起動時の処理を説明するフローチャートである。尚、このフローチャートで示す処理は、CPU103がNORフラッシュメモリ145に格納されているプログラムをRAM104に展開して実行することにより実現される。尚、この処理は、複合機10の電源が投入されてコントローラ20のリセットが解除されることにより開始される。尚、図3中に示す破線は、各処理がローダ200、ブートプログラム202、エラー通知プログラム203のいずれで実行されるのかを示す。
CPU103はリセットが解除されると、先ずS301でローダ200を実行する。ローダ200が開始されるとS301でCPU103は、NORフラッシュメモリ145に格納されているブートプログラム202の署名検証を行う。ここで署名検証に成功するとS302に進みCPU103は、ブートプログラム202を起動する。こうしてブートプログラム202が起動されるとS303に進みCPU103はコントローラ20を制御して、ステム全体の初期化を行う。そしてS304に進みCPU103は、NANDフラッシュメモリ146に格納され、CPU101で実行されるメインプログラム208の署名検証を行う。S304でメインプログラム208の署名検証に成功するとS305に進みCPU103は、メインプログラム208をDRAM114に展開した後、CPU101のリセットを解除する。これによりCPU101が起動される。尚、CPU101は、S305でCPU103がCPU101のリセットを解除するまでは動作しない。以上が起動時に、プログラムの署名検証に成功して正常に起動できた場合の処理フローである。
次に、プログラムの署名検証に失敗して、プログラムを正常に起動できない場合の処理を説明する。
S301でブートプログラム202の署名検証に失敗した場合はS307に進みCPU103は、エラー通知プログラム203の署名検証を行う。このエラー通知プログラム203の署名検証に成功した場合はS308に進みCPU103は、エラー通知プログラム203を起動する。こうしてエラー通知プログラム203が起動されるとS309でCPU103は、UI部110の初期化を行う。そしてS310に進んでCPU103は、ブートプログラムの起動エラーを示すエラーメッセージをUI部110に表示して起動フローを終了する。尚、S307でエラー通知プログラム203の署名検証を行うのは、エラー通知プログラム203自体が改ざんされて不正な処理が実行されることを防ぐためである。
一方、S307でエラー通知プログラム203の署名検証も失敗した場合はS311に進みCPU103は、残されたエラー通知手段であるLED148を点灯させてユーザにエラーを通知した後、この起動フローを終了する。この状態になった場合は、ユーザは複合機10のマニュアルを参照して機器の異常を認識することとなる。一方で、エラー通知プログラム203によって、エラーメッセージがUI部110に表示されていれば、ユーザは直ちに機器の異常を認識することができるようになる。
またブートプログラム202のS304で、メインプログラム208の署名検証に失敗した場合も同様に、S306に進みブートプログラム202はUI部110にエラーメッセージを表示することで、ユーザにメインプログラム208の起動エラーを通知して、この処理を終了する。
図4は、実施形態1に係るUI部110に表示されるエラーメッセージの一例を示す図である。
エラーメッセージは、主に3つの要素を有している。まず、説明表示400には、機器の現在の状態を、ユーザにも分かる言葉で説明する。例えば、「起動エラーが発生しました」等である。これによりユーザは、現在の機器の状態を容易に認識することが可能となる。
ステータス表示401は、より詳細に機器の状態を提示するためのメッセージである。このメッセージは、例えば「ステータス1」等の表示であり、ユーザは意味を理解することができない。しかし、後にサポートへの問い合わせ時やサービスマンによる点検時には、このステータスを読み取ることにより、S301でブートプログラム検証に失敗したのか、或いはS304でメインプログラム検証に失敗したのかを、切り分けることが可能となる。更に、それ以外の予期せぬエラーである場合の切り分けも可能となる。
ユーザアクション表示402は、ユーザが次にとるべきアクションを提示するためのメッセージを表示する。例えば、「ユーザサポートに問い合わせてください」等の表示である。尚、実施形態1で示したメッセージはあくまでも一例であり、また表示順番もこの順に限らない。例えば、ステータス表示401を省略することや、メッセージの表示順を入れ替えること等も考えられる。また、表示レイアウトや表示する内容も、この実施形態に限定されるものではない。
以上説明したように実施形態1によれば、エラー通知プログラムを個別に用意することにより、ブートプログラムの署名検証に失敗した場合でも、ユーザにとって分かり易いエラー通知を提供することが可能となる。これは、エラー通知処理をローダ(ROM)に持たせず、独立して、フラッシュメモリに格納することにより、半導体チップ内部のマスクROMに入りきらないUI部の制御や画面生成等の処理が実現できることによる。
更に、エラー通知プログラムもブートプログラムと同様に署名検証することにより、例え、フラッシュメモリのエラー通知プログラムが改ざんされたとしても、不正なコードが実行されて装置の不具合が生じるなどの事態の発生を防止できる。
[実施形態2]
実施形態2について説明する。前述の実施形態1では、ブートプログラム202が冗長構成となっておらず、一度、署名検証に失敗すれば起動エラーとなる例で説明した。しかし、特許文献1にあるように、耐タンパ性や耐故障性を向上するために、ブートプログラムを冗長構成にすることが考えられる。そこで実施形態2では、ブートプログラム202を冗長構成にした場合における、プログラムの署名検証に失敗した場合のエラー通知方法について説明する。尚、実施形態2に係る複合機10の構成等は前述の実施形態1と同様であるため、その説明を省略する。
図5は、実施形態2に係る複合機10が有するソフトウェアモジュールを説明する図である。ローダ500は、複合機10の電源を入れるとCPU103で実行されるプログラムで、ROM102に格納される。ローダ500は、改ざん検知部501を有し、ブートプログラム502の署名検証に成功した後にブートプログラム502を起動する。また、ブートプログラム502の署名検証に失敗した場合には、エラー通知プログラム503を署名検証して起動する。この処理の詳細については後述する。
ブートプログラム502,503は、ローダ500による署名検証後にCPU103で実行されるプログラムで、NORフラッシュROM145に格納される。尚、ブートプログラム503は、ブートプログラム502の複製であり、これらは同一のプログラムである。システム初期化部504は、メモリ制御部134等の各種初期化を行う。メインプログラム改ざん検知部506は、メインプログラム208の署名検証を行う。メインプログラム208の署名検証に成功すると、メインプログラム208をDRAM144へ展開した後に、CPU101のリセットを解除する。CPU101は、リセットが解除されるとDRAM144に展開されたメインプログラム208の実行を開始する。エラー処理部505は、ローダ500がブートプログラム502の改ざんを検知した場合に、ローダ500に代わってUI部110を通じてエラーを通知する。
メインプログラム208は、ブートプログラム502,503による署名検証後にCPU101で実行されるプログラムで、NANDフラッシュメモリ146に格納される。メインプログラム208の構成は実施形態1と同様である。
図6及び図7は、実施形態2に係る複合機10のCPU103による起動時の処理を説明するフローチャートである。尚、このフローチャートで示す処理は、CPU103がNORフラッシュメモリ145に格納されているプログラムをRAM104に展開して実行することにより実現される。尚、この処理は、複合機10の電源が投入されてコントローラ20のリセットが解除されることにより開始される。尚、図6に示す破線は、各処理がローダ500、ブートプログラム502,503のいずれで実行されるのかを示す。
図6は、実施形態2に係るCPU103による起動時の処理フローを説明するフローチャートである。全ての処理はCPU103によって実行される。本起動フローは複合機10の電源が投入されてコントローラ20のリセットが解除されると開始される。尚、図6中に示す破線は、各処理がローダ500、ブートプログラム502、503のいずれで実行されるのかを示す。
CPU103はリセットが解除されると、先ずローダ500が実行される。ローダ500が実行されるとS601で、NORフラッシュ145に格納されているブートプログラム502を署名検証する。ここでブートプログラム502の署名検証に成功するとS602に進みCPU103は、ブートプログラム502を起動する。こうしてブートプログラム502を起動するとS603に進み、ブート処理が実行される。このブート処理の説明は図7を参照して後述する。
一方、S601でブートプログラム502の署名検証に失敗した場合はS604に進み、エラーフラグをセットする。このエラーフラグは、CPU103内部に保持してもよく、又はRAM104に保持してもよい。こうしてエラーフラグをセットした後S605に進みCPU103は、ブートプログラム503の署名検証に成功したかどうか判定する。ここでブートプログラム503の署名検証に成功するとS606に進みCPU103は、ブートプログラム503を起動する。そしてS607に進んでブートプログラム503によるブート処理を実行する。
またS605でブートプログラム503の署名検証に失敗した場合はS608に進みCPU103は、LED148を点灯してエラーを通知する。これは実施形態1と同様である。
図7は、図6のS603、S607で実行されるブート処理を説明するフローチャートである。
先ずS701でCPU103は、コントローラ20のシステム全体の初期化を実行する。次にS702に進みCPU103は、エラーフラグの確認を行う。このエラーフラグは、前述したように、ローダ500によるブートプログラム502,503の署名検証においてエラーが発生したかどうかを示すフラグである。従って、図6のS603を実行するときは、即ち、ブートプログラム502のブート処理では、エラーフラグは必ず立っていない。なぜならば、ローダ500による署名検証が成功していなければ、ブートプログラム502は起動してないからである。従って、この場合はS702からS703に進みCPU103は、メインプログラム208の署名検証を行う。そしてメインプログラム208の署名検証に成功するとS704に進み、メインプログラム208をDRAM114に展開した後に、CPU101のリセットを解除してCPU101を起動する。
一方、S607のブート処理のときはS610でエラーフラグが立っていると判定されてS705に処理が進む。S705でCPU103は、エラーステータスをUI部110に表示してS703に進む。このエラーステータスは、ブートプログラム502の署名検証が失敗したことを表し、ブートプログラム503がローダ500に代わってユーザに通知する。そしてS703でCPU103は、メインプログラム208の署名検証を行う。ここでメインプログラム208の署名検証に成功するとS704に進んで前述の処理を実行するが、S703でメインプログラム208の署名検証が失敗した場合はS706に進み、CPU103は、UI部110にメインプログラム208の起動エラーを表示する。これは実施形態1のS310と同様である。
以上説明したように実施形態2によれば、ブートプログラムが冗長構成であっても、ローダによるプログラムの署名検証の結果を受けて、ブートプログラムがUI部にエラーを表示することが可能となる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
200,500…ローダ、202,502,503…ブートプログラム、203…エラー通知プログラム、208…メインプログラム

Claims (8)

  1. ユーザとのインタフェースを行うユーザインタフェースと、
    ローディングプログラムを格納する書き換え不可能な不揮発メモリと、
    ブートプログラムと、当該ブートプログラムの複製を格納する書き換え可能な不揮発メモリと、
    起動時、前記ローディングプログラムを実行して前記ブートプログラムの改ざんを検証し、当該ブートプログラムの改ざんを検知した場合、エラーの発生を記憶する記憶手段と、
    前記ブートプログラムの改ざんを検知した場合前記ブートプログラムの複製の改ざんを検証し、前記ブートプログラムの複製の改ざんを検知しなかった場合に、前記記憶手段に前記エラーの発生が記憶されていると前記ユーザインタフェースを介してエラーを通知する制御手段と、
    を有することを特徴とする情報処理装置。
  2. 前記制御手段により実行されるメインプログラムを格納する書き換え可能な第2不揮発メモリを更に有し、
    前記制御手段は、前記ブートプログラムの改ざんを検知しなかった場合は、前記ブートプログラムを起動して前記メインプログラムの改ざんを検知し、前記メインプログラムの改ざんを検知しなかった場合に前記メインプログラムを実行することを特徴とする請求項に記載の情報処理装置。
  3. 前記制御手段が、前記ブートプログラムの改ざんを検知した後、前記ブートプログラムの複製の改ざんを検知した場合に、エラーを通知するための通知手段を、更に有することを特徴とする請求項に記載の情報処理装置。
  4. 前記制御手段は、第1CPUと第2CPUとを有し、
    前記第1CPUは、前記ローディングプログラムを実行して前記ブートプログラムの改ざんを検証し、前記ブートプログラムの改ざんを検知しなかった場合、前記ブートプログラムを起動して前記メインプログラムの改ざんを検証し、前記メインプログラムの改ざんを検知しなかった場合に前記メインプログラムをメモリに展開し、前記第2CPUを起動して前記メインプログラムを実行させることを特徴とする請求項又はに記載の情報処理装置。
  5. 前記ローディングプログラムは、少なくとも前記ブートプログラムの改ざんを検証する機能を有するプログラムであることを特徴とする請求項1乃至4のいずれか一項に記載の情報処理装置。
  6. 前記ブートプログラムは、前記制御手段を含むシステムを初期化する機能を有するプログラムであることを特徴とする請求項1乃至4のいずれか一項に記載の情報処理装置。
  7. ローディングプログラムを格納する書き換え不可能な不揮発メモリと、ブートプログラムと、当該ブートプログラムの複製を格納する書き換え可能な不揮発メモリとを有する情報処理装置を制御する制御方法であって、
    前記情報処理装置の記憶手段が、起動時、前記ローディングプログラムを実行して前記ブートプログラムの改ざんを検証し、当該ブートプログラムの改ざんを検知した場合、エラーの発生を記憶する記憶工程と、
    前記情報処理装置の第1検証手段が、前記ブートプログラムの改ざんを検知した場合前記ブートプログラムの複製の改ざんを検証する第1検証工程と、
    前記情報処理装置の通知手段が、前記第1検証工程で前記ブートプログラムの複製の改ざんを検知しなかった場合に、前記記憶工程で前記エラーの発生が記憶されているとエラーを通知する通知工程と、
    前記情報処理装置の第2検証手段が、前記ブートプログラムの改ざんを検知しなかった場合、メインプログラムの改ざんを検証する第2検証工程と、
    前記情報処理装置の実行手段が、前記第2検証工程で前記メインプログラムの改ざんを検知しなかった場合に、前記メインプログラムを実行する実行工程と、
    を有することを特徴とする制御方法。
  8. コンピュータを、請求項1乃至のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
JP2018184987A 2018-09-28 2018-09-28 情報処理装置とその制御方法、及びプログラム Active JP7152920B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018184987A JP7152920B2 (ja) 2018-09-28 2018-09-28 情報処理装置とその制御方法、及びプログラム
US16/569,856 US11099935B2 (en) 2018-09-28 2019-09-13 Error handling associated with boot program alteration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018184987A JP7152920B2 (ja) 2018-09-28 2018-09-28 情報処理装置とその制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2020057040A JP2020057040A (ja) 2020-04-09
JP7152920B2 true JP7152920B2 (ja) 2022-10-13

Family

ID=69945932

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018184987A Active JP7152920B2 (ja) 2018-09-28 2018-09-28 情報処理装置とその制御方法、及びプログラム

Country Status (2)

Country Link
US (1) US11099935B2 (ja)
JP (1) JP7152920B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7249968B2 (ja) * 2020-03-09 2023-03-31 株式会社東芝 情報処理装置およびストレージ
CN111625836B (zh) * 2020-05-21 2023-11-03 数据通信科学技术研究所 门卫式电子设备的可信引导方法
EP3933631B1 (en) * 2020-06-30 2023-04-12 NXP USA, Inc. Fast and versatile multicore soc secure boot method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007310688A (ja) 2006-05-19 2007-11-29 Renesas Technology Corp マイクロコンピュータおよびそのソフトウェア改竄防止方法
JP2009009372A (ja) 2007-06-28 2009-01-15 Panasonic Corp 情報端末、クライアントサーバシステムおよびプログラム
US20130047031A1 (en) 2011-08-16 2013-02-21 Google Inc. Secure recovery apparatus and method
JP2014021953A (ja) 2012-07-24 2014-02-03 Ricoh Co Ltd 情報処理装置、画像処理装置、起動制御方法及び起動制御プログラム
JP2014098951A (ja) 2012-11-13 2014-05-29 Kddi Corp 端末装置、完全性検証システム、およびプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3497342B2 (ja) * 1997-02-27 2004-02-16 株式会社日立製作所 クライアント・サーバシステム、サーバ、クライアント処理方法及びサーバ処理方法
US7117396B2 (en) * 2001-12-28 2006-10-03 Intel Corporation Scalable CPU error recorder
US7558958B2 (en) * 2002-06-13 2009-07-07 Microsoft Corporation System and method for securely booting from a network
US8006125B1 (en) * 2005-04-29 2011-08-23 Microsoft Corporation Automatic detection and recovery of corrupt disk metadata
JP2007025821A (ja) * 2005-07-12 2007-02-01 Seiko Epson Corp 情報処理装置及び情報処理装置の制御方法
US8103909B2 (en) * 2008-09-15 2012-01-24 Juniper Networks, Inc. Automatic hardware-based recovery of a compromised computer
JP6257345B2 (ja) 2014-01-20 2018-01-10 三菱電機株式会社 通信制御装置および障害復旧方法
JP6308821B2 (ja) 2014-03-13 2018-04-11 キヤノン株式会社 画像処理装置
US10846099B2 (en) * 2016-10-07 2020-11-24 Blackberry Limited Selecting a boot loader on an electronic device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007310688A (ja) 2006-05-19 2007-11-29 Renesas Technology Corp マイクロコンピュータおよびそのソフトウェア改竄防止方法
JP2009009372A (ja) 2007-06-28 2009-01-15 Panasonic Corp 情報端末、クライアントサーバシステムおよびプログラム
US20130047031A1 (en) 2011-08-16 2013-02-21 Google Inc. Secure recovery apparatus and method
JP2014522070A (ja) 2011-08-16 2014-08-28 グーグル インコーポレイテッド セキュア・リカバリ装置及び方法
JP2014021953A (ja) 2012-07-24 2014-02-03 Ricoh Co Ltd 情報処理装置、画像処理装置、起動制御方法及び起動制御プログラム
JP2014098951A (ja) 2012-11-13 2014-05-29 Kddi Corp 端末装置、完全性検証システム、およびプログラム

Also Published As

Publication number Publication date
US20200104211A1 (en) 2020-04-02
JP2020057040A (ja) 2020-04-09
US11099935B2 (en) 2021-08-24

Similar Documents

Publication Publication Date Title
US10225426B2 (en) Image forming apparatus having firmware update function, method of controlling the same, program for executing the method, and storage medium
KR102347703B1 (ko) 정보 처리 장치, 그 제어 방법 및 저장 매체
EP2989579B1 (en) Redundant system boot code in a secondary non-volatile memory
JP7152920B2 (ja) 情報処理装置とその制御方法、及びプログラム
JP2007257197A (ja) 起動検証機能を有する情報処理装置
US20200310821A1 (en) Information processing apparatus, control method therefor, and storage medium
US11914714B2 (en) Information processing apparatus and start-up method of the same
US11657125B2 (en) Information processing apparatus and reset control method
JP2020095470A (ja) 情報処理装置及びその制御方法
JP7374780B2 (ja) 情報処理装置および情報処理装置の制御方法
EP3654183B1 (en) Information processing apparatus and method of controlling information processing apparatus
EP3547194B1 (en) Apparatus and method for secure boot
JP7321795B2 (ja) 情報処理装置、情報処理方法およびプログラム
KR102467636B1 (ko) 정보 처리장치, 정보 처리장치의 제어방법, 및 기억매체
US20200344066A1 (en) Information processing apparatus and data verification method
JP7139926B2 (ja) 電子デバイス、異常検知方法およびプログラム
JP2000235483A (ja) 情報処理装置
JP2020154601A (ja) 情報処理装置とその制御方法、及びプログラム
JP2019200660A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
US11928217B2 (en) Information processing apparatus, control method of information processing apparatus, and storage medium
JP2020135645A (ja) 情報処理装置、その制御方法およびプログラム
JP7206769B2 (ja) 電子デバイスおよび動作方法
JP6915565B2 (ja) 画像処理装置
JP2023032874A (ja) 情報処理装置、及びその制御方法
JP2020155029A (ja) 情報処理装置とその制御方法、及びプログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210924

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220826

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: 20220902

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220930

R151 Written notification of patent or utility model registration

Ref document number: 7152920

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151