(57)【要約】【課題】コンテンツの著作権を保護しつつ、ユーザの利便性を向上させる技術を提供する。【解決手段】一次利用ライセンス生成部１０７は、コンテンツデータを暗号化するためのコンテンツ鍵を生成し、コンテンツ鍵と、コンテンツ鍵の複製に関する制御情報とを含む一次利用ライセンスデータを生成する。暗号エンジン１０３は、暗号通信により一次利用ライセンスデータをストレージデバイス２００に記録する。コンテンツデータをストレージデバイス２５０に複製するとき、ライセンス判読部１０８は、一次利用ライセンスデータに含まれる複製に関する制御情報を参照して複製の許否を判定する。複製が許可された場合は、二次利用ライセンス生成部１０９が、複製が禁止される二次利用ライセンスデータを生成する。暗号エンジン１０３は、暗号通信により二次利用ライセンスデータをストレージデバイス２５０に記録する。【選択図】図２
2007158559.tif 000002
【特許請求の範囲】
【請求項１】
複製元のストレージデバイスに記録された暗号化されたコンテンツデータと、前記暗号化されたコンテンツデータを復号するためのコンテンツ鍵及び前記コンテンツデータの複製に関する制御情報を含む一次利用ライセンスデータとを取得するステップと、
複製元の装置、装置のユーザ、又はその装置で動作するプログラムを特定できるＩＤを取得するステップと、
前記ＩＤを利用して、前記一次利用ライセンスデータから前記コンテンツ鍵を取り出すステップと、
前記複製に関する制御情報を参照して、複製先のストレージデバイスへの複製の許否を判定するステップと、
前記複製先のストレージデバイスへの複製が許可されたときに、前記一次利用ライセンスデータから取り出した前記コンテンツ鍵及び前記コンテンツデータの複製を禁止する制御情報を含む二次利用ライセンスデータを生成するステップと、
前記二次利用ライセンスデータを暗号通信により前記複製先のストレージデバイスに送信し、前記複製先のストレージデバイスに記録するステップと、
前記暗号化されたコンテンツデータを前記複製先のストレージデバイスへ記録するステップと、
を含むことを特徴とする記録方法。
【請求項２】
前記一次利用ライセンスデータは、暗号化された前記コンテンツ鍵を含み、
前記コンテンツ鍵を取り出すステップは、
前記ＩＤをもとに、暗号化された前記コンテンツ鍵を復号するための復号鍵を生成するステップと、
前記復号鍵で、前記一次利用ライセンスデータに含まれる暗号化された前記コンテンツ鍵を復号するステップと、
を含むことを特徴とする請求項１に記載の記録方法。
【請求項３】
前記一次利用ライセンスデータは、共通鍵暗号方式により暗号化された前記コンテンツ鍵を
含み、
前記復号鍵を生成するステップは、前記コンテンツ鍵を暗号化するための暗号鍵を生成する演算と同じ演算により、前記暗号鍵と同一の前記復号鍵を生成することを特徴とする請求項２に記載の記録方法。
【請求項４】
前記一次利用ライセンスデータは、前記コンテンツ鍵に代えて乱数を含み、
前記コンテンツ鍵を取り出すステップは、
前記一次利用ライセンスデータに含まれる前記乱数に前記ＩＤを用いた所定の演算を施すことにより前記コンテンツ鍵を生成するステップを含むことを特徴とする請求項１に記載の記録方法。
【請求項５】
前記所定の演算は、共通鍵暗号方式により暗号化又は復号する演算であることを特徴とする請求項４に記載の記録方法。
【請求項６】
コンテンツデータを取得するステップと、
前記コンテンツデータを暗号化するためのコンテンツ鍵を生成するステップと、
前記コンテンツ鍵により前記コンテンツデータを暗号化するステップと、
前記一次利用ライセンスデータを生成するステップと、
暗号化された前記コンテンツデータと、前記一次利用ライセンスデータとを、前記複製元のストレージデバイスに記録するステップと、
を更に含むことを特徴とする請求項１から５のいずれかに記載の記録方法。
【請求項７】
コンテンツデータを取得するステップと、
前記コンテンツデータを暗号化するためのコンテンツ鍵を生成するステップと、
前記コンテンツ鍵により前記コンテンツデータを暗号化するステップと、
前記一次利用ライセンスデータを生成するステップと、
暗号化された前記コンテンツデータと、前記一次利用ライセンスデータとを、前記複製元のストレージデバイスに記録するステップと、
を更に含み、
前記一次利用ライセンスデータを生成するステップは、
前記複製元の装置、その装置のユーザ、又はその装置で動作するプログラムのＩＤを取得するステップと、
前記コンテンツ鍵に前記ＩＤを用いて所定の演算を施すことにより、前記コンテンツ鍵を暗号化するステップと、
暗号化された前記コンテンツ鍵を含む前記一次利用ライセンスデータを生成するステップと、
を含むことを特徴とする請求項２又は３に記載の記録方法。
【請求項８】
コンテンツデータを取得するステップと、
前記コンテンツデータを暗号化するためのコンテンツ鍵を生成するステップと、
前記コンテンツ鍵により前記コンテンツデータを暗号化するステップと、
前記一次利用ライセンスデータを生成するステップと、
暗号化された前記コンテンツデータと、前記一次利用ライセンスデータとを、前記複製元のストレージデバイスに記録するステップと、
を更に含み、
前記コンテンツ鍵を生成するステップは、
乱数を発生するステップと、
前記複製元の装置、その装置のユーザ、又はその装置で動作するプログラムを特定できるＩＤを取得するステップと、
前記乱数に前記ＩＤを用いた所定の演算を施すことにより前記コンテンツ鍵を生成するステップと、を含み、
前記一次利用ライセンスデータを生成するステップは、
前記コンテンツ鍵に代えて前記乱数を含む前記一次利用ライセンスデータを生成するステップと、
を含むことを特徴とする請求項４又は５に記載の記録方法。
【請求項９】
前記一次利用ライセンスデータは、暗号通信により、前記複製元のストレージデバイスに記録され、又は前記複製元のストレージデバイスから読み出されることを特徴とする請求項６から８のいずれかに記載の記録方法。
【請求項１０】
複製元のストレージデバイスに記録された暗号化されたコンテンツデータと、前記暗号化されたコンテンツデータを復号するためのコンテンツ鍵及び前記コンテンツデータの複製に関する制御情報を含む一次利用ライセンスデータとを取得する取得手段と、
前記複製に関する制御情報を参照して、複製先のストレージデバイスへの複製の許否を判定する判定部と、
複製元の装置、装置のユーザ、又はその装置で動作するプログラムを特定できるＩＤを取得し、前記ＩＤを利用して前記一次利用ライセンスデータから前記コンテンツ鍵を取り出すコンテンツ鍵取得手段と、
前記複製先のストレージデバイスへの複製が許可されたときに、前記一次利用ライセンスデータから取り出した前記コンテンツ鍵及び前記コンテンツデータの複製を禁止する制御情報を含む二次利用ライセンスデータを生成する二次利用ライセンス生成部と、
前記二次利用ライセンスデータを前記複製先のストレージデバイスに記録するために、前記二次利用ライセンスデータを暗号通信により前記複製先のストレージデバイスに送信する暗号エンジンと、
を備えることを特徴とする記録装置。
【請求項１１】
前記コンテンツ鍵取得手段は、
前記ＩＤをもとに、暗号化された前記コンテンツ鍵を復号するための復号鍵を生成するＩＤ整形部と、
前記復号鍵で、前記一次利用ライセンスデータに含まれる暗号化された前記コンテンツ鍵を復号するコンテンツ鍵復号部と、
を含むことを特徴とする請求項１０に記載の記録装置。
【請求項１２】
前記取得手段は、
コンテンツデータを暗号化するためのコンテンツ鍵を生成し、前記コンテンツ鍵と、前記コンテンツ鍵の複製に関する制御情報とを含む一次利用ライセンスデータを生成する一次利用ライセンス生成部と、
前記コンテンツ鍵で前記コンテンツデータを暗号化するコンテンツ暗号部と、
を含むことを特徴とする請求項１０又は１１に記載の記録装置。
【請求項１３】
前記一次利用ライセンス生成部は、
前記複製元の装置、その装置のユーザ、又はその装置で動作するプログラムを特定できるＩＤを取得し、前記ＩＤをもとに前記コンテンツ鍵を暗号化するための暗号鍵を生成するＩＤ整形部と、
前記暗号鍵で前記コンテンツ鍵を暗号化するコンテンツ鍵暗号部と、
を含むことを特徴とする請求項１２に記載の記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツデータを復号するためのコンテンツ鍵の記録技術に関し、とくに、コンテンツ鍵の複製を制御する記録装置及び方法に関する。
【背景技術】
【０００２】
コンテンツデータを保護する著作権保護方式として、コンテンツデータを暗号化し、その復号鍵（以下、「コンテンツ鍵」と称す）を含むコンテンツ利用情報（以下、「ライセンスデータ」と称す）の秘匿性を高めて管理する方式がよく知られている（例えば、特許文献１参照）。特許文献１に開示されたデータ配信システムでは、ライセンスデータを扱う装置として、配信サーバ、ストレージデバイスとしてのメモリカード、利用装置としての携帯電話機のコンテンツ再生デバイスの３つの装置が挙げられている。そして、配信サーバとストレージデバイス、および、ストレージデバイスと利用装置の間で暗号化通信路を構築し、その暗号化通信路を介してライセンスデータの送受信を行う。配信サーバ、ストレージデバイス、利用装置には、暗号化されたライセンスデータを扱うためのＴＲＭ（Tamper Resistant Module）が備えられている。
【０００３】
暗号化通信路の構築では、まず、ライセンスデータを提供する装置（以下、「ライセンス提供装置」と称す）が、ライセンスデータを享受する装置（以下、「ライセンス享受装置」と称す）に、公開鍵を含んだ証明書を送信する。そして、ライセンス提供装置が、この証明書を検証し、検証の結果、ライセンス享受装置から送信された証明書が正規の証明書であり、かつ、証明書破棄リストによって無効とされていない場合に、この証明書に含まれる公開鍵を利用して、装置間で鍵交換を行う。そして、ライセンス提供装置からライセンス享受装置に送られた鍵で暗号化されたライセンスデータが、ライセンス提供装置からライセンス享受装置に送信される。ＴＲＭは、物理的に秘匿性が保護された回路モジュールであって、暗号化通信路を介してのみ、ライセンスデータをやり取りすることができるよう構成されている。
【０００４】
以上のように、この著作権保護方式においては、コンテンツデータの暗号化と、ライセンスデータの秘匿によって、コンテンツに係る著作権保護の徹底が図られている。さらに、再生回数制御やコピー回数制御などの利用制限の導入と移動制御によって、様々な配信サービスへの展開や、デジタル放送の録画を可能としている。
【特許文献１】特開２００２−３６６４４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
近年、携帯可能な小型の再生専用機が広く普及しており、コンテンツデータをパーソナルコンピュータなどに蓄積し、所望のコンテンツを再生専用機へ複製して持ち歩くといった利用形態が人気を博している。このような状況下、本発明者は、上述した著作権保護方式により著作権の保護を徹底しつつ、ユーザの私的な利用のための複製を可能とし、ユーザの便宜を図る技術を想到するに至った。
【０００６】
本発明は、こうした状況に鑑みてなされたものであり、その目的は、コンテンツの著作権を保護しつつ、ユーザの利便性を向上させることができる技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある態様は、記録方法に関する。この記録方法は、複製元のストレージデバイスに記録された暗号化されたコンテンツデータと、前記暗号化されたコンテンツデータを復号するためのコンテンツ鍵及び前記コンテンツデータの複製に関する制御情報を含む一次利用ライセンスデータとを取得するステップと、複製元の装置、装置のユーザ、又はその装置で動作するプログラムを特定できるＩＤを取得するステップと、前記ＩＤを利用して、前記一次利用ライセンスデータから前記コンテンツ鍵を取り出すステップと、前記複製に関する制御情報を参照して、複製先のストレージデバイスへの複製の許否を判定するステップと、前記複製先のストレージデバイスへの複製が許可されたときに、前記一次利用ライセンスデータから取り出した前記コンテンツ鍵及び前記コンテンツデータの複製を禁止する制御情報を含む二次利用ライセンスデータを生成するステップと、前記二次利用ライセンスデータを暗号通信により前記複製先のストレージデバイスに送信し、前記複製先のストレージデバイスに記録するステップと、前記暗号化されたコンテンツデータを前記複製先のストレージデバイスへ記録するステップと、を含むことを特徴とする。
【０００８】
コンテンツデータの複製の許否を判定することにより、コンテンツデータの不正な複製を防ぎ、コンテンツの著作権を保護することができる。また、複製が許可される場合には、複製が禁止される二次利用ライセンスデータを生成して他のストレージデバイスに複製することにより、コンテンツの著作権を適切に保護しつつ、ユーザの利便性を向上させることができる。
【０００９】
前記一次利用ライセンスデータは、暗号化された前記コンテンツ鍵を含んでもよく、前記コンテンツ鍵を取り出すステップは、前記ＩＤをもとに、暗号化された前記コンテンツ鍵を復号するための復号鍵を生成するステップと、前記復号鍵で、前記一次利用ライセンスデータに含まれる暗号化された前記コンテンツ鍵を復号するステップと、を含んでもよい。前記一次利用ライセンスデータは、共通鍵暗号方式により暗号化された前記コンテンツ鍵を含んでもよく、前記復号鍵を生成するステップは、前記コンテンツ鍵を暗号化するための暗号鍵を生成する演算と同じ演算により、前記暗号鍵と同一の前記復号鍵を生成してもよい。正当な権限を有する装置又はユーザのＩＤをもとに生成された共通鍵でコンテンツ鍵を暗号化しておくことにより、暗号化されたコンテンツ鍵が不正に複製された場合であっても、正当な装置又はユーザでないと復号できないようにする。これにより、コンテンツの著作権を適切に保護することができる。
【００１０】
前記一次利用ライセンスデータは、前記コンテンツ鍵に代えて乱数を含んでもよく、前記コンテンツ鍵を取り出すステップは、前記一次利用ライセンスデータに含まれる前記乱数に前記ＩＤを用いた所定の演算を施すことにより前記コンテンツ鍵を生成するステップを含んでもよい。前記所定の演算は、共通鍵暗号方式により暗号化又は復号する演算であってもよい。
【００１１】
記録方法は、コンテンツデータを取得するステップと、前記コンテンツデータを暗号化するためのコンテンツ鍵を生成するステップと、前記コンテンツ鍵により前記コンテンツデータを暗号化するステップと、前記一次利用ライセンスデータを生成するステップと、暗号化された前記コンテンツデータと、前記一次利用ライセンスデータとを、前記複製元のストレージデバイスに記録するステップと、を更に含んでもよい。
【００１２】
記録方法は、コンテンツデータを取得するステップと、前記コンテンツデータを暗号化するためのコンテンツ鍵を生成するステップと、前記コンテンツ鍵により前記コンテンツデータを暗号化するステップと、前記一次利用ライセンスデータを生成するステップと、暗号化された前記コンテンツデータと、前記一次利用ライセンスデータとを、前記複製元のストレージデバイスに記録するステップと、を更に含んでもよく、前記一次利用ライセンスデータを生成するステップは、前記複製元の装置、その装置のユーザ、又はその装置で動作するプログラムのＩＤを取得するステップと、前記コンテンツ鍵に前記ＩＤを用いて所定の演算を施すことにより、前記コンテンツ鍵を暗号化するステップと、暗号化された前記コンテンツ鍵を含む前記一次利用ライセンスデータを生成するステップと、を含んでもよい。
【００１３】
記録方法は、コンテンツデータを取得するステップと、前記コンテンツデータを暗号化するためのコンテンツ鍵を生成するステップと、前記コンテンツ鍵により前記コンテンツデータを暗号化するステップと、前記一次利用ライセンスデータを生成するステップと、暗号化された前記コンテンツデータと、前記一次利用ライセンスデータとを、前記複製元のストレージデバイスに記録するステップと、を更に含んでもよく、前記コンテンツ鍵を生成するステップは、乱数を発生するステップと、前記複製元の装置、その装置のユーザ、又はその装置で動作するプログラムを特定できるＩＤを取得するステップと、前記乱数に前記ＩＤを用いた所定の演算を施すことにより前記コンテンツ鍵を生成するステップと、を含んでもよく、前記一次利用ライセンスデータを生成するステップは、前記コンテンツ鍵に代えて前記乱数を含む前記一次利用ライセンスデータを生成するステップと、を含んでもよい。
【００１４】
前記一次利用ライセンスデータは、暗号通信により、前記複製元のストレージデバイスに記録され、又は前記複製元のストレージデバイスから読み出されてもよい。
【００１５】
本発明の別の態様は、記録装置に関する。この記録装置は、複製元のストレージデバイスに記録された暗号化されたコンテンツデータと、前記暗号化されたコンテンツデータを復号するためのコンテンツ鍵及び前記コンテンツデータの複製に関する制御情報を含む一次利用ライセンスデータとを取得する取得手段と、前記複製に関する制御情報を参照して、複製先のストレージデバイスへの複製の許否を判定する判定部と、複製元の装置、装置のユーザ、又はその装置で動作するプログラムを特定できるＩＤを取得し、前記ＩＤを利用して前記一次利用ライセンスデータから前記コンテンツ鍵を取り出すコンテンツ鍵取得手段と、前記複製先のストレージデバイスへの複製が許可されたときに、前記一次利用ライセンスデータから取り出した前記コンテンツ鍵及び前記コンテンツデータの複製を禁止する制御情報を含む二次利用ライセンスデータを生成する二次利用ライセンス生成部と、前記二次利用ライセンスデータを前記複製先のストレージデバイスに記録するために、前記二次利用ライセンスデータを暗号通信により前記複製先のストレージデバイスに送信する暗号エンジンと、を備えることを特徴とする。
【００１６】
前記コンテンツ鍵取得手段は、前記ＩＤをもとに、暗号化された前記コンテンツ鍵を復号するための復号鍵を生成するＩＤ整形部と、前記復号鍵で、前記一次利用ライセンスデータに含まれる暗号化された前記コンテンツ鍵を復号するコンテンツ鍵復号部と、を含んでもよい。
【００１７】
前記取得手段は、コンテンツデータを暗号化するためのコンテンツ鍵を生成し、前記コンテンツ鍵と、前記コンテンツ鍵の複製に関する制御情報とを含む一次利用ライセンスデータを生成する一次利用ライセンス生成部と、前記コンテンツ鍵で前記コンテンツデータを暗号化するコンテンツ暗号部と、を含んでもよい。
【００１８】
前記一次利用ライセンス生成部は、前記複製元の装置、その装置のユーザ、又はその装置で動作するプログラムを特定できるＩＤを取得し、前記ＩＤをもとに前記コンテンツ鍵を暗号化するための暗号鍵を生成するＩＤ整形部と、前記暗号鍵で前記コンテンツ鍵を暗号化するコンテンツ鍵暗号部と、を含んでもよい。
【発明の効果】
【００１９】
本発明によれば、コンテンツの著作権を保護しつつ、ユーザの利便性を向上させることができる。
【発明を実施するための最良の形態】
【００２０】
本発明の実施の形態について、図を参照しながら以下に説明する。
【００２１】
図１は、実施の形態に係るデータ管理システム１０の全体構成を示す。データ管理システム１０は、ＣＤやＤＶＤなどの記憶媒体２０に格納された音楽や映像などのコンテンツデータをストレージデバイス２００に記録し、ストレージデバイス２００に記録されたコンテンツデータを再生する記録再生装置１００と、ストレージデバイス２００に記録されたコンテンツデータを他の装置、例えば、カーオーディオ３００ａ、再生専用装置３００ｂ、記録再生装置３００ｃなどで再生することを可能とするために、コンテンツデータの複製を格納する脱着型のストレージデバイス２５０を含む。
【００２２】
記録再生装置１００は、記憶媒体２０に格納されたコンテンツデータを取り出して、ストレージデバイス２００に格納するときに、コンテンツデータを暗号化するためのコンテンツ鍵を、記録再生装置１００に紐付けした形式で生成し、コンテンツデータをコンテンツ鍵で暗号化して記録する。このとき、コンテンツデータの著作権を保護するために、コンテンツデータに付加されている利用情報、例えば複製の可否や回数などの制限、再生の回数などの制限などを示す情報を取得する。そして、取得した利用情報の形式を変換する。この利用情報と、先に生成したコンテンツ鍵とをパッケージ化したデータ（以下、「一次利用ライセンスデータ」と呼ぶ）を暗号化してストレージデバイス２００に記録する。記録再生装置１００に紐付けするとは、記録再生装置１００の機器ＩＤ、記録再生装置１００を構成する半導体部品などに埋め込まれているデバイスＩＤ、記録再生装置１００にインストールされているＯＳなどのソフトウェアのプログラムＩＤ、暗号処理にて使用する埋め込み型の秘密鍵などの、記録再生装置１００や記録再生装置１００の機能単位を特定できる識別データを用いないと、一次利用ライセンスデータからコンテンツ鍵を取り出すことができず、暗号化コンテンツデータを復号できないということを意味する。なお、ここではコンテンツ鍵を記録再生装置１００に紐付けしたものとして説明をするが、記憶媒体２０の購入者など正当な権限を有するユーザに対して紐付けしてもよい。本実施の形態では、コンテンツ鍵を機器ＩＤに紐付けする場合を例に取って説明する。
【００２３】
記録再生装置１００は、ストレージデバイス２００に記録されたコンテンツデータを再生するときには、ストレージデバイス２００から暗号化された一次利用ライセンスデータを読み出して、一次利用ライセンスデータから、機器ＩＤを用いてコンテンツ鍵を取得する。そして、取得したコンテンツ鍵で暗号化コンテンツデータを復号して再生する。これにより、コンテンツデータの不正な複製を抑止することができ、コンテンツデータの著作権を適切に保護することができる。
【００２４】
近年、携帯用の再生装置が広く普及しており、例えば、音楽ＣＤに記録されたコンテンツデータをパーソナルコンピュータなどの記録再生装置１００に蓄積し、所望の曲を携帯用再生装置に複製して持ち歩くという利用形態が普及している。本実施の形態では、このような利用形態を実現するために、記録再生装置１００は、ストレージデバイス２００に格納されている暗号化コンテンツデータをストレージデバイス２５０へ複製する。このとき、記録再生装置１００は、ストレージデバイス２００に格納されている一次利用ライセンスデータから、再生専用の二次利用ライセンスデータを生成し、ストレージデバイス２５０に記録する。この二次利用ライセンスデータは、記録再生装置１００に紐付されない形式のコンテンツ鍵と、再生以外の使用を禁止した利許諾用情報を含み、二次利用ライセンスデータの複製も禁止される。これにより、コンテンツデータの著作権を適切に保護しつつ、携帯用再生装置などによるコンテンツデータの私的利用を可能とし、ユーザの利便性を向上させることができる。
【００２５】
本実施の形態のストレージデバイス２５０は、データを保持する記憶媒体だけでなく、記録再生装置１００などのホスト装置と記憶媒体との間でのデータの入出力を制御するコントローラなどの構成を備えるドライブ一体型の可搬型ストレージデバイスである。本実施の形態では、ストレージデバイス２５０として、可搬型ハードディスクドライブを例にとって説明する。なお、ストレージデバイス２００は、特に形態は問わないが、説明を簡単にするためストレージデバイス２５０と同じ機能をもつドライブ一体型の可搬型ストレージデバイスとして説明する。しかしながら、記録再生装置１００に内蔵されたハードディスクなどにより実現されてもよい。また、ストレージデバイス２５０の記録媒体は、半導体メモリ、ＣＤ−ＲＯＭ、ＤＶＤなどにより実現されてもよい。
【００２６】
従来のハードディスクドライブは、一つのホスト装置に固定的に接続されて使用されるのが一般的であったが、本実施の形態のストレージデバイス２００及び２５０は、記録再生装置１００などのホスト装置に対して、着脱が自在になされるよう構成されている。すなわち、本実施の形態のストレージデバイス２００及び２５０は、ＣＤやＤＶＤなどと同様にホスト装置から取り外して持ち運ぶことができ、記録再生装置１００のほか、カーオーディオ３００ａ、再生専用装置３００ｂ、記録再生装置３００ｃ、又はこれらの装置と通信ケーブルや通信網を介して接続された端末装置などの複数のホスト装置間で共用することが可能な記憶装置である。
【００２７】
このように、本実施の形態のストレージデバイス２００及び２５０は、複数のホスト装置に接続されることを前提にしており、たとえば、所有者以外の第三者のホスト装置に接続され、記録されたデータが読み出される可能性もある。このストレージデバイス２００及び２５０に、音楽や映像などの著作権により保護されるべきコンテンツ、企業や個人の機密情報などの秘匿すべきデータを記録することを想定したとき、それらの秘匿データが外部に漏洩することを防ぐためには、ストレージデバイス２００及び２５０自身にデータを適切に保護するための構成を設け、十分な耐タンパ機能を持たせることが好ましい。
【００２８】
このような観点から、本実施の形態のストレージデバイス２００及び２５０は、ホスト装置との間で秘匿データを入出力するときに、その秘匿データを暗号化してやり取りするための構成を備える。また、秘匿データを格納するために、通常の記憶領域とは異なる機密データ記憶領域を設け、その機密データ記憶領域はストレージデバイス２００及び２５０内に設けられた暗号エンジンを介さないとアクセスできないように構成する。この暗号エンジンは、正当な権限を有すると検証されたホスト装置のみと秘匿データの入出力を行う。以下、このようなデータ保護機能を「セキュア機能」ともいう。上記の構成および機能により、ストレージデバイス２００及び２５０に記録された秘匿データを適切に保護することができる。
【００２９】
ストレージデバイス２００及び２５０のリムーバブルメディアとしての特徴を最大限に生かすため、通常のデータについては、セキュア機能に非対応のホスト装置でも入出力可能とするのが好ましい。そのため、本実施の形態のストレージデバイス２００及び２５０は、従来のハードディスクとの互換性を保つべく、ＡＮＳＩ（American National Standards Institute）の標準規格であるＡＴＡ（AT Attachment）に対応しており、上述のセキュア機能は、ＡＴＡの拡張命令として実現される。
【００３０】
記憶媒体２０に記録されたコンテンツデータをストレージデバイス２００又は２５０に記録する際に、コンテンツデータ自身を秘匿データとして扱ってもよいが、本実施の形態では、コンテンツデータを暗号化し、暗号化されたコンテンツデータ自身は、ストレージデバイス２００又は２５０に通常のデータとして記録する。そして、暗号化されたコンテンツを復号するためのコンテンツ鍵と、コンテンツの再生制御や、ライセンスの利用、移動、複製に関する制御に関する情報（以下、「利用情報」と称す）を含むデータ（以下、「ライセンスデータ」と称す）を、秘匿データとして上述のセキュア機能を用いて入出力を行う。これにより、十分な耐タンパ性を維持しつつ、データの入出力を簡略化し、処理の高速化および消費電力の低減を図ることができる。
【００３１】
ここで、ライセンスデータは、コンテンツ鍵や利用情報の他に、ライセンスデータを特定するための識別情報ＬＩＤを含むものとする。また、利用情報として、ライセンスデータの複製回数の上限を示す制御情報ＣＣを含むものとする。ここでは、制御情報ＣＣは、１バイトの符号なし整数であり、その値がライセンスデータの複製回数の上限値を示すものとし、ライセンスデータを複製する毎に１減算されるものとする。また、ＣＣ＝２５５は、例外として、複製回数の上限設定がないことを示し、ライセンスデータの複製によって、値を変化させないものとする。なお、ここで示した制御情報ＣＣの設定方法および運用方法は、本実施の形態における一例であって、特に限定するものではない。
【００３２】
なお、以下においては、記録再生装置１００などのホスト装置がストレージデバイス２００又は２５０に対して発行する命令のうち、セキュア機能のための拡張命令を「セキュアコマンド」とも呼び、その他の命令を「通常コマンド」とも呼ぶ。
【００３３】
図２は、実施の形態に係る記録再生装置１００の内部構成を示す。この構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩなどで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【００３４】
記録再生装置１００は、主に、コントローラ１０１、ストレージインタフェース１０２ａ及び１０２ｂ、暗号エンジン１０３、コンテンツ暗号部１０４、コンテンツ復号部１１１、それらを電気的に接続するデータバス１１０、利用情報検出部１０６、一次利用ライセンス生成部１０７、ライセンス判読部１０８、二次利用ライセンス生成部１０９、利用情報付加部１１２、及び再生部１１３を備える。ストレージデバイス２００は、記録再生装置１００に内蔵されていてもよいし、上述したように、記録再生装置１００に着脱可能に設けられてもよい。
【００３５】
利用情報検出部１０６は、記憶媒体２０に格納されているデータの中から利用情報を検出する。利用情報は、記憶媒体２０の所定領域に格納されていてもよいし、コンテンツデータの所定領域に格納されていてもよいし、コンテンツデータにウォーターマークなどの技術を用いて埋め込まれていてもよい。検出された利用情報は、一次利用ライセンス生成部１０７へ伝達される。
【００３６】
一次利用ライセンス生成部１０７は、コンテンツデータを暗号化するためのコンテンツ鍵を生成する。また、利用情報検出部１０６が検出した利用情報を継承した利用情報を生成する。一次利用ライセンス生成部１０７は、生成したコンテンツ鍵と利用情報から、記録再生装置１００において利用可能な一次利用ライセンスデータを生成する。生成されたコンテンツ鍵はコンテンツ暗号部１０４へ伝達される。また、生成された一次利用ライセンスデータは暗号エンジン１０３へ伝達され、暗号エンジン１０３を介してストレージデバイス２００に記録される。
【００３７】
コンテンツ暗号部１０４は、一次利用ライセンス生成部１０７から伝達されたコンテンツ鍵を用いて、記憶媒体２０から読み出されたコンテンツデータを暗号化する。暗号化されたコンテンツデータは、データバス１１０及びストレージインタフェース１０２ａを介して、通常コマンドによりストレージデバイス２００に記録される。
【００３８】
暗号エンジン１０３は、一次利用ライセンスデータをストレージデバイス２００との間で入出力するために、ストレージデバイス２００との間で暗号通信の制御を行う。また、暗号エンジン１０３は、二次利用ライセンスデータをストレージデバイス２５０に記録するために、ストレージデバイス２５０との間で暗号通信の制御を行う。暗号エンジン１０３の構成及び動作の詳細については後述する。ストレージインタフェース１０２ａ、１０２ｂは、それぞれ、ストレージデバイス２００、２５０とのデータの入出力を制御する。コントローラ１０１は、記録再生装置１００の構成要素を統括的に制御する。
【００３９】
ライセンス判読部１０８は、ストレージデバイス２００に記録された一次利用ライセンスデータを取得して判読し、コンテンツ鍵と利用情報を取得する。記録再生装置１００においてコンテンツを再生するときには、ライセンス判読部１０８は、利用情報を解析して再生の可否を判定し、再生が許可される場合は、コンテンツ鍵をコンテンツ復号部１１１に伝達し、利用情報を利用情報付加部１１２に伝達する。ライセンスデータをストレージデバイス２５０に複製するときには、ライセンス判読部１０８は、利用情報を解析して複製の可否を判定し、複製が許可される場合は、コンテンツ鍵及び利用情報を二次利用ライセンス生成部１０９へ伝達する。
【００４０】
コンテンツ復号部１１１は、ストレージデバイス２００から取得した暗号化コンテンツデータを、ライセンス判読部１０８から取得したコンテンツ鍵で復号する。利用情報付加部１１２は、コンテンツ復号部１１１により復号されたコンテンツデータに、ライセンス判読部１０８から伝達された利用情報を付加する。利用情報付加部１１２は、コンテンツデータの所定位置に利用情報を付加してもよいし、コンテンツデータにウォーターマークなどの技術を用いて利用情報を埋め込んでもよく、要は、記憶媒体２０に格納されているコンテンツデータと同じ状態になるようにコンテンツデータを整形する。再生部１１３は、利用情報付加部１１２により整形されたコンテンツデータを再生する。再生部１１３が利用情報を必要としない場合は、コンテンツ復号部１１１により復号されたコンテンツデータを直接再生部１１３へ出力してもよい。この場合、利用情報付加部１１２は設けなくてもよい。
【００４１】
二次利用ライセンス生成部１０９は、ライセンス判読部１０８から伝達されたコンテンツ鍵と利用情報を用いて、二次利用ライセンスデータを生成する。生成された二次利用ライセンスデータは暗号エンジン１０３へ伝達され、暗号エンジン１０３を介してストレージデバイス２５０に記録される。ストレージデバイス２５０に記録された二次利用ライセンスデータは、再生専用装置３００ｂなどにおいてコンテンツデータを再生するためにのみ利用可能であり、複製は禁止される。
【００４２】
図３は、一次利用ライセンス生成部１０７及びコンテンツ暗号部１０４の内部構成を示す。一次利用ライセンス生成部１０７は、利用情報変換部１６０、乱数生成部１６１、ＩＤ整形部１６２、コンテンツ鍵暗号部１６３、及びライセンスデータフォーマッタ１６４を含む。コンテンツ暗号部１０４は、データ挿入部１５０及び暗号器１５１を含む。
【００４３】
利用情報変換部１６０は、利用情報検出部１０６から利用情報を取得し、データ形式やデータの内容を変換する。暗号化コンテンツデータに利用情報を挿入する必要がある場合は、利用情報変換部１６０は、挿入すべき情報を抽出してデータ挿入部１５０へ伝達する。また、利用情報変換部１６０は、ライセンスデータのフォーマットに合わせて利用情報を変換する。ライセンスデータのフォーマットは図５を参照して説明する。
【００４４】
乱数生成部１６１は、コンテンツ鍵Ｋｃとして用いられる乱数を発生し、コンテンツ鍵暗号部１６３及び暗号器１５１へ伝達する。ＩＤ整形部１６２は、記録再生装置１００の機器ＩＤを取得し、コンテンツ鍵暗号部１６３においてコンテンツ鍵を暗号化するための暗号鍵として利用可能な形式に整形する。機器ＩＤは、記録再生装置１００のＢＩＯＳ領域に固定的に記録されていてもよい。また、機器ＩＤに代えて、記録再生装置１００のユーザのＩＤ、記録再生装置１００において動作するＯＳやリッピングアプリケーションなどのプログラムのＩＤ、ストレージデバイス２００の機器ＩＤなどを用いてもよい。要は、コンテンツデータを利用する権利を有するユーザ又は装置のみが知りうる情報であればよい。ＩＤ整形部１６２は、コンテンツ鍵暗号部１６３が採用する暗号方式における暗号鍵のビット長に合わせて、取得した機器ＩＤを整形する。例えば、機器ＩＤのビット数が暗号鍵のビット長よりも少ない場合は、０などでパディングしてもよい。逆に、機器ＩＤのビット数が暗号鍵のビット長よりも多い場合は、先頭から順に必要なビット長を取り出してもよいし、末尾から順に必要なビット長を取り出してもよい。
【００４５】
コンテンツ鍵暗号部１６３は、乱数生成部１６１から伝達されたコンテンツ鍵Ｋｃを、ＩＤ整形部１６２から伝達された暗号鍵で暗号化する。コンテンツ鍵暗号部１６３における暗号方式は任意でよく、例えばＡＥＳ（Advanced Encryption Standard）方式などであってもよい。ＡＥＳの鍵長は、１２８、１９２、２５６ビットのいずれかであってもよく、ＩＤ整形部１６２は、コンテンツ鍵暗号部１６３が必要とする鍵長に機器ＩＤを整形する。コンテンツ鍵暗号部１６３は、コンテンツ鍵Ｋｃと機器ＩＤの排他的論理和などを演算することにより、暗号化コンテンツ鍵を生成してもよい。暗号化されたコンテンツ鍵は、ライセンスデータフォーマッタ１６４へ伝達される。
【００４６】
ＡＥＳは共通鍵暗号方式であるから、暗号化コンテンツ鍵を復号するためには、機器ＩＤを取得してＩＤ整形部１６２と同様に整形し、同一の共通鍵を得ればよい。したがって、記録再生装置１００は、自身の機器ＩＤを用いて暗号化コンテンツ鍵を復号することができ、復号したコンテンツ鍵により暗号化コンテンツデータを復号して再生することができる。しかし、他の装置は、記録再生装置１００の機器ＩＤを取得することができないので、たとえ暗号化コンテンツ鍵を複製したとしても、それを復号することはできない。このように、機器ＩＤを利用してコンテンツ鍵を暗号化することにより、コンテンツ鍵はその装置に束縛され、その装置でしか利用することができないようになる。
【００４７】
なお、上記の例では、乱数生成部１６１が生成した乱数をコンテンツ鍵Ｋｃとしたが、別の例では、乱数生成部１６１が生成した乱数に対して、ＩＤ整形部１６２が整形した機器ＩＤを用いてコンテンツ鍵暗号部１６３により暗号演算を行ったものをコンテンツ鍵Ｋｃとしてもよい。この場合は、乱数生成部１６１が生成した乱数をライセンスデータに記録しておき、再生時には、ライセンスデータに格納された乱数と機器ＩＤから同様の演算によりコンテンツ鍵Ｋｃを得る。この場合も、コンテンツ鍵Ｋｃを得るには機器ＩＤが必要となる。
【００４８】
ライセンスデータフォーマッタ１６４は、利用情報変換部１６０から伝達された利用情報と、コンテンツ鍵暗号部１６３から伝達された暗号化コンテンツ鍵とを、所定のフォーマットに整形して、一次利用ライセンスデータを生成する。
【００４９】
図４は、ライセンスデータのデータ構造を示す。ライセンスデータは、ライセンスデータのＩＤを格納する「ＬＩＤ」欄、ライセンスデータの種別を格納する「Ｔｙｐｅ」欄、コンテンツ鍵が機器ＩＤなどに紐付けられているか否かを示す「Ｂｉｎｄｉｎｇ  Ｆｌａｇ」欄、コンテンツ鍵を格納する「Ｋｃ」欄、ブロック暗号の初期ベクトルを格納する「Ｉｎｉｔｉａｌ  Ｖｅｃｔｏｒ」欄、ライセンスデータの利用制御情報を格納する「Ａｃｃｅｓｓ  Ｃｏｎｄｉｔｉｏｎ」欄を含む。
【００５０】
「Ｔｙｐｅ」欄には、「０〜６４」の値を設定することができる。一次利用ライセンスデータでは「０」が格納され、二次利用ライセンスデータでは「３２」が格納される。この「Ｔｙｐｅ」欄が「０〜３１」のいずれかの数値であれば、ストレージデバイス２００及び２５０は、同じ機能を持つストレージデバイスに対して、ライセンスデータを渡すことができる。「Ｔｙｐｅ」欄が「３２〜６４」であれば、直接ストレージデバイス間でライセンスデータを送受信することはできない。すなわち、「Ｔｙｐｅ」欄が「３２」である二次利用ライセンスデータは、他のストレージデバイスに複製及び移動することができない。
【００５１】
「Ｂｉｎｄｉｎｇ  Ｆｌａｇ」欄には、一次利用ライセンスデータでは、装置に束縛されている、すなわち機器ＩＤにより暗号化されていることを示す「１（ｂｉｎｄ）」が格納され、二次利用ライセンスデータでは、装置に束縛されていないことを示す「０（ｎｏｔ  ｂｉｎｄ）」が格納される。二次利用ライセンスデータは、再生のためだけに使用され、他の装置に複製及び移動することができないので、コンテンツ鍵は機器ＩＤに紐付けられていない。
【００５２】
「Ｋｃ」欄には、一次利用ライセンスデータでは、機器ＩＤに紐付けされたコンテンツ鍵（ｂｉｎｄｅｄ  Ｋｃ）が格納され、二次利用ライセンスデータでは、コンテンツ鍵Ｋｃが格納される。上述したように、二次利用ライセンスデータは、他の装置に複製及び移動することができないので、コンテンツ鍵Ｋｃが暗号化されずにそのまま格納される。一次利用ライセンスデータであっても、複製に関する制限がない場合には、コンテンツ鍵を機器ＩＤに紐付けせずにそのまま格納してもよい。また、逆に、二次利用ライセンスデータの生成が禁止されている場合にも、二次利用ライセンスデータと同様に、コンテンツ鍵Ｋｃをそのまま格納してもよい。
【００５３】
本実施の形態においては、「ｂｉｎｄｅｄ  Ｋｃ」として、機器ＩＤを用いて暗号化されたコンテンツ鍵を採用しているが、コンテンツ鍵と機器ＩＤとのビット単位の排他的論理和などの簡易的な方法により生成されたデータなどであってもよい。つまり、「ｂｉｎｄｅｄ  Ｋｃ」と機器ＩＤとにより、コンテンツ鍵Ｋｃが一意に決まりさえすればよい。
【００５４】
「Ｉｎｉｔｉａｌ  Ｖｅｃｔｏｒ」欄には、一次利用ライセンスデータでは、初期ベクトル「ＩＶ」又は機器ＩＤに紐付けられた初期ベクトル「ｂｉｎｄｅｄ  ＩＶ」が格納され、二次利用ライセンスデータでは、初期ベクトル「ＩＶ」が格納される。
【００５５】
「Ａｃｃｅｓｓ  Ｃｏｎｄｉｔｉｏｎ」欄には、一次利用ライセンスデータでは、複製の上限を示す「Ｃｏｐｙ  Ｃｏｕｎｔ」値として「２」が格納され、二次利用ライセンスデータでは、複製禁止を示す「０（Ｎｅｖｅｒ  ｃｏｐｙ）」が格納される。本実施の形態においては、「Ａｃｃｅｓｓ  Ｃｏｎｄｉｔｉｏｎ」欄に、複製に関する利用情報を記載する例を示したが、これに加えて二次利用ライセンスデータの生成可否、または、許可数を指定できるようにしてもよい。許可数を指定する場合、二次利用ライセンスデータを出力する都度この値を減算していく必要がある。
【００５６】
図５は、ライセンス判読部１０８の内部構成を示す。ライセンス判読部１０８は、形式解析部１７１、ＩＤ整形部１７２、コンテンツ鍵復号部１７３、スイッチ１７４及び１７５を含む。
【００５７】
形式解析部１７１は、暗号エンジン１０３を介してストレージデバイスから読み出されたライセンスデータを取得し、その形式を解析する。形式解析部１７１は、図４に示したライセンスデータの各フィールドの値を解析し、利用情報やコンテンツ鍵を抽出して出力するとともに、各フィールドの値に応じてスイッチ１７４及び１７５を制御する。形式解析部１７１により抽出された利用情報は、コンテンツの再生時には利用情報付加部１１２へ、コンテンツの複製時にはスイッチ１７４を介して二次利用ライセンス生成部１０９へ出力される。形式解析部１７１により抽出されたコンテンツ鍵は、暗号化されていればコンテンツ鍵復号部１７３へ、暗号化されていなければスイッチ１７５を介してコンテンツ復号部１１１へ出力される。
【００５８】
ＩＤ整形部１７２は、ＩＤ整形部１６２が生成した暗号鍵により暗号化されたコンテンツ鍵を復号するための復号鍵を生成する。前述したように、ＩＤ整形部１６２が記録再生装置１００の機器ＩＤを整形して共通鍵方式の暗号鍵を生成した場合には、ＩＤ整形部１７２は、記録再生装置１００の機器ＩＤを取得し、ＩＤ整形部１６２と同様の方法で整形して、同一の共通鍵を生成する。コンテンツ鍵復号部１７３は、形式解析部１７１から伝達された暗号化されたコンテンツ鍵を、ＩＤ整形部１７２から伝達された復号鍵で復号する。
【００５９】
コンテンツの再生時、スイッチ１７５の上側の端子には、形式解析部１７１から暗号化されていないコンテンツ鍵Ｋｃが出力され、スイッチ１７５の下側の端子には、コンテンツ鍵復号部１７３から復号されたコンテンツ鍵Ｋｃが出力される。形式解析部１７１は、ライセンスデータの「Ｂｉｎｄｉｎｇ  Ｆｌａｇ」欄を参照して、コンテンツ鍵が暗号化されているか否かを判定し、暗号化されていればスイッチ１７５を上側の端子に、暗号化されていなければ下側の端子につなぐ。これにより、スイッチ１７５を介して、コンテンツ鍵Ｋｃがコンテンツ復号部１１１に出力される。
【００６０】
コンテンツの複製時、スイッチ１７４の左側の端子には、形式解析部１７１から利用情報が出力され、スイッチ１７４の右側の端子には、コンテンツ鍵復号部１７３から復号されたコンテンツ鍵Ｋｃが出力される。形式解析部１７１は、ライセンスデータの「Ａｃｃｅｓｓ  Ｃｏｎｄｉｔｉｏｎ」欄を参照して、コンテンツ鍵の複製が許可されるか否かを判定し、許可される場合はスイッチ１７４をオンにして利用情報及びコンテンツ鍵を二次利用ライセンス生成部１０９に出力し、禁止される場合はスイッチ１７４をオフにして利用情報及びコンテンツ鍵の出力を禁止する。
【００６１】
二次利用ライセンス生成部１０９は、取得した利用情報とコンテンツ鍵を用いて、図４に示したデータ構造の二次利用ライセンスデータを生成する。生成された二次利用ライセンスデータは、暗号エンジン１０３を介してストレージデバイス２５０に記録される。
【００６２】
図３及び図５に示した例では、一次利用ライセンスデータの生成時に、機器ＩＤをもとに生成された共通鍵によりコンテンツ鍵Ｋｃを暗号化して「ｂｉｎｄｅｄ  Ｋｃ」を生成し、一次利用ライセンスデータの利用時には、機器ＩＤをもとに生成された共通鍵により「ｂｉｎｄｅｄ  Ｋｃ」を復号してコンテンツ鍵Ｋｃを得た。別の例として、一次利用ライセンス生成部１０７のコンテンツ鍵暗号部１６３は、コンテンツ鍵Ｋｃに機器ＩＤなどを用いて所定の演算を施して、コンテンツ鍵Ｋｃを変換したデータを「ｂｉｎｄｅｄ  Ｋｃ」としてもよい。演算は、例えば、ビット単位で排他的論理和、論理和、論理積、否定論理和、否定論理積をとる演算などであってもよい。この場合、ライセンス判読部１０８のコンテンツ鍵復号部１７３は、一次利用ライセンスデータから得られる「ｂｉｎｄｅｄ  Ｋｃ」に、機器ＩＤを用いて、コンテンツ鍵暗号部１６３において施された演算の逆演算を施すことによりコンテンツ鍵Ｋｃを得ることができる。
【００６３】
コンテンツ鍵に機器ＩＤを紐付ける方式の更に別の例を説明する。図６は、一次利用ライセンス生成部１０７の別の構成例を示す。本図に示した一次利用ライセンス生成部１０７は、図３に示した一次利用ライセンス生成部１０７の構成に比べて、コンテンツ鍵暗号部１６３に代えて演算部１６６を含む。その他の構成は、図６に示した一次利用ライセンス生成部１０７と同様である。
【００６４】
本図の例では、乱数生成部１６１が生成した乱数がライセンスデータフォーマッタ１６４に伝達され、一次利用ライセンスデータに格納される。すなわち、この乱数が「ｂｉｎｄｅｄ  Ｋｃ」として扱われる。乱数は、演算部１６６にも伝達され、演算部１６６は、伝達された乱数に、ＩＤ整形部１６２により整形された機器ＩＤを用いた所定の演算を施すことにより、コンテンツ鍵Ｋｃを生成する。すなわち、コンテンツ鍵Ｋｃは、機器ＩＤを知らなければ得ることができない。
【００６５】
図７は、ライセンス判読部１０８の別の構成例を示す。このライセンス判読部１０８は、図６に示した一次利用ライセンス生成部１０７と対になっており、一次利用ライセンス生成部１０７として図６の構成を採用する場合は、ライセンス判読部１０８として図７の構成が採用される。本図に示したライセンス判読部１０８は、図５に示したライセンス判読部１０８の構成に比べて、コンテンツ鍵復号部１７３に代えて演算部１７６を含む。その他の構成は、図５に示したライセンス判読部１０８と同様である。
【００６６】
本図の例では、形式解析部１７１から演算部１７６に伝達される「ｂｉｎｄｅｄ  Ｋｃ」は、一次利用ライセンス生成部１０７の乱数生成部１６１により発生された乱数である。演算部１７６は、形式解析部１７１から伝達された乱数に、ＩＤ整形部１７２により整形された機器ＩＤを用いて、一次利用ライセンス生成部１０７の演算部１６６と同じ演算を施すことにより、コンテンツ鍵Ｋｃを得る。演算部１６６及び１７６において施される演算は任意でよく、例えば、排他的論理和、論理和、論理積、否定論理和、否定論理積などの演算であってもよい。また、演算部１６６及び１７６は、ＡＥＳなどの暗号方式の暗号器又は復号器であってもよく、機器ＩＤを暗号鍵又は復号鍵とみなして、乱数を暗号化又は復号する演算を施してもよい。
【００６７】
図８は、ストレージデバイス２００及び２５０の内部構成を示す。ストレージデバイス２００及び２５０は、主に、コントローラ２０１、ストレージインタフェース２０２、暗号エンジン２０３、耐タンパ記憶部２０４、通常データ記憶部２０５、及びそれらを電気的に接続するデータバス２１０を備える。
【００６８】
ストレージインタフェース２０２は、記録再生装置１００とのデータの入出力を制御する。暗号エンジン２０３は、コンテンツ鍵を含むライセンスデータなどの秘匿データを記録再生装置１００との間で入出力するための暗号通信の制御を行う。通常データ記憶部２０５は、暗号化されたコンテンツや通常のデータなどを記録する通常記憶領域である。耐タンパ記憶部２０４は、コンテンツ鍵を含むライセンスデータなどの秘匿データを記録する機密データ記憶領域である。通常データ記憶部２０５は、外部からの直接アクセスによりデータの入出力が行われるが、耐タンパ記憶部２０４は、暗号エンジン２０３を介さないとデータの入出力ができないように構成される。コントローラ２０１は、ストレージデバイス２００の構成要素を統括的に制御する。
【００６９】
つづいて、ライセンスデータをストレージデバイス２００又は２５０に記録するときの暗号通信について詳述する。以下に詳述するように、ライセンスデータを記録するたびに、記録先のストレージデバイスを認証し、正当なストレージデバイスのみにライセンスデータを記録するので、記録先がリムーバブルなストレージデバイスであっても、不正な複製を抑止することができる。以下、ストレージデバイス２００にライセンスデータを記録する場合について説明するが、ストレージデバイス２５０に記録する場合も同様である。
【００７０】
ここで、本実施の形態で用いる鍵について説明する。本実施の形態では、鍵はすべて大文字の「Ｋ」から始まる文字列として表記する。また、第２文字が小文字の「ｃ」、「ｓ」、「ｂ」のいずれかである場合は、対称鍵（共通鍵）を示す。詳しくは、「ｃ」はチャレンジ鍵であり、ライセンスデータの送信元で生成されるテンポラルな対称鍵を示す。「ｓ」はセッション鍵であり、ライセンスデータの送信先で生成されるテンポラルな対称鍵を示す。「ｂ」はバス鍵であり、ライセンスデータの送信先で生成されるテンポラルな対称鍵を示す。また、第２文字が大文字の「Ｐ」である場合は、公開鍵暗号方式の公開鍵を示す。この鍵には、対応する秘密鍵が必ず存在し、この秘密鍵は公開鍵の表記から第２文字の大文字の「Ｐ」を除く表記となる。
【００７１】
鍵を示す文字列が小文字の「ｄ」を含む場合は、装置のグループ毎に与えられた鍵であることを表す。また鍵を示す文字列が小文字の「ｐ」を含む場合は、装置毎に与えられた鍵であることを表す。それぞれ、公開鍵と秘密鍵の対として与えられ、グループ毎に与えられた公開鍵ＫＰｄｘは、電子署名付きの公開鍵証明書Ｃ［ＫＰｄｘ］として与えられている。
【００７２】
また、鍵を示す文字列の最後に記載される文字、たとえば、公開鍵ＫＰｄ２の「２」は、その鍵が与えられる暗号エンジンを識別するための記号である。本実施の形態では、提供先が明確な場合には、数字「１」、「２」、「３」と表記し、当該暗号エンジン以外から提供される鍵であって提供先が不明な場合あるいは特定しない場合には、「ｘ」、「ｙ」などの英文字によって表記する。本実施の形態では、ライセンスデータを書き込む時の記録再生装置１００の暗号エンジン１０３に対しては識別記号として「１」、ストレージデバイス２００の暗号エンジン２０３については識別記号として「２」、ライセンスデータを読み出す時の記録再生装置１００の暗号エンジン１０３に対しては識別記号として「３」を、それぞれ使用する。
【００７３】
図９は、図２に示した記録再生装置１００の暗号エンジン１０３の内部構成を示す。図９には、ライセンスデータをストレージデバイス２００へ送信するときに使用される構成のみを示している。ライセンスデータをストレージデバイス２００から受信するときに使用される構成は図１０に示す。暗号エンジン１０３は、証明書検証部１２０、乱数発生部１２１、第１暗号部１２２、第１復号部１２３、第２復号部１２４、第２暗号部１２５、第３復号部１２６、第３暗号部１２７、第４暗号部１２８、証明書出力部１２９、制御部１３０、ログ記憶部１３１、およびこれらの構成要素の少なくとも一部を電気的に接続するローカルバス１３３を備える。
【００７４】
証明書検証部１２０は、ストレージデバイス２００から取得した証明書Ｃ［ＫＰｄ２］を検証する。証明書Ｃ［ＫＰｄ２］は、公開鍵ＫＰｄ２を含む平文の情報（以下、「証明書本体」と称す）と、証明書本体に対して付される電子署名からなる。この電子署名は、証明書本体に対してハッシュ関数による演算（以下、この演算処理を「ハッシュ演算」と称す）を施した結果を、第三者機関である認証局（図示せず）のルート鍵Ｋａによって暗号化したデータである。ルート鍵Ｋａは、認証局によって厳重に管理されている非公開な鍵であり、認証局の秘密鍵となる。証明書検証部１２０は、このルート鍵Ｋａと対をなす検証鍵ＫＰａを保持している。この検証鍵ＫＰａは証明書の正当性を検証する公開鍵である。証明書の検証は、証明書の正当性と証明書の有効性によって判断する。
【００７５】
証明書の正当性の確認は、検証すべき証明書の証明書本体に対するハッシュ関数の演算結果と、検証鍵ＫＰａで電子署名を復号した結果を比較する処理であり、両者が一致したとき、正当であると判断する。証明書検証部１２０は、無効となった証明書のリストである証明書破棄リスト（Certificate Revocation List：ＣＲＬと呼ぶ）を保持し、このＣＲＬに検証すべき証明書が記載されていない場合に有効であると判断する。このように、証明書の正当性と有効性を判断し、正当な証明書を承認する処理を検証と称す。
【００７６】
証明書検証部１２０は、検証に成功すると、ストレージデバイス２００の公開鍵ＫＰｄ２を取り出して第１暗号部１２２に伝達し、検証結果を通知する。検証に失敗した場合には、検証エラー通知を出力する。
【００７７】
証明書出力部１２９は、記録再生装置１００の証明書Ｃ［ＫＰｄ１］を出力する。この証明書は、記録再生装置１００の公開鍵ＫＰｄ１を含む証明書本体と、証明書本体に対して付される電子署名からなる。電子署名は、ストレージデバイス２００の証明書と同様に、認証局のルート鍵Ｋａにより暗号化される。
【００７８】
乱数発生部１２１は、ストレージデバイス２００との間で暗号通信を行うために一時的に使用されるチャレンジ鍵Ｋｃ１、バス鍵Ｋｂ１を生成する。暗号通信を行う度に、乱数によりチャレンジ鍵Ｋｃ１を生成することで、チャレンジ鍵Ｋｃ１を見破られる可能性を最小限に抑えることができる。生成されたチャレンジ鍵Ｋｃ１は、第１暗号部１２２と第１復号部１２３に伝達され、バス鍵Ｋｂ１は、第２暗号部１２５及び第３復号部１２６に伝達される。
【００７９】
第１暗号部１２２は、ストレージデバイス２００にチャレンジ鍵Ｋｃ１を通知するために、証明書検証部１２０により取り出されたストレージデバイス２００の公開鍵ＫＰｄ２でチャレンジ鍵Ｋｃ１を暗号化して、暗号化チャレンジ鍵Ｅ（ＫＰｄ２，Ｋｃ１）を生成する。そして、暗号化チャレンジ鍵Ｅ（ＫＰｄ２，Ｋｃ１）は、証明書出力部１２９から出力された証明書Ｃ［ＫＰｄ１］と結合され、第１チャレンジ情報Ｅ（ＫＰｄ２，Ｋｃ１）｜｜Ｃ［ＫＰｄ１］とされる。
【００８０】
ここで、記号「｜｜」は、データの連結を示し、Ｅ（ＫＰｄ２，Ｋｃ１）｜｜Ｃ［ＫＰｄ１］は、暗号化チャレンジ鍵Ｅ（ＫＰｄ２，Ｋｃ１）と証明書Ｃ［ＫＰｄ１］を並べて結合したデータ列を示す。また、Ｅは暗号化関数を示し、Ｅ（ＫＰｄ２，Ｋｃ１）は、公開鍵ＫＰｄ２でチャレンジ鍵Ｋｃ１を暗号化したものであることを示す。
【００８１】
第１復号部１２３は、チャレンジ鍵Ｋｃ１で暗号化されたデータを復号する。ストレージデバイス２００が内部に個別かつ秘密裏に保持する秘密鍵Ｋｐ２と対をなす公開鍵ＫＰｐ２と、ストレージデバイス２００を一意に識別できるユニークな識別情報ＤＩＤを暗号化した第２チャレンジ情報Ｅ（Ｋｃ１，Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ））がストレージデバイス２００から供給されるため、第１復号部１２３は、乱数発生部１２１が生成したチャレンジ鍵Ｋｃ１を用いて第２チャレンジ情報を復号して、暗号データＥ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ）を取り出す。
【００８２】
第２復号部１２４は、自身の公開鍵ＫＰｄ１で暗号化されたデータを、内部の秘密裏に保持する秘密鍵Ｋｄ１で復号する。第２復号部１２４は、第１復号部１２３から伝達された暗号データＥ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ）を復号し、ストレージデバイス２００の公開鍵ＫＰｐ２と識別情報ＤＩＤを取り出す。
【００８３】
第２暗号部１２５は、ストレージデバイス２００にバス鍵Ｋｂ１を通知するために、ストレージデバイス２００の公開鍵ＫＰｐ２で暗号化して、暗号化バス鍵Ｅ（ＫＰｐ２，Ｋｂ１）を生成する。暗号化バス鍵は、コネクション情報Ｅ（ＫＰｐ２，Ｋｂ１）として、ストレージデバイス２００に提供される。
【００８４】
第３復号部１２６は、バス鍵Ｋｂ１で暗号化されたデータを復号する。ストレージデバイス２００で発行されたセッション鍵Ｋｓ２は、セッション情報Ｅ（Ｋｂ１，Ｋｓ２）としてストレージデバイス２００から供給されるため、第３復号部１２６は、乱数発生部１２１が生成したバス鍵Ｋｂ１を用いてセッション情報を復号し、セッション鍵Ｋｓ２を取り出す。取り出されたセッション鍵Ｋｓ２は、第４暗号部１２８へ伝達される。
【００８５】
第３暗号部１２７は、一次利用ライセンス生成部１０７又は二次利用ライセンス生成部１０９が生成したライセンスデータＬＩＣを取得し、そのライセンスデータＬＩＣをストレージデバイス２００の公開鍵ＫＰｐ２で暗号化し、Ｅ（ＫＰｐ２，ＬＩＣ）を生成する。そして、生成されたＥ（ＫＰｐ２，ＬＩＣ）は、第４暗号部１２８に伝達される。
【００８６】
第４暗号部１２８は、第３暗号部１２７から伝達されたＥ（ＫＰｐ２，ＬＩＣ）を、さらに、ストレージデバイス２００で発行されたセッション鍵Ｋｓ２により暗号化し、暗号化ライセンスデータＥ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＣ））を生成する。
【００８７】
ログ記憶部１３１は、第２復号部１２４から伝達されたストレージデバイス２００の識別情報ＤＩＤと、ストレージデバイス２００に対して出力するライセンスデータＬＩＣと、これを記録予定のストレージデバイス２００のアドレスデータＡＤＲとを、関係付けて静的に記憶する。なお、ログ記憶部１３１に記憶されているライセンスデータＬＩＣは、所定の手続きを経たアクセスに対して、暗号化された状態でのみ出力される。
【００８８】
制御部１３０は、記録再生装置１００のコントローラ１０１の指示に従って暗号エンジン１０３内部の構成要素の制御および外部の構成との間でデータの入出力を仲介する。なお、図９では、制御部１３０による内部の各構成要素への制御を示す結線は省略されている。
【００８９】
図９の如く、本実施の形態では、制御部１３０を介さないと、暗号エンジン１０３は外部とデータの交換ができない構成となっている。各構成要素を接続する形態については、種々考えられるが、本実施の形態では、乱数発生部１２１が生成するチャレンジ鍵Ｋｃ１、ストレージデバイス２００から受け取ったセッション鍵Ｋｓ２、自身の秘密鍵Ｋｄ１などの暗号エンジン１０３内で使用される各鍵が、暗号エンジン１０３の外部に直接流出しないように構成している。これにより、暗号エンジン１０３内で使用される各鍵が、記録再生装置１００の他の構成要素などを介して外部に漏洩することを防ぎ、セキュリティ性を向上させている。
【００９０】
図１０は、図２に示した記録再生装置１００の暗号エンジン１０３の内部構成を示す。図１０には、ライセンスデータをストレージデバイス２００から受信するときに使用される構成のみを示している。暗号エンジン１０３は、証明書出力部３２０、乱数発生部３２１、証明書検証部３２２、第１復号部３２３、第１暗号部３２４、第２暗号部３２５、第２復号部３２６、第３暗号部３２７、第３復号部３２８、第４復号部３２９、制御部３３０、ログ記憶部３３３、及びこれらの構成要素の少なくとも一部を電気的に接続するローカルバス３３４を備える。
【００９１】
証明書出力部３２０は、記録再生装置１００の証明書Ｃ［ＫＰｄ３］を出力する。証明書は、証明書出力部３２０が保持してもよいし、図示しない証明書保持部に保持しておき、それを読み出してもよい。証明書は、記録再生装置１００の公開鍵ＫＰｄ３を含む証明書本体と、証明書本体に対して付される電子署名からなる。電子署名は、ストレージデバイス２００の証明書と同様に、認証局のルート鍵Ｋａにより暗号化される。なお、証明書Ｃ［ＫＰｄ３］は、証明書Ｃ［ＫＰｄ１］と同一であってもよい。
【００９２】
乱数発生部３２１は、ストレージデバイス２００との間で暗号通信を行うために一時的に使用されるセッション鍵Ｋｓ３を生成する。生成されたセッション鍵Ｋｓ３は、第３暗号部３２７、第３復号部３２８に伝達される。
【００９３】
証明書検証部３２２は、ストレージデバイス２００の証明書Ｃ［ＫＰｄ２］の検証を行う。検証の詳細は、上述したとおりである。
【００９４】
第１復号部３２３は、公開鍵ＫＰｄ３によって暗号化されたデータを秘密鍵Ｋｄ３で復号する。再生時には、ストレージデバイス２００で発行されたチャレンジ鍵Ｋｃ２は、記録再生装置１００の公開鍵ＫＰｄ３により暗号化されてストレージデバイス２００から供給されるため、第１復号部３２３は、自身の秘密鍵Ｋｄ３によりこれを復号し、チャレンジ鍵Ｋｃ２を取り出す。取り出されたチャレンジ鍵Ｋｃ２は、第２暗号部３２５に伝達される。
【００９５】
第１暗号部３２４は、ストレージデバイス２００の証明書Ｃ［ＫＰｄ２］から取り出された公開鍵ＫＰｄ２でデータの暗号化を行う。内部に秘密裏に保持する記録再生装置１００に固有の秘密鍵Ｋｐ３と対をなす公開鍵ＫＰｐ３をストレージデバイス２００に通知するために、暗号化固有公開鍵Ｅ（ＫＰｄ２，ＫＰｐ３）を生成する。生成した暗号化固有公開鍵Ｅ（ＫＰｄ２，ＫＰｐ３）は、第２暗号部３２５に伝達される。
【００９６】
第２暗号部３２５は、第１復号部３２３により取り出されたチャレンジ鍵Ｋｃ２で、データの暗号化を行う。第１暗号部３２４から伝達された暗号化固有公開鍵Ｅ（ＫＰｄ２，ＫＰｐ３）を暗号化して第２チャレンジ情報Ｅ（Ｋｃ２，Ｅ（ＫＰｄ２，ＫＰｐ３））を生成する。
【００９７】
第２復号部３２６は、公開鍵ＫＰｐ３で暗号化されたデータを復号する。ストレージデバイス２００から提供されたコネクション情報Ｅ（ＫＰｐ３，Ｋｂ２｜｜ＤＩＤ）を、公開鍵ＫＰｐ３と対をなす秘密鍵Ｋｐ３で復号し、ストレージデバイス２００で発行されたバス鍵Ｋｂ２と、ストレージデバイスを一意に特定できる識別情報ＤＩＤを取り出す。
【００９８】
第３暗号部３２７は、乱数発生部３２１で生成したセッション鍵Ｋｓ３をストレージデバイス２００に提供するために、第２復号部３２６で取り出したストレージデバイス２００が発行したバス鍵Ｋｂ２で暗号化して、セッション情報Ｅ（Ｋｂ２，Ｋｓ３）を生成する。
【００９９】
第３復号部３２８は、セッション鍵Ｋｓ３で暗号化されたデータを復号する。ライセンスデータＬＩＣは、公開鍵ＫＰｐ３およびセッション鍵Ｋｓ３により２重に暗号化された暗号化ライセンスデータＥ（Ｋｓ３，Ｅ（ＫＰｐ３，ＬＩＣ））としてストレージデバイス２００から供給されるため、第３復号部３２８は、乱数発生部３２１が生成するセッション鍵Ｋｓ３により復号を行い、その結果である暗号化ライセンスデータＥ（ＫＰｐ３，ＬＩＣ）を第４復号部３２９に伝達する。
【０１００】
第４復号部３２９は、公開鍵ＫＰｐ３で暗号化されたデータの復号を行う。公開鍵ＫＰｐ３と対をなす秘密鍵Ｋｐ３で、第３復号部３２８の復号結果である暗号化ライセンスデータＥ（ＫＰｐ３，ＬＩＣ）を復号し、ライセンスデータＬＩＣを取り出す。
【０１０１】
ログ記憶部３３３は、第２復号部３２６から伝達されたストレージデバイス２００の識別情報ＤＩＤ、およびストレージデバイス２００から受け取る予定のライセンスデータＬＩＣの識別情報ＬＩＤと当該ライセンスデータが格納されているストレージデバイス２００のアドレスデータＡＤＲを、関係付けて静的に記憶する。ライセンスデータＬＩＣが利用されると、当該ライセンスデータのＬＩＤおよびＡＤＲは削除される。
【０１０２】
制御部３３０は、記録再生装置１００のコントローラ１０１の指示に従って暗号エンジン１０３の内部の構成要素の制御および外部の構成との間でデータの入出力を仲介する。尚、図１０では、制御部３３０による内部の各構成要素への制御を示す結線は省略されている。
【０１０３】
図１０に示す暗号エンジン１０３においても、各構成要素を接続する形態については、種々考えられるが、本実施の形態では、制御部３３０を介さないと、暗号エンジン１０３は外部とデータの交換ができない構成となっている。これにより、乱数発生部３２１が生成したセッション鍵Ｋｓ３、公開鍵と対をなしている秘密鍵Ｋｄ３およびＫｐ３、ストレージデバイス２００から受け取ったバス鍵Ｋｂ２、チャレンジ鍵Ｋｃ２などの暗号エンジン１０３内で使用される鍵が外部に漏洩されることを防ぐ。
【０１０４】
図１１は、図８に示したストレージデバイス２００の暗号エンジン２０３の内部構成を示す。暗号エンジン２０３は、制御部２２０、乱数発生部２２１、証明書出力部２２２、証明書検証部２２３、第１復号部２２４、第１暗号部２２５、第２暗号部２２６、第２復号部２２７、第３暗号部２２８、第３復号部２２９、第４復号部２３０、第４暗号部２３１、第５復号部２３２、第６復号部２３３、第５暗号部２３４、第７復号部２３５、第６暗号部２３６、第７暗号部２３７、及びこれらの構成要素の少なくとも一部を電気的に接続するローカルバス２４０を備える。
【０１０５】
制御部２２０は、ストレージデバイス２００のコントローラ２０１の指示に従って暗号エンジン２０３の内部の構成の制御および外部の構成との間でデータの入出力を仲介する。
【０１０６】
乱数発生部２２１は、記録再生装置１００との間の暗号通信に一時的に使用されるセッション鍵Ｋｓ２、チャレンジ鍵Ｋｃ２、バス鍵Ｋｂ２を、乱数演算によって生成する。各鍵の用途については、追って説明する。
【０１０７】
証明書出力部２２２は、ストレージデバイス２００の証明書Ｃ［ＫＰｄ２］を出力する。証明書は、証明書出力部２２２が保持してもよいし、ストレージデバイス２００の所定の記憶領域、たとえば耐タンパ記憶部２０４に保持しておき、それを読み出してもよい。証明書は、ストレージデバイス２００の公開鍵ＫＰｄ２を含む証明書本体と、証明書本体に付された電子署名とを含む。電子署名は、認証局のルート鍵Ｋａにより暗号化される。
【０１０８】
証明書検証部２２３は、外部から提供された証明書の検証を行う。具体的には、記録再生装置１００から取得した証明書Ｃ［ＫＰｄ１］およびＣ［ＫＰｄ３］を検証鍵ＫＰａにより検証する。検証の詳細は、上記のとおりである。
【０１０９】
第１復号部２２４は、自身の公開鍵ＫＰｄ２で暗号化されたデータを復号する。具体的には、記録時には、記録再生装置１００で発行されたチャレンジ鍵Ｋｃ１が、ストレージデバイス２００の公開鍵ＫＰｄ２で暗号化されて記録再生装置１００から供給されるため、これを自身の秘密鍵Ｋｄ２で復号し、チャレンジ鍵Ｋｃ１を取り出す。取り出されたチャレンジ鍵Ｋｃ１は、第２暗号部２２６に伝達される。
【０１１０】
第１暗号部２２５は、記録再生装置１００の公開鍵ＫＰｄ１でデータを暗号化する。具体的には、ストレージデバイス２００が個別に保持する公開鍵ＫＰｐ２とストレージデバイスを識別するための識別情報ＤＩＤとを結合した個別情報を暗号化した暗号化個別情報Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ）を生成する。ここで用いる記録再生装置１００の公開鍵ＫＰｄ１は、制御部２２０によってストレージデバイス２００の証明書Ｃ［ＫＰｄ１］内から取り出され、ローカルバス２４０を介して伝達される。
【０１１１】
第２暗号部２２６は、記録再生装置１００が発行したチャレンジ鍵Ｋｃ１でデータを暗号化する。具体的には、第１暗号部２２５から受け取った暗号化個別情報Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ）をチャレンジ鍵Ｋｃ１で暗号化し、第２チャレンジ情報Ｅ（Ｋｃ１，Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ））を生成する。
【０１１２】
第２復号部２２７は、自身の公開鍵ＫＰｐ２で暗号化されたデータを復号する。第２復号部２２７は、記録再生装置１００から提供されるコネクション情報Ｅ（ＫＰｐ２，Ｋｂ１）を、公開鍵ＫＰｐ２と対をなす秘密鍵Ｋｐ２で復号し、取り出したバス鍵Ｋｂ１を第３暗号部２２８に伝達する。
【０１１３】
第３暗号部２２８は、バス鍵Ｋｂ１でデータを暗号化する。具体的には、乱数発生部２２１が生成したセッション鍵Ｋｓ２をバス鍵Ｋｂ１で暗号化し、セッション情報Ｅ（Ｋｂ１，Ｋｓ２）を生成する。
【０１１４】
第３復号部２２９は、乱数発生部２２１が生成したセッション鍵Ｋｓ２で暗号化されたデータを復号する。具体的には、記録再生装置１００から、ライセンスデータＬＩＣを、公開鍵ＫＰｐ２およびセッション鍵Ｋｓ２により２重に暗号化されたＥ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＣ））として受け取り、これをセッション鍵Ｋｓ２により復号し、結果を第４復号部２３０に伝達する。
【０１１５】
第４復号部２３０は、自身の公開鍵ＫＰｐ２で暗号化されたデータを復号する。第３復号部２２９から伝達されるライセンスデータＥ（ＫＰｐ２，ＬＩＣ）を、公開鍵ＫＰｐ２と対をなす自身の秘密鍵Ｋｐ２で復号し、ライセンスデータＬＩＣを取り出す。
【０１１６】
取り出されたライセンスデータＬＩＣは、ローカルバス２４０、制御部２２０を介して、データバス２１０に供給され、コントローラ２０１の指示に従って、耐タンパ記憶部２０４に記憶される。
【０１１７】
第４暗号部２３１は、ライセンス利用装置３００の公開鍵ＫＰｄ３でデータを暗号化する。具体的には、ライセンス利用装置３００に対してライセンスデータＬＩＣを提供する場合、記録再生装置１００から受け取った証明書Ｃ［ＫＰｄ３］から取り出された公開鍵ＫＰｄ３で、乱数発生部２２１が発行するチャレンジ鍵Ｋｃ２を暗号化し、暗号化チャレンジ鍵Ｅ（ＫＰｄ３，Ｋｃ２）を生成する。生成された暗号化チャレンジ鍵Ｅ（ＫＰｄ３，Ｋｃ２）は、ローカルバス２４０を介して制御部２２０へ伝達される。制御部２２０では、これと証明書出力部２２２から出力される自身の証明書Ｃ［ＫＰｄ２］とを結合して、第１チャレンジ情報Ｅ（ＫＰｄ３，Ｋｃ２）｜｜Ｃ［ＫＰｄ２］を生成し、記録再生装置１００に出力する。
【０１１８】
第５復号部２３２は、乱数発生部２２１が発行したチャレンジ鍵Ｋｃ２で暗号化されたデータを復号する。記録再生装置１００から受け取った第２チャレンジ情報Ｅ（Ｋｃ２，Ｅ（ＫＰｄ２，ＫＰｐ３））を、乱数発生部２２１が生成したチャレンジ鍵Ｋｃ２で復号し、取り出された暗号化個別公開鍵Ｅ（ＫＰｄ２，ＫＰｐ３）は第６復号部２３３に伝達される。
【０１１９】
第６復号部２３３は、自身の公開鍵ＫＰｄ２で暗号化されたデータを復号する。具体的には、第５復号部２３２から伝達された暗号化個別公開鍵Ｅ（ＫＰｄ２，ＫＰｐ３）を、自身の秘密鍵Ｋｄ２で復号し、記録再生装置１００の公開鍵ＫＰｐ３を取り出す。取り出された公開鍵ＫＰｐ３は、第５暗号部２３４と第６暗号部２３６に伝達される。
【０１２０】
第５暗号部２３４は、記録再生装置１００の公開鍵ＫＰｐ３でデータを暗号化する。乱数発生部２２１が生成したバス鍵Ｋｂ２と自身の識別情報ＤＩＤを結合し、このデータを暗号化して、コネクション情報Ｅ（ＫＰｐ３，Ｋｂ２｜｜ＤＩＤ）を生成する。
【０１２１】
第７復号部２３５は、バス鍵Ｋｂ２で暗号化されたデータを復号する。記録再生装置１００から提供されたセッション情報Ｅ（Ｋｂ２，Ｋｓ３）を復号して、記録再生装置１００が発行したセッション鍵Ｋｓ３を取り出し、取り出されたセッション鍵Ｋｓ３は、第７暗号部２３７に伝達される。
【０１２２】
第６暗号部２３６は、記録再生装置１００の公開鍵ＫＰｐ３でデータを暗号化する。記録再生装置１００に対してライセンスデータを提供する場合、記録再生装置１００から受け取った公開鍵ＫＰｐ３で、ライセンスデータＬＩＣを暗号化する。このライセンスデータＬＩＣは、コントローラ２０１の指示に従って、耐タンパ記憶部２０４から読み出され、データバス２１０、制御部２２０およびローカルバス２４０を介して第６暗号部２３６に伝達される。ここで、暗号化されたライセンスデータＥ（ＫＰｐ３，ＬＩＣ）は、第７暗号部２３７に伝達される。
【０１２３】
第７暗号部２３７は、記録再生装置１００が発行したセッション鍵Ｋｓ３でデータを暗号化する。具体的には、セッション鍵Ｋｓ３で、第６暗号部２３６において暗号化されたライセンスデータＥ（ＫＰｐ３，ＬＩＣ）を、さらに暗号化し、暗号化ライセンスデータＥ（Ｋｓ３，Ｅ（ＫＰｐ３，ＬＩＣ））を生成する。
【０１２４】
図１２及び図１３は、記録再生装置１００がストレージデバイス２００にライセンスデータＬＩＣを記録するまでの手順を示す。この記録処理では、記録再生装置１００の暗号エンジン１０３とストレージデバイス２００の暗号エンジン２０３との間で暗号通信路が構築され、その暗号通信路によってライセンスデータＬＩＣが記録再生装置１００からストレージデバイス２００に送信される。図は、記録再生装置１００の暗号エンジン１０３、記録再生装置１００のコントローラ１０１、ストレージデバイス２００の暗号エンジン２０３の処理を示している。
【０１２５】
まず、記録再生装置１００のコントローラ１０１は、ストレージデバイス２００に対して証明書出力命令を発行する（Ｓ１０２）。コントローラ２０１は、証明書出力命令を正常に受理する（Ｓ１０４）と、暗号エンジン２０３に証明書の出力を命じ、暗号エンジン２０３から証明書Ｃ［ＫＰｄ２］を読み出してコントローラ１０１へ出力する（Ｓ１０６）。コントローラ１０１は、ストレージデバイス２００から証明書Ｃ［ＫＰｄ２］を取得すると、それを暗号エンジン１０３へ送信する（Ｓ１０８）。
【０１２６】
暗号エンジン１０３の制御部１３０は、ストレージデバイス２００から発行された証明書Ｃ［ＫＰｄ２］を受信すると（Ｓ１１０）、それを暗号エンジン１０３に伝達し、証明書検証部１２０は、認証鍵ＫＰａで証明書を検証する（Ｓ１１２）。
【０１２７】
証明書が承認されなかった場合（Ｓ１１２のＮ）、証明書検証部１２０はエラーを制御部１３０に伝達する。エラーを伝達された制御部１３０は、検証エラー通知をコントローラ１０１に送信する（Ｓ１９０）。コントローラ１０１は、エラー通知を受信すると（Ｓ１９２）、処理を異常終了する。
【０１２８】
証明書が承認された場合（Ｓ１１２のＹ）、制御部１３０は、乱数発生部１２１にてチャレンジ鍵Ｋｃ１を生成する。そして、生成したチャレンジ鍵Ｋｃ１を第１暗号部１２２および第１復号部１２３に伝達する。第１復号部１２３では、このチャレンジ鍵Ｋｃ１を内部に保持する（Ｓ１１４）。また、第１暗号部１２２では、このチャレンジ鍵Ｋｃ１を、証明書Ｃ［ＫＰｄ２］から取り出したストレージデバイス２００の公開鍵ＫＰｄ２で暗号化し、暗号化チャレンジ鍵Ｅ（ＫＰｄ２，Ｋｃ１）を生成する。そして、生成した暗号化チャレンジ鍵Ｅ（ＫＰｄ２，Ｋｃ１）と証明書出力部１２９から出力される自身の証明書Ｃ［ＫＰｄ１］とを結合し、第１チャレンジ情報Ｅ（ＫＰｄ２，Ｋｃ１）｜｜Ｃ［ＫＰｄ１］を生成し、これをコントローラ１０１へ送信する（Ｓ１１６）。
【０１２９】
コントローラ１０１は、暗号エンジン１０３から第１チャレンジ情報Ｅ（ＫＰｄ２，Ｋｃ１）｜｜Ｃ［ＫＰｄ１］を受信すると（Ｓ１１８）、ストレージデバイス２００に対して第１チャレンジ情報検証命令を発行する（Ｓ１２０）。ストレージデバイス２００では、コントローラ２０１が第１チャレンジ情報検証命令を受理すると、第１チャレンジ情報Ｅ（ＫＰｄ２，Ｋｃ１）｜｜Ｃ［ＫＰｄ１］の入力をコントローラ１０１に要求する（Ｓ１２２）。コントローラ１０１は、この要求に応じて第１チャレンジ情報Ｅ（ＫＰｄ２，Ｋｃ１）｜｜Ｃ［ＫＰｄ１］をストレージデバイス２００へ出力する（Ｓ１２４）。
【０１３０】
ストレージデバイス２００は、第１チャレンジ情報Ｅ（ＫＰｄ２，Ｋｃ１）｜｜Ｃ［ＫＰｄ１］を受理すると（Ｓ１２６）、暗号エンジン２０３では、制御部２２０が、第１チャレンジ情報Ｅ（ＫＰｄ２，Ｋｃ１）｜｜Ｃ［ＫＰｄ１］から証明書Ｃ［ＫＰｄ１］を取り出し、これを証明書検証部２２３に伝達する。証明書検証部２２３は、伝達された証明書Ｃ［ＫＰｄ１］を検証鍵ＫＰａで検証し、検証結果を制御部２２０に伝達する（Ｓ１２８）。
【０１３１】
証明書が承認されなかった場合（Ｓ１２８のＮ）、証明書検証部２２３は検証エラー通知を制御部２２０へ通知し、検証エラー通知を受けた制御部２２０はこれをコントローラ２０１へ通知する。そしてコントローラ２０１は、受信した検証エラー通知を、ストレージインタフェース２０２を介してコントローラ１０１に送信する（Ｓ１９４）。コントローラ１０１は、検証エラー通知を受信すると（Ｓ１９２）、本処理を異常終了する。
【０１３２】
証明書が承認された場合（Ｓ１２８のＹ）、制御部２２０は、第１チャレンジ情報Ｅ（ＫＰｄ２，Ｋｃ１）｜｜Ｃ［ＫＰｄ１］から、公開鍵ＫＰｄ１と暗号化チャレンジ鍵Ｅ（ＫＰｄ２，Ｋｃ１）を取り出し、それぞれ第１暗号部２２５、第１復号部２２４に伝達する。第１暗号部２２５は、伝達された公開鍵ＫＰｄ１を保持する。第１復号部２２４は、伝達された暗号化チャレンジ鍵Ｅ（ＫＰｄ２，Ｋｃ１）を自身の秘密鍵Ｋｄ２で復号し、チャレンジ鍵Ｋｃ１を取り出す（Ｓ１３０）。取り出されたチャレンジ鍵Ｋｃ１は、第２暗号部２２６に伝達される。
【０１３３】
一方、コントローラ１０１は、ストレージデバイス２００において第１チャレンジ情報検証命令の処理が終了すると、ストレージデバイス２００に対して、第２チャレンジ情報生成命令を発行する（Ｓ１３２）。ストレージデバイス２００では、コントローラ２０１が第２チャレンジ情報生成命令を受理する（Ｓ１３４）と、暗号エンジン２０３では制御部２２０の指示に従って、第１暗号部２２５が、自身が秘密裏に保持する秘密鍵Ｋｐ２と対をなす公開鍵ＫＰｐ２と、自身の識別情報ＤＩＤを連結したデータを、公開鍵ＫＰｄ１で暗号化して暗号化個別情報Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ）を生成し、これを第２暗号部２２６に伝達する。第２暗号部２２６は、暗号化個別情報Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ）を、Ｓ１３０で保持したチャレンジ鍵Ｋｃ１で暗号化して第２チャレンジ情報Ｅ（Ｋｃ１，Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ））を生成する（Ｓ１３６）。
【０１３４】
コントローラ１０１では、ストレージデバイス２００において第２チャレンジ情報生成命令の処理が終了すると、第２チャレンジ情報出力命令を発行する（Ｓ１３８）。ストレージデバイス２００では、第２チャレンジ情報出力命令を受理する（Ｓ１４０）と、コントローラ２０１が、暗号エンジン２０３から第２チャレンジ情報Ｅ（Ｋｃ１，Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ））を読み出し、コントローラ１０１へ出力する（Ｓ１４２）。コントローラ１０１は、ストレージデバイス２００から第２チャレンジ情報Ｅ（Ｋｃ１，Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ））を受信すると、これを暗号エンジン１０３に送信する（Ｓ１４４）。
【０１３５】
暗号エンジン１０３の制御部１３０は、第２チャレンジ情報Ｅ（Ｋｃ１，Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ））を受信すると、第１復号部１２３に伝達する。第１復号部１２３は、内部に保持したチャレンジ鍵Ｋｃ１で、伝達された第２チャレンジ情報Ｅ（Ｋｃ１，Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ））を復号し、暗号化個別情報Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ）を取り出し、第２復号部１２４に伝達する。第２復号部１２４は、これを自身の秘密鍵Ｋｄ１で復号してストレージデバイスの公開鍵ＫＰｐ２と識別情報ＤＩＤを取り出し、公開鍵ＫＰｐ２を第２暗号部１２５と第３暗号部１２７に、識別情報ＤＩＤを制御部１３０へ伝達する（Ｓ１４６）。
【０１３６】
制御部１３０は、識別情報ＤＩＤを受け取ると、ログ記憶部１３１に記録されている識別情報ＤＩＤと比較する（Ｓ１５０）。このときログ記憶部１３１には、直前に接続していたストレージデバイスの識別情報ＤＩＤが記録されている。一致した場合（Ｓ１５０のＹ）、前回と同じストレージデバイスであると判断し、ログ記憶部１３１の記録を残したままＳ１５４へ進む。一致しない場合（Ｓ１５０のＮ）、ストレージデバイスが交換されていると判断する。このとき、ログ記憶部１３１に記録されている内容は意味をなさなくなる。そこで、ログ記憶部１３１に記録されている内容を削除し、新たにＳ１４６で取得した識別情報ＤＩＤを記録する（Ｓ１５２）。このようにして、ストレージデバイス２００に対するライセンスデータＬＩＣの転送におけるリカバリーに必要な情報をログ記憶部１３１に保持する準備が整ったことになる。そして、Ｓ１５４に進む。
【０１３７】
制御部１３０は、乱数発生部１２１にてバス鍵Ｋｂ１を生成させ、保持する（Ｓ１５４）。そして、保持したバス鍵Ｋｂ１を第２暗号部１２５及び第３復号部１２６に伝達する。第２暗号部１２５では、このバス鍵Ｋｂ１を、Ｓ１４６で取得したストレージデバイスの公開鍵ＫＰｐ２で暗号化し、コネクション情報Ｅ（ＫＰｐ２，Ｋｂ１）を生成する。そして、生成したコネクション情報Ｅ（ＫＰｐ２，Ｋｂ１）をコントローラ１０１へ送信する（Ｓ１５６）。
【０１３８】
コントローラ１０１は、暗号エンジン１０３からコネクション情報Ｅ（ＫＰｐ２，Ｋｂ１）を受信すると（Ｓ１５８）、ストレージデバイス２００に対してコネクション情報入力命令を発行する（Ｓ１６０）。ストレージデバイス２００では、コントローラ２０１がコネクション情報入力命令を受理すると、コネクション情報Ｅ（ＫＰｐ２，Ｋｂ１）の入力をコントローラ１０１に要求する（Ｓ１６２）。コントローラ１０１は、この要求に応じてコネクション情報Ｅ（ＫＰｐ２，Ｋｂ１）をストレージデバイス２００へ出力する（Ｓ１６４）。
【０１３９】
ストレージデバイス２００は、コネクション情報Ｅ（ＫＰｐ２，Ｋｂ１）を受理すると、暗号エンジン２０３では、第２復号部２２７が、コネクション情報Ｅ（ＫＰｐ２，Ｋｂ１）を、内部に保持する自身の秘密鍵Ｋｐ２で復号して、バス鍵Ｋｂ１を取り出し（Ｓ１６６）、これを内部に保持する（Ｓ１６８）。保持されたバス鍵Ｋｂ１は、第３暗号部２２８に伝達される。ここまでの手順において、暗号エンジン１０３と暗号エンジン２０３の間で、バス鍵Ｋｂ１が共有された。
【０１４０】
一方、コントローラ１０１は、ストレージデバイス２００においてコネクション情報入力命令の処理が終了すると、通常のライセンスデータの書込転送処理（ＬＩＣライト転送処理）を行うためＳ１８０に進む。そして、ライセンスデータＬＩＣの書込を行う（Ｓ１８０）。ライセンスデータの書込転送処理（ＬＩＣライト転送処理）については、後に詳細に説明する。
【０１４１】
コントローラ１０１は、Ｓ１８０が終了すると、新たなライセンスデータＬＩＣを書き込むか否か判断する（Ｓ１８２）。新たなライセンスデータＬＩＣをストレージデバイス２００に書き込む場合（Ｓ１８２のＹ）、再びＳ１８０に戻ってライセンスデータの書込を行う。新たなライセンスデータＬＩＣの書込を行わない場合（Ｓ１８２のＮ）、処理を終了する。
【０１４２】
図１４は、図１３におけるライセンスデータの書込転送処理（ＬＩＣライト転送処理）のフローチャートである。本フローチャートに示す処理の前に、暗号エンジン１０３とストレージデバイス２００（暗号エンジン２０３）はバス鍵Ｋｂ１を共有し、暗号エンジン１０３はストレージデバイス２００の公開鍵ＫＰｐ２を保持し、かつ、暗号エンジン１０３のログ記憶部１３１にはストレージデバイス２００の識別情報ＤＩＤが記録されている。
【０１４３】
コントローラ１０１は、ストレージデバイス２００に対して、セッション情報生成命令を発行する（Ｓ２００）。ストレージデバイス２００では、コントローラ２０１がセッション情報生成命令を受理する（Ｓ２０２）と、暗号エンジン２０３では制御部２２０の指示に従って、乱数発生部２２１がセッション鍵Ｋｓ２を生成し、生成したセッション鍵Ｋｓ２を、第３暗号部２２８、第３復号部２２９に伝達する（Ｓ２０４）。続いて、第３暗号部２２８は、バス鍵Ｋｂ１で、伝達されたセッション鍵Ｋｓ２を暗号化してセッション情報Ｅ（Ｋｂ１，Ｋｓ２）を生成する（Ｓ２０６）。コントローラ１０１では、ストレージデバイス２００においてセッション情報生成命令の処理が終了すると、セッション情報出力命令を発行する（Ｓ２０８）。ストレージデバイス２００では、セッション情報出力命令を受理する（Ｓ２１０）と、コントローラ２０１が、暗号エンジン２０３からセッション情報Ｅ（Ｋｂ１，Ｋｓ２）を読み出し、コントローラ１０１へ出力する（Ｓ２１２）。
【０１４４】
コントローラ１０１は、ストレージデバイス２００からセッション情報Ｅ（Ｋｂ１，Ｋｓ２）を受信すると（Ｓ２１４）、これとストレージデバイス２００のアドレスデータＡＤＲを連結して暗号エンジン１０３に送信する（Ｓ２１６）。アドレスデータＡＤＲは、後でライセンスデータＬＩＣを記録する際に指定するアドレスである。
【０１４５】
暗号エンジン１０３の制御部１３０は、アドレスデータが連結されたセッション情報Ｅ（Ｋｂ１，Ｋｓ２）｜｜ＡＤＲを受信すると、セッション情報Ｅ（Ｋｂ１，Ｋｓ２）とアドレスデータＡＤＲに分割し、セッション情報Ｅ（Ｋｂ１，Ｋｓ２）を第３復号部１２６に伝達する。第３復号部１２６は、乱数発生部１２１から伝達されたバス鍵Ｋｂ１で、このセッション情報Ｅ（Ｋｂ１，Ｋｓ２）を復号し、Ｋｓ２を取り出す（Ｓ２１８）。
【０１４６】
制御部１３０は、ライセンスデータ書込処理の失敗に備えて、ライセンスデータＬＩＣと、分離したアドレスデータＡＤＲを、ライセンス転送先であるストレージデバイス２００を特定する情報（識別情報ＤＩＤ）に関係付けてログ記憶部１３１に追記する（Ｓ２２０）。ログ記憶部１３１への記録は、電源断などの不慮の事故によってライセンスデータ書込処理が中断した様な場合も対象とした、ライセンスデータ再書込処理に利用することを目的としているため、静的に記録される。
【０１４７】
続いて、暗号エンジン１０３の第３暗号部１２７は、ライセンスデータＬＩＣをストレージデバイス２００の公開鍵ＫＰｐ２で暗号化してＥ（ＫＰｐ２，ＬＩＣ）を生成し、これを第４暗号部１２８に伝達する。第４暗号部１２８は、伝達されたＥ（ＫＰｐ２，ＬＩＣ）を、さらにストレージデバイス２００が発行したセッション鍵Ｋｓ２で暗号化して暗号化ライセンスデータＥ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＣ））を生成し、これをコントローラ１０１に伝達する（Ｓ２２２）。
【０１４８】
コントローラ１０１は、暗号エンジン１０３から送信された暗号化ライセンスデータＥ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＣ））を受信する（Ｓ２２４）と、ストレージデバイス２００に対してライセンスデータ書込命令を発行する（Ｓ２２６）。このライセンス書込命令は、耐タンパ記憶部２０４上の記録位置を指定するアドレスデータＡＤＲを伴っている。このアドレスデータＡＤＲは、Ｓ２１６で暗号エンジン１０３に送信したものと同じ値である。ここでアドレスとは、論理アドレスを示し、耐タンパ記憶部２０４における記録位置を直接指定するものではないが、アドレスを指定して記録したデータは、同じアドレスを指定することで読み出せるように、コントローラ２０１によって管理されている。しかしながら、耐タンパ記憶部２０４における位置を示す物理アドレスであってもよい。
【０１４９】
ストレージデバイス２００では、コントローラ１０１が発行したライセンス書込命令を受理すると、暗号化ライセンスデータをコントローラ１０１に要求し（Ｓ２２８）、コントローラ１０１は、この要求に応じて、暗号化ライセンスデータＥ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＣ））をストレージデバイス２００へ出力する（Ｓ２３０）。
【０１５０】
ストレージデバイス２００は、暗号化ライセンスデータＥ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＣ））を受理すると、これを暗号エンジン２０３内の第３復号部２２９に伝達する。第３復号部２２９は、内部に保持しているセッション鍵Ｋｓ２で暗号化ライセンスデータＥ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＣ））を復号し、自身の公開鍵ＫＰｐ２で暗号化されたライセンスデータＥ（ＫＰｐ２，ＬＩＣ）を取り出す。そして、取り出された暗号化ライセンスデータＥ（ＫＰｐ２，ＬＩＣ）は第４復号部２３０に伝達される。
【０１５１】
第４復号部２３０は、伝達された暗号化ライセンスデータＥ（ＫＰｐ２，ＬＩＣ）を、公開鍵ＫＰｐ２と対の秘密鍵Ｋｐ２で復号してライセンスデータＬＩＣを取り出し（Ｓ２４４）、これをローカルバス２４０を介して制御部２２０に伝達する。
【０１５２】
制御部２２０は、ライセンスデータＬＩＣから識別情報ＬＩＤを取り出して、ログ記憶部１３１に伝達する。また、ライセンスデータＬＩＣをデータバス２１０へ出力する。コントローラ２０１は、データバス２１０に出力されたライセンスデータＬＩＣを耐タンパ記憶部２０４の指定されたアドレスＡＤＲに記憶する（Ｓ２４６）。続いて、完了通知をコントローラ１０１に出力する（Ｓ２４８）。
【０１５３】
コントローラ１０１は、ストレージデバイス２００から出力された完了通知を受信すると、これを暗号エンジン１０３に出力する（Ｓ２５０）。暗号エンジン１０３では、完了通知を受信すると（Ｓ２５２）、ＬＩＤを確認し、該当するＡＤＲ｜｜ＬＩＤをログ記憶部１３１から削除し（Ｓ２５４）、本処理を終了する。
【０１５４】
以上の手順により、暗号化されたコンテンツを復号し再生するために必要なライセンスデータＬＩＣがストレージデバイス２００に記録される。暗号化コンテンツは、通常データであり、ストレージデバイス２００の通常コマンドによって記録されるため、ここでは説明を省略する。
【０１５５】
なお、ライセンスデータＬＩＣと暗号化コンテンツデータの記録順序は、いずれが先であってもかまわない。さらには、暗号化コンテンツデータの記録における空き時間に、セキュアコマンドを分割して発行することで、ライセンスデータＬＩＣを記録するようにしてもよい。
【０１５６】
ストレージデバイス２００から記録再生装置１００へライセンスデータを送信する場合にも、上記と同様の手順により、両者の暗号エンジンによる暗号通信が行われる。一次利用ライセンスデータを記録再生装置１００からストレージデバイス２００へ記録するとき、ストレージデバイス２００に記録された一次利用ライセンスデータを記録再生装置１００が読み出すとき、及び、二次利用ライセンスデータを記録再生装置１００からストレージデバイス２５０へ記録するときに、上述したような暗号通信路を用いてライセンスデータを送受信することにより、ライセンスデータの漏洩を防止し、コンテンツデータを保護することができる。
【０１５７】
以上、本発明に係る実施の形態について説明したが、この実施の形態は例示であり、本発明はこの実施の形態に限定されるものではなく、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【０１５８】
たとえば、上記の実施の形態では、暗号エンジン内において暗号化を行う機能ブロックと復号を行う機能ブロックとを別個に設けたが、これらの構成要素において回路を共有してもよい。これにより、回路規模を抑え、小型化、低消費電力化に寄与することができる。
【０１５９】
ストレージデバイス間のライセンスデータの複製又は移動が許可されている場合は、実施の形態と同様の方法によりライセンスデータを他のストレージデバイスへ複製又は移動してもよい。ライセンスデータを移動する場合には、ライセンスデータの複製が完了した後に、元のライセンスデータを格納していたストレージデバイスからライセンスデータを削除する。
【０１６０】
記録再生装置１００のストレージインタフェースは１つであってもよい。この場合、ライセンスデータを複製するときには、一次利用ライセンスデータが格納されているストレージデバイス２００を装着して一次利用ライセンスデータを読み出した後、ストレージデバイス２５０を装着して二次利用ライセンスデータを記録すればよい。同一のストレージデバイスが装着された場合は、二次利用ライセンスデータの生成・記録を禁止してもよい。
【０１６１】
実施の形態では、コンテンツ鍵を暗号化して一次利用ライセンスデータを生成したが、ストレージデバイス２００が耐タンパ記憶部２０４を有している場合は、コンテンツ鍵を暗号化せずに一次利用ライセンスデータに格納してもよい。
【０１６２】
実施の形態では、ストレージデバイス２００を、ストレージデバイス２５０と同じ機能を持つものとして説明したが、必ずしも暗号エンジンを備える必要はない。記録再生装置１００のみが復号可能な暗号化を一次利用ライセンス全体に施して記録していればよい。この場合、一次利用ライセンスデータ全体が、記録再生装置１００に対して紐付きで記録されていることになるため、本実施の形態において説明したようにコンテンツ鍵を紐付きにする必要はない。
【０１６３】
図１では、記憶媒体２０からコンテンツデータを取得する例を示しているが、コンテンツデータは、インターネットなどのネットワークを介してサーバ装置などから配信されてもよい。コンテンツデータは暗号化された状態でサーバ装置から配信されてもよく、サーバ装置は、暗号化コンテンツデータと、一次利用ライセンスデータとを、記録再生装置１００に配信してもよい。この場合、記録再生装置１００は、取得手段として、利用情報検出部１０６、一次利用ライセンス生成部１０７、及びコンテンツ暗号部１０４に代えて、サーバ装置から暗号化コンテンツデータ及び一次利用ライセンスデータを受信する受信部を備える。
【図面の簡単な説明】
【０１６４】
【図１】実施の形態に係るデータ管理システムの全体構成を示す図である。
【図２】実施の形態に係る記録再生装置の内部構成を示す図である。
【図３】一次利用ライセンス生成部及びコンテンツ暗号部の内部構成を示す図である。
【図４】ライセンスデータのデータ構造を示す図である。
【図５】ライセンス判読部の内部構成を示す図である。
【図６】一次利用ライセンス生成部及びコンテンツ暗号部の内部構成の別の例を示す図である。
【図７】ライセンス判読部の内部構成の別の例を示す図である。
【図８】ストレージデバイス及びの内部構成を示す図である。
【図９】図２に示した記録再生装置の暗号エンジンの内部構成を示す図である。
【図１０】図２に示した記録再生装置の暗号エンジンの内部構成を示す図である。
【図１１】図８に示したストレージデバイスの暗号エンジンの内部構成を示す図である。
【図１２】記録再生装置がストレージデバイスにライセンスデータを記録するまでの手順を示す図である。
【図１３】記録再生装置がストレージデバイスにライセンスデータを記録するまでの手順を示す図である。
【図１４】図１３におけるライセンスデータの書込転送処理のフローチャートである。
【符号の説明】
【０１６５】
１０  データ管理システム、２０  記憶媒体、１００  記録再生装置、１０１  コントローラ、１０３  暗号エンジン、１０４  コンテンツ暗号部、１０７  一次利用ライセンス生成部、１０８  ライセンス判読部、１０９  二次利用ライセンス生成部、１１１  コンテンツ復号部、１６２  ＩＤ整形部、１６３  コンテンツ鍵暗号部、１６４  ライセンスデータフォーマッタ、１６６  演算部、１７１  形式解析部、１７２  ＩＤ整形部、１７３  コンテンツ鍵復号部、１７６  演算部、２００  ストレージデバイス、２０１  コントローラ、２０２  ストレージインタフェース、２０３  暗号エンジン、２０４  耐タンパ記憶部、２０５  通常データ記憶部。
【図１】
2007158559.tif 000003
【図２】
2007158559.tif 000004
【図３】
2007158559.tif 000005
【図４】
2007158559.tif 000006
【図５】
2007158559.tif 000007
【図６】
2007158559.tif 000008
【図７】
2007158559.tif 000009
【図８】
2007158559.tif 000010
【図９】
2007158559.tif 000011
【図１０】
2007158559.tif 000012
【図１１】
2007158559.tif 000013
【図１２】
2007158559.tif 000014
【図１３】
2007158559.tif 000015
【図１４】
2007158559.tif 000016