3.1.1. SSL/TLS Protocol Versions (SSL/TLS プロトコルバージョン)
古い, 安全性の低い SSL/TLS バージョンの使用を停止し, 現代的で安全性の高いバージョンの使用を開始することの両方が重要です; したがって, TLS/SSL プロトコルバージョンに関する推奨事項は次のとおりです:
-
実装は SSL バージョン 2 をネゴシエートしてはなりません。
理由: 今日, SSLv2 は安全でないと考えられています [RFC6176]。
-
実装は SSL バージョン 3 をネゴシエートしてはなりません。
理由: SSLv3 [RFC6101] は SSLv2 の改良版であり, いくつかの重要なセキュリティホールを塞ぎましたが, 強力な暗号スイートをサポートしていませんでした。SSLv3 は TLS 拡張をサポートしておらず, その一部 (例:
renegotiation_info[RFC5746]) はセキュリティ上重要です。さらに, POODLE 攻撃 [POODLE] の出現により, SSLv3 は現在, 根本的に安全でないと広く認識されています。詳細については [DEP-SSLv3] を参照してください。 -
実装は TLS バージョン 1.0 [RFC2246] をネゴシエートすべきではありません; 唯一の例外は, ネゴシエーションでより高いバージョンが利用できない場合です。
理由: TLS 1.0 (1999 年公開) は, 多くの現代的で強力な暗号スイートをサポートしていません。さらに, TLS 1.0 は CBC ベースの暗号スイートのレコードごとの初期化ベクトル (IV) を欠いており, 一般的なパディングエラーに対して警告しません。
-
実装は TLS バージョン 1.1 [RFC4346] をネゴシエートすべきではありません; 唯一の例外は, ネゴシエーションでより高いバージョンが利用できない場合です。
理由: TLS 1.1 (2006 年公開) は TLS 1.0 に対するセキュリティの改善ですが, 特定のより強力な暗号スイートをまだサポートしていません。
-
実装は TLS 1.2 [RFC5246] をサポートしなければならず, 以前のバージョンの TLS よりも TLS バージョン 1.2 のネゴシエーションを優先しなければなりません。
理由: いくつかのより強力な暗号スイートは TLS 1.2 (2008 年公開) でのみ利用可能です。実際, この文書が推奨する暗号スイート (以下のセクション 4.2) は TLS 1.2 でのみ利用可能です。
この BCP は TLS 1.2 および以前のバージョンに適用されます。読者がこの BCP の推奨事項が TLS の将来のバージョンに適用されると想定するのは安全ではありません。