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

img

在后量子时代,保护静态数据的关键在于升级密钥管理服务(KMS)的核心能力。传统的 RSA 或 ECC 密钥一旦被量子计算机攻破,所有被其加密保护的数据加密密钥(DEK)都将面临风险。

基于 NIST PQC 标准,可以设计一套抗量子的数据加密密钥(DEK)分发机制,将 ML-KEM(Kyber)与 AES-KeyWrap 结合,构建起一个高度安全且鲁棒的 PQC 信封加密体系。

核心机制:KEM 与 KeyWrap 的结合

该机制巧妙地利用了密钥封装机制(KEM)的特点,实现了密钥的安全传输,同时又保持了密钥管理流程的简洁高效。

img

一、密钥生成与封装(保护 DEK)

当业务应用请求 KMS 生成并封装一个 DEK 时,PQC KMS 内部执行以下操作:

  1. DEK 生成:KMS 随机生成 DEKPlain(待保护的数据加密密钥)。
  2. KEM 封装:

a. KMS 调取其长期存储的 PQC KEK 公钥(Key Encryption Key)。

b. 执行 ML−KEM Encapsulate操作,生成两个输出:一个临时的抗量子共享秘密(SS)和一个对应的封装密文 Ckem。

  1. 密钥包装:

a. KMS 将 KEM 派生的 共享秘密 SS作为密钥输入。

b. 执行 AES−KeyWrap算法,对 DEKPlain进行加密包装,生成 DEKwrapped。

  1. 密文输出:

a. KMS 将 Ckem和 DEKwrapped打包成一个密文 Blob(可交付落地的 DEK 密文材料),分发给业务应用存储。

此时,DEKwrapped无法被攻击者直接破解,因为保护它的密钥(SS)被锁定在了抗量子的 Ckem胶囊中。

二、密钥解密与解封装(换取 DEK)

当业务应用需要使用 DEKPlain时,它将存储的密文 Blob 发送给 KMS,由 KMS 在安全环境中执行解密:

  1. KEM 解封装:

a. KMS 调取其长期存储的 PQC KEK 私钥

b. 执行 ML−KEM Decapsulate操作,将客户端发来的 Ckem作为输入,精确恢复出 共享秘密 SS

  1. 密钥解包:

a. KMS 将恢复的 SS 作为解密密钥输入。

b. 执行 AES−KeyUnwrap算法,对 DEKwrapped进行解包,成功还原出 DEKPlain

  1. 结果输出:KMSDEKPlain返回给业务应用,并指示其在内存中用完即焚。