오래 못 할 짓 하지 않기
[ 네트워크 시작 전 ] 7. TLS 핸드 셰이크 본문
핸드 셰이크
Client 와 Server간에 통신을 주고 받는 프로세스.
TLS 핸드 셰이크
통신을 주고받을 때 TLS를 사용하여 안전한 인터넷 통신을 위한
암호화 및 인증하는 것 , 이는 HTTPS 작동 원리의 근간을 이룬다.
언제 발생?
통신 중에 API호출 or (HTTPS를 통한 DNS쿼리를 포함한) HTTPS 를 사용할 때
+ 계속 TLS 핸드 셰이크를 해야함 = 통신할 때 계속 암호화 하고 감싸줘야하기 때문에
TLS 핸드 셰이크 중에는 어떤 일이 발생하는가?
- 사용할 TLS 버전 지정
- 사용할 암호 제품군 결정
- 서버의 공개키 , SSL 인증서 기관의 서명을 통해 서버 ID 인증
- (핸드셰이크 완료된 후) 대칭 암호화를 사용하기 위하여 세션 키 생성
TLS 핸드 셰이크 과정
1. '클라이언트 헬로' 메시지 : 클라이언트 → 서버 로 "헬로"라는 메시지를 전송하여 핸드셰이크 시작
2. '서버 헬로' 메시지 : 서버 → 클라이언트에게 응답을 해준다. 응답 내용 : [ 암호 제품군 , 무작위 암호화 문자열 ]
3. 인증 : 서버의 SSL 인증서를 인증서 발급 기관을 통해 검증.
인증서에 명시된 서버인지, 클라이언트 = 도메인 소유자인지
4. 예비 마스터 암호 : 앞 단계에서 검증을 통과했다면 , 클라이언트는 서버의 SSL 인증서를 통해 공개 키를 받는다.
5. 개인 키 사용
6. 세션 키 생성 :
7. 클라이언트 준비 완료 : 클라이언트가 세션 키로 암호화된 "완료" 메시지를 전송한다.
8. 서버 준비 완료 : 서버가 세션 키로 암호화된 "완료" 메시지를 전송한다.
9. 대칭 암호화 성공
(참고)
- 인프런 더코딩클럽 : 컴퓨터구조, 네트워크 기본 개념 정리
'3학년 2학기 > 네트워크 (Network)' 카테고리의 다른 글
[ ( 자습 ) 네트워크 ] 1. 거시적으로 보는 네트워크 (0) | 2024.07.09 |
---|---|
[ 네트워크 시작 전 ] 8. 웹 소켓 (0) | 2024.06.30 |
[ 네트워크 시작 전 ] 6. SSL (0) | 2024.06.29 |
[ 네트워크 시작 전 ] 5. HTTP (0) | 2024.06.28 |
[ 네트워크 시작 전 ] 4. DNS (0) | 2024.06.28 |