style_prompt本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。
令和5年度 秋期 情報処理安全確保支援士 午前Ⅱ 問5 OAuth 2.0
OAuth 2.0においてリソース所有者の権限をアプリに委譲する際に使用される、アクセストークンの性質と発行プロセスを解説します。
OAuth 2.0において,認可サーバがアクセストークンを発行し,クライアントがそのアクセストークンを利用してリソースサーバからリソースを取得する手順はどれか。
ア 認可サーバがリソースサーバにアクセストークンを送信し,リソースサーバがクライアントにそのアクセストークンを送信する。 イ クライアントが認可サーバにアクセストークンの発行を要求し,認可サーバがクライアントにアクセストークンを送信する。 ウ クライアントがリソースサーバに認可コードを送信し,リソースサーバが認可サーバからアクセストークンを取得する。 エ リソースサーバが認可サーバにアクセストークンの発行を要求し,認可サーバがクライアントにアクセストークンを送信する。
【解説】 OAuth 2.0は、サードパーティ製のアプリケーション(クライアント)が、ユーザ(リソース所有者)に代わってHTTPサービス上のリソースへアクセスできるようにする認可フレームワークです。
基本的な「認可コードグラント」のフローにおいて、アクセストークンの発行と利用は以下の流れで行われます。
クライアントがユーザから認可を得て「認可コード」を取得する。
クライアントが認可サーバに対して認可コードを提示し、アクセストークンの発行を要求する。
認可サーバがクライアントに対してアクセストークンを発行(送信)する。
クライアントがそのアクセストークンをリソースサーバに提示してリソースを取得する。
sequenceDiagram
participant C as Client
participant "A as Authorization Server"
participant "R as Resource Server"
C ->> A: Request Access Token (with Auth Code)
A -->> C: Issue Access Token
C ->> R: Access Resource (with Access Token)
R -->> C: Protected Resource
【選択肢の吟味】
| 選択肢 | 判定 | 解説 |
|---|---|---|
| ア | × | アクセストークンは認可サーバからクライアントへ直接渡されます。リソースサーバを経由することはありません。 |
| イ | 〇 | 正解。クライアントが認可サーバに要求し、認可サーバがクライアントへトークンを返却するのが正しい手順です。 |
| ウ | × | 認可コードは、クライアントが認可サーバからアクセストークンを取得するために使用する一時的なコードです。 |
| エ | × | トークンの発行を要求する主体はクライアントです。リソースサーバは提示されたトークンを検証する役割を担います。 |
【ポイント】
認可サーバ:アクセストークンを発行し、クライアントの認証を行う。
クライアント:アクセストークンを取得し、リソースサーバへ提示するアプリ。
リソースサーバ:アクセストークンの妥当性を検証し、保護されたリソースを提供する。

