サイドチャネル攻撃

出典: フリー百科事典『ウィキペディア(Wikipedia)』
RSAキーのビットを電力解析でデコードする試み。左のピークは、乗算を使用しないアルゴリズム英語版のステップ中のCPU電力の変動を表しており、右の(幅の広い)ピークは乗算を使用するアルゴリズムのステップを表している。この差により、攻撃者はビットの0と1を読み取れる。

サイドチャネル攻撃(サイドチャネルこうげき、英語: side-channel attack)とは、コンピュータセキュリティの分野において、アルゴリズムの実装自体の弱さ(例:暗号そのものに対する解読ソフトウェアのバグ)ではなく、コンピュータシステムの実装から得られる情報を元にした暗号解読の攻撃のことである。タイミング情報、電力消費、電磁放射線のリーク、ときには音声英語版さえも、追加の情報源となって悪用される可能性がある。

サイドチャネル攻撃には、システムの内部操作に関する技術的な知識を必要とするものもあるが、差分電力解析英語版などはブラックボックス攻撃として効果的である。Microsoft Researchインディアナ大学の研究者によると、ブラウザとサーバー間の通信がHTTPSWiFi encryptionで暗号化されていても、Web 2.0アプリケーションとsoftware-as-a-serviceの興隆により、ウェブ上のサイドチャネル攻撃の可能性が大幅に高まった[1]。多くの強力なサイドチャネル攻撃は、Paul Kocher英語版によって開拓された統計的手法を元にしている[2]

正当なアクセス権を持つ人々を欺いたり強要したりして暗号システムを破壊しようとする試みは、通常、サイドチャネル攻撃とは見なされない。こうした手法については、ソーシャル・エンジニアリング締め上げ暗号分析を参照。

概要[編集]

暗号学では古来、暗号の強度について暗号の理論的なそれ自体の強度(学理的強度)だけではなく、その運用など広い範囲で「いんちきな方法で掠め取る」ような手法(たとえば通信の担当者を買収する)に対する強度も考慮の必要があった。暗号システムの「最も弱いリンク」は、暗号の理論の外側の搦め手の要素かもしれない、ということである。

コンピュータが利用される現代の暗号の攻撃法においても、既知平文攻撃選択暗号文攻撃などのように、平文暗号文にはアクセスできるが暗号処理はブラックボックスで行うものとしたものばかりではなく、何らかの方法で処理そのものを盗み見るなどといった手法も考慮する必要がある。もともと暗号に限らないより広い情報セキュリティの考え方として、情報の正規の出入口ではないチャネル(サイドチャネル)を利用した情報の漏洩についての研究があり(漏洩電磁波の記事なども参照[注釈 1])、それの現代的暗号学への応用である。たとえば、暗号機能付きのICカードなどのように攻撃者が処理時間や消費電力を精密に測定できる場合には、平文や暗号文だけではなく、これらのサイドチャネルから漏洩する情報も考慮することが必要である。

実際、GSMカードの中には、動作中の消費電力を測定することで秘密鍵を特定できるものがあることが指摘されている[3]

前述のように暗号学的にも情報セキュリティ的にも以前からある考え方だが、ICカードマネーなど社会的に重要な応用に密接に関連することからそういったシステムが一意に出回り始めた1990年代後半に研究発表が目立つようになり、2000年代にCRYPTRECNESSIEなどの暗号評価プロジェクトにより暗号方式のリストが作成された頃に「暗号方式が安全であっても暗号の実装が脆弱であると暗号を安全に利用することはできない」として、暗号分野の研究テーマの一つとして研究が盛んになった。

分類[編集]

具体的な攻撃方法としては、処理時間に注目したタイミング攻撃や、消費電力に注目した電力解析攻撃(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つの脆弱性(MeltdownSpectreとよばれる)が発見された。この脆弱性が用いられた場合、プロセスやオペレーティングシステム自体のメモリ内容が攻撃者に漏洩する可能性がある。

音響解析攻撃[編集]

2004年5月4日、EUROCRYPTのrump sessionで、Tromerらは、計算機が動作中に発するノイズ(10~50kHz)を分析すると処理内容がわかるという発表を行った[20]。LSI動作中の発熱等で物理的振動が発生してノイズとなり、このノイズにはCPUなどの動作状況について情報を豊富に含んでいるという。に関しては、古くは機械式暗号の動作音やドットマトリクスプリンタの発する音を分析する攻撃、最近ではキー押下時に発する音を分析する攻撃[21]などもある。

出典[編集]

  1. ^ 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. 
  2. ^ 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/ 2014年4月14日閲覧。 
  3. ^ 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. 
  4. ^ Paul C. Kocher, "Cryptanalysis of Diffie-Hellman, RSA, DSS, and Other Systems Using Timing Attacks," extended abstract, December 1995.
  5. ^ D. Chaum, "Blind Signatures for Untraceable Payments", Crypto'82, pp.199-203, 1983.
  6. ^ Paul Kocher, "Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems", Crypto'96, pp.104-113, 1996.
  7. ^ 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.
  8. ^ E. Biham, A. Shamir, "A new cryptanalytic attack on DES", 18 October 1996.
  9. ^ E. Biham, A. Shamir, "The Next Stage of Differential Fault Analysis: How to break completely unknown cryptosystems", 30 October 1996.
  10. ^ Paul Kocher, Joshua Jaffe, Benjamin Jun, "Introduction to Differential Power Analysis and Related Attacks", 1998.
  11. ^ Paul Kocher, "Differential Power Analysis", The Risks Digest Volume 19: Issue 80, 10 June 1998.
  12. ^ Bruce Schneier, "Side-Channel Attacks Against Cryptosystems", Crypto-Gram Newsletter, 15 June 1998.
  13. ^ Paul Kocher, Joshua Jaffe, Benjamin Jun, "Differential Power Analysis", CRYPTO'99, pp.388-397, 1999.
  14. ^ T. S. Messerges, E. A. Dabbish, R. H. Sloan, "Investigetions of Power Analysis Attack on Smartcards", USENIX WST, 1999.
  15. ^ a b M. Joye, C. Tymen, "Protections against Differential Analysis for Elliptic Curve Cryptography", CHES 2001, pp. 377-390, 2001.
  16. ^ a b T. Itoh, T. Izu and M. Takenaka, "Address-Bit Differential Power Analysis of Cryptographic Schemes", CHES 2002, pp.129-143, Aug. 2002.
  17. ^ 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. 
  18. ^ 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. 
  19. ^ 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日閲覧。 
  20. ^ Eran Tromer, Adi Shamir, "On Nosy People and Noisy Machines", Eurocrypt2004 rump session, 4 May 2004.
  21. ^ D. Asonov, R. Agrawal, "Keyboard Acoustic Emanations", IEEE Symposium on Security and Privacy, 9-12 May 2004.

注釈[編集]

  1. ^ なお情報セキュリティ的には「サイドチャネル」には、電磁波のような電気的に発生するものだけではなく、ランダムな名前で作られるテンポラリファイル名に何らかの規則性を持たせる等のあらゆる、情報を載せることが可能な「キャリア」が考慮される。

外部リンク[編集]