OAuth2.0|情報処理安全確保支援士 令和6年 秋期午前Ⅱ試験 問16

出典:令和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に送信する。
解説

OAuth 2.0では、利用者(リソースオーナー)の認可に基づいて、認可サーバがクライアントへアクセストークンを発行します。

OAuth 2.0では、主に次の四つの役割を区別します。

役割 この問題での対応
リソースオーナー 利用者A。リソースBの所有者です。
クライアント WebサービスD。利用者Aの許可を得てリソースBへアクセスします。
認可サーバ WebサービスC。利用者Aの認可に基づいてアクセストークンを発行します。
リソースサーバ WebサービスC。リソースBを保持し、アクセストークンを確認してアクセスを許可します。

この問題ではWebサービスCが認可サーバを兼ねているので、アクセストークンを発行するのはWebサービスCです。

OAuth 2.0ダウンロード

したがって、アが適切です。

❌他選択肢が誤りの理由
イ:WebサービスCが,利用者Aのデジタル証明書をWebサービスDに送信する。
⇒デジタル証明書を送信する、という点で違います。OAuth 2.0では、認可サーバがアクセストークンを発行してアクセス権限を委譲します。
ウ:WebサービスDが,アクセストークンを発行する。
⇒アクセストークンの発行主体、という点で違います。アクセストークンを発行するのは認可サーバであり、この問題ではWebサービスCです。
エ:WebサービスDが,利用者Aのデジタル証明書をWebサービスCに送信する。
⇒デジタル証明書を送信する、という点で違います。OAuth 2.0では、WebサービスDはアクセストークンを用いてリソースへアクセスします。
TSUNAGARU-ADVICE

まず押さえたいこと

OAuth 2.0では、利用者の認可に基づいて、認可サーバがアクセストークンを発行し、クライアントが限定された範囲でリソースにアクセスできるようにします。

迷ったときの判断軸

この問題では、WebサービスCがリソースを持つサービスであり、認可サーバも兼ねています。そのため、アクセストークンを発行するのはWebサービスDではなく、認可サーバであるWebサービスCと整理すると判断しやすくなります。

科目Bにつなげるために

科目Bでは、OAuth 2.0を「ログインの仕組み」としてではなく、誰がリソースを持ち、誰が認可し、誰がアクセストークンを発行し、誰がそれを使うのかの流れで理解しているかが問われます。リソースオーナー、クライアント、認可サーバ、リソースサーバの役割を切り分けて整理しておきましょう。