下一代安全計算基礎

下一代安全計算基礎(英文Next-Generation Secure Computing Base,縮寫NGSCB),以前被稱作Palladium,是微軟設計的一種軟件架構,旨在在未來新版本的Microsoft Windows作業系統上實現其頗有爭議的「可信計算」理念,是微軟首創的可信計算的一部分。微軟聲稱其目標在於增強電腦使用者的安全和私隱保護,但是評論家們斷言說,這項技術不僅不能解決當前大多數的IT安全問題,還會加重廠商釘選現象,降低IT市場的競爭。

NGSCB依賴於可信計算組(TCG)的成員設計的硬件技術 ,其中提供了一系列安全方面的特性,包括快速亂數生成器,一個安全的加密協處理器,並有能力以一種即使是金鑰所有者也無法取得的方式持有金鑰。正是這種能力使得對啟用NGSCB的電腦進行硬件遠端認證和軟件組態變得可能,而這也正是對該方案持否定態度者主要反對的地方。一些電腦廠商出售帶有可信平台模組(TPM)晶片的電腦,主要是IBM聯想的ThinkPad和戴爾的OptiPlex GX620 。

架構和技術細節

 
NGSCB的架構

一個完整的基於微軟產品並啟用了可信計算的系統不僅包含由微軟開發的軟件組件,還包含可信計算組開發的硬件組件。NGSCB引入的主要功能嚴重依賴於特殊的硬件,所以在2004年前出售的個人電腦上不能運作。

根據目前可信計算的規範,NGSCB有兩個硬件組件:提供安全金鑰儲存、安全密碼協處理器的可信平台模組(TPM)和具有封鎖主記憶體特性的中央處理器(CPU)。以及兩個軟件組件:Nexus——作業系統的安全內核,Nexus Computing Agents (NCAs)——啟用NGSCB的應用程式內部的可信模組。

安全儲存與驗證

在生產製造階段,金鑰就被產生並儲存在TPM中。此金鑰永遠都不會被傳送給其他的組件,而且TPM被設計成無論是採取逆向工程還是其他任何方式都極難取出被儲存的金鑰,即使是金鑰的所有者。應用程式可以把用此金鑰加密過的數據傳送給TPM來進行解密,但是TPM只會在一些嚴格的條件下才這樣做。特別地,解密後的數據只會傳遞給被證明可信的應用程式,而且只儲存在受封鎖的主記憶體中,其他應用程式和作業系統都不能訪問。儘管TPM只能保障一條金鑰的安全儲存,但是從廣義上來講任何數據的安全儲存都是可能的,因為用安全存放的金鑰加密的數據只能用它來解密。

TPM也可以基於隱藏起來的金鑰產生加密簽章,這一簽章可以被使用者和任何第三方所證實,因此能夠用於遠端驗證電腦處於安全狀態。

封鎖主記憶體

NGSCB還依賴於CPU提供的封鎖主記憶體特性。位於封鎖主記憶體中的數據只能被屬於它的應用程式訪問,任何其他應用程式和作業系統都不可以。TPM提供驗證功能用於向受信任的應用程式證實其確實執行在封鎖主記憶體中,因此任何人,也包括所有者,試圖欺騙受信任的應用程式讓其執行在封鎖主記憶體之外都是極為困難的。

應用程式

啟用NGSCB的應用程式將分割為兩個截然不同的區塊:NCA——可以訪問有限應用程式介面(API)的可信模組,以及可以訪問全部Windows API的不可信部分。涉及到NGSCB功能的程式碼必須位於NCA之中。

進行這種分割的原因是,Windows API已經開發了很多年而變得極為複雜,審查安全漏洞是非常困難的。為了實現最大程度的安全性,要求可信程式碼只能使用一小部分已經過仔細審查的API。在安全性不是最重要的情況下,全部的API都可以使用。

用途

當前,NGSCB被設定成為一個用於建立可信計算應用程式的框架,因此有着廣泛的潛在套用領域,不過從使用者的角度來說它根本沒有提供任何功能。

數碼版權管理

利用可信平台模組(TPM)提供的驗證、封鎖主記憶體和加密特性,可以開發出一種可靠的數碼版權管理(DRM)形式。評論家們指責道,儘管NGSCB本身不提供DRM功能,但是研發它的主要動機就是DRM。

通過對受到DRM保護的檔案進行加密並且只允許可信應用程式得到解密金鑰,就能實現數碼版權管理。複製保護和眾多的類似功能,只要想像得到都可以實現。比如,可以建立一種只能在一個電腦上打開的檔案,或者是只能在一個組織內傳閱的檔案,甚至是一個只能閱讀三次的檔案。受DRM保護的檔案和不受保護的檔案一樣可以輕鬆複製和閱讀,但是在未得到授權的地方進行解密是極其困難的,使其變得沒有用處。

網絡安全

在公司和教育機構的網絡環境中,NGSCB提供了一個很有吸引力的特性:無論是對工作站軟件還是硬件,沒有得到授權的修改都可以安全地避免。無法證明自己合法的工作站在接受檢查期間對網絡服務的部分或全部訪問會被自動阻止。

多玩家遊戲

NGSCB提供的驗證和封鎖主記憶體功能有希望被套用於阻止大多數種類的網絡遊戲作弊行為。在各種多人遊戲中行行色色的作弊方式十分普遍,損害了守法玩家在遊戲中的娛樂性。

常見的作弊手段有:

  • 篡改遊戲的可執行檔案或者顯示驅動程式,例如讓玩家可以看穿牆壁。藉助遠端驗證來確保遊戲的可執行檔案和顯示驅動程式都沒有遭到篡改,可以阻止這種形式的作弊。
  • 篡改客戶端與伺服器端的網絡傳輸資訊流,例如在第一人稱射擊遊戲中提高玩家武器瞄準的能力。阻止這種形式的作弊,可以在封鎖主記憶體里將網絡資訊流加密之後再進行傳輸,到了伺服器端再相應地解密。

批評

NGSCB和可信計算可能被蓄意濫用以釘選某些使用者,使他們無法使用某些檔案、產品和服務,例如,阻止使用者使用競爭對手的產品,這有可能導致嚴重的使用者釘選。這類似於現在很多企業都不得不購買使用Microsoft Word,以便和使用這個軟件的生意夥伴相容。今天,這個問題被OpenOffice.org這類產品部分解決,它提供對微軟Office檔案格式的有限支援。使用NGSCB之後,如果Microsoft Word將生成的文件加密了,任何其他軟件即便有能力解讀底層檔案格式也無法解密。

NGSCB和可信計算無益於解決當前大多數的安全問題,比如電腦病毒木馬。儘管如此,微軟在過去曾宣稱為了抗擊未來病毒爆發對Microsoft Windows使用者造成的威脅,NGSCB不可或缺。現在微軟不再聲稱NGSCB可以解決這些病毒問題了。

可行性

最初公佈的時候,NBSCB在預想之中將成為Windows作業系統下一個主要版本——Windows Vista的一部分。然而,2004年五月的時候有報道稱微軟擱置了NGSCB專案,微軟很快召開新聞發佈會進行了否定,宣稱他們正在重新啟動計劃。Windows Vista發佈很久之後NGSCB的主要特性才有可能實現。不過,Vista包含了BitLocker,可以利用可信平台模組晶片來進行安全啟動和全分區加密。很多採用Intel Core 2 Duo處理器或者是使用AM2介面的AMD Athlon 64處理器的系統都已經整合了TPM。

命名歷史

微軟最初公佈NGSCB技術的時候使用的代號是Palladium,指的是保衛特洛伊城安全的守護神器。開發用名是「Next-Generation Secure Computing Base」,就像.NET的開發用名是「Next-Generation Windows Services」。2006年初,微軟將自己的NGSCB團隊更名為System Integrity Team

參考來源