TPM 建议

本文提供适用于 Windows 的受信任的平台模块 (TPM) 技术的建议。

有关 TPM 的基本功能说明,请参阅受信任的平台模块技术概述

TPM 设计和实现

传统上,TPM 是焊接到计算机主板上的离散芯片。 此类实现使计算机的原始设备制造商 (OEM) 能够独立于系统其余部分评估和认证 TPM。 离散 TPM 实现很常见。 但是,对于小型或功耗较低的集成设备,它们可能会有问题。 某些较新的 TPM 实现将 TPM 功能集成到与其他平台组件相同的芯片集中,同时仍然提供类似于离散 TPM 芯片的逻辑分离。

TPM 是被动的:它们接收命令并返回响应。 若要实现 TPM 的完整优势,OEM 必须仔细地将系统硬件和固件与 TPM 集成,以向其发送命令并对它的响应作出反应。 TPM 最初旨在为平台的所有者和用户提供安全和隐私权益,但较新版本可为系统硬件本身提供安全和隐私权益。 但是,在将 TPM 用于高级方案之前,必须对其进行预配。 Windows 会自动预配 TPM,但如果用户计划重新安装操作系统,则可能需要在重新安装之前清除 TPM,以便 Windows 能够充分利用 TPM。

受信任的计算组 (TCG) 是发布和维护 TPM 规范的非盈利性组织。 TCG 的存在旨在制定、定义和推广与供应商无关的全球行业标准。 这些标准支持基于硬件的信任根,用于可互操作的受信任计算平台。 TCG 还使用公开提供的规范提交流程发布了 TPM 规范作为国际标准 ISO/IEC 11889,该流程是联合技术委员会 1 在国际标准化组织 (ISO) 和国际电工委员会 (IEC) 之间定义的。

OEM 实现 TPM 作为受信任计算平台中的组件,如 PC、平板电脑和手机。 受信任的计算平台使用 TPM 来支持仅靠软件无法实现的隐私和安全方案。 例如,仅软件无法可靠地报告系统启动过程中是否存在恶意软件。 TPM 和平台之间的紧密集成增加了启动过程的透明度,并支持通过启用可靠的测量和报告启动设备的软件来评估设备运行状况。 作为受信任计算平台的一部分实现 TPM 可提供信任的硬件根,也就是说,它的行为方式受信任。 例如,如果存储在 TPM 中的密钥具有禁止导出密钥的属性,则该密钥确实不能离开 TPM。

TCG 将 TPM 设计为低成本、大批量出售的安全解决方案,可应对不同客户细分的要求。 不同 TPM 实现的安全属性有所不同,就像不同部门的客户和法规要求有所不同一样。 例如,在公共部门采购中,一些政府明确定义了 TPM 的安全要求,而另一些政府则没有。

TPM 1.2 与 2.0 比较

从行业标准开始,Microsoft一直是 TPM 2.0 移动和标准化的行业领导者,TPM 2.0 在算法、加密、层次结构、根密钥、授权和 NV RAM 方面具有许多关键优势。

为什么选择 TPM 2.0?

TPM 2.0 产品和系统所具有的重要安全优势超过 TPM 1.2,包括:

  • TPM 1.2 规范仅允许使用 RSA 和 SHA-1 哈希算法。
  • 出于安全原因,某些实体不再采用 SHA-1。 值得注意的是,NIST 要求许多联邦机构从 2014 年迁移到 SHA-256,技术领导者(包括Microsoft和 Google)在 2017 年取消了对基于 SHA-1 的签名或证书的支持。
  • TPM 2.0 通过实现更加灵活的加密算法来实现更出色的加密灵活性
    • TPM 2.0 支持较新的算法,此算法可以改进驱动器登录和密钥生成性能。 关于所支持算法的完整列表,请参阅 TCG 算法注册表。 某些 TPM 不支持所有算法。
    • 有关平台加密存储提供程序中 Windows 支持的算法的列表,请参阅 CNG 加密算法提供程序
    • TPM 2.0 已实现 ISO 标准化 (ISO/IEC 11889:2015)。
    • 使用 TPM 2.0 可以使 OEM 无需针对某些国家和地区为标准配置创建例外。
  • TPM 2.0 为不同的实现提供更加一致的体验
    • TPM 1.2 实现因策略设置而有所不同。 这可能会导致支持问题,因为锁定策略不同。
    • TPM 2.0 锁定策略通过 Windows 配置,确保实现一致的字典攻击防护保证。
  • 虽然 TPM 1.2 部件是离散硅组件, TPM 2.0 通常焊接在主板上,作为单个半导体封装中的 离散 (dTPM) 芯片组件、一个或多个半导体封装中的 集成 组件(与同一封装 () 中的其他逻辑单元一起提供),并且作为固件 (fTPM) 的组件,在受信任的执行环境中运行, (TEE) 一般用途SoC。

注意

TPM 2.0 在 BIOS 的旧版和 CSM 模式中不受支持。 具有 TPM 2.0 的设备必须仅将其 BIOS 模式配置为本机 UEFI。 必须禁用旧版和兼容性支持模块 (CSM) 选项。 为增强安全性,启用安全启动功能。

如果 BIOS 模式更改为 UEFI,旧版模式中硬件上安装的操作系统将阻止操作系统启动。 在更改将设置操作系统和磁盘以支持 UEFI 的BIOS 模式之前,请使用工具 MBR2GPT

离散、集成或固件 TPM?

TPM 有三个实现选项:

  • 离散 TPM 芯片作为其自己的半导体封装中的单独组件。
  • 集成的 TPM 解决方案,使用集成到一个或多个半导体封装的专用硬件以及其他组件,但在逻辑上独立于其他组件。
  • 固件 TPM 解决方案,在常规用途计算单元的受信任执行模式下在固件中运行 TPM。

Windows 以相同方式使用任何兼容的 TPM。 Microsoft不采取应采用哪种方式实现 TPM,并且有一个广泛的可用 TPM 解决方案生态系统,这些解决方案应满足所有需求。

TPM 对消费者有何重要意义?

对于最终使用者来说,TPM 在幕后,但仍相关。 TPM 用于 Windows Hello、Windows Hello 企业版,在未来将用作 Windows 中许多其他关键安全功能的组件。 TPM 保护 PIN、帮助加密密码,并将整体 Windows 体验故事构建为安全性的关键支柱。 将系统上的 Windows 与 TPM 结合使用可实现更深入且更广泛的安全覆盖级别。

适用于 Windows 的 TPM 2.0 合规性

桌面版 Windows (家庭版、专业版、企业版和教育版)

  • 自 2016 年 7 月 28 日以来,所有新设备型号、线路或系列 (或者如果要更新具有主要更新的现有型号、线路或系列的硬件配置(如 CPU、图形卡) 必须在默认实现并启用 TPM 2.0 (详细信息,请参阅最低 硬件要求 页) 第 3.7 节。 需要启用 TPM 2.0 的要求仅适用于制造新设备。 对于特定 Windows 功能的 TPM 建议,请参阅 TPM 和 Windows 功能

IoT 核心版

  • TPM 在 IoT 核心版上是可选项。

Windows Server 2016

  • TPM 对于 Windows Server SKU 是可选的,除非 SKU 满足主机保护者服务方案的其他资格 (AQ) 条件,在这种情况下需要 TPM 2.0。

TPM 和 Windows 功能

下表定义了哪些 Windows 功能需要 TPM 支持。

Windows 功能 所需的 TPM 支持 TPM 1.2 支持 TPM 2.0 详细信息
测量的启动 测量启动需要 TPM 1.2 或 2.0 和 UEFI 安全启动。 建议使用 TPM 2.0,因为它支持较新的加密算法。 TPM 1.2 仅支持正在弃用的 SHA-1 算法。
BitLocker 支持 TPM 1.2 或 2.0,但建议使用 TPM 2.0。 设备加密需要新式待机, 包括 TPM 2.0 支持
设备加密 不适用 设备加密需要新型待机/连接待机认证,这需要 TPM 2.0。
适用于企业的应用控制
System Guard (DRTM) 需要 TPM 2.0 和 UEFI 固件。
Credential Guard Windows 10 版本 1507(从 2017 年 5 月起结束使用)仅为 Credential Guard 支持 TPM 2.0。 从 Windows 10 版本 1511 开始,支持 TPM 1.2 和 2.0。 与 System Guard 配对后,TPM 2.0 为 Credential Guard 提供增强的安全性。 默认情况下,Windows 11需要 TPM 2.0,以便更轻松地为客户启用这种增强的安全性。
设备运行状况证明 建议使用 TPM 2.0,因为它支持较新的加密算法。 TPM 1.2 仅支持正在弃用的 SHA-1 算法。
Windows Hello/Windows Hello 企业版 Microsoft Entra联接支持这两个版本的 TPM,但需要具有密钥哈希消息身份验证代码的 TPM (HMAC) 和认可密钥 (EK) 证书,以支持密钥证明。 建议使用 TPM 2.0 比 TPM 1.2 更高性能和安全性。 Windows Hello作为 FIDO 平台验证器利用 TPM 2.0 进行密钥存储。
UEFI 安全启动
TPM 平台加密提供程序密钥存储提供程序
虚拟智能卡
证书存储 仅当证书存储在 TPM 中时需要 TPM。
自动驾驶仪 不适用 如果打算部署需要 TPM ((例如白手套和自部署模式) )的方案,则需要 TPM 2.0 和 UEFI 固件。
SecureBIO 需要 TPM 2.0 和 UEFI 固件。

TPM 2.0 系统可用性和认证部件的 OEM 状态

政府客户和受监管行业的企业客户的采购标准,可能要求使用经认证的通用 TPM 部件。 因此,提供设备的 OEM 可能需要在其商业等级系统上仅使用经认证的 TPM 组件。 有关详细信息,请联系你的 OEM 硬件供应商。