TLS 1.3

Transport Layer Security 1.3

TLS 1.3은 IETF RFC 8446으로 표준화된 전송 계층 보안 프로토콜로, 핸드셰이크를 1-RTT로 단축하고 취약한 암호 알고리즘을 제거하여 성능과 보안을 동시에 강화한 버전이다.

핵심 키워드

RFC 84461-RTT 핸드셰이크0-RTT(Early Data)·재전송 공격전방향 안전성(Forward Secrecy)AEAD(AES-GCM, ChaCha20-Poly1305)HKDFRSA 키 교환 제거핸드셰이크 암호화PSK 재개(Session Resumption)

구성도

정리

1. 개요

  • 정의: 클라이언트·서버 간 기밀성·무결성·인증을 제공하는 TLS의 최신 버전 (IETF RFC 8446, 2018)
  • 배경
    • TLS 1.2 이하의 취약점(BEAST, POODLE, Lucky13 등) 및 레거시 알고리즘 문제
    • 모바일·웹 환경에서 핸드셰이크 지연(2-RTT) 단축 요구
    • 국가 수준 감청 이슈 이후 전방향 안전성(PFS) 의무화 요구

2. 구성/원리

  • 1-RTT 핸드셰이크
    • ClientHello에 지원 그룹과 key_share(키 교환 값) 를 미리 포함
    • ServerHello 직후부터 EncryptedExtensions·Certificate·Finished 암호화 전송
    • 클라이언트는 1-RTT 후 즉시 애플리케이션 데이터 전송
  • 0-RTT (Early Data)
    • 이전 세션의 PSK(Pre-Shared Key) 로 첫 메시지에 데이터 동봉
    • 재전송(Replay) 공격에 취약 → 멱등(Idempotent) 요청에만 사용 권고
  • 키 유도: HKDF 기반 키 스케줄로 핸드셰이크/트래픽 키 분리
  • 암호 스위트 단순화: 대칭 암호·해시만 지정, 키 교환·서명은 별도 협상
    • 예: TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256

3. 특징 또는 비교

구분TLS 1.2TLS 1.3
핸드셰이크2-RTT1-RTT (재개 시 0-RTT 가능)
키 교환RSA, (EC)DHE 등(EC)DHE, PSK만 허용
전방향 안전성선택사실상 필수
암호 모드CBC, RC4, AEAD 혼재AEAD만 허용
인증서 전송평문암호화
재협상·압축지원제거
  • 제거된 기능: 정적 RSA·정적 DH 키 교환, CBC 모드·RC4·3DES, MD5·SHA-1 기반 서명, 압축, 재협상, 사용자 정의 DHE 그룹
  • 효과: 다운그레이드 공격 방지 장치 추가, 협상 가능한 조합 축소로 설정 오류 감소

4. 고려사항·최신 동향

  • 0-RTT 운영: 재전송 방지(티켓 단회 사용, 비멱등 요청 차단) 정책 필요
  • 보안 장비 영향: 인증서 암호화·PFS로 수동(Passive) 복호화 기반 IDS/DLP 불가 → 프록시 방식 검토
  • 미들박스 호환: 버전 필드를 1.2로 표시하고 supported_versions 확장으로 협상
  • 동향
    • QUIC/HTTP3에 TLS 1.3 핸드셰이크 내장
    • ECH(Encrypted Client Hello) 로 SNI 노출 방지
    • ML-KEM 등과 결합한 하이브리드 양자내성 키 교환 도입 확산

함께 볼 토픽

v1 · 2026. 10. 19. 갱신 · 틀린 내용을 발견하면 알려 주세요.