HTTPS 통신 방식 요약
먼저 비대칭키 암호화 방식을 사용하여 대칭키를 교환하여 안정성을 확보하고
데이터 전송을 할때에는 대칭키 암호화 방식을 이용하여 효율성을 확보
HTTPS 통신 방식 단계별 설명
1. 클라이언트가 서버에 접속
▷ 클라이언트가 서버에 접속하여 SSL / TLS 핸드쉐이크 시작
2. 서버의 인증 및 공개키 전달
▷ 서버에서 CA 로 부터 받은 공개키가 포함된 인증서를 클라이언트에 전달
3. 키 교환 (비대칭키 암호화 방식 사용)
▷ 클라이언트에서 임의로 대칭키를 생성
▷ CA를 확인하고 얻은 공개키를 이용하여 생성한 대칭키를 암호화
3. 세션키 확보 (비대칭키 암호화 방식 사용)
▷ 클라이언트에서 암호화된 대칭키를 서버에 전달
▷ 서버에서 개인키를 이용하여 복호화 하여 대칭키를 획득
4. 데이터 전송 (대칭키 암호화 방식 사용)
▷ 데이터를 전송을 하는 쪽 (서버 / 클라이언트) 에서 세션키(대칭키)를 이용하여 암호화
▷ 데이터를 받은 쪽 (클라이언트 / 서버) 은 세션키를 이용하여 복호화
SSL 핸드쉐이크의 동작 과정을 나타낸 그림
[책][그림으로 쉽게 이해하는 웹 - HTTP- 네트워크] - 6장 : HTTP (Hypertext Transfer Protocol)
'서버 & 웹 개발 노트 > 웹' 카테고리의 다른 글
[ 웹 ] 비대칭키(공개키)와 대칭키 비교 (0) | 2024.03.31 |
---|---|
[웹] Reverse Proxy 리버스 프록시 (0) | 2024.03.21 |
정적 과 동적 (0) | 2024.03.20 |
WAS(Web Application Server) vs WS(Web Server) (0) | 2024.03.20 |
API 설계 시 데이터를 전달하는 방법: Query String, Path Params, req.Body (0) | 2024.02.10 |