JP2021092848A - Information processing device and control method of the same, and program - Google Patents
Information processing device and control method of the same, and program Download PDFInfo
- Publication number
- JP2021092848A JP2021092848A JP2019221448A JP2019221448A JP2021092848A JP 2021092848 A JP2021092848 A JP 2021092848A JP 2019221448 A JP2019221448 A JP 2019221448A JP 2019221448 A JP2019221448 A JP 2019221448A JP 2021092848 A JP2021092848 A JP 2021092848A
- Authority
- JP
- Japan
- Prior art keywords
- firmware
- cpu
- information processing
- backup data
- storage means
- 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
- Accessory Devices And Overall Control Thereof (AREA)
- Facsimiles In General (AREA)
Abstract
Description
本発明は、情報処理装置とその制御方法、及びプログラムに関する。 The present invention relates to an information processing device, a control method thereof, and a program.
近年、市場でのセキュリティへの関心の高まりにより、組み込み機器の分野において、ファームウェアの改ざんを検知する機能を備えたものが増えてきている。このような機能をにより、ファームウェアの改ざんが検知された場合、その機器のダウンタイムを削減するためには、その改ざんされたファームウェアを自動的に修復できるのが望ましい。 In recent years, due to the growing interest in security in the market, the number of embedded devices equipped with a function to detect tampering with firmware is increasing. When such a function detects tampering with the firmware, it is desirable to be able to automatically repair the tampered firmware in order to reduce the downtime of the device.
例えば、機器の起動時にファームウェアの改ざんの有無を検知し、改ざんが検出されると、自動的に正常なファームウェアに復元した上で機器を起動させる、自己修復の仕組みが知られている。しかし、このような自己修復を実現するためには、改ざんされていない正常なファームウェアのバックアップデータを機器内に別に保管しておく必要がある。しかも、そのバックアップは改ざんなどの攻撃を受けないように、完全に保護されていなければならない。つまり、自己修復に使用するファームウェアのバックアップデータを保管する記憶装置は、その記憶内容を攻撃から保護する何らかの手段を備えていなければならない。 For example, there is known a self-healing mechanism that detects the presence or absence of tampering with the firmware when the device is started, and when the tampering is detected, automatically restores the firmware to normal and then starts the device. However, in order to realize such self-repair, it is necessary to separately store backup data of normal firmware that has not been tampered with in the device. Moreover, the backup must be completely protected from tampering and other attacks. That is, the storage device that stores the backup data of the firmware used for self-repair must have some means of protecting the stored contents from attacks.
従来、記憶装置に保管されたデータ或いはプログラム等の情報を保護する技術として、例えば記憶内容の暗号化が用いられている。特許文献1には、コンピュータシステムと記憶装置の間に接続される暗号化装置が記載されている。この暗号化装置は、コンピュータシステムが記憶装置に書きこむデータを暗号化し、コンピュータシステムが記憶装置から読み出すデータを復号することで透過的な暗号化処理を実現している。
Conventionally, for example, encryption of stored contents has been used as a technique for protecting information such as data or programs stored in a storage device.
この特許文献1に記載の技術は、例えば記憶装置であるハードディスクを機器から取り外して、その記憶内容を盗み出したり、記憶内容を改ざんしようとする攻撃に対して有効な保護技術である。
The technique described in
複写機の分野ではこうした暗号化技術を従来から画像データの盗難に対する保護に使用してきた。例えば、複写機には記憶装置としてSSDとハードディスクが備わっているものがある。こうした構成の複写機では、ファームウェアはSSDに格納し、画像データをハードディスクに格納するのが一般的である。そして複写機を制御するコントローラ部とハードディスクとの間に暗号化装置を接続し、そのハードディスクに記憶するデータに対して暗号化技術を適用する。こうすることで、小容量であるが高速に読み出し可能なSSDをファームウェアの格納に用いて複写機の起動時間を短縮しつつ、画像データを大容量のハードディスクに格納することで大量の画像データを保管できるという利便性も確保していた。しかし、上述のような構成の複写機では、暗号化技術を用いて保護されていたのはハードディスクの記憶内容だけであった。従って、複写機にファームウェアの自己修復技術を搭載するためには、従来から保護している画像データだけでなく、自己修復用のファームウェアのバックアップデータも保護しなければならない。しかしながら、更に、ファームウェアの暗号化装置を搭載すると、複写機のコストの増大を招くため望ましくない。 In the field of copiers, such encryption technology has traditionally been used to protect image data from theft. For example, some copiers are equipped with an SSD and a hard disk as storage devices. In a copier having such a configuration, the firmware is generally stored in an SSD and the image data is generally stored in a hard disk. Then, an encryption device is connected between the controller unit that controls the copying machine and the hard disk, and the encryption technology is applied to the data stored in the hard disk. By doing so, a small capacity SSD that can be read at high speed is used to store the firmware to shorten the startup time of the copier, and a large amount of image data can be stored by storing the image data on a large capacity hard disk. The convenience of being able to store it was also ensured. However, in the copier having the above configuration, only the stored contents of the hard disk are protected by using the encryption technology. Therefore, in order to equip the copier with the firmware self-repair technology, it is necessary to protect not only the image data that has been protected conventionally but also the backup data of the firmware for self-repair. However, further mounting a firmware encryption device is not desirable because it increases the cost of the copier.
本発明の目的は、上記従来技術の問題点の少なくとも一つを解決することにある。 An object of the present invention is to solve at least one of the problems of the prior art.
本発明の目的は、コストの増大を抑えながら、ファームウェアのバックアップデータを保護する技術を提供することにある。 An object of the present invention is to provide a technique for protecting backup data of firmware while suppressing an increase in cost.
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
CPUと当該CPUにより実行されるファームウェアを記憶する記憶部とを有する制御手段と、
前記ファームウェアのバックアップデータを記憶する記憶手段と、
前記制御手段と前記記憶手段とに介在し、前記記憶手段に書き込むデータを暗号化するとともに前記記憶手段から読み出したデータを復号するブリッジ手段と、
前記ファームウェアの改ざんを検証する検証手段と、を有し、
前記制御手段は、前記検証手段により前記記憶部に記憶されている前記ファームウェアの改ざんが検出されると、前記ブリッジ手段により前記記憶手段から当該ファームウェアのバックアップデータを読み出し、当該バックアップデータで前記記憶部のファームウェアを上書きすることを特徴とする。
In order to achieve the above object, the information processing apparatus according to one aspect of the present invention has the following configuration. That is,
A control means having a CPU and a storage unit for storing firmware executed by the CPU,
A storage means for storing the backup data of the firmware and
A bridge means that intervenes between the control means and the storage means, encrypts data written in the storage means, and decrypts data read from the storage means.
It has a verification means for verifying tampering with the firmware.
When the verification means detects that the firmware has been tampered with, the control means reads the backup data of the firmware from the storage means by the bridge means, and uses the backup data to read the backup data of the firmware. It is characterized by overwriting the firmware of.
本発明によれば、記憶手段との間に暗号化及び復号機能を備えたブリッジ手段を接続し、そのブリッジ手段により、記憶手段に記憶されるデータの保護とともに、そこに記憶されているファームウェアのバックアップデータを保護することができる。これによりコストの増大を抑えながら、ファームウェアのバックアップデータを保護することができる。 According to the present invention, a bridge means having an encryption and decryption function is connected to the storage means, and the bridge means protects the data stored in the storage means and protects the firmware stored therein. Backup data can be protected. As a result, the backup data of the firmware can be protected while suppressing the increase in cost.
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。 Other features and advantages of the present invention will become apparent in the following description with reference to the accompanying drawings. In the attached drawings, the same or similar configurations are designated by the same reference numbers.
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これら複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一もしくは同様の構成に同一の参照番号を付し、重複した説明は省略する。尚、実施形態では、本発明の情報処理装置の一例である複合機(MFP)を例に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The following embodiments do not limit the invention according to the claims. Although a plurality of features are described in the embodiment, not all of the plurality of features are essential to the invention, and the plurality of features may be arbitrarily combined. Further, in the attached drawings, the same or similar configurations are designated by the same reference numbers, and duplicate explanations are omitted. In the embodiment, a multifunction device (MFP), which is an example of the information processing apparatus of the present invention, will be described as an example.
図1は、実施形態に係る複合機(MFP)1の構成を説明するブロック図である。 FIG. 1 is a block diagram illustrating a configuration of a multifunction device (MFP) 1 according to an embodiment.
複合機(以下、MFP)1は、原稿から光学的に読み取って、その画像データを取得するスキャナ116、デジタル画像データを紙デバイスに出力(印刷)するプリンタ部117を有する。また、ユーザによる操作を受付ける操作部121、画像データや制御プログラム等を記憶するハードディスクドライブ(以下、HDD)114、そして、これらと接続され各モジュールに指示を出すことによりMFP1でジョブを実行させるコントローラ100を有する。またMFP1は、LAN118経由で外部のコンピュータとの間でデジタル画像データの入出力、ジョブや機器の指示等も受信することが可能である。
The multifunction device (hereinafter referred to as MFP) 1 includes a
コントローラ100は、所謂、汎用的なCPUシステムである。全体を制御するメインCPU101、BIOSと呼ばれる初期プログラム等を記憶するブートROM102、CPU101が主記憶メモリとして使用するRAM103を備え、これらが内部バス120を介して接続される。これに加えて内部バス120には、記憶部であるSSD104、HDD114を制御するためのSATAホストコントローラ111、セキュリティチップ118が接続されている。セキュリティチップ118は、CPU101が実行するファームウェアに含まれる電子署名を検証し、ファームウェアの改ざんの有無を判定する機能を持つ。
The
SSD104は、MFP1を動作させるためにCPU101が実行するファームウェアを格納している。ファームウェアは、MFP1の起動時にBIOSによってRAM103にロードされてCPU101によって実行される。尚、BIOSが格納されているブートROM102は読み取り専用メモリで、その記憶内容を書き換えることはできない。
The SSD 104 stores the firmware executed by the
また、コントローラ100にはスキャナインターフェース(I/F)107を介してスキャナ116が、プリンタインターフェース(I/F)108を介してプリンタ部117が接続される。更に、LANインターフェース(I/F)109を介してLAN118が、操作部インターフェース(I/F)110を通して操作部121が接続される。加えて、必要な場合にはUSBインターフェース(I/F)105を介してUSBメモリ106を接続することも可能である。操作部121は、ユーザに各種情報を表示するための表示パネル122及び非図示の操作ボタン等を備える。
Further, the
SATAホストコントローラ111は、SATA規格に対応したストレージデバイスを接続し、制御することが可能な制御回路である。実施形態に係るコントローラ100では、SATAブリッジ112を介してSATA規格に対応したHDD114を接続する。SATAブリッジASIC(Application Specific Integrated Circuit)112は、コントローラ100のSATAホストコントローラ111とHDD114とに介在し、SATA規格に準拠した通信を中継するASICである。SATAホストコントローラ111とSATAブリッジASIC112との間、及びSATAブリッジASIC112とHDD114との間はSATA規格に準拠した通信インターフェースで接続される。この通信インターフェースはそれぞれSATAインターフェース(I/F)113とSATAインターフェース(I/F)115である。
The
実施形態に係るSATAブリッジASIC112は、SATAホストコントローラ111によってHDD114に書き込まれるデータを自動的に暗号化し、更に、読み込まれるデータを自動的に復号する暗号化機能を備えている。加えて、SATAブリッジASIC112は、HDD114の特定領域に対してSATAホストコントローラ111から行われる書き込みアクセスを遮断する機能も備えている。
The
図2は、実施形態に係るMFP1の各記憶装置の記憶内容を説明する図である。
FIG. 2 is a diagram for explaining the storage contents of each storage device of the
図2(A)は、SSD104の記憶内容を説明する図である。
FIG. 2A is a diagram illustrating the stored contents of the
SSD104には、MFPファームウェア201とアップデータプログラム203が格納されている。MFPファームウェア201は、MFP1の通常モードでの動作時にMFP1を制御してコピーやプリントなどの様々なジョブの実行を実現するためプログラムである。このMFPファームウェア201は、BIOSによってRAM103にロードされてCPU101により実行される。
The
実施形態では説明の簡単化のために単一のプログラムとして記載しているが、この構成はあくまで一例であって本発明はこの構成に限定されない。例えば、MFPファームウェア201は、OSと複数のアプリケーションプログラムを含んでいてもよく、またフォントデータや画面表示を世界各地の言語に対応させるための翻訳データなどプログラム実行に必要な各種データ類を含んでいてもよい。
In the embodiment, the program is described as a single program for simplification of description, but this configuration is merely an example, and the present invention is not limited to this configuration. For example, the
アップデータプログラム203は、アップデートモードでの動作時にCPU101により実行される実行可能プログラムである。実施形態に係るMFP1は、ファームウェアを、新しいバージョンのものに更新するファームウェアアップデート機能を備えている。このファームウェアアップデート機能は、MFP1のファームウェアであるMFPファームウェア201及びアップデータプログラム203を新しいバージョンのものに更新する。
The
実施形態では、ファームウェアアップデート機能を使用する場合は、MFP1をアップデートモードで起動させることとしている。MFP1の電源をオンにする際にアップデートモードでの起動が指示されていた場合は、MFPファームウェア201に代わってアップデータプログラム203がBIOSによってRAM103にロードされ、アップデートモードとなる。これらMFPファームウェア201とアップデータプログラム203のいずれにも、ファームウェアの改ざんの有無を検証するための電子署名が含まれている。MFPファームウェア201には電子署名202、アップデータプログラム203には電子署名204が含まれている。これらの改ざんの有無は、セキュリティチップ118によって検証可能である。
In the embodiment, when the firmware update function is used, the MFP1 is started in the update mode. If the startup in the update mode is instructed when the power of the
図2(B)は、HDD114の記憶内容を説明する図である。
FIG. 2B is a diagram illustrating the stored contents of the
修復プログラム205は、MFP1のファームウェアが改ざんされた際にCPU101により実行される実行可能プログラムである。
The
実施形態に係るMFP1は、改ざんされたファームウェアを正常な状態に修復する自己修復機能を備えている。MFP1は、MFPファームウェア201又はアップデータプログラム203が改ざんされた場合、CPU101で修復プログラム205を実行することにより、改ざんされたプログラムをバックアップデータから復元する。
The
バックアップ領域206は、自己修復機能がファームウェアを復元するために用いるファームウェアのバックアップデータを保管する領域である。バックアップ領域206にはMFPファームウェア201のバックアップであるMFPファームウェア211及びアップデータプログラム203のバックアップであるアップデータプログラム213が保管されている。これには電子署名202のバックアップである電子署名212、電子署名204のバックアップである電子署名214も含まれる。
The
画像領域207は、MFP1が画像データを保管するために使用する領域である。ここには、スキャナ116でスキャンした文書を画像データとして保管しておくことができる。また画像領域207は、コピージョブ実行時に複写画像データを一時的に蓄積する用途にも利用される。
The
尚、バックアップ領域206内のMFPファームウェア211及びアップデータプログラム213は、MFP1の製造時にそれぞれMFPファームウェア201及びアップデータプログラム203と同一のものが書きこまれた状態で出荷される。
The MFP firmware 211 and the
図2(C)は、USBメモリ106の記憶内容を説明する図である。
FIG. 2C is a diagram illustrating the storage contents of the
MFP1のファームウェアアップデート機能では、新しいバージョンのファームウェアをUSBメモリ106から供給することができる。図2(C)は、ファームウェアアップデート機能でUSBメモリ106を利用する際のUSBメモリ106の記憶内容について図示している。
With the firmware update function of the
MFPファームウェア221は、MFPファームウェア201を更新するための新しいバージョンのプログラムであり、電子署名222を含んでいる。電子署名222はMFPファームウェア221の改ざんの有無を検証するための電子署名であり、セキュリティチップ118によってその改ざんの有無を検証できる。アップデータプログラム223は、アップデータプログラム203を更新するための新しいバージョンのプログラムであり、電子署名224を含んでいる。電子署名224はアップデータプログラム223の改ざんの有無を検証するための電子署名であり、セキュリティチップ118によってその改ざんの有無を検証可できる。
The
図3は、実施形態に係る、ASICであるSATAブリッジASIC112の構成を説明するブロック図である。
FIG. 3 is a block diagram illustrating the configuration of the
SATAブリッジASIC112は、SATA−IP301によりSATAホストコントローラ111と、SATA−IP302によりHDD114と接続されており、SATAホストコントローラ111とHDD114との間の通信を中継する。SATA−IP301及びSATA−IP302は、SATA規格に準拠した物理層及び論理層を含むデバイス間の通信処理を実装した回路であり、OOB(Out Of Band)と呼ばれる制御信号やATAコマンド等の送受信を実行する。
The
SATAブリッジ112の内部では、内部バス303に、SATA−IP301、SATA−IP302に加えて、CPU304、RAM305、ROM306が接続されている。CPU304は、SATAブリッジASIC112の動作を制御するプロセッサであり、SATA−IP301が受信したATAコマンドをSATA−IP302からHDD114に送信することで、SATAホストコントローラ111とHDD114の間の通信を中継する。またCPU304は、SATAホストコントローラ111からHDD114へ書き込むデータ、及びHDD114から読み出されるデータの暗号化及び復号を実行する。RAM305は、CPU304が暗号化及び復号処理を実行する際に利用するワークメモリである。CPU306は、ROM306に格納されたプログラムを実行することでこれらの動作を実現する。
Inside the
図4は、実施形態に係るSATAブリッジASIC112の動作を説明するフローチャートである。このフローチャートで示す処理は、CPU304がROM306に格納されたプログラムを実行することで実現される。尚、CPU304は、MFP1の電源がオンの間、このフローチャートで示す処理を繰り返し実行している。
FIG. 4 is a flowchart illustrating the operation of the
まずS401でCPU304は、SATA−IP301がSATAコマンドを受信したかどうか判定し、受信したと判定するとS402へ進み、受信していなければS401を繰り返して待ち受けを継続する。S402でCPU304は、SATA−IP301を制御し、SATAホストコントローラ111がHDD114へ向けて送信したSATAコマンドを受信してS403へ進む。S403でCPU304は、S402で受信したSATAコマンドの種類を判定する。S403でCPU304は、受信したSATAコマンドが書き込み遮断有効化コマンドかどうか判定し、そうであればS409に進み、それ以外のコマンドの場合はS404へ進む。
First, in S401, the
この書き込み遮断有効化コマンドはベンダ拡張コマンドであり、SATA規格では規定されていないSATAブリッジASIC112の独自コマンドである。実施形態に係るSATAブリッジASIC112は、HDD114の特定領域に対してSATAホストコントローラ111から行われる書き込みアクセスを遮断する機能を備える。この書き込み遮断有効化コマンドは、この機能を有効化するためのコマンドである。
This write blocking enable command is a vendor extension command, which is a unique command of the SATA bridge ASIC112, which is not specified in the SATA standard. The
S409でCPU304は、SATAブリッジASIC112の書き込み遮断機能を有効化してS401に進む。この書き込み遮断有効化コマンドには、パラメータとしてHDD114の書き込みを遮断すべき領域を指定する情報が含まれている。この領域を指定する情報は、領域の開始位置と終了位置である。従って、CPU304は受信したコマンドからこれらの情報を取り出して、例えばRAM305に保持する。これらの情報が内部に保持されていることをもって、書き込み遮断機能が有効化されていることを示すフラグとする。尚、この書き込み遮断機能は、書き込み遮断有効化コマンドを受信した時点で有効となり、MFP1の電源がオフとなるまで有効である。
In S409, the
S404でCPU304は、S402で受信したコマンドがHDD114からデータを読み出すための読み込みコマンドかどうかを判定する。この読み込みコマンドは、具体的にはREAD SECTOR,READ DMAなどのSATA規格で定義されたデータ転送コマンドである。S404で読み込みコマンドであると判定した場合はS410に進み、読み込みコマンドでなかった場合はS405へ進む。S410でCPU304は、受信したSATAコマンドをSATA−IP302を通じてHDD114へ送信する。次にS411に進みCPU304は、そのSATAコマンドに従ってHDD114から読み出されたデータをSATA−IP302を通じて受け取り、ワークメモリであるRAM305に格納する。そしてS412に進みCPU304は、その読み出された暗号化されたデータを復号する。そしてS413に進みCPU304は、その復号したデータをSATA−IP301を通じてSATAホストコントローラ111へ送信してS401に進み、SATAコマンドの受信を待ち受ける。
In S404, the
S405でCPU304は、S402で受信したコマンドがHDD114へデータを書き込むための書き込みコマンドかどうかを判定する。この書き込みコマンドは、具体的にはWRITE SECTOR,WRITE DMAなどのSATA規格で定義されたデータ転送コマンドである。ここで書き込みコマンドでないと判定したときはS414に進み、書き込みコマンドである場合はS406へ進む。S414でCPU304は、受信したSATAコマンドをSATA−IP302を通じてHDD114へ送信してS415に進む。
In S405, the
尚、このS414の処理は、受信したコマンドがHDD114から機器情報を取得するコマンドであった場合にのみ実行される。具体的には、受信コマンドがSATA規格で定義されたIDENTIFY DEVICEコマンドであった場合である。この場合は、SATAホストコントローラ111とHDD114の間で送受信されるのは、HDD114に記録されたデータではないため、SATAブリッジASIC112は暗号化や復号の処理を行わない。従って、S415でCPU304は、HDD114から送信されたデータをSATA−IP302を通じて受け取る。そしてS416に進みCPU304は、HDD114から受け取ったデータをそのままSATA−IP301を通じてSATAホストコントローラ111へ送信する。そしてCPU304はS401へ戻って次のSATAコマンドの受信を待ち受ける。
The process of S414 is executed only when the received command is a command for acquiring device information from the
S406において、つまりS405で、S402で受信したコマンドが書き込みコマンドであると判定した場合、CPU304は、書き込み遮断機能が有効化されているかどうかを判定する。ここで書き込み遮断機能が有効化されていると判定した場合はS407に進み、そうでないときはS417へ進む。S407でCPU304は、書き込みコマンドが書き込み遮断機能の対象領域内への書き込みを行うものであるかどうかを判定する。この書き込みコマンドには、パラメータとしてHDD114の書き込み位置の情報が含まれているので、CPU304はその情報を取り出し、先述のS409で設定された書き込み遮断機能の対象領域と比較する。ここで書き込み位置が書き込み遮断機能の対象領域内であると判定するとSS408へ進み、そうでないときはS417へ進む。S408でCPU304は、SATA−IP301を通じてSATAホストコントローラ111へエラーを送信してS401に進む。この場合、SATAコマンドはHDD114へ送信されないので、SATAコントローラ111が送信した書き込みコマンドによってHDD114にデータの書き込みが行われることは無い。
When it is determined in S406, that is, in S405, that the command received in S402 is a write command, the
一方、S417でCPU304は、S402で受信したSATAコマンドをHDD114へ送信する。次にS418に進みCPU304は、SATAホストコントローラ111から送信されたデータをSATA−IP301を通じて受信し、ワークメモリであるRAM305に格納する。そしてS419に進みCPU304は、HDD114に書き込まれるべきデータを暗号化する。そしてS420に進みCPU304は、その暗号化されたデータをSATA−IP302を通じてHDD114へ送信してS401に進む。
On the other hand, in S417, the
以上説明したように、実施形態に係るSATAブリッジASIC112は、HDD114に書き込まれるデータを自動的に暗号化し、読み込まれるデータを自動的に復号する暗号化機能を実現できる。また、HDD114内の特定領域に対してSATAホストコントローラ111から行われる書き込みアクセスを遮断する機能についても実現している。
As described above, the
これ以降では、実施形態に係るMFP1におけるファームウェアの改ざんの検知機能と、自己修復機能の動作について説明する。また、それらと関連するファームウェアアップデート機能の動作についても併せて説明する。
Hereinafter, the operation of the firmware tampering detection function and the self-repair function in the
実施形態に係るMFP1は、電源がオンされて起動する際にファームウェアの改ざんの有無を検査し、また改ざんが検知された場合は、自動的にファームウェアの修復を行った上で起動する。 The MFP1 according to the embodiment is inspected for tampering with the firmware when the power is turned on and started, and if tampering is detected, the firmware is automatically repaired and then started.
MFP1の電源がオンされた際、CPU101は最初にブートROM102に格納された初期プログラムであるBIOSの実行を開始する。
When the power of the
図5は、実施形態に係るMFP1のBIOSの動作を説明するフローチャートである。このフローチャートで示す処理は、CPU101がBIOSを実行することにより実現される。
FIG. 5 is a flowchart illustrating the operation of the BIOS of the
S501でCPU101は、アップデートモードでの起動が指示されているかどうかを判定する。これは、例えばユーザは、操作部121の非図示のスイッチを操作することにより、MFP1に対してファームウェアのアップデートを実行するためのアップデートモードでの起動を指示することができる。従ってCPU101は、このスイッチの状態を確認し、アップデートモードでの起動が指示されていた場合はS507へ進み、指示されていなかった場合はS502へ進む。S502でCPU101は、SATAブリッジASIC112の書き込み遮断機能を有効化してS503に進む。これはMFP1の動作中に、コンピュータウイルス等を用いた攻撃により、MFP1の内部から自己修復用のファームウェアのバックアップデータを改ざんされる被害を防ぐためである。書き込み遮断機能を有効化する際、CPU101はSATAホストコントローラ111を通じて書き込み遮断有効化コマンドをSATAブリッジASIC112へ送信して書き込み遮断機能を有効化する。そのときコマンドのパラメータとして書き込みを遮断すべき領域を指定することにより、修復プログラム205及びバックアップ領域206を含んだ領域が書き込み遮断機能の対象となるようにする。尚、画像領域207は、MFP1がジョブ実行するなどの正常な動作の一部として書き込みを行うため、書き込み遮断機能の対象外とする。
In S501, the
S503でCPU101は、SSD104に記憶されているMFPファームウェア201の改ざんの有無を検証する。ここではMFPファームウェア201に含まれる電子署名202をセキュリティチップ118で検証することにより、MFPファームウェア201の改ざんの有無を検証することができる。次にS504に進みCPU101は、S503での検証の結果、MFPファームウェア201の改ざんが有ったかどうかを判定する。ここで改ざんが有ったと判定した場合はS506に進み、改ざんが無かったと判定した場合はS505へ進む。S505でCPU101は、MFPファームウェア201を起動する。即ち、ここではMFPファームウェア201をRAM103にロードし、その実行を開始する。以降の制御はMFPファームウェア201に移り図5のフローは終了する。
In S503, the
一方、S506でCPU101は、修復プログラム205を起動する。ここではCPU101は、修復プログラム205をHDD114からRAM103にロードし、CPU101で実行を開始する。尚、S502でSATAブリッジASIC112の書き込み遮断機能を有効化しているが、遮断されるのはHDD114への書き込みだけで、HDD114からのデータ読み込みは可能である。以降の制御は修復プログラム205に移り図5のフローは終了する。
On the other hand, in S506, the
一方、S501でアップデートモードでの起動が指示されていたときはS507に進みCPU101は、SSD104のアップデータプログラム203の改ざんの有無を検証する。ここでは、アップデータプログラム203に含まれる電子署名204をセキュリティチップ118で検証することにより改ざんの有無を検証することができる。そしてS508に進みCPU101は、S507での検証の結果、アップデータプログラム203の改ざんが有ったかどうかを判定する。ここで改ざんが有ったと判定したときはS510へ進み、無かったと判定した場合はS509へ進む。S509でCPU101はアップデータプログラム203を起動する。ここでは、CPU101はアップデータプログラム203をRAM103にロードし、CPU101で実行を開始する。以降の制御はアップデータプログラム203に移り図5のフローは終了する。
On the other hand, when the startup in the update mode is instructed in S501, the process proceeds to S507, and the
一方、S510でCPU101は修復プログラム205を起動する。ここではCPU101は、修復プログラム205をHDD114からRAM103にロードし、その実行を開始する。以降の制御は修復プログラム205に移り図5のフローは終了する。
On the other hand, in S510, the
図6は、実施形態に係るMFP1における修復プログラム205の動作を説明するフローチャートである。この修復プログラム205は、改ざんされたファームウェアの修復を行うプログラムである。このフローチャートで示す処理は、CPU101が修復プログラム205をRAM103にロードして実行することにより達成される。
FIG. 6 is a flowchart illustrating the operation of the
まずS601でCPU101は、アップデートモードでの起動が指示されているかどうか判定する。ここでCPU101はアップデートモードでの起動が指示されていたと判定した場合はS605へ進み、そうでないときはS602へ進む。尚、このアップデートモードでの起動が指示されているかどうかの判定は、図5のS501と同様にして行われる。S602でCPU101は、HDD114のバックアップ領域206からMFPファームウェア211をRAM103にロードする。次にS603に進みCPU101は、RAM103にロードされたMFPファームウェア211を、SSD104のMFPファームウェア201に上書きする。このとき電子署名202も電子署名212で上書きする。これによりSSD104のMFPファームウェア201が修復される。そしてS604に進みCPU101は、その修復されたMFPファームウェア201を用いて、改めてMFP1の起動動作を行う。このときCPU101は、MFPファームウェア201をRAM103にロードして、その実行を開始する。以降の制御はMFPファームウェア201に移り図6のフローは終了する。
First, in S601, the
一方、S605でCPU101は、HDD114のバックアップ領域206からアップデータプログラム213をRAM103にロードする。続いてS606に進みCPU101は、RAM103にロードされたアップデータプログラム213をSSD104のアップデータプログラム203に上書きする。このとき電子署名204も電子署名214で上書きする。これによりSSD104のアップデータプログラム203が修復される。そしてS607に進みCPU101は、修復されたアップデータプログラム203を用いて、改めてMFP1のアップデートモードでの起動を行う。ここではCPU101は、アップデータプログラム203をRAM103にロードして、その実行を開始する。以降の制御はアップデータプログラム203に移り図6のフローは終了する。
On the other hand, in S605, the
以上説明した処理により、バックアップデータを用いて、改ざんされたMFP1のファームウェアを修復することができる。 By the process described above, the tampered firmware of the MFP1 can be repaired by using the backup data.
図7は、実施形態に係るMFP1のアップデータプログラム203の動作を説明するフローチャートである。このアップデータプログラム203は、MFP1のファームウェアのアップデートを行うプログラムである。尚、このフローチャートで示す処理は、CPU101がRAM103にロードしたアップデータプログラム203を実行することで達成される。
FIG. 7 is a flowchart illustrating the operation of the
まずS701でCPU101は、アップデートに用いる新しいバージョンのMFPファームウェアを取得する。ここではCPU101は、USBメモリ106に格納されているMFPファームウェア221を読み出してRAM103に格納する。実施形態に係るMFP1では、新しいバージョンのファームウェアを格納したUSBメモリ106を接続することで、ファームウェアをアップデートすることが可能である。次にS702に進みCPU101は、取得した新しいファームウェアであるMFPファームウェア221の改ざんの有無を検証する。これはMFPファームウェア221に含まれている電子署名222をセキュリティチップ118で検証することで可能である。そしてS703に進みCPU101は、S702での検証の結果、更新用のMFPファームウェア221の改ざんが有ったかどうか判定する。ここで改ざんが有ったと判定したときはS711へ進み、なかった場合はS704へ進む。
First, in S701, the
S704でCPU101は、新しいバージョンのアップデータプログラムを取得する。このときCPU101は、USBメモリ106に格納されているアップデータプログラム223を読み出してRAM103に格納する。そしてS705に進みCPU101は、その取得したアップデータプログラム223の改ざんの有無を検証する。これは、アップデータプログラム223に含まれている電子署名224をセキュリティチップ118で検証することで可能である。そしてS706に進みC101は、S705での検証の結果に基づいて、アップデータプログラム223の改ざんが有ったかどうか判定する。ここで改ざんが有ったと判定したときはS711へ進み、そうでないときはS707へ進む。
In S704, the
S707でCPU101は、RAM103にロード済みのMFPファームウェア221をSSD104のMFPファームウェア201に上書きする。これによりMFPファームウェア201が新しいバージョンのものに更新される。次にS708に進みCPU101は、RAM103にロード済みのMFPファームウェア221をバックアップ領域206のMFPファームウェア211にも上書きする。これによりバックアップ領域206にもSSD104内と同じバージョンのファームウェアが書きこまれた状態となる。次にS709に進みCPU101は、RAM103にロード済みのアップデータプログラム223をSSD104のアップデータプログラム203に上書きする。これによりアップデータプログラム203が新しいバージョンのものに更新される。そしてS710に進みCPU101は、RAM103にロード済みのアップデータプログラム223をバックアップ領域206のアップデータプログラム213に上書きする。これによりバックアップ領域206のアップデータプログラム213も、SSD104のアップデータプログラム203と同じバージョンのものが書きこまれた状態となる。こうしてCPU101はファームウェアのアップデート処理のフローを終了する。
In S707, the
一方、S711において、つまりMFPファームウェア、或いは、アップデータプログラムの改ざんが有ると判定されたときCPU101は、操作部121の表示パネル122にエラーの発生を報知するためのエラー画面を表示してアップデート処理を中止する。
On the other hand, in S711, that is, when it is determined that the MFP firmware or the updater program has been tampered with, the
図9は、実施形態に係るMFP1の操作部121の表示パネル122に表示されるエラー画面の一例を示す図である。
FIG. 9 is a diagram showing an example of an error screen displayed on the
図9では、ファームウェアの改ざんが検知されたことを示す「ファームウェアのセキュリティエラー」のメッセージと、エラーコード「0001」が表示されている。 In FIG. 9, a “firmware security error” message indicating that tampering with the firmware has been detected and an error code “0001” are displayed.
以上説明した処理により、MFP1のファームウェアのアップデートを行うことができる。
By the process described above, the firmware of the
図8は、実施形態に係るMFP1のMFPファームウェア201の起動処理を説明するフローチャートである。CPU101はRAM103にロードされたMFPファームウェア201を実行することで、このフローチャートで示す処理を実行し、MFP1の起動処理を完了する。
FIG. 8 is a flowchart illustrating a startup process of the
S801でCPU101は、スキャナ116及びプリンタ部117とネゴシエーションを行い、通信を確立する。次にS802に進みCPU101は、MFP1へのジョブの受け付けを開始する。これによりMFP1の起動処理は完了し、ユーザがMFP1を利用して各種のジョブを実行することが可能な状態となる。
In S801, the
上記のような動作により、MFPファームウェア201の起動処理は行われる。
The startup process of the
以上説明したように実施形態によれば、記憶装置との間に暗号化装置を接続した構成のMFPにおいて、ファームウェアの自己修復に必要となるファームウェアのバックアップデータを改ざんから保護することができる。また記憶装置に暗号化された状態でバックアップデータを格納しておくことにより、記憶装置を取り外して内容を書き換えるような改ざんからバックアップを保護することができる。 As described above, according to the embodiment, in the MFP having a configuration in which the encryption device is connected to the storage device, the backup data of the firmware required for the self-repair of the firmware can be protected from tampering. Further, by storing the backup data in the encrypted state in the storage device, it is possible to protect the backup from falsification such that the storage device is removed and the contents are rewritten.
加えて、暗号化装置に記憶装置の特定領域への書き込みを遮断する機能を備えることにより、コンピュータウイルスなどを用いてMFP内部からバックアップデータを改ざんする攻撃からも保護することができる。 In addition, by providing the encryption device with a function of blocking writing to a specific area of the storage device, it is possible to protect the backup data from an attack that falsifies the backup data from the inside of the MFP by using a computer virus or the like.
また、従来から重要データの盗難に対する保護としてMFPに搭載されてきた暗号化装置を、ファームウェアのバックアップデータを保護する用途と共用することにより、それぞれ別の保護手段を用いる構成と比べて装置コストを抑えることができる。 In addition, by sharing the encryption device installed in the MFP as protection against theft of important data for the purpose of protecting the backup data of the firmware, the device cost can be reduced compared to the configuration using different protection means. It can be suppressed.
尚、実施形態ではファームウェアのバックアップデータを格納する記憶装置としてハードディスクを使用することとしているが、あくまで一例であって本発明はこの構成に限定されるものではない。記憶内容を暗号化する装置を介して接続された記憶装置であれば本発明は適用可能である。 In the embodiment, the hard disk is used as the storage device for storing the backup data of the firmware, but the present invention is not limited to this configuration, but is merely an example. The present invention is applicable as long as it is a storage device connected via a device that encrypts the stored contents.
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other embodiments)
The present invention supplies a program that realizes one or more functions of the above-described embodiment to a system or device via a network or storage medium, and one or more processors in the computer of the system or device reads and executes the program. It can also be realized by the processing to be performed. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から逸脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。 The present invention is not limited to the above embodiments, and various modifications and modifications can be made without departing from the spirit and scope of the present invention. Therefore, in order to make the scope of the present invention public, the following claims are attached.
1…複合機(MFP),100…コントローラ、101…CPU、104…SSD,106…USBメモリ、112…SATAブリッジASIC,114…HDD、121…操作部、122…表示パネル、201,211,221…MFPファームウェア、203,213,223…アップデータプログラム、205…修復プログラム 1 ... Multifunction device (MFP), 100 ... Controller, 101 ... CPU, 104 ... SSD, 106 ... USB memory, 112 ... SATA bridge ASIC, 114 ... HDD, 121 ... Operation unit, 122 ... Display panel, 2011, 211,221 … MFP firmware, 203,213,223… updater program, 205… repair program
Claims (11)
前記ファームウェアのバックアップデータを記憶する記憶手段と、
前記制御手段と前記記憶手段とに介在し、前記記憶手段に書き込むデータを暗号化するとともに前記記憶手段から読み出したデータを復号するブリッジ手段と、
前記ファームウェアの改ざんを検証する検証手段と、を有し、
前記制御手段は、前記検証手段により前記記憶部に記憶されている前記ファームウェアの改ざんが検出されると、前記ブリッジ手段により前記記憶手段から当該ファームウェアのバックアップデータを読み出し、当該バックアップデータで前記記憶部のファームウェアを上書きすることを特徴とする情報処理装置。 A control means having a CPU and a storage unit for storing firmware executed by the CPU,
A storage means for storing the backup data of the firmware and
A bridge means that intervenes between the control means and the storage means, encrypts data written in the storage means, and decrypts data read from the storage means.
It has a verification means for verifying tampering with the firmware.
When the verification means detects that the firmware has been tampered with, the control means reads the backup data of the firmware from the storage means by the bridge means, and the storage unit uses the backup data. An information processing device characterized by overwriting the firmware of.
前記制御手段は、前記接続手段に接続された前記メモリから前記バージョンの異なるファームウェアを読み出して、前記記憶部のファームウェアと前記記憶手段のバックアップデータを更新することを特徴とする請求項1に記載の情報処理装置。 Further, it has a connection means for connecting a memory for storing firmware having a different version from the firmware stored in the storage means.
The first aspect of claim 1, wherein the control means reads firmware of a different version from the memory connected to the connection means and updates the firmware of the storage unit and the backup data of the storage means. Information processing device.
前記ファームウェアの改ざんを検証する検証工程と、
前記検証工程で前記記憶部に記憶されている前記ファームウェアの改ざんが検出されると、前記ブリッジ手段により前記記憶手段から当該ファームウェアのバックアップデータを読み出し、当該バックアップデータで前記記憶部のファームウェアを上書きする工程と、
を有することを特徴とする制御方法。 A control means having a CPU and a storage unit for storing firmware executed by the CPU, a storage means for storing backup data of the firmware, and the control means and the storage means intervene and write to the storage means. A control method for controlling an information processing apparatus having a bridge means for encrypting data and decoding data read from the storage means.
The verification process for verifying the tampering with the firmware and
When tampering with the firmware stored in the storage unit is detected in the verification step, the backup data of the firmware is read from the storage means by the bridge means, and the firmware of the storage unit is overwritten with the backup data. Process and
A control method characterized by having.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019221448A JP2021092848A (en) | 2019-12-06 | 2019-12-06 | Information processing device and control method of the same, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019221448A JP2021092848A (en) | 2019-12-06 | 2019-12-06 | Information processing device and control method of the same, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021092848A true JP2021092848A (en) | 2021-06-17 |
Family
ID=76312537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019221448A Pending JP2021092848A (en) | 2019-12-06 | 2019-12-06 | Information processing device and control method of the same, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021092848A (en) |
-
2019
- 2019-12-06 JP JP2019221448A patent/JP2021092848A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2907068B1 (en) | System on chip to perform a secure boot | |
US9881161B2 (en) | System on chip to perform a secure boot, an image forming apparatus using the same, and method thereof | |
US9576132B2 (en) | Information processing apparatus and information processing method | |
US7929706B2 (en) | Encryption key restoring method, information processing apparatus, and encryption key restoring program | |
US11010153B2 (en) | Information processing apparatus that detects falsification of a program, method of controlling the same, and storage medium | |
JP2012008861A (en) | Data processor, data processing method for data processor and program | |
US9361472B2 (en) | Information processing apparatus, control method of information processing apparatus, and program | |
JP2004303216A (en) | Information processor, image forming apparatus, error processing method in starting program, and recording medium | |
JP5309709B2 (en) | Software tampering detection method and device | |
JP4707748B2 (en) | External storage device, method for processing data stored in external storage device, program, and information processing apparatus | |
JP5658574B2 (en) | Image forming apparatus, control method therefor, and program | |
JP2021092848A (en) | Information processing device and control method of the same, and program | |
US11330129B2 (en) | Image forming system, image forming apparatus, and storing medium storing application control program | |
JP2008112297A (en) | Electronic device, program and recording medium | |
JP2015108865A (en) | Image forming apparatus and control method of the same, and program | |
JP2008102678A (en) | Electronic equipment | |
JP7320415B2 (en) | Processing device and start-up method | |
JP2020154601A (en) | Information processing device and its control method, and program | |
JP7206769B2 (en) | Electronic device and method of operation | |
JP7011697B1 (en) | Information processing equipment and information processing method | |
US11971991B2 (en) | Information processing apparatus, control method for controlling the same and storage medium | |
US11720371B2 (en) | Control apparatus, activation method thereof, and electrical equipment | |
US10657268B2 (en) | Information processing apparatus, information processing method, and non-transitory computer readable medium to verify validity of backup data | |
JP2006344022A (en) | Equipment and program starting method | |
JP2022157951A (en) | Image forming apparatus |
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 |