特開2019-118001(P2019-118001A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社メガチップスの特許一覧

<>
  • 特開2019118001-通信システム及びデータ通信方法 図000003
  • 特開2019118001-通信システム及びデータ通信方法 図000004
  • 特開2019118001-通信システム及びデータ通信方法 図000005
  • 特開2019118001-通信システム及びデータ通信方法 図000006
  • 特開2019118001-通信システム及びデータ通信方法 図000007
  • 特開2019118001-通信システム及びデータ通信方法 図000008
  • 特開2019118001-通信システム及びデータ通信方法 図000009
  • 特開2019118001-通信システム及びデータ通信方法 図000010
  • 特開2019118001-通信システム及びデータ通信方法 図000011
  • 特開2019118001-通信システム及びデータ通信方法 図000012
  • 特開2019118001-通信システム及びデータ通信方法 図000013
  • 特開2019118001-通信システム及びデータ通信方法 図000014
  • 特開2019118001-通信システム及びデータ通信方法 図000015
  • 特開2019118001-通信システム及びデータ通信方法 図000016
  • 特開2019118001-通信システム及びデータ通信方法 図000017
  • 特開2019118001-通信システム及びデータ通信方法 図000018
  • 特開2019118001-通信システム及びデータ通信方法 図000019
  • 特開2019118001-通信システム及びデータ通信方法 図000020
  • 特開2019118001-通信システム及びデータ通信方法 図000021
  • 特開2019118001-通信システム及びデータ通信方法 図000022
  • 特開2019118001-通信システム及びデータ通信方法 図000023
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2019-118001(P2019-118001A)
(43)【公開日】2019年7月18日
(54)【発明の名称】通信システム及びデータ通信方法
(51)【国際特許分類】
   H04L 9/14 20060101AFI20190627BHJP
   H04L 9/08 20060101ALI20190627BHJP
【FI】
   H04L9/00 641
   H04L9/00 601E
【審査請求】未請求
【請求項の数】21
【出願形態】OL
【全頁数】26
(21)【出願番号】特願2017-250596(P2017-250596)
(22)【出願日】2017年12月27日
(71)【出願人】
【識別番号】591128453
【氏名又は名称】株式会社メガチップス
(74)【代理人】
【識別番号】100136353
【弁理士】
【氏名又は名称】高尾 建吾
(72)【発明者】
【氏名】菅原 崇彦
(72)【発明者】
【氏名】松山 直樹
【テーマコード(参考)】
5J104
【Fターム(参考)】
5J104AA16
5J104AA18
5J104AA47
5J104DA05
5J104EA04
5J104JA15
5J104NA02
5J104NA20
5J104NA41
5J104NA42
(57)【要約】
【課題】DPA攻撃やCPA攻撃に対する効果的な対策を容易にかつ低コストで実装することが可能な通信システムを得る。
【解決手段】ホスト装置2からメモリ装置3にコマンドを送信するにあたり、暗号復号処理部14,24は、パターンP1とパターンP2とを選択的に切り替えて実行する。パターンP1では、暗号処理部31のS−box回路を用いてコマンドを暗号化することによって暗号化コマンドを生成し、復号処理部41のInvS−box回路を用いて暗号化コマンドを復号化する。パターンP2では、復号処理部32のInvS−box回路を用いてコマンドを暗号化することによって暗号化コマンドを生成し、暗号処理部42のS−box回路を用いて暗号化コマンドを復号化する。
【選択図】図2
【特許請求の範囲】
【請求項1】
第1の暗号復号処理部を有する第1の通信装置と、
前記第1の通信装置に接続され、第2の暗号復号処理部を有する第2の通信装置と、
を備える通信システムであって、
前記第1の暗号復号処理部は、
第1の非線形処理部を含む第1の暗号処理部と、
第1の逆非線形処理部を含む第1の復号処理部と、
を有し、
前記第2の暗号復号処理部は、
第2の逆非線形処理部を含む第2の復号処理部と、
第2の非線形処理部を含む第2の暗号処理部と、
を有し、
前記第1の通信装置から前記第2の通信装置に第1データを送信するにあたり、前記第1の暗号復号処理部及び前記第2の暗号復号処理部は、
前記第1の暗号復号処理部において、前記第1の非線形処理部を用いて第1データを暗号化することによって第1暗号化データを生成し、前記第2の暗号復号処理部において、前記第2の逆非線形処理部を用いて第1暗号化データを復号化する第1の処理と、
前記第1の暗号復号処理部において、前記第1の逆非線形処理部を用いて第1データを暗号化することによって第1暗号化データを生成し、前記第2の暗号復号処理部において、前記第2の非線形処理部を用いて第1暗号化データを復号化する第2の処理と、
を選択的に切り替えて実行する、通信システム。
【請求項2】
前記第1データに応答して前記第2の通信装置から前記第1の通信装置に第2データを送信するにあたり、前記第1の暗号復号処理部及び前記第2の暗号復号処理部は、
前記第2の暗号復号処理部において、前記第2の非線形処理部を用いて第2データを暗号化することによって第2暗号化データを生成し、前記第1の暗号復号処理部において、前記第1の逆非線形処理部を用いて第2暗号化データを復号化する第3の処理と、
前記第2の暗号復号処理部において、前記第2の逆非線形処理部を用いて第2データを暗号化することによって第2暗号化データを生成し、前記第1の暗号復号処理部において、前記第1の非線形処理部を用いて第2暗号化データを復号化する第4の処理と、
を選択的に切り替えて実行する、請求項1に記載の通信システム。
【請求項3】
前記第1の通信装置は、前記第1の暗号復号処理部による前記第3の処理と前記第4の処理との切り替えを制御する第1の切替制御部をさらに有し、
前記第2の通信装置は、前記第2の暗号復号処理部による前記第3の処理と前記第4の処理との切り替えを制御する第2の切替制御部をさらに有する、請求項2に記載の通信システム。
【請求項4】
前記第1の切替制御部及び前記第2の切替制御部は、前記第3の処理と前記第4の処理とを選択的に切り替えるルールが記述された選択テーブルをそれぞれ保持しており、
前記第1の切替制御部及び前記第2の切替制御部は、前記選択テーブルを参照することによって、前記第3の処理又は前記第4の処理を選択する、請求項3に記載の通信システム。
【請求項5】
第1暗号化データには、前記第3の処理又は前記第4の処理を選択する第1の選択情報が含まれており、
前記第2の切替制御部は、第1暗号化データから抽出した前記第1の選択情報に基づいて、前記第3の処理又は前記第4の処理を選択する、請求項3に記載の通信システム。
【請求項6】
前記第1の切替制御部及び前記第2の切替制御部は、共通のカウンタをそれぞれ有しており、
前記第1の切替制御部及び前記第2の切替制御部は、前記カウンタから出力されたカウンタ値に基づいて、前記第3の処理又は前記第4の処理を選択する、請求項3に記載の通信システム。
【請求項7】
前記第1の切替制御部及び前記第2の切替制御部は、共通の乱数生成器をそれぞれ有しており、
前記第1の切替制御部及び前記第2の切替制御部は、前記乱数生成器から出力された乱数値に基づいて、前記第3の処理又は前記第4の処理を選択する、請求項3に記載の通信システム。
【請求項8】
前記第3の処理が選択された場合、前記第2の暗号復号処理部は前記第2の逆非線形処理部をダミー駆動し、
前記第4の処理が選択された場合、前記第2の暗号復号処理部は前記第2の非線形処理部をダミー駆動する、請求項2〜7のいずれか一つに記載の通信システム。
【請求項9】
前記第1の暗号復号処理部及び前記第2の暗号復号処理部は、前記第2の通信装置から前記第1の通信装置への第2データの送信処理毎に、前記第3の処理及び前記第4の処理の選択を実行する、請求項2〜8のいずれか一つに記載の通信システム。
【請求項10】
前記第3の処理において、前記第1の暗号処理部及び前記第2の復号処理部は、第1の共通鍵及び第2の共通鍵の一方を用いて、第2暗号化データの生成及び復号化を行い、
前記第4の処理において、前記第1の復号処理部及び前記第2の暗号処理部は、前記第1の共通鍵及び前記第2の共通鍵の他方を用いて、第2暗号化データの生成及び復号化を行う、請求項2〜9のいずれか一つに記載の通信システム。
【請求項11】
前記第1の暗号復号処理部及び前記第2の暗号復号処理部は、
今回の第2データの送信処理において前記第3の処理が選択された場合には、次回の第1データの送信処理において前記第1の処理を選択し、
今回の第2データの送信処理において前記第4の処理が選択された場合には、次回の第1データの送信処理において前記第2の処理を選択する、請求項2〜10のいずれか一つに記載の通信システム。
【請求項12】
前記第1の通信装置は、前記第1の暗号復号処理部による前記第1の処理と前記第2の処理との切り替えを制御する第1の切替制御部をさらに有し、
前記第2の通信装置は、前記第2の暗号復号処理部による前記第1の処理と前記第2の処理との切り替えを制御する第2の切替制御部をさらに有する、請求項1に記載の通信システム。
【請求項13】
前記第1の切替制御部及び前記第2の切替制御部は、前記第1の処理と前記第2の処理とを選択的に切り替えるルールが記述された選択テーブルをそれぞれ保持しており、
前記第1の切替制御部及び前記第2の切替制御部は、前記選択テーブルを参照することによって、前記第1の処理又は前記第2の処理を選択する、請求項12に記載の通信システム。
【請求項14】
第1暗号化データには、次回の第1データの送信処理に関して前記第1の処理又は前記第2の処理を選択する第2の選択情報が含まれており、
前記第2の切替制御部は、今回受信した第1データに応答する処理が完了した後に、前記第2の選択情報に基づいて、前記第1の処理又は前記第2の処理を選択する、請求項12に記載の通信システム。
【請求項15】
前記第1の切替制御部及び前記第2の切替制御部は、共通のカウンタをそれぞれ有しており、
前記第1の切替制御部及び前記第2の切替制御部は、前記カウンタから出力されたカウンタ値に基づいて、前記第1の処理又は前記第2の処理を選択する、請求項12に記載の通信システム。
【請求項16】
前記第1の切替制御部及び前記第2の切替制御部は、共通の乱数生成器をそれぞれ有しており、
前記第1の切替制御部及び前記第2の切替制御部は、前記乱数生成器から出力された乱数値に基づいて、前記第1の処理又は前記第2の処理を選択する、請求項12に記載の通信システム。
【請求項17】
前記第1の処理が選択された場合、前記第1の暗号復号処理部は前記第1の逆非線形処理部をダミー駆動し、
前記第2の処理が選択された場合、前記第1の暗号復号処理部は前記第1の非線形処理部をダミー駆動する、請求項1〜16のいずれか一つに記載の通信システム。
【請求項18】
前記第1の暗号復号処理部及び前記第2の暗号復号処理部は、前記第1の通信装置から前記第2の通信装置への第1データの送信処理毎に、前記第1の処理及び前記第2の処理の選択を実行する、請求項1〜17のいずれか一つに記載の通信システム。
【請求項19】
前記第1の処理において、前記第1の暗号処理部及び前記第2の復号処理部は、第1の共通鍵及び第2の共通鍵の一方を用いて、第1暗号化データの生成及び復号化を行い、
前記第2の処理において、前記第1の復号処理部及び前記第2の暗号処理部は、前記第1の共通鍵及び前記第2の共通鍵の他方を用いて、第1暗号化データの生成及び復号化を行う、請求項1〜18のいずれか一つに記載の通信システム。
【請求項20】
前記第1の通信装置及び前記第2の通信装置はそれぞれ、
同一の共通鍵に基づいて前記第1の共通鍵及び前記第2の共通鍵を生成する鍵生成部
をさらに有する、請求項10又は19に記載の通信システム。
【請求項21】
第1の非線形処理部を含む第1の暗号処理部と第1の逆非線形処理部を含む第1の復号処理部とを有する第1の通信装置と、第2の逆非線形処理部を含む第2の復号処理部と第2の非線形処理部を含む第2の暗号処理部とを有する第2の通信装置との間の、データ通信方法であって、
前記第1の通信装置から前記第2の通信装置に第1データを送信するにあたり、
前記第1の非線形処理部を用いて第1データを暗号化することによって第1暗号化データを生成し、前記第2の逆非線形処理部を用いて第1暗号化データを復号化するステップ(A)と、
前記第1の逆非線形処理部を用いて第1データを暗号化することによって第1暗号化データを生成し、前記第2の非線形処理部を用いて第1暗号化データを復号化するステップ(B)と、
を選択的に切り替えて実行する、データ通信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、第1の通信装置と第2の通信装置とを備える通信システム、及び、第1の通信装置と第2の通信装置との間のデータ通信方法に関する。
【背景技術】
【0002】
現在使用されている暗号方式は、暗号学的な解析手法に対して計算量的に安全であるとされている。しかし、実際に暗号化装置に暗号モジュールを実装する場合には、消費電力や処理時間のような、実装に依存したリークが発生する。そのような動作状況を様々な物理的手段で観察することにより、秘密鍵等の秘密情報を不正に取得しようとするサイドチャネル攻撃の脅威が増している。
【0003】
サイドチャネル攻撃の一つとして、装置の消費電力を測定することによって秘密情報を解析する電力解析攻撃がある。その中でも、測定した複数の消費電力波形に対して統計処理による解析を行う、差分電力解析(DPA:Differential Power Analysis)や相関電力解析(CPA:Correlation Power Analysis)が、特に強力な攻撃法として報告されている(下記非特許文献1,2参照)。
【0004】
そのため近年では、DPA攻撃やCPA攻撃に対する種々の対策回路が提案されており、例えば下記非特許文献3では、RSL(Random Switching Logic)回路及びWDDL(Wave Dynamic Differential Logic)回路が提案されている。RSL回路は、乱数を用いて論理回路の動作モードを切り替えることによって状態遷移確率の偏りをなくし、それによって暗号鍵に依存しないよう消費電力をランダム化する。WDDL回路は、プリチャージ動作を行った後、演算時のビット値の違いに起因する消費電流の相違を相補回路によって低減することにより、消費電力を均一化する。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Paul Kocher、他2名、”Introduction to Differential Power Analysis and related Attacks”、[online]、Cryptography Research、平成29年12月1日検索、インターネット<http://www.cryptography.com/public/pdf/DPATechInfo.pdf>
【非特許文献2】Eric Brier、他2名、”Correlation Power Analysis with a Leakage Model”、[online]、Gemplus Card International、平成29年12月1日検索、インターネット<https://www.iacr.org/archive/ches2004/31560016/31560016.pdf>
【非特許文献3】Daisuke Suzuki、他2名、"Random Switching Logic: A Countermeasure against DPA based on Transition Probability"、[online]、International Association for Cryptologic Research、平成29年12月1日検索、インターネット<http://eprint.iacr.org/2004/346.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、上述したRSL回路又はWDDL回路を暗号化装置に実装する場合には、これらの回路を実装しない装置と比較して、演算時間、回路規模、及び消費電力が数倍〜数十倍に増大するため、コストが増大する。
【0007】
本発明はかかる事情に鑑みて成されたものであり、DPA攻撃やCPA攻撃に対する効果的な対策を容易にかつ低コストで実装することが可能な、通信システム及びデータ通信方法を得ることを目的とするものである。
【課題を解決するための手段】
【0008】
本発明の第1の態様に係る通信システムは、第1の暗号復号処理部を有する第1の通信装置と、前記第1の通信装置に接続され、第2の暗号復号処理部を有する第2の通信装置と、を備える通信システムであって、前記第1の暗号復号処理部は、第1の非線形処理部を含む第1の暗号処理部と、第1の逆非線形処理部を含む第1の復号処理部と、を有し、前記第2の暗号復号処理部は、第2の逆非線形処理部を含む第2の復号処理部と、第2の非線形処理部を含む第2の暗号処理部と、を有し、前記第1の通信装置から前記第2の通信装置に第1データを送信するにあたり、前記第1の暗号復号処理部及び前記第2の暗号復号処理部は、前記第1の暗号復号処理部において、前記第1の非線形処理部を用いて第1データを暗号化することによって第1暗号化データを生成し、前記第2の暗号復号処理部において、前記第2の逆非線形処理部を用いて第1暗号化データを復号化する第1の処理と、前記第1の暗号復号処理部において、前記第1の逆非線形処理部を用いて第1データを暗号化することによって第1暗号化データを生成し、前記第2の暗号復号処理部において、前記第2の非線形処理部を用いて第1暗号化データを復号化する第2の処理と、を選択的に切り替えて実行することを特徴とするものである。
【0009】
第1の態様に係る通信システムによれば、第1の通信装置から第2の通信装置に第1データを送信するにあたり、第1の暗号復号処理部及び第2の暗号復号処理部は、第1の暗号復号処理部において、第1の非線形処理部を用いて第1データを暗号化することによって第1暗号化データを生成し、第2の暗号復号処理部において、第2の逆非線形処理部を用いて第1暗号化データを復号化する第1の処理と、第1の暗号復号処理部において、第1の逆非線形処理部を用いて第1データを暗号化することによって第1暗号化データを生成し、第2の暗号復号処理部において、第2の非線形処理部を用いて第1暗号化データを復号化する第2の処理と、を選択的に切り替えて実行する。DPA攻撃又はCPA攻撃による消費電力特性の解析対象は、主に暗号復号処理部の非線形処理部及び逆非線形処理部である。そのため、第1の通信装置から第2の通信装置への第1データの送信処理において、第1の非線形処理部を用いて暗号化を行い第2の逆非線形処理部を用いて復号化を行う第1の処理と、第1の逆非線形処理部を用いて暗号化を行い第2の非線形処理部を用いて復号化を行う第2の処理とを選択的に切り替えて実行することによって、第1の暗号復号処理部及び第2の暗号復号処理部の消費電力特性を効果的に隠蔽することが可能となる。しかも、RSL回路又はWDDL回路を実装する必要がないため、コストの増大を回避できる。その結果、DPA攻撃やCPA攻撃に対する効果的な対策を、容易にかつ低コストで実装することが可能となる。
【0010】
本発明の第2の態様に係る通信システムは、第1の態様に係る通信システムにおいて特に、前記第1データに応答して前記第2の通信装置から前記第1の通信装置に第2データを送信するにあたり、前記第1の暗号復号処理部及び前記第2の暗号復号処理部は、前記第2の暗号復号処理部において、前記第2の非線形処理部を用いて第2データを暗号化することによって第2暗号化データを生成し、前記第1の暗号復号処理部において、前記第1の逆非線形処理部を用いて第2暗号化データを復号化する第3の処理と、前記第2の暗号復号処理部において、前記第2の逆非線形処理部を用いて第2データを暗号化することによって第2暗号化データを生成し、前記第1の暗号復号処理部において、前記第1の非線形処理部を用いて第2暗号化データを復号化する第4の処理と、を選択的に切り替えて実行することを特徴とするものである。
【0011】
第2の態様に係る通信システムによれば、第2の通信装置から第1の通信装置に第2データを送信するにあたり、第1の暗号復号処理部及び第2の暗号復号処理部は、第2の暗号復号処理部において、第2の非線形処理部を用いて第2データを暗号化することによって第2暗号化データを生成し、第1の暗号復号処理部において、第1の逆非線形処理部を用いて第2暗号化データを復号化する第3の処理と、第2の暗号復号処理部において、第2の逆非線形処理部を用いて第2データを暗号化することによって第2暗号化データを生成し、第1の暗号復号処理部において、第1の非線形処理部を用いて第2暗号化データを復号化する第4の処理と、を選択的に切り替えて実行する。このように、第1の通信装置から第2の通信装置への第1データの送信処理のみならず、第2の通信装置から第1の通信装置への第2データの送信処理においても、第2の非線形処理部を用いて暗号化を行い第1の逆非線形処理部を用いて復号化を行う第3の処理と、第2の逆非線形処理部を用いて暗号化を行い第1の非線形処理部を用いて復号化を行う第4の処理とを選択的に切り替えて実行することによって、第1の暗号復号処理部及び第2の暗号復号処理部の消費電力特性をさらに効果的に隠蔽することが可能となる。
【0012】
本発明の第3の態様に係る通信システムは、第2の態様に係る通信システムにおいて特に、前記第1の通信装置は、前記第1の暗号復号処理部による前記第3の処理と前記第4の処理との切り替えを制御する第1の切替制御部をさらに有し、前記第2の通信装置は、前記第2の暗号復号処理部による前記第3の処理と前記第4の処理との切り替えを制御する第2の切替制御部をさらに有することを特徴とするものである。
【0013】
第3の態様に係る通信システムによれば、第1の通信装置は、第1の暗号復号処理部による第3の処理と第4の処理との切り替えを制御する第1の切替制御部を有し、第2の通信装置は、第2の暗号復号処理部による第3の処理と第4の処理との切り替えを制御する第2の切替制御部を有する。従って、第1の切替制御部及び第2の切替制御部が、第1の暗号復号処理部における第3の処理及び第4の処理の切り替えと、第2の暗号復号処理部における第3の処理及び第4の処理の切り替えとを同期して実行することによって、第3の処理又は第4の処理による第2の通信装置から第1の通信装置への第2データの送信を、適切に実行することが可能となる。
【0014】
本発明の第4の態様に係る通信システムは、第3の態様に係る通信システムにおいて特に、前記第1の切替制御部及び前記第2の切替制御部は、前記第3の処理と前記第4の処理とを選択的に切り替えるルールが記述された選択テーブルをそれぞれ保持しており、前記第1の切替制御部及び前記第2の切替制御部は、前記選択テーブルを参照することによって、前記第3の処理又は前記第4の処理を選択することを特徴とするものである。
【0015】
第4の態様に係る通信システムによれば、第1の切替制御部及び第2の切替制御部は、共通の選択テーブルを参照することによって、第3の処理又は第4の処理を選択する。従って、第3の処理及び第4の処理の切り替えを指示するための選択情報を第1の通信装置と第2の通信装置との間で送受信する必要がないため、両装置間の通信データ量が増大することを回避できる。また、選択テーブルに任意のルールを記述することによって、第3の処理及び第4の処理を切り替えるタイミング及びパターンを、予め任意に設定することが可能となる。
【0016】
本発明の第5の態様に係る通信システムは、第3の態様に係る通信システムにおいて特に、第1暗号化データには、前記第3の処理又は前記第4の処理を選択する第1の選択情報が含まれており、前記第2の切替制御部は、第1暗号化データから抽出した前記第1の選択情報に基づいて、前記第3の処理又は前記第4の処理を選択することを特徴とするものである。
【0017】
第5の態様に係る通信システムによれば、第2の切替制御部は、第1暗号化データから抽出した第1の選択情報に基づいて、第3の処理又は前記第4の処理を選択する。従って、第3の処理及び第4の処理を切り替えるタイミング及びパターンを、第1の通信装置によって任意に設定することが可能となる。
【0018】
本発明の第6の態様に係る通信システムは、第3の態様に係る通信システムにおいて特に、前記第1の切替制御部及び前記第2の切替制御部は、共通のカウンタをそれぞれ有しており、前記第1の切替制御部及び前記第2の切替制御部は、前記カウンタから出力されたカウンタ値に基づいて、前記第3の処理又は前記第4の処理を選択することを特徴とするものである。
【0019】
第6の態様に係る通信システムによれば、第1の切替制御部及び第2の切替制御部は、共通のカウンタから出力されたカウンタ値に基づいて、第3の処理又は第4の処理を選択する。従って、第3の処理及び第4の処理の切り替えを指示するための選択情報を第1の通信装置と第2の通信装置との間で送受信する必要がないため、両装置間の通信データ量が増大することを回避できる。また、カウンタ値を用いることによって第3の処理及び第4の処理の切り替えを不規則に実行できるため、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【0020】
本発明の第7の態様に係る通信システムは、第3の態様に係る通信システムにおいて特に、前記第1の切替制御部及び前記第2の切替制御部は、共通の乱数生成器をそれぞれ有しており、前記第1の切替制御部及び前記第2の切替制御部は、前記乱数生成器から出力された乱数値に基づいて、前記第3の処理又は前記第4の処理を選択することを特徴とするものである。
【0021】
第7の態様に係る通信システムによれば、第1の切替制御部及び第2の切替制御部は、共通の乱数生成器から出力された乱数値に基づいて、第3の処理又は第4の処理を選択する。従って、第3の処理及び第4の処理の切り替えを指示するための選択情報を第1の通信装置と第2の通信装置との間で送受信する必要がないため、両装置間の通信データ量が増大することを回避できる。また、乱数値を用いることによって第3の処理及び第4の処理の切り替えを不規則に実行できるため、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【0022】
本発明の第8の態様に係る通信システムは、第2〜第7のいずれか一つの態様に係る通信システムにおいて特に、前記第3の処理が選択された場合、前記第2の暗号復号処理部は前記第2の逆非線形処理部をダミー駆動し、前記第4の処理が選択された場合、前記第2の暗号復号処理部は前記第2の非線形処理部をダミー駆動することを特徴とするものである。
【0023】
第8の態様に係る通信システムによれば、第3の処理が選択された場合、第2の暗号復号処理部は第2の逆非線形処理部をダミー駆動し、第4の処理が選択された場合、第2の暗号復号処理部は第2の非線形処理部をダミー駆動する。このように、選択されていない非線形処理部又は逆非線形処理部をダミー駆動することによって、分散の大きい消費電力ノイズを非選択の非線形処理部又は逆非線形処理部によって生成できる。その結果、選択された非線形処理部及び逆非線形処理部の消費電力特性を、この消費電力ノイズによって効果的に隠蔽することが可能となる。
【0024】
本発明の第9の態様に係る通信システムは、第2〜第8のいずれか一つの態様に係る通信システムにおいて特に、前記第1の暗号復号処理部及び前記第2の暗号復号処理部は、前記第2の通信装置から前記第1の通信装置への第2データの送信処理毎に、前記第3の処理及び前記第4の処理の選択を実行することを特徴とするものである。
【0025】
第9の態様に係る通信システムによれば、第1の暗号復号処理部及び第2の暗号復号処理部は、第2の通信装置から第1の通信装置への第2データの送信処理毎に、第3の処理及び第4の処理の選択を実行する。従って、第3の処理及び第4の処理の切り替えを高頻度で実行できるため、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【0026】
本発明の第10の態様に係る通信システムは、第2〜第9のいずれか一つの態様に係る通信システムにおいて特に、前記第3の処理において、前記第1の暗号処理部及び前記第2の復号処理部は、第1の共通鍵及び第2の共通鍵の一方を用いて、第2暗号化データの生成及び復号化を行い、前記第4の処理において、前記第1の復号処理部及び前記第2の暗号処理部は、前記第1の共通鍵及び前記第2の共通鍵の他方を用いて、第2暗号化データの生成及び復号化を行うことを特徴とするものである。
【0027】
第10の態様に係る通信システムによれば、第3の処理において、第1の暗号処理部及び第2の復号処理部は、第1の共通鍵及び第2の共通鍵の一方を用いて第2暗号化データの生成及び復号化を行い、第4の処理において、第1の復号処理部及び第2の暗号処理部は、第1の共通鍵及び第2の共通鍵の他方を用いて第2暗号化データの生成及び復号化を行う。このように、第3の処理と第4の処理とで使用する共通鍵を異ならせることにより、第三者による解析を困難化することが可能となる。
【0028】
本発明の11の態様に係る通信システムは、第2〜第10のいずれか一つの態様に係る通信システムにおいて特に、前記第1の暗号復号処理部及び前記第2の暗号復号処理部は、今回の第2データの送信処理において前記第3の処理が選択された場合には、次回の第1データの送信処理において前記第1の処理を選択し、今回の第2データの送信処理において前記第4の処理が選択された場合には、次回の第1データの送信処理において前記第2の処理を選択することを特徴とするものである。
【0029】
第11の態様に係る通信システムによれば、第1の暗号復号処理部及び第2の暗号復号処理部は、今回の第2データの送信処理において第3の処理が選択された場合には、次回の第1データの送信処理において第1の処理を選択し、今回の第2データの送信処理において第4の処理が選択された場合には、次回の第1データの送信処理において第2の処理を選択する。従って、第2の暗号復号処理部は、今回の第2データの送信処理において第3の処理及び第4の処理のいずれを選択したかによって、次回の第1データの送信処理において第1の処理及び第2の処理のいずれが選択されるかを認識できるため、第1の通信装置から次回に受信する第1暗号化データを、第2の復号処理部又は第2の暗号処理部によって適切に復号化することが可能となる。
【0030】
本発明の第12の態様に係る通信システムは、第1の態様に係る通信システムにおいて特に、前記第1の通信装置は、前記第1の暗号復号処理部による前記第1の処理と前記第2の処理との切り替えを制御する第1の切替制御部をさらに有し、前記第2の通信装置は、前記第2の暗号復号処理部による前記第1の処理と前記第2の処理との切り替えを制御する第2の切替制御部をさらに有することを特徴とするものである。
【0031】
第12の態様に係る通信システムによれば、第1の通信装置は、第1の暗号復号処理部による第1の処理と第2の処理との切り替えを制御する第1の切替制御部を有し、第2の通信装置は、第2の暗号復号処理部による第1の処理と第2の処理との切り替えを制御する第2の切替制御部を有する。従って、第1の切替制御部及び第2の切替制御部が、第1の暗号復号処理部における第1の処理及び第2の処理の切り替えと、第2の暗号復号処理部における第1の処理及び第2の処理の切り替えとを同期して実行することによって、第1の処理又は第2の処理による第1の通信装置から第2の通信装置への第1データの送信を、適切に実行することが可能となる。
【0032】
本発明の第13の態様に係る通信システムは、第12の態様に係る通信システムにおいて特に、前記第1の切替制御部及び前記第2の切替制御部は、前記第1の処理と前記第2の処理とを選択的に切り替えるルールが記述された選択テーブルをそれぞれ保持しており、前記第1の切替制御部及び前記第2の切替制御部は、前記選択テーブルを参照することによって、前記第1の処理又は前記第2の処理を選択することを特徴とするものである。
【0033】
第13の態様に係る通信システムによれば、第1の切替制御部及び第2の切替制御部は、共通の選択テーブルを参照することによって、第1の処理又は第2の処理を選択する。従って、第1の処理及び第2の処理の切り替えを指示するための選択情報を第1の通信装置と第2の通信装置との間で送受信する必要がないため、両装置間の通信データ量が増大することを回避できる。また、選択テーブルに任意のルールを記述することによって、第1の処理及び第2の処理を切り替えるタイミング及びパターンを、予め任意に設定することが可能となる。
【0034】
本発明の第14の態様に係る通信システムは、第12の態様に係る通信システムにおいて特に、第1暗号化データには、次回の第1データの送信処理に関して前記第1の処理又は前記第2の処理を選択する第2の選択情報が含まれており、前記第2の切替制御部は、今回受信した第1データに応答する処理が完了した後に、前記第2の選択情報に基づいて、前記第1の処理又は前記第2の処理を選択することを特徴とするものである。
【0035】
第14の態様に係る通信システムによれば、第2の暗号復号処理部は、第2の切替制御部は、今回受信した第1データに応答する処理が完了した後に、第2の選択情報に基づいて、第1の処理又は前記第2の処理を選択する。従って、第2の暗号復号処理部は、第1の通信装置から次回に受信する第1暗号化データを、第2の復号処理部又は第2の暗号処理部によって適切に復号化することが可能となる。また、今回の第1データの応答処理のための第3の処理又は第4の処理と、次回の第1データの受信処理のための第1の処理又は第2の処理との組合せを任意に設定できるため、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【0036】
本発明の第15の態様に係る通信システムは、第12の態様に係る通信システムにおいて特に、前記第1の切替制御部及び前記第2の切替制御部は、共通のカウンタをそれぞれ有しており、前記第1の切替制御部及び前記第2の切替制御部は、前記カウンタから出力されたカウンタ値に基づいて、前記第1の処理又は前記第2の処理を選択することを特徴とするものである。
【0037】
第15の態様に係る通信システムによれば、第1の切替制御部及び第2の切替制御部は、共通のカウンタから出力されたカウンタ値に基づいて、第1の処理又は第2の処理を選択する。従って、第1の処理及び第2の処理の切り替えを指示するための選択情報を第1の通信装置と第2の通信装置との間で送受信する必要がないため、両装置間の通信データ量が増大することを回避できる。また、カウンタ値を用いることによって第1の処理及び第2の処理の切り替えを不規則に実行できるため、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【0038】
本発明の第16の態様に係る通信システムは、第12の態様に係る通信システムにおいて特に、前記第1の切替制御部及び前記第2の切替制御部は、共通の乱数生成器をそれぞれ有しており、前記第1の切替制御部及び前記第2の切替制御部は、前記乱数生成器から出力された乱数値に基づいて、前記第1の処理又は前記第2の処理を選択することを特徴とするものである。
【0039】
第16の態様に係る通信システムによれば、第1の切替制御部及び第2の切替制御部は、共通の乱数生成器から出力された乱数値に基づいて、第1の処理又は第2の処理を選択する。従って、第1の処理及び第2の処理の切り替えを指示するための選択情報を第1の通信装置と第2の通信装置との間で送受信する必要がないため、両装置間の通信データ量が増大することを回避できる。また、乱数値を用いることによって第1の処理及び第2の処理の切り替えを不規則に実行できるため、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【0040】
本発明の第17の態様に係る通信システムは、第1〜第16のいずれか一つの態様に係る通信システムにおいて特に、前記第1の処理が選択された場合、前記第1の暗号復号処理部は前記第1の逆非線形処理部をダミー駆動し、前記第2の処理が選択された場合、前記第1の暗号復号処理部は前記第1の非線形処理部をダミー駆動することを特徴とするものである。
【0041】
第17の態様に係る通信システムによれば、第1の処理が選択された場合、第1の暗号復号処理部は前記第1の逆非線形処理部をダミー駆動し、第2の処理が選択された場合、第1の暗号復号処理部は第1の非線形処理部をダミー駆動する。このように、選択されていない非線形処理部又は逆非線形処理部をダミー駆動することによって、分散の大きい消費電力ノイズを非選択の非線形処理部又は逆非線形処理部によって生成できる。その結果、選択された非線形処理部及び逆非線形処理部の消費電力特性を、この消費電力ノイズによって効果的に隠蔽することが可能となる。
【0042】
本発明の第18の態様に係る通信システムは、第1〜第17のいずれか一つの態様に係る通信システムにおいて特に、前記第1の暗号復号処理部及び前記第2の暗号復号処理部は、前記第1の通信装置から前記第2の通信装置への第1データの送信処理毎に、前記第1の処理及び前記第2の処理の選択を実行することを特徴とするものである。
【0043】
第18の態様に係る通信システムによれば、第1の暗号復号処理部及び第2の暗号復号処理部は、第1の通信装置から第2の通信装置への第1データの送信処理毎に、第1の処理及び第2の処理の選択を実行する。従って、第1の処理及び第2の処理の切り替えを高頻度で実行できるため、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【0044】
本発明の第19の態様に係る通信システムは、第1〜第18のいずれか一つの態様に係る通信システムにおいて特に、前記第1の処理において、前記第1の暗号処理部及び前記第2の復号処理部は、第1の共通鍵及び第2の共通鍵の一方を用いて、第1暗号化データの生成及び復号化を行い、前記第2の処理において、前記第1の復号処理部及び前記第2の暗号処理部は、前記第1の共通鍵及び前記第2の共通鍵の他方を用いて、第1暗号化データの生成及び復号化を行うことを特徴とするものである。
【0045】
第19の態様に係る通信システムによれば、第1の処理において、第1の暗号処理部及び第2の復号処理部は、第1の共通鍵及び第2の共通鍵の一方を用いて第1暗号化データの生成及び復号化を行い、第2の処理において、第1の復号処理部及び第2の暗号処理部は、第1の共通鍵及び第2の共通鍵の他方を用いて第1暗号化データの生成及び復号化を行う。このように、第1の処理と第2の処理とで使用する共通鍵を異ならせることにより、第三者による解析を困難化することが可能となる。
【0046】
本発明の第20の態様に係る通信システムは、第10又は第19の態様に係る通信システムにおいて特に、前記第1の通信装置及び前記第2の通信装置はそれぞれ、同一の共通鍵に基づいて前記第1の共通鍵及び前記第2の共通鍵を生成する鍵生成部をさらに有することを特徴とするものである。
【0047】
第20の態様に係る通信システムによれば、鍵生成部は、同一の共通鍵に基づいて第1の共通鍵及び第2の共通鍵を生成する。従って、第1の共通鍵及び第2の共通鍵の生成及び管理を容易化することが可能となる。
【0048】
本発明の第21の態様に係るデータ通信方法は、第1の非線形処理部を含む第1の暗号処理部と第1の逆非線形処理部を含む第1の復号処理部とを有する第1の通信装置と、第2の逆非線形処理部を含む第2の復号処理部と第2の非線形処理部を含む第2の暗号処理部とを有する第2の通信装置との間の、データ通信方法であって、前記第1の通信装置から前記第2の通信装置に第1データを送信するにあたり、前記第1の非線形処理部を用いて第1データを暗号化することによって第1暗号化データを生成し、前記第2の逆非線形処理部を用いて第1暗号化データを復号化するステップ(A)と、前記第1の逆非線形処理部を用いて第1データを暗号化することによって第1暗号化データを生成し、前記第2の非線形処理部を用いて第1暗号化データを復号化するステップ(B)と、を選択的に切り替えて実行することを特徴とするものである。
【0049】
第21の態様に係るデータ通信方法によれば、第1の通信装置から第2の通信装置に第1データを送信するにあたり、第1の非線形処理部を用いて第1データを暗号化することによって第1暗号化データを生成し、第2の逆非線形処理部を用いて第1暗号化データを復号化するステップ(A)と、第1の逆非線形処理部を用いて第1データを暗号化することによって第1暗号化データを生成し、第2の非線形処理部を用いて第1暗号化データを復号化するステップ(B)と、が選択的に切り替えて実行される。DPA攻撃又はCPA攻撃による消費電力特性の解析対象は、主に非線形処理部及び逆非線形処理部である。そのため、第1の通信装置から第2の通信装置への第1データの送信処理において、第1の非線形処理部を用いて暗号化を行い第2の逆非線形処理部を用いて復号化を行うステップ(A)と、第1の逆非線形処理部を用いて暗号化を行い第2の非線形処理部を用いて復号化を行うステップ(B)とを選択的に切り替えて実行することによって、非線形処理部及び逆非線形処理部の消費電力特性を効果的に隠蔽することが可能となる。しかも、RSL回路又はWDDL回路を実装する必要がないため、コストの増大を回避できる。その結果、DPA攻撃やCPA攻撃に対する効果的な対策を、容易にかつ低コストで実装することが可能となる。
【発明の効果】
【0050】
本発明によれば、DPA攻撃やCPA攻撃に対する効果的な対策を容易にかつ低コストで実装することが可能となる。
【図面の簡単な説明】
【0051】
図1】メモリシステムの構成を示す図である。
図2】暗号復号処理部の構成を示す図である。
図3】暗号処理部の標準的な回路構成を簡略化して示す図である。
図4】復号処理部の標準的な回路構成を簡略化して示す図である。
図5】ホスト装置からメモリ装置にコマンドを送信する際の暗号復号処理を示す図である。
図6】メモリ装置からホスト装置にコンテンツデータを送信する際の暗号復号処理を示す図である。
図7】選択テーブルの一例を示す図である。
図8】メモリ装置からホスト装置へのコンテンツデータの読み出し処理の流れを簡略化して示す図である。
図9】選択テーブルの他の例を示す図である。
図10】選択テーブルの一例を示す図である。
図11】メモリ装置からホスト装置へのコンテンツデータの読み出し処理の流れを簡略化して示す図である。
図12】CPUから暗号復号処理部に入力される情報を示す図である。
図13】暗号復号処理部による処理を示す図である。
図14】CPUから暗号復号処理部に入力される情報を示す図である。
図15】暗号復号処理部による処理を示す図である。
図16】メモリシステムの構成を簡略化して示す図である。
図17】メモリシステムの構成を簡略化して示す図である。
図18】暗号復号処理部の構成を示す図である。
図19】ホスト装置及びメモリ装置によって管理される共通鍵を示す図である。
図20】第1共通鍵及び第2共通鍵の生成手法を示す図である。
図21】第1共通鍵及び第2共通鍵の生成手法を示す図である。
【発明を実施するための形態】
【0052】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【0053】
図1は、本発明の実施の形態に係るメモリシステム1の構成を簡略化して示す図である。図1に示すようにメモリシステム1は、ホスト装置2と、ホスト装置2に着脱自在に接続された半導体メモリ等のメモリ装置3とを備えて構成されている。
【0054】
ホスト装置2は、バス10を介して相互に接続された、CPU11、鍵管理部12、記憶部13、暗号復号処理部14、及び切替制御部15を有している。切替制御部15は、後述する選択テーブルT1を、内部メモリに保持している。
【0055】
メモリ装置3は、メモリコントローラ21、鍵管理部22、メモリアレイ23、暗号復号処理部14と同様の暗号復号処理部24、及び切替制御部25を有している。メモリアレイ23には、コンテンツデータ等の任意のデータが格納されている。切替制御部25は、切替制御部15が保持している選択テーブルT1と同様の選択テーブルT1を、内部メモリに保持している。
【0056】
ホスト装置2及びメモリ装置3は、同一の共通鍵K0を、鍵管理部12,22において秘匿状態で管理している。暗号復号処理部14,24は、ホスト装置2からメモリ装置3に送信されるコマンド、及びメモリ装置3からホスト装置2に送信されるコンテンツデータに対して、暗号化処理及び復号化処理を実行する。本実施の形態に係るメモリシステム1では、暗号復号処理部14,24において暗号回路と復号回路とが独立に構成されたSPN(Substitution Permutation Network)構造の暗号アルゴリズムが採用されている。SPN構造の暗号アルゴリズムとしては、AES(Advanced Encryption Standard)やHierocrypt等が知られており、本実施の形態の例ではAESを用いる。
【0057】
図2は、暗号復号処理部14,24の構成を示す図である。暗号復号処理部14は、独立に構成された暗号処理部31及び復号処理部32と、制御信号S1によって暗号処理部31及び復号処理部32の一方を選択するためのセレクタ33とを有している。暗号復号処理部24は、独立に構成された暗号処理部42及び復号処理部41と、制御信号S2によって暗号処理部42及び復号処理部41の一方を選択するためのセレクタ43とを有している。
【0058】
図3は、暗号処理部31,42の標準的な回路構成を簡略化して示す図である。図3に示すようにAESの暗号アルゴリズムでは、所定ビット数の平文データDIに対して、4つの基本演算(SubBytes/ShiftRows/MixColumns/AddRoundKey)が所定ラウンド数だけ繰り返し適用されることによって、暗号化データDOが出力される。SubBytesの演算回路は、自身への入力データに対してS−boxと呼ばれる非線形の変換処理を行うための非線形変換回路(以下「S−box回路」と称す)を有している。S−box回路の代表的な回路構成方式としては、逆元演算及びアフィン変換の結果を真理値表で実現する方式であるテーブル方式と、個別に構成した逆元演算回路及びアフィン変換回路を直列に接続する方式である合成体方式とがある。テーブル方式のS−box回路を使用した場合には、消費電力の分散が比較的小さいためにサイドチャネル攻撃に対する耐性(耐タンパ性)は高いが、多くのリソースが必要となる。一方、合成体方式のS−box回路を使用した場合には、リソースは少なくてすむが、消費電力の分散が比較的大きいために耐タンパ性は低い。本実施の形態の例では、リソース節約のために合成体方式のS−box回路が使用される。
【0059】
図4は、復号処理部32,41の標準的な回路構成を簡略化して示す図である。図3に示した暗号処理部31,42とは逆に、所定ビット数の暗号化データDIに対して、4つの基本演算(AddRoundKey/InvMixColumns/InvShiftRows/InvSubBytes)が所定ラウンド数だけ繰り返し適用されることによって、平文データDOが出力される。InvSubBytesの演算回路は、S−box回路による変換処理に対する逆変換処理を行うための逆非線形変換回路(以下「InvS−box回路」と称す)を有している。
【0060】
サイドチャネル攻撃では、暗号復号処理部14,24の消費電力特性、特に、消費電力の分散が大きいS−box回路及びInvS−box回路の消費電力特性が、主な解析対象となる。
【0061】
図5は、ホスト装置2からメモリ装置3にコマンドを送信する際の暗号復号処理を示す図である。暗号復号処理部14,24においては、暗号処理部31によって平文のコマンドを暗号化することにより暗号化コマンドを生成し、復号処理部41によって暗号化コマンドを復号化する通常のパターンP1と、復号処理部32によって平文のコマンドを暗号化することにより暗号化コマンドを生成し、暗号処理部42によって暗号化コマンドを復号化する通常とは逆のパターンP2とを、選択的に切り替えて実行可能である。
【0062】
なお、復号処理部32及び暗号処理部42には同一の暗号アルゴリズム及び同一の共通鍵K0が使用されているため、復号処理部32によって暗号化を行い、暗号処理部42によって復号化を行うことにより、元の平文のコマンドを正しく再生することが可能である。つまり、元の平文のコマンドが同一であれば、パターンP1を選択してもパターンP2を選択しても、復号化の結果は同一となる。
【0063】
また、元の平文のコマンドが同一であっても、暗号処理部31のS−box回路と復号処理部32のInvS−box回路とでは変換テーブルが異なるため、暗号化の結果は互いに異なる。例えば、入力データが「0x78」である場合に、S−box回路の出力データは「0xBC」、InvS−box回路の出力データは「0xC1」となり、入出力データ間のハミング距離や、入出力データ間でのハミング重みの変化量に差が生じる。従って、パターンP1,P2のいずれを選択するかによって、暗号復号処理部14,24の消費電力特性は互いに相違する。
【0064】
図6は、メモリ装置3からホスト装置2にコンテンツデータを送信する際の暗号復号処理を示す図である。暗号復号処理部14,24においては、暗号処理部42によって平文のコンテンツデータを暗号化することにより暗号化コンテンツデータを生成し、復号処理部32によって暗号化コンテンツデータを復号化する通常のパターンP3と、復号処理部41によって平文のコンテンツデータを暗号化することにより暗号化コンテンツデータを生成し、暗号処理部31によって暗号化コンテンツデータを復号化する通常とは逆のパターンP4とを、選択的に切り替えて実行可能である。
【0065】
なお、上記と同様に、元の平文のコンテンツデータが同一であれば、パターンP3,P4のいずれを選択しても、復号化の結果は同一となる。また、パターンP3,P4のいずれを選択するかによって、暗号復号処理部14,24の消費電力特性は互いに相違する。
【0066】
図7は、選択テーブルT1の一例を示す図である。本実施の形態では、メモリ装置3からホスト装置2へのコンテンツデータ送信処理毎に、パターンP3とパターンP4とを任意に選択することが可能であり、その選択情報が選択テーブルT1に記述されている。図7に示した例では、奇数回目のコンテンツデータ送信処理ではパターンP4を選択し、偶数回目のコンテンツデータ送信処理ではパターンP3を選択するような選択情報が設定されている。
【0067】
なお、本実施の形態では、ホスト装置2からメモリ装置3への電源投入後の初回のコマンド送信処理では、パターンP1が選択されるように設定されている。また、今回のコンテンツデータ送信処理においてパターンP4が選択された場合には、次回のコマンド送信処理においてパターンP2が選択され、今回のコンテンツデータ送信処理においてパターンP3が選択された場合には、次回のコマンド送信処理においてパターンP1が選択されるよう設定されている。
【0068】
図8は、メモリ装置3からホスト装置2へのコンテンツデータの読み出し処理の流れを簡略化して示す図である。コマンド送信期間A1において、ホスト装置2からメモリ装置3へ初回のリードコマンドが送信される。メモリアレイ23へのリードアクセスが実行されるレイテンシ期間A2が経過した後、データ送信期間A3において、メモリ装置3からホスト装置2へコンテンツデータが送信される。次回のリードコマンドの発行を待機しているスタンバイ期間A4を経た後、ホスト装置2からメモリ装置3へ2回目のリードコマンドが送信され、以降は同様の動作が繰り返される。本実施の形態では、レイテンシ期間A2において、パターンP3とパターンP4との選択的な切り替えが実行される。
【0069】
以下、図1〜8を参照して、本実施の形態に係るメモリシステム1の動作を詳細に説明する。
【0070】
図1を参照して、メモリ装置3がホスト装置2に接続されてメモリ装置3に電源が投入されると、まず、ホスト装置2及びメモリ装置3は所定の認証アルゴリズムによって相互認証を行う。相互認証が完了すると、CPU11は初回のリードコマンドを発行する。リードコマンドは、暗号復号処理部14に入力される。
【0071】
図5を参照して、次に暗号復号処理部14は、入力されたリードコマンドを暗号化することにより、暗号化リードコマンドを生成する。上記の通り本実施の形態に係るメモリシステム1では、初回のコマンド送信処理ではパターンP1が選択されるように設定されている。そのため、切替制御部15,25から入力される制御信号S1,S2によって、暗号復号処理部14,24は暗号処理部31及び復号処理部41を選択する。これにより、リードコマンドは暗号処理部31によって暗号化される。その後、暗号化リードコマンドは、コマンド送信期間A1(図8参照)においてホスト装置2からメモリ装置3へ送信される。
【0072】
次にレイテンシ期間A2(図8参照)において復号処理部41は、受信した暗号化リードコマンドを復号化する。図1を参照して、復号化されたリードコマンドはメモリコントローラ21に入力される。メモリコントローラ21は、暗号復号処理部24からのリードコマンドの入力が完了すると、受信完了フラグを発行する。受信完了フラグはメモリコントローラ21からホスト装置2に送信される。ホスト装置2及びメモリ装置3は、受信完了フラグをトリガとして、コンテンツデータ送信処理のためのパターンを選択する。具体的には、切替制御部15,25が選択テーブルT1をそれぞれ参照することにより、パターンP3又はパターンP4を選択する。図7を参照して、初回(1回目)のコンテンツデータ送信処理に関する選択パターンとしてはパターンP4が設定されているため、切替制御部15,25から入力される制御信号S1,S2によって、暗号復号処理部14,24は暗号処理部31及び復号処理部41を選択する。また、メモリコントローラ21は、リードコマンドをデコードすることによって、所望のコンテンツデータをメモリアレイ23から読み出す。コンテンツデータは、暗号復号処理部24に入力される。
【0073】
図6を参照して、次に暗号復号処理部24は、入力されたコンテンツデータを暗号化することにより、暗号化コンテンツデータを生成する。ここではパターンP4が選択されているため、コンテンツデータは復号処理部41によって暗号化される。その後、暗号化コンテンツデータは、データ送信期間A3(図8参照)においてメモリ装置3からホスト装置2へ送信される。なお、本実施の形態では、選択されなかったパターンP3に属する暗号処理部42にはコンテンツデータは入力されず、暗号処理部42はコンテンツデータの暗号化処理を実行しない。
【0074】
次に暗号処理部31は、受信した暗号化コンテンツデータを復号化する。これにより、初回のリードコマンドに対する処理が完了する。
【0075】
上記の通り本実施の形態に係るメモリシステム1では、今回のコンテンツデータ送信処理においてパターンP4が選択された場合には、次回のコマンド送信処理においてパターンP2が選択されるよう設定されている。従って、図5を参照して、切替制御部15,25から入力される制御信号S1,S2によって、暗号復号処理部14,24は復号処理部32及び暗号処理部42を選択する。
【0076】
CPU11によって2回目のリードコマンドが発行されると、暗号復号処理部14は、復号処理部32によってリードコマンドを暗号化し、暗号化リードコマンドをメモリ装置3へ送信する。次に暗号復号処理部24は、受信した暗号化リードコマンドを暗号処理部42によって復号化する。次に切替制御部15,25は、受信完了フラグをトリガとして、コンテンツデータ送信処理のためのパターンを選択する。図7を参照して、2回目のコンテンツデータ送信処理に関する選択パターンとしてはパターンP3が設定されているため、切替制御部15,25から入力される制御信号S1,S2によって、暗号復号処理部14,24は復号処理部32及び暗号処理部42を選択する。また、メモリコントローラ21は、メモリアレイ23から読み出した所望のコンテンツデータを、暗号復号処理部24に入力する。次に暗号復号処理部24は、暗号処理部42によってコンテンツデータを暗号化し、暗号化コンテンツデータをホスト装置2へ送信する。次に暗号復号処理部14は、受信した暗号化コンテンツデータを復号処理部32によって復号化する。これにより、2回目のリードコマンドに対する処理が完了する。
【0077】
上記の通り本実施の形態に係るメモリシステム1では、今回のコンテンツデータ送信処理においてパターンP3が選択された場合には、次回のコマンド送信処理においてパターンP1が選択されるよう設定されている。従って、図5を参照して、切替制御部15,25から入力される制御信号S1,S2によって、暗号復号処理部14,24は暗号処理部31及び復号処理部41を選択する。
【0078】
CPU11によって3回目のリードコマンドが発行されると、暗号復号処理部14は、暗号処理部31によってリードコマンドを暗号化し、暗号化リードコマンドをメモリ装置3へ送信する。次に暗号復号処理部24は、受信した暗号化リードコマンドを復号処理部41によって復号化する。次に切替制御部15,25は、受信完了フラグをトリガとして、コンテンツデータ送信処理のためのパターンを選択する。図7を参照して、3回目のコンテンツデータ送信処理に関する選択パターンとしてはパターンP4が設定されているため、切替制御部15,25から入力される制御信号S1,S2によって、暗号復号処理部14,24は暗号処理部31及び復号処理部41を選択する。また、メモリコントローラ21は、メモリアレイ23から読み出した所望のコンテンツデータを、暗号復号処理部24に入力する。次に暗号復号処理部24は、復号処理部41によってコンテンツデータを暗号化し、暗号化コンテンツデータをホスト装置2へ送信する。次に暗号復号処理部14は、受信した暗号化コンテンツデータを暗号処理部31によって復号化する。これにより、3回目のリードコマンドに対する処理が完了する。
【0079】
以上をまとめると、1回目のコマンド送信処理ではパターンP1が選択され、それに応答する1回目のコンテンツデータ送信処理ではパターンP4が選択される。また、2回目のコマンド送信処理ではパターンP2が選択され、それに応答する2回目のコンテンツデータ送信処理ではパターンP3が選択される。また、3回目のコマンド送信処理ではパターンP1が選択され、それに応答する3回目のコンテンツデータ送信処理ではパターンP4が選択される。4回目以降も上記と同様の処理が繰り返し実行される。
【0080】
なお、図7には、パターンP4とパターンP3とが交互に選択される選択テーブルT1の例を示したが、この例には限定されない。選択テーブルT1には、パターンP3,P4が不規則に選択されるような任意のルールを記述することができる。
【0081】
図9は、選択テーブルT1の他の例を示す図である。図9に示した例では、パターンP3,P4はP4→P3→P3→P4→P4→P3→P4→・・・のように不規則に選択される。但し、パターンP3,P4の一方が偏って多く選択されることを回避すべく、所定の回数(例えば1000回)でパターンP3,P4の出現率が同一(50%)となるように設定することが望ましい。
【0082】
このように本実施の形態に係るメモリシステム1(通信システム)によれば、ホスト装置2(第1の通信装置)からメモリ装置3(第2の通信装置)にコマンド(第1データ)を送信するにあたり、暗号復号処理部14(第1の暗号復号処理部)及び暗号復号処理部24(第2の暗号復号処理部)は、パターンP1(第1の処理)とパターンP2(第2の処理)とを選択的に切り替えて実行する。パターンP1では、暗号復号処理部14において、暗号処理部31のS−box回路(第1の非線形処理部)を用いてコマンドを暗号化することによって暗号化コマンド(第1暗号化データ)を生成し、暗号復号処理部24において、復号処理部41のInvS−box回路(第2の逆非線形処理部)を用いて暗号化コマンドを復号化する。パターンP2では、暗号復号処理部14において、復号処理部32のInvS−box回路(第1の逆非線形処理部)を用いてコマンドを暗号化することによって暗号化コマンドを生成し、暗号復号処理部24において、暗号処理部42のS−box回路(第2の非線形処理部)を用いて暗号化コマンドを復号化する。DPA攻撃又はCPA攻撃による消費電力特性の解析対象は、主に暗号復号処理部14,24のS−box回路及びInvS−box回路である。そのため、ホスト装置2からメモリ装置3へのコマンド送信処理において、暗号処理部31のS−box回路を用いて暗号化を行い復号処理部41のInvS−box回路を用いて復号化を行うパターンP1と、復号処理部32のInvS−box回路を用いて暗号化を行い暗号処理部42のS−box回路を用いて復号化を行うパターンP2とを選択的に切り替えて実行することによって、暗号復号処理部14,24の消費電力特性を効果的に隠蔽することが可能となる。しかも、RSL回路又はWDDL回路を実装する必要がないため、コストの増大を回避できる。その結果、DPA攻撃やCPA攻撃に対する効果的な対策を、容易にかつ低コストで実装することが可能となる。
【0083】
また、本実施の形態に係るメモリシステム1によれば、メモリ装置3からホスト装置2にコンテンツデータ(第2データ)を送信するにあたり、暗号復号処理部14,24は、パターンP3(第3の処理)とパターンP4(第4の処理)とを選択的に切り替えて実行する。パターンP3では、暗号復号処理部24において、暗号処理部42のS−box回路を用いてコンテンツデータを暗号化することによって暗号化コンテンツデータ(第2暗号化データ)を生成し、暗号復号処理部14において、復号処理部32のInvS−box回路を用いて暗号化コンテンツデータを復号化する。パターンP4では、暗号復号処理部24において、復号処理部41のInvS−box回路を用いてコンテンツデータを暗号化することによって暗号化コンテンツデータを生成し、暗号復号処理部14において、暗号処理部31のS−box回路を用いて暗号化コンテンツデータを復号化する。このように、ホスト装置2からメモリ装置3へのコマンド送信処理のみならず、メモリ装置3からホスト装置2へのコンテンツデータ送信処理においても、パターンP3とパターンP4とを選択的に切り替えて実行することによって、暗号復号処理部14,24の消費電力特性をさらに効果的に隠蔽することが可能となる。
【0084】
また、本実施の形態に係るメモリシステム1によれば、ホスト装置2は、暗号復号処理部14によるパターンP1,P2の切り替え及びパターンP3,P4の切り替えを制御する切替制御部15(第1の切替制御部)を有し、メモリ装置3は、暗号復号処理部24によるパターンP1,P2の切り替え及びパターンP3,P4の切り替えを制御する切替制御部25(第2の切替制御部)を有する。従って、切替制御部15,25が、暗号復号処理部14におけるパターンの切り替えと、暗号復号処理部24におけるパターンの切り替えとを同期して実行することによって、ホスト装置2からメモリ装置3へのコマンド送信処理、及びメモリ装置3からホスト装置2へのコンテンツデータ送信処理を、選択されたパターンによって適切に実行することが可能となる。
【0085】
また、本実施の形態に係るメモリシステム1によれば、切替制御部15,25は、共通の選択テーブルT1を参照することによって、パターンP3又はパターンP4を選択する。従って、パターンP3,P4の切り替えを指示するための選択情報をホスト装置2とメモリ装置3との間で送受信する必要がないため、両装置間の通信データ量が増大することを回避できる。また、選択テーブルT1に任意のルールを記述することによって、パターンP3,P4を切り替えるタイミング及びパターンを、予め任意に設定することが可能となる。
【0086】
また、本実施の形態に係るメモリシステム1によれば、切替制御部15,25は、メモリ装置3からホスト装置2へのコンテンツデータ送信処理毎に、パターンP3,P4の選択を実行する。従って、パターンP3,P4の切り替えを高頻度で実行できるため、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【0087】
また、本実施の形態に係るメモリシステム1によれば、切替制御部15,25は、今回のコンテンツデータ送信処理においてパターンP3が選択された場合には、次回のコマンド送信処理においてパターンP1を選択し、今回のコンテンツデータ送信処理においてパターンP4が選択された場合には、次回のコマンド送信処理においてパターンP2を選択する。従って、暗号復号処理部24は、今回のコンテンツデータ送信処理においてパターンP3,P4のいずれを選択したかによって、次回のコマンド送信処理においてパターンP1,P2のいずれが選択されるかを認識できるため、ホスト装置2から次回に受信する暗号化コマンドを、復号処理部41又は暗号処理部42によって適切に復号化することが可能となる。
【0088】
<変形例1>
上記実施の形態では、切替制御部15,25はパターンP3,P4については任意に選択できたが、パターンP1,P2については、今回のコンテンツデータ送信処理におけるパターンP3,P4の選択結果によって、次回のコマンド送信処理で選択されるパターンP1,P2が固定された。
【0089】
これに対して本変形例では、切替制御部15,25は、パターンP3,P4のみならずパターンP1,P2についても任意に選択することができる。
【0090】
図10は、選択テーブルT1の一例を示す図である。上記実施の形態と同様に、切替制御部15,25は共通の選択テーブルT1を保持している。
【0091】
本変形例では、メモリ装置3からホスト装置2へのコンテンツデータ送信処理毎にパターンP3,P4を任意に選択でき、また、ホスト装置2からメモリ装置3へのコマンド送信処理毎にパターンP1,P2を任意に選択でき、それらの選択情報が選択テーブルT1に記述されている。選択テーブルT1には、パターンP1,P2及びパターンP3,P4がそれぞれ不規則に選択されるような任意のルールを記述することができる。図10に示した例によると、1回目(1B回目)のコンテンツデータ送信処理ではパターンP4が選択され、2回目(2F回目)のコマンド送信処理ではパターンP2が選択され、2回目(2B回目)のコンテンツデータ送信処理ではパターンP3が選択され、3回目(3F回目)のコマンド送信処理ではパターンP1が選択され、3回目(3B回目)のコンテンツデータ送信処理ではパターンP3が選択される。
【0092】
なお、上記実施の形態と同様に、1回目のコマンド送信処理ではパターンP1が選択されるように設定されている。また、パターンP1,P2の一方が偏って多く選択されることを回避すべく、所定の回数でパターンP1,P2の出現率が同一となるように設定することが望ましい。パターンP3,P4についても同様である。
【0093】
図11は、メモリ装置3からホスト装置2へのコンテンツデータの読み出し処理の流れを簡略化して示す図である。本変形例では、レイテンシ期間A2においてパターンP3,P4の選択が実行され、スタンバイ期間A4においてパターンP1,P2の選択が実行される。
【0094】
本変形例に係るメモリシステム1によれば、切替制御部15,25は、今回のコンテンツデータ送信処理においてパターンP3,P4のいずれが選択されたかに拘わらず、次回のコマンド送信処理においてパターンP1,P2を任意に選択する。従って、今回のコンテンツデータ送信処理におけるパターンP3,P4の選択と、次回のコマンド送信処理におけるパターンP1,P2の選択との間に制限がないため、次回のコマンド送信処理においてパターンP1,P2を任意に選択することができ、その結果、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【0095】
また、本変形例に係るメモリシステム1によれば、切替制御部15,25は、共通の選択テーブルT1を参照することによって、パターンP1,P2を選択する。従って、パターンP1,P2の切り替えを指示するための選択情報をホスト装置2とメモリ装置3との間で送受信する必要がないため、両装置間の通信データ量が増大することを回避できる。また、選択テーブルT1に任意のルールを記述することによって、パターンP1,P2を切り替えるタイミング及びパターンを、予め任意に設定することが可能となる。
【0096】
<変形例2>
上記実施の形態では、切替制御部25は、選択テーブルT1を参照することによってパターンP3,P4を選択した。
【0097】
これに対して本変形例では、暗号復号処理部14は、パターンP3,P4を選択する第1選択情報を暗号化コマンドに含めてメモリ装置3に送信し、切替制御部25は、受信した暗号化コマンドから抽出した第1選択情報に基づいて、パターンP3,P4を選択する。
【0098】
図12は、CPU11から暗号復号処理部14に入力される情報を示す図である。CPU11は、リードコマンドRCと、当該リードコマンドRCに応答するコンテンツデータ送信処理において暗号復号処理部24が選択すべきパターンP3,P4を指定するための第1選択情報SS1とを、暗号復号処理部14に入力する。
【0099】
図13は、暗号復号処理部14による処理を示す図である。暗号復号処理部14は、リードコマンドRCに第1選択情報SS1を付加し、それらをまとめて暗号化することによって、暗号化コマンドTDを生成する。
【0100】
暗号復号処理部24は、受信した暗号化コマンドTDを復号化した後、第1選択情報SS1を抽出する。切替制御部25は、第1選択情報SS1に基づいて、今回のリードコマンドRCに応答するコンテンツデータ送信処理において使用するパターンP3又はパターンP4を選択する。その後、暗号復号処理部24は、メモリアレイ23から読み出したコンテンツデータを、第1選択情報SS1に基づいて選択されたパターンP3又はパターンP4によって、ホスト装置2に送信する。
【0101】
本変形例に係るメモリシステム1によれば、切替制御部25は、暗号化コマンドTDから抽出された第1選択情報SS1に基づいて、パターンP3又はパターンP4を選択する。従って、パターンP3,P4を切り替えるタイミング及びパターンを、ホスト装置2のCPU11によって任意に設定することが可能となる。
【0102】
<変形例3>
上記変形例2では、パターンP3,P4についてはCPU11によって任意に選択できたが、パターンP3,P4のみならずパターンP1,P2についてもCPU11によって任意に設定しても良い。
【0103】
図14は、CPU11から暗号復号処理部14に入力される情報を示す図である。CPU11は、リードコマンドRCと、上記変形例2と同様の第1選択情報SS1と、次回のコマンド送信処理において暗号復号処理部14が選択すべきパターンP1,P2を指定するための第2選択情報SS2とを、暗号復号処理部14に入力する。
【0104】
図15は、暗号復号処理部14による処理を示す図である。暗号復号処理部14は、リードコマンドRCに第1選択情報SS1及び第2選択情報SS2を付加し、それらをまとめて暗号化することによって、暗号化コマンドTDを生成する。そして、暗号化コマンドTDを、前回の第2選択情報SS2で指定されたパターンP1又はパターンP2によって、メモリ装置3に送信する。
【0105】
暗号復号処理部24は、受信した暗号化コマンドTDを復号化した後、第1選択情報SS1及び第2選択情報SS2を抽出する。切替制御部25は、第1選択情報SS1に基づいて、今回のリードコマンドRCに応答するコンテンツデータ送信処理において使用するパターンP3又はパターンP4を選択する。その後、暗号復号処理部24は、メモリアレイ23から読み出したコンテンツデータを、第1選択情報SS1に基づいて選択されたパターンP3又はパターンP4によって、ホスト装置2に送信する。コンテンツデータ送信処理が完了した後、切替制御部25は、第2選択情報SS2に基づいて、次回のコマンド送信処理において使用するパターンP1又はパターンP2を選択する。
【0106】
本変形例に係るメモリシステム1によれば、切替制御部25は、今回のコマンドに応答する処理が完了した後に、第2選択情報SS2に基づいてパターンP1又はパターンP2を選択する。従って、暗号復号処理部24は、ホスト装置2から次回に受信する暗号化コマンドを、復号処理部41又は暗号処理部42によって適切に復号化することが可能となる。また、今回のコマンドの応答処理のためのパターンP3又はパターンP4と、次回のコマンドの受信処理のためのパターンP1又はパターンP2との組合せをCPU11によって任意に設定できるため、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【0107】
<変形例4>
上記実施の形態では、切替制御部15,25は、選択テーブルT1を参照することによって、コマンド送信処理においてパターンP1又はパターンP2を選択し、また、選択テーブルT1を参照することによって、コンテンツデータ送信処理においてパターンP3又はパターンP4を選択した。
【0108】
これに対して本変形例では、切替制御部15,25は、共通のカウンタ値に基づいて、パターンP1,P2の選択及びパターンP3,P4の選択をそれぞれ実行する。
【0109】
図16は、メモリシステム1の構成を簡略化して示す図である。ホスト装置2及びメモリ装置3は、共通のカウンタ50をそれぞれ備えている。切替制御部15,25は、カウンタ50から出力されたカウンタ値に基づいて、コマンド送信処理においてパターンP1又はパターンP2を選択する。また、切替制御部15,25は、カウンタ50から出力されたカウンタ値に基づいて、コンテンツデータ送信処理においてパターンP3又はパターンP4を選択する。一例として、切替制御部15,25は、所定の設定タイミングでカウンタ50から出力された2ビットのカウンタ値が「00」である場合は「P1,P3」、「01」である場合は「P1,P4」、「10」である場合は「P2,P3」、「11」である場合は「P2,P4」の組合せで、パターンを選択する。
【0110】
本変形例に係るメモリシステム1によれば、切替制御部15,25は、共通のカウンタ50から出力されたカウンタ値に基づいて、パターンP1,P2の選択及びパターンP3,P4の選択を実行する。従って、パターンP1,P2及びパターンP3,P4の切り替えを指示するための選択情報をホスト装置2とメモリ装置3との間で送受信する必要がないため、両装置間の通信データ量が増大することを回避できる。また、カウンタ値に基づく設定タイミングは通信毎に変動するため、カウンタ値を用いることによってパターンP1,P2及びパターンP3,P4の切り替えを不規則に実行できる。その結果、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【0111】
<変形例5>
上記実施の形態では、切替制御部15,25は、選択テーブルT1を参照することによって、コマンド送信処理においてパターンP1又はパターンP2を選択し、また、選択テーブルT1を参照することによって、コンテンツデータ送信処理においてパターンP3又はパターンP4を選択した。
【0112】
これに対して本変形例では、切替制御部15,25は、共通の乱数値に基づいて、パターンP1,P2の選択及びパターンP3,P4の選択をそれぞれ実行する。
【0113】
図17は、メモリシステム1の構成を簡略化して示す図である。ホスト装置2及びメモリ装置3は、共通の乱数生成部60をそれぞれ備えている。乱数生成部60としては、例えば擬似乱数生成器を用いることができる。切替制御部15,25は、乱数生成部60から出力された乱数値に基づいて、コマンド送信処理においてパターンP1又はパターンP2を選択する。また、切替制御部15,25は、乱数生成部60から出力された乱数値に基づいて、コンテンツデータ送信処理においてパターンP3又はパターンP4を選択する。一例として、切替制御部15,25は、所定の設定タイミングで乱数生成部60から出力された2ビットの乱数値が「00」である場合は「P1,P3」、「01」である場合は「P1,P4」、「10」である場合は「P2,P3」、「11」である場合は「P2,P4」の組合せで、パターンを選択する。
【0114】
本変形例に係るメモリシステム1によれば、切替制御部15,25は、共通の乱数生成部60から出力された乱数値に基づいて、パターンP1,P2の選択及びパターンP3,P4の選択を実行する。従って、パターンP1,P2及びパターンP3,P4の切り替えを指示するための選択情報をホスト装置2とメモリ装置3との間で送受信する必要がないため、両装置間の通信データ量が増大することを回避できる。また、乱数値を用いることによってパターンP1,P2及びパターンP3,P4の切り替えを不規則に実行できるため、消費電力特性の隠蔽効果をさらに高めることが可能となる。
【0115】
<変形例6>
上記実施の形態では、コマンド送信処理及びコンテンツデータ送信処理において、選択されなかったパターンに属する暗号処理部又は復号処理部にはコマンド及びコンテンツデータは入力されず、非選択の暗号処理部又は復号処理部はコマンド及びコンテンツデータの暗号化処理を実行しない。
【0116】
本変形例では、選択されなかったパターンに属する暗号処理部又は復号処理部にもコマンド及びコンテンツデータを入力することにより、暗号化処理を実行させる。
【0117】
図18は、暗号復号処理部14,24の構成を示す図である。暗号処理部31及び復号処理部32とセレクタ33との間に、バッファ回路71,72がそれぞれ接続されている。また、復号処理部41及び暗号処理部42とセレクタ43との間に、バッファ回路73,74がそれぞれ接続されている。
【0118】
コマンド送信処理に関し、CPU11が発行したコマンドは、暗号処理部31及び復号処理部32に入力される。暗号処理部31及び復号処理部32は、入力されたコマンドをそれぞれ暗号化し、暗号化コマンドをバッファ回路71,72にそれぞれ入力する。パターンP1が選択されている場合は、バッファ回路71に格納されている暗号化コマンドがメモリ装置3に送信され、パターンP2が選択されている場合は、バッファ回路72に格納されている暗号化コマンドがメモリ装置3に送信される。また、暗号復号処理部14は、選択されていないパターンに属するバッファ回路71又はバッファ回路72に格納されている暗号化コマンドを破棄する。
【0119】
コンテンツデータ送信処理に関し、メモリアレイ23から読み出されたコンテンツデータは、復号処理部41及び暗号処理部42に入力される。復号処理部41及び暗号処理部42は、入力されたコンテンツデータをそれぞれ暗号化し、暗号化コンテンツデータをバッファ回路73,74にそれぞれ入力する。パターンP3が選択されている場合は、バッファ回路74に格納されている暗号化コンテンツデータがホスト装置2に送信され、パターンP4が選択されている場合は、バッファ回路73に格納されている暗号化コンテンツデータがホスト装置2に送信される。また、暗号復号処理部24は、選択されていないパターンに属するバッファ回路73又はバッファ回路74に格納されている暗号化コンテンツデータを破棄する。
【0120】
本変形例に係るメモリシステム1によれば、コマンド送信処理において、パターンP1が選択された場合、暗号復号処理部14は復号処理部32をダミー駆動し、パターンP2が選択された場合、暗号復号処理部14は暗号処理部31をダミー駆動する。また、コンテンツデータ送信処理において、パターンP3が選択された場合、暗号復号処理部24は復号処理部41をダミー駆動し、パターンP4が選択された場合、暗号復号処理部24は暗号処理部42をダミー駆動する。このように、選択されていないパターンに属する暗号処理部又は復号処理部をダミー駆動することにより、分散の大きい消費電力ノイズを非選択の暗号処理部又は復号処理部によって生成できる。その結果、選択された暗号処理部及び非線形処理部の消費電力特性を、この消費電力ノイズによって効果的に隠蔽することが可能となる。
【0121】
<変形例7>
上記実施の形態では、暗号復号処理部14,24は、コマンド送信処理においてはパターンP1,P2のいずれに関しても共通鍵K0を使用し、コンテンツデータ送信処理においてはパターンP3,P4のいずれに関しても共通鍵K0を使用した。
【0122】
これに対して本変形例では、暗号復号処理部14,24は、コマンド送信処理においてはパターンP1とパターンP2とで異なる共通鍵を使用し、コンテンツデータ送信処理においてはパターンP3とパターンP4とで異なる共通鍵を使用する。
【0123】
図19は、ホスト装置2及びメモリ装置3によって管理される共通鍵を示す図である。ホスト装置2において、鍵管理部12は、互いに異なる第1共通鍵K1及び第2共通鍵K2を管理する。メモリ装置3において、鍵管理部22は、鍵管理部12と同様の第1共通鍵K1及び第2共通鍵K2を管理する。
【0124】
図20,21は、第1共通鍵K1及び第2共通鍵K2の生成手法を示す図である。図20に示すように、鍵管理部12,22は鍵生成部90を有している。鍵生成部90は、一つの共通鍵K0に基づいて、二つの第1共通鍵K1及び第2共通鍵K2を生成する。具体的には図21に示すように、鍵生成部90は、共通鍵K0をビッグエンディアン方式で配列することによって第1共通鍵K1を生成し、共通鍵K0をリトルエンディアン方式で配列することによって第2共通鍵K2を生成する。このように、鍵生成部90が一つの共通鍵K0に基づいて二つの第1共通鍵K1及び第2共通鍵K2を生成することにより、第1共通鍵K1及び第2共通鍵K2の生成及び管理を容易化することが可能となる。
【0125】
コマンド送信処理において、暗号復号処理部14,24は、パターンP1が選択された場合には第1共通鍵K1及び第2共通鍵K2の一方を使用し、パターンP2が選択された場合には第1共通鍵K1及び第2共通鍵K2の他方を使用する。このように、パターンP1とパターンP2とで使用する共通鍵K1,K2を異ならせることにより、第三者による解析を困難化することが可能となる。
【0126】
コンテンツデータ送信処理において、暗号復号処理部14,24は、パターンP3が選択された場合には第1共通鍵K1及び第2共通鍵K2の一方を使用し、パターンP4が選択された場合には第1共通鍵K1及び第2共通鍵K2の他方を使用する。このように、パターンP3とパターンP4とで使用する共通鍵K1,K2を異ならせることにより、第三者による解析を困難化することが可能となる。
【0127】
なお、以上の説明では、ホスト装置2とメモリ装置3とを備えるメモリシステム1に対して本発明を適用する例について述べたが、本発明は、相互に接続される第1の通信装置と第2の通信装置との間で暗号化によるセキュア通信が実行される任意の通信システムに対して適用することが可能である。例えば、
・映像データが記録された記録装置と、当該記録装置から受信した映像データを再生する再生装置とを備える映像処理システム
・ゲームプログラムが記録された記録装置と、当該記録装置から受信したゲームプログラムを実行するゲーム機本体とを備える情報処理システム
・トナーカートリッジと、当該トナーカートリッジから残量情報等を受信するプリンタとを備えるプリンタシステム
・エンジン、ブレーキ、アクセル、エアコン等の制御対象と、当該制御対象との間でセンサデータや制御情報等を通信する制御装置であるECU(Engine Control Unit)とを備える車載制御システム
等に対して、本発明を適用することが可能である。
【符号の説明】
【0128】
1 メモリシステム
2 ホスト装置
3 メモリ装置
11 CPU
12,22 鍵管理部
14,24 暗号復号処理部
15,25 切替制御部
31,42 暗号処理部
32,41 復号処理部
50 カウンタ
60 乱数生成部
90 鍵生成部
T1 選択テーブル
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21