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

使用托管 HSM 控制云中的数据

Microsoft 重视、保护并捍卫隐私。 我们相信操作透明,这样人员和组织可以控制其数据并在如何使用数据方面做出有意义的选择。 我们赋能并捍卫使用我们的产品和服务的每个人的隐私选择。

在本文,我们将深入探讨 Azure Key Vault 托管 HSM 加密安全控制,深入了解它如何提供额外的保护措施和技术措施来帮助客户满足其合规性要求。

加密是你可采取来单独控制你的数据的关键技术措施之一。 Azure 通过一流的加密技术来强化静态数据和传输中数据的安全性。 我们的加密产品设置了防止未经授权访问数据的障碍,包括两个或两个以上的独立加密层,以防止任何单个层遭到入侵。 此外,Azure 提供明确定义的完善响应、策略和流程,强有力的契约性承诺以及严格的物理、运营和基础结构安全控制,以便为我们的客户提供云中数据的最终控制。 Azure 密钥管理策略的基本前提是让我们的客户能够在更大的程度上控制他们的数据。 我们将零信任原则与高级 enclave 技术、硬件安全模块 (HSM) 和标识隔离(可减少 Microsoft 对客户密钥和数据的访问)结合使用。

静态加密为存储的静态数据提供保护,并根据组织对数据治理和合规工作的需求保护数据。 Microsoft 的合规性产品组合在全球所有公有云中广泛提供,符合行业标准和政府法规,例如 HIPAA一般数据保护法规美国联邦信息处理标准 (FIPS) 140-2 和 3。 这些标准和法规为数据保护和加密要求规定了具体的安全措施。 在大多数情况下,需要强制措施才能满足合规性。

静态加密的工作原理是什么?

显示静态加密工作原理的示意图。

Azure Key Vault 服务提供加密和密钥管理解决方案,对于云应用程序和服务为保护和控制已静态加密的数据而使用的加密密钥、证书和其他机密,这些解决方案提供了保护。

安全密钥管理对于保护和控制云中的数据必不可少。 Azure 提供各种解决方案用于管理和控制对加密密钥的访问,让你能够有选择和灵活性来满足严格的数据保护和合规性需求。

  • Azure 平台加密是一种平台管理的加密解决方案,它使用主机级加密技术实现加密。 平台管理的密钥是完全由 Azure 生成、存储和管理的加密密钥。
  • 客户管理的密钥是完全由客户创建、读取、删除、更新和管理的密钥。 客户管理的密钥可以存储在云密钥管理服务(例如 Azure Key Vault)中。
  • Azure Key Vault 标准层使用软件密钥进行加密,符合 FIPS 140-2 级别 1 标准。
  • Azure Key Vault 高级层使用受经 FIPS 140 验证的 HSM 保护的密钥进行加密。
  • Azure Key Vault 托管 HSM 使用受单租户 FIPS 140-2 级别 3 HSM 保护的密钥进行加密,并由 Microsoft 完全管理。

为了增加安全性,在 Azure Key Vault 高级层和 Azure Key Vault 托管 HSM 中,可以创建自己的密钥 (BYOK),并从本地 HSM 导入受 HSM 保护的密钥。

Azure 密钥管理产品组合

Azure 密钥保管库标准版 Azure 密钥保管库高级版 Azure Key Vault 托管的 HSM
租户 多租户 多租户 单租户
遵从性 FIPS 140-2 级别 1 FIPS 140-2 级别 3 FIPS 140-2 级别 3
高可用性 自动 自动 自动
用例 静态加密 静态加密 静态加密
密钥控制 客户 客户 客户
信任根控制 Microsoft Microsoft 客户

Azure Key Vault 是一种云服务,可用于安全地存储和访问机密。 机密是你想要安全控制对其的访问的任何内容,可以包含 API 密钥、密码、证书和加密密钥。

Key Vault 支持两种类型的容器:

  • 保管库

    • 标准层 - 保管库支持存储由机密、证书和软件提供保障的密钥。
    • 高级层 - 保管库支持存储由机密、证书、软件和 HSM 提供保障的密钥。
  • 托管硬件安全模块 (HSM)

    • 托管 HSM 仅支持由 HSM 提供保障的密钥。

有关详细信息,请参阅 Azure Key Vault 概念Azure Key Vault REST API 概述

什么是 Azure Key Vault 托管的 HSM?

Azure Key Vault 托管 HSM 是完全托管、高度可用且符合标准的单租户云服务,它提供由客户控制的安全域,使你能够使用通过 FIPS 140-2 级别 3 验证的 HSM 来存储云应用程序的加密密钥。

Azure 密钥保管库托管 HSM 如何保护密钥?

Azure Key Vault 托管 HSM 采用深层防御和零信任安全原则,使用多个层(包括物理、技术和管理安全控制)来保护和防护数据。

Azure Key Vault 和 Azure Key Vault 托管 HSM 经过精心设计、部署和操作,可避免 Microsoft 及其代理访问、使用或提取服务中存储的任何数据(包括加密密钥)。

除非客户另行设置,否则安全创建和/或安全导入到 HSM 设备的客户管理的密钥不可提取,并且永远不会以纯文本形式显示给 Microsoft 系统、员工或代理。

Key Vault 团队肯定没有操作程序来向 Microsoft 及其代理授予此类访问权限,即使客户已经授权也是如此。

我们不会试图破坏客户控制的加密功能,例如 Azure Key Vault 或 Azure Key Vault 托管 HSM。 如果面临要这样做的法律要求,我们将在符合我们的客户承诺的前提下,在任何合法的基础上对此类要求提出质疑。

接下来,我们将详细介绍如何实现这些安全控制。

Azure Key Vault 托管 HSM 中的安全控制

Azure Key Vault 托管 HSM 使用以下类型的安全控制:

  • 物理
  • 技术
  • 管理

物理安全控制

托管 HSM 的核心是硬件安全模块 (HSM)。 HSM 是一种专用、强化、防篡改、高熵的专用加密处理器,经验证符合 FIPS 140-2 级别 3 标准。 HSM 的所有组件进一步覆盖在硬化环氧树脂和金属外壳中,可以保护密钥免受攻击者的侵害。 HSM 装在多个数据中心、区域和地理位置的服务器机架中。 这些地理位置分散的数据中心符合有关安全性和可靠性的关键行业标准,例如 ISO/IEC 27001:2013NIST SP 800-53

Microsoft 设计、构建和运营数据中心的方式能够严格控制对存储密钥和数据的区域的物理访问。 其他物理安全层包括高大的钢筋混凝土栅栏、锁死的钢质门、热警报系统、闭路实时摄像头监视、24x7 保安人员、每次进入楼层都需要获批、严格的工作人员培训、生物识别、背景调查、进入请求和审批,这些都是强制措施。 HSM 设备和相关服务器被锁在笼子里,相机拍摄了服务器的正面和背面。

技术安全控制

托管 HSM 中的多层技术控制进一步保护着你的密钥材料。 但最重要的是,它们阻止 Microsoft 访问密钥材料。

  • 机密性:托管 HSM 服务在基于 Intel Software Guard Extensions (Intel SGX) 构建的可信执行环境中运行。 Intel SGX 通过在 enclave 中使用硬件隔离来保护正在使用的数据,从而增强对内部和外部攻击者的防范。

    Enclave 是指硬件的处理器和内存的受保护部分。 你无法查看 enclave 内的数据或代码,即使使用调试程序也不行。 如果不受信任的代码尝试更改 enclave 内存中的内容,Intel SGX 会禁用该环境并拒绝操作。

    这些独特的功能有助于保护你的加密密钥材料不被访问或者不以明文形式可见。 此外,在云中处理敏感数据时,可以使用 Azure 机密计算提供的解决方案隔离这些数据。

  • 安全域安全域是包含极其敏感的加密信息的加密 blob。 安全域包含 HSM 备份、用户凭据、签名密钥以及托管 HSM 独有的数据加密密钥等项目。

    安全域是在初始化期间,在托管 HSM 硬件和服务软件 enclave 中生成的。 预配托管 HSM 后,至少必须创建 3 个 RSA 密钥对。 请求下载安全域时,会将公钥发送到服务。 下载安全域后,托管 HSM 将进入已激活状态,并准备好供你使用。 Microsoft 工作人员无法恢复安全域,而且在没有安全域的情况下无法访问你的密钥。

  • 访问控制和授权:通过两个接口(管理平面和数据平面)来控制对托管 HSM 的访问。

    管理平面用于管理 HSM 本身。 此平面中的操作包括创建和删除托管 HSM 以及检索托管 HSM 属性。

    数据平面用于处理托管 HSM 中存储的数据(即由 HSM 提供保障的加密密钥)。 在数据平面接口中,可以添加、删除、修改和使用密钥来执行加密操作,管理角色分配以控制对密钥的访问权限,创建完整的 HSM 备份,还原完整备份,以及管理安全域。

    若要在任一平面中访问托管 HSM,所有调用方都必须具有适当的身份验证和授权。 身份验证可确定调用方的身份。 授权可确定调用方能够执行的操作。 调用方可以是 Microsoft Entra ID 中定义的任何一种安全主体:用户、组、服务主体或托管标识。

    两个平面均使用 Microsoft Entra ID 进行身份验证。 对于授权,它们使用不同的系统:

    • 管理平面使用 Azure 基于角色的访问控制 (Azure RBAC),这是基于 Azure 资源管理器构建的授权系统。
    • 数据平面使用托管 HSM 级别的 RBAC(托管 HSM 本地 RBAC),这是在托管 HSM 级别实施并强制执行的授权系统。 本地 RBAC 控制模型允许指定的 HSM 管理员完全控制甚至连管理组、订阅或资源组管理员都无法重写的 HSM 池。
    • 传输中加密:传入和传出托管 HSM 的所有流量始终通过 TLS 加密(支持传输层安全性版本 1.3 和 1.2),以防止在 SGX enclave 中(不是在不受信任的主机中)发生 TLS 终止时数据遭到篡改和窃听
    • 防火墙:可以一开始就将托管 HSM 配置为限制谁能够访问该服务,从而进一步缩小受攻击面。 允许将托管 HSM 配置为拒绝来自公共 Internet 的访问,并只允许来自受信任 Azure 服务(例如 Azure 存储)的流量
    • 专用终结点:启用专用终结点可将托管 HSM 服务引入虚拟网络,以便能够将该服务隔离到受信任的终结点,例如虚拟网络和 Azure 服务。 传入和传出托管 HSM 的所有流量将通过安全的 Microsoft 主干网络传递,而无需遍历公共 Internet。
    • 监视和日志记录:最外面的保护层是托管 HSM 的监视和日志记录功能。 通过使用 Azure Monitor 服务,可检查日志来获取分析和警报,确保访问模式符合预期。 这样,安全团队成员便可以洞察托管 HSM 服务中发生了什么情况。 如果有不正常的情况,可以随时滚动更新密钥或撤销权限。
    • 创建自己的密钥 (BYOK):BYOK 让 Azure 客户能够使用任何受支持的本地 HSM 来生成密钥并将它们导入托管 HSM。 某些客户偏好使用本地 HSM 生成密钥以满足管制与合规要求。 然后,他们使用 BYOK 将受 HSM 保护的密钥安全地传输到托管 HSM。 要传输的密钥永远不会以纯文本形式存在于 HSM 的外部。 在导入过程中,密钥材料受托管 HSM 中保存的密钥的保护。
    • 外部 HSM:有几个客户曾经咨询过我们,在 Azure 云的外部有哪种 HSM 选项可将数据和密钥与第三方云中或本地的外部 HSM 相隔离。 Azure 外部的第三方 HSM 看似能够让客户更大程度地控制密钥,但它也会带来一些问题,例如导致性能问题的延迟、第三方 HSM 的问题导致 SLA 问题,以及维护和培训成本。 此外,第三方 HSM 无法使用软删除和清除保护等 Azure 关键功能。 我们会继续与客户一起评估这种技术选项,帮助他们驾驭复杂的安全与合规环境。

管理安全控制

这些管理安全控制部署在 Azure Key Vault 托管 HSM 中:

  • 数据防御。 Microsoft 坚定承诺对政府要求提出质疑并保护你的数据
  • 合同义务。 它提供了安全性和客户数据保护方面的控制义务,如 Microsoft 信任中心所述。
  • 跨区域复制。 你可以使用托管 HSM 中的多区域复制在次要区域部署 HSM。
  • 灾难恢复。 Azure 提供简单、安全、可缩放且经济高效的端到端备份和灾难恢复解决方案:
  • Microsoft 安全响应中心(MSRC) 托管 HSM 服务管理与 MSRC 紧密集成。
    • 针对意外的管理操作进行安全监视并提供 24x7 全天候安全响应
  • 云弹性且安全的供应链。 托管 HSM 通过弹性云供应链提高可靠性。
  • 法规合规性内置计划。 Azure Policy 中的合规性提供内置计划定义,用于根据责任(客户、Microsoft、共担责任)查看控制措施和合规性域的列表。 对于 Microsoft 负责的控制措施,我们会基于第三方证明提供审核结果的其他详细信息,并提供我们为了实现这种合规性而实施的措施细节。
  • 审核报告。 这些资源可帮助信息安全与合规专业人员了解云功能并验证技术合规性和控制要求
  • 假想入侵理念。 我们假设任何组件都可能在任何时候遭到入侵,并且我们进行了相应的设计和测试。 我们会定期进行蓝队/红队练习(攻击模拟)。

托管 HSM 提供在物理、技术和管理方面提供可靠的安全控制。 托管 HSM 让你能够单独控制你的密钥材料,从而获得可缩放的集中式云密钥管理解决方案,帮助满足不断增长的合规性、安全性和隐私需求。 最重要的是,它提供合规性所需的加密安全措施。 为了让我们的客户安心,在推进 Microsoft 欧盟数据边界计划实施的过程中,我们承诺保护他们的数据并保持我们做法的透明度。

有关详细信息,请联系 Azure 帐户团队,这可以更方便地与 Azure 密钥管理产品团队相互探讨。