Network - SSL과 TLS

choko's avatar
Jun 29, 2024
Network - SSL과 TLS
 
  • SSL은 기존 텍스트 형태로 전송되던 HTTP의 보안을 강화시키기 위해 적용한 암호화 기반 인터넷 보안 프로토콜이다.
  • SSL/TLS를 사용하는 웹사이트는 HTTPS이다.
  • TLS는 SSL의 후속 버전으로, SSL은 보안 취약점이 발견되어 TLS가 현재의 표준 보안 프로토콜이다.
    • ⇒ 결과적으로 TLS는 SSL의 업데이트 버전이며 명칭만 다르다고 볼 수 있다.
 

 
 

SSL/TLS의 작동 방식

  • SSL은 웹에서 전송되는 데이터를 암호화 하고, 클라이언트와 서버간의 핸드쉐이크를 통해 인증이 이루어진다.
  • SSL/TLS는 CA에게 발급받은 SSL/TLS 인증서가 있는 웹사이트만 실행할 수 있다.
 
notion image
 
  1. 클라이언트는 서버에게 client hello 메세지를 담아 서버로 보낸다
  1. 서버는 클라이언트에게 server hello 와 CA 공개키 인증서, 세션 ID를 담아 전송한다.
  1. 클라이언트는 서버에서 보낸 CA 인증서가 유효한 CA에게서 발급받은 인증서인지 확인한다.
  1. 클라이언트는 난수 바이트를 생성하여 서버의 공개키로 암호화한다.
  1. (2)번에서 서버가 클라이언트 인증서를 함께 요구했다면, 같이 보내준다.
  1. 서버는 클라이언트 인증서를 확인 후, 난수 바이트를 자신의 개인키로 복호화 후 대칭키 생성에 활용한다.
  1. 클라이언트는 finish 메세지를 서버에 보낸다.
  1. 서버도 동일하게 finish 메세지를 클라이언트에게 보낸다
  1. 클라이언트는 이제 서버와 해당 대칭키로 메세지를 주고받을 수 있게 된다.
 
Share article

Tom의 TIL 정리방