| Internet-Draft | WIMSE-TRANS-POR | February 2026 |
| Krishnan, et al. | Expires 29 August 2026 | [Page] |
This document defines a WIMSE Profile for Transitive Attestation within the Workload Identity in Multi-Service Environments (WIMSE) framework. It addresses the critical problem of Identity Portability, where software credentials (e.g., bearer tokens or keys) can be misappropriated and used from unauthorized environments—a risk amplified by the emergence of autonomous AI Agents that may move across jurisdictions or be hijacked via prompt injection attacks. By providing a standardized Identity Conveyance mechanism, this profile cryptographically binds software workloads to their local execution environment ("Proof of Residency") through a transitive chain of trust. This chain consumes Evidence from the underlying platform—supporting both high-assurance RATS-based profiles (e.g., [[!I-D.lkspa-wimse-verifiable-geo-fence]]) for residency verification and standard Workload Identity Agents for basic co-location proofs—to ensure that an identity is only valid when used from a verified, integral, or geographically compliant host. The integrity and hardware-rooted security of the Workload Identity Agent itself is considered out-of-scope for this document and is addressed in the Verifiable Geofencing profile [[!I-D.lkspa-wimse-verifiable-geo-fence]].¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 29 August 2026.¶
Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
This document defines the WIMSE Profile for "Transitive Attestation", addressing a critical technical gap in the high-level WIMSE Architecture [[!I-D.ietf-wimse-arch]] regarding how platform-level trust is transitively extended to software workloads.¶
Currently, workload identities are often "context-agnostic"—once a credential (e.g., a bearer token) is issued, it can often be used from any environment. This Identity Portability allows an attacker who steals a token in one jurisdiction to use it from another, representing a significant Sovereignty Violation for workloads legally required to operate within specific boundaries. This is particularly critical for AI Agents, whose autonomous nature, susceptibility to hijacking via prompt injection attacks, and potential for rapid migration across cloud environments require strict, verifiable adherence to data residency and host integrity policies.¶
By addressing the North-South security axis of a workload's relationship with its local hosting environment, this profile establishes a "Silicon-to-SVID" chain of accountability. It ensures that the Workload Identity Agent (the local agent) is empowered to issue identities that are cryptographically bound to a verified execution context. This mechanism is flexible across assurance levels: it supports High Assurance residency verification rooted in hardware evidence (e.g., TPM/TEE), as well as Standard Assurance local co-location proofs provided by conventional workload agents.¶
This draft acts as the Conveyance Layer that integrates with the findings of a RATS Profile (such as Verifiable Geofencing [[!I-D.lkspa-wimse-verifiable-geo-fence]]) to establish two distinct levels of assurance:¶
A workload obtains a fresh signature or proof from a local Workload Identity Agent, typically utilizing a Workload Fusion Nonce (N_fusion) to prevent replay. This ensures the identity—and the usage of its associated credentials—is sensitive to the physical or logical residence of the workload, complementing the "East-West" delegation models. Re-attestation follows a Tiered Schedule (see [[!I-D.lkspa-wimse-verifiable-geo-fence]]), separating frequent identity renewal from heavyweight platform evidence collection.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [[RFC2119]] [[RFC8174]] when, and only when, they appear in all capitals, as shown here.¶
This document leverages the terminology defined in the RATS Architecture [[RFC9334]] and the WIMSE Architecture [[!I-D.ietf-wimse-arch]].¶
Workload identities are often represented by bearer tokens or keys that, once compromised, can be used by an attacker from any environment. This "portability" allows an attacker who achieves RCE on a workload (e.g., in Region A) or hijacks an AI agent's logic via prompt injection to use the stolen keys or intercepted tokens from an attacking machine (e.g., in Region B).¶
In the context of Sovereign Workloads, this portability is more than a technical vulnerability; it is a Sovereignty Violation. If a workload is legally or logically required to operate within a specific jurisdiction, any identity that can be successfully verified from outside that jurisdiction represents a failure of the sovereign boundary. Relying Parties currently lack a standardized way to ensure that a presented identity is being used from the same verified host that was originally authorized.¶
This document focuses on the Identity Conveyance and Session Binding mechanisms required for Transitive Attestation. It standardizes how a workload proves its co-location with a local agent and how that proof is bound to application sessions (e.g., mTLS or DPoP).¶
The following areas are explicitly OUT OF SCOPE for this profile:¶
These security guarantees are provided by the underlying RATS Profile for Verifiable Geofencing [[!I-D.lkspa-wimse-verifiable-geo-fence]]. This WIMSE profile assumes that the Workload Identity Agent is operating in a verified, integral state as established by the Geofencing layer.¶
"Transitive Attestation" establishes a chain of trust from a hardware root through a local agent to the workload. The Workload Identity Agent provides the workload with a "live" proof that it is currently resident on the verified host. This local peer-to-peer connection is typically enforced through a Unix Domain Socket (UDS), providing a kernel-level guarantee that the workload is co-located with the hardware-rooted agent.¶
In an mTLS environment, the Proof of Residency (PoR) is bound to the mutually authenticated session and the local execution context via a transitive chain of trust.¶
The mTLS-based flow integrates residency verification into the session establishment and validation phase:¶
Local Attestation Binding: The client constructs a PoR assertion payload containing:¶
[!NOTE] By binding to the TLS Exporter instead of the application traffic keys, the Proof of Residency remains valid across TLS 1.3
KeyUpdateoperations. Standard key rotation refreshes traffic keys but does not change the exporter master secret, thus avoiding unnecessary re-attestation cycles while maintaining strong cryptographic binding to the session.¶
Server Verification: The Verifier performs a joint verification of identity and residency:¶
Upon successful verification, the resource server has proof that the client identity (presented via mTLS) is currently resident in the same authorized environment as the verified Workload Identity Agent.¶
"Demonstrating Proof of Residency" (DPoR) is an enhancement to the Demonstrating Proof-of-Possession (DPoP) mechanism defined in [[RFC9449]]. While DPoP ensures possession of a private key held by the client, DPoR ensures the physical or logical residency of the workload using that key by binding the request to a local attestation.¶
The DPoR flow integrates residency verification into the per-request application-level authorization:¶
DPoR-Nonce header) to the client to ensure anti-replay of the residency proof.¶
Local Attestation Binding: The client constructs a DPoR assertion payload containing:¶
DPoR header or as an extension to the DPoP JWT.¶
Server Verification: The Verifier performs a joint verification of possession and residency:¶
jkt (DPoP key thumbprint), the nonce, and the timestamp in the residency proof match the current request and are within an acceptable freshness window.¶
This binding ensures that a DPoP key cannot be "exported" and used from a different machine, as the resource server would detect the lack of a valid, hardware-rooted residency proof for that specific key from the new environment.¶
In Confidential Computing (CC) environments, the Relationship between high-level workload identities and hardware-rooted evidence is formalized through specific architectural patterns. This section details how Transitive Attestation bridges the gap between hardware quotes and application-layer identities.¶
In a Transitive Attestation model, trust is passed through a chain of components.¶
To prevent man-in-the-middle (MITM) and replay attacks, the hardware evidence must be cryptographically bound to the communication channel. This is achieved using the TLS Exporter [[RFC5705]].¶
ReportData in SGX or RTMR in TDX).¶
The Relying Party (Verifier) completes the trust loop by performing the following steps:¶
[!NOTE] The Relying Party (which may be the Resource Server or an API Gateway/Proxy acting on its behalf) extracts the TLS Exporter value.¶
This architecture ensures that identity is not just a bearer token, but is cryptographically tied to the verified runtime environment and the specific communication channel.¶
| Layer | Component | WG | Core Responsibility |
|---|---|---|---|
| Layer 1 | Transitive Attestation | WIMSE | Conveyance: Binds identity to the local agent (Co-location/Residency). |
| Layer 2 | Verifiable Geofencing | RATS | Platform Evidence: Verifies host integrity and Workload Identity Agent hardware residency (TPM). |
| Layer 3 | Verifiable Geofencing | RATS | Location Evidence: Verifies physical geography (GNSS/ZKP). |
| Delegation | Actor Chain | SPICE | Provides East-West identity delegation proof [[!I-D.draft-mw-spice-actor-chain]]. |
| Shield | SPICE | SPICE | Employs Selective Disclosure (SD-CWT) to protect residency/geographic privacy. |
Additional relationships include:¶
Proof of Residency or Co-location specifically mitigates the "Stolen Credential Portability" threat, which encompasses both stolen private keys and stolen bearer/DPoP tokens.¶
An attacker who steals a private key or intercepts an active token from a workload cannot use those credentials from an external environment. Any attempt to use the stolen credential requires a corresponding PoR assertion that is:¶
Consequently, credentials become functionally "sticky" to the verified residence; an attacker cannot generate a valid proof without achieving a compromise of the identity agent itself. While a software-based agent provides strong logical isolation, a hardware-rooted agent (see [[!I-D.lkspa-wimse-verifiable-geo-fence]]) provides the highest level of protection against agent cloning and export.¶
The security of this model relies on the Workload Identity Agent correctly providing a fresh assertion bound to the current workload session. While this document specifies the conveyance of N_fusion, the underlying platform-level freshness—including the binding to hardware-rooted platform nonces (N_platform)—is managed by the associated RATS Profile (see [[!I-D.lkspa-wimse-verifiable-geo-fence]]). If a verifier accepts a residency proof that lacks a fresh agent signature, the "Silicon-to-SVID" chain of trust is compromised.¶
TBD: Discussion on Workload Identity Agent compromise, nonce entropy requirements, and clock skew for timestamp verification.¶
This document has no IANA actions at this time.¶