テーマ: PolarSSL, GnuPG とその脆弱性対応
開催日時 2014年1月29日(水曜日)18:30 〜 19:45
場所: | 東京体育館第四会議室 |
---|
RSAの計算に関連した三つの脆弱性の問題について紹介し、その対策を討議します。 ひとつは PolarSSL で CVE-2013-5915 です。 ほかの二つは GnuPGの関連で CVE-2013-4242, CVE-2013-4576 です。
話題提供
- g新部 裕
概要
RSAの計算に関連して、秘密鍵の漏洩の危険が指摘された 2013年の脆弱性報告について紹介します。
ひとつは PolarSSL (Gnuk に使われています)に対するもので CVE-2013-5915 です。 これは計算時間が入力により変わる性質を利用し、さまざまな入力を与えて、秘密鍵の情報を取得しようとするものです。オリジナルの PolarSSL では、対策として RSA Blinding が導入されました。 Gnuk の対応では、計算時間が入力により変わる性質をできる限り排除する対策を採られています。 この詳細を説明します。
二つはGnuPGの関連で CVE-2013-4242, CVE-2013-4576 です。
CVE-2013-4242は、Flush+Reload攻撃と呼ばれるもので、キャッシュの利用を横で観察することにより、秘密鍵の情報を取得しようとするものです。この対策として、秘密鍵のビットによらず、必ずダミーの計算を行うことが導入されました。しかし、この余分な計算でRSAの計算は遅くなってしまいました。なんというか「敗北」でしょう。
この「敗北」から立ち上がり、攻撃を無効化しつつも計算を速くする失地回復の試みが g新部により提案され、結局、最新の GnuPG 1.4.16 と libgcrypt 1.6.0 は、速くなりました(脆弱性が指摘されたもともとのバージョンよりも速くなってます)。
CVE-2013-4576 も、興味深い攻撃で、コンピュータから発せられる音で聞き分けることができるというものです。この音が入力により変わる性質を利用し、さまざまな入力を与えて、秘密鍵の情報を取得しようとするものです。
リンク
CVE-2013-5915: https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-5915
PolarSSL and RSA Blinding: http://www.gniibe.org/memo/development/gnuk/polarssl/polarssl-rsa-blinding
CVE-2013-4242: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-4242
Flush+Reload: a High Resolution, Low Noise, L3 Cache Side-Channel Attack: http://eprint.iacr.org/2013/448.pdf
possible mpi-pow improvement: http://lists.gnupg.org/pipermail/gcrypt-devel/2013-October/002435.html
CVE-2013-4576: https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-4576
RSA Key Extraction via Low-Bandwidth Acoustic Cryptanalysis: http://www.cs.tau.ac.il/~tromer/acoustic/