劉國杰,張建標(biāo)
基于TPCM的服務(wù)器可信PXE啟動方法
劉國杰1,2,張建標(biāo)1,2
(1. 北京工業(yè)大學(xué)信息學(xué)部,北京 100124;2. 可信計算北京市重點實驗室,北京 100124)
PXE啟動機制通過網(wǎng)絡(luò)下載操作系統(tǒng)文件并啟動操作系統(tǒng),廣泛應(yīng)用于服務(wù)器網(wǎng)絡(luò)啟動。通過可信計算技術(shù)保障PXE啟動過程的安全可信,防止PXE啟動文件被惡意篡改,確保服務(wù)器的安全可信運行。網(wǎng)絡(luò)安全等級保護標(biāo)準(zhǔn)要求基于可信根對服務(wù)器設(shè)備的系統(tǒng)引導(dǎo)程序、系統(tǒng)程序等進行可信驗證。根據(jù)等級保護標(biāo)準(zhǔn)要求,提出一種基于TPCM的服務(wù)器可信PXE啟動方法,保障服務(wù)器的BIOS固件、PXE啟動文件、Linux系統(tǒng)文件的安全可信。在服務(wù)器進行PXE啟動時,由TPCM度量BIOS固件,由BIOS啟動環(huán)境度量PXE啟動文件,由PXE啟動環(huán)境度量Linux系統(tǒng)文件。以TPCM為信任根逐級度量、逐級信任,建立信任鏈,建立可信的服務(wù)器運行環(huán)境。所提方法在國產(chǎn)自主可控申威服務(wù)器上進行了實驗,實驗結(jié)果表明所提方法是可行的。
信息安全;可信計算;可信平臺控制模塊;可信啟動
隨著信息技術(shù)的發(fā)展,信息安全問題日益嚴(yán)峻[1-3]。網(wǎng)絡(luò)安全等級保護國家標(biāo)準(zhǔn)對我國信息安全工作非常重要,被應(yīng)用于網(wǎng)絡(luò)安全職能部門、網(wǎng)絡(luò)安全管理部門以及等級測評機構(gòu)的各項工作中,標(biāo)準(zhǔn)要求在系統(tǒng)啟動時對信息設(shè)備的主板固件、引導(dǎo)程序、操作系統(tǒng)與關(guān)鍵應(yīng)用程序進行可信驗證,并在檢測到被惡意篡改后發(fā)送報警信號[4]。服務(wù)器作為云計算的關(guān)鍵基礎(chǔ)設(shè)施,存在各種安全威脅。攻擊者可以未經(jīng)授權(quán)通過PXE(PXE,preboot execution environment)啟動方式啟動服務(wù)器,運行惡意程序,破壞或竊取重要數(shù)據(jù),危害服務(wù)器的運行環(huán)境。必須從服務(wù)器的PXE啟動開始,保障服務(wù)器整個PXE啟動過程的安全可信,才能保障服務(wù)器運行環(huán)境與重要數(shù)據(jù)的安全可信[5-7]。
國內(nèi)外學(xué)者對服務(wù)器的可信啟動進行了大量研究。文獻[8]借助可信服務(wù)器實現(xiàn)終端可信啟動,實現(xiàn)了基于第三方的在線可信度量[9-10]??尚庞嬎憬M織(TCG,Trusted computing group)提出了基于可信平臺模塊(TPM,trusted platform module)[11]的通過存儲在BIOS固件的可信度量根核(CRTM,core root of trusted for measurement)作為可信根對BIOS的其余部分進行度量,然后由BIOS度量操作系統(tǒng)加載器(BootLoader),由BootLoader度量操作系統(tǒng),形成一條信任鏈。TCG提出的引導(dǎo)機制有3種硬件平臺實現(xiàn)方案:①將TPM芯片嵌入主板,需要對計算機硬件結(jié)構(gòu)修改;②通過外設(shè)部件互聯(lián)標(biāo)準(zhǔn)(PCI,peripheral component interconnect)增加TPM芯片;③通過USB接口增加TPM芯片,這種方式需要修改BIOS程序,可操作性差且工作量大[12-15]。
TCG提出的解決方案,以TPM為信任根作為外掛部件被動調(diào)用,無法進行主動度量。我國學(xué)者提出了可信平臺控制模塊(TPCM,trusted platform control module)[16-17],作為可信計算平臺的信任根,是可信計算的核心模塊。TPCM在其內(nèi)部設(shè)有可信度量根?;赥PCM建立信任鏈,避免了TCG方案中的UEFI固件被篡改對信任根帶來的安全威脅。本文提出了基于TPCM服務(wù)器的可信PXE啟動方法。
TPCM內(nèi)部設(shè)有物理可信根,由可信度量根、可信存儲根與可信報告根3個可信根組成,分別擴展實現(xiàn)可信度量、可信報告與可信存儲功能。TPCM采用基于多度量代理的信任鏈傳遞模型,對平臺啟動的不同階段,定義基于不同策略的擴展度量代理模塊(EMM)[14]。從系統(tǒng)啟動開始,TPCM先于CPU啟動,構(gòu)建以TPCM為信任根的信任鏈,并利用度量代理節(jié)點EMM,對主板、系統(tǒng)引導(dǎo)、系統(tǒng)內(nèi)核和應(yīng)用逐級進行可信度量,從而實現(xiàn)信任的傳遞與擴展[18]。
服務(wù)器的網(wǎng)絡(luò)啟動一般采用預(yù)啟動執(zhí)行環(huán)境。PXE提供了一種使用網(wǎng)絡(luò)接口(network interface)啟動計算機的機制。這種啟動機制可以讓服務(wù)器在沒有本地存儲設(shè)備或操作系統(tǒng)情況下啟動。這種網(wǎng)絡(luò)啟動服務(wù)器的方式需要搭建一臺PXE服務(wù)端,提供TFTP、FTP與HTTP服務(wù)。首先啟動網(wǎng)絡(luò)的服務(wù)器作為客戶端在BIOS啟動階段向PXE服務(wù)器請求IP地址并自動設(shè)定IP地址,然后通過TFTP下載啟動文件到服務(wù)器內(nèi)存內(nèi)并運行進入PXE環(huán)境,最后PXE通過HTTP下載操作系統(tǒng)文件并完成服務(wù)器操作系統(tǒng)的配置[18]。PXE的工作流程如圖1所示。
圖1 PXE啟動工作流程
Figure 1 PXE bootworkflow
在服務(wù)器系統(tǒng)中,啟動過程可信是服務(wù)器可信運行的基礎(chǔ),對服務(wù)器啟動過程進行安全防護具有重要研究意義。沈昌祥等[14]提出了主動免疫可信計算,在進行運算的同時進行安全防護,運算過程可測可控,不被干擾,使運算結(jié)果總是與預(yù)期一樣。本節(jié)基于主動免疫可信計算理論,并結(jié)合服務(wù)器的PXE啟動特征提出了PXE可信啟動模型。
定義1 每個啟動階段的一個關(guān)鍵部件作為一個實體。
定義2 第一個啟動階段的關(guān)鍵部件作為實體0,稱為信任根。
以信任根為起點,對實體進行逐級度量與驗證,逐級信任,得到一個信任鏈。
以TPCM作為起點,進行逐級度量與驗證,最終得到一條信任鏈。
PXE服務(wù)端是一臺通用的服務(wù)器,提供DHCP服務(wù),響應(yīng)PXE客戶端的請求并為PXE客戶端分配IP地址;提供TPFP服務(wù),響應(yīng)PXE客戶端的請求,發(fā)送PXE啟動文件的內(nèi)容給PXE客戶端;提供HTTP服務(wù),響應(yīng)PXE客戶端請求,并發(fā)送Linux系統(tǒng)文件內(nèi)容給PXE客戶端??尚臥XE啟動架構(gòu)如圖2所示。
圖2 可信PXE啟動架構(gòu)
Figure 2 PXE trusted boot system structure
可信PXE啟動過程比較復(fù)雜,主要涉及TPCM、BIOS啟動環(huán)境、PXE啟動環(huán)境3部分,如圖3所示。
(1)TPCM先于CPU上電并啟動,由TPCM度量BIOS固件,如果度量通過,則啟動BIOS進入BIOS啟動環(huán)境;如果度量不通過,則發(fā)送報警信號。
(2)BIOS啟動環(huán)境選擇EFI Network啟動選項,開始進行PXE啟動。
(3)BIOS啟動環(huán)境向PXE服務(wù)端的DHCP服務(wù)發(fā)送獲取IP請求,PXE服務(wù)端響應(yīng)請求,分配IP地址給PXE客戶端的BIOS啟動環(huán)境,PXE客戶端設(shè)置自身IP地址。
(4)BIOS啟動環(huán)境向PXE服務(wù)端的TFTP服務(wù)發(fā)送獲取PXE啟動文件請求。
(5)PXE服務(wù)端響應(yīng)PXE客戶端請求,并發(fā)送PXE啟動文件內(nèi)容給PXE客戶端。
(6)BIOS啟動環(huán)境通過可信平臺模塊度量PXE啟動文件內(nèi)容,如果度量通過,則啟動PXE啟動環(huán)境;如果度量不通過,則發(fā)送報警信號。
(7)PXE啟動環(huán)境向PXE服務(wù)端的HTTP服務(wù)發(fā)送獲取Linux系統(tǒng)文件的請求。
(8)PXE服務(wù)端響應(yīng)PXE客戶端請求,并發(fā)送Linux系統(tǒng)文件內(nèi)容給PXE客戶端的PXE啟動環(huán)境。PXE啟動環(huán)境通過TPCM度量Linux系統(tǒng)文件的內(nèi)容,如果度量通過,進入下一步操作,可信PXE啟動完成;如果度量不通過,則發(fā)送報警信號。
圖3 可信PXE啟動過程
Figure 3 PXE trusted boot process
TPCM采用國密算法SM2、SM3與SM4作為密碼算法。TPCM的完整性度量摘要值計算函數(shù)為SM3。根據(jù)PXE啟動流程的3個階段進行3次可信度量?;赥PCM的可信度量流程如圖4所示。
(1)由TPCM度量BIOS固件。在BIOS固件編譯完成后,通過國密算法SM3計算其摘要值作為基準(zhǔn)值并存儲到TPCM中。在TPCM啟動后對BIOS固件進行可信度量,生成度量值,與基準(zhǔn)值進行比較,如果相等,則度量通過;如果不相等,則度量不通過。
圖4 基于TPCM的可信度量流程
Figure 4 Trusted measurement process based on TPCM
(2)由BIOS啟動環(huán)境度量PXE啟動文件。在PXE啟動文件編譯完成后,通過國密算法SM3計算其摘要值作為基準(zhǔn)值并存儲到BIOS中。在BIOS啟動環(huán)境從PXE服務(wù)端獲取PXE啟動文件后進行可信度量,生成度量值,與基準(zhǔn)值進行比較,如果相等則度量通過,進入PXE啟動環(huán)境;如果不相等,則度量不通過。
(3)由PXE啟動環(huán)境度量Linux系統(tǒng)文件。在Linux系統(tǒng)文件發(fā)布后,通過國密算法SM3計算其摘要值作為基準(zhǔn)值并存儲到PXE啟動文件中。在PXE啟動環(huán)境從PXE服務(wù)端獲取Linux系統(tǒng)文件后進行可信度量,生成度量值,與基準(zhǔn)值進行比較,如果相等,則度量通過,進入Linux系統(tǒng);如果不相等,則度量不通過。
(4)安全管理中心可以設(shè)定可信啟動策略,并根據(jù)可信啟動策略對報警信號進行處理。安全管理中心通過專用網(wǎng)絡(luò)接口與TPCM進行通信??尚艈硬呗园ò踩芾碇行慕邮盏綀缶幚硇盘枙r的處理方式,是繼續(xù)啟動使服務(wù)器進入不安全狀態(tài)還是終止啟動。例如,可信啟動策略設(shè)定為TPCM對BIOS固件度量失敗時,服務(wù)器終止啟動,那么安全管理中心在收到TPCM對BIOS固件度量失敗的報警信號后,對該信號存儲備查,并發(fā)出終止服務(wù)器啟動的控制指令。服務(wù)器收到安全管理中心的終止啟動指令后,終止服務(wù)器啟動。
本文所提方法的PXE客戶端為申威1621服務(wù)器,處理器為申威1621處理器,內(nèi)存8 GB× 4=32 GB,硬盤1TB,網(wǎng)卡為Inter 350吉比特網(wǎng)卡。PXE服務(wù)器端為通用服務(wù)器,在實驗時用普通PC代替,CPU為i7-3920XM,內(nèi)存16 GB,硬盤1 TB,網(wǎng)卡為Intel吉比特網(wǎng)卡。
對本文提出的方法進行實驗,需要做以下開發(fā)工作。
(1)編譯申威1621服務(wù)器符合UEFI規(guī)范的BIOS固件,通過SM3算法計算其摘要值作為基準(zhǔn)值,并存儲到TPCM中。通過申威1621服務(wù)器的BMC燒錄程序,將符合UEFI規(guī)范的BIOS固件燒錄到申威1621服務(wù)的BIOS的Flash芯片中。
(2)編譯PXE啟動文件,通過SM3算法計算其摘要值作為基準(zhǔn)值,并存儲到申威1621服務(wù)器符合UEFI規(guī)范的BIOS固件中。
(3)通過SM3算法計算Linux系統(tǒng)文件的摘要值作為基準(zhǔn)值,并存儲到PXE啟動文件中。
(4)搭建PXE服務(wù)端環(huán)境,安裝DHCP服務(wù)器;安裝TFTP服務(wù),并將PXE啟動文件放到TFTP服務(wù)的文件根目錄;安裝HTTP服務(wù),并將Linux系統(tǒng)文件放到HTTP服務(wù)的文件根目錄。
(5)申威1621服務(wù)器安裝并配置TPCM芯片。
在UEFI固件中增加通過TPCM對PXE文件的可信度量模塊,然后在服務(wù)端存放不同的PXE可信啟動文件進行測試,結(jié)果表明,只有沒有篡改的PXE啟動文件被加載??尚艈訉嶒灲Y(jié)果如圖5所示。TPCM對BIOS固件的度量結(jié)果表明,只有BIOS固件的內(nèi)容沒有被篡改,才能夠度量通過。PXE啟動環(huán)境對Linux系統(tǒng)文件的度量結(jié)果表明,只有Linux系統(tǒng)文件的內(nèi)容沒有被篡改,才能夠度量通過。
圖5 可信啟動實驗結(jié)果
Figure 5 Trusted bootexperiment results
4.3.1 安全性分析
本文提出的方法以TPCM為信任根,通用的可信計算節(jié)點具有很高的安全性。下面對可信PXE啟動方法的安全性進行分析。
(1)通過TPCM對申威1621服務(wù)器的UEFI規(guī)范的BIOS固件可信度量,有效防止了BIOS固件被篡改。
(2)通過BIOS啟動環(huán)境對PXE啟動文件進行可信度量,有效防止了PXE啟動文件被篡改。
(3)通過PXE啟動環(huán)境對Linux系統(tǒng)文件進行可信度量,有效防止了Linux系統(tǒng)文件被篡改。
以TPCM為信任根,一級度量一級,一級信任一級,形成一條完整的信任鏈,保障申威1621服務(wù)器運行在安全可信的環(huán)境中。
4.3.2 性能分析
本文根據(jù)網(wǎng)絡(luò)安全等級保護標(biāo)準(zhǔn)要求,基于可信計算理論提出了基于TPCM的網(wǎng)絡(luò)可信啟動方案,保障了服務(wù)器的BIOS固件、PXE啟動文件、Linux系統(tǒng)文件的安全可信。以TPCM為信任根逐級度量,逐級信任,建立一條信任鏈與可信的服務(wù)器運行環(huán)境。本文提出的方法在申威服務(wù)器上進行了實驗,實驗結(jié)果表明了本文提出的方法能夠及時發(fā)現(xiàn)被篡改的文件,并發(fā)出報警信號。只有沒有被篡改的文件才能夠度量通過,并能夠及時發(fā)現(xiàn)被篡改的文件,發(fā)出報警信號,證明了本文提出方法能夠保證服務(wù)器環(huán)境的安全可信運行。
本文提出的方法不包括服務(wù)器的操作系統(tǒng)實時運行時的應(yīng)用程序的安全可信,以后的工作會對操作系統(tǒng)實時運行的應(yīng)用程序進行動態(tài)可信度量,保障服務(wù)器環(huán)境運行過程的安全可信。
[1] 馮登國, 秦宇, 汪丹, 等. 可信計算技術(shù)研究[J]. 計算機研究與發(fā)展, 2011, 48(8):1332-1349.
FENG D G, QIN Y, WANG D, et al. Research on trusted computing technology[J]. Journal of Computer Research & Development, 2011, 48(8): 1332-1349.
[2] SHEN C X, ZHANG H G, WANG H M, et al. Research on trusted computing and its development[J]. Science in China Series F (Information Science), 2010, 53(3): 405-433.
[3] ZHANG H G, LUO J G, JIN G, et al. Development of trusted computing research[J]. Wuhan University Journal of Natural Sciences, 2006, 11(6): 1407-1413.
[4] 陳廣勇, 祝國邦, 范春玲. 《信息安全技術(shù)網(wǎng)絡(luò)安全等級保護測評要求》(GB/T 28448-2019)標(biāo)準(zhǔn)解讀[J]. 信息網(wǎng)絡(luò)安全, 2019, 19(7): 1-7.
CHEN G Y, ZHU G B, FAN C L. Information security technology—evaluation requirement for classified protection of cyber security(GB/T 28448-2019) standard interpretation[J]. Netinfo Security, 2019, 19(7): 1-8.
[5] 何欣楓, 田俊峰, 劉凡鳴. 可信云平臺技術(shù)綜述[J]. 通信學(xué)報, 2019, 40(2): 158-167.
HE X F, TIAN J F, LIU F M. Survey on trusted cloud platform technology[J]. Journal on Communications, 2019, 40(2): 158-167.
[6] 劉川意, 王國峰, 林杰, 等. 可信的云計算運行環(huán)境構(gòu)建和審計[J].計算機學(xué)報, 2016, 39(2): 339-350.
LIU C Y, WANG G F, LIN J, et al. Practical construction and audit for trusted cloud execution environment[J]. Chinese Journal of Computers, 2016, 39(2): 339-350.
[7] BAI G, HAO J, WU J, et al. TrustFound: towards a formal foundation for model checking trusted computing platforms[C]//International Symposium on Formal Methods. 2014.
[8] VON BOMHARD N, AHLBORN B, MASON C, et al. The trusted server: a secure computational environment for privacy compliant evaluations on plain personal data[J]. Plos One, 2018, 13(9): 1-19.
[9] 吳奇烜, 馬建峰, 孫聰. 采用完整性威脅樹的信息流完整性度量方法[J]. 網(wǎng)絡(luò)與信息安全學(xué)報, 2019, 5(2): 50-57.
WU Q X, MA J F, SUN C. Information flow integrity measurement method using integrity threat tree[J]. Chinese Journal of Network and Information Security, 2019, 5(2): 50-57.
[10] 胡浩, 劉玉嶺, 張玉臣, 等.基于攻擊圖的網(wǎng)絡(luò)安全度量研究綜述[J].網(wǎng)絡(luò)與信息安全學(xué)報, 2018, 4(9): 1-16.
HU H, LIU Y L, ZHANG Y C, et al. Survey of attack graph based network security metric[J]. Chinese Journal of Network and Information Security, 2018, 4(9): 1-16.
[11] 田俊峰, 常方舒. 基于TPM聯(lián)盟的可信云平臺管理模型[J]. 通信學(xué)報, 2016, 37(2):1-10.
TIAN J F, CHANG F S. Trusted cloud platform management model based on TPM alliance[J]. Journal on Communications, 2016, 37(2): 1-10.
[12] LI Y H, ZHANG Y D, LI P, et al. An efficient trusted chain model for real-time embedded systems[C]//International Conference on Computational Intelligence & Security. 2016.
[13] CONG W N, CAO K. Enabling secure and efficient ranked keyword search over outsourced cloud data[J]. IEEE Transactions on Parallel and Distributed Systems, 2012, 23(23): 1467-1479.
[14] 沈昌祥, 張大偉, 劉吉強, 等. 可信3.0戰(zhàn)略:可信計算的革命性演變[J]. 中國工程科學(xué), 2016, 18(6): 53-57.
SHEN C X, ZHANG D Q W, LIU J G, et al. The strategy of TC 3.0: a revolutionary evolution in trusted computing[J]. Strategic Study of CAE. 2016, 18(6): 53-57.
[15] 張興, 黃強, 沈昌祥. 一種基于無干擾模型的信任鏈傳遞分析方法[J]. 計算機學(xué)報, 2010, 33(1): 74-81.
ZHANG X, HUANG Q, SHEN C X, et al. A formal method based on noninterference for analyzing trust chain of trusted computing platform[J]. Chinese Journal of Computers, 2010, 33(1): 74-81.
[16] 郭穎, 毛軍捷, 張翀斌, 等. 基于可信平臺控制模塊的主動度量方法[J]. 清華大學(xué)學(xué)報(自然科學(xué)版), 2012, 52(10): 1465-1473.
GUO Y, MAO J J, ZHANG C B, et al. Active measures based on a trusted platform control module[J]. Journal of Tsinghua University, 2012, 52(10): 1465-1473.
[17] 王勇, 許榮強, 任興田, 等. 可信計算中信任鏈建立的形式化驗證[J]. 北京工業(yè)大學(xué)學(xué)報, 2016, 42(3): 387-392.
WANG Y, XU R Q, REN X T, et al. Formal verification of establishment of chain of trust in trusted computing[J]. Journal of Beijing University of Technology, 2016, 42(3): 387-392.
[18] HUANG G, YANG B. Research and improvement on PXE security of dynamic distributed network of non-fixed disk[J]. Journal of Computers, 2012, 7(7): 1681-1687.
TPCM-based trusted PXE boot method for servers
LIU Guojie1,2, ZHANG Jianbiao1,2
1. Faculty of Information Technology, Beijing University of Technology, Beijing 100124, China 2. Beijing Key Laboratory of Trusted Computing, Beijing 100124, China
The PXE startup mechanism downloads operating system files through the network and starts the operating system, which is widely used in server network startup. It is widely used in server network startup. The PXE boot process is secured and trusted through trusted computing technology to prevent the PXE boot file from being tampered with maliciously, ensuring the safe and reliable operation of the server. The cyber security classified protection standard requires that the system boot program and system program of the server device be trusted and verified based on the trusted root. A TPCM-based server trusted PXE boot method based on the requirements of classified protection standard was proposed to ensure the security and trust of the server's BIOS firmware, PXE boot files, and Linux system files. When the server performs PXE boot, TPCM measured BIOS firmware, BIOS boot environment measured PXE boot files, and PXE boot environment measured Linux system files. Taking TPCM as the root of trust, one level of measurement, one level of trust, and a chain of trust were established to achieve a trusted server operating environment. The proposed method was tested on a domestically-controlled, self-controllable Shenwei server. The experimental results show that the proposed method is feasible.
information security, trusted computing, TPCM, trusted startup
s: The National Natural Science Foundation of China(61971014), National Defense Science and Technology Laboratory of Information Security (2015XXAQ08)
TP393
A
10.11959/j.issn.2096?109x.2020079
劉國杰(1982? ),男,山東東營人,北京工業(yè)大學(xué)博士生,主要研究方向為網(wǎng)絡(luò)與信息安全、可信計算。
張建標(biāo)(1969? ),男,江蘇海門人,博士,北京工業(yè)大學(xué)教授、博士生導(dǎo)師,主要研究方向為網(wǎng)絡(luò)與信息安全、可信計算。
論文引用格式:劉國杰, 張建標(biāo). 基于TPCM的服務(wù)器可信PXE啟動方法[J]. 網(wǎng)絡(luò)與信息安全學(xué)報, 2020, 6(6): 105-111.
LIU G J, ZHANG J B. TPCM-Based trusted PXE boot method for servers[J]. Chinese Journal of Network and Information Security, 2020, 6(6): 105-111.
2020?08?26;
2020?10?24
張建標(biāo),zjb@bjut.edu.cn
國家自然科學(xué)基金(61971014);國防科技實驗信息安全實驗室對外開放項目(2015XXAQ08)