本文へスキップ
ecdsa.com

HSTS(HTTP Strict Transport Security)

RFC 6797 で規定された HTTP レスポンスヘッダーで、一定期間そのホストには HTTPS だけを使い、証明書エラーを無視して先へ進む操作を拒否し、http:// のリンクを自動的にアップグレードするようブラウザーに指示します。
別表記HTTP Strict Transport SecurityStrict-Transport-SecurityHSTS preload

構文は Strict-Transport-Security: max-age=63072000; includeSubDomains; preload で、HTTPS 経由で送信します(HTTP 経由ではブラウザーに無視されます)。max-age の期限が切れるまで、ブラウザーはリクエストを送信する前に http:// の URL を https:// に書き換えます。これにより、初回訪問以降は SSL ストリッピング攻撃を防げます。

それでも初回訪問は無防備なままであり、これを解決するのがプリロードリストです。hstspreload.org で登録されたドメインは、Chrome、Firefox、Safari、Edge に組み込まれます。要件には、有効な証明書、同じホスト上での HTTP から HTTPS へのリダイレクト、すべてのサブドメインでの HTTPS、そして max-age が 31,536,000 秒以上で includeSubDomains と preload を含むヘッダーがあります。リストからの削除がユーザーに反映されるまでには数か月かかるため、まず短い max-age の値でテストしてください。.dev や .app のように、トップレベルドメイン全体がプリロードされている例もあります。

規格と参考文献

すべての用語