정의
특징
정의
애플리케이션 서버(A)를 만드는 기업은 HTTPS를 적용하기 위해 공개키와 개인키를 만든다.
신뢰할 수 있는 CA 기업을 선택하고, 그 기업에게 내 공개키 관리를 부탁하며 계약을 한다.
CA : Certificate Authority로, 공개키를 저장해주는 신뢰성이 검증된 민간 기업
계약 완료된 CA 기업은 <해당 기업의 이름, 서버(A) 공개키, 공개키 암호화 방법> 을 담은 인증서를 만들고,
해당 인증서를 CA 기업의 개인키로 암호화해서 서버(A)에게 제공한다.
애플리케이션 서버(A)는 CA기업의 개인키로 암호화된 인증서를 갖게 되었다.
이제 서버(A)는 서버(A)의 공개키로 암호화된 HTTPS 요청이 아닌 요청을 받았을 때, CA기업의 개인키로 암호화된 인증서를 클라이언트에게 건내준다.
만약 클라이언트가 main.html 파일을 A서버에게 요청했다고 가정하자.
HTTPS 요청이 아니기 때문에, CA기업이 A서버의 정보를 CA기업의 개인키로 암호화한 인증서를 클라이언트에게 건내준다.
브라우저는 해당 인증서를 CA 기업의 공개키로 복호화 <해당 기업의 이름, 서버(A) 공개키, 공개키 암호화 방법> 하여 서버(A)의 공개키를 얻을 수 있다.
이제 A서버와 통신할 때는 서버(A)의 공개키를 통해 암호화하여 요청을 전송할 수 있다.
CA 기업의 공개키는 브라우저가 이미 알고있다.
(세계적으로 신뢰할 수 있는 기업으로 등록되어 있기 때문에, 브라우저가 인증서를 탐색하여 해독이 가능한 것)
HTTPS도 무조건 안전한 것은 아니다.
(신뢰받는 CA 기업이 아닌 자체 인증서를 발급한 경우 등)
이때는 HTTPS지만 브라우저에서 주의 요함
, 안전하지 않은 사이트
와 같은 알림으로 주의를 받게 된다.