HTTPS 통신과정 및 원리_Network

miin·2021년 12월 10일
0

Network

목록 보기
4/13
post-thumbnail

HTTPS 통신과정 및 원리

  • 대칭키와 공개키(비대칭키) 방식을 전부 사용하는 하이브리드 방식
  • 데이터 전송을 위해 대칭키 방식을 사용하며 대칭키를 안전하게 전달하기 위해 공개키 방식을 사용한다.
  1. Client Hello
    브라우저 마다 지원하는 암호화 알고리즘과 TLS 버전이 다르므로 해당 정보를 전송하며, 난수 값을 생성하여 전송합니다.

  2. Server Hello
    사용할 TSL 버전, 사용할 암호화 알고리즘, 난수값을 전송합니다.

  3. Certificate
    CA로 부터 발급받은 인증서를 전송합니다.

  4. Server Key Exchange
    키 교환에 필요한 정보를 제공합니다. 만약 필요하지 않으면 이 과정은 생략이 가능한데, 예를 들어 키교환 알고리즘을 Diffie-Hellman으로 사용한다면 소수, 원시근 등이 필요하므로 이것을 전송합니다

  5. Certificate Request
    서버가 클라이언트를 인증해야할때 인증서를 요구하는 단계입니다. 요청하지 않을수도 있습니다.

  6. Server Hello Done

  7. Client Key Exchange, Change Cipher Spec
    pre-master-key 라는 것을 전송합니다. 이 키는 1,2 단계에서 생성한 난수를 조합하여 생성하게되며 대칭키로 사용하게될 예정입니다. 그러므로 안전한 전송을 위해서 공개키 방식을 사용하여 전송합니다.

  8. Change Cipher Spec
    클라이언트로 부터 전송받은 pre-master-key를 정상적으로 복호화 후 master-key(대칭키)로 승격 후 보안 파라미터를 적용하거나 변경될때 보내는 알림입니다.

위 과정을 통해서 공개키 방식으로 대칭키를 안전하게 설정하여 데이터를 송, 수신하게됩니다.

포트란

아파트의 동, 호수와 같은 접속 포트

  • http는 80포트, https는 443포트를 주로 사용, 포트는 생략 가능
  • https는 http에 보안이 추가된것 (HTTP Secure)

path

리소스 경로, 계층적 구조
ex) /members/100, /items/iphone12 /home/file1.jpg

0개의 댓글