TLS

클라이언트와 서버 간 통신을 암호화하여 기밀성, 무결성, 인증을 보장하는 보안 프로토콜입니다.

보장하는 것

항목설명
기밀성데이터를 암호화하여 제3자가 볼 수 없음
무결성데이터가 중간에 변조되지 않았음을 보장
인증서버(혹은 클라이언트)의 신원을 검증

TLS Handshake 과정 (TLS 1.3 기준)

1. ClientHello
   클라이언트 → 서버: 지원하는 암호화 알고리즘, 키 교환 정보 전송

2. ServerHello + 인증서 + 완료
   클라이언트 ← 서버: 선택한 알고리즘, 인증서(공개키 포함), 서버 완료 전송

3. 인증서 검증
   클라이언트: CA 공개키로 인증서 서명 검증 → 서버 신뢰 O

4. 키 교환
   클라이언트 → 서버: 대칭키 생성에 필요한 정보 전송

5. 대칭키 생성
   양측이 동일한 대칭키 생성

6. 암호화 통신 시작
   이후 모든 통신은 대칭키로 암호화

사용하는 암호화 방식

단계방식이유
Handshake공개키 (비대칭)안전한 키 교환
실제 통신대칭키빠른 속도
인증서 검증전자서명서버 신원 확인

버전별 특징

버전특징
TLS 1.0 / 1.1deprecated, 사용 금지
TLS 1.2현재도 널리 사용, 2-RTT Handshake
TLS 1.3현재 표준, 1-RTT Handshake, 취약 알고리즘 완전 제거

주요 용어

용어설명
RTTRound Trip Time, 요청-응답 왕복 횟수
Cipher Suite사용할 암호화 알고리즘 조합
0-RTTTLS 1.3에서 재연결 시 Handshake 생략 가능

실생활 사용 예시

사례내용
HTTPSHTTP + TLS
SMTPS / IMAPS이메일 암호화 전송
FTPS파일 전송 암호화
WSSWebSocket 보안 연결

TLS는 SSL의 후속 표준으로, SSL이라는 명칭이 관습적으로 혼용되지만 실제로는 TLS가 사용됩니다. 최소 TLS 1.2 이상 사용을 권장합니다.

CSLOG에서 보기