JP2000083019A - Cryptograph processor - Google Patents

Cryptograph processor

Info

Publication number
JP2000083019A
JP2000083019A JP10252191A JP25219198A JP2000083019A JP 2000083019 A JP2000083019 A JP 2000083019A JP 10252191 A JP10252191 A JP 10252191A JP 25219198 A JP25219198 A JP 25219198A JP 2000083019 A JP2000083019 A JP 2000083019A
Authority
JP
Japan
Prior art keywords
cryptographic processing
semiconductor
processing apparatus
data
external
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
JP10252191A
Other languages
Japanese (ja)
Inventor
Jun Kitahara
潤 北原
Takeshi Asahi
猛 朝日
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP10252191A priority Critical patent/JP2000083019A/en
Publication of JP2000083019A publication Critical patent/JP2000083019A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To improve secrecy and security by providing a CPU, a RAM, a ROM, a cryptograph computing element, a random number generator and external interfaces, generating keys to be used for enciphering/decoding internally and continuing to output a public key externally but to keep a secret key secret internally. SOLUTION: A CPU, a RAM, a ROM, a cryptograph computing element, a random generator, a secret key data holding part, external I/F parts 102 to 108 and a clock generating part are provided in an cryptograph processor 101 of a same semiconductor element. Inside this processor, the CPU 102 generates keys to be used for enciphering/decoding by using the cryptograph computing element 105 etc., according to a storage program for the ROM 104, outputs a public key externally but keeps a secret key secret internally. Also, inside the processor, the clock generating part generates a clock by using a PLL etc., to prevent the effects of outer noise and the random number generator 106 generates a complete random number that is not a pseudo. Thus, information to be kept secret is prevented from being outputted and the security is improved.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】暗号処理装置の構成、製造、
セキュリティ向上方式に関する。
BACKGROUND OF THE INVENTION The configuration, manufacture, and
It relates to a security improvement method.

【0002】[0002]

【従来の技術】暗号演算自体は、汎用の情報処理装置を
用いれば処理可能であるが、汎用の情報処理装置では暗
号に用いる鍵の秘匿が難しい。また、秘密鍵を生成する
ための乱数を疑似乱数で代用していた。
2. Description of the Related Art Although a cryptographic operation itself can be processed by using a general-purpose information processing device, it is difficult for a general-purpose information processing device to keep secret a key used for encryption. In addition, a random number for generating a secret key is substituted with a pseudo random number.

【0003】[0003]

【発明が解決しようとする課題】CPU、メモリ、暗号演
算器等が複数の半導体素子で構成されている汎用の情報
処理装置を用いると、暗号に用いる秘密鍵の秘匿が困難
になるという問題がある。これは、暗号処理装置が複数
の半導体素子から構成されており、秘密鍵等の秘得すべ
き情報が、半導体素子間の信号線を経由するため、信号
線を観察することにより簡単に情報が漏洩するためであ
る。
When a general-purpose information processing device in which a CPU, a memory, a cryptographic operation unit, and the like are composed of a plurality of semiconductor elements is used, there is a problem that it is difficult to conceal a secret key used for encryption. is there. This is because the cryptographic processing device is composed of a plurality of semiconductor elements, and secret information such as a secret key passes through signal lines between the semiconductor elements. Therefore, information can be easily obtained by observing the signal lines. This is to leak.

【0004】半導体素子に供給しているクロック信号に
ノイズが印加すると、内部論理を誤動作してしまう問題
がある。
When noise is applied to a clock signal supplied to a semiconductor device, there is a problem that internal logic malfunctions.

【0005】秘密鍵を生成するための乱数生成におい
て、従来の疑似乱数生成方式では、乱数の種が同じだ
と、同じ順番で同じ数値を出力するため、セキュリティ
の高い乱数には適さないという問題がある。
[0005] In the random number generation for generating a secret key, the conventional pseudo random number generation method outputs the same numerical value in the same order when the seeds of the random numbers are the same, which is not suitable for high security random numbers. There is.

【0006】暗号処理を行う半導体素子に外部記憶装置
を接続した場合、半導体素子と外部記憶装置とを接続す
る信号線を観察することにより、半導体素子内部で行わ
れている処理を推測することが可能になってしまう問題
がある。
When an external storage device is connected to a semiconductor element for performing cryptographic processing, it is possible to infer the processing being performed inside the semiconductor element by observing a signal line connecting the semiconductor element and the external storage device. There is a problem that becomes possible.

【0007】[0007]

【課題を解決するための手段】秘密鍵等の秘匿すべき情
報を外部の信号線に出さなくするためには、CPU、メモ
リ、暗号演算器、乱数発生器を同じ半導体素子に集積し
た暗号処理装置である。
In order to prevent secret information such as a secret key from being output to an external signal line, a cryptographic processing in which a CPU, a memory, a cryptographic operation unit, and a random number generator are integrated in the same semiconductor element is used. Device.

【0008】さらに、鍵の生成を半導体素子内で行い、
公開鍵のみを半導体素子の外に出力する暗号処理装置で
ある。
Further, the key is generated in the semiconductor device,
This is a cryptographic processing device that outputs only the public key to the outside of the semiconductor element.

【0009】クロック信号からのノイズに対してはPLL
等を用いて内部でクロックを生成し、外部からのクロッ
ク入力を直接使用しないようにした暗号処理装置であ
る。
PLL for noise from clock signal
This is a cryptographic processing device that internally generates a clock by using such a method and does not directly use an external clock input.

【0010】疑似乱数ではなく、完全な乱数を生成する
ためには、定電圧ダイオードやツェナーダイオード等の
ノイズを用いる乱数生成器を同じ半導体素子に集積した
暗号処理装置である。
In order to generate a complete random number instead of a pseudo random number, a cryptographic processing apparatus in which a random number generator using noise such as a constant voltage diode or a Zener diode is integrated in the same semiconductor element.

【0011】暗号処理を行う半導体素子に外部記憶素子
を接続するためには、外部記憶素子に格納されている情
報を全て半導体素子内の記憶装置に転送し、その後は半
導体素子内の記憶装置の情報のみを用いて暗号処理をす
る暗号処理装置である。
In order to connect the external storage element to the semiconductor element for performing the encryption process, all the information stored in the external storage element is transferred to the storage device in the semiconductor element, and thereafter, the information is stored in the storage device in the semiconductor element. This is a cryptographic processing device that performs cryptographic processing using only information.

【0012】また、半導体素子内部のバスのデータ線の
並びと外部記憶装置へ接続するデータ線の並びを入れ替
えて外部記憶装置内の情報の解析を困難にする暗号処理
装置である。
Further, there is provided a cryptographic processing apparatus in which the arrangement of data lines of a bus inside a semiconductor element and the arrangement of data lines connected to an external storage device are exchanged to make it difficult to analyze information in the external storage device.

【0013】また、外部記憶装置内の情報を暗号化して
おき、半導体素子内でその情報を復号化して用いる暗号
処理装置である。
Further, the present invention is an encryption processing apparatus for encrypting information in an external storage device and decrypting and using the information in a semiconductor device.

【0014】[0014]

【発明の実施の形態】本発明の第一の実施例を図1、2
で説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A first embodiment of the present invention is shown in FIGS.
Will be described.

【0015】図1は本発明の暗号処理装置の構成を模式
的に表わしたブロック図である。
FIG. 1 is a block diagram schematically showing the configuration of the cryptographic processing apparatus of the present invention.

【0016】単一の半導体素子(101)上に、CPU
(102)、RAM(103)、ROM(104)、暗号演算
器(105)、乱数生成器(106)、秘密鍵データ保
持部(107)、外部I/F(108)の各機能ブロック
を集積した構成をとる。暗号演算器(105)は、主と
して剰余演算器(110)から構成され、多ビットの剰
余演算、加減算、論理演算を高速に処理する。
On a single semiconductor device (101), a CPU
Each functional block of (102), RAM (103), ROM (104), cryptographic operation unit (105), random number generator (106), secret key data holding unit (107), and external I / F (108) is integrated. The following configuration is adopted. The cryptographic operation unit (105) is mainly composed of a remainder operation unit (110), and performs multi-bit remainder operation, addition / subtraction, and logical operation at high speed.

【0017】各ブロックは、内部バス(109)で接続
されるが、半導体外部へは外部I/F(108)を通して
のみ接続されており、半導体素子(101)の外部バス
(111)から直接内部バス(109)を駆動すること
はできない構成にする。半導体内部と外部は外部I/F
(108)を介して完全に独立させる。
Each block is connected by an internal bus (109), but is connected to the outside of the semiconductor only through an external I / F (108), and is directly connected to an internal bus from the external bus (111) of the semiconductor element (101). The bus (109) cannot be driven. External I / F for inside and outside of semiconductor
Completely independent via (108).

【0018】また、半導体素子内にPLL等のクロック発
生器(112)を備え、半導体内部で用いるクロックも
半導体内で生成し、クロック供給線(113)外部から
のクロックを直接半導体内で使用しない。
Further, a clock generator (112) such as a PLL is provided in the semiconductor element, and a clock used in the semiconductor is also generated in the semiconductor, and a clock supplied from outside the clock supply line (113) is not used directly in the semiconductor. .

【0019】外部とのデータ転送等で外部とタイミング
をあわせる必要がある場合は、外部クロック供給線(1
14)で供給されるクロックは外部I/F(108)でのみ
使用し、他のブロックへは供給しない。
When it is necessary to match the timing with the outside due to data transfer with the outside, etc., the external clock supply line (1
The clock supplied in 14) is used only for the external I / F (108) and is not supplied to other blocks.

【0020】これにより、外部クロックにノイズ等が印
加されたときでも、内部のブロックが誤動作を起こすこ
とを防ぐことが出来る。PLL動作の基準クロック供給線
(115)にノイズが印加されても、PLLのロックが外
れるだけであり、PLLの発振周波数の変動幅を各ブロッ
クの動作範囲に収めておくことにより、内部の各ブロッ
クの誤動作を防ぐことが出来る。
As a result, even when noise or the like is applied to the external clock, it is possible to prevent the internal blocks from malfunctioning. Even if noise is applied to the reference clock supply line (115) of the PLL operation, only the PLL is unlocked. By keeping the fluctuation range of the oscillation frequency of the PLL within the operation range of each block, the internal Block malfunction can be prevented.

【0021】暗号処理のアルゴリズムはROM(104)
の中にプログラムとして格納されており、それをCPU
(102)が実行し、暗号処理を進める。また、暗号処
理過程ににおける一時記憶装置として、RAM(103)
が用いられる。
The algorithm of the encryption process is ROM (104)
Is stored as a program in the
(102) is executed, and the encryption process proceeds. The RAM (103) serves as a temporary storage device during the encryption process.
Is used.

【0022】このような構成をとることにより、半導体
外部から信号線を観測しても、内部情報が一切出力され
ないために、安全性の高い暗号装置を構築することが可
能になる。
By adopting such a configuration, even if a signal line is observed from outside the semiconductor, no internal information is output, so that it is possible to construct a highly secure encryption device.

【0023】本発明の暗号処理装置は暗号に必要な鍵を
自ら生成する。剰余演算に基づいた公開鍵暗号を用いる
場合、本暗号処理装置固有の公開鍵と秘密鍵を生成する
必要がある。それには、あらかじめ定められたビット長
の2つの素数p,qを生成する必要がある。
The encryption processing device of the present invention generates a key required for encryption by itself. When using a public key cryptosystem based on a remainder operation, it is necessary to generate a public key and a secret key unique to the present cryptographic processing apparatus. To do so, it is necessary to generate two prime numbers p and q having a predetermined bit length.

【0024】素数を求めるためにまず、あらかじめ定め
られたビット長の奇数の乱数を生成する(202)。そ
の乱数を用いて剰余演算等を行い、素数か否かの判定を
行う(203)。素数でなければ、2を加えて次の奇数
を求め、素数判定を行う。このような処理を繰り返し
て、2つの素数p,qを求める。次に2つの素数p,qの積m=
p*qを求める。その積m(205)は公開鍵の1つにな
り、半導体素子内でも用いる。また、 rを0以外の正の
整数としたときに、素数p,qから求められる値n=(p-1)*
(q-1)*r+1を算出し、n=a+bなるa(206),b(20
7)を求め、aかbのどちらかを公開鍵(210)、もう
一方を秘密鍵(209)にする。たとえばm,bを公開鍵
(210)にし、aを秘密鍵(209)にする。m,a,bが
決まるとp,qは不要になる。ただし、p,qとbが判明する
とaは簡単に求めることが出来てしまうためp,qも秘密に
し保持するか、m,a,bが決まった時点で破棄する。
In order to obtain a prime number, first, an odd random number having a predetermined bit length is generated (202). A remainder operation or the like is performed using the random number to determine whether or not the number is a prime number (203). If it is not a prime number, 2 is added to obtain the next odd number, and the prime number is determined. By repeating such processing, two prime numbers p and q are obtained. Next, the product m =
Find p * q. The product m (205) becomes one of the public keys and is used also in the semiconductor element. Also, when r is a positive integer other than 0, the value n = (p-1) * obtained from the prime numbers p and q
(q-1) * r + 1 is calculated, and a (206), b (20
7), and either a or b is used as a public key (210) and the other is used as a secret key (209). For example, m and b are used as public keys (210), and a is used as a secret key (209). Once m, a, and b are determined, p and q become unnecessary. However, if p, q and b are known, a can easily be obtained, so that p and q are kept secret or discarded when m, a and b are determined.

【0025】秘密鍵(209)は、秘密鍵データ保持部
(208)に保管され、暗号/復号処理(211)の鍵
として用いられる。
The secret key (209) is stored in the secret key data holding unit (208) and used as a key for the encryption / decryption processing (211).

【0026】本暗号処理装置で復号可能な暗号文は、本
暗号処理装置固有の公開鍵(210)で暗号化されてい
るので、その暗号文を、秘密鍵a(209)とmを用いて
復号する。
Since the ciphertext that can be decrypted by the present cryptographic processing apparatus is encrypted with the public key (210) unique to the present cryptographic processing apparatus, the ciphertext is converted using the secret key a (209) and m. Decrypt.

【0027】特定の相手にのみ復号可能な暗号文を作成
するときには、その相手固有の公開鍵m',b'(214)
を本暗号処理装置(201)の公開鍵設定部(215)
に入力し、m',b'を用いて平文を暗号文にする。
When creating a ciphertext that can be decrypted only by a specific partner, a public key m ', b' (214) unique to that partner.
The public key setting unit (215) of the cryptographic processing device (201)
And the plaintext is converted into a ciphertext using m 'and b'.

【0028】また、本発明の暗号処理装置固有の秘密鍵
で暗号化された平文は、本発明の暗号処理装置固有の公
開鍵でしか復号化出来ないので、その平文は本発明の暗
号処理装置で暗号化されたことを証明することが出来
る。
The plaintext encrypted with the secret key unique to the cryptographic processing device of the present invention can be decrypted only with the public key unique to the cryptographic processing device of the present invention. Can be proved to be encrypted.

【0029】相手の公開鍵で復号化し、平文を得ること
が出来れば、相手が暗号化したものであると確認でき
る。
If a plaintext can be obtained by decrypting with the public key of the other party, it can be confirmed that the other party has encrypted the plaintext.

【0030】このように、秘密鍵と相手の公開鍵はとも
に暗号化にも復号化にも使用する。
As described above, both the secret key and the partner's public key are used for encryption and decryption.

【0031】本発明の暗号処理装置では半導体素子(2
01)から公開鍵(210)は出力されるが、秘密鍵
(209)は出力されない。
In the cryptographic processing apparatus of the present invention, the semiconductor device (2
01), the public key (210) is output, but the secret key (209) is not output.

【0032】ここでは、剰余演算に基づく公開鍵暗号を
例に挙げたが、乱数を元に秘密鍵と公開鍵を生成する公
開鍵暗号であれば、本発明の暗号処理装置で処理可能で
ある。
Here, the public key cryptosystem based on the remainder operation has been described as an example, but any public key cryptosystem that generates a secret key and a public key based on a random number can be processed by the cryptographic processing device of the present invention. .

【0033】このように、半導体内部で自ら生成した秘
密鍵を、半導体内部のみに保持し続けることにより、高
い安全性を確保することが出来る。
As described above, by keeping the secret key generated within the semiconductor itself only inside the semiconductor, high security can be ensured.

【0034】本発明の第2の実施例を図3を用いて説明
する。
A second embodiment of the present invention will be described with reference to FIG.

【0035】図3は、ランダムな物理現象から乱数を生
成する乱数生成器の構成を示したものである。
FIG. 3 shows a configuration of a random number generator for generating a random number from a random physical phenomenon.

【0036】乱数生成器(301)は、定電圧ダイオー
ドやツェナーダイオードのノイズを元に生成する。その
生成回路を図3に示す。
The random number generator (301) generates a random number based on noise of a constant voltage diode or a zener diode. FIG. 3 shows the generation circuit.

【0037】図3は、定電圧ダイオード(301)、抵
抗(302)とコンデンサ(303)で構成されるロー
パスフィルタ(304)、コンパレータ(305)、フ
リップフロップ(306)で構成される。
FIG. 3 includes a low-pass filter (304) composed of a constant voltage diode (301), a resistor (302) and a capacitor (303), a comparator (305), and a flip-flop (306).

【0038】定電圧ダイオード(301)は、信号波形
(307)のようにノイズを発生する。このノイズは、
雪崩降伏がランダムに起きることに起因する物理現象で
ある。このノイズをローパスフィルタ(304)を通す
と信号波形(308)のように信号波形(307)の平
均値に近い値をとる。この2つの信号をコンパレータ
(305)に入力することにより、信号波形(309)
のような、ランダムなパルス幅をもつ2値信号に変換す
ることが出来る。この信号をさらにフリップフロップ
(306)で半導体素子内の基準クロックに同期化さ
せ、ランダムビット信号波形(310)を得る。
The constant voltage diode (301) generates noise like the signal waveform (307). This noise is
This is a physical phenomenon caused by avalanche breakdown occurring at random. When this noise passes through a low-pass filter (304), it takes a value close to the average value of the signal waveform (307) as shown in a signal waveform (308). By inputting these two signals to the comparator (305), the signal waveform (309)
Can be converted into a binary signal having a random pulse width. This signal is further synchronized with a reference clock in the semiconductor device by a flip-flop (306) to obtain a random bit signal waveform (310).

【0039】このランダムなビット列を必要なビットだ
け、シフトレジスタに入力するなり、単位時間のパルス
の数を計測するなりして乱数を得る。
A random number is obtained by inputting this random bit string into the shift register with only necessary bits or measuring the number of pulses per unit time.

【0040】これにより、乱数発生に種がいらず、再生
不可能な乱数を得ることが出来る。
As a result, it is possible to obtain an unreproducible random number without any seed in generating the random number.

【0041】また、ローパスフィルタ(304)によ
り、ノイズを含む信号(307)の平均値(308)を
求め、その平均値とノイズを含む信号を比較することに
より、定電圧ダイオードの電圧に温度等による電圧変動
等が生じても、乱数生成に影響が及ばない乱数生成器を
構成することが出来る。
Further, an average value (308) of the noise-containing signal (307) is obtained by the low-pass filter (304), and the average value is compared with the noise-containing signal to obtain the voltage of the constant voltage diode as a temperature or the like. Therefore, it is possible to configure a random number generator that does not affect the random number generation even if a voltage fluctuation or the like occurs due to.

【0042】本発明の第3の実施例を図4を用いて説明
する。
A third embodiment of the present invention will be described with reference to FIG.

【0043】図4は、秘密鍵データ保持部を、バッテリ
バックアップされたSRAMで構成したものである。
FIG. 4 shows a configuration in which the secret key data holding unit is composed of a battery-backed SRAM.

【0044】本発明の半導体素子(401)に、内部倫
理ブロック(402)用の主電源(403)と、秘密鍵
データ保持部(404)専用の電源(405)を設け
る。主電源(403)とデータ保持用電源(405)
は、タイオード(406)(407)を介してSRAM(4
04)の電源(408)として供給される。また、同じ
電源(408)はSRAM制御回路(409)の電源として
も使用する。ゲート(410)は、内部論理ブロックで
使用されている初期化信号(411)と主電源(40
3)と監視し、主電源(403)へ電力が供給されてお
りなおかつ内部倫理ブロックの初期化が終了するまで、
SRAM(404)への信号を全て無効になるように固定す
る。これにより、半導体内の一部に電力を供給し他の部
分への電力供給を停止した状態でも、余分な漏れ電流等
を無くすことができ、されらに電力供給を停止した部分
に、ノイズ等が印加されたり、動作保証以下の電圧で誤
動作したとしても、その影響を遮断することができる。
The semiconductor element (401) of the present invention is provided with a main power supply (403) for the internal ethics block (402) and a power supply (405) dedicated to the secret key data holding unit (404). Main power supply (403) and data retention power supply (405)
Is the SRAM (4) via the diode (406) (407).
04) as the power supply (408). The same power supply (408) is also used as a power supply for the SRAM control circuit (409). The gate (410) is connected to the initialization signal (411) used in the internal logic block and the main power supply (40).
3) until the power is supplied to the main power supply (403) and the initialization of the internal ethics block is completed.
All signals to the SRAM (404) are fixed so as to be invalid. As a result, even in a state where power is supplied to a part of the semiconductor and power supply to other parts is stopped, unnecessary leakage current and the like can be eliminated. , Or malfunctions at a voltage lower than the operation guarantee, the effect can be cut off.

【0045】ゲート(410)が"L"を出力すると、ゲ
ート(412)は"L"を出力し、アドレス信号線(41
3)の電圧が何であっても変化しない。また、ゲート
(415)も"L"を出力しバッファ(416)の出力イ
ンピーダンスを高くするため、データ信号線(418)
へ漏れ電流を流すことがなくなる。また、ゲート(42
0)も"L"を出力するため、バッファ(421)の出力
インピーダンスを高くするため、データ信号線(42
3)の電圧が何であっても、データ信号線(419)へ
伝えることなない。また、ゲート(424)は"H"を出
力し制御信号(426)を無効化して、SRAMの動作を止
める。
When the gate (410) outputs "L", the gate (412) outputs "L" and the address signal line (41)
No matter what the voltage of 3), it does not change. Further, the gate (415) also outputs "L" to increase the output impedance of the buffer (416), so that the data signal line (418)
No leakage current flows. The gate (42)
0) also outputs "L", and the data signal line (42)
Whatever the voltage of 3), it is not transmitted to the data signal line (419). Further, the gate (424) outputs "H" to invalidate the control signal (426) and stops the operation of the SRAM.

【0046】ゲート(410)(412)(415)
(420)(424)、バッファ(421)をCMOS構成
にすることにより、入力信号(413)(417)(4
23)(422)(425)に流れる漏れ電流を微小に
押さえることができるため、内部論理ブロック(40
2)への電力供給が停止しても、データ保持用電源(4
05)の電力が漏れ出ることはない。これにより、デー
タ保持用電源(405)から消費する電力を必要最小限
に抑えることができ、バックアップバッテリ(428)
の寿命を長くすることができる。
Gate (410) (412) (415)
The input signals (413), (417), (4)
23) Since the leakage current flowing through (422) and (425) can be suppressed very small, the internal logic block (40
Even if the power supply to 2) is stopped, the data holding power supply (4
The power of 05) does not leak. As a result, the power consumed from the data holding power supply (405) can be minimized, and the backup battery (428)
Life can be extended.

【0047】主電源(403)から電力が供給され、内
部論理ブロックの初期化が終了すると、ゲート(41
0)は"H"を出力する。すると、ゲート(412)は、
アドレス信号線(413)のデータをアドレス信号線
(414)に伝える。ゲート(415)は、SRAM読み出
し信号(417)が有効なときにバッファ(416)を
有効にしデータ信号線(419)のデータをデータ信号
線(418)に伝える。ゲート(420)は、SRAM書き
込み信号(422)が有効なときにバッファ(421)
を有効にしデータ信号線(423)のデータをデータ信
号線(419)に伝える。ゲート(424)は、制御信
号線(425)のデータを制御信号線(426)へ伝え
る。これにより、正常にSRAM(404)をアクセスでき
る。
When power is supplied from the main power supply (403) and the initialization of the internal logic block is completed, the gate (41)
0) outputs "H". Then, the gate (412)
The data on the address signal line (413) is transmitted to the address signal line (414). The gate (415) enables the buffer (416) when the SRAM read signal (417) is valid, and transmits the data of the data signal line (419) to the data signal line (418). The gate (420) is connected to the buffer (421) when the SRAM write signal (422) is valid.
Is valid and the data of the data signal line (423) is transmitted to the data signal line (419). The gate (424) transmits the data of the control signal line (425) to the control signal line (426). Thereby, the SRAM (404) can be normally accessed.

【0048】また、外部に本暗号処理装置(401)を
収納する匡体等のケースに各種感知器を設けそれらから
の信号を元に、バッテリ(428)から供給されるデー
タ保持用電源(405)を制御する異常検出器(42
7)を設ける。ケースの分解、解体等を検出したとき
に、SRAM(404)への電力供給を停止し、秘密鍵を消
失させてしまうものである。
Further, various sensors are provided in a case such as a housing for accommodating the present cryptographic processing apparatus (401), and a data holding power supply (405) supplied from a battery (428) based on signals from these sensors. ) For controlling the abnormality (42)
7) is provided. When the disassembly or disassembly of the case is detected, the power supply to the SRAM (404) is stopped, and the secret key is lost.

【0049】さらには、主電源(403)から電力が供
給されている場合に、異常検出器(427)が作動し
て、データ保持用電源(405)からの電力供給を絶っ
ても、主電源(403)からSRAM(404)へ電力が供
給されてしまうため、異常検出信号(429)を内部論
理ブロック(402)に入力し、異常を伝え動作を制限
または停止させる。
Further, when the power is supplied from the main power supply (403), the abnormality detector (427) operates and the power supply from the data holding power supply (405) is cut off. Since power is supplied from (403) to the SRAM (404), an abnormality detection signal (429) is input to the internal logic block (402) to notify the abnormality and limit or stop the operation.

【0050】半導体素子(401)内で、SRAMへの電源
を統合してもよいが、主電源とバッテリからの電力を、
異常検出器(427)内で統合し、いかなる場合でも異
常を検出したら、SRAM(404)へ電力が供給を絶つ構
成にしてもよい。
In the semiconductor element (401), the power supply to the SRAM may be integrated, but the power from the main power supply and the battery is
The power supply to the SRAM (404) may be cut off when the abnormality is integrated in the abnormality detector (427) and the abnormality is detected in any case.

【0051】これにより、装置を分解されても秘密鍵が
半導体素子外部に漏れることがなくなる。
Thus, even if the device is disassembled, the secret key does not leak out of the semiconductor element.

【0052】本発明の第4の実施例を図5、6を用いて
説明する。
A fourth embodiment of the present invention will be described with reference to FIGS.

【0053】図5は、本発明の暗号処理装置である半導
体素子(501)の外部にも記憶素子(510)を設け
られるように、外部記憶素子制御回路(505)と外部
記憶素子アドレスバス(511)、外部記憶素子データ
バス(512)外部記憶素子アクセス信号(513
b)、外部記憶素子書き込み信号(514b)を設けた構
成をとる。暗号処理装置内部論理ブロック(502)内
にあるアドレス信号(503)とデータ信号(504)
を外部記憶素子制御回路(505)に入力し、外部記憶
素子アドレスバス(511)へは、出力バッファ(50
6)を通し、外部記憶素子データバス(512)へは、
入出力バッファ(507)を通して接続する。
FIG. 5 shows an external storage element control circuit (505) and an external storage element address bus (505) so that a storage element (510) can be provided outside the semiconductor element (501) which is the cryptographic processing apparatus of the present invention. 511), external storage element data bus (512), external storage element access signal (513)
b), a configuration in which an external storage element write signal (514b) is provided. An address signal (503) and a data signal (504) in the logical block (502) inside the cryptographic processing apparatus.
Is input to the external storage element control circuit (505), and the output buffer (50) is supplied to the external storage element address bus (511).
6), to the external storage element data bus (512),
The connection is made through the input / output buffer (507).

【0054】出力バッファ(506)には、出力インピ
ーダンスを高くする制御線を有するものを用い、その制
御線を外部記憶素子アクセス信号(513a)に接続
し、記憶素子(510)をアクセスするときにのみアド
レスを半導体素子(501)の外部に出力する構造にす
る。
An output buffer (506) having a control line for increasing the output impedance is used, and the control line is connected to an external storage element access signal (513a) to access the storage element (510). Only the address is output to the outside of the semiconductor element (501).

【0055】入出力バッファ(507)の出力側バッフ
ァには、書き込み制御信号(514a)と外部記憶素子
アクセス信号(513a)の論理積をゲート(509)
で取ったものを入力し、外部記憶素子アクセスでかつ書
き込みするときのみデータを半導体素子(501)の外
部に出力する構造にする。
The logical product of the write control signal (514a) and the external storage element access signal (513a) is gated (509) in the output buffer of the input / output buffer (507).
Is input and the data is output to the outside of the semiconductor element (501) only when accessing and writing to the external storage element.

【0056】また、データ変換部(508)でデータバ
スのビットの並べ変えを行い、外部記憶素子とやり取り
するデータの解析を困難にする。
The data conversion unit (508) rearranges the bits of the data bus, making it difficult to analyze data exchanged with the external storage element.

【0057】さらに、外部記憶素子(510)のデータ
は、必要なときに必要なだけアクセスするのではなく、
最初に全てのデータを本発明の暗号処理装置である半導
体素子(501)内部のRAM等の記憶素子に転送し、そ
の後半導体素子内部でのみ処理を行う。
Further, the data in the external storage element (510) is not accessed as needed when necessary.
First, all data is transferred to a storage element such as a RAM inside the semiconductor element (501), which is the cryptographic processing apparatus of the present invention, and thereafter processing is performed only inside the semiconductor element.

【0058】これにより、外部記憶素子アドレスバス
(511)、外部記憶素子データバス(512)を観察
しても内部の暗号処理動作を推測することが不可能にな
る。
As a result, even if the external storage element address bus (511) and the external storage element data bus (512) are observed, it becomes impossible to estimate the internal encryption processing operation.

【0059】図6は、図5のデータ変換部をビットの並
べ変えではなく、特定のビットを反転させる方式にした
ものである。データ変換部(608)には、排他的論理
和をとるゲート(615)がデータバス幅分さらに、各
ビット入力出力分設けてあり、各データ線のデータを反
転させるか否かをレジスタ(616)で制御する。
FIG. 6 shows a data conversion unit in FIG. 5 in which a specific bit is inverted instead of rearranging bits. The data conversion unit (608) is provided with an exclusive OR gate (615) for the data bus width and for each bit input / output. The register (616) determines whether to invert the data of each data line. ).

【0060】また、この両者を組み合わせても、さらに
高度な暗号処理を行っても良い。
Further, a combination of the two may be performed, or a more advanced encryption process may be performed.

【0061】[0061]

【発明の効果】本発明の暗号処理装置は、半導体内部で
生成した秘密鍵は、半導体素子内に非匿し続けるため
に、秘守性や安全性が高い。内部の動作クロックも半導
体内で生成し、外部から供給しているクロックにノイズ
等が印加されても内部論理が誤動作することはないため
に、秘守性や安全性が高い。また、鍵生成の基データで
ある乱数を、物理現象を用いた乱数生成器から得ること
により、乱数の精度が上がり、秘密鍵の推測がより困難
になるため、秘守性や安全性が高い。また、秘密鍵等の
秘守すべきデータをバッテリバックアップされたSRAMに
格納し、異常を検出したら、バックアップ電源を切断
し、秘守すべきデータを消去して、秘密鍵等の秘守すべ
きデータの漏洩を防ぐため、秘守性や安全性が高い。ま
た、全ての暗号処理が半導体内のみで閉じて処理され、
内部の動作をしる手がかりとなるアドレスバスやデータ
バスにも暗号処理の途中経過の情報が出力されないた
め、半導体外部の信号を観察しても、内部で行われてい
る暗号処理を推測することは困難であるために、秘守性
や安全性が高い。
According to the cryptographic processing apparatus of the present invention, since the secret key generated inside the semiconductor is kept secret in the semiconductor element, the security and security are high. The internal operation clock is also generated in the semiconductor, and the internal logic does not malfunction even when noise or the like is applied to the clock supplied from the outside, so that confidentiality and security are high. In addition, by obtaining a random number, which is the base data for key generation, from a random number generator using physical phenomena, the accuracy of the random number increases, and it becomes more difficult to guess the secret key, so that confidentiality and security are high. . In addition, the data to be kept secret such as a secret key is stored in a battery-backed SRAM, and if an abnormality is detected, the backup power supply is turned off, the data to be kept secret is erased, and the data such as the secret key should be kept secret. High confidentiality and security to prevent data leakage. Also, all cryptographic processes are closed and processed only within the semiconductor,
Since information on the progress of encryption processing is not output to the address bus or data bus, which is a key to internal operations, it is necessary to infer the encryption processing performed internally even when observing signals outside the semiconductor. Is difficult, so security and security are high.

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

【図1】本発明の第1の実施例に係る暗号処理装置を示
す図。
FIG. 1 is a diagram showing a cryptographic processing device according to a first embodiment of the present invention.

【図2】本発明の第1の実施例に係る鍵生成及び暗号処
理動作を示す図。
FIG. 2 is a diagram showing key generation and encryption processing operations according to the first embodiment of the present invention.

【図3】本発明の第2の実施例に係る乱数発生器を示す
図。
FIG. 3 is a diagram showing a random number generator according to a second embodiment of the present invention.

【図4】本発明の第3の実施例に係る秘密鍵保持部を示
す図。
FIG. 4 is a diagram showing a secret key holding unit according to a third embodiment of the present invention.

【図5】本発明の第4の実施例に係る第1の外部記憶素
子制御回路を示す図。
FIG. 5 is a diagram showing a first external storage element control circuit according to a fourth embodiment of the present invention.

【図6】本発明の第4の実施例に係る第2の外部記憶素
子制御回路を示す図。
FIG. 6 is a diagram showing a second external storage element control circuit according to a fourth embodiment of the present invention.

【符号の説明】 101、201、401、501、601…半導体素子 102…CPU 103…RAM 104…ROM 105…暗号演算器 106…乱数生成器 107…秘密鍵データ保持部 108…外部I/F 109…内部バス 110…剰余演算器 111…外部バス 112…クロック発生器 113…クロック供給線 114…外部クロック供給線 115…基準クロック供給線 202…奇数の乱数生成 203…素数の判定 204…鍵生成 205…m 206…a 207…b 208…秘密鍵データ保持部 209…秘密鍵a 210…公開鍵m,b 211…暗号/複合化処理 212…平文 213…暗号文 214…相手の公開鍵m',b' 215…公開鍵設定部 301…定電圧ダイオード 302…抵抗 303…コンデンサ 304…ローパスフィルタ 305…コンパレータ 306…フリップフロップ 307…ノイズ信号波形 308…ノイズ平均値信号波形 309…ランダムパルス信号波形 310…ランダムビット信号波形 402、502、602…内部論理ブロック 403…主電源 404…秘密鍵データ保持部、SRAM 405…データ保持用電源 406,407…タイオード 408…SRAM電源 409…SRAM制御回路 410、412、415、420、424、509、609…ゲート 411…初期化信号 413,414…アドレス信号線 416,421…バッファ 417…SRAM読み出し信号 418,419,423…データ信号線 422…SRAM書き込み信号 425,426…制御信号 427…異常検出器 428…バッテリ 429…異常検出信号 503、603…アドレス信号 504、604…データ信号 505、605…外部記憶素子制御回路 506、606…出力バッファ 507、607…入出力バッファ 508、608…データ変換部 510、610…外部記憶素子 511、611…外部記憶素子アドレスバス 512、612…外部記憶素子データバス 513a、513b、613a、613b…外部記憶素子アクセス信号 514a、514b、614a、614b…外部記憶素子書き込み信号 615…EX-ORゲート 616…レジスタ[Description of Signs] 101, 201, 401, 501, 601 Semiconductor element 102 CPU 103 RAM 104 ROM 105 Cryptographic operation unit 106 Random number generator 107 Secret key data holding unit 108 External I / F 109 ... Internal bus 110 ... Remainder arithmetic unit 111 ... External bus 112 ... Clock generator 113 ... Clock supply line 114 ... External clock supply line 115 ... Reference clock supply line 202 ... Odd number random number generation 203 ... Primary number determination 204 ... Key generation 205 … M 206… a 207… b 208… private key data holding unit 209… private key a 210… public key m, b 211… encryption / decryption processing 212… plaintext 213… ciphertext 214… the other party's public key m ′, b '215: public key setting unit 301: constant voltage diode 302 ... resistor 303 ... capacitor 304 ... low pass filter 305 ... comparator 306 ... flip-flop 307 ... noise signal waveform 308 ... noise average value signal waveform 309 ... random pulse signal waveform 310 ... Random bit signal waveform 402, 502, 602 ... internal logic block 403 ... Power supply 404: Private key data holding unit, SRAM 405: Power supply for data holding 406,407 ... Tide 408 ... SRAM power supply 409 ... SRAM control circuit 410, 412, 415, 420, 424, 509, 609 ... Gate 411 ... Initialization signal 413,414 ... Address signal lines 416,421 ... Buffer 417 ... SRAM read signal 418,419,423 ... Data signal line 422 ... SRAM write signal 425,426 ... Control signal 427 ... Battery detector 428 ... Battery 429 ... Abnormal detection signal 503,603 ... Address signal 504,604 ... Data signal 505, 605: External storage element control circuit 506, 606: Output buffer 507, 607: Input / output buffer 508, 608: Data converter 510, 610: External storage element 511, 611: External storage element address bus 512, 612: External Storage element data bus 513a, 513b, 613a, 613b ... External storage element access signal 514a, 514b, 614a, 614b ... External storage element write signal 615 ... EX-OR gate 616 ... Register

Claims (15)

【特許請求の範囲】[Claims] 【請求項1】同一の半導体素子の中に、CPUと、RAMと、
ROMと、暗号演算器と、乱数発生器と、外部インタフェ
ースとを備えることを特徴とした暗号処理装置。
1. A semiconductor device comprising: a CPU; a RAM;
A cryptographic processing device comprising a ROM, a cryptographic operation unit, a random number generator, and an external interface.
【請求項2】暗号化/復号化に用いる鍵を半導体素子内
で生成することを特徴とした請求項1記載の暗号処理装
置。
2. The encryption processing device according to claim 1, wherein a key used for encryption / decryption is generated in a semiconductor device.
【請求項3】公開鍵暗号を処理可能な暗号処理装置であ
り、生成した鍵のうち、公開鍵は半導体素子外に出力
し、秘密鍵は半導体素子内に秘匿し続けることを特徴と
する請求項2記載の暗号処理装置。
3. A cryptographic processing apparatus capable of processing public key cryptography, wherein, among the generated keys, the public key is output outside the semiconductor element, and the secret key is kept secret in the semiconductor element. Item 3. The encryption processing device according to Item 2.
【請求項4】暗号化/復号化の暗号処理を半導体素子内
で生成した鍵を用いて行い、主となるデータの暗号処理
時のにおける外部とのデータのやり取りは、平文と暗号
文のみであることを特徴とする請求項3記載の暗号処理
装置。
4. Encryption processing for encryption / decryption is performed using a key generated in a semiconductor device, and exchange of data with the outside at the time of encryption processing of main data includes only plaintext and ciphertext. 4. The cryptographic processing device according to claim 3, wherein:
【請求項5】同一の半導体素子の中にPLL等のクロック
信号発生器を備え、外部からのクロックを直接使用しな
いことを特徴とする請求項1、2、3、または4記載の
暗号処理装置。
5. The cryptographic processing apparatus according to claim 1, wherein a clock signal generator such as a PLL is provided in the same semiconductor element, and an external clock is not used directly. .
【請求項6】秘匿すべき秘密鍵等の情報を半導体素子内
に保持する記憶素子を備えることを特徴とする請求項3
記載の暗号処理装置。
6. A storage device for holding information such as a secret key to be concealed in a semiconductor device.
The cryptographic processing device according to the above.
【請求項7】秘匿すべき秘密鍵等の情報保持に、バッテ
リバックアップされたSRAMを用いることを特徴とした請
求項6記載の暗号処理装置。
7. The cryptographic processing apparatus according to claim 6, wherein a battery-backed SRAM is used to hold information such as a secret key to be kept secret.
【請求項8】暗号に用いる鍵の生成に、ランダムな物理
現象から求めた乱数を用ることを特徴とした請求項2記
載の暗号処理装置。
8. The cryptographic processing apparatus according to claim 2, wherein a random number obtained from a random physical phenomenon is used to generate a key used for encryption.
【請求項9】半導体素子外部にも記憶素子を接続するイ
ンタフェースを持つことを特徴とする請求項1記載の暗
号処理装置。
9. The cryptographic processing apparatus according to claim 1, further comprising an interface for connecting a storage element outside the semiconductor element.
【請求項10】半導体素子外の記憶素子と接続するメモ
リバスは、外部メモリバス制御回路を経由して、半導体
素子内のメモリバスと接続していることを特徴とする請
求項9記載の暗号処理装置。
10. The cipher according to claim 9, wherein the memory bus connected to the storage element outside the semiconductor element is connected to the memory bus inside the semiconductor element via an external memory bus control circuit. Processing equipment.
【請求項11】外部の記憶素子の容量より、本発明の半
導体素子内部の記憶素子の容量が多いことを特徴とする
請求項9、または10記載の暗号処理装置。
11. The cryptographic processing device according to claim 9, wherein the capacity of the storage element inside the semiconductor device of the present invention is larger than the capacity of the external storage element.
【請求項12】半導体素子内に記憶装置を備え、外部メ
モリ素子のデータ全てを最初に半導体素子内記憶装置に
読み込み、その後は、半導体素子内の記憶装置のみで動
作するため、半導体素子外の記憶装置は、最初に一度し
かアクセスしないことを特徴とする請求項9、10、ま
たは11記載の暗号処理装置。
12. A storage device in a semiconductor device, wherein all data in an external memory device is first read into the storage device in the semiconductor device, and thereafter, only the storage device in the semiconductor device operates. The cryptographic processing apparatus according to claim 9, 10 or 11, wherein the storage device accesses only once at first.
【請求項13】外部記憶装置をアクセスするとき以外
は、半導体内部のバスの信号を外部メモリバスに伝えな
い外部メモリバス制御回路を備えることを特徴とする請
求項10記載の暗号処理装置。
13. The cryptographic processing apparatus according to claim 10, further comprising an external memory bus control circuit that does not transmit a signal on a bus inside the semiconductor to an external memory bus except when accessing an external storage device.
【請求項14】半導体チップ内部のバスと外部メモリバ
スのデータの並びを異なる並びにすることを特徴とする
請求項9、10、11、12、または13記載の暗号処
理装置。
14. The cryptographic processing apparatus according to claim 9, wherein the arrangement of data on the bus inside the semiconductor chip and the arrangement of data on the external memory bus are different.
【請求項15】暗号化された外部記憶装置のデータを外
部メモリバス制御回路で復号化することを特徴とした請
求項9、10、11、12、13、または14記載の暗
号処理装置。
15. The cryptographic processing apparatus according to claim 9, wherein the encrypted data in the external storage device is decrypted by an external memory bus control circuit.
JP10252191A 1998-09-07 1998-09-07 Cryptograph processor Pending JP2000083019A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10252191A JP2000083019A (en) 1998-09-07 1998-09-07 Cryptograph processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10252191A JP2000083019A (en) 1998-09-07 1998-09-07 Cryptograph processor

Publications (1)

Publication Number Publication Date
JP2000083019A true JP2000083019A (en) 2000-03-21

Family

ID=17233775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10252191A Pending JP2000083019A (en) 1998-09-07 1998-09-07 Cryptograph processor

Country Status (1)

Country Link
JP (1) JP2000083019A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007503797A (en) * 2003-05-30 2007-02-22 プリヴァリス・インコーポレーテッド In-circuit security system and method for controlling access and use of sensitive data
WO2008056612A1 (en) * 2006-11-06 2008-05-15 Panasonic Corporation Information security apparatus
US8347091B2 (en) 2006-11-06 2013-01-01 Panasonic Corporation Authenticator apparatus
US8779825B2 (en) 2011-07-06 2014-07-15 Mitsubishi Electric Corporation Signal processing apparatus

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007503797A (en) * 2003-05-30 2007-02-22 プリヴァリス・インコーポレーテッド In-circuit security system and method for controlling access and use of sensitive data
JP2010250837A (en) * 2003-05-30 2010-11-04 Privaris Inc In-circuit security system and method for controlling access to and use of sensitive data
US9124930B2 (en) 2003-05-30 2015-09-01 Apple Inc. In-circuit security system and methods for controlling access to and use of sensitive data
US9923884B2 (en) 2003-05-30 2018-03-20 Apple Inc. In-circuit security system and methods for controlling access to and use of sensitive data
WO2008056612A1 (en) * 2006-11-06 2008-05-15 Panasonic Corporation Information security apparatus
US8347091B2 (en) 2006-11-06 2013-01-01 Panasonic Corporation Authenticator apparatus
JP5113074B2 (en) * 2006-11-06 2013-01-09 パナソニック株式会社 Information security device
US8510608B2 (en) 2006-11-06 2013-08-13 Panasonic Corporation Generating PUF error correcting code using redundant hardware
US8779825B2 (en) 2011-07-06 2014-07-15 Mitsubishi Electric Corporation Signal processing apparatus

Similar Documents

Publication Publication Date Title
JP3975677B2 (en) Information processing device
US11856116B2 (en) Method and apparatus for protecting embedded software
JP3866105B2 (en) Microprocessor device with encryption function
JP3848573B2 (en) Microprocessor system
US20190384939A1 (en) Data Protection Device and Method and Storage Controller
US11728967B2 (en) Dynamic masking
US11343109B2 (en) Secure enrollment for physical unclonable function devices
JP2004265194A (en) Information processing apparatus and information processing method
JP2006277411A (en) Processor, memory, computer system and data transfer method
JP2002328845A (en) Semiconductor integrated circuit and method for protecting security of ic card
Chen et al. FPGA implementation of SRAM PUFs based cryptographically secure pseudo-random number generator
US7841014B2 (en) Confidential information processing method, confidential information processor, and content data playback system
US11429751B2 (en) Method and apparatus for encrypting and decrypting data on an integrated circuit
CN112887077B (en) SSD main control chip random cache confidentiality method and circuit
CN102541762A (en) Data protector for external memory and data protection method
WO2020010642A1 (en) Secure encryption chip and electronic device comprising same
JP2003318883A (en) Key generation device, encrypting/decrypting device and data receiver
JP2005122745A (en) Data encryption in electronic apparatus with symmetric multiprocessor
JP2001237825A (en) Electronic safety component
JP2000083019A (en) Cryptograph processor
US20120321079A1 (en) System and method for generating round keys
JP2000242470A (en) Device and method for generating random number and recording medium
Landge et al. VHDL based Blowfish implementation for secured embedded system design
KR20100015077A (en) Apparatus and method for encryption in system on chip
JP2007281994A (en) Semiconductor integrated circuit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20031215

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20031215

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060523

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060713

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060822