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