MS_OAuthTokenBinding - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki

OAuth 2.0 Token Binding

概要

以下の Token に「Token Binding」を適用できる。

  • access_token
  • refresh_token
  • code(Authorization Code)
  • JWT Authorization Grant
  • JWT Client Authentication

詳細

  • 基礎となるコアの Token Binding 仕様が
    よりよくサポートされるまで、実用的な実装は実行不可能だった。

  • この代替として
    Mutual TLS (MTLS)」がある。としていたが、
    コア仕様とともに廃止となった。

補足(何が起きたか): Token Binding は
TLS のコネクションに鍵を結び付け、その鍵でトークンを縛るという構想で、
傍受したトークンを別のコネクションで使い回せなくする狙いがあった。
しかし ブラウザ側の実装が撤回され(Chrome は 2018 年に実装を削除、
Edge も Chromium 化で追随)、TLS レイヤに依存する前提が崩れた。
IETF の OAuth Token Binding ドラフト(本ページの仕様)も
Working Group から取り下げられ、RFC には至っていない。

補足(後継は mTLS と DPoP): 「トークンを持ち主に縛る」
(Proof of Possession)という目的自体は生きており、現在は
次の 2 つが標準として使われている。

  • OAuth 2.0 Mutual TLS(RFC 8705)
    クライアント証明書のハッシュをアクセストークンに埋め込む。
    TLS 層を使うため、FAPI のような
    閉じた高セキュリティ環境向け。
  • OAuth2.0 DPoP(RFC 9449)
    アプリケーション層で署名付きの証明ヘッダを付ける。
    TLS 終端の構成に依存しないため、
    SPA やモバイルでも使える。

位置づけの整理は
OAuth2.0 Proof of Possession」を参照。

参考


Tags: IT国際標準, 認証基盤, クレームベース認証, OAuth

⚠️ **GitHub.com Fallback** ⚠️