본문 바로가기
CS/NETWORK

HTTP/HTTPS 암호화 과정

by 나른한 사람 2021. 9. 28.

HTTP 통신 암호화 과정

  1. 웹서버에서 웹서버의 공개키와 개인키 생성
  2. 웹서버에서 브라우저로 공개키를 복사해줌
  3. (브라우저의 개인키) 생성
  4. (브라우저의 개인키)를 (서버의 공개키)로 암호화
  5. 암호화된 키를 웹서버로 전달
  6. 웹서버는 (웹서버의 개인키)로 복호화함
  7. (웹서버의 공개키)와 (브라우저의 개인키)로 대칭키를 생성
  8. 대칭키로 데이터 암호화 & 통신
  • 문제점
    중간자 공격 가능: broser에서 fake 웹서버로 접속, 같은 방법으로 통신

HTTPS 통신 암호화 과정

CA 인증 사용, 브라우저와 웹서버 이외에 CA를 이용함

  1. 브라우저는 CA에서 발급한 공개키를 가지고 있음
  2. 웹서버에서 CSR(Certificate Signing Request)을 사용하여 공개키를 생성하고 CA로 전달
  3. CA는 CSR을 통해서 인증서를 만들고 CA의 개인키로 인증서와 웹서버 공개키를 암호화 후 웹서버로 전달
  4. 웹서버는 암호화된 인증서와 웹서버 공개키를 브라우저로 전달
  5. 브라우저는 갖고 있는 CA의 공개키로 복호화
  6. 이후 HTTP 통신의 3~
  • 브라우저의 개인키만 이동함
  • CA의 '개인키'로 인증서 및 서버의 공개키 암호화
  • 서버의 '공개키'로 브라우저의 '개인키' 암호화 후 전달
  • 통신은 대칭키로

'CS > NETWORK' 카테고리의 다른 글

HTTP status code  (0) 2021.09.28
네트워크  (0) 2021.09.17

댓글