SSL에 대해서

면접 스터디

목록 보기
2/8

SSL이란?

SSL(Secure Sockets Layer)은 인터넷을 할 때 전송되는 내용들을 암호화 해주는 프로토콜(규칙)을 이야기 한다. 보통 SSL을 이야기할 때 같이 언급되는 SSL인증서는 이런 보안통신을 하기 위한 전자 파일을 의미한다. SSL인증서를 서버에 설치함으로서 SSL프로토콜을 사용해 보안 통신을 할 수 있게 된다. HTTPS는 SSL 프로토콜 위에서 돌아가는 프로토콜을 이야기한다. SSL은 현재 사용중인 TLS(Transport Layer Security)의 전신이다.

SSL/TLS는 어떻게 작동할까?

  1. 클라이언트 -> SSL로 암호화된 페이지를 요청한다. (일반적으로 HTTPS가 사용된다.)
  2. 웹서버 -> Public Key를 SSL 인증서와 함께 전송한다.
  3. 클라이언트 -> 인증서가 신용이 있다고 판단된 CA(Certificate Authority, 인증기관)로부터 서명된 것인지 확인한다. 그리고 날짜가 유효한지, 인증서가 접속하려는 사이트와 관련되어 있는지 확인한다.
  4. 클라이언트 -> Public Key를 사용해 랜덤 대칭 암호화키를 비롯한 URL, HTTP 데이터들을 암호화해서 전송한다.
  5. 웹서버 -> Private Key를 이용해 랜덤 대칭 암호화키와 URL, HTTP 데이터들을 복호화한다.
  6. 웹서버 -> 요청받은 URL에 대한 응답을 웹 브라우저로부터 받은 랜덤 대칭 암호화키를 이용해 암호화해서 브라우저로 전송한다.
  7. 클라이언트 -> 대칭키를 이용해서 HTTP 데이터와 HTML 문서를 복호화하고, 화면에 정보를 뿌려준다.


출처 : https://preamtree.tistory.com/38

profile
우주와 같은 프로그래밍 세상

0개의 댓글