Enterprise security. Built for what’s next.
← All essays

Post-quantum identity / Essay 04

Keep the proof. Rethink the reconnect.

Post-quantum client authentication is a lifecycle problem. The route to practical ML-DSA mTLS runs through certificate policy, fresh key agreement, and carefully bounded session resumption.

Rows of server racks and network equipment in an illuminated data center.
Every reconnect reaches infrastructure with a memory of the previous session. Photograph by imgix / Unsplash.
Reading size

A connection ends. The work does not.

A laptop wakes in a hotel room. A phone leaves office Wi-Fi for a cellular network. A gateway drains connections during maintenance. To the person using a corporate application, these are interruptions to one continuous task. To the transport, they can be entirely new sessions, each asking the same expensive question: can this endpoint prove that it holds the private key for an identity we trust?

That question becomes particularly interesting with post-quantum authentication. ML-DSA offers standardized lattice-based signatures, but its smallest signature is 2,420 bytes. Multiply repeated proofs by mobile reconnects and a large fleet, then add certificate chains, key shares, and packet loss. The signature is only one component, yet it is a component worth understanding before deciding how to optimize the system.1

The research report Making ML-DSA Practical for Client mTLS makes a useful architectural proposal: preserve the cryptographic proof and change how frequently the connection needs a fresh one. Its ML-DSA Bootstrap and Adaptive Resumption profile, abbreviated MBAR, combines a full authenticated bootstrap with tightly governed TLS resumption. MBAR is the report’s proposed deployment profile, not a new signature algorithm or an IETF standard.2

For Antara Secure Access, this is an engineering question about the complete access lifecycle: how the client proves its identity, how the gateway proves its own, and what must still be true when a session reconnects. Certificate exchange is a core part of that architecture. A shorter reconnect must preserve the organization’s authority to change its mind about access.

Three operations hiding inside one handshake

A certificate, a live proof, and a shared secret solve different problems. The certificate authority signs an identity binding when it issues a certificate. The endpoint later demonstrates possession of its own private key. Key agreement establishes material used to derive session keys. Calling all three “PQC certificate exchange” hides the places where algorithm policy needs to be explicit.

OperationWhat it establishesWhat to inspect
Certificate issuanceAn issuer binds an identity to a public key.Issuer signature, subject key algorithm, validity and chain.
CertificateVerifyThe peer demonstrates private-key possession for this handshake.Negotiated signature scheme and transcript verification.
Hybrid key agreementBoth peers derive fresh shared key material.Approved classical + ML-KEM group and negotiated result.

An ML-DSA subject key does not automatically imply that every issuer in its chain also uses ML-DSA. RFC 9881 specifies ML-DSA identifiers for X.509; the issuer’s signature and the subject’s public key remain separately visible choices. Client and gateway therefore need an agreed trust profile, including acceptable chains, key usages, identity mapping, and revocation behavior.3

The same separation applies to mutual TLS. Both parties authenticate, but their certificate paths may be administered by different teams. A client credential from an enterprise PKI and a gateway credential from a service PKI have to meet at a compatible policy boundary. Hybrid key agreement protects the new session’s secret; it does not repair an invalid certificate or an unauthorized identity.

Why the signature will not become a tiny blob

The report examines the ML-DSA encoding instead of assuming ordinary compression will solve the problem. Most of the bytes belong to the response vector, conventionally named z. For ML-DSA-44, that component alone occupies 2,304 bytes. Eliminating every other field would still leave far more than a typical classical signature, and would no longer leave a valid standardized ML-DSA signature.21

Parameter setChallengeResponse vector zHintTotal signature
ML-DSA-4432 B2,304 B84 B2,420 B
ML-DSA-6548 B3,200 B61 B3,309 B
ML-DSA-8764 B4,480 B83 B4,627 B

Certificate compression addresses a different object. RFC 8879 compresses the TLS Certificate message. Repeated naming and certificate metadata may offer savings, but the mechanism does not compress CertificateVerify. A shorter chain or better certificate encoding can improve the total handshake without changing the standardized signature at all.4

This distinction is operationally valuable. It gives each optimization a measurable target: chain bytes, proof bytes, key-share bytes, number of round trips, or repeated full authentications. A benchmark that reports only “smaller PQC handshakes” is incomplete until it says which of those changed.

Authenticate fully. Resume deliberately.

Full authentication establishes the starting point
Secure Access clientGatewayTrust & policy1. Offer hybrid key share andsignature schemes2. Return key share, server proof,certificate request3. Validate server; send clientcertificate and proof4. Validate chain, identity, postureand entitlement5. Return current authorizationcontext6. Complete handshake; issue boundresumption ticket
Read the sequence as text
  1. Secure Access clientGateway: Offer hybrid key share and signature schemes
  2. GatewaySecure Access client: Return key share, server proof, certificate request
  3. Secure Access clientGateway: Validate server; send client certificate and proof
  4. GatewayTrust & policy: Validate chain, identity, posture and entitlement
  5. Trust & policyGateway: Return current authorization context
  6. GatewaySecure Access client: Complete handshake; issue bound resumption ticket

The full handshake supplies the expensive proof. The gateway then records the identity and policy context that made access legitimate. A later resumption can refer to that context using a ticket and demonstrate possession of the associated resumption secret. The ticket must not become an ungoverned alternative credential whose lifetime quietly exceeds the certificate or authorization behind it.2

An eligible reconnect uses the established context
Secure Access clientGatewayTicket & policy state1. Ticket identity, PSK binder andfresh hybrid share2. Check ticket binding, age andcurrent epochs3. Accept eligible context or rejectresumption4. Fresh hybrid share and serverFinished5. Client Finished completes thehandshake6. Restore permitted scope; rotatethe ticket
Read the sequence as text
  1. Secure Access clientGateway: Ticket identity, PSK binder and fresh hybrid share
  2. GatewayTicket & policy state: Check ticket binding, age and current epochs
  3. Ticket & policy stateGateway: Accept eligible context or reject resumption
  4. GatewaySecure Access client: Fresh hybrid share and server Finished
  5. Secure Access clientGateway: Client Finished completes the handshake
  6. GatewaySecure Access client: Restore permitted scope; rotate the ticket

The proposed profile uses PSK-DHE resumption with fresh hybrid key agreement. Ordinary TLS resumption does not send a new client CertificateVerify: authentication continuity comes from the resumption secret derived from the earlier authenticated session. That is a meaningful change in the proof being presented, even when the original bootstrap used ML-DSA. Sensitive administrative actions should not be sent as replayable 0-RTT application data.52

The hard part is remembering what still holds

A useful ticket record binds tenant, authenticated identity, credential fingerprint, full-authentication time, expiry, server audience, cryptographic profile, and the policy versions relevant to access. Revocation and posture freshness need their own treatment. A ticket that remains decryptable is not necessarily a ticket that remains acceptable.

Change since bootstrapRequired decision
Credential revoked or identity disabledReject access; do not let resumption bypass revocation.
Ticket expired, missing or already consumedRequire a new full handshake if the identity is still eligible.
Role, resource scope or policy epoch changedRe-evaluate access before restoring any scope.
Posture or companion presence no longer validApply restriction or renewed verification policy.
Gateway audience or algorithm profile mismatchesReject the ticket for that context.

An opaque, stateful ticket can keep the client’s reference compact while making invalidation explicit. It also creates a distributed-systems obligation: a gateway must learn about state changes in time to enforce them. Across regions, the important measurement is not just ticket lookup latency but the longest interval in which a revoked session could still be accepted.2

A person using a smartphone beside an open laptop at a desk.
Mobile work creates repeated connection transitions. The authentication policy must travel with the person, even when the network path changes.Photography: Vitaly Gariev / Unsplash

This is where the wider Antara access model matters. Device posture and Bluetooth companion presence can change session eligibility; the agentic auditor can connect the resulting events to the identity, resource, and policy version. Those signals do not modify an ML-DSA signature. They determine whether the system should continue relying on the earlier authentication at all.

Spend the proof once, account for every reconnect

Consider one full ML-DSA-44 client proof followed by eligible resumptions. Let N be the total number of connections and assume a 32-byte binder on each resumed connection. The average for these selected proof components is (2420 + 32 × (N − 1)) / N bytes per connection. The formula includes the first connection; N is not the number of resumptions.

One full proof, several eligible connectionsAverage selected client-authentication bytes per connection
0 B1,000 B2,000 BN = 12,420N = 5509.6N = 10270.8N = 11249.09N = 20151.4N = 35100.23N = 6270.52N = 10055.88
One full proof + resumption bindersFull proof every connection

Arithmetic model, not a performance benchmark: (2,420 + 32 × (N − 1)) / N. Includes one ML-DSA-44 signature and assumed SHA-256 binder bytes. Excludes certificates, tickets, key shares, framing and transport overhead. Resumption is allowed only while policy remains satisfied.

View data & methodology

Sources: supplied ML-DSA client mTLS research report; FIPS 204 signature size. Calculation reproduced in this article.

Total connectionsFull proof every connection (bytes)One full proof plus 32-byte resumption binders (average bytes)
124202420
52420509.6
102420270.8
112420249.09
202420151.4
352420100.23
62242070.52
100242055.88
Download CSV ↓

At eleven total connections, this model gives about 249 bytes per connection. At sixty-two, it gives about 70.5. The original 2,420-byte signature has not shrunk. Its cost has been spread over several connections that remain eligible to inherit the original authentication context. That is amortization, and its benefit depends on how often policy permits resumption.2

These values are not complete handshake sizes or measured Antara results. Fresh hybrid key shares, ticket identities, server authentication work, framing, and application traffic are outside this graph. Frequent full reauthentication reduces the savings. Longer continuity windows increase the burden on revocation and policy enforcement. The right deployment chooses that tradeoff from its security requirements, rather than from the prettiest byte count.

Make the migration observable

An enterprise rollout starts by inventorying the TLS termination points and the clients behind them. Record which peers support the required certificate algorithms, which libraries handle the intended signature schemes, and where traffic is re-encrypted. The ML-DSA TLS signature specification remains an Internet-Draft at the time of this article; a controlled native-client deployment and a public-browser deployment do not have identical compatibility constraints.6

Test full authentication, eligible resumption, deliberate ticket rejection, certificate expiry, and emergency revocation. Run the same workload across realistic round-trip delay and packet loss, then report p50, p95, and p99 completion times. On mobile devices, include wake-up behavior and energy use. A fast successful reconnect is only half the story; an invalid reconnect must fail quickly and explainably.

The supplied research proposes this evaluation program. It does not supply an Antara production benchmark. Its most durable contribution is the boundary it draws: standardized cryptographic proofs remain intact, while deployment engineering reduces repetition around them. For a secure-access client, that is a stronger foundation than promising that every certificate will magically become small.2

Sources & further reading

Primary specifications and original technical documentation underpin the explanations and data in this essay.

  1. NIST FIPS 204: ML-DSA, Table 2
  2. Making ML-DSA Practical for Client mTLS: original research report (PDF)
  3. RFC 9881: ML-DSA in X.509
  4. RFC 8879: TLS Certificate Compression
  5. RFC 9846: TLS 1.3
  6. ML-DSA for TLS: active Internet-Draft