説明

情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

【課題】 異なるデバイス間のデータ転送を伴うコンテンツ利用における情報漏洩、コンテンツ不正処理を防止する構成を提供する。
【解決手段】 ドライブとホストなど異なるデバイス間のデータ転送を伴うコンテンツの再生あるいは記録処理において、コンテンツの暗号化または復号処理に適用するメディアID(ディスクID)を、メディアから読み取り、これが正しい正当なメディアに設定されたヘッダコードに対応して記録されているかをドライブ側で検証し、検証によって、正当メディアであると確認された場合、ドライブ側でメディアIDを暗号化してホストに出力する。本構成により、メディアIDの外部漏洩の防止、不正メディアを利用したコンテンツの再生または記録処理の防止が実現される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。さらに、詳細には、コンテンツの不正利用を防止する構成を持つ情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【0002】
近年、DVDや、青色レーザーディスク(Blu−ray Disc)など、大容量データの格納可能な情報記録媒体が普及し、例えば高精細画像データや、高品質音声データなどのデジタルコンテンツをディスクなどの記録媒体に記録再生する利用形態が一般化してきている。
【0003】
デジタル記録装置および記録媒体によれば、画像や音声を劣化させることなく記録、再生を繰り返すことが可能であり、不正コピーされたコンテンツのインターネットを介した配信や、CD−R、DVD等の記録媒体にコンテンツをコピーした海賊版ディスクの流通は大きな問題となってきている。
【0004】
情報記録媒体からのコンテンツ再生、コンテンツ記録処理を行なう態様としては、情報記録媒体(ディスク)を駆動するドライブと、再生/記録処理機能を一体化した装置を利用する態様と、ドライブと、再生処理あるいは記録処理プログラムを実行するホストとしての情報処理装置、例えばPCなどをバスなどによって接続し、ドライブとホスト間でのデータ転送を伴う処理態様とがある。
【0005】
例えば、ドライブとホスト間でのデータ転送を行なう場合の問題点として、コンテンツ、鍵情報、その他の秘密情報の漏洩が発生しやすく、その結果、不正なコンテンツの利用、流出の可能性が高くなるという問題がある。音楽データ、画像データ等、多くのコンテンツは、一般的にその作成者あるいは販売者に頒布権等が保有されている。従って、これらのコンテンツの配布に際しては、一定の利用制限、すなわち、正規なユーザに対してのみ、コンテンツの利用を許諾し、許可のない複製等が行われないようにする構成をとるのが一般的となっている。
【0006】
DVDや青色レーザディスク等の大容量型記録媒体には、映像情報、音楽情報をデジタルデータとして格納することが可能である。このようなデジタルデータ記録媒体を市場に流通させる場合には、不正コピーを防止し著作権者の保護を図る構成が必須となる。昨今では、このようなデジタルデータの不正なコピーを防ぐため、デジタル記録装置および記録媒体に違法なコピーを防止するための様々な技術が実用化されている。
【0007】
例えば、コンテンツ・スクランブルシステム(CSS:Content Scramble System)、CPRM(Content Protection for Recordable Media)などが知られている。CPRMは、暗号鍵が漏洩した場合にも、鍵の選択的な無効処理を可能とした構成であり、強固な著作権保護機能を持つ。
【0008】
CPRMでは、情報記録媒体からの暗号化コンテンツの再生、または情報記録媒体に対する暗号化コンテンツの記録処理を行なう装置は、記録媒体に記録されている暗号化キーブロック(例えばMKB:Media Key Block、RKB:Renewal Key Block)を取得し、装置に格納されているデバイスキーによって、暗号化キーブロックの復号を実行してメディアキーを取得し、取得したメディアキーと、記録媒体から読み出し可能な記録媒体固有のメディアIDとに基づく暗号処理、さらに、CPRMで規定するシーケンスに従った暗号処理を含む複数のデータ処理を実行してコンテンツの復号または暗号化に適用する鍵を取得し、取得した鍵によってコンテンツの復号再生、またはコンテンツの暗号化記録処理を行なう。
【0009】
なお、一般にメディアIDは、特定のライセンスされたメディア製造者のみが記録可能なデータとして設定され、CPRMの処理に従ったデータ記録、再生プログラムによってのみ読み取り可能なデータとしてメディアに記録される。具体的には、メディアIDは、情報記録媒体の内周領域に設定されたバースト・カッティング・エリア(BCA)に通常のデータ記録とは異なる方式によって記録される。
【0010】
暗号化キーブロックとしてのMKBやRKBは、鍵管理センタなどの特定の管理センタによって管理された暗号鍵ブロックデータであり、特定のライセンスされたメディア製造者などに提供され、また適宜更新される。MKB、RKBの更新の際には、不正と判断されたデバイス(再生機器、PC)に配布されている個々のデバイスキーを選択的にして無効化し、無効化されたデバイスキーを用いたメディアキーの取得を不可能にしたキーブロックとする更新を行なう。この構成により、不正なデバイスにおけるコンテンツ利用を排除することができる。
【0011】
CPRMに基づくコンテンツの再生または記録を行なう場合、情報処理装置は、上述したようにCPRMによって規定された一定の処理シーケンスで処理を実行する。なお、CPRMでは、コピー制御情報(CCI:Copy Control Information)に従って、コンテンツのコピーの許容態様が決定され、コンテンツの再生、記録を実行する情報処理装置は、CCIに従った処理を行なうように規制される。CCIには、コピーを許容しないコピーノーモア(Copy No more)、一度のみのコピーを許容するコピーワンス(Copy Once)、コピーを許容するコピーフリー(Copy Free)等の設定があり、CPRMに従ったコンテンツ、再生、コピー、記録を行なう装置は、CPRM準拠のコンテンツ再生または記録プログラムを実行し、そのプログラムに含まれる処理として、CCIの読み取り、更新などの処理を実行する。
【0012】
しかし、このようなCPRM方式を適用した場合にも、不正なコンテンツの利用可能性を完全に排除出来ない場合がある。例えば、以下のシナリオで正規ライセンスを受けないデバイスにおいて、CPRMに準拠したコンテンツ記録メディアを自作される可能性がある。
【0013】
a)正規のCPRM記録ソフトウェア、すなわちCPRMに準拠する暗号化コンテンツをメディアに記録する際に使用されるプログラムを解析し、CPRMの処理シーケンスを把握する。コンテンツ暗号化に関するすべての秘密はCPRM記録ソフトウェアが処理をするため、解析されるとすべての仕組みが公開されてしまう。
b)解析したCPRM記録ソフトウェアを利用して、多くのCPRM記録ディスクのMKB(Media Key Block)に秘匿して記録されているメディアキーを抽出する。さらに、BCAに記録されたメディアIDを読みだし、メディアIDと、MKBから取得したメディアキーの対応関係をデータベース化する。この解析は、解析したCPRM記録ソフトウェアを保有しているデバイスのデバイスキーが無効化(リボーク)されるまで実行可能である。
c)解析した正規のCPRM記録ソフトウェアを利用して、CPRM記録ソフトウェアをライセンスを受けずに自作する。自作ソフトウェアにより、CPRM記録ディスク(CPRM準拠のデータ書き込み可能ディスク)のBCAに記録されたメディアIDを読みだし、読み出したメディアIDを、[メディアID−メディアキー]の対応関係をデータベースとして保持する管理サーバへ送信し、メディアIDに対応するメディアキーをサーバから送信してもらう。
d)自作CPRM記録ソフトウェアを適用し、かつ、サーバから取得したメディアキーを利用して、CPRM対応メディアに対して、不正取得したメディアキーを利用して、CPRMに従ったデータ暗号化、記録シーケンスに従って暗号化コンテンツを生成し、メディアに記録する。
【0014】
この処理により、正式なCPRMシーケンスに従った処理、すなわち、デバイスキーによるMKBの処理を実行することなしに、サーバから取得したメディアキーを利用することで、CPRM対応のDVDなどのメディアに対して、暗号化コンテンツを記録することが可能であり、暗号化記録したコンテンツは正規ライセンスを受けて製造された製品との互換性も維持可能となる。
【0015】
この結果として、正規ライセンスを受けない自作のCPRM記録ソフトウェアが流通することによって、守るべきルールが守られない、たとえば、コピー制御情報(CCI)の不正な書き換えにより、一度のみのコピー許容コンテンツ(コピーワンス:Copy Once)の設定されたコンテンツがコピーフリー(Copy Free)に改ざんされて、不正なコンテンツ記録メディアとともにメディアに記録されることが起こりうる。また、正規に記録された暗号化コンテンツが自作ソフトにより読み出されて平文化されて複製されるという問題も発生し得る。
【発明の開示】
【発明が解決しようとする課題】
【0016】
本発明は、上述の問題点に鑑みてなされたものであり、著作権保護コンテンツの不正な利用の排除を実現する情報処理装置、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とするものである。具体的には、DVDなどのメディア(情報記録媒体)に対応して記録されているメディアIDの外部流出を防止した構成を提供するものであり、例えば不正なCPRMソフトウェアプログラムによるメディアIDの不正得を防止した構成を持つ情報処理装置、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【0017】
本発明の第1の側面は、
情報処理装置であり、
情報記録媒体に対する書き込みデータ、または情報記録媒体からの読み取りデータの入出力を実行する記録媒体インタフェースと、
外部機器との転送データの入出力を実行するデータ転送用インタフェースと、
情報記録媒体の正当性を確認するための検証データを格納した記憶部と、
前記情報記録媒体のメディア識別子の対応情報として情報記録媒体に記録されたコードを読み取り、該コードと前記検証データとの照合処理により情報記録媒体の正当性確認処理を実行し、正当性が確認されたことを条件として前記メディア識別子を暗号化して外部出力する処理を実行するデータ処理部と、
を有することを特徴とする情報処理装置にある。
【0018】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記データ転送用インタフェースを介したデータ入出力を実行する外部機器との認証処理を実行し、該認証処理の成立を条件として、前記メディア識別子の前記外部機器への出力処理を実行する構成であることを特徴とする。
【0019】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記認証処理において生成したセッションキーを適用して、前記メディア識別子の暗号化処理を実行し、セッションキーに基づく暗号化データとして前記メディア識別子を外部機器に出力する構成であることを特徴とする。
【0020】
さらに、本発明の情報処理装置の一実施態様において、前記記憶部は、ライセンスに基づいて正当に製造された情報記録媒体の識別子に対応して設定されるコード情報を格納し、前記データ処理部は、前記情報記録媒体のメディア識別子の対応情報として情報記録媒体に記録されたコードを読み取り、該コードと前記検証データとして格納されたコードとの照合処理により情報記録媒体の正当性確認処理を実行し、正当性が確認されたことを条件として前記メディア識別子を暗号化して外部出力する処理を実行することを特徴とする。
【0021】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、情報記録媒体のBCA(バースト・カッティング・エリア)に記録されたメディア識別子の対応情報としてのコードを読み取り、該コードと前記検証データとの照合処理を実行する構成であることを特徴とする。
【0022】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記データ転送用インタフェースを介して、外部機器から前記メディア識別子を適用して生成した暗号鍵に基づく暗号化データを入力し、該入力データの情報記録媒体に対する書き込み処理を実行する構成であることを特徴とする。
【0023】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記メディア識別子を適用して生成した暗号鍵に基づく暗号化データを前記情報記録媒体から読み取り、該読み取りデータを前記データ転送用インタフェースを介して外部機器に出力する処理を実行する構成であることを特徴とする。
【0024】
さらに、本発明の第2の側面は、
情報処理方法であり、
情報記録媒体のメディア識別子の対応情報として情報記録媒体に記録されたコードを読み取るコード読み取りステップと、
前記コードと、記憶部に格納された検証データとの照合処理により情報記録媒体の正当性確認処理を実行する正当性確認ステップと、
前記正当性確認ステップにおいて、情報記録媒体の正当性が確認されたことを条件として前記メディア識別子を暗号化して外部出力するメディア識別子出力ステップと、
を有することを特徴とする情報処理方法にある。
【0025】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、前記データ転送用インタフェースを介したデータ入出力を実行する外部機器との認証処理を実行する認証処理実行ステップを有し、該認証処理の成立を条件として、前記メディア識別子の前記外部機器への出力処理を実行することを特徴とする。
【0026】
さらに、本発明の情報処理方法の一実施態様において、前記メディア識別子出力ステップは、前記認証処理において生成したセッションキーを適用して、前記メディア識別子の暗号化処理を実行し、セッションキーに基づく暗号化データとして前記メディア識別子を外部機器に出力するステップであることを特徴とする。
【0027】
さらに、本発明の情報処理方法の一実施態様において、前記正当性確認ステップは、前記情報記録媒体のメディア識別子の対応情報として情報記録媒体に記録されたコードを読み取り、該コードと、記憶部に格納されたライセンスに基づいて正当に製造された情報記録媒体の識別子に対応して設定されるコードとの照合処理により情報記録媒体の正当性確認処理を実行するステップであることを特徴とする。
【0028】
さらに、本発明の情報処理方法の一実施態様において、前記コード読み取りステップは、情報記録媒体のBCA(バースト・カッティング・エリア)に記録されたメディア識別子の対応情報としてのコードを読み取るステップであることを特徴とする。
【0029】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、前記データ転送用インタフェースを介して、外部機器から前記メディア識別子を適用して生成した暗号鍵に基づく暗号化データを入力するステップと、該入力データの情報記録媒体に対する書き込み処理を実行するステップと、を有することを特徴とする。
【0030】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、前記メディア識別子を適用して生成した暗号鍵に基づく暗号化データを前記情報記録媒体から読み取るステップと、該読み取りデータを前記データ転送用インタフェースを介して外部機器に出力する処理を実行するステップと、を有することを特徴とする。
【0031】
さらに、本発明の第3の側面は、
情報記録媒体に対するアクセス制御を実行するコンピュータ・プログラムであり、
情報記録媒体のメディア識別子の対応情報として情報記録媒体に記録されたコードを読み取るコード読み取りステップと、
前記コードと、記憶部に格納された検証データとの照合処理により情報記録媒体の正当性確認処理を実行する正当性確認ステップと、
前記正当性確認ステップにおいて、情報記録媒体の正当性が確認されたことを条件として前記メディア識別子を暗号化して外部出力するメディア識別子出力ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【0032】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータ・システムに対して、コンピュータ可読な形式で提供する記録媒体、通信媒体、例えば、CDやFD、MOなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【0033】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【0034】
本発明の構成によれば、ドライブとホストなど2つの異なるデバイス間のデータ転送を伴うコンテンツの再生あるいは記録処理において、コンテンツの記録、再生を行なう場合に実行するコンテンツの暗号化または復号処理に適用するメディアID(ディスクID)の外部漏洩を防止することができる。
【0035】
本発明の構成によれば、ドライブがメディアID(ディスクID)をメディアから読み取り、これが正しい正当なメディアに設定されたヘッダコードに対応して記録されているかをドライブ側で検証し、さらに、検証によって、正当なメディアであることが確認された場合に、ドライブ側でメディアIDを暗号化してホストに出力する構成としたので、メディアIDの外部漏洩の可能性を低減させることが可能となり、また、正当なメディアであることの確認を条件として、コンテンツの再生または記録処理を許容する構成としたので、不正なメディアを利用したコンテンツの再生または記録処理の防止が実現される。
【発明を実施するための最良の形態】
【0036】
以下、図面を参照しながら本発明の情報処理装置、および情報処理方法、並びにコンピュータ・プログラムの詳細について説明する。なお、説明は、以下の記載項目に従って行う。
1.CPRM規定に従った処理の概要
2.本発明に従ったドライブ−ホスト間のコンテンツ転送を伴う処理構成
3.情報処理装置の構成
【0037】
[1.CPRM規定に従った処理の概要]
まず、本発明の理解の容易のために、図1を参照して、例えばDVD等のメディア(情報記録媒体)に対応する著作権保護技術として知られるCPRM(Content Protection for Recordable Media)のアーキテクチャについて説明する。
【0038】
メディア(情報記録媒体)からのコンテンツ再生、コンテンツ記録処理を行なう態様としては、情報記録媒体(ディスク)を駆動するドライブと、再生/記録処理機能を一体化した記録再生装置を利用する第1の処理態様と、ドライブと、再生処理あるいは記録処理プログラムを実行するホストとしての情報処理装置、例えばPCなどをバスなどによって接続し、ドライブとホスト間でのデータ転送を伴う第2の処理態様とがある。図1を参照して、第1の処理態様におけるデータ記録再生処理、図2を参照して第2の処理態様におけるデータ記録再生処理について説明する。
【0039】
図1において、中央が例えばCPRM規格に準拠したDVD−R/RW、DVD−RAM等の記録型メディア(情報記録媒体)10であり、左サイドに、例えばCPRM規格に準拠したレコーダ20、右サイドに、例えばCPRM規格に準拠したプレーヤ30を示す。レコーダ20およびプレーヤ30は、機器またはアプリケーションソフトウェアである。
【0040】
未記録ディスクの状態において、メディア10の最内周側のリードインエリアのバースト・カッティング・エリア(BCA:Burst Cutting Area)またはNBCA(Narrow Burst Cutting Area)と称されるエリアには、メディアID11が記録され、リードインエリアのエンボスまたはプリ記録データゾーンには、メディアキーブロック(以下、MKBと適宜略す)12が予め記録されている。メディアID11は、個々のメディア単位例えばディスク1枚毎に異なる番号であり、メディアの製造者コードとシリアル番号から構成される。メディアID11は、メディアキーを個々のメディアで異なるメディアユニークキーへ変換する際に必要となる。メディアキーブロックMKBは、メディアキーの導出、並びに機器のリボケーション(無効化)を実現するための暗号鍵ブロックデータである。メディアIDは、各メディア(記録媒体)に固有の情報である。
【0041】
メディア10において、データの書き換えまたは追記可能なデータ領域には、コンテンツキーで暗号化された暗号化コンテンツ13が記録される。暗号化方式としては、例えばC2(Cryptomeria Cipher)が使用される。
【0042】
メディア10には、暗号化タイトルキー14およびCCI(Copy Control Information)15が記録される。暗号化タイトルキー14は、暗号化されたタイトルキー情報であり、タイトルキー情報は、タイトル毎に付加される鍵情報である。CCIは、コピーノーモア、コピーワンス、コピーフリー等のコピー制御情報である。
【0043】
レコーダ20は、デバイスキー21、プロセスMKB22、C2_G23、乱数発生器24、C2_E25、C2_G26およびC2_ECBC27の構成要素を有する。プレーヤ30は、デバイスキー31、プロセスMKB32、C2_G33、C2_D35、C2_G36およびC2_DCBC37の構成要素を有する。
【0044】
デバイスキー21、31は、個々の装置メーカ、またはアプリケーションソフトウェアベンダー毎に異なる秘密鍵であり、鍵管理センタから発行される。デバイスキーは、ライセンス管理者によって正当な電子機器またはアプリケーションソフトウェアにのみ与えられる当該電子機器またはアプリケーションソフトウェア固有の情報である。メディア10から再生されたMKB12とデバイスキー21とがプロセスMKB22において演算されることによって、リボケーションされたかどうかの判別ができる。レコーダ20におけるのと同様に、プレーヤ30においても、MKB12とデバイスキー31とがプロセスMKB32において演算され、リボケーションされたかどうかの判別がなされる。
【0045】
さらに、プロセスMKB22、32のそれぞれにおいて、MKB12とデバイスキー21、31からメディアキーが算出される。MKB12は、有効なデバイスキー、すなわち無効化(リボーク)されていない場合に、その有効なデバイスキーで復号することで、メディアキーを取得できる。
【0046】
従って、レコーダ20のデバイスキー21が無効化(リボーク)されている場合は、プロセスMKB22において、MKB12とデバイスキー21からメディアキーが算出できない。同様に、プレーヤ30のデバイスキー31が無効化(リボーク)されている場合は、プロセスMKB32において、MKB12とデバイスキー31からメディアキーが算出できない。レコーダ20,プレーヤ30は、有効なデバイスキーを有する場合にのみMKB12からメディアキーを取得することができる。
【0047】
C2_G23、33は、それぞれ、メディアキーとメディアIDとを演算し、メディアユニークキーを導出する処理である。
【0048】
乱数発生器(RNG:Random Number Generator)24は、タイトルキーの生成に利用される。乱数発生器24からのタイトルキーがC2_E25に入力され、タイトルキーがメディアユニークキーで暗号化される。暗号化タイトルキー14がメディア10に記録される。
【0049】
プレーヤ30では、メディア10から再生された暗号化タイトルキー14とメディアユニークキーとがC2_D35に供給され、暗号化タイトルキーがメディアユニークキーで復号され、タイトルキーが得られる。
【0050】
レコーダ20においては、CCIとタイトルキーとがC2_G26に供給され、コンテンツキーが導出される。コンテンツキーがC2_ECBC27に供給され、コンテンツキーを鍵としてコンテンツが暗号化される。暗号化コンテンツ13がメディア10に記録される。
【0051】
プレーヤ30においては、CCIとタイトルキーとがC2_G36に供給され、コンテンツキーが導出される。コンテンツキーがC2_ECBC37に供給され、メディア10から再生された暗号化コンテンツ13がコンテンツキーを鍵として復号される。
【0052】
図1の構成において、レコーダ20によるコンテンツ記録の手順について説明する。レコーダ20は、メディア10からMKB12を読み出し、プロセスMKB22によってデバイスキー21とMKB12とを演算し、メディアキーを計算する。メディアキーの取得に失敗した場合(演算結果が予め定められた値を示す)は、デバイスキー21(レコーダ20の機器またはアプリケーション)がMKBによってリボークされたと判定され、レコーダ20は、以後の処理を中断し、メディア10への記録を禁止する。メディアキーが取得された場合(予め定められた値以外)には、処理を継続する。
【0053】
次に、レコーダ20は、メディア10からメディアID11を読み、メディアキーと共にメディアIDをC2_G23に入力しメディア毎に異なるメディアユニークキーが演算される。乱数発生器24で発生させたタイトルキーがC2_E25で暗号化され、暗号化タイトルキー14としてメディア10に記録される。また、タイトルキーとコンテンツのCCI情報がC2_G26で演算され、コンテンツキーが導出される。コンテンツキーでコンテンツをC2_ECBC27で暗号化し、メディア10上に暗号化コンテンツ13としてCCI15と共に記録する。
【0054】
次に、プレーヤ30による再生の手順について説明する。最初にMKB12をメディア10から読み出し、デバイスキー31とMKB12を演算し、リボケーションの確認がなされる。デバイスキー31、すなわち、プレーヤ30の機器またはアプリケーションがリボークされない場合には、メディアIDを使用してメディアユニークキーが演算され、読み出された暗号化タイトルキー14とメディアユニークキーからタイトルキーが演算される。タイトルキーとCCI15とがC2_G36に入力され、コンテンツキーが導出される。コンテンツキーがC2_DCBC37に入力され、コンテンツキーを鍵として、メディア10から再生された暗号化コンテンツ13に対してC2_DCBC37の演算が施される。その結果、暗号化コンテンツ13が復号される。
【0055】
このように、コンテンツの復号に必要なコンテンツキーを得るためには、メディアの1枚毎に異なるメディアIDが必要となるので、たとえメディア上の暗号化コンテンツが忠実に他のメディアにコピーされても、他のメディアのメディアIDがオリジナルのメディアIDと異なるために、コピーされたコンテンツを復号することができず、コンテンツの著作権を保護することができる。
【0056】
上述した図1の構成は、記録再生機器として構成された場合のメディア(情報記録媒体)からのコンテンツ再生、コンテンツ記録処理態様である。次に、ドライブと、再生処理あるいは記録処理プログラムを実行するホストとしての情報処理装置、例えばPCなどをバスなどによって接続し、ドライブとホスト間でのデータ転送を伴う第2の処理態様におけるデータ記録再生処理について説明する。
【0057】
図2において、データ処理装置としてのホスト50は、例えばPCを示す。ホスト50は、メディア10に記録可能で、メディア10から再生可能なコンテンツを扱うことができ、且つドライブ40と接続されてデータ交換が可能な装置またはアプリケーションソフトウェアである。例えばPCに対してアプリケーションソフトウェアがインストールされることによってホスト50が構成される。
【0058】
ドライブ40とホスト50との間は、インタフェース60で接続されている。インタフェース60は、例えば、ATAPI(AT Attachment Packet Interface),SCSI(Small Computer System Interface),USB(Universal Serial Bus),IEEE(Institute of Electrical and Electronics Engineers)1394等である。
【0059】
メディア10には、メディアID11、メディアキーブロック12およびACC(Authentication Control Code)が予め記録されている。ACCは、ドライブ40とホスト50との間の認証がメディア10によって異なるようにするために予めメディア10に記録されたデータである。
【0060】
ドライブ40は、ACC16をメディア10から読み出す。メディア10から読み出されたACC16がドライブ40のAKE(Authentication and Key Exchange)41に入力されると共に、ホスト50へ転送される。ホスト50は、受け取ったACCをAKE51に入力する。AKE41および51は、乱数データを交換し、この交換した乱数とACCの値とから認証動作の度に異なる値となる共通のセッションキー(バスキーと称する)を生成する。
【0061】
バスキーがMAC(Message Authentication Code)演算ブロック42および52にそれぞれ供給される。MAC演算ブロック42および52は、AKE41および51でそれぞれ得られたバスキーをパラメータとして、メディアIDおよびメディアキーブロック12のMACを計算するプロセスである。MKBとメディアIDの完全性(integrity)をホスト50が確認するために利用される。
【0062】
MAC42および52によってそれぞれ計算されたMACがホスト50の比較部53において比較され、両者の値が一致するかどうかが判定される。これらのMACの値が一致すれば、MKBとメディアIDの完全性が確認されたことになる。比較出力でスイッチSW1が制御される。
【0063】
図3のフローチャートを参照してMAC検証に基づくスイッチ制御処理について説明する。ステップS11は、ホスト50の比較部53の処理であり、ドライブ42のMAC演算ブロック42でバスキーをパラメータとして求められたMAC計算値と、ホスト50のMAC演算ブロック53でバスキーをパラメータとして求められたMAC計算値とを比較するステップである。両者が一致すれば、MKBとメディアIDの完全性が確認されたと判定し、ステップS12に進み、スイッチSW1がONとされ、両者が一致しない場合は、MKBとメディアIDの完全性が確認されないと判定し、ステップS13に進み、スイッチSW1がOFFとされ、処理が停止する。
【0064】
スイッチSW1は、ドライブ40のメディア10の記録または再生経路と、ホスト50の暗号化/(または)復号モジュール54との間の信号路をON/OFFするものとして示されている。なお、スイッチSW1は、信号路のON/OFFを行うものとして示されているが、より実際には、ONの場合にホスト50の処理が継続し、OFFの場合にホスト50の処理が停止することを表している。暗号化/復号モジュール54は、メディアユニークキーと暗号化タイトルキーとCCIとからコンテンツキーを算出し、コンテンツキーを鍵としてコンテンツを暗号化コンテンツ13へ暗号化し、またはコンテンツキーを鍵として暗号化コンテンツ13を復号する演算ブロックである。
【0065】
メディアユニークキー演算ブロック55は、MKB12とメディアIDとデバイスキー56とからメディアユニークキーを演算する演算ブロックである。すなわち、図1に示すレコーダまたはプレーヤと同様に、デバイスキーとMKB12とからメディアキーが演算され、さらに、メディアキーとメディアID11とからメディアユニークキーが演算される。メディアキーが所定の値となった場合には、その電子機器またはアプリケーションソフトウェアが正当なものではないと判断され、リボークされる。したがって、メディアユニークキー演算ブロック55は、リボケーションを行うリボーク処理部としての機能も有する。
【0066】
記録時に、比較部53によって完全性が確認された場合には、スイッチSW1がONされ、暗号化/復号モジュール54からスイッチSW1を通じてドライブ40に対して、暗号化コンテンツ13、暗号化タイトルキー14およびCCI15が供給され、メディア10に対してそれぞれ記録される。再生時に、比較部53によって完全性が確認された場合には、スイッチSW1がONされ、メディア10からそれぞれ再生された暗号化コンテンツ13、暗号化タイトルキー14およびCCI15がスイッチSW1を通じてホスト50の暗号化/復号モジュール54に対して供給され、暗号化コンテンツが復号される。
【0067】
上述の処理において、メディア10に記録されたメディアID11は、ドライブ40を介して、平文のままホスト50に提供される。このような構成では、先に説明したように、メディアIDを取得したホストは、メディアIDとメディアキーとの対応関係を推定することが可能となる。
【0068】
メディアIDは、メディア1枚毎に異なる識別データであり、通常のプロセスでの書き込みのできないメディアの最内周側のリードインエリアのBCA(Burst Cutting Area)またはNBCA(Narrow Burst Cutting Area)と称されるエリアに記録されている。
メディアキーはMKBから取得可能なキーであるが、MKBは、複数のメディアに対して共通なデータとして設定される。例えばあるディスクメーカーの作成するディスク(メディア)には、ある製造ロット単位や、ある一定期間は同じMKBが格納され、同じメディアキーが取得可能なMKBが適用される。
【0069】
ホストがリボークされていない有効なデバイスである間は、様々なメディアから複数のメディアIDの取得することが可能となり、さらに、正規のCPRM記録ソフトウェア、すなわちCPRMに準拠する暗号化コンテンツをメディアに記録する際に使用されるプログラムを解析し、CPRMの処理シーケンスが解析されると、解析したCPRM記録ソフトウェアを利用して、多くのCPRM記録ディスクのMKB(Media Key Block)に秘匿して記録されているメディアキーが抽出される可能性がある。
【0070】
この結果、メディアIDとメディアキーの対応関係データとして、例えば下記のようなデータ、
メディアID:aaaa〜bbbb=メディアキーX
メディアID:cccc〜dddd=メディアキーY
メディアID:eeee〜ffff=メディアキーZ
このようなメディアIDの範囲と、メディアキーとの対応関係が推定されてしまう可能性がある。
【0071】
さらに、解析した正規のCPRM記録ソフトウェアを利用してCPRM記録ソフトウェアを、ライセンスを受けずに不正に自作し、この不正作成ソフトウェアにより、CPRM記録ディスク(CPRM準拠のデータ書き込み可能ディスク)のBCAに記録されたメディアIDを読みだし、読み出したメディアIDを、[メディアID−メディアキー]の対応関係をデータベースとして保持する管理サーバへ送信し、メディアIDに対応するメディアキーをサーバから送信してもらい、この取得メディアキーを利用して、MKBの記録されたCPRM対応メディアに対して、不正取得したメディアキーを利用して、CPRMに従ったデータ暗号化、記録シーケンスに従って暗号化コンテンツを生成し、メディアに記録することが可能となる。この処理により、正式なCPRMシーケンスに従った処理、すなわち、デバイスキーによるMKBの処理を実行することなしに、サーバから取得したメディアキーを利用することで、CPRM対応のDVDなどのメディアに対して、暗号化コンテンツを記録することが可能となってしまい、正規なライセンスを持たないデバイスによるCPRM準拠メディアが製造されてしまう。
【0072】
[2.本発明に従ったドライブ−ホスト間のコンテンツ転送を伴う処理構成]
以下に述べる本発明は、上記の問題点を解決する構成を持つ。まず、本発明の構成の概要について説明する。
【0073】
本発明の構成では、メディアの最内周側のリードインエリアのバースト・カッティング・エリア(BCA:Burst Cutting Area)に記録されたメディアIDを平文のままドライブからホストへ転送せず、認証されたホストに対してのみ、暗号化して出力する構成とする。この構成により、不正なホストによるメディアIDの取得を防止し、メデイアIDとメディアキーの対応関係を推定不可能とする。
【0074】
具体的には、BCAへ記録されたメディアIDをドライブからをホストへ転送する場合には、ホストとドライブ間の相互認証および鍵交換(AKE:Authentication and Key-Exchange)が完了し、完了後に生成されるセッションキー(Session Key(Ks))でメディアIDを暗号化してセキュアにドライブからホストへ転送する。これにより、ドライブ−ホスト間の接続インタフェースである例えばATAPIなどのI/FバスからのメディアIDの盗難を防止する。この構成により、メディアIDとメディアキーの対応関係を推定不可能とするものである。
【0075】
なお、BCAにはメディアID以外のデータも記録されることがある。例えば、BD−ROM(読みだし専用)、BD−RE(書き換え型)、BD−R(ライトワンス)といった、メディアの記録タイプなどの情報が記録される。メディアID等の秘密情報以外のデータは、ホストとドライブ間の相互認証および鍵交換(AKE)の完了に依存せずにドライブからホストへ転送することができる。ただし、メディアIDのヘッダコード以外のBCAデータ領域は、非公開であり、これらのデータ形式はコピープロテクション技術のライセンスを受けた例えばディスク製造エンティテイなどにおいてのみしか知り得ない。BCAのデータ形式を物理規格だけのライセンスを受けるすべて使用者に開放してしまうと、コピープロテクション技術のライセンスを受けない人が、知らずに偶然、メディアIDと同じヘッダ情報を使用してしまい、正規コピープロテクション技術を適用したメディアIDと運用上の干渉が起こることが想定される。
【0076】
従って、物理規格だけのライセンスを受領する場合、メディアID対応のヘッダコードとは異なるヘッダコード情報を強制的に利用してもらい、物理規格ライセンスの許容範囲での自由な運用がコピープロテクション規格ライセンスで規定するメディアIDと使用上の衝突を受けないようにしておくことが必要とされる。つまり、物理規格で規定するBCAデータは、コピープロテクション規格で定めるメディアIDのヘッダとは異なるヘッダの下で運用するものとする。
【0077】
図4、図5を参照して、メディア(ディスク)のBCAに記録されるメディアIDのフォーマットについて説明する。
【0078】
図4は、BCAのデータ記録構成を示す図である。図4(a)に示すようにBCAは、16バイトデータを記録可能なスロットを4スロット持つ。計64バイトデータが記録可能である。前述したように、一般のデータ記録処理とは異なる特殊なデータ記録方式によるものであり、ライセンスを受けたディスク製造エンティテイのみが記録処理を実行することができる。
【0079】
図4(b)に示すように、各スロットのデータ構成は、ヘッダ部およびBCAデータ部とによって構成される。ヘッダ部は、BCAデータ部の格納データの種類を識別するデータとして利用される。
【0080】
例えばヘッダ部には、1バイトの様々なコードが格納され、その一部は、著作権保護技術で利用するBCAデータを明示するための公開されたコード(03hなど)として設定され、ヘッダ部に続くBCAデータ領域には、ヘッダコードに対応するデータが格納される。
【0081】
図5に、メディアIDを格納したBCAのデータ記録構成を示す。図5(a)は、図4(a)と同様、BCA領域の全体構成を示している。図5(b)は、メディアID格納スロットのデータ構成を示している。なお、メディアIDは、ディスクIDと呼ばれる場合もある。
【0082】
図5(b)に示すメディアID(ディスクID)格納スロットのヘッダ格納部には、スロット格納データがメディアID(ディスクID)などの著作権保護技術で利用されるデータであることを示すヘッダコード=03hが格納される。このヘッダコード、すなわち、BCAスロット格納データがメディアIDなどの著作権保護技術で利用されるデータであることを示す場合、ヘッダコード以外のBCAデータ領域は、非公開であり、ライセンスを受けたディスク製造エンティテイ等、特定のライセンス保持エンティテイのみが知り得るBCAデータ部として設定される。カテゴリーコード(Category Code)によってByte2からByte15までのデータ構成が分類される。カテゴリーコードがある決められた値(たとえば01hなど)のときはBCAスロットデータはメディアIDに分類される。BCAスロットデータがメディアIDの場合のBCAデータ部には、メディアIDの構成データとして、カテゴリコード(Category Code)、マニュファクチァーコード(Manufacturer Code)、シリアルナンバー(Serial Number)が格納される。各データの意味は、以下の通りである。
カテゴリコード(Category Code):著作権保護技術で利用されるデータの分類コード
マニュファクチァーコード(Manufacturer Code):ディスク製造者ごとに配布される識別コード
シリアルナンバー(Serial Number):ディスク製造者が製造するディスクのシリアル番号
【0083】
本発明の処理においては、以下の構成を持つことを特徴としている。
(1)ヘッダデータ03hをもつBCAデータのヘッダデータ以外のBCAデータ領域は秘密である。
(2)ヘッダデータ=03hをもつBCAデータは、AKEが完了し、セッションキーKsが生成されていないときは、ドライブはホストへ転送しない。
(3)ヘッダデータ03hをもつBCAデータは、AKEが完了し、セッションキーKsが生成されているならば、KsでBCAデータを暗号化した上で、ドライブはホストへ転送する。
(4)03h以外のヘッダデータをもつBCAデータは、AKEの完了する、しない、に関係なく、ドライブはホストへ暗号化をせずにそのままのデータを転送することができる。つまり、そのBCAデータは秘密ではない。
【0084】
次に、図6以下を参照して、本発明に従ったドライブ−ホスト間のコンテンツ転送を伴う処理の詳細について、説明する。図6は、ドライブとホストとをバス接続し、コンテンツの転送をドライフとホスト間で実行して、メデイアからのコンテンツ再生またはメディアに対してコンテンツを記録する処理を説明する図である。
【0085】
図6は、メディア(情報記録媒体)100と、メディア100をセットし、メディア100からのデータ読み取り、メディア100へのデータ書き込みを実行するドライブ200と、ドライブ200と接続バスを介して接続され、アプリケーション・プログラムに従ったコンテンツ再生または記録処理を実行するホスト300の処理を示している。なお、ドライブ200とホスト300とを接続するバスは、例えばATAPI(AT Attachment Packet Interface),SCSI(Small Computer System Interface),USB(Universal Serial Bus),IEEE(Institute of Electrical and Electronics Engineers)1394等である。
【0086】
メディア100には、以下の情報が格納される。
有効なデバイスまたは、無効化(リボーク)されたデバイスを識別するためのリボーク情報101、
メディアキー(Km)を格納した暗号鍵ブロックとしてのRKB102、
ディスクキー(Kd)をメディアキー(Km)で暗号化した暗号化ディスクキーEKm(Kd)103
BCA領域に記録されたメディアID(IDdisc)104、
コンテンツの暗号化および復号処理に適用する暗号鍵としての記録キー(Krec)の生成に適用するシード情報(Seedrec)105、
暗号化コンテンツ106
である。
【0087】
なお、メディア100が暗号化コンテンツの記録済みメディアである場合は、シード情報(Seedrec)105、暗号化コンテンツ106は、メディア100に記録されているが、メディア100が、コンテンツの書き込みがなされていないデータ書き込み可能メディアの場合には、これらのデータは書き込まれていない状態であり、ホスト300によって生成した暗号化コンテンツをメディアに記録する際に、ホストによって生成する乱数がシード情報(Seedrec)105としてメディア100に記録され、記録キー(Krec)を適用して暗号化された暗号化コンテンツがメディア100に記録されることになる。
【0088】
リボーク情報101は、各デバイスの登録または無効化情報を記録したデータであり、管理センタの電子署名が付加され、改竄の検証が可能な構成を持つ。
【0089】
RKB(Renewal Key Block)102は、前述のメディアキーブロック(MKB)と同様の暗号鍵ブロックデータであり、ブロードキャストエンクリプション方式の一態様として知られる木構造の鍵配信方式に基づいて生成される暗号鍵ブロックである。MKBと同様、メディア(情報記録媒体)を利用したコンテンツ再生/記録を実行する正当なライセンスを保有するユーザ機器としての情報処理装置に配布されたデバイスキーを適用した復号処理によってメディアキー:Kmが取得可能である。暗号鍵ブロック:RKBの構成データを変更することにより、メディアキー:Kmを取得可能なユーザ機器を選別することが可能である。すなわち、リボークされたデバイスのデバイスキーを適用した場合には、メディアキー:Kmを取得できないように、随時、更新される。
【0090】
管理センタが、コンテンツ再生/記録を実行するデバイス(ユーザ機器や再生アプリケーション)を不正であると判定した場合は、RKBの構成を変更して、不正機器によるメディアキー:Kmの取得を不可能とすることが可能となる。なお、不正と判定されたデバイスはリボーク(無効)デバイスとして管理センタに登録される。管理センタは、デバイスの登録情報、リボーク情報を保持し、適宜更新する。
【0091】
メディアID104は、BCA領域に記録されたメディア固有の識別情報である。メディアIDは、前出したようにディスクIDとも呼ばれ、ライセンスを受けたメディア(ディスク)製造エンティテイのみが記録可能なデータである。
【0092】
ドライブ200には、デバイスキー201、検証データ202が格納されている。これらは不揮発性メモリにセキュアに格納されており、外部からのアクセス、外部からの改竄が許容されないデータとして格納される。デバイスキー201は、前述のRKBの復号処理に適用される鍵であり、有効性が担保されている場合、すなわちドライブがリボークされていない場合にのみRKBからメディアキー(Km)を取得することができる。
【0093】
検証データ202は、メディア100のBCAから読み出したメディアID(IDdisc)の検証処理のためにドライブに格納されるデータである。検証データ202は、先に図5(b)を参照して説明したBCAデータがメディアIDである場合のヘッダコードに相当するコードを含むデータとして構成される。すなわち、本例において、BCAデータがメディアIDである場合のヘッダコードはヘッダコード=03hであり、03hが検証データ202としてドライブ200のメモリに格納される。
【0094】
前述したように、BCAデータがメディアIDである場合には、ヘッダコードの値[03h]以外のBCAスロットデータは公開値ではなく、デバイスキー201とともに例えば管理センタとの契約に基づいたディスク製造エンティティの管理下でのディスク製造が義務付けられる。また、管理センタのライセンスを受けたドライブ製造エンティテイは各ドライブのメモリ(不揮発性メモリ)にヘッダコードの値を格納し、ディスクから読み出すBCAデータの適切な転送制御が義務付けられる。
【0095】
ホスト(再生/記録処理実行アプリケーション)300は、リボーク情報301を格納している。これは各デバイスの登録または無効化情報を記録したデータであり、管理センタの電子署名が付加され、改竄検証が可能な構成を持ち、改竄検証がなされて正当性が確認されたことを条件として参照情報として適用される。
【0096】
なお、図には示していないが、ドライブ200、ホスト300は、それぞれ公開鍵暗号方式に従った自己の公開鍵、秘密鍵のペアを格納している。さらに、外部から取得した公開鍵証明書の署名検証、リボーク情報の署名検証等に適用する管理センタの公開鍵を格納している。
【0097】
図6を参照して、メディア100からのコンテンツ再生、メディア100に対するコンテンツ記録処理の処理シーケンスについて説明する。
【0098】
まず、ステップS121、S131において、ドライブ200とホスト300間で相互認証および鍵交換(AKE:Authentication and Key Exchange)処理が実行される。
【0099】
相互認証および鍵交換(AKE:Authentication and Key Exchange)処理の詳細シーケンスについて、図7を参照して説明する。この処理は、例えば、ISO/IEC9798−3に規定された公開鍵アルゴリズムを利用した相互認証、ISO/IEC11770−3に規定された公開鍵アルゴリズムを利用した鍵生成処理方式を適用して実行可能である。なお、公開鍵を利用した相互認証方式として実用化された方式としては、例えば、DTCP(Digital Transmission Content Protection) Specification Volume 1 (Informational Version)に記載される方法がある。
【0100】
図7に示す処理シーケンスについて説明する。ステップS201において、ホストは、ドライブに対して乱数生成処理によって生成したチャレンジデータ[C_host]と、公開鍵証明書[Cert_host]を送信する。
【0101】
図8を参照して公開鍵証明書(PKC)のデータ構成について説明する。図8(a)は、公開鍵証明書(PKC)の証明書データの例を示している。図8(b)は、楕円暗号(鍵長160ビット)を適用した公開鍵証明書(PKC)のデータ構成例を示している。
【0102】
図8(a)に示すように、公開鍵証明書(PKC)の証明書データには、証明書ID、公開鍵、その他の情報が含まれる。例えばドライブは、ドライブに対応する公開鍵を格納した公開鍵証明書(PKC−D)を管理センタから受領し、ドライブが例えばフラッシュメモリなどの不揮発性メモリに格納保持する。また公開鍵に対応する秘密鍵(KS−D)も提供される。ホストに対しても公開鍵証明書(PKC)と秘密鍵のペアが提供され、ホスト内のハードディスクやフラッシュメモリなどの不揮発性メモリに保持される。
【0103】
公開鍵証明書(PKC)は、公開の許容されたデータであり、例えば他の機器の要求に応じて出力される。他の機器の公開鍵証明書を受領した機器は、受領した公開鍵証明書に付加された管理センタの署名に基づく公開鍵証明書の改竄検証を実行し、受領した公開鍵証明書の正当性を確認した後、公開鍵証明書から公開鍵を取得する。なお、管理センタの署名に基づく公開鍵証明書の改竄検証は、管理センタの公開鍵を適用して実行される。管理センタの公開鍵も公開されたデータであり、例えばドライブ、ホストの不揮発性メモリ等へ予め格納してあるものを利用する、または、ネットワークあるいは記録媒体を介して受領できる。
【0104】
ドライブ、ホストには、公開鍵証明書に併せて秘密鍵が提供される。すなわち、ドライブ、ホストには、それぞれ公開鍵証明書(PKC)と秘密鍵のペアが提供され、それぞれのメモリに保持される。公開鍵を格納した公開鍵証明書は公開の許容されたデータであるが、秘密鍵は外部に漏洩することのないように各デバイスにおいてセキュアに保持される。
【0105】
図8(b)は、楕円暗号(鍵長160ビット)を適用した公開鍵証明書(PKC)のデータ構成例を示している。証明書タイプ(Certificate Type=1)、証明書ID(Certificate ID)、公開鍵(Public Key)が格納され、これらの格納データに対応して管理センタの秘密鍵を適用して生成された電子署名(Signature)が設定される。
【0106】
図7に戻り、相互認証シーケンスについての説明を続ける。ステップS201において、ホストからチャレンジデータ[C_host]と、公開鍵証明書[Cert_host]を受け取ったドライブは、公開鍵証明書[Cert_host]の署名検証処理により、公開鍵証明書[Cert_host]の正当性を検証する。署名検証処理は、ドライブの保持する管理センタの公開鍵を適用して実行される。
【0107】
公開鍵証明書[Cert_host]の正当性が検証されると、ドライブは、公開鍵証明書[Cert_host]から公開鍵証明書IDを取得して、メディア100から読み取ったリボーク情報101にホストの公開鍵証明書IDが記録されていないかを確認する。すなわち、ホストの公開鍵証明書IDが無効化(リボーク)されていない有効なIDであるか否かを確認する。
【0108】
公開鍵証明書[Cert_host]の正当性が確認されなかったり、あるいは、リボーク情報101に基づいて、ホストが無効化(リボーク)されていることが判明した場合にはエラーメッセージの通知などを実行し、処理を終了する。以後の処理、コンテンツ再生または記録処理は中止される。
【0109】
公開鍵証明書[Cert_host]の正当性が確認され、ホストが無効化(リボーク)されていない正当な公開鍵証明書を有するホストであることが確認されると、ステップS202において、ドライブは、ホストに対して乱数生成処理によって生成したチャレンジデータ[C_drive]と、ドライブ側の公開鍵証明書[Cert_drive]を送信する。
【0110】
ホストは、ドライブ側の公開鍵証明書[Cert_drive]の署名検証を実行する。署名検証処理は、ホスト側で保持する管理センタの公開鍵[Kp_kic]を適用して実行される。
【0111】
公開鍵証明書[Cert_drive]の正当性が確認されると、公開鍵証明書[Cert_drive]から公開鍵証明書IDを取得して、リボーク情報301との照合を実行し、ドライブの公開鍵証明書IDが無効化(リボーク)されていない有効なIDであるか否かを確認する。
【0112】
公開鍵証明書[Cert_drive]の正当性が確認されなかったり、あるいは、リボーク情報301に基づいて、ドライブが無効化(リボーク)されていることが判明した場合にはエラーメッセージの通知などを実行し、処理を終了する。以後のコンテンツ再生または記録処理は中止される。
【0113】
公開鍵証明書[Cert_drive]の正当性が確認された場合には、ホストは、ドライブから受信したチャレンジデータ[C_drive]に基づく演算を実行しパラメータ[A_host]を算出し、新たに生成した乱数[R_host]とともに、ドライブに送信(ステップS203)する。
【0114】
一方、ドライブは、ホストから受信したチャレンジデータ[C_host]に基づく演算を実行しパラメータ[A_drive]を算出し、新たに生成した乱数[R_drive]とともに、ホストに送信(ステップS204)する。
【0115】
この処理により、ドライブ、ホストの双方は、乱数[R_host]、[R_drive]、パラメータ[A_host]、[A_drive]を共有することになり、ドライブと、ホストアプリケーションの双方は、これらの共有データに基づいて共通のセッションキーKsを生成(ステップS205)する。
【0116】
図6に戻り、ドライブ200とホスト300間のコンテンツ転送を伴うコンテンツ再生または記録処理シーケンスについて説明を続ける。
【0117】
ドライブ200は、ホスト300との相互認証および鍵交換(AKE)が終了すると、ドライブ内に保持するデバイスキー:Kdev201を適用し、ステップS122において、メディア100から読み出した暗号鍵ブロックとしてのRKB102の復号処理を実行して、RKB102からメディアキー:Kmを取得する。なお、RKB102からメディアキー:Kmを取得できるのは、コンテンツの利用を認められた機器のみであり、前述したように不正機器としてリボークされた機器の持つデバイスキーではRKBに暗号化されて格納されたメディアキーの復号が出来ず、メディアキー:Kmを取得することができない。
【0118】
ステップS122においてメディアキー:Kmの取得に成功すると、次に、ステップS123において、取得したメディアキー:Kmを適用して、メディア100から取得した暗号化ディスクキー:EKm(Kd)203の復号処理を実行し、ディスクキー:Kdを取得する。この復号処理としてはたとえばトリプルDES(TDES)アルゴリズムが適用される。なお、図中、TDESはトリプルDES暗号アルゴリズム、AESはAES暗合ルゴリズムを示し、TDES,AESの後続文字として示す[E]は暗号化処理(Encryption)、[D]は復号処理(Decryption)を示している。
【0119】
ドライブ200は、次にステップS124において、相互認証および鍵交換(AKE)処理で、生成したセッションキー(Ks)を適用してディスクキー:Kdを暗号化してホスト300に送信する。この暗号処理は、例えばAES暗号アルゴリズムを適用して実行される。
【0120】
ドライブ200は、次に、ステップS125において、メディア104から読み出したメディアID(IDdisc)と、ドライブ200内のメモリに格納した検証データ202との比較処理を実行する。
【0121】
ドライブ200は、メディア104のBCAから読み出した複数のBCAデータ格納スロットからメディアID格納スロット(図5参照)の格納データを読み出し、そのヘッダコードと、ドライブ200内のメモリに格納した検証データ202と比較する処理を実行する。前述したように、メディアID格納スロット(図5参照)のヘッダコードは予め定められた値[03h]である。この値をヘッダコードとするBCAデータは、ライセンスを受けたメディア製造エンティテイが知り得るが、不正なディスク製造者は知りえない値である。ドライブ200は、ステップS125において、検証データ202として格納されたメディアID格納BCAスロットのヘッダコードの値[03h]と比較する。
【0122】
メディア100から読み出したヘッタデータの値が、ドライブに格納された検証データ[03h]と一致すれば、メディア100は、正当なメディアであると判定し、スイッチ(SW)をクローズとし、メディアID(IDdisc)をセッションキー(Ks)で暗号化して、ホスト300に出力(ステップS126)する。
【0123】
一方、メディア100から読み出したヘッタデータの値が、ドライブに格納された検証データ[03h]と一致しない場合は、メディア100は、著作権保護技術を利用したコンテンツ記録再生を適用することができないメディアであると判定し、スイッチ(SW)をオープンとし、メディアID(IDdisc)のホスト300に対する出力を中止し、その後の処理を全て中止する。すなわち、コンテンツの再生または記録処理は実行しない。
【0124】
ホスト300側の処理について説明する。ホスト300はステップS131でのドライブ200との相互認証および鍵交換(AKE)において相互認証が成立した場合、セッション鍵(Ks)をドライブ200と共に共有する。ステップS132において、ドライブ200から受信した暗号化ディスクキー、すなわちセッションキー(Ks)で暗号化されたディスクキー[EKs(Kd)]をセッションキーで復号しディスクキー(Kd)を取得する。
【0125】
さらに、ステップS133において、ドライブから受領した暗号化メディアID、すなわち、セッションキー(Ks)で暗号化されたメディアID[EKs(IDdisc)]をセッションキーで復号しメディアID(IDdisc)を取得する。
【0126】
さらに、ステップS135において、暗号化コンテンツの復号またはコンテンツの暗号化に適用する記録キー(Krec)を生成する。この処理以降は、コンテンツ再生時と、コンテンツ記録時とで異なる処理となる。
【0127】
まず、コンテンツ再生時の処理について説明する。コンテンツ再生の際には、ステップS135において、メディア105に格納されたシード情報(Seedrec)と、ディスクキー(Kd)と、メディアID(IDdisc)とに基づく暗号処理(トリプルDES(TDES))によって、記録キー(Krec)を生成する。なお、この記録キー(Krec)生成に際しては、ドライブ200を介して、メディア105に格納されたシード情報(Seedrec)105を受領する。シード情報は所定のコンテンツを格納するファイル単位に読み込まれ、コンテンツを格納するファイル毎にシード情報を適用して記録キー(Krec)が生成されて、生成した記録キーによってコンテンツを格納するファイル単位の復号処理が実行され、コンテンツ復号、再生が実行される。
【0128】
次に、ステップS136において、ドライブ200を介して、メディア105に格納された暗号化コンテンツ106を受領し、生成した記録キー(Krec)を適用した復号処理を実行して、コンテンツを取得してコンテンツ再生を実行する。
【0129】
次にコンテンツ記録時の処理について説明する。コンテンツ記録の際には、その後、ステップS135において、メディア105に格納されるシード情報(Seedrec)と、ディスクキー(Kd)と、メディアID(IDdisc)とに基づく暗号処理(トリプルDES(TDES))によって、記録キー(Krec)を生成する。なお、ステップS134において、乱数生成処理が実行され、その乱数に基づいてシード情報が生成される。記録対象コンテンツを、コンテンツを格納するファイル単位で暗号化する際の記録キー(Krec)が生成され、ステップS136において、外部入力コンテンツなどのデータが記録キーを適用してコンテンツを格納するファイル単位で暗号化される。
【0130】
生成した暗号化コンテンツは、ドライブ200に出力され、ドライブ200におけるデータ書き込み処理によってメディア100に書き込まれる。なお、ステップS134で生成した乱数は、シード情報105として書き込み暗号化コンテンツ106に対応付けて書き込まれる。
【0131】
次に、メディア100に格納されたメディアID(IDdisc)104のドライブにおける検証およびホストへの出力処理のシーケンスについて、図9を参照して詳細に説明する。
【0132】
図9(a)は、メディアに格納されたメディアID(IDdisc)のドライブにおける検証およびホストへの出力処理の全体シーケンスを示し、図9(b)は、図9(a)のステップS254のBCAレコードの検証処理の詳細を説明するフロー図である。
【0133】
図9(a)のステップS251において、ドライブがディスク挿入を検知すると、ステップS252においてホストとの相互認証および鍵交換(AKE)処理が実行され、認証が成立しセッションキー(Ks)の共有が実行されると、ステップS253に進む。認証不成立の場合は、ステップS258に進み、エラーメッセージをホストに通知し、処理を終了する。
【0134】
認証が成立した場合は、ステップS253に進み、ドライブは、メディア(Disc)のBCAからBCAスロットデータを読み出し、ステップS254において、BCAスロットデータの検証処理を実行する。この検証処理の詳細について、図9(b)のフローを参照して説明する。
【0135】
まずステップS261において、ドライブ内のメモリに格納された検証データを読み出す。図6に示す検証データ202である。先に説明したように、この検証データは、BCAレコード中のメディアID対応のヘッダの値(本例では03h)である。
【0136】
ステップS262において、変数(i)の初期設定としてi=0とする設定をする。この変数iは、メディアの複数スロットを順次読み出すために設定される変数である。先に図4、図5を参照して説明したようにメディアのBCAは所定データ単位のスロットが複数設定されており、ドライブは各スロット(i=1〜4)を順次読み出す。
【0137】
ステップS263で、変数iの更新処理を実行するまずi=1に設定される。次にステップS264において、メディアのBCAスロット#iからヘッダコードを取得する。ステップS265においてヘッダコードがドライブの保持している検証データ(図6の検証データ202)に一致するか否か、すなわちメディアからの読み出しスロットのヘッダコードが03hに等しいか否かの判定が実行される。
【0138】
ステップS265においてメディアからの読み出しスロットのヘッダコードが03hに等しいと判定された場合は、ステップS268に進み、メディアがメディアIDに対応する正しいヘッダコードを保持した正当なメディアであると判定する。
【0139】
ステップS265においてメディアからの読み出しスロットのヘッダコードが03hに等しくないと判定された場合は、ステップS266に進み、変数iの値がBCAスロット数=4であるか否かを判定し、i=4でない場合は、ステップS263に戻り、変数iの更新を実行し、順次、異なるBCAスロットのヘッダコードの読み取り、照合を実行する。i=4に至るまで、03hに等しいヘッダコードが検出されない場合は、ステップS267に進み、装着メディアがメディアIDに対応する正しいヘッダコードを保持していない、すなわち著作権保護技術を適用したコンテンツの記録再生には利用できないメディアであると判定する。
【0140】
この処理の後、図9(a)のステップS255に進む。ステップS255において、図9(b)に示す検証処理において、装着メディアがメディアIDに対応する正しいヘッダコードを保持している正当メディアと判定されたことが確認された場合は、ステップS256に進み、メディアのBCAスロットから取得したメディアIDをセッションキー(Ks)で暗号化し、ステップS257において暗号化メディアIDをホストからの転送要求に応じてホストに転送する。
【0141】
ステップS255において、図9(b)に示す検証処理において、装着メディアがメディアIDに対応する正しいヘッダコードを保持していない著作権保護技術を利用したコンテンツ記録再生の適用できないメディアと判定されたことが確認された場合は、ステップS258に進み、ホストからの転送要求に対してエラーメッセージをホストに転送し、処理を終了する。
【0142】
このように、ドライブは、ホストに対してメディアIDを出力する場合、ドライブとホストとの間の相互認証が成立し、さらに、セッションキーの共有に成功したことを条件として、メディアからのBCAレコードのヘッダコードの検証を実行し、ヘッダコードがドライブの保持する検証用データに一致する場合に限り、そのヘッダコードに対応するBCAレコードであるメディアIDを読み出して、さらに読み出したメディアIDをセッションキーで暗号化してホストに対して出力する。ドライブから出力されるメディアIDはセッションキーで暗号化されたデータであり、メディアIDが外部に漏洩する可能性は低減される。
【0143】
前述したように、メディアIDに対応するヘッダコードを持つBCAデータは、非公開データであるので、不正なディスク製造業者が、たとえBCA領域にデータ書き込み可能な装置を持つ場合であっても、メディアIDに対応する正当なヘッダコードを知ることはできず、このような不正な業者の製造したディスクは、正当なメディアID対応のヘッダコード(例えば03h)を持たない。従って、このような不正なメディア(ディスク)を利用したコンテンツの再生、あるいはこのような不正なメディア(ディスク)に対するコンテンツの記録は排除されることになる。
【0144】
なお、BCAレコードは、ディスクIDのみならず、その他のデータも書き込まれる場合があり、BCAレコードの中には公開可能なデータも含まれる。このような著作権保護技術と関係しない秘匿性の低いデータについては、ホストへの出力について特に制限されることはない。図10には、このような秘匿性の低いBCAデータをドライブからホストへ出力する場合の処理を説明するフローを示している。
【0145】
図10(a)は、メディアに格納されたメディアID(IDdisc)以外の秘匿性の低いBCAデータのホストへの出力処理の全体シーケンスを示し、図10(b)は、図10(a)のステップS273のBCAレコードの検証処理の詳細を説明するフロー図である。なお、ここでは、ヘッダコード≠03hが秘匿性の低いBCAデータに対応するヘッダコードであるとする。
【0146】
図10(a)のステップS271において、ドライブがディスク挿入を検知すると、ステップS272に進み、ドライブは、メディア(Disc)のBCAからBCAスロットデータを読み出し、ステップS273において、BCAスロットレコードの検証処理を実行する。この検証処理の詳細について、図10(b)のフローを参照して説明する。
【0147】
まずステップS281において、変数(i)の初期設定としてi=0とする設定をする。この変数iは、メディアの複数スロットを順次読み出すために設定される変数である。ステップS282で、変数iの更新処理を実行するまずi=1に設定される。次にステップS283において、メディアのBCAスロット#iからヘッダコードを取得する。ステップS284においてヘッダコードが秘匿性の低いBCAデータ対応のヘッダコード(03h)に一致するか否か、すなわちメディアからの読み出しスロットのヘッダコードが03hに等しいか否かの判定が実行される。
【0148】
ステップS284においてメディアからの読み出しスロットのヘッダコードが03hに等しくないと判定された場合は、ステップS287に進み、メディアが出力可能なBCAデータを保持していると判定する。
【0149】
ステップS284においてメディアからの読み出しスロットのヘッダコードが03hに等しいと判定された場合は、ステップS285に進み、変数iの値がBCAスロット数=4であるか否かを判定し、i=4でない場合は、ステップS282に戻り、変数iの更新を実行し、順次、異なるBCAスロットのヘッダコードの読み取り、照合を実行する。i=4に至るまで、03hに等しくないヘッダコードが検出されない場合は、ステップS286に進み、装着メディアには、出力可能なBCAデータを保持していないと判定する。
【0150】
この処理の後、図10(a)のステップS274に進む。ステップS274において、図10(b)に示す検証処理において、装着メディアが出力可能なBCAデータを保持していると判定されたことが確認された場合は、ステップS275に進み、メディアのBCAスロットから取得したBCAデータをホストからの転送要求に応じてホストに転送する。
【0151】
ステップS274において、図10(b)に示す検証処理において、装着メディアが出力可能なBCAデータを保持していないと判定されたことが確認された場合は、ステップS276に進み、ホストからの転送要求に対してエラーメッセージをホストに転送し、処理を終了する。
【0152】
次に、メディアを利用したコンテンツの再生または記録処理においてドライブの実行する処理と、ホストの実行する処理について、それぞれ個別のフローを参照して説明する。
【0153】
まず、図11、図12を参照してドライブ側の処理について説明する。ドライブは、図11のステップS301において、メディア(ディスク)の装着を検知すると、ステップS302において、メディア(ディスク)から暗号化キーブロックとしてメディアキー(Km)を暗号化データとして格納したRKBを読み出す。
【0154】
ステップS303において、RKBの読み取りに失敗したと判定された場合は、図12に示す[E]に進み、ステップS331において、挿入されたメディアを利用した著作権保護の必要なAVデータ(コンテンツ)の記録を禁止し、著作権保護対象とされない暗号処理の不要なデータの記録再生のみを許容する。
【0155】
ステップS303において、RKBの読み取りに成功したと判定された場合は、ステップS304において、ドライブに格納されたデバイスキー(Kdev)を適用したRKBの処理を実行する。RKBの処理に失敗し、メディアキー(Km)を取得できなかった場合は、ドライブはリボークされていると判定(ステップS305:Yes)し、図12[E]のステップS331に進み、著作権保護対象データでないコンテンツのみの記録再生処理のみを許容する。
【0156】
RKBの処理に成功した場合は、ドライブはリボークされていないと判定(ステップS305:No)し、ステップS306で、RKBからのメディアキー(Km)の取得を行う。次に、ステップS307において、メディアのBCAからのBCAレコードの読み取りを行い、ステップS308において、BCAスロットデータの検証処理を実行する。
【0157】
メディアIDの読み取りに失敗(S309:No)した場合は、図12[E]のステップS331に進み、著作権保護対象データでないコンテンツのみの記録再生処理のみを許容する。
【0158】
メディアIDの読み取りに成功(S309:Yes)した場合は、ステップS310に進み、ホストからの相互認証処理要求を待機し、ホストからの相互認証処理要求があると、ステップS311において、ホスト−ドライブ間の相互認証および鍵交換(AKE)処理(図7参照)を実行して、ホストとドライブ相互において、セッションキー(Ks)を共有する。ステップS312において、相互認証および鍵交換(AKE)処理の完了を確認し、ステップS313において、ホストからの鍵情報の転送要求を待機し、ホストからの鍵情報の転送要求があると、ステップS314において、セッションキー(Ks)を適用して暗号化したメディアID、すなわち[EKs(IDdisc)]と、セッションキー(Ks)を適用して暗号化したディスクキー、すなわち[EKs(Kd)]を生成して、ホストへ転送する。
【0159】
ステップS315において鍵情報の転送の完了を確認すると、図12のステップ321に進む。ステップS321では新たな相互認証要求を待機し、新たな相互認証要求が発生した場合は、[D]、すなわちステップS311に戻り、相互認証以下の処理を実行する。この処理は、ホスト側でアプリケーションの切り替えが行なわれた場合に発生する処理である。
【0160】
ステップS322ではディスクの排出の有無を判定し、ディスクが排出された場合は、初期状態[A]、すなわちステップS301に戻る。ステップS323では、ホストからのコンテンツ(AVデータ)の読み出し要求の有無を判定し、ホストからのコンテンツ(AVデータ)の読み出し要求があった場合は、ステップS326で、メディアからのコンテンツの読み出しを実行し、ホストへ転送する。なお、この処理の際には、コンテンツ復号処理に直接適用するブロックキーの生成に適用するシード情報も適時実施されるホストからの読みだし要求に応じてメディアから読み出してホストへ転送する。
【0161】
さらに、ステップS324において、ホストからのコンテンツ(AVデータ)の書き込み要求の有無を判定し、ホストからのコンテンツ(AVデータ)の書き込み要求があった場合は、ステップS325で、ホストからコンテンツ(AVデータ)を入力し、入力コンテンツをメディアへ書き込む処理を実行する。なお、この処理の際には、コンテンツ暗号化処理に適用するブロックキーの生成に適用した乱数も適時ホストから入力し、これをシード情報としてメディアに書き込む処理を実行する。
【0162】
次に、図13、図14を参照して、ホスト側の処理について説明する。ステップS401において、コンテンツ再生アプリケーション、あるいはコンテンツ記録アプリケーション・プログラムを起動し、ステップS402においてディスクがドライブに挿入されたことの通知を受領すると、ステップS403でドライブとの相互認証、セッションキーの共有処理を実行する。
【0163】
ステップS404において、相互認証および鍵交換(AKE)処理の完了が確認されると、ステップS405に進み、ホストは、ドライブに対して、セッションキー(Ks)で暗号化されたディスクキー(Kd)の転送を要求する。
【0164】
ステップS406において、暗号化ディスクキー[EKs(Kd)]のドライブからの受信を確認すると、ステップS407において、セッションキーKsを適用して暗号化ディスクキー[EKs(Kd)]の復号を実行し、ディスクキー(Kd)を取得する。
【0165】
さらに、ホストはステップS408において、ドライブに対して、セッションキー(Ks)で暗号化されたメディアID(IDdisc)の転送を要求する。ステップS409において、暗号化メディアID[EKs(IDdisc)]のドライブからの受信を確認すると、ステップS410において、セッションキーKsを適用して暗号化メディアID[EKs(IDdisc)]の復号を実行し、メディアID(IDdisc)を取得する。
【0166】
ホストは、ステップS411において、コンテンツの記録・再生の準備が整うこととなり、画面表示などのユーザーインターフェイスを通じてコンテンツ記録再生レディであることをユーザへ知らせることができる。
【0167】
次に、記録または再生ソフトウェアの完了(S421)がなされておらず、ディスク排出がない(S422)ことの確認の後、ユーザの指示などによりコンテンツの読み出しを行うと判定した場合(S423:Yes)は、ステップS431においてドライブに対して暗号化コンテンツ(AVデータ)の転送要求を出力する。
【0168】
ステップS432において、ドライブからのコンテンツ受信の完了を確認(S432:Yes)すると、ステップS433でドライブから適時取得したディスクへ記録されているシード情報(Seedrec)、ディスクキー(Kd)と、メディアID(IDdisc)から記録キー(Krec)を計算し、計算された記録キー(Krec)を適用して、ドライブから受信した暗号化コンテンツの復号処理を実行してコンテンツの再生を可能とする。なお、前述したように、記録キー(Krec)を計算する際には、シード情報が所定のコンテンツ単位に適用され所定単位のコンテンツ毎に異なるシード情報が生成されて、コンテンツの記録時にディスクへ同時に記録されている。
【0169】
一方、ステップS424において、ユーザの指示などによりコンテンツの書き込みを行うと判定した場合(S424:Yes)は、ステップS425に進み、ホストは、適時乱数生成して得られたシード情報(Seedrec)、ドライブから受信したディスクキー(Kd)と、メディアID(IDdisc)とを適用して生成した記録キー(Krec)を適用してコンテンツの暗号化処理を実行する。なお、前述したように、コンテンツ暗号化処理においては、乱数を生成し、生成した乱数を用いてブロック単位の暗号化キーとしてのブロックキーを生成し、生成したブロックキーによってブロックデータ単位の暗号化処理が実行される。
【0170】
ホストは、ステップS426においてドライブに対して生成した暗号化データの転送(出力)処理を実行し、ステップS427において転送完了を確認して処理を終了する。
【0171】
[3.情報処理装置の構成]
次に、図15、図16を参照して、ホストおよびドライブの情報処理装置構成例について説明する。
【0172】
まず、図15を参照して、ホストとしての情報処理装置の構成について説明する。情報処理装置800は、OSやコンテンツ再生または記録アプリケーション・プログラム、相互認証処理プログラムなどの各種プログラムに従ったデータ処理を実行するCPU809、プログラム、パラメータ等の記憶領域としてのROM808、メモリ810、デジタル信号を入出力する入出力I/F802、アナログ信号を入出力し、A/D,D/Aコンバータ805を持つ入出力I/F804、MPEGデータのエンコード、デコード処理を実行するMPEGコーデック803、TS(Transport Stream)・PS(Program Stream)処理を実行するTS・PS処理手段806、相互認証、暗号化コンテンツの復号処理など各種の暗号処理を実行する暗号処理手段807、ハードディスクなどの記録媒体812、記録媒体812の駆動、データ記録再生信号の入出力を行なうドライブ811を有し、バス801に各ブロックが接続されている。
【0173】
情報処理装置(ホスト)800は、例えばATAPI−BUS等の接続バスによってドライブと接続され、上述したセッションキーによって暗号化されたメディアIDやディスクキーなどの秘密情報、あるいは転送コンテンツなどは、デジタル信号用入出力I/F802を介して入出力される。暗号化処理、復号処理は、暗号化処理手段807によって、例えば、トリプルDES、AESアルゴリズムなどを適用して実行される。
【0174】
なお、コンテンツ再生あるいは記録処理を実行するプログラムは例えばROM808内に保管されており、プログラムの実行処理中は必要に応じて、パラメータ、データの保管、ワーク領域としてメモリ810を使用する。
【0175】
ROM808または記録媒体812には、管理センタの公開鍵、ホスト対応秘密鍵、ホスト対応の公開鍵証明書、さらに、リボケーションリストが格納されている。
【0176】
次に、図16を参照して、情報記録媒体の格納コンテンツの読み取りおよび記録、ホストとのデータ転送を実行するドライブとしての情報処理装置の構成について説明する。ドライブ850は、コンテンツ読み取り、コンテンツ記録、転送処理プログラム、相互認証処理プログラムなどの各種プログラムに従ったデータ処理を実行するCPU852、プログラム、パラメータ等の記憶領域としてのROM855、メモリ856、デジタル信号を入出力する入出力I/F853、相互認証、出力データの暗号化処理など各種の暗号処理を実行する暗号処理手段854、DVD,Blu−rayディスクなどの情報記録媒体858の駆動、データ記録再生信号の入出力を行なう記録媒体I/F857を有し、バス851に各ブロックが接続されている。
【0177】
ドライブ850は、例えばATAPI−BUS等の接続バスによってホストと接続される。例えばメディアIDやディスクキーなどの秘密情報、さらに、情報記録媒体858に格納された暗号化コンテンツ、情報記録媒体858に記録する暗号化コンテンツなどは、外部機器とのデータ転送用インタフェースとして設定された入出力I/F853を介して入出力される。暗号化処理、復号処理は、暗号化処理手段854によって、例えば、トリプルDES、AESアルゴリズムなどを適用して実行される。
【0178】
なお、ROM855、またはメモリ856には、管理センタの公開鍵、ドライブに対応する秘密鍵、ドライブに対応する公開鍵証明書、および暗号鍵ブロックRKBの処理に適用するためのデバイスキー:Kdev、さらに、前述のメディアID対応のヘッダコードとしての検証情報(図6に示す検証データ202)が格納されている。また、コンテンツの読み取り、取得、および相互認証処理を実行するプログラム等が格納されている。
【0179】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【0180】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【0181】
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【0182】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【0183】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【0184】
以上、説明したように、本発明の構成によれば、ドライブとホストなど2つの異なるデバイス間のデータ転送を伴うコンテンツの再生あるいは記録処理において、コンテンツの記録、再生を行なう場合に実行するコンテンツの暗号化または復号処理に適用するメディアID(ディスクID)の外部漏洩を防止することができる。
【0185】
本発明の構成によれば、ドライブがメディアID(ディスクID)をメディアから読み取り、これが正しい正当なメディアに設定されたヘッダコードに対応して記録されているかをドライブ側で検証し、さらに、検証によって、正当なメディアであることが確認された場合に、ドライブ側でメディアIDを暗号化してホストに出力する構成としたので、メディアIDの外部漏洩の可能性を低減させることが可能となり、また、正当なメディアであることの確認を条件として、コンテンツの再生または記録処理を許容する構成としたので、不正なメディアを利用したコンテンツの再生または記録処理の防止が実現される。
【図面の簡単な説明】
【0186】
【図1】CPRMに従ったコンテンツ記録再生処理シーケンスについて説明する図である。
【図2】CPRMに従ったコンテンツ記録再生処理シーケンスについて説明する図である。
【図3】CPRMに従ったコンテンツ記録再生処理におけるMAC検証に基づく処理制御シーケンスを説明するフロー図である。
【図4】BCA領域のデータ構成について説明する図である。
【図5】BCA領域に記録されるメディアID(ディスクID)のデータフォーマットについて説明する図である。
【図6】本発明に従ったホスト−ドライブ間のコンテンツ転送を伴うコンテンツ記録再生処理について説明する図である。
【図7】ホスト−ドライブ間の相互認証および鍵交換処理シーケンスについて説明する図である。
【図8】公開鍵証明書のデータ構成について説明する図である。
【図9】BCA領域に記録されるメディアID(ディスクID)の転送および検証処理シーケンスについて説明するフロー図である。
【図10】BCA領域に記録されるメディアID(ディスクID)以外の出力可能データの転送および検証処理シーケンスについて説明するフロー図である。
【図11】本発明に従ったホスト−ドライブ間のコンテンツ転送を伴うコンテンツ記録再生処理におけるドライブ側の処理シーケンスを説明するフロー図である。
【図12】本発明に従ったホスト−ドライブ間のコンテンツ転送を伴うコンテンツ記録再生処理におけるドライブ側の処理シーケンスを説明するフロー図である。
【図13】本発明に従ったホスト−ドライブ間のコンテンツ転送を伴うコンテンツ記録再生処理におけるホスト側の処理シーケンスを説明するフロー図である。
【図14】本発明に従ったホスト−ドライブ間のコンテンツ転送を伴うコンテンツ記録再生処理におけるホスト側の処理シーケンスを説明するフロー図である。
【図15】本発明のホストとしての情報処理装置の構成例を示す図である。
【図16】本発明のドライブとしての情報処理装置の構成例を示す図である。
【符号の説明】
【0187】
10 メディア
11 メディアID
12 MKB
13 暗号化コンテンツ
14 暗号化タイトルキー
15 コピー制御情報(CCI)
20 レコーダ
21 デバイスキー
22 プロセスMKB
30 プレーヤ
31 デバイスキー
32 プロセスMKB
40 ドライブ
50 ホスト
100 メディア
101 リボーク情報
102 RKB
103 暗号化ディスクキー
104 メディアID
105 シード情報
106 暗号化コンテンツ
200 ドライブ
201 デバイスキー
202 検証データ
300 ホスト
301 リボーク情報
800 情報処理装置
801 バス
802 入出力I/F
803 MPEGコーデック
804 入出力I/F
805 A/D,D/Aコンバータ
806 TS・PS処理手段
807 暗号処理手段
808 ROM
809 CPU
810 メモリ
811 ドライブ
812 記録媒体
850 ドライブ装置
851 バス
852 CPU
853 入出力I/F
854 暗号処理手段
855 ROM
856 メモリ
857 記録媒体I/F
858 情報記録媒体

【特許請求の範囲】
【請求項1】
情報処理装置であり、
情報記録媒体に対する書き込みデータ、または情報記録媒体からの読み取りデータの入出力を実行する記録媒体インタフェースと、
外部機器との転送データの入出力を実行するデータ転送用インタフェースと、
情報記録媒体の正当性を確認するための検証データを格納した記憶部と、
前記情報記録媒体のメディア識別子の対応情報として情報記録媒体に記録されたコードを読み取り、該コードと前記検証データとの照合処理により情報記録媒体の正当性確認処理を実行し、正当性が確認されたことを条件として前記メディア識別子を暗号化して外部出力する処理を実行するデータ処理部と、
を有することを特徴とする情報処理装置。
【請求項2】
前記データ処理部は、
前記データ転送用インタフェースを介したデータ入出力を実行する外部機器との認証処理を実行し、該認証処理の成立を条件として、前記メディア識別子の前記外部機器への出力処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記データ処理部は、
前記認証処理において生成したセッションキーを適用して、前記メディア識別子の暗号化処理を実行し、セッションキーに基づく暗号化データとして前記メディア識別子を外部機器に出力する構成であることを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記記憶部は、
ライセンスに基づいて正当に製造された情報記録媒体の識別子に対応して設定されるコード情報を格納し、
前記データ処理部は、
前記情報記録媒体のメディア識別子の対応情報として情報記録媒体に記録されたコードを読み取り、該コードと前記検証データとして格納されたコードとの照合処理により情報記録媒体の正当性確認処理を実行し、正当性が確認されたことを条件として前記メディア識別子を暗号化して外部出力する処理を実行することを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記データ処理部は、
情報記録媒体のBCA(バースト・カッティング・エリア)に記録されたメディア識別子の対応情報としてのコードを読み取り、該コードと前記検証データとの照合処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
【請求項6】
前記データ処理部は、
前記データ転送用インタフェースを介して、外部機器から前記メディア識別子を適用して生成した暗号鍵に基づく暗号化データを入力し、
該入力データの情報記録媒体に対する書き込み処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
【請求項7】
前記データ処理部は、
前記メディア識別子を適用して生成した暗号鍵に基づく暗号化データを前記情報記録媒体から読み取り、
該読み取りデータを前記データ転送用インタフェースを介して外部機器に出力する処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
【請求項8】
情報処理方法であり、
情報記録媒体のメディア識別子の対応情報として情報記録媒体に記録されたコードを読み取るコード読み取りステップと、
前記コードと、記憶部に格納された検証データとの照合処理により情報記録媒体の正当性確認処理を実行する正当性確認ステップと、
前記正当性確認ステップにおいて、情報記録媒体の正当性が確認されたことを条件として前記メディア識別子を暗号化して外部出力するメディア識別子出力ステップと、
を有することを特徴とする情報処理方法。
【請求項9】
前記情報処理方法は、さらに、
前記データ転送用インタフェースを介したデータ入出力を実行する外部機器との認証処理を実行する認証処理実行ステップを有し、該認証処理の成立を条件として、前記メディア識別子の前記外部機器への出力処理を実行することを特徴とする請求項8に記載の情報処理方法。
【請求項10】
前記メディア識別子出力ステップは、
前記認証処理において生成したセッションキーを適用して、前記メディア識別子の暗号化処理を実行し、セッションキーに基づく暗号化データとして前記メディア識別子を外部機器に出力するステップであることを特徴とする請求項9に記載の情報処理方法。
【請求項11】
前記正当性確認ステップは、
前記情報記録媒体のメディア識別子の対応情報として情報記録媒体に記録されたコードを読み取り、該コードと、記憶部に格納されたライセンスに基づいて正当に製造された情報記録媒体の識別子に対応して設定されるコードとの照合処理により情報記録媒体の正当性確認処理を実行するステップであることを特徴とする請求項8に記載の情報処理方法。
【請求項12】
前記コード読み取りステップは、
情報記録媒体のBCA(バースト・カッティング・エリア)に記録されたメディア識別子の対応情報としてのコードを読み取るステップであることを特徴とする請求項8に記載の情報処理方法。
【請求項13】
前記情報処理方法は、さらに、
前記データ転送用インタフェースを介して、外部機器から前記メディア識別子を適用して生成した暗号鍵に基づく暗号化データを入力するステップと、
該入力データの情報記録媒体に対する書き込み処理を実行するステップと、
を有することを特徴とする請求項8に記載の情報処理方法。
【請求項14】
前記情報処理方法は、さらに、
前記メディア識別子を適用して生成した暗号鍵に基づく暗号化データを前記情報記録媒体から読み取るステップと、
該読み取りデータを前記データ転送用インタフェースを介して外部機器に出力する処理を実行するステップと、
を有することを特徴とする請求項8に記載の情報処理方法。
【請求項15】
情報記録媒体に対するアクセス制御を実行するコンピュータ・プログラムであり、
情報記録媒体のメディア識別子の対応情報として情報記録媒体に記録されたコードを読み取るコード読み取りステップと、
前記コードと、記憶部に格納された検証データとの照合処理により情報記録媒体の正当性確認処理を実行する正当性確認ステップと、
前記正当性確認ステップにおいて、情報記録媒体の正当性が確認されたことを条件として前記メディア識別子を暗号化して外部出力するメディア識別子出力ステップと、
を有することを特徴とするコンピュータ・プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2006−31818(P2006−31818A)
【公開日】平成18年2月2日(2006.2.2)
【国際特許分類】
【出願番号】特願2004−209116(P2004−209116)
【出願日】平成16年7月15日(2004.7.15)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.レーザーディスク
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】