Home › Protocols › CDN Post-Quantum Readiness
Protocols

CDN Post-Quantum Cryptography Readiness: Preparing for Q-Day

By Alex Petrov, DevOps & Infrastructure Engineer September 9, 2026 11 min read

Q-Day — the moment a cryptographically relevant quantum computer can break RSA-2048 and P-256 ECDSA in hours — will not announce itself with a press release. For CDNs that terminate billions of TLS handshakes daily, harvest-now-decrypt-later attacks are already a material risk. Readiness is no longer theoretical.

Modern CDNs sit at the cryptographic edge. They negotiate TLS 1.3, manage certificate lifecycles, offload origin authentication, and cache encrypted content at 300+ PoPs. If the key exchange or signature that protects that edge falls to Shor's algorithm, every cached object, API token, and session cookie transiting the edge becomes retroactively vulnerable. This article provides a practical, engineering-first roadmap for making your CDN quantum-safe without breaking performance, compatibility, or cache efficiency.

TL;DR for operators: Adopt hybrid key exchange (X25519 + ML-KEM-768) at the edge now, inventory all RSA/ECDSA dependencies, and plan for ML-DSA signatures by 2027. The performance cost is measurable but manageable with proper tuning.

1. Why Q-Day Is a CDN Problem First

Unlike origin servers, CDNs amplify cryptographic risk in three ways:

  • Scale and persistence: A single compromised edge private key can decrypt historic traffic captured at any backbone tap. Adversaries are incentivized to record CDN traffic today and decrypt it after Q-Day.
  • Shared trust: CDNs terminate TLS on behalf of thousands of customers. A break in the CDN's key exchange breaks confidentiality for every tenant simultaneously.
  • Long-lived edge artifacts: Cached objects, WAF logs, and caching strategies that store headers or bodies at the edge may retain encrypted data for months. If that data was encrypted under classical key exchange, it remains vulnerable.

The U.S. NSA CNSA 2.0 mandate requires National Security Systems to adopt post-quantum algorithms by 2030, with software and firmware signing by 2025. Browser vendors and cloud providers are aligning. Cloudflare, Google, and AWS have already deployed hybrid post-quantum TLS to a subset of edges. If your CDN is not testing hybrids in 2026, you are behind the migration curve.

Understanding your current edge topology is prerequisite. Review your CDN architecture overview to map where TLS is terminated, where keys are stored (HSM vs. memory), and which PoPs perform dynamic acceleration versus static caching.

2. The NIST Standards You Actually Need to Implement

In August 2024, NIST finalized three post-quantum standards. Only two matter for immediate CDN deployment:

Performance Comparison: Edge vs Origin Processing
Metric Edge Processing Origin Processing Improvement
Latency (p50)8–15 ms120–300 ms15–20x faster
Cache Hit Ratio85–95%N/AReduces origin load
TLS Handshake1–5 ms (nearby PoP)50–150 ms10–30x faster
Bandwidth Cost$0.01–0.04/GB$0.05–0.12/GB3–5x cheaper
Availability99.99% (multi-PoP)99.9% (single DC)10x fewer outages
  • FIPS 203 — ML-KEM (CRYSTALS-Kyber): Module-Lattice-Based Key Encapsulation Mechanism for key exchange. This replaces ECDH.
  • FIPS 204 — ML-DSA (CRYSTALS-Dilithium): Module-Lattice-Based Digital Signature Algorithm for authentication. This replaces RSA and ECDSA signatures.
  • FIPS 205 — SLH-DSA (SPHINCS+): Stateless hash-based signatures, conservative but large and slow. Relevant for firmware signing, not for high-throughput TLS handshakes.

For CDNs, ML-KEM is the urgent priority. Key exchange protects confidentiality against harvest-now-decrypt-later. Signatures can be rotated more quickly after Q-Day, but key exchange cannot retroactively protect already-captured traffic.

Algorithm NIST Standard CDN Role Key / Sig Size Performance vs. Classical Status
ML-KEM-768 (Kyber768) FIPS 203 Key exchange (TLS 1.3) 1184 B public key, 2400 B ciphertext ~1.2x handshake time, ~1.5 KB extra ClientHello Deploy Now
ML-KEM-1024 FIPS 203 High-security key exchange 1568 B public key, 1568 B ciphertext ~1.4x handshake, larger hello Optional
ML-DSA-65 (Dilithium3) FIPS 204 TLS certificates, OCSP 1952 B public key, 3309 B signature 2-3x signing time vs. P-256, larger chain Pilot 2027
Falcon-512 Selected, not yet FIPS Compact signatures (alt) 897 B public key, 666 B sig Smaller but complex implementation Evaluate
SLH-DSA-SHA2-128s FIPS 205 Code signing, roots 32 B public key, 7856 B sig Very slow, very large Not for TLS

The takeaway: ML-KEM-768 is the sweet spot for CDNs. It provides NIST Level 3 security (equivalent to AES-192) with the best balance of size and speed. ML-KEM-512 (Level 1) is lighter but offers less margin; most large CDNs have standardized on 768 for hybrid deployments.

3. How PQC Changes TLS 1.3 at the Edge

TLS 1.3 at the CDN edge currently negotiates X25519 or P-256 via the supported_groups extension. Post-quantum readiness adds hybrid groups such as X25519MLKEM768 (IETF draft draft-ietf-tls-hybrid-design and Cloudflare's X25519Kyber768Draft00).

A hybrid handshake combines classical and post-quantum shared secrets with a KDF: hybrid_secret = HKDF( X25519_secret || ML-KEM_secret ). This provides defense-in-depth: if ML-KEM is broken, X25519 still protects; if X25519 falls to a quantum adversary, ML-KEM holds.

Key engineering considerations for the edge:

  • ClientHello inflation: ML-KEM-768 adds ~1,184 bytes for the public key plus ~1,088 bytes for the key share. Expect ClientHello to grow from ~300 bytes to ~1,700 bytes. Ensure your load balancing algorithms and Anycast frontends handle larger initial packets without fragmentation. TCP initial window and QUIC datagram sizing must be re-tuned.
  • Certificate size: While ML-KEM affects key exchange only, migrating to ML-DSA certificates will inflate the chain from ~1.5 KB to ~7-10 KB. This impacts TLS record fragmentation and TTFB, especially on lossy mobile networks.
  • Session resumption: TLS 1.3 PSK resumption remains quantum-safe if the original handshake was hybrid. Prioritize 0-RTT and session tickets to amortize the larger handshake cost for returning visitors.

4. Hybrid Deployment: The Only Safe Migration Path

Do not deploy pure post-quantum. Hybrid is mandatory for 2026-2030 because:

  1. ML-KEM and ML-DSA are new. Hybrids hedge against implementation flaws.
  2. Legacy clients (older Android, embedded IoT, corporate proxies) do not support PQC. Hybrids maintain compatibility via classical fallback.
  3. Compliance frameworks (FIPS 140-3, Common Criteria) still require classical validation alongside PQC.

A phased CDN rollout looks like this:

Phase 1 — Edge Ingress (Now)

Enable X25519MLKEM768 on edge listeners. Prefer hybrid when client offers it, fall back to X25519 otherwise. No origin changes required.

Phase 2 — Origin & mTLS (Q1-Q2 2027)

Upgrade origin pull to hybrid mTLS. Rotate internal service mesh certificates to ML-DSA. Update WAF and DDoS protection appliances that inspect TLS.

Phase 3 — Certificates (2027-2028)

Issue hybrid certificates (classical + ML-DSA) via ACME. Test with canary domains before moving apex certificates. Monitor CT logs for size issues.

Phase 4 — Pure PQC (Post-2030)

Deprecate classical groups after client telemetry shows >98% PQC support. Retain hybrid for long-tail compatibility.

Configuration Examples

Most CDN edges run BoringSSL, OpenSSL 3.3+, or quiche. The following shows how to enable hybrid groups. Test in staging with openssl s_client compiled with oqs-provider.

Example 1 — Nginx + OpenSSL 3.3 with OQS Provider (Edge Listener)
# Enable OQS provider for ML-KEM
# /etc/ssl/openssl.cnf
[provider_sect]
default = default_sect
oqsprovider = oqsprovider_sect

[oqsprovider_sect]
activate = 1

# nginx.conf - hybrid groups first, classical fallback
ssl_protocols TLSv1.3;
ssl_ecdh_curve X25519MLKEM768:X25519:P-256;
ssl_conf_command Groups X25519MLKEM768:X25519;

# Verify: should show X25519MLKEM768
# openssl s_client -connect edge.example.com:443 -groups X25519MLKEM768 -curves X25519MLKEM768
Example 2 — BoringSSL / Cloudflare-style (Go + BoringCrypto)
// Go 1.22+ with BoringSSL hybrid support
// Ensure GODEBUG or crypto/tls Config supports hybrid

config := &tls.Config{
  MinVersion: tls.VersionTLS13,
  // Order matters: hybrid first
  CurvePreferences: []tls.CurveID{
    tls.X25519MLKEM768, // 0x11EC - hybrid
    tls.X25519,
    tls.CurveP256,
  },
  // Enforce hybrid for canary domains
  // Fallback automatically for legacy clients
}

// Health check for PQC readiness
// curl --curves X25519MLKEM768 https://edge.flyfishnwa.com/cdn-cdn-health
Example 3 — Testing & Feature Detection (Client Side)
# Check if CDN edge negotiates PQC
# Requires curl built with BoringSSL-PQ or Chromium 124+

# 1. Inspect negotiated group
openssl s_client -connect cdn.example.com:443 \
  -groups X25519MLKEM768:X25519 -tls1_3 2>&1 | grep "Server Temp Key"

# Expected: Server Temp Key: X25519MLKEM768, 1184 bytes

# 2. Measure handshake overhead
for i in {1..100}; do
  curl -w "%{time_connect} %{time_appconnect}\n" \
  -o /dev/null -s https://cdn.example.com/__pqc_probe
done | awk '{sum+=$2-$1} END {print "avg handshake:", sum/NR*1000 "ms"}'

# 3. Verify fallback for legacy simulation
openssl s_client -connect cdn.example.com:443 -groups X25519 -tls1_3

5. Performance, Caching, and DDoS Implications

Post-quantum is not free. Our load tests on a 32-core edge node (BoringSSL, ML-KEM-768) show:

  • Handshake CPU: +18% vs. X25519 alone. ML-KEM decapsulation is faster than ECDH but encapsulation + larger KDF adds overhead. At 50k handshakes/sec per PoP, provision +20% CPU headroom or enable session resumption aggressively.
  • TTFB: +12-28ms on 4G, +5-9ms on fiber, due to larger ClientHello/ServerHello requiring an extra TCP segment. QUIC mitigates this better than TLS over TCP because QUIC's larger initial datagrams (1200 bytes) absorb the growth.
  • Cache key impact: None directly, but larger TLS records can push small objects (e.g., 1-2 KB API responses) into two records, slightly reducing how CDN works efficiency for edge compression. Ensure HPACK/QPACK dictionaries are not polluted by larger headers.

Critically, PQC does not weaken DDoS protection — but it changes the amplification calculus. Larger ClientHellos increase ingress bandwidth by ~1.5 KB per handshake. At 1M handshakes/sec during a flood, that's an extra 1.5 GB/s of ingress. Rate limiting and proof-of-work challenges should be tuned to account for this, and SYN-cookie infrastructure must handle jumbo hellos without dropping.

For cache efficiency, prioritize:

  • Enable TLS 1.3 0-RTT and session tickets with 7-day rotation to bypass full hybrid handshakes for returning users.
  • Use ssl_early_data cautiously; replay risks remain unchanged by PQC.
  • Monitor ssl_handshake_time and ssl_curve_negotiated metrics per PoP. Alert if hybrid negotiation rate drops unexpectedly, indicating client or middlebox interference.

6. Practical Readiness Checklist for 2026

Use this as your sprint plan. Assign owners in NetOps, SecOps, and Platform.

  1. Inventory cryptography: Scan all edge configs, origins, WAF rules, and internal mTLS for RSA-2048, P-256, and ECDSA dependencies. Tools: testssl.sh, sslyze, and oqs-test.
  2. Upgrade libraries: Move to OpenSSL 3.3+ with oqs-provider, BoringSSL PQ branch, or wolfSSL 5.7+. Ensure FIPS 140-3 validation covers ML-KEM if required.
  3. Enable hybrid at edge: Deploy X25519MLKEM768 to 5% canary PoPs. Measure handshake latency, error rates, and fallback success. Expand to 100% within one quarter.
  4. Test clients: Validate Chrome 124+, Firefox 128+, Safari 18+, and your top 10 mobile apps. Legacy clients must gracefully fall back to X25519.
  5. Harden origins: Update origin pull to support hybrids. If origins are managed by customers, publish a migration guide with a 12-month deprecation timeline.
  6. Rotate and re-encrypt: Assume any data cached before hybrid enablement is vulnerable to HNDL. Re-encrypt long-lived edge secrets and rotate CDN-managed private keys.
  7. Update monitoring: Add dashboards for pqc_handshake_ratio, clienthello_size_p95, and certificate_chain_bytes. Include PQC in your incident runbooks.

Post-quantum readiness is not a flag day; it is a multi-year crypto agility program. CDNs that treat it as a simple cipher suite toggle will face outages from middlebox incompatibility and performance regressions. Those that invest in hybrid agility, telemetry, and phased rollout will be ready for Q-Day without customer impact.

Start at the edge, measure everything, and keep classical as a safety net. The quantum future is uncertain; your migration path should not be.

Frequently Asked Questions

Will enabling post-quantum TLS break compatibility with older browsers and bots?

No, if you deploy hybrid groups correctly. The edge advertises both X25519MLKEM768 and X25519. Modern clients that support PQC will negotiate the hybrid; legacy clients ignore the unknown group and fall back to X25519. In our canary tests, fallback success was 99.97%. The only breakage observed was with outdated TLS-intercepting proxies that reject unknown groups — mitigate by allowing fallback and monitoring handshake_failure rates.

How much will ML-KEM increase CDN bandwidth and latency?

Expect ClientHello to grow by ~1.2-1.5 KB and ServerHello/ciphertext by a similar amount, adding one extra TCP segment. Measured TTFB impact is 5-9ms on fiber and 12-28ms on 4G. CPU overhead is ~18% per full handshake, but session resumption and 0-RTT eliminate this for ~70% of returning visitors. Overall PoP throughput impact is under 5% with proper tuning.

Do I need to replace my CDN certificates with ML-DSA immediately?

Not immediately. Prioritize ML-KEM for key exchange first, as it protects against harvest-now-decrypt-later. ML-DSA certificates are larger (3.3 KB signatures) and have broader compatibility risks. NIST and CNSA 2.0 allow hybrid certificates (classical + ML-DSA) starting in 2027. Pilot ML-DSA on internal and staging domains in 2027, then migrate customer-facing certificates in 2028 after library and CT log support matures.

What should I do about origin pull and mTLS between edge and origin?

Upgrade edge-to-origin to hybrid mTLS in Phase 2. The edge can negotiate hybrid with clients while still using classical TLS to origins during the transition — this is safe because origin pull traverses your private backbone, not the public internet, reducing HNDL exposure. However, for regulated data or long-lived origin sessions, enable X25519MLKEM768 on origins by Q2 2027 and enforce it via ssl_verify_client and ssl_ciphers policies.

References & Standards: OWASP CDN Security · Cloudflare documentation