Route B:private_key_jwtとmTLS証明書束縛

Route B:private_key_jwtとmTLS証明書束縛 A workflow diagram generated by Archify. 01 / 利用者(ブラウザー) 02 / 3rd Party 03 / Kong API Gateway 04 / IdP(Keycloak / AS) 05 / Resource Server(保護API) UIとRoute選択 PARと利用者認証 コード交換 API検査と結果表示 3rd Partyサービス Kong Gateway(OAuthクライアント) Route Bを選択 · ブラウザーでRoute Bへ · 利用者(ブラウザー) › UIとRoute選択 Route Bを選択 ブラウザーでRoute Bへ UIで結果を確認 · claim/header・署名・束縛 · 利用者(ブラウザー) › API検査と結果表示 UIで結果を確認 claim/header・署名・束縛 デモUIを配信 · nginx / 静的サービス · 3rd Party › 3rd Partyサービス › UIとRoute選択 デモUIを配信 nginx / 静的サービス PARを送信 · PKCE S256 / PKJWT + mTLS · 3rd Party › Kong Gateway(OAuthクライアント) › PARと利用者認証 PARを送信 PKCE S256 / PKJWT + mTLS callback・PKJWT署名 · state・提示iss / bridge署名 · 3rd Party › Kong Gateway(OAuthクライアント) › コード交換 callback・PKJWT署名 state・提示iss / bridge署名 保護APIを呼び出す · Bearer + Route B証明書 · 3rd Party › Kong Gateway(OAuthクライアント) › API検査と結果表示 保護APIを呼び出す Bearer + Route B証明書 token・PoPを検査 · introspection / cnf照合 · Kong API Gateway › API検査と結果表示 token・PoPを検査 introspection / cnf照合 PAR受理・利用者認証 · Keycloakのログイン画面 · IdP(Keycloak / AS) › PARと利用者認証 PAR受理・利用者認証 Keycloakのログイン画面 認証・コード交換 · PKJWT / B証明書へ束縛 · IdP(Keycloak / AS) › コード交換 認証・コード交換 PKJWT / B証明書へ束縛 JWTと束縛を再検証 · 元client証明書とcnfを照合 · Resource Server(保護API) › API検査と結果表示 JWTと束縛を再検証 元client証明書とcnfを照合 mTLS + Bearer mTLS / token・証跡 code + verifier + PKJWT Route Bへアクセス PAR + 認可画面へ code・state・iss HTTPS / 検証結果 証明書束縛token HTTPS / UI取得 Legend サービスUI API処理 認証・検査 利用者

認証方式と送信者制約

  • • クライアント認証はPS256のprivate_key_jwt
  • • JWT署名鍵と、tokenを束縛するRoute BのTLS鍵は別
  • • PAR・コード交換はmTLS。認可画面への遷移はブラウザーのHTTPS

補完と検証範囲

  • • token/refreshはbridge署名、PAR/revokeは標準PKJWT+mTLS補完
  • • API Gatewayの検査・保護APIの再検証はRoute Aと共通
  • • PARのform client_id省略は既知差分。完全FAPI適合は未主張