可信計算發展背景
信息安全具有四個側面:設備安全、數據安全、內容安全與行為安全。可信計算屬於行為安全,據中國信息安全專家在《軟體行為學》一書中描述,行為安全應該包括:行為的機密性、行為的完整性、行為的真實性等特徵。
早期可信計算的研究主要以TCG(國際可信計算工作組)組織為主,國內開展可信計算研究的思路基本也是跟著TCG的步伐。可信計算最核心的就是TPM硬體晶片,其TPM 1.2規範是比較經典的,大多數廠家的晶片都以TPM 1.2為標準。該規範已經升級到TPM 2.0,也稱為“Trusted Platform Module Library Specification”,而且遵循該規範的新晶片也已經面世 。
國內對應的是TCM晶片,可以參考“可信計算密碼支撐平台功能與接口規範”,而且已經成為國家標準,即GB/T 29829-2013。
而隨著可信計算的發展,可信平台模組不一定再是硬體晶片的形式,特別是在資源比較受限的移動和嵌入式環境中,可信執行環境(TEE,Trusted Execution Environment)的研究比較熱,如基於ARM TrustZone、智慧卡等可以實現可信計算環境。另一個熱點是物理不可克隆函式PUF(Physical Unclonable Functions),其可以為可信計算提供物理安全特徵,實現密鑰安全存儲、認證、信任根等功能,而且對套用到物聯網、可穿戴設備、BYOD等場景中具有很好的優勢。關於這方面的標準可以參考“GlobalPlatform”,一個開放式聯盟,定義了關於卡、設備、系統等各個方面的規範,其中包含與可信計算聯繫比較緊密的GP-TEE規範 。
這項技術的擁護者稱它將會使計算機更加安全、更加不易被病毒和惡意軟體侵害,因此從最終用戶角度來看也更加可靠。此外,他們還宣稱可信計算將會使計算機和伺服器提供比現有更強的計算機安全性。而反對者認為可信計算背後的那些公司並不那么值得信任,這項技術給系統和軟體設計者過多的權利和控制。他們還認為可信計算會潛在地迫使用戶的線上互動過程失去匿名性,並強制推行一些不必要的技術。最後,它還被看作著作權和著作權保護的未來版本,這對於公司和其他市場的用戶非常重要,同時這也引發了批評,引發了對不當審查(censorship)關注。
很多著名的安全專家已經表明了對可信計算技術的反對,因為他們相信它將給計算機製造商和軟體作者更多限制用戶使用自己的計算機的能力。有一些人關注的則是可信計算可能(或者本身就是要)起到限制自由軟體市場、私有軟體開發和更一般化的整個IT市場競爭的作用。有些人,如理察·斯托曼,因此給它起了一個惡名——背叛的計算(Treacherous computing)。
不管這場爭論以及可信計算最終產品的形式怎樣,在計算機領域擁有重大影響的公司,如晶片製造商Intel、AMD和系統軟體開發商Microsoft,都計畫在下一代的產品中引入可信計算技術,如Windows Vista。
核心概念
可信計算包括5個關鍵技術概念,他們是完整可信系統所必須的,這個系統將遵從TCG(Trusted Computing Group)規範:
認證密鑰
安全輸入輸出
記憶體禁止/受保護執行
封裝存儲
遠程證明
1.認證密鑰
2.安全輸入輸出
3.記憶體禁止/受保護執行
4.封裝存儲
5.遠程證明
簽注密鑰
簽注密鑰是一個2048位的RSA公共和私有密鑰對,它在晶片出廠時隨機生成並且不能改變。這個私有密鑰永遠在晶片里,而公共密鑰用來認證及加密傳送到該晶片的敏感數據
安全輸入輸出
安全輸入和輸出(I/O)指的是計算機用戶與他們認為與之進行互動的軟體間的受保護的路徑。在當前的計算機系統中,惡意軟體有很多途徑截取用戶與軟體進程間傳送的數據。例如,鍵盤監聽者(Keyboard Logger)和螢幕截取者(Screen Scraper)。安全I/O表現為受硬體和軟體保護和驗證的信道,採用校驗值來驗證進行輸入輸出的軟體沒有受到篡改。將自身注入到信道間的惡意軟體會被識別出來。
儘管安全(I/O)提供針對軟體攻擊的防護,但它未必提供對基於硬體的攻擊的防護,例如物理插入用戶鍵盤和計算機間的設備。
儲存器禁止
儲存器禁止拓展了一般的儲存保護技術,提供了完全獨立的儲存區域。例如,包含密鑰的位置。即使作業系統自身也沒有被禁止儲存的完全訪問許可權,所以入侵者即便控制了作業系統信息也是安全的。
封裝儲存
封裝存儲從當前使用的軟體和硬體配置派生出的密鑰,並用這個密鑰加密私有數據,從而實現對它的保護。這意味著該數據僅在系統擁有同樣的軟硬體組合的時候才能讀取。例如,用戶在他的計算機上保存自己的日記,不希望其他的程式或計算機讀取。這樣一來,病毒可以查找日記,讀取它,並將它發給其他人。Sircam 病毒所作的與此類似。即使日記使用了口令保護,病毒可能運行字典攻擊。病毒還可以修改用戶的日記軟體,用戶使用軟體打開日記時通過受篡改的軟體可能泄漏其中的內容。使用封裝存儲,日記被安全地加密,只有在該計算機上的未被修改的日記軟體才可以打開它。
遠程證明
遠程證明使得用戶或其他人可以檢測到該用戶的計算機的變化。這樣可以避免向不安全或安全受損的計算機傳送私有信息或重要的命令。遠程證明機制通過硬體生成一個證書,聲明哪些軟體正在運行。用戶可以將這個證書發給遠程的一方以表明他的計算機沒有受到篡改。
遠程證明通常與公鑰加密結合來保證發出的信息只能被發出證明要求的程式讀取,而非其它竊聽者。
再用上面日記的例子,用戶的日記軟體可以將日記傳送給其他的機器,但是只能發給那些能夠證明所運行的是一份安全的日記軟體。與其他的技術結合起來,遠程證明可以為日記提供一個更加安全的路徑:通過鍵盤輸入以及在螢幕顯示時受到安全I/O的保護,記憶體禁止在日記軟體運行時保護日記,而封裝存儲在它存儲到硬碟的時候保護它,並且遠程證明保護它在其它計算機使用時不受非授權軟體的破壞。
可信計算的套用場景
數字著作權管理
可信計算將使公司創建很難規避的數字著作權管理系統,但也不是不可能(破解)。例子是下載的音樂檔案,用遠程認證可使音樂檔案拒絕被播放,除非是在執行著唱片公司規則的特定音樂播放器上。密封儲存防止用戶使用其他的播放器或在另一台電腦上打開該檔案。音樂在禁止儲存里播放,這將阻止用戶在播放該音樂檔案時進行該檔案的無限制複製。安全I/O阻止用戶捕獲傳送到音響系統里的(流)。規避(破解)這樣的系統需要操縱電腦硬體或者是用錄音設備或麥克風獲取模擬信號(這樣可能產生信號衰減)或者破解加密算法。
身份盜用保護
可信計算可以用來幫助防止身份盜用。以網上銀行為例,當用戶接入到銀行伺服器時使用遠程認證,之後如果伺服器能產生正確的認證證書那么銀行伺服器就將只對該頁面進行服務。隨後用戶通過該頁面傳送他的加密賬號和PIN和一些對用戶和銀行都為私有的(不看見)保證信息。
防止遊戲作弊
可信計算可以用來打擊線上遊戲作弊。一些玩家修改他們的遊戲副本以在遊戲中獲得不公平的優勢;遠程認證,安全I/O以及儲存器禁止用來核對所有接入遊戲伺服器的玩家(以確保)其正運行一個未修改的軟體副本。尤其是設計用來增強玩家能力屬性或自動執行某種任務的遊戲修改器。例如,用戶可能想要在射擊遊戲中安裝一個自動瞄準BOT,在戰略遊戲中安裝收穫機器人。由於遊戲伺服器無法確定這些命令是由人還是程式發出的,推薦解決方案是驗證玩家電腦上正在運行的代碼。
保護系統不受病毒和間諜軟體危害
軟體的數字簽名將使得用戶識別出經過第三方修改可能加入間諜軟體的應用程式。例如,一個網站提供一個修改過的流行即時通訊程式版本,該程式包含間諜軟體。作業系統可以發現這些版本里缺失有效的簽名並通知用戶該程式已經被修改,然而這也帶來一個問題:誰來決定簽名是否有效。
保護數據
用於身份認證的生物鑑別設備可以使用可信計算技術(存儲器禁止,安全I/O)來確保沒有間諜軟體安裝在電腦上竊取敏感的生物識別信息。
保護生物識別身份驗證數據
用於身份認證的生物鑑別設備可以使用可信計算技術(存儲器禁止,安全I/O)來確保沒有間諜軟體安裝在電腦上竊取敏感的生物識別信息。
核查遠程格線計算的計算結果
可信計算可以確保格線計算系統的參與者返回的結果不是偽造的。這樣大型模擬運算(例如天氣系統模擬)不需要繁重的冗餘運算來保證結果不被偽造,從而得到想要的(正確)結論。
就中國國內而言,中國的政府管理者對可信計算給予了極大的關注,對可信計算提供了相當大的經費支持。如中國國家密碼管理委員會組織了可信密碼模組的標準制定,並在其官方網站上提供了部分標準。中國科技部的863計畫開展了可信計算技術的項目專題研究,自然基金委開展了“可信軟體”的重大專項研究計畫支持。
在學術領域,中國工程科學院沈昌祥院士、中科院馮登國研究員、武漢大學張煥國教授等在可信計算的理論與技術推廣方面做了很大的貢獻。
盤點密碼學相關知識
盤點密碼學相關知識,密碼學是研究編制密碼和破譯密碼的技術科學。 |