JP2006060793A - Method for transmission of content usage information, content usage information providing apparatus capable of utilizing the method, and apparatus for receiving content usage information - Google Patents

Method for transmission of content usage information, content usage information providing apparatus capable of utilizing the method, and apparatus for receiving content usage information Download PDF

Info

Publication number
JP2006060793A
JP2006060793A JP2005210645A JP2005210645A JP2006060793A JP 2006060793 A JP2006060793 A JP 2006060793A JP 2005210645 A JP2005210645 A JP 2005210645A JP 2005210645 A JP2005210645 A JP 2005210645A JP 2006060793 A JP2006060793 A JP 2006060793A
Authority
JP
Japan
Prior art keywords
key
content
usage information
data
symmetric 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.)
Granted
Application number
JP2005210645A
Other languages
Japanese (ja)
Other versions
JP2006060793A5 (en
JP4663437B2 (en
Inventor
Yoshihiro Hori
吉宏 堀
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2005210645A priority Critical patent/JP4663437B2/en
Publication of JP2006060793A publication Critical patent/JP2006060793A/en
Publication of JP2006060793A5 publication Critical patent/JP2006060793A5/ja
Application granted granted Critical
Publication of JP4663437B2 publication Critical patent/JP4663437B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To improve processing efficiency, when encrypting and inputting/outputting data that should be confidential between a recording apparatus and a host device. <P>SOLUTION: Upon a license-data transmitter verifying a certificate C[KPdx] (the license-data receiver and the license-data transmitter are to be referred to as "x" and "y", respectively), the license-data transmitter transmits challenge information EP(KPdx, Kcy) to the license-data receiver. In response to the challenge information, the license-data receiver transmits session information Es(Kcy, Ksx/KPpy) to the license-data transmitter. The license-data transmitter provides encrypted license data Es(Ksx, Ep(KPpx, LIC)) in a form encrypted by using these two keys Ksx and KPpx thus received. With this cryptosystem according to the present invention employing EC-DH as the public key cryptosystem, the transmitter provides second or subsequent license data, without the transmission of the challenge information or updating of the shared key in the EC-DH. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、データ入出力技術に関し、とくに、記憶装置とホスト装置との間で秘匿すべきデータを暗号化して入出力する技術に関する。   The present invention relates to a data input / output technology, and more particularly to a technology for encrypting and inputting data that should be kept secret between a storage device and a host device.

ライセンスデータの秘匿性を高めたコンテンツデータ配信システムとして、例えば、特許文献1では、ライセンスデータを非暗号化の状態で扱う装置を、サーバ装置、メモリカード(ストレージデバイス)、デコーダ(利用装置)の3つの装置に分類し、装置間(サーバ装置とストレージデバイス、ストレージデバイスと利用装置)のライセンスデータの送受信は、ライセンスデータの送受信を行う2つの装置間に暗号化通信路を構築し、その暗号化通信路を介して行い、かつ、サーバ装置、ストレージデバイス、および利用装置は、暗号化されたライセンスデータを扱えるTRM(Tamper-Resistant-Module)とを備える。   For example, in Patent Document 1, a device that handles license data in an unencrypted state is a server device, a memory card (storage device), or a decoder (use device) as a content data distribution system that increases the confidentiality of license data. It is classified into three devices, and license data transmission / reception between the devices (server device and storage device, storage device and using device) is performed by constructing an encrypted communication path between the two devices that transmit and receive license data. The server device, the storage device, and the using device are provided with a TRM (Tamper-Resistant-Module) that can handle encrypted license data.

暗号化通信路の構築では、最初にライセンスデータを享受する装置(ライセンス享受装置と呼ぶ)が公開鍵を含んだ証明書を、ライセンスデータを提供する装置(ライセンス提供装置と呼ぶ)に送信する。そして、ライセンス提供装置がこの証明書を検証して、検証の結果、ライセンス享受装置からの証明書が、正規の証明書であり、かつ、証明書破棄リストによって無効とされていない場合に、この証明書に含まれる公開鍵を利用して、装置間で鍵交換を行う。そして、ライセンス提供装置は、前記鍵交換においてライセンス享受装置から送られた鍵で暗号化したライセンスデータを、ライセンス享受装置に送信する。   In constructing an encrypted communication path, a device that receives license data (referred to as a license receiving device) first transmits a certificate including a public key to a device that provides license data (referred to as a license providing device). Then, the license providing device verifies this certificate. As a result of the verification, if the certificate from the license receiving device is a regular certificate and is not invalidated by the certificate revocation list, Key exchange is performed between devices using the public key included in the certificate. The license providing apparatus transmits license data encrypted with the key transmitted from the license receiving apparatus in the key exchange to the license receiving apparatus.

TRMは、物理的に秘匿性が保護された回路モジュールであって、暗号化通信路を介する以外の他の装置との間でのライセンスデータのやり取りが制限されるよう構成されている。   The TRM is a circuit module in which confidentiality is physically protected, and is configured to restrict exchange of license data with other devices other than via an encrypted communication path.

なお、ライセンスデータ取得時には、メモリカードはサーバ装置と通信可能な端末装置に装着され、端末装置を介してサーバ装置からライセンスデータを受信する。また、コンテンツ利用時には、メモリカードはデコーダを内蔵した端末装置に装着され、端末装置を介してデコーダへライセンスデータを送信する。   When acquiring license data, the memory card is mounted on a terminal device that can communicate with the server device, and receives license data from the server device via the terminal device. Further, when using the content, the memory card is attached to a terminal device incorporating a decoder, and transmits license data to the decoder via the terminal device.

以上のように、コンテンツ配信サービスにおいては、コンテンツデータの暗号化と、ライセンスデータの秘匿によって、コンテンツに係る著作権保護の徹底が図られている。そして、このようにコンテンツ著作権の保護の徹底を図ることにより、配信対象のコンテンツを安心してラインアップに加えることができ、その結果として、配信サービスを受けるユーザのニーズを、より広範に満たし得るようになる。
特開2004−133654号公報
As described above, in content distribution services, copyright protection related to content is thoroughly implemented by encrypting content data and concealing license data. By thoroughly protecting the content copyright in this way, the content to be distributed can be added to the line-up with peace of mind, and as a result, the needs of users who receive the distribution service can be satisfied more widely. It becomes like this.
JP 2004-133654 A

高精細テレビに対応した映像コンテンツが台頭しつつある。ここでは、高精細テレビ画質の映像コンテンツをHDコンテンツと呼び、従来のテレビ画質の映像コンテンツをSDコンテンツと呼ぶ。   Video content compatible with high-definition television is emerging. Here, high-definition TV image quality video content is called HD content, and conventional TV image quality video content is called SD content.

HDコンテンツは、単位時間当たりのデータ量がSDコンテンツに比べて多い。たとえば、デジタル放送で利用されるMPEG2方式では、SDコンテンツの単位時間当たりのデータ量に対してHDコンテンツの単位時間当たりのデータ量は、約3倍である。したがって、HDコンテンツを記録するストレージデバイスに対しては、更なる高速アクセスが要求されている。   HD content has a larger amount of data per unit time than SD content. For example, in the MPEG2 system used in digital broadcasting, the data amount per unit time of HD content is about three times the data amount per unit time of SD content. Therefore, further high-speed access is required for storage devices that record HD content.

一方、このようなHDコンテンツに対して従来システムの著作権保護機能を利用することを検討する。従来システムでは、ライセンスデータの送受信に公開鍵暗号を用いている。この公開鍵暗号の演算時間は、共通鍵暗号の演算時間に比して時間を要するため、1つのライセンスの送信又は受信に要する時間は、この公開鍵暗号の演算時間を必要とする。   On the other hand, it is considered to use the copyright protection function of the conventional system for such HD contents. In the conventional system, public key cryptography is used for transmission and reception of license data. Since the computation time of the public key cryptography requires more time than the computation time of the common key cryptography, the time required for transmitting or receiving one license requires the computation time of the public key cryptography.

番組などの単位でライセンスデータを記録し、番組単位で再生を行う場合、ライセンスデータのアクセス頻度は低く、アクセス時間はそれほど問題にはならないが、特殊再生(スキップ再生、複数の番組を部分的に連続させるプログラム再生など)を提供する場合には、ライセンスデータのアクセス頻度が高まり、ライセンスデータにもより高速なアクセスが求められるようになる。   When license data is recorded in units of programs and played back in units of programs, the access frequency of the license data is low and the access time is not so much of a problem, but special playback (skip playback, multiple programs partially) In the case of providing continuous program reproduction or the like, the access frequency of the license data is increased, and the license data is required to be accessed at a higher speed.

本発明はこうした状況に鑑みてなされたものであり、その目的は、記憶装置とホスト装置との間で秘匿すべきデータを暗号化して入出力するとき、そのアクセス時間の短縮を図ろうとするものである。   The present invention has been made in view of such a situation, and an object of the present invention is to reduce the access time when data to be kept secret is encrypted and input / output between the storage device and the host device. It is.

上記課題に鑑み、本発明はそれぞれ以下の特徴を有する。   In view of the above problems, the present invention has the following features.

本発明のある態様は、コンテンツ利用情報送信方法に関する。このコンテンツ利用情報送信方法は、暗号化コンテンツデータを復号するためのコンテンツ鍵を含むコンテンツ利用情報を送受信する方法であって、前記コンテンツ利用情報の送信元が前記コンテンツ利用情報の送信先を認証するステップと、前記送信先が承認された場合に、前記送信元と前記送信先の間で第1の対称鍵を共有するステップと、前記送信元が、前記コンテンツ利用情報を暗号化して前記送信先へ送信するステップと、を含み、前記第1の対称鍵を共有するステップは、Elliptic Curve Diffie-Hellman暗号アルゴリズムにより、前記送信先の公開鍵を用いて、前記第1の対称鍵を前記送信先との間で共有するためのデータを生成するステップと、前記データを相手の装置に送信するステップと、を含み、前記コンテンツ利用情報を送信するステップは、前記コンテンツ利用情報を送信するタイミングが到来したときに、前記送信元と前記送信先の間で第2の対称鍵を共有するステップと、前記第1の対称鍵及び前記第2の対称鍵により前記コンテンツ利用情報を暗号化して前記送信先へ送信するステップと、を含むことを特徴とする。   One embodiment of the present invention relates to a content usage information transmission method. This content usage information transmission method is a method of transmitting and receiving content usage information including a content key for decrypting encrypted content data, and the content usage information transmission source authenticates the transmission destination of the content usage information. A step of sharing a first symmetric key between the transmission source and the transmission destination when the transmission destination is approved; and the transmission source encrypts the content usage information and transmits the transmission destination And sharing the first symmetric key with an Elliptic Curve Diffie-Hellman encryption algorithm using the public key of the destination to send the first symmetric key to the destination Generating the data to be shared with and transmitting the data to the other device, and transmitting the content usage information The step of sharing a second symmetric key between the transmission source and the transmission destination when the timing for transmitting the content usage information has arrived, and the first symmetric key and the second symmetric key Encrypting the content usage information with a symmetric key and transmitting it to the destination.

これにより、楕円曲線上の演算を利用した公開鍵暗号方式を用いて安全に対称鍵(シェアード鍵)を共有することができる。また、いったん共有した対称鍵を継続して保持し、ライセンスデータの暗号化及び復号に利用することにより、ライセンスデータを送受信する際の演算量を低減させることができ、処理を高速化することができるとともに、回路規模を低減することができる。また、コンテンツ利用情報のような秘匿すべきデータを送受信する際に、いったん暗号通信路を確立した後は、公開鍵暗号アルゴリズムを用いず、共通鍵暗号アルゴリズムのみを用いてデータを暗号化して送受信することができる。共通鍵暗号アルゴリズムは、公開鍵暗号アルゴリズムに比べて演算量が少なく、ハードウェア化も容易であるから、共通鍵暗号アルゴリズムのみを用いることで、処理効率及び処理速度を向上させることができる。また、コンテンツ利用情報を第1の対称鍵と第2の対称鍵で二重に暗号化して送受信するので、安全性を損なわずに効率よく暗号化データを送受信することができる。   Thereby, a symmetric key (shared key) can be securely shared using a public key cryptosystem using an operation on an elliptic curve. In addition, by continuously holding a shared symmetric key and using it for encryption and decryption of license data, the amount of computation when sending and receiving license data can be reduced, and the processing speed can be increased. In addition, the circuit scale can be reduced. In addition, when transmitting and receiving confidential data such as content usage information, once the encryption communication path is established, the data is encrypted using only the common key encryption algorithm and not transmitted using the public key encryption algorithm. can do. Since the common key encryption algorithm has a smaller calculation amount than the public key encryption algorithm and can be easily implemented in hardware, the processing efficiency and the processing speed can be improved by using only the common key encryption algorithm. Further, since the content usage information is double-encrypted with the first symmetric key and the second symmetric key and transmitted / received, the encrypted data can be efficiently transmitted / received without losing security.

前記第1の対称鍵は、前記コンテンツ利用情報を送信するステップの終了後も、前記送信元及び前記送信先において保持されて、次にコンテンツ利用情報を送信するときに利用されてもよい。前記コンテンツ利用情報を送信するタイミングが到来したときに、既に前記第1の対称鍵が前記送信元と前記送信先の間で共有されている場合には、前記認証するステップ及び前記第1の対称鍵を共有するステップを省略してもよい。これにより、コンテンツ利用情報を繰り返して送受信する場合に、安全性を損なうことなく、迅速に暗号化して送受信することができる。また、継続的にコンテンツ利用情報を送受信する際には、認証処理を省略することにより、安全性を損なわずに処理を高速化することができる。前記送信先を再度認証する必要が生じたときには、既に共有していた前記第1の対称鍵は破棄され、前記第1の対称鍵を共有するステップは、新たに発行された前記第1の対称鍵を共有してもよい。例えば、装置間の接続が解除されたり、一方の電源がオフになったりして、いったん確立された暗号通信路を維持することができなくなったときに、第1の対称鍵を破棄し、暗号通信路を切断してもよい。これにより、暗号通信の安全性を確保することができる。   The first symmetric key may be held at the transmission source and the transmission destination after the step of transmitting the content usage information and used when transmitting the content usage information next time. When the timing for transmitting the content usage information has arrived, if the first symmetric key is already shared between the transmission source and the transmission destination, the authenticating step and the first symmetric key The step of sharing the key may be omitted. As a result, when content usage information is repeatedly transmitted and received, it is possible to quickly encrypt and transmit and receive without sacrificing safety. Further, when the content usage information is continuously transmitted and received, the processing can be speeded up without sacrificing safety by omitting the authentication processing. When it becomes necessary to authenticate the destination again, the first symmetric key that has already been shared is discarded, and the step of sharing the first symmetric key includes the newly issued first symmetric key. Keys may be shared. For example, when the connection between devices is canceled or one of the power supplies is turned off and the established encrypted communication path cannot be maintained, the first symmetric key is discarded and the encryption The communication path may be disconnected. Thereby, the safety | security of encryption communication is securable.

前記第2の対称鍵は、前記コンテンツ利用情報を送受信するステップの終了後に、次のコンテンツ利用情報を送信するときには新たに発行され、前記送信元及び前記送信先の間で共有されてもよい。コンテンツ利用情報を送信するたびに、新たに発行された第2の対称鍵でコンテンツ利用情報を暗号化するので、コンテンツ利用情報の漏洩を防止することができ、安全性を高めることができる。   The second symmetric key may be newly issued when the next content usage information is transmitted after the step of transmitting and receiving the content usage information is completed, and may be shared between the transmission source and the transmission destination. Since the content usage information is encrypted with the newly issued second symmetric key every time the content usage information is transmitted, leakage of the content usage information can be prevented, and safety can be improved.

前記第1の対称鍵は、前記送信元及び前記送信先のうちいずれか一方が発行し、前記第2の対称鍵は、他方が発行してもよい。これにより、いずれか一方が不正な装置であった場合でも、コンテンツ利用情報の漏洩を防止することができるので、安全性を高めることができる。   The first symmetric key may be issued by either the transmission source or the transmission destination, and the second symmetric key may be issued by the other. As a result, even when one of the devices is an unauthorized device, it is possible to prevent leakage of the content usage information, thereby improving safety.

コンテンツ利用情報送信方法は、前記第2の対称鍵を共有するために使用する第3の対称鍵を前記送信元と前記送信先との間で共有するステップを更に含んでもよく、前記第2の対称鍵を共有するステップは、前記第2の対称鍵を前記第3の対称鍵で暗号化して送受信することにより前記第2の対称鍵を共有してもよい。第3の対称鍵は、公開鍵暗号方式を用いて共有されてもよい。前記第3の対称鍵は、前記コンテンツ利用情報を送信するステップの終了後も、前記送信元及び前記送信先において保持されて、次に前記第2の対称鍵を共有するときに利用されてもよい。これにより、いったん暗号通信路を確立した後は、公開鍵暗号アルゴリズムを用いず、共通鍵暗号アルゴリズムのみを用いてデータを暗号化して送受信することができるので、処理効率及び処理速度を向上させることができる。   The content usage information transmission method may further include a step of sharing a third symmetric key used for sharing the second symmetric key between the transmission source and the transmission destination. The step of sharing the symmetric key may share the second symmetric key by encrypting the second symmetric key with the third symmetric key and transmitting / receiving it. The third symmetric key may be shared using public key cryptography. The third symmetric key may be held at the transmission source and the transmission destination after the step of transmitting the content usage information is completed and used when the second symmetric key is shared next time. Good. As a result, once an encrypted communication channel is established, data can be transmitted and received using only a common key encryption algorithm without using a public key encryption algorithm, thereby improving processing efficiency and processing speed. Can do.

前記送信先を再度認証する必要が生じたときには、既に共有していた前記第3の対称鍵は破棄され、前記第3の対称鍵を共有するステップは、新たに発行された前記第3の対称鍵を共有してもよい。これにより、暗号通信の安全性を確保することができる。   When it becomes necessary to authenticate the destination again, the already-shared third symmetric key is discarded, and the step of sharing the third symmetric key includes the newly issued third symmetric key. Keys may be shared. Thereby, the safety | security of encryption communication is securable.

本発明の別の態様は、コンテンツ利用情報提供装置に関する。このコンテンツ利用情報提供装置は、暗号化コンテンツデータを復号するためのコンテンツ鍵を含むコンテンツ利用情報をコンテンツ利用情報享受装置に提供するコンテンツ利用情報提供装置であって、前記コンテンツ利用情報享受装置から認証情報を取得して、その認証情報の正当性を検証する検証手段と、前記検証手段が前記コンテンツ利用情報享受装置を承認したときに、前記コンテンツ利用情報享受装置との間で公開鍵暗号方式を用いて第1の対称鍵を共有する第1の対称鍵共有手段と、前記コンテンツ利用情報を送信するタイミングが到来したときに、前記ライセンス利用情報享受装置との間で第2の対称鍵を共有する第2の対称鍵共有手段と、前記コンテンツ利用情報を前記第1の対称鍵及び前記第2の対称鍵により暗号化する暗号化手段と、前記暗号化手段により暗号化された前記コンテンツ利用情報享受装置へ送信するコンテンツ利用情報送信手段と、を備え、前記第1の対称鍵共有手段は、乱数を発生する乱数発生手段と、Elliptic Curve Diffie-Hellman暗号アルゴリズムにより前記乱数と前記コンテンツ利用情報享受装置の公開鍵を用いて前記第1の対称鍵を生成するとともに、前記第1の対称鍵を前記コンテンツ利用情報享受装置との間で共有するためのデータを生成する第1の対称鍵生成手段と、前記データを前記コンテンツ利用情報享受装置に送信する送信手段と、を含むことを特徴とする。   Another aspect of the present invention relates to a content use information providing apparatus. The content usage information providing device is a content usage information providing device that provides content usage information including a content key for decrypting encrypted content data to the content usage information receiving device, and authenticates from the content usage information receiving device. A verification unit that obtains information and verifies the validity of the authentication information; and when the verification unit approves the content use information receiving device, a public key cryptosystem is provided between the content use information receiving device and the verification unit. A second symmetric key is shared between the first symmetric key sharing means for sharing the first symmetric key and the license usage information receiving device when the timing for transmitting the content usage information arrives Second symmetric key sharing means for encrypting the content usage information with the first symmetric key and the second symmetric key Encoding means and content usage information transmitting means for transmitting to the content usage information receiving device encrypted by the encryption means, wherein the first symmetric key sharing means generates a random number. And generating the first symmetric key using the random number and the public key of the content use information receiving device by an Elliptic Curve Diffie-Hellman encryption algorithm, and using the first symmetric key as the content use information receiving device. First symmetric key generating means for generating data to be shared between and a transmitting means for transmitting the data to the content use information receiving apparatus.

本発明の更に別の態様は、コンテンツ利用情報享受装置に関する。このコンテンツ利用情報享受装置は、暗号化コンテンツデータを復号するためのコンテンツ鍵を含むコンテンツ利用情報をコンテンツ利用情報提供装置から享受するコンテンツ利用情報享受装置であって、前記コンテンツ利用情報提供装置に自身の認証情報を送信する認証情報送信手段と、前記コンテンツ利用情報提供装置が前記認証情報を承認したときに、前記コンテンツ利用情報提供装置との間で公開鍵暗号方式を用いて第1の対称鍵を共有する第1の対称鍵共有手段と、前記コンテンツ利用情報を受信するタイミングが到来したときに、前記コンテンツ利用情報提供装置との間で第2の対称鍵を共有する第2の対称鍵共有手段と、前記第1の対称鍵及び前記第2の対称鍵により暗号化された前記コンテンツ利用情報を前記コンテンツ利用情報提供装置から受信するコンテンツ利用情報受信手段と、前記暗号化された前記コンテンツ利用情報を復号する復号手段と、を備え、前記第1の対称鍵共有手段は、 前記コンテンツ利用情報提供装置に自身の公開鍵を提供する公開鍵提供手段と、前記第1の対称鍵を前記コンテンツ利用情報提供装置との間で共有するためのデータを取得する取得手段と、Elliptic Curve Diffie-Hellman暗号アルゴリズムにより前記データと前記公開鍵と対をなす秘密鍵とを用いて前記第1の対称鍵を生成する第1の対称鍵生成手段と、を含むことを特徴とする。   Still another embodiment of the present invention relates to a content use information receiving apparatus. The content usage information receiving device is a content usage information receiving device that receives content usage information including a content key for decrypting encrypted content data from the content usage information providing device. A first symmetric key using a public key cryptosystem between the authentication information transmitting means for transmitting the authentication information and the content usage information providing device when the content usage information providing device approves the authentication information. A second symmetric key sharing unit that shares a second symmetric key between the first symmetric key sharing unit that shares the content use information and the content use information providing device when the timing for receiving the content use information arrives. Means and the content usage information encrypted with the first symmetric key and the second symmetric key. A content usage information receiving means for receiving from the information providing apparatus; and a decrypting means for decrypting the encrypted content usage information, wherein the first symmetric key sharing means A public key providing means for providing the public key, an acquisition means for acquiring data for sharing the first symmetric key with the content usage information providing apparatus, and an Elliptic Curve Diffie-Hellman encryption algorithm First symmetric key generation means for generating the first symmetric key using data and a secret key paired with the public key.

本発明の更に別の態様は、コンテンツ利用情報提供装置に関する。このコンテンツ利用情報提供装置は、暗号化されたコンテンツデータを復号するためのコンテンツ鍵を含むコンテンツ利用情報をコンテンツ利用情報享受装置に提供するコンテンツ利用情報提供装置であって、前記コンテンツ利用情報享受装置との間でデータの授受を制御するインタフェースと、前記コンテンツ利用情報享受装置との通信においてテンポラルに生成する第1の対称鍵を生成する対称鍵生成部と、前記コンテンツ利用情報享受装置に設定された第1の公開鍵によって、データを暗号化する第1の暗号部と、前記対称鍵生成部により生成された第1対称鍵によってデータを復号する復号部と、前記コンテンツ利用情報享受装置に設定された楕円曲線暗号の第2の公開鍵を用いて、Elliptic curve Diffie − Hellman暗号アルゴリズムにしたがい、データを暗号化する第2の暗号部と、前記第2の暗号部に供給する乱数を生成する乱数生成部と、前記コンテンツ利用情報享受装置で生成された第2の対称鍵によってデータを暗号化する第3の暗号部と、制御部とを備え、前記第2の暗号部は、前記乱数生成部において生成された乱数を取得し、前記取得した乱数と前記第2の公開鍵に基づいて、暗号化に用いるシェアード鍵と、このシェアード鍵を前記コンテンツ利用情報享受装置と共有するためのデータとを生成する機能と、前記生成したシェアード鍵によって前記コンテンツ利用情報を暗号化する機能を有し、前記対称鍵生成部において前記第1の対称鍵が生成されて初めての前記第2の公開鍵による暗号化処理において、前記乱数生成部において生成された乱数を取得し、前記取得した乱数と前記第2の公開鍵に基づいて、暗号化に用いるシェアード鍵と、このシェアード鍵を前記コンテンツ利用情報享受装置と共有するためのデータとを生成し、前記シェアード鍵によってデータを暗号化し、前記対称鍵生成部において前記第1の対称鍵が生成されて2回目以降の暗号化処理において、前回のシェアード鍵によって前記コンテンツ利用情報を暗号化し、前記制御部は、前記第1の対称鍵を生成するように前記対称鍵生成部を制御し、前記第1の公開鍵によって暗号化された前記第1の対称鍵を前記第1の暗号部から受け取って、前記インタフェースを介して前記コンテンツ利用情報享受装置へ送信し、前記インタフェースを介して受信した前記第1の対称鍵によって暗号化された前記第2の対称鍵および前記第2の公開鍵を、前記コンテンツ利用情報享受装置から受け取って前記復号部に与え、前記復号部で復号した第2の公開鍵に基づいて生成されたシェアード鍵と第2の対称鍵とによって暗号化された暗号化コンテンツ利用情報を前記第2の暗号部または前記第3の暗号部から受け取って、前記インタフェースを介して前記コンテンツ利用情報享受装置へ送信することを特徴とする。   Still another aspect of the present invention relates to a content use information providing apparatus. This content usage information providing device is a content usage information providing device that provides content usage information including a content key for decrypting encrypted content data to a content usage information receiving device, wherein the content usage information receiving device Set in the content usage information receiving device, an interface for controlling data exchange with the content usage information receiving device, a symmetric key generation unit that generates a first symmetric key that is temporally generated in communication with the content usage information receiving device A first encryption unit that encrypts data using the first public key, a decryption unit that decrypts data using the first symmetric key generated by the symmetric key generation unit, and the content usage information receiving device Elliptic curve Diffie − In accordance with the Hellman encryption algorithm, a second encryption unit that encrypts data, a random number generation unit that generates a random number to be supplied to the second encryption unit, and a second symmetry generated by the content use information receiving device A third encryption unit that encrypts data using a key; and a control unit, wherein the second encryption unit acquires the random number generated by the random number generation unit, and the acquired random number and the second random number Based on the public key, a function for generating a shared key used for encryption and data for sharing the shared key with the content usage information receiving device, and encrypting the content usage information with the generated shared key In the encryption process using the second public key for the first time after the first symmetric key is generated in the symmetric key generation unit, the random number generation A random number generated by the unit, based on the acquired random number and the second public key, a shared key used for encryption, and data for sharing the shared key with the content use information receiving device; And encrypting the data using the shared key, and encrypting the content usage information using the previous shared key in the second and subsequent encryption processes after the first symmetric key is generated in the symmetric key generation unit. The control unit controls the symmetric key generation unit to generate the first symmetric key, and uses the first symmetric key encrypted by the first public key as the first encryption unit. And transmitted to the content use information receiving device via the interface and encrypted with the first symmetric key received via the interface The second symmetric key and the second public key received from the content use information receiving device, given to the decryption unit, and generated based on the second public key decrypted by the decryption unit The encrypted content usage information encrypted with the key and the second symmetric key is received from the second encryption unit or the third encryption unit, and transmitted to the content usage information receiving apparatus via the interface. It is characterized by that.

コンテンツ利用情報提供装置は、前記コンテンツ利用情報を生成し、かつ、生成したコンテンツ利用情報に含まれる前記コンテンツ鍵でコンテンツデータを暗号化するコンテンツ暗号部をさらに備えてもよく、前記制御部は、前記コンテンツ暗号部が生成した前記コンテンツ利用情報を取得し、前記第3の暗号部に与えてもよい。   The content usage information providing apparatus may further include a content encryption unit that generates the content usage information and encrypts content data with the content key included in the generated content usage information. The content usage information generated by the content encryption unit may be acquired and provided to the third encryption unit.

コンテンツ利用情報提供装置は、前記コンテンツ利用情報を記憶する記憶部をさらに備えてもよく、前記制御部は、前記記憶部から、前記記憶部に格納されている前記コンテンツ利用情報を取得し、前記第3の暗号部に与えてもよい。   The content usage information providing apparatus may further include a storage unit that stores the content usage information, and the control unit acquires the content usage information stored in the storage unit from the storage unit, and You may give to a 3rd encryption part.

前記記憶部は、前記暗号化コンテンツデータを格納する第1の格納部と、前記コンテンツ利用情報を格納する第2の格納部とを含んでもよく、前記第2の格納部は、機密性の高い耐タンパ構造によって構成されてもよい。   The storage unit may include a first storage unit that stores the encrypted content data and a second storage unit that stores the content usage information. The second storage unit is highly confidential. You may be comprised by the tamper-resistant structure.

本発明の更に別の態様は、コンテンツ利用情報享受装置に関する。このコンテンツ利用情報享受装置は、暗号化コンテンツデータを復号および再生するためのコンテンツ鍵を含むコンテンツ利用情報をコンテンツ利用情報提供装置から享受するコンテンツ利用情報享受装置であって、前記コンテンツ利用情報提供装置との間でデータの授受を制御するインタフェースと、前記コンテンツ利用情報享受装置に設定された第1の公開鍵によって暗号化されたデータを復号するための第1の秘密鍵を保持する第1秘密鍵保持部と、前記コンテンツ利用情報享受装置に設定された楕円曲線暗号の第2の公開鍵を保持する第2公開鍵保持部と、前記第2の公開鍵によって暗号化されたデータを復号するための第2の秘密鍵を保持する第2秘密鍵保持部と、前記第1の公開鍵によって暗号化されたデータを前記第1の秘密鍵で復号する第1の復号部と、前記コンテンツ利用情報提供装置で生成された第1の対称鍵によって、データを暗号化する暗号部と、前記コンテンツ利用情報提供装置との通信を特定するための第2の対称鍵を生成する対称鍵生成部と、前記第2の対称鍵で暗号化されたデータを復号する第2の復号部と、前記第2の公開鍵によって暗号化されたデータを前記第2の秘密鍵によってElliptic curve Diffie − Hellman暗号アルゴリズムにしたがってデータを復号する第3の復号部と、制御部とを備え、前記第3の復号部は、前記コンテンツ利用情報提供装置から取得したシェアード鍵を共有するためのデータと前記第2の秘密鍵に基づいて前記シェアード鍵を生成する機能と、前記シェアード鍵で暗号化されたデータを復号する機能とを有し、前記第1の復号部において前記第1の対称鍵が復号されて初めて受け取った前記第2の公開鍵で暗号化されたデータを復号する復号処理において、前記共有するためのデータと前記第2の秘密鍵に基づいて前記シェアード鍵を生成した後、そのシェアード鍵を用いて暗号化されたデータを復号し、前記第1の復号部において前記第1の対称鍵が復号されて2回目以降の復号処理において、前回の復号に使用したシェアード鍵を用いて暗号化されたデータを復号し、前記制御部は、前記第1の公開鍵によって暗号化された前記第1の対称鍵を前記インタフェースから受け取り、その受け取った前記暗号化された第1の対称鍵を前記第1の復号部に与え、前記第2の対称鍵を生成するように前記対称鍵生成部を制御し、前記暗号部において前記第1の対称鍵によって暗号化された前記第2の対称鍵と前記第2の公開鍵とを前記インタフェースを介して前記コンテンツ利用情報提供装置へ送信し、前記インタフェースを介して受信した前記第2の公開鍵および前記第2の対称鍵によって暗号化された暗号化コンテンツ利用情報を、前記第2の復号部に与えることを特徴とする。   Still another embodiment of the present invention relates to a content use information receiving apparatus. The content usage information receiving device is a content usage information receiving device that receives content usage information including a content key for decrypting and reproducing encrypted content data from the content usage information providing device, and the content usage information providing device And a first secret that holds a first secret key for decrypting data encrypted with a first public key set in the content use information receiving device A key holding unit, a second public key holding unit holding a second public key of the elliptic curve encryption set in the content usage information receiving device, and decrypting data encrypted by the second public key And a second secret key holding unit for holding a second secret key for storing data encrypted by the first public key in the first secret key. For identifying communication between the first decryption unit that decrypts the data, the encryption unit that encrypts data using the first symmetric key generated by the content use information providing device, and the content use information provision device A symmetric key generation unit for generating a second symmetric key; a second decryption unit for decrypting data encrypted with the second symmetric key; and data encrypted with the second public key A third decryption unit that decrypts data in accordance with the Elliptic curve Diffie-Hellman encryption algorithm with a second secret key; and a control unit, wherein the third decryption unit is a shared information acquired from the content use information providing device A function for generating the shared key based on the data for sharing the key and the second secret key, and a data encrypted with the shared key. A decrypting process for decrypting data encrypted with the second public key received only after the first symmetric key is decrypted in the first decrypting unit, After generating the shared key based on the data to be shared and the second secret key, the encrypted data is decrypted using the shared key, and the first decryption unit performs the first decryption. In the second and subsequent decryption processes after the symmetric key is decrypted, the encrypted data is decrypted using the shared key used for the previous decryption, and the control unit is encrypted with the first public key. Receiving the first symmetric key from the interface, providing the received encrypted first symmetric key to the first decryption unit and generating the second symmetric key so as to generate the second symmetric key; Control The encryption unit transmits the second symmetric key and the second public key encrypted with the first symmetric key to the content usage information providing apparatus via the interface, and The encrypted content usage information encrypted with the second public key and the second symmetric key received in this way is provided to the second decryption unit.

コンテンツ利用情報享受装置は、前記第3の復号部で取り出された前記コンテンツ利用情報に含まれる前記コンテンツ鍵によって、前記暗号化コンテンツデータを復号してコンテンツデータを再生するコンテンツ再生部をさらに備えてもよい。   The content usage information receiving device further includes a content reproduction unit that decrypts the encrypted content data and reproduces the content data using the content key included in the content usage information extracted by the third decryption unit. Also good.

コンテンツ利用情報享受装置は、前記コンテンツ利用情報を記憶する記憶部をさらに備えてもよく、前記制御部は、前記第3の復号部で取り出された前記コンテンツ利用情報を、前記記憶部に格納してもよい。   The content usage information receiving device may further include a storage unit that stores the content usage information, and the control unit stores the content usage information extracted by the third decryption unit in the storage unit. May be.

本発明の特徴ないしその技術的意義は、以下に示す実施の形態の説明により更に明らかとなろう。ただし、以下の実施の形態は、あくまでも、本発明の一つの実施形態であって、本発明ないし各構成要件の用語の意義等は、以下の実施の形態に記載されたものに制限されるものではない。   The features of the present invention and the technical significance thereof will become more apparent from the following description of embodiments. However, the following embodiment is only one embodiment of the present invention, and the meaning of the present invention or the terms of each constituent element is limited to those described in the following embodiment. is not.

本発明によれば、ストレージデバイスとホスト装置との間で秘匿すべきデータを暗号化して入出力するときの処理効率を向上させることができる。   According to the present invention, it is possible to improve processing efficiency when data to be concealed is encrypted and input / output between the storage device and the host device.

(第1の実施の形態)
図1は、第1の実施の形態に係るデータ管理システム10の全体構成を示す。データ管理システム10は、ストレージデバイス200へのデータの記録を制御する記録装置100、ストレージデバイス200に記録されたデータの再生を制御する再生装置300、およびデータを記録保持するストレージデバイス200を備える。本実施の形態のストレージデバイス200は、データを保持する記憶媒体だけでなく、記録装置100または再生装置300などのホスト装置と記憶媒体との間でのデータの入出力を制御するコントローラなどの構成を備えるドライブ一体型のストレージデバイスである。本実施の形態では、ストレージデバイス200として、ハードディスクドライブを例にとって説明する。
(First embodiment)
FIG. 1 shows an overall configuration of a data management system 10 according to the first embodiment. The data management system 10 includes a recording device 100 that controls recording of data in the storage device 200, a playback device 300 that controls playback of data recorded in the storage device 200, and a storage device 200 that records and holds data. The storage device 200 according to the present embodiment includes not only a storage medium that holds data but also a controller that controls input / output of data between a host device such as the recording apparatus 100 or the playback apparatus 300 and the storage medium. Is a drive-integrated storage device. In the present embodiment, a hard disk drive will be described as an example of the storage device 200.

従来のハードディスクドライブは、一つのホスト装置に固定的に接続されて使用されるのが一般的であったが、本実施の形態のストレージデバイス200は、記録装置100および再生装置300などのホスト装置に対して着脱自在に構成されている。すなわち、本実施の形態のストレージデバイス200は、CDやDVDなどと同様にホスト装置から取り外して持ち運ぶことができ、記録装置100、再生装置300、記録および再生が可能な記録再生装置など、複数のホスト装置間で共用することが可能な記憶装置である。   The conventional hard disk drive is generally used by being fixedly connected to one host device, but the storage device 200 of the present embodiment is a host device such as the recording device 100 and the playback device 300. It is comprised so that attachment or detachment is possible. That is, the storage device 200 of the present embodiment can be removed from the host device and carried in the same manner as a CD or DVD, and the storage device 200 includes a recording device 100, a playback device 300, a recording / playback device capable of recording and playback, and the like. A storage device that can be shared between host devices.

このように、本実施の形態のストレージデバイス200は、複数のホスト装置に接続されることを前提にしており、たとえば所有者以外の第三者のホスト装置に接続されて、内部に記録されたデータを読み出される可能性もある。このストレージデバイス200に、音楽や映像などの著作権により保護されるべきコンテンツ、企業や個人の機密情報などの秘匿すべきデータを記録することを想定したとき、それらの秘匿データが外部に漏洩することを防ぐためには、ストレージデバイス200自身にデータを適切に保護するための構成を設け、十分な耐タンパ機能を持たせることが好ましい。   As described above, the storage device 200 according to the present embodiment is assumed to be connected to a plurality of host devices. For example, the storage device 200 is connected to a host device of a third party other than the owner and recorded therein. Data may be read out. When it is assumed that contents to be protected by copyright such as music and video, confidential data such as corporate and personal information are recorded on the storage device 200, the confidential data leaks to the outside. In order to prevent this, it is preferable to provide the storage device 200 itself with a configuration for appropriately protecting data and to have a sufficient tamper resistance function.

このような観点から、本実施の形態のストレージデバイス200は、ホスト装置との間で秘匿データを入出力するときに、その秘匿データを暗号化してやり取りするための構成を備える。また、秘匿データを格納するために、通常の記憶領域とは異なる機密データ記憶領域を設け、その機密データ記憶領域はストレージデバイス200内に設けられた暗号エンジンを介さないとアクセスできないように構成する。この暗号エンジンは、正当な権限を有すると検証されたホスト装置のみと秘匿データの入出力をする。以下、このようなデータ保護機能を「セキュア機能」ともいう。上記の構成および機能により、ストレージデバイス200に記録された秘匿データを適切に保護することができる。   From such a viewpoint, the storage device 200 according to the present embodiment has a configuration for encrypting and exchanging confidential data when the confidential data is input and output with the host device. Further, in order to store confidential data, a confidential data storage area different from a normal storage area is provided, and the confidential data storage area is configured to be accessible only through a cryptographic engine provided in the storage device 200. . This cryptographic engine inputs / outputs secret data only to / from a host device verified as having a legitimate authority. Hereinafter, such a data protection function is also referred to as a “secure function”. With the above configuration and function, the confidential data recorded in the storage device 200 can be appropriately protected.

ストレージデバイス200のリムーバブルメディアとしての特徴を最大限に生かすため、通常のデータについては、セキュア機能に非対応のホスト装置でも入出力可能とするのが好ましい。そのため、本実施の形態のストレージデバイス200は、従来のハードディスクとの互換性を保つべく、ANSI(American National Standards Institute)の標準規格であるATA(AT Attachment)に対応しており、上述のセキュア機能は、ATAの拡張命令として実現される。   In order to make the most of the characteristics of the storage device 200 as a removable medium, it is preferable that normal data can be input / output even by a host device that does not support the secure function. Therefore, the storage device 200 according to the present embodiment supports ATA (AT Attachment), which is a standard of ANSI (American National Standards Institute), in order to maintain compatibility with the conventional hard disk, and the secure function described above. Is realized as an ATA extension instruction.

以下、秘匿データの入出力の例として、映像などのコンテンツデータを記録再生する場合について説明する。コンテンツデータ自身を秘匿データとして扱ってもよいが、本実施の形態では、コンテンツデータを暗号化し、暗号化されたコンテンツデータ自身は、ストレージデバイス200に通常のデータとして記録する。そして、暗号化されたコンテンツを復号するための鍵(コンテンツ鍵と呼ぶ)と、コンテンツの再生制御やライセンスの利用、移動、複製に関する制御に関する情報(利用規則と呼ぶ)を含むデータ(ライセンスデータと呼ぶ)を、秘匿データとして上述のセキュア機能を用いて入出力を行う。これにより、十分な耐タンパ性を維持しつつ、データの入出力を簡略化し、処理の高速化および消費電力の低減を図ることができる。ここで、ライセンスデータは、コンテンツ鍵や利用規則の他に、ライセンスデータを特定するためのライセンスIDなどを含む。   Hereinafter, a case where content data such as video is recorded and reproduced will be described as an example of confidential data input / output. Although the content data itself may be handled as confidential data, in the present embodiment, the content data is encrypted, and the encrypted content data itself is recorded as normal data in the storage device 200. Then, data (license data and data) including a key for decrypting the encrypted content (referred to as a content key) and information (referred to as a usage rule) related to content reproduction control, license use, transfer, and copy control. Is input / output as secret data using the secure function described above. As a result, while maintaining sufficient tamper resistance, data input / output can be simplified, processing speed can be increased, and power consumption can be reduced. Here, the license data includes a license ID for specifying the license data in addition to the content key and the usage rule.

以下、記録装置100、再生装置300などのホスト装置がストレージデバイス200に対して発行する命令のうち、セキュア機能のための拡張命令を「セキュアコマンド」とも呼び、その他の命令を「通常コマンド」とも呼ぶ。   Hereinafter, of the commands issued by the host device such as the recording device 100 and the playback device 300 to the storage device 200, the extended command for the secure function is also referred to as “secure command”, and the other commands are also referred to as “normal command”. Call.

図2は、実施の形態に係る記録装置100の内部構成を示す。この構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIなどで実現でき、ソフトウエア的にはメモリにロードされた記録制御機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。   FIG. 2 shows an internal configuration of the recording apparatus 100 according to the embodiment. This configuration can be realized in hardware by a CPU, memory, or other LSI of an arbitrary computer, and in software, it is realized by a program having a recording control function loaded in the memory. So, functional blocks that are realized by their cooperation are drawn. Accordingly, those skilled in the art will understand that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof.

記録装置100は、主に、コントローラ101、ストレージインタフェース102、暗号エンジン103、暗号器104、コンテンツエンコーダ105、およびそれらを電気的に接続するデータバス110を備える。   The recording apparatus 100 mainly includes a controller 101, a storage interface 102, a cryptographic engine 103, an encryptor 104, a content encoder 105, and a data bus 110 that electrically connects them.

コンテンツエンコーダ105は、オンラインまたはオフラインにより取得したコンテンツを所定の形式にコーディングする。ここでは、放送波などから取得した映像データをMPEG形式にコーディングする。   The content encoder 105 codes the content acquired online or offline into a predetermined format. Here, video data acquired from a broadcast wave or the like is coded in the MPEG format.

暗号器104は、暗号化コンテンツを復号するためのコンテンツ鍵を含むライセンスデータLICを発行し、このコンテンツ鍵を用いて、コンテンツエンコーダ105にてコーディングされたコンテンツを暗号化する。暗号化されたコンテンツは、データバス110およびストレージインタフェース102を介してストレージデバイス200に記録される。発行されたライセンスデータLICは、暗号エンジン103に通知され、暗号エンジン103を介してストレージデバイス200に記録される。   The encryptor 104 issues license data LIC including a content key for decrypting the encrypted content, and encrypts the content coded by the content encoder 105 using this content key. The encrypted content is recorded in the storage device 200 via the data bus 110 and the storage interface 102. The issued license data LIC is notified to the encryption engine 103 and recorded in the storage device 200 via the encryption engine 103.

暗号エンジン103は、ライセンスデータLICをストレージデバイス200に入力するために、ストレージデバイス200との間で暗号通信の制御を行う。ストレージインタフェース102は、ストレージデバイス200とのデータの入出力を制御する。コントローラ101は、記録装置100の構成要素を統括的に制御する。   The cryptographic engine 103 controls cryptographic communication with the storage device 200 in order to input the license data LIC to the storage device 200. The storage interface 102 controls data input / output with the storage device 200. The controller 101 comprehensively controls the components of the recording apparatus 100.

図3は、実施の形態に係る再生装置300の内部構成を示す。これらの機能ブロックも、ハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できる。   FIG. 3 shows an internal configuration of the playback apparatus 300 according to the embodiment. These functional blocks can also be realized in various forms by hardware only, software only, or a combination thereof.

再生装置300は、主に、コントローラ301、ストレージインタフェース302、暗号エンジン303、復号器304、コンテンツデコーダ305、およびそれらを電気的に接続するデータバス310を備える。   The playback apparatus 300 mainly includes a controller 301, a storage interface 302, a cryptographic engine 303, a decoder 304, a content decoder 305, and a data bus 310 that electrically connects them.

ストレージインタフェース302は、ストレージデバイス200とのデータの入出力を制御する。暗号エンジン303は、コンテンツ鍵を含むライセンスデータLICをストレージデバイス200から受信するために、ストレージデバイス200との間で暗号通信の制御を行う。   The storage interface 302 controls data input / output with the storage device 200. The cryptographic engine 303 controls cryptographic communication with the storage device 200 in order to receive the license data LIC including the content key from the storage device 200.

復号器304は、ストレージデバイス200から読み出した暗号化されたコンテンツを、ストレージデバイス200から入手したライセンスデータLICに含まれるコンテンツ鍵により復号する。   The decryptor 304 decrypts the encrypted content read from the storage device 200 with the content key included in the license data LIC obtained from the storage device 200.

コンテンツデコーダ305は、復号器304により復号されたコンテンツをデコードして出力する。たとえば、MPEG形式のコンテンツであれば、コンテンツから映像信号と音声信号を復元し、映像信号を図示しない表示装置に出力し、音声信号を図示しないスピーカに出力する。コントローラ301は、再生装置300の構成要素を統括的に制御する。   The content decoder 305 decodes and outputs the content decoded by the decoder 304. For example, if the content is in MPEG format, the video signal and the audio signal are restored from the content, the video signal is output to a display device (not shown), and the audio signal is output to a speaker (not shown). The controller 301 comprehensively controls the components of the playback device 300.

図4は、実施の形態に係るストレージデバイス200の内部構成を示す。ストレージデバイス200は、主に、コントローラ201、ストレージインタフェース202、暗号エンジン203、耐タンパ記憶部204、通常データ記憶部205、およびそれらを電気的に接続するデータバス210を備える。   FIG. 4 shows an internal configuration of the storage device 200 according to the embodiment. The storage device 200 mainly includes a controller 201, a storage interface 202, a cryptographic engine 203, a tamper resistant storage unit 204, a normal data storage unit 205, and a data bus 210 that electrically connects them.

ストレージインタフェース202は、記録装置100および再生装置300とのデータの入出力を制御する。暗号エンジン203は、コンテンツ鍵を含むライセンスデータLICなどの秘匿データを記録装置100および再生装置300との間で入出力するための暗号通信の制御を行う。通常データ記憶部205は、暗号化されたコンテンツや通常のデータなどを記録する通常記憶領域である。耐タンパ記憶部204は、コンテンツ鍵を含むライセンスデータLICなどの秘匿データを記録する機密データ記憶領域である。コントローラ201は、ストレージデバイス200の構成要素を統括的に制御する。通常データ記憶部205は、外部から直接アクセス(データの入出力)が行われるが、耐タンパ記憶部204は、暗号エンジン203を介さないとアクセス(データの入出力)ができないように構成される。   The storage interface 202 controls data input / output with the recording device 100 and the playback device 300. The cryptographic engine 203 controls cryptographic communication for inputting / outputting secret data such as license data LIC including a content key between the recording device 100 and the playback device 300. The normal data storage unit 205 is a normal storage area for recording encrypted content, normal data, and the like. The tamper resistant storage unit 204 is a confidential data storage area for recording confidential data such as license data LIC including a content key. The controller 201 comprehensively controls the components of the storage device 200. The normal data storage unit 205 is directly accessed (data input / output) from the outside, but the tamper-resistant storage unit 204 is configured so that it cannot be accessed (data input / output) through the cryptographic engine 203.

ここで、本実施の形態で用いる鍵について説明する。本実施の形態では、鍵はすべて大文字の「K」から始まる文字列として表記する。   Here, the key used in this embodiment will be described. In the present embodiment, the key is expressed as a character string starting with a capital letter “K”.

第2文字が小文字の「c」あるいは「s」である場合は対称鍵(共通鍵)を表す。「c」の場合はチャレンジ鍵であり、暗号化データの送信元で生成されるテンポラルな対称鍵である。「s」の場合はセッション鍵であり、暗号化データの送信先で生成されるテンポラルな対称鍵である。   When the second character is lowercase “c” or “s”, it represents a symmetric key (common key). In the case of “c”, it is a challenge key, and is a temporally symmetric key generated at the transmission source of the encrypted data. In the case of “s”, it is a session key, which is a temporal symmetric key generated at the transmission destination of the encrypted data.

第2文字が大文字の「P」である場合は、公開鍵暗号方式の公開鍵を示す。この鍵には対応する秘密鍵が必ず存在し、この秘密鍵は公開鍵の表記から第2文字の大文字の「P」を除く表記となる。   When the second character is capital “P”, it indicates a public key of the public key cryptosystem. This key always has a corresponding secret key, and this secret key has a notation excluding the second letter capital letter “P” from the notation of the public key.

鍵を示す文字列が小文字の「d」を含む場合は、装置のグループ毎に与えられた鍵であることを表す。また鍵を示す文字列が小文字「p」を含む場合は、装置毎に与えられた鍵であることを表す。それぞれは、公開鍵と秘密鍵の対として与えられ、グループ毎に与えられた公開鍵は、電子署名付きの公開鍵証明書として与えられている。   When the character string indicating the key includes a lowercase “d”, it indicates that the key is assigned to each group of devices. If the character string indicating the key includes a lowercase letter “p”, it indicates that the key is assigned to each device. Each is given as a pair of a public key and a private key, and the public key given for each group is given as a public key certificate with an electronic signature.

鍵を示す文字列の最後に記載される文字、たとえば、公開鍵KPd2の「2」は、その鍵が与えられる暗号エンジンを識別するための記号である。本実施の形態では、提供先が明確な場合には、「1」、「2」、「3」などの数字により表記し、当該暗号エンジン以外から提供される鍵であって提供先が不明な場合あるいは特定しない場合には、「x」、「y」などの英文字によって表記する。本実施の形態では、記録装置100の暗号エンジン103に対しては識別記号として「1」、ストレージデバイス200の暗号エンジン203については識別記号として「2」、再生装置300の暗号エンジン303については識別記号として「3」をそれぞれ使用する。   The character described at the end of the character string indicating the key, for example, “2” of the public key KPd2, is a symbol for identifying the cryptographic engine to which the key is given. In the present embodiment, when the provision destination is clear, it is represented by numbers such as “1”, “2”, “3”, etc., and is a key provided from other than the encryption engine, and the provision destination is unknown. If not specified or not specified, it is written in English characters such as “x” and “y”. In this embodiment, “1” is used as the identification symbol for the cryptographic engine 103 of the recording device 100, “2” is used as the identification symbol for the cryptographic engine 203 of the storage device 200, and the cryptographic engine 303 of the playback device 300 is identified. Each symbol “3” is used.

ここで、実施の形態で用いる暗号アルゴリズムについて説明する。本実施の形態では、公開鍵暗号方式および対称鍵(共通)暗号方式の2つの方式から、1つずつ暗号アルゴリズムを採用する。   Here, the encryption algorithm used in the embodiment will be described. In the present embodiment, an encryption algorithm is adopted one by one from a public key cryptosystem and a symmetric key (common) cryptosystem.

公開鍵暗号方式は、暗号および復号を異なった鍵を用いて行う暗号方式である。暗号化する鍵を公開鍵、復号する鍵を秘密鍵と呼ぶ。公開鍵はその名が示すとおり、公開可能な鍵であり、秘密に管理する必要がない。これに対して、秘密鍵は秘密に管理される。   The public key encryption method is an encryption method in which encryption and decryption are performed using different keys. A key to be encrypted is called a public key, and a key to be decrypted is called a secret key. As the name indicates, the public key is a public key and does not need to be managed secretly. On the other hand, the secret key is managed secretly.

この方式では、RSA、EC−DH(Elliptic Curve Diffie-Hellman)などの暗号アルゴリズムが知られている。本実施の形態では、EC−DHアルゴリズムを採用する。EC−DHは、有限体上の楕円曲線における乗算(この演算アルゴリズムを楕円曲線暗号と呼ぶ)によって、双方で共有した対称鍵(シェアード鍵と呼ぶ)でデータを暗号化する。暗号化データは、データを暗号化した結果と、シェアード鍵を共有するためのデータ(パラメータと呼ぶ)を連結した形式となる。   In this method, cryptographic algorithms such as RSA and EC-DH (Elliptic Curve Diffie-Hellman) are known. In this embodiment, an EC-DH algorithm is adopted. EC-DH encrypts data with a symmetric key (called a shared key) shared by both parties by multiplication on an elliptic curve over a finite field (this operation algorithm is called elliptic curve cryptography). The encrypted data has a format in which the result of encrypting the data and data for sharing the shared key (referred to as parameters) are concatenated.

たとえば、公開鍵KPdx、秘密鍵Kdxにおける暗号データの送信について説明する。EC−DHでは、両者の関係は、KPdx=Kdx*Bとなる。ここで、楕円曲線上のベースポイントを「B」、楕円曲線上の乗算を「*」で示している。なお、以下の説明において、「x」は暗号データを受け取る側(受信側と呼ぶ)を示し、「y」は暗号データ提供する側(送信側とよぶ)を示す。   For example, transmission of encrypted data using the public key KPdx and the secret key Kdx will be described. In EC-DH, the relationship between the two is KPdx = Kdx * B. Here, the base point on the elliptic curve is indicated by “B”, and the multiplication on the elliptic curve is indicated by “*”. In the following description, “x” indicates a side that receives encrypted data (referred to as a receiving side), and “y” indicates a side that provides encrypted data (referred to as a transmitting side).

受信側は公開鍵KPdxを、送信側に伝達する。送信側は、公開鍵KPdxを受け取ると、暗号データを作成するために、まず、乱数rdyを生成する。そして、公開鍵KPdxと、乱数rdyとを楕円曲線上で掛け合わせシェアード鍵KPdx*rdyを演算によって求める。同時に、受信側とシェアード鍵KPdx*rdyを共有するために、パラメータB*rdyを演算する。なお、ベースポイントBは、楕円曲線の方程式とともに事前に共有している。   The receiving side transmits the public key KPdx to the transmitting side. Upon receiving the public key KPdx, the transmission side first generates a random number rdy in order to create encrypted data. Then, the public key KPdx and the random number rdy are multiplied on an elliptic curve to obtain a shared key KPdx * rdy. At the same time, the parameter B * rdy is calculated in order to share the shared key KPdx * rdy with the receiving side. The base point B is shared in advance with the elliptic curve equation.

生成したシェアード鍵KPdx*rdyで、対象となるデータ(Dataと記す)を暗号化し、暗号データEs(KPdx*rdy,Data)を生成する。そして、パラメータB*rdyと、この結果を連結したB*rdy//Es(KPdx*rdy,Data)をEp(KPdx,Data)として受信側に送る。   The target data (denoted as Data) is encrypted with the generated shared key KPdx * rdy to generate encrypted data Es (KPdx * rdy, Data). Then, the parameter B * rdy and B * rdy // Es (KPdx * rdy, Data) obtained by concatenating the result are sent to the receiving side as Ep (KPdx, Data).

ここで、記号「//」は、データの連結を示し、B*rdy//Es(KPdx*rdy,Data)は、パラメータB*rdyと暗号データEs(KPdx*rdy,Data)を並べて結合したデータ列を示す。また、Esは共通鍵暗号方式による暗号化関数を示し、Es(KPdx*rdy,Data)は、対称鍵KPdx*rdyで対象となるデータDataを暗号化したものであることを示す。また、Epは公開鍵暗号方式による暗号化関数を示し、公開鍵KPdxで対象となるデータDataを暗号化したものであることを示す。   Here, the symbol “//” indicates data concatenation, and B * rdy // Es (KPdx * rdy, Data) is a combination of the parameter B * rdy and the encrypted data Es (KPdx * rdy, Data) side by side. Indicates the data string. Further, Es indicates an encryption function using a common key encryption method, and Es (KPdx * rdy, Data) indicates that the target data Data is encrypted with the symmetric key KPdx * rdy. Ep indicates an encryption function using a public key cryptosystem, and indicates that the target data Data is encrypted with the public key KPdx.

このように、EC−DHでは、Ep(KPdx,Data)=B*rdy//Es(KPdx*rdy、Data)となる。   Thus, in EC-DH, Ep (KPdx, Data) = B * rdy // Es (KPdx * rdy, Data).

受信側では、Ep(KPdx,Data)を受け取ると、保持している秘密鍵KdxとパラメータB*rdyとを楕円曲線上で掛け合わせシェアード鍵Kdx*B*rdy=KPdx*rdyを求める。求めたシェアード鍵KPdx*rdyで、暗号データEs(KPdx*rdy、Data)を復号する。なお、公開鍵KPpxと秘密鍵Kpxの組についても同様である。   On the receiving side, when Ep (KPdx, Data) is received, the shared key Kdx * B * rdy = KPdx * rdy is obtained by multiplying the stored secret key Kdx and the parameter B * rdy on an elliptic curve. The encrypted data Es (KPdx * rdy, Data) is decrypted with the obtained shared key KPdx * rdy. The same applies to the set of the public key KPpx and the secret key Kpx.

共通鍵暗号方式は同一の鍵によって暗号および復号を行う暗号方式であり、暗号アルゴリズムとしてDES(Data Encryption Standard)、AES(Advanced Encryption Standard)などが知られている。本実施の形態では、いずれの方式も採用可能であるが、前述する公開鍵暗号方式での利用と暗号強度のバランスを考慮し、AESを採用する。   The common key encryption method is an encryption method that performs encryption and decryption using the same key, and DES (Data Encryption Standard), AES (Advanced Encryption Standard), and the like are known as encryption algorithms. In this embodiment, any method can be adopted, but AES is adopted in consideration of the balance between the use in the public key encryption method described above and the encryption strength.

図5は、図2に示した記録装置100の暗号エンジン103の内部構成を示す。暗号エンジン103は、証明書検証部120、乱数発生部121、第1暗号部122、復号部123、第2暗号部124、第3暗号部125、およびこれらの構成要素の少なくとも一部を電気的に接続するローカルバス130を備える。   FIG. 5 shows an internal configuration of the cryptographic engine 103 of the recording apparatus 100 shown in FIG. The cryptographic engine 103 electrically connects the certificate verification unit 120, the random number generation unit 121, the first encryption unit 122, the decryption unit 123, the second encryption unit 124, the third encryption unit 125, and at least some of these components. A local bus 130 is provided for connection.

証明書検証部120は、ストレージデバイス200から取得した証明書C[KPd2]を検証する。証明書C[KPd2]は、公開鍵KPd2を含む平文の情報(「証明書本体」と呼ぶ)と、証明書本体に対して付される電子署名からなる。この電子署名は、証明書本体に対してハッシュ関数による演算(この演算処理を「ハッシュ演算」と呼ぶ)を施した結果を、第三者機関である認証局(図示せず)のルート鍵Kaによって暗号化したデータである。ルート鍵Kaは、認証局によって厳重に管理されている非公開な鍵であり、認証局の秘密鍵となる。証明書検証部120は、このルート鍵Kaと対をなす検証鍵KPaを保持している。この検証鍵KPaは証明書の正当性を検証する公開鍵である。   The certificate verification unit 120 verifies the certificate C [KPd2] acquired from the storage device 200. The certificate C [KPd2] includes plaintext information (referred to as “certificate body”) including the public key KPd2 and an electronic signature attached to the certificate body. This electronic signature is obtained by applying a calculation result of a hash function to the certificate body (this calculation process is referred to as “hash calculation”), and a root key Ka of a certificate authority (not shown) as a third party. Data encrypted by. The root key Ka is a private key that is strictly managed by the certificate authority and serves as a secret key of the certificate authority. The certificate verification unit 120 holds a verification key KPa that is paired with the root key Ka. This verification key KPa is a public key for verifying the validity of the certificate.

証明書の検証は、証明書の正当性と証明書の有効性によって判断する。証明書の正当性の確認は、検証すべき証明書の証明書本体に対するハッシュ関数の演算結果と、検証鍵KPaで電子署名を復号した結果を比較する処理であり、両者が一致したとき、正当であると判断する。証明書検証部120は、無効となった証明書のリストである証明書破棄リスト(Certificate Revocation List:CRLと呼ぶ)を保持し、証明書の有効性について、このCRLに検証すべき証明書が記載されていない場合に有効であると判断する。このように、証明書の正当性と有効性を判断し正当な証明書を承認する処理を検証と呼ぶ。   The verification of the certificate is judged by the validity of the certificate and the validity of the certificate. The verification of the validity of the certificate is a process of comparing the calculation result of the hash function for the certificate body of the certificate to be verified with the result of decrypting the electronic signature with the verification key KPa. It is judged that. The certificate verification unit 120 maintains a certificate revocation list (CRL) that is a list of invalid certificates, and the CRL checks whether the certificate to be verified is valid. It is judged that it is effective when it is not described. The process of judging the validity and validity of a certificate and approving a valid certificate is called verification.

証明書検証部120は、検証に成功すると、ストレージデバイス200の公開鍵KPd2を取り出して第1暗号部122に伝達し、検証結果を通知する。検証に失敗した場合には、検証エラー通知を出力する。   If the verification is successful, the certificate verification unit 120 retrieves the public key KPd2 of the storage device 200, transmits it to the first encryption unit 122, and notifies the verification result. If verification fails, a verification error notification is output.

乱数発生部121は、乱数を発生する。乱数は、疑似乱数であってもよい。ここでは、ストレージデバイス200との間で暗号通信を行うために一時的に使用されるチャレンジ鍵Kc1と乱数rd1、rp1を生成する。暗号通信を行う度に、乱数であるチャレンジ鍵Kc1を生成することで、チャレンジ鍵Kc1を見破られる可能性を最小限に抑える。生成されたチャレンジ鍵Kc1は、第1暗号部122および復号部123に伝達される。また、乱数rd1、rp1は、それぞれ第1暗号部122、第2暗号部124に伝達され、ED−DHによる暗号化に使用される。   The random number generator 121 generates a random number. The random number may be a pseudo random number. Here, a challenge key Kc1 and random numbers rd1 and rp1 that are temporarily used to perform encrypted communication with the storage device 200 are generated. By generating the challenge key Kc1, which is a random number, every time encrypted communication is performed, the possibility that the challenge key Kc1 can be detected is minimized. The generated challenge key Kc1 is transmitted to the first encryption unit 122 and the decryption unit 123. The random numbers rd1 and rp1 are transmitted to the first encryption unit 122 and the second encryption unit 124, respectively, and used for encryption by ED-DH.

第1暗号部122は、ストレージデバイス200にチャレンジ鍵Kc1を通知するために、証明書検証部120により取り出されたストレージデバイス200の公開鍵KPd2でチャレンジ鍵Kc1を暗号化して、暗号化チャレンジ鍵Ep(KPd2,Kc1)=B*rd1//Es(KPd2*rd1,Kc1)を生成する。暗号化には、乱数発生部121が生成した乱数rd1を使用する。   In order to notify the storage device 200 of the challenge key Kc1, the first encryption unit 122 encrypts the challenge key Kc1 with the public key KPd2 of the storage device 200 extracted by the certificate verification unit 120, and encrypts the challenge key Ep. (KPd2, Kc1) = B * rd1 // Es (KPd2 * rd1, Kc1) is generated. For the encryption, the random number rd1 generated by the random number generator 121 is used.

復号部123は、チャレンジ鍵Kc1で暗号化されたデータを復号する。ストレージデバイス200で発行されたセッション鍵Ks2およびストレージデバイス200の保持する公開鍵KPp2は、セッション情報Es(Kc1,Ks2//KPp2)としてストレージデバイス200から供給されるため、復号部123は、乱数発生部121が発生したチャレンジ鍵Kc1を取得して、セッション情報Es(Kc1,Ks2//KPp2)を復号し、セッション鍵Ks2および公開鍵KPp2を取り出す。取り出された公開鍵KPp2とセッション鍵Ks2は、それぞれ第2暗号部124、第3暗号部125に伝達される。   The decryption unit 123 decrypts the data encrypted with the challenge key Kc1. Since the session key Ks2 issued by the storage device 200 and the public key KPp2 held by the storage device 200 are supplied from the storage device 200 as session information Es (Kc1, Ks2 // KPp2), the decryption unit 123 generates a random number. The challenge key Kc1 generated by the unit 121 is acquired, the session information Es (Kc1, Ks2 // KPp2) is decrypted, and the session key Ks2 and the public key KPp2 are extracted. The extracted public key KPp2 and session key Ks2 are transmitted to the second encryption unit 124 and the third encryption unit 125, respectively.

第2暗号部124は、暗号器104がコンテンツを暗号化する際に発行したコンテンツ鍵を含むライセンスデータLICを取得し、そのライセンスデータLICをライセンスデータの提供先、すなわち、ストレージデバイス200の公開鍵KPp2で暗号化したEp(KPp2、LIC)=B*rp1//Es(KPp2*rp1,LIC)を生成する。暗号化には、乱数発生部121が生成した乱数rp1を取得し、使用する。そして、Ep(KPp2、LIC)は、第3暗号部125に伝達される。   The second encryption unit 124 acquires the license data LIC including the content key issued when the encryptor 104 encrypts the content, and uses the license data LIC as the license data providing destination, that is, the public key of the storage device 200. Ep (KPp2, LIC) = B * rp1 // Es (KPp2 * rp1, LIC) encrypted with KPp2 is generated. For encryption, the random number rp1 generated by the random number generator 121 is acquired and used. Then, Ep (KPp2, LIC) is transmitted to the third encryption unit 125.

第3暗号部125は、第2暗号部124によって生成されたEp(KPp2,LIC)を、さらに、ストレージデバイス200で発行されたセッション鍵Ks2により暗号化し、暗号化ライセンスデータEs(Ks2,Ep(KPp2,LIC))を生成する。   The third encryption unit 125 further encrypts Ep (KPp2, LIC) generated by the second encryption unit 124 with the session key Ks2 issued by the storage device 200, and encrypts the license data Es (Ks2, Ep ( KPp2, LIC)).

図5では、暗号エンジン103の構成要素のうち、証明書検証部120、第1暗号部122、復号部123、および第3暗号部125がローカルバス130により電気的に接続されており、ローカルバス130を介して記録装置100のデータバス110に接続されている。各構成要素を接続する形態にはいろいろな変更例が考えられるが、本実施の形態では、乱数発生部121が発生したチャレンジ鍵Kc1、乱数rd1およびrp1、ストレージデバイス200から受け取ったセッション鍵Ks2が、直接データバス110に流れないよう配慮している。これにより、暗号エンジン103内で使用される各鍵が、記録装置100の他の構成要素などを介して外部に漏洩することを防ぎ、セキュリティ性を向上させることができる。   In FIG. 5, among the components of the cryptographic engine 103, the certificate verification unit 120, the first encryption unit 122, the decryption unit 123, and the third encryption unit 125 are electrically connected by the local bus 130. It is connected to the data bus 110 of the recording apparatus 100 via 130. Various modifications can be considered in the form of connecting each component. In this embodiment, the challenge key Kc1, the random numbers rd1 and rp1 generated by the random number generation unit 121, and the session key Ks2 received from the storage device 200 are used. Consideration is given so as not to flow directly to the data bus 110. Thereby, it is possible to prevent each key used in the cryptographic engine 103 from leaking to the outside through other components of the recording apparatus 100 and improve the security.

図6は、図3に示した再生装置300の暗号エンジン303の内部構成を示す。暗号エンジン303は、証明書出力部320、乱数発生部321、第1復号部322、暗号部323、第2復号部324、第3復号部325、およびこれらの構成要素の少なくとも一部を電気的に接続するローカルバス330を備える。   FIG. 6 shows the internal configuration of the cryptographic engine 303 of the playback apparatus 300 shown in FIG. The cryptographic engine 303 electrically connects the certificate output unit 320, the random number generation unit 321, the first decryption unit 322, the encryption unit 323, the second decryption unit 324, the third decryption unit 325, and at least some of these components. A local bus 330 is provided for connection.

証明書出力部320は、再生装置300の証明書C[KPd3]を出力する。証明書は、証明書出力部320が保持してもよいし、図示しない証明書保持部に保持しておき、それを読み出してもよい。証明書は、再生装置300の公開鍵KPd3を含む証明書本体と、証明書本体に対して付される電子署名からなる。電子署名は、ストレージデバイス200の証明書と同様に、認証局のルート鍵Kaにより暗号化される。   The certificate output unit 320 outputs the certificate C [KPd3] of the playback device 300. The certificate may be held by the certificate output unit 320 or may be held in a certificate holding unit (not shown) and read out. The certificate is composed of a certificate body including the public key KPd3 of the playback apparatus 300 and an electronic signature attached to the certificate body. The electronic signature is encrypted with the root key Ka of the certificate authority, similarly to the certificate of the storage device 200.

乱数発生部321は、ストレージデバイス200との間で暗号通信を行うために一時的に使用されるセッション鍵Ks3を発生する。生成されたセッション鍵Ks3は、暗号部323および第2復号部324に伝達される。   The random number generator 321 generates a session key Ks3 that is temporarily used for performing cryptographic communication with the storage device 200. The generated session key Ks3 is transmitted to the encryption unit 323 and the second decryption unit 324.

第1復号部322は、公開鍵KPd3によって暗号化されたデータを秘密鍵Kd3で復号する。再生時には、ストレージデバイス200で発行されたチャレンジ鍵Kc2は、再生装置300の公開鍵KPd3により暗号化したチャレンジ情報Ep(KPd3,Kc2)としてストレージデバイス200から供給されるため、第1復号部322は、自身の秘密鍵Kd3により復号して、チャレンジ鍵Kc2を取り出す。取り出されたチャレンジ鍵Kc2は、暗号部323に伝達される。   The first decryption unit 322 decrypts the data encrypted with the public key KPd3 with the secret key Kd3. At the time of reproduction, the challenge key Kc2 issued by the storage device 200 is supplied from the storage device 200 as challenge information Ep (KPd3, Kc2) encrypted with the public key KPd3 of the reproduction device 300. Therefore, the first decryption unit 322 The private key Kd3 is used for decryption to extract the challenge key Kc2. The extracted challenge key Kc2 is transmitted to the encryption unit 323.

暗号部323は、第1復号部322により取り出されたチャレンジ鍵Kc2で、データの暗号化を行う。乱数発生部321で発生したセッション鍵Ks3と自身の公開鍵KPp3を連結して、これを暗号化し、セッション情報Es(Kc2,Ks3//KPp3)を生成する。   The encryption unit 323 encrypts data using the challenge key Kc2 extracted by the first decryption unit 322. The session key Ks3 generated by the random number generation unit 321 and its own public key KPp3 are concatenated and encrypted to generate session information Es (Kc2, Ks3 // KPp3).

第2復号部324は、セッション鍵Ks3で暗号化されたデータを復号する。ライセンスデータは、公開鍵KPp3およびセッション鍵Ks3により2重に暗号化された暗号化ライセンスデータEs(Ks3,Ep(KPp3,LIC))としてストレージデバイス200から供給されるため、第2復号部324は、乱数発生部321が発生したセッション鍵Ks3により復号して、その結果を第3復号部325に伝達される。   The second decryption unit 324 decrypts the data encrypted with the session key Ks3. Since the license data is supplied from the storage device 200 as encrypted license data Es (Ks3, Ep (KPp3, LIC)) that is doubly encrypted with the public key KPp3 and the session key Ks3, the second decryption unit 324 The session number Ks3 generated by the random number generation unit 321 is decrypted, and the result is transmitted to the third decryption unit 325.

第3復号部325は、公開鍵KPp3で暗号化されたデータの復号を行う。公開鍵KPp3と対をなす秘密鍵Kp3で、第2復号部324の結果を復号し、ライセンスデータLICを取り出す。取り出されたライセンスデータLICは、復号器304に伝達され、復号器304はこのライセンスデータLICに含まれるコンテンツ鍵を用いて暗号化コンテンツを復号する。   The third decryption unit 325 decrypts the data encrypted with the public key KPp3. The result of the second decryption unit 324 is decrypted with the secret key Kp3 paired with the public key KPp3, and the license data LIC is extracted. The extracted license data LIC is transmitted to the decryptor 304, and the decryptor 304 decrypts the encrypted content using the content key included in the license data LIC.

図6に示した暗号エンジン303においても、各構成要素を接続する形態にはいろいろな変更例が考えられるが、本実施の形態では、乱数発生部321が発生したセッション鍵Ks3、公開鍵と対をなしている秘密鍵Kd3およびKp3、ストレージデバイス200から受け取ったセッション鍵Ks2が、データバス310上を流れないように構成することで、暗号エンジン303内で使用される復号鍵が外部に漏洩することを防ぐ。   In the cryptographic engine 303 shown in FIG. 6, various modifications can be considered in the form of connecting each component. In the present embodiment, the session key Ks3 generated by the random number generation unit 321 is paired with the public key. Are configured so that the private keys Kd3 and Kp3 and the session key Ks2 received from the storage device 200 do not flow on the data bus 310, so that the decryption key used in the cryptographic engine 303 is leaked to the outside. To prevent that.

図7は、図4に示したストレージデバイス200の暗号エンジン203の内部構成を示す。これらの機能ブロックも、ハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できる。暗号エンジン203は、制御部220、乱数発生部221、証明書出力部222、証明書検証部223、第1復号部224、第1暗号部225、第2復号部226、第3復号部227、第2暗号部228、第4復号部229、第3暗号部230、第4暗号部231およびこれらの構成要素の少なくとも一部を電気的に接続するローカルバス240を備える。   FIG. 7 shows an internal configuration of the cryptographic engine 203 of the storage device 200 shown in FIG. These functional blocks can also be realized in various forms by hardware only, software only, or a combination thereof. The cryptographic engine 203 includes a control unit 220, a random number generation unit 221, a certificate output unit 222, a certificate verification unit 223, a first decryption unit 224, a first encryption unit 225, a second decryption unit 226, a third decryption unit 227, The second encryption unit 228, the fourth decryption unit 229, the third encryption unit 230, the fourth encryption unit 231 and a local bus 240 that electrically connects at least some of these components.

制御部220は、ストレージデバイス200のコントローラ201の指示に従って暗号エンジン203の内部の構成の制御および外部の構成との間でデータの入出力を仲介する。   The control unit 220 mediates data input / output between the control of the internal configuration of the cryptographic engine 203 and the external configuration in accordance with an instruction from the controller 201 of the storage device 200.

乱数発生部221は、記録装置100または再生装置300との間の暗号通信に一時的に使用される乱数rd2およびrp2、セッション鍵Ks2、チャレンジ鍵Kc2を、乱数演算によって発生する。具体的には、ストレージデバイス200がライセンスデータを提供する場合、乱数rd2、rp2とチャレンジ鍵Kc2を生成し、ストレージデバイス200がライセンスデータの提供を受ける場合、セッション鍵Ks2を生成する。   The random number generator 221 generates random numbers rd2 and rp2, a session key Ks2, and a challenge key Kc2 that are temporarily used for encrypted communication with the recording device 100 or the playback device 300 by random number calculation. Specifically, when the storage device 200 provides license data, random numbers rd2 and rp2 and a challenge key Kc2 are generated. When the storage device 200 receives provision of license data, a session key Ks2 is generated.

証明書出力部222は、ストレージデバイス200の証明書C[KPd2]を出力する。証明書は、証明書出力部222が保持してもよいし、ストレージデバイス200の所定の記憶領域、たとえば耐タンパ記憶部204に保持しておき、それを読み出してもよい。証明書は、ストレージデバイス200の公開鍵KPd2を含む証明書本体と、証明書本体に付された電子署名とを含む。電子署名は、認証局のルート鍵Kaにより暗号化される。   The certificate output unit 222 outputs the certificate C [KPd2] of the storage device 200. The certificate may be held by the certificate output unit 222, or may be held in a predetermined storage area of the storage device 200, for example, the tamper resistant storage unit 204, and read out. The certificate includes a certificate body including the public key KPd2 of the storage device 200 and an electronic signature attached to the certificate body. The electronic signature is encrypted with the root key Ka of the certificate authority.

証明書検証部223は、外部から提供された証明書の検証を行う。具体的には、記録装置100から取得した証明書C[KPd1]および再生装置300から取得した証明書C[KPd3]を認証鍵KPaにより検証する。検証の詳細な処理は、先に説明を行ったので、ここでは説明を省略する。   The certificate verification unit 223 verifies a certificate provided from the outside. Specifically, the certificate C [KPd1] acquired from the recording device 100 and the certificate C [KPd3] acquired from the playback device 300 are verified using the authentication key KPa. Since the detailed processing of the verification has been described above, the description thereof is omitted here.

第1復号部224は、自身の公開鍵KPd2で暗号化されたデータを復号する。具体的には、記録時には、記録装置100で発行されたチャレンジ鍵Kc1が、ストレージデバイス200の公開鍵KPd2で暗号化されチャレンジ情報Ep(KPd2,Kc1)=B*rd1//Es(KPd2*rd1,Kc1)として記録装置100から供給されるため、これを自身の秘密鍵Kd2で復号し、チャレンジ鍵Kc1を取り出す。取り出したチャレンジ鍵Kc1は、第1暗号部225に与えられる。   The first decryption unit 224 decrypts the data encrypted with its own public key KPd2. Specifically, at the time of recording, the challenge key Kc1 issued by the recording device 100 is encrypted with the public key KPd2 of the storage device 200 and challenge information Ep (KPd2, Kc1) = B * rd1 // Es (KPd2 * rd1 , Kc1) is supplied from the recording apparatus 100, and is decrypted with its own secret key Kd2, and the challenge key Kc1 is extracted. The extracted challenge key Kc1 is given to the first encryption unit 225.

第1暗号部225は、記録装置100が発行したチャレンジ鍵Kc1でデータを暗号化する。具体的には、具体的には、乱数発生部221が発生したセッション鍵Ks2と自身の公開鍵KPp2を連結して、チャレンジ鍵Kc1で暗号化し、セッション情報Es(Kc1,Ks2//KPp2)を生成する。   The first encryption unit 225 encrypts data with the challenge key Kc1 issued by the recording apparatus 100. Specifically, the session key Ks2 generated by the random number generator 221 and its own public key KPp2 are concatenated and encrypted with the challenge key Kc1, and the session information Es (Kc1, Ks2 // KPp2) is obtained. Generate.

第2復号部226は、乱数発生部221が発生したセッション鍵Ks2で暗号化されたデータを復号する。具体的には、ライセンスデータLICが、公開鍵KPp2およびセッション鍵Ks2により2重に暗号化された暗号化ライセンスデータEs(Ks2,Ep(KPp2,LIC))として記録装置100から受け取るため、これをセッション鍵Ks2により復号して、結果を第3復号部227に与える。   The second decryption unit 226 decrypts the data encrypted with the session key Ks2 generated by the random number generation unit 221. Specifically, since the license data LIC is received from the recording apparatus 100 as encrypted license data Es (Ks2, Ep (KPp2, LIC)) that is doubly encrypted with the public key KPp2 and the session key Ks2, this is received. Decryption is performed using the session key Ks2, and the result is given to the third decryption unit 227.

第3復号部227は、自身の公開鍵KPp2で暗号化されたデータを復号する。第2復号部226から与えられる公開鍵KPp2で暗号化されたライセンスデータEp(KPp2,LIC)=B*rp1//Es(KPp2*rp1,LIC)を、公開鍵KPp2と対をなす自身の秘密鍵Kp2で復号し、ライセンスデータLICを取り出す。   The third decryption unit 227 decrypts the data encrypted with its own public key KPp2. The license data Ep (KPp2, LIC) = B * rp1 // Es (KPp2 * rp1, LIC) encrypted with the public key KPp2 given from the second decryption unit 226 is its own secret paired with the public key KPp2. Decrypt with the key Kp2 and take out the license data LIC.

取り出されたライセンスデータLICは、ローカルバス240、制御部220を介して、データバス210に供給され、コントローラ201の指示に従って、耐タンパ記憶部204に記憶される。   The extracted license data LIC is supplied to the data bus 210 via the local bus 240 and the control unit 220, and is stored in the tamper resistant storage unit 204 in accordance with an instruction from the controller 201.

第2暗号部228は、再生装置300の公開鍵KPd3でデータを暗号化する。具体的には、再生装置300に対してライセンスデータを提供する場合に、再生装置300から受け取った証明書C[KPd3]から取り出された公開鍵KPd3で、乱数発生部221が生成したチャレンジ鍵Kc2を暗号化し、チャレンジ情報Ep(KPd3,Kc2)=B*rd2//Es(KPd3*rd2,Kc2)を生成する。暗号化には、乱数発生部221が生成した乱数rd2を使用する。生成した暗号化チャレンジ鍵Ep(KPd3,Kc2)は、ローカルバス240を介して制御部220へ与えられる。   The second encryption unit 228 encrypts data with the public key KPd3 of the playback device 300. Specifically, when the license data is provided to the playback device 300, the challenge key Kc2 generated by the random number generation unit 221 with the public key KPd3 extracted from the certificate C [KPd3] received from the playback device 300. Is encrypted, and challenge information Ep (KPd3, Kc2) = B * rd2 // Es (KPd3 * rd2, Kc2) is generated. For the encryption, the random number rd2 generated by the random number generation unit 221 is used. The generated encryption challenge key Ep (KPd3, Kc2) is given to the control unit 220 via the local bus 240.

第4復号部229は、乱数発生部221が生成したチャレンジ鍵Kc2で暗号化されたデータを復号する。再生装置300から受け取ったセッション情報Es(Kc2,Ks3//KPp3)を、乱数発生部221が生成したチャレンジ鍵Kc2で復号し、セッション鍵Ks3および再生装置300の公開鍵KPp3を取り出す。取り出されたセッション鍵Ks3と公開鍵KPp3は、それぞれ第4暗号部231、第3暗号部230に伝達される。   The fourth decryption unit 229 decrypts the data encrypted with the challenge key Kc2 generated by the random number generation unit 221. The session information Es (Kc2, Ks3 // KPp3) received from the playback device 300 is decrypted with the challenge key Kc2 generated by the random number generation unit 221, and the session key Ks3 and the public key KPp3 of the playback device 300 are extracted. The extracted session key Ks3 and public key KPp3 are transmitted to the fourth encryption unit 231 and the third encryption unit 230, respectively.

第3暗号部230は、再生装置300の公開鍵KPp3でデータを暗号化する。再生装置300に対してライセンスデータを提供する場合、再生装置300から受け取った公開鍵KPp3で、ライセンスデータLICを暗号化し、Ep(KPp3,LIC)=B*rp2//Es(KPp3*rp2,LIC)する。ライセンスデータは、コントローラ201の指示に従って、耐タンパ記憶部204から読み出され、データバス210、制御部220およびローカルバス240を介して第3暗号部230に供給される。また、暗号化には、乱数発生部221が生成した乱数rp2を使用する。   The third encryption unit 230 encrypts the data with the public key KPp3 of the playback device 300. When providing license data to the playback device 300, the license data LIC is encrypted with the public key KPp3 received from the playback device 300, and Ep (KPp3, LIC) = B * rp2 // Es (KPp3 * rp2, LIC ) The license data is read from the tamper resistant storage unit 204 in accordance with an instruction from the controller 201 and supplied to the third encryption unit 230 via the data bus 210, the control unit 220, and the local bus 240. In addition, the random number rp2 generated by the random number generator 221 is used for encryption.

第4暗号部231は、再生装置300が発行したセッション鍵Ks3でデータを暗号化する。具体的には、セッション鍵Ks3で、第3暗号部230において再生装置300の公開鍵KPp3で暗号化されたライセンスデータをさらに暗号化し、暗号化ライセンスデータEs(Ks3,Ep(KPp3,LIC))を生成する。   The fourth encryption unit 231 encrypts data with the session key Ks3 issued by the playback device 300. Specifically, the license data encrypted with the public key KPp3 of the playback device 300 in the third encryption unit 230 is further encrypted with the session key Ks3, and the encrypted license data Es (Ks3, Ep (KPp3, LIC)) Is generated.

図8および図9は、記録装置100がストレージデバイス200にライセンスデータLICを記録するまでの手順を示す。   8 and 9 show a procedure until the recording apparatus 100 records the license data LIC in the storage device 200. FIG.

まず、記録装置100のコントローラ101は、ストレージデバイス200に対して証明書出力命令を発行する(S102)。ストレージデバイス200のコントローラ201は、証明書出力命令を正常に受理する(S104)と、暗号エンジン203に証明書の出力を命じ、暗号エンジン203から証明書C[KPd2]を読み出して記録装置100へ出力する(S106)。   First, the controller 101 of the recording apparatus 100 issues a certificate output command to the storage device 200 (S102). When the controller 201 of the storage device 200 normally accepts the certificate output command (S104), the controller 201 instructs the cryptographic engine 203 to output the certificate, reads the certificate C [KPd2] from the cryptographic engine 203, and sends it to the recording device 100. Output (S106).

コントローラ101は、ストレージデバイス200から証明書C[KPd2]を取得すると、それを記録装置100の暗号エンジン103に送る(S108)。暗号エンジン103がストレージデバイス200の証明書C[KPd2]を受信すると(S110)、証明書検証部120は、検証鍵KPaで証明書を検証する(S112)。証明書が承認されなかった場合(S112のN)、証明書検証部120は検証エラー通知をコントローラ101に送信する(S190)。コントローラ101は、エラー通知を受信すると(S192)、処理を異常終了する。   Upon obtaining the certificate C [KPd2] from the storage device 200, the controller 101 sends it to the cryptographic engine 103 of the recording device 100 (S108). When the cryptographic engine 103 receives the certificate C [KPd2] of the storage device 200 (S110), the certificate verification unit 120 verifies the certificate with the verification key KPa (S112). When the certificate is not approved (N in S112), the certificate verification unit 120 transmits a verification error notification to the controller 101 (S190). When the controller 101 receives the error notification (S192), it ends the process abnormally.

証明書が承認された場合(S112のY)、暗号エンジン103は、乱数発生部121においてチャレンジ鍵Kc1を生成し、生成したチャレンジ鍵Kc1を第1暗号部122と復号部123に伝達する。復号部123は、このチャレンジ鍵Kc1を内部に保持する(S114)。さらに、乱数発生部121は、乱数rd1を生成し、生成した乱数rd1を第1暗号部122に伝達する。第1暗号部122では、乱数rd1を用いて、シェアード鍵KPd2*rd1とパラメータB*rd1を演算する(S116)。このシェアード鍵KPd2*rd1で、チャレンジ鍵Kc1を暗号化して、チャレンジ情報Ep(KPd2,Kc1)=B*rd1//Es(KPd2*rd1,Kc1)を生成し、コントローラ101に伝達する(S118)。   When the certificate is approved (Y in S112), the cryptographic engine 103 generates a challenge key Kc1 in the random number generation unit 121, and transmits the generated challenge key Kc1 to the first encryption unit 122 and the decryption unit 123. The decryption unit 123 holds the challenge key Kc1 inside (S114). Furthermore, the random number generation unit 121 generates a random number rd1 and transmits the generated random number rd1 to the first encryption unit 122. The first encryption unit 122 calculates the shared key KPd2 * rd1 and the parameter B * rd1 using the random number rd1 (S116). The challenge key Kc1 is encrypted with the shared key KPd2 * rd1, and challenge information Ep (KPd2, Kc1) = B * rd1 // Es (KPd2 * rd1, Kc1) is generated and transmitted to the controller 101 (S118). .

コントローラ101は、チャレンジ情報Ep(KPd2,Kc1)を受信すると(S120)、ストレージデバイス200に対してチャレンジ情報処理命令を発行する(S124)。ストレージデバイス200では、コントローラ201がチャレンジ情報処理命令を受理すると、チャレンジ情報Ep(KPd2,Kc1)の入力を要求する(S126)。記録装置100のコントローラ101は、この要求に応じてチャレンジ情報Ep(KPd2,Kc1)をストレージデバイス200へ出力する(S128)。   Upon receiving the challenge information Ep (KPd2, Kc1) (S120), the controller 101 issues a challenge information processing command to the storage device 200 (S124). In the storage device 200, when the controller 201 receives the challenge information processing command, the controller 201 requests input of challenge information Ep (KPd2, Kc1) (S126). In response to this request, the controller 101 of the recording apparatus 100 outputs challenge information Ep (KPd2, Kc1) to the storage device 200 (S128).

ストレージデバイス200は、チャレンジ情報Ep(KPd2,Kc1)を受理すると(S130)、暗号エンジン203では、第1復号部224が、チャレンジ情報Ep(KPd2,Kc1)をパラメータB*rd1と暗号化チャレンジ鍵Es(KPd2*rd1,Kc1)に分解する。パラメータB*rd1と自身の秘密鍵Kd2から、シェアード鍵Kd2*B*rd1(=KPd2*rd1)を演算し(S132)、これで暗号化チャレンジ鍵Es(KPd2*rd1,Kc1)を復号し、チャレンジ鍵Kc1を取り出す(S134)。そして、第1復号部224にて取り出されたチャレンジ鍵Kc1は、第1暗号部225に保持される(S136)。   When the storage device 200 receives the challenge information Ep (KPd2, Kc1) (S130), in the cryptographic engine 203, the first decryption unit 224 uses the challenge information Ep (KPd2, Kc1) as the parameter B * rd1 and the encrypted challenge key. Decomposes into Es (KPd2 * rd1, Kc1). The shared key Kd2 * B * rd1 (= KPd2 * rd1) is calculated from the parameter B * rd1 and the private key Kd2 (S132), and the encrypted challenge key Es (KPd2 * rd1, Kc1) is decrypted. The challenge key Kc1 is extracted (S134). Then, the challenge key Kc1 extracted by the first decryption unit 224 is held in the first encryption unit 225 (S136).

一方、コントローラ101は、ストレージデバイス200においてチャレンジ情報処理命令の処理が終了すると、ストレージデバイス200に対してセッション情報生成命令を発行する(S138)。ストレージデバイス200では、コントローラ201がセッション情報生成命令を受理すると(S140)、暗号エンジン203では制御部220の指示に従って、乱数発生部221がセッション鍵Ks2を生成し、生成したセッション鍵Ks2を第2復号部226および第1暗号部225に与える。そして、第2復号部226は、このセッション鍵Ks2を保持する(S142)。第1暗号部225は、このセッション鍵Ks2と自身の公開鍵KPp2とを連結し、ステップS136で保持したチャレンジ鍵Kc1で暗号化して、セッション情報Es(Kc1,Ks2//KPp2)を生成する(S144)。   On the other hand, when the processing of the challenge information processing command is completed in the storage device 200, the controller 101 issues a session information generation command to the storage device 200 (S138). In the storage device 200, when the controller 201 receives a session information generation command (S140), the cryptographic engine 203 generates a session key Ks2 according to an instruction from the control unit 220, and the generated session key Ks2 is second. This is given to the decryption unit 226 and the first encryption unit 225. Then, the second decryption unit 226 holds this session key Ks2 (S142). The first encryption unit 225 concatenates the session key Ks2 and its own public key KPp2, encrypts it with the challenge key Kc1 held in step S136, and generates session information Es (Kc1, Ks2 // KPp2) ( S144).

一方、記録装置100のコントローラ101は、ストレージデバイス200においてセッション情報生成命令の処理が終了すると、セッション情報出力命令を発行する(S146)。ストレージデバイス200では、セッション情報出力命令を受理すると(S148)、コントローラ201が、暗号エンジン203からセッション情報Es(Kc1,Ks2//KPp2)を読み出し、記録装置100のコントローラ101へ出力する(S150)。   On the other hand, when the processing of the session information generation command is completed in the storage device 200, the controller 101 of the recording apparatus 100 issues a session information output command (S146). In the storage device 200, when the session information output command is received (S148), the controller 201 reads the session information Es (Kc1, Ks2 // KPp2) from the cryptographic engine 203 and outputs it to the controller 101 of the recording apparatus 100 (S150). .

記録装置100のコントローラ101は、ストレージデバイス200からセッション情報Es(Kc1,Ks2//KPp2)を受信すると、それを暗号エンジン103に送る(S152)。暗号エンジン103が、コントローラ101からセッション情報Es(Kc1,Ks2//KPp2)を受信すると(S154)、復号部123は、ステップS114で保持したチャレンジ鍵Kc1でセッション情報Es(Kc1,Ks2//KPp2)を復号し、セッション鍵Ks2とストレージデバイス200の公開鍵KPp2を取り出し(S156)、それぞれ第3暗号部125、第2暗号部124に伝達する。   Upon receiving the session information Es (Kc1, Ks2 // KPp2) from the storage device 200, the controller 101 of the recording device 100 sends it to the cryptographic engine 103 (S152). When the cryptographic engine 103 receives the session information Es (Kc1, Ks2 // KPp2) from the controller 101 (S154), the decryption unit 123 uses the challenge key Kc1 held in step S114 to store the session information Es (Kc1, Ks2 // KPp2). ) And the session key Ks2 and the public key KPp2 of the storage device 200 are extracted (S156) and transmitted to the third encryption unit 125 and the second encryption unit 124, respectively.

つづいて、暗号エンジン103は、このライセンスデータの記録が、ステップS114のチャレンジ鍵Kc1保持後、初回の記録処理か、繰り返し記録による2回目以降の記録処理かを判断する(S158)。初回の処理の場合(S158のY)、暗号エンジン103は、乱数発生部121において乱数rp1を生成し、生成した乱数rp1を第2暗号部124に伝達する。第2暗号部124では、乱数rp1を用いて、シェアード鍵KPp2*rp1とパラメータB*rp1を演算し、内部に保持する(S160)。   Subsequently, the cryptographic engine 103 determines whether the recording of the license data is the first recording process after holding the challenge key Kc1 in step S114 or the second and subsequent recording processes by repeated recording (S158). In the case of the first processing (Y in S158), the cryptographic engine 103 generates a random number rp1 in the random number generation unit 121 and transmits the generated random number rp1 to the second encryption unit 124. The second encryption unit 124 calculates the shared key KPp2 * rp1 and the parameter B * rp1 using the random number rp1 and holds it inside (S160).

一方、2回目以降の処理の場合(S158のN)、ステップS160をスキップし、すなわち、シェアード鍵KPp2*rp1とパラメータB*rp1を生成せず、次のステップS162へ進む。   On the other hand, in the case of the second and subsequent processes (N in S158), step S160 is skipped, that is, the shared key KPp2 * rp1 and parameter B * rp1 are not generated, and the process proceeds to the next step S162.

第2暗号部124は、保持しているシェアード鍵KPp2*rp1で、暗号器104が発行したライセンスデータLICを暗号化して、暗号化ライセンスデータEp(KPp2,LIC)=B*rp1//Es(KPp2*rp1,LIC)を生成し、第3暗号部125に伝達する。そして、第3暗号部125は、第2暗号部124により生成された暗号化ライセンスデータEp(KPp2,LIC)を、さらに、ストレージデバイス200が発行したセッション鍵Ks2で暗号化し、暗号化ライセンスデータEs(Ks2,Ep(KPp2,LIC))を生成し、コントローラ101に送る(S162)。   The second encryption unit 124 encrypts the license data LIC issued by the encryptor 104 with the stored shared key KPp2 * rp1, and the encrypted license data Ep (KPp2, LIC) = B * rp1 // Es ( KPp2 * rp1, LIC) is generated and transmitted to the third encryption unit 125. Then, the third encryption unit 125 further encrypts the encrypted license data Ep (KPp2, LIC) generated by the second encryption unit 124 with the session key Ks2 issued by the storage device 200, and the encrypted license data Es (Ks2, Ep (KPp2, LIC)) is generated and sent to the controller 101 (S162).

このように、初回の場合(158のY)、新しくシェアード鍵KPp2*rp1とパラメータB*rp1を生成する楕円曲線上での乗算、すなわち、公開鍵暗号方式による暗号演算を行い、演算結果であるシェアード鍵KPp2*rp1とパラメータB*rp1を用いてステップS162を実施し、暗号化ライセンスデータEs(Ks2,Ep(KPp2,LIC))を生成し、コントローラ101に送る。   Thus, in the first case (Y of 158), multiplication is performed on the elliptic curve for newly generating the shared key KPp2 * rp1 and the parameter B * rp1, that is, the cryptographic calculation is performed by the public key cryptosystem, and the result is the calculation result. Step S162 is performed using the shared key KPp2 * rp1 and the parameter B * rp1, and encrypted license data Es (Ks2, Ep (KPp2, LIC)) is generated and sent to the controller 101.

一方、2回目以降の処理の場合(S158のN)、新たにシェアード鍵KPp2*rp1とパラメータB*rp1を生成せず、ステップS160へ進み、初回の処理で作成し、第2暗号部124の内部に保持されたシェアード鍵KPp2*rp1とパラメータB*rp1を用いて、ステップS162を実施し、暗号化ライセンスデータEs(Ks2,Ep(KPp2,LIC))を生成し、コントローラ101に送る。すなわち、シェアード鍵KPp2*rp1とパラメータB*rp1の生成を行わないため、楕円曲線上での乗算を省略でき、データの暗号化処理のみを行う。この場合の処理時間は、共通鍵暗号方式の暗号演算と同様であり、高速演算が可能である。このように、2回目以降の処理は、楕円曲線上での乗算を行う初回の処理と比べて、高速に処理することができる。   On the other hand, in the case of the second and subsequent processes (N in S158), the shared key KPp2 * rp1 and the parameter B * rp1 are not newly generated, and the process proceeds to Step S160, which is created in the first process, and the second encryption unit 124 Using shared key KPp2 * rp1 and parameter B * rp1 held inside, step S162 is performed to generate encrypted license data Es (Ks2, Ep (KPp2, LIC)) and send it to controller 101. That is, since the shared key KPp2 * rp1 and the parameter B * rp1 are not generated, the multiplication on the elliptic curve can be omitted, and only the data encryption process is performed. The processing time in this case is the same as the cryptographic operation of the common key cryptosystem, and high-speed operation is possible. As described above, the second and subsequent processes can be performed at a higher speed than the first process that performs multiplication on an elliptic curve.

コントローラ101は、暗号化ライセンスデータEs(Ks2,Ep(KPp2,LIC))を受信すると(S164)、ストレージデバイス200に対してライセンスデータ書込命令を発行する(S166)。ライセンス書込命令は、耐タンパ記憶部204における記録位置を指定するアドレスと、暗号化ライセンスデータを復号する時に、シェアード鍵生成の演算の有無を示す制御情報を伴っている。ここでアドレスとは、論理アドレスを示し、耐タンパ記憶部204における記録位置を直接指定するものではないが、アドレスを指定して記録したデータは、同じアドレスを指定することで読み出せるようにコントローラ201によって管理されている。しかしながら、直接、耐タンパ記憶部204における位置を示す物理アドレスであってもよい。   Upon receiving the encrypted license data Es (Ks2, Ep (KPp2, LIC)) (S164), the controller 101 issues a license data write command to the storage device 200 (S166). The license write command is accompanied by an address for specifying a recording position in the tamper resistant storage unit 204 and control information indicating whether or not a shared key generation operation is performed when decrypting the encrypted license data. Here, the address indicates a logical address and does not directly specify the recording position in the tamper-resistant storage unit 204, but the controller records the data recorded by specifying the address so that it can be read by specifying the same address. 201. However, the physical address directly indicating the position in the tamper resistant storage unit 204 may be used.

ストレージデバイス200は、ライセンス書込命令を受理すると(S168)、暗号化ライセンスデータの入力を要求し、記録装置100のコントローラ101は、この要求に応じて、暗号化ライセンスデータEs(Ks2,Ep(KPp2,LIC))をストレージデバイス200へ出力する(S170)。   When the storage device 200 accepts the license write command (S168), the storage device 200 requests input of encrypted license data, and the controller 101 of the recording apparatus 100 responds to the request with the encrypted license data Es (Ks2, Ep ( KPp2, LIC)) is output to the storage device 200 (S170).

ストレージデバイス200は、暗号化ライセンスデータEs(Ks2,Ep(KPp2,LIC))を受理すると(S172)、暗号エンジン203の第2復号部226に伝達する。第2復号部226は、内部に保持しているセッション鍵Ks2で暗号化ライセンスデータEs(Ks2,Ep(KPp2,LIC))を復号し、自身の公開鍵KPp2で暗号化されたライセンスデータEp(KPp2,LIC)を取り出す(S174)。そして、取り出した暗号化されたライセンスデータEp(KPp2,LIC)を第3復号部227に伝達する。   When the storage device 200 receives the encrypted license data Es (Ks2, Ep (KPp2, LIC)) (S172), it transmits the encrypted license data Es to the second decryption unit 226 of the cryptographic engine 203. The second decryption unit 226 decrypts the encrypted license data Es (Ks2, Ep (KPp2, LIC)) with the session key Ks2 held therein, and the license data Ep (encrypted with its own public key KPp2). KPp2, LIC) is taken out (S174). The extracted encrypted license data Ep (KPp2, LIC) is transmitted to the third decryption unit 227.

そして、制御部220は、シェアード鍵の生成の有無を示す制御情報を確認する(S176)。生成が必要な場合、すなわち、このライセンスデータの記録が、ステップS136の共通鍵Kc1保持後、初回の記録処理の場合(S176のY)、第3復号部227は、伝達されたEp(KPp2,LIC)=B*rp1//Es(KPp2*rp1,LIC)から、パラメータB*rp1を取り出し、パラメータB*rp1と自身の秘密鍵Kp2から、シェアード鍵Kp2*B*rp1=KPp2*rp1を楕円曲線上で演算し、これを内部に保持する(S178)。   And the control part 220 confirms the control information which shows the presence or absence of the production | generation of a shared key (S176). When generation is necessary, that is, when the recording of this license data is the first recording process after holding the common key Kc1 in step S136 (Y in S176), the third decryption unit 227 transmits the transmitted Ep (KPp2, LIC) = B * rp1 // Es (KPp2 * rp1, LIC), the parameter B * rp1 is extracted, and the shared key Kp2 * B * rp1 = KPp2 * rp1 is ellipse from the parameter B * rp1 and its own secret key Kp2. Calculation is performed on the curve, and this is held inside (S178).

一方、シェアード鍵の演算が不要な場合、すなわち、2回目以降の処理の場合(S176のN)、ステップS178をスキップし、シェアード鍵Kp2*B*rp1を生成せず、次のステップS180へ進む。   On the other hand, when the calculation of the shared key is unnecessary, that is, in the case of the second and subsequent processing (N in S176), step S178 is skipped, the shared key Kp2 * B * rp1 is not generated, and the process proceeds to the next step S180. .

第3復号部227は、内部に保持する鍵Kp2*B*rp1で、第2復号部226から伝達された暗号化されたライセンスデータEp(KPp2,LIC)を復号してライセンスデータLICを取り出し(S180)、ローカルバス240、制御部220を介してデータバス210に伝達する。   The third decryption unit 227 uses the key Kp2 * B * rp1 held therein to decrypt the encrypted license data Ep (KPp2, LIC) transmitted from the second decryption unit 226 to extract the license data LIC ( S180), the data is transmitted to the data bus 210 via the local bus 240 and the control unit 220.

このように、初回の場合(176のY)、新しくシェアード鍵Kp2*B*rp1とを生成する楕円曲線上での乗算、すなわち、公開鍵暗号方式による暗号演算を行い、演算結果であるシェアード鍵KPp2*rp1で、暗号化ライセンスデータEp(KPp2,LIC)を復号し、ライセンスデータLICを取り出す。   In this way, in the first case (Y in 176), multiplication on the elliptic curve for generating a new shared key Kp2 * B * rp1, that is, cryptographic operation by the public key cryptosystem is performed, and the shared key as the operation result is obtained. The encrypted license data Ep (KPp2, LIC) is decrypted with KPp2 * rp1, and the license data LIC is extracted.

一方、2回目以降の処理の場合(S176のN)、新たにシェアード鍵KPp2*rp1を生成せずにステップS180へ進み、初回の処理で作成し、第3復号部227に保持されたシェアード鍵Kp2*B*rp1を用いて、暗号化ライセンスデータEp(KPp2,LIC)を復号し、ライセンスデータLICを取り出す。   On the other hand, in the case of the second and subsequent processes (N in S176), the process proceeds to step S180 without newly generating the shared key KPp2 * rp1, and is created in the first process and is stored in the third decryption unit 227. Using Kp2 * B * rp1, the encrypted license data Ep (KPp2, LIC) is decrypted, and the license data LIC is taken out.

コントローラ201は、データバス210に伝達されたライセンスデータを耐タンパ記憶部204の指定されたアドレスに記憶する格納処理を行う(S182)。   The controller 201 performs a storage process of storing the license data transmitted to the data bus 210 at a specified address of the tamper resistant storage unit 204 (S182).

一方、コントローラ101は、ストレージデバイス200においてライセンスデータ書込命令の処理が終了後、続けてライセンスデータを記録するか否か判断する(S184)。   On the other hand, after the processing of the license data write command is completed in the storage device 200, the controller 101 determines whether to continue recording license data (S184).

続けてライセンスデータを記録する場合(S184のY)、ステップS138に移行して、セッション情報の生成命令の発行から手順を開始する。これは、複数のライセンスデータを記録する場合に、証明書の検証処理および、公開鍵暗号方式による暗号演算および復号演算を複数の記録処理で共有し、続けてライセンスデータを記録する場合に、2回目以降の記録にかかる処理時間を短縮するための手順である。1つのライセンスデータの記録後、直ちに次のライセンスデータの記録を行わなければならないわけではない。暗号エンジン103とストレージデバイス200が、チャレンジ鍵Kc1とシェアード鍵KPp2*rp1とパラメータB*rp1を共有している、具体的には、記録装置100の暗号エンジン103の復号部123と、ストレージデバイス200の暗号エンジン203の第1暗号部225が、同じチャレンジ鍵Kc1を保持し、かつ、記録装置100の暗号エンジン103の第2暗号部124と、ストレージデバイス200の暗号エンジン203の第3復号部227が、同じシェアード鍵KPp2*rp1とパラメータB*rp1をともに保持している状態であればいかなるタイミングであっても良い。   When license data is continuously recorded (Y in S184), the process proceeds to step S138, and the procedure is started from the issue of the session information generation command. This is because, when a plurality of license data is recorded, the certificate verification process and the encryption operation and the decryption operation by the public key cryptosystem are shared by the plurality of recording processes, and when the license data is subsequently recorded, 2 This is a procedure for shortening the processing time required for the subsequent recording. It is not necessary to record the next license data immediately after recording one license data. The encryption engine 103 and the storage device 200 share the challenge key Kc1, the shared key KPp2 * rp1, and the parameter B * rp1, specifically, the decryption unit 123 of the encryption engine 103 of the recording apparatus 100 and the storage device 200. The first encryption unit 225 of the encryption engine 203 holds the same challenge key Kc1, and the second encryption unit 124 of the encryption engine 103 of the recording device 100 and the third decryption unit 227 of the encryption engine 203 of the storage device 200 However, any timing may be used as long as the same shared key KPp2 * rp1 and parameter B * rp1 are both held.

また、続けてライセンスデータを記録する場合であっても、ステップS102から手順を開始してもよいが、2回目以降であっても、初回として扱われるために記録時に時間を要することになる。   Even if the license data is continuously recorded, the procedure may be started from step S102. However, even after the second time, the time is required for recording because it is treated as the first time.

一方、続けてライセンスデータを記録しない場合(S184のN)、処理は正常終了する。   On the other hand, if the license data is not continuously recorded (N in S184), the process ends normally.

以上の手順により、暗号化されたコンテンツを復号し再生するために必要なライセンスデータがストレージデバイス200に記録される。暗号化コンテンツは、通常データであり、通常コマンドによって直接ストレージデバイス200の通常データ記憶部205に記憶される。この通常データの記憶処理については、その説明を省略する。   With the above procedure, the license data necessary for decrypting and playing back the encrypted content is recorded in the storage device 200. The encrypted content is normal data and is directly stored in the normal data storage unit 205 of the storage device 200 by a normal command. The description of the normal data storage process is omitted.

なお、ストレージデバイス200へのライセンスデータと暗号化コンテンツデータの記録順序は、いずれが先であってもかまわない。さらには、暗号化コンテンツデータの記録時における、空き時間にセキュアコマンドを分割して発行することで、ライセンスデータを記録するようにしてもよい。   Note that the recording order of the license data and the encrypted content data to the storage device 200 may be any first. Further, the license data may be recorded by dividing and issuing the secure command during the free time when recording the encrypted content data.

また、ストレージデバイス200の暗号エンジン203の制御部220において、初回の処理か、2回目以降の処理かを判断する手段として、ライセンス書込命令に、シェアード鍵生成の演算の有無を指示するように示したが、本実施の形態のように、シェアード鍵の演算の有無に関わらず、暗号化ライセンスデータにパラメータが含まれる場合、初回の処理時にパラメータを保持しておき、保持したパラメータと受理した暗号化ライセンスデータに含まれるパラメータの一致・不一致をもって、2回目以降か否かを判断してもよい。さらには、2回目以降は、暗号化ライセンスデータにパラメータを含まない形式とし、パラメータの有無によって判断するようにしてもよい。また、本実施の形態における暗号エンジン103と同様に、処理手順を内部で管理して判断してもよい。なお、暗号エンジン103における判断も同様にすることができる。   Further, in the control unit 220 of the cryptographic engine 203 of the storage device 200, as a means for determining whether the process is the first process or the second process or later, the license write command is instructed whether or not a shared key generation operation is performed. As shown in this embodiment, if the encrypted license data includes a parameter regardless of whether or not the shared key is calculated, the parameter is retained at the first processing and accepted as the retained parameter. Whether the parameter is included in the encrypted license data may be determined based on whether the parameters included in the encrypted license data match or not. Further, after the second time, the encrypted license data may be in a format that does not include parameters, and the determination may be made based on the presence or absence of parameters. Further, similarly to the cryptographic engine 103 in the present embodiment, the processing procedure may be managed and determined internally. The determination in the cryptographic engine 103 can be made in the same manner.

なお、図8および図9に示した記録装置100がストレージデバイス200にライセンスデータを記録するまでの手順は、正常に処理が推移した場合の例である。   Note that the procedure until the recording apparatus 100 shown in FIGS. 8 and 9 records the license data in the storage device 200 is an example in the case of normal processing transition.

図10および図11は、再生装置300がストレージデバイス200からライセンスデータを読み出すまでの手順を示す。   10 and 11 show a procedure until the playback device 300 reads license data from the storage device 200. FIG.

まず、再生装置300のコントローラ301は、暗号エンジン303に対して証明書の送信要求を行う(S302)。暗号エンジン303は、この送信要求を受け取ると(S304)、証明書出力部320により、証明書C[KPd3]をコントローラ301へ送る(S306)。コントローラ301は、暗号エンジン303から証明書C[KPd3]を受信すると(S308)、ストレージデバイス200に対して証明書検証命令を発行する(S310)。   First, the controller 301 of the playback device 300 makes a certificate transmission request to the cryptographic engine 303 (S302). When the cryptographic engine 303 receives the transmission request (S304), the certificate output unit 320 sends the certificate C [KPd3] to the controller 301 (S306). Upon receiving the certificate C [KPd3] from the cryptographic engine 303 (S308), the controller 301 issues a certificate verification command to the storage device 200 (S310).

ストレージデバイス200は、証明書検証命令を受理すると(S312)、証明書の入力を要求し、再生装置300のコントローラ301は、この要求に応じて、暗号エンジン303から受け取った証明書C[KPd3]をストレージデバイス200へ出力する(S314)。   When the storage device 200 receives the certificate verification command (S312), the storage device 200 requests the input of the certificate, and the controller 301 of the playback device 300 responds to the request with the certificate C [KPd3] received from the cryptographic engine 303. Is output to the storage device 200 (S314).

ストレージデバイス200は、証明書C[KPd3]を受理すると(S316)、証明書C[KPd3]を内部の暗号エンジン203に与える。暗号エンジン203内では制御部220の指示に従って、証明書検証部223が、証明書C[KPd3]を検証鍵KPaで検証する(S318)。証明書が承認されなかった場合(S318のN)、証明書検証部223は検証エラー通知を制御部220、コントローラ201、ストレージインタフェース202を介して、コントローラ301に送信する(S400)。再生装置300のコントローラ301は、エラー通知を受信すると(S402)、処理を異常終了する。   When the storage device 200 receives the certificate C [KPd3] (S316), the storage device 200 gives the certificate C [KPd3] to the internal encryption engine 203. In the cryptographic engine 203, the certificate verification unit 223 verifies the certificate C [KPd3] with the verification key KPa according to the instruction of the control unit 220 (S318). When the certificate is not approved (N in S318), the certificate verification unit 223 transmits a verification error notification to the controller 301 via the control unit 220, the controller 201, and the storage interface 202 (S400). When receiving the error notification (S402), the controller 301 of the playback device 300 abnormally ends the process.

一方、証明書C[KPd3]が承認された場合(S318のY)、暗号エンジン203は、公開鍵KPd3を第2暗号部228に保持する(S320)。   On the other hand, when the certificate C [KPd3] is approved (Y in S318), the cryptographic engine 203 holds the public key KPd3 in the second cryptographic unit 228 (S320).

一方、再生装置300のコントローラ301は、ストレージデバイス200で、暗号エンジン303の証明書C[KPd3]が承認されると、ストレージデバイス200に対してチャレンジ情報生成命令を発行する(S322)。そして、ストレージデバイス200は、チャレンジ情報生成命令を受理する(S324)。そして、暗号エンジン203内では制御部220の指示に従って、乱数発生部221がチャレンジ鍵Kc2を生成し、生成したチャレンジ鍵Kc2を第2暗号部228および第4復号部229に伝達する。そして、第4復号部229は、このチャレンジ鍵Kc2を内部に保持する(S326)。さらに乱数発生部221は、乱数rd2を生成し、生成した乱数rd2を第2暗号部228に伝達する。そして、第2暗号部228は、ステップS320にて保持した公開鍵KPd3と乱数rd2とを演算し、シェアード鍵KPd3*rd2およびパラメータB*rd2を算出する(S328)。そして、乱数発生部221から伝達されたチャレンジ鍵Kc2を、演算したシェアード鍵KPd3*rd2で暗号化し、チャレンジ情報Ep(KPd3,Kc2)を生成する(S330)。   On the other hand, when the storage device 200 approves the certificate C [KPd3] of the cryptographic engine 303 in the storage device 200, the controller 301 issues a challenge information generation command to the storage device 200 (S322). Then, the storage device 200 receives the challenge information generation command (S324). In the cryptographic engine 203, the random number generation unit 221 generates a challenge key Kc 2 in accordance with an instruction from the control unit 220, and transmits the generated challenge key Kc 2 to the second encryption unit 228 and the fourth decryption unit 229. Then, the fourth decryption unit 229 holds the challenge key Kc2 inside (S326). Further, the random number generation unit 221 generates a random number rd2 and transmits the generated random number rd2 to the second encryption unit 228. Then, the second encryption unit 228 calculates the public key KPd3 and the random number rd2 held in step S320, and calculates the shared key KPd3 * rd2 and the parameter B * rd2 (S328). Then, the challenge key Kc2 transmitted from the random number generator 221 is encrypted with the calculated shared key KPd3 * rd2 to generate challenge information Ep (KPd3, Kc2) (S330).

一方、コントローラ101は、ストレージデバイス200においてチャレンジ情報生成命令の処理が終了すると、チャレンジ情報出力命令を発行する(S332)。そして、ストレージデバイス200は、チャレンジ情報出力命令を受理すると(S334)、コントローラ201によって、暗号エンジン203からチャレンジ情報Ep(KPd3,Kc2)を取り出し、再生装置300のコントローラ301へ出力する(S336)。   On the other hand, when the processing of the challenge information generation command is completed in the storage device 200, the controller 101 issues a challenge information output command (S332). When the storage device 200 receives the challenge information output command (S334), the controller 201 retrieves the challenge information Ep (KPd3, Kc2) from the cryptographic engine 203 by the controller 201 and outputs it to the controller 301 of the playback device 300 (S336).

再生装置300のコントローラ301は、チャレンジ情報Ep(KPd3,Kc2)を受信すると、それを暗号エンジン303に送る(S338)。そして、暗号エンジン303が、チャレンジ情報Ep(KPd3,Kc2)を受信すると(S340)、暗号エンジン303では、第1復号部322は、チャレンジ情報Ep(KPd3,Kc2)をパラメータB*rd2と暗号化チャレンジ鍵Es(KPd3*rd2,Kc2)に分解する。パラメータB*rd2と自身の秘密鍵Kd3から、シェアード鍵Kd3*B*rd2(=KPd3*rd2)を演算し(S342)、これで暗号化チャレンジ鍵Es(KPd3*rd2,Kc2)を復号し、チャレンジ鍵Kc2を取り出す(S344)。そして、取り出されたチャレンジ鍵Kc2は、暗号部323に伝達され保持される(S346)。   Upon receiving the challenge information Ep (KPd3, Kc2), the controller 301 of the playback device 300 sends it to the cryptographic engine 303 (S338). When the cryptographic engine 303 receives the challenge information Ep (KPd3, Kc2) (S340), in the cryptographic engine 303, the first decryption unit 322 encrypts the challenge information Ep (KPd3, Kc2) with the parameter B * rd2. Decompose into challenge key Es (KPd3 * rd2, Kc2). The shared key Kd3 * B * rd2 (= KPd3 * rd2) is calculated from the parameter B * rd2 and its own secret key Kd3 (S342), and the encrypted challenge key Es (KPd3 * rd2, Kc2) is decrypted. The challenge key Kc2 is extracted (S344). The extracted challenge key Kc2 is transmitted to and held in the encryption unit 323 (S346).

一方、再生装置300のコントローラ301は、ストレージデバイス200に対してライセンス読出命令を発行する(S348)。ライセンス読出命令は、耐タンパ記憶部204における読み出し位置を指定するアドレスを伴っている。ストレージデバイス200は、ライセンス読出命令を受理すると(S350)、耐タンパ記憶部204の指定されたアドレスに記憶されているライセンスデータLICを読み出し、読み出されたライセンスデータLICは暗号エンジン203の第3暗号部230によって保持される(S352)。   On the other hand, the controller 301 of the playback device 300 issues a license read command to the storage device 200 (S348). The license read command is accompanied by an address that designates a read position in the tamper resistant storage unit 204. Upon receiving the license read command (S350), the storage device 200 reads the license data LIC stored at the specified address in the tamper-resistant storage unit 204, and the read license data LIC is the third license engine LIC. It is held by the encryption unit 230 (S352).

一方、再生装置300のコントローラ301は、暗号エンジン303に対してセッション情報の送信要求を行う(S354)。暗号エンジン303は、この送信要求を受け取ると(S356)、暗号エンジン303では、乱数発生部321が、セッション鍵Ks3を生成して、暗号部323および第2復号部324に伝達する。第2復号部324では、このセッション鍵Ks3を内部に保持する(S358)。   On the other hand, the controller 301 of the playback device 300 sends a session information transmission request to the cryptographic engine 303 (S354). When the cryptographic engine 303 receives this transmission request (S356), in the cryptographic engine 303, the random number generation unit 321 generates a session key Ks3 and transmits it to the cryptographic unit 323 and the second decryption unit 324. The second decryption unit 324 holds the session key Ks3 inside (S358).

暗号部323は、乱数発生部321が生成したセッション鍵Ks3に自身の公開鍵KPp3を連結したKs3//KPp3を、ステップS346で保持したチャレンジ鍵Kc2で暗号化して、セッション情報Es(Kc2,Ks3//KPp3)を生成し、コントローラ301へ送る(S360)。コントローラ301は、暗号エンジン303からセッション情報Es(Kc2,Ks3//KPp3)を受信すると(S362)、ストレージデバイス200に対してセッション情報処理命令を発行する(S364)。このセッション情報処理命令は、ライセンスデータを暗号化する時に、シェアード鍵生成の有無を示す制御情報を伴っている。   The encryption unit 323 encrypts Ks3 // KPp3 obtained by concatenating its public key KPp3 to the session key Ks3 generated by the random number generation unit 321 with the challenge key Kc2 held in step S346, and stores the session information Es (Kc2, Ks3 // KPp3) is generated and sent to the controller 301 (S360). Upon receiving the session information Es (Kc2, Ks3 // KPp3) from the cryptographic engine 303 (S362), the controller 301 issues a session information processing command to the storage device 200 (S364). This session information processing instruction is accompanied by control information indicating whether or not a shared key is generated when the license data is encrypted.

ストレージデバイス200は、セッション情報処理命令を受理すると(S366)、セッション情報の入力を要求し、再生装置300のコントローラ301は、この要求に応じて、暗号エンジン303から受け取ったセッション情報Es(Kc2,Ks3//KPp3)をストレージデバイス200へ出力する(S367)。ストレージデバイス200は、セッション情報Es(Kc2,Ks3//KPp3)を受理すると(S368)、暗号エンジン203の第4復号部229に与える。第4復号部229は、与えられたセッション情報Es(Kc2,Ks3//KPp3)を、ステップS326で保持したチャレンジ鍵Kc2で復号する。そして、再生装置300が発行したセッション鍵Ks3と再生装置300の公開鍵KPp3を取り出し、それぞれ第4暗号部231、第3暗号部230に伝達する(S370)。   When the storage device 200 receives the session information processing command (S366), the storage device 200 requests the input of session information, and the controller 301 of the playback device 300 responds to the request with the session information Es (Kc2, Ks3 // KPp3) is output to the storage device 200 (S367). When the storage device 200 receives the session information Es (Kc2, Ks3 // KPp3) (S368), the storage device 200 gives it to the fourth decryption unit 229 of the cryptographic engine 203. The fourth decryption unit 229 decrypts the given session information Es (Kc2, Ks3 // KPp3) with the challenge key Kc2 held in step S326. Then, the session key Ks3 issued by the playback device 300 and the public key KPp3 of the playback device 300 are extracted and transmitted to the fourth encryption unit 231 and the third encryption unit 230, respectively (S370).

そして、制御部220は、シェアード鍵生成の有無を示す制御情報を確認する(S372)。シェアード鍵生成が必要な場合、すなわち、ステップS326のチャレンジ鍵Kc2の生成後、初めての再生処理の場合(S372のY)、制御部220は、乱数発生部221に乱数rp2の生成を指示する。乱数発生部221は、乱数rp2を生成し、生成した乱数rp2を第3暗号部230に伝達する。第3暗号部230では、乱数rp2を用いて、シェアード鍵KPp3*rp2とパラメータB*rp2を演算し、内部に保持する(S374)。   And the control part 220 confirms the control information which shows the presence or absence of shared key generation (S372). When shared key generation is necessary, that is, for the first reproduction process after generation of the challenge key Kc2 in step S326 (Y in S372), the control unit 220 instructs the random number generation unit 221 to generate a random number rp2. The random number generation unit 221 generates a random number rp2 and transmits the generated random number rp2 to the third encryption unit 230. The third encryption unit 230 calculates the shared key KPp3 * rp2 and the parameter B * rp2 using the random number rp2, and holds it inside (S374).

一方、シェアード鍵生成が不要な場合、すなわち、ステップS326のチャレンジ鍵Kc2の生成後、2回目以降の再生処理の場合(S372のN)、ステップS374をスキップし、シェアード鍵KPp3*rp2とパラメータB*rp2を生成せずに次のステップS376へ進む。   On the other hand, if shared key generation is not required, that is, after the generation of the challenge key Kc2 in step S326, the second and subsequent playback processes (N in S372), step S374 is skipped, and the shared key KPp3 * rp2 and parameter B are skipped. * Proceed to the next step S376 without generating rp2.

第3暗号部230は、ステップS352で保持したライセンスデータLICを、保持しているシェアード鍵KPp3*rp2で暗号化し、この結果と保持しているパラメータB*rp2を連結して、暗号化ライセンスデータB*rp2//Es(KPp3*rp2,LIC)=Ep(KPp3,LIC)を生成し、第4暗号部231に伝達する。第4暗号部231は、暗号化ライセンスデータEp(KPp3,LIC)を、第4復号部229から与えられたセッション鍵Ks3で暗号化し、暗号化ライセンスデータEs(Ks3,(Ep(KPp3,LIC))を生成する(S376)。   The third encryption unit 230 encrypts the license data LIC held in step S352 with the held shared key KPp3 * rp2, concatenates the result and the held parameter B * rp2, and encrypts the license data B * rp2 // Es (KPp3 * rp2, LIC) = Ep (KPp3, LIC) is generated and transmitted to the fourth encryption unit 231. The fourth encryption unit 231 encrypts the encrypted license data Ep (KPp3, LIC) with the session key Ks3 given from the fourth decryption unit 229, and encrypts the license data Es (Ks3, (Ep (KPp3, LIC)). ) Is generated (S376).

一方、再生装置300のコントローラ301は、ストレージデバイス200においてセッション情報処理命令の処理が終了、すなわち、暗号化ライセンスデータが生成されると、暗号化ライセンス出力命令を発行する(S378)。ストレージデバイス200では、暗号化ライセンス出力命令を受理する(S380)と、コントローラ201が、暗号エンジン203から暗号化ライセンスデータEs(Ks3,Ep(KPp3,LIC))を取り出し、再生装置300のコントローラ301へ出力する(S382)。   On the other hand, when the processing of the session information processing command is completed in the storage device 200, that is, the encrypted license data is generated, the controller 301 of the playback device 300 issues an encrypted license output command (S378). In the storage device 200, when the encrypted license output command is received (S380), the controller 201 extracts the encrypted license data Es (Ks3, Ep (KPp3, LIC)) from the cryptographic engine 203, and the controller 301 of the playback device 300. (S382).

再生装置300のコントローラ301は、ストレージデバイス200から暗号化ライセンスデータEs(Ks3,Ep(KPp3,LIC))を受信すると、それを暗号エンジン303に送る(S384)。暗号エンジン303が暗号化ライセンスデータを受信すると(S386)、第2復号部324は、ステップS358で保持したセッション鍵Ks3で暗号化ライセンスデータEs(Ks3,Ep(KPp3,LIC))を復号し(S388)、復号結果Ep(KPp3,LIC)を第3復号部325に伝達する。   Upon receiving the encrypted license data Es (Ks3, Ep (KPp3, LIC)) from the storage device 200, the controller 301 of the playback device 300 sends it to the cryptographic engine 303 (S384). When the cryptographic engine 303 receives the encrypted license data (S386), the second decryption unit 324 decrypts the encrypted license data Es (Ks3, Ep (KPp3, LIC)) with the session key Ks3 held in step S358 ( In S388, the decoding result Ep (KPp3, LIC) is transmitted to the third decoding unit 325.

そして、この再生処理がステップS346のチャレンジ鍵Kc2保持後、初回の処理か、2回目以降の処理か判断する(S390)。初回の再生処理の場合(S390のY)、第3復号部325は、伝達されたEp(KPp3,LIC)=B*rp2//Es(KPp3*rp2,LIC)から、パラメータB*rp2を取り出し、パラメータB*rp2と自身の秘密鍵Kp3から、シェアード鍵Kp3*B*rp2=KPp3*rp2を楕円曲線上で演算し、演算結果を内部に保持する(S392)。   Then, it is determined whether this reproduction process is the first process or the second and subsequent processes after the challenge key Kc2 is held in step S346 (S390). In the case of the first reproduction process (Y in S390), the third decoding unit 325 extracts the parameter B * rp2 from the transmitted Ep (KPp3, LIC) = B * rp2 // Es (KPp3 * rp2, LIC). The shared key Kp3 * B * rp2 = KPp3 * rp2 is calculated on the elliptic curve from the parameter B * rp2 and its own secret key Kp3, and the calculation result is held inside (S392).

一方、シェアード鍵の生成が必要でない場合、すなわち、2回目以降の再生処理の場合(S390のN)、ステップS392をスキップし、シェアード鍵Kp3*B*rp2を生成せずに次のステップS394へ進む。   On the other hand, if it is not necessary to generate a shared key, that is, in the case of the second and subsequent playback processes (N in S390), step S392 is skipped, and the shared key Kp3 * B * rp2 is not generated and the process proceeds to the next step S394. move on.

第3復号部325は、伝達されたEp(KPp3,LIC)=B*rp2//Es(KPp3*rp2,LIC)から、暗号化されたライセンスデータEs(KPp3*rp2,LIC)を取り出し、内部に保持するシェアード鍵Kp3*B*rp2で復号し、ライセンスデータLICを取り出す(S394)。そして、ライセンスデータは、復号器304に送られ(S396)、復号器304が暗号化コンテンツデータを復号する際に用いられる。以上の手順により、暗号化コンテンツを復号するためのライセンスデータが、ストレージデバイス200から再生装置300により読み出される。   The third decryption unit 325 extracts the encrypted license data Es (KPp3 * rp2, LIC) from the transmitted Ep (KPp3, LIC) = B * rp2 // Es (KPp3 * rp2, LIC) And the shared data Kp3 * B * rp2 held in the license key LIC2 and the license data LIC is extracted (S394). The license data is sent to the decryptor 304 (S396), and is used when the decryptor 304 decrypts the encrypted content data. With the above procedure, license data for decrypting the encrypted content is read from the storage device 200 by the playback device 300.

このように、再生処理が初回の場合(390のY)、新しくシェアード鍵Kp3*B*rp2を生成する楕円曲線上での乗算、すなわち、公開鍵暗号方式による暗号演算を行い、演算結果であるシェアード鍵KPp3*rp2で、暗号化ライセンスデータEp(KPp3,LIC)を復号し、ライセンスデータLICを取り出す。   As described above, when the reproduction process is the first time (Y in 390), multiplication on the elliptic curve for generating a new shared key Kp3 * B * rp2, that is, a cryptographic operation by the public key cryptosystem is performed, and the result is the operation result. The encrypted license data Ep (KPp3, LIC) is decrypted with the shared key KPp3 * rp2, and the license data LIC is extracted.

一方、2回目以降の再生処理の場合(S390のN)、シェアード鍵KPp3*rp2とパラメータB*rp2を生成せずに復号処理のステップS394へ進み、初回の処理で作成し、第3復号部325に保持されたシェアード鍵Kp3*B*rp2で、暗号化ライセンスデータEp(KPp3,LIC)を復号し、ライセンスデータLICを取り出す。   On the other hand, in the case of the second and subsequent reproduction processes (N in S390), the process proceeds to step S394 of the decryption process without generating the shared key KPp3 * rp2 and the parameter B * rp2, and is generated in the first process, and the third decryption unit The encrypted license data Ep (KPp3, LIC) is decrypted with the shared key Kp3 * B * rp2 held in 325, and the license data LIC is taken out.

再生装置300のコントローラ301は、ストレージデバイス200においてライセンスデータの読み出し後、続けて、他のライセンスデータを読み出す場合(S398のY)、ステップS348に移行し、ライセンス読出命令の発行から手順を開始する。これは、複数のライセンスデータの読み出しにおいて、証明書の検証処理を共有とすることで処理を軽減することを目的とした手順である。ここで、続けてライセンスデータを読み出するとしたが、1つのライセンスデータを読み出し後、直ちに次の読み出しを行わなければならないわけではない。暗号エンジン103とストレージデバイス200が、チャレンジ鍵Kc2とシェアード鍵KPp3*rp2とパラメータB*rp2を共有している、具体的には、ストレージデバイス200の暗号エンジン203の第4復号部229と再生装置300の暗号エンジン303の暗号部323とが、同じチャレンジ鍵Kc2を共有し、かつ、ストレージデバイス200の暗号エンジン203の第3暗号部230と、再生装置300の暗号エンジン303の第2復号部324とが、同じシェアード鍵KPp3*rp2と同じパラメータB*rp2をともに保持している状態であればいかなるタイミングであっても良い。   When the storage device 200 reads out the license data and then reads out other license data (Y in S398), the controller 301 of the playback device 300 proceeds to step S348 and starts the procedure from issuing the license read command. . This is a procedure for reducing the processing by sharing the certificate verification processing when reading a plurality of license data. Here, it is assumed that the license data is continuously read out, but it is not always necessary to perform the next reading immediately after reading out one license data. The cryptographic engine 103 and the storage device 200 share the challenge key Kc2, the shared key KPp3 * rp2, and the parameter B * rp2. Specifically, the fourth decryption unit 229 and the playback device of the cryptographic engine 203 of the storage device 200 The encryption unit 323 of the encryption engine 303 of 300 shares the same challenge key Kc2, and the third encryption unit 230 of the encryption engine 203 of the storage device 200 and the second decryption unit 324 of the encryption engine 303 of the playback device 300 Can be at any timing as long as both hold the same shared key KPp3 * rp2 and the same parameter B * rp2.

また、続けてライセンスデータを読み出す場合であっても、ステップS302から手順を開始してもよいが、この場合、再生処理が2回目以降であっても、初回として扱われるため時間を要す。   Further, even if the license data is read continuously, the procedure may be started from step S302. In this case, even if the reproduction process is performed for the second time or later, it takes time because it is treated as the first time.

続けて他のライセンスデータを読み出さない場合(S398のN)には、コントローラ301は、正常に処理を終了する。   If the other license data is not read subsequently (N in S398), the controller 301 ends the process normally.

上記実施の形態では、ストレージデバイス200の暗号エンジン203の制御部220において、初回の処理か、2回目以降の処理かを判断する手段として、ライセンス書込命令に、シェアード鍵の演算の有無を指示するように示したが、本実施の形態のように、シェアード鍵の演算の有無に関わらず、セッション情報に公開鍵KPp3が含まれる場合、初回の処理時に、公開鍵KPp3を保持しておき、保持した公開鍵KPp3と受理したセッション情報に含まれる公開鍵KPp3との一致・不一致をもって、2回目以降の処理をか否か判断することもできる。さらに、2回目以降の処理では、セッション情報に公開鍵KPp3を含まない形式とし、公開鍵KPp3の有無によって判断するようにしてもよい。また、制御部220によって処理手順を内部で管理して判断してもよい。   In the above embodiment, the control unit 220 of the cryptographic engine 203 of the storage device 200 instructs the license write command as to whether or not to calculate the shared key as means for determining whether the process is the first process or the second and subsequent processes. As shown in this embodiment, when the public key KPp3 is included in the session information regardless of whether or not the shared key is calculated, the public key KPp3 is held at the first processing, It is also possible to determine whether or not the second and subsequent processing is performed based on whether or not the held public key KPp3 matches the public key KPp3 included in the received session information. Further, in the second and subsequent processes, the session information may be in a format that does not include the public key KPp3, and the determination may be made based on the presence or absence of the public key KPp3. Further, the processing procedure may be managed and determined internally by the control unit 220.

このようにして、ストレージデバイス200に記録されたライセンスデータを、他のストレージデバイスに対して複製(ストレージデバイス200に記録されたライセンスデータが利用可能)あるいは移動(ストレージデバイス200に記録されたライセンスデータが削除あるいは無効化される)によって記録する処理を提供することができる。新たにライセンスデータを記録する他のストレージメディアが同様な機能を備えていれば、同様な手順にてストレージデバイス間でライセンスを転送し、ストレージデバイス200から他のストレージデバイスにライセンスを記録することができることは明らかである。この場合、ストレージデバイス200から他のストレージデバイスへのライセンスの転送は、上記ストレージデバイス200から再生装置300へのライセンスの利用と、また、他のストレージデバイスからストレージデバイス200へのライセンスの転送は、上記記録装置100からストレージデバイス200へのライセンスの記録と同様に機能する。   In this way, the license data recorded in the storage device 200 is copied (license data recorded in the storage device 200 is available) or moved (license data recorded in the storage device 200) to another storage device. Can be deleted or invalidated). If another storage medium that newly records license data has the same function, the license may be transferred between the storage devices in the same procedure, and the license may be recorded from the storage device 200 to another storage device. Obviously we can do it. In this case, the transfer of the license from the storage device 200 to the other storage device includes the use of the license from the storage device 200 to the playback device 300 and the transfer of the license from the other storage device to the storage device 200. It functions in the same manner as license recording from the recording apparatus 100 to the storage device 200.

上記実施の形態では、簡単化のためシェアード鍵Kp2*B*rp1=KPp2*rp1、Kp3*B*rp2=KPp3*rp2によりデータを暗号化すると説明したが、データの暗号化については、Kp2*B*rp1またはKp3*B*rp2から対称鍵アルゴリズムの鍵長のデータを導出してから、この導出関数の結果によりデータを暗号化するすることもできる。これにより、楕円曲線暗号により共有されるシェアード鍵Kp2*B*rp1、Kp3*B*rp2と、対称鍵暗号アルゴリズムで使用できる鍵の形式の違いを補償することができる。なお、このとき、楕円曲線上の2次元座標であるシェアード鍵Kp2*B*rp1、Kp3*B*rp2の2つの座標値、或いは一方の座標値から、データを暗号化する対称鍵暗号アルゴリズムの鍵長のデータを求める導出関数をベースポイントと共に事前にライセンスデータ送信元とライセンスデータ送信先で共有しておく必要がある。   In the above embodiment, for simplification, it has been described that the data is encrypted with the shared keys Kp2 * B * rp1 = KPp2 * rp1, Kp3 * B * rp2 = KPp3 * rp2, but for data encryption, Kp2 * It is also possible to derive the key length data of the symmetric key algorithm from B * rp1 or Kp3 * B * rp2 and then encrypt the data according to the result of this derivation function. As a result, it is possible to compensate for the difference between the shared keys Kp2 * B * rp1 and Kp3 * B * rp2 shared by elliptic curve cryptography and the key formats that can be used in the symmetric key encryption algorithm. At this time, the symmetric key encryption algorithm for encrypting data from the two coordinate values of the shared key Kp2 * B * rp1, Kp3 * B * rp2, or one coordinate value, which is a two-dimensional coordinate on the elliptic curve. It is necessary to share the derivation function for obtaining the key length data in advance between the license data transmission source and the license data transmission destination together with the base point.

上記実施の形態によれば、公開鍵暗号アルゴリズムに、公開鍵暗号アルゴリズムに比べて演算量が少なく、またハードウェア化も容易な共通鍵暗号アルゴリズムを組み合わせることにより、ライセンスデータのような秘匿すべきデータに対するアクセス(記録あるいは読み出し)を繰り返して行う場合にも、安全性を損なうことなく高速に秘匿データにアクセスすることができるため、ストレージデバイスとホスト装置との間で秘匿すべきデータを暗号化して入出力するときの処理効率を向上させることができる。   According to the above-described embodiment, the public key encryption algorithm should be concealed like license data by combining the common key encryption algorithm that has a smaller amount of computation than the public key encryption algorithm and is easy to implement in hardware. Even when data is repeatedly accessed (recorded or read), confidential data can be accessed at high speed without compromising safety. Therefore, data that should be kept confidential between the storage device and the host device is encrypted. Therefore, the processing efficiency when inputting / outputting can be improved.

(第2の実施の形態)
図12は、第2の実施の形態に係る記録再生装置400の構成を示す。本実施の形態では、第1の実施の形態における記録装置100および再生装置300が一つの記録再生装置400として実現されている。
(Second Embodiment)
FIG. 12 shows a configuration of a recording / reproducing apparatus 400 according to the second embodiment. In the present embodiment, the recording apparatus 100 and the reproducing apparatus 300 in the first embodiment are realized as one recording / reproducing apparatus 400.

本実施の形態の記録再生装置400は、コントローラ401、ストレージインタフェース402、記録部403、再生部404、およびこれらの構成要素の少なくとも一部を電気的に接続するデータバス410を備える。記録部403は図2に示した第1の実施の形態における記録装置100の構成を、再生部404は図3に示した第1の実施の形態における再生装置300の構成を各々備えている。なお、本図中、第1の実施の形態と同様の構成には同じ符号を付している。   The recording / reproducing apparatus 400 of this embodiment includes a controller 401, a storage interface 402, a recording unit 403, a reproducing unit 404, and a data bus 410 that electrically connects at least some of these components. The recording unit 403 includes the configuration of the recording device 100 according to the first embodiment illustrated in FIG. 2, and the reproducing unit 404 includes the configuration of the reproducing device 300 according to the first embodiment illustrated in FIG. In the figure, the same reference numerals are assigned to the same components as those in the first embodiment.

暗号エンジン103は、第1の実施の形態における記録装置100の暗号エンジン103に対応し、暗号エンジン303は、第1の実施の形態における再生装置300の暗号エンジン303に対応する。暗号エンジン103の内部構成は、図5に示した第1の実施の形態の暗号エンジン103と同様であり、暗号エンジン303の内部構成は、図6に示した第1の実施の形態の暗号エンジン303の内部構成と同様である。コントローラ401は、第1の実施の形態における記録装置100のコントローラ101と再生装置300のコントローラ301の双方の機能を有する。ストレージインタフェース402は、ストレージデバイス200とのデータの入出力を制御し、データバス410は、記録再生装置400の構成を電気的に接続する。   The cryptographic engine 103 corresponds to the cryptographic engine 103 of the recording device 100 in the first embodiment, and the cryptographic engine 303 corresponds to the cryptographic engine 303 of the playback device 300 in the first embodiment. The internal configuration of the cryptographic engine 103 is the same as the cryptographic engine 103 of the first embodiment shown in FIG. 5, and the internal configuration of the cryptographic engine 303 is the cryptographic engine of the first embodiment shown in FIG. This is the same as the internal configuration 303. The controller 401 has the functions of both the controller 101 of the recording apparatus 100 and the controller 301 of the playback apparatus 300 in the first embodiment. The storage interface 402 controls data input / output with the storage device 200, and the data bus 410 electrically connects the configuration of the recording / playback apparatus 400.

本実施の形態における記録再生装置400の動作も、第1の実施の形態における動作と同様であり、第1の実施の形態で説明した動作において、記録装置100および再生装置300を記録再生装置400に、コントローラ101および301をコントローラ401に、ストレージインタフェース102および302をストレージインタフェース402に、データバス110および310をデータバス410にそれぞれ置き換えたものと同様である。   The operation of the recording / reproducing apparatus 400 in the present embodiment is the same as that in the first embodiment. In the operation described in the first embodiment, the recording apparatus 100 and the reproducing apparatus 300 are connected to the recording / reproducing apparatus 400. Further, the controller 101 and 301 are replaced with the controller 401, the storage interface 102 and 302 are replaced with the storage interface 402, and the data buses 110 and 310 are replaced with the data bus 410, respectively.

なお、本実施の形態では、記録部403、再生部404は、各々暗号エンジン103、暗号エンジン303を備えるが、これらの暗号エンジン内の同一機能ブロックを共有する構成としても良く、この場合、第1の実施の形態における図7で示すストレージデバイス200における暗号エンジン203と同様の構成となる。   In this embodiment, the recording unit 403 and the playback unit 404 include the cryptographic engine 103 and the cryptographic engine 303, respectively. However, the same functional block in these cryptographic engines may be shared. The configuration is the same as that of the cryptographic engine 203 in the storage device 200 shown in FIG.

(第3の実施の形態)
図13は、第3の実施の形態に係るコンテンツ配信システムの構成を示す。本実施の形態では、第1の実施の形態における記録装置100が、コンテンツを配信する配信サーバ500とコンテンツの提供を受ける端末装置520として実現されている。なお、本図中、第1の実施の形態における記録装置100と同一の構成には同じ符号を付している。
(Third embodiment)
FIG. 13 shows a configuration of a content distribution system according to the third embodiment. In the present embodiment, the recording device 100 in the first embodiment is realized as a distribution server 500 that distributes content and a terminal device 520 that receives the content. In the figure, the same components as those of the recording apparatus 100 according to the first embodiment are denoted by the same reference numerals.

配信サーバ500は、暗号エンジン103、通信装置502、コンテンツデータベース503、ライセンスデータベース504、ユーザデータベース505、それらを制御するコントローラ501、およびそれらを電気的に接続するデータバス510を備える。端末装置520は、コントローラ101、ストレージインタフェース102、通信装置521、およびそれらを電気的に接続するデータバス522を備える。配信サーバ500と端末装置520は、それぞれ通信装置502、521を介して、ネットワークの一例としてのインターネット20により接続される。   The distribution server 500 includes a cryptographic engine 103, a communication device 502, a content database 503, a license database 504, a user database 505, a controller 501 that controls them, and a data bus 510 that electrically connects them. The terminal device 520 includes a controller 101, a storage interface 102, a communication device 521, and a data bus 522 that electrically connects them. The distribution server 500 and the terminal device 520 are connected by the Internet 20 as an example of a network via the communication devices 502 and 521, respectively.

配信サーバ500の暗号エンジン103は、第1の実施の形態の暗号エンジン103と同様の機能を有し、端末装置520のコントローラ101およびストレージインタフェース102は、それぞれ第1の実施の形態のコントローラ101およびストレージインタフェース102と同様の機能を有する。   The cryptographic engine 103 of the distribution server 500 has the same function as the cryptographic engine 103 of the first embodiment. The controller 101 and the storage interface 102 of the terminal device 520 are the same as the controller 101 of the first embodiment. It has the same function as the storage interface 102.

コンテンツデータベース503は、ユーザに提供するコンテンツを保持する。ライセンスデータベース504は、コンテンツを暗号化するのに用いられるコンテンツ鍵を含むライセンスデータを保持する。本実施の形態では、コンテンツは既にコンテンツ鍵により暗号化されてコンテンツデータベース503に格納されているが、コンテンツデータベース503に暗号化される前のコンテンツを格納しておき、配信サーバ500に、第1の実施の形態の記録装置100が備えるコンテンツエンコーダ105および暗号器104をさらに設け、コンテンツデータベース503からコンテンツを読み出してエンコードし、暗号化してもよい。ユーザデータベース505は、コンテンツの提供先であるユーザの情報を保持する。たとえば、ユーザの個人情報、ユーザの端末装置520のアドレス、コンテンツの購入履歴、課金情報などを保持してもよい。   The content database 503 holds content provided to the user. The license database 504 holds license data including a content key used for encrypting content. In this embodiment, the content is already encrypted with the content key and stored in the content database 503. However, the content before encryption is stored in the content database 503, and the distribution server 500 stores the first content. The content encoder 105 and the encryptor 104 included in the recording apparatus 100 according to the embodiment may be further provided, and the content may be read from the content database 503, encoded, and encrypted. The user database 505 holds information on a user who is a content providing destination. For example, the user's personal information, the user's terminal device 520 address, content purchase history, billing information, and the like may be held.

コントローラ501は、ユーザの要求に応じて暗号化コンテンツをコンテンツデータベース503から読み出し、ユーザに提供する。そして、暗号エンジン103によりそのコンテンツを復号するためのライセンスデータがユーザに提供されると、このコンテンツ提供の対価を課金すべくユーザデータベース505を更新する。   The controller 501 reads encrypted content from the content database 503 in response to a user request and provides it to the user. Then, when the license data for decrypting the content is provided to the user by the encryption engine 103, the user database 505 is updated to charge for the content provision.

本実施の形態において、データバス510、通信装置502、インターネット20、通信装置521およびデータバス522を、構成を電気的に接続している第1の実施の形態におけるデータバス110とすれば、第1の実施の形態と同様の構成となる。   In this embodiment, if the data bus 510, the communication device 502, the Internet 20, the communication device 521, and the data bus 522 are the data bus 110 in the first embodiment having the electrically connected configuration, The configuration is the same as that of the first embodiment.

本実施の形態の暗号入出力処理の手順は、第1の実施の形態と同様である。本実施の形態では、暗号エンジン103とコントローラ101との間の通信がインターネット20を介して行われるのが、図8および図9で説明したように、暗号エンジン103とコントローラ101との間でも必ずデータを暗号化して送受信を行うので、高い耐タンパ性を実現することができる。   The procedure of the cryptographic input / output process of this embodiment is the same as that of the first embodiment. In the present embodiment, the communication between the cryptographic engine 103 and the controller 101 is performed via the Internet 20, as described with reference to FIGS. 8 and 9, even between the cryptographic engine 103 and the controller 101. Since data is encrypted and transmitted / received, high tamper resistance can be realized.

コンテンツの再生については、第1の実施の形態における再生装置300、または、第2の実施の形態における記録再生装置400に、ストレージデバイス200を装着することによって行うことができる。さらに、端末装置520に、第2の実施の形態における記録再生装置400の再生部404を備える構成として、再生を行うようにしてもよい。   Content playback can be performed by attaching the storage device 200 to the playback device 300 in the first embodiment or the recording / playback device 400 in the second embodiment. Further, the terminal device 520 may be configured to include the playback unit 404 of the recording / playback device 400 in the second embodiment, and playback may be performed.

以上、本発明に係る実施の形態について説明したが、この実施の形態は例示であり、本発明はこの実施の形態に限定されるものではなく、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   As mentioned above, although embodiment which concerns on this invention was described, this embodiment is an illustration, this invention is not limited to this embodiment, The combination of each of those component and each processing process is carried out. It will be appreciated by those skilled in the art that various modifications are possible and that such modifications are within the scope of the present invention.

例えば、上記の実施の形態では、暗号エンジン内において暗号化を行う機能ブロックと復号を行う機能ブロックとを別個に設けたが、これらの構成要素において回路を共有してもよい。これにより、回路規模を抑え、小型化、低消費電力化に寄与することができる。   For example, in the above-described embodiment, the functional block for performing encryption and the functional block for performing decryption are separately provided in the cryptographic engine, but the circuit may be shared by these components. As a result, the circuit scale can be reduced, contributing to downsizing and low power consumption.

本発明の実施の形態は、特許請求の範囲に示された技術的思想の範囲内において、適宜種々の変更が可能である。   The embodiments of the present invention can be appropriately modified in various ways within the scope of the technical idea shown in the claims.

第1の実施の形態に係るデータ管理システムの全体構成を示す図である。It is a figure which shows the whole structure of the data management system which concerns on 1st Embodiment. 第1の実施の形態に係る記録装置の内部構成を示す図である。1 is a diagram illustrating an internal configuration of a recording apparatus according to a first embodiment. 第1の実施の形態に係る再生装置の内部構成を示す図である。It is a figure which shows the internal structure of the reproducing | regenerating apparatus concerning 1st Embodiment. 第1の実施の形態に係るストレージデバイスの内部構成を示す図である。It is a figure which shows the internal structure of the storage device which concerns on 1st Embodiment. 図2に示した暗号エンジンの内部構成を示す図である。It is a figure which shows the internal structure of the encryption engine shown in FIG. 図3に示した暗号エンジンの内部構成を示す図である。It is a figure which shows the internal structure of the encryption engine shown in FIG. 図4に示した暗号エンジンの内部構成を示す図である。It is a figure which shows the internal structure of the encryption engine shown in FIG. 記録装置がストレージデバイスにライセンスデータを記録するまでの手順を示す図である。It is a figure which shows the procedure until a recording device records license data on a storage device. 記録装置がストレージデバイスにライセンスデータを記録までの手順を示す図である。It is a figure which shows the procedure until a recording device records license data on a storage device. 再生装置がストレージデバイスからライセンスデータを読み出すまでの手順を示す図である。It is a figure which shows the procedure until a reproducing | regenerating apparatus reads license data from a storage device. 再生装置がストレージデバイスからライセンスデータを読み出すまでの手順を示す図である。It is a figure which shows the procedure until a reproducing | regenerating apparatus reads license data from a storage device. 第2の実施の形態に係る記録再生装置の内部構成を示す図である。It is a figure which shows the internal structure of the recording / reproducing apparatus which concerns on 2nd Embodiment. 第3の実施の形態に係る記録再生装置の内部構成を示す図である。It is a figure which shows the internal structure of the recording / reproducing apparatus which concerns on 3rd Embodiment.

符号の説明Explanation of symbols

100 記録装置
200 ストレージデバイス
300 再生装置
400 記録再生装置
500 配信サーバ
520 端末装置
DESCRIPTION OF SYMBOLS 100 Recording apparatus 200 Storage device 300 Playback apparatus 400 Recording / playback apparatus 500 Distribution server 520 Terminal apparatus

Claims (22)

暗号化コンテンツデータを復号するためのコンテンツ鍵を含むコンテンツ利用情報を送受信する方法であって、
前記コンテンツ利用情報の送信元が前記コンテンツ利用情報の送信先を認証するステップと、
前記送信先が承認された場合に、前記送信元と前記送信先の間で第1の対称鍵を共有するステップと、
前記送信元が、前記コンテンツ利用情報を暗号化して前記送信先へ送信するステップと、を含み、
前記第1の対称鍵を共有するステップは、
Elliptic Curve Diffie-Hellman暗号アルゴリズムにより、前記送信先の公開鍵を用いて、前記第1の対称鍵を前記送信先との間で共有するためのデータを生成するステップと、
前記データを相手の装置に送信するステップと、を含み、
前記コンテンツ利用情報を送信するステップは、
前記コンテンツ利用情報を送信するタイミングが到来したときに、前記送信元と前記送信先の間で第2の対称鍵を共有するステップと、
前記第1の対称鍵及び前記第2の対称鍵により前記コンテンツ利用情報を暗号化して前記送信先へ送信するステップと、を含む
ことを特徴とするコンテンツ利用情報送信方法。
A method for transmitting and receiving content usage information including a content key for decrypting encrypted content data,
A source of the content usage information authenticating a destination of the content usage information;
Sharing a first symmetric key between the source and the destination when the destination is approved;
The transmission source encrypts the content usage information and transmits it to the transmission destination,
Sharing the first symmetric key comprises:
Using Elliptic Curve Diffie-Hellman encryption algorithm to generate data for sharing the first symmetric key with the destination using the destination public key;
Transmitting the data to a counterpart device,
The step of transmitting the content usage information includes:
Sharing a second symmetric key between the transmission source and the transmission destination when the timing for transmitting the content usage information arrives;
Encrypting the content usage information with the first symmetric key and the second symmetric key and transmitting the encrypted content usage information to the transmission destination.
前記第1の対称鍵は、前記コンテンツ利用情報を送信するステップの終了後も、前記送信元及び前記送信先において保持されて、次にコンテンツ利用情報を送信するときに利用されることを特徴とする請求項1に記載のコンテンツ利用情報送信方法。   The first symmetric key is retained in the transmission source and the transmission destination after the step of transmitting the content usage information is used, and is used when transmitting the content usage information next time. The content usage information transmission method according to claim 1. 前記コンテンツ利用情報を送信するタイミングが到来したときに、既に前記第1の対称鍵が前記送信元と前記送信先の間で共有されている場合には、前記認証するステップ及び前記第1の対称鍵を共有するステップを省略することを特徴とする請求項1又は2に記載のコンテンツ利用情報送信方法。   When the timing for transmitting the content usage information has arrived, if the first symmetric key is already shared between the transmission source and the transmission destination, the authenticating step and the first symmetric key 3. The content usage information transmission method according to claim 1, wherein the step of sharing the key is omitted. 前記送信先を再度認証する必要が生じたときには、既に共有していた前記第1の対称鍵は破棄され、前記第1の対称鍵を共有するステップは、新たに発行された前記第1の対称鍵を共有することを特徴とする請求項2又は3に記載のコンテンツ利用情報送信方法。   When it becomes necessary to authenticate the destination again, the first symmetric key that has already been shared is discarded, and the step of sharing the first symmetric key includes the newly issued first symmetric key. 4. The content usage information transmission method according to claim 2, wherein a key is shared. 前記第2の対称鍵は、前記コンテンツ利用情報を送受信するステップの終了後に、次のコンテンツ利用情報を送信するときには新たに発行され、前記送信元及び前記送信先の間で共有されることを特徴とする請求項1から4のいずれかに記載のコンテンツ利用情報送信方法。   The second symmetric key is newly issued when the next content usage information is transmitted after completion of the step of transmitting and receiving the content usage information, and is shared between the transmission source and the transmission destination. The content usage information transmission method according to any one of claims 1 to 4. 前記第1の対称鍵は、前記送信元及び前記送信先のうちいずれか一方が発行し、前記第2の対称鍵は、他方が発行することを特徴とする請求項1から5のいずれかに記載のコンテンツ利用情報送信方法。   The first symmetric key is issued by one of the transmission source and the transmission destination, and the second symmetric key is issued by the other. The content usage information transmission method described. 前記第2の対称鍵を共有するために使用する第3の対称鍵を前記送信元と前記送信先との間で共有するステップを更に含み、
前記第2の対称鍵を共有するステップは、前記第2の対称鍵を前記第3の対称鍵で暗号化して送受信することにより前記第2の対称鍵を共有することを特徴とする請求項1から6のいずれかに記載のコンテンツ利用情報送信方法。
Further comprising sharing a third symmetric key used to share the second symmetric key between the source and the destination;
2. The step of sharing the second symmetric key includes sharing the second symmetric key by encrypting and transmitting the second symmetric key with the third symmetric key. 7. The content usage information transmission method according to any one of items 1 to 6.
前記第3の対称鍵は、前記コンテンツ利用情報を送信するステップの終了後も、前記送信元及び前記送信先において保持されて、次に前記第2の対称鍵を共有するときに利用されることを特徴とする請求項7に記載のコンテンツ利用情報送信方法。   The third symmetric key is held at the transmission source and the transmission destination after the step of transmitting the content usage information is completed, and is used when the second symmetric key is shared next time. The content usage information transmitting method according to claim 7. 前記送信先を再度認証する必要が生じたときには、既に共有していた前記第3の対称鍵は破棄され、前記第3の対称鍵を共有するステップは、新たに発行された前記第3の対称鍵を共有することを特徴とする請求項8に記載のコンテンツ利用情報送信方法。   When it becomes necessary to authenticate the destination again, the already-shared third symmetric key is discarded, and the step of sharing the third symmetric key includes the newly issued third symmetric key. 9. The content usage information transmission method according to claim 8, wherein a key is shared. 暗号化コンテンツデータを復号するためのコンテンツ鍵を含むコンテンツ利用情報をコンテンツ利用情報享受装置に提供するコンテンツ利用情報提供装置であって、
前記コンテンツ利用情報享受装置から認証情報を取得して、その認証情報の正当性を検証する検証手段と、
前記検証手段が前記コンテンツ利用情報享受装置を承認したときに、前記コンテンツ利用情報享受装置との間で公開鍵暗号方式を用いて第1の対称鍵を共有する第1の対称鍵共有手段と、
前記コンテンツ利用情報を送信するタイミングが到来したときに、前記ライセンス利用情報享受装置との間で第2の対称鍵を共有する第2の対称鍵共有手段と、
前記コンテンツ利用情報を前記第1の対称鍵及び前記第2の対称鍵により暗号化する暗号化手段と、
前記暗号化手段により暗号化された前記コンテンツ利用情報を前記コンテンツ利用情報享受装置へ送信するコンテンツ利用情報送信手段と、を備え、
前記第1の対称鍵共有手段は、
乱数を発生する乱数発生手段と、
Elliptic Curve Diffie-Hellman暗号アルゴリズムにより前記乱数と前記コンテンツ利用情報享受装置の公開鍵を用いて前記第1の対称鍵を生成するとともに、前記第1の対称鍵を前記コンテンツ利用情報享受装置との間で共有するためのデータを生成する第1の対称鍵生成手段と、
前記データを前記コンテンツ利用情報享受装置に送信する送信手段と、を含む
ことを特徴とするコンテンツ利用情報提供装置。
A content use information providing device that provides content use information including a content key for decrypting encrypted content data to a content use information receiving device,
Verification means for acquiring authentication information from the content use information receiving device and verifying the validity of the authentication information;
A first symmetric key sharing unit that shares a first symmetric key with the content usage information receiving device using a public key cryptosystem when the verification unit approves the content usage information receiving device;
A second symmetric key sharing means for sharing a second symmetric key with the license usage information receiving device when the timing for transmitting the content usage information arrives;
Encryption means for encrypting the content usage information with the first symmetric key and the second symmetric key;
Content usage information transmitting means for transmitting the content usage information encrypted by the encryption means to the content usage information receiving device,
The first symmetric key sharing means includes
Random number generating means for generating a random number;
The Elliptic Curve Diffie-Hellman encryption algorithm is used to generate the first symmetric key using the random number and the public key of the content usage information receiving device, and the first symmetric key is used between the content usage information receiving device. First symmetric key generation means for generating data to be shared with
Transmitting means for transmitting the data to the content usage information receiving device. A content usage information providing device, comprising:
前記コンテンツ利用情報提供装置は、
前記コンテンツ利用情報を生成するコンテンツ利用情報生成部と、
前記コンテンツデータを前記コンテンツ鍵によって暗号化し、前記暗号化コンテンツデータを出力するコンテンツデータ暗号部と、
を更に備えることを特徴とする請求項10に記載のコンテンツ利用情報提供装置。
The content usage information providing device includes:
A content usage information generating unit for generating the content usage information;
A content data encryption unit that encrypts the content data with the content key and outputs the encrypted content data;
The content usage information providing apparatus according to claim 10, further comprising:
前記コンテンツ利用情報提供装置は、
前記暗号化コンテンツデータを格納する第1の格納部と、
前記コンテンツ利用情報を格納する第2の格納部と、を更に備え、
前記第2の格納部は、耐タンパ構造によって構成されることを特徴とする請求項10又は11に記載のコンテンツ利用情報提供装置。
The content usage information providing device includes:
A first storage unit for storing the encrypted content data;
A second storage unit for storing the content usage information,
The content use information providing apparatus according to claim 10 or 11, wherein the second storage unit is configured by a tamper-resistant structure.
暗号化コンテンツデータを復号するためのコンテンツ鍵を含むコンテンツ利用情報をコンテンツ利用情報提供装置から享受するコンテンツ利用情報享受装置であって、
前記コンテンツ利用情報提供装置に自身の認証情報を送信する認証情報送信手段と、
前記コンテンツ利用情報提供装置が前記認証情報を承認したときに、前記コンテンツ利用情報提供装置との間で公開鍵暗号方式を用いて第1の対称鍵を共有する第1の対称鍵共有手段と、
前記コンテンツ利用情報を受信するタイミングが到来したときに、前記コンテンツ利用情報提供装置との間で第2の対称鍵を共有する第2の対称鍵共有手段と、
前記第1の対称鍵及び前記第2の対称鍵により暗号化された前記コンテンツ利用情報を前記コンテンツ利用情報提供装置から受信するコンテンツ利用情報受信手段と、
前記暗号化された前記コンテンツ利用情報を復号する復号手段と、を備え、
前記第1の対称鍵共有手段は、
前記コンテンツ利用情報提供装置に自身の公開鍵を提供する公開鍵提供手段と、
前記第1の対称鍵を前記コンテンツ利用情報提供装置との間で共有するためのデータを取得する取得手段と、
Elliptic Curve Diffie-Hellman暗号アルゴリズムにより前記データと前記公開鍵と対をなす秘密鍵とを用いて前記第1の対称鍵を生成する第1の対称鍵生成手段と、を含む
ことを特徴とするコンテンツ利用情報享受装置。
A content use information receiving device for receiving content use information including a content key for decrypting encrypted content data from a content use information providing device,
Authentication information transmitting means for transmitting the authentication information to the content usage information providing device;
A first symmetric key sharing means for sharing a first symmetric key with the content usage information providing apparatus using a public key cryptosystem when the content usage information providing apparatus approves the authentication information;
A second symmetric key sharing means for sharing a second symmetric key with the content usage information providing device when the timing for receiving the content usage information arrives;
Content usage information receiving means for receiving, from the content usage information providing device, the content usage information encrypted with the first symmetric key and the second symmetric key;
Decrypting means for decrypting the encrypted content usage information,
The first symmetric key sharing means includes
Public key providing means for providing the public key to the content usage information providing device;
Obtaining means for obtaining data for sharing the first symmetric key with the content usage information providing device;
And a first symmetric key generating means for generating the first symmetric key by using a secret key that is paired with the data and the public key by an Elliptic Curve Diffie-Hellman encryption algorithm. Usage information receiving device.
前記コンテンツ利用情報享受装置は、
前記暗号化コンテンツデータを前記コンテンツ鍵により復号するコンテンツデータ復号部と、
前記コンテンツデータ復号部により復号されたコンテンツデータを再生する再生部と、 を更に備えることを特徴とする請求項13に記載のコンテンツ利用情報享受装置。
The content use information receiving device is:
A content data decrypting unit for decrypting the encrypted content data with the content key;
The content use information receiving apparatus according to claim 13, further comprising: a reproducing unit that reproduces the content data decrypted by the content data decrypting unit.
前記コンテンツ利用情報享受装置は、
前記暗号化コンテンツデータを格納する第1の格納部と、
前記コンテンツ利用情報を格納する第2の格納部とを含み、
前記第2の格納部は、耐タンパ構造によって構成されることを特徴とする請求項13又は14に記載のコンテンツ利用情報享受装置。
The content use information receiving device is:
A first storage unit for storing the encrypted content data;
A second storage unit for storing the content usage information,
The content use information receiving apparatus according to claim 13 or 14, wherein the second storage unit is configured by a tamper resistant structure.
暗号化されたコンテンツデータを復号するためのコンテンツ鍵を含むコンテンツ利用情報をコンテンツ利用情報享受装置に提供するコンテンツ利用情報提供装置であって、
前記コンテンツ利用情報享受装置との間でデータの授受を制御するインタフェースと、
前記コンテンツ利用情報享受装置との通信においてテンポラルに生成する第1の対称鍵を生成する対称鍵生成部と、
前記コンテンツ利用情報享受装置に設定された第1の公開鍵によって、データを暗号化する第1の暗号部と、
前記対称鍵生成部により生成された第1対称鍵によってデータを復号する復号部と、
前記コンテンツ利用情報享受装置に設定された楕円曲線暗号の第2の公開鍵を用いて、Elliptic curve Diffie − Hellman暗号アルゴリズムにしたがい、データを暗号化する第2の暗号部と、
前記第2の暗号部に供給する乱数を生成する乱数生成部と、
前記コンテンツ利用情報享受装置で生成された第2の対称鍵によってデータを暗号化する第3の暗号部と、
制御部とを備え、
前記第2の暗号部は、
前記乱数生成部において生成された乱数を取得し、前記取得した乱数と前記第2の公開鍵に基づいて、暗号化に用いるシェアード鍵と、このシェアード鍵を前記コンテンツ利用情報享受装置と共有するためのデータとを生成する機能と、前記生成したシェアード鍵によって前記コンテンツ利用情報を暗号化する機能を有し、
前記対称鍵生成部において前記第1の対称鍵が生成されて初めての前記第2の公開鍵による暗号化処理において、前記乱数生成部において生成された乱数を取得し、前記取得した乱数と前記第2の公開鍵に基づいて、暗号化に用いるシェアード鍵と、このシェアード鍵を前記コンテンツ利用情報享受装置と共有するためのデータとを生成し、前記シェアード鍵によってデータを暗号化し、
前記対称鍵生成部において前記第1の対称鍵が生成されて2回目以降の暗号化処理において、前回のシェアード鍵によって前記コンテンツ利用情報を暗号化し、
前記制御部は、
前記第1の対称鍵を生成するように前記対称鍵生成部を制御し、
前記第1の公開鍵によって暗号化された前記第1の対称鍵を前記第1の暗号部から受け取って、前記インタフェースを介して前記コンテンツ利用情報享受装置へ送信し、
前記インタフェースを介して受信した前記第1の対称鍵によって暗号化された前記第2の対称鍵および前記第2の公開鍵を、前記コンテンツ利用情報享受装置から受け取って前記復号部に与え、
前記復号部で復号した第2の公開鍵に基づいて生成されたシェアード鍵と第2の対称鍵とによって暗号化された暗号化コンテンツ利用情報を前記第2の暗号部または前記第3の暗号部から受け取って、前記インタフェースを介して前記コンテンツ利用情報享受装置へ送信する
ことを特徴とするコンテンツ利用情報提供装置。
A content use information providing device for providing content use information including a content key for decrypting encrypted content data to a content use information receiving device,
An interface for controlling the exchange of data with the content use information receiving device;
A symmetric key generation unit that generates a first symmetric key that is temporally generated in communication with the content use information receiving device;
A first encryption unit that encrypts data using a first public key set in the content use information receiving device;
A decryption unit for decrypting data with the first symmetric key generated by the symmetric key generation unit;
A second encryption unit for encrypting data in accordance with the elliptic curve Diffie-Hellman encryption algorithm using the second public key of the elliptic curve encryption set in the content usage information receiving device;
A random number generator for generating a random number to be supplied to the second encryption unit;
A third encryption unit that encrypts data with a second symmetric key generated by the content use information receiving device;
A control unit,
The second encryption unit is
In order to acquire a random number generated in the random number generation unit and share the shared key used for encryption with the content use information receiving device based on the acquired random number and the second public key And a function of encrypting the content usage information with the generated shared key,
In the encryption process using the second public key for the first time after the first symmetric key is generated in the symmetric key generation unit, the random number generated in the random number generation unit is acquired, and the acquired random number and the first Generating a shared key used for encryption and data for sharing the shared key with the content use information receiving device, encrypting the data using the shared key,
In the encryption process after the first symmetric key is generated in the symmetric key generation unit, the content usage information is encrypted with the previous shared key,
The controller is
Controlling the symmetric key generation unit to generate the first symmetric key;
Receiving the first symmetric key encrypted with the first public key from the first encryption unit and transmitting it to the content use information receiving device via the interface;
Receiving the second symmetric key encrypted by the first symmetric key received via the interface and the second public key from the content use information receiving device and giving them to the decryption unit;
Encrypted content usage information encrypted with the shared key and the second symmetric key generated based on the second public key decrypted by the decryption unit is the second encryption unit or the third encryption unit. The content usage information providing device, wherein the content usage information providing device transmits the content usage information to the content usage information receiving device via the interface.
前記コンテンツ利用情報を生成し、かつ、生成したコンテンツ利用情報に含まれる前記コンテンツ鍵でコンテンツデータを暗号化するコンテンツ暗号部をさらに備え、
前記制御部は、前記コンテンツ暗号部が生成した前記コンテンツ利用情報を取得し、前記第3の暗号部に与える、請求項16に記載のコンテンツ利用情報提供装置。
A content encryption unit that generates the content usage information and encrypts content data with the content key included in the generated content usage information;
The content usage information providing apparatus according to claim 16, wherein the control unit acquires the content usage information generated by the content encryption unit and provides the content usage information to the third encryption unit.
前記コンテンツ利用情報を記憶する記憶部をさらに備え、
前記制御部は、前記記憶部から、前記記憶部に格納されている前記コンテンツ利用情報を取得し、前記第3の暗号部に与える、請求項16または請求項17に記載のコンテンツ利用情報提供装置。
A storage unit for storing the content usage information;
The content usage information providing device according to claim 16 or 17, wherein the control unit acquires the content usage information stored in the storage unit from the storage unit and gives the content usage information to the third encryption unit. .
前記記憶部は、
前記暗号化コンテンツデータを格納する第1の格納部と、
前記コンテンツ利用情報を格納する第2の格納部とを含み、
前記第2の格納部は、機密性の高い耐タンパ構造によって構成される、請求項18に記載のコンテンツ利用情報提供装置。
The storage unit
A first storage unit for storing the encrypted content data;
A second storage unit for storing the content usage information,
The content use information providing apparatus according to claim 18, wherein the second storage unit is configured by a tamper-resistant structure with high confidentiality.
暗号化コンテンツデータを復号および再生するためのコンテンツ鍵を含むコンテンツ利用情報をコンテンツ利用情報提供装置から享受するコンテンツ利用情報享受装置であって、
前記コンテンツ利用情報提供装置との間でデータの授受を制御するインタフェースと、
前記コンテンツ利用情報享受装置に設定された第1の公開鍵によって暗号化されたデータを復号するための第1の秘密鍵を保持する第1秘密鍵保持部と、
前記コンテンツ利用情報享受装置に設定された楕円曲線暗号の第2の公開鍵を保持する第2公開鍵保持部と、
前記第2の公開鍵によって暗号化されたデータを復号するための第2の秘密鍵を保持する第2秘密鍵保持部と、
前記第1の公開鍵によって暗号化されたデータを前記第1の秘密鍵で復号する第1の復号部と、
前記コンテンツ利用情報提供装置で生成された第1の対称鍵によって、データを暗号化する暗号部と、
前記コンテンツ利用情報提供装置との通信を特定するための第2の対称鍵を生成する対称鍵生成部と、
前記第2の対称鍵で暗号化されたデータを復号する第2の復号部と、
前記第2の公開鍵によって暗号化されたデータを前記第2の秘密鍵によってElliptic curve Diffie − Hellman暗号アルゴリズムにしたがってデータを復号する第3の復号部と、
制御部とを備え、
前記第3の復号部は、
前記コンテンツ利用情報提供装置から取得したシェアード鍵を共有するためのデータと前記第2の秘密鍵に基づいて前記シェアード鍵を生成する機能と、前記シェアード鍵で暗号化されたデータを復号する機能とを有し、
前記第1の復号部において前記第1の対称鍵が復号されて初めて受け取った前記第2の公開鍵で暗号化されたデータを復号する復号処理において、前記共有するためのデータと前記第2の秘密鍵に基づいて前記シェアード鍵を生成した後、そのシェアード鍵を用いて暗号化されたデータを復号し、
前記第1の復号部において前記第1の対称鍵が復号されて2回目以降の復号処理において、前回の復号に使用したシェアード鍵を用いて暗号化されたデータを復号し、
前記制御部は、
前記第1の公開鍵によって暗号化された前記第1の対称鍵を前記インタフェースから受け取り、その受け取った前記暗号化された第1の対称鍵を前記第1の復号部に与え、
前記第2の対称鍵を生成するように前記対称鍵生成部を制御し、
前記暗号部において前記第1の対称鍵によって暗号化された前記第2の対称鍵と前記第2の公開鍵とを前記インタフェースを介して前記コンテンツ利用情報提供装置へ送信し、
前記インタフェースを介して受信した前記第2の公開鍵および前記第2の対称鍵によって暗号化された暗号化コンテンツ利用情報を、前記第2の復号部に与える、
ことを特徴とするコンテンツ利用情報享受装置。
A content use information receiving device for receiving content use information including a content key for decrypting and reproducing encrypted content data from a content use information providing device,
An interface for controlling the exchange of data with the content usage information providing device;
A first secret key holding unit that holds a first secret key for decrypting data encrypted with a first public key set in the content use information receiving device;
A second public key holding unit holding a second public key of elliptic curve cryptography set in the content use information receiving device;
A second secret key holding unit for holding a second secret key for decrypting data encrypted with the second public key;
A first decryption unit for decrypting data encrypted with the first public key with the first secret key;
An encryption unit for encrypting data with the first symmetric key generated by the content use information providing device;
A symmetric key generation unit that generates a second symmetric key for specifying communication with the content usage information providing device;
A second decryption unit for decrypting data encrypted with the second symmetric key;
A third decryption unit for decrypting data encrypted by the second public key according to an elliptic curve Diffie-Hellman encryption algorithm by the second secret key;
A control unit,
The third decoding unit includes:
A function for generating the shared key based on the data for sharing the shared key acquired from the content use information providing apparatus and the second secret key, and a function for decrypting the data encrypted with the shared key; Have
In the decryption processing for decrypting the data encrypted with the second public key received only after the first symmetric key is decrypted in the first decryption unit, the data to be shared and the second After generating the shared key based on a secret key, decrypt the data encrypted using the shared key,
In the first and subsequent decryption processes, the first decryption unit decrypts the encrypted data using the shared key used for the previous decryption.
The controller is
Receiving the first symmetric key encrypted with the first public key from the interface, and providing the received first encrypted symmetric key to the first decryption unit;
Controlling the symmetric key generation unit to generate the second symmetric key;
Transmitting the second symmetric key and the second public key encrypted by the first symmetric key in the encryption unit to the content usage information providing apparatus via the interface;
Giving the second decryption unit encrypted content usage information encrypted with the second public key and the second symmetric key received via the interface;
A content use information receiving apparatus characterized by the above.
前記第3の復号部で取り出された前記コンテンツ利用情報に含まれる前記コンテンツ鍵によって、前記暗号化コンテンツデータを復号してコンテンツデータを再生するコンテンツ再生部をさらに備える、請求項20に記載のコンテンツ利用情報享受装置。   21. The content according to claim 20, further comprising a content reproduction unit that reproduces the content data by decrypting the encrypted content data with the content key included in the content usage information extracted by the third decryption unit. Usage information receiving device. 前記コンテンツ利用情報を記憶する記憶部をさらに備え、
前記制御部は、
前記第3の復号部で取り出された前記コンテンツ利用情報を、前記記憶部に格納する、請求項20または請求項21に記載のコンテンツ利用情報享受装置。
A storage unit for storing the content usage information;
The controller is
The content usage information receiving device according to claim 20 or 21, wherein the content usage information extracted by the third decryption unit is stored in the storage unit.
JP2005210645A 2004-07-22 2005-07-20 Content usage information transmitting method, content usage information providing device and content usage information receiving device capable of using the method Expired - Fee Related JP4663437B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005210645A JP4663437B2 (en) 2004-07-22 2005-07-20 Content usage information transmitting method, content usage information providing device and content usage information receiving device capable of using the method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004213690 2004-07-22
JP2005210645A JP4663437B2 (en) 2004-07-22 2005-07-20 Content usage information transmitting method, content usage information providing device and content usage information receiving device capable of using the method

Publications (3)

Publication Number Publication Date
JP2006060793A true JP2006060793A (en) 2006-03-02
JP2006060793A5 JP2006060793A5 (en) 2011-01-06
JP4663437B2 JP4663437B2 (en) 2011-04-06

Family

ID=36107854

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005210645A Expired - Fee Related JP4663437B2 (en) 2004-07-22 2005-07-20 Content usage information transmitting method, content usage information providing device and content usage information receiving device capable of using the method

Country Status (1)

Country Link
JP (1) JP4663437B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008015919A (en) * 2006-07-07 2008-01-24 Fujitsu Ltd Content reproduction device
JP2008234721A (en) * 2007-03-19 2008-10-02 Nippon Telegr & Teleph Corp <Ntt> Video reproducing device
WO2009113286A1 (en) * 2008-03-13 2009-09-17 Canon Kabushiki Kaisha Data processing device
CN101859284A (en) * 2009-04-03 2010-10-13 巴比禄股份有限公司 External memory and control method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006033764A (en) * 2004-07-21 2006-02-02 Sanyo Electric Co Ltd Contents utilizing information providing apparatus and contents utilizing information appreciating apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006033764A (en) * 2004-07-21 2006-02-02 Sanyo Electric Co Ltd Contents utilizing information providing apparatus and contents utilizing information appreciating apparatus

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008015919A (en) * 2006-07-07 2008-01-24 Fujitsu Ltd Content reproduction device
JP2008234721A (en) * 2007-03-19 2008-10-02 Nippon Telegr & Teleph Corp <Ntt> Video reproducing device
WO2009113286A1 (en) * 2008-03-13 2009-09-17 Canon Kabushiki Kaisha Data processing device
JP2009223387A (en) * 2008-03-13 2009-10-01 Canon Inc Data processor
US8789137B2 (en) 2008-03-13 2014-07-22 Canon Kabushiki Kaisha Data processing device
CN101859284A (en) * 2009-04-03 2010-10-13 巴比禄股份有限公司 External memory and control method thereof
US8413242B2 (en) 2009-04-03 2013-04-02 Buffalo Inc. External storage device and method of controlling the device

Also Published As

Publication number Publication date
JP4663437B2 (en) 2011-04-06

Similar Documents

Publication Publication Date Title
JP5869580B2 (en) Terminal device, verification device, key distribution device, content reproduction method, key distribution method, and computer program
US8238554B2 (en) Method for transmission/reception of contents usage right information in encrypted form, and device thereof
JP4714402B2 (en) Secure transmission of digital data from an information source to a receiver
US7596692B2 (en) Cryptographic audit
JP4624235B2 (en) Content usage information providing apparatus and content usage information transmission method
JP2006527955A (en) Improved safety-certified channel
US20070276756A1 (en) Recording/Reproducing Device, Recording Medium Processing Device, Reproducing Device, Recording Medium, Contents Recording/Reproducing System, And Contents Recording/Reproducing Method
US6718468B1 (en) Method for associating a password with a secured public/private key pair
JP5954609B1 (en) Method and system for backing up private key of electronic signature token
MXPA06010776A (en) Authentication between device and portable storage.
JP2004362547A (en) Method for constituting home domain through device authentication using smart card, and smart card for constituting home domain
US8363835B2 (en) Method for transmission/reception of contents usage right information in encrypted form, and device thereof
MXPA01010347A (en) Method of and apparatus for providing secure communication of digital data between devices.
JP2004302701A (en) Data input/output method, and storage device and host device capable of using the method
JP2006127485A (en) Device and method for reproducing content
CN103237010B (en) The server end of digital content is cryptographically provided
JP2002319934A (en) System and method for protecting copyright
KR20040085024A (en) Method and apparatus for encrypting data to be secured and inputting/outputting the same
US6704868B1 (en) Method for associating a pass phase with a secured public/private key pair
CN103237011B (en) Digital content encryption transmission method and server end
JP4663437B2 (en) Content usage information transmitting method, content usage information providing device and content usage information receiving device capable of using the method
JP4663436B2 (en) Content usage information transmitting method, content usage information providing device and content usage information receiving device capable of using the method
JP2002099514A (en) Digital data unauthorized use preventive method, digital data unauthorized use preventive system, registration device, distribution device, reproducing device and recording medium
JP4731034B2 (en) Copyright protection system, encryption device, decryption device, and recording medium
JP2001111539A (en) Cryptographic key generator and cryptographic key transmitting method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080707

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101115

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: 20101207

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: 20110105

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

Free format text: PAYMENT UNTIL: 20140114

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees