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