Titan 硬體晶片

本文上次更新於 2025 年 1 月,內容反映截至撰文時的情況。我們會持續改善客戶保護措施,因此安全性政策和系統日後可能會有所變動。

Titan 晶片是專為平台打造的晶片,可在 Google Cloud 資料中心建立硬體信任根。Titan 晶片是低功耗微控制器,部署於伺服器、網路基礎架構和其他資料中心周邊裝置等平台。

Titan 晶片是 Titanium 硬體安全架構的重要元件,可提供基礎安全層,協助防範實體攻擊和使用者資料威脅。Google 可透過 Titan 晶片安全地識別及評估平台韌體和設定。這項功能旨在保護裝置免於特權軟體攻擊和 Rootkit 侵害,從機器啟動程序開始防護。

本文說明 Titan 安全性晶片的晶片架構和安全優勢。Titan 晶片支援最低限度的可信運算基礎 (TCB),因此具備下列優點:

  • 硬體信任根,可為機器建立強大的身分
  • 在啟動和更新時驗證平台韌體的完整性
  • 遠端憑證密封 流程,這是 Google 機器憑證管理系統的基礎

Titan 晶片系列

最早的 Titan 晶片設計於 2014 年,後續幾代產品則融入了反覆製造、整合和部署程序中累積的經驗。如要進一步瞭解 Google 如何將 Titan 晶片的相關知識貢獻給開放原始碼硬體安全社群,請參閱 opentitan.org

Titan 晶片包含下列元件:

  • 安全處理器
  • AES 和 SHA 加密協同處理器
  • 硬體隨機數產生器
  • 精細的金鑰階層
  • 內嵌靜態隨機存取記憶體 (SRAM)、快閃記憶體和唯讀記憶體 (ROM)

Titan 製造識別資訊

在 Titan 晶片的製造過程中,每個 Titan 晶片都會產生獨一無二的金鑰材料。這項金鑰材料經過認證,可用於產生背書記錄。這些背書記錄會儲存在一或多個登錄資料庫中,並使用氣隙和多方控制措施以密碼方式保護。

將啟用 Titan 的平台整合至 Google 生產網路後,後端系統就能驗證這些平台是否配備正版 Titan 晶片。正版 Titan 晶片會佈建在 Titan 製造過程中註冊及認證的金鑰。如要進一步瞭解服務如何使用 Titan 身分識別系統,請參閱「憑證密封程序」。

新一代 Titan 晶片身分識別碼的產生和認證,皆符合 裝置 ID 組成引擎 (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 的韌體,並將驗證韌體的 ID 混入 Titan 的金鑰階層。
  4. Titan 的開機 ROM 會載入 Titan 的驗證韌體。
  5. Titan 韌體會使用公開金鑰密碼編譯機制,驗證 AP 開機韌體快閃記憶體的內容。在驗證程序順利完成前,Titan 會封鎖 AP 對開機韌體快閃的存取權。
  6. 驗證完成後,Titan 晶片會從重設狀態釋放 AP,讓 AP 啟動。
  7. AP 韌體會執行其他設定,可能包括啟動其他開機映像檔。AP 可以擷取這些開機映像檔的測量結果,並將測量結果傳送至 Titan,以進行安全監控。

這些步驟可確保第一道指令的完整性,因為 Google 可以從啟動週期執行的第一道指令開始,識別機器上啟動的開機韌體和 OS。對於 CPU 接受微碼更新的 AP,啟動程序也會讓 Google 知道在啟動韌體的第一個指令之前,擷取了哪些微碼修補程式。詳情請參閱「測量啟動程序」。

這個流程與配備 TPM 的平台執行的啟動程序類似。不過,Titan 晶片包含標準 TPM 一般不提供的功能,例如 Titan 的內部韌體自我認證或 AP 韌體升級安全性,詳情請參閱下列章節。

標準 TPM 整合功能可能容易遭受實體中介層攻擊。 Google 較新的 Titan 整合功能會使用整合式信任根,防範這類攻擊。詳情請參閱「TPM Transport Security: Defeating Active Interposers with DICE (YouTube)」。

安全升級 Titan 韌體

Titan 晶片的韌體是由離線 HSM 中保存的金鑰簽署,並受到以仲裁為基礎的控制項保護。晶片啟動時,Titan 的開機 ROM 會驗證 Titan 韌體的簽章。

Titan 韌體會以安全版本號碼 (SVN) 簽署,藉此傳達映像檔的安全狀態。如果韌體映像檔包含安全漏洞修正程式,映像檔的 SVN 就會遞增。即使舊版韌體可能存在安全漏洞,Titan 硬體仍可讓生產網路強烈認證 Titan 韌體的 SVN。升級程序可讓我們大規模修復這些安全漏洞,即使這些漏洞會影響 Titan 的韌體也一樣。詳情請參閱「從信任根韌體中的安全漏洞復原」。

Google 參與了最新版 TPM 程式庫規格的制定,其中包含的功能可讓其他 TPM 提供類似的自我認證保證。詳情請參閱 TPM 架構規格 1.83 版的「TPM Firmware-Limited and SVN-Limited Objects」一節 (PDF)。這些 TPM 功能已在最新的 Titan 晶片上實作及部署。

安全地升級 AP 韌體

除了 Titan 的韌體外,我們也會以加密編譯方式簽署 AP 上執行的韌體。Titan 會在平台啟動程序中驗證這個簽章。此外,每當 AP 韌體更新時,系統也會驗證這個簽章,確保只有正版 AP 韌體映像檔可以寫入 AP 的開機韌體快閃晶片。這項驗證程序可防範攻擊,避免攻擊者安裝持續性後門程式,或導致平台無法開機。如果 CPU 的微碼驗證機制存在安全漏洞,簽章驗證也能為 Google 平台提供深度防禦。

後續步驟

進一步瞭解開機完整性程序