本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用公有密钥执行离线操作
在非对称 KMS 密钥中,私钥是在中创建的 AWS KMS ,永远不会保持 AWS KMS 未加密状态。要使用私钥,必须致电 AWS KMS。您可以 AWS KMS 通过调用 AWS KMS API 操作来使用其中的公钥。或者,您可以下载公钥并共享以供外部使用 AWS KMS。
你可以共享一个公钥,让其他人加密除 AWS KMS 此之外的数据,你只能使用私钥解密。或者,允许其他人在 AWS KMS 外部验证您使用私有密钥生成的数字签名。或者,与同事共享您的公有密钥以派生共享密钥。
当您在非对称 KMS 密钥中使用公钥时 AWS KMS,您将受益于作为每项 AWS KMS 操作一部分的身份验证、授权和日志记录。您还可以降低对无法解密的数据进行加密的风险。这些功能在外部无效 AWS KMS。有关更多信息,请参阅 下载公有密钥的特殊注意事项。
提示
正在寻找数据密钥或 SSH 密钥? 本主题介绍如何管理 AWS Key Management Service中的非对称密钥,私有密钥在其中不可导出。有关私钥受对称加密 KMS 密钥保护的可导出数据密钥对,请参阅。 GenerateDataKeyPair 有关下载与 Amazon EC2 实例关联的公有密钥的帮助,请参阅《Amazon EC2 用户指南》和《Amazon EC2 用户指南》中的检索公有密钥。
下载公有密钥的特殊注意事项
为了保护您的 KMS 密钥, AWS KMS 提供访问控制、经过身份验证的加密和每项操作的详细日志。 AWS KMS 还允许您暂时或永久阻止使用 KMS 密钥。最后, AWS KMS 操作旨在将加密无法解密的数据的风险降至最低。当您在外部使用下载的公钥时,这些功能不可用 AWS KMS。
- Authorization
-
控制其中 KMS 密钥访问权限的密钥策略和 IAM 策略对在外部执行的操作 AWS KMS 没有影响 AWS。任何能够获得公钥的用户都可以在外部使用它, AWS KMS 即使他们没有权限使用KMS密钥加密数据或验证签名。
- 密钥用法限制
-
密钥使用限制在外部无效 AWS KMS。无论密钥用法是还是,RSA 密钥对在结构上都是相同的。
ENCRYPT_DECRYPTSIGN_VERIFY因此,您可以使用下载的SIGN_VERIFYRSA KMS 密钥对外部的数据进行加密。 AWS KMS但是, AWS KMS 无法使用相应的私钥解密该数据。 AWS KMS 强制其执行的操作使用密钥,因此它拒绝对密钥的解密请求。SIGN_VERIFY - 算法限制
-
对 AWS KMS 支持的加密和签名算法的限制在外部无效 AWS KMS。如果您使用外部的 KMS 密钥的公钥加密数据 AWS KMS,并使用 AWS KMS 不支持的加密算法,则无法解密数据。
- 禁用和删除 KMS 密钥
-
您可以采取的防止在内部加密操作中使用 KMS 密钥的操作 AWS KMS 不会阻止任何人在外部使用公钥。 AWS KMS例如,禁用 KMS 密钥、调度删除 KMS 密钥、删除 KMS 密钥或删除 KMS 密钥的密钥材料,对 AWS KMS外部的公有密钥没有影响。如果您删除非对称 KMS 密钥或删除或丢失其密钥材料,则使用外部公钥加密的数据将无法恢 AWS KMS 复。
- 日志记录
-
AWS CloudTrail 记录每项 AWS KMS 操作(包括请求、响应、日期、时间和授权用户)的日志不会记录公钥的使用情况 AWS KMS。
- 使用 SM2 密钥对进行离线验证(仅限中国区域)
-
要 AWS KMS 使用 SM2 公钥验证外部的签名,必须指定区别 ID。默认情况下, AWS KMS 使用
1234567812345678作为区分 ID。有关更多信息,请参阅使用 SM2 密钥对进行离线验证(仅限中国区域)。