(57)【要約】      （修正有）【課題】ストレージデバイスによって送信されたコンテンツの利用則を含むコンテンツ利用情報ＬＩＣを用いてコンテンツが正常に利用されなかった場合、ＬＩＣの内容を送信前の状態に復元することができるコンテンツ利用システムを提供する。【解決手段】コンテンツ利用装置３０１，３０５は、記憶しているＬＩＣの出力に応じて前記記憶ＬＩＣの内容を更新するストレージデバイスからＬＩＣを受信し、コンテンツ利用情報識別子ＬＩＤ及び前記利用則を含むＬＩＣログを転送ログリストに格納し、取得した前記ＬＩＣを用いてコンテンツを利用した場合に転送ログリストから前記ＬＩＣログを削除する転送ログリスト管理部と、ＬＩＣログが転送ログリストに格納されており、かつＬＩＣログの利用則と、前記記憶ＬＩＣの利用則とが異なる場合、転送ログリストに格納されている前記ＬＩＤ及び利用則をストレージデバイスに送信する復元要求部とを備える。【選択図】図１２
2010020778.tif 000002
【特許請求の範囲】
【請求項１】
ディジタルコンテンツの利用要件の規定に関する利用則を含むコンテンツ利用情報を記憶し、記憶している記憶コンテンツ利用情報の出力に応じて、前記記憶コンテンツ利用情報の内容を更新するコンテンツ利用情報記憶装置から、前記コンテンツ利用情報を受信し、前記ディジタルコンテンツを利用するコンテンツ利用装置であって、
前記コンテンツ利用情報を取得する際に、前記コンテンツ利用情報を識別するコンテンツ利用情報識別子及び前記利用則を含むコンテンツ利用情報ログを転送ログリストに格納し、取得した前記コンテンツ利用情報を用いて前記ディジタルデータを利用した場合に、前記転送ログリストから前記コンテンツ利用情報ログを削除する転送ログリスト管理部、
を備えることを特徴とするコンテンツ利用装置。
【請求項２】
前記コンテンツ利用情報記憶装置との間で、コンテンツ利用装置の公開鍵と、前記コンテンツ記憶装置が一時的に生成した第１の対称鍵を共有し、前記第１の対称鍵を用いて自身が一時的に生成した第２の対称鍵を暗号化し、前記第２の対称鍵と前記公開鍵を用いて暗号化された前記コンテンツ利用情報を復号する利用装置側暗号処理部をさらに備え、
前記転送ログリスト管理部は、暗号化した第２の対称鍵を前記コンテンツ利用情報記憶装置に送信して、前記コンテンツ利用情報記憶装置から暗号化された前記コンテンツ利用情報を取得する際に、前記コンテンツ利用情報を識別するコンテンツ利用情報識別子及び前記利用則を含むコンテンツ利用情報ログを転送ログリストに格納し、取得した暗号化された前記コンテンツ利用情報を復号して、復号した前記コンテンツ利用情報を用いて前記ディジタルデータを利用した場合に、前記転送ログリストから前記コンテンツ利用情報ログを削除することを特徴とする請求項１に記載のコンテンツ利用装置。
【請求項３】
前記コンテンツ利用情報ログが前記転送ログリストに格納されており、かつ前記コンテンツ利用情報ログの利用則と、前記記憶コンテンツ利用情報の利用則とが異なるか否かに基づいて、前記記憶コンテンツ利用情報を更新前の状態に復元が必要か否かを判定する利用判定部と、
前記利用判定部によって復元が必要と判断された場合、前記転送ログリストに格納されている前記コンテンツ利用情報識別子及び前記利用則を前記コンテンツ利用情報記憶装置に送信し、前記記憶コンテンツ利用情報の利用則を書き換えることで、前記記憶コンテンツ利用情報を更新前の状態に復元することを要求する復元要求部と、
をさらに備えることを特徴とする請求項１又は２に記載のコンテンツ利用装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化されたディジタルコンテンツ及び当該ディジタルコンテンツの利用則を含むコンテンツ利用情報を取得して、当該ディジタルコンテンツを利用するコンテンツ利用システム、コンテンツ利用装置及びコンテンツ利用情報記憶装置に関する。
【背景技術】
【０００２】
近年、インターネットに代表される通信ネットワークの普及や、装置の高機能・高性能化に伴って、音楽データ、映像データ及びゲームプログラムなどのディジタルコンテンツ（以下、コンテンツと適宜省略する）の著作権を保護しつつ、利用者に自由に配信することを可能にする、いわゆるディジタル権利管理（ＤＲＭ：Digital Rights Management）
技術が注目されている。
【０００３】
ＤＲＭ技術の例としては、ストレージデバイス（例えば、メモリーカードや、装置などからの取り外しが可能なリムーバル・ハードディスクドライブ）内に、暗号化されたディジタルコンテンツを格納するとともに、当該ディジタルコンテンツを復号するために用いられるコンテンツ鍵、及び当該ディジタルコンテンツの利用（再生）や複製などの実施可能回数などを示す利用則を含む“コンテンツ利用情報”を格納することが知られている（例えば、非特許文献１）。
【０００４】
具体的には、ストレージデバイス（コンテンツ利用情報記憶装置）は、コンテンツ利用情報が不正に取得されることを防止するため、内部に設けられた耐タンパ性モジュール（Tamper Resistant Module）にコンテンツ利用情報を格納する。
【０００５】
耐タンパ性モジュールに格納されているコンテンツ利用情報は、ディジタルコンテンツを受信して再生（または実行）するコンテンツ再生装置や、当該ディジタルコンテンツを他の記録メディアにコピーしたりするコンテンツ記録装置（以下、コンテンツ再生装置及びコンテンツ記録装置を含めて“コンテンツ利用装置”という）に、暗号化された上で送信される。
【０００６】
コンテンツ利用装置は、ストレージデバイスから受信したコンテンツ利用情報に含まれているコンテンツ鍵を用いてディジタルコンテンツを復号し、当該ディジタルコンテンツを再生したり、複製したりする。
【０００７】
また、ストレージデバイスは、コンテンツ利用情報をコンテンツ利用装置に送信した場合、当該ディジタルコンテンツの利用則に基づいて、コンテンツ利用情報の内容を更新する。
【０００８】
例えば、利用則において、当該ディジタルコンテンツのコピーが２回まで許可されている場合、ストレージデバイスは、コピーを許可するコンテンツ利用情報をコンテンツ利用装置に送信すると、当該ディジタルコンテンツに対応するコンテンツ利用情報の内容のうち、当該ディジタルコンテンツのコピー可能残回数を１回に更新する。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】“PKI based DRM “UDAC-MB V2” 概要とDRM実装の手引き”、［ｏｎｌｉｎｅ］、２００４年５月、ＵＤＡＣ（ユーダック）コンソーシアム、全文、［平成１６年１２月２３日検索］、インターネット＜URL：http://www.udac-consortium.org/open_spec/open_spec_j.html＞
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述した従来のＤＲＭ技術には、次のような問題があった。すなわち、コンテンツ利用装置が、コンテンツ利用情報を受信したにもかかわらず、当該ディジタルコンテンツが利用されなかった場合でも、ストレージデバイス側においてコンテンツ利用情報の内容が更新されてしまうといった問題があった。
【００１１】
例えば、コンテンツ利用装置が、ディジタルコンテンツのコピーを許可するコンテンツ利用情報を受信したにもかかわらず、当該ディジタルコンテンツを利用しなかった場合でも、当該ディジタルコンテンツのコピー可能回数が減少してしまうといった問題があった。
【００１２】
同様に、（１）コンテンツ利用装置において、例えば、音楽データの試聴のように、当該ディジタルコンテンツの一部のみを利用した場合（いわゆるイントロスキャンなど）、（２）コンテンツ利用装置とストレージデバイスとの間の通信路の不具合によって、コンテンツ利用装置がコンテンツ利用情報を正常に受信できなかった場合、（３）他の記録メディアへのディジタルコンテンツのコピーが失敗した場合、などにおいてもストレージデバイス側においてコンテンツ利用情報の内容が更新されてしまうといった問題があった。
【００１３】
そこで、本発明は、このような状況に鑑みてなされたものであり、ストレージデバイスによって送信されたコンテンツ利用情報を用いてディジタルコンテンツが正常に利用されなかった場合、ストレージデバイスが管理するコンテンツ利用情報の内容を送信前の状態に復元することができるコンテンツ利用システム、コンテンツ利用装置及びコンテンツ利用情報記憶装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上述した問題を解決するため、本発明は、次のような特徴を有している。まず、本発明の第１の特徴は、ディジタルコンテンツの利用要件の規定に関する利用則（ＡＵ、ＵＣ）を含むコンテンツ利用情報（ライセンスデータＬＩＣ）を記憶し、記憶している記憶コンテンツ利用情報の出力に応じて、前記記憶コンテンツ利用情報の内容を更新するコンテンツ利用情報記憶装置（ストレージデバイス２００）から、前記コンテンツ利用情報を受信し、前記ディジタルコンテンツを利用するコンテンツ利用装置（例えば、コンテンツ再生装置３００）であって、前記コンテンツ利用情報を取得する際に、前記コンテンツ利用情報を識別するコンテンツ利用情報識別子及び前記利用則を含むコンテンツ利用情報ログを転送ログリストに格納し、取得した前記コンテンツ利用情報を用いて前記ディジタルデータを利用した場合に、前記転送ログリストから前記コンテンツ利用情報ログを削除する転送ログリスト管理部（暗号エンジン３０５）を備える、ことを要旨とする。
【００１５】
前記コンテンツ利用装置は、前記コンテンツ利用情報記憶装置との間で、コンテンツ利用装置の公開鍵（ＫＰｐ３）と、前記コンテンツ記憶装置が一時的に生成した第１の対称鍵（Ｋｂ２）を共有し、前記第１の対称鍵を用いて自身が一時的に生成した第２の対称鍵（Ｋｓ３）を暗号化し、前記第２の対称鍵と前記公開鍵を用いて暗号化された前記コンテンツ利用情報を復号する利用装置側暗号処理部をさらに備え、前記転送ログリスト管理部は、暗号化した第２の対称鍵を前記コンテンツ利用情報記憶装置に送信して、前記コンテンツ利用情報記憶装置から暗号化された前記コンテンツ利用情報を取得する際に、前記コンテンツ利用情報を識別するコンテンツ利用情報識別子及び前記利用則を含むコンテンツ利用情報ログを転送ログリストに格納し、取得した暗号化された前記コンテンツ利用情報を復号して、復号した前記コンテンツ利用情報を用いて前記ディジタルデータを利用した場合に、前記転送ログリストから前記コンテンツ利用情報ログを削除してもよい。
【００１６】
前記コンテンツ利用装置は、前記コンテンツ利用情報ログが前記転送ログリストに格納されており、かつ前記コンテンツ利用情報ログの利用則と、前記記憶コンテンツ利用情報の利用則とが異なるか否かに基づいて、前記記憶コンテンツ利用情報を更新前の状態に復元が必要か否かを判定する利用判定部（コントローラ３０１）と、前記利用判定部によって復元が必要と判断された場合、前記転送ログリストに格納されている前記コンテンツ利用情報識別子及び前記利用則を前記コンテンツ利用情報記憶装置に送信し、前記記憶コンテンツ利用情報の利用則を書き換えることで、前記記憶コンテンツ利用情報を更新前の状態に復元することを要求する復元要求部（例えば、コントローラ３０１，暗号エンジン３０５）と、をさらに備えてもよい。
【発明の効果】
【００１７】
本発明の特徴によれば、ストレージデバイスによって送信されたコンテンツ利用情報を用いてディジタルコンテンツが正常に利用されなかった場合、ストレージデバイスが管理するコンテンツ利用情報の内容を送信前の状態に復元することができるコンテンツ利用システム、コンテンツ利用装置及びコンテンツ利用情報記憶装置を提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係るコンテンツ利用システムの概略構成図である。
【図２】本発明の実施形態に係るコンテンツ記録装置の概略論理ブロック構成図である。
【図３】本発明の実施形態に係るコンテンツ再生装置の概略論理ブロック構成図である。
【図４】本発明の実施形態に係るストレージデバイスの概略論理ブロック構成図である。
【図５】本発明の実施形態に係るコンテンツ再生装置に備えられている暗号エンジンの論理ブロック構成図である。
【図６】本発明の実施形態に係るストレージデバイスに備えられている暗号エンジンの論理ブロック構成図である。
【図７】本発明の実施形態に係るコンテンツ利用システムの全体概略動作フロー図である。
【図８】本発明の実施形態に係るコンテンツ利用システムにおいて実行されるコネクション処理フロー図である。
【図９】本発明の実施形態に係るコンテンツ利用システムにおいて実行されるコネクション処理フロー図である。
【図１０】本発明の実施形態に係るコンテンツ利用システムにおいて実行される再コネクション処理フロー図である。
【図１１】本発明の実施形態に係るコンテンツ利用システムにおいて実行されるリード転送処理フロー図である。
【図１２】本発明の実施形態に係るコンテンツ利用システムにおいて実行されるリード転送処理フロー図である。
【図１３】本発明の実施形態に係るコンテンツ利用システムにおいて実行される復元転送処理フロー図である。
【図１４】本発明の実施形態に係るコンテンツ利用システムにおいて実行される復元転送処理フロー図である。
【発明を実施するための形態】
【００１９】
次に、本発明の実施形態について説明する。なお、以下の図面の記載において、同一または類似の部分には、同一または類似の符号を付している。ただし、図面は模式的なものであり、各寸法の比率などは現実のものとは異なることに留意すべきである。
【００２０】
したがって、具体的な寸法などは以下の説明を参酌して判断すべきものである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。
（コンテンツ利用システムの概略構成）
図１は、本実施形態に係るコンテンツ利用システム１０の概略構成を示している。同図に示すように、コンテンツ利用システム１０は、コンテンツ記録装置１００、ストレージデバイス２００及びコンテンツ再生装置３００とによって構成されている。
【００２１】
コンテンツ記録装置１００（コンテンツ利用装置）は、音楽データ、映像データまたはゲームプログラムなどのディジタルコンテンツをストレージデバイス２００とは異なるＤＶＤ２００Ａ（図２参照）などに記録するものである。なお、本実施形態では、以下、音楽データを例として説明する。
【００２２】
ストレージデバイス２００（コンテンツ利用情報記憶装置）は、ディジタルコンテンツを暗号化して格納するものである。また、ストレージデバイス２００は、暗号化された状態で格納されているディジタルコンテンツを復号するために用いられるコンテンツ鍵Ｋｃｏｎｔ、及びコンテンツ再生装置３００によるディジタルコンテンツの再生（ｐｌａｙ）やコンテンツ記録装置１００によるディジタルコンテンツの複製（ｃｏｐｙ）の可能回数などを示す利用則（ＡＣ，ＵＣ）を含む“ライセンスデータＬＩＣ”（コンテンツ利用情報）を管理することができる。
【００２３】
具体的には、ストレージデバイス２００は、コンテンツ記録装置１００またはコンテンツ再生装置３００へのディジタルコンテンツの出力に応じて、利用則を含むライセンスデータＬＩＣを更新して記憶する。
【００２４】
ストレージデバイス２００としては、コンテンツ記録装置１００やコンテンツ再生装置３００から取り外し可能（リムーバル）なハードディスクドライブ（ＨＤＤ）や、メモリーカード（マルチメディアカード）などを用いることができる。また、ストレージデバイス２００は、ライセンスデータＬＩＣが不正に取得されることを防止するため、耐タンパ性モジュールを有している。
【００２５】
コンテンツ再生装置３００（コンテンツ利用装置）は、ストレージデバイス２００に格納されているディジタルコンテンツを読み出して再生するものである。
【００２６】
具体的には、コンテンツ再生装置３００は、ストレージデバイス２００によって送信されたライセンスデータＬＩＣに含まれるコンテンツ鍵Ｋｃｏｎｔを用いて、ストレージデバイス２００に格納されているディジタルコンテンツを復号し、復号したディジタルコンテンツを再生する。
【００２７】
コンテンツ記録装置１００及びコンテンツ再生装置３００としては、パーソナル・コンピュータをはじめ、ディジタルコンテンツの種類に特化した専用の記録装置（小型のミュージックプレイヤーなど）を用いることができる。
（コンテンツ利用システムの概略論理ブロック構成）
次に、図２〜図４を参照して、コンテンツ利用システム１０を構成するコンテンツ記録装置１００、ストレージデバイス２００及びコンテンツ再生装置３００の概略論理ブロック構成について説明する。
【００２８】
なお、以下、本発明との関連がある部分について主に説明する。したがって、図２〜図４に示すコンテンツ記録装置１００、ストレージデバイス２００及びコンテンツ再生装置３００は、当該装置の機能を実現する上で必須な、図示しない或いは説明を省略した論理ブロック（電源部や表示部など）を備える場合があることに留意されたい。
（１）コンテンツ記録装置
図２は、コンテンツ記録装置１００の概略論理ブロック構成を示している。同図に示すように、コンテンツ記録装置１００は、コントローラ１０１、ストレージインタフェース１０３、暗号エンジン１０５、復号器１０７、暗号器１０９、暗号エンジン１１１、ストレージインタフェース１１３及びデータバス１１５を備えている。
【００２９】
コントローラ１０１は、データバス１１５を介して、コンテンツ記録装置１００を構成する各論理ブロックの動作を制御するものである。
【００３０】
特に、本実施形態では、コントローラ１０１は、ストレージデバイス２００から読み出したディジタルコンテンツが利用されたか否か、つまり、当該ディジタルコンテンツが正常に他の記録メディア（例えば、ＤＶＤ２００Ａ）に記録されたか否かを判定するものであり、利用判定部を構成する。
【００３１】
また、コントローラ１０１は、ディジタルコンテンツが正常に他の記録メディアに記録されていないと判定した場合（例えば、書込エラーの発生）、ライセンスデータＬＩＣを更新前の状態に復元することを要求するものである。本実施形態では、コントローラ１０１と暗号エンジン１０５とによって、復元要求部が構成される。
【００３２】
具体的には、コントローラ１０１は、ストレージデバイス２００において一時的に生成されたテンポラリ鍵（記憶装置側テンポラリ鍵）を用いて暗号化されたライセンスＩＤ（ＬＩＤ）及び利用則ＡＣをストレージデバイス２００に送信する。
【００３３】
なお、ライセンスＩＤ（ＬＩＤ）とは、ライセンスデータＬＩＣを識別するＩＤ（コンテンツ利用情報識別子）である。また、より具体的なライセンスデータＬＩＣの復元方法については、後述する。
【００３４】
ストレージインタフェース１０３は、ストレージデバイス２００との接続インタフェースを提供し、ストレージデバイス２００との間における情報の入出力を制御するものである。
【００３５】
暗号エンジン１０５は、ストレージデバイス２００との間において送受信される送受信情報の暗号化に用いられるコンテンツ鍵Ｋｃｏｎｔの管理などを実行するものである。
【００３６】
復号器１０７は、コンテンツ鍵Ｋｃｏｎｔを用いて、ストレージデバイス２００から取得したディジタルコンテンツを復号するものである。
【００３７】
暗号器１０９は、復号器１０７において復号されたディジタルコンテンツをＤＶＤ２００Ａの規格にしたがった暗号方式によって暗号化するものである。
【００３８】
暗号エンジン１１１は、ＤＶＤ２００Ａとの間において送受信される送受信情報の暗号化に用いられる鍵の管理などを実行するものである。本実施形態では、暗号エンジン１０５、復号器１０７、暗号器１０９及び暗号エンジン１１１によって、利用装置側暗号処理部が構成される。
【００３９】
ストレージインタフェース１１３は、ＤＶＤ２００Ａとの接続インタフェースを提供し、ＤＶＤ２００Ａとの間における情報の入出力を制御するものである。
（２）コンテンツ再生装置
図３は、コンテンツ再生装置３００の概略論理ブロック構成を示している。同図に示すように、コンテンツ再生装置３００は、コントローラ３０１、ストレージインタフェース３０３、暗号エンジン３０５、復号器３０７及びコンテンツデコーダ３０９を備えている。
【００４０】
コントローラ３０１は、データバス３１１を介して、コンテンツ再生装置３００を構成する各論理ブロックの動作を制御するものである。
【００４１】
特に、本実施形態では、コントローラ３０１は、ストレージデバイス２００から読み出したディジタルコンテンツが利用されたか否か、つまり、当該ディジタルコンテンツが正常に再生できた否かを判定するものであり、利用判定部を構成する。
【００４２】
また、コントローラ３０１は、ストレージデバイス２００から読み出したディジタルコンテンツが正常に再生できていないと判定した場合、ログ格納部３３５（図５参照）に格納されているライセンスＩＤ（ＬＩＤ）（コンテンツ利用情報識別子）及び利用則ＡＣをストレージデバイス２００に送信し、ストレージデバイス２００に記憶されているライセンスデータＬＩＣ（記憶コンテンツ利用情報）を更新前の状態に復元することを要求するものである。本実施形態では、コントローラ３０１と暗号エンジン３０５とによって復元要求部が構成される。
【００４３】
ここで、「正常に再生できていない」とは、コンテンツ再生装置３００とストレージデバイス２００との間の通信路の不具合によって、コンテンツ再生装置３００がライセンスデータＬＩＣを正常に受信できなかったために、ディジタルコンテンツを再生することができなかった場合などである。
【００４４】
また、「正常に再生できていない」には、ストレージデバイス２００からライセンスデータＬＩＣを受信したにもかかわらず、取得したディジタルコンテンツを再生しなかった場合や、当該ディジタルコンテンツの一部のみを利用した場合（いわゆるイントロスキャン）が含まれる。
【００４５】
具体的には、コントローラ３０１は、ストレージデバイス２００において一時的に生成されたテンポラリ鍵（記憶装置側テンポラリ鍵）を用いて、暗号化されたライセンスＩＤ（ＬＩＤ）及び利用則ＡＣをストレージデバイス２００に送信する。なお、より具体的なライセンスデータＬＩＣの復元方法については、後述する。
【００４６】
ストレージインタフェース３０３は、ストレージデバイス２００との接続インタフェースを提供し、ストレージデバイス２００との間における情報の入出力を制御するものである。
【００４７】
暗号エンジン３０５は、ストレージデバイス２００との間において送受信される送受信情報を暗号処理するものであり、利用装置側暗号処理部を構成する。
【００４８】
具体的には、暗号エンジン３０５は、一時的に生成される利用装置側テンポラリ鍵を用いて、ストレージデバイス２００との間において送受信する送受信情報を暗号処理する。
【００４９】
また、暗号エンジン３０５は、内部にログ格納部３３５（図５参照）を有し、ライセンスデータＬＩＣを識別するライセンスＩＤ（ＬＩＤ）及び利用則（ＡＣ，ＵＣ）をコンテンツ利用情報ログとして格納するものである。なお、暗号エンジン３０５の詳細については、後述する。
【００５０】
復号器３０７は、コンテンツ鍵Ｋｃｏｎｔを用いて、ストレージデバイス２００に格納されているディジタルコンテンツを復号するものである。
【００５１】
コンテンツデコーダ３０９は、所定の符号化則（例えば、MPEG audio layer 3 (MP3)）にしたがって符号化されているディジタルコンテンツを、アナログオーディオ信号などに変換するものである。
（３）ストレージデバイス
図４は、ストレージデバイス２００の概略論理ブロック構成を示している。同図に示すように、ストレージデバイス２００は、コントローラ２０１、ストレージインタフェース２０３、暗号エンジン２０５、耐タンパ性データ格納部２０７及び通常データ格納部２０９を備えている。
【００５２】
コントローラ２０１は、データバス２１１を介して、ストレージデバイス２００を構成する各論理ブロックの動作を制御するものである。
【００５３】
特に、本実施形態では、コントローラ２０１は、コンテンツ再生装置３００（またはコンテンツ記録装置１００）によって送信されたライセンスＩＤ（ＬＩＤ）が耐タンパ性データ格納部２０７記憶されているライセンスデータＬＩＣ（記憶コンテンツ利用情報）に含まれているライセンスＩＤ（ＬＩＤ）（コンテンツ利用情報識別子）と一致するか否かに基づいて、ライセンスデータＬＩＣ（コンテンツ利用情報）を書き換えるか否かを判定するものである。本実施形態では、コントローラ２０１と暗号エンジン２０５とによって、書換判定部が構成される。
【００５４】
具体的には、コントローラ２０１は、コンテンツ再生装置３００（またはコンテンツ記録装置１００）によって送信されたライセンスＩＤ（ＬＩＤ）が、更新して耐タンパ性データ格納部２０７に格納したライセンスデータＬＩＣに含まれているライセンスＩＤ（ＬＩＤ）と一致するか否かを判定する。
【００５５】
さらに、コントローラ２０１は、当該ライセンスＩＤ（ＬＩＤ）とともにコンテンツ再生装置３００（またはコンテンツ記録装置１００）によって送信された利用則ＡＣに基づいて、耐タンパ性データ格納部２０７に格納したライセンスデータＬＩＣに含まれる利用則ＡＣを書き換えてよいか否かを判定する。
【００５６】
また、コントローラ２０１は、暗号エンジン２０５によるライセンスデータＬＩＣの書き換え可否の判定結果に基づいて、ライセンスデータＬＩＣに含まれる利用則を、コンテンツ再生装置３００（またはコンテンツ記録装置１００）によって送信された利用則に書き換えるものであり、書換部を構成する。
【００５７】
具体的には、コントローラ２０１は、一時的に生成されたテンポラリ鍵（記憶装置側テンポラリ鍵）を用いて、受信したライセンスＩＤ（ＬＩＤ）及び利用則ＡＣを復号することができた場合、利用則ＡＣをコンテンツ再生装置３００（またはコンテンツ記録装置１００）によって送信された利用則ＡＣを書き換える。
【００５８】
また、コントローラ２０１は、利用則ＡＣの書き換え前において、ライセンスデータＬＩＣ（記憶コンテンツ利用情報）が出力許可または禁止の何れの状態であっても、利用則ＡＣの書き換えとともに、ライセンスデータＬＩＣを出力許可の状態に変更することができる。
【００５９】
ストレージインタフェース２０３は、コンテンツ記録装置１００及びコンテンツ再生装置３００との接続インタフェースを提供し、当該装置との間における情報の入出力を制御するものである。
【００６０】
暗号エンジン２０５は、コンテンツ記録装置１００またはコンテンツ再生装置３００との間において送受信される送受信情報を暗号処理するものであり、記録装置側暗号処理部を構成する。
【００６１】
具体的には、暗号エンジン２０５は、一時的に生成される記憶装置側テンポラリ鍵を用いて、ストレージデバイス２００との間において送受信する送受信情報を暗号処理する。
【００６２】
耐タンパ性データ格納部２０７は、耐タンパ性モジュール（Tamper Resistant Module
）によって構成されている。耐タンパ性データ格納部２０７は、ライセンスデータＬＩＣや、テンポラリ鍵などから構成される接続ログなどを格納するものである。
【００６３】
なお、耐タンパ性モジュールは、ソフトウェア（例えば、暗号通信路を利用して情報を送受信する）及びハードウェア（例えば、耐タンパ性モジュールの表面を剥がすと内部の回路が完全に破壊する構造）によって実現される。
【００６４】
通常データ格納部２０９は、暗号化されたディジタルコンテンツなどを格納するものである。通常データ格納部２０９では、耐タンパ性データ格納部２０７のように、耐タンパ性は確保されていない。
（暗号エンジンの論理ブロック構成）
次に、図５及び図６を参照して、本発明の要部に係る処理を実行する暗号エンジン（暗号エンジン３０５，暗号エンジン２０５）の論理ブロック構成について説明する。なお、コンテンツ記録装置１００に備えられている暗号エンジン１０５は、コンテンツ再生装置３００に備えられている暗号エンジン３０５とほぼ同様の構成及び機能を有しているため、以下、暗号エンジン３０５を例として説明する。
（１）鍵、暗号化情報及び証明書の表現方法
まず、暗号エンジン３０５及び暗号エンジン２０５において用いられる鍵、当該鍵を用いて暗号化された暗号化情報（Ｅ）、及び証明書の表現方法について説明する。
（１．１）公開鍵暗号方式に基づく鍵
暗号エンジン３０５及び暗号エンジン２０５において用いられる主な公開鍵暗号方式に基づく鍵は、次のように表現される。
【００６５】
・  ＫＰｐ３：暗号エンジン３０５の公開鍵
・  ＫＰｄ３：暗号エンジン３０５の公開鍵
・  Ｋｐ３  ：公開鍵ＫＰｐ３とペアになる暗号エンジン３０５の秘密鍵
・  Ｋｄ３  ：公開鍵ＫＰｄ３とペアになる暗号エンジン３０５の秘密鍵
・  ＫＰｐ２：暗号エンジン２０５の公開鍵
・  ＫＰｄ２：暗号エンジン２０５の公開鍵
・  Ｋｐ２  ：公開鍵ＫＰｐ２とペアになる暗号エンジン２０５の秘密鍵
・  Ｋｄ２  ：公開鍵ＫＰｄ２とペアになる暗号エンジン２０５の秘密鍵
・  ＫＰａ  ：認証局によって発行されるルート公開鍵
（１．２）対称鍵暗号方式に基づく鍵
暗号エンジン３０５及び暗号エンジン２０５において用いられる主な対称鍵（共通鍵）暗号方式に基づく鍵（テンポラリ鍵）は、次のように表現される。
【００６６】
・  Ｋｂ３，Ｋｃ３，Ｋｓ３  ：暗号エンジン３０５において生成される対称鍵
・  Ｋｂ２，Ｋｃ２，Ｋｓ２  ：暗号エンジン２０５において生成される対称鍵
（１．３）暗号化情報（Ｅ）
上述した鍵を用いて暗号化された暗号化情報（Ｅ）は、“Ｅ（Ｋ，Ｄ）”の形態で表現される。“Ｅ（Ｋ，Ｄ）”は、鍵Ｋを用いて情報Ｄが暗号化された暗号化情報（Ｅ）であることを意味する。また、“Ａ‖Ｂ”は、情報Ａと情報Ｂとが連結された情報であることを意味する。
（１．４）証明書
上述した鍵の証明書は、次のように表現される。
【００６７】
・  Ｃ［ＫＰｄ３］：  コンテンツ再生装置３００（公開鍵ＫＰｄ３）の証明書
・  Ｃ［ＫＰｄ２］：  ストレージデバイス２００（公開鍵ＫＰｄ２）の証明書
（２）ライセンスデータＬＩＣの構成
次に、ライセンスデータＬＩＣ（コンテンツ利用情報）の構成について説明する。ライセンスデータＬＩＣは、次のような構成を有している。
【００６８】
・ライセンスデータＬＩＣ：  許諾情報ＬＣ＋コンテンツ鍵Ｋｃｏｎｔ
また、許諾情報ＬＣは、次のような構成を有している。
【００６９】
・  許諾情報ＬＣ：  ライセンスＩＤ（ＬＩＤ）＋利用則（ＡＣ，ＵＣ）
ライセンスＩＤ（ＬＩＤ）は、ライセンスデータＬＩＣを識別するコンテンツ利用情報識別子である。
【００７０】
利用則ＡＣ（Access Condition）は、ストレージデバイス２００において強制される利用要件について規定するものであり、ディジタルコンテンツの再生回数、複製回数及び保護レベル（例えば、ディジタルコンテンツの利用許諾期間）などを制限する。
【００７１】
利用則ＵＣ（Usage Condition）は、ディジタルコンテンツの復号時に強制される利用
要件について規定（例えば、ディジタルコンテンツの編集の禁止）するものである。
（３）暗号エンジン３０５
図５は、コンテンツ再生装置３００に備えられている暗号エンジン３０５の論理ブロック構成を示している。同図に示すように、暗号エンジン３０５は、制御部３２１、証明書出力部３２３、証明書検証部３２５、暗号化部３２７、復号部３２９、乱数発生部３３１、署名演算部３３３、ログ格納部３３５及びローカルバス３３７を備えている。
【００７２】
制御部３２１は、コントローラ３０１による制御内容にしたがって、暗号エンジン３０５を構成する各論理ブロックを、ローカルバス３３７を介して制御するものである。
【００７３】
証明書出力部３２３は、コンテンツ再生装置３００（公開鍵ＫＰｄ３）の証明書Ｃ［ＫＰｄ３］を出力するものである。証明書Ｃ［ＫＰｄ３］は、認証局の秘密鍵（Ｋａ）で暗号化（署名）された公開鍵ＫＰｄ３によって構成されている。
【００７４】
証明書検証部３２５は、ストレージデバイス２００（公開鍵ＫＰｄ２）の証明書Ｃ［ＫＰｄ２］を検証するものである。証明書検証部３２５は、認証局のルート公開鍵ＫＰａを用いて証明書Ｃ［ＫＰｄ２］を検証する。
【００７５】
また、証明書検証部３２５は、無効となった証明書のリストである証明書失効リスト（ＣＲＬ： Certificate Revocation List）を用いて、無効な証明書を検証の対象から除外する。
【００７６】
暗号化部３２７は、公開鍵暗号方式及び対称鍵（共通鍵）暗号方式を用いて、暗号エンジン３０５の外部へ出力される情報を暗号化するものである。本実施形態では、暗号化部３２７は、公開鍵暗号方式として楕円曲線暗号方式を用い、共通鍵暗号方式としてＴｒｉｐｌｅ−ＤＥＳを用いる。もちろん、暗号化部３２７は、他の暗号方式（例えば、ＲＳＡ公開鍵暗号方式）を用いてもよい。
【００７７】
復号部３２９は、公開鍵暗号方式及び共通鍵暗号方式を用いて、暗号エンジン３０５に入力された情報を復号するものである。復号部３２９では、暗号化部３２７と同一の暗号方式が用いられる。また、復号部３２９は、復号したライセンスデータＬＩＣを復号器３０７に出力する。
【００７８】
乱数発生部３３１は、暗号化のために一時的に生成されるテンポラリ鍵（対称鍵Ｋｂ３，Ｋｃ３，Ｋｓ３）を生成するために用いられる乱数を発生するものである。
【００７９】
署名演算部３３３は、暗号エンジン３０５の外部へ出力される情報に付加される電子署名データを演算するものである。具体的には、署名演算部３３３は、所定のハッシュ関数（例えば、ＳＨＡ−１）などを用いて、電子署名データを演算する。
【００８０】
ログ格納部３３５は、上述したように、ストレージデバイス２００から受信したライセンスデータＬＩＣを識別するライセンスＩＤ（ＬＩＤ）、利用則ＡＣ，ＵＣ、及びストレージデバイス２００におけるライセンスデータＬＩＣの格納先を示すアドレス情報ＡＤＲを含む転送ログリスト（コンテンツ利用情報ログ）やテンポラリ鍵などから構成される接続ログなどを格納するものである。
（４）暗号エンジン２０５
図６は、ストレージデバイス２００に備えられている暗号エンジン２０５の論理ブロック構成を示している。同図に示すように、暗号エンジン２０５は、制御部２２１、証明書出力部２２３、証明書検証部２２５、暗号化部２２７、復号部２２９、乱数発生部２３１、署名演算部２３３及びローカルバス２３５を備えている。
【００８１】
制御部２２１は、コントローラ２０１による制御内容にしたがって、暗号エンジン２０５を構成する各論理ブロックを、ローカルバス２３５を介して制御するものである。
【００８２】
証明書出力部２２３は、ストレージデバイス２００（公開鍵ＫＰｄ２）の証明書Ｃ［ＫＰｄ２］を出力するものである。証明書Ｃ［ＫＰｄ２］は、認証局の秘密鍵（Ｋａ）で暗号化（署名）された公開鍵ＫＰｄ２によって構成されている。
【００８３】
証明書検証部２２５は、コンテンツ再生装置３００（公開鍵Ｃ［ＫＰｄ３］）の証明書Ｃ［ＫＰｄ３］を検証するものである。証明書検証部２２５は、認証局のルート公開鍵ＫＰａを用いて証明書Ｃ［ＫＰｄ３］を検証する。
【００８４】
また、証明書検証部２２５は、無効となった証明書のリストである証明書失効リスト（ＣＲＬ： Certificate Revocation List）を用いて、無効な証明書を検証の対象から除外する。
【００８５】
暗号化部２２７及び復号部２２９は、上述した暗号化部３２７及び復号部３２９（図５参照）とほぼ同様の機能を有し、公開鍵暗号方式及び共通鍵暗号方式を用いて、暗号エンジン２０５から出力される情報の暗号化や、暗号エンジン２０５に入力された情報を復号するものである。
【００８６】
乱数発生部２３１は、暗号化のために一時的に生成されるテンポラリ鍵（対称鍵Ｋｂ２，Ｋｃ２，Ｋｓ２）を生成するために用いられる乱数を発生するものである。
【００８７】
署名演算部２３３は、暗号エンジン２０５の外部へ出力される情報に付加される電子署名データを演算するものである。
（コンテンツ利用システムによるライセンスデータの復元動作）
次に、図７〜図１４を参照して、上述したコンテンツ利用システム１０（ストレージデバイス２００及びコンテンツ再生装置３００）によるライセンスデータＬＩＣの復元動作について説明する。
（１）全体概略動作
図７は、コンテンツ利用システム１０によるライセンスデータＬＩＣの復元動作を含む全体概略動作フローである。
【００８８】
同図に示すように、ステップＳ１０において、ストレージデバイス２００及びコンテンツ再生装置３００（コントローラ３０１，暗号エンジン３０５）は、ストレージデバイス２００とコンテンツ再生装置３００との間において、再度、通信コネクションを確立する必要がある場合、“再コネクション処理”を実行する。なお、再コネクション処理の具体的な内容については、後述する。
【００８９】
ステップＳ２０において、コントローラ３０１は、ストレージデバイス２００との間において、通信コネクションが確立しているか否かを判定する。
【００９０】
ストレージデバイス２００との間において通信コネクションが確立している場合（ステップＳ２０のＹＥＳ）、ステップＳ３０において、コントローラ３０１は、転送ログリスト（コンテンツ利用情報ログ）の送信要求を暗号エンジン３０５に送信する。
【００９１】
ストレージデバイス２００との間において通信コネクションが確立していない場合（ステップＳ２０のＮＯ）、コントローラ３０１は、ステップＳ１００の処理を実行する。
【００９２】
ステップＳ４０において、暗号エンジン３０５は、転送ログリストの送信要求をコントローラ３０１から受信する。
【００９３】
ステップＳ５０において、暗号エンジン３０５は、転送ログリストに基づいて、許諾情報ＬＣとアドレス情報ＡＤＲとが連結された“ＬＣ‖ＡＤＲ”のリストをコントローラ３０１に送信する。
【００９４】
ここで、“転送ログリスト”には、以下のようなコンテンツ利用情報ログが格納される。すなわち、ストレージデバイス２００からコンテンツ再生装置３００へのライセンスデータＬＩＣの送信中に、ストレージデバイス２００とコンテンツ再生装置３００との通信路が切断され、コンテンツ再生装置３００がライセンスデータＬＩＣを正常に受信することができなかった場合、及びコンテンツ再生装置３００がライセンスデータＬＩＣを正常に受信したものの、コンテンツ鍵Ｋｃｏｎｔによる復号、つまり、ディジタルコンテンツが利用されたと判定される前に、コンテンツ再生装置３００の電源が切断された場合などの不慮の原因によって処理が完了していない場合におけるコンテンツ利用情報ログが、転送ログリストとして格納される。
【００９５】
“ＬＣ‖ＡＤＲ”のリストは、当該転送ログリストに基づいて送信される。したがって、“ＬＣ‖ＡＤＲ”のリストが空の場合、以前に設定した通信コネクションによって送信されたライセンスデータＬＩＣに対するすべての処理が完了していることを示している。
【００９６】
一方、“ＬＣ‖ＡＤＲ”のリストが空でない場合、つまり、“ＬＣ‖ＡＤＲ”のリストに何らかの情報が含まれている場合、ライセンスデータＬＩＣを復元する必要がある可能性を示している。
ステップＳ６０において、コントローラ３０１は、“ＬＣ‖ＡＤＲ”のリストを暗号エンジン３０５から受信する。
【００９７】
ステップＳ７０において、コントローラ３０１は、受信した“ＬＣ‖ＡＤＲ”のリストの内容が空か否か、つまり、“ＬＣ‖ＡＤＲ”のリストに情報が含まれているか否かを判定する。
【００９８】
“ＬＣ‖ＡＤＲ”のリストの内容が空の場合（ステップＳ７０のＹＥＳ）、コントローラ３０１は、ライセンスデータＬＩＣの復元は不要と判定し、ステップＳ１６０の処理（リード転送処理）を実行する。
【００９９】
“ＬＣ‖ＡＤＲ”のリストの内容が空でない場合（ステップＳ７０のＮＯ）、ステップＳ８０において、ストレージデバイス２００及びコンテンツ再生装置３００は、ライセンスデータＬＩＣの内容を、ディジタルコンテンツの利用に伴うライセンスデータＬＩＣの更新前の状態に復元する“復元転送処理”を実行する。なお、復元転送処理の具体的な内容については、後述する。
【０１００】
ステップＳ９０において、コントローラ３０１は、ステップＳ８０において復元転送処理が完了したことに基づいて、“ＬＣ‖ＡＤＲ”のリストから、復元の対象となった転送ログリスト（コンテンツ利用情報ログ）を削除する。
【０１０１】
ステップＳ１００において、ストレージデバイス２００及びコンテンツ再生装置３００は、ストレージデバイス２００とコンテンツ再生装置３００との間において、通信コネクションを確立する“コネクション処理”を実行する。なお、コネクション処理の具体的な内容については、後述する。
【０１０２】
ステップＳ１１０において、コントローラ３０１は、ストレージデバイス２００との間において、通信コネクションが確立しているか否かを判定する。
【０１０３】
ストレージデバイス２００との間において、通信コネクションが確立していない場合（ステップＳ１１０のＮＯ）、コントローラ３０１は、ストレージデバイス２００との間において、通信コネクションが確立できないと判定し、異常終了として処理を終了する。
【０１０４】
ストレージデバイス２００との間において通信コネクションが確立している場合（ステップＳ１１０のＹＥＳ）、ステップＳ１２０において、コントローラ３０１は、転送ログリストの破棄要求を暗号エンジン３０５に送信する。
【０１０５】
つまり、ステップＳ１００におけるコネクション処理が実行された場合、過去にライセンスデータＬＩＣの復元のために記録された転送ログリストは不要と判定し、コントローラ３０１は、転送ログリストの破棄要求を暗号エンジン３０５に送信する。
【０１０６】
ステップＳ１３０において、暗号エンジン３０５は、転送ログリストの破棄要求を受信する。ステップＳ１４０において、暗号エンジン３０５は、受信した転送ログリストの破棄要求に基づいて、ログ格納部３３５に格納されている転送ログリストを破棄する。
【０１０７】
ステップＳ１５０において、コントローラ３０１は、リード要求を実行するか否か、具体的には、ディジタルコンテンツを利用するためにライセンスデータＬＩＣを読み出すか、処理を終了するかを判定する。
【０１０８】
ここで、「ライセンスデータＬＩＣを読み出す」とは、コンテンツ再生装置３００のユーザによって再生が指示されたディジタルコンテンツと対応するライセンスデータＬＩＣの読出しを開始することをいう。
【０１０９】
また、「処理を終了する」とは、コンテンツ再生装置３００の電源を正常な処理を経て切断することや、節電を目的とした低消費電力状態に移行するために、ストレージデバイス２００への電源の供給を停止することなどである。
【０１１０】
つまり、ステップＳ１５０において、コントローラ３０１は、次の処理を開始する指示を待っている状態である。
【０１１１】
リード要求を実行する場合（ステップＳ１５０のＹＥＳ）、ステップＳ１６０において、ストレージデバイス２００及びコンテンツ再生装置３００は、暗号化されたディジタルコンテンツをストレージデバイス２００から読み出して再生する“リード転送処理”を実行する。
【０１１２】
また、ストレージデバイス２００及びコンテンツ再生装置３００は、リード転送処理が終了するとステップＳ１５０の処理に戻り、次のライセンスデータＬＩＣなどの転送に備える。
（２）コネクション処理
図８及び図９は、上述したステップＳ１００のコネクション処理の内容を示している。図８に示すように、ステップＳ１００−１において、コントローラ３０１は、証明書の送信要求を暗号エンジン３０５に送信する。ステップＳ１００−３において、暗号エンジン３０５は、証明書の送信要求をコントローラ３０１から受信する。
【０１１３】
ステップＳ１００−５において、暗号エンジン３０５は、コンテンツ再生装置３００の証明書Ｃ［ＫＰｄ３］をコントローラ３０１に送信する。ステップＳ１００−７において、コントローラ３０１は、証明書Ｃ［ＫＰｄ３］を暗号エンジン３０５から受信する。
【０１１４】
ステップＳ１００−９において、コントローラ３０１は、証明書Ｃ［ＫＰｄ３］の検証命令をストレージデバイス２００に送信する。ステップＳ１００−１１において、ストレージデバイス２００は、証明書Ｃ［ＫＰｄ３］の検証命令をコントローラ３０１から受信する。
【０１１５】
ステップＳ１００−１３において、コントローラ３０１は、暗号エンジン３０５から受信した証明書Ｃ［ＫＰｄ３］をストレージデバイス２００に送信する。ステップＳ１００−１５において、ストレージデバイス２００は、証明書Ｃ［ＫＰｄ３］をコントローラ３０１から受信する。
【０１１６】
ステップＳ１００−１７において、ストレージデバイス２００は、証明書Ｃ［ＫＰｄ３］を検証し、証明書Ｃ［ＫＰｄ３］が正当なものであるか否かを判定する。
【０１１７】
証明書Ｃ［ＫＰｄ３］が正当なものである場合（ステップＳ１００−１７のＹＥＳ）、ステップＳ１００−１９において、ストレージデバイス２００は、証明書Ｃ［ＫＰｄ３］に含まれる公開鍵ＫＰｄ３を保持する。
【０１１８】
証明書Ｃ［ＫＰｄ３］が正当なものでない場合（ステップＳ１００−１７のＮＯ）、ストレージデバイス２００は、ステップＳ１０−４５において、証明書Ｃ［ＫＰｄ３］の検証ができなかったことを示す検証エラー通知をコントローラ３０１に送信する。
【０１１９】
ステップＳ１００−２１において、コントローラ３０１は、第１チャレンジ情報の生成命令をストレージデバイス２００に発行する。ステップＳ１００−２３において、ストレージデバイス２００は、第１チャレンジ情報の生成命令をコントローラ３０１から受理する。
【０１２０】
ステップＳ１００−２５において、ストレージデバイス２００は、第１チャレンジ情報の生成命令に基づいて、対称鍵Ｋｃ２を生成して保持する。
【０１２１】
ステップＳ１００−２７において、ストレージデバイス２００は、生成した対称鍵Ｋｃ２を用いて、第１チャレンジ情報Ｅ（ＫＰｄ３，Ｋｃ２）‖Ｃ［ＫＰｄ２］を生成する。
【０１２２】
ステップＳ１００−２９において、コントローラ３０１は、第１チャレンジ情報の出力命令をストレージデバイス２００に発行する。ステップＳ１００−３１において、ストレージデバイス２００は、第１チャレンジ情報の出力命令をコントローラ３０１から受理する。
【０１２３】
ステップＳ１００−３３において、ストレージデバイス２００は、第１チャレンジ情報Ｅ（ＫＰｄ３，Ｋｃ２）‖Ｃ［ＫＰｄ２］をコントローラ３０１に送信する。ステップＳ１００−３５において、コントローラ３０１は、ストレージデバイス２００によって送信された第１チャレンジ情報Ｅ（ＫＰｄ３，Ｋｃ２）‖Ｃ［ＫＰｄ２］を取得し、取得した第１チャレンジ情報を暗号エンジン３０５に送信する。
【０１２４】
ステップＳ１００−３７において、暗号エンジン３０５は、第１チャレンジ情報Ｅ（ＫＰｄ３，Ｋｃ２）‖Ｃ［ＫＰｄ２］を受信する。
【０１２５】
ステップＳ１００−３９において、暗号エンジン３０５は、第１チャレンジ情報Ｅ（ＫＰｄ３，Ｋｃ２）‖Ｃ［ＫＰｄ２］に含まれている証明書Ｃ［ＫＰｄ２］を検証し、証明書Ｃ［ＫＰｄ２］が正当なものであるか否かを判定する。
【０１２６】
証明書Ｃ［ＫＰｄ２］が正当なものでない場合（ステップＳ１００−３９のＮＯ）、ステップＳ１００−４１において、暗号エンジン３０５は、検証エラー通知をコントローラ３０１に送信する。ステップＳ１００−４３において、コントローラ３０１は、検証エラー通知を暗号エンジン３０５またはストレージデバイス２００から受信し、異常終了としてコネクション処理を終了する。
【０１２７】
証明書Ｃ［ＫＰｄ２］が正当なものである場合（ステップＳ１００−３９のＹＥＳ）、ステップＳ１００−４７において、暗号エンジン３０５は、第１チャレンジ情報Ｅ（ＫＰｄ３，Ｋｃ２）‖Ｃ［ＫＰｄ２］の前半部Ｅ（ＫＰｄ３，Ｋｃ２）を復号する。
【０１２８】
次に、図９に示すように、ステップＳ１００−４９において、コントローラ３０１は、第２チャレンジ情報の送信要求を暗号エンジン３０５に送信する。ステップＳ１００−５１において、暗号エンジン３０５は、第２チャレンジ情報の送信要求をコントローラ３０１から受信する。
【０１２９】
ステップＳ１００−５３において、暗号エンジン３０５は、第２チャレンジ情報の生成命令に基づいて、対称鍵Ｋｂ３を生成して保持する。
【０１３０】
ステップＳ１００−５５において、暗号エンジン３０５は、生成した対称鍵Ｋｂ３を用いて、第２チャレンジ情報Ｅ（Ｋｃ２，Ｅ（ＫＰｄ２，ＫＰｐ３‖Ｋｂ３））を生成し、生成した第２チャレンジ情報Ｅ（Ｋｃ２，Ｅ（ＫＰｄ２，ＫＰｐ３‖Ｋｂ３））をコントローラ３０１に送信する。
【０１３１】
ステップＳ１００−５７において、コントローラ３０１は、第２チャレンジ情報Ｅ（Ｋｃ２，Ｅ（ＫＰｄ２，ＫＰｐ３‖Ｋｂ３））を暗号エンジン３０５から受信する。
【０１３２】
ステップＳ１００−５９において、コントローラ３０１は、第２チャレンジ情報の処理命令をストレージデバイス２００に発行する。ステップＳ１００−６１において、ストレージデバイス２００は、第２チャレンジ情報の処理命令をコントローラ３０１から受理する。
【０１３３】
ステップＳ１００−６３において、コントローラ３０１は、第２チャレンジ情報Ｅ（Ｋｃ２，Ｅ（ＫＰｄ２，ＫＰｐ３‖Ｋｂ３））をストレージデバイス２００に送信する。ステップＳ１００−６５において、ストレージデバイス２００は、第２チャレンジ情報Ｅ（Ｋｃ２，Ｅ（ＫＰｄ２，ＫＰｐ３‖Ｋｂ３））をコントローラ３０１から受信する。
【０１３４】
ステップＳ１００−６７において、ストレージデバイス２００は、第２チャレンジ情報Ｅ（Ｋｃ２，Ｅ（ＫＰｄ２，ＫＰｐ３‖Ｋｂ３））を復号する。
【０１３５】
ステップＳ１００−６９において、ストレージデバイス２００は、対称鍵Ｋｂ２を生成して保持する。ステップＳ１００−７１において、ストレージデバイス２００は、対称鍵Ｋｂ２を用いて、コネクション情報Ｅ（ＫＰｐ３，Ｋｂ２‖ＫＰｐ２）を生成する。
【０１３６】
ステップＳ１００−７３において、コントローラ３０１は、コネクション情報の出力命令をストレージデバイス２００に発行する。ステップＳ１００−７５において、ストレージデバイス２００は、コネクション情報の出力命令をコントローラ３０１から受理する。
【０１３７】
ステップＳ１００−７７において、ストレージデバイス２００は、コネクション情報Ｅ（ＫＰｐ３，Ｋｂ２‖ＫＰｐ２）を出力する。さらに、ストレージデバイス２００は、“接続ログ”にＫＰｐ３，Ｋｂ２，Ｋｂ３を記録する。
【０１３８】
なお、接続ログは、再コネクション処理において用いられ、最新の通信コネクション（再コネクション処理による通信コネクションを含む）において共有された対称鍵Ｋｂ２，Ｋｂ３と、当該通信コネクション先の公開鍵ＫＰｐ３とが、それぞれひとつが記憶される。
【０１３９】
ステップＳ１００−７９において、コントローラ３０１は、ストレージデバイス２００によって送信されたコネクション情報Ｅ（Ｋｂ３，Ｅ（ＫＰｐ３，Ｋｂ２‖ＫＰｐ２））を取得し、取得したコネクション情報を暗号エンジン３０５に送信する。
【０１４０】
ステップＳ１００−８１において、暗号エンジン３０５は、コネクション情報Ｅ（Ｋｂ３，Ｅ（ＫＰｐ３，Ｋｂ２‖ＫＰｐ２））をコントローラ３０１から受信する。ステップＳ１００−８３において、暗号エンジン３０５は、コネクション情報Ｅ（Ｋｂ３，Ｅ（ＫＰｐ３，Ｋｂ２‖ＫＰｐ２））を復号して、対称鍵Ｋｂ２及び公開鍵ＫＰｐ２を取り出す。
【０１４１】
ステップＳ１００−８５において、暗号エンジン３０５は、コネクション情報Ｅ（Ｋｂ３，Ｅ（ＫＰｐ３，Ｋｂ２‖ＫＰｐ２））から取り出した対称鍵Ｋｂ２及び公開鍵ＫＰｐ２を保持し、“接続ログ”にＫＰｐ２，Ｋｂ２，Ｋｂ３を記録し、コネクション処理を終了する。
【０１４２】
すなわち、ステップＳ１００−８５までの処理が実行されることによって、ストレージデバイス２００（暗号エンジン２０５）及び暗号エンジン３０５の公開鍵ＫＰｐ２とＫＰｐ３とが交換されるとともに、ストレージデバイス２００及びコンテンツ再生装置３００の双方において、一時的にＫｂ２及びＫｂ３が共有され、通信コネクションが確立する。そして、この確立した通信コネクションによって、暗号通信が行われる。
【０１４３】
なお、接続ログは、再コネクション処理において用いられ、最新の通信コネクション（再コネクション処理による通信コネクションを含む）において共有された対称鍵Ｋｂ２，Ｋｂ３と、当該通信コネクション先の公開鍵ＫＰｐ２とが、それぞれひとつ記憶される。（３）再コネクション処理
図１０は、上述したステップＳ１０の再コネクション処理の内容を示している。同図に示すように、ステップＳ１０−１において、コントローラ３０１は、ストレージデバイス２００とコンテンツ再生装置３００との間において再び通信コネクションを確立するために必要となる第１リコネクション情報の送信要求を暗号エンジン３０５に送信する。ステップＳ１０−３において、暗号エンジン３０５は、第１リコネクション情報の送信要求をコントローラ３０１から受信する。
【０１４４】
ステップＳ１０−５において、暗号エンジン３０５は、第１リコネクション情報の送信要求に基づいて、対称鍵Ｋｂ３を生成して保持する。
【０１４５】
ステップＳ１０−７において、暗号エンジン３０５は、接続ログから公開鍵ＫＰｐ２及び対称鍵Ｋｂ２ｏｌｄを取得する。なお、対称鍵Ｋｂ２ｏｌｄ，Ｋｂ３ｏｌｄは、ステップＳ１０−７の処理の時点において、接続ログに記録されている対称鍵Ｋｂ２，Ｋｂ３を意味する。
【０１４６】
暗号エンジン３０５は、公開鍵ＫＰｐ２及び対称鍵Ｋｂ２ｏｌｄを取得して第１リコネクション情報Ｅ（ＫＰｐ２，Ｅ（Ｋｂ２ｏｌｄ，Ｋｂ３））を生成し、生成した第１リコネクション情報をコントローラ３０１に送信する。
【０１４７】
ステップＳ１０−９において、コントローラ３０１は、第１リコネクション情報Ｅ（ＫＰｐ２，Ｅ（Ｋｂ２ｏｌｄ，Ｋｂ３））を暗号エンジン３０５から受信する。
【０１４８】
ステップＳ１０−１１において、コントローラ３０１は、第１リコネクション情報の処理命令をストレージデバイス２００に発行する。ステップＳ１０−１３において、ストレージデバイス２００は、第１リコネクション情報の処理命令をコントローラ３０１から受理する。
【０１４９】
ステップＳ１０−１５において、コントローラ３０１は、第１リコネクション情報Ｅ（ＫＰｐ２，Ｅ（Ｋｂ２ｏｌｄ，Ｋｂ３））をストレージデバイス２００に送信する。ステップＳ１０−１７において、ストレージデバイス２００は、第１リコネクション情報Ｅ（ＫＰｐ２，Ｅ（Ｋｂ２ｏｌｄ，Ｋｂ３））をコントローラ３０１から受信する。
【０１５０】
ステップＳ１０−１９において、ストレージデバイス２００は、接続ログから対称鍵Ｋｂ２ｏｌｄを取得して、第１リコネクション情報を復号し、対称鍵Ｋｂ３を取り出す。
【０１５１】
ステップＳ１０−２１において、ストレージデバイス２００は、対称鍵Ｋｂ２を生成して保持する。ステップＳ１０−２３において、ストレージデバイス２００は、接続ログから公開鍵ＫＰｐ３及び対称鍵Ｋｂ３ｏｌｄを取得して、第２リコネクション情報Ｅ（ＫＰｐ３，Ｅ（Ｋｂ３ｏｌｄ，Ｋｂ２））を生成する。
【０１５２】
ステップＳ１０−２５において、コントローラ３０１は、第２リコネクション情報の出力命令をストレージデバイス２００に発行する。ステップＳ１０−２７において、ストレージデバイス２００は、第２リコネクション情報の出力命令をコントローラ３０１から受理する。
【０１５３】
ステップＳ１０−２９において、ストレージデバイス２００は、第２リコネクション情報Ｅ（ＫＰｐ３，Ｅ（Ｋｂ３ｏｌｄ，Ｋｂ２））を出力する。さらに、ストレージデバイス２００は、接続ログに記録されている対称鍵Ｋｂ２ｏｌｄ，Ｋｂ３ｏｌｄをＫｂ２，Ｋｂ３に書き換える。
【０１５４】
ステップＳ１０−３１において、コントローラ３０１は、ストレージデバイス２００によって送信された第２リコネクション情報Ｅ（ＫＰｐ３，Ｅ（Ｋｂ３ｏｌｄ，Ｋｂ２））を取得し、取得した第２リコネクション情報を暗号エンジン３０５に送信する。
【０１５５】
ステップＳ１０−３３において、暗号エンジン３０５は、第２リコネクション情報Ｅ（ＫＰｐ３，Ｅ（Ｋｂ３ｏｌｄ，Ｋｂ２））をコントローラ３０１から受信する。
【０１５６】
ステップＳ１０−３５において、暗号エンジン３０５は、接続ログから対称鍵Ｋｂ３ｏｌｄを取得して、第１リコネクション情報を復号し、対称鍵Ｋｂ２を取り出す。
【０１５７】
ステップＳ１０−３７において、暗号エンジン３０５は、ストレージデバイス２００とコンテンツ再生装置３００との間において、通信コネクションが確立されたか否か、つまり、ストレージデバイス２００（暗号エンジン２０５）及び暗号エンジン３０５において、対称鍵Ｋｂ２，Ｋｂ３が共有されたか否かを判定する。
【０１５８】
ストレージデバイス２００との間において通信コネクションが確立している場合（ステップＳ１０−３７のＹＥＳ）、ステップＳ１０−３９において、暗号エンジン３０５は、対称鍵Ｋｂ２，ＫＰｐ２を保持し、接続ログに記録されている対称鍵Ｋｂ２ｏｌｄ，Ｋｂ３ｏｌｄをＫｂ２，Ｋｂ３に書き換え、再コネクション処理を終了する。
【０１５９】
ストレージデバイス２００との間において、通信コネクションが確立していない場合（ステップＳ１０−３７のＮＯ）、コントローラ３０１及び暗号エンジン３０５は、ストレージデバイス２００との間において、通信コネクションが確立できないと判定し、異常終了として再コネクション処理を終了する。
【０１６０】
なお、通信コネクションが確立しているか否かは、例えば、復号したディジタルコンテンツのデータ構造が定められた形式であるか否かによって判定することができる。
【０１６１】
また、ステップＳ１０−３７における通信コネクションの確立を判定することなく、常に通信コネクションが確立しているものとして、処理を継続するようにしてもよい。
【０１６２】
この場合、通信コネクションが確立していれば、以降の暗号化されたデータが正常に転送される。通信コネクションが確立していなければ、暗号化されたデータを転送しても当該データを復号することができないからである。
（４）リード転送処理
図１１及び図１２は、上述したステップＳ１６０のリード転送処理の内容を示している。図１１に示すように、ステップＳ１６０−１において、コントローラ３０１は、転送ログリストを参照し、ストレージデバイス２００（耐タンパ性データ格納部２０７）に格納されているライセンスデータＬＩＣを読み出すライセンス読出命令をストレージデバイス２００に発行するとともに、ライセンスデータＬＩＣが格納されている耐タンパ性データ格納部２０７のアドレスを指定する。
【０１６３】
ステップＳ１６０−３において、ストレージデバイス２００は、ライセンス読出命令をコントローラ３０１から受理する。ステップＳ１６０−５において、ストレージデバイス２００は、指定されたアドレスに格納されたライセンスデータＬＩＣを読み出して保持する。
【０１６４】
ステップＳ１６０−７において、コントローラ３０１は、許諾情報ＬＣの出力命令をストレージデバイス２００に発行する。ステップＳ１６０−９において、ストレージデバイス２００は、許諾情報ＬＣの出力命令をコントローラ３０１から受理する。
【０１６５】
ステップＳ１６０−１１において、ストレージデバイス２００は、ライセンスデータＬＩＣに含まれている許諾情報ＬＣをコントローラ３０１に送信する。
【０１６６】
ステップＳ１６０−１３において、コントローラ３０１は、ストレージデバイス２００から受信した許諾情報ＬＣに含まれている利用則ＡＣとＵＣとが連結された“ＡＣ‖ＵＣ”の内容がＯＫか否か、つまり、対応するディジタルコンテンツが利用（例えば、再生）可能か否かを判定する。
【０１６７】
当該ディジタルコンテンツが利用可能な場合（ステップＳ１６０−１３のＹＥＳ）、テップＳ１６０−１５において、コントローラ３０１は、セッション情報の送信要求（ＬＣ‖ＡＤＲ‖Ｐ）を暗号エンジン３０５に送信する。なお、処理情報“Ｐ”とは、当該ディジタルコンテンツの利用種別（再生（ｐｌａｙｂａｃｋ）、複製（ｃｏｐｙ）及び移動（ｍｏｖｅ））を示すものである。
【０１６８】
当該ディジタルコンテンツが利用可能でない場合（ステップＳ１６０−１３のＮＯ）、コントローラ３０１は、異常終了としてリード転送処理を終了する。
【０１６９】
ステップＳ１６０−１７において、暗号エンジン３０５は、セッション情報の送信要求をコントローラ３０１から受信する。
【０１７０】
ステップＳ１６０−１９において、暗号エンジン３０５は、セッション情報の送信要求に基づいて、対称鍵Ｋｓ３を生成して保持する。
【０１７１】
ステップＳ１６０−２１において、暗号エンジン３０５は、受信したセッション情報の送信要求（ＬＣ‖ＡＤＲ‖Ｐ）を転送ログリストに追記する。なお、処理情報“Ｐ”は当該送信要求に含まれていなくてもよい。ストレージデバイス２００内に格納されているライセンスデータＬＩＣに含まれている利用則ＡＣの内容が変化することによって、処理情報“Ｐ”の内容を確認することができる。
【０１７２】
ステップＳ１６０−２３において、暗号エンジン３０５は、セッション情報Ｅ（Ｋｂ２，Ｋｓ３）を生成し、生成したセッション情報をコントローラ３０１に送信する。ステップＳ１６０−２５において、コントローラ３０１は、セッション情報をコントローラ３０１から受信する。
【０１７３】
ステップＳ１６０−２７において、コントローラ３０１は、セッション情報の処理命令をストレージデバイス２００に発行する。このとき、コントローラ３０１は、利用種別も併せて指定する。
【０１７４】
ステップＳ１６０−２９において、ストレージデバイス２００は、セッション情報の処理命令をコントローラ３０１から受理する。
【０１７５】
ステップＳ１６０−３１において、コントローラ３０１は、セッション情報Ｅ（Ｋｂ２，Ｋｓ３）をストレージデバイス２００に送信する。ステップＳ１６０−３３において、ストレージデバイス２００は、セッション情報をコントローラ３０１から受信する。
【０１７６】
ステップＳ１６０−３５において、ストレージデバイス２００は、セッション情報の処理命令によって指定された利用種別と、当該ライセンスデータＬＩＣに含まれている利用則ＡＣに基づいて、ライセンスデータＬＩＣの出力の可否を判定する。
【０１７７】
コンテンツ再生装置３００に適用される利用種別は、再生（ｐｌａｙｂａｃｋ）のみである。したがって、１）利用則ＡＣにおいてディジタルコンテンツの再生回数が設定され、再生回数の値が“０”（つまり、再生回数の残りがない）である場合、２）当該ライセンスデータＬＩＣが、以前に移動（ｍｏｖｅ）の対象となり、出力が不可とされている場合、３）利用則ＡＣに出力先の要件が記載されており、コンテンツ再生装置３００が当該要件に反している場合などにおいて、ストレージデバイス２００は、ライセンスデータＬＩＣを出力できないと判定する。
【０１７８】
なお、移動（ｍｏｖｅ）について出力不可の状態を設定している理由は、移動（ｍｏｖｅ）によってライセンスデータＬＩＣを削除してしまうと、ライセンスデータＬＩＣの復元ができなくなるためである。また、本実施形態では、移動（ｍｏｖｅ）による出力不可の状態を利用則ＡＣに反映して、利用則ＡＣに基づいて、ライセンスデータＬＩＣの出力可否を判定できるものとする。
【０１７９】
しかしながら、必ずしも移動（ｍｏｖｅ）による出力不可の状態を利用則ＡＣに反映させる必要はなく、別途、新たな“状態情報”を用いて、当該出力可否を判定してもよい。この場合、ステップＳ１６０−３５において、ストレージデバイス２００は、当該状態情報も参照して、当該出力可否を判定する。
【０１８０】
また、コンテンツ再生装置３００に代えて、コンテンツ記録装置１００を用いた場合、利用種別は、複製（ｃｏｐｙ）または移動（ｍｏｖｅ）となる。複製（ｃｏｐｙ）の場合、再生回数に代えて、“複製禁止／複製回数”による判定が加えられる。移動（ｍｏｖｅ）の場合、再生回数に代えて、“移動禁止”による判定が加えられる。
【０１８１】
ライセンスデータＬＩＣを出力可能でない場合（ステップＳ１６０−３５のＮＯ）、テップＳ１６０−３７において、ストレージデバイス２００は、ライセンスデータＬＩＣを出力可能でないことを示すエラー通知をコントローラ３０１に送信する。ステップＳ１６０−３９において、コントローラ３０１は、エラー通知をストレージデバイス２００から受信し、異常終了としてリード転送処理を終了する。
【０１８２】
ライセンスデータＬＩＣを出力可能である場合（ステップＳ１６０−３５のＹＥＳ）、ステップＳ１６０−４１において、ストレージデバイス２００は、受信したセッション情報Ｅ（Ｋｂ２，Ｋｓ３）を復号する。
【０１８３】
次に、図１２に示すように、ステップＳ１６０−４３において、ストレージデバイス２００は、暗号化されたライセンスデータＬＩＣであるＥ（Ｋｓ３，Ｅ（ＫＰｐ３，ＬＩＣ））を生成する。
【０１８４】
ステップＳ１６０−４５において、コントローラ３０１は、暗号化ライセンスデータの出力命令をストレージデバイス２００に発行する。ステップＳ１６０−４７において、ストレージデバイス２００は、暗号化ライセンスデータの出力命令をコントローラ３０１から受理する。
【０１８５】
ステップＳ１６０−４９において、ストレージデバイス２００は、耐タンパ性データ格納部２０７の特定のアドレスに格納されたライセンスデータＬＩＣの利用則ＡＣの内容を変更する。例えば、利用則ＡＣにおいて、ディジタルコンテンツの再生回数が１００回と規定されている場合、当該回数を９９回に減算する。
【０１８６】
なお、複製（ｃｏｐｙ）の場合、複製回数が規定されていれば、当該回数を“１”減算する。移動（ｍｏｖｅ）の場合、当該ライセンスデータＬＩＣを以後出力できない出力不可の状態とする。
【０１８７】
ステップＳ１６０−５１において、ストレージデバイス２００は、生成した暗号化ライセンスデータＥ（Ｋｓ３，Ｅ（ＫＰｐ３，ＬＩＣ））をコントローラ３０１に送信する。ステップＳ１６０−５３において、コントローラ３０１は、ストレージデバイス２００によって送信された暗号化ライセンスデータＥ（Ｋｓ３，Ｅ（ＫＰｐ３，ＬＩＣ））を取得し、取得した暗号化ライセンスデータを暗号エンジン３０５に送信する。
【０１８８】
ステップＳ１６０−５５において、暗号エンジン３０５は、暗号化ライセンスデータＥ（Ｋｓ３，Ｅ（ＫＰｐ３，ＬＩＣ））をコントローラ３０１から受信する。
【０１８９】
ステップＳ１６０−５７において、暗号エンジン３０５は、暗号化ライセンスデータＥ（Ｋｓ３，Ｅ（ＫＰｐ３，ＬＩＣ））を復号する。
【０１９０】
ステップＳ１６０−５９において、暗号エンジン３０５は、復号したライセンスデータＬＩＣが、格納している転送ログリストに含まれているライセンスＩＤ（ＬＩＤ）と一致するか否かを判定する。さらに、暗号エンジン３０５は、ライセンスＩＤ（ＬＩＤ）が一致しているライセンスデータＬＩＣに含まれている利用則ＵＣをチェックし、再生要件を確認する。
【０１９１】
ライセンスＩＤ（ＬＩＤ）が一致しない場合または再生要件を満たさない場合（ステップＳ１６０−５９のＮＯ）、ステップＳ１６０−６１において、暗号エンジン３０５は、再生できないことを示すエラー通知をコントローラ３０１に送信する。
【０１９２】
ライセンスＩＤ（ＬＩＤ）が一致し、再生要件を満たす場合（ステップＳ１６０−５９のＹＥＳ）、ステップＳ１６０−６３において、暗号エンジン３０５は、ライセンスデータＬＩＣに含まれているコンテンツ鍵Ｋｃｏｎｔを復号器３０７に供給するために保持するか、コンテンツ鍵Ｋｃｏｎｔの利用を終了し、コンテンツ鍵Ｋｃｏｎｔを破棄するか否かを判定する。
【０１９３】
コンテンツ鍵Ｋｃｏｎｔを保持した場合（ステップＳ１６０−６３のＹＥＳ）、ステップＳ１６０−６５において、暗号エンジン３０５は、ディジタルコンテンツが利用された判定されるような利用（例えば、音楽データを所定秒数以上に渡って再生した場合）があったか否かを監視する。
【０１９４】
ディジタルコンテンツが利用されたと判定されるような利用がない場合（ステップＳ１６０−６５のＮＯ）、暗号エンジン３０５は、ステップＳ１６０−６３からの処理を繰り返す。
【０１９５】
ディジタルコンテンツが利用されたと判定されるような利用があった場合（ステップＳ１６０−６５のＹＥＳ）、ステップＳ１６０−６７において、暗号エンジン３０５は、当該ディジタルコンテンツと対応付けられているライセンスデータＬＩＣのライセンスＩＤ（ＬＩＤ）を確認し、該当する“（ＬＣ‖ＡＤＲ‖Ｐ）”を転送ログリストから削除する。
【０１９６】
なお、ステップＳ１６０−６３〜Ｓ１６０−６５の処理は、コンテンツ鍵Ｋｃｏｎｔが保持されている間、定期的に繰り返し実行される。
【０１９７】
コンテンツ鍵Ｋｃｏｎｔを破棄する場合（ステップＳ１６０−６３のＮＯ）、またはステップＳ１６０−６１の処理に続き、ステップＳ１６０−６９において、コントローラ３０１は、ストレージデバイス２００から受信したライセンスデータＬＩＣの内容を、当該ディジタルコンテンツの利用に伴う更新前の状態に復元する必要があるか否かを判定する。
【０１９８】
つまり、当該ディジタルコンテンツが利用されたと判定されるような利用がない場合、例えば、コンテンツ再生装置３００が、ストレージデバイス２００から所定のディジタルコンテンツを再生するためのライセンスデータＬＩＣを取得したにもかかわらず、当該ライセンスデータＬＩＣと対応するディジタルコンテンツを全く再生しなかったり、利用と判定されないような短時間の再生であったりした場合、コントローラ３０１は、ライセンスデータＬＩＣの内容を、当該ディジタルコンテンツの利用に伴う更新前の状態に復元する必要があると判定する。
【０１９９】
ライセンスデータＬＩＣの内容を復元する必要がある場合（ステップＳ１６０−６９のＹＥＳ）、ステップＳ１６０−７１において、ストレージデバイス２００及びコンテンツ再生装置３００は、“復元転送処理”を実行する。
【０２００】
なお、ステップＳ１６０−７１における“復元転送処理”の内容は、ステップＳ８０における“復元転送処理”の内容と同様である。つまり、ステップＳ１６０−７１における“復元転送処理”は、“リード転送処理”中おいて、ライセンスデータＬＩＣの内容を復元する必要があると判定された場合に実行される。
【０２０１】
ライセンスデータＬＩＣの内容を復元する必要がない場合（ステップＳ１６０−６９のＮＯ）、コントローラ３０１は、リード転送処理を終了する。
（５）復元転送処理
図１３及び図１４は、上述したステップＳ８０の復元転送処理の内容を示している。図１３に示すように、ステップＳ８０−１において、コントローラ３０１は、転送ログリストを参照し、ストレージデバイス２００（耐タンパ性データ格納部２０７）に格納されているライセンスデータＬＩＣを読み出すライセンス読出命令をストレージデバイス２００に発行するとともに、ライセンスデータＬＩＣが格納されている耐タンパ性データ格納部２０７のアドレスを指定する。
【０２０２】
ステップＳ８０−３において、ストレージデバイス２００は、ライセンス読出命令をコントローラ３０１から受理する。ステップＳ８０−５において、ストレージデバイス２００は、指定されたアドレスに格納されたライセンスデータＬＩＣを読み出して保持する。
【０２０３】
ステップＳ８０−７において、コントローラ３０１は、許諾情報ＬＣの出力命令をストレージデバイス２００に発行する。ステップＳ８０−９において、ストレージデバイス２００は、許諾情報ＬＣの出力命令をコントローラ３０１から受理する。
【０２０４】
ステップＳ８０−１１において、ストレージデバイス２００は、ライセンスデータＬＩＣに含まれている許諾情報ＬＣをコントローラ３０１に送信する。ステップＳ８０−１３において、コントローラ３０１は、許諾情報ＬＣをストレージデバイス２００から受信する。
【０２０５】
ステップＳ８０−１５において、コントローラ３０１は、ストレージデバイス２００から受信した許諾情報ＬＣに基づいて、ライセンスデータＬＩＣの内容を、対応するディジタルコンテンツの利用に伴う更新前の状態に復元する必要があるか否かを判定する。
【０２０６】
具体的には、コントローラ３０１は、ストレージデバイス２００から受信した許諾情報ＬＣに含まれているライセンスＩＤ（ＬＩＤ）が、判定の対象となる許諾情報ＬＣに含まれているライセンスＩＤ（ＬＩＤ）と一致し、それぞれの許諾情報ＬＣに含まれている利用則ＡＣの内容が異なる場合、すなわち、リード転送処理が中断され（転送ログリストに同一のライセンスＩＤ（ＬＩＤ）が含まれる）、先のライセンスデータＬＩＣの送信によって、ストレージデバイス２００に格納されているライセンスデータＬＩＣに含まれている利用則ＡＣの内容が更新されている（それぞれの許諾情報ＬＣに含まれている利用則ＡＣの内容が異なる）場合、ライセンスデータＬＩＣの復元が必要であると判定する。
【０２０７】
ストレージデバイス２００に格納されているライセンスデータＬＩＣを復元する必要がある場合（ステップＳ８０−１５のＹＥＳ）、ステップＳ８０−１７において、コントローラ３０１は、セッション情報の生成命令をストレージデバイス２００に発行する。
【０２０８】
ストレージデバイス２００に格納されているライセンスデータＬＩＣを復元する必要がない場合（ステップＳ１６０−１５のＮＯ）、コントローラ３０１は、復元転送処理を終了する。
【０２０９】
ステップＳ８０−１９において、ストレージデバイス２００は、セッション情報の生成命令をコントローラ３０１から受理する。
【０２１０】
ステップＳ８０−２１において、ストレージデバイス２００は、対称鍵Ｋｓ２を生成して保持する。ステップＳ８０−２３において、ストレージデバイス２００は、対称鍵Ｋｓ２を用いて、セッション情報Ｅ（Ｋｂ３，Ｋｓ２）を生成する。
【０２１１】
ステップＳ８０−２５において、コントローラ３０１は、セッション情報の出力命令をストレージデバイス２００に発行する。ステップＳ８０−２７において、ストレージデバイス２００は、セッション情報の出力命令をコントローラ３０１から受理する。
【０２１２】
ステップＳ８０−２９において、ストレージデバイス２００は、セッション情報Ｅ（Ｋｂ３，Ｋｓ２）をコントローラ３０１に送信する。ステップＳ８０−３１において、コントローラ３０１は、セッション情報をストレージデバイス２００から受信する。
【０２１３】
ステップＳ８０−３３において、コントローラ３０１は、ログ検証要求（セッション情報‖許諾情報ＬＣ）を暗号エンジン３０５に送信する。ステップＳ８０−３５において、暗号エンジン３０５は、ログ検証要求（具体的には、ログ検証要求に含まれている許諾情報ＬＣ）をコントローラ３０１から受信する。
【０２１４】
ステップＳ８０−３７において、暗号エンジン３０５は、コントローラ３０１から受信した許諾情報ＬＣの内容と、転送ログリストに含まれている許諾情報ＬＣの内容とを確認、具体的には、コントローラ３０１から受信した許諾情報ＬＣに含まれているライセンスＩＤ（ＬＩＤ）と同一のライセンスＩＤ（ＬＩＤ）を含む許諾情報ＬＣが転送ログリストに含まれているか否かを判定する。
【０２１５】
該当する許諾情報ＬＣが転送ログリストに含まれている場合（ステップＳ８０−３７のＹＥＳ）、ステップＳ８０−３９において、暗号エンジン３０５は、それぞれの許諾情報ＬＣに含まれている利用則ＡＣの内容を比較する。
【０２１６】
２つの利用則ＡＣの内容が異なる場合（ステップＳ８０−３９のＹｅｓ）、つまり、先のライセンスデータＬＩＣの送信において、ストレージデバイス２００に格納されているライセンスデータＬＩＣに含まれている利用則ＡＣが更新されていると判定された場合、暗号エンジン３０５は、図１４に示すステップＳ８０−４５の処理に移行する。
【０２１７】
該当する許諾情報ＬＣが転送ログリストに含まれていない場合（ステップＳ８０−３７のＮＯ）、及び２つの利用則ＡＣが一致し、内容が更新されていないと判定される場合（ステップＳ８０−３９のＮＯ）、ステップＳ８０−４１において、暗号エンジン３０５は、ライセンスデータＬＩＣを復元できないことを示すエラー通知をコントローラ３０１に送信する。
【０２１８】
ステップＳ８０−４３において、コントローラ３０１は、エラー通知を暗号エンジン３０５から受信し、異常終了として転送復元処理を終了する。
【０２１９】
次に、図１４に示すように、ステップＳ８０−４５において、暗号エンジン３０５は、受信したセッション情報Ｅ（Ｋｂ３，Ｋｓ２）を復号し、対称鍵Ｋｓ２を取り出す。
【０２２０】
ステップＳ８０−４７において、暗号エンジン３０５は、対称鍵Ｋｓ２と、ストレージデバイス２００の公開鍵ＫＰｐ３とを用いて“ＬＩＤ‖ＡＣ”を暗号化した復元情報Ｅ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＤ‖ＡＣ））を生成し、生成した復元情報Ｅ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＤ‖ＡＣ））をコントローラ３０１に送信する。ステップＳ８０−４９において、コントローラ３０１は、復元情報Ｅ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＤ‖ＡＣ））を暗号エンジン３０５から受信する。
【０２２１】
ステップＳ８０−５１において、コントローラ３０１は、ライセンスデータＬＩＣの復元命令をストレージデバイス２００に発行する。また、コントローラ３０１は、ストレージデバイス２００（耐タンパ性データ格納部２０７）におけるライセンスデータＬＩＣの格納先アドレスを指定してストレージデバイス２００に通知する。
【０２２２】
ステップＳ８０−５３において、ストレージデバイス２００は、ライセンスデータＬＩＣの復元命令をコントローラ３０１から受理する。ストレージデバイス２００は、当該復元命令に基づいて、復元情報Ｅ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＤ‖ＡＣ））の送信をコントローラ３０１に要求する。
【０２２３】
ステップＳ８０−５５において、コントローラ３０１は、復元情報Ｅ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＤ‖ＡＣ））をストレージデバイス２００に送信する。
【０２２４】
ステップＳ８０−５７において、ストレージデバイス２００は、復元情報Ｅ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＤ‖ＡＣ））をコントローラ３０１から受信する。さらに、ストレージデバイス２００は、Ｅ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＤ‖ＡＣ））を秘密鍵Ｋｐ２と対称鍵Ｋｓ２とを用いて復号し、ライセンスＩＤ（ＬＩＤ）と利用則ＡＣとを取り出す。
【０２２５】
ステップＳ８０−５８において、ストレージデバイス２００は、コントローラ３０１によって指定された当該アドレスに格納されているライセンスデータＬＩＣに含まれているライセンスＩＤ（ＬＩＤ）と、Ｅ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＤ‖ＡＣ））を復号して取り出したライセンスＩＤ（ＬＩＤ）とが一致するか否かを判定する。
【０２２６】
ライセンスＩＤ（ＬＩＤ）が一致しない場合（ステップＳ８０−５８のＮＯ）、ステップＳ８０−６０において、ストレージデバイス２００は、復元情報Ｅ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＤ‖ＡＣ））を信頼できない情報と判定し、ライセンスデータＬＩＣの復元命令に対する処理を実行しないことを示すエラー通知を、コントローラ３０１に送信する。
【０２２７】
ステップＳ８０−６２において、コントローラ３０１は、エラー通知をストレージデバイス２００から受信し、異常終了として復元転送処理を終了する。
【０２２８】
一方、ライセンスＩＤ（ＬＩＤ）が一致した場合、ステップＳ８０−５９において、ストレージデバイス２００は、コントローラ３０１によって指定された当該アドレスに格納されているライセンスデータＬＩＣに含まれている利用則ＡＣを復元情報から取り出した利用則ＡＣに書き換える。このとき、当該アドレスに格納されているライセンスデータＬＩＣを、出力可能な状態に設定する。
【０２２９】
復元情報から取り出した利用則ＡＣは、先のライセンスデータＬＩＣの送信前における利用則ＡＣであり、利用則ＡＣの書き換えは、当該ライセンスデータＬＩＣを送信前における状態に復元したことになる。なお、出力可能な状態への設定は、ライセンスデータＬＩＣの送信が移動（ｍｏｖｅ）であった場合、出力不可の状態となっているので、当該ライセンスデータＬＩＣを送信前の状態に復元する。
【０２３０】
これによって、再生（ｐｌａｙｂａｃｋ）、複製（ｃｏｐｙ）または移動（ｍｏｖｅ）の利用種別に関係なく、ライセンスデータＬＩＣを送信前の状態に復元することができる。したがって、ストレージデバイス２００は、先の送信におけるライセンスデータＬＩＣの利用種別を復元のために記録しておく必要はない。
【０２３１】
ステップＳ８０−６１において、ストレージデバイス２００は、利用則ＡＣの書き換えが完了したことを示す完了通知をコントローラ３０１に送信する。なお、当該完了通知には、ライセンスＩＤ（ＬＩＤ）が含まれている。
【０２３２】
ステップＳ８０−６３において、コントローラ３０１は、ストレージデバイス２００によって送信された完了通知を取得し、取得した完了通知を暗号エンジン３０５に送信する。ステップＳ８０−６５において、暗号エンジン３０５は、完了通知をコントローラ３０１から受信する。
【０２３３】
ステップＳ８０−６７において、暗号エンジン３０５は、受信した完了通知に含まれているライセンスＩＤ（ＬＩＤ）を確認し、当該ライセンスＩＤ（ＬＩＤ）を有するライセンスデータＬＩＣを転送ログリストから削除し、転送復元処理を終了する。
（作用・効果）
以上説明した本実施形態に係るコンテンツ利用システム１０によれば、ディジタルコンテンツを利用するための権利を取得したにもかかわらずコンテンツ再生装置３００においてディジタルコンテンツが利用されていないと判定された場合、コンテンツ再生装置３００は、ストレージデバイス２００から受信したライセンスデータＬＩＣを更新前の状態に復元することをストレージデバイス２００に要求する。
【０２３４】
また、ストレージデバイス２００では、復元の要求に伴ってコンテンツ再生装置３００から受信した転送ログリストの内容が、更新して記憶したライセンスデータＬＩＣと一致するか否かを判定し、ライセンスデータＬＩＣを更新前の状態に復元する。
【０２３５】
すなわち、かかる特徴によれば、ストレージデバイス２００によって送信されたライセンスデータＬＩＣを用いてディジタルコンテンツが正常に利用されなかった場合、ストレージデバイス２００が管理するライセンスデータＬＩＣの内容を送信前の状態に復元することができる。
【０２３６】
また、コンテンツ利用システム１０によれば、ライセンスデータＬＩＣ（利用則ＡＣ）の送受信の中断などによって、通信コネクションが切断された場合であっても、ライセンスデータＬＩＣの送受信に用いられ、一時的に生成されるテンポラリ鍵である対称鍵（Ｋｂ２ｏｌｄ，Ｋｂ３ｏｌｄ）を用いて、再度通信コネクションを確立した後に、ライセンスデータＬＩＣの内容を送信前の状態に復元する処理が実行される（上述した再コネクション処理を参照）。
【０２３７】
すなわち、通信コネクションの切断後であっても、切断された通信コネクションにおいて用いた対称鍵（Ｋｂ２ｏｌｄ，Ｋｂ３ｏｌｄ）を用いることによって、ライセンスデータＬＩＣを送受信した相手方の装置を確実に特定することができるため、コンテンツ再生装置３００のなりすましなど、ディジタルコンテンツを利用する権利の許可範囲を超えるようなライセンスデータＬＩＣの復元が防止される。このため、ディジタルコンテンツの利用者の利便性を高めつつ、ディジタルコンテンツの著作者の権利（著作権など）を保護することができる。
（その他の実施形態）
上述したように、本発明の一実施形態を通じて本発明の内容を開示したが、この開示の一部をなす論述及び図面は、本発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態が明らかとなろう。
【０２３８】
例えば、上述した本発明の実施形態では、ストレージデバイス２００によって送信されるライセンスデータＬＩＣは、公開鍵ＫＰｐ３によって暗号化され、さらに対称鍵Ｋｓ３によって暗号化されたＥ（Ｋｓ３，Ｅ（ＫＰｐ３，ＬＩＣ））としたが、暗号化の順序は、これに限定されるものではない。
【０２３９】
例えば、暗号化の順序は、逆（Ｅ（ＫＰｐ３，Ｅ（Ｋｓ３，ＬＩＣ））としてもよく、この場合でもＥ（Ｋｓ３，Ｅ（ＫＰｐ３，ＬＩＣ））と同じ暗号強度を得ることができる。さらに、復元情報Ｅ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＤ‖ＡＣ））についても同様に、Ｅ（ＫＰｐ２，Ｅ（Ｋｓ２，ＬＩＤ‖ＡＣ））としても構わない。
【０２４０】
上述した本発明の実施形態では、対称鍵Ｋｓ２，Ｋｓ３は、セッション情報Ｅ（Ｋｂ２，Ｋｓ３），Ｅ（Ｋｂ３，Ｋｓ２）として、一重の暗号で送信する形態としたが、ライセンスデータＬＩＣや復元情報と同様に、二重に暗号化することもできる。例えば、セッション情報をＥ（Ｋｂ２，Ｅ（Ｋｂ３，Ｋｓ３）），Ｅ（Ｋｂ３，Ｅ（Ｋｂ２，Ｋｓ２））をなどとすればよい。
【０２４１】
上述した本発明の実施形態では、通信コネクションの確立時に、ストレージデバイス２００と暗号エンジン３０５との双方が共有した対称鍵Ｋｂ２，Ｋｂ３をセッション情報の生成に継続して用いる形態としたが、暗号化されたライセンスデータＬＩＣ、または復元情報の送受信ごとに、当該対称鍵を更新するようにしてもよい。
【０２４２】
この場合、対称鍵Ｋｂ２，Ｋｂ３として、それぞれ直前に用いた対称鍵Ｋｓ２，Ｋｓ３（以下、Ｋｓ２ｏｌｄ，Ｋｓ３ｏｌｄ）を用いるようにすればよい。
【０２４３】
一重に暗号化した場合におけるセッション情報Ｅ（Ｋｓ２ｏｌｄ，Ｋｓ３），Ｅ（Ｋｓ３ｏｌｄ，Ｋｓ２）を二重に暗号化した場合、セッション情報は、Ｅ（Ｋｓ２ｏｌｄ，Ｅ（Ｋｓ３ｏｌｄ，Ｋｓ３）），Ｅ（Ｋｓ３ｏｌｄ，Ｅ（Ｋｓ２ｏｌｄ，Ｋｓ２））となる。また、初回のＫｓ２ｏｌｄ，Ｋｓ３ｏｌｄとしては、対称鍵Ｋｂ２，Ｋｂ３を用いればよい。
【０２４４】
上述した本発明の実施形態では、通信コネクションの確立時に生成されるテンポラリ鍵である対称鍵Ｋｂ２ｏｌｄ，Ｋｂ３ｏｌｄを用いて通信コネクションを再確立する形態としたが、必ずしも当該対称鍵を用いなくても構わない。通信コネクションの確立時または確立後に生成した一時的なテンポラリ鍵であれば、どのようなテンポラリ鍵を用いても構わない。
【０２４５】
上述した本発明の実施形態では、ストレージデバイス２００とコンテンツ再生装置３００との間における処理について主に説明したが、本発明は、ストレージデバイス２００とコンテンツ記録装置１００との間における処理にも適用することができる。
【０２４６】
上述した本発明の実施形態では、ディジタルコンテンツの再生（ｐｌａｙｂａｃｋ）を例として説明したが、本発明は、ディジタルコンテンツの複製（ｃｏｐｙ）や、ライセンスデータＬＩＣの他の記録メディアへの移動（ｍｏｖｅ）にも適用することができる。
【０２４７】
上述した本発明の実施形態では、ディジタルコンテンツとして、音楽データを例として説明したが、本発明は、音楽データに限定して適用されるものではなく、映像データ（静止画及び動画）、ゲームなどのプログラム、ドキュメントなどのあらゆるマルチメディア情報に適用することができる。
【０２４８】
また、本発明に係る論理ブロック（コントローラ２０１，暗号エンジン２０５，コントローラ３０１，暗号エンジン３０５）は、パーソナル・コンピュータなどにおいて実行可能なプログラムとして提供することもできる。
【０２４９】
このように、本発明は、ここでは記載していない様々な実施の形態などを含むことは勿論である。したがって、本発明の技術的範囲は、上述の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【符号の説明】
【０２５０】
１０…コンテンツ利用システム、１００…コンテンツ記録装置、１０１…コントローラ、１０３…ストレージインタフェース、１０５…暗号エンジン、１０７…復号器、１０９…暗号器、１１１…暗号エンジン、１１３…ストレージインタフェース、１１５…データバス、２００，２００Ａ…ストレージデバイス、２０１…コントローラ、２０３…ストレージインタフェース、２０５…暗号エンジン、２０７…耐タンパ性データ格納部、２０９…通常データ格納部、２１１…データバス、２２１…制御部、２２３…証明書出力部、２２５…証明書検証部、２２７…暗号化部、２２９…復号部、２３１…乱数発生部、２３３…署名演算部、２３５…ローカルバス、３００…コンテンツ再生装置、３０１…コントローラ、３０３…ストレージインタフェース、３０５…暗号エンジン、３０７…復号器、３０９…コンテンツデコーダ、３１１…データバス、３２１…制御部、３２３…証明書出力部、３２５…証明書検証部、３２７…暗号化部、３２９…復号部、３３１…乱数発生部、３３３…署名演算部、３３５…ログ格納部、３３７…ローカルバス
【図１】
2010020778.tif 000003
【図２】
2010020778.tif 000004
【図３】
2010020778.tif 000005
【図４】
2010020778.tif 000006
【図５】
2010020778.tif 000007
【図６】
2010020778.tif 000008
【図７】
2010020778.tif 000009
【図８】
2010020778.tif 000010
【図９】
2010020778.tif 000011
【図１０】
2010020778.tif 000012
【図１１】
2010020778.tif 000013
【図１２】
2010020778.tif 000014
【図１３】
2010020778.tif 000015
【図１４】
2010020778.tif 000016