JP2017028506A - Memory device, host device, and memory system - Google Patents
Memory device, host device, and memory system Download PDFInfo
- Publication number
- JP2017028506A JP2017028506A JP2015145324A JP2015145324A JP2017028506A JP 2017028506 A JP2017028506 A JP 2017028506A JP 2015145324 A JP2015145324 A JP 2015145324A JP 2015145324 A JP2015145324 A JP 2015145324A JP 2017028506 A JP2017028506 A JP 2017028506A
- Authority
- JP
- Japan
- Prior art keywords
- cryptographic module
- dummy
- cryptographic
- circuit
- generation circuit
- 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.)
- Granted
Links
- 238000001514 detection method Methods 0.000 claims description 12
- 238000000034 method Methods 0.000 description 21
- 230000004048 modification Effects 0.000 description 13
- 238000012986 modification Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Abstract
Description
本発明は、メモリ装置、ホスト装置、及びそれらを備えるメモリシステムに関する。 The present invention relates to a memory device, a host device, and a memory system including them.
ホスト装置とそれに接続されるメモリ装置とを備えるメモリシステムにおいて、両装置間で送受信されるコマンドやデータを暗号化することによってセキュリティ性を向上させたメモリシステムが実用化されている。 2. Description of the Related Art In a memory system including a host device and a memory device connected to the host device, a memory system in which security is improved by encrypting commands and data transmitted / received between both devices has been put into practical use.
現在使用されている暗号方式は、暗号学的な解析手法に対して計算量的に安全であるとされている。しかし、実際にメモリシステムに暗号モジュールを実装する場合には、消費電力や処理時間のような、実装に依存したリークが発生する。そのような動作状況を様々な物理的手段で観察することにより、秘密鍵等の秘密情報を不正に取得しようとするサイドチャネル攻撃の脅威が増している。 Currently used cryptography is computationally safe for cryptographic analysis techniques. However, when the cryptographic module is actually mounted on the memory system, leaks depending on the mounting, such as power consumption and processing time, occur. By observing such an operating state with various physical means, the threat of side channel attacks that attempt to illegally acquire secret information such as a secret key has increased.
サイドチャネル攻撃の一つとして、装置の消費電力を測定することによって秘密情報を解析する電力解析攻撃がある。その中でも、測定した複数の消費電力波形に対して統計処理による解析を行う差分電力解析(DPA:Differential Power Analysis)が、特に強力な攻撃法として報告されている(下記非特許文献1参照)。
As one of the side channel attacks, there is a power analysis attack that analyzes secret information by measuring the power consumption of the apparatus. Among them, differential power analysis (DPA: Differential Power Analysis) for performing analysis by statistical processing on a plurality of measured power consumption waveforms has been reported as a particularly powerful attack method (see Non-Patent
そのため近年では、DPA攻撃に対する種々の対策回路が提案されており、例えば下記非特許文献2には、RSL(Random Switching Logic)回路及びWDDL(Wave Dynamic Differential Logic)回路が提案されている。RSL回路は、乱数を用いて論理回路の動作モードを切り替えることによって状態遷移確率の偏りをなくし、それによって暗号鍵に依存しないよう消費電力をランダム化する。WDDL回路は、プリチャージ動作を行った後、演算時のビット値の違いに起因する消費電流の相違を相補回路によって低減することにより、消費電力を均一化する。 Therefore, in recent years, various countermeasure circuits against DPA attacks have been proposed. For example, the following Non-Patent Document 2 proposes an RSL (Random Switching Logic) circuit and a WDDL (Wave Dynamic Differential Logic) circuit. The RSL circuit eliminates the bias of the state transition probability by switching the operation mode of the logic circuit using a random number, and thereby randomizes the power consumption so as not to depend on the encryption key. After performing the precharge operation, the WDDL circuit equalizes the power consumption by reducing the difference in current consumption due to the difference in bit value at the time of calculation by the complementary circuit.
しかし、ホスト装置とメモリ装置とを備えるメモリシステムにおいて、上述したRSL回路又はWDDL回路を装置に実装する場合には、これらの回路を実装しない装置と比較して、演算時間、回路規模、及び消費電力が2〜3倍以上に増大するため、コストが増大する。 However, in a memory system including a host device and a memory device, when the RSL circuit or the WDDL circuit described above is mounted on the device, operation time, circuit scale, and consumption are compared with a device that does not mount these circuits. Since the power increases by 2 to 3 times or more, the cost increases.
本発明はかかる事情に鑑みて成されたものであり、DPA攻撃に対する対策を低コストで実装することが可能な、メモリ装置、ホスト装置、及びそれらを備えるメモリシステムを得ることを目的とするものである。 The present invention has been made in view of such circumstances, and an object of the present invention is to obtain a memory device, a host device, and a memory system including them that can implement a countermeasure against a DPA attack at a low cost. It is.
本発明の第1の態様に係るメモリ装置は、ホスト装置に接続されるメモリ装置であって、前記ホスト装置と前記メモリ装置との間で送受信されるデータを暗号化及び復号化するために通常動作を実行する、第1の暗号モジュール及び第2の暗号モジュールと、ダミーの鍵情報に基づいてダミー動作を実行する第3の暗号モジュールと、前記第3の暗号モジュールの動作を制御する制御回路と、を備え、前記制御回路は、前記第1の暗号モジュール及び前記第2の暗号モジュールの一方が通常動作を実行する期間において、前記第3の暗号モジュールにダミー動作を実行させることを特徴とするものである。 A memory device according to a first aspect of the present invention is a memory device connected to a host device, and is usually used for encrypting and decrypting data transmitted and received between the host device and the memory device. A first cryptographic module and a second cryptographic module that execute an operation, a third cryptographic module that performs a dummy operation based on dummy key information, and a control circuit that controls the operation of the third cryptographic module And the control circuit causes the third cryptographic module to perform a dummy operation during a period in which one of the first cryptographic module and the second cryptographic module performs a normal operation. To do.
第1の態様に係るメモリ装置によれば、制御回路は、第1の暗号モジュール及び第2の暗号モジュールの一方が通常動作を実行する期間において、第3の暗号モジュールにダミー動作を実行させる。このように、第3の暗号モジュールにダミー動作を実行させることにより、通常動作を実行している第1又は第2の暗号モジュールが具有する消費電力特性を隠蔽することができる。その結果、DPA攻撃に対する対策を低コストで実装することが可能となる。 According to the memory device of the first aspect, the control circuit causes the third cryptographic module to perform a dummy operation during a period in which one of the first cryptographic module and the second cryptographic module performs a normal operation. In this way, by causing the third cryptographic module to perform a dummy operation, it is possible to hide the power consumption characteristics of the first or second cryptographic module that is performing the normal operation. As a result, a countermeasure against the DPA attack can be implemented at a low cost.
本発明の第2の態様に係るメモリ装置は、第1の態様に係るメモリ装置において特に、前記制御回路はさらに、前記第2の暗号モジュールが通常動作を実行し前記第1の暗号モジュールが通常動作を実行しない期間において、前記第1の暗号モジュールにダミー動作を実行させることを特徴とするものである。 The memory device according to a second aspect of the present invention is the memory device according to the first aspect, in particular, the control circuit further includes the second cryptographic module executing a normal operation and the first cryptographic module being a normal one. The dummy operation is executed by the first cryptographic module during a period in which no operation is performed.
第2の態様に係るメモリ装置によれば、制御回路は、第2の暗号モジュールが通常動作を実行し第1の暗号モジュールが通常動作を実行しない期間において、第1の暗号モジュールにダミー動作を実行させる。このように、第2の暗号モジュールのみが通常動作を実行する期間において第1の暗号モジュールをダミー動作させることにより、第2の暗号モジュールが具有する消費電力特性をさらに隠蔽することができる。 According to the memory device of the second aspect, the control circuit performs a dummy operation on the first cryptographic module during a period in which the second cryptographic module performs a normal operation and the first cryptographic module does not perform a normal operation. Let it run. As described above, the power consumption characteristic of the second cryptographic module can be further concealed by performing the dummy operation of the first cryptographic module during the period in which only the second cryptographic module performs the normal operation.
本発明の第3の態様に係るメモリ装置は、第2の態様に係るメモリ装置において特に、前記制御回路はさらに、前記第1の暗号モジュール及び前記第2の暗号モジュールの双方が同時に通常動作を実行する期間において、前記第3の暗号モジュールにダミー動作を実行させることを特徴とするものである。 The memory device according to a third aspect of the present invention is the memory device according to the second aspect, in particular, the control circuit further includes that both the first cryptographic module and the second cryptographic module simultaneously perform normal operation. In the period of execution, the third cryptographic module is caused to execute a dummy operation.
第3の態様に係るメモリ装置によれば、制御回路は、第1の暗号モジュール及び第2の暗号モジュールの双方が同時に通常動作を実行する期間において、第3の暗号モジュールにダミー動作を実行させる。このように、第1の暗号モジュール及び第2の暗号モジュールの双方が通常動作を同時に実行する期間において第3の暗号モジュールをダミー動作させることにより、第1の暗号モジュール及び第2の暗号モジュールが具有する消費電力特性をさらに隠蔽することができる。 According to the memory device of the third aspect, the control circuit causes the third cryptographic module to perform a dummy operation during a period in which both the first cryptographic module and the second cryptographic module simultaneously perform normal operations. . As described above, by performing the dummy operation of the third cryptographic module during the period in which both the first cryptographic module and the second cryptographic module simultaneously perform the normal operation, the first cryptographic module and the second cryptographic module are The power consumption characteristics possessed can be further concealed.
本発明の第4の態様に係るメモリ装置は、第1〜第3のいずれか一つの態様に係るメモリ装置において特に、前記第1の暗号モジュールは、入力データに基づいて一時データを生成する第1の一時データ生成回路を有し、前記第2の暗号モジュールは、前記第1の一時データ生成回路によって生成された一時データに基づいて暗号処理を実行する第1の暗号処理回路を有し、前記第3の暗号モジュールは、ダミーの入力データに基づいて一時データを生成する第2の一時データ生成回路と、前記第2の一時データ生成回路によって生成された一時データに基づいて暗号処理を実行する第2の暗号処理回路と、を有し、前記制御回路は、前記第1の一時データ生成回路及び前記第1の暗号処理回路のうち前記第1の一時データ生成回路のみが通常動作を実行する期間において、前記第2の暗号処理回路にダミー動作を実行させ、前記第1の一時データ生成回路及び前記第1の暗号処理回路のうち前記第1の暗号処理回路のみが通常動作を実行する期間において、前記第2の一時データ生成回路にダミー動作を実行させることを特徴とするものである。 The memory device according to a fourth aspect of the present invention is the memory device according to any one of the first to third aspects, and in particular, the first cryptographic module generates temporary data based on input data. 1 temporary data generation circuit, the second cryptographic module has a first cryptographic processing circuit that executes cryptographic processing based on the temporary data generated by the first temporary data generation circuit, The third cryptographic module executes a second temporary data generation circuit that generates temporary data based on dummy input data, and a cryptographic process based on the temporary data generated by the second temporary data generation circuit And the control circuit is configured to allow only the first temporary data generation circuit to pass through the first temporary data generation circuit and the first encryption processing circuit. In the period for executing the operation, the second cryptographic processing circuit is caused to perform a dummy operation, and only the first cryptographic processing circuit of the first temporary data generation circuit and the first cryptographic processing circuit is normally operated. In the period in which the second temporary data generation circuit is executed, the dummy operation is executed by the second temporary data generation circuit.
第4の態様に係るメモリ装置によれば、制御回路は、第1の一時データ生成回路のみが通常動作を実行する期間においては第2の暗号処理回路にダミー動作を実行させ、第1の暗号処理回路のみが通常動作を実行する期間においては第2の一時データ生成回路にダミー動作を実行させる。これにより、メモリ装置全体の消費電力を均一化できるため、DPA攻撃による消費電力特性の解析を困難化することが可能となる。 According to the memory device of the fourth aspect, the control circuit causes the second encryption processing circuit to execute a dummy operation during the period in which only the first temporary data generation circuit executes the normal operation, and the first encryption During the period in which only the processing circuit executes the normal operation, the second temporary data generation circuit is caused to execute the dummy operation. As a result, the power consumption of the entire memory device can be made uniform, making it difficult to analyze the power consumption characteristics due to the DPA attack.
本発明の第5の態様に係るメモリ装置は、第4の態様に係るメモリ装置において特に、前記ダミーの入力データは固定値であることを特徴とするものである。 A memory device according to a fifth aspect of the present invention is characterized in that, in the memory device according to the fourth aspect, the dummy input data is a fixed value.
第5の態様に係るメモリ装置によれば、ダミーの入力データは固定値である。このように、ダミーの入力データをあえて固定値とし、何らかの鍵データの生成処理が実行されていることを攻撃者に予見させることにより、解析によってダミーの入力データを特定するという無駄な作業を攻撃者に行わせる効果が期待できる。その結果、真の入力データを長期間保護することが可能となる。また、ダミーの入力データを固定値とすることにより、ダミー動作に伴う第3の暗号モジュールの消費電力を均一化することが可能となる。 According to the memory device of the fifth aspect, the dummy input data is a fixed value. In this way, the dummy input data is set to a fixed value and the attacker predicts that some key data generation processing is being executed, thereby attacking the useless work of identifying dummy input data through analysis. Can be expected. As a result, it is possible to protect true input data for a long time. Further, by setting the dummy input data to a fixed value, it becomes possible to equalize the power consumption of the third cryptographic module accompanying the dummy operation.
本発明の第6の態様に係るメモリ装置は、第4の態様に係るメモリ装置において特に、前記ダミーの入力データは変動値であることを特徴とするものである。 The memory device according to a sixth aspect of the present invention is characterized in that, in the memory device according to the fourth aspect, the dummy input data is a variable value.
第6の態様に係るメモリ装置によれば、ダミーの入力データは変動値である。従って、ダミーの入力データが変動する度に第3の暗号モジュールの消費電力も変動するため、メモリ装置全体の消費電力を変動させることができる。その結果、DPA攻撃による消費電力特性の解析を困難化することが可能となる。 According to the memory device of the sixth aspect, the dummy input data is a fluctuation value. Accordingly, since the power consumption of the third cryptographic module also varies each time the dummy input data varies, the power consumption of the entire memory device can be varied. As a result, it becomes possible to make it difficult to analyze the power consumption characteristics due to the DPA attack.
本発明の第7の態様に係るメモリ装置は、第4〜第6のいずれか一つの態様に係るメモリ装置において特に、前記入力データは鍵情報であることを特徴とするものである。 A memory device according to a seventh aspect of the present invention is characterized in that, in the memory device according to any one of the fourth to sixth aspects, the input data is key information.
第7の態様に係るメモリ装置によれば、入力データとして鍵情報を入力することにより、第1の一時データ生成回路は、一時データとしてセッション鍵を生成することが可能となる。 According to the memory device of the seventh aspect, by inputting key information as input data, the first temporary data generation circuit can generate a session key as temporary data.
本発明の第8の態様に係るメモリ装置は、第1〜第7のいずれか一つの態様に係るメモリ装置において特に、前記ホスト装置からの不正アクセスを検出する不正アクセス検出回路をさらに備え、前記制御回路は、前記不正アクセス検出回路が不正アクセスを検出した場合に、前記第3の暗号モジュールにダミー動作を実行させることを特徴とするものである。 The memory device according to an eighth aspect of the present invention, in the memory device according to any one of the first to seventh aspects, further includes an unauthorized access detection circuit that detects unauthorized access from the host device, The control circuit causes the third cryptographic module to perform a dummy operation when the unauthorized access detection circuit detects unauthorized access.
第8の態様に係るメモリ装置によれば、制御回路は、不正アクセス検出回路が不正アクセスを検出した場合に、第3の暗号モジュールにダミー動作を実行させる。従って、システムの可用性を確保できるとともに、不正アクセスを検出しない場合にダミー動作を実行させることに起因する消費電力の増大を回避することが可能となる。 According to the memory device of the eighth aspect, the control circuit causes the third cryptographic module to perform a dummy operation when the unauthorized access detection circuit detects unauthorized access. Therefore, the availability of the system can be ensured, and an increase in power consumption caused by executing a dummy operation when no unauthorized access is detected can be avoided.
本発明の第9の態様に係るホスト装置は、メモリ装置が接続されるホスト装置であって、前記ホスト装置と前記メモリ装置との間で送受信されるデータを暗号化及び復号化するために通常動作を実行する、第1の暗号モジュール及び第2の暗号モジュールと、ダミーの鍵情報に基づいてダミー動作を実行する第3の暗号モジュールと、前記第3の暗号モジュールの動作を制御する制御回路と、を備え、前記制御回路は、前記第1の暗号モジュール及び前記第2の暗号モジュールの一方が通常動作を実行する期間において、前記第3の暗号モジュールにダミー動作を実行させることを特徴とするものである。 A host device according to a ninth aspect of the present invention is a host device to which a memory device is connected, and is usually used for encrypting and decrypting data transmitted and received between the host device and the memory device. A first cryptographic module and a second cryptographic module that execute an operation, a third cryptographic module that performs a dummy operation based on dummy key information, and a control circuit that controls the operation of the third cryptographic module And the control circuit causes the third cryptographic module to perform a dummy operation during a period in which one of the first cryptographic module and the second cryptographic module performs a normal operation. To do.
第9の態様に係るホスト装置によれば、制御回路は、第1の暗号モジュール及び第2の暗号モジュールの一方が通常動作を実行する期間において、第3の暗号モジュールにダミー動作を実行させる。このように、第3の暗号モジュールにダミー動作を実行させることにより、通常動作を実行している第1又は第2の暗号モジュールが具有する消費電力特性を隠蔽することができる。その結果、DPA攻撃に対する対策を低コストで実装することが可能となる。 According to the host device of the ninth aspect, the control circuit causes the third cryptographic module to perform a dummy operation during a period in which one of the first cryptographic module and the second cryptographic module performs a normal operation. In this way, by causing the third cryptographic module to perform a dummy operation, it is possible to hide the power consumption characteristics of the first or second cryptographic module that is performing the normal operation. As a result, a countermeasure against the DPA attack can be implemented at a low cost.
本発明の第10の態様に係るホスト装置は、第9の態様に係るホスト装置において特に、前記制御回路はさらに、前記第2の暗号モジュールが通常動作を実行し前記第1の暗号モジュールが通常動作を実行しない期間において、前記第1の暗号モジュールにダミー動作を実行させることを特徴とするものである。 The host device according to a tenth aspect of the present invention is the host device according to the ninth aspect, in particular, the control circuit further includes the second cryptographic module executing a normal operation and the first cryptographic module being a normal one. The dummy operation is executed by the first cryptographic module during a period in which no operation is performed.
第10の態様に係るホスト装置によれば、制御回路は、第2の暗号モジュールが通常動作を実行し第1の暗号モジュールが通常動作を実行しない期間において、第1の暗号モジュールにダミー動作を実行させる。このように、第2の暗号モジュールのみが通常動作を実行する期間において第1の暗号モジュールをダミー動作させることにより、第2の暗号モジュールが具有する消費電力特性をさらに隠蔽することができる。 According to the host device of the tenth aspect, the control circuit performs a dummy operation on the first cryptographic module during a period in which the second cryptographic module performs a normal operation and the first cryptographic module does not perform a normal operation. Let it run. As described above, the power consumption characteristic of the second cryptographic module can be further concealed by performing the dummy operation of the first cryptographic module during the period in which only the second cryptographic module performs the normal operation.
本発明の第11の態様に係るホスト装置は、第10の態様に係るホスト装置において特に、前記制御回路はさらに、前記第1の暗号モジュール及び前記第2の暗号モジュールの双方が同時に通常動作を実行する期間において、前記第3の暗号モジュールにダミー動作を実行させることを特徴とするものである。 The host device according to the eleventh aspect of the present invention is the host device according to the tenth aspect, in which the control circuit further performs normal operation simultaneously on both the first cryptographic module and the second cryptographic module. In the period of execution, the third cryptographic module is caused to execute a dummy operation.
第11の態様に係るホスト装置によれば、制御回路は、第1の暗号モジュール及び第2の暗号モジュールの双方が同時に通常動作を実行する期間において、第3の暗号モジュールにダミー動作を実行させる。このように、第1の暗号モジュール及び第2の暗号モジュールの双方が通常動作を同時に実行する期間において第3の暗号モジュールをダミー動作させることにより、第1の暗号モジュール及び第2の暗号モジュールが具有する消費電力特性をさらに隠蔽することができる。 According to the host device of the eleventh aspect, the control circuit causes the third cryptographic module to perform a dummy operation during a period in which both the first cryptographic module and the second cryptographic module simultaneously perform normal operations. . As described above, by performing the dummy operation of the third cryptographic module during the period in which both the first cryptographic module and the second cryptographic module simultaneously perform the normal operation, the first cryptographic module and the second cryptographic module are The power consumption characteristics possessed can be further concealed.
本発明の第12の態様に係るホスト装置は、第9〜第11のいずれか一つの態様に係るホスト装置において特に、前記第1の暗号モジュールは、入力データに基づいて一時データを生成する第1の一時データ生成回路を有し、前記第2の暗号モジュールは、前記第1の一時データ生成回路によって生成された一時データに基づいて暗号処理を実行する第1の暗号処理回路を有し、前記第3の暗号モジュールは、ダミーの入力データに基づいて一時データを生成する第2の一時データ生成回路と、前記第2の一時データ生成回路によって生成された一時データに基づいて暗号処理を実行する第2の暗号処理回路と、を有し、前記制御回路は、前記第1の一時データ生成回路及び前記第1の暗号処理回路のうち前記第1の一時データ生成回路のみが通常動作を実行する期間において、前記第2の暗号処理回路にダミー動作を実行させ、前記第1の一時データ生成回路及び前記第1の暗号処理回路のうち前記第1の暗号処理回路のみが通常動作を実行する期間において、前記第2の一時データ生成回路にダミー動作を実行させることを特徴とするものである。 A host device according to a twelfth aspect of the present invention is the host device according to any one of the ninth to eleventh aspects, and in particular, the first cryptographic module generates temporary data based on input data. 1 temporary data generation circuit, the second cryptographic module has a first cryptographic processing circuit that executes cryptographic processing based on the temporary data generated by the first temporary data generation circuit, The third cryptographic module executes a second temporary data generation circuit that generates temporary data based on dummy input data, and a cryptographic process based on the temporary data generated by the second temporary data generation circuit And the control circuit includes only the first temporary data generation circuit among the first temporary data generation circuit and the first encryption processing circuit. During the period for executing the normal operation, the second cryptographic processing circuit is caused to execute a dummy operation, and only the first cryptographic processing circuit among the first temporary data generation circuit and the first cryptographic processing circuit is normal. In the period for executing the operation, the second temporary data generation circuit is caused to execute a dummy operation.
第12の態様に係るホスト装置によれば、制御回路は、第1の一時データ生成回路のみが通常動作を実行する期間においては第2の暗号処理回路にダミー動作を実行させ、第1の暗号処理回路のみが通常動作を実行する期間においては第2の一時データ生成回路にダミー動作を実行させる。これにより、ホスト装置全体の消費電力を均一化できるため、DPA攻撃による消費電力特性の解析を困難化することが可能となる。 According to the host device of the twelfth aspect, the control circuit causes the second encryption processing circuit to execute a dummy operation during the period in which only the first temporary data generation circuit executes the normal operation, and the first encryption During the period in which only the processing circuit executes the normal operation, the second temporary data generation circuit is caused to execute the dummy operation. As a result, the power consumption of the entire host device can be made uniform, making it difficult to analyze the power consumption characteristics due to the DPA attack.
本発明の第13の態様に係るホスト装置は、第12の態様に係るホスト装置において特に、前記ダミーの入力データは固定値であることを特徴とするものである。 The host device according to a thirteenth aspect of the present invention is characterized in that, in the host device according to the twelfth aspect, the dummy input data is a fixed value.
第13の態様に係るホスト装置によれば、ダミーの入力データは固定値である。このように、ダミーの入力データをあえて固定値とし、何らかの鍵データの生成処理が実行されていることを攻撃者に予見させることにより、解析によってダミーの入力データを特定するという無駄な作業を攻撃者に行わせる効果が期待できる。その結果、真の入力データを長期間保護することが可能となる。また、ダミーの入力データを固定値とすることにより、ダミー動作に伴う第3の暗号モジュールの消費電力を均一化することが可能となる。 According to the host device of the thirteenth aspect, the dummy input data is a fixed value. In this way, the dummy input data is set to a fixed value and the attacker predicts that some key data generation processing is being executed, thereby attacking the useless work of identifying dummy input data through analysis. Can be expected. As a result, it is possible to protect true input data for a long time. Further, by setting the dummy input data to a fixed value, it becomes possible to equalize the power consumption of the third cryptographic module accompanying the dummy operation.
本発明の第14の態様に係るホスト装置は、第12の態様に係るホスト装置において特に、前記ダミーの入力データは変動値であることを特徴とするものである。 The host device according to the fourteenth aspect of the present invention is characterized in that, in the host device according to the twelfth aspect, the dummy input data is a variable value.
第14の態様に係るホスト装置によれば、ダミーの入力データは変動値である。従って、ダミーの入力データが変動する度に第3の暗号モジュールの消費電力も変動するため、ホスト装置全体の消費電力を変動させることができる。その結果、DPA攻撃による消費電力特性の解析を困難化することが可能となる。 According to the host device of the fourteenth aspect, the dummy input data is a fluctuation value. Accordingly, since the power consumption of the third cryptographic module also varies each time the dummy input data varies, the power consumption of the entire host device can be varied. As a result, it becomes possible to make it difficult to analyze the power consumption characteristics due to the DPA attack.
本発明の第15の態様に係るホスト装置は、第12〜第14のいずれか一つの態様に係るホスト装置において特に、前記入力データは鍵情報であることを特徴とするものである。 A host device according to a fifteenth aspect of the present invention is characterized in that, in the host device according to any one of the twelfth to fourteenth aspects, the input data is key information.
第15の態様に係るホスト装置によれば、入力データとして鍵情報を入力することにより、第1の一時データ生成回路は、一時データとしてセッション鍵を生成することが可能となる。 According to the host device of the fifteenth aspect, by inputting key information as input data, the first temporary data generation circuit can generate a session key as temporary data.
本発明の第16の態様に係るメモリシステムは、第1〜第8のいずれか一つの態様に係るメモリ装置と、第9〜第15のいずれか一つの態様に係るホスト装置と、を備えることを特徴とするものである。 A memory system according to a sixteenth aspect of the present invention includes the memory device according to any one of the first to eighth aspects, and the host device according to any one of the ninth to fifteenth aspects. It is characterized by.
第16の態様に係るメモリシステムによれば、メモリ装置及びホスト装置の双方においてDPA攻撃に対する対策がそれぞれ実装されているため、メモリシステム全体としてDPA攻撃に対する耐性を高めることが可能となる。 According to the memory system of the sixteenth aspect, since the countermeasure against the DPA attack is implemented in both the memory device and the host device, it is possible to enhance the resistance against the DPA attack as the whole memory system.
本発明によれば、DPA攻撃に対する対策を低コストで実装することが可能となる。 According to the present invention, it is possible to implement a countermeasure against a DPA attack at a low cost.
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In addition, the element which attached | subjected the same code | symbol in different drawing shall show the same or corresponding element.
図1は、本発明の実施の形態に係るメモリシステム1の構成を簡略化して示す図である。図1に示すようにメモリシステム1は、ホスト装置2と、ホスト装置2に着脱自在に接続される半導体メモリ等のメモリ装置3とを備えて構成されている。
FIG. 1 is a diagram showing a simplified configuration of a
ホスト装置2は、CPU11、内部メモリ12、主制御回路13、及び暗号ブロック14を有している。メモリ装置3は、暗号ブロック14と同様の暗号ブロック21と、コンテンツデータ等の任意のデータが格納されたメモリアレイ22とを有している。暗号ブロック14,21は、ホスト装置2とメモリ装置3との間で送受信されるコマンドやデータに対して、暗号化処理及び復号化処理を実行する。
The host device 2 includes a CPU 11, an
図2は、メモリ装置3の暗号ブロック21の構成を示す図である。図2に示すように暗号ブロック21は、制御回路31、暗号モジュール32〜34、及び演算回路35を有している。暗号モジュール32は、セッション鍵生成回路42を有している。セッション鍵生成回路42は、一時データ生成回路として機能し、入力データとしての鍵情報(秘密鍵K11)に基づいて、一時データとしてのセッション鍵D12を生成する。暗号モジュール33は、ストリームデータ生成回路43を有している。ストリームデータ生成回路43は、暗号処理回路として機能し、鍵情報(秘密鍵K13)と、セッション鍵生成回路42から入力されたセッション鍵D12とに基づいて、ストリーム暗号のためのストリームデータD13を生成する。演算回路35は、ホスト装置2から受信した暗号化コマンドS11と、ストリームデータ生成回路43から入力されたストリームデータD13との排他的論理和を演算することにより、非暗号のコマンドS12を復元する。また、演算回路35は、メモリアレイ22から読み出された非暗号のデータS13と、ストリームデータ生成回路43から入力されたストリームデータD13との排他的論理和を演算することにより、暗号化データS14を生成する。
FIG. 2 is a diagram illustrating a configuration of the
暗号モジュール34は、暗号モジュール32,33とは異なる暗号アルゴリズムの暗号モジュールであり、コマンドやデータの暗号化及び復号化には寄与しないダミー動作を実行する。暗号モジュール34には、制御回路31から制御信号S20と鍵情報(ダミー鍵K12)とが入力される。ダミー鍵K12は、固定値であっても良いし、乱数生成器を用いた変動値であっても良い。あるいは、ダミー鍵K12は秘密鍵K11又は秘密鍵K13と同一であっても良い。なお、暗号モジュール34は、暗号モジュール32又は暗号モジュール33と同一の暗号アルゴリズムの暗号モジュールであっても良く、その場合には、ダミー鍵K12として秘密鍵K11,K13とは異なる鍵が使用される。
The
図3は、セッション鍵生成回路42、ストリームデータ生成回路43、及び暗号モジュール34の処理内容を示すタイミングチャートである。
FIG. 3 is a timing chart showing the processing contents of the session
コマンド処理期間(時刻T11〜T12)において、ストリームデータ生成回路43は、コマンド又はデータの暗号化又は復号化を実行するための通常動作として、ストリームデータD13の生成処理を行い、これにより暗号化コマンドS11の復号化が実行される。また、コマンド処理期間において、セッション鍵生成回路42は動作せず、暗号モジュール34はストリームデータ生成回路43の動作期間に同期してダミー動作を実行する。
In the command processing period (time T11 to T12), the stream
レイテンシ期間(時刻T12〜T13)において、まずセッション鍵生成回路42は、通常動作としてセッション鍵D12の更新処理を行う。次にストリームデータ生成回路43は、通常動作として、更新後のセッション鍵D12を用いて初期化処理を行う。また、レイテンシ期間において、暗号モジュール34はセッション鍵生成回路42及びストリームデータ生成回路43の各動作期間に同期してダミー動作を実行する。
In the latency period (time T12 to T13), the session
メモリアレイ22からのデータの読み出しが完了した後のデータ処理期間(時刻T13〜T14)において、ストリームデータ生成回路43は、通常動作としてストリームデータD13の生成処理を行い、これにより非暗号のデータS13の暗号化が実行される。また、データ処理期間において、セッション鍵生成回路42は動作せず、暗号モジュール34はストリームデータ生成回路43の動作期間に同期してダミー動作を実行する。
In the data processing period (time T13 to T14) after the reading of data from the
以下、メモリアレイ22に格納されているデータをメモリ装置3からホスト装置2に読み出す処理を例にとり、メモリ装置3の動作を詳細に説明する。
Hereinafter, the operation of the memory device 3 will be described in detail by taking as an example a process of reading data stored in the
メモリシステム1が起動されると、制御回路31は、メモリアレイ22の所定場所に格納されているDPA制御情報D11(ON又はOFFのフラグ情報)を読み出す。制御回路31は、DPA制御情報D11がONに設定されている場合には以下に述べるDPA対策処理を実行し、OFFに設定されている場合には実行しない。本実施の形態の例では、DPA制御情報D11はONに設定されているものとする。なお、DPA制御情報D11は、ホスト装置2から発行されるコマンドの一部に格納されていても良く、この場合には、DPA対策処理の実行の要否をホスト装置2によって簡易に切り替えることが可能となる。
When the
次に制御回路31は、DPA対策処理として暗号モジュール34のダミー動作を実行するために、制御信号S20及びダミー鍵K12を暗号モジュール34に入力する。
Next, the
次にホスト装置2は、CPU11が発行した読み出しコマンドを暗号ブロック14によって暗号化することにより、暗号化コマンドS11をメモリ装置3に送信する。
Next, the host apparatus 2 transmits the encryption command S11 to the memory device 3 by encrypting the read command issued by the CPU 11 with the
次にコマンド処理期間(時刻T11〜T12)において、ストリームデータ生成回路43は、通常動作として、セッション鍵生成回路42から入力された最新のセッション鍵D12に基づいてストリームデータD13の生成処理を行い、これにより暗号化コマンドS11の復号化が実行される。また、暗号モジュール34は、ストリームデータ生成回路43の動作期間に同期して、ダミー鍵K12に基づいてダミー動作を実行する。暗号モジュール34のダミー動作によって生成されたデータは、メモリ装置3内で廃棄しても良いし、ダミーデータとしてメモリ装置3の外部に出力しても良い。
Next, in the command processing period (time T11 to T12), the stream
次にレイテンシ期間(時刻T12〜T13)において、まずセッション鍵生成回路42は、通常動作としてセッション鍵D12の更新処理を行うことにより、新たなセッション鍵D12を生成する。また、暗号モジュール34は、セッション鍵生成回路42の動作期間に同期してダミー動作を実行する。次にストリームデータ生成回路43は、通常動作として、更新後のセッション鍵D12を用いて初期化処理を行う。また、暗号モジュール34は、セッション鍵生成回路42の動作期間に同期してダミー動作を実行する。次に、上述した暗号化コマンドS11の復号化によって復元された非暗号のコマンドS12に基づいて、メモリアレイ22から所望のデータS13が読み出される。
Next, in the latency period (time T12 to T13), the session
次にデータ処理期間(時刻T13〜T14)において、ストリームデータ生成回路43は、通常動作として、セッション鍵生成回路42から入力された更新後のセッション鍵D12に基づいてストリームデータD13の生成処理を行い、これにより非暗号のデータS13の暗号化が実行される。暗号化データS14は、メモリ装置3からホスト装置2に送信される。また、暗号モジュール34は、ストリームデータ生成回路43の動作期間に同期してダミー動作を実行する。
Next, in the data processing period (time T13 to T14), the stream
このように本実施の形態に係るメモリ装置3によれば、制御回路31は、暗号モジュール32(第1の暗号モジュール)及び暗号モジュール33(第2の暗号モジュール)の一方が通常動作を実行する期間において、暗号モジュール34(第3の暗号モジュール)にダミー動作を実行させる。このように、暗号モジュール34にダミー動作を実行させることにより、通常動作を実行している暗号モジュール32又は暗号モジュール33が具有する消費電力特性を隠蔽することができる。その結果、DPA攻撃に対する対策を低コストで実装することが可能となる。
As described above, according to the memory device 3 according to the present embodiment, in the
また、ダミー鍵K12をあえて固定値とし、何らかの鍵データの生成処理が実行されていることを攻撃者に予見させることにより、解析によってダミー鍵K12を特定するという無駄な作業を攻撃者に行わせる効果が期待できる。その結果、秘密鍵K11,K13を長期間保護することが可能となる。また、ダミー鍵K12を固定値とすることにより、ダミー動作に伴う暗号モジュール34の消費電力を均一化することが可能となる。
In addition, the dummy key K12 is set to a fixed value, and the attacker predicts that some key data generation processing is being executed, thereby causing the attacker to perform useless work of specifying the dummy key K12 by analysis. The effect can be expected. As a result, the secret keys K11 and K13 can be protected for a long time. Further, by setting the dummy key K12 to a fixed value, it becomes possible to equalize the power consumption of the
また、ダミー鍵K12を変動値とすることにより、ダミー鍵K12が変動する度に暗号モジュール34の消費電力も変動するため、メモリ装置3全体の消費電力を変動させることができる。その結果、DPA攻撃による消費電力特性の解析を困難化することが可能となる。
Further, by setting the dummy key K12 as a variation value, the power consumption of the
また、入力データとして秘密鍵K11(鍵情報)を入力することにより、セッション鍵生成回路42は、一時データとしてセッション鍵D12を生成することが可能となる。
Further, by inputting the secret key K11 (key information) as input data, the session
<第1の変形例>
上記実施の形態では、DPA対策をメモリ装置3に実装する例について説明したが、DPA対策をホスト装置2に実装しても良い。
<First Modification>
In the above-described embodiment, the example in which the DPA countermeasure is implemented in the memory device 3 has been described, but the DPA countermeasure may be implemented in the host device 2.
図4は、ホスト装置2の暗号ブロック14の構成を示す図である。図4に示すように暗号ブロック14は、制御回路51、暗号モジュール52〜54、及び演算回路55を有している。暗号モジュール52は、セッション鍵生成回路62を有している。セッション鍵生成回路62は、一時データ生成回路として機能し、入力データとしての鍵情報(秘密鍵K21)に基づいて、一時データとしてのセッション鍵D22を生成する。暗号モジュール53は、ストリームデータ生成回路63を有している。ストリームデータ生成回路63は、暗号処理回路として機能し、鍵情報(秘密鍵K23)と、セッション鍵生成回路62から入力されたセッション鍵D22とに基づいて、ストリーム暗号のためのストリームデータD23を生成する。演算回路55は、メモリ装置3から受信した暗号化データS23と、ストリームデータ生成回路63から入力されたストリームデータD23との排他的論理和を演算することにより、非暗号のデータS24を復元する。また、演算回路55は、主制御回路13から入力された非暗号のコマンドS21と、ストリームデータ生成回路63から入力されたストリームデータD23との排他的論理和を演算することにより、暗号化コマンドS22を生成する。
FIG. 4 is a diagram illustrating the configuration of the
暗号モジュール54は、暗号モジュール52,53とは異なる暗号アルゴリズムの暗号モジュールであり、コマンドやデータの暗号化及び復号化には寄与しないダミー動作を実行する。暗号モジュール54には、制御回路51から制御信号S30と鍵情報(ダミー鍵K22)とが入力される。ダミー鍵K22は、固定値であっても良いし、乱数生成器を用いた変動値であっても良い。あるいは、ダミー鍵K22は秘密鍵K21又は秘密鍵K23と同一であっても良い。なお、暗号モジュール54は、暗号モジュール52又は暗号モジュール53と同一の暗号アルゴリズムの暗号モジュールであっても良く、その場合には、ダミー鍵K22として秘密鍵K21,K23とは異なる鍵が使用される。
The
図5は、セッション鍵生成回路62、ストリームデータ生成回路63、及び暗号モジュール54の処理内容を示すタイミングチャートである。
FIG. 5 is a timing chart showing processing contents of the session
コマンド処理期間(時刻T21〜T22)において、ストリームデータ生成回路63は、コマンド又はデータの暗号化又は復号化を実行するための通常動作として、ストリームデータD23の生成処理を行い、これにより非暗号のコマンドS21の暗号化が実行される。また、コマンド処理期間において、セッション鍵生成回路62は動作せず、暗号モジュール54はストリームデータ生成回路63の動作期間に同期してダミー動作を実行する。
In the command processing period (time T21 to T22), the stream
レイテンシ期間(時刻T22〜T23)において、まずセッション鍵生成回路62は、通常動作としてセッション鍵D22の更新処理を行う。次にストリームデータ生成回路63は、通常動作として、更新後のセッション鍵D22を用いて初期化処理を行う。また、レイテンシ期間において、暗号モジュール54はセッション鍵生成回路62及びストリームデータ生成回路63の各動作期間に同期してダミー動作を実行する。
In the latency period (time T22 to T23), the session
データ処理期間(時刻T23〜T24)において、ストリームデータ生成回路63は、通常動作としてストリームデータD23の生成処理を行い、これにより暗号化データS23の復号化が実行される。また、データ処理期間において、セッション鍵生成回路62は動作せず、暗号モジュール54はストリームデータ生成回路63の動作期間に同期してダミー動作を実行する。
In the data processing period (time T23 to T24), the stream
以下、メモリアレイ22に格納されているデータをメモリ装置3からホスト装置2に読み出す処理を例にとり、ホスト装置2の動作を詳細に説明する。
Hereinafter, the operation of the host device 2 will be described in detail by taking as an example a process of reading data stored in the
メモリシステム1が起動されると、制御回路51は、メモリアレイ22の所定場所に格納されているDPA制御情報D11を読み出す。制御回路51は、DPA制御情報D11がONに設定されている場合には以下に述べるDPA対策処理を実行し、OFFに設定されている場合には実行しない。本変形例では、DPA制御情報D11はONに設定されているものとする。
When the
次にCPU11は、非暗号の読み出しコマンドS21を発行する。コマンドS21は、主制御回路13を介して暗号ブロック14に入力される。
Next, the CPU 11 issues a non-encrypted read command S21. The command S21 is input to the
次にコマンド処理期間(時刻T21〜T22)において、ストリームデータ生成回路63は、通常動作として、セッション鍵生成回路62から入力された最新のセッション鍵D22に基づいてストリームデータD23の生成処理を行い、これにより非暗号のコマンドS21の暗号化が実行される。また、暗号モジュール54は、ストリームデータ生成回路63の動作期間に同期して、ダミー鍵K22に基づいてダミー動作を実行する。暗号モジュール54のダミー動作によって生成されたデータは、ホスト装置2内で廃棄しても良いし、ダミーデータとしてホスト装置2の外部に出力しても良い。
Next, in the command processing period (time T21 to T22), the stream
次にレイテンシ期間(時刻T22〜T23)において、まずセッション鍵生成回路62は、通常動作としてセッション鍵D22の更新処理を行うことにより、新たなセッション鍵D22を生成する。また、暗号モジュール54は、セッション鍵生成回路62の動作期間に同期してダミー動作を実行する。次にストリームデータ生成回路63は、通常動作として、更新後のセッション鍵D22を用いて初期化処理を行う。また、暗号モジュール54は、セッション鍵生成回路62の動作期間に同期してダミー動作を実行する。
Next, in the latency period (time T22 to T23), the session
次にデータ処理期間(時刻T23〜T24)において、ストリームデータ生成回路63は、通常動作として、セッション鍵生成回路62から入力された更新後のセッション鍵D22に基づいてストリームデータD23の生成処理を行い、これにより暗号化データS23の復号化が実行される。復号化されたデータS24は、主制御回路13を介してCPU11に入力される。
Next, in the data processing period (time T23 to T24), the stream
このように本変形例に係るホスト装置2によれば、制御回路51は、暗号モジュール52(第1の暗号モジュール)及び暗号モジュール53(第2の暗号モジュール)の一方が通常動作を実行する期間において、暗号モジュール54(第3の暗号モジュール)にダミー動作を実行させる。このように、暗号モジュール54にダミー動作を実行させることにより、通常動作を実行している暗号モジュール52又は暗号モジュール53が具有する消費電力特性を隠蔽することができる。その結果、DPA攻撃に対する対策を低コストで実装することが可能となる。
As described above, according to the host device 2 according to the present modification, the
また、ダミー鍵K22をあえて固定値とし、何らかの鍵データの生成処理が実行されていることを攻撃者に予見させることにより、解析によってダミー鍵K22を特定するという無駄な作業を攻撃者に行わせる効果が期待できる。その結果、秘密鍵K21,K23を長期間保護することが可能となる。また、ダミー鍵K22を固定値とすることにより、ダミー動作に伴う暗号モジュール54の消費電力を均一化することが可能となる。
In addition, the dummy key K22 is set to a fixed value, and the attacker predicts that some key data generation processing is being executed, thereby causing the attacker to perform useless work of specifying the dummy key K22 by analysis. The effect can be expected. As a result, the secret keys K21 and K23 can be protected for a long time. Further, by setting the dummy key K22 to a fixed value, it is possible to make the power consumption of the
また、ダミー鍵K22を変動値とすることにより、ダミー鍵K22が変動する度に暗号モジュール54の消費電力も変動するため、ホスト装置2全体の消費電力を変動させることができる。その結果、DPA攻撃による消費電力特性の解析を困難化することが可能となる。
Further, by setting the dummy key K22 as a variation value, the power consumption of the
また、入力データとして秘密鍵K21(鍵情報)を入力することにより、セッション鍵生成回路62は、一時データとしてセッション鍵D22を生成することが可能となる。
Further, by inputting the secret key K21 (key information) as input data, the session
<第2の変形例>
上記実施の形態では、DPA制御情報D11に基づいてDPA対策処理の実行の要否が判定されたが、ホスト装置2からメモリ装置3への不正アクセスがあったことを条件として、DPA対策処理を実行しても良い。
<Second Modification>
In the above embodiment, the necessity of executing the DPA countermeasure process is determined based on the DPA control information D11. However, the DPA countermeasure process is performed on condition that there is an unauthorized access from the host device 2 to the memory device 3. May be executed.
図6は、メモリ装置3の暗号ブロック21の構成を示す図である。図2に示した構成に対して不正アクセス検出回路36が追加されている。不正アクセス検出回路36には、復号化によって復元された非暗号のコマンドS12が、演算回路35から入力される。
FIG. 6 is a diagram showing a configuration of the
不正アクセス検出回路36は、例えば、所定のアクセス禁止領域へのアクセス要求、メモリアレイ22のデータ容量を超えるアクセス要求、コマンドIDが定義されていない未定義コマンドによるアクセス要求、及び、規定のコマンドシーケンス以外のシーケンスによるアクセス要求等をホスト装置2から受けた場合に、そのアクセスを不正アクセスとして検出し、不正アクセス検出信号D14を制御回路31に入力する。
The unauthorized
制御回路31は、不正アクセス検出信号D14が入力されたことを実行条件として、上記実施の形態で説明したDPA対策処理を実行する。
The
このように本変形例に係るメモリ装置3によれば、制御回路31は、不正アクセス検出回路36が不正アクセスを検出した場合に、DPA対策処理を実行する。従って、メモリシステム1の可用性を確保できるとともに、不正アクセスを検出しない場合にダミー動作を実行させることに起因する消費電力の増大を回避することが可能となる。
As described above, according to the memory device 3 according to the present modification, the
<第3の変形例>
図7は、メモリ装置3の暗号ブロック21の構成を示す図である。図7に示すように暗号ブロック21は、制御回路31、暗号モジュール32〜34、及び演算回路35を有している。暗号モジュール34は、セッション鍵生成回路42(第1の一時データ生成回路)と同様のセッション鍵生成回路72(第2の一時データ生成回路)と、ストリームデータ生成回路43(第1の暗号処理回路)と同様のストリームデータ生成回路73(第2の暗号処理回路)とを有している。
<Third Modification>
FIG. 7 is a diagram illustrating a configuration of the
図8は、セッション鍵生成回路42,72及びストリームデータ生成回路43,73の処理内容を示すタイミングチャートである。
FIG. 8 is a timing chart showing processing contents of the session
コマンド処理期間(時刻T11〜T12)において、ストリームデータ生成回路43は、通常動作としてストリームデータD13の生成処理を行い、これにより暗号化コマンドS11の復号化が実行される。この時、セッション鍵生成回路42及びストリームデータ生成回路73は動作せず、セッション鍵生成回路72はストリームデータ生成回路43の動作期間に同期してダミー動作を実行する。
In the command processing period (time T11 to T12), the stream
レイテンシ期間(時刻T12〜T13)において、まずセッション鍵生成回路42は、通常動作としてセッション鍵D12の更新処理を行う。この時、ストリームデータ生成回路43及びセッション鍵生成回路72は動作せず、ストリームデータ生成回路73はセッション鍵生成回路42の動作期間に同期してダミー動作を実行する。次にストリームデータ生成回路43は、通常動作として、更新後のセッション鍵D12を用いて初期化処理を行う。この時、セッション鍵生成回路42及びストリームデータ生成回路73は動作せず、セッション鍵生成回路72はストリームデータ生成回路43の動作期間に同期してダミー動作を実行する。
In the latency period (time T12 to T13), the session
データ処理期間(時刻T13〜T14)において、ストリームデータ生成回路43は、通常動作としてストリームデータD13の生成処理を行い、これにより非暗号のデータS13の暗号化が実行される。この時、セッション鍵生成回路42及びストリームデータ生成回路73は動作せず、セッション鍵生成回路72はストリームデータ生成回路43の動作期間に同期してダミー動作を実行する。
In the data processing period (time T13 to T14), the stream
このように本変形例に係るメモリ装置3によれば、制御回路31は、セッション鍵生成回路42のみが通常動作を実行する期間においてはストリームデータ生成回路73にダミー動作を実行させ、ストリームデータ生成回路43のみが通常動作を実行する期間においてはセッション鍵生成回路72にダミー動作を実行させる。これにより、メモリ装置3全体の消費電力を均一化できるため、DPA攻撃による消費電力特性の解析を困難化することが可能となる。
As described above, according to the memory device 3 according to the present modification, the
なお、以上の説明では本変形例をメモリ装置3に適用する例について説明したが、本変形例はホスト装置2にも適用することが可能であり、同様の効果を得ることができる。 In the above description, the example in which the present modification is applied to the memory device 3 has been described. However, the present modification can also be applied to the host device 2, and the same effect can be obtained.
<第4の変形例>
図9は、セッション鍵生成回路42、ストリームデータ生成回路43、及び暗号モジュール34の処理内容を示すタイミングチャートである。
<Fourth Modification>
FIG. 9 is a timing chart showing processing contents of the session
コマンド処理期間(時刻T11〜T12)において、ストリームデータ生成回路43は、通常動作としてストリームデータD13の生成処理を行い、これにより暗号化コマンドS11の復号化が実行される。この時、セッション鍵生成回路42及び暗号モジュール34は、ストリームデータ生成回路43の動作期間に同期してダミー動作を実行する。
In the command processing period (time T11 to T12), the stream
制御回路31は、セッション鍵生成回路42のダミー動作を実行するために、セッション鍵生成回路42の現在の設定内容を示す状態遷移情報を暗号モジュール32から読み出し、制御回路31が内部に有する保持回路に当該状態遷移情報を保持する。また、制御回路31は、秘密鍵K11に代えて固定値又は変動値のダミー鍵をセッション鍵生成回路42に入力する。セッション鍵生成回路42は、当該ダミー鍵に基づいてダミーのセッション鍵D12を生成する。
In order to execute the dummy operation of the session
次にレイテンシ期間(時刻T12〜T13)において、制御回路31は、保持回路が保持している状態遷移情報をセッション鍵生成回路42に書き戻す。これにより、セッション鍵生成回路42の設定内容は、ダミー動作を実行する前の状態に再設定される。また、制御回路31は、ダミー鍵に代えて秘密鍵K11をセッション鍵生成回路42に入力する。セッション鍵生成回路42は、通常動作としてセッション鍵D12の更新処理を行うことにより、次回に使用する新たなセッション鍵D12を生成する。それと同時にストリームデータ生成回路43は、通常動作として、現在入力されている更新前のセッション鍵D12を用いて初期化処理を行う。この時、暗号モジュール34は、セッション鍵生成回路42及びストリームデータ生成回路43の動作期間に同期してダミー動作を実行する。
Next, in the latency period (time T12 to T13), the
次にデータ処理期間(時刻T13〜T14)において、ストリームデータ生成回路43は、通常動作としてストリームデータD13の生成処理を行い、これにより非暗号のデータS13の暗号化が実行される。この時、セッション鍵生成回路42及び暗号モジュール34は、ストリームデータ生成回路43の動作期間に同期してダミー動作を実行する。
Next, in the data processing period (time T13 to T14), the stream
このように本変形例に係るメモリ装置3によれば、制御回路31は、暗号モジュール33が通常動作を実行し暗号モジュール32が通常動作を実行しない期間(コマンド処理期間及びデータ処理期間)において、暗号モジュール32,34にダミー動作を実行させる。このように、暗号モジュール33のみが通常動作を実行する期間において暗号モジュール32,34をダミー動作させることにより、暗号モジュール33が具有する消費電力特性をさらに隠蔽することができる。
As described above, according to the memory device 3 according to the present modification, the
また、制御回路31は、暗号モジュール32,33の双方が同時に通常動作を実行する期間(レイテンシ期間)において、暗号モジュール34にダミー動作を実行させる。このように、暗号モジュール32,33の双方が通常動作を同時に実行する期間において暗号モジュール34をダミー動作させることにより、暗号モジュール32,33が具有する消費電力特性をさらに隠蔽することができる。
In addition, the
なお、以上の説明では本変形例をメモリ装置3に適用する例について説明したが、本変形例はホスト装置2にも適用することが可能であり、同様の効果を得ることができる。 In the above description, the example in which the present modification is applied to the memory device 3 has been described. However, the present modification can also be applied to the host device 2, and the same effect can be obtained.
1 メモリシステム
2 ホスト装置
3 メモリ装置
14,21 暗号ブロック
31,51 制御回路
32〜34,52〜54 暗号モジュール
36 不正アクセス検出回路
42,62,72 セッション鍵生成回路
43,63,73 ストリームデータ生成回路
DESCRIPTION OF
Claims (16)
前記ホスト装置と前記メモリ装置との間で送受信されるデータを暗号化及び復号化するために通常動作を実行する、第1の暗号モジュール及び第2の暗号モジュールと、
ダミーの鍵情報に基づいてダミー動作を実行する第3の暗号モジュールと、
前記第3の暗号モジュールの動作を制御する制御回路と、
を備え、
前記制御回路は、前記第1の暗号モジュール及び前記第2の暗号モジュールの一方が通常動作を実行する期間において、前記第3の暗号モジュールにダミー動作を実行させる、メモリ装置。 A memory device connected to a host device,
A first cryptographic module and a second cryptographic module that perform normal operations to encrypt and decrypt data transmitted and received between the host device and the memory device;
A third cryptographic module that performs a dummy operation based on the dummy key information;
A control circuit for controlling the operation of the third cryptographic module;
With
The memory device, wherein the control circuit causes the third cryptographic module to perform a dummy operation during a period in which one of the first cryptographic module and the second cryptographic module performs a normal operation.
前記第2の暗号モジュールは、前記第1の一時データ生成回路によって生成された一時データに基づいて暗号処理を実行する第1の暗号処理回路を有し、
前記第3の暗号モジュールは、
ダミーの入力データに基づいて一時データを生成する第2の一時データ生成回路と、
前記第2の一時データ生成回路によって生成された一時データに基づいて暗号処理を実行する第2の暗号処理回路と、
を有し、
前記制御回路は、
前記第1の一時データ生成回路及び前記第1の暗号処理回路のうち前記第1の一時データ生成回路のみが通常動作を実行する期間において、前記第2の暗号処理回路にダミー動作を実行させ、
前記第1の一時データ生成回路及び前記第1の暗号処理回路のうち前記第1の暗号処理回路のみが通常動作を実行する期間において、前記第2の一時データ生成回路にダミー動作を実行させる、請求項1〜3のいずれか一つに記載のメモリ装置。 The first cryptographic module has a first temporary data generation circuit that generates temporary data based on input data;
The second cryptographic module has a first cryptographic processing circuit that performs cryptographic processing based on the temporary data generated by the first temporary data generating circuit,
The third cryptographic module is
A second temporary data generation circuit for generating temporary data based on dummy input data;
A second cryptographic processing circuit for performing cryptographic processing based on the temporary data generated by the second temporary data generating circuit;
Have
The control circuit includes:
Of the first temporary data generation circuit and the first cryptographic processing circuit, in a period in which only the first temporary data generation circuit performs a normal operation, the second cryptographic processing circuit is caused to perform a dummy operation,
Causing the second temporary data generation circuit to perform a dummy operation in a period in which only the first encryption processing circuit of the first temporary data generation circuit and the first encryption processing circuit executes a normal operation; The memory device according to claim 1.
前記制御回路は、前記不正アクセス検出回路が不正アクセスを検出した場合に、前記第3の暗号モジュールにダミー動作を実行させる、請求項1〜7のいずれか一つに記載のメモリ装置。 An unauthorized access detection circuit for detecting unauthorized access from the host device;
The memory device according to claim 1, wherein the control circuit causes the third cryptographic module to perform a dummy operation when the unauthorized access detection circuit detects unauthorized access.
前記ホスト装置と前記メモリ装置との間で送受信されるデータを暗号化及び復号化するために通常動作を実行する、第1の暗号モジュール及び第2の暗号モジュールと、
ダミーの鍵情報に基づいてダミー動作を実行する第3の暗号モジュールと、
前記第3の暗号モジュールの動作を制御する制御回路と、
を備え、
前記制御回路は、前記第1の暗号モジュール及び前記第2の暗号モジュールの一方が通常動作を実行する期間において、前記第3の暗号モジュールにダミー動作を実行させる、ホスト装置。 A host device to which a memory device is connected,
A first cryptographic module and a second cryptographic module that perform normal operations to encrypt and decrypt data transmitted and received between the host device and the memory device;
A third cryptographic module that performs a dummy operation based on the dummy key information;
A control circuit for controlling the operation of the third cryptographic module;
With
The host device, wherein the control circuit causes the third cryptographic module to perform a dummy operation during a period in which one of the first cryptographic module and the second cryptographic module performs a normal operation.
前記第2の暗号モジュールは、前記第1の一時データ生成回路によって生成された一時データに基づいて暗号処理を実行する第1の暗号処理回路を有し、
前記第3の暗号モジュールは、
ダミーの入力データに基づいて一時データを生成する第2の一時データ生成回路と、
前記第2の一時データ生成回路によって生成された一時データに基づいて暗号処理を実行する第2の暗号処理回路と、
を有し、
前記制御回路は、
前記第1の一時データ生成回路及び前記第1の暗号処理回路のうち前記第1の一時データ生成回路のみが通常動作を実行する期間において、前記第2の暗号処理回路にダミー動作を実行させ、
前記第1の一時データ生成回路及び前記第1の暗号処理回路のうち前記第1の暗号処理回路のみが通常動作を実行する期間において、前記第2の一時データ生成回路にダミー動作を実行させる、請求項9〜11のいずれか一つに記載のホスト装置。 The first cryptographic module has a first temporary data generation circuit that generates temporary data based on input data;
The second cryptographic module has a first cryptographic processing circuit that performs cryptographic processing based on the temporary data generated by the first temporary data generating circuit,
The third cryptographic module is
A second temporary data generation circuit for generating temporary data based on dummy input data;
A second cryptographic processing circuit for performing cryptographic processing based on the temporary data generated by the second temporary data generating circuit;
Have
The control circuit includes:
Of the first temporary data generation circuit and the first cryptographic processing circuit, in a period in which only the first temporary data generation circuit performs a normal operation, the second cryptographic processing circuit is caused to perform a dummy operation,
Causing the second temporary data generation circuit to perform a dummy operation in a period in which only the first encryption processing circuit of the first temporary data generation circuit and the first encryption processing circuit executes a normal operation; The host device according to any one of claims 9 to 11.
請求項9〜15のいずれか一つに記載のホスト装置と、
を備える、メモリシステム。
A memory device according to any one of claims 1 to 8,
A host device according to any one of claims 9 to 15,
A memory system.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015145324A JP6516610B2 (en) | 2015-07-22 | 2015-07-22 | Memory device, host device, and memory system |
US15/213,918 US10615959B2 (en) | 2015-07-22 | 2016-07-19 | Memory device, host device, and memory system |
US16/799,836 US11115181B2 (en) | 2015-07-22 | 2020-02-25 | Memory device, host device, and memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015145324A JP6516610B2 (en) | 2015-07-22 | 2015-07-22 | Memory device, host device, and memory system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017028506A true JP2017028506A (en) | 2017-02-02 |
JP6516610B2 JP6516610B2 (en) | 2019-05-22 |
Family
ID=57946197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015145324A Active JP6516610B2 (en) | 2015-07-22 | 2015-07-22 | Memory device, host device, and memory system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6516610B2 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003018143A (en) * | 2001-06-28 | 2003-01-17 | Mitsubishi Electric Corp | Information processor |
JP2004516706A (en) * | 2000-12-13 | 2004-06-03 | インフィネオン テクノロジーズ アクチエンゲゼルシャフト | Cryptographic processor |
JP2007195132A (en) * | 2005-12-20 | 2007-08-02 | Sony Corp | Encryption processing apparatus |
JP2013143653A (en) * | 2012-01-10 | 2013-07-22 | Canon Inc | Information processing apparatus and information processing method |
JP2015026892A (en) * | 2013-07-24 | 2015-02-05 | 株式会社メガチップス | Information processing system |
US9735953B2 (en) * | 2015-03-06 | 2017-08-15 | Qualcomm Incorporated | Side channel analysis resistant architecture |
-
2015
- 2015-07-22 JP JP2015145324A patent/JP6516610B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004516706A (en) * | 2000-12-13 | 2004-06-03 | インフィネオン テクノロジーズ アクチエンゲゼルシャフト | Cryptographic processor |
JP2003018143A (en) * | 2001-06-28 | 2003-01-17 | Mitsubishi Electric Corp | Information processor |
JP2007195132A (en) * | 2005-12-20 | 2007-08-02 | Sony Corp | Encryption processing apparatus |
JP2013143653A (en) * | 2012-01-10 | 2013-07-22 | Canon Inc | Information processing apparatus and information processing method |
JP2015026892A (en) * | 2013-07-24 | 2015-02-05 | 株式会社メガチップス | Information processing system |
US9735953B2 (en) * | 2015-03-06 | 2017-08-15 | Qualcomm Incorporated | Side channel analysis resistant architecture |
Also Published As
Publication number | Publication date |
---|---|
JP6516610B2 (en) | 2019-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3205046B1 (en) | Secure shared key sharing systems and methods | |
US11115181B2 (en) | Memory device, host device, and memory system | |
US8804949B2 (en) | Method for protecting IC cards against power analysis attacks | |
CN105940439B (en) | Countermeasure to side-channel attacks on cryptographic algorithms using permutation responses | |
US9760737B2 (en) | Techniques for integrated circuit data path confidentiality and extensions thereof | |
CN106664204B (en) | Differential power analysis strategy | |
TW201701186A (en) | Physically unclonable function assisted memory encryption device techniques | |
CN112906070B (en) | Integrated circuit and IoT devices with block cipher side channel attack mitigation and related methods | |
WO2008053626A1 (en) | Encrypting apparatus | |
JP6533553B2 (en) | Encryption / decryption device and power analysis protection method therefor | |
JP5136416B2 (en) | Pseudorandom number generator, stream cipher processor, and program | |
KR20180110550A (en) | Method and apparatus for white-box cryptography for protecting against side channel analysis | |
CN113711194A (en) | Efficient side-channel attack resistant memory encryptor based on key update | |
Unterluggauer et al. | Exploiting the physical disparity: Side-channel attacks on memory encryption | |
Ebrahimabadi et al. | A novel modeling-attack resilient arbiter-PUF design | |
EP2701101B1 (en) | Information processing devices and information processing methods | |
JP6348273B2 (en) | Information processing system | |
JP6473874B2 (en) | Memory device, host device, and memory system | |
JP2003337750A (en) | Semiconductor device with internal analysis prevention function | |
JP6516610B2 (en) | Memory device, host device, and memory system | |
US10262098B1 (en) | Field programmable gate array bitstream verification | |
JP2016025532A (en) | Communication system, communication apparatus and communication method | |
JP2007251390A (en) | Semiconductor integrated circuit | |
JPWO2015173905A1 (en) | Encryption device, storage system, decryption device, encryption method, decryption method, encryption program, and decryption program | |
Ege et al. | Practical Improvements to Statistical Ineffective Fault Attacks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170622 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180731 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180824 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181018 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190116 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20190116 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190402 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190416 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6516610 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |