基于BMC的服务器可信启动方法研究

doi:10.3969/j.issn.1671-1122.2021.05.008
基于BMC的服务器可信启动方法研究
徐万山,张建标,袁艺林,李铮
(北京工业大学信息学部计算机学院,北京 100124)
摘  要:可信计算技术以硬件安全为基础,通过信任链、远程证明等技术能够有效实现本地和远程计算系统的安全,在系统安全启动、度量证明等方面得到了广泛应用。
当前,终端设备的安全启动技术已经比较成熟,但是对服务器可信启动技术的研究仍然
较少。针对服务器BIOS固件、操作系统内核镜像可能被篡改,服务器启动过程中由于
信任链过长而导致信任丢失、效率较低等问题,文章提出基于BMC(Baseboard Manager菜罩
Controller,基板管理控制器)的服务器可信启动方法。该方法以BMC为可信根,利用
星型信任链结构构建信任链,实现服务器可信启动;同时文章结合信息流无干扰理论模
型,对服务器可信启动进行了形式化描述。BMC是服务器上的通用部件,文章提出的
可信启动方法以BMC为可信根,不需要额外硬件,具有更好的通用性;同时由于采用
星型结构,减少了服务器启动过程中信任的传递,能够有效提高服务器启动过程的安全
性和启动效率。
关键词:BMC;可信启动;主动度量;星型链
中图分类号:TP309  文献标志码: A  文章编号:1671-1122(2021)05-0067-07
中文引用格式:徐万山,张建标,袁艺林,等.基于BMC的服务器可信启动方法研究[J].信息网络安全,2021,21(5):67-73.
英文引用格式:XU Wanshan, ZHANG Jianbiao, YUAN Yilin, et al. Research on Trusted Server Startup Method Based on BMC[J]. Netinfo Security, 2021, 21(5): 67-73.
Research on Trusted Server Startup Method Based on BMC
XU Wanshan, ZHANG Jianbiao, YUAN Yilin, LI Zheng
(School of Computer Science, Department of Information Science, Beijing University of Technology, Beijing
100124, China)
Abstract: Based on hardware security, trusted computing technology can effectively realize the security of local and remote computing systems through trust chain, remote
attestation and other technologies, and has been widely used in system security startup and
measurement attestation. At present, the secure startup technology of terminal equipment
has been relatively mature, but the research on trusted server startup technology is still less.
Aiming at the problems of server BIOS firmware and operating system kernel image being
tampered with, trust loss and low efficiency caused by long trust chain during server startup,
结晶器铜管收稿日期:2020-10-20
基金项目:国家自然科学基金[61971014]
作者简介:徐万山(1988—),男,山东,博士研究生,主要研究方向为信息安全和可信计算;张建标(1969—),男,江苏,教授,博士,主要研究方向为信息安全和可信计算;袁艺林(1991—),女,河南,博士研究生,主要研究方向为信息安全和云安全;李铮(1992—),女,山东,讲师,博士,主要研究方向为信息安全和密码分析。
通信作者:
this paper proposes a trusted server startup method based on BMC (baseboard manager controller). In this method, BMC is taken as the trusted root, and the star trust chain structure is used to construct the trust chain to realize the trusted start of the server. At the same time, combining with the information flow non-interference theoretical model, this paper gives a formal description of the tr
usted server startup. BMC is a common component on the server. The trusted startup method proposed in this paper takes BMC as the trusted root, which does not need additional hardware and has better versatility. At the same time, because of the star structure, this method reduces the trust transmission in the server startup process, and can effectively improve the security and efficiency of the server startup process.
Key words: BMC; trusted startup; active measurement; star chain
0 引言
服务器在信息系统中具有举足轻重的作用,因此服务器的安全问题备受关注,近几年频繁发生的针对服务器的大规模DDoS攻击对国家和社会安全产生了严重影响。传统解决服务器安全的手段主要有防火墙、入侵检测系统(IDS)、入侵防御系统(IPS)、SDN以及虚拟化技术等,这些手段虽然能在一定程度上保护服务器的安全,但是新的病毒、木马种类不断出现,传统手段越来越无法应对,总是处于“打补丁”“被动查杀”的局面,无法“主动防御”。此外,服务器也面临侧信道攻击、接触式固件攻击等攻击,如针对服务器BIOS固件的攻击以及针对服务器基板管理控制器(BMC)的攻击等,这些攻击手段在操作系统层面以外,传统的“围堵查杀”手段更无法处理。因此,传统的安全手段在面对服务器安全问题时存在天然缺陷。
可信计算技术[1]基于可信硬件,在系统启动时逐层度量,实现计算环境的安全保障和代码的可靠运行。相较传统的安全手段,可信计算技术具有主动免疫的特性,能够对未知的病毒和木马等安全威胁进行主动检测和防御,提供更高级别的安全性。
2019年国家颁布了等级保护2.0相关系列国家标准,标准明确规定在重要信息系统实行等级保护制度,并将可信计算技术列为核心防御技术,提出全面使用安全可信的产品和服务来保障关键基础设施安全。基于可信根实现从开机到操作系统启动的可信验证是等级保护2.0的基本要求。服务器是信息系统的重要基础设施,研究将可信计算技术应用到服务器启动过程,对服务器启动关键节点实现完整性度量和保证服务器安全启动具有重要的现实意义,也是可信计算的重要应用之一[2]。
BMC是服务器上的一个独立器件,主要实现对服务器硬件设备的监测和控制。BMC具有独立的处理器、内存和存储空间,能够主动执行运算和存储功能。服务器启动过程首先给BMC上电,然后给主板上电。由于BMC首先上电,因此它可以首先获取系统的控制权,可信度最高。以BMC为可信根,通过在BMC内部设计密码功能模块,利用BMC对服务器的主动控制功能,对服务器启动过程的关键步骤进行主动度量、主动控制及可信验证,可以实现对服务器启动的主动度量,从而使得可信度量不再依赖于宿主机,实现“计算”和“防护”并行的双体系结构,有效提高系统安全性。
1 相关工作
可信启动是指利用可信计算实现计算机的安全启动。可信启动是系统安全的基石,是其他系统安全的重要前提。可信启动的关键是可信根和信任链。可信根用于提供加解密算法和密钥、基准值的安全存储;信任链用于实现系统可信状态的传递,将系统的可信状态从可信根延伸到操作系统及系统应用和网络。
信任链是实现可信启动的关键,信任链上从可信根到应用程序的信任传递过程也是系统控制权的转移过程,信任链在可信计算中处于核心基础地位[3]。信任链有链式和星型两种结构,链式结构简单、容易实现,但节点过多,可能产生信任丢失,星型信任链能避免
此问题。徐开勇[4]等人提出了星型-链式混合信任链结构,以提高系统主动度量的效率。在信任链的模型表达方面,非常适合采用信息流无干扰理论的单步隔离、输出隔离和最小完整性性质。司丽敏[5]等人利用无干扰理论从应用程序的角度构建了信任链传递模型;陈亮[6]等人从进程的角度对信任链的传递进行了形式化描述;常德显[7]等人对可信虚拟平台的信任链进行了分析;赵佳[8]等人从动态的角度建立了基于无干扰理论的可信链模型,并进行了形式化描述和验证。
uv转印胶现有的可信启动技术主要采用可信密码模块作为可信根,利用“一级信任一级,一级度量一级”的方式构建信任链,实现可信启动。终端可信启动技术主要包括基于数字签名的可信启动技术[9]、基于USBKEY的可信启动技术[10]以及基于TPM的可信启动技术等。云环境中,可信启动技术主要通过物理可信根到虚拟可信根的映射来实现,将一个物理可信根映射为多个虚拟可信根,实现云环境下基于虚拟可信根的可信启动[11-13]。在服务器的可信启动方案中,修桂林[14]等人利用服务器的多核架构,提出了基于可信处理器的服务器安全启动方案,实现了芯片级的可信启动,但是这种方案需要专用处理器的支持,通用性较差。孙亮[15]等人提出了基于可信BMC的服务器安全启动机制,该方案以BMC为可信根实现服务器的可信启动,然而这种方案基于传统迭代式信任链,信任链过长,启动效率不高。在嵌入式领域,赵波[16]等人提出了基于外置TF卡的可信启动方案,适用于嵌入式环境下对设备体积、性能有严格要求的场景。现有的可信启动方案与本文方案的对比如表1所示。
表1 可信启动方案对比
方案可信根信任链启动时间主动度量通用文献[9]方案IROM固件链式O n()否是
文献[14]方案RCP芯片链式O n()是否
文献[16]方案TF卡链式O n()否是
本文方案BMC星型O n
(log)是是
2 基于BMC的服务器可信启动方案
本章首先采用信息流无干扰理论对本文提出的可信启动方案进行形式化描述,证明方案的可信性;然后描述本文采用的基于BMC的星型信任链结构;最后描述基于BMC的服务器可信启动的具体流程,并对方案的可信性进行分析。
2.1 基于BMC的服务器可信启动形式化描述
定义1 基于BMC的服务器可信启动方案基于BMC 的服务器可信启动方案可以看作一个系统∑={P, S, A,O, F i=[1,2,3], R i=[1,2]}。其中,P={p0, p1, p2,…, p n,q},表示系统启动过程中的进程。S={s0, s1, s2,…, s n},表示系统启动过程中的状态。系统从一个初始状态开始,从一个状态到达另一个状态,直到到达预期的最终状态。A={a0, a1,a2,…,a n},表示系统启动过程中执行的动作。O表示系统启动过程中输出的结果。F表示系统中的函数,主要有F1,F2和F3。F1为单步函数step:S×A→S,表示系统执行一个动作后从当前状态转移到下一个状态。F2为执行函数run:S×A*→S,表示系统执行一个动作序列后的状态变化,是多个单步动作的叠加。由于执行函数是多个单步动作的叠加,因此具有下述性质:
run s
run s a run step s a
run s a step run s a
(,)
(,)((,),)
(,)((,),)
αα
Λ=Λ
链轮设计αα
=
=
(1)
其中,Λ表示空动作, 表示动作的连接,α表示一系列动作的集合。F3为输出函数output:S×A→O,表示系统执行动作后的输出结果。R表示二元关系集合。R1为=p,表示状态集合上关于进程p的等价关系。R2为⇒,表示进程集合上的干扰关系。若p ⇒q,表示p的执行对q 有影响;若p  q,表示p的执行对q没有影响。
定义2 清除函数 清除函数purge(α, p)定义为
purge p
purge a p
(,)=
(,)
ΛΛ
α=
a purge p a p
purge p a p
(,)
α
(,)
α⇒
(2)
清除函数表示动作之间的干扰关系,保留了有干扰的动作,对没有干扰的动作进行了清除。
定义3 单步隔离性 假设s,t ⊂S,a ⊂A,若系统中功能模块满足如下条件:s =t ⇒F1(s,a) =F1(t,a),则称系统
满足单步隔离。
定义4 输出隔离性 假设s ,t ⊂S ,a ⊂A ,若系统中功能模块满足如下条件:s = t ⇒F 2(s , a ) = F 2(t , a ),则称系统满足输出隔离。
定义5 可信系统 若系统∑满足以下两个条件,称∑是一个可信系统:
1)s 0是可信根;
2)s =run (s ,α) ⊂ S ,即系统中执行动作后的状态是合法的、可预测的。
服务器可信启动过程由一系列动作组成,每个动作的执行会引起系统状态的变化,产生执行结果。在服务器启动过程中,如果最后一个状态是可信的,则表明系统启动过程是可信的。在这个过程中,每个动作是一个单步,如果能证明单步可信和执行结果可信,就能证明启动过程可信。因此,有如下定理。
定理1 服务器启动过程满足下面3个条件时,服务器启动过程称为可信启动:
1)系统从可信根开始运行;
2)系统中的进程满足单步隔离性和输出隔离性;3)系统中的进程满足可信验证的性质。证明:由于条件1)是系统从可信根开始,即系统初始状态s 0是可信根,因此系统满足定义5。假设在进行了一系列动作α后系统状态s 可信,则当前进程p 满足
run s run s purge p (,)(,(,))00αα=p
(3)
系统执行下一个动作a ,进入下一个状态s' = ( p ',α a ),根据归纳法,需要证明
run s a run s purge a p'(,)(,(,))00αα  =p'
(4)
由执行函数run 的性质可知run (s ,α a ) = step (run (s , α),a ),则run (s 0,α a )=step (run (s 0,α),a )。又有run (s 0, purge (α a , p'))= run (s 0, purge (α, p' ) a )=step (run (s 0, purge (α, p' )),a )。因此要证明公式(4),等价转化为证明
step run s a step run s purge p'a ((,),)((,(,)),)00αα=p'
(5) 系统满足单步隔离性,即要证明
run s run s purge p'(,)(,(,))00αα=p'
(6)
此时,当动作a 由进程p 发出,则p'=p ,归纳假设得证。若动作a 不是由进程p 发出,即p'≠p ,根据假设条件3),可以得出公式(6)。
综上所述,假设得证,证毕。
2.2 基于BMC 的信任链建立
基于BMC 的服务器可信启动方案以BMC 为可信根,采用星型信任链代替TCG 规范中的迭代式信任链,防止因信任链过长导致的信任损失问题,提高启动效率。
TCG 规范中的信任链是一条单链。从可信根开始,当前模块对下一级模块的完整性进行度量,得出下一级模块的可信状态;如果下一级模块可信,则将信任状态传递给该下一级;由此依次实现系统启动各个模块的完整性度量,完成信任链的建立。迭代式信任链建立过程如图1所示。
度量信任启动顺序
图1 传统迭代式信任链建立过程
指纹认证
传统信任链模式是一种串行结构,系统启动过程中信任逐层传递,从可信根至应用软件,需要3 ~5次传递,信任链过长,可能导致信任丢失。此外,这种信任链结构中当前模块的度量由上一个模块实现,这导致两个问题:1)当前模块嵌入了下一个阶段的度量和控制代码,破坏了原有的代码结构,同时度量和控制由系统启动的各个模块执行,不受可信根的直接控制,安全性低;2)链式结构是对系统启动阶段逐个度量,度量时间长,启动效率低。采用星型信任链可以有效解决上述两个问题。星型信任链结构如图2所示。
相较于链式结构,星型信任链结构采用放射性机制,系统启动过程中可信根通过代理程序采集启动模块的环境信息和属性信息,可信根根据预定的度量策略对采集的信息进行分析,完成对启动模块的度量,
根据度量结果执行相应的控制。由于度量和控制均由可信根实现,因此能够减低信任值的传递次数,提高系统的安全性。同时,可信根通过多进程可以对各个启动模块进行并行度量,缩短度量时间,提高启动效率。
在基于BMC的星型信任链构建过程中,以BMC 为可信根,实现对BIOS固件、引导程序和操作系统内核镜像的并行度量,度量通过后BMC转交系统控制权,系统按照正常顺序启动,如图3所示。
度量信任启动顺序
图3 基于BMC的星型信任链模型
2.3 基于BMC的服务器可信启动流程
2.3.1 启动流程概述
基于BMC的服务器可信启动流程如下:
1)可信根BMC启动,即加载密码运算、度量值存储等功能模块;加载BIOS固件、操作系统内核镜像基准值和系统初始状态s0。由于是从可信根开始启动,因此系统的初始状态是可信的。
2)BMC通过代理程序对服务器主机的BIOS固件、引导程序、操作系统内核镜像等信息进行读取,将读取到的信息返回BMC。
3)BMC通过多进程技术,调用本地完整性度量接口,对读取到的BIOS固件、引导程序、操作系统内核镜像等信息分别进行校验,得出校验值。
4)BMC将由步骤3)得出的校验值与本地存储的基准值进行比对,如果比对结果一致,证明镜像没有被更改,是安全的,BMC转交相应功能模块控制权;如果比对结果不一致,证明镜像被更改,是不安全的,BMC调用控制程序,终止程序启动。
5)系统启动阶段度量完成,操作系统启动,服务器可信启动完成。
2.3.2 启动流程分析
根据2.1节服务器可信启动的形式化描述,启动过程满足定理1的3个条件即为可信启动。本文提出的基于BMC的服务器可信启动方案中,BMC是可信根,代替传统可信启动方案中的TCM模块,满足定理1中系统从可信根开始运行的要求。在系统启动过程中,BMC 对BIOS固件、引导程序、操作系统内核镜像等信息进行主动度量,由于采用星型信任链结构,BMC可以采用多进程的方式实现不同启动阶段的单步度量,满足定理1中系统单步隔离和输出隔离的要求。此外,所有度量进程均由BMC发起,BM
C是可信根,BMC可以将系统的度量值与本地保存的基准值进行比对,进行完整性验证,因此可以保证度量进程的可信验证,满足定理1中可信验证的要求。综上分析,本文提出的基于BMC 的服务器启动方案满足服务器可信启动的形式化描述,能够保证服务器启动的可信性。
3 实验与分析
为验证本文方法的正确性和运行效率,在申威服务器平台上对本文提出的基于BMC的服务器可信启动方法进行实验。本文实验中,采用SHA  256算法进行镜像完整性校验,采用RSA算法进行数据加解密。不锈钢勾花网
1)度量值
本文实验主要针对BIOS固件、引导程序和操作系统内核文件进行度量,文件大小如表2所示。
表2 文件大小
BIOS固件引导程序操作系统内核文件文件名称SENWEI.fd bootloader.bin vmlinuz-4.4.15-sw64
文件大小/MB2.00.08219.4
对3个文件进行完整性度量,分别针对正常文件和
度量信任启动顺序图2 星型信任链结构

本文发布于:2024-09-22 05:31:56,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/314552.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:可信   启动   服务器   信任   度量   系统
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议