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.2 | TLS 1.3 |
|---|---|---|
| 핸드셰이크 | 2-RTT | 1-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. 갱신 · 틀린 내용을 발견하면 알려 주세요.