HTTP와 HTTPS의 차이
HTTP
- 웹 상에서 정보를 주고 받는 프로토콜(통신 규약)
- 텍스트 교환이기 때문에 내용이 노출될 수 있다.
HTTPS
- SSL 프로토콜을 이용하여 클라이언트와 서버가 데이터를 주고 받는 통신 규약
- 공개키 암호화 방식을 통해 암호화한다.
- 서버 측에서 자신의 공개키를 공개키 저장소(CA)에 등록한다.
- CA(Certificate Authority)는 민간기업이지만 아무나 운영할 수 없고 신뢰성이 검증된 기업만 CA를 운영할 수 있다.
- 서버는 HTTPS를 적용하기 위해 공개키와 개인키를 만든다.
- 신뢰할 수 있는 CA기업을 선택하고 그 기업에 내 공개키를 관리해달라고 계약한 후 돈을 지불한다.
- 계약을 완료한 후 CA 기업은 CA 기업 만의 공개키와 개인키가 있다.
- CA 기업은 CA기업의 이름과 서버이 공개키, 공개키 암호화 방법 등의 정보를 담은 인증서를 만들고 해당 인증서를 CA 기업의 개인키로 암호화해서 서버에게 제공한다.
- 서버는…
- 클라이언트는 공개키 저장소에서 공개키를 받는다.
- 서버는 서버만 알수 있는 개인키만 소유하고 있으면 된다.
- 서버에게 요청을 보내면 서버는 개인키로 암호화된 문장을 해독하고
- 응답을 받은 클라이언트는 공개키를 이용해 개인키로 암호화된 서버의 응답을 해독해서 사용한다.
출처
- https://jeong-pro.tistory.com/89