サイドチャネル攻撃
RSA キーのビットを電力解析 でデコードする試み。左のピークは、乗算を使用しないアルゴリズム (英語版 ) のステップ中のCPU電力の変動を表しており、右の(幅の広い)ピークは乗算を使用するアルゴリズムのステップを表している。この差により、攻撃者はビットの0と1を読み取れる。
サイドチャネル攻撃 (サイドチャネルこうげき、英語 : side-channel attack )とは、コンピュータセキュリティ の分野において、アルゴリズムの実装自体の弱さ(例:暗号そのものに対する解読 やソフトウェアのバグ )ではなく、コンピュータシステムの実装 から得られる情報を元にした暗号解読 の攻撃のことである。タイミング情報、電力消費、電磁放射線 のリーク、ときには音声 (英語版 ) さえも、追加の情報源となって悪用される可能性がある。
サイドチャネル攻撃には、システムの内部操作に関する技術的な知識を必要とするものもあるが、差分電力解析 (英語版 ) などはブラックボックス 攻撃として効果的である。Microsoft Research とインディアナ大学 の研究者によると、ブラウザとサーバー間の通信がHTTPS やWiFi encryptionで暗号化されていても、Web 2.0アプリケーションとsoftware-as-a-service の興隆により、ウェブ上のサイドチャネル攻撃の可能性が大幅に高まった[ 1] 。多くの強力なサイドチャネル攻撃は、Paul Kocher (英語版 ) によって開拓された統計的手法を元にしている[ 2] 。
正当なアクセス権を持つ人々を欺いたり強要したりして暗号システムを破壊しようとする試みは、通常、サイドチャネル攻撃とは見なされない。こうした手法については、ソーシャル・エンジニアリング と締め上げ暗号分析 を参照。
概要
暗号学では古来、暗号の強度について暗号の理論 的なそれ自体の強度(学理的強度)だけではなく、その運用など広い範囲で「いんちきな方法で掠め取る」ような手法(たとえば通信の担当者を買収する)に対する強度も考慮の必要があった。暗号システム の「最も弱いリンク」は、暗号の理論の外側の搦め手の要素かもしれない、ということである。
コンピュータ が利用される現代の暗号の攻撃法 においても、既知平文攻撃 や選択暗号文攻撃 などのように、平文 や暗号文 にはアクセスできるが暗号処理はブラックボックスで行うものとしたものばかりではなく、何らかの方法で処理そのものを盗み見るなどといった手法も考慮する必要がある。もともと暗号に限らないより広い情報セキュリティ の考え方として、情報の正規の出入口ではないチャネル(サイドチャネル)を利用した情報の漏洩についての研究があり(漏洩電磁波 の記事なども参照[ 注釈 1] )、それの現代的暗号学への応用である。たとえば、暗号機能付きのICカード などのように攻撃者が処理時間や消費電力を精密に測定できる場合には、平文や暗号文だけではなく、これらのサイドチャネルから漏洩する情報も考慮することが必要である。
実際、GSM カードの中には、動作中の消費電力を測定することで秘密鍵を特定できるものがあることが指摘されている[ 3] 。
前述のように暗号学的にも情報セキュリティ的にも以前からある考え方だが、ICカードマネーなど社会的に重要な応用に密接に関連することからそういったシステムが一意に出回り始めた1990年代後半に研究発表が目立つようになり、2000年代にCRYPTREC やNESSIE などの暗号評価プロジェクトにより暗号方式のリストが作成された頃に「暗号方式が安全であっても暗号の実装が脆弱であると暗号を安全に利用することはできない」として、暗号分野の研究テーマの一つとして研究が盛んになった。
分類
具体的な攻撃方法としては、処理時間に注目したタイミング攻撃 や、消費電力に注目した電力解析攻撃 (power analysis attack)、装置から漏洩する電磁波(漏洩電磁波 )に注目した電磁波解析攻撃 などがある。
またこれらの研究の発達に対応するように、その動作を観測しても情報を推測不可能・困難なコンピュータハードウェア やアーキテクチャ の研究も行われている。
歴史
タイミング攻撃
1995年12月7日にKocherがWEBで発表した[ 4] 。WEBに掲載された文書は概要のみであったが、1995年12月11日にRSA社がChaumのブラインド署名方式[ 5] を利用して効果的に処理時間を隠す対処方法を説明している。1996年夏に、CRYPTOの発表で詳細が示された[ 6] 。
故障利用攻撃
1996年9月25日、BellcoreのWEBにて、BonehらによるICカード などの耐タンパーデバイスに対する新たな攻撃法が公開された[ 7] 。RSA などのような公開鍵暗号 の処理中に計算誤りが発生すると、誤った出力と正しい出力を比較することで、秘密鍵を特定できる脅威があるため、暗号処理中のICカードに何かしらの物理的操作を行うことで意図的にエラーを発生させることで攻撃できる、というものである[ 7] 。
この攻撃では公開鍵暗号が対象であったが、1996年10月、BihamらはDES などの共通鍵暗号 の秘密鍵を攻撃できる方法を発表した[ 8] [ 9] 。これは、フォールト解析攻撃(Fault Analysis Attack)とも呼ばれる。
電力解析攻撃
1998年、KocherらがWEBで発表した[ 10] 。6月9日頃からニュース記事などで話題になった[ 11] [ 12] 。それによるとICカードなどの暗号デバイスの消費電力はデバイスの処理内容と相関があるため、消費電力を測定して統計処理すると処理内容に関する情報(秘密鍵やPIN等)を取り出すことができるという。SPA/DPA/HO-DPAの3種類の攻撃が提案され、例としてDPAでDES秘密鍵を求めるアルゴリズムの概要が示されている。CRYPTO'98のランプセッションにて概要説明(6分)があった後、翌年のCRYPTOで詳細が発表された[ 13] 。単純電力解析 (Simple Power Analysis、SPA)、差分電力解析 (英語版 ) (Differential Power Analysis、DPA)など。DPAは当初は共通鍵暗号 向けの攻撃がメインではあるものの、MessergeらによりDES 向けのデータやアドレスを用いた攻撃が1999年に提案された[ 14] 。その後、2001年に、公開鍵暗号 向けのDPAとして、Joyeらは内部データを用いる攻撃を提案し[ 15] 、富士通研究所 の伊藤らは2002年にCHESにてレジスタ のアドレスのみに注目した攻撃が提案された[ 16] 。双方ともに論文中で楕円曲線暗号 を使用している[ 15] [ 16] 。
電磁波解析攻撃
2001年5月のCHESで、Gandolfiらにより、DES やRSA実行中に放射される漏洩電磁波 を測定分析すると秘密鍵を特定する具体的な方法が示された[ 17] 。それ以前にはテンペストなど電磁波漏洩 に関する対策[要出典 ] や、その脅威についての考察[ 18] はあったが、具体的部分は非公開であった。
キャッシュ攻撃
2002年10月のISITAで、Tsunooらにより、キャッシュ付CPU では、キャッシュヒットの有無によりメモリアクセス時間 が異なることを利用すると、ブロック暗号 に対してタイミング攻撃が可能であることが、具体的に示された[ 19] 。
2017年に2つの脆弱性(Meltdown とSpectre とよばれる)が発見された。この脆弱性が用いられた場合、プロセスやオペレーティングシステム自体のメモリ内容が攻撃者に漏洩する可能性がある。
音響解析攻撃
2004年5月4日、EUROCRYPTのrump sessionで、Tromerらは、計算機が動作中に発するノイズ (10~50kHz)を分析すると処理内容がわかるという発表を行った[ 20] 。LSI動作中の発熱等で物理的振動が発生してノイズとなり、このノイズにはCPUなどの動作状況について情報を豊富に含んでいるという。音 に関しては、古くは機械式暗号の動作音やドットマトリクスプリンタ の発する音を分析する攻撃、最近ではキー押下時に発する音を分析する攻撃[ 21] などもある。
出典
^ Shuo Chen; Rui Wang; XiaoFeng Wang & Kehuan Zhang (May 2010). “Side-Channel Leaks in Web Applications: a Reality Today, a Challenge Tomorrow” . Microsoft Research (IEEE Symposium on Security & Privacy 2010). http://research.microsoft.com/pubs/119060/WebAppSideChannel-final.pdf .
^ Kocher, Paul (1996). “Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other systems” . Advances in Cryptology — CRYPTO '96 . Lecture Notes in Computer Science. 1109 . 104–113. doi :10.1007/3-540-68697-5_9 . ISBN 978-3-540-61512-5 . http://www.rambus.com/timing-attacks-on-implementations-of-diffie-hellman-rsa-dss-and-other-systems/ 14 April 2014 閲覧。
^ Rao, J.R.; Rohatgi, P.; Scherzer, H.; Tinguely, S.. “Partitioning attacks: or how to rapidly clone some GSM cards” . Proceedings 2002 IEEE Symposium on Security and Privacy (IEEE Comput. Soc). doi :10.1109/secpri.2002.1004360 . https://doi.org/10.1109/secpri.2002.1004360 .
^ Paul C. Kocher, "Cryptanalysis of Diffie-Hellman, RSA, DSS, and Other Systems Using Timing Attacks," extended abstract, December 1995.
^ D. Chaum, "Blind Signatures for Untraceable Payments", Crypto'82, pp.199-203, 1983.
^ Paul Kocher, "Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems", Crypto'96, pp.104-113, 1996.
^ a b D. Boneh, R. A. DeMillo, R. J. Lipton, "A New Breed of Crypto Attack on "Tamperproof" Tokens Cracks Even the Strongest RSA Code", 25 Sep 1996.
^ E. Biham, A. Shamir, "A new cryptanalytic attack on DES", 18 October 1996.
^ E. Biham, A. Shamir, "The Next Stage of Differential Fault Analysis: How to break completely unknown cryptosystems", 30 October 1996.
^ Paul Kocher, Joshua Jaffe, Benjamin Jun, "Introduction to Differential Power Analysis and Related Attacks", 1998.
^ Paul Kocher, "Differential Power Analysis", The Risks Digest Volume 19: Issue 80, 10 June 1998.
^ Bruce Schneier, "Side-Channel Attacks Against Cryptosystems", Crypto-Gram Newsletter, 15 June 1998.
^ Paul Kocher, Joshua Jaffe, Benjamin Jun, "Differential Power Analysis", CRYPTO'99, pp.388-397, 1999.
^ T. S. Messerges, E. A. Dabbish, R. H. Sloan, "Investigetions of Power Analysis Attack on Smartcards", USENIX WST, 1999.
^ a b M. Joye, C. Tymen, "Protections against Differential Analysis for Elliptic Curve Cryptography", CHES 2001, pp. 377-390, 2001.
^ a b T. Itoh, T. Izu and M. Takenaka, "Address-Bit Differential Power Analysis of Cryptographic Schemes", CHES 2002, pp.129-143, Aug. 2002.
^ Gandolfi, Karine; Mourtel, Christophe; Olivier, Francis (2001). Koç, Çetin K.; Naccache, David; Paar, Christof. eds. “Electromagnetic Analysis: Concrete Results” (英語). Cryptographic Hardware and Embedded Systems — CHES 2001 (Berlin, Heidelberg: Springer): 251–261. doi :10.1007/3-540-44709-1_21 . ISBN 978-3-540-44709-2 . https://link.springer.com/chapter/10.1007%2F3-540-44709-1_21 .
^ Neve, M.; Peeters, E.; Samyde, D.; Quisquater, J.-J.. “Memories: A Survey of Their Secure Uses in Smart Cards” . Second IEEE International Security in Storage Workshop (IEEE). doi :10.1109/sisw.2003.10004 . https://doi.org/10.1109/sisw.2003.10004 .
^ Tsunoo, Yukiyasu; Saito, Teruo; Suzaki, Tomoyasu; Shigeri, Maki; Miyauchi, Hiroshi (2003), Cryptanalysis of DES Implemented on Computers with Cache , Springer Berlin Heidelberg, pp. 62–76, ISBN 978-3-540-40833-8 , https://doi.org/10.1007/978-3-540-45238-6_6 2022年1月1日 閲覧。
^ Eran Tromer, Adi Shamir, "On Nosy People and Noisy Machines", Eurocrypt2004 rump session, 4 May 2004.
^ D. Asonov, R. Agrawal, "Keyboard Acoustic Emanations", IEEE Symposium on Security and Privacy, 9-12 May 2004.
注釈
^ なお情報セキュリティ的には「サイドチャネル」には、電磁波のような電気的に発生するものだけではなく、ランダムな名前で作られるテンポラリファイル名に何らかの規則性を持たせる等のあらゆる、情報を載せることが可能な「キャリア」が考慮される。
外部リンク