(VU#243585, JVNVU#99125992)
更新日:2015年07月27日
1. 概要
2015年3月4日、中間者攻撃と SSL/TLS 通信で使用する暗号アルゴリズムを非輸出用の鍵長の長い暗号から、輸出用の鍵長の短い暗号 (輸出グレード暗号) に変更させるアルゴリズムのダウングレード攻撃とを組合せることで、SSL/TLS 通信の暗号文の解読を許してしまうという脆弱性が報告されました。 この問題は、別名 FREAK (Factoring RSA Export Keys) 問題とも呼ばれています。
図 1. 中間者攻撃とアルゴリズムのダウングレード攻撃
ServerKeyExchange メッセージは、ServerCertificate メッセージに、クライアントとの premaster_secret の交換に必要なデータが含まれていない場合、例えば、鍵交換方式で、RSA_EXPORT (サーバ証明書の公開鍵が 512 ビットより長いとき) を使用する場合に、サーバから送信されます。 送信される情報は、クライアントが premaster_secret を送信するのに必要な (一時的 RSA 鍵と呼ばれる) 暗号情報で、premaster_secret を暗号化するための 512 ビット以下の長さを持つ RSA 公開鍵などです。 SSL/TLS の実装によっては、この一時的 RSA 鍵 (Temporary RSA key) として、輸出用の鍵長の短い暗号 (輸出グレード暗号) を受け入れてしまう場合があります。
2. 影響を受けるシステム
+ SSL/TLS 通信を行うアプリケーション
3. 想定される影響
中間者攻撃を用いて、SSL/TLS 通信で使用する暗号アルゴリズムを非輸出用の鍵長の長い暗号から、輸出用の鍵長の短い暗号 (輸出グレード暗号) にダウングレードされた場合、通信の暗号文が解読され、通信の内容が漏えいする可能性があります。
4. 対策
4.1 サーバ側の推奨施策
SSL/TLS 通信で、輸出用の鍵長の短い暗号 (輸出グレード暗号) を使用しない。
次に示す暗号スイートは輸出用のもので、TLS 1.1 で実質使用しない暗号スイートとして位置付けられています。 これら暗号スイートは、鍵交換に 512 ビット長の RSA/DH を、暗号通信に 40 ビット長の RC2/RC4/DES を使用します。 セキュリティ機構の危殆化への対応として、これら暗号スイートを使用しないようにしてください。
TLS_RSA_EXPORT_WITH_RC4_40_MD5 (0x0003)
TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 (0x0006)
TLS_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0008)
TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA (0x000B)
TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA (0x000E)
TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA (0x0011)
TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0014)
TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 (0x0017)
TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA (0x0019)
4.2 クライアント側の推奨施策
SSL/TLS 通信で、輸出用の鍵長の短い暗号 (輸出グレード暗号) を使用しない。
サーバ側の推奨施策同様に、輸出用の暗号スイートを使用しないようにしてください。
SSL/TLS のライブラリやアプリケーションの脆弱性を除去する。
SSL/TLS 通信のネゴシエーションで、非輸出用の暗号スイートを使用することを決めた場合にも、 一時的 RSA 鍵 (Temporary RSA key) として、輸出用の鍵長の短い暗号 (輸出グレード暗号) を受け入れてしまう場合があります。 この場合には、SSL/TLS のライブラリやアプリケーションをアップデートする必要があります。
OpenSSL (CVE-2015-0204) [2015年01月08日]
RSA silently downgrades to EXPORT_RSA [Client] (CVE-2015-0204)
https://www.openssl.org/news/secadv_20150108.txt
Chrome [2015年03月05日]
Google Chrome 41以降で解決済み
Safari、Apple TV などのアップル製品 (CVE-2015-1067) [2015年03月09日]
セキュリティアップデート 2015-002
https://support.apple.com/ja-jp/HT204413
iOS 8.2 のセキュリティコンテンツについて
https://support.apple.com/ja-jp/HT204423
Apple TV 7.1 のセキュリティコンテンツについて
https://support.apple.com/ja-jp/HT204426
Internet Explorer などのマイクロソフト製品 (CVE-2015-1637) [2015年03月11日]
MS15-031: Schannel の脆弱性により、セキュリティ機能のバイパスが起こる
https://technet.microsoft.com/library/security/MS15-031
5. 製品対応状況
6. 関連情報
6.1 脆弱性識別
VU#243585
SSL/TLS implementations accept export-grade RSA keys (FREAK attack)
http://www.kb.cert.org/vuls/id/243585
JVNVU#99125992
SSL/TLS の実装が輸出グレードの RSA 鍵を受け入れる問題 (FREAK 攻撃)
http://jvn.jp/vu/JVNVU99125992/index.html
6.2 参考情報
RFC2246
一時的 RSA 鍵 (Temporary RSA key)
https://www.ipa.go.jp/security/rfc/RFC2246-ADJA.html#d1
6.3 米国における暗号政策の変遷
米国では、暗号技術・製品の使用や輸入に関する規制は存在しませんが、 輸出については、国家安全保障や犯罪防止を重視した政府の規制がありました。 しかし、1999年9月、クリントン政権は輸出認可方式を変更する方針を打ち出し、 これを受けて、商務省輸出管理局 (Bureau of Export Administration) では、 2000年1月に新しい暗号技術輸出規則を発表しました。
| 年月 | イベント |
| 1995年 | 国務省が Zimmermann(PGP の開発者)を武器輸出管理法違反で起訴 |
| 1997年1月 | 輸出管理規制の一部改正し、暗号輸出規制の所管が国務省から商務省に移行 |
| 1998年9月 | 暗号の輸出規制の緩和策の発表 56 ビット DES 相当以下の暗号の包括輸出を認可し、56 ビットを超える強度の暗号についてもケースバイケースで規制を緩和 |
| 1998年12月 | ワッセナー・アレンジメント総会において、56 ビット以下の共通鍵暗号及び 512 ビット以下の公開鍵暗号の輸出を自由化 |
| 1999年1月 | IETF から、輸出可能な暗号の鍵生成例が記載された The TLS Protocol Version 1.0 (RFC 2246) 発行される |
| 1999年9月 | 暗号輸出規制の緩和を発表 45カ国の輸出国リストが廃止され、テロ支援国7カ国以外の全地域に対し、鍵長に無関係に輸出ないし再輸出が可能となる |
| 2000年1月 | 暗号輸出規制を緩和する暗号技術輸出規則を発表 |
| 2000年10月 | EU 加盟15カ国 + 8カ国に対し、暗号解析装置及び同技術以外は許可を要せず輸出が可能となる |
| 2006年4月 | IETF から、輸出用の暗号スイートを実質使用しないことを記載した The TLS Protocol Version 1.1 (RFC 4346) 発行される |
IPA:暗号鍵の適切な運用・管理に係る課題調査 調査報告書 (2011)
http://www.ipa.go.jp/files/000027254.pdf
7. 更新履歴
2015年07月27日
2015年03月23日
担当:寺田、大西/HIRT