JP2020181501A - 情報処理装置とその制御方法、及びプログラム - Google Patents
情報処理装置とその制御方法、及びプログラム Download PDFInfo
- Publication number
- JP2020181501A JP2020181501A JP2019085794A JP2019085794A JP2020181501A JP 2020181501 A JP2020181501 A JP 2020181501A JP 2019085794 A JP2019085794 A JP 2019085794A JP 2019085794 A JP2019085794 A JP 2019085794A JP 2020181501 A JP2020181501 A JP 2020181501A
- Authority
- JP
- Japan
- Prior art keywords
- program
- cpu
- information processing
- door
- processing device
- 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.)
- Pending
Links
Images
Landscapes
- Facsimiles In General (AREA)
- Multi Processors (AREA)
- Stored Programmes (AREA)
Abstract
【課題】装置のドア、カバー等を閉めたときの電源再投入時のリセット解除時に、各モジュールのCPUはプログラムの改ざん検知処理を行うと、ドア、カバー等の度に、改ざん検知処理が実行され、装置が使用可能になるまでの時間が長くなる。【解決手段】複数のCPUを有する情報処理装置であって、前記複数のCPUのうちの第1CPUが実行するプログラムの改ざんの有無を検証する第2CPUと、前記情報処理装置において第1の所定の状態が生じたかどうかを記憶する第1記憶手段と、を有し、前記第2CPUは起動時、前記第1記憶手段に前記第1の所定の状態が生じたことが記憶されていると、前記プログラムの改ざんの有無を検証するための処理をスキップする。【選択図】 図5
Description
本発明は、情報処理装置とその制御方法、及びプログラムに関するものである。
セキュリティの向上を目的として、メモリに記憶されているプログラムの改ざんの有無を検証する技術がある。
特許文献1では、装置内のCPUが、そのリセット解除後に実行されるブートプログラムを実行する際に、アプリケーションプログラムのハッシュ値を求める。そして、その求めたハッシュ値と、認証済アプリケーションプログラムのハッシュ値とを比較し、それらが一致した場合は、アプリケーションプログラムが改ざんされていないと判定し、そのアプリケーションプログラムを起動する。一方、それらが一致しないときは、そのアプリケーションプログラムが改ざんされていると判定して、そのアプリケーションプログラムの実行を停止している。以降この検証処理を改ざん検知処理と呼ぶ。
一般にマルチファンクションプリンタ等の情報処理装置は、それぞれがCPUを有する複数のモジュールを有しており、各CPUが実行するプログラムをそれぞれのモジュールで、上述した改ざん検知処理を実行することにより装置のセキュリティを向上させることができる。
例えば、印刷装置の複数のモジュール中には、消耗品の補給、ジャム処理などのために装置のドア、カバー等を開けると、そのモジュールへの電力供給が遮断されるものがある。ここで各モジュールのCPUは、電源遮断の後の電源の再投入時、リセットが解除されると改ざん検知処理を行うように構成されている。従って、装置のドア、カバー等を閉めたときの電源再投入時のリセット解除時に、各モジュールのCPUはプログラムの改ざん検知処理を行うことになる。一般に、ユーザがジャムの除去などを行ってドア、カバー等が閉めたときは、短時間で装置が使用可能になることが求められる。しかし、ドア、カバー等の度に上述した改ざん検知処理を実行すると、装置が使用可能になるまでの時間が長くなるという課題があった。
本発明の目的は、上記従来技術の問題点の少なくとも一つを解決することにある。
本発明の目的は、例えば、消耗品補給、ジャムなどからの起動時間を短くする技術を提供することにある。
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
複数のCPUを有する情報処理装置であって、
前記複数のCPUのうちの第1CPUが実行するプログラムの改ざんの有無を検証する第2CPUと、
前記情報処理装置において第1の所定の状態が生じたかどうかを記憶する第1記憶手段と、を有し、
前記第2CPUは起動時、前記第1記憶手段に前記第1の所定の状態が生じたことが記憶されていると、前記プログラムの改ざんの有無を検証するための処理をスキップすることを特徴とする。
複数のCPUを有する情報処理装置であって、
前記複数のCPUのうちの第1CPUが実行するプログラムの改ざんの有無を検証する第2CPUと、
前記情報処理装置において第1の所定の状態が生じたかどうかを記憶する第1記憶手段と、を有し、
前記第2CPUは起動時、前記第1記憶手段に前記第1の所定の状態が生じたことが記憶されていると、前記プログラムの改ざんの有無を検証するための処理をスキップすることを特徴とする。
本発明によれば、装置のセキュリティを維持しながら、例えば、消耗品補給、ジャムなどからの起動時間を短くできるという効果がある。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
実施形態1に係る複合機のハードウェア構成を説明するブロック図。
実施形態1に係る複合機のメインコントローラが有するソフトウェアモジュールを説明する機能ブロック図。
実施形態1に係る複合機のサブコントローラが有するソフトウェアモジュールを説明する機能ブロック図。
実施形態1に係るドアオープン検出部とドアオープン記憶部の詳細な構成を説明する回路図(A)と、主電源のオンに続き、ドアの開け閉めを行なった場合の信号動作を時系列で説明するタイミング図(B)。
実施形態1に係る複合機のサブコントローラのCPU142による処理を説明するフローチャート。
実施形態2に係る複合機のハードウェア構成を説明するブロック図。
実施形態2に係る基板挿抜検出部と基板挿抜記憶部の詳細な構成を説明す回路図(A)と、主電源のオンに続き、ドアがオープンされ、その中の基板が取り外された後、基板が装着されてドアが閉じられるまでの信号動作を時系列で説明するタイミング図(B)。
実施形態2に係る複合機のサブコントローラのCPU142による処理を説明するフローチャート。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これら複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一もしくは同様の構成に同一の参照番号を付し、重複した説明は省略する。また、実施形態に係る情報処理装置として複合機を例に説明する。しかしながら適用範囲は複合機に限定はせず、情報処理装置であればよい。
[実施形態1]
図1は、実施形態1に係る複合機10のハードウェア構成を説明するブロック図である。
図1は、実施形態1に係る複合機10のハードウェア構成を説明するブロック図である。
メインコントローラ20、サブコントローラ30は、複合機10の制御を行うためのシステム(モジュール)である。実施形態1では、それぞれ電気基板として構成されているものとする。
まずメインコントローラ20の構成について説明する。
システムバス100は、システムバス100に接続されている各モジュールを相互に接続する。このシステムバス100を介して、CPU101やCPU102からの制御信号や各装置間のデータ信号が送受信される。CPU101は、メインコントローラ20のメインプログラム203を実行して、この複合機10全体の制御を行う。CPU102は、フラッシュメモリ118に格納されたブートプログラム202(図2)やメインプログラム203(図2)の署名検証や、各制御部の初期化を実行する他、CPU101のリセット解除を行う。ROM103はリードオンリーメモリであり、CPU102で実行されるローダ200(図2)を格納している。ROM103は改ざんが困難であり、その内容は信頼できるものとする。RAM104は、SRAMで構成されたランダムアクセスメモリで、プログラムや一時的なデータの格納などに使用される。
スキャナI/F制御部105は、スキャナ114による原稿の読み取りを制御する。プリンタI/F制御部106は、プリンタ115による印刷処理などを制御する。画像処理部107は、スキャナ114から読み取った原稿の画像データに画像処理(シェーディング処理)を行ったり、プリンタ115で印刷するためにプリンタ115に出力されるデータに画像処理(ハーフトーン処理やスムージング処理)を行う。パネル制御部108は、タッチパネル式の操作パネル116を制御し、各種情報の表示、使用者からの指示の入力を受け付ける。OTP(One Time Programmable)ROM(以下、OTPと呼ぶ)109は、製造時に一度だけ書き込みが可能なROMで、ブートプログラム202などの署名検証のための検証鍵を保持している。
HDD制御部110は、HDD117に対してデータを読み書きする制御を行う。例えば、RAM104に格納されている画像データをシステムバス100経由でHDD117に書き出して格納することができる。フラッシュメモリ制御部111は、フラッシュメモリ118に対してデータを読み書きする制御を行う。フラッシュメモリ制御部111は、フラッシュメモリ118に格納されているプログラムをシステムバス100経由でRAM104に展開する。ネットワークI/F制御部112は、ネットワーク119上の他のデバイスやサーバとの間でデータの送受信を制御する。通信制御部113は、サブコントローラ30やサブコントローラ40との通信を行う。フラッシュメモリ118は、不揮発メモリであり、複合機10の固定パラメータ等を格納している。またフラッシュメモリ118は、CPU102が実行するブートプログラム202と対応する署名データ207(図2)、CPU101が実行するメインプログラム203(図2)と対応する署名データ210(図2)を格納している。
次にサブコントローラ30の構成について説明する。
システムバス130は、システムバス130に接続されている各モジュールを相互に接続する。このシステムバス130を介して、CPU131からの制御信号や各装置間のデータ信号が送受信される。CPU141は、サブコントローラ30のメインプログラムを実行し、サブコントローラ30の制御を行う。CPU142は、フラッシュメモリ158に格納されたブートプログラム302(図3)やメインプログラム303(図3)の署名検証や各制御部の初期化を実行する他、CPU141のリセット解除を行う。ROM143は、リードオンリーメモリであり、CPU142で実行されるローダ300(図3)を格納している。ROM143は改ざんが困難であり、その内容は信頼できるものとする。RAM144は、SRAMで構成されたランダムアクセスメモリで、プログラムや一時的なデータの格納などに使用される。
デバイスI/F制御部133は、サブコントローラ30に接続されているハードウェアデバイス136の制御を行う。ハードウェアデバイス136の初期化処理が必要な場合には、初期化処理の制御を行う。フラッシュメモリ制御部151は、フラッシュメモリ158に対してデータを読み書きする制御を行う。フラッシュメモリ制御部151は、フラッシュメモリ158に格納されているプログラムをシステムバス130経由でRAM144に展開する。通信制御部153は、メインコントローラ20の通信制御部113と通信してメインコントローラ20との間の通信を行う。フラッシュメモリ158は不揮発性の記憶部で、サブコントローラ30で用いられるデータ等を格納している。また、フラッシュメモリ158は、CPU142が実行するブートプログラム302と対応する署名データ307(図3)、CPU141が実行するサブコントローラ30のメインプログラム303と対応する署名データ310(図3)を格納している。
図2は、実施形態1に係る複合機10のメインコントローラ20が有するソフトウェアモジュールを説明する機能ブロック図である。
ローダ200は、複合機10の電源がオンになるとCPU102で実行されるプログラムで、信頼できる(書き換えできない)ROM103に格納されている。ローダ200は、プログラムロード部201を有し、検証鍵、及びブートプログラムの署名データ207を用いて、フラッシュメモリ118のブートプログラム202を署名検証した後、ブートプログラム202の実行を開始する。
ブートプログラム202は、ローダ200による署名検証後にCPU102で実行されるプログラムで、フラッシュメモリ118に格納される。ブートプログラム署名データ207は、署名鍵及びブートプログラム202のハッシュ値から計算した、ブートプログラム202のデジタル署名データである。署名データの生成、検証アルゴリズムとして、RSA、DSA、もしくはECDSAが使用される。
システム初期化部205は、ネットワークI/F制御部112、通信制御部113等の各種初期化を行う。プログラムロード部206は、検証鍵、及びメインプログラム署名データ210を用いて、メインプログラム203の署名検証を行う。メインプログラム203の署名検証が成功すると、CPU101のリセットが解除され、CPU101はメインプログラム203の実行を開始する。尚、ブートプログラム202におけるブログラムロード部206の署名検証処理は、ローダ200におけるプログラムロード部201の署名検証処理と同等の内容である。
メインプログラム203はCPU101で実行されるプログラムで、フラッシュメモリ118に格納されている。カーネル208は、複合機10の制御システムの核となるプログラムで、アプリケーション209に提供する各種リソース制御やスケジューリング等を行う。アプリケーション209は、複合機10が提供する各種機能(コピー、SEND、プリント等)を実現するためのプログラムである。アプリケーション209には、スキャナI/F制御部105、プリンタI/F制御部106、画像処理部107の制御や、操作パネル116に表示する画面データの生成、及び複合機10の総合的な状態制御などが含まれる。
図3は、実施形態1に係る複合機10のサブコントローラ30が有するソフトウェアモジュールを説明する機能ブロック図である。
改ざん検知処理を行うための構成は、メインコントローラ20とほぼ同様であるが、ROM143のローダ300が状態判断部320持つことが差異である。動作フローについては図5を参照して後述する。以下、簡単に図3を説明する。
ローダ300は、複合機10の電源がオンになるとCPU142で実行されるプログラムで、信頼できる(書き換えできない)ROM143に格納されている。ローダ300は、状態判断部320とプログラムロード部301とを有する。プログラムロード部301は、検証鍵、及びブートプログラムの署名データ307を用いて、フラッシュメモリ158のブートプログラム302を署名検証した後、ブートプログラム302の実行を開始する。状態判断部320は、複合機10の状態が所定の状態かどうかを判断するもので、実施形態1では、この所定の状態として、複合機10のドアが開閉された場合を例に説明する。
ブートプログラム302は、ローダ300による署名検証後にCPU142で実行されるプログラムで、フラッシュメモリ158に格納される。ブートプログラム署名データ307は、署名鍵及びブートプログラム302のハッシュ値から計算した、ブートプログラム302のデジタル署名データである。署名データの生成、検証アルゴリズムとして、RSA、DSA、もしくはECDSAが使用される。
システム初期化部305は、サブコントローラ30に接続された各部の各種初期化を行う。プログラムロード部306は、検証鍵、及びメインプログラム署名データ310を用いて、メインプログラム303の署名検証を行う。メインプログラム303の署名検証が成功すると、CPU141のリセットが解除され、CPU141はメインプログラム303の実行を開始する。尚、ブートプログラム302におけるブログラムロード部306の署名検証処理は、ローダ300におけるプログラムロード部301の署名検証処理と同等の内容である。
メインプログラム303はCPU141で実行されるプログラムで、フラッシュメモリ158に格納されている。カーネル308は、複合機10の制御システムの核となるプログラムで、アプリケーション309に提供する各種リソース制御やスケジューリング等を行う。アプリケーション309は、複合機10が提供する各種機能を実現するためのプログラムである。アプリケーション309は、ハードウェアデバイス316が提供する各種機能(モータ駆動制御、レーザ駆動制御、定着温度制御等)を実現するためのプログラムである。
複合機10の主電源スイッチ161がオンされると、電源供給部162は複合機10の全体への電源供給を開始する。電源供給は2系統あり、サブコントローラ30へ供給される電源183は、ドアオープン検出器163からの信号181がドアのオープンを示すときは、その電源供給を停止する。尚、サブコントローラ180以外への電源180は常に供給されている。
ドアオープン検出部163とドアオープン記憶部165の詳細は図4を参照して補足説明する。
図4(A)は、実施形態1に係るドアオープン検出部163とドアオープン記憶部165の詳細な構成を説明する回路図である。
ドアオープン検出部163は、ドアの開閉と連動するスイッチ401を含み、信号181は、ドアがオープンされるとスイッチ401がオフとなって「1」を出力し、ドアが閉じられるとスイッチ401がオンとなって「0」を出力する。ドアオープン記憶部165は、この信号181を入力し、その信号181の立ち上がり時(ドアがオープンされたときに)に内部のフリップフロップ402に「1」をセットして、ドアがオープンされたことを記憶する。
図4(B)は、主電源のオンに続き、ドアの開け閉めを行なった場合の信号動作を時系列で説明するタイミング図である。
タイミングt1で主電源スイッチがオンされると、電源180、電源183の供給が開始される。そしてリセットジェネレータ171は、タイミングt2までリセット信号172を出力する。このリセット信号172によって、ドアオープン記憶部165のフリップフロップ402は、出力「0」を維持する。次にタイミングt3でドアがオープンされると、スイッチ401がオフとなって「1」を出力し、フリップフロップ402は「1」にセットされ、信号182は「1」を出力する。この値は、タイミングt6でドアが閉じられても維持される。つまり信号182は、主電源がオンされた後にドアが開けられたことがあるかを示す信号である。またタイミングt3でドアがオープンされるとサブコントローラ30への電源183の供給が停止される。そしてタイミングt4で、そのドアが閉じられるとサブコントローラ30への電源183の供給が再開される。後述する図5のフローチャートは、このタイミングt4で、そのドアが閉じられて、サブコントローラ30への電源供給が再開されることにより開始される。
図5は、実施形態1に係る複合機10のサブコントローラ30のCPU142による処理を説明するフローチャートである。このフローチャートで示す処理は、サブコントローラ30の電源が投入され、リセットジェネレータ175がCPU142のリセットを解除することにより開始される。尚、この処理はCPU142がROM143に格納されているプログラムを実行することにより達成される。
先ずS501でCPU142は、ドアオープン記憶部165からの出力信号182の値をリードする。次にS502に進みCPU142は、その読み取った値が「1」かどうか、即ち、ドアの開閉がなされたかどうか判定し、ドアの開閉がなされたと判定すると、プログラムの改ざん検知処理をスキップしてS511に進みCPU142は、システム初期化部305による処理を実行する。このS511では、サブコントローラ30に接続された各部の各種初期化を行ってS508に進む。。S508でCPU142は、リセット信号177を解除してCPU141を起動させる。
一方、S502でCPU142は、ドアの開閉がなされていないと判定するとS503に進む。S503以降の処理は、メインコントローラ10のソフトモジュール構成で説明した改ざん検知処理と同様である。即ち、S503でCPU142は、検証鍵、及びブートプログラム署名データ307を用いてブートプログラム302を署名検証する。
ブートプログラム302は、ローダ300による署名検証後にCPU142で実行されるプログラムで、フラッシュメモリ158に格納されている。ブートプログラム署名データ307は、署名鍵及びブートプログラム302のハッシュ値から計算した、ブートプログラム302のデジタル署名データである。署名データ生成、検証アルゴリズムとして、RSA、DSA、もしくはECDSAが使用される。そしてS504に進みCPU142は、S503の署名検証結果を判定し、検証に成功したときはS505に進みCPU142は、ブートプログラム302に含まれるプログラムのシステム初期化部305を実行する。システム初期化部305は、通信制御部153の通信速度設定等の各種初期化を行うプログラムである。そしてS506に進みCPU142は、プログラムロード部306を実行する。プログラムロード部306は、検証鍵、及びメインプログラム署名データ310を用いてメインプログラム303の署名検証を行う。そしてS507に進みCPU142は、メインプログラム303の署名検証に成功するとS508に進み、CPU141のリセット信号177を解除する。以降CPU141はメインプログラム303の実行を開始する。CPU141の動作としては終了する。一方、S504或いはS507で、メインプログラム303の署名検証に失敗した場合はS512に進みCPU142は、操作パネル116へエラー表示をするなどのエラー処理を行って、この処理を終了する。
以上説明したように実施形態1によれば、複合機のドアが開閉されたことによる電源の再投入による起動時には、プログラムの改ざんの有無を検証することなくプログラムを起動できるため、ドアが開閉された場合の起動時間を短くできる。
[実施形態2]
次に実施形態2について説明する。サブコントローラ30の基板は、複合機10のメインテナンス性のために主電源がオンの状態で、ドア部から着脱可能な構成にしてもよい。しかしながら、サブコントローラ30の基板にはフラッシュメモリ158が実装されているため、このフラッシュメモリ158を付け替える等して、その内容が改ざんされる恐れがある。そこで実施形態2では、基板が挿抜された場合は、その基板に実装されているフラッシュメモリの改ざん検知処理を行う例を説明する。よって実施形態2では、状態判断部320は、ドアの開閉に加えて、フラッシュメモリ158が実装されている基板が挿抜されたかどうかも判断している。
次に実施形態2について説明する。サブコントローラ30の基板は、複合機10のメインテナンス性のために主電源がオンの状態で、ドア部から着脱可能な構成にしてもよい。しかしながら、サブコントローラ30の基板にはフラッシュメモリ158が実装されているため、このフラッシュメモリ158を付け替える等して、その内容が改ざんされる恐れがある。そこで実施形態2では、基板が挿抜された場合は、その基板に実装されているフラッシュメモリの改ざん検知処理を行う例を説明する。よって実施形態2では、状態判断部320は、ドアの開閉に加えて、フラッシュメモリ158が実装されている基板が挿抜されたかどうかも判断している。
図6は、実施形態2に係る複合機10のハードウェア構成を説明するブロック図である。図6において、前述の図1と共通する部分は同じ参照番号で示し、それらの説明を省略する。実施形態1との相違点は、基板挿抜検出部166と基板挿抜記憶部167が追加された点にある。
基板挿抜検出部166と、基板挿抜記憶部167の詳細は図7を参照して説明する。
図7(A)は、実施形態2に係る基板挿抜検出部166と基板挿抜記憶部167の詳細な構成を説明す回路図である。
基板挿抜検出部166は、基板の装着時にオン、取り外し時にオフとなるスイッチ701を含み、スイッチ701がオンの時は「0」、スイッチ701がオフの時は「1」となる信号185を出力する。基板挿抜記憶部186は、信号185を入力し、その立ち上がり時に内部のフリップフロップ702に「1」がセットされる。
図7(B)は、主電源のオンに続き、ドアがオープンされ、その中の基板が取り外された後、基板が装着されてドアが閉じられるまでの信号動作を時系列で説明するタイミング図である。
タイミングt1で、主電源がオンされると電源180,183がオンとなり、リセット信号172がオンとなる。リセットジェネレータ171は、タイミングt2までリセット信号172を出力する。このリセット信号172によって、基板挿抜記憶部186のフリップフロップ702は、出力「0」を維持する。次にタイミングt3で、ドアが開けられると、サブコントローラ30への電源183の供給がオフされる。このとき、前述したように、ドアがオープンされると、スイッチ401がオフとなって「1」を出力し、フリップフロップ402は「1」にセットされ、信号182は「1」を出力する。この値は、タイミングt6でドアが閉じられても維持される。つまり信号182は、主電源がオンされた後にドアが開けられたことがあるかを示す信号である。
次にタイミングt4で、サブコントローラ30の基板が取り外されるとスイッチ701はオフする。これにより信号185は「1」へ変化し、基板挿抜記憶部186のフリップフロップ702は「1」にセットされて信号186が「1」で出力される。この値は、タイミングt5でサブコントローラ30の基板が装着された後、及びタイミングt6でドアが閉じられた後も維持される。つまり信号186は、主電源がオンされた後に、サブコントローラ30の基板が挿抜されたことがあるかを示す信号である。またタイミングt3でドアがオープンされるとサブコントローラ30への電源183の供給が停止される。そしてタイミングt6で、そのドアが閉じられるとサブコントローラ30への電源183の供給が再開される。後述する図8のフローチャートは、このタイミングt6で、そのドアが閉じられて、サブコントローラ30への電源供給が再開されることにより開始される。
図8は、実施形態2に係る複合機10のサブコントローラ30のCPU142による処理を説明するフローチャートである。このフローチャートで示す処理は、サブコントローラ30の電源が投入され、リセットジェネレータ175がCPU142のリセットを解除することにより開始される。尚、この処理はCPU142がROM143に格納されているプログラムを実行することにより達成される。また図8において、前述の図5のフローチャートと同じ処理には、同じ参照番号を付してその説明を省略する。
先ずS801でCPU142は、基板挿抜記憶部167からの信号186の値をリードする。次にS802に進みCPU142は、その信号186の値が「1」かどうか、即ち、サブコントローラ30の基板が挿抜されたことがあるかどうか判定する。ここで、サブコントローラ30の基板が挿抜されたことがあると判定するとS503に進みCPU142は、S503以降のブートプログラム302の改ざん検知処理を行う処理へ進む。この処理は前述の図5と同様であるため、その説明を省略する。
一方、S802でCPU142は、サブコントローラ30の基板の挿抜なしと判定した場合はS501に進み、ドアオープン記憶部165からの信号182を読み取ってS502に進み、ドアが開閉されたことがあるかどうか判定する。これ以降の処理は前述の図5の処理と同様である。
以上説明したように実施形態2によれば、前述の実施形態1の効果に加えて、サブコントローラの基板が挿抜されたときは、その基板に実装されているプログラムの改ざんの有無を検証するため、その基板が挿抜されてプログラムが改ざんされた場合にも対処できるという効果がある。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から逸脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
10…複合機、20…メインコントローラ、30…サブコントローラ、101,102…CPU(メインコントローラ)、118,158…フラッシュメモリ、141,142…CPU(サブコントローラ)、163…ドアオープン検出部、165…ドアオープン記憶部、166…基板挿抜検出部、167…基板挿抜記憶部
Claims (12)
- 複数のCPUを有する情報処理装置であって、
前記複数のCPUのうちの第1CPUが実行するプログラムの改ざんの有無を検証する第2CPUと、
前記情報処理装置において第1の所定の状態が生じたかどうかを記憶する第1記憶手段と、を有し、
前記第2CPUは起動時、前記第1記憶手段に前記第1の所定の状態が生じたことが記憶されていると、前記プログラムの改ざんの有無を検証するための処理をスキップすることを特徴とする情報処理装置。 - 前記第1の所定の状態は、前記情報処理装置のドアの開閉であることを特徴とする請求項1に記載の情報処理装置。
- 前記第2CPUは、前記ドアが開けられた後、閉じられることにより起動されることを特徴とする請求項2に記載の情報処理装置。
- 前記第2CPUは、前記プログラムの改ざんの有無を検証するための処理により前記プログラムが改ざんされていないと判定した後、或いは前記処理をスキップした後、前記第1CPUのリセットを解除することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
- 前記第1記憶手段は、前記ドアが開けられたことに応じて、当該ドアが開けられたことを示す第1情報を保持し、前記ドアが閉じられても前記第1情報を保持することを特徴とする請求項2又は3に記載の情報処理装置。
- 前記情報処理装置において第2の所定の状態が生じたかどうかを記憶する第2記憶手段を更に有し、
前記第2CPUは、前記第2記憶手段が前記第2の所定の状態が生じたことを記憶している場合、前記第1記憶手段が前記前記第1の所定の状態が生じたことを記憶しているか否かに拘わらず、前記プログラムの改ざんの有無を検証するための処理を実行することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。 - 前記第2の所定の状態は、前記プログラムを記憶するメモリを実装している基板の挿抜であることを特徴とする請求項6に記載の情報処理装置。
- 前記第2記憶手段は、前記基板が抜かれたことを検出する検出手段が出力する第2情報を保持し、前記基板が装着されても当該第2情報を保持することを特徴とする請求項7に記載の情報処理装置。
- 前記プログラムは、書き換え可能な不揮発メモリに記憶されていることを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
- 前記第2CPUは、書き換えできない不揮発メモリに記憶されているプログラムを実行して前記書き換え可能な不揮発メモリに記憶されているプログラムの改ざんの有無を検証することを特徴とする請求項9に記載の情報処理装置。
- 複数のCPUを有する情報処理装置の制御方法であって、
第2CPUが、前記複数のCPUのうちの第1CPUが実行するプログラムの改ざんの有無を検証する検証工程と、
前記情報処理装置において第1の所定の状態が生じたかどうかを記憶する記憶工程と、
前記記憶工程で前記第1の所定の状態が生じたことが記憶されていると、前記第2CPUは起動時、前記プログラムの改ざんの有無を検証するための処理をスキップすることを特徴とする制御方法。 - コンピュータに、請求項11に記載の制御方法の各工程を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019085794A JP2020181501A (ja) | 2019-04-26 | 2019-04-26 | 情報処理装置とその制御方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019085794A JP2020181501A (ja) | 2019-04-26 | 2019-04-26 | 情報処理装置とその制御方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020181501A true JP2020181501A (ja) | 2020-11-05 |
Family
ID=73024771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019085794A Pending JP2020181501A (ja) | 2019-04-26 | 2019-04-26 | 情報処理装置とその制御方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020181501A (ja) |
-
2019
- 2019-04-26 JP JP2019085794A patent/JP2020181501A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102347703B1 (ko) | 정보 처리 장치, 그 제어 방법 및 저장 매체 | |
JP6226709B2 (ja) | 画像形成装置及びその制御方法、並びにプログラム | |
JP7009270B2 (ja) | 情報処理装置及びプログラムの検証方法 | |
JP2020057040A (ja) | 情報処理装置とその制御方法、及びプログラム | |
JP7321795B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
CN110324508B (zh) | 图像形成设备和图像形成设备的控制方法 | |
JP2020181501A (ja) | 情報処理装置とその制御方法、及びプログラム | |
JP2020091698A (ja) | 情報処理装置及びその制御方法 | |
JP2020082441A (ja) | 画像形成装置、その制御方法、及びプログラム | |
JP7210238B2 (ja) | 情報処理装置、情報処理装置の制御方法、及び、プログラム | |
KR102402373B1 (ko) | 정보 처리 장치 및 정보 처리 방법 | |
KR102467636B1 (ko) | 정보 처리장치, 정보 처리장치의 제어방법, 및 기억매체 | |
JP2020154601A (ja) | 情報処理装置とその制御方法、及びプログラム | |
JP2021140601A (ja) | 情報処理装置、その制御方法、及びプログラム | |
JP7263101B2 (ja) | 情報処理装置、データ検証方法 | |
CN109995956B (zh) | 启动控制方法和设备 | |
JP2017142686A (ja) | 電子機器、その制御方法及びプログラム | |
JP2021131794A (ja) | パスワード認証装置、画像処理装置、パスワード認証方法 | |
JP2021089607A (ja) | 情報処理装置 | |
JP2020088490A (ja) | ソフトウェアの改ざんを検知することが可能な情報処理装置 | |
JP7215116B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2020053002A (ja) | 情報処理装置とその制御方法、及びプログラム | |
JP2020188440A (ja) | 情報処理装置及びその制御方法 | |
JP7289641B2 (ja) | 情報処理装置、およびその制御方法 | |
JP7282616B2 (ja) | 情報処理装置、情報処理方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |