스크램블(Scramble)
하는 과정기밀성(Confidentiality)
을 보장하는 것암호화 과정에서 데이터는 스크램블되어 원래의 정보를 알아볼 수 없는 형태로 변환
이를 복호화
하려면 송신자와 수신자가 미리 동의한 키(key)가 필요
암호화
복호화
공개 키(Public Key) : 누구나 사용할 수 있는 공개 자물쇠
- 많은 사람들이 이 자물쇠를 사용해 상자를 잠글 수 있지만, 이 자물쇠로 잠긴 상자는 특정한 키를 사용해야만 열 수 있음
개인 키(Private Key) : 오직 특정한 사람만 가지고 있는 비밀 키
- 이 키를 사용해야만 공개 자물쇠로 잠긴 상자를 열 수 있음
클라이언트 헬로 (Client Hello)
|
| - 클라이언트가 서버에 연결을 요청하며, 지원하는 TLS 버전, 암호화 스위트 목록, 랜덤 값(클라이언트 랜덤)을 보냅니다.
v
서버 헬로 (Server Hello)
|
| - 서버가 클라이언트의 요청에 응답하며, 선택한 TLS 버전, 암호화 스위트, 랜덤 값(서버 랜덤)을 보냅니다.
v
서버 인증 및 키 교환 (Server Authentication & Key Exchange)
|
| - 서버는 자신의 디지털 인증서를 클라이언트에 보냅니다. 인증서에는 서버의 공개 키가 포함되어 있습니다.
| - 필요한 경우 서버는 키 교환에 필요한 추가 데이터를 보냅니다.
v
서버 헬로 완료 (Server Hello Done)
|
| - 서버가 클라이언트에게 헬로 메시지 전송이 완료되었음을 알립니다.
v
클라이언트 키 교환 (Client Key Exchange)
|
| - 클라이언트는 서버의 공개 키를 사용하여 프리마스터 시크릿(Pre-Master Secret)을 암호화한 후 서버에 보냅니다.
v
변경 암호 사양 (Change Cipher Spec)
|
| - 클라이언트가 Change Cipher Spec 메시지를 보내고, 이후의 통신을 대칭 키로 암호화할 준비가 되었음을 알립니다.
v
클라이언트 완료 (Client Finished)
|
| - 클라이언트가 Finished 메시지를 보내 핸드셰이크가 무결하게 완료되었음을 확인합니다.
v
서버 변경 암호 사양 (Server Change Cipher Spec)
|
| - 서버가 Change Cipher Spec 메시지를 보내고, 이후의 통신을 대칭 키로 암호화할 준비가 되었음을 알립니다.
v
서버 완료 (Server Finished)
|
| - 서버가 Finished 메시지를 보내 핸드셰이크가 무결하게 완료되었음을 확인합니다.