JP2017028505A - メモリ装置、ホスト装置、及びメモリシステム - Google Patents

メモリ装置、ホスト装置、及びメモリシステム Download PDF

Info

Publication number
JP2017028505A
JP2017028505A JP2015145323A JP2015145323A JP2017028505A JP 2017028505 A JP2017028505 A JP 2017028505A JP 2015145323 A JP2015145323 A JP 2015145323A JP 2015145323 A JP2015145323 A JP 2015145323A JP 2017028505 A JP2017028505 A JP 2017028505A
Authority
JP
Japan
Prior art keywords
cryptographic module
circuit
dummy
generation circuit
memory device
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
JP2015145323A
Other languages
English (en)
Other versions
JP6473874B2 (ja
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 JP2015145323A priority Critical patent/JP6473874B2/ja
Priority to US15/213,918 priority patent/US10615959B2/en
Publication of JP2017028505A publication Critical patent/JP2017028505A/ja
Application granted granted Critical
Publication of JP6473874B2 publication Critical patent/JP6473874B2/ja
Priority to US16/799,836 priority patent/US11115181B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】DPA攻撃に対する対策を低コストで実装することが可能なメモリ装置を得る。【解決手段】制御回路31は、暗号モジュール33が通常動作を実行し、暗号モジュール32が通常動作を実行しないコマンド処理期間及びデータ処理期間において、暗号モジュール32にダミー動作を実行させる。【選択図】図2

Description

本発明は、メモリ装置、ホスト装置、及びそれらを備えるメモリシステムに関する。
ホスト装置とそれに接続されるメモリ装置とを備えるメモリシステムにおいて、両装置間で送受信されるコマンドやデータを暗号化することによってセキュリティ性を向上させたメモリシステムが実用化されている。
現在使用されている暗号方式は、暗号学的な解析手法に対して計算量的に安全であるとされている。しかし、実際にメモリシステムに暗号モジュールを実装する場合には、消費電力や処理時間のような、実装に依存したリークが発生する。そのような動作状況を様々な物理的手段で観察することにより、秘密鍵等の秘密情報を不正に取得しようとするサイドチャネル攻撃の脅威が増している。
サイドチャネル攻撃の一つとして、装置の消費電力を測定することによって秘密情報を解析する電力解析攻撃がある。その中でも、測定した複数の消費電力波形に対して統計処理による解析を行う差分電力解析(DPA:Differential Power Analysis)が、特に強力な攻撃法として報告されている(下記非特許文献1参照)。
そのため近年では、DPA攻撃に対する種々の対策回路が提案されており、例えば下記非特許文献2には、RSL(Random Switching Logic)回路及びWDDL(Wave Dynamic Differential Logic)回路が提案されている。RSL回路は、乱数を用いて論理回路の動作モードを切り替えることによって状態遷移確率の偏りをなくし、それによって暗号鍵に依存しないよう消費電力をランダム化する。WDDL回路は、プリチャージ動作を行った後、演算時のビット値の違いに起因する消費電流の相違を相補回路によって低減することにより、消費電力を均一化する。
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> 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>
しかし、ホスト装置とメモリ装置とを備えるメモリシステムにおいて、上述したRSL回路又はWDDL回路を装置に実装する場合には、これらの回路を実装しない装置と比較して、演算時間、回路規模、及び消費電力が2〜3倍以上に増大するため、コストが増大する。
本発明はかかる事情に鑑みて成されたものであり、DPA攻撃に対する対策を低コストで実装することが可能な、メモリ装置、ホスト装置、及びそれらを備えるメモリシステムを得ることを目的とするものである。
本発明の第1の態様に係るメモリ装置は、ホスト装置に接続されるメモリ装置であって、前記ホスト装置と前記メモリ装置との間で送受信されるデータを暗号化及び復号化するために通常動作を実行する、第1の暗号モジュール及び第2の暗号モジュールと、前記第1の暗号モジュール及び前記第2の暗号モジュールの動作を制御する制御回路と、を備え、前記制御回路は、前記第2の暗号モジュールが通常動作を実行し前記第1の暗号モジュールが通常動作を実行しない第1の期間において、前記第1の暗号モジュールにダミー動作を実行させることを特徴とするものである。
第1の態様に係るメモリ装置によれば、制御回路は、第2の暗号モジュールが通常動作を実行し第1の暗号モジュールが通常動作を実行しない第1の期間において、第1の暗号モジュールにダミー動作を実行させる。このように、第2の暗号モジュールのみが通常動作を実行する第1の期間において第1の暗号モジュールをダミー動作させることにより、第2の暗号モジュールが具有する消費電力特性を隠蔽することができる。その結果、DPA攻撃に対する対策を低コストで実装することが可能となる。
本発明の第2の態様に係るメモリ装置は、第1の態様に係るメモリ装置において特に、前記制御回路は、第1の期間とは異なる第2の期間において、前記第1の暗号モジュール及び前記第2の暗号モジュールの双方を同時に通常動作させることを特徴とするものである。
第2の態様に係るメモリ装置によれば、制御回路は、第2の期間において、第1の暗号モジュール及び第2の暗号モジュールの双方を同時に通常動作させる。このように、第1の暗号モジュール及び第2の暗号モジュールの双方を同時に通常動作させることにより、一方のみを通常動作させた場合に露呈する消費電力特性を隠蔽することができる。その結果、DPA攻撃に対する対策を低コストで実装することが可能となる。
本発明の第3の態様に係るメモリ装置は、第1又は第2の態様に係るメモリ装置において特に、前記第1の暗号モジュールは、入力データに基づいて一時データを生成する一時データ生成回路を有し、前記第2の暗号モジュールは、前記一時データ生成回路によって生成された一時データに基づいて暗号処理を実行する暗号処理回路を有し、前記制御回路は、第1の期間において、ダミーの入力データを前記一時データ生成回路に入力することを特徴とするものである。
第3の態様に係るメモリ装置によれば、制御回路は、第1の期間において、ダミーの入力データを一時データ生成回路に入力する。このように、ダミーの入力データを一時データ生成回路に入力することにより、一時データ生成回路にダミーの一時データを生成するダミー動作を実行させることが可能となる。
本発明の第4の態様に係るメモリ装置は、第3の態様に係るメモリ装置において特に、前記ダミーの入力データは固定値であることを特徴とするものである。
第4の態様に係るメモリ装置によれば、ダミーの入力データは固定値である。このように、ダミーの入力データをあえて固定値とし、何らかの鍵データの生成処理が実行されていることを攻撃者に予見させることにより、解析によってダミーの入力データを特定するという無駄な作業を攻撃者に行わせる効果が期待できる。その結果、真の入力データを長期間保護することが可能となる。また、ダミーの入力データを固定値とすることにより、ダミー動作に伴う一時データ生成回路の消費電力を均一化することが可能となる。
本発明の第5の態様に係るメモリ装置は、第3の態様に係るメモリ装置において特に、前記ダミーの入力データは変動値であることを特徴とするものである。
第5の態様に係るメモリ装置によれば、ダミーの入力データは変動値である。従って、ダミーの入力データが変動する度に一時データ生成回路の消費電力も変動するため、メモリ装置全体の消費電力を変動させることができる。その結果、DPA攻撃による消費電力特性の解析を困難化することが可能となる。
本発明の第6の態様に係るメモリ装置は、第3〜第5のいずれか一つの態様に係るメモリ装置において特に、前記制御回路は、前記一時データ生成回路の状態遷移情報を保持する保持回路を有し、前記第1の暗号モジュールにダミー動作を実行させる場合には、最新の状態遷移情報を前記保持回路に退避し、次に前記一時データ生成回路に通常動作を実行させる場合には、前記保持回路が保持している状態遷移情報を前記一時データ生成回路に書き戻すことを特徴とするものである。
第6の態様に係るメモリ装置によれば、制御回路は、第1の暗号モジュールにダミー動作を実行させる場合には、一時データ生成回路の最新の状態遷移情報を保持回路に退避し、次に一時データ生成回路に通常動作を実行させる場合には、保持回路が保持している状態遷移情報を一時データ生成回路に書き戻す。これにより、一時データ生成回路はダミー動作後の通常動作において一時データを齟齬なく生成することが可能となる。
本発明の第7の態様に係るメモリ装置は、第3〜第6のいずれか一つの態様に係るメモリ装置において特に、前記入力データは鍵情報であることを特徴とするものである。
第7の態様に係るメモリ装置によれば、入力データとして鍵情報を入力することにより、一時データ生成回路は、一時データとしてセッション鍵を生成することが可能となる。
本発明の第8の態様に係るメモリ装置は、第1〜第7のいずれか一つの態様に係るメモリ装置において特に、前記ホスト装置からの不正アクセスを検出する不正アクセス検出回路をさらに備え、前記制御回路は、前記不正アクセス検出回路が不正アクセスを検出した場合に、第1の期間において前記第2の暗号モジュールにダミー動作を実行させることを特徴とするものである。
第8の態様に係るメモリ装置によれば、制御回路は、不正アクセス検出回路が不正アクセスを検出した場合に、第1の期間において第2の暗号モジュールにダミー動作を実行させる。従って、システムの可用性を確保できるとともに、不正アクセスを検出しない場合にダミー動作を実行させることに起因する消費電力の増大を回避することが可能となる。
本発明の第9の態様に係るホスト装置は、メモリ装置が接続されるホスト装置であって、前記ホスト装置と前記メモリ装置との間で送受信されるデータを暗号化及び復号化するために通常動作を実行する、第1の暗号モジュール及び第2の暗号モジュールと、前記第1の暗号モジュール及び前記第2の暗号モジュールの動作を制御する制御回路と、を備え、前記制御回路は、前記第2の暗号モジュールが通常動作を実行し前記第1の暗号モジュールが通常動作を実行しない第1の期間において、前記第1の暗号モジュールにダミー動作を実行させることを特徴とするものである。
第9の態様に係るホスト装置によれば、制御回路は、第2の暗号モジュールが通常動作を実行し第1の暗号モジュールが通常動作を実行しない第1の期間において、第1の暗号モジュールにダミー動作を実行させる。このように、第2の暗号モジュールのみが通常動作を実行する第1の期間において第1の暗号モジュールをダミー動作させることにより、第2の暗号モジュールが具有する消費電力特性を隠蔽することができる。その結果、DPA攻撃に対する対策を低コストで実装することが可能となる。
本発明の第10の態様に係るホスト装置は、第9の態様に係るホスト装置において特に、前記制御回路は、第1の期間とは異なる第2の期間において、前記第1の暗号モジュール及び前記第2の暗号モジュールの双方を同時に通常動作させることを特徴とするものである。
第10の態様に係るホスト装置によれば、制御回路は、第2の期間において、第1の暗号モジュール及び第2の暗号モジュールの双方を同時に通常動作させる。このように、第1の暗号モジュール及び第2の暗号モジュールの双方を同時に通常動作させることにより、一方のみを通常動作させた場合に露呈する消費電力特性を隠蔽することができる。その結果、DPA攻撃に対する対策を低コストで実装することが可能となる。
本発明の第11の態様に係るホスト装置は、第9又は第10の態様に係るホスト装置において特に、前記第1の暗号モジュールは、入力データに基づいて一時データを生成する一時データ生成回路を有し、前記第2の暗号モジュールは、前記一時データ生成回路によって生成された一時データに基づいて暗号処理を実行する暗号処理回路を有し、前記制御回路は、第1の期間において、ダミーの入力データを前記一時データ生成回路に入力することを特徴とするものである。
第11の態様に係るホスト装置によれば、制御回路は、第1の期間において、ダミーの入力データを一時データ生成回路に入力する。このように、ダミーの入力データを一時データ生成回路に入力することにより、一時データ生成回路にダミーの一時データを生成するダミー動作を実行させることが可能となる。
本発明の第12の態様に係るホスト装置は、第11の態様に係るホスト装置において特に、前記ダミーの入力データは固定値であることを特徴とするものである。
第12の態様に係るホスト装置によれば、ダミーの入力データは固定値である。このように、ダミーの入力データをあえて固定値とし、何らかの鍵データの生成処理が実行されていることを攻撃者に予見させることにより、解析によってダミーの入力データを特定するという無駄な作業を攻撃者に行わせる効果が期待できる。その結果、真の入力データを長期間保護することが可能となる。また、ダミーの入力データを固定値とすることにより、ダミー動作に伴う一時データ生成回路の消費電力を均一化することが可能となる。
本発明の第13の態様に係るホスト装置は、第11の態様に係るホスト装置において特に、前記ダミーの入力データは変動値であることを特徴とするものである。
第13の態様に係るホスト装置によれば、ダミーの入力データは変動値である。従って、ダミーの入力データが変動する度に一時データ生成回路の消費電力も変動するため、ホスト装置全体の消費電力を変動させることができる。その結果、DPA攻撃による消費電力特性の解析を困難化することが可能となる。
本発明の第14の態様に係るホスト装置は、第11〜第13のいずれか一つの態様に係るホスト装置において特に、前記制御回路は、前記一時データ生成回路の状態遷移情報を保持する保持回路を有し、前記第1の暗号モジュールにダミー動作を実行させる場合には、最新の状態遷移情報を前記保持回路に退避し、次に前記一時データ生成回路に通常動作を実行させる場合には、前記保持回路が保持している状態遷移情報を前記一時データ生成回路に書き戻すことを特徴とするものである。
第14の態様に係るホスト装置によれば、制御回路は、第1の暗号モジュールにダミー動作を実行させる場合には、一時データ生成回路の最新の状態遷移情報を保持回路に退避し、次に一時データ生成回路に通常動作を実行させる場合には、保持回路が保持している状態遷移情報を一時データ生成回路に書き戻す。これにより、一時データ生成回路はダミー動作後の通常動作において一時データを齟齬なく生成することが可能となる。
本発明の第15の態様に係るホスト装置は、第11〜第14のいずれか一つの態様に係るホスト装置において特に、前記入力データは鍵情報であることを特徴とするものである。
第15の態様に係るホスト装置によれば、入力データとして鍵情報を入力することにより、一時データ生成回路は、一時データとしてセッション鍵を生成することが可能となる。
本発明の第16の態様に係るメモリシステムは、第1〜第8のいずれか一つの態様に係るメモリ装置と、第9〜第15のいずれか一つの態様に係るホスト装置と、を備えることを特徴とするものである。
第16の態様に係るメモリシステムによれば、メモリ装置及びホスト装置の双方においてDPA攻撃に対する対策がそれぞれ実装されているため、メモリシステム全体としてDPA攻撃に対する耐性を高めることが可能となる。
本発明によれば、DPA攻撃に対する対策を低コストで実装することが可能となる。
本発明の実施の形態に係るメモリシステムの構成を示す図である。 メモリ装置の暗号ブロックの構成を示す図である。 セッション鍵生成回路及びストリームデータ生成回路の処理内容を示すタイミングチャートである。 ホスト装置の暗号ブロックの構成を示す図である。 セッション鍵生成回路及びストリームデータ生成回路の処理内容を示すタイミングチャートである。 メモリ装置の暗号ブロックの構成を示す図である。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
図1は、本発明の実施の形態に係るメモリシステム1の構成を簡略化して示す図である。図1に示すようにメモリシステム1は、ホスト装置2と、ホスト装置2に着脱自在に接続される半導体メモリ等のメモリ装置3とを備えて構成されている。
ホスト装置2は、CPU11、内部メモリ12、主制御回路13、及び暗号ブロック14を有している。メモリ装置3は、暗号ブロック14と同様の暗号ブロック21と、コンテンツデータ等の任意のデータが格納されたメモリアレイ22とを有している。暗号ブロック14,21は、ホスト装置2とメモリ装置3との間で送受信されるコマンドやデータに対して、暗号化処理及び復号化処理を実行する。
図2は、メモリ装置3の暗号ブロック21の構成を示す図である。図2に示すように暗号ブロック21は、制御回路31、暗号モジュール32,33、セレクタ34、及び演算回路35を有している。制御回路31は、レジスタ等の保持回路41を有している。暗号モジュール32は、セッション鍵生成回路42を有している。セッション鍵生成回路42は、一時データ生成回路として機能し、セレクタ34から入力された入力データとしての鍵情報(秘密鍵K11又はダミー鍵K12)に基づいて、一時データとしてのセッション鍵D12を生成する。暗号モジュール33は、ストリームデータ生成回路43を有している。ストリームデータ生成回路43は、暗号処理回路として機能し、鍵情報(秘密鍵K13)と、セッション鍵生成回路42から入力されたセッション鍵D12とに基づいて、ストリーム暗号のためのストリームデータD13を生成する。演算回路35は、ホスト装置2から受信した暗号化コマンドS11と、ストリームデータ生成回路43から入力されたストリームデータD13との排他的論理和を演算することにより、非暗号のコマンドS12を復元する。また、演算回路35は、メモリアレイ22から読み出された非暗号のデータS13と、ストリームデータ生成回路43から入力されたストリームデータD13との排他的論理和を演算することにより、暗号化データS14を生成する。
図3は、セッション鍵生成回路42及びストリームデータ生成回路43の処理内容を示すタイミングチャートである。コマンド処理期間(時刻T11〜T12)において、ストリームデータ生成回路43は、コマンド又はデータの暗号化又は復号化を実行するための通常動作として、ストリームデータD13の生成処理を行い、これにより暗号化コマンドS11の復号化が実行される。また、コマンド処理期間において、セッション鍵生成回路42は、通常動作ではないダミー動作を実行する。レイテンシ期間(時刻T12〜T13)において、セッション鍵生成回路42は、通常動作としてセッション鍵D12の更新処理を行う。それと同時にストリームデータ生成回路43は、通常動作として、現在入力されている更新前のセッション鍵D12を用いて初期化処理を行う。メモリアレイ22からのデータの読み出しが完了した後のデータ処理期間(時刻T13〜T14)において、ストリームデータ生成回路43は、通常動作としてストリームデータD13の生成処理を行い、これにより非暗号のデータS13の暗号化が実行される。また、データ処理期間においてセッション鍵生成回路42は、通常動作ではないダミー動作を実行する。
以下、メモリアレイ22に格納されているデータをメモリ装置3からホスト装置2に読み出す処理を例にとり、メモリ装置3の動作を詳細に説明する。
メモリシステム1が起動されると、制御回路31は、メモリアレイ22の所定場所に格納されているDPA制御情報D11(ON又はOFFのフラグ情報)を読み出す。制御回路31は、DPA制御情報D11がONに設定されている場合には以下に述べるDPA対策処理を実行し、OFFに設定されている場合には実行しない。本実施の形態の例では、DPA制御情報D11はONに設定されているものとする。なお、DPA制御情報D11は、ホスト装置2から発行されるコマンドの一部に格納されていても良く、この場合には、DPA対策処理の実行の要否をホスト装置2によって簡易に切り替えることが可能となる。
次に制御回路31は、DPA対策処理としてセッション鍵生成回路42のダミー動作を実行するために、セッション鍵生成回路42の現在の設定内容を示す状態遷移情報を、暗号モジュール32から読み出す。そして、読み出した状態遷移情報を、保持回路41によって保持する。また、制御回路31は、セレクタ34にダミー鍵K12を選択させる。ダミー鍵K12は、固定値であっても良いし、乱数生成器を用いた変動値であっても良い。あるいは、ダミー鍵K12は秘密鍵K11と同一であっても良い。
次にホスト装置2は、CPU11が発行した読み出しコマンドを暗号ブロック14によって暗号化することにより、暗号化コマンドS11をメモリ装置3に送信する。
次にコマンド処理期間(時刻T11〜T12)において、セッション鍵生成回路42は、ダミー鍵K12に基づいてダミーのセッション鍵D12を生成するダミー動作を実行する。生成されたダミーのセッション鍵D12は、ストリームデータ生成回路43には入力されない。また、コマンド処理期間においてストリームデータ生成回路43は、通常動作として、セッション鍵生成回路42から入力された最新のセッション鍵D12に基づいてストリームデータD13の生成処理を行い、これにより暗号化コマンドS11の復号化が実行される。
次にレイテンシ期間(時刻T12〜T13)において、制御回路31は、保持回路41が保持している状態遷移情報をセッション鍵生成回路42に書き戻す。これにより、セッション鍵生成回路42の設定内容は、ダミー動作を実行する前の状態に再設定される。また、制御回路31は、セレクタ34に秘密鍵K11を選択させる。セッション鍵生成回路42は、通常動作としてセッション鍵D12の更新処理を行うことにより、次回に使用する新たなセッション鍵D12を生成する。それと同時にストリームデータ生成回路43は、通常動作として、現在入力されている更新前のセッション鍵D12を用いて初期化処理を行う。
次に制御回路31は、DPA対策処理としてセッション鍵生成回路42のダミー動作を実行するために、セッション鍵生成回路42の現在の設定内容(つまり更新後の設定内容)を示す状態遷移情報を、暗号モジュール32から読み出す。そして、読み出した状態遷移情報を、保持回路41によって保持する。また、制御回路31は、セレクタ34にダミー鍵K12を選択させる。
次に、上述した暗号化コマンドS11の復号化によって復元された非暗号のコマンドS12に基づいて、メモリアレイ22から所望のデータS13が読み出される。
次にデータ処理期間(時刻T13〜T14)において、セッション鍵生成回路42は、ダミー鍵K12に基づいてダミーのセッション鍵D12を生成するダミー動作を実行する。生成されたダミーのセッション鍵D12は、ストリームデータ生成回路43には入力されない。また、データ処理期間においてストリームデータ生成回路43は、通常動作として、セッション鍵生成回路42から入力されたセッション鍵D12に基づいてストリームデータD13の生成処理を行い、これにより非暗号のデータS13の暗号化が実行される。暗号化データS14は、メモリ装置3からホスト装置2に送信される。
このように本実施の形態に係るメモリ装置3によれば、制御回路31は、暗号モジュール33(第2の暗号モジュール)が通常動作を実行し、暗号モジュール32(第1の暗号モジュール)が通常動作を実行しないコマンド処理期間及びデータ処理期間(第1の期間)において、暗号モジュール32にダミー動作を実行させる。このように、暗号モジュール33のみが通常動作を実行する第1の期間において暗号モジュール32をダミー動作させることにより、暗号モジュール33が具有する消費電力特性を隠蔽することができる。その結果、DPA攻撃に対する対策を低コストで実装することが可能となる。
また、制御回路31は、レイテンシ期間(第2の期間)において、暗号モジュール32及び暗号モジュール33の双方を同時に通常動作させる。このように、暗号モジュール32及び暗号モジュール33の双方を同時に通常動作させることにより、一方のみを通常動作させた場合に露呈する消費電力特性を隠蔽することができる。その結果、DPA攻撃に対する対策を低コストで実装することが可能となる。
また、制御回路31は、第1の期間において、ダミー鍵K12(ダミーの入力データ)をセッション鍵生成回路42(一時データ生成回路)に入力する。このように、ダミー鍵K12をセッション鍵生成回路42に入力することにより、セッション鍵生成回路42にダミーのセッション鍵D12(ダミーの一時データ)を生成するダミー動作を実行させることが可能となる。
また、ダミー鍵K12をあえて固定値とし、何らかの鍵データの生成処理が実行されていることを攻撃者に予見させることにより、解析によってダミー鍵K12を特定するという無駄な作業を攻撃者に行わせる効果が期待できる。その結果、秘密鍵K11を長期間保護することが可能となる。また、ダミー鍵K12を固定値とすることにより、ダミー動作に伴うセッション鍵生成回路42の消費電力を均一化することが可能となる。
また、ダミー鍵K12を変動値とすることにより、ダミー鍵K12が変動する度にセッション鍵生成回路42の消費電力も変動するため、メモリ装置3全体の消費電力を変動させることができる。その結果、DPA攻撃による消費電力特性の解析を困難化することが可能となる。
また、制御回路31は、暗号モジュール32にダミー動作を実行させる場合には、セッション鍵生成回路42の最新の状態遷移情報を保持回路41に退避し、次にセッション鍵生成回路42に通常動作を実行させる場合には、保持回路41が保持している状態遷移情報をセッション鍵生成回路42に書き戻す。これにより、セッション鍵生成回路42はダミー動作後の通常動作においてセッション鍵D12を齟齬なく生成することが可能となる。
また、入力データとして秘密鍵K11(鍵情報)を入力することにより、セッション鍵生成回路42は、一時データとしてセッション鍵D12を生成することが可能となる。
<第1の変形例>
上記実施の形態では、DPA対策をメモリ装置3に実装する例について説明したが、DPA対策をホスト装置2に実装しても良い。
図4は、ホスト装置2の暗号ブロック14の構成を示す図である。図4に示すように暗号ブロック14は、制御回路51、暗号モジュール52,53、セレクタ54、及び演算回路55を有している。制御回路51は、レジスタ等の保持回路61を有している。暗号モジュール52は、セッション鍵生成回路62を有している。セッション鍵生成回路62は、一時データ生成回路として機能し、セレクタ54から入力された入力データとしての鍵情報(秘密鍵K21又はダミー鍵K22)に基づいて、一時データとしてのセッション鍵D22を生成する。暗号モジュール53は、ストリームデータ生成回路63を有している。ストリームデータ生成回路63は、暗号処理回路として機能し、鍵情報(秘密鍵K23)と、セッション鍵生成回路62から入力されたセッション鍵D22とに基づいて、ストリーム暗号のためのストリームデータD23を生成する。演算回路55は、メモリ装置3から受信した暗号化データS23と、ストリームデータ生成回路63から入力されたストリームデータD23との排他的論理和を演算することにより、非暗号のデータS24を復元する。また、演算回路55は、主制御回路13から入力された非暗号のコマンドS21と、ストリームデータ生成回路63から入力されたストリームデータD23との排他的論理和を演算することにより、暗号化コマンドS22を生成する。
図5は、セッション鍵生成回路62及びストリームデータ生成回路63の処理内容を示すタイミングチャートである。コマンド処理期間(時刻T21〜T22)において、ストリームデータ生成回路63は、コマンド又はデータの暗号化又は復号化を実行するための通常動作として、ストリームデータD23の生成処理を行い、これにより非暗号のコマンドS21の暗号化が実行される。また、コマンド処理期間において、セッション鍵生成回路62は、通常動作ではないダミー動作を実行する。レイテンシ期間(時刻T22〜T23)において、セッション鍵生成回路62は、通常動作としてセッション鍵D22の更新処理を行う。それと同時にストリームデータ生成回路63は、通常動作として、現在入力されている更新前のセッション鍵D22を用いて初期化処理を行う。データ処理期間(時刻T23〜T24)において、ストリームデータ生成回路63は、通常動作としてストリームデータD23の生成処理を行い、これにより暗号化データS23の復号化が実行される。また、データ処理期間においてセッション鍵生成回路62は、通常動作ではないダミー動作を実行する。
以下、メモリアレイ22に格納されているデータをメモリ装置3からホスト装置2に読み出す処理を例にとり、ホスト装置2の動作を詳細に説明する。
メモリシステム1が起動されると、制御回路51は、メモリアレイ22の所定場所に格納されているDPA制御情報D11を読み出す。制御回路51は、DPA制御情報D11がONに設定されている場合には以下に述べるDPA対策処理を実行し、OFFに設定されている場合には実行しない。本変形例では、DPA制御情報D11はONに設定されているものとする。
次に制御回路51は、DPA対策処理としてセッション鍵生成回路62のダミー動作を実行するために、セッション鍵生成回路62の現在の設定内容を示す状態遷移情報を、暗号モジュール52から読み出す。そして、読み出した状態遷移情報を、保持回路61によって保持する。また、制御回路51は、セレクタ54にダミー鍵K22を選択させる。ダミー鍵K22は、固定値であっても良いし、乱数生成器を用いた変動値であっても良い。あるいは、ダミー鍵K22は秘密鍵K21と同一であっても良い。
次にCPU11は、非暗号の読み出しコマンドS21を発行する。コマンドS21は、主制御回路13を介して暗号ブロック14に入力される。
次にコマンド処理期間(時刻T21〜T22)において、セッション鍵生成回路62は、ダミー鍵K22に基づいてダミーのセッション鍵D22を生成するダミー動作を実行する。生成されたダミーのセッション鍵D22は、ストリームデータ生成回路63には入力されない。また、コマンド処理期間においてストリームデータ生成回路63は、通常動作として、セッション鍵生成回路62から入力された最新のセッション鍵D22に基づいてストリームデータD23の生成処理を行い、これにより非暗号のコマンドS21の暗号化が実行される。
次にレイテンシ期間(時刻T22〜T23)において、制御回路51は、保持回路61が保持している状態遷移情報をセッション鍵生成回路62に書き戻す。これにより、セッション鍵生成回路62の設定内容は、ダミー動作を実行する前の状態に再設定される。また、制御回路51は、セレクタ54に秘密鍵K21を選択させる。セッション鍵生成回路62は、通常動作としてセッション鍵D22の更新処理を行うことにより、次回に使用する新たなセッション鍵D22を生成する。それと同時にストリームデータ生成回路63は、通常動作として、現在入力されている更新前のセッション鍵D22を用いて初期化処理を行う。
次に制御回路51は、DPA対策処理としてセッション鍵生成回路62のダミー動作を実行するために、セッション鍵生成回路62の現在の設定内容(つまり更新後の設定内容)を示す状態遷移情報を、暗号モジュール52から読み出す。そして、読み出した状態遷移情報を、保持回路61によって保持する。また、制御回路51は、セレクタ54にダミー鍵K22を選択させる。
次にデータ処理期間(時刻T23〜T24)において、セッション鍵生成回路62は、ダミー鍵K22に基づいてダミーのセッション鍵D22を生成するダミー動作を実行する。生成されたダミーのセッション鍵D22は、ストリームデータ生成回路63には入力されない。また、データ処理期間においてストリームデータ生成回路63は、通常動作として、セッション鍵生成回路62から入力されたセッション鍵D22に基づいてストリームデータD23の生成処理を行い、これにより、メモリ装置3から受信した暗号化データS23の復号化が実行される。復号化されたデータS24は、主制御回路13を介してCPU11に入力される。
このように本変形例に係るホスト装置2によれば、制御回路51は、暗号モジュール53(第2の暗号モジュール)が通常動作を実行し、暗号モジュール52(第1の暗号モジュール)が通常動作を実行しないコマンド処理期間及びデータ処理期間(第1の期間)において、暗号モジュール52にダミー動作を実行させる。このように、暗号モジュール53のみが通常動作を実行する第1の期間において暗号モジュール52をダミー動作させることにより、暗号モジュール53が具有する消費電力特性を隠蔽することができる。その結果、DPA攻撃に対する対策を低コストで実装することが可能となる。
また、制御回路51は、レイテンシ期間(第2の期間)において、暗号モジュール52及び暗号モジュール53の双方を同時に通常動作させる。このように、暗号モジュール52及び暗号モジュール53の双方を同時に通常動作させることにより、一方のみを通常動作させた場合に露呈する消費電力特性を隠蔽することができる。その結果、DPA攻撃に対する対策を低コストで実装することが可能となる。
また、制御回路51は、第1の期間において、ダミー鍵K22(ダミーの入力データ)をセッション鍵生成回路62(一時データ生成回路)に入力する。このように、ダミー鍵K22をセッション鍵生成回路62に入力することにより、セッション鍵生成回路62にダミーのセッション鍵D22(ダミーの一時データ)を生成するダミー動作を実行させることが可能となる。
また、ダミー鍵K22をあえて固定値とし、何らかの鍵データの生成処理が実行されていることを攻撃者に予見させることにより、解析によってダミー鍵K22を特定するという無駄な作業を攻撃者に行わせる効果が期待できる。その結果、秘密鍵K21を長期間保護することが可能となる。また、ダミー鍵K22を固定値とすることにより、ダミー動作に伴うセッション鍵生成回路62の消費電力を均一化することが可能となる。
また、ダミー鍵K22を変動値とすることにより、ダミー鍵K22が変動する度にセッション鍵生成回路62の消費電力も変動するため、ホスト装置2全体の消費電力を変動させることができる。その結果、DPA攻撃による消費電力特性の解析を困難化することが可能となる。
また、制御回路51は、暗号モジュール52にダミー動作を実行させる場合には、セッション鍵生成回路62の最新の状態遷移情報を保持回路61に退避し、次にセッション鍵生成回路62に通常動作を実行させる場合には、保持回路61が保持している状態遷移情報をセッション鍵生成回路62に書き戻す。これにより、セッション鍵生成回路62はダミー動作後の通常動作においてセッション鍵D22を齟齬なく生成することが可能となる。
また、入力データとして秘密鍵K21(鍵情報)を入力することにより、セッション鍵生成回路62は、一時データとしてセッション鍵D22を生成することが可能となる。
なお、DPA対策をホスト装置2及びメモリ装置3の双方に実装しても良く、この場合には、メモリシステム1全体としてDPA攻撃に対する耐性を高めることが可能となる。
<第2の変形例>
上記実施の形態では、DPA制御情報D11に基づいてDPA対策処理の実行の要否が判定されたが、ホスト装置2からメモリ装置3への不正アクセスがあったことを条件として、DPA対策処理を実行しても良い。
図6は、メモリ装置3の暗号ブロック21の構成を示す図である。図2に示した構成に対して不正アクセス検出回路36が追加されている。不正アクセス検出回路36には、復号化によって復元された非暗号のコマンドS12が、演算回路35から入力される。
不正アクセス検出回路36は、例えば、所定のアクセス禁止領域へのアクセス要求、メモリアレイ22のデータ容量を超えるアクセス要求、コマンドIDが定義されていない未定義コマンドによるアクセス要求、及び、規定のコマンドシーケンス以外のシーケンスによるアクセス要求等をホスト装置2から受けた場合に、そのアクセスを不正アクセスとして検出し、不正アクセス検出信号D14を制御回路31に入力する。
制御回路31は、不正アクセス検出信号D14が入力されたことを実行条件として、上記実施の形態で説明したDPA対策処理を実行する。
このように本変形例に係るメモリ装置3によれば、制御回路31は、不正アクセス検出回路36が不正アクセスを検出した場合に、DPA対策処理を実行する。従って、メモリシステム1の可用性を確保できるとともに、不正アクセスを検出しない場合にダミー動作を実行させることに起因する消費電力の増大を回避することが可能となる。
1 メモリシステム
2 ホスト装置
3 メモリ装置
14,21 暗号ブロック
31,51 制御回路
32,33,52,53 暗号モジュール
36 不正アクセス検出回路
41,61 保持回路
42,62 セッション鍵生成回路
43,63 ストリームデータ生成回路

Claims (16)

  1. ホスト装置に接続されるメモリ装置であって、
    前記ホスト装置と前記メモリ装置との間で送受信されるデータを暗号化及び復号化するために通常動作を実行する、第1の暗号モジュール及び第2の暗号モジュールと、
    前記第1の暗号モジュール及び前記第2の暗号モジュールの動作を制御する制御回路と、
    を備え、
    前記制御回路は、前記第2の暗号モジュールが通常動作を実行し前記第1の暗号モジュールが通常動作を実行しない第1の期間において、前記第1の暗号モジュールにダミー動作を実行させる、メモリ装置。
  2. 前記制御回路は、第1の期間とは異なる第2の期間において、前記第1の暗号モジュール及び前記第2の暗号モジュールの双方を同時に通常動作させる、請求項1に記載のメモリ装置。
  3. 前記第1の暗号モジュールは、入力データに基づいて一時データを生成する一時データ生成回路を有し、
    前記第2の暗号モジュールは、前記一時データ生成回路によって生成された一時データに基づいて暗号処理を実行する暗号処理回路を有し、
    前記制御回路は、第1の期間において、ダミーの入力データを前記一時データ生成回路に入力する、請求項1又は2に記載のメモリ装置。
  4. 前記ダミーの入力データは固定値である、請求項3に記載のメモリ装置。
  5. 前記ダミーの入力データは変動値である、請求項3に記載のメモリ装置。
  6. 前記制御回路は、
    前記一時データ生成回路の状態遷移情報を保持する保持回路を有し、
    前記第1の暗号モジュールにダミー動作を実行させる場合には、最新の状態遷移情報を前記保持回路に退避し、
    次に前記一時データ生成回路に通常動作を実行させる場合には、前記保持回路が保持している状態遷移情報を前記一時データ生成回路に書き戻す、請求項3〜5のいずれか一つに記載のメモリ装置。
  7. 前記入力データは鍵情報である、請求項3〜6のいずれか一つに記載のメモリ装置。
  8. 前記ホスト装置からの不正アクセスを検出する不正アクセス検出回路をさらに備え、
    前記制御回路は、前記不正アクセス検出回路が不正アクセスを検出した場合に、第1の期間において前記第2の暗号モジュールにダミー動作を実行させる、請求項1〜7のいずれか一つに記載のメモリ装置。
  9. メモリ装置が接続されるホスト装置であって、
    前記ホスト装置と前記メモリ装置との間で送受信されるデータを暗号化及び復号化するために通常動作を実行する、第1の暗号モジュール及び第2の暗号モジュールと、
    前記第1の暗号モジュール及び前記第2の暗号モジュールの動作を制御する制御回路と、
    を備え、
    前記制御回路は、前記第2の暗号モジュールが通常動作を実行し前記第1の暗号モジュールが通常動作を実行しない第1の期間において、前記第1の暗号モジュールにダミー動作を実行させる、ホスト装置。
  10. 前記制御回路は、第1の期間とは異なる第2の期間において、前記第1の暗号モジュール及び前記第2の暗号モジュールの双方を同時に通常動作させる、請求項9に記載のホスト装置。
  11. 前記第1の暗号モジュールは、入力データに基づいて一時データを生成する一時データ生成回路を有し、
    前記第2の暗号モジュールは、前記一時データ生成回路によって生成された一時データに基づいて暗号処理を実行する暗号処理回路を有し、
    前記制御回路は、第1の期間において、ダミーの入力データを前記一時データ生成回路に入力する、請求項9又は10に記載のホスト装置。
  12. 前記ダミーの入力データは固定値である、請求項11に記載のホスト装置。
  13. 前記ダミーの入力データは変動値である、請求項11に記載のホスト装置。
  14. 前記制御回路は、
    前記一時データ生成回路の状態遷移情報を保持する保持回路を有し、
    前記第1の暗号モジュールにダミー動作を実行させる場合には、最新の状態遷移情報を前記保持回路に退避し、
    次に前記一時データ生成回路に通常動作を実行させる場合には、前記保持回路が保持している状態遷移情報を前記一時データ生成回路に書き戻す、請求項11〜13のいずれか一つに記載のホスト装置。
  15. 前記入力データは鍵情報である、請求項11〜14のいずれか一つに記載のホスト装置。
  16. 請求項1〜8のいずれか一つに記載のメモリ装置と、
    請求項9〜15のいずれか一つに記載のホスト装置と、
    を備える、メモリシステム。
JP2015145323A 2015-07-22 2015-07-22 メモリ装置、ホスト装置、及びメモリシステム Active JP6473874B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015145323A JP6473874B2 (ja) 2015-07-22 2015-07-22 メモリ装置、ホスト装置、及びメモリシステム
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
JP2015145323A JP6473874B2 (ja) 2015-07-22 2015-07-22 メモリ装置、ホスト装置、及びメモリシステム

Publications (2)

Publication Number Publication Date
JP2017028505A true JP2017028505A (ja) 2017-02-02
JP6473874B2 JP6473874B2 (ja) 2019-02-27

Family

ID=57946158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015145323A Active JP6473874B2 (ja) 2015-07-22 2015-07-22 メモリ装置、ホスト装置、及びメモリシステム

Country Status (1)

Country Link
JP (1) JP6473874B2 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002526797A (ja) * 1998-09-30 2002-08-20 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 微分電流消費解析を防止するデータ処理装置およびこの装置の動作方法
JP2003204322A (ja) * 2001-10-15 2003-07-18 Mitsubishi Electric Corp 暗号通信装置
JP2006081059A (ja) * 2004-09-13 2006-03-23 Matsushita Electric Ind Co Ltd 暗号回路および集積回路
JP2007060191A (ja) * 2005-08-24 2007-03-08 Kddi Corp ストリーム暗号方法および装置
JP2014220729A (ja) * 2013-05-10 2014-11-20 株式会社メガチップス 暗号処理装置、半導体メモリ及びメモリシステム
JP2014224879A (ja) * 2013-05-16 2014-12-04 株式会社メガチップス 乱数生成装置、暗号処理装置、記憶装置及び情報処理システム
JP2015095841A (ja) * 2013-11-13 2015-05-18 株式会社メガチップス 情報処理システム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002526797A (ja) * 1998-09-30 2002-08-20 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 微分電流消費解析を防止するデータ処理装置およびこの装置の動作方法
JP2003204322A (ja) * 2001-10-15 2003-07-18 Mitsubishi Electric Corp 暗号通信装置
JP2006081059A (ja) * 2004-09-13 2006-03-23 Matsushita Electric Ind Co Ltd 暗号回路および集積回路
JP2007060191A (ja) * 2005-08-24 2007-03-08 Kddi Corp ストリーム暗号方法および装置
JP2014220729A (ja) * 2013-05-10 2014-11-20 株式会社メガチップス 暗号処理装置、半導体メモリ及びメモリシステム
JP2014224879A (ja) * 2013-05-16 2014-12-04 株式会社メガチップス 乱数生成装置、暗号処理装置、記憶装置及び情報処理システム
JP2015095841A (ja) * 2013-11-13 2015-05-18 株式会社メガチップス 情報処理システム

Also Published As

Publication number Publication date
JP6473874B2 (ja) 2019-02-27

Similar Documents

Publication Publication Date Title
EP3205046B1 (en) Secure shared key sharing systems and methods
US11115181B2 (en) Memory device, host device, and memory system
US10102390B2 (en) Memory authentication with redundant encryption
US8804949B2 (en) Method for protecting IC cards against power analysis attacks
US9760737B2 (en) Techniques for integrated circuit data path confidentiality and extensions thereof
CN106664204B (zh) 差分功率分析对策
JP2017504838A (ja) 暗号アルゴリズムに対するサイドチャネル攻撃への対抗策
CN112906070B (zh) 具有块密码侧信道攻击减轻的集成电路和IoT设备及相关方法
KR102397579B1 (ko) 부채널 분석 방지를 위한 화이트박스 암호 방법 및 장치
JP6533553B2 (ja) 暗号化/復号装置及びその電力解析保護方法
CN113711194A (zh) 基于密钥更新的高效侧信道攻击抵抗存储器加密器
Unterluggauer et al. Exploiting the physical disparity: Side-channel attacks on memory encryption
JP5136416B2 (ja) 擬似乱数生成装置、ストリーム暗号処理装置及びプログラム
Gallais et al. Hardware trojans for inducing or amplifying side-channel leakage of cryptographic software
Chuengsatiansup et al. Side-channeling the Kalyna key expansion
Martínez-Rodríguez et al. Sok: Remote power analysis
US20150039905A1 (en) System for processing an encrypted instruction stream in hardware
JP2004310752A (ja) データ処理装置における誤り検出
CN113518988A (zh) 嵌入式中央处理单元上的抗侧通道攻击存储器访问
US20190199526A1 (en) Communication system and data communication method
JP6473874B2 (ja) メモリ装置、ホスト装置、及びメモリシステム
JP6516610B2 (ja) メモリ装置、ホスト装置、及びメモリシステム
JP2003337750A (ja) 内部解析防止機能付き半導体デバイス
Schmidt et al. A probing attack on AES
JP2016025532A (ja) 通信システム、通信装置、及び通信方法

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: 20180717

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

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: 20181120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181220

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

R150 Certificate of patent or registration of utility model

Ref document number: 6473874

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