本間尚文
東北大学 電気通信研究所
耐タンパー性暗号LSI
の設計技術
本日の内容
サイドチャネル攻撃とその対策
秘密分散法に基づくゲートレベル対策技術
攻撃センサに基づく回路レベル対策技術
スマート社会における新たな脅威
新しい情報社会の概念によりLSIシステムを対象とする攻撃 は人命・財産・インフラの重大な脅威になる
暗号LSI
暗号LSI(暗号アルゴリズムをSW/HWで搭載した
LSI)は情報セキュリティ実現の基盤技術
次世代ICT基盤による更なる用途・重要性の拡大
www.jreast.co.jp www.orse.or.jp www.sony.co.jp www.sony.co.jp www.google.com www.elstermetering.com暗号 アルゴリズム アルゴリズム復号
暗号LSIに対する物理攻撃
暗号モジュールへの物理的アクセスに基づく攻撃
暗号アルゴリズム設計段階で考慮できない攻撃:
認証を得たアルゴリズムでも解読される可能性
平文 暗号文 平文 送信者 受信者 盗聴 改ざん 攻撃者暗号LSI
暗号鍵 復号鍵 盗聴 改ざん 盗聴 改ざん平文 暗号文
暗号
LSI
非正規入力 (故障注入攻撃) 周波数・電圧変動 クロックグリッチ 電磁波干渉 特にサイドチャネル攻撃は現実的な脅威として注目を集める 回路パターン解析 配線プロービング レーザー照射・FIB 破壊攻撃 非破壊攻撃 演算時間 消費電力 放射電磁波 サイドチャネル攻撃さまざまな物理攻撃
サイドチャネル攻撃
受動的で非侵襲な攻撃 サイドチャネル情報の観測から秘密情報を収奪 非破壊・非侵襲なため検知困難 比較的安価に実現可能 パッケージ開封を伴う“半侵襲”な攻撃もあり 何がサイドチャネル情報なり得るか? 電圧(電力)変動 放射電磁波 演算時間 音響変化 (キーボード情報漏えい) 攻撃はますます高度に,対象はICカード端末から汎用プロ セッサ・クラウドサービスまで拡大 ニューヨークやロンドンなどの地下鉄,
オランダで使用されていたICカードの鍵 をサイドチャネル攻撃で取得
Breaking Mifare DESFire
MF3ICD40(CHES, 2011)
Intel AES-NI命令セットのサイドチャネ
ル攻撃に対する脆弱性の報告
Defend encryption systems
against side-channel attacks (EDN Network, 2015)
クラウドサービスへのサイドチャネル攻撃
アマゾンクラウドサーバー(EC2)へのタイミング攻撃* 攻撃者と対象がキャッシュを共有することを利用 物理アクセスすら必要ないサイドチャネル攻撃 FPGAを搭載したインスタンスの提供開始(2017/4~) アタックサーフェスの拡大アーキテクチャラルサイドチャネル攻撃
マイクロアーキテクチャに存在する脆弱性を組み合わせた サイドチャネル攻撃**により保護領域の読込や不正プログ ラムの実行が可能となる脅威(2018/1) Spectre / Meltdown ― 3種の脆弱性を利用 Intel製・AMD製のプロセッサに広く影響1. Bounds check bypass:境界判定を遅延させた投機実行結果の観測 2. Branch target injection:VMを利用した分岐先への不正命令配置 3. Rogue data cache load (非権限領域への不正キャッシュ読込)
Spectre/Meltdownで取り上げられた脆弱性
キャッシュヒット・ミスヒットを利用して機密 データの読み込みを行う
ハイディング:中間値(SC情報)を処理に依らず一定化 マスキング:乱数による中間値の変換 別名:秘密共有,秘密分散
サイドチャネル攻撃への対策手法
M M S M S S S S S S 未対策の電力波形 S M S M S M S M S M 対策を施した電力波形 暗号化処理 マスク 処理 アンマスク処理 サイドチャネル情報を観測されても秘密情報とは無関係 乱数 平文 (入力) (出力)暗号文 乱数アルゴリズム レジスタトランスファ 論理ゲート 回路/セル アルゴリズムレベル (ダミー演算 等) アーキテクチャ 暗号LSIの 設計階層 アーキテクチャレベル (バスのマスキング 等) RTLレベル (レジスタデータの攪拌 等) ゲートレベル (相補的論理ゲート 等) レイアウト 回路・セルレベル (専用セルライブラリ 等)レイアウトレベル (対称レイアウト 等)
対策の適用レベル
攻撃の想定が対策レベルを決定 対策の適用レベルが下位になるにつれて実装コストが増加 従来はアルゴリズムやゲートレベルの対策が一般的本日の内容
サイドチャネル攻撃とその対策
秘密分散法に基づくゲートレベル対策技術
攻撃センサに基づく回路レベル対策技術
攻撃モデル: d 階プロ-ビングモデル
レジスタ f0 f2 f3 g0 g1 f1
攻撃者は d 本のプローブを用いてレジスタに格
納されている値を取得可能
しきい値法:Threshold Implementation (TI)
秘密情報 𝑎𝑎 を加法的に分解
シェア(𝑎𝑎
𝑖𝑖)を全て知らないと秘密情報を復元不可能(s, s)しきい値法を用いたマスキング
攻撃者
設計者
d 階プロービングで シェアを全て取得で きれば攻撃成功 d 階プロービングでシ ェアを全て取得させな いよう設計(もしくは 取得できないと仮定) d 階プロービングから秘密情報を守るため適切な シェアの数を用いた回路構造を設計𝑎𝑎 = 𝑎𝑎
1+ 𝑎𝑎
2+ ⋯ + 𝑎𝑎
𝑖𝑖+ ⋯ + 𝑎𝑎
𝑠𝑠d 階TIの構成法
TI回路が満たすべき3つのプロパティ 正当性 (Correctness) – 各シェアの総和は元の秘密情報になる d 階不完全性 (d th-order non-completeness) – 出力シェアを d 個どう 選んでも少なくとも1つ のシェアが独立に存在 一様性 (Uniformity) – 入出力が取りうる値の出現 確率が一様 回路機能の次数に応じて入出力のシェア数が変化 1階不完全性を満たす回路の例1階TIに基づく暗号HWの設計
共通鍵暗号(ブロック暗号)
固定長データ(ブロック)を単位として処理する暗号 ラウンド(換字・転置処理)を繰り返し実行 各ラウンドでは元の鍵から生成されたラウンド鍵を使用 平文(64ビット) 初期転置 F関数 F関数 F関数 最終転置 暗文(64ビット) 32 32 ラウンド1 ラウンド15 ラウンド16 鍵(64ビット) 副鍵生成 換字処理 →組み合わせ回路や テーブル参照 転置処理 →配線のつなぎ換え 鍵加算処理 →XOR演算 Data Encryption Standard: DESPlaintext AddRoundKey SubBytes ShiftRows MixColumns AddRoundKey SubBytes ShiftRows MixColumns AddRoundKey SubBytes ShiftRows Plaintext AddRoundKey Round 1 Round 9 Round 10 S01 S02 S03 S00 S12 S13 S10 S21 S22 S23 S20 S31 S32 S33 S30 S'01 S'02 S'03 S'00 S'12 S'13 S'10 S'21 S'22 S'23 S'20 S'31 S'32 S'33 S'30 S-Box 8 8 S11 S'11 S01 S02 S03 S00 S12 S13 S10 S21 S22 S23 S20 S31 S32 S33 S30 S11 S01 S02 S03 S00 S12 S13 S10 S21 S22 S23 S20 S31 S32 S33 S30 S11
Left Rotation by 3 Bytes Left Rotation by 1 Bytes Left Rotation by 2 Bytes No Shift S02 S03 S00 S12 S13 S10 S22 S23 S20 S32 S33 S30 S'02 S'03 S'00 S'12 S'13 S'10 S'22 S'23 S'20 S'32 S'33 S'30 Mix Column 32 32 S01 S21 S31 S11 S'01 S'21 S'31 S'11 S01 S02 S03 S00 S12 S13 S10 S21 S22 S23 S20 S31 S32 S33 S30 k01 k02 k03 k00 k12 k13 k10 k21 k22 k23 k20 k31 k32 k33 k30 S11 k11 S'01 S'02 S'03 S'00 S'12 S'13 S'10 S'21 S'22 S'23 S'20 S'31 S'32 S'33 S'30 S'11 = Subkey 128 128 換字処理 転置処理 転置処理 鍵加算
AES (Advanced Encryption Standard)
ISO/IEC国際標準暗号 データサイズ:128 bits 鍵長:128/192/256 bits ラウンド関数の構成要素は 転置と換字処理(SPN構造) 10ラウンド処理(鍵長128 ビット時) 換字処理にはガロア体上の 演算を利用 GF(28) SW・HW実装ともに優れる
Round Function S P round 実装 serial 実装 unrolled 実装 Round Function Round Function Round Function Round Function
共通鍵暗号のハードウェアアーキテクチャ
代表的なハードウェアアーキテクチャ
アンロールド アーキテクチャ バイトシリアル アーキテクチャ ループアーキテクチャ (ラウンドベース)1階TIに基づくAESハードウェアの性能
Byte-serial
Round-based
Un-rolled
6K~
40K~
GE
400K~
32~ bit 512~ bit 5,120~ bit 必要な乱数の ビット数遅延時間
回路面積
1階TIに基づくAESの構成要素
線形関数(ShiftRows・MixColumns)はシェ
ア数分だけ多重化
非線形関数(S-box)が性能を左右
ShiftRows
MixColumns
ShiftRows
MixColumns
MixColumns
ShiftRows
ShiftRows
MixColumns
MixColumns
ShiftRows
未対策回路 TIの回路構成
S-box
未対策回路TI-based
S-box
TIの回路構成合成体算術に基づくAES S-box
AES S-box は GF(2
8) 上の逆元演算器の構成が
性能を左右
合成体 GF(((2
2)
2)
2) 上の算術演算を用いた構成
が小型・高効率実装に適する
入力に同型写像を適用して合成体の元に変換
合成体上の逆元演算後に逆写像を適用
AESの体 合成体 AESの体1階TI に基づく逆元演算器
合成体算術により回路機能の次数を削減
3 ステージに分解すると高効率
第2ステージの実装法と TI の入力シェア数の違い
1階TIの性能オーバーヘッド
Moradi+, EC 2011 Bilgin+,TCAD 2015 Cnudde+, CHES 2016 Ueno+, COSADE 2017 Unprotected TI Area [GE] 2,421 11,114 8,119 6,681 6,334 Latency 210 266 246 276 219Power [uW] (0.88*)6.66 (3.14*)24.12 No data 3.06
Area-Latency product 508 K 2,956 K 1,997 K 1,844 K 1,387 K Power-Latency product 1,398.60 (184.80*) (835.24*)6,416.92 No data 672.33 Process [nm] 180 180 65
サイドチャネル攻撃耐性の実験的評価
1階TIに基づくAES 暗号ハードウェアをFPGA上
に実装し,動作中の電圧変動を計測
実験装置の全体図 実験環境
ボード SASEBO-G FPGA Xilinx VirtexPRO II クロック周波 数 24MHz オシロスコー プ DPO7254Tektronix サンプリング レート 1GS/s 計測波形数 500,000 AES を実装した FPGA チップ
t 検定に基づく攻撃耐性評価
ランダムな平文から 得られた消費電力波形 得られた消費電力波形ある固定の平文から t 検定:二つの波形群の平均値に有意差があるかを検定 4.5 4.5 -4.5 -4.5 対策版 未対策版 t値 t値本日の内容
サイドチャネル攻撃とその対策
秘密分散法に基づくゲートレベル対策技術
攻撃センサに基づく回路レベル対策技術
局所電磁波攻撃
局所電磁波攻撃:マイクロ磁界プローブにより暗号LSIの 局所的な漏洩情報を正確に観測 従来対策の想定を越えた攻撃が可能 LSI設計における最小単位(標準セル ・メモリマクロ)からの様々な漏洩 – 電流経路リーク – 内部非線形ゲートリーク – メモリアドレスリーク 多くの既存対策手法を無効化する可能性 アルゴリズムレベル・ゲートレベルの対策ほぼ全てが 無効化され得る 計測技術や計測デバイスの発達に脅威がより現実的にトランジスタレベルの 対称設計 ブシールディングLSI上のアクティ 特殊なパッケージング Atmel ATSHA204 X Y Z Q
既存の回路・ボードレベル対策
性能オーバーヘッドや製造コストの大幅な増加 より高分解能な攻撃や基板裏面からの攻撃の可能性電磁波攻撃センサ
プローブ接近による電磁界の乱れを検出
プローブと回路との電気的結合は物理法則上不可避 発振周波数のシフトによりプローブ(攻撃の兆候)を検知 [神戸大・NAISTとの共同研究] 暗号モジュール コイル(LC 発振器)f
LC 電磁波攻撃センサの概念図 磁界プローブ M Sp ec trum 1/2π LC LC Oscillation Frequency fLC 1/2π (L-M)C 相互インダクタンス プローブ無 プローブ有双対センサコイルアーキテクチャ
参照周波数源が不要
多様なプロービングシナリオに対応可能
異なるコイル形状・巻き数
PVTによる周波数変動をディジタル校正
双対センサコイル fLC1 fLC2Sensor-to-probe vertical distance
fLC1 fLC2 シフト差に よる検出 Fr eq ue nc y shif t
LC Oscillator for L2
センサコア回路
LC発信部,リング発信部,検出部,周波数校正部,制御部 からなる Coil L1 n Control Detection sig. x2nMOS Capacitor Bank
Detection f LC 1 -f L C 2 Counter Coil L2 LC O sc illa to r R in g O sc illa to r Clock Count #LC1 #LC2 #RO1 #RO2 Ca lib ra tio n LU T Ca lib ra tio n LU T Ring Oscillator for L2
コイル L1 コイル L2
センサの設計と実証実験
128ビットAESプロセッサと提案センサをTSMC 0.18mm CMOSプロセスにより試作 マイクロプローブ接近による基本性能を実証 AES プロセッサ (1ラウンド/サイクル ループアーキテクチャ) プローブ・治具 マイクロ スコープ 評価用基板 (SASEBO) モニタ/PC シグナルアナライザ 620µm 770 µm攻撃センサによる検知デモ
EM Attack Sensor Demo (YouTube)
最小径プローブの検出
L1 L2 Sensor Coil Probe (0.2mmφ) L1 L2 Sensor Coil Probe (0.3mmφ) Fr eq. sh ift ra te [%] Fr eq. sh ift ra te [%] 5 4 3 2 1 0 5 4 3 2 1 0 y po si ti on [ m m ] 0.4 0.2 0.6 y po si ti on [ m m ] 0.4 0.2 0.6 0 0 0.2 0.4 0.6 0.8 1 x position [mm] 0 0.2 0.4 0.6 0.8 1 0Power Consumption
AES core Sensor
0.25mW (+9%) Total (Sensor Overhead) 0.23mW 0.02mW Layout Area 0.48mm2 0.01mm2 0.49mm(+2%)2
Performance 125ms/Enc 0.3ms/Sense 125.3ms(-0.2%)
2NAND Gate
Count 24.3k 0.3k (+1.2%24.6k )
Wire Resource 0.40mm2 0.05mm2 (+11%0.45 )
攻撃センサの可能性と課題
プロービング攻撃全般に適用可能 プローブの接近による電磁界の乱れをμ秒オーダで検知 従来のLSI設計手法により容易に設計・製造可能 一般的な共通鍵暗号HWに対して従来対策の1/300~1/400程度 のオーバーヘッドで実現可能 双対コイルのシフト量を揃える攻撃は実現困難 今後の課題 検知可能な距離(現在:~0.3mm)の延伸 – シリコン基板裏面からの攻撃は検知可能 – パッケージ越しの(非破壊な)攻撃の検知は困難 従来対策との相補的な適用の検討本日の内容
サイドチャネル攻撃とその対策
秘密分散法に基づくゲートレベル対策技術
攻撃センサに基づく回路レベル対策技術
SCA耐性LSI設計の課題
どのように漏えいモデルを想定するか 漏えいモデルの想定が成り立つときのみ対策は有効 回路・計測・解析技術の進歩をどのように評価するか 計測の想定(計測位置,計測回数等)はしばしば現実と異なる 新たなサイドチャネル情報利用の可能性 アーキテクチャ的なデータ依存性など 効率的な耐性検証・評価手法 1000万回の計測は本当に必要か スマート社会の進展に伴う暗号LSIへの物理攻撃のリス クの高まり 今後従来の性能(演算速度・消費電力など)に加えて耐 タンパー性という新たなシステム設計指標が求められる 想定される攻撃に応じた適切な対策が必要 秘密分散法によるマスキング対策 双対コイルセンサによる反応型対策 セキュリティ機能(暗号)を搭載したシステム設計・実 装の研究は始まったばかり 高い安全性⊂超スマート社会!