信賴平臺模組，或受信任的平臺模組（，縮寫：TPM），是一項的國際標準，旨在使用裝置中整合的專用微控制器（安全硬體）處理裝置中的加密金鑰。TPM 的由稱為（TCG）的資訊業聯合體編寫。國際標準化組織（ISO）和國際電工委員會（IEC）已於 2009 年將規範標準化為 ISOIEC 11889。 中華人民共和國商用密碼產品銷售管理以前規定「任何單位或個人不得銷售境外的密碼產品」，因此早期市場銷售的資訊裝置不搭載 TPM。 歷史 可信平臺模組（TPM）由一個名為（TCG）的資訊業聯合體構思。它發展成為《TPM 主要規範版本 12》，該規範於 2009 年由國際標準化組織（ISO）和國際電工委員會（IEC）標準化，編號為 ISOIEC 118892009。《TPM 主要規範版本 12》版本修訂 116 於 2011 年 3 月 3 日完成修訂並最終確定。 2014 年 4 月 9 日，宣佈對其規範進行重大升級，命名為《TPM 庫規範 20》。該組織繼續致力於該標準的工作，包括勘誤表、演算法新增和新命令，其最新版本於 2019 年 11 月釋出，版本號為 20。該版本成為 ISOIEC 118892015 標準。 當新版本釋出時，可信計算組織將其分為多個部分。每個部分都包含一個文件，這些文件構成了新 TPM 規範的全部內容。 第 1 部分：架構（更名自 設計原則） 第 2 部分：TPM 的結構 第 3 部分：命令 第 4 部分：支援例程（增加於 TPM 20） 概述 可信平臺模組（TPM）提供： 硬體隨機數生成器。 用於安全生成有限用途的加密金鑰的設施。 遠端認證：建立硬體和軟體配置的幾乎不可偽造的雜湊金鑰摘要。可以使用雜湊值來驗證硬體和軟體是否已被更改。負責對設定進行雜湊處理的軟體決定摘要的範圍。 資料使用 TPM 繫結金鑰進行加密，TPM 繫結金鑰是從儲存金鑰派生的唯一 RSA 金鑰。包含 TPM 的計算機可以建立加密金鑰並對其進行加密，以便只有 TPM 才能解密它們。此過程通常稱為包裝或繫結金鑰，有助於保護金鑰不被洩露。每個 TPM 都有一個主包裝金鑰，稱為儲存根金鑰，它儲存在 TPM 本身中。使用者級 RSA 金鑰容器與特定使用者的 Windows 使用者配置檔案一起儲存，可用於加密和解密在該特定使用者身份下執行的應用程式的資訊。 指定要解密（解封）資料的 TPM 狀態。 其他可信計算功能，用於解密（解封）資料。 計算機程式可以使用 TPM 進行硬體裝置的身份驗證，因為每個 TPM 晶片在生產時都燒錄了一個唯一的金鑰背書金鑰 （EK）。嵌入硬體的安全性比純軟體解決方案提供了更多保護。在某些國家 地區，其使用受到限制。 用途 平臺完整性 TPM 的主要用途是確保平臺的完整性。在這種情況下，完整性 意味著 按預期執行，平臺 是指任何計算機裝置，無論其作業系統如何。這是為了確保引導過程從硬體和軟體的可信組合開始，並持續到作業系統完全啟動並執行應用程式。 當使用 TPM 時，韌體和作業系統負責確保完整性。 例如，統一可擴充套件韌體介面（UEFI）可以使用 TPM 來形成：TPM 包含多個平臺配置暫存器（PCR），允許安全儲存和報告與安全相關的指標。這些指標可用於檢測先前配置的更改並決定如何繼續。此類用例可以在 Linux 統一金鑰設定（LUKS）、 BitLocker 和 PrivateCore vCage 記憶體加密中找到。（見下文。） 透過 TPM 實現平臺完整性的另一個示例是使用 Microsoft Office 365 許可和 Outlook Exchange。 TPM 用於平臺完整性的另一個例子是（TXT），它建立了一個信任鏈。它可以遠端證明計算機正在使用指定的硬體和軟體。 磁碟加密 全磁碟加密實用程式（例如 dmcrypt）可以使用此技術來保護用於加密計算機儲存裝置的金鑰，併為包括韌體和引導扇區在內的可信引導路徑提供完整性身份驗證。 其他用途和問題 任何應用程式都可以將 TPM 晶片用於： 數字版權管理（DRM Windows Defender Windows 域登入 軟體許可的保護和執行 防止網路遊戲作弊 還存在其他用途，其中一些用途引發了隱私問題。TPM 的 物理存在 功能透過要求對諸如啟用、停用、清除或更改 TPM 所有權等操作進行 BIOSUEFI 級別的確認來解決其中一些問題，該確認由實際出現在機器控制檯的人員執行。 機構使用 美國國防部（DoD）規定 為支援國防部而採購的新計算機資產（例如，伺服器、桌上型電腦、筆記型電腦、瘦客戶端、平板電腦、智慧手機、個人數字助理、行動電話）將包括 TPM 12 或更高版本，其中（DISA）（STIG）要求，並且此類技術可用。 國防部預計 TPM 將用於裝置識別、身份驗證、加密和裝置完整性驗證。 TPM 實現 筆記型電腦 2006 年，開始銷售內建 TPM 晶片的新筆記型電腦。未來，這個概念可以與計算機中現有主機板晶片或可以使用 TPM 功能的任何其他裝置（例如手機）共存。在 PC 上，LPC 匯流排或序列外設介面（SPI）匯流排用於連線到 TPM 晶片。 （TCG）已經認證了由英飛凌科技、新唐科技和意法半導體制造的 TPM 晶片，並已將 TPM 供應商 ID 分配給超威半導體、愛特梅爾、博通、IBM、英飛凌、英特爾、聯想、美國國家半導體、Nationz Technologies、新唐科技、高通、瑞昱半導體、標準微系統公司、意法半導體、三星、Sinosun、德州儀器和華邦電子。 TPM 20 實現 TPM 20 有五種不同實現型別（按安全性從高到低排列）： 獨立 TPM 是在其自己的防篡改半導體封裝中實現 TPM 功能的專用晶片。它們是最安全的，通過了 FIPS140 認證，具有 3 級物理安全，相對於軟體中實現的例程，它們對攻擊的抵抗力更強，並且它們的封裝需要實現一定的防篡改能力。例如，汽車制動控制器中的 TPM 透過複雜的方法防止駭客入侵。 整合 TPM 是另一個晶片的一部分。雖然它們使用可以抵抗軟體錯誤的硬體，但它們不需要實現防篡改功能。英特爾已在其部分晶片組中集成了 TPM。 韌體 TPM（fTPM）是基於韌體（例如 UEFI）的解決方案，在 CPU 的可信執行環境中執行。英特爾、AMD 和高通已經實現了韌體 TPM。 虛擬 TPM（vTPM）由虛擬機器內部執行的軟體隱藏的隔離執行環境中的虛擬機器監控程式提供並依賴於該程式，以保護其程式碼免受虛擬機器中軟體的攻擊。它們可以提供與韌體 TPM 相當的安全級別。谷歌雲平臺已經實現了 vTPM。GCE Shielded VM Virtual Trusted Platform Module vTPM 軟體 TPM 是 TPM 的軟體模擬器，其執行時獲得的保護不超過作業系統中常規程式獲得的保護。它們完全依賴於執行環境，因此它們提供的安全性不超過正常執行環境可以提供的安全性。它們對於開發目的很有用。 開源實現 TPM 20 規範的官方 TCG 參考實現由微軟開發。它在 BSD 許可證下獲得許可，並且原始碼可在 GitHub 上獲得。 2018 年，英特爾開源了其可信平臺模組 20（TPM2）軟體棧，支援 Linux 和 Microsoft Windows。原始碼託管在 GitHub 上，並在 BSD 許可證下獲得許可。 英飛凌資助開發了一個開源 TPM 中介軟體，該中介軟體符合 TCG 的軟體棧（TSS）增強系統 API（ESAPI）規範。它由弗勞恩霍夫協會安全資訊科技研究所（SIT）開發。 IBM 的軟體 TPM 20 是 TCG TPM 20 規範的實現。它基於 TPM 規範第 3 部分和第 4 部分以及微軟捐贈的原始碼。它包含完成實現的其他檔案。原始碼託管在 SourceForge 和 GitHub 上，並在 BSD 許可證下獲得許可。 2022 年，AMD 宣佈，在某些情況下，他們的 fTPM 實現會導致效能問題。BIOS 更新中提供了修復程式。 TPM 12 與 TPM 20 雖然 TPM 20 涵蓋了許多相同的用例並具有相似的功能，但細節有所不同。TPM 20 不向後相容 TPM 12。 規範 TPM 12 TPM 20 架構 完整的規範旨在包含一個特定於平臺的保護配置檔案，該配置檔案引用了一個通用的三部分 TPM 12 庫。實際上，只為 TPM 12 建立了一個 PC 客戶端保護配置檔案。PDA 和蜂窩的保護配置檔案原本打算定義，但從未釋出。 完整的規範包含一個特定於平臺的規範，該規範引用了一個通用的四部分 TPM 20 庫。 特定於平臺的規範定義了該平臺的庫的哪些部分是強制性的、可選的或禁止的；並詳細說明了該平臺的其他要求。 特定於平臺的規範包括 PC 客戶端，移動裝置，和 AutomotiveThin。 演算法 SHA1 和 RSA 是必需的。 AES 是可選的。三重 DES 曾經是早期版本 TPM 12 中的可選演算法， 但已從 TPM 12 版本 103 中刪除。 PKCS1 中定義的 MGF1 基於雜湊的掩碼生成函式是必需的。 PC 客戶端平臺 TPM 配置檔案（PTP）規範要求使用 SHA1 和 SHA256 進行雜湊處理；RSA、使用 NIST P256 曲線的 ECC 用於公鑰密碼學和非對稱數字簽名生成和驗證；HMAC 用於對稱數字簽名生成和驗證；128 位 AES 用於 對稱金鑰演算法；TCG PC 客戶端平臺 TPM 配置檔案（PTP）規範要求使用 PKCS1 中定義的 MGF1 基於雜湊的掩碼生成函式。還定義了許多其他演算法，但它們是可選的。請注意，三重 DES 已新增到 TPM 20 庫中，但有限制以拒絕。此外，在早期版本中強制要求的、使用 BarretoNaehrig ECC 曲線的橢圓密碼學（ECDAA）在 PC 客戶端配置檔案版本 159 中已變為可選。 密碼原語 隨機數生成器、公鑰加密演算法、加密雜湊函式、掩碼生成函式、數字簽名 生成和驗證以及是必需的。對稱金鑰演算法和 異或 是可選的。金鑰生成也是必需的。 TCG PC 客戶端平臺 TPM 配置檔案（PTP）規範要求使用隨機數生成器、公鑰加密演算法、加密雜湊函式、對稱金鑰演算法、數字簽名生成和驗證、掩碼生成函式和異或。對於 TCG PC 客戶端平臺 TPM 配置檔案（PTP）規範，使用 BarretoNaehrig 256 位曲線的基於 ECC 的是可選的。TPM 20 通用庫規範還要求金鑰生成和金鑰派生函式。 層級 一個（儲存） 三個（平臺、儲存和背書） 根金鑰 一個（SRK RSA2048） 每個層級多個金鑰和演算法 授權 HMAC、PCR、區域性性、物理存在 密碼、HMAC 和策略（涵蓋 HMAC、PCR、區域性性和物理存在）。 NVRAM 非結構化資料 非結構化資料、計數器、點陣圖、擴充套件、PIN 透過與否。 TPM 20 策略授權包括 12 HMAC、區域性性、物理存在和 PCR。它添加了基於非對稱數字簽名的授權、對另一個授權金鑰的間接授權、計數器和時間限制、NVRAM 值、特定命令或命令引數以及物理存在。它允許對這些授權原語進行 AND 和 OR 運算以構建複雜的授權策略。 接受度 中華人民共和國商用密碼產品銷售管理以前規定「任何單位或個人不得銷售境外的密碼產品」，因此早期市場銷售的資訊裝置不搭載 TPM。2005 年前後，中國開始推行國產密碼技術 TCM 系統（Trusted Cryptographic Module）。 （TCG）在某些領域推廣這項技術時遇到了阻力，一些作者認為這項技術可能存在與可信計算無關的用途，這可能會引發隱私問題。這些擔憂包括濫用軟體遠端驗證來決定允許執行哪些軟體，以及可能以使用者完全無法察覺的方式將使用者採取的操作記錄到資料庫中。 TrueCrypt 磁碟加密實用程式及其衍生產品 VeraCrypt 不支援 TPM。最初的 TrueCrypt 開發人員認為，TPM 的唯一目的是 防止需要攻擊者擁有管理員許可權或物理訪問計算機的攻擊。對計算機擁有物理或管理訪問許可權的攻擊者可以繞過 TPM，例如，透過安裝硬體擊鍵記錄器、重置 TPM 或捕獲記憶體內容並檢索 TPM 發出的金鑰。譴責性文字甚至聲稱 TPM 完全是多餘的。VeraCrypt 釋出者複製了最初的說法，除了將 TrueCrypt 替換為 VeraCrypt 之外沒有任何更改。作者的觀點是正確的，即在獲得不受限制的物理訪問許可權或管理員許可權後，繞過現有的其他安全措施只是時間問題。但是，阻止擁有管理員許可權的攻擊者從來都不是 TPM 的目標之一（有關詳細資訊，請參閱），並且 TPM 可以阻止某些物理篡改。 2015 年，理查德斯托曼建議將 可信計算 一詞替換為 背叛計算，因為如果密碼金鑰對使用者保密，則計算機可能會被設定為系統地不服從其所有者。他還認為，2015 年用於 PC 的 TPM 目前並不危險，並且沒有理由不在計算機中包含 TPM 或在軟體中支援 TPM，因為業界嘗試使用該技術進行 DRM 的嘗試失敗了，但 2022 年釋出的 TPM2 正是他警告過的 背叛計算 威脅。 攻擊 2010 年，在黑帽大會上展示了針對 TPM 的攻擊，他聲稱能夠從單個 TPM 中提取秘密。在對 Infineon SLE 66 CL PC 插入探針並監視內部匯流排進行 6 個月的研究後，他成功實現了這一點。 如果存在物理訪問許可權，則配備 TPM 12 的計算機容易受到冷啟動攻擊，只要系統處於開啟狀態或可以在不輸入密碼的情況下從關機、睡眠或休眠狀態啟動即可，這是使用 BitLocker 全磁碟加密的 Windows 計算機的預設設定。有人提出了一種修復方法，該方法已在 TPM 20 規範中採用。 2009 年，TPM 12 中共享授權資料的概念被發現存在缺陷。獲得資料訪問許可權的攻擊者可以欺騙來自 TPM 的響應。有人提出了一種修復方法，該方法已在 TPM 20 規範中採用。 2015 年，作為的一部分，據透露，美國中央情報局的一個團隊在 2010 年的一次內部會議上聲稱，他們對 TPM 進行了差分功率分析攻擊，併成功提取了秘密。 2017 年 11 月之前的主要行版都受到測量動態信任根（DRTM）攻擊的影響，該攻擊會影響在上執行啟動例程的計算機。 2018 年，有人報告了用於測量靜態信任根（SRTM）的 TPM 20 規範中的一個設計缺陷。它允許攻擊者重置和偽造平臺配置暫存器，這些暫存器旨在安全地儲存用於啟動計算機的軟體測量值。修復它需要特定於硬體的韌體補丁。攻擊者濫用電源中斷和 TPM 狀態恢復來欺騙 TPM，使其誤以為它在未被篡改的元件上執行。 2021 年，Dolos Group 展示了對獨立 TPM 的攻擊，其中 TPM 晶片本身具有一定的防篡改能力，但其通訊匯流排的其他端點卻沒有。他們在全磁碟加密金鑰透過主機板傳輸時讀取了它，並使用它解密了筆記型電腦的 SSD。 2017 年弱金鑰生成爭議 2017 年 10 月，據報道，由英飛凌開發並在其 TPM 中廣泛使用的程式碼庫包含一個名為 ROCA 的漏洞，該漏洞會生成弱 RSA 金鑰對，從而允許從公鑰推斷出私鑰。因此，所有依賴此類弱金鑰的隱私的系統都容易受到攻擊，例如身份盜竊或欺騙。 將加密金鑰直接儲存在 TPM 中而不進行的密碼系統可能特別容易受到此類攻擊，因為如果攻擊者可以提取加密金鑰，則密碼和其他因素將毫無意義。 英飛凌已向使用其 TPM 的製造商釋出了韌體更新。 可用性 目前，幾乎所有 PC 和筆記型電腦製造商都在其產品中提供了 TPM。 TPM TPM 由多家供應商提供： 英飛凌提供 TPM 晶片和 TPM 軟體，它們作為 OEM 版本隨新計算機一起交付，英飛凌還單獨提供符合 TCG 標準的 TPM 技術產品。例如，英飛凌在 2004 年向 Broadcom 公司授權了 TPM 管理軟體。 微芯（前身為 Atmel）製造的 TPM 裝置聲稱符合可信平臺模組規範 12 版修訂版 116，並提供多種介面（LPC、SPI 和 I2C）、模式（FIPS 1402 認證和標準模式）、溫度等級（商用和工業級）和封裝（TSSOP 和 QFN）。 其 TPM 支援 PC 和嵌入式裝置。它還提供 TPM 開發套件，以支援將其 TPM 裝置整合到各種嵌入式設計中。 新唐科技為 PC 應用提供 TPM 裝置。新唐還透過 I2C 和 SPI 主機介面為嵌入式系統和物聯網（IoT）應用提供 TPM 裝置。新唐的 TPM 符合共同準則（CC），保證等級為 EAL 4，並增加了 ALC_FLR1、AVA_VAN4 ALC_DVS2，等級為 2，物理安全性和 EMIEMC 等級為 3，並符合的要求，所有這些都在一個裝置中得到支援。華邦電子生產的 TPM 現在是新唐的一部分。 意法半導體自 2005 年以來一直為 PC 平臺和嵌入式系統提供 TPM。產品包括具有多個介面的獨立裝置，支援序列外設介面（SPI）和 I²C 以及不同的認證等級（消費級、工業級和汽車級）。TPM 產品已透過共同準則（CC）認證 EAL4，並增加了 ALC_FLR1 和 AVA_VAN5， 2 級認證，物理安全等級為 3，並且還通過了（TCG）認證。 還有混合型別；例如，TPM 可以整合到乙太網控制器中，從而無需單獨的主機板元件。 現場升級 現場升級是 TCG 用於更新 TPM 韌體的術語。更新可以在 TPM 12 和 TPM 20 之間，或在韌體版本之間進行。一些供應商限制了 12 和 20 之間的轉換次數，而一些供應商則限制回滾到以前的版本。平臺 OEM（如惠普）提供升級工具。 自 2016 年 7 月 28 日起，所有新的 Microsoft 裝置型號、系列或系列（或透過重大更新（如 CPU、顯示卡）更新現有型號、系列或系列的硬體配置）都預設實現並啟用了 TPM 20。 雖然 TPM 12 部件是獨立的矽元件，通常焊接到主機板上，但 TPM 20 可以作為獨立的（dTPM）矽元件在一個半導體封裝中使用，也可以作為整合元件併入一個或多個半導體封裝中 與同一封裝中的其他邏輯單元一起使用，還可以作為基於韌體（fTPM）的元件在通用片上系統（SoC）上的可信執行環境（TEE）中執行。 虛擬 TPM Google 計算引擎將虛擬化 TPM（vTPM）作為 Google Cloud 的 Shielded VM 產品的一部分提供。 libtpms 庫提供了可信平臺模組（TPM 12 和 TPM 20）的軟體模擬。它的目標是將 TPM 功能整合到虛擬機器管理程式中，主要是整合到 Qemu 中。 作業系統 Windows 11 要求 TPM 20 支援作為最低系統要求。 Location Université de Rennes 1 Campus de Beaulieu IRISAInria Rennes 263 avenue du Général Leclerc 35042 RENNES cedex 在許多系統上，TPM 預設情況下是停用的，需要更改計算機 UEFI 中的設定才能啟用它。 Windows 8 及更高版本原生支援 TPM 20。 Windows 7 可以安裝官方補丁以新增 TPM 20 支援。 從 Windows Vista 到 Windows 10 都原生支援 TPM 12。 Linux 核心自 320 版本（2012 年）起就支援可信平臺模組 20（TPM 20 平臺 谷歌在其安全模型中將 TPM 包含在 Chromebook 中。 甲骨文在其 X 系列和 T 系列系統（如 T3 或 T4 系列伺服器）中提供 TPM。Solaris 11 中包含對此的支援。 2006 年，隨著首批採用英特爾處理器的 Macintosh 機型的推出，蘋果開始在 Mac 中配備 TPM。蘋果從未提供過官方驅動程式，但有一個 GPL 下的埠可用。 自 2006 年以來，蘋果就沒有推出過配備 TPM 的計算機。 2011 年，臺灣製造商微星推出了其 Windpad 110W 平板電腦，該平板電腦配備了 AMD CPU 和英飛凌安全平臺 TPM，並預裝了 37 版控制軟體。該晶片預設情況下處於停用狀態，但可以使用隨附的預安裝軟體啟用。 虛擬化 VMware ESXi 虛擬機器管理程式自 4x 版本開始支援 TPM，從 50 版本開始預設啟用。 Xen 虛擬機器管理程式支援虛擬化 TPM。每個 guest 都獲得其自己唯一的、模擬的軟體 TPM。 KVM 與 QEMU 結合使用，支援虛擬化 TPM。，它支援將物理 TPM 晶片直通到單個專用 guest。2017 年 12 月釋出的 QEMU 211 還為 guest 提供了模擬 TPM。 VirtualBox 從 2022 年 10 月釋出的 70 版本開始支援虛擬 TPM 12 和 20 裝置。 軟體 微軟作業系統 Windows Vista 及更高版本將該晶片與其包含的名為 BitLocker 的磁碟加密元件結合使用。微軟曾宣佈，從 2015 年 1 月 1 日起，所有計算機都必須配備 TPM 20 模組才能透過 Windows 81。但是，在 2014 年 12 月對 Windows 認證計劃的審查中，這成為了一項可選要求。但是，系統需要 TPM 20。 從 Windows 10 1511 和 Windows Server 2016 開始，在 HyperV 上執行的虛擬機器可以擁有自己的虛擬 TPM 模組。 Microsoft Windows 包含兩個與 TPM 相關的命令：（可用於檢索有關 TPM 資訊的實用程式）和（允許在計算機上建立和刪除 TPM 虛擬智慧卡的命令列工具）。tpmtool Microsoft Docstpmvscmgr Microsoft Docs 參見 硬體安全 硬體安全模組 下一代安全計算基礎 可信計算 統一可延伸韌體介面（UEFI） 威脅模型分析 參考資料 外部連結 K Category 電腦安全 CategoryISO 標準 Category 密碼硬體 Category 計算機硬體標準 Category 密碼學標準 Category 可信賴運算