在 Azure 中,加密密钥可以由平台管理,也可以由客户管理。
平台管理的密钥 (PMK) 是完全由 Azure 生成、存储和管理的加密密钥。 客户不会与 PMK 交互。 例如,用于 Azure 数据静态加密的密钥默认就是 PMK。
另一方面,客户管理的密钥 (CMK) 是由一个或多个客户读取、创建、删除、更新和/或管理的密钥。 存储在客户拥有的密钥保管库或硬件安全模块 (HSM) 中的密钥是 CMK。 创建自己的密钥 (BYOK) 是一种 CMK 方案,在其中,客户将密钥从外部存储位置导入(引入)Azure 密钥管理服务(请参阅 Azure 密钥保管库:创建自己的密钥规范)。
“密钥加密密钥”(KEK) 是一种特定类型的客户管理的密钥。 KEK 是一种主密钥,用于控制对一个或多个本身已加密的加密密钥的访问。
客户管理的密钥可以存储在本地,但更常见的是存储在云密钥管理服务中。
Azure 密钥管理服务
Azure 提供了多种用于在云中存储和管理密钥的选项,包括 Azure Key Vault、Azure Key Vault 托管 HSM、Azure 云 HSM 和 Azure 支付 HSM。 这些选项在 FIPS 合规性级别、管理开销和目标应用方面有所不同。
Azure Key Vault (标准层)
FIPS 140-2 级别 1 验证的多租户云密钥管理服务,可用于存储非对称密钥、机密和证书。 存储在 Azure Key Vault 中的密钥受软件保护,可用于静态加密和自定义应用程序。 Azure Key Vault Standard 提供新式 API 和广泛的区域部署,并与 Azure 服务集成。 有关详细信息,请参阅关于 Azure 密钥保管库。
Azure Key Vault (高级层)
FIPS 140-3 级别 3 已验证、符合 PCI、多租户 HSM 的产品/服务,可用于存储非对称密钥、机密和证书。 密钥使用 Marvell LiquidSecurity HSM*存储在安全硬件边界中。 Microsoft管理和操作底层HSM,Azure Key Vault Premium 中存储的密钥可用于静态数据加密和自定义应用程序。 Azure Key Vault Premium 还提供新式 API 和广泛的区域部署和与 Azure 服务的集成。 如果您是 Azure Key Vault Premium 客户,并希望获得密钥主权、单租户环境和/或更高的每秒加密操作性能,您可能要考虑使用 Azure Key Vault 托管 HSM。 有关详细信息,请参阅关于 Azure 密钥保管库。
Azure 密钥保管库托管 HSM
FIPS 140-2 级别 3 验证的单租户 HSM 产品/服务,使客户能够完全控制 HSM 的静态加密、无密钥 SSL/TLS 卸载和自定义应用程序。 Azure Key Vault 托管 HSM 是唯一提供机密密钥的密钥管理解决方案。 客户会收到由三个 HSM 分区组成的池,这些分区共同充当一个高度可用的逻辑 HSM 设备。池的前面有一个通过 Key Vault API 公开加密功能的服务。 Microsoft处理 HSM 的预配、修补、维护和硬件故障转移,但无权访问密钥本身,因为该服务在 Azure 的机密计算基础结构中执行。 Azure Key Vault 托管 HSM 与 Azure SQL、Azure 存储和 Azure 信息保护 PaaS 服务集成,并支持 F5 和 Nginx 的无密钥 TLS。 有关详细信息,请参阅 什么是 Azure Key Vault 托管 HSM?。
Pricing
Azure 密钥保管库标准和高级层按交易计费,对于高级硬件支持的密钥,将按密钥每月收取额外的费用。 Azure Key Vault 托管 HSM、Azure 专用 HSM 和 Azure 支付 HSM 不按事务性收费:而是始终使用的设备,这些设备按固定的每小时费率计费。 有关详细的定价信息,请参阅 Key Vault 定价 和 付款 HSM 定价。
服务限制
Azure Key Vault 托管 HSM、Azure 专用 HSM 和 Azure 支付 HSM 提供专用容量。 Azure Key Vault 标准版和高级版是多租户产品,具有限流限制。 有关服务限制,请参阅密钥保管库服务限制。
静态加密
Azure Key Vault 和 Azure Key Vault 托管 HSM 与 Azure 服务和 Microsoft 365 集成以使用客户管理密钥,这意味着客户可以在 Azure Key Vault 和 Azure Key Vault 托管 HSM 中使用自己的密钥对存储在这些服务中的数据进行静态加密。 Azure 专用 HSM 和 Azure 支付 HSM 是基础结构即服务产品/服务,不提供与 Azure 服务的集成。 有关使用 Azure Key Vault 和 Azure Key Vault 托管 HSM 进行静态加密的概述,请参阅 Azure 静态数据加密。
应用程序接口
Azure 专用 HSM 和 Azure 支付 HSM 支持 PKCS#11、JCE/JCA 和 KSP/CNG API,但 Azure Key Vault 和 Azure Key Vault 托管 HSM 不支持。 Azure Key Vault 和 Azure Key Vault 托管 HSM 使用 Azure Key Vault REST API 并提供 SDK 支持。 有关 Azure 密钥保管库 API 的详细信息,请参阅 Azure 密钥保管库 REST API 参考。