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 PDF

Info

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
Application number
JP2019221448A
Other languages
Japanese (ja)
Inventor
圭吾 合田
Keigo Aida
圭吾 合田
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 JP2019221448A priority Critical patent/JP2021092848A/en
Publication of JP2021092848A publication Critical patent/JP2021092848A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

To provide an information processing device capable of protecting so that the backup data used for self-repairing are not altered for the information processing device which self-repairs a firmware using the backup data stored in the device when the firmware is altered.SOLUTION: An information processing device has control means with a CPU and a storage part to store a firmware executed by the CPU, storage means to store backup data of the firmware, and bridge means intervening in the control means and the storage means, and to encrypt the data writing into the storage means and also to decrypt the data read out of the storage means. The information processing device has verification means to verify the falsification of the firmware, and reads out the backup data of the firmware by the bridge means from the storage means and overwrites the firmware of the storage part with the backup data when the falsification of the firmware stored in the storage part is detected.SELECTED DRAWING: Figure 1

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. Patent Document 1 describes an encryption device connected between a computer system and a storage device. This encryption device realizes a transparent encryption process by encrypting the data written by the computer system in the storage device and decrypting the data read by the computer system from the storage device.

特開2008−5408号公報Japanese Unexamined Patent Publication No. 2008-5408

この特許文献1に記載の技術は、例えば記憶装置であるハードディスクを機器から取り外して、その記憶内容を盗み出したり、記憶内容を改ざんしようとする攻撃に対して有効な保護技術である。 The technique described in Patent Document 1 is an effective protection technique against an attack in which, for example, a hard disk, which is a storage device, is removed from a device to steal the stored contents or falsify the stored contents.

複写機の分野ではこうした暗号化技術を従来から画像データの盗難に対する保護に使用してきた。例えば、複写機には記憶装置として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)の構成を説明するブロック図。 実施形態に係るMFPの各記憶装置の記憶内容を説明する図。 実施形態に係る、ASICであるSATAブリッジASICの構成を説明するブロック図。 実施形態に係るSATAブリッジASICの動作を説明するフローチャート。 実施形態に係るMFPのBIOSの動作を説明するフローチャート。 実施形態に係るMFPにおける修復プログラムの動作を説明するフローチャート。 実施形態に係るMFPのアップデータプログラムの動作を説明するフローチャート。 実施形態に係るMFPのMFPファームウェアの起動処理を説明するフローチャート。 実施形態に係るMFPの操作部の表示パネルに表示されるエラー画面の一例を示す図。
The accompanying drawings are included in the specification and are used to form a part thereof, show an embodiment of the present invention, and explain the principle of the present invention together with the description thereof.
The block diagram explaining the structure of the multifunction device (MFP) which concerns on embodiment. The figure explaining the storage content of each storage device of the MFP which concerns on embodiment. FIG. 3 is a block diagram illustrating a configuration of a SATA bridge ASIC, which is an ASIC, according to an embodiment. The flowchart explaining the operation of the SATA bridge ASIC which concerns on embodiment. The flowchart explaining the operation of the BIOS of the MFP which concerns on embodiment. The flowchart explaining the operation of the repair program in the MFP which concerns on embodiment. The flowchart explaining the operation of the updater program of the MFP which concerns on embodiment. The flowchart explaining the boot process of the MFP firmware of the MFP which concerns on embodiment. The figure which shows an example of the error screen displayed on the display panel of the operation part of the MFP which concerns on embodiment.

以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これら複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一もしくは同様の構成に同一の参照番号を付し、重複した説明は省略する。尚、実施形態では、本発明の情報処理装置の一例である複合機(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 scanner 116 that optically reads from a document and acquires image data thereof, and a printer unit 117 that outputs (prints) digital image data to a paper device. In addition, an operation unit 121 that accepts operations by the user, a hard disk drive (hereinafter referred to as HDD) 114 that stores image data, control programs, etc., and a controller that is connected to these and issues instructions to each module to execute a job on the MFP1. Has 100. The MFP1 can also input / output digital image data to / from an external computer via LAN 118, and receive instructions for jobs and devices.

コントローラ100は、所謂、汎用的なCPUシステムである。全体を制御するメインCPU101、BIOSと呼ばれる初期プログラム等を記憶するブートROM102、CPU101が主記憶メモリとして使用するRAM103を備え、これらが内部バス120を介して接続される。これに加えて内部バス120には、記憶部であるSSD104、HDD114を制御するためのSATAホストコントローラ111、セキュリティチップ118が接続されている。セキュリティチップ118は、CPU101が実行するファームウェアに含まれる電子署名を検証し、ファームウェアの改ざんの有無を判定する機能を持つ。 The controller 100 is a so-called general-purpose CPU system. It includes a main CPU 101 that controls the whole, a boot ROM 102 that stores an initial program called a BIOS, and a RAM 103 that the CPU 101 uses as a main storage memory, and these are connected via an internal bus 120. In addition to this, the internal bus 120 is connected to the SATA host controller 111 for controlling the SSD 104 and the HDD 114, which are storage units, and the security chip 118. The security chip 118 has a function of verifying an electronic signature included in the firmware executed by the CPU 101 and determining whether or not the firmware has been tampered with.

SSD104は、MFP1を動作させるためにCPU101が実行するファームウェアを格納している。ファームウェアは、MFP1の起動時にBIOSによってRAM103にロードされてCPU101によって実行される。尚、BIOSが格納されているブートROM102は読み取り専用メモリで、その記憶内容を書き換えることはできない。 The SSD 104 stores the firmware executed by the CPU 101 in order to operate the MFP 1. The firmware is loaded into the RAM 103 by the BIOS and executed by the CPU 101 when the MFP1 is started. The boot ROM 102 in which the BIOS is stored is a read-only memory, and its stored contents cannot be rewritten.

また、コントローラ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 scanner 116 is connected to the controller 100 via the scanner interface (I / F) 107, and the printer unit 117 is connected to the controller 100 via the printer interface (I / F) 108. Further, the LAN 118 is connected via the LAN interface (I / F) 109, and the operation unit 121 is connected through the operation unit interface (I / F) 110. In addition, if necessary, the USB memory 106 can be connected via the USB interface (I / F) 105. The operation unit 121 includes a display panel 122 for displaying various information to the user, an operation button (not shown), and the like.

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 host controller 111 is a control circuit capable of connecting and controlling a storage device corresponding to the SATA standard. In the controller 100 according to the embodiment, the HDD 114 corresponding to the SATA standard is connected via the SATA bridge 112. The SATA bridge ASIC (Application Specific Integrated Circuit) 112 is an ASIC that intervenes between the SATA host controller 111 of the controller 100 and the HDD 114 and relays communication conforming to the SATA standard. The SATA host controller 111 and the SATA bridge ASIC 112, and the SATA bridge ASIC 112 and the HDD 114 are connected by a communication interface compliant with the SATA standard. The communication interfaces are a SATA interface (I / F) 113 and a SATA interface (I / F) 115, respectively.

実施形態に係るSATAブリッジASIC112は、SATAホストコントローラ111によってHDD114に書き込まれるデータを自動的に暗号化し、更に、読み込まれるデータを自動的に復号する暗号化機能を備えている。加えて、SATAブリッジASIC112は、HDD114の特定領域に対してSATAホストコントローラ111から行われる書き込みアクセスを遮断する機能も備えている。 The SATA bridge ASIC 112 according to the embodiment has an encryption function that automatically encrypts the data written to the HDD 114 by the SATA host controller 111, and further automatically decrypts the read data. In addition, the SATA bridge ASIC 112 also has a function of blocking write access made from the SATA host controller 111 to a specific area of the HDD 114.

図2は、実施形態に係るMFP1の各記憶装置の記憶内容を説明する図である。 FIG. 2 is a diagram for explaining the storage contents of each storage device of the MFP 1 according to the embodiment.

図2(A)は、SSD104の記憶内容を説明する図である。 FIG. 2A is a diagram illustrating the stored contents of the SSD 104.

SSD104には、MFPファームウェア201とアップデータプログラム203が格納されている。MFPファームウェア201は、MFP1の通常モードでの動作時にMFP1を制御してコピーやプリントなどの様々なジョブの実行を実現するためプログラムである。このMFPファームウェア201は、BIOSによってRAM103にロードされてCPU101により実行される。 The MFP firmware 201 and the updater program 203 are stored in the SSD 104. The MFP firmware 201 is a program for controlling the MFP1 during operation of the MFP1 in the normal mode to execute various jobs such as copying and printing. The MFP firmware 201 is loaded into the RAM 103 by the BIOS and executed by the CPU 101.

実施形態では説明の簡単化のために単一のプログラムとして記載しているが、この構成はあくまで一例であって本発明はこの構成に限定されない。例えば、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 MFP firmware 201 may include an OS and a plurality of application programs, and also includes various data necessary for program execution such as font data and translation data for making the screen display compatible with languages around the world. You may.

アップデータプログラム203は、アップデートモードでの動作時にCPU101により実行される実行可能プログラムである。実施形態に係るMFP1は、ファームウェアを、新しいバージョンのものに更新するファームウェアアップデート機能を備えている。このファームウェアアップデート機能は、MFP1のファームウェアであるMFPファームウェア201及びアップデータプログラム203を新しいバージョンのものに更新する。 The updater program 203 is an executable program executed by the CPU 101 when operating in the update mode. The MFP 1 according to the embodiment has a firmware update function for updating the firmware to a new version. This firmware update function updates the MFP firmware 201 and the updater program 203, which are the firmware of the MFP 1, with new versions.

実施形態では、ファームウェアアップデート機能を使用する場合は、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 MFP 1 is turned on, the updater program 203 is loaded into the RAM 103 by the BIOS instead of the MFP firmware 201, and the update mode is set. Both the MFP firmware 201 and the updater program 203 include an electronic signature for verifying whether or not the firmware has been tampered with. The MFP firmware 201 includes the electronic signature 202, and the updater program 203 includes the electronic signature 204. The presence or absence of these tampering can be verified by the security chip 118.

図2(B)は、HDD114の記憶内容を説明する図である。 FIG. 2B is a diagram illustrating the stored contents of the HDD 114.

修復プログラム205は、MFP1のファームウェアが改ざんされた際にCPU101により実行される実行可能プログラムである。 The repair program 205 is an executable program executed by the CPU 101 when the firmware of the MFP 1 is tampered with.

実施形態に係るMFP1は、改ざんされたファームウェアを正常な状態に修復する自己修復機能を備えている。MFP1は、MFPファームウェア201又はアップデータプログラム203が改ざんされた場合、CPU101で修復プログラム205を実行することにより、改ざんされたプログラムをバックアップデータから復元する。 The MFP 1 according to the embodiment has a self-repair function for repairing the tampered firmware to a normal state. When the MFP firmware 201 or the updater program 203 is tampered with, the MFP1 restores the tampered program from the backup data by executing the repair program 205 on the CPU 101.

バックアップ領域206は、自己修復機能がファームウェアを復元するために用いるファームウェアのバックアップデータを保管する領域である。バックアップ領域206にはMFPファームウェア201のバックアップであるMFPファームウェア211及びアップデータプログラム203のバックアップであるアップデータプログラム213が保管されている。これには電子署名202のバックアップである電子署名212、電子署名204のバックアップである電子署名214も含まれる。 The backup area 206 is an area for storing the backup data of the firmware used by the self-repair function to restore the firmware. The backup area 206 stores the MFP firmware 211, which is a backup of the MFP firmware 201, and the updater program 213, which is a backup of the updater program 203. This includes the electronic signature 212, which is a backup of the electronic signature 202, and the electronic signature 214, which is a backup of the electronic signature 204.

画像領域207は、MFP1が画像データを保管するために使用する領域である。ここには、スキャナ116でスキャンした文書を画像データとして保管しておくことができる。また画像領域207は、コピージョブ実行時に複写画像データを一時的に蓄積する用途にも利用される。 The image area 207 is an area used by the MFP 1 to store image data. A document scanned by the scanner 116 can be stored here as image data. The image area 207 is also used for temporarily storing copy image data when a copy job is executed.

尚、バックアップ領域206内のMFPファームウェア211及びアップデータプログラム213は、MFP1の製造時にそれぞれMFPファームウェア201及びアップデータプログラム203と同一のものが書きこまれた状態で出荷される。 The MFP firmware 211 and the updater program 213 in the backup area 206 are shipped in a state in which the same MFP firmware 201 and updater program 203 are written when the MFP 1 is manufactured.

図2(C)は、USBメモリ106の記憶内容を説明する図である。 FIG. 2C is a diagram illustrating the storage contents of the USB memory 106.

MFP1のファームウェアアップデート機能では、新しいバージョンのファームウェアをUSBメモリ106から供給することができる。図2(C)は、ファームウェアアップデート機能でUSBメモリ106を利用する際のUSBメモリ106の記憶内容について図示している。 With the firmware update function of the MFP 1, a new version of the firmware can be supplied from the USB memory 106. FIG. 2C illustrates the stored contents of the USB memory 106 when the USB memory 106 is used by the firmware update function.

MFPファームウェア221は、MFPファームウェア201を更新するための新しいバージョンのプログラムであり、電子署名222を含んでいる。電子署名222はMFPファームウェア221の改ざんの有無を検証するための電子署名であり、セキュリティチップ118によってその改ざんの有無を検証できる。アップデータプログラム223は、アップデータプログラム203を更新するための新しいバージョンのプログラムであり、電子署名224を含んでいる。電子署名224はアップデータプログラム223の改ざんの有無を検証するための電子署名であり、セキュリティチップ118によってその改ざんの有無を検証可できる。 The MFP firmware 221 is a new version of the program for updating the MFP firmware 201 and includes a digital signature 222. The electronic signature 222 is an electronic signature for verifying the presence or absence of tampering with the MFP firmware 221, and the presence or absence of tampering can be verified by the security chip 118. The updater program 223 is a new version of the program for updating the updater program 203 and includes a digital signature 224. The electronic signature 224 is an electronic signature for verifying the presence or absence of tampering with the updater program 223, and the presence or absence of tampering can be verified by the security chip 118.

図3は、実施形態に係る、ASICであるSATAブリッジASIC112の構成を説明するブロック図である。 FIG. 3 is a block diagram illustrating the configuration of the SATA bridge ASIC 112, which is an ASIC, according to the embodiment.

SATAブリッジASIC112は、SATA−IP301によりSATAホストコントローラ111と、SATA−IP302によりHDD114と接続されており、SATAホストコントローラ111とHDD114との間の通信を中継する。SATA−IP301及びSATA−IP302は、SATA規格に準拠した物理層及び論理層を含むデバイス間の通信処理を実装した回路であり、OOB(Out Of Band)と呼ばれる制御信号やATAコマンド等の送受信を実行する。 The SATA bridge ASIC 112 is connected to the SATA host controller 111 by the SATA-IP301 and the HDD 114 by the SATA-IP 302, and relays the communication between the SATA host controller 111 and the HDD 114. The SATA-IP301 and SATA-IP302 are circuits that implement communication processing between devices including a physical layer and a logical layer that comply with the SATA standard, and transmit and receive control signals called OOB (Out Of Band) and ATA commands. Execute.

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 SATA bridge 112, a CPU 304, a RAM 305, and a ROM 306 are connected to the internal bus 303 in addition to the SATA-IP301 and SATA-IP302. The CPU 304 is a processor that controls the operation of the SATA bridge ASIC 112, and relays the communication between the SATA host controller 111 and the HDD 114 by transmitting the ATA command received by the SATA-IP301 from the SATA-IP 302 to the HDD 114. Further, the CPU 304 encrypts and decrypts the data written from the SATA host controller 111 to the HDD 114 and the data read from the HDD 114. The RAM 305 is a work memory used by the CPU 304 when executing encryption and decryption processing. The CPU 306 realizes these operations by executing the program stored in the ROM 306.

図4は、実施形態に係るSATAブリッジASIC112の動作を説明するフローチャートである。このフローチャートで示す処理は、CPU304がROM306に格納されたプログラムを実行することで実現される。尚、CPU304は、MFP1の電源がオンの間、このフローチャートで示す処理を繰り返し実行している。 FIG. 4 is a flowchart illustrating the operation of the SATA bridge ASIC 112 according to the embodiment. The process shown in this flowchart is realized by the CPU 304 executing the program stored in the ROM 306. The CPU 304 repeatedly executes the process shown in this flowchart while the power of the MFP 1 is on.

まず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 CPU 304 determines whether or not the SATA-IP301 has received the SATA command, and if it determines that the SATA command has been received, proceeds to S402, and if not, repeats S401 to continue the standby. In S402, the CPU 304 controls the SATA-IP301, receives the SATA command transmitted by the SATA host controller 111 toward the HDD 114, and proceeds to S403. In S403, the CPU 304 determines the type of SATA command received in S402. In S403, the CPU 304 determines whether the received SATA command is a write blocking enable command, and if so, proceeds to S409, and if it is any other command, proceeds to S404.

この書き込み遮断有効化コマンドはベンダ拡張コマンドであり、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 SATA bridge ASIC 112 according to the embodiment has a function of blocking write access performed from the SATA host controller 111 to a specific area of the HDD 114. This write blocking enable command is a command for enabling this function.

S409でCPU304は、SATAブリッジASIC112の書き込み遮断機能を有効化してS401に進む。この書き込み遮断有効化コマンドには、パラメータとしてHDD114の書き込みを遮断すべき領域を指定する情報が含まれている。この領域を指定する情報は、領域の開始位置と終了位置である。従って、CPU304は受信したコマンドからこれらの情報を取り出して、例えばRAM305に保持する。これらの情報が内部に保持されていることをもって、書き込み遮断機能が有効化されていることを示すフラグとする。尚、この書き込み遮断機能は、書き込み遮断有効化コマンドを受信した時点で有効となり、MFP1の電源がオフとなるまで有効である。 In S409, the CPU 304 activates the write blocking function of the SATA bridge ASIC112 and proceeds to S401. This write blocking enable command includes information for specifying an area for blocking writing of the HDD 114 as a parameter. The information that specifies this area is the start and end positions of the area. Therefore, the CPU 304 extracts these information from the received command and holds it in, for example, the RAM 305. The fact that this information is retained internally serves as a flag indicating that the write blocking function is enabled. This write blocking function is enabled when the write blocking enable command is received, and is valid until the power of the MFP 1 is turned off.

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 CPU 304 determines whether the command received in S402 is a read command for reading data from the HDD 114. Specifically, this read command is a data transfer command defined by the SATA standard such as READ SECTOR and READ DMA. If it is determined in S404 that it is a read command, the process proceeds to S410, and if it is not a read command, the process proceeds to S405. In S410, the CPU 304 transmits the received SATA command to the HDD 114 through the SATA-IP302. Next, the process proceeds to S411, and the CPU 304 receives the data read from the HDD 114 according to the SATA command through the SATA-IP 302 and stores it in the RAM 305 which is a work memory. Then, the process proceeds to S412, and the CPU 304 decrypts the read encrypted data. Then, the process proceeds to S413, and the CPU 304 transmits the decoded data to the SATA host controller 111 through the SATA-IP301, proceeds to S401, and waits for the reception of the SATA command.

S405でCPU304は、S402で受信したコマンドがHDD114へデータを書き込むための書き込みコマンドかどうかを判定する。この書き込みコマンドは、具体的にはWRITE SECTOR,WRITE DMAなどのSATA規格で定義されたデータ転送コマンドである。ここで書き込みコマンドでないと判定したときはS414に進み、書き込みコマンドである場合はS406へ進む。S414でCPU304は、受信したSATAコマンドをSATA−IP302を通じてHDD114へ送信してS415に進む。 In S405, the CPU 304 determines whether the command received in S402 is a write command for writing data to the HDD 114. Specifically, this write command is a data transfer command defined by a SATA standard such as LIGHT SECTOR and LIGHT DMA. If it is determined that the command is not a write command, the process proceeds to S414, and if the command is a write command, the process proceeds to S406. In S414, the CPU 304 transmits the received SATA command to the HDD 114 through the SATA-IP302, and proceeds to S415.

尚、この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 HDD 114. Specifically, this is the case where the received command is an IDENTIFY DEVICE command defined in the SATA standard. In this case, since it is not the data recorded in the HDD 114 that is transmitted and received between the SATA host controller 111 and the HDD 114, the SATA bridge ASIC 112 does not perform encryption or decryption processing. Therefore, in S415, the CPU 304 receives the data transmitted from the HDD 114 through the SATA-IP302. Then, proceeding to S416, the CPU 304 transmits the data received from the HDD 114 as it is to the SATA host controller 111 through the SATA-IP301. Then, the CPU 304 returns to S401 and waits for the reception of the next SATA command.

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 CPU 304 determines whether or not the write blocking function is enabled. If it is determined that the write blocking function is enabled, the process proceeds to S407, and if not, the process proceeds to S417. In S407, the CPU 304 determines whether or not the write command is for writing into the target area of the write blocking function. Since this write command includes information on the write position of the HDD 114 as a parameter, the CPU 304 takes out the information and compares it with the target area of the write blocking function set in S409 described above. Here, if it is determined that the writing position is within the target area of the write blocking function, the process proceeds to SS408, and if not, the process proceeds to S417. In S408, the CPU 304 transmits an error to the SATA host controller 111 through the SATA-IP301 and proceeds to S401. In this case, since the SATA command is not transmitted to the HDD 114, data is not written to the HDD 114 by the write command transmitted by the SATA controller 111.

一方、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 CPU 304 transmits the SATA command received in S402 to the HDD 114. Next, proceeding to S418, the CPU 304 receives the data transmitted from the SATA host controller 111 through the SATA-IP301 and stores it in the RAM 305 which is a work memory. Then, the process proceeds to S419, and the CPU 304 encrypts the data to be written to the HDD 114. Then, the process proceeds to S420, and the CPU 304 transmits the encrypted data to the HDD 114 through SATA-IP302 and proceeds to S401.

以上説明したように、実施形態に係るSATAブリッジASIC112は、HDD114に書き込まれるデータを自動的に暗号化し、読み込まれるデータを自動的に復号する暗号化機能を実現できる。また、HDD114内の特定領域に対してSATAホストコントローラ111から行われる書き込みアクセスを遮断する機能についても実現している。 As described above, the SATA bridge ASIC 112 according to the embodiment can realize an encryption function that automatically encrypts the data written in the HDD 114 and automatically decrypts the read data. Further, the function of blocking the write access performed from the SATA host controller 111 to the specific area in the HDD 114 is also realized.

これ以降では、実施形態に係るMFP1におけるファームウェアの改ざんの検知機能と、自己修復機能の動作について説明する。また、それらと関連するファームウェアアップデート機能の動作についても併せて説明する。 Hereinafter, the operation of the firmware tampering detection function and the self-repair function in the MFP 1 according to the embodiment will be described. In addition, the operation of the firmware update function related to them will also be described.

実施形態に係る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 MFP 1 is turned on, the CPU 101 first starts executing the BIOS, which is an initial program stored in the boot ROM 102.

図5は、実施形態に係るMFP1のBIOSの動作を説明するフローチャートである。このフローチャートで示す処理は、CPU101がBIOSを実行することにより実現される。 FIG. 5 is a flowchart illustrating the operation of the BIOS of the MFP 1 according to the embodiment. The process shown in this flowchart is realized by the CPU 101 executing the BIOS.

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 CPU 101 determines whether or not the startup in the update mode is instructed. For example, the user can instruct the MFP 1 to start in the update mode for executing the firmware update by operating a switch (not shown) of the operation unit 121. Therefore, the CPU 101 confirms the state of this switch, proceeds to S507 if the start in the update mode is instructed, and proceeds to S502 if not instructed. In S502, the CPU 101 activates the write blocking function of the SATA bridge ASIC112 and proceeds to S503. This is to prevent the damage that the backup data of the self-repairing firmware is tampered with from the inside of the MFP1 by an attack using a computer virus or the like during the operation of the MFP1. When the write blocking function is enabled, the CPU 101 sends a write blocking enable command to the SATA bridge ASIC 112 through the SATA host controller 111 to enable the write blocking function. At that time, by specifying the area to be blocked from writing as a command parameter, the area including the repair program 205 and the backup area 206 is targeted for the write blocking function. The image area 207 is excluded from the write blocking function because writing is performed as part of a normal operation such as execution of a job by the MFP1.

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 CPU 101 verifies whether or not the MFP firmware 201 stored in the SSD 104 has been tampered with. Here, by verifying the electronic signature 202 included in the MFP firmware 201 with the security chip 118, it is possible to verify whether or not the MFP firmware 201 has been tampered with. Next, the process proceeds to S504, and the CPU 101 determines whether or not the MFP firmware 201 has been tampered with as a result of the verification in S503. If it is determined that the tampering has occurred, the process proceeds to S506, and if it is determined that the tampering has not occurred, the process proceeds to S505. In S505, the CPU 101 starts the MFP firmware 201. That is, here, the MFP firmware 201 is loaded into the RAM 103, and its execution is started. Subsequent control shifts to the MFP firmware 201, and the flow of FIG. 5 ends.

一方、S506でCPU101は、修復プログラム205を起動する。ここではCPU101は、修復プログラム205をHDD114からRAM103にロードし、CPU101で実行を開始する。尚、S502でSATAブリッジASIC112の書き込み遮断機能を有効化しているが、遮断されるのはHDD114への書き込みだけで、HDD114からのデータ読み込みは可能である。以降の制御は修復プログラム205に移り図5のフローは終了する。 On the other hand, in S506, the CPU 101 starts the repair program 205. Here, the CPU 101 loads the repair program 205 from the HDD 114 into the RAM 103, and the CPU 101 starts execution. Although the write blocking function of the SATA bridge ASIC 112 is enabled in S502, only writing to the HDD 114 is blocked, and data can be read from the HDD 114. Subsequent control shifts to the repair program 205, and the flow of FIG. 5 ends.

一方、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 CPU 101 verifies whether or not the updater program 203 of the SSD 104 has been tampered with. Here, the presence or absence of tampering can be verified by verifying the electronic signature 204 included in the updater program 203 with the security chip 118. Then, the process proceeds to S508, and the CPU 101 determines whether or not the updater program 203 has been tampered with as a result of the verification in S507. If it is determined that the tampering has occurred, the process proceeds to S510, and if it is determined that the tampering has not occurred, the process proceeds to S509. In S509, the CPU 101 starts the updater program 203. Here, the CPU 101 loads the updater program 203 into the RAM 103, and the CPU 101 starts execution. Subsequent control shifts to the updater program 203, and the flow of FIG. 5 ends.

一方、S510でCPU101は修復プログラム205を起動する。ここではCPU101は、修復プログラム205をHDD114からRAM103にロードし、その実行を開始する。以降の制御は修復プログラム205に移り図5のフローは終了する。 On the other hand, in S510, the CPU 101 starts the repair program 205. Here, the CPU 101 loads the repair program 205 from the HDD 114 into the RAM 103 and starts executing the repair program 205. Subsequent control shifts to the repair program 205, and the flow of FIG. 5 ends.

図6は、実施形態に係るMFP1における修復プログラム205の動作を説明するフローチャートである。この修復プログラム205は、改ざんされたファームウェアの修復を行うプログラムである。このフローチャートで示す処理は、CPU101が修復プログラム205をRAM103にロードして実行することにより達成される。 FIG. 6 is a flowchart illustrating the operation of the repair program 205 in the MFP 1 according to the embodiment. This repair program 205 is a program for repairing tampered firmware. The process shown in this flowchart is achieved by the CPU 101 loading the repair program 205 into the RAM 103 and executing it.

まず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 CPU 101 determines whether or not the startup in the update mode is instructed. Here, if the CPU 101 determines that the startup in the update mode has been instructed, the process proceeds to S605, and if not, the process proceeds to S602. It should be noted that the determination as to whether or not the activation in this update mode is instructed is performed in the same manner as in S501 of FIG. In S602, the CPU 101 loads the MFP firmware 211 into the RAM 103 from the backup area 206 of the HDD 114. Next, the process proceeds to S603, and the CPU 101 overwrites the MFP firmware 211 loaded in the RAM 103 with the MFP firmware 201 of the SSD 104. At this time, the electronic signature 202 is also overwritten with the electronic signature 212. As a result, the MFP firmware 201 of the SSD 104 is repaired. Then, the process proceeds to S604, and the CPU 101 uses the repaired MFP firmware 201 to start the MFP 1 again. At this time, the CPU 101 loads the MFP firmware 201 into the RAM 103 and starts its execution. Subsequent control shifts to the MFP firmware 201, and the flow of FIG. 6 ends.

一方、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 CPU 101 loads the updater program 213 from the backup area 206 of the HDD 114 into the RAM 103. Subsequently, the process proceeds to S606, and the CPU 101 overwrites the updater program 213 loaded in the RAM 103 with the updater program 203 of the SSD 104. At this time, the electronic signature 204 is also overwritten with the electronic signature 214. As a result, the updater program 203 of the SSD 104 is repaired. Then, the process proceeds to S607, and the CPU 101 uses the repaired updater program 203 to start the MFP 1 again in the update mode. Here, the CPU 101 loads the updater program 203 into the RAM 103 and starts its execution. Subsequent control shifts to the updater program 203, and the flow of FIG. 6 ends.

以上説明した処理により、バックアップデータを用いて、改ざんされた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 updater program 203 of the MFP 1 according to the embodiment. This updater program 203 is a program for updating the firmware of the MFP1. The process shown in this flowchart is achieved by executing the updater program 203 loaded in the RAM 103 by the CPU 101.

まず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 CPU 101 acquires a new version of the MFP firmware used for the update. Here, the CPU 101 reads the MFP firmware 221 stored in the USB memory 106 and stores it in the RAM 103. In the MFP 1 according to the embodiment, the firmware can be updated by connecting the USB memory 106 containing the new version of the firmware. Next, the process proceeds to S702, and the CPU 101 verifies whether or not the newly acquired MFP firmware 221 has been tampered with. This is possible by verifying the electronic signature 222 included in the MFP firmware 221 with the security chip 118. Then, the process proceeds to S703, and as a result of the verification in S702, the CPU 101 determines whether or not the MFP firmware 221 for update has been tampered with. If it is determined that the tampering has occurred, the process proceeds to S711, and if not, the process proceeds to S704.

S704でCPU101は、新しいバージョンのアップデータプログラムを取得する。このときCPU101は、USBメモリ106に格納されているアップデータプログラム223を読み出してRAM103に格納する。そしてS705に進みCPU101は、その取得したアップデータプログラム223の改ざんの有無を検証する。これは、アップデータプログラム223に含まれている電子署名224をセキュリティチップ118で検証することで可能である。そしてS706に進みC101は、S705での検証の結果に基づいて、アップデータプログラム223の改ざんが有ったかどうか判定する。ここで改ざんが有ったと判定したときはS711へ進み、そうでないときはS707へ進む。 In S704, the CPU 101 acquires a new version of the updater program. At this time, the CPU 101 reads the updater program 223 stored in the USB memory 106 and stores it in the RAM 103. Then, the process proceeds to S705, and the CPU 101 verifies whether or not the acquired updater program 223 has been tampered with. This is possible by verifying the electronic signature 224 included in the updater program 223 with the security chip 118. Then, the process proceeds to S706, and C101 determines whether or not the updater program 223 has been tampered with based on the result of the verification in S705. If it is determined that the tampering has occurred, the process proceeds to S711, and if not, the process proceeds to S707.

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 CPU 101 overwrites the MFP firmware 221 loaded in the RAM 103 with the MFP firmware 201 of the SSD 104. This updates the MFP firmware 201 to the new version. Next, the process proceeds to S708, and the CPU 101 overwrites the MFP firmware 221 loaded in the RAM 103 with the MFP firmware 211 in the backup area 206. As a result, the same version of firmware as in SSD 104 is written in the backup area 206. Next, the process proceeds to S709, and the CPU 101 overwrites the updater program 223 loaded in the RAM 103 with the updater program 203 of the SSD 104. This updates the updater program 203 to the new version. Then, in S710, the CPU 101 overwrites the updater program 223 loaded in the RAM 103 with the updater program 213 in the backup area 206. As a result, the updater program 213 of the backup area 206 is also in a state in which the same version as the updater program 203 of the SSD 104 is written. In this way, the CPU 101 ends the flow of the firmware update process.

一方、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 CPU 101 displays an error screen for notifying the occurrence of an error on the display panel 122 of the operation unit 121 and performs an update process. Cancel.

図9は、実施形態に係るMFP1の操作部121の表示パネル122に表示されるエラー画面の一例を示す図である。 FIG. 9 is a diagram showing an example of an error screen displayed on the display panel 122 of the operation unit 121 of the MFP 1 according to the embodiment.

図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 MFP 1 can be updated.

図8は、実施形態に係るMFP1のMFPファームウェア201の起動処理を説明するフローチャートである。CPU101はRAM103にロードされたMFPファームウェア201を実行することで、このフローチャートで示す処理を実行し、MFP1の起動処理を完了する。 FIG. 8 is a flowchart illustrating a startup process of the MFP firmware 201 of the MFP 1 according to the embodiment. By executing the MFP firmware 201 loaded in the RAM 103, the CPU 101 executes the process shown in this flowchart and completes the startup process of the MFP 1.

S801でCPU101は、スキャナ116及びプリンタ部117とネゴシエーションを行い、通信を確立する。次にS802に進みCPU101は、MFP1へのジョブの受け付けを開始する。これによりMFP1の起動処理は完了し、ユーザがMFP1を利用して各種のジョブを実行することが可能な状態となる。 In S801, the CPU 101 negotiates with the scanner 116 and the printer unit 117 to establish communication. Next, the process proceeds to S802, and the CPU 101 starts accepting jobs to the MFP1. As a result, the startup process of the MFP1 is completed, and the user can execute various jobs using the MFP1.

上記のような動作により、MFPファームウェア201の起動処理は行われる。 The startup process of the MFP firmware 201 is performed by the above operation.

以上説明したように実施形態によれば、記憶装置との間に暗号化装置を接続した構成の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)

CPUと当該CPUにより実行されるファームウェアを記憶する記憶部とを有する制御手段と、
前記ファームウェアのバックアップデータを記憶する記憶手段と、
前記制御手段と前記記憶手段とに介在し、前記記憶手段に書き込むデータを暗号化するとともに前記記憶手段から読み出したデータを復号するブリッジ手段と、
前記ファームウェアの改ざんを検証する検証手段と、を有し、
前記制御手段は、前記検証手段により前記記憶部に記憶されている前記ファームウェアの改ざんが検出されると、前記ブリッジ手段により前記記憶手段から当該ファームウェアのバックアップデータを読み出し、当該バックアップデータで前記記憶部のファームウェアを上書きすることを特徴とする情報処理装置。
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.
前記記憶部のファームウェアと前記記憶手段のバックアップデータを更新する際、前記制御手段は、前記検証手段により前記バージョンの異なるファームウェアの改ざんを検証し、前記バージョンの異なるファームウェアが改ざんされていない場合に、前記記憶部のファームウェアと前記記憶手段のバックアップデータを更新することを特徴とする請求項2に記載の情報処理装置。 When updating the firmware of the storage unit and the backup data of the storage means, the control means verifies the tampering of the firmware of the different versions by the verification means, and when the firmware of the different versions has not been tampered with. The information processing apparatus according to claim 2, wherein the firmware of the storage unit and the backup data of the storage means are updated. 前記ファームウェアと前記バックアップデータはともに、前記ファームウェアを検証するための電子署名を含むことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 3, wherein both the firmware and the backup data include an electronic signature for verifying the firmware. 前記検証手段による前記ファームウェアの改ざんの検証及び、前記ファームウェアのバックアップデータによる前記ファームウェアの修復は、前記情報処理装置の起動時に行われることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。 The invention according to any one of claims 1 to 4, wherein the verification of the tampering of the firmware by the verification means and the repair of the firmware by the backup data of the firmware are performed at the time of starting the information processing apparatus. Information processing equipment. 前記検証手段は、前記電子署名を用いて前記ファームウェアの改ざんを検証することを特徴とする請求項4に記載の情報処理装置。 The information processing apparatus according to claim 4, wherein the verification means verifies falsification of the firmware by using the electronic signature. 前記ブリッジ手段は、さらに、前記記憶手段の特定領域に対する書き込みアクセスを遮断する機能を有することを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 6, wherein the bridging means further has a function of blocking write access to a specific area of the storage means. 前記特定領域は、前記ファームウェアのバックアップデータを記憶する領域であることを特徴とする請求項7に記載の情報処理装置。 The information processing apparatus according to claim 7, wherein the specific area is an area for storing backup data of the firmware. 前記ブリッジ手段は、SATA規格に準拠した通信インターフェースで前記制御手段と前記記憶手段とを接続するASIC(Application Specific Integrated Circuit)を含むことを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。 The bridge means according to any one of claims 1 to 8, wherein the bridge means includes an ASIC (Application Specific Integrated Circuit) that connects the control means and the storage means with a communication interface conforming to the SATA standard. Information processing equipment. CPUと当該CPUにより実行されるファームウェアを記憶する記憶部とを有する制御手段と、前記ファームウェアのバックアップデータを記憶する記憶手段と、前記制御手段と前記記憶手段とに介在し、前記記憶手段に書き込むデータを暗号化するとともに前記記憶手段から読み出したデータを復号するブリッジ手段とを有する情報処理装置を制御する制御方法であって、
前記ファームウェアの改ざんを検証する検証工程と、
前記検証工程で前記記憶部に記憶されている前記ファームウェアの改ざんが検出されると、前記ブリッジ手段により前記記憶手段から当該ファームウェアのバックアップデータを読み出し、当該バックアップデータで前記記憶部のファームウェアを上書きする工程と、
を有することを特徴とする制御方法。
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.
コンピュータに、請求項10の制御方法の各工程を実行させるためのプログラム。 A program for causing a computer to execute each step of the control method of claim 10.
JP2019221448A 2019-12-06 2019-12-06 Information processing device and control method of the same, and program Pending JP2021092848A (en)

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)

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