情報セキュリティ

基本情報技術者試験フェデレーション認証」の問題

情報セキュリティ情報セキュリティ難易度:hard
K社のスマートフォンアプリは、OpenID Connectを用いて認証し、発行されたトークンを使って外部APIへアクセスする。開発担当者は、このトークンを端末内のどこに保存すべきか検討している。トークンの保管方法として最も適切なものはどれか。
再ログインの手間を省くため、トークンを画面遷移用のURL文字列に埋め込んで受け渡す。
取り回しのよさを優先し、端末内の誰でも開ける共有フォルダにトークンを平文で置く。
消失を防ぐため、トークンを平文のログファイルに記録して残しておく。
他アプリから読み取れないOS提供の保護領域に、トークンを格納する。
正解
他アプリから読み取れないOS提供の保護領域に、トークンを格納する。

OpenID Connectで発行されるトークンは、それ自体が認証・認可の資格を表す秘密情報であり、窃取されれば本人に成りすましてAPIへアクセスされる。OSが提供する保護されたキーストア(セキュアストレージ)に保存すれば、他アプリや第三者からの読み取りを防げ、トークンの機密性を保てる。

?選択肢ごとの解説

ア ×トークンをURL文字列に含めると、履歴・ログ・リファラなどに残り第三者へ露出しやすく、窃取と成りすましの危険が高い。
イ ×誰でも読める共有フォルダに平文で置くのは、同一端末上の他アプリや利用者から容易に読み取られ、トークン窃取を招く最悪の保管法である。
ウ ×平文のログファイルへの記録は、ログ閲覧やバックアップ流出を通じてトークンが漏えいするため、秘密情報の扱いとして不適切である。
エ ○OpenID Connectで発行されるトークンは、それ自体が認証・認可の資格を表す秘密情報であり、窃取されれば本人に成りすましてAPIへアクセスされる。OSが提供する保護されたキーストア(セキュアストレージ)に保存すれば、他アプリや第三者からの読み取りを防げ、トークンの機密性を保てる。

くわしく

トークンベース認証では『トークン=持参人を信頼する資格情報』であり、ベアラートークンは持っている者が使えてしまう。よってアクセストークンは秘密として扱い、保護領域へ保存し、寿命を短くしリフレッシュで更新する設計が重要である。URL・ログ・共有領域への露出は典型的な漏えい経路である。

本番での押さえどころ

試験のコツ

OAuth/OIDCのトークンは秘密情報。保護されたキーストアへ保存し、URL・ログ・共有領域には残さないのが原則。

覚え方

トークンは『鍵そのもの』。鍵をURLやログに書き残さず、金庫(キーストア)にしまう。

よくある誤り

トークンを単なる文字列と軽視し、URLやログに残す。トークンは認証情報そのものであり厳重に扱う必要がある点を見落とす。

情報セキュリティの他の問題

この問題を、AIの8-ways解説つきで。

基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · 基本情報技術者試験 · fe-b-sec-0071

【基本情報技術者試験】フェデレーション認証の問題 — 解答・解説|ukamiru 過去問