JP2006191491A - Information processing apparatus and method, program, and storage medium - Google Patents
Information processing apparatus and method, program, and storage medium Download PDFInfo
- Publication number
- JP2006191491A JP2006191491A JP2005003069A JP2005003069A JP2006191491A JP 2006191491 A JP2006191491 A JP 2006191491A JP 2005003069 A JP2005003069 A JP 2005003069A JP 2005003069 A JP2005003069 A JP 2005003069A JP 2006191491 A JP2006191491 A JP 2006191491A
- Authority
- JP
- Japan
- Prior art keywords
- program
- information processing
- unit
- verification
- tampered
- 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.)
- Withdrawn
Links
Images
Abstract
Description
本発明は、プログラムの暗号化データを用いた情報処理装置及びその方法並びにプログラム及び記憶媒体に関する。 The present invention relates to an information processing apparatus and method using encrypted data of a program, a program, and a storage medium.
近年、被写体の光学像をデジタル化して記憶する情報処理装置が実用化されている。その一つであるデジタルカメラで撮影された画像データは、コンピュータに取り込むことが簡単にできる反面、コンピュータ上で簡単に改竄(改変)することができるという問題があった。そのため、デジタルカメラで撮影された画像データは、銀塩写真よりも信頼性が低く、証拠能力が乏しいという問題があった。そこで、近年、デジタルカメラで撮影された画像データにデジタル署名を付加し、情報が改竄されているか否かを検証可能な機能を有する改竄検知システムが提案されている(特許文献1及び特許文献2を参照)。 In recent years, information processing apparatuses that digitize and store optical images of subjects have been put into practical use. Image data taken with a digital camera, which is one of them, can be easily taken into a computer, but has a problem that it can be easily falsified (modified) on a computer. For this reason, there has been a problem that image data taken with a digital camera is less reliable than a silver halide photograph and has poor evidence ability. Therefore, in recent years, a falsification detection system having a function of adding a digital signature to image data captured by a digital camera and verifying whether the information has been falsified has been proposed (Patent Document 1 and Patent Document 2). See).
一方、デジタルカメラをはじめとする多くの情報処理装置は、日々進歩する機能に対応するため、これらの情報処理装置のプログラムをアップデート可能な機能(例えば、ファームウェアアップデート機能等)を持つものが多くなっている。アップデート用のプログラムは電子ファイルの形式で配布されることが多く、ユーザは、その電子ファイルを用いてファームウェアアップデートを行うことによって、情報処理装置を買い換えることなく、最新の機能に更新することが可能となっている。
しかしながら、アップロード用のプログラムは電子ファイルの形式で配布されため、比較的容易に改竄することができるという問題がある。特に、改竄情報が改竄されているか否かを検知する改竄検知システムでは、出力情報の信頼性を確保するためにも、改竄検知システム自体のプログラムが改竄されることがあってはならない。
これに対し、特許文献1及び特許文献2は、デジタルカメラ等の映像入力装置で生成された映像データの改竄を検知するものであり、デジタルカメラ等の映像入力装置のプログラムが改竄されたか否かを検知することはできなかった。
However, since the upload program is distributed in the form of an electronic file, there is a problem that it can be falsified relatively easily. In particular, in a falsification detection system that detects whether falsification information has been falsified, the program of the falsification detection system itself should not be falsified in order to ensure the reliability of output information.
On the other hand, Patent Document 1 and Patent Document 2 detect falsification of video data generated by a video input device such as a digital camera, and whether or not the program of the video input device such as a digital camera has been falsified. Could not be detected.
本発明は、上述の問題点を鑑みてなされたものであり、プログラムの改竄を検知するための情報処理装置及びその方法並びにプログラム及び記憶媒体を提供することを目的とする。 The present invention has been made in view of the above-described problems, and an object of the present invention is to provide an information processing apparatus and method for detecting falsification of a program, a program, and a storage medium.
本発明の第1の側面は、情報処理装置に係り、プログラムの改竄を検知するための該プログラムの暗号化データを生成する暗号化データ生成部と、前記プログラムに前記暗号化データを付加したプログラムファイルを生成するファイル生成部と、を備えることを特徴とする。
本発明の第2の側面は、情報処理装置に係り、プログラムに該プログラムの暗号化データが付加されたプログラムファイルを入力する入力部と、前記プログラムと前記暗号化データとに基づいて前記プログラムが改竄されたか否かを検証する検証部と、を備えることを特徴とする。
本発明の第3の側面は、情報処理方法に係り、プログラムの改竄を検知するための該プログラムの暗号化データを生成する暗号化データ生成工程と、前記プログラムに前記暗号化データを付加したプログラムファイルを生成するファイル生成工程と、を含むことを特徴とする。
本発明の第4の側面は、情報処理方法に係り、プログラムに該プログラムの暗号化データが付加されたプログラムファイルを入力する入力工程と、前記プログラムと前記暗号化データとに基づいて前記プログラムが改竄されたか否かを検証する検証工程と、を含むことを特徴とする。
本発明の第5の側面は、プログラムに係り、上記の情報処理方法を実行することを特徴とする。
本発明の第6の側面は、記憶媒体に係り、上記の情報処理方法を実行するプログラムを記憶していることを特徴とする。
A first aspect of the present invention relates to an information processing apparatus, an encrypted data generation unit that generates encrypted data of the program for detecting falsification of the program, and a program in which the encrypted data is added to the program And a file generation unit for generating a file.
A second aspect of the present invention relates to an information processing apparatus, wherein the program is based on an input unit that inputs a program file in which encrypted data of the program is added to the program, and the program and the encrypted data. And a verification unit that verifies whether or not tampering has occurred.
A third aspect of the present invention relates to an information processing method, an encrypted data generation step of generating encrypted data of the program for detecting falsification of the program, and a program in which the encrypted data is added to the program And a file generation step for generating a file.
A fourth aspect of the present invention relates to an information processing method, wherein the program is based on an input step of inputting a program file in which encrypted data of the program is added to the program, and the program and the encrypted data. And a verification step for verifying whether or not tampering has occurred.
According to a fifth aspect of the present invention, there is provided a program, wherein the information processing method is executed.
A sixth aspect of the present invention relates to a storage medium, and stores a program for executing the information processing method.
プログラムの改竄を検知するための情報処理装置及びその方法並びにプログラム及び記憶媒体を提供することができる。 An information processing apparatus and method for detecting falsification of a program, a program, and a storage medium can be provided.
[第1の実施形態]
以下、図面を参照して本発明に好適な第1の実施形態を説明する。図1は、第1の実施の形態におけるシステムの一構成例を説明する図である。
[First embodiment]
A first embodiment suitable for the present invention will be described below with reference to the drawings. FIG. 1 is a diagram illustrating a configuration example of a system according to the first embodiment.
プログラム生成装置10は、プログラムの改竄を検知するために、プログラムを暗号化した暗号化データ(デジタル署名)をそのプログラムに付加して、デジタル署名付きプログラムファイルを生成する。プログラム生成装置10は、コンピュータであっても、コンピュータ以外の電子機器であってもよい。
In order to detect falsification of the program, the
情報処理装置20は、プログラム生成装置10によってプログラムに付加されたデジタル署名を用いて、プログラムが改竄されたか否かを検証する。情報処理装置20は、デジタルカメラ、デジタルビデオカメラ、スキャナ等の撮像装置であってもよいし、カメラユニットを有する電子機器であってもよい。さらには、画像読み取りユニットを有するファクシミリ装置及び複写機等の電子機器であってもよい。
The
図2は、本発明の好適な実施の形態に係るプログラム生成装置10の主要な機能構成を説明するブロック図である。
FIG. 2 is a block diagram illustrating the main functional configuration of the
プログラム生成部201は、情報処理装置20を制御するためのプログラムを生成する。例えば、プログラム生成部201は、ソース・プログラムを情報処理装置20が解読可能なプログラムに翻訳する。
The
ハッシュ関数演算部202は、ハッシュ関数Hを用いて、プログラムのハッシュ値(ダイジェストデータ)を生成する。なお、ハッシュ関数Hは、MD−2MD−5、SHA−1、RIPEMD−128及びRIPEMD−160の何れかであってもよいし、その他のハッシュ関数であってもよい。
The hash
メモリ203は、プログラム生成装置10又は情報処理装置20に固有の情報である固有ID205(例えば、プログラム生成装置10又は情報処理装置20を固有に識別可能な製造番号、シリアル番号等の情報)を記憶する。また、メモリ203は、プログラム生成装置10で生成されたプログラムのデジタル署名を生成するための秘密鍵Ksを記憶する。
The
署名生成部204は、ハッシュ関数演算部202で生成されたダイジェストデータをメモリ203に記憶された秘密鍵Ksを用いて演算処理し、プログラムの暗号化データとしてのデジタル署名を生成する。
The
ファイル生成部206は、プログラム生成装置10で生成されたプログラムに、署名生成部204で生成されたデジタル署名を付加して、デジタル署名付きプログラムファイルを生成する。デジタル署名は、例えば、プログラムのヘッダ部又はフッタ部等に付加してもよいし、プログラムの動作に影響しないようにプログラム中に埋め込んでもよい。
The
図3は、本発明の好適な実施の形態に係る情報処理装置20の主要な機能構成を説明するブロック図である。
FIG. 3 is a block diagram illustrating the main functional configuration of the
メディア制御部301は、リムーバブルメディア310に記憶されたデジタル署名付きプログラムファイルを読み出し、このデジタル署名付きプログラムファイルを情報処理装置20に入力する入力部として機能する。
The
記憶部302は、リムーバブルメディア310から読み出されたデジタル署名付きプログラムファイル及びテーブルT1を記憶する。テーブルT1は、一つ又は複数の固有ID及び各固有IDに対応する公開鍵Kpを管理する管理テーブルである。
The
ハッシュ関数演算部303は、ハッシュ関数Hを用いて、デジタル署名付きプログラムファイルに含まれるプログラムのハッシュ値(ダイジェストデータ)を生成する。
The hash
演算処理部305は、デジタル署名付きプログラムファイルに含まれるデジタル署名を公開鍵Kpで演算処理して、ダイジェストデータを生成する。
The
検証部306は、デジタル署名付きプログラムファイルに含まれるデジタル署名に基づいて、プログラムが改竄されているか否かを検証する。
The
プログラムアップデート部307は、インタフェース部309又はリムーバブルメディア310を介して提供されたプログラムアップデート用のプログラムに基づいて、デジタル署名付きプログラムファイルに含まれるプログラムをアップデートする。プログラムアップデート用のプログラムは、上記のデジタル署名付きプログラムファイルと同様に、デジタル署名が付されたデジタル署名付きのプログラムであることが望ましい。これによって、検証部306は、プログラムを複数回アップデートする場合には、提供されたプログラムアップデート用プログラムに含まれるデジタル署名に基づいて、アップデート後のプログラムが改竄されているか否かを複数回にわたって検証することができる。
The
制御部308は、メモリ302に記憶されたプログラムを実行し、情報処理装置20の各構成要素の動作を制御する。
The
インタフェース部309は、情報処理装置20に送信されたデジタル署名付きプログラムを回線311を通じて受信して、情報処理装置20にデジタル署名付きプログラムファイルを入力する入力部として機能する。
The
出力部312は、制御部308によって実行されたプログラムの実行結果を出力する。
The
図4は、第1の実施形態におけるシステムの処理手順について説明する図である。 FIG. 4 is a diagram for explaining the processing procedure of the system in the first embodiment.
ステップS401では、プログラム生成装置10のプログラム生成部201がプログラムを生成し、生成したプログラムをハッシュ関数演算部202及びプログラムファイル生成部206に供給する。
In step S <b> 401, the
ステップS402では、ハッシュ関数演算部202が、ハッシュ関数Hを用いてプログラム生成部201で生成されたプログラムのハッシュ値を生成し、生成したハッシュ値を署名生成部204に供給する。
In step S <b> 402, the hash
ステップS403では、署名生成部204が、ハッシュ関数演算部202で生成されたハッシュ値(ダイジェストデータ)を秘密鍵Ksで演算処理し、プログラムのデジタル署名を生成する。署名生成部204は、生成したデジタル署名をプログラムファイル生成部206に供給する。
In step S403, the
ステップS404では、プログラムファイル生成部206が、署名生成部204で生成されたデジタル署名と、メモリ203に記憶された固有ID205と、プログラム生成部201で生成されたプログラムと、を含むデジタル署名付きプログラムファイルを生成する。
In step S404, the program
ステップS405では、ステップS404で生成されたデジタル署名付きプログラムファイルをリムーバブルメディア310又はインタフェース部309を介して情報処理装置20に入力する。リムーバブルメディア310を介してデジタル署名付きプログラムファイルを情報処理装置20に入力する場合では、メディア制御部301がリムーバブルメディア310からデジタル署名付きプログラムファイルを読み出し、読み出したデジタル署名付きプログラムファイルを記憶部302に格納する。一方、インタフェース部309を介してデジタル署名付きプログラムファイルを情報処理装置20に入力する場合では、インタフェース部309が情報処理装置20に送信されたデジタル署名付きプログラムファイルを回線311を通じて受信し、受信したプログラムファイルを記憶部302に格納する。
In step S405, the program file with the digital signature generated in step S404 is input to the
ステップS406では、演算処理部305が、メモリ302内のテーブルT1を参照し、固有IDに対応する公開鍵Kpを取得する。テーブルT1の一例を図5に示す。例えば、固有IDが「001」である場合、その固有IDに対応する公開鍵Kpは「0x3333」となる。このようにして情報処理装置20は固有IDから公開鍵Kpを得る。
In step S406, the
ステップS407では、演算処理部305が、デジタル署名付きプログラムファイルに含まれるデジタル署名を公開鍵Kpで演算処理して、ダイジェストデータを復元する。
In step S407, the
ステップS408では、ハッシュ関数演算部303が、デジタル署名付きプログラムファイルに含まれるプログラムをハッシュ関数Hを用いて演算処理して、このプログラムのダイジェストデータを生成する。
In step S408, the hash
ステップS409では、検証部306が、演算処理部305で復元されたダイジェストデータと、ハッシュ関数演算部303で生成されたダイジェストデータとを比較して、プログラムが改竄されているか否かを検証する。検証部306は、演算処理部305で復元されたダイジェストデータとハッシュ関数演算部303で生成されたダイジェストデータとが一致しなければプログラムが改竄されていると判定し、演算処理部305で復元されたダイジェストデータとハッシュ関数演算部303で生成されたダイジェストデータとが一致すればプログラムが改竄されていないと判定する。検証部306によりデジタル署名付きプログラムファイルが改竄されていると判定された場合では、「改竄あり」と判定された検証結果が記憶部302に記憶される。検証部306によりデジタル署名付きプログラムファイルが改竄されていないと判定された場合では、「改竄なし」と判定された検証結果が記憶部302に記憶される。
In step S409, the
ステップS410では、プログラムアップデート部307が、記憶部302に記憶された検証結果に基づいて、プログラムのアップデートを行う。例えば、プログラムアップデート部307は、記憶部302に「改竄なし」と判定された検証結果が記憶されている場合にはプログラムのアップデートを行い、記憶部302に「改竄あり」と判定された検証結果が記憶されている場合にはプログラムのアップデートを行わないように、制御部308によって制御されうる。このように、プログラムが改竄されていた場合には、プログラムのアップデートを禁止することによって、不正なプログラムを用いて情報処理装置20を使用することを制約することができる。
In step S410, the
以上説明したように、第1の実施形態におけるシステムによれば、プログラム生成装置10によって生成されたプログラムが改竄されたか否かを情報処理装置20によって検証することができ、プログラムのアップデートを実行するか否かを切り替えることができる。
As described above, according to the system in the first embodiment, it is possible to verify whether or not the program generated by the
なお、本実施形態では、検証部306により「改竄あり」と判定された場合には、プログラムのアップデートを行わない方法を例示したが、例えば、検証部306により「改竄あり」と判定された場合には、プログラムの機能が制限されるようにプログラムのアップデートを行ってもよい。このように、プログラムが改竄されていた場合には、使用できるプログラムの機能を制限することによって、不正な使用をさせたくない機能を制約することができる。
In this embodiment, the method of not updating the program is illustrated when the
また、プログラムが改竄されていた場合には、出力部312が出力する情報に「改竄あり」の情報を付加したり、埋め込んだりしてもよい。このように、プログラムが改竄されていた場合には、情報処理装置の出力部が出力する情報にプログラムが改竄されたことを示す情報を付加したり、埋め込んだりすることによって、不正なプログラムの使用があったことを出力情報に証拠として残すことができる。
If the program has been tampered with, the information output by the
また、プログラムのデジタル署名を生成する場合には、プログラム全体のデジタル署名を生成してもよいし、プログラムの一部のデジタル署名を生成してもよい。プログラムの一部のデジタル署名を生成する場合には、プログラムの主要部分をデジタル署名することが好ましい。これによって、例えば、上述の実施形態と同様にして、プログラムの主要部分が改竄されたか否かを検証し、プログラムの主要部分が改竄されている場合には、プログラムのアップデートを行わないか又はプログラムの機能を制限し、プログラムの主要部分が改竄されていない場合には、プログラムのアップデートを行うようにすることができる。 When generating a digital signature of a program, a digital signature of the entire program may be generated, or a digital signature of a part of the program may be generated. When generating a digital signature of a part of the program, it is preferable to digitally sign the main part of the program. Thus, for example, in the same manner as in the above-described embodiment, it is verified whether or not the main part of the program has been falsified. If the main part of the program has been falsified, the program is not updated or the program is not updated. If the main part of the program has not been tampered with, the program can be updated.
また、本実施形態では、検証用データとしてデジタル署名データを使用したが、これに限るものではなく、例えば、MACデータを検証用データとして使用してもよい。 In this embodiment, digital signature data is used as verification data. However, the present invention is not limited to this. For example, MAC data may be used as verification data.
この場合、プログラム生成装置において、プログラムと、秘密情報A及び秘密情報Bから生成された秘密鍵Ksと、を用いた演算を行うことによってMACデータを生成し、このデータを用いて検証データ付きプログラムファイルを作成することができる。このような演算としては、プログラムのダイジェストデータに対して、暗号アルゴリズムによる演算処理等が考えられる。この場合では、秘密鍵Ksを鍵データとして使用することができる。 In this case, in the program generation device, MAC data is generated by performing an operation using the program and the secret key Ks generated from the secret information A and the secret information B, and a program with verification data is generated using this data. You can create a file. As such an operation, an arithmetic process using an encryption algorithm may be considered for the digest data of the program. In this case, the secret key Ks can be used as key data.
一方、情報処理装置では、検証データ付きプログラムファイルからMACデータを抽出し、このデータとプログラムに対してプログラム生成装置と同じ演算を行うことで生成したMACデータとを比較して改竄の検出を行う。検証部は、前記2つのMACデータが一致した場合には、検証データ付きプログラムファイルに対して改竄が行われなかったと判断し、前記2つのMACデータが一致した場合には、検証データ付きプログラムファイルに対して改竄が行われたと判断することができる。MACデータを検証用データとする場合には、プログラム生成装置と情報処理装置とは秘密鍵Ksを秘密にして共有する。 On the other hand, the information processing apparatus extracts MAC data from the program file with verification data, compares this data with the MAC data generated by performing the same operation as the program generation apparatus on the program, and detects falsification. . When the two MAC data match, the verification unit determines that the program file with verification data has not been tampered with. When the two MAC data match, the verification file with the verification data It can be determined that tampering has occurred. When the MAC data is used as verification data, the program generation device and the information processing device share the secret key Ks in secret.
[第2の実施形態]
以下、図面を参照して本発明の好適な第2の実施形態を説明する。図3は、本発明の好適な実施の形態に係る情報処理装置20の主要な機能構成を説明するブロック図である。
[Second Embodiment]
Hereinafter, a preferred second embodiment of the present invention will be described with reference to the drawings. FIG. 3 is a block diagram illustrating the main functional configuration of the
メディア制御部701は、リムーバブルメディア310に記憶されたデジタル署名付きプログラムファイルを読み出して、情報処理装置20にデジタル署名付きプログラムファイルを入力する入力部として機能する。
The
記憶部702は、リムーバブルメディア310から読み出されたデジタル署名付きプログラムファイルを記憶する。
The
ハッシュ関数演算部703は、ハッシュ関数Hを用いて、デジタル署名付きプログラムファイルに含まれるプログラムのハッシュ値(ダイジェストデータ)を生成する。
The hash
署名生成部705は、ハッシュ関数演算部703で生成されたダイジェストデータを秘密鍵Ksで演算処理し、デジタル署名付きプログラムファイルに含まれるプログラムのデジタル署名を生成する。
The
検証部706は、デジタル署名付きプログラムファイルに含まれるデジタル署名に基づいて、プログラムが改竄されているか否かを検証する。
The
プログラムアップデート部707は、インタフェース部709又はリムーバブルメディア710を介して提供されたプログラムアップデート用のプログラムに基づいて、デジタル署名付きプログラムファイルに含まれるプログラムをアップデートする。プログラムアップデート用のプログラムは、上記のデジタル署名付きプログラムファイルと同様に、デジタル署名が付されたデジタル署名付きのプログラムであることが望ましい。これによって、検証部706は、プログラムを複数回アップデートする場合には、提供されたプログラムアップデート用プログラムに含まれるデジタル署名に基づいて、アップデート後のプログラムが改竄されているか否かを複数回にわたって検証することができる。
The
制御部708は、メモリ702に記憶されたプログラムを実行し、情報処理装置20の各構成要素の動作を制御する。
The
インタフェース部709は、情報処理装置20に送信されたデジタル署名付きプログラムを回線710を通じて受信して、情報処理装置20にデジタル署名付きプログラムファイルを入力する入力部として機能する。
The
出力部711は、制御部706によって実行されたプログラムの実行結果を出力する。
The
図8は、第2の実施形態におけるシステムの処理手順について説明する図である。 FIG. 8 is a diagram for explaining the processing procedure of the system according to the second embodiment.
ステップS801では、図2に示すプログラム生成装置10のプログラム生成部201がプログラムを生成し、生成したプログラムをハッシュ関数演算部202及びプログラムファイル生成部206に供給する。
In step S801, the
ステップS802では、ハッシュ関数演算部202が、ハッシュ関数Hを用いてプログラム生成部201で生成されたプログラムのハッシュ値を生成し、生成したハッシュ値を署名生成部204に供給する。
In step S <b> 802, the hash
ステップS803では、署名生成部204が、ハッシュ関数演算部202で生成されたハッシュ値(ダイジェストデータ)を秘密鍵Ksで演算処理し、プログラムのデジタル署名を生成する。署名生成部204は、生成したデジタル署名をプログラムファイル生成部206に供給する。
In step S803, the
ステップS804では、プログラムファイル生成部206が、署名生成部204で生成されたデジタル署名及びプログラム生成部201で生成されたプログラムを含むデジタル署名付きプログラムファイルを生成する。
In step S804, the program
ステップS805では、ステップS804で生成されたデジタル署名付きプログラムファイルをリムーバブルメディア310又はインタフェース部709を介して情報処理装置20に入力する。リムーバブルメディア310を介してデジタル署名付きプログラムファイルを情報処理装置20に入力する場合では、メディア制御部701がリムーバブルメディア310からデジタル署名付きプログラムファイルを読み出し、読み出したデジタル署名付きプログラムファイルを記憶部702に格納する。一方、インタフェース部709を介してデジタル署名付きプログラムファイルを情報処理装置20に入力する場合では、インタフェース部709が情報処理装置20に送信されたデジタル署名付きプログラムファイルを回線710を通じて受信し、受信したプログラムファイルを記憶部702に格納する。さらに、プログラムファイルに付加されたデジタル署名を検証部706に供給する。
In step S805, the program file with the digital signature generated in step S804 is input to the
ステップS806では、ハッシュ関数演算部703が、デジタル署名付きプログラムファイルに含まれるプログラムをハッシュ関数Hを用いて演算処理して、このプログラムのハッシュ値(ダイジェストデータ)を生成し、生成したハッシュ値(ダイジェストデータ)を署名生成部705に供給する。
In step S806, the hash
ステップS807では、署名生成部705が、ハッシュ関数演算部703で生成されたダイジェストデータを秘密鍵Ksで演算処理し、プログラムのデジタル署名を生成する。署名生成部204は、生成したデジタル署名を検証部706に供給する。
In step S807, the
ステップS808では、検証部706が、署名生成部705で生成されたデジタル署名と、プログラムファイルに付加されたデジタル署名とを比較して、プログラムが改竄されているか否かを検証する。検証部706は、署名生成部705で生成されたデジタル署名とプログラムファイルに付加されたデジタル署名とが一致しなければプログラムが改竄されていると判定し、署名生成部705で生成されたデジタル署名とプログラムファイルに付加されたデジタル署名とが一致すればプログラムが改竄されていないと判定する。検証部706によりデジタル署名付きプログラムファイルが改竄されていると判定された場合では、「改竄あり」と判定された検証結果が記憶部702に記憶される。検証部706によりデジタル署名付きプログラムファイルが改竄されていないと判定された場合では、「改竄なし」と判定された検証結果が記憶部702に記憶される。
In step S808, the
ステップS809では、プログラムアップデート部707が、記憶部702に記憶された検証結果に基づいて、プログラムのアップデートを行う。例えば、プログラムアップデート部707は、記憶部702に「改竄なし」と判定された検証結果が記憶されている場合にはプログラムのアップデートを行い、記憶部702に「改竄あり」と判定された検証結果が記憶されている場合にはプログラムのアップデートを行わないように、制御部708によって制御されうる。
In step S809, the
以上説明したように、第2の実施形態におけるシステムによれば、ステップS801〜ステップS803の工程と、ステップS806〜ステップS808の工程とが実質的に同一であるため、情報処理装置10がデジタル署名を生成する機能を、情報処理装置20がプログラムを改竄を検証する際にプログラムのデジタル署名を生成する機能に適用することによって、特別な機能を追加することなくプログラムの改竄を検知することができる。
As described above, according to the system in the second embodiment, the processes in steps S801 to S803 and the processes in steps S806 to S808 are substantially the same. Is applied to the function of generating a digital signature of the program when the
[他の実施形態]
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、撮像装置、電子機器など)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、デジタルカメラ、デジタルビデオカメラ及びスキャナ等の撮像装置、ファクシミリ装置及び複写機等の電子機器など)に適用してもよい。
[Other Embodiments]
Note that the present invention can be applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, an imaging device, an electronic device, etc.), and a device (for example, a digital camera, a digital device, etc.) The present invention may be applied to an imaging apparatus such as a video camera and a scanner, an electronic apparatus such as a facsimile apparatus and a copying machine).
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。 Another object of the present invention is to supply a storage medium storing software program codes for implementing the functions of the above-described embodiments to a system or apparatus, and the computer (or CPU or MPU) of the system or apparatus stores the storage medium. Needless to say, this can also be achieved by reading and executing the program code stored in the.
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。 In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention.
プログラムコードを供給するための記憶媒体としては、例えば、フロッピ(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。 As a storage medium for supplying the program code, for example, a floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, magnetic tape, nonvolatile memory card, ROM, or the like is used. be able to.
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) operating on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, after the program code read from the storage medium is written into a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.
以上説明したように、本発明の実施形態におけるシステムによれば、プログラムの改竄検知機能を有する情報処理装置において、プログラムのアップデート時に、前記改竄検知機能を用いてプログラムが改竄されたか否かを検証して、プログラムのアップデートを実行するか否かを切り替えることができる。 As described above, according to the system in the embodiment of the present invention, in an information processing apparatus having a program falsification detection function, whether or not a program has been falsified using the falsification detection function at the time of program update is verified. Thus, it is possible to switch whether or not to execute the program update.
Claims (12)
前記プログラムに前記暗号化データを付加したプログラムファイルを生成するファイル生成部と、
を備えることを特徴とする情報処理装置。 An encrypted data generation unit for generating encrypted data of the program for detecting falsification of the program;
A file generation unit for generating a program file in which the encrypted data is added to the program;
An information processing apparatus comprising:
前記プログラムと前記暗号化データとに基づいて前記プログラムが改竄されたか否かを検証する検証部と、
を備えることを特徴とする情報処理装置。 An input unit for inputting a program file in which encrypted data of the program is added to the program;
A verification unit that verifies whether the program has been tampered with based on the program and the encrypted data;
An information processing apparatus comprising:
前記プログラムアップデート部は、前記検証部により前記プログラムが改竄されていないと判定された場合には前記プログラムをアップデートし、前記検証部により前記プログラムが改竄されていると判定された場合には前記プログラムをアップデートしないことを特徴とする請求項2に記載の情報処理装置。 A program update unit for updating the program;
The program update unit updates the program when the verification unit determines that the program has not been tampered with, and the program update unit determines that the program has been tampered with by the verification unit. The information processing apparatus according to claim 2, wherein the information processing apparatus is not updated.
前記プログラムアップデート部は、前記検証部により前記プログラムが改竄されていないと判定された場合には前記プログラムをアップデートし、前記検証部により前記プログラムが改竄されていると判定された場合には前記プログラムの機能が制限されるように該プログラムをアップデートすることを特徴とする請求項2に記載の情報処理装置。 A program update unit for updating the program;
The program update unit updates the program when the verification unit determines that the program has not been tampered with, and the program update unit determines that the program has been tampered with by the verification unit. The information processing apparatus according to claim 2, wherein the program is updated so that the functions of the information processing apparatus are restricted.
前記プログラムの実行結果を出力する出力部と、
を更に備え、
前記出力部は、前記記憶部に記憶した前記検証結果を前記実行結果に付加して出力することを特徴とする請求項2乃至請求項4のいずれか1項に記載の情報処理装置。 A storage unit for storing a verification result by the verification unit;
An output unit for outputting an execution result of the program;
Further comprising
The information processing apparatus according to claim 2, wherein the output unit adds the verification result stored in the storage unit to the execution result and outputs the result.
前記プログラムに前記暗号化データを付加したプログラムファイルを生成するファイル生成工程と、
を含むことを特徴とする情報処理方法。 An encrypted data generation step for generating encrypted data of the program for detecting falsification of the program;
A file generation step of generating a program file in which the encrypted data is added to the program;
An information processing method comprising:
前記プログラムと前記暗号化データとに基づいて前記プログラムが改竄されたか否かを検証する検証工程と、
を含むことを特徴とする情報処理方法。 An input step of inputting a program file in which encrypted data of the program is added to the program;
A verification step of verifying whether the program has been tampered with based on the program and the encrypted data;
An information processing method comprising:
前記プログラムアップデート工程では、前記検証工程で前記プログラムが改竄されていないと判定された場合には前記プログラムをアップデートし、前記検証工程で前記プログラムが改竄されていると判定された場合には前記プログラムをアップデートしないことを特徴とする請求項7に記載の情報処理方法。 A program update step for updating the program after the verification step;
In the program update step, the program is updated when it is determined in the verification step that the program has not been tampered with, and when it is determined in the verification step that the program has been tampered with, the program The information processing method according to claim 7, wherein the information is not updated.
前記プログラムアップデート工程では、前記検証工程で前記プログラムが改竄されていないと判定された場合には前記プログラムをアップデートし、前記検証工程で前記プログラムが改竄されていると判定された場合には前記プログラムの機能が制限されるように該プログラムをアップデートすることを特徴とする請求項7に記載の情報処理方法。 A program update step for updating the program after the verification step;
In the program update step, the program is updated when it is determined in the verification step that the program has not been tampered with, and when it is determined in the verification step that the program has been tampered with, the program The information processing method according to claim 7, wherein the program is updated so as to limit a function of the information processing method.
前記プログラムの実行結果を出力する出力工程と、
を更に含み、
前記出力工程では、前記記憶工程で記憶した前記検証結果を前記実行結果に付加して出力することを特徴とする請求項7乃至請求項9のいずれか1項に記載の情報処理方法。 A storage step for storing a verification result in the verification step;
An output step for outputting an execution result of the program;
Further including
The information processing method according to any one of claims 7 to 9, wherein, in the output step, the verification result stored in the storage step is added to the execution result and output.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005003069A JP2006191491A (en) | 2005-01-07 | 2005-01-07 | Information processing apparatus and method, program, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005003069A JP2006191491A (en) | 2005-01-07 | 2005-01-07 | Information processing apparatus and method, program, and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006191491A true JP2006191491A (en) | 2006-07-20 |
Family
ID=36798176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005003069A Withdrawn JP2006191491A (en) | 2005-01-07 | 2005-01-07 | Information processing apparatus and method, program, and storage medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006191491A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008171041A (en) * | 2007-01-05 | 2008-07-24 | Ricoh Co Ltd | Image forming apparatus, image forming apparatus activation method, control apparatus, and expansion unit activation method |
JP2008177683A (en) * | 2007-01-16 | 2008-07-31 | Kyocera Mita Corp | Data providing system, data receiving system, data providing method, data providing program and data receiving program |
JP2008541211A (en) * | 2005-05-05 | 2008-11-20 | サーティコム コーポレーション | Additional implementation of authentication to firmware |
JP2010182222A (en) * | 2009-02-09 | 2010-08-19 | Sumitomo Electric Ind Ltd | Network system, terminal computer, alternative computer, computer program, processing execution method, encryption device, decryption device, encryption method, decryption method and encrypted data |
JP2018170806A (en) * | 2018-08-09 | 2018-11-01 | Kddi株式会社 | COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM |
US20230114009A1 (en) * | 2020-02-28 | 2023-04-13 | Hitachi Astemo, Ltd. | Information Processing Apparatus and Program Starting Method |
-
2005
- 2005-01-07 JP JP2005003069A patent/JP2006191491A/en not_active Withdrawn
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008541211A (en) * | 2005-05-05 | 2008-11-20 | サーティコム コーポレーション | Additional implementation of authentication to firmware |
US8566791B2 (en) | 2005-05-05 | 2013-10-22 | Blackberry Limited | Retrofitting authentication onto firmware |
JP2008171041A (en) * | 2007-01-05 | 2008-07-24 | Ricoh Co Ltd | Image forming apparatus, image forming apparatus activation method, control apparatus, and expansion unit activation method |
JP2008177683A (en) * | 2007-01-16 | 2008-07-31 | Kyocera Mita Corp | Data providing system, data receiving system, data providing method, data providing program and data receiving program |
JP2010182222A (en) * | 2009-02-09 | 2010-08-19 | Sumitomo Electric Ind Ltd | Network system, terminal computer, alternative computer, computer program, processing execution method, encryption device, decryption device, encryption method, decryption method and encrypted data |
JP2018170806A (en) * | 2018-08-09 | 2018-11-01 | Kddi株式会社 | COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM |
US20230114009A1 (en) * | 2020-02-28 | 2023-04-13 | Hitachi Astemo, Ltd. | Information Processing Apparatus and Program Starting Method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7308577B2 (en) | Image verification system, image verification apparatus, and image verification method | |
US7162637B2 (en) | Image verification system | |
US7139407B2 (en) | Image generation apparatus, image file generation method, image verification apparatus and image verification method | |
JP4097773B2 (en) | Digital image editing system | |
JP2004180278A (en) | Information processing device, server device, electronic data management system, information processing system, information processing method, computer program, and computer-readable storage medium | |
DE60239718D1 (en) | Information processing apparatus and its control method, computer program, and storage medium | |
JP2007060594A (en) | Information processing method and apparatus, computer program, and computer-readable storage medium | |
KR100608168B1 (en) | Image generation device and verification data generation method | |
CN111177666A (en) | Forensic document anti-counterfeiting and anti-tampering method and system based on fragile watermark | |
JP2006237860A (en) | Multiple key generation method, falsification verification method, apparatus, storage medium, and program | |
JP6757169B2 (en) | Signature device, signature method, verification device, verification method, computer program | |
JP2006191491A (en) | Information processing apparatus and method, program, and storage medium | |
US7543153B2 (en) | Digital signature generating apparatus, method, computer program and computer-readable storage medium | |
JP5961059B2 (en) | Information processing apparatus and activation method thereof | |
JP4835533B2 (en) | Image input apparatus and program | |
JP2006345450A (en) | Image verification system, imaging apparatus, and image verification apparatus | |
KR100909885B1 (en) | Image pickup device and image pickup method capable of checking the original of image data | |
JP5521530B2 (en) | Information processing apparatus, information processing system, information processing method, program, and storage medium | |
JP2007067938A (en) | Verification system, electronic data generation apparatus, electronic data verification apparatus, and method thereof | |
WO2024161895A1 (en) | Authenticity verification system, content management apparatus, content generation apparatus, control methods for same, and programs for same | |
JP4697451B2 (en) | Data input / output device, data input / output method, data input / output program | |
JP2004363826A (en) | Information processing device, information processing method, verification device, verification system, program, and recording medium | |
JP2006094536A (en) | Electronic still camera | |
US7783071B2 (en) | Imaging apparatus having a slot in which an image verification apparatus is inserted | |
JP2003204512A (en) | Information processing apparatus, information processing method, network system, digital information assurance method, storage medium, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080401 |