HSTSの動作|情報処理安全確保支援士 平成30年 秋期午前Ⅱ試験 問12

出典:平成30年秋期 午前Ⅱ 問12 分野:セキュリティ / セキュリティ実装技術
HTTP Strict Transport Security(HSTS)の動作はどれか。
  • ア:HTTP over TLS(HTTPS)によって接続しているとき,EV SSL証明書であることを利用者が容易に識別できるように,Webブラウザのアドレス表示部分を緑色に表示する。
  • イ:Webサーバからコンテンツをダウンロードするとき,どの文字列が秘密情報かを判定できないように圧縮する。
  • ウ:WebサーバとWebブラウザとの間のTLSのハンドシェイクにおいて,一度確立したセッションとは別の新たなセッションを確立するとき,既に確立したセッションを使って改めてハンドシェイクを行う。
  • エ:Webサイトにアクセスすると,Webブラウザは,以降の指定された期間,当該サイトには全てHTTPSによって接続する。
解説

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

HSTS

HTTPSは通信内容を暗号化しますが、利用者が誤って「http://」のURLにアクセスすると、最初の通信だけは暗号化されていないHTTPで行われる可能性があります。

通常、HTTPでアクセスされた場合は、WebサーバがHTTPSのページへリダイレクトします。しかし、そのリダイレクト前の通信は暗号化されていないため、中間者攻撃やリダイレクト先の書換えを受けるリスクがあります。

項目 内容
HSTS WebブラウザにHTTPS接続を強制する仕組み
目的 HTTPで接続される隙を減らし、通信の安全性を高める
通知方法 HTTPレスポンスヘッダーでブラウザに通知する
効果 次回以降、HTTPでアクセスしようとしても、ブラウザが自動的にHTTPSで接続する

HSTSのヘッダー例は、次のようになります。

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

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

HSTS通知を受け取ったWebブラウザは、そのサイトはHTTPSで接続すべきサイトだと記録します。その後、利用者が「http://」でアクセスしようとしても、ブラウザが自動的に「https://」へ切り替えて接続します。

つまりHSTSは、「HTTPで接続される危険なタイミングを減らし、常にHTTPSで接続させるための仕組み」と考えると分かりやすいです。

したがって、が適切です。

❌他選択肢が誤りの理由
ア:HTTP over TLS(HTTPS)によって接続しているとき,EV SSL証明書であることを利用者が容易に識別できるように,Webブラウザのアドレス表示部分を緑色に表示する。
⇒EV SSL証明書の表示に関する説明です。HSTSは証明書の種類を表示する機能ではなく、対象サイトへの接続をHTTPSに限定する仕組みです。
イ:Webサーバからコンテンツをダウンロードするとき,どの文字列が秘密情報かを判定できないように圧縮する。
⇒コンテンツ圧縮に関する説明であり、HSTSとは関係ありません。HSTSはデータを圧縮する仕組みではなく、WebブラウザにHTTPS接続を強制する仕組みです。
ウ:WebサーバとWebブラウザとの間のTLSのハンドシェイクにおいて,一度確立したセッションとは別の新たなセッションを確立するとき,既に確立したセッションを使って改めてハンドシェイクを行う。
⇒TLSのセッション再開に関する説明です。過去に確立したセッション情報を再利用して、ハンドシェイクの処理を効率化する仕組みであり、HSTSの動作ではありません。
TSUNAGARU-ADVICE

まず押さえたいこと

HSTSは、Webサイトへ一度HTTPSでアクセスした後、指定された期間、そのサイトへの接続をすべてHTTPSに強制する仕組みです。利用者が誤ってHTTPのURLを入力した場合でも、ブラウザがHTTPSで接続するため、HTTPへ誘導されることによる盗聴や改ざんのリスクを減らせます。

迷ったときの判断軸

アドレスバーを緑色に表示する説明はEV SSL証明書の表示に関する古いブラウザ挙動に近い内容です。秘密情報を判定できないように圧縮するものや、既存セッションを使って別セッションを確立するTLSの説明はHSTSではありません。HSTSは、以後の接続をHTTPSに限定するHTTPレスポンスヘッダーの仕組みと判断しましょう。

科目Bにつなげるために

科目Bでは、HTTPS化・リダイレクト・CookieのSecure属性・証明書・プロキシ・中間者攻撃などと絡めてHSTSが問われることがあります。HSTSは通信内容を直接暗号化する方式ではなく、ブラウザにHTTPS接続を強制させることで安全な通信経路を維持する対策として整理しておきましょう。