TECH 으로 돌아가기
TECH HACKER NEWS 오늘 7분 읽기 47 READS

RFC 10015, TLS 1.2의 낡은 키 교환 방식에 사망 선고를 내리다

IETF가 2026년 표준 트랙 문서로 발행한 RFC 10015는 (D)TLS 1.2에서 오랫동안 문제로 지적돼 온 두 가지 키 교환 방식, 즉 유한체 위의 디피-헬만(FFDH·FFDHE)과 RSA 키 교환을 폐기(deprecate)한다. 여기에 더해 정적(static) 타원곡선 디피-헬만(ECDH) 암호 스위트의 사용을 억제(discourage)하도록 권고한다. 이 규정은 오직 (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, 그리고 (D)TLS 운영 권고를 담은 BCP 195의 한 축인 RFC 9325까지 총 17개 문서를 갱신한다. 다시 말해 지난 십수 년간 TLS 1.2 암호 스위트를 정의해 온 규격들의 상당수가 이번에 한꺼번에 손질된 셈이다. BCP 195의 나머지 권고는 그대로 유효하며, 9325에 대한 정확한 변경 내역은 문서 6장에 정리돼 있다.

왜 지금 폐기인가

핵심 동기는 두 가지로 요약된다. 하나는 순방향 비밀성(forward secrecy)의 부재이고, 다른 하나는 키 재사용이 열어주는 부채널 공격이다. 비영구(non-ephemeral) 암호 스위트는 구조적으로 순방향 비밀성을 제공하지 못한다. 그래서 서버 키가 한 번 유출되면 과거에 오갔던 트래픽까지 소급해 복호화될 수 있다. 실제로 유한체 DH에 대한 Raccoon 공격은 공개키 재사용(비영구 스위트를 쓰거나 영구 스위트에서 키를 재사용하는 경우)이 프리마스터 시크릿 처리 과정의 타이밍 부채널을 통해 연결 비밀을 흘릴 수 있음을 보여줬다. ECDH 쪽에서는 무효 곡선(invalid curve) 공격이 비슷한 방식으로 비밀 재사용을 악용해 실제 TLS 구현을 뚫은 사례가 보고됐다. 이런 부채널은 원칙적으로 구현에서 막을 수 있지만, 필요한 대응책이 복잡하고 그 수가 많아 현장 구현이 번번이 실패한다는 것이 이번 결정의 배경이다.

FFDHE와 RSA가 안고 있던 구조적 결함

FFDHE의 문제는 표준 자체의 한계에서 비롯된다. (D)TLS 1.2에는 사용할 군(group)을 협상하는 메커니즘이 없고, 일부 구현은 작은 군 크기만 지원한다. 게다가 작은 부분군(subgroup)을 가진 군은 여러 공격에 노출되는데, 클라이언트는 서버가 제시한 비표준 맞춤 군이 안전한지 실질적으로 검증할 방법이 없고 다른 파라미터로 되돌아갈 대체 경로도 없다. 문제는 과거 WEAK-DH 권고에서 출발한 맞춤 군이 널리 퍼져 있어, 클라이언트가 이런 핸드셰이크를 단순히 거부해 버릴 수도 없다는 점이다. 현장에서는 폭넓은 호환성을 확보하려고 1024비트 FFDHE 군을 쓰는 사례가 많은데, 이는 현재 795비트에 이른 이산로그 계산 기록과 비교하면 안전 마진이 얼마 남지 않은 수준이다. 몇 번의 대규모 사전 계산만으로 특정 표준 군을 쓴 트래픽의 상당 부분을 값싸게 복호화할 수 있다는 경고도 함께 담겼다.

RSA 키 교환의 결함은 구현 선택과 무관하게 존재한다. 우선 설계상 순방향 비밀성이 없다. 또한 Bleichenbacher 공격에 취약할 수 있는데, 올바른 대응책 구현이 어렵다 보니 ROBOT, DROWN 같은 변종이 몇 년마다 되풀이해 등장했다. 더 심각한 점은 (D)TLS 1.2에 키의 도메인 분리 메커니즘이 없어서, 같은 RSA 키를 공유하는 엔드포인트 중 하나만 취약해도 나머지 전부가 위험에 빠진다는 것이다.

실무자가 확인해야 할 것

요구 수준은 방식별로 차등을 뒀다. 비영구 FFDH와 FFDHE, 그리고 정적 RSA 암호 스위트는 (D)TLS 1.2에서 클라이언트가 제시해서도, 서버가 선택해서도 안 되는 MUST NOT 대상이다. 비영구 ECDH 스위트는 SHOULD NOT 수준으로, 이는 이미 RFC 9325에 있던 요구를 재확인한 것이다. 고정 DH 파라미터를 담은 인증서 유형(rsa_fixed_dh, dss_fixed_dh, rsa_fixed_ecdh, ecdsa_fixed_ecdh) 역시 사용·수용하지 않도록 권고된다. 이에 맞춰 IANA는 TLS Cipher Suites 및 ClientCertificateType 레지스트리의 해당 항목을 '권장' 열에서 'D' 표기로 갱신했다. D의 의미는 RFC 9847에 규정돼 있다.

주의할 대비점은 버전별 차이다. FFDHE 스위트는 (D)TLS 1.2에서는 금지되지만, 1.3에서는 본 문서가 지적한 문제들에서 자유롭기 때문에 여전히 제시할 수 있다. 결국 이 문서가 요구하는 실무 작업은 새로운 알고리즘 도입이라기보다 정리에 가깝다. 운영 중인 서버와 클라이언트 설정에서 TLS_DH_, TLS_ECDH_, RSA 키 교환 스위트가 살아 있는지 점검하고, 이를 ECDHE·DHE 같은 영구 키 교환이나 TLS 1.3 경로로 대체하는 것이 핵심이다. 다만 이 문서는 어떤 마이그레이션 도구나 자동 탐지 방법을 제시하지는 않으며, 실제 호환성 검증과 레거시 클라이언트 대응은 각 조직이 자체 환경에서 판단해야 할 몫으로 남는다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://www.rfc-editor.org/rfc/rfc10015.html
SHARE
처리 중...