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