JP2022066084A - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP2022066084A JP2022066084A JP2020175007A JP2020175007A JP2022066084A JP 2022066084 A JP2022066084 A JP 2022066084A JP 2020175007 A JP2020175007 A JP 2020175007A JP 2020175007 A JP2020175007 A JP 2020175007A JP 2022066084 A JP2022066084 A JP 2022066084A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- program
- secure microcomputer
- boot rom
- information processing
- 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
- 230000010365 information processing Effects 0.000 title claims description 21
- 238000012545 processing Methods 0.000 claims abstract description 21
- 230000004048 modification Effects 0.000 claims abstract description 11
- 238000012986 modification Methods 0.000 claims abstract description 11
- 238000001514 detection method Methods 0.000 claims description 16
- 238000000034 method Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 11
- 230000007704 transition Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000011084 recovery Methods 0.000 description 5
- WBMKMLWMIQUJDP-STHHAXOLSA-N (4R,4aS,7aR,12bS)-4a,9-dihydroxy-3-prop-2-ynyl-2,4,5,6,7a,13-hexahydro-1H-4,12-methanobenzofuro[3,2-e]isoquinolin-7-one hydrochloride Chemical compound Cl.Oc1ccc2C[C@H]3N(CC#C)CC[C@@]45[C@@H](Oc1c24)C(=O)CC[C@@]35O WBMKMLWMIQUJDP-STHHAXOLSA-N 0.000 description 4
- 238000012795 verification Methods 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
- G06F21/608—Secure printing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Facsimiles In General (AREA)
- Stored Programmes (AREA)
- Control Or Security For Electrophotography (AREA)
Abstract
【課題】 復旧用プログラムが処理手段によって改変されるのを防止する。【解決手段】 画像形成装置は、CPU301と、CPU301が実行するプログラムを記憶するCPU用Boot ROM303と、CPU用Boot ROM303に記憶されたプログラムの改変を検知するセキュアマイコン315と、セキュアマイコン315によって改変が検知されたプログラムを復旧するための復旧用プログラムを記憶するセキュアマイコン用Boot ROM316と、を備える。セキュアマイコン315から復旧用プログラムを記憶するセキュアマイコン用Boot ROM316へのアクセスが可能となるよう構成し、CPU301から復旧用プログラムを記憶するセキュアマイコン用Boot ROM316へのアクセスができないように構成する。【選択図】 図5
Description
本発明は、処理手段が実行するプログラムの改変を検知し、改変されたプログラムを復旧することが可能な情報処理装置に関する。
情報処理装置は、ネットワークインターフェイスを有しており、ファイルサーバ機能やメール送受信機能をユーザに対して提供している。情報処理装置がネットワークに接続されることにより、不正なハッキングによる情報処理装置の不正使用が発生する可能性がある。近年、多様化するサイバー攻撃からすべてのリスクを排除することは不可能であるという前提で、サイバー攻撃にあったとしても、情報処理装置自身がサイバー攻撃される前の状態に復旧させるサイバーレジリエンスという考え方が重視されてきている。
特許文献1には、機器の起動時に、機器に搭載されているソフトウェアの改竄を検知する技術が開示されている。ソフトウェアの改竄を検知する手法としては、ソフトウェアのハッシュ値を計算し、マスターとなるハッシュ値との比較を行い、その比較結果に基づきソフトウェアの改竄を検知する。特許文献1では、ソフトウェアの改竄が検知された場合に、改竄されたソフトウェア及びそのソフトウェアを使用する他のソフトウェアを使用できなくする。
特許文献2に記載された装置は、第2記憶部に記憶されたプログラムの改竄が検知された場合に、第1記憶部に記憶された復旧用のプリインストールプログラムを起動する。特許文献2では、制御部102が、第2記憶部及び第1記憶部の両方にアクセスすることが可能であるから、制御部102によるアクセスによって、第1記憶部に記憶される復旧用のプリインストールプログラムも改竄される可能性がある。第1記憶部及び第2記憶部のプログラムが共に改竄されてしまうと、装置は復旧できなくなってしまう。
そこで、本発明は、復旧用プログラムを記憶する記憶部を処理手段からアクセスできないように構成し、復旧用プログラムが処理手段によって改変されるのを防止することを目的とする。
上記の目的を達成するために、本発明の情報処理装置は、処理手段と、処理手段が実行するプログラムを記憶する第1の記憶手段と、前記第1の記憶手段に記憶された前記プログラムの改変を検知する検知手段と、前記検知手段によって改変が検知されたプログラムを復旧するための復旧用プログラムを記憶する第2の記憶手段と、を備え、前記検知手段から前記復旧用プログラムを記憶する前記第2の記憶手段へのアクセスが可能となるよう構成し、前記処理手段から前記復旧用プログラムを記憶する前記第2の記憶手段へのアクセスができないように構成する。
本発明によれば、復旧用プログラムが処理手段によって改変されるのを防止することができる。
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は、特許請求の範囲に係る発明を限定するものでない。
[第1実施形態]
<システムの構成>
図1は、第1実施形態の画像形成装置を含むシステムを示したブロック図である。図1のシステムは、ホストコンピュータ40及び50と、画像形成装置10、20及び30と、を有している。ホストコンピュータ40及び50と、画像形成装置10、20及び30との各々は、LAN60に接続されている。本実施形態の画像形成装置10、20及び30は、WAN(公衆回線)などのLANとは異なるネットワークに接続されていても良い。
<システムの構成>
図1は、第1実施形態の画像形成装置を含むシステムを示したブロック図である。図1のシステムは、ホストコンピュータ40及び50と、画像形成装置10、20及び30と、を有している。ホストコンピュータ40及び50と、画像形成装置10、20及び30との各々は、LAN60に接続されている。本実施形態の画像形成装置10、20及び30は、WAN(公衆回線)などのLANとは異なるネットワークに接続されていても良い。
ホストコンピュータ(以下、PCと称する)40及び50は、パーソナルコンピュータの機能を有している。PC40は、LAN60を介してFTPやSMBプロトコルを用いて、ファイルを送受信したり電子メールを送受信したりすることができる。また、PC40は、画像形成装置10、20、30に対して、プリンタドライバを介した印字命令を行うことが可能である。さらに、PC40は、定期的に、画像形成装置10、20、30に対して、画像形成装置の状態を問い合わせることができる。画像形成装置10、20、30は、PC40からの要求に応じて、印刷可能であるか否かなどの画像形成装置の状態を示すステータス情報、画像形成装置の構成を示す構成情報、画像形成装置で使用される消耗品(トナー残量、紙残量)の情報等を返信する。
画像形成装置10及び20は、プリント機能(印刷機能)及びスキャナ機能(読取機能)を有する装置であって、画像形成装置30は、スキャナ機能を有せず、プリント機能を有する装置である。画像形成装置10は、画像入力デバイスであるスキャナ部13、画像出力デバイスであるプリンタ部14、画像形成装置10全体の動作制御を司るコントローラ11、及び、ユーザインターフェース(UI)である操作部12を備える。また、画像形成装置20も、スキャナ部23、プリンタ部24、コントローラ21、及び、操作部22を備える。画像形成装置30は、プリンタ部34、コントローラ31、及び、操作部32を備える。
以下、画像形成装置10の詳細について説明し、画像形成装置20及び30の説明は画像形成装置10と同様であるので、その説明を割愛する。画像形成装置10は、本発明の情報処理装置の一例である。
<画像形成装置の構成>
図2は、画像形成装置の斜視図である。
図2は、画像形成装置の斜視図である。
図2に示すように、画像形成装置10は、ユーザインターフェース(UI)である操作部12と、画像入力デバイスであるスキャナ部13と、画像出力デバイスであるプリンタ部14と、を備えている。
操作部12は、ハードキー121と、情報を表示する表示部122と、を有する。ハードキー121は、画像形成装置10を省電力状態に移行する、又は、省電力状態から復帰させる節電/復帰ボタン121c、印刷の開始を指示するスタートキー121b、10キー121cなどを有する。
スキャナ部13は、原稿上に形成された画像を読み取って画像データを取得するデバイスである。原稿上に形成された画像に照射された光の反射光をCCDに入力することによって、当該画像の情報を電気信号に変換する。この電気信号は、R,G,B各色からなる輝度信号に変換され、後述するコントローラ11に対して出力される。
スキャナ部13によって読み取られる原稿は、原稿フィーダ201のトレイ202にセットされる。ユーザが、操作部12を用いて読み取り開始の指示を入力すると、スキャナ部13は、原稿フィーダ201のトレイ202から原稿を1枚ずつフィードして、原稿の読み取り動作を行う。なお、原稿の読み取り方法は、原稿フィーダ201による自動送り方式ではなく、不図示のガラス面に載置された原稿に対して、光源やCCDが搭載されたキャリッジを走査する方法であってもよい。
プリンタ部14は、入力された画像データを用いて用紙に画像を形成するデバイスである。なお、本実施形態のプリンタ部14の画像形成方式は、感光体ドラムや感光体ベルトを用いた電子写真方式であるが、本発明はこれに限定されない。例えば、プリンタ部14は、微少ノズルアレイからインクを吐出して用紙上に印字するインクジェット方式であっても良い。
また、画像形成装置10は、プリンタ部14によって画像が形成される用紙を収納する複数の用紙カセット203、204、および205を有している。また、画像形成装置10は、プリンタ部14によって画像が形成された用紙が排出される複数の用紙カセット排紙トレイ206を有している。
<コントローラ11の詳細説明>
図3は、画像形成装置の全体を制御するコントローラを示したブロック図である。コントローラ11は、スキャナ部13やプリンタ部14と電気的に接続されている。また、コントローラ11は、LAN60などを介して、PC40、50や外部の装置などと通信可能に接続されている。
図3は、画像形成装置の全体を制御するコントローラを示したブロック図である。コントローラ11は、スキャナ部13やプリンタ部14と電気的に接続されている。また、コントローラ11は、LAN60などを介して、PC40、50や外部の装置などと通信可能に接続されている。
CPU301は、CPU用Boot ROM303に記憶されたプログラムを実行し、CPU301に接続される周辺デバイスにアクセスする。RAM302は、CPU301が動作するためのシステムワークメモリであり、かつ画像データを一時記憶するためのメモリでもある。このRAM302は、SRAM及びDRAMである。CPU用Boot ROM303は、CPU301を起動させるプログラムを記憶する。そのプログラムがCPU用Boot ROM303にメモリマップされているイメージは、図4(B)の通りである。またCPU用Boot ROM303は、CPU301からもセキュアマイコン315からもアクセスできるように構成されている。CPU301及びセキュアマイコン315の両方からアクセスするための接続バス構成に関しては後述する。
HDD304は、ハードディスクドライブであり、システムソフトウェアや画像データを格納することが可能となっている。操作部I/F305は、システムバス307と操作部12とを接続するためのインターフェース部である。この操作部I/F305は、操作部12に表示するための画像データをシステムバス307から受け取り、操作部12に出力する。また、操作部I/F305は、操作部12から入力された情報をシステムバス307へと出力する。
LANコントローラ306は、LAN60及びシステムバス307に接続され、情報の入出力を行い、画像形成装置とネットワークとの通信を制御する。画像バス308は、画像データをやり取りするための伝送路であり、PCIバス又はIEEE1394で構成されている。画像処理部309は、画像処理を行うためのものであり、RAM302に記憶された画像データを読み出し、JPEG、JBIGなどの拡大または縮小および、色調整などの画像処理を行うことが可能である。ここで画像処理されたデータは、RAM302やHDD304に格納される。
スキャナ画像処理部310は、スキャナ部13からスキャナI/F311を介して受け取った画像データに対して、補正、加工、及び編集を行う。なお、スキャナ画像処理部310は、受け取った画像データがカラー原稿か白黒原稿か、文字原稿か写真原稿かなどを判断する。そして、その判断結果を画像データに付随させる。こうした付随情報を属性データと称する。プリンタ画像処理部312は、この画像データに付随させられている属性データを参照しながら画像データに画像処理を施す。画像処理後の画像データは、プリンタI/F313を介してプリンタ部14に出力される。
電源制御部314は、起動時や電源オフ時の電源制御や省電力状態への移行/復帰といった画像形成装置10の内部電源状態の変更を制御する。電源制御部314は、省電力状態から復帰する場合の復帰要因(例えばFAX受信やスイッチ押下等)を検知する部分でもあり、各復帰要因に応じてスタンバイ状態へ移行した際の電源制御も実施する。
セキュアマイコン315は、トラステッドブートの基点となるハードウェアデバイスである。セキュアマイコン315は、デバイス内部に鍵情報を記憶するヒューズを備えている。セキュアマイコン315は、その鍵情報を使用して、セキュアマイコン用Boot ROM316内に記憶されたセキュアマイコン用プログラム402の改変を検知する。そして、セキュアマイコン315は、セキュアマイコン用プログラム402が改ざんされていないと判断すると、当該セキュアマイコン用プログラム402を実行する。また、セキュアマイコン315は、CPU用Boot ROM303に格納されているCPU用プログラム403を検証し、当該プログラムの改変を検知する。CPU用Boot ROM303に格納されているCPU用プログラム403が改変されていないと判断すると、CPU301のリセットが解除される。
セキュアマイコン315は、CPU用プログラム403の改変を検知すると、後述するセキュアマイコン用Boot ROM316内にある復旧用プログラム401を使って、CPU用Boot ROM303内のプログラムを書き直す。セキュアマイコン315がサイバー攻撃を受けないようにするために、本実施形態では、CPU301は、セキュアマイコン用Boot ROM316にアクセスすることができない。
セキュアマイコン用Boot ROM316には、CPU301を起動させるためのプログラム及びセキュアマイコン315を起動させるためのセキュアマイコン用プログラム402が格納されている。CPU301を起動させるためのプログラム(以下、適宜、復旧用プログラムと呼ぶ)は、CPU用Boot ROM303に記憶されたCPU用プログラム403を復旧するために使用される。セキュアマイコン用プログラム402及び復旧用プログラム401がセキュアマイコン用Boot ROM316にメモリマップされているイメージは、図4(A)の通りである。セキュアマイコン用Boot ROM316は、セキュアマイコン315からのみアクセス可能な構成になっている。セキュアマイコン用Boot ROM316がサイバー攻撃を受けないようにするために、CPU301は、セキュアマイコン用Boot ROM316にアクセスすることができない。
<Boot ROMの詳細構成>
図4(A)は、セキュアマイコン用Boot ROM316が記憶するプログラムを示した図であり、図4(B)は、CPU用Boot ROM303が記憶するプログラムを示した図である。
図4(A)は、セキュアマイコン用Boot ROM316が記憶するプログラムを示した図であり、図4(B)は、CPU用Boot ROM303が記憶するプログラムを示した図である。
図4(A)に示すように、セキュアマイコン用BootROM316は、セキュアマイコン315を起動させるためのセキュアマイコン用プログラム402を記憶する。また、セキュアマイコン用BootROM316は、CPU用プログラム403を復旧するための復旧用プログラム401を記憶する。復旧用プログラム401は、CPU用プログラム403を、出荷時などの復元ポイントの状態に戻すためのプログラム401である。例えば、復元用プログラム401は、復元ポイントでのCPU用プログラム403である。
また、図4(B)に示すように、CPU用Boot ROM303は、CPU301を起動させるためのCPU用プログラム403を記憶する。このCPU用プログラム403は、セキュアマイコン315によって検証される。そして、CPU301は、セキュアマイコン315によって改変されていないと判断されたCPU用プログラム403を実行する。
<SPIバスの構成>
図5に、各ROMにアクセスするためのバス構成を示す。ここでは、SPI(シリアル・ペリフェラル・インタフェース)バスを例にして説明をするが、本発明はSPIバスに限定されるものではない。
図5に、各ROMにアクセスするためのバス構成を示す。ここでは、SPI(シリアル・ペリフェラル・インタフェース)バスを例にして説明をするが、本発明はSPIバスに限定されるものではない。
信号501は、SPIのチップセレクト信号(CS1#)である。チップセレクト信号は、読み出し対象及び書き込み対象のデバイスを選択するための信号である。チップセレクト信号501は、CPU用Boot ROM303にアクセスするために使用する信号である。チップセレクト信号501は、CPU301もセキュアマイコン315も使用可能な信号である。そのため、セキュアマイコン315がCPU用Boot ROM303にアクセスする際には、セキュアマイコン315がチップセレクト信号501を制御する。そして、CPU301がCPU用Boot ROM303にアクセスする際には、CPU301がチップセレクト信号501を制御する。
信号502は、SPIのクロック信号(CLK)である。クロック信号502は、マスターであるCPU301からCPU用Boot ROM303及びセキュアマイコン用Boot ROM316に供給される。また、セキュアマイコン512もCPU用Boot ROM303及びセキュアマイコン用Boot ROM316にクロック信号502を供給することができる。そのため、セキュアマイコン315がCPU用Boot ROM303やセキュアマイコン用Boot ROM316にアクセスする際には、セキュアマイコン315がクロック信号502を制御する。また、CPU301がCPU用Boot ROM303やセキュアマイコン用Boot ROM316にアクセスする際には、CPU301がクロック信号502を制御する。
信号503は、SPIのデータバス信号(IO)である。データバス信号503は、CPU用Boot ROM303及びセキュアマイコン用Boot ROM316にデータをライトしたり、CPU用Boot ROM303及びセキュアマイコン用Boot ROM316からデータをリードしたりする信号である。データバス信号503は、CPU301からもセキュアマイコン315からも使用可能な信号である。そのためセキュアマイコン315が、CPU用Boot ROM303やセキュアマイコン用Boot ROM316にアクセスする際には、セキュアマイコン315がデータバス信号503を制御する。また、CPU301がCPU用Boot ROM303やセキュアマイコン用Boot ROM316にアクセスする際には、CPU301がデータバス信号503を制御する。
信号504は、SPIのチップセレクト信号(CS0#)である。チップセレクト信号504は、セキュアマイコン用Boot ROM316にアクセスするために使用する信号である。チップセレクト信号504は、セキュアマイコン315のみ使用可能な信号である。CPU301は、チップセレクト信号504を制御することができないため、CPU301がセキュアマイコン用Boot ROM316にアクセスすることはできない。
信号505は、セキュアマイコン315がCPU301のリセットを解除するための信号(Reset#)である。セキュアマイコン315は、CPU用Boot ROM303内のCPU用プログラム403を検証し、CPU用プログラム403が改変されていないと判断すると、リセット信号505をLowからHiに変更する。CPU301は、リセット信号505がHiになると(リセット解除されると)、CPU用Boot ROM303のCPU用プログラム403を実行する。
<セキュアマイコンの動作>
図6は、セキュアマイコン315の動作フローを示したものである。
図6は、セキュアマイコン315の動作フローを示したものである。
S601では、セキュアマイコン315に電源が投入されていない状態である。セキュアマイコン315に電源が投入されたら、S602に遷移する。S602では、セキュアマイコン315は、セキュアマイコン用Boot ROM316からセキュアマイコン用プログラム402を読み出す。そして、セキュアマイコン315は、セキュアマイコン315内部にあるヒューズに記憶されている鍵情報を用いて、セキュアマイコン用プログラム402を検証する。そして、セキュアマイコン用プログラム402が改変されていないと判断すると、セキュアマイコン315は、セキュアマイコン用プログラム402を実行する。
次に、S603では、セキュアマイコン用プログラム402を実行したセキュアマイコン315は、CPU用Boot ROM303に記憶されたCPU用プログラム403を読み出す。S604では、セキュアマイコン315は、読み出したCPU用プログラム403の検証を行う。具体的には、セキュアマイコン315は、読み出したCPU用プログラム403のハッシュ値と正解値とに基づいて、CPU用プログラム403の改変を検知する。セキュアマイコン315が、読み出したCPU用プログラム403が改変されていないと判断すると、S609に遷移し、読み出したCPU用プログラム403が改変されていると判断すると、S605に遷移する。
S605では、セキュアマイコン315がセキュアマイコン用Boot ROM316に記憶された復旧用プログラム401を読み出す。セキュアマイコン315は、改変されたと判断したCPU用Boot ROM303に記憶されたプログラムを復旧するために、当該復旧用プログラム401を読み出す。
S606では、セキュアマイコン315は、読み出した復旧用プログラム401を使って、CPU用Boot ROM303に記憶されているCPU用プログラム403の書き直しを行う。具体的には、セキュアマイコン315は、S605でセキュアマイコン用Boot ROM316から読み出した復旧用プログラム401を、CPU用Boot ROM303のCPU用プログラム403が記憶されていた領域に書き込む。これによって、改変されたCPU用Boot ROM303内のデータの復旧することができる。
さらに、S607では、セキュアマイコン315は、CPU用Boot ROM303に記憶されたCPU用プログラム403を読み出す。そして、S608では、セキュアマイコン315は、読み出したCPU用プログラム403の検証を行う。セキュアマイコン315は、S607で読み出したCPU用プログラム403が改変されているかどうか判断し、読み出したCPU用プログラム403が改変されていないと判断するとS609に遷移する。また、読み出したCPU用プログラム403が改変されていると判断した場合、処理を停止する。画像形成装置10をシャットダウンしても良い。なお、2回目のCPU用プログラム403の検証(S607、S608)は、必須ではない。
S609では、セキュアマイコン315は、CPU301のリセット解除を行う。セキュアマイコン315は、CPU301に対するリセット信号505を“Low”から“Hi”に変化させて、CPU301のリセット解除を行う。これによってCPU301が動作可能な状態になる。
<CPUの動作>
図7は、CPU301の動作フローを示したものである。
図7は、CPU301の動作フローを示したものである。
S701では、CPU301に電源が投入されていない状態である。電源が投入されたらS702に遷移する。S702では、CPU301がリセットされている状態である。リセットが解除されたらS903に遷移する。セキュアマイコン315による図6のS609の処理によって、CPU301のリセットが解除されて、S703に遷移する。
S703では、CPU301は、CPU用Boot ROM303からCPU用プログラム403を読み出して、実行する。CPU301は、セキュアマイコン315によって改変されていないと判断されたCPU用プログラム403を実行する。
以上の通り、セキュアマイコン用Boot ROM316にCPU301がアクセスできない構成にしておくことで、セキュアマイコン用Boot ROM316がサイバー攻撃を受けないようにすることができる。また、CPU用Boot ROM303のCPU用プログラム403が改変されたとしても、セキュアマイコン用Boot ROM316の復旧用プログラム401を使ってCPU用プログラム403を確実に復旧させることができる。
[第2実施形態]
第1実施形態では、セキュアマイコン315がセキュアマイコン用Boot ROM316に記憶されるセキュアマイコン用プログラム402を実行する。しかし、セキュアマイコン用プログラム404を、CPU用Boot ROM316に記憶しておき、セキュアマイコン315が、このCPU用Boot ROM316に記憶されたセキュアマイコン用プログラム404を実行しても良い。
第1実施形態では、セキュアマイコン315がセキュアマイコン用Boot ROM316に記憶されるセキュアマイコン用プログラム402を実行する。しかし、セキュアマイコン用プログラム404を、CPU用Boot ROM316に記憶しておき、セキュアマイコン315が、このCPU用Boot ROM316に記憶されたセキュアマイコン用プログラム404を実行しても良い。
図8(A)は、セキュアマイコン用Boot ROM316が記憶するプログラムを示した図であり、図8(B)は、CPU用Boot ROM303が記憶するプログラムを示した図である。
図8(A)に示すように、セキュアマイコン用BootROM316は、CPU用プログラム403の復旧用プログラム401を記憶する。
また、図8(B)に示すように、CPU用Boot ROM303は、CPU301を起動させるためのCPU用プログラム403を記憶する。このCPU用プログラム403は、セキュアマイコン315によって検証される。そして、CPU301は、セキュアマイコン315によって改変されていないと判断されたCPU用プログラム403を実行する。また、第2実施形態では、CPU用Boot ROM301は、セキュアマイコン315を起動させるためのセキュアマイコン用プログラム404を記憶する。
図9は、セキュアマイコン315の動作フローを示したものである。
S901では、セキュアマイコン315に電源が投入されていない状態である。セキュアマイコン315に電源が投入されたら、S902に遷移する。S902では、セキュアマイコン315は、CPU用Boot ROM303からセキュアマイコン用プログラム404を読み出し、セキュアマイコン315内部にあるヒューズに記憶されている鍵情報を用いて検証を行う。そして、セキュアマイコン用プログラム404が改変されていないと判断すると、セキュアマイコン用プログラム404を実行する。
次に、S903では、セキュアマイコン用プログラム404を実行したセキュアマイコン315は、CPU用Boot ROM303に記憶されたCPU用プログラム403を読み出す。S904では、セキュアマイコン315は、読み出したCPU用プログラム403の検証を行う。そして、セキュアマイコン315は、S903で読み出したCPU用プログラム403がサイバー攻撃等により改変されていないかどうかを判断する。セキュアマイコン315が、読み出したCPU用プログラム403が改変されていないと判断すると、S909に遷移し、読み出したCPU用プログラム403が改変されていると判断すると、S905に遷移する。
S905では、セキュアマイコン315がセキュアマイコン用Boot ROM316に記憶された復旧用プログラム401を読み出す。セキュアマイコン315は、改変されたと判断したCPU用Boot ROM303に記憶されたプログラムを復旧するために、当該復旧用プログラム401を読み出す。
S906では、セキュアマイコン315は、読み出した復旧用プログラム401を使って、CPU用Boot ROM303に記憶されているCPU用プログラム403の書き直しを行う。具体的には、セキュアマイコン315は、S905でセキュアマイコン用Boot ROM316から読み出した復旧用プログラム401を、CPU用Boot ROM303のCPU用プログラム403が記憶されていた領域に書き込む。これによって、改変されたCPU用Boot ROM303内のデータの復旧することができる。
さらに、S907では、セキュアマイコン315は、CPU用Boot ROM303に記憶されたCPU用プログラム403を読み出す。そして、S908では、セキュアマイコン315は、読み出したCPU用プログラム403の検証を行う。セキュアマイコン315は、S907で読み出したCPU用プログラム403が改変されているかどうか判断する。そして、読み出したCPU用プログラム403が改変されていないと判断するとS909に遷移する。また、読み出したCPU用プログラム403が改変されていると判断した場合に、処理を停止する。なお、2回目のCPU用プログラム403の検証(S907、S908)は、必須ではない。
S909では、セキュアマイコン315は、CPU301のリセット解除を行う。セキュアマイコン315は、CPU301に対するリセット信号505を“Low”から“Hi”に変化させて、CPU301のリセット解除を行う。これによってCPU301が動作可能な状態になる。
[その他の実施形態]
上記実施形態は、1つ以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出して実行する処理の形式でも実現可能である。また、1つ以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
上記実施形態は、1つ以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出して実行する処理の形式でも実現可能である。また、1つ以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
上記した第1及び第2実施形態の画像形成装置は、プリンタ、スキャナ、パソコン、サーバなどの情報処理装置であっても良い。
10 画像形成装置
301 CPU
303 CPU用Boot ROM
315 セキュアマイコン
316 セキュアマイコン用Boot ROM
301 CPU
303 CPU用Boot ROM
315 セキュアマイコン
316 セキュアマイコン用Boot ROM
Claims (9)
- 処理手段と、
処理手段が実行するプログラムを記憶する第1の記憶手段と、
前記第1の記憶手段に記憶された前記プログラムの改変を検知する検知手段と、
前記検知手段によって改変が検知されたプログラムを復旧するための復旧用プログラムを記憶する第2の記憶手段と、を備え、
前記検知手段から前記復旧用プログラムを記憶する前記第2の記憶手段へのアクセスが可能となるよう構成し、前記処理手段から前記復旧用プログラムを記憶する前記第2の記憶手段へのアクセスができないように構成する、ことを特徴とする情報処理装置。 - 前記第2の記憶手段は、前記検知手段が実行するプログラムをさらに記憶し、
前記情報処理装置の起動時に、前記検知手段は、前記第2の記憶手段に記憶された前記プログラムを実行する、ことを特徴とする請求項1に記載の情報処理装置。 - 前記第1の記憶手段は、前記検知手段が実行するプログラムをさらに記憶し、
前記情報処理装置の起動時に、前記検知手段は、前記第1の記憶手段に記憶された前記プログラムを実行する、ことを特徴とする請求項1に記載の情報処理装置。 - 前記検知手段は、鍵情報を記憶し、
前記検知手段は、前記鍵情報を使用して改変がされていないと判断された前記プログラムを実行する、ことを特徴とする請求項2又は3に記載の情報処理装置。 - 前記検知手段は、読み出し対象となる記憶手段として前記第2の記憶手段を選択することが可能であって、前記処理手段は、読み出し対象となる記憶手段として前記第2の選択手段を選択することができない、ことを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
- 前記検知手段は、前記第2の記憶手段を選択するチップセレクト信号に接続されるが、前記処理手段は、前記チップセレクト信号に接続されない、ことを特徴とする請求項5に記載の情報処理装置。
- 前記検知手段は、前記第2の記憶手段を選択するチップセレクト信号、及び、前記チップセレクト信号とは異なる前記第1の記憶手段を選択するチップセレクト信号、に接続される、ことを特徴とする請求項6に記載の情報処理装置。
- 記憶媒体に画像を印刷する印刷手段をさらに備える、ことを特徴とする請求項1乃至7の何れか1項に記載の情報処理装置。
- 原稿の画像を読み取る読取手段をさらに備える、ことを特徴とする請求項1乃至8の何れか1項に記載の情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020175007A JP2022066084A (ja) | 2020-10-16 | 2020-10-16 | 情報処理装置 |
US17/495,710 US11816233B2 (en) | 2020-10-16 | 2021-10-06 | Information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020175007A JP2022066084A (ja) | 2020-10-16 | 2020-10-16 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022066084A true JP2022066084A (ja) | 2022-04-28 |
Family
ID=81185387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020175007A Pending JP2022066084A (ja) | 2020-10-16 | 2020-10-16 | 情報処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11816233B2 (ja) |
JP (1) | JP2022066084A (ja) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060041940A1 (en) * | 2004-08-21 | 2006-02-23 | Ko-Cheng Fang | Computer data protecting method |
US8849858B2 (en) * | 2005-12-29 | 2014-09-30 | Nextlabs, Inc. | Analyzing activity data of an information management system |
US7472420B1 (en) * | 2008-04-23 | 2008-12-30 | Kaspersky Lab, Zao | Method and system for detection of previously unknown malware components |
JP5309709B2 (ja) | 2008-06-16 | 2013-10-09 | 株式会社リコー | ソフトウェア改ざん検知方法及び機器 |
US8935778B2 (en) * | 2011-04-29 | 2015-01-13 | International Business Machines Corporation | Maintaining data integrity |
DE112012005589T5 (de) * | 2012-01-05 | 2014-10-16 | Mitsubishi Electric Corporation | Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Computerprogramm |
JP6266289B2 (ja) | 2013-09-30 | 2018-01-24 | クラリオン株式会社 | プログラム実行制御システム |
US9940455B2 (en) * | 2015-02-25 | 2018-04-10 | International Business Machines Corporation | Programming code execution management |
JP2020160747A (ja) * | 2019-03-26 | 2020-10-01 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
-
2020
- 2020-10-16 JP JP2020175007A patent/JP2022066084A/ja active Pending
-
2021
- 2021-10-06 US US17/495,710 patent/US11816233B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11816233B2 (en) | 2023-11-14 |
US20220121760A1 (en) | 2022-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4848190B2 (ja) | アプリケーション実行装置、アプリケーション実行方法及びアプリケーション実行プログラム | |
US20040239975A1 (en) | Image forming apparatus that checks authenticity of an update program | |
CN107659745A (zh) | 图像形成装置及其控制方法 | |
JP2007079693A (ja) | 画像処理装置 | |
US20080294845A1 (en) | Information processing apparatus, information processing method, and information processing program product | |
JP4698211B2 (ja) | 情報処理装置、画像形成装置、電子データの移動の取り消し方法 | |
CN112114842A (zh) | 信息处理装置及其控制方法和储存介质 | |
US10223050B2 (en) | Method and apparatus for automatically processing job interruptions caused by a portable memory device in a print system | |
JP2004303216A (ja) | 情報処理装置,画像形成装置,プログラム起動時のエラー処理方法および記録媒体 | |
JP2008171306A (ja) | 電子装置およびプログラム | |
JP7170482B2 (ja) | 情報処理装置及びその制御方法、並びにプログラム | |
US20120117383A1 (en) | System and Method for Secure Device Configuration Cloning | |
WO2014019117A1 (en) | Booting printer | |
JP4485785B2 (ja) | 電子データ処理システム及び電子データ処理方法 | |
JP2007233449A (ja) | 画像処理装置及び画像データ送信方法 | |
JP2022066084A (ja) | 情報処理装置 | |
JP4444641B2 (ja) | 情報処理装置、画像形成装置、及び電子データ移動方法 | |
CN103856679A (zh) | 图像形成装置以及图像形成系统 | |
JP2022066083A (ja) | 情報処理装置 | |
JP2009070106A (ja) | 画像形成装置、データの処理方法並びにデータの処理プログラム | |
JP5030178B2 (ja) | 印刷システム、情報処理装置、印刷装置、印刷方法、制御方法およびプログラム | |
JP2000326592A (ja) | 画像入出力装置 | |
JP6519942B2 (ja) | 画像形成装置およびプログラム | |
JP2018197991A (ja) | 改竄検知装置、その制御方法、並びにプログラム | |
JP7500799B2 (ja) | 画像形成装置、画像形成装置の制御方法、及び、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231006 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20231213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240514 |