オリジナル予想問題10 問2

OAuth2.0において,WebサービスAの利用者Cが,WebサービスBにリソースDを所有している。利用者Cの承認の下,WebサービスAが,リソースDへの限定的なアクセス権限を取得するときのプロトコルOAuth2.0の動作はどれか。

  • WebサービスAが,アクセストークンを発行する。
  • WebサービスAが,利用者Cのデジタル証明書をWebサービスBに送信する。
  • WebサービスBが,アクセストークンを発行する。
  • WebサービスBが,利用者Cのデジタル証明書をWebサービスAに送信する。
正解 問題へ
分野:テクノロジ系
中分類:セキュリティ
小分類:セキュリティ実装技術
解説
OAuth2.0は、異なるドメインやプラットフォーム間で、 サードパーティーアプリケーションによるHTTPサービスへの限定的なアクセスを可能にするオープンな認可フレームワークです。
02.png
簡単に言うとユーザー本人の認可の下、サードパーティアプリケーションに対してWebサービス側からアクセストークン(委任状のようなもの)が発行され、サードパーティアプリケーションがユーザーに代わりそれを使用してWebサービス(API)にアクセスできるようにする仕組みです。

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

Webサイトにおいて「Twitterでログインする」「Facebookでログインする」などのSNSアカウントでログインする方法を見かけますが、これらは一般的にはOAuth(又はOpenID)を使用して実装されています。

出典


Pagetop