付録 A. RFC 7525 との差異
この付録は、2015 年 5 月に出版された [RFC7525] と [RFC7525] を廃止する本書との間の大きな違いをまとめたものです。
最も重要な違いは、本書が TLS 1.3 [RFC8446] の使用を主な推奨事項として奨励していることですが、同時に TLS 1.2 [RFC5246] の使用も引き続き許可しています。対照的に、[RFC7525] での主な推奨事項は TLS 1.2 に従うことであり、TLS 1.2 は当時 IETF が定義した最新バージョンでした。
要約すると、TLS 1.2 に関する変更点は以下のとおりです。
- 機会主義的セキュリティ: セクション 5.2 から、機会主義的セキュリティの推奨事項 [RFC7435] への参照が削除されました。
- TLS 1.0 および 1.1 のサポート: これらをサポートしてはならない (MUST NOT) ようになりました。以前は、サポートすべきではない (SHOULD NOT) でした。これにより、ダウングレード保護 SCSV メカニズム [RFC7507] が不要になりました。
- フォールバック: 以前の TLS バージョンへのフォールバックを禁止しました。
- ストリクト TLS: HSTS [RFC6797] のサポートが必須 (MUST) になりました。以前は推奨 (SHOULD) でした。
- セッション再開: チケット暗号化鍵の定期的なローテーションが必須 (MUST) になりました。以前は推奨 (SHOULD) でした。
- 再ネゴシエーション:
renegotiation_info拡張 [RFC5746] のサポートと使用が必須 (MUST) になりました。以前は強く推奨されていました。 - 拡張マスターシークレット:
extended_master_secret拡張 [RFC7627] のサポートが必須 (MUST) になりました。以前は推奨 (RECOMMENDED) でした。 - SNI: Server Name Indication (SNI) [RFC6066] のサポートが必須 (MUST) になりました。以前は推奨 (RECOMMENDED) でした。
- ALPN: Application-Layer Protocol Negotiation (ALPN) [RFC7301] のサポートが必須 (MUST) になりました。
- 圧縮: TLS レベルの圧縮を無効にすべき (SHOULD) となりました。
- RC4: RC4 暗号スイートをネゴシエートしてはならない (MUST NOT) ようになりました。以前は使用すべきではなかった (SHOULD NOT) です。
- 静的鍵: 静的 RSA および静的 DH 暗号スイートはネゴシエートすべきではなくなりました (SHOULD NOT)。
- 前方秘匿性: 前方秘匿性を提供する暗号スイートのサポートと優先が必須 (MUST) になりました。以前は推奨 (RECOMMENDED) でした。
- 3DES: 3DES は推奨されなくなりました。
- 暗号スイートの強度: 112 ビット未満のセキュリティを提供する暗号スイートをネゴシエートしてはならない (MUST NOT) ようになりました。
- CCM モード: AES-CCM ベースの暗号スイートが推奨されるようになりました (RECOMMENDED)。
- RSA 鍵長: 少なくとも 2048 ビットの RSA 鍵の使用が必須 (MUST) になりました。以前は推奨 (RECOMMENDED) でした。
- ECDH 曲線: 少なくとも 224 ビットの曲線を使用することが必須 (MUST) になりました。
- SHA-256: 署名には SHA-256 の使用が推奨されるようになりました (RECOMMENDED)。
- トランケート HMAC: トランケート HMAC 拡張の使用を禁止しました (MUST NOT)。
- ホスト名検証: ホスト名検証が必須 (MUST) になりました。
- タイミング攻撃対策: タイミング攻撃を防ぐために、エラー処理にかかる時間を一定にすることが推奨されています。
- 0-RTT: 0-RTT データに関する推奨事項が追加されました。
これらの変更に加え、文書全体を通して、最新の暗号解読手法や攻撃手法(ALPACA、RACCOON、Logjam など)への言及が追加され、それらに基づく推奨事項が更新されています。