<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.0.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc compact="yes"?>
<?rfc subcompact="yes"?>

<rfc ipr="trust200902" docName="draft-openhttpa-protocol-01" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="OpenHTTPA">OpenHTTPA: Hypertext Transfer Protocol with Attestation</title>

    <author initials="G." surname="King" fullname="Gordon King">
      <organization>OpenHTTPA Foundation</organization>
      <address>
        <postal>
          <country>United States</country>
        </postal>
        <email>gordon@openhttpa.org</email>
      </address>
    </author>
    <author initials="H." surname="Wang" fullname="Hans Wang">
      <organization>OpenHTTPA Foundation</organization>
      <address>
        <postal>
          <country>United States</country>
        </postal>
        <email>hans@openhttpa.org</email>
      </address>
    </author>

    <date year="2026" month="June" day="27"/>

    <area>Security</area>
    <workgroup>HTTPBIS, TEE, SECDISPATCH</workgroup>
    <keyword>http</keyword> <keyword>attestation</keyword> <keyword>tee</keyword> <keyword>post-quantum</keyword> <keyword>pqc</keyword> <keyword>sigma-i</keyword> <keyword>eat</keyword>

    <abstract>

<t><tt>OpenHTTPA</tt> (Hypertext Transfer Protocol with Attestation) defines a protocol for establishing
hardware-verified, end-to-end confidential and authenticated communication between a client
and a Trusted Execution Environment (TEE) over standard HTTP/2, HTTP/3, and gRPC transports.
Unlike traditional TLS which terminates at the network edge, <tt>OpenHTTPA</tt> ensures that the
cryptographic session terminates inside the hardware-isolated enclave.
The protocol is based on the SIGMA-I model and incorporates post-quantum hybrid key exchange (ML-KEM), post-quantum digital signatures (ML-DSA), transcript-bound hardware attestation, and semantic binding of HTTP requests to the hardware-verified session state.
This document supersedes the earlier work published as draft-openhttpa-protocol-00.</t>



    </abstract>



  </front>

  <middle>

<section anchor="introduction"><name>Introduction</name>

<t>Modern web architectures rely on Transport Layer Security (TLS) <xref target="RFC8446"/> for data-in-transit
protection. However, TLS termination often occurs at the network edge (e.g., Load Balancers,
CDNs, or WAFs), leaving data exposed within internal cloud networks and vulnerable to
privileged insiders or compromised host software.</t>

<t>Trusted Execution Environments (TEEs), such as Intel SGX/TDX <xref target="INTEL-TDX"/>, AMD SEV-SNP <xref target="AMD-SEV"/>, and Arm TrustZone,
provide hardware-level isolation. While TEEs can generate cryptographic "quotes" to prove
their identity and integrity, there is no standardized Application Layer (L7) protocol to
seamlessly bind these hardware proofs to HTTP sessions.</t>

<t><tt>OpenHTTPA</tt> addresses this gap by providing an end-to-end trusted communication protocol. Building upon the foundational concepts of the earlier HTTPA/2 specification (see <xref target="I-D.sandowicz-httpbis-httpa2"/>), <tt>OpenHTTPA</tt> introduces:</t>

<ol>
  <li><strong>Enclave-to-Enclave Security</strong>: Cryptographic termination inside the TEE.</li>
  <li><strong>Mutual Attestation</strong>: Integration of TEE hardware quotes into the handshake via the
SIGMA-I model.</li>
  <li><strong>PQC Exclusivity</strong>: Enforced Post-Quantum Cryptography for identity and signatures using
ML-DSA <xref target="FIPS-204"/>, completely eliminating classical ECDSA/RSA dependencies for network identity. (Note: Hardware attestation quotes still rely on classical silicon roots of trust, such as TEE-ECDSA, depending on the hardware vendor). Key exchange utilizes a hybrid combiner of classical X25519 with ML-KEM <xref target="FIPS-203"/>.</li>
  <li><strong>Policy-as-Code (PaC)</strong>: Dynamic admission control during the Attestation Handshake (AtHS) powered by Open Policy Agent (OPA/Rego) to enforce context-aware rules on hardware provenance and claims.</li>
  <li><strong>Semantic Intent Binding</strong>: The Attested Header List (AHL) mechanism, which binds HTTP
semantic context (Method, Path, Query) to the hardware-verified session.</li>
  <li><strong>0-RTT Confidentiality</strong>: Sub-millisecond session resumption for latency-critical agentic and oracle workflows.</li></ol>

<section anchor="working-group-target"><name>Working Group Target</name>

<t>This document is submitted for cross-working-group review:</t>

<ul>
  <li><strong>HTTPBIS</strong>: For extensions to the HTTP protocol, including the <tt>ATTEST</tt> method and SFV headers.</li>
  <li><strong>TEE</strong>: For the use of hardware attestation reports and Entity Attestation Tokens (EAT) <xref target="RFC9334"/>.</li>
  <li><strong>SECDISPATCH</strong>: For architectural review of the hybrid security model.</li></ul>

</section>
</section>
<section anchor="design-goals"><name>Design Goals</name>

<t><tt>OpenHTTPA</tt> is designed with the following core architectural goals:</t>

<ol>
  <li><strong>Transport Independence</strong>: The protocol MUST be capable of operating over HTTP/2,
HTTP/3, and gRPC without modification to the underlying transport framing.</li>
  <li><strong>Cryptographic Agility</strong>: The hybrid KEM and AEAD selections MUST be negotiable to
allow for the adoption of future post-quantum algorithms.</li>
  <li><strong>Auditability</strong>: The handshake transcript MUST be deterministic and auditable to
allow for formal verification of security properties.</li>
  <li><strong>Hardware Heterogeneity</strong>: The protocol SHOULD support the simultaneous attestation
of multiple hardware providers (e.g., CPU + Accelerator) in a single unified session.</li>
  <li><strong>Formal Verifiability</strong>: The protocol state machine and cryptographic binding MUST be
amenable to machine-checked formal verification (e.g., ProVerif) to guarantee injective authentication and perfect forward secrecy.</li></ol>

</section>
<section anchor="conventions-and-terminology"><name>Conventions and Terminology</name>

<t>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 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals,
as shown here.</t>

<t>The following terms are used throughout this document:</t>

<ul>
  <li><strong>TEE (Trusted Execution Environment)</strong>: A secure area of a main processor that guarantees
confidentiality and integrity of code and data.</li>
  <li><strong>Attestation Quote</strong>: A hardware-signed report proving the state and identity of a TEE.</li>
  <li><strong>AtHS (Attestation Handshake)</strong>: The initial protocol phase to establish a session, based
on the SIGMA-I model.</li>
  <li><strong>TrR (Trusted Request)</strong>: An encrypted HTTP request sent over an established AtHS session.</li>
  <li><strong>AHL (Attested Header List)</strong>: A canonical representation of the request headers used for
semantic binding.</li>
  <li><strong>Hybrid KEM</strong>: A Key Encapsulation Mechanism that combines a classical and a
post-quantum primitive to achieve IND-CCA2 security.</li></ul>

</section>
<section anchor="protocol-overview"><name>Protocol Overview</name>

<t><tt>OpenHTTPA</tt> operates in several distinct phases, integrated into the standard HTTP request-response
lifecycle.</t>

<section anchor="phase-1-preflight-capability-negotiation"><name>Phase 1: Preflight (Capability Negotiation)</name>

<t>A client MAY initiate a preflight request using the <tt>OPTIONS</tt> method to discover <tt>OpenHTTPA</tt>
support and available hardware providers.</t>

<t><tt>http
OPTIONS /api/resource HTTP/1.1
Host: server.example.com
Attest-Versions: openhttpa
</tt></t>

<t>The server responds with supported versions and hardware types using Structured Field Values
<xref target="RFC8941"/>.</t>

<t><tt>http
HTTP/1.1 204 No Content
Attest-Versions: openhttpa
Attest-TEE-Types: intel_tdx, nvidia_gpu
</tt></t>

</section>
<section anchor="phase-2-attestation-handshake-aths"><name>Phase 2: Attestation Handshake (AtHS)</name>

<t>The AtHS establishes a secure session between the client and the TEE. It uses the <tt>ATTEST</tt>
method (or a fallback <tt>POST</tt> with specific headers).</t>

<section anchor="aths-request"><name>AtHS Request</name>

<t>The client sends its preferred cipher suites, versions, nonces, and public key shares.</t>

<ul>
  <li><tt>Attest-Versions</tt>: Supported versions. (Omitted if <tt>Attest-Encrypted-Hello</tt> is used).</li>
  <li><tt>Attest-Cipher-Suites</tt>: Preferred hybrid suites (e.g., <tt>X25519_ML_KEM768_AES256GCM_SHA384</tt>). (Omitted if <tt>Attest-Encrypted-Hello</tt> is used).</li>
  <li><tt>Attest-Random</tt>: 32-byte client nonce.</li>
  <li><tt>Attest-Key-Shares</tt>: Structured list of ECDHE and ML-KEM public keys.</li>
  <li><tt>Attest-Encrypted-Hello</tt>: (Optional) ML-KEM HPKE-encapsulated metadata shielding cipher suites, protocol versions, and routing identifiers from network observers to provide cover-traffic metadata protection.</li>
  <li><tt>Attest-Policies</tt>: (Optional) A list of PaC (Policy-as-Code) constraints evaluated dynamically via Open Policy Agent (OPA) against the server's hardware provenance.</li></ul>

</section>
<section anchor="aths-response"><name>AtHS Response</name>

<t>The server responds with the selected parameters and its own attestation evidence.</t>

<ul>
  <li><tt>Attest-Version</tt>: Negotiated version.</li>
  <li><tt>Attest-Cipher-Suite</tt>: Negotiated suite.</li>
  <li><tt>Attest-Random</tt>: 32-byte server nonce.</li>
  <li><tt>Attest-Quotes</tt>: One or more TEE attestation quotes.</li>
  <li><tt>Attest-Server-Signatures</tt>: Post-quantum and hardware-backed digital signatures (e.g., ML-DSA, TEE-ECDSA).</li>
  <li><tt>Attest-Base-ID</tt>: Unique session identifier (UUID).</li></ul>

</section>
</section>
<section anchor="handshake-flow-visualization"><name>Handshake Flow Visualization</name>

<t>The following diagram illustrates the AtHS SIGMA-I handshake:</t>

<t>```mermaid
sequenceDiagram
    participant Client
    participant Server</t>

<figure><artwork><![CDATA[
Client->>Server: ATTEST (Random_C, KeyShare_C, Suites, Versions)
Note over Server: Negotiate, KEM Encap, Bind Transcript
Server->>Client: 200 OK (Random_S, KeyShare_S, Atb-ID, Quotes)
Note over Client: Verify Quote, KEM Decap, Derive Keys
Note over Server: Derive Keys ```
]]></artwork></figure>

</section>
</section>
<section anchor="message-formats"><name>Message Formats</name>

<t>To ensure cross-platform interoperability, <tt>OpenHTTPA</tt> defines strict formats for all wire
elements.</t>

<section anchor="structured-field-values-sfv"><name>Structured Field Values (SFV)</name>

<t>All <tt>OpenHTTPA</tt> headers MUST follow <xref target="RFC8941"/>.</t>

<section anchor="attest-versions"><name>Attest-Versions</name>

<t>A List of tokens identifying supported protocol versions.</t>

<ul>
  <li>Example: <tt>Attest-Versions: openhttpa, httpa/3</tt></li></ul>

</section>
<section anchor="attest-cipher-suites"><name>Attest-Cipher-Suites</name>

<t>A List of tokens identifying supported cipher suites in order of preference.</t>

<ul>
  <li>Example: <tt>Attest-Cipher-Suites: X25519_ML_KEM768_AES256GCM_SHA384, X25519_AES256GCM_SHA384</tt></li></ul>

</section>
<section anchor="attest-random"><name>Attest-Random</name>

<t>An SFV Byte Sequence containing 32 random bytes.</t>

<ul>
  <li>Example: <tt>Attest-Random: :b3Blbmh0dHBhLXNlY3VyZS1yYW5kb20tbm9uY2UteHh4: </tt></li></ul>

</section>
<section anchor="attest-quotes"><name>Attest-Quotes</name>

<t>A List of Inner Lists. Each inner list contains a TEE type token and an SFV Byte Sequence representing the quote. The byte sequence MAY include a <tt>format</tt> parameter (e.g., <tt>format=eat</tt>) to specify the encoding of the quote; if absent, <tt>format=raw</tt> is assumed.</t>

<ul>
  <li>Example: <tt>Attest-Quotes: (tdx :YmFzZTY0LXF1b3RlLWJ5dGVz:;format=raw), (nvidia_gpu :Z3B1LXF1b3RlOjpieXRlcw==:)</tt></li></ul>

<section anchor="entity-attestation-token-eat-considerations"><name>Entity Attestation Token (EAT) Considerations</name>

<t>While <tt>OpenHTTPA</tt> explicitly prioritizes sub-millisecond setup performance utilizing <strong>raw hardware quotes</strong> (e.g., native Intel TDX <xref target="INTEL-TDX"/> or AMD SEV-SNP <xref target="AMD-SEV"/> binary formats) for latency-critical Agentic Swarms, it is imperative to support broader Internet interoperability.</t>

<t>Therefore, implementations MUST support an Entity Attestation Token (EAT) <xref target="RFC9334"/> fallback. The client and server can negotiate the EAT format via the <tt>format=eat</tt> parameter. When EAT is utilized, hardware evidence is encapsulated within CWT/JWT structures, allowing disparate verifiers to evaluate claims using standardized engines (e.g., Veraison).</t>

</section>
</section>
</section>
<section anchor="json-key-shares"><name>JSON Key Shares</name>

<t>The <tt>Attest-Key-Shares</tt> and <tt>Attest-Key-Share</tt> headers contain a JSON-encoded object with
the following schema:</t>

<t><tt>json
{
  "ecdhe_public": "base64_encoded_bytes",
  "mlkem_public": "base64_encoded_bytes",
  "mlkem_ciphertext": "base64_encoded_bytes (server response only)",
  "server_identity_pub": "base64_encoded_bytes (optional server response)",
  "signature_alg": "string (e.g., 'ml-dsa-65')"
}
</tt></t>

</section>
</section>
<section anchor="test-vectors"><name>Test Vectors</name>

<ul empty="true"><li>
  <t><strong>Note to RFC Editor:</strong> The following test vectors were generated from the OpenHTTPA reference implementation (<tt>openhttpa-rs</tt>).</t>
</li></ul>

<section anchor="hybrid-kem-key-exchange"><name>Hybrid KEM Key Exchange</name>

<t><strong>Client ECDHE Public Key:</strong></t>

<t><tt>text
7837c04985b1737863fc4bb7e3e18a0ff55dc9815865877676977f69d0c8851a
</tt></t>

<t><strong>Client ML-KEM Public Key:</strong></t>

<t><tt>text
47a226263994c1677422005a2345508546a4c1049e9af576b582a2
31db5a354a5b7290a4cacc22c18322fd45729527a0b8584bfe0b12
48634f6016ad6e39ad5d229869e9cd00ba06f755557df266f0a52f
393b6734ecc4ee696f4b761b3f6088eed895ebb81f0d66c97b8361
fad9cb5583ac02a9734286bc74e28e6484bc229332e0f00c5f471a
09648610daa11e48be1cf08cc4bc84902713432468816533a24433
786c20f0231b7eac413753a3ae3a19d0c817b79451a9817f787694
2d53b6ccec6a6784c7c2d84929039a67a0c26cbb5875ba0432686f
ee7227e95b14c6494c517c1214b59cbbbb06fe996447203e8fe27a
48996613674a826674564a4c11c5055e3679d686b30233a84c4ab4
6c07c764fcbc4a646972dc16c895bdde9c575d86bcd3d35baf3952
0e967d286c8af44763a856926e7534a4f488ca403e1bb7baff4c6d
41230f67a590453891fc6730d63bcac141954d32ae37ebca96b244
09922a234b3b486c3f9a602e13337ae9f1a4a8c2137ac6481f32bb
7e34cd3f97cd00d9ae92dc187fb00c78384b669443d2377e79b82f
5890037fcacd64952003b1b3589968b3725763f79f4618491bb274
26e96fac824dbe93828bea31572a8852139e46806121652c7673ce
1b659e8249bcc102ac39a768322a62f85b6b25c74a12126336d05d
a992c8a0729e7f97909591c816b0c98366600fa7053c29c530a546
c3c92b705144f153b949f6bf9a43cbb2141572c9251b43c3507769
78b8cdb19ba642695c3242207260934dd1707d12662a666790bb68
16292f67cc19a416c17a01828be46005dc6b1319b551899044b44c
8bc80b0ac329e61c60a00279ac87a5ff03697d501c9d79b6945a0b
04e95f8654ad8f5b72e431b339a909fb5cce6652991762cf377800
9fd53e0896b47c725b9ddbbc9ae63b6e1b8ff184880b156b4b3626
d6cb9ebd8b37ba5b63bada72fdd58adff49be0f736242bb219b643
0f700d99c5a87d8109ede8211c5bc5fb85762b843c9e6aa9750685
d5f4442b9ba0d3e07fa7f10628abaaefd0555d63cd437b3ea36894
bd21731763b194c0a1f9746838845bfaf8159278b255f14bdd00ac
82e05b2d90cd52f57388b8036c7ac0feccc0a3b975419756e8bb5d
e36ba25bf18dc1931663f3afaf08c9f4d7b533097723f1a3be260f
d34ac968795f82c51ebb5b081385546c82a41924ac7ac672b5ec61
78b3310661b9017a8f37823f1da3cf7c384e00389685ac584b0b33
9f96899b707d4928a5831972479750a39ac6852514a96b9f81f541
b6cba6aea7a23f911c939b050f9b239026c825b4b7b978cbb10951
a7d3bccd442641a184e5425a0224421d48c082acc8afc215e0aa20
1cca63bfd056678b311cbc0fcbb5144320a91a963952b227b3a8cf
a71c562cb5a844295c2e20520118943bc6bdf50392f8391f9d81ca
bf18c82c1ba194a27131b16b06952b80d4055e0a6767431cd0f61f
ba43698b590912c2b6463688bfd99e099a4519061ea4230e72b794
c9114fd91c59a5c8585ed65f622a42004c6e11b086db272bbcb4c5
3c7c8abcfa69d730bfe0b4857bd61c0f6a37be496e0063a5dc6145
e26a4f931b3e261a52233244a6028c34b2ccadea1c400df39ed0a8
f8c4047ed3ceeda48a6d7b29a0553d35706fde12858da5
</tt></t>

<t><strong>Server ECDHE Public Key:</strong></t>

<t><tt>text
cfff07624272cf8303edd7d71ea3bea1b359008c321ae06f076ed52200047418
</tt></t>

<t><strong>Server ML-KEM Ciphertext:</strong></t>

<t><tt>text
34b21199544efdba9cb4a0f832f61cf922983b52c7c3d042484986
26d1e0a17565e81581a1d0017f453cb3bb19acf5c2f6340b338114
e460a222bf0b1d339299820ab97e1b7645b0bf2b6ed917dc9c0093
5d3acf1a829155e1df2651785c8e91205b95f48d77198cd77854e2
92f84ee483d0ad97075d175e346c4a5c261746f2116b5b5b176401
cd37f7521a277705bb1574e0a6f8e9614d8691a78bef730f93e04c
b10f114cc217550f083ab6a51b7ef1388026af3ca9b9f191127ff3
dde9aa8f4e7ed8d30bd948fde3f8348a3506be7b1cee85f670379d
17af5b5ac797a4987356d500444c01f145c2ddbb3ecbb54ac08456
ee07ae8770156b0a303c4841ccc6f03e82d79dfb3b78a2d7f15c6f
c79af454e051a80cb7508474d2fdbdf400100fea583316854d28e5
faee57cd7ce15dbd3609d14d16f4b7944c43d35e2afc0d5c443c69
125a471405215fde928dd27b26bd641dce55e78d1d4c1ed12f9d09
f03ffc6698f1573659c72ace12ff8428d972db6381727b40097c4f
ae0a1b89faf7e0e8371dc451c2221120be73731cc5428cff83ee09
d212df32020af7677c24973796970480d647c24f5d88f4a33b4e6f
f77e3db809d9ae8684ed31a4075b536aeb8f789ce65075c7096cfe
de20377cc9b4ff47973c22a0d9aa429207d36fc0a3ea24ca3c0b92
c93af6a31f87cea8b20bdd81cb63db603bd3f012697194bb2f3068
592b331a81ecd589510902d0356ef88c107b154b52e5617e2859a0
1b3f40151c7067221328f53f2f84429f4ccd99eb4981f96fcaae5f
30f4caa1dd66eee2902714c35f4eacc0e7a32a382a36ca4ce532c4
89471d39b21ad1d9be3edc8dd5df16572fc93dbbd4f06cfab00bad
fd313e0b6b09c0dac2c491b70edf5eb3170cd65e6f72219496c986
637676d6c80a2f6197c60c854f297476c05ef4565d5b9ddd2b79ea
2e04ea0107d64a53fdb0d485f83983957b6985b36d1a6e24a062b5
fd15fb9c20a00a74f2a8146f0c2d0c611d272d5d65c0495d954349
542e94c5e23bd37ceaf5cc512a1c49ce84c08d7de7ff5015a1e42c
2c9ea65e0f9187b20c1576daaad1fe1203975bbd611d52ca71eb22
85e026c0f4cb166740f68158516d5e0484a7097c00bc8a8370b00f
3fa1673be7f27ef098f664dd0406dbcca7e11cae9ce27b0dd4cb31
4c098b65ab9f698c0ebd9ca23969a1bdb7e1cf9a15dcbfac5d935c
785d7b94fd77fe862d9c149666b8ea4bd75116fb4da8dd3510be5a
2b2cf2cd5f158bcdbcf567d8c2a4288120db5fa459f54f2c8188d9
61436219ac5d2da7dea94246f2aa6dc3a165cc6a8ceaa45a62b303
f4dd7d6dddfeb7f02beba9a41e22b60d006f6cb6ed2f9b17a3d4a1
2d200d1b432f9e08d629418a625f0f5dad3b6af69ca167d58aac86
88eb20ab4ea5e68d589aa89f6da920decf07d382a2ac4937df1f23
6da2316174ef70b145c211e1a002201079c507d4ca4d5867acfdd5
b32619e192928522cefc4f943e552f349000a3fb092274bb09de10
5b7905edff03f7ad
</tt></t>

<t><strong>Combined Hybrid Secret (IKM):</strong></t>

<t><tt>text
0f59c9666c406b1623a6759955670303871d1d7edd333596df998f8e2c5bef58
</tt></t>

<section anchor="derived-session-keys"><name>Derived Session Keys</name>

<t><em>Transcript Hash (All Zeros for Test Vector):</em></t>

<t><tt>text
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
</tt></t>

<t><strong>Master Secret:</strong></t>

<t><tt>text
e4c42f6ce7dd16b5d7c0dbbe632df194df2c66c2c23684149915028d521f120c
aa4ba423f91a7c33e508c301ee828b58
</tt></t>

<t><strong>Client Write Key:</strong></t>

<t><tt>text
00b0652de62e2ca2a59b9278c0394968fcf8f3c51201673f48b60aaa6025ce17
</tt></t>

<t><strong>Server Write Key:</strong></t>

<t><tt>text
45682e8d7d91daae8ed44f309fb141e3f1feb3a7809139d86b818e7d42a58caa
</tt></t>

<t><strong>Client MAC Key:</strong></t>

<t><tt>text
b027a1f5a0a45b5298bc3c97078d5914e8e924b426dcd5d2b96b47b0521a307e
</tt></t>

<t><strong>Server MAC Key:</strong></t>

<t><tt>text
f66f2e32e43af2be6775ebb2c5915f0c98fe1e5c54c68320447964d7a70ac80f
</tt></t>

</section>
</section>
<section anchor="binary-trailer-layouts"><name>Binary Trailer Layouts</name>

<t>Trailers MUST use big-endian encoding for all numeric fields.</t>

<section anchor="attest-ticket-request-trailer"><name>Attest-Ticket (Request Trailer)</name>

<t>Used in TrR (Phase 4) to authenticate the request.</t>

<ul>
  <li><tt>nonce</tt>: 8 bytes (big-endian u64).</li>
  <li><tt>mac</tt>: Variable length (based on cipher suite, e.g., 48 bytes for SHA-384).</li></ul>

</section>
<section anchor="attest-binder-response-trailer"><name>Attest-Binder (Response Trailer)</name>

<t>Used in TrR (Phase 4) to bind the response to the request.</t>

<ul>
  <li><tt>request_nonce</tt>: 8 bytes (big-endian u64, echo of request nonce).</li>
  <li><tt>mac</tt>: Variable length.</li></ul>

</section>
</section>
</section>
<section anchor="protocol-state-machine"><name>Protocol State Machine</name>

<t>Implementations MUST maintain a session state machine to ensure correct sequencing of
handshake and trusted request phases.</t>

<section anchor="client-state-machine"><name>Client State Machine</name>

<table>
      <thead>
        <tr>
          <th align="left">Current State</th>
          <th align="left">Event</th>
          <th align="left">Next State</th>
          <th align="left">Action</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>START</td>
          <td>Send OPTIONS</td>
          <td>PREFLIGHT</td>
          <td>Wait for preflight response</td>
        </tr>
        <tr>
          <td>PREFLIGHT</td>
          <td>Recv 204</td>
          <td>IDLE</td>
          <td>Parse supported versions/TEEs</td>
        </tr>
        <tr>
          <td>IDLE</td>
          <td>Send ATTEST</td>
          <td>HANDSHAKE</td>
          <td>Generate KEM pair, send shares</td>
        </tr>
        <tr>
          <td>HANDSHAKE</td>
          <td>Recv 200</td>
          <td>ESTABLISHED</td>
          <td>Verify quotes, derive keys</td>
        </tr>
        <tr>
          <td>ESTABLISHED</td>
          <td>Send TrR</td>
          <td>ESTABLISHED</td>
          <td>Encrypt body, add AHL binder</td>
        </tr>
      </tbody>
    </table>

</section>
<section anchor="server-state-machine"><name>Server State Machine</name>

<table>
      <thead>
        <tr>
          <th align="left">Current State</th>
          <th align="left">Event</th>
          <th align="left">Next State</th>
          <th align="left">Action</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>START</td>
          <td>Recv OPTIONS</td>
          <td>START</td>
          <td>Send supported capabilities</td>
        </tr>
        <tr>
          <td>START</td>
          <td>Recv ATTEST</td>
          <td>HANDSHAKE</td>
          <td>Pick suite/version, generate KEM</td>
        </tr>
        <tr>
          <td>HANDSHAKE</td>
          <td>Send 200</td>
          <td>ESTABLISHED</td>
          <td>Send quotes/shares, derive keys</td>
        </tr>
        <tr>
          <td>ESTABLISHED</td>
          <td>Recv TrR</td>
          <td>ESTABLISHED</td>
          <td>Verify AHL, decrypt body</td>
        </tr>
      </tbody>
    </table>

</section>
</section>
<section anchor="cryptography"><name>Cryptography</name>

<t><tt>OpenHTTPA</tt> mandates high-assurance primitives and constructions to protect against both classical
and future quantum adversaries. All signatures MUST use ML-DSA-65 or higher for post-quantum
identity assurance.</t>

<section anchor="hybrid-kem-combiner"><name>Hybrid KEM Combiner</name>

<t>To achieve IND-CCA2 security, <tt>OpenHTTPA</tt> implements a hybrid combiner following
<xref target="I-D.ietf-tls-hybrid-design"/> Section 3.2.</t>

<section anchor="combiner-input-ikm"><name>Combiner Input (IKM)</name>

<t>The Input Key Material (IKM) binds all public material from the exchange. All length prefixes (<tt>u16</tt>) MUST be encoded as Big-Endian (network byte order):</t>

<t><tt>text
IKM = ECDHE_SS || ML-KEM_SS || u16(len(label)) || label
      || u16(len(ECDHE_PK_client)) || ECDHE_PK_client
      || u16(len(ECDHE_PK_server)) || ECDHE_PK_server
      || u16(len(ML-KEM_EK_client)) || ML-KEM_EK_client
      || u16(len(ML-KEM_CT)) || ML-KEM_CT
</tt></t>

<t>The <tt>label</tt> MUST be <tt>b"openhttpa hybrid kem v1"</tt>.</t>

</section>
<section anchor="combined-secret-derivation"><name>Combined Secret Derivation</name>

<ol>
  <li><tt>PRK = HKDF-Extract(salt=[0;32], IKM)</tt></li>
  <li><tt>Secret = HKDF-Expand(PRK, info=b"combined", 32)</tt></li></ol>

</section>
</section>
<section anchor="session-key-schedule"><name>Session Key Schedule</name>

<t>The key schedule follows <xref target="RFC5869"/> and is aligned with <xref target="RFC8446"/> Section 7.1.</t>

<section anchor="hkdf-extract"><name>HKDF-Extract</name>

<t><tt>text
Handshake_PRK = HKDF-Extract(Hash=SHA-384, salt=[0x00;48], IKM=combined_secret)
</tt></t>

</section>
<section anchor="hkdf-expand"><name>HKDF-Expand</name>

<t><tt>text
OKM = HKDF-Expand(Hash=SHA-384, PRK=Handshake_PRK,
                 info=b"openhttpa v2 " || label || transcript_hash, L=&lt;length&gt;)
</tt></t>

<t>The fixed 48-byte length of the <tt>transcript_hash</tt> (SHA-384 output) ensures unambiguous domain separation between the <tt>label</tt> and the <tt>transcript_hash</tt> without the need for a delimiter.</t>

</section>
</section>
<section anchor="key-schedule-visualization"><name>Key Schedule Visualization</name>

<t>The following diagram illustrates the hierarchical derivation of session keys:</t>

<t><tt>text
       Combined Hybrid Secret
                 |
          HKDF-Extract(salt=[0;48])
                 |
          Handshake_PRK
        /        |        \          \
HKDF-Expand  HKDF-Expand  HKDF-Expand  HKDF-Expand
(Label=Master) (Label=Write) (Label=MAC) (Label=Res Master)
      |          |           |            |
Master Secret  Write Keys    MAC Keys     Resumption
               (C-&gt;S, S-&gt;C)  (C-&gt;S, S-&gt;C) Master Secret
</tt></t>

</section>
</section>
<section anchor="session-resumption-trr"><name>Session Resumption (TrR)</name>

<t>To avoid the computational overhead of hybrid KEM handshakes, <tt>OpenHTTPA</tt> supports session
resumption using opaque tickets.</t>

<section anchor="ticket-format"><name>Ticket Format</name>

<t>The <tt>Attest-Ticket-Resumption</tt> header contains a server-encrypted blob (AtST) containing:</t>

<ul>
  <li><strong>Protocol Version</strong>: 1 byte.</li>
  <li><strong>Cipher Suite</strong>: 2 bytes (big-endian).</li>
  <li><strong>Master Secret</strong>: 48 bytes (from the original session).</li>
  <li><strong>Session Expiry</strong>: 8 bytes (Unix timestamp).</li>
  <li><strong>Hardware Context</strong>: Opaque TEE measurement/policy record.</li></ul>

</section>
<section anchor="rtt-confidentiality"><name>0-RTT Confidentiality</name>

<t>To achieve the required <tt>&lt; 5ms overhead</tt> SLA in distributed Agentic Swarms, clients MAY utilize 0-RTT session resumption. By reusing the Master Secret and TEE state from a previously established 1-RTT handshake (via the <tt>Attest-Ticket</tt>), the client can transmit encrypted Trusted Requests (TrR) within the first flight of a connection (e.g., within HTTP/3 QUIC early data).</t>

<section anchor="rtt-cryptographic-binding"><name>0-RTT Cryptographic Binding</name>

<ol>
  <li>The client derives an early <tt>Handshake_PRK</tt> using the decoupled <tt>Resumption Master Secret</tt> from the opaque ticket.</li>
  <li>Early session keys are expanded utilizing a specialized label: <tt>openhttpa_v2_0rtt</tt> and a newly generated 16-byte random salt.</li>
  <li>The server validates the ticket, enforces safe methods, and transparently decrypts the 0-RTT request.</li></ol>

</section>
<section anchor="rtt-forward-secrecy-limitations"><name>0-RTT Forward Secrecy Limitations</name>

<t>Similar to TLS 1.3 early data (Section 8 of <xref target="RFC8446"/>), 0-RTT requests do not provide perfect forward secrecy against an attacker who compromises the <tt>Resumption Master Secret</tt> of the parent session. If the server's long-term hardware secrets or the specific session's resumption secret are compromised, the 0-RTT data sent on that connection could be decrypted. Clients SHOULD NOT send highly sensitive data (e.g., identity credentials or financial transactions) in 0-RTT payloads.</t>

</section>
<section anchor="rtt-replay-protection"><name>0-RTT Replay Protection</name>

<t>0-RTT resumption MUST ONLY be permitted for safe, idempotent HTTP methods (e.g., <tt>GET</tt>, <tt>HEAD</tt>, <tt>OPTIONS</tt>). If a client attempts to use 0-RTT with an unsafe method (e.g., <tt>POST</tt>, <tt>PUT</tt>, <tt>DELETE</tt>), the server MUST reject the request and return a <tt>425 Too Early</tt> status code.</t>

<t>Furthermore, because 0-RTT payloads are susceptible to network-level replays before the server can inject a fresh nonce, the server MUST maintain a sliding-window strike register (replay cache) of all nonces observed across all recently active resumed sessions within the ticket expiry window.</t>

</section>
</section>
</section>
<section anchor="agentic-swarms-multi-hop-provenance"><name>Agentic Swarms &amp; Multi-Hop Provenance</name>

<t>Autonomous Agentic Swarms require mutually authenticated, hardware-verified communication channels to perform automated transactions without human oversight. <tt>OpenHTTPA</tt> enables an Attested Agent Mesh (AAM) by maintaining cryptographic provenance across multi-hop agent delegations.</t>

<section anchor="attest-provenance"><name>Attest-Provenance</name>

<t>The <tt>Attest-Provenance</tt> header provides a chain of custody representing all participating agents in a multi-hop request. Each agent in the routing path MUST append its own hardware identity (derived from its TEE quote) to the provenance list before forwarding the request.</t>

<ul>
  <li>Example: <tt>Attest-Provenance: "agent-a-hash", "agent-b-hash"</tt></li></ul>

<t>This enables the final receiving service to mathematically verify not only the immediate sender, but the entire chain of trust, ensuring no unverified intermediary altered the request.</t>

</section>
</section>
<section anchor="confidential-oracle-extension"><name>Confidential Oracle Extension</name>

<t>The <tt>OpenHTTPA</tt> Confidential Oracle Extension enables a TEE-based agent to act as a "Trustless Bridge"
between Web2 APIs and Web3 environments (e.g., Bitcoin, EVM). This extension ensures
that off-chain data is fetched, processed, and cryptographically bound to the hardware
evidence before being transmitted to an on-chain verifier.</t>

<section anchor="protocol-binding"><name>Protocol Binding</name>

<t>When an Oracle fetch is performed, the TEE MUST bind the resulting data to the current
AtHS session transcript. This is achieved by computing a SHA-512 digest over the full <tt>transcript_hash</tt> combined with a domain prefix, and placing it in the 64-byte hardware report data (e.g., the <tt>REPORT_DATA</tt> field in Intel TDX or <tt>REPORT_DATA</tt> in Intel SGX).</t>

<t>The 64-byte <tt>ReportData</tt> structure is defined as follows:</t>

<t><tt>text
ReportData = SHA-512(Domain_Prefix || Transcript_Hash)
</tt></t>

<t>The <tt>Domain_Prefix</tt> MUST be the ASCII string <tt>"openhttpa hs server"</tt> or <tt>"openhttpa hs client"</tt>. By computing a full SHA-512 over the concatenated prefix and transcript hash, the protocol perfectly utilizes the 64-byte <tt>REPORT_DATA</tt> register available in modern TEEs. This guarantees 256-bit collision resistance against quantum adversaries (e.g. BHT algorithm) and completely avoids the weaknesses of truncation.</t>

</section>
<section anchor="on-chain-verification"><name>On-Chain Verification</name>

<t>The Oracle response incorporates a hardware quote and, optionally, a ZK-STARK proof
(e.g., generated via RISC Zero) that proves the integrity of the data transformation.
Smart contracts verify:</t>

<ol>
  <li><strong>Handshake Consistency</strong>: The <tt>transcript_hash</tt> in the quote matches the session.</li>
  <li><strong>Hardware Integrity</strong>: The quote was generated by a valid TEE (verified via DCAP/SNP).</li>
  <li><strong>Data Correctness</strong>: The ZK proof (if present) confirms that the Web2 payload
correctly corresponds to the claimed on-chain state.</li></ol>

</section>
</section>
<section anchor="semantic-binding-via-ahl"><name>Semantic Binding via AHL</name>

<t>The Attested Header List (AHL) prevents semantic re-routing attacks.</t>

<section anchor="ahl-transcript-construction"><name>AHL Transcript Construction</name>

<t>The AHL transcript MUST use length-prefixed binary fields:</t>

<t><tt>text
AHL_Transcript = 7::method || len(method_val) || : || method_val
                 || 5::path || len(path_val) || : || path_val
                 || 10::authority || len(authority_val) || : || authority_val
                 || [ len(HEADER_NAME_N) || HEADER_NAME_N
                    || len(HEADER_VALUE_N) || : || HEADER_VALUE_N ... ]
</tt></t>

<t>Header names MUST be converted to lowercase ASCII and then sorted lexicographically before encoding, similar to the canonicalization rules in HTTP Message Signatures (RFC 9421).</t>

</section>
<section anchor="binder-calculation"><name>Binder Calculation</name>

<t><tt>Binder = HMAC-SHA-384(mac_key, AHL_Transcript)</tt></t>

<t>The <tt>mac_key</tt> used depends on the sender: the client MUST use the <tt>client_mac_key</tt>, and the server MUST use the <tt>server_mac_key</tt>.</t>

</section>
</section>
<section anchor="error-handling"><name>Error Handling</name>

<t><tt>OpenHTTPA</tt> implementations MUST use appropriate HTTP status codes and extended error headers.</t>

<table>
      <thead>
        <tr>
          <th align="left">Error Condition</th>
          <th align="left">Status Code</th>
          <th align="left">Extended Error Code</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>No Mutually Supported Suite</td>
          <td>406</td>
          <td><tt>negotiation_failed</tt></td>
        </tr>
        <tr>
          <td>Attestation Verification Fail</td>
          <td>403</td>
          <td><tt>handshake_integrity_failed</tt></td>
        </tr>
        <tr>
          <td>Key Derivation Failure</td>
          <td>500</td>
          <td><tt>key_derivation_failed</tt></td>
        </tr>
        <tr>
          <td>Policy Violation (e.g. SVN)</td>
          <td>403</td>
          <td><tt>policy_violation</tt></td>
        </tr>
      </tbody>
    </table>

</section>
<section anchor="formal-verification-and-implementation-considerations"><name>Formal Verification and Implementation Considerations</name>

<t>To guarantee the high-assurance required for Confidential AI and Web3 Oracles, implementations of <tt>OpenHTTPA</tt> SHOULD adhere to the following strict guidelines:</t>

<ol>
  <li><strong>Formal Modeling</strong>: Core protocol models MUST maintain ongoing machine-checked formal verification (using frameworks like ProVerif or Tamarin) proving perfect forward secrecy and injective authentication against both classical and post-quantum Dolev-Yao adversaries.</li>
  <li><strong>Memory Safety</strong>: Implementations SHOULD be authored in memory-safe languages (e.g., Rust) to eliminate classes of vulnerabilities related to buffer manipulation during parsing of untrusted network inputs.</li>
  <li><strong>FIPS 140-3 Readiness</strong>: Underlying cryptographic primitives and random number generators MUST be sourced from validated or validateable modules (e.g., <tt>aws-lc-rs</tt> or <tt>BoringSSL</tt>) to ensure enterprise compliance.</li></ol>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<section anchor="transcript-integrity"><name>Transcript Integrity</name>

<t><tt>OpenHTTPA</tt> relies on the integrity of the handshake transcript. Every field in the transcript,
including nonces, public keys, and negotiated parameters, MUST be length-prefixed to prevent
canonicalization attacks.</t>

</section>
<section anchor="hardware-splitting-attacks"><name>Hardware Splitting Attacks</name>

<t>Implementations MUST verify that the same transcript hash is bound to all hardware quotes
provided in the <tt>Attest-Quotes</tt> header (e.g., both Host CPU and GPU quotes).</t>

</section>
<section anchor="tee-vulnerabilities-and-revocation"><name>TEE Vulnerabilities and Revocation</name>

<t>The protocol supports Attestation Revocation Lists (ARL) and Secure Version Number (SVN)
enforcement to mitigate TEE-specific vulnerabilities.</t>

</section>
<section anchor="replay-protection"><name>Replay Protection</name>

<t>To prevent replay attacks during the Trusted Request (TrR) phase, servers MUST mandate strict replay protection for the <tt>nonce</tt> provided in the <tt>Attest-Ticket</tt> request trailer. The server MUST either enforce a strictly increasing monotonic counter for nonces within a session, or maintain a sliding-window strike register (replay cache) of recently seen nonces.</t>

<t>In large-scale distributed deployments where global state synchronization is impractical within latency bounds, servers MAY utilize clustered strike registers combined with strictly bounded time-windows, or issue single-use session tickets for 0-RTT to mitigate the complexity of distributed replay detection.</t>

</section>
</section>
<section anchor="privacy-considerations"><name>Privacy Considerations</name>

<section anchor="attestation-fingerprinting"><name>Attestation Fingerprinting</name>

<t>Hardware attestation quotes MAY contain unique identifiers (e.g., CPU serial numbers,
unique entity IDs) that allow for the tracking and fingerprinting of TEE instances.
Implementations SHOULD use privacy-preserving attestation technologies, such as
Enhanced Privacy ID (EPID) or Intel SGX Quote Verification Enclaves, to minimize the exposure
of stable hardware identifiers.</t>

</section>
<section anchor="provenance-tracking"><name>Provenance Tracking</name>

<t>The <tt>Attest-Provenance</tt> header provides a chain of custody for multi-hop agent delegation.
While essential for security auditing, this chain reveals the topology of the agent mesh.
Implementations MUST ensure that provenance data is only transmitted within established
<tt>OpenHTTPA</tt> sessions to prevent leakage to unauthorized observers.</t>

</section>
</section>
<section anchor="implementation-status"><name>Implementation Status</name>

<ul empty="true"><li>
  <t><strong>Note to RFC Editor:</strong> Please remove this section before publication.</t>
</li></ul>

<t>This section documents the current implementation status of <tt>OpenHTTPA</tt> as of May 2026.</t>

<ul>
  <li><strong>OpenHTTPA Reference Implementation</strong>: A production-grade Rust implementation is available
at <tt>https://github.com/openhttpa/openhttpa-rs</tt>. It supports Intel TDX, AMD SEV-SNP, and
NVIDIA Hopper GPU attestation.</li>
  <li><strong>Go/Python/Node Bindings</strong>: Language bindings are provided for seamless integration
into existing cloud-native stacks.</li>
  <li><strong>Formal Models</strong>: Symbolic and temporal security models have been validated using
<xref target="ProVerif"/> and <xref target="Tamarin"/> Prover.</li></ul>

</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>The authors would like to thank the contributors to the The <tt>OpenHTTPA</tt> Foundation (openhttpa.org) and the IETF
Security area for their feedback on early iterations of this protocol.</t>

</section>
<section anchor="contributors"><name>Contributors</name>

<t>The following individuals have contributed to the design and implementation of <tt>OpenHTTPA</tt> and its predecessor HTTPA/2:</t>

<ul>
  <li><strong>Shih-han Wang</strong>: Original HTTPA/2 Co-Author</li>
  <li><strong>Nick Li</strong>: Original HTTPA/2 Co-Author</li>
  <li><strong>Ned Smith</strong>: Original HTTPA/2 Co-Author</li>
  <li><strong>Krzysztof Sandowicz</strong>: Original HTTPA/2 Co-Author</li></ul>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<section anchor="http-method-registry"><name>HTTP Method Registry</name>

<t>This document requests the registration of the <tt>ATTEST</tt> method in the "HTTP Method Registry".</t>

<table>
      <thead>
        <tr>
          <th align="left">Method</th>
          <th align="left">Safe</th>
          <th align="left">Idempotent</th>
          <th align="left">Reference</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>ATTEST</td>
          <td>No</td>
          <td>No</td>
          <td>This document</td>
        </tr>
      </tbody>
    </table>

</section>
<section anchor="http-field-name-registry"><name>HTTP Field Name Registry</name>

<t>This document requests the registration of the following headers in the "Hypertext Transfer
Protocol (HTTP) Field Name Registry":</t>

<table>
      <thead>
        <tr>
          <th align="left">Field Name</th>
          <th align="left">Template</th>
          <th align="left">Reference</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td><tt>Attest-Cipher-Suites</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Supported-Cipher-Suites</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Cipher-Suite</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Supported-Groups</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Key-Shares</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Key-Share</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Random</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Encrypted-Hello</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Policies</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Base-Creation</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Blocklist</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Versions</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Supported-Versions</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Date</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Signatures</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Server-Signatures</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Transport</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Quotes</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Base-ID</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Version</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Expires</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Secrets</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Cargo</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Ticket</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Binder</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Base-Termination</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Challenge</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Provenance</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Ticket-Resumption</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Zk-Proof</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>Attest-Ai-Provenance-Proof</tt></td>
          <td>SFV</td>
          <td>This document</td>
        </tr>
      </tbody>
    </table>

</section>
<section anchor="openhttpa-hkdf-labels-registry"><name>OpenHTTPA HKDF Labels Registry</name>

<t>This document establishes a new IANA registry titled "OpenHTTPA HKDF Labels" to prevent namespace collisions with TLS. The following labels are registered for use with HKDF expansion in OpenHTTPA.</t>

<table>
      <thead>
        <tr>
          <th align="left">Label</th>
          <th align="left">DTLS-OK</th>
          <th align="left">Reference</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td><tt>openhttpa_v2</tt></td>
          <td>Y</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>openhttpa_v2_0rtt</tt></td>
          <td>Y</td>
          <td>This document</td>
        </tr>
      </tbody>
    </table>

<t>Furthermore, the following specific key slots are logically prefixed by the protocol label:</t>

<ul>
  <li><tt>master secret</tt></li>
  <li><tt>res master</tt></li>
  <li><tt>client write key</tt></li>
  <li><tt>server write key</tt></li>
  <li><tt>client write iv</tt></li>
  <li><tt>server write iv</tt></li>
  <li><tt>client mac key</tt></li>
  <li><tt>server mac key</tt></li></ul>

</section>
<section anchor="tee-type-registry"><name>TEE Type Registry</name>

<t>This document establishes a new IANA registry titled "<tt>OpenHTTPA</tt> TEE Types".</t>

<table>
      <thead>
        <tr>
          <th align="left">TEE Type Token</th>
          <th align="left">Description</th>
          <th align="left">Reference</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td><tt>sgx</tt></td>
          <td>Intel SGX (Software Guard Ext)</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>tdx</tt></td>
          <td>Intel TDX (Trust Domain Ext)</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>sev_snp</tt></td>
          <td>AMD SEV-SNP</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>trustzone</tt></td>
          <td>Arm TrustZone</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>nvidia_gpu</tt></td>
          <td>NVIDIA Hopper/Blackwell GPU</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>tpm</tt></td>
          <td>Trusted Platform Module 2.0</td>
          <td>This document</td>
        </tr>
      </tbody>
    </table>

</section>
<section anchor="openhttpa-extended-error-codes-registry"><name>OpenHTTPA Extended Error Codes Registry</name>

<t>This document establishes a new IANA registry titled "OpenHTTPA Extended Error Codes".</t>

<table>
      <thead>
        <tr>
          <th align="left">Error Code</th>
          <th align="left">Description</th>
          <th align="left">Reference</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td><tt>negotiation_failed</tt></td>
          <td>No mutually supported cipher suite or version.</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>handshake_integrity_failed</tt></td>
          <td>Quote verification or transcript MAC failed.</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>key_derivation_failed</tt></td>
          <td>Failed to derive hybrid key schedule.</td>
          <td>This document</td>
        </tr>
        <tr>
          <td><tt>policy_violation</tt></td>
          <td>Client/Server policy rejected the hardware.</td>
          <td>This document</td>
        </tr>
      </tbody>
    </table>

</section>
</section>
<section anchor="strategic-future"><name>Strategic Future</name>

<section anchor="httpa3-quic"><name>HTTPA/3 (QUIC)</name>

<t><tt>OpenHTTPA</tt> is designed for transport-independence, with HTTP/3 (QUIC) being the primary high-performance target. Future iterations of the protocol will leverage QUIC's stream-level isolation and connection migration to support massive-scale agentic meshes.</t>

</section>
</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>

<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>

<reference anchor="RFC8446">
  <front>
    <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
    <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
    <date month="August" year="2018"/>
    <abstract>
      <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
      <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8446"/>
  <seriesInfo name="DOI" value="10.17487/RFC8446"/>
</reference>

<reference anchor="RFC5869">
  <front>
    <title>HMAC-based Extract-and-Expand Key Derivation Function (HKDF)</title>
    <author fullname="H. Krawczyk" initials="H." surname="Krawczyk"/>
    <author fullname="P. Eronen" initials="P." surname="Eronen"/>
    <date month="May" year="2010"/>
    <abstract>
      <t>This document specifies a simple Hashed Message Authentication Code (HMAC)-based key derivation function (HKDF), which can be used as a building block in various protocols and applications. The key derivation function (KDF) is intended to support a wide range of applications and requirements, and is conservative in its use of cryptographic hash functions. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5869"/>
  <seriesInfo name="DOI" value="10.17487/RFC5869"/>
</reference>

<reference anchor="RFC8941">
  <front>
    <title>Structured Field Values for HTTP</title>
    <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
    <author fullname="P-H. Kamp" surname="P-H. Kamp"/>
    <date month="February" year="2021"/>
    <abstract>
      <t>This document describes a set of data types and associated algorithms that are intended to make it easier and safer to define and handle HTTP header and trailer fields, known as "Structured Fields", "Structured Headers", or "Structured Trailers". It is intended for use by specifications of new HTTP fields that wish to use a common syntax that is more restrictive than traditional HTTP field values.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8941"/>
  <seriesInfo name="DOI" value="10.17487/RFC8941"/>
</reference>

<reference anchor="RFC9334">
  <front>
    <title>Remote ATtestation procedureS (RATS) Architecture</title>
    <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
    <author fullname="D. Thaler" initials="D." surname="Thaler"/>
    <author fullname="M. Richardson" initials="M." surname="Richardson"/>
    <author fullname="N. Smith" initials="N." surname="Smith"/>
    <author fullname="W. Pan" initials="W." surname="Pan"/>
    <date month="January" year="2023"/>
    <abstract>
      <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9334"/>
  <seriesInfo name="DOI" value="10.17487/RFC9334"/>
</reference>


<reference anchor="FIPS-203" >
  <front>
    <title>Module-Lattice-Based Key-Encapsulation Mechanism Standard</title>
    <author >
      <organization>NIST</organization>
    </author>
    <date year="2024"/>
  </front>
</reference>
<reference anchor="FIPS-204" >
  <front>
    <title>Module-Lattice-Based Digital Signature Standard</title>
    <author >
      <organization>NIST</organization>
    </author>
    <date year="2024"/>
  </front>
</reference>


    </references>

    <references title='Informative References' anchor="sec-informative-references">




<reference anchor="I-D.sandowicz-httpbis-httpa2">
   <front>
      <title>The Hypertext Transfer Protocol Attestable (HTTPA) Version 2</title>
      <author fullname="Hans Wang" initials="H." surname="Wang">
         <organization>Intel</organization>
      </author>
      <author fullname="Gordon King" initials="G." surname="King">
         <organization>Intel</organization>
      </author>
      <author fullname="Nick Li" initials="N." surname="Li">
         <organization>Intel</organization>
      </author>
      <author fullname="Ned Smith" initials="N." surname="Smith">
         <organization>Intel</organization>
      </author>
      <author fullname="Krzysztof Sandowicz" initials="K." surname="Sandowicz">
         <organization>Intel</organization>
      </author>
      <date day="4" month="November" year="2023"/>
      <abstract>
	 <t>   The Hypertext Transfer Protocol Attestable version 2 (HTTPA/2) is an
   HTTP extension.  It is a transaction-based protocol agnostic to
   Transport Layer Security (TLS) in which the Trusted Execution
   Environment (TEE) is considered a new type of requested resource over
   the Internet.  The original Hypertext Transfer Protocol Attestable
   (HTTPA) (referred to as HTTPA/1 in the rest of the document) includes
   remote attestation (RA) process onto the HTTPS protocol in the
   assumption of using Transport Layer Security (TLS) across the
   Internet.  In contrast, the design of HTTPA/2 could establish a
   trusted (attested) and more secure communication without dependence
   on TLS.

   The definition of Attestation for the purposes of this draft:

   The process of vouching for the accuracy of TEE based services,
   configuration, and data where the TEE conveys Evidence about its
   environment, roots of trust and protected functions.  The Evidence is
   a digital expression of TEE trustworthiness.


	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-sandowicz-httpbis-httpa2-03"/>
   
</reference>


<reference anchor="I-D.ietf-tls-hybrid-design">
   <front>
      <title>Hybrid key exchange in TLS 1.3</title>
      <author fullname="Douglas Stebila" initials="D." surname="Stebila">
         <organization>University of Waterloo</organization>
      </author>
      <author fullname="Scott Fluhrer" initials="S." surname="Fluhrer">
         <organization>Cisco Systems</organization>
      </author>
      <author fullname="Shay Gueron" initials="S." surname="Gueron">
         <organization>University of Haifa and Meta</organization>
      </author>
      <date day="7" month="September" year="2025"/>
      <abstract>
	 <t>   Hybrid key exchange refers to using multiple key exchange algorithms
   simultaneously and combining the result with the goal of providing
   security even if a way is found to defeat the encryption for all but
   one of the component algorithms.  It is motivated by transition to
   post-quantum cryptography.  This document provides a construction for
   hybrid key exchange in the Transport Layer Security (TLS) protocol
   version 1.3.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-tls-hybrid-design-16"/>
   
</reference>


<reference anchor="AMD-SEV" >
  <front>
    <title>AMD SEV-SNP: Strengthening VM Isolation with Integrity Protection and More</title>
    <author >
      <organization>AMD</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="INTEL-TDX" >
  <front>
    <title>Intel Trust Domain Extensions (Intel TDX)</title>
    <author >
      <organization>Intel</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="ProVerif" >
  <front>
    <title>ProVerif: Cryptographic Protocol Verifier in the Formal Model</title>
    <author initials="B." surname="Blanchet">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="Tamarin" >
  <front>
    <title>The Tamarin Prover for symbolic analysis of security protocols</title>
    <author >
      <organization>Tamarin Team</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>


    </references>

</references>



  </back>

<!-- ##markdown-source:
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
RzR7+OL8bHJ6coxPZq+RXlynE568f4j2ULb86L/Qjo80Z1t7ZrelSKv8YY/O
PAvaap9qVaT2eGOQNpb/XyXpf1yWnpAmpm4nTf2fDal6m3+aTe50kLcd49YW
n+L/BSy0toTPjCjtdSfkSSa2SQAP4ykJ4B81/59pKdoQg20ywGN8SgaMTIHx
1FInDz3O0CGm3kHq4TGEGa32kz29g/6NaS/MkreGtAcd9AZRvaN1bQ7k6c20
tFu23ayaVnAj7eEJLlZijuC12yxzIiJsMGycIATY21vZOlO9u3IcBrSnhIZk
Ku/0D2FY3SnwZriPVpQN+F3yDrwnz2lsnLJvbP62M9Ttqrilz+5vr9f0xx+E
IllXvH3XuMhmLOJsvlgbAK73SugvaPX7FXiwpDM9/Ks5aEwIwmy0njW/t+vu
zcFvTUvjx8mQlh/JO96snfBm1J5bbPZUyBrI5nZ8ov3mbrNPmjdi8e640UEH
pjAU8VxnYK8nULhPJkNqPqCHXfS7O5Wpmo5G9BX/aSoe9Z7QTVz8eK03zehn
N778zFt6J8TGW/rLx2+ZIZ4MO9v89sn3jq4GLxxddSdGbnh2Ny1Nb9Kddl9D
V1ZmJu6dnZsh69vgiwMks7mXTu/eXFz+CBKf/nj8cnzykWsU7dZyunr+X/Y/
PPe/9wRJww0fob0xTbRPL6Bju3ifTgkV1fN0x8hqvrMnPFfvLutHYmKS3Skq
e9YdW6zNN0a6a73diQq6QZB5XzgJYe9ocr+cSyPo0b5jZtufRidF7Rbn6y2T
pXjwuYGU8K566h9t+x9+rGf/vJnVNR/KXI26aLNHh663NyyzfRINu8AYng9G
tGc9cmaGnh1z712x04o3/dGdDL4GaLvbE+fP/0Or4PejTmBIFXOgZ72t3aio
2Zd4s9HEjdg1YxQINGAWRm0ppfVcggS3azrZm+tKa7XiDV2bB3UaCW1O6jzu
pDnGrUvomAP9Ep6DymLQRjSWmr60fN2edBjcJR9ap+19eSv1+vizFklyeD1j
Y2i/PWvxmEefel9tVR8I0OhPXuuLQfv9sw4cmP/+b/fK/7V6kiXEF32wds+J
K891lmEkzEeOwttPiGXbvy/JIeqHrY2hDP4c/I2ZDdIYogvzGf6YYFlDocu2
cMQmhXaPxt9P9sRk/D3GM/w0aL7ZWNbYl65FOkh6OdJ+974qtSBSAZb1qimY
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
aIFB3xUFwaXspPX/ABmciqrhkAAA

-->

</rfc>

