HTTPS 개요 및 TLS 핸드셰이크 프로토콜

Source

  • Evernote/Inbox/HTTPS에 대해 알아야 할 것들 Mimul Tech log.md

Summary

본 문서는 HTTPS의 현황(Let’s Encrypt 등 인증서 통계, 브라우저 보안 정책 강화)과 도입 필요성(인증, 무결성, 기밀성, 신기술 지원, SEO)을 설명한다. HTTP와 HTTPS의 차이점(TCP 이후 TLS 핸드셰이크 수행)을 비교하고, TLS 핸드셰이크의 4단계(매개변수 교환, 서버 인증, 키 교환, 암호화 통신 시작)를 상세히 기술한다. 또한 TLS 세션 재연결(Session Resumption) 기능에 대해 언급한다.

Key Points

  • HTTPS는 HTTP over TLS로, TCP 핸드셰이크 후 TLS 핸드셰이크를 통해 암호화 통신을 시작한다.
  • 도입 이유는 Identity(인증), Integrity(무결성), Confidentiality(기밀성) 보장 및 HTTP/2, WebRTC 등 최신 API 사용 권한 획득이다.
  • TLS 핸드셰이크는 1) 매개변수 교환(ClientHello/ServerHello), 2) 서버 인증(Certificate 검증 및 서명 확인), 3) 키 교환(공유키 도출), 4) 암호화 통신 시작 알림(ChangeCipherSpec/Finished)으로 구성된다.
  • TLS Session Resumption은 기존 세션 정보를 캐싱하여 재연결 시 전체 핸드셰이크 없이 세션을 복구하는 기능이다.
  • 최근 브라우저(HTTP 경고 표시, HTTPS 필수 API)와 검색엔진(SEO 우대)은 HTTPS 적용을 강력히 권장한다.