JP2007325219A - Encryption processing system and encryption processing apparatus - Google Patents
Encryption processing system and encryption processing apparatus Download PDFInfo
- 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
Links
Images
Abstract
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
スイッチ(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
The operating contact a of the
The operation contact a of the
Further, the fixed contact c of the
図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
When the DES operation is started, the plaintext is IP-replaced by the
このデータ取り込みによって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レジスタ13およびRレジスタ14へ取り込まれ、その出力が更新されることにより次のラウンドの演算が開始される。
この動作を16クロックサイクル繰り返した後、スイッチ17を通して演算結果を逆置換部(IP-1)18へ出力して逆置換変換を実行し、暗号文として出力する。
Furthermore, the next round operation is started by taking in the
After repeating this operation for 16 clock cycles, the operation result is output to the reverse replacement unit (IP −1 ) 18 through the
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
The
しかし、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
通常演算では、16ラウンド終了後のLレジスタ13およびRレジスタ14の値は、図3並びに次の(1)式、(2)式に示すようになり、その後に逆置換(IP−1)変換を行って出力される。
In normal operation, the values of the
(2)式に(1)式を代入すると、下記のようになる。 Substituting equation (1) into equation (2) results in the following.
この式で、“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
(5)式に(4)式を代入すると、下記のようになる。 Substituting equation (4) into equation (5) gives the following.
この式で、“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
一方、(3)式と(6)式を各々EXOR演算することにより、次のようになる。 On the other hand, by performing an EXOR operation on the equations (3) and (6), the following results.
さらに、(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.
この式で、“R16”,“R16’”,“L16”,“L16’”は、暗号の演算結果から容易に求めることができる値であり、F関数も公開されていて既知の関数であるため、未知の数値は“K16”のみである。この例の場合、(7)式よりR15レジスタのビット2が変化したことが判明しているため、(8)式の値((3)式と(6)式の差異)は8個のS-box のうち、“S1”の出力の差異に起因している。
したがって、ラウンド16の鍵のうち、“S1”の入力となる 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
Therefore, among the keys of
“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
そして、(9)式は以下の通りになる。 And (9) Formula is as follows.
この式で、“R16” ”,“L16” ”は、(7)式・(9)式の“ “R16’”,“L16’”とは異なる値である。
ラウンド16の鍵のうち、“S1”の入力となる6ビットを“00(16)”〜“3f(16)”まで変化させて(11)式を満たす値を求めると、
“34(16)”,“36(16)”,“3d(16)”,“3f(16)”
が求まり、(9)式から導かれた6ビット鍵の候補と比較して、共通するのは“36(16)”のみであり、“S1”の入力に対応するラウンド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
“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
同様にして、“S2”〜“S8”の入力に対応するラウンド16の6ビット鍵の値を求めることが可能で、これらのDFA攻撃により、56ビットの鍵のうち、48ビットは求めることができ、残り8ビットは28=256回の全数攻撃で容易に求めることができる。
Similarly, it is possible to obtain the value of the 6-bit key of
この攻撃に対する対抗する技術が特許文献1に提案されている。
この特許文献1に開示された技術では、
1)平文の暗号化演算を実行後に、演算結果を再び復号化演算し、演算結果が平文と一致した場合に暗号演算結果を正しい演算結果として出力する。一致しない場合、CPUに対してエラーの発生を知らせ、暗号演算処理を終了する、
2)平文を複数の暗号演算回路で演算し、結果が一致した場合のみ演算結果を正しい演算結果として出力する。一致しない場合、CPUに対してエラーの発生を知らせ、暗号演算処理を終了する、
という処理を行って、DFA攻撃に対処している。
A technique for countering this attack is proposed in
In the technique disclosed in
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回路からエラーが発行された場合、システムをリセットしてもう一度最初からの動作を要求することにより不正な攻撃に対して対抗する。
しかし、上記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
The
本暗号処理システム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
本暗号処理システム100は、DFA対策の施されている暗号モジュールを含むシステムにおいて、暗号演算実行中にDFA攻撃が検知された場合、CPU110に対してリセット信号が発行され、CPU110では不揮発性メモリ上のある値を増加させた後にシステムをリセットするフローを投入する。
CPU110は、通常使用時には、電源投入時に不揮発性メモリ140上のある値をチェックし、あらかじめ設定した許容値“0”でなければその値を許容値に近づくように−1した値を書き込み、電源オフされるまでの期間、暗号演算は実行しない制御を行う。これにより、DFA攻撃を困難にする。
In the
During normal use, the
また、CPU110は、暗号処理の開始や、終了、データの送受信の制御、各構成部間のデータ転送制御、さらに上述した各スイッチの切り替え制御、その他の各種プログラムを実行するプロセッサとしての機能を有している。
In addition, the
ROM120は、CPU110が実行するプログラム、あるいは演算パラメータとしての固定データを格納する。
The
RAM130は、CPU110の処理において実行されるプログラム、およびプログラム処理において適宜変化するパラメータの格納エリア、ワーク領域として使用される。
The
不揮発性メモリ140は、たとえばEEPROMにより形成され、所定の状態チェック値を格納する数バイトの領域(領域1)141を有する。領域141は製品出荷時にその初期値は許容値0に設定される。
不揮発性メモリ140の領域141は、起動後にCPU110によりその値が読み出され、その値が0ならば通常動作が行われる。領域141の値が0より大きい値であれば、CPU110によりその値が−1された値が書き戻されて通常動作は行われない。
The
The value of the
なお、RAM130や不揮発性メモリ140は、暗号処理に必要な鍵データ等の格納領域として使用可能である。
The
暗号エンジン150は、たとえばDESアルゴリズムなど複数段のラウンド関数の繰り返し処理を含む暗号アルゴリズムを実行する暗号処理装置であり、図8のDES演算回路200が適用される。
暗号エンジン150は、たとえばパリティチェック回路系で構成されるDFA検出回路151を有しており、このDFA検出回路151でパリティエラーを検出すると、リセット信号RST(−L、−R)を生成しCPU110に転送する。
The
The
図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
スイッチ(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
The operation contact a of the
The operation contact a of the
Switching control of the
パリティ生成器204は、スイッチ202Rを介して入力するデータに基づいてたとえば1ビットのパリティを生成し、データをRレジスタ207に供給し、生成したパリティビットをPRレジスタ208に供給する。
The
パリティ生成器204は、スイッチ202Rを介して入力するデータに基づいてたとえば1ビットのパリティを生成し、データをRレジスタ207に供給し、生成したパリティビットをPRレジスタ208に供給する。
The
Lレジスタ(第1演算レジスタ)205は、たとえばデータの取り込み信号としてのラッチパルスに同期してパリティ生成器203から供給されたデータをラッチ(格納)する。Lレジスタ205のラッチデータはパリティチェック回路209およびEXOR演算部212の一方の入力に供給される。
The L register (first operation register) 205 latches (stores) the data supplied from the
PLレジスタ(第1パリティレジスタ)206は、たとえばラッチパルスに同期してパリティ生成器203から供給されたパリティデータをラッチ(格納)する。PLレジスタ206のラッチパリティデータはパリティチェック回路209に供給される。
The PL register (first parity register) 206 latches (stores) the parity data supplied from the
Rレジスタ(第2演算レジスタ)207は、たとえばデータの取り込み信号としてのラッチパルスに同期してパリティ生成器204から供給されたデータをラッチ(格納)する。Rレジスタ207のラッチデータはパリティチェック回路210、F関数部211の入力、およびスイッチ213に供給される。
The R register (second arithmetic register) 207 latches (stores) data supplied from the
PRレジスタ(第2パリティレジスタ)208は、たとえばラッチパルスに同期してパリティ生成器204から供給されたパリティデータをラッチ(格納)する。PRレジスタ208のラッチパリティデータはパリティチェック回路210に供給される。
The PR register (second parity register) 208 latches (stores) the parity data supplied from the
第1パリティチェック回路209は、Lレジスタ205のラッチデータとPLレジスタ206のラッチパリティデータを受けてパリティチェックを行い、エラーを検出すると検出信号としてのリセット信号RST−Lを生成し、CPU110に転送する。
The first
第2パリティチェック回路210は、Rレジスタ207のラッチデータとPRレジスタ208のラッチパリティデータを受けてパリティチェックを行い、エラーを検出すると検出信号としてのリセット信号RST−Rを生成し、CPU110に転送する。
The second
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
The
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
スイッチ(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
The operation contact a of the
The operation contact a of the
Switching control of the
逆置換部214は、スイッチ213L,213Rを介して入力される16回のラウンド演算結果に対する逆置換変換(IP-1)を実行し、暗号文として出力する。
The
通常の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
That is, the
When a parity error is detected by the
Further, it is assumed that “
次に、図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
When a DFA attack is detected during a cryptographic operation during the normal operation period, upon receiving a reset signal issued from the
Next, when the power is turned on, the
For example, the system may be reset after the value of “
この制御により、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 “
<第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
本第2の実施形態においても、第1領域141,第2領域142の初期値は共に0に設定されているものとする。
また、暗号エンジン140のDES演算回路は図8の回路と同様の構成を有し、パリティチェック回路系で構成されているDFA検出回路151が搭載されているものとする。
Also in the second embodiment, the initial values of the
Further, it is assumed that the DES arithmetic circuit of the
次に、図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
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
Next, when the power is turned on, the
The system may be reset after the value of “
これにより、最初の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
If the operation of turning on the power again after the reset is repeated five times, the value of “
ここで再び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
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 “
この制御により、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.
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 ...
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領域の値を読み、当該第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.
請求項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.
前記第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.
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)
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)
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 |
-
2006
- 2006-06-05 JP JP2006156413A patent/JP2007325219A/en active Pending
Patent Citations (2)
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)
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 |