密钥封装机制

密钥封装机制 (KEM) 是一种加密流程,用于在不受信任的渠道上在两方之间建立共享密钥。 密钥封装机制涉及三种主要算法:

  • 密钥生成:生成由公钥和私钥组成的密钥对。
  • 封装:使用公钥生成共享密钥和匹配的密文。
  • 解封装:使用私钥从密文中恢复共享密钥。

密钥封装机制是密钥交换协议和混合公钥加密 (HPKE) 的基本构建块。

封装和解封装工作流

下文介绍了使用 KEM 密钥对封装和解封数据的过程。此工作流程中的两个参与者分别是发送者和接收者。发送者使用接收者的公钥创建密文和共享密钥,然后接收者使用接收者的私钥解密密文以检索共享密钥。只有知道私钥的人员才能解封密文,以检索原始共享密钥。

  1. 发送者检索接收者的公钥。

  2. 发送者使用公钥执行封装步骤,生成共享密钥和相应的密文。

  3. 发送者将密文发送给接收者。

  4. 接收者使用接收者的私钥来解封密文。接收者和发送者现在拥有相同的共享密钥。

后量子密钥封装机制 (PQ-KEM)

量子计算机有可能会解密由经典加密算法(例如广泛使用的 RSA 和 ECDSA 算法)加密的内容,这可能会使此类加密内容容易受到“先收集,后解密”攻击。在这种攻击中,攻击者会收集当前使用经典加密算法的加密数据并将其存储起来,打算在强大的量子计算机问世后对其进行解密。PQ-KEM 旨在抵御量子攻击,确保今天使用它们加密的数据即使在量子时代也能保持安全,防止未来解密今天收集的信息。

Cloud Key Management Service 支持 ML-KEM-768 和 ML-KEM-1024(由 NIST 在 FIPS-203 中标准化)以及 X-Wing(一种将 ML-KEM-768 与 X25519 相结合的混合 KEM)。这些算法具有以下大小值(以字节为单位):

算法 公钥 密文 共享密钥
ML_KEM_768 1184 1088 32
ML_KEM_1024 1568 1568 32
KEM_XWING 1216 1120 32

Cloud KMS KEM 功能

Cloud KMS 提供以下与密钥封装机制相关的功能:

如需使用 Cloud KMS 密钥进行封装,您必须使用公开提供的 SDK 和工具以及公钥。Cloud KMS 不提供封装功能。