-
SSL TLS 협상 과정(Handshake)Engineer information security 2021. 2. 15. 01:29반응형
우리가 SSL TLS를 연결할 때, 오랜 시간이 걸리지 않고 거의 바로 연결된다.
하지만 클라이언트와 서버를 연결할 때, Handshake(협상 과정)을 하게 되는데, 생각보다 복잡한 과정이다.
Handshake는 악수한다는 의미인데, 이 과정을 보면 이것이 왜 악수하는 것이라고 표현하는지 이해가 된다.
아래 이미지는 Client가 Server로 접근할 때 SSL TLS의 연결 과정중 Handshake 하는 과정이다.
위에서부터 아래로 진행되는 과정이고, Client가 먼저 Server에게 메시지를 보낸다.
협상 과정에서 필수적으로 진행되는 과정은 주황색으로 색을 변경했다.
- Client Hello : Client가 지원할 수 있는 SSL TLS 버전과 Cipher suites(암호 도구), 압축 방식을 전달
- Server Hello : 사용할 SSL TLS 버전과 Cipher suites(암호 도구), 압축방식을 Client에게 전달
- Server(Client) Certificate : 서버(클라이언트)의 인증서 목록을 전달(필요할 경우만 전달)
- Server(Client) Key Exchange : 키 교환에 필요한 정보를 전달(필요할 경우만 전달)
- Certificate Request : 클라이언트 인증을 위해 인증서를 요청(필요할 경우만 전달)
- Server Hello Done : Server Hello가 종료되었다고 알림
- Certificate Verify : 키 교환에 필요한 정보(Premaster secret, 사전 마스터 비밀)를 서버에 전달
- Change Cipher Spec : 협상을 통해 결정된 암호 도구를 적용
- Finished : 협상이 완료 됨
반응형'Engineer information security' 카테고리의 다른 글
DNS(Domain Name System) 이란? (0) 2021.02.18 HTTP(Hyper Text Transfer Protocol) 이란? (0) 2021.02.17 IPSec AH 프로토콜 ESP 프로토콜 이란? (0) 2021.02.14 SSL TLS 란? (0) 2021.02.13 IPsec 이란? (0) 2021.02.10