基于 PQC-KMS 的 DEK 分发机制解析

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

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