予想問題vol.10 問2

問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に送信する。
  • [出典]
  • 情報セキュリティ H27秋期 問17

分類

テクノロジ系 » セキュリティ » セキュリティ実装技術

正解

解説

OAuth2.0は、異なるドメインやプラットフォーム間で、 サードパーティーアプリケーションによるHTTPサービスへの限定的なアクセスを可能にするオープンな認可フレームワークです。
02.gif/image-size:124×123
簡単に言うとユーザー本人の認可の下、サードパーティアプリケーションに対して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)を使用して実装されています。
© 2015-2019 情報セキュリティマネジメント試験ドットコム All Rights Reserved.

Pagetop