본문 바로가기

CS/네트워크

HTTPS의 동작원리

1. HTTPS란?

인터넷 상에서 정보를 암호화하는 SSL 프로토콜을 사용해 클라이언트와 서버가 자원을 주고받을 때 사용하는 통신 규약

2. HTTPS 통신흐름

① 서버(A)는 HTTPS를 적용하기 위해 공개키와 개인키를 만든다.

② 신뢰할 수 있는 CA 기업을 선택하고, 그 기업에게 공개키 관리를 부탁하며 계약을 한다.

CA란? Certificate Authority로, 공개키를 저장해주는 신뢰성이 검증된 민간기업

③ 계약 완료된 CA 기업은 해당 기업의 이름, A서버 공개키, 공개키 암호화 방법을 담은 인증서를 만들고, 해당 인증서를 CA기업의 개인키로 암호화하여 A서버에게 제공한다.

④ A서버는 암호화된 인증서를 갖게 되었다. 이제 A서버는 A서버의 공개키로 암호화되지 않은 HTTPS 요청이 오면, 이 암호화된 인증서를 클라이언트에게 건넨다.

⑤ 클라이언트가 main.html 파일을 달라고 A서버에게 요청했다고 가정한다면, HTTPS 요청이 아니기 때문에 앞서 CA기업이 만들었던 인증서를 받게 된다. 이 때, CA기업의 공개키는 브라우저가 이미 알고 있다!

⑥ 브라우저는 해독한 뒤 A서버의 공개키를 얻게 되었다. 이제 A서버와 통신할 때에는 얻은 A서버의 공개키로 암호화하여 요청을 날린다.

 

'CS > 네트워크' 카테고리의 다른 글

TCP/IP  (0) 2022.02.01
대칭키 vs 공개키  (0) 2021.09.30
웹의 동작  (0) 2021.09.25
CORS  (0) 2021.09.25
웹서버와 WAS  (0) 2021.09.25