인프라 · 구성요소 · 검증됨

SSL/TLS

Transport Layer Security(구 SSL)는 클라이언트와 서버가 신뢰할 수 없는 네트워크 위에서 통신할 때, 전송 중 데이터를 암호화하고 변조를 탐지하며 서버 신원을 인증하는 프로토콜입니다. 웹에서 HTTP에 적용되면 그 결과가 HTTPS입니다.

핵심 답변

SSL/TLS는 클라이언트와 신뢰할 수 없는 네트워크를 사이에 둔 서버가 안전하게 통신하도록 암호화·무결성·인증을 제공하는 프로토콜입니다. TLS는 SSL의 후속 표준이며, 웹에서 HTTP를 보호할 때 HTTPS라는 이름으로 쓰입니다.

상세 설명

SSL/TLS는 클라이언트와 서버가 신뢰할 수 없는 네트워크를 사이에 두고도 안전하게 통신하도록 돕는 프로토콜입니다. TLS(Transport Layer Security)는 이전 이름인 SSL(Secure Sockets Layer)의 후속 표준으로, 오늘날 실무에서 두 용어는 같은 프로토콜 계열을 가리킵니다.

웹에서 TLS가 HTTP 연결에 적용된 결과가 HTTPS입니다.

TLS가 제공하는 세 가지 보장

MDN 문서 기준으로 TLS는 네트워크 연결에 대해 다음을 보장합니다.

보장의미
암호화전송 중인 데이터를 암호화해 공격자가 내용을 읽지 못하게 합니다.
무결성전송 중 데이터가 몰래 변조되면 이를 탐지할 수 있습니다.
인증상대가 주장하는 신원이 맞는지 증명합니다. 웹에서는 보통 서버가 클라이언트에게 자신을 인증합니다.

서버 인증은 서버가 유효한 디지털 인증서를 제시하는 방식으로 이루어지며, 양쪽이 각자 인증서를 제시하면 상호 인증도 가능합니다.

경계와 인접 구간

TLS는 브라우저와 원본 서버 사이의 보안 연결을 담당하므로, CDN처럼 요청을 중계하는 구성요소가 끼어들면 브라우저↔프록시 구간과 프록시↔원본 구간의 TLS 상태를 따로 볼 필요가 있습니다. 인증서의 유효기간·호스트 이름·인증 경로 중 하나라도 브라우저가 신뢰하지 못하면 경고 화면으로 이어집니다.

인증서 검증 실패나 핸드셰이크 실패를 다룰 때는, 문제가 어느 구간에서 발생했는지 확인하기 전에 인증서 자체가 원인이라고 단정하지 않습니다.

버전에 대한 참고

[Observation] MDN 문서는 현행 버전으로 TLS 1.3(RFC 8446)을 제시하며 TLS 1.2도 여전히 사용된다고 설명합니다. 같은 문서는 TLS 1.1과 1.0은 더 이상 사용하지 않아야 한다고 명시합니다.