JP2007158559A - 記録装置及び記録方法 - Google Patents
記録装置及び記録方法 Download PDFInfo
- Publication number
- JP2007158559A JP2007158559A JP2005348684A JP2005348684A JP2007158559A JP 2007158559 A JP2007158559 A JP 2007158559A JP 2005348684 A JP2005348684 A JP 2005348684A JP 2005348684 A JP2005348684 A JP 2005348684A JP 2007158559 A JP2007158559 A JP 2007158559A
- Authority
- JP
- Japan
- Prior art keywords
- key
- data
- content
- unit
- storage device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Storage Device Security (AREA)
Abstract
【課題】コンテンツの著作権を保護しつつ、ユーザの利便性を向上させる技術を提供する。
【解決手段】一次利用ライセンス生成部107は、コンテンツデータを暗号化するためのコンテンツ鍵を生成し、コンテンツ鍵と、コンテンツ鍵の複製に関する制御情報とを含む一次利用ライセンスデータを生成する。暗号エンジン103は、暗号通信により一次利用ライセンスデータをストレージデバイス200に記録する。コンテンツデータをストレージデバイス250に複製するとき、ライセンス判読部108は、一次利用ライセンスデータに含まれる複製に関する制御情報を参照して複製の許否を判定する。複製が許可された場合は、二次利用ライセンス生成部109が、複製が禁止される二次利用ライセンスデータを生成する。暗号エンジン103は、暗号通信により二次利用ライセンスデータをストレージデバイス250に記録する。
【選択図】図2
【解決手段】一次利用ライセンス生成部107は、コンテンツデータを暗号化するためのコンテンツ鍵を生成し、コンテンツ鍵と、コンテンツ鍵の複製に関する制御情報とを含む一次利用ライセンスデータを生成する。暗号エンジン103は、暗号通信により一次利用ライセンスデータをストレージデバイス200に記録する。コンテンツデータをストレージデバイス250に複製するとき、ライセンス判読部108は、一次利用ライセンスデータに含まれる複製に関する制御情報を参照して複製の許否を判定する。複製が許可された場合は、二次利用ライセンス生成部109が、複製が禁止される二次利用ライセンスデータを生成する。暗号エンジン103は、暗号通信により二次利用ライセンスデータをストレージデバイス250に記録する。
【選択図】図2
Description
本発明は、コンテンツデータを復号するためのコンテンツ鍵の記録技術に関し、とくに、コンテンツ鍵の複製を制御する記録装置及び方法に関する。
コンテンツデータを保護する著作権保護方式として、コンテンツデータを暗号化し、その復号鍵(以下、「コンテンツ鍵」と称す)を含むコンテンツ利用情報(以下、「ライセンスデータ」と称す)の秘匿性を高めて管理する方式がよく知られている(例えば、特許文献1参照)。特許文献1に開示されたデータ配信システムでは、ライセンスデータを扱う装置として、配信サーバ、ストレージデバイスとしてのメモリカード、利用装置としての携帯電話機のコンテンツ再生デバイスの3つの装置が挙げられている。そして、配信サーバとストレージデバイス、および、ストレージデバイスと利用装置の間で暗号化通信路を構築し、その暗号化通信路を介してライセンスデータの送受信を行う。配信サーバ、ストレージデバイス、利用装置には、暗号化されたライセンスデータを扱うためのTRM(Tamper Resistant Module)が備えられている。
暗号化通信路の構築では、まず、ライセンスデータを提供する装置(以下、「ライセンス提供装置」と称す)が、ライセンスデータを享受する装置(以下、「ライセンス享受装置」と称す)に、公開鍵を含んだ証明書を送信する。そして、ライセンス提供装置が、この証明書を検証し、検証の結果、ライセンス享受装置から送信された証明書が正規の証明書であり、かつ、証明書破棄リストによって無効とされていない場合に、この証明書に含まれる公開鍵を利用して、装置間で鍵交換を行う。そして、ライセンス提供装置からライセンス享受装置に送られた鍵で暗号化されたライセンスデータが、ライセンス提供装置からライセンス享受装置に送信される。TRMは、物理的に秘匿性が保護された回路モジュールであって、暗号化通信路を介してのみ、ライセンスデータをやり取りすることができるよう構成されている。
以上のように、この著作権保護方式においては、コンテンツデータの暗号化と、ライセンスデータの秘匿によって、コンテンツに係る著作権保護の徹底が図られている。さらに、再生回数制御やコピー回数制御などの利用制限の導入と移動制御によって、様々な配信サービスへの展開や、デジタル放送の録画を可能としている。
特開2002−366442号公報
近年、携帯可能な小型の再生専用機が広く普及しており、コンテンツデータをパーソナルコンピュータなどに蓄積し、所望のコンテンツを再生専用機へ複製して持ち歩くといった利用形態が人気を博している。このような状況下、本発明者は、上述した著作権保護方式により著作権の保護を徹底しつつ、ユーザの私的な利用のための複製を可能とし、ユーザの便宜を図る技術を想到するに至った。
本発明は、こうした状況に鑑みてなされたものであり、その目的は、コンテンツの著作権を保護しつつ、ユーザの利便性を向上させることができる技術を提供することにある。
本発明のある態様は、記録方法に関する。この記録方法は、複製元のストレージデバイスに記録された暗号化されたコンテンツデータと、前記暗号化されたコンテンツデータを復号するためのコンテンツ鍵及び前記コンテンツデータの複製に関する制御情報を含む一次利用ライセンスデータとを取得するステップと、複製元の装置、装置のユーザ、又はその装置で動作するプログラムを特定できるIDを取得するステップと、前記IDを利用して、前記一次利用ライセンスデータから前記コンテンツ鍵を取り出すステップと、前記複製に関する制御情報を参照して、複製先のストレージデバイスへの複製の許否を判定するステップと、前記複製先のストレージデバイスへの複製が許可されたときに、前記一次利用ライセンスデータから取り出した前記コンテンツ鍵及び前記コンテンツデータの複製を禁止する制御情報を含む二次利用ライセンスデータを生成するステップと、前記二次利用ライセンスデータを暗号通信により前記複製先のストレージデバイスに送信し、前記複製先のストレージデバイスに記録するステップと、前記暗号化されたコンテンツデータを前記複製先のストレージデバイスへ記録するステップと、を含むことを特徴とする。
コンテンツデータの複製の許否を判定することにより、コンテンツデータの不正な複製を防ぎ、コンテンツの著作権を保護することができる。また、複製が許可される場合には、複製が禁止される二次利用ライセンスデータを生成して他のストレージデバイスに複製することにより、コンテンツの著作権を適切に保護しつつ、ユーザの利便性を向上させることができる。
前記一次利用ライセンスデータは、暗号化された前記コンテンツ鍵を含んでもよく、前記コンテンツ鍵を取り出すステップは、前記IDをもとに、暗号化された前記コンテンツ鍵を復号するための復号鍵を生成するステップと、前記復号鍵で、前記一次利用ライセンスデータに含まれる暗号化された前記コンテンツ鍵を復号するステップと、を含んでもよい。前記一次利用ライセンスデータは、共通鍵暗号方式により暗号化された前記コンテンツ鍵を含んでもよく、前記復号鍵を生成するステップは、前記コンテンツ鍵を暗号化するための暗号鍵を生成する演算と同じ演算により、前記暗号鍵と同一の前記復号鍵を生成してもよい。正当な権限を有する装置又はユーザのIDをもとに生成された共通鍵でコンテンツ鍵を暗号化しておくことにより、暗号化されたコンテンツ鍵が不正に複製された場合であっても、正当な装置又はユーザでないと復号できないようにする。これにより、コンテンツの著作権を適切に保護することができる。
前記一次利用ライセンスデータは、前記コンテンツ鍵に代えて乱数を含んでもよく、前記コンテンツ鍵を取り出すステップは、前記一次利用ライセンスデータに含まれる前記乱数に前記IDを用いた所定の演算を施すことにより前記コンテンツ鍵を生成するステップを含んでもよい。前記所定の演算は、共通鍵暗号方式により暗号化又は復号する演算であってもよい。
記録方法は、コンテンツデータを取得するステップと、前記コンテンツデータを暗号化するためのコンテンツ鍵を生成するステップと、前記コンテンツ鍵により前記コンテンツデータを暗号化するステップと、前記一次利用ライセンスデータを生成するステップと、暗号化された前記コンテンツデータと、前記一次利用ライセンスデータとを、前記複製元のストレージデバイスに記録するステップと、を更に含んでもよい。
記録方法は、コンテンツデータを取得するステップと、前記コンテンツデータを暗号化するためのコンテンツ鍵を生成するステップと、前記コンテンツ鍵により前記コンテンツデータを暗号化するステップと、前記一次利用ライセンスデータを生成するステップと、暗号化された前記コンテンツデータと、前記一次利用ライセンスデータとを、前記複製元のストレージデバイスに記録するステップと、を更に含んでもよく、前記一次利用ライセンスデータを生成するステップは、前記複製元の装置、その装置のユーザ、又はその装置で動作するプログラムのIDを取得するステップと、前記コンテンツ鍵に前記IDを用いて所定の演算を施すことにより、前記コンテンツ鍵を暗号化するステップと、暗号化された前記コンテンツ鍵を含む前記一次利用ライセンスデータを生成するステップと、を含んでもよい。
記録方法は、コンテンツデータを取得するステップと、前記コンテンツデータを暗号化するためのコンテンツ鍵を生成するステップと、前記コンテンツ鍵により前記コンテンツデータを暗号化するステップと、前記一次利用ライセンスデータを生成するステップと、暗号化された前記コンテンツデータと、前記一次利用ライセンスデータとを、前記複製元のストレージデバイスに記録するステップと、を更に含んでもよく、前記コンテンツ鍵を生成するステップは、乱数を発生するステップと、前記複製元の装置、その装置のユーザ、又はその装置で動作するプログラムを特定できるIDを取得するステップと、前記乱数に前記IDを用いた所定の演算を施すことにより前記コンテンツ鍵を生成するステップと、を含んでもよく、前記一次利用ライセンスデータを生成するステップは、前記コンテンツ鍵に代えて前記乱数を含む前記一次利用ライセンスデータを生成するステップと、を含んでもよい。
前記一次利用ライセンスデータは、暗号通信により、前記複製元のストレージデバイスに記録され、又は前記複製元のストレージデバイスから読み出されてもよい。
本発明の別の態様は、記録装置に関する。この記録装置は、複製元のストレージデバイスに記録された暗号化されたコンテンツデータと、前記暗号化されたコンテンツデータを復号するためのコンテンツ鍵及び前記コンテンツデータの複製に関する制御情報を含む一次利用ライセンスデータとを取得する取得手段と、前記複製に関する制御情報を参照して、複製先のストレージデバイスへの複製の許否を判定する判定部と、複製元の装置、装置のユーザ、又はその装置で動作するプログラムを特定できるIDを取得し、前記IDを利用して前記一次利用ライセンスデータから前記コンテンツ鍵を取り出すコンテンツ鍵取得手段と、前記複製先のストレージデバイスへの複製が許可されたときに、前記一次利用ライセンスデータから取り出した前記コンテンツ鍵及び前記コンテンツデータの複製を禁止する制御情報を含む二次利用ライセンスデータを生成する二次利用ライセンス生成部と、前記二次利用ライセンスデータを前記複製先のストレージデバイスに記録するために、前記二次利用ライセンスデータを暗号通信により前記複製先のストレージデバイスに送信する暗号エンジンと、を備えることを特徴とする。
前記コンテンツ鍵取得手段は、前記IDをもとに、暗号化された前記コンテンツ鍵を復号するための復号鍵を生成するID整形部と、前記復号鍵で、前記一次利用ライセンスデータに含まれる暗号化された前記コンテンツ鍵を復号するコンテンツ鍵復号部と、を含んでもよい。
前記取得手段は、コンテンツデータを暗号化するためのコンテンツ鍵を生成し、前記コンテンツ鍵と、前記コンテンツ鍵の複製に関する制御情報とを含む一次利用ライセンスデータを生成する一次利用ライセンス生成部と、前記コンテンツ鍵で前記コンテンツデータを暗号化するコンテンツ暗号部と、を含んでもよい。
前記一次利用ライセンス生成部は、前記複製元の装置、その装置のユーザ、又はその装置で動作するプログラムを特定できるIDを取得し、前記IDをもとに前記コンテンツ鍵を暗号化するための暗号鍵を生成するID整形部と、前記暗号鍵で前記コンテンツ鍵を暗号化するコンテンツ鍵暗号部と、を含んでもよい。
本発明によれば、コンテンツの著作権を保護しつつ、ユーザの利便性を向上させることができる。
本発明の実施の形態について、図を参照しながら以下に説明する。
図1は、実施の形態に係るデータ管理システム10の全体構成を示す。データ管理システム10は、CDやDVDなどの記憶媒体20に格納された音楽や映像などのコンテンツデータをストレージデバイス200に記録し、ストレージデバイス200に記録されたコンテンツデータを再生する記録再生装置100と、ストレージデバイス200に記録されたコンテンツデータを他の装置、例えば、カーオーディオ300a、再生専用装置300b、記録再生装置300cなどで再生することを可能とするために、コンテンツデータの複製を格納する脱着型のストレージデバイス250を含む。
記録再生装置100は、記憶媒体20に格納されたコンテンツデータを取り出して、ストレージデバイス200に格納するときに、コンテンツデータを暗号化するためのコンテンツ鍵を、記録再生装置100に紐付けした形式で生成し、コンテンツデータをコンテンツ鍵で暗号化して記録する。このとき、コンテンツデータの著作権を保護するために、コンテンツデータに付加されている利用情報、例えば複製の可否や回数などの制限、再生の回数などの制限などを示す情報を取得する。そして、取得した利用情報の形式を変換する。この利用情報と、先に生成したコンテンツ鍵とをパッケージ化したデータ(以下、「一次利用ライセンスデータ」と呼ぶ)を暗号化してストレージデバイス200に記録する。記録再生装置100に紐付けするとは、記録再生装置100の機器ID、記録再生装置100を構成する半導体部品などに埋め込まれているデバイスID、記録再生装置100にインストールされているOSなどのソフトウェアのプログラムID、暗号処理にて使用する埋め込み型の秘密鍵などの、記録再生装置100や記録再生装置100の機能単位を特定できる識別データを用いないと、一次利用ライセンスデータからコンテンツ鍵を取り出すことができず、暗号化コンテンツデータを復号できないということを意味する。なお、ここではコンテンツ鍵を記録再生装置100に紐付けしたものとして説明をするが、記憶媒体20の購入者など正当な権限を有するユーザに対して紐付けしてもよい。本実施の形態では、コンテンツ鍵を機器IDに紐付けする場合を例に取って説明する。
記録再生装置100は、ストレージデバイス200に記録されたコンテンツデータを再生するときには、ストレージデバイス200から暗号化された一次利用ライセンスデータを読み出して、一次利用ライセンスデータから、機器IDを用いてコンテンツ鍵を取得する。そして、取得したコンテンツ鍵で暗号化コンテンツデータを復号して再生する。これにより、コンテンツデータの不正な複製を抑止することができ、コンテンツデータの著作権を適切に保護することができる。
近年、携帯用の再生装置が広く普及しており、例えば、音楽CDに記録されたコンテンツデータをパーソナルコンピュータなどの記録再生装置100に蓄積し、所望の曲を携帯用再生装置に複製して持ち歩くという利用形態が普及している。本実施の形態では、このような利用形態を実現するために、記録再生装置100は、ストレージデバイス200に格納されている暗号化コンテンツデータをストレージデバイス250へ複製する。このとき、記録再生装置100は、ストレージデバイス200に格納されている一次利用ライセンスデータから、再生専用の二次利用ライセンスデータを生成し、ストレージデバイス250に記録する。この二次利用ライセンスデータは、記録再生装置100に紐付されない形式のコンテンツ鍵と、再生以外の使用を禁止した利許諾用情報を含み、二次利用ライセンスデータの複製も禁止される。これにより、コンテンツデータの著作権を適切に保護しつつ、携帯用再生装置などによるコンテンツデータの私的利用を可能とし、ユーザの利便性を向上させることができる。
本実施の形態のストレージデバイス250は、データを保持する記憶媒体だけでなく、記録再生装置100などのホスト装置と記憶媒体との間でのデータの入出力を制御するコントローラなどの構成を備えるドライブ一体型の可搬型ストレージデバイスである。本実施の形態では、ストレージデバイス250として、可搬型ハードディスクドライブを例にとって説明する。なお、ストレージデバイス200は、特に形態は問わないが、説明を簡単にするためストレージデバイス250と同じ機能をもつドライブ一体型の可搬型ストレージデバイスとして説明する。しかしながら、記録再生装置100に内蔵されたハードディスクなどにより実現されてもよい。また、ストレージデバイス250の記録媒体は、半導体メモリ、CD−ROM、DVDなどにより実現されてもよい。
従来のハードディスクドライブは、一つのホスト装置に固定的に接続されて使用されるのが一般的であったが、本実施の形態のストレージデバイス200及び250は、記録再生装置100などのホスト装置に対して、着脱が自在になされるよう構成されている。すなわち、本実施の形態のストレージデバイス200及び250は、CDやDVDなどと同様にホスト装置から取り外して持ち運ぶことができ、記録再生装置100のほか、カーオーディオ300a、再生専用装置300b、記録再生装置300c、又はこれらの装置と通信ケーブルや通信網を介して接続された端末装置などの複数のホスト装置間で共用することが可能な記憶装置である。
このように、本実施の形態のストレージデバイス200及び250は、複数のホスト装置に接続されることを前提にしており、たとえば、所有者以外の第三者のホスト装置に接続され、記録されたデータが読み出される可能性もある。このストレージデバイス200及び250に、音楽や映像などの著作権により保護されるべきコンテンツ、企業や個人の機密情報などの秘匿すべきデータを記録することを想定したとき、それらの秘匿データが外部に漏洩することを防ぐためには、ストレージデバイス200及び250自身にデータを適切に保護するための構成を設け、十分な耐タンパ機能を持たせることが好ましい。
このような観点から、本実施の形態のストレージデバイス200及び250は、ホスト装置との間で秘匿データを入出力するときに、その秘匿データを暗号化してやり取りするための構成を備える。また、秘匿データを格納するために、通常の記憶領域とは異なる機密データ記憶領域を設け、その機密データ記憶領域はストレージデバイス200及び250内に設けられた暗号エンジンを介さないとアクセスできないように構成する。この暗号エンジンは、正当な権限を有すると検証されたホスト装置のみと秘匿データの入出力を行う。以下、このようなデータ保護機能を「セキュア機能」ともいう。上記の構成および機能により、ストレージデバイス200及び250に記録された秘匿データを適切に保護することができる。
ストレージデバイス200及び250のリムーバブルメディアとしての特徴を最大限に生かすため、通常のデータについては、セキュア機能に非対応のホスト装置でも入出力可能とするのが好ましい。そのため、本実施の形態のストレージデバイス200及び250は、従来のハードディスクとの互換性を保つべく、ANSI(American National Standards Institute)の標準規格であるATA(AT Attachment)に対応しており、上述のセキュア機能は、ATAの拡張命令として実現される。
記憶媒体20に記録されたコンテンツデータをストレージデバイス200又は250に記録する際に、コンテンツデータ自身を秘匿データとして扱ってもよいが、本実施の形態では、コンテンツデータを暗号化し、暗号化されたコンテンツデータ自身は、ストレージデバイス200又は250に通常のデータとして記録する。そして、暗号化されたコンテンツを復号するためのコンテンツ鍵と、コンテンツの再生制御や、ライセンスの利用、移動、複製に関する制御に関する情報(以下、「利用情報」と称す)を含むデータ(以下、「ライセンスデータ」と称す)を、秘匿データとして上述のセキュア機能を用いて入出力を行う。これにより、十分な耐タンパ性を維持しつつ、データの入出力を簡略化し、処理の高速化および消費電力の低減を図ることができる。
ここで、ライセンスデータは、コンテンツ鍵や利用情報の他に、ライセンスデータを特定するための識別情報LIDを含むものとする。また、利用情報として、ライセンスデータの複製回数の上限を示す制御情報CCを含むものとする。ここでは、制御情報CCは、1バイトの符号なし整数であり、その値がライセンスデータの複製回数の上限値を示すものとし、ライセンスデータを複製する毎に1減算されるものとする。また、CC=255は、例外として、複製回数の上限設定がないことを示し、ライセンスデータの複製によって、値を変化させないものとする。なお、ここで示した制御情報CCの設定方法および運用方法は、本実施の形態における一例であって、特に限定するものではない。
なお、以下においては、記録再生装置100などのホスト装置がストレージデバイス200又は250に対して発行する命令のうち、セキュア機能のための拡張命令を「セキュアコマンド」とも呼び、その他の命令を「通常コマンド」とも呼ぶ。
図2は、実施の形態に係る記録再生装置100の内部構成を示す。この構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIなどで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
記録再生装置100は、主に、コントローラ101、ストレージインタフェース102a及び102b、暗号エンジン103、コンテンツ暗号部104、コンテンツ復号部111、それらを電気的に接続するデータバス110、利用情報検出部106、一次利用ライセンス生成部107、ライセンス判読部108、二次利用ライセンス生成部109、利用情報付加部112、及び再生部113を備える。ストレージデバイス200は、記録再生装置100に内蔵されていてもよいし、上述したように、記録再生装置100に着脱可能に設けられてもよい。
利用情報検出部106は、記憶媒体20に格納されているデータの中から利用情報を検出する。利用情報は、記憶媒体20の所定領域に格納されていてもよいし、コンテンツデータの所定領域に格納されていてもよいし、コンテンツデータにウォーターマークなどの技術を用いて埋め込まれていてもよい。検出された利用情報は、一次利用ライセンス生成部107へ伝達される。
一次利用ライセンス生成部107は、コンテンツデータを暗号化するためのコンテンツ鍵を生成する。また、利用情報検出部106が検出した利用情報を継承した利用情報を生成する。一次利用ライセンス生成部107は、生成したコンテンツ鍵と利用情報から、記録再生装置100において利用可能な一次利用ライセンスデータを生成する。生成されたコンテンツ鍵はコンテンツ暗号部104へ伝達される。また、生成された一次利用ライセンスデータは暗号エンジン103へ伝達され、暗号エンジン103を介してストレージデバイス200に記録される。
コンテンツ暗号部104は、一次利用ライセンス生成部107から伝達されたコンテンツ鍵を用いて、記憶媒体20から読み出されたコンテンツデータを暗号化する。暗号化されたコンテンツデータは、データバス110及びストレージインタフェース102aを介して、通常コマンドによりストレージデバイス200に記録される。
暗号エンジン103は、一次利用ライセンスデータをストレージデバイス200との間で入出力するために、ストレージデバイス200との間で暗号通信の制御を行う。また、暗号エンジン103は、二次利用ライセンスデータをストレージデバイス250に記録するために、ストレージデバイス250との間で暗号通信の制御を行う。暗号エンジン103の構成及び動作の詳細については後述する。ストレージインタフェース102a、102bは、それぞれ、ストレージデバイス200、250とのデータの入出力を制御する。コントローラ101は、記録再生装置100の構成要素を統括的に制御する。
ライセンス判読部108は、ストレージデバイス200に記録された一次利用ライセンスデータを取得して判読し、コンテンツ鍵と利用情報を取得する。記録再生装置100においてコンテンツを再生するときには、ライセンス判読部108は、利用情報を解析して再生の可否を判定し、再生が許可される場合は、コンテンツ鍵をコンテンツ復号部111に伝達し、利用情報を利用情報付加部112に伝達する。ライセンスデータをストレージデバイス250に複製するときには、ライセンス判読部108は、利用情報を解析して複製の可否を判定し、複製が許可される場合は、コンテンツ鍵及び利用情報を二次利用ライセンス生成部109へ伝達する。
コンテンツ復号部111は、ストレージデバイス200から取得した暗号化コンテンツデータを、ライセンス判読部108から取得したコンテンツ鍵で復号する。利用情報付加部112は、コンテンツ復号部111により復号されたコンテンツデータに、ライセンス判読部108から伝達された利用情報を付加する。利用情報付加部112は、コンテンツデータの所定位置に利用情報を付加してもよいし、コンテンツデータにウォーターマークなどの技術を用いて利用情報を埋め込んでもよく、要は、記憶媒体20に格納されているコンテンツデータと同じ状態になるようにコンテンツデータを整形する。再生部113は、利用情報付加部112により整形されたコンテンツデータを再生する。再生部113が利用情報を必要としない場合は、コンテンツ復号部111により復号されたコンテンツデータを直接再生部113へ出力してもよい。この場合、利用情報付加部112は設けなくてもよい。
二次利用ライセンス生成部109は、ライセンス判読部108から伝達されたコンテンツ鍵と利用情報を用いて、二次利用ライセンスデータを生成する。生成された二次利用ライセンスデータは暗号エンジン103へ伝達され、暗号エンジン103を介してストレージデバイス250に記録される。ストレージデバイス250に記録された二次利用ライセンスデータは、再生専用装置300bなどにおいてコンテンツデータを再生するためにのみ利用可能であり、複製は禁止される。
図3は、一次利用ライセンス生成部107及びコンテンツ暗号部104の内部構成を示す。一次利用ライセンス生成部107は、利用情報変換部160、乱数生成部161、ID整形部162、コンテンツ鍵暗号部163、及びライセンスデータフォーマッタ164を含む。コンテンツ暗号部104は、データ挿入部150及び暗号器151を含む。
利用情報変換部160は、利用情報検出部106から利用情報を取得し、データ形式やデータの内容を変換する。暗号化コンテンツデータに利用情報を挿入する必要がある場合は、利用情報変換部160は、挿入すべき情報を抽出してデータ挿入部150へ伝達する。また、利用情報変換部160は、ライセンスデータのフォーマットに合わせて利用情報を変換する。ライセンスデータのフォーマットは図5を参照して説明する。
乱数生成部161は、コンテンツ鍵Kcとして用いられる乱数を発生し、コンテンツ鍵暗号部163及び暗号器151へ伝達する。ID整形部162は、記録再生装置100の機器IDを取得し、コンテンツ鍵暗号部163においてコンテンツ鍵を暗号化するための暗号鍵として利用可能な形式に整形する。機器IDは、記録再生装置100のBIOS領域に固定的に記録されていてもよい。また、機器IDに代えて、記録再生装置100のユーザのID、記録再生装置100において動作するOSやリッピングアプリケーションなどのプログラムのID、ストレージデバイス200の機器IDなどを用いてもよい。要は、コンテンツデータを利用する権利を有するユーザ又は装置のみが知りうる情報であればよい。ID整形部162は、コンテンツ鍵暗号部163が採用する暗号方式における暗号鍵のビット長に合わせて、取得した機器IDを整形する。例えば、機器IDのビット数が暗号鍵のビット長よりも少ない場合は、0などでパディングしてもよい。逆に、機器IDのビット数が暗号鍵のビット長よりも多い場合は、先頭から順に必要なビット長を取り出してもよいし、末尾から順に必要なビット長を取り出してもよい。
コンテンツ鍵暗号部163は、乱数生成部161から伝達されたコンテンツ鍵Kcを、ID整形部162から伝達された暗号鍵で暗号化する。コンテンツ鍵暗号部163における暗号方式は任意でよく、例えばAES(Advanced Encryption Standard)方式などであってもよい。AESの鍵長は、128、192、256ビットのいずれかであってもよく、ID整形部162は、コンテンツ鍵暗号部163が必要とする鍵長に機器IDを整形する。コンテンツ鍵暗号部163は、コンテンツ鍵Kcと機器IDの排他的論理和などを演算することにより、暗号化コンテンツ鍵を生成してもよい。暗号化されたコンテンツ鍵は、ライセンスデータフォーマッタ164へ伝達される。
AESは共通鍵暗号方式であるから、暗号化コンテンツ鍵を復号するためには、機器IDを取得してID整形部162と同様に整形し、同一の共通鍵を得ればよい。したがって、記録再生装置100は、自身の機器IDを用いて暗号化コンテンツ鍵を復号することができ、復号したコンテンツ鍵により暗号化コンテンツデータを復号して再生することができる。しかし、他の装置は、記録再生装置100の機器IDを取得することができないので、たとえ暗号化コンテンツ鍵を複製したとしても、それを復号することはできない。このように、機器IDを利用してコンテンツ鍵を暗号化することにより、コンテンツ鍵はその装置に束縛され、その装置でしか利用することができないようになる。
なお、上記の例では、乱数生成部161が生成した乱数をコンテンツ鍵Kcとしたが、別の例では、乱数生成部161が生成した乱数に対して、ID整形部162が整形した機器IDを用いてコンテンツ鍵暗号部163により暗号演算を行ったものをコンテンツ鍵Kcとしてもよい。この場合は、乱数生成部161が生成した乱数をライセンスデータに記録しておき、再生時には、ライセンスデータに格納された乱数と機器IDから同様の演算によりコンテンツ鍵Kcを得る。この場合も、コンテンツ鍵Kcを得るには機器IDが必要となる。
ライセンスデータフォーマッタ164は、利用情報変換部160から伝達された利用情報と、コンテンツ鍵暗号部163から伝達された暗号化コンテンツ鍵とを、所定のフォーマットに整形して、一次利用ライセンスデータを生成する。
図4は、ライセンスデータのデータ構造を示す。ライセンスデータは、ライセンスデータのIDを格納する「LID」欄、ライセンスデータの種別を格納する「Type」欄、コンテンツ鍵が機器IDなどに紐付けられているか否かを示す「Binding Flag」欄、コンテンツ鍵を格納する「Kc」欄、ブロック暗号の初期ベクトルを格納する「Initial Vector」欄、ライセンスデータの利用制御情報を格納する「Access Condition」欄を含む。
「Type」欄には、「0〜64」の値を設定することができる。一次利用ライセンスデータでは「0」が格納され、二次利用ライセンスデータでは「32」が格納される。この「Type」欄が「0〜31」のいずれかの数値であれば、ストレージデバイス200及び250は、同じ機能を持つストレージデバイスに対して、ライセンスデータを渡すことができる。「Type」欄が「32〜64」であれば、直接ストレージデバイス間でライセンスデータを送受信することはできない。すなわち、「Type」欄が「32」である二次利用ライセンスデータは、他のストレージデバイスに複製及び移動することができない。
「Binding Flag」欄には、一次利用ライセンスデータでは、装置に束縛されている、すなわち機器IDにより暗号化されていることを示す「1(bind)」が格納され、二次利用ライセンスデータでは、装置に束縛されていないことを示す「0(not bind)」が格納される。二次利用ライセンスデータは、再生のためだけに使用され、他の装置に複製及び移動することができないので、コンテンツ鍵は機器IDに紐付けられていない。
「Kc」欄には、一次利用ライセンスデータでは、機器IDに紐付けされたコンテンツ鍵(binded Kc)が格納され、二次利用ライセンスデータでは、コンテンツ鍵Kcが格納される。上述したように、二次利用ライセンスデータは、他の装置に複製及び移動することができないので、コンテンツ鍵Kcが暗号化されずにそのまま格納される。一次利用ライセンスデータであっても、複製に関する制限がない場合には、コンテンツ鍵を機器IDに紐付けせずにそのまま格納してもよい。また、逆に、二次利用ライセンスデータの生成が禁止されている場合にも、二次利用ライセンスデータと同様に、コンテンツ鍵Kcをそのまま格納してもよい。
本実施の形態においては、「binded Kc」として、機器IDを用いて暗号化されたコンテンツ鍵を採用しているが、コンテンツ鍵と機器IDとのビット単位の排他的論理和などの簡易的な方法により生成されたデータなどであってもよい。つまり、「binded Kc」と機器IDとにより、コンテンツ鍵Kcが一意に決まりさえすればよい。
「Initial Vector」欄には、一次利用ライセンスデータでは、初期ベクトル「IV」又は機器IDに紐付けられた初期ベクトル「binded IV」が格納され、二次利用ライセンスデータでは、初期ベクトル「IV」が格納される。
「Access Condition」欄には、一次利用ライセンスデータでは、複製の上限を示す「Copy Count」値として「2」が格納され、二次利用ライセンスデータでは、複製禁止を示す「0(Never copy)」が格納される。本実施の形態においては、「Access Condition」欄に、複製に関する利用情報を記載する例を示したが、これに加えて二次利用ライセンスデータの生成可否、または、許可数を指定できるようにしてもよい。許可数を指定する場合、二次利用ライセンスデータを出力する都度この値を減算していく必要がある。
図5は、ライセンス判読部108の内部構成を示す。ライセンス判読部108は、形式解析部171、ID整形部172、コンテンツ鍵復号部173、スイッチ174及び175を含む。
形式解析部171は、暗号エンジン103を介してストレージデバイスから読み出されたライセンスデータを取得し、その形式を解析する。形式解析部171は、図4に示したライセンスデータの各フィールドの値を解析し、利用情報やコンテンツ鍵を抽出して出力するとともに、各フィールドの値に応じてスイッチ174及び175を制御する。形式解析部171により抽出された利用情報は、コンテンツの再生時には利用情報付加部112へ、コンテンツの複製時にはスイッチ174を介して二次利用ライセンス生成部109へ出力される。形式解析部171により抽出されたコンテンツ鍵は、暗号化されていればコンテンツ鍵復号部173へ、暗号化されていなければスイッチ175を介してコンテンツ復号部111へ出力される。
ID整形部172は、ID整形部162が生成した暗号鍵により暗号化されたコンテンツ鍵を復号するための復号鍵を生成する。前述したように、ID整形部162が記録再生装置100の機器IDを整形して共通鍵方式の暗号鍵を生成した場合には、ID整形部172は、記録再生装置100の機器IDを取得し、ID整形部162と同様の方法で整形して、同一の共通鍵を生成する。コンテンツ鍵復号部173は、形式解析部171から伝達された暗号化されたコンテンツ鍵を、ID整形部172から伝達された復号鍵で復号する。
コンテンツの再生時、スイッチ175の上側の端子には、形式解析部171から暗号化されていないコンテンツ鍵Kcが出力され、スイッチ175の下側の端子には、コンテンツ鍵復号部173から復号されたコンテンツ鍵Kcが出力される。形式解析部171は、ライセンスデータの「Binding Flag」欄を参照して、コンテンツ鍵が暗号化されているか否かを判定し、暗号化されていればスイッチ175を上側の端子に、暗号化されていなければ下側の端子につなぐ。これにより、スイッチ175を介して、コンテンツ鍵Kcがコンテンツ復号部111に出力される。
コンテンツの複製時、スイッチ174の左側の端子には、形式解析部171から利用情報が出力され、スイッチ174の右側の端子には、コンテンツ鍵復号部173から復号されたコンテンツ鍵Kcが出力される。形式解析部171は、ライセンスデータの「Access Condition」欄を参照して、コンテンツ鍵の複製が許可されるか否かを判定し、許可される場合はスイッチ174をオンにして利用情報及びコンテンツ鍵を二次利用ライセンス生成部109に出力し、禁止される場合はスイッチ174をオフにして利用情報及びコンテンツ鍵の出力を禁止する。
二次利用ライセンス生成部109は、取得した利用情報とコンテンツ鍵を用いて、図4に示したデータ構造の二次利用ライセンスデータを生成する。生成された二次利用ライセンスデータは、暗号エンジン103を介してストレージデバイス250に記録される。
図3及び図5に示した例では、一次利用ライセンスデータの生成時に、機器IDをもとに生成された共通鍵によりコンテンツ鍵Kcを暗号化して「binded Kc」を生成し、一次利用ライセンスデータの利用時には、機器IDをもとに生成された共通鍵により「binded Kc」を復号してコンテンツ鍵Kcを得た。別の例として、一次利用ライセンス生成部107のコンテンツ鍵暗号部163は、コンテンツ鍵Kcに機器IDなどを用いて所定の演算を施して、コンテンツ鍵Kcを変換したデータを「binded Kc」としてもよい。演算は、例えば、ビット単位で排他的論理和、論理和、論理積、否定論理和、否定論理積をとる演算などであってもよい。この場合、ライセンス判読部108のコンテンツ鍵復号部173は、一次利用ライセンスデータから得られる「binded Kc」に、機器IDを用いて、コンテンツ鍵暗号部163において施された演算の逆演算を施すことによりコンテンツ鍵Kcを得ることができる。
コンテンツ鍵に機器IDを紐付ける方式の更に別の例を説明する。図6は、一次利用ライセンス生成部107の別の構成例を示す。本図に示した一次利用ライセンス生成部107は、図3に示した一次利用ライセンス生成部107の構成に比べて、コンテンツ鍵暗号部163に代えて演算部166を含む。その他の構成は、図6に示した一次利用ライセンス生成部107と同様である。
本図の例では、乱数生成部161が生成した乱数がライセンスデータフォーマッタ164に伝達され、一次利用ライセンスデータに格納される。すなわち、この乱数が「binded Kc」として扱われる。乱数は、演算部166にも伝達され、演算部166は、伝達された乱数に、ID整形部162により整形された機器IDを用いた所定の演算を施すことにより、コンテンツ鍵Kcを生成する。すなわち、コンテンツ鍵Kcは、機器IDを知らなければ得ることができない。
図7は、ライセンス判読部108の別の構成例を示す。このライセンス判読部108は、図6に示した一次利用ライセンス生成部107と対になっており、一次利用ライセンス生成部107として図6の構成を採用する場合は、ライセンス判読部108として図7の構成が採用される。本図に示したライセンス判読部108は、図5に示したライセンス判読部108の構成に比べて、コンテンツ鍵復号部173に代えて演算部176を含む。その他の構成は、図5に示したライセンス判読部108と同様である。
本図の例では、形式解析部171から演算部176に伝達される「binded Kc」は、一次利用ライセンス生成部107の乱数生成部161により発生された乱数である。演算部176は、形式解析部171から伝達された乱数に、ID整形部172により整形された機器IDを用いて、一次利用ライセンス生成部107の演算部166と同じ演算を施すことにより、コンテンツ鍵Kcを得る。演算部166及び176において施される演算は任意でよく、例えば、排他的論理和、論理和、論理積、否定論理和、否定論理積などの演算であってもよい。また、演算部166及び176は、AESなどの暗号方式の暗号器又は復号器であってもよく、機器IDを暗号鍵又は復号鍵とみなして、乱数を暗号化又は復号する演算を施してもよい。
図8は、ストレージデバイス200及び250の内部構成を示す。ストレージデバイス200及び250は、主に、コントローラ201、ストレージインタフェース202、暗号エンジン203、耐タンパ記憶部204、通常データ記憶部205、及びそれらを電気的に接続するデータバス210を備える。
ストレージインタフェース202は、記録再生装置100とのデータの入出力を制御する。暗号エンジン203は、コンテンツ鍵を含むライセンスデータなどの秘匿データを記録再生装置100との間で入出力するための暗号通信の制御を行う。通常データ記憶部205は、暗号化されたコンテンツや通常のデータなどを記録する通常記憶領域である。耐タンパ記憶部204は、コンテンツ鍵を含むライセンスデータなどの秘匿データを記録する機密データ記憶領域である。通常データ記憶部205は、外部からの直接アクセスによりデータの入出力が行われるが、耐タンパ記憶部204は、暗号エンジン203を介さないとデータの入出力ができないように構成される。コントローラ201は、ストレージデバイス200の構成要素を統括的に制御する。
つづいて、ライセンスデータをストレージデバイス200又は250に記録するときの暗号通信について詳述する。以下に詳述するように、ライセンスデータを記録するたびに、記録先のストレージデバイスを認証し、正当なストレージデバイスのみにライセンスデータを記録するので、記録先がリムーバブルなストレージデバイスであっても、不正な複製を抑止することができる。以下、ストレージデバイス200にライセンスデータを記録する場合について説明するが、ストレージデバイス250に記録する場合も同様である。
ここで、本実施の形態で用いる鍵について説明する。本実施の形態では、鍵はすべて大文字の「K」から始まる文字列として表記する。また、第2文字が小文字の「c」、「s」、「b」のいずれかである場合は、対称鍵(共通鍵)を示す。詳しくは、「c」はチャレンジ鍵であり、ライセンスデータの送信元で生成されるテンポラルな対称鍵を示す。「s」はセッション鍵であり、ライセンスデータの送信先で生成されるテンポラルな対称鍵を示す。「b」はバス鍵であり、ライセンスデータの送信先で生成されるテンポラルな対称鍵を示す。また、第2文字が大文字の「P」である場合は、公開鍵暗号方式の公開鍵を示す。この鍵には、対応する秘密鍵が必ず存在し、この秘密鍵は公開鍵の表記から第2文字の大文字の「P」を除く表記となる。
鍵を示す文字列が小文字の「d」を含む場合は、装置のグループ毎に与えられた鍵であることを表す。また鍵を示す文字列が小文字の「p」を含む場合は、装置毎に与えられた鍵であることを表す。それぞれ、公開鍵と秘密鍵の対として与えられ、グループ毎に与えられた公開鍵KPdxは、電子署名付きの公開鍵証明書C[KPdx]として与えられている。
また、鍵を示す文字列の最後に記載される文字、たとえば、公開鍵KPd2の「2」は、その鍵が与えられる暗号エンジンを識別するための記号である。本実施の形態では、提供先が明確な場合には、数字「1」、「2」、「3」と表記し、当該暗号エンジン以外から提供される鍵であって提供先が不明な場合あるいは特定しない場合には、「x」、「y」などの英文字によって表記する。本実施の形態では、ライセンスデータを書き込む時の記録再生装置100の暗号エンジン103に対しては識別記号として「1」、ストレージデバイス200の暗号エンジン203については識別記号として「2」、ライセンスデータを読み出す時の記録再生装置100の暗号エンジン103に対しては識別記号として「3」を、それぞれ使用する。
図9は、図2に示した記録再生装置100の暗号エンジン103の内部構成を示す。図9には、ライセンスデータをストレージデバイス200へ送信するときに使用される構成のみを示している。ライセンスデータをストレージデバイス200から受信するときに使用される構成は図10に示す。暗号エンジン103は、証明書検証部120、乱数発生部121、第1暗号部122、第1復号部123、第2復号部124、第2暗号部125、第3復号部126、第3暗号部127、第4暗号部128、証明書出力部129、制御部130、ログ記憶部131、およびこれらの構成要素の少なくとも一部を電気的に接続するローカルバス133を備える。
証明書検証部120は、ストレージデバイス200から取得した証明書C[KPd2]を検証する。証明書C[KPd2]は、公開鍵KPd2を含む平文の情報(以下、「証明書本体」と称す)と、証明書本体に対して付される電子署名からなる。この電子署名は、証明書本体に対してハッシュ関数による演算(以下、この演算処理を「ハッシュ演算」と称す)を施した結果を、第三者機関である認証局(図示せず)のルート鍵Kaによって暗号化したデータである。ルート鍵Kaは、認証局によって厳重に管理されている非公開な鍵であり、認証局の秘密鍵となる。証明書検証部120は、このルート鍵Kaと対をなす検証鍵KPaを保持している。この検証鍵KPaは証明書の正当性を検証する公開鍵である。証明書の検証は、証明書の正当性と証明書の有効性によって判断する。
証明書の正当性の確認は、検証すべき証明書の証明書本体に対するハッシュ関数の演算結果と、検証鍵KPaで電子署名を復号した結果を比較する処理であり、両者が一致したとき、正当であると判断する。証明書検証部120は、無効となった証明書のリストである証明書破棄リスト(Certificate Revocation List:CRLと呼ぶ)を保持し、このCRLに検証すべき証明書が記載されていない場合に有効であると判断する。このように、証明書の正当性と有効性を判断し、正当な証明書を承認する処理を検証と称す。
証明書検証部120は、検証に成功すると、ストレージデバイス200の公開鍵KPd2を取り出して第1暗号部122に伝達し、検証結果を通知する。検証に失敗した場合には、検証エラー通知を出力する。
証明書出力部129は、記録再生装置100の証明書C[KPd1]を出力する。この証明書は、記録再生装置100の公開鍵KPd1を含む証明書本体と、証明書本体に対して付される電子署名からなる。電子署名は、ストレージデバイス200の証明書と同様に、認証局のルート鍵Kaにより暗号化される。
乱数発生部121は、ストレージデバイス200との間で暗号通信を行うために一時的に使用されるチャレンジ鍵Kc1、バス鍵Kb1を生成する。暗号通信を行う度に、乱数によりチャレンジ鍵Kc1を生成することで、チャレンジ鍵Kc1を見破られる可能性を最小限に抑えることができる。生成されたチャレンジ鍵Kc1は、第1暗号部122と第1復号部123に伝達され、バス鍵Kb1は、第2暗号部125及び第3復号部126に伝達される。
第1暗号部122は、ストレージデバイス200にチャレンジ鍵Kc1を通知するために、証明書検証部120により取り出されたストレージデバイス200の公開鍵KPd2でチャレンジ鍵Kc1を暗号化して、暗号化チャレンジ鍵E(KPd2,Kc1)を生成する。そして、暗号化チャレンジ鍵E(KPd2,Kc1)は、証明書出力部129から出力された証明書C[KPd1]と結合され、第1チャレンジ情報E(KPd2,Kc1)||C[KPd1]とされる。
ここで、記号「||」は、データの連結を示し、E(KPd2,Kc1)||C[KPd1]は、暗号化チャレンジ鍵E(KPd2,Kc1)と証明書C[KPd1]を並べて結合したデータ列を示す。また、Eは暗号化関数を示し、E(KPd2,Kc1)は、公開鍵KPd2でチャレンジ鍵Kc1を暗号化したものであることを示す。
第1復号部123は、チャレンジ鍵Kc1で暗号化されたデータを復号する。ストレージデバイス200が内部に個別かつ秘密裏に保持する秘密鍵Kp2と対をなす公開鍵KPp2と、ストレージデバイス200を一意に識別できるユニークな識別情報DIDを暗号化した第2チャレンジ情報E(Kc1,E(KPd1,KPp2||DID))がストレージデバイス200から供給されるため、第1復号部123は、乱数発生部121が生成したチャレンジ鍵Kc1を用いて第2チャレンジ情報を復号して、暗号データE(KPd1,KPp2||DID)を取り出す。
第2復号部124は、自身の公開鍵KPd1で暗号化されたデータを、内部の秘密裏に保持する秘密鍵Kd1で復号する。第2復号部124は、第1復号部123から伝達された暗号データE(KPd1,KPp2||DID)を復号し、ストレージデバイス200の公開鍵KPp2と識別情報DIDを取り出す。
第2暗号部125は、ストレージデバイス200にバス鍵Kb1を通知するために、ストレージデバイス200の公開鍵KPp2で暗号化して、暗号化バス鍵E(KPp2,Kb1)を生成する。暗号化バス鍵は、コネクション情報E(KPp2,Kb1)として、ストレージデバイス200に提供される。
第3復号部126は、バス鍵Kb1で暗号化されたデータを復号する。ストレージデバイス200で発行されたセッション鍵Ks2は、セッション情報E(Kb1,Ks2)としてストレージデバイス200から供給されるため、第3復号部126は、乱数発生部121が生成したバス鍵Kb1を用いてセッション情報を復号し、セッション鍵Ks2を取り出す。取り出されたセッション鍵Ks2は、第4暗号部128へ伝達される。
第3暗号部127は、一次利用ライセンス生成部107又は二次利用ライセンス生成部109が生成したライセンスデータLICを取得し、そのライセンスデータLICをストレージデバイス200の公開鍵KPp2で暗号化し、E(KPp2,LIC)を生成する。そして、生成されたE(KPp2,LIC)は、第4暗号部128に伝達される。
第4暗号部128は、第3暗号部127から伝達されたE(KPp2,LIC)を、さらに、ストレージデバイス200で発行されたセッション鍵Ks2により暗号化し、暗号化ライセンスデータE(Ks2,E(KPp2,LIC))を生成する。
ログ記憶部131は、第2復号部124から伝達されたストレージデバイス200の識別情報DIDと、ストレージデバイス200に対して出力するライセンスデータLICと、これを記録予定のストレージデバイス200のアドレスデータADRとを、関係付けて静的に記憶する。なお、ログ記憶部131に記憶されているライセンスデータLICは、所定の手続きを経たアクセスに対して、暗号化された状態でのみ出力される。
制御部130は、記録再生装置100のコントローラ101の指示に従って暗号エンジン103内部の構成要素の制御および外部の構成との間でデータの入出力を仲介する。なお、図9では、制御部130による内部の各構成要素への制御を示す結線は省略されている。
図9の如く、本実施の形態では、制御部130を介さないと、暗号エンジン103は外部とデータの交換ができない構成となっている。各構成要素を接続する形態については、種々考えられるが、本実施の形態では、乱数発生部121が生成するチャレンジ鍵Kc1、ストレージデバイス200から受け取ったセッション鍵Ks2、自身の秘密鍵Kd1などの暗号エンジン103内で使用される各鍵が、暗号エンジン103の外部に直接流出しないように構成している。これにより、暗号エンジン103内で使用される各鍵が、記録再生装置100の他の構成要素などを介して外部に漏洩することを防ぎ、セキュリティ性を向上させている。
図10は、図2に示した記録再生装置100の暗号エンジン103の内部構成を示す。図10には、ライセンスデータをストレージデバイス200から受信するときに使用される構成のみを示している。暗号エンジン103は、証明書出力部320、乱数発生部321、証明書検証部322、第1復号部323、第1暗号部324、第2暗号部325、第2復号部326、第3暗号部327、第3復号部328、第4復号部329、制御部330、ログ記憶部333、及びこれらの構成要素の少なくとも一部を電気的に接続するローカルバス334を備える。
証明書出力部320は、記録再生装置100の証明書C[KPd3]を出力する。証明書は、証明書出力部320が保持してもよいし、図示しない証明書保持部に保持しておき、それを読み出してもよい。証明書は、記録再生装置100の公開鍵KPd3を含む証明書本体と、証明書本体に対して付される電子署名からなる。電子署名は、ストレージデバイス200の証明書と同様に、認証局のルート鍵Kaにより暗号化される。なお、証明書C[KPd3]は、証明書C[KPd1]と同一であってもよい。
乱数発生部321は、ストレージデバイス200との間で暗号通信を行うために一時的に使用されるセッション鍵Ks3を生成する。生成されたセッション鍵Ks3は、第3暗号部327、第3復号部328に伝達される。
証明書検証部322は、ストレージデバイス200の証明書C[KPd2]の検証を行う。検証の詳細は、上述したとおりである。
第1復号部323は、公開鍵KPd3によって暗号化されたデータを秘密鍵Kd3で復号する。再生時には、ストレージデバイス200で発行されたチャレンジ鍵Kc2は、記録再生装置100の公開鍵KPd3により暗号化されてストレージデバイス200から供給されるため、第1復号部323は、自身の秘密鍵Kd3によりこれを復号し、チャレンジ鍵Kc2を取り出す。取り出されたチャレンジ鍵Kc2は、第2暗号部325に伝達される。
第1暗号部324は、ストレージデバイス200の証明書C[KPd2]から取り出された公開鍵KPd2でデータの暗号化を行う。内部に秘密裏に保持する記録再生装置100に固有の秘密鍵Kp3と対をなす公開鍵KPp3をストレージデバイス200に通知するために、暗号化固有公開鍵E(KPd2,KPp3)を生成する。生成した暗号化固有公開鍵E(KPd2,KPp3)は、第2暗号部325に伝達される。
第2暗号部325は、第1復号部323により取り出されたチャレンジ鍵Kc2で、データの暗号化を行う。第1暗号部324から伝達された暗号化固有公開鍵E(KPd2,KPp3)を暗号化して第2チャレンジ情報E(Kc2,E(KPd2,KPp3))を生成する。
第2復号部326は、公開鍵KPp3で暗号化されたデータを復号する。ストレージデバイス200から提供されたコネクション情報E(KPp3,Kb2||DID)を、公開鍵KPp3と対をなす秘密鍵Kp3で復号し、ストレージデバイス200で発行されたバス鍵Kb2と、ストレージデバイスを一意に特定できる識別情報DIDを取り出す。
第3暗号部327は、乱数発生部321で生成したセッション鍵Ks3をストレージデバイス200に提供するために、第2復号部326で取り出したストレージデバイス200が発行したバス鍵Kb2で暗号化して、セッション情報E(Kb2,Ks3)を生成する。
第3復号部328は、セッション鍵Ks3で暗号化されたデータを復号する。ライセンスデータLICは、公開鍵KPp3およびセッション鍵Ks3により2重に暗号化された暗号化ライセンスデータE(Ks3,E(KPp3,LIC))としてストレージデバイス200から供給されるため、第3復号部328は、乱数発生部321が生成するセッション鍵Ks3により復号を行い、その結果である暗号化ライセンスデータE(KPp3,LIC)を第4復号部329に伝達する。
第4復号部329は、公開鍵KPp3で暗号化されたデータの復号を行う。公開鍵KPp3と対をなす秘密鍵Kp3で、第3復号部328の復号結果である暗号化ライセンスデータE(KPp3,LIC)を復号し、ライセンスデータLICを取り出す。
ログ記憶部333は、第2復号部326から伝達されたストレージデバイス200の識別情報DID、およびストレージデバイス200から受け取る予定のライセンスデータLICの識別情報LIDと当該ライセンスデータが格納されているストレージデバイス200のアドレスデータADRを、関係付けて静的に記憶する。ライセンスデータLICが利用されると、当該ライセンスデータのLIDおよびADRは削除される。
制御部330は、記録再生装置100のコントローラ101の指示に従って暗号エンジン103の内部の構成要素の制御および外部の構成との間でデータの入出力を仲介する。尚、図10では、制御部330による内部の各構成要素への制御を示す結線は省略されている。
図10に示す暗号エンジン103においても、各構成要素を接続する形態については、種々考えられるが、本実施の形態では、制御部330を介さないと、暗号エンジン103は外部とデータの交換ができない構成となっている。これにより、乱数発生部321が生成したセッション鍵Ks3、公開鍵と対をなしている秘密鍵Kd3およびKp3、ストレージデバイス200から受け取ったバス鍵Kb2、チャレンジ鍵Kc2などの暗号エンジン103内で使用される鍵が外部に漏洩されることを防ぐ。
図11は、図8に示したストレージデバイス200の暗号エンジン203の内部構成を示す。暗号エンジン203は、制御部220、乱数発生部221、証明書出力部222、証明書検証部223、第1復号部224、第1暗号部225、第2暗号部226、第2復号部227、第3暗号部228、第3復号部229、第4復号部230、第4暗号部231、第5復号部232、第6復号部233、第5暗号部234、第7復号部235、第6暗号部236、第7暗号部237、及びこれらの構成要素の少なくとも一部を電気的に接続するローカルバス240を備える。
制御部220は、ストレージデバイス200のコントローラ201の指示に従って暗号エンジン203の内部の構成の制御および外部の構成との間でデータの入出力を仲介する。
乱数発生部221は、記録再生装置100との間の暗号通信に一時的に使用されるセッション鍵Ks2、チャレンジ鍵Kc2、バス鍵Kb2を、乱数演算によって生成する。各鍵の用途については、追って説明する。
証明書出力部222は、ストレージデバイス200の証明書C[KPd2]を出力する。証明書は、証明書出力部222が保持してもよいし、ストレージデバイス200の所定の記憶領域、たとえば耐タンパ記憶部204に保持しておき、それを読み出してもよい。証明書は、ストレージデバイス200の公開鍵KPd2を含む証明書本体と、証明書本体に付された電子署名とを含む。電子署名は、認証局のルート鍵Kaにより暗号化される。
証明書検証部223は、外部から提供された証明書の検証を行う。具体的には、記録再生装置100から取得した証明書C[KPd1]およびC[KPd3]を検証鍵KPaにより検証する。検証の詳細は、上記のとおりである。
第1復号部224は、自身の公開鍵KPd2で暗号化されたデータを復号する。具体的には、記録時には、記録再生装置100で発行されたチャレンジ鍵Kc1が、ストレージデバイス200の公開鍵KPd2で暗号化されて記録再生装置100から供給されるため、これを自身の秘密鍵Kd2で復号し、チャレンジ鍵Kc1を取り出す。取り出されたチャレンジ鍵Kc1は、第2暗号部226に伝達される。
第1暗号部225は、記録再生装置100の公開鍵KPd1でデータを暗号化する。具体的には、ストレージデバイス200が個別に保持する公開鍵KPp2とストレージデバイスを識別するための識別情報DIDとを結合した個別情報を暗号化した暗号化個別情報E(KPd1,KPp2||DID)を生成する。ここで用いる記録再生装置100の公開鍵KPd1は、制御部220によってストレージデバイス200の証明書C[KPd1]内から取り出され、ローカルバス240を介して伝達される。
第2暗号部226は、記録再生装置100が発行したチャレンジ鍵Kc1でデータを暗号化する。具体的には、第1暗号部225から受け取った暗号化個別情報E(KPd1,KPp2||DID)をチャレンジ鍵Kc1で暗号化し、第2チャレンジ情報E(Kc1,E(KPd1,KPp2||DID))を生成する。
第2復号部227は、自身の公開鍵KPp2で暗号化されたデータを復号する。第2復号部227は、記録再生装置100から提供されるコネクション情報E(KPp2,Kb1)を、公開鍵KPp2と対をなす秘密鍵Kp2で復号し、取り出したバス鍵Kb1を第3暗号部228に伝達する。
第3暗号部228は、バス鍵Kb1でデータを暗号化する。具体的には、乱数発生部221が生成したセッション鍵Ks2をバス鍵Kb1で暗号化し、セッション情報E(Kb1,Ks2)を生成する。
第3復号部229は、乱数発生部221が生成したセッション鍵Ks2で暗号化されたデータを復号する。具体的には、記録再生装置100から、ライセンスデータLICを、公開鍵KPp2およびセッション鍵Ks2により2重に暗号化されたE(Ks2,E(KPp2,LIC))として受け取り、これをセッション鍵Ks2により復号し、結果を第4復号部230に伝達する。
第4復号部230は、自身の公開鍵KPp2で暗号化されたデータを復号する。第3復号部229から伝達されるライセンスデータE(KPp2,LIC)を、公開鍵KPp2と対をなす自身の秘密鍵Kp2で復号し、ライセンスデータLICを取り出す。
取り出されたライセンスデータLICは、ローカルバス240、制御部220を介して、データバス210に供給され、コントローラ201の指示に従って、耐タンパ記憶部204に記憶される。
第4暗号部231は、ライセンス利用装置300の公開鍵KPd3でデータを暗号化する。具体的には、ライセンス利用装置300に対してライセンスデータLICを提供する場合、記録再生装置100から受け取った証明書C[KPd3]から取り出された公開鍵KPd3で、乱数発生部221が発行するチャレンジ鍵Kc2を暗号化し、暗号化チャレンジ鍵E(KPd3,Kc2)を生成する。生成された暗号化チャレンジ鍵E(KPd3,Kc2)は、ローカルバス240を介して制御部220へ伝達される。制御部220では、これと証明書出力部222から出力される自身の証明書C[KPd2]とを結合して、第1チャレンジ情報E(KPd3,Kc2)||C[KPd2]を生成し、記録再生装置100に出力する。
第5復号部232は、乱数発生部221が発行したチャレンジ鍵Kc2で暗号化されたデータを復号する。記録再生装置100から受け取った第2チャレンジ情報E(Kc2,E(KPd2,KPp3))を、乱数発生部221が生成したチャレンジ鍵Kc2で復号し、取り出された暗号化個別公開鍵E(KPd2,KPp3)は第6復号部233に伝達される。
第6復号部233は、自身の公開鍵KPd2で暗号化されたデータを復号する。具体的には、第5復号部232から伝達された暗号化個別公開鍵E(KPd2,KPp3)を、自身の秘密鍵Kd2で復号し、記録再生装置100の公開鍵KPp3を取り出す。取り出された公開鍵KPp3は、第5暗号部234と第6暗号部236に伝達される。
第5暗号部234は、記録再生装置100の公開鍵KPp3でデータを暗号化する。乱数発生部221が生成したバス鍵Kb2と自身の識別情報DIDを結合し、このデータを暗号化して、コネクション情報E(KPp3,Kb2||DID)を生成する。
第7復号部235は、バス鍵Kb2で暗号化されたデータを復号する。記録再生装置100から提供されたセッション情報E(Kb2,Ks3)を復号して、記録再生装置100が発行したセッション鍵Ks3を取り出し、取り出されたセッション鍵Ks3は、第7暗号部237に伝達される。
第6暗号部236は、記録再生装置100の公開鍵KPp3でデータを暗号化する。記録再生装置100に対してライセンスデータを提供する場合、記録再生装置100から受け取った公開鍵KPp3で、ライセンスデータLICを暗号化する。このライセンスデータLICは、コントローラ201の指示に従って、耐タンパ記憶部204から読み出され、データバス210、制御部220およびローカルバス240を介して第6暗号部236に伝達される。ここで、暗号化されたライセンスデータE(KPp3,LIC)は、第7暗号部237に伝達される。
第7暗号部237は、記録再生装置100が発行したセッション鍵Ks3でデータを暗号化する。具体的には、セッション鍵Ks3で、第6暗号部236において暗号化されたライセンスデータE(KPp3,LIC)を、さらに暗号化し、暗号化ライセンスデータE(Ks3,E(KPp3,LIC))を生成する。
図12及び図13は、記録再生装置100がストレージデバイス200にライセンスデータLICを記録するまでの手順を示す。この記録処理では、記録再生装置100の暗号エンジン103とストレージデバイス200の暗号エンジン203との間で暗号通信路が構築され、その暗号通信路によってライセンスデータLICが記録再生装置100からストレージデバイス200に送信される。図は、記録再生装置100の暗号エンジン103、記録再生装置100のコントローラ101、ストレージデバイス200の暗号エンジン203の処理を示している。
まず、記録再生装置100のコントローラ101は、ストレージデバイス200に対して証明書出力命令を発行する(S102)。コントローラ201は、証明書出力命令を正常に受理する(S104)と、暗号エンジン203に証明書の出力を命じ、暗号エンジン203から証明書C[KPd2]を読み出してコントローラ101へ出力する(S106)。コントローラ101は、ストレージデバイス200から証明書C[KPd2]を取得すると、それを暗号エンジン103へ送信する(S108)。
暗号エンジン103の制御部130は、ストレージデバイス200から発行された証明書C[KPd2]を受信すると(S110)、それを暗号エンジン103に伝達し、証明書検証部120は、認証鍵KPaで証明書を検証する(S112)。
証明書が承認されなかった場合(S112のN)、証明書検証部120はエラーを制御部130に伝達する。エラーを伝達された制御部130は、検証エラー通知をコントローラ101に送信する(S190)。コントローラ101は、エラー通知を受信すると(S192)、処理を異常終了する。
証明書が承認された場合(S112のY)、制御部130は、乱数発生部121にてチャレンジ鍵Kc1を生成する。そして、生成したチャレンジ鍵Kc1を第1暗号部122および第1復号部123に伝達する。第1復号部123では、このチャレンジ鍵Kc1を内部に保持する(S114)。また、第1暗号部122では、このチャレンジ鍵Kc1を、証明書C[KPd2]から取り出したストレージデバイス200の公開鍵KPd2で暗号化し、暗号化チャレンジ鍵E(KPd2,Kc1)を生成する。そして、生成した暗号化チャレンジ鍵E(KPd2,Kc1)と証明書出力部129から出力される自身の証明書C[KPd1]とを結合し、第1チャレンジ情報E(KPd2,Kc1)||C[KPd1]を生成し、これをコントローラ101へ送信する(S116)。
コントローラ101は、暗号エンジン103から第1チャレンジ情報E(KPd2,Kc1)||C[KPd1]を受信すると(S118)、ストレージデバイス200に対して第1チャレンジ情報検証命令を発行する(S120)。ストレージデバイス200では、コントローラ201が第1チャレンジ情報検証命令を受理すると、第1チャレンジ情報E(KPd2,Kc1)||C[KPd1]の入力をコントローラ101に要求する(S122)。コントローラ101は、この要求に応じて第1チャレンジ情報E(KPd2,Kc1)||C[KPd1]をストレージデバイス200へ出力する(S124)。
ストレージデバイス200は、第1チャレンジ情報E(KPd2,Kc1)||C[KPd1]を受理すると(S126)、暗号エンジン203では、制御部220が、第1チャレンジ情報E(KPd2,Kc1)||C[KPd1]から証明書C[KPd1]を取り出し、これを証明書検証部223に伝達する。証明書検証部223は、伝達された証明書C[KPd1]を検証鍵KPaで検証し、検証結果を制御部220に伝達する(S128)。
証明書が承認されなかった場合(S128のN)、証明書検証部223は検証エラー通知を制御部220へ通知し、検証エラー通知を受けた制御部220はこれをコントローラ201へ通知する。そしてコントローラ201は、受信した検証エラー通知を、ストレージインタフェース202を介してコントローラ101に送信する(S194)。コントローラ101は、検証エラー通知を受信すると(S192)、本処理を異常終了する。
証明書が承認された場合(S128のY)、制御部220は、第1チャレンジ情報E(KPd2,Kc1)||C[KPd1]から、公開鍵KPd1と暗号化チャレンジ鍵E(KPd2,Kc1)を取り出し、それぞれ第1暗号部225、第1復号部224に伝達する。第1暗号部225は、伝達された公開鍵KPd1を保持する。第1復号部224は、伝達された暗号化チャレンジ鍵E(KPd2,Kc1)を自身の秘密鍵Kd2で復号し、チャレンジ鍵Kc1を取り出す(S130)。取り出されたチャレンジ鍵Kc1は、第2暗号部226に伝達される。
一方、コントローラ101は、ストレージデバイス200において第1チャレンジ情報検証命令の処理が終了すると、ストレージデバイス200に対して、第2チャレンジ情報生成命令を発行する(S132)。ストレージデバイス200では、コントローラ201が第2チャレンジ情報生成命令を受理する(S134)と、暗号エンジン203では制御部220の指示に従って、第1暗号部225が、自身が秘密裏に保持する秘密鍵Kp2と対をなす公開鍵KPp2と、自身の識別情報DIDを連結したデータを、公開鍵KPd1で暗号化して暗号化個別情報E(KPd1,KPp2||DID)を生成し、これを第2暗号部226に伝達する。第2暗号部226は、暗号化個別情報E(KPd1,KPp2||DID)を、S130で保持したチャレンジ鍵Kc1で暗号化して第2チャレンジ情報E(Kc1,E(KPd1,KPp2||DID))を生成する(S136)。
コントローラ101では、ストレージデバイス200において第2チャレンジ情報生成命令の処理が終了すると、第2チャレンジ情報出力命令を発行する(S138)。ストレージデバイス200では、第2チャレンジ情報出力命令を受理する(S140)と、コントローラ201が、暗号エンジン203から第2チャレンジ情報E(Kc1,E(KPd1,KPp2||DID))を読み出し、コントローラ101へ出力する(S142)。コントローラ101は、ストレージデバイス200から第2チャレンジ情報E(Kc1,E(KPd1,KPp2||DID))を受信すると、これを暗号エンジン103に送信する(S144)。
暗号エンジン103の制御部130は、第2チャレンジ情報E(Kc1,E(KPd1,KPp2||DID))を受信すると、第1復号部123に伝達する。第1復号部123は、内部に保持したチャレンジ鍵Kc1で、伝達された第2チャレンジ情報E(Kc1,E(KPd1,KPp2||DID))を復号し、暗号化個別情報E(KPd1,KPp2||DID)を取り出し、第2復号部124に伝達する。第2復号部124は、これを自身の秘密鍵Kd1で復号してストレージデバイスの公開鍵KPp2と識別情報DIDを取り出し、公開鍵KPp2を第2暗号部125と第3暗号部127に、識別情報DIDを制御部130へ伝達する(S146)。
制御部130は、識別情報DIDを受け取ると、ログ記憶部131に記録されている識別情報DIDと比較する(S150)。このときログ記憶部131には、直前に接続していたストレージデバイスの識別情報DIDが記録されている。一致した場合(S150のY)、前回と同じストレージデバイスであると判断し、ログ記憶部131の記録を残したままS154へ進む。一致しない場合(S150のN)、ストレージデバイスが交換されていると判断する。このとき、ログ記憶部131に記録されている内容は意味をなさなくなる。そこで、ログ記憶部131に記録されている内容を削除し、新たにS146で取得した識別情報DIDを記録する(S152)。このようにして、ストレージデバイス200に対するライセンスデータLICの転送におけるリカバリーに必要な情報をログ記憶部131に保持する準備が整ったことになる。そして、S154に進む。
制御部130は、乱数発生部121にてバス鍵Kb1を生成させ、保持する(S154)。そして、保持したバス鍵Kb1を第2暗号部125及び第3復号部126に伝達する。第2暗号部125では、このバス鍵Kb1を、S146で取得したストレージデバイスの公開鍵KPp2で暗号化し、コネクション情報E(KPp2,Kb1)を生成する。そして、生成したコネクション情報E(KPp2,Kb1)をコントローラ101へ送信する(S156)。
コントローラ101は、暗号エンジン103からコネクション情報E(KPp2,Kb1)を受信すると(S158)、ストレージデバイス200に対してコネクション情報入力命令を発行する(S160)。ストレージデバイス200では、コントローラ201がコネクション情報入力命令を受理すると、コネクション情報E(KPp2,Kb1)の入力をコントローラ101に要求する(S162)。コントローラ101は、この要求に応じてコネクション情報E(KPp2,Kb1)をストレージデバイス200へ出力する(S164)。
ストレージデバイス200は、コネクション情報E(KPp2,Kb1)を受理すると、暗号エンジン203では、第2復号部227が、コネクション情報E(KPp2,Kb1)を、内部に保持する自身の秘密鍵Kp2で復号して、バス鍵Kb1を取り出し(S166)、これを内部に保持する(S168)。保持されたバス鍵Kb1は、第3暗号部228に伝達される。ここまでの手順において、暗号エンジン103と暗号エンジン203の間で、バス鍵Kb1が共有された。
一方、コントローラ101は、ストレージデバイス200においてコネクション情報入力命令の処理が終了すると、通常のライセンスデータの書込転送処理(LICライト転送処理)を行うためS180に進む。そして、ライセンスデータLICの書込を行う(S180)。ライセンスデータの書込転送処理(LICライト転送処理)については、後に詳細に説明する。
コントローラ101は、S180が終了すると、新たなライセンスデータLICを書き込むか否か判断する(S182)。新たなライセンスデータLICをストレージデバイス200に書き込む場合(S182のY)、再びS180に戻ってライセンスデータの書込を行う。新たなライセンスデータLICの書込を行わない場合(S182のN)、処理を終了する。
図14は、図13におけるライセンスデータの書込転送処理(LICライト転送処理)のフローチャートである。本フローチャートに示す処理の前に、暗号エンジン103とストレージデバイス200(暗号エンジン203)はバス鍵Kb1を共有し、暗号エンジン103はストレージデバイス200の公開鍵KPp2を保持し、かつ、暗号エンジン103のログ記憶部131にはストレージデバイス200の識別情報DIDが記録されている。
コントローラ101は、ストレージデバイス200に対して、セッション情報生成命令を発行する(S200)。ストレージデバイス200では、コントローラ201がセッション情報生成命令を受理する(S202)と、暗号エンジン203では制御部220の指示に従って、乱数発生部221がセッション鍵Ks2を生成し、生成したセッション鍵Ks2を、第3暗号部228、第3復号部229に伝達する(S204)。続いて、第3暗号部228は、バス鍵Kb1で、伝達されたセッション鍵Ks2を暗号化してセッション情報E(Kb1,Ks2)を生成する(S206)。コントローラ101では、ストレージデバイス200においてセッション情報生成命令の処理が終了すると、セッション情報出力命令を発行する(S208)。ストレージデバイス200では、セッション情報出力命令を受理する(S210)と、コントローラ201が、暗号エンジン203からセッション情報E(Kb1,Ks2)を読み出し、コントローラ101へ出力する(S212)。
コントローラ101は、ストレージデバイス200からセッション情報E(Kb1,Ks2)を受信すると(S214)、これとストレージデバイス200のアドレスデータADRを連結して暗号エンジン103に送信する(S216)。アドレスデータADRは、後でライセンスデータLICを記録する際に指定するアドレスである。
暗号エンジン103の制御部130は、アドレスデータが連結されたセッション情報E(Kb1,Ks2)||ADRを受信すると、セッション情報E(Kb1,Ks2)とアドレスデータADRに分割し、セッション情報E(Kb1,Ks2)を第3復号部126に伝達する。第3復号部126は、乱数発生部121から伝達されたバス鍵Kb1で、このセッション情報E(Kb1,Ks2)を復号し、Ks2を取り出す(S218)。
制御部130は、ライセンスデータ書込処理の失敗に備えて、ライセンスデータLICと、分離したアドレスデータADRを、ライセンス転送先であるストレージデバイス200を特定する情報(識別情報DID)に関係付けてログ記憶部131に追記する(S220)。ログ記憶部131への記録は、電源断などの不慮の事故によってライセンスデータ書込処理が中断した様な場合も対象とした、ライセンスデータ再書込処理に利用することを目的としているため、静的に記録される。
続いて、暗号エンジン103の第3暗号部127は、ライセンスデータLICをストレージデバイス200の公開鍵KPp2で暗号化してE(KPp2,LIC)を生成し、これを第4暗号部128に伝達する。第4暗号部128は、伝達されたE(KPp2,LIC)を、さらにストレージデバイス200が発行したセッション鍵Ks2で暗号化して暗号化ライセンスデータE(Ks2,E(KPp2,LIC))を生成し、これをコントローラ101に伝達する(S222)。
コントローラ101は、暗号エンジン103から送信された暗号化ライセンスデータE(Ks2,E(KPp2,LIC))を受信する(S224)と、ストレージデバイス200に対してライセンスデータ書込命令を発行する(S226)。このライセンス書込命令は、耐タンパ記憶部204上の記録位置を指定するアドレスデータADRを伴っている。このアドレスデータADRは、S216で暗号エンジン103に送信したものと同じ値である。ここでアドレスとは、論理アドレスを示し、耐タンパ記憶部204における記録位置を直接指定するものではないが、アドレスを指定して記録したデータは、同じアドレスを指定することで読み出せるように、コントローラ201によって管理されている。しかしながら、耐タンパ記憶部204における位置を示す物理アドレスであってもよい。
ストレージデバイス200では、コントローラ101が発行したライセンス書込命令を受理すると、暗号化ライセンスデータをコントローラ101に要求し(S228)、コントローラ101は、この要求に応じて、暗号化ライセンスデータE(Ks2,E(KPp2,LIC))をストレージデバイス200へ出力する(S230)。
ストレージデバイス200は、暗号化ライセンスデータE(Ks2,E(KPp2,LIC))を受理すると、これを暗号エンジン203内の第3復号部229に伝達する。第3復号部229は、内部に保持しているセッション鍵Ks2で暗号化ライセンスデータE(Ks2,E(KPp2,LIC))を復号し、自身の公開鍵KPp2で暗号化されたライセンスデータE(KPp2,LIC)を取り出す。そして、取り出された暗号化ライセンスデータE(KPp2,LIC)は第4復号部230に伝達される。
第4復号部230は、伝達された暗号化ライセンスデータE(KPp2,LIC)を、公開鍵KPp2と対の秘密鍵Kp2で復号してライセンスデータLICを取り出し(S244)、これをローカルバス240を介して制御部220に伝達する。
制御部220は、ライセンスデータLICから識別情報LIDを取り出して、ログ記憶部131に伝達する。また、ライセンスデータLICをデータバス210へ出力する。コントローラ201は、データバス210に出力されたライセンスデータLICを耐タンパ記憶部204の指定されたアドレスADRに記憶する(S246)。続いて、完了通知をコントローラ101に出力する(S248)。
コントローラ101は、ストレージデバイス200から出力された完了通知を受信すると、これを暗号エンジン103に出力する(S250)。暗号エンジン103では、完了通知を受信すると(S252)、LIDを確認し、該当するADR||LIDをログ記憶部131から削除し(S254)、本処理を終了する。
以上の手順により、暗号化されたコンテンツを復号し再生するために必要なライセンスデータLICがストレージデバイス200に記録される。暗号化コンテンツは、通常データであり、ストレージデバイス200の通常コマンドによって記録されるため、ここでは説明を省略する。
なお、ライセンスデータLICと暗号化コンテンツデータの記録順序は、いずれが先であってもかまわない。さらには、暗号化コンテンツデータの記録における空き時間に、セキュアコマンドを分割して発行することで、ライセンスデータLICを記録するようにしてもよい。
ストレージデバイス200から記録再生装置100へライセンスデータを送信する場合にも、上記と同様の手順により、両者の暗号エンジンによる暗号通信が行われる。一次利用ライセンスデータを記録再生装置100からストレージデバイス200へ記録するとき、ストレージデバイス200に記録された一次利用ライセンスデータを記録再生装置100が読み出すとき、及び、二次利用ライセンスデータを記録再生装置100からストレージデバイス250へ記録するときに、上述したような暗号通信路を用いてライセンスデータを送受信することにより、ライセンスデータの漏洩を防止し、コンテンツデータを保護することができる。
以上、本発明に係る実施の形態について説明したが、この実施の形態は例示であり、本発明はこの実施の形態に限定されるものではなく、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
たとえば、上記の実施の形態では、暗号エンジン内において暗号化を行う機能ブロックと復号を行う機能ブロックとを別個に設けたが、これらの構成要素において回路を共有してもよい。これにより、回路規模を抑え、小型化、低消費電力化に寄与することができる。
ストレージデバイス間のライセンスデータの複製又は移動が許可されている場合は、実施の形態と同様の方法によりライセンスデータを他のストレージデバイスへ複製又は移動してもよい。ライセンスデータを移動する場合には、ライセンスデータの複製が完了した後に、元のライセンスデータを格納していたストレージデバイスからライセンスデータを削除する。
記録再生装置100のストレージインタフェースは1つであってもよい。この場合、ライセンスデータを複製するときには、一次利用ライセンスデータが格納されているストレージデバイス200を装着して一次利用ライセンスデータを読み出した後、ストレージデバイス250を装着して二次利用ライセンスデータを記録すればよい。同一のストレージデバイスが装着された場合は、二次利用ライセンスデータの生成・記録を禁止してもよい。
実施の形態では、コンテンツ鍵を暗号化して一次利用ライセンスデータを生成したが、ストレージデバイス200が耐タンパ記憶部204を有している場合は、コンテンツ鍵を暗号化せずに一次利用ライセンスデータに格納してもよい。
実施の形態では、ストレージデバイス200を、ストレージデバイス250と同じ機能を持つものとして説明したが、必ずしも暗号エンジンを備える必要はない。記録再生装置100のみが復号可能な暗号化を一次利用ライセンス全体に施して記録していればよい。この場合、一次利用ライセンスデータ全体が、記録再生装置100に対して紐付きで記録されていることになるため、本実施の形態において説明したようにコンテンツ鍵を紐付きにする必要はない。
図1では、記憶媒体20からコンテンツデータを取得する例を示しているが、コンテンツデータは、インターネットなどのネットワークを介してサーバ装置などから配信されてもよい。コンテンツデータは暗号化された状態でサーバ装置から配信されてもよく、サーバ装置は、暗号化コンテンツデータと、一次利用ライセンスデータとを、記録再生装置100に配信してもよい。この場合、記録再生装置100は、取得手段として、利用情報検出部106、一次利用ライセンス生成部107、及びコンテンツ暗号部104に代えて、サーバ装置から暗号化コンテンツデータ及び一次利用ライセンスデータを受信する受信部を備える。
10 データ管理システム、20 記憶媒体、100 記録再生装置、101 コントローラ、103 暗号エンジン、104 コンテンツ暗号部、107 一次利用ライセンス生成部、108 ライセンス判読部、109 二次利用ライセンス生成部、111 コンテンツ復号部、162 ID整形部、163 コンテンツ鍵暗号部、164 ライセンスデータフォーマッタ、166 演算部、171 形式解析部、172 ID整形部、173 コンテンツ鍵復号部、176 演算部、200 ストレージデバイス、201 コントローラ、202 ストレージインタフェース、203 暗号エンジン、204 耐タンパ記憶部、205 通常データ記憶部。
Claims (13)
- 複製元のストレージデバイスに記録された暗号化されたコンテンツデータと、前記暗号化されたコンテンツデータを復号するためのコンテンツ鍵及び前記コンテンツデータの複製に関する制御情報を含む一次利用ライセンスデータとを取得するステップと、
複製元の装置、装置のユーザ、又はその装置で動作するプログラムを特定できるIDを取得するステップと、
前記IDを利用して、前記一次利用ライセンスデータから前記コンテンツ鍵を取り出すステップと、
前記複製に関する制御情報を参照して、複製先のストレージデバイスへの複製の許否を判定するステップと、
前記複製先のストレージデバイスへの複製が許可されたときに、前記一次利用ライセンスデータから取り出した前記コンテンツ鍵及び前記コンテンツデータの複製を禁止する制御情報を含む二次利用ライセンスデータを生成するステップと、
前記二次利用ライセンスデータを暗号通信により前記複製先のストレージデバイスに送信し、前記複製先のストレージデバイスに記録するステップと、
前記暗号化されたコンテンツデータを前記複製先のストレージデバイスへ記録するステップと、
を含むことを特徴とする記録方法。 - 前記一次利用ライセンスデータは、暗号化された前記コンテンツ鍵を含み、
前記コンテンツ鍵を取り出すステップは、
前記IDをもとに、暗号化された前記コンテンツ鍵を復号するための復号鍵を生成するステップと、
前記復号鍵で、前記一次利用ライセンスデータに含まれる暗号化された前記コンテンツ鍵を復号するステップと、
を含むことを特徴とする請求項1に記載の記録方法。 - 前記一次利用ライセンスデータは、共通鍵暗号方式により暗号化された前記コンテンツ鍵を
含み、
前記復号鍵を生成するステップは、前記コンテンツ鍵を暗号化するための暗号鍵を生成する演算と同じ演算により、前記暗号鍵と同一の前記復号鍵を生成することを特徴とする請求項2に記載の記録方法。 - 前記一次利用ライセンスデータは、前記コンテンツ鍵に代えて乱数を含み、
前記コンテンツ鍵を取り出すステップは、
前記一次利用ライセンスデータに含まれる前記乱数に前記IDを用いた所定の演算を施すことにより前記コンテンツ鍵を生成するステップを含むことを特徴とする請求項1に記載の記録方法。 - 前記所定の演算は、共通鍵暗号方式により暗号化又は復号する演算であることを特徴とする請求項4に記載の記録方法。
- コンテンツデータを取得するステップと、
前記コンテンツデータを暗号化するためのコンテンツ鍵を生成するステップと、
前記コンテンツ鍵により前記コンテンツデータを暗号化するステップと、
前記一次利用ライセンスデータを生成するステップと、
暗号化された前記コンテンツデータと、前記一次利用ライセンスデータとを、前記複製元のストレージデバイスに記録するステップと、
を更に含むことを特徴とする請求項1から5のいずれかに記載の記録方法。 - コンテンツデータを取得するステップと、
前記コンテンツデータを暗号化するためのコンテンツ鍵を生成するステップと、
前記コンテンツ鍵により前記コンテンツデータを暗号化するステップと、
前記一次利用ライセンスデータを生成するステップと、
暗号化された前記コンテンツデータと、前記一次利用ライセンスデータとを、前記複製元のストレージデバイスに記録するステップと、
を更に含み、
前記一次利用ライセンスデータを生成するステップは、
前記複製元の装置、その装置のユーザ、又はその装置で動作するプログラムのIDを取得するステップと、
前記コンテンツ鍵に前記IDを用いて所定の演算を施すことにより、前記コンテンツ鍵を暗号化するステップと、
暗号化された前記コンテンツ鍵を含む前記一次利用ライセンスデータを生成するステップと、
を含むことを特徴とする請求項2又は3に記載の記録方法。 - コンテンツデータを取得するステップと、
前記コンテンツデータを暗号化するためのコンテンツ鍵を生成するステップと、
前記コンテンツ鍵により前記コンテンツデータを暗号化するステップと、
前記一次利用ライセンスデータを生成するステップと、
暗号化された前記コンテンツデータと、前記一次利用ライセンスデータとを、前記複製元のストレージデバイスに記録するステップと、
を更に含み、
前記コンテンツ鍵を生成するステップは、
乱数を発生するステップと、
前記複製元の装置、その装置のユーザ、又はその装置で動作するプログラムを特定できるIDを取得するステップと、
前記乱数に前記IDを用いた所定の演算を施すことにより前記コンテンツ鍵を生成するステップと、を含み、
前記一次利用ライセンスデータを生成するステップは、
前記コンテンツ鍵に代えて前記乱数を含む前記一次利用ライセンスデータを生成するステップと、
を含むことを特徴とする請求項4又は5に記載の記録方法。 - 前記一次利用ライセンスデータは、暗号通信により、前記複製元のストレージデバイスに記録され、又は前記複製元のストレージデバイスから読み出されることを特徴とする請求項6から8のいずれかに記載の記録方法。
- 複製元のストレージデバイスに記録された暗号化されたコンテンツデータと、前記暗号化されたコンテンツデータを復号するためのコンテンツ鍵及び前記コンテンツデータの複製に関する制御情報を含む一次利用ライセンスデータとを取得する取得手段と、
前記複製に関する制御情報を参照して、複製先のストレージデバイスへの複製の許否を判定する判定部と、
複製元の装置、装置のユーザ、又はその装置で動作するプログラムを特定できるIDを取得し、前記IDを利用して前記一次利用ライセンスデータから前記コンテンツ鍵を取り出すコンテンツ鍵取得手段と、
前記複製先のストレージデバイスへの複製が許可されたときに、前記一次利用ライセンスデータから取り出した前記コンテンツ鍵及び前記コンテンツデータの複製を禁止する制御情報を含む二次利用ライセンスデータを生成する二次利用ライセンス生成部と、
前記二次利用ライセンスデータを前記複製先のストレージデバイスに記録するために、前記二次利用ライセンスデータを暗号通信により前記複製先のストレージデバイスに送信する暗号エンジンと、
を備えることを特徴とする記録装置。 - 前記コンテンツ鍵取得手段は、
前記IDをもとに、暗号化された前記コンテンツ鍵を復号するための復号鍵を生成するID整形部と、
前記復号鍵で、前記一次利用ライセンスデータに含まれる暗号化された前記コンテンツ鍵を復号するコンテンツ鍵復号部と、
を含むことを特徴とする請求項10に記載の記録装置。 - 前記取得手段は、
コンテンツデータを暗号化するためのコンテンツ鍵を生成し、前記コンテンツ鍵と、前記コンテンツ鍵の複製に関する制御情報とを含む一次利用ライセンスデータを生成する一次利用ライセンス生成部と、
前記コンテンツ鍵で前記コンテンツデータを暗号化するコンテンツ暗号部と、
を含むことを特徴とする請求項10又は11に記載の記録装置。 - 前記一次利用ライセンス生成部は、
前記複製元の装置、その装置のユーザ、又はその装置で動作するプログラムを特定できるIDを取得し、前記IDをもとに前記コンテンツ鍵を暗号化するための暗号鍵を生成するID整形部と、
前記暗号鍵で前記コンテンツ鍵を暗号化するコンテンツ鍵暗号部と、
を含むことを特徴とする請求項12に記載の記録装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005348684A JP2007158559A (ja) | 2005-12-02 | 2005-12-02 | 記録装置及び記録方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005348684A JP2007158559A (ja) | 2005-12-02 | 2005-12-02 | 記録装置及び記録方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007158559A true JP2007158559A (ja) | 2007-06-21 |
Family
ID=38242369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005348684A Withdrawn JP2007158559A (ja) | 2005-12-02 | 2005-12-02 | 記録装置及び記録方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007158559A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9237310B2 (en) | 2008-11-26 | 2016-01-12 | Thomson Licensing | Method and system digital for processing digital content according to a workflow |
-
2005
- 2005-12-02 JP JP2005348684A patent/JP2007158559A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9237310B2 (en) | 2008-11-26 | 2016-01-12 | Thomson Licensing | Method and system digital for processing digital content according to a workflow |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007304822A (ja) | コンテンツ管理方法及び装置 | |
US6789177B2 (en) | Protection of data during transfer | |
TWI254279B (en) | Method and apparatus for content protection across a source-to-destination interface | |
US8393005B2 (en) | Recording medium, and device and method for recording information on recording medium | |
JP4891521B2 (ja) | データ入出力方法、およびその方法を利用可能な記憶装置およびホスト装置 | |
JP4884535B2 (ja) | 装置間でのデータオブジェクトの転送 | |
JP4624235B2 (ja) | コンテンツ利用情報提供装置およびコンテンツ利用情報送信方法 | |
JP5895230B2 (ja) | 記録媒体装置に組み込まれるコントローラ、記録媒体装置、記録媒体装置の製造システム、および記録媒体装置の製造方法 | |
US20050021948A1 (en) | Secure single drive copy method and apparatus | |
KR20030027066A (ko) | 데이터 교환을 위해 배열된 장치 및 인증 방법 | |
WO2006003778A1 (ja) | コンテンツ管理方法及びコンテンツ管理用プログラム、並びに電子機器 | |
US20050089164A1 (en) | System and method for the production and distribution of copy-protected and use-protected electronic audio and visual media and the data contents thereof | |
CN100364002C (zh) | 读或写用户数据的设备和方法 | |
JP2007505347A (ja) | コンテンツプロテクト方法及びシステム | |
JP4663436B2 (ja) | コンテンツ利用情報送信方法およびその方法を利用可能なコンテンツ利用情報提供装置およびコンテンツ利用情報享受装置 | |
JP5296195B2 (ja) | コンテンツデータ再生システム、及び記録装置 | |
KR20050064624A (ko) | 저장 매체의 데이터 기록 및/또는 재생 장치 및 그 방법 | |
JP2007158559A (ja) | 記録装置及び記録方法 | |
JP4671657B2 (ja) | コンテンツ利用情報記憶装置およびコンテンツ利用装置 | |
JP2007323367A (ja) | データ管理装置及びデータ管理方法 | |
US20060178993A1 (en) | Information recording medium, information processing device and method | |
TWI394155B (zh) | Methods for preventing disc transcription | |
JP2006033765A (ja) | コンテンツ利用情報提供装置およびコンテンツ利用情報享受装置 | |
JP2005044308A (ja) | 暗号化媒体イメージ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081202 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20101201 |