(57)【要約】【課題】ＤＰＡ攻撃やＣＰＡ攻撃に対する効果的な対策を容易にかつ低コストで実装することが可能な通信システムを得る。【解決手段】ホスト装置２からメモリ装置３にコマンドを送信するにあたり、暗号復号処理部１４，２４は、パターンＰ１とパターンＰ２とを選択的に切り替えて実行する。パターンＰ１では、暗号処理部３１のＳ−ｂｏｘ回路を用いてコマンドを暗号化することによって暗号化コマンドを生成し、復号処理部４１のＩｎｖＳ−ｂｏｘ回路を用いて暗号化コマンドを復号化する。パターンＰ２では、復号処理部３２のＩｎｖＳ−ｂｏｘ回路を用いてコマンドを暗号化することによって暗号化コマンドを生成し、暗号処理部４２のＳ−ｂｏｘ回路を用いて暗号化コマンドを復号化する。【選択図】図２
2019118001.tif 000002
【特許請求の範囲】
【請求項１】
第１の暗号復号処理部を有する第１の通信装置と、
前記第１の通信装置に接続され、第２の暗号復号処理部を有する第２の通信装置と、
を備える通信システムであって、
前記第１の暗号復号処理部は、
第１の非線形処理部を含む第１の暗号処理部と、
第１の逆非線形処理部を含む第１の復号処理部と、
を有し、
前記第２の暗号復号処理部は、
第２の逆非線形処理部を含む第２の復号処理部と、
第２の非線形処理部を含む第２の暗号処理部と、
を有し、
前記第１の通信装置から前記第２の通信装置に第１データを送信するにあたり、前記第１の暗号復号処理部及び前記第２の暗号復号処理部は、
前記第１の暗号復号処理部において、前記第１の非線形処理部を用いて第１データを暗号化することによって第１暗号化データを生成し、前記第２の暗号復号処理部において、前記第２の逆非線形処理部を用いて第１暗号化データを復号化する第１の処理と、
前記第１の暗号復号処理部において、前記第１の逆非線形処理部を用いて第１データを暗号化することによって第１暗号化データを生成し、前記第２の暗号復号処理部において、前記第２の非線形処理部を用いて第１暗号化データを復号化する第２の処理と、
を選択的に切り替えて実行する、通信システム。
【請求項２】
前記第１データに応答して前記第２の通信装置から前記第１の通信装置に第２データを送信するにあたり、前記第１の暗号復号処理部及び前記第２の暗号復号処理部は、
前記第２の暗号復号処理部において、前記第２の非線形処理部を用いて第２データを暗号化することによって第２暗号化データを生成し、前記第１の暗号復号処理部において、前記第１の逆非線形処理部を用いて第２暗号化データを復号化する第３の処理と、
前記第２の暗号復号処理部において、前記第２の逆非線形処理部を用いて第２データを暗号化することによって第２暗号化データを生成し、前記第１の暗号復号処理部において、前記第１の非線形処理部を用いて第２暗号化データを復号化する第４の処理と、
を選択的に切り替えて実行する、請求項１に記載の通信システム。
【請求項３】
前記第１の通信装置は、前記第１の暗号復号処理部による前記第３の処理と前記第４の処理との切り替えを制御する第１の切替制御部をさらに有し、
前記第２の通信装置は、前記第２の暗号復号処理部による前記第３の処理と前記第４の処理との切り替えを制御する第２の切替制御部をさらに有する、請求項２に記載の通信システム。
【請求項４】
前記第１の切替制御部及び前記第２の切替制御部は、前記第３の処理と前記第４の処理とを選択的に切り替えるルールが記述された選択テーブルをそれぞれ保持しており、
前記第１の切替制御部及び前記第２の切替制御部は、前記選択テーブルを参照することによって、前記第３の処理又は前記第４の処理を選択する、請求項３に記載の通信システム。
【請求項５】
第１暗号化データには、前記第３の処理又は前記第４の処理を選択する第１の選択情報が含まれており、
前記第２の切替制御部は、第１暗号化データから抽出した前記第１の選択情報に基づいて、前記第３の処理又は前記第４の処理を選択する、請求項３に記載の通信システム。
【請求項６】
前記第１の切替制御部及び前記第２の切替制御部は、共通のカウンタをそれぞれ有しており、
前記第１の切替制御部及び前記第２の切替制御部は、前記カウンタから出力されたカウンタ値に基づいて、前記第３の処理又は前記第４の処理を選択する、請求項３に記載の通信システム。
【請求項７】
前記第１の切替制御部及び前記第２の切替制御部は、共通の乱数生成器をそれぞれ有しており、
前記第１の切替制御部及び前記第２の切替制御部は、前記乱数生成器から出力された乱数値に基づいて、前記第３の処理又は前記第４の処理を選択する、請求項３に記載の通信システム。
【請求項８】
前記第３の処理が選択された場合、前記第２の暗号復号処理部は前記第２の逆非線形処理部をダミー駆動し、
前記第４の処理が選択された場合、前記第２の暗号復号処理部は前記第２の非線形処理部をダミー駆動する、請求項２〜７のいずれか一つに記載の通信システム。
【請求項９】
前記第１の暗号復号処理部及び前記第２の暗号復号処理部は、前記第２の通信装置から前記第１の通信装置への第２データの送信処理毎に、前記第３の処理及び前記第４の処理の選択を実行する、請求項２〜８のいずれか一つに記載の通信システム。
【請求項１０】
前記第３の処理において、前記第１の暗号処理部及び前記第２の復号処理部は、第１の共通鍵及び第２の共通鍵の一方を用いて、第２暗号化データの生成及び復号化を行い、
前記第４の処理において、前記第１の復号処理部及び前記第２の暗号処理部は、前記第１の共通鍵及び前記第２の共通鍵の他方を用いて、第２暗号化データの生成及び復号化を行う、請求項２〜９のいずれか一つに記載の通信システム。
【請求項１１】
前記第１の暗号復号処理部及び前記第２の暗号復号処理部は、
今回の第２データの送信処理において前記第３の処理が選択された場合には、次回の第１データの送信処理において前記第１の処理を選択し、
今回の第２データの送信処理において前記第４の処理が選択された場合には、次回の第１データの送信処理において前記第２の処理を選択する、請求項２〜１０のいずれか一つに記載の通信システム。
【請求項１２】
前記第１の通信装置は、前記第１の暗号復号処理部による前記第１の処理と前記第２の処理との切り替えを制御する第１の切替制御部をさらに有し、
前記第２の通信装置は、前記第２の暗号復号処理部による前記第１の処理と前記第２の処理との切り替えを制御する第２の切替制御部をさらに有する、請求項１に記載の通信システム。
【請求項１３】
前記第１の切替制御部及び前記第２の切替制御部は、前記第１の処理と前記第２の処理とを選択的に切り替えるルールが記述された選択テーブルをそれぞれ保持しており、
前記第１の切替制御部及び前記第２の切替制御部は、前記選択テーブルを参照することによって、前記第１の処理又は前記第２の処理を選択する、請求項１２に記載の通信システム。
【請求項１４】
第１暗号化データには、次回の第１データの送信処理に関して前記第１の処理又は前記第２の処理を選択する第２の選択情報が含まれており、
前記第２の切替制御部は、今回受信した第１データに応答する処理が完了した後に、前記第２の選択情報に基づいて、前記第１の処理又は前記第２の処理を選択する、請求項１２に記載の通信システム。
【請求項１５】
前記第１の切替制御部及び前記第２の切替制御部は、共通のカウンタをそれぞれ有しており、
前記第１の切替制御部及び前記第２の切替制御部は、前記カウンタから出力されたカウンタ値に基づいて、前記第１の処理又は前記第２の処理を選択する、請求項１２に記載の通信システム。
【請求項１６】
前記第１の切替制御部及び前記第２の切替制御部は、共通の乱数生成器をそれぞれ有しており、
前記第１の切替制御部及び前記第２の切替制御部は、前記乱数生成器から出力された乱数値に基づいて、前記第１の処理又は前記第２の処理を選択する、請求項１２に記載の通信システム。
【請求項１７】
前記第１の処理が選択された場合、前記第１の暗号復号処理部は前記第１の逆非線形処理部をダミー駆動し、
前記第２の処理が選択された場合、前記第１の暗号復号処理部は前記第１の非線形処理部をダミー駆動する、請求項１〜１６のいずれか一つに記載の通信システム。
【請求項１８】
前記第１の暗号復号処理部及び前記第２の暗号復号処理部は、前記第１の通信装置から前記第２の通信装置への第１データの送信処理毎に、前記第１の処理及び前記第２の処理の選択を実行する、請求項１〜１７のいずれか一つに記載の通信システム。
【請求項１９】
前記第１の処理において、前記第１の暗号処理部及び前記第２の復号処理部は、第１の共通鍵及び第２の共通鍵の一方を用いて、第１暗号化データの生成及び復号化を行い、
前記第２の処理において、前記第１の復号処理部及び前記第２の暗号処理部は、前記第１の共通鍵及び前記第２の共通鍵の他方を用いて、第１暗号化データの生成及び復号化を行う、請求項１〜１８のいずれか一つに記載の通信システム。
【請求項２０】
前記第１の通信装置及び前記第２の通信装置はそれぞれ、
同一の共通鍵に基づいて前記第１の共通鍵及び前記第２の共通鍵を生成する鍵生成部
をさらに有する、請求項１０又は１９に記載の通信システム。
【請求項２１】
第１の非線形処理部を含む第１の暗号処理部と第１の逆非線形処理部を含む第１の復号処理部とを有する第１の通信装置と、第２の逆非線形処理部を含む第２の復号処理部と第２の非線形処理部を含む第２の暗号処理部とを有する第２の通信装置との間の、データ通信方法であって、
前記第１の通信装置から前記第２の通信装置に第１データを送信するにあたり、
前記第１の非線形処理部を用いて第１データを暗号化することによって第１暗号化データを生成し、前記第２の逆非線形処理部を用いて第１暗号化データを復号化するステップ（Ａ）と、
前記第１の逆非線形処理部を用いて第１データを暗号化することによって第１暗号化データを生成し、前記第２の非線形処理部を用いて第１暗号化データを復号化するステップ（Ｂ）と、
を選択的に切り替えて実行する、データ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第１の通信装置と第２の通信装置とを備える通信システム、及び、第１の通信装置と第２の通信装置との間のデータ通信方法に関する。
【背景技術】
【０００２】
現在使用されている暗号方式は、暗号学的な解析手法に対して計算量的に安全であるとされている。しかし、実際に暗号化装置に暗号モジュールを実装する場合には、消費電力や処理時間のような、実装に依存したリークが発生する。そのような動作状況を様々な物理的手段で観察することにより、秘密鍵等の秘密情報を不正に取得しようとするサイドチャネル攻撃の脅威が増している。
【０００３】
サイドチャネル攻撃の一つとして、装置の消費電力を測定することによって秘密情報を解析する電力解析攻撃がある。その中でも、測定した複数の消費電力波形に対して統計処理による解析を行う、差分電力解析（ＤＰＡ：Differential Power Analysis）や相関電力解析（ＣＰＡ：Correlation Power Analysis）が、特に強力な攻撃法として報告されている（下記非特許文献１，２参照）。
【０００４】
そのため近年では、ＤＰＡ攻撃やＣＰＡ攻撃に対する種々の対策回路が提案されており、例えば下記非特許文献３では、ＲＳＬ（Random Switching Logic）回路及びＷＤＤＬ（Wave Dynamic Differential Logic）回路が提案されている。ＲＳＬ回路は、乱数を用いて論理回路の動作モードを切り替えることによって状態遷移確率の偏りをなくし、それによって暗号鍵に依存しないよう消費電力をランダム化する。ＷＤＤＬ回路は、プリチャージ動作を行った後、演算時のビット値の違いに起因する消費電流の相違を相補回路によって低減することにより、消費電力を均一化する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Paul Kocher、他２名、”Introduction to Differential Power Analysis and related Attacks”、[online]、Cryptography Research、平成２９年１２月１日検索、インターネット＜http://www.cryptography.com/public/pdf/DPATechInfo.pdf＞
【非特許文献２】Eric Brier、他２名、”Correlation Power Analysis with a Leakage Model”、[online]、Gemplus Card International、平成２９年１２月１日検索、インターネット＜https://www.iacr.org/archive/ches2004/31560016/31560016.pdf＞
【非特許文献３】Daisuke Suzuki、他２名、"Random Switching Logic: A Countermeasure against DPA based on Transition Probability"、[online]、International Association for Cryptologic Research、平成２９年１２月１日検索、インターネット＜http://eprint.iacr.org/2004/346.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上述したＲＳＬ回路又はＷＤＤＬ回路を暗号化装置に実装する場合には、これらの回路を実装しない装置と比較して、演算時間、回路規模、及び消費電力が数倍〜数十倍に増大するため、コストが増大する。
【０００７】
本発明はかかる事情に鑑みて成されたものであり、ＤＰＡ攻撃やＣＰＡ攻撃に対する効果的な対策を容易にかつ低コストで実装することが可能な、通信システム及びデータ通信方法を得ることを目的とするものである。
【課題を解決するための手段】
【０００８】
本発明の第１の態様に係る通信システムは、第１の暗号復号処理部を有する第１の通信装置と、前記第１の通信装置に接続され、第２の暗号復号処理部を有する第２の通信装置と、を備える通信システムであって、前記第１の暗号復号処理部は、第１の非線形処理部を含む第１の暗号処理部と、第１の逆非線形処理部を含む第１の復号処理部と、を有し、前記第２の暗号復号処理部は、第２の逆非線形処理部を含む第２の復号処理部と、第２の非線形処理部を含む第２の暗号処理部と、を有し、前記第１の通信装置から前記第２の通信装置に第１データを送信するにあたり、前記第１の暗号復号処理部及び前記第２の暗号復号処理部は、前記第１の暗号復号処理部において、前記第１の非線形処理部を用いて第１データを暗号化することによって第１暗号化データを生成し、前記第２の暗号復号処理部において、前記第２の逆非線形処理部を用いて第１暗号化データを復号化する第１の処理と、前記第１の暗号復号処理部において、前記第１の逆非線形処理部を用いて第１データを暗号化することによって第１暗号化データを生成し、前記第２の暗号復号処理部において、前記第２の非線形処理部を用いて第１暗号化データを復号化する第２の処理と、を選択的に切り替えて実行することを特徴とするものである。
【０００９】
第１の態様に係る通信システムによれば、第１の通信装置から第２の通信装置に第１データを送信するにあたり、第１の暗号復号処理部及び第２の暗号復号処理部は、第１の暗号復号処理部において、第１の非線形処理部を用いて第１データを暗号化することによって第１暗号化データを生成し、第２の暗号復号処理部において、第２の逆非線形処理部を用いて第１暗号化データを復号化する第１の処理と、第１の暗号復号処理部において、第１の逆非線形処理部を用いて第１データを暗号化することによって第１暗号化データを生成し、第２の暗号復号処理部において、第２の非線形処理部を用いて第１暗号化データを復号化する第２の処理と、を選択的に切り替えて実行する。ＤＰＡ攻撃又はＣＰＡ攻撃による消費電力特性の解析対象は、主に暗号復号処理部の非線形処理部及び逆非線形処理部である。そのため、第１の通信装置から第２の通信装置への第１データの送信処理において、第１の非線形処理部を用いて暗号化を行い第２の逆非線形処理部を用いて復号化を行う第１の処理と、第１の逆非線形処理部を用いて暗号化を行い第２の非線形処理部を用いて復号化を行う第２の処理とを選択的に切り替えて実行することによって、第１の暗号復号処理部及び第２の暗号復号処理部の消費電力特性を効果的に隠蔽することが可能となる。しかも、ＲＳＬ回路又はＷＤＤＬ回路を実装する必要がないため、コストの増大を回避できる。その結果、ＤＰＡ攻撃やＣＰＡ攻撃に対する効果的な対策を、容易にかつ低コストで実装することが可能となる。
【００１０】
本発明の第２の態様に係る通信システムは、第１の態様に係る通信システムにおいて特に、前記第１データに応答して前記第２の通信装置から前記第１の通信装置に第２データを送信するにあたり、前記第１の暗号復号処理部及び前記第２の暗号復号処理部は、前記第２の暗号復号処理部において、前記第２の非線形処理部を用いて第２データを暗号化することによって第２暗号化データを生成し、前記第１の暗号復号処理部において、前記第１の逆非線形処理部を用いて第２暗号化データを復号化する第３の処理と、前記第２の暗号復号処理部において、前記第２の逆非線形処理部を用いて第２データを暗号化することによって第２暗号化データを生成し、前記第１の暗号復号処理部において、前記第１の非線形処理部を用いて第２暗号化データを復号化する第４の処理と、を選択的に切り替えて実行することを特徴とするものである。
【００１１】
第２の態様に係る通信システムによれば、第２の通信装置から第１の通信装置に第２データを送信するにあたり、第１の暗号復号処理部及び第２の暗号復号処理部は、第２の暗号復号処理部において、第２の非線形処理部を用いて第２データを暗号化することによって第２暗号化データを生成し、第１の暗号復号処理部において、第１の逆非線形処理部を用いて第２暗号化データを復号化する第３の処理と、第２の暗号復号処理部において、第２の逆非線形処理部を用いて第２データを暗号化することによって第２暗号化データを生成し、第１の暗号復号処理部において、第１の非線形処理部を用いて第２暗号化データを復号化する第４の処理と、を選択的に切り替えて実行する。このように、第１の通信装置から第２の通信装置への第１データの送信処理のみならず、第２の通信装置から第１の通信装置への第２データの送信処理においても、第２の非線形処理部を用いて暗号化を行い第１の逆非線形処理部を用いて復号化を行う第３の処理と、第２の逆非線形処理部を用いて暗号化を行い第１の非線形処理部を用いて復号化を行う第４の処理とを選択的に切り替えて実行することによって、第１の暗号復号処理部及び第２の暗号復号処理部の消費電力特性をさらに効果的に隠蔽することが可能となる。
【００１２】
本発明の第３の態様に係る通信システムは、第２の態様に係る通信システムにおいて特に、前記第１の通信装置は、前記第１の暗号復号処理部による前記第３の処理と前記第４の処理との切り替えを制御する第１の切替制御部をさらに有し、前記第２の通信装置は、前記第２の暗号復号処理部による前記第３の処理と前記第４の処理との切り替えを制御する第２の切替制御部をさらに有することを特徴とするものである。
【００１３】
第３の態様に係る通信システムによれば、第１の通信装置は、第１の暗号復号処理部による第３の処理と第４の処理との切り替えを制御する第１の切替制御部を有し、第２の通信装置は、第２の暗号復号処理部による第３の処理と第４の処理との切り替えを制御する第２の切替制御部を有する。従って、第１の切替制御部及び第２の切替制御部が、第１の暗号復号処理部における第３の処理及び第４の処理の切り替えと、第２の暗号復号処理部における第３の処理及び第４の処理の切り替えとを同期して実行することによって、第３の処理又は第４の処理による第２の通信装置から第１の通信装置への第２データの送信を、適切に実行することが可能となる。
【００１４】
本発明の第４の態様に係る通信システムは、第３の態様に係る通信システムにおいて特に、前記第１の切替制御部及び前記第２の切替制御部は、前記第３の処理と前記第４の処理とを選択的に切り替えるルールが記述された選択テーブルをそれぞれ保持しており、前記第１の切替制御部及び前記第２の切替制御部は、前記選択テーブルを参照することによって、前記第３の処理又は前記第４の処理を選択することを特徴とするものである。
【００１５】
第４の態様に係る通信システムによれば、第１の切替制御部及び第２の切替制御部は、共通の選択テーブルを参照することによって、第３の処理又は第４の処理を選択する。従って、第３の処理及び第４の処理の切り替えを指示するための選択情報を第１の通信装置と第２の通信装置との間で送受信する必要がないため、両装置間の通信データ量が増大することを回避できる。また、選択テーブルに任意のルールを記述することによって、第３の処理及び第４の処理を切り替えるタイミング及びパターンを、予め任意に設定することが可能となる。
【００１６】
本発明の第５の態様に係る通信システムは、第３の態様に係る通信システムにおいて特に、第１暗号化データには、前記第３の処理又は前記第４の処理を選択する第１の選択情報が含まれており、前記第２の切替制御部は、第１暗号化データから抽出した前記第１の選択情報に基づいて、前記第３の処理又は前記第４の処理を選択することを特徴とするものである。
【００１７】
第５の態様に係る通信システムによれば、第２の切替制御部は、第１暗号化データから抽出した第１の選択情報に基づいて、第３の処理又は前記第４の処理を選択する。従って、第３の処理及び第４の処理を切り替えるタイミング及びパターンを、第１の通信装置によって任意に設定することが可能となる。
【００１８】
本発明の第６の態様に係る通信システムは、第３の態様に係る通信システムにおいて特に、前記第１の切替制御部及び前記第２の切替制御部は、共通のカウンタをそれぞれ有しており、前記第１の切替制御部及び前記第２の切替制御部は、前記カウンタから出力されたカウンタ値に基づいて、前記第３の処理又は前記第４の処理を選択することを特徴とするものである。
【００１９】
第６の態様に係る通信システムによれば、第１の切替制御部及び第２の切替制御部は、共通のカウンタから出力されたカウンタ値に基づいて、第３の処理又は第４の処理を選択する。従って、第３の処理及び第４の処理の切り替えを指示するための選択情報を第１の通信装置と第２の通信装置との間で送受信する必要がないため、両装置間の通信データ量が増大することを回避できる。また、カウンタ値を用いることによって第３の処理及び第４の処理の切り替えを不規則に実行できるため、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【００２０】
本発明の第７の態様に係る通信システムは、第３の態様に係る通信システムにおいて特に、前記第１の切替制御部及び前記第２の切替制御部は、共通の乱数生成器をそれぞれ有しており、前記第１の切替制御部及び前記第２の切替制御部は、前記乱数生成器から出力された乱数値に基づいて、前記第３の処理又は前記第４の処理を選択することを特徴とするものである。
【００２１】
第７の態様に係る通信システムによれば、第１の切替制御部及び第２の切替制御部は、共通の乱数生成器から出力された乱数値に基づいて、第３の処理又は第４の処理を選択する。従って、第３の処理及び第４の処理の切り替えを指示するための選択情報を第１の通信装置と第２の通信装置との間で送受信する必要がないため、両装置間の通信データ量が増大することを回避できる。また、乱数値を用いることによって第３の処理及び第４の処理の切り替えを不規則に実行できるため、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【００２２】
本発明の第８の態様に係る通信システムは、第２〜第７のいずれか一つの態様に係る通信システムにおいて特に、前記第３の処理が選択された場合、前記第２の暗号復号処理部は前記第２の逆非線形処理部をダミー駆動し、前記第４の処理が選択された場合、前記第２の暗号復号処理部は前記第２の非線形処理部をダミー駆動することを特徴とするものである。
【００２３】
第８の態様に係る通信システムによれば、第３の処理が選択された場合、第２の暗号復号処理部は第２の逆非線形処理部をダミー駆動し、第４の処理が選択された場合、第２の暗号復号処理部は第２の非線形処理部をダミー駆動する。このように、選択されていない非線形処理部又は逆非線形処理部をダミー駆動することによって、分散の大きい消費電力ノイズを非選択の非線形処理部又は逆非線形処理部によって生成できる。その結果、選択された非線形処理部及び逆非線形処理部の消費電力特性を、この消費電力ノイズによって効果的に隠蔽することが可能となる。
【００２４】
本発明の第９の態様に係る通信システムは、第２〜第８のいずれか一つの態様に係る通信システムにおいて特に、前記第１の暗号復号処理部及び前記第２の暗号復号処理部は、前記第２の通信装置から前記第１の通信装置への第２データの送信処理毎に、前記第３の処理及び前記第４の処理の選択を実行することを特徴とするものである。
【００２５】
第９の態様に係る通信システムによれば、第１の暗号復号処理部及び第２の暗号復号処理部は、第２の通信装置から第１の通信装置への第２データの送信処理毎に、第３の処理及び第４の処理の選択を実行する。従って、第３の処理及び第４の処理の切り替えを高頻度で実行できるため、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【００２６】
本発明の第１０の態様に係る通信システムは、第２〜第９のいずれか一つの態様に係る通信システムにおいて特に、前記第３の処理において、前記第１の暗号処理部及び前記第２の復号処理部は、第１の共通鍵及び第２の共通鍵の一方を用いて、第２暗号化データの生成及び復号化を行い、前記第４の処理において、前記第１の復号処理部及び前記第２の暗号処理部は、前記第１の共通鍵及び前記第２の共通鍵の他方を用いて、第２暗号化データの生成及び復号化を行うことを特徴とするものである。
【００２７】
第１０の態様に係る通信システムによれば、第３の処理において、第１の暗号処理部及び第２の復号処理部は、第１の共通鍵及び第２の共通鍵の一方を用いて第２暗号化データの生成及び復号化を行い、第４の処理において、第１の復号処理部及び第２の暗号処理部は、第１の共通鍵及び第２の共通鍵の他方を用いて第２暗号化データの生成及び復号化を行う。このように、第３の処理と第４の処理とで使用する共通鍵を異ならせることにより、第三者による解析を困難化することが可能となる。
【００２８】
本発明の１１の態様に係る通信システムは、第２〜第１０のいずれか一つの態様に係る通信システムにおいて特に、前記第１の暗号復号処理部及び前記第２の暗号復号処理部は、今回の第２データの送信処理において前記第３の処理が選択された場合には、次回の第１データの送信処理において前記第１の処理を選択し、今回の第２データの送信処理において前記第４の処理が選択された場合には、次回の第１データの送信処理において前記第２の処理を選択することを特徴とするものである。
【００２９】
第１１の態様に係る通信システムによれば、第１の暗号復号処理部及び第２の暗号復号処理部は、今回の第２データの送信処理において第３の処理が選択された場合には、次回の第１データの送信処理において第１の処理を選択し、今回の第２データの送信処理において第４の処理が選択された場合には、次回の第１データの送信処理において第２の処理を選択する。従って、第２の暗号復号処理部は、今回の第２データの送信処理において第３の処理及び第４の処理のいずれを選択したかによって、次回の第１データの送信処理において第１の処理及び第２の処理のいずれが選択されるかを認識できるため、第１の通信装置から次回に受信する第１暗号化データを、第２の復号処理部又は第２の暗号処理部によって適切に復号化することが可能となる。
【００３０】
本発明の第１２の態様に係る通信システムは、第１の態様に係る通信システムにおいて特に、前記第１の通信装置は、前記第１の暗号復号処理部による前記第１の処理と前記第２の処理との切り替えを制御する第１の切替制御部をさらに有し、前記第２の通信装置は、前記第２の暗号復号処理部による前記第１の処理と前記第２の処理との切り替えを制御する第２の切替制御部をさらに有することを特徴とするものである。
【００３１】
第１２の態様に係る通信システムによれば、第１の通信装置は、第１の暗号復号処理部による第１の処理と第２の処理との切り替えを制御する第１の切替制御部を有し、第２の通信装置は、第２の暗号復号処理部による第１の処理と第２の処理との切り替えを制御する第２の切替制御部を有する。従って、第１の切替制御部及び第２の切替制御部が、第１の暗号復号処理部における第１の処理及び第２の処理の切り替えと、第２の暗号復号処理部における第１の処理及び第２の処理の切り替えとを同期して実行することによって、第１の処理又は第２の処理による第１の通信装置から第２の通信装置への第１データの送信を、適切に実行することが可能となる。
【００３２】
本発明の第１３の態様に係る通信システムは、第１２の態様に係る通信システムにおいて特に、前記第１の切替制御部及び前記第２の切替制御部は、前記第１の処理と前記第２の処理とを選択的に切り替えるルールが記述された選択テーブルをそれぞれ保持しており、前記第１の切替制御部及び前記第２の切替制御部は、前記選択テーブルを参照することによって、前記第１の処理又は前記第２の処理を選択することを特徴とするものである。
【００３３】
第１３の態様に係る通信システムによれば、第１の切替制御部及び第２の切替制御部は、共通の選択テーブルを参照することによって、第１の処理又は第２の処理を選択する。従って、第１の処理及び第２の処理の切り替えを指示するための選択情報を第１の通信装置と第２の通信装置との間で送受信する必要がないため、両装置間の通信データ量が増大することを回避できる。また、選択テーブルに任意のルールを記述することによって、第１の処理及び第２の処理を切り替えるタイミング及びパターンを、予め任意に設定することが可能となる。
【００３４】
本発明の第１４の態様に係る通信システムは、第１２の態様に係る通信システムにおいて特に、第１暗号化データには、次回の第１データの送信処理に関して前記第１の処理又は前記第２の処理を選択する第２の選択情報が含まれており、前記第２の切替制御部は、今回受信した第１データに応答する処理が完了した後に、前記第２の選択情報に基づいて、前記第１の処理又は前記第２の処理を選択することを特徴とするものである。
【００３５】
第１４の態様に係る通信システムによれば、第２の暗号復号処理部は、第２の切替制御部は、今回受信した第１データに応答する処理が完了した後に、第２の選択情報に基づいて、第１の処理又は前記第２の処理を選択する。従って、第２の暗号復号処理部は、第１の通信装置から次回に受信する第１暗号化データを、第２の復号処理部又は第２の暗号処理部によって適切に復号化することが可能となる。また、今回の第１データの応答処理のための第３の処理又は第４の処理と、次回の第１データの受信処理のための第１の処理又は第２の処理との組合せを任意に設定できるため、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【００３６】
本発明の第１５の態様に係る通信システムは、第１２の態様に係る通信システムにおいて特に、前記第１の切替制御部及び前記第２の切替制御部は、共通のカウンタをそれぞれ有しており、前記第１の切替制御部及び前記第２の切替制御部は、前記カウンタから出力されたカウンタ値に基づいて、前記第１の処理又は前記第２の処理を選択することを特徴とするものである。
【００３７】
第１５の態様に係る通信システムによれば、第１の切替制御部及び第２の切替制御部は、共通のカウンタから出力されたカウンタ値に基づいて、第１の処理又は第２の処理を選択する。従って、第１の処理及び第２の処理の切り替えを指示するための選択情報を第１の通信装置と第２の通信装置との間で送受信する必要がないため、両装置間の通信データ量が増大することを回避できる。また、カウンタ値を用いることによって第１の処理及び第２の処理の切り替えを不規則に実行できるため、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【００３８】
本発明の第１６の態様に係る通信システムは、第１２の態様に係る通信システムにおいて特に、前記第１の切替制御部及び前記第２の切替制御部は、共通の乱数生成器をそれぞれ有しており、前記第１の切替制御部及び前記第２の切替制御部は、前記乱数生成器から出力された乱数値に基づいて、前記第１の処理又は前記第２の処理を選択することを特徴とするものである。
【００３９】
第１６の態様に係る通信システムによれば、第１の切替制御部及び第２の切替制御部は、共通の乱数生成器から出力された乱数値に基づいて、第１の処理又は第２の処理を選択する。従って、第１の処理及び第２の処理の切り替えを指示するための選択情報を第１の通信装置と第２の通信装置との間で送受信する必要がないため、両装置間の通信データ量が増大することを回避できる。また、乱数値を用いることによって第１の処理及び第２の処理の切り替えを不規則に実行できるため、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【００４０】
本発明の第１７の態様に係る通信システムは、第１〜第１６のいずれか一つの態様に係る通信システムにおいて特に、前記第１の処理が選択された場合、前記第１の暗号復号処理部は前記第１の逆非線形処理部をダミー駆動し、前記第２の処理が選択された場合、前記第１の暗号復号処理部は前記第１の非線形処理部をダミー駆動することを特徴とするものである。
【００４１】
第１７の態様に係る通信システムによれば、第１の処理が選択された場合、第１の暗号復号処理部は前記第１の逆非線形処理部をダミー駆動し、第２の処理が選択された場合、第１の暗号復号処理部は第１の非線形処理部をダミー駆動する。このように、選択されていない非線形処理部又は逆非線形処理部をダミー駆動することによって、分散の大きい消費電力ノイズを非選択の非線形処理部又は逆非線形処理部によって生成できる。その結果、選択された非線形処理部及び逆非線形処理部の消費電力特性を、この消費電力ノイズによって効果的に隠蔽することが可能となる。
【００４２】
本発明の第１８の態様に係る通信システムは、第１〜第１７のいずれか一つの態様に係る通信システムにおいて特に、前記第１の暗号復号処理部及び前記第２の暗号復号処理部は、前記第１の通信装置から前記第２の通信装置への第１データの送信処理毎に、前記第１の処理及び前記第２の処理の選択を実行することを特徴とするものである。
【００４３】
第１８の態様に係る通信システムによれば、第１の暗号復号処理部及び第２の暗号復号処理部は、第１の通信装置から第２の通信装置への第１データの送信処理毎に、第１の処理及び第２の処理の選択を実行する。従って、第１の処理及び第２の処理の切り替えを高頻度で実行できるため、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【００４４】
本発明の第１９の態様に係る通信システムは、第１〜第１８のいずれか一つの態様に係る通信システムにおいて特に、前記第１の処理において、前記第１の暗号処理部及び前記第２の復号処理部は、第１の共通鍵及び第２の共通鍵の一方を用いて、第１暗号化データの生成及び復号化を行い、前記第２の処理において、前記第１の復号処理部及び前記第２の暗号処理部は、前記第１の共通鍵及び前記第２の共通鍵の他方を用いて、第１暗号化データの生成及び復号化を行うことを特徴とするものである。
【００４５】
第１９の態様に係る通信システムによれば、第１の処理において、第１の暗号処理部及び第２の復号処理部は、第１の共通鍵及び第２の共通鍵の一方を用いて第１暗号化データの生成及び復号化を行い、第２の処理において、第１の復号処理部及び第２の暗号処理部は、第１の共通鍵及び第２の共通鍵の他方を用いて第１暗号化データの生成及び復号化を行う。このように、第１の処理と第２の処理とで使用する共通鍵を異ならせることにより、第三者による解析を困難化することが可能となる。
【００４６】
本発明の第２０の態様に係る通信システムは、第１０又は第１９の態様に係る通信システムにおいて特に、前記第１の通信装置及び前記第２の通信装置はそれぞれ、同一の共通鍵に基づいて前記第１の共通鍵及び前記第２の共通鍵を生成する鍵生成部をさらに有することを特徴とするものである。
【００４７】
第２０の態様に係る通信システムによれば、鍵生成部は、同一の共通鍵に基づいて第１の共通鍵及び第２の共通鍵を生成する。従って、第１の共通鍵及び第２の共通鍵の生成及び管理を容易化することが可能となる。
【００４８】
本発明の第２１の態様に係るデータ通信方法は、第１の非線形処理部を含む第１の暗号処理部と第１の逆非線形処理部を含む第１の復号処理部とを有する第１の通信装置と、第２の逆非線形処理部を含む第２の復号処理部と第２の非線形処理部を含む第２の暗号処理部とを有する第２の通信装置との間の、データ通信方法であって、前記第１の通信装置から前記第２の通信装置に第１データを送信するにあたり、前記第１の非線形処理部を用いて第１データを暗号化することによって第１暗号化データを生成し、前記第２の逆非線形処理部を用いて第１暗号化データを復号化するステップ（Ａ）と、前記第１の逆非線形処理部を用いて第１データを暗号化することによって第１暗号化データを生成し、前記第２の非線形処理部を用いて第１暗号化データを復号化するステップ（Ｂ）と、を選択的に切り替えて実行することを特徴とするものである。
【００４９】
第２１の態様に係るデータ通信方法によれば、第１の通信装置から第２の通信装置に第１データを送信するにあたり、第１の非線形処理部を用いて第１データを暗号化することによって第１暗号化データを生成し、第２の逆非線形処理部を用いて第１暗号化データを復号化するステップ（Ａ）と、第１の逆非線形処理部を用いて第１データを暗号化することによって第１暗号化データを生成し、第２の非線形処理部を用いて第１暗号化データを復号化するステップ（Ｂ）と、が選択的に切り替えて実行される。ＤＰＡ攻撃又はＣＰＡ攻撃による消費電力特性の解析対象は、主に非線形処理部及び逆非線形処理部である。そのため、第１の通信装置から第２の通信装置への第１データの送信処理において、第１の非線形処理部を用いて暗号化を行い第２の逆非線形処理部を用いて復号化を行うステップ（Ａ）と、第１の逆非線形処理部を用いて暗号化を行い第２の非線形処理部を用いて復号化を行うステップ（Ｂ）とを選択的に切り替えて実行することによって、非線形処理部及び逆非線形処理部の消費電力特性を効果的に隠蔽することが可能となる。しかも、ＲＳＬ回路又はＷＤＤＬ回路を実装する必要がないため、コストの増大を回避できる。その結果、ＤＰＡ攻撃やＣＰＡ攻撃に対する効果的な対策を、容易にかつ低コストで実装することが可能となる。
【発明の効果】
【００５０】
本発明によれば、ＤＰＡ攻撃やＣＰＡ攻撃に対する効果的な対策を容易にかつ低コストで実装することが可能となる。
【図面の簡単な説明】
【００５１】
【図１】メモリシステムの構成を示す図である。
【図２】暗号復号処理部の構成を示す図である。
【図３】暗号処理部の標準的な回路構成を簡略化して示す図である。
【図４】復号処理部の標準的な回路構成を簡略化して示す図である。
【図５】ホスト装置からメモリ装置にコマンドを送信する際の暗号復号処理を示す図である。
【図６】メモリ装置からホスト装置にコンテンツデータを送信する際の暗号復号処理を示す図である。
【図７】選択テーブルの一例を示す図である。
【図８】メモリ装置からホスト装置へのコンテンツデータの読み出し処理の流れを簡略化して示す図である。
【図９】選択テーブルの他の例を示す図である。
【図１０】選択テーブルの一例を示す図である。
【図１１】メモリ装置からホスト装置へのコンテンツデータの読み出し処理の流れを簡略化して示す図である。
【図１２】ＣＰＵから暗号復号処理部に入力される情報を示す図である。
【図１３】暗号復号処理部による処理を示す図である。
【図１４】ＣＰＵから暗号復号処理部に入力される情報を示す図である。
【図１５】暗号復号処理部による処理を示す図である。
【図１６】メモリシステムの構成を簡略化して示す図である。
【図１７】メモリシステムの構成を簡略化して示す図である。
【図１８】暗号復号処理部の構成を示す図である。
【図１９】ホスト装置及びメモリ装置によって管理される共通鍵を示す図である。
【図２０】第１共通鍵及び第２共通鍵の生成手法を示す図である。
【図２１】第１共通鍵及び第２共通鍵の生成手法を示す図である。
【発明を実施するための形態】
【００５２】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【００５３】
図１は、本発明の実施の形態に係るメモリシステム１の構成を簡略化して示す図である。図１に示すようにメモリシステム１は、ホスト装置２と、ホスト装置２に着脱自在に接続された半導体メモリ等のメモリ装置３とを備えて構成されている。
【００５４】
ホスト装置２は、バス１０を介して相互に接続された、ＣＰＵ１１、鍵管理部１２、記憶部１３、暗号復号処理部１４、及び切替制御部１５を有している。切替制御部１５は、後述する選択テーブルＴ１を、内部メモリに保持している。
【００５５】
メモリ装置３は、メモリコントローラ２１、鍵管理部２２、メモリアレイ２３、暗号復号処理部１４と同様の暗号復号処理部２４、及び切替制御部２５を有している。メモリアレイ２３には、コンテンツデータ等の任意のデータが格納されている。切替制御部２５は、切替制御部１５が保持している選択テーブルＴ１と同様の選択テーブルＴ１を、内部メモリに保持している。
【００５６】
ホスト装置２及びメモリ装置３は、同一の共通鍵Ｋ０を、鍵管理部１２，２２において秘匿状態で管理している。暗号復号処理部１４，２４は、ホスト装置２からメモリ装置３に送信されるコマンド、及びメモリ装置３からホスト装置２に送信されるコンテンツデータに対して、暗号化処理及び復号化処理を実行する。本実施の形態に係るメモリシステム１では、暗号復号処理部１４，２４において暗号回路と復号回路とが独立に構成されたＳＰＮ（Substitution Permutation Network）構造の暗号アルゴリズムが採用されている。ＳＰＮ構造の暗号アルゴリズムとしては、ＡＥＳ（Advanced Encryption Standard）やHierocrypt等が知られており、本実施の形態の例ではＡＥＳを用いる。
【００５７】
図２は、暗号復号処理部１４，２４の構成を示す図である。暗号復号処理部１４は、独立に構成された暗号処理部３１及び復号処理部３２と、制御信号Ｓ１によって暗号処理部３１及び復号処理部３２の一方を選択するためのセレクタ３３とを有している。暗号復号処理部２４は、独立に構成された暗号処理部４２及び復号処理部４１と、制御信号Ｓ２によって暗号処理部４２及び復号処理部４１の一方を選択するためのセレクタ４３とを有している。
【００５８】
図３は、暗号処理部３１，４２の標準的な回路構成を簡略化して示す図である。図３に示すようにＡＥＳの暗号アルゴリズムでは、所定ビット数の平文データＤＩに対して、４つの基本演算（SubBytes/ShiftRows/MixColumns/AddRoundKey）が所定ラウンド数だけ繰り返し適用されることによって、暗号化データＤＯが出力される。SubBytesの演算回路は、自身への入力データに対してＳ−ｂｏｘと呼ばれる非線形の変換処理を行うための非線形変換回路（以下「Ｓ−ｂｏｘ回路」と称す）を有している。Ｓ−ｂｏｘ回路の代表的な回路構成方式としては、逆元演算及びアフィン変換の結果を真理値表で実現する方式であるテーブル方式と、個別に構成した逆元演算回路及びアフィン変換回路を直列に接続する方式である合成体方式とがある。テーブル方式のＳ−ｂｏｘ回路を使用した場合には、消費電力の分散が比較的小さいためにサイドチャネル攻撃に対する耐性（耐タンパ性）は高いが、多くのリソースが必要となる。一方、合成体方式のＳ−ｂｏｘ回路を使用した場合には、リソースは少なくてすむが、消費電力の分散が比較的大きいために耐タンパ性は低い。本実施の形態の例では、リソース節約のために合成体方式のＳ−ｂｏｘ回路が使用される。
【００５９】
図４は、復号処理部３２，４１の標準的な回路構成を簡略化して示す図である。図３に示した暗号処理部３１，４２とは逆に、所定ビット数の暗号化データＤＩに対して、４つの基本演算（AddRoundKey/InvMixColumns/InvShiftRows/InvSubBytes）が所定ラウンド数だけ繰り返し適用されることによって、平文データＤＯが出力される。InvSubBytesの演算回路は、Ｓ−ｂｏｘ回路による変換処理に対する逆変換処理を行うための逆非線形変換回路（以下「ＩｎｖＳ−ｂｏｘ回路」と称す）を有している。
【００６０】
サイドチャネル攻撃では、暗号復号処理部１４，２４の消費電力特性、特に、消費電力の分散が大きいＳ−ｂｏｘ回路及びＩｎｖＳ−ｂｏｘ回路の消費電力特性が、主な解析対象となる。
【００６１】
図５は、ホスト装置２からメモリ装置３にコマンドを送信する際の暗号復号処理を示す図である。暗号復号処理部１４，２４においては、暗号処理部３１によって平文のコマンドを暗号化することにより暗号化コマンドを生成し、復号処理部４１によって暗号化コマンドを復号化する通常のパターンＰ１と、復号処理部３２によって平文のコマンドを暗号化することにより暗号化コマンドを生成し、暗号処理部４２によって暗号化コマンドを復号化する通常とは逆のパターンＰ２とを、選択的に切り替えて実行可能である。
【００６２】
なお、復号処理部３２及び暗号処理部４２には同一の暗号アルゴリズム及び同一の共通鍵Ｋ０が使用されているため、復号処理部３２によって暗号化を行い、暗号処理部４２によって復号化を行うことにより、元の平文のコマンドを正しく再生することが可能である。つまり、元の平文のコマンドが同一であれば、パターンＰ１を選択してもパターンＰ２を選択しても、復号化の結果は同一となる。
【００６３】
また、元の平文のコマンドが同一であっても、暗号処理部３１のＳ−ｂｏｘ回路と復号処理部３２のＩｎｖＳ−ｂｏｘ回路とでは変換テーブルが異なるため、暗号化の結果は互いに異なる。例えば、入力データが「０ｘ７８」である場合に、Ｓ−ｂｏｘ回路の出力データは「０ｘＢＣ」、ＩｎｖＳ−ｂｏｘ回路の出力データは「０ｘＣ１」となり、入出力データ間のハミング距離や、入出力データ間でのハミング重みの変化量に差が生じる。従って、パターンＰ１，Ｐ２のいずれを選択するかによって、暗号復号処理部１４，２４の消費電力特性は互いに相違する。
【００６４】
図６は、メモリ装置３からホスト装置２にコンテンツデータを送信する際の暗号復号処理を示す図である。暗号復号処理部１４，２４においては、暗号処理部４２によって平文のコンテンツデータを暗号化することにより暗号化コンテンツデータを生成し、復号処理部３２によって暗号化コンテンツデータを復号化する通常のパターンＰ３と、復号処理部４１によって平文のコンテンツデータを暗号化することにより暗号化コンテンツデータを生成し、暗号処理部３１によって暗号化コンテンツデータを復号化する通常とは逆のパターンＰ４とを、選択的に切り替えて実行可能である。
【００６５】
なお、上記と同様に、元の平文のコンテンツデータが同一であれば、パターンＰ３，Ｐ４のいずれを選択しても、復号化の結果は同一となる。また、パターンＰ３，Ｐ４のいずれを選択するかによって、暗号復号処理部１４，２４の消費電力特性は互いに相違する。
【００６６】
図７は、選択テーブルＴ１の一例を示す図である。本実施の形態では、メモリ装置３からホスト装置２へのコンテンツデータ送信処理毎に、パターンＰ３とパターンＰ４とを任意に選択することが可能であり、その選択情報が選択テーブルＴ１に記述されている。図７に示した例では、奇数回目のコンテンツデータ送信処理ではパターンＰ４を選択し、偶数回目のコンテンツデータ送信処理ではパターンＰ３を選択するような選択情報が設定されている。
【００６７】
なお、本実施の形態では、ホスト装置２からメモリ装置３への電源投入後の初回のコマンド送信処理では、パターンＰ１が選択されるように設定されている。また、今回のコンテンツデータ送信処理においてパターンＰ４が選択された場合には、次回のコマンド送信処理においてパターンＰ２が選択され、今回のコンテンツデータ送信処理においてパターンＰ３が選択された場合には、次回のコマンド送信処理においてパターンＰ１が選択されるよう設定されている。
【００６８】
図８は、メモリ装置３からホスト装置２へのコンテンツデータの読み出し処理の流れを簡略化して示す図である。コマンド送信期間Ａ１において、ホスト装置２からメモリ装置３へ初回のリードコマンドが送信される。メモリアレイ２３へのリードアクセスが実行されるレイテンシ期間Ａ２が経過した後、データ送信期間Ａ３において、メモリ装置３からホスト装置２へコンテンツデータが送信される。次回のリードコマンドの発行を待機しているスタンバイ期間Ａ４を経た後、ホスト装置２からメモリ装置３へ２回目のリードコマンドが送信され、以降は同様の動作が繰り返される。本実施の形態では、レイテンシ期間Ａ２において、パターンＰ３とパターンＰ４との選択的な切り替えが実行される。
【００６９】
以下、図１〜８を参照して、本実施の形態に係るメモリシステム１の動作を詳細に説明する。
【００７０】
図１を参照して、メモリ装置３がホスト装置２に接続されてメモリ装置３に電源が投入されると、まず、ホスト装置２及びメモリ装置３は所定の認証アルゴリズムによって相互認証を行う。相互認証が完了すると、ＣＰＵ１１は初回のリードコマンドを発行する。リードコマンドは、暗号復号処理部１４に入力される。
【００７１】
図５を参照して、次に暗号復号処理部１４は、入力されたリードコマンドを暗号化することにより、暗号化リードコマンドを生成する。上記の通り本実施の形態に係るメモリシステム１では、初回のコマンド送信処理ではパターンＰ１が選択されるように設定されている。そのため、切替制御部１５，２５から入力される制御信号Ｓ１，Ｓ２によって、暗号復号処理部１４，２４は暗号処理部３１及び復号処理部４１を選択する。これにより、リードコマンドは暗号処理部３１によって暗号化される。その後、暗号化リードコマンドは、コマンド送信期間Ａ１（図８参照）においてホスト装置２からメモリ装置３へ送信される。
【００７２】
次にレイテンシ期間Ａ２（図８参照）において復号処理部４１は、受信した暗号化リードコマンドを復号化する。図１を参照して、復号化されたリードコマンドはメモリコントローラ２１に入力される。メモリコントローラ２１は、暗号復号処理部２４からのリードコマンドの入力が完了すると、受信完了フラグを発行する。受信完了フラグはメモリコントローラ２１からホスト装置２に送信される。ホスト装置２及びメモリ装置３は、受信完了フラグをトリガとして、コンテンツデータ送信処理のためのパターンを選択する。具体的には、切替制御部１５，２５が選択テーブルＴ１をそれぞれ参照することにより、パターンＰ３又はパターンＰ４を選択する。図７を参照して、初回（１回目）のコンテンツデータ送信処理に関する選択パターンとしてはパターンＰ４が設定されているため、切替制御部１５，２５から入力される制御信号Ｓ１，Ｓ２によって、暗号復号処理部１４，２４は暗号処理部３１及び復号処理部４１を選択する。また、メモリコントローラ２１は、リードコマンドをデコードすることによって、所望のコンテンツデータをメモリアレイ２３から読み出す。コンテンツデータは、暗号復号処理部２４に入力される。
【００７３】
図６を参照して、次に暗号復号処理部２４は、入力されたコンテンツデータを暗号化することにより、暗号化コンテンツデータを生成する。ここではパターンＰ４が選択されているため、コンテンツデータは復号処理部４１によって暗号化される。その後、暗号化コンテンツデータは、データ送信期間Ａ３（図８参照）においてメモリ装置３からホスト装置２へ送信される。なお、本実施の形態では、選択されなかったパターンＰ３に属する暗号処理部４２にはコンテンツデータは入力されず、暗号処理部４２はコンテンツデータの暗号化処理を実行しない。
【００７４】
次に暗号処理部３１は、受信した暗号化コンテンツデータを復号化する。これにより、初回のリードコマンドに対する処理が完了する。
【００７５】
上記の通り本実施の形態に係るメモリシステム１では、今回のコンテンツデータ送信処理においてパターンＰ４が選択された場合には、次回のコマンド送信処理においてパターンＰ２が選択されるよう設定されている。従って、図５を参照して、切替制御部１５，２５から入力される制御信号Ｓ１，Ｓ２によって、暗号復号処理部１４，２４は復号処理部３２及び暗号処理部４２を選択する。
【００７６】
ＣＰＵ１１によって２回目のリードコマンドが発行されると、暗号復号処理部１４は、復号処理部３２によってリードコマンドを暗号化し、暗号化リードコマンドをメモリ装置３へ送信する。次に暗号復号処理部２４は、受信した暗号化リードコマンドを暗号処理部４２によって復号化する。次に切替制御部１５，２５は、受信完了フラグをトリガとして、コンテンツデータ送信処理のためのパターンを選択する。図７を参照して、２回目のコンテンツデータ送信処理に関する選択パターンとしてはパターンＰ３が設定されているため、切替制御部１５，２５から入力される制御信号Ｓ１，Ｓ２によって、暗号復号処理部１４，２４は復号処理部３２及び暗号処理部４２を選択する。また、メモリコントローラ２１は、メモリアレイ２３から読み出した所望のコンテンツデータを、暗号復号処理部２４に入力する。次に暗号復号処理部２４は、暗号処理部４２によってコンテンツデータを暗号化し、暗号化コンテンツデータをホスト装置２へ送信する。次に暗号復号処理部１４は、受信した暗号化コンテンツデータを復号処理部３２によって復号化する。これにより、２回目のリードコマンドに対する処理が完了する。
【００７７】
上記の通り本実施の形態に係るメモリシステム１では、今回のコンテンツデータ送信処理においてパターンＰ３が選択された場合には、次回のコマンド送信処理においてパターンＰ１が選択されるよう設定されている。従って、図５を参照して、切替制御部１５，２５から入力される制御信号Ｓ１，Ｓ２によって、暗号復号処理部１４，２４は暗号処理部３１及び復号処理部４１を選択する。
【００７８】
ＣＰＵ１１によって３回目のリードコマンドが発行されると、暗号復号処理部１４は、暗号処理部３１によってリードコマンドを暗号化し、暗号化リードコマンドをメモリ装置３へ送信する。次に暗号復号処理部２４は、受信した暗号化リードコマンドを復号処理部４１によって復号化する。次に切替制御部１５，２５は、受信完了フラグをトリガとして、コンテンツデータ送信処理のためのパターンを選択する。図７を参照して、３回目のコンテンツデータ送信処理に関する選択パターンとしてはパターンＰ４が設定されているため、切替制御部１５，２５から入力される制御信号Ｓ１，Ｓ２によって、暗号復号処理部１４，２４は暗号処理部３１及び復号処理部４１を選択する。また、メモリコントローラ２１は、メモリアレイ２３から読み出した所望のコンテンツデータを、暗号復号処理部２４に入力する。次に暗号復号処理部２４は、復号処理部４１によってコンテンツデータを暗号化し、暗号化コンテンツデータをホスト装置２へ送信する。次に暗号復号処理部１４は、受信した暗号化コンテンツデータを暗号処理部３１によって復号化する。これにより、３回目のリードコマンドに対する処理が完了する。
【００７９】
以上をまとめると、１回目のコマンド送信処理ではパターンＰ１が選択され、それに応答する１回目のコンテンツデータ送信処理ではパターンＰ４が選択される。また、２回目のコマンド送信処理ではパターンＰ２が選択され、それに応答する２回目のコンテンツデータ送信処理ではパターンＰ３が選択される。また、３回目のコマンド送信処理ではパターンＰ１が選択され、それに応答する３回目のコンテンツデータ送信処理ではパターンＰ４が選択される。４回目以降も上記と同様の処理が繰り返し実行される。
【００８０】
なお、図７には、パターンＰ４とパターンＰ３とが交互に選択される選択テーブルＴ１の例を示したが、この例には限定されない。選択テーブルＴ１には、パターンＰ３，Ｐ４が不規則に選択されるような任意のルールを記述することができる。
【００８１】
図９は、選択テーブルＴ１の他の例を示す図である。図９に示した例では、パターンＰ３，Ｐ４はＰ４→Ｐ３→Ｐ３→Ｐ４→Ｐ４→Ｐ３→Ｐ４→・・・のように不規則に選択される。但し、パターンＰ３，Ｐ４の一方が偏って多く選択されることを回避すべく、所定の回数（例えば１０００回）でパターンＰ３，Ｐ４の出現率が同一（５０％）となるように設定することが望ましい。
【００８２】
このように本実施の形態に係るメモリシステム１（通信システム）によれば、ホスト装置２（第１の通信装置）からメモリ装置３（第２の通信装置）にコマンド（第１データ）を送信するにあたり、暗号復号処理部１４（第１の暗号復号処理部）及び暗号復号処理部２４（第２の暗号復号処理部）は、パターンＰ１（第１の処理）とパターンＰ２（第２の処理）とを選択的に切り替えて実行する。パターンＰ１では、暗号復号処理部１４において、暗号処理部３１のＳ−ｂｏｘ回路（第１の非線形処理部）を用いてコマンドを暗号化することによって暗号化コマンド（第１暗号化データ）を生成し、暗号復号処理部２４において、復号処理部４１のＩｎｖＳ−ｂｏｘ回路（第２の逆非線形処理部）を用いて暗号化コマンドを復号化する。パターンＰ２では、暗号復号処理部１４において、復号処理部３２のＩｎｖＳ−ｂｏｘ回路（第１の逆非線形処理部）を用いてコマンドを暗号化することによって暗号化コマンドを生成し、暗号復号処理部２４において、暗号処理部４２のＳ−ｂｏｘ回路（第２の非線形処理部）を用いて暗号化コマンドを復号化する。ＤＰＡ攻撃又はＣＰＡ攻撃による消費電力特性の解析対象は、主に暗号復号処理部１４，２４のＳ−ｂｏｘ回路及びＩｎｖＳ−ｂｏｘ回路である。そのため、ホスト装置２からメモリ装置３へのコマンド送信処理において、暗号処理部３１のＳ−ｂｏｘ回路を用いて暗号化を行い復号処理部４１のＩｎｖＳ−ｂｏｘ回路を用いて復号化を行うパターンＰ１と、復号処理部３２のＩｎｖＳ−ｂｏｘ回路を用いて暗号化を行い暗号処理部４２のＳ−ｂｏｘ回路を用いて復号化を行うパターンＰ２とを選択的に切り替えて実行することによって、暗号復号処理部１４，２４の消費電力特性を効果的に隠蔽することが可能となる。しかも、ＲＳＬ回路又はＷＤＤＬ回路を実装する必要がないため、コストの増大を回避できる。その結果、ＤＰＡ攻撃やＣＰＡ攻撃に対する効果的な対策を、容易にかつ低コストで実装することが可能となる。
【００８３】
また、本実施の形態に係るメモリシステム１によれば、メモリ装置３からホスト装置２にコンテンツデータ（第２データ）を送信するにあたり、暗号復号処理部１４，２４は、パターンＰ３（第３の処理）とパターンＰ４（第４の処理）とを選択的に切り替えて実行する。パターンＰ３では、暗号復号処理部２４において、暗号処理部４２のＳ−ｂｏｘ回路を用いてコンテンツデータを暗号化することによって暗号化コンテンツデータ（第２暗号化データ）を生成し、暗号復号処理部１４において、復号処理部３２のＩｎｖＳ−ｂｏｘ回路を用いて暗号化コンテンツデータを復号化する。パターンＰ４では、暗号復号処理部２４において、復号処理部４１のＩｎｖＳ−ｂｏｘ回路を用いてコンテンツデータを暗号化することによって暗号化コンテンツデータを生成し、暗号復号処理部１４において、暗号処理部３１のＳ−ｂｏｘ回路を用いて暗号化コンテンツデータを復号化する。このように、ホスト装置２からメモリ装置３へのコマンド送信処理のみならず、メモリ装置３からホスト装置２へのコンテンツデータ送信処理においても、パターンＰ３とパターンＰ４とを選択的に切り替えて実行することによって、暗号復号処理部１４，２４の消費電力特性をさらに効果的に隠蔽することが可能となる。
【００８４】
また、本実施の形態に係るメモリシステム１によれば、ホスト装置２は、暗号復号処理部１４によるパターンＰ１，Ｐ２の切り替え及びパターンＰ３，Ｐ４の切り替えを制御する切替制御部１５（第１の切替制御部）を有し、メモリ装置３は、暗号復号処理部２４によるパターンＰ１，Ｐ２の切り替え及びパターンＰ３，Ｐ４の切り替えを制御する切替制御部２５（第２の切替制御部）を有する。従って、切替制御部１５，２５が、暗号復号処理部１４におけるパターンの切り替えと、暗号復号処理部２４におけるパターンの切り替えとを同期して実行することによって、ホスト装置２からメモリ装置３へのコマンド送信処理、及びメモリ装置３からホスト装置２へのコンテンツデータ送信処理を、選択されたパターンによって適切に実行することが可能となる。
【００８５】
また、本実施の形態に係るメモリシステム１によれば、切替制御部１５，２５は、共通の選択テーブルＴ１を参照することによって、パターンＰ３又はパターンＰ４を選択する。従って、パターンＰ３，Ｐ４の切り替えを指示するための選択情報をホスト装置２とメモリ装置３との間で送受信する必要がないため、両装置間の通信データ量が増大することを回避できる。また、選択テーブルＴ１に任意のルールを記述することによって、パターンＰ３，Ｐ４を切り替えるタイミング及びパターンを、予め任意に設定することが可能となる。
【００８６】
また、本実施の形態に係るメモリシステム１によれば、切替制御部１５，２５は、メモリ装置３からホスト装置２へのコンテンツデータ送信処理毎に、パターンＰ３，Ｐ４の選択を実行する。従って、パターンＰ３，Ｐ４の切り替えを高頻度で実行できるため、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【００８７】
また、本実施の形態に係るメモリシステム１によれば、切替制御部１５，２５は、今回のコンテンツデータ送信処理においてパターンＰ３が選択された場合には、次回のコマンド送信処理においてパターンＰ１を選択し、今回のコンテンツデータ送信処理においてパターンＰ４が選択された場合には、次回のコマンド送信処理においてパターンＰ２を選択する。従って、暗号復号処理部２４は、今回のコンテンツデータ送信処理においてパターンＰ３，Ｐ４のいずれを選択したかによって、次回のコマンド送信処理においてパターンＰ１，Ｐ２のいずれが選択されるかを認識できるため、ホスト装置２から次回に受信する暗号化コマンドを、復号処理部４１又は暗号処理部４２によって適切に復号化することが可能となる。
【００８８】
＜変形例１＞
上記実施の形態では、切替制御部１５，２５はパターンＰ３，Ｐ４については任意に選択できたが、パターンＰ１，Ｐ２については、今回のコンテンツデータ送信処理におけるパターンＰ３，Ｐ４の選択結果によって、次回のコマンド送信処理で選択されるパターンＰ１，Ｐ２が固定された。
【００８９】
これに対して本変形例では、切替制御部１５，２５は、パターンＰ３，Ｐ４のみならずパターンＰ１，Ｐ２についても任意に選択することができる。
【００９０】
図１０は、選択テーブルＴ１の一例を示す図である。上記実施の形態と同様に、切替制御部１５，２５は共通の選択テーブルＴ１を保持している。
【００９１】
本変形例では、メモリ装置３からホスト装置２へのコンテンツデータ送信処理毎にパターンＰ３，Ｐ４を任意に選択でき、また、ホスト装置２からメモリ装置３へのコマンド送信処理毎にパターンＰ１，Ｐ２を任意に選択でき、それらの選択情報が選択テーブルＴ１に記述されている。選択テーブルＴ１には、パターンＰ１，Ｐ２及びパターンＰ３，Ｐ４がそれぞれ不規則に選択されるような任意のルールを記述することができる。図１０に示した例によると、１回目（１Ｂ回目）のコンテンツデータ送信処理ではパターンＰ４が選択され、２回目（２Ｆ回目）のコマンド送信処理ではパターンＰ２が選択され、２回目（２Ｂ回目）のコンテンツデータ送信処理ではパターンＰ３が選択され、３回目（３Ｆ回目）のコマンド送信処理ではパターンＰ１が選択され、３回目（３Ｂ回目）のコンテンツデータ送信処理ではパターンＰ３が選択される。
【００９２】
なお、上記実施の形態と同様に、１回目のコマンド送信処理ではパターンＰ１が選択されるように設定されている。また、パターンＰ１，Ｐ２の一方が偏って多く選択されることを回避すべく、所定の回数でパターンＰ１，Ｐ２の出現率が同一となるように設定することが望ましい。パターンＰ３，Ｐ４についても同様である。
【００９３】
図１１は、メモリ装置３からホスト装置２へのコンテンツデータの読み出し処理の流れを簡略化して示す図である。本変形例では、レイテンシ期間Ａ２においてパターンＰ３，Ｐ４の選択が実行され、スタンバイ期間Ａ４においてパターンＰ１，Ｐ２の選択が実行される。
【００９４】
本変形例に係るメモリシステム１によれば、切替制御部１５，２５は、今回のコンテンツデータ送信処理においてパターンＰ３，Ｐ４のいずれが選択されたかに拘わらず、次回のコマンド送信処理においてパターンＰ１，Ｐ２を任意に選択する。従って、今回のコンテンツデータ送信処理におけるパターンＰ３，Ｐ４の選択と、次回のコマンド送信処理におけるパターンＰ１，Ｐ２の選択との間に制限がないため、次回のコマンド送信処理においてパターンＰ１，Ｐ２を任意に選択することができ、その結果、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【００９５】
また、本変形例に係るメモリシステム１によれば、切替制御部１５，２５は、共通の選択テーブルＴ１を参照することによって、パターンＰ１，Ｐ２を選択する。従って、パターンＰ１，Ｐ２の切り替えを指示するための選択情報をホスト装置２とメモリ装置３との間で送受信する必要がないため、両装置間の通信データ量が増大することを回避できる。また、選択テーブルＴ１に任意のルールを記述することによって、パターンＰ１，Ｐ２を切り替えるタイミング及びパターンを、予め任意に設定することが可能となる。
【００９６】
＜変形例２＞
上記実施の形態では、切替制御部２５は、選択テーブルＴ１を参照することによってパターンＰ３，Ｐ４を選択した。
【００９７】
これに対して本変形例では、暗号復号処理部１４は、パターンＰ３，Ｐ４を選択する第１選択情報を暗号化コマンドに含めてメモリ装置３に送信し、切替制御部２５は、受信した暗号化コマンドから抽出した第１選択情報に基づいて、パターンＰ３，Ｐ４を選択する。
【００９８】
図１２は、ＣＰＵ１１から暗号復号処理部１４に入力される情報を示す図である。ＣＰＵ１１は、リードコマンドＲＣと、当該リードコマンドＲＣに応答するコンテンツデータ送信処理において暗号復号処理部２４が選択すべきパターンＰ３，Ｐ４を指定するための第１選択情報ＳＳ１とを、暗号復号処理部１４に入力する。
【００９９】
図１３は、暗号復号処理部１４による処理を示す図である。暗号復号処理部１４は、リードコマンドＲＣに第１選択情報ＳＳ１を付加し、それらをまとめて暗号化することによって、暗号化コマンドＴＤを生成する。
【０１００】
暗号復号処理部２４は、受信した暗号化コマンドＴＤを復号化した後、第１選択情報ＳＳ１を抽出する。切替制御部２５は、第１選択情報ＳＳ１に基づいて、今回のリードコマンドＲＣに応答するコンテンツデータ送信処理において使用するパターンＰ３又はパターンＰ４を選択する。その後、暗号復号処理部２４は、メモリアレイ２３から読み出したコンテンツデータを、第１選択情報ＳＳ１に基づいて選択されたパターンＰ３又はパターンＰ４によって、ホスト装置２に送信する。
【０１０１】
本変形例に係るメモリシステム１によれば、切替制御部２５は、暗号化コマンドＴＤから抽出された第１選択情報ＳＳ１に基づいて、パターンＰ３又はパターンＰ４を選択する。従って、パターンＰ３，Ｐ４を切り替えるタイミング及びパターンを、ホスト装置２のＣＰＵ１１によって任意に設定することが可能となる。
【０１０２】
＜変形例３＞
上記変形例２では、パターンＰ３，Ｐ４についてはＣＰＵ１１によって任意に選択できたが、パターンＰ３，Ｐ４のみならずパターンＰ１，Ｐ２についてもＣＰＵ１１によって任意に設定しても良い。
【０１０３】
図１４は、ＣＰＵ１１から暗号復号処理部１４に入力される情報を示す図である。ＣＰＵ１１は、リードコマンドＲＣと、上記変形例２と同様の第１選択情報ＳＳ１と、次回のコマンド送信処理において暗号復号処理部１４が選択すべきパターンＰ１，Ｐ２を指定するための第２選択情報ＳＳ２とを、暗号復号処理部１４に入力する。
【０１０４】
図１５は、暗号復号処理部１４による処理を示す図である。暗号復号処理部１４は、リードコマンドＲＣに第１選択情報ＳＳ１及び第２選択情報ＳＳ２を付加し、それらをまとめて暗号化することによって、暗号化コマンドＴＤを生成する。そして、暗号化コマンドＴＤを、前回の第２選択情報ＳＳ２で指定されたパターンＰ１又はパターンＰ２によって、メモリ装置３に送信する。
【０１０５】
暗号復号処理部２４は、受信した暗号化コマンドＴＤを復号化した後、第１選択情報ＳＳ１及び第２選択情報ＳＳ２を抽出する。切替制御部２５は、第１選択情報ＳＳ１に基づいて、今回のリードコマンドＲＣに応答するコンテンツデータ送信処理において使用するパターンＰ３又はパターンＰ４を選択する。その後、暗号復号処理部２４は、メモリアレイ２３から読み出したコンテンツデータを、第１選択情報ＳＳ１に基づいて選択されたパターンＰ３又はパターンＰ４によって、ホスト装置２に送信する。コンテンツデータ送信処理が完了した後、切替制御部２５は、第２選択情報ＳＳ２に基づいて、次回のコマンド送信処理において使用するパターンＰ１又はパターンＰ２を選択する。
【０１０６】
本変形例に係るメモリシステム１によれば、切替制御部２５は、今回のコマンドに応答する処理が完了した後に、第２選択情報ＳＳ２に基づいてパターンＰ１又はパターンＰ２を選択する。従って、暗号復号処理部２４は、ホスト装置２から次回に受信する暗号化コマンドを、復号処理部４１又は暗号処理部４２によって適切に復号化することが可能となる。また、今回のコマンドの応答処理のためのパターンＰ３又はパターンＰ４と、次回のコマンドの受信処理のためのパターンＰ１又はパターンＰ２との組合せをＣＰＵ１１によって任意に設定できるため、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【０１０７】
＜変形例４＞
上記実施の形態では、切替制御部１５，２５は、選択テーブルＴ１を参照することによって、コマンド送信処理においてパターンＰ１又はパターンＰ２を選択し、また、選択テーブルＴ１を参照することによって、コンテンツデータ送信処理においてパターンＰ３又はパターンＰ４を選択した。
【０１０８】
これに対して本変形例では、切替制御部１５，２５は、共通のカウンタ値に基づいて、パターンＰ１，Ｐ２の選択及びパターンＰ３，Ｐ４の選択をそれぞれ実行する。
【０１０９】
図１６は、メモリシステム１の構成を簡略化して示す図である。ホスト装置２及びメモリ装置３は、共通のカウンタ５０をそれぞれ備えている。切替制御部１５，２５は、カウンタ５０から出力されたカウンタ値に基づいて、コマンド送信処理においてパターンＰ１又はパターンＰ２を選択する。また、切替制御部１５，２５は、カウンタ５０から出力されたカウンタ値に基づいて、コンテンツデータ送信処理においてパターンＰ３又はパターンＰ４を選択する。一例として、切替制御部１５，２５は、所定の設定タイミングでカウンタ５０から出力された２ビットのカウンタ値が「００」である場合は「Ｐ１，Ｐ３」、「０１」である場合は「Ｐ１，Ｐ４」、「１０」である場合は「Ｐ２，Ｐ３」、「１１」である場合は「Ｐ２，Ｐ４」の組合せで、パターンを選択する。
【０１１０】
本変形例に係るメモリシステム１によれば、切替制御部１５，２５は、共通のカウンタ５０から出力されたカウンタ値に基づいて、パターンＰ１，Ｐ２の選択及びパターンＰ３，Ｐ４の選択を実行する。従って、パターンＰ１，Ｐ２及びパターンＰ３，Ｐ４の切り替えを指示するための選択情報をホスト装置２とメモリ装置３との間で送受信する必要がないため、両装置間の通信データ量が増大することを回避できる。また、カウンタ値に基づく設定タイミングは通信毎に変動するため、カウンタ値を用いることによってパターンＰ１，Ｐ２及びパターンＰ３，Ｐ４の切り替えを不規則に実行できる。その結果、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【０１１１】
＜変形例５＞
上記実施の形態では、切替制御部１５，２５は、選択テーブルＴ１を参照することによって、コマンド送信処理においてパターンＰ１又はパターンＰ２を選択し、また、選択テーブルＴ１を参照することによって、コンテンツデータ送信処理においてパターンＰ３又はパターンＰ４を選択した。
【０１１２】
これに対して本変形例では、切替制御部１５，２５は、共通の乱数値に基づいて、パターンＰ１，Ｐ２の選択及びパターンＰ３，Ｐ４の選択をそれぞれ実行する。
【０１１３】
図１７は、メモリシステム１の構成を簡略化して示す図である。ホスト装置２及びメモリ装置３は、共通の乱数生成部６０をそれぞれ備えている。乱数生成部６０としては、例えば擬似乱数生成器を用いることができる。切替制御部１５，２５は、乱数生成部６０から出力された乱数値に基づいて、コマンド送信処理においてパターンＰ１又はパターンＰ２を選択する。また、切替制御部１５，２５は、乱数生成部６０から出力された乱数値に基づいて、コンテンツデータ送信処理においてパターンＰ３又はパターンＰ４を選択する。一例として、切替制御部１５，２５は、所定の設定タイミングで乱数生成部６０から出力された２ビットの乱数値が「００」である場合は「Ｐ１，Ｐ３」、「０１」である場合は「Ｐ１，Ｐ４」、「１０」である場合は「Ｐ２，Ｐ３」、「１１」である場合は「Ｐ２，Ｐ４」の組合せで、パターンを選択する。
【０１１４】
本変形例に係るメモリシステム１によれば、切替制御部１５，２５は、共通の乱数生成部６０から出力された乱数値に基づいて、パターンＰ１，Ｐ２の選択及びパターンＰ３，Ｐ４の選択を実行する。従って、パターンＰ１，Ｐ２及びパターンＰ３，Ｐ４の切り替えを指示するための選択情報をホスト装置２とメモリ装置３との間で送受信する必要がないため、両装置間の通信データ量が増大することを回避できる。また、乱数値を用いることによってパターンＰ１，Ｐ２及びパターンＰ３，Ｐ４の切り替えを不規則に実行できるため、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【０１１５】
＜変形例６＞
上記実施の形態では、コマンド送信処理及びコンテンツデータ送信処理において、選択されなかったパターンに属する暗号処理部又は復号処理部にはコマンド及びコンテンツデータは入力されず、非選択の暗号処理部又は復号処理部はコマンド及びコンテンツデータの暗号化処理を実行しない。
【０１１６】
本変形例では、選択されなかったパターンに属する暗号処理部又は復号処理部にもコマンド及びコンテンツデータを入力することにより、暗号化処理を実行させる。
【０１１７】
図１８は、暗号復号処理部１４，２４の構成を示す図である。暗号処理部３１及び復号処理部３２とセレクタ３３との間に、バッファ回路７１，７２がそれぞれ接続されている。また、復号処理部４１及び暗号処理部４２とセレクタ４３との間に、バッファ回路７３，７４がそれぞれ接続されている。
【０１１８】
コマンド送信処理に関し、ＣＰＵ１１が発行したコマンドは、暗号処理部３１及び復号処理部３２に入力される。暗号処理部３１及び復号処理部３２は、入力されたコマンドをそれぞれ暗号化し、暗号化コマンドをバッファ回路７１，７２にそれぞれ入力する。パターンＰ１が選択されている場合は、バッファ回路７１に格納されている暗号化コマンドがメモリ装置３に送信され、パターンＰ２が選択されている場合は、バッファ回路７２に格納されている暗号化コマンドがメモリ装置３に送信される。また、暗号復号処理部１４は、選択されていないパターンに属するバッファ回路７１又はバッファ回路７２に格納されている暗号化コマンドを破棄する。
【０１１９】
コンテンツデータ送信処理に関し、メモリアレイ２３から読み出されたコンテンツデータは、復号処理部４１及び暗号処理部４２に入力される。復号処理部４１及び暗号処理部４２は、入力されたコンテンツデータをそれぞれ暗号化し、暗号化コンテンツデータをバッファ回路７３，７４にそれぞれ入力する。パターンＰ３が選択されている場合は、バッファ回路７４に格納されている暗号化コンテンツデータがホスト装置２に送信され、パターンＰ４が選択されている場合は、バッファ回路７３に格納されている暗号化コンテンツデータがホスト装置２に送信される。また、暗号復号処理部２４は、選択されていないパターンに属するバッファ回路７３又はバッファ回路７４に格納されている暗号化コンテンツデータを破棄する。
【０１２０】
本変形例に係るメモリシステム１によれば、コマンド送信処理において、パターンＰ１が選択された場合、暗号復号処理部１４は復号処理部３２をダミー駆動し、パターンＰ２が選択された場合、暗号復号処理部１４は暗号処理部３１をダミー駆動する。また、コンテンツデータ送信処理において、パターンＰ３が選択された場合、暗号復号処理部２４は復号処理部４１をダミー駆動し、パターンＰ４が選択された場合、暗号復号処理部２４は暗号処理部４２をダミー駆動する。このように、選択されていないパターンに属する暗号処理部又は復号処理部をダミー駆動することにより、分散の大きい消費電力ノイズを非選択の暗号処理部又は復号処理部によって生成できる。その結果、選択された暗号処理部及び非線形処理部の消費電力特性を、この消費電力ノイズによって効果的に隠蔽することが可能となる。
【０１２１】
＜変形例７＞
上記実施の形態では、暗号復号処理部１４，２４は、コマンド送信処理においてはパターンＰ１，Ｐ２のいずれに関しても共通鍵Ｋ０を使用し、コンテンツデータ送信処理においてはパターンＰ３，Ｐ４のいずれに関しても共通鍵Ｋ０を使用した。
【０１２２】
これに対して本変形例では、暗号復号処理部１４，２４は、コマンド送信処理においてはパターンＰ１とパターンＰ２とで異なる共通鍵を使用し、コンテンツデータ送信処理においてはパターンＰ３とパターンＰ４とで異なる共通鍵を使用する。
【０１２３】
図１９は、ホスト装置２及びメモリ装置３によって管理される共通鍵を示す図である。ホスト装置２において、鍵管理部１２は、互いに異なる第１共通鍵Ｋ１及び第２共通鍵Ｋ２を管理する。メモリ装置３において、鍵管理部２２は、鍵管理部１２と同様の第１共通鍵Ｋ１及び第２共通鍵Ｋ２を管理する。
【０１２４】
図２０，２１は、第１共通鍵Ｋ１及び第２共通鍵Ｋ２の生成手法を示す図である。図２０に示すように、鍵管理部１２，２２は鍵生成部９０を有している。鍵生成部９０は、一つの共通鍵Ｋ０に基づいて、二つの第１共通鍵Ｋ１及び第２共通鍵Ｋ２を生成する。具体的には図２１に示すように、鍵生成部９０は、共通鍵Ｋ０をビッグエンディアン方式で配列することによって第１共通鍵Ｋ１を生成し、共通鍵Ｋ０をリトルエンディアン方式で配列することによって第２共通鍵Ｋ２を生成する。このように、鍵生成部９０が一つの共通鍵Ｋ０に基づいて二つの第１共通鍵Ｋ１及び第２共通鍵Ｋ２を生成することにより、第１共通鍵Ｋ１及び第２共通鍵Ｋ２の生成及び管理を容易化することが可能となる。
【０１２５】
コマンド送信処理において、暗号復号処理部１４，２４は、パターンＰ１が選択された場合には第１共通鍵Ｋ１及び第２共通鍵Ｋ２の一方を使用し、パターンＰ２が選択された場合には第１共通鍵Ｋ１及び第２共通鍵Ｋ２の他方を使用する。このように、パターンＰ１とパターンＰ２とで使用する共通鍵Ｋ１，Ｋ２を異ならせることにより、第三者による解析を困難化することが可能となる。
【０１２６】
コンテンツデータ送信処理において、暗号復号処理部１４，２４は、パターンＰ３が選択された場合には第１共通鍵Ｋ１及び第２共通鍵Ｋ２の一方を使用し、パターンＰ４が選択された場合には第１共通鍵Ｋ１及び第２共通鍵Ｋ２の他方を使用する。このように、パターンＰ３とパターンＰ４とで使用する共通鍵Ｋ１，Ｋ２を異ならせることにより、第三者による解析を困難化することが可能となる。
【０１２７】
なお、以上の説明では、ホスト装置２とメモリ装置３とを備えるメモリシステム１に対して本発明を適用する例について述べたが、本発明は、相互に接続される第１の通信装置と第２の通信装置との間で暗号化によるセキュア通信が実行される任意の通信システムに対して適用することが可能である。例えば、
・映像データが記録された記録装置と、当該記録装置から受信した映像データを再生する再生装置とを備える映像処理システム
・ゲームプログラムが記録された記録装置と、当該記録装置から受信したゲームプログラムを実行するゲーム機本体とを備える情報処理システム
・トナーカートリッジと、当該トナーカートリッジから残量情報等を受信するプリンタとを備えるプリンタシステム
・エンジン、ブレーキ、アクセル、エアコン等の制御対象と、当該制御対象との間でセンサデータや制御情報等を通信する制御装置であるＥＣＵ（Engine Control Unit）とを備える車載制御システム
等に対して、本発明を適用することが可能である。
【符号の説明】
【０１２８】
１  メモリシステム
２  ホスト装置
３  メモリ装置
１１  ＣＰＵ
１２，２２  鍵管理部
１４，２４  暗号復号処理部
１５，２５  切替制御部
３１，４２  暗号処理部
３２，４１  復号処理部
５０  カウンタ
６０  乱数生成部
９０  鍵生成部
Ｔ１  選択テーブル
【図１】
2019118001.tif 000003
【図２】
2019118001.tif 000004
【図３】
2019118001.tif 000005
【図４】
2019118001.tif 000006
【図５】
2019118001.tif 000007
【図６】
2019118001.tif 000008
【図７】
2019118001.tif 000009
【図８】
2019118001.tif 000010
【図９】
2019118001.tif 000011
【図１０】
2019118001.tif 000012
【図１１】
2019118001.tif 000013
【図１２】
2019118001.tif 000014
【図１３】
2019118001.tif 000015
【図１４】
2019118001.tif 000016
【図１５】
2019118001.tif 000017
【図１６】
2019118001.tif 000018
【図１７】
2019118001.tif 000019
【図１８】
2019118001.tif 000020
【図１９】
2019118001.tif 000021
【図２０】
2019118001.tif 000022
【図２１】
2019118001.tif 000023