JP2007325219A - Encryption processing system and encryption processing apparatus - Google Patents

Encryption processing system and encryption processing apparatus Download PDF

Info

Publication number
JP2007325219A
JP2007325219A JP2006156413A JP2006156413A JP2007325219A JP 2007325219 A JP2007325219 A JP 2007325219A JP 2006156413 A JP2006156413 A JP 2006156413A JP 2006156413 A JP2006156413 A JP 2006156413A JP 2007325219 A JP2007325219 A JP 2007325219A
Authority
JP
Japan
Prior art keywords
parity
register
data
value
cryptographic
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
JP2006156413A
Other languages
Japanese (ja)
Inventor
Hiromi Nobukata
浩美 信方
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 JP2006156413A priority Critical patent/JP2007325219A/en
Publication of JP2007325219A publication Critical patent/JP2007325219A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an encryption processing system and an encryption processing apparatus for making a DFA attack difficult. <P>SOLUTION: The encryption processing apparatus includes an encryption engine 140 which performs encrypting operation, a memory 140 including at least one region 141 capable of rewriting a value indicative of a state, and a control unit 110 which controls encryption processing and is capable of accessing the region 141 of the memory. The encryption engine 150 includes a DFA detection section 151 capable of detecting that a DFA (Differential Fault Analysis) attack is performed and when the DFA attack is detected by the DFA detection section, a signal indicative of the detection is outputted to the control unit 110. After initiation, the control unit 110 reads a value in the region 141 of the memory and when the value is a preset initial allowable value, ordinary encryption processing operation is performed. When the value is different from the allowable value, the different value is rewritten into a value that is nearly the allowable value. When a detection signal of the DFA attack is received during the encrypting operation due to ordinary operation, a value different from the allowable value is written in the region 141 of the memory and the system is reset. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、暗号処理システムおよび暗号処理装置に関し、さらに詳細には、暗号解析処理、攻撃処理として知られる故障差分解析(DFA:Differential Fault Analysis)に対する耐性を向上させた暗号処理システムおよび暗号処理装置に関するものである。   The present invention relates to a cryptographic processing system and a cryptographic processing device, and more particularly, a cryptographic processing system and a cryptographic processing device that have improved resistance to failure differential analysis (DFA) known as cryptographic analysis processing and attack processing. It is about.

昨今、ICカード、ネットワーク通信、電子商取引などの発展に伴い、ICカードを利用したデータ送受信やネットワークを介した通信におけるセキュリティ確保が重要な課題となっている。セキュリティ確保の1つの方法が暗号技術であり、現在、様々な暗号化手法を用いた通信が実際に行われている。   In recent years, with the development of IC cards, network communication, electronic commerce, and the like, ensuring security in data transmission / reception using IC cards and communication via networks has become an important issue. One method of ensuring security is encryption technology, and currently, communication using various encryption methods is actually performed.

例えばICカード等の小型の装置中に暗号処理モジュールを埋め込み、ICカードと、データ読み取り書き込み装置としてのリーダライタとの間でデータ送受信を行い、認証処理、あるいは送受信データの暗号化、復号化を行うシステムが実用化されている。   For example, an encryption processing module is embedded in a small device such as an IC card, and data is transmitted / received between the IC card and a reader / writer as a data reading / writing device, and authentication processing or encryption / decryption of transmitted / received data is performed. The system to do is put into practical use.

ICカードでは、例えばリーダライタやホストコンピュータとデータのやり取りを行う時、その過程でICカードに格納されている秘密情報が漏れても問題を発生させないために、送受信データは暗号化される。   In an IC card, for example, when data is exchanged with a reader / writer or a host computer, transmission / reception data is encrypted so that no problem occurs even if secret information stored in the IC card leaks in the process.

この暗号化方法として多く用いられている方式の1つとしてDES(Data Encryption Standard)がある。
DESは、代表的な共通鍵暗号方式のアルゴリズムであり、例えばデータ送受信者としてのICカードとホストコンピュータが同じ鍵を所有し、データの送信側はデータをその鍵で暗号化して送信し、データの受信者は同じ鍵で復号化してメッセージを取り出す。
One of the methods often used as this encryption method is DES (Data Encryption Standard).
DES is a typical common key encryption algorithm. For example, an IC card as a data sender and a host computer have the same key, and the data transmission side encrypts the data with the key and transmits the data. Recipients decrypt the message with the same key and retrieve the message.

通信の過程で悪意の第三者が盗聴しても、鍵を有していない限り復号化してメッセージを取り出すことは困難である。
また、暗号化・復号化の時に使う鍵は、ICカード内のEEPROM等の不揮発性メモリに格納され、暗号化・復号化時にはCPUを介さないで直接ICカード内の暗号エンジンに転送される様な制御により、ICカードの所有者やICカードの開発エンジニアすら鍵データを取り出すことが不可能な構成を採ってセキュリティを保持している。
Even if a malicious third party eavesdrops in the course of communication, it is difficult to retrieve the message after decryption unless it has a key.
In addition, the key used for encryption / decryption is stored in a non-volatile memory such as EEPROM in the IC card, and is directly transferred to the encryption engine in the IC card without going through the CPU during encryption / decryption. Under such control, security is maintained by adopting a configuration in which even the owner of the IC card or the development engineer of the IC card cannot extract the key data.

図1はDES演算回路の一般的な構成を示す図であり、図2はF関数部の構成例を示す図である。   FIG. 1 is a diagram illustrating a general configuration of a DES arithmetic circuit, and FIG. 2 is a diagram illustrating a configuration example of an F function unit.

このDES演算回路10は、図1に示すように、初期置換部[IP(Initial Permutation)]11、スイッチ(SW1)12、左レジスタ(Lレジスタという)13、右レジスタ(Rレジスタ)14、F関数部15、EXOR演算部16、スイッチ(SW2)17、逆置換部(IP-1)18、および暗号文出力部(Crypto)19を有する。 As shown in FIG. 1, the DES arithmetic circuit 10 includes an initial replacement unit [IP (Initial Permutation)] 11, a switch (SW1) 12, a left register (referred to as L register) 13, a right register (R register) 14, F A function unit 15, an EXOR operation unit 16, a switch (SW 2) 17, an inverse replacement unit (IP −1 ) 18, and a ciphertext output unit (Crypto) 19 are included.

スイッチ(SW1)12は、Lレジスタ側スイッチ12LとRレジスタ側スイッチ12Rとを含む。同様に、スイッチ(SW2)17は、Lレジスタ側スイッチ17LとRレジスタ側スイッチ17Rとを含む。
スイッチ12Lの作動接点aは初期置換部11の出力に接続され、作動接点bはRレジスタ14の出力およびスイッチ17Lの作動接点aに接続され、固定接点cがLレジスタ13の入力に接続されている。
スイッチ12Rの作動接点aは初期置換部11の出力に接続され、作動接点bはEXOR演算部16の出力およびスイッチ17Rの作動接点aに接続され、固定接点cがRレジスタ14の入力に接続されている。
また、スイッチ17L,17Rの固定接点cが逆置換部(IP-1)18の入力に接続されている。
The switch (SW1) 12 includes an L register side switch 12L and an R register side switch 12R. Similarly, the switch (SW2) 17 includes an L register side switch 17L and an R register side switch 17R.
The operating contact a of the switch 12L is connected to the output of the initial replacement unit 11, the operating contact b is connected to the output of the R register 14 and the operating contact a of the switch 17L, and the fixed contact c is connected to the input of the L register 13. Yes.
The operation contact a of the switch 12R is connected to the output of the initial replacement unit 11, the operation contact b is connected to the output of the EXOR operation unit 16 and the operation contact a of the switch 17R, and the fixed contact c is connected to the input of the R register 14. ing.
Further, the fixed contact c of the switches 17L and 17R is connected to the input of the reverse replacement unit (IP −1 ) 18.

図1のDES演算回路10において、スイッチ(SW1)12L,12Rは、DES演算開始時には固定接点cが作動接点"a"側に接続されている。
DES演算が開始されると、平文を初期置換部11においてIP置換後、2つの32ビットデータL0,R0に分けられ、制御クロックに基づく制御タイミングとしてのラッチパルス(Latch Pulse)の立ち上がりでLレジスタ13およびRレジスタ14へ取り込まれる。これと並行してスイッチ12L,12Rにおいて、固定接点cの接続を作動接点"b"側に切り替える。
In the DES operation circuit 10 of FIG. 1, the switches (SW1) 12L and 12R have the fixed contact c connected to the operation contact “a” side at the start of the DES operation.
When the DES operation is started, the plaintext is IP-replaced by the initial replacement unit 11 and then divided into two 32-bit data L 0 and R 0, and at the rise of a latch pulse (Latch Pulse) as a control timing based on the control clock. The data is taken into the L register 13 and the R register 14. In parallel with this, in the switches 12L and 12R, the connection of the fixed contact c is switched to the working contact “b” side.

このデータ取り込みによってLレジスタ13およびRレジスタ14の出力が“L0”,“R0”になり、その後、これらのレジスタ格納値に基づいて、F関数部15とEXOR演算部16を適用したラウンド(Round)演算が実行され、その結果が再度、スイッチ(SW)12L,12Rを介してLレジスタ13およびRレジスタ14の入力に供給される。 As a result of this data capture, the outputs of the L register 13 and the R register 14 become “L 0 ” and “R 0 ”, and then a round in which the F function unit 15 and the EXOR operation unit 16 are applied based on these register stored values. The (Round) operation is executed, and the result is supplied again to the inputs of the L register 13 and the R register 14 via the switches (SW) 12L and 12R.

さらに、次のクロックサイクルのラッチパルスの立ち上がりでLレジスタ13およびRレジスタ14へ取り込まれ、その出力が更新されることにより次のラウンドの演算が開始される。
この動作を16クロックサイクル繰り返した後、スイッチ17を通して演算結果を逆置換部(IP-1)18へ出力して逆置換変換を実行し、暗号文として出力する。
Furthermore, the next round operation is started by taking in the L register 13 and the R register 14 at the rising edge of the latch pulse in the next clock cycle and updating the output.
After repeating this operation for 16 clock cycles, the operation result is output to the reverse replacement unit (IP −1 ) 18 through the switch 17 to perform reverse replacement conversion and output as ciphertext.

F関数部15は、図2に示すように、非線形処理を実行する複数(図2では8)のSボックス(Sbox)S1〜S8を有する。前段からの入力値F−in、すなわち、R(n−1)は拡張部(EX)151によって48ビットに拡大され、さらに鍵スケジュール部から入力する鍵(48ビット)KnとEXOR演算部152でEXOR演算が実行され、その出力が6ビットずつ非線形変換処理を実行する複数のSボックスS1〜S8に入力される。各SボックスS1〜S8では、変換テーブルを適用した6ビットから4ビットへの非線形変換処理が実行される。
SボックスS1〜S8からの出力ビット4×8=32ビットは、置換部(P)153に入力されて、ビット位置の入れ替え処理がなされ、F関数出力32ビットを生成して出力する。
As shown in FIG. 2, the F function unit 15 includes a plurality (8 in FIG. 2) of S boxes S 1 to S 8 that execute nonlinear processing. The input value F-in from the previous stage, that is, R (n-1) is expanded to 48 bits by the extension unit (EX) 151, and further, the key (48 bits) Kn input from the key schedule unit and the EXOR operation unit 152 The EXOR operation is executed, and the output is input to a plurality of S boxes S 1 to S 8 that execute the nonlinear conversion process every 6 bits. In each of the S boxes S 1 to S 8 , non-linear conversion processing from 6 bits to 4 bits to which a conversion table is applied is executed.
The output bits 4 × 8 = 32 bits from the S boxes S 1 to S 8 are input to the replacement unit (P) 153, where the bit position is replaced, and the F function output 32 bits are generated and output.

しかし、ICカードの消費電流を測定し、それに統計処理を施して鍵を取り出す電力差分解析(DPA:Differential Power Analysis)という攻撃方法や、暗号演算実行中に動作環境を変化させて演算過程で誤動作を起こさせて、その演算結果と正常動作の演算結果との差分を採って、それを解析することにより鍵を取り出す故障差分解析(DFA:Differential Fault Analysis)という攻撃方法等の脅威が報告されている。   However, an attack method called differential power analysis (DPA) that measures the current consumption of an IC card, performs statistical processing on it, and retrieves the key, or malfunctions in the computation process by changing the operating environment during cryptographic computation execution A threat such as an attack method called differential fault analysis (DFA), in which the difference between the operation result and the operation result of normal operation is taken and the key is extracted by analyzing the difference, has been reported. Yes.

DFA攻撃は、たとえばモールドを除去したICに暗号演算を実行させている時に、レジスタ(Register)等にレーザ(Laser)光を照射して保持データの値を変化させ、誤った結果を出力させて、その値を解析することにより鍵を取り出す。   For example, when a DFA attack is performed on an IC from which a mold is removed, a register (Register) or the like is irradiated with a laser beam to change the value of retained data, and an incorrect result is output. The key is extracted by analyzing the value.

以下、DFA攻撃について図面に関連付けてさらに説明する。
図3はDESの演算フローを示す図であり、図4(A)〜(E)は図2のF関数部の演算例を示す図であり、図5はラウンド16の場合のDFA攻撃の例を示す図であり、図6はDFA攻撃を受けたときのF関数の演算例を示す図である。
Hereinafter, the DFA attack will be further described with reference to the drawings.
FIG. 3 is a diagram illustrating a calculation flow of DES, FIGS. 4A to 4E are diagrams illustrating calculation examples of the F function unit in FIG. 2, and FIG. 5 is an example of a DFA attack in the case of round 16 FIG. 6 is a diagram illustrating an example of calculation of the F function when subjected to a DFA attack.

通常演算では、16ラウンド終了後のLレジスタ13およびRレジスタ14の値は、図3並びに次の(1)式、(2)式に示すようになり、その後に逆置換(IP−1)変換を行って出力される。 In normal operation, the values of the L register 13 and the R register 14 after 16 rounds are as shown in FIG. 3 and the following expressions (1) and (2), and then the reverse substitution (IP −1 ) conversion is performed. Is output.

Figure 2007325219
Figure 2007325219

(2)式に(1)式を代入すると、下記のようになる。   Substituting equation (1) into equation (2) results in the following.

Figure 2007325219
Figure 2007325219

この式で、“R16”,“L16”は、演算結果を逆置換(IP−1)の逆変換を行うことにより容易に求めることができ、またF関数は図2に示すような構成で、図4(A)〜(E)に示すようなF関数内での演算が行われる。 In this equation, “R 16 ” and “L 16 ” can be easily obtained by performing the inverse transformation (IP −1 ) of the operation result, and the F function is configured as shown in FIG. Thus, the calculation in the F function as shown in FIGS. 4 (A) to (E) is performed.

ここで、たとえばDESの16ラウンド目を実行中に、レーザ光照射等でR15レジスタの1ビットを反転させた場合、16ラウンド目が終了した時点でのLレジスタ13およびRレジスタ14の値は、図5並びに次の(4)式、(5)式に示すようになり、その後に逆置換(IP−1)変換を行って出力される。 Here, for example, during a 16 round of DES, when a laser beam irradiation or the like to reverse the one-bit R 15 registers, the value of L register 13 and R register 14 at the time when the 16 th round is finished , FIG. 5 and the following equations (4) and (5), and then output by performing reverse permutation (IP −1 ) conversion.

Figure 2007325219
Figure 2007325219

(5)式に(4)式を代入すると、下記のようになる。   Substituting equation (4) into equation (5) gives the following.

Figure 2007325219
Figure 2007325219

この式で、“R16”,“L16”は、演算結果を逆置換(IP−1)の逆変換を行うことにより容易に求めることができる。そして、(1)式と(4)式を比較することにより、レーザ光照射で変化したビットの位置を特定することができる。
たとえば、R15レジスタのビット2がレーザ光照射によって“0”から“1”に反転した場合、次の演算を実行することにより、R15レジスタのビット2が変化したことを知ることができる。
In this equation, “R 16 ” and “L 16 ” can be easily obtained by performing the inverse transformation (IP −1 ) of the operation result. Then, by comparing the expressions (1) and (4), the position of the bit changed by the laser light irradiation can be specified.
For example, when bit 2 of the R 15 register is inverted from “0” to “1” by laser light irradiation, it is possible to know that bit 2 of the R 15 register has changed by executing the following operation.

Figure 2007325219
Figure 2007325219

一方、(3)式と(6)式を各々EXOR演算することにより、次のようになる。   On the other hand, by performing an EXOR operation on the equations (3) and (6), the following results.

Figure 2007325219
Figure 2007325219

さらに、(8)式の両辺をF関数内のP置換の逆置換(P−1)を実施すると、次のようになる。 Furthermore, when reverse substitution (P −1 ) of P substitution in the F function is performed on both sides of the equation (8), the result is as follows.

Figure 2007325219
Figure 2007325219

この式で、“R16”,“R16’”,“L16”,“L16’”は、暗号の演算結果から容易に求めることができる値であり、F関数も公開されていて既知の関数であるため、未知の数値は“K16”のみである。この例の場合、(7)式よりR15レジスタのビット2が変化したことが判明しているため、(8)式の値((3)式と(6)式の差異)は8個のS-box のうち、“S1”の出力の差異に起因している。
したがって、ラウンド16の鍵のうち、“S”の入力となる 6bit を“00 (16)”〜“3f(16)”まで変化させて(9)式を満たす値を求めると、
“03(16)”,“07(16)”,“19(16)”,“1d(16)”,“28(16)”,“2c(16)”,“31(16)”,“36(16)”,“3a(16)”,“3e(16)
が求まる。
In this equation, “R 16 ”, “R 16 ′”, “L 16 ”, and “L 16 ′” are values that can be easily obtained from cryptographic operation results, and the F function is also publicly known. Therefore, the unknown numerical value is only “K 16 ”. In the case of this example, since it is known from the equation (7) that the bit 2 of the R 15 register has changed, the value of the equation (8) (difference between the equations (3) and (6)) is eight. This is due to the difference in the output of “S 1 ” in the S-box.
Therefore, among the keys of round 16, when the 6 bits used as the input of “S 1 ” are changed from “00 (16) ” to “3f (16) ”, a value satisfying the equation (9) is obtained.
“03 (16) ”, “07 (16) ”, “19 (16) ”, “1d (16) ”, “28 (16) ”, “2c (16) ”, “31 (16) ”, “ 36 (16) ”,“ 3a (16) ”,“ 3e (16)
Is obtained.

次に、たとえば、R15レジスタのビット3を“1”から“0”に反転させた場合、(7)式は、次のようになる。 Next, for example, when bit 3 of the R 15 register is inverted from “1” to “0”, equation (7) becomes as follows.

Figure 2007325219
Figure 2007325219

そして、(9)式は以下の通りになる。   And (9) Formula is as follows.

Figure 2007325219
Figure 2007325219

この式で、“R16” ”,“L16” ”は、(7)式・(9)式の“ “R16’”,“L16’”とは異なる値である。
ラウンド16の鍵のうち、“S”の入力となる6ビットを“00(16)”〜“3f(16)”まで変化させて(11)式を満たす値を求めると、
“34(16)”,“36(16)”,“3d(16)”,“3f(16)
が求まり、(9)式から導かれた6ビット鍵の候補と比較して、共通するのは“36(16)”のみであり、“S”の入力に対応するラウンド16の6ビット鍵の値は“36(16)”と求まる。
In this equation, “R 16 ” ”and“ L 16 ”” are different from “R 16 ′” and “L 16 ′” in the equations (7) and (9).
Of the round 16 keys, changing the 6 bits as input of “S 1 ” from “00 (16) ” to “3f (16) ” to obtain a value satisfying the expression (11),
“34 (16) ”, “36 (16) ”, “3d (16) ”, “3f (16)
Compared with the 6-bit key candidate derived from equation (9), only “36 (16) ” is common, and the 16-bit key of round 16 corresponding to the input of “S 1 ” The value of is obtained as “36 (16) ”.

同様にして、“S”〜“S”の入力に対応するラウンド16の6ビット鍵の値を求めることが可能で、これらのDFA攻撃により、56ビットの鍵のうち、48ビットは求めることができ、残り8ビットは28=256回の全数攻撃で容易に求めることができる。 Similarly, it is possible to obtain the value of the 6-bit key of round 16 corresponding to the input of “S 2 ” to “S 8 ”, and 48 bits of the 56-bit key are obtained by these DFA attacks. The remaining 8 bits can be easily obtained by 2 8 = 256 exhaustive attacks.

この攻撃に対する対抗する技術が特許文献1に提案されている。
この特許文献1に開示された技術では、
1)平文の暗号化演算を実行後に、演算結果を再び復号化演算し、演算結果が平文と一致した場合に暗号演算結果を正しい演算結果として出力する。一致しない場合、CPUに対してエラーの発生を知らせ、暗号演算処理を終了する、
2)平文を複数の暗号演算回路で演算し、結果が一致した場合のみ演算結果を正しい演算結果として出力する。一致しない場合、CPUに対してエラーの発生を知らせ、暗号演算処理を終了する、
という処理を行って、DFA攻撃に対処している。
A technique for countering this attack is proposed in Patent Document 1.
In the technique disclosed in Patent Document 1,
1) After executing the plaintext encryption operation, the operation result is decrypted again, and if the operation result matches the plaintext, the cipher operation result is output as a correct operation result. If they do not match, the CPU is notified of the occurrence of an error and the cryptographic operation processing is terminated.
2) The plaintext is calculated by a plurality of cryptographic operation circuits, and the operation result is output as a correct operation result only when the results match. If they do not match, the CPU is notified of the occurrence of an error and the cryptographic operation processing is terminated.
To deal with DFA attacks.

CPUは、DES回路からエラーが発行された場合、システムをリセットしてもう一度最初からの動作を要求することにより不正な攻撃に対して対抗する。
特開平10−154976号公報
When an error is issued from the DES circuit, the CPU counters an illegal attack by resetting the system and requesting an operation from the beginning again.
JP-A-10-154976

しかし、上記1)の場合、暗号化と復号化のフローの同じラウンド(Round)で、同じレジスタの同じビットにレーザ光をうまく照射できれば、復号化した値と元々の平文の値は一致し、攻撃はなかったものとしてDFA攻撃された暗号文を出力してしまう。   However, in the case of 1) above, if the same bit in the same register can be successfully irradiated with laser light in the same round of encryption and decryption flow, the decrypted value and the original plaintext value match, The ciphertext subjected to the DFA attack is output as if there was no attack.

また、上記2)の場合、技術的には高度であるが、複数のレーザを配置し、同じラウンドで各々のレジスタの同じビットを照射すれば、全てのDES回路の出力は一致し、DFA攻撃された暗号文を出力してしまう。   In the case of 2), although technically advanced, if a plurality of lasers are arranged and the same bit of each register is irradiated in the same round, the outputs of all the DES circuits coincide with each other, and the DFA attack Output encrypted ciphertext.

通常は、回路の上を多くの信号配線が形成されていて(走っていて)、さらに暗号装置の上部には意図的にアルミニウム(Al)パターンを密に(びっしり)配置して下部の回路を見えにくくしたり、アクティブシールド(Active Shield)の技術を用いて最上層のAl層全面に配線パターンを配置し、その配線の断線やショートを検知する信号を流すことにより下部の回路へのレーザ光の照射が極めて困難な対策が採られる。
このため、DFA攻撃で狙ったレジスタにレーザ光を照射するには技術が必要であるが、DFA攻撃の脅威な点は、一度でも狙ったレジスタビットに狙ったラウンド(Round)でうまく照射できれば、その出力の解析から少なくとも6ビットの鍵データが取出せる点である。
また、攻撃者が開封したICをステージに置き、レーザ光を照射しては少しずつ照射タイミングをずらしたり、ステージを少しずつ移動させて照射位置を変えてDFA攻撃を自動的に行い、その結果を解析する装置を開発すれば、いずれは鍵の取り出しが実現される可能性は高い。
Normally, a lot of signal wiring is formed (running) on the circuit, and an aluminum (Al) pattern is intentionally densely placed on the upper part of the encryption device. Laser light to the lower circuit by making it difficult to see or placing a wiring pattern on the entire surface of the uppermost Al layer using Active Shield technology and sending a signal to detect the disconnection or short of the wiring Measures that are extremely difficult to irradiate are taken.
For this reason, technology is necessary to irradiate the laser beam to the register targeted by the DFA attack, but the threat point of the DFA attack is that if the target register bit can be irradiated even once in the round (Round), The key is that at least 6-bit key data can be extracted from the analysis of the output.
In addition, the IC opened by the attacker is placed on the stage, and the irradiation timing is shifted gradually by irradiating the laser beam, or the DFA attack is automatically performed by moving the stage little by little and changing the irradiation position. If a device for analyzing the above is developed, there is a high possibility that key extraction will be realized.

本発明は、自動化された装置によるDFA攻撃を困難にする暗号処理システムおよび暗号処理装置を提供することにある。   An object of the present invention is to provide a cryptographic processing system and a cryptographic processing device that make it difficult to perform a DFA attack by an automated device.

本発明の第1の観点の暗号処理システムは、暗号演算を行う暗号エンジンと、状態を示す値を書き換え可能な領域を少なくとも一つ含むメモリと、暗号処理の制御を行い、上記メモリの上記領域へのアクセスが可能な制御部と、を有し、上記暗号エンジンは、DFA(Differential Fault Analysis)攻撃が行われたことを検出可能なDFA検出部を有し、上記DFA検出部でDFA攻撃が検出されると、検出したことを示す信号を上記制御部に出力し、上記制御部は、起動後に、上記メモリの領域の値を読み、当該値があらかじめ設定された初期の許容値の場合には通常の暗号処理動作を行い、上記許容値と異なる値の場合には当該異なる値を上記許容値に近い値に書き換え、通常動作での暗号演算中に、DFA攻撃の検出信号を受けると、上記メモリの領域に上記許容値と異なる値を書き込む。   A cryptographic processing system according to a first aspect of the present invention includes a cryptographic engine that performs cryptographic operations, a memory that includes at least one area in which a value indicating a state can be rewritten, and a cryptographic process that controls the area of the memory. A cryptography engine having a DFA detection unit capable of detecting that a DFA (Differential Fault Analysis) attack has been performed, and the DFA detection unit performs a DFA attack. When detected, it outputs a signal indicating that it has been detected to the control unit, and the control unit reads the value of the area of the memory after activation, and when the value is an initial allowable value set in advance. Performs a normal cryptographic processing operation, and when the value is different from the allowable value, rewrites the different value to a value close to the allowable value, and receives a DFA attack detection signal during the cryptographic operation in the normal operation. Above memory A value different from the allowable value is written in the area of.

本発明の第2の観点は、ラウンド関数の繰り返し処理を含む暗号処理演算を実行する暗号処理装置であって、ラウンド演算用データを格納する演算レジスタと、パリティデータを格納するパリティレジスタと、上記演算レジスタに入力されるラウンド演算用データによりパリティデータを生成し、ラウンド演算用データを上記演算レジスタに出力し、パリティデータを上記パリティレジスタに出力するパリティ生成器と、上記演算レジスタと上記パリティレジスタの格納データに基づいてパリティチェックを行い、パリティエラーを検出すると上記検出信号を上記制御部に出力するパリティチェック回路と、を有する。   According to a second aspect of the present invention, there is provided a cryptographic processing apparatus that performs cryptographic processing calculation including round function iteration processing, an arithmetic register that stores data for round calculation, a parity register that stores parity data, Parity generator that generates parity data from round operation data input to the operation register, outputs round operation data to the operation register, and outputs parity data to the parity register, the operation register, and the parity register A parity check circuit that performs a parity check based on the stored data and outputs the detection signal to the control unit when a parity error is detected.

本発明の第3の観点は、ラウンド関数の繰り返し処理を含む暗号処理演算を実行する暗号処理装置であって、ラウンド演算用第1データを格納する第1演算レジスタと、第1パリティデータを格納する第1パリティレジスタと、ラウンド演算用第2データを格納する第2演算レジスタと、第2パリティデータを格納する第2パリティレジスタと、上記第1演算レジスタに入力される第1データにより上記第1パリティデータを生成し、上記第1データを上記第1演算レジスタに出力し、上記第1パリティデータを上記第1パリティレジスタに出力する第1パリティ生成器と、上記第2演算レジスタに入力される第2データにより上記第2パリティデータを生成し、上記第2データを上記第2演算レジスタに出力し、上記第2パリティデータを上記第2パリティレジスタに出力する第2パリティ生成器と、上記第1演算レジスタと上記第1パリティレジスタの格納データに基づいてパリティチェックを行い、パリティエラーを検出すると上記検出信号を上記制御部に出力する第1パリティチェック回路と、上記第2演算レジスタと上記第2パリティレジスタの格納データに基づいてパリティチェックを行い、パリティエラーを検出すると上記検出信号を上記制御部に出力する第2パリティチェック回路と、上記第1演算レジスタに格納された第1データと上記第2演算レジスタに格納された第2データに応じたラウンド演算を行うラウンド演算部と、を有する。   According to a third aspect of the present invention, there is provided a cryptographic processing apparatus that executes cryptographic processing calculation including round function iteration processing, and stores a first calculation register that stores first data for round calculation and first parity data. A first parity register that stores second data for round operation, a second parity register that stores second parity data, and first data that is input to the first operation register. 1 parity data is generated, the first data is output to the first arithmetic register, the first parity data is output to the first parity register, and the first arithmetic data is input to the second arithmetic register. The second parity data is generated from the second data, the second data is output to the second operation register, and the second parity data is output to the second operation register. The parity check is performed based on the second parity generator output to the second parity register, the data stored in the first operation register and the first parity register, and when a parity error is detected, the detection signal is sent to the control unit. A parity check is performed based on data stored in the first parity check circuit to be output, the second operation register and the second parity register, and when a parity error is detected, the detection signal is output to the control unit. A circuit, and a round operation unit that performs a round operation according to the first data stored in the first operation register and the second data stored in the second operation register.

本発明によれば、DFA攻撃が検出される度に、システムリセット後にDFA攻撃できない状況が発生し、DFA攻撃で鍵を取出される危険性が減少するという利点がある。   According to the present invention, every time a DFA attack is detected, there is an advantage that a situation in which a DFA attack cannot be performed after a system reset occurs, and a risk that a key is extracted by the DFA attack is reduced.

以下、本発明の実施形態を図面に関連付けて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

<第1実施形態>
図7は、本発明の第1の実施形態に係る暗号処理システムの構成例を示すブロック図である。
<First Embodiment>
FIG. 7 is a block diagram showing a configuration example of the cryptographic processing system according to the first embodiment of the present invention.

本暗号処理システム100は、暗号処理装置としてのDES演算回路には所定のDFA検出回路を搭載しており、不揮発性メモリ上に値を格納する領域(数バイト)を持ち、その初期値は共に0とする。
システム100は、起動後に上記領域の値を読み、0ならば通常動作を行う。0より大きい値であれば、その値を−1した値を書き戻して通常動作を行わず、通常動作での暗号演算中にDFA検出回路がDFA攻撃を検知した場合、領域にある値を書込み、システムをリセットする機能を有する。
The cryptographic processing system 100 has a predetermined DFA detection circuit mounted on a DES arithmetic circuit as a cryptographic processing device, and has an area (several bytes) for storing a value on a nonvolatile memory. 0.
The system 100 reads the value in the area after activation, and performs normal operation if it is zero. If the value is greater than 0, the value minus -1 is written back and normal operation is not performed. If the DFA detection circuit detects a DFA attack during cryptographic operation in normal operation, the value in the area is written. And has a function of resetting the system.

本暗号処理システム100は、図7に示すように、制御部としてのCPU(Central processing Unit)110、ROM(Read-Only-Memory)120、RAM(Random Access Memory)130、不発性メモリ140、暗号エンジン(暗号処理装置、DES演算回路)150、および周辺機器(Peripheral)160がデータバス170で接続されている。   As shown in FIG. 7, the cryptographic processing system 100 includes a central processing unit (CPU) 110, a read-only-memory (ROM) 120, a random access memory (RAM) 130, a non-volatile memory 140, an encryption memory, and the like. An engine (cryptographic processing device, DES arithmetic circuit) 150 and a peripheral device (Peripheral) 160 are connected by a data bus 170.

本暗号処理システム100は、DFA対策の施されている暗号モジュールを含むシステムにおいて、暗号演算実行中にDFA攻撃が検知された場合、CPU110に対してリセット信号が発行され、CPU110では不揮発性メモリ上のある値を増加させた後にシステムをリセットするフローを投入する。
CPU110は、通常使用時には、電源投入時に不揮発性メモリ140上のある値をチェックし、あらかじめ設定した許容値“0”でなければその値を許容値に近づくように−1した値を書き込み、電源オフされるまでの期間、暗号演算は実行しない制御を行う。これにより、DFA攻撃を困難にする。
In the cryptographic processing system 100, when a DFA attack is detected during execution of cryptographic computation in a system including a cryptographic module with DFA countermeasures, a reset signal is issued to the CPU 110. The flow to reset the system after increasing a certain value of is input.
During normal use, the CPU 110 checks a certain value on the nonvolatile memory 140 when the power is turned on, and writes a value obtained by decrementing the value so that the value approaches the allowable value if the preset allowable value is not “0”. During the period until it is turned off, control is performed so that cryptographic operations are not executed. This makes DFA attacks difficult.

また、CPU110は、暗号処理の開始や、終了、データの送受信の制御、各構成部間のデータ転送制御、さらに上述した各スイッチの切り替え制御、その他の各種プログラムを実行するプロセッサとしての機能を有している。   In addition, the CPU 110 has a function as a processor that executes encryption processing start and end, data transmission / reception control, data transfer control between each component unit, switching control of each switch described above, and other various programs. is doing.

ROM120は、CPU110が実行するプログラム、あるいは演算パラメータとしての固定データを格納する。   The ROM 120 stores programs executed by the CPU 110 or fixed data as calculation parameters.

RAM130は、CPU110の処理において実行されるプログラム、およびプログラム処理において適宜変化するパラメータの格納エリア、ワーク領域として使用される。   The RAM 130 is used as a storage area and work area for programs executed in the processing of the CPU 110 and parameters that change as appropriate in the program processing.

不揮発性メモリ140は、たとえばEEPROMにより形成され、所定の状態チェック値を格納する数バイトの領域(領域1)141を有する。領域141は製品出荷時にその初期値は許容値0に設定される。
不揮発性メモリ140の領域141は、起動後にCPU110によりその値が読み出され、その値が0ならば通常動作が行われる。領域141の値が0より大きい値であれば、CPU110によりその値が−1された値が書き戻されて通常動作は行われない。
The non-volatile memory 140 is formed of, for example, an EEPROM, and has an area (area 1) 141 of several bytes for storing a predetermined state check value. The initial value of the area 141 is set to an allowable value 0 when the product is shipped.
The value of the area 141 of the nonvolatile memory 140 is read by the CPU 110 after activation, and if the value is 0, normal operation is performed. If the value in the area 141 is greater than 0, the CPU 110 writes back the value decremented by −1 and no normal operation is performed.

なお、RAM130や不揮発性メモリ140は、暗号処理に必要な鍵データ等の格納領域として使用可能である。   The RAM 130 and the nonvolatile memory 140 can be used as a storage area for key data and the like necessary for encryption processing.

暗号エンジン150は、たとえばDESアルゴリズムなど複数段のラウンド関数の繰り返し処理を含む暗号アルゴリズムを実行する暗号処理装置であり、図8のDES演算回路200が適用される。
暗号エンジン150は、たとえばパリティチェック回路系で構成されるDFA検出回路151を有しており、このDFA検出回路151でパリティエラーを検出すると、リセット信号RST(−L、−R)を生成しCPU110に転送する。
The cryptographic engine 150 is a cryptographic processing device that executes a cryptographic algorithm including, for example, a multi-stage round function repetitive process such as a DES algorithm, and the DES arithmetic circuit 200 of FIG. 8 is applied.
The cryptographic engine 150 has a DFA detection circuit 151 composed of, for example, a parity check circuit system. When this DFA detection circuit 151 detects a parity error, it generates a reset signal RST (-L, -R) and generates a CPU 110. Forward to.

図8は、本発明の実施形態に係る暗号処理装置としてのDES演算回路の構成例を示す図である。   FIG. 8 is a diagram illustrating a configuration example of a DES arithmetic circuit as a cryptographic processing apparatus according to an embodiment of the present invention.

本DES演算回路200は、初期置換部[IP(Initial Permutation)]201、スイッチ(SW1)202、左側パリティ生成器(第1パリティ生成器)203、右側パリティ生成器(第2パリティ生成器)204、左側レジスタ(Lレジスタ、第1演算レジスタ)205、左側パリティレジスタ(PLレジスタ、第1パリティレジスタ)206、右側レジスタ(Rレジスタ、第2演算レジスタ)207、右側パリティレジスタ(PRレジスタ、第2パリティレジスタ)208、左側パリティチェック回路(第1パリティチェック回路)209、右側パリティチェック回路(第2パリティチェック回路)210、F関数部211、EXOR演算部212、スイッチ(SW2)213、および逆置換部(IP-1)214を有する。 The DES arithmetic circuit 200 includes an initial permutation unit [IP (Initial Permutation)] 201, a switch (SW1) 202, a left parity generator (first parity generator) 203, and a right parity generator (second parity generator) 204. , Left register (L register, first arithmetic register) 205, left parity register (PL register, first parity register) 206, right register (R register, second arithmetic register) 207, right parity register (PR register, second register) (Parity register) 208, left parity check circuit (first parity check circuit) 209, right parity check circuit (second parity check circuit) 210, F function unit 211, EXOR operation unit 212, switch (SW2) 213, and reverse replacement Part (IP −1 ) 214.

スイッチ(SW1)202は、Lレジスタ側スイッチ202LとRレジスタ側スイッチ202Rとを含む。
スイッチ202Lの作動接点aは初期置換部201の出力に接続され、作動接点bはRレジスタ207の出力およびスイッチ(SW2)213に接続され、固定接点cがパリティ生成器203の入力に接続されている。
スイッチ202Rの作動接点aは初期置換部201の出力に接続され、作動接点bはEXOR演算部212の出力およびスイッチ(SW2)213に接続され、固定接点cがパリティ生成器204の入力に接続されている。
スイッチ202L、202Rの切り替え制御は、たとえば図示していないタイミング発生回路により行われる。
The switch (SW1) 202 includes an L register side switch 202L and an R register side switch 202R.
The operation contact a of the switch 202L is connected to the output of the initial replacement unit 201, the operation contact b is connected to the output of the R register 207 and the switch (SW2) 213, and the fixed contact c is connected to the input of the parity generator 203. Yes.
The operation contact a of the switch 202R is connected to the output of the initial replacement unit 201, the operation contact b is connected to the output of the EXOR operation unit 212 and the switch (SW2) 213, and the fixed contact c is connected to the input of the parity generator 204. ing.
Switching control of the switches 202L and 202R is performed by a timing generation circuit (not shown), for example.

パリティ生成器204は、スイッチ202Rを介して入力するデータに基づいてたとえば1ビットのパリティを生成し、データをRレジスタ207に供給し、生成したパリティビットをPRレジスタ208に供給する。   The parity generator 204 generates, for example, 1-bit parity based on data input via the switch 202R, supplies the data to the R register 207, and supplies the generated parity bit to the PR register 208.

パリティ生成器204は、スイッチ202Rを介して入力するデータに基づいてたとえば1ビットのパリティを生成し、データをRレジスタ207に供給し、生成したパリティビットをPRレジスタ208に供給する。   The parity generator 204 generates, for example, 1-bit parity based on data input via the switch 202R, supplies the data to the R register 207, and supplies the generated parity bit to the PR register 208.

Lレジスタ(第1演算レジスタ)205は、たとえばデータの取り込み信号としてのラッチパルスに同期してパリティ生成器203から供給されたデータをラッチ(格納)する。Lレジスタ205のラッチデータはパリティチェック回路209およびEXOR演算部212の一方の入力に供給される。   The L register (first operation register) 205 latches (stores) the data supplied from the parity generator 203 in synchronization with, for example, a latch pulse as a data capture signal. The latch data of the L register 205 is supplied to one input of the parity check circuit 209 and the EXOR operation unit 212.

PLレジスタ(第1パリティレジスタ)206は、たとえばラッチパルスに同期してパリティ生成器203から供給されたパリティデータをラッチ(格納)する。PLレジスタ206のラッチパリティデータはパリティチェック回路209に供給される。   The PL register (first parity register) 206 latches (stores) the parity data supplied from the parity generator 203 in synchronization with, for example, a latch pulse. The latch parity data of the PL register 206 is supplied to the parity check circuit 209.

Rレジスタ(第2演算レジスタ)207は、たとえばデータの取り込み信号としてのラッチパルスに同期してパリティ生成器204から供給されたデータをラッチ(格納)する。Rレジスタ207のラッチデータはパリティチェック回路210、F関数部211の入力、およびスイッチ213に供給される。   The R register (second arithmetic register) 207 latches (stores) data supplied from the parity generator 204 in synchronization with, for example, a latch pulse as a data fetch signal. The latch data of the R register 207 is supplied to the parity check circuit 210, the input of the F function unit 211, and the switch 213.

PRレジスタ(第2パリティレジスタ)208は、たとえばラッチパルスに同期してパリティ生成器204から供給されたパリティデータをラッチ(格納)する。PRレジスタ208のラッチパリティデータはパリティチェック回路210に供給される。   The PR register (second parity register) 208 latches (stores) the parity data supplied from the parity generator 204 in synchronization with the latch pulse, for example. The latch parity data of the PR register 208 is supplied to the parity check circuit 210.

第1パリティチェック回路209は、Lレジスタ205のラッチデータとPLレジスタ206のラッチパリティデータを受けてパリティチェックを行い、エラーを検出すると検出信号としてのリセット信号RST−Lを生成し、CPU110に転送する。   The first parity check circuit 209 receives the latch data of the L register 205 and the latch parity data of the PL register 206, performs a parity check, generates a reset signal RST-L as a detection signal when an error is detected, and transfers it to the CPU 110 To do.

第2パリティチェック回路210は、Rレジスタ207のラッチデータとPRレジスタ208のラッチパリティデータを受けてパリティチェックを行い、エラーを検出すると検出信号としてのリセット信号RST−Rを生成し、CPU110に転送する。   The second parity check circuit 210 receives the latch data of the R register 207 and the latch parity data of the PR register 208 and performs a parity check. When an error is detected, the second parity check circuit 210 generates a reset signal RST-R as a detection signal and transfers it to the CPU 110. To do.

F関数部211は、非線形処理を実行する複数(図2のように8)のSボックス(Sbox)S1〜S8を有する。入力値FinR(n−1)を拡張部(EX)によって48ビットに拡大し、さらに入力する鍵(48ビット)KnとEXOR演算を実行し、その出力が6ビットずつ非線形変換処理を実行する複数のSボックスS1〜S8に入力する。各SボックスS1〜S8では、変換テーブルを適用した6ビットから4ビットへの非線形変換処理が実行される。
SボックスS1〜S8からの出力ビット4×8=32ビットは、置換部(P)に入力されて、ビット位置の入れ替え処理がなされ、F関数出力32ビットを生成して出力する。
The F function unit 211 includes a plurality (8 as shown in FIG. 2) of S boxes S 1 to S 8 for executing nonlinear processing. The input value FinR (n−1) is expanded to 48 bits by the extension unit (EX), and further an EXOR operation is performed with the input key (48 bits) Kn, and the output is subjected to nonlinear conversion processing every 6 bits. To S boxes S 1 to S 8 . In each of the S boxes S 1 to S 8 , non-linear conversion processing from 6 bits to 4 bits to which a conversion table is applied is executed.
The output bits 4 × 8 = 32 bits from the S boxes S 1 to S 8 are input to the replacement unit (P), the bit position is exchanged, and the F function output 32 bits are generated and output.

EXOR演算部212は、Lレジスタ205に格納されたデータFinLとF関数部211の出力とのEXOR演算を行い、スイッチ202Rを通してパリティ生成回路204へ、スイッチ213Rを通して逆置換部214に供給する。   The EXOR operation unit 212 performs an EXOR operation on the data FinL stored in the L register 205 and the output of the F function unit 211, and supplies the result to the parity generation circuit 204 through the switch 202R and to the inverse replacement unit 214 through the switch 213R.

スイッチ(SW2)213は、Lレジスタ側スイッチ213LとRレジスタ側スイッチ213Rとを含む。
スイッチ213Lの作動接点aはRレジスタ207の出力に接続され、固定接点cが逆置換部214の入力に接続されている。
スイッチ213Rの作動接点aはEXOR演算部212の出力に接続され、固定接点cが逆置換部214の入力に接続されている。
スイッチ213L、213Rの切り替え制御は、たとえば図示していないタイミング発生回路により行われる。
The switch (SW2) 213 includes an L register side switch 213L and an R register side switch 213R.
The operation contact a of the switch 213L is connected to the output of the R register 207, and the fixed contact c is connected to the input of the reverse replacement unit 214.
The operation contact a of the switch 213R is connected to the output of the EXOR operation unit 212, and the fixed contact c is connected to the input of the reverse replacement unit 214.
Switching control of the switches 213L and 213R is performed by a timing generation circuit (not shown), for example.

逆置換部214は、スイッチ213L,213Rを介して入力される16回のラウンド演算結果に対する逆置換変換(IP-1)を実行し、暗号文として出力する。 The reverse replacement unit 214 performs reverse replacement transformation (IP −1 ) on the 16 round operation results input via the switches 213L and 213R, and outputs the result as ciphertext.

通常のDES演算回路においては、L/R各32ビットのレジスタとF関数およびEXOR演算回路で構成されたラウンド演算器を1個配置し、これを16回動作させることにより16ラウンドのDES演算を実行する。
そして、本実施形態のDES演算回路200は、通常のDES演算回路の機能に加えて、以下の構成のDFA検出回路をさらに有する。
すなわち、L/Rレジスタ205,207の入力の前段にパリティ生成器203,204を配置し、L/Rレジスタ205,207に各々1ビットのパリティレジスタ206,208を付加し、Lレジスタ205およびそのパリティレジスタ206の値はパリティチェック回路209に入力されてパリティチェックが行われ、Rレジスタ207およびそのパリティレジスタ208の値はパリティチェック回路210に入力されてパリティチェックが行われる。
パリティチェック回路209,210でパリティエラーが検出された場合は、対応するリセット信号“RST―L”,“RST−R”を発生する。そして、DFA検出回路151からリセット信号がCPU110へ発行されている。
また、EEPROM等の不揮発性メモリ140に設けられた「領域1」141は0に設定されているものとする。
In a normal DES operation circuit, a round operation unit composed of a 32-bit L / R register, an F function, and an EXOR operation circuit is arranged, and 16 rounds of DES operation are performed by operating it 16 times. Execute.
The DES operation circuit 200 according to the present embodiment further includes a DFA detection circuit having the following configuration in addition to the function of the normal DES operation circuit.
That is, the parity generators 203 and 204 are arranged in front of the inputs of the L / R registers 205 and 207, and 1-bit parity registers 206 and 208 are added to the L / R registers 205 and 207, respectively. The value of the parity register 206 is input to the parity check circuit 209 for parity check, and the values of the R register 207 and its parity register 208 are input to the parity check circuit 210 for parity check.
When a parity error is detected by the parity check circuits 209 and 210, the corresponding reset signals “RST-L” and “RST-R” are generated. A reset signal is issued from the DFA detection circuit 151 to the CPU 110.
Further, it is assumed that “area 1” 141 provided in the nonvolatile memory 140 such as an EEPROM is set to 0.

次に、図7の動作を図9に関連付けて説明する。   Next, the operation of FIG. 7 will be described with reference to FIG.

CPU110は、電源投入後、不揮発性メモリ140の「領域1」141の値を読み、その値が0ならば通常動作を行う。
通常動作期間中の暗号演算時にDFA攻撃が検出された場合、暗号エンジン150から発行されたリセット信号を受けて、CPU110はたとえば2を「領域1」141に書込んでシステムにリセットを掛ける。
次に、電源投入されたとき、CPU110は不揮発性メモリ140の「領域1」141の値を読み、その値が0以外の値の場合、領域141の値を−1した値で書き換え後、正常動作を行わない。
たとえば、「領域1」141の値の書き換え後にシステムに対してリセットを掛けても良いし、「領域1」141の値の書き換え後も正常動作を行うが、CPU110から暗号演算命令が発行されたときに、自分自身に対してリセットを掛けるように制御しても良い。
After the power is turned on, the CPU 110 reads the value of “area 1” 141 of the nonvolatile memory 140, and performs normal operation if the value is zero.
When a DFA attack is detected during a cryptographic operation during the normal operation period, upon receiving a reset signal issued from the cryptographic engine 150, the CPU 110 writes, for example, 2 in “area 1” 141 to reset the system.
Next, when the power is turned on, the CPU 110 reads the value of the “area 1” 141 of the nonvolatile memory 140, and if the value is a value other than 0, the value is rewritten with a value obtained by decrementing the value of the area 141 by −1 and then normal No action is taken.
For example, the system may be reset after the value of “area 1” 141 is rewritten, or the normal operation is performed after the value of “area 1” 141 is rewritten, but a cryptographic operation instruction is issued from the CPU 110. Sometimes, it may be controlled to reset itself.

この制御により、DFA攻撃が検出されると、「領域1」141に2を書込んだ後、直ちにリセットが掛けられるが、その後の2回の電源投入では「領域1」の値をデクリメント後に暗号演算を行うことなくリセットが掛けられるため、3回の電源投入で1回のDFA攻撃しかできないことになり、DFA攻撃の効率は3分の1に落ちる。DFA検出後に「領域1」に書込む値を大きくすれば、DFA攻撃の効率はさらに落ちる。   With this control, when a DFA attack is detected, 2 is written in “Area 1” 141 and then reset immediately. However, after the power is turned on twice, the value of “Area 1” is decremented after being decremented. Since the reset can be performed without performing the calculation, only one DFA attack can be performed by turning on the power three times, and the efficiency of the DFA attack falls to one third. If the value written in “area 1” after the DFA detection is increased, the efficiency of the DFA attack is further reduced.

<第2実施形態>
図10は、本発明の第2の実施形態に係る暗号処理システムの構成例を示すブロック図である。
Second Embodiment
FIG. 10 is a block diagram illustrating a configuration example of the cryptographic processing system according to the second embodiment of the present invention.

本第2の実施形態の暗号処理システム100Aが第1の実施形態の暗号処理システム100と異なる点は、EEPROM等の不揮発性メモリ140Aに、「領域1」141に加えて、「領域2」142が設けられている点にある。   The cryptographic processing system 100A according to the second embodiment is different from the cryptographic processing system 100 according to the first embodiment in that, in addition to the “area 1” 141, the “area 2” 142 is added to the nonvolatile memory 140A such as an EEPROM. Is in the point provided.

本第2の実施形態においても、第1領域141,第2領域142の初期値は共に0に設定されているものとする。
また、暗号エンジン140のDES演算回路は図8の回路と同様の構成を有し、パリティチェック回路系で構成されているDFA検出回路151が搭載されているものとする。
Also in the second embodiment, the initial values of the first area 141 and the second area 142 are both set to 0.
Further, it is assumed that the DES arithmetic circuit of the cryptographic engine 140 has the same configuration as the circuit of FIG. 8 and is equipped with a DFA detection circuit 151 configured with a parity check circuit system.

次に、図10の動作を図11に関連付けて説明する。   Next, the operation of FIG. 10 will be described with reference to FIG.

CPU110は、電源投入後、不揮発性メモリ140Aの「領域1」141の値を読み、その値が0ならば正常動作を行う。
この正常動作期間中の暗号演算時に「DFA検出回路」によってDFA攻撃が検出された場合、暗号エンジン150からリセット信号が発行され、これによりCPU110は「領域2」142の値を読み、その値が0ならばたとえば2(第1の値)を、0以外の値ならばたとえばその値を2倍した値(第2の値)を「領域2」142と「領域1」141に書き込んでシステムにリセットを掛ける。
次に、電源投入された時、CPU110は不揮発性メモリ140Aの「領域1」141の値を読み、その値が0以外の値の場合、領域141の値を−1した値に書き換え後、正常動作を行わない。
「領域1」141の値の書き換え後にシステムに対してリセットを掛けても良いし、「領域1」141の値の書き換え後も正常動作を行うが、暗号演算命令が発行された時にリセットを掛ける様に制御しても良い。
After the power is turned on, the CPU 110 reads the value of “area 1” 141 in the nonvolatile memory 140A, and performs normal operation if the value is zero.
If a “DFA attack” is detected by the “DFA detection circuit” during the cryptographic operation during the normal operation period, a reset signal is issued from the cryptographic engine 150, whereby the CPU 110 reads the value of “region 2” 142, and the value is If it is 0, for example, 2 (first value) is written into “area 2” 142 and “area 1” 141 by writing a value (second value) obtained by doubling the value, for example, to a system other than 0. Apply a reset.
Next, when the power is turned on, the CPU 110 reads the value of the “area 1” 141 of the nonvolatile memory 140A, and if the value is a value other than 0, the value of the area 141 is rewritten to a value minus −1, and then normal No action is taken.
The system may be reset after the value of “area 1” 141 is rewritten, or the normal operation is performed after the value of “area 1” 141 is rewritten, but is reset when a cryptographic operation instruction is issued. It may be controlled in the same way.

これにより、最初のDFA攻撃が検出された場合、これを含めて3回リセットを掛けないと暗号演算が実行できない。
3回のリセット後の暗号演算実行中にDFA攻撃が検出されると、CPU110は「領域2」142の値を読み、その値が“2”であるため、「領域1」141と「領域2」142に2倍の“4”を書き込んで、暗号演算は実行できない状況に移行する。
リセット後に電源を再投入する操作を5回繰り返すと、「領域1」141の値は“0”となって暗号演算が実行可能となる。
Thereby, when the first DFA attack is detected, the cryptographic operation cannot be executed unless the reset is performed three times including this.
If a DFA attack is detected during the execution of cryptographic operations after three resets, the CPU 110 reads the value of “area 2” 142 and the value is “2”, so that “area 1” 141 and “area 2” “2” is written in “142” to “142”, and the state shifts to a state where the cryptographic operation cannot be executed.
If the operation of turning on the power again after the reset is repeated five times, the value of “area 1” 141 becomes “0” and the cryptographic calculation can be executed.

ここで再びDFA攻撃を仕掛けてDFA検出回路151に検出されると、「領域1」141と「領域2」142に2倍の“8”を書き込んで、暗号演算は実行できない状況に移行する。
今度は、リセット後に電源を再投入する操作を9回繰り返さないと、通常の暗号演算が実行できなくなる。
以後、直前のリセット回数の2倍―1回のリセットと電源の再投入を繰り返さないとDFA攻撃が掛けられなくなる。
Here, when the DFA attack is performed again and detected by the DFA detection circuit 151, double “8” is written in “area 1” 141 and “area 2” 142, and the state shifts to a state where the cryptographic operation cannot be executed.
This time, unless the operation of turning on the power again after resetting is repeated nine times, the normal cryptographic operation cannot be executed.
Thereafter, the DFA attack cannot be applied unless the reset is repeated twice and the power is turned on twice.

図11の例では、「領域2」142へ書込む値を2→4→8→・・・と初期値“2”、倍数“2”で行っているが、たとえば「領域2」142へ書込む値を4→16→64→・・・と初期値“4”、倍数“4”で行うとDFA攻撃のできる割合は格段に減少し、DFA攻撃で成功する確率も格段に低くなる。   In the example of FIG. 11, the value to be written in “area 2” 142 is 2 → 4 → 8 →..., Initial value “2” and multiple “2”. If the value to be included is 4 → 16 → 64 →..., The initial value is “4” and the multiple is “4”, the proportion of DFA attacks can be greatly reduced, and the probability of success in DFA attacks will be significantly reduced.

この制御により、DFA攻撃が検出される度に正常動作に戻るまでにリセットする回数がベキ乗で増加し、DFA攻撃がほとんど行えなくなり、DFA攻撃による鍵の取出しが非常に困難になる。   By this control, the number of times of resetting before returning to normal operation every time a DFA attack is detected increases by a power, and the DFA attack can hardly be performed, and the key extraction by the DFA attack becomes very difficult.

以上説明したように、本実施形態によれば、DFA攻撃が検出される度に、システムリセット後にDFA攻撃できない状況が発生し、DFA攻撃で鍵を取出される危険性が減少するという利点がある。   As described above, according to the present embodiment, every time a DFA attack is detected, there is an advantage that a situation in which the DFA attack cannot be performed after a system reset occurs, and the risk of a key being taken out by the DFA attack is reduced. .

以上、特定の実施形態を参照しながら、本発明について詳述してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施形態の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。   The present invention has been described in detail above with reference to specific embodiments. However, it is obvious that those skilled in the art can make modifications and substitutions of the embodiments without departing from the gist of the present invention. In other words, the present invention has been disclosed in the form of exemplification, and should not be interpreted in a limited manner.

なお、本明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。   Note that the various types of processing described in this specification are not only executed in time series according to the description, but may also be executed in parallel or individually as required by the processing capability of the device that executes the processing. . Further, in this specification, the system is a logical set configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same casing.

DES演算回路の一般的な構成を示す図である。It is a figure which shows the general structure of a DES arithmetic circuit. F関数部の構成例を示す図である。It is a figure which shows the structural example of F function part. DESの演算フローを示す図である。It is a figure which shows the calculation flow of DES. 図2のF関数部の演算例を示す図である。It is a figure which shows the example of a calculation of the F function part of FIG. ラウンド16の場合のDFA攻撃の例を示す図である。It is a figure which shows the example of the DFA attack in the case of round 16. DFA攻撃を受けたときのF関数の演算例を示す図である。It is a figure which shows the example of a calculation of F function when receiving a DFA attack. 本発明の第1の実施形態に係る暗号処理システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the encryption processing system which concerns on the 1st Embodiment of this invention. 本実施形態に係るDES演算回路の構成例を示す図である。It is a figure which shows the structural example of the DES arithmetic circuit which concerns on this embodiment. 第1の実施形態の動作を説明するための図である。It is a figure for demonstrating the operation | movement of 1st Embodiment. 本発明の第2の実施形態に係る暗号処理システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the encryption processing system which concerns on the 2nd Embodiment of this invention. 第2の実施形態の動作を説明するための図である。It is a figure for demonstrating operation | movement of 2nd Embodiment.

符号の説明Explanation of symbols

100,100A・・・暗号処理システム、110・・・CPU、120・・・ROM、130・・・RAM、140,140A・・・不揮発性メモリ、141・・・領域1、142・・・領域2、150・・・暗号エンジン、151・・・DFA検出回路、200・・・DES演算回路、201・・・初期置換部[IP(Initial Permutation)]、202・・・スイッチ(SW1)、203・・・左側パリティ生成器、204・・・右側パリティ生成器、205・・・左側レジスタ(Lレジスタ)、206・・・左側パリティレジスタ(PLレジスタ)、207・・・右側レジスタ(Rレジスタ)、208・・・右側パリティレジスタ(PRレジスタ)、209・・・左側パリティチェック回路、210・・・右側パリティチェック回路、211・・・F関数部、212・・・EXOR演算部、213・・・スイッチ(SW2)、214・・・逆置換部(IP-1)。


100, 100A ... cryptographic processing system, 110 ... CPU, 120 ... ROM, 130 ... RAM, 140, 140A ... non-volatile memory, 141 ... area 1, 142 ... area 2, 150 ... Cryptographic engine, 151 ... DFA detection circuit, 200 ... DES operation circuit, 201 ... Initial substitution unit [IP (Initial Permutation)], 202 ... Switch (SW1), 203 ... Left parity generator, 204 ... Right parity generator, 205 ... Left register (L register), 206 ... Left parity register (PL register), 207 ... Right register (R register) 208 right side parity register (PR register) 209 left side parity check circuit 210 right side parity check circuit 211 ... F function part, 212 ... EXOR operation part, 213 ... Switch (SW2), 214 ... Reverse replacement part (IP -1 ).


Claims (11)

暗号演算を行う暗号エンジンと、
状態を示す値を書き換え可能な領域を少なくとも一つ含むメモリと、
暗号処理の制御を行い、上記メモリの上記領域へのアクセスが可能な制御部と、を有し、
上記暗号エンジンは、
DFA(Differential Fault Analysis)攻撃が行われたことを検出可能なDFA検出部を有し、上記DFA検出部でDFA攻撃が検出されると、検出したことを示す信号を上記制御部に出力し、
上記制御部は、
起動後に、上記メモリの領域の値を読み、当該値があらかじめ設定された初期の許容値の場合には通常の暗号処理動作を行い、上記許容値と異なる値の場合には当該異なる値を上記許容値に近い値に書き換え、通常動作での暗号演算中に、DFA攻撃の検出信号を受けると、上記メモリの領域に上記許容値と異なる値を書き込む
暗号処理システム。
A cryptographic engine that performs cryptographic operations;
A memory including at least one area in which a value indicating a state can be rewritten;
A control unit that controls cryptographic processing and is capable of accessing the area of the memory,
The cryptographic engine is
A DFA detection unit capable of detecting that a DFA (Differential Fault Analysis) attack has been performed, and when a DFA attack is detected by the DFA detection unit, a signal indicating the detection is output to the control unit;
The control unit
After startup, the value in the memory area is read, and if the value is an initial allowable value set in advance, a normal cryptographic processing operation is performed. If the value is different from the allowable value, the different value is A cryptographic processing system that rewrites a value close to an allowable value and writes a value different from the allowable value in the memory area when receiving a DFA attack detection signal during a cryptographic operation in normal operation.
上記制御部は、上記検出信号に応答して上記メモリの領域に上記許容値と異なる値を書き込んだ後、システムをリセットする
請求項1記載の暗号処理システム。
The cryptographic processing system according to claim 1, wherein the control unit resets the system after writing a value different from the allowable value in the memory area in response to the detection signal.
上記制御部は、上記許容値と異なる値を上記許容値に近い値に書き換えた場合、上記暗号エンジンが暗号演算を行わないように制御する
請求項1記載の暗号処理システム。
The cryptographic processing system according to claim 1, wherein the control unit controls the cryptographic engine not to perform cryptographic computation when a value different from the allowable value is rewritten to a value close to the allowable value.
上記メモリは第1領域および第2領域を含み、
上記制御部は、
起動後に、上記メモリの第1領域の値を読み、当該第1領域の値があらかじめ設定された初期の許容値の場合には通常の暗号処理動作を行い、通常動作での暗号演算中に、DFA攻撃の検出信号を受けると、上記メモリの第2領域の値を読み、当該第2領域の値が上記許容値の場合には、当該許容値と異なる第1の値を上記第1領域および上記第2領域に書き込み、当該許容値と異なる値の場合には第1の値より当該許容値から離れる第2の値を上記第1領域および上記第2領域に書き込む
請求項2記載の暗号処理システム。
The memory includes a first area and a second area,
The control unit
After startup, the value of the first area of the memory is read, and if the value of the first area is an initial allowable value set in advance, the normal cryptographic processing operation is performed, and during the cryptographic operation in the normal operation, When receiving the detection signal of the DFA attack, the value of the second area of the memory is read. When the value of the second area is the allowable value, the first value different from the allowable value is set to the first area and The cryptographic processing according to claim 2, wherein the second value is written in the second region, and if the value is different from the allowable value, a second value that is farther from the allowable value than the first value is written in the first region and the second region. system.
上記DFA検出部は、パリティチェックによるエラー検出を行い、パリティエラーを検出すると、検出信号を上記制御部に出力する
請求項1記載の暗号処理システム。
The cryptographic processing system according to claim 1, wherein the DFA detection unit performs error detection by a parity check and outputs a detection signal to the control unit when a parity error is detected.
上記暗号エンジンは、ラウンド関数の繰り返し処理を含む暗号処理演算を実行する暗号処理装置であって、
ラウンド演算用データを格納する演算レジスタと、
パリティデータを格納するパリティレジスタと、
上記演算レジスタに入力されるラウンド演算用データによりパリティデータを生成し、ラウンド演算用データを上記演算レジスタに出力し、パリティデータを上記パリティレジスタに出力するパリティ生成器と、
上記演算レジスタと上記パリティレジスタの格納データに基づいてパリティチェックを行い、パリティエラーを検出すると上記検出信号を上記制御部に出力するパリティチェック回路と、を含む
請求項5記載の暗号処理システム。
The cryptographic engine is a cryptographic processing device that performs cryptographic processing calculation including round function iteration processing,
A calculation register for storing round calculation data;
A parity register for storing parity data;
A parity generator that generates parity data from round operation data input to the operation register, outputs round operation data to the operation register, and outputs parity data to the parity register;
The cryptographic processing system according to claim 5, further comprising: a parity check circuit that performs a parity check based on data stored in the arithmetic register and the parity register and outputs the detection signal to the control unit when a parity error is detected.
上記暗号エンジンは、ラウンド関数の繰り返し処理を含む暗号処理演算を実行する暗号処理装置であって、
ラウンド演算用第1データを格納する第1演算レジスタと、
第1パリティデータを格納する第1パリティレジスタと、
ラウンド演算用第2データを格納する第2演算レジスタと、
第2パリティデータを格納する第2パリティレジスタと、
上記第1演算レジスタに入力される第1データにより上記第1パリティデータを生成し、上記第1データを上記第1演算レジスタに出力し、上記第1パリティデータを上記第1パリティレジスタに出力する第1パリティ生成器と、
上記第2演算レジスタに入力される第2データにより上記第2パリティデータを生成し、上記第2データを上記第2演算レジスタに出力し、上記第2パリティデータを上記第2パリティレジスタに出力する第2パリティ生成器と、
上記第1演算レジスタと上記第1パリティレジスタの格納データに基づいてパリティチェックを行い、パリティエラーを検出すると上記検出信号を上記制御部に出力する第1パリティチェック回路と、
上記第2演算レジスタと上記第2パリティレジスタの格納データに基づいてパリティチェックを行い、パリティエラーを検出すると上記検出信号を上記制御部に出力する第2パリティチェック回路と、
上記第1演算レジスタに格納された第1データと上記第2演算レジスタに格納された第2データに応じたラウンド演算を行うラウンド演算部と、を含む
請求項5記載の暗号処理システム。
The cryptographic engine is a cryptographic processing device that performs cryptographic processing calculation including round function iteration processing,
A first operation register for storing first data for round operation;
A first parity register for storing first parity data;
A second operation register for storing second data for round operation;
A second parity register for storing second parity data;
The first parity data is generated from the first data input to the first arithmetic register, the first data is output to the first arithmetic register, and the first parity data is output to the first parity register. A first parity generator;
The second parity data is generated from the second data input to the second arithmetic register, the second data is output to the second arithmetic register, and the second parity data is output to the second parity register. A second parity generator;
A first parity check circuit that performs a parity check based on data stored in the first arithmetic register and the first parity register, and outputs the detection signal to the control unit when a parity error is detected;
A second parity check circuit that performs a parity check based on data stored in the second operation register and the second parity register and outputs the detection signal to the control unit when a parity error is detected;
The cryptographic processing system according to claim 5, further comprising: a round operation unit that performs a round operation according to the first data stored in the first operation register and the second data stored in the second operation register.
ラウンド関数の繰り返し処理を含む暗号処理演算を実行する暗号処理装置であって、
ラウンド演算用データを格納する演算レジスタと、
パリティデータを格納するパリティレジスタと、
上記演算レジスタに入力されるラウンド演算用データによりパリティデータを生成し、ラウンド演算用データを上記演算レジスタに出力し、パリティデータを上記パリティレジスタに出力するパリティ生成器と、
上記演算レジスタと上記パリティレジスタの格納データに基づいてパリティチェックを行い、パリティエラーを検出すると上記検出信号を上記制御部に出力するパリティチェック回路と、
を有する暗号処理装置。
A cryptographic processing device that executes cryptographic processing calculation including round function iteration processing,
A calculation register for storing round calculation data;
A parity register for storing parity data;
A parity generator that generates parity data from round operation data input to the operation register, outputs round operation data to the operation register, and outputs parity data to the parity register;
A parity check circuit that performs a parity check based on data stored in the arithmetic register and the parity register, and outputs a detection signal to the control unit when a parity error is detected;
A cryptographic processing apparatus.
ラウンド関数の繰り返し処理を含む暗号処理演算を実行する暗号処理装置であって、
ラウンド演算用第1データを格納する第1演算レジスタと、
第1パリティデータを格納する第1パリティレジスタと、
ラウンド演算用第2データを格納する第2演算レジスタと、
第2パリティデータを格納する第2パリティレジスタと、
上記第1演算レジスタに入力される第1データにより上記第1パリティデータを生成し、上記第1データを上記第1演算レジスタに出力し、上記第1パリティデータを上記第1パリティレジスタに出力する第1パリティ生成器と、
上記第2演算レジスタに入力される第2データにより上記第2パリティデータを生成し、上記第2データを上記第2演算レジスタに出力し、上記第2パリティデータを上記第2パリティレジスタに出力する第2パリティ生成器と、
上記第1演算レジスタと上記第1パリティレジスタの格納データに基づいてパリティチェックを行い、パリティエラーを検出すると上記検出信号を上記制御部に出力する第1パリティチェック回路と、
上記第2演算レジスタと上記第2パリティレジスタの格納データに基づいてパリティチェックを行い、パリティエラーを検出すると上記検出信号を上記制御部に出力する第2パリティチェック回路と、
上記第1演算レジスタに格納された第1データと上記第2演算レジスタに格納された第2データに応じたラウンド演算を行うラウンド演算部と、
を有する暗号処理装置。
A cryptographic processing device that executes cryptographic processing calculation including round function iteration processing,
A first operation register for storing first data for round operation;
A first parity register for storing first parity data;
A second operation register for storing second data for round operation;
A second parity register for storing second parity data;
The first parity data is generated from the first data input to the first arithmetic register, the first data is output to the first arithmetic register, and the first parity data is output to the first parity register. A first parity generator;
The second parity data is generated from the second data input to the second arithmetic register, the second data is output to the second arithmetic register, and the second parity data is output to the second parity register. A second parity generator;
A first parity check circuit that performs a parity check based on data stored in the first arithmetic register and the first parity register, and outputs the detection signal to the control unit when a parity error is detected;
A second parity check circuit that performs a parity check based on data stored in the second operation register and the second parity register and outputs the detection signal to the control unit when a parity error is detected;
A round operation unit for performing a round operation according to the first data stored in the first operation register and the second data stored in the second operation register;
A cryptographic processing apparatus.
前記ラウンド演算部は、非線形変換部としてのSボックスを有し、
前記第1演算レジスタおよび第2演算レジスタは、前記Sボックスによる非線形変換処理を含むラウンド演算処理の結果データを格納する
請求項9記載の暗号処理装置。
The round calculation unit has an S box as a nonlinear conversion unit,
The cryptographic processing device according to claim 9, wherein the first operation register and the second operation register store result data of a round operation process including a non-linear conversion process by the S box.
前記暗号処理装置は、
DES(Data Encryption Standard)アルゴリズムに従った暗号処理演算を実行する
請求項8から10のいずれか一に記載の暗号処理装置。


The cryptographic processing device includes:
The cryptographic processing apparatus according to any one of claims 8 to 10, wherein cryptographic processing calculation is performed according to a DES (Data Encryption Standard) algorithm.


JP2006156413A 2006-06-05 2006-06-05 Encryption processing system and encryption processing apparatus Pending JP2007325219A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006156413A JP2007325219A (en) 2006-06-05 2006-06-05 Encryption processing system and encryption processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006156413A JP2007325219A (en) 2006-06-05 2006-06-05 Encryption processing system and encryption processing apparatus

Publications (1)

Publication Number Publication Date
JP2007325219A true JP2007325219A (en) 2007-12-13

Family

ID=38857588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006156413A Pending JP2007325219A (en) 2006-06-05 2006-06-05 Encryption processing system and encryption processing apparatus

Country Status (1)

Country Link
JP (1) JP2007325219A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009303032A (en) * 2008-06-16 2009-12-24 Nippon Telegr & Teleph Corp <Ntt> Encryption operation unit, and method and program of encryption operation
JP2010068523A (en) * 2008-09-11 2010-03-25 Oberthur Technologies Method and device for protecting microcircuit against attacks
JP2015534419A (en) * 2012-11-12 2015-11-26 クリプトグラフィ リサーチ, インコーポレイテッド Method and system for anti-glitch cryptographic discrete log-based signature

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005008955A1 (en) * 2003-07-22 2005-01-27 Fujitsu Limited Tamper-resistant encryption using individual key
JP2007174024A (en) * 2005-12-20 2007-07-05 Sony Corp Encryption processing apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005008955A1 (en) * 2003-07-22 2005-01-27 Fujitsu Limited Tamper-resistant encryption using individual key
JP2007174024A (en) * 2005-12-20 2007-07-05 Sony Corp Encryption processing apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009303032A (en) * 2008-06-16 2009-12-24 Nippon Telegr & Teleph Corp <Ntt> Encryption operation unit, and method and program of encryption operation
JP2010068523A (en) * 2008-09-11 2010-03-25 Oberthur Technologies Method and device for protecting microcircuit against attacks
JP2015534419A (en) * 2012-11-12 2015-11-26 クリプトグラフィ リサーチ, インコーポレイテッド Method and system for anti-glitch cryptographic discrete log-based signature

Similar Documents

Publication Publication Date Title
TWI434565B (en) Key protection mechanism
US9571289B2 (en) Methods and systems for glitch-resistant cryptographic signing
JP2011103686A (en) Method for making secure electronic entity with encrypted access
JPH10154976A (en) Tamper-free system
JP2008252299A (en) Encryption processing system and encryption processing method
JP5693927B2 (en) Failure detection attack detection method and detection apparatus
JP2007195132A (en) Encryption processing apparatus
WO2015193789A1 (en) Differential power analysis countermeasures
US20110047200A1 (en) A method and a system for validating a succession of events experienced by a device
RU2579990C2 (en) Protection from passive sniffing
JP2011072040A (en) Method for protecting electronic circuit against fault-based attacks
Tunstall Smart card security
WO2020078804A1 (en) Puf based securing of device update
JP5261088B2 (en) Unauthorized operation detection circuit, device provided with unauthorized operation detection circuit, and unauthorized operation detection method
US8311212B2 (en) Method of processing data protected against attacks by generating errors and associated device
US8612761B2 (en) Method of executing a cryptographic protocol between two electronic entities
JP4386766B2 (en) Error detection in data processing equipment.
JP2007325219A (en) Encryption processing system and encryption processing apparatus
JP2007174024A (en) Encryption processing apparatus
JP2005045760A (en) Cipher processing method and device thereof
JP2006025366A (en) Encryption apparatus and semiconductor integrated circuit
JP2006054568A (en) Encryption apparatus, decryption apparatus and method, and computer program
JP2007251390A (en) Semiconductor integrated circuit
JP2007323019A (en) Encryption processing apparatus
US11061996B2 (en) Intrinsic authentication of program code

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110621

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111018