《一种高性能可信平台控制模块的设计和实现.docx》由会员分享,可在线阅读,更多相关《一种高性能可信平台控制模块的设计和实现.docx(10页珍藏版)》请在优知文库上搜索。
1、引a可信平台控制模块(TrUStedP1.atformContro1.ModU1.e,TPCM)的前身可信平台模块(TrUStedP1.atformModu1.e,TPM)是一种基于可信计算技术的硬件设备.模块与宿主机相连,用于验证用户、硬件、系统的身份信息,并处理宿主机可信计算相关的业务请求.可信计算联盟rustedComputingGroup,TCG)提出的可信平台模型的可信度量根是可信启动代码,可信模块受宿主机支配,属于被动度量.模块无法保证宿主机启动代码和处理器启动时的可信状态.如果启动代码遭到算改,可以使宿主机绕过可信平台模块运行而不受控制,可信功能完全失效.现在以BIOS(BaSi
2、C1.nPUtoUtPUtSyStem,基本输入输出系统)、UEFI(UnifiedExtensib1.eFirmwareInterfaCe,统一可扩展固件接口)等启动代码为目标的攻击越来越多,TPM不足以应对这类威胁.我国在可信计算技术领域上居于世界先进水平,提出了将可信模块作为可信根的主动度量技术。模块在开机后中断主机的启动操作,度量认证启动代码,认证通过后解除控制,主机正常启动.近年来出现了很多关于TPCM实现启动代码度量技术的研究成果.这些方法实现了计算机启动控制和启动代码度量认证,为可信应用提供了更好的支撑。目前主要有两种启动代码度量的方式:一种思路是控制电源电路,先度量启动代码,然
3、后让主板上电;另一种思路是控制CPU的更位信号哲缓CPU的启动,在启动代码度量通过后让CPU读取启动代码.两种主动度量实现方式都不可避免地需要在主板上集成控制电路和启动代码,必须修改主板硬件.前者需要修改主机的电源电路和主板两部分硬件,还需要加装电源控制模块.后者需要在主板上实现控制电路,工作量也比较大.本文基于上述第二种思路,提出一种优化方案,将可信BIOS放置在TPCM内部,TPCM在上电自检时对BIOS的度量认证,之后使能CPU完成BIOS的启动。通过这种方式可进一步减少主板的改动,增强平台的安全性.同时由于采用了PC1.e接口作为业务接口,出码服务速率高,可以承担更多应用。O1.可信平
4、台控制模块1.1 技术背景和发展随着社会生活日益信息化网络化,对计算机的攻击日益增加.例如WANNACRY勒索病毒,仅一次攻击就涉及150个国家的上百万台计算机,造成多个国家政府部门和大企业信息系统瘫痪,影响了社会运转并导致了巨大经济损失.而传统的安全防护措施(杀毒软件、防火墙、入侵检测等)过于被动,只能根据既定策略对网络攻击进行探测和阻断,导致在新型攻击发生时,无法及时研制新对策并部署实施,攻击被中止或结束时,已产生较大损害.可信计算技术作为一种采用主动防御机制可较好的解决以上问题.通过在计算机内安装专用硬件可信模块,并注入确认安全的软硬件预期值信息,在开机后使用度量认证方式对软硬件进行检测
5、,与模块内笆预期状态相同时判断为可信,可以加载运行,所有与预期状态不同的均不能运行,从而及时有效地防止了病毒、木马、篡改软件等非法攻击,保证计算机运行于可信状态.国际上的可信计算联盟在1999年提出了可信平台模块(TPM)的概念,并制定大量标准规范,TPM实现了计算机本机可信的主要功能,标志着可信计算技术进入产业化阶段,但仍存在着两个较大问题:(1)模块加密采用非对称加密,速率较低;(2)可信BIOS作为度量可信根,可信模块处于被动地位,安全性较低.我国在可信技术研究领域位于国际领先水平,我国成立的中关村可信产业联盟提出了可信平台控制模块(TPCM)及其相关标准.TPCM大量采用对称加密方式完
6、成业务,提升了业务工作效率,模块采用主动度量技术,模块作为度量信任根,在主机启动时先度量B1.OS,提升了可信体系的可靠性.近年来,我国推出了大量基于国产密码体制的可信计算芯片,有效地支持了可信计算产业的研究和发展。1.2 TPCM和主动度吊根据2016年中关村可信产业联盟发布的相关标准,TPCM的工作流程如图1所示.S1TPCM工作流程计算机顺利启动的流程步骤如下:(1)电源启动后,TPCM电,阻止启动代码加载.(2)TPCM执行状态自检.(3)自检通过后,TPCM对启动代码进行度量.(4)如果启动代码度量结果正确,TPCM结束控制,启动代码加投执行.(5)启动代码根据用户预设策略调用TPC
7、M对计算机硬件信息进行度量认证.(6)计算机硬件可信,则先后度量操作系统加我代码和内核代码.(7)度量认证通过后计算机加载操作系统,计算机工作于可信状态下,计算机系统和软件可以继续使用TPCM进行用户身份认证、软硬件认证和数据加密等密码应用.一旦上述自检或度量认证过程中出现失败,TPCM控制计算机进入异常处理流程,根据预制策略,计算机可能关机、重启或挂起,或在策略允许的情况下让步运行于非可信状态.目前TPCM的实现主要是采用专用可信嵌入式芯片作为核心实现可信认证流程和出码服务.主要的区别是如何实现TPCM对计算机启动流程的控制,尤其是如何控制启动代码加载。目前主流的启动代码控制机制有电源控制法
8、和处理器控制法两种.(1)电源控制法在计算机内增加由TPCM控制的主板电源控制电路和启动代码读取电路.TPCM在上电后控制通过主板电源控制电路控制计算机电源暂缓对主板上电,通过启动代码读出电路对主板上的B1.e)S芯片上电并度量其内部代码.度量通过后,解除电源控制,使主板上电,BIOS正常启动。其系统框图如图2所示.三2通过电谀控IH实现可信启动(2)处理器控制法在计算机主板上增加由TPCM主导的启动控制电路,主要实现对处理器的复位控制和BIOS总线开关两项功能.TPCM同主板一同上电,立即控制CPU的更位信号阻止其读取BIOSo之后TPCM先读取并度量B1.e)S,完成认证后再使处理器读取启
9、动代码,并正常启动。其系统框图如图3所示。S3通过控制处理Sf实现可值启动以上两种方法均不可避免地涉及计算机电路改动.尤其是电源控制法,增加电源控制电路的同时还需要修改主板的BIOS芯片电路,否则TPCM无法读取B1.oS,处理器控制法则需要在主板上增加了一个逻拐开关电路,改造工作量也比较大.这两种改造方法增加了TPCM的适配难度,影响了可信计算技术的普及速度。这两种模式下BIOS都位于主板的存储芯片上,容易被读出,同时计算机启动时,TPCM还需要先读取B1.oS,度量后再启动计算机,也延长了开机时间.02模块设计2.1 需求分析目前国内实现的一些可信模块普遍存在适配工作量大,安全性不高.启动
10、时间过长的问题.同时因为芯片技术的制约,早期的可信芯片性能较低,运算处理慢,进一步地延长了度量认证和数据加密等具体功能的时间,无法应用于数据量较高的环境,影响了可信计算技术的拓展,限制了整个产业的发展.为解决以上问题,我们需要设计一种适配简单,性能强大的TPCMO随若最近几年我国厂商推出一批高性能可信安全芯片,采用高集成度设计,大幅减少了对外围电路芯片的需求,同时采用PQe等高速接口作为业务处理接口,密码处理能力有了很大提高.使得设计和实现性能强大的TPCM有了技术基础.采用高性能TCM芯片研制的模块安装在视频处理和网络设备上,不仅可以实现对设备本身的可信保护,还可以利用模块的高性能加密能力对
11、其业务数据实现加密保护。但如何减少硬件适配工作量仍需要重点研究.2.2 架构设计结合需求分析,本文以国产高性能可信芯片为核心设计并实现了一款PCIe可信平台控制模块(下文简称一体化TPCM).该设计是通过将可信BIOS放置于TPCM内部,在完成对BIOS的可信度量的同时减少BIOS度量的处理时间.利用PCIe总线接口的预制保留管脚引入CPU.PCIe模块的总体架构如图4所示。收入式模决EH产可信安全芯片,却可Ia解冷元II搐11控宿主设备NPadt精卜SP1.WfBOS)捽料依tiBST,主机CW曹-图4一体化TPCM架构模块以国产TCM芯片为核心,搭配少量电源芯片、晶体和接口连接器等外围电路
12、构成模块硬件,为简单起见,图中省略了与本文工作关系不大的电路.TCM芯片内告算法资源、控制单元、物理接口以及存储空间.存储空间内首嵌入式软件(固件)和可信BIOSo采用该架构设计的一体化TPCM与传统的通过复位控制启动的模块相比主要区别是将可信BIOS存储于TPCM模块中,这样设计主要有以下三个优点:(1)可信BIOS存储于TPCM模块的TCM芯片中,受芯片安全机制保护,抵御外界攻击的能力更高,提升平台的安全性。(2)模块在上电自检时即可对BIOS进行度量认证,省去了原来从主板上读取BIOS的步骤,减少了启动时间.(3)BIOS的启动控制机制可以在模块内实现,不需要在主板上实现开关电路.仅需从
13、主板引出BIOS总线信号和CPU的复位信号到模块上。2.3 平台度量流程计算机安装一体化TPCM(这里默认模块已写入可信BIc)S和预期值)后启动电源,平台的度量流程如下:(I)TPCM上电自检,关闭模块SPI接口,拉起CPU复位信号.2.4 自检完成后TPCM度量BIOS.2.5 )BIOS通过度量确认可信后,TPCM配置SPI接口为从模式,取消对CPU的复位,CPU加教BIOS并启动。2.6 根据BIOS的策略依次度量硬件信息、操作系统加载代码和内核代码,信任链延伸到操作系统启动阶段.2.7 )进入操作系统后,TPCM对用户行为和软硬件安装、运行继续进行监控.03模块测试3.1 可信度量功
14、能测试一体化TPCM在X86、龙芯、飞腾等平台均进行了试用。使用篡改BIOS,更换内存及硬盘,安装未经认证的USB存储设备等恶意操作验证TPCM模块和平台的可信认证功能。首先完成TPCM的初始化,将正确的预期值信息和可信BIOS写入TPCM中,在计算机上安装TPCM驱动和上层软件。正常启动计算机,保证计算机的状态不变,计算机顺利通过各项度量认证,顺利进入操作系统.以此验证了可信平台可正常启动。之后进行攻击测试,在计算机启动前分别进行以下恶意操作:对TPCM导入普通BIOS(不修改预期值);更换计算机上的硬件,改装同型号,不同物理编号的内存条、硬盘和U盘;修改操作系统加载代码等.之后启动计算机,
15、计算机均不能正常启动.其具体现象如表1所示.表1怒意操作以及平台反应恐怠援作行为开机后现象TH1.M导入修通BK1.S计笥机拄出.&不优无必出安装小H物理馆号的内存条必示内度tHIr,计算M关M安装不同将即的健做8示,殛徵度献婚汉”计M机关用安茶K号的U不mUSBKktk1.tMiR*.HHWXM修改提作恭技加件代码U乐质优加双代科度Kw1.ijT计粒机关用通过对类平台的多种处理器平台的试验,验证了TPCM模块对各类恶意操作做出反制,对平台实现了保护功能.3.2 开机时间测试采用相同处理器平台、硬件设备配置和操作系统的计算机,分别在使用被动度量机制启动、使用TPCM控制启动,使用一体化TPCM启动的情况下测试其进入操作系统登录界面的时间.通过在多类平台的多次测试证明使用传统TPCM明显慢于被动度量机制启动,采用一体化TPCM与使用被动度量相近.3.3 密码服务性能测试在应用层分别测试了TPCM的对称加密、杂凑、签名等密码算法的速率,获得了理想数据.一体化TPCM的密码算法性能较好地利用了PCIe接口的带宽.具备较高的密码服务能力.04采用本方案实现的一体化PCIe可信平台控制模块,已通过技术蛉证并投入使用,可安装于台式计算机等具备PC1.e总线接口的设备上.在实践中还进行了小型化,研制了一款MiniPCIe可信平台控制模块,用于笔记本、工控机等安装空间更小的平