"コンテンツデータを利用するホスト装置と、前記コンテンツデータをコンテンツ鍵データで暗号化してなる暗号化コンテンツデータを復号してコンテンツデータを前記ホスト装置において利用可能となるように構成される記憶装置とを具備するコンテンツデータ再生システムにおいて、前記ホスト装置は、ホスト装置ごとに固有に割り当てられるデバイスIDを有し、前記記憶装置は、メモリと前記メモリを制御するコントローラとを備え、前記コントローラは、前記ホスト装置から受信したメッセージ内の要素と前記デバイスIDとから暗号鍵を作成する暗号鍵生成部と、送信するメッセージ内の要素を前記暗号鍵で暗号化し、暗号化されたメッセージを作成する暗号部とを有する。前記コントローラは、利用した前記デバイスIDを利用履歴として、前記メモリ内の秘匿領域に書き込む請求項1に記載のコンテンツデータ再生システム。請求項2に記載のコンテンツデータ再生システムは、前記記憶装置にアクセスする際に前記利用履歴を前記記憶装置に書き込むデータ書込み装置と、前記書き込まれた利用履歴が送信される管理サーバとを備える利用履歴の収集システムに適用され、前記管理サーバは、送信された前記利用履歴内に同じ前記デバイスIDが発見された場合、前記デバイスIDに対応するホスト装置を不正装置であると判定する。コンテンツデータを利用するホスト装置と、前記コンテンツデータをコンテンツ鍵データで暗号化してなる暗号化コンテンツデータを復号してコンテンツデータを前記ホスト装置において利用可能となるように構成される記憶装置とを具備するコンテンツデータ再生システムが適用される利用履歴の収集システムであって、前記ホスト装置は、ホスト装置ごとに固有に割り当てられるデバイスIDを有し、前記記憶装置は、メモリと前記メモリを制御するコントローラとを備え、前記コントローラは、利用した前記デバイスIDを利用履歴として、前記メモリ内の秘匿領域に書き込み、前記利用履歴の収集システムは、前記記憶装置にアクセスする際に前記利用履歴を前記記憶装置に書き込むデータ書込み装置と、前記書き込まれた利用履歴が送信される管理サーバとを備え、前記管理サーバは、送信された前記利用履歴内に同じ前記デバイスIDが発見された場合、前記デバイスIDに対応するホスト装置を不正装置であると判定する。前記コントローラは、前記ホスト装置から受信したメッセージ内の要素と前記デバイスIDとから暗号鍵を作成する暗号鍵生成部と、送信するメッセージ内の要素を前記暗号鍵で暗号化し、暗号化されたメッセージを作成する暗号部とを有する請求項4に記載のコンテンツデータ再生システムの利用履歴の収集システム。コンテンツデータを利用するホスト装置と、前記コンテンツデータをコンテンツ鍵データで暗号化してなる暗号化コンテンツデータを復号してコンテンツデータを前記ホスト装置において利用可能となるように構成される記憶装置とを具備するコンテンツデータ再生システムにおいて、前記ホスト装置は、ホスト装置ごとに固有に割り当てられるデバイスIDと、前記デバイスIDに対応したデバイス鍵と、複数のデバイス鍵で暗号化された暗号鍵データから前記デバイスIDに基づいてデータを選択する選択部と、前記選択部で選択されたデータをデバイス鍵に基づいて復号する暗号鍵復号部を有し、前記記憶装置は、メモリと前記メモリを制御するコントローラとを備え、前記メモリにはサービス鍵を記録し、前記コントローラは、前記ホスト装置から前記サービス鍵で暗号化された要素と前記デバイスIDとをメッセージとして受信し、前記暗号化された要素を復号するサービス鍵復号部と、前記要素と前記デバイスIDから暗号鍵を作成する暗号鍵生成部と、送信するメッセージ内の要素を前記暗号鍵で暗号化し、暗号化されたメッセージを作成する暗号部とを有するコンテンツデータ再生システム。前記メッセージには、前記サービス鍵で暗号化されたコンテンツ鍵データが含まれ、前記復号部は、前記暗号化されたコンテンツ鍵データを復号し、前記記録装置が送信するメッセージに前記コンテンツ鍵データが含まれる請求項6に記載のコンテンツデータ再生システム。前記ホスト装置は、複数の関数入力値から前記デバイスIDに基づいて関数入力値を選択する関数入力値選択部と、選択された前記関数入力値を処理し、関数出力値を算出する関数処理部とを更に有し、前記コントローラは、前記ホスト装置から受信したメッセージには前記関数出力値と前記の複数の関数入力値を処理した複数の関数結果値が前記サービス鍵で暗号化されて含まれ、前記サービス鍵復号部にて、前記暗号化された複数の関数結果値が復号され、前記複数の関数結果値から前記デバイスIDに基づいて関数結果値を選択し、その値が前記関数出力値と同じかどうかを判定する検証部を更に有する請求項7に記載のコンテンツデータ再生システム。コンテンツデータの不正利用の防止に有利なコンテンツデータ再生システムおよびその利用履歴の収集システムを提供する。実施形態によれば、一態様に係るコンテンツデータ再生システムは、コンテンツデータを利用するホスト装置と、前記コンテンツデータをコンテンツ鍵データで暗号化してなる暗号化コンテンツデータを復号してコンテンツデータを前記ホスト装置において利用可能となるように構成される記憶装置とを具備する。前記ホスト装置は、ホスト装置ごとに固有に割り当てられるデバイスIDを有し、前記記憶装置は、メモリと前記メモリを制御するコントローラとを備え、前記コントローラは、前記ホスト装置から受信したメッセージ内の要素と前記デバイスIDとから暗号鍵を作成する暗号鍵生成部と、送信するメッセージ内の要素を前記暗号鍵で暗号化し、暗号化されたメッセージを作成する暗号部とを有する。<作用効果>上記のように、第2の実施形態に係るコンテンツデータ再生システムおよびその利用履歴の収集システムによれば、少なくとも上記1および2と同様の効果が得られる。さらに、本例によれば、より具体的に、上記の利用履歴および利用履歴の収集システムを適用することにより、必要に応じて、不正装置をコンテンツ再生システムから排除でき、コンテンツデータの不正利用の防止することができる。[第3の実施形態]次に、第3の実施形態に係るコンテンツデータ再生システムについて説明する。この実施形態は、他の実施形態に適用した一例に関するものである。この説明において、上記第1の実施形態と重複する部分の詳細な説明を省略する。第3の実施形態は、例えば、上記特許文献2の実施形態の発展させた実施形態に関する。<全体構成>まず、図5を用い、第3の実施形態に係る全体構成コンテンツ再生システムについて説明する。図示するように、本例に係るシステムは、記録装置1および復号装置2で構成される。記録装置1は、下記の処理を行う、秘密記録部11、ユーザデータ領域12、AKE処理部13、比較部14、一方向性関数計算部15、Kuv計算部16、判定部17、復号部181、復号部182、暗号部183、および暗号部184を備える。復号装置2は、下記の処理を行う、MKB処理部21、選択部22、関数処理部23、一方向性関数計算部24、AKE処理部25、合成部26、暗号部271、復号部272、復号部273、復号部274、およびコンテンツ復号部28を備える。<処理手順>次に、図6を用い、上記システムによる処理の手順について説明する。図示するように、第3の実施形態に係る処理は、P1AKE処理、P2MKB処理、P3関数処理、P4セッション鍵による計算、P5セッション鍵による暗号処理、P6セッション鍵による復号処理、P7Ksrv復号処理、P8セッション鍵による計算、P9関数処理結果の比較、P10Kuv計算、P11Kuv暗号処理、P12セッション鍵による暗号処理、P13uv履歴保存、P14セッション鍵による復号処理、P15Kc復号処理、P16コンテンツ復号から構成される。ステップP1まず、復号装置2は、記録装置1とそれぞれのAKE処理部13を通じて認証処理を行い、お互いに共通のセッション鍵を共有する。ここでの認証処理は、例えば、AKEProcessにより実現可能である。ステップP2続いて、MKB処理を行い、記録装置1のユーザデータ領域12に記録されたMKBを復号装置2が読み出し、MKB処理部21にてMKB処理を行い、index、UVi、Km、Kuviを取り出す。取り出されたindexに従って、選択部22はユーザデータ領域12から読まれたデータから該当するデータエントリHoFIDiEncKseedAiQiを選択する。MKB処理は、具体的には、例えば、図8に示すMKBMediaKeyBlockを、以下の図7の処理を行うことで実現可能である。<MKBMediaKeyBlockの構成>ここで、図8に示すMKBMediaKeyBlockの構成について説明する。図示するように本例に示すMKBは、TypeandVersionrecordMK1拡張VerifyMediaKeyrecordMK2SubsetDifferentindexrecordMK3ExplicitSubsetDifferencerecordMK4拡張MediaKeyDataRecordMK5およびEndofMediaKeyBlockrecordMK6により構成される。上記のように、VerifyMediaKeyrecordは拡張されて拡張VerifyMediaKeyrecordMK2に、MediaKeyBlockRecorは拡張されて拡張MediaKeyBlockRecordMK5にそれぞれ置き換えられる。さらに、上記ExplicitSubsetDifferencerecordMK4は、TypeLengthUVDescriptor1UVDescriptoriUVDescriptornより構成される。<拡張VerifyMediaKeyrecordMK2の構成>図9を用い、上記拡張VerifyMediaKeyrecordMK2の構成について説明する。図示するように、拡張VerifyMediaKeyrecordMK2は、RecordTypeMK21、RecordLengthMK22、VerificationData1MK23VerificationDataiMK24およびVerificationDatanMK25より構成される。<拡張MediaKeyDatarecordMK5の構成>図10を用い、上記拡張MediaKeyDatarecordMK5の構成について説明する。図示するように拡張MediaKeyDatarecordMK5は、RecordTypeMK51、RecordLengthMK52、AESECBCMK53AESECBCMK54AESECBCMK55より構成される。ここで、図中において、AESECBCは関数、iは1以上n以下の値、はデータの連結を示す。<MKB処理について>以下においては、図7を用い、MKB処理について説明をする。ステップP21まず、MKB処理は、このステップS21により、復号装置2が処理するUVDescriptorをExplicitSubsetDifferencerecordMK4から選択する。このUVDescriptorはUViとして記述され、以降の処理で利用される。ステップP21続いて、選択されたUVDescriptorから対応するProcessingKeyが算出される。ここで算出されたProcessingKeyをProcessingKeyiと以下表記する。ステップP23続いて、拡張MediaKeyBlockrecordMK5からMediaKeyDataを抽出する。具体的には、図10に書かれる拡張MediaKeyBlockrecordMK5の中から対応するAESECBCAESECBCは関数、iは1以上n以下の値、はデータの連結を示すを抽出する。MediaKeyDataはUVDescriptorと同じ数で、同じ順番で配置されるため、復号装置2は対応するMediaKeyDataを探し出すことができる。そして抽出されたMediaKeyDataの復号作業を行う。ProcessingKeyiでの復号により、KmiKuviが抽出できる。ステップP24続いて、抽出したKmiが拡張VerifyMediaKeyrecordMK2にて正しいかどうかの確認処理を行う。本例に係る拡張VerifyMediaKeyrecordMK2は、上記図9で示したように、複数のVerificationDataMK23~MK25から構成され、Km0がそれぞれKm1からKmnと表記された値で暗号化されたデータで構成される。復号装置2は、対応するVerificationDataを取り出し、復号することで下記のデータを復号した際に得られるKmiが正しく取り出せたのかどうかが確認可能となる。VerificationDataMK23~MK25は、UVDescriptorと同じ数配置され、あるUVDescriptorに対応するVerificationDataMK23~MK25は同じ順番で配置される。そのため、復号装置2は、対応するVerificationDataMK23~MK25を探し出すことができる。ステップP25続いて、記録装置1に書かれていて、図11に示す関数処理データから対応する関数情報エントリFE1~FE3を取得する。関数情報エントリFE1~FE3は、UVDescriptorと同じ数1inで記録されており、当該UVDescriptorと同じ順番で対応する関数情報エントリが記録されているため、対応する関数情報エントリを探し出すことができる。ここで、図11に示すように、例えば、関数情報エントリFE2は、関数ID以下HoFIDiと記述する、入力値以下Qiと記述する、出力値以下Aiと記述するから構成される。上記MKB処理の後は、下記ステップP3に続く。ステップP3次に、関数処理にて、選択部22で選択されたデータエントリの中からQi、HoFIDiを取り出し関数処理部23にて関数処理を行う。関数処理部には予めHoFIDに該当した関数が記録されており、その入力値としてQiを入れると出力Aiが計算可能となる。なおここでの出力Aiは記録装置に予め記録されていたAiと区別するために復号処理部で計算された結果をAiH、記録されていたAiをAiCと記述する。ステップP4続いて、セッション鍵による計算にて、関数処理部23で得たAiHをAKE処理部25で得たKsで一方向性関数計算部24にて計算する。ここでの計算はAESGで計算しているが、一方向性関数の性質をもつ式であればこの限りではない。なおAESGは参考文献2に記載されている関数AESGで実現可能である。ステップP5続いて、セッション鍵による暗号処理にて、記録装置に送信する情報を暗号化する。送信する情報はP2P4で得られた情報UVi、AESG、EncKseedA1Cが連結されて暗号化されて送信される。ステップP6続いて、記録装置内では受け取った情報をセッション鍵により復号処理を行う。ステップP7続いて、記録装置内にあるサービス鍵Ksrvを用いて、上記ステップP6で得られたEncKseedA1CUViを復号する。ステップP8続いて、上記ステップP7で得られたA1CとP1で得られたセッション鍵による計算により、AESGを計算する。ステップP9続いて、上記ステップP8の結果と上記ステップP6で得られたAESGが同じ値かどうかを検証する。もし同じ値でない場合は、例えばこれ以降の処理を行わない、といった不正な復号装置からのアクセスとみなす処理を行う。ステップP10続いて、上記ステップP7で得られたKseedとUViからKuviを計算する。計算方法は例えば、以下の数式Iにより、計算可能である。KuviAESDxorUVi...数式IステップP11続いて、上記ステップP7で得られたEncを、上記ステップP10にて得られたKuviにて暗号処理を行う。ステップP12続いて、上記ステップP1で得られたセッション鍵により、上記ステップP11にて得られたEncを暗号化して、復号装置へ送信する。ステップP13続いて、記録装置1は、上記ステップP7で得られたUViを履歴情報として秘密記録部11へ保存する。ここで記録された履歴情報は、後に専用端末に接続された時などに読み出され、管理サーバに回収される。回収処理は、例えば、上記第2の実施形態で説明したような同様のシステム等にて実現可能である。ステップP14続いて、復号装置2は、上記ステップP13で受け取った情報を、上記ステップP1で生成されたセッション鍵により復号処理を行う。ステップP15続いて、上記ステップP14にて復号されたEncを、上記ステップP2にて得られたKm、Kuvi用いて復号処理を行い、コンテンツ鍵Kcを取り出す。ステップP16最後に、上記ステップP15で得られたコンテンツ鍵Kcによりコンテンツ復号を行う。<作用効果>上記のように、第3の実施形態に係るコンテンツデータ再生システムによれば、少なくとも上記1および2と同様の効果が得られる。さらに、第3の実施形態によれば、例えば、ステップS11のように、記録装置1内で、コンテンツ鍵Kcは暗号化された状態で処理される。このように、記録装置1がコンテンツ鍵Kcそのものを知ることができず、情報の秘匿性を向上することができる。また、必要に応じて、本例のような構成を適用することが可能である。本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。1...記憶装置、2...復号装置ホスト装置、3...メモリコントローラ、4...メモリ、31...Kc暗号部、32...KID生成部、33...検証部、34...メッセージ復号部、Enc...メッセージ、Kseed...メッセージ内要素、DeviceID...ホスト装置ごとに固有に割り当てられるデバイスID、41...秘匿領域、42...ユーザ領域、IDLog...利用履歴。電子化したコンテンツ以下、単にコンテンツというは、容易に複製可能なため、著作権を無視する違法行為が生じ易い。このような違法行為からコンテンツを保護する観点から、コンテンツは、通常、暗号化鍵により、暗号化されて記録され、再生時に復号される。この種のコンテンツ保護技術の1つには、CPRMContentProtectionforPrerecordedMediaがある。また、コンテンツ鍵が2種類の鍵で二重に暗号化された暗号化二重鍵方式が考えられている。この種の暗号化二重鍵方式は、例えばMQbic登録商標に用いられている。暗号化鍵のうち、記録媒体に固有の鍵、例えばメディア固有鍵は、記憶媒体の秘匿領域にセキュアに記憶され、外部からは一切アクセスが不可能にされている。このため、例えば暗号化コンテンツ鍵データのみが違法にコピーされたとしても、違法コピー者は、メディア固有鍵がなければ、コンテンツデータを利用することができない。しかし、このようなメディア固有鍵が何らかの手法により不正に読み出され、正規なライセンスを受けていないホスト製造業者に渡されると、こうした流出情報に基づいて製造された不正装置により、コンテンツデータが違法に利用されることが起こり得る。そこで、以下、実施形態について図面を参照して説明する。尚、この説明においては、全図にわたり共通の部分には共通の参照符号を付す。[第1の実施形態]第1の実施形態に係るコンテンツデータ再生システムを説明する。<1.構成例>1-1.全体構成まず、図1を用いて第1の実施形態に係る全体構成コンテンツ再生システムについて説明する。図示するように、本例に係るコンテンツデータ再生システムは、ホスト装置としての復号装置2と、記憶装置1とを具備する。復号装置2は、コンテンツデータを利用する記憶装置1のホスト装置である。換言すると、復号装置2は、記憶装置1と連携して後述する認証処理を実行した後、コンテンツ鍵を取得する。復号装置2は、取得したコンテンツ鍵を用いてコンテンツデータを複合、再生することが可能である。記憶装置1は、コンテンツデータをコンテンツ鍵で暗号化してなる暗号化コンテンツデータを記憶しており、暗号化コンテンツデータを複合したコンテンツデータが復号装置2において利用可能となるように構成される。換言すると、記憶装置1は、コンテンツデータを暗号化するコンテンツ鍵を記憶する。記憶装置1としては、例えば、SD登録商標カード等のメモリカードが用いられる。より具体的には、記憶装置メモリカード1は、コントローラ3と、メモリ4とを備える。コントローラ3は、Kc暗号部31、KID生成部32、検証部33、メッセージ復号部34を備える。メモリ4は、コントローラ3以外からのアクセス不可能、即ち記憶装置1外部からのアクセス不可能な秘匿領域41、コントローラ3を介して記憶装置1の外部から自由にアクセス可能なユーザ領域42を備える。ユーザ領域42にはEncとEncHoF1EncHoF2EncHoF3...が記録される。秘匿領域41にはサービス鍵Ksrvが記録される。ここで、図中において、はデータの連結を示す。復号装置2は、選択部11、関数処理部12、メッセージ生成部13、KID復号部14、Kc復号部15を備える。復号装置2は、内部でこの復号装置2ごとに固有に割り当てられたDeviceIDとデバイス鍵Kdiを保持する。復号装置2は、ユーザ領域42に記録されたデータを、コントローラ3を介して読み出す。選択部11は、読み出されたデータEncHoF1EncHoF2EncHoF3...から、当該復号装置2が保持するDeviceIDに基づいて、EncとHoFiとを選択する。選択されたHoFiは、関数処理部12により処理されて出力Oが計算される。そしてメッセージ生成部13にて出力O、DeviceID、ユーザ領域42より読み出したEncを含むメッセージが生成され、記録装置1のコントローラ3へ渡される。このように、本例では、メッセージEncに更に要素Kseedが加えられる。メッセージ復号部34は、秘匿領域41に記録されたサービス鍵Ksrvを読み出し、受け取ったメッセージ内のEncを復号して、KseedKcO1O2O3...を得る。続いて、検証部33は、DeviceIDによってO1O2O3...から選択されるOiとメッセージに含まれる出力Oとを比較して検証し、同じでない場合にはこの処理を中止にする。同じ場合は、続いてKid生成部32は、メッセージ内の要素Kseedと復号装置2ごとに固有に割り当てられたDeviceIDとからKidi暗号鍵を作成する。続いて、Kc暗号部31は、暗号鍵Kidiでコンテンツ鍵Kcを暗号化し、暗号化されたメッセージEncを作成する。暗号化されたメッセージEncは、復号装置2により復号されて読み出される。この際、コントローラ3内のKc暗号部31は、利用した復号装置2ごとに固有に割り当てられたDeviceIDを利用履歴として、秘匿領域41に書き込む。この利用履歴は、後に専用のコマンドにてコントローラ3を介して読み取られ、アクセスのあったDeviceIDの情報収集に利用することが可能となる。コピーされた不正な復号装置等が用いられた場合、同じDeviceIDが複数の箇所から発見されることとなるため、不正デバイスの検出に有利である。詳細については、後述する。復号装置2では、選択されたEncがKID復号部14によって、Kdiで復号されてKidiが計算される。その結果とカードから受け取ったEncはKc復号部15にて復号されコンテンツ鍵Kcが得られる。このコンテンツ鍵Kcは他の配信経路等で配布された対応するコンテンツの復号などに利用される。ここでDeviceIDから複数のデータを選択する方法について説明する。様々な実施方法が考えられるが、例えば、DeviceIDが1から1000までの値で、複数のデータが1から1000まで与えられた場合には、初めからDeviceIDの番号分数えたデータを選択することで実現可能である。1-2.Indexテーブルの構成例次に、図2を用い、第1の実施形態に係るIndexテーブルの構成例について説明する。このIndexテーブルは、選択対象の複数のデータに対象となるものであり、そのIndexテーブルに従って選択されることでも実現可能である。また参考文献2のChapter3に記載されているDeviceKeySetDeviceNodeMKBをそれぞれKdiDeviceID複数のデータの代わりに利用することで同様の効果が得られる。関数処理部で処理されるHoFは例えば関数処理部が解釈可能なプログラムのバイナリーコードであったり、インストラクションなどで実現できる。もしくは関数処理部で予め定められた関数を用意し、HoFを入力値として関数を実行することでも実現できる。復号装置で得られた結果が正しいかどうかを記録装置内で判定することで、不正な復号装置の処理を防止する効果が得られる。<3.作用効果>第1の実施形態に係るコンテンツデータ再生システムによれば、少なくとも下記1および2の効果が得られる。1コンテンツデータの不正利用の防止に有利である。上記のように、第1の実施形態に係るコンテンツデータ再生システムは、復号装置ホスト装置2ごとに固有に割り当てられたデバイスIDDeviceIDを有する。そして、記憶装置1側では、Kid生成部32により復号装置2から受信したメッセージ内Encのメッセージ内の要素Kseedと復号装置DeviceIDとからKidi暗号鍵を作成し、Kc暗号部31により暗号鍵Kidiで要素Kcを暗号化し、暗号化されたメッセージEncを作成する。暗号化されたメッセージEncは、復号装置2により復号されて読み出される。このように、本システムでは、復号装置ホスト装置2ごとに固有のデバイスIDDeviceIDにより暗号化されるメッセージEncによりコンテンツデータが再生される。その結果、コンテンツデータの不正利用の防止に有利である。2不正装置をシステムから排除でき、不正デバイスの検出に有利である。さらに、コントローラ3内のKc暗号部31は、利用した復号装置2ごとに固有に割り当てられたDeviceIDを利用履歴として、秘匿領域41に書き込む。この利用履歴は、後に専用のコマンドにてコントローラ3を介して読み取られ、アクセスのあったDeviceIDの情報収集に利用することが可能となる。具体的には、不正にコピーされた復号装置等では同じDeviceIDが複数の箇所から発見されることとなる。その結果、発見されたデバイスIDの装置を不正装置とみなしてシステムから排除でき、不正デバイスの検出に有利である。なお、アクセスのあったDeviceIDの情報収集の具体例については、次の第2の実施形態で詳説する。[第2の実施形態アクセスのあった利用履歴の情報収集の一例]次に、第2の実施形態に係るコンテンツデータ再生システムの利用履歴の収集システムについて説明する。この実施形態は、アクセスのあった利用履歴の情報収集の一例に関するものである。この説明において、上記第1の実施形態と重複する部分の詳細な説明を省略する。<利用履歴の収集システム>まず、図3を用い、第2の実施形態に係る記録装置1の内部に記録された利用履歴IDLogを収集する具体的な構成を説明する。図示するように、本例での利用履歴の収集システムは、管理サーバ1、データ書込み装置21,22,...、記録装置31,32,...、復号装置41,42,...から構成される。復号装置41,42,...は、記録装置31,32,...にそれぞれアクセスする際に、それぞれのDeviceIDを記録装置31,32,...に渡す記憶装置のホスト装置である。記録装置31,32,...は、それぞれのDeviceIDを利用履歴31a,32a,...として記録する。利用履歴31a,32a,...は、記録装置31,32,...それぞれにユニークに割り振られたCardIDとアクセスのあったDeviceIDとから構成される。続いて、利用履歴31a,32a,...は、データ書込み装置21,22,...が記録装置31,32,...にアクセスする際に読み込まれる。続いて、データ書込み装置21,22,...は、読み込んだそれぞれの利用履歴31a,32a,...を管理サーバ1へ送信する。<利用履歴の構成例について>図4は、利用履歴の構成例を示す。ここでは、記憶装置31の利用履歴31aを一例にあげる。図示するように、この利用履歴31aは、記録装置31にユニークに割り振られたCardID000010FEとアクセスのあったDeviceID00010A1100010A110001FF1500A90055...とから構成される。上記のように、この例では、利用履歴のアクセスのあった同じDeviceIDの00010A1100010A11が発見されることが分かる。このように利用履歴を、管理サーバ1が収集することで、同じDeviceID例えば、00010A1100010A11...が複数の記憶装置31,32,...から発見された場合、不正にコピーされたデバイスであると判定できる。その結果、DeviceID例えば、00010A11を有するデバイスをコンテンツ再生システムから排除でき、コンテンツデータの不正利用の防止することができる。<作用効果>上記のように、第2の実施形態に係るコンテンツデータ再生システムおよびその利用履歴の収集システムによれば、少なくとも上記1および2と同様の効果が得られる。さらに、本例によれば、より具体的に、上記の利用履歴および利用履歴の収集システムを適用することにより、必要に応じて、不正装置をコンテンツ再生システムから排除でき、コンテンツデータの不正利用の防止することができる。[第3の実施形態]次に、第3の実施形態に係るコンテンツデータ再生システムについて説明する。この実施形態は、他の実施形態に適用した一例に関するものである。この説明において、上記第1の実施形態と重複する部分の詳細な説明を省略する。第3の実施形態は、例えば、上記特許文献2の実施形態の発展させた実施形態に関する。<全体構成>まず、図5を用い、第3の実施形態に係る全体構成コンテンツ再生システムについて説明する。図示するように、本例に係るシステムは、記録装置1および復号装置2で構成される。記録装置1は、下記の処理を行う、秘密記録部11、ユーザデータ領域12、AKE処理部13、比較部14、一方向性関数計算部15、Kuv計算部16、判定部17、復号部181、復号部182、暗号部183、および暗号部184を備える。復号装置2は、下記の処理を行う、MKB処理部21、選択部22、関数処理部23、一方向性関数計算部24、AKE処理部25、合成部26、暗号部271、復号部272、復号部273、復号部274、およびコンテンツ復号部28を備える。<処理手順>次に、図6を用い、上記システムによる処理の手順について説明する。図示するように、第3の実施形態に係る処理は、P1AKE処理、P2MKB処理、P3関数処理、P4セッション鍵による計算、P5セッション鍵による暗号処理、P6セッション鍵による復号処理、P7Ksrv復号処理、P8セッション鍵による計算、P9関数処理結果の比較、P10Kuv計算、P11Kuv暗号処理、P12セッション鍵による暗号処理、P13uv履歴保存、P14セッション鍵による復号処理、P15Kc復号処理、P16コンテンツ復号から構成される。ステップP1まず、復号装置2は、記録装置1とそれぞれのAKE処理部13を通じて認証処理を行い、お互いに共通のセッション鍵を共有する。ここでの認証処理は、例えば、AKEProcessにより実現可能である。ステップP2続いて、MKB処理を行い、記録装置1のユーザデータ領域12に記録されたMKBを復号装置2が読み出し、MKB処理部21にてMKB処理を行い、index、UVi、Km、Kuviを取り出す。取り出されたindexに従って、選択部22はユーザデータ領域12から読まれたデータから該当するデータエントリHoFIDiEncKseedAiQiを選択する。MKB処理は、具体的には、例えば、図8に示すMKBMediaKeyBlockを、以下の図7の処理を行うことで実現可能である。<MKBMediaKeyBlockの構成>ここで、図8に示すMKBMediaKeyBlockの構成について説明する。図示するように本例に示すMKBは、TypeandVersionrecordMK1拡張VerifyMediaKeyrecordMK2SubsetDifferentindexrecordMK3ExplicitSubsetDifferencerecordMK4拡張MediaKeyDataRecordMK5およびEndofMediaKeyBlockrecordMK6により構成される。上記のように、VerifyMediaKeyrecordは拡張されて拡張VerifyMediaKeyrecordMK2に、MediaKeyBlockRecorは拡張されて拡張MediaKeyBlockRecordMK5にそれぞれ置き換えられる。さらに、上記ExplicitSubsetDifferencerecordMK4は、TypeLengthUVDescriptor1UVDescriptoriUVDescriptornより構成される。<拡張VerifyMediaKeyrecordMK2の構成>図9を用い、上記拡張VerifyMediaKeyrecordMK2の構成について説明する。図示するように、拡張VerifyMediaKeyrecordMK2は、RecordTypeMK21、RecordLengthMK22、VerificationData1MK23VerificationDataiMK24およびVerificationDatanMK25より構成される。<拡張MediaKeyDatarecordMK5の構成>図10を用い、上記拡張MediaKeyDatarecordMK5の構成について説明する。図示するように拡張MediaKeyDatarecordMK5は、RecordTypeMK51、RecordLengthMK52、AESECBCMK53AESECBCMK54AESECBCMK55より構成される。ここで、図中において、AESECBCは関数、iは1以上n以下の値、はデータの連結を示す。<MKB処理について>以下においては、図7を用い、MKB処理について説明をする。ステップP21まず、MKB処理は、このステップS21により、復号装置2が処理するUVDescriptorをExplicitSubsetDifferencerecordMK4から選択する。このUVDescriptorはUViとして記述され、以降の処理で利用される。ステップP21続いて、選択されたUVDescriptorから対応するProcessingKeyが算出される。ここで算出されたProcessingKeyをProcessingKeyiと以下表記する。ステップP23続いて、拡張MediaKeyBlockrecordMK5からMediaKeyDataを抽出する。具体的には、図10に書かれる拡張MediaKeyBlockrecordMK5の中から対応するAESECBCAESECBCは関数、iは1以上n以下の値、はデータの連結を示すを抽出する。MediaKeyDataはUVDescriptorと同じ数で、同じ順番で配置されるため、復号装置2は対応するMediaKeyDataを探し出すことができる。そして抽出されたMediaKeyDataの復号作業を行う。ProcessingKeyiでの復号により、KmiKuviが抽出できる。ステップP24続いて、抽出したKmiが拡張VerifyMediaKeyrecordMK2にて正しいかどうかの確認処理を行う。本例に係る拡張VerifyMediaKeyrecordMK2は、上記図9で示したように、複数のVerificationDataMK23~MK25から構成され、Km0がそれぞれKm1からKmnと表記された値で暗号化されたデータで構成される。復号装置2は、対応するVerificationDataを取り出し、復号することで下記のデータを復号した際に得られるKmiが正しく取り出せたのかどうかが確認可能となる。VerificationDataMK23~MK25は、UVDescriptorと同じ数配置され、あるUVDescriptorに対応するVerificationDataMK23~MK25は同じ順番で配置される。そのため、復号装置2は、対応するVerificationDataMK23~MK25を探し出すことができる。ステップP25続いて、記録装置1に書かれていて、図11に示す関数処理データから対応する関数情報エントリFE1~FE3を取得する。関数情報エントリFE1~FE3は、UVDescriptorと同じ数1inで記録されており、当該UVDescriptorと同じ順番で対応する関数情報エントリが記録されているため、対応する関数情報エントリを探し出すことができる。ここで、図11に示すように、例えば、関数情報エントリFE2は、関数ID以下HoFIDiと記述する、入力値以下Qiと記述する、出力値以下Aiと記述するから構成される。上記MKB処理の後は、下記ステップP3に続く。ステップP3次に、関数処理にて、選択部22で選択されたデータエントリの中からQi、HoFIDiを取り出し関数処理部23にて関数処理を行う。関数処理部には予めHoFIDに該当した関数が記録されており、その入力値としてQiを入れると出力Aiが計算可能となる。なおここでの出力Aiは記録装置に予め記録されていたAiと区別するために復号処理部で計算された結果をAiH、記録されていたAiをAiCと記述する。ステップP4続いて、セッション鍵による計算にて、関数処理部23で得たAiHをAKE処理部25で得たKsで一方向性関数計算部24にて計算する。ここでの計算はAESGで計算しているが、一方向性関数の性質をもつ式であればこの限りではない。なおAESGは参考文献2に記載されている関数AESGで実現可能である。ステップP5続いて、セッション鍵による暗号処理にて、記録装置に送信する情報を暗号化する。送信する情報はP2P4で得られた情報UVi、AESG、EncKseedA1Cが連結されて暗号化されて送信される。ステップP6続いて、記録装置内では受け取った情報をセッション鍵により復号処理を行う。ステップP7続いて、記録装置内にあるサービス鍵Ksrvを用いて、上記ステップP6で得られたEncKseedA1CUViを復号する。ステップP8続いて、上記ステップP7で得られたA1CとP1で得られたセッション鍵による計算により、AESGを計算する。ステップP9続いて、上記ステップP8の結果と上記ステップP6で得られたAESGが同じ値かどうかを検証する。もし同じ値でない場合は、例えばこれ以降の処理を行わない、といった不正な復号装置からのアクセスとみなす処理を行う。ステップP10続いて、上記ステップP7で得られたKseedとUViからKuviを計算する。計算方法は例えば、以下の数式Iにより、計算可能である。KuviAESDxorUVi...数式IステップP11続いて、上記ステップP7で得られたEncを、上記ステップP10にて得られたKuviにて暗号処理を行う。ステップP12続いて、上記ステップP1で得られたセッション鍵により、上記ステップP11にて得られたEncを暗号化して、復号装置へ送信する。ステップP13続いて、記録装置1は、上記ステップP7で得られたUViを履歴情報として秘密記録部11へ保存する。ここで記録された履歴情報は、後に専用端末に接続された時などに読み出され、管理サーバに回収される。回収処理は、例えば、上記第2の実施形態で説明したような同様のシステム等にて実現可能である。ステップP14続いて、復号装置2は、上記ステップP13で受け取った情報を、上記ステップP1で生成されたセッション鍵により復号処理を行う。ステップP15続いて、上記ステップP14にて復号されたEncを、上記ステップP2にて得られたKm、Kuvi用いて復号処理を行い、コンテンツ鍵Kcを取り出す。ステップP16最後に、上記ステップP15で得られたコンテンツ鍵Kcによりコンテンツ復号を行う。<作用効果>上記のように、第3の実施形態に係るコンテンツデータ再生システムによれば、少なくとも上記1および2と同様の効果が得られる。さらに、第3の実施形態によれば、例えば、ステップS11のように、記録装置1内で、コンテンツ鍵Kcは暗号化された状態で処理される。このように、記録装置1がコンテンツ鍵Kcそのものを知ることができず、情報の秘匿性を向上することができる。また、必要に応じて、本例のような構成を適用することが可能である。本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。"