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 PDFInfo
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
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
暗号化通信路の構築では、最初にライセンスデータを享受する装置(ライセンス享受装置と呼ぶ)が公開鍵を含んだ証明書を、ライセンスデータを提供する装置(ライセンス提供装置と呼ぶ)に送信する。そして、ライセンス提供装置がこの証明書を検証して、検証の結果、ライセンス享受装置からの証明書が、正規の証明書であり、かつ、証明書破棄リストによって無効とされていない場合に、この証明書に含まれる公開鍵を利用して、装置間で鍵交換を行う。そして、ライセンス提供装置は、前記鍵交換においてライセンス享受装置から送られた鍵で暗号化したライセンスデータを、ライセンス享受装置に送信する。 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.
以上のように、コンテンツ配信サービスにおいては、コンテンツデータの暗号化と、ライセンスデータの秘匿によって、コンテンツに係る著作権保護の徹底が図られている。そして、このようにコンテンツ著作権の保護の徹底を図ることにより、配信対象のコンテンツを安心してラインアップに加えることができ、その結果として、配信サービスを受けるユーザのニーズを、より広範に満たし得るようになる。
高精細テレビに対応した映像コンテンツが台頭しつつある。ここでは、高精細テレビ画質の映像コンテンツを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
従来のハードディスクドライブは、一つのホスト装置に固定的に接続されて使用されるのが一般的であったが、本実施の形態のストレージデバイス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
このように、本実施の形態のストレージデバイス200は、複数のホスト装置に接続されることを前提にしており、たとえば所有者以外の第三者のホスト装置に接続されて、内部に記録されたデータを読み出される可能性もある。このストレージデバイス200に、音楽や映像などの著作権により保護されるべきコンテンツ、企業や個人の機密情報などの秘匿すべきデータを記録することを想定したとき、それらの秘匿データが外部に漏洩することを防ぐためには、ストレージデバイス200自身にデータを適切に保護するための構成を設け、十分な耐タンパ機能を持たせることが好ましい。
As described above, the
このような観点から、本実施の形態のストレージデバイス200は、ホスト装置との間で秘匿データを入出力するときに、その秘匿データを暗号化してやり取りするための構成を備える。また、秘匿データを格納するために、通常の記憶領域とは異なる機密データ記憶領域を設け、その機密データ記憶領域はストレージデバイス200内に設けられた暗号エンジンを介さないとアクセスできないように構成する。この暗号エンジンは、正当な権限を有すると検証されたホスト装置のみと秘匿データの入出力をする。以下、このようなデータ保護機能を「セキュア機能」ともいう。上記の構成および機能により、ストレージデバイス200に記録された秘匿データを適切に保護することができる。
From such a viewpoint, the
ストレージデバイス200のリムーバブルメディアとしての特徴を最大限に生かすため、通常のデータについては、セキュア機能に非対応のホスト装置でも入出力可能とするのが好ましい。そのため、本実施の形態のストレージデバイス200は、従来のハードディスクとの互換性を保つべく、ANSI(American National Standards Institute)の標準規格であるATA(AT Attachment)に対応しており、上述のセキュア機能は、ATAの拡張命令として実現される。
In order to make the most of the characteristics of the
以下、秘匿データの入出力の例として、映像などのコンテンツデータを記録再生する場合について説明する。コンテンツデータ自身を秘匿データとして扱ってもよいが、本実施の形態では、コンテンツデータを暗号化し、暗号化されたコンテンツデータ自身は、ストレージデバイス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
以下、記録装置100、再生装置300などのホスト装置がストレージデバイス200に対して発行する命令のうち、セキュア機能のための拡張命令を「セキュアコマンド」とも呼び、その他の命令を「通常コマンド」とも呼ぶ。
Hereinafter, of the commands issued by the host device such as the
図2は、実施の形態に係る記録装置100の内部構成を示す。この構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIなどで実現でき、ソフトウエア的にはメモリにロードされた記録制御機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
FIG. 2 shows an internal configuration of the
記録装置100は、主に、コントローラ101、ストレージインタフェース102、暗号エンジン103、暗号器104、コンテンツエンコーダ105、およびそれらを電気的に接続するデータバス110を備える。
The
コンテンツエンコーダ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
暗号エンジン103は、ライセンスデータLICをストレージデバイス200に入力するために、ストレージデバイス200との間で暗号通信の制御を行う。ストレージインタフェース102は、ストレージデバイス200とのデータの入出力を制御する。コントローラ101は、記録装置100の構成要素を統括的に制御する。
The
図3は、実施の形態に係る再生装置300の内部構成を示す。これらの機能ブロックも、ハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できる。
FIG. 3 shows an internal configuration of the
再生装置300は、主に、コントローラ301、ストレージインタフェース302、暗号エンジン303、復号器304、コンテンツデコーダ305、およびそれらを電気的に接続するデータバス310を備える。
The
ストレージインタフェース302は、ストレージデバイス200とのデータの入出力を制御する。暗号エンジン303は、コンテンツ鍵を含むライセンスデータLICをストレージデバイス200から受信するために、ストレージデバイス200との間で暗号通信の制御を行う。
The
復号器304は、ストレージデバイス200から読み出した暗号化されたコンテンツを、ストレージデバイス200から入手したライセンスデータLICに含まれるコンテンツ鍵により復号する。
The
コンテンツデコーダ305は、復号器304により復号されたコンテンツをデコードして出力する。たとえば、MPEG形式のコンテンツであれば、コンテンツから映像信号と音声信号を復元し、映像信号を図示しない表示装置に出力し、音声信号を図示しないスピーカに出力する。コントローラ301は、再生装置300の構成要素を統括的に制御する。
The
図4は、実施の形態に係るストレージデバイス200の内部構成を示す。ストレージデバイス200は、主に、コントローラ201、ストレージインタフェース202、暗号エンジン203、耐タンパ記憶部204、通常データ記憶部205、およびそれらを電気的に接続するデータバス210を備える。
FIG. 4 shows an internal configuration of the
ストレージインタフェース202は、記録装置100および再生装置300とのデータの入出力を制御する。暗号エンジン203は、コンテンツ鍵を含むライセンスデータLICなどの秘匿データを記録装置100および再生装置300との間で入出力するための暗号通信の制御を行う。通常データ記憶部205は、暗号化されたコンテンツや通常のデータなどを記録する通常記憶領域である。耐タンパ記憶部204は、コンテンツ鍵を含むライセンスデータLICなどの秘匿データを記録する機密データ記憶領域である。コントローラ201は、ストレージデバイス200の構成要素を統括的に制御する。通常データ記憶部205は、外部から直接アクセス(データの入出力)が行われるが、耐タンパ記憶部204は、暗号エンジン203を介さないとアクセス(データの入出力)ができないように構成される。
The
ここで、本実施の形態で用いる鍵について説明する。本実施の形態では、鍵はすべて大文字の「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
ここで、実施の形態で用いる暗号アルゴリズムについて説明する。本実施の形態では、公開鍵暗号方式および対称鍵(共通)暗号方式の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
証明書検証部120は、ストレージデバイス200から取得した証明書C[KPd2]を検証する。証明書C[KPd2]は、公開鍵KPd2を含む平文の情報(「証明書本体」と呼ぶ)と、証明書本体に対して付される電子署名からなる。この電子署名は、証明書本体に対してハッシュ関数による演算(この演算処理を「ハッシュ演算」と呼ぶ)を施した結果を、第三者機関である認証局(図示せず)のルート鍵Kaによって暗号化したデータである。ルート鍵Kaは、認証局によって厳重に管理されている非公開な鍵であり、認証局の秘密鍵となる。証明書検証部120は、このルート鍵Kaと対をなす検証鍵KPaを保持している。この検証鍵KPaは証明書の正当性を検証する公開鍵である。
The
証明書の検証は、証明書の正当性と証明書の有効性によって判断する。証明書の正当性の確認は、検証すべき証明書の証明書本体に対するハッシュ関数の演算結果と、検証鍵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
証明書検証部120は、検証に成功すると、ストレージデバイス200の公開鍵KPd2を取り出して第1暗号部122に伝達し、検証結果を通知する。検証に失敗した場合には、検証エラー通知を出力する。
If the verification is successful, the
乱数発生部121は、乱数を発生する。乱数は、疑似乱数であってもよい。ここでは、ストレージデバイス200との間で暗号通信を行うために一時的に使用されるチャレンジ鍵Kc1と乱数rd1、rp1を生成する。暗号通信を行う度に、乱数であるチャレンジ鍵Kc1を生成することで、チャレンジ鍵Kc1を見破られる可能性を最小限に抑える。生成されたチャレンジ鍵Kc1は、第1暗号部122および復号部123に伝達される。また、乱数rd1、rp1は、それぞれ第1暗号部122、第2暗号部124に伝達され、ED−DHによる暗号化に使用される。
The
第1暗号部122は、ストレージデバイス200にチャレンジ鍵Kc1を通知するために、証明書検証部120により取り出されたストレージデバイス200の公開鍵KPd2でチャレンジ鍵Kc1を暗号化して、暗号化チャレンジ鍵Ep(KPd2,Kc1)=B*rd1//Es(KPd2*rd1,Kc1)を生成する。暗号化には、乱数発生部121が生成した乱数rd1を使用する。
In order to notify the
復号部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
第2暗号部124は、暗号器104がコンテンツを暗号化する際に発行したコンテンツ鍵を含むライセンスデータLICを取得し、そのライセンスデータLICをライセンスデータの提供先、すなわち、ストレージデバイス200の公開鍵KPp2で暗号化したEp(KPp2、LIC)=B*rp1//Es(KPp2*rp1,LIC)を生成する。暗号化には、乱数発生部121が生成した乱数rp1を取得し、使用する。そして、Ep(KPp2、LIC)は、第3暗号部125に伝達される。
The
第3暗号部125は、第2暗号部124によって生成されたEp(KPp2,LIC)を、さらに、ストレージデバイス200で発行されたセッション鍵Ks2により暗号化し、暗号化ライセンスデータEs(Ks2,Ep(KPp2,LIC))を生成する。
The
図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
図6は、図3に示した再生装置300の暗号エンジン303の内部構成を示す。暗号エンジン303は、証明書出力部320、乱数発生部321、第1復号部322、暗号部323、第2復号部324、第3復号部325、およびこれらの構成要素の少なくとも一部を電気的に接続するローカルバス330を備える。
FIG. 6 shows the internal configuration of the
証明書出力部320は、再生装置300の証明書C[KPd3]を出力する。証明書は、証明書出力部320が保持してもよいし、図示しない証明書保持部に保持しておき、それを読み出してもよい。証明書は、再生装置300の公開鍵KPd3を含む証明書本体と、証明書本体に対して付される電子署名からなる。電子署名は、ストレージデバイス200の証明書と同様に、認証局のルート鍵Kaにより暗号化される。
The
乱数発生部321は、ストレージデバイス200との間で暗号通信を行うために一時的に使用されるセッション鍵Ks3を発生する。生成されたセッション鍵Ks3は、暗号部323および第2復号部324に伝達される。
The
第1復号部322は、公開鍵KPd3によって暗号化されたデータを秘密鍵Kd3で復号する。再生時には、ストレージデバイス200で発行されたチャレンジ鍵Kc2は、再生装置300の公開鍵KPd3により暗号化したチャレンジ情報Ep(KPd3,Kc2)としてストレージデバイス200から供給されるため、第1復号部322は、自身の秘密鍵Kd3により復号して、チャレンジ鍵Kc2を取り出す。取り出されたチャレンジ鍵Kc2は、暗号部323に伝達される。
The
暗号部323は、第1復号部322により取り出されたチャレンジ鍵Kc2で、データの暗号化を行う。乱数発生部321で発生したセッション鍵Ks3と自身の公開鍵KPp3を連結して、これを暗号化し、セッション情報Es(Kc2,Ks3//KPp3)を生成する。
The
第2復号部324は、セッション鍵Ks3で暗号化されたデータを復号する。ライセンスデータは、公開鍵KPp3およびセッション鍵Ks3により2重に暗号化された暗号化ライセンスデータEs(Ks3,Ep(KPp3,LIC))としてストレージデバイス200から供給されるため、第2復号部324は、乱数発生部321が発生したセッション鍵Ks3により復号して、その結果を第3復号部325に伝達される。
The
第3復号部325は、公開鍵KPp3で暗号化されたデータの復号を行う。公開鍵KPp3と対をなす秘密鍵Kp3で、第2復号部324の結果を復号し、ライセンスデータLICを取り出す。取り出されたライセンスデータLICは、復号器304に伝達され、復号器304はこのライセンスデータLICに含まれるコンテンツ鍵を用いて暗号化コンテンツを復号する。
The
図6に示した暗号エンジン303においても、各構成要素を接続する形態にはいろいろな変更例が考えられるが、本実施の形態では、乱数発生部321が発生したセッション鍵Ks3、公開鍵と対をなしている秘密鍵Kd3およびKp3、ストレージデバイス200から受け取ったセッション鍵Ks2が、データバス310上を流れないように構成することで、暗号エンジン303内で使用される復号鍵が外部に漏洩することを防ぐ。
In the
図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
制御部220は、ストレージデバイス200のコントローラ201の指示に従って暗号エンジン203の内部の構成の制御および外部の構成との間でデータの入出力を仲介する。
The
乱数発生部221は、記録装置100または再生装置300との間の暗号通信に一時的に使用される乱数rd2およびrp2、セッション鍵Ks2、チャレンジ鍵Kc2を、乱数演算によって発生する。具体的には、ストレージデバイス200がライセンスデータを提供する場合、乱数rd2、rp2とチャレンジ鍵Kc2を生成し、ストレージデバイス200がライセンスデータの提供を受ける場合、セッション鍵Ks2を生成する。
The
証明書出力部222は、ストレージデバイス200の証明書C[KPd2]を出力する。証明書は、証明書出力部222が保持してもよいし、ストレージデバイス200の所定の記憶領域、たとえば耐タンパ記憶部204に保持しておき、それを読み出してもよい。証明書は、ストレージデバイス200の公開鍵KPd2を含む証明書本体と、証明書本体に付された電子署名とを含む。電子署名は、認証局のルート鍵Kaにより暗号化される。
The
証明書検証部223は、外部から提供された証明書の検証を行う。具体的には、記録装置100から取得した証明書C[KPd1]および再生装置300から取得した証明書C[KPd3]を認証鍵KPaにより検証する。検証の詳細な処理は、先に説明を行ったので、ここでは説明を省略する。
The
第1復号部224は、自身の公開鍵KPd2で暗号化されたデータを復号する。具体的には、記録時には、記録装置100で発行されたチャレンジ鍵Kc1が、ストレージデバイス200の公開鍵KPd2で暗号化されチャレンジ情報Ep(KPd2,Kc1)=B*rd1//Es(KPd2*rd1,Kc1)として記録装置100から供給されるため、これを自身の秘密鍵Kd2で復号し、チャレンジ鍵Kc1を取り出す。取り出したチャレンジ鍵Kc1は、第1暗号部225に与えられる。
The
第1暗号部225は、記録装置100が発行したチャレンジ鍵Kc1でデータを暗号化する。具体的には、具体的には、乱数発生部221が発生したセッション鍵Ks2と自身の公開鍵KPp2を連結して、チャレンジ鍵Kc1で暗号化し、セッション情報Es(Kc1,Ks2//KPp2)を生成する。
The
第2復号部226は、乱数発生部221が発生したセッション鍵Ks2で暗号化されたデータを復号する。具体的には、ライセンスデータLICが、公開鍵KPp2およびセッション鍵Ks2により2重に暗号化された暗号化ライセンスデータEs(Ks2,Ep(KPp2,LIC))として記録装置100から受け取るため、これをセッション鍵Ks2により復号して、結果を第3復号部227に与える。
The
第3復号部227は、自身の公開鍵KPp2で暗号化されたデータを復号する。第2復号部226から与えられる公開鍵KPp2で暗号化されたライセンスデータEp(KPp2,LIC)=B*rp1//Es(KPp2*rp1,LIC)を、公開鍵KPp2と対をなす自身の秘密鍵Kp2で復号し、ライセンスデータLICを取り出す。
The
取り出されたライセンスデータLICは、ローカルバス240、制御部220を介して、データバス210に供給され、コントローラ201の指示に従って、耐タンパ記憶部204に記憶される。
The extracted license data LIC is supplied to the
第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
第4復号部229は、乱数発生部221が生成したチャレンジ鍵Kc2で暗号化されたデータを復号する。再生装置300から受け取ったセッション情報Es(Kc2,Ks3//KPp3)を、乱数発生部221が生成したチャレンジ鍵Kc2で復号し、セッション鍵Ks3および再生装置300の公開鍵KPp3を取り出す。取り出されたセッション鍵Ks3と公開鍵KPp3は、それぞれ第4暗号部231、第3暗号部230に伝達される。
The
第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
第4暗号部231は、再生装置300が発行したセッション鍵Ks3でデータを暗号化する。具体的には、セッション鍵Ks3で、第3暗号部230において再生装置300の公開鍵KPp3で暗号化されたライセンスデータをさらに暗号化し、暗号化ライセンスデータEs(Ks3,Ep(KPp3,LIC))を生成する。
The
図8および図9は、記録装置100がストレージデバイス200にライセンスデータLICを記録するまでの手順を示す。
8 and 9 show a procedure until the
まず、記録装置100のコントローラ101は、ストレージデバイス200に対して証明書出力命令を発行する(S102)。ストレージデバイス200のコントローラ201は、証明書出力命令を正常に受理する(S104)と、暗号エンジン203に証明書の出力を命じ、暗号エンジン203から証明書C[KPd2]を読み出して記録装置100へ出力する(S106)。
First, the
コントローラ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
証明書が承認された場合(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
コントローラ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
ストレージデバイス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
一方、コントローラ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
一方、記録装置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
記録装置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
つづいて、暗号エンジン103は、このライセンスデータの記録が、ステップS114のチャレンジ鍵Kc1保持後、初回の記録処理か、繰り返し記録による2回目以降の記録処理かを判断する(S158)。初回の処理の場合(S158のY)、暗号エンジン103は、乱数発生部121において乱数rp1を生成し、生成した乱数rp1を第2暗号部124に伝達する。第2暗号部124では、乱数rp1を用いて、シェアード鍵KPp2*rp1とパラメータB*rp1を演算し、内部に保持する(S160)。
Subsequently, the
一方、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
このように、初回の場合(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
一方、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
コントローラ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
ストレージデバイス200は、ライセンス書込命令を受理すると(S168)、暗号化ライセンスデータの入力を要求し、記録装置100のコントローラ101は、この要求に応じて、暗号化ライセンスデータEs(Ks2,Ep(KPp2,LIC))をストレージデバイス200へ出力する(S170)。
When the
ストレージデバイス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
そして、制御部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
一方、シェアード鍵の演算が不要な場合、すなわち、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
このように、初回の場合(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
コントローラ201は、データバス210に伝達されたライセンスデータを耐タンパ記憶部204の指定されたアドレスに記憶する格納処理を行う(S182)。
The
一方、コントローラ101は、ストレージデバイス200においてライセンスデータ書込命令の処理が終了後、続けてライセンスデータを記録するか否か判断する(S184)。
On the other hand, after the processing of the license data write command is completed in the
続けてライセンスデータを記録する場合(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
また、続けてライセンスデータを記録する場合であっても、ステップ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
なお、ストレージデバイス200へのライセンスデータと暗号化コンテンツデータの記録順序は、いずれが先であってもかまわない。さらには、暗号化コンテンツデータの記録時における、空き時間にセキュアコマンドを分割して発行することで、ライセンスデータを記録するようにしてもよい。
Note that the recording order of the license data and the encrypted content data to the
また、ストレージデバイス200の暗号エンジン203の制御部220において、初回の処理か、2回目以降の処理かを判断する手段として、ライセンス書込命令に、シェアード鍵生成の演算の有無を指示するように示したが、本実施の形態のように、シェアード鍵の演算の有無に関わらず、暗号化ライセンスデータにパラメータが含まれる場合、初回の処理時にパラメータを保持しておき、保持したパラメータと受理した暗号化ライセンスデータに含まれるパラメータの一致・不一致をもって、2回目以降か否かを判断してもよい。さらには、2回目以降は、暗号化ライセンスデータにパラメータを含まない形式とし、パラメータの有無によって判断するようにしてもよい。また、本実施の形態における暗号エンジン103と同様に、処理手順を内部で管理して判断してもよい。なお、暗号エンジン103における判断も同様にすることができる。
Further, in the
なお、図8および図9に示した記録装置100がストレージデバイス200にライセンスデータを記録するまでの手順は、正常に処理が推移した場合の例である。
Note that the procedure until the
図10および図11は、再生装置300がストレージデバイス200からライセンスデータを読み出すまでの手順を示す。
10 and 11 show a procedure until the
まず、再生装置300のコントローラ301は、暗号エンジン303に対して証明書の送信要求を行う(S302)。暗号エンジン303は、この送信要求を受け取ると(S304)、証明書出力部320により、証明書C[KPd3]をコントローラ301へ送る(S306)。コントローラ301は、暗号エンジン303から証明書C[KPd3]を受信すると(S308)、ストレージデバイス200に対して証明書検証命令を発行する(S310)。
First, the
ストレージデバイス200は、証明書検証命令を受理すると(S312)、証明書の入力を要求し、再生装置300のコントローラ301は、この要求に応じて、暗号エンジン303から受け取った証明書C[KPd3]をストレージデバイス200へ出力する(S314)。
When the
ストレージデバイス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
一方、証明書C[KPd3]が承認された場合(S318のY)、暗号エンジン203は、公開鍵KPd3を第2暗号部228に保持する(S320)。
On the other hand, when the certificate C [KPd3] is approved (Y in S318), the
一方、再生装置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
一方、コントローラ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
再生装置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
一方、再生装置300のコントローラ301は、ストレージデバイス200に対してライセンス読出命令を発行する(S348)。ライセンス読出命令は、耐タンパ記憶部204における読み出し位置を指定するアドレスを伴っている。ストレージデバイス200は、ライセンス読出命令を受理すると(S350)、耐タンパ記憶部204の指定されたアドレスに記憶されているライセンスデータLICを読み出し、読み出されたライセンスデータLICは暗号エンジン203の第3暗号部230によって保持される(S352)。
On the other hand, the
一方、再生装置300のコントローラ301は、暗号エンジン303に対してセッション情報の送信要求を行う(S354)。暗号エンジン303は、この送信要求を受け取ると(S356)、暗号エンジン303では、乱数発生部321が、セッション鍵Ks3を生成して、暗号部323および第2復号部324に伝達する。第2復号部324では、このセッション鍵Ks3を内部に保持する(S358)。
On the other hand, the
暗号部323は、乱数発生部321が生成したセッション鍵Ks3に自身の公開鍵KPp3を連結したKs3//KPp3を、ステップS346で保持したチャレンジ鍵Kc2で暗号化して、セッション情報Es(Kc2,Ks3//KPp3)を生成し、コントローラ301へ送る(S360)。コントローラ301は、暗号エンジン303からセッション情報Es(Kc2,Ks3//KPp3)を受信すると(S362)、ストレージデバイス200に対してセッション情報処理命令を発行する(S364)。このセッション情報処理命令は、ライセンスデータを暗号化する時に、シェアード鍵生成の有無を示す制御情報を伴っている。
The
ストレージデバイス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
そして、制御部220は、シェアード鍵生成の有無を示す制御情報を確認する(S372)。シェアード鍵生成が必要な場合、すなわち、ステップS326のチャレンジ鍵Kc2の生成後、初めての再生処理の場合(S372のY)、制御部220は、乱数発生部221に乱数rp2の生成を指示する。乱数発生部221は、乱数rp2を生成し、生成した乱数rp2を第3暗号部230に伝達する。第3暗号部230では、乱数rp2を用いて、シェアード鍵KPp3*rp2とパラメータB*rp2を演算し、内部に保持する(S374)。
And the
一方、シェアード鍵生成が不要な場合、すなわち、ステップ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
一方、再生装置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
再生装置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
そして、この再生処理がステップ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
一方、シェアード鍵の生成が必要でない場合、すなわち、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
このように、再生処理が初回の場合(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
また、続けてライセンスデータを読み出す場合であっても、ステップ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
上記実施の形態では、ストレージデバイス200の暗号エンジン203の制御部220において、初回の処理か、2回目以降の処理かを判断する手段として、ライセンス書込命令に、シェアード鍵の演算の有無を指示するように示したが、本実施の形態のように、シェアード鍵の演算の有無に関わらず、セッション情報に公開鍵KPp3が含まれる場合、初回の処理時に、公開鍵KPp3を保持しておき、保持した公開鍵KPp3と受理したセッション情報に含まれる公開鍵KPp3との一致・不一致をもって、2回目以降の処理をか否か判断することもできる。さらに、2回目以降の処理では、セッション情報に公開鍵KPp3を含まない形式とし、公開鍵KPp3の有無によって判断するようにしてもよい。また、制御部220によって処理手順を内部で管理して判断してもよい。
In the above embodiment, the
このようにして、ストレージデバイス200に記録されたライセンスデータを、他のストレージデバイスに対して複製(ストレージデバイス200に記録されたライセンスデータが利用可能)あるいは移動(ストレージデバイス200に記録されたライセンスデータが削除あるいは無効化される)によって記録する処理を提供することができる。新たにライセンスデータを記録する他のストレージメディアが同様な機能を備えていれば、同様な手順にてストレージデバイス間でライセンスを転送し、ストレージデバイス200から他のストレージデバイスにライセンスを記録することができることは明らかである。この場合、ストレージデバイス200から他のストレージデバイスへのライセンスの転送は、上記ストレージデバイス200から再生装置300へのライセンスの利用と、また、他のストレージデバイスからストレージデバイス200へのライセンスの転送は、上記記録装置100からストレージデバイス200へのライセンスの記録と同様に機能する。
In this way, the license data recorded in the
上記実施の形態では、簡単化のためシェアード鍵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
本実施の形態の記録再生装置400は、コントローラ401、ストレージインタフェース402、記録部403、再生部404、およびこれらの構成要素の少なくとも一部を電気的に接続するデータバス410を備える。記録部403は図2に示した第1の実施の形態における記録装置100の構成を、再生部404は図3に示した第1の実施の形態における再生装置300の構成を各々備えている。なお、本図中、第1の実施の形態と同様の構成には同じ符号を付している。
The recording / reproducing
暗号エンジン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
本実施の形態における記録再生装置400の動作も、第1の実施の形態における動作と同様であり、第1の実施の形態で説明した動作において、記録装置100および再生装置300を記録再生装置400に、コントローラ101および301をコントローラ401に、ストレージインタフェース102および302をストレージインタフェース402に、データバス110および310をデータバス410にそれぞれ置き換えたものと同様である。
The operation of the recording / reproducing
なお、本実施の形態では、記録部403、再生部404は、各々暗号エンジン103、暗号エンジン303を備えるが、これらの暗号エンジン内の同一機能ブロックを共有する構成としても良く、この場合、第1の実施の形態における図7で示すストレージデバイス200における暗号エンジン203と同様の構成となる。
In this embodiment, the recording unit 403 and the playback unit 404 include the
(第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
配信サーバ500は、暗号エンジン103、通信装置502、コンテンツデータベース503、ライセンスデータベース504、ユーザデータベース505、それらを制御するコントローラ501、およびそれらを電気的に接続するデータバス510を備える。端末装置520は、コントローラ101、ストレージインタフェース102、通信装置521、およびそれらを電気的に接続するデータバス522を備える。配信サーバ500と端末装置520は、それぞれ通信装置502、521を介して、ネットワークの一例としてのインターネット20により接続される。
The distribution server 500 includes a
配信サーバ500の暗号エンジン103は、第1の実施の形態の暗号エンジン103と同様の機能を有し、端末装置520のコントローラ101およびストレージインタフェース102は、それぞれ第1の実施の形態のコントローラ101およびストレージインタフェース102と同様の機能を有する。
The
コンテンツデータベース503は、ユーザに提供するコンテンツを保持する。ライセンスデータベース504は、コンテンツを暗号化するのに用いられるコンテンツ鍵を含むライセンスデータを保持する。本実施の形態では、コンテンツは既にコンテンツ鍵により暗号化されてコンテンツデータベース503に格納されているが、コンテンツデータベース503に暗号化される前のコンテンツを格納しておき、配信サーバ500に、第1の実施の形態の記録装置100が備えるコンテンツエンコーダ105および暗号器104をさらに設け、コンテンツデータベース503からコンテンツを読み出してエンコードし、暗号化してもよい。ユーザデータベース505は、コンテンツの提供先であるユーザの情報を保持する。たとえば、ユーザの個人情報、ユーザの端末装置520のアドレス、コンテンツの購入履歴、課金情報などを保持してもよい。
The
コントローラ501は、ユーザの要求に応じて暗号化コンテンツをコンテンツデータベース503から読み出し、ユーザに提供する。そして、暗号エンジン103によりそのコンテンツを復号するためのライセンスデータがユーザに提供されると、このコンテンツ提供の対価を課金すべくユーザデータベース505を更新する。
The
本実施の形態において、データバス510、通信装置502、インターネット20、通信装置521およびデータバス522を、構成を電気的に接続している第1の実施の形態におけるデータバス110とすれば、第1の実施の形態と同様の構成となる。
In this embodiment, if the
本実施の形態の暗号入出力処理の手順は、第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
コンテンツの再生については、第1の実施の形態における再生装置300、または、第2の実施の形態における記録再生装置400に、ストレージデバイス200を装着することによって行うことができる。さらに、端末装置520に、第2の実施の形態における記録再生装置400の再生部404を備える構成として、再生を行うようにしてもよい。
Content playback can be performed by attaching the
以上、本発明に係る実施の形態について説明したが、この実施の形態は例示であり、本発明はこの実施の形態に限定されるものではなく、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。 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.
100 記録装置
200 ストレージデバイス
300 再生装置
400 記録再生装置
500 配信サーバ
520 端末装置
DESCRIPTION OF
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.
前記第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.
前記コンテンツ利用情報享受装置から認証情報を取得して、その認証情報の正当性を検証する検証手段と、
前記検証手段が前記コンテンツ利用情報享受装置を承認したときに、前記コンテンツ利用情報享受装置との間で公開鍵暗号方式を用いて第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に記載のコンテンツ利用情報享受装置。 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.
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)
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)
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 |
-
2005
- 2005-07-20 JP JP2005210645A patent/JP4663437B2/en not_active Expired - Fee Related
Patent Citations (1)
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)
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 |