以下、図面を参照しながら本発明の情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムの詳細について説明する。なお、説明は、以下の記載項目に従って行う。
1.情報記録媒体の格納データ構成
2.情報記録媒体の製造、データ格納処理の詳細
3.特定領域暗号処理の処理対象データ
4.情報処理装置におけるコンテンツ再生処理
5.ホストにおけるコンテンツ復号処理の詳細
6.コピー・再生制御情報(CCI)の詳細構成
7.情報処理装置の構成例
[1.情報記録媒体の格納データ構成]
まず、情報記録媒体の格納データ構成について説明する。図1に、本発明の処理の適用可能なコンテンツの格納された情報記録媒体の一例を示す。ここでは、コンテンツ格納済みディスクとしてのROMディスクの情報格納例を示す。
このROMディスクは、例えば、Blu−rayディスク、DVDなどの情報記録媒体であり、正当なコンテンツ著作権、あるいは頒布権を持ついわゆるコンテンツ権利者の許可の下にディスク製造工場において製造された正当なコンテンツを格納した情報記録媒体である。なお、以下の実施例では、情報記録媒体の例としてディスク型の媒体を例として説明するが、本発明は様々な態様の情報記録媒体を用いた構成において適用可能である。
図1に示すように、情報記録媒体100は、コンテンツ等のデータを格納するデータ格納領域101と、ディスクおよび格納コンテンツに対応する付帯情報、コンテンツの復号処理に適用する鍵情報などを格納するリードイン領域102を持つ。
データ格納領域101には、暗号化コンテンツ111と、暗号化コンテンツの復号処理に適用する鍵の生成に必要となる情報としての記録シード(REC SEED)112と、コンテンツのコピー・再生制御情報としてのCCI(Copy Control Information)113、およびコンテンツのハッシュ値としてのコンテンツハッシュ114が格納される。なお、記録シード(REC SEED)112、CCI(Copy Control Information)113、およびコンテンツハッシュ114は、コンテンツの暗号化、復号に適用する暗号鍵(ユニット鍵)の生成情報として利用される。詳細構成については、後述する。
リードイン領域102には、暗号化コンテンツ111の復号処理に適用する鍵の生成に必要となる暗号鍵情報120が格納される。暗号鍵情報120には、ブロードキャストエンクリプション方式の一態様として知られる木構造の鍵配信方式に基づいて生成される暗号鍵ブロックとしてのEKB(Enabling Key Block)121が含まれる。さらに、情報記録媒体100は、物理インデックス(Physical Index)131が記録される。以下、これらの各種情報の概要について説明する。
(1)暗号化コンテンツ111
情報記録媒体100には、様々なコンテンツが格納される。例えば高精細動画像データであるHD(High Definition)ムービーコンテンツなどの動画コンテンツのAV(Audio Visual)ストリームや特定の規格で規定された形式のゲームプログラム、画像ファイル、音声データ、テキストデータなどからなるメインコンテンツである。これらのコンテンツは、特定のAVフォーマット規格データであり、特定のAVデータフォーマットに従って格納される。具体的には、例えばBlu−rayディスクROM規格データとして、Blu−rayディスクROM規格フォーマットに従って格納される。
さらに、例えばサービスデータとしてのゲームプログラムや、画像ファイル、音声データ、テキストデータなどがサブコンテンツとして格納される場合もある。サブコンテンツは、特定のAVデータフォーマットに従わないデータフォーマットを持つデータである。すなわち、Blu−rayディスクROM規格外データとして、Blu−rayディスクROM規格フォーマットに従わない任意のフォーマットで格納可能である。
メインコンテンツ、サブコンテンツとともに、コンテンツの種類としては、音楽データ、動画、静止画等の画像データ、ゲームプログラム、WEBコンテンツなど、様々なコンテンツが含まれ、これらのコンテンツには、情報記録媒体100からのデータのみによって利用可能なコンテンツ情報と、情報記録媒体100からのデータと、ネットワーク接続されたサーバから提供されるデータとを併せて利用可能となるコンテンツ情報など、様々な態様の情報が含まれる。
(2)記録シード112
各コンテンツまたは複数コンテンツの集合は、コンテンツの利用管理のため、各々、個別の暗号鍵(ユニット鍵)を適用した暗号化がなされて情報記録媒体100に格納される。すなわち、コンテンツを構成するAV(Audio Visual)ストリーム、音楽データ、動画、静止画等の画像データ、ゲームプログラム、WEBコンテンツなどは、コンテンツ利用の管理単位としてのユニットに区分され、区分されたユニット毎に異なる記録シード:Vu112が割り当てられている。
コンテンツ利用に際しては、記録シード:Vu112、暗号鍵情報120を適用した所定の暗号鍵生成シーケンスに従って、各ユニット対応の暗号鍵(ユニット鍵)を割り当てる。1つのユニット鍵を割り当てる単位をコンテンツ管理ユニット(CPSユニット)と呼ぶ。すなわち、暗号化コンテンツ111は、CPSユニット単位に区分され、各CPSユニットに対応するユニット鍵で暗号化されて情報記録媒体100に格納されている。
(3)コピー・再生制御情報(CCI)113
コピー・再生制御情報(CCI)113は、情報記録媒体100に格納された暗号化コンテンツ111に対応する利用制御のためのコピー制限情報や、再生制限情報である。このコピー・再生制御情報(CCI)113は、CPSユニット個別の情報として設定される場合や、複数のCPSユニットに対応して設定される場合など、様々な設定が可能である。この情報の詳細については後段で説明する。
(4)コンテンツハッシュ114
コンテンツハッシュ114は、情報記録媒体100に格納されたコンテンツあるいは暗号化コンテンツの構成データに基づくハッシュ値であり、コンテンツの暗号処理、復号処理に適用する暗号鍵の生成情報として利用されるデータである。コンテンツハッシュ114の生成、利用態様については後段で説明する。
(5)物理インデックス131
物理インデックス131には、情報記録媒体のカテゴリ情報、例えばディスクの種別などのディスク付帯情報や、データ領域101に格納されたコンテンツに対応するコンテンツの付帯情報などが記録される。さらに、記録シード112と同様、情報記録媒体のデータ格納領域101に格納された暗号化コンテンツの復号処理に適用する鍵を生成するための鍵情報(鍵生成情報)が記録される。なお、物理インデックス113は、リードイン領域102に記録する構成としてもよい。
(6)暗号鍵情報120
暗号鍵情報120は、前述の記録シード112と同様、情報記録媒体のデータ格納領域101に格納された暗号化コンテンツの復号処理に適用する鍵を生成するための鍵情報(鍵生成情報)を取得するための暗号鍵ブロック、すなわち、ブロードキャストエンクリプション方式の一態様として知られる木構造の鍵配信方式に基づいて生成される暗号鍵ブロックとしてのEKB(Enabling Key Block)121を含む。
EKB121は有効なライセンスを持つユーザの情報処理装置に格納されたデバイスキーに基づく処理(復号)によってのみ、コンテンツの復号に必要なキーであるメディアキー(Km)を取得することを可能とした鍵情報ブロックである。これはいわゆる階層型木構造に従った情報配信方式によって、ユーザデバイス(情報処理装置)が有効なライセンスを持つ場合にのみ、鍵取得を可能としたものであり、無効化(リボーク処理)されたユーザデバイスの鍵(メディアキー)取得を阻止可能としたものである。管理センタはEKBに格納する鍵情報の変更により、特定のユーザデバイスに格納されたデバイスキーでは復号できない、すなわちコンテンツ復号に必要なメディアキーを取得できない構成を持つEKBを生成することができる。従って、任意タイミングで不正デバイスを排除(リボーク)して、有効なライセンスを持つデバイスに対してのみ復号可能な暗号化コンテンツを提供することが可能となる。
[2.情報記録媒体の製造、データ格納処理の詳細]
上述したように、情報記録媒体100には、暗号化コンテンツ111とともに、暗号化コンテンツ111の復号、再生に必要な様々な鍵情報、すなわち、ユニット鍵の生成に必要となる鍵生成情報が含まれる。図2を参照して、情報記録媒体の製造ルートについて説明する。
図2に示すように、情報記録媒体に格納するコンテンツは、コンテンツ編集エンティテイ(AS:Authoring Studio)330において編集され、その後、情報記録媒体製造エンティテイ(DM:Disc Manufacturer)350において、例えば、CD、DVD、Blu−rayディスク等が大量に複製(レプリカ)されて、情報記録媒体100が製造され、ユーザに提供される。情報記録媒体100はユーザのデバイス(情報処理装置)400において再生される。
このディスク製造、販売、使用処理全体についての管理を実行するのが管理センタ(TC:Trusted Center)310である。管理センタ(TC:Trusted Center)310は、情報記録媒体製造エンティテイ(DM:Disc Manufacturer)350に対して様々な管理情報、例えばメディア(情報記録媒体)に対応して設定されたメディアキーKmや、メディアキーKmを暗号化データとして格納した暗号化キーブロックとしてのEKBを提供し、情報記録媒体製造エンティテイ(DM:Disc Manufacturer)350は、管理センタ(TC:Trusted Center)310から受領した管理情報に基づいて、コンテンツ編集エンティテイ(AS:Authoring Studio)330から受領したコンテンツの編集、暗号化、鍵情報の、生成、格納処理などを行う。また、管理センタ(TC:Trusted Center)310は、ユーザの情報処理装置400に格納するデバイスキーの管理、提供も行う。
管理センタ310、コンテンツ編集エンティテイ330、および情報記録媒体製造エンティテイ350の実行する2つの処理例について、図3、図4を参照して説明する。
図3は、管理センタ310、コンテンツ編集エンティテイ330、および情報記録媒体製造エンティテイ350の実行する1つの処理例を示した図である。
編集前コンテンツ303はコンテンツ編集エンティテイ330へ持ち込まれ、エンコーダによるMPEGデータ等へのエンコード処理(ステップS12)、オーサリングシステムによる編集処理(ステップS13)がなされた後、編集済コンテンツ331となる。
このオーサリングシステムによる編集処理(ステップS13)の際、コンテンツに対応するコピー制限情報や、再生制限情報であるCCI情報(コピー・再生制御情報)332、およびコンテンツ暗号化に使用する記録シードVu333も生成される。記録シード333は、前述したように、CPSユニットごとに設定することが可能であり、編集済コンテンツ331が複数のコンテンツ管理単位(CPSユニット)を持つ場合、記録シードVu333もCPSユニットの数だけ生成される。なお、記録シードVu333の値は例えば128ビットの長さを持つ乱数である。CCI情報332については、CPSユニット個別の情報として設定される場合や、複数のCPSユニットに対応して設定される場合など、様々な設定が可能である。なお、図に示す編集済コンテンツ331にはCCI情報、記録シードVuが含まれ、編集済コンテンツ331は情報記録媒体製造エンティテイ350へ送られる。
情報記録媒体製造エンティテイ350はコンテンツ暗号化に必要な情報(管理情報)を管理センタ310から取得する。
管理センタ310ではメディアキーKm311を生成し、さらに、メディアキーKm311を暗号化データとして暗号化キーブロックとしてのEKBに格納するEKB生成処理(ステップS11)を実行し、EKB312を生成する。
EKB312は、前述したように、正当なコンテンツ利用権としてのライセンスを保持する再生装置に格納されたデバイスキーを適用した復号処理によってのみ復号することを可能とした暗号化データを格納しており、正当なコンテンツ利用権としてのライセンスを保持する再生装置のみがメディアキーKmを取得できる。
管理センタ310は、メディアキーKmを格納したEKB312と、メディアキーKm311を含む管理情報を情報記録媒体製造エンティテイ350へ送る。
これらの情報を受け取った情報記録媒体製造エンティテイ350は以下の手順でコンテンツの暗号化を行う。
まず、ステップS14において、CPSユニットに対応するユニット鍵の生成元となる鍵であるユニット鍵生成キーKe(Embedded Key)を生成する。ユニット鍵生成キーKe(Embedded Key)は、管理センタ310から取得したメディアキーKmと情報記録媒体製造エンティテイ350内でセキュアに生成される物理インデックスVe351を用いた暗号処理(例えばAES暗号処理)によって生成される。
さらに、ステップS15において、コンテンツ編集エンティテイ330から取得した編集済みコンテンツに対するハッシュ値(コンテンツハッシュ)を生成する。生成されるハッシュ値は、CPSユニットの構成データ、あるいはその一部データに基づいて生成されるハッシュ値である。ハッシュ生成処理は、例えばAESベースのハッシュ関数を適用したハッシュ値生成処理がなされる。
ステップS16において、コンテンツハッシュと、ユニット鍵生成キーKe(Embedded Key)と、コンテンツ編集エンティテイ330から取得したCCI情報と記録シードVu、を利用して、コンテンツの暗号化に使用するユニット鍵Kuを生成する。このユニット鍵Ku生成処理も例えばAES暗号処理によって実行される。
前述したように、情報記録媒体に格納されるコンテンツは、コンテンツ管理ユニット(CPSユニット)に区分され、CPSユニット毎に記録シードVuが設定される。例えば、情報記録媒体に格納されるコンテンツに対応してn個のCPSユニット1〜nが設定されている場合、記録シードもVu1〜Vun生成されて、コンテンツ編集エンティテイ330から情報記録媒体製造エンティテイ350に提供される。
情報記録媒体製造エンティテイ350は、ユニット鍵生成キーKe(Embedded Key)と、コンテンツ編集エンティテイ330から取得した編集済みコンテンツに基づいて生成したコンテンツハッシュと、CCI情報、n個の記録シードVu1〜Vunを個別に、順次適用してn個のユニット鍵Ku1〜Kunを生成する。記録シードVu1〜Vunはコンテンツ(CPSユニット)に応じた異なる値を有しており、生成されるユニット鍵Ku1〜Kunもそれぞれ異なる鍵データとなる。
次に、情報記録媒体製造エンティテイ350は、ステップS17において、コンテンツ編集エンティテイ330から情報記録媒体製造エンティテイ350に提供される編集済みコンテンツの暗号化を実行する。すなわちCPSユニット毎に、対応するユニット鍵Ku1〜Kunを適用した暗号化を実行し、暗号化コンテンツを生成する。なお、ユニット鍵を直接適用してコンテンツの暗号化を実行してもよいが、さらに、コンテンツをブロック単位に分割して、ブロック単位のブロックキーを生成してコンテンツの暗号化を行って記録する構成が好ましい。このブロックキーを適用した暗号化構成例については、後述する。
さらに、情報記録媒体製造エンティテイ350は、ステップS18において、情報記録媒体製造エンティテイ350内でセキュアに生成される物理インデックスVe351の少なくとも一部の構成データを適用した鍵生成処理、例えばAES暗号に従った鍵生成処理を実行し、特定領域暗号鍵Kpを生成する。さらに、ステップS19において、特定領域暗号鍵Kpを適用して、ステップS17において生成した暗号化コンテンツ、ステップS15において生成したコンテンンツハッシュから選択された一部のデータ、すなわち特定領域データに対する暗号処理を実行する。特定領域暗号処理の処理対象となるデータ部分については、後段で説明する。
最後に、情報記録媒体製造エンティテイ350は、ステップS20において、物理インデックス情報351、およびリードイン領域に記録する情報、EKBなどの各データ各々を予め定められた記録フォーマットとするフォーマット処理を実行し、最終的に図1で記載した情報の全てを情報記録媒体100上に記録する。記録データには、ユニット鍵を適用して暗号化された暗号化コンテンツ、およびコンテンツハッシュが含まれる。なお、暗号化コンテンツには、CCI情報、記録シードが含まれ、その一部は非暗号化データとされる場合もある。具体的なコンテンツ構成については後述する。また、情報記録媒体製造エンティテイ350の実行する各種の鍵生成処理の具体例としてのAES暗号を適用した処理例については、後段で詳細に説明する。
次に、図4を参照して、コンテンツハッシュをユニット鍵Ku1〜Kunの生成に適用しない処理例について説明する。管理センタ310、コンテンツ編集エンティテイ330の処理は、図3を参照して説明した処理と同一であるので説明を省略する。情報記録媒体製造エンティテイ350は、以下の手順でコンテンツの暗号化を行う。
まず、ステップS21において、CPSユニットに対応するユニット鍵の生成元となる鍵であるユニット鍵生成キーKe(Embedded Key)を生成する。ユニット鍵生成キーKe(Embedded Key)は、管理センタ310から取得したメディアキーKmと情報記録媒体製造エンティテイ350内でセキュアに生成される物理インデックスVe351を用いた暗号処理(例えばAES暗号処理)によって生成される。
さらに、ステップS22において、ユニット鍵生成キーKe(Embedded Key)と、コンテンツ編集エンティテイ330から取得したCCI情報と記録シードVuを利用して、コンテンツの暗号化に使用するユニット鍵Kuを生成する。このユニット鍵Ku生成処理も例えばAES暗号処理によって実行される。この例では、コンテンツハッシュはユニット鍵生成情報として適用されない。
情報記録媒体製造エンティテイ350は、ユニット鍵生成キーKe(Embedded Key)と、コンテンツ編集エンティテイ330から取得したCCI情報、n個の記録シードVu1〜Vunを個別に、順次適用してn個のユニット鍵Ku1〜Kunを生成する。記録シードVu1〜Vunはコンテンツ(CPSユニット)に応じた異なる値を有しており、生成されるユニット鍵Ku1〜Kunもそれぞれ異なる鍵データとなる。
ステップS23において、コンテンツ編集エンティテイ330から情報記録媒体製造エンティテイ350に提供される編集済みコンテンツの暗号化を実行する。すなわちCPSユニット毎に、対応するユニット鍵Ku1〜Kunを適用した暗号化を実行し、暗号化コンテンツを生成する。
さらに、ステップS24において、暗号化済みのコンテンツに基づいてハッシュ値(コンテンツハッシュ)を生成する。生成されるコンテンツハッシュは、図3を参照して説明した先の例と異なり、暗号化されたコンテンツに基づいて生成される。ハッシュ生成処理は、例えばAESベースのハッシュ関数が適用される。
次に、情報記録媒体製造エンティテイ350は、ステップS25において、情報記録媒体製造エンティテイ350内でセキュアに生成される物理インデックスVe351の少なくとも一部の構成データを適用した鍵生成処理、例えばAES暗号に従った鍵生成処理を実行し、特定領域暗号鍵Kpを生成する。さらに、ステップS26において、特定領域暗号鍵Kpを適用して、ステップS23において生成した暗号化コンテンツ、ステップS24において生成したコンテンンツハッシュから選択された一部のデータ、すなわち特定領域データに対する暗号処理を実行する。特定領域暗号処理の処理対象となるデータ部分については、後段で説明する。
最後に、情報記録媒体製造エンティテイ350は、ステップS27において、物理インデックス情報351、およびリードイン領域に記録する情報、EKBなどの各データ各々を予め定められた記録フォーマットとするフォーマット処理を実行し、最終的に図1で記載した情報の全てを情報記録媒体100上に記録する。記録データには、ユニット鍵を適用して暗号化された暗号化コンテンツ、およびコンテンツハッシュが含まれる。なお、暗号化コンテンツには、CCI情報、記録シードが含まれ、その一部は非暗号化データとされる場合もある。
図2〜図4を参照して説明した処理例は、管理センタからの管理情報、すなわち、メディアキーKmやEKBを情報記録媒体製造エンティテイに提供する処理例であった。次に、図5〜図7を参照して、管理センタからの管理情報、すなわち、メディアキーKmやEKBをコンテンツ編集エンティテイに提供する処理例について説明する。
図5は、管理センタからの管理情報、すなわち、メディアキーKmやEKBをコンテンツ編集エンティテイに提供する処理例における情報の流れを示している。情報記録媒体に格納するコンテンツは、コンテンツ編集エンティテイ(AS:Authoring Studio)330において編集され、その後、情報記録媒体製造エンティテイ(DM:Disc Manufacturer)350において、例えば、CD、DVD、Blu−rayディスク等が大量に複製(レプリカ)されて、情報記録媒体100が製造され、ユーザに提供される。情報記録媒体100はユーザのデバイス(情報処理装置)400において再生される。
このディスク製造、販売、使用処理全体についての管理を実行するのが管理センタ(TC:Trusted Center)310である。本実施例において、管理センタ(TC:Trusted Center)310は、コンテンツ編集エンティテイ(AS:Authoring Studio)330に対して様々な管理情報、例えばメディア(情報記録媒体)に対応して設定されたメディアキーKmや、メディアキーKmを暗号化データとして格納した暗号化キーブロックとしてのEKBを提供し、コンテンツ編集エンティテイ(AS:Authoring Studio)330は、管理センタ(TC:Trusted Center)310から受領した管理情報に基づいてコンテンツの編集処理を実行し、情報記録媒体製造エンティテイ(DM:Disc Manufacturer)350に提供する。情報記録媒体製造エンティテイ(DM:Disc Manufacturer)350は、コンテンツ編集エンティテイ(AS:Authoring Studio)330から受領したコンテンツの暗号化、鍵情報の、生成、格納処理などを行う。また、管理センタ(TC:Trusted Center)310は、ユーザの情報処理装置400に格納するデバイスキーの管理、提供も行う。
管理センタ310、コンテンツ編集エンティテイ330、および情報記録媒体製造エンティテイ350の実行する2つの処理例について、図6、図7を参照して説明する。
図6は、管理センタ310、コンテンツ編集エンティテイ330、および情報記録媒体製造エンティテイ350の実行する1つの処理例であり、コンテンツ編集エンティテイ330においてコンテンツの暗号化およびコンテンツハッシュ生成処理を実行する例を示した図である。
編集前コンテンツ303はコンテンツ編集エンティテイ330へ持ち込まれ、エンコーダによるMPEGデータ等へのエンコード処理(ステップS32)、オーサリングシステムによる編集処理(ステップS33)がなされた後、編集済コンテンツ331となる。
このオーサリングシステムによる編集処理(ステップS33)の際、コンテンツに対応するコピー制限情報や、再生制限情報であるCCI情報(コピー・再生制御情報)332、およびコンテンツ暗号化に使用する記録シードVu333も生成される。記録シード333は、前述したように、CPSユニットごとに設定することが可能であり、編集済コンテンツ331が複数のコンテンツ管理単位(CPSユニット)を持つ場合、記録シードVu333もCPSユニットの数だけ生成される。なお、記録シードVu333の値は例えば128ビットの長さを持つ乱数である。CCI情報332については、CPSユニット個別の情報として設定される場合や、複数のCPSユニットに対応して設定される場合など、様々な設定が可能である。
本例においては、コンテンツ編集エンティテイ330において、コンテンツの暗号化が実行される。コンテンツ編集エンティテイ330は、コンテンツ暗号化に必要な情報(管理情報)を管理センタ310から取得する。
管理センタ310ではメディアキーKm311を生成し、さらに、メディアキーKm311を暗号化データとして暗号化キーブロックとしてのEKBに格納するEKB生成処理(ステップS31)を実行し、EKB312を生成する。EKB312は、前述したように、正当なコンテンツ利用権としてのライセンスを保持する再生装置に格納されたデバイスキーを適用した復号処理によってのみ復号することを可能とした暗号化データを格納しており、正当なコンテンツ利用権としてのライセンスを保持する再生装置のみがメディアキーKmを取得できる。管理センタ310は、メディアキーKmを格納したEKB312と、メディアキーKm311を含む管理情報をコンテンツ編集エンティテイ330へ送る。
これらの情報を受け取ったコンテンツ編集エンティテイ330は以下の手順でコンテンツの暗号化を行う。
まず、ステップS34において、CPSユニットに対応するユニット鍵の生成元となる鍵であるユニット鍵生成キーKe(Embedded Key)を生成する。ユニット鍵生成キーKe(Embedded Key)は、管理センタ310から取得したメディアキーKmとコンテンツ編集エンティテイ330内でセキュアに生成される物理インデックスVe351を用いた暗号処理(例えばAES暗号処理)によって生成される。
さらに、ステップS35において、ユニット鍵生成キーKe(Embedded Key)と、CCI情報と記録シードVuを利用して、コンテンツの暗号化に使用するユニット鍵Kuを例えばAES暗号処理によって生成する。
コンテンツ編集エンティテイ330は、ユニット鍵生成キーKe(Embedded Key)と、CCI情報、n個の記録シードVu1〜Vunを個別に、順次適用してn個のユニット鍵Ku1〜Kunを生成する。
次に、ステップS36において、編集済みコンテンツの暗号化を実行する。すなわちCPSユニット毎に、対応するユニット鍵Ku1〜Kunを適用した暗号化を実行し、暗号化コンテンツを生成する。さらに、ステップS37において、暗号化済みのコンテンツに基づいてハッシュ値(コンテンツハッシュ)を生成する。生成されるコンテンツハッシュは暗号化されたコンテンツに基づいて生成される。ハッシュ生成処理は、例えばAESベースのハッシュ関数が適用される。
次に、コンテンツ編集エンティテイ330は、ステップS38において、コンテンツ編集エンティテイ330内でセキュアに生成される物理インデックスVe351の少なくとも一部の構成データを適用した鍵生成処理、例えばAES暗号に従った鍵生成処理を実行し、特定領域暗号鍵Kpを生成する。さらに、ステップS39において、特定領域暗号鍵Kpを適用して、ステップS36において生成した暗号化コンテンツ、ステップS37において生成したコンテンンツハッシュから選択された一部のデータ、すなわち特定領域データに対する暗号処理を実行する。特定領域暗号処理の処理対象となるデータ部分については、後段で説明する。
次に、コンテンツ編集エンティテイ330は、特定領域暗号処理を施した暗号化コンテンツ、コンテンツハッシュ、さらに、物理インデックス、および管理センタ310から受領したEKBを情報記録媒体製造エンティテイ350に提供する。情報記録媒体製造エンティテイ350は、ステップS40において、コンテンツ編集エンティテイ330から受領した各種情報のフォーマット処理を実行して、情報記録媒体100上に記録する。EKBはリードイン領域に記録され、暗号化コンテンツ、コンテンツハッシュは、ユーザデータ領域に記録される。なお、暗号化コンテンツには、CCI情報、記録シードが含まれ、その一部は非暗号化データとされる場合もある。
図7は、コンテンツ編集エンティテイ330においてコンテンツの暗号化を行い、暗号化コンテンツに基づくコンテンツハッシュの生成処理を情報記録媒体製造エンティテイ350において実行する処理例を示した図である。
図7に示すステップS31〜S36の処理は、図6を参照して説明した処理と同様の処理であり、説明を省略する。コンテンツ編集エンティテイ330は、ユニット鍵生成キーKe(Embedded Key)と、CCI情報、n個の記録シードVu1〜Vunを個別に、順次適用してn個のユニット鍵Ku1〜Kunを生成し、ステップS36において、ユニット鍵Ku1〜Kunを適用して編集済みコンテンツの暗号化を実行すると、暗号化コンテンツ、物理インデックス、および管理センタ310から受領したEKBを情報記録媒体製造エンティテイ350に提供する。
情報記録媒体製造エンティテイ350は、ステップS37において、コンテンツ編集エンティテイ330から受領した暗号化コンテンツに基づいて、ハッシュ値(コンテンツハッシュ)を生成する。ハッシュ生成処理は、例えばAESベースのハッシュ関数が適用される。
次に、情報記録媒体製造エンティテイ350は、ステップS38において、コンテンツ編集エンティテイ330内でセキュアに生成された物理インデックスVe351を受領し、物理インデックスVe351の少なくとも一部の構成データを適用した鍵生成処理、例えばAES暗号に従った鍵生成処理を実行し、特定領域暗号鍵Kpを生成する。さらに、ステップS39において、特定領域暗号鍵Kpを適用して、ステップS36において生成された暗号化コンテンツ、ステップS37において生成したコンテンンツハッシュから選択された一部のデータ、すなわち特定領域データに対する暗号処理を実行する。
次に、情報記録媒体製造エンティテイ350は、ステップS40において、コンテンツ編集エンティテイ330から受領した各種情報、および特定領域暗号処理を施した暗号化コンテンツ、コンテンツハッシュ、さらに、物理インデックス、および管理センタ310から受領したEKBのフォーマット処理を実行して、情報記録媒体100上に記録する。EKBはリードイン領域に記録され、暗号化コンテンツ、コンテンツハッシュは、ユーザデータ領域に記録される。なお、暗号化コンテンツには、CCI情報、記録シードが含まれ、その一部は非暗号化データとされる場合もある。
[3.特定領域暗号処理の処理対象データ]
上述したように、情報記録媒体に記録されるコンテンツは、暗号処理と、特定領域暗号処理が施される。すなわち、特定領域については、通常の暗号処理と、特定領域暗号処理の2重の暗号化が施されて記録されることになる。
情報記録媒体に記録されるデータ構成と、暗号化構成について、図8〜図13を参照して説明する。情報記録媒体に記録されるデータファイルのファイルシステムとして適用されるUDF(Universal Disc Format)、およびBlu−ray Discのファイルフオーマットとして適用されるBDFS(Blu-ray Disc File System)、それぞれのファイルシステムを適用した場合の例について説明する。
まず、図8〜図10を参照して、UDF(Universal Disc Format)ファイルシステムを適用したデータ記録を行なう場合のデータ構成および暗号化構成について説明する。図8に示す構成において、ボリューム空間は、論理セクタNo.(LSN)=0〜Nの情報記録媒体のユーザ領域に相当する領域に対応する。
このボリューム空間に、以下の各データが記録される。
ボリュームストラクチャ(Volume Str.)
アンカー(Anchor)
ファイルシステム(FS(Metadata))
ファイル(File(BD管理情報))
ファイル(File(AVストリームデータ)
ドライブは、まず、ドライブに装着されたアンカー(Anchor)を読み取る。アンカーには、情報記録媒体のデータ読み取りに必要となる初期情報、例えばポインタ情報などのディレクトリ解析情報が格納されており、ドライブはアンカー情報を読みとることで、情報記録媒体の格納データの基本構成を知ることができる。なお、アンカーは、図に示すように、論理セクタNO.(LSN)=256の他、ボリューム空間の末尾と、末尾から一定間隔前方の位置の3箇所に記録される。これらは同じアンカー情報であり、情報記録媒体に発生した傷などでいずれかが読み取り不能となった場合に利用するためのバックアップデータとして記録されるものである。図に示すように、アンカーと同様、ボリュームストラクチャ(Volume Str.)、ファイルシステム(FS(Metadata))等も同様のデータがバックアップデータとして複数記録される。
ドライブはアンカー情報の読み取り後、ボリュームストラクチャを読み取り、情報記録媒体に記録された管理ファイル、データファイルの位置を確認し、その後、ファイルシステム(FS(Metadata))を読み取り、その後、再生シーケンスに従ってファイル(File(AVストリームデータ)を読み取る処理を実行する。
図8には、UDF(Universal Disc Format)ファイルシステムを適用した場合の暗号化構成の一例を示している。ボリューム空間のほぼ全体は、通常の暗号化システムに従ったコンテンツ暗号処理の対象データである。すなわち、例えば、先に説明した図3の情報記録媒体製造処理におけるステップS17の暗号処理、図4のステップS23の暗号処理、図6、図7のステップS36の暗号処理において暗号化が施されるデータである。ただし、後述するが、暗号鍵生成データとして適用されるシード情報など極一部のデータは暗号化対象とされない場合もある。
さらに、図に示す特定領域が、通常の暗号化システムに従ったコンテンツ暗号処理に加え、特定領域暗号処理が実行される領域である。すなわち、例えば、先に説明した図3の情報記録媒体製造処理におけるステップS19の特定領域暗号処理、図4のステップS26の特定領域暗号処理、図6、図7のステップS39の特定領域暗号処理において暗号化が施されるデータである。
図8に示す構成では、アンカー(Anchor)情報のみを特定領域暗号処理の対象データとして設定した例である。バックアップデータとして記録されたデータも含むすべてのアンカー情報が特定領域として設定され、特定領域暗号処理が施される。コンテンツ再生処理の際には、上述したようにドライブがまずアンカー情報を読み取ることが必須であり、図8に示す構成例では、アンカー情報を読み取る処理を実行するためには、アンカー情報の復号処理をまず実行し、復号に成功することが必要となる。これらの再生処理の詳細については、後段で説明する。
次に、図9を参照して、UDF(Universal Disc Format)ファイルシステムを適用した場合の、異なる暗号化構成例について説明する。図9の処理例は、特定領域暗号処理の対象データ、すなわち特定領域を、
ボリュームストラクチャ(Volume Str.)
アンカー(Anchor)
ファイルシステム(FS(Metadata))
これらの3種類のデータ領域とした設定である。これらのバックアップデータについても特定領域暗号処理が施される。
図10は、UDF(Universal Disc Format)ファイルシステムを適用した場合におけるさらに異なる暗号化構成例を示す図である。図10の処理例は、特定領域暗号処理の対象データ、すなわち特定領域を、
ボリュームストラクチャ(Volume Str.)
アンカー(Anchor)
ファイルシステム(FS(Metadata))
ファイル(File(BD管理情報))
これらの4種類のデータ領域とした設定である。これらのバックアップデータについても特定領域暗号処理が施される。
図8〜図10、いずれの構成においても、特定領域暗号処理が施されたデータ領域は、コンテンツ再生に際して初期的に正しく読み取ることが必要なデータであり、再生処理に際しては、これらの特定領域に対応するデータの復号処理が正しく行なわれることが必要となる。このように、特定領域は、情報記録媒体に格納されたコンテンツの再生に際して実行するコンテンツ読み取りに先行した読み取り処理が要求される管理データ領域を含み、ドライブ装置において、管理データ領域を含む特定領域のデータ復号処理が実行されることになる。なお、再生処理の詳細については後述する。
次に、図11〜図13を参照して、Blu−ray Discのファイルフォーマットとして適用されるBDFS(Blu-ray Disc File System)をファイルシステムとして適用した場合の処理例について説明する。まず、図11を参照して、BDFS(Blu-ray Disc File System)ファイルシステムに従ったデータ記録構成について説明する。BDFSファイルシステムは、記録ファイルをグループ化して管理することが可能であり、グループ毎に特定のルールで配置される。
図11は、BDFSファイルシステムに従って情報記録媒体のユーザ領域に記録されたデータ構成を示している。先頭と最後尾には、「reserved」と示された、言わばデータの余白となる領域が設けられている。図中のAIA(Allocation Information Area(アロケーション情報領域))1〜4で示される部分は、前述のUDFファイルシステムにおけるアンカー情報に相当する。アンカー情報としてのAIAには、固定領域が割り当てられており、記録媒体に記録された情報を読み出す際に最初に読み出される情報が記録される。
AIA1〜4の内部にはファイルシステム情報(MIA(Management Information Area))が格納されているアドレスが記録されており、AIAを解析することによって、MIAへのアクセスが可能となる。なお、AIA内部にはメインMIA(Main MIA)およびリザーブMIA(Reserved MIA)(バックアップ用)各情報が記録されている。
MIAにはファイルシステム情報(記録媒体上のディレクトリ、ファイルに関する情報)が保存されており、可変なものである。このファイルシステム情報にはファイルのグループ化および、グループ化されたファイルの配置方法に関する情報が含まれている。Blu-ray Disc Rewritable規格においては、図11で示されるように、MIAは次に述べるグループ1〜3のファイル群(図中のMainG1,ResG1,MainG2,ResG2,G3)と一緒にGathered File領域(図中のLB Region for gathered filesで示される領域中のGathered block)にまとめて記録されている。これらは、グループ毎に設定されるアロケーションクラスと呼ばれるグループ化のIDにより管理されており、例えば、MainG1が、アロケーションクラス1(AC1)、MainG2がAC2、G3がAC3、そして、G4がAC4として管理されている。
具体的なアロケーションクラスの値は、AC0が一般のデータファイルであり、AC1がグループ1に属するファイルであり、AC2がグループ2に属するファイルであり、AC3がグループ3に属するファイルであり、AC4がグループ4に属するファイルでありAC5乃至15が未使用であり、AC16がリアルタイムファイルタイプ1(低レート)であり、AC17がリアルタイムファイルタイプ2(高レート)であり、さらに、AC18乃至255が未使用となっている。
MIAには、グループごとに割り当てられた記録領域に関する情報が記録されており、例えば、図11(A)で示されるファイルシステム情報内のAllocation Rule Set Table(ARST)のように記載されている。ARSTには、グループごとに割り当てられた領域の開始アドレス、終了アドレスが記載されており、この情報によりデータを読み出す際にはファイル単体の読み込みではなく、グループに属するファイルをまとめて読み出すことが可能となり、読み出し時間が短縮される。
なお、図11(A)に示すARST例においては、ファイルのグループ毎にMainG1には、開始アドレスとしてSMG1が記録され、終了アドレスとしてEMG1が記録され、ResG1には、開始アドレスとしてSRG1が記録され、終了アドレスとしてERG1が記録され、MainG2には、開始アドレスとしてSMG2が記録され、終了アドレスとしてEMG2が記録され、ResG2には、開始アドレスとしてSRG2が記録され、終了アドレスとしてERG2が記録され、G3には、開始アドレスとしてSG3が記録され、終了アドレスとしてEG3が記録され、G4には、開始アドレスとしてSG4が記録され、終了アドレスとしてEG4が記録され、MainG1が、開始アドレスSMG1から終了アドレスEMG1の範囲に記録され、ResG1が、開始アドレスSRG1から終了アドレスERG1の範囲に記録され、MainG2が、開始アドレスSMG2から終了アドレスEMG2までの範囲に記録され、ResG2が、開始アドレスSRG2から終了アドレスERG2までの範囲に記録され、G3が、開始アドレスSG3から終了アドレスEG3までの範囲に記録され、G4が、開始アドレスSG4から終了アドレスEG4までの範囲に記録されている例を示している。
このことにより、Blu-ray Disc Rewritable規格に準拠して情報が記録された記録媒体上では、ファイルシステム情報とグループ1乃至3のファイル群を1回の連続領域読み出しによって取得可能な構成となる。
グループ1〜3(図中のG1,G2,G3)は、Blu-ray Disc Rewritable規格における、アプリケーション管理データである。これらのファイルは記録媒体から高速にまとめて読み出す必要があり、上述のMIAと一緒にGathered File領域にまとめて記録されている。また、グループ1とグループ2に属するファイルはコンテンツ再生に必須のファイルであり、記録媒体上に欠陥セクタが発生した場合においてもできる限りファイルのデータを失わない仕組みが必要であるため、グループ1とグループ2に属するファイルについてはMain領域とReserved領域の2箇所に同じファイルが記録されている。
グループ4(図中のG4)は、マーク用のサムネイル情報である。このファイルは、まとめて記録しておく必要はあるが、グループ1乃至3と比較すると使用頻度が低く、記録媒体へのアクセス開始時にすべて読み出す必要性も低い。そのため、グループ単体として連続な記録領域に記録されているが、他のグループとあわせてGathered File領域に記録していない。
AVストリームファイルは、「再生時のレートを保証する」という属性を持ち、ファイルを記録媒体上に配置する際には再生時のレートを保証するための配置ルールに従う必要がある。AVストリームファイルの場合、上記グループ1乃至4のようにグループ化して特定の領域に記録する必要がない。そのため、ファイルの属性は定義しているが、まとめて配置されていない。また、Blu-Ray Disc規格で定義されていない一般のファイルを記録する場合、再生レートの保証、特定領域へまとめて記録する配置方法のどちらも不要であるため、一般のファイル(図中のData File)はさらに別の位置に記録されている。なお、図中の「Free Area」と示された領域は、ファイルが記録されない領域である。
図12は、図11を参照して説明したBDFSファイルシステムにおける本発明を適用した暗号化構成の一例を示す図である。図12の構成例では、図中のアンカー情報、すなわちAIA(Allocation Information Area(アロケーション情報領域))1〜4で示される部分を特定領域暗号処理の対象データとして設定した例である。コンテンツ再生処理の際には、上述したように、AIA1〜4の内部にはファイルシステム情報(MIA(Management Information Area))が格納されているアドレスが記録されており、AIAを解析することによって、MIAへのアクセスが可能となる。従って、再生処理に際しては、まずアンカー情報としてのAIA情報(アロケーション情報領域)の読み取り処理を行なうことが必要となる。図12に示す暗号化構成例では、AIA情報を読み取る処理を実行するためには、AIA情報の復号処理をまず実行し、復号に成功することが必要となる。これらの再生処理の詳細については、後段で説明する。
次に、図13を参照して、BDFSファイルシステムを適用した場合の、異なる暗号化構成例について説明する。図13の処理例は、アンカー領域としてのAIA情報に加え、さらに、ファイルシステム情報、すなわち、Allocation Rule Set Table(ARST)を含むファイルシステム情報を含む領域を特定領域として設定した例である。
図13の暗号処理構成においては、アンカー領域としてのAIA情報と、ファイルシステム情報が、特定領域暗号処理の対象領域として設定される。なお、図では、フリー領域も特定領域に含められた例を示しているが、フリー領域については、特定領域として含めない設定としてもよい。
図12、図13、いずれの構成においても、特定領域暗号処理が施されたデータ領域は、コンテンツ再生に際して初期的に正しく読み取ることが必要なデータであり、再生処理に際しては、これらの特定領域に対応するデータの復号処理が正しく行なわれることが必要となる。このように、特定領域は、情報記録媒体に格納されたコンテンツの再生に際して実行するコンテンツ読み取りに先行した読み取り処理が要求される管理データ領域を含み、ドライブ装置において、管理データ領域を含む特定領域のデータ復号処理が実行されることになる。なお、再生処理の詳細については後述する。
以上、[2.情報記録媒体の製造、データ格納処理の詳細]、[3.特定領域暗号処理の処理対象データ]において、情報記録媒体製造処理、および情報記録媒体のデータ構成について説明した。
上述の説明から理解されるように、情報記録媒体の製造処理においては、情報記録媒体へ記録するコンテンツの第1の暗号化処理を実行するコンテンツ暗号処理ステップと、コンテンツ暗号化ステップにおける処理データに対して、選択された特定領域に対する第2の暗号化処理を実行する特定領域暗号処理ステップと、これら第1および第2の暗号化処理の施されたデータを情報記録媒体に記録するステップとを有する。また、特定領域暗号処理ステップでは、情報記録媒体付帯情報として情報記録媒体に格納する物理インデックスの構成データに基づいて特定領域暗号鍵Kpを生成し、生成した特定領域暗号鍵Kpを適用した暗号化処理を実行する。
また、特定領域暗号処理ステップでは、特定領域として、情報記録媒体に格納されるコンテンツの再生に際して実行するコンテンツ読み取りに先行した読み取り処理が要求される管理データ領域を選択し、管理データ領域を含む特定領域に対して第2の暗号化処理を実行する。なお、特定領域暗号処理ステップにおいて暗号化されるデータは、UDFファイルシステムにおけるアンカー情報を含む領域であり、BDFSファイルシステムにおけるAIA情報を含む領域である。なお、具体的には、情報記録媒体の記録データに含まれるa.暗号化コンテンツ、b.コピー・再生制御情報、c.コンテンツ構成データに基づくハッシュ値であるコンテンツハッシュ、d.暗号化コンテンツの復号処理に適用する暗号化ユニット鍵、e.コンテンツに適用されたスクランブル態様情報としてのスクランブルルール、これらa〜eの少なくともいずれかのデータを含む領域が特定領域として選択され、特定領域暗号化処理が実行される。
この情報記録媒体の製造方法によって製造される情報記録媒体は、暗号化コンテンツを含むデータを記録データとして格納した構成を有し、記録データは第1の暗号化処理の施された暗号化コンテンツを含む記録データであり、該記録データの一部を構成する特定領域は、前記第1の暗号化処理に加えて、さらに第2の暗号化処理の施されたデータとして構成される。
また、情報記録媒体は、情報記録媒体付帯情報としての物理インデックスを格納し、特定領域に対する前記第2の暗号化処理は、物理インデックスの構成データに基づく暗号鍵を適用した暗号化処理データとして格納される。また、第2の暗号化処理の施された特定領域は、情報記録媒体に格納されるコンテンツの再生に際して実行するコンテンツ読み取りに先行した読み取り処理が要求される管理データ領域を含む領域、例えば、UDFファイルシステムにおけるアンカー情報を含む領域、BDFSファイルシステムにおけるAIA情報を含む領域として設定される。具体的には、第2の暗号化処理の施された特定領域は、情報記録媒体の記録データに含まれるa.暗号化コンテンツ、b.コピー・再生制御情報、c.コンテンツ構成データに基づくハッシュ値であるコンテンツハッシュ、d.暗号化コンテンツの復号処理に適用する暗号化ユニット鍵、e.スクランブルルール、これらa〜eの少なくともいずれかのデータを含む領域である。
[4.情報処理装置におけるコンテンツ再生処理]
次に、上述した特定領域の暗号化を含む暗号化処理がなされた暗号化コンテンツ他の情報を格納した情報記録媒体の再生処理を実行する情報処理装置におけるコンテンツ再生処理の詳細について説明する。
図14に示すように、情報処理装置400は、ドライブ380とホスト400を有し、情報記録媒体100からのデータ読み取りは、ドライブ380によって実行され、ドライブ380内のドライブデータ処理部381において所定のデータ処理、具体的には、前述した特定領域の暗号化データの復号処理が実行され、処理データがホスト400に転送される。ホスト400は、ホストデータ処理部410において、主に暗号化コンテンツの復号処理を実行し、処理結果としての復号コンテンツを再生制御手段420に出力し、再生制御手段420における再生制御の下でコンテンツ再生が行なわれる。
ドライブおよびホストの各データ処理部において実行されるデータ処理例について、図15を参照して説明する。
図15は、ドライブ380、ホスト400それぞれのデータ処理部の処理を示している。まず、ドライブ380は、ドライブに装着された情報記録媒体100に格納された物理インデックス402を読み取り、ステップSaにおいて、特定領域暗号鍵Kpを生成する。
ドライブ380は、ステップSaにおいて、情報記録媒体100に格納された物理インデックス402の少なくとも一部の構成データを適用した鍵生成処理、例えばAES暗号に基づく鍵生成処理を実行して特定領域暗号鍵Kpを生成する。さらに、ステップSbにおいて、特定領域暗号鍵Kpを適用して特定領域の復号処理を実行する。この復号処理は、例えば、AES暗号処理を適用したデータ復号(Decryption)処理として実行される。特定領域は、先に図8〜図13を参照して説明したように、様々な設定があるが、これらのいずれかの設定で特定領域が設定され特定領域暗号化がなされている。
ドライブ380は、どの部分が特定領域であるか、すなわち特定領域の位置情報を何らかの方法で取得することが必要となる。この特定領域位置情報の取得方法としては、例えば、以下のいずれかの方法を適用する。
(1)予め規格された固定位置を設定し、固定位置情報をドライブ内のROMなどの不揮発性メモリに予め格納する。ドライブは、情報記録媒体の再生時にメモリから特定領域位置情報を取得する。
(2)情報記録媒体に特定領域位置情報を記録したテーブルを格納する。ドライブは、情報記録媒体の再生時に情報記録媒体から特定領域位置情報を取得する。この構成とする場合は、テーブルは、暗号化を施し、また署名を施すなど、容易な読み取りや改ざんを防止した構成とすることが好ましい。
(3)情報記録媒体の記録データの特定パターンで特定領域を設定する。例えば32セクタごとに先頭の1セクタを特定領域として設定する。ドライブは、情報記録媒体からの先頭から順次、32セクタごとに1セクタを取得して、このセクタデータを特定領域として判別する。
(4)外部から特定領域情報を取得する。ドライブは、例えばホストの通信部を介してネットワーク接続されたコンテンツ管理サーバなどのサーバから、特定領域情報を取得する。
ドライブ380は、上述の(1)〜(4)のいずれかの方法を適用して特定領域位置情報を取得して、図15のステップSbにおいて、ステップSaで生成した特定領域暗号鍵Kpを適用して特定領域の復号処理を実行する。すなわち、ドライブ380のデータ処理部は、特定領域データを、ドライブ装置内のメモリに格納された特定領域位置情報、または情報記録媒体に格納された特定領域位置情報、または、外部から取得する特定領域位置情報に従って選択するか、あるいは、予め設定されたパターンに従ってデータ選択を実行して抽出する処理を実行する。
図15に示す例では、EKB401、物理インデックス402は、特定領域復号処理の対象とならず、ホスト400に転送される。コピー・再生制御情報403、コンテンツハッシュ404、暗号化ユニット鍵405、暗号化コンテンツ406は、特定領域復号処理の対象データとされ、上述の(1)〜(4)のいずれかの特定領域位置情報取得処理によって、これらのデータの一部が特定領域として選択され、ステップSbにおいて、選択データに対して、ステップSaで生成した特定領域暗号鍵Kpを適用した復号処理が実行される。ドライブ380のデータ処理部において特定領域復号処理のなされたデータは、再生処理を実行するホスト400に出力される。
本処理例では、ドライブ380において、コピー・再生制御情報403、コンテンツハッシュ404、暗号化ユニット鍵405、暗号化コンテンツ406の構成データから選択された特定領域データについて、特定領域復号処理が実行され、処理データがホスト400に出力される。
次に、ホスト400におけるデータ処理について説明する。ドライブ380からホスト400に対して転送されるコンテンツは、特定領域暗号化は、上述のドライブにおける特定領域復号処理によって解除されているが、コンテンツ暗号処理が施された状態であり、ホスト400では、コンテンツの復号に適用する鍵を生成するともに、生成鍵を適用したコンテンツ復号処理を実行することになる。
コンテンツ復号プロセスでは、まず、ホスト400は、メモリに格納しているデバイスキー411を読み出す。デバイスキー411は、コンテンツ利用に関するライセンスを受けた情報処理装置に格納された秘密キーである。
次に、ホスト400は、ステップS41において、デバイスキー411を適用して情報記録媒体100に格納されたメディアキーKmを格納した暗号鍵ブロックであるEKB401の復号処理を実行して、メディアキーKmを取得する。
次に、ステップS42において、ステップS41におけるEKB処理で取得したメディアキーKmと、情報記録媒体100から読み取った物理インデックス402とに基づく暗号処理(AES_H)によって、ユニット鍵生成キーKe(embedded Key)生成する。この鍵生成処理は、例えばAES暗号アルゴリズムに従った処理として実行される。なお、図15においてAES_Dは、AES暗号処理を適用したデータ復号(Decryption)処理、AES_Hは、例えばAESベースのハッシュ関数、AES_GEは、AES暗号処理を適用したデータ暗号処理を伴う鍵生成(Key Generation)処理を示している。これらの具体的処理については、後述する。
次に、ステップS43において、ユニット鍵生成キーKe(embedded Key)と、情報記録媒体100から読み取ったコピー・再生制御情報(CCI)403とに基づく暗号処理(AES_H)によって、コントロールキーKcを生成し、ステップS44において、コントロールキーKcと情報記録媒体100から読み取ったコンテンツハッシュ404とに基づく暗号処理(AES_H)によって、コンテンツハッシュキーKhを生成する。
次に、ステップS45において、情報記録媒体100から読み取った暗号化ユニット鍵Enc(Ku)405に対して、コンテンツハッシュキーKhを適用して復号(AES_D)し、ユニット鍵Kuを取得する。なお、本例において、情報記録媒体100に格納されるユニット鍵は、図15のステップS41〜S44と同様のプロセスによって生成されたコンテンツハッシュキーKhによる暗号化データとして格納されている。
なお、情報記録媒体100に記録されている暗号化ユニット鍵Enc(Ku)405はコンテンツ管理ユニットとしてのCPSユニットごとに定義されており、S45において生成されるユニット鍵Kuも同様にCPSユニットごとに定義される。生成するCPSユニット鍵のKu(i)は、再生対象のコンテンツに対応するCPSユニット、すなわち情報記録媒体100に格納されたCPSユニット1〜nから選択されたCPSユニット(i)に対応して設定されているCPSユニット鍵Ku(i)である。
暗号化コンテンツの復号を行う際、まずS46において、情報記録媒体100から読み出した暗号化コンテンツ406からのブロックシードの取り出し、復号処理の必要な復号処理部(暗号化データ)、復号処理の不要な非復号処理部(平文データ)のデータ選択が行われる。
なお、ブロックシードは、暗号化処理単位としてのブロックに対応して設定される暗号鍵生成情報である。CPSユニットとしてのコンテンツデータは、所定データ長のブロック単位で異なるブロックキーKbが適用された暗号化がなされ、復号に際しては、各ブロック毎の復号処理鍵としてのブロックキーKbを、各ブロックデータに対応して設定されているブロックシードとCPSユニット鍵Kuに基づく暗号処理(S47:AES_GE)によって生成して、生成したブロックキーKbで復号処理(S48)を行なう。
ブロックキーKbは特定サイズの暗号処理単位において暗号化コンテンツの復号に使用される鍵である。暗号化処理単位のサイズとしては、例えば6144バイトのUser Dataを含むものや2048バイトのUser Dataを含むものが想定される。ブロックキーKbの生成およびブロックキーKbに基づく復号処理の詳細については、後段で説明する。
ステップS49は、暗号化コンテンツに含まれる例えばブロックシード部分などの非暗号化データと、ステップS48において復号したデータを結合する処理であり、この結果、復号コンテンツ(CPSユニット)412がホスト400から再生制御手段420に出力される。
なお、本例においては、コンテンツハッシュを暗号鍵生成に用いる構成であり、この場合、コンテンツハッシュは平文のコンテンツデータから生成されたものを適用する。具体的には、例えば先に図3を参照して説明したプロセスで製造されたデータ記録のなされた情報記録媒体100に対する処理として実行される。
ステップS42〜S45、S47において実行する暗号処理の具体例を図16、図17を参照して説明する。図16において、AES復号部(AES_D)431は、例えば128ビットの鍵長を持つAES、ECBモードによる復号化処理部であり、AES暗号化部(AES_E)433は、例えば128ビットの鍵長を持つAES、ECBモードによる暗号化処理部である。排他的論理和部432は、同じ長さを持つ2つのビット列間で排他的論理和(XOR)処理を行う演算部を表している。
図15のステップS42におけるユニット鍵生成キーKeの生成処理(AES_H)は、具体的には、図16(a)に示すように、情報記録媒体100に格納された物理インデックスと、EKBから取得したメディアキーKmをAES_H処理に入力し、AES_H処理を実行した結果値をユニット鍵生成キーKeとする処理として実行される。
図15のステップS43におけるコントロールキーKcの生成、ステップS44におけるコンテンツハッシュキーの生成も、図16(b),(c)に示すようにAES_H処理によって行われる。
AESハッシュ処理(AES_H)の具体構成は、図17に示すように、AES暗号処理を適用したデータ復号処理を伴う鍵生成(Key Generation)処理実行部(AES_GD)と排他的論理和部との組み合わせによって構成される。
AES_GD部は、図17に示すようにAES復号部と排他的論理和部との組みによって構成される。なお、先に図3、図4、図6、図7を参照して説明した情報記録媒体に記録するコンテンツハッシュの生成も、図17に示すと同様のハッシュ演算部434の適用によって生成することができる。なお、図17においてX、hで示している入力はAES_Hに対する2つの入力値のどちらを割り当ててもよい。例えば図16(b)の場合においてはXがユニット鍵生成キーKeでhがCCIとなる場合と、XがCCIでhがKeとなる場合の両方の設定が可能であり、実際の記録再生装置においてはどのように割り当てるかを選択して処理を実行することになる。
ユニット鍵Kuの生成は、図16(d)に示すように、情報記録媒体100から取得した暗号化ユニット鍵eKh(Ku)をコンテンツハッシュキーKhを適用してAES復号部431において復号する処理として実行される。図15のステップS47のブロックキーKbの生成は、図16(e)に示すようにAES復号部431と排他的論理和部432による演算によって行われる。
なお、本実施例では、AES暗号アルゴリズムを適用し、128ビットの鍵長を持つ鍵データの生成例を示しているが、アルゴリズムや鍵長は、これらの例に限定されるものではなく、他のアルゴリズム、鍵長を適用することも可能である。
次に、図18を参照して、コンテンツ再生処理の他の処理例について説明する。図18に示す処理例では、ドライブ380における処理は、先に図15を参照して説明したと同様の処理であり、EKB401、物理インデックス402は、特定領域復号処理の対象とならず、ホスト400に転送される。コピー・再生制御情報403、コンテンツハッシュ404、暗号化ユニット鍵405、暗号化コンテンツ406は、特定領域復号処理の対象データとされ、ドライブにおいて、物理インデックス402の構成データに基づいてステップSaで特定領域暗号鍵Kpが生成され、ステップSbにおいて、特定領域復号処理が実行された後、ホストに出力される。
図18に示す例は、ホスト400におけるデータ処理中、ステップS42におけるユニット鍵生成キーKe(embedded Key)の生成処理と、ステップS43におけるコントロールキーKcの生成処理と、ステップS44におけるコンテンツハッシュキーKhの生成処理を、AES暗号処理ではなく、ハッシュ関数(HASH)を適用して実行する処理例である点が図15を参照して説明した処理例と異なる点である。
これらの処理の具体的構成について、図19を参照して説明する。図19において、ハッシュ演算部(HASH)441は、ハッシュ関数を用いた処理を実行して、2つの入力データに基づくハッシュ値を算出する。ハッシュ演算部(HASH)441の出力は一意性の高い固定長のデータとなる。
ハッシュ演算部(HASH)441は、例えばSHA1などのハッシュ関数である。2つの値をハッシュ関数に入力し、1つの出力を得る場合、入力となる2つの値を連続してハッシュ関数に入力することによって1つの出力を得ることができる。例えば図19(a)の場合、メディアキー(Km)と物理インデックスを連続してハッシュ関数へ入力することにより、ユニット鍵生成キーKe(embedded Key)を得ることができる。この際、2つの入力のどちらを先に入力するかについては、Km→物理インデックスの順番と物理インデックス→Kmの順番の2通りがありえる。ハッシュ関数の説明、用法については図19(b)、(c)についても同様である。
図18に戻り、コンテンツ再生処理における各種の鍵データの生成処理についての説明を続ける。図18のステップS42におけるユニット鍵生成キーKe(embedded Key)の生成処理と、ステップS43におけるコントロールキーKcの生成処理と、ステップS44におけるコンテンツハッシュキーKhの生成処理は、図19(a)〜(c)に示すように、ハッシュ演算部(HASH)441の適用によって実行され、ハッシュ演算によって出力された結果が鍵データとなる。ステップS45のユニット鍵生成、ステップS47のブロックキーの生成は、図19(d)〜(e)に示すように、先の図15、図16を参照して説明した処理と同様の処理である。
次に、図20を参照して、コンテンツ再生処理の他の処理例について説明する。図20に示す例は、コンテンツハッシュを鍵生成に適用しない処理例を示している。
図20に示す処理例では、ドライブ380は、EKB401、物理インデックス402は、特定領域復号処理の対象とせず、ホスト400に転送する。また、コピー・再生制御情報403、暗号化ユニット鍵405、暗号化コンテンツ406を、特定領域復号処理の対象データとしてドライブにおける特定領域復号処理を実行する。ドライブ380は、ステップSaにおいて、物理インデックス402の構成データに基づいて特定領域暗号鍵Kpを生成し、ステップSbにおいて、コピー・再生制御情報403、暗号化ユニット鍵405、暗号化コンテンツ406から選択された一部構成データを対象として特定領域復号処理を実行して、ホストに出力する。特定領域に関する位置情報の取得は、前述した処理例と同様、(1)ドライブ内のメモリに格納された固定領域情報を取得、(2)情報記録媒体に格納されたテーブルから取得、(3)一定のパターンに従って特定領域を取得、(4)外部から取得、のいずれかの方法で取得する。
図20におけるホスト400側の処理ステップS51〜S53は、図15におけるステップS41〜S43と同様の処理である。本例では、図15におけるステップS44の処理が省略される。すなわち、ステップS53において生成したコントロールキーKcに基づいて、コンテンツハッシュキーを生成することなく、ステップS54において、コントロールキーKcに基づいて情報記録媒体100から読み取った暗号化ユニット鍵Enc(Ku)を復号(AES_D)し、ユニット鍵Kuを取得する。なお、本例において、情報記録媒体100に格納されるユニット鍵は、図20のステップS51〜S53と同様のプロセスによって生成されたコントロールキーKcによる暗号化データとして格納されている。
なお、情報記録媒体100に記録されている暗号化ユニット鍵Enc(Ku)405はCPSユニットごとに定義されており、S54において生成されるユニット鍵Kuも同様にCPSユニットごとに定義される。生成するCPSユニット鍵のKu(i)は、再生対象のコンテンツに対応するCPSユニット、すなわち情報記録媒体100に格納されたCPSユニット1〜nから選択されたCPSユニット(i)に対応して設定されているCPSユニット鍵Ku(i)である。ステップS55〜S58の処理は、図15におけるステップS46〜S49の処理と同様の処理として実行される。本実施例では、コンテンツハッシュキーの生成プロセスが省略され、鍵生成処理が簡略化される。
図20のステップS51,S52,S53,S56の鍵生成プロセスの詳細について、図21を参照して説明する。図21の(a),(b)は、図16の(a),(b)に対応し、図21の(c),(d)は、図16の(d),(e)に対応する。図21に示す鍵生成処理では、図21(c)のユニット鍵生成プロセスにおいて、コントロールキーKcによる暗号化ユニット鍵のAES復号処理が行われる点が、図15、図16を参照して説明したプロセスと異なる点である。
図22は、図20と同様、コンテンツハッシュを鍵生成に適用しない処理例であり、ドライブ380の処理は、図20を参照して説明したと同様の処理である。ホスト400側の処理ステップS52におけるユニット鍵生成キーKe(embedded Key)の生成処理と、ステップS53におけるコントロールキーKcの生成処理を、AES暗号を用いた処理ではなく、ハッシュ関数(HASH)を適用して実行する点が異なっている。
これらの処理の具体的構成について、図23を参照して説明する。図23において、ハッシュ演算部(HASH)441は、ハッシュ関数を用いた処理を実行して、2つの入力データに基づくハッシュ値を算出する。前述したように、ハッシュ演算部(HASH)441の出力は一意性の高い固定長のデータとなる。ハッシュ演算部(HASH)441は、例えばSHA1などのハッシュ関数である。
図23の(a),(b)は、先に説明した図19の(a),(b)に対応し、図23の(c),(d)は、図19の(d),(e)に対応する。図23に示す鍵生成処理では、図23(c)のユニット鍵生成プロセスにおいて、コントロールキーKcによる暗号化ユニット鍵のAES復号処理が行われる点が、図18、図19を参照して説明したプロセスと異なる点である。
さらに、他のコンテンツ再生処理例について、図24、図25を参照して説明する。図24に示す処理において、ドライブ側の処理は、先に図15を参照して説明したと同様の処理であり、EKB401、物理インデックス402は、特定領域復号処理の対象とならず、ホスト400に転送される。コピー・再生制御情報403、コンテンツハッシュ404、暗号化ユニット鍵405、暗号化コンテンツ406は、特定領域復号処理の対象データとされ、ドライブにおいて、物理インデックス402の構成データに基づいてステップSaで特定領域暗号鍵Kpが生成され、ステップSbにおいて、特定領域復号処理が実行された後、ホストに出力される。
ホスト400側の処理において、先に図15を参照して説明した処理では、ステップS43においてコントロールキーKc生成処理を実行し、ステップS44において、コントロールキーKcに基づいて、コンテンツハッシュキーKhの生成処理を実行していたが、図24に示す例では、この順番が変更され、ステップS63において、情報記録媒体100からコンテンツハッシュ404を読み取り、ステップS62において生成したユニット鍵生成キーKe(embedded Key)とコンテンツハッシュ404とに基づくAES暗号アルゴリズムに従った処理によって、コンテンツハッシュキーKhを生成し、その後、ステップS64において、情報記録媒体100からコピー・再生制御情報(CCI)403を読み取って、コンテンツハッシュキーKhとコピー・再生制御情報(CCI)403とに基づくAES暗号アルゴリズムに従った処理によって、コントロールキーKcを生成する構成とした処理例である。その他のステップS61〜S62,S65〜S69の処理は、図15を参照して説明した処理ステップS41〜S42,S45〜S49の処理と同様の処理である。
本構成によれば、コンテンツハッシュキーKhは、コピー・再生制御情報(CCI)403と無関係に生成可能となる。従って、コンテンツ編集エンティテイから管理センタに対してCCIファイルを提出し、管理センタにおいて、CCIファイルに基づいてコンテンツハッシュキーKhを生成し、コンテンツ編集エンティテイに提供するという処理を行なう必要がなくなる。管理センタは、コンテンツ編集エンティテイに対してEKB、および記録シードVe、さらに、CCIファイルに依存しない任意のコンテンツハッシュキーKhを発行するのみでよく、処理が簡略化される。
図25に示す処理例は、図24に示す処理と同様、CCIファイルに依存しない任意のコンテンツハッシュキーKhを適用可能な例であるが、さらに、ホスト400におけるコンテンツハッシュキーKhの生成ステップを遅らせ、ステップS74において生成したユニット鍵Kuを適用して、ステップS75において、コンテンツハッシュ404とのAES暗号アルゴリズムに従った処理によって、コンテンツハッシュキーKhを生成する構成としたものである。ドライブ380の処理は、図24と同様、図15を参照して説明したと同様の処理である。
なお、前述したように、情報記録媒体100に記録されている暗号化ユニット鍵Enc(Ku)405はCPSユニットごとに定義されており、S74において生成されるユニット鍵Kuも同様にCPSユニットごとに定義される。生成するCPSユニット鍵のKu(i)は、再生対象のコンテンツに対応するCPSユニット、すなわち情報記録媒体100に格納されたCPSユニット1〜nから選択されたCPSユニット(i)に対応して設定されているCPSユニット鍵Ku(i)である。
従って、ステップS75において生成するコンテンツハッシュキーKhも、CPSユニット(i)に対応して設定されるコンテンツハッシュキーKh(i)となる。ステップS77では、コンテンツハッシュキーKh(i)を適用してブロックキーKbが生成される。その他の処理は、図15を参照して説明し他処理と同様である。
本構成例では、コンテンツハッシュキーKh(i)の生成に適用するコンテンツハッシュも、各CPSユニット単位のコンテンツハッシュとなる。従って、より細かな単位でのコンテンツハッシュを取得することが必要となる。結果として、コンテンツ改竄を防止効果がより高まることになる。
次に、図26を参照して、情報記録媒体に格納するコンテンツに対するスクランブル処理を施し、適用したスクランブルに関する情報としてのスクランブルルール情報を情報記録媒体に格納し、スクランブルルールについても特定領域暗号化処理の対象とした処理例について説明する。
図26に示す処理例では、情報記録媒体100にスクランブルルール407が格納されている。スクランブルルール407は、情報記録媒体に格納する暗号化コンテンツを含むデータに対して適用したスクランブル処理の態様情報である。例えば、所定データ単位にシャッフル処理を施すスクランブル処理、記録データ中の選択データ領域のデータと、予め設定された値との排他論理和を実行して記録データを変更するスクランブル処理、あるいは記録データ中の選択データ領域のデータビット配列のローテーション処理を実行して記録データを変更するスクランブル処理などが適用可能である。スクランブルルール407には、実際にコンテンツ等の記録データに実行されたスクランブル処理の解除に必要な情報としてのスクランブルルールが格納される。
図26の処理構成では、このスクランブルルールも特定領域暗号化の対象データとして設定されており、ドライブ380は、ステップSaにおいて、情報記録媒体100に格納された物理インデックス402の少なくとも一部の構成データを適用した鍵生成処理、例えばAES暗号に基づく鍵生成処理を実行して特定領域暗号鍵Kpを生成する。さらに、ステップSbにおいて、特定領域暗号鍵Kpを適用して特定領域の復号処理を実行する。この復号処理は、例えば、AES暗号処理を適用したデータ復号(Decryption)処理として実行される。図26の処理例では、コピー・再生制御情報403、暗号化ユニット鍵405、暗号化コンテンツ406、スクランブルルール407が特定領域復号処理の対象データとされ、これらのデータから選択された一部構成データを対象として特定領域復号処理を実行して、ホストに出力する。特定領域に関する位置情報の取得は、前述した処理例と同様、(1)ドライブ内のメモリに格納された固定領域情報を取得、(2)情報記録媒体に格納されたテーブルから取得、(3)一定のパターンに従って特定領域を取得、(4)外部から取得、これらのいずれかの方法で取得する。
ホスト400での処理において、ステップS81〜S88までの処理は、図20を参照して説明したステップS51〜S55の処理と同様の処理であり、説明を省略する。ステップS89において、復号されたコンテンツのスクランブル解除処理を実行する。ステップS89のスクランブル解除処理は、ステップS89aのスクランブルルール取得処理と、ステッブS89bのスクランブル解除処理とによって構成される。
コンテンツはコンテンツ管理ユニットまたはコンテンツ毎に異なるスクランブルルールが適用されたスクランブル処理が施されて情報記録媒体100に格納されている。ステップS89aのスクランブルルール取得処理は、情報記録媒体100に格納されたスクランブルルール407を取得し、再生対象のコンテンツに対応するスクランブルルールを解析する処理である。ステップS89bのスクランブル解除処理は、ステップS89aにおいて解析したスクランブルルールに対応するスクランブル解除処理を実行する。
S89aのスクランブルルール取得ステップおよびステップS89bのスクランブル解除処理は、スクランブルルールが漏洩しないようにセキュアなデータ処理として実行する必要がある。情報記録媒体に格納されるスクランブルルール407は、セキュアなJavaコードで記録され、ホスト400は例えばJavaの実現するJavaバーチャルマシン内の処理としてステップS89aのスクランブルルール取得処理と、ステップS89bのスクランブル解除処理を実行しコンテンツ412を出力する。
[5.ホストにおけるコンテンツ復号処理の詳細]
次に、ホストにおけるコンテンツ復号処理の詳細について説明する。なお、前述したように、コンテンツはコンテンツ暗号化および特定領域暗号化の2つの異なる暗号化処理がなされて情報記録媒体に記録される。情報記録媒体のコンテンツ再生においては、特定領域暗号化データはドライブにおいて復号されてホストに出力される。従って、ホストは特定領域暗号処理の解除された暗号化コンテンツの復号処理を実行することになる。
まず、図27を参照して、情報記録媒体に格納されるデータ記録構成および、記録データの復号処理の概要を説明する。情報記録媒体に格納されるデータは、コンテンツ管理単位であるCPSユニット単位のユニット鍵Kuに基づいて生成されるブロック鍵Kbでブロック単位の暗号化が施される。さらに、例えばアンカー情報などの特定領域データについては、物理インデックスの構成データに基づいて生成される特定領域暗号鍵Kpを適用した特定領域暗号化処理が施される。
再生を行う場合には、先に、説明したように、ドライブにおいて特定領域復号処理が実行され、その後、ホストにおいて、情報記録媒体に格納された各種の鍵生成情報に基づいて、CPSユニット鍵Kuを生成し、さらに、ブロックデータ単位に設定されるブロックシードと、CPSユニット鍵Kuに基づいてブロック鍵Kbを生成し、ブロック鍵Kbに基づくブロック単位の復号処理を行なうことになる。
図27(a)は、情報記録媒体に格納されるデータであり、暗号化を施す前の記録データ構成を示している。18バイトの制御データ(UCD:User Control Data)と、実際のAVコンテンツデータを含む2048バイトのユーザデータ(User Data)が1つのセクタデータとして構成され、例えば3セクタ分6144バイトのデータが1つの暗号処理単位、すなわちブロックとして設定される。なお、ブロックの設定単位は、3セクタ分6144バイトのデータとする方式に限らず、1セクタ分2048バイトのデータを1つの暗号処理単位、すなわちブロックとして設定する方式など、様々な設定が可能である。これらの具体例については後述する。
図27(b)は、3セクタ分6144バイトのデータを1つのブロックとして設定した場合の暗号処理単位としての1ユニット(1AU:Aligned Unit)の構成である。18バイトの制御データ(User Control Data)は暗号化対象から除去され、実際のAVコンテンツデータであるユーザデータのみが、暗号処理単位として設定される。情報記録媒体に格納された暗号化データの再生を実行する情報処理装置は、制御データ内のフラグに基づいて、暗号処理単位である1AU(Aligned Unit)を判別して抽出する。
従って3セクタ分6144バイトのデータを1つのブロックとして設定した場合には、暗号化データの再生を実行する情報処理装置(ホスト)は、制御データ内のフラグに基づいて、暗号処理単位である6144バイトのデータを1AUとして判別して6144バイト単位でブロック鍵Kbを生成して復号処理を実行する。また、1セクタ分2048バイトのデータを1つのブロックとして設定した場合には、暗号化データの再生を実行する情報処理装置は、制御データ内のフラグに基づいて、暗号処理単位である2048バイト単位でブロック鍵Kbを生成して復号処理を実行する。
3セクタ分6144バイトのデータを1つのブロックとして設定した場合、暗号処理単位である1ユニット(1AU)には、図27(c)コンテンツ暗号化構成例に示すように、ブロック鍵Kbによって暗号化された領域が含まれる。ブロック鍵を生成するためには、前述したようにブロックシードが必要となる。ブロックシードは、CPSユニット鍵Kuとともに、ブロック鍵Kbを生成するために必要となるブロック単位の鍵生成情報である。
ブロック鍵を適用した暗号化処理によって生成された図27(c)に示すコンテンツ暗号化構成データは、さらに、物理インデックスの構成データに基づいて生成される特定領域暗号鍵Kpに基づく特定領域暗号化が施されて情報記録媒体に記録される。特定領域は、先に図8〜図13を参照して説明したアンカー部などのデータ部を含む特定領域であり、これらの一部データ領域が選択されて特定領域暗号鍵Kpによって暗号化された後、情報記録媒体に格納される。
ブロック暗号化の対象となるユーザデータの詳細構成を図28に示す。図28(a)は、3セクタをブロックデータ(暗号化処理単位(6144バイト=32ソースパケット))とした場合のデータ構造である。
AVストリームはBlu−ray Disc RewritableフォーマットやBlu−ray Disc ROMフォーマットにおいて規定されるデータ構造を持ち、3セクタ分6144バイトのデータを1つのブロックとして設定した場合、図28(a)に示すように、6144バイトの暗号化処理単位(ブロック)が連続して、1つのCPSユニットが設定される。6144バイトのデータは192バイトの長さを持つソースパケット32個分のデータから構成される。
各ソースパケットは、図28(b)に示すように、ヘッダ部4バイトとTSパケット部184バイトで構成されている。情報記録媒体に格納される暗号化コンテンツは、例えばMPEG−2システムで規定(ISO/IEC13818−1)されている符号化データとしてのトランスポートストリーム(TS)として構成される。トランスポートストリームは、1本のストリームの中に複数のプログラムを構成することができ、各トランスポートパケットの出現タイミング情報としてのATS(Arrival Time Stamp:着信時刻スタンプ)が設定されている。
図28(c)は、ソースパケットのヘッダ部4バイトの詳細構成である。ヘッダ部4バイト中、先頭2ビットがコピー・再生制御情報CCI(Copy Control Information)であり、その後に各トランスポートパケットの出現タイミング情報としてのATS(Arrival Time Stamp:着信時刻スタンプ)が設定されている。タイムスタンプは、MPEG−2システムで規定されている仮想的なデコーダであるT−STD(Transport Stream System Target Decoder)を破綻させないように符号化時に決定され、ストリームの再生時に、各トランスポートパケットに付加されたATSによって出現タイミングを制御して、復号、再生を行う。
例えば、トランスポートストリームパケットを記録媒体に記録する場合には、各パケットの間隔を詰めたソースパケットとして記録するが、各トランスポートパケットの出現タイミングを併せて記録媒体に保存することにより、再生時に各パケットの出力タイミングを制御することが可能となる。
以下、ブロック鍵Kbを適用したブロックデータ単位の暗号化処理および復号処理の具体例について図29〜図31を参照して説明する。
(1)処理例1
図29に示す暗号化処理単位(ブロック)500は、情報記録媒体に格納された暗号化コンテンツ(CPSユニット)を構成する1つの暗号化処理単位(ブロック)の構成である。図29に示す暗号化処理単位(ブロック)500は、特定領域の暗号化は施されていない状態、すなわち、ドライブによって特定領域復号処理が実行された後のデータ構成を示している。この暗号化処理単位(ブロック)500がドライブからホストに出力されることになる。
暗号化処理単位500は、3セクタ(6144バイト)分のユーザデータと、ユーザデータの先頭セクタに対応する18バイトのユーザ制御データ(UCD)501によって構成される。3セクタ(6144バイト)分のユーザデータの先頭16バイト(128ビット)にブロックシード511が設定され、ブロック鍵Kbによって暗号化されたデータ部が図に示す復号処理部502である。
コンテンツ再生を実行する情報処理装置(ホスト)は、暗号化処理単位を順次取得し、例えば、図15を参照して説明したセレクタ処理実行ステップS46において、ブロックシード(16バイト)511と、その他の復号処理部502を分離する処理を実行する。
図29のステップS91の処理は、ブロック鍵Kb生成処理である。ステップS91では、ブロックシード511に対して、ユニット鍵Kuを適用したAES暗号処理あるいはハッシュ処理を実行し、ブロック鍵Kbを生成する。
図29のステップS92の処理は、例えば図15におけるステップS48の復号処理に相当する処理である。ステップS92では、復号処理部502を入力し、ステップS91において生成したブロック鍵Kbを適用したAES復号処理を実行する。
ステップS92の復号処理の結果、復号されたユーザデータ503が生成され、このデータが、図14に示す再生制御処理手段420に出力される。
(2)処理例2
処理例2は、
暗号化処理単位(ブロック):1セクタ(2048バイト)分のユーザデータ
暗号化対象データ:1セクタ(2048バイト)分のユーザデータの先頭16バイト(128ビット)を除く部分(2032バイト)
ブロックシード:1セクタ(2048バイト)のユーザデータの先頭16バイト(128ビット)
とした例である。
処理例2における記録データの生成処理例を図30に示し、復号処理例を図31に示す。
まず、処理例2におる記録データの生成処理例について図30を参照して説明する。図30(a)には、1セクタ(2048バイト)のユーザデータとセクタ対応のユーザ制御データ18バイトを示している。
図30(b)に示すように、1セクタ(2048バイト)のユーザデータを1つの暗号処理単位(ブロック)として設定する。
図30(c)暗号化構成に示すように、ブロックシードは、1セクタ(2048バイト)のユーザデータの先頭16バイト(128ビット)とする。
なお、暗号化されるコンテンツデータの内容は任意であり、ブロックシードに該当する部分のデータも任意のバイト列になる可能性がある。コンテンツデータの内容によっては、ブロックシード部分に特定のパターンのバイト列が配置されている可能性もあり、ブロックシードを使用して生成されるブロック鍵Kbの値が暗号化処理単位ごとに異なる値となることは保証されない。
ブロック鍵を適用した暗号化処理によって生成された図30(c)に示すコンテンツ暗号化構成データは、さらに、物理インデックスの構成データに基づいて生成される特定領域暗号鍵Kpに基づく特定領域暗号化が施されて情報記録媒体に記録される。特定領域は、先に図8〜図13を参照して説明したアンカー部などのデータ部を含む特定領域であり、これらの一部データ領域が選択されて特定領域暗号鍵Kpによって暗号化される。
図30に示すように、1セクタ(2048バイト)のユーザデータを1つの暗号処理単位(ブロック)として設定する方法の利点として、1セクタ分(2048バイト)のデータを取得すれば、ブロックシードの取得、ブロック鍵の生成、コンテンツデータの復号化が可能であり、PCに接続されるドライブなど、2048バイト単位のデータを汎用的な処理単位として使用するシステムに対する親和性が高いという利点がある。
次に、図31を参照して、本処理例における記録データの復号処理シーケンスについて説明する。図31に示す暗号化処理単位(ブロック)520は、ドライブにおいて特定領域復号処理が実行された後のデータ、すなわち、ドライブからホストに提供される暗号化コンテンツ(CPSユニット)を構成する1つの暗号化処理単位(ブロック)の構成である。
暗号化処理単位520は、1セクタ(2048バイト)分のユーザデータ522と、ユーザデータの先頭セクタに対応する18バイトのユーザ制御データ(UCD)521によって構成される。本例において、ブロックシード523は、1セクタ(2048バイト)分のユーザデータ522の先頭16バイト(128ビット)として設定されている。
コンテンツ再生を実行する情報処理装置(ホスト)は、暗号化処理単位を順次取得し、例えば図15を参照して説明したセレクタ処理実行ステップS46において、ブロックシード(16バイト)523と、その他の暗号化データ部(2032バイト)を分離する処理を実行する。なお、ユーザ制御データ(UCD)521は非暗号化データとして分離される。
図31のステップS95の処理は、ブロック鍵Kb生成処理である。ステップS95では、1セクタ(2048バイト)のユーザデータの先頭16バイト(128ビット)によって構成されるブロックシード523に対して、ユニット鍵Kuを適用したAES鍵生成処理アルゴリズムあるいはハッシュ処理を実行し、ブロック鍵Kbを生成する。
図31のステップS96の処理は、例えば図15におけるステップS48の復号処理に相当する処理である。ステップS96では、1セクタ(2048バイト)のユーザデータの先頭16バイト(128ビット)を除いた暗号化データ(2032バイト)のユーザデータを入力し、ステップS95において生成したブロック鍵Kbを適用したAES復号処理を実行する。
さらに、例えば図15に示すセレクタステップS49において、2048バイトのユーザデータの先頭16バイト(128ビット)のブロックシード523を除く暗号化データ部の復号結果と、ブロックシード523が結合されたデータとして復号データ531が生成され、その結果が、図14に示す再生制御処理手段420に出力される。
[6.コピー・再生制御情報(CCI)の詳細構成]
次に、コピー・再生制御情報(CCI)の詳細構成について説明する。図32を参照して、1つのコンテンツ管理ユニット(CPSユニット)対応のコピー・再生制御情報(CCI)ファイルの構成例について説明する。
各CPSユニットに対応するコピー・再生制御情報(CCI)は、ブロックデータを構成する2048バイトのユーザデータ領域に分割されて格納される。図32には、コピー・再生制御情報(CCI)を格納したブロックデータを構成する2048バイトのユーザデータ領域としての第1ブロック701と、後続ブロック702を示している。後続ブロック702は、1以上のブロックによって構成される。後続ブロック702は、N個のブロックのユーザデータであり、2048×Nバイトのデータとする。
第1ブロック701はユーザデータの総バイト数:2048バイトであり、
a.第1ヘッダ部:16バイト
b.第1制御情報(CCI)領域:2032バイト
の各データが格納される。
a.第1ヘッダ部(16バイト)には、第1制御情報(CCI)領域に含まれるコピー・再生制御情報(CCI)(再生/コピー制御情報)のループ数についての情報および追加制御情報領域が設定される。
第1ヘッダ部に設定される追加情報領域とは、例えば基本制御情報のみに対応した再生装置に対して、基本制御情報のみによる再生を禁止するためのフラグを配置するなど、コピー・再生制御情報の追加・拡張のために使用する領域である。
ヘッダ部に続くb.第1制御情報(CCI)領域(2032バイト)には、各CPSユニット対応のコピー・再生制御情報(CCI)(再生/コピー制御情報)が格納される。
図32には、第1ブロック701のコピー・再生制御情報(CCI)(再生/コピー制御情報)として、
基本制御情報1(Basic CCI-1)と、
拡張制御情報2(Basic CCI-2)
これら2つの種類の制御情報を含めた例を示している。図に示す例では、5つの基本制御情報(Basic CCI―1〜5)ブロックが格納された例を示している。
基本制御情報(Basic CCI)は、ベーシックな最低限のコピー・再生制御情報(CCI)(再生/コピー制御情報)によって構成されたデータであり、所定のコンテンツ再生処理プログラムに従ってコンテンツ再生処理を実行するほぼすべての情報処理装置において読み取られ、制御情報に従った処理を実行することが要請される情報である。一方、拡張制御情報(Extended CCI)は、高度なコンテンツ利用処理、例えば、ネットワーク転送や、データのストリーミング送受信などの処理機能を持つ情報処理装置に適用するための拡張的なコピー・再生制御情報(CCI)(再生/コピー制御情報)によって構成されたデータである。
基本制御情報(Basic CCI)については再生/コピー制御情報格納ファイルから迅速に取り出すことが要求される。また、拡張制御情報(Extended CCI)は、将来の拡張のためにサイズなどの制限が少ない格納方法が採用されている。基本制御情報(Basic CCI)と、拡張制御情報(Extended CCI)の具体例を図33に示す。
図33に示すように、基本制御情報(Basic CCI)には、例えば以下の制御情報が含まれる。
コピー可/不可情報:コピー可/不可/1世代のみ可
映像出力解像度制限情報:出力制限有り/無し
アナログコピー制御情報:可/不可(使用するアナログコピー防止技術を指定)
暗号化の有無を示す情報:暗号化有り/無し
権利主張の有無を示す情報:権利主張有り/無し
また、拡張制御情報(Extended CCI)には、例えば以下の制御情報が含まれる。
情報記録媒体(Disc)単体での再生可否情報:情報記録媒体(Disc)上の情報だけでコンテンツ再生が可能かどうかを示す
情報記録媒体(Disc)単体では再生できないコンテンツの再生方法:「鍵配信サーバへ接続」、「鍵の入ったメモリカード挿入」など
サーバの指定:サーバリストへのインデックス値
コピー・ストリーミング互換性情報:コンテンツをネットワーク内の他の機器で再生するための互換性情報
コピー・ストリーミング時のデータ変換方式:コンテンツを他の機器用に変換する際に使用できる方式
さらに、
ネットワーク内の同種記録媒体へのコピー可否他コピー制限情報、
携帯機器へのコピー可否他コピー制限情報
ストリーミング、遠隔再生の可否等の情報
ダウンロード処理に対する制御情報、
サーバから動作制御情報を取得するための情報
などによって構成される。
なお、拡張制御情報(Extended CCI)は、任意の制御情報が設定可能である。
図32に戻り、コピー・再生制御情報(CCI)を格納したブロックデータについて説明を続ける。図32に示す後続ブロック702は、N個のブロックのユーザデータであり、2048×Nバイトのデータによって構成される。
後続ブロック702のユーザデータには、以下のデータが格納される。
a.第2ヘッダ部:16バイト
b.第2制御情報(CCI)領域:任意バイト
の各データが格納される。
a.第2ヘッダ部:16バイトは、第1ブロック701に続く第2ブロックのユーザデータの先頭16バイトであり、この領域には、第2制御情報(CCI)領域に含まれるコピー・再生制御情報(CCI)(再生/コピー制御情報)のループ数についての情報およびリザーブ領域が設定される。この第2ヘッダ部(16バイト)のデータは、第2ブロックの先頭2048バイトに対応するブロック鍵生成のためのシード情報として利用される。
b.第2制御情報(CCI)領域:任意バイトは、後続ブロック702のデータサイズ(2048×N)バイトからヘッダ部を除いた(2048×N―16)バイトを超えない範囲で複数のコピー・再生制御情報(CCI)(再生/コピー制御情報)を格納する領域として設定される。図32に示す例では拡張制御情報(Extended CCI−1〜4)の合計4つの情報ブロックが格納された例を示している。
以上の構成により、基本制御情報のみを使用する再生装置はCCIファイルの先頭2048バイトを読み出すことにより、基本制御情報を取り出して再生やコピー動作の制御をおこなうことができる。
図34は、図32に示すコピー・再生制御情報(CCI)の格納例に対応するシンタックス図である。先頭2048バイトからなる第1ブロック領域データ721と、それ以降に配置され2048バイトの整数倍のサイズを持つ後続ブロック領域データ722が存在する。
第1ブロック領域データ721は、ヘッダ部情報として、
第1ブロック領域内に記述されるコピー・再生制御情報(CCI)(再生/コピー制御情報)を構成する情報ブロック(ループ)の数を示す情報としての[Number_of_Primary_CCI_loop]:16ビット
制御情報[Used for control info]領域:112ビット
が設定される。上記データがヘッダ部の16バイトデータである。
さらに、第1制御情報(CCI)領域情報として、
コピー・再生制御情報(CCI)(再生/コピー制御情報)のデータタイプ情報としての[CCI_and_other_info_type]:16ビット、
コピー・再生制御情報(CCI)(再生/コピー制御情報)のデータ長情報としての[CCI_and_other_info_data_length]:16ビット、
コピー・再生制御情報(CCI)(再生/コピー制御情報)のデータ値情報としての[CCI_and_other_info_data]:(CCI_and_other_info_data_length×8)ビット、
リザーブ[reserved]領域:Xビット、
が設定される。
後続ブロック領域データ722も、データ構成は、第1ブロック領域とほぼ同様であり、ループ数を示す情報と制御情報領域によって構成されるヘッダと、データタイプ、データ長、データ値を含むコピー・再生制御情報(CCI)(再生/コピー制御情報)部が設定される。
[7.情報処理装置の構成例]
次に、図35を参照して、上述のコンテンツの記録処理または再生処理を行う情報処理装置の構成例について説明する。
情報処理装置800は、情報記録媒体891の駆動を行ない、データ記録再生信号の入手力を行なうドライブ890、各種プログラムに従ったデータ処理を実行するCPU870、プログラム、パラメータ等の記憶領域としてのROM860、メモリ880、デジタル信号を入出力する入出力I/F810、アナログ信号を入出力し、A/D,D/Aコンバータ841を持つ入出力I/F840、MPEGデータのエンコード、デコード処理を実行するMPEGコーデック830、TS(Transport Stream)・PS(Program Stream)処理を実行するTS・PS処理手段820、各種の暗号処理を実行する暗号処理手段850を有し、バス801に各ブロックが接続されている。ドライブ890は、特定領域復号処理、データ記録再生制御、データ転送制御などを実行するデータ処理部891、特定領域位置情報、データ処理プログラム等を格納したメモリ892を有する。
まず、データ記録時の動作について説明する。記録を行うデータとしてデジタル信号入力とアナログ信号入力の2つのケースが想定される。
デジタル信号の場合、デジタル信号用入出力I/F810から入力され、必要に応じて暗号化処理手段850によって適切な暗号化処理を施したデータを情報記録媒体891に保存する。また、入力されたデジタル信号のデータ形式を変換して保存する場合、MPEGコーデック830およびCPU870、TS・PS処理手段820によって保存用のデータ形式に変換を行い、その後暗号化処理手段850で適切な暗号化処理を施して情報記録媒体891に保存する。なお、データ記録の際には、コンテンツ暗号化、特定領域暗号化の双方を暗号処理手段850において実行してよい。あるいは、コンテンツ暗号化を暗号化処理手段850で実行し、その後、ドライブ890内のデータ処理部891において特定領域暗号化を行なう構成としてもよい。
アナログ信号の場合、入出力I/F840へ入力されたアナログ信号はA/Dコンバータ841によってデジタル信号となり、MPEGコーデック830によって記録時に使用されるコーデックへと変換される。その後、TS・PS処理手段820により、記録データの形式であるAV多重化データへ変換され、必要に応じて暗号化処理手段850、ドライブ890内のデータ処理部891において適切な暗号化処理を施したデータが記録媒体891に保存される。
例えば、MPEG−TSデータによって構成されるAVストリームデータからなるコンテンツの記録を行なう場合、コンテンツは、コンテンツ管理ユニット(CPSユニット)に区分された後、ユニット鍵による暗号化処理が暗号処理手段850によって暗号化され、さらに、セキュアに生成した物理インデックス情報、あるいは情報記録媒体893から読み取られる物理インデックス情報に基づいて特定領域暗号鍵Kpを生成し、特定領域暗号化を行なった後、ドライブ890を介して記録媒体893に記録される。データ記録の場合は、特定領域暗号鍵Kpの生成、および特定領域暗号化処理は、暗号処理手段850または、ドライブ890のデータ処理部891のいずれかで行なう。
次に、情報記録媒体からのデータ再生を行なう場合の処理について説明する。例えばコンテンツとしてのMPEG−TSデータからなるAVストリームデータの再生を行う場合、ドライブ890において情報記録媒体891から読み出されたデータは、ドライブ890のデータ処理部891において、特定領域復号処理が実行される。情報記録媒体893から読み取られる物理インデックス情報に基づいて特定領域暗号鍵Kpを生成し、特定領域復号処理を実行する。特定領域の位置情報の取得処理は、(1)ドライブ内のメモリ892に格納された固定領域情報を取得、(2)情報記録媒体に格納されたテーブルから取得、(3)一定のパターンに従って特定領域を取得、(4)外部から取得、これらのいずれかの方法で行なう。
ドライブ890における特定領域復号処理後のデータは、次に、暗号処理手段850においてコンテンツ復号処理が実行される。暗号処理手段850においてコンテンツ管理ユニットが識別されると、コンテンツ管理ユニットに対応するユニット鍵の取得処理が実行され、取得されたユニット鍵に基づいて、暗号化処理手段850で復号処理を行い、その後、TS(Transport Stream)・PS(Program Stream)処理手段820によってVideo、Audio、字幕などの各データに分けられる。
MPEGコーデック830において復号されたデジタルデータは入出力I/F840内のD/Aコンバータ841によってアナログ信号に変換され出力される。またデジタル出力を行う場合、暗号化処理手段850で復号されたMPEG−TSデータは入出力IF810を通してデジタルデータとして出力される。この場合の出力は例えばIEEE1394やイーサネットケーブル、無線LANなどのデジタルインターフェースに対して行われる。なお、ネットワーク接続機能に対応する場合入出力IF810はネットワーク接続の機能を備える。また、再生装置内で出力先機器が受信可能な形式にデータ変換をして出力を行う場合、一旦、TS・PS処理手段820で分離したVideo、Audio、字幕などに対してMPEGコーデック830においてレート変換、コーデック変換処理を加え、TS・PS処理手段820で再度MPEG−TSやMPEG−PSなどに多重化を行ったデータをデジタル用入出力I/F810から出力する。または、CPU870を使用してMPEG以外のコーデック、多重化ファイルに変換をしてデジタル用入出力I/F810から出力することも可能である。
前述したように、コンテンツ管理ユニット(CPSユニット)には、1つのユニット鍵が対応付けられている。コンテンツ再生の再生制御を統括的に実行する再生アプリケーションプログラムが、コンテンツ管理ユニット(CPSユニット)の切り替えの発生を検出し、切り替えに応じて適用する鍵の切り替えを実行する。鍵が取得されていない場合は、鍵取得を促すメッセージを提示する処理を実行する。
記録再生装置において必要な情報を装置外部のネットワーク経由で取得する場合、取得したデータは記録再生装置内部のメモリ880に保存される。保存されるデータとしてはコンテンツ再生に必要な鍵情報、コンテンツ再生時に合わせて再生するための字幕、音声(Audio)情報、静止画などのデータ、コンテンツ管理情報、およびコンテンツ管理情報に対応した再生装置の動作ルール(Usage Rule)などが存在する。また、ドライブにおける特定利用域復号処理に必要な特定領域位置情報を外部から取得した場合は、取得情報は、ドライブ890のメモリ892に格納される。
なお、再生処理、記録処理を実行するプログラムはROM860内に保管されており、プログラムの実行処理中は必要に応じて、パラメータ、データの保管、ワーク領域としてメモリ880を使用する。ドライブ890における特定領域復号処理を実行するプログラムは、ドライブ890のメモリ892に格納されている。なお、図35では、データ記録、再生の可能な装置構成を示して説明したが、再生機能のみの装置、記録機能のみを有する装置も構成可能であり、これらの装置においても本発明の適用が可能である。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。