Route A:mTLSクライアント認証

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

認証方式と送信者制約

  • • クライアント認証は標準OIDCのtls_client_auth
  • • API呼出しにはtoken取得時と同じRoute A証明書を使用
  • • PAR・コード交換はmTLS。認可画面への遷移はブラウザーのHTTPS

補完と検証範囲

  • • AS送信guard・metadata mTLSは専用transportで補完
  • • API GatewayはKeycloakへmTLS introspection。保護APIはJWTを再検証
  • • 承認済みデモ範囲で受入済み。iss欠落・開始CSRFは未対応