[記録媒体上のデータ記録構成]
まず、本発明に係る情報記録媒体に格納されたデータ構成について説明する。情報記録媒体に格納された暗号化データは、データ記録再生装置や、PC(パーソナルコンピュータ)において読み取られ、復号、再生される。
情報記録媒体に格納されるデータは、例えばMPEG−2システムで規定されている符号化データとしてのトランスポートストリーム(TS)である。トランスポートストリームは、1本のストリームの中に複数のプログラムを構成することができ、各トランスポートパケットの出現タイミング情報としてのATS(Arrival Time Stamp:着信時刻スタンプ)が設定されている。このタイムスタンプは、MPEG−2システムで規定されている仮想的なデコーダであるT−STD(Transport Stream System Target Decoder)を破綻させないように符号化時に決定され、ストリームの再生時に、各トランスポートパケットに付加されたATSによって出現タイミングを制御して、復号、再生を行う。
例えば、トランスポートストリームパケットを記録媒体に記録する場合には、各パケットの間隔を詰めたソースパケットとして記録するが、各トランスポートパケットの出現タイミングを併せて記録媒体に保存することにより、再生時に各パケットの出力タイミングを制御することが可能となる。
図1を参照して、情報記録媒体に格納されるデータ記録構成および、記録データの復号再生処理の概要を説明する。情報記録媒体に格納されるデータは暗号化データであり、再生を行う場合には、復号処理を行うことが必要となる。図1(a)が情報記録媒体に格納されるデータ記録構成である。18バイトの制御データ(User Control Data)と、2048バイトのユーザデータ(User Data)が1つのセクタデータとして構成され、例えば3セクタ分のデータが1つの暗号処理単位として規定される。なおここで説明するバイト数や、処理単位は1つの代表例であり、制御データ、ユーザデータのバイト数や、処理単位の設定は、様々な設定が可能である。
(b)は、暗号処理単位である1ユニット(1AU:Aligned Unit)の構成を示す。情報記録媒体に格納された暗号化データの再生を実行する情報処理装置は、制御データ内のフラグに基づいて、暗号処理単位である1AU(Aligned Unit)を抽出する。
暗号処理単位である1ユニット(1AU)には、(c)暗号化構成に示すように、シード1格納領域11、シード2格納領域12を有する。シード1格納領域11に格納されたシード1は、後述する暗号鍵K1(記録キーK1)に基づくブロックキーKb1の生成に適用するシード情報である。シード2格納領域12に格納されたシード2は、後述する暗号鍵K2(記録キーK2)に基づくブロックキーKb2の生成に適用するシード情報である。
シード2格納領域12は、ブロックキーKb1および第3の暗号鍵K3により暗号化されたデータ領域として設定される。さらに、後続のユーザデータ領域は、シード2と暗号鍵K2(記録キーK2)に基づいて生成されるブロックキーKb2によって暗号化された領域として設定される。
図1(c)に示すシード情報の格納態様、暗号化態様は一例であり、後段において、複数の構成例について説明するが、例えば、ブロックキーKb1とKb2によって二重に暗号化された領域を含める構成としてもよい。各ブロックキーを生成するためには、鍵生成情報としてのシード情報が必要となる。シード情報(シード1)はブロックキーKb1を生成するための鍵生成情報であり、シード情報(シード2)はブロックキーKb2を生成するための鍵生成情報である。これらは、制御データ領域、あるいはユーザデータ領域に格納される。
ユーザデータ領域に格納された暗号化コンテンツを復号するためには、情報記録媒体に格納されたシード情報を読み取って、シード情報に基づく鍵を生成することが必要となる。
本発明の構成においては、図1(c)に示すように、ブロックキーKb1を生成するために必要となるシード情報(シード1)と、ブロックキーKb2を生成するために必要となるシード情報(シード2)とを情報記録媒体上に格納する構成とするとともに、一方のシード情報(シード2)をシード情報(シード1)によって生成されるブロックキーKb1によって暗号化するとともに、第3の暗号鍵K3によってさらに暗号化して格納する構成とした。
このように、本発明の構成は、3つの異なる鍵を適用した暗号化処理を実行したデータを記録媒体に格納し、再生処理において3つの異なる鍵を適用した復号処理を行う。すなわち、所定の暗号処理単位毎に異なる鍵生成情報であるシード1、シード2を適用した暗号処理によりブロックキーKb1,Kb2を生成し、これらのブロックキーKb1,Kb2と、第3の暗号鍵K3を適用した復号処理を実行する。
1処理単位毎の復号処理の後、復号されたトランスポートストリームパケットがMPEG−2デコーダに入力されデコード処理が実行されてコンテンツ再生が行なわれる。1つの処理単位(3セクタ)には、例えば32個のトランスポートストリーム(TS)パケットが含まれる。すなわち、32×192=6144バイトデータが1つの暗号化および復号処理単位とされる。なお、処理単位の設定は、様々な設定が可能である。
復号再生時には、各処理単位毎に2つのシード情報(シード1、シード2)を情報記録媒体から取得し、各シード情報に基づいて2つのブロックキーKb1、Kb2を生成し、生成したブロックキーKb1,Kb2と、第3の暗号鍵K3を用いて復号処理がなされて、コンテンツ再生が行われる。
第3の暗号鍵K3は、情報記録媒体から取得するデータに基づいて生成する構成、あるいは再生処理を実行する情報処理装置の格納鍵を適用する構成、あるいは再生処理を実行する情報処理装置の格納情報に基づいて生成可能な鍵を適用する構成がある。これらの処理構成については後述する。
また、コンテンツの記録時には、復号再生処理と逆のプロセスが実行され、各処理単位毎に2つのシード情報(シード1、シード2)を設定し、各シード情報に基づいて2つのブロックキーKb1、Kb2を生成し生成したブロックキーKb1,Kb2と、第3の暗号鍵K3を用いて暗号化処理がなされて、コンテンツ記録が行われる。
[情報処理装置構成]
図2は、上述した暗号化コンテンツ態様を持つコンテンツの記録再生処理を実行する情報処理装置100の一実施例構成を示すブロック図である。情報処理装置100は、入出力I/F(Interface)120、MPEG(Moving Picture Experts Group)コーデック130、A/D,D/Aコンバータ141を備えた入出力I/F(Interface)140、暗号処理手段150、ROM(Read Only Memory)160、CPU(Central Processing Unit)170、メモリ180、記録媒体195のドライブ190、さらにトランスポートストリーム処理手段(TS処理手段)198を有し、これらはバス110によって相互に接続されている。
入出力I/F120は、外部から供給される画像、音声、プログラム等の各種コンテンツを構成するデジタル信号を受信し、バス110上に出力するとともに、バス110上のデジタル信号を受信し、外部に出力する。MPEGコーデック130は、バス110を介して供給されるMPEG符号化されたデータを、MPEGデコードし、入出力I/F140に出力するとともに、入出力I/F140から供給されるデジタル信号をMPEGエンコードしてバス110上に出力する。入出力I/F140は、A/D,D/Aコンバータ141を内蔵している。入出力I/F140は、外部から供給されるコンテンツとしてのアナログ信号を受信し、A/D,D/Aコンバータ141でA/D(Analog Digital)変換することで、デジタル信号として、MPEGコーデック130に出力するとともに、MPEGコーデック130からのデジタル信号を、A/D,D/Aコンバータ141でD/A(Digital Analog)変換することで、アナログ信号として、外部に出力する。
暗号処理手段150は、例えば、1チップのLSI(Large Scale Integrated Circuit)で構成され、バス110を介して供給されるコンテンツとしてのデジタル信号を暗号化し、または復号し、バス110上に出力する構成を持つ。なお、暗号処理手段150は1チップLSIに限らず、各種のソフトウェアまたはハードウェアを組み合わせた構成によって実現することも可能である。暗号処理手段150は、さらに、例えば入出力I/F120を介して接続された外部装置とのコンテンツ入出力の際に実行する認証処理を実行する認証処理部としても機能する。
ROM160は、例えば、情報処理装置ごとに固有の、あるいは、複数の情報処理装置のグループごとに固有のデバイスキーや、相互認証時に必要とする認証キーを記憶している。デバイスキーは、例えば鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号してマスターキーを取得するために用いられる。すなわち、デバイスキーは、マスターキー生成情報として適用される。
CPU170は、メモリ180に記憶されたプログラムを実行することで、MPEGコーデック130や暗号処理手段150等を制御する。メモリ180は、例えば、不揮発性メモリで、CPU170が実行するプログラムや、CPU170の動作上必要なデータを記憶する。ドライブ190は、デジタルデータを記録再生可能な記録媒体195を駆動することにより、記録媒体195からデジタルデータを読み出し(再生し)、バス110上に出力するとともに、バス110を介して供給されるデジタルデータを、記録媒体195に供給して記録させる。なお、プログラムをROM160に、マスターキー生成情報や認証キーをメモリ180に記憶するように構成してもよい。
記録媒体195は、例えば、DVD、CD等の光ディスク、光磁気ディスク、磁気ディスク、磁気テープ、あるいはフラッシュROM、MRAM、RAM等の半導体メモリ等のデジタルデータの記憶可能な媒体であり、本実施の形態では、ドライブ190に対して着脱可能な構成であるとする。但し、記録媒体195は、情報処理装置100に内蔵する構成としてもよい。
トランスポートストリーム処理手段(TS処理手段)198は、複数のコンテンツが多重化されたトランスポートストリームから特定のコンテンツに対応するトランスポートパケットを取り出して、取り出したトランスポートストリームの出現タイミング情報を各パケットとともに記録媒体195に格納するためのデータ処理を実行し、また、記録媒体195からの暗号化コンテンツの復号再生時には、トランスポートストリームの出現タイミング制御を行なう。
トランスポートストリームには、前述したように、各トランスポートパケットの出現タイミング情報としてのATS(Arrival Time Stamp:着信時刻スタンプ)が設定されており、MPEG2デコーダによる復号時にATSによってタイミング制御を実行する。トランスポートストリーム処理手段(TS処理手段)198は、例えば、トランスポートパケットを記録媒体に記録する場合には、各パケットの間隔を詰めたソースパケットとして記録するが、各トランスポートパケットの出現タイミングを併せて記録媒体に保存することにより、再生時に各パケットの出力タイミングを制御することが可能となる。
本発明の情報処理装置100は、例えば上述のトランスポートストリームによって構成される暗号化コンテンツの記録再生を実行する。これらの処理の詳細については、後段で説明する。なお、図2に示す暗号処理手段150、TS処理手段198は、理解を容易にするため、別ブロックとして示してあるが、両機能を実行する1つのワンチップLSIとして構成してもよく、また、両機能をソフトウェアまたはハードウェアを組み合わせた構成によって実現する構成としてもよい。さらには、ドライブ190、記録媒体195を除く全てのブロックをワンチップLSIとして構成してもよく、また、これらの機能をソフトウェアまたはハードウェアを組み合わせた構成によって実現する構成としてもよく、これにより情報処理装置100の改造によるセキュリティ機能の無効化に対するロバストネスを向上させることが出来る。
[データ再生処理]
次に、記録媒体に格納された暗号化データの復号処理について説明する。図3にデータの復号処理の手順を説明する図を示す。図3に示す処理は、主に図2に示す暗号処理手段150が実行する処理である。
情報処理装置210は自身のメモリ180(図2参照)に格納しているマスターキー211を読み出す。マスターキー211は、複数の情報処理装置に共通なキーとして格納されるキー、または、ライセンスを受けた情報処理装置に格納されたデバイスキーに基づいて、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号することにより取得されるキーである。
情報処理装置210は情報記録媒体220に識別情報としてのディスクID(Disc ID)221が既に記録されているかどうかを検査する。記録されていれば、ディスクID(Disc ID)221を情報記録媒体220から読出す。ディスクID(Disc ID)221は、ディスク固有情報であり、例えば一般データ格納領域または、リードインエリアに格納される。
次に、情報処理装置210は、ステップS101において、マスターキー211とディスクID221を用いて、ディスク固有キー(Disc Unique Key)を生成する。ディスク固有キー(Disc Unique Key)の具体的な生成方法としては、例えば、図4(a)に示すように、ディスクID(Disc ID)を入力値とし、共通鍵暗号方式であるAES(Advanced Encryption Standard)暗号を、マスターキー(Master Key)を暗号鍵として実行する方法や、図4(b)に示すように、FIPS 180-1で定められているハッシュ関数SHA−1に、マスターキーとディスクID(Disc ID)とのビット連結により生成されるデータを入力し、その出力から必要なデータ長のみをディスク固有キー(Disc Unique Key)として使用する方法が適用できる。
次に、記録コンテンツごとの2つの固有鍵であるタイトルキー(Title Key)1,223、タイトルキー2,224を情報記録媒体220から読出す。ディスク上には、どこのデータがどんなタイトルを構成するかという情報が格納されたデータ管理ファイルがあり、このファイルにタイトルキーが格納されている。ディスク1枚に対してタイトルキーが1組しかない場合、すなわちディスクID221に対するタイトルキーが一意に決定できる場合には、ディスクID221と同様の方法で、例えば一般データ格納領域または、リードインエリアに格納するようにしてもよい。
次にステップS102およびステップS103において、ディスク固有キー(Disc Unique Key)とタイトルキー(Title Key)1,2から、2つのタイトル固有キー(Title Unique Key)1,2を生成する。この生成の具体的な方法も、上記のように、SHA-1を用いる方法やブロック暗号に基づくハッシュ関数を使用する方法などが適用可能である。
さらに、情報処理装置210は、ステップS102およびステップS103において生成した2つのタイトル固有キー(Title Unique Key)1,2と、情報記録媒体220から読み出した記録シード(REC SEED)225、物理インデックス226とに基づいて、ステップS104、S105において、2つの記録キー(RECキー)K1,K2を生成する。
ステップS102〜S105において実行する2つの記録キー(RECキー)K1,K2の生成処理例について、図5を参照して説明する。
図5(a)は、図3のステップS102,S104の処理による記録キーK1の生成、図5(b)は、図3のステップS103,S105の処理による記録キーK2の生成処理例を示している。
図5(a)の処理は、まず情報記録媒体から読み出したタイトルキー1をAES(Advanced Encryption Standard)暗号処理部271に入力し、ステップS101で生成したディスク固有キーを適用した復号処理(Decryption)を実行してタイトル固有キー1を生成(S102)して、さらに、情報記録媒体から読み出した物理インデックス226をAES(Advanced Encryption Standard)暗号処理部272に入力し、タイトル固有キー1を適用した暗号処理(Encryption)を実行し、さらに、排他論理和部273において、暗号処理結果とタイトル固有キー1の排他論理和演算を実行して、その出力を記録キー1として設定(S104)する処理である。
図5(b)の処理は、情報記録媒体から読み出したタイトルキー2をAES(Advanced Encryption Standard)暗号処理部274に入力し、ステップS101で生成したディスク固有キーを適用した復号処理(Decryption)を実行してタイトル固有キー2を生成(S103)して、さらに、情報記録媒体から読み出した記録シード(REC SEED)225をAES(Advanced Encryption Standard)暗号処理部275に入力し、タイトル固有キー2を適用した暗号処理(Encryption)を実行して記録キー2を生成(S105)する処理である。
記録キーK1、K2は、上述の再生処理プロセスにおいて使用することが必要となるが、コンテンツを情報記録媒体に記録する暗号処理においても適用される鍵である。
図6に示すように、情報記録媒体284に格納される暗号化コンテンツは、まずコンテンツ編集スタジオ282において編集され、編集コンテンツがディスク製造工場等のディスク製造エンティテイ283に渡されて、ディスク等の情報記録媒体に格納され、ユーザに提供される。
この製造プロセスにおいて、コンテンツ編集スタジオ282は、物理インデックスを設定するとともに、記録キーK2を適用した暗号化処理を編集コンテンツに対して実行し、ディスク製造エンティテイ283は、記録シードを設定するとともに、記録キーK1を適用した暗号化処理を実行する。結果として情報記録媒体284には、記録キーK1、K2の2つの暗号鍵を用いた暗号処理が施された暗号化データが格納される。このようなディスク製造プロセスにおいて、コンテンツの管理を実行する管理センタ281が、コンテンツ編集スタジオには、タイトル固有キー2の取得可能情報を提供し、ディスク製造エンティテイ283には、タイトル固有キー1の取得可能情報を提供する。
管理センタ281がこのような鍵管理を実行することで、管理センタ281からの鍵情報の提供を受けたコンテンツ編集スタジオ、およびディスク製造エンティテイのみが、暗号化コンテンツの格納された情報記録媒体の製造が可能となり、不正な第三者による海賊版ディスクの製造が防止される。特に、コンテンツ編集スタジオが編集コンテンツに適用されるTSパケット内に編集識別子(編集ID)を格納して、これを編集コンテンツとともにコンテンツ編集スタジオで暗号化処理を施すことで、どの編集スタジオで加工された編集コンテンツであるかを秘匿したままディスク製造エンティテイへデータを渡すことが可能となり、ディスク製造エンティテイが受け入れるコンテンツの追跡管理が可能となる。
なお、図3に示す例では、2つのタイトル固有キー1,2を算出するために、情報記録媒体220に2つのタイトルキー1,2を格納し、これらの2つのタイトルキーに基づいて、2つのタイトル固有キーを算出する処理例を示したが、このように2つのタイトルキーを情報記録媒体220に格納することなく、1つの格納情報のみから、2つのタイトル固有キー1,2を算出する構成も可能である。
図7を参照して1つの格納情報のみから、2つのタイトル固有キー1,2を算出する構成例を説明する。編集(オーサリング)毎に設定される乱数等のランダム値をディスクキーシードとして情報記録媒体220に格納する。
図7(a)の処理例は、ディスクキーシードに対してディスク固有キーを適用して、AES暗号処理部291において暗号処理を実行し、その出力をタイトル固有キー1とする。さらにそのタイトル固有キー1をAES暗号処理部292に入力しディスク固有キーを適用してAES暗号処理を実行し、その結果をタイトル固有キー2とする。
図7(b)の処理例は、ディスクキーシードに対してディスク固有キーを適用して、AES暗号処理部293において暗号処理を実行し、その出力をタイトル固有キー1とする。さらにそのタイトル固有キー1を、演算部294において、演算、例えば、(ディスクキーシード+1)mod2128を算出し、その結果をAES暗号処理部295に入力しディスク固有キーを適用してAES暗号処理を実行し、その結果をタイトル固有キー2とする。図7に示す方法によれば、情報記録媒体220に格納する情報を少なくすることが可能となる。
図3に戻り、情報記録媒体からのデータ復号、再生処理についての説明を続ける。ステップS104、S105において2つの記録キー(RECキー)1,2を生成すると、次に、ステップS106において、ブロックキーKb1の生成処理を実行する。
ブロックキーKb1の生成処理においては、情報記録媒体220からブロックキーKb1生成情報としてのシード情報(シード1)227を読み出し、シード情報(シード1)227と、ステップS104において生成した記録キーK1とに基づくAES暗号処理等のデータ処理を実行してブロックキーKb1を生成する。
ステップS106のブロックキーKb1の生成処理以降に実行する処理について、図8を参照して説明する。
図8において、復号処理は、処理単位300を単位として実行される。この処理単位は、先に図1を参照して説明した(b)処理単位に相当する。すなわち、暗号処理単位である1ユニット(1AU:Aligned Unit)である。情報記録媒体220に格納された暗号化データの再生を実行する情報処理装置210は、制御データ内のフラグに基づいて、暗号処理単位である1AU(Aligned Unit)を抽出する。
処理単位300には、18バイトの制御データ301と、6144バイトのユーザデータ(暗号化コンテンツを含む)が含まれる。6144バイトのユーザデータは、トランスポートストリームパケットの単位である192バイト毎に分割される。ユーザデータの先頭のTSパケット302と、後続の5952バイトのTSパケット群303を分離して説明する。この例では、シード情報(シード1)311が制御データ301に格納され、シード情報(シード2)312がユーザデータ内の先頭のTSパケット302内に暗号化されて格納された例である。
なお、シード情報としての、シード1、シード2の格納態様には複数の態様があり、ここではその一例を示す。他の例については、後段で説明する。
図8において、図3の処理ステップと同様の処理ステップには、同一の処理ステップ番号を付してある。
ステップS106(図3、図8)においては、情報記録媒体の制御データ内から読み出したシード情報(シード1)311をAES暗号処理部に入力し、先のステップS104において生成した記録キーK1を適用したAES暗号処理を実行しブロックキーKb1を生成する処理を実行する。なお、図8においてAES_Gは、AES暗号処理を適用した鍵生成(Key Generation)処理を示し、AES_Dは、AES暗号処理を適用したデータ復号(Decryption)処理を示している。
次に、図3のステップS107において、32TSパケットからなるユーザデータからステップS108の復号処理対象となる暗号化データ部のみが抽出され、ステップS108で抽出データの復号処理が実行され、ステップS109でさらに、ステップS111の復号処理対象となる暗号化データ部のみが抽出され、ステップS111で抽出データの復号処理が実行される。
さらに、ステップS112でステップS114の復号処理対象となる暗号化データ部のみが抽出され、ステップS114で抽出データの復号処理が実行され、ステップS114での復号処理結果データと、セレクタステップS112から出力する残りの非暗号化データとがステップS114aで連結されて、復号TSパケット群として、例えばMPEGデコーダに入力され、デコード処理がなされる。
ステップS108(図3、図8参照)では、ステップS106において生成したブロックキーKb1を適用したAES復号処理を実行する。ステップS108では、ブロックキーKb1を適用した暗号処理のなされたデータ部のみを対象とした復号処理が実行される。この例では、ユーザデータの先頭TSパケット302の少なくともシード情報(シード2)を含むデータ領域がブロックキーKb1を適用した暗号処理がなされ、かつ第3の暗号鍵K3を適用した暗号処理のなされたデータ部である。
第3の暗号鍵K3は、情報処理装置210に予め格納された秘密鍵、情報処理装置210に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵、または、情報記録媒体220に格納されたデータに基づいて生成する鍵として設定される。
図3に示す例では、情報記録媒体220に格納されたデータに基づいて生成する鍵を第3の暗号鍵K3として適用した例を示している。図3において、第3の暗号鍵K3は、情報記録媒体220に格納されたタイトルキー3,229と、ステップS101において生成したディスク固有キーからステップS113において生成するタイトル固有キーK3である。タイトル固有キーK3の生成プロセスは、先に図5、図7を参照して説明したステップS102、ステップS103のタイトル固有キー生成処理プロセスと同様であり、例えばタイトルキー3,229と、ディスク固有キーに基づくAES暗号処理により生成される。
なお、タイトルキー3,229は、タイトルキー1,223、タイトルキー2,224と同様、情報記録媒体220の一般データ格納領域または、リードインエリアに格納されたデータ管理ファイルから読み出される。
なお、ブロックキーKb1および、第3の暗号鍵K3を適用した暗号処理のなされたデータ部をどのデータ領域とするかについては、いくつかのパターンがあり、これらについては後述する。
図8に示す先頭TSパケット302には、他のユーザデータ部、すなわち、後続の5952バイトのTSパケット群303の復号処理に適用するブロックキーKb2を算出するために必要となるシード情報(シード2)312が含まれている。シード情報(シード2)312を含む先頭TSパケット302は、前述したように、ブロックキーKb1を適用した暗号処理、および、第3の暗号鍵K3を適用した暗号処理がなされた暗号化データである。
ステップS108における、ブロックキーKb1を適用した復号処理の結果として、第3の暗号鍵K3を適用した暗号処理のみがなされた暗号化TSパケット304が算出され、その中からシード情報(シード2)を抽出する。なお、シード情報(シード2)は格納したTSパケット304は、第3の暗号鍵K3(タイトル固有キーK3)で暗号化されているが、シード情報(シード2)はその暗号化TSパケットから抽出される情報である。
図3のセレクタステップS109は、ブロックキーKb1を適用した復号処理の結果から、シード情報(シード2)をステップS110のブロックキーKb2生成ステップに出力し、ブロックキーKb2で暗号化された暗号化データを復号ステップS111に出力し、その他のデータをセレクタステップS112に出力することを示している。
ステップS110(図3,図8参照)では、ステップS108におけるブロックキーKb1を適用した復号処理の結果取得されたTSパケット304から抽出したシード情報(シード2)と、ステップS105(図3参照)において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
次に、ステップS111において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域303)を復号し、復号TSパケット群305を生成する。
さらに、図3のセレクタステップS112は、第3の暗号鍵K3、すなわち、タイトル固有キーK3で暗号化されたTSパケット304を復号ステップS114に選択出力するステップである。
ステップS114(図3、図8参照)では、暗号化TSパケット304をタイトル固有キーK3で復号し復号TSパケット306を出力する。暗号化TSパケット304は、ステップS108で、TSパケット302を、ブロックキーKb1を適用して復号したデータである。すなわち、図8において示すシード情報(シード2)312を含む先頭TSパケット302は、ブロックキーKb1で暗号化され、さらに、第3の暗号鍵K3で2重に暗号化されたデータとして構成され、ステップS108におけるブロックキーKb1を適用した復号処理と、ステップS114における第3の暗号鍵K3(タイトル固有キーK3)を適用した復号処理を実行することで、復号TSパケット306が得られる。
復号TSパケット群305、および復号TSパケット306は結合されて、例えばMPEG2デコーダに入力され、デコードされた後、再生される。
このように、本発明の構成においては、暗号化コンテンツの復号に適用する鍵(ブロックキーKb2)を生成するために必要となるシード情報(シード2)を複数の他の鍵、すなわち、ブロックキーKb1と第3の暗号鍵K3によって暗号化して格納する構成としたので、シード情報(シード2)をディスクから直接読み取ることは不可能であり、従ってシード情報を用いて生成される鍵情報の解析、暗号アルゴリズムの解析の困難性が高まり、セキュリティレベルの高いコンテンツ保護が実現される。
なお、2つのシード情報の格納形態には、様々な態様があり、以下、複数の例について説明する。
図9に、シード情報(シード1)と、シード情報(シード2)とを共にユーザデータ内の先頭TSパケット302内に格納した例を示す。先に図8を参照して説明した例では、シード情報(シード1)311が制御データ301に格納され、シード情報(シード2)312がユーザデータ内の先頭のTSパケット302内に暗号化されて格納された例を説明したが、図9に示す構成例は、シード情報(シード1)321、シード情報(シード2)322、双方がユーザデータ内の先頭のTSパケット302内に格納された例である。
なお、先頭TSパケット302は、図8において説明した例と同様、シード情報(シード1)321を適用して取得されるブロックキーKb1によって暗号化され、かつ第3の暗号鍵K3によって暗号化された二重暗号化がなされたデータ領域として設定される。
図9において、復号処理は、処理単位300を単位として実行される。この処理単位は、先に図1を参照して説明した(b)処理単位に相当する1ユニット(1AU:Aligned Unit)である。情報記録媒体220に格納された暗号化データの再生を実行する情報処理装置210は、制御データ内のフラグに基づいて、暗号処理単位である1AU(Aligned Unit)を抽出する。
図9の処理について説明する。図9において、図3の処理ステップと同様の処理ステップには、同一の処理ステップ番号を付してある。
ステップS106(図3、図9)は、情報記録媒体のユーザデータの先頭TSパケット内から読み出したシード情報(シード1)321をAES暗号処理部に入力し、先のステップS104(図3参照)において生成した記録キーK1を適用したAES暗号処理を実行しブロックキーKb1生成処理を実行するステップである。
次に、図3のステップS107において、32TSパケットからなるユーザデータから、ステップS108におけるブロックキーKb1を適用した復号処理を実行すべきデータ部、すなわち先頭TSパケット302を選択し、ステップS108においてブロックキーKb1を適用した復号処理(AES復号処理)を実行し、TSパケット304を得る。TSパケット304は、第3の暗号鍵K3(タイトル固有キーK3)によって暗号化されたデータである。
この先頭TSパケット302の暗号化データ領域には、他のユーザデータ部、すなわち、後続の5952バイトのTSパケット群303の復号処理に適用するブロックキーKb2を算出するために必要となるシード情報(シード2)322が含まれている。
ステップS108(図3、図9参照)では、ステップS106において生成したブロックキーKb1を適用したAES復号処理を実行する。ステップS108では、ブロックキーKb1を適用した暗号処理のなされたデータ部のみを対象とした復号処理が実行される。この例では、ユーザデータの先頭TSパケット302の少なくともシード情報(シード2)を含むデータ領域がブロックキーKb1を適用した暗号処理がなされ、かつ第3の暗号鍵K3を適用した暗号処理のなされたデータ部である。
第3の暗号鍵K3は、情報処理装置210に予め格納された秘密鍵、情報処理装置210に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵、または、情報記録媒体220に格納されたデータに基づいて生成する鍵として設定される。ここでは、情報記録媒体220に格納されたタイトルキー3,229に基づいて生成するタイトル固有キーK3を第3の暗号鍵K3として適用した例を示している。
図9に示す先頭TSパケット302には、他のユーザデータ部、すなわち、後続の5952バイトのTSパケット群303の復号処理に適用するブロックキーKb2を算出するために必要となるシード情報(シード2)322が含まれ、シード情報(シード2)322を含む先頭TSパケット302は、前述したように、ブロックキーKb1を適用した暗号処理、および、第3の暗号鍵K3を適用した暗号処理がなされた暗号化データである。
ステップS108における、ブロックキーKb1を適用した復号処理の結果として、第3の暗号鍵K3を適用した暗号処理のみがなされた暗号化TSパケット304が算出され、その中からシード情報(シード2)を抽出する。
図3のセレクタステップS109は、ブロックキーKb1を適用した復号処理の結果から、シード情報(シード2)をステップS110のブロックキーKb2生成ステップに出力し、ブロックキーKb2で暗号化された暗号化データを復号ステップS111に出力し、その他のデータをセレクタステップS112に出力することを示している。
ステップS110(図3,図9参照)では、ステップS108におけるブロックキーKb1を適用した復号処理の結果取得されたTSパケット304から抽出したシード情報(シード2)と、ステップS105(図3参照)において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
次に、ステップS111において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域303)を復号し、復号TSパケット群305を生成する。
さらに、図3のセレクタステップS112は、第3の暗号鍵K3、すなわち、タイトル固有キーK3で暗号化されたTSパケット304を復号ステップS114に選択出力するステップである。
ステップS114(図3、図9参照)では、暗号化TSパケット304をタイトル固有キーK3で復号し復号TSパケット306を出力する。暗号化TSパケット304は、ステップS108で、TSパケット302を、ブロックキーKb1を適用して復号したデータである。すなわち、図9において示すシード情報(シード2)322を含む先頭TSパケット302は、ブロックキーKb1で暗号化され、さらに、第3の暗号鍵K3で2重に暗号化されたデータとして構成され、ステップS108におけるブロックキーKb1を適用した復号処理と、ステップS114における第3の暗号鍵K3(タイトル固有キーK3)を適用した復号処理を実行することで、復号TSパケット306が得られる。
復号TSパケット群305、および復号TSパケット306は結合されて、例えばMPEG2デコーダに入力され、デコードされた後、再生される。
このように、本構成においては、シード情報(シード1)と、シード情報(シード2)とを共にユーザデータ内の先頭TSパケット内に格納し、ブロックキーKb2を生成するために必要となるシード情報(シード2)は、シード情報(シード1)と、記録キーK1とに基づいて生成するブロックキーKb1によって暗号化し、さらに、第3の暗号鍵K3によって暗号化される領域(先頭TSパケット)に格納する構成としたので、シード情報(シード2)をディスクから直接読み取ることは不可能であり、従ってシード情報を用いて生成される鍵情報の解析、暗号アルゴリズムの解析の困難性が高まり、セキュリティレベルの高いコンテンツ保護が実現される。
図10に示す例は、シード情報(シード1)331をユーザデータ内の先頭TSパケット302に格納し、シード情報(シード2)332をユーザデータ内の次の第2TSパケット341に格納した例である。
なお、先頭TSパケット302と、第2TSパケット341は、シード情報(シード1)331を適用して取得されるブロックキーKb1によって暗号化され、さらに、第3の暗号鍵K3によって暗号化された二重暗号化がなされたデータ領域として設定される。
図10において、復号処理は、処理単位300を単位として実行される。この処理単位は、先に図1を参照して説明した(b)処理単位に相当する1ユニット(1AU:Aligned Unit)である。情報記録媒体220に格納された暗号化データの再生を実行する情報処理装置210は、制御データ内のフラグに基づいて、暗号処理単位である1AU(Aligned Unit)を抽出する。
図10の処理について説明する。図10において、図3の処理ステップと同様の処理ステップには、同一の処理ステップ番号を付してある。
ステップS106(図3、図10)は、情報記録媒体のユーザデータの先頭TSパケット内から読み出したシード情報(シード1)331をAES暗号処理部に入力し、先のステップS104(図3参照)において生成した記録キーK1を適用したAES暗号処理を実行してブロックキーKb1を生成するステップである。
次に、図3のステップS107において、32TSパケットからなるユーザデータからステップS108におけるブロックキーKb1を適用した復号処理を実行すべきデータ部、すなわち先頭TSパケット302と第2TSパケット341を選択し、ステップS108においてブロックキーKb1を適用した復号処理(AES復号処理)を実行し、TSパケット304を得る。TSパケット304は、第3の暗号鍵K3(タイトル固有キーK3)によって暗号化されたデータである。
ステップS108における、ブロックキーKb1を適用した復号処理の結果として、第3の暗号鍵K3を適用した暗号処理のみがなされた暗号化TSパケット304が算出され、その中からシード情報(シード2)を抽出する。
図3のセレクタステップS109は、ブロックキーKb1を適用した復号処理の結果から、シード情報(シード2)をステップS110のブロックキーKb2生成ステップに出力し、ブロックキーKb2で暗号化された暗号化データを復号ステップS111に出力し、その他のデータをセレクタステップS112に出力することを示している。
ステップS110(図3,図10参照)では、ステップS108におけるブロックキーKb1を適用した復号処理の結果取得されたTSパケット304から抽出したシード情報(シード2)と、ステップS105(図3参照)において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
次に、ステップS111において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域342)を復号し、復号TSパケット群305を生成する。
さらに、図3のセレクタステップS112は、第3の暗号鍵K3、すなわち、タイトル固有キーK3で暗号化された先頭および次のTSパケットからなるTSパケット304を復号ステップS114に選択出力するステップである。
ステップS114(図3、図10参照)では、暗号化TSパケット304をタイトル固有キーK3で復号し復号TSパケット306を出力する。図10において示す先頭TSパケット302と次のTSパケット341は、ブロックキーKb1で暗号化され、さらに、第3の暗号鍵K3で2重に暗号化されたデータとして構成され、ステップS108におけるブロックキーKb1を適用した復号処理と、ステップS114における第3の暗号鍵K3(タイトル固有キーK3)を適用した復号処理を実行することで、復号TSパケット306が得られる。
復号TSパケット群305、および復号TSパケット306は結合されて、例えばMPEG2デコーダに入力され、デコードされた後、再生される。
このように、本構成においては、シード情報(シード1)と、シード情報(シード2)とを共にユーザデータ内の先頭TSパケット内に格納し、ブロックキーKb2を生成するために必要となるシード情報(シード2)をユーザデータ内の第2TSパケット内に格納し、先頭TSパケットおよび、シード情報(シード2)を含む第2TSパケットを、シード情報(シード1)と、記録キーK1とに基づいて生成するブロックキーKb1によって暗号化し、さらに、第3の暗号鍵K3によって暗号化される領域(先頭TSパケット)に格納する構成としたので、シード情報(シード2)をディスクから直接読み取ることは不可能であり、従ってシード情報を用いて生成される鍵情報の解析、暗号アルゴリズムの解析の困難性が高まり、セキュリティレベルの高いコンテンツ保護が実現される。
なお、上述した例において、第3の暗号鍵K3を情報記録媒体220に格納されたデータ(タイトルキー3)に基づいて生成する鍵として設定した例を説明したが、第3の暗号鍵K3は、情報処理装置210に予め格納された秘密鍵、情報処理装置210に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵として設定することが可能である。
例えば図11に示すように、第3の暗号鍵K3,230を情報処理装置210に予め格納された秘密鍵、情報処理装置210に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵として設定し、情報記録媒体220からの取得データに基づく生成処理を不要とする構成が可能である。
また、上述した例では、ブロック鍵Kb1と、第3の暗号鍵K3とで暗号化されたシード情報(シード2)格納領域についての復号処理をまず、ブロック鍵Kb1を適用して実行し、この第1の復号処理の結果からシード情報(シード2)を取得して、この取得シード情報(シード2)を適用してブロック鍵Kb2を生成する構成例を説明したが、ブロック鍵Kb1と、第3の暗号鍵K3とで暗号化されたシード情報(シード2)格納領域について、ブロック鍵Kb1を適用した復号処理と、第3の暗号鍵K3を適用した復号処理を続けて実行し、この連続復号処理の結果からシード情報(シード2)を取得して、この取得シード情報(シード2)を適用してブロック鍵Kb2を生成する構成とすることも可能である。以下、このブロック鍵Kb1を適用した復号処理と、第3の暗号鍵K3を適用した復号処理を続けて実行する処理例について説明する。
図12にブロック鍵Kb1を適用した復号処理と、第3の暗号鍵K3を適用した復号処理を続けて実行するデータ復号処理の手順を説明する図を示す。図12に示す処理は、主に図2に示す暗号処理手段150が実行する処理である。
情報処理装置210は自身のメモリ180(図2参照)に格納しているマスターキー211を読み出す。マスターキー211は、複数の情報処理装置に共通なキーとして格納されるキー、または、ライセンスを受けた情報処理装置に格納されたデバイスキーに基づいて、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号することにより取得されるキーである。
情報処理装置210は情報記録媒体220に識別情報としてのディスクID(Disc ID)221が既に記録されているかどうかを検査する。記録されていれば、ディスクID(Disc ID)221を情報記録媒体220から読出す。ディスクID(Disc ID)221は、ディスク固有情報であり、例えば一般データ格納領域または、リードインエリアに格納される。
次に、情報処理装置210は、ステップS201において、マスターキー211とディスクID221を用いて、ディスク固有キー(Disc Unique Key)を生成する。ディスク固有キー(Disc Unique Key)の具体的な生成方法としては、先に図4を参照して説明した処理が適用可能である。
次に、ステップS202〜S204において、記録コンテンツごとの3つの固有鍵であるタイトルキー(Title Key)1,223、タイトルキー2,224、タイトルキー3,229を情報記録媒体220から読出し、ディスク固有キー(Disc Unique Key)と各タイトルキー(Title Key)1,2,3から、3つのタイトル固有キー(Title Unique Key)1,2,3を生成する。タイトル固有キー3は、第3の暗号鍵として使用される。
さらに、情報処理装置210は、タイトル固有キー1,2と、情報記録媒体220から読み出した記録シード(REC SEED)225、物理インデックス226とに基づいて、ステップS205、S206において、記録キー(RECキー)K1,K2を生成する。記録キー(RECキー)の生成は、先に、図5、図7を参照して説明したと同様の方法が適用される。
次に、ステップS207において、ブロックキーKb1の生成処理を実行する。ブロックキーKb1の生成処理においては、情報記録媒体220からブロックキーKb1生成情報としてのシード情報(シード1)227を読み出し、シード情報(シード1)227と、ステップS104において生成した記録キーK1とに基づくAES暗号処理等のデータ処理を実行してブロックキーKb1を生成する。
ステップS207のブロックキーKb1の生成処理以降に実行する処理について、図13を参照して説明する。
図13において、復号処理は、処理単位350を単位として実行される。この処理単位は、先に図1を参照して説明した(b)処理単位に相当する。すなわち、暗号処理単位である1ユニット(1AU:Aligned Unit)である。情報記録媒体220に格納された暗号化データの再生を実行する情報処理装置210は、制御データ内のフラグに基づいて、暗号処理単位である1AU(Aligned Unit)を抽出する。
処理単位350には、18バイトの制御データ351と、6144バイトのユーザデータ(暗号化コンテンツを含む)が含まれる。6144バイトのユーザデータは、トランスポートストリームパケットの単位である192バイト毎に分割される。ユーザデータの先頭のTSパケット352と、後続の5952バイトのTSパケット群353を分離して説明する。この例では、シード情報(シード1)361が制御データ351に格納され、シード情報(シード2)362がユーザデータ内の先頭のTSパケット352内に暗号化されて格納された例である。
図13において、図12の処理ステップと同様の処理ステップには、同一の処理ステップ番号を付してある。
ステップS207(図12、図13)においては、情報記録媒体の制御データ内から読み出したシード情報(シード1)361をAES暗号処理部に入力し、先のステップS206において生成した記録キーK1を適用したAES暗号処理を実行しブロックキーKb1を生成する処理を実行する。
次に、図12のステップS208において、32TSパケットからなるユーザデータからステップS209の復号処理対象となる暗号化データ部のみが抽出され、ステップS209で抽出データの復号処理が実行され、ステップS210でさらに、ステップS211の復号処理対象となる暗号化データ部のみが抽出され、ステップS211で抽出データの復号処理が実行される。
さらに、ステップS212でステップS214の復号処理対象となる暗号化データ部のみが抽出され、ステップS214で抽出データの復号処理が実行され、ステップS214での復号処理結果データと、セレクタステップS212から出力する残りの非暗号化データとがセレクタステップS215において連結されて、復号TSパケット群として、例えばMPEGデコーダに入力され、デコード処理がなされる。
ステップS209(図12、図13参照)では、ステップS207において生成したブロックキーKb1を適用したAES復号処理を実行する。ステップS209では、ブロックキーKb1を適用した暗号処理のなされたデータ部のみを対象とした復号処理が実行される。この例では、ユーザデータの先頭TSパケット352の少なくともシード情報(シード2)を含むデータ領域がブロックキーKb1を適用した暗号処理がなされ、かつ第3の暗号鍵K3を適用した暗号処理のなされたデータ部である。
第3の暗号鍵K3は、情報処理装置210に予め格納された秘密鍵、情報処理装置210に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵、または、情報記録媒体220に格納されたデータに基づいて生成する鍵として設定される。
図12に示す例では、情報記録媒体220に格納されたデータに基づいて生成する鍵を第3の暗号鍵K3として適用した例を示している。図12において、第3の暗号鍵K3は、情報記録媒体220に格納されたタイトルキー3,229と、ステップS201において生成したディスク固有キーからステップS203において生成するタイトル固有キーK3である。
図13に示す先頭TSパケット352には、他のユーザデータ部、すなわち、後続の5952バイトのTSパケット群353の復号処理に適用するブロックキーKb2を算出するために必要となるシード情報(シード2)362が含まれている。シード情報(シード2)362を含む先頭TSパケット352は、前述したように、ブロックキーKb1を適用した暗号処理、および、第3の暗号鍵K3を適用した暗号処理がなされた暗号化データである。
ステップS209における、ブロックキーKb1を適用した復号処理の結果として、第3の暗号鍵K3を適用した暗号処理のみがなされた暗号化TSパケットが算出される。このTSパケットをセレクタステップS210において、他データと結合し、ステップS211において、第3の暗号鍵K3(タイトル固有キーK3)を適用した復号処理を実行する。
ステップS211における第3の暗号鍵K3を適用した復号処理の対象となるデータは、図13の例では、シード情報(シード2)362を含む先頭TSパケット352である。このように、先頭TSパケット352をブロック鍵Kb1と、第3の暗号鍵(タイトル固有キーK3)を適用して連続復号処理を実行して、復号TSパケット354を取得し、その中からシード情報(シード2)を抽出する。
図12のセレクタステップS212は、ブロックキーKb1および第3の暗号鍵(タイトル固有キーK3)を適用した復号処理の結果から、シード情報(シード2)をステップS213のブロックキーKb2生成ステップに出力し、ブロックキーKb2で暗号化された暗号化データを復号ステップS214に出力し、その他のデータをセレクタステップS215に出力することを示している。
ステップS213(図12,図13参照)では、ステップS209,S211におけるブロックキーKb1および第3の暗号鍵(タイトル固有キーK3)を適用した復号処理の結果取得されたTSパケット354から抽出したシード情報(シード2)と、ステップS206(図12参照)において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
次に、ステップS214において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域353)を復号し、復号TSパケット群355を生成する。
復号TSパケット群355、および復号TSパケット354は結合されて、例えばMPEG2デコーダに入力され、デコードされた後、再生される。
このように、本発明の構成においては、暗号化コンテンツの復号に適用する鍵(ブロックキーKb2)を生成するために必要となるシード情報(シード2)を複数の他の鍵、すなわち、ブロックキーKb1と第3の暗号鍵K3によって暗号化して格納する構成としたので、シード情報(シード2)をディスクから直接読み取ることは不可能であり、従ってシード情報を用いて生成される鍵情報の解析、暗号アルゴリズムの解析の困難性が高まり、セキュリティレベルの高いコンテンツ保護が実現される。
図14に、シード情報(シード1)と、シード情報(シード2)とを共にユーザデータ内の先頭TSパケット302内に格納した例を示す。先に図13を参照して説明した例では、シード情報(シード1)361が制御データ351に格納され、シード情報(シード2)362がユーザデータ内の先頭のTSパケット352内に暗号化されて格納された例を説明したが、図14に示す構成例は、シード情報(シード1)371、シード情報(シード2)372、双方がユーザデータ内の先頭のTSパケット352内に格納された例である。
なお、先頭TSパケット352は、図13において説明した例と同様、シード情報(シード1)371を適用して取得されるブロックキーKb1によって暗号化され、かつ第3の暗号鍵K3によって暗号化された二重暗号化がなされたデータ領域として設定される。
ステップS207(図12、図14)においては、情報記録媒体の先頭TSパケット352から読み出したシード情報(シード1)371をAES暗号処理部に入力し、先のステップS206において生成した記録キーK1を適用したAES暗号処理を実行しブロックキーKb1を生成する処理を実行する。
次に、図12のステップS208において、32TSパケットからなるユーザデータからステップS209の復号処理対象となる暗号化データ部のみが抽出され、ステップS209で抽出データの復号処理が実行され、ステップS210でさらに、ステップS211の復号処理対象となる暗号化データ部のみが抽出され、ステップS211で抽出データの復号処理が実行される。
さらに、ステップS212でステップS214の復号処理対象となる暗号化データ部のみが抽出され、ステップS214で抽出データの復号処理が実行され、ステップS214での復号処理結果データと、セレクタステップS212から出力する残りの非暗号化データとがセレクタステップS215において連結されて、復号TSパケット群として、例えばMPEGデコーダに入力され、デコード処理がなされる。
ステップS209(図12、図14参照)では、ステップS207において生成したブロックキーKb1を適用したAES復号処理を実行する。ステップS209では、ブロックキーKb1を適用した暗号処理のなされたデータ部のみを対象とした復号処理が実行される。この例では、ユーザデータの先頭TSパケット352の少なくともシード情報(シード2)を含むデータ領域がブロックキーKb1を適用した暗号処理がなされ、かつ第3の暗号鍵K3を適用した暗号処理のなされたデータ部である。
第3の暗号鍵K3は、情報処理装置210に予め格納された秘密鍵、情報処理装置210に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵、または、情報記録媒体220に格納されたデータに基づいて生成する鍵として設定される。
図12に示す例では、情報記録媒体220に格納されたデータに基づいて生成する鍵を第3の暗号鍵K3として適用した例を示している。図12において、第3の暗号鍵K3は、情報記録媒体220に格納されたタイトルキー3,229と、ステップS201において生成したディスク固有キーからステップS203において生成するタイトル固有キーK3である。
図14に示す先頭TSパケット352には、他のユーザデータ部、すなわち、後続の5952バイトのTSパケット群353の復号処理に適用するブロックキーKb2を算出するために必要となるシード情報(シード2)372が含まれている。シード情報(シード2)372を含む先頭TSパケット352は、前述したように、ブロックキーKb1を適用した暗号処理、および、第3の暗号鍵K3を適用した暗号処理がなされた暗号化データである。
ステップS209における、ブロックキーKb1を適用した復号処理の結果として、第3の暗号鍵K3を適用した暗号処理のみがなされた暗号化TSパケットが算出される。このTSパケットをセレクタステップS210において、他データと結合し、ステップS211において、第3の暗号鍵K3(タイトル固有キーK3)を適用した復号処理を実行する。
ステップS211における第3の暗号鍵K3を適用した復号処理の対象となるデータは、図14の例では、シード情報(シード2)372を含む先頭TSパケット352である。このように、先頭TSパケット352をブロック鍵Kb1と、第3の暗号鍵(タイトル固有キーK3)を適用して連続復号処理を実行して、復号TSパケット354を取得し、その中からシード情報(シード2)を抽出する。
図12のセレクタステップS212は、ブロックキーKb1および第3の暗号鍵(タイトル固有キーK3)を適用した復号処理の結果から、シード情報(シード2)をステップS213のブロックキーKb2生成ステップに出力し、ブロックキーKb2で暗号化された暗号化データを復号ステップS214に出力し、その他のデータをセレクタステップS215に出力することを示している。
ステップS213(図12,図14参照)では、ステップS209,S211におけるブロックキーKb1および第3の暗号鍵(タイトル固有キーK3)を適用した復号処理の結果取得されたTSパケット354から抽出したシード情報(シード2)と、ステップS206(図12参照)において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
次に、ステップS214において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域353)を復号し、復号TSパケット群355を生成する。
復号TSパケット群355、および復号TSパケット354は結合されて、例えばMPEG2デコーダに入力され、デコードされた後、再生される。
このように、本構成においては、暗号化コンテンツの復号に適用する鍵(ブロックキーKb2)を生成するために必要となるシード情報(シード2)を複数の他の鍵、すなわち、ブロックキーKb1と第3の暗号鍵K3によって暗号化して格納する構成としたので、シード情報(シード2)をディスクから直接読み取ることは不可能であり、従ってシード情報を用いて生成される鍵情報の解析、暗号アルゴリズムの解析の困難性が高まり、セキュリティレベルの高いコンテンツ保護が実現される。
図15に示す例は、シード情報(シード1)381をユーザデータ内の先頭TSパケット352に格納し、シード情報(シード2)382をユーザデータ内の次の第2TSパケット391に格納した例である。
なお、先頭TSパケット352と、第2TSパケット391は、シード情報(シード1)381を適用して取得されるブロックキーKb1によって暗号化され、さらに、第3の暗号鍵K3によって暗号化された二重暗号化がなされたデータ領域として設定される。
図15の処理について説明する。図15において、図12の処理ステップと同様の処理ステップには、同一の処理ステップ番号を付してある。
ステップS207(図12、図15)は、情報記録媒体のユーザデータの先頭TSパケット内から読み出したシード情報(シード1)381をAES暗号処理部に入力し、先のステップS205(図12参照)において生成した記録キーK1を適用したAES暗号処理を実行してブロックキーKb1を生成するステップである。
次に、図12のステップS208において、32TSパケットからなるユーザデータからステップS209におけるブロックキーKb1を適用した復号処理を実行すべきデータ部、すなわち先頭TSパケット352と第2TSパケット391を選択し、ステップS209においてブロックキーKb1を適用した復号処理(AES復号処理)を実行する。
ステップS209における、ブロックキーKb1を適用した復号処理の結果として、第3の暗号鍵K3を適用した暗号処理のみがなされた暗号化TSパケットが算出される。このTSパケットをセレクタステップS210において、他データと結合し、ステップS211において、第3の暗号鍵K3(タイトル固有キーK3)を適用した復号処理を実行する。
ステップS211における第3の暗号鍵K3を適用した復号処理の対象となるデータは、図15の例では、先頭TSパケット352と、シード情報(シード2)382を含む第2TSパケット391である。このように、先頭TSパケット352および第2TSパケット391をブロック鍵Kb1と、第3の暗号鍵(タイトル固有キーK3)を適用して連続復号処理を実行して、復号TSパケット354を取得し、その中からシード情報(シード2)を抽出する。
図12のセレクタステップS212は、ブロックキーKb1および第3の暗号鍵(タイトル固有キーK3)を適用した復号処理の結果から、シード情報(シード2)をステップS213のブロックキーKb2生成ステップに出力し、ブロックキーKb2で暗号化された暗号化データを復号ステップS214に出力し、その他のデータをセレクタステップS215に出力することを示している。
ステップS213(図12,図15参照)では、ステップS209,S211におけるブロックキーKb1および第3の暗号鍵(タイトル固有キーK3)を適用した復号処理の結果取得されたTSパケット354から抽出したシード情報(シード2)と、ステップS206(図12参照)において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
次に、ステップS214において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域392)を復号し、復号TSパケット群355を生成する。
復号TSパケット群355、および復号TSパケット354は結合されて、例えばMPEG2デコーダに入力され、デコードされた後、再生される。
このように、本構成においては、シード情報(シード1)と、シード情報(シード2)とを共にユーザデータ内の先頭TSパケット内に格納し、ブロックキーKb2を生成するために必要となるシード情報(シード2)をユーザデータ内の第2TSパケット内に格納し、先頭TSパケットおよび、シード情報(シード2)を含む第2TSパケットを、シード情報(シード1)と、記録キーK1とに基づいて生成するブロックキーKb1によって暗号化し、さらに、第3の暗号鍵K3によって暗号化される領域(先頭TSパケット)に格納する構成としたので、シード情報(シード2)をディスクから直接読み取ることは不可能であり、従ってシード情報を用いて生成される鍵情報の解析、暗号アルゴリズムの解析の困難性が高まり、セキュリティレベルの高いコンテンツ保護が実現される。
なお、上述した例において、第3の暗号鍵K3を情報記録媒体220に格納されたデータ(タイトルキー3)に基づいて生成する鍵として設定した例を説明したが、第3の暗号鍵K3は、情報処理装置210に予め格納された秘密鍵、情報処理装置210に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵として設定することが可能である。
例えば図16に示すように、第3の暗号鍵K3,230を情報処理装置210に予め格納された秘密鍵、情報処理装置210に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵として設定し、情報記録媒体220からの取得データに基づく生成処理を不要とする構成が可能である。
次に、図17、図18、図19を参照してシード情報(シード1)と記録キーKに基づいて生成するブロックキーKb1と、第3の暗号鍵K3によって暗号化する領域の例について説明する。図17は、制御ブロックにシード情報(シード1)が格納され、シード情報(シード2)が、ユーザデータの1つのTSパケットに含まれる場合の例である。
なお、上述の例では、シード情報(シード2)が、ユーザデータの先頭または2番目のTSパケット内に含まれる場合について説明したが、シード情報(シード2)は、先頭、または第2番目のTSパケット以外のユーザデータ部を構成する任意のTSパケット内に格納可能である。
ユーザデータのいずれかのTSパケットにシード情報(シード2)を格納した場合、シード情報(シード1)と記録キーK1とに基づいて生成するブロックキーKb1と、第3の暗号鍵K3によって暗号化する領域例として、例えば図17(a)〜(c)の構成がある。(a)は、シード情報(シード2)のみをブロックキーKb1と、第3の暗号鍵K3によって暗号化した例である。それ以外の領域は、非暗号化領域とするか、あるいは、シード情報(シード2)と記録キーK2によって生成されるブロックキーKb2によって暗号化したデータ領域とする。
(b)は、シード情報(シード2)を含むTSパケットの一部領域をブロックキーKb1によって暗号化し、TSパケットの全領域を第3の暗号鍵K3によって暗号化した例である。
例えばコンテンツ編集スタジオ282(図6参照)においてシード情報(シード2)と編集識別子(編集ID)をTSパケット内に格納し、ディスク製造エンティテイ283(図6参照)において、シード情報(シード1)に基づいて生成可能な記録キーK1を用いて、シード情報(シード2)の暗号化処理を行った後、ディスクに格納する。
(c)は、シード情報(シード2)を含む1つのTSパケットの全領域をブロックキーKb1と、第3の暗号鍵K3によって暗号化した例である。
図18に示す例は、シード情報(シード1)とシード情報(シード2)を同一のTSパケット内に格納した例を示している。シード情報(シード1)はブロックキーKb1およびKb2による非暗号化情報として格納される。シード情報(シード2)は、シード情報(シード1)と記録キーK1とに基づいて生成するブロックキーKb1と、第3の暗号鍵K3によって暗号化され、シード情報(シード1)と同一のTSパケット内に格納される。
(d)は、シード情報(シード2)のみをブロックキーKb1と、第3の暗号鍵K3によって暗号化した例である。それ以外の領域は、非暗号化領域とするか、あるいは、シード情報(シード2)と記録キーK2によって生成されるブロックキーKb2によって暗号化したデータ領域とする。
(e)は、シード情報(シード2)を含むTSパケットの一部領域をブロックキーKb1によって暗号化し、TSパケットの全領域を第3の暗号鍵K3によって暗号化した例である。(f)は、シード情報(シード2)を含む1つのTSパケットの全領域をブロックキーKb1と、第3の暗号鍵K3によって暗号化した例である。
図19に示す例は、シード情報(シード1)とシード情報(シード2)を異なるTSパケット内に格納した例を示している。シード情報(シード1)はブロックキーKb1およびKb2による非暗号化情報として格納される。シード情報(シード2)は、シード情報(シード1)と記録キーK1とに基づいて生成するブロックキーKb1と、第3の暗号鍵K3によって暗号化され、シード情報(シード1)と異なるTSパケット内に格納される。
(g)は、シード情報(シード2)のみをブロックキーKb1と、第3の暗号鍵K3によって暗号化した例である。それ以外の領域は、非暗号化領域とするか、あるいは、シード情報(シード2)と記録キーK2によって生成されるブロックキーKb2によって暗号化したデータ領域とする。
(h)は、シード情報(シード2)を含む1つのTSパケットの全領域をブロックキーKb1と、第3の暗号鍵K3によって暗号化した例である。(i)は、シード情報(シード2)を含む1つのTSパケットの全領域をブロックキーKb1と、第3の暗号鍵K3によって暗号化した例である。
以上、図17〜図19を参照して説明したように、シード情報(シード1)およびシード情報(シード2)の格納態様、および暗号化データ領域の設定態様は様々な設定が可能である。しかし、いずれの場合もシード情報(シード2)は、シード情報(シード1)を用いて生成される鍵、すなわちブロックキーKb1と、第3の暗号鍵K3によって暗号化されて格納されるので、情報記録媒体からの直接読み取りが不可能となり、シード情報(シード2)の解析、シード情報(シード2)を適用して生成するブロックキーKb2の解析、ブロックキーKb2によって暗号化されるユーザデータの暗号化アルゴリズムの解析困難性を高めることが可能となる。さらに、シード情報(シード1)を第3の暗号鍵K3によって暗号化する場合には、シード情報(シード1)の解析、シード情報(シード1)を適用して生成するブロックキーKb1の解析、ブロックキーKb1によって暗号化されるユーザデータの暗号化アルゴリズムの解析困難性を高めることが可能となる。
[情報記録媒体ドライブ装置とのインタフェースを介するデータ入出力構成]
次に、PC等の情報処理装置において、様々なインタフェース、例えばSCSI、IEEEE1394、USB等のインタフェースを介してDVD、CD等の情報記録媒体を装着した情報記録媒体ドライブと接続し、インタフェースを介してデータ転送を実行する場合の処理例について説明する。
例えば、図20に示すように、PC等の情報処理装置410と、DVD、CD等の情報記録媒体430を装着した情報記録媒体ドライブ420とを双方のインタフェース411,421を介して接続した構成であり、情報記録媒体ドライブ420が情報記録媒体430に対するアクセスを実行し、データを双方のインタフェース411,421を介して転送し、PC等の情報処理装置410において再生する構成である。
図に示すように、インタフェース411,421を介してデータが転送される場合、転送データに上述したシード情報(シード2)が非暗号化状態で含まれると、転送データからのシード情報(シード2)の漏洩が発生する可能性がある。
そこで、本発明の構成においては、情報処理装置410と情報記録媒体ドライブ420間でインタフェースを介してデータ転送が実行される場合、双方の装置間において、認証処理を実行し、認証処理の結果、双方の機器で取得するセッションキーを用いて転送データを暗号化して送信する構成とした。以下、この処理構成の詳細について説明する。
図21に、PC等の情報処理装置500と情報記録媒体ドライブ510において、暗号化コンテンツを格納した情報記録媒体520のデータ読み出し、再生を実行する場合の処理を説明する図を示す。なお、情報処理装置500と情報記録媒体ドライブ510とも、先に図2を参照して説明した構成とほぼ同様の構成を持つ。ただし、PC等の情報処理装置500は、図2に示す記録媒体195およびドライブ190は必須ではなく、これらは、情報記録媒体ドライブ510のみが備えていればよい。また、MPEGコーデック130、TS処理手段198はPC等の情報処理装置500のみが有する構成でよく、情報記録媒体ドライブ510には構成する必要がない。
図21を参照して、情報記録媒体520のデータを情報記録媒体ドライブ510において読み出し、情報処理装置500に転送して再生する場合の処理を説明する。
情報記録媒体ドライブ510は自身のメモリ180(図2参照)に格納しているマスターキー511を読み出す。なお、マスターキー511は、情報処理装置500側に格納されている場合は、情報処理装置500から情報記録媒体ドライブ510に送信してもよい。マスターキー511は、ライセンスを受けた情報処理装置(情報記録媒体ドライブを含む)に格納されたキー、あるいは格納情報に基づいて生成されるキーである。
情報記録媒体ドライブ510は、ディスクID(Disc ID)521を情報記録媒体520から読出す。ディスクID(Disc ID)521は、ディスク固有情報であり、例えば一般データ格納領域または、リードインエリアに格納される。
次に、情報記録媒体ドライブ510は、ステップS551において、マスターキー511とディスクID521を用いて、ディスク固有キー(Disc Unique Key)を生成する。ディスク固有キー(Disc Unique Key)の具体的な生成方法は、先に図4を参照して説明したと同様の方法が適用できる。
次に、記録コンテンツごとの2つの固有鍵であるタイトルキー(Title Key)1,523、タイトルキー2,524を情報記録媒体520から読出す。ディスク上には、どこのデータがどんなタイトルを構成するかという情報が格納されたデータ管理ファイルがあり、このファイルにタイトルキーが格納されている。ディスク1枚に対してタイトルキーが1組しかない場合、すなわちディスクID521に対するタイトルキーが一意に決定できる場合には、ディスクID521と同様の方法で、例えば一般データ格納領域または、リードインエリアに格納するようにしてもよい。
次にステップS552およびステップS553において、ディスク固有キー(Disc Unique Key)とタイトルキー(Title Key)1,2から、2つのタイトル固有キー(Title Unique Key)1,2を生成する。
さらに、情報記録媒体ドライブ510は、ステップS552およびステップS553において生成した2つのタイトル固有キー(Title Unique Key)1,2と、情報記録媒体520から読み出した記録シード(REC SEED)525、物理インデックス526とに基づいて、ステップS554、S555において、2つの記録キー(RECキー)K1,K2を生成する。
ステップS552〜S555において実行する2つの記録キー(RECキー)K1,K2の生成処理は、先に図5を参照して説明した通り、2つのタイトル固有キー(Title Unique Key)1,2と、情報記録媒体520から読み出した記録シード(REC SEED)525、物理インデックス526とに基づくAES(Advanced Encryption Standard)暗号処理により生成される。
なお、先に図7を参照して説明した通り、記録シード(REC SEED)525、物理インデックス526を情報記録媒体520に格納する代わりに編集(オーサリング)毎に設定される乱数等のランダム値をディスクキーシードとして情報記録媒体520に格納して、ディスクキーシードに対してディスク固有キーを適用して、AES暗号処理を実行し、その出力からタイトル固有キー1、タイトル固有キー2を得る方法としてもよい。
上述のいずれかの方法により、ステップS554、S555において2つの記録キー(RECキー)1,2を生成すると、次に、ステップS556において、ブロックキーKb1の生成処理を実行する。
ブロックキーKb1の生成処理においては、情報記録媒体520からブロックキーKb1生成情報としてのシード情報(シード1)527を読み出し、シード情報(シード1)527と、ステップS554において生成した記録キーK1とに基づくAES暗号処理等のデータ処理を実行してブロックキーKb1を生成する。
ステップS556のブロックキーKb1の生成処理以降に実行する処理について、図22を参照して説明する。
図22において、復号処理は、処理単位600を単位として実行される。この処理単位は、先に図1を参照して説明した(b)処理単位に相当する。すなわち、暗号処理単位である1ユニット(1AU:Aligned Unit)である。情報記録媒体520に格納された暗号化データの読み取りを実行する情報記録媒体ドライブ510は、制御データ内のフラグに基づいて、暗号処理単位である1AU(Aligned Unit)を抽出する。
処理単位600には、18バイトの制御データ601と、6144バイトのユーザデータ(暗号化コンテンツを含む)が含まれる。6144バイトのユーザデータは、トランスポートストリームパケットの単位である192バイト毎に分割される。ユーザデータの先頭のTSパケット602と、後続の5952バイトのTSパケット群603を分離して説明する。この例では、シード情報(シード1)611が制御データ601に格納され、シード情報(シード2)612がユーザデータ内の先頭のTSパケット602内に暗号化されて格納された例である。シード情報(シード2)612を含むデータ領域であるTSパケット602は、シード情報(シード1)611を適用して取得されるブロックキーKb1と第3の暗号鍵K3によって暗号化されたデータ領域である。
なお、シード情報としての、シード1、シード2の格納態様には複数の態様があり、ここではその一例を示す。他の例については、後段で説明する。
図22において、図21の処理ステップと同様の処理ステップには、同一の処理ステップ番号を付してある。
ステップS556(図21、図22)は、情報記録媒体の制御データ内から読み出したシード情報(シード1)611をAES暗号処理部に入力し、先のステップS554において生成した記録キーK1を適用したAES暗号処理を実行しブロックキーKb1生成処理を実行するステップである。
次に、図21のステップS557において、32TSパケットからなるユーザデータからブロックキーKb1による暗号化データ部のみが抽出される。ブロックキーKb1による復号処理を実行すべきデータ部、その他のデータ部がステップS557において分離されて、選択データ部のみがステップS558において復号される。その他のデータ部は、ステップS558をスキップし、ステップS559において、再度セレクタステップにより復号データと連結され、ステップS563においてセッションキーによって暗号化がなされる。
ステップS558(図21、図22参照)では、ステップS556において生成したブロックキーKb1を適用したAES復号処理を実行する。ステップS558では、ブロックキーKb1を適用した暗号処理のなされたデータ部のみを対象とした復号処理が実行される。この例では、ユーザデータの先頭TSパケット602の少なくともシード情報(シード2)を含むデータ領域がブロックキーKb1を適用した暗号処理のなされたデータ部である。従って、このシード情報(シード2)を含むデータ領域を対象としてブロックキーKb1を適用した復号処理を実行する。
なお、ブロックキーKb1を適用した暗号処理のなされたデータ部は、第3の暗号鍵K3によっても暗号化されている。ブロックキーKb1および第3の暗号鍵K3による暗号化領域をどのデータ領域とするかについては、いくつかのパターンがあり、これらについては、先に、図17〜図19を参照して説明した通りである。
先頭TSパケット602には、他のユーザデータ部、すなわち、後続の5952バイトのTSパケット群603の復号処理に適用するブロックキーKb2を算出するために必要となるシード情報(シード2)612が含まれている。すなわち、シード情報(シード2)612は、ブロックキーKb1および第3の暗号鍵K3を適用した二重暗号処理がなされた暗号化データとして先頭TSパケット602に記録されている。
ステップS558における、ブロックキーKb1を適用した復号処理の結果として、第3の暗号鍵K3によって暗号化された暗号化TSパケット604が算出され、その中には、シード情報(シード2)が含まれる。
図21のセレクタステップS559は、ブロックキーKb1を適用した復号処理の結果から、シード情報(シード2)を含むデータと、その他のデータを結合して、暗号化ステップS563に出力することを示している。
ステップS563における暗号化処理は、情報記録媒体ドライブ510と、情報処理装置500との間で実行する相互認証処理の結果として双方で共有するセッションキーに基づいて実行する暗号処理である。相互認証処理は、情報記録媒体ドライブ510と、情報処理装置500とが共有する認証キーKm530,540に基づいて実行される。
相互認証処理のシーケンスについて、図23を参照して説明する。図23に示す認証およびセッションキー共有処理は、共通鍵処理方式に基づく一例である。認証シーケンスおよびセッションキー共有シーケンスは、この処理シーケンスに限らず、他の処理方法を適用してもよい。
情報記録媒体ドライブ510と、情報処理装置500は認証キーKm530,540を有する。まず、ステップS571において、情報処理装置500が乱数Rb1(64bit)を生成し、情報記録媒体ドライブ510に送信する。情報記録媒体ドライブ510は、ステップS581において、乱数Ra1を生成し、ステップS682において、乱数Ra1と乱数Rb1の結合データ[Ra1‖Rb1]に対するAES暗号化処理に基づくMAC(Message Authentication Code)を生成する。生成MAC値をeKm(Ra1‖Rb1)とする。なお、eKa(B)は、キーKaによるデータBの暗号化を示し、A‖Bは、データAとデータBの連結を示す。情報記録媒体ドライブ510は、生成MAC値:eKm(Ra1‖Rb1)と、生成乱数Ra1を情報処理装置500に送信する。
情報処理装置500は、情報記録媒体ドライブ510から受信した乱数Ra1とステップS571において生成した乱数Rb1とに基づいて、ステップS572において、MAC値:eKm(Ra1‖Rb1)を算出する。さらに、ステップS573において、算出したMAC値と、情報記録媒体ドライブ510から受信したMAC値とを比較する。一致すれば、情報処理装置500は、情報記録媒体ドライブ510が正しい認証キーを持つ正規なデバイスであると認証する。不一致の場合は、認証エラーであり、その後の処理を中止する。
さらに、情報処理装置500は、ステップS574において、乱数Rb2を生成し、情報記録媒体ドライブ510に送信する。情報記録媒体ドライブ510は、ステップS583において、乱数Ra2を生成し、生成乱数Ra2を情報処理装置500に送信する。
情報処理装置500は、ステップS575において、受信乱数Ra2と生成乱数Rb2とに基づいて、MAC値:eKm(Ra2‖Rb2)を算出し、情報記録媒体ドライブ510に送信する。
情報記録媒体ドライブ510は、ステップS584において、受信した乱数Rb2とステップS583において生成した乱数Ra2とに基づいて、MAC値:eKm(Ra2‖Rb2)を算出する。さらに、ステップS585において、算出したMAC値と、情報処理装置500から受信したMAC値とを比較する。一致すれば、情報記録媒体ドライブ510は、情報処理装置500が正しい認証キーを持つ正規なデバイスであると認証する。不一致の場合は、認証エラーであり、その後の処理を中止する。
さらに、情報処理装置500は、ステップS576において、乱数Ra3を生成して情報記録媒体ドライブ510に送信する。
情報記録媒体ドライブ510は、ステップS586において、乱数Ra3を生成し、ステップS587において、生成乱数Ra3と情報処理装置500からの受信乱数Rb3との連結データ対する共有認証キーKmを適用したAES暗号処理を実行し、セッションキーKs=eKm(Ra3‖Rb3)を算出する。
情報処理装置500は、ステップS577において、生成乱数Rb3と情報記録媒体ドライブ510からの受信乱数Ra3との連結データに対する共有認証キーKmを適用したAES暗号処理を実行し、セッションキーKs=eKm(Ra3‖Rb3)を算出する。
上述した処理により、情報処理装置500と情報記録媒体ドライブ510とは、相互に正しいデバイスであることを確認し、セッションキーKs=eKm(Ra3‖Rb3)を共有することができる。図21に示すステップS560、S561の処理が図23を参照して説明した処理に対応する。
上述した処理によって、セッションキーKsが情報処理装置500と情報記録媒体ドライブ510とによって共有されると、図21に示すステップS562、S563の暗号化処理が情報記録媒体ドライブ510によって実行される。
ステップS562の暗号化処理は、ステップS555において生成した記録キーK2をセッションキーKsで暗号化(AES暗号化)し、暗号化記録キーeKs(K2)を生成する処理である。ステップS563は、ステップS558におけるブロックキーKb1を適用した復号処理の結果取得された復号TSパケット604をセッションキーKsによって暗号化する処理である。なお、この場合、暗号化する対象は、TSパケット604全体である場合、一部である場合、シード情報(シード2)のみである場合など、処理態様は、TSパケットに含まれる秘密にすべき情報の格納態様、すなわちブロックキーKb1および第3の暗号鍵K3によって暗号化された範囲に応じて決定してよい。これらの各態様は、図17〜図19を参照して説明したとおりである。
ステップS562において、記録キーK2のセッションキーKsによる暗号化データが生成され、ステップS563において、シード情報(シード2)を含む秘密情報がセッションキーKsによって暗号化され、これらの暗号化データ(図22のTSパケット605)が情報記録媒体ドライブ510から、情報処理装置500に送信される。すなわち、データ通信路において、転送されるデータはセッションキーKsによって暗号化されたデータとなる。
情報処理装置500は、情報記録媒体ドライブ510から、これらのデータを受信すると、ステップS564およびステップS565において、受信暗号化データを復号する。すなわち、ステップS564において、セッションキーKsを適用して暗号化記録キーeKs(K2)を復号して記録キーK2を取得し、ステップS565において、セッションキーKsを適用してシード情報(シード2)を含む秘密情報を復号してシード情報(シード2)を含む秘密情報を取得する。図22に示すTSパケット606がシード情報(シード2)を含む。
ステップS566は、シード情報(シード2)と、ブロックキーKb2による復号対象データと、その他のデータとを分離するセレクタステップである。ステップS567(図21,図22参照)では、ステップS565におけるセッションキーKsを適用した復号処理の結果取得されたシード情報(シード2)と、ステップS564において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
次に、ステップS568において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域)を復号し、復号TSパケット群607を生成する。
さらに、シード情報(シード2)を含むTSパケット606をセレクタステップS569(図21参照)において選択し、第3の暗号鍵K3,550を適用して復号処理を実行し復号TSパケット608(図22参照)を得る。
ここで、第3の暗号鍵K3,550は、情報処理装置500に予め格納された秘密鍵、情報処理装置500に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵である。
復号TSパケット群607、および復号TSパケット608は結合されて、復号TSパケットとして例えばMPEG2デコーダに入力され、デコードされた後、再生される。
このように、本構成においては、情報記録媒体に格納されたデータの再生処理において、暗号化コンテンツの復号に適用する鍵(ブロックキーKb2)を生成するために必要となるシード情報(シード2)をデバイス間で転送することが必要となる構成において、ブロックキーKb2の生成に必要となるシード情報(シード2)および記録キーK2の双方をセッションキーで暗号化して送受信する構成としたので、転送路からのデータ漏洩が発生した場合であっても、シード情報(シード2)および記録キーK2を取得することは困難であり、従ってシード情報を用いて生成される鍵情報の解析、暗号アルゴリズムの解析の困難性が高まり、セキュリティレベルの高いコンテンツ保護が実現される。これは、情報処理装置500の中で、例えば記録キーK1の取得方法からブロックキーKb1の算出方法、そして、セッションキーKsの生成方法、および、セッションキーKsによる暗号化方法を一つのLSIパッケージ内の処理として秘匿性を高めることによって、一層強固なものとなる。
なお、前述した例と同様、2つのシード情報の格納形態には、様々な態様があり、以下、複数の例について説明する。
図24に、シード情報(シード1)と、シード情報(シード2)とを共にユーザデータ内の先頭TSパケット602内に格納した例を示す。先に図22を参照して説明した例では、シード情報(シード1)611が制御データ601に格納され、シード情報(シード2)612がユーザデータ内の先頭のTSパケット602内に暗号化されて格納された例を説明したが、図24に示す構成例は、シード情報(シード1)621、シード情報(シード2)622、双方がユーザデータ内の先頭のTSパケット602内に格納された例である。
なお、シード情報(シード2)622を含むデータ領域であるTSパケット602は、図22において説明した例と同様、シード情報(シード1)621を適用して取得されるブロックキーKb1と第3の暗号鍵K3によって暗号化されたデータ領域である。
図24において、復号処理は、処理単位600を単位として実行される。この処理単位は、先に図1を参照して説明した(b)処理単位に相当する1ユニット(1AU:Aligned Unit)である。情報記録媒体520に格納された暗号化データの読み取りを実行する情報記録媒体ドライブ510は、制御データ内のフラグに基づいて、暗号処理単位である1AU(Aligned Unit)を抽出する。
図24の処理について説明する。図24において、図21の処理ステップと同様の処理ステップには、同一の処理ステップ番号を付してある。
ステップS556(図21、図24)は、情報記録媒体のユーザデータの先頭TSパケット内から読み出したシード情報(シード1)621をAES暗号処理部において、先のステップS554(図21参照)において生成した記録キーK1を適用したAES暗号処理を実行しブロックキーKb1生成処理を実行する。
次に、図21のステップS557において、32TSパケットからなるユーザデータからブロックキーKb1による暗号化データ部のみが抽出される。ブロックキーKb1による暗号化データ部、非暗号化部がステップS557において分離されて、暗号化部のみがステップS558において復号される。非暗号化部は、ステップS558をスキップし、ステップS559において、再度セレクタステップにより復号データと連結され、ステップS563においてセッションキーによって暗号化がなされる。
ステップS558(図21、図24参照)では、ステップS556において生成したブロックキーKb1を適用したAES復号処理を実行する。ステップS558では、ブロックキーKb1を適用した暗号処理のなされたデータ部のみを対象とした復号処理が実行される。この例では、ユーザデータの先頭TSパケット602の少なくともシード情報(シード2)を含むデータ領域がブロックキーKb1を適用した暗号処理のなされたデータ部である。従って、このシード情報(シード2)を含むデータ領域を対象としてブロックキーKb1を適用した復号処理を実行する。
この先頭TSパケット602の暗号化データ領域には、他のユーザデータ部、すなわち、後続の5952バイトのTSパケット群603の復号処理に適用するブロックキーKb2を算出するために必要となるシード情報(シード2)622が含まれている。すなわち、シード情報(シード2)622は、ブロックキーKb1を適用した暗号処理がなされた暗号化データとして先頭TSパケット602に記録されている。
ステップS556における、ブロックキーKb1を適用した復号処理の結果として、第3の暗号鍵K3で暗号化されたTSパケット604が算出され、その中にはシード情報(シード2)が含まれる。
図21のセレクタステップS559は、ブロックキーKb1を適用した復号処理の結果から、シード情報(シード2)を含む復号データと、その他のデータを結合して、暗号化ステップS563に出力することを示している。
ステップS563における暗号化処理は、情報記録媒体ドライブ510と、情報処理装置500との間で実行する相互認証処理の結果として双方で共有するセッションキーに基づいて実行する暗号処理である。相互認証処理は、情報記録媒体ドライブ510と、情報処理装置500とが共有する認証キーKm530,540に基づいて実行される。相互認証処理およびセッションキー共有処理は、図23を参照して説明した通りである。
認証が成立し、セッションキーKsが共有されると、図21、図24に示すステップS562、S563の暗号化処理が情報記録媒体ドライブ510によって実行される。すなわち、ステップS562において、記録キーK2のセッションキーKsによる暗号化データが生成され、ステップS563において、シード情報(シード2)を含む秘密情報がセッションキーKsによって暗号化され、これらの暗号化データ(図24のTSパケット605)が情報記録媒体ドライブ510から、情報処理装置500に送信される。すなわち、データ通信路において、転送されるデータはセッションキーKsによって暗号化されたデータとなる。
情報処理装置500は、情報記録媒体ドライブ510から、これらのデータを受信すると、ステップS564およびステップS565において、受信暗号化データを復号する。すなわち、ステップS564において、セッションキーKsを適用して暗号化記録キーeKs(K2)を復号して記録キーK2を取得し、ステップS565において、セッションキーKsを適用してシード情報(シード2)を含む秘密情報を復号してシード情報(シード2)を含む秘密情報を取得する。図24に示すTSパケット606は、第3の暗号鍵K3によってのみ暗号化されたTSパケットであり、シード情報(シード2)を含む。
ステップS566は、復号されたシード情報(シード2)と、ブロックキーKb2による復号対象データと、その他のデータとを分離するセレクタステップである。ステップS567(図21,図24参照)では、ステップS565におけるセッションキーKsを適用した復号処理の結果取得されたシード情報(シード2)と、ステップS564において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
次に、ステップS568において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域)を復号し、復号TSパケット群607を生成する。
さらに、シード情報(シード2)を含むTSパケット606をセレクタステップS569(図21参照)において選択し、第3の暗号鍵K3,550を適用して復号処理を実行し復号TSパケット608(図24参照)を得る。
ここで、第3の暗号鍵K3,550は、情報処理装置500に予め格納された秘密鍵、情報処理装置500に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵である。
復号TSパケット群607、および復号TSパケット608は結合されて、復号TSパケットとして例えばMPEG2デコーダに入力され、デコードされた後、再生される。
このように、本構成においては、シード情報(シード1)と、シード情報(シード2)とを共にユーザデータ内の先頭TSパケット内に格納し、ブロックキーKb2を生成するために必要となるシード情報(シード2)を服務領域を、シード情報(シード1)と、記録キーK1とに基づいて生成するブロックキーKb1と第3の暗号鍵K3によって暗号化して格納する構成とした。
本構成においても、シード情報(シード2)のディスクからの直接読み取り、データ転送路からの読み取りを行うことは不可能であり、従ってシード情報を用いて生成される鍵情報の解析、暗号アルゴリズムの解析の困難性が高まり、セキュリティレベルの高いコンテンツ保護が実現される。これは、情報処理装置500の中で、例えば記録キーK1の取得方法からブロックキーKb1の算出方法、そして、セッションキーKsの生成方法、および、セッションキーKsによる暗号化方法を一つのLSIパッケージ内の処理として秘匿性を高めることによって、一層強固なものとなる。
図25に示す例は、シード情報(シード1)631をユーザデータ内の先頭TSパケット602に格納し、シード情報(シード2)632をユーザデータ内の次のTSパケット641に格納した例である。
なお、シード情報(シード2)632を格納した領域、ここでは、先頭TSパケット602および第2TSパケット641は、図22、図24において説明した例と同様、シード情報(シード1)631を適用して取得されるブロックキーKb1と第3の暗号鍵K3によって暗号化されてユーザデータ内の第2のTSパケット641内に格納される。
図25において、復号処理は、処理単位600を単位として実行される。この処理単位は、先に図1を参照して説明した(b)処理単位に相当する1ユニット(1AU:Aligned Unit)である。
図25の処理について説明する。図25において、図21の処理ステップと同様の処理ステップには、同一の処理ステップ番号を付してある。
ステップS556(図21、図25)は、情報記録媒体のユーザデータの先頭TSパケット内から読み出したシード情報(シード1)631をAES暗号処理部に入力し、先のステップS554(図21参照)において生成した記録キーK1を適用したAES暗号処理を実行してブロックキーKb1を生成する。
次に、図21のステップS557において、32TSパケットからなるユーザデータからブロックキーKb1による暗号化データ部のみが抽出される。ブロックキーKb1による暗号化データ部、非暗号化部がステップS557において分離されて、暗号化部のみがステップS558において復号される。非暗号化部は、ステップS558をスキップし、ステップS559において、再度セレクタステップにより復号データと連結され、ステップS563においてセッションキーによって暗号化がなされる。
ステップS558(図21、図25参照)では、ステップS556において生成したブロックキーKb1を適用したAES復号処理を実行する。復号処理対象は、ブロックキーKb1を適用した暗号処理がなされているデータ領域であり、ユーザデータの先頭TSパケット中のシード情報(シード1)521を除くデータ領域の暗号化領域と、第2TSパケット中の少なくともシード情報(シード2)632を含むデータ領域の復号処理が実行される。ブロックキーKb1を適用した暗号処理のなされたデータ部をどのデータ領域とするかについては、いくつかのパターンがあり、これらについては前述した通りである。
本例では、第2のTSパケット641の暗号化データ領域に、他のユーザデータ部、すなわち、後続のTSパケット群642の復号処理に適用するブロックキーKb2を算出するために必要となるシード情報(シード2)632が含まれる。すなわち、シード情報(シード2)632は、ブロックキーKb1を適用した暗号処理がなされた暗号化データとして第2TSパケット641に記録されている。
ステップS606における、ブロックキーKb1を適用した復号処理の結果として、第3の暗号鍵K3で暗号化されたTSパケット604が算出され、その中にはシード情報(シード2)が含まれる。
図21のセレクタステップS559は、ブロックキーKb1を適用した復号処理の結果から、シード情報(シード2)を含む復号データと、その他のデータを結合して、暗号化ステップS563に出力することを示している。
ステップS563における暗号化処理は、情報記録媒体ドライブ510と、情報処理装置500との間で実行する相互認証処理の結果として双方で共有するセッションキーに基づいて実行する暗号処理である。相互認証処理は、情報記録媒体ドライブ510と、情報処理装置500とが共有する認証キーKm530,540に基づいて実行される。相互認証処理およびセッションキー共有処理は、図23を参照して説明した通りである。
認証が成立し、セッションキーKsが共有されると、図21、図25に示すステップS562、S563の暗号化処理が情報記録媒体ドライブ510によって実行される。すなわち、ステップS562において、記録キーK2のセッションキーKsによる暗号化データが生成され、ステップS563において、シード情報(シード2)を含む秘密情報がセッションキーKsによって暗号化され、これらの暗号化データ(図21のTSパケット605)が情報記録媒体ドライブ510から、情報処理装置500に送信される。すなわち、データ通信路において、転送されるデータはセッションキーKsによって暗号化されたデータとなる。
情報処理装置500は、情報記録媒体ドライブ510から、これらのデータを受信すると、ステップS564およびステップS565において、受信暗号化データを復号する。すなわち、ステップS564において、セッションキーKsを適用して暗号化記録キーeKs(K2)を復号して記録キーK2を取得し、ステップS565において、セッションキーKsを適用してシード情報(シード2)を含む秘密情報を復号してシード情報(シード2)を含む秘密情報を取得する。図25に示すTSパケット606は、第3の暗号鍵K3によってのみ暗号化されたTSパケットであり、シード情報(シード2)を含む。
ステップS566は、復号されたシード情報(シード2)と、ブロックキーKb2による復号対象データと、非暗号化データとを分離するセレクタステップである。ステップS567(図21,図25参照)では、ステップS565におけるセッションキーKsを適用した復号処理の結果取得されたシード情報(シード2)と、ステップS564において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
次に、ステップS568において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域)を復号し、復号TSパケット群607を生成する。
さらに、シード情報(シード2)を含むTSパケット606をセレクタステップS569(図21参照)において選択し、第3の暗号鍵K3,550を適用して復号処理を実行し復号TSパケット608(図25参照)を得る。
ここで、第3の暗号鍵K3,550は、情報処理装置500に予め格納された秘密鍵、情報処理装置500に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵である。
復号TSパケット群607、および復号TSパケット608は結合されて、復号TSパケットとして例えばMPEG2デコーダに入力され、デコードされた後、再生される。
このように、本構成においては、シード情報(シード1)ユーザデータ内の先頭TSパケット内に格納し、ブロックキーKb2を生成するために必要となるシード情報(シード2)をユーザデータ内の第2TSパケット内に格納し、シード情報(シード2)を、シード情報(シード1)と、記録キーK1とに基づいて生成するブロックキーKb1によって暗号化して格納する構成とした。
本構成においても、シード情報(シード2)をディスクから直接読み取ること、データ転送路からの読み取りを行うことは不可能であり、従ってシード情報を用いて生成される鍵情報の解析、暗号アルゴリズムの解析の困難性が高まり、セキュリティレベルの高いコンテンツ保護が実現される。これは、情報処理装置500の中で、例えば記録キーK1の取得方法からブロックキーKb1の算出方法、そして、セッションキーKsの生成方法、および、セッションキーKsによる暗号化方法を一つのLSIパッケージ内の処理として秘匿性を高めることによって、一層強固なものとなる。
上述した例では、ブロック鍵Kb1と、第3の暗号鍵K3とで暗号化されたシード情報(シード2)格納領域について、ブロック鍵Kb1を適用した復号処理を実行し、この復号処理の結果からシード情報(シード2)を取得して、この取得シード情報(シード2)を適用してブロック鍵Kb2を生成する構成例を説明したが、ブロック鍵Kb1と、第3の暗号鍵K3とで暗号化されたシード情報(シード2)格納領域について、ブロック鍵Kb1を適用した復号処理と、第3の暗号鍵K3を適用した復号処理を続けて実行し、この連続復号処理の結果からシード情報(シード2)を取得して、この取得シード情報(シード2)を適用してブロック鍵Kb2を生成する構成とすることも可能である。以下、このブロック鍵Kb1を適用した復号処理と、第3の暗号鍵K3を適用した復号処理を続けて実行する処理例について説明する。
図26において、ステップS591以下の処理が、図21を参照して説明した処理と異なる部分である。他の処理は、図21を参照して説明した処理と同様であるので説明を省略する。ステップS591以下の処理について、図21、および図27〜図29を参照して説明する。図27〜図29は、図22、図24、図25に対応し、シード1とシード2の格納領域がそれぞれ異なるパターンを持つ例である。
まず、図26、図27を参照して、シード情報(シード1)611が制御データ601に格納され、シード情報(シード2)612がユーザデータ内の先頭のTSパケット602内に暗号化されて格納された例における処理について説明する。図27に示すTSパケット602は、シード情報(シード1)611を適用して取得されるブロックキーKb1と第3の暗号鍵K3によって暗号化されたデータ領域である。
情報処理装置のステップS564以降の処理について説明する。ステップS564において、情報処理装置500は、情報記録媒体ドライブ510からの受信暗号化データを復号する。すなわち、ステップS564において、セッションキーKsを適用して暗号化記録キーeKs(K2)を復号して記録キーK2を取得する。
ステップS565において、セッションキーKsを適用してシード情報(シード2)を含む秘密情報を復号して第3の暗号鍵K3でのみ暗号化された暗号化TSパケットを生成する。さらにステップS591において、第3の暗号鍵K3,550を適用して復号処理を実行し復号TSパケット610(図27参照)を得る。
ここで、第3の暗号鍵K3,550は、情報処理装置500に予め格納された秘密鍵、情報処理装置500に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵である。
復号TSパケット610(図27参照)にはシード情報(シード2)が含まれる。ステップS592(図26参照)は、シード情報(シード2)と、ブロックキーKb2による復号対象データと、その他のデータとを分離するセレクタステップである。ステップS593(図26,図27参照)では、ステップS565、S591におけるセッションキーKsを適用した復号処理および第3の暗号鍵K3を適用した復号処理の結果取得されたシード情報(シード2)と、ステップS564において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
次に、ステップS593において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域)を復号し、復号TSパケット群607を生成する。
復号TSパケット群607、および復号TSパケット610はセレクタステップS595(図26参照)において結合されて、復号TSパケットとして例えばMPEG2デコーダに入力され、デコードされた後、再生される。
図28は、シード情報(シード1)621、シード情報(シード2)622、双方がユーザデータ内の先頭のTSパケット602内に格納された例である。シード情報(シード2)622を含むデータ領域であるTSパケット602は、図27において説明した例と同様、シード情報(シード1)621を適用して取得されるブロックキーKb1と第3の暗号鍵K3によって暗号化されたデータ領域である。
情報処理装置のステップS564以降の処理について説明する。ステップS564において、情報処理装置500は、情報記録媒体ドライブ510からの受信暗号化データを復号する。すなわち、ステップS564において、セッションキーKsを適用して暗号化記録キーeKs(K2)を復号して記録キーK2を取得する。
ステップS565において、セッションキーKsを適用してシード情報(シード2)を含む秘密情報を復号して第3の暗号鍵K3でのみ暗号化された暗号化TSパケットを生成する。さらにステップS591において、第3の暗号鍵K3,550を適用して復号処理を実行し復号TSパケット610(図28参照)を得る。
ここで、第3の暗号鍵K3,550は、情報処理装置500に予め格納された秘密鍵、情報処理装置500に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵である。
復号TSパケット610(図28参照)にはシード情報(シード2)が含まれる。ステップS592(図26参照)は、シード情報(シード2)と、ブロックキーKb2による復号対象データと、その他のデータとを分離するセレクタステップである。ステップS593(図26,図28参照)では、ステップS565、S591におけるセッションキーKsを適用した復号処理および第3の暗号鍵K3を適用した復号処理の結果取得されたシード情報(シード2)と、ステップS564において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
次に、ステップS593において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域)を復号し、復号TSパケット群607を生成する。
復号TSパケット群607、および復号TSパケット610はセレクタステップS595(図26参照)において結合されて、復号TSパケットとして例えばMPEG2デコーダに入力され、デコードされた後、再生される。
図29は、シード情報(シード1)631が先頭TSパケット602、シード情報(シード2)632が第2TSパケット641内に格納された例である。本例では、シード情報(シード2)641を含むデータ領域として、先頭TSパケット602および第2TSパケット641が、シード情報(シード1)631を適用して取得されるブロックキーKb1と第3の暗号鍵K3によって暗号化されたデータ領域である。
情報処理装置のステップS564以降の処理について説明する。ステップS564において、情報処理装置500は、情報記録媒体ドライブ510からの受信暗号化データを復号する。すなわち、ステップS564において、セッションキーKsを適用して暗号化記録キーeKs(K2)を復号して記録キーK2を取得する。
ステップS565において、セッションキーKsを適用してシード情報(シード2)を含む秘密情報を復号して第3の暗号鍵K3でのみ暗号化された暗号化TSパケットを生成する。さらにステップS591において、第3の暗号鍵K3,550を適用して復号処理を実行し復号TSパケット610(図29参照)を得る。
ここで、第3の暗号鍵K3,550は、情報処理装置500に予め格納された秘密鍵、情報処理装置500に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵である。
復号TSパケット610(図29参照)にはシード情報(シード2)が含まれる。ステップS592(図26参照)は、シード情報(シード2)と、ブロックキーKb2による復号対象データと、その他のデータとを分離するセレクタステップである。ステップS593(図26,図29参照)では、ステップS565、S591におけるセッションキーKsを適用した復号処理および第3の暗号鍵K3を適用した復号処理の結果取得されたシード情報(シード2)と、ステップS564において生成した記録キーK2とに基づいて、AES暗号処理を実行し、ブロックキーKb2を算出する。
次に、ステップS593において、ブロックキーKb2を適用してユーザデータ部の暗号化部(ブロックキーKb2で暗号化されたデータ領域)を復号し、復号TSパケット群607を生成する。
復号TSパケット群607、および復号TSパケット610はセレクタステップS595(図26参照)において結合されて、復号TSパケットとして例えばMPEG2デコーダに入力され、デコードされた後、再生される。
[他のデータ構成における適用]
上述した例では、情報記録媒体に格納するデータをTSパケットとした例を説明したが、本発明の構成は、TSパケット以外の様々なデータ構成においても適用可能である。すなわち、暗号化データをブロック単位で暗号化するための第2のシード情報(シード2)を、他のシード情報(シード1)を適用して生成するブロックキーKb1および第3の暗号鍵K3によって暗号化して情報記憶媒体に格納する構成により、第2のシード情報(シード2)の漏洩が防止され、セキュリティの高いコンテンツ保護が実現される。これは、トランスポートストリーム以外のデータ構成とした場合もブロック単位の暗号化処理を適用し、シード情報を用いたブロックキーを生成する構成であれば有効となる。
また、インタフェースを介したデータ転送の際にセッションキーによるデータ暗号化を行う構成例において、上述した例では、2つのシード情報中、一方をセッションキーによって暗号化する処理例を説明したが、セッションキーによるデータ暗号化を伴うデータ転送処理は、上述した構成例に限らず、一般的な暗号化コンテンツ格納構成においても有効である。
暗号化されていないシード情報を記録媒体上に持つ構成において、情報処理装置と、情報記録媒体ドライブ間で、データ転送を実行する処理例について、図30を参照して説明する。
図30に示す処理例において、情報記録媒体670には、暗号化コンテンツ675が記録され、暗号化コンテンツ675は、処理単位毎に設定されるシード情報674によって生成されるブロックキーKb1で暗号化されて記録されている。
情報記録媒体ドライブ660において、暗号化コンテンツを格納した情報記録媒体670のデータを読み出し、PC等の情報処理装置650において再生する場合の処理を説明する。
情報記録媒体ドライブ660は自身のメモリに格納しているマスターキー661を読み出す。なお、マスターキー661は、情報処理装置650側に格納されている場合は、情報処理装置650から情報記録媒体ドライブ660に送信してもよい。マスターキー661は、ライセンスを受けた情報処理装置(情報記録媒体ドライブを含む)に格納された秘密情報に基づいて生成可能なキーである。
情報記録媒体ドライブ660は、ディスクID(Disc ID)671を情報記録媒体670から読出す。ディスクID(Disc ID)671は、ディスク固有情報であり、例えば一般データ格納領域または、リードインエリアに格納される。
次に、情報記録媒体ドライブ660は、ステップS651において、マスターキー661とディスクID671を用いて、ディスク固有キー(Disc Unique Key)を生成する。ディスク固有キー(Disc Unique Key)の具体的な生成方法は、先に図4を参照して説明したと同様の方法が適用できる。
次に、記録コンテンツごとの固有鍵であるタイトルキー(Title Key)1,672を情報記録媒体670から読出す。ディスク上には、どこのデータがどんなタイトルを構成するかという情報が格納されたデータ管理ファイルがあり、このファイルにタイトルキーが格納されている。
次にステップS652において、ディスク固有キー(Disc Unique Key)とタイトルキー(Title Key)1,672から、タイトル固有キー(Title Unique Key)1を生成する。
さらに、情報記録媒体ドライブ660は、ステップS652において生成したタイトル固有キー(Title Unique Key)1と、情報記録媒体670から読み出した物理インデックス673とに基づいて、ステップS653において、記録キー(RECキー)K1を生成する。
ステップS653において実行する記録キー(RECキー)K1の生成処理は、先に図5を参照して説明した通り、タイトル固有キー(Title Unique Key)1と、情報記録媒体670から読み出した物理インデックス673とに基づくAES(Advanced Encryption Standard)暗号処理により生成される。
ステップS654のブロックキーKb1の生成処理においては、情報記録媒体670からブロックキーKb1生成情報としてのシード情報674を読み出し、シード情報674と、ステップS653において生成した記録キーK1とに基づくAES暗号処理等のデータ処理を実行してブロックキーKb1を生成する。
ステップS654のブロックキーKb1の生成処理以降に実行する処理について、図31を参照して説明する。
図31において、復号処理は、例えば2048バイトの処理単位内のユーザデータ701を単位として実行される。処理単位毎に制御データ711が設定される。情報記録媒体ドライブ660は、制御データ内のフラグに基づいて、暗号処理単位である1AU(Aligned Unit)を抽出する。
処理単位には、18バイトの制御データ711と、2048バイトの暗号化ユーザデータ701が含まれる。シード情報674が制御データ711内に格納されている。暗号化ユーザデータ701は、シード情報721に基づいて生成されるブロックキーKb1によって暗号化されたデータである。
図31において、図30の処理ステップと同様の処理ステップには、同一の処理ステップ番号を付してある。
ステップS654(図30、図31)は、情報記録媒体の制御データ内から読み出したシード情報674をAES暗号処理部に入力し、先のステップS653において生成した記録キーK1を適用したAES暗号処理を実行しブロックキーKb1生成処理を実行するステップである。
ステップS655(図30、図31参照)では、ステップS654において生成したブロックキーKb1を適用したAES復号処理を実行する。ステップS655では、ブロックキーKb1を適用した暗号処理のなされたユーザデータ701を対象とした復号処理が実行される。例えばAESのCBC(Cipher Block Chaining)モードを適用した処理を実行する。
次のステップS663における暗号化処理は、情報記録媒体ドライブ660と、情報処理装置650との間で実行する相互認証処理の結果として双方で共有するセッションキーに基づいて実行する暗号処理である。相互認証処理は、情報記録媒体ドライブ660と、情報処理装置650とが共有する認証キーKm680,690に基づいて実行される。相互認証処理のシーケンスは、例えば先に図23を参照して説明したシーケンスに従って実行される。
図30に示すステップS661、S662において、相互認証処理、セッションキーKs生成が実行され、情報処理装置650と情報記録媒体ドライブ660とによってセッションキーKsが共有される。
次に、ステップS663(図30、図31参照)の暗号化処理が情報記録媒体ドライブ660によって実行される。
ステップS663の暗号化処理は、ステップS655において復号処理の結果取得された復号ユーザデータをセッションキーKsによって暗号化する処理である。例えばAESのCBC(Cipher Block Chaining)モードを適用した暗号化処理を実行し、暗号化ユーザデータ702を生成する。
この暗号化データ(図31のユーザデータ702)が情報記録媒体ドライブ660から、情報処理装置650に送信される。すなわち、データ通信路において、転送されるデータはセッションキーKsによって暗号化されたデータとなる。
情報処理装置650は、情報記録媒体ドライブ660から、暗号化ユーザデータを受信すると、ステップS664において、受信暗号化データを復号する。すなわち、セッションキーKsを適用して例えばAESのCBC(Cipher Block Chaining)モードを適用した復号処理を実行する。
さらに、ステップS665において第3の暗号鍵K3,685を適用した復号処理を実行し、ユーザデータ703を取得する。ここで、第3の暗号鍵K3,685は、情報処理装置650に予め格納された秘密鍵、情報処理装置650に予め格納された情報に基づいて生成する鍵、あるいは、鍵配信ツリー構成に基づいて提供される暗号化鍵ブロック情報としてのEKB(Enabling Key Block)を復号して取得する鍵である。
この例においても、情報記録媒体に格納されたデータの再生処理において、デバイス間の転送データをセッションキーで暗号化して送受信する構成としたので、転送路において盗聴等が発生した場合であっても、コンテンツの漏洩は防止され、セキュリティレベルの高いコンテンツ保護が実現される。これは、情報処理装置650の中で、例えば記録キーK1の取得方法からブロックキーKb1の算出方法、そして、セッションキーKsの生成方法、および、セッションキーKsによる暗号化方法を一つのLSIパッケージ内の処理として秘匿性を高めることによって、一層強固なものとなる。
さらに、暗号化されていないシード情報を記録媒体上に持つ構成において、情報処理装置と、情報記録媒体ドライブ間で、データ転送を実行する第2の処理例について、図32、図33を参照して説明する。
図32に示す処理例において、情報記録媒体670には、暗号化コンテンツ675が記録され、暗号化コンテンツ675は、処理単位毎に設定されるシード情報674によって生成されるブロックキーKb1で暗号化されて記録されている。
情報記録媒体ドライブ660において、暗号化コンテンツを格納した情報記録媒体670のデータを読み出し、PC等の情報処理装置650において再生する場合の処理を説明する。
情報記録媒体ドライブ660は自身のメモリに格納しているマスターキー661を読み出す。なお、マスターキー661は、情報処理装置650側に格納されている場合は、情報処理装置650から情報記録媒体ドライブ660に送信してもよい。マスターキー661は、ライセンスを受けた情報処理装置(情報記録媒体ドライブを含む)に格納された秘密情報に基づいて生成可能なキーである。
情報記録媒体ドライブ660は、ディスクID(Disc ID)671を情報記録媒体670から読出す。ディスクID(Disc ID)671は、ディスク固有情報であり、例えば一般データ格納領域または、リードインエリアに格納される。
次に、情報記録媒体ドライブ660は、ステップS651において、マスターキー661とディスクID671を用いて、ディスク固有キー(Disc Unique Key)を生成する。ディスク固有キー(Disc Unique Key)の具体的な生成方法は、先に図4を参照して説明したと同様の方法が適用できる。
次に、記録コンテンツごとの固有鍵であるタイトルキー(Title Key)1,672を情報記録媒体670から読出す。ディスク上には、どこのデータがどんなタイトルを構成するかという情報が格納されたデータ管理ファイルがあり、このファイルにタイトルキーが格納されている。
次にステップS652において、ディスク固有キー(Disc Unique Key)とタイトルキー(Title Key)1,672から、タイトル固有キー(Title Unique Key)1を生成する。
さらに、情報記録媒体ドライブ660は、ステップS652において生成したタイトル固有キー(Title Unique Key)1と、情報記録媒体670から読み出した物理インデックス673とに基づいて、ステップS653において、記録キー(RECキー)K1を生成する。
ステップS653において実行する記録キー(RECキー)K1の生成処理は、先に図5を参照して説明した通り、タイトル固有キー(Title Unique Key)1と、情報記録媒体670から読み出した物理インデックス673とに基づくAES(Advanced Encryption Standard)暗号処理により生成される。
ステップS654のブロックキーKb1の生成処理においては、情報記録媒体670からブロックキーKb1生成情報としてのシード情報674を読み出し、シード情報674と、ステップS653において生成した記録キーK1とに基づくAES暗号処理等のデータ処理を実行してブロックキーKb1を生成する。
さらに、ステップS656において、情報記録媒体670から読み出したタイトルキー3,677とディスク固有キーから、タイトル固有キー(Title Unique Key)3,すなわち第3の暗号鍵K3を生成する。
ステップS654のブロックキーKb1の生成処理以降に実行する処理について、図33を参照して説明する。
図33において、復号処理は、例えば2048バイトの処理単位内のユーザデータ701を単位として実行される。処理単位毎に制御データ711が設定される。情報記録媒体ドライブ660は、制御データ内のフラグに基づいて、暗号処理単位である1AU(Aligned Unit)を抽出する。
処理単位には、18バイトの制御データ711と、2048バイトの暗号化ユーザデータ701が含まれる。シード情報674が制御データ711内に格納されている。暗号化ユーザデータ701は、シード情報721に基づいて生成されるブロックキーKb1によって暗号化されたデータである。
図33において、図32の処理ステップと同様の処理ステップには、同一の処理ステップ番号を付してある。
ステップS654(図32、図33)は、情報記録媒体の制御データ内から読み出したシード情報674をAES暗号処理部に入力し、先のステップS653において生成した記録キーK1を適用したAES暗号処理を実行しブロックキーKb1生成処理を実行するステップである。
ステップS655(図32、図33参照)では、ステップS654において生成したブロックキーKb1を適用したAES復号処理を実行する。ステップS655では、ブロックキーKb1を適用した暗号処理のなされたユーザデータ701を対象とした復号処理が実行される。例えばAESのCBC(Cipher Block Chaining)モードを適用した処理を実行する。
次のステップS663における暗号化処理は、情報記録媒体ドライブ660と、情報処理装置650との間で実行する相互認証処理の結果として双方で共有するセッションキーに基づいて実行する暗号処理である。相互認証処理は、情報記録媒体ドライブ660と、情報処理装置650とが共有する認証キーKm680,690に基づいて実行される。相互認証処理のシーケンスは、例えば先に図23を参照して説明したシーケンスに従って実行される。
図32に示すステップS661、S662において、相互認証処理、セッションキーKs生成が実行され、情報処理装置650と情報記録媒体ドライブ660とによってセッションキーKsが共有される。
次に、ステップS663(図32、図33参照)の暗号化処理が情報記録媒体ドライブ660によって実行される。
ステップS663の暗号化処理は、ステップS655において復号処理の結果取得された復号ユーザデータをセッションキーKsによって暗号化する処理である。例えばAESのCBC(Cipher Block Chaining)モードを適用した暗号化処理を実行し、暗号化ユーザデータ702を生成する。
さらに、ステップS664(図32、図33参照)の暗号化処理が情報記録媒体ドライブ660によって実行される。
ステップS664の暗号化処理は、ステップS656において生成した第3の暗号鍵K3をセッションキーKsによって暗号化する処理である。例えばAESのCBC(Cipher Block Chaining)モードを適用した暗号化処理を実行し、暗号化第3暗号鍵Ks(K3)を生成する。
暗号化データ(図33のユーザデータ702)と暗号化第3暗号鍵Ks(K3)704とが情報記録媒体ドライブ660から、情報処理装置650に送信される。すなわち、データ通信路において、転送されるデータはセッションキーKsによって暗号化されたユーザデータと第3暗号鍵K3となる。
情報処理装置650は、情報記録媒体ドライブ660から、暗号化ユーザデータを受信すると、ステップS665において、受信暗号化データを復号する。すなわち、セッションキーKsを適用して例えばAESのCBC(Cipher Block Chaining)モードを適用した復号処理を実行する。
さらに、ステップS666において、暗号化第3暗号鍵Ks(K3)704に対して、セッションキーKsを適用して例えばAESのCBC(Cipher Block Chaining)モードを適用した復号処理を実行し、第3暗号鍵K3を取得する。
さらに、ステップS667において第3暗号鍵K3を適用した復号処理を実行し、ユーザデータ703を取得する。
この例においても、情報記録媒体に格納されたデータの再生処理において、デバイス間の転送データをセッションキーで暗号化して送受信する構成としたので、転送路において盗聴等が発生した場合であっても、コンテンツの漏洩は防止され、セキュリティレベルの高いコンテンツ保護が実現される。これは、情報処理装置650の中で、例えば記録キーK1の取得方法からブロックキーKb1の算出方法、そして、セッションキーKsの生成方法、および、セッションキーKsによる暗号化方法を一つのLSIパッケージ内の処理として秘匿性を高めることによって、一層強固なものとなる。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。