HTTP 통신 암호화 과정
- 웹서버에서 웹서버의 공개키와 개인키 생성
- 웹서버에서 브라우저로 공개키를 복사해줌
- (브라우저의 개인키) 생성
- (브라우저의 개인키)를 (서버의 공개키)로 암호화
- 암호화된 키를 웹서버로 전달
- 웹서버는 (웹서버의 개인키)로 복호화함
- (웹서버의 공개키)와 (브라우저의 개인키)로 대칭키를 생성
- 대칭키로 데이터 암호화 & 통신
- 문제점
중간자 공격 가능: broser에서 fake 웹서버로 접속, 같은 방법으로 통신
HTTPS 통신 암호화 과정
CA 인증 사용, 브라우저와 웹서버 이외에 CA를 이용함
- 브라우저는 CA에서 발급한 공개키를 가지고 있음
- 웹서버에서 CSR(Certificate Signing Request)을 사용하여 공개키를 생성하고 CA로 전달
- CA는 CSR을 통해서 인증서를 만들고 CA의 개인키로 인증서와 웹서버 공개키를 암호화 후 웹서버로 전달
- 웹서버는 암호화된 인증서와 웹서버 공개키를 브라우저로 전달
- 브라우저는 갖고 있는 CA의 공개키로 복호화
- 이후 HTTP 통신의 3~
- 브라우저의 개인키만 이동함
- CA의 '개인키'로 인증서 및 서버의 공개키 암호화
- 서버의 '공개키'로 브라우저의 '개인키' 암호화 후 전달
- 통신은 대칭키로
'CS > NETWORK' 카테고리의 다른 글
HTTP status code (0) | 2021.09.28 |
---|---|
네트워크 (0) | 2021.09.17 |
댓글