「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
- Token Binding(コア仕様)とはTLSセッションから派生した鍵にトークンを紐付ける仕組み。
- TLSのブラウザ・サポートが必須であり、実装をブラウザ・ベンダに期待していた。
- 現在では廃止となり、よりアプリ層で完結できるOAuth2.0 DPoPによって代替された。
詳細 †
仕組み †
- TLSハンドシェイク時にクライアントが鍵ペアを生成
- TLSセッション固有の「Token Binding ID」を導出
- すべてのトークン(Cookie, OAuth token等)をこの ID に束縛
3本柱 †
2018 年 10 月初旬に Token Binding 関連RFC * 3 のRFC 8471、8472、8473がリリースされた。
- RFC 8471 Token Binding Protocol本体(鍵導出・証明の方法)
- RFC 8472 TLS拡張(TLSハンドシェイクへの組み込み方)
- RFC 8473 HTTP上での運搬方法(Sec-Token-Binding ヘッダー)
廃止までの流れ †
ドラフトの作成段階では、比較的少数のサポートしかなかった。
(TLSスタックなどインフラレイヤの変更を伴い、アプリケーションレイヤだけで解決できない)。
2015年頃 — 提案・草案 †
- MicrosoftとGoogleが中心となり、IETFに提案
- TLSハンドシェイク時にクライアントが鍵ペアを生成し、サーバーにバインドするという概念が登場
- RFC草案(draft-ietf-tokbind-*)シリーズとして議論開始
2019〜2020年 — ブラウザ実装 †
- Google Chromeがサポート(フラグ付き)
- Microsoft EdgeもWindows環境で実装
- しかし、Firefoxは実装せず
Chromeがサポートを中止 †
ChromeがHTTP/3・QUIC との互換性問題などを理由に実装を削除
※ 背景:実装コストの高さ、ベンダー合意の欠如、不参加代替技術の台頭
事実上の撤退 †
2021〜2022年 — 事実上の撤退
- ブラウザ・ベンダー間での合意が得られず、広範な普及には至らず
- IIETFのToken Binding WGがクローズ、仕様ごと事実上廃止
11.3. Holder of Key Mechanism – Consumer Data Right Security Profile
https://consumerdatastandardsaustralia.github.io/infosec/#11-3-holder-of-key-mechanism
- MTLS MUST be supported as a Holder of Key (HoK) Mechanism.
MTLSは、鍵保有者(HoK)メカニズムとしてサポートされなければなりません。
- OAUTB SHALL NOT be supported due to a lack industry support.
OAUTBは、業界でのサポートが不足しているため、サポートされません。
- MTLS HoK allows issued tokens to be bound to a client certificate as specified in section 3 of [MTLS].
MTLS HoKは、[MTLS]のセクション3で規定されているように、発行されたトークンをクライアント証明書に紐付けることを可能にします。
参考 †
関連RFC †
TLS Extension for Token Binding Protocol Negotiation †
↓ ↓ ↓
The Token Binding Protocol Version 1.0 †
↓ ↓ ↓
Token Binding over HTTP †
↓ ↓ ↓
Tags: :IT国際標準, :認証基盤, :ASP.NET Identity, :OAuth