メインコンテンツまでスキップ

RFC 6797 - HTTP Strict Transport Security (HTTP厳格トランスポートセキュリティ, HSTS)

インターネット技術タスクフォース (IETF)
Request for Comments: 6797
カテゴリ: 標準化過程
ISSN: 2070-1721

著者:
J. Hodges (PayPal)
C. Jackson (Carnegie Mellon University)
A. Barth (Google, Inc.)

発行日: 2012年11月


概要 (Abstract)

本仕様は、ウェブサイトがセキュアな接続を介してのみアクセス可能であることを宣言できるメカニズム、および/またはユーザーが自身のユーザーエージェント (User Agent) に対して特定のサイトとセキュアな接続のみで対話するよう指示できるメカニズムを定義します。この全体的なポリシーは、HTTP厳格トランスポートセキュリティ (HTTP Strict Transport Security, HSTS) と呼ばれます。このポリシーは、Strict-Transport-Security HTTP応答ヘッダーフィールドおよび/またはその他の手段 (例えば、ユーザーエージェントの設定) を介してウェブサイトによって宣言されます。


このメモのステータス (Status of This Memo)

これはインターネット標準化過程文書です。

この文書は、インターネット技術タスクフォース (IETF) の成果物です。これはIETFコミュニティのコンセンサスを表しています。公開レビューを受けており、インターネット技術運営グループ (IESG) によって発行が承認されています。インターネット標準に関する詳細情報は、RFC 5741のセクション2で入手できます。

この文書の現在のステータス、正誤表、フィードバックの提供方法に関する情報は、以下で入手できます:
http://www.rfc-editor.org/info/rfc6797


Copyright (c) 2012 IETF Trustおよび文書の著者として識別された者。全著作権所有。

この文書は、BCP 78およびIETF文書に関するIETF Trustの法的規定 (http://trustee.ietf.org/license-info) の対象となり、これらは本文書の発行日に有効です。この文書に関するあなたの権利と制限を説明しているため、これらの文書を注意深く確認してください。


目次 (Table of Contents)

付録 (Appendices)


関連リソース


クイックリファレンス

HSTSのコア価値

HSTSは、HTTPS接続を強制することで、以下の重要なWebセキュリティ問題に対処します:

  1. SSL Stripping攻撃: 攻撃者がHTTPSリンクをHTTPに置き換える
  2. 中間者攻撃 (Man-in-the-Middle Attack): 暗号化されていないトラフィックを傍受および変更する
  3. セッションハイジャッキング: HTTP経由で送信されるCookieを盗む
  4. 混合コンテンツの問題: HTTPSページがHTTPリソースを読み込む

基本的な使用法

サーバー設定例 (Nginx):

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

ブラウザの動作:

ユーザーがアクセス: http://example.com
ブラウザが自動的に変換: https://example.com
証明書エラー: 直接ブロック、続行不可

展開の推奨事項

  1. テスト段階: max-age=300 (5分)
  2. 初期展開: max-age=86400 (1日)
  3. 安定運用: max-age=31536000 (1年)
  4. プリロードリストへの追加: max-age=63072000; includeSubDomains; preload

注意事項

⚠️ 重要な警告:

  • HSTSを設定すると、迅速に取り消すことが困難です
  • includeSubDomainsを使用する前に、すべてのサブドメインがHTTPSをサポートしていることを確認してください
  • HTTP応答でHSTSヘッダーを送信しないでください (削除されます)
  • 開発環境で長期的なmax-age値を使用しないでください

このRFCは、現代のWebセキュリティの基盤の一つであり、すべての主要なブラウザでサポートされています。HSTSを適切に展開することで、ウェブサイトのセキュリティを大幅に向上させることができます。