Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MCP最新版における認証・認可機能のキャッチアップ

Avatar for kura kura
December 19, 2025

 MCP最新版における認証・認可機能のキャッチアップ

『OpenID BizDay #18 ~ AIdentity × Security CollabDay』の資料になります。
https://openid.connpass.com/event/376275/

Avatar for kura

kura

December 19, 2025
Tweet

More Decks by kura

Other Decks in Technology

Transcript

  1. © OpenID Foundation Japan © OpenID Foundation Japan OpenID BizDay

    #18 MCP最新版における認証・認可機能のキャッチアップ 一般社団法人 OpenIDファウンデーション・ジャパン 理事・エバンジェリスト 倉林 雅 2025年12月18日
  2. © OpenID Foundation Japan #OpenID #AIdentity 倉林 雅(kura) OpenIDファウンデーション・ジャパン 理事・エバンジェリスト

    OpenID・OAuth・パスキー技術の 啓発・教育活動に携わり、 現在は某インターネット企業にて プロダクトマネージャーを担当。 X: @kura_lab 著書「パスキーのすべて」 増刷・絶賛発売中
  3. © OpenID Foundation Japan #OpenID #AIdentity アジェンダ 1. 認証・認可機能の変更点 2.

    OpenID Connectの仕様を活用したAuthorization Serverの探索 3. 実行時の不足しているscopeのエラー応答と段階的な認可 4. URLモードによる誘導 5. Client ID Metadata Documentsによるクライアント登録 6. まとめ 3
  4. © OpenID Foundation Japan #OpenID #AIdentity 認証・認可機能の変更点 1 2 3

    OpenID Connectの仕様を活用したAuthorization Serverの探索 実行時の不足しているscopeのエラー応答と段階的な認可 URLモードによる誘導 4 HTTPS URLで返却するMetadataによるクライアント登録 新たにAuthorization Serverの探索やClientの登録方法などが追加された。 7
  5. © OpenID Foundation Japan #OpenID #AIdentity OpenID Connect Discovery 1.0でAuthorization

    Serverのエンドポイントを見つける • MCP ClientはAuthorization Serverと認可処理をするための各エンドポイントを知る必要がある。 • ClientはOAuth 2.0 Authorization Server Metadata (RFC8414)、OpenID Connect Discovery 1.0の順で Authorization Serverの場所を探索しなければならない。 https://auth.example.com/.well-known/oauth-authorization-server/tenant1 例えば Issuer URI が https://auth.example.com/tenant1 の場合、以下の順で探索する。 9 https://auth.example.com/.well-known/openid-configuration/tenant1 https://auth.example.com/tenant1/.well-known/openid-configuration OpenID Connect Discovery 1.0で 定義されている エンドポイントを探索する
  6. © OpenID Foundation Japan #OpenID #AIdentity 13 MCP Serverから Authorization

    Serverの 場所が得られなかったら、 /.well-known/openid-configuration に尋ねる
  7. © OpenID Foundation Japan #OpenID #AIdentity WWW-Authヘッダーのinsufficient_scopeエラーで不足しているscopeを検知 • 実行時操作中にClientが不足しているscopeを持つAccess Tokenを使用してリクエストを行った場合、

    MCP Serverは以下のように応答すべきである。 • これはOAuth 2.0 Bearer Token(RFC 6750)のWWW-Authenticate Bearerスキームのerror属性の仕様 に従っている。 • 不足しているscopeが確認できたら後述の Step-up Authorization(段階的な認可)を試行する。 HTTP/1.1 403 Forbidden WWW-Authenticate: Bearer error="insufficient_scope", scope="files:read files:write user:profile", resource_metadata="https://mcp.example.com/.well-known/oauth-protected-resource", error_description="Additional file write permission required" MCP Serverレスポンス scopeに権限が不足していることを示す 15 MCP Serverにアクセスするための 具体的なscopeを示す
  8. © OpenID Foundation Japan #OpenID #AIdentity Step-up AuthorizationによるAccess Token再発行とエラー処理 •

    insufficient_scopeエラーを受け取った後、 ClientはStep-up Authorization(段階的な認可)によって不足 しているscopeを追加しいたAccess Tokenを発行するか、エラーを処理すべきである。 流れは以下の通りである。 1. 認可サーバーのレスポンスまたは WWW-Authenticateヘッダーからエラー情報を解析する 2. Scope Selection Strategyの概要にあるように、必要なスコープを決定する 3. 決定されたscopeセットで(再)認可を開始する 4. 新しい認可を使用して元のリクエストを数回再試行し、これを永続的な認可の失敗として扱う 16
  9. © OpenID Foundation Japan #OpenID #AIdentity URL Mode Elicitation •

    MCP ServerがClientを介してユーザーとのインタラクション中にユーザーに追加情報を要求するための 標準化された方法のひとつ。 • JSONスキーマを返却する Form modeに加えて、外部URLに誘導するURL modeが追加された。 • Form modeでは機密情報が見えてしまうため取り扱えなかったが、 URL modeでは画面に誘導してインタ ラクションするため機密情報も取り扱える。 • 例えば、MCP Serverが3rd Partyの Resource Serverにアクセスする際の APIキー入力や、OAuthの認 可取得などに利用できる。 • URL modeは、MCP ClientのMCP Serverへのアクセスを認可するためのものではないことに注意。それ はMCP Authorizationを使って処理されるものである。 18
  10. © OpenID Foundation Japan #OpenID #AIdentity Client ID Metadata Documentによるクライアント登録

    • Dynamic Client Registration (DCR)の代わりに定義された仕様が、 Client ID Metadata Document (CIMD)。 • ClientはHTTTPS URLをClient IDとして使用できるようになり、その URLでClientのMetadataを含む JSONをAuthorization Serverに提示してClientの登録ができる。 { "client_id": "https://app.example.com/oauth/client-metadata.json", "client_name": "Example MCP Client", "client_uri": "https://app.example.com", "logo_uri": "https://app.example.com/logo.png", "redirect_uris": [ "http://127.0.0.1:3000/callback", "http://localhost:3000/callback" ], "grant_types": ["authorization_code"], "response_types": ["code"], "token_endpoint_auth_method": "none" } Client ID Metadata Document 24 ClientのHTTPS URLで 返却するMetadataレスポンス
  11. © OpenID Foundation Japan #OpenID #AIdentity まとめ • OAuth 2.0

    Authorization Server Metadataに加えて、OpenID Connect Discovery 1.0による Authorization Serverの探索が追加された • WWW-Authヘッダーのinsufficient_scopeエラーを検知してStep-up Authorizationによる段階的な 認可が追加された • Formモードに加えてURLモードの誘導による追加情報の入力が追加された • Dynamic Client Registrationに加えてClient ID Metadata Documentsによるクライアント登録が追 加された 28 実装や細かな振る舞いについて情報が十分ではないところもあるため、 引き続き最新の動向を追っていく必要あり