密钥封装机制 (KEM) 是一种加密流程,用于在不受信任的渠道上在两方之间建立共享密钥。 密钥封装机制涉及三种主要算法:
- 密钥生成:生成由公钥和私钥组成的密钥对。
- 封装:使用公钥生成共享密钥和匹配的密文。
- 解封装:使用私钥从密文中恢复共享密钥。
密钥封装机制是密钥交换协议和混合公钥加密 (HPKE) 的基本构建块。
封装和解封装工作流
下文介绍了使用 KEM 密钥对封装和解封数据的过程。此工作流程中的两个参与者分别是发送者和接收者。发送者使用接收者的公钥创建密文和共享密钥,然后接收者使用接收者的私钥解密密文以检索共享密钥。只有知道私钥的人员才能解封密文,以检索原始共享密钥。
发送者检索接收者的公钥。
发送者使用公钥执行封装步骤,生成共享密钥和相应的密文。
发送者将密文发送给接收者。
接收者使用接收者的私钥来解封密文。接收者和发送者现在拥有相同的共享密钥。
后量子密钥封装机制 (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 不提供封装功能。