(57)【要約】      （修正有）【課題】電子透かしを用いることなく、デジタル画像の信憑性を向上させる。【解決手段】映像入力端末１の秘密鍵生成手段７が、事前に秘密鍵を生成し、映像認証サーバに送信しておく。復号手段１１・変換手段１２が、撮影されたＪＰＥＧ画像列にエントロピー復号を施して量子化後ＤＣＴ係数を取得し、該ＤＣＴ係数をビット列に変換する。認証符号生成手段１５〜１７が、前記各ＪＰＥＧ画像のヘッダー内に存在するＡＰＰ２，存在すればＡＰＰ１，前記ビット列のそれぞれの内容に対する前記認証符号を生成する。保存手段１９が、前記各認証符号を各ＪＰＥＧ画像のヘッダー内のコメントセグメントに保存する。この保存後にＪＰＥＧ画像列を、送信手段２０を通じて映像認証サーバに送信し、改ざんの有無を検出する。【選択図】図１
2010251873.tif 000002
【特許請求の範囲】
【請求項１】
撮影手段をもって撮影されたＪＰＥＧ画像に改ざんを検出するための認証符号を埋め込む方法であって、
秘密鍵生成手段が、入力されたパスワードの文字列および該パスワードの入力時刻からＳＨＡ−１ハッシュ関数を用いて秘密鍵を生成する秘密鍵生成ステップと、
復号変換手段が、前記撮影手段で撮影されたＪＰＥＧ画像にエントロピー復号を施して量子化後ＤＣＴ係数を取得し、該ＤＣＴ係数をビット列に変換する復号変換ステップと、
認証符号生成手段が、前記ＪＰＥＧ画像のヘッダー内に存在するアプリケーション用のデータセグメント２（ＡＰＰ２），該ヘッダー内に存在する場合は同データセグメント１（ＡＰＰ１），前記ビット列のそれぞれの内容に対する前記認証符号を、乱数発生手段で得た乱数および前記秘密鍵を用いた暗号化を利用して生成する埋め込み側認証符号生成ステップと、
保存手段が、前記各認証符号をＪＰＥＧ画像のヘッダー内のコメントセグメントに保存する認証符号保存ステップと、
を有することを特徴とする改ざん検出用認証符号の埋め込み方法。
【請求項２】
請求項１に記載の埋め込み方法をもって改ざん検出用認証符号が埋め込まれたＪＰＥＧ画像の改ざんを検出する方法であって、
前記秘密鍵生成ステップで生成された前記秘密鍵を事前に取得し、該秘密鍵をデータベースに保存する秘密鍵保存ステップと、
秘密鍵取得手段が、入力されたＪＰＥＧ画像の改ざんを検出するときに前記データベースを検索し、検出対象のＪＰＥＧ画像に応じた前記秘密鍵を取得する秘密鍵取得ステップと、
解析手段が、検出対象のＪＰＥＧ画像のヘッダー内のコメントセグメントを解析し、該コメントセグメントに保存された前記各認証符号を取得する解析ステップと、
復号変換手段が、検出対象のＪＰＥＧ画像にエントロピー復号を施して量子化後ＤＣＴ係数を取得し、該ＤＣＴ係数をビット列に変換する復号変換ステップと、
認証符号生成手段が、検出対象のＪＰＥＧ画像のヘッダー内に存在するアプリケーション用のデータセグメント２（ＡＰＰ２），該ヘッダー内に存在する場合は同データセグメント１（ＡＰＰ１），前記ビット列のそれぞれの内容に対する認証符号を、前記埋め込み側認証符号生成ステップと同様に生成する検出側認証符号生成ステップと、
改ざん判別手段が、前記解析ステップで取得した各認証符号と前記検出側認証符号生成ステップで生成した各認証符号とを比較し、比較結果が同一であれば改ざん無しの判別結果を示す一方、比較結果に相違があれば改ざん有りの判別結果を示す改ざん判別ステップと、
を有することを特徴とする改ざん検出方法。
【請求項３】
撮影手段をもって撮影されたＪＰＥＧ画像に改ざんを検出するための認証符号を埋め込む装置であって、
入力されたパスワードの文字列および該パスワードの入力時刻からＳＨＡ−１ハッシュ関数を用いて秘密鍵を生成する秘密鍵生成手段と、
前記撮影手段で撮影されたＪＰＥＧ画像にエントロピー復号を施して量子化後ＤＣＴ係数を取得し、該ＤＣＴ係数をビット列に変換する復号変換手段と、
前記ＪＰＥＧ画像のヘッダー内に存在するアプリケーション用のデータセグメント２（ＡＰＰ２），該ヘッダー内に存在する場合は同データセグメント１（ＡＰＰ１），前記ビット列のそれぞれの内容に対する前記認証符号を、乱数発生手段で得た乱数および前記秘密鍵を用いた暗号化を利用して生成する埋め込み側認証符号生成手段と、
前記各認証符号をＪＰＥＧ画像のヘッダー内のコメントセグメントに保存する保存手段と、
を備えることを特徴とする改ざん検出用認証符号の埋め込み装置。
【請求項４】
請求項３に記載の埋め込み装置をもって改ざん検出用認証符号が埋め込まれたＪＰＥＧ画像の改ざんを検出する装置であって、
前記秘密鍵生成手段で生成された前記秘密鍵を事前に取得し、該秘密鍵を保存しておく秘密鍵データベースと、
入力されたＪＰＥＧ画像の改ざんを検出するときに前記データベースを検索し、検出対象のＪＰＥＧ画像に応じた前記秘密鍵を取得する秘密鍵取得手段と、
検出対象のＪＰＥＧ画像のヘッダー内のコメントセグメントを解析し、該コメントセグメントに保存された前記各認証符号を取得する解析手段と、
検出対象のＪＰＥＧ画像にエントロピー復号を施して量子化後ＤＣＴ係数を取得し、該ＤＣＴ係数をビット列に変換する復号変換手段と、
検出対象のＪＰＥＧ画像のヘッダー内に存在するアプリケーション用のデータセグメント２（ＡＰＰ２），該ヘッダー内に存在する場合は同データセグメント１（ＡＰＰ１），前記ビット列のそれぞれに対する認証符号を、前記埋め込み側認証符号生成手段と同様に生成する検出側認証符号生成手段と、
前記解析手段の取得した各認証符号と前記検出側認証符号生成手段の生成した各認証符号との比較結果から改ざんの有無を示す改ざん判別手段と、を備え、
前記判別手段は、比較結果が同一であれば改ざん無しの判別結果を示す一方、比較結果に相違があれば改ざん有りの判別結果を示す
ことを特徴とする改ざん検出装置。
【請求項５】
請求項３記載の改ざん検出用認証符号の埋め込み装置の各手段として、コンピュータを機能させるためのプログラム。
【請求項６】
請求項４記載の改ざん検出装置の各手段として、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、本発明はデジタル画像の処理技術に関し、特にデジタル画像に改ざん検出用認証符号を埋め込んで、該デジタル画像の改ざんを検出する技術に関する。
【背景技術】
【０００２】
近年、デジタルカメラやカメラ付き携帯電話機の普及により、誰もが手軽にデジタル写真を撮影できるようになった。このデジタルカメラなどには動画を撮影・保存できる機種も存在し、動画も手軽に撮影できるようになっている。
【０００３】
デジタルカメラ、特にカメラ付き携帯電話機は手軽に撮影可能なため、これを用いて撮影したデジタル映像（画像列）を動産担保の証拠としたり、交通事故の証拠としたり、建築現場での工程証明としたり、ゴミ処理場で正しく処理した証明としたりしたいというニーズがある。また、デジタルカメラではないが類似するものとしてはドライブレコーダーがあり、撮影された映像は交通事故の参考証拠として用いられる。
【０００４】
ところが、デジタル映像は編集が容易であるという性質があるために、改ざんされていないかを証明するのが難しく、法律上は参考証拠に留まっており、決定的な証拠にはなり得ないおそれがある。そこで、証拠性を高めるために、デジタル映像のフレーム画像に電子透かしを付加し、電子透かしが壊れずに入っているか否かで信憑性を高める技術が特許文献１で提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−３０８９４３
【非特許文献】
【０００６】
【非特許文献１】“ＳＥＣＵＲＥ  ＨＡＳＨ  ＳＴＡＮＤＡＲＤ”，Ｆｅｄｅｒａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｔａｎｄａｒｄｓ  Ｐｕｂｌｉｃａｔｉｏｎ  １８０−２，Ａｕｇｕｓｔ  １  ２００２
【非特許文献２】青木和麻呂他著  ”１２８ビットブロック暗号Ｃａｍｅｌｌｉａアルゴリズム仕様書  第２．０版”  日本電信電話株式会社，三菱電機株式会社，２００１年９月２６日
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の方法では、量子化係数のゼロラン部直前に値の大きな透かしデータを埋め込むため、透かし埋め込みによる画質劣化が大きくなるおそれがある。このように画質劣化が大きいと証拠としての信憑性が下がるため望ましくない
本発明は、上述のような従来技術の問題点を解決するためになされたものであり、電子透かしを用いることなく、デジタル画像の信憑性を向上させることを解決課題とする。
【課題を解決するための手段】
【０００８】
そこで、本発明は、電子透かしの代わりにデジタル画像に改ざん検出用の認証符号を埋め込んで、該デジタル画像の真性度を保証する。具体的には、本発明の改ざん検出用認証符号の埋め込み方法は、秘密鍵生成手段が、入力されたパスワードの文字列および該パスワードの入力時刻からＳＨＡ−１ハッシュ関数を用いて秘密鍵を生成する秘密鍵生成ステップと、復号変換手段が、撮影手段で撮影されたＪＰＥＧ画像にエントロピー復号を施して量子化後ＤＣＴ係数を取得し、該ＤＣＴ係数をビット列に変換する復号変換ステップと、認証符号生成手段が、前記ＪＰＥＧ画像のヘッダー内に存在するアプリケーション用のデータセグメント２（ＡＰＰ２），該ヘッダー内に存在する場合は同データセグメント１（ＡＰＰ１），前記ビット列のそれぞれの内容に対する前記認証符号を、乱数発生手段で得た乱数および前記秘密鍵を用いた暗号化を利用して生成する埋め込み側認証符号生成ステップと、保存手段が、前記各認証符号をＪＰＥＧ画像のヘッダー内のコメントセグメントに保存する認証符号保存ステップと、を有する。
【０００９】
本発明の改ざん検出方法は、前記秘密鍵生成ステップで生成された前記秘密鍵を事前に取得し、該秘密鍵をデータベースに保存する秘密鍵保存ステップと、秘密鍵取得手段が、入力されたＪＰＥＧ画像の改ざんを検出するときに前記データベースを検索し、検出対象のＪＰＥＧ画像に応じた前記秘密鍵を取得する秘密鍵取得ステップと、解析手段が、検出対象のＪＰＥＧ画像のヘッダー内のコメントセグメントを解析し、該コメントセグメントに保存された前記各認証符号を取得する解析ステップと、復号変換手段が、検出対象のＪＰＥＧ画像にエントロピー復号を施して量子化後ＤＣＴ係数を取得し、該ＤＣＴ係数をビット列に変換する復号変換ステップと、認証符号生成手段が、検出対象のＪＰＥＧ画像のヘッダー内に存在するアプリケーション用のデータセグメント２（ＡＰＰ２），該ヘッダー内に存在する場合は同データセグメント１（ＡＰＰ１），前記ビット列のそれぞれの内容に対する認証符号を、前記埋め込み側認証符号生成ステップと同様に生成する検出側認証符号生成ステップと、改ざん判別手段が、前記解析ステップで取得した各認証符号と前記検出側認証符号生成ステップで生成した各認証符号とを比較し、比較結果が同一であれば改ざん無しの判別結果を示す一方、比較結果に相違があれば改ざん有りの判別結果を示す改ざん判別ステップと、を有する。
【００１０】
本発明の改ざん検出用認証符号の埋め込み装置は、入力されたパスワードの文字列および該パスワードの入力時刻からＳＨＡ−１ハッシュ関数を用いて秘密鍵を生成する秘密鍵生成手段と、撮影手段で撮影されたＪＰＥＧ画像にエントロピー復号を施して量子化後ＤＣＴ係数を取得し、該ＤＣＴ係数をビット列に変換する復号変換手段と、前記ＪＰＥＧ画像のヘッダー内に存在するアプリケーション用のデータセグメント２（ＡＰＰ２），該ヘッダー内に存在する場合は同データセグメント１（ＡＰＰ１），前記ビット列のそれぞれの内容に対する前記認証符号を、乱数発生手段で得た乱数および前記秘密鍵を用いた暗号化を利用して生成する埋め込み側認証符号生成手段と、前記各認証符号をＪＰＥＧ画像のヘッダー内のコメントセグメントに保存する保存手段と、を備える。
【００１１】
本発明の改ざん検出装置は、前記秘密鍵生成手段で生成された前記秘密鍵を事前に取得し、該秘密鍵を保存しておく秘密鍵データベースと、入力されたＪＰＥＧ画像の改ざんを検出するときに前記データベースを検索し、検出対象のＪＰＥＧ画像に応じた前記秘密鍵を取得する秘密鍵取得手段と、検出対象のＪＰＥＧ画像のヘッダー内のコメントセグメントを解析し、該コメントセグメントに保存された前記各認証符号を取得する解析手段と、検出対象のＪＰＥＧ画像にエントロピー復号を施して量子化後ＤＣＴ係数を取得し、該ＤＣＴ係数をビット列に変換する復号変換手段と、検出対象のＪＰＥＧ画像のヘッダー内に存在するアプリケーション用のデータセグメント２（ＡＰＰ２），該ヘッダー内に存在する場合は同データセグメント１（ＡＰＰ１），前記ビット列のそれぞれに対する認証符号を、前記埋め込み側認証符号生成手段と同様に生成する検出側認証符号生成手段と、前記解析手段の取得した各認証符号と前記検出側認証符号生成手段の生成した各認証符号との比較結果から改ざんの有無を示す改ざん判別手段と、を備え、前記判別手段は、比較結果が同一であれば改ざん無しの判別結果を示す一方、比較結果に相違があれば改ざん有りの判別結果を示す。
【００１２】
なお、本発明は、前記各装置としてコンピュータを機能させるためのプログラムに構成することもできる。このプログラムは、コンピュータの読取可能な記録媒体に記録して提供することができる。
【発明の効果】
【００１３】
本発明によれば、デジタル画像の真正度が保証されることから、その信憑性が向上する。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係る映像入力端末の構成図。
【図２】同  映像認証サーバの構成図。
【図３】同  秘密鍵等通信ステージのフローチャート。
【図４】図１の映像入力端末の秘密鍵生成を示す概略図。
【図５】同  秘密鍵生成のフローチャート。
【図６】同  秘密鍵等通信データの概略図。
【図７】同  符号付加ステージのフローチャート。
【図８】同  アプリケーションデータセグメント２（ＡＰＰ２）のフォーマット例。
【図９】同  アプリケーションデータセグメント１（ＡＰＰ１）のフォーマット例。
【図１０】同  量子化後ＤＣＴ係数の一例を示す図。
【図１１】同  ＤＣＴ係数の変換例を示す図。
【図１２】同  ５１２×Ｎビット列を示す図。
【図１３】同  １２８ビットの乱数を発生させる処理を示す概略図。
【図１４】同  アプリケーションデータセグメント２（ＡＰＰ２）のグループ分けを示す模式図。
【図１５】同  アプリケーションデータセグメント２（ＡＰＰ２）データ認証符号の生成を示す模式図。
【図１６】同  コメントセグメントのフォーマット例。
【図１７】図２の映像認証サーバの秘密鍵選択処理の概略図。
【図１８】同  秘密鍵選択処理のフローチャート。
【発明を実施するための形態】
【００１５】
本発明は、改ざん検出用認証符号をＪＰＥＧ画像に付加する埋め込み装置と、前記認証符号を付加されたＪＰＥＧ画像の改ざんを検出する検出装置とをコンビネーションとして利用する。
【００１６】
図１は前記埋め込み装置の構成例を示し、図２は前記検出装置の構成例を示している。ここでは前記埋め込み装置は映像入力端末１に応用されている一方、前記検出装置は映像認証サーバ２に応用されている。この両装置１．２は、インターネット経由で接続された改ざん検出システムを構成する。このシステムでは映像（Ｍｏｔｉｏｎ  ＪＰＥＧ）を検出対象データとする。以下、前記各装置１．２を説明する。
【００１７】
≪映像入力端末≫
前記映像入力端末１は、カメラ付携帯電話により構成され、該携帯電話のカメラ、即ち映像取得手段３で撮影された映像のフレーム画像列に改ざん検出用データ認証符号を付加する。ここでは付加する対象のフレーム画像は、前記映像取得手段２から出力後にＪＰＥＧ符号化されているものとする（以下、フレーム画像をＪＰＥＧ画像という。）。なお、前記映像入力端末１は、インターネット経由で同期する時計４と、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）５とを内蔵している。
【００１８】
具体的には、前記映像入力端末１は、ハードウェアリソース（例えば画像処理プロセッサなど）とソフトウェアリソース（ＯＳ，アプリケーション）との協働の結果、図１に示すように、パスフレーズ入力手段６，秘密鍵生成手段７，ＳＨＡ−１ハッシュ値算出手段８，端末固有番号取得手段９，秘密鍵と端末固有番号送信手段１０，ＪＰＥＧエントロピー復号化手段１１，量子化後ＤＣＴ係数ビット列変換手段１２，１２８ビット乱数発生手段１３，ｃａｍｅｌｌｉａ暗号化手段１４，データ認証符号生成手段１５〜１７，アプリケーションデータセグメント２保存手段１８，データ認証符号コメントセグメント保存手段１９，映像送信手段２０として機能する。
【００１９】
前記各手段６〜９は、前記ＪＰＥＧ画像に付加するデータ認証符号の暗号化に利用する秘密鍵を生成し、該秘密鍵と前記映像入力端末１の端末固有番号とを、前記送信手段１０を通じて前記映像認証サーバ２に送信する（秘密鍵等通信ステージ）。
【００２０】
一方、前記各手段１１〜１９は、前記秘密鍵を利用して前記データ認証符号を生成し、該データ認証符号をＪＰＥＧ画像に付加する（符号付加ステージ）。ここでデータ認証符号を付加されたＪＰＥＧ画像列は、前記映像送信手段２０を通じて前記映像認証サーバ２に送信される。なお、前記送信手段１０．２０は、兼用してもよいものとする。以下、各ステージの具体的な処理内容を説明する。
【００２１】
（１）秘密鍵等通信ステージ
秘密鍵等通信ステージは、事前準備として前記映像取得手段２で映像を撮影する以前に実行されるものとする。この処理内容を図３のフローチャートに基づき説明する。
【００２２】
Ｓ０１：前記秘密鍵生成手段７が、図４に示すように、１２８ビットの秘密鍵を生成する。すなわち、前記秘密鍵７生成手段７は、ユーザ入力のパスフレーズ（パスワードの文字列）と前記端末内時計４の出力した時刻情報とをビット列結合する。これに基づき前記ハッシュ値算出手段８が、ＳＨＡ−１ハッシュ関数によるハッシュ値（１６０ｂｉｔｓ）を算出する。このとき前記秘密鍵生成手段７は、前記ハッシュ値の上位１２８ｂｉｔを秘密鍵として選択する。
【００２３】
詳細な処理を図５のフローチャートに基づき説明する。まず、前記秘密鍵生成手段７は、前記入力手段６をもって端末操作者が無作為に入力（Ｓ１１）したパスフレーズを取得する。ここでは前記入力手段６に携帯電話の操作ボタン（キー）などを用いる。
【００２４】
つぎに、前記端末内時計４から出力された前記パスフレーズの入力時刻情報を取得する（Ｓ１２）。この後に前記パスフレーズと前記端末内時計４の出力値（時刻情報）とを統合する（Ｓ１３）。ここでは前記パスフレーズを２進数表記したＰＦと前記時刻情報を２進数表記したＤをこの順に並べて連結したビット列Ｓとする。
【００２５】
そして、前記ハッシュ値算出手段８が、ビット列ＳのＳＨＡ−１ハッシュ関数によるハッシュ値を算出する（Ｓ１４）。このＳＨＡ−１ハッシュ関数は、例えば非特許文献１のものを用いる。なお、算出されたハッシュ値は前記乱数発生手段１３にも伝送される。
【００２６】
ここで算出されたＳＨＡ−１ハッシュ値は、１６０ビット長であるので、前記秘密鍵生成手段７は、その上位１２８ビット長を切り出して（Ｓ１５）、秘密鍵Ｃkeyを生成する（Ｓ１６）。生成された秘密鍵Ｃkeyは、前記送信手段１０および前記暗号化手段１４に伝送される。
【００２７】
Ｓ０２：端末固有番号取得手段９は、映像入力端末１に一意に割り振られている端末固有番号Ｉを取得する。ここで取得された端末固有番号Ｉは前記送信手段１０に伝送される。
【００２８】
Ｓ０３〜Ｓ０６：前記送信手段１０に伝送された前記秘密鍵Ｃkeyおよび前記端末固有番号Ｉは、図６に示すように、ＨＴＴＰＳプロトコルを用いて前記映像認証サーバ２に送信される（Ｓ０３）。ここでは前記秘密Ｃkeyは、端末操作者に開示されることなく、前記映像認証サーバ２に送信されるものとする。
【００２９】
なお、前記映像認証サーバ２は、受信した前記秘密鍵Ｃkey・前記端末固有番号Ｉ・受信時刻をペアにしたレコードを秘密鍵データベース２７に保存する（Ｓ０４〜Ｓ０６）。ここまでの処理ステップを、前記映像取得手段３の撮影前に完了しておくものとする。
【００３０】
（２）符号付加ステージ
符号付加のステージは、前記映像取得手段２で対象の映像を撮影し、該映像を構成するフレーム画像をＪＰＥＧ符号化した後に実行される。この処理ステップを図７のフローチャートに基づき説明する。
【００３１】
Ｓ２１：前記映像取得手段２にて対象を撮影すると、前記保存手段１８は端末内時計４から撮影時刻Ｔｉを取得する。また、前記端末内ＧＰＳ５から映像を撮影した際の緯度経度情報を取得する。ここでは併せて前記端末固有番号Ｉも取得するものとする。
【００３２】
このとき前記保存手段１８は、これら時刻Ｔｉと緯度経度情報Ｐと端末固有番号Ｉとを２進数で表現し、これを撮影した映像を構成するＪＰＥＧ画像データのヘッダー内のアプリケーションデータセグメント２（ＡＰＰ２）に保存する。保存の際はアプリケーションデータセグメント２（ＡＰＰ２）を表すマーカー０ｘＦＦＥ２に続き、データ長、データＴｉ＋Ｐ＋Ｉを連結したビット列の形式を用いる。アプリケーションデータセグメント２（ＡＰＰ２）のフォーマット例を図８に示す。
【００３３】
また、ＪＰＥＧ画像によっては、ヘッダー内のアプリケーションデータセグメント１（ＡＰＰ１）に、画像の付加情報を記録するＥｘｉｆファイルフォーマット情報を持つ場合がある。ＪＰＥＧ画像データのヘッダー内にアプリケーションデータセグメント１（ＡＰＰ１）が存在する場合、前記保存手段１８は、それが存在する旨を記憶しておく。アプリケーションデータセグメント１（ＡＰＰ１）のフォーマット例を図９に示す。
【００３４】
Ｓ２２：ＪＰＥＧエントロピー復号手段１１にて、撮影した映像の各ＪＰＥＧ画像をエントロピー復号し、Ｙ（輝度信号），Ｃｂ（青系統の色相・彩度を表す信号），Ｃｒ（赤系統の色相・彩度を表す信号）の色成分毎の各ＤＣＴブロックについて量子化後のＤＣＴ係数を取得する。量子化後は各ＤＣＴブロック内には前記ＤＣＴ係数が６４個存在し、図１０に示すように、８×８のマトリックス状に配列される。
【００３５】
Ｓ２３：前記変換手段１２が、前記ＤＣＴ係数１個を８ビットの２進数で表現し、８×８のマトリックスのラスタースキャン順に並べ、図１１に示すように、前記ＤＣＴブロック１個につき５１２ビットのビット列を得る。ここでＹ，Ｃｂ，Ｃｒの各色成分のＤＣＴブロックに対応するビット列をこの順番に並べる。このときＪＰＥＧ映像中の全ＤＣＴブロックの個数をＮ個とすると、図１２に示すように、５１２×Ｎビットのビット列Ｌが得られる。
【００３６】
Ｓ２４：前記データ認証符号を生成する。すなわち、ＪＰＥＧ画像のアプリケーションデータセグメント２（ＡＰＰ２）のデータ内容、存在する場合はアプリケーションデータセグメント１（ＡＰＰ１）のデータ内容、およびビット列Ｌのデータ内容が改ざんを受けているか否かを検出するため、それぞれのデータ内容に応じた前記データ認証符号を利用する。このデータ認証符号は、データ内容が異なっていれば異なった符号値となる性質を持つように生成される。この生成方法を以下に述べる。
【００３７】
前記データ認証符号の生成には、前記乱数発生手段１３を用いる。この乱数発生手段１３では、前記映像入力端末１と前記映像認証サーバ２とが秘密裏に共有する乱数の種５を使用する。図１３に基づき乱数発生手順を説明すれば、まず乱数の種５をカウンターに代入する。つぎに、代入されたカウンター値のＳＨＡ−１ハッシュ関数によるハッシュ値を計算する。ここでＳＨＡ−１ハッシュ値は１６０ビット長であるので、その上位１２８ビット長を切り出して１２８ビット乱数Ｒ1とする。次の乱数Ｒ2を発生させる場合は前記カウンター値を１増やした後に該カウンター値のＳＨＡ−１ハッシュ関数によるハッシュ値を計算する。ここでハッシュ値の上位１２８ビット長を切り出したものがＲ2となる。Ｒ3以降の乱数を発生させる場合はカウンター値をさらに１増加させて同様の処理を行う。この１２８ビット乱数発生手順によれば、乱数の種５が同じであれば、他の１２８ビット乱数発生手段でも同じ系列の乱数列が得られる。
【００３８】
ここで前記暗号化手段１４が、１２８ビットブロック暗号Ｃａｍｅｌｌｉａ（非特許文献２）を用いて、ビット列ｘを前記秘密鍵Ｃkeyにより暗号化することをＣ（ｘ）と表記するものとする。１２８ビットブロック暗号は、１２８ビットの平文を秘密鍵Ｃkeyを用いて１２８ビットの暗号文に変換する機能を持つ。
【００３９】
前記認証符号生成手段１５は、前記アプリケーションデータセグメント２（ＡＰＰ２）のデータ内容に対するデータ認証符号Ａｓ2を生成する。この生成には前記乱数発生手段１３で生成した乱数Ｒ1と、前記暗号化手段１４の前記秘密鍵Ｃkeyを用いたＣａｍｅｌｌｉａ暗号化Ｃ（ｘ）とを利用する。生成方法を以下に示す。
【００４０】
すなわち、マーカー０ｘＦＦＥ２とデータ長を含まないアプリケーションデータセグメント２（ＡＰＰ２）のデータ内容（Ｔｉ＋Ｐ＋Ｉ）を、１２８ビットずつのグループＧ２k（ｋ＝１，２，…，ｐ）に分ける。ここでｐは、グループの個数を示す。最後に１２８ビットに満たないグループができた場合は、図１４に示すように、１２８ビットになるように下位に必要個数の０を付加して１２８ビットとする。暗号化ブロックＥ２k（ｋ＝０，１，２，…，ｐ）を次式の様に定義する。
【００４１】
Ｅ２k＝１２８ビット乱数Ｒ1，ｋ＝０
Ｅ２k＝Ｃ（Ｅ２k-1  ｘｏｒ  Ｇ２k），ｋ＞０
Ｅ２pの値を、図１５に示すように、データ認証符号Ａｓ2と定義する。
【００４２】
前記認証符号生成手段１６は、Ｓ２１で前記アプリケーションデータセグメント１（ＡＰＰ１）の存在を記憶した場合、前記データ認証符号Ａｓ2の生成後に該データセグメント１（ＡＰＰ１）のデータ内容に対するデータ認証符号Ａｓ1を生成する。生成方法は前記データ認証符号Ａｓ2と同様とする。ただし、乱数は乱数Ｒ2を利用する。
【００４３】
具体的には、マーカー０ｘＦＦＥ１とデータ長を含まないアプリケーションデータセグメント１（ＡＰＰ１）１のデータ内容（Ｅｘｉｆ情報）を、１２８ビットずつのグループＧ１k（ｋ＝１，２，…，ｑ）に分ける。ここでｑは、グループの個数を示す。最後に１２８ビットに満たないグループができた場合は１２８ビットになるように下位に必要個数の０を付加して１２８ビットとする。暗号化ブロックＥ１k（ｋ＝０，１，２，…，ｑ）を次式の様に定義する。
【００４４】
Ｅ１k＝１２８ビット乱数Ｒ2，ｋ＝０
Ｅ１k＝Ｃ（Ｅ１k-1  ｘｏｒ  Ｇ１k），ｋ＞０
Ｅ１qの値をデータ認証符号Ａｓ1と定義する。アプリケーションデータセグメント１（ＡＰＰ１）が無い場合（Ｓ２１でＡＰＰ１の存在を記憶しなかった場合）は、乱数Ｒ2のみを生成し、データ認証符号Ａｓ1は生成しない。
【００４５】
前記認証符号生成手段１７は、前記データ認証符号Ａｓ1の生成後（前記ＡＰＰ１が無い場合は前記乱数Ｒ2の生成後）にＳ２３で取得した前記ビット列Ｌのデータ内容に対するデータ認証符号ＡＬを生成する。すなわち、ビット列Ｌを１２８ビットずつのグループＧＬk（ｋ＝１，…，４Ｎ）に分ける。暗号化ブロックＥＬk（ｋ＝０，１，…，４Ｎ）を次式のように定義する。
【００４６】
ＥＬk＝１２８ビット乱数Ｒ3，ｋ＝０
ＥＬk＝Ｃ（ＥＬk-1  ｘｏｒ  ＧＬk），ｋ＞０
ＥＬ4Nの値をデータ認証符号ＡＬと定義する。
【００４７】
Ｓ２５．Ｓ２６：前記保存手段１９では、Ｓ２４のデータ認証符号生成方法で得られたデータ認証符号Ａｓ2．あればデータ認証符号Ａｓ1．データ認証符号ＡＬをその順に並べて連結し、ＪＰＥＧ画像のヘッダーのコメントセグメントに保存する（Ｓ２５）。コメントセグメントは、マーカー０ｘＦＦＦＥで始まり、データ長、データの順に配置する。データフォーマットを、図１６に示す。コメントセグメントのヘッダー内の位置は任意でよい。
【００４８】
前記映像入力端末１は、前記映像送信手段２０を通じて、コメントセグメントに前記各データ認証符号を収めたＪＰＥＧ画像列を映像認証サーバに送信する（Ｓ２６）。映像認証サーバ２では受信したＪＰＥＧ画像列の映像を映像データベース２９に保存する。
【００４９】
≪映像認証サーバ≫
つぎに、映像を構成するＪＰＥＧ画像列の改ざんを検出する前記映像認証サーバ２について説明する。前記映像認証サーバ２は、ウェブサーバにより構成され、例えばＣＰＵ，メモリ（ＲＡＭ），ハードディスクドライブ装置，通信デバイス，内蔵時計２６などのハードウェアリソースを備える。このハードウェアリソースとソフトウェアリソース（ＯＳ，アプリケーション）との協働の結果、図２に示すように、秘密鍵と端末固有番号受信手段２５，秘密鍵データベース２７，映像受信手段２８，映像データベース２９，アプリケーションセグメント２解析手段３０，秘密鍵取得手段３１，コメントセグメント解析手段３２，ＪＰＥＧエントロピー復号手段３３，量子化後ＤＣＴ係数ビット列変換手段３４，データ認証符号生成手段３５〜３７，１２８ビット乱数発生手段３８，ＳＨＡ−１ハッシュ値算出手段３９，Ｃａｍｅｌｌｉａ暗号化手段４０，改ざん有無の判別手段４１として機能する。
【００５０】
すなわち、前記各受信手段２５．２８は、前記通信デバイスを通じて実現され、前記各データベース２７．２９は、前記ハードディスクドライブ装置に構築されている。このうち前記秘密鍵データベース２７には、Ｓ０４〜Ｓ０６で述べたように前記秘密鍵Ｃkey・前記端末固有番号Ｉ・前記時計２６から取得した受信時刻Ｔｒをペアにしたレコードが保存されている。また、前記映像データベース２９には、映像を構成するＪＰＥＧ画像列が保存されている。なお、前記各手段３８〜４０は前記映像入力端末１の手段８．１３．１４と同種のものとする。
【００５１】
前記映像認証サーバ２の改ざん検出処理手順を説明すれば、まず前記解析手段３０が前記映像データベース２９にアクセスして、改ざんを検出する対象のＪＰＥＧ画像列を読み込む。このとき読み込んだＪＰＥＧ画像のアプリケーションデータセグメント２（ＡＰＰ２）を解析し、該セグメント内に配置された映像入力時刻Ｔｉと端末固有番号Ｉとを取得する。なお、前記解析手段３０は、アプリケーションデータセグメント１（ＡＰＰ１）がＪＰＥＧ画像のヘッダー内に存在するときにはその存在を記憶しておくものとする。
【００５２】
また、前記秘密鍵取得手段３１が前記秘密鍵データベース２７内を検索し、前記解析手段３０の取得した端末固有番号Ｉに一致するレコードのうち、「秘密鍵受信時刻Ｔｒ＜映像入力時刻Ｔｉ」の条件を満たし、かつ最新の受信時刻Ｔｒのレコードを取得する。取得したレコードから、図１７に示すように、秘密鍵Ｃkeyを取り出す。
【００５３】
ここまでの処理内容を図１８のフローチャートに基づき説明すれば、前記解析手段３０が、ＪＰＥＧヘッダーのアプリケーションデータセグメント２（ＡＰＰ２）を解析し（Ｓ３１）、装置ＩＤ（端末固有番号Ｉ）と映像入力時刻Ｔｉとを取得する（Ｓ３２．Ｓ３３）。この取得後に前記秘密鍵取得手段３１が、前記秘密鍵データベース２７内を検索し、装置ＩＤ（端末固有番号Ｉ）のレコード群を取得する（Ｓ３４）。ここで取得したレコード群のうち、秘密鍵受信時刻Ｔｒ＜映像入力時刻Ｔｉの条件下で、最も新しい受信時刻Ｔｒのレコードを選択して取得する（Ｓ３６）。取得したレコードから秘密鍵Ｃkeyを取得する（Ｓ３７）。もし、前記秘密鍵データベース２７にレコードが保存されていない場合、あるいは最新のレコードが無い場合はエラー終了する（Ｓ３５．Ｓ３７）。
【００５４】
つぎに、前記解析手段３２．前記復号手段３３が、前記映像データベース２９にアクセスし、改ざんを検出する対象のＪＰＥＧ画像列を読み込む。ここでは前記解析手段３２は、読み込んだＪＰＥＧ画像のヘッダーのコメントセグメントを解析し、前記データ認証符号Ａｓ2．あればＡｓ1．ＡＬを取得する。その後に前記復号手段３３が、読み込んだＪＰＥＧ画像をエントロピー復号し、Ｙ，Ｃｂ，Ｃｒの各色成分の各ＤＣＴブロックについて量子化後ＤＣＴ係数を得る。そして、前記変換手段３４で、前記ＤＣＴ係数１個を８ビットの２進数で表現し、８×８のマトリックスのラスタースキャン順に並べ、前記ＤＣＴブロック１個につき５１２ビットのビット列を得る。Ｙ，Ｃｂ，Ｃｒの各色成分のＤＣＴブロックに対応するビット列をこの順番に並べる。このときＪＰＥＧ画像中の全ＤＣＴブロックの個数をＮ個とすると５１２×Ｎビットのビット列Ｌが得られる。
【００５５】
続いて前記各データ認証符号生成手段３５〜３７が、前記解析手段３２の取得した前記データ認証符号Ａｓ2等との比較のために、前記映像入力端末１と同様の手順にてデータ認証符号を生成する。
【００５６】
すなわち、前記データ認証符号生成手段３５が、前記解析手段３０の取得したアプリケーションデータセグメント２（ＡＰＰ２）のデータ内容に対し、前記データ認証符号１５と同手法でデータ認証符号Ａｓ2＿ｖを生成する。このとき前記秘密鍵データベース２７から取り出した秘密鍵Ｃkeyを用いて暗号化する。暗号化は前記暗号化手段４０で１２８ビットブロック暗号を用いる。また、前記映像入力端末１と秘密裏に共有する乱数の種５から前記乱数発生手段３８にて生成した乱数Ｒ1を使用する。
【００５７】
つぎに、前記解析手段３０がアプリケーションセグメントデータ１（ＡＰＰ１）の存在を記憶した場合、前記データ認証符号生成手段３６は該セグメントデータ１（ＡＰＰ１）のデータ内容に対して前記データ認証符号生成手段１６と同手法でデータ認証符号Ａｓ1＿ｖを生成する。ここでも前記秘密鍵データベース２７から取り出した秘密鍵Ｃkeyを用いて暗号化し、暗号化は前記暗号化手段４０で１２８ビットブロック暗号を用いる。また、前記乱数の種５から前記乱数発生手段３８にて生成した２番目の乱数、即ち乱数Ｒ2を使用する。なお、アプリケーションデータセグメント１（ＡＰＰ１）１が存在しない場合（前記解析手段３０が存在を記憶していない場合）でも、乱数Ｒ3生成のために乱数Ｒ2を生成しておくものとする。
【００５８】
さらに、前記データ認証符号生成手段３７が、前記変換手段３４にて変換取得されたビット列Ｌに対して、前記データ認証符号生成手段１７と同手法でデータ認証符号ＡＬ＿ｖを生成する。ここでも前記秘密鍵データベース２７から取り出した秘密鍵Ｃkeyを用いて暗号化し、暗号化は前記暗号化手段４０で１２８ビットブロック暗号を用いる。また、前記乱数の種５から前記乱数発生手段３８にて生成した３番目の乱数、即ち乱数Ｒ3を使用する。
【００５９】
その後に前記判別手段４１が、前記解析手段３２の取得した前記データ認証符号Ａｓ2．Ａｓ1（存在する場合）．ＡＬと、前記各データ認証符号生成手段３５〜３７の生成した前記データ認証符号Ａｓ1＿ｖ．Ａｓ1＿ｖ（存在する場合）．ＡＬ＿ｖとを比較する。比較の結果、前記両データ認証符号Ａｓ2，Ａｓ2＿ｖが同一であればアプリケーションセグメント２（ＡＰＰ２）の内容は改ざんされていないものと判別される一方、記両データ認証符号Ａｓ2，Ａｓ2＿ｖが異なっていれば、アプリケーションセグメント２（ＡＰＰ２）の内容は改ざんされたものと判別される。
【００６０】
また、前記両データ認証符号Ａｓ1，Ａｓ1＿ｖが同一であれば、アプリケーションセグメント１（ＡＰＰ１）は改ざんされていないものと判別される一方、異なっていればアプリケーションセグメント１（ＡＰＰ１）は改ざんされたものと判別される。
【００６１】
さらに、前記両データ認証符号ＡＬ，ＡＬ＿ｖが同一であれば、ＪＰＥＧ画像のビット列は改ざんされていないものと判別される一方、異なっていればＪＰＥＧ画像のビット列は改ざんされたものと判別される。
【００６２】
このような比較結果、即ちアプリケーションセグメント２（ＡＰＰ２）などの改ざんの有無はモニタなどに出力される。したがって、デジタル映像およびデジタル映像のメタデータの改ざんの有無を、電子透かしを用いることなく、知得することができ、この点でデジタル映像などの真正性が保証される。
【００６３】
このとき検出に利用される前記各データ認証符号Ａｓ2．Ａｓ1．ＡＬは、電子透かしと異なり、画質そのものには影響を与えないため、映像の品質を損ねることがなく、これによりデジタル映像の証拠としての信憑性も向上する。また、真正性を保証する秘密鍵Ｃkeyは、ユーザにも開示されることなく、秘密鍵データベース２７に秘密裏に保存される秘密情報なことから、ヒューマンエラーによる秘密鍵Ｃkeyの漏洩の危険性が最小限に抑えられている。
【００６４】
なお、本発明は、上記実施形態に限定されるものではなく、装置構成などは各請求項に記載した範囲内で各種の変形が可能である。例えば、前記検出装置をウェブサーバではなく、パーソナルコンピュータ（ＰＣ）で構成してもよい。この場合にＪＰＥＧ画像列をインターネット経由ではなく、メモリカードなどを利用して前記検出装置で読み込んでもよい。また、本発明は、映像（Ｍｏｔｉｏｎ  ＪＰＥＧ）のみならず、ＪＰＥＧ符号化された静止画にも適用することもできる。
【００６５】
≪プログラム等≫
本発明は、前記映像入力装置１の各手段３〜２０としてコンピュータを機能させるためのプログラムとしても構成することができる。このプログラムは、前記各手段３〜２０の全てとして機能させるものでもよく、あるいはその一部として機能させるものでもよい。このプログラムによれば、前記各手段３〜２０の実行する各種処理、例えばＳ０１〜Ｓ０３．Ｓ１１〜Ｓ１６．Ｓ２１〜Ｓ２５などの全部あるいは一部がコンピュータにより実行される。
【００６６】
また、前記映像認証サーバ２の各手段２５〜４１としてコンピュータを機能させるためのプログラムとしても構成することができる。このプログラムも、前記各手段２５〜４１の全てとして機能させるものでもよく、あるいはその一部として機能させるものでもよい。このプログラムによれば、前記各手段２５〜４１の実行する各種処理、例えばＳ３１〜Ｓ３７などの全部あるいは一部がコンピュータにより実行される。
【００６７】
前記各プログラムは、ウェブサイトや電子メールなどネットワークを通じて提供することができる。また、前記各プログラムは、ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＭＯ，ＨＤＤ，Ｂｌｕ−ｒａｙ  Ｄｉｓｋ（登録商標）などの記録媒体に記録して、保存・配布することも可能である。この記録媒体は、記録媒体駆動装置（例えば光学ドライブなど）を利用して読み出され、そのプログラムコード自体が前記実施形態の処理を実現するので、該記録媒体も本発明を構成する。
【符号の説明】
【００６８】
１…映像入力端末（改ざん検出用認証符号の埋め込み）
２…映像認証サーバ（改ざん検出装置）
３…映像取得手段（撮影手段）
４．２６…時計
５…乱数の種
６…パスフレーズ入力手段
７…秘密鍵生成手段
８．３９…ＳＨＡ−１ハッシュ値算出手段
９…端末固有番号取得手段
１０…秘密鍵と端末固有番号送信手段
１１．３３…ＪＰＥＧエントロピー復号手段（復号手段）
１２．３４…量子化後ＤＣＴ係数ビット列変換手段（変換手段）
１３．３８…１２８ビット乱数発生手段（乱数発生手段）
１４．４０…Ｃａｍｅｌｌｉａ暗号化手段（暗号化手段）
１５．３５…アプリケーションデータセグメント２データ認証符号生成手段
１６．３６…アプリケーションデータセグメント１データ認証符号生成手段
１７．３７…ＤＣＴ係数ビット列データ認証符号生成手段
１８…アプリケーションデータセグメント２保存手段
１９…データ認証符号コメントセグメント保存手段（保存手段）
２０…映像送信手段
２５…秘密鍵と端末固有番号受信手段
２７…秘密鍵データベース
２８…映像受信手段
２９…映像データベース
３０…アプリケーションデータセグメント２解析手段
３１…秘密鍵取得手段
３２…コメントセグメント解析手段（解析手段）
４１…改ざん有無判別手段（改ざん判別手段）
【図１】
2010251873.tif 000003
【図２】
2010251873.tif 000004
【図３】
2010251873.tif 000005
【図４】
2010251873.tif 000006
【図５】
2010251873.tif 000007
【図６】
2010251873.tif 000008
【図７】
2010251873.tif 000009
【図８】
2010251873.tif 000010
【図９】
2010251873.tif 000011
【図１０】
2010251873.tif 000012
【図１１】
2010251873.tif 000013
【図１２】
2010251873.tif 000014
【図１３】
2010251873.tif 000015
【図１４】
2010251873.tif 000016
【図１５】
2010251873.tif 000017
【図１６】
2010251873.tif 000018
【図１７】
2010251873.tif 000019
【図１８】
2010251873.tif 000020