応用情報技術者ブラウザ・セッションとAPIの防御オリジナル・公式資料照合難易度★★★★☆
端末ごとに異なるsidを含む署名付きアクセストークンと更新トークンを発行するAPIがある。端末Aのログアウト後は、盗まれたAの未期限切れトークンによる以後の認証も拒否し、端末Bのログインは維持したい。現在は署名と有効期限だけを検証している。最も適切な設計はどれか。
A
AのブラウザCookieだけを消し、サーバー側では未期限切れトークンを引き続き許可する
コピー済みのトークンはCookieを削除しても残ります。サーバーがそれを受け入れるなら要求を満たしません。
B
共通署名鍵を毎回破棄し、Bを含む全利用者のトークンを無効にする
署名鍵を変えるとBも無効になり、他端末のログインを維持する条件に反します。
C
sid単位の有効状態をサーバーで管理し、認証と更新時に確認する。ログアウトでAのsidだけを失効させる★ 正解
各端末のsidと失効状態を照合すれば、署名が正しくてもAの失効済みセッションを拒否し、Bを維持できます。
D
更新トークンだけを失効し、Aの既発行アクセストークンは期限まで無条件に許可する
更新の停止だけでは、未期限切れのアクセストークンを拒否する要件を満たせません。
解説
署名検証は正当な発行者と改ざんの有無を確認しますが、ログアウトによる現在の有効状態は別です。sidの照合・失効を実装し、キャッシュ等を使う場合も許容する失効反映時間を明示します。
根拠資料・確認情報
対応範囲:2026年度 応用情報技術者試験
資料確認日:2026-10-28
同じレッスンの問題
問題 1
利用者のブラウザはexample.comを一度も訪れたことがなく、同ドメインや親ドメインのHSTS情報を持たず、preload登録もない。ブラウザ独自のHTTPS優先機能は無効で、利用者はhttp://example.comを開く。サーバーはHTTPSへ転送し、HTTPS応答にHSTSを付ける。初回接続について正しいのはどれか。
問題 2
サーバー生成HTMLで、必要なインラインscriptだけをnonce型CSPで許可したい。攻撃者は以前の応答HTMLを閲覧でき、一部の文字列注入も試みる。アプリが全応答で同じ公開済みnonceを使っている。適切な改善はどれか。
問題 3
ログインCookieにSameSite=Laxを明示したサイトが、GET /account/deleteでアカウントを削除している。ログイン中の利用者が、別サイトのリンクからこのURLへトップレベルで移動できる。サーバーに追加のCSRF検証はない。適切な評価と修正はどれか。
問題 5
OIDCを使うSPAのclient_idはspa-client、別の業務APIの識別子はorders-apiである。APIはRFC 9068形式のJWTアクセストークンを受け入れる設計である。SPA向けIDトークン(aud=spa-client)がAPIへ送られ、署名・発行者・期限は正しい。APIの判断はどれか。