Color scheme: Light
You are here: start » en » Documentation » Post-Quantum Cryptography » WKL TrustBridge – Overview » PQ key exchange for TLS

PQ key exchange for TLS

Summary. TrustBridge adds a second layer of protection to every connection between two partners: a post-quantum secret that is created independently of TLS. On every connected host, a key agent regularly agrees on a fresh secret with the counterpart's agent using ML-KEM; both agents authenticate with ML-DSA certificates. A local key broker hands the secret to the TLS adapter, which feeds it into the TLS 1.3 handshake as an external pre-shared key (PSK) per RFC 9973, on top of a hybrid key agreement and mutual certificate authentication. Anyone who records a connection would later have to break two independent key agreements. Authentication stays with the certificates; the additional secret does not replace it.

Terms

  • External PSK – a secret agreed outside TLS that both sides feed into the TLS 1.3 key schedule (RFC 8446, Section 2.2).
  • psk_dhe_ke – the TLS 1.3 mode in which the PSK is used in addition to an (EC)DHE key agreement; the forward secrecy of the key agreement is preserved.
  • Hybrid group – a TLS 1.3 key agreement built from a classical algorithm and ML-KEM, such as SecP256r1MLKEM768 (RFC 10024).
  • tls_cert_with_extern_psk – the TLS extension (codepoint 33) from RFC 9973 that lets a handshake combine certificate authentication and an external PSK in the key schedule.
  • Key agent – a service on a connected host that runs the post-quantum key exchange with the counterpart's agent.
  • Key broker – a local component that hands the agreed secret to the TLS adapter on the same host.
  • TLS adapter – a local service that opens or accepts the TLS connection to the counterpart on behalf of an existing application.
  • Peer binding – binding the key exchange to the counterpart's verified identity.
  • Connection rotation – the scheduled replacement of an existing TLS connection with a new one that carries a fresh secret, without the application noticing an interruption.

Why an additional secret

For confidentiality against later decryption, TLS 1.3 has a standardized path: hybrid groups made of ECDHE and ML-KEM (RFC 10024). The BSI lists SecP256r1MLKEM768 and SecP384r1MLKEM1024 among them (TR-02102-2). TrustBridge uses these groups on every connection. The additional secret complements them in three ways:

PropertyHybrid group aloneWith the additional secret
Independence of the mechanismsClassical algorithm and ML-KEM in the same message, the same library, the same handshakeA second key agreement in its own protocol, its own component, and at its own time
Binding to the partner relationshipAny counterpart with a valid certificate can start a handshakeOnly an agent with which a secret was agreed in this relationship can complete the handshake
Renewal independent of connection setupA new secret only with each new handshakeThe agents renew the secret on a fixed schedule; new connections always receive fresh material

The additional secret is defense in depth. It does not make TLS redundant, does not replace certificates, and is not a new TLS protocol: it uses an interface that TLS 1.3 explicitly provides for through RFC 9973.

Architecture

graph TD
  subgraph HA [Host at organization A]
    AA[Application]
    TA[TLS adapter A]
    KBA[Key broker A<br/>local]
    AGA[Key agent A]
  end
  subgraph HB [Host at organization B]
    AB[Application]
    TB[TLS adapter B]
    KBB[Key broker B<br/>local]
    AGB[Key agent B]
  end
  subgraph PKI [Certificate authorities of both organizations]
    CA[CA worker A and B<br/>each with its own trusted computing base]
  end
  AGA ==>|ML-KEM, both sides authenticated with ML-DSA| AGB
  AGA ==>|secret| KBA
  AGB ==>|secret| KBB
  KBA ==>|external PSK| TA
  KBB ==>|external PSK| TB
  AA --> TA
  TA -->|TLS 1.3: certificates, external PSK, hybrid group| TB
  TB --> AB
  CA -.->|agent and service certificates| AGA
  CA -.->|agent and service certificates| AGB
  classDef tcb fill:#fde7e9,stroke:#a4262c,color:#201f1e
  classDef onl fill:#f3f2f1,stroke:#605e5c,color:#201f1e
  classDef par fill:#deecf9,stroke:#0078d4,color:#201f1e
  classDef pq fill:#dff6dd,stroke:#107c10,color:#201f1e
  class CA tcb
  class TA,TB onl
  class AA,AB par
  class AGA,AGB,KBA,KBB pq
  style HA fill:#ffffff,stroke:#8a8886,color:#201f1e
  style HB fill:#ffffff,stroke:#8a8886,color:#201f1e
  style PKI fill:#ffffff,stroke:#8a8886,color:#201f1e
ComponentTaskExplicitly not allowed to
Key agentPost-quantum key exchange with the counterpart's agent; verifying its identity through its agent certificate and the relationship policy; renewal on a fixed schedulePass the secret to another host
Key brokerHand the secret to the TLS adapter through a local interface protected by operating system access controlManage secrets centrally or hand them to foreign processes
TLS adapterOpen and accept the TLS connection with certificate, external PSK, and hybrid group; pass the verified identity to the application; connection rotationOpen a connection without a PSK when the relationship requires one
Certificate authorityCertificates for agents and servicesKnow the agreed secrets; hand out session keys

The key broker is explicitly local. A central service that distributes session keys to endpoints would become a target with access to every connection. TrustBridge has no such service; even an operating partner in the Managed model knows none of the agents' secrets.

Key exchange between the agents

AttributeDefinition
Key agreementML-KEM with ephemeral keys, freshly generated for each renewal (parameter set per the relationship's cryptographic profile, ML-KEM-768 or ML-KEM-1024)
AuthenticationMutual, with ML-DSA agent certificates from each side's own certificate authority; the other side accepts them only through the relationship's trust anchor
Peer bindingThe secret is valid only for the pair formed by these two agent identities and this relationship
ResultA secret of at least 256 bits, a PSK identity, an expiry time
RenewalOn the relationship's fixed schedule, independent of traffic; an old secret is deleted after it expires
PartiesExactly two; a PSK is never shared among more than two parties (RFC 9257)

Binding to TLS 1.3 per RFC 9973

RFC 9973 (July 2026, Standards Track) defines exactly the connection that TrustBridge needs: certificate authentication in TLS 1.3 with an external PSK also entering the key schedule. Without this extension, PSK and certificate are mutually exclusive in TLS 1.3.

sequenceDiagram
  participant AA as Agent A
  participant AB as Agent B
  participant TA as TLS adapter A
  participant TB as TLS adapter B
  AA->>AB: ML-KEM exchange, both sides authenticated with ML-DSA
  AB-->>AA: shared secret, PSK identity, validity
  AA->>TA: PSK via local key broker
  AB->>TB: PSK via local key broker
  TA->>TB: ClientHello with tls_cert_with_extern_psk, pre_shared_key, psk_dhe_ke, hybrid key_share
  TB-->>TA: ServerHello with tls_cert_with_extern_psk, pre_shared_key, key_share
  TB-->>TA: CertificateRequest, Certificate, CertificateVerify, Finished
  TA->>TB: Certificate, CertificateVerify, Finished
  Note over TA,TB: All traffic keys depend on the PSK and on the hybrid secret
Rule from RFC 9973Implementation in TrustBridge
The client sends tls_cert_with_extern_psk in the ClientHello; the server confirms it in the ServerHello only if it accepts the offered external PSKThe TLS adapter checks for the confirmation; if it is missing, it aborts the connection
The client must offer psk_dhe_ke; the server must select psk_dhe_keThe hybrid key agreement always runs; the PSK does not replace it
All offered PSKs must be external; the extension applies only to full handshakesSession resumption is disabled for TrustBridge connections
The extension must not be sent with early_dataNo 0-RTT
CertificateRequest is allowed with the extensionMutual certificate authentication (mTLS) on every connection
If the PSKs do not match, the keys diverge and the handshake failsAn attacker without the agents' secret cannot complete a handshake

RFC 9257 (guidance for external PSKs) and RFC 9258 (binding imported external PSKs to protocol and hash function) apply as well.

Renewal through connection rotation

TLS 1.3 takes in a new external secret only when a connection is established. Within an existing connection, KeyUpdate derives new traffic keys solely from the previous traffic secret and brings in no fresh material. TrustBridge therefore renews the protection through the connection itself:

sequenceDiagram
  participant AP as Application
  participant TA as TLS adapter A
  participant TB as TLS adapter B
  Note over TA,TB: Connection 1 with secret n
  TA->>TB: open connection 2 with secret n+1
  TB-->>TA: handshake complete
  AP->>TA: new requests
  TA->>TB: over connection 2
  Note over TA,TB: Connection 1 accepts nothing new and closes after the last response
RuleEffect
Maximum connection lifetime per relationshipNo traffic runs under one secret for longer than the relationship allows
New connection before the old one endsThe application notices no interruption
Session resumption disabledEvery connection gets a fresh secret from the agents rather than a derived one
KeyUpdate additionally within a connectionLimits the amount of data per traffic key

Failure behavior

SituationBehavior
The counterpart's agent is unreachableExisting connections run until the end of their lifetime; new connections are opened as long as a valid secret is available; after that, no new connection
The counterpart's agent certificate is revoked, or the relationship is revokedNo new secret; existing secrets are deleted, existing connections are closed
The server does not confirm the extensionAbort, log entry; no silent fallback to TLS without a PSK
Fallback to TLS without a PSKOnly if the relationship policy explicitly allows it, and every such connection is logged

Protection and its limits

PropertyStatement
Confidentiality against later decryptionAn attacker must know the agents' secret and the result of the hybrid key agreement
AuthenticationComes from the connection's certificates; with hybrid certificates, quantum-safe as well. RFC 9973 explicitly does not count the PSK as authentication
Forward secrecyFrom the ephemeral key agreement in TLS and the agents' ephemeral ML-KEM keys
Where the protection appliesBetween the two TLS adapters; the local leg between adapter and application is protected by the host

Security requirements

RequirementRationale
Mutual authentication of the agents with certificates from the certificate authorities (peer binding)An unauthenticated exchange allows a man in the middle
The secret never leaves the host; local interface with operating system access controlThe secret is as valuable as the connection
A PSK shared between two parties at mostRFC 9257
No early data (0-RTT) with an external PSKReplay attacks
No silent fallbackOtherwise the protection is ineffective without anyone noticing
The certificate authority learns no secretOtherwise it would be a target for every connection
TLS terminates in the TLS adapter; load balancers in front of it pass TCP through unchangedThe PSK must end where TLS ends

What this page does not define

  • A new TLS protocol or a replacement for TLS 1.3. TrustBridge uses the extension provided by RFC 9973.
  • Quantum-safe authentication through the PSK. Authentication is provided by the certificates; their post-quantum properties are described in Cryptography and the post-quantum transition.
  • Protection of the leg between TLS adapter and application on the same host.
  • Authorization. A connection with a valid secret does not yet permit any operation; that is governed by the target application; see Trust model.

Sources

  • RFC 8446 – TLS 1.3; Section 2.2 on PSKs, Section 4.6.3 on KeyUpdate, Section 7.1 on the key schedule.
  • RFC 9973 – TLS 1.3 extension for certificates with an external PSK (July 2026, Standards Track, obsoletes RFC 8773); explicitly separates confidentiality from authentication.
  • RFC 10024 – hybrid ECDHE and ML-KEM key agreement for TLS 1.3.
  • RFC 9257 – guidance for external PSK usage.
  • RFC 9258 – importing external PSKs into TLS 1.3.
  • FIPS 203 – ML-KEM.
  • FIPS 204 – ML-DSA.
  • BSI TR-02102 – TR-02102-2 (edition 2026-01), Section 3.4.2: recommendation of the hybrid groups SecP256r1MLKEM768 and SecP384r1MLKEM1024.
en/wiki/pqcrypt/trustbridge/pq-tls-and-key-exchange.txt · Last modified: by Claude Test Contributor