ハードウェア脆弱性評価技術の最新動向

ハードウェア脆弱性評価技術の最新動向
~電磁波照射攻撃によるICカードの脆弱性評価を紹介~
2014年5月 情報セキュリティEXPO@東京ビッグサイト
独立行政法人情報処理推進機構
技術本部セキュリティセンター
情報セキュリティ認証室
中田 量子
1
身近なハードウェアセキュリティ製品
ICカード
ICカードは、銀行カード、クレジットカード、交通カード、
パスポートなどとして広く使われている。
金融
交通
ETCカード、乗
車カード(鉄道、
バスなど)
電子マネー、
クレジットカード、
銀行カード
電子マネー
定期券
通勤3箇月
モバイル
ICカード
□□↔○○
14. -3.31まで
10800 円
14.-5.15
△△△△様
□□駅
発行
職員証
SIMカード
名前:まもるくん
発行日:2014.04.01
IC運転免許証
2
社員証
公共
パスポート
ID
講演の流れ
 ICカードの特徴と脅威
 ICカードに対する攻撃手法
• 典型的なハードウェア攻撃の手法
• 新しい攻撃手法
 ICカードの脆弱性評価と認証制度
 IPAでの取組み
3
ICカードの特徴と脅威
4
ICカードの特徴 (1)
 ICカードは、磁気カードに代わり、セキュリティが必要
な場面で使われている。
 ICカードは磁気カードとは本質的に異なる。
• 磁気カードは情報を記録して
いるだけである。
• ICカードには、CPUやメモリを
内蔵した小さなコンピュータが
搭載されており、その内部で計
算処理を行う。
• ICカードの動作には電力が必
要。外部から電力や入力信号
を受け取る。
5
CPU
メモリ
セキュリティ
電源回路
ICカードの特徴 (2)
 クレジット機能付き
ICカード
• クレジット機能付きICカードでは
サインではなく暗証番号で本人確
認する。
• 暗証番号の判定はICカード内で
行われる。
端末
利用者が暗
証番号を入
力する
入力された
暗証番号
入力された
暗証番号を
判定
OKならば、
決済処理を
開始する
6
クレジット
機能付き
ICカード
OK/NG
を回答
暗証番号による本人確認の流れ
ICカードの特徴 (3)
 ICカードは、小さなコンピュータを内蔵し、安全性を高
めている。
• 秘密データを内部にとどめたまま、判定処理を行う。
• 内部で計算処理ができることを使用した、複製を困難にす
る仕組みが実装されている。
ICカードにも小さなコンピュータならではの攻撃方法が
想定される。
実際に使われているICカードに対する攻撃が
可能だったという研究結果がある。
7
実際の攻撃事例(実証実験)
 2008年6月、オランダの研究者が、欧州で1,700万枚発行さ
れている「オイスターカード」(交通カード)を複製し利用できる
ことを英国ロンドンの地下鉄で実証した。[1]
 複製が可能だった理由として挙げられたもの
 リバースエンジニアリングにより秘密情報を解読
 安全性の確認されていないアルゴリズムとその実装
 短い暗号鍵
 ランダムさの足りない乱数生成
 この研究は、ICカードへの攻撃が
現実的なものであることを示している
ICカードへの攻撃による被害を防ぐためには、
個別の攻撃に対する脆弱性評価が必要
8
[1] Nohl, Karsten; Henryk Plotz. "Mifare: Little Security, Despite Obscurity". Chaos Communication Congress.
ICカードに対する攻撃手法
9
ICカードに対する代表的な攻撃
攻撃手法
物理攻撃
10
説明
リバースエンジニア 顕微鏡写真を観察し、その情報を得て、悪用する。
リング
物理プロービング
信号線をプローブし信号を読み取る。
物理マニピュレー
ション
電子回路を改造し、悪用する。
サイドチャネル攻撃
ICカードを壊さずに、動作中の消費電力、放射電
磁波などを測定して秘密情報を取り出す。
故障利用攻撃
規定外の電圧、規定外のクロック信号、レーザー
照射、電磁波照射などの物理的な刺激により、動
作中のICカードを誤動作させ、秘密情報を取り出
す。
ICカードに対する代表的な攻撃(1)
— 物理攻撃 —
攻撃手法
説明
物理攻撃
リバースエンジニア 顕微鏡写真を観察し、その情報を得て、悪用する。
リング
物理プロービング
信号線をプローブし信号を読み取る。
物理マニピュレー
ション
電子回路を改造し、悪用する。
リバースエンジニアリング
サイドチャネル攻撃
顕微鏡写真を回路図に変換
PMOS
VDD
故障利用攻撃
OUT
IN
NMOS
11
GND
PMOS
IN
NMOS
VDD
OUT
GND
物理マニピュレーション
物理プロービング
ICカードを壊さずに、動作中の消費電力、放射電
磁波などを測定して秘密情報を取り出す。信号線をつ
プローブ
プローブ
ないだ箇所
規定外の電圧、規定外のクロック信号、レーザー
照射、電磁波照射などの物理的な刺激により、動
作中のICカードを誤動作させ、秘密情報を取り出
FIB(Focused Ion
x1000
す。
Beam)を用い改造
ICカードに対する代表的な攻撃(2)
— サイドチャネル攻撃 —
攻撃手法
物理攻撃
説明
リバースエンジニア 顕微鏡写真を観察し、その情報を得て、悪用する。
リング
物理プロービング
信号線をプローブし信号を読み取る。
物理マニピュレー
ション
電子回路を改造し、悪用する。
消費電力波形
(RSA署名生成中)
サイドチャネル攻撃
ICカードを壊さずに、動作中の消費電力、放射電
磁波などを測定して秘密情報を取り出す。
サイドチャネル攻撃
故障利用攻撃
A
12
平文
暗号文
101101001001
101001011010
規定外の電圧、規定外のクロック信号、レーザー
照射、電磁波照射などの物理的な刺激により、動
消費電力は、処理の対象の平
作中のICカードを誤動作させ、秘密情報を取り出
文と暗号鍵に応じて変化する。
す。
ICカードに対する代表的な攻撃(3)
— 故障利用攻撃 —
攻撃手法
説明
レーザー照射
物理攻撃
リバースエンジニア 顕微鏡写真を観察し、その情報を得て、悪用する。
規定外の電圧供給
リング
電源電圧
平文
101101001001
13
物理プロービング
信号線をプローブし信号を読み取る。
対物レンズ
電子回路を改造し、悪用する。
物理マニピュレー
ICチップ
不正な暗号文
ション
1010011101010
サイドチャネル攻撃
レーザー光
ICカードを壊さずに、動作中の消費電力、放射電
磁波などを測定して秘密情報を取り出す。
故障利用攻撃
規定外の電圧、規定外のクロック信号、レーザー
照射、電磁波照射などの物理的な刺激により、動
作中のICカードを誤動作させ、秘密情報を取り出
す。
故障利用攻撃(1)
— 誤動作を引き起こすための手段 —
 グリッチ攻撃
• 電源やクロック信号の電圧を変動させる
 レーザー照射攻撃
• ICカードに内蔵されている半導体にレーザーを照射する
• 半導体にレーザーを照射すると、照射された部分の電子が自由
電子として励起し、電流が流れる[2]
• 意図しない電流が流れることでゲートの誤動作が発生する
• 高精度な攻撃が可能
レーザー照射で電流が流れる模式図([2]より)
14
[2] Franck Courbon, Philippe Loubet-Moundi, Jacques J.A. Fournier, and Assia Tria: Adjusting laser injections for fully controlled faults. In:
International Workshop, COSADE 2014, Paris, France, April 14-15, 2014. Proceedings. Springer (2014)
故障利用攻撃(2)
— 誤動作を引き起こすための手段 —
 電磁波照射攻撃
• ICカードに電磁波を照射する
• 外部からの電磁波で、半導体中の磁場が変化する
• ファラデーの電磁誘導の法則に従って、配線を流れる電子(電流)に起
電力が発生する
• その結果、信号線の電圧などが変動し、誤演算が起こる[3]
• 非侵襲、非接触で攻撃可能
電磁波照射攻撃による電磁誘導の模式図
1. コイルに
電流を流す
2. 磁場が生じる
[3] Rajesh Velegalati, Robert Van Spyk and Jasper van Woudenberg:
Electro Magnetic Fault Injection in Practice. In: International
15 Cryptographic Module Conference, ICMC 2013, Gaithersburg, MD, US,
September 24-26, 2013. Proceedings. (2014)
3.電流が流れる
4.電圧が変動する
(電流源としてふるまう)
故障利用攻撃(3)
— 電磁波照射攻撃の報告例 1—
 横浜国立大学の報告[4]
• ターゲット:ICカードに実装したAES
• 照射電磁波:123.5MHz、105us
• 結果:AESの10ラウンドで誤演算を起こし、AES鍵の導出に成
功
16
[4]遠山毅, 土屋遊, 大野仁, 岸川剛, 齋藤翔平, 佐々木明彦, 佐藤証, 松本勉, “電磁波照射を用いた
フォールト攻撃によるICカードからのAES鍵の抽出(2),” 2013年暗号と情報セキュリティシンポジウム, 予稿集 CD-ROM, 3E4-4, 2013
故障利用攻撃(4)
— 電磁波照射攻撃の報告例 2 —
 Dehbaoui et. al.の報告[5]
• ターゲット:FPGAとマイクロコントローラ
• 照射電磁波:ターゲットに近接させた探針に電流をパルス的に流
す
• 結果:AESの10ラウンドで誤演算を起こし、AES鍵の導出に成功
論文に掲載された実験装置の写真と模式図
17
[5] Dehbaoui, A., Dutertre, J.M., Robisson, B., Tria, A.: Electromagnetic transient faults injection on a hardware and a software
implementations of aes. In: FDTC.pp. 715 (2012)
故障利用攻撃(5)
—秘密情報取得の具体例 —
 ユーザー認証のスキップ
• 暗証番号の判定の過程でオペレーションをスキップする
 差分故障利用攻撃(Differential Fault Analysis, DFA)
• 暗号演算を間違わせることで、不正な暗号文を得る
• 正しい暗号文と合わせて計算処理することで、暗号演算に使
われた鍵を推定する
差分故障利用攻撃の例
ユーザー認証のスキップ
不正な暗証番号を
入力
アクセス拒否
NG
平文
平文
暗号
演算
暗号
演算
暗証番号の判定
GO
正しい
暗号文
計算処理
秘密情報にアクセス
18
使われた鍵の推定
不正な
暗号文
差分故障利用攻撃の仕組み(1)
-RSA暗号-
 大きな数の素因数分解の困難性に基づく方式
 登場するパラメータは n, p, q, e, d
• n=pq (p, qは素数)
• ed ≡ 1 (mod (p-1)(q-1)) となる整数d,e
(e,d : (p-1)(q-1)より小さく、 (p-1)(q-1)と互いに素な正整数。
eとdは素因数p, qを知っていれば容易に求まる)
• (n, e): 公開鍵
• (n, d): 秘密鍵(p,qも秘密鍵所持者は知っている)
19
 nは巨大な整数 (2048ビット以上)
 nの素因数分解は計算量的に困難
 n, eからdを求めることは計算量的に困難 (nの素因数を求める
ことと同値)
差分故障利用攻撃の仕組み(2)
-RSA暗号の基本演算-
 暗号化
• 平文m, 公開鍵eから, 暗号文 c ≡ me (mod n) を計算
 復号
• 暗号文c, 秘密鍵dから, 平文 m ≡ cd (mod n) を計算
 署名生成
• メッセージm, 秘密鍵dから, 署名 s ≡ md (mod n) を計算
 署名検証
• メッセージm, 署名s, 公開鍵eが, m ≡ se (mod n) を満たす
ことを検証
20
差分故障利用攻撃の仕組み(3)
-RSA暗号の高速化手法:RSA-CRT-
 RSA暗号は、巨大な数の冪乗剰余演算を行うため、計算量が多い
 RSA-CRT (CRT: Chinese Reminder Theorem)
• 秘密鍵dによる冪乗演算に適用
• アイディア: mod n(=pq)での冪乗剰余を直接計算する代わりに、mod pでの冪
乗剰余とmod qでの冪乗剰余を別々に計算し、それらの剰余を「合成」して
mod nでの剰余を計算する
• mod n を直接計算するより約4倍高速。
 以下の値をあらかじめ計算し、秘密鍵のセットに加える
• dp ≡ d (mod p-1)
• dq ≡ d (mod q-1)
• qinv ≡ q-1 (mod p)
 署名生成 (s ≡ md mod n)を以下の方式で計算
• s1 ≡ mdp mod p
• s2 ≡ mdq mod q
• h ≡ qinv(s1 - s2) mod p
21
• s = s2 + hq
差分故障攻撃の仕組み(4)
-BellCoRe Attack [6]-
 署名生成時に、s1の計算時に誤演算させる。
正しい署名
s1 ≡ mdp mod p
s2 ≡ mdq mod q
h ≡ qinv(s1 - s2 ) mod p
s = s2 + hq
このタイミングで
誤演算させる
誤った署名
s1’ ≢ mdp mod p
s2 ≡ mdq mod q
h’ ≡ qinv(s1’- s2 ) mod p
s’ = s2 + h’q
消費電力波形
(RSA署名生成中)
s≡
md
mod p
s ≡ md mod q
∴ s ≡ md mod n
( n = pq )
22
s’ ≢ md mod p
s’ ≡ md mod q
gcd(s’ – s, n) = q
[6] D.Boneh, R.A.DeMillo, R.Lipton. On
the Importance of Eliminating Errors in
Cryptographic Computations. In Journal of
Cryptology 14(2), pages 101–120, 2001.
正しい署名と不正な署名1個からnの素因数qが判明!
→qがわかれば秘密鍵dも容易に計算可能
ICカードの脆弱性評価と認証制度
23
国際規格ISO/IEC 15408に基づく
定量的な脆弱性評価
 IT製品のセキュリティ機能の適切性・確実性を評価・認証
するための国際規格ISO/IEC15408があり、日本を含む
各国で評価・認証制度が運営されている。
 この規格では現実的な脅威とみなされる各種攻撃に対す
る、セキュリティ耐性を点数付けし、定量的に評価する。
24
要因
内容
所要時間
攻撃に必要な時間で点数付け
専門知識
攻撃に必要な技術知識の違いで点数付け
評価対象の知識
攻撃に必要な評価対象についての情報の質と量の違いで点数付け
評価対象へのアクセス
攻撃に必要なサンプル数の違いで点数付け
機器
攻撃に必要な機器の違いで点数付け
オープンサンプル
ICカードのソフトウェアを自由に変更できるサンプルの入手性と数の違
いで点数付け
脆弱性評価への新しい攻撃の取込み
 新しい攻撃が現実的な脅威とみなされると、
その攻撃への耐性も評価されるようになる。
• 新しい攻撃の有力候補
• 「電磁波照射攻撃」
など
25
IPAでの取組み
26
ハードウェア脆弱性評価に関する
人材育成
 新しい攻撃への耐性を評価する最先端のツールを整備
して、日本の半導体ベンダ、ICカードベンダ、評価機関、
大学などの研究機関が利用できる評価環境の整備を進
めている。
• 最先端の評価ツールを使用し、脆弱性を評価することで新
しい攻撃手法を修得
• ICカードの開発過程で利用し、対抗策を検証することで、
高い攻撃耐性を持った製品開発が可能
• 将来的な攻撃手法の研究活動に活用
ICカード等のハードウェア脆弱性評価に関する
高度な技術を持った人材の育成を目指している
27
IPAでの取組み
 IPAでは次のような取組みを行い、安心して利用でき
るハードウェア製品の普及に取り組んでいます。
• セミナー等での最新情報の発信
• ICカード等を対象としたハードウェア脆弱性評価ツールの
整備、外部利用による人材育成
• 脆弱性評価の評価対象として活用できる、テストビークル
の作成
• ITセキュリティ評価及び認証制度の運営
• 暗号モジュール試験及び認証制度の運営
28
IPAは、これらの取組みにより、
ICカード等のハードウェアの安全性確保と
安心・安全な暮らしの実現を目指しています。
参考文献






29
[1] Nohl, Karsten; Henryk Plotz. "Mifare: Little Security, Despite Obscurity".
Chaos Communication Congress
[2] Franck Courbon, Philippe Loubet-Moundi, Jacques J.A. Fournier, and
Assia Tria: Adjusting laser injections for fully controlled faults. In: International
Workshop, COSADE 2014, Paris, France, April 14-15, 2014. Proceedings.
Springer (2014)
[3] Rajesh Velegalati, Robert Van Spyk and Jasper van Woudenberg: Electro
Magnetic Fault Injection in Practice. In: International Cryptographic Module
Conference, ICMC 2013, Gaithersburg, MD, US, September 24-26, 2013.
Proceedings. (2013)
[4]:遠山毅, 土屋遊, 大野仁, 岸川剛, 齋藤翔平, 佐々木明彦, 佐藤証, 松本勉, “電
磁波照射を用いたフォールト攻撃によるICカードからのAES鍵の抽出(2),” 2013
年暗号と情報セキュリティシンポジウム, 予稿集 CD-ROM, 3E4-4, 2013
[5] Dehbaoui, A., Dutertre, J.M., Robisson, B., Tria, A.: Electromagnetic
transient faults injection on a hardware and a software implementations of
aes. In: FDTC.pp. 7-15 (2012)
[6] D.Boneh, R.A.DeMillo, R.Lipton. On the Importance of Eliminating Errors
in Cryptographic Computations. In Journal of Cryptology 14(2), pages 101–
120, 2001.
IPAからのお願い
Windows XPのサポートが、2014年4月9日に終了しました。
まだ移行していない方は、不正アクセス等を回避するためサポート
の継続する後継OS、または代替OSへの移行が望まれます。
サポート期間中
サポート期間終了後
30
IPA XP移行
検索
https://www3.jitec.ipa.go.jp/JitesCbt/
31
ご清聴ありがとうございました。
32