RFC 9852 TLS를 사용하는 새 프로토콜은 TLS를 요구해야 한다 2026년 7월
Salz & Aviram 최선의 현행 관행 [페이지]
문서 흐름:
인터넷 엔지니어링 태스크 포스(IETF)
RFC:
9852
BCP:
195
갱신:
9325
범주:
최선의 현행 관행
발행일:
ISSN:
2070-1721
저자:
R. Salz
Akamai Technologies
N. Aviram

RFC 9852

TLS를 사용하는 새 프로토콜은 TLS 1.3을 요구해야 한다

초록

TLS 1.3은 널리 사용되고 있으며, 포괄적인 보안 증명을 거쳤고, TLS 1.2의 보안 및 개인정보 보호 결함을 모두 개선한다. 따라서 TLS를 사용하는 새 프로토콜은 TLS 1.3을 요구해야 한다. DTLS 1.3은 널리 제공되거나 배포되어 있지 않으므로, 이 지침은 DTLS(어떤 DTLS 버전에도)에는 적용되지 않으며 TLS에만 적용된다.

이 문서는 RFC 9325를 갱신한다. 이 문서는 갱신의 근거로서 포스트 양자 암호와 TLS 1.3의 보안 및 개인정보 보호 개선 사항을 논의한다.

이 메모의 상태

이 메모는 인터넷 최선의 현행 관행을 문서화한다.

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

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

목차

1. 서론

이 문서는 TLS를 사용하는 새 프로토콜이 TLS 1.3을 사용할 수 있다고 가정하고 그 사용을 요구해야 한다고 명시한다. DTLS 1.3은 널리 제공되거나 배포되어 있지 않으므로, 이 지침은 DTLS(어떤 DTLS 버전에도)에는 적용되지 않으며 TLS에만 적용된다.

TLS 1.3 [TLS13]은 널리 사용되고 있으며 TLS 1.2에서 알려진 대부분의 결함을 해결한다. 예를 들어 트래픽의 더 많은 부분을 암호화하여 외부인이 읽을 수 없도록 하고, 현재 취약한 것으로 간주되는 대부분의 암호학적 기본 요소를 제거한다. 중요한 점은 이 프로토콜이 포괄적인 보안 증명을 거쳤으며 추가적인 구성 없이도 뛰어난 보안을 제공해야 한다는 것이다.

TLS 1.2 [TLS12]는 사용 중이며 우수한 보안 속성을 제공하도록 구성할 수 있다. 그러나 TLS 1.2에는 제6절에 설명된 것과 같은 여러 결함이 있다. 이러한 결함을 해결하려면 일반적으로 맞춤형 구성이 필요하다.

이 문서는 [RFC9325]를 갱신한다. 이 문서는 갱신의 근거로서 포스트 양자 암호와 TLS 1.3의 보안 및 개인정보 보호 개선 사항을 논의한다. 제5절을 참조한다.

2. 규약

이 문서에서 핵심 단어 "반드시", "해서는 안 된다", "요구된다", "해야 한다", "해서는 안 된다", "하는 것이 좋다", "하지 않는 것이 좋다", "권고된다", "권고되지 않는다", "할 수 있다" 및 "선택 사항이다"는 여기에 표시된 것처럼 모두 대문자로 나타나는 경우에만 BCP 14 [RFC2119] [RFC8174]에 설명된 대로 해석해야 한다.

3. 포스트 양자 암호(PQC)에 미치는 영향

암호학적으로 유의미한 양자 컴퓨터(CRQC)를 사용할 수 있게 되면 TLS 트래픽에 막대한 영향을 미칠 것이다(예: [RFC9958]제3절 참조). 이를 완화하기 위해 TLS 애플리케이션은 포스트 양자 암호(PQC) [PQC]로 마이그레이션해야 한다. 애플리케이션에 PQC가 필요한 시점이나 CRQC가 애플리케이션이 방어해야 하는 위협이 되는 시점에 관한 상세한 고려 사항은 이 문서의 범위를 벗어난다.

TLS 워킹 그룹이 TLS 1.3 이상에 노력을 집중하고 있으며 TLS 1.2는 지원되지 않는다는 점에 유의해야 한다([TLS12FROZEN] 참조). 이것은 새 프로토콜이 TLS의 기본값으로 TLS 1.3을 요구해야 하는 또 하나의 이유이다. TLS 1.3에서는 PQC가 활발하게 표준화되고 있으므로 새 애플리케이션에 PQC를 사용할 수 있는 선택권을 제공한다.

4. 다른 프로토콜 및 애플리케이션의 TLS 사용

TLS를 사용하는 모든 새 프로토콜은 TLS 1.3을 기본값으로 반드시 지정해야 한다. 예를 들어 QUIC [QUICTLS]은 TLS 1.3을 요구하며, 이전 버전이 사용되는 경우 엔드포인트가 연결을 반드시 종료해야 한다고 명시한다.

배포 고려 사항이 문제가 되는 경우, 프로토콜은 TLS 1.2를 기본값이 아닌 추가 옵션으로 지정할 수 있다. 반대 사례로, DNS over TLS 사용 프로필 [DNSTLS]은 TLS 1.2를 기본값으로 지정하면서 TLS 1.3도 허용한다. TLS 1.2 지원을 선택하는 최신 명세에서는 이러한 우선순위를 반대로 해야 한다.

초기 TLS 핸드셰이크를 통해 클라이언트는 지원하는 TLS 버전을 지정할 수 있으며, 서버는 자신도 지원하는 버전 중 가장 높은 버전을 선택하도록 되어 있다. 이를 "TLS 버전 협상"이라고 하며, 프로토콜 및 협상에 관한 자세한 내용은 [TLS13]제4.2.1절[TLS12]부록 E에서 논의한다. 많은 TLS 라이브러리는 최저 버전이나 최고 버전만 지정하는 열린 구간을 포함하여 애플리케이션이 원하는 버전 범위를 지정할 수 있는 방법을 제공한다.

애플리케이션이 TLS 버전 협상을 지원하는 TLS 구현을 사용하고 해당 TLS 구현이 지원되는 가장 높은 버전을 사용한다는 것을 알고 있다면, 클라이언트는 원하는 최저 버전만 지정하는 것이 좋다. 이는 위 문단에 설명된 상황에 따라 TLS 1.3 또는 TLS 1.2여야 한다.

5. RFC 9325의 변경 사항

[RFC9325]는 TLS와, 이 문서와 달리 DTLS도 사용하는 배포된 서비스의 보안을 보장하기 위한 권고 사항을 제공한다. [RFC9325]는 TLS 1.3을 "널리 제공되는" 것으로 설명하며, 해당 문서가 발행된 이후 TLS 1.3으로의 전환은 더욱 확대되었다. 따라서 이 문서는 [RFC9325]제3.1.1절에 있는 권고 사항을 두 가지 변경한다.

다시 말하지만, 이러한 변경 사항은 TLS에만 적용되며 DTLS에는 적용되지 않는다.

6. 보안 고려 사항

TLS 1.2는 시간이 지남에 따라 상당히 취약해진 여러 암호학적 기본 요소와 설계 선택을 사용하여 명세되었다. 이 절의 목적은 프로토콜에 영향을 준 대표적인 문제 몇 가지를 간략히 살펴보는 것이다. 그러나 TLS 1.2도 안전하게 구성할 수 있다는 점에 유의해야 한다. 다만 현대적인 후속 버전인 TLS 1.3을 사용하는 것보다 안전하게 구성하기가 훨씬 더 어려울 뿐이다. TLS 1.2의 안전한 배포에 관한 더 자세한 지침은 [RFC9325]를 참조한다.

첫째, 확장을 사용하지 않는 TLS 1.2는 재협상 공격([RENEG1][RENEG2] 참조)과 삼중 핸드셰이크 공격([TRIPLESHAKE] 참조)에 취약하다. 대체로 이러한 공격은 재협상에 대한 프로토콜의 지원을 악용하여 공격자가 선택한 접두부를 평문 스트림에 삽입한다. 이는 일반적으로 실제 환경에서 치명적인 위협이다(예: 공격자가 웹 환경에서 비밀 쿠키를 획득할 수 있게 한다). 위 문제를 고려하여 [RFC5746]은 이러한 공격 범주를 방지하는 확장을 명시한다. TLS 1.2를 안전하게 배포하려면 재협상을 완전히 비활성화하거나 이 확장을 사용해야 한다. 또한 클라이언트는 연결 중 서버가 인증서를 재협상하도록 허용해서는 안 된다.

둘째, TLS 1.2에 명시된 원래의 키 교환 방식인 RSA 키 교환과 유한체 Diffie-Hellman에는 여러 취약점이 있다. 프로토콜을 안전하게 배포하려면 이러한 키 교환 방식의 대부분을 비활성화해야 한다. 자세한 내용은 [RFC10015]를 참조한다.

셋째, TLS 1.2에서 널리 사용되는 대칭 암호인 RC4와 암호 블록 체인(CBC) 암호 스위트에는 여러 취약점이 있다. RC4의 키 스트림에는 악용 가능한 편향이 있다. [RFC7465]를 참조한다. CBC 암호 스위트는 오랫동안 취약점의 원인이 되어 왔다. 이러한 암호 스위트를 단순하게 구현하면 본질적으로 Lucky13 타이밍 공격 [LUCKY13]에 취약하다. 암호 스위트를 상수 시간으로 구현하려는 최초의 시도는 훨씬 더 심각한 취약점 [LUCKY13FIX]을 초래했다. CBC 암호 스위트의 또 다른 취약점 사례와 유사 연구에 대한 조사는 [CBCSCANNING]을 참조한다.

또한 TLS 1.2는 TLS 1.3에는 영향을 미치지 않는 여러 다른 공격의 영향을 받았다. BEAST [BEAST], Logjam [WEAKDH], FREAK [FREAK] 및 SLOTH [SLOTH]이다.

마지막으로 TLS 1.2의 애플리케이션 계층 트래픽은 항상 암호화되지만, 핸드셰이크 메시지 내용의 대부분은 암호화되지 않는다. 따라서 제공되는 개인정보 보호 수준은 최적이 아니다. 이는 구성으로 해결할 수 없는 프로토콜 문제이다.

7. IANA 고려 사항

이 문서에는 IANA 조치가 없다.

8. 참고 문헌

8.1. 규범적 참고 문헌

[RFC2119]
Bradner, S., "요구 사항 수준을 나타내기 위해 RFC에서 사용하는 핵심 단어", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC8174]
Leiba, B., "RFC 2119 핵심 단어에서 대문자와 소문자의 모호성", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
[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>.
[TLS12]
Dierks, T.E. Rescorla, "전송 계층 보안(TLS) 프로토콜 버전 1.2", RFC 5246, DOI 10.17487/RFC5246, , <https://www.rfc-editor.org/info/rfc5246>.
[TLS12FROZEN]
Salz, R.N. Aviram, "TLS 1.2 기능 동결", RFC 9851, DOI 10.17487/RFC9851, , <https://www.rfc-editor.org/info/rfc9851>.
[TLS13]
Rescorla, E., "전송 계층 보안(TLS) 프로토콜 버전 1.3", RFC 9846, DOI 10.17487/RFC9846, , <https://www.rfc-editor.org/info/rfc9846>.

8.2. 정보 제공용 참고 문헌

[BEAST]
Duong, T.J. Rizzo, "XOR 닌자들이 온다", , <http://www.hpcc.ecs.soton.ac.uk/dan/talks/bullrun/Beast.pdf>.
[CBCSCANNING]
Merget, R., Somorovsky, J., Aviram, N., Young, C., Fliegenschmidt, J., Schwenk, J., 및 Y. Shavitt, "TLS 패딩 오라클 취약점의 확장 가능한 스캔 및 자동 분류", 제28회 USENIX 보안 심포지엄(USENIX Security 19), , <https://www.usenix.org/system/files/sec19-merget.pdf>.
[DNSTLS]
Dickinson, S., Gillmor, D., 및 T. Reddy, "DNS over TLS 및 DNS over DTLS 사용 프로필", RFC 8310, DOI 10.17487/RFC8310, , <https://www.rfc-editor.org/info/rfc8310>.
[FREAK]
Beurdouche, B., Bhargavan, K., Delignat-Lavaud, A., Fournet, C., Kohlweiss, M., Pironti, A., Strub, P.-Y., 및 J. K. Zinzindohoue, "혼란스러운 연합 상태: TLS의 복합 상태 머신 길들이기", 2015년 IEEE 보안 및 개인정보 보호 심포지엄, HAL ID: hal-01114250, , <https://inria.hal.science/hal-01114250/file/messy-state-of-the-union-oakland15.pdf>.
[LUCKY13]
Al Fardan, N. J.K. G. Paterson, "Lucky Thirteen: TLS 및 DTLS 레코드 프로토콜 무력화", , <http://www.isg.rhul.ac.uk/tls/TLStiming.pdf>.
[LUCKY13FIX]
Somorovsky, J., "TLS 라이브러리의 체계적인 퍼징 및 테스트", CCS '16: 2016년 ACM SIGSAC 컴퓨터 및 통신 보안 학술대회 논문집, 1492~1504쪽, DOI 10.1145/2976749.2978411, , <https://nds.rub.de/media/nds/veroeffentlichungen/2016/10/19/tls-attacker-ccs16.pdf>.
[PQC]
NIST, "포스트 양자 암호란 무엇인가?", , <https://www.nist.gov/cybersecurity/what-post-quantum-cryptography>.
[QUICTLS]
Thomson, M., 편집자S. Turner, 편집자, "TLS를 사용하여 QUIC 보호하기", RFC 9001, DOI 10.17487/RFC9001, , <https://www.rfc-editor.org/info/rfc9001>.
[RENEG1]
Rescorla, E., "TLS 재협상 공격 이해하기", Wayback Machine 보관본, , <https://web.archive.org/web/20091231034700/http://www.educatedguesswork.org/2009/11/understanding_the_tls_renegoti.html>.
[RENEG2]
Ray, M., "TLS 재협상의 인증 공백", Wayback Machine 보관본, <https://web.archive.org/web/20091228061844/http://extendedsubset.com/?p=8>.
[RFC5746]
Rescorla, E., Ray, M., Dispensa, S., 및 N. Oskov, "전송 계층 보안(TLS) 재협상 표시 확장", RFC 5746, DOI 10.17487/RFC5746, , <https://www.rfc-editor.org/info/rfc5746>.
[RFC7465]
Popov, A., "RC4 암호 스위트 금지", RFC 7465, DOI 10.17487/RFC7465, , <https://www.rfc-editor.org/info/rfc7465>.
[RFC9958]
Banerjee, A., Reddy.K, T., Schoinianakis, D., Hollebeek, T., 및 M. Ounsworth, "엔지니어를 위한 포스트 양자 암호", RFC 9958, DOI 10.17487/RFC9958, , <https://www.rfc-editor.org/info/rfc9958>.
[RFC10015]
Aviram, N., "TLS 1.2 및 DTLS 1.2의 구식 키 교환 방식 사용 중단", RFC 10015, DOI 10.17487/RFC10015, , <https://www.rfc-editor.org/info/rfc10015>.
[SLOTH]
Bhargavan, K.G. Leurent, "트랜스크립트 충돌 공격: TLS, IKE 및 SSH의 인증 무력화", 네트워크 및 분산 시스템 보안 심포지엄 - NDSS 2016, DOI 10.14722/ndss.2016.23418, HAL ID: hal-01244855, , <https://inria.hal.science/hal-01244855/file/SLOTH_NDSS16.pdf>.
[TRIPLESHAKE]
"해로운 것으로 간주되는 삼중 핸드셰이크: TLS상의 인증 무력화 및 수정", Wayback Machine 보관본, <https://web.archive.org/web/20250804151857/https://mitls.org/pages/attacks/3SHAKE>.
[WEAKDH]
Adrian, D., Bhargavan, K., Durumeric, Z., Gaudry, P., Green, M., Halderman, J. A., Heninger, N., Springall, D., Thome, E., Valenta, L., VanderSloot, B., Wustrow, E., Zanella-Beguelin, S., 및 P. Zimmerman, "불완전한 순방향 비밀성: Diffie-Hellman이 실제 환경에서 실패하는 방식", CCS '15: 제22회 ACM SIGSAC 컴퓨터 및 통신 보안 학술대회 논문집, 5~17쪽, DOI 10.1145/2810103.2813707, , <https://dl.acm.org/doi/pdf/10.1145/2810103.2813707>.

저자 주소

Rich Salz
Akamai Technologies
Nimrod Aviram