説明

情報処理装置及びその方法並びにプログラム及び記憶媒体

【課題】 プログラムの改竄を検知するための情報処理装置及びその方法並びにプログラム及び記憶媒体を提供すること。
【解決手段】 情報処理装置10は、プログラムの改竄を検知するための該プログラムの暗号化データを生成する暗号化データ生成部と、前記プログラムに前記暗号化データを付加したプログラムファイルを生成するファイル生成部と、を備える。情報処理装置20は、前記暗号化データが付加されたプログラムファイルを入力する入力部と、前記プログラムと前記暗号化データとに基づいて前記プログラムが改竄されたか否かを検証する検証部と、を備える

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラムの暗号化データを用いた情報処理装置及びその方法並びにプログラム及び記憶媒体に関する。
【背景技術】
【0002】
近年、被写体の光学像をデジタル化して記憶する情報処理装置が実用化されている。その一つであるデジタルカメラで撮影された画像データは、コンピュータに取り込むことが簡単にできる反面、コンピュータ上で簡単に改竄(改変)することができるという問題があった。そのため、デジタルカメラで撮影された画像データは、銀塩写真よりも信頼性が低く、証拠能力が乏しいという問題があった。そこで、近年、デジタルカメラで撮影された画像データにデジタル署名を付加し、情報が改竄されているか否かを検証可能な機能を有する改竄検知システムが提案されている(特許文献1及び特許文献2を参照)。
【0003】
一方、デジタルカメラをはじめとする多くの情報処理装置は、日々進歩する機能に対応するため、これらの情報処理装置のプログラムをアップデート可能な機能(例えば、ファームウェアアップデート機能等)を持つものが多くなっている。アップデート用のプログラムは電子ファイルの形式で配布されることが多く、ユーザは、その電子ファイルを用いてファームウェアアップデートを行うことによって、情報処理装置を買い換えることなく、最新の機能に更新することが可能となっている。
【特許文献1】米国特許第5,499,294号
【特許文献2】特開平9−200730号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、アップロード用のプログラムは電子ファイルの形式で配布されため、比較的容易に改竄することができるという問題がある。特に、改竄情報が改竄されているか否かを検知する改竄検知システムでは、出力情報の信頼性を確保するためにも、改竄検知システム自体のプログラムが改竄されることがあってはならない。
これに対し、特許文献1及び特許文献2は、デジタルカメラ等の映像入力装置で生成された映像データの改竄を検知するものであり、デジタルカメラ等の映像入力装置のプログラムが改竄されたか否かを検知することはできなかった。
【0005】
本発明は、上述の問題点を鑑みてなされたものであり、プログラムの改竄を検知するための情報処理装置及びその方法並びにプログラム及び記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の側面は、情報処理装置に係り、プログラムの改竄を検知するための該プログラムの暗号化データを生成する暗号化データ生成部と、前記プログラムに前記暗号化データを付加したプログラムファイルを生成するファイル生成部と、を備えることを特徴とする。
本発明の第2の側面は、情報処理装置に係り、プログラムに該プログラムの暗号化データが付加されたプログラムファイルを入力する入力部と、前記プログラムと前記暗号化データとに基づいて前記プログラムが改竄されたか否かを検証する検証部と、を備えることを特徴とする。
本発明の第3の側面は、情報処理方法に係り、プログラムの改竄を検知するための該プログラムの暗号化データを生成する暗号化データ生成工程と、前記プログラムに前記暗号化データを付加したプログラムファイルを生成するファイル生成工程と、を含むことを特徴とする。
本発明の第4の側面は、情報処理方法に係り、プログラムに該プログラムの暗号化データが付加されたプログラムファイルを入力する入力工程と、前記プログラムと前記暗号化データとに基づいて前記プログラムが改竄されたか否かを検証する検証工程と、を含むことを特徴とする。
本発明の第5の側面は、プログラムに係り、上記の情報処理方法を実行することを特徴とする。
本発明の第6の側面は、記憶媒体に係り、上記の情報処理方法を実行するプログラムを記憶していることを特徴とする。
【発明の効果】
【0007】
プログラムの改竄を検知するための情報処理装置及びその方法並びにプログラム及び記憶媒体を提供することができる。
【発明を実施するための最良の形態】
【0008】
[第1の実施形態]
以下、図面を参照して本発明に好適な第1の実施形態を説明する。図1は、第1の実施の形態におけるシステムの一構成例を説明する図である。
【0009】
プログラム生成装置10は、プログラムの改竄を検知するために、プログラムを暗号化した暗号化データ(デジタル署名)をそのプログラムに付加して、デジタル署名付きプログラムファイルを生成する。プログラム生成装置10は、コンピュータであっても、コンピュータ以外の電子機器であってもよい。
【0010】
情報処理装置20は、プログラム生成装置10によってプログラムに付加されたデジタル署名を用いて、プログラムが改竄されたか否かを検証する。情報処理装置20は、デジタルカメラ、デジタルビデオカメラ、スキャナ等の撮像装置であってもよいし、カメラユニットを有する電子機器であってもよい。さらには、画像読み取りユニットを有するファクシミリ装置及び複写機等の電子機器であってもよい。
【0011】
図2は、本発明の好適な実施の形態に係るプログラム生成装置10の主要な機能構成を説明するブロック図である。
【0012】
プログラム生成部201は、情報処理装置20を制御するためのプログラムを生成する。例えば、プログラム生成部201は、ソース・プログラムを情報処理装置20が解読可能なプログラムに翻訳する。
【0013】
ハッシュ関数演算部202は、ハッシュ関数Hを用いて、プログラムのハッシュ値(ダイジェストデータ)を生成する。なお、ハッシュ関数Hは、MD−2MD−5、SHA−1、RIPEMD−128及びRIPEMD−160の何れかであってもよいし、その他のハッシュ関数であってもよい。
【0014】
メモリ203は、プログラム生成装置10又は情報処理装置20に固有の情報である固有ID205(例えば、プログラム生成装置10又は情報処理装置20を固有に識別可能な製造番号、シリアル番号等の情報)を記憶する。また、メモリ203は、プログラム生成装置10で生成されたプログラムのデジタル署名を生成するための秘密鍵Ksを記憶する。
【0015】
署名生成部204は、ハッシュ関数演算部202で生成されたダイジェストデータをメモリ203に記憶された秘密鍵Ksを用いて演算処理し、プログラムの暗号化データとしてのデジタル署名を生成する。
【0016】
ファイル生成部206は、プログラム生成装置10で生成されたプログラムに、署名生成部204で生成されたデジタル署名を付加して、デジタル署名付きプログラムファイルを生成する。デジタル署名は、例えば、プログラムのヘッダ部又はフッタ部等に付加してもよいし、プログラムの動作に影響しないようにプログラム中に埋め込んでもよい。
【0017】
図3は、本発明の好適な実施の形態に係る情報処理装置20の主要な機能構成を説明するブロック図である。
【0018】
メディア制御部301は、リムーバブルメディア310に記憶されたデジタル署名付きプログラムファイルを読み出し、このデジタル署名付きプログラムファイルを情報処理装置20に入力する入力部として機能する。
【0019】
記憶部302は、リムーバブルメディア310から読み出されたデジタル署名付きプログラムファイル及びテーブルT1を記憶する。テーブルT1は、一つ又は複数の固有ID及び各固有IDに対応する公開鍵Kpを管理する管理テーブルである。
【0020】
ハッシュ関数演算部303は、ハッシュ関数Hを用いて、デジタル署名付きプログラムファイルに含まれるプログラムのハッシュ値(ダイジェストデータ)を生成する。
【0021】
演算処理部305は、デジタル署名付きプログラムファイルに含まれるデジタル署名を公開鍵Kpで演算処理して、ダイジェストデータを生成する。
【0022】
検証部306は、デジタル署名付きプログラムファイルに含まれるデジタル署名に基づいて、プログラムが改竄されているか否かを検証する。
【0023】
プログラムアップデート部307は、インタフェース部309又はリムーバブルメディア310を介して提供されたプログラムアップデート用のプログラムに基づいて、デジタル署名付きプログラムファイルに含まれるプログラムをアップデートする。プログラムアップデート用のプログラムは、上記のデジタル署名付きプログラムファイルと同様に、デジタル署名が付されたデジタル署名付きのプログラムであることが望ましい。これによって、検証部306は、プログラムを複数回アップデートする場合には、提供されたプログラムアップデート用プログラムに含まれるデジタル署名に基づいて、アップデート後のプログラムが改竄されているか否かを複数回にわたって検証することができる。
【0024】
制御部308は、メモリ302に記憶されたプログラムを実行し、情報処理装置20の各構成要素の動作を制御する。
【0025】
インタフェース部309は、情報処理装置20に送信されたデジタル署名付きプログラムを回線311を通じて受信して、情報処理装置20にデジタル署名付きプログラムファイルを入力する入力部として機能する。
【0026】
出力部312は、制御部308によって実行されたプログラムの実行結果を出力する。
【0027】
図4は、第1の実施形態におけるシステムの処理手順について説明する図である。
【0028】
ステップS401では、プログラム生成装置10のプログラム生成部201がプログラムを生成し、生成したプログラムをハッシュ関数演算部202及びプログラムファイル生成部206に供給する。
【0029】
ステップS402では、ハッシュ関数演算部202が、ハッシュ関数Hを用いてプログラム生成部201で生成されたプログラムのハッシュ値を生成し、生成したハッシュ値を署名生成部204に供給する。
【0030】
ステップS403では、署名生成部204が、ハッシュ関数演算部202で生成されたハッシュ値(ダイジェストデータ)を秘密鍵Ksで演算処理し、プログラムのデジタル署名を生成する。署名生成部204は、生成したデジタル署名をプログラムファイル生成部206に供給する。
【0031】
ステップS404では、プログラムファイル生成部206が、署名生成部204で生成されたデジタル署名と、メモリ203に記憶された固有ID205と、プログラム生成部201で生成されたプログラムと、を含むデジタル署名付きプログラムファイルを生成する。
【0032】
ステップS405では、ステップS404で生成されたデジタル署名付きプログラムファイルをリムーバブルメディア310又はインタフェース部309を介して情報処理装置20に入力する。リムーバブルメディア310を介してデジタル署名付きプログラムファイルを情報処理装置20に入力する場合では、メディア制御部301がリムーバブルメディア310からデジタル署名付きプログラムファイルを読み出し、読み出したデジタル署名付きプログラムファイルを記憶部302に格納する。一方、インタフェース部309を介してデジタル署名付きプログラムファイルを情報処理装置20に入力する場合では、インタフェース部309が情報処理装置20に送信されたデジタル署名付きプログラムファイルを回線311を通じて受信し、受信したプログラムファイルを記憶部302に格納する。
【0033】
ステップS406では、演算処理部305が、メモリ302内のテーブルT1を参照し、固有IDに対応する公開鍵Kpを取得する。テーブルT1の一例を図5に示す。例えば、固有IDが「001」である場合、その固有IDに対応する公開鍵Kpは「0x3333」となる。このようにして情報処理装置20は固有IDから公開鍵Kpを得る。
【0034】
ステップS407では、演算処理部305が、デジタル署名付きプログラムファイルに含まれるデジタル署名を公開鍵Kpで演算処理して、ダイジェストデータを復元する。
【0035】
ステップS408では、ハッシュ関数演算部303が、デジタル署名付きプログラムファイルに含まれるプログラムをハッシュ関数Hを用いて演算処理して、このプログラムのダイジェストデータを生成する。
【0036】
ステップS409では、検証部306が、演算処理部305で復元されたダイジェストデータと、ハッシュ関数演算部303で生成されたダイジェストデータとを比較して、プログラムが改竄されているか否かを検証する。検証部306は、演算処理部305で復元されたダイジェストデータとハッシュ関数演算部303で生成されたダイジェストデータとが一致しなければプログラムが改竄されていると判定し、演算処理部305で復元されたダイジェストデータとハッシュ関数演算部303で生成されたダイジェストデータとが一致すればプログラムが改竄されていないと判定する。検証部306によりデジタル署名付きプログラムファイルが改竄されていると判定された場合では、「改竄あり」と判定された検証結果が記憶部302に記憶される。検証部306によりデジタル署名付きプログラムファイルが改竄されていないと判定された場合では、「改竄なし」と判定された検証結果が記憶部302に記憶される。
【0037】
ステップS410では、プログラムアップデート部307が、記憶部302に記憶された検証結果に基づいて、プログラムのアップデートを行う。例えば、プログラムアップデート部307は、記憶部302に「改竄なし」と判定された検証結果が記憶されている場合にはプログラムのアップデートを行い、記憶部302に「改竄あり」と判定された検証結果が記憶されている場合にはプログラムのアップデートを行わないように、制御部308によって制御されうる。このように、プログラムが改竄されていた場合には、プログラムのアップデートを禁止することによって、不正なプログラムを用いて情報処理装置20を使用することを制約することができる。
【0038】
以上説明したように、第1の実施形態におけるシステムによれば、プログラム生成装置10によって生成されたプログラムが改竄されたか否かを情報処理装置20によって検証することができ、プログラムのアップデートを実行するか否かを切り替えることができる。
【0039】
なお、本実施形態では、検証部306により「改竄あり」と判定された場合には、プログラムのアップデートを行わない方法を例示したが、例えば、検証部306により「改竄あり」と判定された場合には、プログラムの機能が制限されるようにプログラムのアップデートを行ってもよい。このように、プログラムが改竄されていた場合には、使用できるプログラムの機能を制限することによって、不正な使用をさせたくない機能を制約することができる。
【0040】
また、プログラムが改竄されていた場合には、出力部312が出力する情報に「改竄あり」の情報を付加したり、埋め込んだりしてもよい。このように、プログラムが改竄されていた場合には、情報処理装置の出力部が出力する情報にプログラムが改竄されたことを示す情報を付加したり、埋め込んだりすることによって、不正なプログラムの使用があったことを出力情報に証拠として残すことができる。
【0041】
また、プログラムのデジタル署名を生成する場合には、プログラム全体のデジタル署名を生成してもよいし、プログラムの一部のデジタル署名を生成してもよい。プログラムの一部のデジタル署名を生成する場合には、プログラムの主要部分をデジタル署名することが好ましい。これによって、例えば、上述の実施形態と同様にして、プログラムの主要部分が改竄されたか否かを検証し、プログラムの主要部分が改竄されている場合には、プログラムのアップデートを行わないか又はプログラムの機能を制限し、プログラムの主要部分が改竄されていない場合には、プログラムのアップデートを行うようにすることができる。
【0042】
また、本実施形態では、検証用データとしてデジタル署名データを使用したが、これに限るものではなく、例えば、MACデータを検証用データとして使用してもよい。
【0043】
この場合、プログラム生成装置において、プログラムと、秘密情報A及び秘密情報Bから生成された秘密鍵Ksと、を用いた演算を行うことによってMACデータを生成し、このデータを用いて検証データ付きプログラムファイルを作成することができる。このような演算としては、プログラムのダイジェストデータに対して、暗号アルゴリズムによる演算処理等が考えられる。この場合では、秘密鍵Ksを鍵データとして使用することができる。
【0044】
一方、情報処理装置では、検証データ付きプログラムファイルからMACデータを抽出し、このデータとプログラムに対してプログラム生成装置と同じ演算を行うことで生成したMACデータとを比較して改竄の検出を行う。検証部は、前記2つのMACデータが一致した場合には、検証データ付きプログラムファイルに対して改竄が行われなかったと判断し、前記2つのMACデータが一致した場合には、検証データ付きプログラムファイルに対して改竄が行われたと判断することができる。MACデータを検証用データとする場合には、プログラム生成装置と情報処理装置とは秘密鍵Ksを秘密にして共有する。
【0045】
[第2の実施形態]
以下、図面を参照して本発明の好適な第2の実施形態を説明する。図3は、本発明の好適な実施の形態に係る情報処理装置20の主要な機能構成を説明するブロック図である。
【0046】
メディア制御部701は、リムーバブルメディア310に記憶されたデジタル署名付きプログラムファイルを読み出して、情報処理装置20にデジタル署名付きプログラムファイルを入力する入力部として機能する。
【0047】
記憶部702は、リムーバブルメディア310から読み出されたデジタル署名付きプログラムファイルを記憶する。
【0048】
ハッシュ関数演算部703は、ハッシュ関数Hを用いて、デジタル署名付きプログラムファイルに含まれるプログラムのハッシュ値(ダイジェストデータ)を生成する。
【0049】
署名生成部705は、ハッシュ関数演算部703で生成されたダイジェストデータを秘密鍵Ksで演算処理し、デジタル署名付きプログラムファイルに含まれるプログラムのデジタル署名を生成する。
【0050】
検証部706は、デジタル署名付きプログラムファイルに含まれるデジタル署名に基づいて、プログラムが改竄されているか否かを検証する。
【0051】
プログラムアップデート部707は、インタフェース部709又はリムーバブルメディア710を介して提供されたプログラムアップデート用のプログラムに基づいて、デジタル署名付きプログラムファイルに含まれるプログラムをアップデートする。プログラムアップデート用のプログラムは、上記のデジタル署名付きプログラムファイルと同様に、デジタル署名が付されたデジタル署名付きのプログラムであることが望ましい。これによって、検証部706は、プログラムを複数回アップデートする場合には、提供されたプログラムアップデート用プログラムに含まれるデジタル署名に基づいて、アップデート後のプログラムが改竄されているか否かを複数回にわたって検証することができる。
【0052】
制御部708は、メモリ702に記憶されたプログラムを実行し、情報処理装置20の各構成要素の動作を制御する。
【0053】
インタフェース部709は、情報処理装置20に送信されたデジタル署名付きプログラムを回線710を通じて受信して、情報処理装置20にデジタル署名付きプログラムファイルを入力する入力部として機能する。
【0054】
出力部711は、制御部706によって実行されたプログラムの実行結果を出力する。
【0055】
図8は、第2の実施形態におけるシステムの処理手順について説明する図である。
【0056】
ステップS801では、図2に示すプログラム生成装置10のプログラム生成部201がプログラムを生成し、生成したプログラムをハッシュ関数演算部202及びプログラムファイル生成部206に供給する。
【0057】
ステップS802では、ハッシュ関数演算部202が、ハッシュ関数Hを用いてプログラム生成部201で生成されたプログラムのハッシュ値を生成し、生成したハッシュ値を署名生成部204に供給する。
【0058】
ステップS803では、署名生成部204が、ハッシュ関数演算部202で生成されたハッシュ値(ダイジェストデータ)を秘密鍵Ksで演算処理し、プログラムのデジタル署名を生成する。署名生成部204は、生成したデジタル署名をプログラムファイル生成部206に供給する。
【0059】
ステップS804では、プログラムファイル生成部206が、署名生成部204で生成されたデジタル署名及びプログラム生成部201で生成されたプログラムを含むデジタル署名付きプログラムファイルを生成する。
【0060】
ステップS805では、ステップS804で生成されたデジタル署名付きプログラムファイルをリムーバブルメディア310又はインタフェース部709を介して情報処理装置20に入力する。リムーバブルメディア310を介してデジタル署名付きプログラムファイルを情報処理装置20に入力する場合では、メディア制御部701がリムーバブルメディア310からデジタル署名付きプログラムファイルを読み出し、読み出したデジタル署名付きプログラムファイルを記憶部702に格納する。一方、インタフェース部709を介してデジタル署名付きプログラムファイルを情報処理装置20に入力する場合では、インタフェース部709が情報処理装置20に送信されたデジタル署名付きプログラムファイルを回線710を通じて受信し、受信したプログラムファイルを記憶部702に格納する。さらに、プログラムファイルに付加されたデジタル署名を検証部706に供給する。
【0061】
ステップS806では、ハッシュ関数演算部703が、デジタル署名付きプログラムファイルに含まれるプログラムをハッシュ関数Hを用いて演算処理して、このプログラムのハッシュ値(ダイジェストデータ)を生成し、生成したハッシュ値(ダイジェストデータ)を署名生成部705に供給する。
【0062】
ステップS807では、署名生成部705が、ハッシュ関数演算部703で生成されたダイジェストデータを秘密鍵Ksで演算処理し、プログラムのデジタル署名を生成する。署名生成部204は、生成したデジタル署名を検証部706に供給する。
【0063】
ステップS808では、検証部706が、署名生成部705で生成されたデジタル署名と、プログラムファイルに付加されたデジタル署名とを比較して、プログラムが改竄されているか否かを検証する。検証部706は、署名生成部705で生成されたデジタル署名とプログラムファイルに付加されたデジタル署名とが一致しなければプログラムが改竄されていると判定し、署名生成部705で生成されたデジタル署名とプログラムファイルに付加されたデジタル署名とが一致すればプログラムが改竄されていないと判定する。検証部706によりデジタル署名付きプログラムファイルが改竄されていると判定された場合では、「改竄あり」と判定された検証結果が記憶部702に記憶される。検証部706によりデジタル署名付きプログラムファイルが改竄されていないと判定された場合では、「改竄なし」と判定された検証結果が記憶部702に記憶される。
【0064】
ステップS809では、プログラムアップデート部707が、記憶部702に記憶された検証結果に基づいて、プログラムのアップデートを行う。例えば、プログラムアップデート部707は、記憶部702に「改竄なし」と判定された検証結果が記憶されている場合にはプログラムのアップデートを行い、記憶部702に「改竄あり」と判定された検証結果が記憶されている場合にはプログラムのアップデートを行わないように、制御部708によって制御されうる。
【0065】
以上説明したように、第2の実施形態におけるシステムによれば、ステップS801〜ステップS803の工程と、ステップS806〜ステップS808の工程とが実質的に同一であるため、情報処理装置10がデジタル署名を生成する機能を、情報処理装置20がプログラムを改竄を検証する際にプログラムのデジタル署名を生成する機能に適用することによって、特別な機能を追加することなくプログラムの改竄を検知することができる。
【0066】
[他の実施形態]
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、撮像装置、電子機器など)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、デジタルカメラ、デジタルビデオカメラ及びスキャナ等の撮像装置、ファクシミリ装置及び複写機等の電子機器など)に適用してもよい。
【0067】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【0068】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0069】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピ(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0070】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0071】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0072】
以上説明したように、本発明の実施形態におけるシステムによれば、プログラムの改竄検知機能を有する情報処理装置において、プログラムのアップデート時に、前記改竄検知機能を用いてプログラムが改竄されたか否かを検証して、プログラムのアップデートを実行するか否かを切り替えることができる。
【図面の簡単な説明】
【0073】
【図1】本発明の好適な実施の形態に係るシステムの一構成例を示す図である。
【図2】本発明の好適な実施の形態に係るプログラム生成装置の主要な機能構成例を示す図である。
【図3】本発明の好適な第1の実施形態に係る情報処理装置の主要な機能構成例を示す図である。
【図4】本発明の好適な第1の実施形態に係るシステムの処理手順を示す図である。
【図5】本発明の好適な第1の実施形態に係るテーブルの一例を示す図である。
【図6】本発明の好適な第2の実施形態に係る情報処理装置の主要な機能構成例を示す図である。
【図7】本発明の好適な第2の実施形態に係るシステムの処理手順を示す図である。

【特許請求の範囲】
【請求項1】
プログラムの改竄を検知するための該プログラムの暗号化データを生成する暗号化データ生成部と、
前記プログラムに前記暗号化データを付加したプログラムファイルを生成するファイル生成部と、
を備えることを特徴とする情報処理装置。
【請求項2】
プログラムに該プログラムの暗号化データが付加されたプログラムファイルを入力する入力部と、
前記プログラムと前記暗号化データとに基づいて前記プログラムが改竄されたか否かを検証する検証部と、
を備えることを特徴とする情報処理装置。
【請求項3】
前記プログラムをアップデートするプログラムアップデート部を備え、
前記プログラムアップデート部は、前記検証部により前記プログラムが改竄されていないと判定された場合には前記プログラムをアップデートし、前記検証部により前記プログラムが改竄されていると判定された場合には前記プログラムをアップデートしないことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記プログラムをアップデートするプログラムアップデート部を備え、
前記プログラムアップデート部は、前記検証部により前記プログラムが改竄されていないと判定された場合には前記プログラムをアップデートし、前記検証部により前記プログラムが改竄されていると判定された場合には前記プログラムの機能が制限されるように該プログラムをアップデートすることを特徴とする請求項2に記載の情報処理装置。
【請求項5】
前記検証部による検証結果を記憶する記憶部と、
前記プログラムの実行結果を出力する出力部と、
を更に備え、
前記出力部は、前記記憶部に記憶した前記検証結果を前記実行結果に付加して出力することを特徴とする請求項2乃至請求項4のいずれか1項に記載の情報処理装置。
【請求項6】
プログラムの改竄を検知するための該プログラムの暗号化データを生成する暗号化データ生成工程と、
前記プログラムに前記暗号化データを付加したプログラムファイルを生成するファイル生成工程と、
を含むことを特徴とする情報処理方法。
【請求項7】
プログラムに該プログラムの暗号化データが付加されたプログラムファイルを入力する入力工程と、
前記プログラムと前記暗号化データとに基づいて前記プログラムが改竄されたか否かを検証する検証工程と、
を含むことを特徴とする情報処理方法。
【請求項8】
前記検証工程の後に、前記プログラムをアップデートするプログラムアップデート工程を含み、
前記プログラムアップデート工程では、前記検証工程で前記プログラムが改竄されていないと判定された場合には前記プログラムをアップデートし、前記検証工程で前記プログラムが改竄されていると判定された場合には前記プログラムをアップデートしないことを特徴とする請求項7に記載の情報処理方法。
【請求項9】
前記検証工程の後に、前記プログラムをアップデートするプログラムアップデート工程を含み、
前記プログラムアップデート工程では、前記検証工程で前記プログラムが改竄されていないと判定された場合には前記プログラムをアップデートし、前記検証工程で前記プログラムが改竄されていると判定された場合には前記プログラムの機能が制限されるように該プログラムをアップデートすることを特徴とする請求項7に記載の情報処理方法。
【請求項10】
前記検証工程での検証結果を記憶する記憶工程と、
前記プログラムの実行結果を出力する出力工程と、
を更に含み、
前記出力工程では、前記記憶工程で記憶した前記検証結果を前記実行結果に付加して出力することを特徴とする請求項7乃至請求項9のいずれか1項に記載の情報処理方法。
【請求項11】
請求項6乃至10のいずれか1項に記載の情報処理方法を実行することを特徴とするプログラム。
【請求項12】
請求項6乃至10のいずれか1項に記載の情報処理方法を実行するプログラムを記憶していることを特徴とする記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2006−191491(P2006−191491A)
【公開日】平成18年7月20日(2006.7.20)
【国際特許分類】
【出願番号】特願2005−3069(P2005−3069)
【出願日】平成17年1月7日(2005.1.7)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】