IT資格用語解説情報処理安全確保支援士試験・認証・認可技術
OAuth
更新日:
用語解説
OAuthは、利用者のパスワードを他のアプリに渡さずに、そのアプリに限られたアクセスの権限を与える(委譲する)ための仕組みです。
■ 試験で押さえるポイント
認可サーバが、アクセストークンをアプリ(クライアント)に発行します。
トークンには、使える範囲(スコープ)と有効期間を限定します。
利用者の認証の規格ではなく、ログインの連携にはOAuthの上に作られたOpenID Connectを使います。
■ 過去問での着眼点
OAuthは認証ではなく認可(権限の委譲)の仕組みである点を押さえます。
例: 写真の印刷アプリに、SNSのパスワードを渡さず、選んだ写真を読む権限だけを与えます。
■ 認可コード・PKCEと漏えい時の対応
認可コードはアクセストークンそのものではなく、トークンエンドポイントで交換する短寿命の値である。PKCEでは事前のcode_challengeと交換時のcode_verifierを照合し、コードだけを奪った第三者の交換を防ぐ。
redirect_uriを登録値と照合し、stateなどで開始した要求と応答を結び付ける。PKCE、要求の対応付け、クライアント認証、トークンの適用先・scopeの検証は、それぞれ作用する箇所が異なる。
Bearerトークンは持つ者が利用できるため、URLやログへの露出を避ける。アクセストークンはAPIで使い、ID Tokenをその代わりとして扱わない。
漏えい時は更新トークンと関連セッションの失効・交換も調べる。パスワード変更だけで発行済みトークンが無効になるとは限らない。更新トークンのローテーションや送信者への結び付けは再利用への対策になる。