HOME
NOTE

HTTPS

CREATED
2025. 3. 30. 오전 11:04:43
UPDATED
2025. 3. 30. 오전 11:52:37
TAGS
#Web#Protocol

개요

  • HTTPS(HyperText Protocol Secure)는 [[ HTTP ]]의 보안이 강화된 버전
  • 통신의 인증과 암호화를 위해 SSL(Secure Sockets Layer)이라는 암호화 프로토콜을 개발했고 이를 사용하는 HTTPS가 등장함
  • 현대 브라우저는 SSL이 아닌 TLS(Transport Layer Security)를 사용하지만 여전히 SSL이라는 용어는 널리 사용됨
  • TLS 1.0은 사실 SSL 3.1로 개발을 시작했지만 Netscape가 더이상 참여하지 않게 되면서 이를 명시하기 위해 프로토콜의 이름을 변경함

TLS 인증

  • TLS는 handshake라는 방식을 통해 통신하는 양측에서 메세지를 교환하여 서로를 인식하고 검증함
  • TLS handshake에는 다음 단계가 포함됨
    1. (브라우저) TLS 보안 웹사이트를 열고 웹 서버에 연결
    2. (브라우저) 식별 가능한 정보를 요청하여 웹 서버의 진위 여부 확인 시도
    3. (웹 서버) 공개 키가 포함된 인증서를 회신으로 보냄
    4. (브라우저) 인증서가 유효하고 웹사이트 도메인과 일치하는지 확인
    5. (브라우저) 일치한다면, 인증서를 통해 획득한 공개 키를 사용하여 세션 키가 포함된 메세지를 암호화하여 전송
    6. (웹 서버) 개인 키를 사용하여 메세지를 해독하고 세션 키 획득
    7. (웹 서버) 세션 키를 사용하여 암호화하고 브라우저에 승인 메세지를 보냄
    8. (브라우저, 웹 서버 모두) 동일한 세션 키를 사용하여 메세지를 안전하게 교환하도록 전환

참고