JP5979750B2 - サイドチャネル評価装置及びサイドチャネル評価方法 - Google Patents
サイドチャネル評価装置及びサイドチャネル評価方法 Download PDFInfo
- Publication number
- JP5979750B2 JP5979750B2 JP2012144041A JP2012144041A JP5979750B2 JP 5979750 B2 JP5979750 B2 JP 5979750B2 JP 2012144041 A JP2012144041 A JP 2012144041A JP 2012144041 A JP2012144041 A JP 2012144041A JP 5979750 B2 JP5979750 B2 JP 5979750B2
- Authority
- JP
- Japan
- Prior art keywords
- selection function
- side channel
- selection
- channel information
- evaluation
- 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.)
- Active
Links
Description
図1に示すように、暗号のブロックサイズが128ビットのAES(以降、AES−128と記す)は、SubBytes(バイト毎の非線形変換)と、ShiftRows(バイト単位の入れ替え)と、MixColumns(4バイト単位の線形変換)と、AddRoundKey(ラウンド鍵との排他的論理和)との4種類の変換で構成されるラウンド関数による変換を、10ラウンド繰り返すことで、平文を暗号文に変換する。但し、1ラウンド目のラウンド関数変換前にもAddRoundKeyが行われ、10ラウンド目のラウンド関数ではMixColumns変換を行わない。AddRoundKeyで用いるラウンド鍵は128ビットの秘密鍵から計算される値であり、この計算を行う関数は一般的に鍵スケジューラと呼ばれている。
一般的な論理回路の場合、LSIにおけるレジスタの遷移ハミング距離と消費電力との間には、線形相関があることが多い。遷移ハミング距離は、レジスタの値がある値に切り替わる際に、レジスタがビット反転した数に相当する。CPAは、推測した遷移ハミング距離と消費電力との間のピアソン相関計数の大きさで、推測の正しさを判断する解析手法である。
前述のCPAの例では、ループ型構造に起因した選択関数を用いて説明した。このように、例えばLSI設計者が自ら設計したLSIを評価する場合など、予めLSIの実装情報を知っていれば、この実装情報を用いることで適切な選択関数を選ぶことができる。従って、実装情報が入手可能な条件下では、解析が成立する可能性のある選択関数のみをピックアップして評価すればよい。
本例の場合、評価処理時の計算量削減として、真の部分鍵k*を「既知の値」と仮定して、式(5)や式(6)のパラメータ「k」を固定値化した条件下で評価を実施する。この条件下での評価関数は、次式(7),(8)となる。これら式からも分かるように、パラメータ「k」をなくした分、式(5),(6)と比較して、計算量を削減できることが分かる。
ここでは、想定されるAES−128の選択関数について考察する。
(I)レジスタの遷移ハミング距離モデルに基づく選択関数
本節では、[CPAの概要]の節で挙げた例での選択関数と同様に、レジスタの遷移ハミング距離と消費電力との間に線形相関があると仮定する消費電力モデルを用いた選択関数を検討する。このモデルでは、レジスタの遷移前後のデータ2値により、消費電力を推定する。[CPAの概要]の節で挙げた例の場合、R10[0]とC[0]がこの2値に相当する。
平文バイトP[j]や暗号文バイトC[j]のバイト間のハミング距離を出力する選択関数では、式(3)のパラメータ「k」の要素がないため、暗号鍵解析には使えない。しかし、これらのバイトと暗号化中間値バイトRi[j],Si[j],Mi[j]とのハミング距離は、[CPAの概要]の節で挙げた例のように解析に用いることができる。
暗号化中間値バイトRi[j],Si[j],Mi[j]のうち、2値のハミング距離を出力する選択関数も解析に用いることができる。
レジスタ遷移前後のデータは必ずしも暗号化データとは限らず、例えばマイクロコンピュータ等では遷移毎にゼロクリアが行われる場合が考えられる。この場合のレジスタの遷移ハミング距離は、暗号データ1値のハミング重みと一致する。なお、この場合、データのハミング重みとも分類可能だが、本項ではこの場合もレジスタの遷移ハミング距離モデルと分類する。
レジスタ値が遷移する際、その前後の値は必ずしも同一の暗号処理時のものとは限らない。例えば、レジスタの値が平文Aを暗号化する際の中間値データから、平文Bを暗号化する際の中間値データに遷移する場合も考えられる。このような平文Aと平文Bとの関係は、実装方法に依存して様々な場合が存在し、例えば「連続して暗号化を行う2つの平文データ」である場合等が挙げられる。
Iで挙げた選択関数の他に、非線形回路の出力遷移確率の偏りを利用した選択関数も存在する。例えば、非線形回路である2入力AND回路にランダムな値を順次入力したとき、出力が遷移する確率は平均3/8である。ここで、この出力値のある時刻の値が「1」である場合に限定すると、前後の時刻と出力値とが異なる確率、つまり出力遷移確率は3/4となる。また、「0」である場合には、出力遷移確率は1/4となる。従って、出力値で消費電力を分類した場合に、その平均値の間に差分が生じる。この偏りは、ある時刻の入力1ビットで分類した場合にも生じ、同様な平均消費電力差分を生じる。
SubBytes変換への入力バイトが「00(HEX)」の場合とそれ以外とを分類する解析ZV−DPA (Zero Value Diffetential Power Analysis)が周知である。逆元変換への入力バイトが「00(HEX)」である場合、「00(HEX)」は、どのGF(256)上においても逆元が「00(HEX)」であり、内部論理回路の入出力ビットも全て「0」となることから、特異な電力消費挙動となる。Zero Value DPAの選択関数は、逆元変換を行うGF(256)に依存せず、次式(12)で表される。
(I)はじめに
[CPAの概要]の節で挙げた例で用いた選択関数は、ラウンド鍵の一部(即ち、部分鍵k)であるK[160]の1バイトのみ推測し、その推測候補毎に計算したピアソン相関係数ρを比較した。即ち、解析に必要な計算量は、1バイト(28個)の鍵候補毎にピアソン相関係数ρを導出する計算量となる。一方で、鍵候補の数、つまり部分鍵kのサイズは選択関数毎に異なる。例えば、選択関数に入力する部分鍵kのサイズが5バイトの場合には、240個の鍵候補毎に計算が必要である。従って、図6の表で示す全ての選択関数に対して、[CPAの概要]の節で挙げた例で述べたものと同じ解析を試みることは現実的に困難である。
本節では、図6の表で挙げたAES−128における全ての選択関数を、評価すべき選択関数と選択対象外とすることが可能な選択関数とに分類することを検討する。
攻撃者が不正解読を試みる場合、部分鍵kの候補毎に相関関数を計算する必要があるため、部分鍵サイズが大きくなると攻撃は困難になり、16バイトの部分鍵kを推測する場合は、暗号鍵の全数探索の方が効率の良い攻撃方法となる。そこで、本節では、16バイト以上の部分鍵kを必要とする選択関数を、評価対象から除外する場合を例として説明する。
選択関数に入力する部分鍵kは、暗号化中間値バイトを計算するために必要となる。そこで、まず各中間値バイトを導出するために必要な部分鍵kの推測バイト数を探索した。図7に、その結果を示す。同図に示されるように、部分鍵kの推測バイト数が「0」のときは、計算可能な中間値バイトとして、単に実測のP[j]及びC[j]のみ計算可能であり、部分鍵kの推測バイト数が変わるに連れて、計算可能な中間値バイトが切り換わることが分かる。
本節では、[選択関数の種類の考察]で説明したレジスタのハミング距離モデルに基づく選択関数のうち、部分鍵サイズが16バイト未満のものを探索する。
本項では、[選択関数の種類の考察]の(II)で説明した非線形回路の遷移確率の偏りを利用した選択関数のうち、部分鍵サイズが16バイト未満のものを探索する。この種類の選択関数の部分鍵サイズは、Ri[j],Si[j]の各バイトを導出するために必要な部分鍵サイズと等しいため、図7の表により、i=1,2,9,10の場合の選択関数が、評価すべき選択関数である。従って、これら選択関数の数は、Ri[j]及びSi[j]のうち、i=1,2,9,10を満たす数の総和とΓの候補数255の積であり、「32640」種である。
本項では、[選択関数の種類の考察]の(III)で説明したZV−DPAの選択関数のうち、部分鍵サイズが16バイト未満のものを探索する。この種類の選択関数の部分鍵サイズは、Si[j]の各バイトを導出するために必要な部分鍵サイズと等しいため、図7の表により、i=1,2,9,10の場合の選択関数が、評価すべき選択関数である。従って、これら選択関数の数は、Ri[j]及びSi[j]のうち、i=1,2,9,10を満たす数の総和であり、「64」種である。
本節の(II−1)〜(II−5)の検討で抽出したAES−128における評価すべき選択関数の種類及び数を図11に示す。同図に示される「94397」種の選択関数は、図6に示される種類の選択関数の総数より少なくなっていることが確認され、計算負荷が削減されたと言える。本例の場合、本節の(II−1)〜(II−5)の検討で抽出された選択関数が選択関数データベース9に登録されている。なお、[計算量削減の検討]の章で述べた内容が使用選択関数抽出ステップに相当する。
ステップ101において、サイドチャネル情報入力部4は、測定部3が測定した実測のサイドチャネル情報Dscを、測定部3から入力する。
ステップ103において、暗号鍵入力部6は、暗号装置2に書き込まれた真の暗号鍵Ktrを、暗号装置2から入力する。即ち、サイドチャネル攻撃に対する安全性評価を行う作業者は暗号装置2の暗号鍵を知っていると仮定しているので、この暗号鍵を暗号装置2からサイドチャネル評価装置1に入力する。暗号鍵入力部6は、取得した真の暗号鍵Ktrを部分鍵計算部8に出力する。
(1)AES−128の全選択関数のうち、部分鍵kが16バイト以上の選択関数は攻撃が困難な関数として評価対象から除外し、部分鍵kが16バイト未満の選択関数を、評価を行うべき選択関数として設定する。このため、評価時に用いる選択関数を絞り込んだので、評価時に計算しなくてはならない選択関数の数が少なく済む。このように、評価を行う選択関数を制限すれば、その分、安全性評価にかかる時間を短く抑えることができる。
・選択関数の絞り込みの閾値は、固定値に限らず、例えば評価レベル設定部13等を用いて切り替えることが可能な可変値としてもよい。
・サイドチャネル情報Dscは、暗号装置2から漏洩する情報であれば、種々のものが採用可能である。
・真の暗号鍵Ktrのビット数は、他の値に適宜変更してもよい。
・選択関数は、実測したサイドチャネル情報Dscとの相関を求めることができる出力を出せるものであれば、種々の関数が採用可能である。
・選択関数データベース9に書き込まれる選択関数は、適宜変更することが可能である。
・解析手法は、MIA(Mutual Information Analysis:相互情報量解析)や、EMA(ElectroMannetic Analysis:電磁波解析)等を採用することも可能である。
(イ)暗号装置から漏洩するサイドチャネル情報の計算に用いる選択関数を複数登録した選択関数データベースから、評価を行う前記選択関数を演算部が選び出し、暗号鍵の一部である部分鍵と、前記暗号装置で取り扱う暗号データを入力する暗号データ入力部で入力した当該暗号データとを用いて、前記演算部が前記選択関数により計算上のサイドチャネル情報を求め、前記暗号装置から漏洩するサイドチャネル情報を入力するサイドチャネル情報入力部で入力した実測のサイドチャネル情報と、前記選択関数により求めた選択関数出力との相関を相関計算部により計算し、前記相関計算部が求めた相関係数と閾値とを比較した比較結果を比較出力部から出力することにより、前記暗号装置の不正解読に対する耐性を評価するサイドチャネル評価プログラムにおいて、前記部分鍵が指定サイズ未満の選択関数のみを抽出して前記選択関数データベースに登録しておき、これら選択関数でのみ実施される耐性評価をコンピュータに実行させることを特徴とするサイドチャネル評価プログラム。
Claims (4)
- 暗号装置の不正解読に対する耐性を評価するサイドチャネル評価装置において、
前記暗号装置から漏洩するサイドチャネル情報を入力するサイドチャネル情報入力部と、
前記暗号装置で取り扱う暗号データを入力する暗号データ入力部と、
前記サイドチャネル情報の計算に用いる選択関数を複数登録した選択関数データベースから、評価を行う前記選択関数を選び出し、暗号鍵の一部である部分鍵と、前記暗号データ入力部で入力した前記暗号データとを用いて、前記選択関数により計算上のサイドチャネル情報を求める演算部と、
前記サイドチャネル情報入力部で入力した前記サイドチャネル情報と、前記選択関数により求めた選択関数出力との相関を計算する相関計算部と、
前記相関計算部が求めた相関係数と閾値とを比較し、その比較結果を出力する比較出力部とを備え、
前記部分鍵が指定サイズ未満の選択関数のみを抽出して前記選択関数データベースに登録しておき、これら選択関数でのみ耐性評価を実施する
ことを特徴とするサイドチャネル評価装置。 - 想定される全ての前記選択関数を抽出し、その全選択関数の中から前記部分鍵が指定サイズ未満の選択関数を抽出し、抽出した当該選択関数を、評価時に使用する関数として前記選択関数データベースに登録する
ことを特徴とする請求項1に記載のサイドチャネル評価装置。 - 前記全選択関数の抽出は、
前記暗号装置にガロア体上のべき乗変換が使用されている場合、当該べき乗変換の入出力ビット列を同一ビット数の線形マスク値(「0」を除く)でマスクした値の奇数パリティビットを、計算上のサイドチャネル情報として出力する選択関数を含む
ことを特徴とする請求項2に記載のサイドチャネル評価装置。 - 暗号装置から漏洩するサイドチャネル情報の計算に用いる選択関数を複数登録した選択関数データベースから、評価を行う前記選択関数を演算部が選び出し、暗号鍵の一部である部分鍵と、前記暗号装置で取り扱う暗号データを入力する暗号データ入力部で入力した当該暗号データとを用いて、前記演算部が前記選択関数により計算上のサイドチャネル情報を求め、前記暗号装置から漏洩するサイドチャネル情報を入力するサイドチャネル情報入力部で入力した実測のサイドチャネル情報と、前記選択関数により求めた選択関数出力との相関を相関計算部により計算し、求めた相関係数と閾値とを比較した比較結果を比較出力部から出力することにより、前記暗号装置の不正解読に対する耐性を評価するサイドチャネル評価方法において、
前記部分鍵が指定サイズ未満の選択関数のみを抽出して前記選択関数データベースに登録しておき、これら選択関数でのみ耐性評価を実施する
ことを特徴とするサイドチャネル評価方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012144041A JP5979750B2 (ja) | 2012-06-27 | 2012-06-27 | サイドチャネル評価装置及びサイドチャネル評価方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012144041A JP5979750B2 (ja) | 2012-06-27 | 2012-06-27 | サイドチャネル評価装置及びサイドチャネル評価方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014007705A JP2014007705A (ja) | 2014-01-16 |
JP5979750B2 true JP5979750B2 (ja) | 2016-08-31 |
Family
ID=50105041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012144041A Active JP5979750B2 (ja) | 2012-06-27 | 2012-06-27 | サイドチャネル評価装置及びサイドチャネル評価方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5979750B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109325369B (zh) * | 2018-11-02 | 2020-06-30 | 浙江大学 | 一种建筑结构试验数据时间字段加密存储与检索的方法 |
CN113609535B (zh) * | 2021-08-16 | 2024-02-13 | 中国信息安全测评中心 | 一种侧信道曲线特征提取方法及装置 |
CN116381469B (zh) * | 2023-06-07 | 2023-08-15 | 中汽研软件测评(天津)有限公司 | 芯片功耗测信道信息交叉验证测试方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5733215B2 (ja) * | 2009-12-10 | 2015-06-10 | 日本電気株式会社 | サイドチャネル攻撃耐性評価装置、サイドチャネル攻撃耐性評価方法及びそのプログラム |
-
2012
- 2012-06-27 JP JP2012144041A patent/JP5979750B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014007705A (ja) | 2014-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Standaert | Introduction to side-channel attacks | |
Batina et al. | Mutual information analysis: a comprehensive study | |
Ding et al. | A statistical model for higher order DPA on masked devices | |
Montminy et al. | Improving cross-device attacks using zero-mean unit-variance normalization | |
Clavier et al. | Practical improvements of side-channel attacks on AES: feedback from the 2nd DPA contest | |
CN108604981A (zh) | 用于估计秘密值的方法和设备 | |
CN109417466A (zh) | 机密密钥估算方法与装置 | |
Sasdrich et al. | White-Box Cryptography in the Gray Box: –A Hardware Implementation and its Side Channels– | |
WO2016083864A1 (en) | Methods for recovering secret data of a cryptographic device and for evaluating the security of such a device | |
Jati et al. | Threshold Implementations of $\mathtt {GIFT} $: A Trade-Off Analysis | |
Longo et al. | Simulatable leakage: Analysis, pitfalls, and new constructions | |
Roy et al. | From theory to practice of private circuit: A cautionary note | |
Kasper et al. | Side channels as building blocks | |
JP5979750B2 (ja) | サイドチャネル評価装置及びサイドチャネル評価方法 | |
Barenghi et al. | Scramble suit: A profile differentiation countermeasure to prevent template attacks | |
Zhao et al. | Efficient Hamming weight-based side-channel cube attacks on PRESENT | |
WO2016063512A1 (ja) | Macタグリスト生成装置、macタグリスト検証装置、macタグリスト生成方法、macタグリスト検証方法およびプログラム記録媒体 | |
Rohatgi | Improved techniques for side-channel analysis | |
JP5794638B2 (ja) | サイドチャネル評価装置及びサイドチャネル評価方法 | |
Yli-Mäyry et al. | Power analysis on unrolled architecture with points-of-interest search and its application to PRINCE block cipher | |
Cobb et al. | Leakage mapping: A systematic methodology for assessing the side-channel information leakage of cryptographic implementations | |
Li et al. | Enhanced correlation power analysis attack against trusted systems | |
Won et al. | On use of deep learning for side channel evaluation of black box hardware aes engine | |
Oshida et al. | On masked galois-field multiplication for authenticated encryption resistant to side channel analysis | |
Masoumi et al. | A simulation-based correlation power analysis attack to FPGA implementation of KASUMI block cipher |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141212 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20141215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150717 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150818 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151009 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160315 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160610 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20160620 |
|
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: 20160705 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160722 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5979750 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |