(57)【要約】【課題】  電子署名による改ざん検出システムでは、暗号鍵の管理が必要であり、運用が複雑になる。【解決手段】  透かし埋め込み部３０は、入力されたホストデータＰに暗号鍵Ｋを電子透かしとして埋め込み、鍵埋め込みホストデータｗを生成し、ハッシュ生成部３２と署名付加部３６に与える。ハッシュ生成部３２は、鍵埋め込みホストデータｗを一方向性関数で写像することによりハッシュｈを生成し、暗号化部３４に与える。暗号化部３４は、ハッシュ生成部３２により生成されたハッシュｈを暗号鍵Ｋにより暗号化して電子署名ｓを生成する。署名付加部３６は、透かし埋め込み部３０により生成された鍵埋め込みホストデータｗに暗号化部３４により生成された電子署名ｓを付加し、署名付き鍵埋め込みホストデータｗ＋ｓを出力する。【選択図】  図２
2005236442.tif 000002
【特許請求の範囲】
【請求項１】
原データに付加する付加データを暗号化する暗号化部と、
暗号化された前記付加データの復号に必要な暗号鍵を前記原データに電子透かしとして埋め込む透かし埋め込み部と、
暗号化された前記付加データを前記原データに付加する付加部とを含むことを特徴とする電子透かし埋め込み装置。
【請求項２】
原データの特徴を端的に表すデータを暗号化して電子署名を生成する暗号化部と、
前記電子署名の復号に必要な暗号鍵を前記原データに電子透かしとして埋め込む透かし埋め込み部と、
前記電子署名を前記原データに付加する署名付加部とを含むことを特徴とする電子透かし埋め込み装置。
【請求項３】
前記原データを一方向性関数により写像することにより前記原データの特徴を端的に表すデータを生成する生成部をさらに含むことを特徴とする請求項２に記載の電子透かし埋め込み装置。
【請求項４】
入力データから原データと付加データを分離して取り出す分離部と、
前記原データに電子透かしとして埋め込まれた暗号鍵を抽出する透かし抽出部と、
前記付加データを前記暗号鍵により復号する復号部とを含むことを特徴とする電子透かし抽出装置。
【請求項５】
署名付きデータから原データと電子署名を分離して取り出す署名分離部と、
前記原データに電子透かしとして埋め込まれた暗号鍵を抽出する透かし抽出部と、
前記電子署名を前記暗号鍵により復号する復号部とを含むことを特徴とする電子透かし抽出装置。
【請求項６】
前記原データを一方向性関数により写像することにより前記原データの特徴を端的に表すデータを生成する生成部と、
前記復号部により復号された前記電子署名と、前記生成部により生成された前記原データの特徴を端的に表すデータとを比較する比較部とをさらに含むことを特徴とする請求項６に記載の電子透かし抽出装置。
【請求項７】
署名付きデータから原データと電子署名を分離して取り出す署名分離部と、
前記原データに電子透かしとして埋め込まれた暗号鍵を抽出する透かし抽出部と、
前記原データの特徴を端的に表すデータを前記暗号鍵により暗号化して検証用の電子署名を生成する暗号化部と、
前記署名分離部により取り出された前記電子署名と、前記暗号化部により生成された前記検証用の電子署名とを比較する比較部とを含むことを特徴とする電子透かし抽出装置。
【請求項８】
連続的に入力される原データ列に対して、各々の原データの特徴を端的に表すデータを暗号化して電子署名を生成する暗号化部と、
前記電子署名の復号に必要な暗号鍵を前記原データに電子透かしとして埋め込む透かし埋め込み部と、
前記電子署名を前記原データに付加する署名付加部と、
前記暗号化部により生成された前記電子署名を保持する保持部とを含み、
前記暗号化部は、現在処理中の原データに対する前記電子署名を生成する際、前記保持部に保持された過去の原データに対する前記電子署名に依存させる形で生成することを特徴とする電子透かし埋め込み装置。
【請求項９】
連続的に入力される原データ列に対して、各々の原データの特徴を端的に表すデータを暗号化して電子署名を生成する暗号化部と、
前記電子署名の復号に必要な暗号鍵を前記原データに電子透かしとして埋め込む透かし埋め込み部と、
前記電子署名を前記原データに付加する署名付加部と、
前記暗号化部により生成された前記電子署名を保持する第１の保持部と、
前記透かし埋め込み部により電子透かしの埋め込まれた前記原データを保持する第２の保持部とを含み、
前記暗号化部は、現在処理中の原データに対する前記電子署名を生成する際、前記第１の保持部に保持された過去の原データに対する前記電子署名に依存させる形で生成し、
前記署名付加部は、前記第２の保持部に保持された過去の原データに現在処理中の原データに対して生成された前記電子署名を付加することを特徴とする電子透かし埋め込み装置。
【請求項１０】
前記暗号化部は、前記各々の原データに対して異なる暗号鍵を用いて前記電子署名を生成することを特徴とする請求項８または９に記載の電子透かし埋め込み装置。
【請求項１１】
連続的に入力される署名付きデータ列に対して、各々の署名付きデータに含まれる原データと電子署名を分離して取り出す署名分離部と、
前記原データに電子透かしとして埋め込まれた暗号鍵を抽出する透かし抽出部と、
前記署名分離部により取り出された前記電子署名を前記暗号鍵により復号する復号部と、
前記原データを一方向性関数により写像することにより前記原データの特徴を端的に表すデータを生成する生成部と、
前記署名分離部により取り出された前記電子署名を保持する保持部とを含み、
前記生成部は、現在処理中の原データの特徴を端的に表すデータを生成する際、前記保持部に保持された過去の原データに対する前記電子署名に依存させる形で生成することを特徴とする電子透かし抽出装置。
【請求項１２】
連続的に入力される署名付きデータ列に対して、各々の署名付きデータに含まれる原データと電子署名を分離して取り出す署名分離部と、
前記原データに電子透かしとして埋め込まれた暗号鍵を抽出する透かし抽出部と、
前記原データの特徴を端的に表すデータを暗号鍵により暗号化して検証用の電子署名を生成する暗号化部と、
前記署名分離部により取り出された前記電子署名と、前記暗号化部により生成された前記検証用の電子署名とを比較する比較部と、
前記署名分離部により取り出された前記電子署名を保持する保持部とを含み、
前記暗号化部は、現在処理中の原データに対する前記検証用の電子署名を生成する際、前記保持部に保持された過去の原データに対する前記電子署名に依存させる形で生成することを特徴とする電子透かし抽出装置。
【請求項１３】
原データの特徴を端的に表すデータを暗号化して得られる電子署名を前記原データのヘッダに含み、前記原データに前記電子署名の復号に必要な暗号鍵が電子透かしとして埋め込まれたことを特徴とする自己復号型データのデータ構造。
【請求項１４】
原データの特徴を端的に表すデータを暗号化して得られる電子署名と、前記電子署名の復号に必要な暗号鍵とが、二重電子透かしとして前記原データに埋め込まれたことを特徴とする自己復号型データのデータ構造。
【請求項１５】
原データの特徴を端的に表すデータを暗号化して得られる電子署名を原データに付加するとともに、前記原データに前記電子署名の復号に必要な暗号鍵を電子透かしとして埋め込むことを特徴とする電子透かし埋め込み方法。
【請求項１６】
原データに電子透かしとして埋め込まれた暗号鍵を抽出し、前記原データに付加された電子署名を前記暗号鍵により復号して検証することを特徴とする電子透かし抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電子透かし技術に関し、特に暗号鍵を電子透かしとして埋め込み、抽出する装置と方法に関する。
【背景技術】
【０００２】
ここ数年、インターネット利用人口が急増し、インターネット利用の新たなステージともいえるブロードバンド時代に入ろうとしている。ブロードバンド通信では通信帯域が格段に広がるため、音声、静止画、動画などデータ量の大きいコンテンツの配信も気軽にできるようになる。このようなデジタルコンテンツの流通が盛んになると、コンテンツの著作権の保護がより一層求められることになる。
【０００３】
ネットワーク上に流通するコンテンツのデータは他人に容易にコピーされ、著作権に対する保護が十分ではないのが現状である。そこで著作権を保護するために、コンテンツの作成者や利用者の情報を電子透かしとしてコンテンツデータに埋め込む技術が開発されている。この電子透かし技術を用いることにより、ネットワーク上で流通するコンテンツデータから電子透かしを抽出して、不正利用を検出したり、不正コピーの流通経路を追跡することが可能となる。
【０００４】
また、コンテンツ認証技術として、コンテンツに電子署名を付加する方法があり、コンテンツの特徴を端的に表すダイジェストデータを電子署名に用いることにより、コンテンツの改ざんを検出することができる。
【０００５】
図１は、従来の改ざん検出システムの構成図である。暗号化装置３００は、入力されたホストデータＰに暗号鍵Ｋにより暗号化された電子署名ｓを付加し、署名付きホストデータＰ＋ｓを生成して出力する。復号装置３１０は、入力された署名付きホストデータＰ’＋ｓ’から電子署名ｓ’を取り出して暗号鍵Ｋにより復号することで、ホストデータＰ’の改ざんの有無を検出する。鍵管理データベースサーバ３２０は、暗号化装置３００において利用される暗号鍵Ｋをネットワーク３３０経由で取得して、データベース管理するとともに、復号装置３１０に対して必要な暗号鍵Ｋをネットワーク３３０経由で配布する。
【０００６】
暗号化装置３００において、ハッシュ生成部１０は、ホストデータＰを一方向性関数で写像することによりハッシュｈを生成し、暗号化部１２に与える。暗号化部１２は、ハッシュｈを暗号鍵Ｋにより暗号化して電子署名ｓを生成し、署名付加部１４に与える。署名付加部１４は、ホストデータＰに電子署名ｓを付加して署名付きホストデータＰ＋ｓを出力する。
【０００７】
復号装置３１０において、署名分離部２０は、署名付きホストデータＰ’＋ｓ’からホストデータＰ’と電子署名ｓ’を分離して取り出し、ホストデータＰ’をハッシュ生成部２４に、電子署名ｓ’を復号部２２に与える。復号部２２は、電子署名ｓ’を暗号鍵Ｋにより復号することにより、電子署名ｓ’が暗号化される前のデータであるハッシュｈ’を求める。一方、ハッシュ生成部２４は、ホストデータＰ’を暗号化装置３００のハッシュ生成部１０で用いたものと同一の一方向性関数で写像することにより検証用のハッシュｒを生成する。比較部２６は、復号部２２による復号後のハッシュｈ’とハッシュ生成部２４により生成された検証用のハッシュｒとを比較して、ホストデータＰ’の改ざんの有無に関する判定結果を出力する。
【０００８】
また、特許文献１には、動画の不正コピーを防止するために、動画をフレーム単位で暗号化し、各フレームを復号するための暗号鍵を一つ前のフレームに電子透かしとして埋め込む技術が開示されている。
【特許文献１】特開２００２−２３２４１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
前述の電子署名を用いた改ざん検出システムでは、暗号鍵を復号装置３１０に配布する必要があり、暗号鍵の管理が必要になる。また、暗号鍵を復号装置３１０に安全に配布するための工夫が必要である。セキュリティを向上させるためには、コンテンツ毎に暗号鍵を頻繁に変更することが必要であるが、その場合、暗号鍵の管理が複雑になる。
【００１０】
また、特許文献１に開示された技術は、コンテンツとして動画のような連続的なデータ列を前提として自己のフレームを復号する暗号鍵を他のフレームに電子透かしとして埋め込むものであり、改ざん検出が自己のフレーム内で完結していない。そのため、この技術は、静止画には適用できない。
【００１１】
本発明はこうした状況に鑑みてなされたもので、その目的は、暗号鍵の管理を必要としない改ざん検出技術の提供にある。また、別の目的は、改ざん防止の対象であるデータ内で自己完結した改ざん検出技術の提供にある。
【課題を解決するための手段】
【００１２】
本発明のある態様は電子透かし埋め込み装置に関する。この装置は、原データに付加する付加データを暗号化する暗号化部と、暗号化された前記付加データの復号に必要な暗号鍵を前記原データに電子透かしとして埋め込む透かし埋め込み部と、暗号化された前記付加データを前記原データに付加する付加部とを含む。
【００１３】
本発明の別の態様も電子透かし埋め込み装置に関する。この装置は、原データの特徴を端的に表すデータを暗号化して電子署名を生成する暗号化部と、前記電子署名の復号に必要な暗号鍵を前記原データに電子透かしとして埋め込む透かし埋め込み部と、前記電子署名を前記原データに付加する署名付加部とを含む。暗号鍵が電子透かしとして原データに埋め込まれた後に、電子署名が暗号鍵埋め込み後の原データに付加されてもよく、あるいは、電子署名が原データに付加された後に、暗号鍵が原データに埋め込まれてもよい。ここで、「前記電子署名を前記原データに付加する」とは、前記原データに対してヘッダのような形で前記電子署名を添付する他、前記原データに前記電子署名を電子透かしとして埋め込むことも含む。後者の場合は、電子署名と暗号鍵が二重に電子透かしとして埋め込まれた原データが生成される。電子署名と暗号鍵を原データに電子透かしとして埋め込む順序は任意である。
【００１４】
ここで「原データ」は、電子署名を付加し、電子透かしを埋め込む対象となるデータであり、たとえば静止画、動画、音声などのコンテンツデータである。「原データの特徴を端的に表すデータ」とは、原データのダイジェストデータ、すなわち原データの特徴を表す比較的短い固定長のデータである。
【００１５】
本発明のさらに別の態様は電子透かし抽出装置に関する。この装置は、入力データから原データと付加データを分離して取り出す分離部と、前記原データに電子透かしとして埋め込まれた暗号鍵を抽出する透かし抽出部と、前記付加データを前記暗号鍵により復号する復号部とを含む。
【００１６】
本発明のさらに別の態様も電子透かし抽出装置に関する。この装置は、署名付きデータから原データと電子署名を分離して取り出す署名分離部と、前記原データに電子透かしとして埋め込まれた暗号鍵を抽出する透かし抽出部と、前記電子署名を前記暗号鍵により復号する復号部とを含む。ここで、「署名付きデータから原データと電子署名を分離して取り出す」とは、署名が電子透かしとして埋め込まれたデータから電子署名を電子透かしとして抽出することを含む。この場合、電子署名が可逆埋め込み方式で埋め込まれているなら、電子署名を抽出後、電子署名を取り除いて、電子署名が埋め込まれる前の原データを復元して取り出すことができる。
【００１７】
本発明のさらに別の態様も電子透かし抽出装置に関する。この装置は、署名付きデータから原データと電子署名を分離して取り出す署名分離部と、前記原データに電子透かしとして埋め込まれた暗号鍵を抽出する透かし抽出部と、前記原データの特徴を端的に表すデータを前記暗号鍵により暗号化して検証用の電子署名を生成する暗号化部と、前記署名分離部により取り出された前記電子署名と、前記暗号化部により生成された前記検証用の電子署名とを比較する比較部とを含む。
【００１８】
本発明のさらに別の態様も電子透かし埋め込み装置に関する。この装置は、連続的に入力される原データ列に対して、各々の原データの特徴を端的に表すデータを暗号化して電子署名を生成する暗号化部と、前記電子署名の復号に必要な暗号鍵を前記原データに電子透かしとして埋め込む透かし埋め込み部と、前記電子署名を前記原データに付加する署名付加部と、前記暗号化部により生成された前記電子署名を保持する保持部とを含み、前記暗号化部は、現在処理中の原データに対する前記電子署名を生成する際、前記保持部に保持された過去の原データに対する前記電子署名に依存させる形で生成する。
【００１９】
本発明のさらに別の態様も電子透かし埋め込み装置に関する。この装置は、連続的に入力される原データ列に対して、各々の原データの特徴を端的に表すデータを暗号化して電子署名を生成する暗号化部と、前記電子署名の復号に必要な暗号鍵を前記原データに電子透かしとして埋め込む透かし埋め込み部と、前記電子署名を前記原データに付加する署名付加部と、前記暗号化部により生成された前記電子署名を保持する第１の保持部と、前記透かし埋め込み部により電子透かしの埋め込まれた前記原データを保持する第２の保持部とを含み、前記暗号化部は、現在処理中の原データに対する前記電子署名を生成する際、前記第１の保持部に保持された過去の原データに対する前記電子署名に依存させる形で生成し、前記署名付加部は、前記第２の保持部に保持された過去の原データに現在処理中の原データに対して生成された前記電子署名を付加する。
【００２０】
本発明のさらに別の態様も電子透かし抽出装置に関する。この装置は、連続的に入力される署名付きデータ列に対して、各々の署名付きデータに含まれる原データと電子署名を分離して取り出す署名分離部と、前記原データに電子透かしとして埋め込まれた暗号鍵を抽出する透かし抽出部と、前記署名分離部により取り出された前記電子署名を前記暗号鍵により復号する復号部と、前記原データを一方向性関数により写像することにより前記原データの特徴を端的に表すデータを生成する生成部と、前記署名分離部により取り出された前記電子署名を保持する保持部とを含み、前記生成部は、現在処理中の原データの特徴を端的に表すデータを生成する際、前記保持部に保持された過去の原データに対する前記電子署名に依存させる形で生成する。
【００２１】
本発明のさらに別の態様も電子透かし抽出装置に関する。この装置は、連続的に入力される署名付きデータ列に対して、各々の署名付きデータに含まれる原データと電子署名を分離して取り出す署名分離部と、前記原データに電子透かしとして埋め込まれた暗号鍵を抽出する透かし抽出部と、前記原データの特徴を端的に表すデータを暗号鍵により暗号化して検証用の電子署名を生成する暗号化部と、前記署名分離部により取り出された前記電子署名と、前記暗号化部により生成された前記検証用の電子署名とを比較する比較部と、前記署名分離部により取り出された前記電子署名を保持する保持部とを含み、前記暗号化部は、現在処理中の原データに対する前記検証用の電子署名を生成する際、前記保持部に保持された過去の原データに対する前記電子署名に依存させる形で生成する。
【００２２】
本発明のさらに別の態様はデータ構造に関する。このデータ構造は、原データの特徴を端的に表すデータを暗号化して得られる電子署名を前記原データのヘッダに含み、前記原データに前記電子署名の復号に必要な暗号鍵が電子透かしとして埋め込まれた自己復号型データの構造である。
【００２３】
本発明のさらに別の態様もデータ構造に関する。このデータ構造は、原データの特徴を端的に表すデータを暗号化して得られる電子署名と、前記電子署名の復号に必要な暗号鍵とが、二重電子透かしとして前記原データに埋め込まれた自己復号型データの構造である。
【００２４】
本発明のさらに別の態様は電子透かし埋め込み方法に関する。この方法は、原データの特徴を端的に表すデータを暗号化して得られる電子署名を原データに付加するとともに、前記原データに前記電子署名の復号に必要な暗号鍵を電子透かしとして埋め込む。
【００２５】
本発明のさらに別の態様は電子透かし抽出方法に関する。この方法は、原データに電子透かしとして埋め込まれた暗号鍵を抽出し、前記原データに付加された電子署名を前記暗号鍵により復号して検証する。
【００２６】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００２７】
本発明によれば、原データに暗号鍵を電子透かしとして埋め込み、抽出することで改ざん検出が容易になる。
【発明を実施するための最良の形態】
【００２８】
実施の形態１
実施の形態１に係る改ざん検出システムは、図２の透かし埋め込み装置１００と図４の透かし抽出装置２００を含む。これらの装置は、ネットワークで接続され、透かし埋め込み装置１００が出力するデータがネットワーク経由で透かし抽出装置２００に入力されてもよい。また、透かし埋め込み装置１００をサーバ、透かし抽出装置２００をクライアントとするシステムであってもよい。また、これらの装置は、一つの装置として一体化されてもよく、透かし埋め込み装置１００が出力するデータは記憶装置に記憶され、記憶装置から読み出されたデータが透かし抽出装置２００に入力されてもよい。
【００２９】
図２は、実施の形態１に係る透かし埋め込み装置１００の構成図である。この構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリにロードされた暗号化機能および電子透かし埋め込み機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
【００３０】
透かし埋め込み装置１００に入力されるホストデータＰは、電子署名を付加し、電子透かしを埋め込む対象となるオリジナルデータであり、たとえば静止画、動画、音声などのデータである。動画像の場合、フレームやフレームのまとまりを単位として電子署名を付加し、電子透かしを埋め込んでもよい。
【００３１】
透かし埋め込み部３０は、入力されたホストデータＰに暗号鍵Ｋを電子透かしとして埋め込み、鍵埋め込みホストデータｗを生成し、ハッシュ生成部３２と署名付加部３６に与える。ハッシュ生成部３２は、鍵埋め込みホストデータｗを一方向性関数で写像することによりハッシュｈを生成し、暗号化部３４に与える。
【００３２】
ハッシュ生成部３２で用いられる一方向性関数は、任意の長さの入力値を固定長の出力値（ハッシュ値もしくは単にハッシュと呼ぶ)に変換するものであり、逆変換が計算量的に難しい。すなわち、一方向性関数Ｈが与えられたとき、入力ｘに対してハッシュｈ＝Ｈ（ｘ）を計算することは容易であるが、ハッシュｈを与えられた場合に、Ｈ（ｘ）＝ｈとなるような入力ｘを見つけるのは、計算量的に不可能である。
【００３３】
一般にハッシュｈの長さは入力ｘよりも短く、ハッシュｈは入力ｘの特徴を端的に表したものであるため、ダイジェストデータと呼ばれることもある。このような一方向性関数を利用してメッセージのダイジェストを生成する方法として、ＭＤ５（Message Digest 5)やＳＨＡ（Secure Hash Algorithm）が知られており、ハッシュ生成部３２においてホストデータＰからハッシュｈを生成するためにそのようなメッセージダイジェストの技術を利用することができる。
【００３４】
暗号化部３４は、ハッシュ生成部３２により生成されたハッシュｈを暗号鍵Ｋにより暗号化して電子署名ｓを生成する。電子署名ｓの暗号化に用いられた暗号鍵Ｋは、透かし埋め込み部３０がホストデータＰに電子透かしとして埋め込んだものと同じものである。署名付加部３６は、透かし埋め込み部３０により生成された鍵埋め込みホストデータｗに暗号化部３４により生成された電子署名ｓを付加し、署名付き鍵埋め込みホストデータｗ＋ｓを出力する。たとえば、署名付加部３６は、電子署名ｓを鍵埋め込みホストデータｗのヘッダとして付加する。
【００３５】
図３は、透かし埋め込み装置１００によりホストデータＰが処理される様子を説明する図である。透かし埋め込み部３０は、暗号鍵Ｋ（符号６０２）にもとづく透かし埋め込み関数Ｗにより、ホストデータＰ（符号６００）を鍵埋め込みホストデータｗ＝Ｗ（Ｐ，Ｋ）（符号６０４）に変換する。ハッシュ生成部３２は、ハッシュ関数Ｈにより、鍵埋め込みホストデータｗをハッシュｈ＝Ｈ（ｗ）（符号６０６）に変換する。暗号化部３４は、暗号鍵Ｋにもとづく暗号化関数Ｅにより、ハッシュｈを電子署名ｓ＝Ｅ（ｈ，Ｋ）（符号６０８）に変換する。署名付加部３６は、鍵埋め込みホストデータｗのヘッダとして電子署名ｓを設けた署名付き鍵埋め込みホストデータｗ＋ｓ（符号６１０）を生成する。
【００３６】
署名付き鍵埋め込みホストデータｗ＋ｓは、ヘッダ部に電子署名ｓを含み、その電子署名ｓを復号するための暗号鍵Ｋがデータ部に電子透かしとして埋め込まれたデータ構造をもち、自己のデータ内で電子署名を復号して改ざん検出が可能な自己復号型データである。
【００３７】
図４は、実施の形態１に係る透かし抽出装置２００の構成図である。この構成も、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリにロードされた復号機能および電子透かし抽出機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。
【００３８】
署名分離部４０は、入力された署名付き鍵埋め込みホストデータｗ’＋ｓ’から鍵埋め込みホストデータｗ’と電子署名ｓ’を分離して取り出し、鍵埋め込みホストデータｗ’を透かし抽出部４４とハッシュ生成部４６に、電子署名ｓ’を復号部４２にそれぞれ与える。
【００３９】
透かし抽出部４４は、鍵埋め込みホストデータｗ’に電子透かしとして埋め込まれた暗号鍵Ｋ’を抽出し、復号部４２に与える。復号部４２は、電子署名ｓ’を暗号鍵Ｋ’により復号することにより、電子署名ｓ’が暗号化される前のデータであるハッシュｈ’を求める。
【００４０】
一方、ハッシュ生成部４６は、鍵埋め込みホストデータｗ’を一方向性関数で写像することにより検証用のハッシュｒを生成する。ここで、ハッシュ生成部４６において用いられる一方向性関数は、透かし埋め込み装置１００のハッシュ生成部３２において用いられたものと同一のものである。すなわち、透かし抽出装置２００のハッシュ生成部４６と、透かし埋め込み装置１００のハッシュ生成部３２は、入力されたデータに対して同一のハッシュ生成処理を行う。
【００４１】
比較部４８は、復号部４２による復号後のハッシュｈ’とハッシュ生成部４６により生成された検証用のハッシュｒとを比較し、一致すれば、ホストデータの改ざんがないと判定し、一致しなければ改ざんがあったと判定し、判定結果を出力する。
【００４２】
図５は、透かし抽出装置２００により署名付き鍵埋め込みホストデータｗ’＋ｓ’が処理される様子を説明する図である。署名分離部４０は、署名付き鍵埋め込みホストデータｗ’＋ｓ’（符号６２０）を鍵埋め込みホストデータｗ’（符号６２４）と電子署名ｓ’（符号６２２）に分離する。透かし抽出部４４は、透かし抽出関数Ｘにより、鍵埋め込みホストデータｗ’から暗号鍵Ｋ’＝Ｘ（ｗ’）（符号６２６）を抽出する。復号部４２は、暗号鍵Ｋ’にもとづく復号関数Ｄにより、電子署名ｓ’をハッシュｈ’＝Ｄ（ｓ’，Ｋ’）（符号６２８）に変換する。
【００４３】
一方、ハッシュ生成部４６は、ハッシュ関数Ｈにより、鍵埋め込みホストデータｗ’を検証用のハッシュｒ＝Ｈ（ｗ’）（符号６３０）に変換する。比較部４８は、復号されたハッシュｈ’と検証用のハッシュｒとを比較する（符号６３２）。
【００４４】
以上の説明において、透かし埋め込み装置１００の署名付加部３６は、鍵埋め込みホストデータｗに電子署名ｓを電子透かしとして埋め込んでもよい。その場合、透かし抽出装置２００の署名分離部４０は、署名付き鍵埋め込みホストデータｗ＋ｓから電子署名ｓを透かしとして抽出する。
【００４５】
また、上記のように、暗号鍵Ｋをホストデータに埋め込んでから電子署名ｓを埋め込む代わりに、先に電子署名ｓを埋め込んでから、暗号鍵Ｋを埋め込んでもよい。この場合、暗号鍵Ｋを埋め込む図２の透かし埋め込み部３０は、署名付加部３６の後ろに配置される。通常、二重電子透かしの埋め込みでは、各埋め込みは独立に行われるので、電子透かし抽出の順番は任意でよい。ただし、埋め込みが独立に行われない場合、抽出の順番は埋め込み順序に応じて行う必要がある。
【００４６】
以上述べたように、本実施の形態の改ざん検出システムによれば、電子署名の暗号に使用された暗号鍵が電子透かしとしてホストデータに埋め込まれているため、暗号鍵を鍵管理サーバなどで管理する必要がない。また暗号鍵は電子透かしとしてホストデータ内に埋め込まれ、秘匿されているため、透かしの抽出方法がわからない限り、暗号鍵の秘密性が保たれる。また、電子署名と電子署名を復号するための暗号鍵とがホストデータとともに一体化されたデータ構造であるため、復号のために外部から鍵の入力を必要としない自己復号型であり、ホストデータ単体で改ざん検出を行うことができる。
【００４７】
実施の形態２
実施の形態２に係る改ざん検出システムも、実施の形態１と同様に、透かし埋め込み装置１００と透かし抽出装置２００を含むが、透かし抽出装置２００の構成が異なる。透かし埋め込み装置１００については、実施の形態１と同じであるから説明を省略する。
【００４８】
図６は、実施の形態２に係る透かし抽出装置２００の構成図である。署名分離部４０は、入力された署名付き鍵埋め込みホストデータｗ’＋ｓ’から鍵埋め込みホストデータｗ’と電子署名ｓ’を分離して取り出し、鍵埋め込みホストデータｗ’を透かし抽出部４４とハッシュ生成部４６に、電子署名ｓ’を比較部４８にそれぞれ与える。
【００４９】
透かし抽出部４４は、鍵埋め込みホストデータｗ’に電子透かしとして埋め込まれた暗号鍵Ｋ’を抽出し、暗号化部４３に与える。ハッシュ生成部４６は、実施の形態１と同様、鍵埋め込みホストデータｗ’を一方向性関数で写像することにより検証用のハッシュｒを生成する。暗号化部４３は、ハッシュ生成部４６により生成された検証用のハッシュｒを暗号鍵Ｋ’により暗号化して検証用の電子署名ｕを生成する。
【００５０】
比較部４８は、署名分離部４０により取り出された電子署名ｓ’と暗号化部４３により生成された検証用の電子署名ｕとを比較し、一致すれば、ホストデータの改ざんがないと判定し、一致しなければ改ざんがあったと判定し、判定結果を出力する。
【００５１】
図７は、透かし抽出装置２００により署名付き鍵埋め込みホストデータｗ’＋ｓ’が処理される様子を説明する図である。署名分離部４０は、署名付き鍵埋め込みホストデータｗ’＋ｓ’（符号６２０）を鍵埋め込みホストデータｗ’（符号６２４）と電子署名ｓ’（符号６２２）に分離する。透かし抽出部４４は、透かし抽出関数Ｘにより、鍵埋め込みホストデータｗ’から暗号鍵Ｋ’＝Ｘ（ｗ’）（符号６２６）を抽出する。ハッシュ生成部４６は、ハッシュ関数Ｈにより、鍵埋め込みホストデータｗ’を検証用のハッシュｒ＝Ｈ（ｗ’）（符号６３０）に変換する。暗号化部４３は、暗号鍵Ｋ’にもとづく暗号化関数Ｅにより、検証用のハッシュｒを検証用の電子署名ｕ＝Ｅ（ｒ，Ｋ’）（符号６２７）に変換する。比較部４８は、署名付き鍵埋め込みホストデータｗ＋ｓから取り出された電子署名ｓ’と検証用の電子署名ｕとを比較する（符号６３２）。
【００５２】
実施の形態１の透かし抽出装置２００では、比較部４８がハッシュを検証することで改ざんの有無を検出したが、本実施の形態の透かし抽出装置２００では、比較部４８が暗号化された電子署名を照合する。そのため、透かし抽出装置２００は、実施の形態１の復号部４２の代わりに、暗号化部４３の構成をもつ。透かし抽出装置２００のハッシュ生成部４６と暗号化部４３は、透かし埋め込み装置１００のハッシュ生成部３２と暗号化部３４と同じ構成であり、同じ動作をするものであるから、透かし埋め込み装置１００と透かし抽出装置２００を一体化した装置を構成する場合、ハッシュ生成部と暗号化部の構成を共有することができ、構成を簡単化することができる。
【００５３】
実施の形態３
実施の形態３に係る改ざん検出システムも、実施の形態１と同様に、透かし埋め込み装置１００と透かし抽出装置２００を含むが、透かし埋め込み装置１００の構成が異なる。透かしがハッシュに与える影響を考慮しない場合、透かし抽出装置２００については、実施の形態１と同じであるから説明を省略する。
【００５４】
図８は、実施の形態３に係る透かし埋め込み装置１００の構成図である。透かし埋め込み部３０は、入力されたホストデータＰに暗号鍵Ｋを電子透かしとして埋め込み、鍵埋め込みホストデータｗを生成し、署名付加部３６に与える。
【００５５】
ハッシュ生成部３２は、ホストデータＰを一方向性関数で写像することによりハッシュｈを生成し、暗号化部３４に与える。実施の形態１では、ハッシュ生成部３２は、暗号鍵Ｋが既に埋め込まれた鍵埋め込みホストデータｗを一方向性関数で写像したが、本実施の形態では、ハッシュ生成部３２は、暗号鍵Ｋが埋め込まれる前のホストデータＰを一方向性関数で写像することに留意する。
【００５６】
以下、実施の形態１と同様に、暗号化部３４は、ハッシュ生成部３２により生成されたハッシュｈを暗号鍵Ｋにより暗号化して電子署名ｓを生成する。署名付加部３６は、透かし埋め込み部３０により生成された鍵埋め込みホストデータｗに暗号化部３４により生成された電子署名ｓを付加し、署名付き鍵埋め込みホストデータｗ＋ｓを出力する。
【００５７】
図９は、透かし埋め込み装置１００によりホストデータＰが処理される様子を説明する図である。透かし埋め込み部３０は、暗号鍵Ｋ（符号６０２）にもとづく透かし埋め込み関数Ｗにより、ホストデータＰ（符号６００）を鍵埋め込みホストデータｗ＝Ｗ（Ｐ，Ｋ）（符号６０４）に変換する。ハッシュ生成部３２は、ハッシュ関数Ｈにより、ホストデータＰをハッシュｈ＝Ｈ（Ｐ）（符号６０７）に変換する。暗号化部３４は、暗号鍵Ｋにもとづく暗号化関数Ｅにより、ハッシュｈを電子署名ｓ＝Ｅ（ｈ，Ｋ）（符号６０８）に変換する。署名付加部３６は、鍵埋め込みホストデータｗのヘッダとして電子署名ｓを設けた署名付き鍵埋め込みホストデータｗ＋ｓ（符号６１０）を生成する。
【００５８】
本実施の形態の透かし抽出装置２００は、図４に示した実施の形態１の透かし抽出装置２００と同じであり、復号部４２は、電子署名ｓ’を暗号鍵Ｋ’により復号することにより、電子署名ｓ’が暗号化される前のデータであるハッシュｈ’を求める。一方、ハッシュ生成部４６は、鍵埋め込みホストデータｗ’を一方向性関数で写像することにより検証用のハッシュｒを生成する。
【００５９】
ここで、復号部４２により復号されたハッシュｈ’は、透かし埋め込み装置１００のハッシュ生成部３２によって暗号鍵Ｋが埋め込まれる前のホストデータＰから生成されたダイジェストデータであるのに対して、検証用のハッシュｒは、暗号鍵Ｋが既に埋め込まれた鍵埋め込みホストデータｗ’から生成されたダイジェストデータである。したがって、透かしの有無の影響により、２つのダイジェストデータは一般には一致しない。一方向性関数は、その性質により、入力データのわずかな違いがあるだけで、出力されるハッシュデータに大きな違いを生じさせるからである。
【００６０】
透かしがハッシュに与える影響を排除するため、透かし埋め込み装置１００のハッシュ生成部３２は、透かしの影響を受けない部分からハッシュｈを生成する。たとえば、透かし埋め込み部３０による暗号鍵Ｋの埋め込みと、ハッシュ生成部３２によるハッシュｈの生成とが干渉しないように、ホストデータＰの対象領域を透かし埋め込み領域とハッシュ生成領域とに分ける。
【００６１】
透かしがハッシュに与える影響を排除する別の方法として、ホストデータＰを最上位ビット（Most Significant Bit；ＭＳＢ）から最下位ビット（Least Significant Bit；ＬＳＢ）までのビットプレーンに分解して、透かし埋め込み部３０は、ＬＳＢ寄りの数ビットプレーンに暗号鍵Ｋを埋め込み、ハッシュ生成部３２は、暗号鍵Ｋの埋め込まれたＬＳＢ側の数ビットを避け、各ビットのＭＳＢ寄りのビットプレーンからハッシュｈを生成する。ダイジェストデータはホストデータＰの特徴を端的に表すデータであるから、ＭＳＢ寄りのビットプレーンのみから生成しても支障はない。
【００６２】
なお、暗号鍵Ｋが可逆埋め込み方式で埋め込まれている場合、すなわち、埋め込まれた透かしを取り除いて、透かしが抽出される前の状態に戻すことができる方式で暗号鍵Ｋが埋め込まれている場合、透かし抽出装置２００は、透かしの影響を排除してからハッシュを生成することができる。図１０、図１１を用いて、可逆埋め込み方式の場合の透かし抽出装置２００の構成と動作を説明する。
【００６３】
図１０は、実施の形態３に係る透かし抽出装置２００の構成図である。署名分離部４０は、入力された署名付き鍵埋め込みホストデータｗ’＋ｓ’から鍵埋め込みホストデータｗ’と電子署名ｓ’を分離して取り出し、鍵埋め込みホストデータｗ’を透かし抽出部４４に、電子署名ｓ’を復号部４２にそれぞれ与える。
【００６４】
透かし抽出部４４は、鍵埋め込みホストデータｗ’に電子透かしとして埋め込まれた暗号鍵Ｋ’を抽出し、鍵埋め込みホストデータｗ’から暗号鍵Ｋ’を取り除いてホストデータＰ’を復元する。透かし抽出部４４は、抽出された暗号鍵Ｋ’を復号部４２に与え、復元されたホストデータＰ’をハッシュ生成部４６に与える。
【００６５】
復号部４２は、電子署名ｓ’を暗号鍵Ｋ’により復号することにより、電子署名ｓ’が暗号化される前のデータであるハッシュｈ’を求める。一方、ハッシュ生成部４６は、ホストデータＰ’を一方向性関数で写像することにより検証用のハッシュｒを生成する。
【００６６】
比較部４８は、復号部４２による復号後のハッシュｈ’とハッシュ生成部４６により生成された検証用のハッシュｒとを比較し、ホストデータの改ざんの有無に関する判定結果を出力する。
【００６７】
図１１は、透かし抽出装置２００により署名付き鍵埋め込みホストデータｗ’＋ｓ’が処理される様子を説明する図である。署名分離部４０は、署名付き鍵埋め込みホストデータｗ’＋ｓ’（符号６２０）を鍵埋め込みホストデータｗ’（符号６２４）と電子署名ｓ’（符号６２２）に分離する。透かし抽出部４４は、透かし抽出関数Ｘにより、鍵埋め込みホストデータｗ’から暗号鍵Ｋ’＝Ｘ（ｗ’）（符号６２６）を抽出するともに、鍵埋め込みホストデータｗ’から暗号鍵Ｋ’を取り除いて、ホストデータＰ’（符号６２５）を復元する。復号部４２は、暗号鍵Ｋ’にもとづく復号関数Ｄにより、電子署名ｓ’をハッシュｈ’＝Ｄ（ｓ’，Ｋ’）（符号６２８）に変換する。
【００６８】
一方、ハッシュ生成部４６は、ハッシュ関数Ｈにより、復元されたホストデータＰ’を検証用のハッシュｒ＝Ｈ（Ｐ’）（符号６３０）に変換する。比較部４８は、復号されたハッシュｈ’と検証用のハッシュｒとを比較する（符号６３２）。
【００６９】
この透かし抽出装置２００によれば、復号部４２により復号されたハッシュｈ’は、暗号鍵Ｋが埋め込まれる前のホストデータＰから生成されたダイジェストデータであり、検証用のハッシュｒも、暗号鍵Ｋが埋め込まれる前のホストデータＰ’から生成されたダイジェストデータである。したがって、透かし抽出装置２００は、透かしによる影響がない状態で、ハッシュの比較をして、ホストデータの改ざんの有無を検出することができる。
【００７０】
本実施の形態の透かし埋め込み装置１００によれば、透かし埋め込み部３０とハッシュ生成部３２の動作を並列に実行することができるため、処理を高速化することができる。また、可逆埋め込み方式により透かしが埋め込まれている場合には、ホストデータＰ内に存在するすべてのデータを用いてハッシュの計算が行えるため、一部の領域やビットプレーンを透かし埋め込み領域として使用する方式と比べて、よりハッシュによる改ざん検出精度を向上させることができる。
【００７１】
実施の形態４
実施の形態４に係る改ざん検出システムも、実施の形態１と同様に、透かし埋め込み装置１００と透かし抽出装置２００を含むが、透かし埋め込み装置１００、透かし抽出装置２００にそれぞれ入力されるホストデータ、署名付き鍵埋め込みホストデータが、動画や音声などの時系列データであり、電子署名が時間方向に関連づけられる点が異なる。
【００７２】
図１２は、実施の形態４に係る透かし埋め込み装置１００の構成図である。透かし埋め込み装置１００に入力されるホストデータＰｉは、時系列ホストデータの１単位であり、この単位で、電子署名が付加され、電子透かしが埋め込まれる。この透かし埋め込み装置１００による処理単位は、たとえば、動画像の場合は動画フレームであり、音声の場合は所定のサンプル数毎にブロック化された処理単位である。
【００７３】
透かし埋め込み部３０は、時系列ホストデータの第ｉ番目の処理単位であるホストデータＰｉに暗号鍵Ｋｉを電子透かしとして埋め込み、鍵埋め込みホストデータｗｉを生成し、ハッシュ生成部３２と署名付加部３６に与える。ここで、暗号鍵Ｋｉは、時系列ホストデータの１単位毎に異なることに留意する。もっとも、時系列ホストデータ全体で同一の暗号鍵Ｋｉを用いてもかまわない。
【００７４】
ハッシュ生成部３２は、第（ｉ−１）番目のホストデータＰｉ−１に対して生成された電子署名ｓｉ−１をラッチ部３５から読み出し、その電子署名ｓｉ−１に依存させる形で、鍵埋め込みホストデータｗｉを一方向性関数で写像することによりハッシュｈｉを生成し、暗号化部３４に与える。暗号化部３４は、ハッシュ生成部３２により生成されたハッシュｈｉを暗号鍵Ｋｉにより暗号化して電子署名ｓｉを生成する。
【００７５】
ラッチ部３５は、暗号化部３４により生成された第ｉ番目のホストデータＰｉに対する電子署名ｓｉの入力を受けて、その電子署名ｓｉを、次の第（ｉ＋１）番目のホストデータＰｉ＋１に対する電子署名ｓｉ＋１の入力があるまで保持する。ラッチ部３５が保持する第ｉ番目のホストデータＰｉに対する電子署名ｓｉは、ハッシュ生成部３２が、第（ｉ＋１）番目のホストデータＰｉ＋１からハッシュｈｉ＋１を生成する際に利用される。
【００７６】
ハッシュ生成部３２、暗号化部３４、およびラッチ部３５の動作により、第ｉ番目のホストデータＰｉに対する電子署名ｓｉは、一つ前の第（ｉ−１）番目のホストデータＰｉに対する電子署名ｓｉ−１に依存したものとなり、時系列ホストデータの処理単位間で連鎖的に電子署名の依存関係が生まれる。また、暗号鍵Ｋｉが処理単位毎に異なることにより、暗号鍵についても時間軸方向の依存関係が生じている。
【００７７】
署名付加部３６は、透かし埋め込み部３０により生成された鍵埋め込みホストデータｗｉに暗号化部３４により生成された電子署名ｓｉを付加し、署名付き鍵埋め込みホストデータｗｉ＋ｓｉを出力する。
【００７８】
図１３は、透かし埋め込み装置１００によりホストデータＰｉが処理される様子を説明する図である。同図は、ホストデータＰ０〜Ｐ4（符号４００）に対して、暗号鍵Ｋ０〜Ｋ4（符号４０２）、鍵埋め込みホストデータｗ０〜ｗ4（符号４０４）、ハッシュｈ０〜ｈ4（符号４０６）、電子署名ｓ０〜ｓ4（符号４０８）、および署名付き鍵埋め込みホストデータｗ０＋ｓ０〜ｗ4＋ｓ4（符号４１０）の関係を示している。
【００７９】
まず、最初のホストデータＰ０について説明する。透かし埋め込み部３０は、暗号鍵Ｋ０にもとづく透かし埋め込み関数Ｗにより、ホストデータＰ０を鍵埋め込みホストデータｗ０＝Ｗ（Ｐ０，Ｋ０）に変換する。ハッシュ生成部３２は、ハッシュ関数Ｈにより、鍵埋め込みホストデータｗ０をハッシュｈ０＝Ｈ（ｗ０，０）に変換する。ここでは、ハッシュ関数Ｈの第２引数の値を０としたが、０以外の値でもよく、透かし埋め込み装置１００と透かし抽出装置２００で同じ値が得られればよい。
【００８０】
暗号化部３４は、暗号鍵Ｋ０にもとづく暗号化関数Ｅにより、ハッシュｈ０を電子署名ｓ０＝Ｅ（ｈ０，Ｋ０）に変換する。署名付加部３６は、鍵埋め込みホストデータｗ０のヘッダとして電子署名ｓ０を設けた署名付き鍵埋め込みホストデータｗ０＋ｓ０を生成する。
【００８１】
次のホストデータＰ１が与えられると、透かし埋め込み部３０は、暗号鍵Ｋ１にもとづく透かし埋め込み関数Ｗにより、ホストデータＰ１を鍵埋め込みホストデータｗ１＝Ｗ（Ｐ１，Ｋ１）に変換する。ハッシュ生成部３２は、一つ前のホストデータＰ０に対して生成された電子署名ｓ０を用いて、ハッシュ関数Ｈにより、鍵埋め込みホストデータｗ１をハッシュｈ１＝Ｈ（ｗ１，ｓ０）に変換する。ここで、ハッシュ関数Ｈの第２引数は、一つ前のホストデータＰ０に対する電子署名ｓ０であり、その電子署名ｓ０に依存する形でハッシュ計算がなされる。
【００８２】
暗号化部３４は、暗号鍵Ｋ１にもとづく暗号化関数Ｅにより、ハッシュｈ１を電子署名ｓ１＝Ｅ（ｈ１，Ｋ１）に変換する。ここで、ハッシュｈ１は一つ前のホストデータＰ０に対する電子署名ｓ０に依存するから、ハッシュｈ１を暗号化して生成される電子署名ｓ１は一つ前のホストデータＰ０に対する電子署名ｓ０に依存することになる。また、一つ前のホストデータＰ０に対する電子署名ｓ０が一つ前の暗号鍵Ｋ０に依存するものであることから、現在のホストデータＰ１に対して生成された電子署名ｓ１は現在の暗号鍵Ｋ１だけでなく、一つ前の暗号鍵Ｋ０にも依存することになる。署名付加部３６は、鍵埋め込みホストデータｗ１のヘッダとして電子署名ｓ１を設けた署名付き鍵埋め込みホストデータｗ１＋ｓ１を生成する。
【００８３】
以下、後続のホストデータＰ２〜Ｐ４についても同様に処理される。
【００８４】
図１４は、実施の形態４に係る透かし抽出装置２００の構成図である。署名分離部４０は、入力された署名付き鍵埋め込みホストデータｗｉ’＋ｓｉ’から鍵埋め込みホストデータｗｉ’と電子署名ｓｉ’を分離して取り出し、鍵埋め込みホストデータｗｉ’を透かし抽出部４４とハッシュ生成部４６に、電子署名ｓｉ’を復号部４２とラッチ部４５にそれぞれ与える。
【００８５】
透かし抽出部４４は、鍵埋め込みホストデータｗｉ’に電子透かしとして埋め込まれた暗号鍵Ｋｉ’を抽出し、復号部４２に与える。復号部４２は、電子署名ｓｉ’を暗号鍵Ｋｉ’により復号することにより、電子署名ｓｉ’が暗号化される前のデータであるハッシュｈｉ’を求める。
【００８６】
一方、ハッシュ生成部４６は、第（ｉ−１）番目の署名付き鍵埋め込みホストデータｗｉ−１’＋ｓｉ−１’に含まれていた電子署名ｓｉ−１’をラッチ部４５から読み出し、その電子署名ｓｉ−１’に依存させる形で、鍵埋め込みホストデータｗｉ’を一方向性関数で写像することにより検証用のハッシュｒｉを生成する。
【００８７】
比較部４８は、復号部４２による復号後のハッシュｈｉ’とハッシュ生成部４６により生成された検証用のハッシュｒｉとを比較し、ホストデータの改ざんの有無に関する判定結果を出力する。
【００８８】
図１５は、透かし抽出装置２００により署名付き鍵埋め込みホストデータｗｉ’＋ｓｉ’が処理される様子を説明する図である。同図は、署名付き鍵埋め込みホストデータｗ０’＋ｓ０’〜ｗ４’＋ｓ４’（符号５００）に対して、電子署名ｓ０’〜ｓ4’（符号５０２）、鍵埋め込みホストデータｗ０’〜ｗ4’（符号５０４）、検証用のハッシュｒ０〜ｒ4（符号５０６）、暗号鍵Ｋ０’〜Ｋ4’（符号５０８）、復号されたハッシュｈ０’〜ｈ4’（符号５１０）、および判定結果ｃ０〜ｃ4（符号５１２）の関係を示している。
【００８９】
まず、最初の署名付き鍵埋め込みホストデータｗ０’＋ｓ０’について説明する。署名分離部４０は、署名付き鍵埋め込みホストデータｗ０’＋ｓ０’を電子署名ｓ０’と鍵埋め込みホストデータｗ０’に分離する。ハッシュ生成部４６は、ハッシュ関数Ｈにより、鍵埋め込みホストデータｗ０’を検証用のハッシュｒ０＝Ｈ（ｗ０’，０）に変換する。ここで、最初の署名付き鍵埋め込みホストデータｗ０’＋ｓ０’であるため、ハッシュ関数Ｈの第２引数は０である。
【００９０】
透かし抽出部４４は、透かし抽出関数Ｘにより、鍵埋め込みホストデータｗ０’から暗号鍵Ｋ０’＝Ｘ（ｗ０’）を抽出する。復号部４２は、暗号鍵Ｋ０’にもとづく復号関数Ｄにより、電子署名ｓ０’をハッシュｈ０’＝Ｄ（ｓ０’，Ｋ０’）に変換する。比較部４８は、復号されたハッシュｈ０’と検証用のハッシュｒ０とを比較する。
【００９１】
次の署名付き鍵埋め込みホストデータｗ１’＋ｓ１’が与えられると、署名分離部４０は、署名付き鍵埋め込みホストデータｗ１’＋ｓ１’を電子署名ｓ１’と鍵埋め込みホストデータｗ１’に分離する。ハッシュ生成部４６は、一つ前の署名付き鍵埋め込みホストデータｗ０’＋ｓ０’から分離された電子署名ｓ０’を用いて、ハッシュ関数Ｈにより、鍵埋め込みホストデータｗ１’を検証用のハッシュｒ１＝Ｈ（ｗ１’，ｓ０’）に変換する。ここで、ハッシュ関数Ｈの第２引数は、一つ前の署名付き鍵埋め込みホストデータｗ０’＋ｓ０’から分離された電子署名ｓ０’であり、その電子署名ｓ０’に依存する形でハッシュ計算がなされる。
【００９２】
透かし抽出部４４は、透かし抽出関数Ｘにより、鍵埋め込みホストデータｗ１’から暗号鍵Ｋ１’＝Ｘ（ｗ１’）を抽出する。復号部４２は、暗号鍵Ｋ１’にもとづく復号関数Ｄにより、電子署名ｓ１’をハッシュｈ１’＝Ｄ（ｓ１’，Ｋ１’）に変換する。比較部４８は、復号されたハッシュｈ１’と検証用のハッシュｒ１とを比較する。
【００９３】
以下、後続の署名付き鍵埋め込みホストデータｗ２’＋ｓ２’〜ｗ４’＋ｓ４’についても同様に処理される。
【００９４】
本実施の形態の改ざん検出システムによれば、透かし埋め込み装置１００によりホストデータＰｉに対して生成される電子署名ｓｉは、一つ前のホストデータＰｉ−１に対する電子署名ｓｉ−１に依存しており、時系列ホストデータの時間方向に電子署名の連鎖的な依存関係がある。このため、たとえば、動画像に対して、フレームの挿入、削除、入れ替えなどの改ざんがあった場合、依存関係が崩れるため、透かし抽出装置２００において正しい検証用のハッシュが生成されなくなり、改ざんがあったことを検出することができる。本実施の形態の透かし埋め込み装置１００および透かし抽出装置２００は、監視カメラに利用して、フレーム単位の改ざん検出に役立てることができる。
【００９５】
透かし埋め込み装置１００および透かし抽出装置２００による時系列ホストデータの処理の１単位は、いくつかの動画フレームのまとまりであってもよい。たとえば、ＭＰＥＧ２（Moving Picture Expert Group 2）規格において、ピクチャの集まりであるＧＯＰ（Group Of Picture）を処理の１単位としてもよい。ＭＰＥＧ４規格では、ビデオ・オブジェクトの時系列をＶＯ（Video Object）と呼び、ＶＯを構成する各画像をＶＯＰ（Video Object Plane）と呼ぶ。ＶＯＰはＭＰＥＧ２におけるピクチャに相当する。ＭＰＥＧ４ではＶＯＰの集まりをＧＯＶ（Group Of VOP）として扱っており、このＧＯＶを透かし埋め込み装置１００による処理の１単位としてもよい。この場合、ＧＯＰ、ＧＯＶなどの処理単位で共通の暗号鍵Ｋｉおよび電子署名ｓｉを利用し、この処理単位で改ざんの有無が検出される。
【００９６】
なお、上記の説明では、透かし埋め込み装置１００は、ホストデータＰｉに対して生成される電子署名ｓｉを一つ前のホストデータＰｉ−１に対する電子署名ｓｉ−１のみに依存させる形でハッシュ計算を行ったが、２つ以上前のホストデータに対する電子署名に依存させてもよいし、２つ以上の他のホストデータに対する電子署名に依存させてもよい。ハッシュ計算には、前後のホストデータに係るさまざまな情報を利用して、時間軸方向の依存性をもたせることができる。以下、いくつかのハッシュ計算の変形例を図１６〜図２１で説明する。
【００９７】
図１６は、次のホストデータをハッシュ計算に利用するタイプの透かし埋め込み装置１００の構成図である。このタイプの透かし埋め込み装置１００は、図１２の透かし埋め込み装置１００と同じく、暗号化部３４により生成された一つ前の電子署名を保持し、ハッシュ生成部３２に供給するラッチ部３５を有するが、これ以外に、透かし埋め込み部３０により生成された一つ前の鍵埋め込みホストデータを保持し、署名付加部３６に供給するラッチ部３７を有する点が異なる。図１２の透かし埋め込み装置１００と異なる構成と動作のみ説明する。
【００９８】
ラッチ部３７は、透かし埋め込み部３０により生成された第ｉ番目の鍵埋め込みホストデータｗｉの入力を受けて、その鍵埋め込みホストデータｗｉを次の第（ｉ＋１）番目の鍵埋め込みホストデータｗｉ＋１の入力があるまで保持する。
【００９９】
署名付加部３６は、第（ｉ−１）番目の鍵埋め込みホストデータｗｉ−１をラッチ部３７から読み出し、その鍵埋め込みホストデータｗｉ−１に暗号化部３４により生成された電子署名ｓｉを付加し、署名付き鍵埋め込みホストデータｗｉ−１＋ｓｉを出力する。
【０１００】
図１７は、図１６の透かし埋め込み装置１００によりホストデータＰｉが処理される様子を説明する図である。同図は、ホストデータＰ０〜Ｐ4（符号４３０）に対して、暗号鍵Ｋ０〜Ｋ4（符号４３２）、鍵埋め込みホストデータｗ０〜ｗ4（符号４３４）、ハッシュｈ０〜ｈ4（符号４３６）、電子署名ｓ０〜ｓ4（符号４３８）、および署名付き鍵埋め込みホストデータｗ０＋ｓ１〜ｗ３＋ｓ4（符号４４０）の関係を示している。図１３で説明した処理と異なるのは、最後の符号４４０で示す署名付き鍵埋め込みホストデータｗ０＋ｓ１〜ｗ３＋ｓ4の処理だけである。
【０１０１】
最初のホストデータＰ０をもとに生成された鍵埋め込みホストデータｗ０は、次のホストデータＰ１が処理されるときまで保持され、次のホストデータＰ１の処理過程において、署名付加部３６は、次のホストデータＰ１に対して生成された電子署名ｓ１を最初の鍵埋め込みホストデータｗ０のヘッダに付加し、最初の署名付き鍵埋め込みホストデータｗ０＋ｓ１を生成する。
【０１０２】
ここで、最初の鍵埋め込みホストデータｗ０に付加される電子署名ｓ１は、次の鍵埋め込みホストデータｗ１をハッシュ計算に利用して生成されたものであり、同時に最初のホストデータＰ０に対する電子署名ｓ０に依存する形で生成されている。したがって、時系列ホストデータの処理単位間で連鎖的な依存関係が生まれる。以下、後続のホストデータＰ１〜Ｐ４についても同様に処理される。
【０１０３】
図１８は、過去のホストデータに対する電子署名に代えて、過去のホストデータのハッシュ値に依存させてハッシュ計算を行うタイプの透かし埋め込み装置１００の構成図である。図１２の透かし埋め込み装置１００のラッチ部３５は、暗号化部３４により生成された一つ前の電子署名を保持し、ハッシュ生成部３２に供給したが、本タイプの透かし埋め込み装置１００のラッチ部３５は、ハッシュ生成部３２により生成された一つ前のハッシュ値を保持し、ハッシュ生成部３２に供給する点が異なる。図１２の透かし埋め込み装置１００と異なる構成と動作のみ説明する。
【０１０４】
ラッチ部３５は、ハッシュ生成部３２により生成された第ｉ番目のハッシュｈｉの入力を受けて、そのハッシュｈｉを次の第（ｉ＋１）番目のハッシュｈｉ＋１の入力があるまで保持する。
【０１０５】
ハッシュ生成部３２は、第（ｉ−１）番目のハッシュｈｉ−１をラッチ部３５から読み出し、そのハッシュｈｉ−１に依存させる形で、鍵埋め込みホストデータｗｉを一方向性関数で写像することによりハッシュｈｉを生成し、暗号化部３４に与える。
【０１０６】
図１９は、図１８の透かし埋め込み装置１００によりホストデータＰｉが処理される様子を説明する図である。同図は、ホストデータＰ０〜Ｐ4（符号４５０）に対して、暗号鍵Ｋ０〜Ｋ4（符号４５２）、鍵埋め込みホストデータｗ０〜ｗ4（符号４５４）、ハッシュｈ０〜ｈ4（符号４５６）、電子署名ｓ０〜ｓ4（符号４５８）、および署名付き鍵埋め込みホストデータｗ０＋ｓ０〜ｗ４＋ｓ4（符号４６０）の関係を示している。図１３で説明した処理と異なるのは、符号４５６で示すハッシュｈ０〜ｈ4の処理だけである。
【０１０７】
最初のホストデータＰ０に対して生成されたハッシュｈ０は、次のホストデータＰ１が処理されるときまで保持され、次のホストデータＰ１の処理過程において、ハッシュ生成部３２は、一つ前のホストデータＰ０に対するハッシュｈ０を用いて、ハッシュ関数Ｈにより、鍵埋め込みホストデータｗ１をハッシュｈ１＝Ｈ（ｗ１，ｈ０）に変換する。ここで、ハッシュ関数Ｈの第２引数は、一つ前のホストデータＰ０に対するハッシュｈ０であり、そのハッシュｈ０に依存する形で現在のホストデータＰ１に対するハッシュ計算がなされる。
【０１０８】
以下、後続のホストデータＰ２〜Ｐ４についても同様に処理される。これにより、第ｉ番目のホストデータＰｉに対する電子署名ｓｉは、第ｉ番目のホストデータＰｉに対するハッシュｈｉのみならず、一つ前の第（ｉ−１）番目のホストデータＰｉに対するハッシュｈｉ−１にも依存したものとなり、時系列ホストデータの処理単位間で連鎖的な依存関係が生まれる。
【０１０９】
図２０は、過去のホストデータに対する電子署名に代えて、過去のホストデータの全体に依存させてハッシュ計算を行うタイプの透かし埋め込み装置１００の構成図である。このタイプの透かし埋め込み装置１００は、図１２の透かし埋め込み装置１００のラッチ部３５に代えて、透かし埋め込み部３０により生成された一つ前の鍵埋め込みホストデータを保持し、ハッシュ生成部３２に供給するラッチ部３９を有する点が異なる。図１２の透かし埋め込み装置１００と異なる構成と動作のみ説明する。
【０１１０】
ラッチ部３９は、透かし埋め込み部３０により生成された第ｉ番目の鍵埋め込みホストデータｗｉの入力を受けて、その鍵埋め込みホストデータｗｉを次の第（ｉ＋１）番目の鍵埋め込みホストデータｗｉ＋１の入力があるまで保持する。
【０１１１】
ハッシュ生成部３２は、第（ｉ−１）番目の鍵埋め込みホストデータｗｉ−１をラッチ部３９から読み出し、その鍵埋め込みホストデータｗｉ−１に依存させる形で、鍵埋め込みホストデータｗｉを一方向性関数で写像することによりハッシュｈｉを生成し、暗号化部３４に与える。
【０１１２】
図２１は、図２０の透かし埋め込み装置１００によりホストデータＰｉが処理される様子を説明する図である。同図は、ホストデータＰ０〜Ｐ4（符号４７０）に対して、暗号鍵Ｋ０〜Ｋ4（符号４７２）、鍵埋め込みホストデータｗ０〜ｗ4（符号４７４）、ハッシュｈ０〜ｈ4（符号４７６）、電子署名ｓ０〜ｓ4（符号４７８）、および署名付き鍵埋め込みホストデータｗ０＋ｓ０〜ｗ４＋ｓ4（符号４８０）の関係を示している。図１３で説明した処理と異なるのは、符号４７６で示すハッシュｈ０〜ｈ4の処理だけである。
【０１１３】
最初のホストデータＰ０に対して生成された鍵埋め込みホストデータｗ０は、次のホストデータＰ１が処理されるときまで保持され、次のホストデータＰ１の処理過程において、ハッシュ生成部３２は、一つ前の鍵埋め込みホストデータｗ０を用いて、ハッシュ関数Ｈにより、鍵埋め込みホストデータｗ１をハッシュｈ１＝Ｈ（ｗ１，ｗ０）に変換する。ここで、ハッシュ関数Ｈの第２引数は、一つ前の鍵埋め込みホストデータｗ０であり、その鍵埋め込みホストデータｗ０に依存する形で現在のホストデータＰ１に対するハッシュ計算がなされる。
【０１１４】
以下、後続のホストデータＰ２〜Ｐ４についても同様に処理される。これにより、第ｉ番目のホストデータＰｉに対する電子署名ｓｉは、第ｉ番目の鍵埋め込みホストデータｗｉのみならず、一つ前の第（ｉ−１）番目の鍵埋め込みホストデータｗｉ−１にも依存したものとなり、時系列ホストデータの処理単位間で連鎖的な依存関係が生まれる。
【０１１５】
本実施の形態のいずれの透かし埋め込み装置１００においても、実施の形態３の透かし埋め込み装置１００の構成を適用して、ハッシュ生成部３２が暗号鍵Ｋｉが埋め込まれる前のホストデータＰｉからハッシュを計算してもよい。その場合、時系列データにおいて、透かしの埋め込みとハッシュの計算で異なる時間のデータを用いることにすれば、実施の形態３で述べた透かしとハッシュの干渉の問題を避けることができる。
【０１１６】
実施の形態５
実施の形態５に係る改ざん検出システムは、実施の形態４と同様に、時系列データに対して時間方向に電子署名を関連づけるものであるが、電子署名を作成するためのハッシュ関数が異なる。実施の形態４と異なる構成と動作について説明する。
【０１１７】
図２２は、実施の形態５に係る透かし埋め込み装置１００の構成図である。実施の形態４の透かし埋め込み装置１００では、ハッシュ生成部３２により鍵埋め込みホストデータｗｉからハッシュｈｉを生成してから、暗号化部３４により暗号鍵Ｋｉで暗号化して電子署名ｓｉを生成したが、本実施の形態の透かし埋め込み装置１００では、鍵付きハッシュ生成部３３がこの電子署名ｓｉの生成処理を一括して行う。
【０１１８】
鍵付きハッシュ生成部３３は、第（ｉ−１）番目のホストデータＰｉ−１に対して生成された電子署名ｓｉ−１をラッチ部３５から読み出し、その電子署名ｓｉ−１に依存させる形で、鍵埋め込みホストデータｗｉを暗号鍵Ｋｉにもとづく一方向性関数で写像することにより電子署名ｓｉを生成し、署名付加部３６に与える。鍵付きハッシュ生成部３３で用いられる一方向性関数は、暗号鍵にもとづくものであり、入力メッセージを暗号化されたハッシュ値に変換する。同じ入力メッセージであっても、暗号鍵が異なれば、異なるハッシュ値になる。このハッシュ値は、ＭＡＣ（Message Authentication Code）と呼ばれることがある。
【０１１９】
図２３は、透かし埋め込み装置１００によりホストデータＰｉが処理される様子を説明する図である。同図は、ホストデータＰ０〜Ｐ4（符号４２０）に対して、暗号鍵Ｋ０〜Ｋ4（符号４２２）、鍵埋め込みホストデータｗ０〜ｗ4（符号４２４）、電子署名ｓ０〜ｓ4（符号４２６）、および署名付き鍵埋め込みホストデータｗ０＋ｓ０〜ｗ4＋ｓ4（符号４２８）の関係を示している。
【０１２０】
まず、最初のホストデータＰ０について説明する。透かし埋め込み部３０は、暗号鍵Ｋ０にもとづく透かし埋め込み関数Ｗにより、ホストデータＰ０を鍵埋め込みホストデータｗ０＝Ｗ（Ｐ０，Ｋ０）に変換する。鍵付きハッシュ生成部３３は、鍵付きハッシュ関数Ｈにより、鍵埋め込みホストデータｗ０を電子署名ｓ０＝Ｈ（ｗ０，０，Ｋ０）に変換する。ここで、最初のホストデータＰ０であるため、鍵付きハッシュ関数Ｈの第２引数は０である。
【０１２１】
署名付加部３６は、鍵埋め込みホストデータｗ０のヘッダとして電子署名ｓ０を設けた署名付き鍵埋め込みホストデータｗ０＋ｓ０を生成する。
【０１２２】
次のホストデータＰ１が与えられると、透かし埋め込み部３０は、暗号鍵Ｋ１にもとづく透かし埋め込み関数Ｗにより、ホストデータＰ１を鍵埋め込みホストデータｗ１＝Ｗ（Ｐ１，Ｋ１）に変換する。鍵付きハッシュ生成部３３は、一つ前のホストデータＰ０に対して生成された電子署名ｓ０を用いて、鍵付きハッシュ関数Ｈにより、鍵埋め込みホストデータｗ１を電子署名ｓ１＝Ｈ（ｗ１，ｓ０，Ｋ１）に変換する。ここで、鍵付きハッシュ関数Ｈの第２引数は、一つ前のホストデータＰ０に対する電子署名ｓ０であり、その電子署名ｓ０に依存する形でハッシュ計算がなされる。
【０１２３】
ここで鍵付きハッシュ関数Ｈは、鍵埋め込みホストデータｗ１に暗号鍵Ｋ１を結合したｗ１＋Ｋ１に対して、ハッシュ演算を行うものであってもよい。すなわち、ｓ１＝Ｈ（ｗ１＋Ｋ１，ｓ０）により電子署名ｓ１を求める。鍵埋め込みホストデータｗ１に暗号鍵Ｋ１を結合する処理は、たとえば、鍵埋め込みホストデータｗ１の末尾や先頭に暗号鍵Ｋ１をつなげることで行われる。
【０１２４】
署名付加部３６は、鍵埋め込みホストデータｗ１のヘッダとして電子署名ｓ１を設けた署名付き鍵埋め込みホストデータｗ１＋ｓ１を生成する。
【０１２５】
以下、後続のホストデータＰ２〜Ｐ４についても同様に処理される。
【０１２６】
図２４は、実施の形態５に係る透かし抽出装置２００の構成図である。署名分離部４０は、入力された署名付き鍵埋め込みホストデータｗｉ’＋ｓｉ’から鍵埋め込みホストデータｗｉ’と電子署名ｓｉ’を分離して取り出し、鍵埋め込みホストデータｗｉ’を透かし抽出部４４と鍵付きハッシュ生成部４７に、電子署名ｓｉ’を比較部４８とラッチ部４５にそれぞれ与える。
【０１２７】
透かし抽出部４４は、鍵埋め込みホストデータｗｉ’に電子透かしとして埋め込まれた暗号鍵Ｋｉ’を抽出し、鍵付きハッシュ生成部４７に与える。鍵付きハッシュ生成部４７は、第（ｉ−１）番目の署名付き鍵埋め込みホストデータｗｉ−１’＋ｓｉ−１’に含まれていた電子署名ｓｉ−１をラッチ部４５から読み出し、その電子署名ｓｉ−１に依存させる形で、鍵埋め込みホストデータｗｉ’を暗号鍵Ｋｉ’にもとづく一方向性関数で写像することにより検証用の電子署名ｒｉを生成する。
【０１２８】
比較部４８は、署名分離部４０により取り出された電子署名ｓｉ’と鍵付きハッシュ生成部４７により生成された検証用の電子署名ｒｉとを比較し、ホストデータの改ざんの有無に関する判定結果を出力する。
【０１２９】
図２５は、透かし抽出装置２００により署名付き鍵埋め込みホストデータｗｉ’＋ｓｉ’が処理される様子を説明する図である。同図は、署名付き鍵埋め込みホストデータｗ０’＋ｓ０’〜ｗ４’＋ｓ４’（符号５３０）に対して、電子署名ｓ０’〜ｓ4’（符号５３２）、鍵埋め込みホストデータｗ０’〜ｗ4’（符号５３４）、暗号鍵Ｋ０’〜Ｋ4’（符号５３６）、検証用の電子署名ｒ０〜ｒ4（符号５３８）、および判定結果ｃ０〜ｃ4（符号５４０）の関係を示している。
【０１３０】
まず、最初の署名付き鍵埋め込みホストデータｗ０’＋ｓ０’について説明する。署名分離部４０は、署名付き鍵埋め込みホストデータｗ０’＋ｓ０’を電子署名ｓ０’と鍵埋め込みホストデータｗ０’に分離する。透かし抽出部４４は、透かし抽出関数Ｘにより、鍵埋め込みホストデータｗ０’から暗号鍵Ｋ０’＝Ｘ（ｗ０’）を抽出する。
【０１３１】
鍵付きハッシュ生成部４７は、鍵付きハッシュ関数Ｈにより、鍵埋め込みホストデータｗ０’を検証用の電子署名ｒ０＝Ｈ（ｗ０’，０，Ｋ０’）に変換する。ここで、最初の署名付き鍵埋め込みホストデータｗ０’＋ｓ０’であるため、鍵付きハッシュ関数Ｈの第２引数は０である。比較部４８は、ヘッダから取り出された電子署名ｓ０’と検証用の電子署名ｒ０とを比較する。
【０１３２】
次の署名付き鍵埋め込みホストデータｗ１’＋ｓ１’が与えられると、署名分離部４０は、署名付き鍵埋め込みホストデータｗ１’＋ｓ１’を電子署名ｓ１’と鍵埋め込みホストデータｗ１’に分離する。透かし抽出部４４は、透かし抽出関数Ｘにより、鍵埋め込みホストデータｗ１’から暗号鍵Ｋ１’＝Ｘ（ｗ１’）を抽出する。
【０１３３】
鍵付きハッシュ生成部４７は、一つ前の署名付き鍵埋め込みホストデータｗ０’＋ｓ０’から分離された電子署名ｓ０’を用いて、鍵付きハッシュ関数Ｈにより、鍵埋め込みホストデータｗ１’を検証用の電子署名ｓ１＝Ｈ（ｗ１’，ｓ０’，Ｋ１’）に変換する。ここで、鍵付きハッシュ関数Ｈの第２引数は、一つ前の署名付き鍵埋め込みホストデータｗ０’＋ｓ０’から分離された電子署名ｓ０’であり、その電子署名ｓ０’に依存する形でハッシュ計算がなされる。比較部４８は、ヘッダから取り出された電子署名ｓ１’と検証用の電子署名ｒ１とを比較する。
【０１３４】
以下、後続の署名付き鍵埋め込みホストデータｗ２’＋ｓ２’〜ｗ４’＋ｓ４’についても同様に処理される。
【０１３５】
本実施の形態の透かし埋め込み装置１００および透かし抽出装置２００では、鍵付きハッシュ関数を用いることにより、ホストデータに対する電子署名を一回のハッシュ演算により求めることができるため、処理を高速化することができる。
【０１３６】
実施の形態６
実施の形態６に係る改ざん検出システムは、画像符号化および画像復号を前提としたものであり、実施の形態１の透かし埋め込み装置１００に画像符号化装置１２０が組み込まれ、実施の形態１の透かし抽出装置２００に画像復号装置２２０が組み込まれた構成である。
【０１３７】
図２６は、実施の形態６に係る画像符号化装置１２０が組み込まれた透かし埋め込み装置１００の構成図である。画像符号化装置１２０は、一例として、ＪＰＥＧ（Joint Photographic Expert Group）の後継である離散ウェーブレット変換（ＤＷＴ）を用いたＪＰＥＧ２０００方式により、画像を空間周波数領域に変換し、圧縮符号化を行う。
【０１３８】
ウェーブレット変換部５０は、入力されたホストデータＰをウェーブレット変換し、ウェーブレット変換係数を出力し、量子化部５２に与える。量子化部５２は、ウェーブレット変換係数を量子化し、透かし埋め込み装置１００の透かし埋め込み部３０に与える。
【０１３９】
透かし埋め込み装置１００において、透かし埋め込み部３０は、量子化後のウェーブレット変換係数に暗号鍵Ｋを電子透かしとして埋め込み、鍵埋め込みウェーブレット変換係数を画像符号化装置１２０のエントロピー符号化部５４に与える。
【０１４０】
エントロピー符号化部５４は、鍵埋め込みウェーブレット変換係数をエントロピー符号化して、符号化された鍵埋め込みホストデータｗを出力し、透かし埋め込み装置１００のハッシュ生成部３２に与える。これ以降の透かし埋め込み装置１００におけるハッシュ生成部３２、暗号化部３４、および署名付加部３６の処理は実施の形態１と同じであり、透かし埋め込み装置１００から署名付き鍵埋め込みホストデータｗ＋ｓが出力される。
【０１４１】
図２７は、実施の形態６に係る画像復号装置２２０が組み込まれた透かし抽出装置２００の構成図である。透かし抽出装置２００の署名分離部４０は、入力された署名付き鍵埋め込みホストデータｗ’＋ｓ’から鍵埋め込みホストデータｗ’と電子署名ｓ’を分離して取り出し、鍵埋め込みホストデータｗ’をハッシュ生成部４６と画像復号装置２２０のエントロピー復号部６０に、電子署名ｓ’を復号部４２にそれぞれ与える。
【０１４２】
画像復号装置２２０において、エントロピー復号部６０は、鍵埋め込みホストデータｗ’をエントロピー復号して、復号後の鍵埋め込みホストデータｗ’を逆量子化部６２と透かし抽出装置２００の透かし抽出部４４に与える。これ以降の透かし抽出装置２００における透かし抽出部４４、復号部４２、ハッシュ生成部４６、および比較部４８の処理は実施の形態１と同じであり、透かし抽出装置２００からホストデータの改ざんの有無に関する判定結果が出力される。
【０１４３】
画像復号装置２２０において、逆量子化部６２は復号後の鍵埋め込みホストデータｗ’を逆量子化してウェーブレット逆変換部６４に与え、ウェーブレット逆変換部６４は、逆量子化値に対してウェーブレット逆変換を行い、復号されたホストデータＰ’を出力する。
【０１４４】
本実施の形態の透かし埋め込み装置１００によれば、ホストデータＰが画像符号化装置１２０の量子化部５２により量子化された後のウェーブレット変換係数に暗号鍵を電子透かしとして埋め込むため、電子透かしが量子化によって壊れたり、失われることがない。したがって、本実施の形態の透かし埋め込み装置１００の透かし埋め込み部３０は、暗号鍵の埋め込みに、量子化の影響を受けやすい脆弱な（fragile）電子透かしの方式を用いてもよい。
【０１４５】
なお、本実施の形態の透かし埋め込み装置１００および透かし抽出装置２００に、実施の形態２〜５で説明した透かし埋め込み装置１００および透かし抽出装置２００を利用してもよい。ホストデータＰが動画像である場合は、画像符号化装置１２０は、ＭＰＥＧ２、ＭＰＥＧ４などの圧縮符号化を行う。あるいは、動画の各フレームに対して、ＪＰＥＧなどによる圧縮符号化を行う。
【０１４６】
実施の形態７
実施の形態７に係る改ざん検出システムは、実施の形態６と同様、画像符号化および画像復号を前提としたものであり、実施の形態１の透かし埋め込み装置１００に画像符号化装置１２０が組み込まれ、実施の形態１の透かし抽出装置２００に画像復号装置２２０が組み込まれた構成である。
【０１４７】
図２８は、実施の形態７に係る画像符号化装置１２０が組み込まれた透かし埋め込み装置１００の構成図である。透かし埋め込み装置１００の透かし埋め込み部３０は、ホストデータＰに暗号鍵Ｋを電子透かしとして埋め込み、鍵埋め込みホストデータｗを画像符号化装置１２０のウェーブレット変換部５０に与える。
【０１４８】
ウェーブレット変換部５０は、鍵埋め込みホストデータｗをウェーブレット変換し、鍵埋め込みウェーブレット変換係数を出力し、量子化部５２に与える。量子化部５２は、鍵埋め込みウェーブレット変換係数を量子化し、エントロピー符号化部５４に与える。
【０１４９】
エントロピー符号化部５４は、鍵埋め込みウェーブレット変換係数をエントロピー符号化して、符号化された鍵埋め込みホストデータｗを出力し、透かし埋め込み装置１００のハッシュ生成部３２に与える。これ以降の透かし埋め込み装置１００におけるハッシュ生成部３２、暗号化部３４、および署名付加部３６の処理は実施の形態１と同じであり、透かし埋め込み装置１００から署名付き鍵埋め込みホストデータｗ＋ｓが出力される。
【０１５０】
図２９は、実施の形態７に係る画像復号装置２２０が組み込まれた透かし抽出装置２００の構成図である。透かし抽出装置２００の署名分離部４０は、入力された署名付き鍵埋め込みホストデータｗ’＋ｓ’から鍵埋め込みホストデータｗ’と電子署名ｓ’を分離して取り出し、鍵埋め込みホストデータｗ’をハッシュ生成部４６と画像復号装置２２０のエントロピー復号部６０に、電子署名ｓ’を復号部４２にそれぞれ与える。
【０１５１】
画像復号装置２２０において、エントロピー復号部６０は、鍵埋め込みホストデータｗ’をエントロピー復号して、復号後の鍵埋め込みホストデータｗ’を逆量子化部６２に与える。逆量子化部６２は復号後の鍵埋め込みホストデータｗ’を逆量子化してウェーブレット逆変換部６４に与え、ウェーブレット逆変換部６４は、逆量子化値に対してウェーブレット逆変換を行い、復号されたホストデータＰ’を出力するとともに、復号されたホストデータＰ’を透かし抽出装置２００の透かし抽出部４４に与える。
【０１５２】
これ以降の透かし抽出装置２００における透かし抽出部４４、復号部４２、ハッシュ生成部４６、および比較部４８の処理は実施の形態１と同じであり、透かし抽出装置２００からホストデータの改ざんの有無に関する判定結果が出力される。
【０１５３】
本実施の形態の透かし埋め込み装置１００によれば、ホストデータＰが画像符号化装置１２０の量子化部５２により量子化される前に、ホストデータＰに暗号鍵を電子透かしとして埋め込むため、量子化の過程で電子透かしが壊れる可能性がある。そこで、本実施の形態の透かし埋め込み装置１００の透かし埋め込み部３０は、暗号鍵の埋め込みに、量子化の影響を受けない頑強な（robust）電子透かしの方式を用いる。
【０１５４】
本実施の形態では、実施の形態６とは違って、画像符号化装置１２０および画像復号装置２２０の内部から途中の演算結果を取得したり、内部の演算ユニットに対して入力を与えたりする必要がなく、画像符号化装置１２０と画像復号装置２２０の入出力を利用するだけであるため、画像符号化装置１２０、画像復号装置２２０をそれぞれ、透かし埋め込み装置１００、透かし抽出装置２００に容易に組み込むことができ、構成が簡単である。
【０１５５】
以上、本発明を実施の形態をもとに説明した。これらの実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【０１５６】
上記の説明では、電子署名を暗号するための暗号鍵は、暗号化と復号で同じ鍵が用いられる対称性のある秘密鍵であったが、公開鍵システムを利用して、電子署名の暗号化を秘密鍵で行い、電子署名の復号を公開鍵で行うように構成してもよい。その場合、電子署名の復号に必要な公開鍵がホストデータに電子透かしとして埋め込まれる。
【図面の簡単な説明】
【０１５７】
【図１】従来の改ざん検出システムの構成図である。
【図２】実施の形態１に係る透かし埋め込み装置の構成図である。
【図３】図２の透かし埋め込み装置によりホストデータが処理される様子を説明する図である。
【図４】実施の形態１に係る透かし抽出装置の構成図である。
【図５】図４の透かし抽出装置により署名付き鍵埋め込みホストデータが処理される様子を説明する図である。
【図６】実施の形態２に係る透かし抽出装置の構成図である。
【図７】図６の透かし抽出装置により署名付き鍵埋め込みホストデータが処理される様子を説明する図である。
【図８】実施の形態３に係る透かし埋め込み装置の構成図である。
【図９】図８の透かし埋め込み装置によりホストデータが処理される様子を説明する図である。
【図１０】実施の形態３に係る透かし抽出装置の構成図である。
【図１１】図１０の透かし抽出装置により署名付き鍵埋め込みホストデータが処理される様子を説明する図である。
【図１２】実施の形態４に係る透かし埋め込み装置の構成図である。
【図１３】図１２の透かし埋め込み装置によりホストデータが処理される様子を説明する図である。
【図１４】実施の形態４に係る透かし抽出装置の構成図である。
【図１５】図１４の透かし抽出装置により署名付き鍵埋め込みホストデータが処理される様子を説明する図である。
【図１６】別のタイプの透かし埋め込み装置の構成図である。
【図１７】図１６の透かし埋め込み装置によりホストデータが処理される様子を説明する図である。
【図１８】さらに別のタイプの透かし埋め込み装置の構成図である。
【図１９】図１８の透かし埋め込み装置によりホストデータが処理される様子を説明する図である。
【図２０】さらに別のタイプの透かし埋め込み装置の構成図である。
【図２１】図２０の透かし埋め込み装置によりホストデータが処理される様子を説明する図である。
【図２２】実施の形態５に係る透かし埋め込み装置の構成図である。
【図２３】図２２の透かし埋め込み装置によりホストデータが処理される様子を説明する図である。
【図２４】実施の形態５に係る透かし抽出装置の構成図である。
【図２５】図２４の透かし抽出装置により署名付き鍵埋め込みホストデータが処理される様子を説明する図である。
【図２６】実施の形態６に係る画像符号化装置が組み込まれた透かし埋め込み装置の構成図である。
【図２７】実施の形態６に係る画像復号装置が組み込まれた透かし抽出装置の構成図である。
【図２８】実施の形態７に係る画像符号化装置が組み込まれた透かし埋め込み装置の構成図である。
【図２９】実施の形態７に係る画像復号装置が組み込まれた透かし抽出装置の構成図である。
【符号の説明】
【０１５８】
３０  透かし埋め込み部、  ３２  ハッシュ生成部、  ３３  鍵付きハッシュ生成部、  ３４  暗号化部、  ３５、３７、３９  ラッチ部、  ３６  署名付加部、  ４０  署名分離部、  ４２  復号部、  ４３  暗号化部、  ４４  透かし抽出部、  ４５  ラッチ部、  ４６  ハッシュ生成部、  ４７  鍵付きハッシュ生成部、  ４８  比較部、  ５０  ウェーブレット変換部、  ５２  量子化部、  ５４  エントロピー符号化部、  ６０  エントロピー復号部、  ６２  逆量子化部、  ６４  ウェーブレット逆変換部、  １００  透かし埋め込み装置、  １２０  画像符号化装置、  ２００  透かし抽出装置、  ２２０  画像復号装置。
【図１】
2005236442.tif 000003
【図２】
2005236442.tif 000004
【図３】
2005236442.tif 000005
【図４】
2005236442.tif 000006
【図５】
2005236442.tif 000007
【図６】
2005236442.tif 000008
【図７】
2005236442.tif 000009
【図８】
2005236442.tif 000010
【図９】
2005236442.tif 000011
【図１０】
2005236442.tif 000012
【図１１】
2005236442.tif 000013
【図１２】
2005236442.tif 000014
【図１３】
2005236442.tif 000015
【図１４】
2005236442.tif 000016
【図１５】
2005236442.tif 000017
【図１６】
2005236442.tif 000018
【図１７】
2005236442.tif 000019
【図１８】
2005236442.tif 000020
【図１９】
2005236442.tif 000021
【図２０】
2005236442.tif 000022
【図２１】
2005236442.tif 000023
【図２２】
2005236442.tif 000024
【図２３】
2005236442.tif 000025
【図２４】
2005236442.tif 000026
【図２５】
2005236442.tif 000027
【図２６】
2005236442.tif 000028
【図２７】
2005236442.tif 000029
【図２８】
2005236442.tif 000030
【図２９】
2005236442.tif 000031