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ブラウザに鍵マークを表示する。
解説

HSTSは、Webブラウザに対して「このWebサイトには必ずHTTPSで接続してください」と指示する仕組みです。

通常、HTTPでアクセスされた場合は、301リダイレクトなどでHTTPSのページへ転送します。しかし、最初のHTTPアクセスは暗号化されていないため、HTTPSへ転送される前に通信を改ざんされたり、中間者攻撃を受けたりするおそれがあります。

そこでHSTSを使うと、WebサイトはHTTPレスポンスヘッダーで、ブラウザにHTTPS接続を強制するよう通知します。

  1. 利用者がWebサイトにアクセスする
  2. WebサイトがHSTSヘッダーを返す
  3. ブラウザが「このサイトはHTTPSで接続する」と記録する
  4. 次回以降、HTTPのURLにアクセスしても、ブラウザが自動的にHTTPSで接続する

たとえば、Strict-Transport-Security: max-age=31536000; includeSubDomains; preload は、「365日間、サブドメインも含めてHTTPS接続を強制する」という意味です。

指定 意味
max-age=31536000 HSTSの設定を365日間有効にする
includeSubDomains サブドメインにもHTTPS接続を強制する
preload ブラウザのHSTSプリロードリストへの登録を意識した指定

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に固定するためのセキュリティ機構です。
TSUNAGARU-ADVICE

まず押さえたいこと

HSTSは、Webブラウザに対して、そのWebサイトへの以後のアクセスをHTTPSで行うよう強制する仕組みです。HTTPでアクセスしようとしても、ブラウザ側でHTTPSに切り替えるため、HTTPによる平文通信を避けやすくする効果があります。

迷ったときの判断軸

他オリジンのリソースへのアクセスを制限するのは同一オリジンポリシーやCORSの文脈です。cookieの送信条件はSecure属性などで制御します。鍵マークの表示もHSTSそのものの説明ではありません。HSTSは、一度HTTPSで接続したサイトへ、以後HTTPS接続を強制する仕組みと判断しましょう。

科目Bにつなげるために

科目Bでは、HTTPへ誘導して通信を盗聴・改ざんする攻撃や、HTTPS設定の不備を問う問題が出ることがあります。HSTSは、利用者が誤ってHTTPでアクセスしてもHTTPS通信を使わせる対策として理解しておきましょう。