【課題を解決するための手段】
【0008】
本発明の第1の態様に係る暗号化装置は、入力された第1のデータを暗号化することによって第2のデータを出力する、暗号モジュールと、前記暗号モジュールの消費電力特性を隠蔽するための消費電力ノイズを生成する、ノイズ生成モジュールと、を備え、前記暗号モジュールは、自身への入力データに対して非線形変換処理を行う第1の非線形変換処理部を有し、前記ノイズ生成モジュールは、前記第1の非線形変換処理部の動作期間において、自身への入力データに対して非線形変換処理を行う第2の非線形変換処理部を有することを特徴とするものである。
【0009】
第1の態様に係る暗号化装置によれば、ノイズ生成モジュールは、第1の非線形変換処理部の動作期間において、自身への入力データに対して非線形変換処理を行う第2の非線形変換処理部を有する。一般的な擬似乱数生成器等に比べて非線形変換処理は消費電力の分散が大きいため、第1の非線形変換処理部の動作期間において第2の非線形変換処理部を動作させることにより、分散の大きい消費電力ノイズをノイズ生成モジュールによって生成することができる。従って、この分散の大きい消費電力ノイズによって、暗号モジュールの消費電力特性を効果的に隠蔽することが可能となる。しかも、ノイズ生成モジュールを追加実装するだけでよく、暗号モジュールの暗号アルゴリズム自体は何ら変更する必要がないため、暗号モジュールの再設計に伴う設計の複雑化やコストの増大等を回避できる。その結果、DPA攻撃やCPA攻撃に対する効果的な対策を、容易にかつ低コストで実装することが可能となる。
【0010】
本発明の第2の態様に係る暗号化装置は、第1の態様に係る暗号化装置において特に、前記第1の非線形変換処理部は、ハードウェア処理によって非線形変換処理を行う第1の非線形変換回路を有し、前記第2の非線形変換処理部は、ハードウェア処理によって非線形変換処理を行う、少なくとも一つの第2の非線形変換回路を有することを特徴とするものである。
【0011】
第2の態様に係る暗号化装置によれば、第2の非線形変換処理部は、ハードウェア処理によって非線形変換処理を行う、少なくとも一つの第2の非線形変換回路を有する。第2の非線形変換回路によるハードウェア処理によって非線形変換処理を行うことにより、ソフトウェア処理によって非線形変換処理を行う場合よりも分散の大きい消費電力ノイズを生成できるため、暗号モジュールの消費電力特性を効果的に隠蔽することが可能となる。
【0012】
本発明の第3の態様に係る暗号化装置は、第2の態様に係る暗号化装置において特に、前記第2の非線形変換処理部は、直列に接続された複数の前記第2の非線形変換回路を有することを特徴とするものである。
【0013】
第3の態様に係る暗号化装置によれば、第2の非線形変換処理部は、直列に接続された複数の第2の非線形変換回路を有する。複数の第2の非線形変換回路を直列に接続することによって、ノイズ生成モジュールが生成する消費電力ノイズの分散をさらに大きくできるため、暗号モジュールの消費電力特性をより効果的に隠蔽することが可能となる。
【0014】
本発明の第4の態様に係る暗号化装置は、第3の態様に係る暗号化装置において特に、前記第2の非線形変換回路としては、ビット幅及び回路構成方式が前記第1の非線形変換回路のそれと等しい非線形変換回路が使用されることを特徴とするものである。
【0015】
第4の態様に係る暗号化装置によれば、第2の非線形変換回路としては、ビット幅及び回路構成方式が第1の非線形変換回路のそれと等しい非線形変換回路が使用される。第1の非線形変換回路と第2の非線形変換回路とでビット幅及び回路構成方式を共通にすることにより、第2の非線形変換回路の消費電力ノイズの特性を、第1の非線形変換回路の消費電力特性に近似させることができる。その結果、ノイズ生成モジュールが生成する消費電力ノイズによって、暗号モジュールの消費電力特性をより効果的に隠蔽することが可能となる。
【0016】
本発明の第5の態様に係る暗号化装置は、第3の態様に係る暗号化装置において特に、前記第2の非線形変換回路としては、ビット幅が前記第1の非線形変換回路のそれよりも大きい非線形変換回路が使用されることを特徴とするものである。
【0017】
第5の態様に係る暗号化装置によれば、第2の非線形変換回路としては、ビット幅が第1の非線形変換回路のそれよりも大きい非線形変換回路が使用される。ビット幅が大きいほど消費電力の分散も大きくなるため、第1の非線形変換回路よりもビット幅の大きい第2の非線形変換回路を使用することにより、暗号モジュールの消費電力特性よりも分散の大きい消費電力ノイズを、ノイズ生成モジュールによって生成することができる。その結果、ノイズ生成モジュールが生成する消費電力ノイズによって、暗号モジュールの消費電力特性をより効果的に隠蔽することが可能となる。
【0018】
本発明の第6の態様に係る暗号化装置は、第3の態様に係る暗号化装置において特に、前記第2の非線形変換回路としては、消費電力の分散が前記第1の非線形変換回路のそれよりも大きい回路構成方式の非線形変換回路が使用されることを特徴とするものである。
【0019】
第6の態様に係る暗号化装置によれば、第2の非線形変換回路としては、消費電力の分散が第1の非線形変換回路のそれよりも大きい回路構成方式の非線形変換回路が使用される。例えば、第1の非線形変換回路としてテーブル方式のS−box回路が使用されている場合に、第2の非線形変換回路として合成体方式のS−box回路が使用される。これにより、暗号モジュールの消費電力特性よりも分散の大きい消費電力ノイズを、ノイズ生成モジュールによって生成することができる。その結果、ノイズ生成モジュールが生成する消費電力ノイズによって、暗号モジュールの消費電力特性をより効果的に隠蔽することが可能となる。
【0020】
本発明の第7の態様に係る暗号化装置は、第3〜第6のいずれか一つの態様に係る暗号化装置において特に、前記第1のデータ及び前記第2のデータの一方が、初期値として第1段の前記第2の非線形変換回路に入力されることを特徴とするものである。
【0021】
第7の態様に係る暗号化装置によれば、第1のデータ及び第2のデータの一方が、初期値として第1段の第2の非線形変換回路に入力される。第1のデータ及び第2のデータはエントロピが担保された変動値であるため、第1のデータ及び第2のデータの一方を第1段の第2の非線形変換回路に入力することにより、エントロピが担保された初期値を用いて第2の非線形変換回路を動作させることが可能となる。しかも、エントロピが担保された初期値を生成する目的で擬似乱数生成器等の演算器を別途に用意する必要がないため、回路構成の簡略化を図ることができる。
【0022】
本発明の第8の態様に係る暗号化装置は、第3〜第6のいずれか一つの態様に係る暗号化装置において特に、所定の固定値及び不定値の一方が、初期値として第1段の前記第2の非線形変換回路に入力されることを特徴とするものである。
【0023】
第8の態様に係る暗号化装置によれば、所定の固定値及び不定値の一方が、初期値として第1段の第2の非線形変換回路に入力される。従って、第1のデータ又は第2のデータを初期値として第1段の第2の非線形変換回路に入力する構成と比較すると、第1のデータ又は第2のデータを第1段の第2の非線形変換回路に入力するための配線等が不要となるため、装置構成を簡略化することが可能となる。
【0024】
本発明の第9の態様に係る暗号化装置は、第3〜第8のいずれか一つの態様に係る暗号化装置において特に、前記ノイズ生成モジュールは、前記第1の非線形変換回路の動作に同期して前記第2の非線形変換回路を動作させるための同期制御回路をさらに有することを特徴とするものである。
【0025】
第9の態様に係る暗号化装置によれば、ノイズ生成モジュールは、第1の非線形変換回路の動作に同期して第2の非線形変換回路を動作させるための同期制御回路を有する。これにより、暗号モジュールの消費電力の遷移タイミングと、ノイズ生成モジュールが生成する消費電力ノイズの遷移タイミングとが同期するため、暗号モジュールの消費電力特性を消費電力ノイズによってより効果的に隠蔽することが可能となる。
【0026】
本発明の第10の態様に係る暗号化装置は、第3〜第9のいずれか一つの態様に係る暗号化装置において特に、前記ノイズ生成モジュールは、実装されている全ての前記第2の非線形変換回路のうち、動作させる前記第2の非線形変換回路の段数を選択するための選択回路をさらに有することを特徴とするものである。
【0027】
第10の態様に係る暗号化装置によれば、ノイズ生成モジュールは、実装されている全ての第2の非線形変換回路のうち、動作させる第2の非線形変換回路の段数を選択するための選択回路を有する。従って、高い隠蔽効果が要求される場合には、動作させる第2の非線形変換回路の段数を多く設定することにより、ノイズ生成モジュールが生成する消費電力ノイズの分散を大きくすることができる。一方、高い隠蔽効果が要求されない場合には、動作させる第2の非線形変換回路の段数を少なく設定することにより、暗号化装置全体の消費電力量を低減することが可能となる。
【0028】
本発明の第11の態様に係る暗号化装置は、第1の態様に係る暗号化装置において特に、前記第1の非線形変換処理部は、ハードウェア処理によって非線形変換処理を行う第1の非線形変換回路を有し、前記第2の非線形変換処理部は、ソフトウェア処理によって非線形変換処理を実行する、少なくとも一つのデータ処理部を有することを特徴とするものである。
【0029】
第11の態様に係る暗号化装置によれば、第2の非線形変換処理部は、ソフトウェア処理によって非線形変換処理を行う、少なくとも一つのデータ処理部を有する。データ処理部によるソフトウェア処理によって非線形変換処理を行うことにより、ハードウェアとして構成された非線形変換回路を実装する必要がなく、ファームウェアのバージョンアップ等によって同等機能を追加実装できるため、DPA攻撃やCPA攻撃に対する効果的な対策を、容易にかつ低コストで実装することが可能となる。
【0030】
本発明の第12の態様に係る暗号化装置は、第11の態様に係る暗号化装置において特に、前記データ処理部は、ビット幅が前記第1の非線形変換回路のそれと等しい非線形変換処理を実行することを特徴とするものである。
【0031】
第12の態様に係る暗号化装置によれば、データ処理部は、ビット幅が前記第1の非線形変換回路のそれと等しい非線形変換処理を実行する。第1の非線形変換回路とデータ処理部とでビット幅を共通にすることにより、データ処理部の消費電力ノイズの特性を、第1の非線形変換回路の消費電力特性に近似させることができる。その結果、ノイズ生成モジュールが生成する消費電力ノイズによって、暗号モジュールの消費電力特性をより効果的に隠蔽することが可能となる。
【0032】
本発明の第13の態様に係る暗号化装置は、第11の態様に係る暗号化装置において特に、前記データ処理部は、ビット幅が前記第1の非線形変換回路のそれよりも大きい非線形変換処理を実行することを特徴とするものである。
【0033】
第13の態様に係る暗号化装置によれば、データ処理部は、ビット幅が前記第1の非線形変換回路のそれよりも大きい非線形変換処理を実行する。ビット幅が大きいほど消費電力の分散も大きくなるため、第1の非線形変換回路よりもビット幅の大きい非線形変換処理をデータ処理部が実行することにより、暗号モジュールの消費電力特性よりも分散の大きい消費電力ノイズを、ノイズ生成モジュールによって生成することができる。その結果、ノイズ生成モジュールが生成する消費電力ノイズによって、暗号モジュールの消費電力特性をより効果的に隠蔽することが可能となる。
【0034】
本発明の第14の態様に係る暗号化装置は、第11〜第13のいずれか一つの態様に係る暗号化装置において特に、前記第1のデータ及び前記第2のデータの一方が、初期値として前記データ処理部に入力されることを特徴とするものである。
【0035】
第14の態様に係る暗号化装置によれば、第1のデータ及び第2のデータの一方が、初期値としてデータ処理部に入力される。第1のデータ及び第2のデータはエントロピが担保された変動値であるため、第1のデータ及び第2のデータの一方をデータ処理部に入力することにより、データ処理部はエントロピが担保された初期値を用いて非線形変換処理を実行できる。しかも、エントロピが担保された初期値を生成する目的で擬似乱数生成器等の演算器を別途に用意する必要がないため、回路構成の簡略化を図ることができる。
【0036】
本発明の第15の態様に係る暗号化装置は、第11〜第13のいずれか一つの態様に係る暗号化装置において特に、所定の固定値が、初期値として前記データ処理部に入力されることを特徴とするものである。
【0037】
第15の態様に係る暗号化装置によれば、所定の固定値が、初期値としてデータ処理部に入力される。従って、第1のデータ又は第2のデータを初期値としてデータ処理部に入力する構成と比較すると、設計を容易化できるとともに、ソフトウェア実装の負荷を軽減することが可能となる。
【0038】
本発明の第16の態様に係る暗号化装置は、第11〜第15のいずれか一つの態様に係る暗号化装置において特に、前記第2の非線形変換処理部は複数の前記データ処理部を有し、複数の前記データ処理部のうち非稼働状態である少なくとも一つのデータ処理部が、非線形変換処理を実行することを特徴とするものである。
【0039】
第16の態様に係る暗号化装置によれば、第2の非線形変換処理部は複数のデータ処理部を有し、複数のデータ処理部のうち非稼働状態である少なくとも一つのデータ処理部が、非線形変換処理を実行する。第2の非線形変換処理部が複数のデータ処理部を有する場合において、非稼働状態であるデータ処理部に非線形変換処理を実行させることにより、既存リソースの有効活用を図ることができる。
【0040】
本発明の第17の態様に係る暗号化装置は、入力された第1のデータをハードウェア処理によって暗号化することにより第2のデータを出力する、暗号モジュールと、前記暗号モジュールの消費電力特性を隠蔽するための消費電力ノイズをソフトウェア処理によって生成する、ノイズ生成モジュールと、を備えることを特徴とするものである。
【0041】
第17の態様に係る暗号化装置によれば、ノイズ生成モジュールは、暗号モジュールの消費電力特性を隠蔽するための消費電力ノイズを生成する。従って、ノイズ生成モジュールが生成した消費電力ノイズによって、暗号モジュールの消費電力特性を隠蔽することが可能となる。しかも、ノイズ生成モジュールを追加実装するだけでよく、暗号モジュールの暗号アルゴリズム自体は何ら変更する必要がないため、暗号モジュールの再設計に伴う設計の複雑化やコストの増大等を回避できる。その結果、DPA攻撃やCPA攻撃に対する対策を、容易にかつ低コストで実装することが可能となる。さらに、ノイズ生成モジュールは、ソフトウェア処理によって消費電力ノイズを生成する。従って、ノイズ生成モジュールをハードウェアとして追加実装する必要がなく、ファームウェアのバージョンアップ等によって同等機能を追加実装できるため、DPA攻撃やCPA攻撃に対する対策を、容易にかつ低コストで実装することが可能となる。
【0042】
本発明の第18の態様に係る暗号化装置は、第17の態様に係る暗号化装置において特に、前記暗号モジュールは、自身への入力データに対してハードウェア処理によって非線形変換処理を行う非線形変換回路を有し、前記ノイズ生成モジュールは、前記非線形変換回路の動作期間において、自身への入力データに対してソフトウェア処理によって非線形変換処理を実行するデータ処理部を有することを特徴とするものである。
【0043】
第18の態様に係る暗号化装置によれば、ノイズ生成モジュールは、非線形変換回路の動作期間において、自身への入力データに対してソフトウェア処理によって非線形変換処理を実行するデータ処理部を有する。一般的な擬似乱数生成器等に比べて非線形変換処理は消費電力の分散が大きいため、非線形変換回路の動作期間においてデータ処理部が非線形変換処理を実行することにより、分散の大きい消費電力ノイズをノイズ生成モジュールによって生成することができる。従って、この分散の大きい消費電力ノイズによって、暗号モジュールの消費電力特性を効果的に隠蔽することが可能となる。
【0044】
本発明の第19の態様に係るメモリ装置は、ホスト装置に接続されるメモリ装置であって、コンテンツデータが格納されたメモリアレイと、前記ホスト装置に送信するコンテンツデータを暗号化するための、第1〜第18のいずれか一つの態様に係る暗号化装置と、を備えることを特徴とするものである。
【0045】
第19の態様に係るメモリ装置によれば、DPA攻撃やCPA攻撃に対する効果的な対策を、容易にかつ低コストでメモリ装置に実装することが可能となる。
【0046】
本発明の第20の態様に係るホスト装置は、メモリ装置が接続されるホスト装置であって、前記メモリ装置に対するコマンドを発行する制御部と、前記メモリ装置に送信するコマンドを暗号化するための、第1〜第18のいずれか一つの態様に係る暗号化装置と、を備えることを特徴とするものである。
【0047】
第20の態様に係るホスト装置によれば、DPA攻撃やCPA攻撃に対する効果的な対策を、容易にかつ低コストでホスト装置に実装することが可能となる。
【0048】
本発明の第21の態様に係るメモリシステムは、第19の態様に係るメモリ装置と、第20の態様に係るホスト装置と、を備えることを特徴とするものである。
【0049】
第21の態様に係るメモリシステムによれば、DPA攻撃やCPA攻撃に対する効果的な対策を、容易にかつ低コストでメモリ装置及びホスト装置に実装することが可能となる。