////
Search

SSL/TLS

생성일
2023/04/28 06:39
태그

SSL/TLS

SSL(Secure Sockets Layer)과 TLS(Transport Layer Security)는 네트워크 통신에서 데이터 보안을 위해 사용되는 프로토콜이다.
기존의 웹에서는 데이터를 일반 텍스트 형태로 전송되어 가로채면 누구나 읽을 수 있어 보안상의 문제가 있었다. 이러한 문제로 개인정보 보호, 인증, 데이터 무결성을 보장하기위해 출시된 것이 암호화 기반의 보안 프로토콜인 SSL이다.
SSL은 몇 가지 취약성이 알려져있고, SSL 3.0 이후 업데이트 되지않아 사실상 사용 중단이 권장된다. 그 대안으로 TLS가 있는데, TLS는 사실상 SSL의 업데이트 버전과 다를바 없다.

SSL/TLS 작동방식

HTTPS 웹에 처음 연결될 때 Handshake 방식을 통해 클라이언트와 서버 간의 메세지를 교환하며 서버와 클라이언트에서 암호화 알고리즘과 키 교환 알고리즘에 따라 서로 정보를 교환한다.
SSL은 SSL인증서(TLS인증서)가 있는 웹사이트만 실행할 수 있는데, 인증서에는 공개 키가 포함되어 클라이언트의 요청을 공개 키를 통해 암호화하여 서버에 전달한다. 서버는 개인 키를 통해 복호화하여 통신하게 된다.

HTTP vs HTTPS

HTTP 프로토콜은 웹 환경에서 텍스트와 하이퍼링크 정보를 주고 받기 위해 개발된 기술로, 현재에는 파일 전송이나 실시간 메세지 전송 등 더 발전된 형태로 다양한 목적에 이용된다. 다만 HTTP로만 데이터를 보낼 경우, 내용이 암호화 되어있지 않아 개인정보가 그대로 노출되는 등 보안에 취약하다.
HTTPS는 HTTP 페이지를 SSL/TLS를 통해 암호화하여 주고 받는 기술이다. CA에서 발급한 SSL 인증서를 가지고 있는 서버에 암호화된 페이지를 요청하고, 응답이 오면 클라이언트 내부적으로 신용이 있는지 판단(CA 발급 기관 확인) 후 해당 응답에 같이 온 공개 키를 통해 암호화된 데이터를 전송하게 된다.