HTTPS

zenoan·2021년 3월 22일
0

HTTPS란?
HTTPS(HyperText Transfer Protocol over TLS/SSL)는 기존의 HTTP를 암호화한 Protocol로 보안이 강화된 버전. 기존에는 HTTPS의 약어에서 S가 SSL(Secure Socket Layer)였지만 TLS(Transport Layer Security)로 명칭이 바뀌고 TLS와 혼용 사용. TCP의 연결 후 TLS를 통해 암호화 설정이 되고 통신을 하는 방식.

동작방식

  1. 클라이언트가 서버에게 요청을 하면 서버는 인증기관에서 발급받은 인증서를 보낸다.
  2. 클라이언트는 인증서를 받는다. 인증서에서는 인증기관의 비밀키로 암호화된 사이트정보 그리고 인증기관의 공개키가 있다. 공개키로 복호화하여 서버가 신뢰할만한지 검증한다.
  3. 복호화가 될 시 인증서가 신뢰 가능하다는 뜻이기 때문에 데이터를 주고받을 대칭키를 생성한다.
  4. 대칭키를 서버의 공개키로 암호화 한다.
  5. 서버에 전송.
  6. 서버는 자신의 비밀키로 클라이언트가 보낸 대칭키를 복호화한다.
  7. 복호화한 대칭키를 통해 데이터를 주고 받는다.

*HTTPS는 대칭키 암호화를 사용. 서버와 클라이언트가 암호화/복호화에 동일한 비밀키를 사용하는 방식이다. 단점으로는 키를 공유하는 과정이 조금 어렵지만 장점으로는 속도가 빠르다.

profile
프론트엔드 개발자

0개의 댓글