以下、図面を参照しながら、本発明の実施の形態を説明する。
(第1の実施形態)
図1は、本発明に係る情報記録媒体のデータ構造を示す。以下、情報記録媒体としてディスクを例にとり説明する。しかし、本発明に係る情報記録媒体は、ディスクに限定されず、任意の情報記録媒体であり得る。
一般に、ディスク上で何らかの情報が記録されている情報記録領域は、主として制御情報が記録されるリードイン領域と、ユーザデータが記録されるデータ記録領域とに大別される。また、データ記録領域はセクタと呼ばれる単位で区切られているのが一般的である。ここで、ディスク再生装置は、リードイン領域を直接的にアクセスすることができるが、ディスク再生装置以外の装置(例えば、パーソナルコンピュータ)は、リードイン領域を直接的にアクセスすることができない。
各セクタは、セクタを識別するためのセクタID(IDentifier)等が記録されるヘッダ領域と、ユーザデータが記録されるユーザデータ領域と、再生時の読み出し誤りを訂正するための符号が記録されるECC(ErrorCorrection Code)領域とを含む。本実施の形態では、セクタ中のユーザデータ領域に記録されるユーザデータに対してスクランブル処理が施されているものとする。従って、情報再生装置が図1のディスクからユーザデータを正しく再生するためには、そのユーザデータに対して施されているスクランブル処理方法を知る必要がある。
図1のディスクのリードイン領域の所定の位置には、ユーザデータに対して施されているスクランブル処理方法を定める情報(以下、本明細書において「スクランブル情報」という)が記録されている。情報再生装置は、スクランブル情報が記録された領域を読み出し、そのスクランブル情報を解釈し、そのスクランブル情報に従った逆スクランブル処理をユーザデータに対して施す。これにより、ユーザデータを正しく再生することが可能となる。
ここで、一般に知られているスクランブル処理方法の一例を図9を用いて説明する。
図9(a)は、1つのセクタが、セクタID領域と、2048バイトのユーザデータ領域と、ECC領域とから成ることを示している。ユーザデータ領域には、データバイト列D0,D1,・・・,D2047が記録される。データバイト列D0,D1,・・・,D2047は、記録されるべき(スクランブル処理前の)データバイト列D’0,D’1,・・・,D’2047と乱数系列S0,S1,・・・,S2047との論理演算によって求められる。例えば、その論理演算は、排他的論理和であり得る。ここで、乱数系列S0,S1,・・・,S2047は、与えられた初期値に対して一意に定まるものとする。
乱数系列S0,S1,・・・,S2047の初期値を求めるために、セクタ中の所定ビット列(例えは、セクタID領域の所定位置の3ビット)に基づいて図9(b)に示すようなテーブルが参照される。例えば、セクタID領域の所定位置の3ビットが(0,0,1)である場合には、そのテーブルより初期値が100Fhと求まり、乱数系列B0,B1,・・・,B2047(S0,S1,・・・,S2047に相当する)が一意に定まる。
与えられた初期値から乱数系列S0,S1,・・・,S2047を発生する方法としては、例えば、図9(c)に示すようなシフトレジスタを用いる方法が知られている。
スクランブル処理方法としては、この他にも、ユーザデータのバイト列内で所定ビットを入れ替える等の他の方法を用いることも可能である。以下では、図9で述べたスクランブル処理方法を用いて、説明を行う。
図2は、図1に示されるディスクのリードイン領域の所定位置に記録されるスクランブル情報の構造を示す。
図2(a)に示されるように、この例では、スクランブル情報は、スクランブル処理に用いる乱数系列の初期値を得るテーブルを指定する識別子である。なお、そのテーブル以外のスクランブル処理方法を特定するための情報はあらかじめ定義されているものとする。
例えば、スクランブル情報の内容が(1,0)であることは、あらかじめ定義された図2(b)に示される4つのテーブルのうち、テーブル2がスクランブル処理に用いられたことを示す。情報再生装置は、図2(b)の4つのテーブルを格納するメモリを有しており、スクランブル情報に応じて逆スクランブル処理に使用するテーブルを切り替える。これにより、ユーザデータに対する逆スクランブル処理を正しく実行することが可能となる。
図3は、本発明に係るディスクの他のデータ構造を示す。図3に示されるディスクのリードイン領域には、初期値テーブルが直接記録されている。そのディスクのデータ記録領域には、その初期値テーブルを用いて発生された乱数系列によってスクランブル処理が施されたユーザデータが記録されている。ここで、図3に示したスクランブル処理方法が有する他のパラメータはあらかじめ一意に定められているものとする。
情報再生装置は、ディスクのリードイン領域に記録された初期値テーブルを読み出し、その初期値デーブルを解釈する。その後、情報再生装置は、初期値テーブルに従った逆スクランブル処理手順を設定し、その逆スクランブル処理手順に従ってユーザデータを逆スクランブルする。これによって、スクランブルされたユーザデータを正しく再生することができる。
また、ディスクをある特定の逆スクランブル処理手順しか有さない情報再生装置で再生することは、そのディスクの初期値テーブルと情報再生装置の初期値テーブルが一致する場合に限られ、それ以外の場合は正しく再生することは不可能となる。
なお、上述した実施の形態では、図9で示したスクランブル処理方法における乱数系列の初期値テーブルを変更する方法を示した。しかし、図9で示したスクランブル処理方法である必要はなく、全く異なるスクランブル処理方法を使用することも可能である。また、図9で示したスクランブル処理方法において、初期値テーブルの他にも変更可能なパラメータは多様にあり(例えば初期値テーブルを参照するためのビット列の取り方や乱数を発生させるシフトレジスタの構成など)、変更可能なパラメータの各々や組み合わせに識別子を与えることも可能となる。
上述したように、本発明に係る情報記録媒体によれば、用途や複製許可/不許可に応じてスクランブル処理方法を変更することが可能となる。その結果、不正な再生(例えば業務用ディスクを民生用ディスク再生装置で再生すること)や不正なコピーを防止することができる。
(第2の実施形態)
図4は、本発明に係る情報再生装置の構成を示す。情報再生装置は、ホストコンピュータ1と、ディスク3に記録されたデータを再生するディスク再生装置2とを含んでいる。
ホストコンピュータ1は、インタフェース部(I/F部)4と、映像情報を表示可能な形式に復号するAVデコーダ6と、表示装置7に映像情報を送出するビデオボード8と、CPU10と、DRAM(Dynamic Random Access Memory)などの内部メモリ11とを含んでいる。ビデオボード8と、CPU10と、内部メモリ11とは、バス9を介して相互に接続される。ビデオボード8の出力は、表示装置(出力装置)7に接続されている。ハードディスクドライブ12は、インタフェース部4に接続されている。
ディスク再生装置2は、インタフェース部5と、ディスク3からデータを読み出すための機構・信号処理回路・制御回路等を含むデータ再生部13と、ディスク再生装置2を制御するマイクロプロセッサ14とを含んでいる。
ホストコンピュータ1とディスク再生装置2とは、インタフェース部4、5を介して接続されている。例えば、インタフェース部4、5は、SCSI(Small Computer System Interface)やATAPI(AT Attachment PacketInterface)等の既存のインタフェース又は独自に定義されたインタフェースによって接続され得る。
ディスク再生装置2は、ディスク再生装置2のリセット時やディスク3の交換時において、ディスク3のリードイン領域に記録されたスクランブル情報を読み出し、そのスクランブル情報を解釈し、そのスクランブル情報に従った逆スクランブル処理手順をデータ再生部13に設定する。
ホストコンピュータ1は、ディスク3のデータ記録領域に記録されたユーザデータを出力装置7に表示するために、ディスク再生装置2に対してインタフェース部4、5を介して再生専用コマンド(以下、PlayAVコマンドと称する)を発行する。ディスク再生装置2は、PlayAVコマンドに応答して、スクランブル情報に従って逆スクランブル処理が施されたユーザデータをホストコンピュータ1に送信する。
ホストコンピュータ1のインタフェース部4は、PlayAVコマンドを使用してディスク再生装置2から受け取ったユーザデータはデータバス9には送らず、AVデコーダ6にのみ送る。従って、PlayAVコマンドを用いて得られたユーザデータをホストコンピュータ1に接続されたハードディスクドライブ12等の書き換え可能媒体に記録することは不可能である。
ホストコンピュータ1は、ディスク3のデータ記録領域に記録されたユーザデータをハードディスク12や内部メモリ11に記録する必要がある場合には、データ読出しコマンド(以下、Readコマンドと称する)を発行する。ディスク再生装置2は、そのReadコマンドに応答して、ディスク3のコピーが許可されているか否かをあらかじめ保持しているスクランブル情報をもとに判定する。
ディスク再生装置2は、スクランブル情報で指定されるスクランブル方式がコピー許可されたタイプであるか否かによって、異なる動作をする。
ディスク再生装置2がディスク3のコピーが許可されていると判定した場合には、ディスク再生装置2の立ち上げ動作時にディスク3のリードイン領域から読み込んだスクランブル情報に従って逆スクランブル処理を施した正しいユーザデータをホストコンピュータ1に送信する。一方、ディスク再生装置2がディスク3のコピーが禁止されていると判定した場合には、スクランブル情報とは異なる逆スクランブル処理を施した誤ったユーザデータをホストコンピュータ1に送信する。あるいは、エラー処理を行う等を行うことによって、ディスク再生装置2が正しいデータをホストコンピュータ1に返送しないようにしてもよい。このようにして、不法な複製を防止することが可能となる。
ディスク3のコピーが許可されているか否かを示す情報(コピー許可情報)を得る方法としては、様々な方法がある。例えば、コピー許可情報がディスク3の所定の領域に記録されている場合には、ディスク再生装置2がディスク3のその所定の領域からコピー許可情報を読み出せばよい。あるいは、コピー許可情報に応じてスクランブル処理方式が限定されている場合には、読み出されたスクランブル情報によってコピー許可情報を特定することができる。
あるいは、コピー許可情報は、スクランブル情報の一部によって表され得る。
例えば、スクランブル情報が複数のビットからなる場合において、その複数のビットのうち1ビットでコピー許可情報を表すことにしてもよい。このように、スクランブル情報は、コピーが許可されたデータに施すスクランブル方式と、コピーが禁止されたデータに施すスクランブル方式とを明確に区別するために使用され得る。従って、ディスク3からスクランブル情報を読み出すことにより、コピーが許可されているか否かを判定することが可能となる。以下、コピー許可情報はスクランブル情報の一部によって表されるとして説明する。
図5は、本発明に係る情報再生装置の他の構成を示す。図5の情報再生装置では、図4のホストコンピュータ1において独立していたAVデコーダ6とインタフェース部4とが、一体化した構成となっている。その他の構成は、図4の情報再生装置の構成と同様である。
PlayAVコマンドがホストコンピュータ1から発行されると、スクランブル情報に従って逆スクランブル処理を施されたユーザデータがディスク再生装置2からホストコンピュータ1に送信される。そのユーザデータは、AVデコーダ6によってAVデコードされて、その後、ビデオボード8に直接入力される。他の動作については、図4を用いて説明した実施の形態の情報再生装置と同様であるため、説明を省略する。
図6は、本発明に係る情報再生装置の他の構成を示す。図6の情報再生装置は、AVデコーダ6と一体化したインタフェース部4bと、インタフェース部4bとは独立したインタフェース部4aとを含んでいる。その他の構成は、図5の情報再生装置と同様である。
AVデコーダ6内のインタフェース部4bからはPlayAVコマンドのみが発行される。一方、Readコマンドは、インタフェース部4bとは独立したインタフェース部4aから発行される。他の動作については、図4を用いて説明した実施の形態の情報再生装置と同様であるため、説明を省略する。
図7は、本発明に係る情報再生装置の他の構成を示す。図7の情報再生装置では、データを表示可能な形式に変換するAVデコーダ6がディスク再生装置2に内蔵されている。従って、ディスク再生装置2をホストコンピュータ1に接続することは不要である。
以下に本構成の情報再生装置の動作を説明する。図7のディスク再生装置2において、マイクロプロセッサ14は、図1に示すディスクからスクランブル情報を読み出し、そのスクランブル情報を解釈し、そのスクランブル情報に従った逆スクランブル処理をユーザデータに施す。逆スクランブル処理が施されたユーザデータはAVデコーダに送られる。ユーザデータは、AVデコーダ6によってAVデコードされ、出力装置7に出力される。このようにしてディスク3に記録されたユーザデータの再生が可能となる。
しかしながら、ディスク再生装置2で再生することが好ましくないスクランブル情報がディスク3に記録されていた場合には、ディスク再生装置2は正しい再生を行わないことも可能である。例えば、ディスク3がカラオケ用途に使用される業務用ディスクであると仮定する。この場合において、そのディスク3が民生用ディスク再生装置に装着された場合には、民生用ディスク再生装置がディスク3に記録されたデータの再生を行わないようにすることも可能である。民生用ディスク再生装置は、ディスク3に記録されたスクランブル情報から民生用ディスクには使用されないスクランブル処理方法であるか否かを判定することができるからである。このように、ディスク3の用途に応じて使用可能なスクランブル処理方法を限定することにより、ディスク再生装置2がスクランブル情報に基づいて、ディスク3に記録されたデータを再生すべきか否かを判定することが可能となる。
また、特定の逆スクランブル処理のみを行うことが可能なディスク再生装置に対して、その逆スクランブル処理に対応しないスクランブル処理方法でスクランブルされたデータを記録したディスクを製造することにより、そのディスク再生装置がそのディスクに記録されたデータを再生することを禁止することが可能となる。
図8は、本発明に係る情報再生装置の構成を示す。情報再生装置は、ホストコンピュータ1と、ディスク再生装置11とを含んでいる。ホストコンピュータ1は、図8には示されていない。ホストコンピュータ1の構成は、図4〜図6のホストコンピュータ1の構成と同様である。
ディスク再生装置11は、インタフェース部(I/F部)5と、ディスク3に記録されたデータを読み出すデータ再生部13と、ディスク再生装置11を制御するマイクロプロセッサ14と、逆スクランブル回路部15と、復調・エラー訂正部16と、マイクロプロセッサ14によって実行されるプログラム等を格納するROM(Read Only Memory)17と、データ処理用RAM(Random Access Memory)20とを含んでいる。インタフェース部5と、データ再生部13と、マイクロプロセッサ14と、逆スクランブル回路部15と、復調・エラー訂正部16と、データ処理用RAM20とは、内部データバス19を介して相互に接続されている。逆スクランブル回路部15は、初期値テーブル格納用メモリ18を含んでいる。
マイクロプロセッサ14は、電源投入時やディスク3が交換された時等に、ディスク3からスクランブル情報を読み出し、そのスクランブル情報を解釈する。
ディスク3が図2に示すデータ構造を有する場合には、マイクロプロセッサ14は、ROM17に予め格納された複数の初期値テーブルの中から、スクランブル情報の内容に従って1つの初期値テーブルを選択する。マイクロプロセッサ14は、選択された初期値テーブルを逆スクランブル回路部15内の初期値テーブル格納用メモリ18に格納する。初期値テーブル格納用メモリ18は、例えば、RAMであり得る。あるいは、初期値テーブル格納用メモリ18がROMである場合には、そのROMに複数の初期値テーブルを予め格納しておいてもよい。
ホストコンピュータ1がPlayAVコマンドを発行すると、そのPlayAVコマンドは、ディスク再生装置2のインタフェース部5を介してマイクロプロセッサ14に入力される。マイクロプロセッサ14は、PlayAVコマンドに応答して、スクランブルされたユーザデータに対して逆スクランブル処理を行うように逆スクランブル回路部15に指示する。逆スクランブル回路部15は、初期値テーブル格納用メモリ18に格納された初期値テーブルに従って逆スクランブル処理を行う。逆スクランブル処理が施されたデータは、インタフェース部5を介してホストコンピュータ1に送信される。このようにして、ディスク3に記録されたデータを再生することが可能となる。
一方、ホストコンピュータ1がReadコマンドを発行すると、そのReadコマンドは、ディスク再生装置11のインタフェース部5を介してマイクロプロセッサ14に入力される。このとき、マイクロプロセッサ14は、ディスク3からあらかじめ読み出したスクランブル情報からコピーが許可されているスクランブル方式か否かを判定する。マイクロプロセッサ14は、コピーが禁止されていると判定した場合には、スクランブル情報に対応する初期値テーブルとは異なる初期値テーブルを逆スクランブル回路部15に設定する。あるいは、マイクロプロセッサ14は、初期値テーブルを逆スクランブル回路部15に設定することなく、ホストコンピュータ1にエラーを返送するようにしてもよい。このようにして、ディスク3に記録されたデータが再生されることを防止することができる。
また、マイクロプロセッサ14がスクランブル情報からコピーが許可されていると判定した場合において、ディスク3が図3に示すデータ構造を有する場合には、マイクロプロセッサ14は、ディスク3のリードイン領域から初期値テーブルを読み出し、その初期値テーブルを逆スクランブル回路部15内の初期値テーブル格納用メモリ18に格納する。初期値テーブル格納用メモリ18は、書き込み可能なメモリ(例えば、RAM)である。その他の処理は、ディスク3が図2に示すデータ構造を有する場合と全く同様であるので、ここでは省略する。
上述したように、本発明に係る情報再生装置によれば、情報記録媒体に記録されたスクランブル情報に応じて逆スクランブル処理方法を変更することが可能となる。これにより、複数種類の異なるスクランブル処理方法でスクランブルされたデータを正しく再生することが可能となる。
また、本発明に係る情報再生装置によれば、情報記録媒体に記録されたスクランブル情報に応じて情報再生装置が情報記録媒体に記録されたデータを再生すべきか否かを判定することができる。その結果、不法な複製を防止し、情報記録媒体に記録されたデータの著作権を保護することができる。
(第3の実施形態)
図10(a)は、本発明に係る情報記録媒体のデータ構造を示す。情報記録媒体上の何らかのデータが記録されている情報記録領域は、リードイン領域と、データ記録領域と、リードアウト領域とを含む。リードイン領域には、情報再生装置が情報記録媒体を再生するために必要とする情報が記録されている。データ記録領域には、主としてユーザにとって有用なプログラムデータやAVデータ等のデータが記録されている。
図10(b)は、リードイン領域に記録されているコントロールデータ領域のデータ構造を示す。コントロールデータ領域は、物理情報セクタと、スクランブル情報セクタとを含んでいる。物理情報セクタには、ディスク径やディスク構造、記録密度等のディスクの物理情報が記録されている。スクランブル情報セクタには、情報記録媒体のデータ記録領域に記録されたデータに対して施されたスクランブル方式等の情報が記録されている。スクランブル情報セクタは、情報再生装置が逆スクランブル処理を施すために参照される。なお、スクランブル情報セクタの詳細な内容については、後に図を参照して説明する。
図10(c)は、ボリューム・ファイル管理領域のデータ構造を示す。本実施の形態では、ボリューム・ファイル管理領域のデータ構造は、国際標準規格ISO9660(International Standard Organization 9660)に準拠している。この国際標準規格ISO9660は、CD−ROM(CompactDisc-Read Only Memory)において採用されている。
ボリューム・ファイル管理領域は、ボリューム記述子と、パステーブルと、ディレクトリレコードとを含んでいる。
ボリューム記述子には、ボリューム空間のサイズやパステーブルの記録位置情報、ディレクトリレコードの記録位置情報、ディスク作成日時等の情報が記録されている。パステーブルには、情報記録媒体上に存在する全てのディレクトリのパスと記録位置情報とを対応づけるテーブルが記録されている。ディレクトリレコードには、各ディレクトリまたはファイルの識別子(一般的には、ディレクトリ名又はファイル名)、データの記録位置情報、ファイルのサイズ、属性等の情報が記録されている。
図10(d)は、ディレクトリレコードの更に詳細なデータ構造を示している。ルートディレクトリ用ディレクトリレコードには、ルートディレクトリの属性や識別子、作成日時等が記録されている。また、ルートディレクトリ用ディレクトリレコード(第1セクタ)には、ディレクトリの記録位置情報が記録されている。ルートディレクトリ用ディレクトリレコード(第2セクタ)にも、同様な情報が記録されている。また、ファイルA用ディレクトリレコードには、ファイルAのデータの記録位置情報、データ長、ファイルの識別子情報、著作権管理識別子等が記録されている。このように、複数のディレクトリは階層構造を有している。
ルートディレクトリは、その階層構造の最も上位に位置するディレクトリである。これらの更に詳細な内容については後に図を参照して説明する。
データ記録領域には、スクランブルされているファイルと、スクランブルされていないファイルとが記録されている。例えば、スクランブルファイルAとスクランブルファイルCとは、スクランブルされているファイルであり、非スクランブルファイルBは、スクランブルされていないファイルである。著作権保護の対象になっているAVデータを格納するファイルは、スクランブルされているファイルであることが好ましい。
図10(e)は、スクランブルファイルAのデータ構造を示す。ファイルAは、セクタnから連続する複数のセクタに区分されている。複数のセクタのそれぞれに格納されるデータには、スクランブル処理が施されている。以下、本明細書では、スクランブル処理が施されたデータを格納するセクタを「スクランブルセクタ」という。
図10(f)は、非スクランブルファイルBのデータ構造を示す。ファイルBは、セクタmから連続する複数のセクタに区分されている。複数のセクタのそれぞれに格納されるデータには、スクランブル処理は施されていない。以下、本明細書では、スクランブル処理が施されていないデータを格納するセクタを「非スクランブルセクタ」という。
図11(a)〜(c)は、ボリューム・ファイル管理領域中のディレクトリレコードのデータ構造を示す。ディレクトリレコードは、ディレクトリレコード長と、ファイル記録位置情報と、ファイルデータ長と、ファイル識別子と、著作権管理情報とを含む。
ディレクトリレコード長は、ファイル(又はディレクトリ)のディレクトリレコードのサイズを示す情報である。ファイル記録位置情報は、ファイルのデータが記録されたセクタ(以下、エクステントと称す)の開始位置を示す情報である。
ファイルデータ長は、ファイルを構成するセクタ数を示す情報である。ファイル識別子は、ファイルを識別するための識別情報(ファイル名)である。著作権管理情報は、ファイルの著作権管理に関する情報である。
著作権管理情報は、スクランブルフラグ領域とスクランブル方式領域とを含む。スクランブルフラグ領域には、ファイルのデータにスクランブル処理が施されているか否かを示すフラグが記録される。ファイルのデータにスクランブル処理が施されている場合には、値1を有するフラグがスクランブルフラグ領域に記録され、ファイルのデータにスクランブル処理が施されていない場合には、値0を有するフラグがスクランブルフラグ領域に記録される。従って、スクランブルフラグ領域を参照することにより、ファイルのデータにスクランブル処理が施されているか否かを判定することができる。スクランブル方式領域には、ファイルのデータに施されたスクランブル処理の方式を示す識別子が記録される。従って、スクランブル方式領域を参照することによって、データに施されたスクランブル処理方式をファイル単位に決定することができる。
以下、図11(d)〜(f)を参照して、スクランブル方式の一例を説明する。このスクランブル方式に対応するスクランブル方式識別子を1とする。
図11(d)は、リードイン領域のコントロールデータ領域に記録されているスクランブル情報セクタのデータ構造を示す。スクランブル情報セクタは、セクタヘッダ領域とメインデータ領域とを含む。
スクランブル情報セクタのセクタヘッダ領域は、情報再生装置がセクタを識別するための識別子が記録されているアドレス領域と、情報記録領域に施されたスクランブル方式を特定するための情報(前記のように、本例のスクランブル方式を1とする)が記録されたスクランブル方式領域と、情報再生装置が再生データの転送を要求する機器に著作権保護対象のデータを送出して良いか否かを決定するための認証処理(以下、相互認証処理と呼ぶ)に使用する相互認証鍵が記録された相互認証鍵領域とを含む。この相互認証処理については後に詳しく述べる。
スクランブル情報セクタのメインデータ領域には、スクランブルのための鍵からスクランブル処理時に使用する乱数系列を決定するためテーブルが記録されている。従って、情報再生装置は、スクランブル情報セクタに記録されたテーブルとスクランブルのための鍵とを用いることで初めて、デスクランブル処理が可能となる。ただし、上記の乱数系列を決定する初期値を、以下ではプリセットデータと称する。
図11(e)は、データ記録領域中のスクランブルセクタのデータ構造を示す。
スクランブルセクタのセクタヘッダ領域は、アドレス領域と、セクタのメインデータ領域にスクランブル処理が施されているか否かを識別するフラグが記録されたスクランブルフラグ領域と、スクランブル時に使用した鍵(以下、シードキーと称す)が記録されたシードキー領域と、ファイルの用途を識別する情報が記録された用途識別情報領域とを含む。スクランブルフラグ領域には、スクランブル処理が施されていることを示す1が記録されており、シードキー領域にはメインデータ領域のデスクランブル処理に用いる鍵が記録されている。また、用途識別情報領域には、業務用、民生用等の記録されたデータの用途についての情報が記録されており、情報再生装置の用途が用途識別情報と異なる場合の再生制限を示す情報が記録されている。また、メインデータ領域には、リードイン領域のスクランブル情報セクタで指定されたスクランブル方式と、スクランブルセクタのセクタヘッダ領域のシードキーとによって決定されるスクランブル処理が施されたデータが記録されている。つまり、シードキー領域に記録された値をもとにスクランブル情報セクタのテーブルを参照してプリセットデータを決定し、そのプリセットデータによって決定される乱数系列を用いてスクランブル/デスクランブル処理が可能となる。以下では、シードキーはファイル毎に同一であるとして説明を行う。
一方、非スクランブルセクタのセクタヘッダは、アドレス領域とスクランブルフラグ領域を含む。スクランブルフラグ領域には、セクタのメインデータ領域にスクランブル処理が施されていないことを示す0が記録されている。従って、情報再生装置は、スクランブルフラグ領域の値が0であることを検知することにより、デスクランブル処理を施す必要がないことを容易に認識できる。
次に、図12を参照して、スクランブル方式の一例を説明する。
図12(a)は、8ビットのデータ系列Dj(jは0から2047までの整数)をある初期値をもとに発生させた8ビットの乱数系列Sjと論理演算を行うことにより、スクランブルされたデータSDjが得られることを示す。すなわち、リードイン領域に記録されたスクランブル情報セクタと、各セクタのセクタヘッダ領域のシードキーによって定まる15ビットのプリセットデータをシフトレジスタ301にセットし、上位ビット方向にシフトを行いながら最上位ビットr14とビットr10の排他的論理和をビット0に入れることで乱数系列Sjを発生する。ここで、1ビットシフトする度にビット位置r0のビットを論理演算ブロック302に入力し、8回のシフトによって論理演算ブロック302に入力される8ビットの数値をSjとする。以上の様にして得られるSjと8ビットの記録データDjとの論理演算(例えば、排他的論理和など)によってスクランブル後のデータSDjか得られる。1セクタのメインデータのサイズを2048バイトとすると、前記の操作をSD0からSD2047まで2048回繰り返すことで1セクタのスクランブル処理を行うことができる。
また、図12(b)および(c)は、スクランブル情報セクタからプリセットデータを決定するテーブルへの変換を示している。図12(b)に示すスクランブル情報セクタには、テーブルの各エントリが4つ記録されており、各エントリはシードキーとプリセットデータの組から成る。これらの組をテーブル化すれば図12(c)の様なテーブルが得られる。例えば、セクタヘッダに記録されているシードキーが01b(bは2進数であることを意味する)であれば、プリセットデータとして0077h(hは16進数を意味する)を図12(a)のシフトレジスタ301に初期値として設定し、上記のシフト動作および論理演算を施すことで、スクランブル/デスクランブル処理が可能となる。
以上のように、本実施形態の情報記録媒体は、ファイル単位でスクランブルをかけることを可能とするとともに、スクランブルが施されているか否かの情報をファイル管理領域に著作権管理情報として有するとともに、セクタ単位にもセクタヘッダのスクランブルフラグ領域に有することで、パーソナルコンピュータのようにメインデータの認識しか行えない装置にスクランブル処理の有無の認識を可能とし、光ディスクドライブのようなメインデータの認識が行えない装置にもスクランブル処理の有無の認識を可能とする。従って、パーソナルコンピュータに接続された光ディスクドライブによってデータを再生する場合にも、その両者が著作権保護対象のデータであるか否かを判別することを可能とする。
また、本実施の形態の情報記録媒体は、シードキーを変更することによってファイル毎に異なるスクランブル処理を施すことができるため、仮に不正行為によって一つのスクランブルファイルのスクランブル方法を解読されたとしても、解読されたスクランブル方式で他のスクランブルファイルをデスクランブルすることを防止することができ、著作権保護処理を行う上でのセキュリティを向上することが可能となる。
また、本実施の形態の情報記録媒体を著作権保護目的で使用する場合には、デスクランブルに必要不可欠なスクランブル情報を記録したスクランブル情報セクタが、パーソナルコンピュータのような機器からは読み出すことのできないリードイン領域に存在しているために、スクランブル情報を不正に読みだそうとする行為を防止する効果が高い。また、リードイン領域はデータ記録領域と同一の再生手段で再生可能なために、特別な再生手段を新たに設ける必要がない。
また、セクタ単位に記録した、シードキー、スクランブルフラグ、用途識別情報等の情報を、パーソナルコンピュータのような機器からは読み出すことのできないセクタヘッダ領域に記録しているために、前記のリードイン領域にスクランブル情報を記録するのと同様に、不正に前記情報を読み出そうとする行為を防止する効果がある。
また、セクタヘッダ領域に用途識別情報を記録しているために、記録されたデータの内容に応じて再生装置が再生を行うべきか、再生を禁止すべきかの判定を行うことを可能とする。よって、例えば、業務用のディスクと民生用のディスクとで本領域に異なる識別子を記録することで、民生用再生装置で業務用ディスクが再生することを防止できる。
また、相互認証処理に用いる相互認証鍵を記録することで、再生装置が相互認証動作で送受信するデータを該相互認証鍵毎に変更することが可能となり、相互認証処理の処理方法を不当に解読することを防止する効果がある。従って、相互認証処理を不当に行って、磁気ディスクドライブなどに不当にコピー動作を行おうとする行為を防止することが可能となる。
なお、本実施の形態において、ボリューム・ファイル構造は国際規格であるISO9660をもとにしたが、本発明に述べたような情報を有するボリューム・ファイル構造であればこれに限らないことは言うまでもない。
なお、本実施の形態において、スクランブル方式は乱数とデータの論理演算を用いるとしたが、本実施の形態のようにテーブルとテーブルを参照するためのシードキーを有するスクランブル方式であればこれに限らないことは言うまでもない。
なお、本実施の形態において、リードイン領域にはプリセットデータを決定するためのテーブルを記録したが、テーブルを決定するためのパラメータであればこれに限らず、あらかじめ既知の複数のテーブルからただ一つのテーブルを特定するための識別子を記録しても良い。
なお、本実施の形態において、スクランブルセクタのセクタヘッダ領域に用途識別情報領域として用途識別のための情報記録領域を確保したが、明確に分離した領域として確保しなくても、シードキーの値によって用途を分類するようにしても良いことは言うまでもない。
なお、本実施の形態において、スクランブルセクタはメインデータ領域の2048バイト全てにスクランブル処理が施されていることとしたが、メインデータ領域の全てにスクランブル処理が施されていなくとも、定められた一部の領域のみにスクランブル処理が施されていても良い。
(第4の実施形態)
次に、本発明に係る情報記録媒体の他のデータ構造を説明する。情報記録媒体のデータ構造は、図10に示される情報記録媒体の構造と同様である。ここでは、図10に示されるデータ構造と異なる点についてのみ説明する。
図13(a)〜(c)は、ボリューム・ファイル管理領域に記録されたディレクトリレコードのデータ構造を示す。ディレクトリレコードの著作権管理情報中のスクランブル方式領域には、本実施の形態で説明するスクランブル方式を示す2が記録されている。
図13(e)は、スクランブルセクタのデータ構造を示している。スクランブルセクタのセクタヘッダ領域は、アドレス領域と、スクランブルフラグ領域と、メディアCGMS(Copy Generation Management System)データ領域と、暗号化オリジナルCGMSデータ領域と、暗号化タイトル鍵領域と、暗号化用途識別情報領域とを含む。
スクランブルフラグ領域には、スクランブル処理が施されていることを示す1が記録されている。
メディアCGMSデータ領域には、情報記録媒体のコピー許可情報が記録されている。暗号化オリジナルCGMSデータ領域には、本セクタのデータが他の媒体からコピーされている場合において、最もオリジナルのデータのコピー許可情報が記録されている。ここで、メディアCGMSデータは、情報記録媒体のデータのコピー許可情報を表す。メディアCGMSデータは、コピー動作時に更新される。オリジナルCGMSデータは、ディスク作成時のコピー許可情報を表す。
オリジナルCGMSデータは、暗号化が施されているために、コピー動作時もそのままコピーされる。(表1)にメディアCGMSデータ、オリジナルCGMSデータの定義を示す。
(表1)から、例えば、メディアCGMSデータが11bであって、オリジナルCGMSデータが10bであったとすれば、そのセクタのデータは、もともと1回のみコピー許可状態(メディアCGMSデータおよびオリジナルCGMSデータがともに01b)であって、既に1回のコピー動作が行われたことによってメディアCGMSデータがコピー禁止を意味する11bに変更されたと判定すべきである。以下では、メディアCGMSデータと、オリジナルCGMSデータを合わせてCGMS制御情報と称する。
暗号化タイトル鍵領域には、メインデータ領域に施されたスクランブル処理をデスクランブルするための鍵が記録されている。
暗号化用途識別情報領域には、用途を指定するための識別情報が暗号化されて記録されている。ただし、前記の暗号化オリジナルCGMSデータ領域、暗号化タイトル鍵領域、暗号化用途識別情報領域はいずれも暗号化処理が施されており、セクタヘッダ領域を読み出しただけでは情報を得ることはできない。これらの暗号化データは情報記録媒体のリードイン領域のセクタヘッダ領域に記録された暗号化ディスク鍵を用いて暗号化されている。したがって、スクランブル情報セクタのヘッダ領域の暗号化情報を復号するためには、前記暗号化ディスク鍵が必要となる。
図13(d)は、スクランブル情報セクタのデータ構造を示す。以下の説明では、暗号化されたデータと暗号を復号化したデータとを明確に区別するため、暗号化されたデータは「暗号化」をつけた名称で表すこととし、暗号を復号化したデータは「復号化」をつけた名称で表すこととする。例えば、タイトル鍵を暗号化することによって得られるデータは「暗号化タイトル鍵」といい、暗号化タイトル鍵を復号化することによって得られるデータは「復号化タイトル鍵」という。
スクランブル情報セクタは、リードイン領域のコントロールデータ領域に記録されている。
スクランブル情報セクタのセクタヘッダ領域には、スクランブル方式が本方式のスクランブル方式であることを示す2が記録されている。また、相互認証鍵領域には、デスクランブル後のデータを送出するか否かを決定するための相互認証処理に用いられる相互認証鍵が記録されている。本相互認証鍵については、後述する情報再生装置の実施形態において、詳しく述べることとする。
スクランブル情報セクタのメインデータ領域には、スクランブルセクタの暗号化オリジナルCGMSデータ、暗号化タイトル鍵、暗号化用途識別情報を復号するための暗号化ディスク鍵が記録されている。ただし、暗号化ディスク鍵はさらに暗号化が施されており、暗号化ディスク鍵を復号するための鍵(以下、マスター鍵と称す)は、情報再生装置によって提供される。
スクランブル情報セクタのメインデータ領域には、暗号化ディスク鍵1、暗号化ディスク鍵2、・・・と複数の暗号化ディスク鍵が記録されており、暗号化ディスク鍵1はマスター鍵1で、暗号化ディスク鍵2はマスター鍵2で、・・・というようにそれぞれ対応したマスター鍵によって暗号化されている。ここで、暗号化ディスク鍵1、暗号化ディスク鍵2、・・・は、同一のディスク鍵情報を異なるマスター鍵で暗号化したものである。従って、ある情報再生装置Aがマスター鍵1を内部に有しており、別の情報再生装置Bがマスター鍵2を内部に有している場合、情報再生装置Aは暗号化ディスク鍵1を、情報再生装置Bは暗号化ディスク鍵2をそれぞれ復号して、同一の内容の復号化ディスク鍵を得ることが可能となる。
図13(f)は、非スクランブルセクタのデータ構造を示す。スクランブルセクタフラグ領域には0が記録されている。メインデータ領域に記録されているデータにはスクランブル処理が施されていない。このことは、従来の情報記録ディスクと同様なデータアクセスが可能であることを示している。
以上のように、本実施形態の情報記録媒体は、非スクランブルセクタの再生に際しては従来と全く同様のアクセスでのデータ再生が可能である。一方、スクランブルセクタの再生を行うためには、マスター鍵を有する情報再生装置が、リードイン領域のスクランブル情報セクタを読み出して暗号化ディスク鍵をマスター鍵で復号し、さらに、復号化したディスク鍵を用いてスクランブルセクタのセクタヘッダの暗号化タイトル鍵を復号化し、復号化したタイトル鍵を用いてスクランブルデータのデスクランブル処理を行うことでデータの再生が可能となる。
以下では、スクランブル方式の例として、第3の実施形態で述べたスクランブル方式を用いる場合について述べる。第3の実施形態においては、変換テーブルを用いてプリセットデータを生成したが、本実施形態の情報記録媒体では、暗号化タイトル鍵領域に乱数発生のための初期値を暗号化して記録すれば、図12(a)のシフトレジスタ301と論理演算ブロック302とを用いて容易にデータのスクランブル処理が行える。すなわち、復号したタイトル鍵をシフトレジスタ302の初期値とし、シフトを繰り返すことで乱数系列Sjを発生し、データ系列Djとの論理演算をとることにより、スクランブル処理が可能となる。また、図12(a)のシフトレジスタ301を用いて、データのデスクランブルも同様に可能となる。
以上のように、本実施の形態の情報記録媒体は、ファイル単位でスクランブルをかけることを可能とするとともに、スクランブルが施されているか否かの情報をファイル管理領域に著作権管理情報として有するとともに、セクタ単位にもセクタヘッダのスクランブルフラグ領域に有することで、パーソナルコンピュータのようにメインデータの認識しか行えない装置にスクランブル処理の有無の認識を可能とし、光ディスクドライブのようなメインデータの認識が行えない装置にもスクランブル処理の有無の認識を可能とする。従って、パーソナルコンピュータに接続された光ディスクドライブによってデータを再生する場合にも、その両者が著作権保護対象のデータであるか否かを判別することを可能とする。
また、本実施の形態の情報記録媒体は、タイトル鍵を変更することによってファイル毎に異なるスクランブル処理を施すことができるため、仮に不正行為によって一つのスクランブルファイルのスクランブル方式を解読されたとしても、解読されたスクランブル方式で他のスクランブルファイルをデスクランブルすることを防止することができ、著作権保護処理を行う上でのセキュリティを向上することが可能となる。
また、本実施の形態の情報記録媒体を著作権保護目的で使用する場合には、デスクランブルに必要不可欠なスクランブル情報を記録したスクランブル情報セクタが、パーソナルコンピュータのような機器からは読み出すことのできないリードイン領域に存在しているために、スクランブル情報を不正に読みだそうとする行為を防止する効果が高い。また、リードイン領域はデータ記録領域と同一の再生手段で再生可能なために、特別な再生手段を新たに設ける必要がない。
また、セクタ単位に記録した、スクランブルフラグ、CGMS制御情報、暗号
化タイトル鍵、暗号化用途識別情報を、パーソナルコンピュータのような機器からは読み出すことのできないセクタヘッダ領域に記録しているために、前記のリードイン領域にスクランブル情報を記録するのと同様に、不正に前記セクタヘッダ中の情報を読み出そうとする行為を防止する効果がある。
また、セクタヘッダ領域に用途識別情報を記録しているために、記録されたデータの内容に応じて再生装置が再生を行うべきか、再生を禁止すべきかの判定を行うことを可能とする。よって、例えば、業務用のディスクと民生用のディスクとで本領域に異なる識別子を記録することで、民生用再生装置で業務用ディスクが再生することを防止できる。
また、相互認証処理に用いる相互認証鍵を記録することで、再生装置が相互認証動作で送受信するデータを該相互認証鍵毎に変更することが可能となり、相互認証処理の処理方法を不当に解読することを防止する効果がある。従って、相互認証処理を不当に行って、磁気ディスクドライブなどに不当にコピー動作を行おうとする行為を防止することが可能となる。
また、本実施の形態の情報記録媒体は、スクランブルセクタのメインデータをタイトル鍵で暗号化し、タイトル鍵をディスク鍵で暗号化し、ディスク鍵をマスター鍵で暗号化するという階層的な暗号化/スクランブル処理を施しているために、不正にスクランブルセクタのメインデータをコピーされた場合でも、そのデスクランブルを防止する効果があるため、不正コピーを無意味なものとする事が可能である。
また、CGMS制御情報を記録しているために、本実施の形態の情報記録媒体から他の書き換え型媒体にファイルコピーされた場合にも、不正コピーされたか、正規コピーされたかを判定することを可能とする。
なお、本実施の形態ではタイトル鍵を初期値とした乱数とデータとの論理演算によってスクランブル処理を行う例を示したが、スクランブル方式はこれに限らず、指定された鍵に応じてデータをスクランブルする方式であれば他のスクランブル方式でも良いことは言うまでもない。
なお、本実施の形態のボリューム・ファイル構造は、国際標準規格であるISO9660をもとに説明したが、本実施の形態で述べた内容と同等の著作権管理情報を記録できるボリューム・ファイル構造であれば、これに限らないことは言うまでもない。
なお、本実施の形態において、スクランブルセクタはセクタの全てのデータがスクランブルされているとしたが、セクタのメインデータ全域がスクランブルされていなくとも、メインデータの一部のみがスクランブルされていても良いことは言うまでもない。
なお、本実施の形態において、スクランブルファイルではファイルを構成する全てのセクタにスクランブルが処理が施されているとしたが、スクランブルファイルの一部のセクタのみにスクランブル処理が施されていても良いことは言うまでもない。
なお、本実施の形態において、CGMS制御情報は、1回コピーのみ許可、コピー禁止、コピー許可の3種のみを用いていたが、割り当てるビットを拡張することで容易に2回コピー許可、3回コピー許可などの情報を記録できることは言うまでもない。
なお、本実施の形態で述べたメインデータのスクランブル方法は一例であり、ある鍵情報(本実施の形態ではタイトル鍵)をもとにスクランブルする方法であれば、これに限らない。
(第5の実施形態)
以下、図面を参照しながら、本発明に係る情報記録媒体を再生するための情報再生装置を説明する。特に断らない限り、情報再生装置は、本発明に係る情報記録媒体の第3の実施の形態と第4の実施の形態に共通して再生可能な装置であることとする。従って、以下では情報記録媒体の第4の実施の形態を再生する場合の動作を例に説明するが、暗号化タイトル鍵領域をシードキー領域と、スクランブル情報セクタの暗号化ディスク鍵をプリセットデータ変換テーブルと、それぞれ置き換えることによって情報記録媒体の第3の実施の形態についても同様に処理できる。
図14は、本発明に係る情報再生装置500の構成を示すブロック図である。
情報再生装置500は、メインプロセッサ501と、バスインタフェース回路503と、主記憶504と、SCSI(Small Computer System Interface)で定められるプロトコルを制御するSCSI制御カード506と、圧縮されたディジタルAVデータを伸張してアナログAVデータに変換して出力するAVデコーダカード507と、本発明に係る情報記録媒体を再生する光ディスクドライブ509と、ハードディスクドライブ510とを含んでいる。
メインプロセッサ501と、バスインタフェース回路503と、主記憶504とは、プロセッサバス502を介して相互に接続されている。バスインタフェース回路503と、SCSI制御カード506と、AVデコーダカード507とは、システムバス505を介して、相互に接続されている。SCSI制御カード506と、光ディスクドライブ509と、ハードディスクドライブ510とは、SCSIバスを介して、相互に接続されている。
次に、情報再生装置500によるAVファイルの再生動作について説明する。
光ディスクドライブ509に光ディスクが装着されると、メインプロセッサ501は、SCSI制御カード506を介して前記光ディスクのボリューム・ファイル管理領域を読み出し、主記憶504に格納する(以下、格納したボリューム・ファイル管理領域のデータをファイル管理情報と称す)。
メインプロセッサ501は、AVデコーダカード507と光ディスクドライブ509との間で互いの機器が著作権保護機能を有する機器であるか否かを判定する処理(以下、相互認証処理と称す)を行う。その処理過程においていずれかの機器からエラーを検出した場合には相互認証処理が失敗したとみなし、以下の処理を中止する。一方、相互認証処理が正常に終了した場合に光ディスクドライブ509は、装着されたディスクの暗号化ディスク鍵をAVデコーダカードに転送する。この際、光ディスクドライブ509は、暗号化ディスク鍵の出力時に、さらに相互認証処理中に生成した鍵(以下、バス鍵と称す)に基づいて暗号化を施した暗号化ディスク鍵を送出する。AVデコーダカード507は受け取った暗号化ディスク鍵を、バス鍵で復号化を行った後、内部で保持する。
その後、光ディスクに記録されたファイルを再生する場合にメインプロセッサ501は、あらかじめ主記憶504に格納したファイル管理情報中の著作権管理情報のスクランブルフラグを参照し、再生を行うファイルがスクランブルされたファイルであるか否かを判定する。判定の結果、再生するファイルがスクランブルされていないファイルであると判定されれば、光ディスクドライブ509はメインプロセッサ501からSCSI制御カード506を介して再生命令を受領し、非スクランブルデータを転送する。一方、メインプロセッサ501がファイル管理情報のスクランブルフラグからスクランブルされたファイルであると判定すれば、再び光ディスクドライブ509とAVデコーダカード507間の相互認証処理を実行する。
メインプロセッサ501は、相互認証処理中にエラーを検出すれば、再生処理を行わずに処理を中止する。一方、相互認証処理が正常に終了した場合には、データの再生に先だって、光ディスクドライブ509は暗号化タイトル鍵を返送し、メインプロセッサ501によってAVデコーダカード507に転送される。この時、光ディスクドライブ509はあらかじめ保持しているバス鍵によって暗号化した暗号化タイトル鍵を転送する。また、AVデコーダカード507は受け取った暗号化タイトル鍵を、バス鍵で復号化した後に内部的に格納する。
その後、光ディスクドライブ509は装着されたディスクから読み出されるスクランブルデータを送出し、マイクロプロセッサ501は該スクランブルデータをAVデコーダカード507に転送する。AVデコーダカード507は、既に内部に格納するタイトル鍵に用いて、受信したスクランブルデータをデスクランブルし、アナログAVデータに変換し、ビデオ出力、オーディオ出力からアナログ信号として出力する。以上のようにして、情報再生装置500は、本発明の情報記録媒体を再生することが可能となる。
光ディスクドライブ509からハードディスクドライブ510へのスクランブルファイルのコピー動作については、ハードディスクドライブ510が相互認証処理を実行できないために、相互認証処理がエラー終了となる。従って、光ディスクドライブ509がデータをSCSIバスに送出する前に処理は中止され、コピー動作は実行されない。
また、仮に、光ディスクドライブ509が読み出したスクランブルファイルを不当にハードディスクドライブ510へコピーするためのプログラムが主記憶504にロードされ、何らかの形で相互認証処理を正常終了させた後に、転送されたスクランブルデータをハードディスクドライブ510にコピーした場合には、スクランブルデータはハードディスクドライブ510にコピーされる。しかしながら、ハードディスクドライブ510にコピーされたデータを再生するためには、再びハードディスク510とAVデコーダカード507の相互認証処理が必要となり、この場合にハードディスクドライブ510はバス鍵を生成する手段を持たないために、ハードディスク510上のスクランブルファイルがAVデコーダカード507によって再生されることは不可能となる。
従って、不正なコピーが仮になされたとしても、そのコピー動作を無意味なものとすることができ、結果として著作権保護機構を実現することができる。
以下に、情報再生装置500の構成要素である光ディスクドライブ509およびAVデコーダカード507の更に詳細な構成および動作について、それぞれ図15、図16を参照して説明する。
図15は、光ディスクドライブ509の構成を示すブロック図である。以下にその構成について説明する。600はSCSI制御回路を、601はAVデコーダとの相互認証処理を行うためのデコーダ認証回路を、602は光ディスクドライブ全体を制御するマイクロコントローラを、603はマイクロコントローラの動作プログラムを格納したプログラムROMを、604は制御データを伝送する制御バスを、605はデータの再生時に、読み出しエラーを訂正するためのエラー訂正処理時に使用されるECC(Error Correction Code)処理用メモリを、606は光ディスク607からのデータの読み出し、2値化、復調、エラー訂正処理等を行うデータ再生回路を、607は本発明に係る情報記録媒体であって、前記第3の実施の形態又は第4の実施の形態に示されるデータ構造を有する光ディスクを、それぞれ示している。
次に、光ディスクドライブ509の動作について、相互認証処理時およびデータ再生時の動作について述べる。
相互認証処理要求をSCSI制御回路600によって受け取った光ディスクドライブ509は、デコーダ認証回路601を制御して定められた相互認証処理を実行する。本プロトコルについては、後に詳しく述べるためここでは省略する。
前記相互認証処理のプロトコルにおいて、マイクロコントローラ602が何らかのエラーを検出した場合には、SCSI制御回路600からエラーを報告して相互認証処理およびそれに続く鍵情報転送動作を中止する。正常に相互認証処理が終了した場合には、デコーダ認証回路601には相互認証処理時に決定されるバス鍵が格納される。
相互認証処理がディスク交換時やリセット時のものであれば、相互認証処理に引き続いて暗号化ディスク鍵の読み出し要求が光ディスクドライブ509に発行される。この時、光ディスクドライブ509は、データ再生回路606を制御して光ディスク607から暗号化ディスク鍵情報を読み出し、さらにデコーダ認証回路601で既に保持しているバス鍵を使用して暗号化を施した暗号化ディスク鍵をSCSI制御回路600から送出する。一方、スクランブルファイルの再生時における相互認証処理であった場合は、相互認証処理の正常終了に引き続いて、暗号化タイトル鍵の読み出し命令を光ディスクドライブ509は受領する。この時光ディスクドライブ509は、データ再生回路606を制御して光ディスク607から暗号化タイトル鍵情報を読み出し、さらにデコーダ認証回路601で既に保持しているバス鍵を使用して暗号化を施したデータをSCSI制御回路600から送出する。
その後に発行されるファイルデータの再生要求に対して光ディスクドライブ509は、光ディスク607から読み出したスクランブルデータをSCSI制御回路600から送出する。以上で光ディスクドライブ509の説明を終わる。
なお、本実施の形態の光ディスクドライブ509は、暗号化ディスク鍵の転送要求を受領してから、光ディスク607の暗号化ディスク鍵領域を再生するとしたが、光ディスク607装着時に読み込んで、内部的に保持していても良いことは言うまでもない。
次に、AVデコーダボードの構成および動作について図16を参照して説明する。
図16は、AVデコーダカード507の構成を示すブロック図である。以下にその構成要素について説明する。700はシステムバスと情報の送受信を制御するシステムインタフェース回路を、701は光ディスクドライブ509と相互認証処理を行うドライブ認証回路を、702はAVデコーダカード507全体を制御するマイクロコントローラを、703はマイクロコントローラ702の動作プログラムを格納したプログラムROMを、704は制御情報を伝送する制御バスを、705はスクランブルデータをデスクランブルするためのデスクランブル回路を、706は圧縮されたディジタルAVデータを伸張してアナログAVデータに変換するオーディオ/ビデオデコーダ回路を、707はオーディオ/ビデオデコーダ回路706がデータ変換に使用する作業用メモリであるオーディオ/ビデオデコード用メモリを、それぞれ示している。
次にAVデコーダカード507の動作について、相互認証処理時およびスクランブルファイル再生時の動作について説明する。
まずリセット時やメディア交換時における相互認証処理時には、マイクロコントローラ702はドライブ認証回路701を制御して光ディスクドライブ509と所定のプロトコルに従って相互認証処理を実行する。前記相互認証処理中にドライブ認証回路701が何らかのエラーを検出した場合には、システムインタフェース回路700を介してエラーを報告し、処理を打ち切る。一方、正常に相互認証処理が終了した場合にドライブ認証回路701は相互認証処理で決定したバス鍵を内部的に保持する。
さらに、AVデコーダカード507は、システムインタフェース回路700から暗号化ディスク鍵を受け取る。ここで、受領した暗号化ディスク鍵は光ディスクドライブ509においてバス鍵を用いて暗号化されているため、AVデコーダカード507はドライブ認証回路701において既に保持するバス鍵で復号化した後にデスクランブル回路705に転送する。デスクランブル回路705内は受け取った暗号化ディスク鍵を、内部に格納する。
一方、スクランブルファイルの再生時には、ファイルの再生に先だって再び光ディスクドライブ509との相互認証処理が実行される。ここでも相互認証処理においてエラーが発生した場合には相互認証処理およびそれに続くファイル再生動作を中止する。相互認証処理がエラーなく正常に終了した場合にAVデコーダカード507は、システムインタフェース回路700を介して暗号化タイトル鍵を受信する。暗号化タイトル鍵は光ディスクドライブ509において、バス鍵を用いて更に暗号化されているために、ドライブ認証回路701において保持しているバス鍵によって復号され、デスクランブル回路705に転送される。デスクランブル回路705内は、受領した暗号化タイトル鍵を内部的に格納する。
その後、システムインタフェース回路700から受信するスクランブルファイルのスクランブルデータはそのままデスクランブル回路705に転送され、既に保持しているタイトル鍵をもとにデスクランブル処理が行われ、オーディオ/ビデオデコード回路706に転送されてアナログAV信号に変換されて出力される。
以上のように、本実施の形態の情報再生装置500によれば、内部の光ディスクドライブ509にデコーダ認証回路601、AVデコーダカード507にドライブ認証回路701をそれぞれ有しているために、ファイルを不正にコピーする目的の機器には鍵情報を送出しない。したがって、仮にスクランブルファイルのデータが不正にコピーされたとしても、そのデスクランブルを実行するための鍵情報を送出しないことで、コピーデータを無意味なものとすることができる。従って、ファイルの著作権を保護する効果がある。
また、本実施の形態の情報再生装置によれば、AVデコーダカード507内に鍵情報に応じたデスクランブル処理を施すデスクランブル回路705を有するために、スクランブルされたデータをデスクランブルして再生することが可能である。
なお、本実施の形態では、光ディスクドライブ509が接続されるバスをSCSIバスであるとしたが、定められたプロトコルに従って再生データが転送できればこれに限らず、ATAPI(AT Attatchment Packet Interface)やIEEE1394(Institute of Electricaland Electronics Engineers 1394)等に従ったバスであっても良いことは言うまでもない。
なお、本実施の形態において、デコーダ認証回路601の機能およびドライブ認証回路701の機能は、マイクロコントローラ602および702によって実行されるソフトウェアによって実現されてもよい。
(第6の実施形態)
次に、本発明に係る情報再生装置800を説明する。
図17は、本発明に係る情報再生装置800の構成を示すブロック図である。
情報再生装置800の構成は、AVデコーダカード801がSCSI方式に従って通信を行うためのSCSI制御回路を内蔵している点を除いて、図14に示す情報再生装置500の構成と同様である。従って、同一の構成要素には同一の参照番号を付し、その説明を省略する。
次に、情報再生装置800の動作を説明する。
SCSI制御回路内蔵AVデコーダカード801は内部にSCSI制御回路を内蔵しているため、メインプロセッサ501から光ディスクドライブ509のスクランブルファイル再生要求が発行されると、SCSI制御回路内蔵AVデコーダカード801と光ディスクドライブ509との間で相互認証処理が直接実行される。すなわち、SCSI制御回路内蔵AVデコーダカード801が光ディスクドライブ509に相互認証のためのコマンドシーケンスを発行し、光ディスクドライブ509がそのコマンドに応答することで相互認証処理を行う。
また、データの再生動作においても同様に、光ディスクドライブ509に再生要求を行うのは、SCSI制御回路内蔵AVデコーダカード801であって、メインプロセッサ501ではない。従って、光ディスクドライブ509が読み出したデータは直接SCSI制御回路内蔵AVデコーダカード801に入力され、アナログAV信号に変換されて出力される。
図18は、SCSI制御回路内蔵AVデコーダカード801の構成を示すブロック図である。以下では、図16に示したAVデコーダカード507の構成と異なる点についてのみ説明する。
900はSCSIバスとの送受信を制御するSCSI制御回路を、901はマイクロコントローラによって実行されるプログラムを格納したプログラムROMを、それぞれ示している。
システムインタフェース回路700にスクランブルファイルの再生要求が入力されれば、マイクロコントローラ702はドライブ認証回路701およびSCS1制御回路900を制御して、光ディスクドライブ509との相互認証処理を実行する。このとき、相互認証プロトコルは、光ディスクドライブ509に対してSCSI制御回路900から直接コマンドが発行される。また、マイクロコントローラ702は相互認証プロトコルに従ってドライブ認証回路701を制御して相互認証処理を行う。以上の相互認証処理がエラーで終了した場合には、マイクロコントローラ702はシステムインタフェース回路700を制御して、メインプロセッサ501にエラーを報告して処理を終了する。一方、相互認証処理が正常に終了した場合には、光ディスクドライブ509から直接SCSI制御回路900によってスクランブルファイルのデータを受け取り、デスクランブル回路705でデスクランブルしたデータをオーディオ/ビデオデコーダ回路706でアナログAV信号に変換して出力する。以上により、第5の実施の形態の情報再生装置と同様に、本発明の情報記録媒体に記録されたデータの著作権を侵害するコピー動作を防止して、AVデータを再生することが可能となる。
以上のように、本実施の形態の情報再生装置800では、第5の実施の形態の情報再生装置の特徴に加えて、光ディスクドライブ509とSCSI制御回路内蔵AVデコーダカード801が直接コマンドおよびデータの送受信を行うために、相互認証方式や鍵情報を不当に解読されること、および、ソフトウェアによって不当なコピー動作が実行されることに対するセキュリティが向上する。
なお、再生する情報記録媒体を本発明に係る情報記録媒体の第4の実施の形態を用いて説明したが、本発明に係る情報記録媒体の第3の実施の形態においても全く同様に処理することが可能であり、説明中の暗号化タイトル鍵をシードキーとし、暗号化ディスク鍵をスクランブル情報セクタの変換テーブル情報に置き換えれば良い。
なお、本実施の形態では、光ディスクドライブ509が接続されるバスをSCSIバスであるとしたが、定められたプロトコルに従って再生データが転送できれはこれに限らず、ATAPI、IEEE1394等のインタフェースでも良い。
(第7の実施形態)
次に、本発明に係る情報再生装置1000を説明する。
図19は、本発明に係る情報再生装置1000の構成を示すブロック図である。情報再生装置1000は光ディスクプレーヤである。情報再生装置1000の構成要素は、プログラムROM1001を除いて、図14の情報再生装置の構成要素または図17の情報再生装置の構成要素と同一である。従って、同一の構成要素には同一の参照番号を付し、その説明を省略する。また、ここでは本発明の情報記録媒体の第4の実施の形態をもとに説明する。
光ディスクプレーヤ1000のリセット時又はディスク挿入時に、マイクロコントローラ702は、データ再生回路606を制御して、光ディスクのリードイン領域のスクランブル情報セクタの読み出しを行う。スクランブル情報セクタから読み出された暗号化ディスク鍵情報はデスクランブル回路705に転送されて、内部的に保持される。
一方、光ディスク607に記録されたスクランブルファイルを再生する際に、マイクロコントローラ702はデータ再生回路606を制御して、再生するスクランブルファイルのセクタヘッダ領域から暗号化タイトル鍵を読み出し、デスクランブル回路705に転送する。デスクランブル回路705は受け取ったタイトル鍵を内部に格納するとともに、用途識別情報の判定を行う。デスクランブル回路705は、用途識別情報を判定した結果、再生が禁止されていると判定した場合には、マイクロコントローラ702にエラーの発生を報告する。一方、デスクランブル回路705が再生が許可されていると判定した場合には、データ再生回路606はスクランブルファイルのデータを読み出し、読み出したスクランブルデータをデスクランブル回路705に転送する。デスクランブル回路705は、あらかじめ格納したディスク鍵およびタイトル鍵を用いてスクランブルデータをデスクランブルし、オーディオ/ビデオデコーダ回路706に転送する。オーディオ/ビデオデコーダ回路706は受け取ったデータをアナログAV信号に変換して、音声出力/映像出力する。
以上のようにして、光ディスクプレーヤ1000は、スクランブルデータをデスクランブルして再生することが可能である。ただし、本発明に係る情報再生装置の第5および第6の実施の形態とは異なり、光ディスクプレーヤ1000は相互認証処理を実行せずに映像再生を行う。これは、本実施の形態においては、再生されたデータが直接オーディオ/ビデオデコーダ回路706に入力されるため、途中でハードディスクドライブなどの他の書き換え型メディアへのコピー動作が不可能であり、相互認証処理が不要であることによる。したがって、本実施の形態の構成には、相互認証処理を実行する構成要素が存在しなくとも、著作権保護が可能となる。また、光ディスクプレーヤ1000は再生時に用途識別情報の判定を行うために、再生が禁止されている用途のデータを再生することを防止できる。
以下に、本発明に係る情報再生装置の第5の実施の形態および第6の実施の形態において使用される、デコーダ認証回路601、ドライブ認証回路701、デスクランブル回路705の更に詳細な構成および動作を説明する。ただし、以下で述べる構成については、本発明の情報再生装置の第5の実施の形態、第6の実施の形態および第7の実施の形態に共通の構成となっている。
先ず、デスクランブル回路705の構成と動作についてを図面を参照して説明する。ただし、デスクランブル回路705は、スクランブル方式と深く関係するために、本発明の情報記録媒体の第3の実施の形態を再生する場合と第4の実施の形態を再生する場合とで異なる構成となる。従って以下では、本発明の情報記録媒体の第3の実施の形態を再生するためのデスクランブル回路を図20および図21を用いて、本発明の情報記録媒体の第4の実施の形態を再生するためのデスクランブル回路を図22および図23を用いて、それぞれ独立に説明する。
図20は、本発明の情報記録媒体の第3の実施の形態を再生するためのデスクランブル回路1106の構成を示すブロック図である。以下、各構成要素について説明する。1100は制御バス704との通信を行うためのI/O制御回路を、1101は入力されるデータの内容に応じて出力先のブロックを切り替えるセレクタを、1102は再生フィルの用途識別情報を参照して再生許可であるか否かを判定する用途識別回路を、1103はシードキーから乱数発生回路1104のためのプリセットデータを生成する変換テーブルを格納しておくための変換テーブル記憶回路を、1104は前記変換テーブル記憶回路1103から出力されるプリセットデータをもとに乱数を発生させる乱数発生回路を、1105は乱数発生回路1104で発生された乱数とセレクタ1101から入力されるスクランブルデータとの論理演算を行うことによりデスクランブル処理を行うメインデータデスクランブル回路を、それぞれ示している。
次に、デスクランブル回路1106の動作を説明する。
まず、相互認証処理が正常に終了した後にリードイン領域に記録されたスクランブル情報セクタを読み出す場合、I/O制御回路1100を介してセレクタ1101にスクランブル情報セクタ読み出し設定がなされ、セレクタ1101は出力先を変換テーブル記憶回路1103に設定する。入力された読み出しデータはセレクタ1101を介して変換テーブル記憶回路1103に入力され、乱数発生の初期値となるプリセットデータを決定する変換テーブルとして格納される。
一方、スクランブルファイルの再生時には、データの再生に先立って相互認証処理が行われ、相互認証処理の正常終了後に受け取ったセクタヘッダ領域中の用途識別情報が用途識別回路1102に、シードキーが変換テーブル記憶回路1103にそれぞれ入力される。用途識別回路1102では、内部に再生を許可された用途識別情報に関する情報を有しており、入力された用途識別情報と比較することにより、再生を許可されているか否かを識別し、I/O制御回路1100とメインデータデスクランブル回路1105に報告する。一方、シードキーを受領した変換テーブル記憶回路1103は、受け取ったシードキーをもとに、シードキーに対応したプリセットデータを乱数発生回路1104に出力する。乱数発生回路1104は受け取ったプリセットデータをもとに乱数系列を発生してメインデータデスクランブル回路1105に出力する。さて、セクタヘッダ領域に引き続いてスクランブルセクタのメインデータが入力される際には、セレクタ1101の出力先はメインデータデスクランブル回路1105に切り替えられる。その後、メインデータデスクランブル回路1105は、セレクタ1101から入力されるメインデータと、乱数発生回路1104から入力される乱数系列の論理演算を行うことによってデスクランブル処理を実行し、デスクランブル後のデータをオーディオビデオデコーダ回路706に出力する。
以上の動作についてのより詳細な説明を図21を用いて以下に示す。
図21はデスクランブル回路1106において、本発明の第3の実施の形態の情報記録媒体を再生する場合のデスクランブル処理内容を説明するためのフローチャートである。以下にその各処理ステップについて説明する。
(S1200) セレクタ1101の出力先を変換テーブル記憶回路1103に切り替えて、情報記録媒体のリードイン領域のスクランブル情報セクタから読み出された変換テーブルを変換テーブル記憶回路1103に格納。
(S1201) セレクタ1101の出力先をI/O制御回路1100に切り替え、スクランブルファイルの再生に先立って受領したセクタヘッダ中のスクランブルフラグをマイクロコントローラ702に返送する。マイクロコントローラ702はスクランブルフラグが1であるか否かを判定し、I/O制御回路1100に判定結果を返送する。スクランブルフラグが1であると判定されれば(S1202)へ、0であると判定されればメインデータデスクランブル回路1105の機能を停止状態として(S1206)へ分岐。
(S1202) セレクタ1101の出力先を用途識別回路1102に切り替え、スクランブルファイルの再生に先立って受領したセクタヘッダ中の用途識別情報を転送。用途識別回路1102は受け取った用途識別情報と内部に保持している再生許可情報とを比較して、再生が許可されたファイルであるか否かを判定。再生禁止と判定すれば(S1203)へ、再生許可されていると判定すれば(S1204)に分岐。
(S1203) 上記処理ステップ(S1202)で再生禁止のファイルであると判定した場合には、本ステップでI/O制御回路1100を介してマイクロコントローラ702にエラーを報告して処理を終了。
(S1204) 変換テーブル記憶回路1103は再生するスクランブルファイルのセクタヘッダから読み出したシードキーを入力され、シードキーと変換テーブルとからプリセットデータを生成し、乱数発生回路1104に出力。
(S1205) セレクタ1101の出力先をメインデータデスクランブル回路1105に切り替え、メインデータデスクランブル回路1105に入力されるスクランブルファイルのメインデータを転送。一方、乱数発生回路1104は変換テーブル記憶回路1103から入力されたプリセットデータをもとに乱数系列を発生し、メインデータデスクランブル回路1105に出力。メインデータデスクランブル回路1105では、入力されたメインデータと乱数系列との論理演算を行うことによってデスクランブル処理を実行。
(S1206) メインデータデスクランブル回路1105は、デスクランブル実行時にはデスクランブル後データを、デスクランブル機能を停止状態なら、セレクタ1101から入力されたデータをそのままオーディオ/ビデオデコーダ回路706に出力。
以上のように、デスクランブル回路1106は、用途識別回路を有することにより、再生を禁止された用途識別情報を有するファイルと再生を許可された用途識別情報を有するファイルとを選択的に再生することが可能である。
また、内部にスクランブル識別フラグを分離するセレクタを有するために、スクランブルフラグのみ分離し、デスクランブルを行う/行わないの判定を行うことを可能とする。
また、ディスク単位にプリセットデータに変換するための変換テーブルを決定でき、ファイル単位にシードキーを決定できるため、前記の2つのデータが共にないと再生できないようなセキュリティの高いスクランブル方式をもつ情報記録媒体の再生が可能である。
図22は、本発明の情報記録媒体の第4の実施の形態を再生するためのデスクランブル回路1308の構成を示すブロック図である。以下、各構成要素を説明する。1300は制御バス704との通信を行うためのI/O制御回路を、1301は入力されるデータの内容に応じて出力先のブロックを切り替えるセレクタを、1302は暗号化ディスク鍵が入力された場合に暗号化ディスク鍵の復号処理を行うディスク鍵復号化回路を、1303は暗号化ディスク鍵を復号時に使用するマスター鍵をハードウェア的に格納するマスター鍵格納部を、1304はディスク鍵復号回路1302で復号されたディスク鍵を受け取り、セクタヘッダ中の暗号化部の復号を行うセクタヘッダ復号回路を、1305は媒体識別情報およびセクタヘッダ復号回路1304で復号されたオリジナルCGMSデータと、セレクタから入力されたメディアCGMSデータの整合性の確認を行うCGMS検査回路を、1306はセクタヘッダ復号回路1304で復号された用途識別情報を受け取って再生が許可されているか否かを判定する用途識別回路を、1307はセクタヘッダ復号回路1304から入力されるタイトル鍵をもとにセレクタ1301から入力されるメインデータをデスクランブルするメインデータデスクランブル回路を、それぞれ示している。
以下に、デスクランブル回路1308の動作を説明する。
まず、相互認証処理が正常に終了した後にリードイン領域に記録されたスクランブル情報セクタを読み出す場合、I/O制御回路1300を介してセレクタ1301の出力先がディスク鍵復号回路1302に設定され、入力された読み出しデータはセレクタ1301を介してディスク鍵復号化回路1302に入力される。ディスク鍵復号化回路1302では、マスター鍵格納部1303から入力されるマスター鍵をもとにディスク鍵を復号し、ディスク鍵復号化回路1302の内部に格納される。
一方、スクランブルファイルの再生時には、データの再生に先立って相互認証処理が行われ、相互認証処理の正常に終了すれば、再生するスクランブルファイルのセクタヘッダがセレクタ1301に入力される。セレクタ1301はセクタヘッダの内容毎に出力先を選定し、スクランブルフラグをI/O制御回路1300を介してマイクロコントローラ702に、メディアCGMSデータをCGMS検査回路1306に、暗号化オリジナルCGMSデータおよび暗号化用途識別情報および暗号化タイトル鍵(以下では、これらをあわせて暗号化セクタヘッダと称す)をセクタヘッダ復号回路1304に出力する。セクタヘッダ復号回路1304はディスク鍵復号回路1302からディスク鍵を受領し、ディスク鍵をもとに暗号化セクタヘッダを復号し、オリジナルCGMSデータをCGMS検査回路1305に、用途識別情報を用途識別回路1306に、タイトル鍵をメインデータデスクランブル回路1307に、それぞれ出力する。CGMS検査回路1305はセレクタ1301から入力されるメディアCGMSデータとセクタヘッダ復号回路1304から入力されるオリジナルCGMSとを受け取り、再生の許可された値か否かを判定する。この時、CGMS検査回路1305の判定の基準を(表2)に示す。(ただし、メディアCGMSデータとオリジナルCGMSデータが示す意味については、本発明の第4の実施の形態の情報記録媒体の説明に準ずるものとする。)
(表2)において、CGMS判定情報が1を示す場合には、再生可能であるとしてメインデータデスクランブル回路1307とマイクロコントローラ702に報告する。一方、CGMS判定情報が0の場合には不正コピー等の行われた可能性があることを意味する妥当でない値であるとして、メインデータデスクランブル回路1307およびマイクロコントローラ702にエラーを報告する。例えば、(表2)において、媒体識別情報が書換型媒体を示す0であって、メディアCGMSデータがコピー禁止を示す11であって、オリジナルCGMSデータが1回コピーのみ許可を示す10である場合には、1回のみコピー許可のファイルが書換型媒体に既に1回コピーをされてメディアCGMSデータのみが11となってコピー禁止に変更されたと考えられるため、出力は再生許可を意味する1となっている。一方、仮に上記のような1回のみコピー許可であるファイルが不正なコピーをされた場合には、メディアCGMSデータとオリジナルCGMSデータが共に1回のみコピー許可を意味する10となるために、その場合のCGMS判定情報は再生禁止を意味する0となっている。一方、用途識別回路1306は、再生の許可されている用途識別情報を内部に有しており、その情報とセクタヘッダ復号回路1304から入力される用途識別情報を比較して、スクランブルファイルが再生を許可された用途であるか否かを判定する。再生の許可されていない用途識別情報であった場合には、マイクロコントローラ702およびメインデータデスクランブル回路1307にエラーを報告する。スクランブルファイルのデータを再生する場合には、セレクタ1301の出力先はメインデータデスクランブル回路1307に切り替えられ、入力される読み出しデータはメインデータデスクランブル回路1307に転送される。メインデータデスクランブル回路1307は、セクタヘッダ復号回路1304からタイトル鍵を受け取り、受け取ったタイトル鍵をもとにスクランブルデータのデスクランブル処理を施してオーディオ/ビデオデコーダ回路706に出力する。
以上のように、デスクランブル回路1308は暗号化ディスク鍵、暗号化タイトル鍵の復号を行い、タイトル鍵が再生の許可されたものであれば、メインデータのデスクランブル処理を行って、スクランブル後のディジタルAVデータをオーディオ/ビデオデコーダ回路706に出力する。
次に、デスクランブル回路1308におけるスクランブルファイルの再生処理の動作について、図23のフローチャートを用いて説明する。以下に各ステップの処理内容を示す。
(S1400) 読み出しデータにリードイン領域の暗号化ディスク鍵情報が入力される場合に、セレクタ1301の出力先はディスク鍵復号回路1302に設定され、暗号化ディスク鍵をディスク鍵復号回路1302に転送。ディスク鍵復号回路1302はマスター鍵格納部1303からマスター鍵を受け取り暗号化ディスク鍵を復号し、復号されたディスク鍵をセクタヘッダ復号回路1304に出力。
(S1401) 再生に先立って読み出されたスクランブルファイルのセクタヘッダから、セレクタ1301はスクランブルフラグを分離し、I/O制御回路1300を介してマイクロコントローラ702に転送。マイクロコントローラ702はスクランブルフラグが1であるか否かを判定。判定結果が、1であれば(S1402)へ、1でなければ(S1407)へ分岐。
(S1402) 再生に先立って読み出されたスクランブルファイルのセクタヘッダから、セレクタ1301は暗号化セクタヘッダを分離し、セクタヘッダ復号回路1304へ転送。セクタヘッダ復号回路1304は、あらかじめディスク鍵復号回路1302から受け取ったディスク鍵をもとに、受け取った暗号化セクタヘッダを復号し、内容毎に分離し、オリジナルCGMSデータをCGMS検査回路1305に、用途別識別情報を用途識別回路1306に、タイトル鍵をメインデータデスクランブル回路1307に、それぞれ出力。
(S1403) CGMS検査回路1305は、マイクロコントローラ702から受け取った媒体識別情報と、セレクタ1301から受け取ったメディアCGMSデータと、セクタヘッダ復号回路1304から受け取ったオリジナルCGMSデータから、(表2)に応じたCGMS判定情報を出力。ただし、(表2)において、CGMS判定情報が1の場合には、I/O制御回路1300とメインデータデスクランブル回路1307に正常なCGMS制御情報であることを報告。
(S1404) CGMS判定結果が0であった場合にはCGMS検査回路1305が、用途識別情報が再生を禁止された用途であった場合には用途識別回路1306が、I/O制御回路1300およびメインデータデスクランブル回路1307にエラーを報告し、再生処理を終了する。
(S1405) 用途識別回路1306は、セクタヘッダ復号回路1304から受け取った用途識別情報を判定し、再生を許可された場合にはI/O制御回路1300およびメインデータデスクランブル回路1307に再生を許可されたファイルであることを報告。
(S1406) セレクタ1301は、読み出しデータとしてスクランブルファイルのメインデータを受け取ると、出力先をメインデータデスクランブル回路1307に設定し、メインデータを転送。メインデータデスクランブル回路1307はセクタヘッダ復号回路1304から受け取ったタイトル鍵をもとに、入力されたメインデータのデスクランブル処理を実行。
(S1407) メインデータデスクランブル回路1307は、デスクランブル処理を実行した場合にはデスクランブル後のメインデータを、デスクランブル処理を実行しなかった場合にはセレクタ1301から入力されたデータをそのままオーディオ/ビデオデコーダ回路706に出力。
以上のように、デスクランブル回路1308は、用途識別回路を有することにより、再生を禁止された用途識別情報を有するファイルと再生を許可されたようと識別情報を有するファイルとを選択的に再生することが可能である。
また、内部にスクランブル識別フラグを分離するセレクタを有するために、スクランブルフラグのみ分離し、デスクランブルを行う/行わないの判定を行うことを可能とする。
また、本発明の情報記録媒体の第4の実施の形態のような階層的に暗号/スクランブル化されたセキュリティの高いディスクであっても、ディスク鍵復号回路、セクタヘッダ復号回路、メインデータデスクランブル回路が連携して動作することにより、デスクランブルを行わないときと同様に処理することが可能となる。
また、CGMS検査回路1305を有することによって、不正にコピーされたデータを検出することが可能となり、不正コピーデータの再生を防止することが可能となる。さらに、コピーが何度繰り返されたデータであるかという、コピーの世代を管理することが可能となり、ある定められた回数のみのコピー動作を許可するようなソフトウェアが記録された情報記録媒体の著作権を保護する機構を有する。
図24は、光ディスクドライブ509内のデコーダ認証回路601の詳細な構成を示すブロック図である。以下、各構成要素について説明する。1500はマイクロコントローラ602との通信を行うための入出力制御を行うI/O制御回路を、1501はI/O制御回路1500から入力される時変鍵をもとに乱数を発生する乱数発生回路を、1502は関数を決定するための第1の入力(図24ではkと表記)よって関数fkを決定し、その引数となる第2の入力(図24ではR1と表記)から関数値fk(R1)を計算して出力する関数fk(R1)生成回路を、同様に1503はkとR2から関数gk(R2)を計算して出力すると共に1/O制御回路1500から入力されるデコーダ応答データとの比較を行う関数gk(R2)生成・比較回路を、1504は関数gk(R2)生成・比較回路1503と関数fk(R1)生成回路1502から出力される2つの関数値をもとにバス鍵を生成するバス鍵生成回路を、1505はバス鍵生成回路1504から出力されるバス鍵に従ってデータ再生回路606から出力されるデータを暗号化するバス暗号化回路を、それぞれ示している。
以下、デコーダ認証回路601の動作を説明する。
光ディスクドライブ509のリセット時やディスク交換時に、マイクロコントローラ602はディスクのリードイン領域のスクランブル情報セクタのセクタヘッダ領域から読み出した相互認証鍵kをI/O制御回路1500を介して関数fk(R1)生成回路1502および関数gk(R2)生成・比較回路1503にあらかじめ設定する。
関数fk(R1)生成回路1502は相互認証鍵kを内部的に保持しており、その後の相互認証処理時に乱数値R1が入力された場合に関数値fk(R1)を計算し、バス鍵生成回路1504およびI/O制御回路1500に出力する。
バス鍵生成回路1504は入力された関数値fk(R1)を内部的に格納する。引き続き、マイクロコントローラ602からI/O制御回路1500を介して乱数発生のための時変鍵が入力された場合に乱数発生回路1501は、時変鍵をもとに乱数R2を発生してI/O制御回路1500に返送すると共に、関数gk(R2)生成・比較回路1503に出力する。
乱数R2を受け取った関数gk(R2)生成・比較回路1503は、前もって保持していた相互認証鍵kおよび乱数値R2から関数値gk(R2)を計算して内部的に保持する。更に関数gk(R2)生成・比較回路1503は、I/O制御回路1500からデコーダ応答データを受け取り、内部で計算した関数値gk(R2)と比較を行う。比較の結果、gk(R2)の値とデコーダ応答データが一致しなかった場合には、I/O制御回路1500を介してマイクロコントローラ602に相互認証処理でエラーが発生したことを報告する。相互認証処理に失敗した場合には、相互認証処理に続く暗号化ディスク鍵および暗号化タイトル鍵の転送等の処理は中止される。
一方、gk(R2)とデコーダ応答データの2つの値が一致した場合は相互認証処理が正常に終了したと判定され、関数値gk(R2)がバス鍵生成回路1504に出力される。この時、バス鍵生成回路1504は、関数値fk(R1)およびgk(R2)が正常に入力された場合にのみ、二つの関数値fk(R1)およびgk(R2)をもとにバス鍵を生成し、バス暗号化回路1505に出力する。
バス暗号化回路1505は、I/O制御回路1500を介してマイクロコントローラ602からモードを切り替えるための制御信号(以下、モード制御信号と称す)を受け取り、モードがディスク鍵再生モードであるか、またはタイトル鍵再生モードであれば、データ再生回路606から入力される暗号化ディスク鍵又は暗号化タイトル鍵に対して、あらかじめ入力されたバス鍵をもとに所定の暗号化を施し、SCSI制御回路600に出力する。
一方、暗号化タイトル鍵の送出後に、実際のファイルデータを送出する場合には、モード制御信号はデータ再生モードに切り替えられ、バス暗号化回路1505はバス暗号化は行わずにデータ再生回路606から出力されるデータをそのままSCSI制御回路600に出力する。
以上のようにデコーダ認証回路601では、相互認証処理において相互認証鍵で決定される関数値計算を行って、デコーダから送られる関数値と一致した場合のみ相互認証処理を正常に終了する。更に、再生動作においても、暗号化ディスク鍵、暗号化タイトル鍵の転送時には、相互認証処理において生成したバス鍵を用いて更に暗号化した鍵情報を送出する処理を行う。
次に、AVデコーダカード507およびSCSI制御回路内蔵AVデコーダカード801上のドライブ認証回路701の構成および動作について図面を参照して説明する。
図25は、ドライブ認証回路701の構成を示すブロック図である。以下、各構成要素について説明する。1600はマイクロコントローラ702との制御信号の送受信を行うためのI/O制御回路を、1601はI/O制御回路1600から時変鍵を受信して乱数R1を発生し、I/O制御回路1600に返送すると共に関数fk (Rl)生成・比較回路1603に出力する乱数発生回路を、1602は関数fk(R1)生成・比較回路1603から入力される定数kとI/O制御回路1600から入力される乱数R2をもとに関数gk(R2)を計算する関数gk(R2)生成回路を、1603は乱数発生回路1601から入力される乱数R1をもとにkが1からnまでについて関数fk(R1)の値を計算して、I/O制御回路1600から入力されるドライブ応答データと一致するか比較する関数fk(R1)生成・比較回路を、1604は関数gk(R2)生成回路1602から出力される関数値と関数fk(R1)生成・比較回路1603から出力される関数値からバス鍵を生成するバス鍵生成回路を、1605はバス鍵生成回路1604から出力されるバス鍵によってデータの復号を行うバス復号化回路を、それぞれ示す。
次に、ドライブ認証回路701の動作を説明する。
まず、相互認証処理の開始時にドライブ認証回路701は、I/O制御回路1600を介してマイクロコントローラ702から乱数発生のための時変鍵を受け取り、乱数発生回路1601によって乱数が発生される。
乱数発生回路1601は発生した乱数R1を関数fk(R1)生成・比較回路1603およびマイクロコントローラ702に出力する。その後、関数fk (R1)生成・比較回路1603は、マイクロコントローラ702からドライブ応答データを受け取り、内部に保持している乱数値R1を引数として関数f1(R1),f2(R1),f3(R1)・・・を計算し、ドライブ応答データとfk(R1)が一致する様なkを求める。この時、保持している全ての関数計算を行ってもドライブ応答データと一致するkを求めることができなかった場合に関数fk(R1)生成・比較回路1603は、認証結果としてエラーをI/O制御回路1600を介してマイクロコントローラ702に返送する。
一方、ドライブ応答データとfk(R1)が一致するようなkが発見された場合は、認証結果として正常終了をマイクロコントローラ702に返送し、kを関数 gk(R2)生成回路1602に出力し、関数値fk(R1)をバス鍵生成回路1604に出力する。正常にkの値を発見できた場合にドライブ認証回路701は、引き続いて乱数R2をマイクロコントローラ702から受け取り関数gk(R2)生成回路1602に入力する。関数gk(R2)生成回路1602は、あらかじめ関数fk(R1)生成・比較回路1603から受け取った値kと、入力された乱数R2から関数gk(R1)を計算し、計算した関数値をマイクロコントローラ702およびバス鍵生成回路1604に出力する。
バス鍵生成回路1604は前もって受け取った関数値fk(R1)と、gk(R2)の2つの関数値をもとにバス鍵を生成し、バス復号回路1605に出力する。一方、マイクロコントローラ702に送出した関数値gk(R2)が光ディスクドライブ509で正常に認証された場合には、マイクロコントローラ702がモード制御信号を切り替えて、バス復号化回路1605のモードをディスク鍵再生モードまたはタイトル鍵再生モードに切り替え、復号処理機能使用状態とする。
この時、SCSI制御回路900又はシステムインタフェース回路700から入力されるデータ(暗号化ディスク鍵又は暗号化タイトル鍵)はバス復号化回路1605においてあらかじめ保持されているバス鍵によって復号される。ただし、バス復号化回路1605によって復号されるのはバス鍵によるバス暗号のみであり、マスター鍵によって暗号化された暗号化ディスク鍵、ディスク鍵によって暗号化された暗号化タイトル鍵は暗号化されたままデスクランブル回路705に出力される。
またその後に、スクランブルファイルの再生データがSCSI制御回路900又はシステムインタフェース回路700から入力される際にバス復号化回路1605は、マイクロコントローラ702からのモード制御信号によってデータ再生モードに切り替えられ、バス鍵による復号処理を行わずにデスクランブル回路705にデータをそのまま転送する。
以上のようにドライブ認証回路701では、内部で発生した乱数から複数の関数値を計算し、そのうちのいずれか一つとドライブ応答データが一致することでドライブを認証し、逆に乱数を受領して内部の関数値を計算して返送することで光ディスクドライブ509から認証されるという、相互認証処理を実行する。
また、再生動作においても、暗号化ディスク鍵、暗号化タイトル鍵の受信時には、相互認証処理において生成したバス鍵を用いて復号処理を行う。
次に、本発明の情報再生装置の第5の実施の形態および第6の実施の形態において実行される相互認証処理のプロトコルについて図面を参照して説明する。
図26は、光ディスクドライブ509とAVデコーダカード507又はSCSI制御回路内蔵AVデコーダカード801間の相互認証処理を説明するためのフローチャートである。
相互認証処理は、装置のリセット時やディスク交換時、および読み出そうとしたファイルがスクランブルファイルであることがファイル管理情報から確認された時等に、適宜実行される。以下、各処理ステップについて説明する。ただし、AVデコーダカード507又はSCSI制御回路内蔵AVデコーダカード801を、以下では単にAVデコーダと称することとする。また、以下では、SCSIプロトコル上でのコマンドを、デバイスコマンドと称する。
(S1700) AVデコーダは、タイマー等を用いて発生させた時間と共に変化する時変鍵をもとに乱数R1を生成。
(S1701) 光ディスクドライブはデバイスコマンド"Send R1"によって、AVデコーダが生成した乱数R1を受け取る。この時光ディスクドライブは、装着されているディスクの相互認証鍵kを未だ格納していなければ、リードイン領域のスクランブル情報セクタのセクタヘッダ領域から相互認証鍵の読み出しを実行。
(S1702) 光ディスクドライブがステップ(S1701)の処理中に何らかのエラーを検出してエラー報告が行われた場合には、ステップ(S1713)に分岐、正常に終了すればステップ(S1703)に分岐。
(S1703) 光ディスクドライブは、デバイスコマンド"Report fk(R1)"を受領し、あらかじめ受け取った乱数値R1とディスクから読み出した相互認証鍵kの値をもとに、関数fk(R1)の値を計算し、計算結果をAVデコーダに返送する。以上の処理において何らかのエラーが生じた場合に光ディスクドライブは、コマンドの処理結果としてエラーを報告。
(S1704) デバイスコマンド"Report fk(R1)"処理中に何らかのエラーが発生し、コマンド処理結果がエラーとなっていればステップ(S1713)に分岐、処理結果が正常終了であればステップ(S1705)に分岐。
(S1705) AVデコーダは、内部に保持する関数値生成回路を使用して、1からn(nは正の整数)までのi(iは正の整数)について関数値fi(R1)を計算し、計算したfi(R1)の値と、(S1703)において光ディスクドライブから返送されたfk(R1)の値を比較する。AVデコーダはfi(R1)=fk(R1)となるようなiの値を検出すれば、その値を内部的に保持。
(S1706) 前記処理ステップ(S1705)において、AVデコーダがfi(R1)=fk(R1)となるようなiを検出できなかった場合にはステップ(S1713)に分岐、検出した場合にはステップ(S1707)に分岐。
(S1707) 光ディスクドライブはデバイスコマンド"Report R2"コマンドを受け取り、内部の乱数発生機構で時間と共に変化する時変鍵をもとに乱数を発生し、AVデコーダに転送する。なお、本ステップで光ディスクドライブが何らかのエラーを検出した場合には、エラーを報告。
(S1708) 前記ステップ(S1707)において、"Report R2"コマンド実行過程で、何らかのエラーが発生した場合にはステップ(S1713)に分岐、正常に終了した場合にはステップ(S1709)に分岐。
(S1709) (S1708)において"Report R2"コマンドによって光ディスクドライブが発生した乱数R2を受け取ったAVデコーダは、内部の関数計算回路を使用して、既にステップ(S1705)において格納した定数k(=i)と、ステップ(S1707)において光ディスクドライブから受信した乱数値R2をもとに、関数値gk(R2)を計算。
(S1710) 関数値gk(R2)を計算したAVデコーダは、デバイスコマンド"Send gk(R2)"を実行して、ステップ(S1709)において計算した関数値を光ディスクドライブに転送する。関数値gk(R2)を受け取った光ディスクドライブは、内部に有する関数計算回路において、相互認証鍵kと乱数値R2を用いてgk(R2)を計算する。その後光ディスクドライブは、AVデコーダから受け取った関数値gk(R2)と、内部の計算回路によって計算したgk(R2)とを比較し、一致した場合には正常終了を処理結果として報告する。一方、コマンド処理中に何らかのエラーが生じた場合や、受信した関数値と内部で計算した関数値とが一致しなかった場合には、コマンド処理結果としてエラーを報告。
(S1711) 前記ステップ(S1710)において、コマンド処理結果がエラーであれはステップ(S1713)に分岐、正常終了であれば(S1712)
に分岐。
(S1712) AVデコーダは、上記の相互認証処理中において取得した2つの関数値fk(R1)およびgk(R2)をもとに、内部に保持するバス鍵生成回路を用いてバス鍵BKを生成する。同様に、光ディスクドライブも、上記相互認証処理中に取得した2つの関数値から内部に保持するバス鍵生成回路を用いてバス鍵BKを生成。(ここで、光ディスクドライブとAVデコーダが相互認証処理中で、生成されるバス鍵BKは同一となる)。
(S1713) デバイスコマンド実行中にエラーが生じた場合、本ステップにおいてエラー報告と共に相互認証処理を中止。
以上のように相互認証処理を行うことによって、不正コピーを行う機器へのデータ転送でないことを光ディスクドライブが確認した後に鍵情報を転送することができるために、デスクランブルを行うための鍵情報を隠す効果がある。従って、スクランブル方式の不正な解読を防止する効果がある。
また、AVデコーダがデータを受け取る機器が不正コピーしたデータを転送する機器でないことを確認した後に鍵情報の復号化およびデータのデスクランブルを行うことができるために、不正コピーされたデータ再生を防止する効果がある。
また、相互認証処理の度に異なるバス鍵を生成するために、鍵情報を不正に読み出されることを防止すると共に、暗号化/スクランブル方式の不正な解読を防止する効果がある。
また、相互認証において光ディスクドライブがAVデコーダを認証する場合と、AVデコーダが光ディスクドライブを認証する場合とで、異なる関数を用いているために、相互認証動作を不正に実行することを目的として相互認証動作の方式を解読しようとする行為に対するセキュリティが高い。
また、相互認証処理において、光ディスクドライブ、AVデコーダの各々が生成した時変鍵を用いているために、相互認証処理を実行する度に異なる乱数値が発生され、異なる関数値が転送され、異なるバス鍵が生成されるため、相互認証動作を不正に実行することを目的として相互認証動作の方式を解読しようとする行為に対するセキュリティが高い。
また、情報記録媒体上に記録された相互認証鍵を相互認証処理に用いることにより、相互認証動作を不正に実行することを目的として相互認証動作の方式を解読しようとする行為に対するセキュリティが高い。
なお、上記説明では、情報記録媒体として本発明の情報記録媒体の第4の実施の形態を例に説明したが、本発明の情報記録媒体の第3の実施の形態についても同様に処理することが可能である。