HSTS

読み:えいちえすてぃーえす / 英語表記:HTTP Strict Transport Security

WebサイトがHTTPSでのアクセスをブラウザに強制する仕組み。HTTPSの応答ヘッダーのStrict-Transport-Securityフィールドで方針を伝え、指定した期間はHTTPのURLもHTTPSへ切り替えて接続させる。

イマシルちゃんの解説

HTTPでサイトを開いてからHTTPSへ転送するだけだと、最初の通信は暗号化されていないんだ。
攻撃者がその転送を邪魔すると、HTTPのまま通信させられることがあるよ。
HSTSは、サイトへの接続をHTTPSに限定するセキュリティの仕組みだよ。
サイトはHTTPSの応答で、これからHTTPSだけを使う期間をブラウザに知らせるんだ。
方針を覚えたブラウザは、HTTPのURLを開いても通信を始める前にHTTPSへ切り替えるよ。
ただし、まだ方針を知らないブラウザの最初のHTTP接続までは守れないんだ。

より深い解説

定義

HSTS(HTTP Strict Transport Security)は、RFC 6797で定められた仕組みである。HTTPSの応答に Strict-Transport-Security ヘッダーを付けると、ブラウザは、指定された期間、そのドメインへのアクセスを自動的にHTTPSに切り替え、証明書のエラーがあるときは、利用者が警告を無視して接続することもできなくする。

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
指定意味
max-ageHTTPSを強制する期間(秒)。31536000秒は1年
includeSubDomainsサブドメインにも適用する
preloadブラウザにあらかじめ組み込まれる一覧(HSTSプリロードリスト)への登録を希望する

防げる攻撃

利用者が http:// でアクセスしたり、HTTPのリンクをたどったりすると、HTTPSへ転送されるまでの最初の通信は暗号化されない。中間者は、ここでHTTPSへの転送を妨げ、利用者とHTTPのまま通信させることができる(SSLストリッピング)。HSTSを使うと、ブラウザが最初からHTTPSで接続するため、この攻撃を防げる。

ただし、初めてアクセスするときは、まだヘッダーを受け取っていないため守られない。プリロードリストに登録すると、初回のアクセスも守られる。

セキュリティに関する主な応答ヘッダー

ヘッダー働き
Strict-Transport-Security指定した期間、HTTPSでのアクセスを強制する
Content-Security-Policy読み込んでよいスクリプトや画像などの取得元を制限し、XSSなどの被害を減らす
X-Content-Type-Optionsnosniff を指定し、ブラウザが Content-Type を無視して内容から種類を推測するのを防ぐ
X-Frame-Optionsほかのサイトのフレームに表示させない(クリックジャッキングの対策)
X-XSS-Protection古いブラウザのXSSフィルタを有効にする(現在は使われない)

実際の試験ではここに出る!全1問

ネットワークスペシャリスト

午前Ⅱ

この用語が出てくる記事

↑