JP2023032874A - Information processing unit and control method thereof - Google Patents

Information processing unit and control method thereof Download PDF

Info

Publication number
JP2023032874A
JP2023032874A JP2021139229A JP2021139229A JP2023032874A JP 2023032874 A JP2023032874 A JP 2023032874A JP 2021139229 A JP2021139229 A JP 2021139229A JP 2021139229 A JP2021139229 A JP 2021139229A JP 2023032874 A JP2023032874 A JP 2023032874A
Authority
JP
Japan
Prior art keywords
storage means
program stored
stored
firmware
cpu
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
JP2021139229A
Other languages
Japanese (ja)
Inventor
拓也 塚田
Takuya Tsukada
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 JP2021139229A priority Critical patent/JP2023032874A/en
Publication of JP2023032874A publication Critical patent/JP2023032874A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

To provide, in a device having a plurality of CPUs, a mechanism of favorably holding, inside the device, recovery data to be utilized for an automatic restoration when an abnormality is detected in a program in each of the CPUs.SOLUTION: An information processing unit includes: a first control part configured to execute a first program stored in a first storage part; a second control part configured to execute a second program stored in a second storage part; and a third control part configured to execute a third program stored in a third storage part. The third control part verifies an authenticity of the first program stored in the first storage part and the second program stored in the second storage part. The third control part writes, in the first storage part, a first program for recovery stored in advance in the second storage part when an abnormality is detected in the first program stored in the first storage part. The third control part writes, in the second storage part, a second program for recovery stored in advance in the first storage part when an abnormality is detected in the second program stored in the second storage part.SELECTED DRAWING: Figure 2

Description

本発明は、情報処理装置、及びその制御方法に関する。 The present invention relates to an information processing device and its control method.

ネットワークインタフェースを有する画像形成装置では、ファイルサーバ機能やメール送受信機能をユーザに対して提供することができる。一方で、画像形成装置がネットワークに接続されることにより、PCやサーバと同様に不正なハッキングによる装置の不正使用が発生することが考えられる。また、多様化しつづけるサイバー攻撃からすべての攻撃リスクを排除することが不可能になってきており、攻撃にあったとしても装置自身で攻撃される前の状態に復元させるサイバーレジリエンスという考え方が重要視されてきている。例えば、特許文献1には、複数CPUが存在するシステムにおいて、ファームウェアに異常が検知された場合に、正常なファームウェアと判断されたCPUを用いて、異常が検知されたファームウェアを復旧させることが提案されている。 An image forming apparatus having a network interface can provide users with a file server function and an e-mail transmission/reception function. On the other hand, when the image forming apparatus is connected to the network, it is conceivable that the apparatus may be used illegally through unauthorized hacking, similar to PCs and servers. In addition, it is becoming impossible to eliminate all attack risks from the ever-diversifying cyber-attacks, and the concept of cyber resilience, which restores the state before the attack by the device itself even if it is attacked, is important. It's been done. For example, Patent Literature 1 proposes that when an abnormality is detected in firmware in a system in which multiple CPUs exist, the CPU that is determined to be normal firmware is used to restore the firmware in which the abnormality is detected. It is

特開2014-179047号公報JP 2014-179047 A

しかしながら、上記従来技術には以下に記載する課題がある。上記従来技術によれば、複数CPUのファームウェアの復旧を実現するために、外部ストレージや、ネットワーク接続された外部装置に保存されている正常なファームウェアを用いて、ファームウェアの修復を行う。したがって、外部ストレージが接続されていない場合や、ネットワークが切断されてしまった場合などには、ファームウェアの復旧を行うことができない。そのため、リカバリ用の正常なファームウェアをROMなどの装置内部の記憶部に保持する方法が考えられる。しかし、CPUの数に応じて必要なROMの記憶内容の種類も多くなり、それに従ってコストも増大してしまうという課題があった。 However, the conventional technology described above has the following problems. According to the above conventional technology, in order to restore the firmware of multiple CPUs, normal firmware stored in an external storage or an external device connected to a network is used to restore the firmware. Therefore, if the external storage is not connected or if the network is disconnected, the firmware cannot be restored. Therefore, a method of holding normal firmware for recovery in a storage unit inside the device, such as a ROM, is conceivable. However, as the number of CPUs increases, so does the number of types of ROM memory contents that are required.

本発明は、上述の課題の少なくとも一つに鑑みて成されたものであり、複数のCPUを有する装置において、各CPUのプログラムについて異常が検知された際の自動復旧に利用するリカバリ用のデータを好適に装置内部に保持する仕組みを提供する。 The present invention has been made in view of at least one of the above-described problems, and in a device having a plurality of CPUs, recovery data used for automatic recovery when an abnormality is detected in the programs of each CPU. is preferably held inside the device.

本発明は、例えば、情報処理装置であって、第1記憶手段に記憶された第1プログラムを実行する第1制御手段と、第2記憶手段に記憶された第2プログラムを実行する第2制御手段と、第3記憶手段に記憶された第3プログラムを実行して、前記第1記憶手段に記憶された前記第1プログラムと、前記第2記憶手段に記憶された前記第2プログラムとの正当性を検証する第3制御手段とを備え、前記第3制御手段は、前記第1記憶手段に記憶された前記第1プログラムに異常が検知されると、前記第2記憶手段に予め記憶されているリカバリ用の第1プログラムを前記第1記憶手段に書き込み、前記第2記憶手段に記憶された前記第2プログラムに異常が検知されると、前記第1記憶手段に予め記憶されているリカバリ用の第2プログラムを前記第2記憶手段に書き込む自動復旧処理を実行することを特徴とする。 The present invention is, for example, an information processing apparatus comprising first control means for executing a first program stored in a first storage means and second control means for executing a second program stored in a second storage means. and executing a third program stored in a third storage means to validate the first program stored in the first storage means and the second program stored in the second storage means. and a third control means for verifying compatibility, wherein the third control means is stored in advance in the second storage means when an abnormality is detected in the first program stored in the first storage means. A first program for recovery stored in the first storage means is written into the first storage means, and when an abnormality is detected in the second program stored in the second storage means, the is characterized by executing an automatic restoration process of writing the second program in the second storage means.

また、本発明は、例えば、情報処理装置であって、第1記憶手段に記憶された第1プログラムを実行する第1制御手段と、第2記憶手段に記憶された第2プログラムを実行する第2制御手段と、第3記憶手段に記憶された第3プログラムを実行する第3制御手段と、第4記憶手段に記憶された第4プログラムを実行することにより、前記第1記憶手段に記憶された前記第1プログラムと、前記第2記憶手段に記憶された前記第2プログラムと、前記第3記憶手段に記憶された前記第3プログラムとの正当性を検証する第4制御手段と
を備え、前記第4制御手段は、前記第1記憶手段に記憶された前記第1プログラムに異常が検知されると、前記第2記憶手段に予め記憶されているリカバリ用の第1プログラムを前記第1記憶手段に書き込み、前記第2記憶手段に記憶された前記第2プログラムに異常が検知されると、前記第1記憶手段に予め記憶されているリカバリ用の第2プログラムを前記第2記憶手段に書き込み、前記第3記憶手段に記憶された前記第3プログラムに異常が検知されると、前記第4記憶手段に予め記憶されているリカバリ用の第3プログラムを前記第3記憶手段に書き込む自動復旧処理を実行し、前記第3記憶手段には、リカバリ用の第4プログラムが記憶されていることを特徴とする。
Further, the present invention provides, for example, an information processing apparatus comprising first control means for executing a first program stored in a first storage means and second control means for executing a second program stored in a second storage means. 2 control means, third control means for executing the third program stored in the third storage means, and execution of the fourth program stored in the fourth storage means, thereby storing in the first storage means a fourth control means for verifying the validity of the first program stored in the second storage means, the second program stored in the second storage means, and the third program stored in the third storage means; When an abnormality is detected in the first program stored in the first storage means, the fourth control means restores the first program for recovery previously stored in the second storage means to the first storage means. means, and when an abnormality is detected in the second program stored in the second storage means, the second program for recovery stored in advance in the first storage means is written in the second storage means. automatic recovery processing for writing a recovery third program stored in advance in said fourth storage means into said third storage means when an abnormality is detected in said third program stored in said third storage means; and a fourth program for recovery is stored in the third storage means.

本発明によれば、複数のCPUを有する装置において、各CPUのプログラムについて異常が検知された際の自動復旧に利用するリカバリ用のデータを好適に装置内部に保持することができ、コストを削減することができる。 According to the present invention, in an apparatus having a plurality of CPUs, recovery data used for automatic recovery when an abnormality is detected in the program of each CPU can be preferably held inside the apparatus, thereby reducing costs. can do.

一実施形態に係る画像形成装置のシステム構成を示す図。1 is a diagram showing the system configuration of an image forming apparatus according to one embodiment; FIG. 一実施形態に係る各ROMのメモリマップイメージ。A memory map image of each ROM according to one embodiment. 一実施形態に係るROMに対する接続バス構成を示す図。FIG. 4 is a diagram showing a connection bus configuration for a ROM according to one embodiment; 一実施形態に係るセキュアマイコンの動作フローを示すフローチャート。4 is a flowchart showing an operation flow of a secure microcomputer according to one embodiment; 一実施形態に係る各ROMのメモリマップイメージ。A memory map image of each ROM according to one embodiment. 一実施形態に係るROMに対する接続バス構成を示す図。FIG. 4 is a diagram showing a connection bus configuration for a ROM according to one embodiment; 一実施形態に係るセキュアマイコンの動作フローを示すフローチャート。4 is a flowchart showing an operation flow of a secure microcomputer according to one embodiment; 一実施形態に係るメインCPUの起動フローを示すフローチャート。4 is a flow chart showing a startup flow of a main CPU according to one embodiment; 一実施形態に係るプリンタCPUの起動フローを示すフローチャート。4 is a flow chart showing a startup flow of a printer CPU according to one embodiment; 一実施形態に係るスキャナCPUの起動フローを示すフローチャート。4 is a flow chart showing a startup flow of a scanner CPU according to one embodiment;

以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。 Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. In addition, the following embodiments do not limit the invention according to the scope of claims. Although multiple features are described in the embodiments, not all of these multiple features are essential to the invention, and multiple features may be combined arbitrarily. Furthermore, in the accompanying drawings, the same or similar configurations are denoted by the same reference numerals, and redundant description is omitted.

<第1の実施形態>
<情報処理装置の構成>
以下では、本発明の第1の実施形態について説明する。まず、図1を参照して、本実施形態における情報処理装置として画像形成装置10の構成例を説明する。
<First Embodiment>
<Configuration of information processing device>
A first embodiment of the present invention will be described below. First, a configuration example of an image forming apparatus 10 as an information processing apparatus according to the present embodiment will be described with reference to FIG.

画像形成装置10は複数のCPUを有し、プリント機能、スキャン機能、及びコピー機能などの複数の機能を提供する。画像形成装置10は、メインCPU101、RAM102、ネットワークI/F103、HDD104、セキュアマイコン106、セキュアマイコン用ROM107、メインCPU用ROM108、プリンタ画像処理部109、及び画像処理部110を備える。さらに、画像形成装置10は、スキャナ画像処理部111、プリンタ画像形成部112、プリンタCPU113、プリンタCPU用ROM114、スキャナ画像読取部115、スキャナCPU116、及びスキャナCPU用ROM117を備える。 The image forming apparatus 10 has multiple CPUs and provides multiple functions such as a print function, a scan function, and a copy function. The image forming apparatus 10 includes a main CPU 101 , RAM 102 , network I/F 103 , HDD 104 , secure microcomputer 106 , secure microcomputer ROM 107 , main CPU ROM 108 , printer image processing section 109 , and image processing section 110 . Further, the image forming apparatus 10 includes a scanner image processing section 111 , a printer image forming section 112 , a printer CPU 113 , a printer CPU ROM 114 , a scanner image reading section 115 , a scanner CPU 116 , and a scanner CPU ROM 117 .

メインCPU101は、メインCPU用ROM108に格納されているファームウェアや制御プログラム等に基づいて、画像形成装置10内部で行われる各種処理を統括的に制御する。RAM102は、メインCPU101が動作するためのシステムワークメモリであり、かつ画像データを一時的に格納するためのメモリでもある。このRAM102は、SRAM及びDRAMによって構成されてもよい。 The main CPU 101 comprehensively controls various processes performed inside the image forming apparatus 10 based on firmware, control programs, and the like stored in the main CPU ROM 108 . A RAM 102 is a system work memory for the operation of the main CPU 101 and also a memory for temporarily storing image data. This RAM 102 may be composed of SRAM and DRAM.

ネットワークI/F103は、LAN及びシステムバス105に接続され、ネットワークを介して情報の入出力を行い、画像形成装置とネットワークの通信を制御する。HDD104は、ハードディスクドライブであり、システムソフトウェアや画像データを格納することが可能となっている。システムバス105は、各モジュールを相互に接続して通信を行う。 A network I/F 103 is connected to the LAN and the system bus 105, inputs and outputs information via the network, and controls communication between the image forming apparatus and the network. The HDD 104 is a hard disk drive and can store system software and image data. A system bus 105 connects each module to perform communication.

セキュアマイコン106は、トラステッドブートの起点となるハードウェアデバイスである。セキュアマイコン106は、内部に鍵となるヒューズを備えており、その鍵を使用して、セキュアマイコン用ROM107内のセキュアマイコン用ファームウェアの正当性を検証した上で、起動する。またセキュアマイコン106では、メインCPU用ROM108に格納されているメインCPU用ファームウェアの正当性も検証しており、当該検証において異常が検知されない場合にのみメインCPU101のリセットを解除する。さらに、セキュアマイコン106は、後述するプリンタCPU用ROM114内に格納されているプリンタCPU用ファームウェアの正当性も検証する。セキュアマイコン106は、当該検証において異常が検知されない場合のみプリンタCPU113のリセットを解除する。本実施形態では、セキュアマイコン106がサイバー攻撃を受けないようにするために、メインCPU101やプリンタCPU113、スキャナCPU116から、セキュアマイコン106にアクセスできないようになっている。なお、本実施形態における正当性の検証は、格納されたファームウェアなどのデータに異常が無いかの検証である。これらの異常は、例えばサイバー攻撃等によって書き換えられたり(改ざん)或いは経年劣化等のデバイス異常によりデータが変化したりすることにより発生する。 The secure microcomputer 106 is a hardware device that serves as a starting point for trusted boot. The secure microcomputer 106 has a fuse as a key inside, and uses the key to verify the validity of the secure microcomputer firmware in the secure microcomputer ROM 107 before starting up. The secure microcomputer 106 also verifies the correctness of the main CPU firmware stored in the main CPU ROM 108, and cancels the reset of the main CPU 101 only when no abnormality is detected in the verification. Furthermore, the secure microcomputer 106 also verifies the validity of the printer CPU firmware stored in the printer CPU ROM 114, which will be described later. The secure microcomputer 106 cancels the reset of the printer CPU 113 only when no abnormality is detected in the verification. In this embodiment, the main CPU 101, the printer CPU 113, and the scanner CPU 116 cannot access the secure microcomputer 106 in order to protect the secure microcomputer 106 from cyber attacks. It should be noted that the verification of validity in this embodiment is verification of whether or not data such as stored firmware is abnormal. These abnormalities occur, for example, when data is rewritten (falsified) by a cyberattack or the like, or data is changed due to a device abnormality such as aged deterioration.

セキュアマイコン用ROM107には、セキュアマイコン106を起動させるためのファームウェアや制御プログラムが格納されている。セキュアマイコン用ROM107のメモリマップイメージについては図2を用いて後述する。セキュアマイコン用ROM107には、セキュアマイコン106のみがアクセスできる構成になっている。 The secure microcomputer ROM 107 stores firmware and control programs for activating the secure microcomputer 106 . A memory map image of the secure microcomputer ROM 107 will be described later with reference to FIG. Only the secure microcomputer 106 can access the secure microcomputer ROM 107 .

メインCPU用ROM108には、メインCPU101を起動させるファームウェアや制御プログラムが格納されている。メインCPU用ROM108のメモリマップイメージについては図2を用いて後述する。メインCPU用ROM108には、メインCPU101と、セキュアマイコン106とからアクセスできる構成になっており、接続バスの詳細については図3を用いて後述する。 The main CPU ROM 108 stores firmware and control programs for starting the main CPU 101 . A memory map image of the main CPU ROM 108 will be described later with reference to FIG. The main CPU ROM 108 is configured to be accessible from the main CPU 101 and the secure microcomputer 106, and details of the connection bus will be described later with reference to FIG.

プリンタ画像処理部109は、システムバス105を介して受信した画像データに対して、濃度変換などの画像処理を行うことで、最適なプリント画像データを生成する。画像処理部110は、RAM102に格納された画像データを読み出し、JPEG、JBIGなどの拡大又は縮小、及び色調整などの画像処理を行うことが可能である。画像処理部110が処理したデータはRAM102やHDD104に格納される。 The printer image processing unit 109 generates optimum print image data by performing image processing such as density conversion on the image data received via the system bus 105 . The image processing unit 110 can read image data stored in the RAM 102 and perform image processing such as enlargement or reduction such as JPEG or JBIG, and color adjustment. Data processed by the image processing unit 110 is stored in the RAM 102 and the HDD 104 .

スキャナ画像処理部111は、読み取られた原稿画像データに対して、解像度変換や、色味変換、スジ検出などの画像処理を行うことで、最適なスキャン画像データを生成する。プリンタ画像形成部112は、プリンタ画像処理部109から、プリンタ用システムバス118を介して送信されてきた画像データに基づき、印刷媒体に画像を形成する。 The scanner image processing unit 111 generates optimum scanned image data by performing image processing such as resolution conversion, color conversion, and streak detection on the read document image data. The printer image forming unit 112 forms an image on a print medium based on the image data transmitted from the printer image processing unit 109 via the printer system bus 118 .

プリンタCPU113は、プリンタCPU用ROM114に格納されているファームウェアや制御プログラム等に基づいて、プリンタ用システムバス118を介して接続されている各モジュールを制御する。プリンタCPU用ROM114は、プリンタCPU113を起動させるファームウェアや制御プログラムが格納されている。プリンタCPU用ROM114のメモリマップイメージは図2を用いて後述する。プリンタCPU用ROM114には、プリンタCPU113、セキュアマイコン106からアクセスできる構成になっており、接続バスの詳細については図3を用いて後述する。 The printer CPU 113 controls each module connected via the printer system bus 118 based on firmware, control programs, and the like stored in the printer CPU ROM 114 . The printer CPU ROM 114 stores firmware and control programs for starting the printer CPU 113 . A memory map image of the printer CPU ROM 114 will be described later with reference to FIG. The printer CPU ROM 114 is configured to be accessible from the printer CPU 113 and the secure microcomputer 106, and details of the connection bus will be described later with reference to FIG.

スキャナ画像読取部115は、原稿上の画像を読取ユニットにより、画像情報を電気信号へ変換し、さらに電気信号をR,G,B各色からなる輝度信号に変換して、スキャナ画像処理部111に送信する。スキャナCPU116は、スキャナCPU用ROM117に格納されているファームウェアや制御プログラム等に基づいて、スキャナ用システムバス119を介して接続されている各モジュールを制御する。スキャナCPU用ROM117は、スキャナCPU116を起動させるファームウェアや制御プログラムが格納されている。 The scanner image reading unit 115 converts the image information on the original document into an electric signal using a reading unit, further converts the electric signal into a luminance signal of each color of R, G, and B, and sends the signal to the scanner image processing unit 111 . Send. The scanner CPU 116 controls each module connected via the scanner system bus 119 based on firmware, control programs, and the like stored in the scanner CPU ROM 117 . The scanner CPU ROM 117 stores firmware and control programs for starting the scanner CPU 116 .

<メモリマップイメージ>
次に、図2を参照して、本実施形態に係る各ROMのメモリマップイメージについて説明する。以下では、本実施形態に係る複数のCPUの対応するファームウェアを格納したそれぞれのROMについて説明する。これらのROMには、他のCPUのリカバリ用のファームウェアも格納される。その際、1つのROMに複数のCPUのそれぞれのリカバリ用のファームウェアをまとめて格納するのではなく、以下で詳細に説明するように複数のROMに分散して格納する。さらには、記憶内容が同一のROMを設けることにより、ROMの記憶内容に関して種類を低減することができる。
<Memory map image>
Next, a memory map image of each ROM according to this embodiment will be described with reference to FIG. Below, each ROM storing the firmware corresponding to the plurality of CPUs according to the present embodiment will be described. These ROMs also store recovery firmware for other CPUs. In this case, recovery firmware for each of the plurality of CPUs is not collectively stored in one ROM, but is distributed and stored in a plurality of ROMs as described in detail below. Furthermore, by providing ROMs having the same storage contents, it is possible to reduce the types of ROM storage contents.

セキュアマイコン用ファームウェア201はセキュアマイコン用ROM107に格納されており、セキュアマイコン106が動作するためのファームウェアである。メインCPU用ファームウェア202はメインCPU用ROM108に格納されており、メインCPU101が動作するためのファームウェアである。プリンタCPU用ファームウェア205はプリンタCPU用ROM114に格納されており、プリンタCPU113が動作するためのファームウェアである。また、プリンタCPU用ROM114にはメインCPU用ファームウェア204も格納されており、メインCPU用ファームウェア202について異常が検知された場合に、ファームウェアの復旧を行うときに用いられる。一方、メインCPU用ROM108にはプリンタCPU用ファームウェア203も格納されており、プリンタCPU用ファームウェア205について異常が検知された場合に、ファームウェアの復旧を行うときに用いられる。 The secure microcomputer firmware 201 is stored in the secure microcomputer ROM 107 and is firmware for the secure microcomputer 106 to operate. The main CPU firmware 202 is stored in the main CPU ROM 108 and is firmware for the main CPU 101 to operate. The printer CPU firmware 205 is stored in the printer CPU ROM 114 and is firmware for the printer CPU 113 to operate. The printer CPU ROM 114 also stores the main CPU firmware 204, which is used to restore the firmware when an abnormality is detected in the main CPU firmware 202. FIG. On the other hand, the main CPU ROM 108 also stores the printer CPU firmware 203, which is used to restore the firmware when an abnormality is detected in the printer CPU firmware 205. FIG.

メインCPU用ROM108のメインCPU用ファームウェア202の格納領域はセキュアマイコン106により正当性の検証が行われる領域となっている。異常が検知された場合には、プリンタCPU用ROM114に格納されたリカバリ用のファームウェアであるメインCPU用ファームウェア204を用いて書き直しが行われる。また、プリンタCPU用ROM114のプリンタCPU用ファームウェア205の格納領域はセキュアマイコン106により正当性の検証が行われる領域となっており、異常が検知された場合には、プリンタCPU用ファームウェア203を用いて書き直しが行われる。このように、本実施形態によれば、各CPU用のROMに、対応するCPU用のファームウェアに加えて、他の1つのCPU用のファームウェアを格納する。例えば図2に示すように、セキュアマイコン用ROM107の他に偶数のROMが設けられる場合には、各ROMはそれらの偶数のROMのうち他の1つのCPUのリカバリ用のファームウェアを相互に格納する。つまり、本実施形態によれば、メインCPU用ROM108とプリンタCPU用ROM114との記憶内容が同一であり、ROMに記憶させる内容の種類を低減することができる。これにより、複数のROMに予めデータを記憶する際の製造コスト等を低減することができる。 The storage area of the main CPU firmware 202 in the main CPU ROM 108 is an area where the secure microcomputer 106 verifies the validity. When an abnormality is detected, rewriting is performed using the main CPU firmware 204 which is recovery firmware stored in the printer CPU ROM 114 . The storage area of the printer CPU firmware 205 in the printer CPU ROM 114 is an area where validity is verified by the secure microcomputer 106. When an abnormality is detected, the printer CPU firmware 203 is used to A rewrite is done. Thus, according to this embodiment, the ROM for each CPU stores firmware for one other CPU in addition to the firmware for the corresponding CPU. For example, as shown in FIG. 2, if even-numbered ROMs are provided in addition to the secure microcomputer ROM 107, each ROM mutually stores recovery firmware for the other one of the even-numbered ROMs. . In other words, according to the present embodiment, the main CPU ROM 108 and the printer CPU ROM 114 have the same stored contents, and the types of contents to be stored in the ROM can be reduced. As a result, it is possible to reduce manufacturing costs and the like when storing data in advance in a plurality of ROMs.

<各ROMに対する接続バス構成>
次に、図3を参照して、本実施形態における複数のROMに対する接続バス(信号線)構成について説明する。ここでは、信号線としてSPIバスを例にして説明するが、本発明はSPIバスに限定されるものではない。
<Connection bus configuration for each ROM>
Next, the connection bus (signal line) configuration for a plurality of ROMs in this embodiment will be described with reference to FIG. Here, an SPI bus is used as an example of signal lines, but the present invention is not limited to the SPI bus.

チップセレクト信号301はSPIのチップセレクト信号であり、セキュアマイコン用ROM107にアクセスするために使用される信号である。また、チップセレクト信号301は、セキュアマイコン106からのみ使用可能な信号であり、即ち、セキュアマイコン用ROM107はセキュアマイコン106のみからアクセス可能となっている。そのため、メインCPU101や、プリンタCPU113が、セキュアマイコン用ROM107にアクセス不可の構成になっている。クロック信号302はSPIのクロック信号であり、セキュアマイコン用ROM107にアクセスするために使用される信号であり、セキュアマイコン106が制御を行う。データバス信号303はSPIのデータバス信号であり、セキュアマイコン用ROM107にアクセスするために使用される信号であり、セキュアマイコン106が制御を行う。 A chip select signal 301 is an SPI chip select signal and is a signal used to access the secure microcomputer ROM 107 . Also, the chip select signal 301 is a signal that can be used only from the secure microcomputer 106 , that is, the secure microcomputer ROM 107 can be accessed only from the secure microcomputer 106 . Therefore, the main CPU 101 and the printer CPU 113 are configured to be inaccessible to the secure microcomputer ROM 107 . A clock signal 302 is an SPI clock signal, a signal used to access the secure microcomputer ROM 107, and is controlled by the secure microcomputer 106. FIG. A data bus signal 303 is an SPI data bus signal and is a signal used to access the ROM 107 for the secure microcomputer, and is controlled by the secure microcomputer 106 .

チップセレクト信号304はSPIのチップセレクト信号であり、メインCPU用ROM108にアクセスするために使用される信号である。チップセレクト信号304は、メインCPU101とセキュアマイコン106とのどちらからも使用可能な信号である。そのため、セキュアマイコン106がメインCPU用ROM108にアクセスする際には、セキュアマイコン106がチップセレクト信号304を制御する。また、メインCPU101がメインCPU用ROM108にアクセスする際には、メインCPU101がチップセレクト信号304を制御する。 A chip select signal 304 is an SPI chip select signal and is a signal used to access the main CPU ROM 108 . A chip select signal 304 is a signal that can be used by both the main CPU 101 and the secure microcomputer 106 . Therefore, when the secure microcomputer 106 accesses the main CPU ROM 108 , the secure microcomputer 106 controls the chip select signal 304 . Also, when the main CPU 101 accesses the main CPU ROM 108 , the main CPU 101 controls the chip select signal 304 .

チップセレクト信号305はSPIのチップセレクト信号であり、プリンタCPU用ROM114にアクセスするために使用される信号である。チップセレクト信号305は、プリンタCPU113と、セキュアマイコン106とのどちらからも使用可能な信号である。そのため、セキュアマイコン106がプリンタCPU用ROM114にアクセスする際には、セキュアマイコン106がチップセレクト信号305を制御する。また、プリンタCPU113がプリンタCPU用ROM114にアクセスする際には、プリンタCPU113がチップセレクト信号305を制御する。 A chip select signal 305 is an SPI chip select signal and is a signal used to access the printer CPU ROM 114 . A chip select signal 305 is a signal that can be used by both the printer CPU 113 and the secure microcomputer 106 . Therefore, when the secure microcomputer 106 accesses the printer CPU ROM 114 , the secure microcomputer 106 controls the chip select signal 305 . Further, when the printer CPU 113 accesses the printer CPU ROM 114 , the printer CPU 113 controls the chip select signal 305 .

クロック信号306はSPIのクロック信号であり、メインCPU用ROM108又はプリンタCPU用ROM114にアクセスするために使用する信号である。データバス信号307はSPIのデータバス信号であり、メインCPU用ROM108又はプリンタCPU用ROM114にアクセスするための信号である。クロック信号306と、データバス信号307とは、メインCPU101又はプリンタCPU113が動作するときに使用される。 A clock signal 306 is an SPI clock signal and is a signal used to access the main CPU ROM 108 or the printer CPU ROM 114 . A data bus signal 307 is an SPI data bus signal for accessing the main CPU ROM 108 or the printer CPU ROM 114 . Clock signal 306 and data bus signal 307 are used when main CPU 101 or printer CPU 113 operates.

リセット信号308は、セキュアマイコン106がメインCPU101のリセットを解除するための信号である。セキュアマイコン106は、メインCPU用ROM108内のメインCPU用ファームウェア202を検証し、問題がなかった場合に、リセット信号308をLowからHiに遷移させる。メインCPU101は、リセット信号308がHiになった(リセットが解除された)のを検知すると、メインCPU用ROM108からメインCPU用ファームウェア202を読み出し、起動処理を実行する。 A reset signal 308 is a signal for the secure microcomputer 106 to release the reset of the main CPU 101 . The secure microcomputer 106 verifies the main CPU firmware 202 in the main CPU ROM 108, and if there is no problem, changes the reset signal 308 from Low to Hi. When the main CPU 101 detects that the reset signal 308 has become Hi (reset has been released), it reads the main CPU firmware 202 from the main CPU ROM 108 and executes startup processing.

リセット信号309は、セキュアマイコン106がプリンタCPU113のリセットを解除するための信号である。セキュアマイコン106は、プリンタCPU用ROM114内のプリンタCPU用ファームウェア205を検証し、問題がなかった場合に、リセット信号309をLowからHiに遷移させる。プリンタCPU113は、リセット信号309がHiになった(リセットが解除された)のを検知すると、プリンタCPU用ROM114からプリンタCPU用ファームウェア205を読み出し、起動処理を実行する。 A reset signal 309 is a signal for the secure microcomputer 106 to cancel the reset of the printer CPU 113 . The secure microcomputer 106 verifies the printer CPU firmware 205 in the printer CPU ROM 114, and if there is no problem, changes the reset signal 309 from Low to Hi. When the printer CPU 113 detects that the reset signal 309 has become Hi (reset is released), it reads the printer CPU firmware 205 from the printer CPU ROM 114 and executes start processing.

<セキュアマイコンの動作フロー>
次に、図4を参照して、本実施形態におけるセキュアマイコン106の動作フローを説明する。
<Operation flow of secure microcomputer>
Next, the operation flow of the secure microcomputer 106 in this embodiment will be described with reference to FIG.

S401でセキュアマイコン106は、セキュアマイコン用ROM107からセキュアマイコン用ファームウェア201の読み出しを行う。続いて、S402でセキュアマイコン106は、セキュアマイコン用ファームウェア201によって起動処理を実行する。より詳細には、セキュアマイコン106はセキュアマイコン106内部にあるヒューズ設定されている鍵情報を用いて、セキュアマイコン用ファームウェア201の正当性を検証する。検証の結果、セキュアマイコン106は、問題がなければセキュアマイコン用ファームウェア201によって起動処理を実行する。 In S<b>401 , the secure microcomputer 106 reads the secure microcomputer firmware 201 from the secure microcomputer ROM 107 . Subsequently, in S<b>402 , the secure microcomputer 106 executes startup processing using the secure microcomputer firmware 201 . More specifically, the secure microcomputer 106 verifies the validity of the secure microcomputer firmware 201 using the fuse-set key information inside the secure microcomputer 106 . As a result of the verification, if there is no problem, the secure microcomputer 106 executes boot processing using the secure microcomputer firmware 201 .

S403でセキュアマイコン106は、メインCPU用ROM108内から、メインCPU用ファームウェア202の読み出しを行う。続いて、S404でセキュアマイコン106は、読み出したメインCPU用ファームウェア202の正当性の検証を行う。ここでは、S403で読み出したメインCPU用ファームウェア202がサイバー攻撃等によって書き換えられていないか(改ざんされていないか)或いは経年劣化等のデバイス異常によりデータが変化していないかの検証を行っている。つまり、検証対象のデータに異常が発生していないかの検証を行っている。以降の検証についても同様である。 In S<b>403 , the secure microcomputer 106 reads the main CPU firmware 202 from the main CPU ROM 108 . Subsequently, in S<b>404 , the secure microcomputer 106 verifies the legitimacy of the read main CPU firmware 202 . Here, it is verified whether the main CPU firmware 202 read in S403 has been rewritten (falsified) by a cyberattack or the like, or whether the data has changed due to an abnormality in the device such as deterioration over time. . In other words, it verifies whether or not an abnormality has occurred in the data to be verified. The same applies to subsequent verifications.

次に、S405でセキュアマイコン106は、メインCPU用ファームウェア202の正当性の検証結果に応じて判断を行う。即ち、異常が検知された場合S406に遷移し、異常が検知されなかった場合はS411に遷移する。S406でセキュアマイコン106は、メインCPU用ROM108内のメインCPU用ファームウェア202の復旧を行うために、プリンタCPU用ROM114内のメインCPU用ファームウェア204の読み出しを行う。続いて、S407でセキュアマイコン106は、読み出したメインCPU用ファームウェア204を用いて、メインCPU用ROM108内のメインCPU用ファームウェア202の領域の書き直しを行う。これにより、異常が検知されたメインCPU用ファームウェア202の復旧を行うことができる。 Next, in S<b>405 , the secure microcomputer 106 makes a determination according to the verification result of the validity of the main CPU firmware 202 . That is, when an abnormality is detected, the process proceeds to S406, and when no abnormality is detected, the process proceeds to S411. In step S<b>406 , the secure microcomputer 106 reads the main CPU firmware 204 in the printer CPU ROM 114 in order to restore the main CPU firmware 202 in the main CPU ROM 108 . Subsequently, in S<b>407 , the secure microcomputer 106 rewrites the area of the main CPU firmware 202 in the main CPU ROM 108 using the read main CPU firmware 204 . As a result, the main CPU firmware 202 in which an abnormality has been detected can be restored.

次に、S408でセキュアマイコン106は、メインCPU用ROM108内から、メインCPU用ファームウェア202の読み出しを行う。続いて、S409でセキュアマイコン106は、読み出したメインCPU用ファームウェア202の正当性の検証を行う。ここではS404と同様の検証が行われる。S410でセキュアマイコン106は、メインCPU用ファームウェア202の正当性の検証結果に応じて判断を行う。即ち、異常が検知された場合はそこで処理を停止し、本フローチャートを終了する。一方、異常が検知されなかった場合は、S411に遷移する。 Next, in S<b>408 , the secure microcomputer 106 reads the main CPU firmware 202 from the main CPU ROM 108 . Subsequently, in S409, the secure microcomputer 106 verifies the legitimacy of the read main CPU firmware 202. FIG. Here, the same verification as in S404 is performed. In S<b>410 , the secure microcomputer 106 makes a determination according to the verification result of the validity of the main CPU firmware 202 . That is, when an abnormality is detected, the process is stopped there, and this flowchart is terminated. On the other hand, if no abnormality is detected, the process proceeds to S411.

S411でセキュアマイコン106は、リセット信号308をLowからHiに遷移させ、メインCPU101のリセット解除を行う。これにより、CPU101が動作可能な状態になる。続いて、S412でセキュアマイコン106は、プリンタCPU用ROM114内から、プリンタCPU用ファームウェア205の読み出しを行う。S413でセキュアマイコン106は、読み出したプリンタCPU用ファームウェア205の正当性の検証を行う。ここではS404と同様の検証が行われる。 In S<b>411 , the secure microcomputer 106 causes the reset signal 308 to transition from Low to Hi to release the reset of the main CPU 101 . As a result, the CPU 101 becomes operable. Subsequently, in step S<b>412 , the secure microcomputer 106 reads out the printer CPU firmware 205 from the printer CPU ROM 114 . In step S<b>413 , the secure microcomputer 106 verifies the legitimacy of the read printer CPU firmware 205 . Here, the same verification as in S404 is performed.

次に、S414でセキュアマイコン106は、プリンタCPU用ファームウェア205の正当性の検証結果に応じて判断を行う。即ち、異常が検知された場合はS415に遷移し、異常が検知されなかった場合はS420に遷移する。S415でセキュアマイコン106は、プリンタCPU用ROM114内のプリンタCPU用ファームウェア205の復旧を行うために、メインCPU用ROM108内のプリンタCPU用ファームウェア203の読み出しを行う。続いて、S416でセキュアマイコン106は、読み出したプリンタCPU用ファームウェア203を用いて、プリンタCPU用ROM114内のプリンタCPU用ファームウェア205の領域の書き直しを行う。これにより、異常が検知されたプリンタCPU用ファームウェア205の復旧を行うことができる。 In step S<b>414 , the secure microcomputer 106 makes a determination according to the verification result of the validity of the printer CPU firmware 205 . That is, when an abnormality is detected, the process proceeds to S415, and when no abnormality is detected, the process proceeds to S420. In step S<b>415 , the secure microcomputer 106 reads the printer CPU firmware 203 in the main CPU ROM 108 in order to restore the printer CPU firmware 205 in the printer CPU ROM 114 . Subsequently, in step S<b>416 , the secure microcomputer 106 rewrites the area of the printer CPU firmware 205 in the printer CPU ROM 114 using the read printer CPU firmware 203 . As a result, it is possible to restore the printer CPU firmware 205 in which the abnormality has been detected.

S417でセキュアマイコン106は、プリンタCPU用ROM114内から、プリンタCPU用ファームウェア205の読み出しを行う。続いて、S418でセキュアマイコン106は、読み出したプリンタCPU用ファームウェア205の正当性の検証を行う。ここではS404と同様の検証が行われる。 In step S<b>417 , the secure microcomputer 106 reads the printer CPU firmware 205 from the printer CPU ROM 114 . Subsequently, in S418, the secure microcomputer 106 verifies the legitimacy of the read printer CPU firmware 205. FIG. Here, the same verification as in S404 is performed.

次に、S419でセキュアマイコン106は、プリンタCPU用ファームウェア205の正当性の検証結果に応じて判断を行う。即ち、異常が検知された場合そこで処理を停止し、本フローチャートを終了する。異常が検知されなかった場合は、S420に遷移する。S420でセキュアマイコン106は、リセット信号309をLowからHiに遷移させ、プリンタCPU113のリセット解除を行い、本フローチャートを終了する。これにより、プリンタCPU113が動作可能な状態になる。 In step S<b>419 , the secure microcomputer 106 makes a determination according to the verification result of the validity of the printer CPU firmware 205 . That is, when an abnormality is detected, the process is stopped and the flowchart is ended. If no abnormality is detected, the process transitions to S420. In S420, the secure microcomputer 106 transitions the reset signal 309 from Low to Hi, cancels the reset of the printer CPU 113, and ends this flowchart. As a result, the printer CPU 113 becomes operable.

以上説明したように、本実施形態に係る情報処理装置は、第1記憶部に記憶された第1プログラムを実行する第1制御部と、第2記憶部に記憶された第2プログラムを実行する第2制御部と、第3記憶部に記憶された第3プログラムを実行する第3制御部を備える。第3制御部(セキュアマイコン106)は、第1記憶部に記憶された第1プログラムと、第2記憶部に記憶された第2プログラムとの正当性を検証する。また、第3制御部は、第1記憶部に記憶された第1プログラムに異常が検知されると、第2記憶部に予め記憶されているリカバリ用の第1プログラムを第1記憶部に書き込む。また、第3制御部は、第2記憶部に記憶された第2プログラムに異常が検知されると、第1記憶部に予め記憶されているリカバリ用の第2プログラムを前記第2記憶部に書き込む。このように、各制御部が通常使用するROM内に相互に復旧に使用するファームウェアを格納しておくことで、ROMの記憶内容の種類を統一でき、コストを削減することが可能となっている。また、自動復旧する対象となるCPUが偶数個の場合には、本実施形態で説明してきたように、2つずつのCPUで相互にファームウェアを格納しておく構成にすることで、同様の効果が得られる。 As described above, the information processing apparatus according to the present embodiment includes the first control unit that executes the first program stored in the first storage unit, and the second program that is stored in the second storage unit. A second control unit and a third control unit that executes a third program stored in a third storage unit are provided. A third control unit (secure microcomputer 106) verifies the validity of the first program stored in the first storage unit and the second program stored in the second storage unit. Further, when an abnormality is detected in the first program stored in the first storage unit, the third control unit writes the first recovery program stored in advance in the second storage unit to the first storage unit. . Further, when an abnormality is detected in the second program stored in the second storage unit, the third control unit stores the second program for recovery stored in advance in the first storage unit in the second storage unit. Write. In this way, by storing the firmware used for mutual recovery in the ROM normally used by each control unit, the types of contents stored in the ROM can be unified, and the cost can be reduced. . Further, when the number of CPUs to be automatically restored is an even number, similar effects can be obtained by adopting a configuration in which two CPUs mutually store firmware as described in the present embodiment. is obtained.

<第2の実施形態>
以下では本発明の第2の実施形態について説明する。上記第1の実施形態では、自動復旧する対象となるCPUが偶数の場合について説明してきたが、本実施形態では、自動復旧する対象となるCPUが奇数の場合について、3つのCPUを正当性の検証と自動復旧との対象とする例を用いて説明する。
<Second embodiment>
A second embodiment of the present invention will be described below. In the above-described first embodiment, the case where the number of CPUs to be automatically restored has been described is an even number. A description will be given using an example targeted for verification and automatic recovery.

まず図1を参照して、本実施形態に係る画像形成装置10のシステム構成について説明する。ここでは、上記第1の実施形態と同様の構成や制御については説明を省略し、上記第1の実施形態との差分について主に説明する。 First, referring to FIG. 1, the system configuration of an image forming apparatus 10 according to this embodiment will be described. Here, descriptions of the same configurations and controls as in the first embodiment are omitted, and differences from the first embodiment are mainly described.

セキュアマイコン106は、トラステッドブートの起点となるハードウェアデバイスである。セキュアマイコン106は、内部に鍵となるヒューズを備えており、その鍵を使用して、セキュアマイコン用ROM107内のセキュアマイコン用ファームウェアの正当性検証を実施した上で、起動する。またセキュアマイコン106では、メインCPU用ROM108に格納されているメインCPU用ファームウェアの正当性の検証も行っており、検証において問題がないと判断した場合にのみメインCPU101のリセットを解除する。さらに、セキュアマイコン106は、プリンタCPU用ROM114内に格納されているプリンタCPU用ファームウェアの正当性の検証を行っており、検証において問題がないと判断した場合のみプリンタCPU113のリセットを解除する。加えて、セキュアマイコン106は、スキャナCPU用ROM117内に格納されているスキャナCPU用ファームウェアの正当性の検証を行っており、検証において問題がないと判断した場合のみスキャナCPU116のリセットを解除する。本実施形態では、セキュアマイコン106がサイバー攻撃を受けないようにするために、メインCPU101やプリンタCPU113、スキャナCPU116とは接続されておらず、セキュアマイコン106にアクセスできないようになっている。 The secure microcomputer 106 is a hardware device that serves as a starting point for trusted boot. The secure microcomputer 106 has a fuse serving as a key inside, and uses the key to verify the validity of the secure microcomputer firmware in the secure microcomputer ROM 107 before starting up. The secure microcomputer 106 also verifies the validity of the main CPU firmware stored in the main CPU ROM 108, and cancels the reset of the main CPU 101 only when it is determined that there is no problem in the verification. Furthermore, the secure microcomputer 106 verifies the validity of the printer CPU firmware stored in the printer CPU ROM 114, and cancels the reset of the printer CPU 113 only when it is determined that there is no problem in the verification. In addition, the secure microcomputer 106 verifies the validity of the scanner CPU firmware stored in the scanner CPU ROM 117, and cancels the reset of the scanner CPU 116 only when it is determined that there is no problem in the verification. In this embodiment, in order to protect the secure microcomputer 106 from cyberattacks, it is not connected to the main CPU 101, the printer CPU 113, and the scanner CPU 116, so that the secure microcomputer 106 cannot be accessed.

<メモリマップイメージ>
次に、図5を参照して、本実施形態における各ROMのメモリマップイメージについて説明する。以下では、本実施形態に係る複数のCPUの対応するファームウェアを格納したそれぞれのROMについて説明する。本実施形態におけるメモリマップイメージは、検証対象のROMが奇数(ここでは、3つ)の場合についてのものである。
<Memory map image>
Next, a memory map image of each ROM in this embodiment will be described with reference to FIG. Below, each ROM storing the firmware corresponding to the plurality of CPUs according to the present embodiment will be described. The memory map image in this embodiment is for the case where the number of ROMs to be verified is an odd number (here, three).

セキュアマイコン用ファームウェア501はセキュアマイコン用ROM107に格納されており、セキュアマイコン106が動作するためのファームウェアである。メインCPU用ファームウェア502はセキュアマイコン用ROM107に格納されており、メインCPU用ファームウェア504について異常が検知された場合に、ファームウェアの修復を行うときに用いられる。 The secure microcomputer firmware 501 is stored in the secure microcomputer ROM 107 and is firmware for the secure microcomputer 106 to operate. The main CPU firmware 502 is stored in the secure microcomputer ROM 107 and is used to restore the firmware when an abnormality is detected in the main CPU firmware 504 .

セキュアマイコン用ファームウェア503は、メインCPU用ROM108に格納されている。メインCPU用ファームウェア504は、メインCPU用ROM108に格納されており、メインCPU101が動作するためのファームウェアである。セキュアマイコン106により正当性の検証が行われる領域となっており、異常が検知された場合には、メインCPU用ファームウェア502を用いて書き直しが行われる。 The secure microcomputer firmware 503 is stored in the main CPU ROM 108 . The main CPU firmware 504 is stored in the main CPU ROM 108 and is firmware for the main CPU 101 to operate. This is an area where validity is verified by the secure microcomputer 106 , and when an abnormality is detected, rewriting is performed using the main CPU firmware 502 .

プリンタCPU用ファームウェア505はプリンタCPU用ROM114に格納されており、プリンタCPU113が動作するためのファームウェアである。セキュアマイコン106により正当性の検証が行われる領域となっており、異常が検知された場合には、プリンタCPU用ファームウェア507を用いて書き直しが行われる。スキャナCPU用ファームウェア506はプリンタCPU用ROM114に格納されており、スキャナCPU用ファームウェア508について異常が検知された場合に、ファームウェアの復旧を行うときに用いられる。 The printer CPU firmware 505 is stored in the printer CPU ROM 114 and is firmware for the printer CPU 113 to operate. This is an area where validity is verified by the secure microcomputer 106 , and when an abnormality is detected, rewriting is performed using the printer CPU firmware 507 . The scanner CPU firmware 506 is stored in the printer CPU ROM 114, and is used to restore the firmware when an abnormality is detected in the scanner CPU firmware 508. FIG.

プリンタCPU用ファームウェア507はスキャナCPU用ROM117に格納されており、プリンタCPU用ファームウェア505について異常が検知された場合に、ファームウェアの復旧を行うときに用いられる。スキャナCPU用ファームウェア508はスキャナCPU用ROM117に格納されており、スキャナCPU116が動作するためのファームウェアである。セキュアマイコン106により正当性の検証が行われる領域となっており、異常が検知された場合には、スキャナCPU用ファームウェア506を用いて書き直しが行われる。 The printer CPU firmware 507 is stored in the scanner CPU ROM 117 and is used to restore the firmware when an abnormality is detected in the printer CPU firmware 505 . The scanner CPU firmware 508 is stored in the scanner CPU ROM 117 and is firmware for the scanner CPU 116 to operate. This is an area where validity is verified by the secure microcomputer 106 , and when an abnormality is detected, rewriting is performed using the scanner CPU firmware 506 .

このように検証対象のROMが奇数である場合は、偶数である場合の上記第1の実施形態とは異なり、セキュアマイコン106が実行するセキュアマイコン用ファームウェア501を格納したセキュアマイコン用ROM107も利用する。具体的には、セキュアマイコン用ROM107に他のCPUで使用するファームウェアのリカバリ用のデータを格納し、当該他のCPUに対応するROMにセキュアマイコン用のファームウェアを格納する。このように構成することにより、図5に示すように、セキュアマイコン用ROM107とメインCPU用ROM108との記憶内容が同一となる。また、上記第1の実施形態と同様に、他の複数のCPUにおいて、例えばプリンタCPU用ROM114とスキャナCPU用ROM117との記憶内容が同一とする。これにより、セキュアマイコン以外のCPUが奇数、例えば3つ設けられる場合であっても、2種類の記憶内容のROMを設けるのみで自動復旧処理を実現することができ、製造コスト等を低減することができる。 When the number of ROMs to be verified is odd in this way, the secure microcomputer ROM 107 storing the secure microcomputer firmware 501 executed by the secure microcomputer 106 is also used, unlike the first embodiment in which the number of ROMs to be verified is even. . Specifically, the secure microcomputer ROM 107 stores data for recovery of firmware used in another CPU, and the ROM corresponding to the other CPU stores firmware for the secure microcomputer. With this configuration, as shown in FIG. 5, the contents stored in the secure microcomputer ROM 107 and the main CPU ROM 108 are the same. Further, as in the first embodiment, in other plural CPUs, for example, the stored contents of the printer CPU ROM 114 and the scanner CPU ROM 117 are assumed to be the same. As a result, even if an odd number of CPUs other than the secure microcomputer are provided, for example, three, the automatic recovery process can be realized only by providing ROMs with two types of storage contents, thereby reducing the manufacturing cost. can be done.

<各ROMに対する接続バス構成>
次に、図6を参照して、本実施形態におけるROMに対する接続バス(信号線)構成を説明する。ここでは、信号線としてSPIバスを例にして説明するが、本発明はSPIバスに限定されるものではない。
<Connection bus configuration for each ROM>
Next, the connection bus (signal line) configuration for the ROM in this embodiment will be described with reference to FIG. Here, an SPI bus is used as an example of signal lines, but the present invention is not limited to the SPI bus.

チップセレクト信号601はSPIのチップセレクト信号であり、セキュアマイコン用ROM107にアクセスするために使用する信号である。また、チップセレクト信号601は、セキュアマイコン106からのみ使用可能な信号であり、即ち、セキュアマイコン用ROM107はセキュアマイコン106のみからアクセス可能となっている。そのため、メインCPU101や、プリンタCPU113、スキャナCPU116が、セキュアマイコン用ROM107にアクセス不可の構成になっている。クロック信号602はSPIのクロック信号であり、セキュアマイコン用ROM107にアクセスするために使用される信号であり、セキュアマイコン106が制御を行う。データバス信号603はSPIのデータバス信号であり、セキュアマイコン用ROM107にアクセスするために使用される信号で、セキュアマイコン106が制御を行う。 A chip select signal 601 is an SPI chip select signal and is a signal used to access the secure microcomputer ROM 107 . Also, the chip select signal 601 is a signal that can be used only from the secure microcomputer 106 , that is, the secure microcomputer ROM 107 can be accessed only from the secure microcomputer 106 . Therefore, the main CPU 101, the printer CPU 113, and the scanner CPU 116 cannot access the ROM 107 for the secure microcomputer. A clock signal 602 is an SPI clock signal and is a signal used to access the secure microcomputer ROM 107 , and is controlled by the secure microcomputer 106 . A data bus signal 603 is an SPI data bus signal and is a signal used to access the ROM 107 for the secure microcomputer and is controlled by the secure microcomputer 106 .

チップセレクト信号604はSPIのチップセレクト信号であり、メインCPU用ROM108にアクセスするために使用される信号である。チップセレクト信号604はメインCPU101とセキュアマイコン106とのどちらからも使用可能な信号である。そのため、セキュアマイコン106がメインCPU用ROM108にアクセスする際には、セキュアマイコン106がチップセレクト信号604を制御する。また、メインCPU101がメインCPU用ROM108にアクセスする際には、メインCPU101がチップセレクト信号604を制御する。 A chip select signal 604 is an SPI chip select signal and is a signal used to access the main CPU ROM 108 . A chip select signal 604 is a signal that can be used by both the main CPU 101 and the secure microcomputer 106 . Therefore, when the secure microcomputer 106 accesses the main CPU ROM 108 , the secure microcomputer 106 controls the chip select signal 604 . Also, when the main CPU 101 accesses the main CPU ROM 108 , the main CPU 101 controls the chip select signal 604 .

チップセレクト信号605はSPIのチップセレクト信号であり、プリンタCPU用ROM114にアクセスするために使用される信号である。チップセレクト信号605は、プリンタCPU113とセキュアマイコン106とのどちらからも使用可能な信号である。そのため、セキュアマイコン106がプリンタCPU用ROM114にアクセスする際には、セキュアマイコン106がチップセレクト信号605を制御する。また、プリンタCPU113がプリンタCPU用ROM114にアクセスする際には、プリンタCPU113がチップセレクト信号605を制御する。 A chip select signal 605 is an SPI chip select signal and is a signal used to access the printer CPU ROM 114 . A chip select signal 605 is a signal that can be used by both the printer CPU 113 and the secure microcomputer 106 . Therefore, when the secure microcomputer 106 accesses the printer CPU ROM 114 , the secure microcomputer 106 controls the chip select signal 605 . Further, when the printer CPU 113 accesses the printer CPU ROM 114 , the printer CPU 113 controls the chip select signal 605 .

チップセレクト信号606はSPIのチップセレクト信号であり、スキャナCPU用ROM117にアクセスするために使用される信号である。チップセレクト信号606は、スキャナCPU116、セキュアマイコン106のどちらからも使用可能な信号である。そのため、セキュアマイコン106がスキャナCPU用ROM117にアクセスする際には、セキュアマイコン106がチップセレクト信号606を制御する。また、スキャナCPU116がスキャナCPU用ROM117にアクセスする際には、スキャナCPU116がチップセレクト信号606を制御する。 A chip select signal 606 is an SPI chip select signal and is a signal used to access the scanner CPU ROM 117 . A chip select signal 606 is a signal that can be used by both the scanner CPU 116 and the secure microcomputer 106 . Therefore, when the secure microcomputer 106 accesses the scanner CPU ROM 117 , the secure microcomputer 106 controls the chip select signal 606 . Further, when the scanner CPU 116 accesses the scanner CPU ROM 117 , the scanner CPU 116 controls the chip select signal 606 .

クロック信号607はSPIのクロック信号であり、メインCPU用ROM108、プリンタCPU用ROM114、又はスキャナCPU用ROM117にアクセスするために使用する信号である。データバス信号608は、SPIのデータバス信号であり、メインCPU用ROM108、プリンタCPU用ROM114、又はスキャナCPU用ROM117にアクセスするための信号である。クロック信号607及びデータバス信号608は、メインCPU101、プリンタCPU113、及びスキャナCPU116が動作するときに使用する。 A clock signal 607 is an SPI clock signal and is used to access the main CPU ROM 108, the printer CPU ROM 114, or the scanner CPU ROM 117. FIG. A data bus signal 608 is an SPI data bus signal for accessing the main CPU ROM 108, the printer CPU ROM 114, or the scanner CPU ROM 117. FIG. A clock signal 607 and a data bus signal 608 are used when the main CPU 101, printer CPU 113, and scanner CPU 116 operate.

リセット信号609は、セキュアマイコン106がメインCPU101のリセットを解除するための信号である。セキュアマイコン106は、メインCPU用ROM108内のメインCPU用ファームウェア504を検証し、問題がなかった場合に、リセット信号609をLowからHiに遷移させる。メインCPU101は、リセット信号609がHiになった(リセットが解除された)のを検知すると、メインCPU用ROM108からメインCPU用ファームウェア504を読み出し、起動処理を実行する。 A reset signal 609 is a signal for the secure microcomputer 106 to release the reset of the main CPU 101 . The secure microcomputer 106 verifies the main CPU firmware 504 in the main CPU ROM 108, and if there is no problem, changes the reset signal 609 from Low to Hi. When the main CPU 101 detects that the reset signal 609 has become Hi (reset has been released), it reads the main CPU firmware 504 from the main CPU ROM 108 and executes startup processing.

リセット信号610は、セキュアマイコン106がプリンタCPU113のリセットを解除するための信号である。セキュアマイコン106は、プリンタCPU用ROM114内のプリンタCPU用ファームウェア505を検証し、問題がなかった場合に、リセット信号610をLowからHiに遷移させる。プリンタCPU113は、リセット信号610がHiになった(リセットが解除された)のを検知すると、プリンタCPU用ROM114からプリンタCPU用ファームウェア505を読み出し、起動処理を実行する。 A reset signal 610 is a signal for the secure microcomputer 106 to cancel the reset of the printer CPU 113 . The secure microcomputer 106 verifies the printer CPU firmware 505 in the printer CPU ROM 114, and if there is no problem, changes the reset signal 610 from Low to Hi. When the printer CPU 113 detects that the reset signal 610 has become Hi (reset is released), the printer CPU firmware 505 is read out from the printer CPU ROM 114 and the startup process is executed.

リセット信号611は、セキュアマイコン106がスキャナCPU116のリセットを解除するための信号である。セキュアマイコン106は、スキャナCPU用ROM117内のスキャナCPU用ファームウェア508を検証し、問題がなかった場合に、リセット信号611をLowからHiに遷移させる。スキャナCPU116は、リセット信号611がHiになった(リセットが解除された)のを検知すると、スキャナCPU用ROM117からスキャナCPU用ファームウェア508を読み出し、起動処理を実行する。 A reset signal 611 is a signal for the secure microcomputer 106 to cancel the reset of the scanner CPU 116 . The secure microcomputer 106 verifies the scanner CPU firmware 508 in the scanner CPU ROM 117, and if there is no problem, changes the reset signal 611 from Low to Hi. When the scanner CPU 116 detects that the reset signal 611 has become Hi (reset is released), the scanner CPU firmware 508 is read out from the scanner CPU ROM 117, and startup processing is executed.

<セキュアマイコンの動作フロー>
次に、図7を参照して、本実施形態におけるセキュアマイコン106の動作フローを説明する。
<Operation flow of secure microcomputer>
Next, with reference to FIG. 7, the operation flow of the secure microcomputer 106 in this embodiment will be described.

S701でセキュアマイコン106は、セキュアマイコン用ROM107からセキュアマイコン用ファームウェア501の読み出しを行う。続いて、S702でセキュアマイコン106は、セキュアマイコン106内部にあるヒューズ設定されている鍵情報を用いて、セキュアマイコン用ファームウェア501の正当性を検証する。検証の結果、セキュアマイコン106は、問題がなければセキュアマイコン用ファームウェア501によって起動処理を実行する。 In S<b>701 , the secure microcomputer 106 reads the secure microcomputer firmware 501 from the secure microcomputer ROM 107 . Subsequently, in S702, the secure microcomputer 106 verifies the validity of the secure microcomputer firmware 501 using the fuse-set key information inside the secure microcomputer 106 . As a result of the verification, if there is no problem, the secure microcomputer 106 executes boot processing using the secure microcomputer firmware 501 .

次に、S703でセキュアマイコン106は、メインCPU101の正当性の検証、自動復旧を含めた起動プロセスを実行する。詳細については、図8を用いて説明する。続いて、S704でセキュアマイコン106は、プリンタCPU113の正当性の検証、自動復旧を含めた起動プロセスを実行する。詳細については、図9を用いて説明する。さらに、S705でセキュアマイコン106は、スキャナCPU116の正当性の検証、自動復旧を含めた起動プロセスを実行し、本フローチャートを終了する。詳細については、図10を用いて説明する。 Next, in S703, the secure microcomputer 106 verifies the legitimacy of the main CPU 101 and executes a startup process including automatic restoration. Details will be described with reference to FIG. Subsequently, in S704, the secure microcomputer 106 executes a startup process including verification of the validity of the printer CPU 113 and automatic recovery. Details will be described with reference to FIG. Further, in S705, the secure microcomputer 106 verifies the legitimacy of the scanner CPU 116, executes a startup process including automatic recovery, and ends this flowchart. Details will be described with reference to FIG.

<メインCPUの起動フロー>
次に、図8を参照して、本実施形態におけるセキュアマイコン106によるメインCPU101の起動フロー(S703)を説明する。
<Main CPU startup flow>
Next, the startup flow (S703) of the main CPU 101 by the secure microcomputer 106 in this embodiment will be described with reference to FIG.

S801でセキュアマイコン106は、メインCPU用ROM108内から、メインCPU用ファームウェア504の読み出しを行う。続いて、S802でセキュアマイコン106は、読み出したメインCPU用ファームウェア504の正当性の検証を行う。S801で読み出したメインCPU用ファームウェア504がサイバー攻撃等によって書き換えられていないか(改ざんされていないか)或いは経年劣化等のデバイス異常によりデータが変化していないかの検証を行っている。つまり、検証対象のデータに異常が発生していないかの検証を行っている。以降の検証についても同様である。 In S<b>801 , the secure microcomputer 106 reads the main CPU firmware 504 from the main CPU ROM 108 . Subsequently, in S<b>802 , the secure microcomputer 106 verifies the legitimacy of the read main CPU firmware 504 . It is verified whether the main CPU firmware 504 read out in S801 has been rewritten (falsified) by a cyber attack or the like, or whether the data has changed due to a device abnormality such as aged deterioration. In other words, it verifies whether or not an abnormality has occurred in the data to be verified. The same applies to subsequent verifications.

次に、S803でセキュアマイコン106は、メインCPU用ファームウェア504の正当性の検証結果に応じて判断を行う。即ち、異常が検知された場合はS804に遷移し、異常が検知されなかった場合はS809に遷移する。S804でセキュアマイコン106は、メインCPU用ROM108内のメインCPU用ファームウェア504の復旧を行うために、セキュアマイコン用ROM107内のメインCPU用ファームウェア502の読み出しを行う。続いて、S805でセキュアマイコン106は、読み出したメインCPU用ファームウェア502を用いて、メインCPU用ROM108内のメインCPU用ファームウェア504領域の書き直しを行う。これにより、異常が検知されたメインCPU用ファームウェア504の復旧を行うことができる。 Next, in S<b>803 , the secure microcomputer 106 makes a determination according to the verification result of the validity of the main CPU firmware 504 . That is, when an abnormality is detected, the process proceeds to S804, and when no abnormality is detected, the process proceeds to S809. In S<b>804 , the secure microcomputer 106 reads the main CPU firmware 502 in the secure microcomputer ROM 107 in order to restore the main CPU firmware 504 in the main CPU ROM 108 . Subsequently, in S<b>805 , the secure microcomputer 106 rewrites the area of the main CPU firmware 504 in the main CPU ROM 108 using the read main CPU firmware 502 . As a result, it is possible to restore the main CPU firmware 504 in which the abnormality has been detected.

次に、S806でセキュアマイコン106は、メインCPU用ROM108内から、メインCPU用ファームウェア504の読み出しを行う。続いて、S807でセキュアマイコン106は、読み出したメインCPU用ファームウェア504の正当性の検証を行う。ここではS802と同様の検証が行われる。 Next, in S<b>806 , the secure microcomputer 106 reads the main CPU firmware 504 from the main CPU ROM 108 . Subsequently, in S<b>807 , the secure microcomputer 106 verifies the legitimacy of the read main CPU firmware 504 . Here, the same verification as in S802 is performed.

次に、S808でセキュアマイコン106は、メインCPU用ファームウェア504の正当性の検証結果に応じて判断を行う。即ち、異常が検知された場合そこで処理を停止し、本フローチャートを終了する。一方、異常が検知されなかった場合は、S809に遷移する。S809でセキュアマイコン106は、リセット信号609LowからHiに遷移させ、メインCPU101のリセット解除を行い、本フローチャートを終了する。これにより、CPU101が動作可能な状態になる。 Next, in S<b>808 , the secure microcomputer 106 makes determination according to the verification result of the validity of the main CPU firmware 504 . That is, when an abnormality is detected, the process is stopped and the flowchart is ended. On the other hand, if no abnormality is detected, the process transitions to S809. In S809, the secure microcomputer 106 causes the reset signal 609 to transition from Low to Hi, cancel the reset of the main CPU 101, and end this flowchart. As a result, the CPU 101 becomes operable.

<プリンタCPUの起動フロー>
次に、図9を参照して、本実施形態におけるセキュアマイコン106によるプリンタCPU113の起動フロー(S704)を説明する。
<Printer CPU startup flow>
Next, the startup flow (S704) of the printer CPU 113 by the secure microcomputer 106 in this embodiment will be described with reference to FIG.

S901でセキュアマイコン106は、プリンタCPU用ROM114内から、プリンタCPU用ファームウェア505の読み出しを行う。続いて、S902でセキュアマイコン106は、読み出したプリンタCPU用ファームウェア505の正当性の検証を行う。S901で読み出したプリンタCPU用ファームウェア505がサイバー攻撃等によって書き換えられていないか(改ざんされていないか)或いは経年劣化等のデバイス異常によりデータが変化していないかの検証を行っている。つまり、検証対象のデータに異常が発生していないかの検証を行っている。以降の検証についても同様である。 In S<b>901 , the secure microcomputer 106 reads the printer CPU firmware 505 from the printer CPU ROM 114 . Subsequently, in S<b>902 , the secure microcomputer 106 verifies the legitimacy of the read printer CPU firmware 505 . It is verified whether the printer CPU firmware 505 read in S901 has been rewritten (falsified) by a cyber attack or the like, or whether the data has changed due to a device abnormality such as deterioration over time. In other words, it verifies whether or not an abnormality has occurred in the data to be verified. The same applies to subsequent verifications.

次に、S903でセキュアマイコン106は、プリンタCPU用ファームウェア505の正当性の検証結果に応じて判断を行う。即ち、異常が検知された場合はS904に遷移し、異常が検知されなかった場合はS909に遷移する。S904でセキュアマイコン106は、プリンタCPU用ROM114内のプリンタCPU用ファームウェア505の復旧を行うために、スキャナCPU用ROM117内のプリンタCPU用ファームウェア507の読み出しを行う。続いて、S905でセキュアマイコン106は、読み出したプリンタCPU用ファームウェア507を用いて、プリンタCPU用ROM114内のプリンタCPU用ファームウェア505領域の書き直しを行う。これにより、異常が検知されたプリンタCPU用ファームウェア505の復旧を行うことができる。 In step S<b>903 , the secure microcomputer 106 makes a determination according to the verification result of the validity of the printer CPU firmware 505 . That is, when an abnormality is detected, the process proceeds to S904, and when no abnormality is detected, the process proceeds to S909. In step S<b>904 , the secure microcomputer 106 reads the printer CPU firmware 507 in the scanner CPU ROM 117 in order to restore the printer CPU firmware 505 in the printer CPU ROM 114 . Subsequently, in step S<b>905 , the secure microcomputer 106 rewrites the area of the printer CPU firmware 505 in the printer CPU ROM 114 using the read printer CPU firmware 507 . As a result, it is possible to restore the printer CPU firmware 505 in which an abnormality has been detected.

次に、S906でセキュアマイコン106は、プリンタCPU用ROM114内から、プリンタCPU用ファームウェア505の読み出しを行う。続いて、S907でセキュアマイコン106は、読み出したプリンタCPU用ファームウェア505の正当性の検証を行う。ここではS902と同様の検証が行われる。 In step S<b>906 , the secure microcomputer 106 reads the printer CPU firmware 505 from the printer CPU ROM 114 . Subsequently, in S907, the secure microcomputer 106 verifies the legitimacy of the read printer CPU firmware 505. FIG. Here, the same verification as in S902 is performed.

次に、S908でセキュアマイコン106は、プリンタCPU用ファームウェア505の正当性の検証結果に応じて判断を行う。即ち、異常が検知された場合はそこで処理を停止し、本フローチャートを終了する。一方、異常が検知されなかった場合は、S909に遷移する。S909でセキュアマイコン106は、リセット信号610をLowからHiに遷移させ、プリンタCPU113のリセット解除を行い、本フローチャートを終了する。これにより、プリンタCPU113が動作可能な状態になる。 In step S<b>908 , the secure microcomputer 106 makes a determination according to the verification result of the validity of the printer CPU firmware 505 . That is, when an abnormality is detected, the process is stopped there, and this flowchart is ended. On the other hand, if no abnormality is detected, the process proceeds to S909. In S909, the secure microcomputer 106 transitions the reset signal 610 from Low to Hi, cancels the reset of the printer CPU 113, and ends this flowchart. As a result, the printer CPU 113 becomes operable.

<スキャナCPUの起動フロー>
次に、図10を参照して、本実施形態におけるセキュアマイコン106によるスキャナCPU116の起動フロー(S705)を説明する。
<Scanner CPU startup flow>
Next, referring to FIG. 10, the activation flow (S705) of the scanner CPU 116 by the secure microcomputer 106 in this embodiment will be described.

S1001でセキュアマイコン106は、スキャナCPU用ROM117内から、スキャナCPU用ファームウェア508の読み出しを行う。続いて、S1002でセキュアマイコン106は、読み出したスキャナCPU用ファームウェア508の正当性の検証を行う。S1001で読み出したスキャナCPU用ファームウェア508がサイバー攻撃等によって書き換えられていないか(改ざんされていないか)或いは経年劣化等のデバイス異常によりデータが変化していないかの検証を行っている。つまり、検証対象のデータに異常が発生していないかの検証を行っている。以降の検証についても同様である。 In S<b>1001 , the secure microcomputer 106 reads the scanner CPU firmware 508 from the scanner CPU ROM 117 . Subsequently, in S1002, the secure microcomputer 106 verifies the legitimacy of the read scanner CPU firmware 508. FIG. It is verified whether the scanner CPU firmware 508 read in S1001 has been rewritten (falsified) by a cyber attack or the like, or whether the data has changed due to a device abnormality such as aged deterioration. In other words, it verifies whether or not an abnormality has occurred in the data to be verified. The same applies to subsequent verifications.

次に、S1003でセキュアマイコン106は、スキャナCPU用ファームウェア508の正当性の検証結果に応じて判断を行う。即ち、異常が検知された場合はS1004に遷移し、異常が検知されなかった場合はS1009に遷移する。S1004でセキュアマイコン106は、スキャナCPU用ROM117内のスキャナCPU用ファームウェア508の復旧を行うために、プリンタCPU用ROM114内のスキャナCPU用ファームウェア506の読み出しを行う。続いて、S1005でセキュアマイコン106は、読み出したスキャナCPU用ファームウェア506を用いて、スキャナCPU用ROM117内のスキャナCPU用ファームウェア508領域の書き直しを行う。これにより、異常が検知されたスキャナCPU用ファームウェア508の復旧を行うことができる。 In step S<b>1003 , the secure microcomputer 106 makes determination according to the verification result of the validity of the scanner CPU firmware 508 . That is, when an abnormality is detected, the process proceeds to S1004, and when no abnormality is detected, the process proceeds to S1009. In step S<b>1004 , the secure microcomputer 106 reads the scanner CPU firmware 506 in the printer CPU ROM 114 in order to restore the scanner CPU firmware 508 in the scanner CPU ROM 117 . Subsequently, in step S<b>1005 , the secure microcomputer 106 rewrites the area of the scanner CPU firmware 508 in the scanner CPU ROM 117 using the read scanner CPU firmware 506 . As a result, the scanner CPU firmware 508 in which the abnormality has been detected can be restored.

次に、S1006でセキュアマイコン106は、スキャナCPU用ROM117内から、スキャナCPU用ファームウェア508の読み出しを行う。続いて、S1007でセキュアマイコン106は、読み出したスキャナCPU用ファームウェア508の正当性の検証を行う。ここではS1002と同様の検証が行われる。 In step S<b>1006 , the secure microcomputer 106 reads out the scanner CPU firmware 508 from the scanner CPU ROM 117 . Subsequently, in S<b>1007 , the secure microcomputer 106 verifies the legitimacy of the read scanner CPU firmware 508 . Here, the same verification as in S1002 is performed.

次に、S1008でセキュアマイコン106は、スキャナCPU用ファームウェア508の正当性の検証結果に応じて判断を行う。即ち、異常が検知された場合はそこで処理を停止し、本フローチャートを終了する。一方、異常が検知されなかった場合は、S1009に遷移する。S1009でセキュアマイコン106は、リセット信号611をLowからHiに遷移させ、スキャナCPU116のリセット解除を行い、本フローチャートを終了する。これにより、スキャナCPU116が動作可能な状態になる。 Next, in step S<b>1008 , the secure microcomputer 106 makes determination according to the verification result of the validity of the scanner CPU firmware 508 . That is, when an abnormality is detected, the process is stopped there, and this flowchart is ended. On the other hand, if no abnormality is detected, the process proceeds to S1009. In S1009, the secure microcomputer 106 causes the reset signal 611 to transition from Low to Hi, cancels the reset of the scanner CPU 116, and ends this flowchart. As a result, the scanner CPU 116 becomes operable.

以上説明したように、本実施形態に係る情報処理装置は、第1記憶部に記憶された第1プログラムを実行する第1制御部と、第2記憶部に記憶された第2プログラムを実行する第2制御部とを備える。さらに、情報処理装置は、第3記憶部に記憶された第3プログラムを実行する第3制御部と、第4記憶部に記憶された第4プログラムを実行する第4制御部とを備える。第4制御部(セキュアマイコン106)は、第1記憶部に記憶された第1プログラムと、第2記憶部に記憶された第2プログラムと、第3記憶部に記憶された第3プログラムとの正当性を検証する。また、第4制御部は、第1記憶部に記憶された第1プログラムに異常が検知されると、第2記憶部に予め記憶されているリカバリ用の第1プログラムを第1記憶部に書き込む。また、第4制御部は、第2記憶部に記憶された第2プログラムに異常が検知されると、第1記憶部に予め記憶されているリカバリ用の第2プログラムを第2記憶部に書き込む。また、第4制御部は、第3記憶部に記憶された第3プログラムに異常が検知されると、第4記憶部に予め記憶されているリカバリ用の第3プログラムを第3記憶部に書き込む。また、第3記憶部には、リカバリ用の第4プログラムが記憶されている。このように、セキュアマイコンとメインCPU101、プリンタCPU113及びスキャナCPU116がそれぞれ通常使用するROM内に相互に復旧に使用するファームウェアを格納しておくことで、ROMの記憶内容の種類を統一することができる。これにより、ROMの製造コスト等を削減することができる。また、自動復旧する対象となるCPUが奇数個の場合には、本実施形態で説明してきたように、1つのCPUのみセキュアマイコンと相互にファームウェアを格納する。そして、他のCPUは、2つずつのCPUで相互にファームウェアを格納しておく構成にすることで、同様の効果が得られる。 As described above, the information processing apparatus according to the present embodiment includes the first control unit that executes the first program stored in the first storage unit, and the second program that is stored in the second storage unit. and a second control unit. Further, the information processing apparatus includes a third control section that executes the third program stored in the third storage section, and a fourth control section that executes the fourth program stored in the fourth storage section. The fourth control unit (secure microcomputer 106) stores the first program stored in the first storage unit, the second program stored in the second storage unit, and the third program stored in the third storage unit. Verify legitimacy. Further, when an abnormality is detected in the first program stored in the first storage unit, the fourth control unit writes the first recovery program stored in advance in the second storage unit to the first storage unit. . Further, when an abnormality is detected in the second program stored in the second storage unit, the fourth control unit writes the second program for recovery stored in advance in the first storage unit to the second storage unit. . Further, when an abnormality is detected in the third program stored in the third storage unit, the fourth control unit writes the third recovery program stored in advance in the fourth storage unit to the third storage unit. . A fourth program for recovery is stored in the third storage unit. In this way, by storing the firmware used for mutual recovery in the ROM normally used by the secure microcomputer, the main CPU 101, the printer CPU 113, and the scanner CPU 116, the types of contents stored in the ROM can be unified. . As a result, it is possible to reduce the manufacturing cost of the ROM and the like. Further, when the number of CPUs to be automatically restored is an odd number, only one CPU stores firmware mutually with the secure microcomputer as described in the present embodiment. As for other CPUs, a similar effect can be obtained by configuring two CPUs each to mutually store firmware.

<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
<Other embodiments>
The present invention supplies a program that implements one or more functions of the above-described embodiments to a system or device via a network or a 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 processing to It can also be implemented by a circuit (for example, ASIC) that implements one or more functions.

発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。 The invention is not limited to the embodiments described above, and various modifications and variations are possible without departing from the spirit and scope of the invention. Accordingly, the claims are appended to make public the scope of the invention.

101:メインCPU、106:セキュアマイコン、107:セキュアマイコン用ROM、108:メインCPU用ROM、113:プリンタCPU、114:プリンタCPU用ROM 101: main CPU, 106: secure microcomputer, 107: secure microcomputer ROM, 108: main CPU ROM, 113: printer CPU, 114: printer CPU ROM

Claims (9)

情報処理装置であって、
第1記憶手段に記憶された第1プログラムを実行する第1制御手段と、
第2記憶手段に記憶された第2プログラムを実行する第2制御手段と、
第3記憶手段に記憶された第3プログラムを実行して、前記第1記憶手段に記憶された前記第1プログラムと、前記第2記憶手段に記憶された前記第2プログラムとの正当性を検証する第3制御手段と
を備え、
前記第3制御手段は、
前記第1記憶手段に記憶された前記第1プログラムに異常が検知されると、前記第2記憶手段に予め記憶されているリカバリ用の第1プログラムを前記第1記憶手段に書き込み、前記第2記憶手段に記憶された前記第2プログラムに異常が検知されると、前記第1記憶手段に予め記憶されているリカバリ用の第2プログラムを前記第2記憶手段に書き込む自動復旧処理を実行することを特徴とする情報処理装置。
An information processing device,
a first control means for executing a first program stored in a first storage means;
a second control means for executing a second program stored in a second storage means;
verifying the validity of the first program stored in the first storage means and the second program stored in the second storage means by executing the third program stored in the third storage means; and a third control means for
The third control means is
When an abnormality is detected in the first program stored in the first storage means, the first recovery program stored in advance in the second storage means is written into the first storage means, and the second program is stored in the second storage means. When an abnormality is detected in the second program stored in the storage means, automatic recovery processing is executed to write the second program for recovery stored in advance in the first storage means into the second storage means. An information processing device characterized by:
前記第3制御手段は、セキュアマイコンであり、前記第1制御手段及び前記第2制御手段と信号線を介して接続されていないことを特徴とする請求項1に記載の情報処理装置。 2. An information processing apparatus according to claim 1, wherein said third control means is a secure microcomputer and is not connected to said first control means and said second control means via a signal line. 前記第1記憶手段及び前記第2記憶手段に予め記憶された記憶内容は同じであることを特徴とする請求項1又は2に記載の情報処理装置。 3. The information processing apparatus according to claim 1, wherein the contents pre-stored in said first storage means and said second storage means are the same. 情報処理装置であって、
第1記憶手段に記憶された第1プログラムを実行する第1制御手段と、
第2記憶手段に記憶された第2プログラムを実行する第2制御手段と、
第3記憶手段に記憶された第3プログラムを実行する第3制御手段と、
第4記憶手段に記憶された第4プログラムを実行することにより、前記第1記憶手段に記憶された前記第1プログラムと、前記第2記憶手段に記憶された前記第2プログラムと、前記第3記憶手段に記憶された前記第3プログラムとの正当性を検証する第4制御手段と
を備え、
前記第4制御手段は、
前記第1記憶手段に記憶された前記第1プログラムに異常が検知されると、前記第2記憶手段に予め記憶されているリカバリ用の第1プログラムを前記第1記憶手段に書き込み、前記第2記憶手段に記憶された前記第2プログラムに異常が検知されると、前記第1記憶手段に予め記憶されているリカバリ用の第2プログラムを前記第2記憶手段に書き込み、前記第3記憶手段に記憶された前記第3プログラムに異常が検知されると、前記第4記憶手段に予め記憶されているリカバリ用の第3プログラムを前記第3記憶手段に書き込む自動復旧処理を実行し、
前記第3記憶手段には、リカバリ用の第4プログラムが記憶されていることを特徴とする情報処理装置。
An information processing device,
a first control means for executing a first program stored in a first storage means;
a second control means for executing a second program stored in a second storage means;
a third control means for executing a third program stored in a third storage means;
By executing the fourth program stored in the fourth storage means, the first program stored in the first storage means, the second program stored in the second storage means, and the third a fourth control means for verifying validity with the third program stored in the storage means;
The fourth control means is
When an abnormality is detected in the first program stored in the first storage means, the first recovery program stored in advance in the second storage means is written into the first storage means, and the second program is stored in the second storage means. When an abnormality is detected in the second program stored in the storage means, the second program for recovery pre-stored in the first storage means is written in the second storage means, and stored in the third storage means. When an abnormality is detected in the stored third program, an automatic recovery process is executed to write the third recovery program stored in advance in the fourth storage means into the third storage means,
The information processing apparatus, wherein the third storage means stores a fourth program for recovery.
前記第4制御手段は、セキュアマイコンであり、前記第1制御手段、前記第2制御手段、及び前記第3制御手段と信号線を介して接続されていないことを特徴とする請求項4に記載の情報処理装置。 5. The method according to claim 4, wherein said fourth control means is a secure microcomputer, and is not connected to said first control means, said second control means, and said third control means via signal lines. information processing equipment. 前記第4記憶手段は、前記第4制御手段からアクセス可能であり、前記第1制御手段、前記第2制御手段、及び前記第3制御手段からはアクセス不可であることを特徴とする請求項4又は5に記載の情報処理装置。 4. The fourth storage means is accessible from the fourth control means, and is inaccessible from the first control means, the second control means, and the third control means. 6. The information processing device according to 5. 前記第1記憶手段及び前記第2記憶手段に予め記憶された記憶内容は同じであり、前記第3記憶手段及び前記第4記憶手段に予め記憶された記憶内容は同じであることを特徴とする請求項4乃至6の何れか1項に記載の情報処理装置。 The storage contents pre-stored in the first storage means and the second storage means are the same, and the storage contents pre-stored in the third storage means and the fourth storage means are the same. The information processing apparatus according to any one of claims 4 to 6. 第1記憶手段に記憶された第1プログラムを実行する第1制御手段と、第2記憶手段に記憶された第2プログラムを実行する第2制御手段と、第3記憶手段に記憶された第3プログラムを実行する第3制御手段とを備える情報処理装置の制御方法であって、
前記第3制御手段が、前記第1記憶手段に記憶された前記第1プログラムと、前記第2記憶手段に記憶された前記第2プログラムとの正当性を検証する工程と、
前記第3制御手段が、前記第1記憶手段に記憶された前記第1プログラムに異常が検知されると、前記第2記憶手段に予め記憶されているリカバリ用の第1プログラムを前記第1記憶手段に書き込む工程と、
前記第3制御手段が、前記第2記憶手段に記憶された前記第2プログラムに異常が検知されると、前記第1記憶手段に予め記憶されているリカバリ用の第2プログラムを前記第2記憶手段に書き込む自動復旧処理を実行する工程と
を含むことを特徴とする情報処理装置の制御方法。
First control means for executing the first program stored in the first storage means; Second control means for executing the second program stored in the second storage means; A control method for an information processing device comprising third control means for executing a program,
a step in which the third control means verifies the validity of the first program stored in the first storage means and the second program stored in the second storage means;
When an abnormality is detected in the first program stored in the first storage means, the third control means restores the first program for recovery previously stored in the second storage means to the first storage means. a step of writing to a means;
When an abnormality is detected in the second program stored in the second storage means, the third control means restores the second program for recovery previously stored in the first storage means to the second storage means. and a step of executing automatic recovery processing for writing to means.
第1記憶手段に記憶された第1プログラムを実行する第1制御手段と、第2記憶手段に記憶された第2プログラムを実行する第2制御手段と、第3記憶手段に記憶された第3プログラムを実行する第3制御手段と、第4記憶手段に記憶された第4プログラムを実行する第4制御手段とを備える情報処理装置の制御方法であって、
前記第4制御手段が、前記第1記憶手段に記憶された前記第1プログラムと、前記第2記憶手段に記憶された前記第2プログラムと、前記第3記憶手段に記憶された前記第3プログラムとの正当性を検証する工程と、
前記第4制御手段が、前記第1記憶手段に記憶された前記第1プログラムに異常が検知されると、前記第2記憶手段に予め記憶されているリカバリ用の第1プログラムを前記第1記憶手段に書き込む工程と、
前記第4制御手段が、前記第2記憶手段に記憶された前記第2プログラムに異常が検知されると、前記第1記憶手段に予め記憶されているリカバリ用の第2プログラムを前記第2記憶手段に書き込む工程と、
前記第3記憶手段に記憶された前記第3プログラムに異常が検知されると、前記第4記憶手段に予め記憶されているリカバリ用の第3プログラムを前記第3記憶手段に書き込む工程と
を含み、
前記第3記憶手段には、リカバリ用の第4プログラムが記憶されていることを特徴とする情報処理装置の制御方法。
First control means for executing the first program stored in the first storage means; Second control means for executing the second program stored in the second storage means; A control method for an information processing apparatus comprising third control means for executing a program and fourth control means for executing a fourth program stored in a fourth storage means,
The fourth control means comprises the first program stored in the first storage means, the second program stored in the second storage means, and the third program stored in the third storage means. A step of verifying the correctness of
When an abnormality is detected in the first program stored in the first storage means, the fourth control means restores the first program for recovery previously stored in the second storage means to the first storage means. a step of writing to a means;
When an abnormality is detected in the second program stored in the second storage means, the fourth control means restores the second program for recovery previously stored in the first storage means to the second storage means. a step of writing to a means;
and writing a recovery third program stored in advance in the fourth storage means into the third storage means when an abnormality is detected in the third program stored in the third storage means. ,
A control method for an information processing apparatus, wherein a fourth program for recovery is stored in the third storage means.
JP2021139229A 2021-08-27 2021-08-27 Information processing unit and control method thereof Pending JP2023032874A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021139229A JP2023032874A (en) 2021-08-27 2021-08-27 Information processing unit and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021139229A JP2023032874A (en) 2021-08-27 2021-08-27 Information processing unit and control method thereof

Publications (1)

Publication Number Publication Date
JP2023032874A true JP2023032874A (en) 2023-03-09

Family

ID=85416709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021139229A Pending JP2023032874A (en) 2021-08-27 2021-08-27 Information processing unit and control method thereof

Country Status (1)

Country Link
JP (1) JP2023032874A (en)

Similar Documents

Publication Publication Date Title
US10225426B2 (en) Image forming apparatus having firmware update function, method of controlling the same, program for executing the method, and storage medium
JP4769608B2 (en) Information processing apparatus having start verification function
JP7065578B2 (en) Information processing equipment, its control method, and programs
CN109684849A (en) Information processing unit, its control method and storage medium
JP5346608B2 (en) Information processing apparatus and file verification system
EP3076324B1 (en) Information processing apparatus and method of controlling the apparatus
US7594274B2 (en) Method of authenticating an application for personal digital assistant using a unique ID based on a personal computer and system using thereof
EP3678025B1 (en) Computer code integrity checking
US20080198411A1 (en) Image forming apparatus and activating method thereof
US11609997B2 (en) Autonomous driving system with dual secure boot
JP2020160747A (en) Information processing device, control method therefor, and program
JP2020177539A (en) Information processing device and control method thereof
JP2023129643A (en) Information processing apparatus, information processing method, and program
JP2020057040A (en) Information processing device, control method therefor, and program
JP2023032874A (en) Information processing unit and control method thereof
JP7139926B2 (en) Electronic device, anomaly detection method and program
JP2022182837A (en) Information processing apparatus and control method thereof
JP7011697B1 (en) Information processing equipment and information processing method
US11423139B2 (en) Information processing apparatus, information processing method, and storage medium for preventing unauthorized rewriting of a module
US20220253521A1 (en) Image forming apparatus capable of executing application programs, control method therefor, and storage medium
JP2023167086A (en) Information processing apparatus and control method of information processing apparatus
CN115114609A (en) Information processing apparatus, program verification method, storage medium, and image processing apparatus
US20230237161A1 (en) Detection of and protection against cross-site scripting vulnerabilities in web application code
JP2023124088A (en) Information processor and control method thereof
JP2022182838A (en) Information processing device and control method thereof