TLS(Transport Layer Security)

TLS(Transport Layer Security)는 인터넷을 통해 통신하는 동안 데이터를 안전하게 보호하기 위한 암호화 프로토콜입니다. 주로 웹사이트(HTTPS), 이메일, 메시징 앱 등 인터넷상에서 민감한 데이터를 안전하게 주고받을 때 사용됩니다.

TLS의 주요 역할

  1. 기밀성(Confidentiality)
    데이터를 암호화하여 통신 중 도청(스니핑) 등으로부터 보호합니다.

  2. 무결성(Integrity)
    전송되는 데이터가 중간에서 변조되지 않았음을 보장합니다.

  3. 인증(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): 가장 엄격한 인증으로 신뢰도가 높음 (브라우저에 회사명 표시)