我使用經過驗證和測量的 TPM 2.0 啟動。現在我了解了主板的外部 TPM 模塊,這些模塊還沒有 TPM 模塊。我對這有多安全感到有些困惑。我認為攻擊向量可能如下所示:
- 在主板和 TPM 之間放置一個中間人設備,記錄每個發送的資料
通過這種方式,攻擊者可以竊取例如 windows bitlocker 密鑰。是否有任何方法可以防止此類攻擊?我也對主板上 TPM 模塊的安全性感興趣,因為可以進行相同的攻擊。如何將韌體測量到 TPM 中?這是否依賴于來自 TPM 的資料?
uj5u.com熱心網友回復:
是的,這種針對 TPM 的中間人攻擊是眾所周知的;描述它們的文章似乎有規律地出現,幾乎每年都會出現(請參閱此處了解最新文章)。
防范它們的方法是基于會話的加密。(請參閱此處的第 21 節)
展示最簡單的用例,其中會話不是授權會話且未系結到 TPM 物件:基本上,您將啟動一個加鹽會話,這將確保只有您和 TPM 可以訪問加鹽。攔截會話開始訊息無濟于事,因為鹽是用 TPM 密鑰加密的。
然后計算會話密鑰:
sessionKey ? KDFa(sessionAlg, salt, “ATH”, nonceTPM, nonceCaller, bits)
請注意,TPM 將不得不在其末尾解密鹽。用于加密訊息的 XOR 掩碼是這樣計算的:
mask ? KDFa (hashAlg, sessionKey, “XOR”, nonce1, nonce2, data.size ? 8)
然后通過與計算出的引數加密掩碼進行異或來加密受保護的資料。請注意,每個加密操作的掩碼都會不同,因為亂數會不斷重繪 。
還有一個選項可以在支持它的設備上使用 CFB 模式加密。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/350567.html
上一篇:如何撰寫路由以使用Flask接收內容安全策略報告而不會出現400BadRequest錯誤(flask_wtf.csrf.CSRFError)?
