自堕落な技術者の日記

基本は喰ってるか飲んでるかですが、よく趣味でカラオケ・PKI・署名・認証・プログラミング・情報セキュリティをやっています。旅好き。テレビ好きで芸能通

Cipher Suite

Google Chrome が NSS を使うようになったのでSSL/TLS CipherSuite一覧を更新

@satorukanno さんのつぶやきを見ていたらWindows版のGoogle Chromeの暗号モジュールがCryptoAPI/CNGからMozillaのNSSに変更になったそうで、そのおかげでCamelliaを使ったCipher Suitesにも対応するようになったそうです。

そこで、Windows版のGoogle Chromeの最新版(6.0.472)のCipher Suitesを調査して対応表(SSL/TLS Cipher Suites)を更新しました。

Chrome 6.0とFireFox 3.6のNSSの違い

ぱっと見てみるとサポートしているCipherSuites数はCryptoAPIのとき12だったのがNSSになって36になっており、同じくNSSを使っているFireFox 3.6の35とほぼ同じになっています。 FireFox 3.6に比べて一つ増えているのはTLS_DHE_DSS_WITH_RC4_128_SHAでした。 最新のFireFoxならばこれも入っているのかもしれません。

Chrome 6.0のTLS拡張

キャプチャして見てみるとCompression Methodsが通常null(0)だけのものが多いんですが、DEFLATE(1)も入っていました。あと、他の拡張は最近のブラウザと同じなんですが一つ知らない拡張(0x3374)を見つけまして、何だろうと調べてみるとInternet DraftになっているTransoport Layer Security (TLS) Next Protocol Negotiation Extension draft-agl-tls-nextprotoneg-00を実装しているようです。 関係あるのはこれですかね。

Cipher Suites対応一覧表のその他の更新

あれからCipher Suitesの表を大幅にいじってまして、かなりボリューム感のある表になっています。

  • サーバーとクライアントの表を一つにまとめた。
  • OpenSSLのCipher Suites名を入れた。
  • 各Cipher Suitesを構成する暗号アルゴリズムを加えた。

詳しくはHTMLの表をご覧ください。

今日は、こんなところで

関連記事

OpenSSL 1.0.0を含むSSL/TLSサーバーのCipherSuitesサポート状況

PKI Day 2010の講演で紹介した以下の代表的なSSL/TLSサーバー製品に関するCipherSuitesのサポート状況の詳細を一覧表にしたものを公開します。

  • OpenSSL 1.0.0 s_server テスト用サーバー
  • OpenSSL 0.9.8m s_server テスト用サーバー
  • Apache mod_ssl with OpenSSL 1.0.0
  • Apache mod_ssl with OpenSSL 0.9.8m
  • Apache mod_gnutls
  • Apache mod_nss
  • Microsoft IIS on Windows Server 2003
  • Microsoft IIS on Windows Server 2008
  • Microsoft IIS on Windows Server 2008 R2
サーバー側のCipher Suites一覧を調べるのって結構面倒で、クライアント側だとパケットキャプチャすれば利用可能なCipher Suites一覧が一発で表示されるので簡単なんですが、サーバー側については基本的には一つ一つサーバー側に問い合わせてうまくいくか確認しないといけません。
SSL-TLS Supported CipherSuites for Server
HTML版はこちらでどうぞ。

Xperia上のブラウザがサポートするSSL/TLS CipherSuites

少し時間があったので会社から貸与されたdocomoの新型スマートフォンXperiaをいろいろいじってみました。今回は、手始めにXperiaで使われそうなウェブブラウザのSSL/TLSのCipherSuiteについて調べてみました。

  • Xperia (Android 1.6)の標準ブラウザ
  • Xperia上のOpera mini beta5 (5.0.18302)


SSL-TLS Supported CipherSuites

HTMLの表の方もあるのでこちらもどうぞ。

で、表を見てみると特徴はこんなところでしょうか。

  • Xperia標準ブラウザのSSL/TLS
    • SSLv3, TLSv1.0をサポートし、SSLv2をサポートしない。切り替え設定はできない。
    • サポートするCipherSuitesは19で標準的なPCブラウザの70%くらい
    • 最近のブラウザはサポートしなくなりつつある強度弱めなMD5,DES,3DESをサポート
  • Xperia上のOpera mini beta5のSSL/TLS
    • SSLv3, TLSv1.0をサポートし、SSLv2をサポートしない。切り替え設定はできない。
    • サポートするCipherSuitesは18で標準的なPCブラウザの70%くらい
    • PC版OperaからはDH_RSA, DH_DSSなどを削除している
    • TLS_EMPTY_RENEGOTIATION_INFO_SCSV(x00ff)をサポートしている
2009年3月に発表されたSSL rebindingやSSL renegotiationといわれるSSL/TLSの仕様の欠陥をついた攻撃方法に対応するために新たに追加された拡張をOpera miniではサポートしているらしい。 Opera miniにRFC 5746 Transport Layer Security (TLS) Renegotiation Indication Extension 3.3. Renegotiation Protection Request Signaling Cipher Suite Value で規定されている安全な再ネゴシエーションのための拡張を表すCipherSuite(もどき)が入っているのには、ちょっとびっくりした。多分iPhoneのOpera miniや、最新のPC版Operaでもこれをサポートしているのかな? ClientHelloにTLS_EMPTY_RENEGOTIATION_INFO_SCSVというCipherSuiteがある場合、これはアルゴリズムでも何でもなくて、セキュアな再ネゴシエーションを行いますよというフラグになっています。

う〜ん、Operaはやる事早いな。サーバー側は、まだ全然ついてきてないんですよねぇ、、、確か、、、

今日は、こんなところで

関連記事

ブラウザが対応するSSL/TLS CipherSuite一覧

少し前にウェブブラウザがHTTPS通信する際のCipherSuiteを調べてみようと思って表を作ってありました。今日、ちょっと時間があったので対象ブラウザを新しいものにして表を更新したので、公開しようと思います。

以下のブラウザについて調べています。

  • Microsoft Internet Explorer 8.0 / Windows XP SP3
  • Microsoft Internet Explorer 7.0 / Windows Vista
  • Firefox 3.6 / Windows XP SP3
  • Firefox 3.6 / Windows Vista
  • Opera 10.10 / Windows XP SP3
  • Opera 10.10 / Windows Vista
  • Google Chrome 4.0 / Windows XP SP3
  • Google Chrome 4.0 / Windows Vista
  • Apple Safari / iPhone OS 3.1.3
ウェブサーバーについても、表は作ってあるんですが、埋まっていないのでそのうち更新しますね。XHTML形式の表は以下の画像をクリックしてください。

SSLTLSSupportedCipherSuites_small

特徴的なところをまとめてみると、

  • ECCへの対応はFirefox 3.6◎、Vista以降のCryptoAPIでなくCNGを使ったIE、Chromeで一部サポート△。
  • AESはXP以前のIE以外ならばほぼサポートしている。
  • FirefoxのみCamelliaに対応している。
  • SHA2に対応しているのはOperaのみ。
  • SSL/TLSに関してはIEとChromeは同じものを使っているっぽい。

楕円暗号についてはFirefoxとVista以降のCNGを使用したIEやChromeでサポートしていますが、どのような曲線をサポートしているのか気になるところです。これについてはClientHelloのSupported Elliptic Curves Extensionで指定しますが、名前つきの曲線はいろいろあるにもかかわらず全て同じく以下の通りでした。

  • x0017 secp256r1 (NIST P-256)
  • x0018 secp384r1 (NIST P-384)
  • x0019 secp521r1 (NIST P-512)

今日はこの辺で。また時間ができたらここに補足を書きたいと思います。

関連記事

関連リンク

最新記事
Categories
Archives
Twitter
記事Google検索

本ブログ内をGoogle検索
Yahoo!アクセス解析
Travel Advisor
記事検索
QRコード
QRコード
  • ライブドアブログ