JP2015043611A - Decoding device - Google Patents

Decoding device Download PDF

Info

Publication number
JP2015043611A
JP2015043611A JP2014210769A JP2014210769A JP2015043611A JP 2015043611 A JP2015043611 A JP 2015043611A JP 2014210769 A JP2014210769 A JP 2014210769A JP 2014210769 A JP2014210769 A JP 2014210769A JP 2015043611 A JP2015043611 A JP 2015043611A
Authority
JP
Japan
Prior art keywords
key
data
personal computer
encryption
interface
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.)
Pending
Application number
JP2014210769A
Other languages
Japanese (ja)
Inventor
隆二 石黒
Ryuji Ishiguro
隆二 石黒
大澤 義知
Yoshitomo Osawa
義知 大澤
義雄 刑部
Yoshio Osakabe
義雄 刑部
佐藤 真
Makoto Sato
真 佐藤
嶋 久登
Hisato Shima
久登 嶋
智之 浅野
Tomoyuki Asano
智之 浅野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2014210769A priority Critical patent/JP2015043611A/en
Publication of JP2015043611A publication Critical patent/JP2015043611A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To securely prevent illegal copying.SOLUTION: Data encrypted by a 1394-interface 26 of a DVD player 1 is transmitted to a personal computer 2 and a magneto-optical disk device 3 through a 1394-bus 11. In the magneto-optical disk device 3 which does not permit a user to change its functions, the received data is decoded by using a 1394-interface 36. On the other hand, in the personal computer 2 which permits the user to change its functions, the encrypted data is decrypted by using a time-variant key i in a 1394-interface 49, and decoding result is further decoded by using a session key S at an application section 61.

Description

本発明は、暗号化装置および方法に関し、特に、より安全性を高めるようにした暗号化装置および方法に関する。   The present invention relates to an encryption apparatus and method, and more particularly, to an encryption apparatus and method that further enhances security.

最近、AV機器、コンピュータなどに代表される複数の電子機器を、バスで相互に接続し、ネットワークを構成して、ネットワーク内で各種のデータを相互に授受することができるようになってきた。   Recently, a plurality of electronic devices represented by AV devices, computers, and the like are connected to each other via a bus to form a network, and various types of data can be exchanged within the network.

その結果、例えば、ネットワークに接続されているDVDプレーヤにより、DVDから再生した映画のデータを、バスを介して、テレビジョン受像機、モニタなどの表示装置に転送し、表示することができる。通常、DVDより再生された映画を表示装置に表示して視聴することは、DVDを購入した時点において、著作権者から許容されるところである。   As a result, for example, movie data reproduced from a DVD can be transferred to a display device such as a television receiver or a monitor via a bus and displayed by a DVD player connected to a network. Normally, displaying a movie reproduced from a DVD on a display device is permitted by the copyright holder at the time of purchasing the DVD.

しかしながら、DVDから再生されたデータを、他の記録媒体にコピーし、利用することは、一般的には著作権者から許容されていない。そこで、バス(ネットワーク)を介して送出するデータが、不法にコピーされるのを防止するために、送出する側において、データを暗号化するようにし、受信側において、これを復号することが考えられる。   However, it is generally not permitted by copyright holders to copy and use data reproduced from a DVD on another recording medium. Therefore, in order to prevent the data sent via the bus (network) from being illegally copied, it is possible to encrypt the data on the sending side and decrypt it on the receiving side. It is done.

しかしながら、DVDプレーヤ、テレビジョン受像機などのコンシューマエレクトロニクス機器(CE機器)は、通常、所定の目的のために設計、製造されているものであり、ユーザがこれを改造したり、他の部品を組み込んだりして、装置の内部のデータを取得したり、改ざんしたりすること(機能の変更)はできないように製造されている。これに対して、例えばパーソナルコンピュータは、多くの場合、アーキテクチャや回路が公開されており、ボードなどを追加したり、各種のアプリケーションソフトウエアをインストールすることにより、様々な機能を追加、変更することができるようになされている。   However, consumer electronics devices (CE devices) such as DVD players and television receivers are usually designed and manufactured for a predetermined purpose, and users can modify them or install other parts. It is manufactured in such a way that it cannot be incorporated to acquire data inside the device or tamper with it (change of function). On the other hand, in many cases, for example, personal computers have open architectures and circuits, and various functions can be added or changed by adding boards or installing various application software. It is made to be able to.

従って、パーソナルコンピュータにおいては、その内部バス上のデータを、所定のハードウェアを付加したり、ソフトウェアプログラムを作成することで、パーソナルコンピュータ内部のバス上のデータを直接見たり、改ざんすることが、比較的容易に行うことができる。このことは、例えば、DVDプレーヤからテレビジョン受像機に暗号化して伝送したデータを、パーソナルコンピュータで受け取り、これを復号して、コピーしたりすることが、アプリケーションソフトウエアを作成することで、容易に行えることを意味する。   Therefore, in the personal computer, the data on the internal bus can be directly viewed or altered by adding predetermined hardware or creating a software program. It can be done relatively easily. This means, for example, that data transmitted encrypted from a DVD player to a television receiver can be received by a personal computer, decrypted and copied by creating application software. It means that you can do it.

換言すれば、パーソナルコンピュータは、バスを介して、通信を行うリンク部と、送受信するデータを用意したり、受信したデータを利用するアプリケーション部とのつながりが希薄であり、物理的にも、論理的にも、そこにユーザが手を加えることができる部分が多い。これに対して、CE機器においては、両者のつながりが密接で、ユーザが介在できる部分が殆どない。   In other words, a personal computer has a poor connection between a link unit that performs communication and an application unit that prepares data to be transmitted / received and uses received data via a bus. In fact, there are many parts that the user can add to. On the other hand, in the CE device, the connection between the two is close and there is almost no part where the user can intervene.

本発明はこのような状況に鑑みてなされたものであり、データの不正なコピーを、より確実に防止することができるようにするものである。   The present invention has been made in view of such a situation, and makes it possible to more reliably prevent illegal copying of data.

本発明の一側面の暗号化装置は、暗号鍵を用いてデジタルデータを暗号化する暗号化装置において、他の装置との双方向通信により行われる認証処理を通じて得られる第1の鍵情報を供給する第1の供給部と、前記第1の鍵情報が使用される期間中に変更される第2の鍵情報を供給する第2の供給部と、前記第2の鍵情報の変更に応じて前記期間中に所定のタイミングで変更される前記暗号鍵を、前記第1の鍵情報と前記第2の鍵情報とに基づいて生成する生成部と、前記暗号鍵を保持するメモリと、前記暗号鍵と前記他の装置への送信対象となるデジタルデータとの排他的論理和演算により前記送信対象となるデジタルデータを暗号化する暗号化部とを備える。   An encryption apparatus according to an aspect of the present invention supplies first key information obtained through an authentication process performed by bidirectional communication with another apparatus in an encryption apparatus that encrypts digital data using an encryption key. A second supply unit that supplies second key information that is changed during a period in which the first key information is used, and a change in the second key information. A generation unit that generates the encryption key that is changed at a predetermined timing during the period based on the first key information and the second key information, a memory that holds the encryption key, and the encryption An encryption unit that encrypts the digital data to be transmitted by an exclusive OR operation between the key and the digital data to be transmitted to the other device.

本発明の一側面においては、他の装置との双方向通信により行われる認証処理を通じて得られる第1の鍵情報が使用される期間中に変更される第2の鍵情報の変更に応じて前記期間中に所定のタイミングで変更される暗号鍵が、前記第1の鍵情報と前記第2の鍵情報とに基づいて生成され、前記暗号鍵が保持され、前記暗号鍵と前記他の装置への送信対象となるデジタルデータとの排他的論理和演算により前記送信対象となるデジタルデータが暗号化される。   In one aspect of the present invention, the first key information obtained through the authentication process performed by two-way communication with another device is changed according to the change of the second key information that is changed during the period in which the first key information is used. An encryption key that is changed at a predetermined timing during the period is generated based on the first key information and the second key information, the encryption key is held, and the encryption key and the other device are transmitted. The digital data to be transmitted is encrypted by an exclusive OR operation with the digital data to be transmitted.

以上の如く、本発明の一側面によれば、より安全に暗号化を行うことが可能となる。   As described above, according to one aspect of the present invention, encryption can be performed more securely.

本発明を適用した情報処理システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the information processing system to which this invention is applied. 図1のDVDプレーヤ1、パーソナルコンピュータ2、および光磁気ディスク装置3の内部の構成例を示すブロック図である。FIG. 2 is a block diagram illustrating an internal configuration example of a DVD player 1, a personal computer 2, and a magneto-optical disk device 3 in FIG. 認証処理を説明する図である。It is a figure explaining an authentication process. 認証処理を説明するタイミングチャートである。It is a timing chart explaining an authentication process. node_unique_IDのフォーマットを示す図である。It is a figure which shows the format of node_unique_ID. 他の認証処理を説明するタイミングチャートである。It is a timing chart explaining other authentication processing. さらに他の認証処理を説明するタイミングチャートである。It is a timing chart explaining other authentication processing. 他の認証処理を説明するタイミングチャートである。It is a timing chart explaining other authentication processing. 他の認証処理を説明するタイミングチャートである。It is a timing chart explaining other authentication processing. 暗号化処理を説明するブロック図である。It is a block diagram explaining an encryption process. 図10の1394インタフェース26の構成例を示すブロック図である。It is a block diagram which shows the structural example of the 1394 interface 26 of FIG. 図11の1394インタフェース26のより詳細な構成例を示すブロック図である。FIG. 12 is a block diagram illustrating a more detailed configuration example of the 1394 interface 26 of FIG. 11. 図12のLFSR72のより詳細な構成例を示すブロック図である。It is a block diagram which shows the more detailed structural example of LFSR72 of FIG. 図13のLFSR72のより具体的な構成例を示すブロック図である。FIG. 14 is a block diagram illustrating a more specific configuration example of the LFSR 72 of FIG. 13. 図10の1394インタフェース36の構成例を示すブロック図である。It is a block diagram which shows the structural example of the 1394 interface 36 of FIG. 図15の1394インタフェース36のより詳細な構成例を示すブロック図である。FIG. 16 is a block diagram illustrating a more detailed configuration example of the 1394 interface 36 of FIG. 15. 図10の1394インタフェース49の構成例を示すブロック図である。It is a block diagram which shows the structural example of the 1394 interface 49 of FIG. 図17の1394インタフェース49のより詳細な構成例を示すブロック図である。FIG. 18 is a block diagram illustrating a more detailed configuration example of the 1394 interface 49 of FIG. 17. 図10のアプリケーション部61の構成例を示すブロック図である。It is a block diagram which shows the structural example of the application part 61 of FIG. 図19のアプリケーション部61のより詳細な構成例を示すブロック図である。FIG. 20 is a block diagram illustrating a more detailed configuration example of the application unit 61 in FIG. 19. 図10の1394インタフェース26の他の構成例を示すブロック図である。FIG. 11 is a block diagram illustrating another configuration example of the 1394 interface 26 of FIG. 10. 図10の1394インタフェース36の他の構成例を示すブロック図である。FIG. 11 is a block diagram illustrating another configuration example of the 1394 interface 36 of FIG. 10. 図10の1394インタフェース49の他の構成例を示すブロック図である。FIG. 11 is a block diagram illustrating another configuration example of the 1394 interface 49 of FIG. 10. 図10のアプリケーション部61の他の構成例を示すブロック図である。It is a block diagram which shows the other structural example of the application part 61 of FIG.

図1は、本発明を適用した情報処理システムの構成例を表している。この構成例においては、IEEE1394シリアルバス11を介してDVDプレーヤ1、パーソナルコンピュータ2、光磁気ディスク装置3、データ放送受信装置4、モニタ5、テレビジョン受像機6が相互に接続されている。   FIG. 1 shows a configuration example of an information processing system to which the present invention is applied. In this configuration example, a DVD player 1, a personal computer 2, a magneto-optical disk device 3, a data broadcast receiving device 4, a monitor 5, and a television receiver 6 are connected to each other via an IEEE 1394 serial bus 11.

図2は、この内のDVDプレーヤ1、パーソナルコンピュータ2、および光磁気ディスク装置3の内部のより詳細な構成例を表している。DVDプレーヤ1は、1394インタフェース26を介して、1394バス11に接続されている。CPU21は、ROM22に記憶されているプログラムに従って各種の処理を実行し、RAM23は、CPU21が各種の処理を実行する上において必要なデータやプログラムなどを適宜記憶する。操作部24は、ボタン、スイッチ、リモートコントローラなどにより構成され、ユーザにより操作されたとき、その操作に対応する信号を出力する。ドライブ25は、図示せぬDVD(ディスク)を駆動し、そこに記録されているデータを再生するようになされている。EEPROM27は、装置の電源オフ後も記憶する必要のある情報(この実施の形態の場合、鍵情報)を記憶するようになされている。内部バス28は、これらの各部を相互に接続している。   FIG. 2 shows a more detailed configuration example of the inside of the DVD player 1, the personal computer 2, and the magneto-optical disk device 3. The DVD player 1 is connected to the 1394 bus 11 via the 1394 interface 26. The CPU 21 executes various processes in accordance with programs stored in the ROM 22, and the RAM 23 appropriately stores data, programs, and the like necessary for the CPU 21 to execute various processes. The operation unit 24 includes buttons, switches, a remote controller, and the like. When operated by the user, the operation unit 24 outputs a signal corresponding to the operation. The drive 25 drives a DVD (disc) (not shown) and reproduces data recorded therein. The EEPROM 27 stores information (key information in this embodiment) that needs to be stored even after the apparatus is turned off. The internal bus 28 connects these parts to each other.

光磁気ディスク装置3は、CPU31乃至内部バス38を有している。これらは、上述したDVDプレーヤ1におけるCPU21乃至内部バス28と同様の機能を有するものであり、その説明は省略する。ただし、ドライブ35は、図示せぬ光磁気ディスクを駆動し、そこにデータを記録または再生するようになされている。   The magneto-optical disk device 3 has a CPU 31 to an internal bus 38. These have functions similar to those of the CPU 21 to the internal bus 28 in the DVD player 1 described above, and a description thereof will be omitted. However, the drive 35 drives a magneto-optical disk (not shown) and records or reproduces data there.

パーソナルコンピュータ2は、1394インタフェース49を介して1394バス11に接続されている。CPU41は、ROM42に記憶されているプログラムに従って各種の処理を実行する。RAM43には、CPU41が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース44には、キーボード45とマウス46が接続されており、それらから入力された信号をCPU41に出力するようになされている。また、入出力インタフェース44には、ハードディスク(HDD)47が接続されており、そこにデータ、プログラムなどを記録再生することができるようになされている。入出力インタフェース44にはまた、拡張ボード48を適宜装着し、必要な機能を付加することができるようになされている。EEPROM50には、電源オフ後も保持する必要のある情報(この実施の形態の場合、各種の鍵情報)が記憶されるようになされている。例えば、PCI(Peripheral Component Interconnect)、ローカルバスなどにより構成される内部バス51は、これらの各部を相互に接続するようになされている。   The personal computer 2 is connected to the 1394 bus 11 via the 1394 interface 49. The CPU 41 executes various processes according to programs stored in the ROM 42. The RAM 43 appropriately stores data and programs necessary for the CPU 41 to execute various processes. A keyboard 45 and a mouse 46 are connected to the input / output interface 44, and signals input from them are output to the CPU 41. Further, a hard disk (HDD) 47 is connected to the input / output interface 44 so that data, programs, and the like can be recorded and reproduced there. The input / output interface 44 is also equipped with an expansion board 48 as appropriate so that necessary functions can be added. The EEPROM 50 stores information that needs to be retained even after the power is turned off (in this embodiment, various key information). For example, an internal bus 51 configured by PCI (Peripheral Component Interconnect), a local bus, and the like is configured to connect these units to each other.

なお、この内部バス51は、ユーザに対して解放されており、ユーザは、拡張ボード48に所定のボードを適宜接続したり、所定のソフトウェアプログラムを作成して、CPU41にインストールすることで、内部バス51により伝送されるデータを適宜受信することができるようになされている。   The internal bus 51 is open to the user. The user can connect a predetermined board to the expansion board 48 as appropriate, create a predetermined software program, and install it in the CPU 41. Data transmitted through the bus 51 can be received as appropriate.

これに対して、DVDプレーヤ1や光磁気ディスク装置3などのコンシューマエレクトロニクス(CE)装置においては、内部バス28や内部バス38は、ユーザに解放されておらず、特殊な改造などを行わない限り、そこに伝送されるデータを取得することができないようになされている。   On the other hand, in consumer electronics (CE) devices such as the DVD player 1 and the magneto-optical disk device 3, the internal bus 28 and the internal bus 38 are not released to the user, and unless special modifications are made. It is made so that the data transmitted there cannot be obtained.

次に、所定のソースとシンクとの間で行われる認証の処理について説明する。この認証の処理は、図3に示すように、ソースとしての、例えばDVDプレーヤ1のROM22に予め記憶されているソフトウェアプログラムの1つとしてのファームウェア20と、シンクとしての、例えばパーソナルコンピュータ2のROM42に記憶されており、CPU41が処理するソフトウェアプログラムの1つとしてのライセンスマネージャ62との間において行われる。   Next, an authentication process performed between a predetermined source and sink will be described. As shown in FIG. 3, this authentication process includes firmware 20 as one of the software programs stored in advance in the ROM 22 of the DVD player 1 as a source and ROM 42 of the personal computer 2 as a sink, for example. And is performed with the license manager 62 as one of the software programs processed by the CPU 41.

図4は、ソース(DVDプレーヤ1)と、シンク(パーソナルコンピュータ2)との間において行われる認証の手順を示している。DVDプレーヤ1のEEPROM27には、サービスキー(service_key)と関数(hash)が予め記憶されている。これらはいずれも著作権者から、このDVDプレーヤ1のユーザに与えられたものであり、各ユーザは、EEPROM27に、これを秘密裡に保管しておくものである。   FIG. 4 shows an authentication procedure performed between the source (DVD player 1) and the sink (personal computer 2). The EEPROM 27 of the DVD player 1 stores a service key (service_key) and a function (hash) in advance. These are all given to the user of the DVD player 1 by the copyright owner, and each user keeps this in the EEPROM 27 in a secret manner.

サービスキーは、著作権者が提供する情報毎に与えられるものであり、この1394バス11で構成されるシステムにおいて、共通のものである。なお、本明細書において、システムとは、複数の装置で構成される全体的な装置を示すものとする。   The service key is given for each piece of information provided by the copyright holder, and is common in the system configured with the 1394 bus 11. In the present specification, the term system refers to an overall device composed of a plurality of devices.

hash関数は、任意長の入力に対して、64ビットまたは128ビットなどの固定長のデータを出力する関数であり、y(=hash(x))を与えられたとき、xを求めることが困難であり、かつ、hash(x1)=hash(x2)となるx1と、x2の組を求めることも困難となる関数である。1方向hash関数の代表的なものとして、MD5やSHAなどが知られている。この1方向hash関数については、Bruce Schneier著の「Applied Cryptography(Second Edition),Wiley」に詳しく解説されている。   The hash function is a function that outputs data of a fixed length such as 64 bits or 128 bits for an input of an arbitrary length, and it is difficult to obtain x when y (= hash (x)) is given. In addition, it is a function that makes it difficult to obtain a set of x1 and x2 satisfying hash (x1) = hash (x2). MD5 and SHA are known as representative one-way hash functions. This one-way hash function is described in detail in “Applied Cryptography (Second Edition), Wiley” by Bruce Schneier.

一方、シンクとしての例えばパーソナルコンピュータ2は、著作権者から与えられた、自分自身に固有の識別番号(ID)とライセンスキー(license_key)をEEPROM50に秘密裡に保持している。このライセンスキーは、nビットのIDとmビットのサービスキーを連結して得たn+mビットのデータ(ID || service_key)に対して、hash関数を適用して得られる値である。すなわち、ライセンスキーは次式で表される。
license_key=hash(ID || service_key)
On the other hand, for example, the personal computer 2 as a sink holds an identification number (ID) and a license key (license_key) unique to itself given from the copyright holder in the EEPROM 50 in a secret manner. This license key is a value obtained by applying a hash function to n + m-bit data (ID || service_key) obtained by concatenating an n-bit ID and an m-bit service key. That is, the license key is expressed by the following formula.
license_key = hash (ID || service_key)

IDとしては、例えば1394バス11の規格に定められているnode_unique_IDを用いることができる。このnode_unique_IDは、図5に示すように、8バイト(64ビット)で構成され、最初の3バイトは、IEEEで管理され、電子機器の各メーカーにIEEEから付与される。また、下位5バイトは、各メーカーが、自分自身がユーザに提供する各装置に対して付与することができるものである。各メーカーは、例えば下位5バイトに対してシリアルに、1台に1個の番号を割り当てるようにし、5バイト分を全部使用した場合には、上位3バイトがさらに別の番号となっているnode_unique_IDの付与を受け、そして、その下位5バイトについて1台に1個の番号を割り当てるようにする。従って、このnode_unique_IDは、メーカーに拘らず、1台毎に異なるものとなり、各装置に固有のものとなる。   As the ID, for example, node_unique_ID defined in the 1394 bus 11 standard can be used. As shown in FIG. 5, this node_unique_ID is composed of 8 bytes (64 bits), the first 3 bytes are managed by IEEE, and are given to each manufacturer of electronic equipment from IEEE. The lower 5 bytes can be assigned to each device provided by each manufacturer to the user. For example, each manufacturer assigns one number serially to the lower 5 bytes, and when all 5 bytes are used, the upper 3 bytes are a different number. Node_unique_ID Then, one number is assigned to each of the lower 5 bytes. Therefore, this node_unique_ID is different for each device regardless of the manufacturer, and is unique to each device.

ステップS1において、DVDプレーヤ1のファームウェア20は、1394インタフェース26を制御し、1394バス11を介してパーソナルコンピュータ2に対してIDを要求する。パーソナルコンピュータ2のライセンスマネージャ62は、ステップS2において、このIDの要求を受信する。すなわち、1394インタフェース49は、1394バス11を介してDVDプレーヤ1から伝送されてきたID要求の信号を受信すると、これをCPU41に出力する。CPU41のライセンスマネージャ62は、このID要求を受けたとき、ステップS3においてEEPROM50に記憶されているIDを読み出し、これを1394インタフェース49を介して1394バス11からDVDプレーヤ1に伝送する。   In step S 1, the firmware 20 of the DVD player 1 controls the 1394 interface 26 and requests an ID from the personal computer 2 via the 1394 bus 11. In step S2, the license manager 62 of the personal computer 2 receives this ID request. That is, when the 1394 interface 49 receives an ID request signal transmitted from the DVD player 1 via the 1394 bus 11, the 1394 interface 49 outputs it to the CPU 41. When receiving the ID request, the license manager 62 of the CPU 41 reads the ID stored in the EEPROM 50 in step S3 and transmits it to the DVD player 1 from the 1394 bus 11 via the 1394 interface 49.

DVDプレーヤ1においては、ステップS4で1394インタフェース26が、このIDを受け取ると、このIDがCPU21で動作しているファームウェア20に供給される。   In the DVD player 1, when the 1394 interface 26 receives this ID in step S 4, this ID is supplied to the firmware 20 operating on the CPU 21.

ファームウェア20は、ステップS5において、パーソナルコンピュータ2から伝送を受けたIDと、EEPROM27に記憶されているサービスキーを結合して、データ(ID || service_key)を生成し、このデータに対して、次式に示すようにhash関数を適用して、キーlkを生成する。
lk=hash(ID || service_key)
In step S5, the firmware 20 combines the ID received from the personal computer 2 with the service key stored in the EEPROM 27 to generate data (ID || service_key). Apply the hash function as shown in the formula to generate the key lk.
lk = hash (ID || service_key)

次に、ステップS6において、ファームウェア20は、暗号鍵skを生成する。この暗号鍵skの詳細については後述するが、この暗号鍵skは、セッションキーとしてDVDプレーヤ1とパーソナルコンピュータ2のそれぞれにおいて利用される。   Next, in step S6, the firmware 20 generates an encryption key sk. Although details of the encryption key sk will be described later, the encryption key sk is used in each of the DVD player 1 and the personal computer 2 as a session key.

次に、ステップS7において、ファームウェア20は、ステップS5で生成した鍵lkを鍵として、ステップS6で生成した暗号鍵skを暗号化して、暗号化データ(暗号化鍵)eを得る。すなわち、次式を演算する。
e=Enc(lk, sk)
Next, in step S7, the firmware 20 encrypts the encryption key sk generated in step S6 using the key lk generated in step S5 as a key to obtain encrypted data (encryption key) e. That is, the following equation is calculated.
e = Enc (lk, sk)

なお、Enc(A,B)は、共通鍵暗号方式で、鍵Aを用いて、データBを暗号化することを意味する。   Enc (A, B) means that the data B is encrypted using the key A in a common key cryptosystem.

次に、ステップS8で、ファームウェア20は、ステップS7で生成した暗号化データeをパーソナルコンピュータ2に伝送する。すなわち、この暗号化データeは、DVDプレーヤ1の1394インタフェース26から1394バス11を介してパーソナルコンピュータ2に伝送される。パーソナルコンピュータ2においては、ステップS9で、この暗号化データeを1394インタフェース49を介して受信する。ライセンスマネージャ62は、このようにして受信した暗号化データeをEEPROM50に記憶されているライセンスキーを鍵として、次式に示すように復号し、復号鍵sk'を生成する。
sk'=Dec(license_key,e)
Next, in step S8, the firmware 20 transmits the encrypted data e generated in step S7 to the personal computer 2. That is, the encrypted data e is transmitted from the 1394 interface 26 of the DVD player 1 to the personal computer 2 via the 1394 bus 11. The personal computer 2 receives this encrypted data e through the 1394 interface 49 in step S9. The license manager 62 decrypts the encrypted data e received in this way, using the license key stored in the EEPROM 50 as a key, as shown in the following equation, and generates a decryption key sk ′.
sk '= Dec (license_key, e)

なお、ここで、Dec(A,B)は、共通鍵暗号方式で鍵Aを用いて、データBを復号することを意味する。   Here, Dec (A, B) means that the data B is decrypted using the key A in the common key cryptosystem.

なお、この共通鍵暗号方式における暗号化のアルゴリズムとしては、DESが知られている。共通鍵暗号化方式についても、上述した、Applied Cryptography(Second Edition)に詳しく解説されている。   Note that DES is known as an encryption algorithm in this common key cryptosystem. The common key encryption method is also described in detail in Applied Cryptography (Second Edition) described above.

DVDプレーヤ1において、ステップS5で生成するキーlkは、パーソナルコンピュータ2のEEPROM50に記憶されている(license_key)と同一の値となる。すなわち、次式が成立する。
lk=license_key
In the DVD player 1, the key lk generated in step S <b> 5 has the same value as (license_key) stored in the EEPROM 50 of the personal computer 2. That is, the following equation is established.
lk = license_key

従って、パーソナルコンピュータ2において、ステップS10で復号して得たキーsk'は、DVDプレーヤ1において、ステップS6で生成した暗号鍵skと同一の値となる。すなわち、次式が成立する。
sk'=sk
Therefore, the key sk ′ obtained by decrypting in step S10 in the personal computer 2 has the same value as the encryption key sk generated in step S6 in the DVD player 1. That is, the following equation is established.
sk '= sk

このように、DVDプレーヤ1(ソース)とパーソナルコンピュータ2(シンク)の両方において、同一の鍵sk,sk'を共有することができる。そこで、この鍵skをそのまま暗号鍵として用いるか、あるいは、これを基にして、それぞれが疑似乱数を作り出し、それを暗号鍵として用いることができる。   Thus, the same key sk, sk ′ can be shared by both the DVD player 1 (source) and the personal computer 2 (sink). Therefore, this key sk can be used as an encryption key as it is, or each can generate a pseudo random number based on this key and use it as an encryption key.

ライセンスキーは、上述したように、各装置に固有のIDと、提供する情報に対応するサービスキーに基づいて生成されているので、他の装置がskまたはsk'を生成することはできない。また、著作権者から認められていない装置は、ライセンスキーを有していないので、skあるいはsk'を生成することができない。従って、その後DVDプレーヤ1が暗号鍵skを用いて再生データを暗号化してパーソナルコンピュータ2に伝送した場合、パーソナルコンピュータ2が適正にライセンスキーを得たものである場合には、暗号鍵sk'を有しているので、DVDプレーヤ1より伝送されてきた、暗号化されている再生データを復号することができる。しかしながら、パーソナルコンピュータ2が適正なものでない場合、暗号鍵sk'を有していないので、伝送されてきた暗号化されている再生データを復号することができない。換言すれば、適正な装置だけが共通の暗号鍵sk,sk'を生成することができるので、結果的に、認証が行われることになる。   As described above, since the license key is generated based on the ID unique to each device and the service key corresponding to the information to be provided, other devices cannot generate sk or sk ′. In addition, since a device not approved by the copyright holder does not have a license key, sk or sk ′ cannot be generated. Therefore, when the DVD player 1 thereafter encrypts the reproduction data using the encryption key sk and transmits it to the personal computer 2, if the personal computer 2 has obtained the license key properly, the encryption key sk 'is used. Therefore, the encrypted reproduction data transmitted from the DVD player 1 can be decrypted. However, if the personal computer 2 is not appropriate, it does not have the encryption key sk ′, so that the transmitted encrypted reproduction data cannot be decrypted. In other words, only a proper device can generate the common encryption keys sk and sk ′, and as a result, authentication is performed.

仮に1台のパーソナルコンピュータ2のライセンスキーが盗まれたとしても、IDが1台1台異なるので、そのライセンスキーを用いて、他の装置がDVDプレーヤ1から伝送されてきた暗号化されているデータを復号することはできない。従って、安全性が向上する。   Even if the license key of one personal computer 2 is stolen, the ID is different for each one, so that the license key is used to encrypt other devices transmitted from the DVD player 1. Data cannot be decrypted. Therefore, safety is improved.

図6は、ソース(DVDプレーヤ1)に対して、パーソナルコンピュータ2だけでなく、光磁気ディスク装置3もシンクとして機能する場合の処理例を表している。   FIG. 6 shows a processing example when not only the personal computer 2 but also the magneto-optical disk device 3 functions as a sink for the source (DVD player 1).

この場合、シンク1としてのパーソナルコンピュータ2のEEPROM50には、IDとしてID1が、また、ライセンスキーとしてlicense_key1が記憶されており、シンク2としての光磁気ディスク装置3においては、EEPROM37に、IDとしてID2が、また、ライセンスキーとしてlicense_key2が記憶されている。   In this case, the EEPROM 50 of the personal computer 2 serving as the sink 1 stores ID1 as the ID and license_key1 as the license key. In the magneto-optical disk device 3 serving as the sink 2, the EEPROM 37 stores ID2 as the ID. However, license_key2 is stored as a license key.

DVDプレーヤ1(ソース)とパーソナルコンピュータ2(シンク1)の間において行われるステップS11乃至ステップS20の処理は、図4におけるステップS1乃至ステップS10の処理と実質的に同様の処理であるので、その説明は省略する。   The processing in steps S11 to S20 performed between the DVD player 1 (source) and the personal computer 2 (sink 1) is substantially the same as the processing in steps S1 to S10 in FIG. Description is omitted.

すなわち、上述したようにして、DVDプレーヤ1は、パーソナルコンピュータ2に対して認証処理を行う。そして次に、ステップS21において、DVDプレーヤ1は、光磁気ディスク装置3に対して、IDを要求する。光磁気ディスク装置3においては、ステップS22で1394インタフェース36を介して、このID要求信号が受信されると、そのファームウェア30(図10)は、ステップS23でEEPROM37に記憶されているID(ID2)を読み出し、これを1394インタフェース36から、1394バス11を介してDVDプレーヤ1に伝送する。DVDプレーヤ1のファームウェア20は、ステップS24で、1394インタフェース26を介して、このID2を受け取ると、ステップS25で、次式から鍵lk2を生成する。
lk2=hash(ID2 || service_key)
That is, as described above, the DVD player 1 performs an authentication process on the personal computer 2. In step S21, the DVD player 1 requests the magneto-optical disk device 3 for an ID. In the magneto-optical disk device 3, when this ID request signal is received via the 1394 interface 36 in step S22, the firmware 30 (FIG. 10) stores the ID (ID2) stored in the EEPROM 37 in step S23. Is transmitted from the 1394 interface 36 to the DVD player 1 via the 1394 bus 11. When the firmware 20 of the DVD player 1 receives this ID2 via the 1394 interface 26 in step S24, the firmware lk2 is generated from the following equation in step S25.
lk2 = hash (ID2 || service_key)

さらに、ファームウェア20は、ステップS26で次式を演算し、ステップS16で生成した鍵skを、ステップS25で生成した鍵lk2を用いて暗号化し、暗号化したデータe2を生成する。   Further, the firmware 20 calculates the following expression in step S26, encrypts the key sk generated in step S16 using the key lk2 generated in step S25, and generates encrypted data e2.

そして、ステップS27で、ファームウェア20は、この暗号化データe2を1394インタフェース26から1394バス11を介して光磁気ディスク装置3に伝送する。   In step S27, the firmware 20 transmits the encrypted data e2 from the 1394 interface 26 to the magneto-optical disk device 3 via the 1394 bus 11.

光磁気ディスク装置3においては、ステップS28で1394インタフェース36を介して、この暗号化データe2を受信し、ステップS29で次式を演算して、暗号鍵sk2’を生成する。
sk2’=Dec(license_key2,e2)
In the magneto-optical disk device 3, the encrypted data e2 is received via the 1394 interface 36 in step S28, and the following equation is calculated in step S29 to generate the encryption key sk2 ′.
sk2 '= Dec (license_key2, e2)

以上のようにして、パーソナルコンピュータ2と光磁気ディスク装置3のそれぞれにおいて、暗号鍵sk1’,sk2’が得られたことになる。これらの値は、DVDプレーヤ1における暗号鍵skと同一の値となっている。   As described above, the encryption keys sk1 'and sk2' are obtained in the personal computer 2 and the magneto-optical disk device 3, respectively. These values are the same values as the encryption key sk in the DVD player 1.

図6の処理例においては、DVDプレーヤ1が、パーソナルコンピュータ2と、光磁気ディスク装置3に対して、それぞれ個別にIDを要求し、処理するようにしているのであるが、同報通信によりIDを要求することができる場合は、図7に示すような処理を行うことができる。   In the processing example of FIG. 6, the DVD player 1 individually requests and processes IDs from the personal computer 2 and the magneto-optical disk device 3, but the ID is transmitted by broadcast communication. 7 can be processed as shown in FIG.

すなわち、図7の処理例においては、ステップS41で、ソースとしてのDVDプレーヤ1が、全てのシンク(この例の場合、パーソナルコンピュータ2と光磁気ディスク装置3)に対して同報通信でIDを要求する。パーソナルコンピュータ2と光磁気ディスク装置3は、それぞれステップS42とステップS43で、このID転送要求の信号を受け取ると、それぞれステップS44またはステップS45で、EEPROM50またはEEPROM37に記憶されているID1またはID2を読み出し、これをDVDプレーヤ1に転送する。DVDプレーヤ1は、ステップS46とステップS47で、これらのIDをそれぞれ受信する。   That is, in the processing example of FIG. 7, in step S41, the DVD player 1 as a source sends IDs to all the sinks (in this case, the personal computer 2 and the magneto-optical disk device 3) by broadcast communication. Request. When the personal computer 2 and the magneto-optical disk device 3 receive the ID transfer request signal in steps S42 and S43, respectively, they read ID1 or ID2 stored in the EEPROM 50 or EEPROM 37 in step S44 or step S45, respectively. This is transferred to the DVD player 1. The DVD player 1 receives these IDs in steps S46 and S47, respectively.

DVDプレーヤ1においては、さらにステップS48で、次式から暗号鍵lk1を生成する。
lk1=hash(ID1 || service_key)
In the DVD player 1, in step S48, the encryption key lk1 is generated from the following equation.
lk1 = hash (ID1 || service_key)

さらに、ステップS49において、次式から暗号鍵lk2が生成される。
lk2=hash(ID2 || service_key)
In step S49, the encryption key lk2 is generated from the following equation.
lk2 = hash (ID2 || service_key)

DVDプレーヤ1においては、さらにステップS50で、暗号鍵skが生成され、ステップS51で、次式で示すように、暗号鍵skが、鍵lk1を鍵として暗号化される。
e1=Enc(lk1,sk)
In the DVD player 1, an encryption key sk is further generated in step S50, and in step S51, the encryption key sk is encrypted using the key lk1 as a key as shown by the following equation.
e1 = Enc (lk1, sk)

さらに、ステップS52においては、暗号鍵skが、鍵lk2を鍵として、次式に従って暗号化される。
e2=Enc(lk2,sk)
Furthermore, in step S52, the encryption key sk is encrypted according to the following equation using the key lk2 as a key.
e2 = Enc (lk2, sk)

さらに、ステップS53においては、ID1,e1,ID2,e2が、それぞれ次式で示すように結合されて、暗号化データeが生成される。
e=ID1 || e1 || ID2 || e2
Further, in step S53, ID1, e1, ID2, and e2 are combined as shown by the following equations to generate encrypted data e.
e = ID1 || e1 || ID2 || e2

DVDプレーヤ1においては、さらにステップS54で、以上のようにして生成された暗号化データeが同報通信で、パーソナルコンピュータ2と光磁気ディスク装置3に伝送される。   In step S54, the DVD player 1 further transmits the encrypted data e generated as described above to the personal computer 2 and the magneto-optical disk device 3 by broadcast communication.

パーソナルコンピュータ2と光磁気ディスク装置3においては、それぞれステップS55またはステップS56で、これらの暗号化データeが受信される。そして、パーソナルコンピュータ2と光磁気ディスク装置3においては、それぞれステップS57またはステップS58において、次式で示す演算が行われ、暗号鍵sk1’,sk2’が生成される。
sk1’=Dec(license_key1,e1)
sk2’=Dec(license_key2,e2)
The personal computer 2 and the magneto-optical disk device 3 receive the encrypted data e in step S55 or step S56, respectively. In the personal computer 2 and the magneto-optical disk device 3, the calculation shown in the following equation is performed in step S57 or step S58, and the encryption keys sk1 'and sk2' are generated.
sk1 '= Dec (license_key1, e1)
sk2 '= Dec (license_key2, e2)

図8は、1つのシンクが複数のサービスを受けること(複数の種類の情報の復号)ができるようになされている場合の処理例を表している。すなわち、この場合においては、例えば、シンクとしてのパーソナルコンピュータ2は、複数のライセンスキー(license_key1,license_key2,license_key3など)をEEPROM50に記憶している。ソースとしてのDVDプレーヤ1は、そのEEPROM27に複数のサービスキー(service_key1,service_key2,service_key3など)を記憶している。この場合、DVDプレーヤ1は、ステップS81でシンクとしてのパーソナルコンピュータ2に対してIDを要求するとき、DVDプレーヤ1が、これから転送しようとする情報(サービス)を識別するservice_IDを転送する。パーソナルコンピュータ2においては、ステップS82で、これを受信したとき、EEPROM50に記憶されている複数のライセンスキーの中から、このservice_IDに対応するものを選択し、これを用いて、ステップS90で復号処理を行う。その他の動作は、図4における場合と同様である。   FIG. 8 shows a processing example when one sink can receive a plurality of services (decoding a plurality of types of information). That is, in this case, for example, the personal computer 2 as a sink stores a plurality of license keys (license_key1, license_key2, license_key3, etc.) in the EEPROM 50. The DVD player 1 as a source stores a plurality of service keys (service_key1, service_key2, service_key3, etc.) in its EEPROM 27. In this case, when the DVD player 1 requests an ID from the personal computer 2 as a sink in step S81, the DVD player 1 transfers service_ID for identifying information (service) to be transferred. When receiving this in step S82, the personal computer 2 selects the one corresponding to this service_ID from the plurality of license keys stored in the EEPROM 50, and uses this to decrypt the data in step S90. I do. Other operations are the same as those in FIG.

図9は、さらに他の処理例を表している。この例においては、ソースとしてのDVDプレーヤ1が、そのEEPROM27に、service_key、hash関数、および疑似乱数発生関数pRNGを記憶している。これらは、著作権者から与えられたものであり、秘密裡に保管される。また、シンクとしてのパーソナルコンピュータ2のEEPROM50には、著作権者から与えられたID、LK,LK'、関数G、および疑似乱数数発生関数pRNGを有している。   FIG. 9 shows still another processing example. In this example, the DVD player 1 as a source stores a service_key, a hash function, and a pseudorandom number generation function pRNG in the EEPROM 27. These are given by the copyright owner and are kept secretly. The EEPROM 50 of the personal computer 2 as a sink has an ID, LK, LK ′, a function G, and a pseudo random number generation function pRNG given by the copyright holder.

LKは、著作権者が作成したユニークな乱数であり、LK'は、次式を満足するように生成されている。
LK'=G^−1(R)
R=pRNG(H) (+) pRNG(LK)
H=hash(ID || service_key)
LK is a unique random number created by the copyright holder, and LK ′ is generated so as to satisfy the following expression.
LK '= G ^ -1 (R)
R = pRNG (H) (+) pRNG (LK)
H = hash (ID | | service_key)

なお、G^−1は、Gの逆関数を意味する。G^−1は、所定の規則を知っていれば、簡単に計算することができるが、知らない場合には、計算することが難しいような特徴を有している。このような関数としては、公開鍵暗号に用いられている関数を利用することができる。   G ^ -1 means an inverse function of G. G ^ -1 can be easily calculated if a predetermined rule is known, but has a characteristic that is difficult to calculate if it is not known. As such a function, a function used for public key cryptography can be used.

また、疑似乱数発生関数は、ハードウェアとして設けるようにすることも可能である。   The pseudo random number generation function can be provided as hardware.

DVDプレーヤ1のファームウェア20は、最初にステップS101において、パーソナルコンピュータ2のライセンスマネージャ62に対してIDを要求する。パーソナルコンピュータ2のライセンスマネージャ62は、ステップS102でID要求信号を受け取ると、EEPROM50に記憶されているIDを読み出し、ステップS103で、これをDVDプレーヤ1に伝送する。DVDプレーヤ1のファームウェア20は、ステップS104でこのIDを受け取ると、ステップS105で次式を演算する。
H=hash(ID || service_key)
First, the firmware 20 of the DVD player 1 requests an ID from the license manager 62 of the personal computer 2 in step S101. When receiving the ID request signal in step S102, the license manager 62 of the personal computer 2 reads the ID stored in the EEPROM 50 and transmits it to the DVD player 1 in step S103. When the firmware 20 of the DVD player 1 receives this ID in step S104, it calculates the following expression in step S105.
H = hash (ID | | service_key)

さらに、ファームウェア20は、ステップS106で鍵skを生成し、ステップS107で次式を演算する。
e=sk (+) pRNG(H)
Further, the firmware 20 generates a key sk in step S106, and calculates the following expression in step S107.
e = sk (+) pRNG (H)

なお、A(+)Bは、AとBの排他的論理和の演算を意味する。   A (+) B means an exclusive OR operation of A and B.

すなわち、疑似ランダム発生キーpRNGにステップS105で求めたHを入力することで得られた結果、pRNG(H)と、ステップS106で生成した鍵skのビット毎の排他的論理和を演算することで、鍵SKを暗号化する。   That is, as a result obtained by inputting H obtained in step S105 to the pseudo-random generation key pRNG, pRNG (H) and an exclusive OR for each bit of the key sk generated in step S106 are calculated. , Encrypt the key SK.

次に、ステップS108で、ファームウェア20は、eをパーソナルコンピュータ2に伝送する。   Next, in step S <b> 108, the firmware 20 transmits e to the personal computer 2.

パーソナルコンピュータ2においては、ステップS109でこれを受信し、ステップS110で、次式を演算する。
sk'=e (+) G(LK') (+) pRNG(LK)
The personal computer 2 receives this in step S109, and calculates the following equation in step S110.
sk '= e (+) G (LK') (+) pRNG (LK)

すなわち、DVDプレーヤ1から伝送されてきたe、EEPROM50に記憶されている関数Gに、やはりEEPROM50に記憶されているLK'を適用して得られる値G(LK')、並びに、EEPROM50に記憶されているLK'を、やはりEEPROM50に記憶されている疑似乱数発生関数pRNGに適用して得られる結果pRNG(LK)の排他的論理和を演算し、鍵sk'を得る。   That is, the value G (LK ′) obtained by applying LK ′ also stored in the EEPROM 50 to the function G stored in the EEPROM 50 and e transmitted from the DVD player 1, and stored in the EEPROM 50. The result pRNG (LK) obtained by applying LK ′ to the pseudorandom number generation function pRNG stored in the EEPROM 50 is calculated to obtain a key sk ′.

ここで、次式に示すように、sk=sk'となる。
sk'=e (+) G(LK') (+) pRNG(LK)
=sk (+) pRNG(H) (+) R (+) pRNG(LK)
=sk (+) pRNG(H) (+) pRNG(H) (+) pRNG(LK) (+) pRNG(LK)
=sk
Here, as shown in the following equation, sk = sk ′.
sk '= e (+) G (LK') (+) pRNG (LK)
= Sk (+) pRNG (H) (+) R (+) pRNG (LK)
= Sk (+) pRNG (H) (+) pRNG (H) (+) pRNG (LK) (+) pRNG (LK)
= Sk

このようにして、ソースとしてのDVDプレーヤ1とシンクとしてのパーソナルコンピュータ2は、同一の鍵sk,sk'を共有することができる。LK,LK'を作ることができるのは、著作権者だけであるので、ソースが不正に、LK,LK'を作ろうとしても作ることができないので、より安全性を高めることができる。   In this way, the DVD player 1 as the source and the personal computer 2 as the sink can share the same keys sk and sk ′. Since only the copyright holder can create LK and LK ', since the source cannot be made illegally and try to create LK and LK', safety can be further improved.

以上においては、ソースとシンクにおいて認証を行うようにしたが、例えばパーソナルコンピュータ2には、通常、任意のアプリケーションプログラムをロードして用いることができる。そして、このアプリケーションプログラムとしては、不正に作成したものが使用される場合もある。従って、各アプリケーションプログラム毎に、著作権者から許可を得たものであるか否かを判定する必要がある。そこで、図3に示すように、各アプリケーション部61とライセンスマネージャ62との間においても、上述したように、認証処理を行うようにすることができる。この場合、ライセンスマネージャ62がソースとなり、アプリケーション部61がシンクとなる。   In the above, authentication is performed at the source and the sink. However, for example, an arbitrary application program can usually be loaded and used in the personal computer 2. An illegally created application program may be used as the application program. Therefore, it is necessary to determine for each application program whether or not permission has been obtained from the copyright holder. Therefore, as shown in FIG. 3, authentication processing can be performed between each application unit 61 and the license manager 62 as described above. In this case, the license manager 62 serves as a source, and the application unit 61 serves as a sink.

次に、以上のようにして、認証が行われた後(暗号鍵の共有が行われた後)、暗号鍵を用いて、ソースから暗号化したデータをシンクに転送し、シンクにおいて、この暗号化したデータを復号する場合の動作について説明する。   Next, after the authentication is performed as described above (after the encryption key is shared), the encrypted data is transferred from the source to the sink using the encryption key, and the encryption is performed at the sink. The operation when decrypted data is described.

図10に示すように、DVDプレーヤ1、あるいは光磁気ディスク装置3のように、内部の機能が一般ユーザに解放されていない装置においては、1394バス11を介して授受されるデータの暗号化と復号の処理は、それぞれ1394インタフェース26または1394インタフェース36で行われる。この暗号化と復号化には、セッションキーSと時変キーiが用いられるが、このセッションキーSと時変キーi(正確には、時変キーiを生成するためのキーi’)は、それぞれファームウェア20またはファームウェア30から、1394インタフェース26または1394インタフェース36に供給される。セッションキーSは、初期値として用いられる初期値キーSsと時変キーiを攪乱するために用いられる攪乱キーSiとにより構成されている。この初期値キーSsと攪乱キーSiは、上述した認証において生成された暗号鍵sk(=sk')の所定のビット数の上位ビットと下位ビットにより、それぞれ構成するようにすることができる。このセッションキーSは、セッション毎に(例えば、1つの映画情報毎に、あるいは、1回の再生毎に)、適宜、更新される。これに対して、攪乱キーSiとキーi’から生成される時変キーiは、1つのセッション内において、頻繁に更新されるキーであり、例えば、所定のタイミングにおける時刻情報などを用いることができる。   As shown in FIG. 10, in a device whose internal functions are not released to general users, such as the DVD player 1 or the magneto-optical disk device 3, the encryption of data exchanged via the 1394 bus 11 is performed. Decoding processing is performed by the 1394 interface 26 or 1394 interface 36, respectively. For this encryption and decryption, a session key S and a time-varying key i are used. The session key S and the time-varying key i (more precisely, the key i ′ for generating the time-varying key i) are Are supplied from the firmware 20 or 30 to the 1394 interface 26 or 1394 interface 36, respectively. The session key S is composed of an initial value key Ss used as an initial value and a disturbance key Si used to disturb the time-varying key i. The initial value key Ss and the disturbance key Si can be configured by upper bits and lower bits of a predetermined number of bits of the encryption key sk (= sk ′) generated in the above-described authentication. This session key S is appropriately updated for each session (for example, for each piece of movie information or for each reproduction). On the other hand, the time-varying key i generated from the disturbance key Si and the key i ′ is a key that is frequently updated in one session. For example, time information at a predetermined timing can be used. it can.

いま、ソースとしてのDVDプレーヤ1から再生出力した映像データを1394バス11を介して光磁気ディスク装置3とパーソナルコンピュータ2に伝送し、それぞれにおいて復号するものとする。この場合、DVDプレーヤ1においては、1394インタフェース26において、セッションキーSと時変キーiを用いて暗号化処理が行われる。光磁気ディスク装置3においては、1394インタフェース36において、セッションキーSと時変キーiを用いて復号処理が行われる。   Now, it is assumed that video data reproduced and output from the DVD player 1 as a source is transmitted to the magneto-optical disk device 3 and the personal computer 2 via the 1394 bus 11 and decoded in each. In this case, in the DVD player 1, encryption processing is performed using the session key S and the time-varying key i in the 1394 interface 26. In the magneto-optical disk device 3, decryption processing is performed using the session key S and the time-varying key i in the 1394 interface 36.

これに対して、パーソナルコンピュータ2においては、ライセンスマネージャ62が、セッションキーSのうち、初期値キーSsをアプリケーション部61に供給し、攪乱キーSiと時変キーi(正確には、時変キーiを生成するためのキーi’)を1394インタフェース49(リンク部分)に供給する。そして、1394インタフェース49において、攪乱キーSiとキーi’から時変キーiが生成され、時変キーiを用いて復号が行われ、その復号されたデータをアプリケーション部61において、さらにセッションキーS(正確には、初期値キーSs)を用いて復号が行われる。   On the other hand, in the personal computer 2, the license manager 62 supplies the initial value key Ss among the session keys S to the application unit 61, and the disturbance key Si and the time-varying key i (more precisely, the time-varying key). A key i ′) for generating i is supplied to the 1394 interface 49 (link portion). In the 1394 interface 49, a time-varying key i is generated from the disturbance key Si and the key i ′, decrypted using the time-varying key i, and the decrypted data is further transmitted to the session key S in the application unit 61. Decoding is performed using (precisely, the initial value key Ss).

このように、パーソナルコンピュータ2においては、内部バス51が、ユーザに解放されているので、1394インタフェース49により第1段階の復号だけを行い、まだ暗号の状態としておく。そして、アプリケーション部61において、さらに第2段階の復号を行い、平文にする。これにより、パーソナルコンピュータ2に対して、適宜、機能を付加して、内部バス51において授受されるデータ(平文)をハードディスク47や他の装置にコピーすることを禁止させる。   In this way, in the personal computer 2, since the internal bus 51 is open to the user, only the first stage of decryption is performed by the 1394 interface 49, and the encrypted state is still set. Then, the application unit 61 further performs the second stage decryption to make plain text. As a result, functions are appropriately added to the personal computer 2 to prohibit copying of data (plain text) exchanged on the internal bus 51 to the hard disk 47 or other devices.

このように、この発明の実施の形態においては、内部バスが解放されていないCE装置においては、暗号化、または復号処理は、セッションキーSと時変キーiを用いて1度に行われるが、内部バスが解放されている装置(パーソナルコンピュータ2など)においては、復号処理が、時変キーiを用いた復号処理と、セッションキーSを用いた復号処理に分けて行われる。このように、1段階の復号処理と、2段階に分けた復号処理の両方ができるようにするには、次式を成立させることが必要となる。
Dec(S,Dec(i, Enc(algo(S+i),Data)))=Data
As described above, in the embodiment of the present invention, in the CE device in which the internal bus is not released, the encryption or decryption processing is performed at once using the session key S and the time-varying key i. In a device in which the internal bus is released (such as the personal computer 2), the decryption process is divided into a decryption process using the time-varying key i and a decryption process using the session key S. Thus, in order to be able to perform both the one-stage decoding process and the two-stage decoding process, it is necessary to establish the following equation.
Dec (S, Dec (i, Enc (algo (S + i), Data))) = Data

なお、上記式において、algo(S+i)は、所定のアルゴリズムにセッションキーSと時変キーiを入力して得られた結果を表している。   In the above equation, algo (S + i) represents the result obtained by inputting the session key S and the time-varying key i to a predetermined algorithm.

図11は、上記式を満足する1394インタフェース26の構成例を表している。この構成例においては、アディティブジェネレータ71により生成したmビットのデータが、シュリンクジェネレータ73に供給されている。また、LFSR(Linear Feedback Sift Register)72が1ビットのデータを出力し、シュリンクジェネレータ73に供給している。シュリンクジェネレータ73は、LFSR72の出力に対応して、アディティブジェネレータ71の出力を選択し、選択したデータを暗号鍵として加算器74に出力している。加算器74は、入力された平文(1394バス11に伝送するmビットのデータ)と、シュリンクジェネレータ73より供給されるmビットのデータ(暗号鍵)とを加算し、加算した結果を暗号文(暗号化されたデータ)として、1394バス11に出力するようになされている。   FIG. 11 shows a configuration example of the 1394 interface 26 that satisfies the above formula. In this configuration example, m-bit data generated by the additive generator 71 is supplied to the shrink generator 73. An LFSR (Linear Feedback Shift Register) 72 outputs 1-bit data and supplies it to the shrink generator 73. The shrink generator 73 selects the output of the additive generator 71 in response to the output of the LFSR 72 and outputs the selected data to the adder 74 as an encryption key. The adder 74 adds the input plaintext (m-bit data transmitted to the 1394 bus 11) and m-bit data (encryption key) supplied from the shrink generator 73, and adds the result to the ciphertext ( (Encrypted data) is output to the 1394 bus 11.

加算器74の加算処理は、mod 2^m(^はべき乗を意味する)で、シュリンクジェネレータ73の出力と平文を加算することを意味する。換言すれば、mビットのデータ同志が加算され、キャリオーバを無視した加算値が出力される。   The adding process of the adder 74 means that the output of the shrink generator 73 and the plain text are added with mod 2 ^ m (^ means power). In other words, m bits of data are added together, and an added value ignoring carryover is output.

図12は、図11に示した1394インタフェース26のさらにより詳細な構成例を表している。ファームウェア20から出力されたセッションキーSのうち、初期値キーSsは、加算器81を介してレジスタ82に転送され、保持される。この初期値キーSsは、例えば、55ワード(1ワードは8ビット乃至32ビットの幅を有する)により構成される。また、ファームウェア20から供給されたセッションキーSのうちの、例えばLSB側の32ビットで構成される攪乱キーSiは、レジスタ85に保持される。   FIG. 12 shows a further detailed configuration example of the 1394 interface 26 shown in FIG. Of the session keys S output from the firmware 20, the initial value key Ss is transferred to the register 82 via the adder 81 and held therein. The initial value key Ss is composed of, for example, 55 words (one word has a width of 8 bits to 32 bits). Of the session key S supplied from the firmware 20, for example, a disturbance key Si composed of 32 bits on the LSB side is held in the register 85.

レジスタ84には、キーi’が保持される。このキーi’は、例えば1394バス11を介して1個のパケットが伝送される毎に、2ビットのキーi’がレジスタ84に供給され、16パケット分の(32ビット分の)キーi’がレジスタ84に保持されたとき、加算器86により、レジスタ85に保持されている32ビットの攪乱キーSiと加算され、最終的な時変キーiとして加算器81に供給される。加算器81は、そのときレジスタ82に保持されている値と加算器86より供給された時変キーiを加算し、その加算結果をレジスタ82に供給し、保持させる。   The register 84 holds the key i ′. This key i ′ is supplied to the register 84 every time one packet is transmitted via the 1394 bus 11, for example, and the key i ′ corresponding to 16 packets (32 bits) is supplied. Is added to the 32-bit disturbance key Si held in the register 85 by the adder 86 and supplied to the adder 81 as the final time-varying key i. The adder 81 adds the value held in the register 82 and the time-varying key i supplied from the adder 86 at that time, and supplies the addition result to the register 82 for holding.

レジスタ82のワードのビット数が、例えば8ビットである場合、加算器86より出力される時変キーiが32ビットであるので、時変キーiを4分割して、各8ビットをレジスタ82の所定のアドレス(0乃至54)のワードに加算するようにする。   When the number of bits of the word of the register 82 is, for example, 8 bits, the time-varying key i output from the adder 86 is 32 bits. Therefore, the time-varying key i is divided into four and each 8 bits are stored in the register 82. Are added to a word at a predetermined address (0 to 54).

このようにして、レジスタ82には、最初に初期値キーSsが保持されるが、その後、この値は、16パケット分の暗号文を伝送する毎に、時変キーiで更新される。   In this way, the initial value key Ss is first held in the register 82, but thereafter, this value is updated with the time-varying key i every time ciphertext for 16 packets is transmitted.

加算器83は、レジスタ82に保持されている55ワードのうちの所定の2ワード(図12に示されているタイミングの場合、アドレス23とアドレス54のワード)を選択し、その選択した2ワードを加算して、シュリンクジェネレータ73に出力する。また、この加算器73の出力は、図12に示すタイミングでは、レジスタ82のアドレス0に転送され、前の保持値に代えて保持される。   The adder 83 selects two predetermined words out of the 55 words held in the register 82 (in the case of the timing shown in FIG. 12, the words at the address 23 and the address 54), and the selected two words And output to the shrink generator 73. Further, the output of the adder 73 is transferred to the address 0 of the register 82 at the timing shown in FIG. 12, and held in place of the previous held value.

そして、次のタイミングにおいては、加算器83に供給されるレジスタ82の2ワードのアドレスは、アドレス54とアドレス23から、それぞれアドレス53とアドレス22に、1ワード分だけ、図中上方に移動され、加算器83の出力で更新されるアドレスも、図中、より上方のアドレスに移動される。ただし、アドレス0より上方のアドレスは存在しないので、この場合には、アドレス54に移動する。   At the next timing, the 2-word address of the register 82 supplied to the adder 83 is moved upward by one word from the address 54 and the address 23 to the address 53 and the address 22, respectively. The address updated by the output of the adder 83 is also moved to a higher address in the figure. However, since there is no address above address 0, in this case, it moves to address 54.

なお、加算器81,83,86では、排他的論理和を演算させるようにすることも可能である。   Note that the adders 81, 83, and 86 can calculate an exclusive OR.

LFSR72は、例えば、図13に示すように、nビットのシフトレジスタ101と、シフトレジスタ101のnビットのうちの所定のビット(レジスタ)の値を加算する加算器102により構成されている。シフトレジスタ101は、加算器102より供給されるビットを、図中最も左側のレジスタbnに保持すると、それまでそこに保持されていたデータを右側のレジスタbn-1にシフトする。レジスタbn-1,bn-2,・・・も、同様の処理を行う。そして、さらに次のタイミングでは、各ビットの値を加算器102で加算した値を再び、図中最も左側のビットbnに保持させる。以上の動作が順次繰り返されて、図中最も右側のレジスタb1から出力が1ビットずつ順次出力される。 For example, as shown in FIG. 13, the LFSR 72 includes an n-bit shift register 101 and an adder 102 that adds the values of predetermined bits (registers) out of the n bits of the shift register 101. When the shift register 101 holds the bit supplied from the adder 102 in the leftmost register b n in the drawing, the data held therein is shifted to the right register b n−1 . The registers b n-1 , b n-2 ,... Perform the same processing. At the next timing, the value obtained by adding the values of the respective bits by the adder 102 is held again in the leftmost bit b n in the drawing. The above operation is sequentially repeated, and the output is sequentially output bit by bit from the rightmost register b 1 in the figure.

図13は、一般的な構成例であるが、例えば、より具体的には、LFSR72を図14に示すように構成することができる。この構成例においては、シフトレジスタ101が31ビットにより構成され、その図中右端のレジスタb1の値と左端のレジスタb31の値が、加算器102で加算され、加算された結果がレジスタb31に帰還されるようになされている。 FIG. 13 shows a typical configuration example. For example, more specifically, the LFSR 72 can be configured as shown in FIG. In this configuration example is configured shift register 101 by 31 bits, the value of the register b 31 values and the left end of the register b 1 of the right end in the drawing is, added by the adder 102, the added result register b Returned to 31 .

LFSR72より出力された1ビットのデータが論理1であるとき、条件判定部91は、アディティブジェネレータ71の加算器83より供給されたmビットのデータをそのままFIFO92に転送し、保持させる。これに対して、LFSR72より供給された1ビットのデータが論理0であるとき、条件判定部91は、加算器83より供給されたmビットのデータを受け付けず、暗号化処理を中断させる。このようにして、シュリンクジェネレータ73のFIFO92には、アディティブジェネレータ71で生成したmビットのデータのうち、LFSR72が論理1を出力したタイミングのもののみが選択され、保持される。   When the 1-bit data output from the LFSR 72 is logic 1, the condition determination unit 91 transfers the m-bit data supplied from the adder 83 of the additive generator 71 to the FIFO 92 as it is and holds it. On the other hand, when the 1-bit data supplied from the LFSR 72 is logic 0, the condition determination unit 91 does not accept the m-bit data supplied from the adder 83 and interrupts the encryption process. In this way, in the FIFO 92 of the shrink generator 73, only the data of the m-bit data generated by the additive generator 71 at the timing when the LFSR 72 outputs logic 1 is selected and held.

FIFO92により保持したmビットのデータが、暗号鍵として、加算器74に供給され、伝送されるべき平文のデータ(DVDからの再生データ)に加算されて、暗号文が生成される。   The m-bit data held by the FIFO 92 is supplied as an encryption key to an adder 74 and added to plaintext data (reproduced data from a DVD) to be transmitted to generate a ciphertext.

暗号化されたデータは、DVDプレーヤ1から1394バス11を介して光磁気ディスク装置3とパーソナルコンピュータ2に供給される。   The encrypted data is supplied from the DVD player 1 to the magneto-optical disk device 3 and the personal computer 2 via the 1394 bus 11.

光磁気ディスク装置3は、1394インタフェース36において、1394バス11から受信したデータを復号するために、図15に示すような構成を有している。この構成例においては、シュリンクジェネレータ173にアディティブジェネレータ171の出力するmビットのデータと、LFSR172が出力する1ビットのデータが供給されている。そして、シュリンクジェネレータ173の出力するmビットの鍵が、減算器174に供給されている。減算器174は、暗号文からシュリンクジェネレータ173より供給される鍵を減算して、平文を復号する。   The magneto-optical disk device 3 has a configuration as shown in FIG. 15 in order to decode data received from the 1394 bus 11 at the 1394 interface 36. In this configuration example, m-bit data output from the additive generator 171 and 1-bit data output from the LFSR 172 are supplied to the shrink generator 173. The m-bit key output from the shrink generator 173 is supplied to the subtractor 174. The subtractor 174 subtracts the key supplied from the shrink generator 173 from the ciphertext and decrypts the plaintext.

すなわち、図15に示す構成は、図11に示す構成と基本的に同様の構成とされており、図11における加算器74が、減算器174に変更されている点だけが異なっている。   That is, the configuration shown in FIG. 15 is basically the same as the configuration shown in FIG. 11, except that the adder 74 in FIG. 11 is changed to a subtracter 174.

図16は、図15に示す構成のより詳細な構成例を表している。この構成も、基本的に図12に示した構成と同様の構成とされているが、図12における加算器74が、減算器174に変更されている。その他のアディティブジェネレータ171、LFSR172、シュリンクジェネレータ173、加算器181、レジスタ182、加算器183、レジスタ184,185、加算器186、条件判定部191、FIFO192は、図12におけるアディティブジェネレータ71、LFSR72、シュリンクジェネレータ73、加算器81、レジスタ82、加算器83、レジスタ84,85、加算器86、条件判定部91、およびFIFO92に対応している。   FIG. 16 shows a more detailed configuration example of the configuration shown in FIG. This configuration is basically the same as the configuration shown in FIG. 12, but the adder 74 in FIG. 12 is changed to a subtracter 174. Other additive generators 171, LFSR 172, shrink generator 173, adder 181, register 182, adder 183, registers 184, 185, adder 186, condition determination unit 191, FIFO 192 are the additive generator 71, LFSR 72, shrink in FIG. 12. The generator 73, the adder 81, the register 82, the adder 83, the registers 84 and 85, the adder 86, the condition determination unit 91, and the FIFO 92 are supported.

従って、その動作は、基本的に図12に示した場合と同様であるので、その説明は省略するが、図16の例においては、シュリンクジェネレータ173のFIFO192より出力されたmビットの鍵が、減算器174において、暗号文から減算されて平文が復号される。   Therefore, since the operation is basically the same as that shown in FIG. 12, the description thereof is omitted. In the example of FIG. 16, the m-bit key output from the FIFO 192 of the shrink generator 173 is The subtracter 174 subtracts the ciphertext and decrypts the plaintext.

以上のように、1394インタフェース36においては、セッションキーS(初期値キーSsと攪乱キーSi)と時変キーiを用いて、暗号化データが1度に復号される。   As described above, in the 1394 interface 36, the encrypted data is decrypted at once using the session key S (the initial value key Ss and the disturbance key Si) and the time-varying key i.

これに対して、上述したように、パーソナルコンピュータ2においては、1394インタフェース49とアプリケーション部61において、それぞれ個別に、2段階に分けて復号が行われる。   On the other hand, as described above, in the personal computer 2, the 1394 interface 49 and the application unit 61 individually perform decoding in two stages.

図17は、1394インタフェース49において、ハード的に復号を行う場合の構成例を表しており、その基本的構成は、図15に示した場合と同様である。すなわち、この場合においても、アディティブジェネレータ271、LFSR272、シュリンクジェネレータ273、および減算器274により1394インタフェース49が構成されており、これらは、図15におけるアディティブジェネレータ171、LFSR172、シュリンクジェネレータ173、および減算器174と基本的に同様の構成とされている。ただし、図17の構成例においては、アディティブジェネレータ271に対して、ライセンスマネージャ62から、時変キーiを生成するためのキーi’と、セッションキーSのうち、時変キーiを攪乱するための攪乱キーSiとしては、図15における場合と同様のキーが供給されるが、初期値キーSsとしては、全てのビットが0である単位元が供給される。   FIG. 17 shows a configuration example when hardware decoding is performed in the 1394 interface 49, and the basic configuration is the same as that shown in FIG. That is, also in this case, the 1394 interface 49 is configured by the additive generator 271, the LFSR 272, the shrink generator 273, and the subtractor 274, and these include the additive generator 171, the LFSR 172, the shrink generator 173, and the subtractor in FIG. 174 basically has the same configuration. However, in the configuration example of FIG. 17, the license generator 62 causes the additive generator 271 to disturb the time-varying key i among the key i ′ for generating the time-varying key i and the session key S. As the disturbance key Si, the same key as in FIG. 15 is supplied, but as the initial value key Ss, a unit element in which all bits are 0 is supplied.

すなわち、図18に示すように、初期値キーSsの全てのビットが0とされるので、実質的に、初期値キーSsが存在しない場合と同様に、時変キーiだけに基づいて暗号鍵が生成される。その結果、減算器274においては、暗号文の時変キーiに基づく復号だけが行われる。まだ初期値キーSsに基づく復号が行われていないので、この復号の結果得られるデータは、完全な平文とはなっておらず、暗号文の状態になっている。従って、このデータを内部バス51から取り込み、ハードディスク47や、その他の記録媒体に記録したとしても、それをそのまま利用することができない。   That is, as shown in FIG. 18, since all bits of the initial value key Ss are set to 0, the encryption key is substantially based only on the time-varying key i, as in the case where the initial value key Ss does not exist. Is generated. As a result, the subtracter 274 only performs decryption based on the time-varying key i of the ciphertext. Since the decryption based on the initial value key Ss has not been performed yet, the data obtained as a result of the decryption is not a complete plaintext but is in a ciphertext state. Therefore, even if this data is fetched from the internal bus 51 and recorded on the hard disk 47 or other recording medium, it cannot be used as it is.

そして、以上のようにして、1394インタフェース49において、ハード的に時変キーiに基づいて復号されたデータをソフト的に復号するアプリケーション部61の構成は、図19に示すように、アディティブジェネレータ371、LFSR372、シュリンクジェネレータ373および減算器374により構成される。その基本的構成は、図15に示したアディティブジェネレータ171、LFSR172、シュリンクジェネレータ173、および減算器174と同様の構成となっている。   As described above, in the 1394 interface 49, the configuration of the application unit 61 that software-decrypts the data decrypted based on the time-varying key i in hardware is as shown in FIG. , LFSR 372, shrink generator 373 and subtractor 374. Its basic configuration is the same as that of the additive generator 171, LFSR 172, shrink generator 173, and subtractor 174 shown in FIG.

ただし、セッションキーSのうち、初期値キーSsは、図15における場合と同様に、通常の初期値キーが供給されるが、時変キーiを生成するための攪乱キーSiとキーi’は、それぞれ全てのビットが0である単位元のデータとされる。   However, among the session keys S, as the initial value key Ss, a normal initial value key is supplied as in FIG. 15, but the disturbance key Si and the key i ′ for generating the time-varying key i are , The data of the unit element in which all the bits are 0.

その結果、図20にその詳細を示すように(そのアディティブジェネレータ371乃至FIFO392は、図16におけるアディティブジェネレータ171乃至FIFO192に対応している)、レジスタ384に保持されるキーi’とレジスタ385に保持される攪乱キーSiは、全てのビットが0であるため、加算器386の出力する時変キーiも全てのビットが0となり、実質的に時変キーiが存在しない場合と同様の動作が行われる。すなわち、初期値キーSsだけに基づく暗号鍵が生成される。そして、減算器374においては、このようにして生成された暗号鍵に基づいて暗号文が平文に復号される。上述したように、この暗号文は、1394インタフェース49において、時変キーiに基づいて第1段階の復号が行われているものであるので、ここで、初期値キーSsに基づいて第2段階の復号を行うことで、完全な平文を得ることができる。   As a result, as shown in detail in FIG. 20 (the additive generators 371 to FIFO 392 correspond to the additive generators 171 to 192 in FIG. 16), the key i ′ held in the register 384 and the register 385 hold it. Since all the bits of the perturbation key Si are 0, all the bits of the time-varying key i output from the adder 386 are 0, and the operation is substantially the same as when the time-varying key i does not exist. Done. That is, an encryption key based only on the initial value key Ss is generated. Then, in the subtractor 374, the ciphertext is decrypted into plaintext based on the encryption key generated in this way. As described above, since this ciphertext is decrypted in the first stage based on the time-varying key i in the 1394 interface 49, here, the second stage based on the initial value key Ss. By decrypting, complete plaintext can be obtained.

光磁気ディスク装置3においては、以上のようにして暗号文が復号されると、CPU31が、復号されたデータをドライブ35に供給し、光磁気ディスクに記録させる。   In the magneto-optical disk device 3, when the ciphertext is decrypted as described above, the CPU 31 supplies the decrypted data to the drive 35 and records it on the magneto-optical disk.

一方、パーソナルコンピュータ2においては、CPU41(アプリケーション部61)が、以上のようにして復号されたデータを、例えばハードディスク47に供給し、記録させる。パーソナルコンピュータ2においては、拡張ボード48として所定のボードを接続して、内部バス51で授受されるデータをモニタすることができるが、内部バス51に伝送されるデータを最終的に復号することができるのは、アプリケーション部61であるので、拡張ボード48は、1394インタフェース49で、時変キーiに基づく復号が行われたデータ(まだ、セッションキーSに基づく復号が行われていないデータ)をモニタすることができたとしても、完全に平文に戻されたデータをモニタすることはできない。そこで、不正なコピーが防止される。   On the other hand, in the personal computer 2, the CPU 41 (application unit 61) supplies the data decrypted as described above to, for example, the hard disk 47 and records it. In the personal computer 2, a predetermined board can be connected as the expansion board 48 to monitor the data transmitted / received through the internal bus 51, but the data transmitted to the internal bus 51 can be finally decoded. Since the application unit 61 can do this, the expansion board 48 can use the 1394 interface 49 to decrypt data that has been decrypted based on the time-varying key i (data that has not yet been decrypted based on the session key S). Even if it can be monitored, it is not possible to monitor data that has been completely returned to plaintext. Therefore, unauthorized copying is prevented.

なお、セッションキーの共有は、例えば、Diffie-Hellman法などを用いて行うようにすることも可能である。   The session key can be shared using, for example, the Diffie-Hellman method.

なお、この他、例えばパーソナルコンピュータ2における1394インタフェース49またはアプリケーション部61の処理能力が比較的低く、復号処理を行うことができない場合には、セッションキーと時変キーのいずれか、あるいは両方をソース側において、単位元で構成するようにし、シンク側においても、これらを単位元で用いるようにすれば、実施的にセッションキーと時変キーを使用しないで、データの授受が可能となる。ただし、そのようにすれば、データが不正にコピーされるおそれが高くなる。   In addition, for example, when the processing capability of the 1394 interface 49 or the application unit 61 in the personal computer 2 is relatively low and decryption processing cannot be performed, either the session key or the time-varying key or both are used as the source. If the data is configured on the unit side, and the sink side is also used on the unit side, data can be exchanged effectively without using the session key and the time-varying key. However, if this is done, there is a high risk that the data will be illegally copied.

アプリケーション部61そのものが、不正にコピーしたものである場合、復号したデータが不正にコピーされてしまう恐れがあるが、上述したようにアプリケーション部61をライセンスマネージャ62で認証するようにすれば、これを防止することが可能である。   If the application unit 61 itself is illegally copied, the decrypted data may be illegally copied. However, if the application unit 61 is authenticated by the license manager 62 as described above, this may occur. Can be prevented.

この場合の認証方法としては、共通鍵暗号方式の他、公開鍵暗号方式を用いたデジタル署名を利用することができる。   As an authentication method in this case, a digital signature using a public key cryptosystem as well as a common key cryptosystem can be used.

以上の図11、図12、図15乃至図20に示す構成は、準同形(homomorphism)の関係を満足するものとなっている。すなわち、キーK1,K2がガロアフィールドGの要素であるとき、両者の群演算の結果、K1・K2もガロアフィールドGの要素となる。そして、さらに、所定の関数Hについて次式が成立する。
H(K1・K2)=H(K1)・H(K2
The configurations shown in FIGS. 11, 12, and 15 to 20 satisfy the homomorphism relationship. That is, when the keys K 1 and K 2 are elements of the Galois field G, K 1 and K 2 are also elements of the Galois field G as a result of both group operations. Further, the following equation is established for the predetermined function H.
H (K 1 · K 2 ) = H (K 1 ) · H (K 2 )

図21は、さらに1394インタフェース26の他の構成例を表している。この構成例においては、セッションキーSがLFSR501乃至503に供給され、初期設定されるようになされている。LFSR501乃至503の幅n1乃至n3は、それぞれ20ビット程度で、それぞれの幅n1乃至n3は、相互に素になるように構成される。従って、例えば、セッションキーSのうち、例えば、上位n1ビットがLFSR501に初期設定され、次の上位n2ビットがLFSR502に初期設定され、さらに次の上位n3ビットがLFSR503に初期設定される。 FIG. 21 further shows another configuration example of the 1394 interface 26. In this configuration example, the session key S is supplied to the LFSRs 501 to 503 and is initially set. The widths n 1 to n 3 of the LFSRs 501 to 503 are each about 20 bits, and the widths n 1 to n 3 are configured to be prime to each other. Therefore, for example, in the session key S, for example, the upper n1 bit is initialized to LFSR 501, the next upper n 2 bit is initialized to LFSR 502, and the next upper n 3 bit is initialized to LFSR 503.

LFSR501乃至503は、クロッキングファンクション506より、例えば論理1のイネーブル信号が入力されたとき、mビットだけシフト動作を行い、mビットのデータを出力する。mの値は、例えば、8,16,32,40などとすることができる。   For example, when an enable signal of logic 1 is input from the clocking function 506 from the clocking function 506, the LFSRs 501 to 503 perform a shift operation by m bits and output m-bit data. The value of m can be set to 8, 16, 32, 40, for example.

LFSR501とLFSR502の出力は、加算器504に入力され、加算される。加算器504の加算値のうち、キャリー成分は、クロッキングファンクション506に供給され、sum成分は、加算器505に供給され、LFSR503の出力と加算される。加算器505のキャリー成分は、クロッキングファンクション506に供給され、sum成分は、排他的論理和回路508に供給される。   The outputs of LFSR 501 and LFSR 502 are input to adder 504 and added. Of the addition value of the adder 504, the carry component is supplied to the clocking function 506, and the sum component is supplied to the adder 505 and added to the output of the LFSR 503. The carry component of the adder 505 is supplied to the clocking function 506, and the sum component is supplied to the exclusive OR circuit 508.

クロッキングファンクション506は、加算器504と加算器505より供給されるデータの組み合わせが、00,01,10,11のいずれかであるので、これらに対応して、LFSR501乃至503に対して、000乃至111のいずれか1つの組み合わせのデータを出力する。LFSR501乃至503は、論理1が入力されたとき、mビットのシフト動作を行い、新たなmビットのデータを出力し、論理0が入力されたとき、前回出力した場合と同一のmビットのデータを出力する。   In the clocking function 506, the combination of data supplied from the adder 504 and the adder 505 is any one of 00, 01, 10, and 11, and accordingly, 000 to LFSRs 501 to 503 corresponding to these. The data of any one combination of thru | or 111 is output. The LFSRs 501 to 503 perform an m-bit shift operation when a logic 1 is input, and output new m-bit data. When a logic 0 is input, the same m-bit data as previously output Is output.

排他的論理和回路508は、加算器505の出力するsum成分とレジスタ507に保持された時変キーiの排他的論理和を演算し、その演算結果を排他的論理和回路509に出力する。排他的論理和回路509は、入力された平文と、排他的論理和回路508より入力された暗号鍵の排他的論理和を演算し、演算結果を暗号文として出力する。   The exclusive OR circuit 508 calculates the exclusive OR of the sum component output from the adder 505 and the time-varying key i held in the register 507, and outputs the calculation result to the exclusive OR circuit 509. The exclusive OR circuit 509 calculates the exclusive OR of the input plaintext and the encryption key input from the exclusive OR circuit 508, and outputs the calculation result as a ciphertext.

図22は、光磁気ディスク装置3における1394インタフェース36の構成例を表している。この構成例におけるLFSR601乃至排他的論理和回路609は、図21におけるLFSR501乃至排他的論理和回路509と同様の構成とされている。従って、その動作も、基本的に同様となるので、その説明は省略する。ただし、図21の構成例においては、暗号化処理が行われるのに対して、図22の構成例においては、復号処理が行われる。   FIG. 22 shows a configuration example of the 1394 interface 36 in the magneto-optical disk device 3. The LFSR 601 through exclusive OR circuit 609 in this configuration example have the same configuration as the LFSR 501 through exclusive OR circuit 509 in FIG. Therefore, the operation is basically the same, and the description thereof is omitted. However, while the encryption process is performed in the configuration example of FIG. 21, the decryption process is performed in the configuration example of FIG.

図23は、パーソナルコンピュータ2の1394インタフェース49の構成例を表している。この構成例におけるLFSR701乃至排他的論理和回路709も、図22における、LFSR601乃至排他的論理和回路609と同様の構成とされている。ただし、LFSR701乃至703に初期設定されるセッションキーSは、全てのビットが0の単位元とされている。従って、この場合、実質的にレジスタ707に保持された時変キーiだけに対応して復号化処理が行われる。   FIG. 23 shows a configuration example of the 1394 interface 49 of the personal computer 2. The LFSR 701 through exclusive OR circuit 709 in this configuration example have the same configuration as the LFSR 601 through exclusive OR circuit 609 in FIG. However, the session key S that is initially set in the LFSRs 701 to 703 has a unit element in which all bits are 0. Therefore, in this case, the decryption process is performed substantially corresponding to only the time-varying key i held in the register 707.

図24は、パーソナルコンピュータ2のアプリケーション部61の構成例を表している。この構成例におけるLFSR801乃至排他的論理和回路809は、図22における、LFSR601乃至排他的論理和回路609と基本的に同様の構成とされている。ただし、レジスタ807に入力される時変キーiが、全てのビットが0である単位元とされている点のみが異なっている。従って、この構成例の場合、セッションキーSだけに基づいて暗号鍵が生成され、復号処理が行われる。   FIG. 24 illustrates a configuration example of the application unit 61 of the personal computer 2. The LFSR 801 through the exclusive OR circuit 809 in this configuration example have basically the same configuration as the LFSR 601 through the exclusive OR circuit 609 in FIG. However, the only difference is that the time-varying key i input to the register 807 is a unit element in which all bits are 0. Therefore, in the case of this configuration example, an encryption key is generated based on only the session key S, and decryption processing is performed.

なお、図19、図20、および図24に示す処理は、アプリケーション部61において行われるので、ソフト的に処理されるものである。   The processing shown in FIGS. 19, 20, and 24 is performed in the application unit 61, and thus is processed in software.

以上においては、DVDプレーヤ1をソースとし、パーソナルコンピュータ2と光磁気ディスク装置3をシンクとしたが、いずれの装置をソースとするかシンクとするかは任意である。   In the above description, the DVD player 1 is used as a source, and the personal computer 2 and the magneto-optical disk device 3 are used as a sink. However, which device is used as a source or a sink is arbitrary.

また、各電子機器を接続する外部バスも、1394バスに限らず、種々のバスを利用することができ、それに接続する電子機器も、上述した例に限らず、任意の装置とすることができる。   The external bus for connecting each electronic device is not limited to the 1394 bus, and various buses can be used. The electronic device connected to the external bus is not limited to the above-described example, and can be any device. .

以上のように、機能の変更がユーザに開放されていない第1の情報処理装置においては、第1の鍵と、データを復号しているとき、所定のタイミングで変更される第2の鍵を用いて、暗号鍵を生成するようにし、機能の変更がユーザに開放されている第2の情報処理装置においては、第1の鍵と、第2の鍵の一方を用いて生成した第1の暗号鍵で、暗号化されているデータを復号し、第1の鍵と第2の鍵の他方を用いて生成した第2の暗号鍵を用いて、その復号されたデータをさらに復号するようにする場合、より安全な情報処理システムを実現することが可能となる。   As described above, in the first information processing apparatus whose function is not open to the user, the first key and the second key that is changed at a predetermined timing when data is decrypted are used. In the second information processing apparatus in which the encryption key is generated and the function change is open to the user, the first key generated using one of the first key and the second key is used. The encrypted data is decrypted with the encryption key, and the decrypted data is further decrypted with the second encryption key generated using the other of the first key and the second key. In this case, a safer information processing system can be realized.

また、第1の暗号鍵と、データを復号しているとき、所定のタイミングで変更される第2の暗号鍵を、ソフトウェアプログラムで生成するようにする場合、アプリケーションプログラム毎に復号を行うことが可能となり、不正なコピーをより確実に防止することが可能となる。   In addition, when the first encryption key and the second encryption key to be changed at a predetermined timing are generated by the software program when the data is being decrypted, the decryption may be performed for each application program. This makes it possible to prevent unauthorized copying more reliably.

1 DVDプレーヤ, 2 パーソナルコンピュータ, 3 光磁気ディスク装置, 11 1394バス, 20 ファームウェア, 21 CPU, 25 ドライブ, 26 1394インタフェース, 27 EEPROM, 31 CPU, 35 ドライブ, 36 1394インタフェース, 37 EEPROM, 41 CPU, 47 ハードディスク, 48 拡張ボード, 49 1394インタフェース, 50 EEPROM, 51 内部バス, 61 アプリケーション部, 62 ライセンスマネージャ   1 DVD player, 2 personal computer, 3 magneto-optical disk device, 11 1394 bus, 20 firmware, 21 CPU, 25 drive, 26 1394 interface, 27 EEPROM, 31 CPU, 35 drive, 36 1394 interface, 37 EEPROM, 41 CPU, 47 hard disk, 48 expansion board, 49 1394 interface, 50 EEPROM, 51 internal bus, 61 application section, 62 license manager

本発明は、復号装置に関し、特に、より安全性を高めるようにした復号装置に関する。 The present invention relates to a decoding device , and more particularly, to a decoding device designed to further improve security.

本発明の一側面の復号装置は、テレビ放送受信手段を有するテレビ放送受信機から、暗号化されたデータを受信する受信手段と、セッションキーを供給するセッションキー供給手段と、セッション中に変動する時変キー生成用キー及び前記テレビ放送受信機と共有する攪乱キーを用いて、時変キーを生成する時変キー生成手段と、前記時変キーと、前記セッションキーとに基づき、前記暗号化されたデータを復号する復号キーを生成する復号キー生成手段とを備え、前記時変キーの変動に応じて、前記復号キーは変動するとともに、前記時変キー生成用キーは、受信したパケットに含まれるビット列を、他のビット列と組み合わせることにより得られるキーである復号装置である。 A decryption apparatus according to an aspect of the present invention includes a reception unit that receives encrypted data from a television broadcast receiver having a television broadcast reception unit, a session key supply unit that supplies a session key, and fluctuates during a session. The time-varying key generation means for generating a time-varying key using a time-varying key generating key and a disturbance key shared with the television broadcast receiver, the time-varying key, and the encryption based on the session key A decryption key generating means for generating a decryption key for decrypting the received data, the decryption key fluctuates according to the variation of the time-varying key, and the time-varying key generation key is added to the received packet. This is a decryption device that is a key obtained by combining an included bit string with another bit string.

本発明の一側面においては、テレビ放送受信手段を有するテレビ放送受信機から、暗号化されたデータが受信され、セッションキーが供給され、セッション中に変動する時変キー生成用キー及び前記テレビ放送受信機と共有する攪乱キーを用いて、時変キーが生成され、前記時変キーと、前記セッションキーとに基づき、前記暗号化されたデータを復号する復号キーが生成される。前記時変キーの変動に応じて、前記復号キーは変動するとともに、前記時変キー生成用キーは、受信したパケットに含まれるビット列を、他のビット列と組み合わせることにより得られるキーである。 In one aspect of the present invention , encrypted data is received from a television broadcast receiver having television broadcast receiving means, a session key is supplied, and a time-varying key generating key that fluctuates during a session and the television broadcast A time-varying key is generated using a perturbation key shared with the receiver, and a decryption key for decrypting the encrypted data is generated based on the time-varying key and the session key. The decryption key varies according to the variation of the time varying key, and the time varying key generation key is a key obtained by combining a bit string included in the received packet with another bit string.

Claims (1)

暗号鍵を用いてデジタルデータを暗号化する暗号化装置において、
他の装置との双方向通信により行われる認証処理を通じて得られる第1の鍵情報を供給する第1の供給部と、
前記第1の鍵情報が使用される期間中に変更される第2の鍵情報を供給する第2の供給部と、
前記第2の鍵情報の変更に応じて前記期間中に所定のタイミングで変更される前記暗号鍵を、前記第1の鍵情報と前記第2の鍵情報とに基づいて生成する生成部と、
前記暗号鍵を保持するメモリと、
前記暗号鍵と前記他の装置への送信対象となるデジタルデータとの排他的論理和演算により前記送信対象となるデジタルデータを暗号化する暗号化部と
を備える暗号化装置。
In an encryption device that encrypts digital data using an encryption key,
A first supply unit that supplies first key information obtained through an authentication process performed by two-way communication with another device;
A second supply unit for supplying second key information to be changed during a period in which the first key information is used;
A generating unit configured to generate the encryption key that is changed at a predetermined timing during the period according to the change of the second key information based on the first key information and the second key information;
A memory for holding the encryption key;
An encryption device comprising: an encryption unit that encrypts the digital data to be transmitted by an exclusive OR operation between the encryption key and the digital data to be transmitted to the other device.
JP2014210769A 2014-10-15 2014-10-15 Decoding device Pending JP2015043611A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014210769A JP2015043611A (en) 2014-10-15 2014-10-15 Decoding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014210769A JP2015043611A (en) 2014-10-15 2014-10-15 Decoding device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013251917A Division JP2014064318A (en) 2013-12-05 2013-12-05 Encryption device and method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015210696A Division JP2016015783A (en) 2015-10-27 2015-10-27 Encryption system

Publications (1)

Publication Number Publication Date
JP2015043611A true JP2015043611A (en) 2015-03-05

Family

ID=52696903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014210769A Pending JP2015043611A (en) 2014-10-15 2014-10-15 Decoding device

Country Status (1)

Country Link
JP (1) JP2015043611A (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6370634A (en) * 1986-09-12 1988-03-30 Toshiba Corp Cryptographic key sharing system
JPS63503066A (en) * 1986-04-11 1988-11-10 シエーリング アクチエンゲゼルシヤフト Manufacturing method of 7α-propyl steroid
JPH04117826A (en) * 1990-09-07 1992-04-17 Matsushita Electric Ind Co Ltd Key-delivery system with verification function
JPH07175411A (en) * 1993-12-20 1995-07-14 Csk Corp Cipher system
JPH08335040A (en) * 1995-06-02 1996-12-17 Fujitsu Ltd Enciphering processing system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63503066A (en) * 1986-04-11 1988-11-10 シエーリング アクチエンゲゼルシヤフト Manufacturing method of 7α-propyl steroid
JPS6370634A (en) * 1986-09-12 1988-03-30 Toshiba Corp Cryptographic key sharing system
JPH04117826A (en) * 1990-09-07 1992-04-17 Matsushita Electric Ind Co Ltd Key-delivery system with verification function
JPH07175411A (en) * 1993-12-20 1995-07-14 Csk Corp Cipher system
JPH08335040A (en) * 1995-06-02 1996-12-17 Fujitsu Ltd Enciphering processing system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ALFRED J. MENEZES, PAUL C. VAN OORSCHOT, SCOTT A. VANSTONE, HANDBOOK OF APPLIED CRYPTOGRAPHY, JPN6010050723, 1996, pages 489 - 499, ISSN: 0003068824 *

Similar Documents

Publication Publication Date Title
KR100466474B1 (en) Encoding apparatus and method, decoding apparatus and method, and data processing apparatus and method
JP3988172B2 (en) Information processing apparatus and method, and recording medium
JP3864401B2 (en) Authentication system, electronic device, authentication method, and recording medium
JP4496440B2 (en) Encrypted content transmission device
KR20000076003A (en) Data processing system, data processing device and data processing method
JP4748109B2 (en) ENCRYPTION DEVICE AND METHOD, DECRYPTION DEVICE AND METHOD, INFORMATION PROCESSING DEVICE AND METHOD, AND INFORMATION REPRODUCTION DEVICE
JP2010246158A (en) Encryption apparatus and method, and decryption apparatus and method
JP2006340407A (en) Encryption device and method, and decoding device and method
JP2007043738A (en) Electronic equipment
JP2013179701A (en) Encryption device and method
JP2013017225A (en) Encryption device and method
JP2012070430A (en) Decoder and decoding method
JP4496506B2 (en) Encrypted content transmission device
JP2016015783A (en) Encryption system
JP2015043611A (en) Decoding device
JP2015019430A (en) Decoding device
JP2014064318A (en) Encryption device and method
JP2014147109A (en) Information processing apparatus and information processing method
JP2015029243A (en) Information processing apparatus and information processing method
JP2013192267A (en) Encryption processing apparatus, encryption processing method, decryption processing apparatus, and decryption processing method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150512

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150703

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150728