小特集暗号と社会の素敵な出会い 2.SSL/TLS と暗号プロトコルの安全性 恒久的に噴出する脆弱性との戦い 基応専般 須賀祐治 (( 株 ) インターネットイニシアティブ / 筑波大学 ) SSL Secure Socket Layer /TLS Transport Layer Security SSL/TLS TLS TLS IETF Internet Engineering Task Force Meeting 2015 11 SSL IETF TLS 1.0/1.1/1.2 1999/2006/2008 RFC 2246/4346/5246 CRYPTREC 1 TLS1.0 BEAST CBC 3 TLS1.1 TLS1.2 GCM, CCM SHA 2 TLS1.0 TLS SSL/TLS の歴史 SSL/TLS Rolf Oppliger SSL and TLS : Theory and Practice Netscape Com TLS1.1 TLS1.2 munications 1995 SSL 2.0 Internet draft "draft hickman netscape ssl" Netscape Navigator 1 SSL3.0 SSL2.0 SSL3.0 RFC 6176 Prohibiting Secure Sockets Layer SSL SSL/TLS の概要とその役割 SSL/TLS 1 2 3 Version 2.0 RFC 7568 Deprecating Secure Sockets Layer Version 3.0 2 1 2 驚くことにブラウザを購入していた時期がある. SSL3.0 排除の一因となった POODLE 攻撃については後述する. 3 通常ブロック暗号を利用する際には, ブロック長よりもはるかに長いデータを暗号化するため, 何度も逐次的に暗号化アルゴリズムで暗号処理を行う必要がある.1 つ前のブロック暗号処理で得られたデータを次のデータ処理でどのように利用するかを定めた方式のことを暗号モードと呼び,CBC モードはその一方式であり広く利用されている. 1064 情報処理 Vol.56 No.11 Nov. 2015
2.SSL/TLS と暗号プロトコルの安全性 恒久的に噴出する脆弱性との戦い クライアント ClientKeyExchange Verify ServerKeyExchange Request Done Request サーバ X.509 3 Master Secret CCS MAC 図 -1 図 -2 TLS1.2 メッセージフロー 仕様そのものの問題 実装上の問題 Renegotiation 機能を突いた中間者攻撃 Padding Oracle 攻撃 タイミング攻撃圧縮機能におけるサイドチャネル攻撃 境界領域チェックバグ ステート管理の不備 サーバの Export-grage 暗号の受け入れ設定ミス SSL/TLS への主要な脆弱性 攻撃 Nov2009-Renegotiation 脆弱性 Triple Handshake 攻撃 BEAST 攻撃 POODLE 攻撃 Lucky Thirteen 攻撃 TIME 攻撃 CRIME 攻撃 Heartbleed Bug CCS Injection 攻撃 FREAK 攻撃 Logjam 攻撃 4 CCS MAC MAC X.509 HTTP SMTP POP 図 -1 TLS1.2 4 way Handshake 1 CipherSuite 2 1 ServerH SSL/TLS への攻撃から傾向を読み解く SSL/TLS 図 -2 CELLOS 2 ello 情報処理 Vol.56 No.11 Nov. 2015 1065
小特集暗号と社会の素敵な出会い クライアント 図 -3 OR MasterSecret が共有されていないうちにCCSを受け取ると 空の Master Secret から共通鍵の生成を行ってしまう鍵がバレた状況 = Done ClientKeyExchange Verify CCS Injection 攻撃の概要 仕様そのものの問題 サーバ 本来ならこのタイミングで CCS を受領する必要がある 2009 2014 2011 9 BEAST CVE 2011 3389 SSL3.0/TLS1.0 CBC Cookie 2014 10 SSL3.0 POODLE Padding Oracle On Downgraded Legacy Encryption attack 3 BEAST SSL 1 Cookie TLS1.0 SSL3.0 TLS1.0 TLS1.0 SSL3.0 1 255 SSL3.0 2012 9 CRIME Cookie 2013 2 Lucky Thirteen 1 CBC AEAD Authenti cated Encryption with Associated Data : TLS1.2 1 実装上の問題 2014 4 Heartbleed Bug OpenSSL ID Cookie ID OpenSSL 2014 6 OpenSSL CCS In jection 図 -3 1066 情報処理 Vol.56 No.11 Nov. 2015
2.SSL/TLS と暗号プロトコルの安全性 恒久的に噴出する脆弱性との戦い 図 -4 クライアント中間者サーバ こちらは通常の CipherSuite 本来は RSA512 鍵を受け入れてはいけないのに... FREAK 攻撃の概要 ServerKeyExchange Request Done Master Secret が暗号化されたデータが含まれる CCS Master Secret OpenSSL 1998 OpenSSL OpenSSL0.9.8 1 FREAK 2015 1 Logjam 5 CipherSuites Export grade 図 -4 FREAK RSA 1 2010 768 RSA Export-grade な CipherSuites のみに書き換え Export-grade Ephemeral RSA512 鍵を送信 ClientKeyExchange Master Secret を復号 ClientKeyExchange Verify Verify MAC を書き換えて整合性を合わせる Request ( 暗号化鍵も MAC 用鍵も入手している ) MAC を書き換えて整合性を合わせる ここは筒抜け状態 1024 RSA 2048 RSA FREAK ServerKeyExchange Request RSA Done 512 RSA Request CipherSuites CipherSuites RSA512 RSA512 RSA512 RSA MAC Logjam RSA Diffie Hellman FREAK Logjam SSL/TLS SSL/TLS 情報処理 Vol.56 No.11 Nov. 2015 1067
小特集暗号と社会の素敵な出会い 実装における本質的な問題 4 RFC 新たな希望 TLS1.3 SSL/TLS TLS TLS1.3 TLS1.3 TLS1.2 1 2 3 Handshake 4 PRF Master Secret 4 意図せず秘密鍵を共有していた公開鍵使い回し問題 (http://www.jnsa. org/seminar/pki-day/2012/data/pm02_suga.pdf) や, データ暗号化鍵がハードコーディングされ毎回同じ鍵で暗号化されている実装などがそれにあたる.CRYPTREC シンポジウム 2015 資料 (http://cryptrec.go.jp/ topics/cryptrec_20150424_symposium2015_presentation.html) なども参考のこと. CELLOS TLS WG 2015 11 IETF 1 DES RFC 5246 MD5 RFC 6151 RC4 RFC 7465 5 BEAST POODLE CBC AEAD AEAD MAC MAC AEAD CAESER 2013 Round 2 2017 Winner s TLS1.3 AEAD 2 SSL/TLS CipherSuites TLS1.3 CipherSuite 4 way 3 way 3 TLS1.2 TLS1.3 Master Secret 5 主要ブラウザベンダから 2016 年の早い時期に RC4 を無効化するアナウンスがなされている. 1068 情報処理 Vol.56 No.11 Nov. 2015
2.SSL/TLS と暗号プロトコルの安全性 恒久的に噴出する脆弱性との戦い Handshake 4 Handshake RFC 5869 HMAC Master Secret TLS1.3 1 ProVerif 依然として残る移行問題 TLS1.3 SSL3.0 TLS SSL3.0 TLS1.3 TLS1.0 DES MD5 参考文献 1 SSL/TLS https://www.ipa.go.jp/security/ vuln/ssl_crypt_config.html 2 https:// www.cellos consortium.org/jp/index.php?publication 3 IIR vol.25, 1.4.2 POODLE attack http://www.iij.ad.jp/ company/development/report/iir/025/01_01.html 2015 9 10 suga@iij.ad.jp 2008 IIR IPSJ CSEC /JIP 2004 76 CELLOS IWSEC2015 Program co-chair 情報処理 Vol.56 No.11 Nov. 2015 1069