等保2.0下,可信計算技術大起底
2019年安全圈討論度最高的熱門詞一定是“等保2.0”。等保2.0時代保護策略要變被動防御為主動防御,變層面防御為立體防御。
可信計算技術為主動防御提供了新的思路,也在等保2.0中被重點提及。我國網(wǎng)絡安全領域著名專家、中國工程院院士沈昌祥在以《重啟可信革命——主動免疫可信計算3.0》為主題的演講中指出:“當前我國的信息安全的防護工作是比較傳統(tǒng)的,也就是說稱為老三樣:防火墻、殺病毒、入侵監(jiān)測,這樣是解決不了安全問題的。”那么如何解決問題呢?引入可信計算,因為“可信計算包括三方面:可信可用,方能安全交互;主動免疫方能有效保護;自主創(chuàng)新方能安全可控”。所以要利用可信計算技術實現(xiàn)主動免疫。
1.1概 念
首先我們了解一下什么是可信。
可信在不同的機構下的定義是不同的??尚庞嬎愎ぷ鹘MTCG(Trusted Computing Group)對可信的定義可以描述為:對于一個特定的目標,實體的行為總是與預期的相符,則針對這個目標,該實體就是可信的。電氣電子工程師學會IEEE(Institute of Electrical and Electronics Engineers)對可信的定義則是:一個計算機系統(tǒng)稱為可信的是指其提供服務的可信賴性是能夠進行論證的。國際標準化組織ISO/國際電工委員會IEC則如下定義可信:參與計算過程的各個部件、處理過程及操作都是可預測的,并可以阻止病毒和一定程度的物理影響。
可信計算模塊
雖然以上各個機構對可信的定義不同,但總結起來看,都強調了實體行為、能力的可預測性和可驗證性,即一個實體可信就是指其行為、能力需要符合預期并可驗證其符合預期。
1.2起 源
可信計算最早起始于上世紀90年代中期,并于21世紀來到了中國。不過據(jù)中國工程院院士沈昌祥所述,中國其實早在1992年就開始了相關技術的研究,只不過那個時候不叫可信計算,沈院士申請立項的題目是:主動免疫的綜合防護系統(tǒng)。到了2001年才真正的開始消化吸收TCG的技術理念,當時參與的企業(yè)有聯(lián)想、兆日、瑞達等。從此可信計算在中國落了地,生了根,并且結出了許多豐碩的果實。
1.3發(fā) 展
隨著可信計算的誕生到初步得到廣泛認可,國際上成立了首個可信計算相關的聯(lián)盟:可信計算平臺聯(lián)盟TCPA(Trusted Computing Platform Alliance),這個就是TCG的前身,該組織于2001年提出了可信平臺模塊TPM1.1技術標準。
TPM1.1推出后,一些以IT技術為主導的國際廠商相繼推出了有關可信計算的產品,得到產品界及用戶的普通認可,而TCPA的成員也迅速增加,到了2003年已經(jīng)達到了200家之多,幾乎所有國際主流的IT廠商都已加入該聯(lián)盟。隨后TCPA更名為TCG,并逐步完善了TPM1.2技術規(guī)范,把可信計算的觸角延伸到了所有IT相關領域。
匹配TPM 1.2版標準的可信平臺模塊的組件
隨著ICT技術的快速發(fā)展,TCG于2008年在TCG TPM WG成功開發(fā)TPM 2.0第一版標準庫,之后于2011年7月和2012年2月先后兩次提供草案和修訂后的新版本草案給SC27專家征求意見和建議,并于2012年10月公開征求意見,2013年3月正式公開發(fā)布TPM2.0標準庫,從此TPM進入2.0時代。
中國在可信計算方面的發(fā)展主要也經(jīng)歷3個階段。
第一個階段是對TCG技術理念的消化吸收,時間大致是從2001年起到2005年。這個階段中國的一些IT廠商基于TCG技術開發(fā)出了一些產品,中國也成立了可信計算標準工作小組,推進可信計算相關的標準研究。
第二個階段雖然時間短,但發(fā)展迅速。從2006年到2007年兩年間,建立了自主技術理論和標準體系,成立了中國自己的可信計算組織,即中國可信計算工作組TCMU(China TCM Union),會員單位達到了11家。中國的可信計算以TCM(Trusted Cryptography Module)為基礎,制訂了《可信計算密碼支撐平臺技術規(guī)范》系列標準,并于2007年12月發(fā)布《可信計算密碼支撐平臺功能與接口技術規(guī)范》。在這個階段,國內企業(yè)也相繼推出了基于TCM技術規(guī)范的產品,有力支撐了相關標準。
第三個階段從2008年至今,發(fā)展到了我們的可信計算3.0時代。這個階段在TCMU成員的共同努力下,已經(jīng)形成基本完整的產業(yè)體系,包括芯片、計算終端、可信網(wǎng)絡和應用、可信計算測評等。
關鍵技術
可信計算經(jīng)過這么多年的發(fā)展,對應的關鍵技術發(fā)展思路逐步清晰,但仍然有許多未解決的技術問題待進一步深入研究。目前可信計算主要的研究思路是:
可信計算技術研究思路
2.1 安全芯片
國際上,TCG的解決方案是引入TPM硬件安全芯片,以此為起點構建可信計算整個體系結構。美國微軟公司則利用其微內核機制建立可信的執(zhí)行環(huán)境,為其世界聞名的Windows系統(tǒng)提供平臺安全和隱私保護的支持。這就是微軟的NGSCB可信計算研究計劃。
中國創(chuàng)新性的提出TCM技術方案,使用自主研發(fā)的安全芯片,構建可信計算密碼支撐平臺,做到了自主密碼為基礎,控制芯片為支柱,雙融主板為平臺,可信軟件為核心,可信連接為紐帶,策略管控成體系,安全可信保應用。
2.2 終端平臺可信技術
終端平臺可信技術需要解決的核心問題是基于安全芯片的從系統(tǒng)引導、操作系統(tǒng)、應用程序到后續(xù)動態(tài)運行的整個鏈條的完整性度量。完整性度量主要分為靜態(tài)度量和動態(tài)度量兩個方面。在靜態(tài)度量方面,主要有IBM研究院提出的IMA、PRIMA架構,而動態(tài)度量最著名的是卡內基梅隆大學提出的BIND系統(tǒng)。
2.2.1. PRIMA架構
IBM最早根據(jù)TCG提出以TPM為“根”,逐級度量啟動過程中硬件、引導、操作系統(tǒng)及應用的思想而實現(xiàn)的IMA架構可以對系統(tǒng)啟動的所有程序進行度量,但其最大的缺點是系統(tǒng)效率太低。為解決效率問題,IBM又提出了PRIMA架構,其特點是將度量與信息流訪問控制模型相結合,從而度量對象大幅度精簡,達到了效率提高的目的。二者的主要區(qū)別如下圖所示:
IMA和PRIMA的主要區(qū)別
2.2.2. BIND系統(tǒng)
為解決靜態(tài)度量無法保證程序在運行過程中的可信問題,BIND系統(tǒng)被卡內基梅隆大學研制出來。其主要工作原理為:
● 擴展編程語言的度量語義
● 編程時添加這些度量標記
● 啟動編譯好的程序
● BIND系統(tǒng)被激活
● 動態(tài)的執(zhí)行對程序的完整性度量
● 根據(jù)度量結果決定程序的停止和運行
下圖為BIND系統(tǒng)提供的編程接口:
BIND系統(tǒng)提供的編程接口
從上圖可以看出,BING系統(tǒng)提供的編程接口并不復雜。BIND系統(tǒng)實現(xiàn)了一定程度的動態(tài)度量,但它需要編程人員在編程時使用上述接口手動添加標記,這對編程人員提出了“特殊”的要求,比較難以落地。
2.2.3. vTPM
近年來,隨著虛擬技術的發(fā)展和終端平臺上虛擬應用的越來越普及,虛擬平臺度量技術也得到不斷的研究而逐漸成為熱點。在虛擬度量技術方面有代表性的是LKIM系統(tǒng)、HIMA、HyperSentry和IBM提出的vTPM,后者應用相對比較廣泛。
vTPM即虛擬的TPM,在物理的TPM的基礎上,使用虛擬技術為每個虛擬機提供一個獨立的TPM,從而解決了多個虛擬機共享TPM的資源沖突問題。其主要的架構如下圖所示:
vTPM基本架構
從上圖可以看出,物理TPM的驅動存在于物理層中,同時利用vTPM管理器創(chuàng)建多個虛擬的TPM實例,這些實例與域U進行交互,使得虛擬機的可信成為可能。不過這種方案也有其缺點,最主要的問題就是vTPM和TPM之間缺乏有效的綁定。
2.3 平臺間信任擴展技術
構建了終端平臺的可信之后,需要將終端平臺的可信擴展到遠程平臺,這里主要使用的方法便是遠程證明。遠程證明主要由平臺身份證明和平臺狀態(tài)證明組成。
2.3.1. 平臺身份證明技術
遠程平臺身份證明技術主要有Privacy CA和DAA。Privacy CA是基于TPM1.1規(guī)范的,使用平臺證書直接證明自己可信的身份。這個方案最大的問題是無法隱匿平臺?;贑L簽名的直接匿名證明協(xié)議DAA(Direct Anonymous Attestation)解決了平臺隱匿問題,但其解決方案中使用的簽名長度太長,導致計算量大,效率并不高。所以就有了各種改良的DAA。由Brickel提出的基于橢圓曲線及雙線性映射對的一種優(yōu)化的DAA方案有效降低了原來DAA簽名中的長度過長和計算量大問題,提高和通信和計算性能。
我國在平臺身份證明技術方面也取得了長足的進步,由馮登國等提出的我國首個基于q-SDH假設的雙線性對DAA方案,有效解決了遠程證明協(xié)議的安全性和效率問題。
跨域DAA架構
除了基于q-SDH假設的DAA方案外,馮登國等還提出了一種跨域的DAA方案,如上圖所示,解決了多個信任域TPM匿名認證問題。
2.3.2. 平臺狀態(tài)證明技術
平臺狀態(tài)證明技術的研究熱點主要是基于屬性的平臺完整性狀態(tài)證明協(xié)議,即PBA(Property-based Attestation)。不過除此之外還有TCG提出的二進制直接遠程證明方法、基于Java語言的語義證明、針對嵌入式設備提出的基于軟件證明和我國研究人員提出的基于系統(tǒng)行為的證明協(xié)議。
TCG提出的二進制直接遠程證明方法是將系統(tǒng)配置散列值直接傳遞給驗證方驗證,其缺點是會暴露平臺配置,并且不易擴展。為此Liqun Chen等提出了一種具體的基于屬性的證明協(xié)議,其原理是將系統(tǒng)配置傳遞給可信第三方TTP(Trusted Third Party),由TTP得出其具有的屬性,并發(fā)放相應的屬性證書,從而在驗證方需要驗證平臺可信性時,將屬性證書發(fā)送給驗證方以證明平臺的可信性。
2.4 可信網(wǎng)絡接入技術
隨著人類進入21世紀,網(wǎng)絡已經(jīng)無處不在,據(jù)不完全統(tǒng)計,目前世界上聯(lián)網(wǎng)的設備有數(shù)十億之多,而聯(lián)網(wǎng)設備的類型也由原來的PC機擴展到各種各樣的嵌入式設備、移動終端和智能終端等等。在可信計算領域,可信網(wǎng)絡的接入技術也有了很大的發(fā)展。
可信網(wǎng)絡接入技術在國際上,有TCG組織提出的TNC規(guī)范,而國內與之對應的則是TCA方案。
2.4.1. TNC
TNC是由TCG發(fā)布的可信網(wǎng)絡連接規(guī)范,由2004 年5 月成立的可信網(wǎng)絡連接分組TNC-SG(TNC Sub Group)提出,目的就是將終端平臺的可信狀態(tài)延續(xù)到網(wǎng)絡中,使信任鏈從終端平臺擴展到網(wǎng)絡。下表為TNC各個版本的發(fā)布時間及主要內容匯總:
TNC主要發(fā)展歷程
TNC規(guī)范架構中主要包括3個邏輯實體、3層劃分和相關接口組件組成.該架構的主要思路是將完整性評估層與完整性度量層添加到傳統(tǒng)的網(wǎng)絡接入層次之上,從而實現(xiàn)對接入的終端平臺的身份和完整性驗證。TNC基礎架構圖如下:
TNC基礎架構
其中,訪問請求者AR(Access Requestor),策略執(zhí)行點PEP(Policy Enforcement Point)和策略決策點PDP(Policy Decision Point)組成了3個邏輯實現(xiàn)。訪問請求者是請求訪問受保護網(wǎng)絡的邏輯實體。策略執(zhí)行點是執(zhí)行PDP的訪問授權決策的網(wǎng)絡實體。策略決策點是根據(jù)特定的網(wǎng)絡訪問策略檢查訪問請求者的訪問認證,決定是否授權訪問的網(wǎng)絡實體。
整個網(wǎng)絡接入過程是:
■ AR發(fā)出訪問請求,收集平臺完整性可信信息,發(fā)送給PDP,申請建立網(wǎng)絡連接;
■ PDP根據(jù)本地安全策略對AR的訪問請求進行決策判定,判定依據(jù)包括AR的身份與AR的平臺完整性狀態(tài),判定結果為允許或禁止或隔離;
■ PEP控制對被保護網(wǎng)絡的訪問,執(zhí)行PDP的訪問控制決策。
2.4.2. TCA
TNC方法首先進行的過程是用戶認證,該過程除了對用戶身份進行驗證,還要為后續(xù)終端平臺的憑證認證過程及終端平臺完整性驗證過程提供安全的通信通道。VPN和IEEE 802.1x是TNC采用來進行認證和建立通道,進而傳輸終端平臺認證消息。AR并不直接驗證訪問控制器的身份和終端平臺的完整性,這降低了TNC的安全性。
為了實現(xiàn)可信計算網(wǎng)絡平臺安全、可信賴的運行,針對TNC的不足,建立自主的可信網(wǎng)絡連接體系,2007年4月,我國啟動了自主可信網(wǎng)絡連接標準的制定工作,由此誕生了TCA。TCA是我國以自主密碼為基礎、控制芯片為支柱、雙融主板為平臺、可信軟件為核心、可信連接為紐帶建立的可信計算體系不可或缺的一部分。對應的國家標準GB/T 29828―2013《信息安全技術 可信計算規(guī)范 可信連接架構》也于2013年11月12日正式發(fā)布。
TCA的工作原理
如上圖所示,TCA的工作步驟簡述如下:
應用及前景
目前,國際上主流的臺式機、筆記本已經(jīng)標配上了TPM安全芯片,國內支持TCM安全芯片的安全主機已經(jīng)全面量產,多數(shù)的國內外移動終端也都有了安全芯片的支持。與可信計算相關的應用不斷的被挖掘出來,前景一片大好。
3.1 信息安全
可信計算與信息安全密不可分。其中,TPM模塊產生的密鑰難于攻擊,在用戶身份驗證方面起著至關重要的作用??尚庞嬎愕目尚沛湕l機制,從信任根開始,直到應用程序啟動運行,可以防止病毒運行和惡意代碼執(zhí)行??尚庞嬎氵\算和防御并行的雙體系架構,在計算的同時進行安全防護,使計算結果總是與預期一致,整個過程可測可控,不被干擾,實現(xiàn)了主動免疫。網(wǎng)絡接入方面,TCG提出的TNC架構及我國提出的TCA架構都保證了接入的安全性。這樣從單個終端平臺的可信、到遠程平臺協(xié)同的可信、再到整網(wǎng)可信,完成了整個系統(tǒng)的閉環(huán)。
3.2 云計算
可信計算技術能夠用來支持分布式環(huán)境下的云計算,解決云計算的安全問題。
在需要多種身份實體認證機制的需求下,可信計算平臺可以起到非常好的輔助作用,可信計算能夠提供比用戶名+口令更強的認證,可信計算包含的專用主密鑰,對存儲在云計算系統(tǒng)中的其他信息提供保護。TPM存儲硬件證書使得基于可信計算技術進行客戶設備以及其他設備的認證成為可能,這對確保云計算的安全非常關鍵。
云計算的特點之一就是會有大量有自己目標和行為的用戶訪問云服務,用戶需要注冊進入一個或幾個角色,只所以使用角色是為了降低訪問控制模型的復雜性。這些不同角色的用戶應該來自可信計算平臺,因為可信計算平臺上的安全機制保證了用戶自身的隱私和安全。用戶從基于 TPM或TCM 的可信計算平臺來登錄云計算系統(tǒng),從而獲取權威證書,當希望同遠程其它實體進行通信時,其信息傳送通過可信機制得到保護。
云計算系統(tǒng)中的數(shù)據(jù)是其核心價值提供的基礎,這些重要數(shù)據(jù)可以使用TPM模塊的密鑰進行加密存儲,這樣針對這些數(shù)據(jù)的攻擊就變得異常困難。除此之外,對外傳輸中的數(shù)據(jù)同樣使用加密技術來確保傳輸過程的數(shù)據(jù)安全。可信計算提供的認證和完整性檢驗確保了數(shù)據(jù)不被修改。
3.3 數(shù)字版權管理
隨著信息社會的發(fā)展及數(shù)字化程度的不斷提高,數(shù)字版權保護問題越來越突出,為解決相關問題,數(shù)字版權管理(Digital Right Management, DRM)技術成為該產業(yè)鏈的關鍵。DRM已經(jīng)成為數(shù)字內容行業(yè)的基礎設施,是實施數(shù)字版權保護的技術解決方案。DRM的主要作用是保證數(shù)字內容只能由購買者在指定的授權生命周期內合法使用,未購買或超出周期使用的行為都會被禁止。現(xiàn)在的DRM客戶端基本上都是在開放計算平臺上部署,如:通用電腦和手機等移動終端,數(shù)字內容的使用過程需要由客戶端的DRM應用程序參與,負責解密使用和相關權利包的解析驗證。由于 DRM客戶端安裝在通用電腦和個人手機上,所以其運行環(huán)境是無法保證安全的,所以需使用額外的技術手段來確保DRM的可信。
可信計算技術的發(fā)展為上述問題的解決提供了很好的技術支撐。在授權許可證分發(fā)和數(shù)字內容的使用這兩個重點環(huán)節(jié)中已有學者使用了可信計算技術來進行保護,同時可信計算參與到DRM的用戶身份認證及密鑰協(xié)商協(xié)議,完成DRM客戶端的身份認證及完整性驗證,有效保護了數(shù)字版權內容的分發(fā)。
3.4 區(qū)塊鏈
可信計算保護數(shù)據(jù)隱私性的屬性,使其變?yōu)閰^(qū)塊鏈技術生態(tài)中的重要一環(huán)??尚庞嬎阆嚓P技術目前多與分布式計算類項目、數(shù)據(jù)類項目以及 layer2 鏈下解決方案相結合。目前,此類項目的關注重點多在于 PC 端 CPU,應用廣泛。
綜上所述,可信計算已滲透到IT領域的各個方面,發(fā)展前景廣闊。但我們不得不認識到,可信計算至今還有許多未解決的問題,如技術本身方面,安全芯片功能過于復雜,兼容性及標準符合性難于解決;理論模型等研究發(fā)展緩慢,突破不大。應用方面,在DRM中仍然存在著無法自由使用不經(jīng)授權的軟件、損害了開源軟件的作用;在用戶身份驗證方面,因為被信任的應用者可以知道每個用戶的真實信息,如果其濫用這些用戶信息,就存在著用戶隱私泄漏的問題。(轉自威努特工控安全)