Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4601153B2 - Data terminal device and control method of data terminal device - Google Patents
[go: Go Back, main page]

JP4601153B2 - Data terminal device and control method of data terminal device - Google Patents

Data terminal device and control method of data terminal device Download PDF

Info

Publication number
JP4601153B2
JP4601153B2 JP2000362913A JP2000362913A JP4601153B2 JP 4601153 B2 JP4601153 B2 JP 4601153B2 JP 2000362913 A JP2000362913 A JP 2000362913A JP 2000362913 A JP2000362913 A JP 2000362913A JP 4601153 B2 JP4601153 B2 JP 4601153B2
Authority
JP
Japan
Prior art keywords
license
data
encrypted
file
key
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.)
Expired - Fee Related
Application number
JP2000362913A
Other languages
Japanese (ja)
Other versions
JP2002164881A (en
Inventor
吉宏 堀
透 上村
卓久 畠山
政孝 高橋
隆司 常広
良夫 大森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
PFU Ltd
Sanyo Electric Co Ltd
Renesas Electronics Corp
Original Assignee
Fujitsu Ltd
PFU Ltd
Sanyo Electric Co Ltd
Renesas Electronics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd, PFU Ltd, Sanyo Electric Co Ltd, Renesas Electronics Corp filed Critical Fujitsu Ltd
Priority to JP2000362913A priority Critical patent/JP4601153B2/en
Priority to AU2002224119A priority patent/AU2002224119A1/en
Priority to GB0313062A priority patent/GB2385177B/en
Priority to PCT/JP2001/010344 priority patent/WO2002044970A1/en
Priority to US10/416,538 priority patent/US20050120232A1/en
Publication of JP2002164881A publication Critical patent/JP2002164881A/en
Application granted granted Critical
Publication of JP4601153B2 publication Critical patent/JP4601153B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、コピーされた情報に対する著作権保護を可能とするデータ配信システムにおいて用いられるデータ端末装置に関するものである。
【0002】
【従来の技術】
近年、インターネット等の情報通信網等の進歩により、再生端末等を用いた個人向け端末により、各ユーザが容易にネットワーク情報にアクセスすることが可能となっている。
【0003】
このような情報通信網においては、デジタル信号により情報が伝送される。したがって、たとえば上述のような情報通信網において伝送された音楽や映像データを各個人ユーザがコピーした場合でも、そのようなコピーによる音質や画質の劣化をほとんど生じさせることなく、データのコピーを行なうことが可能である。
【0004】
したがって、このような情報通信網上において音楽データや画像データ等の著作者の権利が存在する創作物が伝達される場合、適切な著作権保護のための方策が取られていないと、著しく著作権者の権利が侵害されてしまうおそれがある。
【0005】
一方で、著作権保護の目的を最優先して、急拡大するデジタル情報通信網を介して著作物データの配信を行なうことができないとすると、基本的には、著作物データの複製に際し一定の著作権料を徴収することが可能な著作権者にとっても、かえって不利益となる。
【0006】
ここで、上述のようなデジタル情報通信網を介した配信ではなく、デジタルデータを記録した記録媒体を例にとって考えて見ると、通常販売されている音楽データを記録したCD(コンパクトディスク)については、CDから光磁気ディスク(MD等)への音楽データのコピーは、当該コピーした音楽を個人的な使用に止める限り原則的には自由に行なうことができる。ただし、デジタル録音等を行なう個人ユーザは、デジタル録音機器自体やMD等の媒体の代金のうちの一定額を間接的に著作権者に対して著作権料として支払うことになっている。
【0007】
しかも、CDからMDへデジタル信号である音楽データをコピーした場合、これらの情報がコピー劣化の殆どないデジタルデータであることに鑑み、記録可能なMDからさらに他のMDに音楽データとしてコピーすることは、著作権保護のために機器の構成上できないようになっている。
【0008】
このような事情からも、音楽データや画像データをデジタル情報通信網を通じて公衆に配信することは、それ自体が著作権者の公衆送信権による制限を受ける行為であるから、著作権保護のための十分な方策が講じられる必要がある。
【0009】
この場合、情報通信網を通じて公衆に送信される著作物である音楽データや画像データ等のコンテンツデータについて、一度受信されたコンテンツデータが、さらに勝手に複製されること、あるいは、複製できても利用されることを防止することが必要となる。
【0010】
そこで、コンテンツデータを暗号化した暗号化コンテンツデータを保持する配信サーバが、再生端末等の端末装置に装着されたメモリカードに対して端末装置を介して暗号化コンテンツデータを配信するデータ配信システムが提案されている。このデータ配信システムにおいては、予め認証局で認証されたメモリカードの公開暗号鍵とその証明書を暗号化コンテンツデータの配信要求の際に配信サーバへ送信し、配信サーバが認証された証明書を受信したことを確認した上でメモリカードに対して暗号化コンテンツデータと、暗号化コンテンツデータを復号するためのライセンス鍵を送信する。そして、暗号化コンテンツデータやライセンス鍵を配信する際、配信サーバおよびメモリカードは、配信毎に異なるセッションキーを発生させ、その発生させたセッションキーによって公開暗号鍵の暗号化を行ない、配信サーバ、メモリカード相互間で鍵の交換を行なう。
【0011】
最終的に、配信サーバは、メモリカード個々の公開暗号鍵によって暗号化され、さらにセッションキーによって暗号化したライセンスと、暗号化コンテンツデータをメモリカードに送信する。そして、メモリカードは、受信したライセンスと暗号化コンテンツデータをメモリカードに記録する。
【0012】
そして、メモリカードに記録した暗号化コンテンツデータを再生するときは、メモリカードを携帯電話機に装着する。携帯電話機は、通常の電話機能の他にメモリカードからの暗号化コンテンツデータを復号し、かつ、再生して外部へ出力するための専用回路も有する。
【0013】
このように、携帯電話機のユーザは、携帯電話機を用いて暗号化コンテンツデータを配信サーバから受信し、その暗号化コンテンツデータを再生することができる。
【0014】
一方、インターネットを用いて暗号化コンテンツデータをパーソナルコンピュータに配信することも行なわれている。そして、パーソナルコンピュータへの暗号化コンテンツデータとライセンスを同様な方法で配信することは可能ではあるが、パーソナルコンピュータにインストールされたソフトウェアによって暗号化コンテンツデータおよびライセンスの配信が受信され、ライセンスの保護が行なわれており、受信した暗号化コンテンツデータおよびライセンスを他のパーソナルコンピュータへ移動することは著作権保護の観点からラ行なわれていない。
【0015】
つまり、パーソナルコンピュータへ配信されたライセンスを記録したパーソナルコンピュータのCPUに個別に付与された識別番号や起動プログラムであるBIOSの識別番号などの値に関連付けた暗号処理を用いて、そのまま他のパーソナルコンピュータにコピーしても、ライセンスを取り出せず、暗号化コンテンツ復号して再生できない管理構造を採用している。そして、この管理下においてライセンスを他のパーソナルコンピュータへ移動できるサービスを提供したとすると、記録装置上で、ライセンスを特定することはできないものの、暗号化コンテンツデータおよびライセンスを管理し、記録している全てのデータのバックアップを取っておき、提供されたサービスによって、他のパーソナルコンピュータへ暗号化コンテンツデータおよびライセンスを移動させた後に、バックアップを取った暗号化コンテンツデータおよびライセンスを管理し、記録している全てのデータをパーソナルコンピュータへ戻せば移動前の状態を再現でき、暗号化コンテンツデータおよびライセンスを複製したのと同じことになる。このような管理においてのライセンスの移動は、セキュリティホールが明らかに存在する。したがって、ソフトウエアによってパーソナルコンピュータへ配信された暗号化コンテンツデータおよびライセンスを他のパーソナルコンピュータへ移動できないことになっている。
【0016】
【発明が解決しようとする課題】
しかし、パーソナルコンピュータに配信された暗号化コンテンツデータおよびライセンスをそのパーソナルコンピュータから、一切、取り出すことができないとすると、パーソナルコンピュータの破損や、バージョンアップによってCPUが変動したときは、既に受信した暗号化コンテンツデータおよびライセンスを利用することができないという問題がある。
【0017】
そこで、本発明は、かかる問題を解決するためになされたものであり、その目的は、ソフトウエアによって配信された暗号化コンテンツデータおよびライセンスを他のデータ端末装置へ移動可能なデータ端末装置を提供することである。
【0018】
【課題を解決するための手段および発明の効果】
この発明によるデータ端末装置は、コンテンツデータを暗号化した暗号化コンテンツデータおよび暗号化コンテンツデータを復号して元の平文を得るためのライセンスを取得し、暗号化コンテンツデータおよびライセンスを他のデータ端末装置へ出力するデータ端末装置であって、暗号化コンテンツデータおよびライセンスをソフトウエアによって取得するモジュール部と、暗号化コンテンツデータと、ライセンス管理ファイルと、暗号化機密ファイルとを記憶する記憶部と、暗号化機密ファイルを復号し、かつ、その復号した機密ファイルを暗号化するバインディング鍵を含むバインディングライセンスを専用領域に格納するデバイス部とを備え、機密ファイルは、ライセンスを構成要素とする機密情報を含み、ライセンス管理ファイルは、暗号化コンテンツファイルに対応し、かつ、機密ファイルに含まれる機密情報の管理番号を含む。
【0019】
この発明によるデータ端末装置においては、モジュール部は、ソフトウェアによって暗号化コンテンツデータおよびライセンスを取得し、デバイス部から取出したバインディング鍵によって暗号化機密ファイルを復号し、取得したライセンスを復号した機密ファイルに書込み、バインディング鍵によって機密ファイルを暗号化して暗号化機密ファイルを生成する。つまり、モジュール部は、デバイス部においてハードウェアによって保持されるバインディング鍵を介して暗号化機密ファイルを開閉して取得したライセンスを管理する。
【0020】
したがって、この発明によれば、ソフトウェアによって取得された暗号化コンテンツデータを復号して再生するためのライセンスは、ハードウェアに保持されたバインディング鍵によって管理されるため、取得した暗号化コンテンツデータおよびライセンスを他のデータ端末装置へ移動できる。
【0021】
好ましくは、暗号化機密ファイルの初期化時、データ端末装置のモジュール部は、バインディング鍵を含めてバインディングライセンスを生成し、機密情報が空な機密ファイルを生成し、その生成した機密ファイルを生成したバインディング鍵によって暗号化して暗号化機密ファイルを生成するとともに、生成したバインディングライセンスをデバイス部に与える。
【0022】
暗号化機密ファイルの初期化時、モジュール部は、バインディング鍵を含むバインディングライセンスと空な機密ファイルとを生成し、機密ファイルをバインディング鍵によって暗号化を行なって暗号化機密ファイルを生成するとともにバインディングライセンスをデバイス部に保持する。
【0023】
したがって、この発明によれば、ソフトウェアによって取得した暗号化コンテンツデータのライセンスを格納する機密ファイルをソフト的に作成し、その作成した機密ファイルを管理するためのバインディングライセンスをハード的に管理できる。
【0024】
好ましくは、ライセンスの取得時、データ端末装置のモジュール部は、記憶部から読出した暗号化機密ファイルをデバイス部から取得したバインディング鍵によって復号し、その復号した機密ファイルに取得したライセンスを機密情報として書込んで機密ファイルを更新し、その更新した機密ファイルをバインディング鍵によって暗号化し、その暗号化した暗号化機密ファイルを記憶部に更新記録し、書込んだライセンスを構成要素とする機密情報の管理番号を含むライセンス管理ファイルを作成して記憶部に書込む。
【0025】
デバイス部から取得したバインディング鍵によって暗号化機密ファイルを開閉して取得したライセンスを機密ファイルに書込む。そして、その書込んだライセンスを構成要素とする機密情報の管理番号を含めてライセンス管理ファイルを作成する。
【0026】
したがって、この発明によれば、ソフト的に取得した暗号化コンテンツデータのライセンスを管理番号によって管理できる。
【0027】
好ましくは、ライセンスの送信時、データ端末装置のモジュール部は、デバイス部から取得したバインディング鍵によって記憶部から読出した暗号化機密ファイルを復号してライセンスを取得し、その取得したライセンスを外部へ出力する。
【0028】
モジュール部は、デバイス部から取得したバインディング鍵によって暗号化機密ファイルを復号してライセンスを取得し、その取得したライセンスを外部へ出力する。
【0029】
したがって、この発明によれば、ソフト的に取得した暗号化コンテンツデータのライセンスをハード的に取得した暗号化コンテンツデータのライセンスと同じように他の装置へ移動できる。
【0030】
好ましくは、データ端末装置のモジュール部は、ライセンスの出力時、ライセンスに対応し、かつ記憶部に記録された暗号化コンテンツデータとライセンスとを外部へ出力する。
【0031】
ライセンスの外部への出力時、機密ファイルから取出したライセンスに対応する暗号化コンテンツデータを記憶部から読出し、暗号化コンテンツデータとライセンスとを外部へ出力する。
【0032】
したがって、この発明によれば、暗号化コンテンツデータおよびライセンスをソフト的に読出して他の装置へ暗号化コンテンツデータおよびライセンスを移動できる。
【0033】
好ましくは、データ端末装置のデバイス部は、専用領域を指定する専用登録番号をモジュール部から受取り、その受取った専用登録番号によってバインディングライセンスを専用領域に格納する。
【0034】
デバイス部は、専用登録番号を介して暗号化機密ファイルを開閉するためのバインディングライセンスを専用領域に格納する。
【0035】
したがって、この発明によれば、専用登録番号によってバインディングライセンスと暗号化コンテンツデータのライセンスとを対応付けることができる。
【0036】
好ましくは、ライセンスの出力時、データ端末装置のモジュール部は、専用登録番号をデバイス部へ送信することによってバインディング鍵を取得する。
【0037】
モジュール部は、専用登録番号を介して、記憶部から読出したいライセンスが格納された機密ファイルを開けるためのバインディング鍵を取得する。
【0038】
したがって、この発明によれば、専用登録番号によってバインディング鍵を正確に取得できる。
【0039】
好ましくは、ライセンスの出力時、データ端末装置のモジュール部は、デバイス部に対する認証データをデバイス部へ送信し、デバイス部において認証データが認証された場合、バインディング鍵を取得する。
【0040】
認証されたモジュール部のみにバインディング鍵が与えられる。
したがって、この発明によれば、不正なバインディング鍵の流出を防止できる。
【0041】
好ましくは、ライセンスの出力時、データ端末装置のデバイス部は、バインディング鍵を暗号化して出力する。
【0042】
デバイス部は、ライセンスを管理するためのバインディング鍵を暗号化して出力する。
【0043】
したがって、この発明によれば、ライセンスを他の装置へ移動するとき、移動先でライセンスを管理するバインディング鍵を不正に取得されにくくできる。
【0044】
好ましくは、ライセンスの出力時、データ端末装置のモジュール部は、取得したバインディング鍵によって暗号化機密ファイルを復号して機密ファイルを取得し、かつ、記憶部から読出したライセンス管理ファイルに含まれる機密情報の管理番号に一致する機密情報を取得した機密ファイルから読出すことによって外部へ出力するライセンスを取得する。
【0045】
モジュール部は、デバイス部からバインディング鍵を取得して暗号化機密ファイルを復号し、その復号した機密ファイルに含まれる機密情報から管理番号に一致する機密情報を取得して外部へ出力しようとするライセンスを取得する。
【0046】
したがって、この発明によれば、管理番号を介して正確にライセンスを取得できる。
【0047】
好ましくは、ライセンスの他のデータ端末装置への送信時、データ端末装置のモジュール部は、さらに、デバイス部において保持された公開暗号鍵を受取ることによってデバイス部はバインディングライセンスの書込みが可能であることを確認する。
【0048】
モジュール部は、ライセンスの他の装置への送信時、デバイス部がバインディングライセンスの書込みが可能なデバイス部か否かをデバイス部から公開暗号鍵を受取ることによって確認する。
【0049】
したがって、この発明によれば、暗号化コンテンツデータのライセンスを移動した際、デバイス部に格納されたバインディングライセンスを書換えることによってライセンスを移動したことを認識可能である。
【0050】
好ましくは、暗号化コンテンツデータの他のデータ端末装置への移動時、データ端末装置のモジュール部は、ライセンスの複製ができないとき、他のデータ端末装置へ送信したライセンスを構成要素とする機密情報を削除し、その削除した機密情報の管理番号を削除してライセンス管理ファイルを更新し、もう1つのバインディング鍵を生成し、その生成したもう1つのバンディング鍵によって機密ファイルを暗号化して暗号化機密ファイルを更新する。
【0051】
移動したライセンスの複製が禁止されているとき、モジュール部は、移動したライセンスを削除するとともに、別のバインディング鍵を生成して暗号化機密ファイルを更新する。
【0052】
したがって、この発明によれば、ライセンスが不正に複製されるのを防止できる。
【0053】
好ましくは、暗号化コンテンツデータの他のデータ端末装置への移動時、データ端末装置のデバイス部は、もう1つのバインディング鍵を含むもう1つのバインディングライセンスをモジュール部から受け取り、その受取ったもう1つのバインディングライセンスを専用領域に上書きして格納する。
【0054】
別のバインディング鍵が生成されたとき、デバイス部においてバインディングライセンスの書換えが行なわれる。
【0055】
したがって、この発明によれば、最新のバインディングライセンスによって暗号化コンテンツデータを再生するためのライセンスを管理できる。
【0056】
好ましくは、ライセンスの他のデータ端末装置への送信時、データ端末装置のモジュール部は、他のデータ端末装置から受信した認証データを認証すると、ライセンスを他のデータ端末装置へ送信する。
【0057】
モジュール部は、暗号化コンテンツデータのライセンスを移動しようとするデータ端末装置が正規の端末装置であることを確認してから暗号化コンテンツデータのライセンスを送信する。
【0058】
したがって、この発明によれば、正規なデータ端末装置間で暗号化コンテンツデータのライセンスを移動でき、暗号化コンテンツデータを十分に保護できる。
【0059】
好ましくは、データ端末装置のモジュール部は、ライセンスを暗号化した上で出力する。
【0060】
モジュール部は、ライセンスを暗号化した上で他のデータ端末装置へ移動する。
【0061】
したがって、この発明によれば、ライセンスの移動時に、そのライセンスを不正に取得されにくい。
【0062】
また、この発明によるデータ端末装置は、コンテンツデータを暗号化した暗号化コンテンツデータおよび暗号化コンテンツデータを復号して元の平文を得るためのライセンスを取得し、暗号化コンテンツデータおよびライセンスを他のデータ端末装置へ出力するデータ端末装置であって、暗号化コンテンツデータおよびライセンスをソフトウエアによって取得するモジュール部と、暗号化コンテンツデータと、ライセンス管理ファイルと、独自の暗号化を施した暗号化機密ファイルとを記憶する記憶部と、バインディング鍵を含むバインディングライセンスを専用領域に格納するデバイス部とを備え、暗号化機密ファイルを復号した機密ファイルは、デバイス部が格納するバインディングライセンスと同じバインディングライセンスを含み、ライセンス管理ファイルは、暗号化コンテンツデータに対応し、かつ、ライセンスを構成要素とする機密情報に独自の暗号化を施した暗号化機密情報を含む。
【0063】
この発明によるデータ端末装置においては、モジュール部は、ソフトウエアによって暗号化コンテンツデータおよびライセンスを取得し、その取得したライセンスに独自の暗号化を施して暗号化機密情報を生成し、その生成した暗号化機密情報を含むライセンス管理ファイルを作成して記憶部に書込む。また、ライセンスを管理するバインディングライセンスは機密ファイルに格納される。
【0064】
したがって、この発明によれば、ライセンスを管理するためのバインディング鍵はハードウエアによって保持されるため、ソフトウエアによって取得された暗号化コンテンツデータを復号して再生するためのライセンスを他のデータ端末装置へ移動できる。
【0065】
好ましくは、暗号化機密ファイルの初期化時、データ端末装置のモジュール部は、バインディング鍵を含めてバインディングライセンスを生成し、その生成したバインディングライセンスを格納した機密ファイルを生成し、その生成した機密ファイルに独自の暗号化を施して暗号化機密ファイルを生成するとともに、生成したバインディングライセンスをデバイス部に与える。
【0066】
モジュール部は、暗号化機密ファイルの初期化時、バインディング鍵を含むバインディングライセンスと空な機密ファイルとを生成し、機密ファイルに生成したバインディングライセンスを書込んで独自の暗号化を行なって暗号化機密ファイルを生成するとともにバインディングライセンスをデバイス部の専用領域に保持する。
【0067】
したがって、この発明によれば、ライセンスを管理するためのバインディング鍵はハードウエアによって保持されるため、ソフトウエアによって取得された暗号化コンテンツデータを復号して再生するためのライセンスを他のデータ端末装置へ移動できる。
【0068】
好ましくは、ライセンスの取得時、データ端末装置のモジュール部は、ライセンスに独自の暗号化を施して暗号化機密情報を生成し、その暗号化機密情報を含むライセンス管理ファイルを生成して記憶部に書込む。
【0069】
モジュール部は、取得したライセンスに独自の暗号化を施して記憶部で管理する。
【0070】
したがって、この発明によれば、ライセンスを独自の暗号化方式によって管理できる。
【0071】
好ましくは、ライセンスの送信時、データ端末装置のモジュール部は、デバイス部から取得したバインディング鍵が暗号化機密ファイルを復号して取得したバインディング鍵に一致すると、記憶部から読出した暗号化機密情報を復号してライセンスを取得し、その取得したライセンスと記憶部から読出した暗号化コンテンツデータとを他のデータ端末装置へ送信する。
【0072】
モジュール部は、デバイス部に格納されたバインディング鍵と記憶部に格納されたバインディング鍵とが一致する場合に限り、ライセンスを取得する。
【0073】
したがって、ハード的に管理されたバインディング鍵と同じバインディング鍵を有するモジュール部だけがライセンスを取得できる。
【0074】
好ましくは、独自の暗号化方式は、データ端末装置から取得可能なデータ端末装置に固有の情報に関連付けた暗号化方式である。
【0075】
モジュール部は、データ端末装置に固有な情報、たとえば、CPUのバージョン番号等に基づいた暗号化方式によってライセンスを暗号化する。
【0076】
したがって、この発明によれば、暗号化されたライセンスが他の装置へ不正に流出されても、そのライセンスが不正に取得されない。
【0077】
好ましくは、データ端末装置のデバイス部は、専用領域を指定する専用登録番号をモジュール部から受取り、その受取った専用登録番号によってバインディングライセンスを専用領域に格納し、モジュール部は、専用登録番号を含めて暗号化機密ファイルおよびライセンス管理ファイルを生成する。
【0078】
デバイス部は、モジュール部によって生成された専用登録番号によってバインディングライセンスをハード的に管理し、モジュール部は、生成した専用登録番号と取得したライセンスとを独自に暗号化してソフト的に管理する。
【0079】
したがって、この発明によれば、モジュール部は、専用登録番号を介してデバイス部に保持されたバインディング鍵を取得し、暗号化機密ファイルから読出したバインディング鍵とデバイス部から取得したバインディング鍵との一致を正確に判別できる。
【0080】
好ましくは、ライセンスの送信時、データ端末装置のモジュール部は、専用登録番号をデバイス部へ送信することによってバインディング鍵を取得する。
【0081】
モジュール部は、専用登録番号をデバイス部へ送信し、デバイス部は受信した専用登録番号によって指定された専用領域からバインディング鍵を取出して出力する。
【0082】
したがって、この発明によれば、専用登録番号によってバインディング鍵を正確に取得できる。
【0083】
好ましくは、ライセンスの他のデータ端末装置への送信時、データ端末装置のモジュール部は、デバイス部に対する認証データをデバイス部へ送信し、デバイス部において認証データが認証された場合、バインディング鍵を取得する。
【0084】
モジュール部のデバイス部に対する正当性が確認された場合だけ、モジュール部がバインディング鍵を取得する。
【0085】
したがって、この発明によれば、バインディング鍵の不正な取得を防止でき、その結果、ライセンスが他の端末装置へ不正に移動されることを防止できる。
【0086】
好ましくは、ライセンスの他のデータ端末装置への送信時、データ端末装置のモジュール部は、他のデータ端末装置から受信した認証データを認証すると、ライセンスを他のデータ端末装置へ送信する。
【0087】
暗号化コンテンツデータおよびライセンスを移動しようとするデータ端末装置が正規であることが確認されると、モジュール部は暗号化コンテンツデータおよびライセンスを他のデータ端末装置へ送信する。
【0088】
したがって、この発明によれば、正規のデータ端末装置間でのみ、暗号化コンテンツデータおよびライセンスの移動が可能である。
【0089】
好ましくは、データ端末装置のモジュール部は、配信サーバからインターネットによって暗号化コンテンツデータおよびライセンスを取得する。
【0090】
したがって、この発明によれば、各種のコンテンツデータを取得し、かつ、他の端末装置へ取得したコンテンツデータを移動できる。
【0091】
好ましくは、データ端末装置は、記録媒体から平文のコンテンツデータを読出す媒体駆動部をさらに備え、モジュール部は、媒体駆動部が読出したコンテンツデータに含まれる複製可否情報に基づいてライセンスを生成し、その生成したライセンスに含まれるライセンス鍵によってコンテンツデータを暗号化して暗号化コンテンツデータを生成することによって暗号化コンテンツデータおよびライセンスを取得する。
【0092】
データ端末装置は、リッピングによって暗号化コンテンツデータおよびライセンスを取得する。
【0093】
したがって、この発明によれば、通信手段以外の手段で頒布されるコンテンツデータも取得し、他のデータ端末装置へ移動できる。
【0094】
好ましくは、データ端末装置のデバイス部は、さらに、配信サーバから暗号化コンテンツデータおよびライセンスを受信し、その受信したライセンスを保持し、記憶部は、デバイス部によって受信された暗号化コンテンツデータを記憶する。
【0095】
デバイス部は、バインディングライセンスを保持するとともに、配信サーバから暗号化コンテンツデータおよびライセンスを受信し、その受信したライセンスをバインディングライセンスとともに保持する。
【0096】
したがって、この発明によれば、ハードウエアによって取得したライセンスとソフトウエアによって取得したライセンスとを殆ど同じセキュリティレベルで管理できる。
【0097】
【発明の実施の形態】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【0098】
[実施の形態1]
図1は、本発明によるデータ端末装置(パーソナルコンピュータ)が暗号化コンテンツデータを取得するとともに、その取得した暗号化コンテンツデータを他のデータ端末装置(パーソナルコンピュータ)へ移動するデータ配信システムの全体構成を概念的に説明するための概略図である。
【0099】
なお、以下ではインターネットを介してデジタル音楽データを各パーソナルコンピュータのユーザに配信するデータ配信システムの構成を例にとって説明するが、以下の説明で明らかとなるように、本発明はこのような場合に限定されることなく、他の著作物としてのコンテンツデータ、たとえば画像データ、動画像データ等を配信する場合においても適用することが可能なものである。
【0100】
図1を参照して、パーソナルコンピュータ50は、モデム40およびインターネット網30を介して、各パーソナルコンピュータのユーザからの配信要求(配信リクエスト)を配信サーバ10に送信する。著作権の存在する音楽データを管理する配信サーバ10は、データ配信を求めてアクセスして来たパーソナルコンピュータのユーザが所有するパーソナルコンピュータ50が正当な認証データを持つか否か、すなわち、正規のパーソナルコンピュータは充分なセキュリティレベルを備えたコンテンツ保護を行っているか否かの認証処理を行ない、正当なコンテンツ保護を行っているパーソナルコンピュータに対して所定の暗号方式により音楽データ(以下コンテンツデータとも呼ぶ)を暗号化した上で、このような暗号化コンテンツデータおよび暗号化コンテンツデータを再生するために必要な情報としてのライセンスをパーソナルコンピュータ50に配信する。
【0101】
この場合、パーソナルコンピュータ50は、モデム40およびインターネット網30を介して異なるセキュリティレベルによって暗号化コンテンツデータおよびライセンスを配信サーバ10から受信して、管理することができる。すなわち、パーソナルコンピュータ50は、ハード的にコンテンツ点津保護を実現するライセンス管理デバイスと、ソフト的にコンテンツ保護を実現するライセンス管理モジュールとを内蔵している。ライセンス管理デバイスは、アプリケーションソフトの助けを得て、配信サーバ10からインターネット網30等を介して暗号化コンテンツデータおよびライセンスを受信する。このライセンス管理デバイスは、暗号化コンテンツデータを再生するためのライセンスを受信するための暗号通信路を、直接、配信サーバとの間で確立し、受信したライセンスをハード的に保持するものであり、セキュリティレベルが高いものである。また、ライセンス管理モジュールも、同様に、所定の手順に従った暗号通信路を配信サーバとの間で確立し、ライセンスを受信し、暗号化して保護した上で、ハードディスク(HDDと言う)にライセンスを記録する。ライセンス管理デバイスよりも低いセキュリティレベルで暗号化コンテンツデータおよびライセンスを受信し、管理するものである。いずれの場合においても、暗号化コンテンツデータはそのままHDDに記録される。ライセンス管理デバイスおよびライセンス管理モジュールについては、後に詳細に説明する。
【0102】
以後、セキュリティレベルおよびライセンスを区別するためにメモリカード110あるいはライセンス管理デバイスなどのハードウエアによって機密性を保つセキュリティレベルをレベル2と呼び、レベル2のセキュリティを要求して配信サーバから送信されるライセンスをレベル2ライセンスと呼ぶこととする。同様に、ライセンス管理モジュールのようなソフトウエアによって機密性を保つセキュリティレベルをレベル1と呼び、レベル1のセキュリティレベルを要求して配信サーバから送信されるライセンスをレベル1ライセンスと呼ぶこととする。
【0103】
さらに、図1においては、パーソナルコンピュータ50は、ライセンス管理モジュールを使って音楽データを記録した音楽CD(Compact Disk)60から取得した音楽データから、個人使用に限定したローカル使用に限定された暗号化コンテンツデータと、暗号化コンテンツデータを再生するためのライセンスとを生成することができる。この処理をリッピングと呼び、音楽CDから暗号化コンテンツデータとライセンスとを取得する行為に相当する。リッピングによるローカル使用のライセンスは、その性格上、セキュリティレベルは決して高くないので、リッピングが如何なる手段でなされようともレベル1ライセンスとして扱われるもとする。リッピングの詳細については後述する。
【0104】
またさらに、パーソナルコンピュータ50は、USB(Universal Serial Bus)ケーブル70によって再生端末100と接続し、配信サーバ10から受信した暗号化コンテンツデータおよびライセンスを再生端末100に装着されたメモリカード110に送信することが可能である。
【0105】
またさらに、パーソナルコンピュータ50は、受信した暗号化コンテンツデータおよびライセンスを通信ケーブル90を介して、パーソナルコンピュータ80へ送信する。
【0106】
したがって、図1に示すデータ配信システムにおいては、パーソナルコンピュータ50は、モデム40およびインターネット網30を介して配信サーバ10から暗号化コンテンツデータとライセンスとを受信するとともに、音楽CDから暗号化コンテンツデータとライセンスとを取得する。また、再生端末100に装着されたメモリカード110は、パーソナルコンピュータ50が配信サーバ10または音楽CD60から取得した暗号化コンテンツデータおよびライセンスを受信する。再生端末100のユーザは、パーソナルコンピュータ50を介することによって音楽CDから暗号化コンテンツデータおよびライセンスを取得することが可能となる。
【0107】
図1においては、たとえば携帯電話ユーザの再生端末100には、着脱可能なメモリカード110が装着される構成となっている。メモリカード110は、再生端末100により受信された暗号化コンテンツデータを受取り、上記配信にあたって行なわれた暗号化を復号した上で、再生端末100中の音楽再生部(図示せず)に与える。
【0108】
さらに、たとえば携帯電話ユーザは、再生端末100に接続したヘッドホーン130等を介してこのようなコンテンツデータを「再生」して、聴取することが可能である。
【0109】
また、図1においては、パーソナルコンピュータ50は、ライセンス管理モジュールを使って、ライセンス管理モジュールが直接管理するレベル1ライセンスを持つ暗号化コンテンツデータに限り、ライセンス管理モジュールと密接な連携を取る音楽再生プログラムを用いて再生する機能を備えることができる。レベル2ライセンスを持つ暗号化コンテンツデータの再生は、再生端末と同様な構成を持つハードウエアによって機密性を持つコンテンツ再生回路をパーソナルコンピュータに備えれば可能となる。パーソナルコンピュータにおける再生についての詳細な説明は、本出願における説明を簡略化するために省略する。
【0110】
このような構成とすることで、充分なセキュリティレベルのコンテンツ保護機能をもつ、正規なライセンス管理デバイスあるいはライセンス管理モジュールを備えたパーソナルコンピュータでないと、配信サーバ10からコンテンツデータの配信を受信し、パーソナルコンピュータ80や再生端末100へ暗号化コンテンツデータを送信することが困難な構成となる。
【0111】
しかも、配信サーバ10において、たとえば1曲分のコンテンツデータを配信するたびにその度数を計数しておくことで、パーソナルコンピュータのユーザがコンテンツデータを受信(ダウンロード)するたびに発生する著作権料を、インターネット網の使用料とともに徴収することとすれば、著作権者が著作権料を確保することが容易となる。
【0112】
なお、図1において、再生端末100は、配信サーバ10と直接通信する機能を有しない再生端末を想定している。
【0113】
図1に示したような構成においては、暗号化して配信されるコンテンツデータをパーソナルコンピュータのユーザ側で再生可能とするためにシステム上必要とされるのは、第1には、通信における暗号鍵を配信するための方式であり、さらに第2には、配信したいコンテンツデータを暗号化する方式そのものであり、さらに、第3には、このように配信されたコンテンツデータの無断コピーを防止するためのコンテンツデータ保護を実現する構成である。
【0114】
本発明の実施の形態においては、特に、配信、移動、チェックアウト、チェックイン、および再生の各セッションの発生時において、これらのコンテンツデータの移動先に対する認証およびチェック機能を充実させ、非認証もしくは復号鍵の破られた記録装置およびデータ再生端末(コンテンツを再生できるデータ再生端末を再生端末またはパーソナルコンピュータとも言う。以下同じ))に対するコンテンツデータの出力を防止することによってコンテンツデータの著作権保護を強化する構成を説明する。
【0115】
なお、以下の説明においては、配信サーバ10から、各パーソナルコンピュータ等にコンテンツデータを伝送する処理を「配信」と称することとする。
【0116】
図2は、図1に示したデータ配信システムにおいて、使用される通信のためのデータ、情報等の特性を説明する図である。
【0117】
まず、配信サーバ10より配信されるデータについて説明する。Dcは、音楽データ等のコンテンツデータである。コンテンツデータDcは、ライセンス鍵Kcで復号可能な暗号化が施される。ライセンス鍵Kcによって復号可能な暗号化が施された暗号化コンテンツデータ{Dc}Kcがこの形式で配信サーバ10よりパーソナルコンピュータのユーザに配布される。
【0118】
なお、以下においては、{Y}Xという表記は、データYを、復号鍵Xにより復号可能な暗号化を施したことを示すものとする。
【0119】
さらに、配信サーバ10からは、暗号化コンテンツデータとともに、コンテンツデータに関する著作権あるいはサーバアクセス関連等の平文情報としての付加情報Dc−infが配布される。また、ライセンスとして、ライセンス鍵Kc、配信サーバ10からのライセンス鍵等の配信を特定するための管理コードであるトランザクションIDが配信サーバ10とパーソナルコンピュータ50との間でやり取りされる。また、配信によらないライセンス、すなわち、個人使用を目的としたローカルでの使用のライセンスを特定するためにもトランザクションIDは使用される。配信によるものと、ローカル使用のものを区別するために、トランザクションIDの先頭は“0”で始まるものがローカル使用のトランザクションIDであり、“0”以外から始まるのものを配信によるトランザクションIDであるとする。さらに、ライセンスとしては、コンテンツデータDcを識別するためのコードであるコンテンツID、利用者側からの指定によって決定されるライセンス数や機能限定等の情報を含んだライセンス購入条件ACに基づいて生成される、記録装置(メモリカード、またはライセンス管理デバイス)におけるライセンスのアクセスに対する制限に関する情報であるアクセス制御情報ACmおよびデータ再生端末における制御情報である再生制御情報ACp等が存在する。具体的には、アクセス制限情報ACmはメモリカード、ライセンス管理モジュールおよびライセンス管理モジュールからのライセンスまたはライセンス鍵を外部に出力に対するにあった手の制御情報であり、再生可能回数(再生のためにライセンス鍵を出力する数)、ライセンスの移動・複製に関する制限情報およびライセンスのセキュリティレベルなどがある。再生制御情報ACpは、再生するためにコンテンツ再生回路がライセンス鍵を受取った後に、再生を制限する情報であり、再生期限、再生速度変更制限、再生範囲指定(部分ライセンス)などがある。
【0120】
本発明の実施の形態においては、簡単化のためアクセス制限情報ACmは再生回数の制限を行なう制御情報である再生回数〈0:再生不可、1〜254:再生可能回数、255:制限無し)、ライセンスの移動および複製を制限する移動複製フラグ〈0:移動複製禁止・1:移動のみ可・2:移動複製可)、セキュリティレベル「1:レベル1、2:レベル2」の3項目とし、再生制御情報ACpは再生可能な期限を規定する制御情報である再生期限「UTCtimeコード」のみを制限するものとする。ゆえに、以降では、再生制御情報ACpを再生期限ACpとも称する。
【0121】
さらに、以後、トランザクションIDとコンテンツIDとを併せてライセンスIDと総称し、ライセンス鍵KcとライセンスIDとアクセス制限情報ACmと再生期限ACpとを併せて、ライセンスと総称することとする。
【0122】
本発明の実施の形態においては、記録装置(メモリカード、ライセンス管理デバイスおよびライセンス管理モジュール)やコンテンツデータを再生する再生端末のクラスごとに、コンテンツデータの配信、および再生を禁止することができるように禁止クラスリストCRL(Class Revocation List)の運用を行なう。以下では、必要に応じて記号CRLによって禁止クラスリスト内のデータを表わすこともある。
【0123】
禁止クラスリスト関連情報には、ライセンスの配信、移動、チェックアウト、および再生が禁止される再生端末、メモリカード、ライセンス管理モジュール、およびライセンス管理デバイスのクラスをリストアップした禁止クラスリストデータCRLが含まれる。コンテンツデータ保護に関わるライセンスの管理・蓄積およびライセンスを受けて再生を行なう全ての機器およびプログラムがリストアップの対象となる。
【0124】
禁止クラスリストデータCRLは、配信サーバ10内で管理されるとともに、メモリカードや、ライセンス管理モジュールによってパーソナルコンピュータ50内のハードディスク(HDD)またはライセンス管理デバイス内にも記録保持される。このような禁止クラスリストは、随時バージョンアップしデータを更新していく必要があるが、データの変更については、基本的には暗号化コンテンツデータおよび/またはライセンス鍵等のライセンスを配信する際に、パーソナルコンピュータ(ライセンス管理デバイスまたはライセンス管理モジュール)から受取った禁止クラスリストの更新日時を判断し、更新されていないと判断されたとき、更新された禁止クラスリストをパーソナルコンピュータに配信する。また、ライセンス管理モジュール、ライセンス管理デバイス、および再生端末100の間でも禁止クラスリストはやり取りされ、そのデータ変更も上述したのと同じである。さらに、禁止クラスリストの変更については、変更点のみを反映した差分データCRLを配信サーバ10側より発生して、これに応じてメモリカード、ハードディスク、およびライセンス管理デバイス内の禁止クラスリストCRLに追加する構成とすることも可能である。また、禁止クラスリストの更新日時CRLdateについては、メモリカード、ハードディスク、およびライセンス管理デバイス内に記録された禁止クラスリストCRL内に記録されていて、これを配信サーバ10側で確認することによってバージョン管理を実行する。差分データCRL更新日時CRLdateも含まれる。
【0125】
このように、禁止クラスリストCRLを、配信サーバのみならずメモリカードまたはパーソナルコンピュータ内においても保持運用することによって、クラス固有すなわち、再生端末およびメモリカードまたはパーソナルコンピュータ(ライセンス管理デバイスまたはライセンス管理モジュール)の種類に固有の復号鍵が破られた、再生端末およびメモリカードまたはパーソナルコンピュータへのライセンス鍵の供給を禁止する。このため、再生端末ではコンテンツデータの再生が、メモリカード、ライセンス管理モジュール、およびライセンス管理デバイスでは新たなライセンスを受信することができなくなる。
【0126】
このように、メモリカードまたはライセンス管理デバイス内の、あるいはライセンス管理モジュールが管理するHDD内の禁止クラスリストCRLは配信時に逐次データを更新する構成とする。また、メモリカード、ライセンス管理モジュール、およびライセンス管理デバイスにおける禁止クラスリストCRLの管理は、上位レベルとは独立にメモリカード、ライセンス管理デバイス、およびライセンス管理モジュールによって制御されるハードディスクでタンパーレジスタントモジュール(Tamper Resistant Module)に記録する。メモリカードまたはライセンス管理デバイス内では、ライセンスと同様に、ハード的に機密性を保証する高いレベルのタンパレジストモジュールによって記録され、ライセンス管理モジュールが管理するHDD内に記録された禁止クラスリストCRLの管理は、暗号処理によって少なくとも改ざん防止処置が行われてパーソナルコンピュータのHDD等に記録される。言いかえれば、ソフトウエアによってその機密性が保証された低いレベルのタンパーレジスタントジュールによって記録される。いずれにしても、ファイルシステムやアプリケーションプログラム等によって上位レベルから禁止クラスリストデータCRLを改ざんすることが不可能な構成とする。この結果、データに関する著作権保護をより強固なものとすることができる。
【0127】
図3は、図1に示すデータ配信システムにおいて使用される認証のためのデータ、情報等の特性を説明する図である。
【0128】
再生端末、メモリカード、ライセンス管理デバイス、およびライセンス管理モジュールには固有の公開暗号鍵KPpyおよびKPmwがそれぞれ設けられ、公開暗号鍵KPpyおよびKPmwは再生端末に固有の秘密復号鍵Kpyおよびメモリカード、ライセンス管理デバイス、およびライセンス管理モジュールに固有の秘密復号鍵Kmwによってそれぞれ復号可能である。これら公開暗号鍵および秘密復号鍵は、再生端末、メモリカード、ライセンス管理デバイス、およびライセンス管理モジュールの種類ごとに異なる値を持つ。これらの公開暗号鍵および秘密復号鍵を総称してクラス鍵と称し、これらの公開暗号鍵をクラス公開暗号鍵、秘密復号鍵をクラス秘密復号鍵、クラス鍵を共有する単位をクラスと称する。クラスは、製造会社や製品の種類、製造時のロット等によって異なる。
【0129】
また、コンテンツ再生デバイス(再生端末)のクラス証明書としてCpyが設けられ、メモリカード、ライセンス管理デバイス、およびライセンス管理モジュールのクラス証明書としてCmwが設けられる。
【0130】
これらのクラス証明書は、コンテンツ再生デバイス、メモリカード、ライセンス管理デバイス、およびライセンス管理モジュールのクラスごとに異なる情報を有する。タンパーレジスタントモジュールが破られたり、クラス鍵による暗号が破られた、すなわち、クラス秘密復号鍵が取得されたクラス鍵に対しては、禁止クラスリストにリストアップされてライセンスの送信の禁止対象となる。
【0131】
これらのコンテンツ再生デバイス、メモリカード、ライセンス管理デバイス、およびライセンス管理モジュールに固有のクラス公開暗号鍵およびクラス証明書は、認証データ{KPpy//Cpy}KPaの形式または認証データ{KPmw//Cmw}KPaの形式で、出荷時にデータ再生デバイス(再生端末)、メモリカード、ライセンス管理デバイス、およびライセンス管理モジュールにそれぞれ記録される。後ほど詳細に説明するが、KPaは配信システム全体で共通の公開認証鍵である。
【0132】
さらに、メモリカード110、ライセンス管理デバイス、およびライセンス管理モジュール内のデータ処理を管理するための鍵として、メモリカード、ライセンス管理デバイス、およびライセンス管理モジュールという媒体または管理ソフトウエアごとに設定される公開暗号鍵KPmcxと、公開暗号鍵KPmcxで暗号化されたデータを復号することが可能なそれぞれに固有の秘密復号鍵Kmcxが存在する。このメモリカード毎に子別な公開暗号鍵および秘密復号鍵を総称して個別鍵と称し、公開暗号鍵KPmcxを個別公開暗号鍵、秘密復号鍵Kmcxを個別秘密復号鍵と称する。
【0133】
メモリカード外とメモリカード間でのデータ授受、またはライセンス管理デバイス外とライセンス管理デバイス間でのデータ授受、またはライセンス管理モジュール外とライセンス管理モジュール間でのデータ授受における秘密保持のための暗号鍵として、コンテンツデータの配信、および再生が行なわれるごとに配信サーバ10、再生端末100、メモリカード110、ライセンス管理デバイス、ライセンス管理モジュールにおいて生成される共通鍵Ks1〜Ks3が用いられる。
【0134】
ここで、共通鍵Ks1〜Ks3は、配信サーバ、再生端末もしくはメモリカードもしくはライセンス管理デバイスもしくはライセンス管理モジュール間の通信の単位あるいはアクセスの単位である「セッション」ごとに発生する固有の共通鍵であり、以下においてはこれらの共通鍵Ks1〜Ks3を「セッションキー」とも呼ぶこととする。
【0135】
これらのセッションキーKs1〜Ks3は、各セッションごとに固有の値を有することにより、配信サーバ、再生端末、メモリカード、ライセンス管理デバイス、およびライセンス管理モジュールによって管理される。具体的には、セッションキーKs1は、配信サーバによって配信セッションごとに発生される。セッションキーKs2は、メモリカード、ライセンス管理デバイス、ライセンス管理モジュールによって配信セッションおよび再生セッションごとに発生し、セッションキーKs3は、再生端末において再生セッションごとに発生される。各セッションにおいて、これらのセッションキーを授受し、他の機器で生成されたセッションキーを受けて、このセッションキーによる暗号化を実行したうえでライセンス鍵等の送信を行なうことによって、セッションにおけるセキュリティ強度を向上させることができる。
【0136】
図4は、ソフトウエア(ライセンス管理モジュール)によって取得した暗号化コンテンツデータおよびライセンスを他のパーソナルコンピュータへ移動可能とするためにライセンス管理デバイスに関連付けて暗号化し管理するために必要なバインディングライセンスと、ソフトウエアによって取得した暗号化コンテンツデータおよびライセンスをメモリカード110へ貸出すチェックアウトセッションにおけるチェックアウト管理情報とを示したものである。
【0137】
バインディングライセンスは、暗号化コンテンツデータを再生するためのレベル1ライセンスと、ライセンスのチェックアウトに関する情報を暗号化して、ソフトタンパレジスタントモジュールを実現するための共通鍵であるバインディング鍵と、バインディングライセンスに対する制御情報であるACmb,ACpbと、バインディングライセンス用のトランザクションIDであるトランザクションIDbと、バインディングID用のダミーであるコンテンツIDbと、トランザクションIDbとコンテンツIDbとの総称であるバインディングIDとから成る。すなわち、ライセンス管理デバイスにライセンスとして記録することを前提としているため、ライセンスと同じ構成を持つ。
【0138】
バインディング鍵Kbは、ソフトウエアによって取得された暗号化コンテンツデータのライセンスを管理するものであり、ハードウエアによって保持される。そして、ハードウエアによって保持されたバインディング鍵Kbによらなければライセンスを取出すことができないものである。また、制御情報ACmb,ACpbは、暗号化コンテンツデータを再生するライセンスに含まれるACm,ACpに相当するもので、固定値を持つ。ACmbは、ライセンスの再生回数制限無し、移動複製禁止、かつ、セキュリティレベル1を表し、ACpbは、再生期限が無期限であることを表す。
【0139】
チェックアウト管理情報は、チェックアウト可能数と、チェックアウト先個別IDと、チェックアウト時トランザクションIDとから成る。チェックアウト可能数は、暗号化コンテンツデータを貸出すことができる回数を示すものであり、暗号化コンテンツデータをチェックアウトする毎に数値が1づつ減じられ、暗号化コンテンツデータをチェックインする毎に数値が1づつ増加されるものである。また、チェックアウト先個別IDは、暗号化コンテンツデータをチェックアウトするメモリカードを特定する識別情報であり、メモリカードが保持する個別公開暗号鍵KPmcxが該当する。チェックアウト時トランザクションIDは、チェックアウトするときに用いられるローカル使用のトランザクションIDである。
【0140】
図5は、図1に示した配信サーバ10の構成を示す概略ブロック図である。
配信サーバ10は、コンテンツデータを所定の方式に従って暗号化したデータや、コンテンツID等の配信情報を保持するための情報データベース304と、パーソナルコンピュータの各ユーザごとにコンテンツデータへのアクセス開始に従った課金情報を保持するための課金データベース302と、禁止クラスリストCRLを管理するCRLデータベース306と、情報データベース304に保持されたコンテンツデータのメニューを保持するメニューデータベース307と、ライセンスの配信ごとにコンテンツデータおよびライセンス鍵等の配信を特定するトランザクションIDの配信に関する記録して、保持する配信記録データベース308と、情報データベース304、課金データベース302、CRLデータベース306、メニューデータベース307、および配信記録データベース308からのデータをバスBS1を介して受取り、所定の処理を行なうためのデータ処理部310と、通信網を介して、配信キャリア20とデータ処理部310との間でデータ授受を行なうための通信装置350とを備える。
【0141】
データ処理部310は、バスBS1上のデータに応じて、データ処理部310の動作を制御するための配信制御部315と、配信制御部315に制御されて、配信セッション時にセッションキーKs1を発生するためのセッションキー発生部316と、ライセンス管理デバイス、およびライセンス管理モジュールから送られてきた認証のための認証データ{KPmw//Cmw}KPaを復号するための公開認証鍵KPaを保持する認証鍵保持部313と、ライセンス管理デバイス、およびライセンス管理モジュールから送られてきた認証のための認証データ{KPmw//Cmw}KPaを通信装置350およびバスBS1を介して受けて、認証鍵保持部313からの公開認証鍵KPaによって復号処理を行なう復号処理部312と、セッションキー発生部316より生成されたセッションキーKs1を復号処理部312によって得られたクラス公開暗号鍵KPmwを用いて暗号化して、バスBS1に出力するための暗号化処理部318と、セッションキーKs1によって暗号化された上で送信されたデータをバスBS1より受けて、復号処理を行なう復号処理部320とを含む。
【0142】
データ処理部310は、さらに、配信制御部315から与えられるライセンス鍵Kcおよびアクセス制限情報ACmを、復号処理部320によって得られたメモリカード、ライセンス管理デバイス、およびライセンス管理モジュールの個別公開暗号鍵KPmcxによって暗号化するための暗号化処理部326と、暗号化処理部326の出力を、復号処理部320から与えられるセッションキーKs2によってさらに暗号化してバスBS1に出力するための暗号化処理部328とを含む。
【0143】
配信サーバが保持する認証鍵は、配信サーバが配信しようとするライセンスの要求する受信側のセキュリティレベルによって異なる。セキュリティレベル2を要求するレベル2ライセンスを配信する配信サーバにあっては、セキュリティレベルがレベル2の機器が送信してくる認証データに対して認証処理が可能な認証鍵KPa2を保持する。また、配信しようとするライセンスがセキュリティレベル1を要求するレベル1ライセンスを配信する配信サーバにあっては、セキュリティレベルがレベル2の機器およびセキュリティレベルがレベル1の機器のいずれに対しても配信可能であるため、レベル2およびレベル1のそれぞれに対応した認証鍵KPa2およびKPa1を保持し、相手のレベルに応じて使い分けることになる。さらには、送信された認証データが必要とする認証鍵は、クラス証明書Cmwの認証データとして暗号化されても、なお、平文として維持される領域に記載され配信サーバ10の配信制御部315が、復号処理部312にて復号前に容易に認証鍵を特定できる構成となっている。2つの認証鍵を区別するためにレベル2に対応した認証鍵KPa2をレベル2認証鍵KPa2、レベル1に対応した認証鍵KPa1を、レベル1認証鍵KPa1と称し、総じて認証鍵KPaと称する。
【0144】
配信サーバ10の配信セッションにおける動作については、後ほどフローチャートを使用して詳細に説明する。
【0145】
図6は、図1に示したパーソナルコンピュータ50の構成を説明するための概略ブロック図である。パーソナルコンピュータ50は、パーソナルコンピュータ50の各部のデータ授受を行なうためのバスBS2と、パーソナルコンピュータ内を制御すると共に、各種のプログラムを実行するためのコントローラ(CPU)510と、データバスBS2と、データバスBS2に接続され、プログラムやデータを記録し、蓄積しておくための大容量記録装置であるハードディスク(HDD)530およびCD−ROMドライブ540と、ユーザからの指示を入力するためのキーボード560と、各種の情報を視覚的にユーザに与えるためのディスプレイ570とを含む。
【0146】
パーソナルコンピュータ50は、さらに、暗号化コンテンツデータおよびライセンスを再生端末100等に通信する際にコントローラ510と端子580との間でデータの授受を制御するためのUSBインタフェース550と、USBケーブル70を接続するための端子580と、配信サーバ10とインタネット網30およびモデム40を介して通信する際にコントローラ510と端子585との間でデータの授受を制御するためのシリアルインタフェース555と、ケーブルによってモデム40と接続するための端子585とを含む。
【0147】
コントローラ510は、アプリケーションプログラムを実行することで、インターネット網30を介してライセンス管理デバイス520またはライセンス管理モジュール511に暗号化コンテンツデータ等を配信サーバ10から受信するために、配信サーバ10との間でデータの授受を制御するとともに、CD−ROMドライブ540を介して音楽CDからリッピングによって暗号化コンテンツデータおよびライセンスを取得する際の制御を行なう。
【0148】
さらに、パーソナルコンピュータ50は、配信サーバ10からの暗号化コンテンツデータおよびライセンスの受信を行なう際に配信サーバ10との間で各種の鍵のやり取りを行ない、配信された暗号化コンテンツデータを再生するためのライセンスをハード的に管理するライセンス管理デバイス520と、コントローラ510にて実行されるプログラムであって、配信サーバ10からの暗号化コンテンツデータおよびレベル1ライセンスの受信をプログラムによって実行し、受信したライセンスに独自の暗号化を施した専用ライセンスを生成するコンテンツ管理モジュール511とを含む。
【0149】
ライセンス管理デバイス520は、暗号化コンテンツデータおよびライセンスを配信サーバ10から受信する際のデータの授受をハード的に行ない、受信したライセンスをハード的に管理するものであるため、高いセキュリティレベルを要求するレベル2のライセンスを扱うことが出る。一方、ライセンス管理モジュール511は、暗号化コンテンツデータおよびライセンスを配信サーバ10から受信する際のデータの授受をコンロとローラ510にて実行されるプログラムを用いてソフト的に行ない、ライセンスの受信を、また、音楽CDからリッピングによってローカル使用の暗号化コンテンツデータおよびライセンスの生成を行い、取得したライセンスに対して暗号処理などを施して保護し、HDD530に蓄積して管理するものであるため、ライセンス管理デバイス520よりもセキュリティレベルが低い、レベル1ライセンスのみを扱う。なお、高いセキュリティレベルがレベル2である場合にはレベル1ライセンスも扱えることは言うまでもない。
【0150】
このように、パーソナルコンピュータ50は、配信サーバ10からインターネット網30を介して暗号化コンテンツデータおよびライセンスを受信するためのライセンス管理モジュール511およびライセンス管理デバイス520と、音楽CDからリッピングによって暗号化コンテンツデータおよびライセンスを取得するためのCD−ROMドライブ540とを内蔵するものである。
【0151】
図7は、図1に示した再生端末100の構成を説明するための概略ブロック図である。
【0152】
再生端末100は、再生端末100の各部のデータ授受を行なうためのバスBS3と、バスBS3を介して再生端末100の動作を制御するためのコントローラ1106と、外部からの指示を再生端末100に与えるための操作パネル1108と、コントローラ1106等から出力される情報を携帯電話ユーザに視覚情報として与えるための表示パネル1110とを含む。
【0153】
再生端末100は、さらに、配信サーバ10からのコンテンツデータ(音楽データ)を記憶しかつ復号化処理するための着脱可能なメモリカード110と、メモリカード110とバスBS3との間のデータの授受を制御するためのメモリインタフェース1200と、パーソナルコンピュータ50から暗号化コンテンツデータおよびライセンスを受信する際にバスBS3と端子1114との間のデータ授受を制御するためのUSBインタフェース1112と、USBケーブル70を接続するための端子1114とを含む。
【0154】
再生端末100は、さらに、再生端末の種類(クラス)ごとにそれぞれ設定される、クラス公開暗号鍵KPp1およびクラス証明書Cp1をクラス公開認証鍵KPaで復号することでその正当性を認証できる状態に暗号化した認証データ{KPp1//Cp1}KPa2を保持する認証データ保持部1500を含む。ここで、再生端末100のクラスyは、y=1であるとする。また、再生端末は、ハード的に機密性を保持できるコンテンツ再生デバイスを用いて再生を提供する機器であるためセキュリティレベルはレベル2である。
【0155】
再生端末100は、さらに、再生端末(コンテンツ再生デバイス)のクラス秘密復号鍵であるKp1を保持するKp1保持部1502と、バスBS3から受けたデータをKp1によって復号しメモリカード110によって発生されたセッションキーKs2を得る復号処理部1504とを含む。
【0156】
再生端末100は、さらに、メモリカード110に記憶されたコンテンツデータの再生を行なう再生セッションにおいてメモリカード110との間でバスBS3上においてやり取りされるデータを暗号化するためのセッションキーKs3を乱数等により発生するセッションキー発生部1508と、暗号化コンテンツデータの再生セッションにおいてメモリカード110からライセンス鍵Kcおよび再生期限ACpを受取る際に、セッションキー発生部1508により発生されたセッションキーKs3を復号処理部1504によって得られたセッションキーKs2によって暗号化しバスBS3に出力する暗号化処理部1506とを含む。
【0157】
再生端末100は、さらに、バスBS3上のデータをセッションキーKs3によって復号して、ライセンス鍵Kcおよび再生期限ACpを出力する復号処理部1510と、バスBS3より暗号化コンテンツデータ{Dc}Kcを受けて、復号処理部1510より取得したライセンス鍵Kcによって復号しコンテンツデータを出力する復号処理部1516と、復号処理部1516の出力を受けてコンテンツデータを再生するための音楽再生部1518と、音楽再生部1518の出力をディジタル信号からアナログ信号に変換するDA変換器1519と、DA変換器1519の出力をヘッドホーンなどの外部出力装置(図示省略)へ出力するための端子1530とを含む。
【0158】
なお、図7においては、点線で囲んだ領域は暗号化コンテンツデータを復号して音楽データを再生するコンテンツ再生デバイス1550を構成する。また、図7においては、説明の簡素化のため、再生端末のうち本発明の音楽データの再生にかかわるブロックのみを記載し、再生端末が本来備えている通話機能に関するブロックについては、一部記載を省略している。
【0159】
再生端末100の各構成部分の各セッションにおける動作については、後ほどフローチャートを使用して詳細に説明する。
【0160】
図8は、メモリカード110の構成を説明するための概略ブロック図である。
既に説明したように、メモリカードに固有の公開暗号鍵および秘密復号鍵として、KPmwおよびKmwが設けられ、メモリカードのクラス証明書Cmwが設けられるが、メモリカード110においては、メモリカードのクラスを識別する自然数w=3で、メモリカードを識別する自然数x=4でそれぞれ表わされるものとする。また、メモリカード110は、ハード的に機密性を保持する機器であるためセキュリティレベルは2である。
【0161】
したがって、メモリカード110は、認証データ{KPm3//Cm3}KPa2を保持する認証データ保持部1400と、メモリカードごとに設定される固有の復号鍵である個別秘密復号鍵Kmc4を保持するKmc保持部1402と、メモリカードの種類ごとに設定される固有のクラス秘密復号鍵Km3を保持するKm保持部1421と、個別秘密復号鍵Kmc4によって復号可能な公開暗号鍵KPmc4を保持するKPmc保持部1416とを含む。
【0162】
このように、メモリカードという記録装置の暗号鍵を設けることによって、以下の説明で明らかになるように、配信されたコンテンツデータや暗号化されたライセンス鍵の管理をメモリカード単位で実行することが可能になる。
【0163】
メモリカード110は、さらに、メモリインタフェース1200との間で信号を端子1426を介して授受するインタフェース1424と、インタフェース1424との間で信号をやり取りするバスBS4と、バスBS4にインタフェース1424から与えられるデータから、メモリカードの種類ごとに固有のクラス秘密復号鍵Km3をKm保持部1421から受けて、配信サーバ10が配信セッションにおいて生成したセッションキーKs1を接点Paに出力する復号処理部1422と、KPa保持部1414からレベル2認証鍵KPa2を受けて、バスBS4に与えられるデータからレベル2認証鍵KPa2による復号処理を実行して復号結果と得られたクラス証明書をコントローラ1420に、得られたクラス公開鍵を暗号化処理部1410に出力する復号処理部1408と、切換スイッチ1442によって選択的に与えられる鍵によって、切換スイッチ1446によって選択的に与えられるデータを暗号化してバスBS4に出力する暗号化処理部1406とを含む。
【0164】
メモリカード110は、さらに、各セッションにおいてセッションキーKs2を発生するセッションキー発生部1418と、セッションキー発生部1418の出力したセッションキーKs2を復号処理部1408によって得られるクラス公開暗号鍵KPpyもしくはKPmwによって暗号化してバスBS4に送出する暗号化処理部1410と、バスBS4よりセッションキーKs2によって暗号化されたデータを受けてセッションキー発生部1418より得たセッションキーKs2によって復号する復号処理部1412と、暗号化コンテンツデータの再生セッションにおいてメモリ1415から読出されたライセンス鍵Kcおよび再生期限ACpを、復号処理部1412で復号された他のメモリカード110に固有の個別公開暗号鍵KPmcx(≠4)で暗号化する暗号処理部1417とを含む。
【0165】
メモリカード110は、さらに、バスBS4上のデータを個別公開暗号鍵KPmc4と対をなすメモリカード110固有の個別秘密復号鍵Kmc4によって復号するための復号処理部1404と、禁止クラスリストデータCRLと、暗号化コンテンツデータ{Dc}Kcと、暗号化コンテンツデータ{Dc}Kcを再生するためのライセンス(Kc,ACp,ACm,ライセンスID)と、付加情報Data−infと、暗号化コンテンツデータの再生リストファイルと、ライセンスを管理するためのライセンス管理ファイルとをバスBS4より受けて格納するためのメモリ1415とを含む。メモリ1415は、例えば半導体メモリによって構成される。また、メモリ1515は、禁止クラスリストCRLを記録するためのCRL領域1415Aと、ライセンスを記録するライセンス領域1415Bと、暗号化コンテンツデータ{Dc}Kc、暗号化コンテンツデータの関連情報Dc−inf、メモリカードに記録された暗号化コンテンツデータやライセンスをアクセスするための基本的な情報を記録する再生リストファイル、およびライセンスを管理するために必要な情報を暗号化コンテンツデータごとに記録するライセンス管理ファイルを記録する外部から直接アクセスが可能なデータ領域1415Cとから成る。ライセンス管理ファイルおよび再生リストファイルの詳細については後述する。
【0166】
また、ライセンス領域1415Bは、ライセンス(コンテンツ鍵Kc、再生制御情報ACp、アクセス制限情報ACm、ライセンスID)を記録するためにエントリと呼ばれるライセンス専用の記録単位でライセンスを格納する。ライセンスに対してアクセスする場合には、ライセンスが格納されている、あるいは、ライセンスを記録したいエントリをエントリ番号によって指定する構成になっている。
【0167】
メモリカード110は、さらに、バスBS4を介して外部との間でデータ授受を行ない、バスBS4との間で再生情報等を受けて、メモリカード110の動作を制御するためのコントローラ1420とを含む。
【0168】
なお、データ領域1415Cを除く全ての構成は、耐タンパモジュール領域に構成される。
【0169】
図9は、パーソナルコンピュータ50に内蔵されたライセンス管理デバイス520の構成を示す概略ブロック図である。ライセンス管理デバイス520は、メモカード110におけるデータ領域1415Cに相当する領域を必要としない点、インタフェース1424の機能および端子1426の形状が異なるインタフェース5224と端子5226とを備える点が異なるのみで、基本的にメモリカード110と同じ構成から成る。ライセンス管理デバイス520の認証データ保持部5200、Kmc保持部5202、復号処理部5204、暗号処理部5206、復号処理部5208、暗号処理部5210、復号処理部5212、KPa保持部5214、KPmc保持部5216、暗号処理部5217、セッションキー発生部5218、コントローラ5220、Km保持部5221、復号処理部5222、インタフェース5224、端子5226、切換スイッチ5242,5246は、それぞれ、メモリカード110の認証データ保持部1400、Kmc保持部1402、復号処理部1404、暗号処理部1406、復号処理部1408、暗号処理部1410、復号処理部1412、KPa保持部1414、KPmc保持部1416、暗号処理部1417、セッションキー発生部1418、コントローラ1420、Km保持部1421、復号処理部1422、切換スイッチ1442,1446と同じである。ただし、認証データ保持部5200は、認証データ{KPm7//Cm7}KPa2を保持し、KPmc保持部5216は、個別公開暗号鍵KPm8を保持し、Km保持部5202は、クラス秘密復号鍵Km7を保持し、Kmc保持部5221は、個別秘密復号鍵Kmc8を保持する。ライセンス管理デバイス520のクラスを表す自然数wはw=7であり、ライセンス管理デバイス520を識別するための自然数xはx=8であるとする。
【0170】
ライセンス管理デバイス520は、禁止クラスリストCRLとライセンス(Kc,ACp,ACm,ライセンスID)とを記録するメモリ5215を、メモリカード110のメモリ1415に代えて含む。メモリ5215は、禁止クラスリストCRLを記録したCRL領域5215Aと、ライセンスを記録したライセンス領域5215Bとから成る。
【0171】
さらに、ライセンス管理デバイス520は、ライセンス管理モジュール511が利用するバインディングライセンスを保持する必要がある。したがって、KPa保持部5214は、2つの認証鍵KPa2およびKPa1を保持する。異なるレベルからの制御については、後ほどフローチャートを使用して詳細に説明する。
【0172】
更に、ライセンス管理モジュール511はライセンスを管理するプログラムであり、セキュリティレベルは1である。また、ライセンス管理モジュール511は、ライセンス管理デバイス520とほぼ同一の構成を持つ管理プログラムなのでライセンス管理モジュール511のクラスを表す自然数wはw=5であり、ライセンス管理デバイス520を識別するための自然数xはx=6であるとする。したがって、ライセンス管理モジュール511は、認証データ{KPm5//Cm5}KPa1、個別公開暗号鍵KPm6、クラス秘密復号鍵Km5、個別秘密復号鍵Kmc6を保持する。また、2つの認証鍵KPa2およびKPa1を保持する。
【0173】
以下、図1に示すデータ配信システムにおける各セッションの動作について説明する。
【0174】
[初期化]
パーソナルコンピュータ50が配信サーバ10から暗号化コンテンツデータおよびライセンスの配信を受ける前に行なわれる初期化について説明する。
【0175】
図10〜図12は、パーソナルコンピュータ50が暗号化コンテンツデータおよびライセンスを配信サーバ10から受信する前に行なわれる初期化を説明するための第1〜第3のフローチャートである。
【0176】
図10を参照して、バイディングライセンスの生成がキーボード560を介してリクエストされると(ステップS10)、ライセンス管理モジュール511は、バインディング鍵Kbを生成し(ステップS12)、次いで、トランザクションIDb、コンテンツIDb、所定の制御情報ACmbおよびACpbを生成する(ステップS14)。ステップS12,S14はバインディングライセンスの生成処理である。
【0177】
そして、ライセンス管理モジュール511は、ライセンス管理デバイス520に対してバスBS2を介して認証データの出力を指示する(ステップS16)。
【0178】
そうすると、ライセンス管理デバイス520のコントローラ5220は、端子5226、インタフェース5224、およびバスBS5を介して認証データの出力指示を受取り、認証データ保持部5200からバスBS5を介して認証データ{KPm7//Cm7}KPa2を取得し、バスBS5、インタフェース5224および端子5226を介して認証データ{KPm7//Cm7}KPa2を出力する(ステップS18)。ライセンス管理モジュール511は、バスBS2を介して認証データ{KPm7//Cm7}KPa2を受信し(ステップS20)、認証データ{KPm7//Cm7}KPaをレベル2認証鍵KPa2によって復号する(ステップS22)。
【0179】
ライセンス管理モジュール511は、復号処理結果から、処理が正常に行なわれたか否か、すなわち、ライセンス管理デバイス520が正規のライセンス管デバイスからの公開暗号鍵KPm7と証明書Cm7とを保持することを認証するために、正規の機関でその正当性を証明するための暗号を施した認証データを受信したか否かを判断する認証処理を行なう(ステップS24)。正当な認証データであると判断された場合、ライセンス管理モジュール511は、公開暗号鍵KPm7および証明書Cm7を承認し、受理する。そして、次の処理(ステップS26)へ移行する。正当な認証データでない場合には、非承認とし、公開暗号鍵KPm7および証明書Cm7を受理しないで処理を終了する(ステップS68)。
【0180】
認証の結果、正規の機器であることが認識されると、ライセンス管理モジュール511は、次に、ライセンス管理デバイスのクラス証明書Cm7が禁止クラスリストCRLにリストアップされているかどうかをハードディスク(HDD)530に照会し、これらのクラス証明書が禁止クラスリストの対象になっている場合には、ここで初期化を終了する(ステップS68)。
【0181】
一方、ライセンス管理デバイス520のクラス証明書が禁止クラスリストの対象外である場合には次の処理に移行する(ステップS26)。
【0182】
認証の結果、正当な認証データを持つライセンス管理デバイスからのアクセスであり、クラスが禁止クラスリストの対象外であることが確認されると、ライセンス管理モジュール511は、セッションキーKs2aを生成する(ステップS28)。
【0183】
図11を参照して、ライセンス管理モジュール511は、セッションキーKs2aをクラス公開暗号鍵KPm7によって暗号化して暗号化データ{Ks2a}Km7を生成し(ステップS30)、暗号化データ{Ks2a}Km7をバスBS2を介してライセンス管理デバイス520へ出力する(ステップS32)。ライセンス管理デバイス520のコントローラ5220は、端子5226、インタフェース5224、およびバスBS5を介して暗号化データ{Ks2a}Km7を受け、復号処理部5222は、Km保持部5221から出力されるクラス秘密復号鍵Km7によって暗号化データ{Ks2a}Km7を復号してセッションキーKs2aを受理する(ステップS34)。コントローラ5220は、セッションキーKs2aを受理したことに伴い、セッションキー発生部5218を制御してセッションキーKs2bを発生させる。そうすると、セッションキー発生部5218は、セッションキーKs2bを生成し(ステップS36)、コントローラ5220は、バスBS5を介してメモリ5215のCRL領域5215Aから禁止クラスリストCRLの更新日時CRLdateを取得し、その取得した更新日時CRLdateをバスBS5を介して切換スイッチ5246へ出力する(ステップS38)。そすすると、暗号処理部5206は、切換スイッチ5246を順次切換えることによって受取ったセッションキーKs2b、個別公開暗号鍵KPmc8および更新日時CRLdateを復号処理部5222からのセッションキーKs2aによって暗号化する。コントローラ5220は、バスBS5上の暗号化データ{Ks2b//KPmc8//CRLdate}Ks2aをインタフェース5224および端子5226を介して出力する(ステップS40)。
【0184】
ライセンス管理モジュール511は、バスBS2を介して暗号化データ{Ks2b//KPmc8//CRLdate}Ks2aを受取り、暗号化データ{Ks2b//KPmc8//CRLdate}Ks2aをセッションキーKs2aによって復号してセッションキーKs2b、個別公開暗号鍵KPmc8、および更新日時CRLdateを受理する(ステップS42)。そして、ライセンス管理モジュール511は、ステップS12,S14で生成したバインディングライセンス(トランザクションIDb、コンテンツIDb、バインディング鍵Kb、および制御情報ACmb、ACpb)を公開暗号鍵KPmc8によって暗号化して暗号化データ{トランザクションIDb//コンテンツIDb//Kb//ACmb//ACpb}Kmc8を生成する(ステップS44)。
【0185】
図12を参照して、ライセンス管理モジュール511において、ライセンス管理デバイス520から送信された禁止クラスリストの更新日時CRLdateがハードディスク(HDD)530に保持されている禁止クラスリストCRLの更新日時から、いずれが保持する禁止クラスリストが新しいかが比較される。ライセンス管理デバイス520の禁止クラスリストCRLの方が新しいとき、ステップS48へ移行する。また、逆に、ライセンス管理モジュール511の禁止クラスリストCRLの方が新しいときはステップS52へ移行する(ステップS46)。
【0186】
ライセンス管理デバイス520の禁止クラスリストCRLの方が新しいと判断されたとき、ライセンス管理モジュール511は、暗号化データ{トランザクションIDb//コンテンツIDb//Kb//ACmb//ACpb}Kmc8をライセンス管理デバイス520において発生されたセッションキーKs2bによって暗号化を行い、暗号化データ{{トランザクションIDb//コンテンツIDb//Kb//ACmb//ACpb}Kmc8}Ks2bをバスBS2を介してライセンス管理デバイス520へ出力する(ステップS48)。
【0187】
そして、ライセンス管理デバイス520のコントローラ5220は、暗号化データ{{トランザクションIDb//コンテンツIDb//Kb//ACmb//ACpb}Kmc8}Ks2bを端子5226およびインタフェース5224を介して受取り、セッションキー発生部5218によって発生されたセッションキーKs2bによって復号し、{トランザクションIDb//コンテンツIDb//Kc//ACmb//ACpb}Kmc8を受理する(ステップS50)。その後、ステップS60へ移行する。
【0188】
一方、ライセンス管理モジュール511において、ライセンス管理モジュール511の禁止クラスリストCRLの方が新しいと判断されると、ライセンス管理モジュール511は、ライセンス管理デバイス520が保持する禁止クラスリストCRLを更新するため、バスBS2を介してHDD530から更新日時CRLdate以降の更新分を差分CRLとして取得する(ステップS52)。
【0189】
そして、ライセンス管理モジュール511は、禁止クラスリストの差分CRLと暗号化データ{トランザクションIDb//コンテンツIDb//Kb//ACmb//ACpb}Kmc8とを、ライセンス管理デバイス520において生成されたセッションキーKs2bによって暗号化し、暗号化データ{CRLdate//{トランザクションIDb//コンテンツIDb//Kb//ACmb//ACpb}Kmc8}Ks2bをバスBS2を介してライセンス管理デバイス520へ出力する(ステップS54)。
【0190】
ライセンス管理デバイス520のコントローラ5220は、端子5226およびインタフェース5224を介して、バスBS5に与えられた受信データを復号処理部5212によって復号する。復号処理部5212は、セッションキー発生部5218から与えられたセッションキーKs2bを用いてバスBS5の受信データを復号しバスBS5に出力する(ステップS56)。
【0191】
この段階で、バスBS5には、Kmc保持部5221に保持される個別秘密復号鍵Kmc8で復号可能な{トランザクションIDb//コンテンツIDb//Kb//ACmb//ACpb}Kmc8と、差分CRLとが出力される(ステップS56)。コントローラ5220の指示によって受理した差分CRLによってメモリ5215内のCRL領域5215Aを差分CRLに基づいて更新する(ステップS58)。
【0192】
ステップS48,S50は、送信側のライセンス管理モジュール511の禁止クラスリストCRLより、受信側のライセンス管理デバイス520の禁止クラスリストCRLが新しい場合のバインディング鍵Kb等のライセンス管理デバイス520への送信動作であり、ステップS52,S54,S56,S58は、受信側のライセンス管理デバイス520の禁止クラスリストCRLより、送信側のライセンス管理モジュール511の禁止クラスリストCRLが新しい場合のバインディング鍵Kb等のライセンス管理デバイス520への送信動作である。このように、ライセンス管理デバイス520から送られてきた禁止クラスリストの更新日時CRLdateを比較し、受信側の禁止クラスリストCRLが送信側の禁止クラスリストCRLより古いとき、禁止クラスリストの差分データである差分CRLをHDD530から取得し、差分CRLをライセンス管理デバイス520に配信することによって、常に新しい禁止クラスリストCRLを保持させるようにしている。
【0193】
ステップS50またはステップS58の後、コントローラ5220の指示によって、暗号化データ{トランザクションIDb//コンテンツIDb//Kb//ACmb//ACpb}Kmc8は、復号処理部5204において、秘密復号鍵Kmc8によって復号され、バインディングライセンス(バインディング鍵Kb、トランザクションIDb、コンテンツIDb、制御情報ACmZ,ACp)が受理される(ステップS60)。
【0194】
そして、ライセンス管理モジュール511は、バインディングライセンスを格納するためのエントリ番号「0」をライセンス管理デバイス520へ入力し(ステップS62)、ライセンス管理デバイス520のコントローラ5220は、端子5226、インタフェース5224、およびバスBS5を介してエントリー番号「0」を受取り、メモリ5215のライセンス領域5215Bのうち、受取ったエントリ番号「0」によって指定された領域にバイディングライセンス(トランザクションIDb、コンテンツIDb、バインディング鍵Kb、制御情報ACmb,ACpb)を格納する(ステップS64)。
【0195】
ライセンス管理モジュール511が、バインディング鍵Kbを記録するためにライセンス管理デバイス520の領域を確認し、登録の準備を行なう図10のステップ16から図11のステップ42までの一連の処理を「デバイス確認処理」、バインディング鍵Kbをライセンス管理デバイス520のライセンス領域5215Bに格納する図11のステップS44から図12のステップS64までの一連の処理を「バインディング鍵登録処理」と称する。
【0196】
一方、ライセンス管理モジュール511は、機密情報(レベル1ライセンスおよびチェックアウト情報)が空な平文の機密ファイルを生成し、バインディング鍵Kbによって機密ファイルを暗号化した暗号化機密ファイル160を生成して暗号化機密ファイル160をHDD530に記録し(ステップS66)、初期化の動作を終了する(ステップS68)。
【0197】
このように、パーソナルコンピュータ50のライセンス管理モジュール511は、初期化動作において、バインディングライセンスを生成し、ライセンス管理デバイス520におけるメモリ5215のライセンス領域5215Bのうち、エントリ番号「0」によって指定される領域に生成したバインディングライセンスを格納するとともに、生成したバインディングライセンスに含まれるバインディング鍵Kbによって機密ファイルを暗号化した暗号化機密ファイル160を生成する。そして、この暗号化機密ファイル160は、ライセンス管理モジュール511によって配信サーバ10から受信したライセンスを格納するためのものである。また、このようにバインディング鍵Kbによって機密ファイルを暗号化することによりバインディング鍵Kbがないと暗号化機密ファイル160からライセンスを取出すことができないため、バインディング鍵Kbは暗号化コンテンツデータのライセンスを管理するための共通鍵である。そして、このバインディング鍵Kbはライセンス管理デバイス520のメモリ5215に格納されているため、バインディング鍵Kbをハードウエアによって管理することができる。その結果、バインディング鍵Kbを介してHDD530に記録された暗号化機密ファイル160でソフト的に管理される暗号化コンテンツデータのライセンスをハードウエアによって管理することになる。したがって、後述するように、ソフトウエアによって受信された暗号化コンテンツデータおよびライセンスを他のパーソナルコンピュータ80へ移動できる。
【0198】
[配信1]
次に、図1に示すデータ配信システムにおいて、配信サーバ10からパーソナルコンピュータ50のライセンス管理デバイス520へ暗号化コンテンツデータおよびセキュリティレベル2を要求するレベル2ライセンスを配信する動作について説明する。なお、この動作を「配信1」という。
【0199】
図13〜図16は、図1に示すデータ配信システムにおける暗号化コンテンツデータの購入時に発生するパーソナルコンピュータ50に内蔵されたライセンス管理デバイス520への配信動作(以下、配信セッションともいう)を説明するための第1〜第4のフローチャートである。
【0200】
図13における処理以前に、パーソナルコンピュータ50のユーザは、配信サーバ10に対してモデム40を介して接続し、購入を希望するコンテンツに対するコンテンツIDを取得していることを前提としている。
【0201】
図13を参照して、パーソナルコンピュータ50のユーザからキーボード560を介してコンテンツIDの指定による配信リクエストがなされる(ステップS100)。そして、キーボード560を介して暗号化コンテンツデータのライセンスを購入するための購入条件ACが入力される(ステップS102)。つまり、選択した暗号化コンテンツデータを復号するライセンス鍵Kcを購入するために、暗号化コンテンツデータのアクセス制限情報ACm、および再生期限ACpを設定して購入条件ACが入力される。
【0202】
暗号化コンテンツデータの購入条件ACが入力されると、コントローラ510は、バスBS2を介してライセンス管理デバイス520へ認証データの出力指示を与える(ステップS104)。ライセンス管理デバイス520のコントローラ5220は、端子5226、インタフェース5224およびバスBS5を介して認証データの出力指示を受取る。そして、コントローラ5220は、バスBS5を介して認証データ保持部5200から認証データ{KPm7//Cm7}KPa2を読出し、{KPm7//Cm7}KPa2をバスBS5、インタフェース5224および端子5226を介して出力する(ステップS106)。
【0203】
パーソナルコンピュータ50のコントローラ510は、ライセンス管理デバイス520からの認証データ{KPm7//Cm7}KPa2に加えて、コンテンツID、ライセンス購入条件のデータAC、および配信リクエストを配信サーバ10に対して送信する(ステップS108)。
【0204】
配信サーバ10では、パーソナルコンピュータ50から配信リクエスト、コンテンツID、認証データ{KPm7//Cm7}KPa2、およびライセンス購入条件のデータACを受信し(ステップS110)、復号処理部312においてライセンス管理デバイス520から出力された認証データをレベル2認証鍵KPaで復号処理を実行する(ステップS112)。
【0205】
配信制御部315は、復号処理部312における復号処理結果から、正規の機関でその正当性を証明するための暗号を施した認証データを受信したか否かを判断する認証処理を行なう(ステップS114)。正当な認証データであると判断された場合、配信制御部315は、クラス公開暗号鍵KPm7およびクラス証明書Cm7を承認し、受理する。そして、次の処理(ステップS116)へ移行する。正当な認証データでない場合には、非承認とし、クラス公開暗号鍵KPm7およびクラス証明書Cm7を受理しないで配信セッションを終了する(ステップS198)。仮に、レベル1からの配信要求を行っていたとすると、レベル2認証鍵KPa2では、レベル1の認証データを認証することができないためここで処理は終了する。
【0206】
認証の結果、正規の認証データであり、クラス公開暗号鍵KPm7およびクラス証明書Cm7を承認されると、配信制御部315は、次に、ライセンス管理デバイスのクラス証明書Cm7が禁止クラスリストCRLにリストアップされているかどうかをCRLデータベース306に照会し、これらのクラス証明書が禁止クラスリストの対象になっている場合には、ここで配信セッションを終了する(ステップS198)。
【0207】
一方、ライセンス管理デバイス520のクラス証明書が禁止クラスリストの対象外である場合には次の処理に移行する(ステップS116)。
【0208】
認証の結果、正当な認証データを持つライセンス管理デバイスを備えるパーソナルコンピュータからのアクセスであり、クラスが禁止クラスリストの対象外であることが確認されると、配信サーバ10において、配信制御部315は、配信を特定するための管理コードであるトランザクションIDを生成する(ステップS118)。また、セッションキー発生部316は、配信のためのセッションキーKs1を生成する(ステップS120)。セッションキーKs1は、復号処理部312によって得られたライセンス管理デバイス520に対応するクラス公開暗号鍵KPm7によって、暗号化処理部318によって暗号化される(ステップS122)。
【0209】
トランザクションIDおよび暗号化されたセッションキーKs1は、トランザクションID//{Ks1}Km7として、バスBS1および通信装置350を介して外部に出力される(ステップS124)。
【0210】
図14を参照して、パーソナルコンピュータ50が、トランザクションID//{Ks1}Km7を受信すると(ステップS126)、コントローラ510は、トランザクションID//{Ks1}Km7をライセンス管理デバイス520に入力する(ステップS128)。そうすると、ライセンス管理デバイス520においては、端子5226およびインタフェース5224を介して、バスBS5に与えられた受信データを、復号処理部5222が、保持部5221に保持されるライセンス管理デバイス520にクラス秘密復号鍵Km7により復号処理することにより、セッションキーKs1を復号し、セッションキーKs1を受理する(ステップS130)。
【0211】
コントローラ5220は、配信サーバ10で生成されたセッションキーKs1の受理を確認すると、セッションキー発生部5218に対してライセンス管理デバイス520において配信動作時に生成されるセッションキーKs2の生成を指示する。そして、セッションキー発生部5218は、セッションキーKs2を生成する(ステップS132)。
【0212】
また、配信セッションにおいては、コントローラ5220は、ライセンス管理デバイス520内のメモリ5215に記録されている禁止クラスリストCRLから更新日時CRLdateをメモリ1415から抽出して切換スイッチ5246に出力する(ステップS134)。
【0213】
暗号化処理部5206は、切換スイッチ5242の接点Paを介して復号処理部5222より与えられるセッションキーKs1によって、切換スイッチ5246の接点を順次切換えることによって与えられるセッションキーKs2、個別公開暗号鍵KPmc8および禁止クラスリストの更新日時CRLdateを1つのデータ列として暗号化して、{Ks2//KPmc8//CRLdate}Ks1をバスBS3に出力する(ステップS136)。
【0214】
バスBS3に出力された暗号化データ{Ks2//KPmc8//CRLdate}Ks1は、バスBS3からインタフェース5224および端子5226を介してパーソナルコンピュータ50に出力され、パーソナルコンピュータ50から配信サーバ10に送信される(ステップS138)。
【0215】
配信サーバ10は、トランザクションID//{Ks2//KPmc8//CRLdate}Ks1を受信して、復号処理部320においてセッションキーKs1による復号処理を実行し、ライセンス管理デバイス520で生成されたセッションキーKs2、ライセンス管理デバイス520固有の個別公開暗号鍵KPmc8およびライセンス管理デバイス520における禁止クラスリストの更新日時CRLdateを受理する(ステップS142)。
【0216】
配信制御部315は、ステップS110で取得したコンテンツIDおよびライセンス購入条件ACに従って、アクセス制限情報ACmおよび再生期限ACpを生成する(ステップS144)。さらに、暗号化コンテンツデータを復号するためのライセンス鍵Kcを情報データベース304より取得する(ステップS146)。
【0217】
配信制御部315は、生成したライセンス、すなわち、トランザクションID、コンテンツID、ライセンス鍵Kc、再生期限ACp、およびアクセス制限情報ACmを暗号化処理部326に与える。暗号化処理部326は、復号処理部320によって得られたライセンス管理デバイス520固有の個別公開暗号鍵KPmc8によってライセンスを暗号化して暗号化データ{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc8を生成する(ステップS148)。
【0218】
図15を参照して、配信サーバ10において、ライセンス管理デバイス520から送信された禁止クラスリストの更新日時CRLdateを、CRLデータベース306に保持される配信サーバ10の禁止クラスリストCRLの更新日時と比較することによって、ライセンス管理デバイス520は保持する禁止クラスリストCRLが最新か否かが判断され、最新と判断されたとき、ステップS152へ移行する。また、最新でないときはステップS160へ移行する(ステップS150)。
【0219】
最新と判断されたとき、暗号化処理部328は、暗号化処理部326から出力された暗号化データ{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc8をライセンス管理デバイス520において発生されたセッションキーKs2によって暗号化を行い、暗号化データ{{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc8}Ks2をバスBS1に出力する。そして、配信制御部315は、バスBS1上の暗号化データ{{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc8}Ks2を通信装置350を介してパーソナルコンピュータ50へ送信する(ステップS152)。
【0220】
そして、パーソナルコンピュータ50のコントローラ510は、暗号化データ{{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc8}Ks2を受信し(ステップS154)、バスBS5を介してライセンス管理デバイス520に入力する。ライセンス管理デバイス520の復号処理部5212は、暗号化データ{{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc8}Ks2を端子5226およびインタフェース5224を介して受取り、セッションキー発生部5218によって発生されたセッションキーKs2によって復号し、{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc8を受理する(ステップS158)。その後、ステップS172へ移行する。
【0221】
一方、最新でないと判断されると、配信制御部315は、バスBS1を介してCRLデータベース306から最新の禁止クラスリストCRLを取得し、差分データである差分CRLを生成する(ステップS160)。
【0222】
暗号化処理部328は、暗号化処理部326の出力と、配信制御部315がバスBS1を介して供給する禁止クラスリストの差分CRLとを受けて、ライセンス管理デバイス520において生成されたセッションキーKs2によって暗号化する。暗号化処理部328より出力された暗号化データ{差分CRL//{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc8}Ks2は、バスBS1および通信装置350を介してパーソナルコンピュータ50に送信される(ステップS162)。
【0223】
パーソナルコンピュータ50は、送信された暗号化データ{差分CRL//{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc8}Ks2を受信し(ステップS164)、バスBS5を介してライセンス管理デバイス520に入力する(ステップS166)。ライセンス管理デバイス520においては、端子5226およびインタフェース5224を介して、バスBS5に与えられた受信データを復号処理部5212によって復号する。復号処理部5212は、セッションキー発生部5218から与えられたセッションキーKs2を用いてバスBS5の受信データを復号しバスBS5に出力する(ステップS168)。
【0224】
この段階で、バスBS5には、Kmc保持部5221に保持される秘密復号鍵Kmc8で復号可能な暗号化ライセンス{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc8}と、差分CRLとが出力される(ステップS168)。コントローラ5220の指示によって受理した差分CRLによってメモリ5215内のCRL領域5215Aを差分CRLに基づいて更新する(ステップS170)。
【0225】
ステップS152,S154,S156,S158は、ライセンス管理デバイス520が保持する禁止クラスリストCRLが最新の場合のライセンス鍵Kc等のライセンス管理デバイス520への配信動作であり、ステップS160,S162,S164,S166,S168,S170は、ライセンス管理デバイス520が保持する禁止クラスリストCRLが最新でない場合のライセンス鍵Kc等のライセンス管理デバイス520への配信動作である。このように、ライセンス管理デバイス520から送られてきた禁止クラスリストの更新日時CRLdateが最新の更新日時か否かを、逐一、確認し、最新でないとき、最新の禁止クラスリストCRLdateをCRLデータベース306から取得し、差分CRLをライセンス管理デバイス520に配信することによって、ライセンスの破られたライセンス管理デバイスへの配信したライセンスの流出を防止できる。
【0226】
ステップS158またはステップS170の後、コントローラ5220の指示によって、暗号化ライセンス{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc8は、復号処理部5204において、個別秘密復号鍵Kmc8によって復号され、ライセンス(ライセンス鍵Kc、トランザクションID、コンテンツID、アクセス制限情報ACmおよび再生期限ACp)が受理される(ステップS172)。
【0227】
図16を参照して、コントローラ510は、ライセンス管理デバイス520が受理したライセンスを格納するエントリを指示するためのエントリ番号を、ライセンス管理デバイス520に入力する(ステップS174)。そうすると、ライセンス管理デバイス520のコントローラ5220は、端子5226およびインタフェース5224を介してエントリ番号を受取り、その受取ったエントリ番号によって指定されるメモリ5215のライセンス領域5215Bに、ステップS172において取得したライセンス(ライセンス鍵Kc、トランザクションID、コンテンツID、アクセス制限情報ACmおよび再生期限ACp)を格納する(ステップS176)。
【0228】
パーソナルコンピュータ50のコントローラ510は、配信サーバ10から送られたトランザクションIDと、暗号化コンテンツデータの配信要求を配信サーバ10へ送信する(ステップS178)。
【0229】
配信サーバ10は、トランザクションIDおよび暗号化コンテンツデータの配信要求を受信し(ステップS180)、情報データベース304より、暗号化コンテンツデータ{Dc}Kcおよび付加情報Dc−infを取得して、これらのデータをバスBS1および通信装置350を介して出力する(ステップS182)。
【0230】
パーソナルコンピュータ50は、{Dc}Kc//Dc−infを受信して、暗号化コンテンツデータ{Dc}Kcおよび付加情報Dc−infを受理する(ステップS184)。そうすると、コントローラ510は、暗号化コンテンツデータ{Dc}Kcおよび付加情報Dc−infを1つのコンテンツファイルとしてバスBS2を介してハードディスク(HDD)530に記録する(ステップS186)。また、コントローラ510は、ライセンス管理デバイス520に格納されたライセンスのエントリ番号と、平文のトランザクションIDおよびコンテンツIDを含む暗号化コンテンツデータ{Dc}Kcと付加情報Dc−infに対するライセンス管理ファイルを生成し、バスBS2を介してHDD530に記録する(ステップS188)。さらに、コントローラ510は、HDD530に記録されているコンテンツリストファイルに受理したコンテンツの情報として、記録したコンテンツファイル及びライセンス管理ファイルの名称や、付加情報Dc−infから抽出した暗号化コンテンツデータに関する情報(曲名、アーティスト名)等を追記し(ステップS190)、トランザクションIDと配信受理を配信サーバ10へ送信する(ステップS192)。
【0231】
配信サーバ10は、トランザクションID//配信受理を受信すると(ステップS194)、課金データベース302への課金データの格納、およびトランザクションIDの配信記録データベース308への記録が行われて配信終了の処理が実行され(ステップS196)、全体の処理が終了する(ステップS198)。
【0232】
このようにして、パーソナルコンピュータ50に内蔵されたライセンス管理デバイス50が正規の認証データを保持する機器であること、同時に、クラス証明書Cm7とともに暗号化して送信できた公開暗号鍵KPm7が有効であることを確認した上で、クラス証明書Cm7が禁止クラスリスト、すなわち、公開暗号鍵KPm7による暗号化が破られたクラス証明書リストに記載されていないライセンス管理デバイスからの配信要求に対してのみコンテンツデータを配信することができ、不正なライセンス管理デバイスへの配信および解読されたクラス鍵を用いた配信を禁止することができる。
【0233】
また、配信サーバおよびライセンス管理デバイスでそれぞれ生成される暗号鍵をやり取りし、お互いが受領した暗号鍵を用いた暗号化を実行して、その暗号化データを相手方に送信することによって、それぞれの暗号化データの送受信においても事実上の相互認証を行なうことができ、データ配信システムのセキュリティを向上させることができる。
【0234】
また、ライセンス管理デバイス520は、配信サーバ10から暗号化コンテンツデータおよびライセンスを受信する際に、配信サーバ10との間でハード的にデータのやり取りを行ない、暗号化コンテンツデータを再生するためのライセンスをハード的に格納するため、そのセキュリティレベルは高い。したがって、ライセンス管理デバイス520を用いれば、パーソナルコンピュータ50は、セキュリティレベルの高い配信によって暗号化コンテンツデータおよびライセンスを受信できるとともに、セキュリティレベルの高いレベル2ライセンスの管理が可能である。
【0235】
[配信2]
図1に示すデータ配信システムにおいて、配信サーバ10からパーソナルコンピュータ50のライセンス管理モジュール511へ暗号化コンテンツデータおよびライセンスを配信する動作について説明する。なお、この動作を「配信2」という。
【0236】
図17〜図21は、図1に示すデータ配信システムにおける暗号化コンテンツデータの購入時に発生するパーソナルコンピュータ50に内蔵されたライセンス管理モジュール511への配信動作を説明するための第1〜第5のフローチャートである。なお、ライセンス管理モジュール511は、暗号化コンテンツデータおよびライセンスの配信サーバ10からの受信をプログラムによって実行する。
【0237】
図17における処理以前に、パーソナルコンピュータ50のユーザは、配信サーバ10に対してモデム40を介して接続し、購入を希望するコンテンツに対するコンテンツIDを取得していることを前提としている。
【0238】
図17を参照して、パーソナルコンピュータ50のユーザからキーボード560を介してコンテンツIDの指定による配信リクエストがなされる(ステップS200)。そして、キーボード560を介して暗号化コンテンツデータのライセンスを購入するための購入条件ACが入力される(ステップS202)。つまり、選択した暗号化コンテンツデータを復号するライセンス鍵Kcを購入するために、暗号化コンテンツデータのアクセス制限情報ACm、および再生期限ACpを設定して購入条件ACが入力される。
【0239】
暗号化コンテンツデータの購入条件ACが入力されると、コントローラ510は、ライセンス管理モジュール511から認証データ{KPm5//Cm5}KPa2を読出し、その読出した認証データ{KPm5//Cm5}KPa2に加えて、コンテンツID、ライセンス購入条件のデータAC、および配信リクエストを配信サーバ10に対して送信する(ステップS204)。
【0240】
配信サーバ10では、パーソナルコンピュータ50から配信リクエスト、コンテンツID、認証データ{KPm5//Cm5}KPa2、およびライセンス購入条件のデータACを受信し(ステップS206)、復号処理部312においてライセンス管理モジュール511から出力された認証データをレベル1認証鍵KPa1で復号処理を実行する(ステップS208)。
【0241】
配信制御部315は、復号処理部312における復号処理結果から、処理が正常に行なわれたか否か、すなわち、正規の機関でクラス公開暗号鍵KPm5とクラス証明書Cm5の正当性を証明するための暗号を施した認証データを受信したか否かを判断する認証処理を行なう(ステップS210)。正当な認証データであると判断された場合、配信制御部315は、クラス公開暗号鍵KPm5およびクラス証明書Cm5を承認し、受理する。そして、次の処理(ステップS212)へ移行する。正当な認証データでない場合には、非承認とし、クラス公開暗号鍵KPm5およびクラス証明書Cm5を受理しないで処理を終了する(ステップS288)。
【0242】
認証の結果、正規のモジュールであることが認識されると、配信制御部315は、次に、ライセンス管理モジュール511のクラス証明書Cm5が禁止クラスリストCRLにリストアップされているかどうかをCRLデータベース306に照会し、これらのクラス証明書が禁止クラスリストの対象になっている場合には、ここで配信セッションを終了する(ステップS288)。
【0243】
一方、ライセンス管理モジュール511のクラス証明書が禁止クラスリストの対象外である場合には次の処理に移行する(ステップS214)。
【0244】
認証の結果、正当な認証データを持つライセンス管理モジュールを備えるパーソナルコンピュータからのアクセスであり、クラスが禁止クラスリストの対象外であることが確認されると、配信サーバ10において、配信制御部315は、配信を特定するための管理コードであるトランザクションIDを生成する(ステップS214)。また、セッションキー発生部316は、配信のためのセッションキーKs1を生成する(ステップS216)。セッションキーKs1は、復号処理部312によって得られたライセンス管理モジュール511に対応するクラス公開暗号鍵KPm5によって、暗号化処理部318によって暗号化される(ステップS218)。
【0245】
トランザクションIDおよび暗号化されたセッションキーKs1は、トランザクションID//{Ks1}Km5として、バスBS1および通信装置350を介して外部に出力される(ステップS220)。
【0246】
図18を参照して、パーソナルコンピュータ50のコントローラ510が、トランザクションID//{Ks1}Km5を受信すると(ステップS222)、ライセンス管理モジュール511は、{Ks1}Km5を受けて、ライセンス管理モジュール511に固有のクラス秘密復号鍵Km5により復号処理して、セッションキーKs1を受理する(ステップS224)。
【0247】
ライセンス管理モジュール511は、配信サーバ10で生成されたセッションキーKs1の受理を確認すると、セッションキーKs2を生成する(ステップS226)。そして、コントローラ510は、バスBS2を介してHDD530に記憶された暗号化CRLを読出し、ライセンス管理モジュール511は、暗号化CRLを復号して禁止クラスリストCRLを取得し、復号した禁止クラスリストCRLに基づいて禁止クラスリストの更新日時CRLdateを取得する(ステップS228)。ライセンス管理モジュール511は、さらに、配信サーバ10において発生されたセッションキーKs1によって、ライセンス管理モジュール511で発生させたセッションキーKs2、個別公開暗号鍵KPmc6および禁止クラスリストのデータCRLdateを1つのデータ列として暗号化して、{Ks2//KPmc6//CRLdate}Ks1を出力する(ステップS230)。
【0248】
コントローラ510は、暗号化データ{Ks2//KPmc6//CRLdate}Ks1にトランザクションIDを加えたトランザクションID//{Ks2//KPmc6//CRLdate}Ks1を配信サーバ10へ送信する(ステップS232)。
【0249】
配信サーバ10は、トランザクションID//{Ks2//KPmc6//CRLdate}Ks1を受信して(ステップS234)、復号処理部320においてセッションキーKs1による復号処理を実行し、ライセンス管理モジュール511で生成されたセッションキーKs2、ライセンス管理モジュール511に固有の個別公開暗号鍵KPmc6およびライセンス管理モジュール511における禁止クラスリストの更新日時CRLdateを受理する(ステップS236)。
【0250】
配信制御部315は、ステップS206で取得したコンテンツIDおよびライセンス購入条件のデータACに従って、アクセス制限情報ACmおよび再生期限ACpを生成する(ステップS238)。さらに、暗号化コンテンツデータを復号するためのライセンス鍵Kcを情報データベース304より取得する(ステップS240)。
【0251】
配信制御部315は、生成したライセンス、すなわち、トランザクションID、コンテンツID、ライセンス鍵Kc、再生期限ACp、およびアクセス制限情報ACmを暗号化処理部326に与える。暗号化処理部326は、復号処理部320によって得られたライセンス管理モジュール511に固有の個別公開暗号鍵KPmc6によってライセンスを暗号化して暗号化データ{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc6を生成する(ステップS242)。
【0252】
図19を参照して、配信サーバ10において、ライセンス管理モジュール511から送信された禁止クラスリストの更新日時CRLdateによって、配信を求めてきたライセンス管理デバイス520の禁止クラスリストCRLが最新か否かが判断され、ライセンス管理モジュールの禁止クラスリストCRLが最新と判断されたとき、ステップS246へ移行する。また、最新でないと判断されたときはステップS252へ移行する(ステップS244)。
【0253】
最新と判断されたとき、暗号化処理部328は、暗号化処理部326から出力された暗号化データ{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc6をライセンス管理モジュール511において発生されたセッションキーKs2によって暗号化を行い、暗号化データ{{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc6}Ks2をバスBS1に出力する。そして、配信制御部315は、バスBS1上の暗号化データ{{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc6}Ks2を通信装置350を介してパーソナルコンピュータ50へ送信する(ステップS246)。
【0254】
そして、パーソナルコンピュータ50のコントローラ510は、暗号化データ{{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc6}Ks2を受信し(ステップS248)、ライセンス管理モジュール511は、暗号化データ{{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc6}Ks2をセッションキーKs2によって復号し、{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc6を受理する(ステップS250)。その後、ステップS262へ移行する。
【0255】
一方、最新でないと判断されると、配信制御部315は、バスBS1を介してCRLデータベース306から最新の禁止クラスリストCRLを取得し、差分データである差分CRLを生成する(ステップS252)。
【0256】
暗号化処理部328は、暗号化処理部326の出力と、配信制御部315がバスBS1を介して供給する禁止クラスリストの差分CRLとを受けて、ライセンス管理モジュール511において生成されたセッションキーKs2によって暗号化する。暗号化処理部328より出力された暗号化データ{差分CRL//{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc6}Ks2は、バスBS1および通信装置350を介してパーソナルコンピュータ50に送信される(ステップS254)。
【0257】
パーソナルコンピュータ50は、送信された暗号化データ{差分CRL//{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc6}Ks2を受信し(ステップS256)、ライセンス管理モジュール511は、セッションキーKs2を用いて受信データを復号して差分CRLと暗号化データ{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc6と受理する(ステップS258)。
【0258】
コントローラ510は、HDD530に記録された禁止クラスリストCRLに受理した差分CRLを加え、独自の暗号処理を施し、HDD530内の禁止クラスリストCRLを書換える(ステップS260)。
【0259】
ステップS246,S248,S250は、ライセンス管理モジュール511から送られてきた禁止クラスリストの更新日時CRLdateによって、ライセンス管理モジュール511の管理する禁止クラスリストCRLが最新の場合のライセンスのライセンス管理モジュール511への配信動作であり、ステップS252,S254,S256,S258,S260は、禁止クラスリストCRLが最新でない場合のライセンスのライセンス管理モジュール511への配信動作である。このように、ライセンス管理モジュール511から送られてきた禁止クラスリストの更新日時CRLdateによって、配信を求めてきたライセンス管理デバイス520の禁止クラスリストCRLが最新か否かを、逐一、確認し、最新でないとき、最新の禁止クラスリストCRLをCRLデータベース306から取得し、差分CRLをライセンス管理モジュール511に配信することによって、ライセンス管理モジュールへ配信したライセンスがセキュリティの破られた機器へ流出されるのを防止できる。
【0260】
ステップS250またはステップS260の後、暗号化ライセンス{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc6は、個別秘密復号鍵Kmc6によって復号され、ライセンス(ライセンス鍵Kc、トランザクションID、コンテンツID、アクセス制限情報ACmおよび再生期限ACp)が受理される(ステップS262)。
【0261】
このように、配信サーバおよびライセンス管理モジュールでそれぞれ生成される暗号鍵をやり取りし、お互いが受領した暗号鍵を用いた暗号化を実行して、その暗号化データを相手方に送信することによって、それぞれの暗号化データの送受信においても事実上の相互認証を行なうことができ、データ配信システムのセキュリティを向上させることができる。
【0262】
ライセンス管理モジュール511は、受理したアクセス制限情報ACmによって再生回数が制限されているか否かを判別し、再生回数が制限されていないときステップS266へ移行し、再生回数が制限されているときステップS268へ移行する(ステップS264)。そして、再生回数が制限されていなとき、ライセンス管理モジュール511は、配信サーバ10から受信した暗号化コンテンツおよびライセンスを他の装置へ貸出すためのチェックアウト可能数を含むチェックアウト情報を生成する(ステップS266)。この場合、チェックアウトの初期値は「3」に設定される。また、再生回数が制限されているとき、ライセンス管理モジュール511は、暗号化コンテンツデータを他の装置へ貸出すためのチェックアウト可能数を「0」に設定してチェックアウト情報を生成する(ステップS268)。ステップS268は、チェックアウトすることで再生回数の管理ができないための処理である。
【0263】
図20を参照して、ステップS266またはステップS268の後、ライセンス管理モジュール511は、認証データ{KPm5//Cm5}KPa1をバス2を介してライセンス管理デバイス520へ出力する(ステップS270)。ライセンス管理デバイス520では、ライセンス管理モジュール511から認証データ{KPm5//Cm5}KPa1を受信し、復号処理部5208は、認証データ認証データ{KPm5//Cm5}KPa1を受取って、認証データ認証データ{KPm5//Cm5}KPa1に基づいて、KPa保持部5214からレベル1認証鍵KPa1を受取り、受取ったレベル1認証鍵KPa1によって認証データ{KPm5//Cm5}KPa1を復号する(ステップS271)。
【0264】
コントローラ5220は、復号処理部5208における復号処理結果から、処理が正常に行なわれたか否か、すなわち、正規の機関でクラス公開暗号鍵KPm5とクラス証明書Cm5との正当性を証明するための暗号を施した認証データを受信したか否かを判断する認証処理を行なう(ステップS272)。正当な認証データであると判断された場合、コントローラ5220は、クラス公開暗号鍵KPm5およびクラス証明書Cm5を承認し、受理する。そして、次の処理(ステップS273)へ移行する。正当な認証データでない場合には、非承認とし、クラス公開暗号鍵KPm5およびクラス証明書Cm5を受理しないで処理を終了する(ステップS298)。
【0265】
認証の結果、正規の認証データを受信したことが認識されると、コントローラ5220は、次に、ライセンス管理モジュール511のクラス証明書Cm5が禁止クラスリストCRLにリストアップされているかどうかをメモリ5215のCRL領域5215Aに照会し、これらのクラス証明書が禁止クラスリストの対象になっている場合には、ここで配信セッションを終了する(ステップS298)。
【0266】
一方、ライセンス管理モジュール511のクラス証明書が禁止クラスリストの対象外である場合には次の処理に移行する(ステップS273)。
【0267】
認証の結果、正当な認証データを持つライセンス管理デバイスを備えるライセンス管理モジュール511からのアクセスであり、クラスが禁止クラスリストの対象外であることが確認されると、ライセンス管理デバイス520において、セッションキー発生部5208は、セッションキーKs2aを生成し(ステップS274)、暗号処理部5210は、セッションキーKs2aをクラス公開暗号鍵KPm5によって暗号化して暗号化データ{Ks2a}Km5を出力する(ステップS275)。
【0268】
コントローラ5220は、暗号化データ{Ks2a}Km5をバスBS5、インタフェース5224、および端子5226を介して出力し、ライセンス管理モジュール511は、バスBS2を介して暗号化データ{Ks2a}Km5を受信し、クラス秘密復号鍵Km5によって暗号化データ{Ks2a}Km5を復号してセッションキーKs2aを受理する(ステップS276)。そして、ライセンス管理モジュール511は、セッションキーKs2bを生成し(ステップS277)、セッションキーKs2bをセッションキーKs2aによって暗号化して暗号化データ{Ks2b}Ks2aをバスBS2を介してライセンス管理デバイス520へ出力する(ステップS278)。
【0269】
ライセンス管理デバイス520のコントローラ5220は、端子5226、インタフェース5224、およびバスBS5を介して暗号化データ{Ks2b}Ks2aを受け、復号処理部5212は、セッションキー発生部5208から出力されるセッションキーKs2aによって暗号化データ{Ks2b}Ks2aを復号してセッションキーKs2bを受理する(ステップS279)。そうすると、ライセンス管理モジュール511は、エントリ番号「0」をライセンス管理デバイス520へ入力し(ステップS280)、ライセンス管理デバイス520のコントローラ5220は、端子5226、インタフェース5224、およびバスBS5を介してエントリ番号「0」を受取る。そして、コントローラ5220は、メモリ5215のライセンス領域5215Bのうち、エントリ番号「0」によって指定されている領域に格納されているバインディングライセンス(トランザクションIDb、コンテンツIDb、バインディング鍵Kb、および制御情報ACmb,ACpb)を取得する(ステップS281)。そして、コントローラ5220は、制御情報ACmbに基づいてバインディングライセンスが有効か否かを判別し、有効でない場合、ステップS298へ移行し、配信セッションが終了する。ここで、有効な場合とは、制御情報ACmb内の再生回数が0でないこと、かつ、レベル1認証鍵KPa1によって認証された処理であるため制御情報ACmbのセキュリティレベルがレベル1であることを意味する。
【0270】
一方、バインディングライセンスが有効な場合、ステップS283へ移行する(ステップS282)。
【0271】
ステップS282において、バインディングライセンスが有効と判断されると、暗号処理部5206は、切換スイッチ5246を介して取得したバインディング鍵Kbおよび制御情報ACpbを、復号処理部5212によって復号され、スイッチ5242を介して取得したセッションキーKs2bによって暗号化して暗号化データ{Kb//ACpb}Ks2bを出力する(ステップS283)。
【0272】
図21を参照して、コントローラ5220は、暗号化データ{Kb//ACpb}Ks2bをバスBS5、インタフェース5224、および端子5226を介して出力し、ライセンス管理モジュール511は、バスBS2を介して暗号化データ{Kb//ACpb}Ks2bを受信し、セッションキーKs2bによって暗号化データ{Kb//ACpb}Ks2bを復号してバインディング鍵Kbおよび制御情報ACpbを取得する(ステップS284)。
【0273】
ステップS270からステップS284の一連の処理はバインディング鍵Kbをライセンス管理デバイス520から取得する処理であり、「バインディング鍵取得処理」と総称する。
【0274】
そして、ライセンス管理モジュール511は、バスBS2を介してHDD530から暗号化機密ファイル160を取得し、その取得した暗号化機密ファイル160をバインディング鍵Kbによって復号して平文の機密ファイルを取得する(ステップS285)。そうすると、ライセンス管理モジュール511は、配信サーバ10から受理したライセンス(トランザクションID、コンテンツID、ライセンス鍵Kc、アクセス制限情報ACm、および再生期限ACp)とステップS266またはステップS268において生成されたチャックアウト情報とを機密情報nとして平文の機密ファイルに追記する(ステップS286)。その後、ライセンス管理モジュール511は、平文の機密ファイルをバインディング鍵Kbによって再び暗号化し、その暗号化した暗号化機密ファイル160によってHDD530に記録された暗号化機密ファイル160を更新する(ステップS287)。ライセンスを暗号化機密ファイル160に格納した後、ライセンス管理モジュール511は、配信サーバ10から送られたトランザクションIDと、暗号化コンテンツデータの配信要求を配信サーバ10へ送信する(ステップS288)。
【0275】
配信サーバ10は、トランザクションIDおよび暗号化コンテンツデータの配信要求を受信し(ステップS289)、情報データベース304より、暗号化コンテンツデータ{Dc}Kcおよび付加情報Dc−infを取得して、これらのデータをバスBS1および通信装置350を介して出力する(ステップS290)。
【0276】
ライセンス管理モジュール511は、{Dc}Kc//Dc−infを受信して、暗号化コンテンツデータ{Dc}Kcおよび付加情報Dc−infを受理する(ステップS291)。そして、ライセンス管理モジュール511は、暗号化コンテンツデータ{Dc}Kcおよび付加情報Dc−infをバスBS2を介してコンテンツファイルとしてハードディスク(HDD)530に記録する(ステップS292)。また、ライセンス管理モジュール511は、暗号化機密ファイル160に格納した機密情報nの機密情報番号nと、平文のトランザクションIDおよびコンテンツIDとを含むコンテンツファイル(暗号化コンテンツデータ{Dc}Kcと付加情報Dc−inf)に対応するライセンス管理ファイルを生成し、バスBS2を介してHDD530に記録する(ステップS293)。さらに、ライセンス管理モジュール511は、HDD530に記録されているコンテンツリストファイルに受理したコンテンツ情報として、記録したコンテンツファイルおよびライセンス管理ファイルの名称や、付加情報Dc−infから抽出した暗号化コンテンツデータに関する情報(曲名、アーティスト名)等を追記し(ステップS294)、トランザクションIDと配信受理を配信サーバ10へ送信する(ステップS295)。
【0277】
配信サーバ10は、トランザクションID//配信受理を受信すると(ステップS296)、課金データベース302への課金データの格納、およびトランザクションIDの配信記録データベース308への記録が行なわれて配信終了の処理が実行され(ステップS297)、全体の処理が終了する(ステップS298)。
【0278】
このように、ライセンス管理モジュール511は、配信サーバ10との間でソフトウエアによってデータのやり取りを行ない、暗号化コンテンツデータおよびライセンスをソフト的に配信サーバ10から受信する。また、受信した暗号化コンテンツデータをHDD530に記録し、ライセンスを機密情報nとして機密ファイルに書込み、その機密ファイルをバインディング鍵Kbによって暗号化して暗号化機密ファイル160にライセンスを格納する。そして、暗号化機密ファイル160を復号するバインディング鍵Kbはライセンス管理デバイス520に保持される。したがって、ライセンス管理モジュール511による暗号化コンテンツデータおよびライセンスの配信は、ライセンス管理デバイス520による暗号化コンテンツデータおよびライセンスの配信よりもセキュリティレベルは低いが、記録管理においてはパーソナルコンピュータ50に関連付けていない点において、それに近いものになる。
【0279】
[リッピング]
パーソナルコンピュータ50のユーザは配信によって暗号化コンテンツとライセンスを取得するほかに、所有する音楽CDから、音楽データを取得して利用することが可能である。著作権者の権利保護の立場から音楽CDのデジタル複製は自由に行って良いものではないが、個人が自己の使用目的のために、著作権保護機能を備えるツールを用いて複製し、音楽を楽しむことは許されている。そこで、ライセンス管理モジュール511は、音楽CDから音楽データを取得して、ライセンス管理モジュール511にて管理可能な暗号化コンテンツデータとライセンスを生成するリッピング機能を実現するプログラムも含んでいる。
【0280】
また、近年の音楽CDには、音楽データ内に、ウォーターマークと呼ばれる電子すかしを挿入したものがある。このウォーターマークには、著作権者が利用者における利用の範囲が利用規則として書込まれている。利用規則が書込まれている音楽データからのリッピングでは、著作権保護の点から必ずこの利用規則に従う必要がある。以後、利用規則として、複製条件(複製禁止/一世代複製可/複製可」および最大チェックアウト数が記載されているとする。また、ウォーターマーク検出されない場合、すなわち、利用規則が書込まれていない従来の音楽CDであっても、著作権者の権利を保護するために、一世代の複製ができ、最大チェックアウト数が「3」と解釈するものとする。
【0281】
図22〜図24を参照して、音楽データが記録された音楽CDからのリッピングによる暗号化コンテンツデータおよびライセンスの取得について説明する。
【0282】
図22〜図24は、音楽CDからリッピングによって暗号化コンテンツデータおよびライセンスを取得するための第1〜第3のフローチャートである。
【0283】
図22を参照して、リッピング動作が開始されると、CD−ROMドライブ540が音楽CDから検出した音楽データを取り込んで、取込んだ音楽データからウォーターマークによって記載された利用規則の検出が行なわれる(ステップS700)。そして、検出された利用規則に基づいて複製が可能か否かが判定される(ステップS701)。利用規則の複製条件が無制限の場合、ステップS203へ、複製条件が一世代複製可の場合、ステップS702へ移行し、複製条件が複製禁止の場合、複製が禁止され、ステップS733へ移行してリッピング動作は終了する。さらに、装着されたCDにウォーターマークが含まれず、利用規則が得られない場合、ステップS705へ移行する。
【0284】
ステップS701において、利用規則の複製条件が一世代複製可の場合、ライセンス管理モジュール511は、取得した音楽データに含まれるウォーターマークを取得した利用規則の複製条件を複製禁止に変更したウォーターマークに付け替える(ステップS702)。そして、ステップS703へ移行する。複製ができる利用規則が検出された場合にステップS703において、ライセンス管理モジュール511は、利用規則を反映したアクセス制限情報ACmおよび再生期限ACpを生成する(ステップS703)。ここでも、複製条件に従い、複製可であれば、アクセス制限情報ACmの移動複製フラグを移動複製可(=3)に設定し、一世代複製可であれば、リッピング自身が一世代に当たるので移動複製禁止(=0)に設定する。また、対応する利用規則はないが再生回数は無制限、セキュリティレベルはレベル1に設定する。その後、ライセンス管理うモジュール511は、利用規則の最大チェックアウト数を反映してチェックアウト可能数を設定する。最大チェックアウト数の指定がないときはチェックアウト可能数=3とする。そして、設定したチェックアウト可能数を含むチェックアウト情報を生成する(ステップS704)。
【0285】
一方、ステップS701において、ウォーターマークが検出されず、利用規則が無いと判定された場合、ライセンス管理モジュール511は、アクセス制限情報ACmの移動複製フラグを移動複製禁止(=0)、再生回数は無制限(=255)、セキュリティレベルは1に設定する。再生期限ACpは再生を無期限とする(ステップS705)。その後、ライセンス管理モジュール511は、初期値が3であるチェックアウト可能数を含むチェックアウト情報を生成する(ステップS706)。
【0286】
ステップS704またはS706の後、ライセンス管理モジュール511は、乱数などにっよってライセンス鍵Kcを生成し(ステップS707)、ローカル使用のトランザクションIDおよびコンテンツIDを生成する(ステップS708)。次に、ライセンス管理モジュール511は、バインディング鍵取得処理を行う。図23のステップS709から図24のステップ723の一連の処理がバインディング鍵取得処理であり、配信2の配信処理における図20のステップS270から図21のステップS284の一連の処理と同じである。ゆえに、説明を省略する。
【0287】
図24を参照して、バインディング鍵Kbを取得したライセンス管理モジュール511は、バスBS2を介してHDD530から暗号化機密ファイル160を取得し、その取得した暗号化機密ファイル160をバインディング鍵Kbによって復号して平文の機密ファイルを取得する(ステップS724)。そうすると、ライセンス管理モジュール511は、音楽CDから取得した音楽データを所定の方式に符号化してコンテンツデータDcを生成し(ステップS725)、コンテンツデータをライセンス鍵Kcによって暗号化して暗号化コンテンツデータ{Dc}Kcを生成する(ステップS726)。その後、ライセンス管理モジュール511は、キーボード560を介して入力されたユーザからの情報、および音楽CDからの情報に基づいて、コンテンツデータの付加情報Dc−infを生成し(ステップS727)、暗号化コンテンツデータ{Dc}Kcと付加情報Dc−infとをバスBS2を介してコンテンツファイとしてHDD530に記録する(ステップS728)。
【0288】
そうすると、ライセンス管理モジュール511は、生成したライセンス(トランザクションID、コンテンツID、ライセンス鍵Kc、アクセス制限情報ACm、および再生期限ACp)とステップS704またはステップS706において生成されたチェックアウト情報とを機密情報nとして平文の機密ファイルに追記する(ステップS729)。その後、ライセンス管理モジュール511は、平文の機密ファイルをバインディング鍵Kbによって暗号化し、その暗号化した暗号化機密ファイル160によってHDD530に記録された暗号化機密ファイル160を更新する(ステップS730)。ライセンスを暗号化機密ファイル160に格納した後、ライセンス管理モジュール511は、暗号化機密ファイル160に格納した機密情報nの機密情報番号nと、平文のトランザクションIDおよびコンテンツIDとを含むコンテンツファイル(暗号化コンテンツデータ{Dc}Kcと付加情報Dc−inf)に対するライセンス管理ファイルを生成し、バスBS2を介してHDD530に記録する(ステップS731)。さらに、ライセンス管理モジュール511は、HDD530に記録されているコンテンツリストファイルに受理したコンテンツの情報として、記録したコンテンツファイル及びライセンス管理ファイルの名称や、付加情報Dc−infから抽出した暗号化コンテンツデータに関する情報(曲名、アーティスト名)等を追記し(ステップS732)、全体の処理が終了する(ステップS733)。
【0289】
このように音楽CDからリッピングによっても暗号化コンテンツデータとライセンスとを取得できる。そして、音楽CDからのリッピングによって取得された暗号化コンテンツデータおよびライセンスは、配信によって取得された暗号化コンテンツデータおよびレベル1ライセンスと同じ方式によって、ライセンス管理モジュール511によって管理される。
【0290】
図25を参照して、パーソナルコンピュータ50のライセンス管理モジュール511またはライセンス管理デバイス520によって受信された暗号化コンテンツデータおよびライセンスの管理について説明する。パーソナルコンピュータ50のHDD530は、コンテンツリストファイル150と、コンテンツリストファイル150は、コンテンツファイル1531〜153nと、ライセンス管理ファイル1521〜152nと、暗号化機密ファイルとを含む。
【0291】
コンテンツリストファイル150は、所有するコンテンツの一覧形式のデータファイルであり、個々のコンテンツに対する情報(楽曲名、アーティスト名など)と、コンテンツファイルとライセンス管理ファイルを示す情報(ファイル名)などが含まれている。個々のコンテンツに対する情報は受信時に付加情報Dc−infから必要な情報を取得して自動的に、あるいは、ユーザの指示によって記載される。また、コンテンツファイルのみ、ライセンス管理ファイルのみの再生できないコンテンツについても一覧の中で管理することが可能である。
【0292】
コンテンツファイル1531〜153nは、ライセンス管理モジュール511またはライセンス管理デバイス520によって受信された暗号化コンテンツデータ{Dc}Kcと付加情報Dc−infとを記録するファイルであり、コンテンツごとに設けられる。
【0293】
また、ライセンス管理ファイル1521〜152nは、それぞれ、コンテンツファイル1531〜153nに対応して記録されており、ライセンス管理モジュール511またはライセンス管理デバイス520によって受信されたライセンスを管理するためのファイルであり、ライセンスの格納場所を特定するための情報とライセンスに関する情報を含む。
【0294】
格納場所を特定するための情報とは、ライセンス管理デバイス520にライセンスが記録された場合にはエントリ番号、もしくは暗号化機密ファイル内に記録された機密情報を特定する機密情報番号を言う。
【0295】
ライセンスに関する情報とは、ライセンスを受信したときに平文にて参照できるトランザクションID、コンテンツIDや、ライセンス購入条件ACから容易に判断できるアクセス制限情報ACmおよび再生制御情報ACpにて制限されている事項の平文の写しである。これまで説明でも明らかなように、ライセンスは、コンテンツ保護のために参照することができないように保護され、記録されている。しかし、ライセンス鍵Kcを除く他の情報は、書き換えることさえできなければ、その内容が参照されてもコンテンツ保護の立場から何ら問題はない。アプリケーションプログラムにおいて、このライセンスに関する情報を参照して各処理を開始する。
【0296】
暗号化機密情報ファイルは、ライセンス管理モジュール511にて管理されているライセンスやチェックアウト情報などを含む機密情報を含む。暗号化機密情報ファイルは、バインディング鍵Kbにて暗号化されている。
【0297】
図25を参照して、具体的に説明する。ライセンス管理ファイル1521,1524は、それぞれ、エントリ番号1,mを含む。これは、ライセンス管理デバイス520によって受信され、ライセンス管理デバイス520のメモリ5215のライセンス領域5215Bにおいて管理されるライセンス(ライセンスID、ライセンス鍵Kc、アクセス制限情報ACmおよび再生期限ACm)の管理領域を指定する番号である。
【0298】
したがって、コンテンツファイル1531に記録されたファイル名の暗号化コンテンツデータを再生端末100に装着されたメモリカード110へ移動させるとき、コンテンツファイル1531〜153nを検索してコンテンツファイル1531を抽出すれば、暗号化コンテンツデータを再生するライセンスがどこで管理されているかが解かる。コンテンツファイル1531に対応するライセンス管理ファイル1521に含まれるエントリ番号は「1」であるので、コンテンツファイル1531に記録されたファイル名の暗号化コンテンツデータを再生するライセンスは、ライセンス管理デバイス520のメモリ5215のライセンス領域5215Bのエントリ番号1によって指定された領域に記録されている。そうすると、HDD530に記録されたコンテンツリストファイル150のライセンス管理ファイル1521からエントリ番号1を読出し、その読出したエントリ番号1をライセンス管理デバイス520に入力することによって、メモリ5215のライセンス領域5215Bからライセンスを容易に取出し、メモリカード110へ移動できる。そして、ライセンスを移動した後は、メモリ5215のライセンス領域5215Bにおいて指定されたエントリ番号1内のライセンスは削除されるので、それに対応してライセンス管理ファイル1523のように「ライセンス無」が記録される。
【0299】
また、ライセンス管理モジュール511によって受信された暗号化コンテンツデータのライセンスを格納する機密情報は、ライセンス管理ファイル1522,1524,・・・,152nによって管理される。ライセンス管理ファイル1522,・・・,152nは、ライセンス管理モジュール511によって受信した暗号化コンテンツデータを再生するためのライセンスを格納する機密情報の機密情報番号を含む。
【0300】
そうすると、たとえば、コンテンツファイル1532に記録されたファイル名の暗号化コンテンツデータをパーソナルコンピュータ80へ移動させるとき、コンテンツファイル1531〜153nを検索してコンテンツファイル1532を抽出し、コンテンツファイル1532に対応するライセンス管理ファイル1522から機密情報番号1を取得する。一方、ライセンス管理デバイス520からバインディング鍵Kbを取得し、その取得したバインディング鍵Kbによって暗号化機密ファイル160を復号して平文の機密ファイルを取得する。そうすると、ライセンス管理ファイルから取得した機密情報番号1に対応する機密ファイル中の機密情報1に格納されているライセンスを取得することができる。
【0301】
このように、本発明の実施の形態1においては、ライセンス管理モジュール511によって受信した暗号化コンテンツデータのライセンスは、暗号化機密ファイル160に機密情報nとして格納されており、暗号化機密ファイル160は、ライセンス管理デバイス520によってハード的に保持されたバインディング鍵Kbによってのみ復号可能である。つまり、バインディング鍵Kbは、暗号化コンテンツデータのライセンスを管理する共通鍵であり、バインディング鍵Kbがないとライセンスを取得することができない構造になっている。したがって、ライセンス管理モジュール511によって受信された暗号化コンテンツデータのライセンスは、暗号化機密ファイル160に書込まれてHDD530に記録されているため、実際はソフト的に管理されているが、ライセンス管理デバイス520に格納されたバインディング鍵Kbがないとライセンスを暗号化機密ファイル160から取出すことができないわけでわるから、実質的には、ハードウエアによって管理されているのに近い。
【0302】
一方、ライセンス管理デバイス520によって受信されたライセンスは、メモリ5215のライセンス領域5215Bに格納されている。したがって、本発明の実施の形態1によって、ライセンス管理モジュール511によって受信されたライセンスの管理レベルを、ライセンス管理デバイス520によって受信されたライセンスの管理レベルに近づけることができる。
【0303】
なお、バインディングライセンスは、エントリ番号「0」に格納されている物としている。
【0304】
[移動1]
図1に示すデータ配信システムにおいて、配信サーバ10からパーソナルコンピュータ50のライセンス管理デバイス520へ配信された暗号化コンテンツデータおよびライセンスを再生端末100に装着されたメモリカード110へ送信する動作について説明する。なお、この動作を「移動1」という。移動は、セキュリティレベルがレベル2間でのみ行われる処理である
図26〜図29は、図1に示すデータ配信システムにおいて、ライセンス管理デバイス520が配信サーバ10から受信した暗号化コンテンツデータおよびライセンスを再生端末100に装着されたメモリカード110へ移動する移動動作を説明するための第1〜第4のフローチャートである。
【0305】
なお、図18における処理以前に、パーソナルコンピュータ50のユーザは、コンテンツリストファイルに従って、移動するコンテンツを決定し、HDD530のコンテンツファイルおよびライセンス管理ファイルが特定でき、メモリカード110の再生リストファイルを取得していることを前提として説明する。
【0306】
図26を参照して、パーソナルコンピュータ50のキーボード560から移動リクエストが入力されると(ステップS300)、コントローラ510は、認証データの送信要求aをUSBインタフェース550、端子580、およびUSBケーブル70を介して再生端末100へ送信する(ステップS302)。そうすると、再生端末100のコントローラ1106は、端子1114、USBインタフェース1112およびバスBS3を介して認証データの送信要求を受信し、バスBS3およびメモリカードインタフェース1200を介して認証データの送信要求をメモリカード110へ送信する。そして、メモリカード110のコントローラ1420は、端子1426、インタフェース1424およびバスBS4を介して認証データの送信要求を受信する(ステップS304)。
【0307】
コントローラ1420は、認証データの送信要求を受信すると、認証データ保持部1400から認証データ{KPm3//Cm3}KPa2をバスBS4を介して読出し、その読出した認証データ{KPm3//Cm3}KPa2をバスBS4、インタフェース1424および端子1426を介して再生端末100へ出力する。そして、再生端末100のコントローラ1106は、メモリカードインタフェース1200およびバスBS3を介して認証データ{KPm3//Cm3}KPa2を受取り、バスBS3、USBインタフェース1112、端子1114およびUSBケーブル70を介してパーソナルコンピュータ50へ認証データ{KPm3//Cm3}KPa2を送信する(ステップS306)。
【0308】
そうすると、パーソナルコンピュータ50のコントローラ510は、端子580およびUSBインタフェース550を介して認証データ{KPm3//Cm3}KPa2を受信し(ステップS308)、その受信した認証データ{KPm3//Cm3}KPa2をバスBS2を介してライセンス管理デバイス520へ送信する。ライセンス管理デバイス520のコントローラ5220は、端子5226、インタフェース5224、およびバスBS5を介して認証データ{KPm3//Cm3}KPa2を受信し、その受信した認証データ{KPm3//Cm3}KPa2を復号処理部5208へ与える。認証処理部5208は、KPa保持部5214は、認証データ認証データ{KPm3//Cm3}KPa2を受取って、認証データ{KPm3//Cm3}KPa2に基づいて、KPa保持部5214からレベル2認証鍵KPa2を受取り、その受取ったレベル2認証鍵KPa2によって認証データ{KPm3//Cm3}KPa2の復号処理を実行する(ステップS310)。コントローラ5220は、復号処理部5208における復号処理結果から、処理が正常に行なわれたか否か、すなわち、メモリカード110が正規のメモリカードからのクラス公開暗号鍵KPm3とクラス証明書Cm3とを保持することを認証するために、正規の機関でその正当性を証明するための暗号を施した認証データを受信したか否かを判断する認証処理を行なう(ステップS312)。正当な認証データであると判断された場合、コントローラ5220は、クラス公開暗号鍵KPm3およびクラス証明書Cm3を承認し、受理する。そして、次の処理(ステップS314)へ移行する。正当な認証データでない場合には、非承認とし、クラス公開暗号鍵KPm3およびクラス証明書Cm3を受理しないで処理を終了する(ステップS404)。
【0309】
認証の結果、正規のメモリカードであることが認識されると、コントローラ5220は、次に、メモリカード110のクラス証明書Cm3が禁止クラスリストCRLにリストアップされているかどうかをメモリ5215のCRL領域5215Aに照会し、これらのクラス証明書が禁止クラスリストの対象になっている場合には、ここで移動動作を終了する(ステップS404)。
【0310】
一方、メモリカード110のクラス証明書が禁止クラスリストの対象外である場合には次の処理に移行する(ステップS314)。
【0311】
認証の結果、正当な認証データを持つメモリカードを備える再生端末からのアクセスであり、クラスが禁止クラスリストの対象外であることが確認されると、ライセンス管理デバイス520において、コントローラ5220は、移動を特定するための管理コードであるトランザクションIDをメモリ5215のライセンス領域5215Bから取得する(ステップS316)。そして、セッションキー発生部5218は、移動のためのセッションキーKs22を生成する(ステップS318)。セッションキーKs22は、復号処理部5208によって得られたメモリカード110に対応するクラス公開暗号鍵KPm3によって、暗号化処理部5210によって暗号化される(ステップS320)。コントローラ5220は、バスBS5を介して暗号化データ{Ks22}Km3を取得し、メモリ5215から取得したトランザクションIDを暗号化データ{Ks22}Km3に追加したトランザクションID//{Ks22}Km3をバスBS5、インタフェース5224および端子5226を介して出力する(ステップS322)。
【0312】
図27を参照して、パーソナルコンピュータ50のコントローラ510は、バスBS2を介してトランザクションID//{Ks22}Km3を受信し(ステップS324)、USBインタフェース550、端子580、およびUSBケーブル70を介してトランザクションID//{Ks22}Km3を再生端末100へ送信する(ステップS324)。そうすると、再生端末100のコントローラ1106は、端子1114、USBインタフェース1112、およびBS3を介してトランザクションID//{Ks22}Km3を受信し、その受信したトランザクションID//{Ks22}Km3をメモリカードインタフェース1200を介してメモリカード110へ送信する。そして、メモリカード110のコントローラ1420は、端子1426、インタフェース1424およびバスBS4を介してトランザクションID//{Ks22}Km3を受信する(ステップS326)。復号処理部1422は、コントローラ1420からバスBS4を介して{Ks22}Km3を受取り、Km保持部1421からのクラス秘密復号鍵Km3によって{Ks22}Km3を復号してセッションキーKs22を受理する(ステップS328)。そして、セッションキー発生部1418は、セッションキーKs2を生成し(ステップS330)、コントローラ1420は、バスBS4を介してメモリ1415のCRL領域1415Aから禁止クラスリストの更新日時CRLdateを取得し、その取得した更新日時CRLdateを切換スイッチ1446へ与える(ステップS332)。
【0313】
そうすると、暗号化処理部1406は、切換スイッチ1446の端子を順次切換えることによって取得したセッションキーKs2、個別公開暗号鍵KPmc4および更新日時CRLdateを、復号処理部1404によって復号されたセッションキーKs22によって暗号化し、暗号化データ{Ks2//KPmc4//CRLdate}Ks22を生成する。コントローラ1420は、暗号化データ{Ks2//KPmc4//CRLdate}Ks22をバスBS4、インタフェース1424および端子1426を介して再生端末100へ出力し、再生端末100のコントローラ1106は、メモリカードインタフェース1200を介して暗号化データ{Ks2//KPmc4//CRLdate}Ks22を受取る。そして、コントローラ1106は、USBインタフェース1112、端子1114、およびUSBケーブル70を介してパーソナルコンピュータ50へ送信する(ステップS334)。
【0314】
パーソナルコンピュータ50のコントローラ510は、端子580およびUSBインタフェース550を介して暗号化データ{Ks2//KPmc4//CRLdate}Ks22を受信し(ステップS336)、バスBS2を介して暗号化データ{Ks2//KPmc4//CRLdate}Ks22をライセンス管理デバイス520へ入力する(ステップS338)。ライセンス管理デバイス520のコントローラ5220は、端子5226、インタフェース5224およびバスBS5を介して暗号化データ{Ks2//KPmc4//CRLdate}Ks22を受信し、その受信した暗号化データ{Ks2//KPmc4//CRLdate}Ks22を復号処理部5212に与える。復号処理部5212は、セッションキー発生部5218からのセッションキーKs22によって暗号化データ{Ks2//KPmc4//CRLdate}Ks22を復号し、セッションキーKs2、公開暗号鍵KPmc4および禁止クラスリストCRLdateを受理する(ステップS340)。
【0315】
そうすると、パーソナルコンピュータ50のコントローラ510は、ステップS324において、ライセンス管理ファイルに含まれるライセンスのエントリ番号をHDD530から読出す。そして、コントローラ510は、その読出したエントリ番号をバスBS2を介してライセンス管理デバイス520に入力する(ステップS342)。ライセンス管理デバイス520のコントローラ5220は、端子5226、インタフェース5224、およびバスBS5を介してエントリ番号を受信し、メモリ5215のライセンス領域5215Bにおいて受信したエントリ番号によって指定された領域からライセンス(トランザクションID、コンテンツID、ライセンス鍵Kc、アクセス制限情報ACm、再生期限ACp)を読出す(ステップS344)。
【0316】
アクセス制限情報ACmの受理に応じて、コントローラ5220は、アクセス制限情報ACmを確認する(ステップS346)。つまり、コントローラ5220は、取得したアクセス制限情報ACmのセキュリティレベル、再生回数、移動複製フラグについて順に判定を行う。最初に、アクセス制限情報ACmのセキュリティレベルとステップS310にて用いた認証鍵に基づいて、レベル1認証鍵KPa1を利用し、かつ、アクセス制限情報ACmのセキュリティレベルが2の場合には、ライセンスの管理要求レベルより低いセキュリティレベルへ出力となるので、ステップS404へ移行し、移動動作を中止する。それ以外の場合には次の判定を行う。アクセス制限情報ACmの再生回数に基づいて、再生端末100に装着されたメモリカード110へ移動しようとするライセンスがアクセス制限情報ACmによって暗号化コンテンツデータの再生ができないライセンスになっていないか否かを確認する。再生回数がアクセス制限情報ACmによる制限回数に達している場合(=0)、暗号化コンテンツデータをライセンスによって再生することができず、その暗号化コンテンツデータとライセンスとを再生端末100に装着されたメモリカード110へ移動する意味がないからである。再生回数が「0」の場合に、ステップS404へ移行し、移動動作を中止する。それ以外(再生回数≠0)の場合には次の判定を行う。アクセス制限情報ACmの移動複製フラグに基づいて、移動複製禁止「=0」のときステップS404並行し、移動動作を中止する。移動のみ可のとき、ステップS348並行し、そして、コントローラ5220は、メモリ5215のライセンス領域5215Bにおいて指定されたエントリ番号内のライセンスを削除して(ステップS348」、ステップS350並行する。移動複製可「=2」のとき、ライセンスの複製であると判断され、ステップS348を行なわずにステップS350並行。
【0317】
図28を参照して、暗号化処理部5217は、復号処理部5212によって得られたライセンス管理デバイス520固有の個別公開暗号鍵KPmc4によってライセンスを暗号化して暗号化データ{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc4を生成する(ステップS350)。そして、メモリカード110から送信された更新日時CRLdateをライセンス管理デバイス520がCRL領域5215Aに保持している禁止クラスリストの更新日時と比較し、いずれの禁止クラスリストが新しいかが判断され、メモカード100の方が新しいと判断されたとき、ステップS352へ移行する。また、ライセンス管理デバイス520の方が新しいと判断されたときはステップS362へ移行する(ステップS352)。
【0318】
データCRLdateが最新と判断されたとき、暗号化処理部5206は、暗号化処理部5217から出力された暗号化データ{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc4をセッションキー発生部5218において発生されたセッションキーKs2によって暗号化を行い、暗号化データ{{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc4}Ks2をバスBS5に出力する。そして、コントローラ5220は、バスBS5上の暗号化データ{{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc4}Ks2をインタフェース5224および端子5226を介してパーソナルコンピュータ50へ送信する(ステップS354)。
【0319】
パーソナルコンピュータ50のコントローラ510は、暗号化データ{{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc4}Ks2を受取り、USBインタフェース550、端子580、およびUSBケーブル70を介して再生端末100へ送信する(ステップS356)。
【0320】
再生端末100のコントローラ1106は、端子1114、USBインタフェース1112、およびバスBS3を介して暗号化データ{{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc4}Ks2を受信し、その受信した暗号化データ{{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc4}Ks2をバスBS3およびメモリカードインタフェース1200を介してメモリカード110へ送信する。そして、メモリカード110のコントローラ1420は、端子1426、端子1424、およびバスBS4を介して暗号化データ{{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc4}Ks2を受信する(ステップS358)。
【0321】
メモリカード110の復号処理部1412は、暗号化データ{{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc4}Ks2をバスBS4を介して受取り、セッションキー発生部1418によって発生されたセッションキーKs2によって復号し、{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc4を受理する(ステップS360)。その後、図29に示すステップS376へ移行する。
【0322】
一方、ステップS350において、ライセンス管理デバイス520の方が新しいと判断されると、ライセンス管理デバイス520のコントローラ5220は、バスBS5を介してメモリ5215のCRL領域5215Aから最新の禁止クラスリストCRLを取得する(ステップS362)。
【0323】
暗号化処理部5206は、暗号化処理部5217の出力と、コントローラ5220がバスBS5を介してメモリ5215から取得した禁止クラスリストのデータCRLとを、それぞれ、切換スイッチ5242および5246を介して受取り、セッションキー発生部5218において生成されたセッションキーKs2によって暗号化する。暗号化処理部5206より出力された暗号化データ{CRL//{トランザクションID//コンテンツID/インタフェース5224、および端子5226を介してパーソナルコンピュータ50に出力される(ステップS364)。
【0324】
パーソナルコンピュータ50のコントローラ510は、出力された暗号化データ{CRL//{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc4}Ks2を受信し、USBインタフェース550、端子580、およびUSBケーブル70を介して暗号化データ{CRL//{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc4}Ks2を再生端末100へ送信する(ステップS368)。再生端末100のコントローラ1106は、端子1114、USBインタフェース1112、およびバスBS3を介して暗号化データ{CRL//{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc4}Ks2を受取り、バスBS3およびメモリカードインタフェース1200を介して暗号化データ{CRL//{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc4}Ks2をメモリカード110へ送信する。そして、メモリカード110のコントローラ1420は、端子1426、インタフェース1424、およびバスBS4を介して暗号化データ{CRL//{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc4}Ks2を受信する(ステップS370)。
【0325】
メモリカード110において、復号処理部1412は、セッションキー発生部1418から与えられたセッションキーKs2を用いてバスBS4上の受信データを復号し、CRLと{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc4とを受理する(ステップ372)。コントローラ1420は、復号処理部1412によって受理されたデータCRLをバスBS4を介して受取り、その受取ったデータCRLによってメモリ1415のCRL領域1415Aを書換える(ステップS374)。
【0326】
ステップS354,S356,S358,S360は、送信側のメモリカード110の禁止クラスリストCRLが、受信側のライセンス管理デバイス520の禁止クラスリストCRLより、新しい場合のライセンス鍵Kc等のメモリカード110への移動動作であり、ステップS362,S364,S368,S370,S372,S374は、送信側のライセンス管理デバイス520の禁止クラスリストCRLが、受信側のメモリカード110の禁止クラスリストCRLより、新しい場合のライセンス鍵Kc等のメモリカード110への移動動作である。このように、メモリカード110から送られてきた禁止クラスリストの更新日時CRLdateによって、逐一、確認し、より最新の禁止クラスリストCRLをメモリカード110の禁止クラスリストCRLとしてCRL領域1514Aに格納させることによって、クラス秘密鍵が漏洩などのセキュリティ機能の破られた機器へのライセンスの流出をを防止できる。
【0327】
図29を参照して、ステップS360またはステップS374の後、コントローラ1420の指示によって、暗号化ライセンス{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc4は、復号処理部1404において、個別秘密復号鍵Kmc4によって復号され、ライセンス(ライセンス鍵Kc、トランザクションID、コンテンツID、アクセス制限情報ACmおよび再生期限ACp)が受理される(ステップS376)。
【0328】
このように、ライセンス管理デバイスおよびメモリカードでそれぞれ生成される暗号鍵をやり取りし、お互いが受領した暗号鍵を用いた暗号化を実行して、その暗号化データを相手方に送信することによって、それぞれの暗号化データの送受信においても事実上の相互認証を行なうことができ、暗号化コンテンツデータおよびライセンスの移動動作におけるセキュリティを向上させることができる。
【0329】
パーソナルコンピュータ50のコントローラ510は、メモリカード110へ移動したライセンスを格納するためのエントリ番号を、USBインタフェース550、端子580、およびUSBケーブル70を介して再生端末100へ送信する(ステップS378)。そうすると、再生端末100のコントローラ1106は、端子1114、USBインタフェース1112、およびバスBS3を介してエントリ番号を受取り、バスBS3およびメモリカードインタフェース1200を介してメモリカード110へ送信し、メモリカード110のコントローラ1420は、端子1426およびインタフェース1424を介してエントリ番号を受取り、その受取ったエントリ番号によって指定されるメモリ1415のライセンス領域1415Bに、ステップS376において取得したライセンス(ライセンス鍵Kc、トランザクションID、コンテンツID、アクセス制限情報ACmおよび再生期限ACp)を格納する(ステップS380)。
【0330】
パーソナルコンピュータ50のコントローラ510は、メモリカード110のメモリ1415に格納されたライセンスのエントリ番号と、平文のトランザクションIDおよびコンテンツIDを含むメモリカード110へ移動しようとする暗号化コンテンツデータ{Dc}Kcと付加情報Dc−infに対するライセンス管理ファイルを生成し、メモリカード110へ送信する(ステップS382)。
【0331】
メモリカード110のコントローラ1420は、再生端末100を介してライセンス管理ファイルを受信し、メモリ1415のデータ領域1415Cに受信したライセンス管理ファイルを記録する(ステップS384)。
【0332】
そして、パーソナルコンピュータ50のコントローラ510は、ステップS346の判断に従って、移動であればステップS388へ移行し、複製であればステップS388を行なわないで、ステップS390並行する(ステップS386)。そして、移動の場合、HDD530に記録されたライセンスのうち、メモリカード110へ移動したライセンスに対するライセンス管理ファイルのライセンスエントリ番号を、ライセンス無に更新する(ステップS386)。
【0333】
その後、コントローラ510は、メモリカード110へ移動しようとするコンテンツファイル(暗号化コンテンツデータ{Dc}Kcと付加情報Dc−inf)とをHDD530から取得し、{Dc}Kc//Dc−infをメモリカード110へ送信する(ステップS390)。メモリカード110のコントローラ1420は、再生端末100を介して{Dc}Kc//Dc−infを受信し(ステップS392)、バスBS4を介して受信した{Dc}Kc//Dc−infをコンテンツファイルとしてメモリ1415のデータ領域1415Cに記録する(ステップS394)。
【0334】
そうすると、パーソナルコンピュータ50のコントローラ510は、メモリカード110へ移動した楽曲を追記した再生リストファイルを作成し(ステップS396)、再生リストファイルと、再生リストファイルの書換指示とをメモリカード110へ送信する(ステップS398)。メモリカード110のコントローラ1420は、再生端末100を介して再生リストファイルと書換指示とを受信し(ステップS400)、バスBS4を介してメモリ1415のデータ領域1415Cに記録されている再生リストファイルを受信した再生リストファイルに書換え(ステップS402)、移動動作が終了する(ステップS404)。
【0335】
なお、再生リストファイルとは、HDDに記録されていたコンテンツリストファイルと、同じ目的で作られた再生端末用の管理情報ファイルである。再生端末100は、この再生リストファイルに含まれるコンテンツの登場順に、コンテンツファイルおよびライセンス管理ファイルを特定して再生を行なう。
【0336】
このようにして、再生端末100に装着されたメモリカード110が正規の機器であること、同時に、クラス証明書Cm3とともに暗号化して送信できた公開暗号鍵KPm3が有効であることを確認した上で、クラス証明書Cm3が禁止クラスリスト、すなわち、公開暗号鍵KPm3による暗号化が破られたクラス証明書リストに記載されていないメモリカードへの移動要求に対してのみコンテンツデータを移動することができ、不正なメモリカードへの移動および解読されたクラス鍵を用いた移動を禁止することができる。また、この移動動作を用いることによって、配信サーバ10との通信機能を有さない再生端末102のユーザも、パーソナルコンピュータ50を介して暗号化コンテンツデータおよびライセンスをメモリカードに受信することができ、ユーザの利便性は向上する。
【0337】
また、説明から明らかなように移動処理として説明したが、コンテンツ供給者によって、ライセンスの複製が許可されている場合には、複製処理として実行され、送信側のライセンス管理デバイス511にライセンスはそのまま保持される。この場合の複製は、配信時にコンテンツ供給者、すなわち、著作権所有者が複製を許可し、アクセス制限情報ACmの移動複製フラグを移動複製可に設定した場合にのみ許可される行為で合え居、著作権所有者の権利を阻害した行為ではない。アクセス制限情報はライセンスの一部であり、その機密性は保証されているにで、著作権は保護されている。
【0338】
なお、上記においては、パーソナルコンピュータ50のライセンス管理デバイス520からメモリカード110へのライセンスの移動について説明したが、メモリカード110からライセンス管理デバイス520へのライセンスの移動も、図26〜図29に示すフローチャートに従って行なわれる。また、パーソナルコンピュータ50が配信サーバ10から受信した暗号化コンテンツデータおよびライセンスをメモリカード110へ移動できるのでは、ライセンス管理デバイス520が配信サーバ10からハード的に受信した暗号化コンテンツデータおよびライセンスだけであり、ライセンス管理モジュール511が配信サーバ10からソフト的に受信した暗号化コンテンツデータおよびライセンスを「移動」という概念によってメモリカードへ送信することはできない。ライセンス管理モジュール511は、ライセンス管理デバイス520よりも低いセキュリティレベルによってソフト的に配信サーバ10との間で認証データおよび暗号鍵等のやり取りを行ない、暗号化コンテンツデータおよびライセンスを受信するので、その受信動作において暗号化が破られる可能性は、ライセンス管理デバイス520によって暗号化コンテンツデータおよびライセンスを受信する場合よりも高い。したがって、低いセキュリティレベルによって受信し、かつ、管理された暗号化コンテンツデータおよびライセンスを、ライセンス管理デバイス520と同じセキュリティレベルによって暗号化コンテンツデータおよびライセンスを受信して管理するメモリカード110へ「移動」という概念によって自由に移すことができるとすると、メモリカード110におけるセキュリティレベルが低下するので、これを防止するためにライセンス管理モジュール511によって受信した暗号化コンテンツデータおよびライセンスを「移動」という概念によってメモリカード110へ送信できなくしたものである。
【0339】
しかしながら、ライセンス管理モジュール511によって受信されたセキュリティレベルの低い暗号化コンテンツデータおよびライセンスを、一切、メモリカード110へ移すことができないとすると、著作権を保護しながらコンテンツデータの自由なコピーを許容するデータ配信システムの趣旨に反し、ユーザの利便性も向上しない。そこで、次に説明するチェックアウトおよびチェックインの概念によってライセンス管理モジュール511によって受信した暗号化コンテンツデータおよびライセンスをメモリカード110へ送信できるようにした。
【0340】
[チェックアウト]
図1に示すデータ配信システムにおいて、配信サーバ10からパーソナルコンピュータ50のライセンス管理モジュール511へ配信された暗号化コンテンツデータおよびライセンスを再生端末100に装着されたメモリカード110に送信する動作について説明する。なお、この動作を「チェックアウト」という。
【0341】
図30〜図34は、図1に示すデータ配信システムにおいて、ライセンス管理モジュール511が配信サーバ10から受信した暗号化コンテンツデータおよびライセンスを、返却を条件として再生端末100に装着されたメモリカード110へ貸出すチェックアウト動作を説明するための第1〜第5のフローチャートである。なお、図30における処理以前に、パーソナルコンピュータ50のユーザは、コンテンツリストファイルに従って、チェックアウトするコンテンツを決定し、HDD530のコンテンツファイルおよびライセンス管理ファイルが特定でき、メモリカード110の再生リストファイルを取得してていることを前提として説明する。
【0342】
図30を参照して、パーソナルコンピュータ50のキーボード560からチェックアウトリクエストが入力されると(ステップS500)、ライセンス管理モジュール511は、バインディング鍵取得処理を行う。図30のステップS501から図31のステップ515の一連の処理がバインディング鍵取得処理であり、配信2のフローチャートにおける図20のステップS270から図21のステップS284の一連の処理と同じである。ゆえに、説明を省略する。
【0343】
バインディング鍵Kbを取得したライセンス管理モジュール511は、バスBS2を介してHDD530から暗号化機密ファイル160を取得し、その取得した暗号化機密ファイル160をバインディング鍵Kbによって復号して平文の機密ファイルを取得する(ステップS516)。その後、ライセンス管理モジュール511は、ライセンス管理ファイルに記録された機密情報番号nに対応する機密ファイル内の機密情報n(トランザクションID、コンテンツID、ライセンス鍵Kc、アクセス制限情報ACm、再生期限ACp、およびチェックアウト情報)を取得する(ステップS517)。
【0344】
そうすると、ライセンス管理モジュール511は、取得したアクセス制限情報ACmに基づいてライセンスがチェックアウト可能か否かを確認する(ステップS518)、つまり、ライセンス管理モジュール511は、再生端末100に装着されたメモリカード110へチェックアウトしようとするライセンスがアクセス制限情報ACmの再生回数によって暗号化コンテンツデータの再生回数の制限がないか、再生ができないライセンスになっていないか否かを確認する。再生回数に制限がある場合、暗号化コンテンツデータおよびライセンスをチェックアウトしない。
【0345】
ステップS518において、再生に制限がある場合、ステップS564へ移行し、チェックアウト動作は終了する。ステップS518において、暗号化コンテンツデータの再生回数がアクセス制限情報ACmによる制限回数に達していない場合、ステップS519へ移行する。そして、ライセンス管理モジュール511は、取得したチェックアウト情報に含まれるチェックアウト可能数が「0」よりも大きいか否かを確認する(ステップS519)。ステップS519において、チェックアウト可能数が「0」であれば、チェックアウトできるライセンスが無いので、ステップS564へ移行し、チェックアウト動作は終了する。ステップS519において、チェックアウト可能数が「0」よりも大きいとき、ライセンス管理モジュール511は、USBインタフェース550、端子580、およびUSBケーブル70を介して認証データの送信要求を送信する(ステップS520)。再生端末100のコントローラ1106は、端子1114、USBインタフェース1112、およびバスBS3を介して認証データの送信要求を受信し、その受信した認証データの送信要求をバスBS3およびメモリカードインタフェース1200を介してメモリカード110へ送信する。そして、メモリカード110のコントローラ1420は、端子1426、インタフェース1424およびバスBS4を介して認証データの送信要求を受信する(ステップS521)。
【0346】
コントローラ1420は、認証データの送信要求を受信すると、認証データ保持部1400から認証データ{KPm3//Cm3}KPa2をバスBS4を介して読出し、その読出した認証データ{KPm3//Cm3}KPa2をバスBS4、インタフェース1424および端子1426を介して再生端末100へ出力する。そして、再生端末100のコントローラ1106は、メモリカードインタフェース1200およびバスBS3を介して認証データ{KPm3//Cm3}KPa2を受取り、バスBS3、USBインタフェース1112、端子1114およびUSBケーブル70を介してパーソナルコンピュータ50へ認証データ{KPm3//Cm3}KPa2を送信する(ステップS522)。
【0347】
そうすると、パーソナルコンピュータ50のライセンス管理モジュール511は、端子580およびUSBインタフェース550を介して認証データ{KPm3//Cm3}KPa2を受信し(ステップS523)、その受信した認証データ{KPm3//Cm3}KPa2をレベル2認証鍵KPa2によって復号する(ステップS524)。
【0348】
図32を参照して、ライセンス管理モジュール511は、復号処理結果から、処理が正常に行なわれたか否か、すなわち、メモリカード110が正規のメモリカードからのクラス公開暗号鍵KPm3とクラス証明書Cm3とを保持することを認証するために、正規の機関でその正当性を証明するための暗号を施した認証データを受信したか否かを判断する認証処理を行なう(ステップS525)。正当な認証データであると判断された場合、ライセンス管理モジュール511は、クラス公開暗号鍵KPm3およびクラス証明書Cm3を承認し、受理する。そして、次の処理(ステップS526)へ移行する。正当な認証データでない場合には、非承認とし、クラス公開暗号鍵KPm3およびクラス証明書Cm3を受理しないで処理を終了する(ステップS564)。
【0349】
認証の結果、正規のメモリカードであることが認識されると、ライセンス管理モジュール511は、次に、メモリカード110のクラス証明書Cm3が禁止クラスリストCRLにリストアップされているかどうかをHDD530に照会し、これらのクラス証明書が禁止クラスリストの対象になっている場合には、ここでチェックアウト動作を終了する(ステップS564)。一方、メモリカード110のクラス証明書が禁止クラスリストの対象外である場合には次の処理に移行する(ステップS526)。
【0350】
認証の結果、正当な認証データを持つメモリカードを備える再生端末からのアクセスであり、クラスが禁止クラスリストの対象外であることが確認されると、ライセンス管理モジュール511は、チェックアウトを特定するための管理コードであるチェックアウト用トランザクションIDを、メモリカード110の格納されている全てのトランザクションIDと異なる値をとり、かつ、ローカル使用のトランザクションIDとして生成する。生成する(ステップS527)。そして、ライセンス管理モジュール511は、チェックアウトのためのセッションキーKs2bを生成し(ステップS528)、メモリカード110から送信されたクラス公開暗号鍵KPm3によって、生成したセッションキーKs2bを暗号化する(ステップS529)。そして、ライセンス管理モジュール511は、暗号化データ{Ks2b}Km3にチェックアウト用トランザクションIDを追加したチェックアウト用トランザクションID//{Ks2b}Km3をUSBインタフェース550、端子580、およびUSBケーブル70を介して再生端末100へ送信する(ステップS530)。そうすると、再生端末100のコントローラ1106は、端子1114、USBインタフェース1112、およびバスBS3を介してチェックアウト用トランザクションID//{Ks2b}Km3を受信し、その受信したチェックアウト用トランザクションID//{Ks2b}Km3をメモリカードインタフェース1200を介してメモリカード110へ送信する。そして、メモリカード110のコントローラ1420は、端子1426、インタフェース1424およびバスBS4を介してチェックアウト用トランザクションID//{Ks2b}Km3を受信する(ステップS531)。復号処理部1422は、コントローラ1420からバスBS4を介して{Ks2b}Km3を受取り、Km保持部1421からの秘密復号鍵Km3によって{Ks2b}Km3を復号してセッションキーKs2bを受理する(ステップS532)。そして、セッションキー発生部1418は、セッションキーKs2cを生成し(ステップS533)、コントローラ1420は、バスBS4を介してメモリ1415のCRL領域1415Aから禁止クラスリストの更新日時CRLdateを取得し、その取得した更新日時CRLdateを切換スイッチ1446へ与える(ステップS534)。
【0351】
そうすると、暗号化処理部1406は、切換スイッチ1446の端子を順次切換えることによって取得したセッションキーKs2c、個別公開暗号鍵KPmc4および更新日時CRLdateを、復号処理部1404によって復号されたセッションキーKs2bによって暗号化し、暗号化データ{Ks2c//KPmc4//CRLdate}Ks2bを生成する。コントローラ1420は、暗号化データ{Ks2c//KPmc4//CRLdate}Ks2bをバスBS4、インタフェース1424および端子1426を介して再生端末100へ出力し、再生端末100のコントローラ1106は、メモリカードインタフェース1200を介して暗号化データ{Ks2c//KPmc4//CRLdate}Ks2bを受取る。そして、コントローラ1106は、USBインタフェース1112、端子1114、およびUSBケーブル70を介してパーソナルコンピュータ50へ送信する(ステップS535)。
【0352】
パーソナルコンピュータ50のライセンス管理モジュール511は、端子580およびUSBインタフェース550を介して暗号化データ{Ks2c//KPmc4//CRLdate}Ks2bを受信し(ステップS536)、その受信した暗号化データ{Ks2c//KPmc4//CRLdate}Ks2bをセッションキーKs2bによって復号し、セッションキーKs2c、個別公開暗号鍵KPmc4および更新日時CRLdateを受理する(ステップS537)。そして、ライセンス管理モジュール511は、再生端末100に装着されたメモリカードから他のメモリカード等へライセンスが移動/複製されるのを禁止したチェックアウト用アクセス制限情報ACmを生成する。すなわち、再生回数を無制限(=255)、移動複製フラグを移動複製不可(=3)、セキュリティレベルを1に設定したアクセス制限情報ACmを生成する(ステップS538)。
【0353】
図33を参照して、ライセンス管理モジュール511は、ステップS537において受信したメモリカード110に固有の公開暗号鍵KPmc4によってライセンスを暗号化して暗号化データ{チェックアウト用トランザクションID//コンテンツID//Kc//チェックアウト用ACm//ACp}Kmc4を生成する(ステップS539)。そして、メモリカード110から送信された更新日時CRLdateが、ライセンス管理モジュール511が管理するHDD530に保持される禁止クラスリストの更新日時と比較し、いずれの禁止クラスリストが新しいかが判断され、メモリカード110の方が新しいと判断されたとき、ステップS541へ移行する。また、逆に、ライセンス管理モジュール511の方が新しいと判断されたときはステップS544へ移行する(ステップS540)。
【0354】
メモリカード110の方が新しいと判断されたとき、ライセンス管理モジュール511は、暗号化データ{チェックアウト用トランザクションID//コンテンツID//Kc//チェックアウト用ACm//ACp}Kmc4をセッションキーKs2cによって暗号化を行い、暗号化データ{{チェックアウト用トランザクションID//コンテンツID//Kc//チェックアウト用ACm//ACp}Kmc4}Ks2cをUSBインタフェース550、端子580、およびUSBケーブル70を介して再生端末100へ送信する(ステップS541)。
【0355】
再生端末100のコントローラ1106は、端子1114、USBインタフェース1112、およびバスBS3を介して暗号化データ{{チェックアウト用トランザクションID//コンテンツID//Kc//チェックアウト用ACm//ACp}Kmc4}Ks2cを受信し、その受信した暗号化データ{{チェックアウト用トランザクションID//コンテンツID//Kc//チェックアウト用ACm//ACp}Kmc4}Ks2cをバスBS3およびメモリカードインタフェース1200を介してメモリカード110へ送信する。そして、メモリカード110のコントローラ1420は、端子1426、端子1424、およびバスBS4を介して暗号化データ{{チェックアウト用トランザクションID//コンテンツID//Kc//チェックアウト用ACm//ACp}Kmc4}Ks2cを受信する(ステップS542)。
【0356】
メモリカード110の復号処理部1412は、暗号化データ{{チェックアウト用トランザクションID//コンテンツID//Kc//チェックアウト用ACm//ACp}Kmc4}Ks2cをバスBS4を介して受取り、セッションキー発生部1418によって発生されたセッションキーKs2cによって復号し、{チェックアウト用トランザクションID//コンテンツID//Kc//チェックアウト用ACm//ACp}Kmc4を受理する(ステップS543)。その後、図34に示すステップS549へ移行する。
【0357】
一方、ステップS540において、ライセンス管理モジュール511の禁止クラスリストのほうが新しいと判断されると、ライセンス管理モジュール511は、HDD530からライセンス管理モジュール511の管理する禁止クラスリストCRLを取得する(ステップS544)。
【0358】
そして、ライセンス管理モジュール511は、{チェックアウト用トランザクションID//コンテンツID//Kc//チェックアウト用ACm//ACp}Kmc4と、HDD530から取得した禁止クラスリストのデータCRLとをセッションキーKs2cによって暗号化し、その暗号化データ{CRL//{チェックアウト用トランザクションID//コンテンツID//Kc//チェックアウト用ACm//ACp}Kmc4}Ks2cをUSBインタフェース550、端子580およびUSBケーブル70を介して再生端末100へ送信する(ステップS545)。再生端末100のコントローラ1106は、端子1114、USBインタフェース1112、およびバスBS3を介して暗号化データ{CRL//{チェックアウト用トランザクションID//コンテンツID//Kc//チェックアウト用ACm//ACp}Kmc4}Ks2cを受信し、その受信した暗号化データ{CRL//{チェックアウト用トランザクションID//コンテンツID//Kc//チェックアウト用ACm//ACp}Kmc4}Ks2cをバスBS3およびメモリカードインタフェース1200を介してメモリカード110へ出力する。そうすると、メモリカード110のコントローラ1420は、端子1426、インタフェース1424、およびバスBS4を介して暗号化データ{CRL//{チェックアウト用トランザクションID//コンテンツID//Kc//チェックアウト用ACm//ACp}Kmc4}Ks2cを受信する(ステップS546)。
【0359】
メモリカード110において、復号処理部1412は、セッションキー発生部1418から与えられたセッションキーKs2cを用いてバスBS4上の受信データを復号し、CRLと{チェックアウト用トランザクションID//コンテンツID//Kc//チェックアウト用ACm//ACp}Kmc4とを受理する(ステップ547)。コントローラ1420は、復号処理部1412によって受理されたデータCRLをバスBS4を介して受取り、その受取ったデータCRLによってメモリ1415のCRL領域1415Aを書換える(ステップS548)。
【0360】
ステップS541,S542,S543は、送信側のライセンス管理モジュール511の禁止クラスリストCRLより、受信側のメモリカード110の禁止クラスリストCRLが新しい場合のライセンス鍵Kc等のメモリカード110へのチェックアウト動作であり、ステップS544,S545,S546,S547,S548は、受信側のメモリカード110の禁止クラスリストCRLより、送信側のライセンス管理モジュール511の禁止クラスリストCRLが新しい場合のライセンス鍵Kc等のメモリカード110へのチェックアウト動作である。このように、メモリカード110へライセンスを送信するときに、メモリカード100がCRL領域1415Bで保持する禁止クラスリストCRLより、HDD530に新しい禁止クラスリストCRLが記録されている場合には禁止クラスリストCRLをHDD530から取得し、禁止クラスリストCRLをメモリカード110に配信することによって、メモリカード100がCRL領域1415Bで保持する禁止クラスリストを更新していくことができる、クラス鍵が破られたメモリカード110へのらい線への送信を禁止することができ、配信されたライセンスの流出を防止できる。
【0361】
図34を参照して、ステップS543またはステップS548の後、コントローラ1420の指示によって、暗号化ライセンス{チェックアウト用トランザクションID//コンテンツID//Kc//チェックアウト用ACm//ACp}Kmc4は、復号処理部1404において、秘密復号鍵Kmc4によって復号され、ライセンス(ライセンス鍵Kc、チェックアウト用トランザクションID、コンテンツID、チェックアウト用ACmおよび再生期限ACp)が受理される(ステップS549)。
【0362】
そして、パーソナルコンピュータ50のライセンス管理モジュール511は、メモリカード110へチェックアウトしたライセンスを格納するためのエントリ番号を、USBインタフェース550、端子580、およびUSBケーブル70を介して再生端末102へ送信しする(ステップS550)。そうすると、再生端末102のコントローラ1106は、端子1114、USBインタフェース1112、およびバスBS3を介してエントリ番号を受取り、その受取ったエントリ番号によって指定されるメモリ1415のライセンス領域1415Bに、ステップS566において受理したライセンス(ライセンス鍵Kc、チェックアウト用トランザクションID、コンテンツID、チェックアウト用ACmおよび再生制御情報ACp)を格納する(ステップS551)。
【0363】
パーソナルコンピュータ50のライセンス管理モジュール511は、メモリカード110のメモリ1415に格納されたライセンスのエントリ番号と、平文のチェックアウト用トランザクションIDおよびコンテンツIDを含むメモリカード110へ移動しようとする暗号化コンテンツデータ{Dc}Kcと付加情報Dc−infに対するライセンス管理ファイルを生成し、メモリカード110へ送信する(ステップS552)。
【0364】
メモリカード110のコントローラ1420は、再生端末102を介してライセンス管理ファイルを受信し、メモリ1415のデータ領域1415Cに受信したライセンス管理ファイルを記録する(ステップS553)。
【0365】
パーソナルコンピュータ50のライセンス管理モジュール511は、チェックアウト可能数を1減算し、チェックアウト用トランザクションIDとチェックアウト先のメモリカードに固有の公開暗号鍵KPmc4とを追加してチェックアウト情報を更新する(ステップS554)。そして、ライセンス管理モジュール511は、トランザクションID、コンテンツID、ライセンス鍵Kc、アクセス制限情報ACm、再生期限ACp、および更新したアドレス情報(チェックアウト可能数と、チェックアウト用トランザクションIDと、チェックアウト先のメモリカード110に個別の戸別公開暗号鍵KPmc4を追加したもの)を新たな機密情報nとして平文の機密ファイルを更新する(ステップS555)。チェックアウト先の個別公開鍵KPmc4は、個別公開鍵はメモリカードの耐タンパモジュール無いに格納され、かつ、認証による暗号を用いたセキュリティの高い通信手段によって入手するメモリカードごとに固有値を持つため、メモリカード特定する識別情報として適している。
【0366】
その後、ライセンス管理モジュール511は、平文の機密ファイルをバインディング鍵Kbによって暗号化してHDD530に記録されている暗号化機密ファイル160を更新する(ステップS556)。
【0367】
ライセンス管理モジュール511は、メモリカード110へチェックアウトしようとする暗号化コンテンツデータ{Dc}Kcと付加情報Dc−infとをHDD530から取得し、{Dc}Kc//Dc−infをメモリカード110へ送信する(ステップS557)。メモリカード110のコントローラ1420は、再生端末100を介して{Dc}Kc//Dc−infを受信し(ステップS558)、バスBS4を介して受信した{Dc}Kc//Dc−infをメモリ1415のデータ領域1415Cに記録する(ステップS559)。
【0368】
そうすると、パーソナルコンピュータ50のライセンス管理モジュール511は、メモリカード110へチェックアウトした楽曲を追記した再生リストファイルを作成し(ステップS560)、再生リストファイルと、再生リストファイルとの書換指示とをメモリカード110へ送信する(ステップS561)。メモリカード110のコントローラ1420は、再生端末100を介して再生リストと書換指示とを受信し(ステップS562)、バスBS4を介してメモリ1415のデータ領域1415Cに記録されている再生リストファイルを受信した再生リストファイルに書換え(ステップS563)、チェックアウト動作が終了する(ステップS564)。
【0369】
このようにして、再生端末100に装着されたメモリカード110が正規の機器であること、同時に、クラス証明書Cm3とともに暗号化して送信されたクラス公開暗号鍵KPm3が有効であることを確認した上で、クラス証明書Cm3が禁止クラスリスト、すなわち、クラス公開暗号鍵KPm3による暗号化が破られたクラス証明書リストに記載されていないメモリカードへのチェックアウト要求に対してのみコンテンツデータをチェックアウトすることができ、不正なメモリカードへのチェックアウトおよび解読されたクラス鍵を用いたチェックアウトを禁止することができる。また、ライセンス管理モジュールおよびメモリカードでそれぞれ生成される暗号鍵をやり取りし、お互いが受領した暗号鍵を用いた暗号化を実行して、その暗号化データを相手方に送信することによって、それぞれの暗号化データの送受信においても事実上の相互認証を行なうことができ、暗号化コンテンツデータおよびライセンスのチェックアウト動作におけるセキュリティを向上させることができる。さらに、このチェックアウト動作を用いることによって、配信サーバ10との通信機能を有さない再生端末100のユーザも、パーソナルコンピュータ50がソフトウエアによって受信した暗号化コンテンツデータおよびライセンスをメモリカードに受信することができ、ユーザの利便性は向上する。
【0370】
[チェックイン]
図1に示すデータ配信システムにおいて、パーソナルコンピュータ50のライセンス管理モジュール511からメモリカード110へチェックアウトされた暗号化コンテンツデータおよびライセンスをライセンス管理モジュール511へ戻す動作について説明する。なお、この動作を「チェックイン」という。
【0371】
図35〜図38は、図30〜図34を参照して説明したチェックアウト動作によってメモリカード110へ貸出された暗号化コンテンツデータおよびライセンスを返却して貰うチェックイン動作を説明するための第1〜第4のフローチャートである。なお、図35における処理以前に、パーソナルコンピュータ50のユーザは、HDD520に記録されているコンテンツリストファイルとメモリカード110のデータ領域1415Bに記録されている再生リストファイルを取得し、両ファイルに従って、チェックインするコンテンツを決定し、HDD530およびメモカード110のコンテンツファイルおよびライセンス管理ファイルが特定でき、かつ、メモリカード110のライセンス管理ファイルを取得してていることを前提として説明する。
【0372】
図35を参照して、パーソナルコンピュータ50のキーボード560からチェックインリクエストが入力されると(ステップS600)、ライセンス管理モジュール511は、バインディング鍵取得処理を行う。図35のステップS601から図36のステップ615の一連の処理がバインディング鍵取得処理であり、配信2のフローチャートにおける図20のステップS270から図21のステップS284の一連の処理と同じである。ゆえに、説明を省略する。
【0373】
バインディング鍵Kbを取得したライセンス管理モジュール511は、バスBS2を介してHDD530から暗号化機密ファイル160を取得し、その取得した暗号化機密ファイル160をバインディング鍵Kbによって復号して平文の機密ファイルを取得する(ステップS616)。その後、ライセンス管理モジュール511は、ライセンス管理ファイルに記録された機密情報番号nに対応する機密ファイル内の機密情報n(ライセンス(トランザクションID、コンテンツID、ライセンス鍵Kc、アクセス制限情報ACm、再生期限ACp)、およびチェックアウト情報(チェックアウト可能数、チェックアウト用トランザクションID、チェックアウト先のメモリカードの個別公開暗号鍵KPmcx))を取得する(ステップS617)。そして、ライセンス管理モジュール511は、認証データの送信要求をUSBインターフェース550、端子580、およびUSBケーブル70を介して再生端末100へ送信する(ステップS618)。
【0374】
そうすると、再生端末100のコントローラ1106は、端子1114、USBインタフェース1112およびバスBS3を介して認証データの送信要求を受信し、バスBS3およびメモリカードインタフェース1200を介して認証データの送信要求をメモリカード110へ送信する。そして、メモリカード110のコントローラ1420は、端子1426、インタフェース1424およびバスBS4を介して認証データの送信要求を受信する(ステップS619)。
【0375】
コントローラ1420は、認証データの送信要求を受信すると、認証データ保持部1400から認証データ{KPm3//Cm3}KPa2をバスBS4を介して読出し、その読出した認証データ{KPm3//Cm3}KPa2をバスBS4、インタフェース1424および端子1426を介して再生端末100へ出力する。そして、再生端末100のコントローラ1106は、メモリカードインタフェース1200およびバスBS3を介して認証データ{KPm3//Cm3}KPa2を受取り、バスBS3、USBインタフェース1112、端子1114およびUSBケーブル70を介してパーソナルコンピュータ50へ認証データ{KPm3//Cm3}KPa2を送信する(ステップS620)。
【0376】
パーソナルコンピュータ50のライセンス管理モジュール511は、端子580およびUSBインタフェース550を介して認証データ{KPm3//Cm3}KPa2を受信し(ステップS621)、その受信した認証データ{KPm3//Cm3}KPa2をレベル2認証鍵KPaによって復号する(ステップS622)。そして、ライセンス管理モジュール511は、復号処理結果から、処理が正常に行なわれたか否か、すなわち、メモリカード110が正規のメモリカードからのクラス公開暗号鍵KPm3とクラス証明書Cm3とを保持することを認証するために、正規の機関でその正当性を証明するための暗号を施した認証データを受信したか否かを判断する認証処理を行なう(ステップS623)。正当な認証データであると判断された場合、ライセンス管理モジュール511は、クラス公開暗号鍵KPm3およびクラス証明書Cm3を承認し、受理する。そして、次の処理(ステップS624)へ移行する。正当な認証データでない場合には、非承認とし、クラス公開暗号鍵KPm3およびクラス証明書Cm3を受理しないで処理を終了する(ステップS653)。認証の結果、正規のメモリカードであることが認識されると、ライセンス管理モジュール511は、ダミートランザクションIDを生成する(ステップS624)。ダミー用トランザクションIDは、必ず、メモリカード110の格納されている全てのトランザクションIDと異なる値をとり、かつ、ローカル使用のトランザクションIDとして生成する。
【0377】
図37を参照して、ライセンス管理モジュール511は、チェックイン用のセッションキーKs2bを生成する(ステップS625)。そして、ライセンス管理モジュール511は、生成したセッションキーKs2bをメモリカード110から受信したクラス公開暗号鍵KPm3によって暗号化し、暗号化データ{Ks2b}Km3を生成し(ステップS626)、暗号化データ{Ks2b}Km3にダミートランザクションIDを追加したダミートランザクションID//{Ks2b}Km3をUSBインタフェース550、端子580、およびUSBケーブル70を介して再生端末100へ送信する(ステップS627)。再生端末100のコントローラ1106は、端子1114、USBインタフェース1112、およびBS3を介してダミートランザクションID//{Ks2b}Km3を受信し、その受信したダミートランザクションID//{Ks2b}Km3をメモリカードインタフェース1200を介してメモリカード110へ送信する。そして、メモリカード110のコントローラ1420は、端子1426、インタフェース1424およびバスBS4を介してダミートランザクションID//{Ks2b}Km3を受信する(ステップS628)。復号処理部1422は、コントローラ1420からバスBS4を介して{Ks2b}Km3を受取り、Km保持部1421からのクラス秘密復号鍵Km3によって{Ks2b}Km3を復号してセッションキーKs2bを受理する(ステップS629)。そして、セッションキー発生部1418は、セッションキーKs2cを生成し(ステップS630)、コントローラ1420は、バスBS4を介してメモリ1415のCRL領域1415Aから禁止クラスリストの更新日時CRLdateを取得し、その取得した更新日時CRLdateを切換スイッチ1446へ与える(ステップS631)。
【0378】
そうすると、暗号化処理部1406は、切換スイッチ1446の端子を順次切換えることによって取得したセッションキーKs2c、個別公開暗号鍵KPmc4および更新日時CRLdateを、復号処理部1422によって復号され、切換スイッチ1442の端子Paを介して取得したセッションキーKs2bによって暗号化し、暗号化データ{Ks2c//KPmc4//CRLdate}Ks2bを生成する。コントローラ1420は、暗号化データ{Ks2c//KPmc4//CRLdate}Ks2bをバスBS4、インタフェース1424および端子1426を介して再生端末100へ出力し、再生端末100のコントローラ1106は、メモリカードインタフェース1200を介して暗号化データ{Ks2c//KPmc4//CRLdate}Ks2bを受取る。そして、コントローラ1106は、暗号化データ{Ks2c//KPmc4//CRLdate}Ks2bをUSBインタフェース1112、端子1114、およびUSBケーブル70を介してパーソナルコンピュータ50へ送信する(ステップS632)。
【0379】
パーソナルコンピュータ50のライセンス管理モジュール511は、端子580およびUSBインタフェース550を介して暗号化データ{Ks2c//KPmc4//CRLdate}Ks2bを受信し(ステップS633)、その受信した暗号化データ{Ks2c//KPmc4//CRLdate}Ks2bをセッションキーKs2bによって復号し、セッションキーKs2c、個別公開暗号鍵KPmc4および更新日時CRLdateを受理する(ステップS634)。
【0380】
そうすると、ライセンス管理モジュール511は、受理した個別公開暗号鍵KPmc4がステップS617で取得した機密情報nのチェックアウト情報に含まれる否かを、すなわち、チェックアウトしようとするライセンスのチェックアウト用トランザクションIDに対応して格納されている個別公開暗号鍵KPmcxと一致するか否かを確認する(ステップS635)。
【0381】
受理された個別公開暗号鍵KPmc4は、暗号化コンテンツデータおよびライセンスのチェックアウトの際に、更新されたチェックアウト情報に含まれるものである(図34のステップS551を参照)。したがって、暗号化コンテンツデータ等のチェックアウト先に対応する個別公開暗号鍵KPmc4をチェックアウト情報に含ませることによってチェックインの際にチェックアウトしたチェックアウト先を容易に特定することができる。
【0382】
ステップS635において、個別公開暗号鍵KPmc4がチェックアウト情報に含まれていないときチェックイン動作は終了する(ステップS653)。ステップS635において、個別公開暗号鍵KPmc4がチェックアウト情報に含まれていると、ライセンス管理モジュール511は、ダミーライセンス、つまり、ダミートランザクションID、対応するコンテンツ存在しないダミーコンテンツID、再生に関与し得ないダミーライセンス鍵Kc(ダミーKcと表す。)、移動複製フラグが「移動複製禁止」かつ再生回数が「0」を示すダミーアクセス制限情報ACm(ダミーACmと表す。)、およびダミー再生期限ACp(ダミーACpと表す。)を個別公開暗号鍵KPmc4によって暗号化し、暗号化データ{ダミートランザクションID//ダミーコンテンツID//Kc//ダミーACm//ダミーACp}Kmc4を生成する(ステップS636)。
【0383】
ライセンス管理モジュール511は、暗号化データ{ダミートランザクションID//ダミーコンテンツID//ダミーKc//ダミーACm//ダミーACp}Kmc4をセッションキーKs2cによって暗号化を行い、暗号化データ{{ダミートランザクションID//ダミーコンテンツID//ダミーKc//ダミーACm//ダミーACp}Kmc4}Ks2cを生成し、その生成した暗号化データ{{ダミートランザクションID//ダミーコンテンツID//Kc//ダミーACm//ダミーACp}Kmc4}Ks2cをUSBインタフェース550、端子580、およびUSBケーブル70を介して再生端末100へ送信する(ステップS637)。
【0384】
再生端末100のコントローラ1106は、端子1114、USBインタフェース1112、およびバスBS3を介して暗号化データ{{ダミートランザクションID//ダミーコンテンツID//ダミーKc//ダミーACm//ダミーACp}Kmc4}Ks2cを受信する。コントローラ1106は、受信した暗号化データ{{ダミートランザクションID//ダミーコンテンツID//ダミーKc//ダミーACm//ダミーACp}Kmc4}Ks2cをバスBS3およびメモリカードインタフェース1200を介してメモリカード110へ送信する。そして、メモリカード110のコントローラ1420は、端子1426、端子1424、およびバスBS4を介して{{ダミートランザクションID//ダミーコンテンツID//ダミーKc//ダミーACm//ダミーACp}Kmc4}Ks2cを受信する(ステップS638)。
【0385】
図38を参照して、メモリカード110の復号処理部1412は、{{ダミートランザクションID//ダミーコンテンツID//ダミーKc//ダミーACm//ダミーACp}Kmc4}Ks2cをバスBS4を介して受取り、セッションキー発生部1418によって発生されたセッションキーKs2cによって復号し、{ダミートランザクションID//ダミーコンテンツID//ダミーKc//ダミーACm//ダミーACp}Kmc4を受理する(ステップS639)。そして、復号処理部1404は、暗号化データ{ダミートランザクションID//ダミーコンテンツID//ダミーKc//ダミーACm//ダミーACp}Kmc4を復号処理部1412から受取り、その受取った暗号化データ{ダミートランザクションID//ダミーコンテンツID//ダミーKc//ダミーACm//ダミーACp}Kmc4をKmc保持部1402からの個別秘密復号鍵Kmc4によって復号し、ダミートランザクションID、ダミーコンテンツID、ダミーKc、ダミーACm、およびダミーACpを受理する(ステップS640)。
【0386】
パーソナルコンピュータ50のライセンス管理モジュール511は、メモリカード110のライセンス管理ファイルに記載されているチェックアウトするライセンスが格納されているエントリ番号を取得して、ダミーライセンスを格納するためのエントリ番号として、USBインタフェース550、端子580、およびUSBケーブル70を介して再生端末102へ送信する(ステップS641)。そうすると、再生端末102のコントローラ1106は、端子1114、USBインタフェース1112、およびバスBS3を介してエントリ番号を受取り、バスBS4を介してその受取ったエントリ番号によって指定されるメモリ1415のライセンス領域1415Bに、ダミーライセンス(ダミートランザクションID、ダミーコンテンツID、ダミーライセンス鍵Kc、ダミーアクセス制限情報ACm、およびダミー再生期限ACp)を記録する(ステップS642)。このようにダミートランザクションID、ダミーコンテンツID、ダミーライセンス鍵Kc、ダミーアクセス制限情報ACm、およびダミー再生期限ACpを記録することによってメモリカード110へチェックアウトされたライセンスを消去することができる。
【0387】
その後、パーソナルコンピュータ50のライセンス管理モジュール511は、チェックアウト情報内のチェックアウト可能数を1だけ増やし、チェックアウト用トランザクションID、およびチェックアウト先のメモリカードの個別公開鍵KPmc4を削除してチェックアウト情報を更新する(ステップS643)。そして、ライセンス管理モジュール511は、トランザクションID、コンテンツID、ライセンス鍵Kc、アクセス制限情報ACm、および再生期限ACpと更新したチェックアウト情報とを新たな機密情報nとして平文の機密ファイルを更新する(ステップS644)。その後、ライセンス管理モジュール511は、平文の機密ファイルをバインディング鍵Kbによって暗号化してHDD530に記録されている暗号化機密ファイル160を更新する(ステップS645)。
【0388】
そうすると、ライセンス管理モジュール511は、メモリカード100のデータ領域1415Cに記録されているチェックインしたライセンスに対応するコンテンツファイル(暗号化コンテンツデータ{Dc}Kcと付加情報Dc−inf)とライセンス管理ファイルを削除する削除指示をUSBインタフェース550、端子580、およびUSBケーブル70を介して再生端末100へ送信する(ステップS646)。再生端末100のコントローラ1106は、端子1114、USBインタフェース1112、およびバスBS3を介してコンテンツファイル(暗号化コンテンツデータ{Dc}Kcおよび付加情報Dc−inf)とライセンス管理ファイルの削除指示を受信する(ステップS647)。そうすると、コントローラ1106は、(暗号化コンテンツデータ{Dc}Kcおよび付加情報Dc−inf)とライセンス管理ファイルとを削除する指示をメモリカード110へ出力し、メモリカード110のコントローラ1420は、端子1426、インタフェース1424、およびバスBS4を介して暗号化コンテンツデータ{Dc}Kcおよび付加情報Dc−infとライセンス管理ファイルとを削除するする指示を受信し、バスBS4を介してメモリ1415の暗号化コンテンツデータ{Dc}Kcおよび付加情報Dc−inf)とライセンス管理ファイルとを削除する(ステップS648)。
【0389】
パーソナルコンピュータ50のライセンス管理モジュール511は、チェックインした楽曲を削除した再生リストを作成し(ステップS649)、再生リストと、再生リストの書換指示とをメモリカード110へ送信する(ステップS650)。メモリカード110のコントローラ1420は、再生端末100を介して再生リストと書換指示とを受信し(ステップS651)、バスBS4を介してメモリ1415の再生リストを受信した再生リストに書換え(ステップS652)、チェックイン動作が終了する(ステップS653)。
【0390】
このように、暗号化コンテンツデータおよびライセンスをチェックアウトした相手先から暗号化コンテンツデータおよびライセンスを返却して貰うことによって、ライセンスの移動が禁止されてるセキュリティレベルの低いライセンス管理モジュールからおよびライセンスが、セキュリティレベルの高いメモリカードへ貸出され、メモリカードにおいてセキュリティレベルの低いライセンス管理モジュールで取得したライセンスを送信できるため、再生端末においてセキュリティレベルの低いライセンス管理モジュールで取得したライセンスによって再生できる暗号化コンテンツデータを再生して楽しむことができる。
【0391】
また、メモリカードへ貸出されたライセンスは、アクセス制限情報ACmによってメモリカードから他の記録機器(メモリカード、ライセンス管理デバイスおよびライセンス管理モジュール)に対して、チェックアウトしたライセンスが出力できないよう指定されているため、貸出したライセンスの流出することはない。貸出したライセンス管理モジュールに対してチェックイン〈返却〉することで、貸出したライセンスの権利が、貸出したライセンス管理モジュールに戻るようになっている。従って、著作者の意に反して複製ができることを許すものではなく、セキュリティレベルが低下する処理ではなく、著作権も保護されている。
【0392】
[再生]
次に、図39および図40を参照してメモリカード110に移動、およびチェックアウトされたコンテンツデータの再生端末100(コンテンツ再生デバイスとも言う、以下同じ)における再生動作について説明する。なお、図29における処理以前に、再生端末102のユーザは、再生リストファイルに従って、再生するコンテンツ(楽曲)を決定し、コンテンツファイルを特定し、ライセンス管理ファイルを取得していることを前提として説明する。
【0393】
図39を参照して、再生動作の開始とともに、再生端末100のユーザから操作パネル1108を介して再生指示が再生端末100にインプットされる(ステップS1000)。そうすると、コントローラ1106は、バスBS3を介して認証データ保持部1500から認証データ{KPp1//Cp1}KPa2を読出し、メモリカードインタフェース1200を介してメモリカード110へ認証データ{KPp1//Cp1}KPa2を出力する(ステップS1002)。
【0394】
そうすると、メモリカード110は、認証データ{KPp1//Cp1}KPa2を受理する(ステップS1004)。そして、メモリカード110の復号処理部1408は、受理した認証データ{KPp1//Cp1}KPa2を、KPa保持部1414に保持されたレベル2認証鍵KPa2によって復号し(ステップS1006)、コントローラ1420は復号処理部1408における復号処理結果から、認証処理を行なう。すなわち、認証データ{KPp1//Cp1}KPa2が正規の認証データであるか否かを判断する認証処理を行なう(ステップS1008)。復号できなかった場合、ステップS1048へ移行し、再生動作は終了する。認証データが復号できた場合、コントローラ1420は、取得したクラス証明書Cp1がメモリ1415のCRL領域1415Aから読出した禁止クラスリストCRLに含まれるか否かを判断する(ステップS1010)。この場合、クラス証明書Cp1には識別番号が付与されており、コントローラ1420は、受理したクラス証明書Cp1の識別番号が禁止クラスリストCRLの中に存在するか否かを判別する。クラス証明書Cp1が禁止クラスリストデータに含まれると判断されると、ステップS1048へ移行し、再生動作は終了する。
【0395】
ステップS1010において、クラス証明書Cp1が禁止クラスリストデータCRLに含まれていないと判断されると、メモリカード110のセッションキー発生部1418は、再生セッション用のセッションキーKs2を発生させる(ステップS1012)。そして、暗号処理部1410は、セッションキー発生部1418からのセッションキーKs2を、復号処理部1408で復号されたクラス公開暗号鍵KPp1によって暗号化した{Ks2}Kp1をバスBS3へ出力する(ステップS1014)。そうすると、コントローラ1420は、インタフェース1424および端子1426を介してメモリカードインタフェース1200へ{Ks2}Kp1を出力する(ステップS1016)。再生端末100のコントローラ1106は、メモリカードインタフェース1200を介して{Ks2}Kp1を取得する。そして、Kp1保持部1502は、秘密復号鍵Kp1を復号処理部1504へ出力する。
【0396】
復号処理部1504は、Kp1保持部1502から出力された、公開暗号鍵KPp1と対になっている秘密復号鍵Kp1によって{Ks2}Kp1を復号し、セッションキーKs2を暗号処理部1506へ出力する(ステップS1018)。そうすると、セッションキー発生部1508は、再生セッション用のセッションキーKs3を発生させ、セッションキーKs3を暗号処理部1506へ出力する(ステップS1020)。暗号処理部1506は、セッションキー発生部1508からのセッションキーKs3を復号処理部1504からのセッションキーKs2によって暗号化して{Ks3}Ks2を出力し、コントローラ1106は、バスBS3およびメモリカードインタフェース1200を介して{Ks3}Ks2をメモリカード110へ出力する(ステップS1022)。
【0397】
そうすると、メモリカード110の復号処理部1412は、端子1426、インタフェース1424、およびバスBS4を介して{Ks3}Ks2を入力する(ステップS1024)。
【0398】
図40を参照して、復号処理部1412は、セッションキー発生部1418によって発生されたセッションキーKs2によって{Ks3}Ks2を復号して、再生端末100で発生されたセッションキーKs3を受理する(ステップS1026)。
【0399】
再生端末のコントローラ1106は、メモリカード110から事前に取得した再生リクエスト曲のライセンス管理ファイルからライセンスの格納されているエントリ番号を取得し、メモリカードインタフェース1200を介してメモリカード110へ取得したエントリ番号を出力する(ステップS1027)。
【0400】
エントリ番号の入力に応じて、コントローラ1420は、アクセス制限情報ACmを確認する(ステップS1028)。ステップS1028においては、メモリのアクセスに対する制限に関する情報であるアクセス制限情報ACmを、具体的には、再生回数を確認することにより、確認することにより、既に再生不可の状態である場合には再生動作を終了し、アクセス制限情報の再生回数に回数制限がある場合にはアクセス制限情報ACmの再生回数を更新(1減ずる)した後に次のステップに進む(ステップS1030)。一方、アクセス制限情報ACmの再生回数によって再生回数が制限されていない場合においては、ステップS1030はスキップされ、アクセス制限情報ACmは更新されることなく処理が次のステップ(ステップS1032)に進行される。
【0401】
ステップS1028において、当該再生動作において再生が可能であると判断された場合には、メモリ1415のライセンス領域1415Bに記録された再生リクエスト曲のライセンス鍵Kcおよび再生期限ACpがバスBS4上に出力される(ステップS1032)。
【0402】
得られたライセンス鍵Kcと再生期限ACpは、切換スイッチ1446の接点Pfを介して暗号化処理部1406に送られる。暗号化処理部1406は、切換スイッチ1442の接点Pbを介して復号処理部1412より受けたセッションキーKs3によって切換スイッチ1446を介して受けたライセンス鍵Kcと再生期限ACpとを暗号化し、{Kc//ACp}Ks3をバスBS4に出力する(ステップS1034)。
【0403】
バスBS4に出力された暗号化データは、インタフェース1424、端子1426、およびメモリカードインタフェース1200を介して再生端末100に送出される。
【0404】
再生端末100においては、メモリカードインタフェース1200を介してバスBS3に伝達される暗号化データ{Kc//ACp}Ks3を復号処理部1510によって復号処理を行ない、ライセンス鍵Kcおよび再生期限ACpを受理する(ステップS1036)。復号処理部1510は、ライセンス鍵Kcを復号処理部1516に伝達し、再生期限ACpをバスBS3に出力する。
【0405】
コントローラ1106は、バスBS3を介して、再生期限ACpを受理して再生の可否の確認を行なう(ステップS1040)。
【0406】
ステップS1040においては、再生期限ACpによって再生不可と判断される場合には、再生動作は終了される。
【0407】
ステップS1040において再生可能と判断された場合、コントローラ1106は、メモリカードインタフェース1200を介してメモリカード110のデータ領域1415Cにコンテンツファイルとして記録された暗号化コンテンツデータ{Dc}Kcを要求する。そうすると、メモリカード110のコントローラ1420は、メモリ1415から暗号化コンテンツデータ{Dc}Kcを取得し、バスBS4、インタフェース1424、および端子1426を介してメモリカードインタフェース1200へ出力する(ステップS1042)。
【0408】
再生端末100のコントローラ1106は、メモリカードインタフェース1200を介して暗号化コンテンツデータ{Dc}Kcを取得し、バスBS3を介して暗号化コンテンツデータ{Dc}Kcを復号処理部1516へ与える。
【0409】
そして、復号処理部1516は、暗号化コンテンツデータ{Dc}Kcを復号処理部1510から出力されたコンテンツ鍵Kcによって復号してコンテンツデータDataを取得する(ステップS1044)。
【0410】
そして、復号されたコンテンツデータDcは音楽再生部1518へ出力され、音楽再生部1518は、コンテンツデータを再生し、DA変換器1519はディジタル信号をアナログ信号に変換して端子1530へ出力する。そして、音楽データは端子1530から外部出力装置を介してヘッドホーン130へ出力されて再生される(ステップS1046)。これによって再生動作が終了する。
【0411】
上記においては、メモリカード110に記録された暗号化コンテンツデータを再生端末100によって再生する場合について説明したが、パーソナルコンピュータ50,80に、図7に示すコンテンツ再生デバイス1550を内蔵することによってライセンス管理モジュール511およびライセンス管理デバイス520によって受信された暗号化コンテンツデータを再生することが可能である。なお、ライセンス管理モジュール511によって取得された暗号化コンテンツデータをコンテンツ再生デバイス1550により再生する場合、ライセンス管理モジュール511は、ライセンス管理デバイス520に格納されたバインディング鍵Kbを取得し、HDD530に記録された暗号化機密ファイル160をバインディング鍵Kbによって復号し、平文の機密ファイルからライセンスを読出してコンテンツ再生デバイス1550へ与える。
【0412】
また、パーソナルコンピュータ50,80に暗号化コンテンツデータを再生するソフトウエアに従って機能する再生部を内蔵することによって、ライセンス管理モジュール511が取得した暗号化コンテンツデータをソフトウエアにより再生することが可能である。この場合も、ライセンス管理モジュール511は、ライセンス管理デバイス520に格納されたバインディング鍵Kbを取得し、HDD530に記録された暗号化機密ファイル160をバインディング鍵Kbによって復号し、平文の機密ファイルからライセンスを読出してコンテンツ再生デバイス1550へ与える。コンテンツ再生デバイス1550を用いたハード的に機密性を持つ再生(レベル2)に比べて、ソフトウエアによる再生は、ソフト的に機密性を持つ再生(レベル1)であるためセキュリティレベルが低い処理である。ゆえに、ライセンス管理デバイス520にて保持されるライセンスは、このソフトウェアによる再生では使用できない。
【0413】
[移動2]
図1に示すデータ配信システムにおいて、パーソナルコンピュータ50のライセンス管理モジュール511が取得した暗号化コンテンツデータおよびライセンスをパーソナルコンピュータ80へ移動する動作について説明する。なお、この移動を[移動2]という。
【0414】
図41〜図48は、ライセンス管理モジュール511が取得した暗号化コンテンツデータおよびライセンスのパーソナルコンピュータ80への移動を説明するための第1〜第8のフローチャートである。なお、図41における処理以前に、パーソナルコンピュータ50のユーザは、コンテンツリストファイルに従って、移動するコンテンツを決定し、HDD530およびメモカード110のコンテンツファイルおよびライセンス管理ファイルが特定していることを前提に説明する。また、受信側のパーソナルコンピュータ80におけるライセンス管理モジュールのクラスを識別する自然数wはw=5であり、ライセンス管理モジュールを識別する自然数yはy=5とする。
【0415】
図41を参照して、パーソナルコンピュータ50のキーボード560を介してパーソナルコンピュータ50のライセンス管理モジュール511によって取得されたライセンスの移動リクエストが入力されると(ステップS800)、パーソナルコンピュータ50のライセンス管理モジュール511は、バインディング鍵取得処理を行う。図41のステップS801から図42のステップ815の一連の処理がバインディング鍵取得処理であり、配信2のフローチャートにおける図20のステップS270から図21のステップS284の一連の処理と同じである。ゆえに、説明を省略する。
【0416】
バインディングライセンスを取得すると、パーソナルコンピュータ50のライセンス管理モジュール511は、バスBS2を介してHDD530から暗号化機密ファイル160を取得し、その取得した暗号化機密ファイル160をバインディング鍵Kbによって復号して平文の機密ファイルを取得する(ステップS816)。その後、パーソナルコンピュータ50のライセンス管理モジュール511は、ライセンス管理ファイルに記録された機密情報番号nに対応する機密ファイル内の機密情報n(トランザクションID、コンテンツID、ライセンス鍵Kc、アクセス制限情報ACm、再生期限ACp、およびチェックアウト情報)を取得する(ステップS817)。
【0417】
そうすると、パーソナルコンピュータ50のライセンス管理モジュール511は、取得したアクセス制限情報ACmに基づいて暗号化コンテンツデータの移動および複製が可能か否かを確認する(ステップS518)、つまり、ライセンス管理モジュール511は、取得したアクセス制限情報ACmの再生回数、移動複製フラグに基づいて、パーソナルコンピュータ80へ移動しようとするライセンスがアクセス制限情報ACmによって暗号化コンテンツデータの移動および複製ができないライセンスになっていないか否かを確認する。
【0418】
ステップS818において、暗号化コンテンツデータの移動および複製が禁止されていた場合、ステップS903へ移行し、移動動作は終了する。ステップS818において、暗号化コンテンツデータの移動および複製が禁止されていない場合、ステップS819へ移行する。そして、ライセンス管理モジュール511は、取得したチェックアウト情報に基づいてチェックアウトが可能か否かを確認する(ステップS819)。ステップS819において、チェックアウトが不可能であれば、チェックアウトが禁止されているので、ステップS903へ移行し、チェックアウト動作は終了する。ステップS819において、チェックアウト可能であれば、新たなバインディング鍵を、ライセンス管理デバイス520に格納できるかを確認するためにデバイス確認処理を行なうデバイス確認処理において、ライセンス管理デバイス520が認証できない、あるいは、禁止クラスリストCRLにより、新たなバインディング鍵が記録できない場合には、現状を維持するために、処理は中断する。図42のステップS821から図43のステップ833の一連の処理がデバイス確認処理であり、初期化のフローチャートにおける図10のステップS16から図11のステップS42の一連の処理と同じである。ゆえに、説明を省略する。
【0419】
デバイス確認処理が終了すると、パーソナルコンピュータ50のライセンス管理モジュール511は、認証データの送信要求を通信ケーブル90を介してパーソナルコンピュータ80へ送信する(ステップS834)。そうすると、パーソナルコンピュータ80のライセンス管理モジュールは、認証データの送信要求を受信する(ステップS835)。
【0420】
パーソナルコンピュータ80のライセンス管理モジュールは、認証データの送信要求を受信すると、認証データ{KPm5//Cm5}KPa1をパーソナルコンピュータ50へ送信する(ステップS836)。パーソナルコンピュータ50のライセンス管理モジュール511は、端子580およびUSBインタフェース550を介して認証データ{KPm5//Cm5}KPa1を受信し(ステップS837)、その受信した認証データ{KPm5//Cm5}KPa1をレベル1認証鍵KPa1によって復号する(ステップS838)。
【0421】
図44を参照して、ライセンス管理モジュール511は、復号処理結果から、処理が正常に行なわれたか否か、すなわち、メモリカード110が正規のメモリカードからのクラス公開暗号鍵KPm5とクラス証明書Cm5とを保持することを認証するために、正規の機関でその正当性を証明するための暗号を施した認証データを受信したか否かを判断する認証処理を行なう(ステップS839)。正当な認証データであると判断された場合、ライセンス管理モジュール511は、公開暗号鍵KPm3および証明書Cm3を承認し、受理する。そして、次の処理(ステップS840)へ移行する。正当な認証データでない場合には、非承認とし、クラス公開暗号鍵KPm5およびクラス証明書Cm5を受理しないで処理を終了する(ステップS903)。認証の結果、正規のメモリカードであることが認識されると、ライセンス管理モジュール511は、次に、メモリカード110のクラス証明書Cm3が禁止クラスリストCRLにリストアップされているかどうかをHDD530に照会し、これらのクラス証明書が禁止クラスリストの対象になっている場合には、ここで移動動作を終了する(ステップS903)。一方、メモリカード110のクラス証明書が禁止クラスリストの対象外である場合には次の処理に移行する(ステップS840)。
【0422】
認証の結果、正当な認証データを持つメモリカードを備える再生端末からのアクセスであり、クラスが禁止クラスリストの対象外であることが確認されるとライセンス管理モジュール511は、移動用のセッションキーKs2dを生成する(ステップS841)。そして、ライセンス管理モジュール511は、生成したセッションキーKs2dをパーソナルコンピュータ80から受信したクラス公開暗号鍵KPm5によって暗号化し、暗号化データ{Ks2d}Km5を生成し(ステップS842)、暗号化データ{Ks2d}Km5にトランザクションIDを追加したトランザクションID//{Ks2d}Km5を通信ケーブル90を介してパーソナルコンピュータ80へ送信する(ステップS843)。パーソナルコンピュータ80のライセンス管理モジュールは、トランザクションID//{Ks2d}Km5を受信する(ステップS844)。そして、パーソナルコンピュータ80のライセンス管理モジュールは、クラス秘密復号鍵Km3によって{Ks2d}Km5を復号してセッションキーKs2dを受理する(ステップS845)。そして、パーソナルコンピュータ80のライセンス管理モジュールは、セッションキーKs2eを生成し(ステップS846)、HDDから禁止クラスリストCRLの更新日時CRLdateを取得する(ステップS847)。
【0423】
そして、パーソナルコンピュータ80のライセンス管理モジュールは、セッションキーKs2e、個別公開暗号鍵KPmc5および禁止クラスリストCRLdateをセッションキーKs2dによって暗号化し、暗号化データ{Ks2e//KPmc5//CRLdate}Ks2dを生成し、暗号化データ{Ks2e//KPmc5//CRLdate}Ks2dを通信ケーブル90を介してパーソナルコンピュータ50へ送信する(ステップS848)。
【0424】
パーソナルコンピュータ50のライセンス管理モジュール511は、端子580およびUSBインタフェース550を介して暗号化データ{Ks2e//KPmc5//CRLdate}Ks2dを受信し(ステップS849)、その受信した暗号化データ{Ks2e//KPmc5//CRLdate}Ks2dをセッションキーKs2dによって復号し、セッションキーKs2e、個別公開暗号鍵KPmc5および更新日時CRLdateを受理する(ステップS850)。そして、ライセンス管理モジュール511は、トランザクションID、コンテンツID、ライセンス鍵Kc、アクセス制限情報ACm、および再生期限ACpをパーソナルコンピュータ80に固有の個別公開暗号鍵KPmc5によって暗号化して暗号化データ{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc5を生成する(ステップS851)。
【0425】
図45を参照して、パーソナルコンピュータ50のライセンス管理モジュール511は、パーソナルコンピュータ80のライセンス管理モジュールから送信された禁止クラスリストの更新日時CRLdateに基づいてパーソナルコンピュータ80のライセンス管理モジュールが管理する禁止クラスリストと自身の管理する禁止クラスリストのどちらが新しいか判断し、自身の管理する禁止クラスリストCRLが古いと判断されたとき、ステップS853へ移行する。また、逆に、自身の管理する禁止クラスリストCRLの方が新しいと判断されたときはステップS856へ移行する(ステップS852)。
【0426】
自身の管理する禁止クラスリストCRLが古いと判断されたとき、ライセンス管理モジュール511は、暗号化データ{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc5をライセンス管理モジュール511において発生されたセッションキーKs2eによって暗号化を行い、暗号化データ{{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc5}Ks2eを通信ケーブル90を介してパーソナルコンピュータ80へ送信する(ステップS853)。
【0427】
そして、パーソナルコンピュータ80のライセンス管理モジュールは、暗号化データ{{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc5}Ks2eを受信し(ステップS854)、暗号化データ{{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc5}Ks2eをセッションキーKs2eによって復号し、{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc5を受理する(ステップS855)。その後、ステップS861へ移行する。
【0428】
一方、ステップS852において、自身の管理する禁止クラスリストCRLが新しいと判断されると、パーソナルコンピュータ50のライセンス管理モジュール511は、HDD530から禁止クラスリストCRLを取得する(ステップS856)。そして、ライセンス管理モジュール511は、禁止クラスリストCRLと暗号化データ{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc5とを受けて、セッションキーKs2eによって暗号化して暗号化データ{CRL//{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc5}Ks2eを通信ケーブル90を介してパーソナルコンピュータ80に送信する(ステップS857)。
【0429】
パーソナルコンピュータ80は、送信された暗号化データ{CRL//{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc5}Ks2eを受信し(ステップS858)、ライセンス管理モジュールは、セッションキーKs2eを用いて受信データを復号してCRLと暗号化データ{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc5と受理する(ステップS859)。
【0430】
パーソナルコンピュータ80のライセンス管理モジュールは、HDDに記録された禁止クラスリストCRLを受理したCRLによって書換える(ステップS860)。
【0431】
ステップS853,S854,S855は、パーソナルコンピュータ80から送られてきた禁止クラスリストの更新日時CRLdateによってが、受信側のパーソナルコンピュータ80の保持する禁止クラスリストCRLが送賃側のパーソナルコンピュータ50の保持する禁止クラススリストCRLの方が新しい場合のライセンス鍵Kc等のパーソナルコンピュータ80への移動動作であり、ステップS854,S855,S856,S857,S860は、受信側のパーソナルコンピュータ80の保持する禁止クラスリストCRLが送信側のパーソナルコンピュータ50の保持する禁止クラススリストCRLの方が古い場合のライセンス鍵Kc等のパーソナルコンピュータ80への移動動作である。
【0432】
ステップS855またはステップS860の後、パーソナルコンピュータ80のライセンス管理モジュールは、暗号化データ{トランザクションID//コンテンツID//Kc//ACm//ACp}Kmc5は、個別秘密復号鍵Kmc5によって復号し、ライセンス(ライセンス鍵Kc、トランザクションID、コンテンツID、アクセス制限情報ACmおよび再生期限ACp)を受理する(ステップS861)。そして、ライセンス管理モジュールは、受理したアクセス制限情報ACmによって再生回数が制限されているか否かを判別し、再生回数が制限されていないときステップS863へ移行し、再生回数が制限されているときステップS864へ移行する(ステップS862)。そして、再生回数が制限されていなとき、ライセンス管理モジュールは、パーソナルコンピュータ50から受信した暗号化コンテンツおよびライセンスを他の装置へ貸出すためのチェックアウト可能数を含むチェックアウト情報を生成する(ステップS863)。この場合、チェックアウトの初期値は「3」に設定される。また、再生回数が制限されているとき、ライセンス管理モジュールは、暗号化コンテンツデータを他の装置へ貸出すためのチェックアウト可能数を「0」に設定してチェックアウト情報を生成する(ステップS864)。その後、図46のステップS880へ移行する。
【0433】
ステップS853またはステップS857の後、パーソナルコンピュータ50がライセンスをパーソナルコンピュータ80へ移動するのと並行してパーソナルコンピュータ50が保持するバインディングライセンスの書換え動作が行なわれる。ステップS853またはステップS857の後、パーソナルコンピュータ50のライセンス管理モジュール511は、アクセス制限情報ACmに基づいてライセンスの複製が可能か否かを判別する(ステップ865)。そして、ライセンスの複製が可能な場合、図48のステップS898へ以降し、暗号化コンテンツデータ{Dc}Kcと付加情報Dc−infをパーソナルコンピュータ80へ送信する。ステップS865において、ライセンスのアクセス制限情報ACmの移動復号フラグによって移動のみ可の場合、ライセンス管理モジュール511は、HDD530に記録された移動させたライセンスに関するコンテンツリストファイル150のライセンス管理ファイル152nを読出し、ライセンス管理ファイルに記録された機密情報番号nを、ライセンス無に変更してライセンス管理ファイル152nを更新し(ステップS866)、最初の生成したバインディング鍵Kbと異なる新たにバインディング鍵Kbbを生成する(ステップS867)。そして、ライセンス管理モジュール511は、平文の機密ファイル内の機密情報nを削除し、機密ファイルを新たに生成したバインディング鍵Kbbによって暗号化してHDD530内の暗号化機密ファイル160を更新する(ステップS868)。
【0434】
図46を参照して、ライセンス管理モジュール511は、新たに生成したバインディング鍵Kbbをライセンス管理デバイス520に格納するためにステップS869からステップS879のバインディング鍵登録処理を行う。初期化のフローチャートにおける図11のステップS44から図12のステップS66の一連の処理と同じ処理であり、バインディング鍵Kbが、新たなバインディング鍵Kbbにセッション鍵Ks2bがセッション鍵Ks2cに変更されているのみである。ゆえに、説明を省略する。
【0435】
新たなバインディング鍵Kbbの登録が終了すると、図48のステップS898へ移行する。
【0436】
図47を参照して、図45のステップS861またはステップS862の後、パーソナルコンピュータ80においては、内蔵するライセンス管理モジュールからのバインディング鍵Kb2の取得、すなわちバインディング鍵の取得処理を行う。パーソナルコンピュータ80においても、パーソナルコンピュータ50と同じであり、ステップS878から図48ステップS893に至る一連の処理がバインディング鍵取得処理であり、配信2のフローチャートにおける図20のステップS270から図21のステップS284に至る一連の処理と同じであり、取得するバインディングライセンス(トランザクションIDb2、コンテンツIDb2、バインディング鍵Kb2、および制御情報ACmb2,ACpb2)に、また、セッション鍵Ks2aとKs2bは、それぞれKs2gとKs2fに変更されているのみである。ゆえに、説明を省略する。
【0437】
バインディング鍵Kb2を取得すると、パーソナルコンピュータ80のライセンス管理モジュールは、バスBS2を介してHDD530から暗号化機密ファイル160を取得し、その取得した暗号化機密ファイル160をバインディング鍵Kb2によって復号して平文の機密ファイルを取得する(ステップS895)。その後、ライセンス管理モジュールは、パーソナルコンピュータ50から受信したライセンス(トランザクションID、コンテンツID、ライセンス鍵Kc、アクセス制限情報ACm、再生期限ACp)およびチェックアウト情報を新たな機密情報n2として平文の機密ファイルに追記する(ステップS896)。そして、ライセンス管理モジュールは、平文の機密ファイルをバインディング鍵Kb2によって暗号化してHDDに記録されている暗号化機密ファイル160を更新する(ステップS897)。
【0438】
そうすると、パーソナルコンピュータ50のライセンス管理モジュール511は、図45のステップS868およびステップS897が共に終了すると、HDD530に記録されているコンテンツファイル(暗号化コンテンツデータ{Dc}Kcと付加情報Dc−inf)を読出し、暗号化コンテンツデータ{Dc}Kcと付加情報Dc−infとを通信ケーブル90を介してパーソナルコンピュータ80へ送信する(ステップS898)。
【0439】
パーソナルコンピュータ80のライセンス管理モジュールは、暗号化コンテンツデータ{Dc}Kcと付加情報Dc−infとを受信し、暗号化コンテンツデータ{Dc}Kcと付加情報Dc−infとを受理する(ステップS899)。そして、ライセンス管理モジュールは、受理した暗号化コンテンツデータ{Dc}Kcと付加情報Dc−infとをバスBS2をコンテンツファイルとして介してHDDに記録する(ステップS900)。また、ライセンス管理モジュールは、機密情報番号n2、トランザクションIDおよびコンテンツIDを含む、暗号化コンテンツデータ{Dc}Kcと付加情報Dc−infとを記録したコンテンツファイルに対するライセンス管理ファイルを作成してHDDに記録する(ステップS901)。そして、ライセンス管理モジュールは、HDDに記録されているコンテンツリストファイルのコンテンツファイルに受理したコンテンツの名称を追記し(ステップS902)、移動動作が終了する(ステップS903)。
【0440】
このように、パーソナルコンピュータ50のライセンス管理モジュール511が取得した暗号化コンテンツデータのライセンスをバインディング鍵Kbによって管理することによって、パーソナルコンピュータ50からパーソナルコンピュータ80へ暗号化コンテンツデータおよびライセンスを移動することができる。
【0441】
実施の形態1によれば、パーソナルコンピュータに内蔵されたライセンス管理モジュールがソフトウエアによって取得した暗号化コンテンツデータのライセンスをライセンス管理デバイスによりハード的に管理されるバインディング鍵によって管理するので、ライセンス管理デバイスによって取得された暗号化コンテンツデータのライセンスと同じように「移動」という概念によって他のパーソナルコンピュータへ暗号化コンテンツデータおよびライセンスを送信することが可能である。
【0442】
[実施の形態2]
図49を参照して、ライセンス管理モジュール511によって取得された暗号化コンテンツデータのライセンスの実施の形態2における管理方法について説明する。
【0443】
コンテンツリストファイル150の構成は実施の形態1における構成と同じである。HDD530には、暗号化機密ファイル160が記録されており、これには、ライセンス管理デバイス520に格納されたトランザクションIDb、コンテンツIDb、およびバインディング鍵Kbと同じものが格納されている。そして、暗号化機密ファイル160は、パーソナルコンピュータ50のCPUのシリアル番号等に依存した、パーソナルコンピュータ50から持ち出し不可能となるように独自の暗号化が施されている。また、ライセンス管理ファイル1522,・・,152nの内、ライセンス管理モジュール511によって取得されたライセンスに対するライセンス管理ファイルでは、ライセンス管理ファイル1522および152nがそれに当たる。ライセンスおよびチェックアウト情報を含む機密情報を、暗号化機密ファイルと同様に暗号化した暗号化機密情報と、ライセンスに関する平文情報とを含んでいる。バインディングライセンスは格納するライセンス管理デバイス520のエントリ番号「0」に常に格納する。
【0444】
また、ライセンス管理デバイスにライセンスを格納したライセンスに対するライセンス管理ファイル、ライセンス管理ファイル1521および152nがこれに当たる、暗号化機密情報に換えて、ライセンス管理デバイスのライセンス領域1415Bのライセンスするエントリを特定するエントリ番号化記録されている。他のファイルおよびライセンス領域1415Bの構成については、実施の形態1の図25と同じであるので説明を省略する。
【0445】
ライセンス管理ファイル1522,・・,152nからライセンスを取出すときは、ライセンス管理ファイル1522,・・,152nが暗号化機密情報含んでいれば、ライセンス管理デバイス520にエントリ番号「0」を送信してライセンス管理デバイス520からバインディング鍵Kbを取得し、その取得したバインディング鍵Kbが暗号化機密ファイル160に格納されたバインディング鍵Kbに一致することを確認する。一致していれば、暗号化機密情報を復号して、ライセンスおよびチェックアウト情報を取得する。一致しなければライセンスの取得は禁止されるので処理を中止する。一方、エントリ番号が含まれる場合には、ライセンス管理デバイス520に処理を任せる。さらには、ライセンス無の場合には、ライセンスは存在しないので処理を中止する。したがって、この実施の形態2においては、セキュリティレベルが低い(レベル1)のライセンに対する全ての処理において、ライセンス管理デバイス520に格納されたバインディング鍵Kbと暗号化機密ファイル160に格納されたバインディング鍵Kbとが一致しなければライセンス管理ファイル1522,・・,152nから暗号化コンテンツデータのライセンスを取出すことができないように運用する。
【0446】
その結果、この実施の形態2においても、ライセンス管理モジュール511によって取得された暗号化コンテンツデータのライセンスは、バインディング鍵Kbによって管理することができ、実施の形態1で説明したのと同じようにパーソナルコンピュータ50からパーソナルコンピュータ80への暗号化コンテンツデータおよびライセンスの移動が可能となる。
【0447】
[初期化]
図50〜図52は、実施の形態2における暗号化機密ファイル160の初期化を説明するための第1〜第3のフローチャートである。図50〜図52に示すフローチャートは、図10〜図12にフローチャートのステップS66をステップS66aに代えたものであり、それ以外は図10〜図12のフローチャートと同じである。したがって、図52を参照して、ステップS64の後、ライセンス管理モジュール511は、トランザクションIDb、コンテンツIDbおよびバインディング鍵Kbを平文の機密ファイルに格納し、平文の機密ファイルに独自の暗号化を施して暗号化機密ファイル160を作成し、その作成した暗号化機密ファイル160をHDD530に記録する(ステップS66a)。そして、初期化の動作は終了する(ステップS68)。
【0448】
[配信2]
図53〜図56は、実施の形態2において、ライセンス管理モジュール511から配信サーバ10から暗号化コンテンツデータおよびライセンスを受信するときの動作を説明するための第1〜第4のフローチャートである。図53〜図56に示すフローチャートは、図17〜図21に示すフローチャートのステップS266,S268とステップS288との間のステップをステップS287a〜S287aに代えたものであり、その他は、図17〜図21に示すフローチャートと同じである。図56を参照して、ステップS266,S268において、チェックアウト情報が生成された後、ライセンス管理モジュール511は、受理したライセンス(トランザクションID、コンテンツID、ライセンス鍵Kc、アクセス制限情報ACmおよび再生期限ACp)とチェックアウト情報とバインディング情報とに独自の暗号化を施して暗号化機密情報を生成する(ステップS286a)。そして、ライセンス管理モジュール511は、生成した暗号化機密情報、トランザクションID、およびコンテンツIDを含むライセンス管理ファイルを作成してHDD530に記録する(ステップS287a)。その後、ステップS288へ移行して上述した各ステップが実行されて暗号化コンテンツデータおよびライセンスの配信動作が終了する。
【0449】
[リッピング]
図57および図58は、実施の形態2において、ライセンス管理モジュール511が音楽CDから暗号化コンテンツデータおよびライセンスを取得するリッピングの動作を説明するための第1および第2のフローチャートである。図57および図58に示すフローチャートは、図22〜図24に示すフローチャートのステップS708とステップS725との間のステップをステップをステップS720a〜ステップS724aに代えたものであり、それ以外は、図22〜図24に示すフローチャートと同じである。図58を参照して、ステップS708の後、ライセンス管理モジュール511は、受理したライセンス(トランザクションID、コンテンツID、ライセンス鍵Kc、アクセス制限情報ACmおよび再生期限ACp)とチェックアウト情報とバインディング情報とに独自の暗号化を施して暗号化機密情報を生成する(ステップS723a)。そして、ライセンス管理モジュール511は、生成した暗号化機密情報、トランザクションID、およびコンテンツIDを含むライセンス管理ファイルを作成してHDD530に記録する(ステップS724a)。その後、ステップS725へ移行して上述した各ステップが実行されて暗号化コンテンツデータおよびライセンスのリッピングの動作が終了する。
【0450】
[チェックアウト]
図59〜図63は、実施の形態2において、ライセンス管理モジュール511が取得した暗号化コンテンツデータおよびライセンスを再生端末100に装着されたメモリカード110へチェックアウトする動作を説明するための第1〜第5のフローチャートである。図59〜図63に示すフローチャートは、図30〜図34に示すフローチャートのステップS516,S517をステップS516a,S516b,S517aに代え、ステップS552,S553をステップS552a,553aに代えたものであり、それ以外は、図30〜図34に示すフローチャートと同じである。図60を参照して、ステップS515の後、ライセンス管理モジュール511は、HDD530に記録されている暗号化機密ファイル160を取得し、復号して格納されているバインディング鍵Kbを取得する(ステップS516a)。そして、ライセンス管理モジュール511は、ライセンス管理デバイス520から取得したバインディング鍵Kbが暗号化機密ファイル160から取得したバインディング鍵Kbに一致するか否かを判別し、2つのバインディング鍵Kbが相互に一致しないとき、ステップS564へ移行してチェックアウトの動作は終了する。2つのバインディング鍵Kbが相互に一致するときは、次のステップS517aへ移行する(ステップS516b)。
【0451】
ライセンス管理デバイス520から取得したバインディング鍵Kbが暗号化機密ファイル160から取得したバインディング鍵Kbに一致したとき、ライセンライセンス管理ファイルから暗号化機密情報を取得して、復号したライセンス(ライセンス鍵Kc、トランザクションID、コンテンツID、アクセス制限情報ACmおよび再生回数ACp)を得る(ステップ517a)。そして、次のステップS5118へ移行する
図63を参照して、ステップS551の後、ライセンス管理モジュール511は、更新したチェックアウト情報を反映させた機密情報に独自の暗号化を施して暗号化機密情報を生成し(ステップS552a)、暗号化機密情報を含むライセンス管理ファイルを更新する(ステップS553a)。その後、ステップS554へ移行して上述した各ステップが実行されて暗号化コンテンツデータおよびライセンスのチェックアウトの動作が終了する。
【0452】
このように、ライセンス管理デバイス520に格納されたバインディング鍵が暗号化機密ファイル160に格納されたバインディング鍵に一致する場合だけ、ライセンス管理モジュールは、ライセンス管理ファイルから暗号化コンテンツデータのライセンスを取得する。したがって、実施の形態2においても、バインディング鍵によって暗号化コンテンツデータのライセンスを実質的に管理する。
【0453】
[チェックイン]
図64〜図67は、実施の形態2において、ライセンス管理モジュール511が再生端末100に装着されたメモリカード110へチェックアウトした暗号化コンテンツデータおよびライセンスをチェックインする動作を説明するための第1〜第4のフローチャートである。図64〜図67に示すフローチャートは、図35〜図38に示すフローチャートのステップS616,S617をステップS616a,616b,617aに代え、ステップS643,S644をステップS643a,644aに代えたものであり、それ以外は、図35〜図38に示すフローチャートと同じである。
【0454】
図65を参照して、ステップS615の後、ライセンス管理モジュール511は、HDD530に記録されている暗号化機密ファイル160を取得し、復号して格納されているバインディング鍵Kbを取得する(ステップS616a)。そして、ライセンス管理モジュール511は、ライセンス管理デバイス520から取得したバインディング鍵Kbが暗号化機密ファイル160から取得したバインディング鍵Kbに一致するか否かを判別し、2つのバインディング鍵Kbが相互に一致しないとき、ステップS653へ移行してチェックインの動作は終了する。2つのバインディング鍵Kbが相互に一致するときは、次のステップS618へ移行する(ステップS616b)。
【0455】
ライセンス管理デバイス520から取得したバインディング鍵Kbが暗号化機密ファイル160から取得したバインディング鍵Kbに一致したとき、ライセンス管理ファイルから暗号化機密情報を取得して、復号したライセンス(ライセンス鍵Kc、トランザクションID、コンテンツID、アクセス制限情報ACmおよび再生回数ACp)を得る(ステップ617a)。そして、次のステップS5118へ移行する。
【0456】
図67を参照して、ステップS642の後、ライセンス管理モジュール511は、更新したチェックアウト情報を反映させた機密情報に独自の暗号化を施して暗号化機密情報を生成し(ステップS644a)、暗号化機密情報を含むライセンス管理ファイルを更新する(ステップS645a)。その後、ステップS646へ移行して上述した各ステップが実行されて暗号化コンテンツデータおよびライセンスのチェックインの動作が終了する。
【0457】
[移動2]
図68〜図74は、実施の形態2において、ライセンス管理モジュール511が受信した暗号化コンテンツデータおよびライセンスをパーソナルコンピュータ50からパーソナルコンピュータ80へ移動する動作を説明するための第1〜第7のフローチャートである。図68〜図74に示すフローチャートは、図39〜図46に示すフローチャートのステップS800とステップS801との間にステップS800a〜ステップS800cを挿入し、ステップS815とステップS820との間のステップをステップS816a,817aに代え、ステップS867をステップS867aとステップS867bに代え、ステップS862,S863とステップS897との間のステップをステップS895a〜896aに代えたものであり、それ以外は、図39〜図46に示すフローチャートと同じである。
【0458】
図68を参照して、ライセンス管理モジュール511は、ステップS800の後、ライセンス管理モジュール511は、ライセンス管理ファイルの暗号化機密情報を復号して機密情報(トランザクションID、コンテンツID、ライセンス鍵Kc、アクセス制限情報ACm、再生期限ACp、チェックアウト情報を取得する(ステップS800a)。そして、ライセンス管理モジュール511は、ステップS800aにおいて取得したACmに基づいて暗号化コンテンツデータおよびライセンスの移動および複製が可能か否かを判別する。そして、ライセンス管理モジュール511は、暗号化コンテンツデータおよびライセンスの移動および複製が禁止されているとき、ステップS903へ移行して移動動作は終了し、移動および複製が禁止されていないときステップS800cへ移行する(ステップS800b)。
【0459】
ライセンス管理モジュール511は、暗号化コンテンツデータおよbライセンスの移動および複製が可能であるとき、チェックアウト情報に基づいてチェックアウト可能か否かを判別し、不可能なときステップS903へ移行して移動動作は終了し、チェックアウト可能なときステップS801へ移行する。
【0460】
図69を参照して、ステップS815の後、ライセンス管理モジュール511は、HDD530に記録されている暗号化機密ファイル160を取得し、復号して格納されているバインディング鍵Kbを取得する(ステップS816a)。そして、ライセンス管理モジュール511は、ライセンス管理デバイス520から取得したバインディング鍵Kbが暗号化機密ファイル160から取得したバインディング鍵Kbに一致するか否かを判別し、2つのバインディング鍵Kbが相互に一致しないとき、ステップS903へ移行して移動の動作は終了する。2つのバインディング鍵Kbが相互に一致するときは、次のステップS820へ移行する(ステップS817a)。
【0461】
図72を参照して、ステップS867の後、ライセンス管理モジュール511は、平分の機密ファイルに格納されているバインディング鍵Kbをバインディング鍵Kbbに書換へ(ステップS868a)、独自の暗号化を施した暗号化機密ファイルを生成して、HDD530の暗号化機密ファイルと書き換える(ステップS868b)。次いで、図73のステップS869へ移行する。
【0462】
図74を参照してステップS862,S863において、チェックアウト情報が生成された後、ライセンス管理モジュール511は、受理したライセンス(トランザクションID、コンテンツID、ライセンス鍵Kc、アクセス制限情報ACmおよび再生期限ACp)とチェックアウト情報とに独自の暗号化を施して暗号化機密情報を生成する(ステップS895a)。そして、ライセンス管理モジュール511は、生成した暗号化機密情報、トランザクションID、およびコンテンツIDを含むライセンス管理ファイルを作成してHDD530に記録する(ステップS896a)。その後、ステップS897へ移行して上述した各ステップが実行されて暗号化コンテンツデータおよびライセンスの配信動作が終了する。
【0463】
その他の部分については、実施の形態1と同じである。
実施の形態2によれば、パーソナルコンピュータに内蔵されたライセンス管理モジュールがソフトウエアによって取得した暗号化コンテンツデータのライセンスをライセンス管理デバイスによりハード的に管理されるバインディング鍵によって管理するので、ライセンス管理デバイスによって取得された暗号化コンテンツデータのライセンスと同じように「移動」という概念によって他のパーソナルコンピュータへ暗号化コンテンツデータおよびライセンスを送信することが可能である。
【0464】
なお、実施に形態1および2において、ライセンス管理デバイス520には、バインディングライセンスと配信によるライセンスが格納できるとしたが、バインディングライセンス専用の管理デバイスであってもかまわない。
【0465】
また、バインディングライセンスを指定するためにエントリ番号を指定したが専用のエントリを持ち、高いレベルのライセンスと区別して扱ってもかまわない。
【0466】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図1】 本発明の実施の形態1におけるデータ配信システムを概念的に説明する概略図である。
【図2】 図1に示すデータ配信システムにおける通信のためのデータ、情報等の特性を示す図である。
【図3】 図1に示すデータ配信システムにおける通信のためのデータ、情報等の特性を示す図である。
【図4】 図1に示すデータ配信システムにおける通信のためのデータ、情報等の特性を示す図である。
【図5】 図1に示すデータ配信システムにおける配信サーバの構成を示す概略ブロック図である。
【図6】 図1に示すデータ配信システムにおけるパーソナルコンピュータの構成を示す概略ブロック図である。
【図7】 図1に示すデータ配信システムにおける再生端末の構成を示す概略ブロック図である。
【図8】 図1に示すデータ配信システムにおけるメモリカードの構成を示す概略ブロック図である。
【図9】 図6に示すパーソナルコンピュータに内蔵されたライセンス管理デバイスの構成を示す概略ブロック図である。
【図10】 図1に示すパーソナルコンピュータにおける機密ファイルの初期化を説明するための第1のフローチャートである。
【図11】 図1に示すパーソナルコンピュータにおける機密ファイルの初期化を説明するための第2のフローチャートである。
【図12】 図1に示すパーソナルコンピュータにおける機密ファイルの初期化を説明するための第3のフローチャートである。
【図13】 図1に示すデータ配信システムにおけるセキュリティレベルの高い配信動作を説明するための第1のフローチャートである。
【図14】 図1に示すデータ配信システムにおけるセキュリティレベルの高い配信動作を説明するための第2のフローチャートである。
【図15】 図1に示すデータ配信システムにおけるセキュリティレベルの高い配信動作を説明するための第3のフローチャートである。
【図16】 図1に示すデータ配信システムにおけるセキュリティレベルの高い配信動作を説明するための第4のフローチャートである。
【図17】 図1に示すデータ配信システムにおけるセキュリティレベルの低い配信動作を説明するための第1のフローチャートである。
【図18】 図1に示すデータ配信システムにおけるセキュリティレベルの低い配信動作を説明するための第2のフローチャートである。
【図19】 図1に示すデータ配信システムにおけるセキュリティレベルの低い配信動作を説明するための第3のフローチャートである。
【図20】 図1に示すデータ配信システムにおけるセキュリティレベルの低い配信動作を説明するための第4のフローチャートである。
【図21】 図1に示すデータ配信システムにおけるセキュリティレベルの低い配信動作を説明するための第5のフローチャートである。
【図22】 図1に示すデータ配信システムにおけるリッピングの動作を説明するための第1のフローチャートである。
【図23】 図1に示すデータ配信システムにおけるリッピングの動作を説明するための第2のフローチャートである。
【図24】 図1に示すデータ配信システムにおけるリッピングの動作を説明するための第3のフローチャートである。
【図25】 パーソナルコンピュータのハードディスクにおけるコンテンツリストファイルの構成を示す図である。
【図26】 図1に示すデータ配信システムにおける暗号化コンテンツデータのライセンスの移動動作を説明するための第1のフローチャートである。
【図27】 図1に示すデータ配信システムにおける暗号化コンテンツデータのライセンスの移動動作を説明するための第2のフローチャートである。
【図28】 図1に示すデータ配信システムにおける暗号化コンテンツデータのライセンスの移動動作を説明するための第3のフローチャートである。
【図29】 図1に示すデータ配信システムにおける暗号化コンテンツデータのライセンスの移動動作を説明するための第4のフローチャートである。
【図30】 図1に示すデータ配信システムにおける暗号化コンテンツデータのライセンスのチェックアウト動作を説明するための第1のフローチャートである。
【図31】 図1に示すデータ配信システムにおける暗号化コンテンツデータのライセンスのチェックアウト動作を説明するための第2のフローチャートである。
【図32】 図1に示すデータ配信システムにおける暗号化コンテンツデータのライセンスのチェックアウト動作を説明するための第3のフローチャートである。
【図33】 図1に示すデータ配信システムにおける暗号化コンテンツデータのライセンスのチェックアウト動作を説明するための第4のフローチャートである。
【図34】 図1に示すデータ配信システムにおける暗号化コンテンツデータのライセンスのチェックアウト動作を説明するための第5のフローチャートである。
【図35】 図1に示すデータ配信システムにおける暗号化コンテンツデータのライセンスのチェックイン動作を説明するための第1のフローチャートである。
【図36】 図1に示すデータ配信システムにおける暗号化コンテンツデータのライセンスのチェックイン動作を説明するための第2のフローチャートである。
【図37】 図1に示すデータ配信システムにおける暗号化コンテンツデータのライセンスのチェックイン動作を説明するための第3のフローチャートである。
【図38】 図1に示すデータ配信システムにおける暗号化コンテンツデータのライセンスのチェックイン動作を説明するための第4のフローチャートである。
【図39】 再生端末における再生動作を説明するための第1のフローチャートである。
【図40】 再生端末における再生動作を説明するための第2のフローチャートである。
【図41】 図1に示すデータ配信システムにおける暗号化コンテンツデータおよびライセンスのパーソナルコンピュータ間での移動を説明するための第1のフローチャートである。
【図42】 図1に示すデータ配信システムにおける暗号化コンテンツデータおよびライセンスのパーソナルコンピュータ間での移動を説明するための第2のフローチャートである。
【図43】 図1に示すデータ配信システムにおける暗号化コンテンツデータおよびライセンスのパーソナルコンピュータ間での移動を説明するための第3のフローチャートである。
【図44】 図1に示すデータ配信システムにおける暗号化コンテンツデータおよびライセンスのパーソナルコンピュータ間での移動を説明するための第4のフローチャートである。
【図45】 図1に示すデータ配信システムにおける暗号化コンテンツデータおよびライセンスのパーソナルコンピュータ間での移動を説明するための第5のフローチャートである。
【図46】 図1に示すデータ配信システムにおける暗号化コンテンツデータおよびライセンスのパーソナルコンピュータ間での移動を説明するための第6のフローチャートである。
【図47】 図1に示すデータ配信システムにおける暗号化コンテンツデータおよびライセンスのパーソナルコンピュータ間での移動を説明するための第7のフローチャートである。
【図48】 図1に示すデータ配信システムにおける暗号化コンテンツデータおよびライセンスのパーソナルコンピュータ間での移動を説明するための第8のフローチャートである。
【図49】 パーソナルコンピュータのハードディスクにおけるコンテンツリストファイルの他の構成を示す図である。
【図50】 図1に示すパーソナルコンピュータにおける機密ファイルの初期化の他の動作を説明するための第1のフローチャートである。
【図51】 図1に示すパーソナルコンピュータにおける機密ファイルの初期化の他の動作を説明するための第2のフローチャートである。
【図52】 図1に示すパーソナルコンピュータにおける機密ファイルの初期化の他の動作を説明するための第3のフローチャートである。
【図53】 図1に示すデータ配信システムにおけるセキュリティレベルの低い他の配信動作を説明するための第1のフローチャートである。
【図54】 図1に示すデータ配信システムにおけるセキュリティレベルの低い他の配信動作を説明するための第2のフローチャートである。
【図55】 図1に示すデータ配信システムにおけるセキュリティレベルの低い他の配信動作を説明するための第3のフローチャートである。
【図56】 図1に示すデータ配信システムにおけるセキュリティレベルの低い他の配信動作を説明するための第4のフローチャートである。
【図57】 図1に示すデータ配信システムにおけるリッピングの他の動作を説明するための第1のフローチャートである。
【図58】 図1に示すデータ配信システムにおけるリッピングの他の動作を説明するための第2のフローチャートである。
【図59】 図1に示すデータ配信システムにおける暗号化コンテンツデータのライセンスのチェックアウトの他の動作を説明するための第1のフローチャートである。
【図60】 図1に示すデータ配信システムにおける暗号化コンテンツデータのライセンスのチェックアウトの他の動作を説明するための第2のフローチャートである。
【図61】 図1に示すデータ配信システムにおける暗号化コンテンツデータのライセンスのチェックアウトの他の動作を説明するための第3のフローチャートである。
【図62】 図1に示すデータ配信システムにおける暗号化コンテンツデータのライセンスのチェックアウトの他の動作を説明するための第4のフローチャートである。
【図63】 図1に示すデータ配信システムにおける暗号化コンテンツデータのライセンスのチェックアウトの他の動作を説明するための第5のフローチャートである。
【図64】 図1に示すデータ配信システムにおける暗号化コンテンツデータのライセンスのチェックインの他の動作を説明するための第1のフローチャートである。
【図65】 図1に示すデータ配信システムにおける暗号化コンテンツデータのライセンスのチェックインの他の動作を説明するための第2のフローチャートである。
【図66】 図1に示すデータ配信システムにおける暗号化コンテンツデータのライセンスのチェックインの他の動作を説明するための第3のフローチャートである。
【図67】 図1に示すデータ配信システムにおける暗号化コンテンツデータのライセンスのチェックインの他の動作を説明するための第4のフローチャートである。
【図68】 図1に示すデータ配信システムにおける暗号化コンテンツデータおよびライセンスのパーソナルコンピュータ間での他の移動を説明するための第1のフローチャートである。
【図69】 図1に示すデータ配信システムにおける暗号化コンテンツデータおよびライセンスのパーソナルコンピュータ間での他の移動動作を説明するための第2のフローチャートである。
【図70】 図1に示すデータ配信システムにおける暗号化コンテンツデータおよびライセンスのパーソナルコンピュータ間での他の移動動作を説明するための第3のフローチャートである。
【図71】 図1に示すデータ配信システムにおける暗号化コンテンツデータおよびライセンスのパーソナルコンピュータ間での他の移動動作を説明するための第4のフローチャートである。
【図72】 図1に示すデータ配信システムにおける暗号化コンテンツデータおよびライセンスのパーソナルコンピュータ間での他の移動動作を説明するための第5のフローチャートである。
【図73】 図1に示すデータ配信システムにおける暗号化コンテンツデータおよびライセンスのパーソナルコンピュータ間での他の移動動作を説明するための第6のフローチャートである。
【図74】 図1に示すデータ配信システムにおける暗号化コンテンツデータおよびライセンスのパーソナルコンピュータ間での他の移動動作を説明するための第7のフローチャートである。
【符号の説明】
10 配信サーバ、20 配信キャリア、30 インターネット網、40 モデム、50,80 パーソナルコンピュータ、60 CD、70 USBケーブル、90 通信ケーブル、100 再生端末、110 メモリカード、130 ヘッドホーン、150 コンテンツリストファイル、160 暗号化機密ファイル、302 課金データベース、304 情報データベース、306 CRLデータベース、307 メニューデータベース、308 配信記録データベース、310 データ処理部、312,320,1404,1408,1412,1422,1504,1510,1516,5204,5208,5212,5222 復号処理部、313 認証鍵保持部、315 配信制御部、316, セッションキー発生部、318,326,328,1406,1410,1417,1506,5206,5210,5217,5405 暗号処理部、350 通信装置、510,1106,1420,5220 コントローラ、511 ライセンス管理モジュール、520 ライセンス管理デバイス、530 ハードディスク、540 CD−ROMドライブ、550,1112 USBインタフェース、560 キーボード、570 ディスプレイ、580,1114,1426,1530,5226 端子、1108 操作パネル、1110 表示パネル、1200 メモリカードインタフェース、1400,1500,5200 認証データ保持部、1402,5202 Kmc保持部、1414,5214 KPa保持部、1415,5215 メモリ、1415A,5215A CRL領域、1415B,5215B ライセンス領域、1415C データ領域、1416,5216 KPmc保持部、1418,5218 セッションキー発生部、1421,5221 Km保持部、1424,5224 インタフェース、1442,1446 切換スイッチ、1502 Kp1保持部、1518 音楽再生部、1519 DA変換器、1521〜152n ライセンス管理ファイル、1531〜153n コンテンツファイル、1550 コンテンツ再生デバイス。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data terminal device used in a data distribution system that enables copyright protection for copied information.
[0002]
[Prior art]
In recent years, with the advancement of information communication networks such as the Internet, it has become possible for each user to easily access network information using a personal terminal using a playback terminal or the like.
[0003]
In such an information communication network, information is transmitted by digital signals. Therefore, for example, even when each individual user copies music or video data transmitted in the information communication network as described above, the data is copied with almost no deterioration in sound quality and image quality due to such copying. It is possible.
[0004]
Therefore, when a creative work such as music data or image data is transmitted on such an information and communication network, the copyright will be significantly reduced unless appropriate copyright protection measures are taken. The right of the right holder may be infringed.
[0005]
On the other hand, if it is impossible to distribute copyrighted material data over the rapidly expanding digital information communication network with the highest priority on copyright protection, basically, when copying copyrighted material data, a certain amount of Even for copyright holders who can collect copyright fees, it is disadvantageous.
[0006]
Here, instead of distribution through the digital information communication network as described above, taking a recording medium on which digital data is recorded as an example, a CD (compact disc) on which music data that is usually sold is recorded. In principle, music data can be copied from a CD to a magneto-optical disk (MD or the like) as long as the copied music is stopped for personal use. However, an individual user who performs digital recording or the like pays a certain amount of the price of the digital recording device itself or a medium such as an MD indirectly as a copyright fee to the copyright holder.
[0007]
In addition, when music data, which is a digital signal, is copied from a CD to an MD, it is copied as music data from a recordable MD to another MD in view of the fact that these pieces of information are digital data with little copy deterioration. Can not be configured in the equipment for copyright protection.
[0008]
For these reasons, the distribution of music data and image data to the public through a digital information communication network is an act that is restricted by the copyright holder's public transmission rights. Sufficient measures need to be taken.
[0009]
In this case, for content data such as music data and image data that are copyrighted works transmitted to the public through the information communication network, the content data once received can be further copied or used even if it can be copied. It is necessary to prevent this.
[0010]
Therefore, a data distribution system in which a distribution server that holds encrypted content data obtained by encrypting content data distributes encrypted content data to a memory card attached to a terminal device such as a playback terminal via the terminal device Proposed. In this data distribution system, a public encryption key of a memory card that has been authenticated in advance by a certificate authority and its certificate are transmitted to the distribution server when a distribution request for encrypted content data is made, and the certificate that the distribution server is authenticated is transmitted. After confirming reception, the encrypted content data and a license key for decrypting the encrypted content data are transmitted to the memory card. When distributing encrypted content data and a license key, the distribution server and the memory card generate a different session key for each distribution, encrypt the public encryption key with the generated session key, Exchange keys between memory cards.
[0011]
Finally, the distribution server transmits the license encrypted with the public encryption key of each memory card and further encrypted with the session key and the encrypted content data to the memory card. Then, the memory card records the received license and encrypted content data on the memory card.
[0012]
Then, when reproducing the encrypted content data recorded on the memory card, the memory card is attached to the mobile phone. In addition to the normal telephone function, the mobile phone also has a dedicated circuit for decrypting encrypted content data from the memory card, reproducing it, and outputting it to the outside.
[0013]
As described above, the user of the mobile phone can receive the encrypted content data from the distribution server using the mobile phone and reproduce the encrypted content data.
[0014]
On the other hand, encrypted content data is also distributed to personal computers using the Internet. Although it is possible to distribute the encrypted content data and the license to the personal computer in the same manner, the distribution of the encrypted content data and the license is received by the software installed in the personal computer, and the license is protected. The received encrypted content data and the license are not transferred to another personal computer from the viewpoint of copyright protection.
[0015]
That is, another personal computer is used as it is by using encryption processing associated with values such as an identification number individually assigned to the CPU of the personal computer that records the license distributed to the personal computer and a BIOS identification number as a start program. The management structure is adopted in which the license cannot be taken out even if copied to, and the encrypted content cannot be decrypted and reproduced. Then, if a service is provided under which this license can be transferred to another personal computer, the encrypted content data and license are managed and recorded, although the license cannot be specified on the recording device. All the data that has been backed up, and the encrypted content data and licenses that were backed up are managed and recorded after the encrypted content data and licenses have been transferred to another personal computer by the provided service If the data is returned to the personal computer, the state before the transfer can be reproduced, which is the same as copying the encrypted content data and the license. There is clearly a security hole in the movement of licenses in such management. Therefore, the encrypted content data and license distributed to the personal computer by software cannot be transferred to another personal computer.
[0016]
[Problems to be solved by the invention]
However, if the encrypted content data and license distributed to the personal computer cannot be taken out from the personal computer at all, if the CPU changes due to damage to the personal computer or version upgrade, the encrypted data already received is received. There is a problem that the content data and license cannot be used.
[0017]
Therefore, the present invention has been made to solve such a problem, and an object thereof is to provide a data terminal device capable of moving encrypted content data and license distributed by software to another data terminal device. It is to be.
[0018]
[Means for Solving the Problems and Effects of the Invention]
The data terminal device according to the present invention acquires encrypted content data obtained by encrypting content data and a license for decrypting the encrypted content data to obtain the original plaintext, and the encrypted content data and license are transferred to another data terminal. A data terminal device that outputs to the device, a module unit that acquires encrypted content data and a license by software, an encrypted content data, a license management file, and a storage unit that stores an encrypted confidential file; A device unit that decrypts the encrypted confidential file and stores a binding license including a binding key for encrypting the decrypted confidential file in a dedicated area, and the confidential file stores confidential information including the license as a component. Including license management file It corresponds to the encrypted content file, and includes a management number of the confidential information contained in the confidential file.
[0019]
In the data terminal device according to the present invention, the module unit obtains the encrypted content data and license by software, decrypts the encrypted confidential file with the binding key extracted from the device unit, and converts the acquired license into the decrypted confidential file. Write and encrypt the confidential file with the binding key to generate an encrypted confidential file. That is, the module unit manages the license obtained by opening and closing the encrypted confidential file via the binding key held by the hardware in the device unit.
[0020]
Therefore, according to the present invention, since the license for decrypting and playing back the encrypted content data acquired by software is managed by the binding key held in the hardware, the acquired encrypted content data and license Can be moved to another data terminal device.
[0021]
Preferably, when the encrypted confidential file is initialized, the module unit of the data terminal device generates a binding license including the binding key, generates a confidential file with empty confidential information, and generates the generated confidential file. The encrypted secret file is generated by encryption with the binding key, and the generated binding license is given to the device unit.
[0022]
When initializing an encrypted confidential file, the module unit generates a binding license including a binding key and an empty confidential file, encrypts the confidential file with the binding key, generates an encrypted confidential file, and generates a binding license. Is held in the device section.
[0023]
Therefore, according to the present invention, it is possible to create a confidential file for storing the license of the encrypted content data acquired by software in software and to manage a binding license for managing the created confidential file in hardware.
[0024]
Preferably, when acquiring the license, the module unit of the data terminal device decrypts the encrypted confidential file read from the storage unit with the binding key acquired from the device unit, and uses the acquired license as the confidential information in the decrypted confidential file. Updates the confidential file by writing, encrypts the updated confidential file with the binding key, updates the encrypted encrypted confidential file in the storage unit, and manages the confidential information with the written license as a component Create a license management file containing the number and write it to the storage.
[0025]
The license acquired by opening and closing the encrypted confidential file with the binding key acquired from the device part is written in the confidential file. Then, a license management file including the management number of confidential information having the written license as a component is created.
[0026]
Therefore, according to the present invention, the license of encrypted content data acquired in software can be managed by the management number.
[0027]
Preferably, at the time of transmitting the license, the module unit of the data terminal device acquires the license by decrypting the encrypted confidential file read from the storage unit with the binding key acquired from the device unit, and outputs the acquired license to the outside To do.
[0028]
The module unit decrypts the encrypted confidential file with the binding key acquired from the device unit, acquires the license, and outputs the acquired license to the outside.
[0029]
Therefore, according to the present invention, the license of encrypted content data acquired in software can be transferred to another device in the same manner as the license of encrypted content data acquired in hardware.
[0030]
Preferably, the module unit of the data terminal device outputs the encrypted content data and the license corresponding to the license and recorded in the storage unit to the outside when the license is output.
[0031]
When the license is output to the outside, the encrypted content data corresponding to the license extracted from the confidential file is read from the storage unit, and the encrypted content data and the license are output to the outside.
[0032]
Therefore, according to the present invention, the encrypted content data and license can be read out in software, and the encrypted content data and license can be transferred to another device.
[0033]
Preferably, the device unit of the data terminal apparatus receives a dedicated registration number for designating a dedicated area from the module unit, and stores the binding license in the dedicated area based on the received dedicated registration number.
[0034]
The device unit stores a binding license for opening and closing the encrypted confidential file via the dedicated registration number in the dedicated area.
[0035]
Therefore, according to the present invention, the binding license and the license of the encrypted content data can be associated with each other by the dedicated registration number.
[0036]
Preferably, when the license is output, the module unit of the data terminal device acquires the binding key by transmitting a dedicated registration number to the device unit.
[0037]
The module unit obtains a binding key for opening a confidential file storing a license to be read from the storage unit via the dedicated registration number.
[0038]
Therefore, according to the present invention, the binding key can be accurately obtained from the dedicated registration number.
[0039]
Preferably, when outputting the license, the module unit of the data terminal device transmits authentication data for the device unit to the device unit, and acquires the binding key when the authentication data is authenticated in the device unit.
[0040]
Only the authenticated module part is given a binding key.
Therefore, according to the present invention, an illegal binding key can be prevented from being leaked.
[0041]
Preferably, at the time of outputting the license, the device unit of the data terminal device encrypts and outputs the binding key.
[0042]
The device unit encrypts and outputs a binding key for managing the license.
[0043]
Therefore, according to the present invention, when the license is moved to another device, it is difficult to illegally acquire the binding key for managing the license at the destination.
[0044]
Preferably, when outputting the license, the module unit of the data terminal device acquires the confidential file by decrypting the encrypted confidential file with the acquired binding key, and the confidential information included in the license management file read from the storage unit The license to be output to the outside is obtained by reading out the confidential information matching the management number of the file from the acquired confidential file.
[0045]
The module unit obtains the binding key from the device unit, decrypts the encrypted confidential file, acquires the confidential information that matches the management number from the confidential information contained in the decrypted confidential file, and outputs it to the outside To get.
[0046]
Therefore, according to the present invention, the license can be accurately acquired via the management number.
[0047]
Preferably, when the license is transmitted to another data terminal device, the module unit of the data terminal device further receives the public encryption key held in the device unit, so that the device unit can write the binding license. Confirm.
[0048]
When transmitting the license to another apparatus, the module unit confirms whether the device unit is a device unit capable of writing the binding license by receiving a public encryption key from the device unit.
[0049]
Therefore, according to the present invention, when the license of the encrypted content data is moved, it is possible to recognize that the license has been moved by rewriting the binding license stored in the device unit.
[0050]
Preferably, when the encrypted content data is transferred to another data terminal device, the module unit of the data terminal device, when the license cannot be duplicated, reads the confidential information including the license transmitted to the other data terminal device as a component. Delete, delete the management number of the deleted confidential information, update the license management file, generate another binding key, encrypt the confidential file with the generated another banding key, and encrypt the confidential file Update.
[0051]
When copying of the moved license is prohibited, the module unit deletes the moved license and generates another binding key to update the encrypted confidential file.
[0052]
Therefore, according to the present invention, it is possible to prevent the license from being illegally copied.
[0053]
Preferably, when moving the encrypted content data to another data terminal device, the device unit of the data terminal device receives another binding license including another binding key from the module unit, and receives the received another one of the received licenses. Store the binding license by overwriting the dedicated area.
[0054]
When another binding key is generated, the device unit rewrites the binding license.
[0055]
Therefore, according to the present invention, the license for reproducing the encrypted content data can be managed with the latest binding license.
[0056]
Preferably, when the license is transmitted to another data terminal device, the module unit of the data terminal device transmits the license to the other data terminal device after authenticating the authentication data received from the other data terminal device.
[0057]
The module unit transmits the license for the encrypted content data after confirming that the data terminal device to which the license for the encrypted content data is to be transferred is a legitimate terminal device.
[0058]
Therefore, according to the present invention, the license of the encrypted content data can be transferred between legitimate data terminal devices, and the encrypted content data can be sufficiently protected.
[0059]
Preferably, the module unit of the data terminal device outputs the license after encrypting it.
[0060]
The module unit encrypts the license and moves to another data terminal device.
[0061]
Therefore, according to the present invention, it is difficult to illegally acquire the license when the license is moved.
[0062]
The data terminal device according to the present invention obtains a license for obtaining the original plaintext by decrypting the encrypted content data and the encrypted content data obtained by encrypting the content data, and transferring the encrypted content data and the license to another A data terminal device for outputting to a data terminal device, a module unit for acquiring encrypted content data and a license by software, an encrypted content data, a license management file, and an encrypted confidential data subjected to original encryption A storage unit for storing files and a device unit for storing a binding license including a binding key in a dedicated area. A confidential file obtained by decrypting an encrypted confidential file has the same binding license as the binding license stored in the device unit. Including License management file corresponds to the encrypted content data, and includes the encrypted confidential information which has been subjected to own encryption confidential information as components license.
[0063]
In the data terminal device according to the present invention, the module unit obtains encrypted content data and a license by software, performs original encryption on the obtained license, generates encrypted confidential information, and generates the generated encryption Create a license management file including the confidential information and write it to the storage unit. The binding license for managing the license is stored in a confidential file.
[0064]
Therefore, according to the present invention, since the binding key for managing the license is held by the hardware, the license for decrypting and playing back the encrypted content data acquired by the software is another data terminal device. Can move to.
[0065]
Preferably, when initializing the encrypted confidential file, the module unit of the data terminal device generates a binding license including the binding key, generates a confidential file storing the generated binding license, and generates the generated confidential file. An encrypted secret file is generated by applying original encryption to the device, and the generated binding license is given to the device unit.
[0066]
When the encrypted confidential file is initialized, the module generates a binding license including the binding key and an empty confidential file, writes the generated binding license in the confidential file, and performs its own encryption to encrypt the confidential information. A file is generated and the binding license is held in a dedicated area of the device unit.
[0067]
Therefore, according to the present invention, since the binding key for managing the license is held by the hardware, the license for decrypting and playing back the encrypted content data acquired by the software is another data terminal device. Can move to.
[0068]
Preferably, at the time of acquiring the license, the module unit of the data terminal device performs encryption unique to the license to generate encrypted confidential information, generates a license management file including the encrypted confidential information, and stores it in the storage unit. Write.
[0069]
The module unit performs original encryption on the acquired license and manages it in the storage unit.
[0070]
Therefore, according to the present invention, the license can be managed by a unique encryption method.
[0071]
Preferably, when the license is transmitted, the module unit of the data terminal device reads the encrypted confidential information read from the storage unit when the binding key acquired from the device unit matches the binding key acquired by decrypting the encrypted confidential file. The license is obtained by decryption, and the obtained license and the encrypted content data read from the storage unit are transmitted to another data terminal device.
[0072]
The module unit acquires a license only when the binding key stored in the device unit matches the binding key stored in the storage unit.
[0073]
Therefore, only the module unit having the same binding key as the hardware-managed binding key can acquire the license.
[0074]
Preferably, the unique encryption method is an encryption method associated with information unique to the data terminal device that can be acquired from the data terminal device.
[0075]
The module unit encrypts the license by an encryption method based on information unique to the data terminal device, for example, the version number of the CPU.
[0076]
Therefore, according to the present invention, even if an encrypted license is illegally leaked to another device, the license is not illegally acquired.
[0077]
Preferably, the device unit of the data terminal device receives a dedicated registration number for designating a dedicated area from the module unit, and stores the binding license in the dedicated area by the received dedicated registration number, and the module unit includes the dedicated registration number. To generate an encrypted confidential file and a license management file.
[0078]
The device unit manages the binding license by hardware using the dedicated registration number generated by the module unit, and the module unit independently manages the generated dedicated registration number and the acquired license by software.
[0079]
Therefore, according to the present invention, the module unit acquires the binding key held in the device unit via the dedicated registration number, and the binding key read from the encrypted confidential file matches the binding key acquired from the device unit. Can be accurately determined.
[0080]
Preferably, when the license is transmitted, the module unit of the data terminal device acquires the binding key by transmitting the dedicated registration number to the device unit.
[0081]
The module unit transmits the dedicated registration number to the device unit, and the device unit extracts and outputs the binding key from the dedicated area specified by the received dedicated registration number.
[0082]
Therefore, according to the present invention, the binding key can be accurately obtained from the dedicated registration number.
[0083]
Preferably, when the license is transmitted to another data terminal device, the module unit of the data terminal device transmits authentication data for the device unit to the device unit, and obtains a binding key when the authentication data is authenticated in the device unit. To do.
[0084]
The module unit obtains the binding key only when the validity of the module unit with respect to the device unit is confirmed.
[0085]
Therefore, according to the present invention, unauthorized acquisition of the binding key can be prevented, and as a result, the license can be prevented from being illegally transferred to another terminal device.
[0086]
Preferably, when the license is transmitted to another data terminal device, the module unit of the data terminal device transmits the license to the other data terminal device after authenticating the authentication data received from the other data terminal device.
[0087]
When it is confirmed that the data terminal device to which the encrypted content data and license are to be transferred is authentic, the module unit transmits the encrypted content data and license to another data terminal device.
[0088]
Therefore, according to the present invention, encrypted content data and licenses can be transferred only between legitimate data terminal devices.
[0089]
Preferably, the module unit of the data terminal device acquires encrypted content data and a license from the distribution server via the Internet.
[0090]
Therefore, according to the present invention, it is possible to acquire various types of content data and move the acquired content data to another terminal device.
[0091]
Preferably, the data terminal device further includes a medium driving unit that reads plaintext content data from the recording medium, and the module unit generates a license based on duplication permission / inhibition information included in the content data read by the medium driving unit. Then, the encrypted content data and the license are obtained by generating the encrypted content data by encrypting the content data with the license key included in the generated license.
[0092]
The data terminal device acquires encrypted content data and a license by ripping.
[0093]
Therefore, according to the present invention, content data distributed by means other than the communication means can also be acquired and transferred to another data terminal device.
[0094]
Preferably, the device unit of the data terminal device further receives the encrypted content data and the license from the distribution server, holds the received license, and the storage unit stores the encrypted content data received by the device unit. To do.
[0095]
The device unit holds the binding license, receives the encrypted content data and the license from the distribution server, and holds the received license together with the binding license.
[0096]
Therefore, according to the present invention, a license acquired by hardware and a license acquired by software can be managed at almost the same security level.
[0097]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described in detail with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals and description thereof will not be repeated.
[0098]
[Embodiment 1]
FIG. 1 shows an overall configuration of a data distribution system in which a data terminal device (personal computer) according to the present invention acquires encrypted content data and moves the acquired encrypted content data to another data terminal device (personal computer). It is the schematic for demonstrating conceptually.
[0099]
In the following description, the configuration of a data distribution system that distributes digital music data to users of personal computers via the Internet will be described as an example. As will be apparent from the following description, the present invention is applied to such a case. Without limitation, the present invention can also be applied to the case of distributing content data as other copyrighted works, for example, image data, moving image data, and the like.
[0100]
Referring to FIG. 1, personal computer 50 transmits a distribution request (distribution request) from a user of each personal computer to distribution server 10 via modem 40 and Internet network 30. The distribution server 10 that manages copyrighted music data determines whether or not the personal computer 50 owned by the user of the personal computer that has accessed for data distribution has valid authentication data. The personal computer performs an authentication process as to whether or not content protection with a sufficient security level is performed, and music data (hereinafter also referred to as content data) is transmitted to the personal computer performing legitimate content protection by a predetermined encryption method. ) Is encrypted, and the license as information necessary for reproducing such encrypted content data and encrypted content data is distributed to the personal computer 50.
[0101]
In this case, the personal computer 50 can receive and manage the encrypted content data and license from the distribution server 10 via the modem 40 and the Internet network 30 with different security levels. That is, the personal computer 50 includes a license management device that realizes content protection in hardware and a license management module that realizes content protection in software. The license management device receives encrypted content data and a license from the distribution server 10 via the Internet network 30 or the like with the help of application software. This license management device establishes an encrypted communication path for receiving a license for reproducing encrypted content data directly with a distribution server, and holds the received license in hardware. Security level is high. Similarly, the license management module establishes an encrypted communication path according to a predetermined procedure with the distribution server, receives the license, encrypts it, protects it, and then licenses it to the hard disk (referred to as HDD). Record. The encrypted content data and license are received and managed at a lower security level than the license management device. In either case, the encrypted content data is recorded on the HDD as it is. The license management device and the license management module will be described in detail later.
[0102]
Hereinafter, in order to distinguish between the security level and the license, the security level that keeps confidentiality by the hardware such as the memory card 110 or the license management device is referred to as level 2, and the license transmitted from the distribution server requesting the security of level 2 Is referred to as a Level 2 license. Similarly, a security level that maintains confidentiality by software such as a license management module is referred to as level 1, and a license that requests a security level of level 1 and is transmitted from a distribution server is referred to as a level 1 license.
[0103]
Further, in FIG. 1, the personal computer 50 encrypts music data acquired from a music CD (Compact Disk) 60 in which music data is recorded using the license management module, and is limited to local use only for personal use. Content data and a license for reproducing the encrypted content data can be generated. This process is called ripping and corresponds to an act of acquiring encrypted content data and a license from a music CD. Since the license for local use by ripping has a security level that is never high due to its nature, it is assumed that it is treated as a level 1 license no matter what means is used for ripping. Details of ripping will be described later.
[0104]
Furthermore, the personal computer 50 is connected to the playback terminal 100 via a USB (Universal Serial Bus) cable 70 and transmits the encrypted content data and license received from the distribution server 10 to the memory card 110 attached to the playback terminal 100. It is possible.
[0105]
Further, the personal computer 50 transmits the received encrypted content data and license to the personal computer 80 via the communication cable 90.
[0106]
Therefore, in the data distribution system shown in FIG. 1, the personal computer 50 receives the encrypted content data and the license from the distribution server 10 via the modem 40 and the Internet network 30, and also receives the encrypted content data from the music CD. Get a license. The memory card 110 attached to the playback terminal 100 receives the encrypted content data and license acquired by the personal computer 50 from the distribution server 10 or the music CD 60. The user of the playback terminal 100 can obtain the encrypted content data and license from the music CD via the personal computer 50.
[0107]
In FIG. 1, for example, a removable memory card 110 is attached to a playback terminal 100 of a mobile phone user. The memory card 110 receives the encrypted content data received by the playback terminal 100, decrypts the encryption performed in the distribution, and gives it to a music playback unit (not shown) in the playback terminal 100.
[0108]
Further, for example, a mobile phone user can “reproduce” such content data via the headphones 130 connected to the reproduction terminal 100 and listen to the content data.
[0109]
In FIG. 1, the personal computer 50 uses the license management module, and only the encrypted content data having the level 1 license that is directly managed by the license management module is used as a music playback program that works closely with the license management module. It is possible to provide a function of reproducing using Reproduction of encrypted content data having a level 2 license is possible if the personal computer is provided with a content reproduction circuit having confidentiality by hardware having the same configuration as the reproduction terminal. A detailed description of playback on a personal computer will be omitted to simplify the description in the present application.
[0110]
With such a configuration, if the personal computer is not a personal computer having a proper license management device or license management module having a content protection function with a sufficient security level, the distribution server 10 receives the distribution of the content data and receives the personal data. It becomes difficult to transmit the encrypted content data to the computer 80 or the playback terminal 100.
[0111]
Moreover, in the distribution server 10, for example, by counting the frequency each time content data for one song is distributed, the copyright fee generated each time the user of the personal computer receives (downloads) the content data, If it is collected together with the usage fee for the Internet network, it becomes easy for the copyright holder to secure the copyright fee.
[0112]
In FIG. 1, the playback terminal 100 is assumed to be a playback terminal that does not have a function of directly communicating with the distribution server 10.
[0113]
In the configuration as shown in FIG. 1, in order to be able to reproduce the content data encrypted and distributed on the user side of the personal computer, the first thing required on the system is an encryption key for communication. The second method is to encrypt the content data to be distributed, and the third is to prevent unauthorized copying of the distributed content data. The content data protection is realized.
[0114]
In the embodiment of the present invention, particularly at the occurrence of each session of distribution, movement, check-out, check-in, and playback, the authentication and check functions for the destination of these content data are enriched, and non-authentication or Content data copyright protection is achieved by preventing output of content data to a recording device and a data reproduction terminal whose decryption key has been broken (a data reproduction terminal capable of reproducing content is also referred to as a reproduction terminal or a personal computer). The structure to strengthen is demonstrated.
[0115]
In the following description, processing for transmitting content data from the distribution server 10 to each personal computer or the like is referred to as “distribution”.
[0116]
FIG. 2 is a diagram for explaining characteristics of data, information, etc. for communication used in the data distribution system shown in FIG.
[0117]
First, data distributed from the distribution server 10 will be described. Dc is content data such as music data. The content data Dc is encrypted so that it can be decrypted with the license key Kc. Encrypted content data {Dc} Kc that has been decrypted by the license key Kc is distributed from the distribution server 10 to the user of the personal computer in this format.
[0118]
In the following, the notation {Y} X indicates that the data Y has been encrypted with the decryption key X.
[0119]
Further, the distribution server 10 distributes additional information Dc-inf as plain text information such as copyrights related to the content data or server access, along with the encrypted content data. In addition, a transaction ID, which is a management code for specifying the distribution of the license key Kc and the license key from the distribution server 10, is exchanged between the distribution server 10 and the personal computer 50 as a license. The transaction ID is also used to specify a license that is not distributed, that is, a license for local use for personal use. In order to discriminate between delivery and local use, the transaction ID beginning with “0” is the local use transaction ID, and the transaction ID beginning with other than “0” is the delivery transaction ID. And Furthermore, the license is generated based on a license purchase condition AC including information such as a content ID that is a code for identifying the content data Dc, the number of licenses determined by designation from the user side, and function limitations. There are access control information ACm, which is information relating to restrictions on access to the license in the recording device (memory card or license management device), reproduction control information ACp, which is control information in the data reproduction terminal, and the like. Specifically, the access restriction information ACm is control information for a memory card, a license management module, and a license or license key from the license management module that is suitable for output to the outside. Number of keys to be output), restriction information on transfer / copying of licenses, and license security level. The reproduction control information ACp is information for restricting reproduction after the content reproduction circuit receives the license key for reproduction, and includes reproduction time limit, reproduction speed change restriction, reproduction range designation (partial license), and the like.
[0120]
In the embodiment of the present invention, for simplification, the access restriction information ACm is control information for restricting the number of reproductions. The number of reproductions <0: reproduction impossible, 1 to 254: reproduction possible number, 255: no restriction), Move and copy flag that restricts license transfer and copy <0: Move copy prohibited, 1: Transfer only allowed, 2: Move copy allowed), security level “1: Level 1, 2: Level 2” and play The control information ACp restricts only the reproduction time limit “UTCtime code”, which is control information defining the reproducible time limit. Therefore, hereinafter, the reproduction control information ACp is also referred to as a reproduction time limit ACp.
[0121]
Further, hereinafter, the transaction ID and the content ID are collectively referred to as a license ID, and the license key Kc, the license ID, the access restriction information ACm, and the reproduction time limit ACp are collectively referred to as a license.
[0122]
In the embodiment of the present invention, distribution and reproduction of content data can be prohibited for each class of recording device (memory card, license management device and license management module) and reproduction terminal for reproducing content data. In addition, the prohibited class list CRL (Class Revocation List) is operated. Hereinafter, the data in the prohibited class list may be represented by the symbol CRL as necessary.
[0123]
The prohibited class list related information includes prohibited terminal list data CRL that lists the classes of playback terminals, memory cards, license management modules, and license management devices that are prohibited from distributing, moving, checking out, and playing licenses. It is. All devices and programs that manage and store licenses related to content data protection and play back licenses are eligible for listing.
[0124]
The prohibited class list data CRL is managed in the distribution server 10 and is also recorded and held in a hard disk (HDD) or license management device in the personal computer 50 by a memory card or a license management module. Such a prohibited class list needs to be updated at any time to update the data, but the data change is basically performed when distributing licenses such as encrypted content data and / or license keys. The update date and time of the prohibited class list received from the personal computer (license management device or license management module) is determined. When it is determined that the updated class list has not been updated, the updated prohibited class list is distributed to the personal computer. The prohibited class list is also exchanged between the license management module, the license management device, and the playback terminal 100, and the data change is the same as described above. Further, regarding the change of the prohibited class list, differential data CRL reflecting only the changed point is generated from the distribution server 10 side and added to the prohibited class list CRL in the memory card, hard disk, and license management device accordingly. It is also possible to adopt a configuration. The update date / time CRLdate of the prohibited class list is recorded in the prohibited class list CRL recorded in the memory card, hard disk, and license management device, and version management is performed by confirming this on the distribution server 10 side. Execute. The difference data CRL update date / time CRLdate is also included.
[0125]
In this way, the prohibited class list CRL is held and operated not only in the distribution server but also in the memory card or personal computer, so that it is specific to the class, that is, the reproduction terminal and the memory card or personal computer (license management device or license management module). The license key is prohibited from being supplied to the playback terminal and the memory card or personal computer whose decryption key is broken. For this reason, it becomes impossible for the playback terminal to play back the content data, and the memory card, license management module, and license management device cannot receive a new license.
[0126]
As described above, the prohibited class list CRL in the memory card or the license management device or in the HDD managed by the license management module is configured to sequentially update data at the time of distribution. In addition, the management of the prohibited class list CRL in the memory card, the license management module, and the license management device is performed by a tamper resistant module (a hard disk controlled by the memory card, the license management device, and the license management module independently of the upper level). Record in the Tamper Resistant Module). In the memory card or license management device, similarly to the license, management of the prohibited class list CRL recorded by the high-level tamper resist module that guarantees confidentiality in hardware and recorded in the HDD managed by the license management module Is recorded in a personal computer HDD or the like after at least tampering prevention processing is performed by encryption processing. In other words, it is recorded by a low level tamper resistant module whose confidentiality is guaranteed by software. In any case, the prohibited class list data CRL cannot be falsified from a higher level by a file system, an application program, or the like. As a result, the copyright protection regarding the data can be further strengthened.
[0127]
FIG. 3 is a diagram for explaining the characteristics of data, information, etc. for authentication used in the data distribution system shown in FIG.
[0128]
The playback terminal, the memory card, the license management device, and the license management module are each provided with a unique public encryption key KPpy and KPmw, and the public encryption keys KPpy and KPmw are a secret decryption key Kpy and a memory card, license unique to the playback terminal. Each can be decrypted by a secret decryption key Kmw unique to the management device and the license management module. These public encryption key and secret decryption key have different values for each type of playback terminal, memory card, license management device, and license management module. These public encryption keys and secret decryption keys are collectively referred to as class keys, these public encryption keys are referred to as class public encryption keys, secret decryption keys are referred to as class secret decryption keys, and units sharing the class keys are referred to as classes. Classes differ depending on the manufacturer, product type, production lot, and the like.
[0129]
Also, Cpy is provided as a class certificate for the content playback device (playback terminal), and Cmw is provided as a class certificate for the memory card, license management device, and license management module.
[0130]
These class certificates have different information for each class of content playback device, memory card, license management device, and license management module. If the tamper resistant module is broken or the encryption by the class key is broken, that is, the class key for which the class secret decryption key has been obtained, it will be listed in the prohibited class list and will not be subject to license transmission. Become.
[0131]
The class public encryption key and class certificate unique to these content reproduction device, memory card, license management device, and license management module are in the form of authentication data {KPpy // Cpy} KPa or authentication data {KPmw // Cmw}. In the KPa format, it is recorded in the data playback device (playback terminal), memory card, license management device, and license management module at the time of shipment. As will be described in detail later, KPa is a public authentication key common to the entire distribution system.
[0132]
Furthermore, as a key for managing data processing in the memory card 110, the license management device, and the license management module, a public encryption set for each medium or management software of the memory card, the license management device, and the license management module There is a unique secret decryption key Kmcx that can decrypt the data encrypted with the key KPmcx and the public encryption key KPmcx. The public encryption key and secret decryption key that are child-specific for each memory card are collectively referred to as an individual key, the public encryption key KPmcx is referred to as an individual public encryption key, and the secret decryption key Kmcx is referred to as an individual secret decryption key.
[0133]
As an encryption key for maintaining confidentiality in data transfer between memory cards and between memory cards, data transfer between license management devices and license management devices, or data transfer between license management modules and license management modules The common keys Ks1 to Ks3 generated in the distribution server 10, the reproduction terminal 100, the memory card 110, the license management device, and the license management module are used every time content data is distributed and reproduced.
[0134]
Here, the common keys Ks1 to Ks3 are unique common keys generated for each “session” which is a unit of communication or a unit of access between a distribution server, a reproduction terminal, a memory card, a license management device, or a license management module. Hereinafter, these common keys Ks1 to Ks3 are also referred to as “session keys”.
[0135]
These session keys Ks1 to Ks3 are managed by the distribution server, playback terminal, memory card, license management device, and license management module by having a unique value for each session. Specifically, the session key Ks1 is generated for each distribution session by the distribution server. The session key Ks2 is generated for each distribution session and reproduction session by the memory card, the license management device, and the license management module, and the session key Ks3 is generated for each reproduction session at the reproduction terminal. In each session, these session keys are exchanged, the session keys generated by other devices are received, the encryption with this session key is performed, and the license key etc. is transmitted, so that the security strength in the session Can be improved.
[0136]
FIG. 4 shows a binding license necessary for encrypting and managing encrypted content data and a license acquired by software (license management module) in association with a license management device so that the license can be transferred to another personal computer. FIG. 6 shows checkout management information in a checkout session in which encrypted content data acquired by software and a license are lent to the memory card 110. FIG.
[0137]
The binding license is a level 1 license for reproducing encrypted content data, a binding key that is a common key for realizing a soft tamper resistant module by encrypting information related to license checkout, and a binding license. It consists of control information ACmb and ACpb, a transaction IDb that is a transaction ID for a binding license, a content IDb that is a dummy for a binding ID, and a binding ID that is a generic name of the transaction IDb and the content IDb. That is, since it is premised on recording as a license in the license management device, it has the same configuration as the license.
[0138]
The binding key Kb manages the license of the encrypted content data acquired by software, and is held by hardware. The license cannot be taken out without using the binding key Kb held by the hardware. The control information ACmb and ACpb correspond to ACm and ACp included in the license for reproducing the encrypted content data, and have fixed values. ACmb represents that there is no limit on the number of times the license can be played, mobile copying is prohibited, and security level 1. ACpb represents that the playing time limit is indefinite.
[0139]
The check-out management information includes a check-out possible number, a check-out destination individual ID, and a check-out transaction ID. The number of checkouts possible indicates the number of times that the encrypted content data can be lent, and every time the encrypted content data is checked out, the numerical value is decremented by 1 and every time the encrypted content data is checked in. The numerical value is incremented by one. The checkout destination individual ID is identification information for specifying a memory card for checking out encrypted content data, and corresponds to the individual public encryption key KPmcx held by the memory card. The transaction ID at the time of checkout is a transaction ID for local use used at the time of checkout.
[0140]
FIG. 5 is a schematic block diagram showing the configuration of the distribution server 10 shown in FIG.
The distribution server 10 follows the start of access to the content data for each user of the personal computer and the information database 304 for holding the distribution data such as the content data encrypted according to a predetermined method and the content ID. A charging database 302 for storing charging information, a CRL database 306 for managing the prohibited class list CRL, a menu database 307 for storing a menu of content data stored in the information database 304, and content data for each license distribution And a distribution record database 308 that records and maintains the distribution of transaction IDs that specify the distribution of license keys and the like, an information database 304, a charging database 302, a CRL database 306, a menu, and the like. Data processing unit 310 for receiving data from database 307 and distribution record database 308 via bus BS1 and performing predetermined processing, and between distribution carrier 20 and data processing unit 310 via a communication network And a communication device 350 for exchanging data.
[0141]
The data processing unit 310 is controlled by the distribution control unit 315 for controlling the operation of the data processing unit 310 and the distribution control unit 315 according to the data on the bus BS1, and generates a session key Ks1 during the distribution session. Session key generation unit 316 for authentication, authentication key holding for holding public authentication key KPa for decrypting authentication data {KPmw // Cmw} KPa sent from the license management device and the license management module Authentication data {KPmw // Cmw} KPa sent from the unit 313, the license management device, and the license management module is received via the communication device 350 and the bus BS1, and sent from the authentication key holding unit 313. A decryption processing unit 312 that performs decryption processing using the public authentication key KPa, and a set The session key Ks1 generated by the key generation unit 316 is encrypted using the class public encryption key KPmw obtained by the decryption processing unit 312 and output to the bus BS1, and the session key Ks1 A decryption processing unit 320 that receives the encrypted data transmitted from the bus BS1 and performs decryption processing.
[0142]
The data processing unit 310 further receives the license key Kc and the access restriction information ACm given from the distribution control unit 315, and the individual public encryption key KPmcx of the memory card, license management device, and license management module obtained by the decryption processing unit 320. An encryption processing unit 326 for encrypting using the encryption key, and an encryption processing unit 328 for further encrypting the output of the encryption processing unit 326 with the session key Ks2 given from the decryption processing unit 320 and outputting the result to the bus BS1. including.
[0143]
The authentication key held by the distribution server varies depending on the security level of the receiving side requested by the license to be distributed by the distribution server. In a distribution server that distributes a level 2 license that requires security level 2, an authentication key KPa2 that can perform authentication processing on authentication data transmitted by a device with a security level of 2 is held. Further, in a distribution server that distributes a level 1 license that requires a security level 1 for a license to be distributed, it can be distributed to both a device with a security level of level 2 and a device with a security level of level 1. Therefore, the authentication keys KPa2 and KPa1 corresponding to the level 2 and level 1 are held, and are used properly according to the level of the other party. Furthermore, even if the authentication key required by the transmitted authentication data is encrypted as the authentication data of the class certificate Cmw, it is described in the area maintained as plain text and the distribution control unit 315 of the distribution server 10 The decryption processing unit 312 can easily specify the authentication key before decryption. In order to distinguish the two authentication keys, the authentication key KPa2 corresponding to level 2 is referred to as level 2 authentication key KPa2, the authentication key KPa1 corresponding to level 1 is referred to as level 1 authentication key KPa1, and is generally referred to as authentication key KPa.
[0144]
The operation in the distribution session of the distribution server 10 will be described in detail later using a flowchart.
[0145]
FIG. 6 is a schematic block diagram for explaining the configuration of the personal computer 50 shown in FIG. The personal computer 50 includes a bus BS2 for exchanging data of each part of the personal computer 50, a controller (CPU) 510 for executing various programs while controlling the inside of the personal computer, a data bus BS2, and data A hard disk (HDD) 530 and a CD-ROM drive 540 that are connected to the bus BS2 and record and store programs and data, and a keyboard 560 for inputting instructions from the user And a display 570 for visually giving various kinds of information to the user.
[0146]
The personal computer 50 further connects a USB interface 550 and a USB cable 70 for controlling data exchange between the controller 510 and the terminal 580 when the encrypted content data and license are communicated to the playback terminal 100 or the like. A terminal 580 for performing communication, a serial interface 555 for controlling data exchange between the controller 510 and the terminal 585 when communicating with the distribution server 10 via the Internet network 30 and the modem 40, and the modem 40 via a cable. And a terminal 585 for connection to the terminal.
[0147]
The controller 510 executes the application program to receive the encrypted content data and the like from the distribution server 10 via the Internet 30 to the license management device 520 or the license management module 511. In addition to controlling data exchange, control is performed when encrypted content data and a license are obtained by ripping from a music CD via the CD-ROM drive 540.
[0148]
Further, the personal computer 50 exchanges various keys with the distribution server 10 when receiving the encrypted content data and the license from the distribution server 10 and reproduces the distributed encrypted content data. License management device 520 that manages the licenses in hardware and a program that is executed by the controller 510 and that receives the encrypted content data and the level 1 license from the distribution server 10 by the program, and receives the received license And a content management module 511 for generating a dedicated license with its own encryption.
[0149]
The license management device 520 is a device that performs hardware exchange of data when receiving encrypted content data and a license from the distribution server 10 and manages the received license in hardware, and therefore requires a high security level. Handles level 2 licenses. On the other hand, the license management module 511 performs software transmission and reception of data when receiving encrypted content data and a license from the distribution server 10 using a program executed by the stove and roller 510, and receives the license. In addition, since the encrypted content data for local use and the license are generated by ripping from the music CD, the obtained license is protected by performing encryption processing, etc., and stored and managed in the HDD 530. License management Only level 1 licenses with a security level lower than that of the device 520 are handled. Needless to say, if the high security level is level 2, a level 1 license can also be handled.
[0150]
As described above, the personal computer 50 uses the license management module 511 and the license management device 520 for receiving the encrypted content data and the license from the distribution server 10 via the Internet network 30, and the encrypted content data by ripping from the music CD. And a CD-ROM drive 540 for obtaining a license.
[0151]
FIG. 7 is a schematic block diagram for explaining the configuration of the playback terminal 100 shown in FIG.
[0152]
The playback terminal 100 gives the playback terminal 100 a bus BS3 for exchanging data of each part of the playback terminal 100, a controller 1106 for controlling the operation of the playback terminal 100 via the bus BS3, and an instruction from the outside. And a display panel 1110 for giving information output from the controller 1106 and the like as visual information to the mobile phone user.
[0153]
The playback terminal 100 further stores the content data (music data) from the distribution server 10 and exchanges data between the removable memory card 110 and the memory card 110 and the bus BS3 for decryption processing. A memory interface 1200 for controlling, a USB interface 1112 for controlling data exchange between the bus BS3 and the terminal 1114 when receiving encrypted content data and a license from the personal computer 50, and a USB cable 70 are connected. And a terminal 1114 for performing.
[0154]
The playback terminal 100 further authenticates its validity by decrypting the class public encryption key KPp1 and the class certificate Cp1 set for each type (class) of the playback terminal with the class public authentication key KPa. An authentication data holding unit 1500 that holds encrypted authentication data {KPp1 // Cp1} KPa2 is included. Here, it is assumed that the class y of the playback terminal 100 is y = 1. Further, since the playback terminal is a device that provides playback using a content playback device capable of maintaining confidentiality in hardware, the security level is level 2.
[0155]
The playback terminal 100 further includes a Kp1 holding unit 1502 that holds Kp1, which is a class secret decryption key of the playback terminal (content playback device), and a session generated by the memory card 110 by decrypting the data received from the bus BS3 with Kp1. A decryption processing unit 1504 for obtaining the key Ks2.
[0156]
The playback terminal 100 further provides a session key Ks3 for encrypting data exchanged with the memory card 110 on the bus BS3 in a playback session for playing back content data stored in the memory card 110, such as a random number. A session key generation unit 1508 generated by the above-described process, and a decryption processing unit that decrypts the session key Ks3 generated by the session key generation unit 1508 when receiving the license key Kc and the reproduction time limit ACp from the memory card 110 in the reproduction session of the encrypted content data. And an encryption processing unit 1506 that encrypts the session key Ks2 obtained by 1504 and outputs it to the bus BS3.
[0157]
Further, the playback terminal 100 decrypts the data on the bus BS3 with the session key Ks3 and outputs the license key Kc and the playback time limit ACp, and the encrypted content data {Dc} Kc from the bus BS3. A decryption processing unit 1516 that decrypts the license key Kc acquired from the decryption processing unit 1510 and outputs the content data; a music playback unit 1518 that receives the output of the decryption processing unit 1516 and plays back the content data; DA converter 1519 for converting the output of unit 1518 from a digital signal to an analog signal, and a terminal 1530 for outputting the output of DA converter 1519 to an external output device (not shown) such as a headphone.
[0158]
In FIG. 7, a region surrounded by a dotted line constitutes a content playback device 1550 that decrypts encrypted content data and plays back music data. In FIG. 7, for the sake of simplicity of explanation, only the blocks related to the reproduction of the music data of the present invention are described among the reproduction terminals, and some of the blocks relating to the call function that the reproduction terminal originally has are partially described. Is omitted.
[0159]
The operation of each component of the playback terminal 100 in each session will be described in detail later using a flowchart.
[0160]
FIG. 8 is a schematic block diagram for explaining the configuration of the memory card 110.
As described above, KPmw and Kmw are provided as the public encryption key and secret decryption key unique to the memory card, and the memory card class certificate Cmw is provided. In the memory card 110, the memory card class is It is assumed that a natural number w = 3 for identification and a natural number x = 4 for identifying a memory card, respectively. Further, since the memory card 110 is a device that keeps confidentiality in hardware, the security level is 2.
[0161]
Therefore, the memory card 110 has an authentication data holding unit 1400 that holds authentication data {KPm3 // Cm3} KPa2, and a Kmc holding unit that holds an individual secret decryption key Kmc4 that is a unique decryption key set for each memory card. 1402, a Km holding unit 1421 that holds a unique class secret decryption key Km3 set for each type of memory card, and a KPmc holding unit 1416 that holds a public encryption key KPmc4 that can be decrypted using the individual secret decryption key Kmc4. Including.
[0162]
As described above, by providing an encryption key for a recording device called a memory card, management of distributed content data and encrypted license keys can be executed in units of memory cards, as will be apparent from the following description. It becomes possible.
[0163]
The memory card 110 further includes an interface 1424 that exchanges signals with the memory interface 1200 via a terminal 1426, a bus BS4 that exchanges signals with the interface 1424, and data that is given to the bus BS4 from the interface 1424. The decryption processing unit 1422 that receives the class secret decryption key Km3 unique to each type of memory card from the Km holding unit 1421 and outputs the session key Ks1 generated by the distribution server 10 in the distribution session to the contact Pa, and KPa holding Receives the level 2 authentication key KPa2 from the unit 1414, executes the decryption process with the level 2 authentication key KPa2 from the data given to the bus BS4, and sends the decryption result and the obtained class certificate to the controller 1420. Key encryption processing unit 14 10 and an encryption processing unit 1406 that encrypts data selectively given by the changeover switch 1446 and outputs it to the bus BS4 with a key selectively given by the changeover switch 1442.
[0164]
The memory card 110 further includes a session key generation unit 1418 that generates a session key Ks2 in each session, and a session key Ks2 output from the session key generation unit 1418 by the class public encryption key KPpy or KPmw obtained by the decryption processing unit 1408. An encryption processing unit 1410 that encrypts and sends the data to the bus BS4; a decryption processing unit 1412 that receives data encrypted by the session key Ks2 from the bus BS4 and decrypts the data using the session key Ks2 obtained from the session key generation unit 1418; The individual public encryption key KPmc unique to the other memory card 110 decrypted by the decryption processing unit 1412 is used for the license key Kc and the playback time limit ACp read from the memory 1415 in the playback session of the encrypted content data. And a cryptographic processing unit 1417 for encrypting at (≠ 4).
[0165]
The memory card 110 further includes a decryption processing unit 1404 for decrypting data on the bus BS4 with the individual secret decryption key Kmc4 unique to the individual public encryption key KPmc4, the prohibited class list data CRL, Encrypted content data {Dc} Kc, license (Kc, ACp, ACm, license ID) for reproducing encrypted content data {Dc} Kc, additional information Data-inf, and playback list of encrypted content data And a memory 1415 for receiving and storing a license management file for managing licenses from the bus BS4. The memory 1415 is configured by a semiconductor memory, for example. The memory 1515 includes a CRL area 1415A for recording the prohibited class list CRL, a license area 1415B for recording a license, encrypted content data {Dc} Kc, related information Dc-inf of the encrypted content data, memory A playlist file that records basic information for accessing encrypted content data and licenses recorded on the card, and a license management file that records information necessary for managing licenses for each encrypted content data It consists of a data area 1415C that can be accessed directly from the outside. Details of the license management file and the playlist file will be described later.
[0166]
The license area 1415B stores a license in a license-dedicated recording unit called an entry for recording a license (content key Kc, reproduction control information ACp, access restriction information ACm, license ID). When accessing a license, the license is stored or an entry for which the license is to be recorded is designated by an entry number.
[0167]
Memory card 110 further includes a controller 1420 for exchanging data with the outside via bus BS4, receiving reproduction information from bus BS4, and controlling the operation of memory card 110. .
[0168]
All configurations except the data region 1415C are configured in a tamper resistant module region.
[0169]
FIG. 9 is a schematic block diagram showing the configuration of the license management device 520 built in the personal computer 50. The license management device 520 is fundamentally different in that it does not require an area corresponding to the data area 1415C in the memo card 110, and has an interface 5224 and a terminal 5226 that have different functions of the interface 1424 and different shapes of the terminals 1426. The memory card 110 has the same configuration. Authentication data holding unit 5200, Kmc holding unit 5202, decryption processing unit 5204, encryption processing unit 5206, decryption processing unit 5208, encryption processing unit 5210, decryption processing unit 5212, KPa holding unit 5214, KPmc holding unit 5216 of license management device 520 , An encryption processing unit 5217, a session key generation unit 5218, a controller 5220, a Km holding unit 5221, a decryption processing unit 5222, an interface 5224, a terminal 5226, and a changeover switch 5242 and 5246, respectively, an authentication data holding unit 1400 of the memory card 110, Kmc holding unit 1402, decryption processing unit 1404, encryption processing unit 1406, decryption processing unit 1408, encryption processing unit 1410, decryption processing unit 1412, KPa holding unit 1414, KPmc holding unit 1416, encryption processing unit 1417, session key Raw unit 1418, the controller 1420, Km holding unit 1421, decryption processing unit 1422 is the same as the change-over switch 1442,1446. However, the authentication data holding unit 5200 holds the authentication data {KPm7 // Cm7} KPa2, the KPmc holding unit 5216 holds the individual public encryption key KPm8, and the Km holding unit 5202 holds the class secret decryption key Km7. The Kmc holding unit 5221 holds the individual secret decryption key Kmc8. It is assumed that the natural number w representing the class of the license management device 520 is w = 7, and the natural number x for identifying the license management device 520 is x = 8.
[0170]
The license management device 520 includes a memory 5215 that records a prohibited class list CRL and a license (Kc, ACp, ACm, license ID) instead of the memory 1415 of the memory card 110. The memory 5215 includes a CRL area 5215A in which a prohibited class list CRL is recorded and a license area 5215B in which a license is recorded.
[0171]
Further, the license management device 520 needs to hold a binding license used by the license management module 511. Accordingly, the KPa holding unit 5214 holds the two authentication keys KPa2 and KPa1. Control from different levels will be described in detail later using flowcharts.
[0172]
Further, the license management module 511 is a program for managing licenses, and the security level is 1. Since the license management module 511 is a management program having almost the same configuration as the license management device 520, the natural number w representing the class of the license management module 511 is w = 5, and the natural number x for identifying the license management device 520 is x. Let x = 6. Therefore, the license management module 511 holds the authentication data {KPm5 // Cm5} KPa1, the individual public encryption key KPm6, the class secret decryption key Km5, and the individual secret decryption key Kmc6. Two authentication keys KPa2 and KPa1 are held.
[0173]
The operation of each session in the data distribution system shown in FIG. 1 will be described below.
[0174]
[Initialization]
Initialization performed before the personal computer 50 receives the encrypted content data and license from the distribution server 10 will be described.
[0175]
10 to 12 are first to third flowcharts for explaining initialization performed before the personal computer 50 receives the encrypted content data and the license from the distribution server 10.
[0176]
Referring to FIG. 10, when generation of a binding license is requested via the keyboard 560 (step S10), the license management module 511 generates a binding key Kb (step S12), and then transaction IDb, content IDb, predetermined control information ACmb and ACpb are generated (step S14). Steps S12 and S14 are binding license generation processing.
[0177]
Then, the license management module 511 instructs the license management device 520 to output authentication data via the bus BS2 (step S16).
[0178]
Then, the controller 5220 of the license management device 520 receives the authentication data output instruction via the terminal 5226, the interface 5224, and the bus BS5, and the authentication data {KPm7 // Cm7} from the authentication data holding unit 5200 via the bus BS5. KPa2 is acquired, and authentication data {KPm7 // Cm7} KPa2 is output via bus BS5, interface 5224, and terminal 5226 (step S18). The license management module 511 receives the authentication data {KPm7 // Cm7} KPa2 via the bus BS2 (step S20), and decrypts the authentication data {KPm7 // Cm7} KPa with the level 2 authentication key KPa2 (step S22). .
[0179]
The license management module 511 authenticates from the decryption processing result whether or not the processing has been performed normally, that is, the license management device 520 holds the public encryption key KPm7 and the certificate Cm7 from the authorized license management device. Therefore, an authentication process is performed to determine whether or not authentication data subjected to encryption for proving its validity is received by a legitimate institution (step S24). If it is determined that the authentication data is valid, the license management module 511 approves and accepts the public encryption key KPm7 and the certificate Cm7. Then, the process proceeds to the next process (step S26). If it is not valid authentication data, it is rejected, and the process is terminated without accepting the public encryption key KPm7 and the certificate Cm7 (step S68).
[0180]
If it is recognized as a legitimate device as a result of the authentication, the license management module 511 next determines whether the class certificate Cm7 of the license management device is listed in the prohibited class list CRL. In step S68, when these class certificates are included in the prohibited class list, the initialization ends here.
[0181]
On the other hand, if the class certificate of the license management device 520 is not included in the prohibited class list, the process proceeds to the next process (step S26).
[0182]
As a result of authentication, when it is confirmed that the access is from a license management device having valid authentication data and the class is not included in the prohibited class list, the license management module 511 generates a session key Ks2a (step S1). S28).
[0183]
Referring to FIG. 11, license management module 511 encrypts session key Ks2a with class public encryption key KPm7 to generate encrypted data {Ks2a} Km7 (step S30), and uses encrypted data {Ks2a} Km7 as a bus. The license is output to the license management device 520 via the BS 2 (step S32). The controller 5220 of the license management device 520 receives the encrypted data {Ks2a} Km7 via the terminal 5226, the interface 5224, and the bus BS5, and the decryption processing unit 5222 receives the class secret decryption key Km7 output from the Km holding unit 5221. To decrypt the encrypted data {Ks2a} Km7 and accept the session key Ks2a (step S34). The controller 5220 controls the session key generation unit 5218 to generate the session key Ks2b upon receiving the session key Ks2a. Then, the session key generating unit 5218 generates a session key Ks2b (step S36), and the controller 5220 acquires the update date / time CRLdate of the prohibited class list CRL from the CRL area 5215A of the memory 5215 via the bus BS5, and acquires it. The updated date / time CRLdate is output to the changeover switch 5246 via the bus BS5 (step S38). Then, the encryption processing unit 5206 encrypts the session key Ks2b, the individual public encryption key KPmc8, and the update date / time CRLdate received by sequentially switching the changeover switch 5246 with the session key Ks2a from the decryption processing unit 5222. The controller 5220 outputs the encrypted data {Ks2b // KPmc8 // CRLdate} Ks2a on the bus BS5 via the interface 5224 and the terminal 5226 (step S40).
[0184]
The license management module 511 receives the encrypted data {Ks2b // KPmc8 // CRLdate} Ks2a via the bus BS2, and decrypts the encrypted data {Ks2b // KPmc8 // CRLdate} Ks2a with the session key Ks2a. Ks2b, individual public encryption key KPmc8, and update date / time CRLdate are received (step S42). Then, the license management module 511 encrypts the binding license (transaction IDb, content IDb, binding key Kb, and control information ACmb, ACpb) generated in steps S12 and S14 with the public encryption key KPmc8, and encrypts the data {transaction IDb // Content IDb // Kb // ACmb // ACpb} Kmc8 is generated (step S44).
[0185]
Referring to FIG. 12, in license management module 511, the update date / time CRLdate of the prohibited class list transmitted from license management device 520 is changed from the update date / time of prohibited class list CRL held in hard disk (HDD) 530. It is compared whether the prohibited class list to be kept is new. When the prohibited class list CRL of the license management device 520 is newer, the process proceeds to step S48. Conversely, when the prohibited class list CRL of the license management module 511 is newer, the process proceeds to step S52 (step S46).
[0186]
When it is determined that the prohibited class list CRL of the license management device 520 is newer, the license management module 511 transfers the encrypted data {transaction IDb // content IDb // Kb // ACmb // ACpb} Kmc8 to the license management device. Encryption is performed using the session key Ks2b generated in 520, and the encrypted data {{transaction IDb // content IDb // Kb // ACmb // ACpb} Kmc8} Ks2b is output to the license management device 520 via the bus BS2. (Step S48).
[0187]
Then, the controller 5220 of the license management device 520 receives the encrypted data {{transaction IDb // content IDb // Kb // ACmb // ACpb} Kmc8} Ks2b via the terminal 5226 and the interface 5224, and a session key generation unit. It is decrypted by the session key Ks2b generated by 5218, and {transaction IDb // content IDb // Kc // ACmb // ACpb} Kmc8 is accepted (step S50). Thereafter, the process proceeds to step S60.
[0188]
On the other hand, when the license management module 511 determines that the prohibited class list CRL of the license management module 511 is newer, the license management module 511 updates the prohibited class list CRL held by the license management device 520, so that the bus Updates after the update date and time CRLdate are obtained as differential CRL from the HDD 530 via the BS 2 (step S52).
[0189]
Then, the license management module 511 generates the session key Ks2b generated in the license management device 520 by using the difference CRL of the prohibited class list and the encrypted data {transaction IDb // content IDb // Kb // ACmb // ACpb} Kmc8. The encrypted data {CRLdate // {transaction IDb // content IDb // Kb // ACmb // ACpb} Kmc8} Ks2b is output to the license management device 520 via the bus BS2 (step S54).
[0190]
The controller 5220 of the license management device 520 uses the decryption processing unit 5212 to decrypt the received data provided to the bus BS5 via the terminal 5226 and the interface 5224. Decryption processing unit 5212 decrypts the received data of bus BS5 using session key Ks2b given from session key generation unit 5218, and outputs the decrypted data to bus BS5 (step S56).
[0191]
At this stage, {transaction IDb // content IDb // Kb // ACmb // ACpb} Kmc8 that can be decrypted with the individual secret decryption key Kmc8 held in the Kmc holding unit 5221 and the differential CRL are stored in the bus BS5. Is output (step S56). The CRL area 5215A in the memory 5215 is updated based on the differential CRL with the differential CRL received by the instruction of the controller 5220 (step S58).
[0192]
Steps S48 and S50 are transmission operations to the license management device 520 such as the binding key Kb when the prohibited class list CRL of the license management device 520 on the receiving side is newer than the prohibited class list CRL of the license management module 511 on the transmitting side. Yes, steps S52, S54, S56, and S58 are a license management device such as a binding key Kb when the prohibited class list CRL of the license management module 511 on the transmission side is newer than the prohibited class list CRL of the license management device 520 on the reception side. This is a transmission operation to 520. In this way, the update date / time CRLdate of the prohibited class list sent from the license management device 520 is compared. When the prohibited class list CRL on the receiving side is older than the prohibited class list CRL on the transmitting side, the difference data of the prohibited class list is used. A certain differential CRL is acquired from the HDD 530, and the differential CRL is distributed to the license management device 520, so that a new prohibited class list CRL is always held.
[0193]
After step S50 or step S58, the encrypted data {transaction IDb // content IDb // Kb // ACmb // ACpb} Kmc8 is decrypted by the decryption processing unit 5204 with the secret decryption key Kmc8 according to the instruction of the controller 5220. The binding license (binding key Kb, transaction IDb, content IDb, control information ACmZ, ACp) is accepted (step S60).
[0194]
Then, the license management module 511 inputs the entry number “0” for storing the binding license to the license management device 520 (step S62), and the controller 5220 of the license management device 520 includes the terminal 5226, the interface 5224, and the bus. The entry number “0” is received via the BS 5, and a binding license (transaction IDb, content IDb, binding key Kb, control information is assigned to the area specified by the received entry number “0” in the license area 5215 B of the memory 5215. ACmb, ACpb) are stored (step S64).
[0195]
The license management module 511 confirms the area of the license management device 520 in order to record the binding key Kb and prepares for registration. A series of processes from step 16 in FIG. 10 to step 42 in FIG. The series of processing from step S44 in FIG. 11 to step S64 in FIG. 12 for storing the binding key Kb in the license area 5215B of the license management device 520 is referred to as “binding key registration processing”.
[0196]
On the other hand, the license management module 511 generates a plaintext confidential file with empty confidential information (level 1 license and checkout information), and generates an encrypted confidential file 160 obtained by encrypting the confidential file with the binding key Kb. The classified confidential file 160 is recorded in the HDD 530 (step S66), and the initialization operation is terminated (step S68).
[0197]
In this way, the license management module 511 of the personal computer 50 generates a binding license in the initialization operation, and in the area specified by the entry number “0” in the license area 5215B of the memory 5215 in the license management device 520. The generated binding license is stored, and an encrypted confidential file 160 obtained by encrypting the confidential file with the binding key Kb included in the generated binding license is generated. The encrypted confidential file 160 is for storing the license received from the distribution server 10 by the license management module 511. In addition, since the secret file is encrypted with the binding key Kb in this way, the license cannot be taken out from the encrypted secret file 160 without the binding key Kb, so the binding key Kb manages the license of the encrypted content data. It is a common key for Since the binding key Kb is stored in the memory 5215 of the license management device 520, the binding key Kb can be managed by hardware. As a result, the license of the encrypted content data managed in software by the encrypted confidential file 160 recorded in the HDD 530 via the binding key Kb is managed by hardware. Therefore, as will be described later, the encrypted content data and license received by the software can be transferred to another personal computer 80.
[0198]
[Distribution 1]
Next, in the data distribution system shown in FIG. 1, an operation for distributing encrypted content data and a level 2 license for requesting security level 2 from the distribution server 10 to the license management device 520 of the personal computer 50 will be described. This operation is referred to as “distribution 1”.
[0199]
FIGS. 13 to 16 illustrate a distribution operation (hereinafter also referred to as a distribution session) to the license management device 520 built in the personal computer 50 that occurs when the encrypted content data is purchased in the data distribution system shown in FIG. It is the 1st-4th flowchart for this.
[0200]
Prior to the processing in FIG. 13, it is assumed that the user of the personal computer 50 is connected to the distribution server 10 via the modem 40 and has acquired the content ID for the content desired to be purchased.
[0201]
Referring to FIG. 13, a distribution request is made by the user of personal computer 50 by designating a content ID via keyboard 560 (step S100). Then, purchase conditions AC for purchasing the license of the encrypted content data are input via the keyboard 560 (step S102). That is, in order to purchase the license key Kc for decrypting the selected encrypted content data, the access condition information ACm of the encrypted content data and the reproduction time limit ACp are set and the purchase condition AC is input.
[0202]
When the purchase condition AC for the encrypted content data is input, the controller 510 gives an instruction to output the authentication data to the license management device 520 via the bus BS2 (step S104). The controller 5220 of the license management device 520 receives the authentication data output instruction via the terminal 5226, the interface 5224, and the bus BS5. Controller 5220 reads authentication data {KPm7 // Cm7} KPa2 from authentication data holding unit 5200 via bus BS5, and outputs {KPm7 // Cm7} KPa2 via bus BS5, interface 5224 and terminal 5226. (Step S106).
[0203]
The controller 510 of the personal computer 50 transmits the content ID, the license purchase condition data AC, and the distribution request to the distribution server 10 in addition to the authentication data {KPm7 // Cm7} KPa2 from the license management device 520 ( Step S108).
[0204]
The distribution server 10 receives the distribution request, content ID, authentication data {KPm7 // Cm7} KPa2, and license purchase condition data AC from the personal computer 50 (step S110), and the decryption processing unit 312 receives the license management device 520 from the license management device 520. The output authentication data is decrypted with the level 2 authentication key KPa (step S112).
[0205]
The distribution control unit 315 performs an authentication process that determines whether or not authentication data subjected to encryption for proving its validity has been received from the decryption processing result in the decryption processing unit 312 (step S114). ). If it is determined that the authentication data is valid, the distribution control unit 315 approves and accepts the class public encryption key KPm7 and the class certificate Cm7. Then, the process proceeds to the next process (step S116). If it is not legitimate authentication data, it is rejected, and the distribution session is terminated without accepting the class public encryption key KPm7 and the class certificate Cm7 (step S198). If a distribution request is made from level 1, the level 2 authentication key KPa2 cannot authenticate the level 1 authentication data, and the process ends here.
[0206]
As a result of the authentication, if it is legitimate authentication data and the class public encryption key KPm7 and the class certificate Cm7 are approved, the distribution control unit 315 next places the class certificate Cm7 of the license management device in the prohibited class list CRL. The CRL database 306 is inquired as to whether it is listed, and if these class certificates are included in the prohibited class list, the distribution session is terminated here (step S198).
[0207]
On the other hand, if the class certificate of the license management device 520 is not included in the prohibited class list, the process proceeds to the next process (step S116).
[0208]
As a result of authentication, when it is confirmed that the access is from a personal computer including a license management device having valid authentication data and the class is not included in the prohibited class list, the distribution control unit 315 in the distribution server 10 Then, a transaction ID which is a management code for specifying the distribution is generated (step S118). In addition, the session key generation unit 316 generates a session key Ks1 for distribution (step S120). The session key Ks1 is encrypted by the encryption processing unit 318 with the class public encryption key KPm7 corresponding to the license management device 520 obtained by the decryption processing unit 312 (step S122).
[0209]
The transaction ID and the encrypted session key Ks1 are output to the outside as the transaction ID // {Ks1} Km7 via the bus BS1 and the communication device 350 (step S124).
[0210]
Referring to FIG. 14, when personal computer 50 receives transaction ID // {Ks1} Km7 (step S126), controller 510 inputs transaction ID // {Ks1} Km7 to license management device 520 (step S126). S128). Then, in the license management device 520, the decryption processing unit 5222 sends the received data given to the bus BS 5 via the terminal 5226 and the interface 5224 to the license management device 520 held in the holding unit 5221. By decrypting with Km7, the session key Ks1 is decrypted and the session key Ks1 is accepted (step S130).
[0211]
When the controller 5220 confirms acceptance of the session key Ks1 generated by the distribution server 10, the controller 5220 instructs the session key generation unit 5218 to generate the session key Ks2 generated during the distribution operation in the license management device 520. Session key generation unit 5218 generates session key Ks2 (step S132).
[0212]
In the distribution session, the controller 5220 extracts the update date / time CRLdate from the prohibited class list CRL recorded in the memory 5215 in the license management device 520 from the memory 1415 and outputs it to the changeover switch 5246 (step S134).
[0213]
The encryption processing unit 5206 uses the session key Ks1 given from the decryption processing unit 5222 via the contact Pa of the changeover switch 5242 to sequentially switch the contact of the changeover switch 5246, the session key Ks2, the individual public encryption key KPmc8, and The update date / time CRLdate of the prohibited class list is encrypted as one data string, and {Ks2 // KPmc8 // CRLdate} Ks1 is output to the bus BS3 (step S136).
[0214]
The encrypted data {Ks2 // KPmc8 // CRLdate} Ks1 output to the bus BS3 is output from the bus BS3 to the personal computer 50 via the interface 5224 and the terminal 5226, and transmitted from the personal computer 50 to the distribution server 10. (Step S138).
[0215]
The distribution server 10 receives the transaction ID // {Ks2 // KPmc8 // CRLdate} Ks1, executes decryption processing with the session key Ks1 in the decryption processing unit 320, and generates the session key Ks2 generated by the license management device 520. Then, the individual public encryption key KPmc8 unique to the license management device 520 and the update date / time CRLdate of the prohibited class list in the license management device 520 are received (step S142).
[0216]
The distribution control unit 315 generates the access restriction information ACm and the reproduction time limit ACp according to the content ID and the license purchase condition AC acquired in step S110 (step S144). Further, a license key Kc for decrypting the encrypted content data is acquired from the information database 304 (step S146).
[0217]
The distribution control unit 315 gives the generated license, that is, the transaction ID, content ID, license key Kc, reproduction time limit ACp, and access restriction information ACm to the encryption processing unit 326. The encryption processing unit 326 encrypts the license with the individual public encryption key KPmc8 unique to the license management device 520 obtained by the decryption processing unit 320, and generates encrypted data {transaction ID // content ID // Kc // ACm // ACp} Kmc8 is generated (step S148).
[0218]
Referring to FIG. 15, distribution server 10 compares the update date / time CRLdate of the prohibited class list transmitted from license management device 520 with the update date / time of prohibited class list CRL of distribution server 10 held in CRL database 306. Thus, the license management device 520 determines whether or not the prohibited class list CRL that is held is the latest, and when it is determined that it is the latest, the process proceeds to step S152. If it is not the latest, the process proceeds to step S160 (step S150).
[0219]
When it is determined that the data is latest, the encryption processing unit 328 uses the encrypted data {transaction ID // content ID // Kc // ACm // ACp} Kmc8 output from the encryption processing unit 326 in the license management device 520. Encryption is performed using the generated session key Ks2, and the encrypted data {{transaction ID // content ID // Kc // ACm // ACp} Kmc8} Ks2 is output to the bus BS1. Then, the distribution control unit 315 transmits the encrypted data {{transaction ID // content ID // Kc // ACm // ACp} Kmc8} Ks2 on the bus BS1 to the personal computer 50 via the communication device 350 ( Step S152).
[0220]
Then, the controller 510 of the personal computer 50 receives the encrypted data {{transaction ID // content ID // Kc // ACm // ACp} Kmc8} Ks2 (step S154), and the license management device via the bus BS5. Input to 520. The decryption processing unit 5212 of the license management device 520 receives the encrypted data {{transaction ID // content ID // Kc // ACm // ACp} Kmc8} Ks2 via the terminal 5226 and the interface 5224, and a session key generation unit. It is decrypted with the session key Ks2 generated by 5218, and {transaction ID // content ID // Kc // ACm // ACp} Kmc8 is accepted (step S158). Thereafter, the process proceeds to step S172.
[0221]
On the other hand, if it is determined that it is not the latest, the distribution control unit 315 obtains the latest prohibited class list CRL from the CRL database 306 via the bus BS1, and generates a differential CRL that is differential data (step S160).
[0222]
The encryption processing unit 328 receives the output of the encryption processing unit 326 and the difference CRL of the prohibited class list supplied by the distribution control unit 315 via the bus BS1, and generates the session key Ks2 generated in the license management device 520. Encrypt with The encrypted data {difference CRL // {transaction ID // content ID // Kc // ACm // ACp} Kmc8} Ks2 output from the encryption processing unit 328 is stored in the personal computer via the bus BS1 and the communication device 350. 50 (step S162).
[0223]
The personal computer 50 receives the transmitted encrypted data {difference CRL // {transaction ID // content ID // Kc // ACm // ACp} Kmc8} Ks2 (step S164) and licenses it via the bus BS5. The data is input to the management device 520 (step S166). In the license management device 520, the reception data given to the bus BS 5 is decrypted by the decryption processing unit 5212 via the terminal 5226 and the interface 5224. Decryption processing unit 5212 decrypts the received data of bus BS5 using session key Ks2 given from session key generation unit 5218, and outputs the decrypted data to bus BS5 (step S168).
[0224]
At this stage, the bus BS5 has an encryption license {transaction ID // content ID // Kc // ACm // ACp} Kmc8} that can be decrypted with the secret decryption key Kmc8 held in the Kmc holding unit 5221, and the difference. CRL is output (step S168). The CRL area 5215A in the memory 5215 is updated based on the difference CRL with the difference CRL received by the instruction of the controller 5220 (step S170).
[0225]
Steps S152, S154, S156, and S158 are operations for distributing the license key Kc and the like to the license management device 520 when the prohibited class list CRL held by the license management device 520 is the latest, and steps S160, S162, S164, and S166. , S168, and S170 are operations for distributing the license key Kc and the like to the license management device 520 when the prohibited class list CRL held by the license management device 520 is not the latest. In this way, it is checked one by one whether the update date / time CRLdate of the prohibited class list sent from the license management device 520 is the latest update date / time, and when it is not the latest, the latest prohibited class list CRLdate is read from the CRL database 306. By acquiring and distributing the differential CRL to the license management device 520, it is possible to prevent outflow of the distributed license to the license management device whose license has been broken.
[0226]
After step S158 or step S170, the encryption license {transaction ID // content ID // Kc // ACm // ACp} Kmc8 is decrypted by the individual secret decryption key Kmc8 in the decryption processing unit 5204 according to the instruction of the controller 5220. Then, the license (license key Kc, transaction ID, content ID, access restriction information ACm, and reproduction time limit ACp) is accepted (step S172).
[0227]
Referring to FIG. 16, controller 510 inputs an entry number for instructing an entry for storing a license received by license management device 520 to license management device 520 (step S174). Then, the controller 5220 of the license management device 520 receives the entry number via the terminal 5226 and the interface 5224, and stores the license (license key) acquired in step S172 in the license area 5215B of the memory 5215 specified by the received entry number. Kc, transaction ID, content ID, access restriction information ACm, and reproduction time limit ACp) are stored (step S176).
[0228]
The controller 510 of the personal computer 50 transmits the transaction ID sent from the distribution server 10 and the distribution request for encrypted content data to the distribution server 10 (step S178).
[0229]
The distribution server 10 receives the transaction ID and the encrypted content data distribution request (step S180), acquires the encrypted content data {Dc} Kc and the additional information Dc-inf from the information database 304, and receives these data. Is output via the bus BS1 and the communication device 350 (step S182).
[0230]
The personal computer 50 receives {Dc} Kc // Dc-inf and accepts the encrypted content data {Dc} Kc and the additional information Dc-inf (step S184). Controller 510 then records encrypted content data {Dc} Kc and additional information Dc-inf as one content file on hard disk (HDD) 530 via bus BS2 (step S186). Further, the controller 510 generates a license management file for the encrypted entry data {Dc} Kc and additional information Dc-inf including the license entry number stored in the license management device 520, the plaintext transaction ID and the content ID. The data is recorded in the HDD 530 via the bus BS2 (step S188). Furthermore, the controller 510 uses the information on the encrypted content data extracted from the name of the recorded content file and license management file and the additional information Dc-inf as the content information received in the content list file recorded in the HDD 530 ( The music title, artist name, etc. are added (step S190), and the transaction ID and delivery acceptance are transmitted to the delivery server 10 (step S192).
[0231]
Upon receiving the transaction ID // delivery acceptance (step S194), the distribution server 10 stores the charging data in the charging database 302 and records the transaction ID in the distribution record database 308 to execute the distribution end process. (Step S196), and the entire process ends (Step S198).
[0232]
In this way, the license management device 50 built in the personal computer 50 is a device that holds regular authentication data, and at the same time, the public encryption key KPm7 that can be encrypted and transmitted together with the class certificate Cm7 is valid. After confirming that the class certificate Cm7 is content only for a distribution request from a license management device not listed in the prohibited class list, that is, the class certificate list whose encryption with the public encryption key KPm7 is broken. Data can be distributed, and distribution to an unauthorized license management device and distribution using a decrypted class key can be prohibited.
[0233]
In addition, the encryption keys generated by the distribution server and the license management device are exchanged, encryption is performed using the encryption keys received by each other, and the encrypted data is transmitted to the other party. In fact, mutual authentication can be performed in the transmission / reception of digitized data, and the security of the data distribution system can be improved.
[0234]
Further, when receiving the encrypted content data and the license from the distribution server 10, the license management device 520 exchanges data with the distribution server 10 in hardware and reproduces the encrypted content data. Is stored in hardware, so its security level is high. Therefore, if the license management device 520 is used, the personal computer 50 can receive encrypted content data and a license by distribution with a high security level, and can manage a level 2 license with a high security level.
[0235]
[Distribution 2]
An operation of distributing encrypted content data and a license from the distribution server 10 to the license management module 511 of the personal computer 50 in the data distribution system shown in FIG. 1 will be described. This operation is referred to as “distribution 2”.
[0236]
17 to 21 illustrate first to fifth distribution operations for explaining the distribution operation to the license management module 511 built in the personal computer 50 that occurs when the encrypted content data is purchased in the data distribution system shown in FIG. It is a flowchart. The license management module 511 executes reception of encrypted content data and a license from the distribution server 10 by a program.
[0237]
Prior to the processing in FIG. 17, it is assumed that the user of the personal computer 50 is connected to the distribution server 10 via the modem 40 and acquires the content ID for the content desired to be purchased.
[0238]
Referring to FIG. 17, a distribution request is made by the user of personal computer 50 by designating the content ID via keyboard 560 (step S200). Then, purchase conditions AC for purchasing the license of the encrypted content data are input via the keyboard 560 (step S202). That is, in order to purchase the license key Kc for decrypting the selected encrypted content data, the access condition information ACm of the encrypted content data and the reproduction time limit ACp are set and the purchase condition AC is input.
[0239]
When the encrypted content data purchase condition AC is input, the controller 510 reads the authentication data {KPm5 // Cm5} KPa2 from the license management module 511, and in addition to the read authentication data {KPm5 // Cm5} KPa2. The content ID, the license purchase condition data AC, and the distribution request are transmitted to the distribution server 10 (step S204).
[0240]
The distribution server 10 receives the distribution request, content ID, authentication data {KPm5 // Cm5} KPa2, and license purchase condition data AC from the personal computer 50 (step S206), and the decryption processing unit 312 receives the license management module 511 from the license management module 511. The output authentication data is decrypted with the level 1 authentication key KPa1 (step S208).
[0241]
The distribution control unit 315 determines from the decryption processing result in the decryption processing unit 312 whether or not the processing has been normally performed, that is, to verify the validity of the class public encryption key KPm5 and the class certificate Cm5 at a legitimate organization. An authentication process for determining whether or not encrypted authentication data has been received is performed (step S210). If it is determined that the authentication data is valid, the distribution control unit 315 approves and accepts the class public encryption key KPm5 and the class certificate Cm5. Then, the process proceeds to the next process (step S212). If it is not valid authentication data, it is rejected and the process is terminated without accepting the class public encryption key KPm5 and the class certificate Cm5 (step S288).
[0242]
When it is recognized that the module is a legitimate module as a result of the authentication, the distribution control unit 315 next determines whether or not the class certificate Cm5 of the license management module 511 is listed in the prohibited class list CRL. If these class certificates are included in the prohibited class list, the distribution session ends here (step S288).
[0243]
On the other hand, if the class certificate of the license management module 511 is not included in the prohibited class list, the process proceeds to the next process (step S214).
[0244]
As a result of authentication, when it is confirmed that the access is from a personal computer including a license management module having valid authentication data and the class is not included in the prohibited class list, the distribution control unit 315 in the distribution server 10 Then, a transaction ID which is a management code for specifying the distribution is generated (step S214). In addition, the session key generation unit 316 generates a session key Ks1 for distribution (step S216). The session key Ks1 is encrypted by the encryption processing unit 318 with the class public encryption key KPm5 corresponding to the license management module 511 obtained by the decryption processing unit 312 (step S218).
[0245]
The transaction ID and the encrypted session key Ks1 are output to the outside as the transaction ID // {Ks1} Km5 via the bus BS1 and the communication device 350 (step S220).
[0246]
Referring to FIG. 18, when controller 510 of personal computer 50 receives transaction ID // {Ks1} Km5 (step S222), license management module 511 receives {Ks1} Km5 and sends it to license management module 511. Decryption processing is performed with the unique class secret decryption key Km5, and the session key Ks1 is accepted (step S224).
[0247]
Upon confirming acceptance of the session key Ks1 generated by the distribution server 10, the license management module 511 generates a session key Ks2 (step S226). Then, the controller 510 reads the encrypted CRL stored in the HDD 530 via the bus BS2, and the license management module 511 obtains the prohibited class list CRL by decrypting the encrypted CRL, and adds it to the decrypted prohibited class list CRL. Based on this, the update date / time CRLdate of the prohibited class list is acquired (step S228). Further, the license management module 511 uses the session key Ks1 generated in the distribution server 10 as a data string for the session key Ks2, the individual public encryption key KPmc6 generated by the license management module 511, and the data CRLdate of the prohibited class list. Encrypt and output {Ks2 // KPmc6 // CRLdate} Ks1 (step S230).
[0248]
The controller 510 transmits the transaction ID // {Ks2 // KPmc6 // CRLdate} Ks1 obtained by adding the transaction ID to the encrypted data {Ks2 // KPmc6 // CRLdate} Ks1 to the distribution server 10 (step S232).
[0249]
The distribution server 10 receives the transaction ID // {Ks2 // KPmc6 // CRLdate} Ks1 (step S234), performs decryption processing with the session key Ks1 in the decryption processing unit 320, and is generated by the license management module 511. The session key Ks2, the individual public encryption key KPmc6 unique to the license management module 511, and the update date / time CRLdate of the prohibited class list in the license management module 511 are received (step S236).
[0250]
The distribution control unit 315 generates the access restriction information ACm and the reproduction time limit ACp according to the content ID and the license purchase condition data AC acquired in step S206 (step S238). Further, a license key Kc for decrypting the encrypted content data is acquired from the information database 304 (step S240).
[0251]
The distribution control unit 315 gives the generated license, that is, the transaction ID, content ID, license key Kc, reproduction time limit ACp, and access restriction information ACm to the encryption processing unit 326. The encryption processing unit 326 encrypts the license with the individual public encryption key KPmc6 unique to the license management module 511 obtained by the decryption processing unit 320, and generates encrypted data {transaction ID // content ID // Kc // ACm / / ACp} Kmc6 is generated (step S242).
[0252]
Referring to FIG. 19, distribution server 10 determines whether or not the prohibited class list CRL of license management device 520 that has requested distribution is the latest, based on the update date and time CRLdate of the prohibited class list transmitted from license management module 511. If it is determined that the prohibited class list CRL of the license management module is the latest, the process proceeds to step S246. On the other hand, when it is determined that it is not the latest, the process proceeds to step S252 (step S244).
[0253]
When it is determined that the data is latest, the encryption processing unit 328 uses the encrypted data {transaction ID // content ID // Kc // ACm // ACp} Kmc6 output from the encryption processing unit 326 in the license management module 511. Encryption is performed using the generated session key Ks2, and the encrypted data {{transaction ID // content ID // Kc // ACm // ACp} Kmc6} Ks2 is output to the bus BS1. Then, the distribution control unit 315 transmits the encrypted data {{transaction ID // content ID // Kc // ACm // ACp} Kmc6} Ks2 on the bus BS1 to the personal computer 50 via the communication device 350 ( Step S246).
[0254]
The controller 510 of the personal computer 50 receives the encrypted data {{transaction ID // content ID // Kc // ACm // ACp} Kmc6} Ks2 (step S248), and the license management module 511 receives the encrypted data. Data {{transaction ID // content ID // Kc // ACm // ACp} Kmc6} Ks2 is decrypted with session key Ks2, and {transaction ID // content ID // Kc // ACm // ACp} Kmc6 is accepted. (Step S250). Thereafter, the process proceeds to step S262.
[0255]
On the other hand, if it is determined that it is not the latest, the distribution control unit 315 obtains the latest prohibited class list CRL from the CRL database 306 via the bus BS1, and generates a differential CRL that is differential data (step S252).
[0256]
The encryption processing unit 328 receives the output of the encryption processing unit 326 and the difference CRL of the prohibited class list supplied by the distribution control unit 315 via the bus BS1, and generates the session key Ks2 generated in the license management module 511. Encrypt with The encrypted data {difference CRL // {transaction ID // content ID // Kc // ACm // ACp} Kmc6} Ks2 output from the encryption processing unit 328 is stored in the personal computer via the bus BS1 and the communication device 350. 50 (step S254).
[0257]
The personal computer 50 receives the transmitted encrypted data {difference CRL // {transaction ID // content ID // Kc // ACm // ACp} Kmc6} Ks2 (step S256), and the license management module 511 The received data is decrypted using session key Ks2 and accepted as differential CRL and encrypted data {transaction ID // content ID // Kc // ACm // ACp} Kmc6 (step S258).
[0258]
The controller 510 adds the accepted differential CRL to the prohibited class list CRL recorded in the HDD 530, performs original encryption processing, and rewrites the prohibited class list CRL in the HDD 530 (step S260).
[0259]
In steps S246, S248, and S250, the license class management module 511 manages the license when the prohibited class list CRL managed by the license management module 511 is the latest, based on the update date / time CRLdate of the prohibited class list sent from the license management module 511. Steps S252, S254, S256, S258, and S260 are operations for distributing a license to the license management module 511 when the prohibited class list CRL is not the latest. In this way, it is checked one by one whether the prohibited class list CRL of the license management device 520 that has requested distribution is the latest, based on the update date / time CRLdate of the prohibited class list sent from the license management module 511, and is not the latest. When the latest prohibited class list CRL is acquired from the CRL database 306 and the differential CRL is distributed to the license management module 511, the license distributed to the license management module is prevented from being leaked to a device whose security has been broken. it can.
[0260]
After step S250 or step S260, the encrypted license {transaction ID // content ID // Kc // ACm // ACp} Kmc6 is decrypted by the individual secret decryption key Kmc6, and the license (license key Kc, transaction ID, content) ID, access restriction information ACm, and reproduction time limit ACp) are accepted (step S262).
[0261]
In this way, by exchanging the encryption keys generated respectively by the distribution server and the license management module, performing encryption using the encryption keys received by each other, and transmitting the encrypted data to the other party, Even in the transmission / reception of the encrypted data, the mutual authentication can be effectively performed and the security of the data distribution system can be improved.
[0262]
The license management module 511 determines whether or not the number of reproductions is restricted by the received access restriction information ACm. If the number of reproductions is not restricted, the license management module 511 proceeds to step S266, and if the number of reproductions is restricted, step S268. (Step S264). When the number of times of reproduction is not limited, the license management module 511 generates checkout information including the number of checkouts that can be lent out to the other device for the encrypted content and license received from the distribution server 10 ( Step S266). In this case, the initial value of checkout is set to “3”. When the number of reproductions is limited, the license management module 511 generates checkout information by setting the number of possible checkouts for renting the encrypted content data to another device to “0” (step S268). Step S268 is processing for preventing the number of reproductions from being managed by checking out.
[0263]
Referring to FIG. 20, after step S266 or step S268, license management module 511 outputs authentication data {KPm5 // Cm5} KPa1 to license management device 520 via bus 2 (step S270). The license management device 520 receives the authentication data {KPm5 // Cm5} KPa1 from the license management module 511, and the decryption processing unit 5208 receives the authentication data authentication data {KPm5 // Cm5} KPa1 and receives the authentication data authentication data { Based on KPm5 // Cm5} KPa1, level 1 authentication key KPa1 is received from KPa holding unit 5214, and authentication data {KPm5 // Cm5} KPa1 is decrypted using received level 1 authentication key KPa1 (step S271).
[0264]
The controller 5220 determines from the decryption processing result in the decryption processing unit 5208 whether or not the processing has been normally performed, that is, a cipher for proving the validity of the class public encryption key KPm5 and the class certificate Cm5 at a legitimate organization. Authentication processing is performed to determine whether or not the authentication data subjected to has been received (step S272). If it is determined that the authentication data is valid, the controller 5220 approves and accepts the class public encryption key KPm5 and the class certificate Cm5. Then, the process proceeds to the next process (step S273). If it is not valid authentication data, it is rejected, and the process is terminated without accepting the class public encryption key KPm5 and the class certificate Cm5 (step S298).
[0265]
As a result of authentication, if it is recognized that regular authentication data has been received, the controller 5220 next determines whether or not the class certificate Cm5 of the license management module 511 is listed in the prohibited class list CRL. The CRL area 5215A is inquired, and if these class certificates are the subject of the prohibited class list, the distribution session is terminated here (step S298).
[0266]
On the other hand, if the class certificate of the license management module 511 is not included in the prohibited class list, the process proceeds to the next process (step S273).
[0267]
As a result of authentication, when it is confirmed that the access is from the license management module 511 including the license management device having valid authentication data and the class is not included in the prohibited class list, the license management device 520 The generation unit 5208 generates a session key Ks2a (step S274), and the encryption processing unit 5210 encrypts the session key Ks2a with the class public encryption key KPm5 and outputs encrypted data {Ks2a} Km5 (step S275).
[0268]
The controller 5220 outputs the encrypted data {Ks2a} Km5 via the bus BS5, the interface 5224, and the terminal 5226, and the license management module 511 receives the encrypted data {Ks2a} Km5 via the bus BS2. The encrypted data {Ks2a} Km5 is decrypted with the secret decryption key Km5 and the session key Ks2a is accepted (step S276). Then, the license management module 511 generates a session key Ks2b (step S277), encrypts the session key Ks2b with the session key Ks2a, and outputs the encrypted data {Ks2b} Ks2a to the license management device 520 via the bus BS2. (Step S278).
[0269]
The controller 5220 of the license management device 520 receives the encrypted data {Ks2b} Ks2a via the terminal 5226, the interface 5224, and the bus BS5, and the decryption processing unit 5212 receives the session key Ks2a output from the session key generation unit 5208. The encrypted data {Ks2b} Ks2a is decrypted and the session key Ks2b is accepted (step S279). Then, the license management module 511 inputs the entry number “0” to the license management device 520 (step S280), and the controller 5220 of the license management device 520 enters the entry number “0” via the terminal 5226, the interface 5224, and the bus BS5. 0 ”is received. The controller 5220 then binds the binding license (transaction IDb, content IDb, binding key Kb, and control information ACmb, ACpb stored in the area specified by the entry number “0” in the license area 5215B of the memory 5215. ) Is acquired (step S281). Then, the controller 5220 determines whether or not the binding license is valid based on the control information ACmb. If the binding license is not valid, the controller 5220 moves to step S298 and ends the distribution session. Here, the valid case means that the number of reproductions in the control information ACmb is not 0, and that the security level of the control information ACmb is level 1 because the process is authenticated by the level 1 authentication key KPa1. To do.
[0270]
On the other hand, if the binding license is valid, the process proceeds to step S283 (step S282).
[0271]
If it is determined in step S282 that the binding license is valid, the encryption processing unit 5206 decrypts the binding key Kb and the control information ACpb acquired via the changeover switch 5246 by the decryption processing unit 5212 and passes through the switch 5242. The encrypted data {Kb // ACpb} Ks2b is output after being encrypted with the acquired session key Ks2b (step S283).
[0272]
Referring to FIG. 21, controller 5220 outputs encrypted data {Kb // ACpb} Ks2b via bus BS5, interface 5224, and terminal 5226, and license management module 511 encrypts the data via bus BS2. Data {Kb // ACpb} Ks2b is received, and encrypted data {Kb // ACpb} Ks2b is decrypted with session key Ks2b to obtain binding key Kb and control information ACpb (step S284).
[0273]
A series of processing from step S270 to step S284 is processing for acquiring the binding key Kb from the license management device 520, and is collectively referred to as “binding key acquisition processing”.
[0274]
Then, the license management module 511 acquires the encrypted confidential file 160 from the HDD 530 via the bus BS2, and decrypts the acquired encrypted confidential file 160 with the binding key Kb to acquire a plaintext confidential file (step S285). ). Then, the license management module 511 receives the license (transaction ID, content ID, license key Kc, access restriction information ACm, and reproduction time limit ACp) received from the distribution server 10 and the chuck-out information generated in step S266 or step S268. Is added to the plaintext confidential file as confidential information n (step S286). Thereafter, the license management module 511 re-encrypts the plaintext confidential file with the binding key Kb, and updates the encrypted confidential file 160 recorded in the HDD 530 with the encrypted encrypted confidential file 160 (step S287). After storing the license in the encrypted confidential file 160, the license management module 511 transmits the transaction ID sent from the distribution server 10 and the distribution request for the encrypted content data to the distribution server 10 (step S288).
[0275]
The distribution server 10 receives the transaction ID and the encrypted content data distribution request (step S289), acquires the encrypted content data {Dc} Kc and the additional information Dc-inf from the information database 304, and receives these data. Is output via the bus BS1 and the communication device 350 (step S290).
[0276]
The license management module 511 receives {Dc} Kc // Dc-inf and accepts the encrypted content data {Dc} Kc and the additional information Dc-inf (step S291). Then, the license management module 511 records the encrypted content data {Dc} Kc and the additional information Dc-inf as content files on the hard disk (HDD) 530 via the bus BS2 (step S292). The license management module 511 also includes a content file (encrypted content data {Dc} Kc and additional information) including the confidential information number n of the confidential information n stored in the encrypted confidential file 160 and the plaintext transaction ID and content ID. A license management file corresponding to (Dc-inf) is generated and recorded in the HDD 530 via the bus BS2 (step S293). Further, the license management module 511 receives the content information received in the content list file recorded in the HDD 530, and information on the recorded content file and the name of the license management file and the encrypted content data extracted from the additional information Dc-inf. (Song title, artist name) and the like are added (step S294), and the transaction ID and distribution acceptance are transmitted to the distribution server 10 (step S295).
[0277]
When the distribution server 10 receives the transaction ID // distribution acceptance (step S296), the distribution server 10 stores the charging data in the charging database 302 and records the transaction ID in the distribution record database 308 to execute the distribution end process. (Step S297), and the entire process is completed (Step S298).
[0278]
As described above, the license management module 511 exchanges data with the distribution server 10 by software, and receives the encrypted content data and the license from the distribution server 10 in software. The received encrypted content data is recorded in the HDD 530, the license is written in the confidential file as confidential information n, the confidential file is encrypted with the binding key Kb, and the license is stored in the encrypted confidential file 160. Then, the binding key Kb for decrypting the encrypted confidential file 160 is held in the license management device 520. Therefore, the distribution of the encrypted content data and license by the license management module 511 is lower in security level than the distribution of the encrypted content data and license by the license management device 520, but is not associated with the personal computer 50 in the record management. It will be close to that.
[0279]
[Ripping]
The user of the personal computer 50 can acquire and use the music data from the music CD that he owns in addition to acquiring the encrypted content and license by distribution. Digital copying of music CDs is not free from the standpoint of copyright holders' rights protection, but individuals can copy music using tools with copyright protection functions for their own purposes. It is allowed to enjoy. Therefore, the license management module 511 also includes a program that implements a ripping function for acquiring music data from a music CD and generating encrypted content data that can be managed by the license management module 511 and a license.
[0280]
Some recent music CDs have electronic watermarks called watermarks inserted into the music data. In this watermark, a copyright owner writes a range of usage by the user as a usage rule. When ripping from music data in which usage rules are written, it is necessary to follow these usage rules from the viewpoint of copyright protection. Hereinafter, it is assumed that the replication conditions (duplication prohibition / one-generation replication permitted / replicatable) and the maximum number of checkouts are described as usage rules. Further, when the watermark is not detected, that is, the usage rules are written. In order to protect the rights of the copyright holder, even a conventional music CD that does not exist can be copied one generation, and the maximum checkout number is interpreted as “3”.
[0281]
With reference to FIGS. 22 to 24, acquisition of encrypted content data and a license by ripping from a music CD on which music data is recorded will be described.
[0282]
22 to 24 are first to third flowcharts for acquiring encrypted content data and a license by ripping from a music CD.
[0283]
Referring to FIG. 22, when the ripping operation is started, the music data detected by CD-ROM drive 540 from the music CD is fetched, and the usage rule described by the watermark is detected from the fetched music data. (Step S700). Then, it is determined whether or not copying is possible based on the detected usage rule (step S701). If the duplication condition of the usage rule is unlimited, the process proceeds to step S203. If the duplication condition is one-generation duplication, the process proceeds to step S702. If the duplication condition is copy prohibition, the duplication is prohibited, and the process proceeds to step S733. The operation ends. Further, if the mounted CD does not include a watermark and the usage rule cannot be obtained, the process proceeds to step S705.
[0284]
In step S701, when the copy rule of the usage rule is one-generation duplication, the license management module 511 replaces the watermark included in the acquired music data with the watermark changed to the copy prohibited copy rule of the acquired usage rule. (Step S702). Then, the process proceeds to step S703. When a usage rule that can be duplicated is detected, in step S703, the license management module 511 generates access restriction information ACm and reproduction time limit ACp reflecting the usage rule (step S703). Again, according to the replication conditions, if replication is possible, the mobile replication flag of the access restriction information ACm is set to mobile replication possible (= 3). If one generation replication is possible, the ripping itself corresponds to one generation. Set to prohibited (= 0). There is no corresponding usage rule, but the number of playbacks is unlimited, and the security level is set to level 1. Thereafter, the license management module 511 sets the number of possible checkouts by reflecting the maximum number of checkouts in the usage rule. If the maximum number of checkouts is not specified, the number of possible checkouts is set to 3. Then, checkout information including the set number of possible checkouts is generated (step S704).
[0285]
On the other hand, if it is determined in step S701 that the watermark is not detected and there is no usage rule, the license management module 511 sets the moving copy flag in the access restriction information ACm to be prohibited from moving copying (= 0), and the number of playbacks is unlimited. (= 255), the security level is set to 1. The reproduction time limit ACp makes the reproduction indefinite (step S705). Thereafter, the license management module 511 generates checkout information including the number of possible checkouts whose initial value is 3 (step S706).
[0286]
After step S704 or S706, the license management module 511 generates a license key Kc by using a random number (step S707), and generates a local use transaction ID and content ID (step S708). Next, the license management module 511 performs a binding key acquisition process. A series of processing from Step S709 in FIG. 23 to Step 723 in FIG. 24 is a binding key acquisition process, which is the same as the series of processing from Step S270 in FIG. 20 to Step S284 in FIG. Therefore, explanation is omitted.
[0287]
Referring to FIG. 24, the license management module 511 that has acquired the binding key Kb acquires the encrypted confidential file 160 from the HDD 530 via the bus BS2, and decrypts the acquired encrypted confidential file 160 with the binding key Kb. A plaintext confidential file is acquired (step S724). Then, the license management module 511 generates content data Dc by encoding the music data acquired from the music CD in a predetermined method (step S725), encrypts the content data with the license key Kc, and encrypts the encrypted content data {Dc } Kc is generated (step S726). Thereafter, the license management module 511 generates content data additional information Dc-inf based on the information from the user input via the keyboard 560 and the information from the music CD (step S727), and the encrypted content. Data {Dc} Kc and additional information Dc-inf are recorded in HDD 530 as content files via bus BS2 (step S728).
[0288]
Then, the license management module 511 uses the generated license (transaction ID, content ID, license key Kc, access restriction information ACm, and reproduction time limit ACp) and the checkout information generated in step S704 or step S706 as confidential information n. Is added to the plaintext confidential file (step S729). Thereafter, the license management module 511 encrypts the plaintext confidential file with the binding key Kb, and updates the encrypted confidential file 160 recorded in the HDD 530 with the encrypted encrypted confidential file 160 (step S730). After storing the license in the encrypted confidential file 160, the license management module 511 includes a content file (encrypted) including the confidential information number n of the confidential information n stored in the encrypted confidential file 160 and the plaintext transaction ID and content ID. The license management file for the encrypted content data {Dc} Kc and the additional information Dc-inf) is generated and recorded in the HDD 530 via the bus BS2 (step S731). Further, the license management module 511 relates to the content information received in the content list file recorded in the HDD 530, the name of the recorded content file and the license management file, and the encrypted content data extracted from the additional information Dc-inf. Information (song name, artist name) and the like are added (step S732), and the entire process is completed (step S733).
[0289]
As described above, the encrypted content data and the license can be acquired also by ripping from the music CD. The encrypted content data and license acquired by ripping from the music CD are managed by the license management module 511 in the same manner as the encrypted content data and level 1 license acquired by distribution.
[0290]
With reference to FIG. 25, management of encrypted content data and licenses received by the license management module 511 or license management device 520 of the personal computer 50 will be described. The HDD 530 of the personal computer 50 includes a content list file 150, the content list file 150 includes content files 1531 to 153n, license management files 1521 to 152n, and encrypted confidential files.
[0291]
The content list file 150 is a data file in the form of a list of owned contents, and includes information (music name, artist name, etc.) for each content, information (file name) indicating the content file and the license management file, and the like. ing. Information on individual contents is described automatically when necessary information is acquired from the additional information Dc-inf at the time of reception or according to a user instruction. In addition, it is possible to manage contents that cannot be reproduced by only content files and only license management files in the list.
[0292]
The content files 1531 to 153n are files for recording the encrypted content data {Dc} Kc and the additional information Dc-inf received by the license management module 511 or the license management device 520, and are provided for each content.
[0293]
The license management files 1521 to 152n are recorded in correspondence with the content files 1531 to 153n, respectively, and are files for managing licenses received by the license management module 511 or the license management device 520. Information for specifying the storage location of the license and information on the license.
[0294]
The information for specifying the storage location is an entry number when a license is recorded in the license management device 520, or a confidential information number for specifying confidential information recorded in the encrypted confidential file.
[0295]
Information related to the license is a transaction ID, content ID that can be referred to in plain text when the license is received, and access restriction information ACm and reproduction control information ACp that can be easily determined from the license purchase condition AC. A copy of plaintext. As is apparent from the above description, the license is protected and recorded so that it cannot be referenced for content protection. However, as long as other information except the license key Kc cannot be rewritten, there is no problem from the standpoint of content protection even if the contents are referred to. In the application program, each process is started with reference to the information on the license.
[0296]
The encrypted confidential information file includes confidential information including licenses managed by the license management module 511 and checkout information. The encrypted confidential information file is encrypted with the binding key Kb.
[0297]
A specific description will be given with reference to FIG. The license management files 1521 and 1524 include entry numbers 1 and m, respectively. This is received by the license management device 520 and designates the management area of the license (license ID, license key Kc, access restriction information ACm, and reproduction time limit ACm) managed in the license area 5215B of the memory 5215 of the license management device 520. Number.
[0298]
Therefore, when moving the encrypted content data with the file name recorded in the content file 1531 to the memory card 110 attached to the playback terminal 100, if the content file 1531 to 153n is searched and the content file 1531 is extracted, the encryption is performed. Where the license for reproducing the encrypted content data is managed. Since the entry number included in the license management file 1521 corresponding to the content file 1531 is “1”, the license for reproducing the encrypted content data with the file name recorded in the content file 1531 is the memory 5215 of the license management device 520. Are recorded in the area designated by the entry number 1 in the license area 5215B. Then, the entry number 1 is read from the license management file 1521 of the content list file 150 recorded in the HDD 530, and the read entry number 1 is input to the license management device 520, whereby the license can be easily obtained from the license area 5215B of the memory 5215. To the memory card 110. After the license is moved, the license in the entry number 1 designated in the license area 5215B of the memory 5215 is deleted, so that “no license” is recorded correspondingly as in the license management file 1523. .
[0299]
Further, the confidential information for storing the license of the encrypted content data received by the license management module 511 is managed by the license management files 1522, 1524,. The license management files 1522,..., 152n include confidential information numbers of confidential information for storing licenses for reproducing the encrypted content data received by the license management module 511.
[0300]
Then, for example, when moving the encrypted content data of the file name recorded in the content file 1532 to the personal computer 80, the content file 1532 is searched by extracting the content file 1531 and the license corresponding to the content file 1532 The confidential information number 1 is acquired from the management file 1522. Meanwhile, the binding key Kb is acquired from the license management device 520, and the encrypted confidential file 160 is decrypted with the acquired binding key Kb to acquire a plaintext confidential file. Then, the license stored in the confidential information 1 in the confidential file corresponding to the confidential information number 1 acquired from the license management file can be acquired.
[0301]
As described above, in the first embodiment of the present invention, the license of the encrypted content data received by the license management module 511 is stored as the confidential information n in the encrypted confidential file 160, and the encrypted confidential file 160 is The license management device 520 can decrypt only the binding key Kb held in hardware. That is, the binding key Kb is a common key for managing the license of the encrypted content data, and has a structure in which a license cannot be acquired without the binding key Kb. Accordingly, since the license of the encrypted content data received by the license management module 511 is written in the encrypted confidential file 160 and recorded in the HDD 530, the license management device 520 is actually managed in software. Since the license cannot be extracted from the encrypted confidential file 160 without the binding key Kb stored in the file, it is practically close to being managed by hardware.
[0302]
On the other hand, the license received by the license management device 520 is stored in the license area 5215B of the memory 5215. Therefore, according to the first embodiment of the present invention, the management level of the license received by the license management module 511 can be brought close to the management level of the license received by the license management device 520.
[0303]
Note that the binding license is stored in the entry number “0”.
[0304]
[Move 1]
In the data distribution system shown in FIG. 1, an operation for transmitting the encrypted content data and license distributed from the distribution server 10 to the license management device 520 of the personal computer 50 to the memory card 110 attached to the playback terminal 100 will be described. This operation is referred to as “movement 1”. Movement is a process performed only between security levels 2
26 to 29 show a moving operation in which the license management device 520 moves the encrypted content data and license received from the distribution server 10 to the memory card 110 attached to the playback terminal 100 in the data distribution system shown in FIG. It is the 1st-4th flowchart for explaining.
[0305]
Prior to the processing in FIG. 18, the user of the personal computer 50 determines the content to be moved according to the content list file, can specify the content file and license management file in the HDD 530, and obtains the play list file in the memory card 110. The explanation is based on the assumption that
[0306]
Referring to FIG. 26, when a movement request is input from keyboard 560 of personal computer 50 (step S300), controller 510 sends authentication data transmission request a via USB interface 550, terminal 580, and USB cable 70. Is transmitted to the playback terminal 100 (step S302). Then, the controller 1106 of the playback terminal 100 receives the authentication data transmission request via the terminal 1114, the USB interface 1112 and the bus BS3, and sends the authentication data transmission request via the bus BS3 and the memory card interface 1200 to the memory card 110. Send to. Then, the controller 1420 of the memory card 110 receives the authentication data transmission request via the terminal 1426, the interface 1424, and the bus BS4 (step S304).
[0307]
Upon receiving the authentication data transmission request, controller 1420 reads authentication data {KPm3 // Cm3} KPa2 from authentication data holding unit 1400 via bus BS4, and reads the read authentication data {KPm3 // Cm3} KPa2 on the bus. The data is output to the playback terminal 100 via the BS 4, the interface 1424 and the terminal 1426. Then, the controller 1106 of the playback terminal 100 receives the authentication data {KPm3 // Cm3} KPa2 via the memory card interface 1200 and the bus BS3, and the personal computer via the bus BS3, the USB interface 1112, the terminal 1114, and the USB cable 70. Authentication data {KPm3 // Cm3} KPa2 is transmitted to 50 (step S306).
[0308]
Then, controller 510 of personal computer 50 receives authentication data {KPm3 // Cm3} KPa2 via terminal 580 and USB interface 550 (step S308), and buses the received authentication data {KPm3 // Cm3} KPa2. The data is transmitted to the license management device 520 via BS2. The controller 5220 of the license management device 520 receives the authentication data {KPm3 // Cm3} KPa2 via the terminal 5226, the interface 5224, and the bus BS5, and decrypts the received authentication data {KPm3 // Cm3} KPa2. 5208. The authentication processing unit 5208 receives the authentication data authentication data {KPm3 // Cm3} KPa2 and the KPa holding unit 5214 receives the level 2 authentication key KPa2 from the KPa holding unit 5214 based on the authentication data {KPm3 // Cm3} KPa2. And the decryption process of the authentication data {KPm3 // Cm3} KPa2 is executed with the received level 2 authentication key KPa2 (step S310). Based on the result of the decryption process in the decryption processing unit 5208, the controller 5220 determines whether or not the process has been performed normally, that is, the memory card 110 holds the class public encryption key KPm3 and the class certificate Cm3 from the legitimate memory card. In order to authenticate this, authentication processing is performed to determine whether or not authentication data subjected to encryption for proving its validity has been received by a legitimate organization (step S312). If it is determined that the authentication data is valid, the controller 5220 approves and accepts the class public encryption key KPm3 and the class certificate Cm3. Then, the process proceeds to the next process (step S314). If it is not valid authentication data, it is rejected and the process is terminated without accepting the class public encryption key KPm3 and the class certificate Cm3 (step S404).
[0309]
If it is recognized that the memory card is a legitimate memory card as a result of the authentication, the controller 5220 next determines whether or not the class certificate Cm3 of the memory card 110 is listed in the prohibited class list CRL. When the class certificate is inquired to 5215A and these class certificates are the subject of the prohibited class list, the moving operation is ended here (step S404).
[0310]
On the other hand, if the class certificate of the memory card 110 is not included in the prohibited class list, the process proceeds to the next process (step S314).
[0311]
As a result of authentication, if it is confirmed that the access is from a playback terminal including a memory card having valid authentication data and the class is not included in the prohibited class list, the controller 5220 moves the controller 5220 in the license management device 520. Is acquired from the license area 5215B of the memory 5215 (step S316). Session key generation unit 5218 generates session key Ks22 for movement (step S318). Session key Ks22 is encrypted by encryption processing unit 5210 using class public encryption key KPm3 corresponding to memory card 110 obtained by decryption processing unit 5208 (step S320). The controller 5220 acquires the encrypted data {Ks22} Km3 via the bus BS5, adds the transaction ID acquired from the memory 5215 to the encrypted data {Ks22} Km3 // {Ks22} Km3 as the bus BS5, The data is output via the interface 5224 and the terminal 5226 (step S322).
[0312]
Referring to FIG. 27, controller 510 of personal computer 50 receives transaction ID // {Ks22} Km3 via bus BS2 (step S324), via USB interface 550, terminal 580, and USB cable 70. Transaction ID // {Ks22} Km3 is transmitted to playback terminal 100 (step S324). Then, the controller 1106 of the playback terminal 100 receives the transaction ID // {Ks22} Km3 via the terminal 1114, the USB interface 1112, and the BS3, and uses the received transaction ID // {Ks22} Km3 as the memory card interface 1200. To the memory card 110. Then, the controller 1420 of the memory card 110 receives the transaction ID // {Ks22} Km3 via the terminal 1426, the interface 1424, and the bus BS4 (step S326). Decryption processing unit 1422 receives {Ks22} Km3 from controller 1420 via bus BS4, decrypts {Ks22} Km3 with class secret decryption key Km3 from Km holding unit 1421, and accepts session key Ks22 (step S328). ). Then, the session key generation unit 1418 generates a session key Ks2 (step S330), and the controller 1420 acquires the update date / time CRLdate of the prohibited class list from the CRL area 1415A of the memory 1415 via the bus BS4, and acquires the acquired The update date / time CRLdate is given to the changeover switch 1446 (step S332).
[0313]
Then, the encryption processing unit 1406 encrypts the session key Ks2, the individual public encryption key KPmc4, and the update date / time CRLdate acquired by sequentially switching the terminals of the changeover switch 1446 using the session key Ks22 decrypted by the decryption processing unit 1404. , Encrypted data {Ks2 // KPmc4 // CRLdate} Ks22 is generated. The controller 1420 outputs the encrypted data {Ks2 // KPmc4 // CRLdate} Ks22 to the playback terminal 100 via the bus BS4, the interface 1424 and the terminal 1426, and the controller 1106 of the playback terminal 100 passes the memory card interface 1200. The encrypted data {Ks2 // KPmc4 // CRLdate} Ks22 is received. Then, the controller 1106 transmits to the personal computer 50 via the USB interface 1112, the terminal 1114, and the USB cable 70 (step S334).
[0314]
The controller 510 of the personal computer 50 receives the encrypted data {Ks2 // KPmc4 // CRLdate} Ks22 via the terminal 580 and the USB interface 550 (step S336), and receives the encrypted data {Ks2 // via the bus BS2. KPmc4 // CRLdate} Ks22 is input to the license management device 520 (step S338). The controller 5220 of the license management device 520 receives the encrypted data {Ks2 // KPmc4 // CRLdate} Ks22 via the terminal 5226, the interface 5224 and the bus BS5, and receives the received encrypted data {Ks2 // KPmc4 // CRLdate} Ks22 is given to the decoding processing unit 5212. Decryption processing unit 5212 decrypts encrypted data {Ks2 // KPmc4 // CRLdate} Ks22 using session key Ks22 from session key generation unit 5218, and accepts session key Ks2, public encryption key KPmc4, and prohibited class list CRLdate. (Step S340).
[0315]
Then, controller 510 of personal computer 50 reads the license entry number contained in the license management file from HDD 530 in step S324. Then, the controller 510 inputs the read entry number to the license management device 520 via the bus BS2 (step S342). The controller 5220 of the license management device 520 receives the entry number via the terminal 5226, the interface 5224, and the bus BS5, and licenses (transaction ID, content) from the area specified by the received entry number in the license area 5215B of the memory 5215. ID, license key Kc, access restriction information ACm, reproduction time limit ACp) are read (step S344).
[0316]
In response to the reception of the access restriction information ACm, the controller 5220 confirms the access restriction information ACm (step S346). That is, the controller 5220 sequentially determines the security level, the number of times of reproduction, and the movement / duplication flag of the acquired access restriction information ACm. First, based on the security level of the access restriction information ACm and the authentication key used in step S310, when the level 1 authentication key KPa1 is used and the security level of the access restriction information ACm is 2, the license Since the output is a security level lower than the management request level, the process proceeds to step S404, and the movement operation is stopped. Otherwise, the following determination is made. Based on the number of reproductions of the access restriction information ACm, it is determined whether or not the license to move to the memory card 110 attached to the reproduction terminal 100 is a license that does not allow reproduction of the encrypted content data by the access restriction information ACm. Check. When the number of times of reproduction has reached the limit number of times according to the access restriction information ACm (= 0), the encrypted content data cannot be reproduced with the license, and the encrypted content data and the license are attached to the reproduction terminal 100. This is because there is no point in moving to the memory card 110. When the number of reproductions is “0”, the process proceeds to step S404 and the moving operation is stopped. In other cases (the number of reproductions ≠ 0), the following determination is performed. Based on the moving copy flag of the access restriction information ACm, when the moving copy prohibition is “= 0”, the moving operation is stopped in parallel with step S404. When only the transfer is possible, the controller 5220 deletes the license in the entry number designated in the license area 5215B of the memory 5215 (step S348) and the step S350 in parallel. = 2 ”, it is determined that the license is duplicated, and step S348 is not performed, and the process is parallel to step S350.
[0317]
Referring to FIG. 28, the encryption processing unit 5217 encrypts the license with the individual public encryption key KPmc4 unique to the license management device 520 obtained by the decryption processing unit 5212, and generates encrypted data {transaction ID // content ID / / Kc // ACm // ACp} Kmc4 is generated (step S350). Then, the update date / time CRLdate transmitted from the memory card 110 is compared with the update date / time of the prohibited class list held by the license management device 520 in the CRL area 5215A to determine which of the prohibited class lists is new, and the memo card When it is determined that 100 is newer, the process proceeds to step S352. If it is determined that the license management device 520 is newer, the process proceeds to step S362 (step S352).
[0318]
When it is determined that the data CRLdate is the latest, the encryption processing unit 5206 uses the encrypted data {transaction ID // content ID // Kc // ACm // ACp} Kmc4 output from the encryption processing unit 5217 as the session key. Encryption is performed by the session key Ks2 generated in the generation unit 5218, and the encrypted data {{transaction ID // content ID // Kc // ACm // ACp} Kmc4} Ks2 is output to the bus BS5. Then, the controller 5220 transmits the encrypted data {{transaction ID // content ID // Kc // ACm // ACp} Kmc4} Ks2 on the bus BS5 to the personal computer 50 via the interface 5224 and the terminal 5226 ( Step S354).
[0319]
The controller 510 of the personal computer 50 receives the encrypted data {{transaction ID // content ID // Kc // ACm // ACp} Kmc4} Ks2 and reproduces it via the USB interface 550, the terminal 580, and the USB cable 70. It transmits to the terminal 100 (step S356).
[0320]
The controller 1106 of the playback terminal 100 receives the encrypted data {{transaction ID // content ID // Kc // ACm // ACp} Kmc4} Ks2 via the terminal 1114, the USB interface 1112, and the bus BS3. The received encrypted data {{transaction ID // content ID // Kc // ACm // ACp} Kmc4} Ks2 is transmitted to the memory card 110 via the bus BS3 and the memory card interface 1200. Then, the controller 1420 of the memory card 110 receives the encrypted data {{transaction ID // content ID // Kc // ACm // ACp} Kmc4} Ks2 via the terminal 1426, the terminal 1424, and the bus BS4 ( Step S358).
[0321]
Decryption processing unit 1412 of memory card 110 receives encrypted data {{transaction ID // content ID // Kc // ACm // ACp} Kmc4} Ks2 via bus BS4 and is generated by session key generation unit 1418. The session key Ks2 is decrypted and {transaction ID // content ID // Kc // ACm // ACp} Kmc4 is accepted (step S360). Thereafter, the process proceeds to step S376 shown in FIG.
[0322]
On the other hand, if it is determined in step S350 that the license management device 520 is newer, the controller 5220 of the license management device 520 acquires the latest prohibited class list CRL from the CRL area 5215A of the memory 5215 via the bus BS5. (Step S362).
[0323]
The encryption processing unit 5206 receives the output of the encryption processing unit 5217 and the data CRL of the prohibited class list acquired by the controller 5220 from the memory 5215 via the bus BS5 via the changeover switches 5242 and 5246, respectively. Encryption is performed using the session key Ks 2 generated by the session key generation unit 5218. The encrypted data output from the encryption processing unit 5206 {CRL // {transaction ID // content ID / interface 5224, and output to the personal computer 50 via the terminal 5226 (step S364).
[0324]
The controller 510 of the personal computer 50 receives the output encrypted data {CRL // {transaction ID // content ID // Kc // ACm // ACp} Kmc4} Ks2, receives the USB interface 550, the terminal 580, and The encrypted data {CRL // {transaction ID // content ID // Kc // ACm // ACp} Kmc4} Ks2 is transmitted to the playback terminal 100 via the USB cable 70 (step S368). The controller 1106 of the playback terminal 100 receives the encrypted data {CRL // {transaction ID // content ID // Kc // ACm // ACp} Kmc4} Ks2 via the terminal 1114, the USB interface 1112, and the bus BS3. The encrypted data {CRL // {transaction ID // content ID // Kc // ACm // ACp} Kmc4} Ks2 is transmitted to the memory card 110 via the bus BS3 and the memory card interface 1200. The controller 1420 of the memory card 110 receives the encrypted data {CRL // {transaction ID // content ID // Kc // ACm // ACp} Kmc4} Ks2 via the terminal 1426, the interface 1424, and the bus BS4. Receive (step S370).
[0325]
In the memory card 110, the decryption processing unit 1412 decrypts the received data on the bus BS4 using the session key Ks2 given from the session key generation unit 1418, and CRL and {transaction ID // content ID // Kc // ACm // ACp} Kmc4 is received (step 372). The controller 1420 receives the data CRL received by the decoding processing unit 1412 via the bus BS4, and rewrites the CRL area 1415A of the memory 1415 with the received data CRL (step S374).
[0326]
In steps S354, S356, S358, and S360, when the prohibited class list CRL of the memory card 110 on the transmitting side is newer than the prohibited class list CRL of the license management device 520 on the receiving side, the license key Kc and the like are transferred to the memory card 110. Steps S362, S364, S368, S370, S372, and S374 are licenses when the prohibited class list CRL of the license management device 520 on the transmission side is newer than the prohibited class list CRL of the memory card 110 on the reception side. This is a movement operation of the key Kc or the like to the memory card 110. As described above, the updated date / time CRLdate of the prohibited class list sent from the memory card 110 is checked one by one, and the latest prohibited class list CRL is stored in the CRL area 1514A as the prohibited class list CRL of the memory card 110. Therefore, it is possible to prevent the license from being leaked to a device whose security function is broken such as leakage of the class secret key.
[0327]
Referring to FIG. 29, after step S360 or step S374, the encryption license {transaction ID // content ID // Kc // ACm // ACp} Kmc4 is received by the decryption processing unit 1404 according to an instruction from the controller 1420. Decrypted by the individual secret decryption key Kmc4 and the license (license key Kc, transaction ID, content ID, access restriction information ACm, and reproduction time limit ACp) is received (step S376).
[0328]
In this way, by exchanging the encryption keys generated respectively by the license management device and the memory card, performing encryption using the encryption keys received by each other, and transmitting the encrypted data to the other party, Even in the transmission / reception of encrypted data, virtual mutual authentication can be performed, and security in the operation of moving the encrypted content data and the license can be improved.
[0329]
The controller 510 of the personal computer 50 transmits the entry number for storing the license transferred to the memory card 110 to the playback terminal 100 via the USB interface 550, the terminal 580, and the USB cable 70 (step S378). Then, the controller 1106 of the playback terminal 100 receives the entry number via the terminal 1114, the USB interface 1112, and the bus BS3, and transmits the entry number to the memory card 110 via the bus BS3 and the memory card interface 1200. 1420 receives the entry number via the terminal 1426 and the interface 1424, and stores the license (license key Kc, transaction ID, content ID, contents ID, and license ID) acquired in step S376 in the license area 1415B of the memory 1415 specified by the received entry number. The access restriction information ACm and the reproduction time limit ACp) are stored (step S380).
[0330]
The controller 510 of the personal computer 50 includes the license entry number stored in the memory 1415 of the memory card 110 and the encrypted content data {Dc} Kc to be transferred to the memory card 110 including the plaintext transaction ID and content ID. A license management file for the additional information Dc-inf is generated and transmitted to the memory card 110 (step S382).
[0331]
The controller 1420 of the memory card 110 receives the license management file via the playback terminal 100, and records the received license management file in the data area 1415C of the memory 1415 (step S384).
[0332]
Then, the controller 510 of the personal computer 50 proceeds to step S388 if it is a movement according to the determination in step S346, and does not perform step S388 if it is a copy, but performs step S390 in parallel (step S386). In the case of transfer, the license entry number of the license management file for the license transferred to the memory card 110 among the licenses recorded in the HDD 530 is updated to “no license” (step S386).
[0333]
Thereafter, the controller 510 acquires the content file (encrypted content data {Dc} Kc and additional information Dc-inf) to be transferred to the memory card 110 from the HDD 530, and stores {Dc} Kc // Dc-inf in the memory. The data is transmitted to the card 110 (step S390). The controller 1420 of the memory card 110 receives {Dc} Kc // Dc-inf via the playback terminal 100 (step S392), and receives the {Dc} Kc // Dc-inf received via the bus BS4 as a content file. Is recorded in the data area 1415C of the memory 1415 (step S394).
[0334]
Then, the controller 510 of the personal computer 50 creates a playlist file in which the music moved to the memory card 110 is added (step S396), and transmits the playlist file and a rewrite instruction of the playlist file to the memory card 110. (Step S398). The controller 1420 of the memory card 110 receives the playlist file and the rewrite instruction via the playback terminal 100 (step S400), and receives the playlist file recorded in the data area 1415C of the memory 1415 via the bus BS4. The replay list file is rewritten (step S402), and the moving operation ends (step S404).
[0335]
The reproduction list file is a management information file for a reproduction terminal created for the same purpose as the content list file recorded in the HDD. The playback terminal 100 performs playback by specifying the content file and the license management file in the order of appearance of the content included in the playlist file.
[0336]
In this way, after confirming that the memory card 110 attached to the playback terminal 100 is a legitimate device, the public encryption key KPm3 encrypted and transmitted together with the class certificate Cm3 is valid. The content data can be moved only in response to a move request to a memory card that is not described in the class certificate Cm3 is prohibited class list, that is, the class certificate list whose encryption with the public encryption key KPm3 is broken. Therefore, it is possible to prohibit movement to an unauthorized memory card and movement using a decrypted class key. Further, by using this moving operation, the user of the playback terminal 102 that does not have a communication function with the distribution server 10 can also receive the encrypted content data and the license on the memory card via the personal computer 50. User convenience is improved.
[0337]
Further, as is apparent from the description, the transfer process has been described. However, when the license copy is permitted by the content supplier, the process is executed as a copy process, and the license is held as it is in the license management device 511 on the transmission side. Is done. Copying in this case is permitted only when the content supplier, that is, the copyright owner, permits copying at the time of distribution, and the mobile copy flag of the access restriction information ACm is set to allow mobile copying. This is not an act that hinders the rights of the copyright owner. Access restriction information is part of the license, and its confidentiality is guaranteed, but the copyright is protected.
[0338]
In the above description, the transfer of the license from the license management device 520 of the personal computer 50 to the memory card 110 has been described. However, the transfer of the license from the memory card 110 to the license management device 520 is also illustrated in FIGS. This is done according to the flowchart. In addition, the encrypted content data and license received from the distribution server 10 by the personal computer 50 can be transferred to the memory card 110, so that only the encrypted content data and license received by the license management device 520 from the distribution server 10 in hardware. In addition, the encrypted content data and license received by the license management module 511 from the distribution server 10 in software cannot be transmitted to the memory card based on the concept of “move”. The license management module 511 exchanges authentication data and an encryption key with the distribution server 10 in a software manner with a security level lower than that of the license management device 520, and receives encrypted content data and a license. The possibility that the encryption is broken in the operation is higher than when the encrypted content data and the license are received by the license management device 520. Accordingly, the encrypted content data and license received and managed with a low security level are “moved” to the memory card 110 that receives and manages the encrypted content data and license with the same security level as the license management device 520. Since the security level in the memory card 110 is lowered, the encrypted content data received by the license management module 511 and the license received by the license management module 511 are stored in the memory by the concept of “move”. The transmission to the card 110 is disabled.
[0339]
However, if the encrypted content data and the license with a low security level received by the license management module 511 cannot be transferred to the memory card 110 at all, a free copy of the content data is permitted while protecting the copyright. Contrary to the purpose of the data distribution system, user convenience is not improved. Therefore, the encrypted content data and license received by the license management module 511 can be transmitted to the memory card 110 by the concept of check-out and check-in described below.
[0340]
[check out]
In the data distribution system shown in FIG. 1, an operation of transmitting the encrypted content data and license distributed from the distribution server 10 to the license management module 511 of the personal computer 50 to the memory card 110 attached to the playback terminal 100 will be described. This operation is called “checkout”.
[0341]
30 to 34 show, in the data distribution system shown in FIG. 1, the encrypted content data and license received by the license management module 511 from the distribution server 10 to the memory card 110 attached to the playback terminal 100 on condition of return. It is the 1st-5th flowchart for demonstrating the check-out operation which borrows. Before the processing in FIG. 30, the user of the personal computer 50 determines the content to be checked out according to the content list file, can specify the content file and the license management file in the HDD 530, and obtains the play list file in the memory card 110. The explanation is based on the assumption that
[0342]
Referring to FIG. 30, when a checkout request is input from keyboard 560 of personal computer 50 (step S500), license management module 511 performs a binding key acquisition process. A series of processing from step S501 in FIG. 30 to step 515 in FIG. 31 is a binding key acquisition process, which is the same as the series of processing from step S270 in FIG. 20 to step S284 in FIG. Therefore, explanation is omitted.
[0343]
The license management module 511 that has acquired the binding key Kb acquires the encrypted confidential file 160 from the HDD 530 via the bus BS2, and acquires the plaintext confidential file by decrypting the acquired encrypted confidential file 160 with the binding key Kb. (Step S516). Thereafter, the license management module 511 sends the confidential information n (transaction ID, content ID, license key Kc, access restriction information ACm, reproduction time limit ACp, and confidential information in the confidential file corresponding to the confidential information number n recorded in the license management file. Checkout information) is acquired (step S517).
[0344]
Then, the license management module 511 confirms whether or not the license can be checked out based on the acquired access restriction information ACm (step S518). That is, the license management module 511 confirms that the memory card attached to the playback terminal 100 It is checked whether the license to be checked out to 110 has a restriction on the number of times of reproduction of the encrypted content data depending on the number of times of reproduction of the access restriction information ACm, or whether the license is unreproducible. If there is a limit on the number of playbacks, the encrypted content data and license are not checked out.
[0345]
If reproduction is restricted in step S518, the process proceeds to step S564, and the checkout operation ends. In step S518, when the number of reproductions of the encrypted content data has not reached the limit number based on the access restriction information ACm, the process proceeds to step S519. Then, the license management module 511 confirms whether or not the number of possible checkouts included in the acquired checkout information is greater than “0” (step S519). If the possible number of checkouts is “0” in step S519, there is no license that can be checked out, so the process proceeds to step S564, and the checkout operation ends. In step S519, when the possible number of checkouts is greater than “0”, the license management module 511 transmits an authentication data transmission request via the USB interface 550, the terminal 580, and the USB cable 70 (step S520). The controller 1106 of the playback terminal 100 receives an authentication data transmission request via the terminal 1114, the USB interface 1112, and the bus BS3, and stores the received authentication data transmission request in the memory via the bus BS3 and the memory card interface 1200. Send to card 110. Then, the controller 1420 of the memory card 110 receives the authentication data transmission request via the terminal 1426, the interface 1424, and the bus BS4 (step S521).
[0346]
Upon receiving the authentication data transmission request, controller 1420 reads authentication data {KPm3 // Cm3} KPa2 from authentication data holding unit 1400 via bus BS4, and reads the read authentication data {KPm3 // Cm3} KPa2 on the bus. The data is output to the playback terminal 100 via the BS 4, the interface 1424 and the terminal 1426. Then, the controller 1106 of the playback terminal 100 receives the authentication data {KPm3 // Cm3} KPa2 via the memory card interface 1200 and the bus BS3, and the personal computer via the bus BS3, the USB interface 1112, the terminal 1114, and the USB cable 70. Authentication data {KPm3 // Cm3} KPa2 is transmitted to 50 (step S522).
[0347]
Then, the license management module 511 of the personal computer 50 receives the authentication data {KPm3 // Cm3} KPa2 via the terminal 580 and the USB interface 550 (step S523), and the received authentication data {KPm3 // Cm3} KPa2 Is decrypted with the level 2 authentication key KPa2 (step S524).
[0348]
Referring to FIG. 32, license management module 511 determines from the decryption processing result whether or not the processing has been performed normally, that is, memory card 110 has class public encryption key KPm3 and class certificate Cm3 from the regular memory card. In order to authenticate that it is held, authentication processing is performed to determine whether or not authentication data subjected to encryption for proving its validity has been received by a legitimate organization (step S525). If it is determined that the authentication data is valid, the license management module 511 approves and accepts the class public encryption key KPm3 and the class certificate Cm3. Then, the process proceeds to the next process (step S526). If it is not valid authentication data, it is rejected, and the process is terminated without accepting the class public encryption key KPm3 and the class certificate Cm3 (step S564).
[0349]
When it is recognized that the memory card is a legitimate memory card as a result of the authentication, the license management module 511 next inquires the HDD 530 whether the class certificate Cm3 of the memory card 110 is listed in the prohibited class list CRL. If these class certificates are included in the prohibited class list, the check-out operation ends here (step S564). On the other hand, if the class certificate of the memory card 110 is not included in the prohibited class list, the process proceeds to the next process (step S526).
[0350]
As a result of authentication, when it is confirmed that the access is from a playback terminal including a memory card having valid authentication data and the class is not included in the prohibited class list, the license management module 511 identifies the checkout. Therefore, a checkout transaction ID, which is a management code, takes a value different from all the transaction IDs stored in the memory card 110 and is generated as a transaction ID for local use. Generate (step S527). Then, the license management module 511 generates a session key Ks2b for checkout (step S528), and encrypts the generated session key Ks2b with the class public encryption key KPm3 transmitted from the memory card 110 (step S529). ). Then, the license management module 511 sends the checkout transaction ID // {Ks2b} Km3 obtained by adding the checkout transaction ID to the encrypted data {Ks2b} Km3 via the USB interface 550, the terminal 580, and the USB cable 70. It transmits to the reproduction terminal 100 (step S530). Then, the controller 1106 of the playback terminal 100 receives the checkout transaction ID // {Ks2b} Km3 via the terminal 1114, the USB interface 1112, and the bus BS3, and the received checkout transaction ID // {Ks2b } Km3 is transmitted to the memory card 110 via the memory card interface 1200. Then, the controller 1420 of the memory card 110 receives the checkout transaction ID // {Ks2b} Km3 via the terminal 1426, the interface 1424, and the bus BS4 (step S531). Decryption processing unit 1422 receives {Ks2b} Km3 from controller 1420 via bus BS4, decrypts {Ks2b} Km3 with secret decryption key Km3 from Km holding unit 1421, and accepts session key Ks2b (step S532). . Then, the session key generation unit 1418 generates a session key Ks2c (step S533), and the controller 1420 acquires the update date / time CRLdate of the prohibited class list from the CRL area 1415A of the memory 1415 via the bus BS4, and acquires the acquired The update date / time CRLdate is given to the changeover switch 1446 (step S534).
[0351]
Then, the encryption processing unit 1406 encrypts the session key Ks2c, the individual public encryption key KPmc4, and the update date / time CRLdate acquired by sequentially switching the terminals of the changeover switch 1446 using the session key Ks2b decrypted by the decryption processing unit 1404. , Encrypted data {Ks2c // KPmc4 // CRLdate} Ks2b is generated. The controller 1420 outputs the encrypted data {Ks2c // KPmc4 // CRLdate} Ks2b to the playback terminal 100 via the bus BS4, the interface 1424 and the terminal 1426, and the controller 1106 of the playback terminal 100 passes through the memory card interface 1200. Encrypted data {Ks2c // KPmc4 // CRLdate} Ks2b. Then, the controller 1106 transmits to the personal computer 50 via the USB interface 1112, the terminal 1114, and the USB cable 70 (step S535).
[0352]
The license management module 511 of the personal computer 50 receives the encrypted data {Ks2c // KPmc4 // CRLdate} Ks2b via the terminal 580 and the USB interface 550 (step S536), and the received encrypted data {Ks2c // KPmc4 // CRLdate} Ks2b is decrypted with the session key Ks2b, and the session key Ks2c, the individual public encryption key KPmc4, and the update date / time CRLdate are received (step S537). Then, the license management module 511 generates checkout access restriction information ACm that prohibits the license from being transferred / replicated from the memory card mounted on the playback terminal 100 to another memory card or the like. In other words, the access restriction information ACm is generated in which the number of reproductions is unlimited (= 255), the moving duplication flag is not movable duplication (= 3), and the security level is set to 1 (step S538).
[0353]
Referring to FIG. 33, the license management module 511 encrypts the license with the public encryption key KPmc4 unique to the memory card 110 received in step S537 and encrypts the data {checkout transaction ID // content ID // Kc. // Checkout ACm // ACp} Kmc4 is generated (step S539). Then, the update date / time CRLdate transmitted from the memory card 110 is compared with the update date / time of the prohibited class list held in the HDD 530 managed by the license management module 511 to determine which of the prohibited class lists is newer. When it is determined that 110 is newer, the process proceeds to step S541. Conversely, when it is determined that the license management module 511 is newer, the process proceeds to step S544 (step S540).
[0354]
When it is determined that the memory card 110 is newer, the license management module 511 uses the encrypted data {checkout transaction ID // content ID // Kc // checkout ACm // ACp} Kmc4 as the session key Ks2c. The encrypted data {{transaction ID for checkout // content ID // Kc // ACm // ACp for checkout} Kmc4} Ks2c is transmitted via the USB interface 550, the terminal 580, and the USB cable 70. Is transmitted to the playback terminal 100 (step S541).
[0355]
The controller 1106 of the playback terminal 100 transmits the encrypted data {{transaction ID for checkout // content ID // Kc // ACm // ACp for checkout} Kmc4} via the terminal 1114, the USB interface 1112, and the bus BS3. Ks2c is received, and the received encrypted data {{transaction ID for checkout // content ID // Kc // ACm for checkout / ACp} Kmc4} is stored in memory via bus BS3 and memory card interface 1200. Send to card 110. Then, the controller 1420 of the memory card 110 transmits the encrypted data {{transaction ID for checkout // content ID // Kc // ACm // ACp for checkout} Kmc4 via the terminal 1426, the terminal 1424, and the bus BS4. } Ks2c is received (step S542).
[0356]
The decryption processing unit 1412 of the memory card 110 receives the encrypted data {{checkout transaction ID // content ID // Kc // checkout ACm // ACp} Kmc4} Ks2c via the bus BS4, and receives the session key. Decryption is performed using the session key Ks2c generated by the generation unit 1418, and {checkout transaction ID // content ID // Kc // checkout ACm // ACp} Kmc4 is accepted (step S543). Thereafter, the process proceeds to step S549 shown in FIG.
[0357]
On the other hand, if it is determined in step S540 that the prohibited class list of the license management module 511 is newer, the license management module 511 acquires the prohibited class list CRL managed by the license management module 511 from the HDD 530 (step S544).
[0358]
Then, the license management module 511 receives {checkout transaction ID // content ID // Kc // checkout ACm // ACp} Kmc4 and the data CRL of the prohibited class list acquired from the HDD 530 using the session key Ks2c. The encrypted data {CRL // {checkout transaction ID // content ID // Kc // checkout ACm // ACp} Kmc4} Ks2c is transmitted via the USB interface 550, the terminal 580 and the USB cable 70. Is transmitted to the playback terminal 100 (step S545). The controller 1106 of the playback terminal 100 transmits encrypted data {CRL // {checkout transaction ID // content ID // Kc // checkout ACm // ACp via the terminal 1114, the USB interface 1112 and the bus BS3. } Kmc4} Ks2c is received, and the received encrypted data {CRL // {checkout transaction ID // content ID // Kc // checkout ACm // ACp} Kmc4} Ks2c is transferred to the bus BS3 and the memory card. The data is output to the memory card 110 via the interface 1200. Then, the controller 1420 of the memory card 110 transmits the encrypted data {CRL // {checkout transaction ID // content ID // Kc // checkout ACm // via the terminal 1426, the interface 1424, and the bus BS4. ACp} Kmc4} Ks2c is received (step S546).
[0359]
In the memory card 110, the decryption processing unit 1412 decrypts the received data on the bus BS4 using the session key Ks2c given from the session key generating unit 1418, and CRL and {checkout transaction ID // content ID // Kc // ACm for checkout / ACp} Kmc4 is received (step 547). The controller 1420 receives the data CRL accepted by the decryption processing unit 1412 via the bus BS4, and rewrites the CRL area 1415A of the memory 1415 with the received data CRL (step S548).
[0360]
Steps S541, S542, and S543 are operations for checking out the license key Kc and the like to the memory card 110 when the prohibited class list CRL of the memory card 110 on the receiving side is newer than the prohibited class list CRL of the license management module 511 on the transmitting side. Steps S 544, S 545, S 546, S 547, and S 548 are memory such as a license key Kc when the prohibited class list CRL of the license management module 511 on the transmission side is newer than the prohibited class list CRL of the memory card 110 on the reception side. This is a checkout operation to the card 110. As described above, when a license is transmitted to the memory card 110, if a new prohibited class list CRL is recorded in the HDD 530 from the prohibited class list CRL held by the memory card 100 in the CRL area 1415B, the prohibited class list CRL is stored. Is obtained from the HDD 530, and the prohibited class list CRL is distributed to the memory card 110, whereby the prohibited class list that the memory card 100 holds in the CRL area 1415B can be updated. 110 can be prohibited from being transmitted to the tie line, and the outflow of the distributed license can be prevented.
[0361]
Referring to FIG. 34, after step S543 or step S548, the encryption license {checkout transaction ID // content ID // Kc // checkout ACm // ACp} Kmc4 is determined by an instruction from the controller 1420. In the decryption processing unit 1404, decryption is performed using the secret decryption key Kmc4, and the license (license key Kc, checkout transaction ID, content ID, checkout ACm, and reproduction time limit ACp) is received (step S549).
[0362]
Then, the license management module 511 of the personal computer 50 transmits an entry number for storing the license checked out to the memory card 110 to the playback terminal 102 via the USB interface 550, the terminal 580, and the USB cable 70. (Step S550). Then, the controller 1106 of the playback terminal 102 receives the entry number via the terminal 1114, the USB interface 1112, and the bus BS3, and accepts it in the license area 1415B of the memory 1415 specified by the received entry number in step S566. The license (license key Kc, checkout transaction ID, content ID, checkout ACm, and playback control information ACp) is stored (step S551).
[0363]
The license management module 511 of the personal computer 50 encrypts content data to be transferred to the memory card 110 including the license entry number stored in the memory 1415 of the memory card 110, the plaintext checkout transaction ID, and the content ID. A license management file for {Dc} Kc and additional information Dc-inf is generated and transmitted to the memory card 110 (step S552).
[0364]
The controller 1420 of the memory card 110 receives the license management file via the playback terminal 102, and records the received license management file in the data area 1415C of the memory 1415 (step S553).
[0365]
The license management module 511 of the personal computer 50 updates the checkout information by subtracting 1 from the number of possible checkouts and adding the checkout transaction ID and the public encryption key KPmc4 unique to the checkout destination memory card ( Step S554). Then, the license management module 511 sends the transaction ID, content ID, license key Kc, access restriction information ACm, reproduction time limit ACp, and updated address information (number of checkouts possible, checkout transaction ID, checkout destination) The plaintext secret file is updated with the new secret information n (the individual door-to-door public encryption key KPmc4 added to the memory card 110) (step S555). The individual public key KPmc4 of the checkout destination is stored in the memory card without a tamper-resistant module and has a unique value for each memory card obtained by a highly secure communication means using encryption by authentication. Suitable as identification information for identifying memory cards.
[0366]
Thereafter, the license management module 511 encrypts the plaintext confidential file with the binding key Kb and updates the encrypted confidential file 160 recorded in the HDD 530 (step S556).
[0367]
The license management module 511 acquires the encrypted content data {Dc} Kc and additional information Dc-inf to be checked out to the memory card 110 from the HDD 530, and sends {Dc} Kc // Dc-inf to the memory card 110. Transmit (step S557). The controller 1420 of the memory card 110 receives {Dc} Kc // Dc-inf via the playback terminal 100 (step S558), and receives the {Dc} Kc // Dc-inf received via the bus BS4 in the memory 1415. Is recorded in the data area 1415C (step S559).
[0368]
Then, the license management module 511 of the personal computer 50 creates a playlist file in which the music that has been checked out to the memory card 110 is added (step S560), and sends the playlist file and an instruction to rewrite the playlist file to the memory card. 110 (step S561). The controller 1420 of the memory card 110 receives the playlist and the rewrite instruction via the playback terminal 100 (step S562), and receives the playlist file recorded in the data area 1415C of the memory 1415 via the bus BS4. The reproduction list file is rewritten (step S563), and the checkout operation ends (step S564).
[0369]
In this way, it is confirmed that the memory card 110 attached to the playback terminal 100 is a legitimate device, and at the same time, the class public encryption key KPm3 encrypted and transmitted together with the class certificate Cm3 is valid. The class certificate Cm3 is checked out only for a checkout request to a memory card that is not listed in the prohibited class list, that is, the class certificate list whose encryption with the class public encryption key KPm3 is broken. It is possible to prohibit check-out to an unauthorized memory card and check-out using a decrypted class key. In addition, the encryption keys generated by the license management module and the memory card are exchanged, encryption is performed using the encryption keys received by each other, and the encrypted data is transmitted to the other party. Even when encrypted data is transmitted / received, virtual mutual authentication can be performed, and security in the checkout operation of the encrypted content data and the license can be improved. Further, by using this check-out operation, the user of the playback terminal 100 who does not have a communication function with the distribution server 10 also receives the encrypted content data and license received by the personal computer 50 by software in the memory card. The convenience of the user can be improved.
[0370]
[check-in]
An operation of returning the encrypted content data and license checked out from the license management module 511 of the personal computer 50 to the memory card 110 in the data distribution system shown in FIG. 1 to the license management module 511 will be described. This operation is called “check-in”.
[0371]
FIGS. 35 to 38 show a first check-in operation for returning encrypted content data and licenses lent to the memory card 110 by the check-out operation described with reference to FIGS. FIG. 4 is a fourth flowchart. Prior to the processing in FIG. 35, the user of the personal computer 50 obtains the content list file recorded in the HDD 520 and the playlist file recorded in the data area 1415B of the memory card 110, and checks according to both files. Description will be made on the assumption that content to be loaded is determined, content files and license management files of the HDD 530 and the memo card 110 can be specified, and the license management file of the memory card 110 has been acquired.
[0372]
Referring to FIG. 35, when a check-in request is input from keyboard 560 of personal computer 50 (step S600), license management module 511 performs a binding key acquisition process. A series of processes from step S601 in FIG. 35 to step 615 in FIG. 36 is a binding key acquisition process, which is the same as the series of processes from step S270 in FIG. 20 to step S284 in FIG. Therefore, explanation is omitted.
[0373]
The license management module 511 that has acquired the binding key Kb acquires the encrypted confidential file 160 from the HDD 530 via the bus BS2, and acquires the plaintext confidential file by decrypting the acquired encrypted confidential file 160 with the binding key Kb. (Step S616). Thereafter, the license management module 511 reads the confidential information n (license (transaction ID, content ID, license key Kc, access restriction information ACm, reproduction time limit ACp) in the confidential file corresponding to the confidential information number n recorded in the license management file. ) And check-out information (number of check-outs, check-out transaction ID, individual public encryption key KPmcx of the check-out destination memory card)) is acquired (step S617). Then, the license management module 511 transmits an authentication data transmission request to the playback terminal 100 via the USB interface 550, the terminal 580, and the USB cable 70 (step S618).
[0374]
Then, the controller 1106 of the playback terminal 100 receives the authentication data transmission request via the terminal 1114, the USB interface 1112 and the bus BS3, and sends the authentication data transmission request via the bus BS3 and the memory card interface 1200 to the memory card 110. Send to. Then, the controller 1420 of the memory card 110 receives the authentication data transmission request via the terminal 1426, the interface 1424, and the bus BS4 (step S619).
[0375]
Upon receiving the authentication data transmission request, controller 1420 reads authentication data {KPm3 // Cm3} KPa2 from authentication data holding unit 1400 via bus BS4, and reads the read authentication data {KPm3 // Cm3} KPa2 on the bus. The data is output to the playback terminal 100 via the BS 4, the interface 1424 and the terminal 1426. Then, the controller 1106 of the playback terminal 100 receives the authentication data {KPm3 // Cm3} KPa2 via the memory card interface 1200 and the bus BS3, and the personal computer via the bus BS3, the USB interface 1112, the terminal 1114, and the USB cable 70. Authentication data {KPm3 // Cm3} KPa2 is transmitted to 50 (step S620).
[0376]
The license management module 511 of the personal computer 50 receives the authentication data {KPm3 // Cm3} KPa2 via the terminal 580 and the USB interface 550 (step S621), and levels the received authentication data {KPm3 // Cm3} KPa2 2. Decrypt using the authentication key KPa (step S622). Then, the license management module 511 determines from the decryption processing result whether or not the processing has been normally performed, that is, the memory card 110 holds the class public encryption key KPm3 and the class certificate Cm3 from the legitimate memory card. In order to authenticate, authentication processing is performed to determine whether or not authentication data subjected to encryption for proving its validity has been received by a legitimate institution (step S623). If it is determined that the authentication data is valid, the license management module 511 approves and accepts the class public encryption key KPm3 and the class certificate Cm3. Then, the process proceeds to the next process (step S624). If it is not valid authentication data, it is rejected and the process is terminated without accepting the class public encryption key KPm3 and the class certificate Cm3 (step S653). As a result of the authentication, if the memory card is recognized as a legitimate memory card, the license management module 511 generates a dummy transaction ID (step S624). The dummy transaction ID always takes a value different from all the transaction IDs stored in the memory card 110 and is generated as a transaction ID for local use.
[0377]
Referring to FIG. 37, the license management module 511 generates a check-in session key Ks2b (step S625). Then, the license management module 511 encrypts the generated session key Ks2b with the class public encryption key KPm3 received from the memory card 110 to generate the encrypted data {Ks2b} Km3 (step S626), and the encrypted data {Ks2b} Dummy transaction ID // {Ks2b} Km3 obtained by adding a dummy transaction ID to Km3 is transmitted to playback terminal 100 via USB interface 550, terminal 580, and USB cable 70 (step S627). The controller 1106 of the playback terminal 100 receives the dummy transaction ID // {Ks2b} Km3 via the terminal 1114, the USB interface 1112, and the BS3, and uses the received dummy transaction ID // {Ks2b} Km3 as the memory card interface 1200. To the memory card 110. Then, the controller 1420 of the memory card 110 receives the dummy transaction ID // {Ks2b} Km3 via the terminal 1426, the interface 1424, and the bus BS4 (step S628). Decryption processing unit 1422 receives {Ks2b} Km3 from controller 1420 via bus BS4, decrypts {Ks2b} Km3 using class secret decryption key Km3 from Km holding unit 1421, and accepts session key Ks2b (step S629). ). Then, the session key generation unit 1418 generates a session key Ks2c (step S630), and the controller 1420 acquires the update date / time CRLdate of the prohibited class list from the CRL area 1415A of the memory 1415 via the bus BS4, and acquires the acquired The update date / time CRLdate is given to the changeover switch 1446 (step S631).
[0378]
Then, the encryption processing unit 1406 decrypts the session key Ks2c, the individual public encryption key KPmc4, and the update date / time CRLdate acquired by sequentially switching the terminals of the changeover switch 1446 by the decryption processing unit 1422, and the terminal Pa of the changeover switch 1442 Is encrypted using the session key Ks2b obtained via the encrypted data {Ks2c // KPmc4 // CRLdate} Ks2b. The controller 1420 outputs the encrypted data {Ks2c // KPmc4 // CRLdate} Ks2b to the playback terminal 100 via the bus BS4, the interface 1424 and the terminal 1426, and the controller 1106 of the playback terminal 100 passes through the memory card interface 1200. Encrypted data {Ks2c // KPmc4 // CRLdate} Ks2b. Then, the controller 1106 transmits the encrypted data {Ks2c // KPmc4 // CRLdate} Ks2b to the personal computer 50 via the USB interface 1112, the terminal 1114, and the USB cable 70 (step S632).
[0379]
The license management module 511 of the personal computer 50 receives the encrypted data {Ks2c // KPmc4 // CRLdate} Ks2b via the terminal 580 and the USB interface 550 (step S633), and the received encrypted data {Ks2c // KPmc4 // CRLdate} Ks2b is decrypted with the session key Ks2b, and the session key Ks2c, the individual public encryption key KPmc4, and the update date / time CRLdate are received (step S634).
[0380]
Then, the license management module 511 determines whether the received individual public encryption key KPmc4 is included in the checkout information of the confidential information n acquired in step S617, that is, in the checkout transaction ID of the license to be checked out. It is confirmed whether or not it matches with the corresponding individual public encryption key KPmcx stored (step S635).
[0381]
The received individual public encryption key KPmc4 is included in the updated checkout information when the encrypted content data and the license are checked out (see step S551 in FIG. 34). Therefore, by including the individual public encryption key KPmc4 corresponding to the checkout destination such as the encrypted content data in the checkout information, the checkout destination checked out at the time of check-in can be easily specified.
[0382]
In step S635, when the individual public encryption key KPmc4 is not included in the checkout information, the check-in operation ends (step S653). In step S635, if the individual public encryption key KPmc4 is included in the checkout information, the license management module 511 cannot participate in the reproduction of the dummy license, that is, the dummy transaction ID, the dummy content ID in which the corresponding content does not exist, and the reproduction. A dummy license key Kc (represented as a dummy Kc), dummy access restriction information ACm (represented as a dummy ACm) indicating that the mobile copy flag is “move / copy prohibited” and the number of reproductions is “0”, and a dummy reproduction time limit ACp (dummy) Is expressed by the individual public encryption key KPmc4 to generate encrypted data {dummy transaction ID // dummy content ID // Kc // dummy ACm // dummy ACp} Kmc4 (step S636).
[0383]
The license management module 511 encrypts the encrypted data {dummy transaction ID // dummy content ID // dummy Kc // dummy ACm // dummy ACp} Kmc4 with the session key Ks2c, and the encrypted data {{dummy transaction ID // Dummy content ID // dummy Kc // dummy ACm // dummy ACp} Kmc4} Ks2c is generated, and the generated encrypted data {{dummy transaction ID // dummy content ID // Kc // dummy ACm // Dummy ACp} Kmc4} Ks2c is transmitted to playback terminal 100 via USB interface 550, terminal 580, and USB cable 70 (step S637).
[0384]
The controller 1106 of the playback terminal 100 sends encrypted data {{dummy transaction ID // dummy content ID // dummy Kc // dummy ACm // dummy ACp} Kmc4} Ks2c via the terminal 1114, the USB interface 1112 and the bus BS3. Receive. The controller 1106 transfers the received encrypted data {{dummy transaction ID // dummy content ID // dummy Kc // dummy ACm // dummy ACp} Kmc4} Ks2c to the memory card 110 via the bus BS3 and the memory card interface 1200. Send. Then, the controller 1420 of the memory card 110 receives {{dummy transaction ID // dummy content ID // dummy Kc // dummy ACm // dummy ACp} Kmc4} Ks2c via the terminal 1426, the terminal 1424, and the bus BS4. (Step S638).
[0385]
Referring to FIG. 38, decryption processing unit 1412 of memory card 110 receives {{dummy transaction ID // dummy content ID // dummy Kc // dummy ACm // dummy ACp} Kmc4} Ks2c via bus BS4. Then, decryption is performed using the session key Ks2c generated by the session key generation unit 1418, and {dummy transaction ID // dummy content ID // dummy Kc // dummy ACm // dummy ACp} Kmc4 is received (step S639). The decryption processing unit 1404 receives the encrypted data {dummy transaction ID // dummy content ID // dummy Kc // dummy ACm // dummy ACp} Kmc4 from the decryption processing unit 1412 and receives the received encrypted data {dummy Transaction ID // Dummy Content ID // Dummy Kc // Dummy ACm // Dummy ACp} Kmc4 is decrypted with the individual secret decryption key Kmc4 from the Kmc holding unit 1402, and the dummy transaction ID, dummy content ID, dummy Kc, and dummy ACm , And dummy ACp are received (step S640).
[0386]
The license management module 511 of the personal computer 50 acquires the entry number storing the license to be checked out described in the license management file of the memory card 110, and uses the USB as the entry number for storing the dummy license. The data is transmitted to the playback terminal 102 via the interface 550, the terminal 580, and the USB cable 70 (step S641). Then, the controller 1106 of the playback terminal 102 receives the entry number via the terminal 1114, the USB interface 1112, and the bus BS3, and enters the license area 1415B of the memory 1415 specified by the received entry number via the bus BS4. The dummy license (dummy transaction ID, dummy content ID, dummy license key Kc, dummy access restriction information ACm, and dummy reproduction time limit ACp) is recorded (step S642). Thus, the license checked out to the memory card 110 can be erased by recording the dummy transaction ID, the dummy content ID, the dummy license key Kc, the dummy access restriction information ACm, and the dummy reproduction time limit ACp.
[0387]
Thereafter, the license management module 511 of the personal computer 50 increases the number of possible checkouts in the checkout information by 1, deletes the checkout transaction ID and the individual public key KPmc4 of the checkout destination memory card, and performs the checkout. Information is updated (step S643). Then, the license management module 511 updates the plaintext confidential file using the transaction ID, content ID, license key Kc, access restriction information ACm, reproduction time limit ACp, and updated checkout information as new confidential information n (step S644). Thereafter, the license management module 511 encrypts the plaintext confidential file with the binding key Kb and updates the encrypted confidential file 160 recorded in the HDD 530 (step S645).
[0388]
Then, the license management module 511 receives the content file (encrypted content data {Dc} Kc and additional information Dc-inf) corresponding to the checked-in license recorded in the data area 1415C of the memory card 100 and the license management file. A deletion instruction to be deleted is transmitted to the playback terminal 100 via the USB interface 550, the terminal 580, and the USB cable 70 (step S646). The controller 1106 of the playback terminal 100 receives a content file (encrypted content data {Dc} Kc and additional information Dc-inf) and license management file deletion instruction via the terminal 1114, the USB interface 1112, and the bus BS3 ( Step S647). Then, the controller 1106 outputs an instruction to delete (encrypted content data {Dc} Kc and additional information Dc-inf) and the license management file to the memory card 110, and the controller 1420 of the memory card 110 receives the terminal 1426, The interface 1424 and the instruction to delete the encrypted content data {Dc} Kc, the additional information Dc-inf, and the license management file are received via the bus BS4, and the encrypted content data {14 of the memory 1415 is received via the bus BS4. Dc} Kc and additional information Dc-inf) and the license management file are deleted (step S648).
[0389]
The license management module 511 of the personal computer 50 creates a playlist from which the checked-in music is deleted (step S649), and transmits the playlist and the playlist rewrite instruction to the memory card 110 (step S650). The controller 1420 of the memory card 110 receives the reproduction list and the rewrite instruction via the reproduction terminal 100 (step S651), and rewrites the reproduction list of the memory 1415 via the bus BS4 to the received reproduction list (step S652). The check-in operation ends (step S653).
[0390]
In this way, by returning the encrypted content data and the license from the other party that has checked out the encrypted content data and the license, the license is transferred from the license management module with a low security level where the license transfer is prohibited, Encrypted content data that can be played back with a license acquired with a license management module with a low security level on a playback terminal because a license acquired with a license management module with a low security level can be sent to a memory card with a high security level. Can play and enjoy.
[0390]
The license lent to the memory card is specified by the access restriction information ACm so that the checked out license cannot be output from the memory card to other recording devices (memory card, license management device, and license management module). As a result, the licenses that have been lent will not be leaked. By checking in <returning> the lent license management module, the right of the lent license is returned to the lent license management module. Therefore, it does not allow the copy to be performed against the intention of the author, and is not a process of lowering the security level, and the copyright is also protected.
[0392]
[Regeneration]
Next, with reference to FIG. 39 and FIG. 40, a description will be given of a playback operation in the playback terminal 100 (also referred to as a content playback device, hereinafter the same) of content data that has been moved to the memory card 110 and checked out. It is assumed that, prior to the processing in FIG. 29, the user of the playback terminal 102 determines content (music) to be played according to the play list file, specifies the content file, and acquires the license management file. To do.
[0393]
Referring to FIG. 39, along with the start of the reproduction operation, a reproduction instruction is input to reproduction terminal 100 from operation terminal 1108 by the user of reproduction terminal 100 (step S1000). Then, the controller 1106 reads the authentication data {KPp1 // Cp1} KPa2 from the authentication data holding unit 1500 via the bus BS3, and sends the authentication data {KPp1 // Cp1} KPa2 to the memory card 110 via the memory card interface 1200. Output (step S1002).
[0394]
Then, the memory card 110 accepts the authentication data {KPp1 // Cp1} KPa2 (step S1004). Then, the decryption processing unit 1408 of the memory card 110 decrypts the received authentication data {KPp1 // Cp1} KPa2 using the level 2 authentication key KPa2 held in the KPa holding unit 1414 (step S1006), and the controller 1420 decrypts it. Authentication processing is performed from the decryption processing result in the processing unit 1408. That is, an authentication process for determining whether or not the authentication data {KPp1 // Cp1} KPa2 is regular authentication data is performed (step S1008). If decryption has failed, the process proceeds to step S1048, and the reproduction operation ends. If the authentication data can be decrypted, the controller 1420 determines whether or not the acquired class certificate Cp1 is included in the prohibited class list CRL read from the CRL area 1415A of the memory 1415 (step S1010). In this case, an identification number is given to the class certificate Cp1, and the controller 1420 determines whether or not the received identification number of the class certificate Cp1 exists in the prohibited class list CRL. If it is determined that the class certificate Cp1 is included in the prohibited class list data, the process proceeds to step S1048, and the reproduction operation ends.
[0395]
If it is determined in step S1010 that the class certificate Cp1 is not included in the prohibited class list data CRL, the session key generation unit 1418 of the memory card 110 generates a session key Ks2 for a reproduction session (step S1012). . Then, encryption processing unit 1410 outputs {Ks2} Kp1 obtained by encrypting session key Ks2 from session key generation unit 1418 using class public encryption key KPp1 decrypted by decryption processing unit 1408 to bus BS3 (step S1014). ). Then, controller 1420 outputs {Ks2} Kp1 to memory card interface 1200 via interface 1424 and terminal 1426 (step S1016). The controller 1106 of the playback terminal 100 acquires {Ks2} Kp1 via the memory card interface 1200. Then, the Kp1 holding unit 1502 outputs the secret decryption key Kp1 to the decryption processing unit 1504.
[0396]
Decryption processing unit 1504 decrypts {Ks2} Kp1 using secret decryption key Kp1 paired with public encryption key KPp1 output from Kp1 holding unit 1502, and outputs session key Ks2 to encryption processing unit 1506 ( Step S1018). Then, session key generation unit 1508 generates session key Ks3 for the reproduction session, and outputs session key Ks3 to encryption processing unit 1506 (step S1020). The encryption processing unit 1506 encrypts the session key Ks3 from the session key generation unit 1508 with the session key Ks2 from the decryption processing unit 1504 and outputs {Ks3} Ks2, and the controller 1106 displays the bus BS3 and the memory card interface 1200. And {Ks3} Ks2 is output to the memory card 110 (step S1022).
[0397]
Then, the decryption processing unit 1412 of the memory card 110 inputs {Ks3} Ks2 via the terminal 1426, the interface 1424, and the bus BS4 (step S1024).
[0398]
Referring to FIG. 40, decryption processing unit 1412 decrypts {Ks3} Ks2 using session key Ks2 generated by session key generation unit 1418, and accepts session key Ks3 generated by playback terminal 100 (step). S1026).
[0399]
The controller 1106 of the playback terminal acquires the entry number in which the license is stored from the license management file of the playback request song acquired in advance from the memory card 110, and acquires the entry number acquired in the memory card 110 via the memory card interface 1200. Is output (step S1027).
[0400]
In response to the entry number input, the controller 1420 confirms the access restriction information ACm (step S1028). In step S1028, the access restriction information ACm, which is information related to restrictions on access to the memory, is confirmed by confirming the number of times of reproduction. Specifically, the reproduction operation is performed if reproduction is not possible. When the number of reproductions of the access restriction information is limited, the number of reproductions of the access restriction information ACm is updated (decremented by 1), and the process proceeds to the next step (step S1030). On the other hand, when the number of reproductions is not limited by the number of reproductions of the access restriction information ACm, step S1030 is skipped, and the process proceeds to the next step (step S1032) without updating the access restriction information ACm. .
[0401]
If it is determined in step S1028 that playback is possible in the playback operation, the license key Kc and playback time limit ACp of the playback request song recorded in the license area 1415B of the memory 1415 are output on the bus BS4. (Step S1032).
[0402]
The obtained license key Kc and reproduction time limit ACp are sent to the encryption processing unit 1406 via the contact point Pf of the changeover switch 1446. The encryption processing unit 1406 encrypts the license key Kc received via the changeover switch 1446 and the reproduction time limit ACp using the session key Ks3 received from the decryption processing unit 1412 via the contact Pb of the changeover switch 1442, and {Kc / / ACp} Ks3 is output to bus BS4 (step S1034).
[0403]
The encrypted data output to the bus BS4 is transmitted to the playback terminal 100 via the interface 1424, the terminal 1426, and the memory card interface 1200.
[0404]
In the reproduction terminal 100, the encrypted data {Kc // ACp} Ks3 transmitted to the bus BS3 via the memory card interface 1200 is decrypted by the decryption processing unit 1510, and the license key Kc and the reproduction time limit ACp are received. (Step S1036). Decryption processing unit 1510 transmits license key Kc to decryption processing unit 1516 and outputs reproduction time limit ACp to bus BS3.
[0405]
The controller 1106 receives the reproduction time limit ACp via the bus BS3 and confirms whether reproduction is possible (step S1040).
[0406]
In step S1040, when it is determined that the reproduction is impossible due to the reproduction time limit ACp, the reproduction operation is terminated.
[0407]
If it is determined in step S1040 that playback is possible, the controller 1106 requests encrypted content data {Dc} Kc recorded as a content file in the data area 1415C of the memory card 110 via the memory card interface 1200. Then, the controller 1420 of the memory card 110 acquires the encrypted content data {Dc} Kc from the memory 1415 and outputs it to the memory card interface 1200 via the bus BS4, the interface 1424, and the terminal 1426 (step S1042).
[0408]
The controller 1106 of the playback terminal 100 acquires the encrypted content data {Dc} Kc via the memory card interface 1200, and provides the encrypted content data {Dc} Kc to the decryption processing unit 1516 via the bus BS3.
[0409]
Then, the decryption processing unit 1516 decrypts the encrypted content data {Dc} Kc with the content key Kc output from the decryption processing unit 1510, and acquires content data Data (step S1044).
[0410]
The decrypted content data Dc is output to the music playback unit 1518, the music playback unit 1518 plays back the content data, and the DA converter 1519 converts the digital signal into an analog signal and outputs it to the terminal 1530. Then, the music data is output from the terminal 1530 to the headphones 130 via the external output device and reproduced (step S1046). This completes the reproduction operation.
[0411]
In the above description, the encrypted content data recorded in the memory card 110 is played back by the playback terminal 100. However, the license management is performed by incorporating the content playback device 1550 shown in FIG. The encrypted content data received by the module 511 and the license management device 520 can be reproduced. When the encrypted content data acquired by the license management module 511 is played back by the content playback device 1550, the license management module 511 acquires the binding key Kb stored in the license management device 520 and recorded in the HDD 530. The encrypted confidential file 160 is decrypted with the binding key Kb, the license is read from the plaintext confidential file, and provided to the content reproduction device 1550.
[0412]
In addition, by incorporating a playback unit that functions in accordance with software for playing back encrypted content data in the personal computers 50 and 80, the encrypted content data acquired by the license management module 511 can be played back by software. . Also in this case, the license management module 511 acquires the binding key Kb stored in the license management device 520, decrypts the encrypted confidential file 160 recorded in the HDD 530 with the binding key Kb, and obtains the license from the plaintext confidential file. It is read out and given to the content reproduction device 1550. Compared to playback with hardware confidentiality (level 2) using the content playback device 1550, playback by software is playback with software confidentiality (level 1), and thus processing with a low security level. is there. Therefore, the license held in the license management device 520 cannot be used for reproduction by this software.
[0413]
[Move 2]
An operation of moving the encrypted content data and license acquired by the license management module 511 of the personal computer 50 to the personal computer 80 in the data distribution system shown in FIG. This movement is referred to as [movement 2].
[0414]
FIGS. 41 to 48 are first to eighth flowcharts for explaining the transfer of the encrypted content data and license acquired by the license management module 511 to the personal computer 80. Before the processing in FIG. 41, it is assumed that the user of the personal computer 50 determines the content to be moved according to the content list file and specifies the content file and license management file of the HDD 530 and the memo card 110. To do. The natural number w for identifying the class of the license management module in the receiving personal computer 80 is w = 5, and the natural number y for identifying the license management module is y = 5.
[0415]
Referring to FIG. 41, when a license transfer request acquired by license management module 511 of personal computer 50 is input via keyboard 560 of personal computer 50 (step S800), license management module 511 of personal computer 50 is entered. Performs a binding key acquisition process. A series of processes from step S801 in FIG. 41 to step 815 in FIG. 42 is a binding key acquisition process, which is the same as the series of processes from step S270 in FIG. 20 to step S284 in FIG. Therefore, explanation is omitted.
[0416]
When the binding license is acquired, the license management module 511 of the personal computer 50 acquires the encrypted confidential file 160 from the HDD 530 via the bus BS2, and decrypts the acquired encrypted confidential file 160 with the binding key Kb to obtain a plaintext. A confidential file is acquired (step S816). Thereafter, the license management module 511 of the personal computer 50 performs confidential information n (transaction ID, content ID, license key Kc, access restriction information ACm, reproduction) in the confidential file corresponding to the confidential information number n recorded in the license management file. The time limit ACp and checkout information) are acquired (step S817).
[0417]
Then, the license management module 511 of the personal computer 50 confirms whether or not the encrypted content data can be moved and copied based on the acquired access restriction information ACm (step S518), that is, the license management module 511 Whether or not the license to be transferred to the personal computer 80 is a license that cannot transfer and copy the encrypted content data by the access restriction information ACm based on the number of reproductions of the acquired access restriction information ACm and the movement / duplication flag. Confirm.
[0418]
If it is determined in step S818 that moving and copying of the encrypted content data is prohibited, the process proceeds to step S903, and the moving operation ends. If it is determined in step S818 that moving and copying of the encrypted content data is not prohibited, the process proceeds to step S819. Then, the license management module 511 confirms whether or not checkout is possible based on the acquired checkout information (step S819). If the checkout is impossible in step S819, the checkout is prohibited, so the process proceeds to step S903 and the checkout operation ends. In step S819, if the checkout is possible, the license management device 520 cannot be authenticated in the device confirmation process for performing the device confirmation process to confirm whether a new binding key can be stored in the license management device 520, or If a new binding key cannot be recorded by the prohibited class list CRL, the process is interrupted to maintain the current state. A series of processing from step S821 in FIG. 42 to step 833 in FIG. 43 is device confirmation processing, which is the same as the series of processing from step S16 in FIG. 10 to step S42 in FIG. Therefore, explanation is omitted.
[0419]
When the device confirmation process ends, the license management module 511 of the personal computer 50 transmits an authentication data transmission request to the personal computer 80 via the communication cable 90 (step S834). Then, the license management module of the personal computer 80 receives the authentication data transmission request (step S835).
[0420]
Upon receiving the authentication data transmission request, the license management module of the personal computer 80 transmits the authentication data {KPm5 // Cm5} KPa1 to the personal computer 50 (step S836). The license management module 511 of the personal computer 50 receives the authentication data {KPm5 // Cm5} KPa1 via the terminal 580 and the USB interface 550 (step S837), and levels the received authentication data {KPm5 // Cm5} KPa1. Decryption is performed using one authentication key KPa1 (step S838).
[0421]
Referring to FIG. 44, license management module 511 determines from the decryption processing result whether or not the processing has been normally performed, that is, memory card 110 has class public encryption key KPm5 and class certificate Cm5 from the regular memory card. In order to authenticate that it is held, authentication processing is performed to determine whether or not authentication data subjected to encryption for proving its validity has been received by a legitimate institution (step S839). If it is determined that the authentication data is valid, the license management module 511 approves and accepts the public encryption key KPm3 and the certificate Cm3. Then, the process proceeds to the next process (step S840). If it is not valid authentication data, it is rejected, and the process is terminated without accepting the class public encryption key KPm5 and the class certificate Cm5 (step S903). When it is recognized that the memory card is a legitimate memory card as a result of the authentication, the license management module 511 next inquires the HDD 530 whether the class certificate Cm3 of the memory card 110 is listed in the prohibited class list CRL. If these class certificates are included in the prohibited class list, the moving operation ends here (step S903). On the other hand, if the class certificate of the memory card 110 is not included in the prohibited class list, the process proceeds to the next process (step S840).
[0422]
As a result of authentication, when it is confirmed that the access is from a playback terminal including a memory card having valid authentication data and the class is not included in the prohibited class list, the license management module 511 transfers the session key Ks2d for movement. Is generated (step S841). Then, the license management module 511 encrypts the generated session key Ks2d with the class public encryption key KPm5 received from the personal computer 80, generates encrypted data {Ks2d} Km5 (step S842), and encrypted data {Ks2d} Transaction ID // {Ks2d} Km5 obtained by adding the transaction ID to Km5 is transmitted to personal computer 80 via communication cable 90 (step S843). The license management module of the personal computer 80 receives the transaction ID // {Ks2d} Km5 (step S844). Then, the license management module of the personal computer 80 decrypts {Ks2d} Km5 with the class secret decryption key Km3 and accepts the session key Ks2d (step S845). Then, the license management module of the personal computer 80 generates a session key Ks2e (step S846), and acquires the update date / time CRLdate of the prohibited class list CRL from the HDD (step S847).
[0423]
Then, the license management module of the personal computer 80 encrypts the session key Ks2e, the individual public encryption key KPmc5, and the prohibited class list CRLdate with the session key Ks2d, and generates encrypted data {Ks2e // KPmc5 // CRLdate} Ks2d, The encrypted data {Ks2e // KPmc5 // CRLdate} Ks2d is transmitted to the personal computer 50 via the communication cable 90 (step S848).
[0424]
The license management module 511 of the personal computer 50 receives the encrypted data {Ks2e // KPmc5 // CRLdate} Ks2d via the terminal 580 and the USB interface 550 (step S849), and the received encrypted data {Ks2e // KPmc5 // CRLdate} Ks2d is decrypted with session key Ks2d, and session key Ks2e, individual public encryption key KPmc5, and update date / time CRLdate are received (step S850). Then, the license management module 511 encrypts the transaction ID, the content ID, the license key Kc, the access restriction information ACm, and the reproduction time limit ACp with the individual public encryption key KPmc5 unique to the personal computer 80 and encrypts the data {transaction ID / / Content ID // Kc // ACm // ACp} Kmc5 is generated (step S851).
[0425]
Referring to FIG. 45, the license management module 511 of the personal computer 50 manages the prohibited class managed by the license management module of the personal computer 80 based on the update date / time CRLdate of the prohibited class list transmitted from the license management module of the personal computer 80. It is determined which of the list and the prohibited class list managed by itself is new, and when it is determined that the prohibited class list CRL managed by itself is old, the process proceeds to step S853. Conversely, when it is determined that the prohibited class list CRL managed by itself is newer, the process proceeds to step S856 (step S852).
[0426]
When it is determined that the prohibited class list CRL managed by the license management module 511 is old, the license management module 511 generates encrypted data {transaction ID // content ID // Kc // ACm // ACp} Kmc5 in the license management module 511. The encrypted session key Ks2e is encrypted, and the encrypted data {{transaction ID // content ID // Kc // ACm // ACp} Kmc5} Ks2e is transmitted to the personal computer 80 via the communication cable 90 (step) S853).
[0427]
Then, the license management module of the personal computer 80 receives the encrypted data {{transaction ID // content ID // Kc // ACm // ACp} Kmc5} Ks2e (step S854) and the encrypted data {{transaction ID. // Content ID // Kc // ACm // ACp} Kmc5} Ks2e is decrypted with the session key Ks2e, and {transaction ID // content ID // Kc // ACm // ACp} Kmc5 is received (step S855). . Thereafter, the process proceeds to step S861.
[0428]
On the other hand, if it is determined in step S852 that the prohibited class list CRL managed by itself is new, the license management module 511 of the personal computer 50 acquires the prohibited class list CRL from the HDD 530 (step S856). Then, the license management module 511 receives the prohibited class list CRL and the encrypted data {transaction ID // content ID // Kc // ACm // ACp} Kmc5 and encrypts the encrypted data with the session key Ks2e { CRL // {transaction ID // content ID // Kc // ACm // ACp} Kmc5} Ks2e is transmitted to the personal computer 80 via the communication cable 90 (step S857).
[0429]
The personal computer 80 receives the transmitted encrypted data {CRL // {transaction ID // content ID // Kc // ACm // ACp} Kmc5} Ks2e (step S858), and the license management module receives the session key. The received data is decrypted using Ks2e and accepted as CRL and encrypted data {transaction ID // content ID // Kc // ACm // ACp} Kmc5 (step S859).
[0430]
The license management module of the personal computer 80 rewrites the prohibited class list CRL recorded in the HDD with the received CRL (step S860).
[0431]
In steps S853, S854, and S855, the prohibited class list CRL held by the personal computer 80 on the receiving side is held by the personal computer 50 on the rent side depending on the update date / time CRLdate of the prohibited class list sent from the personal computer 80. When the prohibited class list CRL is newer, the license key Kc is moved to the personal computer 80. Steps S854, S855, S856, S857, and S860 are prohibited class lists held by the personal computer 80 on the receiving side. This is a movement operation of the license key Kc and the like to the personal computer 80 when the prohibited class list CRL held by the personal computer 50 on the transmission side is older.
[0432]
After step S855 or step S860, the license management module of the personal computer 80 decrypts the encrypted data {transaction ID // content ID // Kc // ACm // ACp} Kmc5 using the individual secret decryption key Kmc5 and the license. (License key Kc, transaction ID, content ID, access restriction information ACm, and reproduction time limit ACp) are accepted (step S861). Then, the license management module determines whether or not the number of reproductions is restricted by the received access restriction information ACm. If the number of reproductions is not restricted, the license management module proceeds to step S863, and if the number of reproductions is restricted, step S863. The process proceeds to S864 (step S862). When the number of reproductions is not limited, the license management module generates checkout information including the number of checkouts for renting the encrypted content and license received from the personal computer 50 to another device (step). S863). In this case, the initial value of checkout is set to “3”. When the number of times of reproduction is limited, the license management module sets the number of checkouts available for renting the encrypted content data to another device to “0” and generates checkout information (step S864). ). Thereafter, the process proceeds to step S880 in FIG.
[0433]
After step S853 or step S857, the rewriting operation of the binding license held by the personal computer 50 is performed in parallel with the personal computer 50 moving the license to the personal computer 80. After step S853 or step S857, the license management module 511 of the personal computer 50 determines whether or not the license can be duplicated based on the access restriction information ACm (step 865). If the license can be copied, the process proceeds to step S898 in FIG. 48, and the encrypted content data {Dc} Kc and the additional information Dc-inf are transmitted to the personal computer 80. In step S865, when only the migration is permitted by the migration decoding flag of the license access restriction information ACm, the license management module 511 reads the license management file 152n of the content list file 150 related to the migrated license recorded in the HDD 530, The secret information number n recorded in the management file is changed to no license and the license management file 152n is updated (step S866), and a new binding key Kbb different from the first generated binding key Kb is generated (step S867). ). Then, the license management module 511 deletes the confidential information n in the plaintext confidential file, encrypts the confidential file with the newly generated binding key Kbb, and updates the encrypted confidential file 160 in the HDD 530 (step S868). .
[0434]
Referring to FIG. 46, license management module 511 performs binding key registration processing from step S869 to step S879 in order to store newly generated binding key Kbb in license management device 520. This is the same processing as the series of processing from step S44 in FIG. 11 to step S66 in FIG. 12 in the initialization flowchart, and only the binding key Kb is changed to the new binding key Kbb and the session key Ks2b is changed to the session key Ks2c. It is. Therefore, explanation is omitted.
[0435]
When the registration of the new binding key Kbb is completed, the process proceeds to step S898 in FIG.
[0436]
Referring to FIG. 47, after step S861 or step S862 in FIG. 45, in personal computer 80, the binding key Kb2 is acquired from the built-in license management module, that is, the binding key is acquired. The personal computer 80 is the same as the personal computer 50, and a series of processes from step S878 to step S893 in FIG. 48 is a binding key acquisition process, and step S270 in FIG. 20 to step S284 in FIG. To the acquired binding license (transaction IDb2, content IDb2, binding key Kb2, and control information ACmb2, ACpb2), and the session keys Ks2a and Ks2b are changed to Ks2g and Ks2f, respectively. Only. Therefore, explanation is omitted.
[0437]
When the binding key Kb2 is acquired, the license management module of the personal computer 80 acquires the encrypted confidential file 160 from the HDD 530 via the bus BS2, and decrypts the acquired encrypted confidential file 160 with the binding key Kb2 to obtain a plaintext. A confidential file is acquired (step S895). Thereafter, the license management module converts the license (transaction ID, content ID, license key Kc, access restriction information ACm, reproduction time limit ACp) and checkout information received from the personal computer 50 into a plain text confidential file as new confidential information n2. An additional entry is made (step S896). Then, the license management module encrypts the plaintext confidential file with the binding key Kb2 and updates the encrypted confidential file 160 recorded in the HDD (step S897).
[0438]
Then, when both step S868 and step S897 in FIG. 45 are completed, the license management module 511 of the personal computer 50 stores the content file (encrypted content data {Dc} Kc and additional information Dc-inf) recorded in the HDD 530. The read and encrypted content data {Dc} Kc and additional information Dc-inf are transmitted to the personal computer 80 via the communication cable 90 (step S898).
[0439]
The license management module of the personal computer 80 receives the encrypted content data {Dc} Kc and the additional information Dc-inf, and accepts the encrypted content data {Dc} Kc and the additional information Dc-inf (step S899). . Then, the license management module records the received encrypted content data {Dc} Kc and additional information Dc-inf on the HDD via the bus BS2 as a content file (step S900). Also, the license management module creates a license management file for the content file in which the encrypted content data {Dc} Kc and the additional information Dc-inf including the confidential information number n2, the transaction ID, and the content ID are recorded and stored in the HDD. Recording is performed (step S901). Then, the license management module appends the name of the received content to the content file of the content list file recorded in the HDD (step S902), and the movement operation ends (step S903).
[0440]
As described above, by managing the license of the encrypted content data acquired by the license management module 511 of the personal computer 50 using the binding key Kb, the encrypted content data and the license can be transferred from the personal computer 50 to the personal computer 80. it can.
[0441]
According to the first embodiment, the license management module built in the personal computer manages the license of the encrypted content data acquired by the software using the binding key managed in hardware by the license management device. The encrypted content data and the license can be transmitted to another personal computer by the concept of “move” in the same way as the license of the encrypted content data acquired by.
[0442]
[Embodiment 2]
With reference to FIG. 49, the management method in Embodiment 2 of the license of the encrypted content data acquired by the license management module 511 will be described.
[0443]
The configuration of the content list file 150 is the same as that in the first embodiment. The HDD 530 stores an encrypted confidential file 160, which stores the same transaction IDb, content IDb, and binding key Kb stored in the license management device 520. The encrypted confidential file 160 is uniquely encrypted so that it cannot be taken out from the personal computer 50 depending on the serial number of the CPU of the personal computer 50. Of the license management files 1522,..., 152n, the license management files 1522 and 152n correspond to the license management files corresponding to the licenses acquired by the license management module 511. It includes encrypted confidential information obtained by encrypting confidential information including license and checkout information in the same manner as the encrypted confidential file, and plain text information regarding the license. The binding license is always stored in the entry number “0” of the license management device 520 to be stored.
[0444]
In addition, the license management file corresponding to the license stored in the license management device, the license management files 1521 and 152n correspond to the encrypted confidential information, and the entry number that identifies the entry to be licensed in the license area 1415B of the license management device. Is recorded. The configuration of the other files and license area 1415B is the same as that in FIG.
[0445]
When the license is taken out from the license management file 1522,..., 152n, if the license management file 1522... 152n contains encrypted confidential information, the entry number “0” is transmitted to the license management device 520 and the license is obtained. The binding key Kb is acquired from the management device 520, and it is confirmed that the acquired binding key Kb matches the binding key Kb stored in the encrypted confidential file 160. If they match, the encrypted confidential information is decrypted to obtain the license and checkout information. If they do not match, the license acquisition is prohibited and the processing is stopped. On the other hand, if the entry number is included, the processing is left to the license management device 520. Furthermore, if there is no license, the license does not exist and the processing is stopped. Therefore, in the second embodiment, the binding key Kb stored in the license management device 520 and the binding key Kb stored in the encrypted confidential file 160 are all processed for a license with a low security level (level 1). If they do not match, the license management file 1522,..., 152n is operated so that the license of the encrypted content data cannot be taken out.
[0446]
As a result, also in the second embodiment, the license of the encrypted content data acquired by the license management module 511 can be managed by the binding key Kb, and the personal data is the same as described in the first embodiment. The encrypted content data and license can be transferred from the computer 50 to the personal computer 80.
[0447]
[Initialization]
50 to 52 are first to third flowcharts for explaining initialization of the encrypted confidential file 160 according to the second embodiment. The flowcharts shown in FIGS. 50 to 52 are the same as the flowcharts of FIGS. 10 to 12 except that step S66 of the flowcharts shown in FIGS. 10 to 12 is replaced with step S66a. Therefore, referring to FIG. 52, after step S64, license management module 511 stores transaction IDb, content IDb, and binding key Kb in a plaintext confidential file and performs original encryption on the plaintext confidential file. The encrypted confidential file 160 is created, and the created encrypted confidential file 160 is recorded in the HDD 530 (step S66a). Then, the initialization operation ends (step S68).
[0448]
[Distribution 2]
53 to 56 are first to fourth flowcharts for explaining operations when receiving encrypted content data and a license from the distribution server 10 from the license management module 511 in the second embodiment. The flowchart shown in FIGS. 53 to 56 is obtained by replacing the steps between steps S266, S268 and S288 in the flowcharts shown in FIGS. 17 to 21 with steps S287a to S287a. This is the same as the flowchart shown in FIG. Referring to FIG. 56, after checkout information is generated in steps S266 and S268, license management module 511 receives accepted licenses (transaction ID, content ID, license key Kc, access restriction information ACm, and reproduction time limit ACp). ), Checkout information, and binding information are uniquely encrypted to generate encrypted confidential information (step S286a). Then, the license management module 511 creates a license management file including the generated encrypted confidential information, transaction ID, and content ID, and records it in the HDD 530 (step S287a). Thereafter, the process proceeds to step S288, where the above-described steps are executed, and the encrypted content data and license distribution operation ends.
[0449]
[Ripping]
FIGS. 57 and 58 are first and second flowcharts for explaining the ripping operation in which license management module 511 obtains encrypted content data and a license from a music CD in the second embodiment. The flowcharts shown in FIGS. 57 and 58 are obtained by replacing the steps between steps S708 and S725 in the flowcharts shown in FIGS. 22 to 24 with steps S720a to S724a. To the flowchart shown in FIG. Referring to FIG. 58, after step S708, the license management module 511 converts the received license (transaction ID, content ID, license key Kc, access restriction information ACm, and reproduction time limit ACp), checkout information, and binding information. Encrypted confidential information is generated by performing unique encryption (step S723a). Then, the license management module 511 creates a license management file including the generated encrypted confidential information, transaction ID, and content ID, and records it in the HDD 530 (step S724a). Thereafter, the process proceeds to step S725, where the above-described steps are executed, and the operation of ripping the encrypted content data and license ends.
[0450]
[check out]
59 to 63 illustrate first to first operations for checking out the encrypted content data and license acquired by the license management module 511 to the memory card 110 attached to the playback terminal 100 in the second embodiment. It is a 5th flowchart. The flowcharts shown in FIGS. 59 to 63 are obtained by replacing steps S516 and S517 in the flowcharts shown in FIGS. 30 to 34 with steps S516a, S516b, and S517a and replacing steps S552 and S553 with steps S552a and 553a. Except for this, it is the same as the flowchart shown in FIGS. Referring to FIG. 60, after step S515, the license management module 511 acquires the encrypted confidential file 160 recorded in the HDD 530, and acquires the binding key Kb that is decrypted and stored (step S516a). . Then, the license management module 511 determines whether the binding key Kb acquired from the license management device 520 matches the binding key Kb acquired from the encrypted confidential file 160, and the two binding keys Kb do not match each other. When the process proceeds to step S564, the checkout operation ends. When the two binding keys Kb match each other, the process proceeds to the next step S517a (step S516b).
[0451]
When the binding key Kb acquired from the license management device 520 matches the binding key Kb acquired from the encrypted confidential file 160, the encrypted confidential information is acquired from the license license management file and decrypted (license key Kc, transaction ID, content ID, access restriction information ACm, and reproduction count ACp) are obtained (step 517a). Then, the process proceeds to next step S5118.
Referring to FIG. 63, after step S551, the license management module 511 generates encrypted confidential information by performing original encryption on the confidential information reflecting the updated checkout information (step S552a). The license management file including the confidential information is updated (step S553a). Thereafter, the process proceeds to step S554, where the above-described steps are executed, and the encrypted content data and license check-out operation ends.
[0452]
As described above, the license management module acquires the license of the encrypted content data from the license management file only when the binding key stored in the license management device 520 matches the binding key stored in the encrypted confidential file 160. . Therefore, also in the second embodiment, the license of the encrypted content data is substantially managed by the binding key.
[0453]
[check-in]
FIGS. 64 to 67 show a first operation for checking in the encrypted content data and license checked out by the license management module 511 to the memory card 110 attached to the playback terminal 100 in the second embodiment. FIG. 4 is a fourth flowchart. The flowcharts shown in FIGS. 64 to 67 are obtained by replacing steps S616 and S617 in the flowcharts shown in FIGS. 35 to 38 with steps S616a, 616b, and 617a and replacing steps S643 and S644 with steps S643a and 644a. Except for this, it is the same as the flowchart shown in FIGS.
[0454]
Referring to FIG. 65, after step S615, the license management module 511 acquires the encrypted confidential file 160 recorded in the HDD 530, acquires the binding key Kb stored by decryption (step S616a). . Then, the license management module 511 determines whether the binding key Kb acquired from the license management device 520 matches the binding key Kb acquired from the encrypted confidential file 160, and the two binding keys Kb do not match each other. When the process proceeds to step S653, the check-in operation ends. When the two binding keys Kb match each other, the process proceeds to the next step S618 (step S616b).
[0455]
When the binding key Kb acquired from the license management device 520 matches the binding key Kb acquired from the encrypted confidential file 160, the encrypted confidential information is acquired from the license management file and decrypted (license key Kc, transaction ID). , Content ID, access restriction information ACm, and reproduction count ACp) are obtained (step 617a). Then, the process proceeds to next step S5118.
[0456]
Referring to FIG. 67, after step S642, the license management module 511 generates encrypted confidential information by performing original encryption on the confidential information reflecting the updated checkout information (step S644a). The license management file including the classified information is updated (step S645a). Thereafter, the process proceeds to step S646, where the above-described steps are executed, and the encrypted content data and license check-in operation ends.
[0457]
[Move 2]
68 to 74 are first to seventh flowcharts for explaining the operation of moving the encrypted content data and license received by the license management module 511 from the personal computer 50 to the personal computer 80 in the second embodiment. It is. 68 to 74, steps S800a to S800c are inserted between step S800 and step S801 of the flowcharts shown in FIGS. 39 to 46, and steps between step S815 and step S820 are set to step S816a. , 817a, step S867 is replaced with step S867a and step S867b, and steps between steps S862, S863, and step S897 are replaced with steps S895a to 896a. Otherwise, FIGS. It is the same as the flowchart shown.
[0458]
Referring to FIG. 68, after step S800, license management module 511 decrypts the encrypted confidential information in the license management file and decrypts the confidential information (transaction ID, content ID, license key Kc, access). The restriction information ACm, the reproduction time limit ACp, and the checkout information are acquired (step S800a), and the license management module 511 determines whether the encrypted content data and the license can be transferred and copied based on the ACm acquired in step S800a. When the transfer and copying of the encrypted content data and license are prohibited, the license management module 511 moves to step S903 to end the transfer operation, and the transfer and copy are prohibited. The process proceeds to step S800c when they are not (step S800b).
[0459]
When the encrypted content data and the b license can be transferred and copied, the license management module 511 determines whether or not the checkout is possible based on the checkout information. If not, the license management module 511 proceeds to step S903. The moving operation ends, and when the checkout is possible, the process proceeds to step S801.
[0460]
Referring to FIG. 69, after step S815, license management module 511 obtains encrypted confidential file 160 recorded in HDD 530, and obtains binding key Kb decrypted and stored (step S816a). . Then, the license management module 511 determines whether the binding key Kb acquired from the license management device 520 matches the binding key Kb acquired from the encrypted confidential file 160, and the two binding keys Kb do not match each other. In step S903, the movement operation ends. When the two binding keys Kb match each other, the process proceeds to the next step S820 (step S817a).
[0461]
Referring to FIG. 72, after step S867, license management module 511 rewrites binding key Kb stored in the plain secret file to binding key Kbb (step S868a), and performs encryption with its own encryption. The encrypted confidential file is generated and rewritten with the encrypted confidential file in the HDD 530 (step S868b). Next, the process proceeds to step S869 in FIG.
[0462]
Referring to FIG. 74, after check-out information is generated in steps S862 and S863, license management module 511 accepts the received license (transaction ID, content ID, license key Kc, access restriction information ACm, and reproduction time limit ACp). The encrypted confidential information is generated by applying original encryption to the checkout information (step S895a). Then, the license management module 511 creates a license management file including the generated encrypted confidential information, transaction ID, and content ID, and records it in the HDD 530 (step S896a). Thereafter, the process proceeds to step S897, where the above-described steps are executed, and the encrypted content data and license distribution operation ends.
[0463]
Other parts are the same as those in the first embodiment.
According to the second embodiment, the license management module built in the personal computer manages the license of the encrypted content data acquired by the software using the binding key managed in hardware by the license management device. The encrypted content data and the license can be transmitted to another personal computer by the concept of “move” in the same way as the license of the encrypted content data acquired by.
[0464]
In the first and second embodiments, the license management device 520 can store a binding license and a license by distribution. However, the license management device 520 may be a management device dedicated to a binding license.
[0465]
Further, although an entry number is specified to specify a binding license, it may have a dedicated entry and be distinguished from a high level license.
[0466]
The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is shown not by the above description of the embodiments but by the scope of claims for patent, and is intended to include meanings equivalent to the scope of claims for patent and all modifications within the scope.
[Brief description of the drawings]
FIG. 1 is a schematic diagram conceptually illustrating a data distribution system according to Embodiment 1 of the present invention.
2 is a diagram showing characteristics of data, information, etc. for communication in the data distribution system shown in FIG.
3 is a diagram showing characteristics of data, information, etc. for communication in the data distribution system shown in FIG.
4 is a diagram showing characteristics of data, information, etc. for communication in the data distribution system shown in FIG.
FIG. 5 is a schematic block diagram illustrating a configuration of a distribution server in the data distribution system illustrated in FIG. 1;
6 is a schematic block diagram showing a configuration of a personal computer in the data distribution system shown in FIG.
7 is a schematic block diagram showing a configuration of a playback terminal in the data distribution system shown in FIG.
8 is a schematic block diagram showing a configuration of a memory card in the data distribution system shown in FIG.
9 is a schematic block diagram showing the configuration of a license management device built in the personal computer shown in FIG.
10 is a first flowchart for explaining initialization of a confidential file in the personal computer shown in FIG. 1; FIG.
11 is a second flowchart for explaining initialization of a confidential file in the personal computer shown in FIG. 1; FIG.
FIG. 12 is a third flowchart for explaining initialization of a confidential file in the personal computer shown in FIG. 1;
FIG. 13 is a first flowchart for explaining a distribution operation with a high security level in the data distribution system shown in FIG. 1;
14 is a second flowchart for explaining a distribution operation with a high security level in the data distribution system shown in FIG. 1; FIG.
FIG. 15 is a third flowchart for explaining a distribution operation with a high security level in the data distribution system shown in FIG. 1;
FIG. 16 is a fourth flowchart for explaining a distribution operation with a high security level in the data distribution system shown in FIG. 1;
17 is a first flowchart for explaining a distribution operation with a low security level in the data distribution system shown in FIG. 1; FIG.
FIG. 18 is a second flowchart for explaining a distribution operation with a low security level in the data distribution system shown in FIG. 1;
FIG. 19 is a third flowchart for explaining a distribution operation with a low security level in the data distribution system shown in FIG. 1;
20 is a fourth flowchart for explaining a distribution operation with a low security level in the data distribution system shown in FIG. 1; FIG.
FIG. 21 is a fifth flowchart for explaining a distribution operation with a low security level in the data distribution system shown in FIG. 1;
FIG. 22 is a first flowchart for explaining a ripping operation in the data distribution system shown in FIG. 1;
FIG. 23 is a second flowchart for explaining the ripping operation in the data distribution system shown in FIG. 1;
24 is a third flowchart for explaining the ripping operation in the data distribution system shown in FIG. 1; FIG.
FIG. 25 is a diagram showing a configuration of a content list file in a hard disk of a personal computer.
FIG. 26 is a first flowchart for explaining the operation of transferring the license for encrypted content data in the data distribution system shown in FIG. 1;
FIG. 27 is a second flowchart for explaining the operation of transferring the license for the encrypted content data in the data distribution system shown in FIG. 1;
FIG. 28 is a third flowchart for explaining the operation of transferring the license of the encrypted content data in the data distribution system shown in FIG.
FIG. 29 is a fourth flowchart for explaining the operation of transferring the license for the encrypted content data in the data distribution system shown in FIG. 1;
30 is a first flowchart for explaining a license checkout operation for encrypted content data in the data distribution system shown in FIG. 1; FIG.
FIG. 31 is a second flowchart for explaining the license checkout operation of the encrypted content data in the data distribution system shown in FIG. 1;
32 is a third flowchart for explaining the license checkout operation of the encrypted content data in the data distribution system shown in FIG. 1. FIG.
FIG. 33 is a fourth flowchart for explaining the license checkout operation of the encrypted content data in the data distribution system shown in FIG. 1;
FIG. 34 is a fifth flowchart for explaining the license checkout operation for the encrypted content data in the data distribution system shown in FIG. 1;
35 is a first flowchart for explaining a license check-in operation for encrypted content data in the data distribution system shown in FIG. 1; FIG.
FIG. 36 is a second flowchart for explaining the license check-in operation for encrypted content data in the data distribution system shown in FIG. 1;
FIG. 37 is a third flowchart for explaining the license check-in operation of the encrypted content data in the data distribution system shown in FIG. 1;
FIG. 38 is a fourth flowchart for explaining the license check-in operation of the encrypted content data in the data distribution system shown in FIG. 1;
FIG. 39 is a first flowchart for explaining a reproduction operation in the reproduction terminal.
FIG. 40 is a second flowchart for explaining the reproduction operation in the reproduction terminal.
41 is a first flowchart for explaining movement of encrypted content data and a license between personal computers in the data distribution system shown in FIG. 1. FIG.
42 is a second flowchart for explaining the transfer of encrypted content data and a license between personal computers in the data distribution system shown in FIG. 1. FIG.
43 is a third flowchart for explaining the transfer of encrypted content data and a license between personal computers in the data distribution system shown in FIG. 1. FIG.
44 is a fourth flowchart for explaining transfer of encrypted content data and a license between personal computers in the data distribution system shown in FIG. 1; FIG.
45 is a fifth flowchart for explaining transfer of encrypted content data and a license between personal computers in the data distribution system shown in FIG. 1; FIG.
46 is a sixth flowchart for explaining the transfer of encrypted content data and a license between personal computers in the data distribution system shown in FIG. 1; FIG.
47 is a seventh flowchart for explaining the transfer of encrypted content data and a license between personal computers in the data distribution system shown in FIG. 1; FIG.
48 is an eighth flowchart for explaining the transfer of encrypted content data and a license between personal computers in the data distribution system shown in FIG. 1. FIG.
FIG. 49 is a diagram showing another configuration of the content list file in the hard disk of the personal computer.
FIG. 50 is a first flowchart for explaining another operation for initializing the confidential file in the personal computer shown in FIG. 1;
51 is a second flowchart for explaining another operation for initializing the confidential file in the personal computer shown in FIG. 1. FIG.
FIG. 52 is a third flowchart for explaining another operation for initializing the confidential file in the personal computer shown in FIG. 1;
53 is a first flowchart for explaining another distribution operation with a low security level in the data distribution system shown in FIG. 1; FIG.
54 is a second flowchart for explaining another distribution operation with a low security level in the data distribution system shown in FIG. 1. FIG.
55 is a third flowchart for explaining another distribution operation with a low security level in the data distribution system shown in FIG. 1. FIG.
56 is a fourth flowchart for explaining another distribution operation with a low security level in the data distribution system shown in FIG. 1; FIG.
FIG. 57 is a first flowchart for explaining another operation of ripping in the data distribution system shown in FIG. 1;
FIG. 58 is a second flowchart for explaining another operation of ripping in the data distribution system shown in FIG. 1;
59 is a first flowchart for explaining another operation for checking out the license of the encrypted content data in the data distribution system shown in FIG. 1; FIG.
60 is a second flowchart for explaining another operation for checking out the license of the encrypted content data in the data distribution system shown in FIG. 1. FIG.
61 is a third flowchart for explaining another operation for checking out the license of the encrypted content data in the data distribution system shown in FIG. 1. FIG.
FIG. 62 is a fourth flowchart for explaining another operation for checking out the license of the encrypted content data in the data distribution system shown in FIG. 1;
FIG. 63 is a fifth flowchart for explaining another operation for checking out the license of the encrypted content data in the data distribution system shown in FIG. 1;
FIG. 64 is a first flowchart for explaining another operation of the license check-in of the encrypted content data in the data distribution system shown in FIG. 1;
65 is a second flowchart for explaining another operation of the license check-in of the encrypted content data in the data distribution system shown in FIG. 1. FIG.
66 is a third flowchart for explaining another operation of the license check-in of the encrypted content data in the data distribution system shown in FIG. 1. FIG.
67 is a fourth flowchart for explaining another operation of the license check-in of the encrypted content data in the data distribution system shown in FIG. 1. FIG.
68 is a first flowchart for explaining another movement of encrypted content data and a license between personal computers in the data distribution system shown in FIG. 1; FIG.
FIG. 69 is a second flowchart for explaining another movement operation between the encrypted content data and the license personal computer in the data distribution system shown in FIG. 1;
70 is a third flowchart for explaining another movement operation between the encrypted content data and the license personal computer in the data distribution system shown in FIG. 1; FIG.
71 is a fourth flowchart for explaining another transfer operation between the encrypted content data and the license personal computer in the data distribution system shown in FIG. 1; FIG.
72 is a fifth flowchart for explaining another transfer operation between the encrypted content data and the license personal computer in the data distribution system shown in FIG. 1; FIG.
73 is a sixth flowchart for explaining another movement operation between the encrypted content data and the license personal computer in the data distribution system shown in FIG. 1; FIG.
74 is a seventh flowchart for explaining another movement operation between the encrypted content data and the license personal computer in the data distribution system shown in FIG. 1; FIG.
[Explanation of symbols]
10 Distribution server, 20 Distribution carrier, 30 Internet network, 40 Modem, 50, 80 Personal computer, 60 CD, 70 USB cable, 90 Communication cable, 100 Playback terminal, 110 Memory card, 130 Headphone, 150 Content list file, 160 Encrypted confidential file, 302 charging database, 304 information database, 306 CRL database, 307 menu database, 308 distribution record database, 310 data processing unit, 312, 320, 1404, 1408, 1412, 1422, 1504, 1510, 1516, 5204 , 5208, 5212, 5222 Decryption processing unit, 313 Authentication key holding unit, 315 Distribution control unit, 316, Session key generation unit, 318, 326, 328, 1406 1410, 1417, 1506, 5206, 5210, 5217, 5405 Encryption processing unit, 350 communication device, 510, 1106, 1420, 5220 controller, 511 license management module, 520 license management device, 530 hard disk, 540 CD-ROM drive, 550 , 1112 USB interface, 560 keyboard, 570 display, 580, 1114, 1426, 1530, 5226 terminal, 1108 operation panel, 1110 display panel, 1200 memory card interface, 1400, 1500, 5200 authentication data holding unit, 1402, 5202 Kmc holding Part, 1414, 5214 KPa holding part, 1415, 5215 memory, 1415A, 5215A CRL region, 1415B, 5215 License area, 1415C data area, 1416, 5216 KPmc holding section, 1418, 5218 session key generating section, 1421, 5221 Km holding section, 1424, 5224 interface, 1442, 1446 changeover switch, 1502 Kp1 holding section, 1518 music playback section, 1519 DA converter, 1521-152n license management file, 1531-153n content file, 1550 content playback device.

Claims (17)

コンテンツデータを暗号化した暗号化コンテンツデータおよび前記暗号化コンテンツデータを復号して元の平文を得るためのライセンスを取得し、前記暗号化コンテンツデータおよび前記ライセンスを他のデータ端末装置へ出力するデータ端末装置であって、
前記暗号化コンテンツデータおよび前記ライセンスをソフトウエアによって取得するモジュール部と、
前記暗号化コンテンツデータと、ライセンス管理ファイルと、暗号化機密ファイルとを記憶する記憶部と、
前記暗号化機密ファイルを復号し、かつ、その復号した機密ファイルを暗号化するバインディング鍵を含むバインディングライセンスを専用領域に格納するデバイス部とを備え、
前記機密ファイルは、前記ライセンスを構成要素とする機密情報を含み、
前記ライセンス管理ファイルは、前記暗号化コンテンツデータに対応し、かつ、前記機密ファイルに含まれる前記機密情報の管理番号を含み、
前記暗号化機密ファイルの初期化時、
前記モジュール部は、前記バインディング鍵を含めて前記バインディングライセンスを生成し、機密情報が空な機密ファイルを生成し、その生成した機密ファイルを前記生成したバインディング鍵によって暗号化して前記暗号化機密ファイルを生成するとともに、前記生成したバインディングライセンスを前記デバイス部に与え、
前記ライセンスの取得時、
前記モジュール部は、前記記憶部から読出した前記暗号化機密ファイルを前記デバイス部から取得した前記バインディング鍵によって復号し、その復号した機密ファイルに前記取得したライセンスを機密情報として書込んで前記機密ファイルを更新し、その更新した機密ファイルを前記バインディング鍵によって暗号化し、その暗号化した暗号化機密ファイルを前記記憶部に更新記録し、前記書込んだライセンスを構成要素とする機密情報の管理番号を含むライセンス管理ファイルを作成して前記記憶部に書込む、データ端末装置。
Encrypted content data obtained by encrypting content data and data for obtaining the original plaintext by decrypting the encrypted content data and outputting the encrypted content data and the license to another data terminal device A terminal device,
A module unit for acquiring the encrypted content data and the license by software;
A storage unit for storing the encrypted content data, the license management file, and the encrypted confidential file;
A device unit for decrypting the encrypted confidential file and storing a binding license including a binding key for encrypting the decrypted confidential file in a dedicated area;
The confidential file includes confidential information including the license as a component,
The license management file, in correspondence with the encrypted content data, and, viewed contains a management number of the confidential information contained in the confidential file,
When initializing the encrypted confidential file,
The module unit generates the binding license including the binding key, generates a confidential file with empty confidential information, encrypts the generated confidential file with the generated binding key, and generates the encrypted confidential file. And generating the generated binding license to the device unit,
When obtaining the license,
The module unit decrypts the encrypted confidential file read from the storage unit with the binding key acquired from the device unit, and writes the acquired license as confidential information in the decrypted confidential file. Update the secret file, encrypt the updated secret file with the binding key, update and record the encrypted encrypted secret file in the storage unit, and set the management number of the secret information including the written license as a constituent element. A data terminal device that creates a license management file including the file and writes the file to the storage unit .
前記ライセンスの送信時、
前記モジュール部は、前記デバイス部から取得した前記バインディング鍵によって前記記憶部から読出した前記暗号化機密ファイルを復号してライセンスを取得し、その取得したライセンスを外部へ出力する、請求項1に記載のデータ端末装置。
When sending the license,
2. The module unit according to claim 1, wherein the module unit acquires a license by decrypting the encrypted confidential file read from the storage unit with the binding key acquired from the device unit, and outputs the acquired license to the outside. Data terminal equipment.
前記ライセンスの出力時、
前記モジュール部は、前記ライセンスに対応し、かつ前記記憶部に記録された前記暗号化コンテンツデータと前記ライセンスとを外部へ出力する、請求項2に記載のデータ端末装置。
When the output of the license,
The data terminal device according to claim 2 , wherein the module unit outputs the encrypted content data and the license corresponding to the license and recorded in the storage unit to the outside .
前記デバイス部は、前記専用領域を指定する専用登録番号を前記モジュール部から受取り、その受取った専用登録番号によって前記バインディングライセンスを前記専用領域に格納する、請求項1に記載のデータ端末装置。The data terminal device according to claim 1, wherein the device unit receives a dedicated registration number designating the dedicated area from the module unit, and stores the binding license in the dedicated area based on the received dedicated registration number . 前記ライセンスの出力時、
前記モジュール部は、前記専用登録番号を前記デバイス部へ送信することによって前記バインディング鍵を取得する、請求項4に記載のデータ端末装置。
When outputting the license,
The data terminal apparatus according to claim 4, wherein the module unit acquires the binding key by transmitting the dedicated registration number to the device unit .
前記ライセンスの出力時、
前記モジュール部は、前記デバイス部に対する認証データを前記デバイス部へ送信し、前記デバイス部において前記認証データが認証された場合、前記バインディング鍵を取得する、請求項1から請求項5のいずれか1項に記載のデータ端末装置。
When outputting the license,
The module unit transmits authentication data for the device unit to the device unit, and acquires the binding key when the authentication data is authenticated in the device unit. A data terminal device according to the item .
前記ライセンスの出力時、
前記デバイス部は、前記バインディング鍵を暗号化して出力する、請求項1から請求項6のいずれか1項に記載のデータ端末装置。
When outputting the license,
The data terminal apparatus according to claim 1, wherein the device unit encrypts and outputs the binding key .
前記ライセンスの出力時、
前記モジュール部は、前記取得したバインディング鍵によって前記暗号化機密ファイルを復号して機密ファイルを取得し、かつ、前記記憶部から読出したライセンス管理ファイルに含まれる機密情報の管理番号に一致する機密情報を前記取得した機密ファイルから読出すことによって外部へ出力するライセンスを取得する、請求項2に記載のデータ端末装置。
When outputting the license,
The module unit acquires the confidential file by decrypting the encrypted confidential file with the acquired binding key, and the confidential information that matches the management number of the confidential information included in the license management file read from the storage unit The data terminal device according to claim 2, wherein a license to be output to the outside is obtained by reading out from the obtained confidential file .
前記ライセンスの他のデータ端末装置への送信時、
前記モジュール部は、さらに、前記デバイス部において保持された公開暗号鍵を受取ることによって前記デバイス部はバインディングライセンスの書込みが可能であることを確認する、請求項1から請求項7のいずれか1項に記載のデータ端末装置。
When sending the license to another data terminal device,
The module unit further confirms that the device unit can write a binding license by receiving the public encryption key held in the device unit. The data terminal device described in 1.
前記暗号化コンテンツデータの他のデータ端末装置への移動時、
前記モジュール部は、前記ライセンスの複製ができないとき、前記他のデータ端末装置へ送信したライセンスを構成要素とする機密情報を削除し、その削除した機密情報の管理番号を削除してライセンス管理ファイルを更新し、もう1つのバインディング鍵を生成し、その生成したもう1つのバンディング鍵によって機密ファイルを暗号化して前記暗号化機密ファイルを更新する、請求項8に記載のデータ端末装置。
When moving the encrypted content data to another data terminal device,
When the license cannot be copied, the module unit deletes the confidential information having the license transmitted to the other data terminal device as a component, deletes the management number of the deleted confidential information, and deletes the license management file. 9. The data terminal device according to claim 8 , wherein the data terminal device updates, generates another binding key, encrypts the confidential file with the generated another banding key, and updates the encrypted confidential file .
前記暗号化コンテンツデータの他のデータ端末装置への移動時、
前記デバイス部は、前記もう1つのバインディング鍵を含むもう1つのバインディングライセンスを前記モジュール部から受け取り、その受取ったもう1つのバインディングライセンスを前記専用領域に上書きして格納する、請求項10に記載のデータ端末装置。
When moving the encrypted content data to another data terminal device,
The device unit according to claim 10, wherein the device unit receives another binding license including the another binding key from the module unit, and stores the received another binding license by overwriting the dedicated area . Data terminal device.
前記ライセンスの他のデータ端末装置への送信時、
前記モジュール部は、前記他のデータ端末装置から受信した認証データを認証すると、ライセンスを他のデータ端末装置へ送信する、請求項1から請求項10のいずれか1項に記載のデータ端末装置。
When sending the license to another data terminal device,
11. The data terminal device according to claim 1 , wherein when the authentication data received from the other data terminal device is authenticated , the module unit transmits a license to the other data terminal device.
前記モジュール部は、前記ライセンスを暗号化した上で出力する、請求項12に記載のデータ端末装置。The data terminal device according to claim 12 , wherein the module unit outputs the license after encrypting the license . 前記モジュール部は、配信サーバからインターネットによって前記暗号化コンテンツデータおよび前記ライセンスを取得する、請求項1から請求項13のいずれか1項に記載のデータ端末装置。14. The data terminal device according to claim 1, wherein the module unit acquires the encrypted content data and the license from a distribution server via the Internet . 記録媒体から平文のコンテンツデータを読出す媒体駆動部をさらに備え、
前記モジュール部は、前記媒体駆動部が読出したコンテンツデータに含まれる複製可否情報に基づいてライセンスを生成し、その生成したライセンスに含まれるライセンス鍵によって前記コンテンツデータを暗号化して暗号化コンテンツデータを生成することによって前記暗号化コンテンツデータおよび前記ライセンスを取得する、請求項1から請求項13のいずれか1項に記載のデータ端末装置。
A medium driving unit for reading plaintext content data from the recording medium;
The module unit generates a license based on duplication permission / inhibition information included in the content data read by the medium driving unit, encrypts the content data with a license key included in the generated license, and generates encrypted content data. The data terminal device according to any one of claims 1 to 13, wherein the encrypted content data and the license are acquired by generation .
前記デバイス部は、さらに、配信サーバから前記暗号化コンテンツデータおよびライセンスを受信し、その受信したライセンスを保持し、
前記記憶部は、前記デバイス部によって受信された暗号化コンテンツデータを記憶する、請求項1から請求項13のいずれか1項に記載のデータ端末装置。
The device unit further receives the encrypted content data and the license from the distribution server, holds the received license,
The data storage device according to any one of claims 1 to 13, wherein the storage unit stores encrypted content data received by the device unit.
コンテンツデータを暗号化した暗号化コンテンツデータおよび前記暗号化コンテンツデータを復号して元の平文を得るためのライセンスを取得し、前記暗号化コンテンツデータおよび前記ライセンスを他のデータ端末装置へ出力するデータ端末装置の制御方法であって、
前記暗号化コンテンツデータおよび前記ライセンスをソフトウエアによって取得するステップと、
前記暗号化コンテンツデータと、ライセンス管理ファイルと、暗号化機密ファイルとを記憶部に記憶するステップと、
前記暗号化機密ファイルを復号し、かつ、その復号した機密ファイルを暗号化するバインディング鍵を含むバインディングライセンスを専用領域に格納するステップとを備え、
前記機密ファイルは、前記ライセンスを構成要素とする機密情報を含み、
前記ライセンス管理ファイルは、前記暗号化コンテンツデータに対応し、かつ、前記機密ファイルに含まれる前記機密情報の管理番号を含み、
前記暗号化機密ファイルの初期化時、前記バインディング鍵を含めて前記バインディングライセンスを生成し、機密情報が空な機密ファイルを生成し、その生成した機密ファイルを前記生成したバインディング鍵によって暗号化して前記暗号化機密ファイルを生成するステップと、
前記ライセンスの取得時、記憶されている前記暗号化機密ファイルを前記生成したバインディング鍵によって復号し、その復号した機密ファイルに前記取得したライセンスを機密情報として書込んで前記機密ファイルを更新し、その更新した機密ファイルを前記バインディング鍵によって暗号化し、その暗号化した暗号化機密ファイルを前記記憶部に更新記録し、前記書込んだライセンスを構成要素とする機密情報の管理番号を含むライセンス管理ファイルを作成して前記記憶部に書込むステップとをさらに備える、データ端末装置の制御方法
Encrypted content data obtained by encrypting content data and data for obtaining the original plaintext by decrypting the encrypted content data and outputting the encrypted content data and the license to another data terminal device A terminal device control method,
Obtaining the encrypted content data and the license by software;
Storing the encrypted content data, the license management file, and the encrypted confidential file in a storage unit;
Decrypting the encrypted confidential file and storing a binding license including a binding key for encrypting the decrypted confidential file in a dedicated area,
The confidential file includes confidential information including the license as a component,
The license management file corresponds to the encrypted content data and includes a management number of the confidential information included in the confidential file;
When the encrypted confidential file is initialized, the binding license including the binding key is generated, a confidential file with empty confidential information is generated, and the generated confidential file is encrypted with the generated binding key. Generating an encrypted sensitive file;
When the license is acquired, the stored encrypted confidential file is decrypted with the generated binding key, the acquired license is written as confidential information in the decrypted confidential file, and the confidential file is updated. A license management file including a management number of confidential information having the written license as a constituent element, wherein the updated confidential file is encrypted with the binding key, the encrypted encrypted confidential file is updated and recorded in the storage unit, and The method for controlling the data terminal device further comprising: creating and writing to the storage unit .
JP2000362913A 2000-11-28 2000-11-29 Data terminal device and control method of data terminal device Expired - Fee Related JP4601153B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2000362913A JP4601153B2 (en) 2000-11-29 2000-11-29 Data terminal device and control method of data terminal device
AU2002224119A AU2002224119A1 (en) 2000-11-28 2001-11-27 Data terminal for managing ciphered content data and license acquired by software
GB0313062A GB2385177B (en) 2000-11-28 2001-11-27 Data terminal device for administering licence used for decrypting and utilizing encrypted content data
PCT/JP2001/010344 WO2002044970A1 (en) 2000-11-28 2001-11-27 Data terminal for managing ciphered content data and license acquired by software
US10/416,538 US20050120232A1 (en) 2000-11-28 2001-11-27 Data terminal managing ciphered content data and license acquired by software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000362913A JP4601153B2 (en) 2000-11-29 2000-11-29 Data terminal device and control method of data terminal device

Publications (2)

Publication Number Publication Date
JP2002164881A JP2002164881A (en) 2002-06-07
JP4601153B2 true JP4601153B2 (en) 2010-12-22

Family

ID=18834110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000362913A Expired - Fee Related JP4601153B2 (en) 2000-11-28 2000-11-29 Data terminal device and control method of data terminal device

Country Status (1)

Country Link
JP (1) JP4601153B2 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4323745B2 (en) 2002-01-15 2009-09-02 三洋電機株式会社 Storage device
JP4387087B2 (en) 2002-07-25 2009-12-16 三洋電機株式会社 Data storage device
US7814168B2 (en) 2002-10-30 2010-10-12 Panasonic Corporation Unit-to-unit data exchange system, and unit, exchange completion data keeping device and program for use in the same
JP4434573B2 (en) 2002-11-29 2010-03-17 株式会社東芝 License transfer device and program
US7506377B2 (en) 2003-06-11 2009-03-17 Hewlett-Packard Development Company, L.P. Method and apparatus for playing content
JP4478871B2 (en) 2004-05-19 2010-06-09 ソニー株式会社 Content data reproducing device, content data providing device, content data reproducing method, content data providing method, content data reproducing program, and content data providing program
JP4746547B2 (en) * 2004-07-20 2011-08-10 パナソニック株式会社 Content management system and content management apparatus
JP4802539B2 (en) * 2005-04-11 2011-10-26 ソニー株式会社 COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND COMMUNICATION METHOD
JP4545050B2 (en) * 2005-06-15 2010-09-15 シャープ株式会社 Image transmission system and image transmission apparatus
JP4765574B2 (en) * 2005-11-18 2011-09-07 ブラザー工業株式会社 Content distribution system, content receiving apparatus and program thereof
CN110135200A (en) * 2019-05-15 2019-08-16 长春鸿达光电子与生物统计识别技术有限公司 The encrypting module of integrated SM4 algorithm and both-end port communications

Also Published As

Publication number Publication date
JP2002164881A (en) 2002-06-07

Similar Documents

Publication Publication Date Title
CN100378711C (en) Data terminal device and content data management method
JP4743984B2 (en) Data recording device
JP4409081B2 (en) Data terminal equipment
JP3677001B2 (en) Data distribution system and recording device used therefor
JP3930321B2 (en) Data distribution system and recording device used therefor
JP3781678B2 (en) Data distribution system and recording medium used therefor
KR100682290B1 (en) Content management systems, devices, methods, and program storage media
JP2002271316A (en) Reproducing equipment
EP1221690A1 (en) Data distribution system
WO2002075550A1 (en) Data recorder restoring original data allowed to exist only uniquely
JP2002101192A (en) Shell type data terminal device
JP4601153B2 (en) Data terminal device and control method of data terminal device
JP3776352B2 (en) Recording device
JP4593764B2 (en) Data terminal equipment
JP4737857B2 (en) Data terminal equipment
JP4553472B2 (en) Data terminal equipment
JP3782356B2 (en) Recording apparatus and data distribution system using the same
JP3631186B2 (en) Data reproducing apparatus and data recording apparatus
JP2002094500A (en) Data terminal device
JP4554801B2 (en) Data terminal equipment
JP2002009763A (en) Data reproduction device, terminal using it, and reproduction method
JP4540202B2 (en) Data reproduction apparatus and data terminal apparatus
JP3967491B2 (en) Recording device
JP2003101521A (en) License management apparatus and data terminal device using the same
JP4535571B2 (en) Data reproducing apparatus, terminal apparatus using the same, and reproducing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100406

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100528

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100907

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100928

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees