メインコンテンツまでスキップ

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 の将来のバージョンに適用されると想定するのは安全ではありません。