JP2020067904A - Information processing apparatus and method of controlling the same, and program - Google Patents

Information processing apparatus and method of controlling the same, and program Download PDF

Info

Publication number
JP2020067904A
JP2020067904A JP2018201157A JP2018201157A JP2020067904A JP 2020067904 A JP2020067904 A JP 2020067904A JP 2018201157 A JP2018201157 A JP 2018201157A JP 2018201157 A JP2018201157 A JP 2018201157A JP 2020067904 A JP2020067904 A JP 2020067904A
Authority
JP
Japan
Prior art keywords
control means
signal line
connection
information processing
control unit
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
JP2018201157A
Other languages
Japanese (ja)
Inventor
大史 山水
Hiroshi Yamamizu
大史 山水
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 JP2018201157A priority Critical patent/JP2020067904A/en
Publication of JP2020067904A publication Critical patent/JP2020067904A/en
Pending legal-status Critical Current

Links

Images

Abstract

To provide a technology that appropriately controls an access to a storage unit that stores a program subjected to an inspection performed at the start-up of the apparatus.SOLUTION: At the start-up of an image forming apparatus, a microcomputer 321 of a controller 11 accesses a start-up ROM 303 (storage unit) and performs an inspection as to whether a program stored in the start-up ROM 303 is tampered. When determining that the program is not tampered through the inspection, the microcomputer 321 notifies a connection control unit 322 of an inspection result indicating that the program stored in the start-up ROM 303 is not tampered. In response to the notification of the inspection result from the microcomputer 321, the connection control unit 322 switches a connection destination of a signal line for an access to the start-up ROM 303 from the microcomputer 321 to a CPU 301 so as to allow an access to the start-up ROM 303 from the CPU 301.SELECTED DRAWING: Figure 2

Description

本発明は、情報処理装置及びその制御方法、並びにプログラムに関するものである。   The present invention relates to an information processing device, a control method thereof, and a program.

近年、印刷装置や複合機(MFP)等の画像形成装置は、ネットワークを介してファイルサーバ機能やメール送受信機能をユーザに対して提供している。画像形成装置がネットワークに接続されることにより、PC及びサーバ装置と同様に、不正なハッキングによる装置の不正使用が行われることがありうる。   2. Description of the Related Art In recent years, image forming apparatuses such as printing apparatuses and multifunction peripherals (MFPs) have provided users with a file server function and a mail transmission / reception function via a network. When the image forming apparatus is connected to the network, the apparatus may be illegally used due to illegal hacking, like the PC and the server apparatus.

特許文献1には、画像形成装置において不正なハッキングによる装置の不正使用を防ぐために、装置の起動時にソフトウェアが改竄されていないかを検証する技術が開示されている。ソフトウェアの改竄の検証は、ソフトウェアのハッシュ値を計算し、マスターとなるハッシュ値と比較し、その比較結果に基づいて行われている。また、ソフトウェアの改竄が検知された場合、改竄されたソフトウェア及びそのソフトウェアを使用する他のソフトウェアを使用できなくしている。   Japanese Unexamined Patent Application Publication No. 2004-242242 discloses a technique for verifying whether or not the software has been tampered with at the time of booting the device in order to prevent unauthorized use of the device due to unauthorized hacking in the image forming device. Verification of software tampering is performed by calculating a hash value of software, comparing the hash value with a master hash value, and based on the comparison result. Further, when the tampering of the software is detected, the tampered software and other software that uses the software cannot be used.

特開2009−301429号公報JP, 2009-301429, A

上述のように、画像形成装置等の情報処理装置の起動時にROM等の記憶装置に格納されているソフトウェア(プログラム)の改竄の有無を検証するために、メインCPUとは異なるCPUを含むマイコンが用いられることがある。このような場合、記憶装置に格納されているプログラムの検証の完了前にメインCPUが当該プログラムを実行することがないように、記憶装置へのアクセスを適切に制御できる必要がある。   As described above, in order to verify whether or not the software (program) stored in the storage device such as the ROM has been tampered with when the information processing device such as the image forming device is activated, a microcomputer including a CPU different from the main CPU is used. May be used. In such a case, it is necessary to appropriately control access to the storage device so that the main CPU does not execute the program before the verification of the program stored in the storage device is completed.

本発明は、上述の課題に鑑みてなされたものである。本発明は、装置の起動時に行われる検証の対象となるプログラムが格納されている記憶装置へのアクセスを適切に制御する技術を提供することを目的とする。   The present invention has been made in view of the above problems. It is an object of the present invention to provide a technique for appropriately controlling access to a storage device that stores a program to be verified when the device is activated.

本発明の一態様に係る情報処理装置は、第1制御手段と、前記第1制御手段によって実行されるプログラムが格納された記憶手段と、前記情報処理装置の起動時に、前記記憶手段にアクセスして前記プログラムが改竄されているか否かの検証を行う第2制御手段と、前記第1制御手段及び前記第2制御手段のそれぞれから前記記憶手段へのアクセス用の信号線の接続を制御する接続制御手段であって、前記記憶手段に格納されている前記プログラムが改竄されていないことを示す検証結果が前記第2制御手段から通知されたことに従って、前記第1制御手段から前記記憶手段へのアクセスが可能になるよう、前記信号線の接続先を前記第2制御手段から前記第1制御手段に切り替える、前記接続制御手段と、を備えることを特徴とする。   An information processing apparatus according to an aspect of the present invention is configured to access a first control unit, a storage unit that stores a program executed by the first control unit, and access the storage unit when the information processing apparatus is activated. Second control means for verifying whether the program has been tampered with, and a connection for controlling connection of a signal line for access from each of the first control means and the second control means to the storage means. In response to notification from the second control means of a verification result indicating that the program stored in the storage means has not been tampered with, the first control means transfers to the storage means. The connection control means for switching the connection destination of the signal line from the second control means to the first control means so as to be accessible.

本発明によれば、装置の起動時に行われる検証の対象となるプログラムが格納されている記憶装置へのアクセスを適切に制御することが可能になる。   According to the present invention, it is possible to appropriately control access to a storage device that stores a program to be verified when the device is started up.

システム構成例を示すブロック図。FIG. 3 is a block diagram showing a system configuration example. 画像形成装置のコントローラの構成例を示すブロック図。FIG. 3 is a block diagram showing a configuration example of a controller of the image forming apparatus. 起動用ROMに対する接続の構成例を示すブロック図。FIG. 3 is a block diagram showing a configuration example of connection to a boot ROM. マイコンによる処理の手順を示すフローチャート。The flowchart which shows the procedure of a process by a microcomputer. 第1実施形態に係る接続制御部による処理の手順を示すフローチャート。6 is a flowchart showing a procedure of processing by the connection control unit according to the first embodiment. 第2実施形態に係る接続制御部による処理の手順を示すフローチャート。6 is a flowchart showing a procedure of processing by a connection control unit according to the second embodiment. 第3実施形態に係る接続制御部による処理の手順を示すフローチャート。The flowchart which shows the procedure of the process by the connection control part which concerns on 3rd Embodiment. 第4実施形態に係る接続制御部による処理の手順を示すフローチャート。The flowchart which shows the procedure of the process by the connection control part which concerns on 4th Embodiment. 第5実施形態に係る接続制御部による処理の手順を示すフローチャート。The flowchart which shows the procedure of the process by the connection control part which concerns on 5th Embodiment.

以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。   Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. Note that the following embodiments do not limit the invention according to the claims, and all combinations of the features described in the embodiments are not necessarily essential to the means for solving the invention.

[第1実施形態]
<画像形成装置>
図1は、本実施形態に係る画像形成装置を含むシステムの構成例を示すブロック図である。本実施形態は、情報処理装置の一例として、画像形成を行う画像形成装置に本発明を適用した例について説明する。なお、本発明は、情報処理装置であれば適用可能であり、例えば、印刷装置、読取装置、複写機、及びファクシミリ装置等の情報処理装置にも適用可能である。
[First Embodiment]
<Image forming device>
FIG. 1 is a block diagram showing a configuration example of a system including an image forming apparatus according to this embodiment. In the present embodiment, an example in which the present invention is applied to an image forming apparatus that forms an image will be described as an example of an information processing apparatus. The present invention can be applied to any information processing apparatus, for example, an information processing apparatus such as a printing apparatus, a reading apparatus, a copying machine, and a facsimile apparatus.

図1のシステムでは、画像形成装置10,20,30及びホストコンピュータ(PC)40,50が、LAN60を介して互いに通信可能に接続されている。なお、任意の数のPC及び任意の数の画像形成装置を、LAN60に接続可能である。また、画像形成装置10,20,30及びPC40,50は、LAN以外のネットワーク(例えば、WANやインターネット等)を介して互いに通信可能に接続されてもよい。   In the system of FIG. 1, the image forming apparatuses 10, 20, 30 and host computers (PCs) 40, 50 are communicably connected to each other via a LAN 60. It should be noted that any number of PCs and any number of image forming apparatuses can be connected to the LAN 60. Further, the image forming apparatuses 10, 20, 30 and the PCs 40, 50 may be communicatively connected to each other via a network other than LAN (for example, WAN, Internet, etc.).

PC40,50は、LAN60を介して画像形成装置10,20,30と通信可能である。例えば、PC40,50は、各画像形成装置に対して印刷ジョブ(印刷データ)を送信可能である。また、PC40,50は、各画像形成装置の状態を示す情報を取得可能である。   The PCs 40 and 50 can communicate with the image forming apparatuses 10, 20, and 30 via the LAN 60. For example, the PCs 40 and 50 can send a print job (print data) to each image forming apparatus. The PCs 40 and 50 can also acquire information indicating the state of each image forming apparatus.

画像形成装置10,20,30は、画像形成(プリント)機能を有する装置であり、同じ構成を有していても異なる構成を有していてもよい。また、画像形成装置10,20,30は、スキャン機能やファクシミリ(FAX)送信機能等の、更なる機能を有していてもよい。本実施形態では、プリント機能及びスキャン機能を有する画像形成装置10について説明する。   The image forming apparatuses 10, 20, and 30 are apparatuses having an image forming (printing) function, and may have the same configuration or different configurations. Further, the image forming apparatuses 10, 20, 30 may have additional functions such as a scan function and a facsimile (FAX) transmission function. In this embodiment, an image forming apparatus 10 having a print function and a scan function will be described.

画像形成装置10は、制御部(コントローラ)11、操作部12、スキャナ部13及びプリンタ部14を備えている。コントローラ11は、画像形成装置10全体の動作を制御する。スキャナ部13は、画像入力デバイスであり、プリンタ部14は、画像出力デバイスである。操作部12は、ユーザインタフェース(UI)として機能する。   The image forming apparatus 10 includes a control unit (controller) 11, an operation unit 12, a scanner unit 13, and a printer unit 14. The controller 11 controls the operation of the entire image forming apparatus 10. The scanner unit 13 is an image input device, and the printer unit 14 is an image output device. The operation unit 12 functions as a user interface (UI).

スキャナ部13は、原稿の画像を光学的に読み取って当該画像に対応する画像データを生成し、生成した画像データをコントローラ11へ出力する。プリンタ部14は、コントローラ11から入力された画像データに基づいて、シートに画像を形成する。なお、スキャナ部13は、原稿トレイから読み取り位置へ原稿を1枚ずつ搬送する自動原稿送り装置(ADF)を備えていてもよい。   The scanner unit 13 optically reads an image of a document, generates image data corresponding to the image, and outputs the generated image data to the controller 11. The printer unit 14 forms an image on a sheet based on the image data input from the controller 11. The scanner unit 13 may include an automatic document feeder (ADF) that conveys documents one by one from the document tray to the reading position.

プリンタ部14は、コントローラ11から受信した画像データに基づいて、シート等の記録媒体に画像を形成(印刷)する。プリンタ部14の画像形成方式は、例えば、電子写真方式であってもよいしインクジェット方式であってもよい。   The printer unit 14 forms (prints) an image on a recording medium such as a sheet based on the image data received from the controller 11. The image forming method of the printer unit 14 may be, for example, an electrophotographic method or an inkjet method.

<コントローラ>
図2は、画像形成装置10のコントローラ11の構成例を示すブロック図である。コントローラ11は、操作部12、スキャナ部13及びプリンタ部14と電気的に接続されている。また、コントローラ11は、LAN60等のネットワークを介してPC40,50等の外部装置と通信可能に接続されている。このような接続により、画像形成装置10は、画像データ及びデバイス情報の入出力が可能に構成されている。
<Controller>
FIG. 2 is a block diagram showing a configuration example of the controller 11 of the image forming apparatus 10. The controller 11 is electrically connected to the operation unit 12, the scanner unit 13, and the printer unit 14. Further, the controller 11 is communicatively connected to external devices such as the PCs 40 and 50 via a network such as the LAN 60. With such a connection, the image forming apparatus 10 is configured to be able to input and output image data and device information.

コントローラ11は、CPU301、RAM302、起動用ROM(ブートROM)303、HDD(ハードディスクドライブ)304、操作部I/F(インタフェース)305、及びLANコントローラ306を備える。コントローラ11は、画像バス308に接続されたデバイスとして、画像処理部309、スキャナ画像処理部310、及びプリンタ画像処理部312を備える。スキャナ画像処理部310は、スキャナI/F311を介してスキャナ部13と接続され、プリンタ画像処理部312は、スキャナI/F313を介してプリンタ部14と接続される。画像バス308は、画像データをやりとりするための伝送路であり、例えばPCIバス又はIEEE1394バスで構成される。   The controller 11 includes a CPU 301, a RAM 302, a boot ROM (boot ROM) 303, a HDD (hard disk drive) 304, an operation unit I / F (interface) 305, and a LAN controller 306. The controller 11 includes an image processing unit 309, a scanner image processing unit 310, and a printer image processing unit 312 as devices connected to the image bus 308. The scanner image processing unit 310 is connected to the scanner unit 13 via the scanner I / F 311, and the printer image processing unit 312 is connected to the printer unit 14 via the scanner I / F 313. The image bus 308 is a transmission path for exchanging image data, and is composed of, for example, a PCI bus or an IEEE 1394 bus.

CPU301は、起動用ROM303又はHDD304に格納されたプログラムを読み出して実行することにより、各種デバイスへのアクセスを制御するとともに、コントローラ11内部で行われる各種処理を制御する。RAM302は、CPU301が動作するためのシステムワークメモリ、及び画像データを一時記憶するためのメモリとして機能する。RAM302は、電源オフ後も記憶内容が保持されるSRAM、及び電源オフにより記憶内容が消去されるDRAMにより構成されている。   The CPU 301 reads out and executes a program stored in the boot ROM 303 or the HDD 304 to control access to various devices and various processes performed inside the controller 11. The RAM 302 functions as a system work memory for the CPU 301 to operate and a memory for temporarily storing image data. The RAM 302 is composed of an SRAM that retains stored contents even after the power is turned off, and a DRAM that erases the stored contents when the power is turned off.

起動用ROM303には、画像形成装置10のブートプログラム(起動プログラム)等の、CPU301によって実行されるプログラムが格納されている。起動用ROM303は、画像形成装置10の起動時にのみ使用される。CPU301は、画像形成装置10の起動時に、起動用ROM303に格納されたプログラムを使用した処理を行い、画像形成装置10の起動後には、HDD304に格納されたプログラムを使用した処理に移行する。HDD304には、システムソフトウェア等の各種プログラム、及び、画像データの各種データを格納できる。   The boot ROM 303 stores a program executed by the CPU 301, such as a boot program (boot program) for the image forming apparatus 10. The boot ROM 303 is used only when the image forming apparatus 10 is booted. The CPU 301 performs processing using a program stored in the boot ROM 303 when the image forming apparatus 10 is activated, and after activation of the image forming apparatus 10, shifts to processing using a program stored in the HDD 304. The HDD 304 can store various programs such as system software and various data of image data.

コントローラ11は、更に、マイコン321及び接続制御部322を備える。本実施形態では、起動用ROM303は、SPI(Serial Peripheral Interface)に対応したインタフェースを介してCPU301及びマイコン321と接続される。接続制御部322は、CPU301及びマイコン321のそれぞれから起動用ROM303へのアクセス用の信号線(図3の信号線401,411,412)の接続を制御する。   The controller 11 further includes a microcomputer 321 and a connection controller 322. In the present embodiment, the boot ROM 303 is connected to the CPU 301 and the microcomputer 321 via an interface compatible with SPI (Serial Peripheral Interface). The connection control unit 322 controls connection of signal lines (signal lines 401, 411, and 412 in FIG. 3) for access from the CPU 301 and the microcomputer 321 to the boot ROM 303.

操作部I/F305は、システムバス307と操作部12とを接続するためのインタフェース部である。操作部I/F305は、操作部12に操作画面を表示するための画像データを、システムバス307を介して受信し、受信した画像データを操作部12へ出力する。また、操作部I/F305は、操作部12から出力された情報を、システムバス307を介してCPU301へ送信する。LANコントローラ306は、LAN60に接続され、LAN60を介して外部装置と通信するための通信I/Fである。   The operation unit I / F 305 is an interface unit for connecting the system bus 307 and the operation unit 12. The operation unit I / F 305 receives image data for displaying an operation screen on the operation unit 12 via the system bus 307, and outputs the received image data to the operation unit 12. The operation unit I / F 305 also transmits the information output from the operation unit 12 to the CPU 301 via the system bus 307. The LAN controller 306 is a communication I / F that is connected to the LAN 60 and communicates with an external device via the LAN 60.

画像処理部309は、RAM302に格納された画像データを読み出し、読み出した画像データに対して圧縮、拡大、縮小、又は色調整等の画像処理を行う。スキャナ画像処理部310は、スキャナ部13からスキャナI/F311を介して受信した画像データに対して、補正、加工、及び編集を行う。スキャナ画像処理部310は、受信した画像データに基づいて、スキャンされた原稿のタイプ(例えば、カラー原稿又は白黒原稿、及び文字原稿又は写真原稿)を判定し、判定結果を画像データに属性データとして付加する。プリンタ画像処理部312は、プリンタI/F313を介してプリンタ部14へ出力する画像データに対して、当該画像データに付加されている属性データを参照して画像処理を行う。プリンタ画像処理部312は、画像処理後の画像データを、プリンタI/F313を介してプリンタ部14へ出力する。   The image processing unit 309 reads the image data stored in the RAM 302 and performs image processing such as compression, enlargement, reduction, or color adjustment on the read image data. The scanner image processing unit 310 corrects, processes, and edits image data received from the scanner unit 13 via the scanner I / F 311. The scanner image processing unit 310 determines the type of the scanned document (for example, a color document or a black-and-white document, and a text document or a photographic document) based on the received image data, and the determination result is used as attribute data in the image data. Add. The printer image processing unit 312 performs image processing on the image data output to the printer unit 14 via the printer I / F 313 by referring to the attribute data added to the image data. The printer image processing unit 312 outputs the image data after the image processing to the printer unit 14 via the printer I / F 313.

マイコン321は、画像形成装置10の起動時に、起動用ROM303にアクセスして当該起動用ROMに格納されているソフトウェア(プログラム)が改竄されているか否かの検証を行う、改竄検証用のマイコンである。マイコン321は、検証により、起動用ROM303に格納されているプログラムが改竄されていないと判定すると、当該判定の結果を接続制御部322へ通知するとともに、CPU301のリセット状態を解除することによりCPU301の動作を開始させる。本実施形態では、後述するように、マイコン321は、プログラムが改竄されていないとの判定の結果を示す通知信号を接続制御部332へ出力するとともに、当該通知信号をリセット解除信号としてCPU301にも出力する。   The microcomputer 321 is a falsification verification microcomputer that accesses the boot ROM 303 and verifies whether the software (program) stored in the boot ROM has been falsified when the image forming apparatus 10 is booted. is there. If the microcomputer 321 determines through verification that the program stored in the boot ROM 303 has not been tampered with, it notifies the connection control unit 322 of the result of the determination and releases the reset state of the CPU 301 to cause Start operation. In this embodiment, as will be described later, the microcomputer 321 outputs a notification signal indicating the result of the determination that the program has not been tampered with to the connection control unit 332, and also sends the notification signal to the CPU 301 as a reset release signal. Output.

なお、本実施形態の画像形成装置10において、CPU301は第1制御手段の一例であり、マイコン321は第2制御手段の一例であり、起動用ROM303は記憶手段の一例である。   In the image forming apparatus 10 of the present embodiment, the CPU 301 is an example of the first control unit, the microcomputer 321 is an example of the second control unit, and the boot ROM 303 is an example of a storage unit.

図3は、起動用ROM303に対する接続の構成例を示すブロック図である。本実施形態では、CPU301、起動用ROM303、マイコン321、及び接続制御部322は、SPIに準拠した信号をやりとりするための信号線401〜404,411,412,421を介して互いに接続される。   FIG. 3 is a block diagram showing a configuration example of connection to the boot ROM 303. In this embodiment, the CPU 301, the boot ROM 303, the microcomputer 321, and the connection control unit 322 are connected to each other via signal lines 401 to 404, 411, 412, and 421 for exchanging SPI-compliant signals.

起動用ROM303は、信号線401を介して接続制御部322と接続される。信号線401は、SPIに準拠したチップセレクト信号(CS信号)の伝送に用いられるCS信号線である。CS信号は、起動用ROM303に対してリード/ライト等の処理を実行するために使用される信号である。CS信号をアサートすることにより、起動用ROM303を使用できる状態(アクティブ状態)にすることが可能となる。   The boot ROM 303 is connected to the connection control unit 322 via the signal line 401. The signal line 401 is a CS signal line used for transmitting a chip select signal (CS signal) conforming to SPI. The CS signal is a signal used for executing processing such as read / write on the boot ROM 303. By asserting the CS signal, the boot ROM 303 can be brought into a usable state (active state).

接続制御部322とCPU301との間には信号線411が設けられ、接続制御部322とマイコン321との間には信号線412が設けられている。信号線411は、CPU301から起動用ROM303へのCS信号の伝送に用いられるCS信号線である。信号線412は、マイコン321から起動用ROM303へのCS信号の伝送に用いられるCS信号線である。   A signal line 411 is provided between the connection control unit 322 and the CPU 301, and a signal line 412 is provided between the connection control unit 322 and the microcomputer 321. The signal line 411 is a CS signal line used for transmitting a CS signal from the CPU 301 to the boot ROM 303. The signal line 412 is a CS signal line used for transmitting a CS signal from the microcomputer 321 to the boot ROM 303.

接続制御部322は、信号線401と信号線411,412との接続状態を制御する。具体的には、接続制御部322は、信号線401の接続先を、信号線411と信号線412とで切り替え可能である。また、接続制御部322は、信号線401を、信号線411,412のいずれとも接続されていない未接続状態にすることも可能である。このように、接続制御部322は、信号線401(第3信号線)を、CPU301に対応する信号線411(第1信号線)に接続した状態と、マイコン321に対応する信号線412(第2信号線)に接続した状態と、未接続状態との間で切り替える。   The connection control unit 322 controls the connection state between the signal line 401 and the signal lines 411 and 412. Specifically, the connection control unit 322 can switch the connection destination of the signal line 401 between the signal line 411 and the signal line 412. Further, the connection control unit 322 can also set the signal line 401 to an unconnected state in which it is not connected to any of the signal lines 411 and 412. In this way, the connection control unit 322 connects the signal line 401 (third signal line) to the signal line 411 (first signal line) corresponding to the CPU 301 and the signal line 412 (first signal line) corresponding to the microcomputer 321. (2 signal lines) is switched between a connected state and an unconnected state.

信号線411と信号線401とが接続された場合、CPU301から起動用ROM303へのCS信号の供給が可能になる。信号線412と信号線401とが接続された場合、マイコン321から起動用ROM303へのCS信号の供給が可能になる。CS信号は、CPU301及びマイコン321が起動用ROM303に対してアクセスを実行する際に使用する信号である。このように、信号線401,411,412は、起動用ROM303へのアクセス用の信号線として機能する。   When the signal line 411 and the signal line 401 are connected, the CS signal can be supplied from the CPU 301 to the boot ROM 303. When the signal line 412 and the signal line 401 are connected, the CS signal can be supplied from the microcomputer 321 to the boot ROM 303. The CS signal is a signal used when the CPU 301 and the microcomputer 321 access the boot ROM 303. In this way, the signal lines 401, 411, and 412 function as signal lines for accessing the boot ROM 303.

図3に示されるように、CPU301及びマイコン321のそれぞれと起動用ROM303との間には、信号線402〜404が設けられている。信号線402〜404は、SPIに準拠した信号として、クロック信号、データイン信号、及びデータアウト信号をそれぞれ伝送するための信号線である。   As shown in FIG. 3, signal lines 402 to 404 are provided between each of the CPU 301 and the microcomputer 321 and the boot ROM 303. The signal lines 402 to 404 are signal lines for transmitting a clock signal, a data-in signal, and a data-out signal, respectively, as SPI-compliant signals.

クロック信号は、起動用ROM303に対するクロックの供給用の信号である。クロック信号を用いて、CPU301又はマイコン321から起動用ROM303へクロックが供給される。データイン信号は、起動用ROM303に対するデータの入力用の信号である。データイン信号を用いて、CPU301又はマイコン321から起動用ROM303へデータが入力される。データアウト信号は、起動用ROM303からのデータの出力用の信号である。データアウト信号を用いて、起動用ROM303からCPU301又はマイコン321へデータが出力される。   The clock signal is a signal for supplying a clock to the boot ROM 303. A clock is supplied from the CPU 301 or the microcomputer 321 to the boot ROM 303 using the clock signal. The data-in signal is a signal for inputting data to the boot ROM 303. Data is input from the CPU 301 or the microcomputer 321 to the boot ROM 303 using the data-in signal. The data-out signal is a signal for outputting data from the boot ROM 303. Data is output from the boot ROM 303 to the CPU 301 or the microcomputer 321 using the data-out signal.

このように、信号線402は、起動用ROM303へのクロックの供給用の信号線として機能する。信号線403は、起動用ROM303へのデータの入力用の信号線として機能する。信号線404は、起動用ROM303からのデータの出力用の信号線として機能する。   In this way, the signal line 402 functions as a signal line for supplying a clock to the boot ROM 303. The signal line 403 functions as a signal line for inputting data to the boot ROM 303. The signal line 404 functions as a signal line for outputting data from the boot ROM 303.

CPU301及びマイコン321のそれぞれと接続制御部322との間には、信号線421が設けられている。信号線421は、起動用ROM303に格納されているプログラムの、マイコン321による検証結果を、マイコン321から接続制御部322へ通知するための通知信号の伝送に用いられる。接続制御部322は、マイコン321からの通知信号に従ってCS信号線(即ち、信号線401,411,412)の上述の接続状態を切り替える。   A signal line 421 is provided between each of the CPU 301 and the microcomputer 321 and the connection control unit 322. The signal line 421 is used to transmit a notification signal for notifying the connection control unit 322 from the microcomputer 321 of the verification result of the program stored in the boot ROM 303 by the microcomputer 321. The connection control unit 322 switches the above-mentioned connection state of the CS signal lines (that is, the signal lines 401, 411, 412) according to the notification signal from the microcomputer 321.

本実施形態の画像形成装置10は、電源の投入時に、接続制御部322が、マイコン321用の信号線412と信号線401とをデフォルトで接続する構成を有している。接続制御部322は、起動用ROM303に格納されているプログラムが改竄されていないことを示す通知信号に従って、CS信号用の信号線の接続状態を切り替える。具体的には、接続制御部322は、信号線の接続状態を、マイコン321用の信号線412と信号線401とを接続した状態から、CPU301用の信号線411と信号線401とを接続した状態に切り替える。   The image forming apparatus 10 of this embodiment has a configuration in which the connection control unit 322 connects the signal line 412 for the microcomputer 321 and the signal line 401 by default when the power is turned on. The connection control unit 322 switches the connection state of the signal line for the CS signal in accordance with the notification signal indicating that the program stored in the boot ROM 303 has not been tampered with. Specifically, the connection control unit 322 connects the signal line connection state of the signal line 412 for the microcomputer 321 and the signal line 401 to the signal line 411 for the CPU 301 and the signal line 401. Switch to state.

信号線421は、マイコン321と、接続制御部322及びCPU301とを接続している。このため、マイコン321から出力された通知信号は、信号線421を介して、接続制御部322だけでなくCPU301にも供給される。本実施形態では、信号線421を介してCPU301に供給された通知信号は、CPU301に対するリセット解除信号として機能する。   The signal line 421 connects the microcomputer 321, the connection control unit 322, and the CPU 301. Therefore, the notification signal output from the microcomputer 321 is supplied to the CPU 301 as well as the connection control unit 322 via the signal line 421. In the present embodiment, the notification signal supplied to the CPU 301 via the signal line 421 functions as a reset release signal for the CPU 301.

マイコン321は、起動用ROM303に格納されているプログラムが改竄されているか否かを検証する。マイコン321は、プログラムが改竄されていないと判定した場合に限り、上述の通知信号を用いて、CPU301用の信号線411と信号線401とを接続制御部322によって接続させるとともに、CPU301のリセット状態を解除する。その結果、CPU301は、CS信号を用いて起動用ROM303へのアクセスを実行することが可能になり、起動用ROM303に格納されている、改竄されていないプログラムを使用して、CPU301が起動することが可能になる。   The microcomputer 321 verifies whether the program stored in the boot ROM 303 has been tampered with. Only when the microcomputer 321 determines that the program has not been tampered with, the connection control unit 322 connects the signal line 411 for the CPU 301 and the signal line 401 by using the above notification signal, and the reset state of the CPU 301. To cancel. As a result, the CPU 301 can execute access to the boot ROM 303 by using the CS signal, and the CPU 301 can be booted by using the untampered program stored in the boot ROM 303. Will be possible.

CPU301と接続制御部322との間には、制御バス422が更に設けられている。制御バス422は、CPU301と接続制御部322との通信に使用される。接続制御部322は、制御バス422を介してCPU301から受信した指示に従って、CS信号用の信号線401,411,412の接続状態を切り替えることも可能である。   A control bus 422 is further provided between the CPU 301 and the connection control unit 322. The control bus 422 is used for communication between the CPU 301 and the connection control unit 322. The connection control unit 322 can also switch the connection state of the CS signal signal lines 401, 411, and 412 according to an instruction received from the CPU 301 via the control bus 422.

<マイコンの処理>
図4は、本実施形態に係る、マイコン321による処理の手順を示すフローチャートである。まずS401で、マイコン321は、画像形成装置10が電源オフ状態から起動し、マイコン321に電源が投入されると、処理をS402へ進める。
<Processing of microcomputer>
FIG. 4 is a flowchart showing a procedure of processing by the microcomputer 321 according to this embodiment. First, in step S <b> 401, the microcomputer 321 proceeds to step S <b> 402 when the image forming apparatus 10 is started from the power-off state and the microcomputer 321 is powered on.

S402で、マイコン321は、内部に保持しているROM又は外部に設けられた専用のROMを用いて起動処理を行う。マイコン321は、起動処理を完了すると、S403へ処理を進める。   In step S402, the microcomputer 321 performs the startup process using the ROM held therein or the dedicated ROM provided outside. Upon completion of the startup process, the microcomputer 321 advances the process to S403.

S403で、マイコン321は、起動用ROM303に格納されているプログラムが改竄されているか否かを検証する検証処理を開始し、S404へ処理を進める。ここで、マイコン321は、接続制御部322によって接続される信号線412及び401を介してCS信号を用いて起動用ROM303にアクセスする。これにより、マイコン321は、起動用ROM303からプログラムを読み出し、読み出したプログラムが改竄されているか否かの検証処理を行う。S404で、マイコン321は、検証処理が終了したか否かを判定し、検証処理が終了するとS405へ処理を進める。   In S403, the microcomputer 321 starts a verification process for verifying whether the program stored in the boot ROM 303 has been tampered with, and advances the process to S404. Here, the microcomputer 321 accesses the boot ROM 303 using the CS signal via the signal lines 412 and 401 connected by the connection control unit 322. As a result, the microcomputer 321 reads the program from the boot ROM 303 and performs verification processing as to whether or not the read program has been tampered with. In S404, the microcomputer 321 determines whether or not the verification processing is completed, and when the verification processing is completed, advances the processing to S405.

S405で、マイコン321は、起動用ROM303に格納されているプログラムの検証結果に従って、当該プログラムが改竄されているか否かを判定する。マイコン321は、起動用ROM303に格納されているプログラムが改竄されていると判定した(プログラムの改竄を検知した)場合には処理を終了する。一方、マイコン321は、起動用ROM303に格納されているプログラムが改竄されていないと判定した(プログラムの改竄を検知しなかった)場合にはS406へ処理を進める。   In step S405, the microcomputer 321 determines whether the program has been tampered with according to the verification result of the program stored in the boot ROM 303. If the microcomputer 321 determines that the program stored in the boot ROM 303 has been tampered with (detects tampering with the program), it ends the process. On the other hand, if the microcomputer 321 determines that the program stored in the boot ROM 303 has not been tampered with (the tampering of the program was not detected), the process proceeds to S406.

S406で、マイコン321は、信号線421上の通知信号を用いて、プログラムの検証結果を接続制御部322へ通知し、処理を終了する。上述のように、接続制御部322は、この通知信号に従ってCS信号用の信号線の接続状態の切り替えを行う。また、この通知信号は、CPU301に対するリセット解除信号としても使用される。   In step S406, the microcomputer 321 uses the notification signal on the signal line 421 to notify the connection control unit 322 of the verification result of the program, and ends the process. As described above, the connection control unit 322 switches the connection state of the signal line for the CS signal according to this notification signal. This notification signal is also used as a reset release signal for the CPU 301.

<接続制御部の処理>
図5は、本実施形態に係る、接続制御部322によって実行される処理の手順を示すフローチャートである。まずS501で、接続制御部322は、画像形成装置10が電源オフ状態から起動し、接続制御部322に電源が投入されると、処理をS502へ進める。
<Process of connection control unit>
FIG. 5 is a flowchart showing a procedure of processing executed by the connection control unit 322 according to this embodiment. First, in S501, the connection control unit 322 advances the processing to S502 when the image forming apparatus 10 is activated from the power-off state and the connection control unit 322 is powered on.

S502で、接続制御部322は、信号線401と信号線412とを接続(CS信号線を接続)することで、マイコン321と起動用ROM303とを、CS信号線を介して電気的に接続する。これにより、マイコン321が、信号線412及び401を介してCS信号を用いて起動用ROM303へアクセスすることが可能になり、起動用ROM303からプログラムを読み出し、読み出したプログラムの検証処理を行うことが可能になる。   In step S502, the connection control unit 322 electrically connects the microcomputer 321 and the boot ROM 303 by connecting the signal line 401 and the signal line 412 (connecting the CS signal line) to each other via the CS signal line. . As a result, the microcomputer 321 can access the boot ROM 303 using the CS signal via the signal lines 412 and 401, read the program from the boot ROM 303, and perform verification processing of the read program. It will be possible.

画像形成装置10の電源が投入された際、S502の処理により、CPU301用のCS信号線は起動用ROM303と電気的に未接続の状態(即ち、信号線411と信号線401とが未接続の状態)とされる。これにより、例えば悪意のあるユーザによってCPU301のリセット状態が強制的に解除されたとしても、CPU301が、マイコン321による検証が完了していないブートプログラムを起動用ROM303から読み出して実行することを防止できる。   When the power of the image forming apparatus 10 is turned on, the CS signal line for the CPU 301 is not electrically connected to the boot ROM 303 by the process of S502 (that is, the signal line 411 and the signal line 401 are not connected). State). Thereby, even if a malicious user forcibly releases the reset state of the CPU 301, for example, it is possible to prevent the CPU 301 from reading a boot program whose verification by the microcomputer 321 is not completed from the boot ROM 303 and executing the boot program. .

その後S503で、接続制御部322は、マイコン321から信号線421を介して入力される通知信号がH(ハイ)レベルであるか否かを判定し、当該通知信号がL(ロー)レベルからHレベルに切り替わると、S504へ処理を進める。   After that, in step S503, the connection control unit 322 determines whether the notification signal input from the microcomputer 321 via the signal line 421 is at the H (high) level, and the notification signal is changed from the L (low) level to the H (high) level. When the level is switched, the process proceeds to S504.

例えば、マイコン321は、デフォルトでLレベルの通知信号を出力し、起動用ROM303に格納されているプログラムが改竄されていないと判定すると、出力する通知信号のレベルをLレベルからHレベルに切り替える。これにより、接続制御部322は信号線421を介して入力される通知信号がLレベルである限り、信号線401と信号線412との接続(マイコン321と起動用ROM303との間のCS信号線の接続)を維持する。なお、通知信号の論理は、上述の論理と反転してもよく、即ち、プログラムの改竄が検知されなかった場合を、HレベルではなくLレベルと対応付けてもよい。   For example, the microcomputer 321 outputs the L-level notification signal by default, and when determining that the program stored in the boot ROM 303 has not been tampered with, switches the output level of the notification signal from the L level to the H level. Accordingly, the connection control unit 322 connects the signal line 401 and the signal line 412 (the CS signal line between the microcomputer 321 and the boot ROM 303) as long as the notification signal input via the signal line 421 is at the L level. Connection). It should be noted that the logic of the notification signal may be inverted from the logic described above, that is, when the tampering of the program is not detected, it may be associated with the L level instead of the H level.

このようにして、接続制御部322は、起動用ROM303に格納されているプログラムが改竄されていないことを示す通知信号を、信号線421を介してマイコン321から受信すると、S504へ処理を進める。S504で、接続制御部322は、起動用ROM303に対するCS信号線の接続を、マイコン321からCPU301に切り替える。即ち、接続制御部322は、起動用ROM303用の信号線401の接続先を、信号線412から信号線411に切り替える。CS信号線の接続の切り替えが完了すると、接続制御部322は処理を終了する。   In this way, when the connection control unit 322 receives the notification signal indicating that the program stored in the boot ROM 303 has not been tampered with from the microcomputer 321 via the signal line 421, the process proceeds to S504. In step S <b> 504, the connection control unit 322 switches the connection of the CS signal line to the boot ROM 303 from the microcomputer 321 to the CPU 301. That is, the connection control unit 322 switches the connection destination of the signal line 401 for the boot ROM 303 from the signal line 412 to the signal line 411. When the switching of the connection of the CS signal line is completed, the connection control unit 322 ends the process.

本例では、Hレベルの通知信号は、CPU301に対するリセット解除信号としても機能する。Hレベルの通知信号が信号線421を介してCPU301に入力されることで、CPU301のリセット状態が解除される。更に、S504におけるCS信号線の接続の切り替えにより、CPU301が、CS信号線(信号線411及び411)を介してCS信号を用いて起動用ROM303へアクセスできるようになる。CPU301は、起動用ROM303へのアクセスが可能になると、起動用ROM303に格納されている、改竄されていないプログラムを使用して起動する。   In this example, the H-level notification signal also functions as a reset release signal to the CPU 301. When the H-level notification signal is input to the CPU 301 via the signal line 421, the reset state of the CPU 301 is released. Further, by switching the connection of the CS signal line in S504, the CPU 301 can access the boot ROM 303 using the CS signal via the CS signal line (signal lines 411 and 411). When the access to the boot ROM 303 becomes possible, the CPU 301 boots using a program that has not been tampered with and is stored in the boot ROM 303.

以上説明したように、本実施形態では、画像形成装置10の起動時に、マイコン321が、起動用ROM303にアクセスして、当該起動用ROMに格納されているプログラムが改竄されているか否かの検証を行う。マイコン321は、検証により、プログラムが改竄されていないと判定すると、起動用ROM303に格納されているプログラムが改竄されていないことを示す検証結果を接続制御部322へ通知する。接続制御部322は、当該検証結果がマイコン321から通知されたことに従って、CPU301から起動用ROM303へのアクセスが可能になるよう、起動用ROM303へのアクセス用のCS信号線の接続先をマイコン321からCPU301に切り替える。起動用ROM303へのアクセスが可能になると、CPU301は、信号線411,401を介して起動用ROM303にアクセスして、起動用ROM303に格納されているプログラムを実行することによって起動する。   As described above, in the present embodiment, when the image forming apparatus 10 is activated, the microcomputer 321 accesses the activation ROM 303 and verifies whether the program stored in the activation ROM has been tampered with. I do. When the microcomputer 321 determines through verification that the program has not been tampered with, it notifies the connection control unit 322 of a verification result indicating that the program stored in the boot ROM 303 has not been tampered with. In response to the notification of the verification result from the microcomputer 321, the connection control unit 322 determines the connection destination of the CS signal line for accessing the boot ROM 303 by the microcomputer 321 so that the CPU 301 can access the boot ROM 303. To CPU 301. When the access to the boot ROM 303 becomes possible, the CPU 301 accesses the boot ROM 303 via the signal lines 411 and 401 and boots by executing the program stored in the boot ROM 303.

本実施形態によれば、画像形成装置10の電源の投入直後には、マイコン321と起動用ROM303との間のCS信号線が接続される一方、CPU301と起動用ROM303との間のCS信号線が未接続にされる。これにより、起動用ROM303に格納されたブートプログラムが改竄されているか否かの検証が完了する前に、CPU301が当該ブートプログラムを実行することで動作を開始してしまうことを防止できる。   According to this embodiment, immediately after the power of the image forming apparatus 10 is turned on, the CS signal line between the microcomputer 321 and the boot ROM 303 is connected, while the CS signal line between the CPU 301 and the boot ROM 303 is connected. Is disconnected. This can prevent the CPU 301 from starting the operation by executing the boot program before the verification of whether the boot program stored in the boot ROM 303 has been tampered with.

また、接続制御部322は、起動用ROM303に格納されているプログラムの検証処理をマイコン321が完了した後に、CPU301と起動用ROM303との間のCS信号線を接続するよう、CS信号線の接続を切り替える。これにより、CPU301が、起動用ROM303に格納されている、改竄されていないブートプログラムを用いて起動することが可能になる。   Further, the connection control unit 322 connects the CS signal lines so as to connect the CS signal lines between the CPU 301 and the boot ROM 303 after the microcomputer 321 completes the verification process of the program stored in the boot ROM 303. Switch. As a result, the CPU 301 can be booted using the unaltered boot program stored in the boot ROM 303.

[第2実施形態]
第2実施形態では、CPU301の起動が完了した後に、接続制御部322が、CPU301と起動用ROM303との間のCS信号線の接続状態を制御する例について説明する。なお、第1実施形態と共通する部分については説明を省略する。
[Second Embodiment]
In the second embodiment, an example in which the connection control unit 322 controls the connection state of the CS signal line between the CPU 301 and the boot ROM 303 after the boot of the CPU 301 is completed will be described. It should be noted that description of portions common to the first embodiment will be omitted.

図6は、本実施形態に係る、接続制御部322によって実行される処理の手順を示すフローチャートである。S601〜S604の処理は、第1実施形態におけるS501〜S504の処理と同様である。本実施形態では、接続制御部322は、S604において起動用ROM303に対するCS信号線の接続を、マイコン321からCPU301に切り替えると、S605へ処理を進める。   FIG. 6 is a flowchart showing a procedure of processing executed by the connection control unit 322 according to this embodiment. The processing of S601 to S604 is the same as the processing of S501 to S504 in the first embodiment. In the present embodiment, when the connection control unit 322 switches the connection of the CS signal line to the boot ROM 303 from the microcomputer 321 to the CPU 301 in S604, the process proceeds to S605.

S605で、接続制御部322は、CPU301の起動が完了したか否かを判定する。接続制御部322は、制御バス422を介してCPU301から起動完了通知を受信可能に構成されている。CPU301は、起動用ROM303に格納されているブートプログラムを用いた起動処理が完了すると、制御バス422を介して接続制御部322へ起動完了通知を送信する。接続制御部322は、起動完了通知をCPU301から受信すると、CPU301の起動が完了したと判定し、S606へ処理を進める。   In step S605, the connection control unit 322 determines whether the activation of the CPU 301 is completed. The connection control unit 322 is configured to be able to receive the activation completion notification from the CPU 301 via the control bus 422. When the boot process using the boot program stored in the boot ROM 303 is completed, the CPU 301 transmits a boot completion notification to the connection control unit 322 via the control bus 422. When the connection control unit 322 receives the activation completion notification from the CPU 301, the connection control unit 322 determines that the activation of the CPU 301 is completed, and advances the processing to S606.

S606で、接続制御部322は、起動用ROM303へのCS信号線の接続を切断することにより、CPU301と起動用ROM303との間のCS信号線の接続状態を未接続状態にする。これにより、CPU301から起動用ROM303へアクセスできないようにすることが可能である。   In step S606, the connection control unit 322 disconnects the connection of the CS signal line to the boot ROM 303, thereby setting the connection state of the CS signal line between the CPU 301 and the boot ROM 303 to the unconnected state. This makes it possible to prevent the CPU 301 from accessing the boot ROM 303.

以上説明したように、本実施形態では、接続制御部322は、CPU301の起動が完了すると、信号線401を、CPU301とマイコン321とのいずれとも接続されていない未接続状態にする。これにより、CPU301が通常動作している状態において、悪意のあるユーザによるCPU301から起動用ROM303への不正なアクセスに起因して起動用ROM303内のプログラムが不正に書き換えられることを防止することが可能になる。   As described above, in the present embodiment, the connection control unit 322 sets the signal line 401 to the unconnected state in which neither the CPU 301 nor the microcomputer 321 is connected when the activation of the CPU 301 is completed. As a result, it is possible to prevent the programs in the boot ROM 303 from being illegally rewritten due to unauthorized access from the CPU 301 to the boot ROM 303 by a malicious user while the CPU 301 is operating normally. become.

[第3実施形態]
第3実施形態では、接続制御部322が、CPU301の起動が完了した後に、CPU301からの通知を必要とせずに、CPU301と起動用ROM303との間のCS信号線の接続状態を制御する例について説明する。なお、第1及び第2実施形態と共通する部分については説明を省略する。
[Third Embodiment]
In the third embodiment, an example in which the connection control unit 322 controls the connection state of the CS signal line between the CPU 301 and the startup ROM 303 without requiring notification from the CPU 301 after the startup of the CPU 301 is completed explain. Note that description of portions that are common to the first and second embodiments will be omitted.

図7は、本実施形態に係る、接続制御部322によって実行される処理の手順を示すフローチャートである。S701〜S704の処理は、第1実施形態におけるS501〜S504の処理と同様である。本実施形態では、接続制御部322は、S704において起動用ROM303に対するCS信号線の接続を、マイコン321からCPU301に切り替えると、S705へ処理を進める。   FIG. 7 is a flowchart showing a procedure of processing executed by the connection control unit 322 according to this embodiment. The processing of S701 to S704 is the same as the processing of S501 to S504 in the first embodiment. In this embodiment, when the connection control unit 322 switches the connection of the CS signal line to the boot ROM 303 from the microcomputer 321 to the CPU 301 in S704, the process proceeds to S705.

S705で、接続制御部322は、CPU301の起動が完了したか否かの判定に使用するタイマーを初期化する。本実施形態の接続制御部322は、CPU301の起動処理に要する時間よりも長い時間を計測可能なタイマーを内部に保持している。   In step S705, the connection control unit 322 initializes the timer used to determine whether the activation of the CPU 301 is completed. The connection control unit 322 of the present embodiment internally holds a timer capable of measuring a time longer than the time required for the activation processing of the CPU 301.

次にS706で、接続制御部322は、タイマーによる計時を開始する。計時の開始後、S707で、接続制御部322は、タイマーによる計時を開始してから所定時間が経過したか否かを判定し、所定時間が経過するとS708へ処理を進める。この所定時間は、CPU301の起動が完了するまでに要する時間よりも長い時間に設定される。   Next, in step S706, the connection control unit 322 starts time counting by a timer. After the start of the time counting, in S707, the connection control unit 322 determines whether or not a predetermined time has elapsed since the timer started counting, and when the predetermined time has elapsed, the process proceeds to S708. This predetermined time is set to a time longer than the time required to complete the activation of the CPU 301.

S708で、接続制御部322は、S606と同様、起動用ROM303へのCS信号線の接続を切断することにより、CPU301と起動用ROM303との間のCS信号線の接続状態を未接続状態にする。これにより、CPU301から起動用ROM303へアクセスできないようにすることが可能である。   In S708, the connection control unit 322 disconnects the connection of the CS signal line to the boot ROM 303, as in S606, to bring the connection state of the CS signal line between the CPU 301 and the boot ROM 303 into the unconnected state. . This makes it possible to prevent the CPU 301 from accessing the boot ROM 303.

本実施形態によれば、CPU301からの通知を必要とせずに、接続制御部322が、CPU301の起動完了後にCPU301と起動用ROM303との間のCS信号線の接続を切断することが可能である。これにより、CPU301が通常動作している状態において、悪意のあるユーザによるCPU301から起動用ROM303への不正なアクセスに起因して起動用ROM303内のプログラムが不正に書き換えられることを防止することが可能になる。   According to this embodiment, the connection control unit 322 can disconnect the connection of the CS signal line between the CPU 301 and the boot ROM 303 after the startup of the CPU 301 is completed, without requiring notification from the CPU 301. . As a result, it is possible to prevent the programs in the boot ROM 303 from being illegally rewritten due to unauthorized access from the CPU 301 to the boot ROM 303 by a malicious user while the CPU 301 is operating normally. become.

[第4実施形態]
第4実施形態では、CPU301が起動後に動作している状態において、接続制御部322が、CPU301からのCS信号を監視することでCPU301から起動用ROM303への不正なアクセスを検知する例について説明する。なお、第1乃至第3実施形態と共通する部分については説明を省略する。
[Fourth Embodiment]
In the fourth embodiment, an example in which the connection control unit 322 detects an unauthorized access from the CPU 301 to the boot ROM 303 by monitoring the CS signal from the CPU 301 while the CPU 301 is operating after booting will be described. . Note that description of portions that are common to the first to third embodiments will be omitted.

図8は、本実施形態に係る、接続制御部322によって実行される処理の手順を示すフローチャートである。S801〜S806の処理は、第2実施形態におけるS601〜S606の処理と同様である。本実施形態では、接続制御部322は、S806において起動用ROM303へのCS信号線の接続を切断すると、S807へ処理を進める。   FIG. 8 is a flowchart showing a procedure of processing executed by the connection control unit 322 according to this embodiment. The processing of S801 to S806 is the same as the processing of S601 to S606 in the second embodiment. In the present embodiment, when the connection control unit 322 disconnects the connection of the CS signal line to the boot ROM 303 in S806, the process proceeds to S807.

S807で、接続制御部322は、CPU301から信号線411へ出力されるCS信号を監視することで、CPU301から起動用ROM303へのCS信号を用いたアクセスの有無を監視する。接続制御部322は、CS信号の監視により、CPU301からのCS信号を用いたアクセスを検知すると、S808へ処理を進める。   In step S <b> 807, the connection control unit 322 monitors the CS signal output from the CPU 301 to the signal line 411 to monitor whether the CPU 301 accesses the boot ROM 303 using the CS signal. When the connection control unit 322 detects the access using the CS signal from the CPU 301 by monitoring the CS signal, the process advances to S808.

S808で、接続制御部322は、起動用ROM303に対するアクセス異常の検知をCPU301へ通知し、処理を終了する。ここで、CPU301から起動用ROM303へのアクセスは、通常、画像形成装置10の起動時にのみ行われる。それにもかかわらず、起動用ROM303に格納されているブートプログラムを用いた起動後にCPU301が起動用ROM303へのアクセスを行った場合、悪意のあるユーザによるアクセスが行われた可能性がある。このため、本実施形態では、そのようなアクセス異常の発生をCPU301へ通知する。なお、CPU301は、通知された情報に基づいて、起動用ROM303へのアクセス異常の発生に関して操作部12に表示してもよい。   In step S808, the connection control unit 322 notifies the CPU 301 of detection of an access abnormality with respect to the boot ROM 303, and ends the processing. Here, access from the CPU 301 to the boot ROM 303 is normally performed only when the image forming apparatus 10 is booted. Nevertheless, if the CPU 301 accesses the boot ROM 303 after booting using the boot program stored in the boot ROM 303, it is possible that a malicious user has performed access. Therefore, in the present embodiment, the CPU 301 is notified of the occurrence of such an access abnormality. The CPU 301 may display on the operation unit 12 the occurrence of the access abnormality to the boot ROM 303 based on the notified information.

以上説明したように、本実施形態によれば、CPU301が通常動作している状態において、悪意のあるユーザによるCPU301から起動用ROM303への不正なアクセスが生じた場合に、そのようなアクセス異常の発生を通知できる。それにより、起動用ROM303内のプログラムが不正に書き換えられることを防止することが可能になり、装置に対する攻撃があったことを通知することも可能になる。   As described above, according to the present embodiment, when an unauthorized access from the CPU 301 to the boot ROM 303 occurs by a malicious user while the CPU 301 is operating normally, such an access abnormality is detected. Can notify the occurrence. Thereby, it is possible to prevent the program in the boot ROM 303 from being illegally rewritten, and it is also possible to notify that there is an attack on the device.

[第5実施形態]
第5実施形態では、CPU301が起動後に動作している状態において、起動用ROM303内のプログラム(ソフトウェア)の更新のために、CPU301による起動用ROM303へのアクセスを可能にする例について説明する。なお、第1乃至第4実施形態と共通する部分については説明を省略する。
[Fifth Embodiment]
In the fifth embodiment, an example will be described in which the CPU 301 can access the boot ROM 303 in order to update the program (software) in the boot ROM 303 while the CPU 301 is operating after boot. Note that description of portions that are common to the first to fourth embodiments will be omitted.

図9は、本実施形態に係る、接続制御部322によって実行される処理の手順を示すフローチャートである。S901〜S906の処理は、第2実施形態におけるS601〜S606の処理と同様である。本実施形態では、接続制御部322は、S906において起動用ROM303へのCS信号線の接続を切断すると、S809へ処理を進める。   FIG. 9 is a flowchart showing a procedure of processing executed by the connection control unit 322 according to this embodiment. The processing of S901 to S906 is the same as the processing of S601 to S606 in the second embodiment. In the present embodiment, when the connection control unit 322 disconnects the connection of the CS signal line to the boot ROM 303 in S906, the process proceeds to S809.

S907で、接続制御部322は、CS信号線の接続指示を、制御バス422を介してCPU301から受信したか否かを判定する。接続制御部322は接続指示をCPU301から受信すると、S908へ処理を進める。S908で、接続制御部322は、未接続状態のCS信号線を、起動用ROM303とCPU301との間で接続し、処理を終了する。具体的には、接続制御部322は、信号線401と信号線411とを接続する。これにより、CPU301が、信号線412及び401を介してCS信号を用いて起動用ROM303にアクセスすることが可能になり、起動用ROM303内のプログラムを更新することが可能になる。   In step S <b> 907, the connection control unit 322 determines whether the CS signal line connection instruction has been received from the CPU 301 via the control bus 422. Upon receiving the connection instruction from the CPU 301, the connection control unit 322 advances the process to S908. In step S908, the connection control unit 322 connects the unconnected CS signal line between the boot ROM 303 and the CPU 301, and ends the processing. Specifically, the connection control unit 322 connects the signal line 401 and the signal line 411. This allows the CPU 301 to access the boot ROM 303 using the CS signal via the signal lines 412 and 401, and update the program in the boot ROM 303.

本実施形態によれば、上述の実施形態と同様、CPU301が通常動作している状態において、CPU301から起動用ROM303への不正なアクセスに起因して起動用ROM303内のプログラムが不正に書き換えられることを防止することが可能になる。更に、CPU301から必要に応じて信号線の接続状態を変更して、起動用ROM303内のプログラムを更新することが可能になる。   According to the present embodiment, similarly to the above-described embodiments, in the state where the CPU 301 is normally operating, the program in the boot ROM 303 is illegally rewritten due to the unauthorized access from the CPU 301 to the boot ROM 303. Can be prevented. Further, it becomes possible to change the connection state of the signal line from the CPU 301 as needed and update the program in the boot ROM 303.

[その他の実施形態]
上述の第1乃至第5実施形態は、適宜組み合わせることも可能である。なお、本発明は、複数の機器(例えば、コンピュータ、インタフェース機器、リーダ、プリンタ等)から構成されるシステムに適用することも可能である。
[Other Embodiments]
The above-described first to fifth embodiments can be combined as appropriate. The present invention can also be applied to a system including a plurality of devices (eg, computer, interface device, reader, printer, etc.).

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

10,20,30:画像形成装置、11:コントローラ、12:操作部、13:スキャナ部、14:プリンタ部、301:CPU、302:RAM、303:起動用ROM、304:HDD、321:マイコン、322:接続制御部   10, 20, 30: Image forming device, 11: Controller, 12: Operation unit, 13: Scanner unit, 14: Printer unit, 301: CPU, 302: RAM, 303: Startup ROM, 304: HDD, 321: Microcomputer 322: Connection control unit

Claims (13)

情報処理装置であって、
第1制御手段と、
前記第1制御手段によって実行されるプログラムが格納された記憶手段と、
前記情報処理装置の起動時に、前記記憶手段にアクセスして前記プログラムが改竄されているか否かの検証を行う第2制御手段と、
前記第1制御手段及び前記第2制御手段のそれぞれから前記記憶手段へのアクセス用の信号線の接続を制御する接続制御手段であって、前記記憶手段に格納されている前記プログラムが改竄されていないことを示す検証結果が前記第2制御手段から通知されたことに従って、前記第1制御手段から前記記憶手段へのアクセスが可能になるよう、前記信号線の接続先を前記第2制御手段から前記第1制御手段に切り替える、前記接続制御手段と、
を備えることを特徴とする情報処理装置。
An information processing device,
First control means,
Storage means for storing a program executed by the first control means,
Second control means for accessing the storage means and verifying whether the program has been tampered with when the information processing apparatus is activated;
Connection control means for controlling connection of a signal line for access from each of the first control means and the second control means to the storage means, wherein the program stored in the storage means has been tampered with. The connection destination of the signal line is changed from the second control means so that the first control means can access the storage means in response to the notification of the verification result indicating that there is no such change from the second control means. Switching to the first control means, the connection control means,
An information processing device comprising:
前記第1制御手段は、前記信号線の接続先が前記第2制御手段から前記第1制御手段に切り替わると、前記記憶手段に格納されている前記プログラムを実行することによって起動し、
前記接続制御手段は、前記第1制御手段の起動が完了すると、前記信号線を、前記第1制御手段と前記第2制御手段とのいずれとも接続されていない未接続状態にする
ことを特徴とする請求項1に記載の情報処理装置。
The first control means is started by executing the program stored in the storage means when the connection destination of the signal line is switched from the second control means to the first control means,
The connection control means, when the activation of the first control means is completed, sets the signal line to an unconnected state in which it is not connected to either the first control means or the second control means. The information processing device according to claim 1.
前記接続制御手段は、前記情報処理装置の起動時に、前記信号線を前記第2制御手段に接続し、前記第2制御手段からの前記検証結果を示す通知に従って、前記信号線の接続先を前記第2制御手段から前記第1制御手段に切り替える
ことを特徴とする請求項1又は2に記載の情報処理装置。
The connection control unit connects the signal line to the second control unit when the information processing apparatus is activated, and determines the connection destination of the signal line according to the notification indicating the verification result from the second control unit. The information processing apparatus according to claim 1 or 2, wherein the second control means is switched to the first control means.
前記第2制御手段は、前記検証により前記記憶手段に格納されている前記プログラムが改竄されていないと判定すると、当該判定の結果を示す通知信号を、前記接続制御手段及び前記第1制御手段へ出力し、
前記接続制御手段は、前記第2制御手段からの前記通知信号に従って、前記信号線の接続先を前記第2制御手段から前記第1制御手段に切り替え、
前記第1制御手段は、前記第2制御手段からの前記通知信号が入力されることによってリセット状態が解除される
ことを特徴とする請求項1から3のいずれか1項に記載の情報処理装置。
When the second control unit determines that the program stored in the storage unit has not been tampered with by the verification, a notification signal indicating a result of the determination is sent to the connection control unit and the first control unit. Output,
The connection control means switches the connection destination of the signal line from the second control means to the first control means according to the notification signal from the second control means,
The information processing apparatus according to any one of claims 1 to 3, wherein the first control unit is released from the reset state by inputting the notification signal from the second control unit. .
前記第1制御手段は、前記リセット状態が解除されると、前記信号線を介して前記記憶手段にアクセスして前記プログラムを実行する
ことを特徴とする請求項4に記載の情報処理装置。
The information processing apparatus according to claim 4, wherein when the reset state is released, the first control unit accesses the storage unit via the signal line to execute the program.
前記接続制御手段は、前記信号線の接続先を前記第2制御手段から前記第1制御手段に切り替えた後に所定時間が経過すると、前記信号線を、前記第1制御手段と前記第2制御手段とのいずれとも接続されていない未接続状態にする
ことを特徴とする請求項2に記載の情報処理装置。
The connection control means, when a predetermined time elapses after switching the connection destination of the signal line from the second control means to the first control means, changes the signal line to the first control means and the second control means. The information processing apparatus according to claim 2, wherein the information processing apparatus is set to an unconnected state in which the information processing apparatus is not connected to any of the above.
前記接続制御手段は、前記記憶手段と前記接続制御手段との間の第3信号線を、前記第1制御手段に対応する第1信号線に接続した状態と、前記第2制御手段に対応する第2信号線に接続した状態と、前記第1信号線と前記第2信号線とのいずれとも接続されていない未接続状態との間で切り替える
ことを特徴とする請求項1から6のいずれか1項に記載の情報処理装置。
The connection control means corresponds to a state in which a third signal line between the storage means and the connection control means is connected to a first signal line corresponding to the first control means, and the second control means. 7. Switching between a state of being connected to a second signal line and an unconnected state of being not connected to either the first signal line or the second signal line, according to any one of claims 1 to 6. The information processing device according to item 1.
前記接続制御手段は、前記未接続状態において、前記第1制御手段から前記第1信号線へ出力された信号を検知すると、前記記憶手段に対するアクセス異常の発生を前記第1制御手段へ通知する
ことを特徴とする請求項7に記載の情報処理装置。
When the connection control means detects a signal output from the first control means to the first signal line in the unconnected state, the connection control means notifies the first control means that an access abnormality has occurred to the storage means. The information processing apparatus according to claim 7, wherein:
前記第1制御手段と前記接続制御手段との間には、前記第1制御手段と前記接続制御手段との通信のための制御バスが設けられており、
前記接続制御手段は、前記未接続状態において、前記制御バスを介して前記第1制御手段から前記信号線の接続指示を受信すると、前記記憶手段に格納された前記プログラムの前記第1制御手段による更新が可能になるよう、前記第1信号線と前記第3信号線とを接続する
ことを特徴とする請求項7又は8に記載の情報処理装置。
A control bus for communication between the first control means and the connection control means is provided between the first control means and the connection control means,
When the connection control means receives the connection instruction of the signal line from the first control means via the control bus in the unconnected state, the connection control means causes the first control means of the program stored in the storage means to operate. The information processing apparatus according to claim 7, wherein the first signal line and the third signal line are connected to each other so that the information can be updated.
前記接続制御手段は、前記第1制御手段及び前記第2制御手段から前記記憶手段へ出力される、SPIに準拠したチップセレクト信号を伝送するための信号線の接続を制御する
ことを特徴とする請求項1から9のいずれか1項に記載の情報処理装置。
The connection control means controls connection of a signal line for transmitting an SPI-compliant chip select signal output from the first control means and the second control means to the storage means. The information processing apparatus according to any one of claims 1 to 9.
前記第1制御手段及び前記第2制御手段のそれぞれと前記記憶手段との間には、前記記憶手段へのアクセス用の信号線と、前記記憶手段へのクロックの供給用の信号線と、前記記憶手段へのデータの入力用の信号線と、前記記憶手段からのデータの出力用の信号線とが設けられており、
前記接続制御手段は、前記記憶手段へのアクセス用の信号線の接続を制御する
ことを特徴とする請求項1から10のいずれか1項に記載の情報処理装置。
Between each of the first control means and the second control means and the storage means, a signal line for accessing the storage means, a signal line for supplying a clock to the storage means, and A signal line for inputting data to the storage means and a signal line for outputting data from the storage means are provided,
The information processing apparatus according to any one of claims 1 to 10, wherein the connection control unit controls connection of a signal line for access to the storage unit.
第1制御手段及び第2制御手段と、前記第1制御手段によって実行されるプログラムが格納された記憶手段と、を備える情報処理装置の制御方法であって、
前記第2制御手段が、前記情報処理装置の起動時に、前記記憶手段にアクセスして前記プログラムが改竄されているか否かの検証を行う検証工程と、
接続制御手段が、前記第1制御手段及び前記第2制御手段のそれぞれから前記記憶手段へのアクセス用の信号線の接続を制御する制御工程であって、前記記憶手段に格納されている前記プログラムが改竄されていないことを示す検証結果が前記第2制御手段から通知されたことに従って、前記第1制御手段から前記記憶手段へのアクセスが可能になるよう、前記信号線の接続先を前記第2制御手段から前記第1制御手段に切り替える、前記制御工程と、
を含むことを特徴とする情報処理装置の制御方法。
A control method for an information processing apparatus, comprising: a first control means and a second control means; and a storage means in which a program executed by the first control means is stored,
A verification step in which the second control means, when the information processing apparatus is activated, accesses the storage means and verifies whether or not the program has been tampered with;
The connection control means is a control step of controlling connection of a signal line for access from each of the first control means and the second control means to the storage means, and the program stored in the storage means In response to the fact that the verification result indicating that is not tampered with is notified from the second control means, the connection destination of the signal line is changed to the first so that the first control means can access the storage means. The control step of switching from two control means to the first control means;
A method for controlling an information processing device, comprising:
請求項12に記載の情報処理装置の制御方法の各工程をコンピュータに実行させるためのプログラム。   A program for causing a computer to execute each step of the control method of the information processing apparatus according to claim 12.
JP2018201157A 2018-10-25 2018-10-25 Information processing apparatus and method of controlling the same, and program Pending JP2020067904A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018201157A JP2020067904A (en) 2018-10-25 2018-10-25 Information processing apparatus and method of controlling the same, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018201157A JP2020067904A (en) 2018-10-25 2018-10-25 Information processing apparatus and method of controlling the same, and program

Publications (1)

Publication Number Publication Date
JP2020067904A true JP2020067904A (en) 2020-04-30

Family

ID=70390447

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018201157A Pending JP2020067904A (en) 2018-10-25 2018-10-25 Information processing apparatus and method of controlling the same, and program

Country Status (1)

Country Link
JP (1) JP2020067904A (en)

Similar Documents

Publication Publication Date Title
US10574854B2 (en) Imaging processing apparatus for receiving print data from server and performing image processing and method for controlling the same
US8190791B2 (en) Image forming apparatus, device managing apparatus, device managing system, status acquiring method, device managing method, and computer program
US10776494B2 (en) Method for verifying forgery and falsification of executable file in image forming apparatus and image forming apparatus using same
US11006013B2 (en) Image processing apparatus, having second processor to verify boot program has been altered, method of controlling the same, and storage medium
JP4209790B2 (en) Information processing apparatus, image forming apparatus, error processing method when starting program, and recording medium
CN112114842A (en) Information processing apparatus, control method thereof, and storage medium
US10061257B2 (en) Image forming apparatus
JP2020047064A (en) Information processing apparatus, control method thereof, and program
US20170242742A1 (en) Data processing device, control method for data processing device, and storage medium
KR102427496B1 (en) Image forming apparatus, control method for image forming apparatus, and program
US20050231756A1 (en) Image forming apparatus
US10795423B2 (en) Electronic apparatus with power saving mode, control method thereof, and storage medium
US20220021788A1 (en) Information processing apparatus, information processing method, and storage medium
JP2020067904A (en) Information processing apparatus and method of controlling the same, and program
JP5124241B2 (en) Information processing apparatus, information processing method, information processing program, and recording medium
JP2013101486A (en) Electronic equipment system, electronic equipment, and storage medium
US11816233B2 (en) Information processing apparatus
US9924059B2 (en) Apparatus having power-saving function, method of processing information, and computer program product
US20220121536A1 (en) Information processing apparatus
JP2021089607A (en) Information processing apparatus
JP2011107944A (en) Storage equipment
JP4803601B2 (en) Image processing apparatus and image forming apparatus
JP2022182838A (en) Information processing device and control method thereof
CN107111571B (en) Information processing device, information processing system, information processing method, computer program, and storage medium
JP2023167086A (en) Information processing apparatus and control method of information processing 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