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