[Web] HSTS

양정훈·2022년 6월 22일
0
  • HTTP Strict Transport Security
  • HTTPS로 접속하도록 강제
  • Brower, Server 모두 HSTS를 지원해야함 (대부분 지원하고 있음)
  • Browser 내부에 HSTS List로 HTTPS를 지원하는 사이트 목록을 저장하고 있음

동작

사용자가 HTTPS를 지원하는 사이트에
http:// 또는 https:// 를 제외한 도메인만 입력해 접속하거나
http:// 로 접속하면

최초 접속인 경우

  1. Browser가 HTTP로 접속 시도
  2. HTTPS만 지원하는 사이트라면 301 Redirect 또는 302 Redirect를 응답
  3. Browser는 HTTPS로 다시 접속

이미 접속한 적 있는 경우 (HSTS List에 추가되어 있는 경우)

  1. Browser가 HSTS List에 도메인이 있는 것을 확인하고, HTTPS로 접속

접속 후

  1. Server는 응답 메시지에 HSTS Policy를 같이 보냄
    Strict-Transport-Security: max-age=0; includeSubDomains; preload
    • max-age : HSTS List 존속 기간, 0 이면 삭제 명령
    • includeSubDomains : 서브 도메인도 HSTS를 적용
    • preload : preloaded HSTS List에 추가
  2. Browser는 이 정보를 기반으로 HSTS List를 구성

Preloaded

  • HSTS List를 직접 저장하게 할 수 있음
  • HSTS List를 미리 구성함
  • Browser 설치, 업데이트시에 Vendor사가 제공
  • hstspreload.org 사이트에 등록 신청을 하면, 특정 조건을 만족하는 경우 미리 구성하는 HSTS List에 포함됨
  • 사용자가 직접 추가할 수도 있음

0개의 댓글