基本情報技術者試験「フェデレーション認証」の問題
K社のスマートフォンアプリは、OpenID Connectを用いて認証し、発行されたトークンを使って外部APIへアクセスする。開発担当者は、このトークンを端末内のどこに保存すべきか検討している。トークンの保管方法として最も適切なものはどれか。
ア再ログインの手間を省くため、トークンを画面遷移用のURL文字列に埋め込んで受け渡す。
イ取り回しのよさを優先し、端末内の誰でも開ける共有フォルダにトークンを平文で置く。
ウ消失を防ぐため、トークンを平文のログファイルに記録して残しておく。
エ他アプリから読み取れないOS提供の保護領域に、トークンを格納する。
正解
エ.他アプリから読み取れないOS提供の保護領域に、トークンを格納する。
OpenID Connectで発行されるトークンは、それ自体が認証・認可の資格を表す秘密情報であり、窃取されれば本人に成りすましてAPIへアクセスされる。OSが提供する保護されたキーストア(セキュアストレージ)に保存すれば、他アプリや第三者からの読み取りを防げ、トークンの機密性を保てる。
?選択肢ごとの解説
ア ×トークンをURL文字列に含めると、履歴・ログ・リファラなどに残り第三者へ露出しやすく、窃取と成りすましの危険が高い。
イ ×誰でも読める共有フォルダに平文で置くのは、同一端末上の他アプリや利用者から容易に読み取られ、トークン窃取を招く最悪の保管法である。
ウ ×平文のログファイルへの記録は、ログ閲覧やバックアップ流出を通じてトークンが漏えいするため、秘密情報の扱いとして不適切である。
エ ○OpenID Connectで発行されるトークンは、それ自体が認証・認可の資格を表す秘密情報であり、窃取されれば本人に成りすましてAPIへアクセスされる。OSが提供する保護されたキーストア(セキュアストレージ)に保存すれば、他アプリや第三者からの読み取りを防げ、トークンの機密性を保てる。
✎くわしく
トークンベース認証では『トークン=持参人を信頼する資格情報』であり、ベアラートークンは持っている者が使えてしまう。よってアクセストークンは秘密として扱い、保護領域へ保存し、寿命を短くしリフレッシュで更新する設計が重要である。URL・ログ・共有領域への露出は典型的な漏えい経路である。
✓本番での押さえどころ
試験のコツ
OAuth/OIDCのトークンは秘密情報。保護されたキーストアへ保存し、URL・ログ・共有領域には残さないのが原則。
覚え方
トークンは『鍵そのもの』。鍵をURLやログに書き残さず、金庫(キーストア)にしまう。
よくある誤り
トークンを単なる文字列と軽視し、URLやログに残す。トークンは認証情報そのものであり厳重に扱う必要がある点を見落とす。
情報セキュリティの他の問題
A社の経理担当者が、取引先を装ったメールに添付された請求書ファイルを業務PCで開いたところ、見慣れない画面が一瞬表示されて消…B社のWebサービスで、複数の利用者アカウントに対し正しいIDとパスワードの組合せによるログインが短時間に外部から成立する事…C社では、退職予定者や異動者のアカウント権限の見直しが滞り、業務上不要になった共有フォルダへのアクセス権が残り続けている。情…D社のファイルサーバがランサムウェアに感染し、業務ファイルが暗号化された。D社は日次でバックアップを取得しているが、バックア…E社の従業員に、取引先銀行を名乗る『口座情報の更新が必要』というメールが届いた。本文中のリンク先URLにアクセスすると、銀行…F社は社外の従業員が、カフェなどの公衆無線LANを利用して社内システムへアクセスしている。通信内容が経路上で第三者に盗聴・改…
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-b-sec-0071