TLS(Transport Layer Security)
Created 2025-03-18
Last Modified 2025-03-18
TLS(Transport Layer Security)는 인터넷을 통해 통신하는 동안 데이터를 안전하게 보호하기 위한 암호화 프로토콜입니다. 주로 웹사이트(HTTPS), 이메일, 메시징 앱 등 인터넷상에서 민감한 데이터를 안전하게 주고받을 때 사용됩니다.
TLS의 주요 역할
-
기밀성(Confidentiality)
데이터를 암호화하여 통신 중 도청(스니핑) 등으로부터 보호합니다. -
무결성(Integrity)
전송되는 데이터가 중간에서 변조되지 않았음을 보장합니다. -
인증(Authentication)
상대방이 실제로 신뢰할 수 있는 당사자인지 확인할 수 있도록 인증서를 통해 신원을 검증합니다.
TLS가 작동하는 원리
TLS는 크게 두 단계로 구성됩니다.
1. 핸드셰이크(Handshake) 단계
서버와 클라이언트 간에 암호화 통신을 준비하는 과정입니다.
핸드셰이크 단계에서는 다음이 이루어집니다.
- 프로토콜 버전 합의 (TLS 1.2, TLS 1.3 등)
- 사용할 암호화 알고리즘 협의
- 서버 인증서 제공 및 클라이언트의 인증서 검증
- 암호화에 사용할 세션 키(session key) 생성 및 교환
2. 데이터 전송(Data Transfer) 단계
핸드셰이크 단계에서 생성된 세션 키를 사용하여 실제 데이터를 암호화하여 안전하게 전송합니다.
TLS의 버전별 특징
TLS는 시간이 지나면서 점진적으로 발전해왔습니다.
버전 | 특징 | 안전성 |
---|---|---|
SSL 3.0 | 초기 버전으로 취약점이 많아 현재 사용되지 않음 | ❌ 매우 취약 |
TLS 1.0 | SSL 3.0에서 업그레이드되었지만 여전히 취약점 존재 | ⚠️ 취약 |
TLS 1.1 | 일부 보안이 강화되었으나 권장되지 않음 | ⚠️ 권장하지 않음 |
TLS 1.2 | 보안성이 뛰어나 현재 널리 사용 중 (AES, SHA-256 지원) | ✅ 안전 |
TLS 1.3 | 최신 버전, 성능과 보안이 개선됨 (핸드셰이크 속도 증가, 오래된 알고리즘 삭제) | ✅ 매우 안전 |
현재는 TLS 1.2 이상(권장 1.3)의 사용이 표준입니다.
TLS가 사용되는 예시
- HTTPS 웹사이트 접속 시 데이터 보호
- 이메일(IMAP, SMTP) 전송 시 암호화
- 온라인 뱅킹, 전자상거래 등 민감한 데이터 전송 보호
TLS 인증서
TLS 인증서는 공인된 인증기관(CA, Certificate Authority)이 발급하며, 웹사이트의 신원을 증명하는 데 사용됩니다.
주요 인증서 종류:
- DV(Domain Validation): 도메인 소유권 확인 (가장 일반적)
- OV(Organization Validation): 조직의 실재성 확인
- EV(Extended Validation): 가장 엄격한 인증으로 신뢰도가 높음 (브라우저에 회사명 표시)