令和6年秋期試験問題 午前Ⅱ 問16

利用者Aが所有するリソースBが,WebサービスC上にある。OAuth2.0において,利用者Aの認可の下,WebサービスDからリソースBへの限定されたアクセスを可能にするときのプロトコルの動作はどれか。ここでWebサービスCは、認可サーバを兼ねているものとする。

  • WebサービスCが,アクセストークンを発行する。
  • WebサービスCが,利用者Aのデジタル証明書をWebサービスDに送信する。
  • WebサービスDが,アクセストークンを発行する。
  • WebサービスDが,利用者Aのデジタル証明書をWebサービスCに送信する。
正解 問題へ
分野 :テクノロジ系
中分類:セキュリティ
小分類:セキュリティ実装技術
解説
OAuth2.0は、異なるドメインやプラットフォーム間で、 サードパーティアプリケーションによるHTTPサービスへの限定的なアクセスを可能にするオープンな認可フレームワークです(RFC6749)。

OAuth2.0は、ユーザーの許可をもとにWebサービスがアクセストークンをサードパーティアプリケーションに発行し、アプリケーションがユーザーの代理としてWebサービスにアクセスできる仕組みです。ユーザーの認証情報を直接アプリケーションに渡さなくても、ユーザーの権限を委譲するための安全な方法として利用されます。

OAuth2.0では以下の3種類のロール(役)が登場します。
リソースオーナー(resource owner)
リソースサーバ内の保護された情報へのアクセスを許可するエンドユーザーであり、クライアントの利用者のこと。この設問では利用者Aが該当する
リソースサーバ(resource server)
保護された情報を保持し、Webサービスを提供するアプリケーションのこと。リソースオーナーを認証しクライアントにアクセストークンを発行する認可サーバ(authorization server)の役割を兼ねることが多い。この設問ではWebサービスCが該当する。
クライアント(client)
リソースオーナーの認可を得てリソースサーバにアクセスするサードパーティアプリケーションのこと。この設問ではWebサービスDが該当する。
この設問におけるOAuth2.0の大まかなフローは次のようになります。
  1. 利用者Aが、WebサービスDにアクセスする
  2. WebサービスDは、利用者AをWebサービスCにリダイレクトし、認証・認可手続きを促す
  3. 利用者Cは、WebサービスAで認証・認可手続きを行う
  4. WebサービスCは、利用者Cからの認証・認可が得られると、WebサービスDに対してアクセストークンを発行する
  5. WebサービスDは、アクセストークンなどを含めたHTTPリクエストをWebサービスCに送信する
  6. WebサービスCは、HTTPリクエストが正当なものであるかを検証し、妥当であればリソースを含むHTTPレスポンスをWebサービスDに返す
OAuth2.0では、リソースサーバからクライアントに対してアクセストークンが発行されます。したがって適切な動作は「ア」です。
16.png

Pagetop