
在后量子时代,保护静态数据的关键在于升级密钥管理服务(KMS)的核心能力。传统的 RSA 或 ECC 密钥一旦被量子计算机攻破,所有被其加密保护的数据加密密钥(DEK)都将面临风险。
基于 NIST PQC 标准,可以设计一套抗量子的数据加密密钥(DEK)分发机制,将 ML-KEM(Kyber)与 AES-KeyWrap 结合,构建起一个高度安全且鲁棒的 PQC 信封加密体系。
该机制巧妙地利用了密钥封装机制(KEM)的特点,实现了密钥的安全传输,同时又保持了密钥管理流程的简洁高效。

当业务应用请求 KMS 生成并封装一个 DEK 时,PQC KMS 内部执行以下操作:
1. DEK 生成:KMS 随机生成 DEK_{Plain}(待保护的数据加密密钥)。
2. KEM 封装:
a. KMS 调取其长期存储的 PQC KEK 公钥(Key Encryption Key)。
b. 执行 ML-KEM \ Encapsulate操作,生成两个输出:一个临时的抗量子共享秘密(SS)和一个对应的封装密文 C_{kem}。
3. 密钥包装:
a. KMS 将 KEM 派生的 共享秘密 SS作为密钥输入。
b. 执行 AES-KeyWrap算法,对 DEK_{Plain}进行加密包装,生成 DEK_{wrapped}。
4. 密文输出:
a. KMS 将 C_{kem}和 DEK_{wrapped}打包成一个密文 Blob(可交付落地的 DEK 密文材料),分发给业务应用存储。
此时,DEK_{wrapped}无法被攻击者直接破解,因为保护它的密钥(SS)被锁定在了抗量子的 C_{kem}胶囊中。
当业务应用需要使用 DEK_{Plain}时,它将存储的密文 Blob 发送给 KMS,由 KMS 在安全环境中执行解密:
1. KEM 解封装:
a. KMS 调取其长期存储的 PQC KEK 私钥。
b. 执行 ML-KEM \ Decapsulate操作,将客户端发来的 C_{kem}作为输入,精确恢复出 共享秘密 SS。
2. 密钥解包:
a. KMS 将恢复的 SS作为解密密钥输入。
b. 执行 AES-KeyUnwrap算法,对 DEK_{wrapped}进行解包,成功还原出 DEK_{Plain}。
3. 结果输出:KMS 将 DEK_{Plain}返回给业务应用,并指示其在内存中用完即焚。