少し前にウェブブラウザが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
特徴的なところをまとめてみると、
- 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)
今日はこの辺で。また時間ができたらここに補足を書きたいと思います。
関連記事
- ブラウザが対応するSSL/TLS CipherSuite一覧 (2010年03月05日)
- Xperia上のブラウザがサポートするSSL/TLS CipherSuites (2010年04月24日)
- SSL/TLS Supported Cipher Suites 2010-Apr-24 rev1.2
Webサーバ側もあるとよいのですが。。
Bouncy+Tomcatでなんとか動かすことができるのですが、やっぱ、Apacheで動かしたいですね。