(57)【要約】【課題】  コンテンツとメタデータの改ざんを防止することを目的とする。特にメタデータ改ざんにより、コンテンツの改ざんが行われていないが如く見せたうえで流通させる不正を防止する。【解決手段】  コンテンツの一方向性関数による出力値を書き込んだメタデータ関して計算した一方向性関数による出力値を前記コンテンツに対して視覚的に変化がないように埋め込む。【選択図】        図１
2005033640.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツと前記コンテンツに関連付けされたメタデータに関する前記コンテンツ流通において、前記コンテンツの一方向性関数による出力値を書き込んだ前記メタデータに関して計算した一方向性関数による出力値を、前記コンテンツに対して視覚的に変化がないように埋め込むことを特徴とするコンテンツ流通方法。
【請求項２】
コンテンツＡ（ｎ）（ｎ＝１からＭ）の集合体として表されるファイルと、前記ファイルに関連付けされたメタデータに関する前記コンテンツ流通において、
Ａ（ｎ）（ｎ＝１からＭ−１）に対する一方向性関数による出力値をコンテンツＡ（ｎ＋１）に対して視覚的に変化がないように埋め込み、
Ａ（Ｍ）に対する一方向性関数による出力値を前記メタデータに書き込み、
Ａ（Ｍ）に対する一方向性関数による出力値が書かれた前記メタデータに関して計算した一方向性関数による出力値を、前記コンテンツＡ（１）に対して視覚的に変化がないように埋め込むことを特徴とするコンテンツ流通方法。
【請求項３】
コンテンツＡ（ｎ）（ｎ＝１からＭ）の集合体として表されるファイルと、前記ファイルに関連付けされたメタデータに関する前記コンテンツ流通において、
前記コンテンツＡ（１）に対する一方向性関数による出力値をコンテンツＡ（２）に対して視覚的に変化がないように埋め込み、
Ａ（ｎ−１）（ｎ＝２からＭ−１）に対する一方向性関数による出力値が埋め込まれたコンテンツＡ（ｎ）に対する一方向性関数による出力値をコンテンツＡ（ｎ＋１）に対して視覚的に変化がないように埋め込み、
Ａ（Ｍ）に対する一方向性関数による出力値を前記メタデータに書き込み、
Ａ（Ｍ）に対する一方向性関数による出力値が書かれた前記メタデータに関して計算した一方向性関数による出力値を、前記コンテンツＡ（１）に対して視覚的に変化がないように埋め込むことを特徴とするコンテンツ流通方法。
【請求項４】
コンテンツと前記コンテンツに関連付けされたメタデータに関するコンテンツ流通において、前記コンテンツの一方向性関数による出力値を書き込んだ前記メタデータの一方向性関数による出力値を前記コンテンツに対して視覚的に変化がないように埋め込んだ前記コンテンツの改ざん検出方法であって、前記コンテンツから読み取った前記メタデータの一方向性関数による出力値と、前記メタデータから一方向性関数による出力値計算手段で計算した出力値を比較して合致を確認後、前記メタデータに書き込まれた前記コンテンツの一方向性関数による出力値と、前記メタデータの一方向性関数による出力値を除去した前記コンテンツから一方向性関数による出力値計算手段で計算した出力値を比較することを特徴とするコンテンツ改ざん検出方法。
【請求項５】
コンテンツＡ（ｎ）（ｎ＝１からＭ、Ｍは２以上の整数）の集合体として表されるファイルと、前記ファイルに関連付けされたメタデータに関する前記コンテンツ流通におけるコンテンツ改ざん検出方法であって、
前記コンテンツＡ（１）から読み取った前記メタデータの一方向性関数による出力値と、前記メタデータから一方向性関数による出力値計算手段で計算した出力値を比較する第１の比較手段と、
ｎ＝Ｍにおいては、前記メタデータに書き込まれた前記コンテンツＡ（Ｍ）の一方向性関数による出力値と、前記コンテンツＡ（Ｍ）から一方向性関数による出力値計算手段で計算した出力値を比較する第２の比較手段と、
Ｍが３以上の場合、ｎ＝２からＭ−１においては、前記コンテンツＡ（ｎ＋１）に書き込まれた前記コンテンツＡ（ｎ）の一方向性関数による出力値と、前記コンテンツＡ（ｎ）から一方向性関数による出力値計算手段で計算した出力値を比較する第３の比較手段と、
ｎ＝１においては、前記コンテンツＡ（ｎ＋１）に書き込まれた前記メタデータの一方向性関数による出力値と、コンテンツＡ（ｎ）に書き込まれた前記メタデータの一方向性関数による出力値を除去したコンテンツＡ（ｎ）から一方向性関数による出力値計算手段で計算した出力値を比較する第４の比較手段と、を備え、
前記４つの比較手段のうち、少なくともいずれかの比較手段によりコンテンツの改ざん検出を行うことを特徴とするコンテンツ改ざん検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツの流通に係り、特にコンテンツの改ざん防止に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータなどの情報処理装置や、インターネットなどネットワーク技術の進歩と普及に伴って、インターネットを利用した様々なビジネスが活発に行われるようになってきた。例えばインターネット上に商品カタログを公開し、全世界からの注文をインターネットで受信して、該注文に対する商品を配送するなどのビジネスであって、多くの顧客が利用できることと、販売コストがかからないことで、多くの業界で有力な販売チャネルとして注目されている。
【０００３】
有償画像コンテンツビジネスにおいても、他のビジネスと同様に、インターネットを利用することによって顧客の拡大とコスト削減を図るべく、有償画像コンテンツの販売システムを構築するかが重要になってきている。
【０００４】
有償画像コンテンツビジネスを、インターネットを利用して行うにあたって、利用者が検索する画像サンプルと、各画像の販売用画像データとをインターネット上のサーバに保管し、該サーバが利用者の注文を受注して、該注文に応じた販売用画像を、利用者がダウンロードする方法がある。この方法を用いることで、画像提供者は販売対象の画像サンプルと販売用画像をインターネット上のサーバに保管しておくだけで、有償画像の販売を行うことができ、インターネットを利用したビジネスの利点を享受することが可能となった。
【０００５】
しかしながら、データをデジタル化することで再利用性を高め利便性が向上した反面、画像データや音声データなどのコンテンツを加工したり複製することが容易となったため、コンテンツの不正コピー防止、コンテンツの改ざん等、著作権保護の面で大きな問題が浮上している。
【０００６】
このような背景から、不正コピー防止を目的として特に画像データや音声データに対する電子透かし技術が提案されている。電子透かし技術は、デジタルデータに人間が知覚できない程度に透かし情報を埋め込む技術であり，コンテンツに対して一意につけられたＩＤ、購入者のＩＤ、著作権保有者の名前などのメタデータが埋めこまれる。これらの透かし情報により加工や複製による無断使用を追跡することができる（例えば、特許文献１参照）。
【０００７】
さらにコンテンツの改ざん防止を目的として、コンテンツの一方向性関数による出力値であるハッシュ値を計算してメタデータ中に記録する提案もされている。メタデータは、コンテンツのヘッダ部のユーザ領域等、コンテンツの再生に影響しない領域に書かれる場合と、コンテンツとは別に、ファイル名などからコンテンツとメタデータが関連付けられている別ファイルとして作成される場合がある。いずれの場合でも、コンテンツが改竄された場合、改竄されたコンテンツのハッシュ値と、メタデータ中に書かれたハッシュ値とを比較することで、改竄検出を行うことが出来る。
【特許文献１】特開２００２−１０８８５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、コンテンツを改ざんした後、そのコンテンツに合わせてメタデータ中のコンテンツのハッシュ値を書き換える、つまりメタデータも合わせて改ざんすることで、コンテンツの改ざんが行われていないが如く見せたうえで流通させる不正を防止することは提案されていなかった。
【０００９】
本発明は、上記の背景に鑑みてなされたものであり、コンテンツとメタデータの改ざんを防止し、コンテンツの不正流通を防止することを目的とする。
【００１０】
また特に動画コンテンツに適した改ざん防止方法を提案することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を達成するため、本発明に係る第１の発明は、コンテンツの一方向性関数による出力値を書き込んだメタデータに関して計算した一方向性関数による出力値を前記コンテンツに対して視覚的に変化がないように埋め込むことを特徴とする。
【００１２】
本発明に係る第２の発明は、コンテンツＡ（ｎ）（ｎ＝１からＭ）の集合体として表されるファイルと、前記ファイルに関連付けされたメタデータに関する前記コンテンツ流通において、
Ａ（ｎ）（ｎ＝１からＭ−１）に対する一方向性関数による出力値をコンテンツＡ（ｎ＋１）に対して視覚的に変化がないように埋め込み
Ａ（Ｍ）に対する一方向性関数による出力値を前記メタデータに書き込み、
Ａ（Ｍ）に対する一方向性関数による出力値が書かれた前記メタデータに関して計算した一方向性関数による出力値を、前記コンテンツＡ（１）に対して視覚的に変化がないように埋め込むことを特徴とする。
【００１３】
本発明に係る第３の発明は、複数のコンテンツＡ（ｎ）に対して関連付けされたメタデータに関する前記コンテンツ流通において、
前記コンテンツＡ（１）に対する一方向性関数による出力値をコンテンツＡ（２）に対して視覚的に変化がないように埋め込み、
Ａ（ｎ−１）（ｎ＝２からＭ−１）に対する一方向性関数による出力値が埋め込まれたコンテンツＡ（ｎ）に対する一方向性関数による出力値をコンテンツＡ（ｎ＋１）に対して視覚的に変化がないように埋め込み、
Ａ（Ｍ）に対する一方向性関数による出力値を前記メタデータに書き込み、
Ａ（Ｍ）に対する一方向性関数による出力値が書かれた前記メタデータに関して計算した一方向性関数による出力値を、前記コンテンツＡ（１）に対して視覚的に変化がないように埋め込むことを特徴とする。
【００１４】
本発明に係る第４の発明は、コンテンツの電子透かしから読み取った前記メタデータの一方向性関数による出力値と、前記メタデータから一方向性関数による出力値計算手段で計算した一方向性関数による出力値を比較して合致を確認後、前記メタデータに書き込まれた前記コンテンツの出力値と、前記出力値を除去したコンテンツから一方向性関数による出力値計算手段で計算した出力値を比較することを特徴とする。
【００１５】
本発明に係る第５の発明は、コンテンツＡ（ｎ）（ｎ＝１からＭ、Ｍは２以上の整数）の集合体として表されるファイルと、前記ファイルに関連付けされたメタデータに関する前記コンテンツ流通におけるコンテンツ改ざん検出方法であって、
前記コンテンツＡ（１）から読み取った前記メタデータの一方向性関数による出力値と、前記メタデータから一方向性関数による出力値計算手段で計算した出力値を比較する第１の比較手段と、
ｎ＝Ｍにおいては、前記メタデータに書き込まれた前記コンテンツＡ（Ｍ）の一方向性関数による出力値と、前記コンテンツＡ（Ｍ）から一方向性関数による出力値計算手段で計算した出力値を比較する第２の比較手段と、
Ｍが３以上の場合、ｎ＝２からＭ−１においては、前記コンテンツＡ（ｎ＋１）に書き込まれた前記コンテンツＡ（ｎ）の一方向性関数による出力値と、前記コンテンツＡ（ｎ）から一方向性関数による出力値計算手段で計算した出力値を比較する第３の比較手段と、
ｎ＝１においては、前記コンテンツＡ（ｎ＋１）に書き込まれた前記メタデータの一方向性関数による出力値と、コンテンツＡ（ｎ）に書き込まれた前記メタデータの一方向性関数による出力値を除去したコンテンツＡ（ｎ）から一方向性関数による出力値計算手段で計算した出力値を比較する第４の比較手段と、を備え、
前記４つの比較手段のうち、少なくともいずれかの比較手段によりコンテンツの改ざん検出を行うことを特徴とする。
【００１６】
なお、さらに詳細に説明すれば、本発明は下記の構成によって前記課題を解決できた。
【００１７】
（１）コンテンツと前記コンテンツに関連付けされたメタデータに関する前記コンテンツ流通において、前記コンテンツの一方向性関数による出力値を書き込んだ前記メタデータに関して計算した一方向性関数による出力値を、前記コンテンツに対して視覚的に変化がないように埋め込むことを特徴とするコンテンツ流通方法。
【００１８】
（２）コンテンツＡ（ｎ）（ｎ＝１からＭ）の集合体として表されるファイルと、前記ファイルに関連付けされたメタデータに関する前記コンテンツ流通において、Ａ（ｎ）（ｎ＝１からＭ−１）に対する一方向性関数による出力値をコンテンツＡ（ｎ＋１）に対して視覚的に変化がないように埋め込み、Ａ（Ｍ）に対する一方向性関数による出力値を前記メタデータに書き込み、Ａ（Ｍ）に対する一方向性関数による出力値が書かれた前記メタデータに関して計算した一方向性関数による出力値を、前記コンテンツＡ（１）に対して視覚的に変化がないように埋め込むことを特徴とするコンテンツ流通方法。
【００１９】
（３）コンテンツＡ（ｎ）（ｎ＝１からＭ）の集合体として表されるファイルと、前記ファイルに関連付けされたメタデータに関する前記コンテンツ流通において、前記コンテンツＡ（１）に対する一方向性関数による出力値をコンテンツＡ（２）に対して視覚的に変化がないように埋め込み、Ａ（ｎ−１）（ｎ＝２からＭ−１）に対する一方向性関数による出力値が埋め込まれたコンテンツＡ（ｎ）に対する一方向性関数による出力値をコンテンツＡ（ｎ＋１）に対して視覚的に変化がないように埋め込み、Ａ（Ｍ）に対する一方向性関数による出力値を前記メタデータに書き込み、Ａ（Ｍ）に対する一方向性関数による出力値が書かれた前記メタデータに関して計算した一方向性関数による出力値を、前記コンテンツＡ（１）に対して視覚的に変化がないように埋め込むことを特徴とするコンテンツ流通方法。
【００２０】
（４）コンテンツと前記コンテンツに関連付けされたメタデータに関するコンテンツ流通において、前記コンテンツの一方向性関数による出力値を書き込んだ前記メタデータの一方向性関数による出力値を前記コンテンツに対して視覚的に変化がないように埋め込んだ前記コンテンツの改ざん検出方法であって、前記コンテンツから読み取った前記メタデータの一方向性関数による出力値と、前記メタデータから一方向性関数による出力値計算手段で計算した出力値を比較して合致を確認後、前記メタデータに書き込まれた前記コンテンツの一方向性関数による出力値と、前記メタデータの一方向性関数による出力値を除去した前記コンテンツから一方向性関数による出力値計算手段で計算した出力値を比較することを特徴とするコンテンツ改ざん検出方法。
【００２１】
（５）コンテンツＡ（ｎ）（ｎ＝１からＭ、Ｍは２以上の整数）の集合体として表されるファイルと、前記ファイルに関連付けされたメタデータに関する前記コンテンツ流通におけるコンテンツ改ざん検出方法であって、前記コンテンツＡ（１）から読み取った前記メタデータの一方向性関数による出力値と、前記メタデータから一方向性関数による出力値計算手段で計算した出力値を比較する第１の比較手段と、ｎ＝Ｍにおいては、前記メタデータに書き込まれた前記コンテンツＡ（Ｍ）の一方向性関数による出力値と、前記コンテンツＡ（Ｍ）から一方向性関数による出力値計算手段で計算した出力値を比較する第２の比較手段と、Ｍが３以上の場合、ｎ＝２からＭ−１においては、前記コンテンツＡ（ｎ＋１）に書き込まれた前記コンテンツＡ（ｎ）の一方向性関数による出力値と、前記コンテンツＡ（ｎ）から一方向性関数による出力値計算手段で計算した出力値を比較する第３の比較手段と、ｎ＝１においては、前記コンテンツＡ（ｎ＋１）に書き込まれた前記メタデータの一方向性関数による出力値と、コンテンツＡ（ｎ）に書き込まれた前記メタデータの一方向性関数による出力値を除去したコンテンツＡ（ｎ）から一方向性関数による出力値計算手段で計算した出力値を比較する第４の比較手段と、を備え、前記４つの比較手段のうち、少なくともいずれかの比較手段によりコンテンツの改ざん検出を行うことを特徴とするコンテンツ改ざん検出方法。
【発明の効果】
【００２２】
以上のように、本発明によれば、最初にコンテンツのメタデータ自身の改ざん有無、およびメタデータ中に書かれたコンテンツハッシュ値とコンテンツから計算したハッシュ値とを比較してコンテンツの改ざんの有無を検出できるため、メタデータとコンテンツの両者の改ざん有無を検出でき、またメタデータ中のコンテンツハッシュ値が改ざんされて、コンテンツの改ざんがされていないが如く見せる不正防止に効果がある。
【００２３】
また最初にメタデータ、およびコンテンツデータの改ざんを検出した時点で、改ざん時の処理に移行し、検出フローを終了するから、検出フローに必要な時間を短縮できる効果がある。
【００２４】
またフレームデータの集合体としての動画ファイルであっても、動画ファイルのメタデータと各フレームデータの両者の改ざん有無を検出できる。また各フレームデータで改ざんの有無を検証しながら再生の停止、継続など改ざん時の処理を各フレーム単位で行うことが出来る効果がある。
【発明を実施するための最良の形態】
【００２５】
以下、添付図面を参照しながら本発明の好適な実施の形態を説明する。
【実施例１】
【００２６】
図１は、本発明のコンテンツ流通方法で用いられるデータ形態の実施例である。図１において、１１は画像，音楽等のコンテンツ、１２はコンテンツ１１の記録方式、制作日付、著作権情報などを表すメタデータ（属性データ）である。このメタデータ１２は、コンテンツ１１とともに同じファイル中に記録される場合と、別ファイルとしてそれぞれ記録される場合がある。前者の場合、図中点線のようにコンテンツ１１からメタデータに相当する部分を抜き出してメタデータ１２とする。後者の場合、メタデータ１２はファイルの拡張子以外のファイル名を一致させたり、あるいはアーカイブソフトウエアなどによりアーカイブにして閲覧アプリケーションなどでそれぞれのファイルが関連付けられている。１３は、コンテンツ１１又はメタデータ１２のハッシュ値を計算するハッシュ値計算手段である。これはパーソナルコンピュータあるいは撮影装置、録音装置などに含まれていて、撮影又は録音されたコンテンツに対して、そのハッシュ値を計算する。またＡは、ハッシュ値計算手段１３で計算したコンテンツ１１のハッシュ値、Ｂは、ハッシュ値Ａをメタデータ１２の中に記録したデータ、Ｃは、ハッシュ値計算手段１３で計算したデータＢのハッシュ値であって、ハッシュ値埋め込み部１４で、コンテンツ１１に対して電子透かしとして埋め込まれる。
【００２７】
ここでハッシュ値の説明を行うと、ハッシュ値とは一方向関数であるハッシュ関数ｈの出力値であり、ハッシュ関数とは衝突を起こしにくい圧縮関数をいう。ここで衝突とは、異なる入力値ｘ１，ｘ２に対して、ｈ（ｘ１）＝ｈ（ｘ２）となることである。また圧縮関数とは、任意のビット長のビット列をある固定長さのビット列に変換する関数である。
【００２８】
従って、ハッシュ関数とは任意のビット長のビット列をある長さのビット列に変換する関数で、ｈ（ｘ１）＝ｈ（ｘ２）を満たすｘ１，ｘ２を容易に見い出せないものである。ハッシュ関数の代表的なものとしては，ＭＤ５（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ  ５）、ＳＨＡ（Ｓｅｃｕｒｅ  Ｈａｓｈ  ＡｌｇｏｒｉｔｈＭ）などがあり、いずれも一方向関数であるため、生成データから原文を推定することは不可能である。従って、２つのデータに対してハッシュ値が同じ値をとれば、それらのデータは同じであることがわかる。つまりコンテンツに対してあらかじめ計算されたハッシュ値がわかっていれば、そのコンテンツを公開、流通させた後、再びハッシュ値を計算し、事前に計算したものと比較することにより、そのコンテンツが改ざんされたものかどうか検出することが出来る。
【００２９】
図２においてコンテンツにハッシュ値を埋め込む手順のフローチャートについて説明する。Ｆ２１においてコンテンツのハッシュ値をハッシュ値計算手段により計算する。Ｆ２２において、計算されたハッシュ値１４は、コンテンツ１１に関連付けられたメタデータ１２の中に記録される。Ｆ２３においてメタデータ１２のハッシュ値を計算して、Ｆ２４においてそのハッシュ値をコンテンツに埋め込む。
【００３０】
埋め込む方法について、コンテンツに情報を埋め込む電子透かしなどの技術の中には、コンテンツに回復不能の変化を加え、歪みや情報損失が生じる方式もあるため、ここでは回復可能な方式を選択する必要がある。例えば米ロチェスター大学と米ゼロックスなどで開発されたコンテンツ内に情報を隠し、再びそれを取り出す『ｒｅｖｅｒｓｉｂｌｅ  ｄａｔａ  ｈｉｄｉｎｇ』と呼ぶ新たな手法を用いることが出来る。この手法によればオリジナルのデータをゆがめたり、情報を損失することがない。ｒｅｖｅｒｓｉｂｌｅ  ｄａｔａ  ｈｉｄｉｎｇのアルゴリズムでは、権限を持つ受取人がデータを取り出して、データを埋め込む前と全く同じに画像を回復できる。
【００３１】
図３においてコンテンツが改ざんされているかどうか検査するフローチャートについて説明する。
【００３２】
Ｆ３０１においてコンテンツに埋め込まれているメタデータのハッシュ値ＨＭ１を読み込む。Ｆ３０２においてコンテンツ１１に関連したメタデータ１２に対してハッシュ値計算手段１３によってハッシュ値ＨＭ２を計算する。次にＦ３０３において、Ｆ３０１で読み込んだハッシュ値ＨＭ１とＦ３０２で計算したハッシュ値ＨＭ２を比較して、Ｆ３０４において合致していなければメタデータが改ざんされているとして、Ｆ３０５において例えばコンテンツの再生、閲覧を禁止するなど、メタデータ改ざん時の処理を行い、このフローを終了する。Ｆ３０１において、メタデータのハッシュ値ＨＭ１が読み出せない場合も、コンテンツが改ざんされているとしてＦ３０５の処理を経由してこのフローを終了する。
【００３３】
次にＦ３０６において合致していればメタデータは改ざんされていないと判断する。次にＦ３０７でメタデータ内に書かれているコンテンツのハッシュ値ＨＣ１を読み込む。Ｆ３０８ではコンテンツに埋め込まれたメタデータのハッシュ値ＨＭ１を除去して、Ｆ３０９で元のコンテンツからハッシュ値ＨＣ２を計算する。Ｆ３１０では、Ｆ３０７で読み込んだハッシュ値ＨＣ１とＦ３０９で計算したハッシュ値ＨＣ２を比較する。Ｆ３１１においてそれらが合致していなければ、コンテンツは改ざんされているものとして、Ｆ３１２において例えばコンテンツの再生、閲覧を禁止するなど、コンテンツ改ざん時の処理を行いこのフローを終了する。Ｆ３１３において合致していればコンテンツが改ざんされていないと判断して、このフローを終了する。
【００３４】
［発明の実施の他形態］
次に、発明の他実施形態として１つのメタデータファイルに静止画データが複数関連付けられたファイルについて説明する。例えば、秒間数〜数十フレーム（枚）のフレームデータの集合体としての動画ファイルであったり、複数の静止画をアーカイブしたファイルである。ここで混乱を避けるために言葉の定義を行う。例えば動画ファイルとは、Ｍｐｅｇ、ａｖｉなどの拡張子で表された複数のフレームデータの集合体であり、このフレームデータ１枚１枚は静止画コンテンツとして扱うことができる。また、ここでは動画ファイルを構成する各静止画コンテンツをコンテンツＡ（ｎ）といった行列で表すことにする。複数の静止画をアーカイブしたファイルも同様に、アーカイブファイルを構成する各静止画コンテンツをコンテンツＡ（ｎ）といった行列で表すことができる。
【００３５】
以下、本発明に基づく動画ファイルを構成する各静止画コンテンツにハッシュ値を埋め込んでいく過程を説明する。
【００３６】
図４では、動画ファイルを形成するデータとそれらに関してハッシュ値を計算するハッシュ値計算手段からなるハッシュ値埋め込みブロックを表す。Ａ（１）からＡ（Ｍ）までＭ個のコンテンツデータ４１と、メタデータ４２で、例えばフレームレートが秒間３０枚で再生される動画の場合、再生時間がＭ／３０秒の動画コンテンツということになる。メタデータ４２に、この動画のタイトル、作成年月日、著作権情報など、属性情報が記録されている。４３は、ハッシュ値計算手段である。図中、細い矢印は、コンテンツデータをハッシュ値計算手段に読み出すデータの流れを表し、太い矢印はハッシュ値計算手段によって計算されたハッシュ値をコンテンツデータに電子透かしとして埋め込む流れを表し、太い点線の矢印はテキストデータなどの形式でメタデータにハッシュ値を書き込む流れを表している。
【００３７】
図５で、上記コンテンツにハッシュ値を埋め込んでいくフローを説明する。まずｎ＝２として、このフローを開始する。Ｆ５１でコンテンツＡ（ｎ−１）のハッシュ値ＨＣ１（ｎ−１）を計算して、Ｆ５２でコンテンツＡ（ｎ）に対してハッシュ値ＨＣ１（ｎ−１）が電子透かしとして埋め込まれる。電子透かしの方式としては、前述したように『ｒｅｖｅｒｓｉｂｌｅ  ｄａｔａ  ｈｉｄｉｎｇ』などの回復可能な方式を選択する必要がある。次にＦ５３でｎとＭを比較して異なった場合、つまりＭ個のコンテンツすべてにハッシュ値を埋め込んでいない場合、Ｆ５４にてｎを１だけ増加して、Ｆ５１に戻り、コンテンツＡ（ｎ）に対して、一つ前のコンテンツＡ（ｎ−１）のハッシュ値ＨＣ１（ｎ−１）を埋め込む。従ってｎが３からＭにおいては、コンテンツＡ（ｎ）に埋め込まれたハッシュ値ＨＣ１（ｎ−１）は、ハッシュ値ＨＣ１（ｎ−２）が埋め込まれたコンテンツＡ（ｎ−１）に対して計算されることになる。
【００３８】
次にＦ５５でコンテンツＡ（Ｍ）のハッシュ値ＨＣ１（Ｍ）を計算して、それをＦ５６においてメタデータ中の所定の場所に書き込む。Ｆ５７においてメタデータのハッシュ値ＨＬ１を計算して、Ｆ５８においてコンテンツＡ（１）にメタデータのハッシュ値ＨＬ１を埋め込む。
【００３９】
図６、図７において上記コンテンツが改ざんされているかどうか検査するフローチャートについて説明する。
【００４０】
Ｆ６０１においてコンテンツＡ（１）に埋め込まれているメタデータのハッシュ値ＨＬ１を読み込む。Ｆ６０２においてコンテンツ４１と関連付けられたメタデータ４２に対してハッシュ値計算手段４３によってハッシュ値ＨＬ２を計算する。次にＦ６０３において、ハッシュ値ＨＬ１とハッシュ値ＨＬ２を比較して、Ｆ６０４において合致していなければ、メタデータが改ざんされているとして、Ｆ６０５において、例えばコンテンツの再生、閲覧を禁止するなどのメタデータ改ざん時処理を行い、このフローを終了する。Ｆ６０１において、メタデータのハッシュ値ＨＬ１が読み出せない場合も、コンテンツが改ざんされているとしてＦ６０５を経由してこのフローを終了する。
【００４１】
Ｆ６０６においてハッシュ値ＨＬ１とハッシュ値ＨＬ２が合致していればメタデータは改ざんされていないと判断する。次にＦ６０７でメタデータ内に書かれているコンテンツＡ（Ｍ）のハッシュ値ＨＣ１（Ｍ）を読み込む。Ｆ６０８ではコンテンツＡ（Ｍ）に対してハッシュ値計算手段４３によってハッシュ値ＨＣ２（Ｍ）を計算する。次にＦ６０９において、ハッシュ値ＨＣ１（Ｍ）とハッシュ値ＨＣ２（Ｍ）を比較して、Ｆ６１０において合致していなければコンテンツデータが改ざんされているとして、Ｆ６１１において、例えばコンテンツの再生、閲覧を禁止するなどのコンテンツ改ざん時処理を行い、このフローを終了する。Ｆ６０７において、メタデータのハッシュ値ＨＣ１（Ｍ）が読み出せない場合も、コンテンツが改ざんされているとしてこのフローを終了する。次にＦ６１２においてハッシュ値ＨＣ１（Ｍ）とハッシュ値ＨＣ２（Ｍ）が合致していればメタデータは改ざんされていないと判断し、図７の始め（※）に移る。
【００４２】
Ｆ７０１においてＭが３以上であれば、Ｆ７０２に移り、３未満であればＦ７１０に移る。Ｆ７０２においてコンテンツＡ（Ｍ）に埋め込まれているコンテンツＡ（Ｍ−１）のハッシュ値ＨＣ１（Ｍ−１）を読み込む。Ｆ７０３においてコンテンツＡ（Ｍ−１）に対してハッシュ値計算手段４３によってハッシュ値ＨＣ２（Ｍ−１）を計算する。次にＦ７０４において、ハッシュ値ＨＣ１（Ｍ−１）とハッシュ値ＨＣ２（Ｍ−１）を比較して、Ｆ７０５において合致していなければコンテンツＡ（Ｍ−１）が改ざんされている、つまり、コンテンツそのものの信頼性にかけるとしてＦ７０６においてファイルの再生を禁止するなどのコンテンツＡ（Ｍ−１）改ざん時処理を行い、このフローを終了する。Ｆ７０２において、メタデータのハッシュ値ＨＣ１（Ｍ−１）が読み出せない場合も、コンテンツが改ざんされているとしてＦ７０６に進む。次にＦ７０７においてハッシュ値ＨＣ１（Ｍ−１）とハッシュ値ＨＣ２（Ｍ−１）が合致していればコンテンツＡ（Ｍ−１）は改ざんされていないと判断する。
【００４３】
次にＦ７０８でＭに対して１だけ減算して、Ｆ７０９でＭが２であればＦ７１０へ進み、それ以外であれば再びＦ７０２に戻る。Ｆ７１０では、コンテンツＡ（２）に埋め込まれたコンテンツＡ（１）のハッシュ値ＨＣ１（１）を読み込む。Ｆ７１１ではコンテンツＡ（１）からメタデータのハッシュ値ＨＬ１を除去した上で、Ｆ７１２でコンテンツＡ（１）のハッシュ値ＨＣ２（１）を計算する。Ｆ７１２において、ハッシュ値ＨＣ１（１）とハッシュ値ＨＣ２（１）を比較して、Ｆ７１３において合致していなければコンテンツＡ（１）が改ざんされている。つまり、コンテンツそのものの信頼性にかけるとしてＦ７０６においてファイルの再生を禁止するなどのコンテンツ改ざん時処理を行い、このフローを終了する。Ｆ７１０において、コンテンツＡ（１）のハッシュ値ＨＣ１（１）が読み出せない場合も、コンテンツが改ざんされているとしてＦ７０６に進む。次にＦ７１６においてハッシュ値ＨＣ１（１）とハッシュ値ＨＣ２（１）が合致していればメタデータは改ざんされていないと判断し、このフローを終了する。
【図面の簡単な説明】
【００４４】
【図１】本発明のコンテンツ流通方法で用いられるデータ計算方法の実施例を示す図
【図２】コンテンツにハッシュ値を埋め込む手順のフローチャート
【図３】コンテンツが改ざんされているかどうか検査するフローチャート
【図４】本発明のコンテンツ流通方法で用いられるデータ計算方法の他の実施例を示す図
【図５】動画コンテンツなどにハッシュ値を埋め込む手順のフローチャート
【図６】動画コンテンツなどが改ざんされているかどうか検査するフローチャート
【図７】動画コンテンツなどが改ざんされているかどうか検査するフローチャート
【符号の説明】
【００４５】
１１  コンテンツ
１２  メタデータ
１３  ハッシュ値計算手段
【図１】
2005033640.tif 000003
【図２】
2005033640.tif 000004
【図３】
2005033640.tif 000005
【図４】
2005033640.tif 000006
【図５】
2005033640.tif 000007
【図６】
2005033640.tif 000008
【図７】
2005033640.tif 000009