Join our Newsletter — 33% off our NHI Course
Home› Guides› D3-TB Token Binding: What It Hardens, What It…
Guide Authentication

D3-TB Token Binding: What It Hardens, What It Counters and How to Verify It

PDF for newsletter subscribers · free to read online

← All guides
By NHI Mgmt Group, edited by Lalit Choda Updated 12 November 2026 12 min read
On this page

A stolen bearer token works from the attacker's machine exactly as it worked from the user's, and token binding exists to end that. D3-TB Token Binding is the MITRE D3FEND countermeasure that D3FEND defines as "a security mechanism used to enhance the protection of tokens, such as cookies or OAuth tokens, by binding them to a specific connection." It sits in the Harden tactic under Credential Hardening and strengthens the Access Token artefact. The name refers to a specific IETF protocol (RFC 8471), which saw little deployment, but the idea lives on in sender-constrained OAuth tokens, device-bound sessions and identity provider token protection. This card explains what D3-TB hardens, which ATT&CK techniques D3FEND relates it to, how to implement the idea with mechanisms that are usable today, how to verify it, and where it stops helping. It is for identity architects, API owners and detection engineers dealing with token and cookie theft.

Key takeaways

  • D3-TB removes the bearer property. A bound token is only accepted when the client also proves possession of a private key, so a copied token alone is useless.
  • The original protocol did not reach browsers. RFC 8471 is a Proposed Standard from October 2018, but Chromium's 2018 intent to remove noted Token Binding "has never shipped", and D3FEND itself says browser support "remains limited".
  • Use the successors for real deployments. Mutual-TLS certificate-bound tokens (RFC 8705) and DPoP (RFC 9449) bind OAuth tokens today; Device Bound Session Credentials (DBSC) is a W3C Editor's Draft for browser cookies.
  • Binding is only as strong as key storage. RFC 8471 says binding private keys are "high-value assets" and should be protected, ideally in hardware; malware on the client can still use the key in place.
  • The ATT&CK mapping is inferred. D3FEND relates D3-TB to token, cookie and credential techniques through shared artefacts; binding directly affects replay of stolen tokens and little else.

D3-TB at a glance

FieldD3-TB Token Binding
D3FEND IDD3-TB
TacticHarden
Parent techniqueCredential Hardening
Digital artefactStrengthens Access Token (the parent hardens Credential)
What it changesThe server records a client key identifier in the token and rejects the token when the presenting connection cannot prove the matching key
D3FEND referenceIETF RFC 8471, The Token Binding Protocol Version 1.0
Usable mechanisms (November 2026)RFC 8705 certificate-bound tokens, RFC 9449 DPoP, identity provider device-bound tokens; DBSC for browser cookies as a draft
Main limitationClient support, key protection on the client, and TLS-terminating intermediaries

How it works

D3FEND's knowledge base describes the protocol flow: when issuing a token to a client that supports Token Binding, the server includes the client's Token Binding ID (or its hash) in the token; when the token is presented later, the server checks the ID against the binding established on that connection and rejects the token on mismatch. RFC 8471 fills in the detail. The client keeps a key pair per target server. On each TLS connection it signs a value exported from that connection (the exported keying material defined in RFC 5705), which proves possession of the private key and ties the binding to the connection. A "provided" binding covers the server being connected to; a "referred" binding lets an identity provider bind a token that the client will present to a different relying party. RFC 8472 negotiates the protocol in the TLS handshake and RFC 8473 carries it over HTTP.

RFC 8471 was published in October 2018 as a Proposed Standard (status checked November 2026). The same year, the Chromium team posted an intent to remove: Token Binding "has been behind a flag for over two years and has never shipped", and the code would be removed. Without browser support, deployments moved to other ways of achieving the same result.

Mechanisms that bind tokens today

MechanismStatus (checked November 2026)What the token is bound toBest fit
Token Binding (RFC 8471, 8472, 8473)Proposed Standard, October 2018Client key proven over each TLS connectionReference model; little client support
Mutual-TLS certificate-bound access tokens (RFC 8705)Standards Track, February 2020SHA-256 thumbprint of the client certificate, in the cnf claim as x5t#S256Server-to-server and workload clients, financial-grade APIs
DPoP (RFC 9449)Standards Track, September 2023JWK thumbprint of a client key, in the cnf claim as jkt, proven by a signed DPoP proof per requestBrowser single-page apps, mobile apps, clients without TLS client certificates
Device Bound Session CredentialsW3C Editor's Draft (dated 9 November 2026), marked as work in progressA per-session key the browser stores, used to refresh short-lived cookiesBrowser session cookies, as support develops
Identity provider device-bound tokensProduct features, per vendor documentationA key held on a registered deviceWorkforce sign-in sessions

RFC 9449 says DPoP is meant for cases where mutual TLS or Token Binding are unavailable, citing a "lack of support for HTTP token binding". As one example of the last row, Microsoft Entra Conditional Access Token Protection accepts only device-bound sign-in session tokens such as the Primary Refresh Token from supported applications; its status differs by platform and application. For deeper guidance on each mechanism, see the DPoP Guide, the mTLS Guide and the Device-Bound Session Credentials (DBSC) Guide.

ATT&CK techniques D3FEND relates to D3-TB

Relationship type: inferred only. D3FEND labels these mappings "inferred, experimental". They come from shared artefacts: D3-TB strengthens Access Token, and its parent Credential Hardening hardens Credential, so techniques acting on those artefacts or their sub-artefacts (session cookie, password, Kerberos ticket, encrypted credential) are related. D3FEND lists no ATT&CK mitigation for D3-TB. It also lists Keychain under an ID that ATT&CK has since revoked; its ATT&CK v20 successor is T1555.001. IDs checked against ATT&CK v20, D3FEND checked November 2026. The last column is NHI Mgmt Group's assessment, not part of D3FEND.

ATT&CK IDTechniqueWhat binding changes (NHI Mgmt Group assessment)
T1528Steal Application Access TokenStrong where enforced: the stolen token fails without the client key
T1550.001Use Alternate Authentication Material: Application Access TokenStrong where enforced: replay from another client is refused
T1539Steal Web Session CookieStrong only where cookies are bound (for example DBSC); none for ordinary cookies
T1550.004Use Alternate Authentication Material: Web Session CookieAs above
T1606.001Forge Web Credentials: Web CookiesPartial: a forged cookie lacks a valid binding if the server requires one
T1098.001Account Manipulation: Additional Cloud CredentialsMinimal: newly added credentials get their own bindings
T1134.001, T1134.002, T1134.003Token Impersonation/Theft, Create Process with Token, Make and Impersonate TokenNone in practice: these are operating system tokens on the host, not network tokens
T1558.001Golden TicketNone: a forged Kerberos ticket is outside web token binding
T1003.003, T1003.005, T1003.008NTDS, Cached Domain Credentials, /etc/passwd and /etc/shadowNone: related only through the Credential artefact
T1555.001KeychainNone directly
T1110.001, T1110.002, T1110.003Password Guessing, Password Cracking, Password SprayingNone: related only through the Credential artefact

For the techniques binding addresses most directly, see the MITRE ATT&CK T1528 Steal Application Access Token Guide, the MITRE ATT&CK T1539 Steal Web Session Cookie and the MITRE ATT&CK T1550 Use Alternate Authentication Material Guide.

Where it is implemented

ComponentWhat to configureTypical gap
Authorisation serverAdvertise and issue bound tokens: tls_client_certificate_bound_access_tokens for RFC 8705; token_type DPoP for RFC 9449; bind refresh tokens for public clientsBinding supported but optional, so clients keep requesting bearer tokens
Resource serverRequire the binding: compare the cnf value with the TLS client certificate or the DPoP proof key; reject a DPoP-bound token presented as BearerResource servers that ignore the cnf claim
TLS terminationPass the client certificate from load balancer to application over a protected channelRFC 8705 leaves this out of scope; spoofable certificate headers
ClientGenerate keys in non-exportable storage (TPM, secure enclave, HSM for servers)Keys in files or browser storage that malware can copy
Identity provider sessionsDevice-bound token policies, in report-only mode firstUnsupported platforms left in a permanent exclusion

DPoP proofs carry htm (HTTP method), htu (target URI), iat, a unique jti for replay detection, ath (hash of the access token) and an optional server nonce. Resource servers must check all of these and the key match. RFC 9449 also requires the access token response to carry token_type DPoP; any other value means the token is not DPoP-protected.

Where identity and NHIs fit

Workloads are the easiest place to start. Server-side clients can hold keys in a hardware module or a platform identity and use mTLS client authentication, so certificate-bound tokens for machine-to-machine APIs are often simpler than binding browser sessions. A leaked CI/CD or agent access token that is bound to a workload key cannot be replayed from outside. See the Machine-to-Machine OAuth (Client Credentials) Guide and the JWT Client Authentication (private_key_jwt) Guide.

Implementation steps

  1. Rank token flows by replay impact. Start with administrative APIs, machine clients with broad scope, and long-lived refresh tokens.
  2. Choose a mechanism per client type. mTLS-bound tokens for servers and workloads that can hold certificates; DPoP for browser and mobile clients; identity provider device binding for workforce sessions.
  3. Check the whole path. Confirm every TLS terminator, gateway and SDK in the path supports the mechanism, including how a client certificate reaches the application.
  4. Issue bound tokens in parallel. Let pilot clients request bound tokens while resource servers accept both, and log whether each request carried a valid binding.
  5. Enforce per resource. Switch resource servers to reject unbound tokens for clients registered as bound, one API at a time. Rollback is switching that resource back to accepting both.
  6. Bind refresh tokens. RFC 9700 requires public clients' refresh tokens to be sender-constrained or rotated; binding removes the most valuable token to steal.
  7. Protect the keys. Use non-exportable key storage and document key rotation and device loss handling.

How to verify it works

  • Replay test: in an authorised test, copy a bound token to a second client without the key and call the API. It must fail (RFC 8705 specifies HTTP 401 with invalid_token on certificate mismatch).
  • Downgrade test: present a DPoP-bound token with the Bearer scheme. RFC 9449 requires rejection.
  • Proof replay test: resend an old DPoP proof, or one for a different method or URI. It should fail the jti, iat, htm or htu checks.
  • Header spoofing test: where TLS is terminated upstream, send a forged client certificate header directly to the application tier. It must be ignored or blocked.
  • Coverage review: sample issued tokens and check for a cnf claim.
MetricWhat it showsTarget direction
Share of high-value API calls made with bound tokensReal coverageRising
Share of refresh tokens that are bound or rotatedExposure of the longest-lived tokensRising to 100%
Binding validation failures per day, by clientReplay attempts or broken clientsEach spike triaged
Clients registered as bound but still receiving bearer tokensConfiguration driftZero
Devices or platforms excluded from device-bound token policySize of the unbound surfaceFalling, with owners and expiry

Limits, bypasses and failure patterns

  • Malware on the client: RFC 8471 notes that malware in the user agent can still use bound tokens, and the server may not be able to tell. Binding stops off-device replay, not on-device abuse.
  • Unbound parts of the session: binding an access token while leaving the session cookie or refresh token as a bearer credential moves the attack rather than stopping it. CitrixBleed 2023 shows the cost of unbound session cookies: cookies read from appliance memory were replayed as authenticated sessions, past both password and MFA.
  • Optional enforcement: if resource servers still accept bearer tokens, attackers simply request or use unbound ones.
  • TLS intermediaries: certificate binding breaks, or is spoofable, when a proxy terminates TLS and forwards the certificate insecurely.
  • Exportable keys: a key stored in a file is just another secret to steal.
  • Draft dependence: DBSC is an Editor's Draft that "may change at any moment"; plan pilots, not hard dependencies, on its details.

Framework mapping

FrameworkReferenceRelationship to D3-TB
NIST SP 800-53 Rev 5SC-23 Session AuthenticityProtects the authenticity of sessions and their identifiers
NIST SP 800-53 Rev 5IA-5, SC-12Authenticator management and protection of the binding keys
NIST CSF 2.0PR.AA-03Users, services and hardware are authenticated
IETFRFC 9700Recommends sender-constrained access tokens and sender-constrained or rotated refresh tokens

The framework rows are NHI Mgmt Group's mapping, not part of D3FEND.

Practitioner checklist

  • List token flows whose replay would cause the most damage and bind those first.
  • Pick mTLS-bound tokens for workloads and DPoP for browser and mobile clients.
  • Require binding at the resource server; do not accept bearer fallbacks for bound clients.
  • Bind or rotate every refresh token issued to a public client.
  • Keep binding keys in non-exportable storage.
  • Secure the path from TLS terminator to application for client certificates.
  • Run replay, downgrade and proof-replay tests after every change.
  • Track bound-call coverage and binding failures per client.

Standards and references

Related NHI Mgmt Group resources: MITRE D3FEND Guide · DPoP Guide · Session Hijacking and Cookie Theft Guide · NIST IR 8587 Guide · Infostealer Logs and Session Token Abuse Guide

PDF for subscribers

Take this guide with you

Every section, table and checklist in one PDF, with links to the sources and related guides. Subscribe to our weekly NHI & AI Identity Journal and we’ll email you a download link.

Free weekly newsletter

Subscribe to the NHI & AI Identity Journal

The latest on NHI and Agentic AI security – articles, research, breaches, news and events every week.

Bonus 33% off our NHI Course when you subscribe.

NHIMG Editorial Note
Researched and written by the NHI Mgmt Group editorial team using AI tools, under the editorial direction of Lalit Choda. Facts are drawn from the sources listed on this page and checked by our automated quality process. Last updated 12 November 2026. Spotted an error? Use our contact page.
NHI Mgmt Group, the independent authority on Non-Human Identity, IAM and Agentic AI security. nhimg.org

PDF Downloads for Newsletter Subscribers

Get the guide

Enter your details and we’ll email you a download link.

The full guide is free to read online. The PDF is a thank you for subscribing.

Fill in all fields marked * and tick the PDF box to continue.