HSTS vs HTTPS-Only Mode

近年來主流的瀏覽器陸續支援 HTTPS-Only Mode[1][2][3]。該模式啟用時,使用者造訪任何網站,瀏覽器都會優先選用 HTTPS。

HTTP Strict Transport Security (HSTS) 是一個網路安全機制,透過伺服器的回應帶有 Strict-Transport-Security 標頭,強制瀏覽器只能使用 HTTPS 傳輸。

這兩者有何差別呢? Mozilla Blog 有一篇文章[4]的圖文解說相當清楚。簡單的說,HTTPS-Only Mode 可以確保使用者訪問網站送出的第一個請求是 HTTPS。當網站不支援 HTTPS 時,會跳出警告讓使用者選擇是否改以 HTTP 訪問。HSTS 的機制則是做到完全的禁止使用者以 HTTP 訪問,但前提是使用者必須先以 HTTPS 進行請求,才會收到 Strict-Transport-Security 標頭。HSTS 無法確保使用者訪問網站時送出的第一個請求為 HTTPS,首次連線很容易面臨中間人攻擊的風險。

Comments