HSTS|情報処理安全確保支援士試験 令和3年 春期午前Ⅱ試験 問15
出典:令和3年春期 午前Ⅱ 問15
分野:セキュリティ / セキュリティ実装技術
HSTS(HTTP Strict Transport Security)の説明はどれか。
- ア:HSTSを利用するWebサイトにWebブラウザがHTTPでアクセスした場合,Webブラウザから当該サイトへのその後のアクセスを強制的にHTTP over TLS(HTTPS)にする。
- イ:HSTSを利用するWebサイトにWebブラウザがHTTPでアクセスした場合,Webページの文書やスクリプトについて,あるオリジンから読み込まれたリソースから他のオリジンのリソースにアクセスできないように制限する。
- ウ:HTTPSで通信が保護されている場合にだけ,cookieの属性によらず強制的にcookieを送信する。
- エ:信頼性が高いサーバ証明書を有するWebサイトとのHTTPS通信では,Webブラウザに鍵マークを表示する。
TSUNAGARU-ADVICE
まず押さえたいこと
HSTSは、Webブラウザに対して、そのWebサイトへの以後のアクセスをHTTPSで行うよう強制する仕組みです。HTTPでアクセスしようとしても、ブラウザ側でHTTPSに切り替えるため、HTTPによる平文通信を避けやすくする効果があります。
迷ったときの判断軸
他オリジンのリソースへのアクセスを制限するのは同一オリジンポリシーやCORSの文脈です。cookieの送信条件はSecure属性などで制御します。鍵マークの表示もHSTSそのものの説明ではありません。HSTSは、一度HTTPSで接続したサイトへ、以後HTTPS接続を強制する仕組みと判断しましょう。
科目Bにつなげるために
科目Bでは、HTTPへ誘導して通信を盗聴・改ざんする攻撃や、HTTPS設定の不備を問う問題が出ることがあります。HSTSは、利用者が誤ってHTTPでアクセスしてもHTTPS通信を使わせる対策として理解しておきましょう。
HSTSは、Webブラウザに対して「このWebサイトには必ずHTTPSで接続してください」と指示する仕組みです。
通常、HTTPでアクセスされた場合は、301リダイレクトなどでHTTPSのページへ転送します。しかし、最初のHTTPアクセスは暗号化されていないため、HTTPSへ転送される前に通信を改ざんされたり、中間者攻撃を受けたりするおそれがあります。
そこでHSTSを使うと、WebサイトはHTTPレスポンスヘッダーで、ブラウザにHTTPS接続を強制するよう通知します。
たとえば、Strict-Transport-Security: max-age=31536000; includeSubDomains; preload は、「365日間、サブドメインも含めてHTTPS接続を強制する」という意味です。
HSTSにより、次回以降は最初からHTTPSで接続されるため、HTTP通信を狙った改ざんや盗聴のリスクを減らせます。
つまりHSTSは、「HTTPで接続される隙を減らし、Webサイトへの通信をHTTPSに統一するための仕組み」と考えると分かりやすいです。
したがって、アが適切です。
❌他選択肢が誤りの理由イ:HSTSを利用するWebサイトにWebブラウザがHTTPでアクセスした場合,Webページの文書やスクリプトについて,あるオリジンから読み込まれたリソースから他のオリジンのリソースにアクセスできないように制限する。
⇒同一オリジンポリシーに関する説明です。HSTSは、オリジン間のアクセス制御ではなく、対象サイトへのアクセスをHTTPSに強制するための仕組みです。
ウ:HTTPSで通信が保護されている場合にだけ,cookieの属性によらず強制的にcookieを送信する。
⇒CookieのSecure属性などに関する説明と混同しやすい内容です。HSTSはCookie送信条件を制御する仕組みではなく、WebブラウザにHTTPS接続を強制させる仕組みです。また、Cookieの属性によらず強制的に送信するという説明も不適切です。
エ:信頼性が高いサーバ証明書を有するWebサイトとのHTTPS通信では,Webブラウザに鍵マークを表示する。
⇒ブラウザの表示に関する説明であり、HSTSの説明ではありません。HSTSは、鍵マークを表示する仕組みではなく、対象サイトへの通信をHTTPではなくHTTPSに固定するためのセキュリティ機構です。