你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

关于密钥

Azure Key Vault 提供了两种类型的资源来存储和管理加密密钥。 保管库支持受软件保护和受 HSM(硬件安全模块)保护的密钥。 托管 HSM 仅支持受 HSM 保护的密钥。

资源类型 密钥保护方法 数据平面终结点基 URL
保管库 受软件保护且受 HSM 保护(高级 SKU 中的 HSM 密钥类型) https://{vault-name}.vault.azure.net
托管 HSM 受 HSM 保护 https://{hsm-name}.managedhsm.azure.net
  • 保管库 - 保管库提供低成本、易部署、多租户、区域复原(若可用)且高度可用的密钥管理解决方案,适用于最常见的云应用程序方案。
  • 托管 HSM - 托管 HSM 提供单租户、高度可用的 HSM 来存储和管理加密密钥。 非常适用于处理重要密钥的应用程序和使用方案。 还有助于满足最严格的安全性、合规性和法规要求。

注意

除了加密密钥外,保管库还能让你存储和管理多种类型的对象(如机密、证书和存储帐户密钥)。

Key Vault 中的加密密钥表示为 JSON Web 密钥 [JWK] 对象。 JavaScript 对象表示法 (JSON) 和 JavaScript 对象签名和加密 (JOSE) 规范如下:

此外,还扩展了基本 JWK/JWA 规范,以启用对于 Azure Key Vault 和托管 HSM 实现独有的密钥类型。

文件库中的 HSM 密钥受 HSM 保护;软件密钥不受 HSM 保护。

  • 存储在保管库中的密钥受益于通过 FIPS 140 验证的 HSM 实现的可靠保护。 有两个不同的 HSM 平台可用:平台 1 使用 FIPS 140-2 级别 2 来保护密钥版本,平台 2 根据密钥创建时间使用 FIPS 140-2 级别 3 HSM 来保护密钥。 现在,所有新的密钥和密钥版本都使用平台 2 创建(英国地区除外)。 若要确定是哪个 HSM 平台在保护密钥版本,请获取它的 hsmPlatform
  • 托管 HSM 使用 FIPS 140-2 3 级验证 HSM 模块来保护密钥。 每个 HSM 池都是独立的单租户实例,它有自己的安全域,提供与共享同一硬件基础结构的其他所有 HSM 之间的完全加密隔离。 托管 HSM 密钥在单租户 HSM 池中受到保护。 可通过软形式或从受支持的 HSM 设备导出来导入 RSA、EC 和对称密钥。 也可在 HSM 池中生成密钥。 当通过 BYOK(创建自己的密钥)规范中所述的方法导入 HSM 密钥时,可将密钥材料安全地传输到托管 HSM 池中。

有关地理边界的详细信息,请参阅 Microsoft Azure 信任中心

密钥类型和保护方法

Key Vault 支持 RSA 和 EC 密钥。 托管 HSM 支持 RSA、EC 和对称密钥。

HSM 保护的密钥

密钥类型 保管库(仅适用于高级 SKU) 托管 HSM
EC-HSM:椭圆曲线密钥 支持(P-256、P-384、P-521、secp256k1/P-256K) 支持(P-256、secp256k1/P-256K、P-384、P-521)
RSA-HSM:RSA 密钥 支持(2048 位、3072 位、4096 位) 支持(2048 位、3072 位、4096 位)
oct-HSM:对称密钥 不支持 支持(128 位、192 位、256 位)

受软件保护的密钥

密钥类型 保管库 托管 HSM
RSA:“受软件保护的”RSA 密钥 支持(2048 位、3072 位、4096 位) 不支持
EC:“受软件保护的”椭圆曲线密钥 支持(P-256、P-384、P-521、secp256k1/P-256K) 不支持

合规性

密钥类型和目标 合规性
保管库中受软件保护的 (hsmPlatform 0) 密钥 FIPS 140-2 级别 1
保管库中的 hsmPlatform 1 受保护密钥(高级 SKU) FIPS 140-2 级别 2
保管库中的 hsmPlatform 2 受保护密钥(高级 SKU) FIPS 140-2 级别 3
托管 HSM 中的密钥始终受到 HSM 保护 FIPS 140-2 级别 3

有关每种密钥类型、算法、操作、属性和标记的详细信息,请参阅密钥类型、算法和操作

使用方案

何时使用 示例
Azure 服务器端数据加密,用于集成资源提供程序和客户管理的密钥 - 使用 Azure 密钥保管库中客户管理的密钥进行服务器端加密
客户端数据加密 - 使用 Azure 密钥保管库进行客户端加密
无键 TLS - 使用键客户端库

后续步骤