Remove ads
安全密码处理器的国际标准 来自维基百科,自由的百科全书
信賴平台模組,或受信任的平台模組(英語:Trusted Platform Module,縮寫:TPM),是一項安全密碼處理器的國際標準,旨在使用裝置中整合的專用微控制器(安全硬體)處理裝置中的加密金鑰。TPM的技術規範由稱為可信計算組織(TCG)的資訊業聯合體編寫。國際標準化組織(ISO)和國際電工委員會(IEC)已於2009年將規範標準化為ISO/IEC 11889[1]。
中華人民共和國商用密碼產品銷售管理以前規定「任何單位或個人不得銷售境外的密碼產品」,因此早期市場銷售的資訊裝置不搭載TPM。[2]
信賴平台模組(TPM)由一個名為可信計算組織(TCG)的資訊業聯合體構思。它發展成為《TPM主要規範版本1.2》(英語:TPM Main Specification Version 1.2),該規範於 2009 年由國際標準化組織(ISO)和國際電工委員會(IEC)標準化,編號為ISO/IEC 11889:2009。[3]《TPM主要規範版本1.2》版本修訂116於2011年3月3日完成修訂並最終確定。[4][5]
2014 年4月9日,可信計算組織宣布對其規範進行重大升級,命名為《TPM媒體櫃規範2.0》(英語:TPM Library Specification 2.0)。[6]該組織繼續致力於該標準的工作,包括勘誤表、演算法添加和新命令,其最新版本於2019年11月發布,版本號為2.0。[7]該版本成為ISO/IEC 11889:2015標準。
當新版本發布時,可信計算組織將其分為多個部分。每個部分都包含一個文件,這些文件構成了新TPM規範的全部內容。
信賴平台模組(TPM)提供:
電腦程式可以使用TPM進行硬體裝置的身分驗證,因為每個TPM晶片在生產時都燒錄了一個唯一的金鑰背書金鑰 (EK)。嵌入硬體的安全性比純軟體解決方案提供了更多保護。[15]在某些國家/地區,其使用受到限制。[16]
TPM的主要用途是確保平台的完整性。在這種情況下,「完整性」意味著「按預期執行」,「平台」是指任何電腦裝置,無論其作業系統如何。這是為了確保引導過程從硬體和軟體的可信組合開始,並持續到作業系統完全啟動並執行應用程式。
當使用TPM時,韌體和作業系統負責確保完整性。
例如,統一可延伸韌體介面(UEFI)可以使用TPM來形成信任根:TPM包含多個平台組態暫存器(PCR),允許安全儲存和報告與安全相關的指標。這些指標可用於檢測先前組態的更改並決定如何繼續。此類用例可以在Linux統一金鑰設定(LUKS)、 [17]BitLocker[18]和PrivateCore vCage主記憶體加密中找到。(見下文。)
通過TPM實現平台完整性的另一個範例是使用Microsoft Office 365許可和Outlook Exchange。[19]
TPM 用於平台完整性的另一個例子是可信執行技術(TXT),它建立了一個信任鏈。它可以遠端證明電腦正在使用指定的硬體和軟體。[20]
全磁碟加密實用程式(例如dm-crypt)可以使用此技術來保護用於加密電腦儲存裝置的金鑰,並為包括韌體和引導磁區在內的可信引導路徑提供完整性身分驗證。[21]
任何應用程式都可以將TPM晶片用於:
還存在其他用途,其中一些用途引發了隱私問題。TPM的「物理存在」功能通過要求對諸如啟用、停用、清除或更改 TPM 所有權等操作進行 BIOS/UEFI 級別的確認來解決其中一些問題,該確認由實際出現在機器控制台的人員執行。[24][25]
美國國防部(DoD)規定「為支援國防部而採購的新電腦資產(例如,伺服器、桌上型電腦、筆記型電腦、瘦客戶端、平板電腦、智慧型手機、個人數字助理、行動電話)將包括TPM 1.2或更高版本,其中國防資訊系統局(DISA)安全技術實施指南(STIG)要求,並且此類技術可用。」國防部預計TPM將用於裝置辨識、身分驗證、加密和裝置完整性驗證。[26]
2006年,開始銷售內建TPM晶片的新筆記型電腦。未來,這個概念可以與電腦中現有主機板晶片或可以使用 TPM 功能的任何其他裝置(例如手機)共存。在PC上,LPC匯流排或串行外設介面(SPI)匯流排用於連接到TPM晶片。
可信計算組織(TCG)已經認證了由英飛凌科技、新唐科技和意法半導體製造的TPM晶片,[27]並已將TPM供應商ID分配給超威半導體、愛特梅爾、博通、IBM、英飛凌、英特爾、聯想、美國國家半導體、Nationz Technologies、新唐科技、高通、瑞昱半導體、標準微系統公司、意法半導體、三星、Sinosun、德州儀器和華邦電子。[28]
TPM 2.0有五種不同實現類型(按安全性從高到低排列):[29][30]
TPM 2.0規範的官方TCG參考實現由微軟開發。它在BSD許可證下獲得許可,並且原始碼可在GitHub上獲得。[34]
2018 年,英特爾開源了其信賴平台模組2.0(TPM2)軟體棧,支援Linux和Microsoft Windows。[35]原始碼代管在GitHub上,並在BSD許可證下獲得許可。[36][37]
英飛凌資助開發了一個開源TPM中介軟體,該中介軟體符合TCG的軟體棧(TSS)增強系統API(ESAPI)規範。[38]它由弗勞恩霍夫協會安全資訊科技研究所(SIT)開發。[39]
IBM的軟體TPM 2.0是TCG TPM 2.0規範的實現。它基於TPM規範第3部分和第4部分以及微軟捐贈的原始碼。它包含完成實現的其他檔案。原始碼代管在 SourceForge[40] 和 GitHub[41] 上,並在 BSD 許可證下獲得許可。
2022 年,AMD宣布,在某些情況下,他們的fTPM實現會導致效能問題。BIOS更新中提供了修復程式。[42][43]
雖然TPM 2.0涵蓋了許多相同的用例並具有相似的功能,但細節有所不同。TPM 2.0不向下相容TPM 1.2。[44][45][46]
規範 | TPM 1.2 | TPM 2.0 |
---|---|---|
架構 | 完整的規範旨在包含一個特定於平台的保護設定檔,該設定檔參照了一個通用的三部分TPM 1.2 媒體櫃。[5]實際上,只為TPM 1.2建立了一個PC客戶端保護設定檔。PDA和蜂窩的保護設定檔原本打算定義,[5]但從未發布。 | 完整的規範包含一個特定於平台的規範,該規範參照了一個通用的四部分TPM 2.0媒體櫃。[47][7] 特定於平台的規範定義了該平台的媒體櫃的哪些部分是強制性的、可選的或禁止的;並詳細說明了該平台的其他要求。[47] 特定於平台的規範包括PC客戶端,[48]行動裝置,[49]和Automotive-Thin。[50] |
演算法 | SHA-1和RSA是必需的。[51] AES 是可選的。[51]三重DES曾經是早期版本TPM 1.2中的可選演算法,[52] 但已從TPM 1.2版本103中刪除。[53] PKCS#1中定義的MGF1基於雜湊的遮罩生成函式是必需的。[51] | PC客戶端平台TPM設定檔(PTP)規範要求使用SHA-1和SHA-256進行雜湊處理;RSA、使用NIST P-256曲線的ECC用於公鑰密碼學和非對稱數位簽章生成和驗證;HMAC 用於對稱數位簽章生成和驗證;128位元AES用於 對稱金鑰演算法;TCG PC客戶端平台 TPM 設定檔(PTP)規範要求使用PKCS#1中定義的MGF1基於雜湊的遮罩生成函式。[54]還定義了許多其他演算法,但它們是可選的。[55]請注意,三重DES已添加到 TPM 2.0媒體櫃中,但有限制以拒絕弱金鑰。[56]此外,在早期版本中強制要求的、使用 Barreto-Naehrig ECC曲線的橢圓密碼學直接匿名證明(ECDAA)在PC客戶端設定檔版本 1.59 中已變為可選。[54] |
密碼原語 | 亂數生成器、公鑰加密演算法、加密雜湊函式、遮罩生成函式、數位簽章 生成和驗證以及直接匿名證明是必需的。[51]對稱金鑰演算法和 互斥或 是可選的。[51]金鑰生成也是必需的。[57] | TCG PC客戶端平台TPM設定檔(PTP)規範要求使用亂數生成器、公鑰加密演算法、加密雜湊函式、對稱金鑰演算法、數位簽章生成和驗證、遮罩生成函式和互斥或。[54]對於TCG PC客戶端平台TPM設定檔(PTP)規範,使用Barreto–Naehrig 256位曲線的基於ECC的直接匿名證明是可選的。[54]TPM 2.0通用媒體櫃規範還要求金鑰生成和金鑰衍生函式。[58] |
層級 | 一個(儲存) | 三個(平台、儲存和背書) |
根金鑰 | 一個(SRK RSA-2048) | 每個層級多個金鑰和演算法 |
授權 | HMAC、PCR、局部性、物理存在 | 密碼、HMAC和策略(涵蓋 HMAC、PCR、局部性和物理存在)。 |
NVRAM | 非結構化資料 | 非結構化資料、計數器、點陣圖、擴充、PIN通過與否。 |
TPM 2.0策略授權包括1.2 HMAC、局部性、物理存在和PCR。它添加了基於非對稱數位簽章的授權、對另一個授權金鑰的間接授權、計數器和時間限制、NVRAM值、特定命令或命令參數以及物理存在。它允許對這些授權原語進行AND和OR運算以構建複雜的授權策略。[59]
中華人民共和國商用密碼產品銷售管理以前規定「任何單位或個人不得銷售境外的密碼產品」,因此早期市場銷售的資訊裝置不搭載TPM。[2]2005年前後,中國開始推行國產密碼技術TCM系統(Trusted Cryptographic Module)。[60]
可信計算組織(TCG)在某些領域推廣這項技術時遇到了阻力,一些作者認為這項技術可能存在與可信計算無關的用途,這可能會引發隱私問題。這些擔憂包括濫用軟體遠端驗證來決定允許執行哪些軟體,以及可能以使用者完全無法察覺的方式將使用者採取的操作記錄到資料庫中。[61]
TrueCrypt磁碟加密實用程式及其衍生產品VeraCrypt不支援TPM。最初的TrueCrypt開發人員認為,TPM的唯一目的是「防止需要攻擊者擁有管理員權限或物理訪問電腦的攻擊」。對電腦擁有物理或管理存取權限的攻擊者可以繞過TPM,例如,通過安裝硬體擊鍵記錄器、重設TPM或擷取主記憶體內容並檢索TPM發出的金鑰。譴責性文字甚至聲稱TPM完全是多餘的。[62]VeraCrypt發布者複製了最初的說法,除了將「TrueCrypt」替換為「VeraCrypt」之外沒有任何更改。[63]作者的觀點是正確的,即在獲得不受限制的物理存取權限或管理員權限後,繞過現有的其他安全措施只是時間問題。[64][65]但是,阻止擁有管理員權限的攻擊者從來都不是TPM的目標之一(有關詳細資訊,請參閱§ 用途),並且TPM可以阻止某些物理篡改。[17][20][23][24][25]
2015 年,理察·斯托曼建議將「可信計算」一詞替換為「背叛計算」,因為如果密碼金鑰對使用者保密,則電腦可能會被設定為系統地不服從其所有者。他還認為,2015年用於PC的TPM目前並不危險,並且沒有理由不在電腦中包含TPM或在軟體中支援TPM,因為業界嘗試使用該技術進行DRM的嘗試失敗了,但2022年發布的TPM2正是他警告過的「背叛計算」威脅。[66]
2010年,克里斯多福·塔爾諾夫斯基在黑帽大會上展示了針對TPM的攻擊,他聲稱能夠從單個TPM中提取秘密。在對Infineon SLE 66 CL PC插入探針並監視內部匯流排進行6個月的研究後,他成功實現了這一點。[67][68]
如果存在物理存取權限,則配備TPM 1.2的電腦容易受到冷啟動攻擊,只要系統處於開啟狀態或可以在不輸入密碼的情況下從關機、睡眠或休眠狀態啟動即可,這是使用BitLocker全磁碟加密的Windows電腦的預設設定。[69]有人提出了一種修複方法,該方法已在TPM 2.0規範中採用。
2009 年,TPM 1.2中共享授權資料的概念被發現存在缺陷。獲得資料存取權限的攻擊者可以欺騙來自TPM的回應。[70]有人提出了一種修複方法,該方法已在TPM 2.0規範中採用。
2015年,作為史諾登事件的一部分,據透露,美國中央情報局的一個團隊在2010年的一次內部會議上聲稱,他們對TPM進行了差分功率分析攻擊,並成功提取了秘密。[71][72]
2017年11月之前的主要可信啟動行版都受到測量動態信任根(DRTM)攻擊(CVE-2017-16837)的影響,該攻擊會影響在英特爾可信執行技術(TXT)上執行啟動常式的電腦。[73]
2018年,有人報告了用於測量靜態信任根(SRTM)的TPM 2.0規範中的一個設計缺陷(CVE-2018-6622)。它允許攻擊者重設和偽造平台組態暫存器,這些暫存器旨在安全地儲存用於啟動電腦的軟體測量值。[74]修復它需要特定於硬體的韌體修補程式。[74]攻擊者濫用電源中斷和TPM狀態恢復來欺騙TPM,使其誤以為它在未被篡改的組件上執行。[73]
2021年,Dolos Group展示了對獨立TPM的攻擊,其中TPM晶片本身具有一定的防篡改能力,但其通訊匯流排的其他端點卻沒有。他們在全磁碟加密金鑰通過主機板傳輸時讀取了它,並使用它解密了筆記型電腦的SSD。[75]
2017年10月,據報道,由英飛凌開發並在其TPM中廣泛使用的程式碼媒體櫃包含一個名為ROCA的漏洞,該漏洞會生成弱RSA金鑰對,從而允許從公鑰推斷出私鑰。因此,所有依賴此類弱金鑰的隱私的系統都容易受到攻擊,例如身分盜竊或欺騙。[76]
將加密金鑰直接儲存在TPM中而不進行盲化的密碼系統可能特別容易受到此類攻擊,因為如果攻擊者可以提取加密金鑰,則密碼和其他因素將毫無意義。[77]
英飛凌已向使用其TPM的製造商發布了韌體更新。[78]
目前,幾乎所有PC和筆記型電腦製造商都在其產品中提供了TPM。
TPM 由多家供應商提供:
現場升級是TCG用於更新TPM韌體的術語。更新可以在TPM 1.2和TPM 2.0之間,或在韌體版本之間進行。一些供應商限制了1.2和2.0之間的轉換次數,而一些供應商則限制轉返到以前的版本。[來源請求]平台OEM(如惠普)[88]提供升級工具。
自2016年7月28日起,所有新的Microsoft裝置型號、系列或系列(或通過重大更新(如 CPU、顯示卡)更新現有型號、系列或系列的硬體組態)都預設實現並啟用了TPM 2.0。
雖然TPM 1.2部件是獨立的矽組件,通常焊接到主機板上,但TPM 2.0可以作為獨立的(dTPM)矽組件在一個半導體封裝中使用,也可以作為整合組件併入一個或多個半導體封裝中——與同一封裝中的其他邏輯單元一起使用,還可以作為基於韌體(fTPM)的組件在通用片上系統(SoC)上的可信執行環境(TEE)中執行。[89]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.