| RFC 10015 | (D)TLSにおける旧式の鍵交換の非推奨化 | 2026年7月 |
| Aviram | 標準化過程 | [ページ] |
(D)TLS 1.2について、本書では、有限体上の Diffie-Hellman(DH)およびRSAという2つの鍵交換方式の使用を非推奨とする。また、静的Elliptic Curve Diffie-Hellman(ECDH) 暗号スイートの使用も推奨しない。¶
これらの規定は(D)TLS 1.2にのみ適用される。これは、(D)TLS 1.0およびTLS 1.1が RFC 8996によって非推奨とされており、(D)TLS 1.3では、影響を受ける アルゴリズムが使用されないか、関連する構成オプションが共有されないためである。 (DTLSバージョン1.1は存在しない。)¶
本書は、RFC 4162、4279、4346、4785、5246、5288、5289、5469、 5487、5932、6209、6347、6367、6655、7905、8422、および9325を更新し、(D)TLS 1.2接続において、上記の鍵交換 方式を使用する暗号スイートの使用を非推奨とするか、 推奨しないものとする。¶
本書は、インターネット標準化過程の文書である。¶
本書は、Internet Engineering Task Force (IETF)による成果物である。本書はIETFコミュニティの合意を 表す。公開レビューを受け、 Internet Engineering Steering Group (IESG)によって公開を承認されている。 インターネット標準の詳細については、 RFC 7841のセクション2を参照されたい。¶
本書の現在の状態、正誤情報、および フィードバックの提供方法に関する情報は、 https://www.rfc-editor.org/info/rfc10015から入手できる。¶
Copyright (c) 2026 IETF Trustおよび文書の 著者として特定された者。無断転載を禁ずる。¶
本書には、BCP 78、および本書の 公開日に有効なIETF文書に関するIETF Trustの法的規定 (https://trustee.ietf.org/license-info) が適用される。これらの文書には、 本書に関する権利および制限が記載されているため、 注意深く確認されたい。本書から抽出されたコードコンポーネントには、 Trustの法的規定のセクション4.eに記載されている Revised BSD Licenseの文面を含めなければならず、Revised BSD Licenseに記載されているとおり、 無保証で提供される。¶
(D)TLS 1.2は、RSA、有限体上のDiffie-Hellman (DH)、 およびElliptic Curve Diffie-Hellman (ECDH)を含む、さまざまな鍵交換アルゴリズムをサポートする。¶
任意の群上のDH鍵交換には、一時的な方式と非一時的な 方式がある。非一時的DHアルゴリズムは、 認証するピアの証明書に含まれる静的DH公開鍵を使用する。詳細については[RFC4492]を参照されたい。これに 対し、一時的DHアルゴリズムは、ハンドシェイクで送信され、 ピアの証明書によって認証される一時的DH公開鍵を使用する。一時的および非一時的な有限体DH アルゴリズムは、それぞれDHEおよびDH(またはFFDHEおよびFFDH)と呼ばれ、 一時的および非一時的な楕円曲線DHアルゴリズムは、 それぞれECDHEおよびECDHと呼ばれる[RFC4492]。¶
一般に、非一時的暗号スイートは前方秘匿性を 欠くため推奨されない。さらに、有限体DHに対するRaccoon攻撃[RACCOON]が示すように、公開鍵の再利用( 非一時的暗号スイートによるもの、または 一時的暗号スイートで鍵を再利用するもの)は、接続の 秘密を漏洩する可能性があるタイミングサイドチャネルにつながり得る。ECDHについても、無効曲線攻撃は同様に秘密の 再利用を悪用してセキュリティを破る[ICA]ため、 公開鍵を再利用するリスクがさらに示されている。どちらのサイドチャネルも実装によって回避できるものの、 経験上、必要な緩和策の 複雑さと数の多さにより、実際の実装ではこのような攻撃を阻止できない場合がある。¶
また、RSA鍵交換には、実装上の選択とは無関係な セキュリティ上の問題に加え、セキュリティ対策を正しく 実装することの難しさのみに起因する問題がある。¶
概略として、(D)TLS 1.2のFFDHEに影響する問題は次のとおりである。¶
FFDHEには、群をネゴシエートする仕組みがなく、 一部の実装は小さな群サイズしかサポートしていないため、 相互運用性の問題がある([RFC7919]のセクション 1を参照)。¶
FFDHE群には小さな部分群が存在する場合があり、それによって複数の攻撃が可能になる [SUBGROUPS]。カスタムの標準化されていない FFDHE群が提示された場合、ハンドシェイク中のクライアントは、サーバーが選択した 群にこの問題がないことを現実的には検証できない。また、このようなハンドシェイクが、 クライアントにとって受け入れ可能な別の鍵交換パラメーターにフォールバックする仕組みもない。 カスタムFFDHE群は広く普及している([WEAK-DH]に基づく助言の結果である)。 したがって、クライアントは、カスタムであり、そのため潜在的に 危険な群を提示するハンドシェイクを単純に拒否することはできない。¶
実際には、一部の運用者は1024ビットFFDHE群を使用している。これは、 広範なサポートを確保できる最大サイズであるためである([RFC7919]のセクション1を参照)。 このサイズでは、現在の離散対数計算記録である 795ビット[DLOG795]に対して、わずかなセキュリティ余裕しか残らない。¶
前項をさらに敷衍すると、ごく少数の非常に大規模な計算によって、 攻撃者は比較的大きな割合のFFDHEトラフィック (具体的には、特定の標準化された群を使用して暗号化されたトラフィック)を低コストで復号できる[WEAK-DH]。¶
秘密が完全に一時的でない場合、FFDHEはRaccoon サイドチャネル攻撃[RACCOON]の影響を受ける。(定数時間の緩和策が 採用されていない限り、FFDHは本質的にRaccoon攻撃に対して脆弱であることに注意されたい。)¶
(D)TLS 1.2のRSA鍵交換に影響する問題は次のとおりである。¶
RSA鍵交換は、その構造上、前方秘匿性を提供しない。¶
RSA鍵交換はBleichenbacher攻撃[BLEI]に対して脆弱である可能性がある。 経験上、関連する対策を正しく 実装することが難しいため、この攻撃の亜種は数年ごとに出現している( [ROBOT]、[NEW-BLEI]、および[DROWN]を参照)。¶
上記に加え、(D)TLS 1.2には鍵のドメイン分離を行う便利な仕組みがない。 したがって、Bleichenbacher攻撃に対して脆弱な単一のエンドポイントが、 同じRSA鍵を共有するすべてのエンドポイントに影響を及ぼす( [XPROT]および[DROWN]を参照)。¶
本書は、 [RFC4162]、[RFC4279]、[RFC4346]、[RFC4785]、[RFC5246]、[RFC5288]、[RFC5289]、[RFC5469]、[RFC5487]、[RFC5932]、[RFC6209]、[RFC6347]、[RFC6367]、[RFC6655]、[RFC7905]、[RFC8422]、および[RFC9325]を更新し、セクション5.2、5.3、5.4、および5.5に記載されているとおり、影響を受ける暗号スイートの使用を非推奨または非推奨相当とすることで、上記の問題を是正する。¶
BCP 195 [RFC8996] [RFC9325]には、(D)TLSプロトコル(特に(D)TLS 1.2)の 利用者に対する最新のIETF勧告が含まれており、本書は [RFC9325]の複数の箇所を更新する。セクション6に正確な相違点を示す。 BCP文書にあるその他のすべての勧告は引き続き有効である。¶
クライアントは(D)TLS 1.2接続で非一時的FFDH暗号スイートを提供してはならず、サーバーはそれを選択してはならない 。 ((D)TLS 1.0およびTLS 1.1は[RFC8996]によって非推奨とされており、(D)TLS 1.3は FFDHをサポートしない[RFC9846] [RFC9147]ことに注意されたい。)これには、セクション5.1の 表1に記載されているすべての暗号スイートが含まれる。¶
クライアントは(D)TLS 1.2接続で非一時的ECDH暗号スイートを提供すべきではなく、サーバーはそれを選択すべきではない。 (この要件はすでに[RFC9325]に存在する。 (D)TLS 1.0およびTLS 1.1は[RFC8996]によって非推奨とされており、 (D)TLS 1.3はECDHをサポートしない[RFC9846] [RFC9147]ことに注意されたい。)これには、セクション5.2の表2に記載されているすべての暗号スイートが含まれる。¶
さらに、非一時的DHの使用を避けるため、クライアントは固定DH パラメーターを持つ証明書を使用すべきではなく、サーバーはそれを受け入れるべきではない。 これらの証明書タイプは、セクション5.5に記載されているrsa_fixed_dh、dss_fixed_dh、rsa_fixed_ecdh、およびecdsa_fixed_ecdh である。これらの値は、1.2以前の (D)TLSバージョンにのみ適用される。¶
クライアントは(D)TLS 1.2接続でFFDHE暗号スイートを提供してはならず、サーバーはそれを選択してはならない 。 これには、セクション5.3の表 3に記載されているすべての暗号スイートが含まれる。 ((D)TLS 1.0およびTLS 1.1は[RFC8996]によって非推奨とされていることに注意されたい。)(D)TLS 1.3のFFDHE暗号スイートは、 セクション1で示した問題の影響を受けない。[RFC9846]および[RFC9147]を参照されたい。したがって、クライアントおよびサーバーは(D)TLS 1.3接続でFFDHE暗号スイートを提供してよい。¶
クライアントは(D)TLS 1.2接続でRSA暗号スイートを提供してはならず、サーバーはそれを選択してはならない 。 ((D)TLS 1.0およびTLS 1.1は[RFC8996]によって非推奨とされており、(D)TLS 1.3は静的RSAをサポートしない[RFC9846] [RFC9147]ことに注意されたい。)これには、セクション5.4の表4に 記載されているすべての暗号スイートが含まれる。これらの暗号スイートは、以前、 「TLS Cipher Suites」レジストリ[TLS-REGISTRY]で非推奨とされていたことに注意されたい。¶
以下の各サブセクションでは、「TLS Cipher Suites」および「TLS ClientCertificateType Identifiers」レジストリ[TLS-REGISTRY]の「Recommended」列での「D」の使用について言及する。「D」の使用に関する情報については、[RFC9847]を参照されたい。¶
IANAは、「TLS Cipher Suites」レジストリ[TLS-REGISTRY]の以下のエントリーについて、「Recommended」列を「D」に設定し、本書を 参照として追加した。¶
| 暗号スイート | 参照 |
|---|---|
| TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA | [RFC4346] |
| TLS_DH_DSS_WITH_DES_CBC_SHA | [RFC8996] |
| TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA | [RFC5246] |
| TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA | [RFC4346] |
| TLS_DH_RSA_WITH_DES_CBC_SHA | [RFC8996] |
| TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA | [RFC5246] |
| TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 | [RFC4346] [RFC6347] |
| TLS_DH_anon_WITH_RC4_128_MD5 | [RFC5246] [RFC6347] |
| TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA | [RFC4346] |
| TLS_DH_anon_WITH_DES_CBC_SHA | [RFC8996] |
| TLS_DH_anon_WITH_3DES_EDE_CBC_SHA | [RFC5246] |
| TLS_DH_DSS_WITH_AES_128_CBC_SHA | [RFC5246] |
| TLS_DH_RSA_WITH_AES_128_CBC_SHA | [RFC5246] |
| TLS_DH_anon_WITH_AES_128_CBC_SHA | [RFC5246] |
| TLS_DH_DSS_WITH_AES_256_CBC_SHA | [RFC5246] |
| TLS_DH_RSA_WITH_AES_256_CBC_SHA | [RFC5246] |
| TLS_DH_anon_WITH_AES_256_CBC_SHA | [RFC5246] |
| TLS_DH_DSS_WITH_AES_128_CBC_SHA256 | [RFC5246] |
| TLS_DH_RSA_WITH_AES_128_CBC_SHA256 | [RFC5246] |
| TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA | [RFC5932] |
| TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA | [RFC5932] |
| TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA | [RFC5932] |
| TLS_DH_DSS_WITH_AES_256_CBC_SHA256 | [RFC5246] |
| TLS_DH_RSA_WITH_AES_256_CBC_SHA256 | [RFC5246] |
| TLS_DH_anon_WITH_AES_128_CBC_SHA256 | [RFC5246] |
| TLS_DH_anon_WITH_AES_256_CBC_SHA256 | [RFC5246] |
| TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA | [RFC5932] |
| TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA | [RFC5932] |
| TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA | [RFC5932] |
| TLS_DH_DSS_WITH_SEED_CBC_SHA | [RFC4162] |
| TLS_DH_RSA_WITH_SEED_CBC_SHA | [RFC4162] |
| TLS_DH_anon_WITH_SEED_CBC_SHA | [RFC4162] |
| TLS_DH_RSA_WITH_AES_128_GCM_SHA256 | [RFC5288] |
| TLS_DH_RSA_WITH_AES_256_GCM_SHA384 | [RFC5288] |
| TLS_DH_DSS_WITH_AES_128_GCM_SHA256 | [RFC5288] |
| TLS_DH_DSS_WITH_AES_256_GCM_SHA384 | [RFC5288] |
| TLS_DH_anon_WITH_AES_128_GCM_SHA256 | [RFC5288] |
| TLS_DH_anon_WITH_AES_256_GCM_SHA384 | [RFC5288] |
| TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 | [RFC5932] |
| TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 | [RFC5932] |
| TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 | [RFC5932] |
| TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 | [RFC5932] |
| TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 | [RFC5932] |
| TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 | [RFC5932] |
| TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256 | [RFC6209] |
| TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384 | [RFC6209] |
| TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256 | [RFC6209] |
| TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384 | [RFC6209] |
| TLS_DH_anon_WITH_ARIA_128_CBC_SHA256 | [RFC6209] |
| TLS_DH_anon_WITH_ARIA_256_CBC_SHA384 | [RFC6209] |
| TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256 | [RFC6209] |
| TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384 | [RFC6209] |
| TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256 | [RFC6209] |
| TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384 | [RFC6209] |
| TLS_DH_anon_WITH_ARIA_128_GCM_SHA256 | [RFC6209] |
| TLS_DH_anon_WITH_ARIA_256_GCM_SHA384 | [RFC6209] |
| TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256 | [RFC6367] |
| TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384 | [RFC6367] |
| TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256 | [RFC6367] |
| TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384 | [RFC6367] |
| TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256 | [RFC6367] |
| TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384 | [RFC6367] |
[RFC9325]では、 実装は以下の暗号スイートをネゴシエートすべきではないと規定している。 したがって、これらはIANAの「TLS Cipher Suites」 レジストリ[TLS-REGISTRY]の「Recommended」列で「N」として表示されていた。本書に従い、 IANAは、[RFC9847]と整合させるため、これらの「Recommended」列を「D」に更新し(各エントリーの 参照として本書も追加した)。本書はまた、これらの 暗号スイートの使用を推奨しない根拠を記録し、関連するリスクを示す以前の分析および攻撃を引用する (セクション8を参照)。¶
| 暗号スイート | 参照 |
|---|---|
| TLS_ECDH_ECDSA_WITH_NULL_SHA | [RFC8422] |
| TLS_ECDH_ECDSA_WITH_RC4_128_SHA | [RFC8422] [RFC6347] |
| TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA | [RFC8422] |
| TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA | [RFC8422] |
| TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA | [RFC8422] |
| TLS_ECDH_RSA_WITH_NULL_SHA | [RFC8422] |
| TLS_ECDH_RSA_WITH_RC4_128_SHA | [RFC8422] [RFC6347] |
| TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA | [RFC8422] |
| TLS_ECDH_RSA_WITH_AES_128_CBC_SHA | [RFC8422] |
| TLS_ECDH_RSA_WITH_AES_256_CBC_SHA | [RFC8422] |
| TLS_ECDH_anon_WITH_NULL_SHA | [RFC8422] |
| TLS_ECDH_anon_WITH_RC4_128_SHA | [RFC8422] [RFC6347] |
| TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA | [RFC8422] |
| TLS_ECDH_anon_WITH_AES_128_CBC_SHA | [RFC8422] |
| TLS_ECDH_anon_WITH_AES_256_CBC_SHA | [RFC8422] |
| TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 | [RFC5289] |
| TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 | [RFC5289] |
| TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 | [RFC5289] |
| TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 | [RFC5289] |
| TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 | [RFC5289] |
| TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 | [RFC5289] |
| TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 | [RFC5289] |
| TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 | [RFC5289] |
| TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 | [RFC6209] |
| TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 | [RFC6209] |
| TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 | [RFC6209] |
| TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 | [RFC6209] |
| TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 | [RFC6209] |
| TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 | [RFC6209] |
| TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 | [RFC6209] |
| TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 | [RFC6209] |
| TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 | [RFC6367] |
| TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 | [RFC6367] |
| TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 | [RFC6367] |
| TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 | [RFC6367] |
| TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 | [RFC6367] |
| TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 | [RFC6367] |
| TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 | [RFC6367] |
| TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 | [RFC6367] |
IANAは、「TLS Cipher Suites」レジストリ[TLS-REGISTRY]の以下のエントリーについて、「Recommended」列を「D」に設定し、本書を 参照として追加した。¶
| 暗号スイート | 参照 |
|---|---|
| TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA | [RFC4346] |
| TLS_DHE_DSS_WITH_DES_CBC_SHA | [RFC8996] |
| TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA | [RFC5246] |
| TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA | [RFC4346] |
| TLS_DHE_RSA_WITH_DES_CBC_SHA | [RFC8996] |
| TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA | [RFC5246] |
| TLS_DHE_PSK_WITH_NULL_SHA | [RFC4785] |
| TLS_DHE_DSS_WITH_AES_128_CBC_SHA | [RFC5246] |
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA | [RFC5246] |
| TLS_DHE_DSS_WITH_AES_256_CBC_SHA | [RFC5246] |
| TLS_DHE_RSA_WITH_AES_256_CBC_SHA | [RFC5246] |
| TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 | [RFC5246] |
| TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA | [RFC5932] |
| TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA | [RFC5932] |
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 | [RFC5246] |
| TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 | [RFC5246] |
| TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 | [RFC5246] |
| TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA | [RFC5932] |
| TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA | [RFC5932] |
| TLS_DHE_PSK_WITH_RC4_128_SHA | [RFC4279] [RFC6347] |
| TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA | [RFC4279] |
| TLS_DHE_PSK_WITH_AES_128_CBC_SHA | [RFC4279] |
| TLS_DHE_PSK_WITH_AES_256_CBC_SHA | [RFC4279] |
| TLS_DHE_DSS_WITH_SEED_CBC_SHA | [RFC4162] |
| TLS_DHE_RSA_WITH_SEED_CBC_SHA | [RFC4162] |
| TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 | [RFC5288] |
| TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 | [RFC5288] |
| TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 | [RFC5288] |
| TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 | [RFC5288] |
| TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 | [RFC5487] |
| TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 | [RFC5487] |
| TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 | [RFC5487] |
| TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 | [RFC5487] |
| TLS_DHE_PSK_WITH_NULL_SHA256 | [RFC5487] |
| TLS_DHE_PSK_WITH_NULL_SHA384 | [RFC5487] |
| TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 | [RFC5932] |
| TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 | [RFC5932] |
| TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 | [RFC5932] |
| TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 | [RFC5932] |
| TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256 | [RFC6209] |
| TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384 | [RFC6209] |
| TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 | [RFC6209] |
| TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 | [RFC6209] |
| TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 | [RFC6209] |
| TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 | [RFC6209] |
| TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256 | [RFC6209] |
| TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384 | [RFC6209] |
| TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256 | [RFC6209] |
| TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384 | [RFC6209] |
| TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 | [RFC6209] |
| TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 | [RFC6209] |
| TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 | [RFC6367] |
| TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 | [RFC6367] |
| TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256 | [RFC6367] |
| TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384 | [RFC6367] |
| TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 | [RFC6367] |
| TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 | [RFC6367] |
| TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 | [RFC6367] |
| TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 | [RFC6367] |
| TLS_DHE_RSA_WITH_AES_128_CCM | [RFC6655] |
| TLS_DHE_RSA_WITH_AES_256_CCM | [RFC6655] |
| TLS_DHE_RSA_WITH_AES_128_CCM_8 | [RFC6655] |
| TLS_DHE_RSA_WITH_AES_256_CCM_8 | [RFC6655] |
| TLS_DHE_PSK_WITH_AES_128_CCM | [RFC6655] |
| TLS_DHE_PSK_WITH_AES_256_CCM | [RFC6655] |
| TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 | [RFC7905] |
| TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 | [RFC7905] |
| TLS_PSK_DHE_WITH_AES_128_CCM_8 | [RFC6655] |
| TLS_PSK_DHE_WITH_AES_256_CCM_8 | [RFC6655] |
IANAは、「TLS Cipher Suites」レジストリ[TLS-REGISTRY]の以下のエントリーについて、「Recommended」列を「D」に設定し、本書を 参照として追加した。¶
| 暗号スイート | 参照 |
|---|---|
| TLS_RSA_WITH_NULL_MD5 | [RFC5246] |
| TLS_RSA_WITH_NULL_SHA | [RFC5246] |
| TLS_RSA_EXPORT_WITH_RC4_40_MD5 | [RFC4346] [RFC6347] |
| TLS_RSA_WITH_RC4_128_MD5 | [RFC5246] [RFC6347] |
| TLS_RSA_WITH_RC4_128_SHA | [RFC5246] [RFC6347] |
| TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 | [RFC4346] |
| TLS_RSA_WITH_IDEA_CBC_SHA | [RFC8996] |
| TLS_RSA_EXPORT_WITH_DES40_CBC_SHA | [RFC4346] |
| TLS_RSA_WITH_DES_CBC_SHA | [RFC8996] |
| TLS_RSA_WITH_3DES_EDE_CBC_SHA | [RFC5246] |
| TLS_RSA_PSK_WITH_NULL_SHA | [RFC4785] |
| TLS_RSA_WITH_AES_128_CBC_SHA | [RFC5246] |
| TLS_RSA_WITH_AES_256_CBC_SHA | [RFC5246] |
| TLS_RSA_WITH_NULL_SHA256 | [RFC5246] |
| TLS_RSA_WITH_AES_128_CBC_SHA256 | [RFC5246] |
| TLS_RSA_WITH_AES_256_CBC_SHA256 | [RFC5246] |
| TLS_RSA_WITH_CAMELLIA_128_CBC_SHA | [RFC5932] |
| TLS_RSA_WITH_CAMELLIA_256_CBC_SHA | [RFC5932] |
| TLS_RSA_PSK_WITH_RC4_128_SHA | [RFC4279] [RFC6347] |
| TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA | [RFC4279] |
| TLS_RSA_PSK_WITH_AES_128_CBC_SHA | [RFC4279] |
| TLS_RSA_PSK_WITH_AES_256_CBC_SHA | [RFC4279] |
| TLS_RSA_WITH_SEED_CBC_SHA | [RFC4162] |
| TLS_RSA_WITH_AES_128_GCM_SHA256 | [RFC5288] |
| TLS_RSA_WITH_AES_256_GCM_SHA384 | [RFC5288] |
| TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 | [RFC5487] |
| TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 | [RFC5487] |
| TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 | [RFC5487] |
| TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 | [RFC5487] |
| TLS_RSA_PSK_WITH_NULL_SHA256 | [RFC5487] |
| TLS_RSA_PSK_WITH_NULL_SHA384 | [RFC5487] |
| TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 | [RFC5932] |
| TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 | [RFC5932] |
| TLS_RSA_WITH_ARIA_128_CBC_SHA256 | [RFC6209] |
| TLS_RSA_WITH_ARIA_256_CBC_SHA384 | [RFC6209] |
| TLS_RSA_WITH_ARIA_128_GCM_SHA256 | [RFC6209] |
| TLS_RSA_WITH_ARIA_256_GCM_SHA384 | [RFC6209] |
| TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256 | [RFC6209] |
| TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384 | [RFC6209] |
| TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 | [RFC6209] |
| TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 | [RFC6209] |
| TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 | [RFC6367] |
| TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 | [RFC6367] |
| TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 | [RFC6367] |
| TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 | [RFC6367] |
| TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 | [RFC6367] |
| TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 | [RFC6367] |
| TLS_RSA_WITH_AES_128_CCM | [RFC6655] |
| TLS_RSA_WITH_AES_256_CCM | [RFC6655] |
| TLS_RSA_WITH_AES_128_CCM_8 | [RFC6655] |
| TLS_RSA_WITH_AES_256_CCM_8 | [RFC6655] |
| TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256 | [RFC7905] |
IANAは、「TLS ClientCertificateType Identifiers」レジストリ [TLS-REGISTRY]の以下のエントリーについて、「Recommended」列を「D」に設定し、本書を 参照として追加した。¶
| 証明書タイプ | 参照 |
|---|---|
| rsa_fixed_dh (3) | [RFC5246] [RFC9847] |
| dss_fixed_dh (4) | [RFC5246] [RFC9847] |
| rsa_fixed_ecdh (65) | [RFC8422] [RFC9847] |
| ecdsa_fixed_ecdh (66) | [RFC8422] [RFC9847] |
本書は、(D)TLS 1.2の使用に関して[RFC9325]を 更新し、表 6に 正確な変更点を示す。これらの変更はすべて、[RFC9325]のセクション4.1に対して行われる。¶
| RFC 9325 | RFC 10015 | |
|---|---|---|
| 非一時的FFDH | SHOULD NOT | MUST NOT |
| 非一時的ECDH | SHOULD NOT | 変更なし |
| 固定DH証明書タイプ | 未規定 | SHOULD NOT |
| 一時的FFDH | SHOULD NOT | MUST NOT |
| 静的RSA | SHOULD NOT | MUST NOT |
「TLS Cipher Suites」および「TLS ClientCertificateType Identifiers」レジストリは、いずれも 「Transport Layer Security (TLS) Parameters」レジストリグループ[TLS-REGISTRY]内に存在する。IANAは、セクション5.1、5.2、5.3、および5.4に示すとおり、「TLS Cipher Suites」レジストリ[TLS-REGISTRY]の エントリーを更新した。IANAはまた、セクション5.5に示すとおり、「TLS ClientCertificateType Identifiers」レジストリのエントリーも更新した。¶
セクション5.1、5.2、5.3、5.4、および5.5に記載された各エントリーについて、 IANAは「Recommended」列を「D」に設定し、エントリーの「Reference」列を本書を参照するよう更新した。 「Recommended」列での「D」の使用については、[RFC9847]を参照されたい。¶
非一時的有限体DH暗号スイート(TLS_DH_*)、および有限体DH暗号スイートでの一時鍵の再利用は、 Raccoon攻撃[RACCOON]のため禁止される。どちらも前方秘匿性を提供しないため、 すでに不適切な慣行と見なされている。しかし、 Raccoon攻撃により、TLSのpremaster secret処理におけるタイミングサイドチャネルが、 暗号化されたpremaster secretを明らかにするために悪用され得ることが判明した。¶
非一時的ECDH暗号スイート(TLS_ECDH_*)については、前方秘匿性を放棄すると、 鍵が侵害された場合に過去の通信を復号できるようになるだけでなく、 攻撃者が鍵の再利用を悪用して 暗号学的秘密を繰り返し照会する広範な種類の攻撃も可能になり得る。¶
この種類には、必ずしも以下に限定されないが、次の 例が含まれる。¶
無効曲線攻撃。攻撃者は鍵の再利用を悪用して繰り返し 照会し、最終的に鍵自体を取得する。このような攻撃が、 実際のTLS実装に対して実用可能であることが示されている[ICA]。¶
サイドチャネル攻撃。攻撃者は鍵の再利用と追加の サイドチャネルを悪用して暗号学的秘密を取得する。このような攻撃の例については、 [MAY4]を参照されたい。¶
故障攻撃。攻撃者は鍵の再利用と誤った 計算を悪用して暗号学的秘密を取得する。このような攻撃の例については、 [PARIS256]を参照されたい。¶
上記の例を含め、このような攻撃は実装に依存することが多い。 しかし、これらの例は、鍵を再利用しつつ この種類の攻撃を回避するシステムを構築することが実際には困難であることを示している。対照的に、 鍵の再利用を避けることは、鍵が侵害された場合の復号を防ぐだけでなく、 この種類の攻撃そのものを完全に排除する。したがって、本書は ECDH公開鍵の再利用を推奨しない。¶
(D)TLS 1.2の一時的有限体DH(TLS_DHE_*およびTLS_PSK_DHE_*)については、 前述のとおり、クライアントが、自身にとって受け入れ可能なセキュリティパラメーターのみを ネゴシエートすることを保証しながら、これらの暗号スイートをサポートする現実的な方法はない。(D)TLS 1.2では、サーバーがDH 群を選択し、カスタム群が広く使用されている。したがって、クライアントがハンドシェイクにこれらの暗号スイートを含め、 サーバーがカスタム群を提示した場合、クライアントはセキュリティを 確保しながらハンドシェイクを完了することができない。群の構造を検証することは、クライアントにとって法外に高コストである。 安全性が既知の群の許可リストを使用することも、サーバー運用者が 独自のカスタム群を生成するよう推奨されていたため現実的ではない。さらに、ハンドシェイクが、 クライアントとサーバーの両方にとって受け入れ可能な別の パラメーターへフォールバックする仕組みもない。¶
本書には、文章の大部分を執筆し、IETF TLS WGで複数回発表したCarrie Bartleによる多くの重要な貢献が含まれている。¶
本書は、TLS WGメーリングリストでの議論と、 Raccoon攻撃[RACCOON]の公開後にFilippo Valsordaから寄せられた 提案に着想を得た。 本書の最初の草案を作成したChristopher A. Woodに感謝する。 また、コメントおよび提案を寄せたThomas Fossati、Sean Turner、Joe Salowey、Yaron Sheffer、Christian Buchgraber、John Preuß Mattsson、およびManuel Pégourié-Gonnardにも感謝する。¶