劉國杰,張建標
基于TPCM的服務器可信PXE啟動方法
劉國杰1,2,張建標1,2
(1. 北京工業大學信息學部,北京 100124;2. 可信計算北京市重點實驗室,北京 100124)
PXE啟動機制通過網絡下載操作系統文件并啟動操作系統,廣泛應用于服務器網絡啟動。通過可信計算技術保障PXE啟動過程的安全可信,防止PXE啟動文件被惡意篡改,確保服務器的安全可信運行。網絡安全等級保護標準要求基于可信根對服務器設備的系統引導程序、系統程序等進行可信驗證。根據等級保護標準要求,提出一種基于TPCM的服務器可信PXE啟動方法,保障服務器的BIOS固件、PXE啟動文件、Linux系統文件的安全可信。在服務器進行PXE啟動時,由TPCM度量BIOS固件,由BIOS啟動環境度量PXE啟動文件,由PXE啟動環境度量Linux系統文件。以TPCM為信任根逐級度量、逐級信任,建立信任鏈,建立可信的服務器運行環境。所提方法在國產自主可控申威服務器上進行了實驗,實驗結果表明所提方法是可行的。
信息安全;可信計算;可信平臺控制模塊;可信啟動
隨著信息技術的發展,信息安全問題日益嚴峻[1-3]。網絡安全等級保護國家標準對我國信息安全工作非常重要,被應用于網絡安全職能部門、網絡安全管理部門以及等級測評機構的各項工作中,標準要求在系統啟動時對信息設備的主板固件、引導程序、操作系統與關鍵應用程序進行可信驗證,并在檢測到被惡意篡改后發送報警信號[4]。服務器作為云計算的關鍵基礎設施,存在各種安全威脅。攻擊者可以未經授權通過PXE(PXE,preboot execution environment)啟動方式啟動服務器,運行惡意程序,破壞或竊取重要數據,危害服務器的運行環境。必須從服務器的PXE啟動開始,保障服務器整個PXE啟動過程的安全可信,才能保障服務器運行環境與重要數據的安全可信[5-7]。
國內外學者對服務器的可信啟動進行了大量研究。文獻[8]借助可信服務器實現終端可信啟動,實現了基于第三方的在線可信度量[9-10]。可信計算組織(TCG,Trusted computing group)提出了基于可信平臺模塊(TPM,trusted platform module)[11]的通過存儲在BIOS固件的可信度量根核(CRTM,core root of trusted for measurement)作為可信根對BIOS的其余部分進行度量,然后由BIOS度量操作系統加載器(BootLoader),由BootLoader度量操作系統,形成一條信任鏈。TCG提出的引導機制有3種硬件平臺實現方案:①將TPM芯片嵌入主板,需要對計算機硬件結構修改;②通過外設部件互聯標準(PCI,peripheral component interconnect)增加TPM芯片;③通過USB接口增加TPM芯片,這種方式需要修改BIOS程序,可操作性差且工作量大[12-15]。
TCG提出的解決方案,以TPM為信任根作為外掛部件被動調用,無法進行主動度量。我國學者提出了可信平臺控制模塊(TPCM,trusted platform control module)[16-17],作為可信計算平臺的信任根,是可信計算的核心模塊。TPCM在其內部設有可信度量根?;赥PCM建立信任鏈,避免了TCG方案中的UEFI固件被篡改對信任根帶來的安全威脅。本文提出了基于TPCM服務器的可信PXE啟動方法。
TPCM內部設有物理可信根,由可信度量根、可信存儲根與可信報告根3個可信根組成,分別擴展實現可信度量、可信報告與可信存儲功能。TPCM采用基于多度量代理的信任鏈傳遞模型,對平臺啟動的不同階段,定義基于不同策略的擴展度量代理模塊(EMM)[14]。從系統啟動開始,TPCM先于CPU啟動,構建以TPCM為信任根的信任鏈,并利用度量代理節點EMM,對主板、系統引導、系統內核和應用逐級進行可信度量,從而實現信任的傳遞與擴展[18]。
服務器的網絡啟動一般采用預啟動執行環境。PXE提供了一種使用網絡接口(network interface)啟動計算機的機制。這種啟動機制可以讓服務器在沒有本地存儲設備或操作系統情況下啟動。這種網絡啟動服務器的方式需要搭建一臺PXE服務端,提供TFTP、FTP與HTTP服務。首先啟動網絡的服務器作為客戶端在BIOS啟動階段向PXE服務器請求IP地址并自動設定IP地址,然后通過TFTP下載啟動文件到服務器內存內并運行進入PXE環境,最后PXE通過HTTP下載操作系統文件并完成服務器操作系統的配置[18]。PXE的工作流程如圖1所示。

圖1 PXE啟動工作流程
Figure 1 PXE bootworkflow
在服務器系統中,啟動過程可信是服務器可信運行的基礎,對服務器啟動過程進行安全防護具有重要研究意義。沈昌祥等[14]提出了主動免疫可信計算,在進行運算的同時進行安全防護,運算過程可測可控,不被干擾,使運算結果總是與預期一樣。本節基于主動免疫可信計算理論,并結合服務器的PXE啟動特征提出了PXE可信啟動模型。
定義1 每個啟動階段的一個關鍵部件作為一個實體。
定義2 第一個啟動階段的關鍵部件作為實體0,稱為信任根。


以信任根為起點,對實體進行逐級度量與驗證,逐級信任,得到一個信任鏈。



以TPCM作為起點,進行逐級度量與驗證,最終得到一條信任鏈。

PXE服務端是一臺通用的服務器,提供DHCP服務,響應PXE客戶端的請求并為PXE客戶端分配IP地址;提供TPFP服務,響應PXE客戶端的請求,發送PXE啟動文件的內容給PXE客戶端;提供HTTP服務,響應PXE客戶端請求,并發送Linux系統文件內容給PXE客戶端??尚臥XE啟動架構如圖2所示。

圖2 可信PXE啟動架構
Figure 2 PXE trusted boot system structure
可信PXE啟動過程比較復雜,主要涉及TPCM、BIOS啟動環境、PXE啟動環境3部分,如圖3所示。
(1)TPCM先于CPU上電并啟動,由TPCM度量BIOS固件,如果度量通過,則啟動BIOS進入BIOS啟動環境;如果度量不通過,則發送報警信號。
(2)BIOS啟動環境選擇EFI Network啟動選項,開始進行PXE啟動。
(3)BIOS啟動環境向PXE服務端的DHCP服務發送獲取IP請求,PXE服務端響應請求,分配IP地址給PXE客戶端的BIOS啟動環境,PXE客戶端設置自身IP地址。
(4)BIOS啟動環境向PXE服務端的TFTP服務發送獲取PXE啟動文件請求。
(5)PXE服務端響應PXE客戶端請求,并發送PXE啟動文件內容給PXE客戶端。
(6)BIOS啟動環境通過可信平臺模塊度量PXE啟動文件內容,如果度量通過,則啟動PXE啟動環境;如果度量不通過,則發送報警信號。
(7)PXE啟動環境向PXE服務端的HTTP服務發送獲取Linux系統文件的請求。
(8)PXE服務端響應PXE客戶端請求,并發送Linux系統文件內容給PXE客戶端的PXE啟動環境。PXE啟動環境通過TPCM度量Linux系統文件的內容,如果度量通過,進入下一步操作,可信PXE啟動完成;如果度量不通過,則發送報警信號。

圖3 可信PXE啟動過程
Figure 3 PXE trusted boot process
TPCM采用國密算法SM2、SM3與SM4作為密碼算法。TPCM的完整性度量摘要值計算函數為SM3。根據PXE啟動流程的3個階段進行3次可信度量?;赥PCM的可信度量流程如圖4所示。
(1)由TPCM度量BIOS固件。在BIOS固件編譯完成后,通過國密算法SM3計算其摘要值作為基準值并存儲到TPCM中。在TPCM啟動后對BIOS固件進行可信度量,生成度量值,與基準值進行比較,如果相等,則度量通過;如果不相等,則度量不通過。

圖4 基于TPCM的可信度量流程
Figure 4 Trusted measurement process based on TPCM
(2)由BIOS啟動環境度量PXE啟動文件。在PXE啟動文件編譯完成后,通過國密算法SM3計算其摘要值作為基準值并存儲到BIOS中。在BIOS啟動環境從PXE服務端獲取PXE啟動文件后進行可信度量,生成度量值,與基準值進行比較,如果相等則度量通過,進入PXE啟動環境;如果不相等,則度量不通過。
(3)由PXE啟動環境度量Linux系統文件。在Linux系統文件發布后,通過國密算法SM3計算其摘要值作為基準值并存儲到PXE啟動文件中。在PXE啟動環境從PXE服務端獲取Linux系統文件后進行可信度量,生成度量值,與基準值進行比較,如果相等,則度量通過,進入Linux系統;如果不相等,則度量不通過。
(4)安全管理中心可以設定可信啟動策略,并根據可信啟動策略對報警信號進行處理。安全管理中心通過專用網絡接口與TPCM進行通信。可信啟動策略包括安全管理中心接收到報警處理信號時的處理方式,是繼續啟動使服務器進入不安全狀態還是終止啟動。例如,可信啟動策略設定為TPCM對BIOS固件度量失敗時,服務器終止啟動,那么安全管理中心在收到TPCM對BIOS固件度量失敗的報警信號后,對該信號存儲備查,并發出終止服務器啟動的控制指令。服務器收到安全管理中心的終止啟動指令后,終止服務器啟動。
本文所提方法的PXE客戶端為申威1621服務器,處理器為申威1621處理器,內存8 GB× 4=32 GB,硬盤1TB,網卡為Inter 350吉比特網卡。PXE服務器端為通用服務器,在實驗時用普通PC代替,CPU為i7-3920XM,內存16 GB,硬盤1 TB,網卡為Intel吉比特網卡。
對本文提出的方法進行實驗,需要做以下開發工作。
(1)編譯申威1621服務器符合UEFI規范的BIOS固件,通過SM3算法計算其摘要值作為基準值,并存儲到TPCM中。通過申威1621服務器的BMC燒錄程序,將符合UEFI規范的BIOS固件燒錄到申威1621服務的BIOS的Flash芯片中。
(2)編譯PXE啟動文件,通過SM3算法計算其摘要值作為基準值,并存儲到申威1621服務器符合UEFI規范的BIOS固件中。
(3)通過SM3算法計算Linux系統文件的摘要值作為基準值,并存儲到PXE啟動文件中。
(4)搭建PXE服務端環境,安裝DHCP服務器;安裝TFTP服務,并將PXE啟動文件放到TFTP服務的文件根目錄;安裝HTTP服務,并將Linux系統文件放到HTTP服務的文件根目錄。
(5)申威1621服務器安裝并配置TPCM芯片。
在UEFI固件中增加通過TPCM對PXE文件的可信度量模塊,然后在服務端存放不同的PXE可信啟動文件進行測試,結果表明,只有沒有篡改的PXE啟動文件被加載??尚艈訉嶒灲Y果如圖5所示。TPCM對BIOS固件的度量結果表明,只有BIOS固件的內容沒有被篡改,才能夠度量通過。PXE啟動環境對Linux系統文件的度量結果表明,只有Linux系統文件的內容沒有被篡改,才能夠度量通過。

圖5 可信啟動實驗結果
Figure 5 Trusted bootexperiment results
4.3.1 安全性分析
本文提出的方法以TPCM為信任根,通用的可信計算節點具有很高的安全性。下面對可信PXE啟動方法的安全性進行分析。
(1)通過TPCM對申威1621服務器的UEFI規范的BIOS固件可信度量,有效防止了BIOS固件被篡改。
(2)通過BIOS啟動環境對PXE啟動文件進行可信度量,有效防止了PXE啟動文件被篡改。
(3)通過PXE啟動環境對Linux系統文件進行可信度量,有效防止了Linux系統文件被篡改。
以TPCM為信任根,一級度量一級,一級信任一級,形成一條完整的信任鏈,保障申威1621服務器運行在安全可信的環境中。
4.3.2 性能分析


本文根據網絡安全等級保護標準要求,基于可信計算理論提出了基于TPCM的網絡可信啟動方案,保障了服務器的BIOS固件、PXE啟動文件、Linux系統文件的安全可信。以TPCM為信任根逐級度量,逐級信任,建立一條信任鏈與可信的服務器運行環境。本文提出的方法在申威服務器上進行了實驗,實驗結果表明了本文提出的方法能夠及時發現被篡改的文件,并發出報警信號。只有沒有被篡改的文件才能夠度量通過,并能夠及時發現被篡改的文件,發出報警信號,證明了本文提出方法能夠保證服務器環境的安全可信運行。
本文提出的方法不包括服務器的操作系統實時運行時的應用程序的安全可信,以后的工作會對操作系統實時運行的應用程序進行動態可信度量,保障服務器環境運行過程的安全可信。
[1] 馮登國, 秦宇, 汪丹, 等. 可信計算技術研究[J]. 計算機研究與發展, 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] 陳廣勇, 祝國邦, 范春玲. 《信息安全技術網絡安全等級保護測評要求》(GB/T 28448-2019)標準解讀[J]. 信息網絡安全, 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] 何欣楓, 田俊峰, 劉凡鳴. 可信云平臺技術綜述[J]. 通信學報, 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] 劉川意, 王國峰, 林杰, 等. 可信的云計算運行環境構建和審計[J].計算機學報, 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]. 網絡與信息安全學報, 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] 胡浩, 劉玉嶺, 張玉臣, 等.基于攻擊圖的網絡安全度量研究綜述[J].網絡與信息安全學報, 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聯盟的可信云平臺管理模型[J]. 通信學報, 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戰略:可信計算的革命性演變[J]. 中國工程科學, 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]. 計算機學報, 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]. 清華大學學報(自然科學版), 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]. 北京工業大學學報, 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? ),男,山東東營人,北京工業大學博士生,主要研究方向為網絡與信息安全、可信計算。
張建標(1969? ),男,江蘇海門人,博士,北京工業大學教授、博士生導師,主要研究方向為網絡與信息安全、可信計算。
論文引用格式:劉國杰, 張建標. 基于TPCM的服務器可信PXE啟動方法[J]. 網絡與信息安全學報, 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
張建標,zjb@bjut.edu.cn
國家自然科學基金(61971014);國防科技實驗信息安全實驗室對外開放項目(2015XXAQ08)