RFC 10015 (D)TLS에서 사용되지 않는 키 교환 폐기 2026년 7월
Aviram 표준 트랙 [페이지]
스트림:
인터넷 엔지니어링 태스크 포스(IETF)
RFC:
10015
업데이트:
4162, 4279, 4346, 4785, 5246, 5288, 5289, 5469, 5487, 5932, 6209, 6347, 6367, 6655, 7905, 8422, 9325
범주:
표준 트랙
발행:
ISSN:
2070-1721
저자:
N. Aviram

RFC 10015

TLS 1.2 및 DTLS 1.2에서 사용되지 않는 키 교환 방식 폐기

초록

(D)TLS 1.2에 대해 이 문서는 두 가지 키 교환 방식, 즉 유한체상의 Diffie-Hellman(DH)과 RSA의 사용을 폐기한다. 또한 정적 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 연결에서 위의 키 교환 방식을 사용하는 암호 스위트의 사용을 폐기하거나 권장하지 않도록 한다.

이 문서의 상태

이 문서는 인터넷 표준 트랙 문서이다.

이 문서는 인터넷 엔지니어링 태스크 포스 (IETF)의 산출물이다. 이 문서는 IETF 커뮤니티의 합의를 나타낸다. 공개 검토를 거쳤으며 인터넷 엔지니어링 운영 그룹 (IESG)의 발행 승인을 받았다. 인터넷 표준에 관한 추가 정보는 RFC 7841의 섹션 2에서 확인할 수 있다.

이 문서의 현재 상태, 정오표 및 피드백 제공 방법에 관한 정보는 https://www.rfc-editor.org/info/rfc10015에서 확인할 수 있다.

목차

1. 소개

(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에 영향을 미치는 문제는 다음과 같다.

  1. FFDHE에는 그룹을 협상하는 메커니즘이 없고 일부 구현은 작은 그룹 크기만 지원하기 때문에 상호 운용성 문제가 있다 ([RFC7919], 섹션 1 참조).

  2. FFDHE 그룹에는 작은 부분군이 있을 수 있으며, 이는 여러 공격을 가능하게 한다 [SUBGROUPS]. 사용자 정의 비표준 FFDHE 그룹이 제시되면 핸드셰이크 중인 클라이언트는 서버가 선택한 그룹에 이 문제가 없는지 실질적으로 검증할 수 없다. 또한 이러한 핸드셰이크가 클라이언트가 수용할 수 있는 다른 키 교환 매개변수로 대체되는 메커니즘도 없다. 사용자 정의 FFDHE 그룹은 널리 사용된다([WEAK-DH]에 기반한 조언의 결과이다). 따라서 클라이언트는 사용자 정의이므로 잠재적으로 위험한 그룹을 제시하는 핸드셰이크를 단순히 거부할 수 없다.

  3. 실제로 일부 운영자는 폭넓은 지원을 보장할 수 있는 최대 크기이므로 1024비트 FFDHE 그룹을 사용한다 ([RFC7919], 섹션 1 참조). 이 크기는 현재 795비트인 이산 로그 기록에 비해 보안 여유가 작다 [DLOG795].

  4. 앞의 내용을 더 설명하면, 극소수의 매우 큰 계산만으로도 공격자는 비교적 많은 비율의 FFDHE 트래픽 (즉, 특정 표준화된 그룹을 사용해 암호화된 트래픽)을 저렴하게 복호화할 수 있다 [WEAK-DH].

  5. 비밀이 완전히 일회성이 아니면 FFDHE는 Raccoon 부채널 공격에 취약하다 [RACCOON]. (상수 시간 완화 조치를 사용하지 않는 한 FFDH는 본질적으로 Raccoon 공격에 취약하다는 점에 유의한다.)

(D)TLS 1.2의 RSA 키 교환에 영향을 미치는 문제는 다음과 같다.

  1. RSA 키 교환은 구조적으로 순방향 비밀성을 제공하지 않는다.

  2. RSA 키 교환은 Bleichenbacher 공격에 취약할 수 있다 [BLEI]. 관련 대책을 올바르게 구현하기 어렵기 때문에 이 공격의 변종이 몇 년마다 발생한다는 사실이 경험으로 확인되었다 ([ROBOT], [NEW-BLEI][DROWN] 참조).

  3. 위의 문제에 더해, (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.45.5에 나열된 것처럼 영향을 받는 암호 스위트의 사용을 폐기하거나 권장하지 않음으로써 위의 문제를 해결한다.

BCP 195 [RFC8996] [RFC9325]에는 (D)TLS 프로토콜 (특히 (D)TLS 1.2) 사용자를 위한 최신 IETF 권장사항이 포함되어 있으며, 이 문서는 여러 지점에서 [RFC9325]를 업데이트한다. 섹션 6에서는 정확한 차이점을 설명한다. BCP 문서의 다른 모든 권장사항은 여전히 유효하다.

1.1. 요구사항 언어

이 문서에서 핵심 단어 "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY" 및 "OPTIONAL"은 여기에 표시된 것처럼 모두 대문자로 나타나는 경우에만 BCP 14 [RFC2119] [RFC8174]에 설명된 대로 해석해야 한다.

2. 비일회성 Diffie-Hellman

클라이언트는 (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 버전에만 적용된다.

3. 일회성 유한체 Diffie-Hellman

클라이언트는 (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 암호 스위트를 제공해도 된다.

4. RSA

클라이언트는 (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].

5. 암호 스위트 및 TLS ClientCertificateType 식별자 업데이트

다음 하위 섹션에서는 "TLS Cipher Suites" 및 "TLS ClientCertificateType Identifiers" 레지스트리 [TLS-REGISTRY]의 "Recommended" 열에서 "D"를 사용하는 것을 언급한다. "D"의 사용에 관한 정보는 [RFC9847]을 참조한다.

5.1. 이 문서에서 폐기하는 DH 암호 스위트

IANA는 "Recommended" 열을 "D"로 설정하고 다음 "TLS Cipher Suites" 레지스트리 항목에 대한 참조로 이 문서를 추가했다 [TLS-REGISTRY]:

표 1
암호 스위트 참조
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]

5.2. 이 문서에서 사용을 권장하지 않는 ECDH 암호 스위트

[RFC9325]는 구현이 다음 암호 스위트를 협상하지 않아야 한다고 규정하며, 이에 따라 이들은 IANA "TLS Cipher Suites" 레지스트리 [TLS-REGISTRY]의 "Recommended" 열에 "N"으로 표시되었다. 이 문서에 따라 IANA는 [RFC9847]에 맞추어 "Recommended" 열이 "D"가 되도록 업데이트하고 (각 항목의 참조로 이 문서를 추가했다). 이 문서는 또한 이러한 암호 스위트의 사용을 권장하지 않는 근거를 기록하고, 관련 위험을 입증하는 이전 분석과 공격을 인용한다 (섹션 8 참조).

표 2
암호 스위트 참조
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]

5.3. 이 문서에서 폐기하는 DHE 암호 스위트

IANA는 "Recommended" 열을 "D"로 설정하고 다음 "TLS Cipher Suites" 레지스트리 항목에 대한 참조로 이 문서를 추가했다 [TLS-REGISTRY]:

표 3
암호 스위트 참조
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]

5.4. 이 문서에서 폐기하는 RSA 암호 스위트

IANA는 "Recommended" 열을 "D"로 설정하고 다음 "TLS Cipher Suites" 레지스트리 항목에 대한 참조로 이 문서를 추가했다 [TLS-REGISTRY]:

표 4
암호 스위트 참조
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]

5.5. 이 문서에서 폐기하는 TLS ClientCertificateType 식별자

IANA는 "Recommended" 열을 "D"로 설정하고 다음 "TLS ClientCertificateType Identifiers" 레지스트리 항목에 대한 참조로 이 문서를 추가했다 [TLS-REGISTRY]:

표 5
인증서 유형 참조
rsa_fixed_dh (3) [RFC5246] [RFC9847]
dss_fixed_dh (4) [RFC5246] [RFC9847]
rsa_fixed_ecdh (65) [RFC8422] [RFC9847]
ecdsa_fixed_ecdh (66) [RFC8422] [RFC9847]

6. RFC 9325 업데이트

이 문서는 (D)TLS 1.2의 사용과 관련하여 [RFC9325]를 업데이트하며, 표 6에 정확한 변경 사항이 나열되어 있다. 이러한 모든 변경 사항은 [RFC9325]의 섹션 4.1에 적용된다.

표 6
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

7. IANA 고려사항

"TLS Cipher Suites" 및 "TLS ClientCertificateType Identifiers" 레지스트리는 모두 "Transport Layer Security (TLS) Parameters" 레지스트리 그룹 [TLS-REGISTRY]에 속한다. IANA는 섹션 5.1, 5.2, 5.35.4에 표시된 대로 "TLS Cipher Suites" 레지스트리 [TLS-REGISTRY]의 항목을 업데이트했다. IANA는 또한 섹션 5.5에 표시된 대로 "TLS ClientCertificateType Identifiers" 레지스트리의 항목을 업데이트했다.

섹션 5.1, 5.2, 5.3, 5.45.5에 나열된 각 항목에 대해 IANA는 "Recommended" 열을 "D"로 설정하고 항목의 Reference 열이 이 문서를 참조하도록 업데이트했다. "Recommended" 열에서 "D"를 사용하는 방법에 관한 정보는 [RFC9847]을 참조한다.

8. 보안 고려사항

비일회성 유한체 DH 암호 스위트(TLS_DH_*)와 유한체 DH 암호 스위트에서의 일회성 키 재사용은 Raccoon 공격 [RACCOON] 때문에 금지된다. 둘 다 순방향 비밀성을 제공하지 않으므로 이미 나쁜 관행으로 간주된다. 그러나 Raccoon 공격은 TLS 프리마스터 비밀을 처리할 때의 타이밍 부채널을 악용하여 암호화된 프리마스터 비밀을 알아낼 수 있음을 보여 주었다.

비일회성 ECDH 암호 스위트(TLS_ECDH_*)의 경우, 순방향 비밀성을 포기하면 키가 손상되었을 때 과거 트래픽을 복호화할 수 있을 뿐 아니라 공격자가 키 재사용을 악용하여 암호학적 비밀을 반복해서 질의하는 광범위한 종류의 공격도 가능해질 수 있다.

이 범주에는 다음 예가 포함되지만 반드시 이에 한정되지는 않는다.

  1. 공격자가 키 재사용을 악용하여 반복적으로 질의하고 결국 키 자체를 알아내는 잘못된 곡선 공격. 이러한 공격은 실제 TLS 구현에서 실용적임이 입증되었다 [ICA].

  2. 공격자가 키 재사용과 추가 부채널을 악용하여 암호학적 비밀을 알아내는 부채널 공격. 이러한 공격의 예는 [MAY4]를 참조한다.

  3. 공격자가 키 재사용과 잘못된 계산을 악용하여 암호학적 비밀을 알아내는 결함 공격. 이러한 공격의 예는 [PARIS256]을 참조한다.

위의 예를 포함하여 이러한 공격은 구현에 따라 달라지는 경우가 많다. 그러나 이러한 예는 키를 재사용하면서 이 범주의 공격을 피하는 시스템을 구축하기가 실제로 어렵다는 점을 보여 준다. 반대로 키 재사용을 피하면 키가 손상되었을 때의 복호화를 막을 뿐 아니라 이 범주의 공격 자체도 완전히 차단한다. 따라서 이 문서는 ECDH 공개 키의 재사용을 권장하지 않는다.

(D)TLS 1.2의 일회성 유한체 DH(TLS_DHE_* 및 TLS_PSK_DHE_*)의 경우, 앞에서 설명한 것처럼 클라이언트가 자신이 수용할 수 있는 보안 매개변수만 협상하도록 보장하면서 이러한 암호 스위트를 지원할 현실적인 방법이 없다. (D)TLS 1.2에서는 서버가 DH 그룹을 선택하며 사용자 정의 그룹이 널리 사용된다. 따라서 클라이언트가 이러한 암호 스위트를 핸드셰이크에 포함하고 서버가 사용자 정의 그룹을 제시하면, 클라이언트는 보안을 보장하면서 핸드셰이크를 완료할 수 없다. 그룹 구조를 검증하는 작업은 클라이언트에 지나치게 많은 비용이 든다. 서버 운영자에게 자체 사용자 정의 그룹을 생성하도록 권장했기 때문에 안전한 것으로 알려진 그룹의 허용 목록을 사용하는 것도 비현실적이다. 또한 핸드셰이크가 클라이언트와 서버 모두가 수용할 수 있는 다른 매개변수로 대체되는 메커니즘도 없다.

9. 참고문헌

9.1. 규범적 참고문헌

[RFC2119]
Bradner, S., "요구사항 수준을 나타내기 위해 RFC에서 사용하는 핵심 단어", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC4162]
Lee, H.J., Yoon, J.H.J.I. Lee, "전송 계층 보안(TLS)에 SEED 암호 스위트 추가", RFC 4162, DOI 10.17487/RFC4162, , <https://www.rfc-editor.org/info/rfc4162>.
[RFC4279]
Eronen, P., 편집자H. Tschofenig, 편집자, "전송 계층 보안(TLS)을 위한 사전 공유 키 암호 스위트", RFC 4279, DOI 10.17487/RFC4279, , <https://www.rfc-editor.org/info/rfc4279>.
[RFC4346]
Dierks, T.E. Rescorla, "전송 계층 보안(TLS) 프로토콜 버전 1.1", RFC 4346, DOI 10.17487/RFC4346, , <https://www.rfc-editor.org/info/rfc4346>.
[RFC4785]
Blumenthal, U.P. Goel, "전송 계층 보안(TLS)을 위한 NULL 암호화를 사용하는 사전 공유 키(PSK) 암호 스위트", RFC 4785, DOI 10.17487/RFC4785, , <https://www.rfc-editor.org/info/rfc4785>.
[RFC5246]
Dierks, T.E. Rescorla, "전송 계층 보안(TLS) 프로토콜 버전 1.2", RFC 5246, DOI 10.17487/RFC5246, , <https://www.rfc-editor.org/info/rfc5246>.
[RFC5288]
Salowey, J., Choudhury, A.D. McGrew, "TLS를 위한 AES Galois Counter Mode(GCM) 암호 스위트", RFC 5288, DOI 10.17487/RFC5288, , <https://www.rfc-editor.org/info/rfc5288>.
[RFC5289]
Rescorla, E., "SHA-256/384 및 AES Galois Counter Mode(GCM)를 사용하는 TLS 타원 곡선 암호 스위트", RFC 5289, DOI 10.17487/RFC5289, , <https://www.rfc-editor.org/info/rfc5289>.
[RFC5469]
Eronen, P., 편집자, "전송 계층 보안(TLS)을 위한 DES 및 IDEA 암호 스위트", RFC 5469, DOI 10.17487/RFC5469, , <https://www.rfc-editor.org/info/rfc5469>.
[RFC5487]
Badra, M., "SHA-256/384 및 AES Galois Counter Mode를 사용하는 TLS용 사전 공유 키 암호 스위트", RFC 5487, DOI 10.17487/RFC5487, , <https://www.rfc-editor.org/info/rfc5487>.
[RFC5932]
Kato, A., Kanda, M.S. Kanno, "TLS를 위한 Camellia 암호 스위트", RFC 5932, DOI 10.17487/RFC5932, , <https://www.rfc-editor.org/info/rfc5932>.
[RFC6209]
Kim, W., Lee, J., Park, J.D. Kwon, "전송 계층 보안 (TLS)에 ARIA 암호 스위트 추가", RFC 6209, DOI 10.17487/RFC6209, , <https://www.rfc-editor.org/info/rfc6209>.
[RFC6347]
Rescorla, E.N. Modadugu, "데이터그램 전송 계층 보안 버전 1.2", RFC 6347, DOI 10.17487/RFC6347, , <https://www.rfc-editor.org/info/rfc6347>.
[RFC6367]
Kanno, S.M. Kanda, "전송 계층 보안 (TLS)에 Camellia 암호 스위트 추가", RFC 6367, DOI 10.17487/RFC6367, , <https://www.rfc-editor.org/info/rfc6367>.
[RFC6655]
McGrew, D.D. Bailey, "전송 계층 보안(TLS)을 위한 AES-CCM 암호 스위트", RFC 6655, DOI 10.17487/RFC6655, , <https://www.rfc-editor.org/info/rfc6655>.
[RFC7905]
Langley, A., Chang, W., Mavrogiannopoulos, N., Strombergson, J.S. Josefsson, "전송 계층 보안 (TLS)을 위한 ChaCha20-Poly1305 암호 스위트", RFC 7905, DOI 10.17487/RFC7905, , <https://www.rfc-editor.org/info/rfc7905>.
[RFC7919]
Gillmor, D., "전송 계층 보안(TLS)을 위한 협상된 유한체 Diffie-Hellman 일회성 매개변수", RFC 7919, DOI 10.17487/RFC7919, , <https://www.rfc-editor.org/info/rfc7919>.
[RFC8174]
Leiba, B., "RFC 2119 핵심 단어에서 대문자와 소문자의 모호성", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
[RFC8422]
Nir, Y., Josefsson, S.M. Pegourie-Gonnard, "전송 계층 보안(TLS) 버전 1.2 이하를 위한 타원 곡선 암호학(ECC) 암호 스위트", RFC 8422, DOI 10.17487/RFC8422, , <https://www.rfc-editor.org/info/rfc8422>.
[RFC8996]
Moriarty, K.S. Farrell, "TLS 1.0 및 TLS 1.1 폐기", BCP 195, RFC 8996, DOI 10.17487/RFC8996, , <https://www.rfc-editor.org/info/rfc8996>.
[RFC9147]
Rescorla, E., Tschofenig, H.N. Modadugu, "데이터그램 전송 계층 보안(DTLS) 프로토콜 버전 1.3", RFC 9147, DOI 10.17487/RFC9147, , <https://www.rfc-editor.org/info/rfc9147>.
[RFC9325]
Sheffer, Y., Saint-Andre, P.T. Fossati, "전송 계층 보안(TLS) 및 데이터그램 전송 계층 보안 (DTLS)의 안전한 사용을 위한 권장사항", BCP 195, RFC 9325, DOI 10.17487/RFC9325, , <https://www.rfc-editor.org/info/rfc9325>.
[RFC9846]
Rescorla, E., "전송 계층 보안(TLS) 프로토콜 버전 1.3", RFC 9846, DOI 10.17487/RFC9846, , <https://www.rfc-editor.org/info/rfc9846>.
[RFC9847]
Salowey, J.S. Turner, "TLS 및 DTLS를 위한 IANA 레지스트리 업데이트", RFC 9847, DOI 10.17487/RFC9847, , <https://www.rfc-editor.org/info/rfc9847>.

9.2. 정보 제공용 참고문헌

[BLEI]
Bleichenbacher, D., "RSA 암호화 표준 PKCS #1 기반 프로토콜에 대한 선택 암호문 공격", 암호학의 발전 -- CRYPTO'98, 컴퓨터 과학 강의 노트, 제1462권, 1-12쪽, DOI 10.1007/BFb0055716, , <https://doi.org/10.1007/BFb0055716>.
[DLOG795]
Boudot, F., Gaudry, P., Guillevic, A., Heninger, N., Thomé, E.P. Zimmermann, "인수분해와 이산 로그의 난이도 비교: 240자리 실험", Cryptology ePrint Archive, 논문 2020/697, DOI 10.1007/978-3-030-56880-1_3, , <https://eprint.iacr.org/2020/697>.
[DROWN]
Aviram, N., Schinzel, S., Somorovsky, J., Heninger, N., Dankel, M., Steube, J., Valenta, L., Adrian, D., Halderman, J. A., Dukhovni, V., Käsper, E., Cohney, S., Engels, S., Paar, C.Y. Shavitt, "DROWN: SSLv2를 사용하여 TLS 파괴하기", 제25회 USENIX 보안 심포지엄 논문집, , <https://drownattack.com/drown-attack-paper.pdf>.
[ICA]
Jager, T., Schwenk, J.J. Somorovsky, "TLS-ECDH에 대한 실용적인 잘못된 곡선 공격", ESORICS 2015, 제1부, 컴퓨터 과학 강의 노트, 제9326권, 407-425쪽, DOI 10.1007/978-3-319-24174-6_21, , <https://link.springer.com/content/pdf/10.1007/978-3-319-24174-6_21.pdf>.
[MAY4]
Genkin, D., Valenta, L.Y. Yarom, "포스가 함께하기를: Curve25519의 여러 실제 응용 프로그램에 대한 마이크로아키텍처 부채널 공격", 2017 ACM SIGSAC 컴퓨터 및 통신 보안 학술대회 논문집, DOI 10.1145/3133956.3134029, , <https://dl.acm.org/doi/pdf/10.1145/3133956.3134029>.
[NEW-BLEI]
Meyer, C., Somorovsky, J., Weiss, E., Schwenk, J., Schinzel, S.E. Tews, "SSL/TLS 구현 재검토: 새로운 Bleichenbacher 부채널과 공격", 제23회 USENIX 보안 심포지엄 논문집, , <https://www.usenix.org/system/files/conference/usenixsecurity14/sec14-paper-meyer.pdf>.
[PARIS256]
Devlin, S.F. Valsorda, "PARIS256 공격", , <https://i.blackhat.com/us-18/Wed-August-8/us-18-Valsorda-Squeezing-A-Key-Through-A-Carry-Bit-wp.pdf>.
[RACCOON]
Merget, R., Brinkmann, M., Aviram, N., Somorovsky, J., Mittmann, J.J. Schwenk, "Raccoon 공격: TLS-DH(E)에서 최상위 비트 오라클 찾기와 악용", , <https://raccoon-attack.com/RacoonAttack.pdf>.
[RFC4492]
Blake-Wilson, S., Bolyard, N., Gupta, V., Hawk, C.B. Moeller, "전송 계층 보안(TLS)을 위한 타원 곡선 암호학 (ECC) 암호 스위트", RFC 4492, DOI 10.17487/RFC4492, , <https://www.rfc-editor.org/info/rfc4492>.
[ROBOT]
Boeck, H., Somorovsky, J.C. Young, "Bleichenbacher 오라클 위협의 귀환 (ROBOT)", 제27회 USENIX 보안 심포지엄 논문집, , <https://www.usenix.org/system/files/conference/usenixsecurity18/sec18-bock.pdf>.
[SUBGROUPS]
Valenta, L., Adrian, D., Sanso, A., Cohney, S., Fried, J., Hastings, M., Halderman, J. A.N. Heninger, "Diffie-Hellman에 대한 작은 부분군 공격 측정", Cryptology ePrint Archive, 논문 2016/995, , <https://eprint.iacr.org/2016/995/20161017:193515>.
[TLS-REGISTRY]
IANA, "전송 계층 보안(TLS) 매개변수", <https://www.iana.org/assignments/tls-parameters>.
[WEAK-DH]
Adrian, D., Bhargavan, K., Durumeric, Z., Gaudry, P., Green, M., Halderman, J. A., Heninger, N., Springall, D., Thomé, E., Valenta, L., VanderSloot, B., Wustrow, E., Zanella-Béguelin, S.P. Zimmermann, "취약한 Diffie-Hellman과 Logjam 공격", , <https://weakdh.org/>.
[XPROT]
Jager, T., Schwenk, J.J. Somorovsky, "PKCS#1 v1.5 암호화의 취약점에 대한 TLS 1.3 및 QUIC의 보안", 제22회 ACM SIGSAC 컴퓨터 및 통신 보안 학술대회 논문집, 1185-1196쪽, DOI 10.1145/2810103.2813657, , <https://doi.org/10.1145/2810103.2813657>.

감사의 말

이 문서에는 본문의 상당 부분을 작성하고 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ß MattssonManuel Pégourié-Gonnard에게도 감사한다.

저자 주소

Nimrod Aviram