Trusted Computing and DRM

作者:

1  Introduction

可信計算是計算機安全性的一個特殊分支。計算機安全性的一個分支涉及保護系統免受外部攻擊。在該分支中,我們包括系統所有者針對外部攻擊者使用的所有方法,例如防火牆,IDS,IPS等。在所有這些情況下,系統所有者都安裝了使用自己的手段來確定遠程用戶是否惡意的軟件。並終止攻擊。 (這種方法可能非常簡單,例如檢測攻擊的跡象,或者非常複雜,例如機器學習和檢測遠程用戶使用模式中的異常)。
攻擊的另一分支要求系統所有者保護內部用戶免遭攻擊。
此類攻擊包括阻止用戶讀取彼此的數據,使用超出其分配的資源份額的資源等。在某種程度上,此處還包含防病毒/反垃圾郵件軟件。該分支中包括所有密碼保護和使用的管理軟件。
第三分支是可信計算,涉及驗證遠程主機用戶計算機將以某種可預測的方式運行,即針對計算機的當前所有者的保護。此類要求的最常見示例是數字媒體的分發。數字媒體以某種條件訪問模式分發(出租,按次付費,出售給個人使用,等等)。獲取數字媒體通常不會賦予用戶無限的權利。用戶通常可能不會重新分發或編輯數字媒體,甚至可能不允許在某個日期之後自己消費數字媒體。 (媒體租金,按次計費)但是,由於用戶正在使用其私人計算機上的媒體。媒體提供者如何才能向自己保證惡意用戶不會篡改機器,從而不會複製內容?針對計算機所有者的安全性問題是可信計算的問題區域。在與其他安全分支相對的可信計算中,“攻擊者”不僅限於暴露給他的某些攻擊面,還可以使用烙鐵敲入總線,更換芯片和其他系統部件等。
可信計算還包括針對當前所有者(或計算機所有者,如果不是合法所有者)的其他保護工具。例如,對可能被盜的筆記本電腦和手機的敏感數據或磁盤加密解決方案的保護。
可信計算也可以在雲上使用,以確保主機不檢查雲服務器並且服務器上運行的軟件沒有被盜。最新的可信計算技術涉及確保命令理智且無惡意的手段,例如在汽車和航空電子設備的計算機中。在本章中,我們將從多個來源回顧DRM和可信計算解決方案。

2  Ethics – Trusted or Treacherous computing

用戶不喜歡受信任的計算。
首先,有條件訪問的概念引發了衆多數字版權爭論。例如,如果我合法購買了內容,是否不應該允許我備份這些內容?特別是由於目前沒有媒體供應商提議免費(甚至便宜)更換損壞的媒體內容!但是,如果我們允許複製媒體,那麼我們如何禁止非法複製呢?是什麼阻止用戶重新分發副本或“備份”?我們如何區分合法使用同一內容的副本(備份)和非法副本?
次要的,因爲許多受信任的計算設備要求用戶主動在其計算機上安裝某些東西(TPM芯片,EFI固件等)。而且,所述硬件組件根本不影響最終用戶系統功能(如果任何可信計算僅限制用戶)。用戶爲什麼會願意花錢在計算機上安裝一些硬件,而這些硬件只能限制她可以做什麼和不能做什麼?
由於所有這些原因,Richard Stallman稱其爲可信任計算的叛逆計算,而衆多黑客則嘗試對TPM芯片和可信任平臺進行攻擊。
在撰寫本章時,在這場技術之戰中還沒有明確的贏家。一方面,對於可信賴的計算解決方案而言,仍然沒有龐大的安裝基礎,另一方面,可信賴的計算團隊仍然存在,並且仍在發佈新的可信賴的平臺模塊和規格。

3  The Trusted Processing Module by TCG

如圖1所示,受信任的平臺模塊是一個單獨的計算機芯片,已添加到計算機主板中,並經常使用LPC(低引腳數)總線連接到CPU。 TPM是一種加密協處理器,它能夠執行多種加密功能以及生成和存儲密鑰。
TPM還可以驗證系統運行的硬件和軟件,並證明系統是否正常。
當遠程主機向系統查詢系統是否正常時,它可以使用TPM來驗證其運行的軟件未被篡改。 TPM支持兩種驗證方法:遠程驗證和直接匿名驗證。

3.1  Remote Attestation

TCG(TPM規範v1.1)提出的證明解決方案需要可信的第三方,即隱私證書頒發機構(privacy CA)。每個TPM都有一個稱爲“認可密鑰(EK)”的RSA密鑰對,嵌入在TPM內(用戶無法訪問–至少不容易。)爲了證明自己,TPM生成了一個新的RSA密鑰對(Attestation身份密鑰或AIK)。
遠程證明是典型的可信第三方過程。假設愛麗絲想證明鮑勃,而鮑勃想要被愛麗絲識別,但又不想彼此透露自己的私人識別碼,建議使用遠程證明。它需要一個雙方都可以信任的受信方。
Bob通過使用EK向受信任的第三方簽名公共AIK來證明自己。然後,受信任的第三方使用Bob的公開EK來驗證Bob。當然,如果CA同時使用同一密鑰接收到太多請求,則CA可能並且應該將TPM列入黑名單。愛麗絲以後可以與鮑勃(Bob)的CA一起進行驗證。

3.2 Direct Anonymous Attestation

直接匿名證明(以下稱爲DAA)協議僅在版本1.2中添加到TPM標準。 DAA基於三個實體和兩個步驟。實體是TPM平臺,DAA發行者和DAA驗證者。發行方負責在Join步驟中驗證TPM平臺並向該平臺頒發DAA憑據。平臺在“簽名”步驟中將DAA憑據與驗證程序一起使用。驗證者可以在不嘗試破壞平臺隱私的情況下驗證憑據(零知識證明[5,6])。該協議還支持黑名單功能,以便驗證者可以從已被破壞的TPM中識別證明。 DAA允許不同級別的隱私。使用DAA Interactions始終是匿名的,但是用戶/驗證者可以協商驗證者是否能夠(與同一用戶但不能與特定用戶)鏈接事務。驗證事務將允許在會話上保存持久性數據,並可以進行概要分析和跟蹤多個登錄名。

4 Intel TXT instructions

英特爾TXT技術爲CPU指令集定義了唯一的擴展,以允許可信執行[2]。 使用英特爾TXT,人們可以檢驗當前正在運行的硬件,操作系統和軟件,並確保穩定的(相對於被篡改的)系統狀態。 英特爾TXT使用TPM進行測量和加密功能,以證明第三者的身份,並確保當前正在運行的系統軟件或操作系統確實值得信賴且不受篡改。
TPM上的PCR寄存器包含各種系統階段和代碼的測量值和SHA-1哈希值,通過檢查和驗證這些測量值,可以信任該系統來啓動未篡改的軟件。

5 AMD/ARM Trustzone

AMD / ARM Trustzone是可信計算的ARM / AMD實現。 它大致對應於英特爾TXT。 AMD和ARM都使用Trustzone實現。 Trustzone允許例如使用AMD / ARM SVM加載已簽名的安全操作系統。

6 Other architectures for “Trusted computing”

這些體系結構提供了防止數據複製的方法,從而在各種系統上引入了信任。 在本章中,我們主要集中於視頻內容交付。 第3章介紹了用於防止遊戲機上的自制軟件和盜版軟件的不同系統(這是可信計算的另一種形式)。

6.1 HDMI and HDCP and its predecessors

視頻行業一直對混合目標感興趣:
1.它尋找將高質量視頻傳遞到用戶家中的方法。 通過電影院不再出現的視頻(視頻/ DVD租賃)產生新的收入來源。
2.它搜索了一些方法,以防止用戶通過製作非法副本獲得對所租借視頻設備的永久訪問權。
在某種程度上,這場戰鬥是失敗的開始,因爲用戶總是可以將標準相機指向屏幕,然後僅使用相機進行錄製(或者使用較早的,已經損壞的技術來創建低質量的副本)。 但是,業界對防止用戶製作高質量副本(例如HDMI情況下的數字質量副本)感興趣。
這種方法導致了幾種技術,其目的是規避用戶創建非法副本的能力

6.2 Macrovision

舊的VHS視頻設備具有macrovision設備,該設備通過將兩個視頻設備相互連接來阻止直接創建VHS媒體副本。
Macrovision設備以一種用戶不易察覺的方式修改了輸出流,但阻止VHS設備通過菊花鏈設備創建VHS盒式磁帶副本。

6.3 CSS and DeCSS and improvements

CSS或內容加擾系統是在所有主要DVD上使用的加密系統。
CSS是40位加密系統。
CSS的使用被認爲不可能將視頻內容直接從DVD複製到視頻。這樣做是因爲加密密鑰被保存在不可讀的位置(數據DVD播放器)。
CSS還允許DVD區域,Macrovision等使用。
DVD CSS在與DeCSS軟件一起被引入大約三年後,於1999年被打破。一個固有的錯誤被用來將密鑰從40位減少到只有16位,大多數玩家能夠用蠻力在不到1分鐘的時間內破解這種加密。
直到今天,兩位DeCSS作者仍然不爲人知。第三名是挪威少年:喬恩·萊希·約翰森(Jon Lech Johansen)。約翰森先生受到審判,並被挪威法院宣佈無罪。檢方提出上訴,約翰森先生第二次無罪釋放。
當DVD被藍光取代並且HD-DVD被CSS替換爲AACS(高級訪問內​​容系統,由於泄漏的密鑰而損壞)。

6.4 HDMI and HDCP

HDMI或高清媒體接口是一種高質量的媒體接口,可以將高質量的媒體傳輸到監視器和屏幕。 HDMI提出了創建精確或接近精確的視頻內容高質量副本的問題。
爲了避免複製內容,HDCP將加密在HDMI兩個端點之間傳播的內容,並且僅將內容提供給具有受信任密鑰的設備。 如果這些密鑰被盜,以後可以將其撤銷。
到2010年,HDCP的主密鑰已經泄露,使所有吊銷列表都變得無用。
吊銷密鑰可能使用了太多次,並且提供了足夠的數據,因此更容易破壞密鑰。

7 Other uses for trusted computing

攻擊者在最終用戶設備上獲得完全甚至部分控制後,可以對用戶進行幾次攻擊。 例如,攻擊者在獲得用戶筆記本電腦的控制權之後(例如,通過竊取它)可能會對用戶硬盤驅動器的內容產生興趣
這樣的可信計算內容保護方法涉及保護(加密)存儲的使用,前提是密鑰存儲在TPM上。

7.1 Microsoft Bitlocker and similar products

Microsoft Bitlocker是一種全磁盤加密解決方案,可以在計算機(尤其是筆記本電腦)上使用,以確保即使計算機/筆記本電腦被盜,打contents者也無法讀取磁盤內容。 完整的磁盤已加密,解密磁盤內容的密鑰不可讀,並保存在TPM上。

7.2 Protection on Mobile phone data

手機中包含私人數據,如果手機丟失或被盜,這些私人數據可能會被泄露。
各種來源已經產生了許多技術,從使用TPM和在設備上加密到更具有生物特徵的方法。
例如,蘋果使用iPhone設備上的指紋讀取設備來解鎖被盜手機。
其他技術包括殺死代碼,該代碼用於擦除設備並防止其再次連接到網絡。

8 Attacks on trusted computing

8.1 Reset Attacks on the TPM chip

TPM通常連接到LPC(低引腳數)總線。 遺留物減慢了幾乎所有PC上都存在的總線。 對此的攻擊已經存在了十多年。 最早發生在此總線上的攻擊之一發生在第一個XBox上。[9] 通過連接並竊聽LPC錯誤,一些黑客已經能夠攔截並重置TPM [8]。

8.2 Attacks on the implementation of TPM

Chris Tarnovsky在2010年[3]和2012年晚些時候[4]展示了英飛凌和意法半導體對TPM芯片的物理攻擊。 Tarnovsky通過消除TPM芯片的散熱外殼部分並攻擊(即連接外部設備)芯片本身來攻擊TPM。
Tarnovsky證明ST和Infineon芯片是由過去的老式處理器芯片製成的。 他證明了通過對芯片本身進行物理攻擊,他可以暴露和修改TPM芯片本身上的內容。
Tarnovsky的方法需要專門的實驗室,化學藥品和設備,而這可能並非每個黑客都可以觸及。 因此這絕對不是專業攻擊者和黑客所能及的。

8.3 Other attacks on trusted computing

英特爾CPU的功能之一是SMM或軟件維護模式。 SMM用於允許更新CPU代碼(微碼)。 SMM代碼的執行權限要比Intel平臺上的用戶,內核或管理程序代碼更高。 因此,SMM被認爲在權限環-2上運行(如果環3是用戶空間代碼,環0是內核代碼,環-1是管理程序)
Rafal Wojtczuk和Joanna Rutkowska已證明使用SMM打破了TXT限制[1]。 這些攻擊可能是英特爾取消對SGX擴展程序的支持的主要原因。
這些攻擊之所以可能,是因爲TXT保護會阻止第3環(用戶空間),0(內核)和-1(管理程序)的執行和每個任務,但是TXT內存防禦仍然容易受到使用SMM權限級別對Ring -2的攻擊 不需要任何特殊權限,即使在TPM證明操作系統之後也可以使用。

9 Beyond Trust – SGX

SGX或Software Guard Extension是Intel的一項創新技術,將在未來的芯片中實現。 SGX爲英特爾平臺上的可信計算問題提供了一種解決方案[2]。 SGX技術允許爲其中包含進程內存的每個進程創建執行容器。 這種方法類似於Qubes操作系統開發所採用的在應用程序之間使用管理程序代碼創建分隔的方法,因此不同的應用程序在不同的虛擬OS上運行[6]以及可信計算軟件(例如TrulyProtect),該軟件將虛擬機管理程序層的祕密保密 [7]。 在撰寫本章時,市面上的任何Intel CPU均不提供SGX(因此,沒有針對SGX的已知攻擊)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章