SSL/TLS

MK·2024년 2월 10일

1. Handshake Protocol

총 4개의 Phase 로 구성되어있다. 하나씩 알아보자.


1.1 Phase 1 : 서로 암호화 Suite 를 합의한다.

client가 사용 가능한 cipher suite 를 제시하면, server가 선택한다.
서로 client random과 server random을 전달한다.
두 값은 이후 phase 2,3 키교환을 통해서 얻을 premaster key와 함께, 암호화에 사용할 key를 만드는 재료가 된다.


1.2 Phase 2 : 키 교환 및 서버 인증

RSA : RSA 암호화를 이용하여 pre-master key를 교환하는 방법이다. 암호화를 위한 서버의 RSA 공개키를 주는데, 인증서 형식으로 줌으로써 MITM 공격을 방지한다.
Anonymous DH : 인증서를 사용하지 않는 디피헬만 키 교환이다.
Ephemeral DH : 디피헬만 키 교환 + 디지털 서명이다. 서명 검증용 공개키를 인증서 형식으로 줌으로써 MITM 공격을 방지한다.
Fixed DH : 인증서 내 디피헬만 키가 표함되어 있다.


1.3 Phase 3 : 키 교환 및 클라이언트 인증

RSA : 전달받은 서버의 공개키로, Pre-master secret을 암호화하여 보낸다.
Anonymous DH : 인증서를 사용하지 않는 디피헬만 키 교환이다.
Ephemeral DH : phase 2 와 동일하다.
Fixed DH : 인증서 내 디피헬만 키가 포함되어 있다.


1.4 Phase 4 : 암호화 준비 완료


ChangeCipherSpec 이후 암호화 Suite는 Pending -> Active 상태가 된다.

공개키 인증서를 통해 서버를 인증하는 동시에, Pre-master Secret을 공유하게 된다.


2. Record Protocol


MAC 붙이고 암호화함.

profile
computer security

0개의 댓글