https://www.cnblogs.com/guangnianxd/p/10959619.html
可信計算概論
一、概念
可信計算的基本思想:
在計算機系統中,建立一個信任根,從信任根開始,到硬件平台、操作系統、應用,一級度量一級,一級信任一級,把這種信任擴展到整個計算機系統,並采取防護措施,確保計算資源的數據完整性和行為的預期性,從而提高計算機系統的可信性。
通俗的解釋:
可信 ≈ 可靠 + 安全
現階段的可信計算應具有確保資源的數據完整性、數據安全存儲和平台遠程證明等功能。
二、關鍵技術
信任根:
信任根是可信計算機的可信起基點,也是實施安全控制的點。在功能上有三個信任根組成。
1、可信度量根(root of trust for measurement, RTM)。RTM是可信平台進行可信度量的基點,在TCG的可信平台中,是平台啟動時首先執行的一段軟件,用以對計算機可信度量。又被稱為可信度量根核(crtm)。具體到可信計算PC中,是BIOS中最開始的代碼。
2、可信存儲根(root of trust for storage,RTS)。RTS是對可信度量值進行安全存儲的基點。由TPM芯片中一組被稱為平台配置寄存器(paltform configuration register, RCP)和存儲根密鑰(storage root key,SRK)組成。
3、可信報告根(RTR,report)。由pcr和背書秘鑰(endorsement key)的派生密鑰AIK(attestaion identity key)組成。
可信計算平台由TPM芯片機器密鑰和相應軟件作為期信任根。
度量存儲報告機制:
基於信任根,對計算機平台的可信性進行度量,並對度量的可信值進存儲,當客體訪問時提供報告。是計算機平台確保自身可信,並向外提供可信服務的一項重要機制。
1、度量
目前尚未有點單方法對計算平台的可信性進行度量,因此TCG的可信性度量是度量系統重要資源數據完整性的方法。對與系統重要資源數據,實現計算散列值並安全存儲;在可信度量時,重新計算重要資源數據的散列值,並欲實現存儲的散列值比較。
2、存儲
可信度量的值進行安全存儲。tcg采用擴展計算散列值的方式。即現有值與新植相連,再次計算散列值作品為新的完整性度量值存儲至PCR中。New PCRi = hash(old PCRi || new value)
3、報告
可信度量值存儲之后,當訪問客體訪問時,向訪問客體提供平台的可信狀態報告。為確保報告內容的安全,還必須采用加密、數字簽名和認證技術,又被稱為可信遠程證明。
可信平台模塊:
可信平台模塊TPM是一種Soc芯片,是可信計算平台的信任根(RTS和RTR),也是可信計算平台實施安全控制的基點。
密碼協處理器:公鑰密碼加速引擎
密鑰產生部件:產生公鑰密碼的密鑰
散列函數引擎:散列函數的硬件引擎
隨機數產生部件:TPM的隨機源,產生隨機數和對稱密碼的密鑰
HMAC引擎:基於散列函數的消息認證碼硬件引擎
電源管理部件:監視TPM 的點電源狀態
配置開關:對TPM的資源和狀態進行配置
執行引擎:CPU和相應的固件
非易失存儲:存儲密鑰標識等重要數據
易失存儲:TPM的工作存儲器
IO部件:TPM對內對外的通信
虛擬可信模塊:vTPM孫軟件模擬物理TPM的功能,進一步在vTPM和物理TPM之間建立強聯系,使信任鏈從物理TPM擴展至虛擬機中。
可信計算平台:
可信PC是最早開發並得到廣泛應用的可信計算平台,特征是在主板上鑲嵌可信構建模塊(trusted Building block,TBB)。TBB就是可信PC平台的信任根。包括CRTM和TPM,以及它們與主板間的連接。
服務器的主板結構有一個基板控制管理器(baseboard Management controller,bmc),bmc功能:配置管理、硬件管理、系統控制和故障診斷與排除。BMC應當在可信服務器的度量存儲報告機制中發揮作用。(目前未有實例)
可信服務器必須具有安全可信的虛擬機和虛擬機的可信遷移,需要vTPM和vTPM的可信遷移技術。、服務器的不可間斷性,要求服務器啟動后很長一段時間不關機,這要求可信服務器有多次可信度量的機制。
可信軟件棧:
可信平台模塊(TPM、TCM、TPCM)是可信計算平台的信任根,操作系統和應用軟件使用可信平台模塊,需要軟件中間件把可信平台模塊與應用聯系起來,此軟件中間件成為tcg軟件棧(TCG Software Stack,TSS)。
遠程證明:
用戶判斷與其交互的平台是否在可信的過程稱為遠程證明。
當可信計算平台需要進行遠程證明時,由可信報告根向用戶提供可信平台可信性報告(PCR值)。在存儲和網絡傳輸時,通過密碼保護,實現平台可信遠程證明。
可信網絡連接:
tcg通過可信網絡連接(trusted network connect,TNC)實現平台到網絡的可信擴展,確保網絡的可信。
TNC的主要思想:驗證訪問請求者的完整性,根據異性的安全策略對其進行評估,以決定是否允許請求者與網絡連接,從而確保網絡連接的可信性。
可信計算總結:
可信計算的不足:
1、實際應用尚不廣泛
(1)、可信平台模塊芯片的應用是廣泛的
(2)、可信計算平台的應用不夠廣泛
大多數有可信芯片的PC只是把可信芯片當作密碼支撐部件,用於磁盤和數據的加密和認證,並沒有支持度量存儲報告機制和其他可信平台功能。
2、可信計算的一些關鍵技術需要完善和提升
(1)可信度量機制只要進一步提升
對於普通pc,每一次升級打補丁,都需要重新計算系統重要資源的散列值。
對於服務器和工控計算機平台,他們打補丁的概率小得多,更適合可信度量技術的實施。
(2)、軟件的數據完整性只能說明該軟件沒有被篡改,並不能說明本身沒有漏洞。
基於數據完整性的檢查保護機制是有一定功效范圍的,檢查范圍和安全性是矛盾的,應在這兩者之間折中。
軟件有兩種狀態:靜態數據狀態和動態數據狀態。基於完整性的數據度量是靜態的。可信計算尚缺少動態行為完整性的度量和保護機制。
此外,數據的安全性包括數據的機密性、完整性和可用性。可信計算的度量存儲報告機制只致力於完整性,沒有涉及其他兩方面。可進一步利用可信平台模塊豐富的密碼資源,確保數據的保密性和可用性。
(3)、多次度量(確保數據和行為完整)是可信服務器平台和可信工控計算機的下一步方向。
在PC領域,可信度量機制是在PC開機時進行可信度量,對於PC這種一天開關數次的平台來說,用戶會相信其可信性。但對於服務器和工控計算機這種一次開機長久不關閉的平台來說,用戶很難相信其可信性,需進行多次靜態和動態的度量,及重要資源的靜態數據完整性和度量其動態行為完整性。
TCG稱開機時的可信度量為靜態度量(SRTM,static root of trust measurement),開機后的度量為動態度量(DRTM,dynamic root of trust measurement)。
Intel的動態度量機制成為可信執行技術(TXT,trusted execution technology),txt以cpu為信任根,與tpm相結合,執行可信度量,一直度量到應用軟件,構建可信的軟件執行環境。
執行環境的安全功能有:保護執行,在CPU中提供安全的區域運行敏感應用程序;密封存儲,采用密碼保護數據的機密性和完整性;遠程證明,給用戶提供平台的可信性報告,使用戶相信平台是可信的;I/O保護,對平台的IO進行保護,使用戶與應用程序間的交互路徑是可信路徑。
AMD采用專門的安全處理器(psp),基於PSP,對系統進行可信度量,為用戶建立安全執行環境。在這個環境里屏蔽了所有中斷,關閉了虛擬內存,禁止了DMA,除了PSP處理器外其他處理器不工作。在PSP執行安全加載程序前,首先對這個程序進行度量,度量值被寫進PCR。PCR磁能通過特殊的LPC總線周期才能讀取,軟件無法默契周期,保證了只有PSP才能讀取這個PCR,確保了可信度良知的安全。
i和a的以CPU芯片為信任根的動態度量雖區別於開機時的度量,但仍是度量數據完整性,仍不是行為完整性與一個系統的多次度量有區別。但這種以CPU為信任根的動態度量技術是有積極意義的,特別適合雲計算中新建立一個虛擬機的可信度量。
信息安全:
信息只有存儲、傳輸和處理三種狀態,確保信息安全必須確保信息在這三種狀態下的安全。
糾錯碼和密碼提高保障通信中的數據完整性和保密性。在存儲中也有廣泛應用。
信息處理中信息形態發生變化,使安全問題比存儲和傳輸更復雜。受糾錯碼啟發,許多學者研究用於運算器的糾錯碼,但計算糾錯碼會降低運算器的效率,又有學者研究同態密碼,希望提高運算的保密性。進來,雲計算和大數據的發展,同態密碼成為熱潮;運算器的糾錯碼的經驗告訴我們,安全高效是同台密碼的關鍵。
信息技術的發展迅速,現在的信息系統都是集成了存儲、傳輸和處理的綜合系統。
信息安全三大定律:
(1)普遍性,那里有信息,哪里就有信息安全問題;
(2)折中性,安全與方便矛盾;
(3)就低性(木桶原理),信息系統的安全性取決於最薄弱部分的安全性。
計算機安全:
intel SGX:允許應用程序實現一個被稱為Enclave的容器,在應用程序的地址空間中划分出一塊被保護的區域,為容器內的代碼和數據提供機密性和完整性保護,免受惡意軟件的破壞。只有位於容器內的代碼才能訪問Enclave的內存區域,而容器外的軟件即使是特權軟件(如虛擬機監控器程序,BIOS、操作系統)都不能訪問Enclave內的數據。
ARM TrustZone:旨在為應用構建一個可信執行環境,整體安全思想是通過系統結構將其軟硬件划分為相互隔離的兩個區域,安全區和普通區。每個區的工作模式都包含用戶模式和特權模式。ARM通過其總線系統確保安全區的資源不被普通區所訪問。普通區的軟件智能訪問普通區的資源,安全區亦然。在安全區還有一個監控模式,監控模式分別與兩區的特權模式相連。監控某持的存在是為兩區間的切換。普通區的用戶模式需要獲取安全區的服務時,首先需要進入普通去的特權模式,在該模式下調用安全監控調用指令,處理器將進入監控模式,監控模式備份普通區的上下文,然后進入安全區的特權模式,此時的運行環境是安全區的執行環境,然后進入安全區的用戶模式並得到相應的安全服務。