SSL Handshake란?

통신을 하는 브라우저와 웹 서버가 서로 암호화 통신을 시작할 수 있도록 신분을 확인하고 필요한 정보를 클라이언트와 서버가 주거니 받거니 하는 과정을 악수와 비슷하다 하여 붙여진 이름이다.

동작 방식 그림

위 그림에서 파란색 칸은 TCP의 3-way handshake이고, 노란색 칸이 SSL handshake이다.

위 그림에서 파란색 칸은 TCP의 3-way handshake이고, 노란색 칸이 SSL handshake이다.

아래 두 가지를 기억하면서 순서대로 그림을 보자!

  1. 암호화 알고리즘(Cipher Suite) 결정
  2. 데이터를 암호화할 대칭키(비밀키) 전달

Client Hello

Client가 Server에게 연결을 시도하며 전송하는 패킷이다.

자신이 사용 가능한 Cipher Suite 목록, Session ID, SSL Protocol Version, Random byte 등을 전달한다.

스크린샷 2023-04-26 오후 8.06.49.png

스크린샷 2023-04-26 오후 8.07.44.png