JP2003066837A - Address generating method and data deciphering method - Google Patents

Address generating method and data deciphering method

Info

Publication number
JP2003066837A
JP2003066837A JP2001253396A JP2001253396A JP2003066837A JP 2003066837 A JP2003066837 A JP 2003066837A JP 2001253396 A JP2001253396 A JP 2001253396A JP 2001253396 A JP2001253396 A JP 2001253396A JP 2003066837 A JP2003066837 A JP 2003066837A
Authority
JP
Japan
Prior art keywords
random number
address
data
storage
generating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2001253396A
Other languages
Japanese (ja)
Inventor
Toru Kukai
徹 九海
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 JP2001253396A priority Critical patent/JP2003066837A/en
Publication of JP2003066837A publication Critical patent/JP2003066837A/en
Withdrawn legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To adequately protect data of high secrecy which are being processed by firmware. SOLUTION: In a deciphering device 1, an address generation part 11 generates a 1st random number as a base address and a 2nd random number as an offset address and stores parameters, etc., used to decipher contents data in the address indicated by the 1st and 2nd random numbers. The 1st random number is deciphered by a deciphering part 12 and the ciphered 1st random number and the 2nd random number are stored in other addresses; and information on the addresses is also ciphered and stored in another address. The addresses where the 1st and 2nd random numbers are stored are moved through the timer processing of a timer processing part 13. When the contents data are deciphered, the parameters are read out and a deciphering key is generated according to the information and parameters sent together with the contents data and used to decipher the contents data.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、高い秘匿性が要求
されるファームウェア処理において、処理中に現れるデ
ータを格納するアドレスを生成するアドレス生成方法、
及びそのアドレス生成方法を用いて、暗号化されたデー
タを復号するデータ復号方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an address generation method for generating an address for storing data that appears during processing in firmware processing that requires high confidentiality.
And a data decryption method for decrypting encrypted data using the address generation method.

【0002】[0002]

【従来の技術】近年、衛星放送やインターネット等を用
いた電子配信により、コンテンツデータ(例えば音楽デ
ータ、映像データ、書籍等の文書データ、静止画データ
等)をユーザに提供するデータ配信が行われている。こ
の際、伝送されるデータが第三者によって盗聴や改竄等
される危険性があるため、秘密にすべき情報について
は、暗号化して伝送される。
2. Description of the Related Art In recent years, data distribution has been performed in which content data (for example, music data, video data, document data such as books, still image data, etc.) is provided to users by electronic distribution using satellite broadcasting or the Internet. ing. At this time, since there is a risk that the transmitted data may be intercepted or tampered with by a third party, the information to be kept secret is transmitted after being encrypted.

【0003】暗号化の技術としては、様々なものが提
案、開発され、実現されているが、基本的には、データ
が暗号化方式毎に決められた計算方法によって元の状態
と異なる状態とされることで暗号化される。
Various encryption techniques have been proposed, developed, and realized, but basically, the data is different from the original state depending on the calculation method determined for each encryption method. It is encrypted by being performed.

【0004】ところで、例えば、計算方法を秘密にし
て、同一の計算がされる計算方法によって全ての情報を
暗号化する手法では、その計算方法が第三者によって特
定された場合、全ての情報がその第三者に盗聴、改竄さ
れる危険にさらされることになる。そこで、データを暗
号化するための計算を暗号鍵と呼ばれる数値列を用いて
行い、データが同一でも暗号鍵が異なれば異なる暗号化
結果が得られるような暗号化方式がある。
By the way, for example, in a method in which the calculation method is kept secret and all information is encrypted by the same calculation method, when the calculation method is specified by a third party, all information is There is a risk of eavesdropping and falsification by the third party. Therefore, there is an encryption method in which a calculation for encrypting data is performed using a numerical sequence called an encryption key, and different encryption results can be obtained if the encryption key is different even if the data is the same.

【0005】この場合、計算方法が第三者に特定されて
も、暗号鍵に対する復号鍵が分からなければ情報を復号
することはできず、仮に暗号鍵又は復号鍵が漏洩等する
ことで特定された場合には、新たな暗号鍵を用いて暗号
化を行うことで、計算方法を変更しなくても、その後の
第三者によるデータの盗聴、改竄を防止することができ
る。
In this case, even if the calculation method is specified by a third party, the information cannot be decrypted without knowing the decryption key for the encryption key, and is identified by the leakage of the encryption key or the decryption key. In such a case, by performing encryption using a new encryption key, it is possible to prevent subsequent wiretapping and tampering of data by a third party without changing the calculation method.

【0006】なお、暗号化に用いる計算方法としては、
一般に、復号の計算方法が公開されても、その復号のた
めの、暗号鍵に対する復号鍵が特定されない限り、元の
データの復号を行うことができないものが望ましく、現
在行われている暗号化では、一般にそのような計算方法
が採用されている。
As a calculation method used for encryption,
Generally, even if the calculation method for decryption is published, it is desirable that the original data cannot be decrypted unless the decryption key for the encryption key for the decryption is specified. , Such a calculation method is generally adopted.

【0007】暗号化及び復号の方式は、暗号化に用いる
暗号鍵と復号に用いる復号鍵とが同一であるか否かによ
って大きく2種類に分けられる。暗号鍵と復号鍵とが同
一のものは、対称鍵方式と呼ばれ、異なるものは非対称
鍵方式と呼ばれる。
The encryption and decryption methods are roughly classified into two types depending on whether the encryption key used for encryption and the decryption key used for decryption are the same. The same encryption key and decryption key are called a symmetric key method, and different ones are called an asymmetric key method.

【0008】対称鍵方式は、暗号鍵と復号鍵とが同一で
あるため、何れか一方でも特定されればデータの復号が
可能となるため、暗号鍵及び復号鍵の何れも秘密鍵とし
ておく必要があり、秘密鍵方式とも呼ばれる。
In the symmetric key system, since the encryption key and the decryption key are the same, the data can be decrypted if any one of them is specified. Therefore, both the encryption key and the decryption key must be private keys. There is also a secret key method.

【0009】この対称鍵方式によれば、上述のように、
暗号鍵又は復号鍵が特定されるとデータの解読が可能と
なり、また、通信相手の数だけ鍵を持つ必要がある。し
かし、対称鍵方式は、暗号化及び復号のための処理負担
が比較的軽く、従って、大量の情報をリアルタイムで伝
送する場合等に適している。
According to this symmetric key system, as described above,
When the encryption key or the decryption key is specified, the data can be decrypted, and it is necessary to have the keys as many as the number of communication partners. However, the symmetric key system has a relatively light processing load for encryption and decryption, and is therefore suitable for transmitting a large amount of information in real time.

【0010】一方、非対称鍵方式は、暗号鍵と復号鍵と
が異なるため、一方の鍵を秘密鍵としておくことで、他
方の鍵は公開鍵とすることができ、公開鍵暗号化方式と
も呼ばれる。
On the other hand, in the asymmetric key system, since the encryption key and the decryption key are different, it is possible to make the other key a public key by setting one key as a secret key, which is also called a public key encryption system. .

【0011】非対称鍵方式においては、相互に、暗号鍵
と復号鍵とになる2つの鍵のうちに一方を秘密鍵として
自身で持っておき、他方を公開鍵として多くの相手に配
布しておく。そして、相手にデータを送信する場合に
は、ユーザは、自身の秘密鍵を用いて暗号化を行う。こ
の場合、暗号化されたデータを受信した相手方は、その
データを公開鍵を用いて復号する。復号できない場合
は、データの改竄等が行われたか、或いは受信したデー
タがユーザの秘密鍵でない鍵で暗号化されていることに
なる。なお、この場合、秘密鍵が暗号鍵となり、公開鍵
が復号鍵となる。
In the asymmetric key system, one of the two keys serving as an encryption key and a decryption key is held by itself as a secret key, and the other is distributed as a public key to many parties. . Then, when transmitting data to the other party, the user performs encryption using his / her own private key. In this case, the other party receiving the encrypted data decrypts the data using the public key. If the data cannot be decrypted, it means that the data has been tampered with, or the received data has been encrypted with a key that is not the user's private key. In this case, the private key becomes the encryption key and the public key becomes the decryption key.

【0012】また、相手方がデータを送信する場合に
は、その相手方は、配布された公開鍵を用いて暗号化を
行う。この場合、その暗号化されたデータの復号は、ユ
ーザの秘密鍵を用いなければすることができず、従っ
て、ユーザの秘密鍵を用いて復号できないときは、デー
タの改竄等が行われたか、或いは受信したデータがユー
ザの秘密鍵に対応する公開鍵でない鍵で暗号化されてい
ることになる。なお、この場合、公開鍵が暗号鍵とな
り、秘密鍵が復号鍵となる。
When the other party sends data, the other party uses the distributed public key for encryption. In this case, the encrypted data can be decrypted only by using the user's private key. Therefore, when the decryption cannot be performed by using the user's private key, whether the data has been tampered with, Alternatively, the received data is encrypted with a key that is not the public key corresponding to the user's private key. In this case, the public key becomes the encryption key and the secret key becomes the decryption key.

【0013】この非対称鍵方式によれば、暗号化及び復
号のための処理負担が比較的重いが、秘密鍵が特定され
ない限りは復号を行うことができない。従って、非対称
鍵方式は、少ないデータを高い秘匿性で伝送する場合等
に適している。
According to this asymmetric key system, the processing load for encryption and decryption is relatively heavy, but decryption cannot be performed unless the secret key is specified. Therefore, the asymmetric key method is suitable for transmitting a small amount of data with high confidentiality.

【0014】[0014]

【発明が解決しようとする課題】ところで、コンテンツ
データとともに復号に用いられる情報が送信され、ユー
ザがその情報と自身の持つパラメータとから復号鍵を生
成し、暗号化されたコンテンツデータを復号する場合が
ある。
By the way, when the information used for decryption is transmitted together with the content data, the user generates a decryption key from the information and the parameters possessed by the user, and decrypts the encrypted content data. There is.

【0015】ここで、前述のパラメータを含む復号処理
中のデータは、例えばC言語の標準ライブラリであるma
lloc関数を用いて確保されたメモリ領域に格納される。
しかし、一般には、同じプログラムを実行した場合には
同様のシステムリソースが利用されることから、malloc
関数を用いてメモリ領域を確保しようとすると、常に同
じようなメモリ領域が確保されることになるため、復号
処理中のデータをより厳重に格納する方法が求められて
いる。
Here, the data during the decoding process including the above-mentioned parameters is, for example, ma which is a standard library of C language.
It is stored in the memory area secured by using the lloc function.
However, since the same system resources are generally used when the same program is executed, malloc
If a memory area is to be secured by using a function, the same memory area is always secured. Therefore, there is a demand for a method of storing data during decoding processing more strictly.

【0016】本発明は、このような従来の実情に鑑みて
提案されたものであり、高い秘匿性が要求されるファー
ムウェア処理において、処理中に現れるデータを格納す
るアドレスを生成することでデータを保護するアドレス
生成方法、及びそのアドレス生成方法を用いて、暗号化
されたデータを復号するデータ復号方法を提供すること
を目的とする。
The present invention has been proposed in view of such conventional circumstances, and in firmware processing that requires high confidentiality, data is generated by generating an address for storing data that appears during processing. An object of the present invention is to provide an address generation method for protection and a data decryption method for decrypting encrypted data using the address generation method.

【0017】[0017]

【課題を解決するための手段】上述した目的を達成する
ために、本発明に係るアドレス生成方法は、データを格
納する格納アドレスを生成するアドレス生成方法であっ
て、基底アドレスを示す第1の乱数とオフセットアドレ
スを示す第2の乱数とを発生させる乱数発生工程と、第
1の乱数を暗号鍵により暗号化する暗号化工程と、第1
の乱数と第2の乱数とにより格納アドレスを生成するア
ドレス生成工程とを有することを特徴としている。
In order to achieve the above-mentioned object, an address generating method according to the present invention is an address generating method for generating a storage address for storing data, which is a first address indicating a base address. A random number generating step of generating a random number and a second random number indicating an offset address; an encryption step of encrypting the first random number with an encryption key;
And an address generating step of generating a storage address using the second random number.

【0018】ここで、乱数発生工程において、第1の乱
数は、第1の入力値及び第2の入力値に基づいて発生さ
れ、且つ、第2の乱数は、第3の入力値及び第4の入力
値に基づいて発生され、第1の入力値及び第2の入力値
の何れか一方、及び/又は第3の入力値及び第4の入力
値の何れか一方は、乱数発生時の時刻情報に基づいて定
められる。
In the random number generating step, the first random number is generated based on the first input value and the second input value, and the second random number is the third input value and the fourth input value. Of the first input value and the second input value, and / or one of the third input value and the fourth input value is generated at the time of random number generation. Determined based on information.

【0019】また、アドレス生成方法は、暗号化工程に
て暗号化された第1の乱数及び第2の乱数をそれぞれ記
憶手段における格納アドレスとは異なる乱数格納アドレ
スに格納する乱数格納工程と、当該乱数格納アドレスを
示す情報を暗号鍵によって暗号化し、記憶手段における
さらに異なるアドレス情報格納アドレスに格納するアド
レス情報格納工程とを有する。
Further, the address generating method includes a random number storing step of storing the first random number and the second random number encrypted in the encrypting step in random number storing addresses different from the storing addresses in the storing means, and An address information storing step of encrypting information indicating a random number storage address with an encryption key and storing the information in a different address information storage address in the storage means.

【0020】また、アドレス生成方法は、第1の乱数及
び第2の乱数の乱数格納アドレスを変更する変更工程
と、アドレス情報格納工程にて格納されたアドレス情報
を変更工程にて変更されたアドレスを示す情報に更新す
る更新工程とを有する。ここで、変更工程及び更新工程
は、例えばタイマー処理により一定周期で行われる。
Further, the address generating method includes a changing step of changing the random number storage addresses of the first random number and the second random number, and an address changed in the changing step of the address information stored in the address information storing step. And an updating step of updating the information to indicate. Here, the changing process and the updating process are performed at regular intervals by, for example, a timer process.

【0021】このような本発明に係るアドレス生成方法
は、基底アドレスを示す第1の乱数とオフセットアドレ
スを示す第2の乱数とを発生させ、第1の乱数と第2の
乱数とによってデータを格納する格納アドレスを生成す
る。また、第1の乱数及び第2の乱数の乱数格納アドレ
スは、タイマー処理により一定周期で移動される。
In the address generating method according to the present invention, the first random number indicating the base address and the second random number indicating the offset address are generated, and the data is generated by the first random number and the second random number. Generate a storage address to store. Further, the random number storage addresses of the first random number and the second random number are moved in a fixed cycle by the timer process.

【0022】また、上述した目的を達成するために、本
発明に係るデータ復号方法は、暗号化されたデータを復
号するデータ復号方法であって、基底アドレスを示す第
1の乱数とオフセットアドレスを示す第2の乱数とを発
生させる乱数発生工程と、第1の乱数を暗号鍵により暗
号化する暗号化工程と、第1の乱数と第2の乱数とによ
り格納アドレスを生成するアドレス生成工程とを有し、
データを復号する際に、アドレス生成工程にて生成され
た格納アドレスを用いて処理することを特徴としてい
る。
In order to achieve the above-mentioned object, the data decryption method according to the present invention is a data decryption method for decrypting encrypted data, which comprises a first random number indicating a base address and an offset address. A random number generating step for generating the second random number shown, an encryption step for encrypting the first random number with an encryption key, and an address generating step for generating a storage address by the first random number and the second random number. Have
When decoding the data, the storage address generated in the address generation step is used for processing.

【0023】ここで、データ復号方法は、データの復号
に用いられるパラメータを格納アドレスに格納する格納
工程と、格納アドレスからパラメータを読み出すパラメ
ータ読出工程と、パラメータを用いてデータを復号する
復号工程と、復号工程にて復号されたデータを外部に出
力する出力工程とを有する。
Here, the data decoding method includes a storage step of storing a parameter used for data decoding in a storage address, a parameter reading step of reading a parameter from the storage address, and a decoding step of decoding data using the parameter. , And an output step of outputting the data decoded in the decoding step to the outside.

【0024】また、パラメータ読出工程では、第1の乱
数が暗号化されて格納されている第1の乱数アドレスに
関する第1のアドレス情報と上記第2の乱数が格納され
ている第2の乱数アドレスに関する第2のアドレス情報
とがそれぞれ第1のアドレス、第2のアドレスから読み
出され、第1のアドレス情報及び第2のアドレス情報に
基づいて暗号化された第1の乱数及び第2の乱数が読み
出され、暗号化された第1の乱数を復号した第1の乱数
と第2の乱数とによりパラメータの格納されている格納
アドレスが生成され、格納アドレスに基づいて、格納ア
ドレスよりパラメータが読み出される。
Further, in the parameter reading step, the first random number address regarding the first random number address in which the first random number is encrypted and stored and the second random number address in which the second random number is stored. Second address information regarding the first random number and the second random number read from the first address and the second address, respectively, and encrypted based on the first address information and the second address information. Is read, the storage address storing the parameter is generated by the first random number and the second random number obtained by decrypting the encrypted first random number, and the parameter is stored from the storage address based on the storage address. Read out.

【0025】また、第1の乱数アドレス及び第2の乱数
アドレスが変更され、当該変更に応じて第1のアドレス
情報及び第2のアドレス情報が更新される。ここで、変
更及び更新は、例えばタイマー処理により一定周期で行
われる。
The first random number address and the second random number address are changed, and the first address information and the second address information are updated according to the change. Here, the change and the update are performed in a constant cycle by, for example, a timer process.

【0026】また、パラメータ読出工程にてパラメータ
が読み出されるとタイマー処理の周期が変更される。
When the parameters are read in the parameter reading step, the timer processing cycle is changed.

【0027】このような本発明に係るデータ復号方法
は、基底アドレスを示す第1の乱数とオフセットアドレ
スを示す第2の乱数とを発生させ、第1の乱数と第2の
乱数とによってデータの復号に用いられるパラメータを
格納する格納アドレスを生成し、この格納アドレスを用
いて処理することで、入力したデータを復号する。
In the data decoding method according to the present invention as described above, the first random number indicating the base address and the second random number indicating the offset address are generated, and the data is decoded by the first random number and the second random number. The input data is decoded by generating a storage address for storing the parameter used for decoding and processing using this storage address.

【0028】[0028]

【発明の実施の形態】以下、本発明を適用した具体的な
実施の形態について、図面を参照しながら詳細に説明す
る。先ず、本実施の形態におけるアドレス生成方法につ
いての原理図を図1に示す。このアドレス生成方法は、
乱数を発生させることにより、処理中のデータを格納す
るメモリ領域を示すアドレスを生成するものである。具
体的には、図1に示すように、全メモリ領域がアドレス
生成可能領域と変数サイズ領域とに分割される。アドレ
ス生成可能領域中のアドレスにおいて第1の乱数を発生
し、変数サイズ領域中のアドレスにおいて第2の乱数を
発生する。この乱数の発生は、次のように行われる。す
なわち、図2に示すように、入力A及び入力Bを入力す
ることで、乱数としての出力Cが得られる。この処理
は、第1の乱数を発生させる場合も第2の乱数を発生さ
せる場合も同様である。ここで、入力A及び入力Bは、
それぞれ所定の規則に基づいて与えられるものである
が、毎回異なる乱数値を得るために入力A及び入力Bの
何れか一方は、初期値として乱数発生時の時刻情報が用
いられる。なお、初期値として用いられるのは時刻情報
に限定されるものではなく、例えば、温度センサを備
え、この温度センサによってセンシングされた温度の情
報を用いるようにしても構わない。ここで、第1の乱数
及び第2の乱数は、それぞれ基底アドレス、オフセット
アドレスを示し、この第1の乱数と第2の乱数とによっ
て格納アドレスが生成される。後述する暗号化されたコ
ンテンツデータの復号の際には、この格納アドレスを用
いて処理が行われる。アドレス生成可能領域の他に変数
サイズ領域が用意されているのは、第1の乱数をアドレ
ス生成可能領域の最後で発生した場合に、演算用のデー
タ領域を確保するためである。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Specific embodiments to which the present invention is applied will be described below in detail with reference to the drawings. First, FIG. 1 shows a principle diagram of an address generation method according to the present embodiment. This address generation method is
By generating a random number, an address indicating a memory area for storing data being processed is generated. Specifically, as shown in FIG. 1, the entire memory area is divided into an address generation area and a variable size area. A first random number is generated at an address in the address generation area, and a second random number is generated at an address in the variable size area. Generation of this random number is performed as follows. That is, as shown in FIG. 2, by inputting the input A and the input B, the output C as a random number is obtained. This process is the same whether the first random number is generated or the second random number is generated. Here, the input A and the input B are
Although given based on predetermined rules, time information at the time of random number generation is used as an initial value for either input A or input B in order to obtain a different random value each time. The initial value is not limited to the time information, and for example, a temperature sensor may be provided and the temperature information sensed by the temperature sensor may be used. Here, the first random number and the second random number indicate a base address and an offset address, respectively, and a storage address is generated by the first random number and the second random number. When decrypting encrypted content data, which will be described later, this storage address is used for processing. The reason why the variable size area is prepared in addition to the address generation area is to secure a data area for calculation when the first random number is generated at the end of the address generation area.

【0029】なお、ここでは図示しないが、後述するよ
うに、第1の乱数は暗号化された後にメモリに格納さ
れ、第2の乱数についてもメモリ中の第1の乱数とは異
なるアドレスに格納される。さらに、第1の乱数及び第
2の乱数が格納されたアドレスを示すアドレス情報は、
暗号化された後にメモリに格納される。
Although not shown here, as will be described later, the first random number is stored in the memory after being encrypted, and the second random number is also stored in an address different from the first random number in the memory. To be done. Further, the address information indicating the address where the first random number and the second random number are stored is
It is stored in memory after being encrypted.

【0030】以下では、上述したアドレス生成方法を暗
号化されたコンテンツデータ(例えば音楽データ、映像
データ、書籍等の文書データ、静止画データ等)の復号
を行う復号装置に適用した場合について説明する。な
お、復号装置においては、コンテンツデータやその他処
理過程で得られるデータ等の復号処理中に現れる全ての
データを一時的にメモリに格納する際に、上述した方法
によって生成される格納アドレスに格納することが可能
であるが、ここでは説明の便宜上、格納アドレスに格納
されているパラメータとコンテンツデータとともに送信
される情報とにより復号鍵を生成してコンテンツデータ
を復号する場合について説明する。
A case will be described below in which the above-described address generation method is applied to a decryption device for decrypting encrypted content data (eg, music data, video data, document data such as books, still image data, etc.). . It should be noted that in the decryption device, all the data that appears during the decryption process such as content data and data obtained in the other process are stored in the storage address generated by the above-mentioned method when temporarily stored in the memory. However, for convenience of description, a case where a decryption key is generated by using a parameter stored at a storage address and information transmitted together with the content data to decrypt the content data will be described here.

【0031】図3に概略構成を示す本実施の形態におけ
る復号装置1は、当該復号装置1の各部を制御する制御
部10と、暗号化されたコンテンツデータの復号に用い
られるパラメータ等の復号処理中のデータを格納するた
めのアドレスを生成するアドレス生成部11と、各種の
暗号化を行う暗号化部12と、タイマー処理を行うタイ
マー処理部13とを備える。ここで、制御部10、アド
レス生成部11、暗号化部12及びタイマー処理部13
は、所定の手順により処理を実行するCPU(Central
Processing Unit)や、必要に応じてDSP(Digital S
ignal Processor)等の演算補助デバイスによって構成
することもできる。また、復号装置1は、詳しい説明を
省略するが、復号装置1における復号処理のプログラム
等が格納された不揮発性のメモリであるROM(Read O
nly Memory)14と、復号プログラム等が展開されて処
理中の各種データを格納する揮発性のメモリであるRA
M(Random Access Memory)15と、各部を接続するバ
ス16とをさらに備える。
The decryption apparatus 1 according to the present embodiment whose schematic configuration is shown in FIG. 3 includes a control section 10 for controlling each section of the decryption apparatus 1 and a decryption process for parameters and the like used to decrypt encrypted content data. An address generation unit 11 that generates an address for storing internal data, an encryption unit 12 that performs various types of encryption, and a timer processing unit 13 that performs timer processing are provided. Here, the control unit 10, the address generation unit 11, the encryption unit 12, and the timer processing unit 13
Is a CPU (Central
Processing Unit) and, if necessary, DSP (Digital S
It can also be configured by a computing auxiliary device such as an ignal processor). Further, although detailed description is omitted, the decoding device 1 is a ROM (Read O
nly Memory) 14 and RA, which is a volatile memory that stores various data being processed by expanding the decoding program and the like.
An M (Random Access Memory) 15 and a bus 16 that connects each unit are further provided.

【0032】制御部10は、復号装置1における各部を
制御することで、暗号化されたコンテンツデータの復号
を制御する。
The control unit 10 controls each unit in the decryption device 1 to control the decryption of the encrypted content data.

【0033】アドレス生成部11は、上述したアドレス
生成方法に基づいて、暗号化されたコンテンツデータの
復号に用いられるパラメータや復号鍵を生成する際の計
算値等を格納するためのアドレスを生成する。具体的に
は、アドレス生成部11は、前述したように、基底アド
レスとなる第1の乱数とオフセットアドレスとなる第2
の乱数とを発生させ、この第1の乱数及び第2の乱数に
より、上述した暗号化されたコンテンツデータの復号に
用いられるパラメータ等の復号処理中に現れるデータを
格納するためのRAM15における格納アドレスが生成
される。すなわち、パラメータや復号鍵の生成の際に発
生する計算値等は、RAM15において、第1の乱数及
び第2の乱数によって定義される格納アドレスに格納さ
れる。
The address generation unit 11 generates an address for storing a parameter used for decrypting encrypted content data, a calculation value for generating a decryption key, and the like, based on the address generation method described above. . Specifically, as described above, the address generator 11 uses the first random number as the base address and the second random number as the offset address.
And the storage address in the RAM 15 for storing the data appearing during the decryption process such as the parameters used for decrypting the above-mentioned encrypted content data by using the first random number and the second random number. Is generated. That is, the parameter, the calculated value generated when generating the decryption key, and the like are stored in the RAM 15 at the storage address defined by the first random number and the second random number.

【0034】第1の乱数及び第2の乱数は、それぞれ別
のアドレスに格納される。このアドレスは、例えばC言
語の標準ライブラリであるmalloc関数により確保された
ものとすることができる。このとき、第1の乱数につい
ては、後述する暗号化部12において鍵で暗号化された
後に格納される。この鍵は、所定の生成方式により、あ
る値から発生される乱数であって、暗号化の方法は、い
かなるものであってもよい。第1の乱数及び第2の乱数
が格納されたアドレスについての情報は、暗号化された
後、さらにRAM15における別のアドレスに格納され
る。このアドレスについても、例えばmalloc関数により
確保されたものとすることができる。
The first random number and the second random number are stored in different addresses. This address can be secured by the malloc function, which is a standard library of C language, for example. At this time, the first random number is stored after being encrypted by the key in the encryption unit 12 described later. This key is a random number generated from a certain value by a predetermined generation method, and any encryption method may be used. The information about the address in which the first random number and the second random number are stored is encrypted and then stored in another address in the RAM 15. This address can also be secured by the malloc function, for example.

【0035】このように、乱数を用いてパラメータ等を
格納するアドレスを生成することで、パラメータの格納
場所が特定されにくく、秘匿性の高いデータの保護を適
切に行うことが可能となる。また、アドレス情報につい
ても暗号化し、別のアドレスに格納することで、データ
の保護をさらに厚くすることができる。
As described above, by generating the address for storing the parameter and the like using the random number, it is difficult to specify the storage location of the parameter and it is possible to appropriately protect highly confidential data. Further, by encrypting the address information and storing it in another address, it is possible to further protect the data.

【0036】上述した第1の乱数及び第2の乱数は、後
述するタイマー処理部13のタイマー処理により、一定
周期で格納されているアドレスが変更される。第1の乱
数及び第2の乱数の格納されているアドレスが変更され
る毎に、上述したアドレス情報は、変更後の新たなアド
レスを示す情報に更新される。
The addresses stored in the first random number and the second random number described above are changed in a constant cycle by the timer processing of the timer processing unit 13 described later. Each time the address in which the first random number and the second random number are stored is changed, the above-mentioned address information is updated to information indicating a new address after the change.

【0037】暗号化部12は、復号装置1における各種
の暗号化を行う。具体的には、暗号化部12は、上述し
た第1の乱数を鍵で暗号化する。この鍵は、上述したよ
うに、所定の生成方式により、ある値から発生される乱
数である。この暗号化の原理は、前述した図2を用いて
説明することができる。すなわち、図2において、入力
Aとして鍵を入力し、入力Bとして第1の乱数を入力す
ることで、出力Cとして暗号化された第1の乱数が得ら
れる。また、暗号化部12は、上述した第1の乱数及び
第2の乱数が格納されたアドレスを示すアドレス情報を
暗号化する。さらに、暗号化部12は、第1の乱数及び
第2の乱数が格納されているアドレスがタイマー処理部
13におけるタイマー処理により変更された場合、新し
いアドレス情報を暗号化して元のアドレスに上書きする
ことで更新を行う。
The encryption unit 12 performs various types of encryption in the decryption device 1. Specifically, the encryption unit 12 encrypts the above-mentioned first random number with a key. This key is a random number generated from a certain value by the predetermined generation method as described above. The principle of this encryption can be explained using FIG. 2 described above. That is, in FIG. 2, by inputting the key as the input A and the first random number as the input B, the encrypted first random number is obtained as the output C. The encryption unit 12 also encrypts the address information indicating the address in which the first random number and the second random number described above are stored. Further, when the address in which the first random number and the second random number are stored is changed by the timer processing in the timer processing unit 13, the encryption unit 12 encrypts the new address information and overwrites the original address. Update by that.

【0038】タイマー処理部13は、割り込みで実行さ
れるタイマー処理を行う。タイマー処理部13は、図示
しないカウンタを有しており、第1の乱数及び第2の乱
数が格納されてからの時間をカウントする。カウンタの
カウント値が所定値に達すると、第1の乱数及び第2の
乱数が格納されたアドレスは、別のアドレスに変更され
る。これにより、第1の乱数及び第2の乱数の格納され
るアドレスは、所定の周期で変更され続けることにな
る。なお、変更先のアドレスについては、上述したよう
に、例えばmalloc関数により確保されたものとすること
ができる。また、タイマー処理部13は、コンテンツデ
ータを復号するために第1の乱数及び第2の乱数が格納
されているアドレス情報が読み出されると、第1の乱数
及び第2の乱数が格納されているアドレスを変更するた
めのカウンタの所定値を変更する。これにより、次にパ
ラメータの格納を行ったときには、第1の乱数及び第2
の乱数の格納されるアドレスは、異なる周期で変更され
るようになる。
The timer processing unit 13 performs timer processing executed by interruption. The timer processing unit 13 has a counter (not shown) and counts the time after the first random number and the second random number are stored. When the count value of the counter reaches a predetermined value, the address storing the first random number and the second random number is changed to another address. As a result, the addresses at which the first random number and the second random number are stored will continue to be changed in a predetermined cycle. It should be noted that the change destination address can be secured by the malloc function, for example, as described above. Further, the timer processing unit 13 stores the first random number and the second random number when the address information in which the first random number and the second random number are stored to read the content data is read. The predetermined value of the counter for changing the address is changed. As a result, the next time the parameters are stored, the first random number and the second random number are stored.
The address in which the random number is stored will be changed in different cycles.

【0039】本実施の形態における復号装置1は、以上
のような構成により、コンテンツデータの復号の際に用
いられるパラメータ等を格納する格納アドレスを生成
し、そのパラメータを読み出すことによりコンテンツデ
ータの復号を行う。すなわち、復号装置1に暗号化され
たコンテンツデータが入力されると、第1の乱数及び第
2の乱数のアドレス情報が格納されているアドレスから
第1の乱数及び第2の乱数のアドレス情報が読み出さ
れ、当該アドレス情報に基づいて第1の乱数及び第2の
乱数が読み出される。この際、第1の乱数については鍵
で暗号化されているため、復号を行う。そして、読み出
された第1の乱数及び第2の乱数により、パラメータの
格納されている格納アドレスが生成され、当該格納アド
レスからパラメータが読み出される。暗号化されたコン
テンツデータとともに送られてくる情報とパラメータと
によりコンテンツデータを復号するための復号鍵が生成
される。前述したように、この復号鍵の生成の際に発生
する計算値等についても、第1の乱数及び第2の乱数に
より生成された格納アドレスに格納される。この復号鍵
によってコンテンツデータが復号され、外部に出力され
る。
The decoding device 1 according to the present embodiment is configured as described above to generate a storage address for storing a parameter or the like used when decoding content data, and read the parameter to decode the content data. I do. That is, when the encrypted content data is input to the decryption device 1, the address information of the first random number and the second random number is changed from the address where the address information of the first random number and the second random number is stored. It is read and the first random number and the second random number are read based on the address information. At this time, since the first random number is encrypted with the key, it is decrypted. Then, the storage address in which the parameter is stored is generated by the read first random number and the second random number, and the parameter is read from the storage address. A decryption key for decrypting the content data is generated by the information and the parameter sent together with the encrypted content data. As described above, the calculated value and the like generated when generating the decryption key are also stored in the storage address generated by the first random number and the second random number. The content data is decrypted by this decryption key and output to the outside.

【0040】次に、復号装置1における暗号化されたコ
ンテンツデータの復号についてのフローチャートを図4
に示す。先ずステップS1において、暗号化されたコン
テンツデータが復号装置1に入力される。このコンテン
ツデータとともに、コンテンツデータを復号するための
情報が入力される。
Next, FIG. 4 is a flowchart for decrypting the encrypted content data in the decryption apparatus 1.
Shown in. First, in step S1, the encrypted content data is input to the decryption device 1. Information for decrypting the content data is input together with the content data.

【0041】次にステップS2において、コンテンツデ
ータを復号するためのパラメータを読み出す。このステ
ップS2においては、上述したように、第1の乱数及び
第2の乱数のアドレス情報が格納されているアドレスか
ら第1の乱数及び第2の乱数のアドレス情報が読み出さ
れ、当該アドレス情報に基づいて第1の乱数及び第2の
乱数が読み出される。この際、第1の乱数については鍵
で暗号化されているため、復号が行われる。そして、読
み出された第1の乱数及び第2の乱数により、パラメー
タの格納されている格納アドレスが生成され、当該格納
アドレスからパラメータが読み出される。
Next, in step S2, the parameters for decoding the content data are read. In step S2, as described above, the address information of the first random number and the second random number is read from the address where the address information of the first random number and the second random number is stored, and the address information is read. The first random number and the second random number are read out based on At this time, since the first random number is encrypted with the key, it is decrypted. Then, the storage address in which the parameter is stored is generated by the read first random number and the second random number, and the parameter is read from the storage address.

【0042】続いてステップS3において、暗号化され
たコンテンツデータを復号するための復号鍵が生成され
る。すなわち、ステップS1において入力されたコンテ
ンツデータを復号するための情報とステップS2におい
て読み出されたパラメータによって復号鍵が生成され
る。前述したように、この復号鍵の生成の際に発生する
計算値についても、第1の乱数及び第2の乱数により生
成された格納アドレスに格納される。
Then, in step S3, a decryption key for decrypting the encrypted content data is generated. That is, the decryption key is generated by the information for decrypting the content data input in step S1 and the parameter read in step S2. As described above, the calculated value generated when generating the decryption key is also stored in the storage address generated by the first random number and the second random number.

【0043】続いてステップS4において、生成された
復号鍵によりコンテンツデータの復号が行われる。復号
されたコンテンツデータは、続くステップS5において
外部に出力される。以上のようにして暗号化されたコン
テンツデータが復号される。
Subsequently, in step S4, the content data is decrypted by the generated decryption key. The decrypted content data is output to the outside in the subsequent step S5. The content data encrypted as described above is decrypted.

【0044】さて、上述したように、本実施の形態にお
ける復号装置1においては、第1の乱数及び第2の乱数
が格納されるとともに、第1の乱数及び第2の乱数が格
納されているアドレスの情報についても、別のアドレス
に格納され、そのアドレスは、タイマー処理部13によ
り一定周期で変更される。
As described above, in the decoding device 1 according to this embodiment, the first random number and the second random number are stored, and the first random number and the second random number are stored. The address information is also stored in another address, and the address is changed by the timer processing unit 13 at regular intervals.

【0045】そこで、第1の乱数及び第2の乱数を発生
してからタイマー処理が行われるまでの動作についての
フローチャートを図5に示す。
Therefore, FIG. 5 shows a flowchart of the operation from the generation of the first random number and the second random number to the execution of the timer process.

【0046】先ずステップS10において、基底アドレ
スを示す第1の乱数とオフセットアドレスを示す第2の
乱数とを発生する。次にステップS11において、第1
の乱数が鍵により暗号化される。この暗号化は、暗号化
部12で行われる。
First, in step S10, a first random number indicating a base address and a second random number indicating an offset address are generated. Next, in step S11, the first
The random number of is encrypted with the key. This encryption is performed by the encryption unit 12.

【0047】続いてステップS12において、パラメー
タがRAM15に格納される。すなわち、上述したよう
に、第1の乱数及び第2の乱数によって定義される格納
アドレスにパラメータが格納される。
Subsequently, in step S12, the parameters are stored in the RAM 15. That is, as described above, the parameter is stored in the storage address defined by the first random number and the second random number.

【0048】続いてステップS13において、第1の乱
数及び第2の乱数がRAM15に格納される。ここで、
第1の乱数は、暗号化されている。この格納場所は、例
えばmalloc関数で確保されたものとすることができる。
なお、第1の乱数及び第2の乱数が格納されると、タイ
マー処理部13は、格納されてからの時間のカウントを
始める。
Subsequently, in step S13, the first random number and the second random number are stored in the RAM 15. here,
The first random number is encrypted. This storage location can be secured by the malloc function, for example.
It should be noted that when the first random number and the second random number are stored, the timer processing unit 13 starts counting the time after being stored.

【0049】続いてステップS14において、第1の乱
数及び第2の乱数が格納されたアドレスを示す情報が暗
号化される。
Then, in step S14, the information indicating the address where the first random number and the second random number are stored is encrypted.

【0050】暗号化されたアドレス情報は、ステップS
15においてRAM15に格納される。この格納場所に
ついても、例えばmalloc関数によって確保されたものと
することができる。
The encrypted address information is obtained in step S
It is stored in the RAM 15 at 15. This storage location can also be secured by the malloc function, for example.

【0051】続いてステップS16において、カウンタ
のカウント値が所定値Nを超えたか否かが判別される。
カウント値がN未満である場合(Yes)は、第1の乱数
及び第2の乱数を移動させる周期に達していないという
ことであり、カウント値がNに達するまでステップS1
6における判別を繰り返す。ステップS16において、
カウント値がNに達している場合(No)は、ステップS
17に進み、第1の乱数及び第2の乱数の移動を行う。
Subsequently, in step S16, it is determined whether or not the count value of the counter exceeds a predetermined value N.
If the count value is less than N (Yes), it means that the period for moving the first random number and the second random number has not been reached, and step S1 is performed until the count value reaches N.
The determination in 6 is repeated. In step S16,
If the count value has reached N (No), step S
Proceeding to 17, the first random number and the second random number are moved.

【0052】ステップS17では、第1の乱数及び第2
の乱数が格納されているアドレスの変更を行う。この変
更後のアドレスは、例えばmalloc関数で確保されたもの
とすることができる。
In step S17, the first random number and the second random number
Change the address where the random number of is stored. The address after this change can be secured by the malloc function, for example.

【0053】続いてステップS18において、変更後に
第1の乱数及び第2の乱数が格納されたアドレスを示す
情報を暗号化する。
Subsequently, in step S18, the information indicating the address in which the first random number and the second random number are stored after the change is encrypted.

【0054】ステップS19では、ステップS18にお
いて暗号化されたアドレス情報に基づいて、元のアドレ
ス情報を更新する。
In step S19, the original address information is updated based on the address information encrypted in step S18.

【0055】続いてステップS20において、終了する
か否かが判別される。ここでは、第1の乱数及び第2の
乱数が格納されているアドレスを示す情報が読み出され
ると終了すると判別され(Yes)、ステップS21に進
む。ステップS20において、終了しないとき(No)、
すなわち、第1の乱数及び第2の乱数が格納されている
アドレス情報が読み出されていないときは、ステップS
16に進み、再び一定周期毎に第1の乱数及び第2の乱
数の格納されているアドレスの変更を行う。
Subsequently, in step S20, it is judged whether or not the processing is to be ended. Here, when the information indicating the address where the first random number and the second random number are stored is read, it is determined that the process ends (Yes), and the process proceeds to step S21. In step S20, when it is not finished (No),
That is, when the address information in which the first random number and the second random number are stored is not read, step S
In step 16, the address in which the first random number and the second random number are stored is changed again at regular intervals.

【0056】ステップS21において、アドレスの変更
を行う際のカウンタの所定値Nが変更されて終了する。
これにより、次にパラメータの格納を行ったときには、
第1の乱数及び第2の乱数の格納されるアドレスは、異
なる周期で変更される。
In step S21, the predetermined value N of the counter for changing the address is changed and the process ends.
By doing this, the next time you store parameters,
The addresses where the first random number and the second random number are stored are changed in different cycles.

【0057】以上のように、本実施の形態における復号
装置1では、基底アドレスを示す第1の乱数とオフセッ
トアドレスを示す第2の乱数とを発生させ、第1の乱数
と第2の乱数とによってデータの復号に用いられるパラ
メータを格納する格納アドレスを生成し、この格納アド
レスにパラメータを格納する。これにより、データの不
法なモニタ等が困難となり、データを復号する際には、
格納アドレスからパラメータを読み出し、このパラメー
タを用いて復号鍵を生成することで、入力したデータの
復号を行うことができる。
As described above, in the decoding device 1 according to the present embodiment, the first random number indicating the base address and the second random number indicating the offset address are generated to generate the first random number and the second random number. Generates a storage address for storing the parameter used for decoding the data, and stores the parameter at this storage address. This makes it difficult to illegally monitor the data, and when decoding the data,
The input data can be decrypted by reading the parameter from the storage address and generating the decryption key using this parameter.

【0058】また、第1の乱数及び第2の乱数が格納さ
れるアドレスをタイマー処理により一定周期で変更し、
データの復号のためにパラメータが読み出されるとタイ
マー処理の周期を変更することで、データの保護をさら
に厚いものとすることができる。
Further, the address at which the first random number and the second random number are stored is changed at a constant cycle by a timer process,
By changing the cycle of the timer processing when the parameters are read for the data decoding, the data protection can be further increased.

【0059】なお、本発明は上述した実施の形態のみに
限定されるものではなく、本発明の要旨を逸脱しない範
囲において種々の変更が可能であることは勿論である。
The present invention is not limited to the above-described embodiments, and it goes without saying that various modifications can be made without departing from the gist of the present invention.

【0060】例えば、上述した実施の形態では、コンテ
ンツデータとともに送信される情報と復号装置の持つパ
ラメータとにより復号鍵を生成してコンテンツデータを
復号するものとして説明したが、これに限定されるもの
ではなく、例えば、コンテンツデータの復号鍵が送信さ
れ、生成された格納アドレスにその復号鍵を格納するよ
うなものであっても構わない。つまり、生成された格納
アドレスに格納することでデータの保護を厳重にできる
ならば本発明の適用が可能である。
For example, in the above-mentioned embodiment, the description was made assuming that a decryption key is generated by the information transmitted together with the content data and the parameters of the decryption device to decrypt the content data, but the present invention is not limited to this. Instead, for example, the decryption key of the content data may be transmitted and the decryption key may be stored in the generated storage address. That is, the present invention can be applied if the data can be protected strictly by storing it in the generated storage address.

【0061】[0061]

【発明の効果】以上詳細に説明したように本発明に係る
アドレス生成方法は、データを格納する格納アドレスを
生成するアドレス生成方法であって、基底アドレスを示
す第1の乱数とオフセットアドレスを示す第2の乱数と
を発生させる乱数発生工程と、第1の乱数を暗号鍵によ
り暗号化する暗号化工程と、第1の乱数と第2の乱数と
により格納アドレスを生成するアドレス生成工程とを有
することを特徴としている。
As described in detail above, the address generating method according to the present invention is an address generating method for generating a storage address for storing data, and shows a first random number indicating a base address and an offset address. A random number generating step for generating a second random number, an encryption step for encrypting the first random number with an encryption key, and an address generating step for generating a storage address by the first random number and the second random number. It is characterized by having.

【0062】ここで、乱数発生工程において、第1の乱
数は、第1の入力値及び第2の入力値に基づいて発生さ
れ、且つ、第2の乱数は、第3の入力値及び第4の入力
値に基づいて発生され、第1の入力値及び第2の入力値
の何れか一方、及び/又は第3の入力値及び第4の入力
値の何れか一方は、乱数発生時の時刻情報に基づいて定
められる。
In the random number generating step, the first random number is generated based on the first input value and the second input value, and the second random number is the third input value and the fourth input value. Of the first input value and the second input value, and / or one of the third input value and the fourth input value is generated at the time of random number generation. Determined based on information.

【0063】また、アドレス生成方法は、暗号化工程に
て暗号化された第1の乱数及び第2の乱数をそれぞれ記
憶手段における格納アドレスとは異なる乱数格納アドレ
スに格納する乱数格納工程と、当該乱数格納アドレスの
情報を暗号鍵によって暗号化し、記憶手段におけるさら
に異なるアドレス情報格納アドレスに格納するアドレス
情報格納工程とを有する。
Further, the address generating method includes a random number storing step of storing the first random number and the second random number encrypted in the encrypting step in random number storage addresses different from the storage addresses in the storage means. An address information storing step of encrypting information of a random number storage address with an encryption key and storing it in a further different address information storage address in the storage means.

【0064】また、アドレス生成方法は、第1の乱数及
び第2の乱数の乱数格納アドレスを変更する変更工程
と、アドレス情報格納工程にて格納されたアドレス情報
を変更工程にて変更されたアドレスを示す情報に更新す
る更新工程とを有する。ここで、変更工程及び更新工程
は、例えばタイマー処理により一定周期で行われる。
In addition, the address generation method includes a changing step of changing the random number storage addresses of the first random number and the second random number, and an address changed in the changing step of the address information stored in the address information storing step. And an updating step of updating the information to indicate. Here, the changing process and the updating process are performed at regular intervals by, for example, a timer process.

【0065】このような本発明に係るアドレス生成方法
によっては、基底アドレスを示す第1の乱数とオフセッ
トアドレスを示す第2の乱数とを発生させ、第1の乱数
と第2の乱数とによってデータを格納する格納アドレス
を生成することで、データの不法なモニタ等が困難とな
り、秘匿性の高いファームウェア処理内でのデータを適
切に保護することができる。
According to the address generating method according to the present invention, the first random number indicating the base address and the second random number indicating the offset address are generated, and the data is generated by the first random number and the second random number. By generating the storage address for storing the data, it becomes difficult to illegally monitor the data, and the data can be appropriately protected in the highly confidential firmware processing.

【0066】また、暗号化工程にて暗号化された第1の
乱数及び第2の乱数をそれぞれ記憶手段における格納ア
ドレスとは異なる乱数格納アドレスに格納し、当該乱数
格納アドレスの情報を暗号鍵によって暗号化して記憶手
段におけるさらに異なるアドレス情報格納アドレスに格
納し、第1の乱数及び第2の乱数の乱数格納アドレスを
変更することにより、データの保護をさらに厳重なもの
とすることができる。
The first random number and the second random number encrypted in the encryption step are stored in random number storage addresses different from the storage address in the storage means, and the information of the random number storage address is stored by the encryption key. Data can be protected more strictly by encrypting and storing it in a different address information storage address in the storage means and changing the random number storage address of the first random number and the second random number.

【0067】また、本発明に係るデータ復号方法は、暗
号化されたデータを復号するデータ復号方法であって、
基底アドレスを示す第1の乱数とオフセットアドレスを
示す第2の乱数とを発生させる乱数発生工程と、第1の
乱数を暗号鍵により暗号化する暗号化工程と、第1の乱
数と第2の乱数とにより格納アドレスを生成するアドレ
ス生成工程とを有し、データを復号する際に、アドレス
生成工程にて生成された格納アドレスを用いて処理する
ことを特徴としている。
The data decryption method according to the present invention is a data decryption method for decrypting encrypted data.
A random number generating step of generating a first random number indicating a base address and a second random number indicating an offset address, an encryption step of encrypting the first random number with an encryption key, a first random number and a second random number. The present invention is characterized in that it has an address generation step of generating a storage address by using a random number, and when decoding data, processing is performed using the storage address generated in the address generation step.

【0068】ここで、データ復号方法は、データの復号
に用いられるパラメータを格納アドレスに格納する格納
工程と、格納アドレスからパラメータを読み出すパラメ
ータ読出工程と、パラメータを用いてデータを復号する
復号工程と、復号工程にて復号されたデータを外部に出
力する出力工程とを有する。
Here, the data decoding method includes a storage step of storing a parameter used for data decoding in a storage address, a parameter reading step of reading a parameter from the storage address, and a decoding step of decoding data using the parameter. , And an output step of outputting the data decoded in the decoding step to the outside.

【0069】また、パラメータ読出工程では、第1の乱
数が暗号化されて格納されている第1の乱数アドレスに
関する第1のアドレス情報と上記第2の乱数が格納され
ている第2の乱数アドレスに関する第2のアドレス情報
とがそれぞれ第1のアドレス、第2のアドレスから読み
出され、第1のアドレス情報及び第2のアドレス情報に
基づいて暗号化された第1の乱数及び第2の乱数が読み
出され、暗号化された第1の乱数を復号した第1の乱数
と第2の乱数とによりパラメータの格納されている格納
アドレスが生成され、格納アドレスに基づいて、格納ア
ドレスよりパラメータが読み出される。
In the parameter reading step, the first address information regarding the first random number address in which the first random number is encrypted and stored and the second random number address in which the second random number is stored. Second address information regarding the first random number and the second random number read from the first address and the second address, respectively, and encrypted based on the first address information and the second address information. Is read, the storage address storing the parameter is generated by the first random number and the second random number obtained by decrypting the encrypted first random number, and the parameter is stored from the storage address based on the storage address. Read out.

【0070】また、第1の乱数アドレス及び第2の乱数
アドレスが変更され、当該変更に応じて上記第1のアド
レス情報及び上記第2のアドレス情報が更新される。こ
こで、変更及び更新は、例えばタイマー処理により一定
周期で行われる。
The first random number address and the second random number address are changed, and the first address information and the second address information are updated according to the change. Here, the change and the update are performed in a constant cycle by, for example, a timer process.

【0071】また、パラメータ読出工程にてパラメータ
が読み出されるとタイマー処理の周期が変更される。
When the parameter is read in the parameter reading step, the timer processing cycle is changed.

【0072】このような本発明に係るデータ復号方法に
よっては、基底アドレスを示す第1の乱数とオフセット
アドレスを示す第2の乱数とを発生させ、第1の乱数と
第2の乱数とによってデータの復号に用いられるパラメ
ータ等の復号処理中のデータを格納する格納アドレスを
生成し、この格納アドレスを用いて復号処理を行うこと
で、データの不法なモニタ等を困難なものにすることが
できる。
According to the data decoding method according to the present invention, the first random number indicating the base address and the second random number indicating the offset address are generated, and the data is generated by the first random number and the second random number. It is possible to make illegal monitoring of data, etc., difficult by generating a storage address that stores the data during the decoding process such as parameters used for decoding the data and performing the decoding process using this storage address. .

【0073】また、第1の乱数アドレス及び第2の乱数
アドレスをタイマー処理により一定周期で変更し、デー
タの復号のためにパラメータが読み出されるとタイマー
処理の周期を変更することで、データの保護をさらに厳
重なものとすることができる。
Further, by protecting the data by changing the first random number address and the second random number address by the timer process at a constant cycle and changing the cycle of the timer process when the parameters are read for the decoding of the data. Can be made more stringent.

【図面の簡単な説明】[Brief description of drawings]

【図1】本実施の形態におけるアドレス生成の原理を説
明する図である。
FIG. 1 is a diagram for explaining the principle of address generation in this embodiment.

【図2】本実施の形態における乱数発生及び暗号化の原
理を説明する図である。
FIG. 2 is a diagram for explaining the principle of random number generation and encryption in this embodiment.

【図3】本実施の形態における復号装置の概略構成を説
明する図である。
FIG. 3 is a diagram illustrating a schematic configuration of a decoding device according to the present embodiment.

【図4】同復号装置における暗号化されたコンテンツデ
ータの復号処理を説明するフローチャートである。
FIG. 4 is a flowchart illustrating a decryption process of encrypted content data in the decryption apparatus.

【図5】同復号装置において、第1の乱数及び第2の乱
数が発生してからタイマー処理が行われるまでの処理を
説明するフローチャートである。
FIG. 5 is a flowchart illustrating a process from generation of the first random number and the second random number to execution of a timer process in the decoding device.

【符号の説明】[Explanation of symbols]

1 復号装置、 10 制御部、 11 アドレス生成
部、 12 暗号化部、 13 タイマー処理部、 1
4 ROM、 15 RAM、 16 バス
DESCRIPTION OF SYMBOLS 1 decryption device, 10 control unit, 11 address generation unit, 12 encryption unit, 13 timer processing unit, 1
4 ROM, 15 RAM, 16 bus

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】 データを格納する格納アドレスを生成す
るアドレス生成方法であって、 基底アドレスを示す第1の乱数とオフセットアドレスを
示す第2の乱数とを発生させる乱数発生工程と、 上記第1の乱数を暗号鍵により暗号化する暗号化工程
と、 上記第1の乱数と上記第2の乱数とにより上記格納アド
レスを生成するアドレス生成工程とを有することを特徴
とするアドレス生成方法。
1. An address generating method for generating a storage address for storing data, the random number generating step of generating a first random number indicating a base address and a second random number indicating an offset address, the first random number generating step. An address generation method comprising: an encryption step of encrypting the random number of 1. by an encryption key; and an address generation step of generating the storage address by the first random number and the second random number.
【請求項2】 上記乱数発生工程において、上記第1の
乱数は、第1の入力値及び第2の入力値に基づいて発生
され、且つ、上記第2の乱数は、第3の入力値及び第4
の入力値に基づいて発生され、 上記第1の入力値及び上記第2の入力値の何れか一方、
及び/又は上記第3の入力値及び上記第4の入力値の何
れか一方は、乱数発生時の時刻情報に基づいて定められ
ることを特徴とする請求項1記載のアドレス生成方法。
2. The random number generating step, wherein the first random number is generated based on a first input value and a second input value, and the second random number is a third input value and Fourth
Generated based on the input value of, one of the first input value and the second input value,
2. The address generating method according to claim 1, wherein one of the third input value and the fourth input value is determined based on time information when a random number is generated.
【請求項3】 上記暗号化工程にて暗号化された上記第
1の乱数及び上記第2の乱数をそれぞれ記憶手段におけ
る上記格納アドレスとは異なる乱数格納アドレスに格納
する乱数格納工程と、 上記乱数格納工程にて上記記憶手段に格納された乱数格
納アドレスを示す情報を暗号鍵によって暗号化し、上記
記憶手段におけるさらに異なるアドレス情報格納アドレ
スに格納するアドレス情報格納工程とを有することを特
徴とする請求項1記載のアドレス生成方法。
3. A random number storing step of storing the first random number and the second random number encrypted in the encrypting step in a random number storage address different from the storage address in the storage means, and the random number. An address information storage step of encrypting information indicating a random number storage address stored in the storage means in the storage step with an encryption key and storing the encrypted information in a different address information storage address in the storage means. The address generation method according to Item 1.
【請求項4】 上記第1の乱数及び上記第2の乱数の乱
数格納アドレスを変更する変更工程と、 上記アドレス情報格納工程にて格納されたアドレス情報
を上記変更工程にて変更されたアドレスを示す情報に更
新する更新工程とを有することを特徴とする請求項3記
載のアドレス生成方法。
4. The changing step of changing the random number storage addresses of the first random number and the second random number, and the address information stored in the address information storing step is changed to the address changed in the changing step. 4. The address generating method according to claim 3, further comprising an updating step of updating to the information shown.
【請求項5】 上記変更工程及び上記更新工程は、タイ
マー処理により一定周期で行われることを特徴とする請
求項4記載のアドレス生成方法。
5. The address generating method according to claim 4, wherein the changing step and the updating step are performed in a constant cycle by a timer process.
【請求項6】 暗号化されたデータを復号するデータ復
号方法であって、 基底アドレスを示す第1の乱数とオフセットアドレスを
示す第2の乱数とを発生させる乱数発生工程と、 上記第1の乱数を暗号鍵により暗号化する暗号化工程
と、 上記第1の乱数と上記第2の乱数とにより格納アドレス
を生成するアドレス生成工程とを有し、 上記データを復号する際に、上記アドレス生成工程にて
生成された上記格納アドレスを用いて処理することを特
徴とするデータ復号方法。
6. A data decryption method for decrypting encrypted data, comprising a random number generating step of generating a first random number indicating a base address and a second random number indicating an offset address, and the first random number generating step. There is an encryption step of encrypting a random number with an encryption key, and an address generation step of generating a storage address by the first random number and the second random number. When decrypting the data, the address generation is performed. A data decoding method characterized in that processing is performed using the storage address generated in the step.
【請求項7】 上記データの復号に用いられるパラメー
タを上記格納アドレスに格納する格納工程と、 上記格納アドレスから上記パラメータを読み出すパラメ
ータ読出工程と、 上記パラメータを用いて上記データを復号する復号工程
と、 上記復号工程にて復号された上記データを外部に出力す
る出力工程とを有することを特徴とする請求項6記載の
データ復号方法。
7. A storage step of storing a parameter used for decoding the data in the storage address, a parameter reading step of reading the parameter from the storage address, and a decoding step of decoding the data using the parameter. 7. The data decoding method according to claim 6, further comprising an output step of outputting the data decoded in the decoding step to the outside.
【請求項8】 上記パラメータ読出工程では、 上記第1の乱数が暗号化されて格納されている第1の乱
数アドレスに関する第1のアドレス情報と上記第2の乱
数が格納されている第2の乱数アドレスに関する第2の
アドレス情報とがそれぞれ第1のアドレス、第2のアド
レスから読み出され、 上記第1のアドレス情報及び上記第2のアドレス情報に
基づいて暗号化された上記第1の乱数及び上記第2の乱
数が読み出され、 暗号化された上記第1の乱数を復号した第1の乱数と上
記第2の乱数とによりパラメータの格納されている格納
アドレスが生成され、 上記格納アドレスに基づいて、上記格納アドレスより上
記パラメータが読み出されることを特徴とする請求項6
記載のデータ復号方法。
8. In the parameter reading step, first address information relating to a first random number address in which the first random number is encrypted and stored, and second address information in which the second random number is stored. The second address information regarding the random number address and the first random number read from the first address and the second address, respectively, and encrypted based on the first address information and the second address information. And the second random number is read, and the storage address in which the parameter is stored is generated by the first random number obtained by decoding the encrypted first random number and the second random number, and the storage address 7. The parameter is read from the storage address based on the above.
The described data decryption method.
【請求項9】 上記第1の乱数アドレス及び上記第2の
乱数アドレスが変更され、当該変更に応じて上記第1の
アドレス情報及び上記第2のアドレス情報が更新される
ことを特徴とする請求項8記載のデータ復号方法。
9. The first random number address and the second random number address are changed, and the first address information and the second address information are updated according to the change. Item 8. The data decoding method according to Item 8.
【請求項10】 上記変更及び上記更新は、タイマー処
理により一定周期で行われることを特徴とする請求項9
記載のデータ復号方法。
10. The change and the update are performed at regular intervals by a timer process.
The described data decryption method.
【請求項11】 上記パラメータ読出工程にて上記パラ
メータが読み出されると上記タイマー処理の周期が変更
されることを特徴とする請求項10記載のデータ復号方
法。
11. The data decoding method according to claim 10, wherein the cycle of the timer processing is changed when the parameter is read in the parameter reading step.
JP2001253396A 2001-08-23 2001-08-23 Address generating method and data deciphering method Withdrawn JP2003066837A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001253396A JP2003066837A (en) 2001-08-23 2001-08-23 Address generating method and data deciphering method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001253396A JP2003066837A (en) 2001-08-23 2001-08-23 Address generating method and data deciphering method

Publications (1)

Publication Number Publication Date
JP2003066837A true JP2003066837A (en) 2003-03-05

Family

ID=19081737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001253396A Withdrawn JP2003066837A (en) 2001-08-23 2001-08-23 Address generating method and data deciphering method

Country Status (1)

Country Link
JP (1) JP2003066837A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7929692B2 (en) 2004-01-09 2011-04-19 Samsung Electronics Co., Ltd. Firmware encrypting and decrypting method and an apparatus using the same
JP2015173497A (en) * 2015-05-27 2015-10-01 株式会社東芝 Electronic apparatus
CN115834809A (en) * 2022-11-28 2023-03-21 深圳市汇健智慧医疗有限公司 Composite operating room construction and local acceptance management method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7929692B2 (en) 2004-01-09 2011-04-19 Samsung Electronics Co., Ltd. Firmware encrypting and decrypting method and an apparatus using the same
JP2015173497A (en) * 2015-05-27 2015-10-01 株式会社東芝 Electronic apparatus
CN115834809A (en) * 2022-11-28 2023-03-21 深圳市汇健智慧医疗有限公司 Composite operating room construction and local acceptance management method
CN115834809B (en) * 2022-11-28 2023-09-29 深圳市汇健智慧医疗有限公司 Composite operating room construction and local acceptance data management method

Similar Documents

Publication Publication Date Title
JP3747520B2 (en) Information processing apparatus and information processing method
CN1655503B (en) A secure key authentication and ladder system
CN100592683C (en) Protected return path from digital rights management dongle
US8108674B2 (en) Transmitting/receiving system and method, transmitting apparatus and method, receiving apparatus and method, and program used therewith
US7617402B2 (en) Copyright protection system, encryption device, decryption device and recording medium
EP1120934B1 (en) Method and apparatus for key distribution using a key base
US20090210694A1 (en) Information transmission apparatus and method, information reception apparatus and method, and information-providing system
CN103237010B (en) The server end of digital content is cryptographically provided
CN100561396C (en) Revise the method for digital rights object and used electronic equipment thereof
US8804953B2 (en) Extensive ciphertext feedback
JP6930053B2 (en) Data encryption method and system using device authentication key
JP2000347566A (en) Contents administration device, contents user terminal, and computer-readable recording medium recording program thereon
CN103237011B (en) Digital content encryption transmission method and server end
JP2004208088A (en) Method and device for enciphering device key, method and device for deciphering device key, method and device for enciphering/deciphering device key, and program therefor
US7945046B2 (en) Decryption processing apparatus, decryption method and image forming apparatus
KR20060110383A (en) Multi-mode ciphering apparatus for network security processor
KR100601634B1 (en) High speed copy protection method
JP2003066837A (en) Address generating method and data deciphering method
US20100241863A1 (en) Device for reproducing digital content, secure electronic entity, system comprising said elements and method for reproducing digital content
JP4287397B2 (en) Ciphertext generation apparatus, ciphertext decryption apparatus, ciphertext generation program, and ciphertext decryption program
JPH09270784A (en) Ciphering/decoding/digital signature generating/ verification device
JP2002247021A (en) Method and device for displaying access limited contents
WO2021044465A1 (en) Encrypting device, decrypting device, computer program, encryption method, decryption method, and data structure
JPH0777933A (en) Network data ciphering device
JP2001285278A (en) Encryption communication method and encryption communication system

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20081104