(57)【要約】【課題】データの改竄に対するセキュリティ性能を向上することを目的とする。【解決手段】装置の固有情報（カメラＩＤ）と秘密に管理された第１情報（秘密鍵Ｐ）との演算により得られた秘密データ（ＥＩＤ）を外部より取得し、これを鍵データとして鍵保持部２１に秘密に保持する。ＭＡＣ生成部２８は保護対象データ（画像データＤ）~得られたハッシュ値Ｈと鍵保持部２１に保持された鍵データ（ＥＩＤ）に基づいて認証データ（ＭＡＣ）を生成する。  画像ファイル性西部２６は、固有情報（カメラＩＤ）と認証データ（ＭＡＣ）を保護対象データ（画像データＤ）とともに画像ファイル９１として提供する。【選択図】    図９
2006237860.tif 000002
【特許請求の範囲】
【請求項１】
装置の固有情報と秘密に管理された第１情報との演算により得られた秘密データを取得する取得手段と、
前記取得手段で取得された前記秘密データに基づいて鍵データを取得し、秘密に保持する保持手段と、
保護対象データと前記保持手段に保持された鍵データに基づいて認証データを生成する生成手段と、
前記固有情報と前記認証データを前記保護対象データとともに提供する提供手段とを備えることを特徴とするデータ提供装置。
【請求項２】
前記保持手段は前記取得手段で取得された前記秘密データを前記鍵データとして保持することを特徴とする請求項１に記載のデータ提供装置。
【請求項３】
当該装置の固有情報と秘密に管理された第１情報と当該装置に秘密に保持された第２情報から鍵データを生成する鍵生成手段をさらに備え、
前記保持手段は、前記鍵生成手段で生成された鍵データを保持することを特徴とする請求項１に記載のデータ提供装置。
【請求項４】
入力画像またはユーザ設定に応じた情報を設定する設定手段を更に備え、
前記生成手段は、前記保持手段に保持された鍵データと前記設定手段で設定した設定情報を用いて変更し、変更後の鍵データと前記保護対象データに基づいて認証データを生成し、
前記提供手段は、前記固有情報、前記認証データ及び前記生成手段で用いた設定情報を前記保護対象データとともに提供することを特徴とする請求項１乃至３のいずれかに記載のデータ提供装置。
【請求項５】
前記認証データはＭＡＣであることを特徴とする請求項１乃至４のいずれかに記載のデータ提供装置。
【請求項６】
前記秘密データは公開鍵暗号の公開鍵もしくは秘密鍵のいずれかであり、前記保持手段は公開鍵もしくは秘密鍵のいずれかを鍵データとして保持し、
前記認証データは前記保護対象データと前記保持手段に保持された鍵データとに基づいて生成された暗号化データであることを特徴とする請求項１に記載のデータ提供装置。
【請求項７】
前記保持手段に保持された鍵データは秘密鍵であり、前記暗号化データは署名データであることを特徴とする請求項６に記載のデータ提供装置。
【請求項８】
保護対象データの改竄の有無を検出する検出装置であって、
第１情報を秘密に保持する保持手段と、
前記保護対象データを提供した提供装置の固有情報と前記第１情報を用いて鍵データを生成する第１生成手段と、
前記鍵データと、前記保護対象データから得られる派生データとを用いて認証データを生成する第２生成手段と、
前記第２生成手段で生成された認証データと前記保護対象データに付加された認証データとの比較により該保護対象データの改竄の有無を判定する判定手段とを備えることを特徴とする改竄検出装置。
【請求項９】
前記保持手段は更に前記提供装置が所有する第２情報を秘密に保持し、
前記第１生成手段は、前記固有情報と前記第１情報と前記第２情報を用いて鍵データを生成することを特徴とする請求項７に記載の改竄検出装置。
【請求項１０】
前記第２生成手段は、前記保護対象データに付加された第３情報を用いて前記鍵データを変更して用いることを特徴とする請求項７または８に記載の改竄検出装置。
【請求項１１】
保護対象データの改竄の有無を検出する検出装置であって、
第１情報を秘密に保持する保持手段と、
前記保護対象データを提供した提供装置の固有情報と前記第１情報を用いて公開鍵暗号の公開鍵もしくは秘密鍵を鍵データとして生成する第１生成手段と、
前記鍵データを用いて前記保護対象データに付加された認証データを復号する復号手段と、
前記復号手段で得られたデータと前記保護対象データから派生する派生データとの比較により該保護対象データの改竄の有無を判定する判定手段とを備えることを特徴とする改竄検出装置。
【請求項１２】
前記鍵データは公開鍵であり、前記認証データは署名データであることを特徴とする請求項１１に記載の改竄検出装置。
【請求項１３】
データ提供装置の固有情報に、秘密に保持された第１情報を用いた暗号化処理を施して秘密データを生成し、該データ提供装置に供給する供給手段と、
前記データ提供装置において、前記供給手段によって供給された前記秘密データに基づく鍵データを秘密に保持する第１保持手段と、
保護対象データと前記第１保持手段に保持された鍵データに基づいて認証データを生成する第１生成手段と、
前記固有情報と前記認証データを前記保護対象データとともに提供する提供手段と、
改竄検出装置において、前記第１情報を秘密に保持する第２保持手段と、
前記データ提供装置の前記固有情報と前記第１情報を用いて鍵データを生成する第２生成手段と、
前記鍵データと、前記保護対象データから得られる派生データとを用いて認証データを生成する第３生成手段と、
前記第３生成手段で生成された認証データと前記保護対象データに付加された認証データとの比較により該保護対象データの改竄の有無を判定する判定手段とを備えることを特徴とする改竄検出システム。
【請求項１４】
前記第１保持手段は前記秘密データを鍵データとして保持し、
前記第２生成手段は、前記データ提供装置の前記固有情報に、前記第１情報を用いた前記暗号化処理を適用して得られたデータを鍵データとすることを特徴とする請求項１３に記載の改竄検出システム。
【請求項１５】
前記第１保持手段と前記第２保持手段はさらに第２情報を秘密に保持し、
前記第１保持手段は前記秘密データと前記第２情報を用いて所定の演算を施して前記鍵データを取得して保持し、
前記第２生成手段は、前記データ提供装置の前記固有情報に前記第１情報を用いた前記暗号化処理を適用して得られたデータに、さらに、前記第２情報を用いた前記所定の演算を施して前記鍵データを取得することを特徴とする請求項１３に記載の改竄検出システム。
【請求項１６】
入力画像またはユーザ設定に応じた情報を設定する設定手段をさらに備え、
前記第１生成手段は、前記設定手段で設定した設定情報を用いて前記鍵データを変更して用いて前記認証データを生成し、
前記提供手段は、さらに前記保護対象データとともに前記第１生成手段で用いられた前記乱数を付加して提供し、
前記第３生成手段は、前記保護対象データに付加されている前記設定情報を用いて前記鍵データを変更して認証データを生成することを特徴とする請求項１３乃至１５のいずれかに記載の改竄検出システム。
【請求項１７】
データ提供装置の固有情報を秘密に保持された第１情報を用いて公開鍵暗号のための鍵対を生成し、該鍵対の一方の鍵データ提供装置に供給する供給手段と、
前記データ提供装置において、前記供給手段で供給された前記鍵データを保持する第１保持手段と、
保護対象データから派生した派生データを前記鍵データを用いて暗号化して暗号化データを生成する第１生成手段と、
前記固有情報と前記暗号化データを前記保護対象データとともに提供する提供手段と、
改竄検出装置において、前記第１情報を秘密に保持する第２保持手段と、
前記データ提供装置の前記固有情報と前記第１情報を用いて前記公開鍵暗号のための前記鍵対の他方の鍵データを生成する第２生成手段と、
前記第２生成手段で生成された鍵データを用いて前記暗号化データを復号する復号手段と、
前記復号手段で得られたデータと前記保護対象データから派生する派生データとの比較により該保護対象データの改竄の有無を判定する判定手段とを備えることを特徴とする改竄検出システム。
【請求項１８】
前記第１生成手段は前記鍵データとして秘密鍵を用いて署名データを生成し、
前記復号化手段は、前記他方の鍵データとして公開鍵を用いて前記署名データを複合することを特徴とする請求項１７に記載の改竄検出システム。
【請求項１９】
装置の固有情報と外部装置で秘密に管理された第１情報との演算により得られた秘密データを外部装置より取得し、該秘密データに基づく鍵データをメモリに秘密に保持する保持工程と、
保護対象データと前記メモリに保持された鍵データに基づいて認証データを生成する生成工程と、
前記固有情報と前記認証データを前記保護対象データとともに提供する提供工程とを備えることを特徴とするデータ提供方法。
【請求項２０】
前記認証データはＭＡＣであることを特徴とする請求項１９に記載のデータ提供方法。
【請求項２１】
前記認証データは署名データであることを特徴とする請求項１９に記載のデータ提供方法。
【請求項２２】
保護対象データの改竄の有無を検出する方法であって、
第１情報を秘密にメモリに保持する保持工程と、
前記保護対象データを提供した提供装置の固有情報と前記第１情報を用いて鍵データを生成する第１生成工程と、
前記鍵データと、前記保護対象データから得られる派生データとを用いて認証データを生成する第２生成工程と、
前記第２生成工程で生成された認証データと前記保護対象データに付加された認証データとの比較により該保護対象データの改竄の有無を判定する判定工程とを備えることを特徴とする改竄検出方法。
【請求項２３】
保護対象データの改竄の有無を検出する方法であって、
第１情報を秘密にメモリに保持する保持工程と、
前記保護対象データを提供した提供装置の固有情報と前記第１情報を用いて公開鍵暗号の公開鍵もしくは秘密鍵を鍵データとして生成する第１生成工程と、
前記鍵データを用いて前記保護対象データに付加された認証データを復号する復号工程と、
前記復号工程で得られたデータと前記保護対象データから派生する派生データとの比較により該保護対象データの改竄の有無を判定する判定工程とを備えることを特徴とする改竄検出方法。
【請求項２４】
データ提供装置の固有情報に、秘密に保持された第１情報を用いた暗号化処理を施して生成した秘密データを該データ提供装置に供給する供給工程と、
データ提供装置において、前記供給工程によって供給された前記秘密データに基づく鍵データをメモリに秘密に保持する第１保持工程と、
保護対象データと前記メモリに保持された鍵データに基づいて認証データを生成する第１生成工程と、
前記固有情報と前記認証データを前記保護対象データとともに提供する提供工程と、
改竄検出装置において、前記第１情報を秘密にメモリに保持する第２保持工程と、
前記提供工程で提供された前記固有情報と前記第１情報を用いて鍵データを生成する第２生成工程と、
前記鍵データと、前記保護対象データから得られる派生データとを用いて認証データを生成する第３生成工程と、
前記第３生成工程で生成された認証データと前記提供工程で提供された認証データとの比較により該保護対象データの改竄の有無を判定する判定工程とを備えることを特徴とする改竄検出方法。
【請求項２５】
データ提供装置の固有情報を秘密に保持された第１情報を用いて公開鍵暗号のための鍵対の一方の鍵データ提供装置に供給する供給工程と、
前記データ提供装置において、前記供給工程で供給された前記鍵データをメモリに保持する第１保持工程と、
保護対象データから派生した派生データを前記鍵データを用いて暗号化して暗号化データを生成する第１生成工程と、
前記固有情報と前記暗号化データを前記保護対象データとともに提供する提供工程と、
改竄検出装置において、前記第１情報をメモリに秘密に保持する第２保持工程と、
前記第１情報と前記提供工程で提供された前記固有情報とを用いて前記公開鍵暗号のための鍵対の他方の鍵データを生成する第２生成工程と、
前記第２生成工程で生成された鍵データを用いて前記暗号化データを復号する復号工程と、
前記復号工程で得られたデータと前記保護対象データから派生する派生データとの比較により該保護対象データの改竄の有無を判定する判定工程とを備えることを特徴とする改竄検出方法。
【請求項２６】
請求項１９乃至２１のいずれかに記載のデータ提供方法をコンピュータに実行させるための制御プログラム。
【請求項２７】
請求項２２乃至２５のいずれかに記載の改竄検出方法をコンピュータに実行させるための制御プログラム。
【請求項２８】
請求項２６又は２７に記載の制御プログラムを格納した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの改竄の有無を判定するための情報処理技術に関する。特に、画像ファイルの完全性（改変されていないこと）を保証するための技術に好適なものである。
【背景技術】
【０００２】
近年、レンズを通して光学像をＣＣＤ，ＣＭＯＳ等のセンサで電気信号へ変換し、得られたデータをデジタル形式で保存するデジタルカメラが普及している。
【０００３】
デジタルカメラで撮影された画像には、従来の銀塩写真のように現像、プリントといった手間が省けるというメリットのみならず、経年劣化がない、保管や検索が容易に行える、通信回線を用いてデータを遠隔地に送信できるといった様々なメリットが多くある。このため、デジタルカメラが多くの業務分野で利用されている。
【０００４】
しかし、デジタル化されることによるデメリットも指摘されている。それは、市販されているフォトレタッチツール等を使用することで容易に加工や修正が出来るというデジタル画像の特徴に起因する。
【０００５】
従って、このような画像改変の容易性というデジタル画像の欠点を克服するための仕組みが必要とされている。
【０００６】
現在、暗号技術を利用したデジタル署名データによる画像データの改竄検出システムが提案されている。例えば米国特許第５４９９２９４号（特許文献１）に提案されているシステムは、画像データを生成する画像生成装置（カメラ）と、画像データの完全性を検証する画像検証装置で構成される。この画像生成装置は、該画像生成装置固有の秘密情報と該画像生成装置にて撮影して得られたデジタル画像データとに基づき、所定の演算を実行して該画像データを識別する（改竄を検知する）情報であるデジタル署名データを生成する。生成されたデジタル署名データと上記デジタル画像データが画像生成装置より出力される。一方、画像検証装置は、所定の演算をデジタル画像データに施した結果のデータと、デジタル署名データに上記生成時の演算の逆演算を施した結果のデータとを比較することで検証を行う。また、上記特許文献１では、デジタル署名データ生成にハッシュ関数（圧縮関数）と公開鍵暗号を使用している。
【０００７】
また、上記のデジタル署名データの代わりにＭＡＣ（Message Authentication Code）を用いることも考えられる。ＭＡＣは共通鍵暗号等やハッシュ関数を使用して生成されるものであり、処理速度が公開鍵暗号よりも高速であることが特徴である。しかしながら、ＭＡＣの生成／検証に使用した共通鍵を画像検証装置においても厳重に管理する必要がある。
【０００８】
カメラで撮像した画像データは通常、カメラに接続されている小型のメモリーカード（不揮発性メモリ）に記憶され、該メモリーカードは主としてフラッシュEEPROMによって構成される。さらに、上記フラッシュEEPROMに加えてＣＰＵ，ＲＡＭ，ＲＯＭで構成される演算部を持つセキュリティー機能付きメモリーカードやＩＣカードも実用化されつつある。これらの演算機能を用いることにより、画像生成装置の外部（すなわち、メモリカードまたはＩＣカードの内部）で上記のデジタル署名データ等の改竄を検出するためのデータを生成することも可能となっている。
【特許文献１】米国特許第５４９９２９４号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００９】
以下では、カメラのような画像生成装置を対象にＭＡＣやデジタル署名を用いて改竄を検出するシステムを考える。ＭＡＣは前述したように共通鍵暗号を用いて検証データを作成し、検証する仕組みであり、その共通鍵が知られてしまうと安全性は保障できない。また、デジタル署名もその署名に用いた秘密鍵が知られるとその安全性は保証できない。よって、検証データの作成側はカメラに、検証側はＩＣカードにした場合、一般にカメラのような画像生成装置はＩＣカードに比べてセキュリティ性能が脆弱である。
【００１０】
本発明は上記の課題に鑑みてなされたものであり、データの改竄に対するセキュリティ性能を向上することを目的とする。
【課題を解決するための手段】
【００１１】
上記の目的を達成するための本発明の一態様によれば以下の構成を備える改竄検出システムが提供される。すなわち、
データ提供装置の固有情報に、秘密に保持された第１情報を用いた暗号化処理を施して秘密データを生成し、該データ提供装置に供給する供給手段と、
前記データ提供装置において、前記供給手段によって供給された前記秘密データに基づく鍵データを秘密に保持する第１保持手段と、
保護対象データと前記第１保持手段に保持された鍵データに基づいて認証データを生成する第１生成手段と、
前記固有情報と前記認証データを前記保護対象データとともに提供する提供手段と、
改竄検出装置において、前記第１情報を秘密に保持する第２保持手段と、
前記データ提供装置の前記固有情報と前記第１情報を用いて鍵データを生成する第２生成手段と、
前記鍵データと、前記保護対象データから得られる派生データとを用いて認証データを生成する第３生成手段と、
前記第３生成手段で生成された認証データと前記保護対象データに付加された認証データとの比較により該保護対象データの改竄の有無を判定する判定手段とを備える。
【００１２】
また、上記の目的を達成するための本発明の他の態様によれば以下の構成を備える改竄検出システムが提供される。すなわち、
データ提供装置の固有情報を秘密に保持された第１情報を用いて公開鍵暗号のための鍵対を生成し、該鍵対の一方の鍵データ提供装置に供給する供給手段と、
前記データ提供装置において、前記供給手段で供給された前記鍵データを保持する第１保持手段と、
保護対象データから派生した派生データを前記鍵データを用いて暗号化して暗号化データを生成する第１生成手段と、
前記固有情報と前記暗号化データを前記保護対象データとともに提供する提供手段と、
改竄検出装置において、前記第１情報を秘密に保持する第２保持手段と、
前記データ提供装置の前記固有情報と前記第１情報を用いて前記公開鍵暗号のための前記鍵対の他方の鍵データを生成する第２生成手段と、
前記第２生成手段で生成された鍵データを用いて前記暗号化データを復号する復号手段と、
前記復号手段で得られたデータと前記保護対象データから派生する派生データとの比較により該保護対象データの改竄の有無を判定する判定手段とを備える。
【発明の効果】
【００１３】
本発明によれば、データの改竄に対するセキュリティ性能を向上することができる。
【発明を実施するための最良の形態】
【００１４】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
【００１５】
＜第１実施形態＞
以下の実施形態では、画像データを保護対象データ、すなわち改竄の検出対象のデータとし説明するが、本実施形態のシステムを他の形態のデータを保護対象データとし得ることは以下の説明から当業者には明らかである。
【００１６】
［システム構成］
本実施形態のシステムは、図１に示すように、画像生成装置１１、耐攻撃装置１２、画像検証補助装置１３、及び鍵生成装置１４を備える。
【００１７】
画像生成装置１１は保護対象データ（本実施形態では画像データ）を改竄検出のための認証データ（本実施形態ではＭＡＣ）とともに出力する。画像生成装置１１は、ＭＡＣ作成用の鍵を設定及び／または保持する機能と、撮影画像から画像データを生成する機能と、生成した画像データに対するＭＡＣデータを生成する機能と、補助パラメータ（例えばカメラの場合、撮影時刻、焦点距離、絞り値、ＩＳＯ感度、測光モード、画像ファイルサイズ、撮影者情報等）を生成する機能と、ＭＡＣデータ付き画像ファイル（画像データ、ＭＡＣデータ、補助パラメータなどで構成）を生成する機能と、耐攻撃装置１２と通信を行う機能とを有する。なお、画像生成装置１１は、デジタルカメラ、デジタルビデオカメラ等の撮像装置、スキャナ、或いはカメラユニットを有する電子機器等、デジタル画像を生成する装置であればよい。但し、簡単のため、本実施形態では画像生成装置１１がデジタルカメラであるとして説明する。
【００１８】
耐攻撃装置１２は、画像生成装置１１で生成した保護対象データ（画像ファイル）を記憶するとともに、その改竄の有無を判定する。耐攻撃装置１２は、画像生成装置１１で生成した画像ファイルを記憶する機能と、検証に必要な情報を計算する機能と、画像生成装置１１や画像検証補助装置１３とデータを通信する機能とを有する。なお、耐攻撃装置１２としては、フラッシュEEPROMに加えてＣＰＵ，ＲＡＭ，ＲＯＭで構成される演算部を持つセキュリティー機能付きメモリーカード、またはＩＣカード等が挙げられる。簡単のため、本実施形態では耐攻撃装置１２がＩＣカードであるとして説明する。
【００１９】
画像検証補助装置１３は、耐攻撃装置１２が保護対象データの改竄の有無を判定するに際して、保護対象データから認証情報等抽出して耐攻撃装置１２へ提供する。画像検証補助装置１３は、ＭＡＣデータ付き画像ファイルを画像データとＭＡＣデータに分離する機能と、分離した画像データのハッシュ値を計算する機能と、耐攻撃装置１２と通信する機能と、その判定結果を表示する機能を有する。なお、画像検証補助装置１３は、Ｗｅｂサーバのようなデータを蓄積し、該データを配信可能なパーソナルコンピュータ（以下、ＰＣ）のようなものでもよいし、ＣＰＵとメモリ等を有した小型機器であってもよい。簡単のため、本実施形態では画像検証補助装置１３はＰＣとして説明する。
【００２０】
鍵生成装置１４は秘密鍵を安全に管理する機能と、その秘密鍵を用いて入力されたカメラＩＤを暗号化する機能と、そのカメラＩＤと暗号化情報を画像生成装置１１に設定する機能を有する。なお、鍵生成装置１４はフラッシュEEPROMに加えてＣＰＵ，ＲＡＭ，ＲＯＭで構成される演算部を持つセキュリティー機能付きメモリーカードでも良いし、パスワードやアクセス制御などによって秘密鍵情報が保護できるＰＣでもよい。簡単のため、本実施形態では鍵生成装置１４はＰＣとして説明する。
【００２１】
図２は画像生成装置１１の構成例を示すブロック図である。各部の機能は後述の改竄検出処理の説明において明らかなるが、以下、簡単に説明しておく。鍵保持部２１は鍵生成装置１４より送信された暗号化情報や、カメラＩＤを保持する。操作部２２は、撮影指示等、画像生成装置１１に対する種々のユーザ操作を実現する。演算部２３は、認証情報等の生成における各種演算処理を行う。通信部２４は耐攻撃装置（ＩＣカード）１２との通信を行う。撮影部２５はＣＣＤ（電荷結合素子）などの光学センサを有し、操作部２９から入力された指示に従って被写体の画像データや上述の補助パラメータを生成する。画像ファイル生成部２６は撮像部２５によって得られた画像データに認証情報（本実施形態ではＭＡＣ）を付与して画像ファイルを生成する。ハッシュ生成部２７は画像データからハッシュ値を生成する。ＭＡＣ生成部２８はハッシュ生成部２７で生成したハッシュ値と鍵保持部２１に保持された鍵を用いてＭＡＣを生成する。制御部２９はＣＰＵ，ＲＯＭ，ＲＡＭ等で構成され、上述した各部を統括的に制御する。なお、上述した各部はハードウエアで実現されてもよいし、それらの一部がＣＰＵの機能により実現されてもよいことは言うまでもない。
【００２２】
図３は耐攻撃装置（ＩＣカード）１２の構成例を示すブロック図である。鍵保持部３１は暗号化部３３で用いる鍵データを保持する。なお、鍵保持部３１は鍵情報が漏れないように暗号化部３３以外の外部への読み出しが出来ないように構成されている。演算部３２は認証に係る各種演算を行う。暗号化部３３は鍵保持部３１に保持された鍵データを用いて認証処理のための鍵データを生成する。通信部３４は画像生成装置１１及び画像検証補助装置１３との通信を実現する。ＭＡＣ生成部３５は、暗号化部３３で生成された鍵データを用いてＭＡＣを生成する。判定部３６は画像ファイルに添付されたＭＡＣとＭＡＣ生成部３５で生成されたＭＡＣとの比較から当該画像データにおける改竄の有無を判定する。制御部３７はＣＰＵ，ＲＯＭ，ＲＡＭ等で構成され、上述した各部を統括的に制御する。なお、上述した各部はハードウエアで実現されてもよいし、それらの一部がＣＰＵの機能により実現されてもよいことは言うまでもない。
【００２３】
図４は画像検証補助装置１３の構成例を示すブロック図である。通信部４１は耐攻撃装置１２との通信を行う。画像ファイル分離部４２は保護対象データである画像ファイル（たとえば、耐攻撃装置１２から通信部４１を介して入力した画像ファイル）から画像データと認証用のデータを分離、抽出する。ハッシュ生成部４３は画像ファイル分離部４２で得られた画像データからハッシュ値を生成する。表示部４５は液晶ディスプレイ等により各種表示を行う。制御部４６は上述した各部の制御を行う。なお、上述した各部はハードウエアで実現されてもよいし、それらの一部がＣＰＵの機能により実現されてもよいことは言うまでもない。また、本実施形態では画像検証補助装置１３をＰＣで構成するので、上述の各部は所定のアプリケーションを実行する（ＣＰＵが所定の制御プログラムを実行する）ことによって実現されることになる。
【００２４】
図５は鍵生成装置１４の構成例を示すブロック図である。鍵管理部５１は暗号化部５３で用いる鍵データ（秘密鍵Ｐ）を管理する。ＩＤ入力部５２は保護対象データを提供する装置（本実施形態では画像生成装置１１）の固有の情報（たとえばＩＤ）を入力する。暗号化部５３は、ＡＥＳなど安全性が確認された共通鍵暗号を実装し、ＩＤ入力部５２からのデータを秘密鍵Ｐを用いて暗号化する。通信部５４は所定のプロトコルにて画像生成装置１１との通信を行う。制御部５５は上述した各部の制御を行う。なお、上述した各部はハードウエアで実現されてもよいし、それらの一部がＣＰＵの機能により実現されてもよいことは言うまでもない。また、本実施形態では鍵生成装置１４をＰＣで構成するので、上述の各部は所定のアプリケーションを実行する（ＣＰＵが所定の制御プログラムを実行する）ことによって実現されることになる。
【００２５】
なお、鍵生成装置１４内の鍵管理部５１は、パスワードや正当なユーザの生態情報などによってその読み出しが制限されている。すなわち、鍵管理部５１は、秘密鍵Ｐが漏れないように、通常は暗号化部５３以外の外部からの読み出しが出来ないように構成されている。ＩＤ入力部５２はキーボードにより構成されてもよいし、通信部５４を介して画像生成装置１１からＩＤを取得するようにしてもよい。
【００２６】
［改竄検出処理の説明］
以上の構成を備えた本実施形態のシステムにおける改竄検出処理について、図６〜図１０を参照して以下に詳細に説明する。なお、図６は改竄検出の前段階の処理であり、鍵生成装置１４が画像生成装置１１に改竄検出のための情報を設定する処理を説明するフローチャートである。図７は画像生成装置１１における改竄検出のための情報（認証情報）を含んだ画像ファイルの生成処理を説明するフローチャートである。図８は、耐攻撃装置１２と画像検証補助装置１３による改竄検出処理を説明するフローチャートである。また、図９は、図６と図７のフローチャートに示された処理で使用、生成されるデータやその流れを説明するための図である。同様に図１０は、図８のフローチャートに示された処理で使用、生成されるデータやその流れを説明するための図である。
【００２７】
まず処理の前提として、鍵生成装置１４は図９に示すように予め定められた秘密鍵Ｐを鍵管理部５１に持つものとする。なお、この秘密鍵Ｐ及び後述するカメラＩＤ，鍵Ｋは数値を表し、所定のビット長をもつ数値として設定される。
【００２８】
鍵生成装置１４による画像生成装置１１への鍵設定の手順を図６のフローチャートを用いて説明する。なお、以下の処理は制御部５５の制御下で実現される。
【００２９】
まず、画像生成装置１１に固有のＩＤ（カメラＩＤ）がＩＤ入力部５２を通して入力されると、カメラＩＤは暗号化部５３に送られる（ステップＳ６１）。暗号化部５３は、鍵管理部５１によって管理、保持されている秘密鍵Ｐを用いて、入力されたカメラＩＤを暗号化しＥＩＤを得る（ステップＳ６２）。そして、ＩＤ入力部５２を介して入力されたカメラＩＤと、それを暗号化して得たＥＩＤとを画像生成装置１１に通信部５４を用いて送信する（ステップＳ６３）。なお、送信されたカメラＩＤとＥＩＤは画像生成装置１１により通信部２４を介して受信され、図９に示すように画像生成装置１１内の鍵保持部２１に設定される。すなわち、通信部２４は耐攻撃装置１２及び鍵生成装置１１と通信可能に構成されている。なお、通信の形態については何等限定されるものではない。
【００３０】
次に、図７のフローチャートにより、画像生成装置における認証情報（ＭＡＣ）付きの画像ファイルの生成処理を説明する。なお、以下の処理は制御部２９の制御下で実現される。
【００３１】
画像生成装置１１は画像Ｄを撮像部２５から入力する（ステップＳ７１）。次に、ハッシュ生成部２７は、画像Ｄに対するハッシュ値Ｈを計算する（ステップＳ７２）。ＭＡＣ生成部２８は、図９に示すように、上述したステップＳ６３の処理によって鍵保持部２１に保持されているＥＩＤを鍵Ｋとして用いて、ハッシュ生成部２７で生成されたハッシュ値Ｈに対するＭＡＣを計算する（ステップＳ７３）。そして、画像ファイル生成部２６は、画像Ｄの画像ファイルにＭＡＣとカメラＩＤを添付して認証情報つきの画像ファイル（図９の９１）を生成する（ステップＳ７４）。
【００３２】
上記処理において、撮像部２５から得られた画像Ｄは、画像ファイル生成部２６によってJPEG方式等により圧縮されるものとする。また、画像ファイル生成部２６における画像ファイルのファイル形式は、例えば、JFIF（JPEG File Interchange Format）、TIFF（Tagged Image File Format）及びGIF（Graphics Interchange Format）の何れかとすればよい。ただし、これらに限られるものではなく、それらを拡張したものであってもよいし、或いは他の画像ファイルフォーマットであってもよい。また、ハッシュ生成部２７で用いられるハッシュ関数Ｈとしては、MD5、SHA1、RIPEMD等が一般的に知られており、それらのいずれかを用いることができる。また、ＭＡＣ生成部２８におけるＭＡＣデータの生成アルゴリズムとしては、ＤＥＳやＡＥＳなどの共通鍵暗号のＣＢＣ（Cipher Block Chaining）モードを用いる手法と、ＨＭＡＣと呼ばれる鍵付きのハッシュ関数を用いる手法が知られておりそれらのいずれも利用することができる。例えばＤＥＳのＣＢＣモードの場合、対象となるデータをＣＢＣモードで暗号化し、その最後のブロックの前半の３２ビットをＭＡＣデータをする方法などがある。
【００３３】
次に、上記のごとく生成された画像ファイル（図９の９１）に対する、耐攻撃装置１２と画像検証補助装置１３によって実行される改竄検出処理について、図８及び図１０を用いて説明する。なお、耐攻撃装置（ＩＣカード）１２は、図１０に示すように秘密鍵Ｐを鍵保持部４１にもつとする。
【００３４】
まず、画像検証補助装置１３は画像ＤとＭＡＣ及びカメラＩＤを含む画像ファイルを通信部６１から読み込む（ステップＳ８１）。画像検証補助装置１３は読み込んだ画像ファイルを画像ファイル分離部４２によって画像ＤとＭＡＣ及びカメラＩＤに分離する（ステップＳ８２）。次に、画像検証補助装置１３はハッシュ生成部４３を用いて、ステップＳ８２で取得された画像Ｄからハッシュ値Ｈを生成する（ステップＳ８３）。画像検証補助装置は耐攻撃装置１２へ通信部４１を介して、ハッシュ生成部４３で生成したハッシュ値Ｈと、画像ファイル分離部４２で得られたＭＡＣ及びカメラＩＤを送る（ステップＳ８４）。なお、耐攻撃装置１２がＩＣカードであるので、通信部４１はＩＣカードなどとのＩ／Ｏインターフェースで構成される。
【００３５】
一方、耐攻撃装置１２では、通信部３４を介してカメラＩＤ、ハッシュ値Ｈ、ＭＡＣを受信する。そして、受信したカメラＩＤを鍵保持部３１に保持されている秘密鍵Ｐを用いて暗号化部３３で暗号化する（ステップＳ９１）。ここで、暗号化部３３で用いられる暗号化処理は鍵生成装置１４の暗号化部５３で用いられた暗号化処理と同じである。よって、耐攻撃装置１２でカメラＩＤを暗号化して得られるＥＩＤは鍵生成装置１４でカメラＩＤを暗号化して得られるＥＩＤと同じとなる。そして、このＥＩＤを上記ステップＳ７３の処理と同様にＭＡＣ計算のための鍵Ｋとして用いる。すなわち、ＭＡＣ生成部３５は、暗号化部３３で得られたＥＩＤを鍵Ｋとして用いて、画像検証補助装置１３から送られてきたハッシュ値Ｈに対するＭＡＣ（以下、ＭＡＣ２）を生成する（ステップＳ９２）。ここで、ＭＡＣ生成部３５は、ＤＥＳやＡＥＳなどの共通鍵暗号を用いてＭＡＣを計算するものであり、画像生成装置１１のＭＡＣ生成部２８と同じアルゴリズムが用いられる。そして、判定部３６はＭＡＣ生成部３５で生成されたＭＡＣ２と画像検証補助装置１３より送られてきたＭＡＣとが一致するかどうかを判定する（ステップＳ９３）。この結果、ＭＡＣとＭＡＣ２が一致すれば改竄無し（ステップＳ９４）、一致しなければ改竄有りと判定する（ステップＳ９５）。
【００３６】
上記判定の結果は通信部３４を用いて画像検証補助装置１３に送られる（ステップＳ９６）。画像検証補助装置１３は送られてきた判定結果を表示部４５を用いて表示する（ステップＳ８５）。例えば、判定部３６において改竄なしと判定された場合には「改変なし」などと表示され、改竄ありと判定された場合には「改変あり」などと表示さる。
【００３７】
以上説明したように、第１実施形態によれば、セキュリティ性が脆弱な画像生成装置（カメラ）には秘密鍵Ｐは保持しないので、セキュリティが向上する。また、耐攻撃装置１２は秘密鍵Ｐを保持するので、すべての画像生成装置に対して同じ耐攻撃装置１２（ＩＣカード）を利用して改竄検出を行うことができる。
【００３８】
＜第２実施形態＞
第１実施形態では鍵生成装置１４はカメラ１１にカメラＩＤとその暗号化情報であるＥＩＤを設定するとしたが、例えば鍵生成装置１４における管理が悪いと、そのカメラＩＤとＥＩＤの対応が漏れる場合も考えられる。第２実施形態では、カメラの生産工程において、全カメラに共通の秘密情報Ａを鍵保持部２１に設定してより安全性を向上させる構成を説明する。また、第２実施形態では、撮影毎に生成した乱数を用いることによりＭＡＣ用の鍵を変更することにより、さらに安全性を増した構成とする。ただし、秘密情報Ａは耐攻撃装置１２の鍵保持部３１にも設定されており、安全に管理されているとする。
【００３９】
第２実施形態における画像生成装置１１、耐攻撃装置１２、画像検証補助装置１３、鍵生成装置１４の構成は第１実施形態（図１〜図５）と同様である。以下、図１１〜図１３のフローチャート、図１４及び図１５に示されるデータの流れ図を参照して第２実施形態の改竄研修処理を説明する。
【００４０】
鍵生成装置１４の動作は第１実施形態（図６）で説明したとおりである。画像生成装置１１では、鍵生成装置１４からの暗号化情報ＥＩＤと秘密情報Ａとから鍵Ｋを生成し、これを鍵保持部２１に保持する。すなわち、図１１、図１４に示されるように、画像生成装置１１は、鍵生成装置１４から暗号化情報であるＥＩＤを受信すると、演算部２３においてＥＩＤ＊Ａを計算し、これを鍵Ｋとする（ステップＳ１１１）。そして、この鍵Ｋを新たな鍵として鍵保持部２１に保存する（ステップＳ１１２）。
【００４１】
次に、画像生成装置１１によるＭＡＣ生成処理を図１２及び図１４０を参照して説明する。まず、画像生成装置１１は画像Ｄを撮像部２５から入力する（ステップＳ１２１）。次に、画像Ｄに対するハッシュ値Ｈをハッシュ生成部２７を用いて計算する（ステップＳ１２２）。画像生成装置１１は撮影の度に演算部２３で乱数ｒを生成する。そして、ステップＳ１１２で鍵保持部２１に保持された鍵Ｋと乱数ｒを用いて、その撮影に対する鍵Ｋ＝Ｋ＊ｒを演算部２３において計算する（ステップＳ１２３）。こうして計算された鍵Ｋ（＝ＥＩＤ＊Ａ＊ｒ）を用いて、上記ステップＳ５４と同様の処理によりハッシュ値Ｈに対するＭＡＣを生成する（ステップＳ１２４）。そして、画像生成装置１１は画像ファイル生成部２６において画像Ｄの画像ファイルにＭＡＣとカメラＩＤとステップＳ１２３で生成した乱数ｒを添付して、画像ファイル１４０１を生成する（ステップＳ１２５）。
【００４２】
次に、第２実施形態による改竄検出処理（ＭＡＣ検証処理）を図１３のフローチャートを参照して説明する。
【００４３】
画像検証補助装置１３は画像Ｄ、ＭＡＣ、カメラＩＤ及び乱数ｒを含む画像ファイルを通信部４１から読み込む（ステップＳ１３１）。画像検証補助装置１３は読み込んだ画像ファイルを画像ファイル分離部４２によって、図１５に示すように画像Ｄ、ＭＡＣ、カメラＩＤ、及び乱数ｒに分離する（ステップＳ１３２）。次に、画像検証補助装置１３はハッシュ生成部４３を用いて画像Ｄからハッシュ値Ｈを生成する（ステップＳ１３３）。そして、画像検証補助装置は、生成したハッシュ値Ｈと分離したＭＡＣ、カメラＩＤ及び乱数ｒを、通信部４１から耐攻撃装置１２へ送る（ステップＳ１３４）。
【００４４】
耐攻撃装置１２は通信部３４を介して送られてきたカメラＩＤを鍵保持部３１に保持されている秘密鍵Ｐを用いて暗号化部３３で暗号化しＥＩＤを得る（ステップＳ１４１）。ここで、暗号化部３３で用いられる暗号化処理は鍵生成装置１４の暗号化部５３で用いた暗号化処理と同じである。次に、上記ステップステップＳ１１１とステップＳ１２３の処理により得られる当該画像Ｄに対する鍵Ｋ（＝ＥＩＤ＊Ａ＊ｒ）を演算部３２において計算する（ステップＳ１４２）。こうして得られた鍵ＫをＭＡＣ計算のために用いる。すなわち、ＭＡＣ生成部３５は、ステップＳ１４２で得られた鍵Ｋを用いて、画像検証補助装置１３から送られてきたハッシュ値Ｈに対するＭＡＣ（以下、ＭＡＣ２）を生成する（ステップＳ１４３）。判定部３６はＭＡＣ生成部３５で生成したＭＡＣ２と画像検証補助装置１３より送られてきたＭＡＣとが一致するかどうかを判定する（ステップＳ１４４）。そして、ＭＡＣとＭＡＣ２が一致すれば改竄無し（ステップＳ１４５）、一致しなければ改竄有りと判定する（ステップＳ１４６）。
【００４５】
上記判定の結果は通信部３４を用いて画像検証補助装置１３に送られる（ステップＳ１４７）。画像検証補助装置１３は送られてきた判定結果を表示部４５を用いて表示する（ステップＳ１３５）。例えば、判定部３６において改竄なしと判定された場合には「改変なし」などと表示され、改竄ありと判定された場合には「改変あり」などと表示さる。
【００４６】
なお、秘密情報Ａの設定と、乱数ｒの設定は必ずしも２つ行う必要はなく、秘密情報Ａのみの設定、または乱数ｒのみの生成でも良い。例えば、秘密情報Ａのみのを用いる構成であれば、図１２のステップＳ１２３は不要であり、ステップＳ１２４において鍵Ｋ＝ＥＩＤ＊Ａを用いてＭＡＣが生成されることになる。また、乱数ｒが存在しないので、図１３におけるステップＳ１３２，Ｓ１３４の処理は第１実施形態（図８）のステップＳ８２，Ｓ８４と同様の処理となる。更に、ステップＳ１４２では鍵Ｋ＝Ｋ＊Ａが用いられる。一方、乱数ｒのみであれば、図１１のステップＳ１１１の処理は不要であり、鍵保持部２１にはＥＩＤが鍵Ｋとして保持されることになる。また、図１３のステップＳ１４２の処理では鍵Ｋ＝Ｋ＊ｒが計算されることになる。
【００４７】
なお、上のような秘密情報Ａのみを用いた構成、乱数ｒのみを用いた構成、秘密情報Ａ及び乱数ｒの両方を用いた構成のいずれかに任意に切り替えられるように構成してもよいことは明らかである。
【００４８】
また、上記実施形態では、ＥＩＤ＊Ａにより生成された鍵Ｋを鍵保持部２１に保持するようにしたが、ＭＡＣを生成するたびにＥＩＤ＊ＡあるいはＥＩＤ＊Ａ＊ｒを計算するように構成してもよい。
【００４９】
以上説明したように、第２実施形態によれば、第１実施形態の効果に加えて、秘密情報Ａを利用してＥＩＤを処理して鍵Ｋを生成するので、さらにセキュリティが向上する。また、保護対象のデータ（画像データ）に対する認証情報（ＭＡＣ）を生成する毎に乱数ｒを用いて鍵を変更するのでよりセキュリティを向上させることができる。なお、乱数ｒは画像ごとまたはユーザごとに設定しても良い、さらに、ここではｒは乱数として説明したが、ｒは乱数でなくても撮影ごとまたは画像、ユーザごとに設定できる値であればよい。
【００５０】
＜第３実施形態＞
第１，第２の実施形態ではＭＡＣを用いる場合を説明したが、第３実施形態では公開鍵暗号によるデジタル署名を用いる場合を説明する。システムの構成は第１実施形態（図１）と同様である。また、画像検証補助装置１３の構成は第１実施形態（図４）と同様であるので図示及び説明を省略する。
【００５１】
図１６は第３実施形態による画像生成部１１の構成を示す図である。第１実施形態（図２）と同様の構成には同一の参照番号を付してある。署名生成部１６１はハッシュ生成部２７で生成されたハッシュ値Ｈと鍵保持部２１に保持された鍵データに基づいて署名データを生成する。
【００５２】
図１７は第３実施形態による耐攻撃装置１２の構成を示す図である。第１実施形態（図３）と同様の構成には同一の参照番号を付してある。シード保持部１７１はシード地を保持する。鍵対生成部１７２はシード保持部１７１に保持されたシード値とカメラＩＤを用いて鍵対（公開鍵、秘密鍵）を生成する。署名検証部１７３は、鍵対生成部１７２で生成された公開鍵を用いて署名データを生成する。
【００５３】
図１８は第３実施形態による鍵生成装置１４の構成を示す図である。第１実施形態（図５）と同様の公正には同一の参照番号を付してある。鍵対生成部１８１はシード管理部１８２において管理、保持されているシード値とＩＤ入力部５２を介して入力されたカメラＩＤに基づいて鍵対（公開鍵、秘密鍵）を生成する。シード管理部１８２では、第１実施形態の鍵管理部５１による秘密鍵Ｐの管理と同様に、シード値（所定のビット数の数値）が安全に管理されている。すなわち、シード管理部１８２はパスワードや正当なユーザの生態情報などによってその読み出し等が制限される。そして、シードＳが漏れないように鍵対生成部１８１以外の外部への読み出しが出来ないように構成されている。また、鍵対生成部１２３は公知の公開鍵の鍵対計算法などを用いて鍵対の計算を行うものとする。以下、シード値をシードＳと記す。
【００５４】
以上の構成を備えた第３実施形態のシステムにおける改竄検出処理について図１９〜図２１のフローチャート及び図２２、図２３のデータフロー図を参照して説明する。
【００５５】
図１９は第３実施形態による鍵生成装置１４における鍵生成処理の手順を示すフローチャートである。まず、カメラ毎に異なるカメラＩＤがＩＤ入力部５２を通して入力されると、入力したカメラＩＤは鍵対生成部１８１に送られる（ステップＳ１９１）。鍵対生成部１８１は、シード管理部１８２に保持されているシードＳを用いて、カメラＩＤとの積Ｓ＊ＩＤを計算する（ステップＳ１９２）。そして、鍵対生成部１８１は算出されたＳ＊ＩＤから公開鍵暗号の公開鍵と秘密鍵の鍵対を計算する（ステップＳ１９３）。ステップＳ１９３で計算された鍵対のうちの秘密鍵を画像生成装置１１に通信部５４を用いて送信する（ステップＳ１９４）。送信された秘密鍵は図２２に示されるように、画像生成装置１１の鍵保持部２１に設定される。
【００５６】
図２０は画像生成装置１１における改竄検出のための情報（署名情報）を含んだ画像ファイルの生成処理を説明するフローチャートである。
【００５７】
画像生成装置１１は、画像Ｄを撮像部２５から入力する（ステップＳ２０１）。次に、ハッシュ生成部２７は画像Ｄに対するハッシュ値Ｈを計算する（ステップＳ２０２）。次に、署名生成部１６１は、鍵保持部２１に保持された秘密鍵を用いて、ハッシュ生成部２７で得られたハッシュ値Ｈに対するディジタル署名Ｇを計算する（ステップＳ１５３）。画像ファイル生成部２６は、画像Ｄの画像ファイルに署名生成部１６１で生成された署名ＧとカメラＩＤを添付して画像ファイル２２１を生成する（ステップＳ１５４）。なお、署名生成部１４８におけるディジタル署名生成アルゴリズムとしては、ＲＳＡ暗号などの公知の公開鍵暗号を用いることができる。
【００５８】
次に、上記のごとく生成された画像ファイル（図２２の２２１）に対する、耐攻撃装置１２と画像検証補助装置１３によって実行される改竄検出処理について、図２１及び図２３を用いて説明する。なお、耐攻撃装置（ＩＣカード）１２は、図２３に示すようにシード保持部１７１にシードＳが安全に保持されている。このシードＳは鍵生成装置１４のシード管理部１８２で管理されているシードＳと同じである。なお、シード保持部１７１はシード管理部１８２と同様の構成によって実現できる。また、鍵対生成部１７２も鍵生成装置１４の鍵対生成部１８１と同様の構成によって実現される。さらに、署名検証部１７３は画像生成装置１１の署名生成部１６１に対応する署名検証アルゴリズムが実装されている。
【００５９】
第３実施形態の耐攻撃装置１２及び画像検証補助装置１３による署名検証の手順を図２１のフローチャートに示す。
【００６０】
画像検証補助装置１３は、まず、画像Ｄと署名Ｇ及びカメラＩＤを含む画像ファイルを通信部４１から読み込む（ステップＳ２１１）。次に、画像検証補助装置１３は、読み込んだ画像ファイルを画像ファイル分離部４２によって画像Ｄと署名データＧ及びカメラＩＤに分離する（ステップＳ２１２）。画像検証補助装置１３は画像Ｄからハッシュ生成部４３を用いてハッシュ値Ｈを生成する（ステップＳ２１３）。画像検証補助装置１３は、生成したハッシュ値Ｈと分離したＧ及びカメラＩＤを、通信部４１を介して、耐攻撃装置１２へ送る（ステップＳ２１４）。
【００６１】
耐攻撃装置１２において、鍵対生成部１７２は通信部４４を介して送られてきたカメラＩＤと、シード保持部１７１に保持されているシードＳとを用いてＳ＊ＩＤを計算する（ステップＳ２２１）。そして、鍵対生成部１７２は計算されたＳ＊ＩＤから公開鍵暗号の鍵対を生成する（ステップＳ２２２）。ここで、用いられる鍵対生成アルゴリズムは鍵生成装置１４の鍵対生成部１８１で用いられたものとと同じである。よって、鍵対生成の素となるＳ＊ＩＤが同じであれば、鍵対生成装置１４の鍵対生成部１８１で得られる鍵対と耐攻撃装置１２の鍵対生成部１７２で生成される鍵対は同じとなる。すなわち、耐攻撃装置１２で計算した公開鍵は鍵生成装置１４で計算した秘密鍵と対をなす鍵として生成される。
【００６２】
次に、ステップＳ２２２で生成した公開鍵を用いて、署名検証部１７３は署名Ｇを復号してＨ２を生成する（ステップＳ２２３）。そして、判定部３６は、ステップＳ２２３で生成したＨ２と、画像検証補助装置１３から送られてきたＨとが一致するかを判定する（ステップＳ２２４）。そして、ＨとＨ２が一致すれば改竄無しと判定し（ステップＳ２２５）、一致しなければ改竄有りと判定する（ステップＳ２２６）。
【００６３】
上記判定の結果は通信部３４を用いて画像検証補助装置１３に送られる（ステップＳ２２７）。画像検証補助装置１３は送られてきた判定結果を表示部４５を用いて表示する（ステップＳ２１５）。例えば、判定部３６において改竄なしと判定された場合には「改変なし」などと表示され、改竄ありと判定された場合には「改変あり」などと表示さる。
【００６４】
以上説明した通り、上記の各実施形態によれば、画像生成装置のセキュリティの脆弱性を廃除し、セキュリティ性能が向上する。また、１つのＩＣカードで全カメラの検証データに対応できるシステムを提供できる。
【００６５】
なお、第３実施形態では、署名Ｇを生成するのに秘密鍵を、署名Ｇを検証するのに公開鍵を用いたが、暗号化の場合暗号文Ｇを生成するのに公開鍵を、暗号文Ｇを復号するのに秘密鍵を用いるようにしてもよい。
【００６６】
以上説明したように、第３実施形態によれば、第１実施形態の効果に加えて、保護対象データの改竄検出に、公開鍵暗号を用いたデジタル署名を利用することができる。
【００６７】
＜各種変形例＞
次に、第１乃至第３実施形態に関する変形例を示す。
【００６８】
第１、第２実施形態では、ＭＡＣデータ生成処理を被写体の画像データのみを用いて行ったが、補助パラメータ（例えば、撮影時刻、焦点距離、絞り値、ISO感度、測光モード、画像ファイルサイズ，撮影者情報等）のような画像データのメタデータに相当する情報に対しても画像データと同様の仕組によってＭＡＣデータを生成することができる。従って、画像データと同様のＭＡＣ検証処理を補助パラメータに対しても実現できる。なお、画像データ及びメタデータはどちらも二値のデータ（デジタルデータ）であるので、画像データをメタデータに置き換える、すなわちハッシュ生成部２７への入力を画像データからメタデータに切り替えることによって実現可能であることは明らかである。また、このデータ切り替えは制御手段により実現される。
【００６９】
よって補助パラメータにＭＡＣをつけて検証する場合、図７および図８の処理において画像Ｄを補助パラメータに置き換えればよい。また、ＭＡＣをディジタル署名に替えれば、公開鍵暗号によって補助パラメータの検証ができることは明らかである。
【００７０】
また第１実施形態では、ＭＡＣ検証処理を図１における画像検証補助装置１３（ＰＣ）、耐攻撃装置１２（ＩＣカード）と分離して説明したが、画像検証補助装置１３と耐攻撃装置１２を一体化した検証装置であっても良い。この場合、画像ファイル生成部２６で生成された画像ファイルのみを画像生成装置１１から検証装置に入力することで当該画像の改竄を検証できることになる。また、この場合、図８に示した処理は１つの装置内の処理になり、画像検証補助装置１３と耐攻撃装置１２の区別は必要なくなる。
【００７１】
また、第２実施形態（図１１〜図１３）では新たな鍵の生成演算としてＫ＝Ｋ＊Ｘを用いたが、他の関数を用いてもよい。すなわち、Ｋ＝ｆ（Ｋ，Ｘ）として鍵を算出することができる。例えば、Ｋ＝Ｋ＋Ｘでもよい。
【００７２】
以上の変形は公開鍵暗号による第３の実施形態についても同様に実現可能であることは明らかである。
【００７３】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００７４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７５】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７６】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００７７】
【図１】実施形態における画像検証システムの一構成例を説明する図である。
【図２】第１実施形態における画像生成装置１１の主要な機能構成を説明するブロック図である。
【図３】第１実施形態における耐攻撃装置１２の主要な機能構成を説明するブロック図である。
【図４】第１実施形態における画像検証補助装置１３の主要機能構成を説明するブロック図である。
【図５】第１実施形態における鍵生成装置１４の主要な機能構成を説明するブロック図である。
【図６】第１実施形態における鍵設定処理を説明するフローチャートである。
【図７】第１実施形態におけるＭＡＣ生成処理を説明するフローチャートである。
【図８】第１実施形態におけるＭＡＣ検証処理を説明するフローチャートである。
【図９】図６と図７のフローチャートに示された処理で使用、生成されるデータ及びその流れを説明するための図である。
【図１０】図８のフローチャートに示された処理で使用、生成されるデータ及びその流れを説明するための図である。
【図１１】第２実施形態における鍵設定処理を説明するフローチャートである。
【図１２】第２実施におけるＭＡＣ生成処理を説明するフローチャートである。
【図１３】第２実施形態におけるＭＡＣ検証処理を説明するフローチャートである。
【図１４】図１１と図１２のフローチャートに示された処理で使用、生成されるデータ及びその流れを説明するための図である。
【図１５】図１３のフローチャートに示された処理で使用、生成されるデータ及びその流れを説明するための図である。
【図１６】第３実施形態における画像生成装置１１の主要な機能構成を説明するブロック図である。
【図１７】第３実施形態における耐攻撃装置１２の主要な機能構成を説明するブロック図である。
【図１８】第３実施形態における鍵生成装置１４の主要な機能構成を説明するブロック図である。
【図１９】第３実施形態における鍵設定処理を説明するフローチャートである。
【図２０】第３実施形態における署名生成処理を説明するフローチャートである。
【図２１】第３実施形態における署名検証処理を説明するフローチャートである。
【図２２】図１９と図２０のフローチャートに示された処理で使用、生成されるデータ及びその流れを説明するための図である。
【図２３】図２１のフローチャートに示された処理で使用、生成されるデータ及びその流れを説明するための図である。
【図１】
2006237860.tif 000003
【図２】
2006237860.tif 000004
【図３】
2006237860.tif 000005
【図４】
2006237860.tif 000006
【図５】
2006237860.tif 000007
【図６】
2006237860.tif 000008
【図７】
2006237860.tif 000009
【図８】
2006237860.tif 000010
【図９】
2006237860.tif 000011
【図１０】
2006237860.tif 000012
【図１１】
2006237860.tif 000013
【図１２】
2006237860.tif 000014
【図１３】
2006237860.tif 000015
【図１４】
2006237860.tif 000016
【図１５】
2006237860.tif 000017
【図１６】
2006237860.tif 000018
【図１７】
2006237860.tif 000019
【図１８】
2006237860.tif 000020
【図１９】
2006237860.tif 000021
【図２０】
2006237860.tif 000022
【図２１】
2006237860.tif 000023
【図２２】
2006237860.tif 000024
【図２３】
2006237860.tif 000025