出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/12/08 03:23 UTC 版)
|
|
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 (2025年12月)
|
| HTTP |
|---|
| 主要項目 |
| リクエストメソッド |
| ヘッダーフィールド |
|
| ステータスコード |
|
| 認証方式 |
| セキュリティホール |
|
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ポリシーは、サーバからユーザーエージェントへ、Strict-Transport-Securityという名前のHTTPレスポンスヘッダフィールドを介して伝達される。HSTSポリシーは、ユーザーエージェントがセキュアな方法でのみサーバにアクセスすべき期間を指定する
RFC 6797。HSTSを使用するウェブサイトは、しばしば平文のHTTPを受け入れず、HTTP経由の接続を拒否するか、ユーザーを体系的にHTTPSへリダイレクトする(ただし、これは仕様で要求されているわけではない)。この結果、TLSを実行できないユーザーエージェントは、そのサイトに接続できなくなる。
この保護は、ユーザーが少なくとも一度そのサイトを訪れた後にのみ適用され、「Trust on first use」という原則に依存している。この保護の仕組みは、ユーザーがサイトへのHTTP(HTTPSではない)URLを入力または選択した際、ウェブブラウザなどのクライアントが、HTTPリクエストを行うことなく自動的にHTTPSにアップグレードすることで、HTTPによる中間者攻撃の発生を防ぐというものである。
HSTSは、サイトへの接続は常にTLS/SSLを使用すべきであることをブラウザに通知することで、この問題に対処する RFC 6797。ユーザーの初回訪問である場合、HSTSヘッダは攻撃者によって除去される可能性がある。Google Chrome、Firefox、およびInternet Explorer/Microsoft Edgeは、HSTSをサポートする既知のサイトを含むリストである「HSTSプリロードリスト」を実装することで、この制限に対処している[1][2][3][4]。このリストはブラウザと共に配布され、リストにあるサイトへの最初の要求からHTTPSを使用する。これにより、初回訪問時の攻撃を防ぐことができる。
サーバは、HTTPS接続を介してヘッダを提供することでHSTSポリシーを実装する(HTTP経由のHSTSヘッダは無視される)[5]。例えば、サーバは、今後1年間(max-ageは秒単位で指定され、31,536,000は閏年でない1年に相当する)そのドメインへの将来のリクエストがHTTPSのみを使用するようにヘッダを送信することができる: Strict-Transport-Security: max-age=31536000。
ウェブアプリケーションがユーザーエージェントにHSTSポリシーを発行すると、準拠したユーザーエージェントは次のように動作する RFC 6797。
http://example.com/some/page/は、サーバにアクセスする前にhttps://example.com/some/page/に変更される)。HSTSポリシーは、ウェブアプリケーションのユーザーを、いくつかの受動的(盗聴)および能動的なネットワーク攻撃から保護するのに役立つ RFC 6797。中間者攻撃者がユーザーとウェブアプリケーションサーバ間のリクエストとレスポンスを傍受する能力は、ユーザーのブラウザがそのウェブアプリケーションに対してHSTSポリシーを有効にしている間は大幅に減少する。
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]。
出典: フリー百科事典『ウィキペディア(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」の概要を参照ください。