Untitled

기존의 HTTP 프로토콜은 전송계층의 TCP위에서 동작합니다. 여기서 SSL(Secure Sockets Layer)이라는 보안계층이 전송계층 위에 올라갑니다. HTTPS는 SSL 위에 HTTP를 얹어서 보안이 보장된 통신을 하는 프로토콜입니다. 이 통신 방식을 SSL 암호화 통신 이라고도 합니다. SSL 암호화 통신은 공개키 암호화 방식이라는 알고리즘을 통해 구현됩니다.****


Untitled

공개키 암호화 방식에는 공개키와 개인키  두 종류의 키가 존재합니다. 한쪽 키로 데이터를 암호화 했다면 오직 다른쪽 키로만 복호화를 할 수 있습니다.


CA(Certificate Authority, 인증기관)는 서버 운영 기업이 넘겨준 공개키를 인증서 발급자, CA의 이름 등과 함께 묶어서 CA가 가지고 있는 개인키로 암호화해서 SSL인증서로 발급해줍니다.

차후에 클라이언트에서 요청을 하면 서버는 클라이언트에게 SSL 인증서를 보냅니다. 브라우저(클라이언트)는 대표적인 CA들의 리스트와 그들의 공개키를 보유하고 있습니다. 만약 인증서에 적힌 CA의 이름과 브라우저가 소유하고 있는 CA 이름이 같다면 CA의 공개키로 SSL 인증서를 복호화 합니다.

이제 SSL내부에 들어있던 서버의 공개키를 가지고 요청을 암호화해서 서버에게 보냅니다. 서버측은 가지고 있는 개인키로 요청을 복호화하여 해석하고 응답은 다시 암호화 해서 보냅니다. 이 과정을 통해 보안성이 강한 통신을 할 수 있게 됩니다.

Untitled


https://devjem.tistory.com/3

https://aws-hyoh.tistory.com/59