| Internet-Draft | SEAT-Selection | March 2026 |
| Zhang & Labiod | Expires 17 September 2026 | [Page] |
This document analyzes the selection of Attested Transport Layer Security (aTLS) protocols, among pre-handshake, intra-handshake, and post-handshake aTLS protocols, focusing on the trade-off between theoretical security strength and practical deployability. The goal is to enable flexible, context-aware deployment of endpoint attestation while maintaining compatibility with existing infrastructure.¶
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 17 September 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.¶
Attested TLS (aTLS) enables a TLS server to provide cryptographic proof of its endpoint behavior, including configuration, identity, and software integrity. This is essential for high-assurance use cases such as zero-trust architectures, compliance verification, and supply chain security.¶
However, the timing and method of attestation delivery significantly affect both security strength and network deployability. This document considers three models:¶
Pre-handshake: Attestation sent before TLS begins.¶
Intra-handshake: Attestation embedded in TLS handshake messages.¶
Post-handshake: Attestation sent after handshake completion.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.¶
Attester: The entity that generates attestation evidence.¶
Verifier: The entity that validates the attestation.¶
Relying Party: The client or service relying on the attestation result.¶
TLS Exporter: A TLS 1.3 mechanism to derive keying material from the handshake.¶
Middlebox: Network devices that inspect or modify TLS traffic (e.g., firewalls, load balancers).¶
In an ideal world, aTLS should achieve the following security properties:¶
Cryptographic Binding: The attestation evidence MUST be cryptographically bound to the TLS session. Specifically, the evidence should cover the TLS handshake transcript (e.g., ClientHello...ServerHello). This prevents a "Man-in-the-Middle" (MITM) from stripping the attestation or replaying a valid attestation from a different session.¶
Freshness: The attestation must be fresh, preventing replay attacks. Ideally, the nonce used in the attestation is derived from the TLS handshake.¶
Zero-Knowledge (Optional Privacy): The protocol should allow for selective disclosure, proving properties (e.g., "I am running patched Linux") without revealing the exact measurement hash, if desired.¶
Formal Verification: The protocol composition (TLS + Attestation) should be formally verified to ensure no security degradation (e.g., no downgrade attacks).¶
The Upper Bound implies a tight integration where the attestation is signed over the TLS handshake state, effectively making the attestation a mandatory extension of the Finished messages.¶
In the real world, protocols face harsh constraints that define the "Lower Bound" of what is acceptable:¶
Middlebox Compatibility: Enterprise networks, firewalls, and TLS terminators often inspect or modify TLS handshakes. A protocol that breaks these middleboxes (e.g., by adding large custom extensions that are stripped) will fail to deploy.¶
Library Fragmentation: Not all clients and servers use the latest OpenSSL/BoringSSL. The solution must ideally be backward compatible or implementable as a modular extension.¶
Hardware Asymmetry:¶
-High-End: Servers with TPMs 2.0 or Intel SGX/TDX can perform complex signing operations during the handshake.¶
-Low-End: IoT devices or highly loaded servers may experience significant latency if the handshake is blocked waiting for hardware signing.¶
Operational Complexity: Verifying attestation requires a complex infrastructure (Verifier, Policy Engine). If the protocol requires the TLS server to act as the Verifier for the client, it increases server load and state management complexity.¶
Passive Observation: In some deployment models (e.g., mutual TLS), the verifier might be an offline entity analyzing logs rather than the immediate peer, requiring the attestation to be accessible post-handshake.¶
The Lower Bound dictates that the protocol must be resilient to extension stripping, must not add unacceptable latency, and must allow for a "pass-through" mode where the TLS stack is unaware of the attestation semantics.¶
The primary tension lies in Binding.¶
Theory: The attestation signature MUST cover the ClientHello.random and ServerHello.random.¶
Practice: Generating this signature inside the TLS state machine is difficult for many libraries.¶
Selection Decision: The group should prefer mechanisms that use the TLS Exporter [RFC5705] to bridge this gap. This allows the attestation to be generated "outside" the strict handshake code but still be cryptographically bound to the session, satisfying the upper bound while respecting the lower bound of library modularity.¶
Theory: We control the whole stack.¶
Practice: The path contains F5 load balancers, legacy proxies, and SaaS inspection tools.¶
Selection Decision: Sending attestation evidence as Application Data (post-handshake) is the most robust against the middlebox "lower bound." However, to mitigate the security risk of MITM stripping, the protocol MUST implement a "fallback detection" mechanism. If the client expects attestation and does not receive it within the first N bytes, it MUST abort.¶
Theory: Attestation is instant.¶
Practice: TPM signing takes 50ms-200ms; SGX quoting is variable.¶
Selection Decision: To prevent blocking the TLS handshake (which hurts performance), Asynchronous Attestation should be supported. The connection can be established, and data can flow (perhaps restricted), while the attestation is being validated in the background. This lowers the performance impact to the practical floor.¶
For public-facing services (e.g., HTTPS, APIs), post-handshake attestation like[draft-fossati-seat-early-attestation] is REQUIRED due to widespread middlebox deployment and legacy infrastructure, and is recommended for broad interoperability.¶
In enterprise networks, data centers, or IoT deployments, where: middleboxes are under administrative control, TLS stacks are upgradable, and Security is paramount, Intra-handshake attestation MAY be used when network environment allows.¶
Certain protocols, for example the LAKE Protocol [LAKE-RA], provide native support for attestation integration without requiring protocol modifications. In such cases, Intra-handshake attestation is RECOMMENDED. This approach enables zero-cost attestation, optimal cryptographic binding, and protocol-level trust composition.¶
In architectures featuring a validating gateway (e.g., a Zero Trust Network Access gateway):¶
The client attests to the gateway via a separate protocol (e.g., EST over CoAP, or a custom UDP protocol).¶
The gateway validates the attestation.¶
The gateway issues a short-lived Attestation Token (e.g., a psk_identity for TLS-PSK).¶
The client initiates the TLS handshake to the internal server, presenting the Token.¶
The server validates the Token to authorize the session.¶
Pre-handshake attestation is RECOMMENDED for gateway-based NAC, provided the Token is cryptographically bound to the TLS session.¶
TODO¶
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", August 2018.¶
[RFC5705] Rescorla, E., "Keying Material Exporters for TLS", March 2010.¶
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, March 1997.¶
[draft-fossati-seat-early-attestation] draft-fossati-seat-early-attestation, Using Attestation in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)¶
[LAKE-RA] draft-ietf-lake-ra, Remote attestation over EDHOC¶
TODO¶