(57)【要約】  コンテンツの正当性の検証をコンテンツの再生と並行して行うため、再生中の処理負荷が高く、再生を行う実行装置は、高性能のプロセッサを搭載しなければならない。  本発明は、ＤＶＤに記録されている暗号化コンテンツを構成する複数の暗号化ユニットのうち、ランダムに選択した所定個数の暗号化ユニットのみを検証に用いることで、検証の処理に係る負荷を軽減した。また、検証の度にランダムに所定個数の暗号化ユニットを選択することで、不正なコンテンツの検出の精度をある程度高めることができる。
2007535189.tif 000002
【特許請求の範囲】
【請求項１】
デジタル著作物と、前記デジタル著作物を構成する複数のデータブロックから生成された複数の記録要約値と、記録要約値群に基づいて生成された記録署名データとを記録している記録媒体から、前記デジタル著作物を読み出して利用するデータ処理装置であって、
前記記録媒体に記録されている前記デジタル著作物を利用する利用手段と、
前記データブロックからランダムに所定数個の選択データブロックを選択する選択手段と、
各選択データブロックから、演算要約値を算出する演算手段と、
前記記録媒体に記録されている記録要約値群から、前記選択データブロックを除く他のデータブロックに対応する残存要約値を読み出す読出手段と、
記録媒体に記録されている前記記録署名データ、前記演算要約値及び前記残存要約値を用いて、前記記録媒体に記録されている前記デジタル著作物の正当性を検証する署名検証手段と、
前記検証の結果、不正であると証明される場合に、前記デジタル著作物の利用を停止する利用制御手段と
を含むことを特徴とするデータ処理装置。
【請求項２】
前記記録媒体に記録されている記録要約値群は、各データブロックに対して生成された一次記録要約値と、複数の一次記録要約値から生成された複数の二次記録要約値とからなり、前記記録署名データは、前記二次記録要約値に対してデジタル署名が施されて生成されたものであり、
前記読出手段は、前記記録媒体に記録されている一次記録要約値群から、前記選択データブロックを除く他のデータブロックに対応する前記残存要約値を読み出し、
前記署名検証手段は、前記演算要約値及び前記残存要約値に基づいて、１個以上の二次演算要約値を算出し、前記記録署名データ、前記二次記録要約値及び前記二次演算要約値を用いて、デジタル署名検証を施して、前記デジタル著作物の正当性を検証する
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記記録媒体に記録されている前記デジタル著作物は、複数個のファイルから構成され、各ファイルは、二次記録要約値に対応し、複数のデータブロックから構成され、
各二次記録要約値は、対応するファイルを構成する複数のデータブロックのそれぞれに対する一次記録要約値を用いて生成され、
前記署名検証手段は、
前記記録媒体から前記記録署名データを読み出す読出部と、
選択された選択データブロックを含む各ファイルについて、当該ファイルに含まれるデータブロックのうち当該選択データブロックを除く残存データブロックに対応する一次記録要約値と、当該選択データブロックに対応する演算要約値とを用いて、前記二次演算要約値を算出する算出部と、
選択された選択データブロックを含まない各ファイルについて、当該ファイルに対応する二次記録要約値を読み出す読出部と、
算出された二次演算要約値と、読み出した二次記録要約値とを用いて、デジタル署名を施して、演算署名データを生成する署名部と、
演算署名データと記録署名データとを比較する比較部とを含み、
前記署名検証手段は、一致する場合に、前記デジタル著作物が正当であるとし、一致しない場合に、前記デジタル著作物が不正であるとする
ことを特徴とする請求項２のデータ処理装置。
【請求項４】
各要約値は、ハッシュ関数により生成されたハッシュ値であり、
前記演算手段は、各選択データブロックにハッシュ関数を施して、ハッシュ値を算出し、算出したハッシュ値を前記演算要約値とし、
前記算出部は、一次記録要約値と演算要約値とに、ハッシュ関数を施して、ハッシュ値を算出し、算出したハッシュ値を前記二次演算要約値とする
ことを特徴とする請求項３のデータ処理装置。
【請求項５】
前記デジタル著作物は、デジタルコンテンツであって、
前記利用手段は、前記デジタルコンテンツを、再生することにより前記デジタルコンテンツを利用する
ことを特徴とする請求項３に記載のデータ処理装置。
【請求項６】
前記デジタル著作物は、コンピュータプログラムであって、前記利用手段は、前記コンピュータプログラムを構成する命令コードを解読し、解読した命令コードに従って動作することにより、前記コンピュータプログラムを利用する
ことを特徴とする請求項３に記載のデータ処理装置。
【請求項７】
前記利用制御手段に代えて、前記デジタル著作物が不正であると証明される場合に、その旨を表示する警告表示手段を備える
ことを特徴とする請求項３に記載のデータ処理装置。
【請求項８】
少なくともデジタル著作物と、当該記録媒体の空き容量が所定値以下になるようにデータサイズを調整して生成された充填コンテンツと、前記デジタル著作物及び前記充填コンテンツとに基づいて生成された署名データとを記録している記録媒体から、前記デジタル著作物を読み出して利用する請求項１のデータ処理装置であって、
前記デジタル著作物を利用する利用手段と、
前記デジタル著作物と前記充填コンテンツと前記署名データとを基に、前記デジタル著作物及び前記充填コンテンツの正当性を検証する検証手段と、
前記検証の結果、前記デジタル著作物及び又は前記充填コンテンツが不正であると証明される場合に、前記デジタル著作物の利用を停止する利用制御手段と
を備えることを特徴とする請求項１に記載のデータ処理装置。
【請求項９】
デジタル著作物と、外部機器によるアクセスが許可される当該記録媒体上の許可領域を示す領域情報と、前記デジタル著作物及び前記領域情報とに基づいて生成された署名データとを記録している記録媒体から前記デジタル著作物を読み出して利用する請求項１のデータ処理装置であって、
前記領域情報に基づいて、前記許可領域外へのアクセスを禁止するアクセス禁止手段、
前記デジタル著作物を利用する利用手段、
前記デジタル著作物と前記領域情報と前記署名データとを基に、前記デジタル著作物及び前記領域情報の正当性を検証する検証手段、
前記検証の結果、前記デジタル著作物又は前記領域情報が不正であると証明される場合に、前記デジタル著作物の利用を停止する利用制御手段
とを備えることを特徴とする請求項１に記載のデータ処理装置。
【請求項１０】
前記選択手段、前記演算手段、前記読出手段及び前記署名検証手段は、１個の大規模集積回路から構成されている
ことを特徴とする請求項１のデータ処理装置。
【請求項１１】
記録媒体であって、
デジタル著作物、
前記デジタル著作物を構成する複数のデータブロックから生成された複数の要約値と、
要約値群に基づいて生成された署名データと
を記憶していることを特徴とする記録媒体。
【請求項１２】
デジタル著作物と、デジタル著作物を構成する複数のデータブロックから生成された複数の記録要約値と、記録要約値群に基づいて生成された記録署名データとを記録している記録媒体から、前記デジタル著作物を読み出して利用するデータ処理方法であって、
前記記録媒体に記録されている前記デジタル著作物を利用する利用ステップ、
前記データブロックからランダムに所定数個の選択データブロックを選択する選択ステップ、
各選択データブロックから、演算要約値を算出する演算ステップ、
前記記録媒体に記録されている記録要約値群から、前記選択データブロックを除く他のデータブロックに対応する残存要約値を読み出す読出ステップ、
記録媒体に記録されている前記記録署名データ、前記演算要約値及び前記残存要約値を用いて、前記記録媒体に記録されている前記デジタル著作物の正当性を検証する署名検証ステップ、
前記検証の結果、不正であると証明される場合に、前記デジタル著作物の利用を停止する利用制御ステップ
を含むことを特徴とするデータ処理方法。
【請求項１３】
デジタル著作物と、デジタル著作物を構成する複数のデータブロックから生成された複数の記録要約値と、記録要約値群に基づいて生成された記録署名データとを記録している記録媒体から、前記デジタル著作物を読み出して利用するデータ処理プログラムであって、
前記記録媒体に記録されている前記デジタル著作物を利用する利用ステップと、
前記データブロックからランダムに所定数個の選択データブロックを選択する選択ステップと、
各選択データブロックから、演算要約値を算出する演算ステップと、
前記記録媒体に記録されている記録要約値群から、前記選択データブロックを除く他のデータブロックに対応する残存要約値を読み出す読出ステップと、
記録媒体に記録されている前記記録署名データ、前記演算要約値及び前記残存要約値を用いて、前記記録媒体に記録されている前記デジタル著作物の正当性を検証する署名検証ステップと、
前記検証の結果、不正であると証明される場合に、前記デジタル著作物の利用を停止する利用制御ステップと
を含むことを特徴とするデータ処理プログラム。
【請求項１４】
前記データ処理プログラムは、
コンピュータ読み取り可能な記録媒体に記録されている
ことを特徴とする請求項１３に記載の制御プログラム。
【請求項１５】
前記データ処理プログラムは、
電気通信回線を通じて送受信される
ことを特徴とする請求項１３に記載の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツの正当性を検証する技術に関するものであり、特に、かかる検証の処理負荷を軽減する技術に関する。
【背景技術】
【０００２】
コンテンツの違法な複製、改ざん及び差し替えといった不正行為を防ぐ方法として、コンテンツが正当な権利者により発行されたことを示す署名情報や、改ざんなどの施された不正コンテンツの有無を検証するための検証情報をコンテンツと共に配布することが挙げられる。
一例として、特許文献１には、ネットワークを介して、署名情報と検証情報とコンテンツとを配布し、コンテンツの正当性を検証する技術が開示されている。この技術によると、コンテンツの送信に先立って、送信元の署名情報とコンテンツを構成する各部分コンテンツの整合性を確認するための検証情報とを含む認証情報が、実行装置に送信される。実行装置は、認証情報を受信すると、認証情報に含まれる署名情報を検証する。署名情報の検証が成功であれば、コンテンツを受信し、再生する。再生と並行して、検証情報を用いて、各部分コンテンツの整合性の検証を繰り返し、検証が失敗すると再生を停止する。
【０００３】
この技術により、不正なコンテンツが配布されても、実行装置ではそのコンテンツの再生を開始しないか、もしくは、途中で再生を停止する。
【特許文献１】米国特許第６４８０９６１号公報
【特許文献２】特開2002-281013号公報
【非特許文献１】http://positron.jfet.org/dvdvideo.html（２００４年、５月１７日検索）
【非特許文献２】http://www.pioneer.co.jp/crdl/tech/mpeg/1.html（２００４年、５月１７日検索）
【非特許文献３】「ＴＨＥ  ＡＲＴ  ＯＦ  ＣＯＭＰＵＴＥＲ  ＰＲＯＧＲＡＭＭＩＮＧ      Ｖｏｌ．２  〜  ＳＥＭＩＮＵＭＥＲＩＣＡＬ  ＡＬＧＯＲＩＴＨＭＳ」    ＤＯＮＡＬＤ  Ｅ．  ＫＮＵＴＨ  著、ＩＳＢＮ  ０−２０１−０３８２２−６
【非特許文献４】「情報セキュリティ」宮地充子・菊池浩明編著  情報処理学会編集
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、前記従来技術では、実行装置は再生と並行して、検証情報の検証を続けなければならず、コンテンツ再生中の実行装置の処理負荷が高いという課題を有している。
さらに、セキュリティ上の観点から、コンテンツに代わって、暗号化コンテンツが配布されることも多い。このような場合、実行装置は、復号の処理も並行して行わなければならず、ますます処理負荷が高まる。
【０００５】
従って、実行装置は、これらの処理を並行して行うことができる高性能のプロセッサを搭載していなければならない。
本発明は、これらの問題を解決するものであり、コンテンツ再生中の実行装置の処理負荷を軽減させることで、搭載しているプロセッサの性能が低い場合であっても、支障なくコンテンツの再生が可能な、データ処理装置、データ処理方法、データ処理プログラム、記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成すために、本発明は、デジタル著作物と、前記デジタル著作物を構成する複数のデータブロックから生成された複数の記録要約値と、記録要約値群に基づいて生成された記録署名データとを記録している記録媒体から、前記デジタル著作物を読み出して利用するデータ処理装置であって、前記記録媒体に記録されている前記デジタル著作物を利用する利用手段と、前記データブロックからランダムに所定数個の選択データブロックを選択する選択手段と、各選択データブロックから、演算要約値を算出する演算手段と、前記記録媒体に記録されている記録要約値群から、前記選択データブロックを除く他のデータブロックに対応する残存要約値を読み出す読出手段と、記録媒体に記録されている前記記録署名データ、前記演算要約値及び前記残存要約値を用いて、前記記録媒体に記録されている前記デジタル著作物の正当性を検証する署名検証手段と、前記検証の結果、不正であると証明される場合に、前記デジタル著作物の利用を停止する利用制御手段とをふくむことを特徴とする。
【発明の効果】
【０００７】
この構成によると、本発明のデータ処理装置の選択手段は、前記データブロックから所定数個の選択データブロックを選択し、前記演算手段は、選択した前記選択データブロックから演算要約値を算出し、前記署名検証手段は、算出した演算要約値と記録媒体から読み出した前記残存要約値と前記記録署名データとを用いて、前記デジタル著作物の正当性を検証する。つまり、新たに、算出する演算要約値を所定個数に限定することにより前記記録署名データの検証に係る一連の処理負荷を軽減することができる。
【０００８】
さらに、前記選択手段は、選択データブロックをランダムに選択する。従って、前記検証が行われるたびに異なるデータブロックが、検証の対象となるので、前記検証に用いるデータブロックを所定個数に限定することによって生じる、検証の精度の低下をある程度、補うことができる。また、何れのデータブロックが選択データブロックとして選択されるかを、第三者が予測することは困難であるため、前記デジタル著作物のうち、前記検証に用いない部分のみを改ざんしたり、不正な情報に差し替えたりするような不正行為を抑制することができる。
【０００９】
また、本発明の前記データ処理装置は、前記記録媒体に記録されている記録要約値群は、各データブロックに対して生成された一次記録要約値と、複数の一次記録要約値から生成された複数の二次記録要約値とからなり、前記記録署名データは、前記二次記録要約値に対してデジタル署名が施されて生成されたものであり、前記読出手段は、前記記録媒体に記録されている一次記録要約値群から、前記選択データブロックを除く他のデータブロックに対応する前記残存要約値を読み出し、前記署名検証手段は、前記演算要約値及び前記残存要約値に基づいて、１個以上の二次演算要約値を算出し、前記記録署名データ、前記二次記録要約値及び前記二次演算要約値を用いて、デジタル署名検証を施して、前記デジタル著作物の正当性を検証する。
【００１０】
この構成によると、前記要約値は一次記録要約値と二次記録要約値とから構成され、前記署名検証手段は、前記演算要約値と前記残存要約値とに基づいて１個以上の二次演算要約値を算出する。従って、前記読出手段は、前記二次演算要約値の算出に必要な一次記録要約値と、前記選択データブロックと対応していない二次要約値とを読み出せばよく、前記記録媒体から読み出す記録要約値の総数を削減することができる。
【００１１】
また、前記記録媒体に記録されている前記デジタル著作物は、複数個のファイルから構成され、各ファイルは、二次記録要約値に対応し、複数のデータブロックから構成され、各二次記録要約値は、対応するファイルを構成する複数のデータブロックのそれぞれに対する一次記録要約値を用いて生成され、前記データ処理装置を構成する、前記署名検証手段は、前記記録媒体から前記記録署名データを読み出す読出部と、選択された選択データブロックを含む各ファイルについて、当該ファイルに含まれるデータブロックのうち当該選択データブロックを除く残存データブロックに対応する一次記録要約値と、当該選択データブロックに対応する演算要約値とを用いて、前記二次演算要約値を算出する算出部と、選択された選択データブロックを含まない各ファイルについて、当該ファイルに対応する二次記録要約値を読み出す読出部と、算出された二次演算要約値と、読み出した二次記録要約値とを用いて、デジタル署名を施して、演算署名データを生成する・署名部と、演算署名データと記録署名データとを比較する比較部とを含み、前記署名検証手段は、一致する場合に、前記デジタル著作物が正当であるとし、一致しない場合に、前記デジタル著作物が不正であるとする。
【００１２】
この構成によると、前記読出手段は、選択された選択データブロックを含む各ファイルについて、当該ファイルに含まれるデータブロックのうち当該選択データブロックを除く残存データブロックに対応する一次記録要約値を読み出し、前記署名検証手段に含まれる読出部は、選択された選択データブロックを含まない各ファイルについて、当該ファイルに対応する二次記録要約値を前記記録媒体か読み出す。したがって、前記記録媒体から読み出す記録要約値の総数を、削減することができる。
【００１３】
また、前記二次記録要約値と前記二次演算要約値とを基に、演算署名データを生成し、生成した演算署名データと前記記録署名データとを比較することで、容易に前記デジタル著作物の正当性の検証を行うことができる。
本発明において、各要約値は、ハッシュ関数により生成されたハッシュ値であり、前記データ処理装置を構成する前記演算手段は、各選択データブロックにハッシュ関数を施して、ハッシュ値を算出し、算出したハッシュ値を前記演算要約値とし、前記算出部は、一次記録要約値と演算要約値とに、ハッシュ関数を施して、ハッシュ値を算出し、算出したハッシュ値を前記二次演算要約値とする。
【００１４】
この構成によると、前記要約値はハッシュ関数により生成されたものであり、前記演算手段及び前記算出部は、ハッシュ関数を用いて、前記演算要約値及び前記二次演算要約値を算出する。
ハッシュ関数は、一方向関数であるため、前記選択データブロックと対応する前記一次記録要約値の算出に用いられたデータブロックと、前記選択データブロックとが一部でも異なると、前記一次記録要約値と前記一次演算要約値とは一致しない。したがって、前記選択データブロックが改ざんされた場合、前記演算要約値及び前記二次演算要約値は、前記記録媒体に記録されている対応する一次要約値及び二次要約値と一致せず前記選択データブロックの改ざんを正確に検出することができる。
【００１５】
また、前記デジタル著作物は、デジタルコンテンツであって、本発明であるデータ処理装置を構成する前記利用手段は、前記デジタルコンテンツを、再生することにより前記デジタルコンテンツを利用する。
この構成によると、前記利用制御手段は、不正に改ざんされたデジタルコンテンツの再生を停止する。これにより、不正に改ざんされたコンテンツの流通を抑制することができる。
【００１６】
前記デジタル著作物は、コンピュータプログラムであって、本発明の前記データ処理装置を構成する、前記利用手段は、前記コンピュータプログラムを構成する命令コードを解読し、解読した命令コードに従って動作することにより、前記コンピュータプログラムを利用する。
この構成によると、前記利用制御手段は、不正に改ざんされたコンピュータプログラムの実行を停止させる。これにより、不正なプログラムの実行による悪影響、例えば、ユーザデータの破壊、本来利用すべきでないデータの利用などを防止することができる。
【００１７】
また、前記データ処理装置は、前記利用制御手段に代えて、前記デジタル著作物が不正であると証明される場合に、その旨を表示する警告表示手段を備えることを特徴とする。
この構成によると、前記警告表示手段は、前記デジタル著作物が不正であると証明される場合に、その旨を表示するため、当該データ処理装置は、前記記録媒体に記録されているデジタル著作物が、不正であることを利用者に通知することができる。これにより、利用者は、前記記録媒体に記録されているデジタル著作物が不正であることを、認識し、以後、前記記録媒体を当該データ処理装置に装着しないなどの防衛行動をとり、前記デジタル著作物の利用によって生じうる悪影響を回避することができる。
【００１８】
また、本発明は、少なくともデジタル著作物と、当該記録媒体の空き容量が所定値以下になるようにデータサイズを調整して生成された充填コンテンツと、前記デジタル著作物及び前記充填コンテンツとに基づいて生成された署名データとを記録している記録媒体から、前記デジタル著作物を読み出して利用するデータ処理装置であって、前記デジタル著作物を利用する利用手段と、前記デジタル著作物と前記充填コンテンツと前記署名データとを基に、前記デジタル著作物及び前記充填コンテンツの正当性を検証する検証手段と、前記検証の結果、前記デジタル著作物及び又は前記充填コンテンツが不正であると証明される場合に、前記デジタル著作物の利用を停止する利用制御手段とを備える。
【００１９】
この構成によると、前記記録媒体には、前記充填コンテンツが記録されており、その空き容量が、十分小さい所定値以下であれば、不正な第三者は、当該記録媒体に、不正な情報を追記することができない。さらに、前記データ処理装置は、前記デジタル著作物のみならず、前記充填コンテンツの正当性も検証するため、前記充填コンテンツの一部又は全部が不正に改ざんされた場合でも、前記デジタル著作物の利用を停止する。従って、このような不正によって、配布された不正な情報の利用を阻止することができる。
【００２０】
また、本発明は、デジタル著作物と、外部機器によるアクセスが許可される当該記録媒体上の許可領域を示す領域情報と、前記デジタル著作物及び前記領域情報とに基づいて生成された署名データとを記録している記録媒体から前記デジタル著作物を読み出して利用するデータ処理装置であって、前記領域情報に基づいて、前記許可領域外へのアクセスを禁止するアクセス禁止手段と、前記デジタル著作物を利用する利用手段と、前記デジタル著作物と前記領域情報と前記署名データとを基に、前記デジタル著作物及び前記領域情報の正当性を検証する検証手段と、前記検証の結果、前記デジタル著作物又は前記領域情報が不正であると証明される場合に、前記デジタル著作物の利用を停止する利用制御手段とを備えることを特徴とする。
【００２１】
一般に、記録媒体には、デジタル著作物などのほかに、デジタル著作物の利用手順を示す手順ファイルが含まれている場合がある。この構成によると、前記データ処理装置は、前記領域情報の示す前記許可領域以外の領域にはアクセスしない。従って、不正な第三者が、前記記録媒体の空き領域に不正な情報を追記し、さらに、不正な情報を利用させるように、前記手順ファイルを改ざんしたとしても、前記データ処理装置は、不正な情報を読み出すことはない。
【００２２】
また、前記署名データは、前記デジタル著作物及び前記領域情報を基に生成されているため、不正者が、前記領域情報を改ざんした場合、前記利用制御手段は、前記利用手段による前記デジタル著作物の利用を停止し、不正な情報の利用を阻止することができる。
ここで、請求項中のデータ処理装置は、以下の実施の形態における実行装置である。また、請求項におけるデータブロックは、実施の形態１、５、６の暗号化ユニットに相当する。また、請求項におけるデータブロックは、実施の形態２〜４の部分コンテンツに相当する。
【発明を実施するための最良の形態】
【００２３】
１．実施の形態１
以下に、本発明の実施の形態の一例として、不正コンテンツ検知システム１について、図を用いて説明する。
１．１  不正コンテンツ検知システム１
不正コンテンツ検知システム１は、図１に示すように、配布装置１１００、実行装置１６００及びモニタ１６２０から構成される。
【００２４】
配布装置１１００は、一例として、画像及び音声を含むコンテンツの正当な著作権者の所有する機器である。操作者の操作に従って、コンテンツを取得し、取得したコンテンツを暗号化して暗号化コンテンツを生成する。また、コンテンツを用いて、実行装置１６００において、不正コンテンツの有無の検証に用いられるヘッダ情報など各種の情報を生成する。さらに、配布装置１１００に固有の署名鍵を用いて署名情報を生成し、生成した暗号化コンテンツ、署名情報、ヘッダ情報などをＤＶＤ（Digital Versatile Disk）１５００に書き込む。
【００２５】
ＤＶＤ１５００は、販売店などを通じて、利用者に販売又は配布される。
実行装置１６００は、ＤＶＤ１５００を装着され、装着されたＤＶＤ１５００から署名情報、ヘッダ情報などを読み出し、これらの情報を基に、読み出した署名情報の検証と不正コンテンツの有無の検証とを合わせて行う。
署名情報の検証が、成功である場合のみ、実行装置１６００は、コンテンツの再生を開始する。
【００２６】
以下に、不正コンテンツ検知システム１を構成する各装置及びＤＶＤ１５００について、詳細に説明する。
１．２  配布装置１１００
配布装置１１００は、図２に示すように、入力部１１０１、コンテンツ鍵生成部１１０２、鍵ブロック生成部１１０３、実行装置情報格納部１１０４、ユニット生成部１１０５、暗号処理部１１０６、ヘッダ情報生成部１１０７、署名情報生成部１１１１、署名鍵記憶部１１１２及び記録部１１１４から構成される。
【００２７】
（１）入力部１１０１
入力部１１０１は、操作者の操作によって、外部機器又は外部の記録メディアからコンテンツを受け取る。ここで、入力部１１０１が受け取るコンテンツの構成を、図３を用いて説明する。
図３に示すように、入力部１１０１が受け取るコンテンツ１１２０は、ｃ個（ｃは１以上の整数）のファイル１１２１「ＣＮＴ１」、１１２２「ＣＮＴ２」、１１２３「ＣＮＴ３」・・・１１２４「ＣＮＴｃ」から構成される。ここで、入力部１１０１が取得するコンテンツ１１２０は、実行装置１６００（詳細は後述する）において、再生可能な形式であって、一例として、ＤＶＤ−Ｖｉｄｅｏ形式、ＭＰＥＧ（Moving Picture Experts Group ）２形式などである。本実施の形態では、コンテンツ１１２０は、ＤＶＤ−Ｖｉｄｅｏ形式であり、各ファイルは、ＶＯＢ（Ｖｉｄｅｏ  ＯＢｊｅｃｔ）ファイルであるとして説明する。
【００２８】
入力部１１０１は、コンテンツ１１２０を取得すると、コンテンツ鍵生成部１１０２へ、コンテンツ鍵の生成を指示し、取得したコンテンツ１１２０をユニット生成部１１０５へ出力する。
（２）コンテンツ鍵生成部１１０２
コンテンツ鍵生成部１１０２は、入力部１１０１からコンテンツ鍵の生成を指示される。コンテンツ鍵の生成を指示されると、擬似乱数を生成し、生成した擬似乱数を用いて１２８ビット長のコンテンツ鍵「ＣＫ」を生成する。擬似乱数に代わって、信号のノイズなどを利用して真性乱数を生成しても良い。乱数を生成する方法については、非特許文献３が詳しい。また、コンテンツ鍵の生成には、他の方法を用いても良い。
【００２９】
次に、生成したコンテンツ鍵「ＣＫ」を鍵ブロック生成部１１０３及び暗号処理部１１０６へ出力する。
（３）鍵ブロック生成部１１０３及び実行装置情報格納部１１０４
実行装置情報格納部１１０４は、一例として、ＲＯＭ、ＥＥＰＲＯＭなどから構成され、図４に示すように装置識別テーブル１１３０を記憶している。
【００３０】
装置識別テーブル１１３０は、ｎ個の装置識別子とｎ個のデバイス鍵から構成される（ｎは自然数）。装置識別子は、配布装置１１００によりＤＶＤ１５００に書き込まれた情報を、ＤＶＤ１５００から読み出し、再生することが許可されている機器それぞれに固有の識別情報である。デバイス鍵は装置識別子と１対１に対応しており、装置識別子の示す機器に固有の鍵情報である。例えば、装置識別子１１３１「ＡＩＤ＿１」は、デバイス鍵１１３６「ＤＫ＿１」と対応している。
【００３１】
鍵ブロック生成部１１０３は、コンテンツ鍵生成部１１０２からコンテンツ鍵「ＣＫ」を受け取り、鍵ブロックを生成する。
図５は、ここで生成される鍵ブロック１１５０の構成の一例を示している。鍵ブロック１１５０は、ｎ個の装置識別子とｎ個の暗号化コンテンツ鍵から構成される。装置識別子は、装置識別テーブル１１３０に含まれる装置識別子と同一である。装置識別子と暗号化コンテンツ鍵は１対１に対応しており、暗号化コンテンツ鍵は、対応するデバイス鍵を用いてコンテンツ鍵「ＣＫ」に暗号化アルゴリズムＥ１を施して生成されたものである。例えば、装置識別子１１４１「ＡＩＤ＿１」は、装置識別テーブル１１３０に含まれる装置識別子１１３１「ＡＩＤ＿１」と同一であり、暗号化コンテンツ鍵１１４２「Ｅｎｃ（ＤＫ＿１，ＣＫ）」と対応している。暗号化コンテンツ鍵１１４２「Ｅｎｃ（ＤＫ＿１，ＣＫ）」は、装置識別テーブル１１３０に含まれるデバイス鍵１１３６「ＤＫ＿１」を用いてコンテンツ鍵「ＣＫ」を暗号化して生成されたものである。以下の説明において、鍵Ａを用いて、平文Ｂを暗号化して生成された暗号文をＥｎｃ（Ａ，Ｂ）と表記する。
【００３２】
以下に鍵ブロック１１５０を生成する手順を説明する。
鍵ブロック生成部１１０３は、コンテンツ鍵「ＣＫ」を受け取ると、実行装置情報格納部１１０４の装置識別テーブル１１３０から、１行目の装置識別子１１３１「ＡＩＤ＿１」とデバイス鍵１１３６「ＤＫ＿１」とを読み出す。読み出したデバイス鍵１１３６「ＤＫ＿１」を用いて、コンテンツ鍵「ＣＫ」に暗号化アルゴリズムＥ１を施して暗号化コンテンツ鍵「Ｅｎｃ（ＤＫ＿１，ＣＫ）」を生成する。ここで、暗号化アルゴリズムＥ１は、一例としてＡＥＳ（Advanced Encryption Standard）を用いる。ＡＥＳについては、非特許文献４に詳しく紹介されている。また、暗号方式は、これに限るものではなく、他の方式を用いても良い。
【００３３】
読み出した装置識別子１１３１「ＡＩＤ＿１」と生成した暗号化コンテンツ鍵「Ｅｎｃ（ＤＫ＿１，ＣＫ）」とを対応付けて記憶する。
ｎ個の装置識別子とデバイス鍵の組について同様の処理を繰返して、ｎ個の装置識別子と暗号化コンテンツ鍵の組を生成し、これらを鍵ブロック１１５０とする。
次に、生成した鍵ブロックを記録部１１１４へ出力する。
【００３４】
ここでは、最も単純な例として、ＤＶＤ１５００に書き込まれた情報を、再生することができる機器それぞれに個別の鍵を割り当てているが、特許文献２に、暗号化コンテンツ鍵の個数を減らす技術、特定の機器だけがコンテンツを再生できないようにする技術などが開示されている。
（４）ユニット生成部１１０５
ユニット生成部１１０５は、入力部１１０２からコンテンツ１１２０を受け取る。コンテンツ１１２０を受け取ると、以下に説明する手順で、分割コンテンツとユニット選出情報とを生成する。
【００３５】
以下に、（ａ）分割コンテンツの生成及び（ｂ）ユニット選出情報の生成について説明する。
（ａ）分割コンテンツの生成
ユニット生成部１１０５は、図６に示すように、コンテンツ１１２０から、分割コンテンツ１１６０を生成する。以下に、図６を用いて、分割コンテンツ１１６０の生成手順について説明する。
【００３６】
ユニット生成部１１０５は、コンテンツ１１２０を受け取ると、受け取ったコンテンツ１１２０に含まれるファイル１１２１「ＣＮＴ１」に対応するファイル識別子１１６１「ＦＩＤ１」とファイル特定情報「ＡＤ１」とを生成する。ファイル識別子１１６１「ＦＩＤ１」は、ファイル１１２１「ＣＮＴ１」を一意に示す識別情報であり、一例として、コンテンツ１１２０内でのファイル１１２１「ＣＮＴ１」の順番を示す自然数、ファイルの名称などである。ファイル特定情報「ＡＤ１」は、ファイル１１２１「ＣＮＴ１」を特定する情報であり、例えば、コンテンツ１１２０先頭からのオフセット、セクタ数、アドレスなどである。
【００３７】
次に、ユニット生成部１１０５は、ファイル１１２１「ＣＮＴ１」をＶＯＢＵ（Video OBject Unit）ごとに分割してｍ個（ｍは任意の自然数）のユニット「Ｕ１＿１」、「Ｕ１＿２」・・・「Ｕ１＿ｍ」を生成する。次に、生成したユニットの個数を示すユニット数「Ｎ１」を生成する（ここでは、Ｎ１＝ｍである）。
次に、ユニット生成部１１０５は、ファイル識別子１１６１「ＦＩＤ１」とファイル特定情報「ＡＤ１」とユニット数「Ｎ１」からなるファイル情報を生成し、生成したファイル情報を記憶する。
【００３８】
次に、ユニット生成部１１０５は、各ユニットにユニット識別子を生成する。ユニット識別子は、ｍ個のユニットを一意に識別する識別情報であり、例えば、１、２、３・・・ｍのような、先頭ユニットからの順番であっても良いし、先頭のユニットからの累積ビット数などであってもよい。本実施の形態では、先頭ユニットからの順番であるとする。以下の説明において、対応するユニット識別子とユニットの組をユニット情報と呼び、ｍ個のユニット情報を分割ファイルと呼ぶ。このようにして、ファイル１１２１「ＣＮＴ１」から生成された分割ファイル１１７１「ｓｐｌＣＮＴ１」は、図６に示すように、ｍ個のユニット情報１１９１、１１９２、１１９３・・・１１９４から構成される。各ユニット情報は、対応するユニット識別子とユニットから構成され、一例としてユニット情報１１９１は、ユニット識別子１１８１「ＵＩＤ１＿１」とユニット１１８６「Ｕ１＿１」とを含んでいる。
【００３９】
次に、ユニット生成部１１０５は、ファイル識別子１１６１「ＦＩＤ１」と分割ファイル１１７１「ｓｐｌＣＮＴ１」を含む分割ファイル情報１１７６を生成する。
全てのファイルについて、同様の処理を繰返して、ｃ個のファイル情報及びｃ個の分割ファイル情報１１７６、１１７７、１１７８・・・１１７９を生成する。
ここで、生成されたｃ個の分割ファイル情報を分割コンテンツ１１６０とする。なお、ファイルごとに、生成されるユニットの数ｍは異なっていても良い。
【００４０】
次に、ユニット生成部１１０５は、生成した分割コンテンツ１１６０を暗号処理部１１０６へ出力する。
ここでは、ユニット生成部１１０５がファイル識別子とファイル特定情報とを生成しているが、コンテンツ１１２０とともに、外部から入力されるとしてもよい。
また、分割単位をＶＯＢＵとしているが、これに限るものではなく、例えば６４キロバイトごと、再生時間１秒相当ごとなどでも良いし、操作者によって、分割単位を示す情報が入力されるとしても良い。
（ｂ）ユニット選出情報の生成
分割コンテンツ１１６０の出力が終了すると、ユニット生成部１１０５は、ｃ個のファイル情報からなるユニット選出情報を生成する。図７は、ここで生成されるユニット選出情報１２００の構成を示す。
【００４１】
ユニット選出情報１２００は、ｃ個のファイル情報１２０１、１２０２、１２０３・・・１２０４から構成される。各ファイル情報は、ファイル識別子とファイル特定情報とユニット数から構成される。
一例として、ファイル情報１２０１は、ファイル識別子１２１１「ＦＩＤ１」とファイル特定情報１２１６「ＡＤ１」とユニット数１２２１「Ｎ１」とを含んでいる。
【００４２】
ユニット生成部１１０５は、生成したユニット選出情報１２００を署名情報生成部１１１１及び記録部１１１４へ出力する。
（５）暗号処理部１１０６
暗号処理部１１０６は、コンテンツ鍵生成部１１０２からコンテンツ鍵「ＣＫを受け取る。また、暗号処理部１１０６は、ユニット生成部１１０５から、分割コンテンツ１１６０を受け取る。
【００４３】
図８は、暗号処理部１１０６の行う処理の一部を示している。以下に、暗号処理部１１０６の行う処理について、図８を用いて説明する。
暗号処理部１１０６は、分割コンテンツ１１６０を受け取ると、受け取った分割コンテンツ１１６０を構成する分割ファイル情報１１７６に含まれる分割ファイル１１７１「ｓｐｌＣＮＴ１」を選択する。選択した分割ファイル１１７１「ｓｐｌＣＮＴ１」の先頭のユニット情報１１９１からユニット１１８６「Ｕ１＿１」を抽出し、抽出したユニット１１８６「Ｕ１＿１」にコンテンツ鍵「ＣＫ」を用いて暗号化アルゴリズムＥ１を施して、暗号化ユニット１２３１「ＥＵ１＿１」を生成する。ここでＥＵ１＿１＝Ｅｎｃ（ＣＫ，Ｕ１＿１）である。
【００４４】
ここで生成した暗号化ユニット１２３１「ＥＵ１＿１」とユニット情報１１９１のに含まれるユニット識別子１１８１「ＵＩＤ１＿１」から構成される暗号化ユニット情報１２４１を生成する。以下の説明で、対応するユニット識別子と暗号化ユニットとの組を暗号化ユニット情報と呼ぶ。
ユニット情報１１９２、１１９３・・・１１９４についても同様の処理を繰返して、暗号化ユニット情報１２４２、１２４３・・・１２４４を生成する。ここで、１個の分割ファイルから生成されたｍ個の暗号化ユニット情報の組を暗号化分割ファイルと呼ぶ。
【００４５】
図８に示すように、分割ファイル１１７１「ｓｐｌＣＮＴ１」から、上記の手順により生成された暗号化分割ファイル１２５１「ＥｓｐｌＣＮＴ１」は、ｍ個の暗号化ユニット情報１２４１、１２４２、１２４３・・・１２４４から構成される。各暗号化ユニット情報は、分割ファイル１１７１を構成する各ユニット情報を基に生成されたものであり、ユニット識別子と暗号化ユニットとを含む。例えば、暗号化ユニット情報１２４１は、ユニット情報１１９１を基に生成されてものであり、ユニット識別子１１８１「ＵＩＤ１＿１」と暗号化ユニット１２３１「ＥＵ１＿１」とを含む。
【００４６】
次に、暗号処理部１１０６は、生成した暗号化分割ファイル１２５１「ＥｓｐｌＣＮＴ１」を構成する各暗号化ユニット情報から暗号化ユニットを抽出する。ここで、抽出されたｍ個の暗号化ユニットの組を暗号化ファイル「ＥＣＮＴ１」と呼ぶ。
次に、分割ファイル情報１１７６に含まれる分割ファイル１１７１「ｓｐｌＣＮＴ１」を、生成した暗号化分割ファイル１２５１「ＥｓｐｌＣＮＴ１」に置き置き換えて、暗号化分割ファイル情報を生成する。
【００４７】
分割ファイル情報１１７７、１１７８・・・１１７９についても、同様にして、暗号化分割ファイル情報と暗号化ファイルとを生成する。
ここで生成したｃ個の暗号化分割ファイル情報の組を暗号化分割コンテンツとする。次に、生成した暗号化分割コンテンツをヘッダ情報生成部１１０７へ出力する。図１０には、ここで出力される暗号化分割コンテンツ１２１０の構成が示されている。
【００４８】
次に、暗号処理部１１０６は、ｃ個の暗号化ファイルの組を暗号化コンテンツとして記録部１１１４へ出力する。図９は、ここで生成される暗号化コンテンツ１３３０の構成を示している。暗号化コンテンツ１３３０は、ｃ個の暗号化ファイル１３３１「ＥＣＮＴ１」、１３３２「ＥＣＮＴ２」、１３３３「ＥＣＮＴ３」・・・１３３４「ＥＣＮＴｃ」から構成されている。各暗号化ファイルは、暗号化分割コンテンツに含まれる各暗号化分割ファイル情報を基に生成され、複数の暗号化ユニットを含む。一例として暗号化ファイル１３３１「ＥＣＮＴ１」は、暗号化ユニット「ＥＵ１＿１」、「ＥＵ１＿２」・・・を含んでいる。
【００４９】
（６）ヘッダ情報生成部１１０７
ヘッダ情報生成部１１０７は、暗号処理部１１０６から、暗号化分割コンテンツ１２１０を受け取る。暗号化分割コンテンツ１２１０を受け取ると、図１０に示すように、受け取った暗号化分割コンテンツを用いて、ヘッダ情報１２６０を生成する。
図１０は、ヘッダ情報生成部１１０７によるヘッダ情報１２６０の生成手順の概要を示している。ヘッダ情報生成部１１０７の受け取る暗号化分割コンテンツ１２１０は、ｃ個の暗号化分割ファイル情報１２４６、１２４７、１２４８・・・１２４９から構成される。各暗号化分割ファイル情報は、ファイル識別子と暗号化分割ファイルとを含む。例えば、暗号化分割ファイル情報１２４６は、ファイル識別子１１６１「ＦＩＤ１」と暗号化分割ファイル１２５１「ＥｓｐｌＣＮＴ１」とを含んでいる。
【００５０】
ヘッダ情報生成部１１０７は、暗号化分割ファイル情報１２４６に含まれる各分割ファイルに基づいて、第１ハッシュテーブルを生成する。例えば暗号化分割ファイル１２５１「ＥｓｐｌＣＮＴ１」に基づいて第１ハッシュテーブル１２６１「ＨＡ１ＴＢＬ１」を生成する。生成したｃ個の第１ハッシュテーブルから、第２ハッシュテーブル１２６９「ＨＡ２ＴＢＬ」を生成する。
【００５１】
上述した、第１ハッシュテーブルの生成及び第２ハッシュテーブルの生成手順について、以下に詳細に説明する。
（６−１）第１ハッシュテーブルの生成
図１１は、ヘッダ情報生成部１１０７による第１ハッシュテーブル１２６１「ＨＡ１ＴＢＬ１」の生成手順の概要を示している。
【００５２】
以下に、図１１を用いて第１ハッシュテーブル１２６１「ＨＡ１ＴＢＬ１」の生成手順について説明する。第１ハッシュテーブル「ＨＡ１ＴＢＬ２」、「ＨＡ１ＴＢＬ３」・・・「ＨＡ１ＴＢＬｃ」の生成手順もこれと同様である。
先ず、ヘッダ情報生成部１１０７は、暗号化分割ファイル１２５１「ＥｓｐｌＣＮＴ１」を構成する先頭の暗号化ユニット情報１２４１から暗号化ユニット１２３１「ＥＵ１＿１」を抽出し、抽出した暗号化ユニット１２３１「ＥＵ１＿１」をハッシュ関数に代入し、ユニットハッシュ値１２７１「ＵＨＡ１＿１」を生成する。
【００５３】
ここでハッシュ関数には、ＳＨＡ−１（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ−１）やブロック暗号を用いたＣＢＣ−ＭＡＣ（Ｃｉｐｈｅｒ  Ｂｌｏｃｋ  Ｃｈａｉｎｉｎｇ  −  Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）などを用いる。
ここで、暗号化ユニット情報１２４１の暗号化ユニット１２３１「ＥＵ１＿１」を生成したユニットハッシュ値１２７１「ＵＨＡ１＿１」に置き換えて、ユニットハッシュ情報１２８１を生成する。
【００５４】
ヘッダ情報生成部１１０７は、暗号化ユニット情報１２４２、１２４３・・・１２４４についても、同様の処理を繰返し、ユニットハッシュ情報１２８２、１２８３・・・１２８４を生成する。ここで生成されたｍ個のユニットハッシュ情報を第１ハッシュテーブル１２６１「ＨＡ１ＴＢＬ１」とする。図１１は、ここで生成される第１ハッシュテーブル１２６１「ＨＡ１ＴＢＬ１」の構成を示している。
【００５５】
（６−２）第２ハッシュテーブルの生成
ヘッダ情報生成部１１０７は、上記の手順を繰返し、暗号化分割コンテンツ１２１０から、ｃ個の第１ハッシュテーブルを生成し終えると、生成したｃ個の第１ハッシュテーブルから図１２に示すような第２ハッシュテーブル１２６９を生成する。第２ハッシュテーブル１２６９「ＨＡ２ＴＢＬ」は、ｃ個のファイルハッシュ情報１３０１、１３０２、１３０３・・・１３０４から構成され、各ファイルハッシュ情報は、ファイル識別子とファイルハッシュ値を含む。一例として、ファイルハッシュ情報１３０１は、ファイル識別子１１６１「ＦＩＤ１」とファイルハッシュ値１２９１「ＦＨＡ１」とを含んでいる。
【００５６】
以下に、第２ハッシュテーブル１２６９の生成手順について説明する。
ヘッダ情報生成部１１０７は、生成した第１ハッシュテーブル１２６１「ＨＡ１ＴＢＬ１」を構成する全てのユニット識別子とユニットハッシュ値とを結合した結合物をハッシュ関数に代入し、ファイルハッシュ値１２９１「ＦＨＡ１」を生成する。
次に、ヘッダ情報生成部１１０７は、第１ハッシュテーブル１２６１「ＨＡ１ＴＢＬ１」と対応する暗号化分割ファイル情報１２４６からファイル識別子１１６１「ＦＩＤ１」を抽出し、抽出したファイル識別子１１６１「ＦＩＤ１」と生成したファイルハッシュ値１２９１「ＦＨＡ１」から構成されるファイルハッシュ情報１３０１を生成する。
【００５７】
第１ハッシュテーブル１２６２、１２６３・・・１２６４についても同様の処理を繰返し、ファイルハッシュ情報１３０２、１３０３・・・１３０４を生成する。
次に、ヘッダ情報生成部１１０７は、生成したｃ個の第１ファイルハッシュ情報を第２ハッシュテーブル１２６９「ＨＡ２ＴＢＬ」とする。
以上、（６−１）第１ハッシュテーブルの生成及び（６−２）第２ハッシュテーブルの生成手順を説明した。ヘッダ情報生成部１１０７は、上記の手順で生成したｃ個の第１ハッシュテーブルと１個の第２ハッシュテーブル１２６９「ＨＡ２ＴＢＬ」とを含むヘッダ情報１２６０を生成し、生成したヘッダ情報１２６０を記録部１１１４へ出力する。
【００５８】
また、生成した第２ハッシュテーブル１２６９「ＨＡ２ＴＢＬ」を署名情報生成部１１１１へ出力する。
（７）署名情報生成部１１１１及び署名鍵記憶部１１１２
署名鍵記憶部１１１２は、ＲＯＭから構成され、配布装置１１００に固有の署名鍵１１１３を記憶している。
【００５９】
図１３は、署名情報生成部１１１１の動作の概要を示している。以下に、図１３を用いて、署名情報生成部１１１１による署名情報の生成について説明する。
署名情報生成部１１１１は、ユニット生成部１１０５から、ユニット選出情報１２００を受け取り、ヘッダ情報生成部１１０７から第２ハッシュテーブル１２６９「ＨＡ２ＴＢＬ」を受け取る。ユニット選出情報１２００と第２ハッシュテーブル１２６９とを受け取ると、署名情報生成部１１１１は、署名鍵記憶部１１１２から署名鍵１１１３を読み出す。
【００６０】
次に、読み出した署名鍵１１１３を用いて、受け取ったユニット選出情報１２００と第２ハッシュテーブル１２６９から署名情報１３１０を生成する。具体的には、受け取った第２ハッシュテーブル１２６９に含まれるｃ個のファイルハッシュ値とユニット選出情報１２００に含まれるｃ個のファイル情報を結合した結合物に、読み出した署名鍵１１１３を用いて、署名生成アルゴリズムＳを施す。
【００６１】
署名生成アルゴリズムＳは、一例としてＤＳＡ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｔｕｒｅ  Ａｌｇｏｒｉｔｈｍ）を用いる。
次に、生成した署名情報１３１０を記録部１１１４へ出力する。
（８）記録部１１１４
記録部１１１４はＤＶＤ１５００を装着される。
【００６２】
記録部１１１４は、鍵ブロック生成部１１０３から、鍵ブロック１１５０を受け取る。ユニット生成部１１０５から、ユニット選出情報１２００を受け取る。暗号処理部１１０６から、暗号化コンテンツ１３３０を受け取り、ヘッダ情報生成部１１０７から、ヘッダ情報１２６０を受け取り、署名情報生成部１１１１から署名情報１３１０を受け取る。
これらの、情報を受け取ると、受け取った鍵ブロック１１５０、ユニット選出情報１２００、ヘッダ情報１２６０、署名情報１３１０及び暗号化コンテンツ１３３０をＤＶＤ１５００に書き込む。
１．３  ＤＶＤ１５００
ＤＶＤ１５００は、実行装置１６００に装着される可搬型の光ディスク媒体である。
【００６３】
ＤＶＤ１５００は、図１４に示すように、鍵ブロック１５１０、ユニット選出情報１５３０、ヘッダ情報１５５０、署名情報１５７０及び暗号化コンテンツ１５８０を記憶している。これらは、配布装置１１００によって書き込まれたものであり、配布装置１１００により生成された、鍵ブロック１１５０、ユニット選出情報１２００、ヘッダ情報１２６０、署名情報１３１０及び暗号化コンテンツ１３３０と同一であるので、ここでは、簡単に説明する。
【００６４】
（１）鍵ブロック１５１０
鍵ブロック１５１０は、ｎ個の装置識別子「ＡＩＤ＿１」、「ＡＩＤ＿２」、「ＡＩＤ＿３」・・・「ＡＩＤ＿ｎ」とそれぞれの装置識別子と対応するｎ個の暗号化コンテンツ鍵「Ｅｎｃ（ＤＫ＿１，ＣＫ）」、「Ｅｎｃ（ＤＫ＿２，ＣＫ）」、「Ｅｎｃ（ＤＫ＿３，ＣＫ）」・・・「Ｅｎｃ（ＤＫ＿ｎ，ＣＫ）」から構成される。
【００６５】
（２）ユニット選出情報１５３０
ユニット選出情報１５３０は、ｃ個のファイル情報１５４１、１５４２・・・から構成され、各ファイル情報は、ファイル識別子とファイル特定情報とユニット数とを含んでいる。各ファイル情報は、暗号化コンテンツ１５８０に含まれる暗号化ファイルと対応している。また、各ファイルは、ヘッダ情報１５５０に含まれる第１ハッシュテーブルと対応している。
【００６６】
（３）暗号化コンテンツ１５８０
暗号化コンテンツ１５８０は、ｃ個の暗号化ファイル１５８１、１５８２、１５８３・・・１５８７から構成される。各暗号化ファイルは、複数の暗号化ユニットを含む。
（４）ヘッダ情報１５５０
ヘッダ情報１５５０は、ｃ個の第１ハッシュテーブル１５５１、１５５２・・・１５５７と第２ハッシュテーブル１５５６から構成される。
【００６７】
各第１ハッシュテーブルは、複数のユニットハッシュ情報から構成され、各ユニットハッシュ情報は、ユニット識別子とユニットハッシュ値とを含む。
第２ハッシュテーブル１５５６は、ｃ個のファイルハッシュ情報１５６１、１５６２、１５６３・・・１５６７から構成され、各ファイルハッシュ情報は、ファイル識別子とファイルハッシュ値とを含む。
【００６８】
（５）署名情報１５７０
署名情報１５７０は、第２ハッシュテーブル１５５６に含まれるｃ個のファイルハッシュ値とユニット選出情報１５３０に含まれるｃ個のファイル情報とを結合した結合物に署名生成アルゴリズムＳを施して生成されたものである。
１．４  実行装置１６００
実行装置１６００は、図１５に示すように取得部１６０１、コンテンツ鍵取得部１６０２、デバイス鍵格納部１６０４、実行部１６０６、署名情報検証部１６１１及び検証鍵記憶部１６１２から構成される。
【００６９】
（１）取得部１６０１
取得部１６０１は、ＤＶＤ１５００を装着される。ＤＶＤ１５００の装着を検出すると、ＤＶＤ１５００から鍵ブロック１５１０、ユニット選出情報１５３０及び署名情報１５７０を読み出し、読み出した鍵ブロック１５１０をコンテンツ鍵取得部１６０２へ出力し、読み出したユニット選出情報１５３０と署名情報１５７０とを署名情報検証部１６１１へ出力する。
【００７０】
また、実行部１６０６及び署名情報検証部１６１１の指示により、ＤＶＤ１５００からヘッダ情報１５５０及び暗号化コンテンツ１５８０の全部、もしくは、一部を読み出す。
（２）コンテンツ鍵取得部１６０２及びデバイス鍵格納部１６０４
デバイス鍵格納部１６０４は、ＲＯＭから構成され、図１５に示すように、装置識別子１６０８「ＡＩＤ＿ｐ」とデバイス鍵１６０９「ＤＫ＿ｐ」とを記憶している（ｐはｎ以下の自然数）。
【００７１】
装置識別子１６０８「ＡＩＤ＿ｐ」は、実行装置１６００を一意に示す識別情報であり、デバイス鍵１６０９「ＤＫ＿ｐ」は、実行装置１６００に固有の鍵情報である。
コンテンツ鍵取得部１６０２は、取得部１６０１から鍵ブロック１５１０を受け取る。鍵ブロック１５１０を受け取ると、デバイス鍵格納部１６０４から装置識別子１６０８「ＡＩＤ＿ｐ」を読み出す。受け取った鍵ブロック１５１０から読み出した装置識別子１６０８「ＡＩＤ＿ｐ」と一致する装置識別子を検出し、検出した装置識別子と対応する暗号化コンテンツ鍵を抽出する。
【００７２】
次に、コンテンツ鍵取得部１６０２は、デバイス鍵格納部１６０４からデバイス鍵１６０９「ＤＫ＿ｐ」を読み出す。読み出したデバイス鍵１６０９「ＤＫ＿ｐ」を用いて、抽出した暗号化コンテンツ鍵に復号アルゴリズムＤ１を施してコンテンツ鍵「ＣＫ」を生成する。生成したコンテンツ鍵「ＣＫ」を実行部１６０６へ出力する。
ここで、復号アルゴリズムＤ１は、暗号化アルゴリズムＥ１により生成された暗号文を復号するものある。
【００７３】
（３）署名情報検証部１６１１及び検証鍵記憶部１６１２
検証鍵記憶部１６１２は、ＲＯＭから構成され、検証鍵１６１３を記憶している。検証鍵１６１３は、配布装置１１００の記憶している署名鍵１１１３と対応する鍵情報である。
署名情報検証部１６１１は、取得部１６０１からユニット選出情報１５３０と署名情報１５７０とを受け取る。
【００７４】
図１６は、署名情報検証部１６１１による署名情報の検証動作の概要を示している。署名情報検証部１６１１は、ユニット選出情報１５３０と署名情報１５７０とを受け取ると、図１６に示すように、受け取ったユニット選出情報１５３０からｉ個（ｉはｃ以下の自然数）のファイル識別子を選択する。ここでは、ファイル識別子１５３１「ＦＩＤ１」、１５３３「ＦＩＤ３」・・・を選択したものとして説明する。
【００７５】
選択したファイル識別子１５３１「ＦＩＤ１」と対応する第１ハッシュテーブル１５５１「ＨＡ１ＴＢＬ１」及び暗号化ファイル１５８１「ＥＣＮＴ１」を基に、入替第１ハッシュテーブル１６３１「ＲＥＰＨＡ１ＴＢＬ１」を生成する。選択したほかのファイル識別子「ＦＩＤ３」・・・についても同様にして入替第１ハッシュテーブル１６３３・・・を生成する。生成した入替第１ハッシュテーブル１６３１、１６３３・・・及び、ＤＶＤ１５００に記憶されている第２ハッシュテーブル１５５６「ＨＡ２ＴＢＬ」を基に入替第２ハッシュテーブル１６３９「ＲＥＰＨＡ２ＴＢＬ」を生成する。生成した入替第２ハッシュテーブル１６３９「ＲＥＰＨＡ２ＴＢＬ」を用いて署名情報１５７０を検証する。
【００７６】
以上、図１６に示す概要を説明したが、以下に、（３−１）入替第１ハッシュテーブルの生成、（３−２）入替第２ハッシュテーブルの生成及び（３−３）署名情報の検証の手順について、図面を用いて詳細に説明する。
（３−１）入替第１ハッシュテーブルの生成
入替第１ハッシュテーブルの生成手順について、図１７及び図１８を用いて説明する。
【００７７】
署名情報検証部１６１１は、図１７に示すように、受け取ったユニット選出情報１５３０に含まれるｃ個ファイル情報からｉ個（ｉはｃ以下の自然数）を選択する。選択方法は、例えば、１以上、ｃ以下の擬似乱数をｉ個（ｒ１、ｒ２・・・ｒｉ）生成し、ｒ１番目、ｒ２番目・・・ｒｉ番目のファイル識別子を選択する。選択方法は、これに限るものではなく、何れのファイル識別子が選択されるかを予測することが困難であれば、どのような方法でも良い。例えば、気温、湿度、電気信号のノイズなどを用いても良い。
【００７８】
本実施の形態では、ｉ＝７と想定し、７個のファイル情報１５４１、１５４３・・・が選択された場合について説明する。
次に、図１８に示すように、署名情報検証部１６１１は、選択したファイル情報１５４１に含まれるファイル識別子「ＦＩＤ１」と対応する暗号化ファイル１５８１「ＥＣＮＴ１」からいずれか一つの暗号化ユニットを選択し、選択した暗号化ユニットをＤＶＤ１５００から読み出す。具体的には、選択したファイル情報１５４１に含まれるユニット数「Ｎ１」を読み出し、「Ｎ１」以下の擬似乱数ｔを生成する（ここでは、ｔ＝３とする）。次に、選択したファイル情報１５４１に含まれるファイル特定情報「ＡＤ１」を基に、取得部１６０１を介してＤＶＤ１５００から、暗号化ファイル１５８１「ＥＣＮＴ１」の３番目の暗号化ユニット「ＥＵ1＿３」を読み出す。
【００７９】
次に、署名情報検証部１６１１は、読み出した暗号化ユニット「ＥＵ1＿３」をハッシュ関数に代入し、入替ユニットハッシュ値「Ｈ３」を生成する。ここで、署名情報検証部１６１１は、配布装置１１００のヘッダ情報生成部１１０７の用いるハッシュ関数と同一のハッシュ関数を使用する。
次に、署名情報検証部１６１１は、取得部１６０１を介して、ヘッダ情報１５５０に含まれる第１ハッシュテーブル１５５１「ＨＡ１ＴＢＬ１」を読み出す。
【００８０】
読み出した第１ハッシュテーブル１５５１「ＨＡ１ＴＢＬ１」構成するｍ個のユニットハッシュ情報から、ｔ＝３と一致するユニット識別子「ＵＩＤ１＿３」と対応するユニットハッシュ値「ＵＨＡ１＿３」を、算出した入替ユニットハッシュ値「Ｈ３」と入替え、これを入替第１ハッシュテーブル１６３１「ＲＥＰＨＡ１ＴＢＬ１」とする。
署名情報検証部１６１１は、その他の選択したファイル情報１５４２・・・についても、同様の処理を繰返し、入替第１ハッシュテーブル１６３３「ＲＥＰＨＡＴＢＬ３」・・・を生成する。
【００８１】
（３−２）入替第２ハッシュテーブルの生成
入替第２ハッシュテーブルの生成手順について、図１９を用いて説明する。
選択した７個のファイル情報に基づいて、入替第１ハッシュテーブルの生成を終了すると、署名情報検証部１６１１は、生成した入替第１ハッシュテーブル１６３１「ＲＥＰＨＡ１ＴＢＬ１」を構成する全てのユニット識別子と全てのユニットハッシュ値及び入替ハッシュ値を結合してハッシュ関数に代入し、入替ファイルハッシュ値「ｆｈａ１」を生成する。同様にして、入替第１ハッシュテーブル１６３３「ＲＥＰＨＡ１ＴＢＬ３」・・・を基に、入替ファイルハッシュ値「ｆｈａ３」・・・を生成する。
【００８２】
次に、署名情報検証部１６１１は、ヘッダ情報１５５０に含まれる第２ハッシュテーブル１５５６「ＨＡ２ＴＢＬ」をＤＶＤ１５００から読み出す。読み出した第２ハッシュテーブル１５５６「ＨＡ２ＴＢＬ」に含まれるｃ個のファイルハッシュ情報のうち、選択した７個のファイル情報に含まれるファイル識別子「ＦＩＤ１」、「ＦＩＤ３」・・・を含むファイルハッシュ情報のファイルハッシュ値を、生成した入替ファイルハッシュ値「ｆｈａ１」、「ｆｈａ３」・・・と、それぞれ入れ替える。入れ替え後の第２ハッシュテーブルを入替第２ハッシュテーブル１６３９「ＲＥＰＨＡ２ＴＢＬ」とする。
【００８３】
（３−３）署名情報の検証
署名情報の検証について、図２０を用いて説明する。
入替第２ハッシュテーブル１６３９「ＲＥＰＨＡ２ＴＢＬ」を生成すると、署名情報検証部１６１１は、検証鍵記憶部１６１２から検証鍵１６１３を読み出す。
次に、入替第２ハッシュテーブル１６３９「ＲＥＰＨＡ２ＴＢＬ」に含まれるファイルハッシュ値及び入替ファイルハッシュ値全てと、ユニット選出情報１５３０に含まれるｃ個のファイル情報とを結合した結合物を生成する。生成した結合物に、読み出した検証鍵１６１３を用いて、署名検証アルゴリズムＶを施して、署名検証情報を生成する。生成した署名検証情報と取得部１６０１から受け取った署名情報１５７０とを比較する。両者が一致しない場合、署名検証が失敗であると判断し、署名情報検証部１６１１は、実行部１６０６にコンテンツの再生を禁止することを示す再生禁止情報を出力する。ここで、署名検証アルゴリズムＶは、署名生成アルゴリズムＳによって生成された署名を検証するアルゴリズムである。
【００８４】
両者が一致する場合、そのまま、検証処理を終了する。
（４）実行部１６０６
実行部１６０６は、コンテンツ鍵取得部１６０２からコンテンツ鍵「ＣＫ」を受け取る。
また、実行部１６０６は、署名情報検証部１６１１から再生禁止情報受け取る場合がある。
【００８５】
コンテンツ鍵「ＣＫ」を受け取ると、実行部１６０６は、取得部１６０１を介して、暗号化コンテンツ１５８０を構成する暗号化ファイル「ＥＣＮＴ１」を、ＤＶＤ１５００から読み出す。受け取ったコンテンツ鍵「ＣＫ」を用いて、読み出した暗号化ファイル１５８１を構成する暗号化ユニット「ＥＵ１＿１」、「ＥＵ１＿２」・・・に、順次、復号アルゴリズムＤ１を施してユニット「Ｕ１＿１」、「Ｕ１＿２」・・・からなるファイル「ＣＮＴ１」を生成する。
【００８６】
次に、実行部１６０６は、生成したファイル「ＣＮＴ１」を伸長して、画像及び音声データを生成する。生成した画像及び音声データを画像信号及び音声信号を生成し、生成した画像信号及び音声信号をモニタ１６２０へ出力する。
暗号化ファイル「ＥＣＮＴ２」〜「ＥＣＮＴｃ」についても、同様に、読み出し、復号、伸長、画像信号及び音声信号の出力を繰り返す。
【００８７】
上記の繰返しの途中に、署名情報検証部１６１１から、再生禁止情報を受け取ると実行部１６０６は、繰返しを中止し、インジケータランプを点灯させる又はエラーを通知する画面をモニタ１６２０に表示させるなどして、実行装置１６００に装着されているＤＶＤを再生できないことを利用者に通知する。
（５）モニタ１６２０
モニタ１６２０は、スピーカを内蔵しており、ケーブルにより実行装置１６００と接続されている。
【００８８】
実行装置１６００の実行部１６０６から、画像信号及び音声信号を受け取り、受け取った画像信号から画面を生成し、表示する。また、音声信号から音声を生成し、生成した音声をスピーカから出力する。
１．５  動作
以下に、配布装置１１００及び実行装置１６００の動作について、説明する。
【００８９】
（１）配布装置１１００の動作
配布装置１１００の動作について、図２１〜２２に示すフローチャートを用いて説明する。
入力部１１０１は、操作者の操作により、ｃ個のファイルから構成されるコンテンツ１１２０を取得し（ステップＳ１０１１）、コンテンツ鍵生成部１１０２へコンテンツ鍵の生成を指示する。
【００９０】
コンテンツ鍵生成部１１０２は、乱数を用いてコンテンツ鍵「ＣＫ」を生成し、生成したコンテンツ鍵「ＣＫ」を鍵ブロック生成部１１０３へ出力する（ステップＳ１０１２）。
鍵ブロック生成部１１０３は、コンテンツ鍵「ＣＫ」を受け取り、実行装置情報格納部１１０４から装置識別テーブル１１３０を読み出す（ステップＳ１０１３）。受け取ったコンテンツ鍵「ＣＫ」と読み出した装置識別テーブル１１３０とを用いて、鍵ブロック１１５０を生成する（ステップＳ１０１６）。
【００９１】
ステップＳ１０１７〜ステップＳ１０２３において、配布装置１１００のユニット生成部１１０５は、コンテンツ１１２０を構成するファイル毎に、ステップＳ１０１８〜ステップＳ１０２２の処理を繰り返す。
ユニット生成部１１０５は、ファイルに対応するファイル識別子とファイル特定情報とを生成する（ステップＳ１０１８）。次に、ファイルを分割してｍ個のユニットを生成し（ステップＳ１０１９）、生成したユニットの数を示すユニット数を生成し、生成したファイル識別子とファイル特定情報とユニット数から構成されるファイル情報を生成する（ステップＳ１０２０）。
【００９２】
次に、ユニット生成部１１０５は、生成した各ユニットと対応するユニット識別子を生成する（ステップＳ１０２１）。続いて、対応するユニット識別子とユニットとを含むユニット情報をｍ組生成し、これらを分割ファイルとする。次に、分割ファイルとファイル識別子から構成される分割ファイル情報を生成する（ステップＳ１０２２）。
全てのファイルについて、ステップＳ１０１７〜ステップＳ１０２３の繰返しが終了し、ｃ個の分割ファイル情報とファイル情報とを生成し終えると、ｃ個のファイル情報から構成されるユニット選出情報１２００を生成し（ステップＳ１０２４）、生成したユニット選出情報１２００を署名情報生成部１１１１と記録部１１１４とへ出力する。また、ｃ個の分割ファイル情報から構成される分割コンテンツ１１６０を暗号処理部１１０６へ出力する。
【００９３】
暗号処理部１１０６は、ユニット生成部１１０５から、分割コンテンツ１１６０を受け取り、受け取った分割コンテンツ１１６０を構成する各分割ファイルの各ユニットを、コンテンツ鍵「ＣＫ」を用いて暗号化して暗号化分割コンテンツ１２１０を生成する（ステップＳ１０２６）。
次に、暗号処理部１１０６は、各暗号化分割ファイルから暗号化ユニットを抽出して暗号化ファイルをｃ個生成し、これを暗号化コンテンツ１３３０とする（ステップＳ１０２７）。次に、暗号化分割コンテンツ１２１０をヘッダ情報生成部１１０７へ、暗号化コンテンツ１３３０を記録部１１１４へ出力する。
【００９４】
ヘッダ情報生成部１１０７は、暗号処理部１１０６から、暗号化分割コンテンツ１２１０を受け取る。暗号化分割コンテンツ１２１０を構成する各暗号化分割ファイルに含まれる暗号化ユニットを、ハッシュ関数に代入して、ユニットハッシュ値を算出し、第１ハッシュテーブルをｃ個生成する（ステップＳ１０２８）。
次に、第１ハッシュテーブル毎に、第１ハッシュテーブルを基にファイルハッシュ値を算出し、算出したｃ個のファイルハッシュ値を含む第２ハッシュテーブル１２６９を生成する（ステップＳ１０２９）。
【００９５】
次に、生成した第２ハッシュテーブル１２６９とｃ個の第１ハッシュテーブルとを含むヘッダ情報１２６０を生成する（ステップＳ１０３１）。
署名情報生成部１１１１は、署名鍵記憶部１１１２から署名鍵１１１３を読み出し（ステップＳ１０３２）、読み出した署名鍵１１１３を用いて、第２ハッシュテーブル１２６９及びユニット選出情報に署名生成アルゴリズムを施して署名情報を生成する（ステップＳ１０３３）。
【００９６】
記録部１１１４は、ＤＶＤ１５００に鍵ブロック１１５０、ユニット情報１２００、ヘッダ情報１２６０、署名情報１３１０及び暗号化コンテンツ１３３０を書き込む（ステップＳ１０３４）。
（２）実行装置１６００の動作
図２３は、署名情報の検証における、情報の加工の過程を示している。説明の便宜上、ヘッダ情報１５５０については、第１ハッシュテーブルに含まれるユニットハッシュ値と第２ハッシュテーブルに含まれるファイルハッシュ値のみを描いている。また、図２４、図２５は、実行装置１６００の動作を示すフローチャートである。なお、図中の、同一のステップ番号は、同一の処理を指している。
【００９７】
以下に、図２３〜２５を用いて、実行装置１６００の動作について説明する。
取得部１６０１は、ＤＶＤ１５００を装着されると、ＤＶＤ１５００から鍵ブロック１５１０、ユニット選出情報１５３０及び署名情報１５７０を読み出し、鍵ブロック１５１０をコンテンツ鍵取得部１６０２へ出力し、ユニット選出情報１５３０と署名情報１５７０とを署名情報検証部１６１１へ出力する（ステップＳ１０４１）。
【００９８】
署名情報検証部１６１１は、ユニット選出情報１５３０と署名情報１５７０とを受け取り、乱数を用いて、ユニット選出情報１５３０に含まれるｃ個のファイル識別子からｉ個を選択する（ステップＳ１０４６）。
ステップＳ１０４７〜１０５７において、署名情報検証部１６１１は、選択したｉ個のファイル識別子についてステップＳ１０４８〜１０５６の処理を繰返して、ｉ個の入替第１ハッシュテーブルを生成する。
【００９９】
署名情報検証部１６１１は、選択したファイル識別子と対応するユニット数をユニット情報から抽出する（ステップＳ１０４８）。次に、１以上で、かつ、読み出したユニット数以下の乱数ｔを生成する（ステップＳ１０４９）。選択したファイル識別子と対応するファイル特定情報をユニット情報から抽出し、抽出したユニット情報を基に、選択したファイル識別子と対応する暗号化ファイルのｔ番目の暗号化ユニットをＤＶＤ１５００から読み出す（ステップＳ１０５１）。図２３においては、繰返しのたびに、暗号化ファイル１５８１に含まれる暗号化ユニット１５１１、暗号化ファイル１５８３に含まれる暗号化ユニット１５１２・・・暗号化ファイル１５８７に含まれる暗号化ユニット１５１３を、順次読み出す。
【０１００】
読み出した暗号化ユニットをハッシュ関数に代入して入替ユニットハッシュ値を算出する（ステップＳ１０５２）。
次に、署名情報検証部１６１１は、選択したファイル識別子と対応する第１ハッシュテーブルをＤＶＤ１５００から読み出し（ステップＳ１０５４）、算出した入替ユニットハッシュ値と対応するユニットハッシュ値を、算出したユニットハッシュ値と入れ替えて、入替第１ハッシュテーブルを生成する（ステップＳ１０５６）。図２３においては、署名情報検証部１６１１は、繰返しのたびに、暗号化ユニット１５１１と第１ハッシュテーブル１５５１から入替第１ハッシュテーブル１６３１を生成し、暗号化ユニット１５１２と第１ハッシュテーブル１５５３から入替第１ハッシュテーブル１６３３を生成し・・・暗号化ユニット１５１３と第１ハッシュテーブル１５５７から入替第１ハッシュテーブル１６３７を生成する。
【０１０１】
ｉ個のファイル識別子について、ステップＳ１０４７〜ステップＳ１０５７の繰返しが終了すると、署名情報検証部１６１１は、生成した入替第１ハッシュテーブルを、それぞれ、ハッシュ関数に代入してｉ個の入替ファイルハッシュ値を算出する（ステップＳ１０５９）。
次に、署名情報検証部１６１１は、ＤＶＤ１５００から第２ハッシュテーブル１５５６を読み出し（ステップＳ１０６１）、選択したｉ個のファイル識別子と対応するファイルハッシュ値を算出したｉ個の入替ファイルハッシュ値と入れ替えて、入替第２ハッシュテーブル１６３９を生成する（ステップＳ１０６３）。図２３においては、生成された入替第２ハッシュテーブル１６３９は、入替第１ハッシュテーブル１６３１から算出した入替ファイルハッシュ値１６４１と、ＤＶＤ１５００から読み出したファイルハッシュ値１５７２と入替第１ハッシュテーブル１６３３から算出した入替ファイルハッシュ値１６４３と・・・・入替第１ハッシュテーブル１６３７から算出した入替ファイルハッシュ値１６４７を含んでいる。
【０１０２】
次に、検証鍵記憶部１６１２から検証鍵１６１３を読み出し（ステップＳ１０６４）、ユニット選出情報と生成した入替第２ハッシュテーブルと読み出した検証鍵１６１３とを用いて、署名情報１５７０の検証を行う（ステップＳ１０６６）。
署名情報の検証が成功であれば（ステップＳ１０６７のＹＥＳ）、署名情報検証部１６１１は、そのまま署名情報１５７０の検証を終了する。
【０１０３】
署名検証が失敗であれば（ステップＳ１０６７のＮＯ）、署名情報検証部１６１１は、実行部１６０６へ、再生禁止情報を出力する（ステップＳ１０７３）。
コンテンツ鍵取得部１６０２は、鍵ブロック１５１０を受け取り、デバイス鍵格納部１６０４から装置識別子１６０８とデバイス鍵１６０９とを読み出す（ステップＳ１０７１）。読み出した装置識別子１６０８とデバイス鍵１６０９と鍵ブロック１５１０からコンテンツ鍵「ＣＫ」を生成し、生成したコンテンツ鍵「ＣＫ」を実行部１６０６へ出力する（ステップＳ１０７２）。
【０１０４】
実行部１６０６は、コンテンツ鍵「ＣＫ」を受け取る。ここで、署名情報検証部１６１１から、再生禁止情報を受け取っていれば（ステップＳ１０７４のＹＥＳ）、ＤＶＤ１５００に記憶されているコンテンツを再生できないことを利用者に通知して（ステップＳ１０７６）、再生を終了する。
再生禁止情報を受け取っていなければ（ステップＳ１０７４のＮＯ）、暗号化コンテンツ１５８０を構成する暗号化ファイルをＤＶＤ１５００から読み出す（ステップＳ１０７７）。コンテンツ鍵「ＣＫ」を用いて読み出した暗号化ファイルを復号してファイルを生成し（ステップＳ１０７９）、生成したファイルを伸長して、画像データ及び音声データを生成し（ステップＳ１０８１）、生成した画像データ及び音声データから画像信号及び音声信号を生成してモニタ１４００に出力し、画像及び音声を再生させる（ステップＳ１０８２）。全ての暗号化ファイルを読み出し終えた場合又は利用者の操作によって、再生終了を指示された場合（ステップＳ１０８４のＹＥＳ）、再生を終了する。
【０１０５】
読み出していない暗号化ファイルが存在し、かつ、利用者から再生終了の指示も受けていなければ、ステップＳ１０７４に戻り、ステップ１０７４〜１０８４の処理を繰り返す。
１．６  まとめ・効果
以上、説明してきたように、本実施の形態において、ＤＶＤ１５００は、複数暗号化ユニットを含む暗号化ファイルを、ｃ個含む暗号化コンテンツと、複数の暗号化ユニットを基に生成されたｃ個の第１ハッシュテーブル及び第２ハッシュテーブルを含むヘッダ情報と、第２ハッシュテーブルを基に生成された署名情報とを記憶している。
【０１０６】
実行装置１６００は、暗号化コンテンツの読み出し、復号、再生を開始すると同時に、乱数を用いて、ランダムにｉ個の暗号化ユニットを選択し、選択したｉ個の暗号化ユニットを基に入替ユニットハッシュ値及び入替ファイルハッシュ値を算出する。
次に、ＤＶＤ１５００から第２ハッシュテーブルを読み出し、読み出した第２ハッシュテーブルに含まれるファイルハッシュ値のうち、算出した入替ファイルハッシュ値と対応するものを、算出した入替ファイルハッシュ値と入れ替えて、入替第２ハッシュテーブルを生成し、これを用いて署名情報の検証を行う。検証が失敗であれば、コンテンツの再生を中止する。
【０１０７】
このように、署名情報の検証のために、新たに算出するユニットハッシュ値の数をｉ個に限定することで、署名情報の検証に係る演算量を減少させ、再生時の処理負荷を軽減することができる。
さらに、第１ハッシュテーブルと第２ハッシュテーブルという２層構造を用いて署名情報の検証をすることによって、実行装置１６００は、ＤＶＤ１５００から読み出す情報の量を減少させることができる。具体的に上記の実施の形態では、選択されなかったファイル情報と対応する第１ハッシュテーブルは、読み出す必要がない。従って、情報の読み出しに要する時間を短縮することができる。
【０１０８】
また、選択されたファイル情報と対応する第１ハッシュテーブルを読み出しているが、選択されたファイル情報と対応する第１ハッシュテーブルを構成する要素のうち、算出した入替ユニットハッシュ値と対応するユニットハッシュ値以外のものだけを読み出すようにしても良い。第２ハッシュテーブルを読み出す際も同様である。このようにすることで、ＤＶＤ１５００から読み出す情報量をさらに減少させることができる。
【０１０９】
また、暗号化ユニットから生成した入替ハッシュ値を用いて、署名情報の検証を行うことで、不正なコンテンツの有無の検証と、正規の権利者の有する署名鍵によって署名情報が生成されたか否かの検証とを一度の検証で、完了することができる。
検証処理において、ランダムに、ｉ個の暗号化ユニットだけを選択して用いるため、ＤＶＤ１５００の暗号化コンテンツの一部または全部が不正なコンテンツに差し替えられた場合、高い確率で、その存在を検知することができる。
【０１１０】
ここで、具体的に、暗号化コンテンツの半分が不正なコンテンツに書き換えられた場合を想定して説明する。選択された１個の暗号化ユニットが、配布装置１１００により生成された正規の暗号化ユニットである確率は１/２である。例えば、７個の暗号化ユニットを選択して、検証を行う場合、選択された７個の暗号化ユニット全てが正規の暗号化ユニットである確率は、（１／２）７＝１／１２８  である。つまり、この場合、不正なコンテンツを検出できない確率は１％に満たない。これにより、正規の権利者よって配布されたコンテンツの一部を不正なコンテンツに差し替えて配布するような不正行為を防ぐ抑止力となる。
１．７  実施の形態１の変形例１
実施の形態１において、配布装置１１００は、取得したコンテンツを構成する各ファイルをユニットに分割した後、ユニットごとに暗号化しているが、ファイル単位で暗号化して暗号化ファイルを生成し、生成した暗号化ファイルを分割して暗号化ユニットを生成しても良い。この場合、実行装置１６００の実行部１６０６は、ＤＶＤ１５００から暗号化コンテンツを読み出し、読み出した暗号化コンテンツを、暗号化ファイル単位で復号し、再生する。
【０１１１】
本変形例における配布装置１１００ｂについて、図２６を用いて説明する。
配布装置１１００ｂは、入力部１１０１ｂ、コンテンツ鍵生成部１１０２、鍵ブロック生成部１１０３、実行装置情報格納部１１０４、ユニット生成部１１０５ｂ、暗号処理部１１０６ｂ、ヘッダ情報生成部１１０７、署名情報生成部１１１１、署名鍵記憶部１１１２及び記録部１１１４から構成される。
【０１１２】
コンテンツ鍵生成部１１０２、鍵ブロック生成部１１０３、実行装置情報格納部１１０４、ヘッダ情報生成部１１０７、署名情報生成部１１１１、署名鍵記憶部１１１２及び記録部１１１４については、実施の形態１と同様であるので説明を省略する。
また、入力部１１０１ｂは、ユニット生成部に変わって暗号処理部へコンテンツを出力すること以外は、実施の形態１の入力部１１０１と同様であるので説明を省略する。
【０１１３】
（１）暗号処理部１１０６ｂ
暗号処理部１１０６ｂは、コンテンツ鍵生成部１１０２からコンテンツ鍵「ＣＫ」を受け取る。
暗号処理部１１０６は、入力部１１０１ｂから、コンテンツを受け取る。ここでコンテンツは、図３に示すコンテンツ１１２０と同様に、ファイル「ＣＮＴ１」、「ＣＮＴ２」・・・「ＣＮＴｃ」から構成される。
【０１１４】
コンテンツを受け取ると、コンテンツ鍵「ＣＫ」を用いて、受け取ったコンテンツに含まれるファイル「ＣＮＴ１」に暗号化アルゴリズムＥ１を施して暗号化ファイル「ＥＣＮＴ１」を生成する。
ファイル「ＣＮＴ２」〜ファイル「ＣＮＴｃ」についても同様にして、暗号化ファイル「ＥＣＮＴ２」〜「ＥＣＮＴｃ」を生成する。
【０１１５】
次に、生成した暗号化ファイル「ＥＣＮＴ１」、「ＥＣＮＴ２」、「ＥＣＮＴ３」・・・「ＥＣＮＴｃ」からなる暗号化コンテンツをユニット生成部１１０５ｂ及び記録部１１１４へ出力する。
（２）ユニット生成部１１０５ｂ
ユニット生成部１１０５ｂは、暗号処理部１１０６ｂから暗号化コンテンツを受け取る。ユニット生成部１１０５ｂは、暗号化コンテンツを受け取ると、受け取った暗号化コンテンツに含まれる暗号化ファイル「ＥＣＮＴ１」対応するファイル識別子「ＦＩＤ１」、及びファイル特定情報「ＡＤ１」を生成する。
【０１１６】
次に、暗号化ファイル「ＥＣＮＴ１」を、６４キロバイト毎に分割してｍ個の暗号化ユニットを生成する。このとき、最後の暗号化ユニットが６４キロバイトに満たない場合は、「０００・・・０００」といったデータにより補完する。
次に、生成した暗号化ユニットの数を示す「Ｎ１」を生成する。生成したファイル識別子「ＦＩＤ１」、ファイル特定情報「ＡＤ１」ユニット数「Ｎ１」からなるファイル情報を生成する。
【０１１７】
次に、ユニット生成部１１０５ｂは、生成したｍ個の暗号化ユニット「ＥＵ１＿１」、「ＥＵ１＿２」、「ＥＵ１＿３」・ご・・「ＥＵ１＿ｍ」それぞれに対応するユニット識別子「ＵＩＤ１＿１」、「ＵＩＤ１＿２」、「ＵＩＤ１＿３」・・・「ＵＩＤ１＿ｍ」を生成する。続いて、対応する暗号化ユニットとユニット識別子とを暗号化ユニット情報とする。
【０１１８】
次に、ユニット生成部１１０５ｂは、ｍ個の暗号化ユニット情報により構成される暗号化分割ファイル「ＳｐｌＥＣＮＴ１」とする。
暗号化コンテンツに含まれる暗号化ファイル「ＥＣＮＴ２」、「ＥＣＮＴ３」・・・「ＥＣＮＴｃ」についても、同様の処理を繰返して、暗号化分割ファイル「ＳｐｌＥＣＮＴ１」、「ＳｐｌＥＣＮＴ２」、「ＳｐｌＥＣＮＴ３」・・・「ＳｐｌＥＣＮＴｃ」と、ファイル情報を生成する。ここで生成したｃ個の暗号化分割ファイル「ＳｐｌＥＣＮＴ２」、「ＳｐｌＥＣＮＴ３」・・・「ＳｐｌＥＣＮＴｃ」を暗号化分割コンテンツとして、ヘッダ情報生成部１１０７ｂへ出力する。
【０１１９】
また、ｃ個のファイル情報から構成されるユニット選出情報を生成し、生成したユニット選出情報を、記録部１１１４と署名情報生成部１１１１ｂへ出力する。
２．実施の形態２
本発明に係る実施の形態２について、以下に、図面を用いて説明する。
２．１  不正コンテンツ検知システム
実施の形態２における不正コンテンツ検知システムは、実施の形態１の不正コンテンツ検知システム１と同様に、配布装置、実行装置及びモニタから構成される。
【０１２０】
配布装置は、操作者の操作に従って、コンテンツを取得し、取得したコンテンツを暗号化して暗号化コンテンツを生成する。また、コンテンツの一部分を抽出し、抽出した一部分（代表部分コンテンツと呼ぶ）を基に、不正コンテンツの有無を検出するためのヘッダ情報、正当な権利者によって発行されたコンテンツであることを証明するための署名情報などを生成する。生成した暗号化コンテンツ、署名情報などをＤＶＤ書き込む。
【０１２１】
ＤＶＤは、販売店などを通じて、利用者に販売又は配布される。
実行装置は、ＤＶＤを装着され、装着されたＤＶＤに記憶されている暗号化コンテンツから、代表部分コンテンツを生成し、生成した代表部分コンテンツを基に署名情報及びヘッダ情報の検証を行う。検証が成功であれば、実行装置は、コンテンツの再生を開始する。検証が失敗すると、実行装置は、コンテンツの再生を禁止する。
【０１２２】
以下に、本実施の形態の不正コンテンツ検知システムを構成する各装置及びＤＶＤについて、詳細に説明する。
２．２  配布装置２１００
図２７は、本実施の形態の不正コンテンツ検知システムを構成する配布装置の構成を示している。配布装置２１００は、図２７に示すように、入力部２１０１、コンテンツ鍵生成部２１０２、鍵ブロック生成部２１０３、実行装置情報格納部１１０４、選択部２１０５、ヘッダ情報生成部２１０７、署名情報生成部２１０８、署名鍵記憶部１１１２、暗号処理部２１０９、記録部２１１４から構成される。
【０１２３】
以下に配布装置２１００を構成する各部について、詳細に説明する。なお、実行装置情報格納部１１０４及び署名鍵記憶部１１１２は実施の形態１と同様であるので説明を省略する。
（１）入力部２１０１
入力部２１０１は、操作者の操作に従って、外部機器又は外部の記録メディアからコンテンツ及び複数の特定情報を取得する。
【０１２４】
図２８は、入力部２１０１が取得するコンテンツ及び特定情報の構成の一例を示している。コンテンツ２１２０はｃ個の部分コンテンツ２１２１「ＣＮＴ１」、２１２２「ＣＮＴ２」、２１２３「ＣＮＴ３」・・・２１２７「ＣＮＴｃ」から構成される。ここで、入力部２１０１が取得するコンテンツ２１２０は、実行装置２６００（詳細は後述する）において、実行可能な形式であり、一例として、ＤＶＤ−Ｖｉｄｅｏ形式、ＭＰＥＧ２形式などである。
【０１２５】
特定情報は、コンテンツ２１２０を構成する各部分コンテンツを一意に特定するものであり、対応する部分コンテンツの先頭からのオフセット、セクタ数、先頭を基準とした再生時刻などである。例えば、特定情報２１３１「ＡＤ１」は、部分コンテンツ２１２１「ＣＮＴ１」と対応しており、部分コンテンツ２１２１「ＣＮＴ１」の先頭は、コンテンツ２１２０の先頭から「ＡＤ１」の位置に存在する。
【０１２６】
入力部２１０１は、取得したコンテンツ２１２０とｃ個の特定情報とをコンテンツ鍵生成部２１０２へ出力する。
（２）コンテンツ鍵生成部２１０２
コンテンツ鍵生成部２１０２は、入力部２１０１からコンテンツ２１２０と、ｃ個の特定情報とを受け取る。コンテンツ２１２０と、ｃ個の特定情報とを受け取ると、擬似乱数を生成し、生成した擬似乱数を用いて１２８ビット長のコンテンツ鍵「ＣＫ」を生成する。擬似乱数に代わって、信号のノイズなどを利用して真性乱数を生成しても良い。
【０１２７】
次に、生成したコンテンツ鍵「ＣＫ」と受け取ったコンテンツ２１２０及びｃ個の特定情報を鍵ブロック生成部２１０３及び暗号処理部２１０６へ出力する。
（３）鍵ブロック生成部２１０３
鍵ブロック生成部２１０３は、コンテンツ鍵生成部２１０２からコンテンツ鍵「ＣＫ」とコンテンツ２１２０及びｃ個の特定情報を受け取る。コンテンツ鍵「ＣＫ」を受け取ると、実行装置情報格納部１１０４の記憶している装置識別テーブル１１３０と受け取ったコンテンツ鍵「ＣＫ」とを用いて鍵ブロックを生成する。鍵ブロックの生成手順は、実施の形態１の鍵ブロック生成と同様であるので、説明を省略する。また、ここで生成される鍵ブロックの構成は、図５に示す鍵ブロック１１５０と同様である。
【０１２８】
次に、鍵ブロック生成部２１０３は、生成した鍵ブロックと、受け取ったコンテンツ鍵「ＣＫ」とコンテンツ２１２０とｃ個の特定情報とを選択部２１０５へ出力する。
（４）選択部２１０５
図２９は、選択部２１０５の行う処理の概要を示している。以下に、選択部２１０５について、図２９を用いて説明する。
【０１２９】
選択部２１０５は、鍵ブロック生成部２１０３から鍵ブロックとコンテンツ鍵「ＣＫ」とコンテンツ２１２０とｃ個の特定情報とを受け取る。これらの情報を受け取ると、受け取ったｃ個の特定情報からｋ個を選択する。ここでは、ｋ＝３として説明する。
選択方法は、例えば、乱数を用いて選択しても良いし、日時、気温などから選択しても良いし、操作者による選択を受け付けても良い。また、コンテンツ２１２０がＭＰＥＧ形式であれば、Ｉピクチャを示す特定情報を選択しても良い。さらに、選択部２１０５が、予め、選択するｋ個を特定する情報を記憶しているとしても良いし、操作者による指示を受けて選択するとしても良い。
【０１３０】
図２９に示すように、ここでは、選択部２１０５は、特定情報２１３３「ＡＤ３」と特定情報２１３４「ＡＤ７」と特定情報２１３７「ＡＤｃ」とを選択する。
次に、受け取ったコンテンツ２１２０から選択した特定情報２１３３「ＡＤ３」と対応する部分コンテンツ「ＣＮＴ３」を抽出し、選択した特定情報２１３３「ＡＤ３」と抽出した部分コンテンツ「ＣＮＴ３」とから構成される代表情報２１４１を生成する。ここで、選択された部分コンテンツを代表部分コンテンツと呼ぶ。
【０１３１】
特定情報２１３４「ＡＤ７」と特定情報２１３７「ＡＤｃ」についても、同様の処理を繰返し、代表情報２１４２、２１４３を生成する。
次に、選択部２１０５は、生成した３個の代表情報２１４１、２４１２及び２１４３と、受け取った鍵ブロックとコンテンツ鍵「ＣＫ」とコンテンツ２１２０とをヘッダ情報生成部２１０７へ出力する。
【０１３２】
（５）ヘッダ情報生成部２１０７
ヘッダ情報生成部２１０７は、選択部２１０５から、３個の代表情報２１４１、２４１２及び２１４３と鍵ブロックとコンテンツ鍵「ＣＫ」とコンテンツ２１２０とを受け取る。
これらを受け取ると、受け取った代表情報２１４１を一意に識別する特定情報識別子「ＡＤＩＤ１」を生成する。特定情報識別子を生成する方法としては、自然数を順番に割り当てていく方法や、乱数を用いてランダムに割り当てる方法などがある。
【０１３３】
次に、ヘッダ情報生成部２１０７は、受け取った代表情報２１４１から特定情報「ＡＤ３」を抽出し、生成した特定情報識別子「ＡＤＩＤ１」と特定情報「ＡＤ３」から構成される代表検出情報を生成する。
続いて、受け取った代表情報２１４１から代表部分コンテンツ「ＣＮＴ３」を抽出し、抽出した代表部分コンテンツ「ＣＮＴ３」をハッシュ関数に代入して部分ハッシュ値「ＨＡ３」を生成する。生成した特定情報識別子「ＡＤＩＤ１」と部分ハッシュ値「ＨＡ３」から構成される代表ハッシュ情報を生成する。
【０１３４】
代表情報２１４２、２１４３についても、同様の処理を繰返し、代表検出情報及び代表ハッシュ情報を生成する。ヘッダ情報生成部２１０７は、生成した３個の代表検出情報から構成される選択位置情報を生成する。
図３０は、ここで生成される選択位置情報の構成を示す。選択位置情報２１６０は、代表検出情報２１６１、２１６２及び２１６３から構成され、それぞれ代表情報２１４１、２１４２及び２１４３と対応している。各代表検出情報は、特定情報識別子と特定情報から構成される。一例として、代表検出情報２１６１は、２１４１と対応しており、特定情報識別子２１７１「ＡＤＩＤ１」と特定情報２１７６「ＡＤ３」を含む。
【０１３５】
また、生成した３個の代表ハッシュ情報から構成されるヘッダ情報を生成する。
図３１は、ここで生成されるヘッダ情報の構成を示している。図３１に示すようにヘッダ情報２２００は、代表ハッシュ情報２２０１、２２０２及び２２０３から構成され、各代表ハッシュ情報は、それぞれ、代表検出情報２１６１、２１６２及び２１６３と対応する。
【０１３６】
各代表ハッシュ情報は、特定情報識別子と部分ハッシュ値とを含む。例えば、代表ハッシュ情報２２０１は、代表情報２１４１に基づいて生成され、特定情報識別子２２１１「ＡＤＩＤ１」と部分ハッシュ値２２１６「ＨＡ３」とを含む。
次に、ヘッダ情報生成部２１０７は、生成した選択位置情報２１６０と、ヘッダ情報２２００と、受け取った鍵ブロックとコンテンツ鍵「ＣＫ」とコンテンツ２１２０とを署名情報生成部２１０８へ出力する。
【０１３７】
（６）署名情報生成部２１０８
署名情報生成部２１０８は、ヘッダ情報生成部２１０７から選択位置情報２１６０と、ヘッダ情報２２００と、鍵ブロックとコンテンツ鍵「ＣＫ」とコンテンツ２１２０とを受け取る。これらの情報を受け取ると、署名情報生成部２１０８は、受け取ったヘッダ情報２２００に含まれる部分ハッシュ値「ＨＡ３」、「ＨＡ５」及び「ＨＡｃ」を抽出する。
【０１３８】
次に、署名情報生成部２１０８は、署名鍵記憶部１１１２から署名鍵１１１３を読み出す。抽出した部分ハッシュ値「ＨＡ３」、「ＨＡ５」及び「ＨＡｃ」を結合した結合物に、読み出した署名鍵１１１３を用いて、署名生成アルゴリズムＳを施して署名情報を生成する。
次に、署名情報生成部２１０８は、生成した署名情報と、受け取った選択位置情報２１６０とヘッダ情報２２００と鍵ブロックとコンテンツ鍵「ＣＫ」とコンテンツと２１２０とを暗号処理部２１０９へ出力する。
【０１３９】
（７）暗号処理部２１０９
暗号処理部２１０９は、署名情報生成部２１０８から、署名情報と、選択位置情報２１６０と、ヘッダ情報２２００と、鍵ブロックとコンテンツ鍵「ＣＫ」とコンテンツ２１２０とを受け取る。
これらの情報を受け取ると、暗号処理部２１０９は、受け取ったコンテンツ鍵「ＣＫ」を用いて、受け取ったコンテンツ２１２０を構成する部分コンテンツ「ＣＮＴ１」、「ＣＮＴ２」、「ＣＮＴ３」・・・「ＣＮＴｃ」それぞれに、暗号化アルゴリズムＥ１を施して、暗号化部分コンテンツ「ＥＣＮＴ１」、「ＥＣＮＴ２」、「ＥＣＮＴ３」・・・「ＥＣＮＴｃ」を生成する。生成した暗号化部分コンテンツ「ＥＣＮＴ１」、「ＥＣＮＴ２」、「ＥＣＮＴ３」・・・「ＥＣＮＴｃ」を暗号化コンテンツとする。ここで、ｂをｃ以下の自然数として、ＥＣＮＴｂ＝Ｅｎｃ（ＣＫ，ＣＮＴｂ）と表現している。図３２は、ここで生成される暗号化コンテンツ２２２０の構成を示している。
【０１４０】
続いて、暗号処理部２１０９は、受け取ったコンテンツ鍵「ＣＫ」を用いて、受け取った選択位置情報２１６０に暗号化アルゴリズムＥ１を施して暗号化選択位置情報を生成する。
次に、暗号処理部２１０９は、生成した暗号化コンテンツ２２２０と暗号化選択位置情報と、受け取った署名情報とヘッダ情報２２００と鍵ブロックとを記録部２１１４に出力する。
【０１４１】
（８）記録部２１１４
記録部２１１４は、ＤＶＤを装着可能である。
記録部２１１４は、暗号処理部２１０９から暗号化コンテンツ２２２０と暗号化選択位置情報と、署名情報と、ヘッダ情報２２００と、鍵ブロックとを受け取り、受け取った暗号化コンテンツ２２２０と暗号化選択位置情報と署名情報とヘッダ情報２２００と鍵ブロックとをＤＶＤへ書き込む。
２．３  ＤＶＤ２５００
ＤＶＤ２５００は、図３３に示すように、鍵ブロック２５１０、暗号化選択位置情報２５３０、ヘッダ情報２５５０、署名情報２５７０及び暗号化コンテンツ２５８０を記憶している。
【０１４２】
鍵ブロック２５１０、暗号化選択位置情報２５３０、ヘッダ情報２５５０、署名情報２５７０及び暗号化コンテンツ２５８０は、配布装置２１００によって書き込まれたものであり、その構成は、既に述べたとおりである。
２．４  実行装置２６００
実行装置２６００は、図３４に示すように取得部２６０１、コンテンツ鍵取得部２６０２、デバイス鍵格納部１６０４、位置情報復号部２６０６、署名情報検証部２６１１、検証鍵記憶部１６１２、代表部分復号部２６１６、ヘッダ情報検証部２６１７及び実行部２６１８から構成される。
【０１４３】
以下に、実行装置２６００を構成する各部について、詳細に説明する。なお、デバイス鍵格納部１６０４、検証鍵記憶部１６１２は、実施の形態１の実行装置１６００を構成するデバイス鍵格納部１６０４、検証鍵記憶部１６１２と同様であるので、説明を省略する。
（１）取得部２６０１
取得部２６０１は、ＤＶＤ２５００を装着される。ＤＶＤ２５００の装着を検出すると、取得部２６０１は、ＤＶＤ２５００から鍵ブロック２５１０、暗号化選択位置情報２５３０、ヘッダ情報２５５０、署名情報２５７０及び暗号化コンテンツ２５８０を読み出す。読み出した鍵ブロック２５１０、暗号化選択位置情報２５３０ヘッダ情報２５５０、署名情報２５７０及び暗号化コンテンツ２５８０をコンテンツ鍵取得部２６０２へ出力する。
【０１４４】
（２）コンテンツ鍵取得部２６０２
コンテンツ鍵取得部２６０２は、取得部２６０１から鍵ブロック２５１０、暗号化選択位置情報２５３０、ヘッダ情報２５５０、署名情報２５７０及び暗号化コンテンツ２５８０を受け取る。
これらの情報を受け取ると、コンテンツ鍵取得部２６０２は、デバイス鍵格納部１６０４の記憶している装置識別子「ＡＩＤ＿ｐ」及びデバイス鍵「ＤＫ＿ｐ」と、受け取った鍵ブロックを用いてコンテンツ鍵「ＣＫ」を生成する。コンテンツ鍵「ＣＫ」の生成手順は、実施の形態１の実行装置１６００を構成するコンテンツ鍵取得部１６０２によるコンテンツ鍵「ＣＫ」の生成手順と同様であるので、ここでは説明を省略する。
【０１４５】
次に、コンテンツ鍵取得部２６０２は、生成したコンテンツ鍵「ＣＫ」と受け取った暗号化選択位置情報２５３０、ヘッダ情報２５５０、署名情報２５７０及び暗号化コンテンツ２５８０を位置情報復号部２６０６へ出力する。
（３）位置情報復号部２６０６
位置情報復号部２６０６は、コンテンツ鍵取得部２６０２から、コンテンツ鍵「ＣＫ」と暗号化選択位置情報２５３０、ヘッダ情報２５５０、署名情報２５７０及び暗号化コンテンツ２５８０を受け取る。
【０１４６】
これらの情報を受け取ると位置情報復号部２６０６は、受け取ったコンテンツ鍵「ＣＫ」を用いて、受け取った暗号化選択位置情報２５３０に復号アルゴリズムＤ１を施して選択位置情報を生成する。ここで、生成される選択位置情報の構成は、図３０に示す選択位置情報２１６０と同一である。
次に、位置情報復号部２６０６は、生成した選択位置情報と、受け取ったコンテンツ鍵「ＣＫ」とヘッダ情報２５５０と署名情報２５７０と暗号化コンテンツ２５８０とを署名情報検証部２６１１へ出力する。
【０１４７】
（４）署名情報検証部２６１１
署名情報検証部２６１１は、位置情報復号部２６０６から選択位置情報とコンテンツ鍵「ＣＫ」とヘッダ情報２５５０と署名情報２５７０と暗号化コンテンツ２５８０とを受け取る。
これらの情報を受け取ると、署名情報検証部２６１１は、検証鍵記憶部１６１２から検証鍵を読み出す。次に、受け取ったヘッダ情報２５５０を構成する３個の代表ハッシュ情報それぞれから、部分ハッシュ値「ＨＡ３」、「ＨＡ７」及び「ＨＡｃ」を抽出し、読み出した検証鍵を用いて、抽出した部分ハッシュ値「ＨＡ３」、「ＨＡ７」及び「ＨＡｃ」の結合物に署名検証アルゴリズムＶを施して署名検証情報を生成する。生成した署名検証情報と受け取った署名情報とを比較し、両者が一致しない場合、署名検証が失敗であると判定し、以降の処理を中止する。
【０１４８】
両者が一致する場合、署名情報検証部２６１１は、署名検証が成功であると判定し、受け取った選択位置情報とコンテンツ鍵「ＣＫ」とヘッダ情報２５５０と暗号化コンテンツ２５８０とを代表部分復号部２６１６へ出力する。
（５）代表部分復号部２６１６
代表部分復号部２６１６は、署名情報検証部２６１１から、選択位置情報とコンテンツ鍵「ＣＫ」とヘッダ情報２５５０と暗号化コンテンツ２５８０とを受け取る。
【０１４９】
これらの情報を受け取ると、代表部分復号部２６１６は、受け取った選択位置情報を構成する１番目の代表検出情報に含まれる特定情報識別子「ＡＤＩＤ１」とこれに対応する特定情報「ＡＤ３」を抽出し、抽出した特定情報「ＡＤ３」を基に、受け取った暗号化コンテンツ２５８０から暗号化部分コンテンツ「ＥＣＮＴ３」を抽出する。次に、受け取ったコンテンツ鍵「ＣＫ」を用いて、抽出した暗号化部分コンテンツ「ＥＣＮＴ３」に復号アルゴリズムＤ１を施して代表部分コンテンツ「ＣＮＴ３」を生成する。ここで、生成した代表部分コンテンツ「ＣＮＴ３」と抽出した特定情報識別子「ＡＤＩＤ１」との組を、検証用代表情報と呼ぶ。
【０１５０】
次に、代表部分復号部２６１６は、他の代表検出情報についても、同様の処理を繰返し、特定情報識別子「ＡＤＩＤ２」と代表部分コンテンツ「ＣＮＴ７」から構成される検証用代表情報と、特定情報識別子「ＡＤＩＤ３」と代表部分コンテンツ「ＣＮＴｃ」から構成される検証用代表情報とを生成する。
次に、代表部分復号部２６１６は、生成した３個の検証用代表情報と、受け取ったコンテンツ鍵「ＣＫ」とヘッダ情報２５５０と暗号化コンテンツ２５８０とをヘッダ情報検証部２６１７へ出力する。  
【０１５１】
（６）ヘッダ情報検証部２６１７
ヘッダ情報検証部２６１７は、代表部分復号部２６１６から３個の検証用代表情報とコンテンツ鍵「ＣＫ」とヘッダ情報２５５０と暗号化コンテンツ２５８０とを受け取る。
これらの情報を受け取ると、ヘッダ情報検証部２６１７は、受け取った３個の検証用代表情報に含まれる代表部分コンテンツ「ＣＮＴ３」、「ＣＮＴ７」、「ＣＮＴｃ」を、それぞれハッシュ関数に代入して、検証用ハッシュ値「Ｈ３」、「Ｈ７」、「Ｈｃ」を生成する。ここで用いるハッシュ関数は、配布装置２１００のヘッダ情報生成部２１０７において用いられるハッシュ関数と同一である。
【０１５２】
次に、ヘッダ情報検証部２６１７は、検証用代表情報に含まれる特定情報識別子「ＡＤＩＤ１」と一致する特定情報識別子を、ヘッダ情報２５５０において検索し、検出した特定情報識別子と対応する、部分ハッシュ値「ＨＡ３」を抽出する。抽出した部分ハッシュ値「ＨＡ３」と生成した検証用ハッシュ値「Ｈ３」とを比較する。
また、検証用代表情報に含まれる特定情報識別子「ＡＤＩＤ２」を基に、ヘッダ情報２５５０から部分ハッシュ値「ＨＡ７」を抽出し、抽出した部分ハッシュ値「ＨＡ７」と生成した検証用ハッシュ値「Ｈ７」とを比較する。
【０１５３】
また、検証用代表情報に含まれる特定情報識別子「ＡＤＩＤｃ」を基に、ヘッダ情報２５５０から部分ハッシュ値「ＨＡｃ」を抽出し、抽出した部分ハッシュ「ＨＡｃ」と生成した検証用ハッシュ値「Ｈｃ」とを比較する。
上記の３組の比較において、いずれか一組でも一致しない組があれば、ヘッダ情報検証部２６１７は、以後の処理を中止する。
【０１５４】
上記の３組の比較において、３組ともが一致すれば、ヘッダ情報２５５０の検証が成功であると判定し、受け取ったコンテンツ鍵「ＣＫ」と暗号化コンテンツ２５８０とを実行部２６１８へ出力する。
（７）実行部２６１８
実行部２６１８は、ヘッダ情報検証部２６１７から、コンテンツ鍵「ＣＫ」と暗号化コンテンツ２５８０とを受け取る。
【０１５５】
これらの情報を受け取ると、実行部２６１８は、受け取ったコンテンツ鍵「ＣＫ」を用いて、受け取った暗号化コンテンツ２５８０を構成する暗号化部分コンテンツ「ＥＣＮＴ１」、「ＥＣＮＴ２」、「ＥＣＮＴ３」・・・「ＥＣＮＴｃ」それぞれに、復号アルゴリズムＤ１を施して部分コンテンツ「ＣＮＴ１」、「ＣＮＴ２」、「ＣＮＴ３」・・・「ＣＮＴｃ」から構成されるコンテンツを生成する。
【０１５６】
次に、実行部２６１８は、生成したコンテンツを伸長して、画像データ、音声データを生成し、生成した画像データ及び音声データから、画像信号と音声信号を生成する。生成した画像信号及び音声信号をモニタへ出力する。
２．５  配布装置２１００及び実行装置２６００の動作
以下に、配布装置２１００及び実行装置２６００の動作について、説明する。
【０１５７】
（１）配布装置２１００の動作
配布装置２１００の動作について、図３５のフローチャートを用いて説明する。
入力部２１０１は、ｃ個の部分コンテンツからなるコンテンツ２１２０と、ｃ個のｃ個の特定情報とを受け取り（ステップＳ２０１１）、受け取ったコンテンツ２１２０と特定情報とをコンテンツ鍵生成部２１０２へ出力する。
【０１５８】
コンテンツ鍵生成部２１０２は、コンテンツ２１２０とｃ個の特定情報とを受け取り、コンテンツ鍵を生成する（ステップＳ２０１２）。
鍵ブロック生成部２１０３は、コンテンツ鍵生成部２１０２から、コンテンツ鍵、コンテンツ２１２０及びｃ個の特定情報を受け取り、実行装置情報格納部１１０４から装置識別子とデバイス鍵とを読み出す（ステップＳ２０１３）。読み出した装置識別子とデバイス鍵とコンテンツ鍵とを用いて、鍵ブロックを生成する（ステップＳ２０１４）。生成した鍵ブロックと、受け取ったコンテンツ鍵、コンテンツ２１２０及びｃ個の特定情報を選択部２１０５へ出力する。
【０１５９】
選択部２１０５は、鍵ブロックとコンテンツ鍵とコンテンツ２１２０と特定情報とを受け取り、受け取ったコンテンツ２１２０から、ｋ個の代表部分コンテンツを選択し、ｋ個の代表情報を生成する（ステップＳ２０１６）。生成したｋ個の代表情報と、受け取ったコンテンツ鍵とコンテンツ２１２０とをヘッダ情報生成部２１０７へ出力する。
ヘッダ情報生成部２１０７は、選択部からｋ個の代表情報とコンテンツ鍵とコンテンツ２１２０とを受け取り、受け取ったｋ個の代表情報から、選択位置情報２１６０とヘッダ情報２２００とを生成する（ステップＳ２０１８）。次に、生成した選択位置情報２１６０とヘッダ情報２２００と、受け取った鍵ブロックとコンテンツ鍵とコンテンツ２１２０とを署名情報生成部２１０８へ出力する。
【０１６０】
続いて、署名情報生成部２１０８は、ヘッダ情報生成部２１０７から選択位置情報２１６０とヘッダ情報２２００と鍵ブロックとコンテンツ鍵とコンテンツ２１２０とを受け取る。これらの情報を受け取ると、署名鍵記憶部１１１２から署名鍵１１１３を読み出し（ステップＳ２０１９）、読み出した署名鍵１１１３とヘッダ情報２２００とから署名情報を生成する（ステップＳ２０２１）。次に、生成した署名情報、受け取った鍵ブロックと選択位置情報２１６０とヘッダ情報２２００とコンテンツ鍵とコンテンツ２１２０とを暗号処理部２１０９へ出力する。
【０１６１】
暗号処理部２１０９は、署名情報生成部２１０８から署名情報と鍵ブロックと選択位置情報２１６０とヘッダ情報２２００とコンテンツ鍵とコンテンツ２１２０とを受け取り、受け取ったコンテンツ鍵を用いて選択位置情報２１６０を暗号化して暗号化選択位置情報を生成する（ステップＳ２０２２）。続いて、コンテンツ鍵を用いて、コンテンツ２１２０を暗号化して暗号化コンテンツを生成する（ステップＳ２０２３）。次に、生成した暗号化選択位置情報と暗号化コンテンツと、受け取った鍵ブロックと署名情報とヘッダ情報２２００とを記録部２１１４へ出力する。
【０１６２】
記録部２１１４は、暗号処理部２１０９から鍵ブロックと暗号化選択位置情報とヘッダ情報２２００と署名情報と暗号化コンテンツとをＤＶＤ２５００へ書き込む（ステップＳ２０２４）。
（２）実行装置２６００の動作
実行装置２６００の動作について、図３６に示すフローチャートを用いて説明する。
【０１６３】
取得部２６０１は、ＤＶＤ２５００が装着されると、ＤＶＤ２５００から、鍵ブロック２５１０、暗号化選択位置情報２５３０、ヘッダ情報２５５０、署名情報２５７０及び暗号化コンテンツ２５８０を読み出す（ステップＳ２０４１）。読み出した鍵ブロック２５１０、暗号化選択位置情報２５３０、ヘッダ情報２５５０、署名情報２５７０及び暗号化コンテンツ２５８０をコンテンツ鍵取得部２６０２へ出力する。
【０１６４】
コンテンツ鍵取得部２６０２は、取得部２６０１から、鍵ブロック２５１０、暗号化選択位置情報２５３０、ヘッダ情報２５５０、署名情報２５７０及び暗号化コンテンツ２５８０を受け取ると、デバイス鍵格納部１６０４から装置識別子とデバイス鍵とを読み出す（ステップＳ２０４２）。読み出した装置識別子とデバイス鍵と受け取った鍵ブロック２５１０とからコンテンツ鍵を生成する（ステップＳ２０４３）。コンテンツ鍵取得部２６０２は、生成したコンテンツ鍵と受け取った暗号化選択位置情報２５３０、ヘッダ情報２５５０、署名情報２５７０及び暗号化コンテンツ２５８０を位置情報復号部２６０６へ出力する。
【０１６５】
位置情報復号部２６０６は、コンテンツ鍵取得部２６０２からコンテンツ鍵、暗号化選択位置情報２５３０、ヘッダ情報２５５０、署名情報２５７０及び暗号化コンテンツ２５８０を受け取り、受け取ったコンテンツ鍵を用いて暗号化選択位置情報２５３０を復号して、選択位置情報を生成する（ステップＳ２０４４）。次に、生成した選択位置情報と、受け取ったコンテンツ鍵、ヘッダ情報２５５０、署名情報２５７０及び暗号化コンテンツ２５８０を署名情報検証部２６１１へ出力する。
【０１６６】
署名情報検証部２６１１は、位置情報復号部２６０６から選択位置情報、コンテンツ鍵、ヘッダ情報２５５０、署名情報２５７０及び暗号化コンテンツ２５８０を受け取り、検証鍵記憶部１６１２から検証鍵を読み出す（ステップＳ２０４６）。読み出した検証鍵と受け取ったヘッダ情報２５５０とを用いて、署名情報２５７０を検証する（ステップＳ２０４８）。署名情報２５７０の検証が失敗であれば（ステップＳ２０４９のＮＯ）、実行装置２６００における以後の処理を中止する。
【０１６７】
署名情報２５７０の検証が成功であれば（ステップＳ２０４９のＹＥＳ）、署名情報検証部２６１１は、受け取った選択位置情報、コンテンツ鍵、ヘッダ情報２５５０及び暗号化コンテンツ２５８０を代表部分復号部２６１６へ出力する。
代表部分復号部２６１６は、署名情報検証部２６１１から選択位置情報、コンテンツ鍵、ヘッダ情報２５５０及び暗号化コンテンツ２５８０を受け取り、受け取った選択位置情報と暗号化コンテンツ２５８０とコンテンツ鍵を基に、ｋ個の代表部分コンテンツを生成する（ステップＳ２０５１）。次に、対応する代表部分コンテンツと特定情報識別子からなる検証用代表情報をｋ個生成し（ステップＳ２０５２）、生成したｋ個の検証用代表情報と、受け取ったコンテンツ鍵、ヘッダ情報２５５０及び暗号化コンテンツ２５８０をヘッダ情報検証部２６１７へ出力する。
【０１６８】
ヘッダ情報検証部２６１７は、代表部分復号部２６１６からｋ個の検証用代表情報とコンテンツ鍵とヘッダ情報２５５０と暗号化コンテンツ２５８０とを受け取り、受け取ったｋ個の検証用代表情報を用いて、ヘッダ情報２５５０を検証する（ステップＳ２０５４）。検証が失敗であれば（ステップＳ２０５６のＮＯ）、以後の処理を中止する。
検証が成功であれば（ステップＳ２０５６のＹＥＳ）、ヘッダ情報検証部２６１７は、受け取ったコンテンツ鍵と暗号化コンテンツ２５８０とを実行部２６１８へ出力する。
【０１６９】
実行部２６１８は、ヘッダ情報検証部２６１７からコンテンツ鍵と暗号化コンテンツ２５８０とを受け取ると、受け取ったコンテンツ鍵を用いて暗号化コンテンツ２５８０を復号してコンテンツを生成し（ステップＳ２０５７）、生成したコンテンツを伸長し（ステップＳ２０５８）、モニタへ再生する（ステップＳ２０５９）。
２．６  まとめ・効果
以上説明してきたように、実施の形態２において、配布装置２１００は、コンテンツを構成するｃ個の部分コンテンツのうちｋ個の代表部分コンテンツのみを用いてヘッダ情報を生成し、これに署名生成アルゴリズムを施して署名情報を生成する。
【０１７０】
実行装置２６００は、選択位置情報を基にｋ個の代表部分コンテンツを生成し、生成したｋ個の代表部分コンテンツを用いてヘッダ情報の検証を行うことで不正なコンテンツの有無の検証を行う。検証が成功である場合に、不正なコンテンツが存在しないものとしてコンテンツの再生を開始する。
このように、コンテンツを構成するｃ個の部分コンテンツのうちｋ個のみを使用して、ヘッダ情報の検証を行うことで、検証に係る実行装置２６００の処理負荷を軽減することができる。
【０１７１】
さらに、配布装置２１００においても、ヘッダ情報の生成に係る処理負荷を軽減することができる。
３．実施の形態３
本発明の実施の形態３に係る不正コンテンツ検知システムについて、以下に説明する。
３．１  不正コンテンツ検知システム
実施の形態３の不正コンテンツ検知システムは、実施の形態１における不正コンテンツ検知システムと同様に、配布装置、実行装置及びモニタから構成される。
【０１７２】
配布装置は、操作者の操作に従って、コンテンツを取得し、取得したコンテンツを暗号化して暗号化コンテンツを生成する。
また、コンテンツの一部分を抽出し、抽出した一部分（代表部分コンテンツと呼ぶ）を基に、不正コンテンツの有無を検証するためのヘッダ情報、正当な権利者によって発行されたコンテンツであることを証明するための署名情報を生成する。配布装置は、代表部分コンテンツの抽出、ヘッダ情報の生成、署名情報の生成を繰返し、ヘッダ情報及び署名情報を複数生成し、生成した暗号化コンテンツ、複数のヘッダ情報、複数の署名情報をＤＶＤ書き込む。
【０１７３】
ＤＶＤは、販売店などを通じて、利用者に販売又は配布される。
実行装置は、ＤＶＤに記録されている複数の署名情報と複数のヘッダ情報のうち、いずれかを選択し、選択した署名情報とヘッダ情報の検証を行う。
以下に、本実施の形態の不正コンテンツ検知システムを構成する各装置及びＤＶＤについて、詳細に説明する。
３．２  配布装置３１００
図３７は、本実施の形態における、配布装置の構成を示している。配布装置３１００は、図３７に示すように、入力部２１０１、コンテンツ鍵生成部２１０２、鍵ブロック生成部２１０３、実行装置情報格納部１１０４、選択部３１０５、ヘッダ情報生成部３１０７、署名情報生成部３１０８、署名鍵記憶部１１１２、暗号処理部３１０９、記録部３１１４から構成される。入力部２１０１、コンテンツ鍵生成部２１０２、鍵ブロック生成部２１０３、実行装置情報格納部１１０４及び署名鍵記憶部１１１２は、実施の形態２の入力部２１０１、コンテンツ鍵生成部２１０２、鍵ブロック生成部２１０３、実行装置情報格納部１１０４及び署名鍵記憶部１１１２と同様であるので、説明を省略する。
【０１７４】
（１）選択部３１０５
選択部３１０５は、予め、繰返し回数「ｘ」を記憶している（ｘは２以上の整数）。
選択部３１０５は、鍵ブロック生成部２１０３から鍵ブロックとコンテンツ鍵「ＣＫ」とコンテンツ及びｃ個の特定情報とを受け取る。鍵ブロックとコンテンツ鍵「ＣＫ」とコンテンツ及びｃ個の特定情報とを受け取ると、実施の形態２の選択部２１０５と同様にして、ｋ個の代表情報を生成する。
【０１７５】
同様の処理をｘ回繰返し、ｋ個の代表情報の組をｘ組生成する。ここで、１組目の代表情報の組を、第１代表グループ、２組目の代表情報の組を第２代表グループ・・・・ｘ組目の代表情報の組を第ｘ代表グループと呼ぶ。ここでは、第１代表グループ〜第ｘ代表グループのいずれもｋ個の代表情報から構成されているとしたが、代表グループ毎に、代表情報の個数が異なるようにしてもよい。
【０１７６】
次に、選択部３１０５は、生成した第１代表グループ、第２代表グループ・・・第ｘ代表グループと、受け取った鍵ブロックとコンテンツ鍵「ＣＫ」とコンテンツとをヘッダ情報生成部３１０７へ出力する。
（２）ヘッダ情報生成部３１０７
ヘッダ情報生成部３１０７は、選択部３１０５から第１代表グループ、第２代表グループ・・・第ｘ代表グループ、鍵ブロック、コンテンツ鍵「ＣＫ」及びコンテンツを受け取る。
【０１７７】
これらの情報を受け取ると、ヘッダ情報生成部３１０７は、受け取った第１代表グループに含まれるｋ個の代表情報と、コンテンツとを基に選択位置情報「ＰＯＳ１」とヘッダ情報「ＨＥＡＤ１」とを生成する。具体的な生成の手順は、実施の形態２のヘッダ情報生成部２１０７による選択位置情報２１６０の生成手順及びヘッダ情報２２００の生成手順と同様であるのでここでは、説明を省略する。選択位置情報「ＰＯＳ１」の構成は、図３０に示す選択位置情報２１６０と同様であり、ヘッダ情報「ＨＥＡＤ１」の構成は、図３１に示すヘッダ情報２２００と同様である。
【０１７８】
次に、生成した選択位置情報「ＰＯＳ１」とヘッダ情報「ＨＥＡＤ１」の組に固有のヘッダ識別子「ＨＥＡＤＩＤ１」を生成する。ここで、生成したヘッダ識別子「ＨＥＡＤＩＤ１」、選択位置情報「ＰＯＳ１」及びヘッダ情報「ＨＥＡＤ１」の組を第１ヘッダグループと呼ぶ。
ヘッダ情報生成部３１０７は、第２代表グループ〜第ｘ代表グループについても同様の処理を繰り返して、第２ヘッダグループ、第３ヘッダグループ・・・第ｘヘッダグループを生成する。
【０１７９】
次に、ヘッダ情報生成部３１０７は、第１ヘッダグループ〜第ｘヘッダグループから、ヘッダ識別子を抽出し、抽出したｘ個のヘッダ識別子からなるヘッダ選択情報を生成する。
図３８は、ここで生成されるヘッダ選択情報の構成の一例を示している。ヘッダ選択情報３１３０は、ｘ個のヘッダ識別子から構成され、各ヘッダ識別子は、それぞれ、第１ヘッダグループ〜第ｘヘッダグループと対応している。
【０１８０】
次に、ヘッダ情報生成部３１０７は、生成したヘッダ選択情報３１３０と第１ヘッダグループ、第２ヘッダグループ・・・第ｘヘッダグループと受け取った鍵ブロックとコンテンツ鍵「ＣＫ」とコンテンツとを署名情報生成部３１０８へ出力する。
（３）署名情報生成部３１０８
署名情報生成部３１０８は、ヘッダ情報生成部３１０７から、ヘッダ選択情報３１３０、第１ヘッダグループ、第２ヘッダグループ・・・第ｘヘッダグループと、鍵ブロックとコンテンツ鍵「ＣＫ」とコンテンツとを受け取る。
【０１８１】
これらの情報を受け取ると、署名情報生成部３１０８は、署名鍵記憶部１１１２から署名鍵１１１３を読み出す。
次に、第１ヘッダグループに含まれるヘッダ情報「ＨＥＡＤ１」と、読み出した署名鍵１１１３とを用いて、署名情報「Ｓｉｇｎ１」を生成する。具体的な生成の手順は、実施の形態２の署名情報生成部２１０８による署名情報の生成手順と同様である。
【０１８２】
ここで、ヘッダ識別子「ＨＥＡＤＩＤ１」、選択位置情報「ＰＯＳ１」及びヘッダ情報「ＨＥＡＤ１」に、生成した署名情報「Ｓｉｇｎ１」を加えたものを、改めて第１ヘッダグループと呼ぶ。
第２ヘッダグループ〜第ｘヘッダグループについても同様の処理を繰返して、署名情報を生成し、生成した署名情報を加えたものを、第２ヘッダグループ〜第ｘヘッダグループとする。
【０１８３】
次に、署名情報生成部３１０８は、第１ヘッダグループ、第２ヘッダグループ・・・第ｘヘッダグループと、受け取ったヘッダ選択情報３１３０と鍵ブロックとコンテンツ鍵「ＣＫ」とコンテンツとを暗号処理部３１０９へ出力する。
（４）暗号処理部３１０９
暗号処理部３１０９は、署名情報生成部３１０８から第１ヘッダグループ、第２ヘッダグループ・・・第ｘヘッダグループとヘッダ選択情報３１３０と鍵ブロックとコンテンツ鍵「ＣＫ」とコンテンツとを受け取る。
【０１８４】
受け取ったコンテンツ鍵「ＣＫ」を用いて、受け取ったコンテンツを構成する各部分コンテンツに暗号化アルゴリズムＥ１を施して暗号化部分コンテンツを生成し、生成したｃ個の暗号化部分コンテンツを暗号化コンテンツとする。ここで生成される暗号化コンテンツの構成は、図３２暗号化コンテンツ２２２０と同様である。
次に、暗号処理部３１０９は、第１ヘッダグループから、選択位置情報「ＰＯＳ１」を抽出し、コンテンツ鍵「ＣＫ」を用いて抽出した選択位置情報「ＰＯＳ１」に暗号化アルゴリズムＥ１を施して、暗号化選択位置情報「ＥＰＯＳ１」を生成する。次に、第１ヘッダグループに含まれる選択位置情報「ＰＯＳ１」を生成した暗号化選択位置情報「ＥＰＯＳ１」に置き換える。ここで、ＥＰＯＳ１＝Ｅｎｃ（ＣＫ，ＰＯＳ１）である。
【０１８５】
第２ヘッダグループ〜第ｘヘッダグループについても同様にして、暗号化選択位置情報を生成し、選択位置情報を、生成した暗号化選択位置情報に置き換える。
次に、暗号処理部３１０９は、第１ヘッダグループ、第２ヘッダグループ・・・第ｘヘッダグループと、生成した暗号化コンテンツと、受け取ったヘッダ選択情報３１３０と鍵ブロックとを記録部３１１４へ出力する。
【０１８６】
（５）記録部３１１４
記録部３１１４は、暗号処理部３１０９から第１ヘッダグループ、第２ヘッダグループ・・・第ｘヘッダグループと暗号化コンテンツとヘッダ選択情報３１３０と鍵ブロックとを受け取り、受け取った第１ヘッダグループ、第２ヘッダグループ・・・第ｘヘッダグループと暗号化コンテンツとヘッダ選択情報３１３０と鍵ブロックをＤＶＤへ書き込む。
３．３  ＤＶＤ３５００
図３９は、本実施の形態に係るＤＶＤの記憶している情報を示している。
【０１８７】
図３９に示すように、ＤＶＤ３５００は、鍵ブロック３５１０、ヘッダ選択情報３５２０、第１ヘッダグループ３５３０、第２ヘッダグループ３５４０・・・第ｘヘッダグループ３５６０及び暗号化コンテンツ３５８０を記憶している。
第１ヘッダグループ３５３０、第２ヘッダグループ３５４０・・・第ｘヘッダグループ３５６０は、それぞれ、ヘッダ識別子、暗号化選択位置情報、ヘッダ情報及び署名情報から構成される。
【０１８８】
例えば、第１ヘッダグループ３５３０は、ヘッダ識別子３５３１「ＨＥＡＤ１」、暗号化選択位置情報３５３２「ＥＰＯＳ１」、ヘッダ情報「ＨＥＡＤ１」及び署名情報３５３４「Ｓｉｇｎ１」から構成される。
これらの情報は、配布装置３１００によって書き込まれたものであり、個々の情報の構成については、既に述べたとおりであるので、ここでは説明を省略する。
３．４  実行装置３６００
実行装置３６００は、図４０に示すように取得部３６０１、コンテンツ鍵取得部２６０２、デバイス鍵格納部１６０４、位置情報復号部２６０６、署名情報検証部２６１１、検証鍵記憶部１６１２、代表部分復号部２６１６、ヘッダ情報検証部２６１７及び実行部２６１８から構成される。
【０１８９】
取得部３６０１以外の各部の構成及び動作は、実施の形態２の実行装置２６００を構成するコンテンツ鍵取得部２６０２、デバイス鍵格納部１６０４、位置情報復号部２６０６、署名情報検証部２６１１、検証鍵記憶部１６１２、代表部分復号部２６１６、ヘッダ情報検証部２６１７及び実行部２６１８と同一であるので、ここでは取得部３６０１についてのみ説明する。
【０１９０】
（１）取得部３６０１
取得部３６０１は、ＤＶＤ３５００の装着を検出すると、ＤＶＤ３５００からヘッダ選択情報３５２０を読み出す。ヘッダ情報３５２０を読み出すと、乱数を用いて、読み出したヘッダ情報３５２０に含まれるヘッダ識別子「ＨＥＡＤＩＤ１」、「ＨＥＡＤＩＤ２」、「ＨＥＡＤＩＤ３」・・・「ＨＥＡＤＩＤｘ」から、いずれか一つを選択する。選択の方法は、この方法に限るものではなく、第三者による予測が困難な方法であれば、どのような方法でも良い。
【０１９１】
次に、取得部３６０１は、ＤＶＤ３５００に記憶されている第１ヘッダグループ、第２ヘッダグループ・・・・第ｘヘッダグループのうち、選択したヘッダ識別子を含むものから暗号化選択位置情報、ヘッダ情報及び署名情報を読み出す。
続いて、取得部３６０１は、ＤＶＤ３５００から鍵ブロック３５１０暗号化コンテンツ３５８０を読み出す。読み出した鍵ブロック、暗号化コンテンツ、暗号化選択位置情報、ヘッダ情報及び署名情報をコンテンツ鍵取得部２６０２へ出力する。
３．５  まとめ・効果
以上、説明してきたように、本実施の形態における配布装置３１００は、暗号化選択位置情報、ヘッダ情報、署名情報の組をｍ組生成し、実行装置は、いずれか一組を選択し、選択した暗号化選択位置情報とヘッダ情報、署名情報を用いて不正コンテンツの有無の検証を行う。
【０１９２】
このように、検証に用いる代表部分コンテンツの数を増加させることで、より不正コンテンツを検出の精度を高めることができる。また、実行装置３６００において、第１ヘッダグループ〜第ｘヘッダグループのうち、いずれが選択されるかを、予測するのは困難であるため、検証に用いない部分コンテンツのみを不正コンテンツに差し替えるというような不正行為を抑制することができる。
４．実施の形態４
本発明の実施の形態４に係る不正コンテンツ検知システムについて、以下に説明する。
４．１  不正コンテンツ検知システム
本実施の形態に係る不正コンテンツ検知システムは、実施の形態１と同様に、配布装置、実行装置及びモニタから構成される。
【０１９３】
配布装置は、操作者の操作に従って、コンテンツを取得し、取得したコンテンツを暗号化して暗号化コンテンツを生成する。
また、コンテンツを複数の部分コンテンツに分割し、全ての部分コンテンツを基に、不正コンテンツの有無を検証するためのヘッダ情報、正当な権利者によって発行されたコンテンツであることを証明するための署名情報を生成する。生成した暗号化コンテンツ、署名情報などをＤＶＤ書き込む。
【０１９４】
ＤＶＤは、販売店などを通じて、実行装置の利用者に販売又は配布される。
実行装置は、ＤＶＤを装着され、コンテンツを構成する複数の部分コンテンツから、いくつかを選択し、選択した部分コンテンツのみを用いて、ヘッダ情報を検証する。
以下に、本実施の形態の不正コンテンツ検知システムを構成する各装置及びＤＶＤについて、詳細に説明する。
４．２  配布装置４１００
図４１は、本実施の形態における、配布装置の構成を示している。配布装置４１００は、図４１に示すように、入力部４１０１、コンテンツ鍵生成部４１０２、鍵ブロック生成部４１０３、実行装置情報格納部１１０４、部分コンテンツ生成部４１０５、ヘッダ情報生成部４１０７、署名情報生成部４１０８、署名鍵記憶部１１１２、暗号処理部４１０９、記録部４１１４から構成される。
【０１９５】
以下に配布装置４１００を構成する各部について説明する。なお、実行装置情報格納部１１０４及び署名鍵記憶部１１１２は、実施の形態１と同様であるので説明を省略する。
（１）入力部４１０１
入力部４１０１は、配布装置４１００の操作者による操作に従って、外部機器又は外部の記録メディアからコンテンツを取得する。ここで取得するコンテンツは、実行装置４６００（詳細は後述する）により再生可能な形式であり、一例としてＤＶＤ−Ｖｉｄｅｏ形式、ＭＰＥＧ２方式などである。
【０１９６】
入力部４１０１は、取得したコンテンツをコンテンツ鍵生成部４１０２へ出力する。
（２）コンテンツ鍵生成部４１０２
コンテンツ鍵生成部４１０２は、入力部４１０１からコンテンツを受け取る。コンテンツを受け取ると、擬似乱数を生成し、生成した擬似乱数を用いて１２８ビット長のコンテンツ鍵「ＣＫ」を生成する。擬似乱数に代わって、信号のノイズなどを利用して真性乱数を生成しても良い。
【０１９７】
次に、生成したコンテンツ鍵「ＣＫ」と受け取ったコンテンツとを鍵ブロック生成部４１０３へ出力する。
（３）鍵ブロック生成部４１０３
鍵ブロック生成部４１０３は、コンテンツ鍵生成部４１０２からコンテンツ鍵「ＣＫ」とコンテンツとを受け取る。コンテンツ鍵「ＣＫ」とコンテンツとを受け取ると、受け取ったコンテンツ鍵「ＣＫ」と実行装置情報格納部１１０４の記憶している装置識別テーブルとを用いて鍵ブロックを生成する。具体的な生成手順は、実施の形態１の鍵ブロック生成部１１０３による鍵ブロックの生成手順と同一であるのでここでは、説明を省略する。
【０１９８】
次に、鍵ブロック生成部４１０３は、生成した鍵ブロックと受け取ったコンテンツ鍵「ＣＫ」とコンテンツとを部分コンテンツ生成部４１０５へ出力する。
（４）部分コンテンツ生成部４１０５
部分コンテンツ生成部４１０５は、鍵ブロック生成部４１０３から、鍵ブロック、コンテンツ鍵「ＣＫ」及びコンテンツを受け取る。
【０１９９】
これらの情報を受け取ると、部分コンテンツ生成部４１０５は、受け取ったコンテンツを分割してｃ個の部分コンテンツ「ＣＮＴ１」、「ＣＮＴ２」、「ＣＮＴ３」・・・「ＣＮＴｃ」を生成する。分割の単位は、例えば、コンテンツがＤＶＤ−Ｖｉｄｅｏ形式であれば、ＶＯＢ単位又はＶＯＢＵ単位であるし、コンテンツがＭＰＥＧ２形式であれば、ＧＯＰ単位、フィールド単位、フレーム単位、Ｉピクチャ単位などである。また、コンテンツの形式にかかわらず、６４キロバイトごと、再生時間１秒ごとなどでもよい。ここで生成されたｃ個の部分コンテンツの組を分割コンテンツと呼ぶ。
【０２００】
次に、部分コンテンツ生成部４１０５は、生成したｃ個の部分コンテンツそれぞれに対応する特定情報「ＡＤ１」、「ＡＤ２」、「ＡＤ３」・・・「ＡＤｃ」を生成する。特定情報は、対応する部分コンテンツを一意に特定する情報であり、一例として、コンテンツの先頭を基準とした各部分コンテンツの再生開始時刻、先頭からのオフセットなどである。
【０２０１】
図４２は、ここで生成される分割コンテンツと特定情報とを示している。分割コンテンツ４１２０は、ｃ個の部分コンテンツ４１２１「ＣＮＴ１」、４１２２「ＣＮＴ２」、４１２３「ＣＮＴ３」・・・４１２７「ＣＮＴｃ」から構成される。各部分コンテンツは、特定情報と対応している。例えば、特定情報４１３１「ＡＤ１」は、部分コンテンツ４１２１「ＣＮＴ１」を特定する情報である。
【０２０２】
次に、部分コンテンツ生成部４１０５は、生成したｃ個の特定情報と分割コンテンツ４１２０と、受け取った鍵ブロック及びコンテンツ鍵「ＣＫ」をヘッダ情報生成部４１０７へ出力する。
（５）ヘッダ情報生成部４１０７
ヘッダ情報生成部４１０７は、部分コンテンツ生成部４１０５からｃ個の特定情報「ＡＤ１」、「ＡＤ２」、「ＡＤ３」・・・「ＡＤｃ」と分割コンテンツ４１２０と鍵ブロックとコンテンツ鍵「ＣＫ」とを受け取る。
【０２０３】
これらの情報を受け取ると、ヘッダ情報生成部４１０７は、乱数を用いて、特定情報「ＡＤ１」を一意に識別する特定情報識別子「ＡＤＩＤ１」を生成する。
ここで、生成した特定情報識別子「ＡＤＩＤ１」と受け取った特定情報「ＡＤ１」の組をコンテンツ検出情報と呼ぶ。
次に、ヘッダ情報生成部４１０７は、受け取った特定情報「ＡＤ１」を基に、部分コンテンツ４１２１「ＣＮＴ１」を分割コンテンツ４１２０から抽出する。抽出した部分コンテンツ４１２１「ＣＮＴ１」をハッシュ関数に代入し、部分ハッシュ値「ＨＡ１」を算出する。ここで、生成した特定情報識別子「ＡＤＩＤ１」と算出したハッシュ値「ＨＡ１」の組を部分ハッシュ情報と呼ぶ。
【０２０４】
ヘッダ情報生成部４１０７は、特定情報「ＡＤ２」、「ＡＤ３」・・・・「ＡＤｃ」についても、同様の処理を繰返して、コンテンツ検出情報と部分ハッシュ情報とを生成する。
次に、生成されたｃ個のコンテンツ検出情報から構成されるコンテンツ位置情報を生成する。図４３は、ここで生成されるコンテンツ位置情報の構成を示している。コンテンツ位置情報４１４０は、ｃ個のコンテンツ検出情報４１４１、４１４２、４１４３・・・４１４６から構成される。各コンテンツ検出情報は、特定情報識別子と特定情報とを含んでいる。一例として、コンテンツ検出情報４１４１は、特定情報識別子４１５１「ＡＤＩＤ１」と特定情報４１３１「ＡＤ１」とを含んでいる。
【０２０５】
続いて、ヘッダ情報生成部４１０７は、生成されたｃ個の部分ハッシュ情報から構成されるヘッダ情報を生成する。図４４は、ここで生成されるヘッダ情報の構成を示す。ヘッダ情報４１６０は、ｃ個の部分ハッシュ情報４１６１、４１６２、４１６３・・・４１６６から構成される。各部分ハッシュ情報は、特定情報識別子と部分ハッシュ値とを含んでおり、コンテンツ位置情報４１４０を構成するコンテンツ検出情報と対応している。例えば、部分ハッシュ情報４１６１は、特定情報識別子４１７１「ＡＤＩＤ１」と部分ハッシュ値４１７２「ＨＡ１」とを含む。
【０２０６】
次に、ヘッダ情報生成部４１０７は、生成したコンテンツ位置情報４１４０とヘッダ情報４１６０と、受け取った分割コンテンツ４１２０と鍵ブロックとコンテンツ鍵「ＣＫ」とを署名情報生成部４１０８へ出力する。
（６）署名情報生成部４１０８
署名情報生成部４１０８は、ヘッダ情報生成部４１０７からコンテンツ位置情報４１４０とヘッダ情報４１６０と分割コンテンツ４１２０と鍵ブロックとコンテンツ鍵「ＣＫ」とを受け取る。
【０２０７】
これらの情報を受け取ると、署名情報生成部４１０８は、受け取ったヘッダ情報４１６０を構成する各部分ハッシュ情報に含まれるハッシュ値を抽出する。抽出したｃ個の部分ハッシュ値「ＨＡ１」、「ＨＡ２」、「ＨＡ３」・・・「ＨＡｃ」を結合した結合物をハッシュ関数に代入して結合ハッシュ値を生成する。
次に、署名情報生成部４１０８は、署名鍵記憶部１１１２から署名鍵１１１３を読み出し、読み出した署名鍵１１１３を用いて、生成した結合ハッシュ値に署名生成アルゴリズムＳを施して、署名情報を生成する。
【０２０８】
署名情報を生成すると、署名情報生成部４１０８は、生成した署名情報と、受け取ったコンテンツ位置情報４１４０とヘッダ情報４１６０と分割コンテンツ４１２０と鍵ブロックとコンテンツ鍵「ＣＫ」とを暗号処理部４１０９へ出力する。
（７）暗号処理部４１０９
暗号処理部４１０９は、署名情報生成部４１０８から署名情報とコンテンツ位置情報４１４０とヘッダ情報４１６０と分割コンテンツ４１２０と鍵ブロックとコンテンツ鍵「ＣＫ」とを受け取る。
【０２０９】
これらの情報を受け取ると、暗号処理部４１０９は、受け取ったコンテンツ鍵「ＣＫ」を用いて、受け取った分割コンテンツ４１２０を構成する部分コンテンツ４１２１「ＣＮＴ１」に暗号化アルゴリズムを施して暗号化部分コンテンツ「ＥＣＮＴ１」を生成する。部分コンテンツ４１２２「ＣＮＴ２」、４１２３「ＣＮＴ３」・・・４１２７「ＣＮＴｃ」についても、同様の処理を繰返し、暗号化部分コンテンツ「ＥＣＮＴ２」、「ＥＣＮＴ３」・・・「ＥＣＮＴｃ」を生成する。
【０２１０】
次に、生成したｃ個の暗号化部分コンテンツ「ＥＣＮＴ１」、「ＥＣＮＴ２」、「ＥＣＮＴ３」・・・「ＥＣＮＴｃ」から構成される暗号化コンテンツを生成する。ここで生成される暗号化コンテンツの構成は、実施の形態２において説明した、図３２に示す暗号化コンテンツ２２２０同様である。
次に、暗号処理部４１０９は、生成した暗号化コンテンツと、受け取った署名情報とコンテンツ位置情報４１４０とヘッダ情報４１６０と鍵ブロックとを記録部４１１４へ出力する。
【０２１１】
（８）記録部４１１４
記録部４１１４は、ＤＶＤを装着される。
記録部４１１４は、暗号処理部４１０９から、暗号化コンテンツと署名情報とコンテンツ位置情報４１４０とヘッダ情報４１６０と鍵ブロックとを受け取る。
これらの情報を受け取ると、受け取った暗号化コンテンツと署名情報とコンテンツ位置情報４１４０とヘッダ情報４１６０と鍵ブロックとをＤＶＤに書き込む。
４．３  ＤＶＤ４５００
図４５は、本実施の形態におけるＤＶＤに記憶されている情報を示している。  ＤＶＤ４５００は、図４５に示すように、鍵ブロック４５１０、コンテンツ位置情報４５３０、ヘッダ情報４５５０、署名情報４５７０暗号化コンテンツ４５８０を記憶している。
【０２１２】
これらの情報は、配布装置４１００によって書き込まれてものであり、それぞれの情報の構成については、既に述べたとおりであるので、ここで、改めて説明はしない。
４．４  実行装置４６００
図４６は、本実施の形態における実行装置の構成を示している。実行装置４６００は、図４６に示すように、取得部４６０１、コンテンツ鍵取得部４６０２、デバイス鍵格納部１６０４、署名情報検証部４６０６、検証鍵記憶部１６１２、選択部４６１１、部分復号部４６１６、ヘッダ情報検証部４６１７、実行部２６１８とから構成される。
【０２１３】
以下に、実行装置４６００を構成する各部について説明する。なお、デバイス鍵格納部１６０４及び検証鍵記憶部１６１２は、実施の形態１と同様であり、実行部２６１８は、実施の形態２と同様であるので説明を省略する。
（１）取得部４６０１
取得部４６０１は、ＤＶＤ４５００を装着される。ＤＶＤ４５００の装着を検出すると、ＤＶＤ４５００から、鍵ブロック４５１０、コンテンツ位置情報４５３０、ヘッダ情報４５５０、署名情報４５７０及び暗号化コンテンツ４５８０を読み出し、読み出した鍵ブロック４５１０、コンテンツ位置情報４５３０、ヘッダ情報４５５０、署名情報４５７０及び暗号化コンテンツ４５８０をコンテンツ鍵取得部４６０２へ出力する。
【０２１４】
（２）コンテンツ鍵取得部４６０２
コンテンツ鍵取得部４６０２は、取得部４６０１から鍵ブロック４５１０、コンテンツ位置情報４５３０、ヘッダ情報４５５０、署名情報４５７０及び暗号化コンテンツ４５８０を受け取る。
これらの情報を受け取ると、コンテンツ鍵取得部４６０２は、受け取った鍵ブロック４５１０と、デバイス鍵格納部１６０４の記憶している装置識別子「ＡＩＤ＿ｐ」及びデバイス鍵「ＤＫ＿ｐ」とを用いてコンテンツ鍵「ＣＫ」を生成する。生成手順は、実施の形態１の実行装置１６００を構成するコンテンツ鍵取得部１６０２よるコンテンツ鍵の生成手順と同様であるので、ここでは説明を省略する。
【０２１５】
次に、コンテンツ鍵取得部４６０２は、生成したコンテンツ鍵「ＣＫ」と受け取ったコンテンツ位置情報４５３０、ヘッダ情報４５５０、署名情報４５７０及び暗号化コンテンツ４５８０を署名情報検証部４６０６へ出力する。
（３）署名情報検証部４６０６
署名情報検証部４６０６は、コンテンツ鍵取得部４６０２からコンテンツ鍵「ＣＫ」、コンテンツ位置情報４５３０、ヘッダ情報４５５０、署名情報４５７０及び暗号化コンテンツ４５８０を受け取る。
【０２１６】
これらの情報を受け取ると、署名情報検証部４６０６は、以下の手順で署名情報４５７０の検証を行う。
先ず、署名情報検証部４６０６は、受け取ったヘッダ情報を構成する各部分ハッシュ情報から部分ハッシュ値を抽出する。抽出した部分ハッシュ値「ＨＡ１」、「ＨＡ２」、「ＨＡ３」・・・「ＨＡｃ」を結合した結合物をハッシュ関数に代入して署名検証用結合ハッシュ値を算出する。
【０２１７】
次に、署名情報検証部４６０６は、検証鍵記憶部１６１２から検証鍵１６１３を読み出す。読み出した検証鍵１６１３を用いて、算出した署名検証用結合ハッシュ値に署名検証アルゴリズムＶを施して署名検証情報を生成し、生成した署名検証情報と受け取った署名情報とを比較する。両者が一致しない場合、署名情報４５７０の検証が失敗であると判断し、実行装置４６００における、以後の処理を中止する。
【０２１８】
両者が一致していれば、署名情報４５７０の検証が成功であると判断し、署名情報検証部４６０６は、受け取ったコンテンツ鍵「ＣＫ」、コンテンツ位置情報４５３０、ヘッダ情報４５５０及び暗号化コンテンツ４５８０を選択部４６１１へ出力する。
（４）選択部４６１１
選択部４６１１は、署名情報検証部４６０６からコンテンツ鍵「ＣＫ」、コンテンツ位置情報４５３０、ヘッダ情報４５５０及び暗号化コンテンツ４５８０を受け取る。
【０２１９】
これらの情報を受け取ると、選択部４６１１は、以下に説明する手順で、受け取ったコンテンツ位置情報４５３０から選択位置情報を生成する。図４７は、選択部４６１１による選択位置情報の生成手順の概要と、ここで生成される選択位置情報の構成を示している。以下に、図４７を用いて、選択位置情報の生成手順を説明する。
選択部４６１１は、受け取ったコンテンツ位置情報４５３０を構成するｃ個のコンテンツ検出情報４５３１、４５３２、４５３３・・・４５３６から、乱数を用いてｋ個を選択する。選択の方法は、これに限るものではなく、第三者による予測が困難な方法であれば、どのような方法で選択しても良い。
【０２２０】
図４７は、コンテンツ検出情報４５３１、４５３３、４５３６を含むｋ個を選択した場合を示している。
次に、選択部４６１１は、選択したｋ個のコンテンツ検出情報４５３１、４５３３・・・４５３６から構成される選択位置情報４６２０を生成する。
次に、選択部４６１１は、受け取ったヘッダ情報４５５０を基に、以下の手順で選択ヘッダ情報を生成する。図４８は、選択ヘッダ情報の生成手順の概要と、選択ヘッダ情報の構成を示している。図４８を用いて、選択ヘッダ情報の生成手順について、以下に説明する。
【０２２１】
まず、選択部４６１１は、生成した選択位置情報４６２０を構成するコンテンツ検出情報４５３１、４５３２・・・４５３６のそれぞれから特定情報識別子を抽出する。抽出した特定情報識別子「ＡＤＩＤ１」、「ＡＤＩＤ３」・・・「ＡＤＩＤｃ」と同一の特定情報識別子を含む部分ハッシュ情報４５５１、４５５３・・・４５５６を、受け取ったヘッダ情報４５５０から抽出する。
【０２２２】
次に、選択部４６１１は、抽出した部分ハッシュ情報４５５１、４５５３・・・４５５６から構成される選択ヘッダ情報４６３０を生成する。
次に、選択部４６１１は、生成した選択位置情報４６２０と選択ヘッダ情報４６３０と、受け取ったコンテンツ鍵「ＣＫ」及び暗号化コンテンツ４５８０を部分復号部４６１６へ出力する。
【０２２３】
（５）部分復号部４６１６
部分復号部４６１６は、選択部４６１１から選択位置情報４６２０と選択ヘッダ情報４６３０とコンテンツ鍵「ＣＫ」と暗号化コンテンツ４５８０とを受け取る。
これらの情報を受け取ると、部分復号部４６１６は、以下に説明する手順で検証コンテンツを生成する。図４９は、検証コンテンツの生成手順の概要と、ここで生成される検証コンテンツ４６５０の構成を示している。検証コンテンツの生成手順について、図４９を用いて、以下に説明する。
【０２２４】
まず、部分復号部４６１６は、受け取った選択位置情報４６２０を構成するコンテンツ検出情報４５３１から特定情報「ＡＤ１」を抽出する。抽出した特定情報「ＡＤ１」を基に、受け取った暗号化コンテンツ４５８０から暗号化部分コンテンツ「ＥＣＮＴ１」を抽出する。
受け取ったコンテンツ鍵「ＣＫ」を用いて、抽出した暗号化部分コンテンツ「ＥＣＮＴ１」に復号アルゴリズムＤ１を施して、部分コンテンツ「ＣＮＴ１」を生成する。続いて、コンテンツ検出情報４５３１に含まれる特定情報識別子「ＡＤＩＤ１」と生成した部分コンテンツ「ＣＮＴ１」から構成される検証用部分コンテンツ情報４６５１を生成する。
【０２２５】
部分復号部４６１６は、コンテンツ検出情報４５３２・・・４５３６についても、同様の処理を繰返して、検証用部分コンテンツ情報４６５２・・・４６５６を生成する。次に、生成したｋ個の検証用部分コンテンツ情報から構成される検証コンテンツ４６５０を生成する。
検証コンテンツ４６５０を生成すると、部分復号部４６１６は、生成した検証コンテンツ４６５０と、受け取った選択ヘッダ情報４６３０とコンテンツ鍵「ＣＫ」と暗号化コンテンツ４５８０とをヘッダ情報検証部４６１７へ出力する。
【０２２６】
（６）ヘッダ情報検証部４６１７
ヘッダ情報検証部４６１７は、部分復号部４６１６から検証コンテンツ４６５０と選択ヘッダ情報４６３０とコンテンツ鍵「ＣＫ」と暗号化コンテンツ４５８０とを受け取る。
これらの情報を受け取ると、受け取った検証コンテンツ４６５０を構成する１番目の検証用部分コンテンツ情報４６５１に含まれる部分コンテンツ４６２４「ＣＮＴ１」をハッシュ関数に代入して、検証用ハッシュ値「Ｈ１」を生成する。
【０２２７】
次に、検証用部分コンテンツ情報４６５１に含まれる特定情報識別子４６２１「ＡＤＩＤ１」を抽出する。抽出した特定情報識別子４６２１「ＡＤＩＤ１」と同一の特定情報識別子を含む部分ハッシュ情報４５５１を、受け取った選択ヘッダ情報４６３０から検出し、検出した部分ハッシュ情報４５５１に含まれる部分ハッシュ値４６３２「ＨＡ１」を抽出する。次に、ヘッダ情報検証部４６１７は、抽出した部分ハッシュ値４６３２「ＨＡ１」と算出した検証用ハッシュ値「Ｈ１」とを比較する。
【０２２８】
検証用部分コンテンツ情報４６５２・・・４６５６についても同様の処理を繰返し、部分ハッシュ値と検証用ハッシュ値との比較をｋ回行う。
ｋ回の比較のうち、１回でも部分ハッシュ値と検証用ハッシュ値とが一致しなければ、ヘッダ情報検証部４６１７は、実行装置４６００における以後の処理を中止する。
ｋ回の比較において、ｋ回とも、部分ハッシュ値と検証用ハッシュ値とが一致すれば、ヘッダ情報検証部４６１７は、受け取ったコンテンツ鍵「ＣＫ」と暗号化コンテンツ４５８０とを実行部４６１８へ出力する。
４．５  動作
配布装置４１００及び実行装置４６００の動作について、以下に説明する。
【０２２９】
（１）配布装置４１００
図５０は、配布装置４１００の動作を示すフローチャートである。図５１は、配布装置４１００の動作における、コンテンツの加工の工程を示している。
配布装置４１００の動作について、図５０及び図５１を用いて説明する。
入力部４１０１は、コンテンツを取得し（ステップＳ４０１２）、取得したコンテンツをコンテンツ鍵生成部４１０２へ出力する。
【０２３０】
コンテンツ鍵生成部４１０２は、コンテンツを受け取り、乱数を用いてコンテンツ鍵を生成し（ステップＳ４０１３）、生成したコンテンツ鍵と受け取ったコンテンツとを鍵ブロック生成部４１０３へ出力する。
鍵ブロック生成部４１０３は、コンテンツ鍵とコンテンツとを受け取ると、鍵ブロックを生成し、生成した鍵ブロックと受け取ったコンテンツ鍵及びコンテンツを部分コンテンツ生成部４１０５へ出力する（ステップＳ４０１４）。
【０２３１】
部分コンテンツ生成部４１０５は、鍵ブロック生成部４１０３から鍵ブロックとコンテンツ鍵とコンテンツとを受け取る。次に、図５１に示すように受け取ったコンテンツ４１１９を分割してｃ個の部分コンテンツを生成し（ステップＳ４０１６）、生成したｃ個の部分コンテンツの組を分割コンテンツ４１２０とする。次に、部分コンテンツ生成部４１０５は、生成した各部分コンテンツに対応する特定情報を生成し（ステップＳ４０１８）、生成した分割コンテンツ４１２０とｃ個の特定情報と、受け取った鍵ブロックとコンテンツ鍵とコンテンツとをヘッダ情報生成部４１０７へ出力する。
【０２３２】
ヘッダ情報生成部４１０７は、部分コンテンツ生成部４１０５から、分割コンテンツとｃ個の特定情報と鍵ブロックとコンテンツ鍵とを受け取り、受け取った特定情報それぞれに対応する特定情報識別子を生成し、生成した特定情報識別子と特定情報とを含むコンテンツ位置情報４１４０を生成する。さらに、図５１に示すように、受け取った分割コンテンツ４１２０を構成するｃ個の部分コンテンツをそれぞれ、ハッシュ関数に代入して部分ハッシュ値をｃ個算出し、算出したｃ個の部分ハッシュ値を含むヘッダ情報４１６０を生成する（ステップＳ４０１９）。次に、生成したコンテンツ位置情報４１４０とヘッダ情報４１６０と、受け取った鍵ブロックとコンテンツ鍵とを署名情報生成部４１０８へ出力する。
【０２３３】
署名情報生成部４１０８は、ヘッダ情報生成部４１０７から、コンテンツ位置情報４１４０、ヘッダ情報４１６０、鍵ブロック及びコンテンツ鍵を受け取り、図５１に示すように、受け取ったヘッダ情報に含まれるｃ個の部分ハッシュ値を抽出し、抽出したｃ個の部分ハッシュ値を結合してハッシュ関数に代入し、結合ハッシュ値を算出する（ステップＳ４０２１）。
【０２３４】
次に、署名情報生成部４１０８は、署名鍵記憶部１１１２から署名鍵１１１３を読み出し（ステップＳ４０２２）。図５１に示すように、読み出した署名鍵１１１３を用いて、生成した結合ハッシュ値に、署名生成アルゴリズムを施して署名情報４１７０を生成する（ステップＳ４０２３）。
次に、生成した署名情報と、受け取ったコンテンツ位置情報４１４０とヘッダ情報４１６０と分割コンテンツ４１２０とコンテンツ鍵とを暗号処理部４１０９へ出力する。
【０２３５】
暗号処理部４１０９は、署名情報とコンテンツ位置情報４１４０とヘッダ情報４１６０と分割コンテンツ４１２０とコンテンツ鍵とを受け取り、受け取ったコンテンツ鍵を用いて分割コンテンツ４１２０を構成する各部分コンテンツを暗号化して、暗号化コンテンツを生成する（ステップＳ４０２４）。暗号処理部４１０９は、生成した暗号化コンテンツと、受け取った署名情報とコンテンツ位置情報４１４０とヘッダ情報４１６０と鍵ブロックとを記録部４１１４へ出力する。
【０２３６】
記録部４１１４は、暗号化コンテンツと署名情報とコンテンツ位置情報４１４０とヘッダ情報４１６０と鍵ブロックを受け取り、受け取った鍵ブロックとコンテンツ位置情報４１４０とヘッダ情報４１６０と署名情報と暗号化コンテンツとをＤＶＤ４５００に書き込む（ステップＳ４０２６）。
（２）実行装置４６００
図５２及び図５３は、実行装置４６００の動作を示すフローチャートである。図５４は、動作途中において、実行装置４６００を構成する各部が扱う情報を模式的に示したものである。図５２〜５３と図５４において、同一の参照符号は、同一の処理を示している。
【０２３７】
以下に、図５２〜図５４を用いて、実行装置４６００の動作について説明する。
取得部４６０１は、ＤＶＤ４５００が装着されると、ＤＶＤ４５００から鍵ブロック４５１０、コンテンツ位置情報４５３０、ヘッダ情報４５５０、署名情報４５７０及び暗号化コンテンツ４５８０を読み出し（ステップＳ４０４１）、読み出したこれらの情報をコンテンツ鍵取得部４６０２へ出力する。
【０２３８】
コンテンツ鍵取得部４６０２は、鍵ブロック４５１０とコンテンツ位置情報４５３０とヘッダ情報４５５０と署名情報４５７０と暗号化コンテンツ４５８０とを受け取り、受け取った鍵ブロック４５１０とデバイス鍵格納部１６０４の記憶している装置識別子とデバイス鍵とを用いてコンテンツ鍵を生成する（ステップＳ４０４２）。次に、生成したコンテンツ鍵と、受け取ったコンテンツ位置情報４５３０とヘッダ情報４５５０と署名情報４５７０と暗号化コンテンツ４５８０とを署名情報検証部４６０６へ出力する。
【０２３９】
署名情報検証部４６０６は、コンテンツ鍵とコンテンツ位置情報４５３０とヘッダ情報４５５０と署名情報４５７０と暗号化コンテンツ４５８０とを受け取り、図５４に示すように、受け取ったヘッダ情報４５５０に含まれるｃ個の部分ハッシュ値を結合してハッシュ関数に代入し、署名検証用結合ハッシュ値を生成する（ステップＳ４０４３）。次に、検証鍵記憶部１６１２から検証鍵１６１３を読み出し（ステップＳ４０４４）、読み出した検証鍵１６１３と生成した署名検証用結合ハッシュ値とを用いて受け取った署名情報４５７０を検証する（ステップＳ４０４６）。
【０２４０】
署名情報４５７０の検証結果が失敗であれば（ステップＳ４０４８のＮＯ）、署名情報検証部４６０６は、実行装置４６００における、以後の処理を中止する。
署名情報４５７０の検証結果が成功であれば（ステップＳ４０４８のＹＥＳ）、署名情報検証部４６０６は、受け取ったコンテンツ鍵、コンテンツ位置情報４５３０、ヘッダ情報４５５０及び暗号化コンテンツ４５８０を選択部４６１１へ出力する。
【０２４１】
選択部４６１１は、コンテンツ鍵とコンテンツ位置情報４５３０とヘッダ情報４５５０と暗号化コンテンツ４５８０とを受け取ると、コンテンツ位置情報４５３０に含まれるｃ個のコンテンツ検出情報からｋ個のコンテンツ検出情報を選択する（ステップＳ４０４９）。次に、選択したコンテンツ検出情報からなる選択位置情報４６２０を生成する（ステップＳ４０５１）。生成した選択位置情報４６２０を構成するｋ個のコンテンツ検出情報に含まれる特定情報識別子を基に、受け取ったヘッダ情報４５５０からｋ個の部分ハッシュ情報を選択する（ステップＳ４０５３）。選択したｋ個の部分ハッシュ情報から構成される選択ヘッダ情報４６３０を生成する（ステップＳ４０５６）。次に、選択部４６１１は、生成した選択位置情報４６２０と選択ヘッダ情報４６３０と、受け取ったコンテンツ鍵と暗号化コンテンツ４５８０とを部分復号部４６１６へ出力する。
【０２４２】
部分復号部４６１６は、選択位置情報４６２０と選択ヘッダ情報４６３０とコンテンツ鍵と暗号化コンテンツ４５８０とを受け取り、図５４に示すように、受け取った選択位置情報４６２０に含まれる特定情報を基にｋ個の暗号化部分コンテンツ４５８１、４５８２、４５８３・・・４５８６を、暗号化コンテンツ４５８０から抽出する（ステップＳ４０５７）。次に、抽出したｋ個の暗号化部分コンテンツ４５８１、４５８２、４５８３・・・４５８６を、復号して部分コンテンツを生成する（ステップＳ４０５９）。次に、部分復号部４６１６は、受け取った選択位置情報４６２０に含まれるｋ個の特定情報識別子と生成したｋ個の部分コンテンツとを含む検証コンテンツ４６５０を生成する（ステップＳ４０６１）。生成した検証コンテンツ４６５０と受け取った選択ヘッダ情報４６３０とコンテンツ鍵と暗号化コンテンツ４６５０とをヘッダ情報検証部４６１７へ出力する。
【０２４３】
ヘッダ情報検証部４６１７は、検証コンテンツ４６５０と選択ヘッダ情報４５３０とコンテンツ鍵と暗号化コンテンツ４５８０とを受け取る。これらの情報を受け取ると、ヘッダ情報検証部４６１７は、受け取った検証コンテンツ４６５０に含まれるｋ個の部分コンテンツ４５９１、４５９２、４５９３・・・４５９６をそれぞれハッシュ関数に代入し、ｋ個の検証用ハッシュ値を生成する（ステップＳ４０６２）。受け取ったヘッダ情報に含まれるｋ個の部分ハッシュ値と生成した検証用ハッシュ値とを、それぞれ比較する（ステップＳ４０６４）。
【０２４４】
ｋ組の検証用ハッシュ値と部分ハッシュ値との比較において、ｋ組のうちいずれか１組でも一致しない場合（ステップＳ４０６６のＮＯ）、ヘッダ情報検証部４６１７は、実行装置４６００における以後の処理を中止する。
ｋ組の比較において、ｋ組とも一致すれば（ステップＳ４０６６）、ヘッダ情報検証部４６１７は、受け取ったコンテンツ鍵と暗号化コンテンツ４５８０とを実行部２６１８へ出力する。
【０２４５】
実行部２６１８は、ヘッダ情報検証部４６１７から、コンテンツ鍵と暗号化コンテンツ４５８０とを受け取り、受け取ったコンテンツ鍵を用いて、受け取った暗号化コンテンツ４５８０を構成する各暗号化部分コンテンツを復号してｃ個の部分コンテンツから構成されるコンテンツを生成し（ステップＳ４０６７）、生成したコンテンツを伸長し（ステップＳ４０６８）、伸長したコンテンツをモニタに再生させる（ステップＳ４０７１）。
４．６  まとめ・効果
以上説明したように、実施の形態４における不正コンテンツ検知システムは、配布装置４１００と実行装置４６００から構成され、配布装置４１００は、コンテンツを分割してｃ個の部分コンテンツを生成し、生成したｃ個の部分コンテンツ全てを用いてヘッダ情報と検証情報とを生成する。
【０２４６】
実行装置４６００は、暗号化コンテンツを構成するｃ個の暗号化部分コンテンツのうちｋ個を選択し、ヘッダ情報に含まれるｃ個の部分ハッシュ値のうち、選択したｋ個の部分コンテンツと対応するｋ個の部分ハッシュ値を抽出する。抽出したｋ個の部分ハッシュ値を用いて選択したｋ個の暗号化部分コンテンツのみを検証する。検証が成功であった場合のみ、暗号化コンテンツを復号してコンテンツを生成し、コンテンツを再生する。
【０２４７】
このように、不正コンテンツの有無の検証に用いる暗号化部分コンテンツの数をｋ個に制限することで、検証処理に係る負荷を軽減することができる。
実行装置４６００は、検証を行うたびに、乱数を用いて異なる暗号化部分コンテンツを選択することで、検証に使用する暗号化部分コンテンツをｋ個のみに限定することによって生じる不正コンテンツの検出の精度の低下をある程度補完することができる。
【０２４８】
また、何れの暗号化部分コンテンツが、検証に用いられるかを予測することは困難であるため、暗号化コンテンツを構成する暗号化部分コンテンツのうち、検証に使用されないものだけを、不正なコンテンツに差し替えるというような不正を抑制することができる。
５．  実施の形態５
本発明に係る実施の形態５の不正コンテンツ検知システムについて、以下に説明する。
５．１  不正コンテンツ検知システム
実施の形態５における不正コンテンツ検知システムは、実施の形態１と同様に配布装置、実行装置及びモニタから構成される。
【０２４９】
配布装置は、操作者の操作に従って、コンテンツを取得し、取得したコンテンツを暗号化して暗号化コンテンツを生成する。また、実行装置において、コンテンツの正当性を検証するためのユニット選出情報、ヘッダ情報、署名情報を生成する。
配布装置は、ＤＶＤの書き込み可能な領域の記憶容量と、生成した各種の情報のデータサイズを取得する。
【０２５０】
取得した各情報のデータサイズの総和を、取得した記憶容量から差し引いた充填容量を算出し、算出した充填容量に相当するデータサイズの充填コンテンツを生成し、生成した充填コンテンツを、各種の情報と供にＤＶＤに書き込む。
５．２  配布装置５１００
図５５は、本実施の形態における配布装置の構成を示している。配布装置５１００は、図５５に示すように、入力部１１０１、コンテンツ鍵生成部１１０２、鍵ブロック生成部１１０３、実行装置情報格納部１１０４、ユニット生成部５１０５、暗号処理部５１０６、ヘッダ情報生成部５１０７、充填コンテンツ生成部５１０８、署名情報生成部５１１１、署名鍵記憶部１１１２及び記録部５１１４から構成される。
【０２５１】
以下に、配布装置５１００を構成する各部について説明する。なお、入力部１１０１、コンテンツ鍵生成部１１０２、鍵ブロック生成部１１０３、実行装置情報格納部１１０４及び署名鍵記憶部１１１２は、実施の形態１の配布装置１１００を構成する入力部１１０１、コンテンツ鍵生成部１１０２、鍵ブロック生成部１１０３、実行装置情報格納部１１０４及び署名鍵記憶部１１１２と同一であるので説明を省略する。
【０２５２】
（１）ユニット生成部５１０５
ユニット生成部５１０５は、実施の形態１において説明したユニット生成部１１０５と同様に、入力部１１０１から、ｃ個のファイル「ＣＮＴ１」、「ＣＮＴ２」、「ＣＮＴ３」・・・から構成されるコンテンツを受け取り、受け取ったコンテンツを用いて、ユニット選出情報と分割コンテンツとを生成する。これらの生成手順は、実施の形態１のユニット生成部１１０５によるユニット選出情報及び分割コンテンツの生成手順と同一であり、ここで生成されるユニット選出情報及び分割コンテンツの構成は、それぞれ、図６と図７に示すとおりであるので、説明を省略する。
【０２５３】
次に、ユニット生成部５１０５は、生成した分割コンテンツを暗号処理部５１０６へ出力し、生成したユニット選出情報を充填コンテンツ生成部５１０８へ出力する。
（２）暗号処理部５１０６
暗号処理部５１０６は、ユニット生成部５１０５から分割コンテンツを受け取り、受け取った分割コンテンツを基に、暗号化分割コンテンツと暗号化コンテンツとを生成する。生成手順は、実施の形態１における暗号処理部１１０６による暗号化分割コンテンツと暗号化コンテンツの生成手順と同様であり、生成される暗号化コンテンツ及び暗号化分割コンテンツの構成は、それぞれ図９と図１０に示すとおりであるので、ここでは説明を省略する。
【０２５４】
次に、暗号処理部５１０６は、生成した暗号化分割コンテンツをヘッダ情報生成部５１０７へ出力し、生成した暗号化コンテンツを記録部５１１４及び充填コンテンツ生成部５１０８へ出力する。
（３）充填コンテンツ生成部５１０８
充填コンテンツ生成部５１０８は、予め、鍵ブロックサイズ「ＫＢＳＩＺＥ」、ファイル情報サイズ「ＦＩＳＩＺＥ」、ユニットハッシュサイズ「ＵＳＩＺＥ」、ファイルハッシュサイズ「ＦＳＩＺＥ」、比率「ＲＴ」及び分割数「ｊ」を記憶している。
【０２５５】
ユニットハッシュサイズ「ＵＳＩＺＥ」は、ヘッダ情報生成部５１０７の生成する第１ハッシュテーブルを構成するユニットハッシュ情報（具体的には実施の形態１のヘッダ情報生成部１１０７の生成するユニットハッシュ情報と同一）のデータサイズを示す。
ファイルハッシュサイズ「ＦＳＩＺＥ」は、ヘッダ情報生成部５１０７の生成する第２ハッシュテーブルを構成するファイルハッシュ情報（具体的には実施の形態１のヘッダ情報生成部１１０７の生成するファイルハッシュ情報と同一）のビット長を示す。
【０２５６】
比率「ＲＴ」は、署名情報生成部５１１１が情報Ａに署名生成アルゴリズムＳを施して署名ＳｉｇｎＡを生成した場合の、情報Ａと署名ＳｉｇｎＡとのビット長の比率を示す。
分割数「ｊ」は、充填コンテンツ生成部５１０８が、充填コンテンツ（後述する）を分割して生成するユニットの数である。
さらに、再生できない情報であることを示す５６ビット長の再生不可情報「ＤＡＭＹ」を記憶している。
【０２５７】
充填コンテンツ生成部５１０８は、ユニット生成部５１０５からユニット選出情報を受け取り、暗号処理部５１０６から、暗号化コンテンツを受け取る。
ユニット選出情報と暗号化コンテンツとを受け取ると、充填コンテンツ生成部５１０８は、以下に示す手順で、受け取ったユニット選出情報と暗号化コンテンツとを用いて、充填容量を算出し、算出した充填容量に基づいて、充填コンテンツを生成し、ユニット選出情報を更新する。
【０２５８】
上記の（ａ）充填容量の算出、（ｂ）充填コンテンツの生成及び（ｃ）ユニット選出情報の更新について、以下に、詳細に説明する。
（ａ）充填容量の算出
充填容量は、ＤＶＤに鍵ブロック、ユニット選出情報、ヘッダ情報、署名情報及び暗号化コンテンツを書き込んだ後の、ＤＶＤの空き容量を示す。以下に、充填容量の生成手順を説明する。
【０２５９】
先ず、充填コンテンツ生成部５１０８は、記録部５１１４を介して、記録部５１１４に装着されているＤＶＤの書き込み可能な領域の記憶容量を計測し、書き込み可能な情報量を示す最大記憶容量「ＭＳＩＺＥ」を生成する。ここで、記録部５１１４を介して計測する代わりに、操作者の入力により、最大記憶容量「ＭＳＩＺＥ」を取得しても良い。
次に、充填コンテンツ生成部５１０８は、受け取った暗号化コンテンツのデータサイズを計数して、コンテンツサイズ「ＣＮＴＳＩＺＥ」を生成する。
【０２６０】
次に、充填コンテンツ生成部５１０８は、受け取ったコンテンツ選出情報に含まれるファイル情報の個数「ｃ」を計数し、次の式：
ＵＣＳＩＺＥ＝ＦＩＳＩＺＥ×（ｃ＋１）
により更新後のユニット選出情報（詳細は以下の（ｃ）において説明する）のデータサイズ「ＵＣＳＩＺＥ」を算出する。
【０２６１】
次に、充填コンテンツ生成部５１０８は、受け取ったユニット選出情報に含まれるｃ個のユニット数「Ｎ１」、「Ｎ２」、「Ｎ３」・・・「Ｎｃ」を抽出し、抽出したユニット数「Ｎ１」、「Ｎ２」、「Ｎ３」・・・「Ｎｃ」と記憶している分割数「ｊ」とを用いて、ヘッダ情報生成部５１０７の生成するｃ＋１個の第１ハッシュテーブル（詳細は後述）のデータサイズの総和「ＨＡ１ＳＩＺＥ」を次の式：
ＨＡ１ＳＩＺＥ＝｛Ｎ１＋Ｎ２＋Ｎ３＋・・・Ｎｃ＋ｊ｝×ＵＳＩＺＥ
により算出する。
【０２６２】
続いて、充填コンテンツ生成部５１０８は、ヘッダ情報生成部５１０７が生成する第２ハッシュテーブル（詳細は後述）のデータサイズ「ＨＡ２ＳＩＺＥ」を、次の式：
ＨＡ２ＳＩＺＥ＝ＦＳＩＺＥ×（ｃ＋１）
により生成し、生成した第１ハッシュテーブルのデータサイズの総和「ＨＡ１ＳＩＺＥ」と第２ハッシュテーブルのデータサイズ「ＨＡ２ＳＩＺＥ」から、ヘッダ情報生成部５１０７の生成するヘッダ情報のデータサイズ「ＨＥＡＤＳＩＺＥ」を、次の式：
ＨＥＡＤＳＩＺＥ＝ＨＡ１ＳＩＺＥ＋ＨＡ２ＳＩＺＥ
により算出する。
【０２６３】
次に、比率「ＲＴ」を用いて、署名情報生成部５１１１の生成する署名情報のデータサイズを示す「ＳｉｇＳＩＺＥ」を、次の式：
ＳｉｇＳＩＺＥ＝（ＵＣＳＩＺＥ＋ＨＡ２ＳＩＺＥ）×ＲＴ
により算出する。
次に、充填コンテンツ生成部５１０８は、充填容量「ＦｉｌＳＩＺＥ」を、次の式：
ＦｉｌＳＩＺＥ＝ＭＳＩＺＥ
−｛ＫＢＳＩＺＥ＋ＵＣＳＩＺＥ＋ＨＥＡＤＳＩＺＥ＋ＳｉｇＳＩＺＥ｝
により算出する。
（ｂ）充填コンテンツの生成
充填容量「ＦｉｌＳＩＺＥ」を算出すると、充填コンテンツ生成部５１０８は、乱数を生成し、再生不可情報「ＤＡＭＹ」に生成した乱数を結合して、データサイズが「ＦｉｌＳＩＺＥ」となる充填コンテンツを生成する。
【０２６４】
次に、生成した充填コンテンツを一意に示すファイル識別子「ＦＩＤｆ」と、生成した充填コンテンツを特定するファイル特定情報「ＡＤｆ」とを生成する。次に、記憶している分割数「ｊ」に基づき、生成した分割コンテンツをｊ個のユニット「Ｕｆ＿１」、「Ｕｆ＿２」、「Ｕｆ＿３」・・・「Ｕｆ＿ｊ」に分割し、各ユニットと対応するユニット識別子「ＵＩＤｆ＿１」、「ＵＩＤｆ＿２」、「ＵＩＤｆ＿３」・・・「ＵＩＤｆ＿ｊ」を生成する。ここで、対応するユニット識別子とユニットの組をユニット情報と呼ぶ。また、ｊ個のユニット情報から構成される分割充填コンテンツを生成する。図５６は、ここで生成される分割充填コンテンツの構成を示す。図５６に示すように、分割充填コンテンツ５１２０は、複数のユニット情報５１２１、５１２２、５１２３・・・５１２６から構成され、各ユニット情報は、ユニット識別子とユニットとを含む。例えば、ユニット情報５１２１は、ユニット識別子５１３１「ＵＩＤｆ＿１」とユニット５１３２「Ｕｆ＿１」とを含む。充填コンテンツから分割充填コンテンツを生成する手順は、実施の形態１において説明した、ファイルから分割ファイルを生成する手順にと同様であるので、ここでは、簡単な説明にとどめる。
【０２６５】
ここで、生成したファイル識別子「ＦＩＤｆ」と分割充填コンテンツ５１２０との組を充填ファイル情報と呼ぶ。
（ｃ）ユニット選出情報の更新
充填コンテンツと分割充填コンテンツ５１２０とを生成すると、充填コンテンツ生成部５１０８は、生成したファイル識別子「ＦＩＤｆ」とファイル特定情報「ＡＤｆ」と、生成したユニットの数を示すユニット数「Ｎｆ」から構成されるファイル情報を生成し、生成したファイル情報を、受け取ったユニット選出情報に追加する。図５７は、生成したファイル情報を追加した後のユニット選出情報５１４０を示している。ユニット選出情報５１４０はｃ＋１個のファイル情報５１４１、５１４２、５１４３・・・５１４６、５１４７から構成され、各ファイル情報は、ファイル識別子、ファイル特定情報及びユニット数を含んでいる。ファイル情報５１４１、５１４２、５１４３・・・５１４６は、ユニット生成部５１０５によりコンテンツを基に生成されたものであり、図７に示すユニット選出情報１２００を構成するファイル情報１２０１、１２０２、１２０３・・・１２０４と同一である。ファイル情報５１４７は、充填コンテンツ生成部５１０８により充填コンテンツを基に生成されたものであり、充填コンテンツと対応するファイル識別子５１５１「ＦＩＤｆ」とファイル特定情報５１５２「ＡＤ１」とユニット数５１５３「Ｎｆ」とを含む。
【０２６６】
次に、充填コンテンツ生成部５１０８は、生成した充填コンテンツとユニット選出情報５１４０とを記録部５１１４へ出力し、生成した充填ファイル情報をヘッダ情報生成部５１０７へ出力し、ユニット選出情報５１４０を署名情報生成部５１１１へ出力する。
（４）ヘッダ情報生成部５１０７
ヘッダ情報生成部５１０７は、暗号処理部５１０６から、暗号化分割コンテンツを受け取り、充填コンテンツ生成部５１０８から、ファイル識別子「ＦＩＤｆ」と分割充填コンテンツ５１２０を含む充填ファイル５１５６を受け取る。
【０２６７】
充填ファイル情報５１５６及び暗号化分割コンテンツ５１６０を受け取ると、図５８に示すように、受け取ったこれらの情報からヘッダ情報５１９０を生成する。図５８は、ヘッダ情報生成部５１０７によるヘッダ情報５１９０の生成手順の概要を示している。以下に、図５８を用いて、ヘッダ情報５１９０の生成手順について説明する。
ヘッダ情報生成部５１０７は、受け取った暗号化分割コンテンツ５１６０から第１ハッシュテーブル５１７１「ＨＡ１ＴＢＬ１」、５１７２「ＨＡ１ＴＢＬ２」、５１７３「ＨＡ１ＴＢＬ３」・・・５１７６「ＨＡ１ＴＢＬｃ」を生成する。ここで生成した第１ハッシュテーブル５１７１「ＨＡ１ＴＢＬ１」、５１７２「ＨＡ１ＴＢＬ２」、５１７３「ＨＡ１ＴＢＬ３」・・・５１７６「ＨＡ１ＴＢＬｃ」は、実施の形態１において説明した第１ハッシュテーブル１２６１「ＨＡ１ＴＢＬ１」、１２６２「ＨＡ１ＴＢＬ２」、１２６３「ＨＡ１ＴＢＬ３」・・・１２６４「ＨＡ１ＴＢＬｃ」と同一であり、その生成手順も同一であるので、ここでは、改めて説明しない。
【０２６８】
次に、受け取った充填ファイル情報５１５６に含まれる充填コンテンツを基に、第１ハッシュテーブル５１７７「ＨＡ１ＴＢＬｆ」を生成する。生成手順は、暗号化分割ファイルから第１ハッシュテーブルを生成する手順と同様であるので説明を省略する。
次に、ｃ＋１個の第１ハッシュテーブルそれぞれを基にファイルハッシュ値を算出し、算出したｃ＋１個のファイルハッシュ値と、それぞれのファイルハッシュ値と対応するファイル識別子とを含むファイルハッシュ情報を生成し、生成したｃ＋１個のファイル情報から構成される第２ハッシュテーブル５１８０「ＨＡ２ＴＢＬ」を生成する。具体的な生成手順は、充填コンテンツ生成部５１０８から受け取ったファイル識別子５１５７「ＦＩＤｆ」と分割充填コンテンツ５１２０とを用いること以外は、実施の形態１における第２ハッシュテーブル１２６９の生成手順と、同様であるので、詳細な説明は省略する。
【０２６９】
図５９は、ここで生成される第２ハッシュテーブル５１８０「ＨＡ２ＴＢＬ」の構成を示している。第２ハッシュテーブル５１８０「ＨＡ２ＴＢＬ」は、ｃ＋１個のファイルハッシュ情報５１８１、５１８２、５１８３・・・５１８６、５１８７から構成される。各ファイルハッシュ情報は、ファイル識別子とファイルハッシュ値とを含んでいる。ファイルハッシュ情報５１８１〜５１８６は、暗号化分割コンテンツ５１６０から生成されたものであり、実施の形態１において説明した第２ハッシュテーブル１２６９「ＨＡ２ＴＢＬ」を構成するファイルハッシュ情報１３０１〜１３０４と同一である。ファイルハッシュ情報５１８７は、充填ファイル情報５１５６を基に生成されたものである。
【０２７０】
ヘッダ情報生成部５１０７は、生成した第２ハッシュテーブル５１８０を署名情報生成部５１１１へ出力する。また、生成したｃ＋１個の第１ハッシュテーブルと第２ハッシュテーブル５１８０「ＨＡ２ＴＢＬ」とを含むヘッダ情報５１９０を記録部５１１４へ出力する。
（５）署名情報生成部５１１１
署名情報生成部５１１１は、充填コンテンツ生成部５１０８からユニット選出情報５１４０を受け取り、ヘッダ情報生成部５１０７から第２ハッシュテーブル５１８０「ＨＡ２ＴＢＬ」を受け取る。
【０２７１】
署名情報生成部５１１１は、ユニット選出情報５１４０と第２ハッシュテーブル５１８０「ＨＡ２ＴＢＬ」とを受け取ると、署名鍵記憶部１１１２の記憶している署名鍵１１１３を読み出す。
次に、読み出した署名鍵１１１３を用いて、受け取った第２ハッシュテーブル５１８０「ＨＡ２ＴＢＬ」を構成するｃ＋１個のファイルハッシュ値と受け取ったユニット選出情報５１４０を構成するｃ＋１個のファイル情報とを結合した結合物に署名生成アルゴリズムＳを施して署名情報を生成する。
【０２７２】
次に、署名情報生成部５１１１は、生成した署名情報を記録部５１１４へ出力する。
（６）記録部５１１４
記録部５１１４は、ＤＶＤを装着される。
記録部５１１４は、充填コンテンツ生成部５１０８の指示により、装着されたＤＶＤの書き込み可能な領域の記憶容量を計測する。
【０２７３】
記録部５１１４は、鍵ブロック生成部１１０３から鍵ブロックを受け取り、暗号処理部５１０６から暗号化コンテンツを受け取り、充填コンテンツ生成部５１０８から、充填コンテンツとユニット選出情報５１４０を受け取る。さらに、ヘッダ情報生成部５１０７からヘッダ情報５１９０を受け取り、署名情報生成部５１１１から署名情報を受け取る。
これらの情報を受け取ると、記録部５１１４は、受け取った鍵ブロック、暗号化コンテンツ、充填コンテンツ、ユニット選出情報５１４０、ヘッダ情報５１９０及び署名情報をＤＶＤに書き込む。
５．３  ＤＶＤ５５００
図６０は、実施の形態５におけるＤＶＤの記憶している情報を示している。ＤＶＤ５５００は、図６０に示すように、鍵ブロック５５１０、ユニット選出情報５５３０、ヘッダ情報５５５０暗号化コンテンツ５５８０及び充填コンテンツ５５９０を記憶している。
【０２７４】
これらの情報は、配布装置５１００によって書き込まれたものであり、その構成は、既に述べたとおりであるので説明を省略する。
５．４  実行装置５６００
実行装置５６００は、図６１に示すように取得部１６０１、コンテンツ鍵取得部１６０２、デバイス鍵格納部１６０４、実行部５６０６、署名情報検証部５６１１及び検証鍵記憶部１６１２から構成される。
【０２７５】
以下に、実行装置５６００を構成する各部について説明する。なお、取得部１６０１、コンテンツ鍵取得部１６０２及び検証鍵記憶部１６１２は、実施の形態１の実行装置１６００を構成する取得部１６０１、コンテンツ鍵取得部１６０２及び検証鍵記憶部１６１２と同一であるので、説明を省略する。
（１）署名情報検証部５６１１
署名情報検証部５６１１は、取得部１６０１から、ユニット選出情報５５３０及び署名情報５５７０を受け取る。
【０２７６】
これらの情報を受け取ると、受け取ったユニット選出情報５５３０、ＤＶＤ５５００に記憶されているヘッダ情報５５５０、暗号化コンテンツ５５８０及び充填コンテンツ５５９０を用いて、受け取った署名情報５５７０を検証する。暗号化コンテンツ５５８０に加えて充填コンテンツ５５９０を用いること以外は、実施の形態１の実行装置１６００を構成する署名情報検証部１６１１による署名情報の検証の手順と同一であるので、具体的な検証の手順についての説明は省略する。
【０２７７】
（２）実行部５６０６
実行部５６０６は、予め、５６ビット長の再生不可情報「ＤＡＭＹ」を記憶している。
実行部５６０６は、コンテンツ鍵取得部１６０２からコンテンツ鍵「ＣＫ」を受け取る。また、署名情報検証部５６１１から再生禁止情報を受け取る場合がある。
コンテンツ鍵「ＣＫ」を受けると、取得部１６０１を介して、暗号化コンテンツ５５８０を構成する暗号化ファイル「ＥＣＮＴ１」、「ＥＣＮＴ２」、「ＥＣＮＴ３」・・・「ＥＣＮＴｃ」又は充填コンテンツ５５９０を１個ずつ読み出す。
【０２７８】
読み出した暗号化ファイル又は充填コンテンツの先頭の５６ビットと、記憶している再生不可情報「ＤＡＭＹ」とを比較する。両者が一致しない場合、読み出した情報が暗号化ファイルであり、再生可能であるので、受け取ったコンテンツ鍵「ＣＫ」を用いて読み出した暗号ファイルをユニット単位で復号してファイルを生成する。次に、実行部５６０６は、生成したファイルを伸長して、画像及び音声データを生成する。生成した画像及び音声データを画像信号及び音声信号を生成し、生成した画像信号及び音声信号をモニタへ出力することで、コンテンツを再生する。
【０２７９】
先頭の５６ビットと、記憶している再生不可情報「ＤＡＭＹ」とが一致する場合、読み出した情報が、充填コンテンツであり再生不可であるので、上記の復号、伸長、再生を中止し、次の暗号化ファイルの処理に移る。
全ての暗号化ファイル及び充填コンテンツを読み出し終えるまで、同様の手順で、読み出し、再生不可情報「ＤＡＭＹ」との比較、復号、伸長、再生を繰り返す。
【０２８０】
また、上記の繰返しの途中で、署名情報検証部５６１１から再生禁止情報を受け取ると、上記の繰返しを中止する。
５．５  動作
実施の形態５における配布装置５１００及び実行装置５６００の動作について、以下に説明する。
【０２８１】
（１）配布装置５１００の動作
配布装置５１００の動作について、図６２〜６３に示すフローチャートを用いて説明する。
配布装置５１００の入力部５１０１は、コンテンツの入力を受け付け（ステップＳ５０１１）、受け取ったコンテンツをユニット生成部５１０５へ出力し、コンテンツ鍵生成部１１０２へコンテンツ鍵の生成を指示する。
【０２８２】
コンテンツ鍵生成部１１０２は、入力部１１０１の指示により、コンテンツ鍵を生成し（ステップＳ５０１２）、生成したコンテンツ鍵を鍵ブロック生成部１１０３と暗号処理部５１０６とへ出力する。
鍵ブロック生成部１１０３は、コンテンツ鍵を受け取る。コンテンツ鍵を受け取ると、実行装置情報格納部１１０４から装置識別テーブルを読み出し（ステップＳ５０１３）、受け取ったコンテンツ鍵と読み出した装置識別テーブルとを基に、鍵ブロックを生成する（ステップＳ５０１６）。次に、生成した鍵ブロックを記録部５１１４へ出力する。
【０２８３】
ユニット生成部５１０５は、コンテンツを受け取り、受け取ったコンテンツを構成する各ファイルをユニットに分割し、分割コンテンツを生成する（ステップＳ５０１７）。分割コンテンツを生成すると、各分割ファイルと対応するファイル情報から構成されるユニット選出情報を生成し（ステップＳ５０１８）、生成したユニット選出情報を充填コンテンツ生成部５１０８へ出力し、分割コンテンツを暗号処理部５１０６へ出力する。
【０２８４】
暗号処理部５１０６は、コンテンツ鍵と分割コンテンツを受け取り、受け取った分割コンテンツに含まれるコンテンツの各ユニットをコンテンツ鍵を用いて暗号化することにより、暗号化分割コンテンツを生成する（ステップＳ５０１９）。暗号処理部５１０６は、生成した暗号化分割コンテンツに含まれる暗号化ユニットを抽出して、暗号化コンテンツを生成し（ステップＳ５０２１）、生成した暗号化コンテンツを記録部５１１４と充填コンテンツ生成部５１０８へ出力し、生成した暗号化分割コンテンツをヘッダ情報生成部５１０７へ出力する。
【０２８５】
充填コンテンツ生成部５１０８は、ユニット選出情報と暗号化コンテンツとを受け取ると、記録部５１１４を介してＤＶＤ５５００の最大記憶容量を取得し（ステップＳ５０２２）、受け取った暗号化コンテンツのデータサイズを計数する（ステップＳ５０２３）。
次に、充填コンテンツ生成部５１０８は、受け取ったユニット選出情報を基に、ヘッダ情報のデータサイズと署名情報のデータサイズとを算出する（ステップＳ５０２６）。取得した最大記憶容量、ヘッダ情報及び署名情報のデータサイズなどを基に、充填容量を算出する（ステップＳ５０２８）。
【０２８６】
次に、充填コンテンツ生成部５１０８は、再生不可情報と乱数とを結合して、データサイズが、算出した充填容量となる充填コンテンツを生成する（ステップＳ５０２９）。充填コンテンツに対応するファイル識別子とファイル特定情報とを生成する（ステップＳ５０３１）。
充填コンテンツ生成部５１０８は、記憶している分割数「ｊ」に基づき、生成した充填コンテンツを、ｊ個のユニットに分割して、分割充填コンテンツを生成する（ステップＳ５０３２）。
【０２８７】
次に、充填コンテンツ生成部５１０８は、生成したファイル識別子とファイル特定情報と、生成したユニットの数を示すユニット数とを含むファイル情報を生成し、生成したファイル情報を、受け取ったユニット選出情報に追加する（ステップＳ５０３３）。生成した充填コンテンツとユニット選出情報５１４０とを記録部５１１４へ出力し、生成したファイル識別子と分割充填コンテンツ５１２０から構成される充填ファイル情報５１５６をヘッダ情報生成部５１０７へ出力し、ユニット選出情報５１４０を署名情報生成部５１１１へ出力する。
【０２８８】
ヘッダ情報生成部５１０７は、暗号化分割コンテンツと充填ファイル情報５１５６とを受け取り、受け取った暗号化分割コンテンツに含まれるｃ個の暗号化分割ファイルからｃ個の第１ハッシュテーブルを生成する（ステップＳ５０３４）。続いて、受け取った充填ファイル情報５１５６に含まれる分割充填コンテンツから第１ハッシュテーブルを生成する（ステップＳ５０３６）。
【０２８９】
生成したｃ＋１個の第１ハッシュテーブルを基に第２ハッシュテーブルを生成する（ステップＳ５０３７）。ｃ＋１個の第１ハッシュテーブルと第２ハッシュテーブルとを含むヘッダ情報を生成し（ステップＳ５０３９）、生成したヘッダ情報を記録部５１１４へ出力し、生成した第２ハッシュテーブルを署名情報生成部５１１１へ出力する。
署名情報生成部５１１１は、ユニット選出情報５１４０と第２ハッシュテーブルとを受け取り、受け取ったユニット選出情報と第２ハッシュテーブルに署名生成アルゴリズムを施して署名情報を生成する（ステップＳ５０４１）。生成した署名情報を、記録部５１１４へ出力する。
【０２９０】
記録部５１１４は、鍵ブロックと暗号化コンテンツと充填コンテンツとユニット選出情報とヘッダ情報と署名情報とを受け取り、受け取った鍵ブロックと暗号化コンテンツと充填コンテンツとユニット選出情報とヘッダ情報と署名情報とをＤＶＤ５５００へ書き込む（ステップＳ５０４２）。
（２）実行装置５６００の動作
図６４〜図６５に示すフローチャートを用いて、実行装置５６００の動作について説明する。
【０２９１】
取得部１６０１は、ＤＶＤ５５００を装着されると、ＤＶＤ５５００から鍵ブロック５５１０、ユニット選出情報５５３０及び署名情報５５７０を読み出し、鍵ブロック５５１０をコンテンツ鍵取得部１６０２へ出力し、ユニット選出情報５５３０と署名情報５５７０とを署名情報検証部１６１１へ出力する（ステップＳ５０６１）。
署名情報検証部５６１１は、ユニット選出情報５５３０と署名情報５５７０とを受け取り、乱数とユニット選出情報５５３０を用いて、暗号化コンテンツ５５８０及び充填コンテンツ５５９０に含まれる複数の暗号化ユニット及びｊ個のユニットから、暗号化コンテンツ５５８０に含まれる複数の暗号化ユニット及び充填コンテンツ５５９０に含まれるｊ個のユニットから、ｉ個を選択し、選択された合計ｉ個の暗号化ユニット及びユニットとヘッダ情報とを用いて、ｉ個の入替第１ハッシュテーブルを生成する（ステップＳ５０６３）。
【０２９２】
署名情報検証部５６１１は、生成したｉ個の入替ハッシュテーブルそれぞれから、入替ファイルハッシュ値を算出する（ステップＳ５０６４）。
署名情報検証部５６１１は、次に、ＤＶＤ５５００から第２ハッシュテーブルを読み出し（ステップＳ５０６６）、生成したｉ個の入替ファイルハッシュ値と対応するファイルハッシュ値を、入替ハッシュ値に置き換えて入替第２ハッシュテーブルを生成する（ステップＳ５０６８）。生成した入替第２ハッシュテーブルと受け取ったユニット選出情報５５３０と、検証鍵記憶部１６１２の記憶している検証鍵１６１３とを用いて、署名情報５５７０を検証する（ステップＳ５０６９）。署名検証が失敗であれば（ステップＳ５０７１のＮＯ）、署名情報検証部５６１１は、再生禁止情報を実行部５６０６へ出力する（ステップＳ５０７３）。
【０２９３】
署名情報５５７０の検証が成功であれば（ステップＳ５０７１のＹＥＳ）、署名情報検証部５６１１は、そのまま署名検証を終了する。
コンテンツ鍵取得部１６０２は、鍵ブロック５５１０を受け取り、デバイス鍵格納部１６０４から装置識別子とデバイス鍵とを読み出す（ステップＳ５０７４）。読み出した装置識別子とデバイス鍵と鍵ブロック５５１０からコンテンツ鍵「ＣＫ」を生成し、生成したコンテンツ鍵「ＣＫ」を実行部５６０６へ出力する（ステップＳ５０７６）。
【０２９４】
実行部５６０６は、コンテンツ鍵取得部１６０２からコンテンツ鍵を受け取る。ここで、署名情報検証部５６１１から、再生禁止情報を受け取ると（ステップＳ５０７７のＹＥＳ）、利用者にＤＶＤ５５００に記録されているコンテンツを再生できないことを通知し（ステップＳ５０７９）、以下の再生の処理を中止する。
再生禁止情報を受け取らなければ（ステップＳ５０７７のＮＯ）、ＤＶＤ５５００から、暗号化コンテンツを構成するｃ個の暗号化ファイル及び充填コンテンツのうち１個を読み出す（ステップＳ５０８１）。読み出した暗号化ファイル又は充填コンテンツの先頭の５６ビットと、予め記憶している再生不可情報とを比較する（ステップＳ５０８２）。両者が一致する場合（ステップＳ５０８４のＹＥＳ）、ステップＳ５０７７へ戻る。
【０２９５】
両者が一致しなければ（ステップＳ５０８４のＮＯ）、読み出したファイルが暗号化ファイルであるり再生可能であるので、受け取ったコンテンツ鍵を用いて暗号化ファイルを復号してファイルを生成し（ステップＳ５０８６）、生成したファイルを伸長し（ステップＳ５０８７）、モニタに再生させる（ステップＳ５０８９）。ここで、暗号化コンテンツを構成する暗号化ファイル及び充填コンテンツを全て読み出し終えた場合又は利用者の操作により再生終了を指示された場合（ステップＳ５０９１のＹＥＳ）、再生処理を終了する。暗号化コンテンツを構成する暗号化ファイル及び充填コンテンツ全てを読み出し終えておらず、かつ、利用者から、再生終了を指示されなければ（ステップＳ５０９１のＮＯ）、ステップＳ５０７７へ戻り、ステップＳ５０７７〜ステップＳ５０９１の処理を繰り返す。
５．６  まとめ・効果
以上、本実施の形態において、ＤＶＤ５５００は、暗号化コンテンツを初めとする各種の情報に加えて、書き込み可能な記憶領域が残らないように、適切なデータサイズの充填コンテンツを記憶している。さらに、ヘッダ情報及び署名情報は、暗号化コンテンツのみならず充填コンテンツにも基づいて生成されている。
【０２９６】
実行装置５６００を構成する実行部５６０６は、ＤＶＤ５５００に書き込まれているファイルを順次読み出す。読み出したファイルの先頭の５６ビットと予め記憶している再生不可情報とを比較する。両者が一致した場合、読み出したファイルが充填コンテンツであると判断し、このファイルの再生を行わないようにする。
ＤＶＤ５５００が、このような充填コンテンツを記憶していない場合、以下に説明するような２つの不正が想定される。
【０２９７】
図６５は、正規の権利者によって生成されたＤＶＤ５５００ａとＤＶＤ５５００ａに不正なコンテンツを含むファイルを追加したＤＶＤ５５００ｂの構成を示している。
ＤＶＤ５５００ａは、ヘッダ情報、ユニット選出情報、署名情報を領域５７０３に記憶しており、暗号化コンテンツを構成する各暗号化ファイルを、領域５７０４、５７０５・・・５７０７に記憶している。既に説明したこれらの情報のほかに、ファイルテーブルを領域５７０１に記憶しており、再生手順ファイルを領域５７０２に記憶している。
【０２９８】
領域５７０１に記憶さているファイルテーブルは、ＤＶＤ５５００に記憶されている全てのファイルについてのファイル識別子、ファイルの先頭アドレス及びＤＶＤ上でファイルの占めるセクタ数を対応させて含んでいる。例えば、ファイル識別子「ＦＩＤ１」のファイルは、アドレス「０ＸＡＡ１」から７０セクタの領域に記憶されていることを示している。
【０２９９】
領域５７０２に記憶されている再生手順ファイルは、ＤＶＤに記憶されているファイルの再生順序を示しており、ここでは、ファイル識別子「ＦＩＦ１」のファイルからファイル識別子「ＦＩＤｃ」のファイルの順に再生することを示している。
また、ＤＶＤ５５００ａの領域５７１１には、何も記憶されていない。
ここで、不正な第三者が、ＤＶＤ５５００ａの領域５７１１に不正なコンテンツを含むファイルを書き込み、ファイルテーブル及び再生手順ファイルを不正に改ざんして５５００ｂを生成したとする。
【０３００】
ＤＶＤ５５００ｂの領域５７０１には、不正なファイルに対応するファイル識別子「ＦＩＤｘ」と不正なファイルの先頭アドレス「０ＸＡＡｘ」とセクタ数「２００」が追記されている。また、領域５７０２に記憶されている再生手順ファイルは、ファイル識別子「ＦＩＤｘ」のファイルから再生するように改ざんされている。
また、ＤＶＤ５５００ａに記憶されている正当なファイルに不正なコンテンツを追記して、図６６に示すＤＶＤ５５００ｃを生成される場合も考えられる。
【０３０１】
ＤＶＤ５５００ｃは、領域５７０７正規に記録されたファイル直後の領域５７１１に不正なコンテンツを記憶している。ファイルテーブルの領域５７０７に記憶されているファイルと対応するセクタ数は、このファイルがもともと記憶されているセクタ数に、追記された不正コンテンツの記憶されているセクタ数を加算した「３２０」に改ざんされており、再生手順ファイルは、ファイル識別子「ＦＩＤｃ」のファイルの５１番目のセクタ、つまり、追記された不正コンテンツから再生を開始するように変更されている。
【０３０２】
このように、不正な改ざんをされた場合であっても、ヘッダ情報、ユニット選出情報、署名情報及び暗号化コンテンツは、何ら改ざんされていないため、署名情報の検証が正常に終了すれば、実行装置は手順ファイルの示す手順に従って、不正なファイルを読み出し、再生を開始することになる。
本実施の形態において、ＤＶＤ５５００は、充填コンテンツの存在により、書き込み可能な記憶領域は残されていない。さらに、署名情報の生成には、充填コンテンツも用いられているため、充填コンテンツを不正なファイルを差し替えた場合、実行装置５６００において、署名情報の検証が失敗し、再生は中止される。
６．  実施の形態６
本発明に係る実施の形態６について、以下に説明する。
６．１  不正コンテンツ検知システム
実施の形態６の不正コンテンツ検知システムは、実施の形態１の不正コンテンツ検知システムと同様に、配布装置、実行装置及びモニタから構成される。
【０３０３】
配布装置は、実施の形態１のにおいて説明した、鍵ブロック、ユニット選出情報、暗号化コンテンツ、ヘッダ情報、署名情報に加えて、配布装置によって正規に書き込まれた情報の存在するＤＶＤ上の記憶領域を示す領域情報を生成しＤＶＤに書き込む。
実行装置は、ＤＶＤから領域情報を読み出し、読み出した領域情報の示す記憶領域に記憶されている情報だけを、読み出す。
６．２  配布装置６１００
図６７は、実施の形態６の不正コンテンツ検知システムを構成する配布装置の構成を示す。図６７に示すように、配布装置６１００は、入力部１１０１、コンテンツ鍵生成部１１０２、鍵ブロック生成部６１０３、実行装置情報格納部１１０４、ユニット生成部６１０５、暗号処理部６１０６、ヘッダ情報生成部６１０７、配置生成部６１０８、領域情報生成部６１０９、署名情報生成部６１１１、署名鍵記憶部１１１２及び記録部６１１４から構成される。
【０３０４】
以下に、配布装置６１００を構成する各部について説明する。なお、入力部１１０１、コンテンツ鍵生成部１１０２、実行装置情報格納部１１０４及び署名鍵記憶部１１１２は、実施の形態１の配布装置１１００を構成する入力部１１０１、コンテンツ鍵生成部１１０２、実行装置情報格納部１１０４及び署名鍵記憶部１１１２と同一であるので説明を省略する。
【０３０５】
また、鍵ブロック生成部６１０３、ユニット生成部６１０５、暗号処理部６１０６及びヘッダ情報生成部６１０７は、それぞれが、生成した鍵ブロック、ユニット選出情報、暗号化コンテンツ、ヘッダ情報を、記録部に代わって、配置生成部６１０８へ出力すること以外は、実施の形態１の鍵ブロック生成部１１０３、ユニット生成部１１０５、暗号処理部１１０６及びヘッダ情報生成部１１０７と同様であるので説明を省略する。
【０３０６】
（１）配置生成部６１０８
配置生成部６１０８は、予め、署名情報生成部６１１１の生成する署名情報のデータサイズの最大値を記憶している。さらに、領域情報生成部６１０９の生成する領域情報のデータサイズを記憶している。
配置生成部６１０８は、鍵ブロック生成部６１０３から鍵ブロックを受け取り、ユニット生成部６１０５からユニット選出情報を受け取り、暗号処理部６１０６から暗号化コンテンツを受け取り、ヘッダ情報生成部６１０７からヘッダ情報を受け取る。
【０３０７】
これらの情報を受け取ると、配置生成部６１０８は、図６８に示すような書込用配置情報６１２０を生成する。書込用配置情報６１２０は、受け取った各種の情報を、ＤＶＤ上におけるこれらの配置関係と同一の配置に並べてメモリ上に書き込んだものである。以下に、図６８を用いて、上記の書込用配置情報６１２０の生成手順について説明する。
配置生成部６１０８は、メモリ上の領域６１２１に、鍵ブロックを書き込み、領域６１２２にユニット情報を書き込み、領域６１２３へヘッダ情報を書き込む。
【０３０８】
次に、配置生成部６１０８は、記憶している領域情報のデータサイズ及び署名情報のデータサイズの最大値に相当する領域６１２４、６１２５を確保する。次に、領域６１２５に続く領域６１２６に暗号化コンテンツを書き込む。
配置生成部６１０８は、生成した書込用配置情報６１２０を領域情報生成部６１０９及び記録部６１１４へ出力する。
【０３０９】
なお、図６７に示した各情報の配置順序は一例であり、これに限るものではない。
また、ここでは、署名情報のデータサイズの最大値を記憶しているとしたが、例えば、実施の形態５の充填コンテンツ生成部５１０８と同様にして、署名情報のデータサイズを算出しても良い。
（２）領域情報生成部６１０９
領域情報生成部６１０９は、配置生成部６１０８から書込用配置情報６１２０受け取る。書込用配置情報６１２０を受け取ると、受け取った書込用配置情報６１２０から、領域情報を生成する。領域情報は、ＤＶＤ上において、配布装置６１００の書き込んだ正規の情報の存在する領域を示す情報であり、一例として、ＤＶＤ上に、書込用配置情報６１２０の書き込む際の、書き込みを開始するアドレス（以下、開始アドレス）と、末尾示すアドレス（終了アドレス）の組などである。
【０３１０】
領域情報は、これに限るものではなく、例えば、開始アドレスと正規の情報の存在するセクタ数の組など、正規の情報の存在する領域を特定できるものであれば、どのような情報でも良い。
領域情報生成部６１０９は、生成した領域情報を、署名情報生成部６１１１及び記録部６１１４へ出力する。
【０３１１】
（３）署名情報生成部６１１１
署名情報生成部６１１１は、ユニット生成部６１０５からユニット選出情報を受け取り、ヘッダ情報生成部６１０７から、第２ハッシュテーブルを受け取り、領域情報生成部６１０９から領域情報を受け取る。
これらの情報を受け取ると、署名情報生成部６１１１は、署名鍵記憶部１１１２から署名鍵１１１３を読み出す。
【０３１２】
次に、読み出した署名鍵１１１３を用いて、受け取った第２ハッシュテーブルに含まれるｃ個のファイルハッシュ値とユニット選出情報を構成するｃ個のファイル情報と受け取った領域情報を結合した結合物に、署名生成アルゴリズムＳを施して、署名情報を生成する。
次に、署名情報生成部６１１１は、生成した署名情報を、記録部６１１４へ出力する。
【０３１３】
（４）記録部６１１４
記録部６１１４は、ＤＶＤを装着される。
記録部６１１４は、配置生成部６１０８から、書込用配置情報６１２０を受け取り、領域情報生成部６１０９から領域情報を受け取り、署名情報生成部６１１１から、署名情報を受け取る。
【０３１４】
これらの情報を受け取ると、記録部６１１４は、受け取った領域情報を、書込用配置情報６１２０の領域６１２４に挿入し、署名情報を領域６１２５に挿入する。
領域情報と署名情報とを書込用配置情報６１２０に挿入すると、記録部６１１４は、書込用配置情報６１２０をＤＶＤに書き込む。
６．３  ＤＶＤ６５００
図６９は、実施の形態６におけるＤＶＤに記憶されている情報を示している。ＤＶＤ６５００は、図６９に示すように、鍵ブロック６５１０、ユニット選出情報６５３０、ヘッダ情報６５５０、領域情報６５６０、署名情報６５７０及び暗号化コンテンツ６５８０を記憶している。これらは、配布装置６１００により書き込まれたものであるので、ここでは、改めで説明しない。
６．４  実行装置６６００
図７０は、本実施の形態の実行装置の構成を示す。実行装置６６００は、図７０に示すように、ドライブ部６６２０とコンテンツ実行部６６２５から構成される。
【０３１５】
ドライブ部６６２０は、取得部６６０１、領域情報格納部６６０３、暗号通信部６６０４及び暗号鍵格納部６６０５から構成される。
コンテンツ実行部６６２５は、コンテンツ鍵取得部１６０２、デバイス鍵格納部１６０４、復号通信部６６０７、復号鍵格納部６６０８、署名情報検証部６６１１、検証鍵記憶部１６１２及び実行部６６０６から構成される。
【０３１６】
以下に、実行装置６６００を構成する各部について説明する。なお、コンテンツ鍵取得部１６０２、デバイス鍵格納部１６０４及び検証鍵記憶部１６１２は、実施の形態１の実行装置１６００を構成するコンテンツ鍵取得部１６０２、デバイス鍵格納部１６０４及び検証鍵記憶部１６１２と同一であるので説明を省略する。
（１）取得部６６０１
取得部６６０１は、ＤＶＤ６５００を装着される。ＤＶＤ６５００が装着されると、取得部６６０１は、先ず領域情報６５６０を読み出す。読み出した領域情報６５６０を、領域情報格納部６６０３へ書き込み、読み出した領域情報６５６０を暗号通信部６６０４へ出力する。
【０３１７】
次に、ＤＶＤ６５００から鍵ブロック６５１０、ユニット選出情報６５３０及び署名情報６５７０を読み出し、読み出した鍵ブロック６５１０をコンテンツ鍵取得部１６０２へ出力する。読み出したユニット選出情報６５３０及び署名情報６５７０を署名情報検証部６６１１へ出力する。
また、署名情報検証部６６１１及び実行部１６０６から、各種の情報の読み出しの要求を受け付ける。読み出しの要求を受け付けると、領域情報格納部６６０３から領域情報を読み出し、要求されている情報が、領域情報の示す領域内に存在すれば、要求された情報をＤＶＤ６５００から読み出し、読み出した情報を、要求基である署名情報検証部６６１１又は実行部１６０６へ出力する。
【０３１８】
要求されている情報が、読み出した領域情報の示す領域内に存在しなければ、要求された情報が読み出し不可であることを示すエラー通知信号を出力する。
（２）領域情報格納部６６０３
領域情報格納部６６０３は、一例として、ＲＡＭから構成され、取得部６６０１によって書き込まれる領域情報を記憶している。
【０３１９】
（３）暗号通信部６６０４及び暗号鍵格納部６６０５
暗号鍵格納部６６０５は、一例としてＲＯＭから構成され、５６ビット長の暗号鍵を記憶している。
暗号通信部６６０４は、取得部６６０１から領域情報６５６０を受け取る。領域情報を受け取ると、暗号鍵格納部６６０５から暗号鍵を読み出し、読み出した暗号鍵に暗号化アルゴリズムＥ２を施して暗号化領域情報を生成する。ここで、暗号化アルゴリズムＥ２は、一例としてＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）を用いる。
【０３２０】
次に、暗号通信部６６０４は、生成した暗号化領域情報を復号通信部６６０７へ出力する。
（４）復号通信部６６０７及び復号鍵格納部６６０８
復号鍵格納部６６０８は、一例としてＲＯＭから構成され、５６ビット長の復号鍵を記憶している。ここで、復号鍵は、暗号鍵格納部６６０５の記憶している暗号鍵と同一である。
【０３２１】
復号通信部６６０７は、暗号通信部６６０４から暗号化領域情報を受け取る。暗号化領域情報を受け取ると、復号鍵格納部６６０８から復号鍵を読み出し、読み出した復号鍵を用いて、受け取った暗号化領域情報に復号アルゴリズムＤ２を施して領域情報を生成する。ここで、復号アルゴリズムＤ２は、暗号化アルゴリズムＥ２によって生成された暗号文を復号するアルゴリズムである。
【０３２２】
次に、復号通信部６６０７は、生成した領域情報を署名情報検証部６６１１へ出力する。
なお、ここでは、暗号鍵と復号鍵は同一であり、暗号通信部６６０４及び復号通信部６６０７は共通鍵暗号方式を用いるとして説明してきたが、これに限るものではなく、公開鍵暗号方式を用いても良い。また、公開鍵暗号方式と共通鍵暗号方式を組み合わせて、通信のたびに異なる鍵を生成し、生成した鍵により暗号通信を行っても良い。
【０３２３】
また、ここでは、領域情報のみを暗号化してコンテンツ実行部６６２５へ出力しているが、コンテンツ実行部６６２５とドライブ部６６２０間で送受信される全ての情報を、暗号化してもよい。
（５）署名情報検証部６６１１
署名情報検証部６６１１は、取得部６６０１からユニット選出情報６５３０と署名情報６５７０とを受け取る。また、復号通信部６６０７から領域情報を受け取る。
【０３２４】
ユニット選出情報６５３０と署名情報６５７０とを受け取ると、受け取ったユニット選出情報６５３０とＤＶＤ６５００に記憶されている暗号化コンテンツ６５８０とヘッダ情報６５５０とを基に、入替第２ハッシュテーブルを生成する。入替第２ハッシュテーブルの生成手順は、実施の形態１の署名情報検証部１６１１による、入替第２ハッシュテーブルの生成手順と同一であるので説明を省略する。
【０３２５】
次に、署名情報検証部６６１１は、検証鍵記憶部１６１２から検証鍵１６１３を読み出す。次に、生成した入替第２ハッシュテーブルに含まれる全てのファイルハッシュ値及び入替ファイルハッシュ値と受け取ったユニット選出情報６５３０に含まれる全てのファイル情報と領域情報とを結合した結合物に、読み出した検証鍵１６１３を用いて、署名検証アルゴリズムＶを施して、署名検証情報を生成する。生成した署名検証情報と受け取った署名情報６５７０とを比較する。
【０３２６】
両者が一致しなければ、署名情報の検証が失敗であると判断し、実行部１６０６へ再生禁止情報を出力する。
両者が一致する場合、受け取った署名情報６５７０の検証が成功であると判断し検証の処理を終了する。
上記の処理の途中で、署名情報検証部６６１１は、取得部６６０１へ暗号化コンテンツ及びヘッダ情報の一部の読み出しを指示するが、このとき、取得部６６０１から、読み出しができないことを示すエラー通知信号を受け取る場合がある。
【０３２７】
エラー通知信号を受け取ると、署名情報検証部６６１１は、上記の、署名情報の検証処理を中止し、実行部１６０６へ、再生禁止情報を出力する。
（６）実行部６６０６
実行部６６０６は、実施の形態１の実行装置１６００を構成する実行部１６０６と同様に、コンテンツ鍵取得部１６０２から、コンテンツ鍵を受け取り、暗号化ファイルの読み出し、復号、再生の繰返しを開始する。
【０３２８】
この繰返しの途中で、署名情報検証部６６１１から、再生禁止情報を受け取る場合がある。
また、この繰返しにおいて、取得部６６０１へ、暗号化コンテンツ６５８０を構成する暗号化ファイルの読み出しを要求するが、その際、取得部６６０１から、読み出しができないことを示すエラー通知信号を受け取る場合がある。
【０３２９】
再生禁止情報又はエラー通知信号を受け取ると、実行部６６０６は、再生の処理を中止し、装着されているＤＶＤの再生ができないことを利用者に通知する。
６．５  まとめ・効果
以上、説明してきたように、本実施の形態の不正コンテンツ検知システムを構成する配布装置６１００は、配布装置６１００が正規に書き込んだ情報の存在する領域を示す領域情報を生成してＤＶＤに書き込む。さらに、第２ハッシュテーブル、ユニット選出情報及び領域情報から署名情報を生成し、ＤＶＤに書き込む。
【０３３０】
実行装置６６００の取得部６６０１は、ＤＶＤ６５００が装着されると、先ず、ＤＶＤ６５００から領域情報を読み出し、読み出した領域情報の示す領域以外に書き込まれている情報の読み出しを行わない。
このようにすることで、実施の形態５において説明したＤＶＤ６５００の空き領域に不正コンテンツを書き込むという不正が発生しても、実行装置６６００では、不正コンテンツを再生することができない。
【０３３１】
さらに、ＤＶＤ６５００の記憶している署名情報は、領域情報を用いて生成されており、実行装置６６００の署名情報検証部６６１１は、署名情報の検証に、ＤＶＤ６５００から読み出した領域情報を用いる。従って、不正な第三者が、不正コンテンツの挿入と供に、領域情報を改ざんしたとしても、署名情報検証部６６１１による署名情報の検証が失敗し、不正コンテンツを再生することができない。
【０３３２】
さらに、ＤＶＤに空領域が残っていない場合、正規のＤＶＤに記録されている全データを、正規のＤＶＤよりも記憶容量の大きな別の媒体にコピーして、その別の媒体の空き領域に不正コンテンツを追記するという不正行為も考えられるが、このような場合であっても、本実施の形態の不正コンテンツ検知システムでの実行装置６６００では、領域情報の示す記憶領域以外の領域から情報を読み出すことはない。従って、このような不正を抑止することができる。
６．６  実施の形態６の変形例
上記の実施の形態６において、配布装置６１００の生成する領域情報は、ＤＶＤ６５００上において、配布装置６１００が正規に書き込んだ情報の存在する領域を示す情報であったが、これに代わって、配布装置６１００が正規に書き込んだ情報の総データサイズであってもよい。
【０３３３】
この場合、実行装置６６００の取得部６６０１は、先ず、ＤＶＤ６５００から総データサイズを読み出す。次に、ＤＶＤ６５００に記憶されている情報の総データサイズを計測する。計測したデータサイズが読み出したデータサイズより大きい場合、取得部６６０１は、ＤＶＤ６５００からのデータの読み出しを中止し実行部６６０６へエラー通知信号を出力する。
７．  その他の変形例
本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【０３３４】
（１）上記の実施の形態１、５及び６において、配布装置は、暗号化ユニットをハッシュ関数に代入して、ユニットハッシュ値を算出し、算出したユニットハッシュ値を基にヘッダ情報及び署名情報を生成し、実行装置は、選択したｉ個の暗号化ユニットを用いて署名情報の検証をしているが、配布装置は、暗号化する前のユニットを用いてユニットハッシュ値を算出し、実行装置においては、選択したｉ個の暗号化ユニットを復号してユニットを生成し、生成したｉ個のユニットを用いて、署名情報を検証しても良い。
【０３３５】
（２）また、逆に、実施の形態２〜４において、配布装置は、部分コンテンツをハッシュ関数に代入して、部分ハッシュ値を算出し、これを基にヘッダ情報及び署名情報を生成しているが、各部分コンテンツを暗号化して生成した暗号化部分コンテンツをハッシュ関数に代入して、部分ハッシュ値を算出し、これを基にヘッダ情報及び署名情報を生成するとしても良い。
【０３３６】
この場合、実行装置では、ヘッダ情報の検証に暗号化部分コンテンツを用いるため、代表部分復号部及び部分復号部を備える必要がなくなり、回路規模を縮小できる。
（３）実施の形態２〜４では、署名情報の検証及びヘッダ情報の検証が成功した後に、実行部が、暗号化コンテンツの復号、伸長、再生を開始しているが、これらの検証と並行して再生に係る処理を開始してもよい。この場合、署名情報検証部及びヘッダ情報検証部は、それぞれの実行する検証処理が失敗であれば、実行部へ、再生停止を指示する。
【０３３７】
（４）実施の形態１、５、６において、署名情報検証部は、時間の経過を計測するタイマを備えており、所定時間内に署名情報の検証が終了しなければ、検証が失敗したとみなすようにしても良い。
再生と並行して、署名情報の検証を行う場合、コンテンツ、署名情報、ヘッダ情報が改ざんされていても、検証が完了するまでの間は、不正コンテンツが再生されることになる。
【０３３８】
従って、署名情報の検証に制限時間を設けることにより、署名情報の検証が遅延するような改ざんを加えることで、不正コンテンツの再生時間を引き延ばすような不正に対処することができる。
また、上記の変形例（３）の署名情報検証部及びヘッダ情報検証部においても、同様に、タイマを備えているとしても良い。
【０３３９】
（５）  上記の実施の形態１〜６において、配布装置と実行装置は、対応する署名鍵と検証鍵を有しており、ＤＳＡのような署名生成アルゴリズムによって、署名情報の生成、検証を行っている。
一般に、署名生成アルゴリズムには、ＤＳＡ、ＲＳＡ（Rivest-Shamir-Adleman）などに代表される公開鍵暗号方式に基づくものが多いが、実行装置において、ＤＶＤに記録されている署名情報が、正当な権利者により生成されたものであることが証明できる情報であればよく、共通鍵暗号方式に基づくものでも良い。
【０３４０】
また、別の例として、処理内容が秘密の一方向性関数を用いても良い。この場合、配布装置と実行装置は、同一の一方向性関数を外部機器からは、読み取ることができない記憶領域に記憶しており、配布装置は、この一方向性関数により署名情報を生成し、実行装置は、同一の一方向性関数により、署名検証情報を生成する。
（６）また、署名情報を生成する際に、署名生成アルゴリズムを施す対象となる情報は、上記の実施の形態において説明したものに限るものではなく、例えば、実施の形態１においては、第２ハッシュテーブルと、ユニット選出情報に代わって、第２ハッシュテーブルのみに署名生成アルゴリズムを施しても良いし、第２ハッシュテーブルに加えてコンテンツ鍵「ＣＫ」や暗号化コンテンツのデータサイズなどをに署名生成アルゴリズムを施しても良い。実施の形態２において、代表部分コンテンツから生成した部分ハッシュ値に署名生成アルゴリズムを施す代わりに、代表部分コンテンツ自体に署名生成アルゴリズムを施しても良い。
【０３４１】
特に、実施の形態２において、代表部分コンテンツから署名情報を生成する場合、ｋ個の代表部分コンテンツそれぞれに署名生成アルゴリズムを施してｋ個の署名情報を生成しても良い。
この場合、実行装置は、選択位置情報に基づいて、ｋ個の代表部分コンテンツを生成し、生成したｋ個の代表部分コンテンツによりｋ個の署名情報をそれぞれ検証する。
【０３４２】
また、配布装置は、ｋ個の代表部分コンテンツを結合した結合物に署名生成アルゴリズムを施して署名情報を生成し、実行装置では、ｋ個の代表部分コンテンツの結合物を用いて署名情報の検証を行ってもよい。
このようにした場合、署名情報の検証が成功であれば、正当な権利者によって署名情報が生成されたことと、代表部分コンテンツに改ざんが加えられていないことが一度に証明される。従って、ヘッダ情報を生成し、ＤＶＤに書き込む必要がなくなり、ＤＶＤに書き込むデータサイズを縮小することができる。
【０３４３】
（７）実施の形態２〜３において、選択位置情報を予め実行装置が記憶しており、ＤＶＤには、暗号化選択位置情報は記録されていないとしても良い。従って、正規の実行装置は、予め記憶している選択位置情報によって、ヘッダ情報の検証を行うことができる。
（８）また、変形例（７）の場合、実施の形態３において、ヘッダ選択情報とｘ個のヘッダグループをＤＶＤに書き込む代わりに、配布装置は、第１ヘッダグループ〜第ｘヘッダグループのうちいずれか一つを選択し、選択したヘッダグループに含まれるヘッダ識別子とヘッダ情報と署名情報を抽出し、これらをＤＶＤに書き込む。
【０３４４】
実行装置は、予めｘ個の選択位置情報とヘッダ識別子との組を記憶しており、ＤＶＤに書き込まれているヘッダ識別子を基に、１個の選択位置情報を選択し、選択した選択位置情報を、以後の処理に用いるとしてもよい。
（９）上記の実施の形態１〜７において、実行装置は１個の装置として説明してきたが、複数の装置によって、実行装置と同等の機能を果たすようにしても良い。
【０３４５】
（１０）実施の形態３において、実行装置の取得部は、ｘ個のヘッダ識別子の中から１個を選択しているが、これに限るものではなく、２個以上を選択し、署名情報及びヘッダ情報の検証を２回以上繰り返しても良い。このようにすることで、より確実に、不正なコンテンツを検出することができる。
（１１）上記の実施の形態及び変形例では、配布装置の署名鍵記憶部及び実行装置の検証鍵記憶部は、それぞれ１個の鍵情報を記憶しているが、これに限るものではない。
【０３４６】
（１１−１）例えば、署名鍵記憶部は、署名鍵及び署名鍵と対応する鍵識別子とを記憶しており、記録部は、ＤＶＤに、署名情報とあわせて、鍵識別子を書き込む。
実行装置の検証鍵記憶部は、複数の検証鍵とそれぞれの検証鍵と対応する鍵識別子を記憶している。署名情報検証部は、署名情報と合わせて鍵識別子を受け取り、検証鍵記憶部の記憶している複数の鍵識別子のなかから、受け取った鍵識別子と一致する鍵識別子を検索し、検出した検証鍵識別子と対応する検証鍵を読み出して、署名情報の検証に用いる。
【０３４７】
このようにすることで、複数の異なる配布装置が存在する場合にも対応できる。
（１１−２）また、実行装置には、検証鍵記憶部は存在せず、配布装置の署名鍵記憶部に、署名鍵及び、署名鍵と対応する検証鍵が記憶されており、記録部は、署名情報とあわせて、検証鍵をＤＶＤに書き込むとしてもよい。
（１１−３）また、配布装置は、署名鍵、検証鍵に加えて公正な第三者機関によって生成された検証鍵の認証情報（ここでは、第三者機関の秘密鍵を用いて検証鍵に署名生成アルゴリズムを施して生成された鍵署名とする）を記憶している。
【０３４８】
記録部は、署名情報と合わせて、検証鍵及び鍵署名をＤＶＤに書き込む。
実行装置の検証鍵記憶部は、検証鍵に代わって鍵検証情報を記憶している。鍵検証情報は、鍵署名を検証するための情報であり、ここでは、鍵署名を生成した公正な第三者機関の秘密鍵と対になる公開鍵である。
署名情報検証部は、鍵署名と検証鍵とを受け取り、署名情報の検証に先立って、受け取った鍵と鍵検証情報を用いて鍵署名の検証を行い、成功であった場合のみ、上記の実施の形態において説明したような、署名情報の検証を開始する。
【０３４９】
このようにすることで、複数の配布装置が存在する場合であっても、実行装置は、第三者の鍵検証情報のみを保持していればよく、複数の検証鍵を保持する必要がなくなる。
（１２）また、変形例（１１）において、実行装置は、無効化された検証鍵を示す無効化リストを記憶していても良い。署名情報検証部は、受け取った鍵識別子又は検証鍵が、無効化リストに登録されているか否かを判定し、登録されている場合は、署名情報の検証を中止する。
【０３５０】
（１３）実行装置は、（１２）において説明した無効化リストを外部から取得するとしても良い。例えば、ＤＶＤを初めとする、記録媒体を介して取得しても良いし、インターネット、放送などにより取得しても良い。また、定期的に、最新の無効化リストを取得しても良い。
このようにすることで、新たに無効化すべき検証鍵が発見された場合にも対応することができる。
【０３５１】
（１４）配布装置はＤＶＤを介して、暗号化コンテンツ、署名情報を初めとする各種の情報を実行装置に配布しているが、これに限るものではなく、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭのような光ディスクやＣＤ−ＲやＤＶＤ−Ｒ、ＤＶＤ−ＲＡＭのような書き込み可能光ディスクなどでもよいし、光磁気ディスク、メモリカードなどであっても良い。また、フラッシュメモリやハードディスクなどの半導体メモリであって、実行装置内部に組み込まれていてもよい。
【０３５２】
さらに、記録媒体に限らず、インターネットなどの通信手段により、配布しても良い。もしくは、放送により配布してもよい。
（１５）上記の実施の形態及び変形例では、コンテンツは、画像及び音声からなる動画コンテンツとして説明してきたが、コンピュータプログラムであってもよい。例えば、実行装置がゲーム機であって、コンテンツはゲーム機に組み込まれているフラッシュメモリに記憶されているコンピュータプログラムであって、ゲーム機に装着されるゲームソフト（光ディスク、メモリカードなど）が正規のゲームソフトであるか否かを判定する判定プログラムであると想定する。ここで、不正な利用者が、不正なゲームソフトの実行を許可するように、前記判定プログラムを改ざんしたとしても、署名情報及びヘッダ情報を用いて、不正な改ざんの有無の検証を行い、改ざんが検出され、判定プログラムの実行自体が防止又は中断される。このように実行自体を停止させることで、不正な改ざんを施された判定プログラムによる不正な動作、すなわち不正なゲームソフトを実行することを防止することができる。
【０３５３】
（１６）上記の変形例で説明したように、コンテンツが、実行装置に組み込まれているマイコンに搭載されたフラッシュメモリに記憶されているコンピュータプログラムである場合、実施の形態５において、説明したような不正が考えられる。具体的には、先ず、フラッシュメモリに記憶されている正規のコンピュータプログラムには改ざんを施さずに、フラッシュメモリ上のあき領域に不正なプログラムを追記する。次に、正規のコンピュータプログラムのバグを利用して、バッファオーバーフローを引き起こし、追加した不正プログラムの先頭にジャンプさせ、不正プログラムの実行を開始させる。
【０３５４】
ここで、実施の形態５のように、フラッシュメモリに空き領域が残らないように、充填コンテンツをフラッシュメモリに書き込んでおくことで、不正コンテンツの追記ができす、上記のような不正を抑制することができる。
また、実施の形態６のように、予め、配布装置により書き込まれた正規の情報が存在する領域を示す領域情報をフラッシュメモリに書き込んでおき、実行装置は、領域情報の示す領域以外から、情報を読み出さないようにすることで、不正なプログラムが追記されたとしても、この不正プログラムを実行することはない。
【０３５５】
（１７）上記の実施の形態１〜６及び変形例において、実行部は、映像及び音声からなるコンテンツを再生するものとして説明してきたが、外部の記録媒体にコンテンツを出力するようなものでも良いし、印刷機能を有し画像データを紙などに印刷するようなものであってもよい。
（１８）上記の実施の形態では、コンテンツ鍵生成部は、配布装置にコンテンツが入力されるたびにコンテンツ鍵を生成しているが、予め、複数のコンテンツ鍵を記憶しており、記憶しているコンテンツ鍵のうちいずれか一つを選択して出力するとしても良い。
【０３５６】
（１９）上記の実施の形態では、実行装置は、ＤＶＤの装着をきっかけとして、ヘッダ情報、署名情報などの検証を開始していたが、これに限るものではない。
例えば、利用者のボタン操作により、再生を指示されたときや、ＤＶＤの装着から一定時間間隔で定期的に行うとしても良い。
（２０）実施の形態２及び３において、ヘッダ情報をＤＶＤに書き込むことは、必ずしも必要ではない。
【０３５７】
この場合、実行装置は、選択位置情報を基に、ｋ個の代表部分コンテンツを抽出し、抽出した代表部分コンテンツそれぞれをハッシュ関数に代入し、検証用ハッシュ値を算出する。
次に、検証鍵を用いて、算出した検証用ハッシュ値の結合物に署名検証アルゴリズムＶを施して、署名検証情報を生成する。生成した署名検証情報と署名情報とを比較することで、署名情報を検証する。
【０３５８】
このようにした場合、実行装置には、ヘッダ情報検証部は、必要なくなり、回路規模を縮小できる。また、署名情報の検証をすることで、不正コンテンツの検証も同時に完了することができる。
（２１）実施の形態４において、実行装置４６００は、署名情報検証部４６０６による署名情報の検証が成功した後、ヘッダ情報に含まれるｃ個の部分ハッシュ値のうち、ｋ個のみを検証しているが、ｋ個の暗号化部分コンテンツとヘッダ情報とを用いて、署名情報の検証とヘッダ情報の検証とを１度の検証によって行っても良い。
【０３５９】
具体的には、コンテンツ位置情報を基に、暗号化コンテンツからｋ個の暗号化部分コンテンツを抽出する。抽出したｋ個の暗号化部分コンテンツを復号してｋ個の部分コンテンツを生成する。生成したｋ個の部分コンテンツそれぞれを、ハッシュ関数に代入して、入替部分ハッシュ値を算出する。
次に、ヘッダ情報に含まれるｃ個の部分ハッシュ値のうち、選択したｋ個の暗号化部分コンテンツと対応する部分ハッシュ値を算出した入替部分ハッシュ値と入れ替える。
【０３６０】
入替後のヘッダ情報に含まれる部分ハッシュ値及び入替部分ハッシュ値を結合した結合物と、検証鍵とを用いて、署名情報の検証を行う。
このようにした場合、実行装置には、ヘッダ情報検証部又はヘッダ情報検証部のいずれか一方は必要なく、回路規模を縮小できる。また、署名情報の検証をすることで、不正コンテンツの検証も同時に完了することができる。
【０３６１】
（２２）上記の実施の形態１〜６において、ＤＶＤには、唯一つの暗号化コンテンツと、この暗号化コンテンツに対応する署名情報、ヘッダ情報などが書き込まれているが、異なる暗号化コンテンツを複数記憶しており、それぞれの暗号化コンテンツに対応するヘッダ情報、署名情報などを記憶していても良い。
また、全てのヘッダ情報を基に生成された署名情報を唯一つ含んでいても良い。さらに、これらの暗号化コンテンツとは別の、著作権を保護する必要のないコンテンツ、例えば、宣伝広告、オープニング画面、メニュー画面などを含んでいても良い。さらに、署名情報、ヘッダ情報などの検証を行っている間に、これらのコンテンツを再生していてもよい。
【０３６２】
（２３）実施の形態１〜６及び変形例において、実行装置は、署名情報の検証又はヘッダ情報の検証に失敗した場合、取得部に装着されているＤＶＤを識別するディスク識別子、再生しようとしていたコンテンツを識別するコンテンツ識別子を記憶しても良い。
記憶しているディスク識別子と同一のディスク識別子を有するＤＶＤが装着された場合、実行装置は、コンテンツの再生を中止する。または、記憶しているコンテンツ識別子と同一の識別子を有するコンテンツの再生を指示された場合、コンテンツの再生を中止する。
【０３６３】
（２４）上記の実施の形態及び変形例において、実行装置は、署名情報の検証又はヘッダ情報の検証に失敗した場合、コンテンツの再生を中止し、モニタにエラーを通知する画面を表示するなどしてコンテンツが不正であることを利用者に通知している。検証に失敗した場合の、実行装置の動作は、これらに限るものではなく、以下のような場合も考えられる。また以下の３つの変形例を組み合わせても良い。
【０３６４】
（２４−１）配布装置と実行装置は、ともにインターネットに接続されており、実行装置は、署名情報の検証又はヘッダ情報の検証に失敗した場合、インターネットを介して、検証に失敗したことを配布装置に通知する。この際に、検証に失敗したコンテンツを示すコンテンツ識別子を一緒に送信する。
配布装置は、予め、コンテンツ識別子とコンテンツ識別子の示すコンテンツの作成日を対応付けて記憶している。
【０３６５】
配布装置は、インターネットを介して、実行装置から検証失敗の通知とコンテンツ識別子とを受信する。受信したコンテンツ識別子と対応する作成日によって、コンテンツの再生の許可を示す再生許可情報又は再生を禁止する再生禁止情報を生成する。例えば、作成日から半年未満の新作コンテンツを示すコンテンツ識別子であれば、再生禁止情報を生成し、作成日から半年以上経過した旧作コンテンツを示すコンテンツ識別識別子であれば、再生許可情報を生成する。
【０３６６】
次に、生成した再生許可情報又は再生禁止情報をインターネットを介して実行装置に送信し、実行装置は、再生許可情報を受信した場合のみ、ＤＶＤに記憶されている暗号化コンテンツを復号し、再生する。
このようにすることで、すでに発売から一定期間が経過し、需要がある程度満たされ、今後の販売数がそれほど多くないと予測されるコンテンツについては、コンテンツの視聴を許可することで、ＤＶＤを購入した利用者の利益を優先し、発売後間もなく、これからの販売数が見込めるコンテンツについては、再生を禁止することで、著作権者の権利を優先することができる。つまり、利用者の利益と、著作権者の利益との調整を図ることができる。
【０３６７】
なお、再生許可情報及び再生禁止情報の何れを送信するかを決定する方法は、これに限ったものではなく、個々のコンテンツ毎に、コンテンツの著作権者、発売元などの意思を反映した、許可の条件を記憶していても良い。
（２４−２）既に述べたように、コンテンツを記録している媒体は、ＤＶＤに限るものではなく、書き換え可能な記録媒体であっても良い。ここでは、一例として、フラッシュメモリを搭載したメモリカードであるとする。
【０３６８】
実行装置は、署名情報の検証又はヘッダ情報の検証に失敗した場合、メモリカードに記録されている暗号化コンテンツに記録されている情報の全部又は一部を消去する。
このようにすることで、今後の不正コンテンツの利用を確実に防止することができる。
（２４−３）コンテンツが高画質（ＨＤ：High Definition ）な動画データである場合、実行装置は、検証に失敗すると、動画データを標準画質（ＳＤ：Standard）に変換して再生する。
【０３６９】
また、コンテンツが高音質（５．１チャネンネル）の音声データの場合、実行装置は、標準音質（２チャンネル）の音声データに変換して再生する。
このように、再生品質を低下させるという条件付で再生を許可することで、利用者の利便性と、著作権者の利益の調整をある程度、図ることができる。
（２５）実施の形態２、３において、実行装置の取得部は、ＤＶＤが装着されると、鍵ブロック、暗号化選択位置情報、ヘッダ情報署名情報、暗号化コンテンツを読み出しているが、各部の処理の進行に従って、必要な情報のみを取得部を介して読み出すようにしても良い。
【０３７０】
たとえば、ＤＶＤが装着された際には、鍵ブロックのみを読み出し、コンテンツ鍵の生成が終了すると、暗号化選択位置情報を読み出し、暗号化選択位置情報の復号が終了すると、署名情報とヘッダ情報を読み出し、署名情報の検証を行う。署名情報の検証が終了すると、選択位置情報の示すｋ個の暗号化ブロックを読み出す。
実施の形態４においても、同様にして、必要な情報のみを随時読み出すようにしてもよい。
【０３７１】
（２６）実施の形態１において、選択されたｉ個の暗号化ユニットを読み出す際に、以下に説明するように、読み出しの順序を工夫することで、読み出し速度を早くすることができる。
説明の簡略化のため、ここでは、ｉ＝４として、４個の暗号化ユニットを読み出す場合について考える。
【０３７２】
ＤＶＤを初めとする光ディスク上では、データを記録する部分がいくつかに分かれており、年輪状に広がっている各領域をトラックと呼ぶ。各トラックには、いくつかのセクタを含み、データはセクタ単位で読み書きされる。例えば、１セクタのサイズは５１２バイトである。このような場合、ＤＶＤ上の読み取り対象データは、トラック識別番号やセクタ識別番号やセクタサイズにより特定することが出来る。
【０３７３】
図７１は、ＤＶＤ１５００の構造と、取得部１６０１の構成を示している。図中の同心円状の領域がトラックである。
図７１の示すように、取得部１６０１は、ヘッド機構部（ピックアップとも言う）１６２８及び回転軸１６２９を備え、回転軸１６２９を回転させることによりＤＶＤ１５００を反時計回りに回転させる。図中の破線矢印が回転方向を示している。取得部１６０１は、トラック識別番号やセクタ識別番号やセクタサイズなどを指定することで、ヘッド機構部１６２８を移動させ、読み出し対象のデータを取得する。
【０３７４】
一般に、読み出し対象のデータが存在するトラックへヘッド機構部１６２８を移動させるために時間がかかることが知られている。言い換えると、ＤＶＤ上において内周側から外周方向への移動、もしくは、外周側から内周方向への移動距離に応じて、読み出しに要する時間が長くなる。
ここで、４個の暗号化ユニット「ＥＵ１＿３」、「ＥＵ３＿１」、「ＥＵ８＿７」、「ＥＵ９＿２」が読み出し対象であり、それぞれが、ＤＶＤ１５００上の領域１５９１、１５９２、１５９３及び１５９４に記憶されている。
【０３７５】
ＤＶＤ１５００に対して、ヘッド機構部１６２８は、図７１に示す位置に存在しているとする。
この場合、上記の実施の形態１において説明した手順によると、取得部１６０１は、まず、領域１５９１の存在するトラック１５０１までヘッド機構部１６２８を移動させ、領域１５９１に記録されている暗号化ユニット「ＥＵ１＿３」を読み出し、続いて、トラック１５０４へ、ヘッド機構部１６２８を移動させて領域１５９２から暗号化ユニット「ＥＵ３＿１」を読み出す。次に、ヘッド機構部１６２８をトラック１５０２へヘッド機構部１６２８を移動し、領域１５９３から暗号化ユニット「ＥＵ８＿７」を読み出し、次に、トラック１５０３にヘッド機構部１５２８を移動させ、領域１５９４から暗号化ユニット「ＥＵ９＿２」を読み出す。
【０３７６】
このように、実施の形態１において説明した手順に従うと、ヘッド機構部１６２８の移動距離が長くなり、全ての暗号化ユニットを読み出す時間が長くなる。
ここで、４個の暗号化ユニットの読み出し順序を、現在、ヘッド機構部１６２８の存在するトラックから、近いトラックに存在する順に変更する。つまり、取得部１６０１は、４個の暗号化ユニットの存在する領域１５９１、１５９２、１５９３及び１５９４の存在位置を示すセクタ番号及びトラック番号と、ヘッド機構部１６２８の存在するトラック番号とを比較し、読み出しのために、ヘッド機構部１６２８の移動する距離が最短になるように、取得した４個の領域にを示すセクタ番号及びトラック番号を並べ替え、並べ替えた順に、各領域にアクセスする。
【０３７７】
このようにすることで、読み出しに係る時間を短縮することができる。さらに、読み出す暗号化ユニットが同一または近接するのトラック上に存在する場合、現在のヘッド機構部１６２８の位置と、各暗号化ユニットの記憶されている領域を示すセクタ番号によって、読み出し順序を変更してもよい。
なお、読み出し順序の最適化の方法は、取得部１６０１の備える回転軸及びヘッド機構部の動作の特性に依存するため、ここで説明した最適化の手順は一例である。例えば、光ディスクの回転制御方式には、角速度一定方式や線速度一定方式があり、これらの特徴を考慮するようにしても良い。また、ＤＶＤなどの光ディスクに代わってハードディスクを用いた場合でも同様のことが実現出来る。
【０３７８】
実施の形態５、６においても、同様にして、読み出し速度の向上を図ることができる。また、実施の形態２〜４に係る変形例（１９）においても、同様である。
（２７）実施の形態１及び５、６において、実行装置は、ランダムにｉ個の暗号化ファイルを選択し、選択した各暗号化ファイルから１個ずつ暗号化ユニットを選択しているが、選択の手順は、この方法に限るものではなく、合計してｉ個選択すればよく、同一の暗号化ファイルから複数の暗号化ユニットを選択しても良い。
【０３７９】
（２８）また、実施の形態１及び５、６において、実行装置が選択する暗号化ユニットの個数「ｉ」は、予め、実行装置に設定されていても良いし、ＤＶＤに書き込まれていても良い。
不正コンテンツの有無の検証の精度は、選択する暗号化ユニットの数「ｉ」が大きいほど、高くなるが、これに応じて、署名情報の検証に係る処理負荷が高くなる。
【０３８０】
このように、ＤＶＤに選択すべき暗号化ユニットの数「ｉ」を記録しておき、実行装置が、ＤＶＤから取得した「ｉ」に従って、署名情報の検証を行うことで、検証の精度にＤＶＤの製作者の意思を反映する0ことができる。
また、実施の形態４において、ｋ個の暗号化部分コンテンツを選択する場合においても同様である。
【０３８１】
（２９）実施の形態１、５、６において、署名情報は、ｃ個のファイルハッシュ値を結合した結合物に署名生成アルゴリズムを施して生成されているが、ｃ個のファイルハッシュ値を結合した結合物をさらにハッシュ関数に代入して結合ハッシュ値を算出し、算出した結合ハッシュ値に署名生成アルゴリズムを施した物であっても良い。
（３０）実施の形態１、５、６において、ヘッダ情報は、各暗号化ユニットから生成されたユニットハッシュ値と、同一のファイルに基づいて生成されたｍ個のユニットハッシュ値から生成されたファイルハッシュ値の２階層構造のハッシュ値により構成され、署名情報は、ｃ個のファイルハッシュ値を用いて生成されている。
【０３８２】
これに代わって、ヘッダ情報は、３階層構造のハッシュ値を含んでいても良い。具体的には、ヘッダ情報は、ｃ個のファイルハッシュ値をｙ個のグループに分割し、グループごとに、ファイルハッシュ値を結合した結合物をハッシュ関数に代入して生成された結合ファイルハッシュ値をｙ個含んでいる。この場合、署名情報は、このｙ個の結合ファイルハッシュ値を用いて生成されたものである。
【０３８３】
このように、階層構造を深くすることで、ＤＶＤから読み出す情報をより少なくすることができる。
（３１）また、実施の形態５において、説明したように、ＤＶＤには、コンテンツの再生手順を示す再生手順ファイルが記録されている場合がある。この場合、ＤＶＤは、再生手順ファイルに対する署名情報を含んでいても良い。
【０３８４】
このようにすることで、実施の形態５において説明したように、不正な第三者が不正コンテンツの追加及び差し替えを行い、再生手順ファイルを改ざんしたとしても、再生手順ファイルに対する署名情報の検証により、改ざんが検出され、不正コンテンツが再生されることはない。
（３２）実施の形態３において、配布装置３１００の選択部３１０５が一つのコンテンツから選択する代表部分コンテンツの延べ数はｋ×ｘ個である。
【０３８５】
この際、ｃ個の部分コンテンツの全てが、１度以上代表部分コンテンツとして選択されるようにしても良い。このようにすることで、ＤＶＤに記憶されている暗号化コンテンツの一部が差し替えられた場合、不正コンテンツの検出の精度を高めることができる。
（３３）実施の形態１、５、６において、配布装置は、ユニット選出情報をＤＶＤに書き込んでいるが、これに代わって、コンテンツ鍵を用いて、ユニット選出情報を暗号化して生成した暗号化ユニット選出情報を書き込んでも良い。
【０３８６】
また、実施の形態４において、配布装置は、コンテンツ位置情報をＤＶＤに書き込んでいるが、これに代わって、コンテンツ鍵を用いて、コンテンツ位置情報を暗号化して生成された暗号化コンテンツ位置情報を書き込んでも良い。
（３４）実施の形態１〜６及び変形例において、ユニットハッシュ値、部分ハッシュ値は、それぞれ、暗号化ユニット、部分コンテンツをハッシュ関数に代入して算出されているが、各暗号化ユニット又は部分コンテンツと対応する識別子、特定情報と暗号化ユニット又は部分コンテンツとの結合物から算出するとしてもよい。
【０３８７】
（３５）実施の形態５において生成する充填コンテンツは、充填容量と同一のデータサイズであるが、ＤＶＤに残存する空容量を十分小さくできるデータサイズであれば、これに限るものではない。
（３６）実施の形態１〜６において、実行装置は、外部のモニタに画像信号及び音声信号を出力することでコンテンツを再生しているが、このようなモニタを内蔵していても良い。
【０３８８】
（３７）上記の各装置を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Large Scale Integration：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。また、構成要素ごとに、個別の集積回路上に構築されるとしてもよい。
【０３８９】
また、ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【０３９０】
（３８）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ―ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
【０３９１】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
【０３９２】
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
（３９）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０３９３】
本発明は、コンテンツを生産し、販売し、譲渡し、使用する産業において、また、前記コンテンツを再生、編集、加工する各種の電気機器を製造し、販売し、使用する産業において、経営的、継続的、反復的に利用することができる。
【図面の簡単な説明】
【０３９４】
【図１】図１は、実施の形態１の不正コンテンツ検知システム１の構成を示す構成図である。
【図２】図２は、実施の形態１における配布装置１１００の構成を示すブロック図である。
【図３】図３は、配布装置１１００に入力されるコンテンツ１１２０の構成を示す。
【図４】図４は、実行装置情報格納部１１０４の記憶している装置識別テーブル１１３０の構成を示す。
【図５】図５は、鍵ブロック生成部１１０３により生成される鍵ブロック１１５０の詳細を示す。
【図６】図６は、ユニット生成部１１０５による分割コンテンツの生成の概要を示す。
【図７】図７は、ユニット生成部１１０５により生成されるユニット選出情報１２００の構成を示す。
【図８】図８は、暗号処理部１１０６による暗号化の処理の一部を示す。
【図９】図９は、暗号処理部１１０６により生成される暗号化コンテンツ１３３０の構成を示す。
【図１０】図１０は、ヘッダ情報生成部１１０７による、ヘッダ情報１２６０の生成の概要を示す。
【図１１】図１１は、ヘッダ情報生成部１１０７による第１ハッシュテーブルの生成手順を示す。
【図１２】図１２は、ヘッダ情報生成部１１０７により生成される第２ハッシュテーブルの詳細を示す。
【図１３】図１３は、署名情報生成部１１１１による処理を示す。
【図１４】図１４は、実施の形態１におけるＤＶＤ１５００の記憶している情報を示す。
【図１５】図１５は、実施の形態１における実行装置１６００の構成を示すブロック図である。
【図１６】図１６は、署名情報検証部１６１１による署名情報の検証処理の概要を示す。
【図１７】図１７は、署名情報検証部１６１１による処理の一部を示す。
【図１８】図１８は、署名情報検証部１６１１による入替第１ハッシュテーブルの生成手順を示す。
【図１９】図１９は、署名情報検証部１６１１による入替第２ハッシュテーブルの生成手順を示す。
【図２０】図２０は、署名情報検証部１６１１による署名情報の検証を示す。
【図２１】図２１は、配布装置１１００の動作を示すフローチャートである。
【図２２】図２２は、配布装置１１００の動作を示すフローチャートである。図２１から続く。
【図２３】図２３は、実行装置１６００による署名情報の検証の手順を示す。
【図２４】図２４は、実行装置１６００の動作を示すフローチャートである。
【図２５】図２５は、実行装置１６００の動作を示すフローチャートである。図２４から続く。
【図２６】図２６は、実施の形態１の変形例における実行装置１１００ｂの構成を示すブロック図である。
【図２７】図２７は、実施の形態２における配布装置２１００の構成を示すブロック図である。
【図２８】図２８は、配布装置２１００に入力されるコンテンツ２１２０と特定情報とを示す。
【図２９】図２９は、選択部２１０５による処理の概要を示す。
【図３０】図３０は、ヘッダ情報生成部２１０７により生成される選択位置情報２１６０の構成を示す。
【図３１】図３１は、ヘッダ情報生成部２１０７により生成されるヘッダ情報２２００の構成を示す。
【図３２】図３２は、暗号処理部２１０９により生成される暗号化コンテンツの構成を示す。
【図３３】図３３は、実施の形態２におけるＤＶＤ２５００に記録されている情報を示す。
【図３４】図３４は、実施の形態２における実行装置２６００の構成を示すブロック図である。
【図３５】図３５は、配布装置２１００の動作を示すフローチャートである。
【図３６】図３６は、実行装置２６００の動作を示すフローチャートである。
【図３７】図３７は、実施の形態３における配布装置３１００の構成を示すブロック図である。
【図３８】図３８は、ヘッダ情報生成部３１０７により生成されるヘッダ選択情報３１３０の構成を示す。
【図３９】図３９は、実施の形態３におけるＤＶＤ３５００に記録されている情報を示す。
【図４０】図４０は、実施の形態３における実行装置３６００の構成を示すブロック図である。
【図４１】図４１は、実施の形態４における配布装置４１００の構成を示すブロック図である。
【図４２】図４２は、部分コンテンツ生成部４１０５により生成される分割コンテンツ及び特定情報を示す。
【図４３】図４３は、ヘッダ情報生成部４１０７により生成されるコンテンツ位置情報４１４０の構成を示す。
【図４４】図４４は、ヘッダ情報生成部４１０７により生成されるヘッダ情報４１６０の構成を示す。
【図４５】図４５は、実施の形態４におけるＤＶＤ４５００に記録されている情報を示す。
【図４６】図４６は、実施の形態４における実行装置４６００の構成を示すブロック図である。
【図４７】図４７は、選択部４６１１による選択位置情報４６２０の生成の概要を示す。
【図４８】図４８は、選択部４６１１による選択ヘッダ情報４６３０の生成の概要を示す。
【図４９】図４９は、部分復号部４６１６による復号の処理の概要を示す。
【図５０】図５０は、配布装置４１００の動作を示すフローチャートである。
【図５１】図５１は、配布装置４１００による署名情報４１７０の生成手順を示す。
【図５２】図５２は、実行装置４６００の動作を示すフローチャートである。
【図５３】図５３は、実行装置４６００の動作を示すフローチャートである。図５２から続く。
【図５４】図５４は、実行装置４６００による署名情報の検証及びヘッダ情報の検証の手順を示す。
【図５５】図５５は、実施の形態５における配布装置５１００の構成を示すブロック図である。
【図５６】図５６は、充填コンテンツ生成部５１０８により生成される分割充填コンテンツ５１２０の構成を示す。
【図５７】図５７は、充填コンテンツ生成部５１０８から出力されるユニット選出情報５１４０の構成を示す。
【図５８】図５８は、ヘッダ情報生成部５１０７によるヘッダ情報５１０９の生成の概要を示す。
【図５９】図５９は、ヘッダ情報生成部５１０７により生成される第２ハッシュテーブル５１８０の構成を示す。
【図６０】図６０は、実施の形態５におけるＤＶＤ５５００に記録されている情報を示す。
【図６１】図６１は、実施の形態５における実行装置５６００の構成を示すブロック図である。
【図６２】図６２は、配布装置５１００の動作を示すフローチャートである。
【図６３】図６３は、配布装置５１００の動作を示すフローチャートである。図６２から続く。
【図６４】図６４は、実行装置５６００の動作を示すフローチャートである。
【図６５】図６５は、想定される不正ＤＶＤ５５００ｂを示す。
【図６６】図６６は、想定される不正ＤＶＤ５５００ｃを示す。
【図６７】図６７は、実施の形態６における配布装置６１００の構成を示すブロック図である。
【図６８】図６８は、配置生成部６１０８により生成される書込用配置情報６１２０を示す。
【図６９】図６９は、実施の形態６におけるＤＶＤ６５００に記録されている情報を示す。
【図７０】図７０は、実施の形態６における実行装置６６００の構成を示すブロック図である。
【図７１】図７１は、ＤＶＤ１５００の構造と、取得部１６０１の構成を示している。
【符号の説明】
【０３９５】
１１００    配布装置
１１０１    入力部
１１０２    コンテンツ鍵生成部
１１０３    鍵ブロック生成部
１１０４    実行装置情報格納部
１１０５    ユニット生成部
１１０６    暗号処理部
１１０７    ヘッダ情報生成部
１１１２    署名鍵記憶部
１１１４    記録部
１５００    ＤＶＤ
１６００    実行装置
１６０１    取得部
１６０２    コンテンツ鍵取得部
１６０４    デバイス鍵格納部
１６０６    実行部
１６１１    署名情報検証部
１６１２    検証鍵記憶部
１６２０    モニタ
１６２８    ヘッド機構部
１６２９    回転軸
５５００ａ  ＤＶＤ
５５００ｂ  ＤＶＤ
５５００ｃ  ＤＶＤ
【図１】
2007535189.tif 000003
【図２】
2007535189.tif 000004
【図３】
2007535189.tif 000005
【図４】
2007535189.tif 000006
【図５】
2007535189.tif 000007
【図６】
2007535189.tif 000008
【図７】
2007535189.tif 000009
【図８】
2007535189.tif 000010
【図９】
2007535189.tif 000011
【図１０】
2007535189.tif 000012
【図１１】
2007535189.tif 000013
【図１２】
2007535189.tif 000014
【図１３】
2007535189.tif 000015
【図１４】
2007535189.tif 000016
【図１５】
2007535189.tif 000017
【図１６】
2007535189.tif 000018
【図１７】
2007535189.tif 000019
【図１８】
2007535189.tif 000020
【図１９】
2007535189.tif 000021
【図２０】
2007535189.tif 000022
【図２１】
2007535189.tif 000023
【図２２】
2007535189.tif 000024
【図２３】
2007535189.tif 000025
【図２４】
2007535189.tif 000026
【図２５】
2007535189.tif 000027
【図２６】
2007535189.tif 000028
【図２７】
2007535189.tif 000029
【図２８】
2007535189.tif 000030
【図２９】
2007535189.tif 000031
【図３０】
2007535189.tif 000032
【図３１】
2007535189.tif 000033
【図３２】
2007535189.tif 000034
【図３３】
2007535189.tif 000035
【図３４】
2007535189.tif 000036
【図３５】
2007535189.tif 000037
【図３６】
2007535189.tif 000038
【図３７】
2007535189.tif 000039
【図３８】
2007535189.tif 000040
【図３９】
2007535189.tif 000041
【図４０】
2007535189.tif 000042
【図４１】
2007535189.tif 000043
【図４２】
2007535189.tif 000044
【図４３】
2007535189.tif 000045
【図４４】
2007535189.tif 000046
【図４５】
2007535189.tif 000047
【図４６】
2007535189.tif 000048
【図４７】
2007535189.tif 000049
【図４８】
2007535189.tif 000050
【図４９】
2007535189.tif 000051
【図５０】
2007535189.tif 000052
【図５１】
2007535189.tif 000053
【図５２】
2007535189.tif 000054
【図５３】
2007535189.tif 000055
【図５４】
2007535189.tif 000056
【図５５】
2007535189.tif 000057
【図５６】
2007535189.tif 000058
【図５７】
2007535189.tif 000059
【図５８】
2007535189.tif 000060
【図５９】
2007535189.tif 000061
【図６０】
2007535189.tif 000062
【図６１】
2007535189.tif 000063
【図６２】
2007535189.tif 000064
【図６３】
2007535189.tif 000065
【図６４】
2007535189.tif 000066
【図６５】
2007535189.tif 000067
【図６６】
2007535189.tif 000068
【図６７】
2007535189.tif 000069
【図６８】
2007535189.tif 000070
【図６９】
2007535189.tif 000071
【図７０】
2007535189.tif 000072
【図７１】
2007535189.tif 000073
【手続補正書】
【提出日】平成19年5月8日(2007.5.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
デジタル著作物と、前記デジタル著作物を構成する複数のデータブロックから生成された複数の記録要約値と、記録要約値群に基づいて生成された記録署名データとを記録している記録媒体から、前記デジタル著作物を読み出して利用するデータ処理装置であって、
前記記録媒体に記録されている前記デジタル著作物を利用する利用手段と、
前記データブロックからランダムに所定数個の選択データブロックを選択する選択手段と、
各選択データブロックから、演算要約値を算出する演算手段と、
前記記録媒体に記録されている記録要約値群から、前記選択データブロックを除く他のデータブロックに対応する残存要約値を読み出す読出手段と、
記録媒体に記録されている前記記録署名データ、前記演算要約値及び前記残存要約値を用いて、前記記録媒体に記録されている前記デジタル著作物の正当性を検証する署名検証手段と、
前記検証の結果、不正であると証明される場合に、前記デジタル著作物の利用を停止する利用制御手段と
を含むことを特徴とするデータ処理装置。
【請求項２】
前記記録媒体に記録されている記録要約値群は、各データブロックに対して生成された一次記録要約値と、複数の一次記録要約値から生成された複数の二次記録要約値とからなり、前記記録署名データは、前記二次記録要約値に対してデジタル署名が施されて生成されたものであり、
前記読出手段は、前記記録媒体に記録されている一次記録要約値群から、前記選択データブロックを除く他のデータブロックに対応する前記残存要約値を読み出し、
前記署名検証手段は、前記演算要約値及び前記残存要約値に基づいて、１個以上の二次演算要約値を算出し、前記記録署名データ、前記二次記録要約値及び前記二次演算要約値を用いて、デジタル署名検証を施して、前記デジタル著作物の正当性を検証する
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記記録媒体に記録されている前記デジタル著作物は、複数個のファイルから構成され、各ファイルは、二次記録要約値に対応し、複数のデータブロックから構成され、
各二次記録要約値は、対応するファイルを構成する複数のデータブロックのそれぞれに対する一次記録要約値を用いて生成され、
前記署名検証手段は、
前記記録媒体から前記記録署名データを読み出す読出部と、
選択された選択データブロックを含む各ファイルについて、当該ファイルに含まれるデータブロックのうち当該選択データブロックを除く残存データブロックに対応する一次記録要約値と、当該選択データブロックに対応する演算要約値とを用いて、前記二次演算要約値を算出する算出部と、
選択された選択データブロックを含まない各ファイルについて、当該ファイルに対応する二次記録要約値を読み出す読出部と、
算出された二次演算要約値と、読み出した二次記録要約値とを用いて、デジタル署名を施して、演算署名データを生成する署名部と、
演算署名データと記録署名データとを比較する比較部とを含み、
前記署名検証手段は、一致する場合に、前記デジタル著作物が正当であるとし、一致しない場合に、前記デジタル著作物が不正であるとする
ことを特徴とする請求項２のデータ処理装置。
【請求項４】
各要約値は、ハッシュ関数により生成されたハッシュ値であり、
前記演算手段は、各選択データブロックにハッシュ関数を施して、ハッシュ値を算出し、算出したハッシュ値を前記演算要約値とし、
前記算出部は、一次記録要約値と演算要約値とに、ハッシュ関数を施して、ハッシュ値を算出し、算出したハッシュ値を前記二次演算要約値とする
ことを特徴とする請求項３のデータ処理装置。
【請求項５】
前記デジタル著作物は、デジタルコンテンツであって、
前記利用手段は、前記デジタルコンテンツを、再生することにより前記デジタルコンテンツを利用する
ことを特徴とする請求項３に記載のデータ処理装置。
【請求項６】
前記デジタル著作物は、コンピュータプログラムであって、前記利用手段は、前記コンピュータプログラムを構成する命令コードを解読し、解読した命令コードに従って動作することにより、前記コンピュータプログラムを利用する
ことを特徴とする請求項３に記載のデータ処理装置。
【請求項７】
前記利用制御手段に代えて、前記デジタル著作物が不正であると証明される場合に、その旨を表示する警告表示手段を備える
ことを特徴とする請求項３に記載のデータ処理装置。
【請求項８】
デジタル著作物と、外部機器によるアクセスが許可される当該記録媒体上の許可領域を示す領域情報と、前記デジタル著作物及び前記領域情報とに基づいて生成された署名データとを記録している記録媒体から前記デジタル著作物を読み出して利用する請求項１のデータ処理装置であって、
前記領域情報に基づいて、前記許可領域外へのアクセスを禁止するアクセス禁止手段、
前記デジタル著作物を利用する利用手段、
前記デジタル著作物と前記領域情報と前記署名データとを基に、前記デジタル著作物及び前記領域情報の正当性を検証する検証手段、
前記検証の結果、前記デジタル著作物又は前記領域情報が不正であると証明される場合に、前記デジタル著作物の利用を停止する利用制御手段
とを備えることを特徴とする請求項１に記載のデータ処理装置。
【請求項９】
前記選択手段、前記演算手段、前記読出手段及び前記署名検証手段は、１個の大規模集積回路から構成されている
ことを特徴とする請求項１のデータ処理装置。
【請求項１０】
記録媒体であって、
デジタル著作物、
前記デジタル著作物を構成する複数のデータブロックから生成された複数の要約値と、
要約値群に基づいて生成された署名データと
を記憶していることを特徴とする記録媒体。
【請求項１１】
デジタル著作物と、デジタル著作物を構成する複数のデータブロックから生成された複数の記録要約値と、記録要約値群に基づいて生成された記録署名データとを記録している記録媒体から、前記デジタル著作物を読み出して利用するデータ処理方法であって、
前記記録媒体に記録されている前記デジタル著作物を利用する利用ステップ、
前記データブロックからランダムに所定数個の選択データブロックを選択する選択ステップ、
各選択データブロックから、演算要約値を算出する演算ステップ、
前記記録媒体に記録されている記録要約値群から、前記選択データブロックを除く他のデータブロックに対応する残存要約値を読み出す読出ステップ、
記録媒体に記録されている前記記録署名データ、前記演算要約値及び前記残存要約値を用いて、前記記録媒体に記録されている前記デジタル著作物の正当性を検証する署名検証ステップ、
前記検証の結果、不正であると証明される場合に、前記デジタル著作物の利用を停止する利用制御ステップ
を含むことを特徴とするデータ処理方法。
【請求項１２】
デジタル著作物と、デジタル著作物を構成する複数のデータブロックから生成された複数の記録要約値と、記録要約値群に基づいて生成された記録署名データとを記録している記録媒体から、前記デジタル著作物を読み出して利用するデータ処理プログラムであって、
前記記録媒体に記録されている前記デジタル著作物を利用する利用ステップと、
前記データブロックからランダムに所定数個の選択データブロックを選択する選択ステップと、
各選択データブロックから、演算要約値を算出する演算ステップと、
前記記録媒体に記録されている記録要約値群から、前記選択データブロックを除く他のデータブロックに対応する残存要約値を読み出す読出ステップと、
記録媒体に記録されている前記記録署名データ、前記演算要約値及び前記残存要約値を用いて、前記記録媒体に記録されている前記デジタル著作物の正当性を検証する署名検証ステップと、
前記検証の結果、不正であると証明される場合に、前記デジタル著作物の利用を停止する利用制御ステップと
を含むことを特徴とするデータ処理プログラム。
【請求項１３】
前記データ処理プログラムは、
コンピュータ読み取り可能な記録媒体に記録されている
ことを特徴とする請求項１２に記載の制御プログラム。
【請求項１４】
前記データ処理プログラムは、
電気通信回線を通じて送受信される
ことを特徴とする請求項１２に記載の制御プログラム。
【手続補正書】
【提出日】平成19年9月5日(2007.9.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
デジタル著作物と、前記デジタル著作物を構成する複数のデータブロックから生成された複数の記録要約値と、記録要約値群に基づいて生成された記録署名データとを記録している記録媒体から、前記デジタル著作物を読み出して利用するデータ処理装置であって、
前記記録媒体に記録されている前記デジタル著作物を利用する利用手段と、
前記データブロックからランダムに所定数個の選択データブロックを選択する選択手段と、
各選択データブロックから、演算要約値を算出する演算手段と、
前記記録媒体に記録されている記録要約値群から、少なくとも、前記選択データブロックを除く他のデータブロックに対応する残存要約値を読み出す読出手段と、
記録媒体に記録されている前記記録署名データ、前記演算要約値及び前記残存要約値を用いて、前記記録媒体に記録されている前記デジタル著作物の正当性を検証する署名検証手段と、
前記検証の結果、不正であると判断される場合に、前記デジタル著作物の利用を停止する利用制御手段と
を含むことを特徴とするデータ処理装置。
【請求項２】
前記記録媒体に記録されている記録要約値群は、各データブロックに対して生成された一次記録要約値と、複数の一次記録要約値から生成された複数の二次記録要約値とからなり、前記記録署名データは、前記二次記録要約値に対してデジタル署名が施されて生成されたものであり、
前記読出手段は、前記記録媒体に記録されている一次記録要約値群から、前記選択データブロックを除く他のデータブロックに対応する前記残存要約値を読み出し、
前記署名検証手段は、前記演算要約値及び前記残存要約値に基づいて、１個以上の二次演算要約値を算出し、前記記録署名データ、前記二次記録要約値及び前記二次演算要約値を用いて、デジタル署名検証を施して、前記デジタル著作物の正当性を検証する
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記記録媒体に記録されている前記デジタル著作物は、複数個のファイルから構成され、各ファイルは、二次記録要約値に対応し、複数のデータブロックから構成され、
各二次記録要約値は、対応するファイルを構成する複数のデータブロックのそれぞれに対する一次記録要約値を用いて生成され、
前記署名検証手段は、
前記記録媒体から前記記録署名データを読み出す読出部と、
選択された選択データブロックを含む各ファイルについて、当該ファイルに含まれるデータブロックのうち当該選択データブロックを除く残存データブロックに対応する一次記録要約値と、当該選択データブロックに対応する演算要約値とを用いて、前記二次演算要約値を算出する算出部と、
選択された選択データブロックを含まない各ファイルについて、当該ファイルに対応する二次記録要約値を読み出す読出部と、
算出された二次演算要約値と、読み出した二次記録要約値とを用いて、デジタル署名を施して、演算署名データを生成する署名部と、
演算署名データと記録署名データとを比較する比較部とを含み、
前記署名検証手段は、一致する場合に、前記デジタル著作物が正当であるとし、一致しない場合に、前記デジタル著作物が不正であるとする
ことを特徴とする請求項２のデータ処理装置。
【請求項４】
各要約値は、ハッシュ関数により生成されたハッシュ値であり、
前記演算手段は、各選択データブロックにハッシュ関数を施して、ハッシュ値を算出し、算出したハッシュ値を前記演算要約値とし、
前記算出部は、一次記録要約値と演算要約値とに、ハッシュ関数を施して、ハッシュ値を算出し、算出したハッシュ値を前記二次演算要約値とする
ことを特徴とする請求項３のデータ処理装置。
【請求項５】
前記デジタル著作物は、デジタルコンテンツであって、
前記利用手段は、前記デジタルコンテンツを、再生することにより前記デジタルコンテンツを利用する
ことを特徴とする請求項３に記載のデータ処理装置。
【請求項６】
前記デジタル著作物は、コンピュータプログラムであって、前記利用手段は、前記コンピュータプログラムを構成する命令コードを解読し、解読した命令コードに従って動作することにより、前記コンピュータプログラムを利用する
ことを特徴とする請求項３に記載のデータ処理装置。
【請求項７】
前記利用制御手段に代えて、前記デジタル著作物が不正であると判断される場合に、その旨を表示する警告表示手段を備える
ことを特徴とする請求項３に記載のデータ処理装置。
【請求項８】
デジタル著作物と、外部機器によるアクセスが許可される当該記録媒体上の許可領域を示す領域情報と、前記デジタル著作物及び前記領域情報とに基づいて生成された署名データとを記録している記録媒体から前記デジタル著作物を読み出して利用する請求項１のデータ処理装置であって、
前記領域情報に基づいて、前記許可領域外へのアクセスを禁止するアクセス禁止手段、
前記デジタル著作物を利用する利用手段、
前記デジタル著作物と前記領域情報と前記署名データとを基に、前記デジタル著作物及び前記領域情報の正当性を検証する検証手段、
前記検証の結果、前記デジタル著作物又は前記領域情報が不正であると判断される場合に、前記デジタル著作物の利用を停止する利用制御手段
とを備えることを特徴とする請求項１に記載のデータ処理装置。
【請求項９】
前記選択手段、前記演算手段、前記読出手段及び前記署名検証手段は、１個の大規模集積回路から構成されている
ことを特徴とする請求項１のデータ処理装置。
【請求項１０】
請求項１のデータ処理装置であって、
前記読出手段は、さらに、前記記録媒体から前記選択データブロックに対応する前記記録要約値を読み出し、
前記データ処理装置は、さらに、
前記記録媒体に記録されている前記記録要約値と前記演算要約値とが一致するかどうかを検証する要約値検証手段と、
前記要約値検証手段による検証の結果、不正であると判断される場合に、前記デジタル著作物の利用を停止する第２利用制御手段とを
備えることを特徴とする請求項１のデータ処理装置。
【請求項１１】
記録媒体であって、
デジタル著作物と、
前記デジタル著作物を構成する複数のデータブロックから生成された複数の記録要約値と、
前記記録要約値群に基づいて生成された記録署名データと
を記憶していることを特徴とする記録媒体。
【請求項１２】
前記記録媒体は、請求項１に記載のデータ処理装置と共に用いられ、
前記データ処理装置に対して、前記著作物データと前記記録要約値と前記記録署名データとを供給する
ことを特徴とする請求項１１の記録媒体。
【請求項１３】
デジタル著作物と、デジタル著作物を構成する複数のデータブロックから生成された複数の記録要約値と、記録要約値群に基づいて生成された記録署名データとを記録している記録媒体から、前記デジタル著作物を読み出して利用するデータ処理方法であって、
前記記録媒体に記録されている前記デジタル著作物を利用する利用ステップ、
前記データブロックからランダムに所定数個の選択データブロックを選択する選択ステップ、
各選択データブロックから、演算要約値を算出する演算ステップ、
前記記録媒体に記録されている記録要約値群から、少なくとも、前記選択データブロックを除く他のデータブロックに対応する残存要約値を読み出す読出ステップ、
記録媒体に記録されている前記記録署名データ、前記演算要約値及び前記残存要約値を用いて、前記記録媒体に記録されている前記デジタル著作物の正当性を検証する署名検証ステップ、
前記検証の結果、不正であると判断される場合に、前記デジタル著作物の利用を停止する利用制御ステップ
を含むことを特徴とするデータ処理方法。
【請求項１４】
デジタル著作物と、デジタル著作物を構成する複数のデータブロックから生成された複数の記録要約値と、記録要約値群に基づいて生成された記録署名データとを記録している記録媒体から、前記デジタル著作物を読み出して利用するデータ処理プログラムであって、
前記記録媒体に記録されている前記デジタル著作物を利用する利用ステップと、
前記データブロックからランダムに所定数個の選択データブロックを選択する選択ステップと、
各選択データブロックから、演算要約値を算出する演算ステップと、
前記記録媒体に記録されている記録要約値群から、少なくとも、前記選択データブロックを除く他のデータブロックに対応する残存要約値を読み出す読出ステップと、
記録媒体に記録されている前記記録署名データ、前記演算要約値及び前記残存要約値を用いて、前記記録媒体に記録されている前記デジタル著作物の正当性を検証する署名検証ステップと、
前記検証の結果、不正であると判断される場合に、前記デジタル著作物の利用を停止する利用制御ステップと
を含むことを特徴とするデータ処理プログラム。
【請求項１５】
前記データ処理プログラムは、
コンピュータ読み取り可能な記録媒体に記録されている
ことを特徴とする請求項１４に記載の制御プログラム。
【請求項１６】
前記データ処理プログラムは、
電気通信回線を通じて送受信される
ことを特徴とする請求項１４に記載の制御プログラム。
【国際調査報告】
2007535189.tif 000074
2007535189.tif 000075
2007535189.tif 000076