Back-End TIL/네트워크

TLS 핸드쉐이크와 3way handshake의 차이점

BEstyle 2023. 3. 14. 16:24

TLS 핸드쉐이크와 3-way handshake의 차이저믄 목적과 적용되는 계층에 있습니다.

 

3-way handshake는 TCP/IP 프로토콜에서 사용하는 연결 설정 프로토콜로, 클라이언트와 서버 간의 여녀결을 설정하기 위해 사용됩니다. 이 과정은 TCP의 세션 계층에서 이루어지며,3단계로 이루어집니다.

 

1. 클라이언트는 서버에 SYN 패킷을 보냅니다.

2. 서버는 SYN 패킷을 받고, 클라이언트에세 SYN-ACK 패킷을 보냅니다.

3. 클라이언트는 SYN-ACK 패킷을 받고, ACK 패킷을 보내서 서버와 연결을 확립합니다.

 

반면 TLS 핸드쉐이크는 TLS 프로토콜에서 사용하는 인증 및 암호화 방법 협상을 위한 과정으로, TCP/IP 프로토콜과 별도로 적용됩니다. TLS 핸드쉐이크는 TLS 프로토콜의 세션 계층에서 이루어지며, 4개의 단계로 이루어집니다.

 

1. 클라이언트는 서버에 접속 요청을 보내고, TLS 버전 및 암호화 방식 목록을 포함한 클라이언트 측 설정 값을 전송합니다.

2. 서버는 클라이언트 측 설정 값 중에서 사용 가능한 가장 강력한 암호화 방식을 선택하고, 서버 인증서와 공개키를 전송합니다.

3. 클라이언트는 서버 인증서가 신뢰할 수 있는지를 검증하고, 세션 키를 생성하여 서버의 공개키로 암호화한 후, 서버에 전송합니다.

4. 서버는 클라이언트로부터 받은 암호화된 세션 키를 자신의 개인키로 복호화하여, 클라이언트와 서버 간의 통신에 사용할 공유 비밀키를 생성합니다.

 

따라서 TLS 핸드쉐이크는 TCP/IP 프로토콜과는 별도로 적용되는 TLS 프로토콜의 인증 및 암호화 방식 협상 과정이며, 3-way handshake는 TCP/IP 프로토콜의 세션 계층에서 연결 설정을 위한 프로토콜입니다.