The Migration Onion
PQC migration is a layered problem. You can't just "update the algorithm" — each
layer has dependencies on the layers below it.
Layer 5: Application layer (provisioning API, DynamoDB, Lambda code)
Layer 4: Certificate layer (CA hierarchy, cert profiles, CT, revocation)
Layer 3: TLS layer (key exchange groups, cipher suites, cert verification)
Layer 2: HSM layer (key storage, signing operations, key ceremonies)
Layer 1: Library layer (aws-lc-rs, rustls, openssl in dependencies)
Layer 0: AWS service layer (ACM PCA, KMS, CloudHSM PQC support)
You can't migrate Layer 4 (issue ML-DSA certs) without Layer 2 (HSM support).
You can migrate Layer 3 (hybrid TLS key exchange) without Layer 4 (certs stay ECDSA).