Titan 硬件芯片

本页内容的上次更新时间为 2025 年 1 月,代表截至本文撰写之时的状况。由于我们会不断改善对客户的保护机制,Google 的安全政策和系统今后可能会发生变化。

Titan 芯片是一种专用芯片,可为 Google Cloud 数据中心中的平台建立硬件根信任。Titan 芯片是一款低功耗微控制器,可部署在服务器、网络基础架构和其他数据中心外围设备等平台上。

Titan 芯片是 Titanium 硬件安全架构的重要组成部分,该架构提供了一层基础安全层,有助于防范针对用户数据的物理攻击和威胁。借助 Titan 芯片,Google 可以安全地识别和衡量平台固件和配置。它旨在从机器启动过程开始,防范特权软件攻击和 rootkit。

本文档介绍了 Titan 芯片的芯片架构和安全优势。Titan 芯片支持最小可信计算基 (TCB),可让该芯片提供以下优势:

  • 硬件信任根,用于为机器创建强大的身份
  • 在启动和更新时对平台固件进行完整性验证
  • 支撑 Google 机器凭据管理系统的远程凭据密封流程

Titan 芯片系列

最早的 Titan 芯片于 2014 年设计。后续的几代产品则吸收了在迭代制造、集成和部署流程中获得的经验。如需详细了解 Google 如何将我们对 Titan 芯片的了解贡献给开源硬件安全社区,请访问 opentitan.org

Titan 芯片包含以下组件:

  • 安全处理器
  • AES 和 SHA 加密协处理器
  • 硬件随机数生成器
  • 复杂的密钥层次结构
  • 嵌入式静态 RAM (SRAM)、闪存和 ROM

Titan 制造工艺标识

在 Titan 芯片制造过程中,每个 Titan 芯片都会生成唯一的密钥材料。此密钥材料已通过认证,用于生成认可记录。这些认证记录存储在一个或多个注册库数据库中,并使用空中隔离和多方控制进行加密保护。

当启用了 Titan 的平台集成到 Google 生产网络后,后端系统可以验证这些平台是否配备了真实的 Titan 芯片。正版 Titan 芯片配置了在 Titan 制造过程中注册和认证的密钥。如需详细了解服务如何使用 Titan 身份系统,请参阅凭据密封流程

新一代 Titan 芯片身份是根据设备标识符组合引擎 (DICE) 等行业标准生成和认证的。由于原始 Titan 芯片是在相关行业标准推出之前制造的,因此使用自定义 Google 设计获得了认证。凭借在制造和部署安全硬件方面的经验,Google 积极参与标准制定流程,并且 DICE、可信平台模块 (TPM) 和安全协议和数据模式 (SPDM) 等较新的标准也包含反映我们经验的变更。

Titan 集成

将 Titan 芯片集成到平台后,它会为应用处理器 (AP) 提供安全保护。例如,Titan 可以与运行工作负载的 CPU、基板管理控制器 (BMC) 或用于机器学习等工作负载的加速器搭配使用。

Titan 使用串行外围接口 (SPI) 总线与 AP 通信。Titan 会插入 AP 和 AP 的启动固件闪存芯片之间,确保 Titan 可以在固件在启动时运行之前读取和测量该固件的每个字节。

启用 Titan 的平台开机时,会执行以下步骤:

  1. Titan 会将 CPU 保持在重置模式,而 Titan 的内部应用处理器会从其嵌入式只读内存运行不可变代码(启动 ROM)。
  2. Titan 会运行内置的自测功能,以验证所有内存(包括 ROM)是否未被篡改。
  3. Titan 的启动 ROM 使用公钥加密验证 Titan 的固件,并将经过验证的固件的身份混入 Titan 的密钥层次结构中。
  4. Titan 的启动 ROM 会加载 Titan 的经过验证的固件。
  5. Titan 固件使用公钥加密验证 AP 的启动固件闪存的内容。在验证流程成功完成之前,Titan 会阻止 AP 访问其启动固件闪存。
  6. 验证完成后,Titan 芯片会释放 AP 的重置,以便 AP 启动。
  7. AP 固件会执行其他配置,其中可能包括启动其他启动映像。AP 可以捕获这些启动映像的测量结果,并将测量结果发送到 Titan 进行安全监控。

这些步骤可实现第一条指令完整性,因为 Google 可以从启动周期期间运行的第一个指令中识别在机器上启动的启动固件和操作系统。对于 CPU 接受微码更新的 AP,启动过程还会让 Google 知道在启动固件的第一个指令之前提取了哪些微码补丁。如需了解详情,请参阅衡量启动过程

此流程类似于配备 TPM 的平台执行的启动流程。不过,Titan 芯片包含标准 TPM 上通常不提供的功能,例如 Titan 的内部固件自证实或 AP 固件升级安全性,如以下部分所述。

标准 TPM 集成可能会容易受到物理拦截器攻击。Google 的较新 Titan 集成通过使用集成的信任根来缓解这些攻击。如需了解详情,请参阅 TPM 传输安全:使用 DICE 防范主动插入器 (YouTube)

安全的 Titan 固件升级

Titan 芯片的固件由存储在离线 HSM 中的密钥签名,该 HSM 由基于共识机制的控件保护。每当芯片启动时,Titan 的启动 ROM 都会验证 Titan 固件的签名。

Titan 固件使用安全版本号 (SVN) 进行签名,该版本号用于传达映像的安全状态。如果固件映像包含漏洞修复程序,则映像的 SVN 会递增。借助 Titan 硬件,生产网络可以强烈证明 Titan 固件的 SVN,即使旧版固件可能存在漏洞也是如此。通过升级流程,我们可以大规模地从这些漏洞中恢复,即使这些漏洞会影响 Titan 自己的固件也是如此。如需了解详情,请参阅从信任根固件中的漏洞中恢复

Google 为最新版 TPM 库规范做出了贡献,该规范现在包含一些功能,可让其他 TPM 提供类似的自证实功能。如需了解详情,请参阅 TPM 架构规范版本 1.83 的 TPM 固件受限和 SVN 受限对象部分 (PDF)。这些 TPM 功能已在我们最新的 Titan 芯片上实现和部署。

安全的 AP 固件升级

除了 Titan 的固件之外,我们还对 AP 上运行的固件进行了加密签名。Titan 会在平台启动过程中验证此签名。它还会在每次更新 AP 固件时验证此签名,以强制要求仅将正版 AP 固件映像写入 AP 的启动固件闪存芯片。此验证流程可防范企图安装持久后门或使平台无法启动的攻击。如果 CPU 在其微码身份验证机制中存在漏洞,签名验证还可为 Google 的平台提供纵深防御。

后续步骤

详细了解我们的启动完整性流程