Wallet instance attestation on the presentation response
OpenID for Verifiable Presentations (OpenID4VP)
The verifier receives the wallet instance's attestation with the presentation response.
OpenID4VP #799Standards brief
AI agents now act across organisational boundaries, and the standards that admit them are still being written.
A major Australian bank needed one trust federation for its own service domains, its partners and the AI agents acting across them.
The bank built it on OpenID Federation. Each participant publishes an Entity Configuration. A Trust Anchor vouches for it through a Trust Chain.
Federation identifies an agent's operator by its Entity Identifier. That Entity Identifier becomes the client_id at the bank's authorisation server.
client_idThe federation knows who operates the agent. It does not know which instance is calling.
An Agent Attestation Service closes the gap. It is itself a federation entity, with its own Entity Configuration and Trust Chain.
The service issues each agent instance a Client Attestation JWT, as defined in OAuth 2.0 Attestation-Based Client Authentication (draft-ietf-oauth-attestation-based-client-auth). The sub claim is the federation client_id. The cnf claim carries the instance key.
The authorisation server resolves the attester through the Trust Chain. It authenticates the instance through the Client Attestation PoP JWT, signed with the key in cnf.
The agent instance requests an attestation. It proves it holds its instance key.
The service returns a Client Attestation JWT. sub is the operator's federation client_id. cnf is the instance's public key.
The agent calls the token endpoint with the Client Attestation JWT. It adds a Client Attestation PoP JWT signed with the instance key.
The authorisation server resolves the attester's Trust Chain to the Trust Anchor. It then checks the PoP JWT against cnf and issues a token to that instance.
The agent operator can be an external party or the bank itself. The flow is the same in both cases.
The same pattern applies on the credential side.
An agent can hold credentials in a wallet. It can also request them as a verifier. In both roles federation identifies the operator but not the instance.
Three open proposals would carry instance attestation into the wallet ecosystem. None is adopted yet. Each changes an existing standard, so each card has a dashed outline.
OpenID for Verifiable Presentations (OpenID4VP)
The verifier receives the wallet instance's attestation with the presentation response.
OpenID4VP #799OpenID Federation Wallet Architectures
A verifier instance, such as an agent, presents an attestation of the instance. The wallet checks it against the verifier's federation Trust Chain.
federation-wallet #60x509_hash from MUST use to MUST supportOpenID4VC High Assurance Interoperability Profile (HAIP)
HAIP requires verifiers to use the x509_hash client identifier prefix. The proposal changes this to MUST support. Other prefixes, such as one based on OpenID Federation, stay open to verifiers.
The overlay maps the agentic banking design onto the standards it depends on.
Eight gaps remain open. Each card names the standard, what is missing and the group that owns it.
OAuth 2.0 Attestation-Based Client Authentication
The draft defines the attestation format. It does not define how an instance obtains one, or how attestation applies to agent grants. A grant profile and an attestation API are both needed.
Owner IETF OAuth WG
OpenID Federation 1.0
Federation metadata has no place for an agent's purpose and mission. A relying party cannot read what an agent is for.
Owner OpenID Foundation AB/Connect WG
OpenID Federation, Entity Collection Endpoint
The endpoint lists entities but cannot search on metadata values. A bank cannot ask the federation for agents with a given purpose.
Owner OpenID Foundation AB/Connect WG
tctx, rctx and purpOAuth 2.0 Token Exchange (RFC 8693)
OAuth Transaction Tokens define tctx, rctx and purp. No profile says how Token Exchange carries them as an agent's request crosses domains.
Owner IETF OAuth WG
act claims barred from access controlOAuth 2.0 Token Exchange (RFC 8693), section 4.1
Section 4.1 makes prior actors in nested act claims informational only. They cannot inform access control. Agent delegation chains need policy to see the whole chain.
Owner IETF OAuth WG
Grant Management for OAuth 2.0, with AuthZEN Authorization API 1.0
An agent cannot ask what a grant entitles it to do. AuthZEN search over the Grant Management API would answer that question.
Owner FAPI WG, AuthZEN WG
OAuth 2.0 Protected Resource Metadata (RFC 9728)
A protected resource cannot advertise its AuthZEN policy decision point in its metadata. An agent cannot discover how its requests will be authorised.
Owner AuthZEN WG
OpenID Shared Signals Framework (SSF)
SSF defines no events for the agent lifecycle, such as a revoked instance or an ended mission. Receivers cannot act on agent changes as they happen.
Owner Shared Signals WG
ID Partners designs identity architecture for banks, government and enterprises. It works in the OpenID Foundation and IETF groups that set these standards.