基于TPCM的服务器可信PXE启动方法
2020-12-18刘国杰张建标
刘国杰,张建标
基于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 引言
随着信息技术的发展,信息安全问题日益严峻[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在其内部设有可信度量根。基于TPCM建立信任链,避免了TCG方案中的UEFI固件被篡改对信任根带来的安全威胁。本文提出了基于TPCM服务器的可信PXE启动方法。
2 相关工作
2.1 TPCM
TPCM内部设有物理可信根,由可信度量根、可信存储根与可信报告根3个可信根组成,分别扩展实现可信度量、可信报告与可信存储功能。TPCM采用基于多度量代理的信任链传递模型,对平台启动的不同阶段,定义基于不同策略的扩展度量代理模块(EMM)[14]。从系统启动开始,TPCM先于CPU启动,构建以TPCM为信任根的信任链,并利用度量代理节点EMM,对主板、系统引导、系统内核和应用逐级进行可信度量,从而实现信任的传递与扩展[18]。
2.2 PXE启动工作流程
服务器的网络启动一般采用预启动执行环境。PXE提供了一种使用网络接口(network interface)启动计算机的机制。这种启动机制可以让服务器在没有本地存储设备或操作系统情况下启动。这种网络启动服务器的方式需要搭建一台PXE服务端,提供TFTP、FTP与HTTP服务。首先启动网络的服务器作为客户端在BIOS启动阶段向PXE服务器请求IP地址并自动设定IP地址,然后通过TFTP下载启动文件到服务器内存内并运行进入PXE环境,最后PXE通过HTTP下载操作系统文件并完成服务器操作系统的配置[18]。PXE的工作流程如图1所示。
图1 PXE启动工作流程
Figure 1 PXE bootworkflow
3 可信启动模型
3.1 可信启动模型
在服务器系统中,启动过程可信是服务器可信运行的基础,对服务器启动过程进行安全防护具有重要研究意义。沈昌祥等[14]提出了主动免疫可信计算,在进行运算的同时进行安全防护,运算过程可测可控,不被干扰,使运算结果总是与预期一样。本节基于主动免疫可信计算理论,并结合服务器的PXE启动特征提出了PXE可信启动模型。
定义1 每个启动阶段的一个关键部件作为一个实体。
定义2 第一个启动阶段的关键部件作为实体0,称为信任根。
以信任根为起点,对实体进行逐级度量与验证,逐级信任,得到一个信任链。
以TPCM作为起点,进行逐级度量与验证,最终得到一条信任链。
3.2 可信PXE启动架构
PXE服务端是一台通用的服务器,提供DHCP服务,响应PXE客户端的请求并为PXE客户端分配IP地址;提供TPFP服务,响应PXE客户端的请求,发送PXE启动文件的内容给PXE客户端;提供HTTP服务,响应PXE客户端请求,并发送Linux系统文件内容给PXE客户端。可信PXE启动架构如图2所示。
图2 可信PXE启动架构
Figure 2 PXE trusted boot system structure
3.3 可信PXE启动过程
可信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
3.4 可信度量流程
TPCM采用国密算法SM2、SM3与SM4作为密码算法。TPCM的完整性度量摘要值计算函数为SM3。根据PXE启动流程的3个阶段进行3次可信度量。基于TPCM的可信度量流程如图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固件度量失败的报警信号后,对该信号存储备查,并发出终止服务器启动的控制指令。服务器收到安全管理中心的终止启动指令后,终止服务器启动。
4 实验分析
4.1 实验设置
本文所提方法的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芯片。
4.2 实验结果
在UEFI固件中增加通过TPCM对PXE文件的可信度量模块,然后在服务端存放不同的PXE可信启动文件进行测试,结果表明,只有没有篡改的PXE启动文件被加载。可信启动实验结果如图5所示。TPCM对BIOS固件的度量结果表明,只有BIOS固件的内容没有被篡改,才能够度量通过。PXE启动环境对Linux系统文件的度量结果表明,只有Linux系统文件的内容没有被篡改,才能够度量通过。
图5 可信启动实验结果
Figure 5 Trusted bootexperiment results
4.3 实验分析
4.3.1 安全性分析
本文提出的方法以TPCM为信任根,通用的可信计算节点具有很高的安全性。下面对可信PXE启动方法的安全性进行分析。
(1)通过TPCM对申威1621服务器的UEFI规范的BIOS固件可信度量,有效防止了BIOS固件被篡改。
(2)通过BIOS启动环境对PXE启动文件进行可信度量,有效防止了PXE启动文件被篡改。
(3)通过PXE启动环境对Linux系统文件进行可信度量,有效防止了Linux系统文件被篡改。
以TPCM为信任根,一级度量一级,一级信任一级,形成一条完整的信任链,保障申威1621服务器运行在安全可信的环境中。
4.3.2 性能分析
5 结束语
本文根据网络安全等级保护标准要求,基于可信计算理论提出了基于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)