Mozilla Security Blog 日本語版

Mozilla Security Blog を日本語に翻訳(非公式)

【翻訳】RC4 暗号の廃止

この記事は、2015 年 9 月 11 日付で Mozilla Security Blog に投稿された Deprecating the RC4 Cipher(筆者: April King)の翻訳です。この翻訳は公式なものではありません。詳しくはこちらをご覧ください。


ユーザのプライバシーを保護する活動の一環として、Mozilla は 2016 年 1 月の終わりに、安全でない RC4 暗号の利用を Firefox 44 で無効にします。Mozilla はこの変更を ChromeIE/Edge のチームと協力して進めていきます。あなたの管理する Web サイトが RC4 に依存している場合、他の暗号を利用可能にする必要があります。設定を変更しないと、Firefox ユーザがあなたのサイトに接続できなくなってしまいます。RC4 のみに依存しているサーバはほぼないため、大半のユーザにとっては最小限の混乱で済むはずです。

RC4 の登場から終焉へ

1987 年に Ron Rivest が開発した RC4 暗号は、およそ 30 年にわたって暗号の中心的存在でした。RC4 は長年の間 HTTPS サーバで広く使われましたが、それには 2 つの理由がありました。 1 つは当時の他の暗号よりも処理が速かったこと、もう 1 つは他の暗号における BEAST のような脆弱性に対して RC4 が耐性を持っていたことです。

しかし、ここ数年の間で RC4 に対する暗号解析技術は日に日に進歩してきました。RC4 における特定の偏りが 1995 年に発見されて以降、RC4 への攻撃はより容易になりました。最近では、RC4 で暗号化された HTTPS のセッションに対して いくつかの 現実的な 攻撃手法 が実証されました。これらを受けて IETFRFC7465 を発行し、TLS における RC4 の利用を禁止しました。

同じころ、AES-GCM のような新しい暗号が開発されました。現代のハードウェアであれば、これらの新しい暗号は RC4 と同じ処理速度をもち、BEAST といった攻撃手法にも耐性があります。この暗号は大半の Web サーバがサポートするようになり、Firefox が扱う TLS 通信の過半数を占めるようになりました。

Firefox における RC4 の廃止

古いサーバとの互換性を維持するため、Firefox は最近まで RC4 をすべてサポートしていましたが、私たちはここ数年間でサポートを徐々に打ち切っています。

Firefox 36(2015 年 2 月リリース)では最初のステップとして、RC4 を「フォールバックに限定した」暗号としました。Firefox はこの変更以降、サーバと通信を試みる際には RC4 へ「フォールバック」する前に、まずは安全な暗号から用いることになりました。その結果、FirefoxRC4 を用いるのは、サーバが RC4 よりも安全な暗号をサポートしていない場合のみになりました。これは大きな変更となり、FirefoxTLS 通信で 27% を占めていた RC4 の使用率は、その後の数週間で 0.5% 未満にまで減少しました。

Firefox 38(2015 年 5 月リリース)ではもう一歩踏み込み、プレリリース製品の Nightly と Developer Edition からほぼ完全に RC4 を無効化し、ホワイトリストに載せた少数のサイトだけ RC4 を有効にしました。自分のサイトのテストにこれらの製品を使っている開発者は、サイトが RC4 を使用していると接続できないことに気付いたと思います。この結果かもしれませんが、Firefox における RC4 の使用率は次第に減少し、現在では TLS 通信の 0.08% にまで減りました。

RC4 をデフォルトで無効化

2016 年 1 月 26 日リリース予定の Firefox 44 からは、TLS フォールバックの RC4 もデフォルトで無効になります。これにより、RC4 を用いた Web サーバとのネゴシエーションFirefox は拒否することになります。Web サイトの管理者が修正期間を確保できるように、この変更をいま発表しています。

上で書いたように、FirefoxTLS 通信で RC4 が占める割合は、2014年末に約 27% だったものが、現在では .08% にまで下がりました。したがって、現時点で RC4 のみ提供しており、かつ 1 月までに修正できない少数の Web サイトのみが影響を受けるため、今回の変更による影響は最小限であると Mozilla は考えています。

Web サイトの管理者が安全な設定を適用できるように、MozillaTLS 設定のガイドライン集TLS configuration generator を提供しています。Web サイトの管理者には RC4 の利用を完全に廃止することが推奨されますが、Internet Explorer 6 のような古いクライアントとの互換性を維持する場合には、RC4 を提供し続けたいかもしれません。AES を含む現代の暗号スイートも多くが有効であるならば、FirefoxRC4 の代わりにより安全な選択肢を選びます。

1 月リリースより前に RC4 へのフォールバックを無効にしたいユーザは、about:config 内の security.tls.unrestricted_rc4_fallback という設定項目を false にすることで変更できます。Firefox 44 以降はこの設定項目がデフォルトで false になりますが、その後 RC4 が必要になった場合は、設定項目を true に戻すことで再び有効にできます。