(57)【要約】【課題】コンテンツの著作権を保護しつつ、ユーザの利便性を向上させる技術を提供する。【解決手段】ユーザが操作部４０１を介してストレージデバイス２００に格納された地図データの利用開始又は複製を要求すると、制御部４０２は、まず、暗号エンジン１０３により、ストレージデバイス２００からコンテンツ鍵を読み出させる。つづいて、ライセンス生成部４０７により、読み出されたコンテンツ鍵を、機器ＩＤ保持部４０４に保持されている機器ＩＤで暗号化させる。生成されたコンテンツ鍵を含むライセンスデータは、暗号エンジン１０３を介してストレージデバイス２００に転送され、ストレージデバイス２００に記録されていたライセンスデータに上書きされて置き換えられる。【選択図】図１５
2007304822.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツ鍵により暗号化されたコンテンツデータと、前記コンテンツ鍵とを格納した可搬型の記憶装置から、前記暗号化されたコンテンツデータを利用するために、又は、前記コンテンツ鍵を複製するために前記コンテンツ鍵を読み出すときに、
前記コンテンツデータの利用又は前記コンテンツ鍵の複製の要求を受け付けるステップと、
前記記憶装置から前記コンテンツ鍵を読み出すステップと、
読み出した前記コンテンツ鍵が、前記コンテンツ鍵を用いて前記暗号化されたコンテンツデータを復号可能な利用装置に固有で、かつ、外部に漏洩しないように秘匿された情報を用いて暗号化されているか否かを判定するステップと、
前記コンテンツ鍵が暗号化されていない場合、前記利用装置に固有で、かつ、外部に漏洩しないように秘匿された情報を用いて、前記コンテンツ鍵を暗号化するステップと、
暗号化された前記コンテンツ鍵を前記記憶装置に送り、前記コンテンツ鍵に換えて記録するステップと、
を含むことを特徴とするコンテンツ管理方法。
【請求項２】
前記コンテンツ鍵の複製の要求を受け付けたとき、前記暗号化されたコンテンツ鍵を、複製先の記憶装置に記録するステップを更に含むことを特徴とする請求項１に記載のコンテンツ管理方法。
【請求項３】
外部に漏洩しないように秘匿されたメモリに、読み出した前記コンテンツ鍵を保持するステップを更に含むことを特徴とする請求項１又は２に記載のコンテンツ管理方法。
【請求項４】
前記装置は、同種の装置群を識別するために付与されたモデルＩＤを保持しており、
前記コンテンツ鍵は、前記モデルＩＤにより暗号化されており、
前記コンテンツ鍵を暗号化するステップの前に、前記モデルＩＤを用いて暗号化されたコンテンツ鍵を復号するステップを更に含むことを特徴とする請求項１から３のいずれかに記載のコンテンツ管理方法。
【請求項５】
前記装置に固有で、かつ、外部に漏洩しないように秘匿された情報は、前記装置のＩＤであることを特徴とする請求項１から４のいずれかに記載のコンテンツ管理方法。
【請求項６】
前記コンテンツ鍵は、前記記憶装置と前記装置との間で、暗号化されて入出力されることを特徴とする請求項１から５のいずれかに記載のコンテンツ管理方法。
【請求項７】
前記コンテンツデータの利用の要求を受け付けたときに、
前記記憶装置から前記コンテンツ鍵を読み出すステップと、
読み出したコンテンツ鍵が、前記利用装置に固有で、かつ、外部に漏洩しないように秘匿された情報で暗号化されているか否かを判定するステップと、
前記コンテンツ鍵が暗号化されていた場合、自装置に固有で、かつ、外部に漏洩しないように秘匿された情報を用いて、前記コンテンツ鍵を復号するステップと、
前記記憶装置から前記暗号化されたコンテンツデータを読み出すステップと、
復号した前記コンテンツ鍵を用いて、読み出した前記暗号化されたコンテンツデータを復号するステップと、
を更に含むことを特徴とする請求項１から６のいずれかに記載のコンテンツ管理方法。
【請求項８】
前記コンテンツデータは、地図データであり、前記装置は、カーナビゲーション装置であることを特徴とする請求項１から７のいずれかに記載のコンテンツ管理方法。
【請求項９】
暗号化されたコンテンツデータを復号するためのコンテンツ鍵を、可搬型の記憶装置との間で入出力する入出力部と、
自装置に固有の情報を外部に漏洩しないように保持する固有情報保持部と、
前記コンテンツ鍵を、前記固有の情報で暗号化する生成部と、
前記コンテンツ鍵を用いた前記コンテンツデータの利用、又は、前記コンテンツ鍵の複製の要求を受け付ける操作部と、
前記コンテンツデータの利用又は前記コンテンツ鍵の複製の要求を受け付けたときに、前記記憶装置に格納された前記コンテンツ鍵を前記入出力部により取得し、取得したコンテンツ鍵を前記生成部により前記自装置に固有の情報で暗号化し、暗号化された前記コンテンツ鍵を前記入出力部により前記記憶装置に送り、元のコンテンツ鍵に換えて記録させる制御部と、
を備えることを特徴とするコンテンツ管理装置。
【請求項１０】
前記制御部は、前記コンテンツデータの複製の要求を受け付けたときに、前記暗号化されたコンテンツ鍵を前記入出力部により複製先の記憶装置に送り、記録させることを特徴とする請求項９に記載のコンテンツ管理装置。
【請求項１１】
前記コンテンツ鍵を格納するための、外部に漏洩しないように秘匿されたライセンスメモリを更に備え、
前記制御部は、前記コンテンツデータの利用又は前記コンテンツ鍵の複製の要求を受け付けたときに、前記記憶装置に格納された前記コンテンツ鍵を前記ライセンスメモリにムーブし、前記ライセンスメモリに格納された前記コンテンツ鍵を前記生成部により前記固有の情報で暗号化し、暗号化された前記コンテンツ鍵を前記入出力部により前記記憶装置に送って前記記憶装置に複製することを特徴とする請求項９又は１０に記載のコンテンツ管理装置。
【請求項１２】
同種の装置群を識別するために付与されたモデルＩＤを保持するモデルＩＤ保持部と、
前記記憶装置から取得した前記コンテンツ鍵が前記モデルＩＤで暗号化されていたときに、前記モデルＩＤ保持部に保持された前記モデルＩＤで復号して前記コンテンツ鍵を取得するライセンス判読部と、
を更に備えることを特徴とする請求項９から１１のいずれかに記載のコンテンツ管理装置。
【請求項１３】
前記固有の情報は、当該コンテンツ管理装置の機器ＩＤであることを特徴とする請求項９から１２のいずれかに記載のコンテンツ管理装置。
【請求項１４】
前記入出力部は、前記記憶装置との間で前記コンテンツ鍵を入出力する際に、前記コンテンツ鍵を暗号化して入出力することを特徴とする請求項９から１３のいずれかに記載のコンテンツ管理装置。
【請求項１５】
当該コンテンツ管理装置に固有の情報で暗号化されたコンテンツ鍵を復号するライセンス判読部と、
前記暗号化されたコンテンツデータを前記コンテンツ鍵で復号するコンテンツ復号部と、を更に備え、
前記制御部は、前記コンテンツデータの復号の要求を受け付けたときに、前記記憶装置に格納された前記コンテンツ鍵を前記入出力部により取得し、取得したコンテンツ鍵が暗号化されていた場合、前記ライセンス判読部により前記コンテンツ鍵を復号して前記コンテンツ復号部に供給し、前記記憶装置から取得した暗号化されたコンテンツデータを前記コンテンツ復号部により復号することを特徴とする請求項９から１４のいずれかに記載のコンテンツ管理装置。
【請求項１６】
前記コンテンツデータは地図データであり、当該コンテンツ管理装置はカーナビゲーション装置であることを特徴とする請求項９から１５のいずれかに記載のコンテンツ管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツデータの管理技術に関し、とくに、暗号化されたコンテンツデータを復号するためのコンテンツ鍵の複製を管理するコンテンツ管理装置及び方法に関する。
【背景技術】
【０００２】
コンテンツデータを保護する著作権保護方式として、コンテンツデータを暗号化し、その復号鍵（以下、「コンテンツ鍵」と称す）を含むコンテンツ利用情報（以下、「ライセンスデータ」と称す）の秘匿性を高めて管理する方式がよく知られている（例えば、特許文献１参照）。特許文献１に開示されたデータ配信システムでは、ライセンスデータを扱う装置として、配信サーバ、ストレージデバイスとしてのメモリカード、利用装置としての携帯電話機のコンテンツ再生デバイスの３つの装置が挙げられている。そして、配信サーバとストレージデバイス、および、ストレージデバイスと利用装置の間で暗号化通信路を構築し、その暗号化通信路を介してライセンスデータの送受信を行う。配信サーバ、ストレージデバイス、利用装置には、暗号化されたライセンスデータを扱うためのＴＲＭ（Tamper Resistant Module）が備えられている。
【０００３】
暗号化通信路の構築では、まず、ライセンスデータを提供する装置（以下、「ライセンス提供装置」と称す）が、ライセンスデータを享受する装置（以下、「ライセンス享受装置」と称す）に、公開鍵を含んだ証明書を送信する。そして、ライセンス提供装置が、この証明書を検証し、検証の結果、ライセンス享受装置から送信された証明書が正規の証明書であり、かつ、証明書破棄リストによって無効とされていない場合に、この証明書に含まれる公開鍵を利用して、装置間で鍵交換を行う。そして、ライセンス提供装置からライセンス享受装置に送られた鍵で暗号化されたライセンスデータが、ライセンス提供装置からライセンス享受装置に送信される。ＴＲＭは、物理的に秘匿性が保護された回路モジュールであって、暗号化通信路を介してのみ、ライセンスデータをやり取りすることができるよう構成されている。
【０００４】
以上のように、この著作権保護方式においては、コンテンツデータの暗号化と、ライセンスデータの秘匿によって、コンテンツに係る著作権保護の徹底が図られている。さらに、再生回数制御やコピー回数制御などの利用制限の導入と移動制御によって、様々な配信サービスへの展開や、デジタル放送の録画を可能としている。
【特許文献１】特開２００２−３６６４４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
近年、自動車等に搭載されて地図を表示したり目的地への経路を案内したりするカーナビゲーション装置が広く普及している。カーナビゲーション装置が普及し始めた当初は、地図データを格納する記憶媒体としてＣＤ−ＲＯＭが利用されていたが、より詳細な地図を表示するために、より容量の大きいハードディスク装置に地図データを格納したカーナビゲーション装置が普及し始めている。このような状況下、本発明者は、上述した著作権保護方式により著作権の保護を徹底しつつ、ユーザによるバックアップのための複製を可能とし、ユーザの便宜を図る技術を想到するに至った。
【０００６】
本発明は、こうした状況に鑑みてなされたものであり、その目的は、コンテンツの著作権を保護しつつ、ユーザの利便性を向上させることができる技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある態様は、コンテンツ管理方法に関する。このコンテンツ管理方法は、コンテンツ鍵により暗号化されたコンテンツデータと、前記コンテンツ鍵とを格納した可搬型の記憶装置から、前記暗号化されたコンテンツデータを利用するために、又は、前記コンテンツ鍵を複製するために前記コンテンツ鍵を読み出すときに、前記コンテンツデータの利用又は前記コンテンツ鍵の複製の要求を受け付けるステップと、前記記憶装置から前記コンテンツ鍵を読み出すステップと、読み出した前記コンテンツ鍵が、前記コンテンツ鍵を用いて前記暗号化されたコンテンツデータを復号可能な利用装置に固有で、かつ、外部に漏洩しないように秘匿された情報を用いて暗号化されているか否かを判定するステップと、前記コンテンツ鍵が暗号化されていない場合、前記利用装置に固有で、かつ、外部に漏洩しないように秘匿された情報を用いて、前記コンテンツ鍵を暗号化するステップと、暗号化された前記コンテンツ鍵を前記記憶装置に送り、前記コンテンツ鍵に換えて記録するステップと、を含むことを特徴とする。
【０００８】
コンテンツデータの利用開始時、又は、コンテンツ鍵の複製時に、コンテンツ鍵を装置に固有で秘匿された情報により暗号化することで、コンテンツ鍵がその装置に紐付けられ、以降、その装置以外の装置ではコンテンツデータを復号することができなくなる。これにより、その装置でのみ利用可能な形態でバックアップのための複製を許容してユーザの便宜を図りつつ、他の装置での利用を禁止し、コンテンツの著作権を適切に保護することができる。
【０００９】
コンテンツ管理方法は、前記コンテンツ鍵の複製の要求を受け付けたとき、前記暗号化された前記コンテンツ鍵を、複製先の記憶装置に記録するステップを更に含んでもよい。
【００１０】
コンテンツ管理方法は、外部に漏洩しないように秘匿されたメモリに、読み出した前記コンテンツ鍵を保持するステップを更に含んでもよい。メモリに保持されたコンテンツ鍵は、コンテンツ鍵の複製が終了した後に消去されてもよいし、それ以降も継続的に保持されて、コンテンツデータの復号のために利用されてもよい。
【００１１】
前記装置は、同種の装置群を識別するために付与されたモデルＩＤを保持してもよく、前記コンテンツ鍵は、前記モデルＩＤにより暗号化されてもよく、コンテンツ管理方法は、前記コンテンツ鍵を暗号化するステップの前に、前記モデルＩＤを用いて暗号化されたコンテンツ鍵を復号するステップを更に含んでもよい。これにより、予めモデルＩＤが付与された特定の装置群でしかコンテンツ鍵を復号することができないので、さらにコンテンツ鍵のセキュリティ性を向上させ、コンテンツデータを適切に保護することができる。
【００１２】
前記装置に固有で、かつ、外部に漏洩しないように秘匿された情報は、前記装置のＩＤであってもよい。前記コンテンツ鍵は、前記記憶装置と前記装置との間で、暗号化されて入出力されてもよい。
【００１３】
コンテンツ管理方法は、前記コンテンツデータの利用の要求を受け付けたときに、前記記憶装置から前記コンテンツ鍵を読み出すステップと、読み出したコンテンツ鍵が、前記利用装置に固有で、かつ、外部に漏洩しないように秘匿された情報で暗号化されているか否かを判定するステップと、前記コンテンツ鍵が暗号化されていた場合、自装置に固有で、かつ、外部に漏洩しないように秘匿された情報を用いて、前記コンテンツ鍵を復号するステップと、前記記憶装置から前記暗号化されたコンテンツデータを読み出すステップと、復号した前記コンテンツ鍵を用いて、読み出した前記暗号化されたコンテンツデータを復号するステップと、を更に含んでもよい。
【００１４】
前記コンテンツデータは、地図データであってもよく、前記装置は、カーナビゲーション装置であってもよい。
【００１５】
本発明の別の態様は、コンテンツ管理装置に関する。このコンテンツ管理装置は、暗号化されたコンテンツデータを復号するためのコンテンツ鍵を、可搬型の記憶装置との間で入出力する入出力部と、自装置に固有の情報を外部に漏洩しないように保持する固有情報保持部と、前記コンテンツ鍵を、前記固有の情報で暗号化する生成部と、前記コンテンツ鍵を用いた前記コンテンツデータの利用、又は、前記コンテンツ鍵の複製の要求を受け付ける操作部と、前記コンテンツデータの利用又は前記コンテンツ鍵の複製の要求を受け付けたときに、前記記憶装置に格納された前記コンテンツ鍵を前記入出力部により取得し、取得したコンテンツ鍵を前記生成部により前記自装置に固有の情報で暗号化し、暗号化された前記コンテンツ鍵を前記入出力部により前記記憶装置に送り、元のコンテンツ鍵に換えて記録させる制御部と、を備えることを特徴とする。
【００１６】
前記制御部は、前記コンテンツデータの複製の要求を受け付けたときに、前記暗号化されたコンテンツ鍵を前記入出力部により複製先の記憶装置に送り、記録させてもよい。
【００１７】
コンテンツ管理装置は、前記コンテンツ鍵を格納するための、外部に漏洩しないように秘匿されたライセンスメモリを更に備えてもよく、前記制御部は、前記コンテンツデータの利用又は前記コンテンツ鍵の複製の要求を受け付けたときに、前記記憶装置に格納された前記コンテンツ鍵を前記ライセンスメモリにムーブし、前記ライセンスメモリに格納された前記コンテンツ鍵を前記生成部により前記固有の情報で暗号化し、暗号化された前記コンテンツ鍵を前記入出力部により前記記憶装置に送って前記記憶装置に複製してもよい。
【００１８】
コンテンツ管理装置は、同種の装置群を識別するために付与されたモデルＩＤを保持するモデルＩＤ保持部と、前記記憶媒体から取得した前記コンテンツ鍵が前記モデルＩＤで暗号化されていたときに、前記モデルＩＤ保持部に保持された前記モデルＩＤで復号して前記コンテンツ鍵を取得するライセンス判読部と、を更に備えてもよい。
【００１９】
前記固有の情報は、当該コンテンツ管理装置の機器ＩＤであってもよい。前記入出力部は、前記記憶装置との間で前記コンテンツ鍵を入出力する際に、前記コンテンツ鍵を暗号化して入出力してもよい。
【００２０】
コンテンツ管理装置は、当該コンテンツ管理装置に固有の情報で暗号化されたコンテンツ鍵を復号するライセンス判読部と、前記暗号化されたコンテンツデータを前記コンテンツ鍵で復号するコンテンツ復号部と、を更に備えてもよく、前記制御部は、前記コンテンツデータの復号の要求を受け付けたときに、前記記憶装置に格納された前記コンテンツ鍵を前記入出力部により取得し、取得したコンテンツ鍵が暗号化されていた場合、前記ライセンス判読部により前記コンテンツ鍵を復号して前記コンテンツ復号部に供給し、前記記憶装置から取得した暗号化されたコンテンツデータを前記コンテンツ復号部により復号してもよい。
【００２１】
前記コンテンツデータは地図データであり、当該コンテンツ管理装置はカーナビゲーション装置であってもよい。
【発明の効果】
【００２２】
本発明によれば、コンテンツの著作権を保護しつつ、ユーザの利便性を向上させることができる。
【発明を実施するための最良の形態】
【００２３】
本発明の実施の形態について、図を参照しながら以下に説明する。まず、前提技術として、コンテンツを暗号化するコンテンツ鍵を、再生装置の機器ＩＤなどにより暗号化又はスクランブルし、正当な再生装置でないとコンテンツを復号して再生することができないようにすることで、コンテンツを保護する技術について説明する。つづいて、本発明の実施の形態として、バックアップを目的としてコンテンツデータを複製する際に、正当な装置でないとコンテンツを復号することができないようにする技術について説明する。
【００２４】
前提技術では、音楽などのコンテンツデータを複製する際に、ユーザが所有する他の再生装置でも再生可能とするために、コンテンツ鍵を再生装置の機器ＩＤ等に紐付けするが、実施の形態では、ストレージデバイスの故障などによりコンテンツデータを利用できなくなったときのために、バックアップとして複製することを目的としているので、基本的には１つの装置のみでコンテンツを利用可能とし、他の装置では利用できないようにすることを想定している。
【００２５】
（前提技術）
図１は、前提技術に係るデータ管理システム１０の全体構成を示す。データ管理システム１０は、ＣＤやＤＶＤなどの記憶媒体２０に格納された音楽や映像などのコンテンツデータをストレージデバイス２００に記録し、ストレージデバイス２００に記録されたコンテンツデータを再生する記録再生装置１００と、ストレージデバイス２００に記録されたコンテンツデータを他の装置、例えば、カーオーディオ３００ａ、再生専用装置３００ｂ、記録再生装置３００ｃなどで再生することを可能とするために、コンテンツデータの複製を格納する脱着型のストレージデバイス２５０を含む。
【００２６】
記録再生装置１００は、記憶媒体２０に格納されたコンテンツデータを取り出して、ストレージデバイス２００に格納するときに、コンテンツデータを暗号化するためのコンテンツ鍵を、記録再生装置１００に紐付けした形式で生成し、コンテンツデータをコンテンツ鍵で暗号化して記録する。このとき、コンテンツデータの著作権を保護するために、コンテンツデータに付加されている利用情報、例えば複製の可否や回数などの制限、再生の回数などの制限などを示す情報を取得する。そして、取得した利用情報の形式を変換する。この利用情報と、先に生成したコンテンツ鍵とをパッケージ化したデータ（以下、「一次利用ライセンスデータ」と呼ぶ）を暗号化してストレージデバイス２００に記録する。記録再生装置１００に紐付けするとは、記録再生装置１００の機器ＩＤ、記録再生装置１００を構成する半導体部品などに埋め込まれているデバイスＩＤ、記録再生装置１００にインストールされているＯＳなどのソフトウェアのプログラムＩＤ、暗号処理にて使用する埋め込み型の秘密鍵などの、記録再生装置１００や記録再生装置１００の機能単位を特定できる識別データを用いないと、一次利用ライセンスデータからコンテンツ鍵を取り出すことができず、暗号化コンテンツデータを復号できないということを意味する。なお、ここではコンテンツ鍵を記録再生装置１００に紐付けしたものとして説明をするが、記憶媒体２０の購入者など正当な権限を有するユーザに対して紐付けしてもよい。本前提技術では、コンテンツ鍵を機器ＩＤに紐付けする場合を例に取って説明する。
【００２７】
記録再生装置１００は、ストレージデバイス２００に記録されたコンテンツデータを再生するときには、ストレージデバイス２００から暗号化された一次利用ライセンスデータを読み出して、一次利用ライセンスデータから、機器ＩＤを用いてコンテンツ鍵を取得する。そして、取得したコンテンツ鍵で暗号化コンテンツデータを復号して再生する。これにより、コンテンツデータの不正な複製を抑止することができ、コンテンツデータの著作権を適切に保護することができる。
【００２８】
近年、携帯用の再生装置が広く普及しており、例えば、音楽ＣＤに記録されたコンテンツデータをパーソナルコンピュータなどの記録再生装置１００に蓄積し、所望の曲を携帯用再生装置に複製して持ち歩くという利用形態が普及している。本前提技術では、このような利用形態を実現するために、記録再生装置１００は、ストレージデバイス２００に格納されている暗号化コンテンツデータをストレージデバイス２５０へ複製する。このとき、記録再生装置１００は、ストレージデバイス２００に格納されている一次利用ライセンスデータから、再生専用の二次利用ライセンスデータを生成し、ストレージデバイス２５０に記録する。この二次利用ライセンスデータは、記録再生装置１００に紐付されない形式のコンテンツ鍵と、再生以外の使用を禁止した利許諾用情報を含み、二次利用ライセンスデータの複製も禁止される。これにより、コンテンツデータの著作権を適切に保護しつつ、携帯用再生装置などによるコンテンツデータの私的利用を可能とし、ユーザの利便性を向上させることができる。
【００２９】
本前提技術のストレージデバイス２５０は、データを保持する記憶媒体だけでなく、記録再生装置１００などのホスト装置と記憶媒体との間でのデータの入出力を制御するコントローラなどの構成を備えるドライブ一体型の可搬型ストレージデバイスである。本前提技術では、ストレージデバイス２５０として、可搬型ハードディスクドライブを例にとって説明する。なお、ストレージデバイス２００は、特に形態は問わないが、説明を簡単にするためストレージデバイス２５０と同じ機能をもつドライブ一体型の可搬型ストレージデバイスとして説明する。しかしながら、記録再生装置１００に内蔵されたハードディスクなどにより実現されてもよい。また、ストレージデバイス２５０の記録媒体は、半導体メモリ、ＣＤ−ＲＯＭ、ＤＶＤなどにより実現されてもよい。
【００３０】
従来のハードディスクドライブは、一つのホスト装置に固定的に接続されて使用されるのが一般的であったが、本前提技術のストレージデバイス２００及び２５０は、記録再生装置１００などのホスト装置に対して、着脱が自在になされるよう構成されている。すなわち、本前提技術のストレージデバイス２００及び２５０は、ＣＤやＤＶＤなどと同様にホスト装置から取り外して持ち運ぶことができ、記録再生装置１００のほか、カーオーディオ３００ａ、再生専用装置３００ｂ、記録再生装置３００ｃ、又はこれらの装置と通信ケーブルや通信網を介して接続された端末装置などの複数のホスト装置間で共用することが可能な記憶装置である。
【００３１】
このように、本前提技術のストレージデバイス２００及び２５０は、複数のホスト装置に接続されることを前提にしており、たとえば、所有者以外の第三者のホスト装置に接続され、記録されたデータが読み出される可能性もある。このストレージデバイス２００及び２５０に、音楽や映像などの著作権により保護されるべきコンテンツ、企業や個人の機密情報などの秘匿すべきデータを記録することを想定したとき、それらの秘匿データが外部に漏洩することを防ぐためには、ストレージデバイス２００及び２５０自身にデータを適切に保護するための構成を設け、十分な耐タンパ機能を持たせることが好ましい。
【００３２】
このような観点から、本前提技術のストレージデバイス２００及び２５０は、ホスト装置との間で秘匿データを入出力するときに、その秘匿データを暗号化してやり取りするための構成を備える。また、秘匿データを格納するために、通常の記憶領域とは異なる機密データ記憶領域を設け、その機密データ記憶領域はストレージデバイス２００及び２５０内に設けられた暗号エンジンを介さないとアクセスできないように構成する。この暗号エンジンは、正当な権限を有すると検証されたホスト装置のみと秘匿データの入出力を行う。以下、このようなデータ保護機能を「セキュア機能」ともいう。上記の構成および機能により、ストレージデバイス２００及び２５０に記録された秘匿データを適切に保護することができる。
【００３３】
ストレージデバイス２００及び２５０のリムーバブルメディアとしての特徴を最大限に生かすため、通常のデータについては、セキュア機能に非対応のホスト装置でも入出力可能とするのが好ましい。そのため、本前提技術のストレージデバイス２００及び２５０は、従来のハードディスクとの互換性を保つべく、ＡＮＳＩ（American National Standards Institute）の標準規格であるＡＴＡ（AT Attachment）に対応しており、上述のセキュア機能は、ＡＴＡの拡張命令として実現される。
【００３４】
記憶媒体２０に記録されたコンテンツデータをストレージデバイス２００又は２５０に記録する際に、コンテンツデータ自身を秘匿データとして扱ってもよいが、本前提技術では、コンテンツデータを暗号化し、暗号化されたコンテンツデータ自身は、ストレージデバイス２００又は２５０に通常のデータとして記録する。そして、暗号化されたコンテンツを復号するためのコンテンツ鍵と、コンテンツの再生制御や、ライセンスの利用、移動、複製に関する制御に関する情報（以下、「利用情報」と称す）を含むデータ（以下、「ライセンスデータ」と称す）を、秘匿データとして上述のセキュア機能を用いて入出力を行う。これにより、十分な耐タンパ性を維持しつつ、データの入出力を簡略化し、処理の高速化および消費電力の低減を図ることができる。
【００３５】
ここで、ライセンスデータは、コンテンツ鍵や利用情報の他に、ライセンスデータを特定するための識別情報ＬＩＤを含むものとする。また、利用情報として、ライセンスデータの複製回数の上限を示す制御情報ＣＣを含むものとする。ここでは、制御情報ＣＣは、１バイトの符号なし整数であり、その値がライセンスデータの複製回数の上限値を示すものとし、ライセンスデータを複製する毎に１減算されるものとする。また、ＣＣ＝２５５は、例外として、複製回数の上限設定がないことを示し、ライセンスデータの複製によって、値を変化させないものとする。なお、ここで示した制御情報ＣＣの設定方法および運用方法は、本前提技術における一例であって、特に限定するものではない。
【００３６】
なお、以下においては、記録再生装置１００などのホスト装置がストレージデバイス２００又は２５０に対して発行する命令のうち、セキュア機能のための拡張命令を「セキュアコマンド」とも呼び、その他の命令を「通常コマンド」とも呼ぶ。
【００３７】
図２は、前提技術に係る記録再生装置１００の内部構成を示す。この構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩなどで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【００３８】
記録再生装置１００は、主に、コントローラ１０１、ストレージインタフェース１０２ａ及び１０２ｂ、暗号エンジン１０３、コンテンツ暗号部１０４、コンテンツ復号部１１１、それらを電気的に接続するデータバス１１０、利用情報検出部１０６、一次利用ライセンス生成部１０７、ライセンス判読部１０８、二次利用ライセンス生成部１０９、利用情報付加部１１２、及び再生部１１３を備える。ストレージデバイス２００は、記録再生装置１００に内蔵されていてもよいし、上述したように、記録再生装置１００に着脱可能に設けられてもよい。
【００３９】
利用情報検出部１０６は、記憶媒体２０に格納されているデータの中から利用情報を検出する。利用情報は、記憶媒体２０の所定領域に格納されていてもよいし、コンテンツデータの所定領域に格納されていてもよいし、コンテンツデータにウォーターマークなどの技術を用いて埋め込まれていてもよい。検出された利用情報は、一次利用ライセンス生成部１０７へ伝達される。
【００４０】
一次利用ライセンス生成部１０７は、コンテンツデータを暗号化するためのコンテンツ鍵を生成する。また、利用情報検出部１０６が検出した利用情報を継承した利用情報を生成する。一次利用ライセンス生成部１０７は、生成したコンテンツ鍵と利用情報から、記録再生装置１００において利用可能な一次利用ライセンスデータを生成する。生成されたコンテンツ鍵はコンテンツ暗号部１０４へ伝達される。また、生成された一次利用ライセンスデータは暗号エンジン１０３へ伝達され、暗号エンジン１０３を介してストレージデバイス２００に記録される。
【００４１】
コンテンツ暗号部１０４は、一次利用ライセンス生成部１０７から伝達されたコンテンツ鍵を用いて、記憶媒体２０から読み出されたコンテンツデータを暗号化する。暗号化されたコンテンツデータは、データバス１１０及びストレージインタフェース１０２ａを介して、通常コマンドによりストレージデバイス２００に記録される。
【００４２】
暗号エンジン１０３は、一次利用ライセンスデータをストレージデバイス２００との間で入出力するために、ストレージデバイス２００との間で暗号通信の制御を行う。また、暗号エンジン１０３は、二次利用ライセンスデータをストレージデバイス２５０に記録するために、ストレージデバイス２５０との間で暗号通信の制御を行う。暗号エンジン１０３の構成及び動作の詳細については後述する。ストレージインタフェース１０２ａ、１０２ｂは、それぞれ、ストレージデバイス２００、２５０とのデータの入出力を制御する。コントローラ１０１は、記録再生装置１００の構成要素を統括的に制御する。
【００４３】
ライセンス判読部１０８は、ストレージデバイス２００に記録された一次利用ライセンスデータを取得して判読し、コンテンツ鍵と利用情報を取得する。記録再生装置１００においてコンテンツを再生するときには、ライセンス判読部１０８は、利用情報を解析して再生の可否を判定し、再生が許可される場合は、コンテンツ鍵をコンテンツ復号部１１１に伝達し、利用情報を利用情報付加部１１２に伝達する。ライセンスデータをストレージデバイス２５０に複製するときには、ライセンス判読部１０８は、利用情報を解析して複製の可否を判定し、複製が許可される場合は、コンテンツ鍵及び利用情報を二次利用ライセンス生成部１０９へ伝達する。
【００４４】
コンテンツ復号部１１１は、ストレージデバイス２００から取得した暗号化コンテンツデータを、ライセンス判読部１０８から取得したコンテンツ鍵で復号する。利用情報付加部１１２は、コンテンツ復号部１１１により復号されたコンテンツデータに、ライセンス判読部１０８から伝達された利用情報を付加する。利用情報付加部１１２は、コンテンツデータの所定位置に利用情報を付加してもよいし、コンテンツデータにウォーターマークなどの技術を用いて利用情報を埋め込んでもよく、要は、記憶媒体２０に格納されているコンテンツデータと同じ状態になるようにコンテンツデータを整形する。再生部１１３は、利用情報付加部１１２により整形されたコンテンツデータを再生する。再生部１１３が利用情報を必要としない場合は、コンテンツ復号部１１１により復号されたコンテンツデータを直接再生部１１３へ出力してもよい。この場合、利用情報付加部１１２は設けなくてもよい。
【００４５】
二次利用ライセンス生成部１０９は、ライセンス判読部１０８から伝達されたコンテンツ鍵と利用情報を用いて、二次利用ライセンスデータを生成する。生成された二次利用ライセンスデータは暗号エンジン１０３へ伝達され、暗号エンジン１０３を介してストレージデバイス２５０に記録される。ストレージデバイス２５０に記録された二次利用ライセンスデータは、再生専用装置３００ｂなどにおいてコンテンツデータを再生するためにのみ利用可能であり、複製は禁止される。
【００４６】
図３は、一次利用ライセンス生成部１０７及びコンテンツ暗号部１０４の内部構成を示す。一次利用ライセンス生成部１０７は、利用情報変換部１６０、乱数生成部１６１、ＩＤ整形部１６２、コンテンツ鍵暗号部１６３、及びライセンスデータフォーマッタ１６４を含む。コンテンツ暗号部１０４は、データ挿入部１５０及び暗号器１５１を含む。
【００４７】
利用情報変換部１６０は、利用情報検出部１０６から利用情報を取得し、データ形式やデータの内容を変換する。暗号化コンテンツデータに利用情報を挿入する必要がある場合は、利用情報変換部１６０は、挿入すべき情報を抽出してデータ挿入部１５０へ伝達する。また、利用情報変換部１６０は、ライセンスデータのフォーマットに合わせて利用情報を変換する。ライセンスデータのフォーマットは図５を参照して説明する。
【００４８】
乱数生成部１６１は、コンテンツ鍵Ｋｃとして用いられる乱数を発生し、コンテンツ鍵暗号部１６３及び暗号器１５１へ伝達する。ＩＤ整形部１６２は、記録再生装置１００の機器ＩＤを取得し、コンテンツ鍵暗号部１６３においてコンテンツ鍵を暗号化するための暗号鍵として利用可能な形式に整形する。機器ＩＤは、記録再生装置１００のＢＩＯＳ領域に固定的に記録されていてもよい。また、機器ＩＤに代えて、記録再生装置１００のユーザのＩＤ、記録再生装置１００において動作するＯＳやリッピングアプリケーションなどのプログラムのＩＤ、ストレージデバイス２００の機器ＩＤなどを用いてもよい。要は、コンテンツデータを利用する権利を有するユーザ又は装置のみが知りうる情報であればよい。ＩＤ整形部１６２は、コンテンツ鍵暗号部１６３が採用する暗号方式における暗号鍵のビット長に合わせて、取得した機器ＩＤを整形する。例えば、機器ＩＤのビット数が暗号鍵のビット長よりも少ない場合は、０などでパディングしてもよい。逆に、機器ＩＤのビット数が暗号鍵のビット長よりも多い場合は、先頭から順に必要なビット長を取り出してもよいし、末尾から順に必要なビット長を取り出してもよい。
【００４９】
コンテンツ鍵暗号部１６３は、乱数生成部１６１から伝達されたコンテンツ鍵Ｋｃを、ＩＤ整形部１６２から伝達された暗号鍵で暗号化する。コンテンツ鍵暗号部１６３における暗号方式は任意でよく、例えばＡＥＳ（Advanced Encryption Standard）方式などであってもよい。ＡＥＳの鍵長は、１２８、１９２、２５６ビットのいずれかであってもよく、ＩＤ整形部１６２は、コンテンツ鍵暗号部１６３が必要とする鍵長に機器ＩＤを整形する。コンテンツ鍵暗号部１６３は、コンテンツ鍵Ｋｃと機器ＩＤの排他的論理和などを演算することにより、暗号化コンテンツ鍵を生成してもよい。暗号化されたコンテンツ鍵は、ライセンスデータフォーマッタ１６４へ伝達される。
【００５０】
ＡＥＳは共通鍵暗号方式であるから、暗号化コンテンツ鍵を復号するためには、機器ＩＤを取得してＩＤ整形部１６２と同様に整形し、同一の共通鍵を得ればよい。したがって、記録再生装置１００は、自身の機器ＩＤを用いて暗号化コンテンツ鍵を復号することができ、復号したコンテンツ鍵により暗号化コンテンツデータを復号して再生することができる。しかし、他の装置は、記録再生装置１００の機器ＩＤを取得することができないので、たとえ暗号化コンテンツ鍵を複製したとしても、それを復号することはできない。このように、機器ＩＤを利用してコンテンツ鍵を暗号化することにより、コンテンツ鍵はその装置に束縛され、その装置でしか利用することができないようになる。
【００５１】
なお、上記の例では、乱数生成部１６１が生成した乱数をコンテンツ鍵Ｋｃとしたが、別の例では、乱数生成部１６１が生成した乱数に対して、ＩＤ整形部１６２が整形した機器ＩＤを用いてコンテンツ鍵暗号部１６３により暗号演算を行ったものをコンテンツ鍵Ｋｃとしてもよい。この場合は、乱数生成部１６１が生成した乱数をライセンスデータに記録しておき、再生時には、ライセンスデータに格納された乱数と機器ＩＤから同様の演算によりコンテンツ鍵Ｋｃを得る。この場合も、コンテンツ鍵Ｋｃを得るには機器ＩＤが必要となる。
【００５２】
ライセンスデータフォーマッタ１６４は、利用情報変換部１６０から伝達された利用情報と、コンテンツ鍵暗号部１６３から伝達された暗号化コンテンツ鍵とを、所定のフォーマットに整形して、一次利用ライセンスデータを生成する。
【００５３】
図４は、ライセンスデータのデータ構造を示す。ライセンスデータは、ライセンスデータのＩＤを格納する「ＬＩＤ」欄、コンテンツ鍵が機器ＩＤなどに紐付けられているか否かを示す「Ｂｉｎｄｉｎｇ  Ｆｌａｇ」欄、コンテンツ鍵を格納する「Ｋｃ」欄、ブロック暗号の初期ベクトルを格納する「Ｉｎｉｔｉａｌ  Ｖｅｃｔｏｒ」欄、ライセンスデータの利用制御情報を格納する「Ａｃｃｅｓｓ  Ｃｏｎｄｉｔｉｏｎ」欄を含む。
【００５４】
「Ｂｉｎｄｉｎｇ  Ｆｌａｇ」欄には、一次利用ライセンスデータでは、装置に束縛されている、すなわち機器ＩＤにより暗号化されていることを示す「１（ｂｉｎｄ）」が格納され、二次利用ライセンスデータでは、装置に束縛されていないことを示す「０（ｎｏｔ  ｂｉｎｄ）」が格納される。二次利用ライセンスデータは、再生のためだけに使用され、他の装置に複製及び移動することができないので、コンテンツ鍵は機器ＩＤに紐付けられていない。
【００５５】
「Ｋｃ」欄には、一次利用ライセンスデータでは、機器ＩＤに紐付けされたコンテンツ鍵（ｂｉｎｄｅｄ  Ｋｃ）が格納され、二次利用ライセンスデータでは、コンテンツ鍵Ｋｃが格納される。上述したように、二次利用ライセンスデータは、他の装置に複製及び移動することができないので、コンテンツ鍵Ｋｃが暗号化されずにそのまま格納される。一次利用ライセンスデータであっても、複製に関する制限がない場合には、コンテンツ鍵を機器ＩＤに紐付けせずにそのまま格納してもよい。また、逆に、二次利用ライセンスデータの生成が禁止されている場合にも、二次利用ライセンスデータと同様に、コンテンツ鍵Ｋｃをそのまま格納してもよい。
【００５６】
本前提技術においては、「ｂｉｎｄｅｄ  Ｋｃ」として、機器ＩＤを用いて暗号化されたコンテンツ鍵を採用しているが、コンテンツ鍵と機器ＩＤとのビット単位の排他的論理和などの簡易的な方法により生成されたデータなどであってもよい。つまり、「ｂｉｎｄｅｄ  Ｋｃ」と機器ＩＤとにより、コンテンツ鍵Ｋｃが一意に決まりさえすればよい。
【００５７】
「Ｉｎｉｔｉａｌ  Ｖｅｃｔｏｒ」欄には、一次利用ライセンスデータでは、初期ベクトル「ＩＶ」又は機器ＩＤに紐付けられた初期ベクトル「ｂｉｎｄｅｄ  ＩＶ」が格納され、二次利用ライセンスデータでは、初期ベクトル「ＩＶ」が格納される。
【００５８】
「Ａｃｃｅｓｓ  Ｃｏｎｄｉｔｉｏｎ」欄には、一次利用ライセンスデータでは、複製の上限を示す「Ｃｏｐｙ  Ｃｏｕｎｔ」値として「２」が格納され、二次利用ライセンスデータでは、複製禁止を示す「０（Ｎｅｖｅｒ  ｃｏｐｙ）」が格納される。本前提技術においては、「Ａｃｃｅｓｓ  Ｃｏｎｄｉｔｉｏｎ」欄に、複製に関する利用情報を記載する例を示したが、これに加えて二次利用ライセンスデータの生成可否、または、許可数を指定できるようにしてもよい。許可数を指定する場合、二次利用ライセンスデータを出力する都度この値を減算していく必要がある。
【００５９】
図５は、ライセンス判読部１０８の内部構成を示す。ライセンス判読部１０８は、形式解析部１７１、ＩＤ整形部１７２、コンテンツ鍵復号部１７３、スイッチ１７４及び１７５を含む。
【００６０】
形式解析部１７１は、暗号エンジン１０３を介してストレージデバイスから読み出されたライセンスデータを取得し、その形式を解析する。形式解析部１７１は、図４に示したライセンスデータの各フィールドの値を解析し、利用情報やコンテンツ鍵を抽出して出力するとともに、各フィールドの値に応じてスイッチ１７４及び１７５を制御する。形式解析部１７１により抽出された利用情報は、コンテンツの再生時には利用情報付加部１１２へ、コンテンツの複製時にはスイッチ１７４を介して二次利用ライセンス生成部１０９へ出力される。形式解析部１７１により抽出されたコンテンツ鍵は、暗号化されていればコンテンツ鍵復号部１７３へ、暗号化されていなければスイッチ１７５を介してコンテンツ復号部１１１へ出力される。
【００６１】
ＩＤ整形部１７２は、ＩＤ整形部１６２が生成した暗号鍵により暗号化されたコンテンツ鍵を復号するための復号鍵を生成する。前述したように、ＩＤ整形部１６２が記録再生装置１００の機器ＩＤを整形して共通鍵方式の暗号鍵を生成した場合には、ＩＤ整形部１７２は、記録再生装置１００の機器ＩＤを取得し、ＩＤ整形部１６２と同様の方法で整形して、同一の共通鍵を生成する。コンテンツ鍵復号部１７３は、形式解析部１７１から伝達された暗号化されたコンテンツ鍵を、ＩＤ整形部１７２から伝達された復号鍵で復号する。
【００６２】
コンテンツの再生時、スイッチ１７５の上側の端子には、形式解析部１７１から暗号化されていないコンテンツ鍵Ｋｃが出力され、スイッチ１７５の下側の端子には、コンテンツ鍵復号部１７３から復号されたコンテンツ鍵Ｋｃが出力される。形式解析部１７１は、ライセンスデータの「Ｂｉｎｄｉｎｇ  Ｆｌａｇ」欄を参照して、コンテンツ鍵が暗号化されているか否かを判定し、暗号化されていればスイッチ１７５を上側の端子に、暗号化されていなければ下側の端子につなぐ。これにより、スイッチ１７５を介して、コンテンツ鍵Ｋｃがコンテンツ復号部１１１に出力される。
【００６３】
コンテンツの複製時、スイッチ１７４の左側の端子には、形式解析部１７１から利用情報が出力され、スイッチ１７４の右側の端子には、コンテンツ鍵復号部１７３から復号されたコンテンツ鍵Ｋｃが出力される。形式解析部１７１は、ライセンスデータの「Ａｃｃｅｓｓ  Ｃｏｎｄｉｔｉｏｎ」欄を参照して、コンテンツ鍵の複製が許可されるか否かを判定し、許可される場合はスイッチ１７４をオンにして利用情報及びコンテンツ鍵を二次利用ライセンス生成部１０９に出力し、禁止される場合はスイッチ１７４をオフにして利用情報及びコンテンツ鍵の出力を禁止する。
【００６４】
二次利用ライセンス生成部１０９は、取得した利用情報とコンテンツ鍵を用いて、図４に示したデータ構造の二次利用ライセンスデータを生成する。生成された二次利用ライセンスデータは、暗号エンジン１０３を介してストレージデバイス２５０に記録される。
【００６５】
図３及び図５に示した例では、一次利用ライセンスデータの生成時に、機器ＩＤをもとに生成された共通鍵によりコンテンツ鍵Ｋｃを暗号化して「ｂｉｎｄｅｄ  Ｋｃ」を生成し、一次利用ライセンスデータの利用時には、機器ＩＤをもとに生成された共通鍵により「ｂｉｎｄｅｄ  Ｋｃ」を復号してコンテンツ鍵Ｋｃを得た。別の例として、一次利用ライセンス生成部１０７のコンテンツ鍵暗号部１６３は、コンテンツ鍵Ｋｃに機器ＩＤなどを用いて所定の演算を施して、コンテンツ鍵Ｋｃを変換したデータを「ｂｉｎｄｅｄ  Ｋｃ」としてもよい。演算は、例えば、ビット単位で排他的論理和、論理和、論理積、否定論理和、否定論理積をとる演算などであってもよい。この場合、ライセンス判読部１０８のコンテンツ鍵復号部１７３は、一次利用ライセンスデータから得られる「ｂｉｎｄｅｄ  Ｋｃ」に、機器ＩＤを用いて、コンテンツ鍵暗号部１６３において施された演算の逆演算を施すことによりコンテンツ鍵Ｋｃを得ることができる。
【００６６】
コンテンツ鍵に機器ＩＤを紐付ける方式の更に別の例を説明する。図６は、一次利用ライセンス生成部１０７の別の構成例を示す。本図に示した一次利用ライセンス生成部１０７は、図３に示した一次利用ライセンス生成部１０７の構成に比べて、コンテンツ鍵暗号部１６３に代えて演算部１６６を含む。その他の構成は、図６に示した一次利用ライセンス生成部１０７と同様である。
【００６７】
本図の例では、乱数生成部１６１が生成した乱数がライセンスデータフォーマッタ１６４に伝達され、一次利用ライセンスデータに格納される。すなわち、この乱数が「ｂｉｎｄｅｄ  Ｋｃ」として扱われる。乱数は、演算部１６６にも伝達され、演算部１６６は、伝達された乱数に、ＩＤ整形部１６２により整形された機器ＩＤを用いた所定の演算を施すことにより、コンテンツ鍵Ｋｃを生成する。すなわち、コンテンツ鍵Ｋｃは、機器ＩＤを知らなければ得ることができない。
【００６８】
図７は、ライセンス判読部１０８の別の構成例を示す。このライセンス判読部１０８は、図６に示した一次利用ライセンス生成部１０７と対になっており、一次利用ライセンス生成部１０７として図６の構成を採用する場合は、ライセンス判読部１０８として図７の構成が採用される。本図に示したライセンス判読部１０８は、図５に示したライセンス判読部１０８の構成に比べて、コンテンツ鍵復号部１７３に代えて演算部１７６を含む。その他の構成は、図５に示したライセンス判読部１０８と同様である。
【００６９】
本図の例では、形式解析部１７１から演算部１７６に伝達される「ｂｉｎｄｅｄ  Ｋｃ」は、一次利用ライセンス生成部１０７の乱数生成部１６１により発生された乱数である。演算部１７６は、形式解析部１７１から伝達された乱数に、ＩＤ整形部１７２により整形された機器ＩＤを用いて、一次利用ライセンス生成部１０７の演算部１６６と同じ演算を施すことにより、コンテンツ鍵Ｋｃを得る。演算部１６６及び１７６において施される演算は任意でよく、例えば、排他的論理和、論理和、論理積、否定論理和、否定論理積などの演算であってもよい。また、演算部１６６及び１７６は、ＡＥＳなどの暗号方式の暗号器又は復号器であってもよく、機器ＩＤを暗号鍵又は復号鍵とみなして、乱数を暗号化又は復号する演算を施してもよい。
【００７０】
図８は、ストレージデバイス２００及び２５０の内部構成を示す。ストレージデバイス２００及び２５０は、主に、コントローラ２０１、ストレージインタフェース２０２、暗号エンジン２０３、耐タンパ記憶部２０４、通常データ記憶部２０５、及びそれらを電気的に接続するデータバス２１０を備える。
【００７１】
ストレージインタフェース２０２は、記録再生装置１００とのデータの入出力を制御する。暗号エンジン２０３は、コンテンツ鍵を含むライセンスデータなどの秘匿データを記録再生装置１００との間で入出力するための暗号通信の制御を行う。通常データ記憶部２０５は、暗号化されたコンテンツや通常のデータなどを記録する通常記憶領域である。耐タンパ記憶部２０４は、コンテンツ鍵を含むライセンスデータなどの秘匿データを記録する機密データ記憶領域である。通常データ記憶部２０５は、外部からの直接アクセスによりデータの入出力が行われるが、耐タンパ記憶部２０４は、暗号エンジン２０３を介さないとデータの入出力ができないように構成される。コントローラ２０１は、ストレージデバイス２００の構成要素を統括的に制御する。
【００７２】
つづいて、ライセンスデータをストレージデバイス２００又は２５０に記録するときの暗号通信について詳述する。以下に詳述するように、ライセンスデータを記録するたびに、記録先のストレージデバイスを認証し、正当なストレージデバイスのみにライセンスデータを記録するので、記録先がリムーバブルなストレージデバイスであっても、不正な複製を抑止することができる。以下、ストレージデバイス２００にライセンスデータを記録する場合について説明するが、ストレージデバイス２５０に記録する場合も同様である。
【００７３】
ここで、本前提技術で用いる鍵について説明する。本前提技術では、鍵はすべて大文字の「Ｋ」から始まる文字列として表記する。また、第２文字が小文字の「ｃ」、「ｓ」、「ｂ」のいずれかである場合は、対称鍵（共通鍵）を示す。詳しくは、「ｃ」はチャレンジ鍵であり、ライセンスデータの送信元で生成されるテンポラルな対称鍵を示す。「ｓ」はセッション鍵であり、ライセンスデータの送信先で生成されるテンポラルな対称鍵を示す。「ｂ」はバス鍵であり、ライセンスデータの送信先で生成されるテンポラルな対称鍵を示す。また、第２文字が大文字の「Ｐ」である場合は、公開鍵暗号方式の公開鍵を示す。この鍵には、対応する秘密鍵が必ず存在し、この秘密鍵は公開鍵の表記から第２文字の大文字の「Ｐ」を除く表記となる。
【００７４】
鍵を示す文字列が小文字の「ｄ」を含む場合は、装置のグループ毎に与えられた鍵であることを表す。また鍵を示す文字列が小文字の「ｐ」を含む場合は、装置毎に与えられた鍵であることを表す。それぞれ、公開鍵と秘密鍵の対として与えられ、グループ毎に与えられた公開鍵ＫＰｄｘは、電子署名付きの公開鍵証明書Ｃ［ＫＰｄｘ］として与えられている。
【００７５】
また、鍵を示す文字列の最後に記載される文字、たとえば、公開鍵ＫＰｄ２の「２」は、その鍵が与えられる暗号エンジンを識別するための記号である。本前提技術では、提供先が明確な場合には、数字「１」、「２」、「３」と表記し、当該暗号エンジン以外から提供される鍵であって提供先が不明な場合あるいは特定しない場合には、「ｘ」、「ｙ」などの英文字によって表記する。本前提技術では、ライセンスデータを書き込む時の記録再生装置１００の暗号エンジン１０３に対しては識別記号として「１」、ストレージデバイス２００の暗号エンジン２０３については識別記号として「２」、ライセンスデータを読み出す時の記録再生装置１００の暗号エンジン１０３に対しては識別記号として「３」を、それぞれ使用する。
【００７６】
図９は、図２に示した記録再生装置１００の暗号エンジン１０３の内部構成を示す。図９には、ライセンスデータをストレージデバイス２００へ送信するときに使用される構成のみを示している。ライセンスデータをストレージデバイス２００から受信するときに使用される構成は図１０に示す。暗号エンジン１０３は、証明書検証部１２０、乱数発生部１２１、第１暗号部１２２、第１復号部１２３、第２復号部１２４、第２暗号部１２５、第３復号部１２６、第３暗号部１２７、第４暗号部１２８、証明書出力部１２９、制御部１３０、ログ記憶部１３１、およびこれらの構成要素の少なくとも一部を電気的に接続するローカルバス１３３を備える。
【００７７】
証明書検証部１２０は、ストレージデバイス２００から取得した証明書Ｃ［ＫＰｄ２］を検証する。証明書Ｃ［ＫＰｄ２］は、公開鍵ＫＰｄ２を含む平文の情報（以下、「証明書本体」と称す）と、証明書本体に対して付される電子署名からなる。この電子署名は、証明書本体に対してハッシュ関数による演算（以下、この演算処理を「ハッシュ演算」と称す）を施した結果を、第三者機関である認証局（図示せず）のルート鍵Ｋａによって暗号化したデータである。ルート鍵Ｋａは、認証局によって厳重に管理されている非公開な鍵であり、認証局の秘密鍵となる。証明書検証部１２０は、このルート鍵Ｋａと対をなす検証鍵ＫＰａを保持している。この検証鍵ＫＰａは証明書の正当性を検証する公開鍵である。証明書の検証は、証明書の正当性と証明書の有効性によって判断する。
【００７８】
証明書の正当性の確認は、検証すべき証明書の証明書本体に対するハッシュ関数の演算結果と、検証鍵ＫＰａで電子署名を復号した結果を比較する処理であり、両者が一致したとき、正当であると判断する。証明書検証部１２０は、無効となった証明書のリストである証明書破棄リスト（Certificate Revocation List：ＣＲＬと呼ぶ）を保持し、このＣＲＬに検証すべき証明書が記載されていない場合に有効であると判断する。このように、証明書の正当性と有効性を判断し、正当な証明書を承認する処理を検証と称す。
【００７９】
証明書検証部１２０は、検証に成功すると、ストレージデバイス２００の公開鍵ＫＰｄ２を取り出して第１暗号部１２２に伝達し、検証結果を通知する。検証に失敗した場合には、検証エラー通知を出力する。
【００８０】
証明書出力部１２９は、記録再生装置１００の証明書Ｃ［ＫＰｄ１］を出力する。この証明書は、記録再生装置１００の公開鍵ＫＰｄ１を含む証明書本体と、証明書本体に対して付される電子署名からなる。電子署名は、ストレージデバイス２００の証明書と同様に、認証局のルート鍵Ｋａにより暗号化される。
【００８１】
乱数発生部１２１は、ストレージデバイス２００との間で暗号通信を行うために一時的に使用されるチャレンジ鍵Ｋｃ１、バス鍵Ｋｂ１を生成する。暗号通信を行う度に、乱数によりチャレンジ鍵Ｋｃ１を生成することで、チャレンジ鍵Ｋｃ１を見破られる可能性を最小限に抑えることができる。生成されたチャレンジ鍵Ｋｃ１は、第１暗号部１２２と第１復号部１２３に伝達され、バス鍵Ｋｂ１は、第２暗号部１２５及び第３復号部１２６に伝達される。
【００８２】
第１暗号部１２２は、ストレージデバイス２００にチャレンジ鍵Ｋｃ１を通知するために、証明書検証部１２０により取り出されたストレージデバイス２００の公開鍵ＫＰｄ２でチャレンジ鍵Ｋｃ１を暗号化して、暗号化チャレンジ鍵Ｅ（ＫＰｄ２，Ｋｃ１）を生成する。そして、暗号化チャレンジ鍵Ｅ（ＫＰｄ２，Ｋｃ１）は、証明書出力部１２９から出力された証明書Ｃ［ＫＰｄ１］と結合され、第１チャレンジ情報Ｅ（ＫＰｄ２，Ｋｃ１）｜｜Ｃ［ＫＰｄ１］とされる。
【００８３】
ここで、記号「｜｜」は、データの連結を示し、Ｅ（ＫＰｄ２，Ｋｃ１）｜｜Ｃ［ＫＰｄ１］は、暗号化チャレンジ鍵Ｅ（ＫＰｄ２，Ｋｃ１）と証明書Ｃ［ＫＰｄ１］を並べて結合したデータ列を示す。また、Ｅは暗号化関数を示し、Ｅ（ＫＰｄ２，Ｋｃ１）は、公開鍵ＫＰｄ２でチャレンジ鍵Ｋｃ１を暗号化したものであることを示す。
【００８４】
第１復号部１２３は、チャレンジ鍵Ｋｃ１で暗号化されたデータを復号する。ストレージデバイス２００が内部に個別かつ秘密裏に保持する秘密鍵Ｋｐ２と対をなす公開鍵ＫＰｐ２と、ストレージデバイス２００を一意に識別できるユニークな識別情報ＤＩＤを暗号化した第２チャレンジ情報Ｅ（Ｋｃ１，Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ））がストレージデバイス２００から供給されるため、第１復号部１２３は、乱数発生部１２１が生成したチャレンジ鍵Ｋｃ１を用いて第２チャレンジ情報を復号して、暗号データＥ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ）を取り出す。
【００８５】
第２復号部１２４は、自身の公開鍵ＫＰｄ１で暗号化されたデータを、内部の秘密裏に保持する秘密鍵Ｋｄ１で復号する。第２復号部１２４は、第１復号部１２３から伝達された暗号データＥ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ）を復号し、ストレージデバイス２００の公開鍵ＫＰｐ２と識別情報ＤＩＤを取り出す。
【００８６】
第２暗号部１２５は、ストレージデバイス２００にバス鍵Ｋｂ１を通知するために、ストレージデバイス２００の公開鍵ＫＰｐ２で暗号化して、暗号化バス鍵Ｅ（ＫＰｐ２，Ｋｂ１）を生成する。暗号化バス鍵は、コネクション情報Ｅ（ＫＰｐ２，Ｋｂ１）として、ストレージデバイス２００に提供される。
【００８７】
第３復号部１２６は、バス鍵Ｋｂ１で暗号化されたデータを復号する。ストレージデバイス２００で発行されたセッション鍵Ｋｓ２は、セッション情報Ｅ（Ｋｂ１，Ｋｓ２）としてストレージデバイス２００から供給されるため、第３復号部１２６は、乱数発生部１２１が生成したバス鍵Ｋｂ１を用いてセッション情報を復号し、セッション鍵Ｋｓ２を取り出す。取り出されたセッション鍵Ｋｓ２は、第４暗号部１２８へ伝達される。
【００８８】
第３暗号部１２７は、一次利用ライセンス生成部１０７又は二次利用ライセンス生成部１０９が生成したライセンスデータＬＩＣを取得し、そのライセンスデータＬＩＣをストレージデバイス２００の公開鍵ＫＰｐ２で暗号化し、Ｅ（ＫＰｐ２，ＬＩＣ）を生成する。そして、生成されたＥ（ＫＰｐ２，ＬＩＣ）は、第４暗号部１２８に伝達される。
【００８９】
第４暗号部１２８は、第３暗号部１２７から伝達されたＥ（ＫＰｐ２，ＬＩＣ）を、さらに、ストレージデバイス２００で発行されたセッション鍵Ｋｓ２により暗号化し、暗号化ライセンスデータＥ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＣ））を生成する。
【００９０】
ログ記憶部１３１は、第２復号部１２４から伝達されたストレージデバイス２００の識別情報ＤＩＤと、ストレージデバイス２００に対して出力するライセンスデータＬＩＣと、これを記録予定のストレージデバイス２００のアドレスデータＡＤＲとを、関係付けて静的に記憶する。なお、ログ記憶部１３１に記憶されているライセンスデータＬＩＣは、所定の手続きを経たアクセスに対して、暗号化された状態でのみ出力される。
【００９１】
制御部１３０は、記録再生装置１００のコントローラ１０１の指示に従って暗号エンジン１０３内部の構成要素の制御および外部の構成との間でデータの入出力を仲介する。なお、図９では、制御部１３０による内部の各構成要素への制御を示す結線は省略されている。
【００９２】
図９の如く、本前提技術では、制御部１３０を介さないと、暗号エンジン１０３は外部とデータの交換ができない構成となっている。各構成要素を接続する形態については、種々考えられるが、本前提技術では、乱数発生部１２１が生成するチャレンジ鍵Ｋｃ１、ストレージデバイス２００から受け取ったセッション鍵Ｋｓ２、自身の秘密鍵Ｋｄ１などの暗号エンジン１０３内で使用される各鍵が、暗号エンジン１０３の外部に直接流出しないように構成している。これにより、暗号エンジン１０３内で使用される各鍵が、記録再生装置１００の他の構成要素などを介して外部に漏洩することを防ぎ、セキュリティ性を向上させている。
【００９３】
図１０は、図２に示した記録再生装置１００の暗号エンジン１０３の内部構成を示す。図１０には、ライセンスデータをストレージデバイス２００から受信するときに使用される構成のみを示している。暗号エンジン１０３は、証明書出力部３２０、乱数発生部３２１、証明書検証部３２２、第１復号部３２３、第１暗号部３２４、第２暗号部３２５、第２復号部３２６、第３暗号部３２７、第３復号部３２８、第４復号部３２９、制御部３３０、ログ記憶部３３３、及びこれらの構成要素の少なくとも一部を電気的に接続するローカルバス３３４を備える。
【００９４】
証明書出力部３２０は、記録再生装置１００の証明書Ｃ［ＫＰｄ３］を出力する。証明書は、証明書出力部３２０が保持してもよいし、図示しない証明書保持部に保持しておき、それを読み出してもよい。証明書は、記録再生装置１００の公開鍵ＫＰｄ３を含む証明書本体と、証明書本体に対して付される電子署名からなる。電子署名は、ストレージデバイス２００の証明書と同様に、認証局のルート鍵Ｋａにより暗号化される。なお、証明書Ｃ［ＫＰｄ３］は、証明書Ｃ［ＫＰｄ１］と同一であってもよい。
【００９５】
乱数発生部３２１は、ストレージデバイス２００との間で暗号通信を行うために一時的に使用されるセッション鍵Ｋｓ３を生成する。生成されたセッション鍵Ｋｓ３は、第３暗号部３２７、第３復号部３２８に伝達される。
【００９６】
証明書検証部３２２は、ストレージデバイス２００の証明書Ｃ［ＫＰｄ２］の検証を行う。検証の詳細は、上述したとおりである。
【００９７】
第１復号部３２３は、公開鍵ＫＰｄ３によって暗号化されたデータを秘密鍵Ｋｄ３で復号する。再生時には、ストレージデバイス２００で発行されたチャレンジ鍵Ｋｃ２は、記録再生装置１００の公開鍵ＫＰｄ３により暗号化されてストレージデバイス２００から供給されるため、第１復号部３２３は、自身の秘密鍵Ｋｄ３によりこれを復号し、チャレンジ鍵Ｋｃ２を取り出す。取り出されたチャレンジ鍵Ｋｃ２は、第２暗号部３２５に伝達される。
【００９８】
第１暗号部３２４は、ストレージデバイス２００の証明書Ｃ［ＫＰｄ２］から取り出された公開鍵ＫＰｄ２でデータの暗号化を行う。内部に秘密裏に保持する記録再生装置１００に固有の秘密鍵Ｋｐ３と対をなす公開鍵ＫＰｐ３をストレージデバイス２００に通知するために、暗号化固有公開鍵Ｅ（ＫＰｄ２，ＫＰｐ３）を生成する。生成した暗号化固有公開鍵Ｅ（ＫＰｄ２，ＫＰｐ３）は、第２暗号部３２５に伝達される。
【００９９】
第２暗号部３２５は、第１復号部３２３により取り出されたチャレンジ鍵Ｋｃ２で、データの暗号化を行う。第１暗号部３２４から伝達された暗号化固有公開鍵Ｅ（ＫＰｄ２，ＫＰｐ３）を暗号化して第２チャレンジ情報Ｅ（Ｋｃ２，Ｅ（ＫＰｄ２，ＫＰｐ３））を生成する。
【０１００】
第２復号部３２６は、公開鍵ＫＰｐ３で暗号化されたデータを復号する。ストレージデバイス２００から提供されたコネクション情報Ｅ（ＫＰｐ３，Ｋｂ２｜｜ＤＩＤ）を、公開鍵ＫＰｐ３と対をなす秘密鍵Ｋｐ３で復号し、ストレージデバイス２００で発行されたバス鍵Ｋｂ２と、ストレージデバイスを一意に特定できる識別情報ＤＩＤを取り出す。
【０１０１】
第３暗号部３２７は、乱数発生部３２１で生成したセッション鍵Ｋｓ３をストレージデバイス２００に提供するために、第２復号部３２６で取り出したストレージデバイス２００が発行したバス鍵Ｋｂ２で暗号化して、セッション情報Ｅ（Ｋｂ２，Ｋｓ３）を生成する。
【０１０２】
第３復号部３２８は、セッション鍵Ｋｓ３で暗号化されたデータを復号する。ライセンスデータＬＩＣは、公開鍵ＫＰｐ３およびセッション鍵Ｋｓ３により２重に暗号化された暗号化ライセンスデータＥ（Ｋｓ３，Ｅ（ＫＰｐ３，ＬＩＣ））としてストレージデバイス２００から供給されるため、第３復号部３２８は、乱数発生部３２１が生成するセッション鍵Ｋｓ３により復号を行い、その結果である暗号化ライセンスデータＥ（ＫＰｐ３，ＬＩＣ）を第４復号部３２９に伝達する。
【０１０３】
第４復号部３２９は、公開鍵ＫＰｐ３で暗号化されたデータの復号を行う。公開鍵ＫＰｐ３と対をなす秘密鍵Ｋｐ３で、第３復号部３２８の復号結果である暗号化ライセンスデータＥ（ＫＰｐ３，ＬＩＣ）を復号し、ライセンスデータＬＩＣを取り出す。
【０１０４】
ログ記憶部３３３は、第２復号部３２６から伝達されたストレージデバイス２００の識別情報ＤＩＤ、およびストレージデバイス２００から受け取る予定のライセンスデータＬＩＣの識別情報ＬＩＤと当該ライセンスデータが格納されているストレージデバイス２００のアドレスデータＡＤＲを、関係付けて静的に記憶する。ライセンスデータＬＩＣが利用されると、当該ライセンスデータのＬＩＤおよびＡＤＲは削除される。
【０１０５】
制御部３３０は、記録再生装置１００のコントローラ１０１の指示に従って暗号エンジン１０３の内部の構成要素の制御および外部の構成との間でデータの入出力を仲介する。尚、図１０では、制御部３３０による内部の各構成要素への制御を示す結線は省略されている。
【０１０６】
図１０に示す暗号エンジン１０３においても、各構成要素を接続する形態については、種々考えられるが、本前提技術では、制御部３３０を介さないと、暗号エンジン１０３は外部とデータの交換ができない構成となっている。これにより、乱数発生部３２１が生成したセッション鍵Ｋｓ３、公開鍵と対をなしている秘密鍵Ｋｄ３およびＫｐ３、ストレージデバイス２００から受け取ったバス鍵Ｋｂ２、チャレンジ鍵Ｋｃ２などの暗号エンジン１０３内で使用される鍵が外部に漏洩されることを防ぐ。
【０１０７】
図１１は、図８に示したストレージデバイス２００の暗号エンジン２０３の内部構成を示す。暗号エンジン２０３は、制御部２２０、乱数発生部２２１、証明書出力部２２２、証明書検証部２２３、第１復号部２２４、第１暗号部２２５、第２暗号部２２６、第２復号部２２７、第３暗号部２２８、第３復号部２２９、第４復号部２３０、第４暗号部２３１、第５復号部２３２、第６復号部２３３、第５暗号部２３４、第７復号部２３５、第６暗号部２３６、第７暗号部２３７、及びこれらの構成要素の少なくとも一部を電気的に接続するローカルバス２４０を備える。
【０１０８】
制御部２２０は、ストレージデバイス２００のコントローラ２０１の指示に従って暗号エンジン２０３の内部の構成の制御および外部の構成との間でデータの入出力を仲介する。
【０１０９】
乱数発生部２２１は、記録再生装置１００との間の暗号通信に一時的に使用されるセッション鍵Ｋｓ２、チャレンジ鍵Ｋｃ２、バス鍵Ｋｂ２を、乱数演算によって生成する。各鍵の用途については、追って説明する。
【０１１０】
証明書出力部２２２は、ストレージデバイス２００の証明書Ｃ［ＫＰｄ２］を出力する。証明書は、証明書出力部２２２が保持してもよいし、ストレージデバイス２００の所定の記憶領域、たとえば耐タンパ記憶部２０４に保持しておき、それを読み出してもよい。証明書は、ストレージデバイス２００の公開鍵ＫＰｄ２を含む証明書本体と、証明書本体に付された電子署名とを含む。電子署名は、認証局のルート鍵Ｋａにより暗号化される。
【０１１１】
証明書検証部２２３は、外部から提供された証明書の検証を行う。具体的には、記録再生装置１００から取得した証明書Ｃ［ＫＰｄ１］およびＣ［ＫＰｄ３］を検証鍵ＫＰａにより検証する。検証の詳細は、上記のとおりである。
【０１１２】
第１復号部２２４は、自身の公開鍵ＫＰｄ２で暗号化されたデータを復号する。具体的には、記録時には、記録再生装置１００で発行されたチャレンジ鍵Ｋｃ１が、ストレージデバイス２００の公開鍵ＫＰｄ２で暗号化されて記録再生装置１００から供給されるため、これを自身の秘密鍵Ｋｄ２で復号し、チャレンジ鍵Ｋｃ１を取り出す。取り出されたチャレンジ鍵Ｋｃ１は、第２暗号部２２６に伝達される。
【０１１３】
第１暗号部２２５は、記録再生装置１００の公開鍵ＫＰｄ１でデータを暗号化する。具体的には、ストレージデバイス２００が個別に保持する公開鍵ＫＰｐ２とストレージデバイスを識別するための識別情報ＤＩＤとを結合した個別情報を暗号化した暗号化個別情報Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ）を生成する。ここで用いる記録再生装置１００の公開鍵ＫＰｄ１は、制御部２２０によってストレージデバイス２００の証明書Ｃ［ＫＰｄ１］内から取り出され、ローカルバス２４０を介して伝達される。
【０１１４】
第２暗号部２２６は、記録再生装置１００が発行したチャレンジ鍵Ｋｃ１でデータを暗号化する。具体的には、第１暗号部２２５から受け取った暗号化個別情報Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ）をチャレンジ鍵Ｋｃ１で暗号化し、第２チャレンジ情報Ｅ（Ｋｃ１，Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ））を生成する。
【０１１５】
第２復号部２２７は、自身の公開鍵ＫＰｐ２で暗号化されたデータを復号する。第２復号部２２７は、記録再生装置１００から提供されるコネクション情報Ｅ（ＫＰｐ２，Ｋｂ１）を、公開鍵ＫＰｐ２と対をなす秘密鍵Ｋｐ２で復号し、取り出したバス鍵Ｋｂ１を第３暗号部２２８に伝達する。
【０１１６】
第３暗号部２２８は、バス鍵Ｋｂ１でデータを暗号化する。具体的には、乱数発生部２２１が生成したセッション鍵Ｋｓ２をバス鍵Ｋｂ１で暗号化し、セッション情報Ｅ（Ｋｂ１，Ｋｓ２）を生成する。
【０１１７】
第３復号部２２９は、乱数発生部２２１が生成したセッション鍵Ｋｓ２で暗号化されたデータを復号する。具体的には、記録再生装置１００から、ライセンスデータＬＩＣを、公開鍵ＫＰｐ２およびセッション鍵Ｋｓ２により２重に暗号化されたＥ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＣ））として受け取り、これをセッション鍵Ｋｓ２により復号し、結果を第４復号部２３０に伝達する。
【０１１８】
第４復号部２３０は、自身の公開鍵ＫＰｐ２で暗号化されたデータを復号する。第３復号部２２９から伝達されるライセンスデータＥ（ＫＰｐ２，ＬＩＣ）を、公開鍵ＫＰｐ２と対をなす自身の秘密鍵Ｋｐ２で復号し、ライセンスデータＬＩＣを取り出す。
【０１１９】
取り出されたライセンスデータＬＩＣは、ローカルバス２４０、制御部２２０を介して、データバス２１０に供給され、コントローラ２０１の指示に従って、耐タンパ記憶部２０４に記憶される。
【０１２０】
第４暗号部２３１は、ライセンス利用装置３００の公開鍵ＫＰｄ３でデータを暗号化する。具体的には、ライセンス利用装置３００に対してライセンスデータＬＩＣを提供する場合、記録再生装置１００から受け取った証明書Ｃ［ＫＰｄ３］から取り出された公開鍵ＫＰｄ３で、乱数発生部２２１が発行するチャレンジ鍵Ｋｃ２を暗号化し、暗号化チャレンジ鍵Ｅ（ＫＰｄ３，Ｋｃ２）を生成する。生成された暗号化チャレンジ鍵Ｅ（ＫＰｄ３，Ｋｃ２）は、ローカルバス２４０を介して制御部２２０へ伝達される。制御部２２０では、これと証明書出力部２２２から出力される自身の証明書Ｃ［ＫＰｄ２］とを結合して、第１チャレンジ情報Ｅ（ＫＰｄ３，Ｋｃ２）｜｜Ｃ［ＫＰｄ２］を生成し、記録再生装置１００に出力する。
【０１２１】
第５復号部２３２は、乱数発生部２２１が発行したチャレンジ鍵Ｋｃ２で暗号化されたデータを復号する。記録再生装置１００から受け取った第２チャレンジ情報Ｅ（Ｋｃ２，Ｅ（ＫＰｄ２，ＫＰｐ３））を、乱数発生部２２１が生成したチャレンジ鍵Ｋｃ２で復号し、取り出された暗号化個別公開鍵Ｅ（ＫＰｄ２，ＫＰｐ３）は第６復号部２３３に伝達される。
【０１２２】
第６復号部２３３は、自身の公開鍵ＫＰｄ２で暗号化されたデータを復号する。具体的には、第５復号部２３２から伝達された暗号化個別公開鍵Ｅ（ＫＰｄ２，ＫＰｐ３）を、自身の秘密鍵Ｋｄ２で復号し、記録再生装置１００の公開鍵ＫＰｐ３を取り出す。取り出された公開鍵ＫＰｐ３は、第５暗号部２３４と第６暗号部２３６に伝達される。
【０１２３】
第５暗号部２３４は、記録再生装置１００の公開鍵ＫＰｐ３でデータを暗号化する。乱数発生部２２１が生成したバス鍵Ｋｂ２と自身の識別情報ＤＩＤを結合し、このデータを暗号化して、コネクション情報Ｅ（ＫＰｐ３，Ｋｂ２｜｜ＤＩＤ）を生成する。
【０１２４】
第７復号部２３５は、バス鍵Ｋｂ２で暗号化されたデータを復号する。記録再生装置１００から提供されたセッション情報Ｅ（Ｋｂ２，Ｋｓ３）を復号して、記録再生装置１００が発行したセッション鍵Ｋｓ３を取り出し、取り出されたセッション鍵Ｋｓ３は、第７暗号部２３７に伝達される。
【０１２５】
第６暗号部２３６は、記録再生装置１００の公開鍵ＫＰｐ３でデータを暗号化する。記録再生装置１００に対してライセンスデータを提供する場合、記録再生装置１００から受け取った公開鍵ＫＰｐ３で、ライセンスデータＬＩＣを暗号化する。このライセンスデータＬＩＣは、コントローラ２０１の指示に従って、耐タンパ記憶部２０４から読み出され、データバス２１０、制御部２２０およびローカルバス２４０を介して第６暗号部２３６に伝達される。ここで、暗号化されたライセンスデータＥ（ＫＰｐ３，ＬＩＣ）は、第７暗号部２３７に伝達される。
【０１２６】
第７暗号部２３７は、記録再生装置１００が発行したセッション鍵Ｋｓ３でデータを暗号化する。具体的には、セッション鍵Ｋｓ３で、第６暗号部２３６において暗号化されたライセンスデータＥ（ＫＰｐ３，ＬＩＣ）を、さらに暗号化し、暗号化ライセンスデータＥ（Ｋｓ３，Ｅ（ＫＰｐ３，ＬＩＣ））を生成する。
【０１２７】
図１２及び図１３は、記録再生装置１００がストレージデバイス２００にライセンスデータＬＩＣを記録するまでの手順を示す。この記録処理では、記録再生装置１００の暗号エンジン１０３とストレージデバイス２００の暗号エンジン２０３との間で暗号通信路が構築され、その暗号通信路によってライセンスデータＬＩＣが記録再生装置１００からストレージデバイス２００に送信される。図は、記録再生装置１００の暗号エンジン１０３、記録再生装置１００のコントローラ１０１、ストレージデバイス２００の暗号エンジン２０３の処理を示している。
【０１２８】
まず、記録再生装置１００のコントローラ１０１は、ストレージデバイス２００に対して証明書出力命令を発行する（Ｓ１０２）。コントローラ２０１は、証明書出力命令を正常に受理する（Ｓ１０４）と、暗号エンジン２０３に証明書の出力を命じ、暗号エンジン２０３から証明書Ｃ［ＫＰｄ２］を読み出してコントローラ１０１へ出力する（Ｓ１０６）。コントローラ１０１は、ストレージデバイス２００から証明書Ｃ［ＫＰｄ２］を取得すると、それを暗号エンジン１０３へ送信する（Ｓ１０８）。
【０１２９】
暗号エンジン１０３の制御部１３０は、ストレージデバイス２００から発行された証明書Ｃ［ＫＰｄ２］を受信すると（Ｓ１１０）、それを暗号エンジン１０３に伝達し、証明書検証部１２０は、認証鍵ＫＰａで証明書を検証する（Ｓ１１２）。
【０１３０】
証明書が承認されなかった場合（Ｓ１１２のＮ）、証明書検証部１２０はエラーを制御部１３０に伝達する。エラーを伝達された制御部１３０は、検証エラー通知をコントローラ１０１に送信する（Ｓ１９０）。コントローラ１０１は、エラー通知を受信すると（Ｓ１９２）、処理を異常終了する。
【０１３１】
証明書が承認された場合（Ｓ１１２のＹ）、制御部１３０は、乱数発生部１２１にてチャレンジ鍵Ｋｃ１を生成する。そして、生成したチャレンジ鍵Ｋｃ１を第１暗号部１２２および第１復号部１２３に伝達する。第１復号部１２３では、このチャレンジ鍵Ｋｃ１を内部に保持する（Ｓ１１４）。また、第１暗号部１２２では、このチャレンジ鍵Ｋｃ１を、証明書Ｃ［ＫＰｄ２］から取り出したストレージデバイス２００の公開鍵ＫＰｄ２で暗号化し、暗号化チャレンジ鍵Ｅ（ＫＰｄ２，Ｋｃ１）を生成する。そして、生成した暗号化チャレンジ鍵Ｅ（ＫＰｄ２，Ｋｃ１）と証明書出力部１２９から出力される自身の証明書Ｃ［ＫＰｄ１］とを結合し、第１チャレンジ情報Ｅ（ＫＰｄ２，Ｋｃ１）｜｜Ｃ［ＫＰｄ１］を生成し、これをコントローラ１０１へ送信する（Ｓ１１６）。
【０１３２】
コントローラ１０１は、暗号エンジン１０３から第１チャレンジ情報Ｅ（ＫＰｄ２，Ｋｃ１）｜｜Ｃ［ＫＰｄ１］を受信すると（Ｓ１１８）、ストレージデバイス２００に対して第１チャレンジ情報検証命令を発行する（Ｓ１２０）。ストレージデバイス２００では、コントローラ２０１が第１チャレンジ情報検証命令を受理すると、第１チャレンジ情報Ｅ（ＫＰｄ２，Ｋｃ１）｜｜Ｃ［ＫＰｄ１］の入力をコントローラ１０１に要求する（Ｓ１２２）。コントローラ１０１は、この要求に応じて第１チャレンジ情報Ｅ（ＫＰｄ２，Ｋｃ１）｜｜Ｃ［ＫＰｄ１］をストレージデバイス２００へ出力する（Ｓ１２４）。
【０１３３】
ストレージデバイス２００は、第１チャレンジ情報Ｅ（ＫＰｄ２，Ｋｃ１）｜｜Ｃ［ＫＰｄ１］を受理すると（Ｓ１２６）、暗号エンジン２０３では、制御部２２０が、第１チャレンジ情報Ｅ（ＫＰｄ２，Ｋｃ１）｜｜Ｃ［ＫＰｄ１］から証明書Ｃ［ＫＰｄ１］を取り出し、これを証明書検証部２２３に伝達する。証明書検証部２２３は、伝達された証明書Ｃ［ＫＰｄ１］を検証鍵ＫＰａで検証し、検証結果を制御部２２０に伝達する（Ｓ１２８）。
【０１３４】
証明書が承認されなかった場合（Ｓ１２８のＮ）、証明書検証部２２３は検証エラー通知を制御部２２０へ通知し、検証エラー通知を受けた制御部２２０はこれをコントローラ２０１へ通知する。そしてコントローラ２０１は、受信した検証エラー通知を、ストレージインタフェース２０２を介してコントローラ１０１に送信する（Ｓ１９４）。コントローラ１０１は、検証エラー通知を受信すると（Ｓ１９２）、本処理を異常終了する。
【０１３５】
証明書が承認された場合（Ｓ１２８のＹ）、制御部２２０は、第１チャレンジ情報Ｅ（ＫＰｄ２，Ｋｃ１）｜｜Ｃ［ＫＰｄ１］から、公開鍵ＫＰｄ１と暗号化チャレンジ鍵Ｅ（ＫＰｄ２，Ｋｃ１）を取り出し、それぞれ第１暗号部２２５、第１復号部２２４に伝達する。第１暗号部２２５は、伝達された公開鍵ＫＰｄ１を保持する。第１復号部２２４は、伝達された暗号化チャレンジ鍵Ｅ（ＫＰｄ２，Ｋｃ１）を自身の秘密鍵Ｋｄ２で復号し、チャレンジ鍵Ｋｃ１を取り出す（Ｓ１３０）。取り出されたチャレンジ鍵Ｋｃ１は、第２暗号部２２６に伝達される。
【０１３６】
一方、コントローラ１０１は、ストレージデバイス２００において第１チャレンジ情報検証命令の処理が終了すると、ストレージデバイス２００に対して、第２チャレンジ情報生成命令を発行する（Ｓ１３２）。ストレージデバイス２００では、コントローラ２０１が第２チャレンジ情報生成命令を受理する（Ｓ１３４）と、暗号エンジン２０３では制御部２２０の指示に従って、第１暗号部２２５が、自身が秘密裏に保持する秘密鍵Ｋｐ２と対をなす公開鍵ＫＰｐ２と、自身の識別情報ＤＩＤを連結したデータを、公開鍵ＫＰｄ１で暗号化して暗号化個別情報Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ）を生成し、これを第２暗号部２２６に伝達する。第２暗号部２２６は、暗号化個別情報Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ）を、Ｓ１３０で保持したチャレンジ鍵Ｋｃ１で暗号化して第２チャレンジ情報Ｅ（Ｋｃ１，Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ））を生成する（Ｓ１３６）。
【０１３７】
コントローラ１０１では、ストレージデバイス２００において第２チャレンジ情報生成命令の処理が終了すると、第２チャレンジ情報出力命令を発行する（Ｓ１３８）。ストレージデバイス２００では、第２チャレンジ情報出力命令を受理する（Ｓ１４０）と、コントローラ２０１が、暗号エンジン２０３から第２チャレンジ情報Ｅ（Ｋｃ１，Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ））を読み出し、コントローラ１０１へ出力する（Ｓ１４２）。コントローラ１０１は、ストレージデバイス２００から第２チャレンジ情報Ｅ（Ｋｃ１，Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ））を受信すると、これを暗号エンジン１０３に送信する（Ｓ１４４）。
【０１３８】
暗号エンジン１０３の制御部１３０は、第２チャレンジ情報Ｅ（Ｋｃ１，Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ））を受信すると、第１復号部１２３に伝達する。第１復号部１２３は、内部に保持したチャレンジ鍵Ｋｃ１で、伝達された第２チャレンジ情報Ｅ（Ｋｃ１，Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ））を復号し、暗号化個別情報Ｅ（ＫＰｄ１，ＫＰｐ２｜｜ＤＩＤ）を取り出し、第２復号部１２４に伝達する。第２復号部１２４は、これを自身の秘密鍵Ｋｄ１で復号してストレージデバイスの公開鍵ＫＰｐ２と識別情報ＤＩＤを取り出し、公開鍵ＫＰｐ２を第２暗号部１２５と第３暗号部１２７に、識別情報ＤＩＤを制御部１３０へ伝達する（Ｓ１４６）。
【０１３９】
制御部１３０は、識別情報ＤＩＤを受け取ると、ログ記憶部１３１に記録されている識別情報ＤＩＤと比較する（Ｓ１５０）。このときログ記憶部１３１には、直前に接続していたストレージデバイスの識別情報ＤＩＤが記録されている。一致した場合（Ｓ１５０のＹ）、前回と同じストレージデバイスであると判断し、ログ記憶部１３１の記録を残したままＳ１５４へ進む。一致しない場合（Ｓ１５０のＮ）、ストレージデバイスが交換されていると判断する。このとき、ログ記憶部１３１に記録されている内容は意味をなさなくなる。そこで、ログ記憶部１３１に記録されている内容を削除し、新たにＳ１４６で取得した識別情報ＤＩＤを記録する（Ｓ１５２）。このようにして、ストレージデバイス２００に対するライセンスデータＬＩＣの転送におけるリカバリーに必要な情報をログ記憶部１３１に保持する準備が整ったことになる。そして、Ｓ１５４に進む。
【０１４０】
制御部１３０は、乱数発生部１２１にてバス鍵Ｋｂ１を生成させ、保持する（Ｓ１５４）。そして、保持したバス鍵Ｋｂ１を第２暗号部１２５及び第３復号部１２６に伝達する。第２暗号部１２５では、このバス鍵Ｋｂ１を、Ｓ１４６で取得したストレージデバイスの公開鍵ＫＰｐ２で暗号化し、コネクション情報Ｅ（ＫＰｐ２，Ｋｂ１）を生成する。そして、生成したコネクション情報Ｅ（ＫＰｐ２，Ｋｂ１）をコントローラ１０１へ送信する（Ｓ１５６）。
【０１４１】
コントローラ１０１は、暗号エンジン１０３からコネクション情報Ｅ（ＫＰｐ２，Ｋｂ１）を受信すると（Ｓ１５８）、ストレージデバイス２００に対してコネクション情報入力命令を発行する（Ｓ１６０）。ストレージデバイス２００では、コントローラ２０１がコネクション情報入力命令を受理すると、コネクション情報Ｅ（ＫＰｐ２，Ｋｂ１）の入力をコントローラ１０１に要求する（Ｓ１６２）。コントローラ１０１は、この要求に応じてコネクション情報Ｅ（ＫＰｐ２，Ｋｂ１）をストレージデバイス２００へ出力する（Ｓ１６４）。
【０１４２】
ストレージデバイス２００は、コネクション情報Ｅ（ＫＰｐ２，Ｋｂ１）を受理すると、暗号エンジン２０３では、第２復号部２２７が、コネクション情報Ｅ（ＫＰｐ２，Ｋｂ１）を、内部に保持する自身の秘密鍵Ｋｐ２で復号して、バス鍵Ｋｂ１を取り出し（Ｓ１６６）、これを内部に保持する（Ｓ１６８）。保持されたバス鍵Ｋｂ１は、第３暗号部２２８に伝達される。ここまでの手順において、暗号エンジン１０３と暗号エンジン２０３の間で、バス鍵Ｋｂ１が共有された。
【０１４３】
一方、コントローラ１０１は、ストレージデバイス２００においてコネクション情報入力命令の処理が終了すると、通常のライセンスデータの書込転送処理（ＬＩＣライト転送処理）を行うためＳ１８０に進む。そして、ライセンスデータＬＩＣの書込を行う（Ｓ１８０）。ライセンスデータの書込転送処理（ＬＩＣライト転送処理）については、後に詳細に説明する。
【０１４４】
コントローラ１０１は、Ｓ１８０が終了すると、新たなライセンスデータＬＩＣを書き込むか否か判断する（Ｓ１８２）。新たなライセンスデータＬＩＣをストレージデバイス２００に書き込む場合（Ｓ１８２のＹ）、再びＳ１８０に戻ってライセンスデータの書込を行う。新たなライセンスデータＬＩＣの書込を行わない場合（Ｓ１８２のＮ）、処理を終了する。
【０１４５】
図１４は、図１３におけるライセンスデータの書込転送処理（ＬＩＣライト転送処理）のフローチャートである。本フローチャートに示す処理の前に、暗号エンジン１０３とストレージデバイス２００（暗号エンジン２０３）はバス鍵Ｋｂ１を共有し、暗号エンジン１０３はストレージデバイス２００の公開鍵ＫＰｐ２を保持し、かつ、暗号エンジン１０３のログ記憶部１３１にはストレージデバイス２００の識別情報ＤＩＤが記録されている。
【０１４６】
コントローラ１０１は、ストレージデバイス２００に対して、セッション情報生成命令を発行する（Ｓ２００）。ストレージデバイス２００では、コントローラ２０１がセッション情報生成命令を受理する（Ｓ２０２）と、暗号エンジン２０３では制御部２２０の指示に従って、乱数発生部２２１がセッション鍵Ｋｓ２を生成し、生成したセッション鍵Ｋｓ２を、第３暗号部２２８、第３復号部２２９に伝達する（Ｓ２０４）。続いて、第３暗号部２２８は、バス鍵Ｋｂ１で、伝達されたセッション鍵Ｋｓ２を暗号化してセッション情報Ｅ（Ｋｂ１，Ｋｓ２）を生成する（Ｓ２０６）。コントローラ１０１では、ストレージデバイス２００においてセッション情報生成命令の処理が終了すると、セッション情報出力命令を発行する（Ｓ２０８）。ストレージデバイス２００では、セッション情報出力命令を受理する（Ｓ２１０）と、コントローラ２０１が、暗号エンジン２０３からセッション情報Ｅ（Ｋｂ１，Ｋｓ２）を読み出し、コントローラ１０１へ出力する（Ｓ２１２）。
【０１４７】
コントローラ１０１は、ストレージデバイス２００からセッション情報Ｅ（Ｋｂ１，Ｋｓ２）を受信すると（Ｓ２１４）、これとストレージデバイス２００のアドレスデータＡＤＲを連結して暗号エンジン１０３に送信する（Ｓ２１６）。アドレスデータＡＤＲは、後でライセンスデータＬＩＣを記録する際に指定するアドレスである。
【０１４８】
暗号エンジン１０３の制御部１３０は、アドレスデータが連結されたセッション情報Ｅ（Ｋｂ１，Ｋｓ２）｜｜ＡＤＲを受信すると、セッション情報Ｅ（Ｋｂ１，Ｋｓ２）とアドレスデータＡＤＲに分割し、セッション情報Ｅ（Ｋｂ１，Ｋｓ２）を第３復号部１２６に伝達する。第３復号部１２６は、乱数発生部１２１から伝達されたバス鍵Ｋｂ１で、このセッション情報Ｅ（Ｋｂ１，Ｋｓ２）を復号し、Ｋｓ２を取り出す（Ｓ２１８）。
【０１４９】
制御部１３０は、ライセンスデータ書込処理の失敗に備えて、ライセンスデータＬＩＣと、分離したアドレスデータＡＤＲを、ライセンス転送先であるストレージデバイス２００を特定する情報（識別情報ＤＩＤ）に関係付けてログ記憶部１３１に追記する（Ｓ２２０）。ログ記憶部１３１への記録は、電源断などの不慮の事故によってライセンスデータ書込処理が中断した様な場合も対象とした、ライセンスデータ再書込処理に利用することを目的としているため、静的に記録される。
【０１５０】
続いて、暗号エンジン１０３の第３暗号部１２７は、ライセンスデータＬＩＣをストレージデバイス２００の公開鍵ＫＰｐ２で暗号化してＥ（ＫＰｐ２，ＬＩＣ）を生成し、これを第４暗号部１２８に伝達する。第４暗号部１２８は、伝達されたＥ（ＫＰｐ２，ＬＩＣ）を、さらにストレージデバイス２００が発行したセッション鍵Ｋｓ２で暗号化して暗号化ライセンスデータＥ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＣ））を生成し、これをコントローラ１０１に伝達する（Ｓ２２２）。
【０１５１】
コントローラ１０１は、暗号エンジン１０３から送信された暗号化ライセンスデータＥ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＣ））を受信する（Ｓ２２４）と、ストレージデバイス２００に対してライセンスデータ書込命令を発行する（Ｓ２２６）。このライセンス書込命令は、耐タンパ記憶部２０４上の記録位置を指定するアドレスデータＡＤＲを伴っている。このアドレスデータＡＤＲは、Ｓ２１６で暗号エンジン１０３に送信したものと同じ値である。ここでアドレスとは、論理アドレスを示し、耐タンパ記憶部２０４における記録位置を直接指定するものではないが、アドレスを指定して記録したデータは、同じアドレスを指定することで読み出せるように、コントローラ２０１によって管理されている。しかしながら、耐タンパ記憶部２０４における位置を示す物理アドレスであってもよい。
【０１５２】
ストレージデバイス２００では、コントローラ１０１が発行したライセンス書込命令を受理すると、暗号化ライセンスデータをコントローラ１０１に要求し（Ｓ２２８）、コントローラ１０１は、この要求に応じて、暗号化ライセンスデータＥ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＣ））をストレージデバイス２００へ出力する（Ｓ２３０）。
【０１５３】
ストレージデバイス２００は、暗号化ライセンスデータＥ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＣ））を受理すると、これを暗号エンジン２０３内の第３復号部２２９に伝達する。第３復号部２２９は、内部に保持しているセッション鍵Ｋｓ２で暗号化ライセンスデータＥ（Ｋｓ２，Ｅ（ＫＰｐ２，ＬＩＣ））を復号し、自身の公開鍵ＫＰｐ２で暗号化されたライセンスデータＥ（ＫＰｐ２，ＬＩＣ）を取り出す。そして、取り出された暗号化ライセンスデータＥ（ＫＰｐ２，ＬＩＣ）は第４復号部２３０に伝達される。
【０１５４】
第４復号部２３０は、伝達された暗号化ライセンスデータＥ（ＫＰｐ２，ＬＩＣ）を、公開鍵ＫＰｐ２と対の秘密鍵Ｋｐ２で復号してライセンスデータＬＩＣを取り出し（Ｓ２４４）、これをローカルバス２４０を介して制御部２２０に伝達する。
【０１５５】
制御部２２０は、ライセンスデータＬＩＣから識別情報ＬＩＤを取り出して、ログ記憶部１３１に伝達する。また、ライセンスデータＬＩＣをデータバス２１０へ出力する。コントローラ２０１は、データバス２１０に出力されたライセンスデータＬＩＣを耐タンパ記憶部２０４の指定されたアドレスＡＤＲに記憶する（Ｓ２４６）。続いて、完了通知をコントローラ１０１に出力する（Ｓ２４８）。
【０１５６】
コントローラ１０１は、ストレージデバイス２００から出力された完了通知を受信すると、これを暗号エンジン１０３に出力する（Ｓ２５０）。暗号エンジン１０３では、完了通知を受信すると（Ｓ２５２）、ＬＩＤを確認し、該当するＡＤＲ｜｜ＬＩＤをログ記憶部１３１から削除し（Ｓ２５４）、本処理を終了する。
【０１５７】
以上の手順により、暗号化されたコンテンツを復号し再生するために必要なライセンスデータＬＩＣがストレージデバイス２００に記録される。暗号化コンテンツは、通常データであり、ストレージデバイス２００の通常コマンドによって記録されるため、ここでは説明を省略する。
【０１５８】
なお、ライセンスデータＬＩＣと暗号化コンテンツデータの記録順序は、いずれが先であってもかまわない。さらには、暗号化コンテンツデータの記録における空き時間に、セキュアコマンドを分割して発行することで、ライセンスデータＬＩＣを記録するようにしてもよい。
【０１５９】
ストレージデバイス２００から記録再生装置１００へライセンスデータを送信する場合にも、上記と同様の手順により、両者の暗号エンジンによる暗号通信が行われる。一次利用ライセンスデータを記録再生装置１００からストレージデバイス２００へ記録するとき、ストレージデバイス２００に記録された一次利用ライセンスデータを記録再生装置１００が読み出すとき、及び、二次利用ライセンスデータを記録再生装置１００からストレージデバイス２５０へ記録するときに、上述したような暗号通信路を用いてライセンスデータを送受信することにより、ライセンスデータの漏洩を防止し、コンテンツデータを保護することができる。
【０１６０】
（実施の形態）
つづいて、前提技術を利用して、私的なバックアップのためにコンテンツデータを複製する技術について説明する。
【０１６１】
図１５は、実施の形態に係るコンテンツ管理装置の一例であるカーナビゲーション装置の構成を示す。カーナビゲーション装置４００は、操作部４０１、制御部４０２、地図データ処理部４０３、機器ＩＤ保持部４０４、ビデオメモリ４０５、表示部４０６、ストレージインタフェース１０２、暗号エンジン１０３、ライセンス判読部１０８、コンテンツ復号部１１１を備える。カーナビゲーション装置４００において表示される地図のデータは、着脱自在なハードディスク装置であるストレージデバイス２００に格納されている。前提技術で説明した図２の記録再生装置１００と同様の構成には同じ符号を付している。
【０１６２】
操作部４０１は、ユーザから操作指示を受け付ける。制御部４０２は、操作部４０１を介してユーザから受け付けた操作指示に応じて他の構成を制御し、現在地や目的地などの周辺の地図を表示させたり、目的地を設定したり、目的地への経路を探索して表示したりといったカーナビゲーションシステムの機能を実現させる。地図データ処理部４０３は、制御部４０２からの指示に応じて、コンテンツ復号部１１１により復号された地図データを処理してビデオメモリ４０５へ転送し、表示部４０６に表示させる。
【０１６３】
地図データは、ストレージデバイス２００に格納されてユーザに提供される。ストレージデバイス２００において、地図データはコンテンツ鍵Ｋｃにより暗号化されて通常データ記憶部２０５に格納されており、コンテンツ鍵Ｋｃは、ライセンスデータの一部として耐タンパ記憶部２０４に格納されている。
【０１６４】
本実施の形態では、ストレージデバイス２００の地図データを不正に複製して、他の装置で利用することは禁止しつつ、ストレージデバイス２００の故障などに備えて、バックアップを目的としてストレージデバイス２５０に複製することを許可することにより、ユーザの利便性を向上させる技術を提案する。
【０１６５】
本実施の形態では、前提技術で説明した「ｂｉｎｄｅｄ  Ｋｃ」を用いて、バックアップ用にデータを複製したストレージデバイス２５０は、ユーザの所有するカーナビゲーション装置４００のみで利用可能とし、他の装置では地図データを利用できないようにする。すなわち、ストレージデバイス２５０に複製した暗号化地図データの復号鍵であるコンテンツ鍵Ｋｃを、カーナビゲーション装置４００に固有で、かつ、外部に漏洩しないように秘匿されている情報、例えば機器ＩＤを用いて暗号化又はスクランブルして、「ｂｉｎｄｅｄ  Ｋｃ」として記録しておく。これにより、不正な複製により複数の機器で地図データが利用されることを防止することができる。
【０１６６】
従来のように、ユーザの所有するカーナビゲーション装置４００のみで地図データを利用可能とし、他の装置では利用できないようにするために、カーナビゲーション装置４００に固有な情報、例えば機器ＩＤに紐付けした地図データを格納したストレージデバイス２００を出荷することも可能であるが、出荷時に機器ごとに異なるデータをストレージデバイス２００に格納する必要があるので、製造・出荷コストの観点で好ましくない。
【０１６７】
ユーザが購入したストレージデバイス２００に格納されたオリジナルのコンテンツ鍵Ｋｃは、機器ＩＤに紐付けせず、他の装置でも利用可能とする。このストレージデバイス２００に格納された暗号化地図データとライセンスデータを元にして、複数のストレージデバイスに複製を生成することを許可すると、他装置で利用することが可能な地図データを格納したストレージデバイスが複数生成できることになってしまう。したがって、本実施の形態では、オリジナルのコンテンツ鍵Ｋｃを含むライセンスデータは、そのままの状態では複製禁止とする。ストレージデバイス２５０にバックアップ用のライセンスデータを格納する前に、ストレージデバイス２００に記録されたオリジナルのライセンスデータ内のコンテンツ鍵Kｃも機器に紐付けし、他の装置では使用できないようにする。そして、この紐付けされたライセンスデータを複製することで、ストレージデバイス２５０にバックアップ用のライセンスデータを複製する。これにより、不正な複製による地図データの利用を防止することができる。ストレージデバイス２００に記録されているオリジナルのコンテンツ鍵Kｃの紐付けは、地図データの利用を開始するときに行われても、最初にバックアップのためにライセンスデータを他のストレージデバイスに複製するときに行われてもよく、最初に複製を作成するときまでのいずれのタイミングで行われてもよい。
【０１６８】
このように、本実施の形態では、出荷時にはストレージデバイス２００に同じデータを格納しておき、ユーザが使用を開始するときに、又は、ユーザがバックアップ用に最初に複製するときに機器ＩＤに紐付けし、紐付けられたカーナビゲーション装置４００でしか利用できないようにする。これにより、ストレージデバイス２００の製造コストを低減させることができる。
【０１６９】
図１６（ａ）（ｂ）は、ストレージデバイスの内部データを模式的に示す。ここで、「Ｄａｔａ」は地図データである。また、利用制御情報としてＣＣＩ（Copy Control Information）を採用する。ＣＣＩは、「Never Copy」、「Copy One Generation」、「No More Copy」、「Not Asserted」の４状態をとり、それぞれ、「複製の禁止」、「第１世代のみ複製許可」、「複製であり以降の複製禁止」、「複製について制限無し」を示している。図１６（ａ）は、オリジナルのストレージデバイス２００の内部データを示す。工場出荷時のストレージデバイス２００は、通常データ記憶部２０５に、コンテンツ鍵Ｋｃで暗号化された地図データＥ（Ｋｃ，Ｄａｔａ）が格納されており、耐タンパ記憶部２０４に、コンテンツ鍵Ｋｃと、複製できないことを示すＣＣＩ（Never Copy）を含むライセンスデータが格納されている。図１６（ｂ）は、複製後のストレージデバイス２００と、複製先のストレージデバイス２５０の内部データを示す。複製後のストレージデバイス２００のライセンスデータは、「ｂｉｎｄｅｄ  Ｋｃ」と、「ｂｉｎｄｅｄ  Ｋｃ」が紐付けられた機器を類推するための情報である「ｂｉｄｉｎｇ  ｉｎｆｏ」と、第１世代の複製であることを示すＣＣＩ（Copy One Generation）を含むライセンスデータに置き換えられている。これにより、バックアップのためにライセンスデータを複製することが可能となる。通常データ記憶部２０５に格納されている暗号化地図データＥ（Ｋｃ，Ｄａｔａ）はそのままであり、再暗号は行われない。複製先のストレージデバイス２５０は、通常データ記憶部２０５に、暗号化地図データＥ（Ｋｃ，Ｄａｔａ）が複製されており、耐タンパ記憶部２０４に、「ｂｉｎｄｅｄ  Ｋｃ」と、「ｂｉｎｄｉｎｇ  ｉｎｆｏ」と、コピーできないことを示すＣＣＩ（No More Copy）を含むライセンスデータが格納されている。なお、「No More Copy」の代わりに「Never Copy」としてもよい。
【０１７０】
つづいて、各構成の動作について説明する。まず、オリジナルのライセンスデータを機器に紐付けするときの動作について説明する。ユーザが操作部４０１を介してストレージデバイス２００に格納された地図データの利用又はライセンスデータの複製を要求すると、制御部４０２は、まずストレージインタフェース１０２と暗号エンジン１０３を制御して、ストレージデバイス２００からコンテンツ鍵Ｋｃを含むライセンスデータを読み出させる。読み出されたライセンスデータはライセンス判読部１０８に送られ、コンテンツ鍵Ｋｃが機器ＩＤに紐付けられているか否かを判定される。紐付けられていなければ、ライセンス判読部１０８は、読み出されたライセンスデータが複製ではないオリジナルのライセンスデータであると判定する。オリジナルのライセンスデータである場合は、制御部４０２は、ライセンス生成部４０７を制御して、読み出されたライセンスデータ内のコンテンツ鍵Ｋｃを、機器ＩＤ保持部４０４に保持されている機器ＩＤで暗号化し、「ｂｉｎｄｅｄ  Ｋｃ」を生成し、ライセンスデータ内のコンテンツ鍵Ｋｃを「ｂｉｎｄｅｄ  Ｋｃ」に変更する。ライセンス生成部４０７は、さらに、ライセンスデータのＣＣＩ（Copy Control Information）を「Copy One Generation」に変更するとともに、カーナビゲーション装置４００の機器ＩＤを類推するための情報（機器ＩＤとは異なる情報）、例えば、カーナビゲーション装置４００の製造番号などをライセンスデータに追加する。こうして生成されたライセンスデータは、暗号エンジン１０３、ストレージインタフェース１０２を介してストレージデバイス２００に転送され、ストレージデバイス２００の耐タンパ記憶部２０４に記録されていたライセンスデータに上書きされて置き換えられる。これにより、ストレージデバイス２００に記録されたライセンスデータを用いた地図データの利用は、このカーナビゲーション装置４００以外の機器ではできなくなる。
【０１７１】
ストレージデバイス２５０にライセンスデータを複製するときは、ライセンス生成部４０７は、複製先のストレージデバイス２５０に記録するライセンスデータとして、「ｂｉｎｄｅｄ  Ｋｃ」と、カーナビゲーション装置４００の機器ＩＤを類推するための情報（ｂｉｎｄｉｎｇ  ｉｎｆｏ）と、ＣＣＩとして「No More Copy」又は「Never Copy」がセットされたライセンスデータを生成する。生成されたライセンスデータは、暗号エンジン１０３を介してストレージデバイス２５０に転送され、ストレージデバイス２５０の耐タンパ記憶部に記録される。暗号化地図データについては、通常のデータと同様に扱ってよいので、カーナビゲーション装置４００により複製されてもよいし、パーソナルコンピュータなどの別の装置を用いて複製されてもよい。
【０１７２】
さらに別のストレージデバイスにバックアップをとる場合、暗号エンジン１０３を有し、ライセンスデータの入出力が可能な別の装置を用いて、複製元のストレージデバイス２００から別のストレージデバイスに複製されてもよい。この場合も、コンテンツ鍵Ｋｃは、最初に複製を生成したカーナビゲーション装置４００の機器ＩＤに紐付けされているので、そのカーナビゲーション装置４００でないと利用できない。
【０１７３】
つづいて、ストレージデバイス２００の地図データを読み出すときの動作について説明する。ストレージデバイス２００に格納されたコンテンツ鍵が、機器ＩＤに紐付けられていない間は、暗号エンジン１０３を介してライセンスデータを読み出すことにより、コンテンツ鍵Ｋｃが得られるので、コンテンツ復号部１１１は、ストレージデバイス２００に格納された地図データを復号することができる。ストレージデバイス２００のデータをストレージデバイス２５０に複製して、コンテンツ鍵が機器ＩＤに紐付けられている場合は、ライセンス判読部１０８は、暗号エンジン１０３を介して読み出されたライセンスデータを解析してコンテンツ鍵Ｋｃを得る。ライセンス判読部１０８は、まず、ライセンスデータに含まれる、「ｂｉｎｄｉｎｇ  ｉｎｆｏ」を参照して、このライセンスデータが、自装置に紐付けられたものであるか否かを判定する。ライセンスデータが、自装置に紐付けられていると判定されると、ライセンス判読部１０８は、機器ＩＤ保持部４０４から機器ＩＤを読み出し、読み出した機器ＩＤを用いて「ｂｉｎｄｅｄ  Ｋｃ」からコンテンツ鍵Ｋｃを得る。得られたコンテンツ鍵Ｋｃはコンテンツ復号部１１１へ通知される。これにより、コンテンツ復号部１１１は、暗号化された地図データを復号することができる。複製されたストレージデバイス２５０の地図データも同様にして復号することができる。
【０１７４】
ライセンスデータが紐付けられた装置以外の装置は、紐付けられた機器ＩＤを知ることができないので、コンテンツ鍵Ｋｃを得ることができない。したがって、暗号化された地図データやライセンスデータを不正に複製したとしても、地図データを復号することはできない。これにより、不正な利用を防ぎ、著作権を適切に保護することができる。
【０１７５】
図１７は、カーナビゲーション装置の別の構成例を示す。図１７に示したカーナビゲーション装置４００は、図１５に示したカーナビゲーション装置４００の構成に加えて、モデルＩＤ保持部４０８を更に備える。モデルＩＤは、同種の装置群を識別するために付与されたものであり、カーナビゲーション装置４００の工場出荷時にモデルＩＤ保持部４０８に格納される。
【０１７６】
図１８（ａ）（ｂ）は、図１７に示した例におけるストレージデバイスの内部データを模式的に示す。図１８（ａ）に示した例では、ストレージデバイス２００に格納されたライセンスデータは、工場出荷時に、コンテンツ鍵が、同種の装置群を識別するための付与されたモデルＩＤに紐付けられている。したがって、カーナビゲーション装置４００がストレージデバイス２００に格納された地図データを復号したり、ライセンスデータを複製したりするとき、ライセンス判読部１０８は、暗号エンジン１０３を介して取得したライセンスデータに含まれる、モデルＩＤに紐付けられたコンテンツ鍵Ｋｃから、モデルＩＤ保持部４０８より読み出したモデルＩＤを用いて、コンテンツ鍵Ｋｃを得る。なお、読み出したライセンスデータ内のコンテンツ鍵Ｋｃが、モデルＩＤに紐付けされているか、カーナビゲーション装置４００に紐付けされているかは、「ｂｉｎｄｉｎｇ  ｉｎｆｏ」によって判断される。カーナビゲーション装置４００が利用可能なライセンスデータは、コンテンツ鍵Ｋｃがカーナビゲーション装置４００自身の機器ＩＤ又はカーナビゲーション装置４００が属する装置群のモデルＩＤに紐付けされているものである。また、カーナビゲーション装置４００が属する装置群のモデルＩＤに紐付けされたコンテンツ鍵Ｋｃを含むライセンスデータは、オリジナルのライセンスデータである。図１８（ｂ）は、複製後のストレージデバイス２００と、複製先のストレージデバイス２５０の内部データを示す。複製後のストレージデバイス２００及びストレージデバイス２５０の内部データは、図１６（ｂ）に示した例と同様である。
【０１７７】
図１９は、カーナビゲーション装置の更に別の構成例を示す。図１９に示したカーナビゲーション装置４００は、図１７に示したカーナビゲーション装置４００の構成に加えて、ライセンスメモリ４０９を更に備える。ライセンスメモリ４０９は、外部に漏洩しないように秘匿されたメモリであり、ライセンス判読部１０８においてモデルＩＤ又は機器ＩＤで復号された紐付けされていないコンテンツ鍵Ｋｃを含むライセンスデータを一時的に又は継続的に保持する。
【０１７８】
図２０（ａ）（ｂ）は、図１９に示した例におけるストレージデバイスの内部データを模式的に示す。図２０（ａ）に示した例は、図１８（ａ）に示したストレージデバイス２００の内部データと同様である。このストレージデバイス２００の利用を開始するとき、又は、複製を作成するときに、ライセンス判読部１０８は、暗号エンジン１０３を介して取得したライセンスデータに含まれる、モデルＩＤに紐付けられたコンテンツ鍵Ｋｃから、モデルＩＤ保持部４０８より読み出したモデルＩＤを用いて、コンテンツ鍵Ｋｃを得る。制御部４０２は、得られたコンテンツ鍵Ｋｃをライセンスメモリ４０９に格納する。ライセンスメモリ４０９に格納されたコンテンツ鍵Ｋｃは、バックアップのための複製が終了すると消去されてもよいし、ライセンスメモリ４０９にコンテンツ鍵Ｋｃを継続的に保持して、以降、コンテンツ復号部１１１は、ライセンスメモリ４０９に格納されたコンテンツ鍵Ｋｃを用いて暗号化地図データを復号してもよい。図２０（ｂ）は、複製後のストレージデバイス２００と、複製先のストレージデバイス２５０の内部データを示す。ライセンスメモリ４０９に格納されたコンテンツ鍵Ｋｃを複製元として、ストレージデバイス２００及びストレージデバイス２５０に「ｂｉｎｄｅｄ  Ｋｃ」が複製される。オリジナルのストレージデバイス２００のコンテンツ鍵をいったんライセンスメモリ４０９へムーブし（ストレージデバイス２００から削除する）、ライセンスメモリ４０９から元のストレージデバイス２００と複製先のストレージデバイス２５０へ、カーナビゲーション装置４００に紐付けされた「ｂｉｎｄｅｄ  Ｋｃ」をコピーしたことと同じである。
【０１７９】
以上、本発明に係る実施の形態について説明したが、この実施の形態は例示であり、本発明はこの実施の形態に限定されるものではなく、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【０１８０】
たとえば、上記の実施の形態では、暗号エンジン内において暗号化を行う機能ブロックと復号を行う機能ブロックとを別個に設けたが、これらの構成要素において回路を共有してもよい。これにより、回路規模を抑え、小型化、低消費電力化に寄与することができる。
【０１８１】
実施の形態では、紐付け、地図データの利用、ライセンスデータの複製における、ストレージデバイス２００からライセンスデータを読み出す処理を別々に説明したが、地図データの利用の要求に対して紐付けが行われる場合、２つの処理におけるライセンスデータの読み出しを共通化することができる。同様に、ライセンスデータの複製の要求に対して紐付けが行われる場合、２つの処理におけるライセンスデータの読み出しを共通化することができる。
【０１８２】
ストレージデバイス間のライセンスデータの複製又は移動が許可されている場合は、前提技術と同様の方法によりライセンスデータを他のストレージデバイスへ複製又は移動してもよい。ライセンスデータを移動する場合には、ライセンスデータの複製が完了した後に、元のライセンスデータを格納していたストレージデバイスからライセンスデータを削除する。
【０１８３】
実施の形態では、ストレージデバイス２００を、ストレージデバイス２５０と同じ機能を持つものとして説明したが、必ずしも暗号エンジンを備える必要はない。記録再生装置１００のみが復号可能な暗号化を一次利用ライセンス全体に施して記録していればよい。この場合、一次利用ライセンスデータ全体が、記録再生装置１００に対して紐付きで記録されていることになるため、本実施の形態において説明したようにコンテンツ鍵を紐付きにする必要はない。
【０１８４】
実施の形態では、暗号化地図データとオリジナルライセンスデータを格納したストレージデバイス２００を出荷する例を示しているが、暗号化地図データとオリジナルライセンスデータはインターネットなどのネットワークを介してサーバ装置などから配信されてもよい。この場合であっても、サーバ装置は同じデータを配信すればよく、管理コストも削減される。ユーザも機器の関する情報を配信サーバに送信する必要が無く、ユーザの利便性も良くなる。
【０１８５】
実施の形態では、地図データとカーナビゲーション装置を例にとって説明したが、地図データ及びカーナビゲーション装置に限定されるものではない。例えば、ビデオデータ、オーディオデータ、プロクラムなど、コンテンツデータ全般を対象とすることが可能であり、このコンテンツデータを管理するコンテンツ管理装置に適応可能である。
【図面の簡単な説明】
【０１８６】
【図１】前提技術に係るデータ管理システムの全体構成を示す図である。
【図２】前提技術に係る記録再生装置の内部構成を示す図である。
【図３】一次利用ライセンス生成部及びコンテンツ暗号部の内部構成を示す図である。
【図４】ライセンスデータのデータ構造を示す図である。
【図５】ライセンス判読部の内部構成を示す図である。
【図６】一次利用ライセンス生成部及びコンテンツ暗号部の内部構成の別の例を示す図である。
【図７】ライセンス判読部の内部構成の別の例を示す図である。
【図８】ストレージデバイス及びの内部構成を示す図である。
【図９】図２に示した記録再生装置の暗号エンジンの内部構成を示す図である。
【図１０】図２に示した記録再生装置の暗号エンジンの内部構成を示す図である。
【図１１】図８に示したストレージデバイスの暗号エンジンの内部構成を示す図である。
【図１２】記録再生装置がストレージデバイスにライセンスデータを記録するまでの手順を示す図である。
【図１３】記録再生装置がストレージデバイスにライセンスデータを記録するまでの手順を示す図である。
【図１４】図１３におけるライセンスデータの書込転送処理のフローチャートである。
【図１５】実施の形態に係るカーナビゲーション装置の構成を示す図である。
【図１６】図１６（ａ）（ｂ）は、ストレージデバイスの内部データを模式的に示す図である。
【図１７】カーナビゲーション装置の別の構成例を示す図である。
【図１８】図１８（ａ）（ｂ）は、図１７に示した例におけるストレージデバイスの内部データを模式的に示す図である。
【図１９】カーナビゲーション装置の更に別の構成例を示す図である。
【図２０】図２０（ａ）（ｂ）は、図１９に示した例におけるストレージデバイスの内部データを模式的に示す図である。
【符号の説明】
【０１８７】
１  データ管理システム、２０  記憶媒体、１００  記録再生装置、１０１  コントローラ、１０３  暗号エンジン、１０４  コンテンツ暗号部、１０７  一次利用ライセンス生成部、１０８  ライセンス判読部、１０９  二次利用ライセンス生成部、１１１  コンテンツ復号部、１６２  ＩＤ整形部、１６３  コンテンツ鍵暗号部、１６４  ライセンスデータフォーマッタ、１６６  演算部、１７１  形式解析部、１７２  ＩＤ整形部、１７３  コンテンツ鍵復号部、１７６  演算部、２００  ストレージデバイス、２０１  コントローラ、２０２  ストレージインタフェース、２０３  暗号エンジン、２０４  耐タンパ記憶部、２０５  通常データ記憶部、３００  ライセンス利用装置、４００  カーナビゲーション装置、４０１  操作部、４０２  制御部、４０３  地図データ処理部、４０４  機器ＩＤ保持部、４０５  ビデオメモリ、４０６  表示部、４０７  ライセンス生成部、４０８  モデルＩＤ保持部、４０９  ライセンスメモリ。
【図１５】
2007304822.tif 000003
【図１６】
2007304822.tif 000004
【図１７】
2007304822.tif 000005
【図１８】
2007304822.tif 000006
【図１９】
2007304822.tif 000007
【図２０】
2007304822.tif 000008
【図１】
2007304822.tif 000009
【図２】
2007304822.tif 000010
【図３】
2007304822.tif 000011
【図４】
2007304822.tif 000012
【図５】
2007304822.tif 000013
【図６】
2007304822.tif 000014
【図７】
2007304822.tif 000015
【図８】
2007304822.tif 000016
【図９】
2007304822.tif 000017
【図１０】
2007304822.tif 000018
【図１１】
2007304822.tif 000019
【図１２】
2007304822.tif 000020
【図１３】
2007304822.tif 000021
【図１４】
2007304822.tif 000022