JP2012078953A - Falsification detection device and falsification detection method - Google Patents
Falsification detection device and falsification detection method Download PDFInfo
- Publication number
- JP2012078953A JP2012078953A JP2010221783A JP2010221783A JP2012078953A JP 2012078953 A JP2012078953 A JP 2012078953A JP 2010221783 A JP2010221783 A JP 2010221783A JP 2010221783 A JP2010221783 A JP 2010221783A JP 2012078953 A JP2012078953 A JP 2012078953A
- Authority
- JP
- Japan
- Prior art keywords
- program
- hash value
- identification information
- block
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
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).
しかしながら、特許文献1−3に記載の技術では、いずれも、改ざん検知の対象となるプログラム全体に対して所定のハッシュ関数を適用し、当該適用によって得られたハッシュ値に基づいてプログラムの改ざん検知を実行している。ここで、前記プログラム全体に対して所定のハッシュ関数を適用する場合、プログラム全体のサイズが膨大であると、CPUのハッシュ値の算出負担(演算負担)が増大し、算出速度(演算速度)、算出効率(演算効率)が低下する。その結果、前記ハッシュ値を算出するために要する時間(ハッシュ値の算出時間)は、長期化するという問題がある(例えば、数分−数十分等)。 However, in each of the techniques described in Patent Documents 1-3, a predetermined hash function is applied to the entire program that is subject to alteration detection, and the alteration detection of the program is performed based on the hash value obtained by the application. Is running. Here, when a predetermined hash function is applied to the whole program, if the size of the whole program is enormous, the calculation load (calculation load) of the hash value of the CPU increases, and the calculation speed (calculation speed) Calculation efficiency (calculation efficiency) decreases. As a result, there is a problem that the time required to calculate the hash value (hash value calculation time) is prolonged (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 falsification, program (data) reading, and program execution 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 falsified, the subsequent program of the falsified data in the entire program (binary data which is the substance of the program) is changed to data completely different from the subsequent program before the falsification. That is, even if the hash function is not applied to the entire program, if the hash function is applied to a part of the program changed by the alteration, the alteration of the program can be detected. If such a situation is appropriately used, the calculation time of the hash value described above 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; When the apparatus activates the program, it comprises selection means for selecting specific block program identification information stored in the hash value storage means in parallel with the activation of 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 Detecting means for determining the presence or absence of tampering by comparing the values.
当該構成により、前記装置の前記プログラムの起動と並行して、プログラムの改ざんの検知がなされる。そのため、前記プログラムの起動時間に、前記プログラムの改ざんの検知に要する時間、例えば、ハッシュ値の算出時間を削除することになり、当該プログラムの起動時間全体を大幅に短縮することが可能となる。又、プログラムの起動と並行してなされるプログラムの改ざん検知は、当該プログラム全体から対応ハッシュ値を算出するのではなく、プログラム全体の一部であるブロックプログラムから対応ハッシュ値を算出することでなされる。そのため、ハッシュ値の算出負担(演算負担)を軽減させ、算出速度(演算速度)、算出効率(演算効率)の向上を図り、前記ハッシュ値の算出時間の短縮化、プログラムの改ざん検知の応答速度の迅速化を図ることが可能となる。 With this configuration, the alteration of the program is detected in parallel with the activation of the program of the apparatus. Therefore, the time required for detecting the alteration of the program, for example, the calculation time of the hash value, is deleted from the startup time of the program, and the entire startup time of the program can be greatly shortened. In addition, the alteration detection of the program that is performed in parallel with the start of the program is not calculated by calculating the corresponding hash value from the entire program but by calculating the corresponding hash value from the block program that is a part of the entire program. The Therefore, the calculation load (calculation load) of the hash value is reduced, the calculation speed (calculation speed) and the calculation efficiency (calculation efficiency) are improved, the calculation time of the hash value is shortened, and the response speed of detecting the alteration of the program It is possible to speed up the process.
又、前記選択手段は、前記装置が前記プログラムを起動すると、当該プログラムの実行中に、前記ハッシュ値記憶手段に記憶された全てのブロックプログラム識別情報を選択するまで、予め設定された所定の設定時間毎に、既に選択したブロックプログラム識別情報と異なるブロックプログラム識別情報の選択を継続するよう構成することが出来る。 In addition, when the device starts the program, the selection unit sets a predetermined setting until all block program identification information stored in the hash value storage unit is selected during execution of the program. It is possible to continue to select block program identification information different from the already selected block program identification information every time.
又、前記選択手段は、特定のブロックプログラム識別情報を選択する場合に、プログラム全体のうち、半分から後尾までのデータを含むブロックプログラムのブロックプログラム識別情報を他のブロックプログラム識別情報よりも優先して選択する構成とすることが出来る。 Further, when selecting the specific block program identification information, the selection means prioritizes the block program identification information of the block program including data from half to the end of the entire program over other block program identification information. Can be selected.
更に、前記検知手段により前記プログラムの改ざんが検知された場合に、不一致の比較ハッシュ値に対応するブロックプログラム識別情報を優先選択記憶手段に一時記憶させ、改ざんされたプログラムが修復されると、一時記憶されたブロックプログラム識別情報を前記優先選択記憶手段から消去する機能停止手段を備え、前記選択手段は、前記優先選択記憶手段に前記ブロックプログラム識別情報が一時記憶されている場合に、当該ブロックプログラム識別情報を優先して選択するよう構成することが出来る。 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 tampering detection method, when the apparatus starts the program, in parallel with the start of the program, block program identification information of a block program obtained by dividing the entire program into a predetermined number of blocks, A reference step for referring to a hash value storage means for storing a comparison hash value obtained by applying a predetermined hash function to the block program, and specific block program identification information stored in the hash value storage means; A selection step of selecting. 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 And a detection step of determining whether the program has been tampered with by comparing the value. 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.
以下に、添付図面を参照して、本発明の改ざん検知装置を備えた画像形成装置の実施形態について説明し、本発明の理解に供する。尚、以下の実施形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定する性格のものではない。又、フローチャートにおける数字の前に付されたアルファベット「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
ユーザが複合機100を利用して例えば原稿Pの印刷を行う場合、複合機100の電源を投入すると、複合機100の制御部(図示せず)が、記憶部(図示せず)に記憶された画像形成に関するプログラムを起動する。当該制御部がプログラムを起動すると、当該プログラムの起動(実行)と並行して、複合機100の内部に組み込まれた(接続された)改ざん検知部(図示せず)が、当該プログラムの改ざんの検知を実行する。
When the user prints, for example, an original P using the
前記制御部が、以下に示す各部(駆動部)を、画像形成を実行可能な通常状態へ遷移(移行)させたり、操作部103に対して画像形成に関する画面(初期画面)を表示させたりしている間に、前記改ざん検知部が、前記プログラムの改ざんを検知すると、前記制御部は、前記改ざん検知部からの改ざん結果を受けて、画像形成に関する全ての機能を停止し、原稿台101近傍に供えられた操作部103に対してエラー画面を表示させる。
The control unit causes each of the following units (drive units) to transition (transfer) to a normal state in which image formation can be performed, or cause the
一方、前記改ざん検知部が前記プログラムの改ざんを検知しない場合、前記制御部が、前記プログラムを起動してから、ユーザの指示(例えば、電源オフのキーの押下等)を受けて前記プログラムの実行を停止するまでの間、所定の設定時間毎に、前記プログラムの改ざんの検知を繰り返し実行することになる。 On the other hand, when the tampering detection unit does not detect the tampering of the program, the control unit starts the program and then receives the user's instruction (for example, pressing of a power-off key, etc.) to execute the program Until the program is stopped, detection of falsification of the program is repeatedly executed at predetermined time intervals.
さて、ユーザは、前記初期画面を見ながら、原稿Pを図1に示す原稿台101、或いは載置台102に載置し、前記初期画面を介してコピー条件を入力し、印刷の指示を行う。操作部103の構成については後述する。当該印刷の指示があると、前記駆動部が動作することで、印刷が行われる。
Now, 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 instructs printing. The configuration of the
即ち、図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
自動原稿給紙装置106は、プラテンカバー105の内部に形成された原稿搬送路108と、プラテンカバー105の内部に備えられたピックアップローラ109や搬送ローラ110A、110B等で構成される。原稿搬送路108は、載置台102から、本体104に設けられた画像読取部111にて読み取りが行なわれる読取位置Xを経由して、排紙台107に通じる原稿の搬送路である。
The
自動原稿給紙装置106は、載置台102に載置された複数の原稿から1枚ずつ原稿をピックアップローラ109で搬送路内108に引き出し、搬送ローラ等によって引き出した原稿を、読取位置Xを通過させて、搬送ローラ110Bにより排紙台107に排紙する。読取位置Xを通過する時に原稿は画像読取部111にて読み取られる。
The
前記画像読取部111は、原稿台101の下方に設けられており、図2にその詳細が示されている。画像読取部111は、原稿台101を照射する走査方向に長い光源112と、原稿台からの光を選択的に通過させるスリット113と、原稿台からの光を導くミラー114とを備える第一の移動キャリッジ115や、第一の移動キャリッジ115からの反射光を再度反射するミラー116A、116Bを備える第二の移動キャリッジ117、更にミラーで導かれた光を光学的に補正するレンズ群118、当該レンズ群118より補正された光を受光する撮像素子119、撮像素子119にて受光した光を電気信号に変換し、必要に応じて補正処理・画質処理・圧縮処理などを行う画像データ生成部120とで構成されている。
The
自動原稿給紙装置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
又、画像読取部111は、自動原稿給紙装置106で搬送される原稿だけでなく、原稿台101に載置された原稿も読み取ることが可能となっている。原稿台101に載置された原稿を読み取る場合は、第一のキャリッジ114は、光源112を発光しながら副走査方向に移動し、光源112から撮像素子119までの光路長を一定にするために、第二の移動キャリッジ117は第一の移動キャリッジ115の1/2の速度で撮像素子119方向に移動する。
Further, the
撮像素子119は、自動原稿給紙装置106に搬送された原稿のときと同様に、ミラー114、116A、116Bに導かれた光に基づいて原稿台101に載置された原稿からの光を電気信号に変換し、これに基づいて画像データ生成部120が画像データを生成し、画像記憶部120Bに記憶する。
The
本体104の画像読取部111の下方には、画像データを印刷する画像形成部121を備えている。画像形成部121が印刷できる画像データは、上記のように画像データ生成部120にて生成されたものや、その他、複合機100とLAN等のネットワークに接続されたパーソナルコンピューター等の端末から通信部(ネットワークインターフェイス、図示せず)を介して受信したものである。尚、通信部は、ファクシミリ送受信機能、電子メール送受信機能等で用いられる。
An
さて、画像形成部121が行う印刷方式には、電子写真方式が用いられている。即ち、感光ドラム122を帯電器123で一様に帯電させ、その後レーザ124で感光ドラム122を照射して感光ドラム122に潜像を形成し、現像器125で潜像にトナーを付着させて可視像を形成し、転写ローラにて可視像を転写媒体に転写する方式である。
As a printing method performed by the
尚、フルカラー画像に対応した複合機では、上記現像器(ロータリー現像器)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
可視像が印刷される転写媒体、即ち用紙は、給紙カセット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
画像形成部121が印刷を行う際には、何れか1つの給紙トレイから転写媒体1枚を、ピックアップローラ135を用いて引き出し、引き出した転写媒体を搬送ローラ136やレジストローラ137で中間転写ベルト126Aと転写ローラ126Bの間に送り込む。
When the
画像形成部121は、中間転写ベルト126Aと転写ローラ126Bの間に送り込んだ転写媒体に、上記中間転写ベルト126A上の可視像を転写すると、可視像を定着させるために、搬送ベルト127で定着部128(定着装置)に転写媒体を送る。定着部128は、ヒータが内蔵された加熱ローラ129と、所定の圧力で加熱ローラ129に押し当てられた加圧ローラ130とで構成されている。加熱ローラ129と加圧ローラ130の間を転写媒体が通過すると、熱と転写媒体への押圧力によって可視像が転写媒体に定着する。定着が行われた転写媒体は排紙トレイ131に排紙される。
When the visible image on the
上記手順により、複合機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 (such as a facsimile function program). Similarly, in parallel with the activation of the program, the alteration detection unit detects the alteration 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
前記タッチパネル301には、アナログ抵抗膜方式が採用され、透光性を有する上部フィルムと下部ガラス基板とがスペーサを介して重ね合わされた構成となっており、上部フィルムと下部ガラス基板との各々の対向面には、ITO(Indium Tin Oxide)等からなる透明電極層が設けられている。更に、上部フィルムがユーザにより押下されると、当該押下位置に対応する上部フィルム側の透明電極層と下部ガラス基板側の透明電極層とが接触するよう構成されている。上部フィルム又は下部ガラス基板に電圧を印加し、下部ガラス基板又は上部フィルムから押下位置に対応する電圧値を取り出すことにより、当該電圧値に対応する座標値(押下位置)を検出する。検出された押下位置が、タッチパネル上に表示されたキーボード画面内の文字キー等の表示領域内に含まれると、当該文字が入力される。尚、文字キーの他に、例えば、キーボードキー、設定条件キー等であっても同様である。
The
又、下部ガラス基板の下方には、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
又、タッチパネル301の近傍には、タッチペン302が備えられており、ユーザがそのタッチペン302の先をタッチパネル301に接触させると、当該接触位置(押下位置)に対応する座標値が、上記と同様に出力され、ユーザはタッチペン302により、表示された文字キー等を押下・選択することが可能となる。
In addition, a
更に、タッチパネル301近傍には、所定数の操作キー303が設けられ、例えば、テンキー304、スタートキー305、クリアキー306、ストップキー307、リセットキー308、電源キー309が備えられている。
Further, a predetermined number of
次に、図4を用いて、複合機100及び改ざん検知部の制御系ハードウェアの構成を説明する。図4は、本発明に係る複合機及び改ざん検知部の制御系ハードウェアの構成を示す図である。ただし、本発明に直接には関係しない各部の詳細は省略している。
Next, the configuration of the control system hardware of the
複合機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
又、制御回路の内部バス406には、内部インターフェイス407も接続されており、当該内部インターフェイス407は、改ざん検知部408の制御回路と複合機100の制御回路とを接続する。CPU401は、内部インターフェイス407を介して改ざん検知部408の制御回路からの命令信号を受信したり、改ざん検知部408の制御回路へ命令信号、データ等を送信したりする。
An
又、改ざん検知部408の制御回路には、内部バス412に、CPU409、ROM410、RAM411、内部インターフェイス413を備える。複合機100のCPU401が、複合機100のROM402又はRAM403に記憶された所定のプログラムを起動する際に、改ざん検知部408のCPU409が、内部インターフェイス413を介して、当該複合機100のCPU401から改ざん検知の命令信号を受信したり、又はプログラムの起動に関する命令信号を受信したりする。又、改ざん検知部408のCPU409、ROM410、RAM411の機能も上記と同様であり、後述する各手段(図5に示す)についても、前記CPU409がプログラムを実行することで当該各手段を実現する。前記ROM410、RAM411には、以下に説明する各手段を実現するプログラムやデータが記憶されている。
The control circuit of the
<本発明の実施形態>
次に、図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
制御手段501は、前記プログラムの起動をする際に、当該プログラムの改ざんを検知する旨を、改ざん検知部408の選択手段502に通知する。次に、当該制御手段501は、当該プログラムの改ざんの有無の結果を得ることなく、プログラム記憶手段503から、特定のプログラム識別情報(例えば、プログラムの名称「初期プログラム」等)に対応するプログラム全体のデータを読み出し、当該プログラムを実行する。
When the program is started, the
図7(A)は、本発明の実施形態に係るタッチパネル上に表示された初期画面の一例を示す図である。 FIG. 7A is a diagram showing an example of an initial screen displayed on the touch panel according to the embodiment of the present invention.
前記初期プログラムを実行した制御手段501は、表示受付手段504に、画像形成に関する初期画面(図7(A))をタッチパネルに表示させたり、画像形成手段505に、画像形成に関する駆動部を通常状態へ移行させたりする。そして、ユーザは、タッチパネルに表示した初期画面を見ながら、画像形成に関する設定条件を入力したり、スタートキーを押下したりして、複合機100に画像形成処理を実行させることになる。
The
一方、前記制御手段501による前記通知を受けた選択手段502は、前記制御手段501によるプログラムの起動(実行)と並行して、当該制御手段501から改ざん検知の対象となるプログラムのプログラム識別情報(「初期プログラム」)を取得する。次に、選択手段502は、優先選択記憶手段506を参照し、当該優先選択記憶手段506に、取得したプログラム識別情報に対応したブロックプログラム識別情報(後述)が一時記憶されているか否か判定する(図6:S102)。
On the other hand, the
このように、前記プログラムの起動時間のうち、当該プログラムの改ざんの検知に要する時間、例えば、ハッシュ値の算出時間を削除することになり、当該プログラムの起動時間全体を大幅に短縮することが可能となる。 In this way, the time required for detecting the alteration of the program, for example, the calculation time of the hash value, is deleted from the startup time of the program, and the overall startup time of the program can be greatly reduced. It becomes.
さて、前記判定の結果、前記プログラム識別情報に対応したブロックプログラム識別情報が一時記憶されている場合は(図6:S102YES)、前記選択手段502は、当該ブロックプログラム識別情報を最優先で選択することになるが(図6:S104)、その説明は後述する。
When 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
一方、前記判定の結果、前記プログラム識別情報に対応したブロックプログラム識別情報が一時記憶されていない場合(図6:S102NO)、前記選択手段502は、ハッシュ値記憶手段507に予め記憶されているハッシュ値テーブルを参照する(図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
図7(B)は、本発明の実施形態に係るハッシュ値テーブルの一例を示す図である。図8(A)は、本発明の実施形態に係るブロックプログラムの一例を示す図である。 FIG. 7B is a diagram showing an example of a hash value table according to the embodiment of the present invention. FIG. 8A is a diagram showing an example of a block program according to the embodiment of the present invention.
ハッシュ値テーブル700には、図7(B)に示すように、前記プログラム識別情報701(例えば、「初期プログラム」701a)と、当該プログラム全体を所定数(分割数、例えば、「10」)のブロックに分割することにより得られるブロックプログラムのブロックプログラム識別情報702(例えば、「A001」702a)と、当該ブロックプログラムに所定のハッシュ関数を適用して得られる比較ハッシュ値703(例えば、「98765」703a、ダイジェスト情報とも言う)とが関連付けて記憶される。 In the hash value table 700, as shown in FIG. 7B, the program identification information 701 (for example, “initial program” 701a) and a predetermined number (the number of divisions, for example, “10”) of the entire program are included. 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は、図8(A)に示すように、プログラム全体801(プログラムの実体であるバイナリデータに対応)を、先頭のデータ802を含むデータ群から順番に、所定数(分割数)のブロックに均等分割することにより得られる。又、前記ブロックプログラム803の所定数は、分割後のブロックプログラム803に前記ハッシュ関数を適用してハッシュ値を算出した場合に、当該ハッシュ値を算出するために要する時間(ハッシュ値の算出時間)が、予め設定された所定時間(例えば、数秒−数十秒)未満となるように決定されている。
Here, as shown in FIG. 8 (A), the block program 706 stores the entire program 801 (corresponding to binary data that is the substance of the program) in a predetermined number (in order from the data group including the top data 802). It is obtained by dividing equally into (number of divisions) blocks. The predetermined number of
これにより、ハッシュ値の算出に要する時間を必要以上に長期化しないように制御することが可能となる。尚、前記ブロックプログラム803の所定数は、プログラム全体(バイナリデータ全体)のサイズに応じて適宜決定されるものの、例えば、初期プログラム(例えば、数十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
又、ブロックプログラム識別情報702は、当該ブロックプログラム803が分割元のプログラム全体801のうち、どこの領域に位置するかを示す情報(例えば、プログラムが記憶されているメモリの領域又は位置を示すアドレス)に対応している。
The block
図8(A)では、プログラムの先頭のデータ802を含むブロックプログラム803aには、ブロックプログラム識別情報として最初の順位を示す「A001」が割り付けられている。又、前記先頭のデータ802を含むブロックプログラム803aを基準として、後続のブロックプログラム803bには、順次低い順位のブロックプログラム識別情報(例えば、「A001」の直後には「A002」)が割り付けられている。図8(A)では、所定数が10個であるため、後尾のデータを含むブロックプログラム803zには、最後の順位を示すブロックプログラム識別情報(「A010」)が割り付けられている。これにより、ブロックプログラム識別情報に基づいてブロックプログラムの領域又は位置を特定することが可能となる。
In FIG. 8A, the
さて、ハッシュ値テーブル700を参照した選択手段502は、先ほど取得したプログラム識別情報(「初期プログラム」)と、ハッシュ値テーブル700のプログラム識別情報701とを比較し、一致したプログラム識別情報701(「初期プログラム」701a)に属する所定数のブロックプログラム識別情報702を特定する。次に、選択手段502が、所定数のブロックプログラム識別情報702のうち、特定のブロックプログラム識別情報702を選択する(図6:S104)。
The
ここで、選択手段502が、特定のブロックプログラム識別情報702を選択する場合、どのように選択しても構わないが、例えば、プログラムの種類、目的、用途に応じて、予め設定された選択数(例えば、1つ)のブロックプログラム識別情報を選択するよう構成する。
Here, when the
当該構成とすると、選択するブロックプログラム識別情報の選択数が増加すれば、ハッシュ値の算出時間が増大するものの、安全性を更に向上させることが可能となる。例えば、起動の迅速化よりも安全性を優先させるプログラム(ユーザ情報が含まれるアドレス帳機能プログラム)であれば、前記選択数を増加して(例えば、5つ)、安全性を確保すればよいし、安全性よりも起動の迅速化を優先させるプログラム(ユーザ情報を全く含まない初期プログラム)であれば、前記選択数を減少して、起動時間の短縮を図れる。尚、前記選択数は、プログラムの種類、目的、用途に応じて、管理者等の特定のユーザが適宜設定するよう構成すればよい。 With 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が、最も低い順位のブロックプログラム識別情報(「A010」)を特定のブロックプログラム識別情報として選択する。
Further, the
図8(B)は、本発明の実施形態に係る改ざんされる前のプログラムと、改ざん後のプログラムの一例を示す図である。 FIG. 8B 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(B)に示すように、プログラム全体のうち、中央部のデータ804が改ざんされて、新たに所定のデータ805が追加された場合、当該追加分805だけ、改ざんされたデータの後続のプログラム806は後方にシフトし、当該後続のプログラム806は、改ざん前の後続のプログラム807と全く異なるデータとなる。尚、中央部のデータ804のうち、所定のデータが削除された場合は、当該削除分だけ、改ざんされたデータの後続のデータは前方にシフトし、その結果、当該後続のデータは、改ざん前の後続のデータと全く異なるデータとなる。
When the data of a predetermined part of the entire program is falsified, the program subsequent to the falsified data is changed according to the falsified data (contents). For example, as shown in FIG. 8B, when the
すると、改ざん後の後続のデータ806を一部でも含むブロックプログラム808の対応ハッシュ値は、当該ブロックプログラム808に対応する改ざん前のブロックプログラム809の比較ハッシュ値と全く異なる値となる。
Then, the corresponding hash value of the
更に、最も低い順位のブロックプログラム識別情報のブロックプログラムであれば、確実に、プログラム全体の半分より後続のプログラムに対応する。そのため、当該ブロックプログラムには、改ざん後の後続のプログラムを一部でも含んでいる可能性が極めて高い。上述した構成を採用することにより、選択手段502は、改ざんによるデータ変更の影響を受け易いブロックプログラムのブロックプログラム識別情報を選択することが可能となる。その結果、仮に、前記プログラムの起動(実行)と並行して、当該プログラムの改ざんの検知を実行したとしても、早期に当該プログラムの改ざんの検知を発見することが可能となる。尚、改ざんされたデータが改ざん前のデータと比較して同等(同一のビット数)である場合も想定されるが、この場合は、稀であるため、上述した構成で問題はない。
Further, the block program having the lowest rank block program identification information surely corresponds to a program subsequent to 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
さて、選択手段502が、特定のブロックプログラム識別情報(「A010」)を選択すると、その旨をハッシュ値算出手段508に通知する。当該通知を受けたハッシュ値算出手段508は、選択手段502からプログラム識別情報(「初期プログラム」)と特定のブロックプログラム識別情報(「A010」)とを取得する。次に、ハッシュ値算出手段508は、複合機100のプログラム記憶手段503から前記プログラム識別情報(「初期プログラム」)に対応するプログラム全体から、特定のブロックプログラム識別情報(「A010」)に対応するブロックプログラムを取得する(図6:S105)。そして、ハッシュ値算出手段508は、ハッシュ関数記憶手段509に予め記憶されたハッシュ関数を参照して、取得したブロックプログラム(バイナリデータ)に当該ハッシュ関数を適用して対応ハッシュ値を算出する(図6:S106)。
When the
ここで、ハッシュ値算出手段508が対応ハッシュ値を算出する場合、ブロックプログラムのサイズが、プログラム全体のサイズと比較して一部(小さい)であることから(例えば、所定数が10個であれば、10分の1)、ハッシュ値の算出負担(演算負担)が軽減され、算出速度(演算速度)の向上、算出効率(演算効率)の向上が図れる。更に、所定のブロックプログラムに対するハッシュ値の算出時間が、プログラム全体に対するハッシュ値の算出時間と比較して、著しく短縮される。例えば、プログラムデータ全体に対応するハッシュ値の算出時間が、数分である場合、ブロックプログラムに対応するハッシュ値の算出時間は、数秒程度となる。これにより、ハッシュ値の算出時間が飛躍的に短縮されることが理解される。
Here, when the hash
さて、ハッシュ値算出手段508が対応ハッシュ値を算出すると、その旨を検知手段510に通知する。当該通知を受けた検知手段510は、ハッシュ値記憶手段509のハッシュ値テーブル700を参照して、特定のブロックプログラム識別情報(「A010」)に対応する比較ハッシュ値(「65432」)を取得する。そして、検知手段510は、算出された対応ハッシュ値と、取得した比較ハッシュ値とを比較して、改ざんの有無を判定する(図6:S107)。
Now, when the hash value calculation means 508 calculates the corresponding hash value, it notifies the detection means 510 to that effect. Upon receiving the notification, the
前記比較(判定)の結果、両者が一致した場合(図6:S107YES)、プログラムは改ざんされていないことになる。この場合、検知手段510は、その旨を前記選択手段502に通知する。当該通知を受けた選択手段502は、当該プログラムの実行中(起動中、動作中)に、前記ハッシュ値テーブル700を参照して、当該ハッシュ値テーブル700に記憶された全てのブロックプログラム識別情報を選択したか否かを判定する(図6:S108)。
As a result of the comparison (determination), if the two match (FIG. 6: S107 YES), the program has not been tampered with. In this case, the
尚、前記比較の結果、前記対応ハッシュ値と前記比較ハッシュ値とが不一致の場合は(図6:S107NO)、後述する。 Note that, as a result of the comparison, if the corresponding hash value does not match the comparison hash value (FIG. 6: S107 NO), it will be described later.
前記ハッシュ値テーブル700に記憶された全てのブロックプログラム識別情報を選択したか否かの判定方法は、例えば、選択手段502が、参照したハッシュ値テーブル700のブロックプログラム識別情報と、既に選択したブロックプログラム識別情報とを比較して、不一致のブロックプログラム識別情報がハッシュ値テーブル700に存在するか否かによってなされる。
The determination method of whether or not all the block program identification information stored in the hash value table 700 has been selected is, for example, the block program identification information in the hash value table 700 that the
前記判定の結果、前記ハッシュ値テーブル700に記憶された全てのブロックプログラム識別情報を選択していない場合(図6:S108NO)、選択手段502は、予め備えられている所定のタイマー511を起動し、検知手段510により所定のブロックプログラムの改ざんの有無の結果を受けた時点からの経過時間を計測する(図6:S109)。そして、選択手段502は、設定時間記憶手段512に予め記憶されている設定時間を取得して、前記経過時間が前記設定時間を超過するまで待機する(図6:S110NO)。
If all the block program identification information stored in the hash value table 700 has not been selected as a result of the determination (FIG. 6: S108 NO), the
ここで、前記設定時間は、プログラムの種類、目的、用途、サイズに応じて、管理者等の特定のユーザが適宜設定するよう構成される。例えば、プログラムが初期プログラムであり、ブロックプログラムの所定数が10個である場合、1時間当たりに10回、ブロックプログラムの改ざん検知がなされるように、前記設定時間は6分と設定される。 Here, the set time is appropriately set by a specific user such as an administrator in accordance with the type, purpose, application, and size of the program. For example, when the program is an initial program and the predetermined number of block programs is 10, the set time is set to 6 minutes so that the alteration of the block program is detected 10 times per hour.
前記経過時間が前記設定時間を超過すると(図6:S110YES)、選択手段502は、前記ハッシュ値テーブル700から、既に選択したブロックプログラム識別情報と異なるブロックプログラム識別情報(未だに選択していないブロックプログラム識別情報)を選択する(図6:S104)。
When the elapsed time exceeds the set time (FIG. 6: S110 YES), the
これにより、前記制御手段501がプログラムの実行中に、全てのブロックプログラム識別情報が選択されるまで、前記所定時間毎に、未選択のブロックプログラム識別情報の選択が繰り返されて、プログラム全体の改ざんを確実に検知することが可能となる。又、このようなブロックプログラムの改ざんの検知が、前記プログラムの実行中(起動中、動作中)に繰り返しなされることにより、当該プログラムの実行中に改ざんがなされた場合、当該改ざんをほぼリアルタイムで検知、捕捉することが可能となる。ここで、実行中とは、前記制御手段501が、所定時間経過後に省電力状態へ移行させる所定のプログラムを実行することにより、複合機100が低電力状態である最中も含む。
As a result, during the execution of the program by the control means 501, the selection of unselected block program identification information is repeated every predetermined time until all block program identification information is selected, and the entire program is altered. Can be reliably detected. In addition, by detecting such alteration of the block program repeatedly during the execution of the program (starting and operating), if the alteration is made during the execution of the program, the alteration is performed almost in real time. It can be detected and captured. Here, “being executed” includes the time when the
尚、選択手段502が、特定のブロックプログラム識別情報を選択する場合(図6:S104)、既に最も低い順位のブロックプログラム識別情報(「A010」)は選択されている。そのため、選択手段502は、次に低い順位のブロックプログラム識別情報(「A009」)を選択することになる。つまり、選択手段502が、最も低い順位のブロックプログラム識別情報(「A010」)から最も高い順位のブロックプログラム識別情報(「A001」)まで降順にブロックプログラム識別情報を選択することになる。選択後については、上述と同様となるため(図6:S105)、省略する。
When the
さて、S108において、前記選択手段502が、前記ハッシュ値テーブル700に記憶された全てのブロックプログラム識別情報を選択した場合(図6:S108YES)、前記プログラム全体の改ざんを検知した結果、当該プログラムは改ざんされていないことになる。そのため、前記選択手段502は、前記プログラムの改ざんの検知を完了する。
In S108, when the
一方、S107において、前記比較の結果、前記対応ハッシュ値と前記比較ハッシュ値とが不一致の場合(図6:S107NO)、制御手段501が起動(実行)しているプログラム(動作中のプログラム)は何らかの理由によって改ざんされたことになる。そのため、検知手段510は、当該プログラムが改ざんされたことを検知し、その旨を機能停止手段513に通知する。当該通知を受けた機能停止手段513は、不一致の比較ハッシュ値に対応するブロックプログラム識別情報(「A010」)と、当該ブロックプログラム識別情報(「A010」)に対応するプログラム識別情報(「初期プログラム」)とをハッシュ値記憶手段507のハッシュ値テーブル700から取得して、取得したブロックプログラム識別情報とプログラム識別情報とを、上述した優先選択記憶手段506に優先選択テーブルとして一時記憶させる(図6:S111)。
On the other hand, in S107, 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 activated (executed) by the
図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(「A010」)とが関連付けて一時記憶される。 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 (“A010”) is temporarily stored in association with each other.
これにより、S102において、前記選択手段502が、改ざんされたプログラムのプログラム識別情報における特定のブロックプログラム識別情報を選択する場合、優先選択記憶手段506にはブロックプログラム識別情報(優先選択テーブル900)が一時記憶されていることから(図6:S102YES)、当該選択手段502が、一時記憶されたブロックプログラム識別情報902を優先選択記憶手段506から最優先で選択することになる(図6:S104)。
As a result, when the
そのため、例えば、一度、プログラムの改ざんが検知された場合(図6:107NO)、ユーザにより再起動、再電源等のリセットがされて、制御手段501が、再度、改ざん後のプログラムを起動しても(図6:S101)、選択手段502が、改ざんが検知されたブロックプログラムのブロックプログラム識別情報902を確実に選択し(図6:S102YES→S104)、前記検知手段510が、当該プログラムの改ざんを検知することになる(図6:107NO)。その結果、改ざん後のプログラムの実行を確実に停止することが可能となる。
Therefore, for example, once a program alteration is detected (FIG. 6: 107 NO), the user restarts, resets the power, etc., and the control means 501 starts the altered program again. (FIG. 6: S101), the
さて、S111において、次に、機能停止手段513は、制御手段501に、複合機100の動作を停止させる旨と、表示受付手段504にエラー画面を表示させる旨とを通知する。当該通知を受けた制御手段501は、電源(主電源)から画像処理に関する駆動部への通電を停止するとともに(図6:S112)、表示受付手段504は、タッチパネルにエラー画面を表示する(図6:S113)。
In S111, the
図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
又、機能停止手段513は、不一致であった対応ハッシュ値のブロックプログラム識別情報(「A010」)に対応するブロックプログラムをプログラム記憶手段503から取得し、改ざん解析記憶手段514に記憶させる(図6:S114)。改ざん解析記憶手段514は、特定のユーザ、例えば、管理者、サービスマン等がアクセス可能となるように構成されており、更に、改ざん検知部408及び複合機100から取り外し可能となるよう構成されている。これにより、特定のユーザが、改ざん解析記憶手段514の内容(データ)を解析することで、改ざんされたデータや改ざんを実行した改ざん実行者の改ざんの意図等を知ることが可能となる。
Further, the
そして、機能停止手段513は、プログラム記憶手段503又は複合機100の所定のメモリから、改ざんされたプログラムへのアクセスログを取得する。又、機能停止手段513は、図示しない通信部からネットワークからの当該プログラムへのアクセスログ(通信ログ)を取得する。そして、機能停止手段513は、取得したアクセスログを前記改ざん解析記憶手段514に記憶させる(図6:S115)。これにより、特定のユーザが、改ざん解析記憶手段514の内容を解析することで、更に、改ざん前後のプログラムの変更経緯やアクセス者を知ることが可能となり、改ざん実行者の特定を促すことが可能となる。
Then, the
更に、機能停止手段513は、複合機100に搭載されたメモリのうち、ユーザ情報を記憶しているユーザ情報記憶手段515へのアクセスを禁止するとともに、通信部に、前記ネットワークへのアクセスを禁止させる(図6:S116)。これにより、例えば、改ざん後のプログラムがユーザ情報を流出するためのプログラムであり、制御手段501が、当該改ざん後のプログラムを実行することにより、ユーザ情報記憶手段515に記憶されたユーザ情報を、ネットワークを介して他の端末装置に流出するような事態を未然に防止することができる。その結果、安全性を十分に確保することが出来る。
Further, the
これにより、プログラムの改ざんが検知された場合の処理は完了する。 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のプログラム記憶手段503と接続し、表示受付手段504を介して制御手段501に、改ざん後のプログラムの修復を実行する旨のキーを入力する。当該キーの入力を受けた制御手段501は、当該プログラム記憶手段503に記憶された、改ざん後のプログラムを、正規のプログラムに書き換え(変更)する。
That is, according to the user's notification, a specific user such as a serviceman connects a regular program storage unit (not shown) for storing a regular program with the
書き換え完了後に、制御手段501が、表示受付手段504を介して改ざん後のプログラムの修復を完了した旨の画面を表示させると、特定のユーザが、当該画面に示された確認キー(例えば、OKキー)を入力する。当該キーの入力を受けた制御手段501は、その旨を機能停止手段513に通知する。当該通知を受けた機能停止手段513は、修復後のプログラムに対応するプログラム識別情報を制御手段501(又はプログラム記憶手段503)から取得し、優先選択記憶手段506を参照して、当該優先選択記憶手段506から修復後のプログラムに対応する前記優先選択テーブル900を消去する。
After the rewriting is completed, when the
これにより、次に、制御手段501が修復後のプログラムを起動した際に(図6:S101)、選択手段502が、ハッシュ値テーブルを参照して(図6:S102NO→S103)、最も低い順位のブロックプログラム識別情報(「A010」)から最も高い順位のブロックプログラム識別情報(「A001」)まで降順にブロックプログラム識別情報を一つずつ選択することとなり(図6:S104)、プログラムの改ざん検知が正常に再開されることになる。
As a result, when the
このように、本発明の実施形態では、前記プログラム全体を所定数のブロックに分割することにより得られるブロックプログラムのブロックプログラム識別情報702と、当該ブロックプログラムに所定のハッシュ関数を適用して得られる比較ハッシュ値703とを関連付けて記憶するハッシュ値記憶手段507と、前記複合機100が前記プログラムを起動すると、当該プログラムの起動と並行して、前記ハッシュ値記憶手段507に記憶された特定のブロックプログラム識別情報702を選択する選択手段502と、選択された特定のブロックプログラム識別情報702に対応するブロックプログラムに前記ハッシュ関数を適用して対応ハッシュ値を算出するハッシュ値算出手段508と、前記対応ハッシュ値と前記比較ハッシュ値とを比較することにより、両者が一致しない場合に、前記プログラムが改ざんされたと検知する検知手段510とを備える。
Thus, in the embodiment of the present invention, the block
これにより、複合機100の前記プログラムの起動と並行して、プログラムの改ざんの検知がなされる。そのため、前記プログラムの起動時間に、前記プログラムの改ざんの検知に要する時間、例えば、ハッシュ値の算出時間を削除することになり、当該プログラムの起動時間全体を大幅に短縮することが可能となる。又、プログラムの起動と並行してなされるプログラムの改ざん検知は、当該プログラム全体から対応ハッシュ値を算出するのではなく、プログラム全体の一部であるブロックプログラムから対応ハッシュ値を算出することでなされる。そのため、ハッシュ値の算出負担(演算負担)を軽減させ、算出速度(演算速度)、算出効率(演算効率)の向上を図り、前記ハッシュ値の算出時間の短縮化、プログラムの改ざん検知の応答速度の迅速化を図ることが可能となる。 Thereby, the alteration of the program is detected in parallel with the activation of the program of the multifunction peripheral 100. Therefore, the time required for detecting the alteration of the program, for example, the calculation time of the hash value, is deleted from the startup time of the program, and the entire startup time of the program can be greatly shortened. In addition, the alteration detection of the program that is performed in parallel with the start of the program is not calculated by calculating the corresponding hash value from the entire program but by calculating the corresponding hash value from the block program that is a part of the entire program. The Therefore, the calculation load (calculation load) of the hash value is reduced, the calculation speed (calculation speed) and the calculation efficiency (calculation efficiency) are improved, the calculation time of the hash value is shortened, and the response speed of detecting the alteration of the program It is possible to speed up the process.
尚、本発明の実施形態では、前記ハッシュ値記憶手段507は、ブロックプログラムに前記ハッシュ関数を適用して得られる比較ハッシュ値をそのまま記憶し、前記ハッシュ値算出手段508は、特定のブロックプログラム識別情報に対応するブロックプログラムにそのまま前記ハッシュ関数を適用して対応ハッシュ値を算出するよう構成したが、他の構成でも構わない。 In the embodiment of the present invention, the hash value storage means 507 stores the comparison hash value obtained by applying the hash function to a block program as it is, and the hash value calculation means 508 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.
例えば、前記ハッシュ値記憶手段507は、前記ブロックプログラムに所定の付加情報(例えば、複合機100又は改ざん検知部408に特有な付加情報)を付加した後のプログラムに、前記ハッシュ関数を適用して得られるハッシュ値を比較ハッシュ値として記憶し、前記ハッシュ値算出手段508は、対応ハッシュ値を算出する際に、ブロックプログラムに前記付加情報を付加した後のプログラムに前記ハッシュ関数を適用して対応ハッシュ値を算出するよう構成しても構わない。
For example, the hash
ここで、ブロックプログラムに前記付加情報を付加する場合、当該ブロックプログラムの先頭に付加してもよいし(先頭に付加する付加情報をプレフィックスと称する場合がある)、当該ブロックプログラムの後尾に付加しても構わない(後尾に付加する付加情報をサフィックスと称する場合がある)。当該構成により、仮に、改ざん実行者に前記ハッシュ関数を取得されたとしても、前記付加情報の存在により、当該改ざん実行者は、前記プログラムと前記ハッシュ関数とに基づいて比較ハッシュ値、対応ハッシュ値を再現することが出来ないため、安全性を更に向上させることが可能となる。 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). Even if the hash function is acquired by the falsification executor by the configuration, the falsification executor can compare the hash value and the corresponding hash value based on the program and the hash function due to the presence of the additional information. Therefore, it is possible to further improve safety.
又、前記付加情報は、改ざん検知部408の外部から変更も読み取りも出来ないようなメモリに記憶させることが好ましい。当該メモリとして、例えば、メモリを取り外し、分解すると当該メモリに記憶された情報が失われる耐タンパ性を有するメモリ(集積回路)等を採用することが出来る。
The additional information is preferably stored in a memory that cannot be changed or read from outside the
又、本発明の実施形態では、選択手段502が、特定のブロックプログラム識別情報を一つ選択するよう構成したが、複数選択する場合は、ハッシュ値算出手段508が、選択された特定のブロックプログラム識別情報毎に、対応するブロックプログラムに前記ハッシュ関数を適用して対応ハッシュ値を算出し、検知手段510が、選択された特定のブロックプログラム識別情報毎に、前記対応ハッシュ値と前記比較ハッシュ値とを比較することにより、改ざんの有無を判定することは、言うまでも無い。
In the embodiment of the present invention, the
又、本発明の実施形態では、選択手段502が、最も低い順位のブロックプログラム識別情報(「A010」)から最も高い順位のブロックプログラム識別情報(「A001」)まで降順にブロックプログラム識別情報を一つずつ選択するよう構成したが、他の構成でも構わない。即ち、選択手段502が、所定のブロックプログラム識別情報から、無作為に特定のブロックプログラム識別情報を順次選択しても、予め設定された所定の順番(昇順等)で特定のブロックプログラム識別情報を順次選択しても構わない。
In the embodiment of the present invention, the
又、本発明の実施形態では、機能停止手段513が、前記検知手段510により前記プログラムの改ざんが検知された場合に、前記複合機100の動作を停止させるとともにタッチパネルにエラー画面を表示させる処理、不一致の比較ハッシュ値に対応するブロックプログラムを改ざん解析記憶手段514に記憶させる処理、前記プログラムへのアクセスログ又はネットワークから前記プログラムへの通信ログを改ざん解析記憶手段514に記憶させる処理、前記複合機100の所定のメモリのうち、ユーザ情報を記憶しているユーザ情報記憶手段515へのアクセス、又はネットワークへのアクセスを禁止させる処理の全てを実行するように構成したが、他の構成でも構わない。
In the embodiment of the present invention, the
即ち、機能停止手段513が、上述した複数の処理のうち、少なくともいずれかの処理を実行するよう構成しても構わない。又、機能停止手段513が、改ざんが検知されたプログラムの種類、目的、用途に応じて、上述した複数の処理のうち、特定の処理を実行するよう構成しても構わない。例えば、前記プログラムが、ネットワーク(電話回線)を介して画像データを送信するプログラム(例えば、「ファクシミリ機能プログラム」)である場合、前記機能停止手段513が、当該ネットワークに関連する処理を実行するよう構成しても良いし、前記プログラムが、ユーザ情報に基づいてユーザの宛先を表示するプログラム(例えば、「アドレス帳機能プログラム」)である場合、前記機能停止手段513が、当該ユーザ情報に関連する処理を実行するよう構成しても良い。
That is, the
又、本発明の実施形態では、複合機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 機能停止手段
514 改ざん解析記憶手段
515 ユーザ情報記憶手段
100
Claims (8)
前記プログラム全体を所定数のブロックに分割することにより得られるブロックプログラムのブロックプログラム識別情報と、前記ブロックプログラムに所定のハッシュ関数を適用して得られる比較ハッシュ値とを関連付けて記憶するハッシュ値記憶手段と、
前記装置が前記プログラムを起動すると、当該プログラムの起動と並行して、前記ハッシュ値記憶手段に記憶された特定のブロックプログラム識別情報を選択する選択手段と、
選択された特定のブロックプログラム識別情報に対応するブロックプログラムに前記ハッシュ関数を適用して対応ハッシュ値を算出するハッシュ値算出手段と、
前記対応ハッシュ値と前記比較ハッシュ値とを比較することにより、改ざんの有無を判定する検知手段と
を備えることを特徴とする改ざん検知装置。 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,
When the apparatus activates the program, a selection unit that selects specific block program identification information stored in the hash value storage unit in parallel with the activation of 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に記載の改ざん検知装置。 When the apparatus starts up the program, the selection unit selects every block program identification information stored in the hash value storage unit during execution of the program every predetermined set time. The tampering detection apparatus according to claim 1, wherein selection of block program identification information different from the already selected block program identification information is continued.
請求項1又は2に記載の改ざん検知装置。 When the selection means selects specific block program identification information, the block program identification information of a block program including data from half to the tail of the entire program is selected with priority over other block program identification information. The falsification detection device according to claim 1 or 2.
前記選択手段は、前記優先選択記憶手段に前記ブロックプログラム識別情報が一時記憶されている場合に、当該ブロックプログラム識別情報を優先して選択する
請求項1−3のいずれか一項に記載の改ざん検知装置。 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 3, wherein the selection unit preferentially selects the block program identification information when the block program identification information is temporarily stored in the priority selection storage unit. Detection device.
請求項4に記載の改ざん検知装置。 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 4, wherein at least one of the processes for prohibiting is executed.
前記ハッシュ値算出手段は、前記ブロックプログラムに前記付加情報を付加した後のプログラムに、前記ハッシュ関数を適用して対応ハッシュ値を算出する
請求項1−5のいずれか一項に記載の改ざん検知装置。 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 5, wherein the hash value calculation unit calculates a corresponding hash value by applying the hash function to a program after the additional information is added to the block program. apparatus.
前記装置が前記プログラムを起動すると、当該プログラムの起動と並行して、前記プログラム全体を所定数のブロックに分割することにより得られるブロックプログラムのブロックプログラム識別情報と、前記ブロックプログラムに所定のハッシュ関数を適用して得られる比較ハッシュ値とを関連付けて記憶するハッシュ値記憶手段を参照する参照ステップと、
前記ハッシュ値記憶手段に記憶された特定のブロックプログラム識別情報を選択する選択ステップと、
選択された特定のブロックプログラム識別情報に対応するブロックプログラムに前記ハッシュ関数を適用して対応ハッシュ値を算出するハッシュ値算出ステップと、
前記対応ハッシュ値と前記比較ハッシュ値とを比較することにより、前記プログラムの改ざんの有無を判定する検知ステップと
を含むことを特徴とする改ざん検知方法。
In the falsification detection method for detecting whether or not the device program has been falsified,
When the apparatus starts the program, in parallel with the start of the program, block program identification information of a block program obtained by dividing the entire program into a predetermined number of blocks, and a predetermined hash function for the block program A reference step for referring to hash value storage means for storing the hash value in association with the comparison hash value obtained by applying
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;
And a detection step of determining whether the program has been altered by comparing the corresponding hash value with the comparison hash value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010221783A JP2012078953A (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 |
---|---|---|---|
JP2010221783A JP2012078953A (en) | 2010-09-30 | 2010-09-30 | Falsification detection device and falsification detection method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012078953A true JP2012078953A (en) | 2012-04-19 |
Family
ID=46239162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010221783A Pending JP2012078953A (en) | 2010-09-30 | 2010-09-30 | Falsification detection device and falsification detection method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012078953A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101494431B1 (en) | 2012-07-13 | 2015-02-23 | 네이버비즈니스플랫폼 주식회사 | System, device, method and computer readable recording medium for detecting manipulation of a mobile application file |
WO2019151013A1 (en) * | 2018-02-02 | 2019-08-08 | 日本電気株式会社 | Information processing device, information processing method, and recording medium |
JP2019191698A (en) * | 2018-04-19 | 2019-10-31 | キヤノン株式会社 | Information processing apparatus, control method, and program thereof |
JP2020010228A (en) * | 2018-07-10 | 2020-01-16 | キヤノン株式会社 | Image processing system, control method thereof, and program |
JPWO2021059478A1 (en) * | 2019-09-27 | 2021-04-01 | ||
US11392722B2 (en) | 2017-07-13 | 2022-07-19 | Denso Corporation | Electronic control device, program falsification detection method, and computer readable non- transitory tangible storage medium |
-
2010
- 2010-09-30 JP JP2010221783A patent/JP2012078953A/en active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101494431B1 (en) | 2012-07-13 | 2015-02-23 | 네이버비즈니스플랫폼 주식회사 | System, device, method and computer readable recording medium for detecting manipulation of a mobile application file |
US11392722B2 (en) | 2017-07-13 | 2022-07-19 | Denso Corporation | Electronic control device, program falsification detection method, and computer readable non- transitory tangible storage medium |
WO2019151013A1 (en) * | 2018-02-02 | 2019-08-08 | 日本電気株式会社 | Information processing device, information processing method, and recording medium |
US11449617B2 (en) | 2018-02-02 | 2022-09-20 | Nec Corporation | Information processing device, information processing method, and storage medium |
JP2019191698A (en) * | 2018-04-19 | 2019-10-31 | キヤノン株式会社 | Information processing apparatus, control method, and program thereof |
JP7179482B2 (en) | 2018-04-19 | 2022-11-29 | キヤノン株式会社 | Information processing device, control method, and its program |
JP2020010228A (en) * | 2018-07-10 | 2020-01-16 | キヤノン株式会社 | Image processing system, control method thereof, and program |
JP7105640B2 (en) | 2018-07-10 | 2022-07-25 | キヤノン株式会社 | IMAGE PROCESSING DEVICE, CONTROL METHOD THEREOF, AND PROGRAM |
US11523025B2 (en) | 2018-07-10 | 2022-12-06 | Canon Kabushiki Kaisha | Image processing apparatus that displays a message indicating that alteration of a login application has been detected, control method thereof, and storage medium |
JPWO2021059478A1 (en) * | 2019-09-27 | 2021-04-01 | ||
WO2021059478A1 (en) * | 2019-09-27 | 2021-04-01 | 日本電気株式会社 | Information processing device, information processing method, and non-transitory computer-readable medium having program recorded thereon |
JP7283552B2 (en) | 2019-09-27 | 2023-05-30 | 日本電気株式会社 | Information processing device, information processing method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8332933B2 (en) | Processing apparatus with touch panel | |
JP5885645B2 (en) | Information processing apparatus and authentication method | |
US9224011B2 (en) | Embedded system, information processing unit, and image forming apparatus | |
JP2012078953A (en) | Falsification detection device and falsification detection method | |
CN102291508A (en) | Image processing apparatus and management apparatus | |
JP2012078952A (en) | Falsification detection device and falsification detection method | |
US20180032020A1 (en) | Image forming apparatus | |
CN112114842A (en) | Information processing apparatus, control method thereof, and storage medium | |
JP2006279924A (en) | Image forming method and image forming apparatus | |
JP2015125722A (en) | Data migration system and data migration method | |
JP5558252B2 (en) | Information display device and information display method | |
US20250013722A1 (en) | Electronic device that manages application accessible by user, information processing system including electronic device, authentication application program, and normal application program | |
US20250060974A1 (en) | Information processing apparatus, information processing method, and storage medium | |
JP6489314B2 (en) | Image forming apparatus | |
US8867078B2 (en) | Operation device and operation method | |
JP2014090361A (en) | Operation device, image forming apparatus and operation method | |
JP2015125723A (en) | Data migration system and data migration method | |
JP2012141814A (en) | Installation notification device and installation notification method | |
JP7247685B2 (en) | Maintenance system and image forming device | |
JP5599109B2 (en) | Image forming apparatus and image forming method | |
JP5863701B2 (en) | Image forming apparatus and log recording method in image forming apparatus | |
JP2004297680A (en) | Image processing apparatus | |
JP7215016B2 (en) | Image processing device, image processing system, and image processing program | |
US20150220444A1 (en) | Data storage apparatus and data storage method | |
JP6376111B2 (en) | Information processing apparatus and information processing method |