[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2017028506A - Memory device, host device, and memory system - Google Patents

Memory device, host device, and memory system Download PDF

Info

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
Application number
JP2015145324A
Other languages
Japanese (ja)
Other versions
JP6516610B2 (en
Inventor
崇彦 菅原
Takahiko Sugawara
崇彦 菅原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MegaChips Corp
Original Assignee
MegaChips Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MegaChips Corp filed Critical MegaChips Corp
Priority to JP2015145324A priority Critical patent/JP6516610B2/en
Priority to US15/213,918 priority patent/US10615959B2/en
Publication of JP2017028506A publication Critical patent/JP2017028506A/en
Application granted granted Critical
Publication of JP6516610B2 publication Critical patent/JP6516610B2/en
Priority to US16/799,836 priority patent/US11115181B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a memory device in which measures against DPA (differential power analysis) attack can be implemented at low cost.SOLUTION: A memory device comprises: encryption modules 32 and 33 that execute a normal operation for encrypting and decrypting data transmitted/received between a host device and the memory device; an encryption module 34 that executes a dummy operation on the basis of a dummy key K12; a control circuit 31 that controls an operation of the encryption module 34. The control circuit 31 makes the encryption module 34 execute the dummy operation during a time period in which one of the encryption modules 32 and 33 executes the normal operation.SELECTED DRAWING: Figure 2

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 Document 1 below).

そのため近年では、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.

Paul Kocher、他2名、”Introduction to Differential Power Analysis and related Attacks”、[online]、Cryptography Research、平成27年7月1日検索、インターネット<http://www.cryptography.com/public/pdf/DPATechInfo.pdf>Paul Kocher and two others, “Introduction to Differential Power Analysis and related Attacks”, [online], Cryptography Research, search July 1, 2015, Internet <http://www.cryptography.com/public/pdf/ DPATechInfo.pdf> Daisuke Suzuki、他2名、"Random Switching Logic: A Countermeasure against DPA based on Transition Probability"、[online]、International Association for Cryptologic Research、平成27年7月1日検索、インターネット<http://eprint.iacr.org/2004/346.pdf>Daisuke Suzuki and two others, "Random Switching Logic: A Countermeasure against DPA based on Transition Probability", [online], International Association for Cryptologic Research, July 1, 2015 search, Internet <http: //eprint.iacr .org / 2004 / 346.pdf>

しかし、ホスト装置とメモリ装置とを備えるメモリシステムにおいて、上述した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.

本発明の実施の形態に係るメモリシステムの構成を示す図である。It is a figure which shows the structure of the memory system which concerns on embodiment of this invention. メモリ装置の暗号ブロックの構成を示す図である。It is a figure which shows the structure of the encryption block of a memory device. セッション鍵生成回路、ストリームデータ生成回路、及び暗号モジュールの処理内容を示すタイミングチャートである。It is a timing chart which shows the processing content of a session key generation circuit, a stream data generation circuit, and an encryption module. ホスト装置の暗号ブロックの構成を示す図である。It is a figure which shows the structure of the encryption block of a host apparatus. セッション鍵生成回路、ストリームデータ生成回路、及び暗号モジュールの処理内容を示すタイミングチャートである。It is a timing chart which shows the processing content of a session key generation circuit, a stream data generation circuit, and an encryption module. メモリ装置の暗号ブロックの構成を示す図である。It is a figure which shows the structure of the encryption block of a memory device. メモリ装置の暗号ブロックの構成を示す図である。It is a figure which shows the structure of the encryption block of a memory device. セッション鍵生成回路及びストリームデータ生成回路の処理内容を示すタイミングチャートである。It is a timing chart which shows the processing content of a session key generation circuit and a stream data generation circuit. セッション鍵生成回路、ストリームデータ生成回路、及び暗号モジュールの処理内容を示すタイミングチャートである。It is a timing chart which shows the processing content of a session key generation circuit, a stream data generation circuit, and an encryption module.

以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。   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 memory system 1 according to an embodiment of the present invention. As shown in FIG. 1, the memory system 1 includes a host device 2 and a memory device 3 such as a semiconductor memory that is detachably connected to the host device 2.

ホスト装置2は、CPU11、内部メモリ12、主制御回路13、及び暗号ブロック14を有している。メモリ装置3は、暗号ブロック14と同様の暗号ブロック21と、コンテンツデータ等の任意のデータが格納されたメモリアレイ22とを有している。暗号ブロック14,21は、ホスト装置2とメモリ装置3との間で送受信されるコマンドやデータに対して、暗号化処理及び復号化処理を実行する。   The host device 2 includes a CPU 11, an internal memory 12, a main control circuit 13, and an encryption block 14. The memory device 3 includes an encryption block 21 similar to the encryption block 14 and a memory array 22 in which arbitrary data such as content data is stored. The encryption blocks 14 and 21 execute encryption processing and decryption processing on commands and data transmitted and received between the host device 2 and the memory device 3.

図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 encryption block 21 of the memory device 3. As illustrated in FIG. 2, the encryption block 21 includes a control circuit 31, encryption modules 32 to 34, and an arithmetic circuit 35. The cryptographic module 32 has a session key generation circuit 42. The session key generation circuit 42 functions as a temporary data generation circuit, and generates a session key D12 as temporary data based on key information (secret key K11) as input data. The cryptographic module 33 has a stream data generation circuit 43. The stream data generation circuit 43 functions as an encryption processing circuit, and generates stream data D13 for stream encryption based on the key information (secret key K13) and the session key D12 input from the session key generation circuit 42. To do. The arithmetic circuit 35 restores the non-encrypted command S12 by calculating an exclusive OR of the encrypted command S11 received from the host device 2 and the stream data D13 input from the stream data generating circuit 43. Further, the arithmetic circuit 35 calculates the exclusive OR of the non-encrypted data S13 read from the memory array 22 and the stream data D13 input from the stream data generation circuit 43, thereby obtaining the encrypted data S14. Is generated.

暗号モジュール34は、暗号モジュール32,33とは異なる暗号アルゴリズムの暗号モジュールであり、コマンドやデータの暗号化及び復号化には寄与しないダミー動作を実行する。暗号モジュール34には、制御回路31から制御信号S20と鍵情報(ダミー鍵K12)とが入力される。ダミー鍵K12は、固定値であっても良いし、乱数生成器を用いた変動値であっても良い。あるいは、ダミー鍵K12は秘密鍵K11又は秘密鍵K13と同一であっても良い。なお、暗号モジュール34は、暗号モジュール32又は暗号モジュール33と同一の暗号アルゴリズムの暗号モジュールであっても良く、その場合には、ダミー鍵K12として秘密鍵K11,K13とは異なる鍵が使用される。   The cryptographic module 34 is a cryptographic module having a cryptographic algorithm different from that of the cryptographic modules 32 and 33, and performs a dummy operation that does not contribute to encryption and decryption of commands and data. The encryption module 34 receives the control signal S20 and the key information (dummy key K12) from the control circuit 31. The dummy key K12 may be a fixed value or a variable value using a random number generator. Alternatively, the dummy key K12 may be the same as the secret key K11 or the secret key K13. The cryptographic module 34 may be a cryptographic module having the same cryptographic algorithm as the cryptographic module 32 or the cryptographic module 33. In this case, a key different from the secret keys K11 and K13 is used as the dummy key K12. .

図3は、セッション鍵生成回路42、ストリームデータ生成回路43、及び暗号モジュール34の処理内容を示すタイミングチャートである。   FIG. 3 is a timing chart showing the processing contents of the session key generation circuit 42, the stream data generation circuit 43, and the encryption module 34.

コマンド処理期間(時刻T11〜T12)において、ストリームデータ生成回路43は、コマンド又はデータの暗号化又は復号化を実行するための通常動作として、ストリームデータD13の生成処理を行い、これにより暗号化コマンドS11の復号化が実行される。また、コマンド処理期間において、セッション鍵生成回路42は動作せず、暗号モジュール34はストリームデータ生成回路43の動作期間に同期してダミー動作を実行する。   In the command processing period (time T11 to T12), the stream data generation circuit 43 performs generation processing of the stream data D13 as a normal operation for executing encryption or decryption of the command or data, and thereby the encrypted command. The decryption of S11 is executed. In the command processing period, the session key generation circuit 42 does not operate, and the cryptographic module 34 executes a dummy operation in synchronization with the operation period of the stream data generation circuit 43.

レイテンシ期間(時刻T12〜T13)において、まずセッション鍵生成回路42は、通常動作としてセッション鍵D12の更新処理を行う。次にストリームデータ生成回路43は、通常動作として、更新後のセッション鍵D12を用いて初期化処理を行う。また、レイテンシ期間において、暗号モジュール34はセッション鍵生成回路42及びストリームデータ生成回路43の各動作期間に同期してダミー動作を実行する。   In the latency period (time T12 to T13), the session key generation circuit 42 first performs update processing of the session key D12 as a normal operation. Next, the stream data generation circuit 43 performs initialization processing using the updated session key D12 as a normal operation. Further, in the latency period, the cryptographic module 34 performs a dummy operation in synchronization with each operation period of the session key generation circuit 42 and the stream data generation circuit 43.

メモリアレイ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 memory array 22 is completed, the stream data generation circuit 43 performs the generation process of the stream data D13 as a normal operation, and thereby the non-encrypted data S13. Encryption is performed. In the data processing period, the session key generation circuit 42 does not operate, and the cryptographic module 34 performs a dummy operation in synchronization with the operation period of the stream data generation circuit 43.

以下、メモリアレイ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 memory array 22 from the memory device 3 to the host device 2.

メモリシステム1が起動されると、制御回路31は、メモリアレイ22の所定場所に格納されているDPA制御情報D11(ON又はOFFのフラグ情報)を読み出す。制御回路31は、DPA制御情報D11がONに設定されている場合には以下に述べるDPA対策処理を実行し、OFFに設定されている場合には実行しない。本実施の形態の例では、DPA制御情報D11はONに設定されているものとする。なお、DPA制御情報D11は、ホスト装置2から発行されるコマンドの一部に格納されていても良く、この場合には、DPA対策処理の実行の要否をホスト装置2によって簡易に切り替えることが可能となる。   When the memory system 1 is activated, the control circuit 31 reads out DPA control information D11 (ON or OFF flag information) stored at a predetermined location in the memory array 22. The control circuit 31 executes the DPA countermeasure process described below when the DPA control information D11 is set to ON, and does not execute it when it is set to OFF. In the example of the present embodiment, it is assumed that the DPA control information D11 is set to ON. The DPA control information D11 may be stored in a part of a command issued from the host apparatus 2. In this case, the host apparatus 2 can easily switch whether or not to execute the DPA countermeasure process. It becomes possible.

次に制御回路31は、DPA対策処理として暗号モジュール34のダミー動作を実行するために、制御信号S20及びダミー鍵K12を暗号モジュール34に入力する。   Next, the control circuit 31 inputs the control signal S20 and the dummy key K12 to the cryptographic module 34 in order to execute the dummy operation of the cryptographic module 34 as DPA countermeasure processing.

次にホスト装置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 encryption block 14.

次にコマンド処理期間(時刻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 data generation circuit 43 performs generation processing of the stream data D13 based on the latest session key D12 input from the session key generation circuit 42 as a normal operation. As a result, the encryption command S11 is decrypted. The cryptographic module 34 performs a dummy operation based on the dummy key K12 in synchronization with the operation period of the stream data generation circuit 43. Data generated by the dummy operation of the cryptographic module 34 may be discarded in the memory device 3 or output to the outside of the memory device 3 as dummy data.

次にレイテンシ期間(時刻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 key generation circuit 42 first generates a new session key D12 by performing update processing of the session key D12 as a normal operation. The cryptographic module 34 performs a dummy operation in synchronization with the operation period of the session key generation circuit 42. Next, the stream data generation circuit 43 performs initialization processing using the updated session key D12 as a normal operation. The cryptographic module 34 performs a dummy operation in synchronization with the operation period of the session key generation circuit 42. Next, desired data S13 is read from the memory array 22 based on the non-encrypted command S12 restored by the decryption of the encrypted command S11.

次にデータ処理期間(時刻T13〜T14)において、ストリームデータ生成回路43は、通常動作として、セッション鍵生成回路42から入力された更新後のセッション鍵D12に基づいてストリームデータD13の生成処理を行い、これにより非暗号のデータS13の暗号化が実行される。暗号化データS14は、メモリ装置3からホスト装置2に送信される。また、暗号モジュール34は、ストリームデータ生成回路43の動作期間に同期してダミー動作を実行する。   Next, in the data processing period (time T13 to T14), the stream data generation circuit 43 performs the generation process of the stream data D13 based on the updated session key D12 input from the session key generation circuit 42 as a normal operation. Thereby, the encryption of the non-encrypted data S13 is executed. The encrypted data S14 is transmitted from the memory device 3 to the host device 2. The cryptographic module 34 performs a dummy operation in synchronization with the operation period of the stream data generation circuit 43.

このように本実施の形態に係るメモリ装置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 control circuit 31, one of the cryptographic module 32 (first cryptographic module) and the cryptographic module 33 (second cryptographic module) performs a normal operation. In the period, the cryptographic module 34 (third cryptographic module) is caused to perform a dummy operation. As described above, by causing the cryptographic module 34 to perform the dummy operation, the power consumption characteristic of the cryptographic module 32 or the cryptographic module 33 that is performing the normal operation can be hidden. As a result, a countermeasure against the DPA attack can be implemented at a low cost.

また、ダミー鍵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 cryptographic module 34 accompanying the dummy operation.

また、ダミー鍵K12を変動値とすることにより、ダミー鍵K12が変動する度に暗号モジュール34の消費電力も変動するため、メモリ装置3全体の消費電力を変動させることができる。その結果、DPA攻撃による消費電力特性の解析を困難化することが可能となる。   Further, by setting the dummy key K12 as a variation value, the power consumption of the cryptographic module 34 also varies each time the dummy key K12 varies, so that the power consumption of the entire memory device 3 can be varied. As a result, it becomes possible to make it difficult to analyze the power consumption characteristics due to the DPA attack.

また、入力データとして秘密鍵K11(鍵情報)を入力することにより、セッション鍵生成回路42は、一時データとしてセッション鍵D12を生成することが可能となる。   Further, by inputting the secret key K11 (key information) as input data, the session key generation circuit 42 can generate a session key D12 as temporary data.

<第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 encryption block 14 of the host device 2. As shown in FIG. 4, the encryption block 14 includes a control circuit 51, encryption modules 52 to 54, and an arithmetic circuit 55. The cryptographic module 52 has a session key generation circuit 62. The session key generation circuit 62 functions as a temporary data generation circuit, and generates a session key D22 as temporary data based on key information (secret key K21) as input data. The cryptographic module 53 has a stream data generation circuit 63. The stream data generation circuit 63 functions as an encryption processing circuit, and generates stream data D23 for stream encryption based on the key information (secret key K23) and the session key D22 input from the session key generation circuit 62. To do. The arithmetic circuit 55 restores the non-encrypted data S24 by calculating an exclusive OR of the encrypted data S23 received from the memory device 3 and the stream data D23 input from the stream data generating circuit 63. Further, the arithmetic circuit 55 calculates the exclusive OR of the non-encrypted command S21 input from the main control circuit 13 and the stream data D23 input from the stream data generation circuit 63, thereby obtaining the encrypted command S22. Is generated.

暗号モジュール54は、暗号モジュール52,53とは異なる暗号アルゴリズムの暗号モジュールであり、コマンドやデータの暗号化及び復号化には寄与しないダミー動作を実行する。暗号モジュール54には、制御回路51から制御信号S30と鍵情報(ダミー鍵K22)とが入力される。ダミー鍵K22は、固定値であっても良いし、乱数生成器を用いた変動値であっても良い。あるいは、ダミー鍵K22は秘密鍵K21又は秘密鍵K23と同一であっても良い。なお、暗号モジュール54は、暗号モジュール52又は暗号モジュール53と同一の暗号アルゴリズムの暗号モジュールであっても良く、その場合には、ダミー鍵K22として秘密鍵K21,K23とは異なる鍵が使用される。   The cryptographic module 54 is a cryptographic module having a cryptographic algorithm different from that of the cryptographic modules 52 and 53, and executes a dummy operation that does not contribute to encryption and decryption of commands and data. The cryptographic module 54 receives a control signal S30 and key information (dummy key K22) from the control circuit 51. The dummy key K22 may be a fixed value or a variable value using a random number generator. Alternatively, the dummy key K22 may be the same as the secret key K21 or the secret key K23. The cryptographic module 54 may be a cryptographic module having the same cryptographic algorithm as the cryptographic module 52 or the cryptographic module 53. In this case, a key different from the secret keys K21 and K23 is used as the dummy key K22. .

図5は、セッション鍵生成回路62、ストリームデータ生成回路63、及び暗号モジュール54の処理内容を示すタイミングチャートである。   FIG. 5 is a timing chart showing processing contents of the session key generation circuit 62, the stream data generation circuit 63, and the encryption module 54.

コマンド処理期間(時刻T21〜T22)において、ストリームデータ生成回路63は、コマンド又はデータの暗号化又は復号化を実行するための通常動作として、ストリームデータD23の生成処理を行い、これにより非暗号のコマンドS21の暗号化が実行される。また、コマンド処理期間において、セッション鍵生成回路62は動作せず、暗号モジュール54はストリームデータ生成回路63の動作期間に同期してダミー動作を実行する。   In the command processing period (time T21 to T22), the stream data generation circuit 63 performs generation processing of the stream data D23 as a normal operation for executing encryption or decryption of the command or data, and thereby performs non-encryption. Encryption of command S21 is executed. In the command processing period, the session key generation circuit 62 does not operate, and the cryptographic module 54 performs a dummy operation in synchronization with the operation period of the stream data generation circuit 63.

レイテンシ期間(時刻T22〜T23)において、まずセッション鍵生成回路62は、通常動作としてセッション鍵D22の更新処理を行う。次にストリームデータ生成回路63は、通常動作として、更新後のセッション鍵D22を用いて初期化処理を行う。また、レイテンシ期間において、暗号モジュール54はセッション鍵生成回路62及びストリームデータ生成回路63の各動作期間に同期してダミー動作を実行する。   In the latency period (time T22 to T23), the session key generation circuit 62 first performs update processing of the session key D22 as a normal operation. Next, the stream data generation circuit 63 performs initialization processing using the updated session key D22 as a normal operation. Further, in the latency period, the cryptographic module 54 performs a dummy operation in synchronization with each operation period of the session key generation circuit 62 and the stream data generation circuit 63.

データ処理期間(時刻T23〜T24)において、ストリームデータ生成回路63は、通常動作としてストリームデータD23の生成処理を行い、これにより暗号化データS23の復号化が実行される。また、データ処理期間において、セッション鍵生成回路62は動作せず、暗号モジュール54はストリームデータ生成回路63の動作期間に同期してダミー動作を実行する。   In the data processing period (time T23 to T24), the stream data generation circuit 63 performs the generation process of the stream data D23 as a normal operation, and thereby the encrypted data S23 is decrypted. In the data processing period, the session key generation circuit 62 does not operate, and the cryptographic module 54 performs a dummy operation in synchronization with the operation period of the stream data generation circuit 63.

以下、メモリアレイ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 memory array 22 from the memory device 3 to the host device 2.

メモリシステム1が起動されると、制御回路51は、メモリアレイ22の所定場所に格納されているDPA制御情報D11を読み出す。制御回路51は、DPA制御情報D11がONに設定されている場合には以下に述べるDPA対策処理を実行し、OFFに設定されている場合には実行しない。本変形例では、DPA制御情報D11はONに設定されているものとする。   When the memory system 1 is activated, the control circuit 51 reads out DPA control information D11 stored in a predetermined location of the memory array 22. The control circuit 51 executes the DPA countermeasure process described below when the DPA control information D11 is set to ON, and does not execute it when it is set to OFF. In this modification, it is assumed that the DPA control information D11 is set to ON.

次にCPU11は、非暗号の読み出しコマンドS21を発行する。コマンドS21は、主制御回路13を介して暗号ブロック14に入力される。   Next, the CPU 11 issues a non-encrypted read command S21. The command S21 is input to the encryption block 14 via the main control circuit 13.

次にコマンド処理期間(時刻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 data generation circuit 63 performs generation processing of the stream data D23 based on the latest session key D22 input from the session key generation circuit 62 as a normal operation. Thereby, the encryption of the non-encrypted command S21 is executed. The cryptographic module 54 performs a dummy operation based on the dummy key K22 in synchronization with the operation period of the stream data generation circuit 63. The data generated by the dummy operation of the cryptographic module 54 may be discarded in the host device 2 or output to the outside of the host device 2 as dummy data.

次にレイテンシ期間(時刻T22〜T23)において、まずセッション鍵生成回路62は、通常動作としてセッション鍵D22の更新処理を行うことにより、新たなセッション鍵D22を生成する。また、暗号モジュール54は、セッション鍵生成回路62の動作期間に同期してダミー動作を実行する。次にストリームデータ生成回路63は、通常動作として、更新後のセッション鍵D22を用いて初期化処理を行う。また、暗号モジュール54は、セッション鍵生成回路62の動作期間に同期してダミー動作を実行する。   Next, in the latency period (time T22 to T23), the session key generation circuit 62 first generates a new session key D22 by performing update processing of the session key D22 as a normal operation. The cryptographic module 54 performs a dummy operation in synchronization with the operation period of the session key generation circuit 62. Next, the stream data generation circuit 63 performs initialization processing using the updated session key D22 as a normal operation. The cryptographic module 54 performs a dummy operation in synchronization with the operation period of the session key generation circuit 62.

次にデータ処理期間(時刻T23〜T24)において、ストリームデータ生成回路63は、通常動作として、セッション鍵生成回路62から入力された更新後のセッション鍵D22に基づいてストリームデータD23の生成処理を行い、これにより暗号化データS23の復号化が実行される。復号化されたデータS24は、主制御回路13を介してCPU11に入力される。   Next, in the data processing period (time T23 to T24), the stream data generation circuit 63 performs generation processing of the stream data D23 based on the updated session key D22 input from the session key generation circuit 62 as a normal operation. As a result, the encrypted data S23 is decrypted. The decrypted data S24 is input to the CPU 11 via the main control circuit 13.

このように本変形例に係るホスト装置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 control circuit 51 is configured so that one of the cryptographic module 52 (first cryptographic module) and the cryptographic module 53 (second cryptographic module) performs a normal operation. Then, the cryptographic module 54 (third cryptographic module) is caused to perform a dummy operation. As described above, by causing the cryptographic module 54 to perform the dummy operation, it is possible to hide the power consumption characteristics of the cryptographic module 52 or the cryptographic module 53 that is performing the normal operation. As a result, a countermeasure against the DPA attack can be implemented at a low cost.

また、ダミー鍵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 cryptographic module 54 associated with the dummy operation uniform.

また、ダミー鍵K22を変動値とすることにより、ダミー鍵K22が変動する度に暗号モジュール54の消費電力も変動するため、ホスト装置2全体の消費電力を変動させることができる。その結果、DPA攻撃による消費電力特性の解析を困難化することが可能となる。   Further, by setting the dummy key K22 as a variation value, the power consumption of the cryptographic module 54 varies each time the dummy key K22 varies, so that the power consumption of the entire host device 2 can be varied. As a result, it becomes possible to make it difficult to analyze the power consumption characteristics due to the DPA attack.

また、入力データとして秘密鍵K21(鍵情報)を入力することにより、セッション鍵生成回路62は、一時データとしてセッション鍵D22を生成することが可能となる。   Further, by inputting the secret key K21 (key information) as input data, the session key generation circuit 62 can generate a session key D22 as temporary data.

<第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 encryption block 21 of the memory device 3. An unauthorized access detection circuit 36 is added to the configuration shown in FIG. The unauthorized access detection circuit 36 receives the unencrypted command S12 restored by the decryption from the arithmetic circuit 35.

不正アクセス検出回路36は、例えば、所定のアクセス禁止領域へのアクセス要求、メモリアレイ22のデータ容量を超えるアクセス要求、コマンドIDが定義されていない未定義コマンドによるアクセス要求、及び、規定のコマンドシーケンス以外のシーケンスによるアクセス要求等をホスト装置2から受けた場合に、そのアクセスを不正アクセスとして検出し、不正アクセス検出信号D14を制御回路31に入力する。   The unauthorized access detection circuit 36, for example, receives an access request to a predetermined access prohibited area, an access request exceeding the data capacity of the memory array 22, an access request by an undefined command with no command ID defined, and a prescribed command sequence. When an access request or the like based on a sequence other than the above is received from the host device 2, the access is detected as an unauthorized access, and an unauthorized access detection signal D 14 is input to the control circuit 31.

制御回路31は、不正アクセス検出信号D14が入力されたことを実行条件として、上記実施の形態で説明したDPA対策処理を実行する。   The control circuit 31 executes the DPA countermeasure process described in the above embodiment on the condition that the unauthorized access detection signal D14 is input.

このように本変形例に係るメモリ装置3によれば、制御回路31は、不正アクセス検出回路36が不正アクセスを検出した場合に、DPA対策処理を実行する。従って、メモリシステム1の可用性を確保できるとともに、不正アクセスを検出しない場合にダミー動作を実行させることに起因する消費電力の増大を回避することが可能となる。   As described above, according to the memory device 3 according to the present modification, the control circuit 31 executes the DPA countermeasure process when the unauthorized access detection circuit 36 detects unauthorized access. Therefore, it is possible to ensure the availability of the memory system 1 and avoid an increase in power consumption caused by executing a dummy operation when no unauthorized access is detected.

<第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 encryption block 21 of the memory device 3. As illustrated in FIG. 7, the encryption block 21 includes a control circuit 31, encryption modules 32 to 34, and an arithmetic circuit 35. The encryption module 34 includes a session key generation circuit 72 (second temporary data generation circuit) similar to the session key generation circuit 42 (first temporary data generation circuit) and a stream data generation circuit 43 (first encryption processing circuit). ) And the same stream data generation circuit 73 (second encryption processing circuit).

図8は、セッション鍵生成回路42,72及びストリームデータ生成回路43,73の処理内容を示すタイミングチャートである。   FIG. 8 is a timing chart showing processing contents of the session key generation circuits 42 and 72 and the stream data generation circuits 43 and 73.

コマンド処理期間(時刻T11〜T12)において、ストリームデータ生成回路43は、通常動作としてストリームデータD13の生成処理を行い、これにより暗号化コマンドS11の復号化が実行される。この時、セッション鍵生成回路42及びストリームデータ生成回路73は動作せず、セッション鍵生成回路72はストリームデータ生成回路43の動作期間に同期してダミー動作を実行する。   In the command processing period (time T11 to T12), the stream data generation circuit 43 performs the generation process of the stream data D13 as a normal operation, and thereby the encryption command S11 is decrypted. At this time, the session key generation circuit 42 and the stream data generation circuit 73 do not operate, and the session key generation circuit 72 executes a dummy operation in synchronization with the operation period of the stream data generation circuit 43.

レイテンシ期間(時刻T12〜T13)において、まずセッション鍵生成回路42は、通常動作としてセッション鍵D12の更新処理を行う。この時、ストリームデータ生成回路43及びセッション鍵生成回路72は動作せず、ストリームデータ生成回路73はセッション鍵生成回路42の動作期間に同期してダミー動作を実行する。次にストリームデータ生成回路43は、通常動作として、更新後のセッション鍵D12を用いて初期化処理を行う。この時、セッション鍵生成回路42及びストリームデータ生成回路73は動作せず、セッション鍵生成回路72はストリームデータ生成回路43の動作期間に同期してダミー動作を実行する。   In the latency period (time T12 to T13), the session key generation circuit 42 first performs update processing of the session key D12 as a normal operation. At this time, the stream data generation circuit 43 and the session key generation circuit 72 do not operate, and the stream data generation circuit 73 executes a dummy operation in synchronization with the operation period of the session key generation circuit 42. Next, the stream data generation circuit 43 performs initialization processing using the updated session key D12 as a normal operation. At this time, the session key generation circuit 42 and the stream data generation circuit 73 do not operate, and the session key generation circuit 72 executes a dummy operation in synchronization with the operation period of the stream data generation circuit 43.

データ処理期間(時刻T13〜T14)において、ストリームデータ生成回路43は、通常動作としてストリームデータD13の生成処理を行い、これにより非暗号のデータS13の暗号化が実行される。この時、セッション鍵生成回路42及びストリームデータ生成回路73は動作せず、セッション鍵生成回路72はストリームデータ生成回路43の動作期間に同期してダミー動作を実行する。   In the data processing period (time T13 to T14), the stream data generation circuit 43 performs the generation process of the stream data D13 as a normal operation, and thereby the encryption of the non-encrypted data S13 is executed. At this time, the session key generation circuit 42 and the stream data generation circuit 73 do not operate, and the session key generation circuit 72 executes a dummy operation in synchronization with the operation period of the stream data generation circuit 43.

このように本変形例に係るメモリ装置3によれば、制御回路31は、セッション鍵生成回路42のみが通常動作を実行する期間においてはストリームデータ生成回路73にダミー動作を実行させ、ストリームデータ生成回路43のみが通常動作を実行する期間においてはセッション鍵生成回路72にダミー動作を実行させる。これにより、メモリ装置3全体の消費電力を均一化できるため、DPA攻撃による消費電力特性の解析を困難化することが可能となる。   As described above, according to the memory device 3 according to the present modification, the control circuit 31 causes the stream data generation circuit 73 to perform the dummy operation during the period in which only the session key generation circuit 42 executes the normal operation, thereby generating the stream data. In a period in which only the circuit 43 executes the normal operation, the session key generation circuit 72 is caused to execute a dummy operation. As a result, the power consumption of the entire memory device 3 can be made uniform, which makes it difficult to analyze the power consumption characteristics due to the DPA attack.

なお、以上の説明では本変形例をメモリ装置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 key generation circuit 42, the stream data generation circuit 43, and the encryption module 34.

コマンド処理期間(時刻T11〜T12)において、ストリームデータ生成回路43は、通常動作としてストリームデータD13の生成処理を行い、これにより暗号化コマンドS11の復号化が実行される。この時、セッション鍵生成回路42及び暗号モジュール34は、ストリームデータ生成回路43の動作期間に同期してダミー動作を実行する。   In the command processing period (time T11 to T12), the stream data generation circuit 43 performs the generation process of the stream data D13 as a normal operation, and thereby the encryption command S11 is decrypted. At this time, the session key generation circuit 42 and the encryption module 34 execute a dummy operation in synchronization with the operation period of the stream data generation circuit 43.

制御回路31は、セッション鍵生成回路42のダミー動作を実行するために、セッション鍵生成回路42の現在の設定内容を示す状態遷移情報を暗号モジュール32から読み出し、制御回路31が内部に有する保持回路に当該状態遷移情報を保持する。また、制御回路31は、秘密鍵K11に代えて固定値又は変動値のダミー鍵をセッション鍵生成回路42に入力する。セッション鍵生成回路42は、当該ダミー鍵に基づいてダミーのセッション鍵D12を生成する。   In order to execute the dummy operation of the session key generation circuit 42, the control circuit 31 reads state transition information indicating the current setting contents of the session key generation circuit 42 from the cryptographic module 32, and the control circuit 31 has a holding circuit included therein. Holds the state transition information. In addition, the control circuit 31 inputs a fixed value or variable value dummy key to the session key generation circuit 42 instead of the secret key K11. The session key generation circuit 42 generates a dummy session key D12 based on the dummy key.

次にレイテンシ期間(時刻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 control circuit 31 writes back the state transition information held by the holding circuit to the session key generation circuit 42. Thereby, the setting content of the session key generation circuit 42 is reset to the state before the dummy operation is executed. The control circuit 31 inputs the secret key K11 to the session key generation circuit 42 instead of the dummy key. The session key generation circuit 42 generates a new session key D12 to be used next time by performing update processing of the session key D12 as a normal operation. At the same time, the stream data generation circuit 43 performs an initialization process as a normal operation using the session key D12 before update that is currently input. At this time, the cryptographic module 34 performs a dummy operation in synchronization with the operation periods of the session key generation circuit 42 and the stream data generation circuit 43.

次にデータ処理期間(時刻T13〜T14)において、ストリームデータ生成回路43は、通常動作としてストリームデータD13の生成処理を行い、これにより非暗号のデータS13の暗号化が実行される。この時、セッション鍵生成回路42及び暗号モジュール34は、ストリームデータ生成回路43の動作期間に同期してダミー動作を実行する。   Next, in the data processing period (time T13 to T14), the stream data generation circuit 43 performs the generation process of the stream data D13 as a normal operation, and thereby the non-encrypted data S13 is encrypted. At this time, the session key generation circuit 42 and the encryption module 34 execute a dummy operation in synchronization with the operation period of the stream data generation circuit 43.

このように本変形例に係るメモリ装置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 control circuit 31 is configured so that the cryptographic module 33 performs a normal operation and the cryptographic module 32 does not perform a normal operation (command processing period and data processing period). The cryptographic modules 32 and 34 are caused to perform a dummy operation. As described above, the power consumption characteristics of the cryptographic module 33 can be further concealed by performing the dummy operation of the cryptographic modules 32 and 34 during the period in which only the cryptographic module 33 performs the normal operation.

また、制御回路31は、暗号モジュール32,33の双方が同時に通常動作を実行する期間(レイテンシ期間)において、暗号モジュール34にダミー動作を実行させる。このように、暗号モジュール32,33の双方が通常動作を同時に実行する期間において暗号モジュール34をダミー動作させることにより、暗号モジュール32,33が具有する消費電力特性をさらに隠蔽することができる。   In addition, the control circuit 31 causes the cryptographic module 34 to execute a dummy operation in a period (latency period) in which both the cryptographic modules 32 and 33 simultaneously perform normal operations. As described above, the power consumption characteristics of the cryptographic modules 32 and 33 can be further concealed by performing the dummy operation of the cryptographic module 34 during the period in which both of the cryptographic modules 32 and 33 perform the normal operation simultaneously.

なお、以上の説明では本変形例をメモリ装置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 SYMBOLS 1 Memory system 2 Host apparatus 3 Memory apparatus 14, 21 Encryption block 31, 51 Control circuit 32-34, 52-54 Encryption module 36 Unauthorized access detection circuit 42, 62, 72 Session key generation circuit 43, 63, 73 Stream data generation circuit

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の暗号モジュールにダミー動作を実行させる、請求項1に記載のメモリ装置。   The control circuit further causes the first cryptographic module to perform a dummy operation during a period in which the second cryptographic module performs a normal operation and the first cryptographic module does not perform a normal operation. The memory device described. 前記制御回路はさらに、前記第1の暗号モジュール及び前記第2の暗号モジュールの双方が同時に通常動作を実行する期間において、前記第3の暗号モジュールにダミー動作を実行させる、請求項2に記載のメモリ装置。   3. The control circuit according to claim 2, wherein the control circuit further 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. Memory device. 前記第1の暗号モジュールは、入力データに基づいて一時データを生成する第1の一時データ生成回路を有し、
前記第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.
前記ダミーの入力データは固定値である、請求項4に記載のメモリ装置。   The memory device according to claim 4, wherein the dummy input data is a fixed value. 前記ダミーの入力データは変動値である、請求項4に記載のメモリ装置。   The memory device according to claim 4, wherein the dummy input data is a variable value. 前記入力データは鍵情報である、請求項4〜6のいずれか一つに記載のメモリ装置。   The memory device according to claim 4, wherein the input data is key information. 前記ホスト装置からの不正アクセスを検出する不正アクセス検出回路をさらに備え、
前記制御回路は、前記不正アクセス検出回路が不正アクセスを検出した場合に、前記第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の暗号モジュールにダミー動作を実行させる、請求項9に記載のホスト装置。   The control circuit further causes the first cryptographic module to perform a dummy operation during a period when the second cryptographic module performs a normal operation and the first cryptographic module does not perform a normal operation. The host device described. 前記制御回路はさらに、前記第1の暗号モジュール及び前記第2の暗号モジュールの双方が同時に通常動作を実行する期間において、前記第3の暗号モジュールにダミー動作を実行させる、請求項10に記載のホスト装置。   11. The control circuit according to claim 10, wherein the control circuit further 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. Host device. 前記第1の暗号モジュールは、入力データに基づいて一時データを生成する第1の一時データ生成回路を有し、
前記第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.
前記ダミーの入力データは固定値である、請求項12に記載のホスト装置。   The host device according to claim 12, wherein the dummy input data is a fixed value. 前記ダミーの入力データは変動値である、請求項12に記載のメモリ装置。   The memory device according to claim 12, wherein the dummy input data is a variable value. 前記入力データは鍵情報である、請求項12〜14のいずれか一つに記載のメモリ装置。   The memory device according to claim 12, wherein the input data is key information. 請求項1〜8のいずれか一つに記載のメモリ装置と、
請求項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.
JP2015145324A 2015-07-22 2015-07-22 Memory device, host device, and memory system Active JP6516610B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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