选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

HMAC 键入 AWS KMS

聚焦模式
HMAC 键入 AWS KMS - AWS Key Management Service

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

基于哈希的消息身份验证码 (HMAC) KMS 密钥是用于在其中生成和验证的对称密钥。 HMACs AWS KMS与每个 HMAC KMS 密钥关联的唯一密钥材料提供了 HMAC 算法所需的秘密密钥。您可以将 HMAC KMS 密钥与 GenerateMacVerifyMac 操作结合使用以验证 AWS KMS中的数据的完整性和真实性。

HMAC 算法结合了加密哈希函数和共享密钥。他们获取消息和密钥,例如 HMAC KMS 密钥中的密钥材料,然后返回一个唯一的固定大小的代码或标签。即使是消息的一个字符发生了变化,或者密钥不完全相同,生成的标签也会完全不同。通过要求密钥,HMAC 还可以提供真实性;如果没有密钥,就不可能生成相同的 HMAC 标签。 HMACs 有时被称为对称签名,因为它们的工作原理类似于数字签名,但签名和验证都使用单个密钥。

HMAC KMS 密钥和 AWS KMS 使用的 HMAC 算法符合 RF C 2104 中定义的行业标准。该 AWS KMS GenerateMac操作会生成标准的 HMAC 标签。HMAC KMS 密钥是在通过 FIPS 140-3 加密模块验证计划认证的 AWS KMS 硬件安全模块中生成的(中国(北京)和中国(宁夏)地区除外),并且永远不会保持未加密状态。 AWS KMS 要使用 HMAC KMS 密钥,您必须调用 AWS KMS。

您可使用 HMAC KMS 密钥确定消息的真实性,例如 JSON Web 令牌(JWT)、令牌化的信用卡信息或提交的密码。它们也可以用作安全的密钥派生函数 (KDFs),尤其是在需要确定性密钥的应用程序中。

与应用程序软件相比,HMAC KMS 密钥具有优势 HMACs ,因为密钥材料完全是在应用程序软件中生成和使用的 AWS KMS,受您在密钥上设置的访问控制的约束。

提示

最佳实践建议您限制包括 HMAC 在内的任何签名机制的有效时间。这阻止了行为者利用已签名信息反复地或是在消息被取代很久之后建立有效性的攻击。HMAC 标签不包含时间戳,但是您可以在令牌或消息中包含时间戳,以帮助您检测何时刷新 HMAC。

支持的加密操作

HMAC KMS 密钥只支持 GenerateMacVerifyMac 加密操作。您不能使用 HMAC KMS 密钥加密数据或签名消息,也不能在 HMAC 操作中使用任何其他类型的 KMS 密钥。当您使用 GenerateMac 操作时,您可提供最多为 4096 个字节的消息、HMAC KMS 密钥以及与 HMAC 密钥规范兼容的 MAC 算法,GenerateMac 将计算 HMAC 标签。要验证 HMAC 标签,您必须提供 HMAC 标签以及相同的消息、HMAC KMS 密钥和 GenerateMac 用于计算原始 HMAC 标签的 MAC 算法。VerifyMac 操作计算 HMAC 标签并验证它与提供的 HMAC 标签是否相同。如果输入和计算的 HMAC 标签不相同,则验证失败。

HMAC KMS 密钥不支持自动密钥轮换,并且您无法在自定义密钥存储中创建 HMAC KMS 密钥。

如果您要创建 KMS 密钥来加密 AWS 服务中的数据,请使用对称加密密钥。您不能使用 HMAC KMS 密钥。

区域

所有 AWS 区域 支持的密钥都支持 HMAC KMS 密钥。 AWS KMS

了解更多

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。