HTTP Strict Transport Securityとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > デジタル大辞泉 > HTTP Strict Transport Securityの意味・解説 

エッチ‐エス‐ティー‐エス【HSTS】

読み方:えっちえすてぃーえす

《HTTP strict transport security》ブラウザーウェブサイトアクセスした際、初回HTTPアクセスしても、次回以降HTTPS置き換えて通信する仕組み中間者攻撃などを防ぐことができる。


HTTP Strict Transport Security

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/07/29 07:04 UTC 版)

HTTP Strict Transport Security (略称 HSTS)とは、WebサーバーWebブラウザに対して、現在接続しているドメイン(サブドメインを含む場合もある)に対するアクセスにおいて、次回以降HTTPの代わりにHTTPSを使うように伝達するセキュリティ機構である。HSTSはIETF標準化過程にあるプロトコルであり、RFC 6797で規定されている。

概要

WebサーバーがWebブラウザに対して、セキュアなHTTPSのみでサービスを提供したい場合、ユーザーの利便性といった観点から、HTTPで接続した際にHTTPSのURIにリダイレクトする場合がある。その際に、Webサーバーからのレスポンスにリダイレクトする指示を入れることになるが、HTTPは改竄検知機能を持たないため、攻撃者がこれを悪意のあるサイトにリダイレクトする指示に書き換えたり、HTTPSの内容をHTTPで中継(SSL Stripping)したとしても、Webブラウザはそれを知ることができず、クッキーハイジャックのような中間者攻撃を許してしまう。

HSTSではユーザーがWebブラウザにスキームがhttpであるURIを入力するなどしてHTTPで接続しようとした時に、予めWebサーバーがHSTSを有効にするよう指示してきたドメインの場合、Webブラウザが強制的にHTTPSでの接続に置き換えてアクセスすることで、この問題を解決する。

HSTSの仕組み

HSTSポリシーは、サーバからユーザーエージェントへ、Strict-Transport-Securityという名前のHTTPレスポンスヘッダフィールドを介して伝達される。HSTSポリシーは、ユーザーエージェントがセキュアな方法でのみサーバにアクセスすべき期間を指定する RFC 6797。HSTSを使用するウェブサイトは、しばしば平文のHTTPを受け入れず、HTTP経由の接続を拒否するか、ユーザーを体系的にHTTPSへリダイレクトする(ただし、これは仕様で要求されているわけではない)。この結果、TLSを実行できないユーザーエージェントは、そのサイトに接続できなくなる。

この保護は、ユーザーが少なくとも一度そのサイトを訪れた後にのみ適用され、「Trust on first use」という原則に依存している。この保護の仕組みは、ユーザーがサイトへのHTTP(HTTPSではない)URLを入力または選択した際、ウェブブラウザなどのクライアントが、HTTPリクエストを行うことなく自動的にHTTPSにアップグレードすることで、HTTPによる中間者攻撃の発生を防ぐというものである。

HSTSプリロード

HSTSは、サイトへの接続は常にTLS/SSLを使用すべきであることをブラウザに通知することで、この問題に対処する RFC 6797。ユーザーの初回訪問である場合、HSTSヘッダは攻撃者によって除去される可能性がある。Google ChromeFirefox、およびInternet Explorer/Microsoft Edgeは、HSTSをサポートする既知のサイトを含むリストである「HSTSプリロードリスト」を実装することで、この制限に対処している[1][2][3][4]。このリストはブラウザと共に配布され、リストにあるサイトへの最初の要求からHTTPSを使用する。これにより、初回訪問時の攻撃を防ぐことができる。

HSTSの実装

サーバは、HTTPS接続を介してヘッダを提供することでHSTSポリシーを実装する(HTTP経由のHSTSヘッダは無視される)[5]。例えば、サーバは、今後1年間(max-ageは秒単位で指定され、31,536,000は閏年でない1年に相当する)そのドメインへの将来のリクエストがHTTPSのみを使用するようにヘッダを送信することができる: Strict-Transport-Security: max-age=31536000

ウェブアプリケーションがユーザーエージェントにHSTSポリシーを発行すると、準拠したユーザーエージェントは次のように動作する RFC 6797

  1. ウェブアプリケーションを参照する安全でないリンクを、自動的に安全なリンクに変換する(例:http://example.com/some/page/は、サーバにアクセスする前https://example.com/some/page/に変更される)。
  2. 接続のセキュリティが確保できない場合(例:サーバのTLS証明書が信頼できない場合)、ユーザーエージェントは接続を終了させなければならず RFC 6797、ユーザーがウェブアプリケーションにアクセスすることを許可すべきではない RFC 6797

HSTSポリシーは、ウェブアプリケーションのユーザーを、いくつかの受動的(盗聴)および能動的なネットワーク攻撃から保護するのに役立つ RFC 6797中間者攻撃者がユーザーとウェブアプリケーションサーバ間のリクエストとレスポンスを傍受する能力は、ユーザーのブラウザがそのウェブアプリケーションに対してHSTSポリシーを有効にしている間は大幅に減少する。

セキュリティ上の考察

  • HSTSはHTTPS接続が安全であることを前提としているため、TLSの安全性が脅かされる場合には意味を成さない場合がある。[6]
  • 最初の接続ではWebブラウザはHTTPS接続を強制するべきかどうかを知り得ないため、攻撃に対して脆弱である。[7]この問題に対する解決策として、上述のHSTSプリロードが存在する。
  • ジュネード・アリは、HSTSは偽ドメインの使用に対しては効果がないと指摘している。DNSベースの攻撃を使用することで、中間者攻撃者がHSTSプリロードリストにない人工的なドメインからトラフィックを提供することが可能になる[8]。これはDNSスプーフィング攻撃[9]や、単にwww.example.orgwww.example.comと誤認させるようなドメイン名によって可能になる。
  • HSTSプリロードリストがあっても、HSTSは、BEASTCRIME攻撃のような、TLS自体に対する高度な攻撃を防ぐことはできない。TLS自体への攻撃は、HSTSポリシーの範疇外である。また、サーバへの攻撃からも保護できない。
  • HSTSは期限付きであるため、偽のNTPパケットを使用するなどして、被害者のコンピュータの時刻をずらす攻撃に対して脆弱である[10]

仕様の歴史

HSTS仕様は、2012年10月2日にIESGによって標準化提案RFCとして公開が承認された後、2012年11月19日にRFC 6797として公開された[11]。著者らは当初、2010年6月17日にインターネットドラフトとして提出した。インターネットドラフトへの転換に伴い、仕様名は「Strict Transport Security」(STS)から「HTTP Strict Transport Security」に変更された。これは、仕様がHTTPにのみ適用されるためである[12]。しかし、HSTS仕様で定義されているHTTPレスポンスヘッダフィールドは「Strict-Transport-Security」という名前のままである。

当時「STS」と呼ばれていた仕様の最後のいわゆる「コミュニティ版」は、コミュニティからのフィードバックに基づいた改訂を加え、2009年12月18日に公開された[13]

PayPalのJeff Hodges、Collin Jackson、Adam Barthによる最初のドラフト仕様は、2009年9月18日に公開された[14]

HSTS仕様は、JacksonとBarthが論文「ForceHTTPS: Protecting High-Security Web Sites from Network Attacks」で記述した独創的な研究に基づいている[15]

さらに、HSTSは、Jeff HodgesとAndy Steingrueblが2010年の論文「The Need for Coherent Web Security Policy Framework(s)」で提唱した、ウェブセキュリティを改善するための全体的なビジョンの一側面を実現したものである[16]

ブラウザの対応状況

Chromium 45内のHTTPS Strict Transport Securityの設定ページ。「en.wikipedia.org」ドメインのセキュリティポリシーの状態を示している。

脚注

  1. ^ Chromium HSTS Preloaded list”. cs.chromium.org. 2020年2月18日時点のオリジナルよりアーカイブ。2025年7月29日閲覧。
  2. ^ Langley, Adam (2010年7月8日). “Strict Transport Security”. The Chromium Projects. 2019年9月1日時点のオリジナルよりアーカイブ。2025年7月29日閲覧。
  3. ^ a b Keeler, David (2012年11月1日). “Preloading HSTS”. Mozilla Security Blog. 2020年2月24日時点のオリジナルよりアーカイブ。2025年7月29日閲覧。
  4. ^ HTTP Strict Transport Security comes to Internet Explorer” (2015年2月16日). 2015年11月15日時点のオリジナルよりアーカイブ。2025年7月29日閲覧。
  5. ^ a b Strict-Transport-Security” (英語). MDN Web Docs. Mozilla. 2020年3月20日時点のオリジナルよりアーカイブ。2025年7月29日閲覧。
  6. ^ Hodges, Jeff; Jackson, Collin; Barth, Adam (2012年11月). “Section 14.3. Ramifications of HSTS Policy Establishment Only over Error-Free Secure Transport”. RFC 6797. IETF. 2013年6月29日閲覧。
  7. ^ Hodges, Jeff; Jackson, Collin; Barth, Adam (2012年11月). “Section 14.6. Bootstrap MITM Vulnerability”. RFC 6797. IETF. 2013年6月29日閲覧。
  8. ^ Performing & Preventing SSL Stripping: A Plain-English Primer”. Cloudflare Blog (2017年10月20日). 2019年12月14日時点のオリジナルよりアーカイブ。2025年7月29日閲覧。
  9. ^ Maksutov, A. A.; Cherepanov, I. A.; Alekseev, M. S. (2017). Detection and prevention of DNS spoofing attacks. 2017 Siberian Symposium on Data Science and Engineering (SSDSE). pp. 84–87. doi:10.1109/SSDSE.2017.8071970. ISBN 978-1-5386-1593-5. S2CID 44866769.
  10. ^ Selvi, Jose (17 October 2014). Bypassing HTTP Strict Transport Security (PDF). Black Hat Briefings. アムステルダム. 2014年10月22日時点のオリジナルよりアーカイブ (PDF). 2025年7月29日閲覧.
  11. ^ [websec Protocol Action: 'HTTP Strict Transport Security (HSTS)' to Proposed Standard (draft-ietf-websec-strict-transport-sec-14.txt)]” (2012年10月2日). 2017年1月29日時点のオリジナルよりアーカイブ。2025年7月29日閲覧。
  12. ^ Hodges, Jeff. “Re: [HASMAT "STS" moniker (was: IETF BoF @IETF-78 Maastricht: HASMAT...)]”. 2017年2月2日時点のオリジナルよりアーカイブ。2025年7月29日閲覧。
  13. ^ Strict Transport Security -06” (2009年12月18日). 2017年2月21日時点のオリジナルよりアーカイブ。2025年7月29日閲覧。
  14. ^ Strict Transport Security -05” (2009年9月18日). 2020年2月24日時点のオリジナルよりアーカイブ。2025年7月29日閲覧。
  15. ^ ForceHTTPS: Protecting High-Security Web Site from Network Attacks” (2008年4月). 2020年2月28日時点のオリジナルよりアーカイブ。2025年7月29日閲覧。
  16. ^ Hodges, Jeff (2010年10月29日). “The Need for Coherent Web Security Policy Framework(s)”. 2017年8月14日時点のオリジナルよりアーカイブ。2025年7月29日閲覧。
  17. ^ The Chromium Developers (2010年11月17日). “Strict Transport Security - The Chromium Projects”. 2020年3月20日時点のオリジナルよりアーカイブ。2025年7月29日閲覧。
  18. ^ Hodges, Jeff (2009年9月18日). “fyi: Strict Transport Security specification”. 2020年2月29日時点のオリジナルよりアーカイブ。2025年7月29日閲覧。
  19. ^ Opera Software ASA (2012年4月23日). “Web specifications support in Opera Presto 2.10”. 2018年6月20日時点のオリジナルよりアーカイブ。2025年7月29日閲覧。
  20. ^ Langley, Adam [@agl__] (20 December 2013). “確認済み。~/Library/Cookies/HSTS.plist を参照。ある時点でのChromiumプリロードを含み、HSTSヘッダを処理する。”. 2019年5月9日時点のオリジナルよりアーカイブ. X(旧Twitter)より2025年7月29日閲覧.
  21. ^ HTTP Strict Transport Security comes to Internet Explorer 11 on Windows 8.1 and Windows 7”. windows.com. 2019年11月27日時点のオリジナルよりアーカイブ。2025年7月29日閲覧。
  22. ^ Internet Explorer Web Platform Status and Roadmap”. 2015年6月29日時点のオリジナルよりアーカイブ。2025年7月29日閲覧。
  23. ^ Project Spartan and the Windows 10 January Preview Build - IEBlog” (2015年1月22日). 2019年11月29日時点のオリジナルよりアーカイブ。2025年7月29日閲覧。

関連項目

外部リンク


HTTP Strict Transport Security (HSTS)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/16 22:23 UTC 版)

Internet Explorer 11」の記事における「HTTP Strict Transport Security (HSTS)」の解説

2015年6月Internet Explorer累積的なセキュリティ更新プログラム (KB3058515) で、HSTS対応した

※この「HTTP Strict Transport Security (HSTS)」の解説は、「Internet Explorer 11」の解説の一部です。
「HTTP Strict Transport Security (HSTS)」を含む「Internet Explorer 11」の記事については、「Internet Explorer 11」の概要を参照ください。

ウィキペディア小見出し辞書の「HTTP Strict Transport Security」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「HTTP Strict Transport Security」の関連用語

HTTP Strict Transport Securityのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



HTTP Strict Transport Securityのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのHTTP Strict Transport Security (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのInternet Explorer 11 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS