Monthly research note. Theme: Quantum-Resilient Systems Engineering.
TL;DR
A focused memo on Operationalizing PQC: Monitoring, Rollback, and Incident Response: define the model, state the properties, then design the system so those properties remain true under failure and adversaries.
Treat “timeouts” as a third outcome: not success, not failure—ambiguity you must model.
Key takeaways
- Downgrade resistance must be explicit and tested under active attackers.
- Hybrid is an operational mode: deploy, monitor, rollback—not a paper design.
- Measure cost shifts (CPU/bandwidth) and adapt DoS defenses accordingly.
- Treat retries, reordering, and partial failure as default conditions.
- Design rollbacks as part of the happy path.
Why this matters
- Quantum risk is uneven: some secrets must last decades, others do not.
- Hybrid protocols fail if binding is unclear or downgrade is possible.
- Cost changes drive new DoS surfaces; defenses must evolve.
- Migration risk is operational: inventory, rollout, rollback, and monitoring.
Key questions
- What secrets must remain confidential for 10–30 years (and where are they today)?
- How do you define success metrics for PQ readiness beyond “enabled”?
- How do you stop downgrade under active adversaries?
- How do you manage mixed deployments across regions and vendors?
- How do you validate resilience (DoS, side channels, rollback, compromise)?
- Which protocols need hybrid now, and which can wait without regret?
Assumptions
- Operational teams need safe playbooks; crypto changes are not one-off.
- Key and certificate lifecycles outlive application versions.
- Some environments require constrained implementations (no_std, embedded).
- Rollouts happen under partial adoption; compatibility matters.
Non-goals
- Assuming performance impacts will be negligible.
- Treating PQ migration as a single deployment event.
Negotiation and fallbacks are where security silently becomes optional—treat them as hostile.
Model & invariants
Hybrid composition should be explicit and transcript-bound:
Make downgrade resistance explicit and test it like a security feature.
Inventory first. You can’t migrate what you can’t locate.
Monotonicity beats timestamps: counters and epochs survive clock skew.
Security properties
- Authenticity: actions are bound to identity and purpose.
- Downgrade resistance: negotiation can’t silently weaken security posture.
- Evidence: critical actions emit verifiable audit events.
- Integrity: invalid transitions are rejected (and detectable).
Failure modes
- Timeout ambiguity causing double-apply or partial state transitions.
- Observability gaps during incidents (missing evidence).
- Mixed-version behavior that violates assumptions silently.
- Config drift that weakens security posture over time.
A recovery plan that isn’t exercised will fail when you need it.
Design sketch
flowchart LR
threat["Threat Model (quantum + classical)"] --> design["Protocol Design"]
design --> impl["Implementation (no_std where needed)"]
impl --> verify["Verification (tests + formal)"]
verify --> ops["Operationalization (rotation + monitoring)"]
ops --> threatImplementation notes
PQ readiness is a systems program: crypto, networking, ops, and UX must compose.
If you can’t explain a timeout outcome, you can’t make retries safe.
Migration scoreboard:
- Inventory coverage (% of services/devices)
- Hybrid enabled (% of traffic)
- Negotiation failures (by client cohort)
- Handshake cost (CPU/bandwidth p95/p99)
- Downgrade attempts detectedVerification strategy
- Rotation drills: certificates, tunnels, device identities.
- Side-channel audits for constrained implementations.
- Downgrade simulations with active attackers.
- Performance profiling under load to quantify DoS risk.
- Interop tests across stacks and versions.
Operational notes
- Add telemetry for algorithm negotiation and failure modes.
- Practice emergency deprecation (turn off broken algorithms quickly).
- Define compatibility windows and communicate them to stakeholders.
- Roll out hybrid with canaries and explicit rollback triggers.
- Maintain an inventory of long-lived secrets and their lifetimes.
Attach explicit rollout/rollback triggers to changes that touch security or correctness.
What to monitor
- Authz failures and policy denials (unexpected spikes).
- Rollback events and the conditions that triggered them.
- Retry/timeout rates by endpoint and client cohort.
- Invariant violation rate (should be ~0).
- Admission-control / rate-limit rejections (by reason).
Rollback plan
- Keep dual-write / dual-verify windows where appropriate.
- Define an explicit rollback trigger (metrics + thresholds).
- Prefer backward-compatible changes; avoid “flag day” upgrades.
- Use canaries and staged rollout; stop early when signals degrade.
- Preserve evidence (configs, artifacts, audit logs) to reconstruct what changed.
Evidence
- Learn TLA+ (1) — Practical entry point for specification and model checking.
- Evidence: Model the smallest thing that can break; use model checking to validate invariants before optimizing.
- NIST Post-Quantum Cryptography Project (2) — The standardization baseline for PQC readiness programs.
- Evidence: Treat PQ migration as a program (inventory, interop, rollback). Use NIST status to drive prioritization and timelines.
Open questions
- What is your plan for third-party dependencies that can’t migrate quickly?
- What is your minimal ‘safe mode’ when PQ paths fail?
- Which protocol surfaces are most exposed to HNDL risk in your environment?
- How do you prevent configuration drift from re-enabling weak modes?
Checklist
- Failure modes enumerated with mitigations.
- Rollback plan rehearsed and automated.
- Costs bounded (CPU/memory/bandwidth) under adversarial inputs.
- Telemetry captures correctness signals.
- Assumptions listed and reviewed.
- Safety properties stated as invariants.
Further reading
- RFC 8446: TLS 1.3 — A useful reference for handshake structure and downgrade resistance patterns.
- Let's Encrypt Incident Reports — Operational lessons relevant to rotation and recovery at scale.
- NIST Post-Quantum Cryptography Project — The standardization baseline for PQC readiness programs.
- Learn TLA+ — Practical entry point for specification and model checking.
- Jepsen — Fault injection and correctness testing for distributed systems.
- Designing Data-Intensive Applications (Kleppmann) — The systems-engineering baseline for correctness, replication, and failure.