JP2012078952A - Falsification detection device and falsification detection method - Google Patents

Falsification detection device and falsification detection method Download PDF

Info

Publication number
JP2012078952A
JP2012078952A JP2010221782A JP2010221782A JP2012078952A JP 2012078952 A JP2012078952 A JP 2012078952A JP 2010221782 A JP2010221782 A JP 2010221782A JP 2010221782 A JP2010221782 A JP 2010221782A JP 2012078952 A JP2012078952 A JP 2012078952A
Authority
JP
Japan
Prior art keywords
program
hash value
identification information
block
block program
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
JP2010221782A
Other languages
Japanese (ja)
Inventor
Yohei Yamada
洋平 山田
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Mita Corp
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 Kyocera Mita Corp filed Critical Kyocera Mita Corp
Priority to JP2010221782A priority Critical patent/JP2012078952A/en
Publication of JP2012078952A publication Critical patent/JP2012078952A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a falsification detection device and a falsification detection method allowing a reduction in the time required for starting a program.SOLUTION: A provided falsification detection device 408 comprises: hash value storage means 504 for storing block program identification information and a comparison hash value that is obtained by applying a predetermined hash function to a block program, in association with each other; selection means 502 for selecting, when a target program is started by a compound machine 100, specific block program identification information stored in the hash value storage means 504; hash value calculation means 505 for calculating a corresponding hash value by applying the hash function to a block program corresponding to the selected specific block program identification information; and detection means 508 for determining the presence/absence of falsification by comparing the corresponding hash value and the comparison hash value.

Description

本発明は、改ざん検知装置及び改ざん検知方法に関し、詳しくは、プログラムの起動に要する時間を短縮することが可能な改ざん検知装置及び改ざん検知方法に関する。   The present invention relates to a falsification detection device and a falsification detection method, and more particularly to a falsification detection device and a falsification detection method that can reduce the time required for starting a program.

近年、1台の機器でコピーとプリンタとスキャナとファクシミリとしての機能を実現した複写機、複合機等の画像形成装置が市販されるようになってきた。当該画像形成装置は、撮像部と印刷部と通信部等のハードウェアを備えると共に、コピーとプリンタとスキャナとファクシミリに対応する4種類のソフトウェアを備える。当該ソフトウェアが、ユーザの要求、指示に応じて適宜切り替わることにより、画像形成装置がコピーやプリンタやスキャナやファクシミリとして機能する。   In recent years, image forming apparatuses such as copiers and multifunction machines that have realized functions as a copy, a printer, a scanner, and a facsimile machine in a single device have come to be marketed. The image forming apparatus includes hardware such as an imaging unit, a printing unit, and a communication unit, and four types of software corresponding to a copy, a printer, a scanner, and a facsimile. When the software is appropriately switched according to a user request or instruction, the image forming apparatus functions as a copy, a printer, a scanner, or a facsimile.

前記画像形成装置を各機能毎に機能させるためには、アプリケーションやプラットフォーム等の様々なプログラム(ファームウェアその他のソフトウェア)が必要となる。当該プログラムは、画像形成装置の記憶媒体に予め記憶させておいたり、新しいバージョンのプログラムが開発された場合は、新たなプログラムに更新されたりする。   In order for the image forming apparatus to function for each function, various programs (firmware and other software) such as applications and platforms are required. The program is stored in advance in the storage medium of the image forming apparatus, or is updated to a new program when a new version of the program is developed.

しかしながら、上述したプログラムは、常時、画像形成装置の記憶媒体に記憶された状態であるため、悪意あるユーザが、人気のない時期を見計らって、当該記憶媒体にアクセスし、当該プログラムを改ざん(改変、文字化け等)することがある。又、更新可能なプログラムでは、画像形成装置が新しいプログラムを汎用のメモリカードやネットワークを介して授受するため、当該授受の途中で、上述のようにプログラムの改ざんが実行される場合がある。   However, since the above-described program is always stored in the storage medium of the image forming apparatus, a malicious user can access the storage medium in anticipation of an unpopular period and tamper (modify) the program. Garbled characters, etc.). In the updatable program, since the image forming apparatus sends and receives a new program via a general-purpose memory card or network, the program may be falsified as described above during the transfer.

このような問題を解決するために、特開2004−299389号公報(特許文献1)には、当該画像形成装置を機能させるプログラムが記憶された記憶媒体と、前記記憶媒体に記憶された前記プログラムを更新するためのプログラムが記憶された更新用記憶媒体をセットするための更新用記憶媒体セット手段とを備える画像形成装置が開示されている。当該画像形成装置は、前記更新用記憶媒体から取得される前記プログラムに係る電子署名の正当性を条件に、前記記憶媒体に記憶された前記プログラムを、前記更新用記憶媒体から取得される前記プログラムに更新するプログラム更新手段を備える。当該構成により、画像形成装置を機能させるプログラムを新たなプログラムに更新する場合に関して、その新たなプログラムの信頼性を向上させることを可能とするとしている。   In order to solve such a problem, Japanese Patent Application Laid-Open No. 2004-299389 (Patent Document 1) discloses a storage medium storing a program for causing the image forming apparatus to function, and the program stored in the storage medium. An image forming apparatus including an update storage medium setting unit for setting an update storage medium in which a program for updating the program is stored is disclosed. The image forming apparatus obtains the program stored in the storage medium from the update storage medium on condition that the electronic signature related to the program obtained from the update storage medium is valid. The program update means for updating is provided. With this configuration, when the program that causes the image forming apparatus to function is updated to a new program, the reliability of the new program can be improved.

又、特開2004−334392号公報(特許文献2)には、読み取り対象の記録媒体から、所定のプログラム、前記所定のプログラムを要約化及び暗号化した要約暗号化情報を含む記録情報を読み取る読取手段と、前記要約暗号化情報を復号化した第1の要約化情報と、前記所定のプログラムを新たに要約化した第2の要約化情報とが一致する場合に、前記所定のプログラムを実行し、一致しない場合には、前記所定のプログラムを実行しないように制御する制御手段とを備えたことを特徴とする記録媒体読取装置が開示されている。当該構成により、記録媒体の不正使用を防止するという優れた効果を有する記録媒体読取装置を提供することが出来るとしている。   Japanese Patent Laid-Open No. 2004-334392 (Patent Document 2) reads from a recording medium to be read a recording information including a predetermined program and summary encryption information obtained by summarizing and encrypting the predetermined program. Means, and when the first summary information obtained by decrypting the summary encryption information matches the second summary information obtained by newly summarizing the predetermined program, the predetermined program is executed. In addition, there is disclosed a recording medium reading device including a control unit that controls not to execute the predetermined program when they do not match. According to this configuration, it is possible to provide a recording medium reading device having an excellent effect of preventing unauthorized use of the recording medium.

又、特開2008−112443号公報(特許文献3)には、電子装置であって、メモリと、認証されたメモリ内容に基づいてハッシュ計算を遂行して有効ハッシュ値を発生し、前記メモリの内容についてハッシュ計算を周期的に遂行して検査ハッシュ値を発生するマイクロプロセッサとを含む電子装置が開示されている。当該マイクロプロセッサは、更に、前記有効ハッシュ値を認証し、前記検査ハッシュ値を認証された前記有効ハッシュ値と比較して前記メモリに対する権限のないアクセスを検出し、前記検査ハッシュ値が前記認証された有効ハッシュ値と一致しない場合に前記電子装置を動作停止して、前記権限のないメモリアクセスを妨げる。当該構成により、電子装置内の電子メモリ内容がいたずら(改ざん)されていないことを確かめることが可能となるとしている。   Japanese Patent Application Laid-Open No. 2008-112443 (Patent Document 3) is an electronic device that performs a hash calculation based on a memory and authenticated memory contents to generate a valid hash value. An electronic device is disclosed that includes a microprocessor that periodically performs a hash calculation on content to generate a check hash value. The microprocessor further authenticates the valid hash value, compares the check hash value with the authenticated valid hash value to detect unauthorized access to the memory, and the check hash value is authenticated. If it does not match the valid hash value, the electronic device is stopped to prevent unauthorized memory access. According to this configuration, it is possible to confirm that the contents of the electronic memory in the electronic device are not tampered (tampered).

特開2004−299389号公報JP 2004-299389 A 特開2004−334392号公報JP 2004-334392 A 特開2008−112443号公報JP 2008-112443 A

しかしながら、特許文献1−3に記載の技術では、いずれも、改ざん検知の対象となるプログラム全体(プログラムの実体であるバイナリデータ)に対して所定のハッシュ関数を適用し、当該適用によって得られたハッシュ値に基づいてプログラムの改ざん検知を実行している。ここで、ハッシュ値を算出するために要する時間(ハッシュ値の算出時間)は、プログラム全体のデータのサイズによるものの、プログラム全体のデータに対して前記ハッシュ関数を適用しているため、長期化することになる(例えば、数分−数十分等)。   However, in each of the techniques described in Patent Documents 1-3, a predetermined hash function is applied to the entire program (binary data that is the substance of the program) that is subject to falsification detection, and the technique is obtained by the application. Program tampering detection is executed based on the hash value. Here, the time required to calculate the hash value (the calculation time of the hash value) depends on the data size of the entire program, but is prolonged because the hash function is applied to the data of the entire program. (For example, several minutes to several tens of minutes).

そして、プログラムの改ざんを検知する場合、通常、プログラムを起動する際に実行することから、上述のように、ハッシュ値の算出時間が長期化すると、プログラムを起動するために要する時間、つまり、プログラムの起動開始から、プログラムの改ざんの検知、プログラムのデータの読み込み、プログラムの実行までの時間(プログラムの起動時間)も長期化することになる。その結果、上述した特許文献1−3に記載の技術では、プログラムの起動時間が長期化するという問題がある。   When detecting the alteration of the program, it is usually executed when the program is started. Therefore, if the calculation time of the hash value is prolonged as described above, the time required to start the program, that is, the program The time (program activation time) from the start of activation to detection of program tampering, reading of program data, and execution of the program is also prolonged. As a result, the technique described in Patent Documents 1-3 described above has a problem that the startup time of the program is prolonged.

一方、プログラムが改ざんされた場合、プログラム全体のうち、改ざんされたデータの後続のプログラム(データ)は、改ざん前の当該後続のプログラム(データ)と全く異なるプログラム(データ)に変更される。つまり、プログラム全体に対してハッシュ関数を適用しなくても、当該改ざんにより変更されたプログラム(データ)の一部に対してハッシュ関数を適用すれば、プログラム全体の改ざんを検知することが出来ることになる。このような実情を適切に利用すれば、上述したハッシュ値の算出時間を短縮し、更に、プログラムの起動時間を短縮出来る場合がある。   On the other hand, when the program is altered, the subsequent program (data) of the altered data in the entire program is changed to a completely different program (data) from the subsequent program (data) before the alteration. In other words, even if the hash function is not applied to the entire program, if the hash function is applied to a part of the program (data) changed by the alteration, the alteration of the entire program can be detected. become. If such a situation is appropriately used, the calculation time of the hash value described above may be shortened, and further, the startup time of the program may be shortened.

そこで、本発明は、上記問題を解決するためになされたものであり、プログラムの起動に要する時間を短縮することが可能な改ざん検知装置及び改ざん検知方法を提供することを目的とする。   Therefore, the present invention has been made to solve the above-described problem, and an object thereof is to provide a falsification detection device and a falsification detection method capable of reducing the time required for starting a program.

上述した課題を解決し、目的を達成するために、本発明に係る改ざん検知装置は、装置のプログラムが改ざんされたか否かを検知する改ざん検知装置であり、当該改ざん検知装置において、前記プログラム全体を所定数のブロックに分割することにより得られるブロックプログラムのブロックプログラム識別情報と、前記ブロックプログラムに所定のハッシュ関数を適用して得られる比較ハッシュ値とを関連付けて記憶するハッシュ値記憶手段と、前記装置が前記プログラムを起動する際に、前記ハッシュ値記憶手段に記憶された特定のブロックプログラム識別情報を選択する選択手段とを備える。更に、当該改ざん検知装置は、選択された特定のブロックプログラム識別情報に対応するブロックプログラムに前記ハッシュ関数を適用して対応ハッシュ値を算出するハッシュ値算出手段と、前記対応ハッシュ値と前記比較ハッシュ値とを比較することにより、両者が一致しない場合に、前記プログラムが改ざんされたと検知する検知手段とを備える。   In order to solve the above-described problems and achieve the object, the falsification detection device according to the present invention is a falsification detection device that detects whether or not the program of the device has been falsified. In the falsification detection device, the entire program Hash value storage means for storing the block program identification information of the block program obtained by dividing the block program into a predetermined number of blocks and the comparison hash value obtained by applying a predetermined hash function to the block program in association with each other; And selecting means for selecting specific block program identification information stored in the hash value storage means when the apparatus starts the program. Further, the falsification detection device includes a hash value calculation unit that calculates a corresponding hash value by applying the hash function to a block program corresponding to the selected specific block program identification information, the corresponding hash value, and the comparison hash And detecting means for detecting that the program has been tampered with when the two values do not match.

当該構成により、装置がプログラムを起動する際に行なわれるプログラムの改ざん検知は、当該プログラム全体のデータから対応ハッシュ値を算出するのではなく、プログラム全体の一部であるブロックプログラムから対応ハッシュ値を算出する。そのため、前記プログラムの改ざんを検知するためのハッシュ値の算出時間を著しく短縮することが可能となり、その結果、前記プログラムの起動時間を飛躍的に短縮することが可能となる。   With this configuration, the falsification detection of the program performed when the device starts the program does not calculate the corresponding hash value from the data of the entire program, but the corresponding hash value from the block program that is a part of the entire program. calculate. Therefore, the calculation time of the hash value for detecting the alteration of the program can be remarkably shortened, and as a result, the startup time of the program can be drastically shortened.

又、前記選択手段は、特定のブロックプログラム識別情報を選択する場合に、プログラムの種類、目的、用途に応じて、予め設定された選択数のブロックプログラム識別情報を選択するよう構成することが出来る。   The selecting means may be configured to select a predetermined number of block program identification information in accordance with the type, purpose, and application of the program when selecting specific block program identification information. .

又、前記選択手段が、特定のブロックプログラム識別情報を選択する場合に、プログラム全体のうち、半分から後尾までのデータに含まれるブロックプログラムのブロックプログラム識別情報を他のブロックプログラム識別情報よりも優先して選択するよう構成することが出来る。   Further, when the selection means selects specific block program identification information, the block program identification information of the block program included in the data from half to the end of the entire program takes priority over other block program identification information. Can be configured to select.

又、前記ブロックプログラムの所定数は、分割後のブロックプログラムに前記ハッシュ関数を適用してハッシュ値を算出した場合に、当該ハッシュ値を算出するために要する時間が、予め設定された所定時間未満となるように決定された構成とすることが出来る。   In addition, the predetermined number of the block programs is less than a preset predetermined time when the hash function is calculated by applying the hash function to the divided block program and the hash value is calculated. It can be set as the structure determined so that it might become.

更に、前記検知手段により前記プログラムの改ざんが検知された場合に、不一致の比較ハッシュ値に対応するブロックプログラム識別情報を優先選択記憶手段に一時記憶させ、改ざんされたプログラムが修復されると、一時記憶されたブロックプログラム識別情報を前記優先選択記憶手段から消去する機能停止手段を備え、前記選択手段は、前記優先選択記憶手段に前記ブロックプログラム識別情報が一時記憶されている場合に、当該ブロックプログラム識別情報を優先して選択するよう構成することが出来る。   Further, when the detection unit detects the alteration of the program, the block program identification information corresponding to the mismatch hash value is temporarily stored in the priority selection storage unit, and when the altered program is restored, A function stop unit for erasing the stored block program identification information from the priority selection storage unit; and the selection unit is configured to store the block program identification information when the block program identification information is temporarily stored in the priority selection storage unit. It can be configured to select the identification information with priority.

又、前記機能停止手段は、前記装置の動作を停止させるとともに当該装置に備えられた操作部にエラー画面を表示させる処理、不一致の比較ハッシュ値に対応するブロックプログラム識別情報のブロックプログラムを改ざん解析記憶手段に記憶させる処理、前記プログラムへのアクセスログ又はネットワークから前記プログラムへの通信ログを前記改ざん解析記憶手段に記憶させる処理、ユーザ情報を記憶しているユーザ情報記憶手段へのアクセス又はネットワークへのアクセスを禁止させる処理のうち、少なくともいずれかの処理を実行するよう構成することが出来る。   In addition, the function stopping means stops the operation of the apparatus and displays an error screen on the operation unit provided in the apparatus, and analyzes the falsification of the block program of the block program identification information corresponding to the mismatched comparison hash value Processing stored in storage means, access log to the program or communication log from the network to the program stored in the falsification analysis storage means, access to user information storage means storing user information or network It is possible to configure to execute at least one of the processes for prohibiting access.

又、前記ハッシュ値記憶手段は、前記ブロックプログラムに所定の付加情報を付加した後のプログラムに、前記ハッシュ関数を適用して得られるハッシュ値を比較ハッシュ値として記憶し、前記ハッシュ値算出手段は、前記ブロックプログラムに前記付加情報を付加した後のプログラムに、前記ハッシュ関数を適用して対応ハッシュ値を算出するよう構成することが出来る。   The hash value storage means stores a hash value obtained by applying the hash function to the program after adding predetermined additional information to the block program as a comparison hash value, and the hash value calculation means The corresponding hash value can be calculated by applying the hash function to the program after the additional information is added to the block program.

又、本発明は、前記改ざん検知装置を備えた画像形成装置を提供することが出来る。   In addition, the present invention can provide an image forming apparatus including the falsification detection device.

又、本発明は、装置のプログラムが改ざんされたか否かを検知する改ざん検知方法として提供することが出来る。即ち、当該改ざん検知方法において、前記装置が前記プログラムを起動する際に、前記プログラム全体を所定数のブロックに分割することにより得られるブロックプログラムのブロックプログラム識別情報と、前記ブロックプログラムに所定のハッシュ関数を適用して得られる比較ハッシュ値とを関連付けて記憶するハッシュ値記憶手段を参照する参照ステップと、前記ハッシュ値記憶手段に記憶された特定のブロックプログラム識別情報を選択する識別情報選択ステップとを含む。更に、改ざん検知方法は、選択された特定のブロックプログラム識別情報に対応するブロックプログラムに前記ハッシュ関数を適用して対応ハッシュ値を算出するハッシュ値算出ステップと、前記対応ハッシュ値と前記比較ハッシュ値とを比較することにより、両者が一致しない場合に、前記プログラムが改ざんされたと検知する改ざん検知ステップとを含む。当該構成としても、上述と同様の効果を得ることが可能となる。   In addition, the present invention can be provided as a tampering detection method for detecting whether or not the device program has been tampered with. That is, in the falsification detection method, when the apparatus starts the program, the block program identification information of the block program obtained by dividing the entire program into a predetermined number of blocks, and a predetermined hash in the block program A reference step for referring to a hash value storage unit that associates and stores a comparison hash value obtained by applying a function, and an identification information selection step for selecting specific block program identification information stored in the hash value storage unit; including. Further, the falsification detection method includes a hash value calculation step of calculating a corresponding hash value by applying the hash function to a block program corresponding to the selected specific block program identification information, and the corresponding hash value and the comparison hash value And a tampering detection step of detecting that the program has been tampered with when they do not match. Even with this configuration, the same effect as described above can be obtained.

本発明の改ざん検知装置及び改ざん検知方法によれば、プログラムの起動に要する時間を短縮することが可能となる。   According to the falsification detection device and the falsification detection method of the present invention, it is possible to reduce the time required for starting the program.

本発明に係る複合機の内部の全体構成を示す概念図である。1 is a conceptual diagram illustrating an overall configuration inside a multifunction peripheral according to the present invention. 本発明に係る画像読取部の拡大図である。It is an enlarged view of the image reading part which concerns on this invention. 本発明に係る操作部の全体構成を示す概念図である。It is a conceptual diagram which shows the whole structure of the operation part which concerns on this invention. 本発明に係る複合機及び改ざん検知部の制御系ハードウェアの構成を示す図である。It is a figure which shows the structure of the control system hardware of the multifunctional device and tampering detection part which concern on this invention. 本発明の実施形態における複合機及び操作部の機能ブロック図である。2 is a functional block diagram of a multifunction peripheral and an operation unit in the embodiment of the present invention. FIG. 本発明の実施形態の実行手順を示すためのフローチャートである。It is a flowchart for showing the execution procedure of the embodiment of the present invention. 本発明の実施形態に係るハッシュ値テーブルの一例を示す図(図7(A))と、本発明の実施形態に係るブロックプログラムの一例を示す図(図7(B))である。FIG. 7 is a diagram (FIG. 7A) showing an example of a hash value table according to the embodiment of the present invention, and a diagram (FIG. 7B) showing an example of a block program according to the embodiment of the present invention. 本発明の実施形態に係る改ざんされる前のプログラムと、改ざん後のプログラムの一例を示す図(図8(A))と、本発明の実施形態に係るタッチパネル上に表示された初期画面の一例を示す図(図8(B))である。FIG. 8A shows an example of a program before falsification according to an embodiment of the present invention, a program after falsification (FIG. 8A), and an example of an initial screen displayed on a touch panel according to an embodiment of the present invention. It is a figure (FIG.8 (B)) which shows this. 本発明の実施形態に係る優先選択テーブルの一例を示す図(9(A))と、本発明の実施形態に係るエラー画面の一例を示す図(9(B))である。FIG. 9B is a diagram showing an example of a priority selection table according to the embodiment of the present invention (9A), and FIG.

以下に、添付図面を参照して、本発明の改ざん検知装置を備えた画像形成装置の実施形態について説明し、本発明の理解に供する。尚、以下の実施形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定する性格のものではない。又、フローチャートにおける数字の前に付されたアルファベット「S」はステップを意味する。   Hereinafter, an embodiment of an image forming apparatus provided with a tampering detection apparatus according to the present invention will be described with reference to the accompanying drawings for understanding of the present invention. In addition, the following embodiment is an example which actualized this invention, Comprising: The thing of the character which limits the technical scope of this invention is not. In addition, the alphabet “S” added in front of the numbers in the flowcharts means steps.

<画像形成装置及び改ざん検知装置>
以下に、本発明に係る改ざん検知装置(例えば、改ざん検知部)を備えた画像形成装置(例えば、複合機)について説明する。
<Image forming apparatus and falsification detection apparatus>
Hereinafter, an image forming apparatus (for example, a multi-function peripheral) including a tamper detection apparatus (for example, a tamper detection unit) according to the present invention will be described.

図1は、本発明に係る複合機の内部の全体構成を示す概念図である。ただし、本発明に直接には関係しない各部の詳細は省略している。   FIG. 1 is a conceptual diagram showing an overall internal configuration of a multifunction machine according to the present invention. However, details of each part not directly related to the present invention are omitted.

本発明の複合機100は、例えばプリンタやスキャナ単体、あるいはプリンタ、コピー、スキャナ、ファックス等を備えた複合機等が該当する。尚、一例として複合機を利用して原稿のコピー機能を提供する際の複合機100の動作を簡単に説明する。   The multifunction peripheral 100 of the present invention corresponds to, for example, a printer, a single scanner, or a multifunction peripheral including a printer, a copy, a scanner, a fax machine, and the like. As an example, the operation of the multifunction device 100 when providing a document copy function using the multifunction device will be briefly described.

ユーザが複合機100を利用して例えば原稿Pの印刷を行う場合、複合機100の電源を投入すると、複合機100の制御部(図示せず)が、記憶部(図示せず)に記憶された画像形成に関するプログラムを起動する際に、複合機100の内部に組み込まれた(接続された)改ざん検知部(図示せず)に当該プログラムの改ざんを検知させる。   When the user prints, for example, an original P using the multifunction device 100, when the power of the multifunction device 100 is turned on, a control unit (not shown) of the multifunction device 100 is stored in a storage unit (not shown). When a program related to image formation is started, a falsification detection unit (not shown) incorporated (connected) in the MFP 100 is detected to detect falsification of the program.

当該改ざん検知部が前記プログラムの改ざんを検知した場合、前記制御部は、画像形成に関する全ての機能を停止し、原稿台101近傍に供えられた操作部103に対してエラー画面を表示させる。   When the falsification detection unit detects falsification of the program, the control unit stops all functions related to image formation and displays an error screen on the operation unit 103 provided near the document table 101.

一方、前記改ざん検知部が前記プログラムの改ざんを検知しない場合、前記制御部は、以下に示す各部(駆動部)を、画像形成を実行可能な通常状態へ遷移(移行)させる。更に、前記制御部は、前記操作部103に対して画像形成に関する画面(初期画面)を表示させる。   On the other hand, when the falsification detection unit does not detect falsification of the program, the control unit causes each of the following units (drive units) to transition (transition) to a normal state in which image formation can be performed. Further, the control unit causes the operation unit 103 to display a screen (initial screen) relating to image formation.

ユーザは、前記初期画面を見ながら、原稿Pを図1に示す原稿台101、或いは載置台102に載置し、前記初期画面を介してコピー条件を入力し、印刷の指示を行う。操作部103の構成については後述する。当該印刷の指示があると、前記駆動部が動作することで、印刷が行われる。   While viewing the initial screen, the user places the original P on the original table 101 or the mounting table 102 shown in FIG. 1, inputs the copy conditions via the initial screen, and issues a print instruction. The configuration of the operation unit 103 will be described later. When there is an instruction for printing, the drive unit operates to perform printing.

即ち、図1に示すように、本発明の複合機100は、本体104と、本体104の上方に取り付けられたプラテンカバー105を備える。本体104の上面は原稿台101が設けられており、原稿台101は、プラテンカバー105によって開閉されるようになっている。プラテンカバー105は、自動原稿給紙装置106と載置台102と排紙台107が設けられている。   That is, as shown in FIG. 1, the multifunction peripheral 100 of the present invention includes a main body 104 and a platen cover 105 attached above the main body 104. A document table 101 is provided on the upper surface of the main body 104, and the document table 101 is opened and closed by a platen cover 105. The platen cover 105 is provided with an automatic document feeder 106, a placement table 102, and a sheet discharge table 107.

自動原稿給紙装置106は、プラテンカバー105の内部に形成された原稿搬送路108と、プラテンカバー105の内部に備えられたピックアップローラ109や搬送ローラ110A、110B等で構成される。原稿搬送路108は、載置台102から、本体104に設けられた画像読取部111にて読み取りが行なわれる読取位置Xを経由して、排紙台107に通じる原稿の搬送路である。   The automatic document feeder 106 includes a document conveyance path 108 formed in the platen cover 105, a pickup roller 109 and conveyance rollers 110A and 110B provided in the platen cover 105, and the like. The document conveyance path 108 is a document conveyance path that leads from the mounting table 102 to the paper discharge table 107 via a reading position X where reading is performed by the image reading unit 111 provided in the main body 104.

自動原稿給紙装置106は、載置台102に載置された複数の原稿から1枚ずつ原稿をピックアップローラ109で搬送路内108に引き出し、搬送ローラ等によって引き出した原稿を、読取位置Xを通過させて、搬送ローラ110Bにより排紙台107に排紙する。読取位置Xを通過する時に原稿は画像読取部111にて読み取られる。   The automatic document feeder 106 pulls out documents one by one from a plurality of documents placed on the table 102 to the inside of the conveyance path 108 by a pickup roller 109, and passes the document drawn by the conveyance rollers etc. through the reading position X. Then, the paper is discharged onto the paper discharge tray 107 by the transport roller 110B. When the document passes through the reading position X, the document is read by the image reading unit 111.

上記画像読取部111は、原稿台101の下方に設けられており、図2にその詳細が示されている。画像読取部111は、原稿台101を照射する走査方向に長い光源112と、原稿台からの光を選択的に通過させるスリット113と、原稿台からの光を導くミラー114とを備える第一の移動キャリッジ115や、第一の移動キャリッジ115からの反射光を再度反射するミラー116A、116Bを備える第二の移動キャリッジ117、更にミラーで導かれた光を光学的に補正するレンズ群118、当該レンズ群118より補正された光を受光する撮像素子119、撮像素子119にて受光した光を電気信号に変換し、必要に応じて補正処理・画質処理・圧縮処理などを行う画像データ生成部120とで構成されている。   The image reading unit 111 is provided below the document table 101, and its details are shown in FIG. The image reading unit 111 includes a first light source 112 that illuminates the document table 101 in the scanning direction, a slit 113 that selectively allows light from the document table, and a mirror 114 that guides light from the document table. The movable carriage 115, the second movable carriage 117 including mirrors 116A and 116B that reflect the reflected light from the first movable carriage 115 again, and the lens group 118 that optically corrects the light guided by the mirror, An image sensor 119 that receives light corrected by the lens group 118, and an image data generator 120 that converts the light received by the image sensor 119 into an electrical signal and performs correction processing, image quality processing, compression processing, and the like as necessary. It consists of and.

自動原稿給紙装置106上の原稿を読み取る場合には、光源112は、読取位置Xを照射できる位置に移動して発光する。光源112からの光は、原稿台101を透過して読取位置Xを通過する原稿にて反射し、スリット113、ミラー114、116A、116B、レンズ群118によって撮像素子119に導かれる。撮像素子119は、受光した光を電気信号に変換して画像データ生成部120に送信する。画像データ生成部120には、上記撮像素子119にて受光された光がR(レッド)、G(グリーン)、B(ブルー)のアナログ電気信号として入力され、ここでアナログ−デジタル変換され、即ちデジタル化される。さらに、画像データ生成部120では、順次変換されたデジタル信号を単位データとし、これら単位データを補正処理、画質処理、圧縮処理等することで複数の単位データからなる画像データを生成する。   When reading a document on the automatic document feeder 106, the light source 112 moves to a position where the reading position X can be irradiated and emits light. Light from the light source 112 is reflected by a document that passes through the document table 101 and passes through the reading position X, and is guided to the image sensor 119 by the slit 113, mirrors 114, 116A, and 116B, and the lens group 118. The image sensor 119 converts the received light into an electrical signal and transmits it to the image data generation unit 120. The light received by the image sensor 119 is input to the image data generation unit 120 as analog electrical signals of R (red), G (green), and B (blue), where analog-digital conversion is performed. Digitized. Further, the image data generation unit 120 uses the sequentially converted digital signal as unit data, and generates image data including a plurality of unit data by performing correction processing, image quality processing, compression processing, and the like on the unit data.

又、画像読取部111は、自動原稿給紙装置106で搬送される原稿だけでなく、原稿台101に載置された原稿も読み取ることが可能となっている。原稿台101に載置された原稿を読み取る場合は、第一のキャリッジ114は、光源112を発光しながら副走査方向に移動し、光源112から撮像素子119までの光路長を一定にするために、第二の移動キャリッジ117は第一の移動キャリッジ115の1/2の速度で撮像素子119方向に移動する。   Further, the image reading unit 111 can read not only a document conveyed by the automatic document feeder 106 but also a document placed on the document table 101. When reading the document placed on the document table 101, the first carriage 114 moves in the sub-scanning direction while emitting the light source 112, so that the optical path length from the light source 112 to the image sensor 119 is constant. The second moving carriage 117 moves in the direction of the image sensor 119 at a half speed of the first moving carriage 115.

撮像素子119は、自動原稿給紙装置106に搬送された原稿のときと同様に、ミラー114、116A、116Bに導かれた光に基づいて原稿台101に載置された原稿からの光を電気信号に変換し、これに基づいて画像データ生成部120が画像データを生成し、画像記憶部120Bに記憶する。   The image sensor 119 electrically outputs the light from the document placed on the document table 101 based on the light guided to the mirrors 114, 116 A, and 116 B, as in the case of the document conveyed to the automatic document feeder 106. Based on this, the image data generation unit 120 generates image data and stores the image data in the image storage unit 120B.

本体104の画像読取部111の下方には、画像データを印刷する画像形成部121を備えている。画像形成部121が印刷できる画像データは、上記のように画像データ生成部120にて生成されたものや、その他、複合機100とLAN等のネットワークに接続されたパーソナルコンピューター等の端末から通信部(ネットワークインターフェイス、図示せず)を介して受信したものである。尚、通信部は、ファクシミリ送受信機能、電子メール送受信機能等で用いられる。   An image forming unit 121 that prints image data is provided below the image reading unit 111 of the main body 104. The image data that can be printed by the image forming unit 121 is generated by the image data generating unit 120 as described above, or from a terminal such as a personal computer connected to the MFP 100 and a network such as a LAN. (Network interface, not shown). The communication unit is used for a facsimile transmission / reception function, an electronic mail transmission / reception function, and the like.

さて、画像形成部121が行う印刷方式には、電子写真方式が用いられている。即ち、感光ドラム122を帯電器123で一様に帯電させ、その後レーザ124で感光ドラム122を照射して感光ドラム122に潜像を形成し、現像器125で潜像にトナーを付着させて可視像を形成し、転写ローラにて可視像を転写媒体に転写する方式である。   As a printing method performed by the image forming unit 121, an electrophotographic method is used. That is, the photosensitive drum 122 is uniformly charged by the charger 123, and then a latent image is formed on the photosensitive drum 122 by irradiating the photosensitive drum 122 with a laser 124, and toner is attached to the latent image by the developing device 125. In this method, a visual image is formed and the visible image is transferred to a transfer medium by a transfer roller.

尚、フルカラー画像に対応した複合機では、上記現像器(ロータリー現像器)125が、図1の紙面に対して垂直方向に構成される回転軸を中心として周方向に回転させられ、対応する色のトナーが格納された現像ユニットが感光ドラム122の対向位置に配置される。この状態で、感光ドラム122上の潜像が、現像器125が格納するトナーにより現像され、中間転写ベルト126Aに転写される。なお、現像器125は、イエロー(Y)、シアン(C)、マゼンタ(M)、ブラック(K)の各トナーをそれぞれ格納する4つの現像ユニット125(Y)、(C)、(M)、(K)を有している。上記中間転写ベルト126Aへの転写を上記各色毎に繰り返すことにより、当該中間転写ベルト126A上にフルカラー画像が形成される。   Note that in a multi-function device that supports full-color images, the developing device (rotary developing device) 125 is rotated in the circumferential direction around a rotation axis that is configured in a direction perpendicular to the paper surface of FIG. The developing unit storing the toner is disposed at a position facing the photosensitive drum 122. In this state, the latent image on the photosensitive drum 122 is developed with toner stored in the developing device 125 and transferred to the intermediate transfer belt 126A. The developing unit 125 includes four developing units 125 (Y), (C), (M), and yellow (Y), cyan (C), magenta (M), and black (K), respectively. (K). By repeating the transfer to the intermediate transfer belt 126A for each color, a full color image is formed on the intermediate transfer belt 126A.

可視像が印刷される転写媒体、即ち用紙は、給紙カセット132、133、134などの給紙トレイに載置されたものである。   A transfer medium on which a visible image is printed, that is, a sheet, is placed on a sheet feeding tray such as a sheet feeding cassette 132, 133, or 134.

画像形成部121が印刷を行う際には、何れか1つの給紙トレイから転写媒体1枚を、ピックアップローラ135を用いて引き出し、引き出した転写媒体を搬送ローラ136やレジストローラ137で中間転写ベルト126Aと転写ローラ126Bの間に送り込む。   When the image forming unit 121 performs printing, one transfer medium is pulled out from any one of the paper feed trays by using the pickup roller 135, and the transferred transfer medium is intermediate transfer belt by the transport roller 136 or the registration roller 137. It is fed between 126A and the transfer roller 126B.

画像形成部121は、中間転写ベルト126Aと転写ローラ126Bの間に送り込んだ転写媒体に、上記中間転写ベルト126A上の可視像を転写すると、可視像を定着させるために、搬送ベルト127で定着部128(定着装置)に転写媒体を送る。定着部128は、ヒータが内蔵された加熱ローラ129と、所定の圧力で加熱ローラ129に押し当てられた加圧ローラ130とで構成されている。加熱ローラ129と加圧ローラ130の間を転写媒体が通過すると、熱と転写媒体への押圧力によって可視像が転写媒体に定着する。定着が行われた転写媒体は排紙トレイ131に排紙される。   When the visible image on the intermediate transfer belt 126A is transferred to the transfer medium fed between the intermediate transfer belt 126A and the transfer roller 126B, the image forming unit 121 uses the transport belt 127 to fix the visible image. The transfer medium is sent to the fixing unit 128 (fixing device). The fixing unit 128 includes a heating roller 129 with a built-in heater and a pressure roller 130 pressed against the heating roller 129 with a predetermined pressure. When the transfer medium passes between the heating roller 129 and the pressure roller 130, the visible image is fixed to the transfer medium by heat and a pressing force to the transfer medium. The fixed transfer medium is discharged to a discharge tray 131.

上記手順により、複合機100はコピー機能の処理をユーザに提供する。尚、前記改ざん検知部は、前記制御部が画像形成に関するプログラムを起動する際に、当該プログラムの改ざんを検知したが、例えば、前記制御部が所定のプログラムを起動する際には、同様に、当該改ざん検知部が当該プログラムの改ざんを検知することになる。   Through the above procedure, the multifunction peripheral 100 provides the user with a copy function process. The falsification detection unit detects falsification of the program when the control unit activates a program related to image formation.For example, when the control unit activates a predetermined program, similarly, The falsification detection unit detects falsification of the program.

図3は、本発明に係る操作部の全体構成を示す概念図である。   FIG. 3 is a conceptual diagram showing the overall configuration of the operation unit according to the present invention.

ユーザは、前記操作部103を用いて、上述のような画像形成についての設定条件等を入力したり、入力された設定条件等を確認したりする。前記設定条件等が入力される場合、前記操作部103に備えられたタッチパネル301(操作パネル)、タッチペン302、操作キー303が用いられる。   The user uses the operation unit 103 to input setting conditions for image formation as described above, and to confirm the input setting conditions. When the setting conditions and the like are input, a touch panel 301 (operation panel), a touch pen 302, and operation keys 303 provided in the operation unit 103 are used.

前記タッチパネル301には、アナログ抵抗膜方式が採用され、透光性を有する上部フィルムと下部ガラス基板とがスペーサを介して重ね合わされた構成となっており、上部フィルムと下部ガラス基板との各々の対向面には、ITO(Indium Tin Oxide)等からなる透明電極層が設けられている。更に、上部フィルムがユーザにより押下されると、当該押下位置に対応する上部フィルム側の透明電極層と下部ガラス基板側の透明電極層とが接触するよう構成されている。上部フィルム又は下部ガラス基板に電圧を印加し、下部ガラス基板又は上部フィルムから押下位置に対応する電圧値を取り出すことにより、当該電圧値に対応する座標値(押下位置)を検出する。検出された押下位置が、タッチパネル上に表示されたキーボード画面内の文字キー等の表示領域内に含まれると、当該文字が入力される。尚、文字キーの他に、例えば、キーボードキー、設定条件キー等であっても同様である。   The touch panel 301 employs an analog resistance film method, and has a structure in which a translucent upper film and a lower glass substrate are overlapped via a spacer, and each of the upper film and the lower glass substrate. A transparent electrode layer made of ITO (Indium Tin Oxide) or the like is provided on the facing surface. Further, when the upper film is pressed by the user, the transparent electrode layer on the upper film side and the transparent electrode layer on the lower glass substrate side corresponding to the pressed position are in contact with each other. By applying a voltage to the upper film or the lower glass substrate and taking out a voltage value corresponding to the pressed position from the lower glass substrate or the upper film, a coordinate value (pressed position) corresponding to the voltage value is detected. When the detected pressed position is included in a display area such as a character key in the keyboard screen displayed on the touch panel, the character is input. The same applies to, for example, keyboard keys and setting condition keys in addition to character keys.

又、下部ガラス基板の下方には、LCD(Liquid Crystal Display)等の表示部が設けられており、当該表示部が、例えば、プログラムの改ざんが検知された場合のエラー画面、初期画面等の画面を表示することにより、タッチパネル上に特定の画面が表示される。これにより、タッチパネル301には、設定条件等を入力する機能と前記画面を表示する機能が兼ね備えられる。   In addition, a display unit such as an LCD (Liquid Crystal Display) is provided below the lower glass substrate, and the display unit displays, for example, an error screen or an initial screen when a program alteration is detected. By displaying, a specific screen is displayed on the touch panel. Thereby, the touch panel 301 has both a function for inputting setting conditions and the like and a function for displaying the screen.

又、タッチパネル301の近傍には、タッチペン302が備えられており、ユーザがそのタッチペン302の先をタッチパネル301に接触させると、当該接触位置(押下位置)に対応する座標値が、上記と同様に出力され、ユーザはタッチペン302により、表示された文字キー等を押下・選択することが可能となる。   In addition, a touch pen 302 is provided in the vicinity of the touch panel 301. When the user touches the touch pen 301 with the tip of the touch pen 302, the coordinate value corresponding to the contact position (pressed position) is the same as described above. Then, the user can press and select the displayed character key or the like with the touch pen 302.

更に、タッチパネル301近傍には、所定数の操作キー303が設けられ、例えば、テンキー304、スタートキー305、クリアキー306、ストップキー307、リセットキー308、電源キー309が備えられている。   Further, a predetermined number of operation keys 303 are provided in the vicinity of the touch panel 301, and for example, a numeric keypad 304, a start key 305, a clear key 306, a stop key 307, a reset key 308, and a power key 309 are provided.

次に、図4を用いて、複合機100及び改ざん検知部の制御系ハードウェアの構成を説明する。図4は、本発明に係る複合機及び改ざん検知部の制御系ハードウェアの構成を示す図である。ただし、本発明に直接には関係しない各部の詳細は省略している。   Next, the configuration of the control system hardware of the MFP 100 and the falsification detection unit will be described with reference to FIG. FIG. 4 is a diagram illustrating a configuration of control system hardware of the multifunction peripheral and the falsification detection unit according to the present invention. However, details of each part not directly related to the present invention are omitted.

複合機100の制御回路は、CPU(Central Processing Unit)401、ROM(Read Only Memory)402、RAM(Random Access Memory)403、HDD(Hard Disk Drive)404、各駆動部に対応するドライバ405を内部バス406によって接続している。上記CPU401は、例えば、RAM403を作業領域として利用し、上記ROM402、HDD404等に記憶されているプログラムを実行し、当該実行結果に基づいて上記ドライバ405、操作部103、改ざん検知部408からのデータや指示を授受し、上記図1に示した各駆動部の動作を制御する。また、上記駆動部以外の後述する各手段(図5に示す)についても、上記CPU401がプログラムを実行することで当該各手段を実現する。   The control circuit of the MFP 100 includes a CPU (Central Processing Unit) 401, a ROM (Read Only Memory) 402, a RAM (Random Access Memory) 403, an HDD (Hard Disk Drive) 404, and a driver 405 corresponding to each drive unit. They are connected by a bus 406. The CPU 401 uses, for example, the RAM 403 as a work area, executes a program stored in the ROM 402, the HDD 404, and the like, and based on the execution result, data from the driver 405, the operation unit 103, and the falsification detection unit 408. And instructions are given, and the operation of each drive unit shown in FIG. 1 is controlled. In addition, each means (shown in FIG. 5) other than the above-described drive unit is realized by the CPU 401 executing a program.

又、制御回路の内部バス406には、内部インターフェイス407も接続されており、当該内部インターフェイス407は、改ざん検知部408の制御回路と複合機100の制御回路とを接続する。CPU401は、内部インターフェイス407を介して改ざん検知部408の制御回路からの命令信号を受信したり、改ざん検知部408の制御回路へ命令信号、データ等を送信したりする。   An internal interface 407 is also connected to the internal bus 406 of the control circuit, and the internal interface 407 connects the control circuit of the falsification detection unit 408 and the control circuit of the multifunction device 100. The CPU 401 receives a command signal from the control circuit of the falsification detection unit 408 via the internal interface 407 and transmits a command signal, data, and the like to the control circuit of the falsification detection unit 408.

又、改ざん検知部408の制御回路には、内部バス412に、CPU409、ROM410、RAM411、内部インターフェイス413を備える。複合機100のCPU401が、複合機100のROM402又はRAM403に記憶された所定のプログラムを起動する際に、改ざん検知部408のCPU409が、内部インターフェイス413を介して、当該複合機100のCPU401から改ざん検知の命令信号を受信したり、又はプログラムの起動に関する命令信号を受信したりする。又、改ざん検知部408のCPU409、ROM410、RAM411の機能も上記と同様であり、後述する各手段(図5に示す)についても、上記CPU409がプログラムを実行することで当該各手段を実現する。上記ROM410には、以下に説明する各手段を実現するプログラムやデータが記憶されている。   The control circuit of the tampering detection unit 408 includes an internal bus 412, a CPU 409, a ROM 410, a RAM 411, and an internal interface 413. When the CPU 401 of the multifunction device 100 starts a predetermined program stored in the ROM 402 or RAM 403 of the multifunction device 100, the CPU 409 of the falsification detection unit 408 falsifies from the CPU 401 of the multifunction device 100 via the internal interface 413. A detection command signal is received, or a command signal related to program activation is received. The functions of the CPU 409, the ROM 410, and the RAM 411 of the falsification detection unit 408 are the same as described above, and the respective means (shown in FIG. 5) to be described later are realized by the CPU 409 executing the program. The ROM 410 stores programs and data for realizing each means described below.

<本発明の実施形態>
次に、図5、図6を参照しながら、本発明の実施形態に係る実行手順について説明する。図5は、本発明の複合機及び改ざん検知部の機能ブロック図である。図6は、本発明の実行手順を示すためのフローチャートである。
<Embodiment of the present invention>
Next, an execution procedure according to the embodiment of the present invention will be described with reference to FIGS. FIG. 5 is a functional block diagram of the MFP and the falsification detection unit of the present invention. FIG. 6 is a flowchart for illustrating the execution procedure of the present invention.

ユーザが複合機100の電源を投入すると、複合機100の制御手段501が、予め設定された初期のプログラム(例えば、画像形成に関するプログラム)の起動を開始する(図6:S101)。   When the user turns on the power of the multifunction device 100, the control unit 501 of the multifunction device 100 starts to start a preset initial program (for example, a program related to image formation) (FIG. 6: S101).

制御手段501が前記プログラムの起動をする際に、当該プログラムの改ざんを検知する旨を、改ざん検知部408の選択手段502に通知する。当該通知を受けた選択手段502は、前記制御手段501から改ざん検知の対象となるプログラムのプログラム識別情報(例えば、プログラムの名称「初期プログラム」等)を取得する。次に、選択手段502は、優先選択記憶手段503を参照し、当該優先選択記憶手段503に、取得したプログラム識別情報に対応したブロックプログラム識別情報(後述)が一時記憶されているか否か判定する(図6:S102)。   When the control unit 501 starts the program, the control unit 501 notifies the selection unit 502 of the alteration detection unit 408 that the alteration of the program is detected. Upon receipt of the notification, the selection unit 502 acquires program identification information (for example, a program name “initial program”) of the program that is subject to tampering detection from the control unit 501. Next, the selection unit 502 refers to the priority selection storage unit 503 and determines whether or not block program identification information (described later) corresponding to the acquired program identification information is temporarily stored in the priority selection storage unit 503. (FIG. 6: S102).

前記判定の結果、前記プログラム識別情報に対応したブロックプログラム識別情報が一時記憶されている場合は(図6:S102YES)、前記選択手段502は、当該ブロックプログラム識別情報を最優先で選択することになるが(図6:S104)、その説明は後述する。   If the block program identification information corresponding to the program identification information is temporarily stored as a result of the determination (FIG. 6: S102 YES), the selection unit 502 selects the block program identification information with the highest priority. (FIG. 6: S104), the description will be described later.

一方、前記判定の結果、前記プログラム識別情報に対応したブロックプログラム識別情報が一時記憶されていない場合(図6:S102NO)、前記選択手段502は、ハッシュ値記憶手段504に予め記憶されているハッシュ値テーブルを参照する(図6:S103)。   On the other hand, if the block program identification information corresponding to the program identification information is not temporarily stored as a result of the determination (FIG. 6: S102 NO), the selection unit 502 uses the hash stored in advance in the hash value storage unit 504. The value table is referred to (FIG. 6: S103).

図7(A)は、本発明の実施形態に係るハッシュ値テーブルの一例を示す図である。図7(B)は、本発明の実施形態に係るブロックプログラムの一例を示す図である。   FIG. 7A is a diagram showing an example of a hash value table according to the embodiment of the present invention. FIG. 7B is a diagram showing an example of a block program according to the embodiment of the present invention.

ハッシュ値テーブル700には、図7(A)に示すように、前記プログラム識別情報701(例えば、「初期プログラム」701a)と、当該プログラム全体を所定数(分割数、例えば、「10」)のブロックに分割することにより得られるブロックプログラムのブロックプログラム識別情報702(例えば、「A001」702a)と、当該ブロックプログラムに所定のハッシュ関数を適用して得られる比較ハッシュ値703(例えば、「98765」703a、ダイジェスト情報とも言う)とが関連付けて記憶される。   In the hash value table 700, as shown in FIG. 7A, the program identification information 701 (for example, “initial program” 701a) and a predetermined number of the entire program (the number of divisions, for example, “10”) Block program identification information 702 (for example, “A001” 702a) of a block program obtained by dividing into blocks, and a comparison hash value 703 (for example, “98765”) obtained by applying a predetermined hash function to the block program. 703a, also referred to as digest information).

ここで、前記ブロックプログラム706は、図7(B)に示すように、プログラム全体704(プログラムの実体であるバイナリデータに対応)を、先頭のデータ705を含むデータ群から順番に、所定数(分割数)のブロックに均等分割することにより得られる。又、前記ブロックプログラム706の所定数は、分割後のブロックプログラム706に前記ハッシュ関数を適用してハッシュ値を算出した場合に、当該ハッシュ値を算出するために要する時間(ハッシュ値の算出時間)が、予め設定された所定時間(例えば、数秒−数十秒)未満となるように決定されている。   Here, as shown in FIG. 7B, the block program 706 includes a predetermined number of the entire program 704 (corresponding to binary data that is the substance of the program) in order from the data group including the top data 705. It is obtained by dividing equally into (number of divisions) blocks. The predetermined number of block programs 706 is the time required to calculate the hash value when the hash function is calculated by applying the hash function to the divided block program 706 (the calculation time of the hash value). Is determined to be less than a predetermined time (for example, several seconds to several tens of seconds) set in advance.

これにより、ハッシュ値の算出に要する時間を必要以上に長期化しないように制御することが可能となる。尚、前記ブロックプログラム706の所定数は、プログラム全体(バイナリデータ全体)のサイズに応じて適宜決定されるものの、例えば、初期プログラム(例えば、数十MB)であれば、10個−100個に決定される。   As a result, it is possible to control the time required for calculating the hash value so as not to be longer than necessary. The predetermined number of the block programs 706 is appropriately determined according to the size of the entire program (the entire binary data). For example, in the case of an initial program (for example, several tens of MB), the predetermined number is 10 to 100. It is determined.

又、ブロックプログラム識別情報702は、当該ブロックプログラム706が分割元のプログラム全体704のうち、どこの領域に位置するかを示す情報(例えば、プログラムが記憶されているメモリの領域又は位置を示すアドレス)に対応している。   The block program identification information 702 is information indicating in which area the block program 706 is located in the entire program 704 to be divided (for example, an address indicating the area or position of the memory in which the program is stored). ).

図7(B)では、プログラムの先頭のデータ705を含むブロックプログラム706aには、ブロックプログラム識別情報として最初の順位を示す「A001」が割り付けられている。又、前記先頭のデータ705を含むブロックプログラム706aを基準として、後続のブロックプログラム706bには、順次低い順位のブロックプログラム識別情報(例えば、「A001」の直後には「A002」)が割り付けられている。図7(B)では、所定数が10個であるため、後尾のデータを含むブロックプログラム706zには、最後の順位を示すブロックプログラム識別情報(「A010」)が割り付けられている。これにより、ブロックプログラム識別情報に基づいてブロックプログラムの領域又は位置を特定することが可能となる。尚、ブロックプログラム識別情報702には、アドレスに対応する情報に、更に、ブロックプログラムのサイズ情報を含めても構わない。   In FIG. 7B, “A001” indicating the first rank is assigned as block program identification information to the block program 706a including the top data 705 of the program. Further, with the block program 706a including the head data 705 as a reference, the subsequent block program 706b is assigned block program identification information (for example, “A002” immediately after “A001”) in order. Yes. In FIG. 7B, since the predetermined number is 10, block program identification information (“A010”) indicating the last rank is assigned to the block program 706z including the trailing data. Thereby, it becomes possible to specify the area | region or position of a block program based on block program identification information. The block program identification information 702 may further include block program size information in addition to the information corresponding to the address.

さて、ハッシュ値テーブル700を参照した選択手段502は、先ほど取得したプログラム識別情報(「初期プログラム」)と、ハッシュ値テーブル700のプログラム識別情報701とを比較し、一致したプログラム識別情報701(「初期プログラム」701a)に属する所定数のブロックプログラム識別情報702を特定する。次に、選択手段502が、所定数のブロックプログラム識別情報702のうち、特定のブロックプログラム識別情報702を選択する(図6:S104)。   The selection unit 502 that refers to the hash value table 700 compares the previously acquired program identification information (“initial program”) with the program identification information 701 in the hash value table 700 and matches the program identification information 701 (“ A predetermined number of block program identification information 702 belonging to "initial program" 701a) is specified. Next, the selection unit 502 selects specific block program identification information 702 from a predetermined number of block program identification information 702 (FIG. 6: S104).

ここで、選択手段502が、特定のブロックプログラム識別情報702を選択する場合、どのように選択しても構わないが、例えば、プログラムの種類、目的、用途に応じて、予め設定された選択数(例えば、1つ)のブロックプログラム識別情報を選択するよう構成する。   Here, when the selection unit 502 selects the specific block program identification information 702, it may be selected in any way. For example, a selection number set in advance according to the type, purpose, and use of the program. The block program identification information (for example, one) is selected.

当該構成とすると、当該構成とすると、選択するブロックプログラム識別情報の選択数が増加すれば、ハッシュ値の算出時間が増大するものの、安全性を更に向上させることが可能となる。例えば、起動の迅速化よりも安全性を優先させるプログラム(ユーザ情報が含まれるアドレス帳機能プログラム)であれば、前記選択数を増加して(例えば、5つ)、安全性を確保すればよいし、安全性よりも起動の迅速化を優先させるプログラム(ユーザ情報を全く含まない初期プログラム)であれば、前記選択数を減少して、起動時間の短縮を図れる。尚、前記選択数は、プログラムの種類、目的、用途に応じて、管理者等の特定のユーザが適宜設定するよう構成すればよい。   In this configuration, if the number of block program identification information to be selected increases, the calculation time of the hash value increases, but the safety can be further improved. For example, if the program prioritizes safety over speeding up (address book function program including user information), the number of selections may be increased (for example, five) to ensure safety. However, if the program prioritizes quick startup over safety (an initial program that does not include any user information), the number of selections can be reduced to shorten startup time. Note that the number of selections may be configured so that a specific user such as an administrator appropriately sets the number according to the type, purpose, and usage of the program.

更に、選択手段502が、プログラム全体のうち、半分から後尾までのデータに含まれるブロックプログラムのブロックプログラム識別情報を他のブロックプログラム識別情報よりも優先して選択するよう構成する。言い換えると、選択手段502が、所定数(分割数)の半分の値(例えば、所定数が10個であれば、5個)よりも大きい順位(「A006」−「A010」)のブロックプログラム識別情報から無作為に特定のブロックプログラム識別情報(例えば、「A006」)を選択する。   Further, the selection means 502 is configured to select block program identification information of a block program included in data from half to the end of the entire program with priority over other block program identification information. In other words, the selection unit 502 identifies block programs having a rank (“A006” − “A010”) greater than half the predetermined number (the number of divisions) (for example, five if the predetermined number is 10). Specific block program identification information (for example, “A006”) is randomly selected from the information.

図8(A)は、本発明の実施形態に係る改ざんされる前のプログラムと、改ざん後のプログラムの一例を示す図である。   FIG. 8A is a diagram showing an example of a program before falsification and a program after falsification according to the embodiment of the present invention.

プログラム全体のうち、所定の箇所のデータが改ざんされた場合、当該改ざんされたデータに応じて、当該改ざんされたデータの後続のデータは変更される。例えば、図8(A)に示すように、プログラム全体のうち、中央部のデータ801が改ざんされて、新たに所定のデータ802が追加された場合、当該追加分802だけ、改ざんされたデータの後続のプログラム803(後続のデータ)は後方にシフトし、当該後続のプログラム803は、改ざん前の後続のプログラム804と全く異なるデータとなる。尚、中央部のデータ801のうち、所定のデータが削除された場合は、当該削除分だけ、改ざんされたデータの後続のプログラムは前方にシフトし、その結果、当該後続のプログラムは、改ざん前の後続のプログラムと全く異なるデータとなる。   When the data in a predetermined part of the entire program is falsified, the subsequent data of the falsified data is changed according to the falsified data. For example, as shown in FIG. 8A, when the data 801 in the central part of the entire program is falsified and a predetermined data 802 is newly added, only the added data 802 includes The subsequent program 803 (subsequent data) shifts backward, and the subsequent program 803 is completely different from the subsequent program 804 before tampering. If predetermined data is deleted from the central data 801, the subsequent program of the falsified data is shifted forward by the amount of the deletion, and as a result, the subsequent program is changed before the falsification. The data is completely different from the subsequent program.

すると、改ざん後の後続のプログラム803を一部でも含むブロックプログラム805の対応ハッシュ値は、当該ブロックプログラム805に対応する改ざん前のブロックプログラム806の比較ハッシュ値と全く異なる値となる。   Then, the corresponding hash value of the block program 805 including even a part of the subsequent program 803 after falsification is completely different from the comparison hash value of the block program 806 before falsification corresponding to the block program 805.

更に、分割数の半分の値よりも大きい順位のブロックプログラム識別情報のブロックプログラムであれば、いずれのブロックプログラムであっても、プログラム全体の半分より後続のデータに対応する。そのため、当該ブロックプログラムには、改ざん後の後続のプログラムを一部でも含んでいる可能性が極めて高い。上述した構成を採用することにより、選択手段502は、改ざんによるデータ変更の影響を受け易いブロックプログラムのブロックプログラム識別情報を選択することが可能となり、プログラム全体の一部について改ざんの検知をするにも関わらず、プログラムの改ざんの検知精度を著しく低下させることを防止できる。又、プログラムの後半に、主としてパラメータ等のデータが存在しており、プログラムの改ざんは、当該データの改ざんを目的とする場合も多い。そのため、上述した構成により、当該データの改ざんを適切に検知することが可能となる。尚、改ざんされたデータが改ざん前のデータと比較して同等(同一のビット数)である場合も想定されるが、この場合は、稀であるため、上述した構成で問題はない。   Furthermore, any block program corresponding to the block program identification information having a rank higher than a half value of the number of divisions corresponds to subsequent data from half of the entire program. Therefore, it is highly likely that the block program includes a part of the subsequent program after falsification. By adopting the above-described configuration, the selection unit 502 can select block program identification information of a block program that is susceptible to data change due to tampering, and detects tampering for a part of the entire program. Nevertheless, it is possible to prevent the detection accuracy of program tampering from being significantly reduced. Further, data such as parameters mainly exist in the second half of the program, and the alteration of the program is often aimed at the alteration of the data. Therefore, with the above-described configuration, it is possible to appropriately detect falsification of the data. It is assumed that the altered data is equivalent (same number of bits) as compared with the data before the alteration, but in this case, since it is rare, there is no problem with the above-described configuration.

さて、選択手段502が、特定のブロックプログラム識別情報(「A006」)を選択すると、その旨をハッシュ値算出手段505に通知する。当該通知を受けたハッシュ値算出手段505は、選択手段502からプログラム識別情報(「初期プログラム」)と特定のブロックプログラム識別情報(「A006」)とを取得する。次に、ハッシュ値算出手段502は、複合機100のプログラム記憶手段506から前記プログラム識別情報(「初期プログラム」)に対応するプログラム全体から、特定のブロックプログラム識別情報(「A006」)に対応するブロックプログラムを取得する(図6:S105)。そして、ハッシュ値算出手段505は、ハッシュ関数記憶手段507に予め記憶されたハッシュ関数を参照して、取得したブロックプログラム(バイナリデータ)に当該ハッシュ関数を適用して対応ハッシュ値を算出する(図6:S106)。   When the selection unit 502 selects specific block program identification information (“A006”), it notifies the hash value calculation unit 505 to that effect. The hash value calculation unit 505 that has received the notification acquires program identification information (“initial program”) and specific block program identification information (“A006”) from the selection unit 502. Next, the hash value calculation unit 502 corresponds to specific block program identification information (“A006”) from the entire program corresponding to the program identification information (“initial program”) from the program storage unit 506 of the multifunction peripheral 100. A block program is acquired (FIG. 6: S105). Then, the hash value calculation unit 505 refers to the hash function stored in advance in the hash function storage unit 507 and calculates the corresponding hash value by applying the hash function to the acquired block program (binary data) (FIG. 6: S106).

ここで、ハッシュ値算出手段505が対応ハッシュ値を算出する場合、ブロックプログラムのサイズが、プログラム全体のサイズと比較して一部である(例えば、所定数が10個であれば、10分の1)ことから、所定のブロックプログラムに対応するハッシュ値の算出時間は、プログラム全体に対応するハッシュ値の算出時間と比較して、著しく短縮されることになる。例えば、プログラム全体に対応するハッシュ値の算出時間が、数分である場合(例えば、1分)、ブロックプログラムに対応するハッシュ値の算出時間は、数秒程度となる(例えば、10分の1の6秒)。これにより、ハッシュ値の算出時間が飛躍的に短縮されることが理解される。   Here, when the hash value calculation means 505 calculates the corresponding hash value, the size of the block program is a part of the size of the entire program (for example, 10 minutes if the predetermined number is 10). 1) Therefore, the calculation time of the hash value corresponding to the predetermined block program is remarkably shortened compared with the calculation time of the hash value corresponding to the entire program. For example, when the calculation time of the hash value corresponding to the entire program is several minutes (for example, 1 minute), the calculation time of the hash value corresponding to the block program is about several seconds (for example, 1/10) 6 seconds). Thereby, it is understood that the calculation time of the hash value is remarkably shortened.

さて、ハッシュ値算出手段505が対応ハッシュ値を算出すると、その旨を検知手段508に通知する。当該通知を受けた検知手段508は、ハッシュ値記憶手段504のハッシュ値テーブル700を参照して、特定のブロックプログラム識別情報(「A006」)に対応する比較ハッシュ値(「98765」)を取得する。そして、検知手段508は、算出された対応ハッシュ値と、取得した比較ハッシュ値とを比較して、改ざんの有無を判定する(図6:S107)。   Now, when the hash value calculation means 505 calculates the corresponding hash value, it notifies the detection means 508 to that effect. The detection unit 508 that has received the notification refers to the hash value table 700 of the hash value storage unit 504 and acquires a comparison hash value (“98765”) corresponding to the specific block program identification information (“A006”). . Then, the detection unit 508 compares the calculated corresponding hash value with the acquired comparison hash value, and determines whether or not tampering has occurred (FIG. 6: S107).

前記比較(判定)の結果、両者が一致した場合(図6:S107YES)、プログラムは改ざんされていないことになる。そのため、検知手段508は、その旨を複合機100の制御手段501に通知する。当該通知を受けた制御手段501は、プログラム記憶手段506から、特定のプログラム識別情報(「初期プログラム」)に対応するプログラム全体を読み出す(図6:S108)。更に、制御手段501は、当該プログラムを実行する(図6:S109)。これにより、画像形成に関するプログラムが適切に実行される。又、上述したようにハッシュ値の算出時間が飛躍的に短縮されていることから、前記プログラムの起動時間も著しく短縮される。   As a result of the comparison (determination), if the two match (FIG. 6: S107 YES), the program has not been tampered with. Therefore, the detection unit 508 notifies the control unit 501 of the multifunction device 100 to that effect. Upon receiving the notification, the control unit 501 reads the entire program corresponding to the specific program identification information (“initial program”) from the program storage unit 506 (FIG. 6: S108). Further, the control unit 501 executes the program (FIG. 6: S109). Thereby, the program regarding image formation is appropriately executed. Further, as described above, since the calculation time of the hash value is drastically shortened, the startup time of the program is remarkably shortened.

ここで、制御手段501が、前記初期プログラムを実行することで、表示受付手段509に、画像形成に関する初期画面(図8(B))をタッチパネルに表示させたり、画像形成手段510に、画像形成に関する駆動部を通常状態へ移行させたりする。そして、ユーザは、タッチパネルに表示した初期画面を見ながら、画像形成に関する設定条件を入力したり、スタートキーを押下したりして、複合機100に画像形成処理を実行させることになる。   Here, by executing the initial program, the control unit 501 causes the display receiving unit 509 to display an initial screen (FIG. 8B) relating to image formation on the touch panel, or causes the image forming unit 510 to perform image formation. The drive unit related to is shifted to the normal state. Then, while viewing the initial screen displayed on the touch panel, the user inputs setting conditions related to image formation or presses the start key to cause the multifunction peripheral 100 to execute image formation processing.

一方、前記比較の結果、前記対応ハッシュ値と前記比較ハッシュ値とが不一致の場合(図6:S107NO)、制御手段501が起動しようとしているプログラムは何らかの理由によって既に改ざんされていることになる。そのため、検知手段508は、当該プログラムが改ざんされたことを検知し、その旨を機能停止手段511に通知する。当該通知を受けた機能停止手段511は、不一致の比較ハッシュ値に対応するブロックプログラム識別情報(「A006」)と、当該ブロックプログラム識別情報(「A006」)に対応するプログラム識別情報(「初期プログラム」)とをハッシュ値記憶手段504のハッシュ値テーブル700から取得して、取得したブロックプログラム識別情報とプログラム識別情報とを、上述した優先選択記憶手段503に優先選択テーブルとして一時記憶させる(図6:S110)。   On the other hand, if the corresponding hash value and the comparison hash value do not match as a result of the comparison (FIG. 6: S107 NO), the program that the control unit 501 is trying to start has already been falsified for some reason. Therefore, the detection unit 508 detects that the program has been tampered with and notifies the function stop unit 511 to that effect. Upon receiving the notification, the function stopping unit 511 receives the block program identification information (“A006”) corresponding to the mismatch hash value and the program identification information (“initial program” corresponding to the block program identification information (“A006”)). ”) From the hash value table 700 of the hash value storage unit 504, and the acquired block program identification information and program identification information are temporarily stored in the above-described priority selection storage unit 503 as a priority selection table (FIG. 6). : S110).

図9(A)は、本発明の実施形態に係る優先選択テーブルの一例を示す図である。   FIG. 9A is a diagram showing an example of a priority selection table according to the embodiment of the present invention.

優先選択テーブル900には、図9(A)に示すように、改ざんされたプログラムのプログラム識別情報901(「初期プログラム」)と、プログラム全体のうち、改ざんが検知されたブロックプログラムのブロックプログラム識別情報902(「A006」)とが関連付けて一時記憶される。   In the priority selection table 900, as shown in FIG. 9A, the program identification information 901 (“initial program”) of the altered program and the block program identification of the block program in which alteration has been detected in the entire program. Information 902 (“A006”) is temporarily stored in association with each other.

これにより、S102において、前記選択手段502が、改ざんされたプログラムのプログラム識別情報における特定のブロックプログラム識別情報を選択する場合、優先選択記憶手段503にはブロックプログラム識別情報優先選択テーブル900)が一時記憶されていることから(図6:S102YES)、当該選択手段502が、一時記憶されたブロックプログラム識別情報902を優先選択記憶手段503から最優先で選択することになる(図6:S104)。   Thereby, in S102, when the selection means 502 selects specific block program identification information in the program identification information of the altered program, the priority selection storage means 503 stores the block program identification information priority selection table 900) temporarily. Since it is stored (FIG. 6: S102 YES), the selection means 502 selects the temporarily stored block program identification information 902 from the priority selection storage means 503 (FIG. 6: S104).

そのため、例えば、一度、プログラムの改ざんが検知された場合(図6:107NO)、ユーザにより再起動、再電源等のリセットがされて、制御手段501が、再度、改ざん後のプログラムを起動しようとしても(図6:S101)、選択手段502が、改ざんが検知されたブロックプログラムのブロックプログラム識別情報902を確実に選択し(図6:S102YES→S104)、前記検知手段508が、当該プログラムの改ざんを検知することになる(図6:107NO)。その結果、改ざん後のプログラムの実行を確実に停止することが可能となる。   For this reason, for example, if alteration of the program is detected once (FIG. 6: 107 NO), the user restarts, resets the power, etc., and the control means 501 tries to start the altered program again. (FIG. 6: S101), the selection unit 502 reliably selects the block program identification information 902 of the block program in which tampering is detected (FIG. 6: S102 YES → S104), and the detection unit 508 tampers with the program. Is detected (FIG. 6: 107 NO). As a result, it is possible to reliably stop execution of the program after the alteration.

さて、S110において、次に、機能停止手段511は、制御手段501に、複合機100の動作を停止させる旨と、表示受付手段509にエラー画面を表示させる旨とを通知する。当該通知を受けた制御手段501は、電源(主電源)から画像処理に関する駆動部への通電を停止するとともに(図6:S111)、表示受付手段509は、タッチパネルにエラー画面を表示する(図6:S112)。   Next, in S110, the function stop unit 511 notifies the control unit 501 that the operation of the multifunction peripheral 100 is stopped and the display reception unit 509 displays an error screen. Upon receiving the notification, the control unit 501 stops energization from the power source (main power source) to the drive unit related to image processing (FIG. 6: S111), and the display receiving unit 509 displays an error screen on the touch panel (FIG. 6). 6: S112).

図9(B)は、本発明の実施形態に係るエラー画面の一例を示す図である。   FIG. 9B is a diagram showing an example of an error screen according to the embodiment of the present invention.

エラー画面903には、図9(B)に示すように、プログラムが改ざんされた旨のメッセージ904と、複合機100の全ての機能が停止した旨のメッセージ905と、ユーザにサービスマンを呼ぶことを促す旨のメッセージ906と、サービスマンの連絡先907と、改ざんされたプログラムの名称908とが表示される。これにより、ユーザに、プログラムの改ざんが発生したことを知らしめて、サービスマンへの連絡を促すことが可能となる。   In the error screen 903, as shown in FIG. 9B, a message 904 indicating that the program has been tampered with, a message 905 indicating that all the functions of the multifunction peripheral 100 have been stopped, and calling a serviceman to the user. A message 906 for prompting the user, a contact information 907 of the service person, and the name 908 of the altered program are displayed. As a result, it is possible to notify the user that the program has been tampered with and to contact the service person.

又、機能停止手段511は、不一致であった対応ハッシュ値のブロックプログラム識別情報(「A006」)に対応するブロックプログラムをプログラム記憶手段506から取得し、改ざん解析記憶手段512に記憶させる(図6:S113)。改ざん解析記憶手段512は、特定のユーザ、例えば、管理者、サービスマン等がアクセス可能となるように構成されており、更に、改ざん検知部408及び複合機100から取り外し可能となるよう構成されている。これにより、特定のユーザが、改ざん解析記憶手段512の内容(データ)を解析することで、改ざんされたデータや改ざんを実行した改ざん実行者の改ざんの意図等を知ることが可能となる。   Further, the function stopping unit 511 acquires the block program corresponding to the block program identification information (“A006”) of the corresponding hash value that has been inconsistent from the program storage unit 506, and stores it in the alteration analysis storage unit 512 (FIG. 6). : S113). The falsification analysis storage unit 512 is configured to be accessible by a specific user, for example, an administrator, a serviceman, and the like, and is further configured to be removable from the falsification detection unit 408 and the multifunction peripheral 100. Yes. As a result, a specific user can analyze the contents (data) of the falsification analysis storage unit 512 to know the falsified data, the intention of falsification by the falsifier performing the falsification, and the like.

そして、機能停止手段511は、プログラム記憶手段506又は複合機100の所定のメモリから、改ざんされたプログラムへのアクセスログを取得する。又、機能停止手段511は、図示しない通信部からネットワークからの当該プログラムへのアクセスログ(通信ログ)を取得する。そして、機能停止手段511は、取得したアクセスログを前記改ざん解析記憶手段512に記憶させる(図6:S114)。これにより、特定のユーザが、改ざん解析記憶手段512の内容を解析することで、更に、改ざん前後のプログラムの変更経緯やアクセス者を知ることが可能となり、改ざん実行者の特定を促すことが可能となる。   Then, the function stop unit 511 acquires an access log to the altered program from the program storage unit 506 or a predetermined memory of the multifunction device 100. The function stopping unit 511 acquires an access log (communication log) from the communication unit (not shown) to the program from the network. Then, the function stop unit 511 stores the acquired access log in the falsification analysis storage unit 512 (FIG. 6: S114). Thus, by analyzing the contents of the alteration analysis storage means 512, a specific user can further know the program change history and the accessor before and after the alteration, and can prompt the identification of the alteration executor. It becomes.

更に、機能停止手段511は、複合機100に搭載されたメモリのうち、ユーザ情報を記憶しているユーザ情報記憶手段513へのアクセスを禁止するとともに、通信部に、前記ネットワークへのアクセスを禁止させる(図6:S115)。これにより、例えば、改ざん後のプログラムがユーザ情報を流出するためのプログラムであり、制御手段501が、当該改ざん後のプログラムを実行することにより、ユーザ情報記憶手段513に記憶されたユーザ情報を、ネットワークを介して他の端末装置に流出するような事態を未然に防止することができる。その結果、安全性を十分に確保することが出来る。   Further, the function stopping unit 511 prohibits access to the user information storage unit 513 storing user information out of the memory mounted on the multifunction peripheral 100 and prohibits the communication unit from accessing the network. (FIG. 6: S115). Thereby, for example, the program after the tampering is a program for leaking the user information, and the control unit 501 executes the program after the tampering so that the user information stored in the user information storage unit 513 is changed. It is possible to prevent a situation in which the data leaks to another terminal device via the network. As a result, sufficient safety can be ensured.

これにより、プログラムの改ざんが検知された場合の処理は完了する。   Thereby, the processing when the alteration of the program is detected is completed.

さて、改ざんされたプログラムが修復された場合は、以下のようになる。   Now, when a falsified program is repaired, it becomes as follows.

即ち、前記ユーザの知らせにより、サービスマン等の特定のユーザが、正規のプログラムのデータを記憶する正規プログラム記憶手段(図示せず)を、複合機100のプログラム記憶手段506と接続し、表示受付手段509を介して制御手段501に、改ざん後のプログラムの修復を実行する旨のキーを入力する。当該キーの入力を受けた制御手段501は、当該プログラム記憶手段506に記憶された、改ざん後のプログラム(データ)を、正規のプログラム(データ)に書き換え(変更)する。   That is, according to the user's notification, a specific user such as a serviceman connects a normal program storage means (not shown) for storing data of a normal program to the program storage means 506 of the multi-function device 100, and accepts display. A key for executing restoration of the altered program is input to the control means 501 via the means 509. Receiving the key input, the control unit 501 rewrites (changes) the altered program (data) stored in the program storage unit 506 with a regular program (data).

書き換え完了後に、制御手段501が、表示受付手段509を介して改ざん後のプログラムの修復を完了した旨の画面を表示させると、特定のユーザが、当該画面に示された確認キー(例えば、OKキー)を入力する。当該キーの入力を受けた制御手段501は、その旨を機能停止手段511に通知する。当該通知を受けた機能停止手段511は、修復後のプログラムに対応するプログラム識別情報を制御手段501(又はプログラム記憶手段506)から取得し、優先選択記憶手段503を参照して、当該優先選択記憶手段503から修復後のプログラムに対応する前記優先選択テーブル900を消去する。   After the rewriting is completed, when the control unit 501 displays a screen indicating that the restoration of the altered program has been completed via the display receiving unit 509, the specific user displays a confirmation key (eg, OK) displayed on the screen. Key). Upon receiving the key input, the control unit 501 notifies the function stop unit 511 to that effect. Upon receiving the notification, the function stopping unit 511 acquires program identification information corresponding to the restored program from the control unit 501 (or the program storage unit 506), refers to the priority selection storage unit 503, and stores the priority selection storage. The priority selection table 900 corresponding to the restored program is deleted from the means 503.

これにより、次に、制御手段501が修復後のプログラムを起動する際に(図6:S101)、選択手段502が、ハッシュ値テーブルを参照して(図6:S102NO→S103)、所定数のブロックプログラム識別情報から無作為に特定のブロックプログラム識別情報を選択することとなり(図6:S104)、プログラムの改ざん検知が正常に再開されることになる。   As a result, when the control unit 501 starts the restored program (FIG. 6: S101), the selection unit 502 refers to the hash value table (FIG. 6: S102 NO → S103), and the predetermined number Specific block program identification information is randomly selected from the block program identification information (FIG. 6: S104), and the alteration detection of the program is resumed normally.

このように、本発明の実施形態では、前記プログラム全体を所定数のブロックに分割することにより得られるブロックプログラムのブロックプログラム識別情報702と、当該ブロックプログラムに所定のハッシュ関数を適用して得られる比較ハッシュ値703とを関連付けて記憶するハッシュ値記憶手段504と、前記複合機100が前記プログラムを起動する際に、前記ハッシュ値記憶手段504に記憶された特定のブロックプログラム識別情報702を選択する選択手段502と、選択された特定のブロックプログラム識別情報702に対応するブロックプログラムに前記ハッシュ関数を適用して対応ハッシュ値を算出するハッシュ値算出手段505と、前記対応ハッシュ値と前記比較ハッシュ値とを比較することにより、両者が一致しない場合に、前記プログラムが改ざんされたと検知する検知手段508とを備える。   Thus, in the embodiment of the present invention, the block program identification information 702 of the block program obtained by dividing the entire program into a predetermined number of blocks and the predetermined hash function are applied to the block program. A hash value storage unit 504 that stores the comparison hash value 703 in association with each other, and when the MFP 100 starts the program, the specific block program identification information 702 stored in the hash value storage unit 504 is selected. A selection unit 502, a hash value calculation unit 505 for calculating a corresponding hash value by applying the hash function to a block program corresponding to the selected specific block program identification information 702, the corresponding hash value and the comparison hash value By comparing If no, and a detecting means 508 for detecting said program is tampered.

これにより、複合機100がプログラムを起動する際に行なわれるプログラムの改ざん検知は、当該プログラム全体から対応ハッシュ値を算出するのではなく、プログラム全体の一部であるブロックプログラムから対応ハッシュ値を算出する。そのため、前記プログラムの改ざんを検知するためのハッシュ値の算出時間を著しく短縮することが可能となり、その結果、前記プログラムの起動時間を飛躍的に短縮することが可能となる。   Thus, the alteration detection of the program performed when the MFP 100 starts the program does not calculate the corresponding hash value from the entire program, but calculates the corresponding hash value from the block program that is a part of the entire program. To do. Therefore, the calculation time of the hash value for detecting the alteration of the program can be remarkably shortened, and as a result, the startup time of the program can be drastically shortened.

尚、本発明の実施形態では、前記ハッシュ値記憶手段504は、ブロックプログラムに前記ハッシュ関数を適用して得られる比較ハッシュ値をそのまま記憶し、前記ハッシュ値算出手段505は、特定のブロックプログラム識別情報に対応するブロックプログラムにそのまま前記ハッシュ関数を適用して対応ハッシュ値を算出するよう構成したが、他の構成でも構わない。   In the embodiment of the present invention, the hash value storage unit 504 stores a comparison hash value obtained by applying the hash function to a block program as it is, and the hash value calculation unit 505 stores a specific block program identification. Although the hash function is directly applied to the block program corresponding to the information to calculate the corresponding hash value, other configurations may be used.

例えば、前記ハッシュ値記憶手段504は、前記ブロックプログラムに所定の付加情報(例えば、複合機100又は改ざん検知部408に特有な付加情報)を付加した後のプログラムに、前記ハッシュ関数を適用して得られるハッシュ値を比較ハッシュ値として記憶し、前記ハッシュ値算出手段505は、対応ハッシュ値を算出する際に、ブロックプログラムに前記付加情報を付加した後のプログラムに前記ハッシュ関数を適用して対応ハッシュ値を算出するよう構成しても構わない。   For example, the hash value storage unit 504 applies the hash function to a program after adding predetermined additional information (for example, additional information specific to the MFP 100 or the falsification detection unit 408) to the block program. The obtained hash value is stored as a comparison hash value, and the hash value calculation unit 505 applies the hash function to the program after adding the additional information to the block program when calculating the corresponding hash value. You may comprise so that a hash value may be calculated.

ここで、ブロックプログラムに前記付加情報を付加する場合、当該ブロックプログラムの先頭に付加してもよいし(先頭に付加する付加情報をプレフィックスと称する場合がある)、当該ブロックプログラムの後尾に付加しても構わない(後尾に付加する付加情報をサフィックスと称する場合がある)。当該構成により、仮に、改ざん実行者に前記ハッシュ関数を取得されたとしても、前記付加情報の存在により、当該改ざん実行者は、前記プログラム全体と前記ハッシュ関数とに基づいて比較ハッシュ値、対応ハッシュ値を再現することが出来ないため、安全性を更に向上させることが可能となる。   Here, when adding the additional information to the block program, the additional information may be added to the head of the block program (the additional information added to the head may be referred to as a prefix) or added to the tail of the block program. (Additional information added to the tail may be referred to as a suffix). With this configuration, even if the hash function is acquired by the tamper executor, due to the presence of the additional information, the tamper executor can compare the hash value and the corresponding hash based on the entire program and the hash function. Since the value cannot be reproduced, the safety can be further improved.

又、前記付加情報は、改ざん検知部408の外部から変更も読み取りも出来ないようなメモリに記憶させることが好ましい。当該メモリとして、例えば、メモリを取り外し、分解すると当該メモリに記憶された情報が失われる耐タンパ性を有するメモリ(集積回路)等を採用することが出来る。   The additional information is preferably stored in a memory that cannot be changed or read from outside the tampering detection unit 408. As the memory, for example, a tamper-resistant memory (integrated circuit) or the like in which information stored in the memory is lost when the memory is removed and disassembled can be employed.

又、本発明の実施形態では、選択手段502が、特定のブロックプログラム識別情報を一つ選択するよう構成したが、複数選択する場合は、ハッシュ値算出手段505が、選択された特定のブロックプログラム識別情報毎に、対応するブロックプログラムに前記ハッシュ関数を適用して対応ハッシュ値を算出し、検知手段508が、選択された特定のブロックプログラム識別情報毎に、前記対応ハッシュ値と前記比較ハッシュ値とを比較することにより、改ざんの有無を判定することは、言うまでも無い。   In the embodiment of the present invention, the selection unit 502 is configured to select one specific block program identification information. However, when a plurality of selections are made, the hash value calculation unit 505 selects the specific block program selected. For each identification information, the hash function is applied to the corresponding block program to calculate a corresponding hash value, and the detection unit 508 detects the corresponding hash value and the comparison hash value for each selected specific block program identification information. It goes without saying that the presence / absence of tampering is determined by comparing.

又、本発明の実施形態では、選択手段502が、所定数(分割数)の半分の値よりも大きい順位のブロックプログラム識別情報から無作為に特定のブロックプログラム識別情報を選択するよう構成したが、他の構成でも構わない。即ち、選択手段502が、所定のブロックプログラム識別情報から、予め設定された所定の順番(昇順、降順等)で特定のブロックプログラム識別情報を順次選択するよう構成しても構わない。   In the embodiment of the present invention, the selection unit 502 is configured to randomly select specific block program identification information from block program identification information having a rank higher than a half value of the predetermined number (division number). Other configurations may be used. That is, the selecting unit 502 may be configured to sequentially select specific block program identification information from predetermined block program identification information in a predetermined order (ascending order, descending order, etc.).

又、本発明の実施形態では、機能停止手段511が、前記検知手段508により前記プログラムの改ざんが検知された場合に、前記複合機100の動作を停止させるとともにタッチパネルにエラー画面を表示させる処理、不一致の比較ハッシュ値に対応するブロックプログラムを改ざん解析記憶手段512に記憶させる処理、前記プログラムへのアクセスログ、又はネットワークからの前記プログラムへの通信ログを改ざん解析記憶手段512に記憶させる処理、前記複合機100の所定のメモリのうち、ユーザ情報を記憶しているユーザ情報記憶手段513へのアクセス、又はネットワークへのアクセスを禁止させる処理の全てを実行するように構成したが、他の構成でも構わない。   In the embodiment of the present invention, the function stop unit 511 stops the operation of the multifunction peripheral 100 and displays an error screen on the touch panel when the detection unit 508 detects the alteration of the program. Processing for storing the block program corresponding to the comparison hash value of the mismatch in the alteration analysis storage unit 512, processing for storing the access log to the program or the communication log to the program from the network in the alteration analysis storage unit 512, Of the predetermined memory of the multi-function device 100, it is configured to execute all of the processing for prohibiting access to the user information storage unit 513 storing user information or access to the network. I do not care.

即ち、機能停止手段511が、上述した複数の処理のうち、少なくともいずれかの処理を実行するよう構成しても構わない。又、機能停止手段511が、改ざんが検知されたプログラムの種類、目的、用途に応じて、上述した複数の処理のうち、特定の処理を実行するよう構成しても構わない。例えば、前記プログラムが、ネットワーク(電話回線)を介して画像データを送信するプログラム(例えば、「ファクシミリ機能プログラム」)である場合、前記機能停止手段511が、当該ネットワークに関連する処理を実行するよう構成しても良いし、前記プログラムが、ユーザ情報に基づいてユーザの宛先を表示するプログラム(例えば、「アドレス帳機能プログラム」)である場合、前記機能停止手段511が、当該ユーザ情報に関連する処理を実行するよう構成しても良い。   That is, the function stopping unit 511 may be configured to execute at least one of the plurality of processes described above. Further, the function stop unit 511 may be configured to execute a specific process among the above-described plurality of processes in accordance with the type, purpose, and usage of the program in which tampering is detected. For example, when the program is a program for transmitting image data via a network (telephone line) (for example, “facsimile function program”), the function stopping unit 511 executes processing related to the network. When the program is a program that displays a user's destination based on user information (for example, “address book function program”), the function stop unit 511 relates to the user information. You may comprise so that a process may be performed.

又、本発明の実施形態では、複合機100に搭載された改ざん検知部408(改ざん検知装置)が各手段を備えるよう構成したが、当該各手段を実現するプログラムを記憶媒体に記憶させ、当該記憶媒体を提供するよう構成しても構わない。当該構成では、上記プログラムを改ざん検知装置に読み出させ、当該改ざん検知装置が上記各手段を実現する。その場合、上記記録媒体から読み出されたプログラム自体が本発明の作用効果を奏する。さらに、各手段が実行するステップを改ざん検知方法として提供することも可能である。又、プログラムは、CD−ROMなどのコンピュータ読み取り可能な記録媒体に記録された状態で流通させることも可能である。   In the embodiment of the present invention, the tampering detection unit 408 (tampering detection device) mounted on the multifunction peripheral 100 is configured to include each unit. However, a program that realizes each unit is stored in a storage medium, and A storage medium may be provided. In this configuration, the falsification detection device is made to read the program, and the falsification detection device implements the above-described means. In that case, the program itself read from the recording medium exhibits the effects of the present invention. Furthermore, it is possible to provide the steps executed by each means as a falsification detection method. The program can be distributed in a state where it is recorded on a computer-readable recording medium such as a CD-ROM.

以上のように、本発明に係る改ざん検知装置及び改ざん検知方法は、複合機はもちろん、複写機、プリンタ等の電子機器に有用であり、プログラムの起動に要する時間を短縮することが可能な改ざん検知装置及び改ざん検知方法として有効である。   As described above, the falsification detection apparatus and the falsification detection method according to the present invention are useful not only for multifunction devices but also for electronic devices such as copiers and printers, and for falsification that can reduce the time required to start a program. It is effective as a detection device and a falsification detection method.

100 複合機
408 改ざん検知部
501 制御手段
502 選択手段
503 優先選択記憶手段
504 ハッシュ値記憶手段
505 ハッシュ値算出手段
506 プログラム記憶手段
507 ハッシュ関数記憶手段
508 検知手段
509 表示受付手段
510 画像形成手段
511 機能停止手段
512 改ざん解析記憶手段
513 ユーザ情報記憶手段
100 MFP 408 Tampering Detection Unit 501 Control Unit 502 Selection Unit 503 Priority Selection Storage Unit 504 Hash Value Storage Unit 505 Hash Value Calculation Unit 506 Program Storage Unit 507 Hash Function Storage Unit 508 Detection Unit 509 Display Reception Unit 510 Image Forming Unit 511 Function Stopping means 512 Tamper analysis storage means 513 User information storage means

Claims (9)

装置のプログラムが改ざんされたか否かを検知する改ざん検知装置において、
前記プログラム全体を所定数のブロックに分割することにより得られるブロックプログラムのブロックプログラム識別情報と、前記ブロックプログラムに所定のハッシュ関数を適用して得られる比較ハッシュ値とを関連付けて記憶するハッシュ値記憶手段と、
前記装置が前記プログラムを起動する際に、前記ハッシュ値記憶手段に記憶された特定のブロックプログラム識別情報を選択する選択手段と、
選択された特定のブロックプログラム識別情報に対応するブロックプログラムに前記ハッシュ関数を適用して対応ハッシュ値を算出するハッシュ値算出手段と、
前記対応ハッシュ値と前記比較ハッシュ値とを比較することにより、改ざんの有無を判定する検知手段と
を備えることを特徴とする改ざん検知装置。
In the falsification detection device that detects whether or not the program of the device has been falsified,
Hash value storage for storing block program identification information of a block program obtained by dividing the entire program into a predetermined number of blocks and a comparison hash value obtained by applying a predetermined hash function to the block program in association with each other Means,
A selection unit that selects specific block program identification information stored in the hash value storage unit when the device starts the program;
Hash value calculating means for calculating a corresponding hash value by applying the hash function to a block program corresponding to the selected specific block program identification information;
A tamper detection apparatus comprising: a detection unit that determines whether or not tampering has occurred by comparing the corresponding hash value and the comparison hash value.
前記選択手段は、特定のブロックプログラム識別情報を選択する場合に、プログラムの種類、目的、用途に応じて、予め設定された選択数のブロックプログラム識別情報を選択する
請求項1に記載の改ざん検知装置。
The tamper detection according to claim 1, wherein when selecting specific block program identification information, the selection means selects a predetermined number of block program identification information according to the type, purpose, and application of the program. apparatus.
前記選択手段が、特定のブロックプログラム識別情報を選択する場合に、プログラム全体のうち、半分から後尾までのデータに含まれるブロックプログラムのブロックプログラム識別情報を他のブロックプログラム識別情報よりも優先して選択する
請求項1又は2に記載の改ざん検知装置。
When the selection means selects specific block program identification information, the block program identification information of the block program included in the data from the half to the end of the entire program is given priority over other block program identification information. The tampering detection device according to claim 1 or 2.
前記ブロックプログラムの所定数は、分割後のブロックプログラムに前記ハッシュ関数を適用してハッシュ値を算出した場合に、当該ハッシュ値を算出するために要する時間が、予め設定された所定時間未満となるように決定された
請求項1−3のいずれか一項に記載の改ざん検知装置。
When the hash value is calculated by applying the hash function to the divided block program, the predetermined number of the block programs is less than a predetermined time set in advance to calculate the hash value. The falsification detection device according to any one of claims 1 to 3.
更に、前記検知手段により前記プログラムの改ざんが検知された場合に、不一致の比較ハッシュ値に対応するブロックプログラム識別情報を優先選択記憶手段に一時記憶させ、改ざんされたプログラムが修復されると、一時記憶されたブロックプログラム識別情報を前記優先選択記憶手段から消去する機能停止手段を備え、
前記選択手段は、前記優先選択記憶手段に前記ブロックプログラム識別情報が一時記憶されている場合に、当該ブロックプログラム識別情報を優先して選択する
請求項1−4のいずれか一項に記載の改ざん検知装置。
Further, when the detection unit detects the alteration of the program, the block program identification information corresponding to the mismatch hash value is temporarily stored in the priority selection storage unit, and when the altered program is restored, A function stop means for erasing the stored block program identification information from the priority selection storage means,
The falsification according to any one of claims 1 to 4, wherein the selection means preferentially selects the block program identification information when the block program identification information is temporarily stored in the priority selection storage means. Detection device.
前記機能停止手段は、前記装置の動作を停止させるとともに当該装置に備えられた操作部にエラー画面を表示させる処理、不一致の比較ハッシュ値に対応するブロックプログラム識別情報のブロックプログラムを改ざん解析記憶手段に記憶させる処理、前記プログラムへのアクセスログ又はネットワークから前記プログラムへの通信ログを前記改ざん解析記憶手段に記憶させる処理、ユーザ情報を記憶しているユーザ情報記憶手段へのアクセス又はネットワークへのアクセスを禁止させる処理のうち、少なくともいずれかの処理を実行する
請求項5に記載の改ざん検知装置。
The function stop means is a process for stopping the operation of the apparatus and displaying an error screen on an operation unit provided in the apparatus, and a falsification analysis storage means for a block program of block program identification information corresponding to a mismatch hash value that does not match Processing to store data, access log to the program or communication log from the network to the program in the falsification analysis storage means, access to user information storage means storing user information or access to network The tampering detection apparatus according to claim 5, wherein at least one of the processes for prohibiting the process is executed.
前記ハッシュ値記憶手段は、前記ブロックプログラムに所定の付加情報を付加した後のプログラムに、前記ハッシュ関数を適用して得られるハッシュ値を比較ハッシュ値として記憶し、
前記ハッシュ値算出手段は、前記ブロックプログラムに前記付加情報を付加した後のプログラムに、前記ハッシュ関数を適用して対応ハッシュ値を算出する
請求項1−6のいずれか一項に記載の改ざん検知装置。
The hash value storage means stores, as a comparison hash value, a hash value obtained by applying the hash function to a program after adding predetermined additional information to the block program,
The falsification detection according to any one of claims 1 to 6, wherein the hash value calculation means calculates a corresponding hash value by applying the hash function to a program after the additional information is added to the block program. apparatus.
請求項1−7に記載の改ざん検知装置を備えた画像形成装置。   An image forming apparatus comprising the falsification detection device according to claim 1. 装置のプログラムが改ざんされたか否かを検知する改ざん検知方法において、
前記装置が前記プログラムを起動する際に、前記プログラム全体を所定数のブロックに分割することにより得られるブロックプログラムのブロックプログラム識別情報と、前記ブロックプログラムに所定のハッシュ関数を適用して得られる比較ハッシュ値とを関連付けて記憶するハッシュ値記憶手段を参照する参照ステップと、
前記ハッシュ値記憶手段に記憶された特定のブロックプログラム識別情報を選択する選択ステップと、
選択された特定のブロックプログラム識別情報に対応するブロックプログラムに前記ハッシュ関数を適用して対応ハッシュ値を算出するハッシュ値算出ステップと、
前記対応ハッシュ値と前記比較ハッシュ値とを比較することにより、改ざんの有無を判定する検知ステップと
を含むことを特徴とする改ざん検知方法。
In the falsification detection method for detecting whether or not the device program has been falsified,
When the device starts the program, the block program identification information of the block program obtained by dividing the entire program into a predetermined number of blocks and the comparison obtained by applying a predetermined hash function to the block program A reference step for referring to a hash value storage means for associating and storing a hash value;
A selection step of selecting specific block program identification information stored in the hash value storage means;
A hash value calculating step of calculating a corresponding hash value by applying the hash function to a block program corresponding to the selected specific block program identification information;
A tampering detection method comprising: detecting a tampering by comparing the corresponding hash value with the comparison hash value.
JP2010221782A 2010-09-30 2010-09-30 Falsification detection device and falsification detection method Pending JP2012078952A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010221782A JP2012078952A (en) 2010-09-30 2010-09-30 Falsification detection device and falsification detection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010221782A JP2012078952A (en) 2010-09-30 2010-09-30 Falsification detection device and falsification detection method

Publications (1)

Publication Number Publication Date
JP2012078952A true JP2012078952A (en) 2012-04-19

Family

ID=46239161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010221782A Pending JP2012078952A (en) 2010-09-30 2010-09-30 Falsification detection device and falsification detection method

Country Status (1)

Country Link
JP (1) JP2012078952A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014229239A (en) * 2013-05-27 2014-12-08 Kddi株式会社 Program tampering detection system and program tampering detection method
JP2019018459A (en) * 2017-07-18 2019-02-07 キヤノン株式会社 Information processing device, and control method of information processing device
JP2020080097A (en) * 2018-11-14 2020-05-28 キヤノン株式会社 Information processing apparatus capable of detecting alteration of software
JP2021114304A (en) * 2018-07-10 2021-08-05 キヤノン株式会社 Image processing device, control method therefor, and program
JP7316902B2 (en) 2019-10-16 2023-07-28 キヤノン株式会社 Information processing device, its control method, and program

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014229239A (en) * 2013-05-27 2014-12-08 Kddi株式会社 Program tampering detection system and program tampering detection method
JP2019018459A (en) * 2017-07-18 2019-02-07 キヤノン株式会社 Information processing device, and control method of information processing device
US11205002B2 (en) 2017-07-18 2021-12-21 Canon Kabushiki Kaisha Information processing apparatus and method for controlling information processing apparatus
JP2021114304A (en) * 2018-07-10 2021-08-05 キヤノン株式会社 Image processing device, control method therefor, and program
JP7229293B2 (en) 2018-07-10 2023-02-27 キヤノン株式会社 IMAGE PROCESSING DEVICE, CONTROL METHOD THEREOF, AND PROGRAM
JP2020080097A (en) * 2018-11-14 2020-05-28 キヤノン株式会社 Information processing apparatus capable of detecting alteration of software
JP7166884B2 (en) 2018-11-14 2022-11-08 キヤノン株式会社 Information processing equipment capable of detecting falsification of software
JP7316902B2 (en) 2019-10-16 2023-07-28 キヤノン株式会社 Information processing device, its control method, and program

Similar Documents

Publication Publication Date Title
JP5885645B2 (en) Information processing apparatus and authentication method
US20090141951A1 (en) Processing apparatus with touch panel
US8908222B2 (en) Apparatus that inhibits leaving and forgetting of originals
JP2012078953A (en) Falsification detection device and falsification detection method
JP2006279924A (en) Image forming method and image forming apparatus
JP2012078952A (en) Falsification detection device and falsification detection method
JP5558252B2 (en) Information display device and information display method
US8570584B2 (en) Image forming apparatus including hard disk storage unit, and data display method
JP6489314B2 (en) Image forming apparatus
US8867078B2 (en) Operation device and operation method
US9300825B2 (en) Operation device, image forming apparatus, and operation method
JP2009267590A (en) Image forming apparatus
JP2015125723A (en) Data migration system and data migration method
JP2012141814A (en) Installation notification device and installation notification method
JP5599109B2 (en) Image forming apparatus and image forming method
JP2011159007A (en) Operation device and image-forming device equipped with the same
JP2004297680A (en) Image processing apparatus
JP7247685B2 (en) Maintenance system and image forming device
JP5524122B2 (en) Information processing apparatus and information processing method
JP2013094980A (en) Electronic apparatus and image forming apparatus
JP2012004832A (en) Image processing apparatus
JP5980985B2 (en) Operation device, image forming apparatus, and operation method
JP6376111B2 (en) Information processing apparatus and information processing method
JP6515869B2 (en) Image forming apparatus and information processing apparatus
JP5897528B2 (en) Security processing apparatus and security processing method