可信賴運算
可信賴運算/可信用計算(Trusted Computing,TC)是一項由可信任運算組織(Trusted Computing Group,前稱為TCPA)推動和開發的技術。這個術語來源於可信系統(可信系統),並且有其特定含義。從技術角度來講,「可信的」(Trusted)未必意味着對使用者而言是「值得信賴的」(Trustworthy)。確切而言,它意味着可以充分相信其行為會更全面地遵循設計,而執行設計者和軟件編寫者所禁止的行為的概率很低。[1]
這項技術的擁護者稱它將會使電腦更加安全、更加不易被病毒和惡意軟件侵害,因此從終端使用者角度來看也更加可靠。此外,他們還宣稱可信賴運算將會使電腦和伺服器提供比現有更強的電腦安全性。而反對者認為可信賴運算背後的那些公司並不那麼值得信任,這項技術給系統和軟件設計者過多的權利和控制。他們還認為可信賴運算會潛在地迫使使用者的線上互動過程失去匿名性,並強制推行一些不必要的技術。最後,它還被看作著作權和著作權保護的未來版本,這對於公司和其他市場的使用者非常重要,同時這也引發了批評,引發了對不當審查(censorship)關注。
很多著名的安全專家[2][3]已經表明了對可信賴運算技術的反對,因為他們相信它將給電腦製造商和軟件作者更多限制使用者使用自己的電腦的能力。有一些人關注的則是可信賴運算可能(或者本身就是要)起到限制自由軟件市場、私有軟件開發和更一般化的整個IT市場競爭的作用。有些人,如理查德·斯托曼,因此給它起了一個惡名——背叛的計算(Treacherous computing)。[4]
微軟在Windows Vista中引入了可信計算。
信任的本質
與常規的信任的定義不同,安全專家將可信系統定義為:為保證較大系統的安全,而必須被信任的系統。例如,美國國防部將可信系統定義為:可以違反安全策略的系統;也就是說「一個因為你沒有選擇而必須信任的系統」。密碼學家Bruce Schneier認為「『可信』電腦並不意味着它是值得信賴的」。在這些定義下,硬碟控制器的使用者必須信任它,相信它在任何情況下都能夠誠實地將數據儲存到磁碟;安全網站的使用者必須信任它是安全的,因為使用者自己無法驗證。在安全領域的說法中信任總是一種折衷或者缺陷;有時根本無法避免,但這不是大家希望的。再作一個比喻,你最好的朋友無法共用你的醫療記錄,因為他沒有這些醫療記錄。而另一方面,你的醫生卻可以共用。有可能你信任自己的醫生並且認為他是一個好人;也有可能你們的鎮上只有一個醫生,而你只好信任他。
關於可信賴運算的主要爭論在於信任本身的含義。可信賴運算集團將技術信任描述為「如果一個實體的行為總是按照預期的方式和目標進行,那它就是可信的」。批評者將可信系統描述為一個你「被迫信任」的系統,而非是真正值得信賴的。
也有批評者認為,並非總是能夠檢驗可信賴運算依賴的硬件——可信平台模組,它是平台中最終的核心信任根所在硬件系統。如果實現有問題,它將給整個平台完整性及其保護的數據帶來安全威脅。可信賴運算集團的規範是開放的,任何人都可以審查,然而廠商實現的最終商業產品卻不一定會接受這樣的審查。
最後一個問題就是,密碼學的進步非常快,像可信賴運算這樣用硬件實現的演算法可能無意中造就了未來的廢棄物。
儘管贊成者聲稱可信賴運算增進了安全性,而批評者則反擊稱不僅安全得不到增強,可信賴運算還可能推動強制數字權限管理(DRM),傷害到使用者的私隱,並對使用者強加其他的限制。與可信賴運算相比,安全計算主要關注匿名性。安全計算的宣揚者聲稱,額外的安全性可以通過其它的方式獲得,而不必禁止使用者成為超級使用者獲得電腦的控制權。
可信賴運算的贊成者辯稱,私隱問題在現有的規範中已經解決——可能是對早期版本規範受到的批評而做的相應處理。終端使用者對於他們的可信平台模組的使用方法有很多種,然而,第三方可能強制使用一些特定的選項,從而無法體現使用者選擇的好處。
核心概念
可信賴運算包括5個核心技術概念,在一個完全可信的系統中它們都是必須的。
- 認證金鑰
- 安全輸入輸出
- 主記憶體封鎖/受保護執行
- 封裝儲存
- 遠端證明
安全輸入輸出(I/O)
安全輸入和輸出(I/O)指的是電腦使用者與他們認為與之進行互動的軟件間的受保護的路徑。在當前的電腦系統中,惡意軟件有很多途徑截取使用者與軟件行程間傳送的數據。例如,鍵盤監聽者(Keyboard Logger)和螢幕截取者(Screen Scraper)。安全I/O表現為受硬件和軟件保護和驗證的信道,採用校驗值來驗證進行輸入輸出的軟件沒有受到篡改。將自身注入到信道間的惡意軟件會被辨識出來。
儘管安全(I/O)提供針對軟件攻擊的防護,但它未必提供對基於硬件的攻擊的防護,例如物理插入使用者鍵盤和電腦間的裝置。
主記憶體封鎖
主記憶體封鎖擴充為當前的主記憶體保護技術,提供了對主記憶體敏感區域(如放置金鑰的區域)的全面隔離。甚至作業系統也無法訪問封鎖的主記憶體,所以其中的資訊在侵入者取得了OS的控制權的情況下仍然是安全的。
封裝儲存
封裝儲存從當前使用的軟件和硬件組態衍生出的金鑰,並用這個金鑰加密私有數據,從而實現對它的保護。這意味着該數據僅在系統擁有同樣的軟硬件組合的時候才能讀取。例如,使用者在他的電腦上儲存自己的日記,不希望其他的程式或電腦讀取。這樣一來,病毒可以尋找日記,讀取它,並將它發給其他人。Sircam 病毒所作的與此類似。即使日記使用了口令保護,病毒可能執行字典攻擊。病毒還可以修改使用者的日記軟件,使用者使用軟件打開日記時通過受篡改的軟件可能泄漏其中的內容。使用封裝儲存,日記被安全地加密,只有在該電腦上的未被修改的日記軟件才可以打開它。
遠端證明
遠端證明使得使用者或其他人可以檢測到該使用者的電腦的變化。這樣可以避免向不安全或安全受損的電腦傳送私有資訊或重要的命令。遠端證明機制通過硬件生成一個證書,聲明哪些軟件正在執行。使用者可以將這個證書發給遠端的一方以表明他的電腦沒有受到篡改。
遠端證明通常與公鑰加密結合來保證發出的資訊只能被發出證明要求的程式讀取,而非其它竊聽者。
再用上面日記的例子,使用者的日記軟件可以將日記傳送給其他的機器,但是只能發給那些能夠證明所執行的是一份安全的日記軟件。與其他的技術結合起來,遠端證明可以為日記提供一個更加安全的路徑:通過鍵盤輸入以及在螢幕顯示時受到安全I/O的保護,主記憶體封鎖在日記軟件執行時保護日記,而封裝儲存在它儲存到硬碟的時候保護它,並且遠端證明保護它在其它電腦使用時不受非授權軟件的破壞。
爭議問題
可信賴運算的反對者指出:保護電腦不受病毒和攻擊者影響的安全機制,同樣會限制其屬主的行為。他們指出這將使得強制性壟斷成為可能,從而會傷害那些購買可信賴運算機的人們。
劍橋大學的密碼學家Ross Anderson非常關切的一個問題是"可信賴運算可能支援遠端審查[...] 一般而言,支援可信賴運算的電腦系統的屬主所建立的數字對象將始終受到其控制,而非那些控制數字對象儲存在的電腦的人[...] 所以,如果有人寫了被法庭認定為誹謗的文章,作者將被迫進行審查—並且如果作者拒絕,編寫文書處理軟件的公司可能被命令刪除該文章。在這種可能之下,我們可以預料可信賴運算將被用於壓制包括色情文學到對政治領導人的批評在內的任何事"
他進一步講到:
[...]軟件提供者可以使得你很難轉而使用其競爭者的產品。簡單而言,Word可以加密你的所有文件,而金鑰只能由微軟的產品訪問;這意味着你只能使用微軟的產品讀取,而非其它競爭者的文書處理軟件。
[...]對微軟而言最重要的好處在於可信賴運算可以大規模增加從微軟產品(如Office)轉向使用其競爭產品(如Open Office)的代價。例如,現在如果一個律師事務所從Office轉向使用OpenOffice,那它將不得不安裝軟件,培訓僱員並轉換現有的檔案。在5年內,一旦他們收到來自於數以千計的客戶的可信賴運算保護的文件,他們將不得不從每個客戶處獲得許可(以簽章的數碼證書的形式),以將這些檔案遷移到新的平台。律師事務所實際上根本不想這樣做,所以他們被束縛得更深,這又使得微軟可以大規模提高價格。
Anderson總結道
最根本的問題在於控制可信賴運算基礎設施的人將取得巨大的權力。擁有這樣的權力就像是可以迫使所有人都使用同一個銀行、同一個會計或同一個律師。而這種權力能以多種形式被濫用。
使用者不能更換軟件
在日記的例子中,封裝儲存保護日記不受病毒等惡意程式的傷害,但它無法區分惡意程式與有用的程式(如將日記轉換為新格式的程式或提供對日記進行尋找新方法的程式)。如果使用者希望使用另外的日記程式,他將發現新日記程式不可能打開已有的日記,這樣,使用者就被「釘選」在舊的程式中。同樣,使用者如果未得到日記軟件的允許,他將無法讀取或修改自己的日記。如果他使用的日記軟件沒有編輯或刪除的選項,那就無法修改或刪除已有的日記條目。
遠端證明可能導致其他的問題。目前,儘管有些網站可能(故意)被格式化為僅有特定的瀏覽器能夠解讀其編碼,但網站仍然可以使用多種WEB瀏覽器訪問--有些瀏覽器可以通過模擬其他瀏覽進行訪問。例如,假設微軟的MSN拒絕為非微軟瀏覽器提供頁面服務,使用者可以通過讓瀏覽器模擬微軟的瀏覽器來實現訪問。遠端證明使得這樣的模擬不可能,因為MSN可能要求提供一個證明使用者正在實際執行一個IE瀏覽器。
使用者不能控制他們接收的資訊
可信賴運算常受到的一個批評就是,封裝儲存可能阻止使用者將封裝的檔案移動到新的電腦。這個限制可能來自於糟糕的軟件設計或內容提供者故意實施的限制。TPM規範的遷移部份要求一些特定類型的檔案只能移動到採用相同安全模型的電腦上。如果一個舊型號的晶片不再生產,就根本不可能將數據轉移到新電腦;那些數據將與舊電腦一同長眠。
此外,批評者還注意到TPM可以強制使用者接受間諜軟件,例如強制音樂檔案只能在那些在播放時會通知唱片公司的機器上播放。同樣一個新聞雜誌可能要求使用者證明使用特定的閱讀器後,才允許下載他們的文章。閱讀軟件可能在雜誌網站上的版本變化後,禁止閱讀最初的新聞。這種最新版本限制的實施將允許雜誌通過修改或刪除文章來「重寫歷史」。即使使用者將最初的文章儲存在自己的電腦中,閱讀軟件發現網站變化後,也可能拒絕閱讀請求。
喪失互聯網上的匿名性
由於裝有可信賴運算裝置的電腦可以唯一證明自己的身份,廠商或其他可以使用證明功能的人就能夠以非常高的可能性確定使用者的身份。
這種能力大小要視使用者提供自願或間接提供身份資訊的機會而定。一個常見的取得資訊途徑就是使用者購買電腦後就註冊個人資訊。另外一個常見的途徑是使用者為廠商的會員網站提供身份資訊。
可信賴運算的贊成者指出,它可以使線上購物和信用卡交易更安全,但這可能導致電腦使用者失去訪問互聯網時希望擁有的匿名性。
批評者指出這可能導致對政治言論自由,新聞記者使用匿名資訊源,揭發政治網誌,以及其他公眾需要通過匿名性來防止報復的領域,產生抑制作用。
作為對私隱問題關注的響應,研究者開發了直接匿名證明(Direct anonymous attestation,DAA),它允許客戶端實施證明,同時限制需要向驗證者提供的資訊。
建議的屬主多載
所有這些問題源自於,可信賴運算平台對程式提供的保護是針對包括屬主在內所有事物的。一個簡單的解決方案就是允許電腦的屬主繞過這些保護。這被稱作屬主多載(owner override),剛剛被提出作為規範的修訂內容。
啟用屬主多載將允許使用安全的I/O路徑來確保屬主通過物理接觸(physical present)操作,進而繞過保護。這樣的多載將允許通過遠端證明表明當前的環境符合使用者的規範,例如建立證書表明IE正在執行,而實際上是另外的瀏覽器在執行。這樣不是通過阻止軟件修改,而是通過遠端證明來表明軟件受到了未經屬主授權的修改。
一些可信賴運算集團的成員認為屬主多載對可信賴運算計劃是一個威脅。他們認為屬主多載傷及對遠端電腦的信任,因為遠端證明並未集中實施。屬主多載提供了為電腦屬主提供了安全和實施的好處,但並未阻止其他屬主在自己的電腦上放棄規則和限制。在這樣的場景下,無論是日記、DRM音樂或聯合的專案的數據,一旦被傳送到其他人的電腦,並且這些電腦由他人控制安全,那這些電腦將可以對這些數據進行複製。
可信賴運算的一個重要前提是屬主不可信任。[5]這裏假定使用者將或者由於疏忽或者故意為之,來試圖破壞自己的系統。例如,IT管理員無法確保手提電腦將執行一個特定的作業系統。
關於實用性的質疑
同樣受到激烈的爭論還有可信賴運算所基於的一些假設在「現實世界」中一定程度上是不實際的,使用者可能會發現在常規層面上使用屬主多載是非常必要的,或者根本不願意使用這些功能,儘管軟件廠商堅持要求使用。
所有的硬件組件,包括可信賴運算硬件本身,都可能發生故障,或者被升級和更替。由於存在以下可能性--不可逆轉得喪失對自己資訊的訪問或者喪失多年的工作成果而根本沒有恢復的機會,使用者可能會認為這無法接受。有些針對資訊使用和發佈或者強制資訊在未來很長一個階段可靠地儲存的限制,使得可信賴運算技術的很多預期的套用根本不可行。將屬主或者使用限制基於特定部份的電腦硬件的可驗證標識,對消費者而言可能並不足夠——如果它壞了怎麼辦?
支援資訊
- 從2004年開始,主要的電腦廠商就開始銷售包含可信平台模組以及相應BIOS支援的機器(一般是筆電)。[6]
- Linux kernel從版本2.6.13開始已經包含了對可信賴運算的支援,並且現在已有許多Linux專案開始支援可信賴運算。在05年1月,Gentoo Linux的成員「crypto herd」宣稱他們準備支援可信賴運算,特別是支援可信平台模組。[7] 同時,也有符合TCG規範的Linux開源軟件協定棧——TrouSerS (頁面存檔備份,存於互聯網檔案館)。
- 有些具有有限的可信賴運算功能產品在目前版本的Microsoft Windows下也有第三方的實現。
- BitLocker支援TPM[8]。
- TrustKernel (頁面存檔備份,存於互聯網檔案館)的T6安全作業系統[9]利用ARM TrustZone技術實現了一個軟件級別的TPM功能。
參考文獻
- ^ 可信计算. docs.openeuler.org. [2024-10-26].
- ^ ZDNet. [2006-06-22]. (原始內容存檔於2008-10-08).
- ^ Schneier. [2006-06-22]. (原始內容存檔於2013-03-31).
- ^ 存档副本. [2006-06-22]. (原始內容存檔於2013-03-31).
- ^ Schoen, Seth. Trusted Computing:Examples of Abuse of Remote Attestation:Part 4.Computer Owner as Adversary?. Trusted Computing: Promise and Risk. 2003 [2006-03-13]. (原始內容 (PDF)存檔於2004-05-10).
- ^ Tony McFadden. TPM Matrix. 2006年3月26日 [2006-05-05]. (原始內容存檔於2006年6月15日).
- ^ Trusted Gentoo. Gentoo Weekly Newsletter. 2006年1月31日 [2006-05-05]. (原始內容存檔於2020-08-09).
- ^ Windows Vista Beta 2 BitLocker? 全盘加密指南. Microsoft TechNet. [2006-06-22]. (原始內容存檔於2006-06-15).
- ^ T6: 基于TrustZone的安全内核. [2015-01-12]. (原始內容存檔於2020-09-20).
外部連結
- 可信賴運算規範標準制定集團 (頁面存檔備份,存於互聯網檔案館)
- '可信賴運算'常見問題,繁體中文版 — 劍橋大學教授Ross Anderson反對可信賴運算的FAQ,中文版。
- '可信賴運算'常見問題(頁面存檔備份,存於互聯網檔案館) — 劍橋大學教授Ross Anderson反對可信賴運算的FAQ。
- 反知識產權 (頁面存檔備份,存於互聯網檔案館)
- 可信賴運算集團 (TCG) — 可信賴運算規範標準制定集團,以前稱為TCPA。
- TrouSerS - 開源TCG軟件棧 (頁面存檔備份,存於互聯網檔案館) 有一個很好的FAQ (頁面存檔備份,存於互聯網檔案館) , 解釋你使用TPM可能遇到的問題。
- TCPA誤解辯論和Linux驅動 (頁面存檔備份,存於互聯網檔案館) IBM Watson研究院全球安全分析實驗室
- TCPA/TCG硬件實驗, 或者: 如何學會停止擔憂並愛上熊。 技術報告TR2003-476, Dartmouth大學電腦系, 2003年12月 (頁面存檔備份,存於互聯網檔案館)和 "Enforcer" Linux安全模組 (頁面存檔備份,存於互聯網檔案館)
- 下一代安全計算基(NGSCB) — 微軟的可信賴運算體系結構
- Palladium與TCPA(頁面存檔備份,存於互聯網檔案館) — 來自Bruce Schneier的Crypto-Gram時事通訊
- Against-TCPA(頁面存檔備份,存於互聯網檔案館)
- 可信賴運算的有趣套用 (頁面存檔備份,存於互聯網檔案館)
- 你能夠信任你的電腦麼?(頁面存檔備份,存於互聯網檔案館) — FSF的文章
- 針對「微軟會議」文章的技術網誌 -- 比文章中解釋"封裝儲存"得清楚,但沒有數學內容。
- 可信賴運算:機遇與風險, EFF (電子前沿基金會)的技術成員Seth Schoen。
- Microsoft's Machiavellian manoeuvring (ZDNet UK) (頁面存檔備份,存於互聯網檔案館) by Bruce Schneier
- LAFKON - 一個關於可信賴運算的電影 (頁面存檔備份,存於互聯網檔案館) 反對可信賴運算的電影
- 可信系統問題: 安全層,統計威脅分析,和清白的假定," 國土安全--趨勢與爭論, IEEE智能系統, Vol. 20 No. 5, pp. 80-83 (Sept./Oct. 2005) (更為一般化地討論可信系統,將其作為國土安全的安全戰略)。另見, 可信系統專案, 全球資訊社會專案的一部份(GISP (頁面存檔備份,存於互聯網檔案館)), 一個全球策略研究所的聯合專案(WPI (頁面存檔備份,存於互聯網檔案館))和科技策略進階研究中心(CAS(頁面存檔備份,存於互聯網檔案館)) (可信系統專案分析對安全和社會從使用可信系統策略的推論)。
- 可信流動平台 - 一個定義流動裝置安全功能的規範集,IBM、Intel和NTT DoCoMo聯合制定。
- Jason F. Reid, William J. Caelli: DRM, 可信賴運算與作業系統體系結構 (頁面存檔備份,存於互聯網檔案館) 2005