时间:2024-09-03
◆许庆光 罗云锋 熊 伟
(海军计算技术研究所 北京 100841)
嵌入式可信计算平台构建技术研究
◆许庆光 罗云锋 熊 伟
(海军计算技术研究所 北京 100841)
嵌入式平台面临的信息安全威胁日益突出,传统的信息安全防护手段难以应对层出不穷的攻击手段,将可信计算技术引入到嵌入式平台中,构建以可信密码模块(TCM)为信任根的嵌入式平台,设计嵌入式可信平台信任链,建立从硬件平台到上层应用的信任链体系,是解决嵌入式平台信息安全问题的有效方法。
嵌入式平台; 可信计算技术; 可信密码模块(TCM)
随着工业化和信息化的高度融合,在嵌入式领域,信息安全面临的威胁日益突出,近年来,以震网病毒、火焰病毒为代表的嵌入式信息安全事件大规模涌现。2016年,德国电信遭遇一次大范围的网络故障,问题是由于路由设备遭受有针对的攻击;同年,美国遭受史上最大规模DDoS攻击,东海岸网站集体瘫痪,经过360与全球安全社区一起追踪、分析、溯源,最终发现是由摄像头等智能设备组成的僵尸网络造成的。
导致嵌入式系统发生安全事件的主要原因是:第一,对嵌入式平台没有进行完整性保护,导致平台执行逻辑被篡改;第二,木马或病毒等恶意代码等可在嵌入式平台上随意执行。在增强信息系统安全方面,可信计算是一种新技术,它通过平台完整性、平台身份认证和平台数据安全保护等技术,为PC机、服务器、移动终端等提供了有效的系统级安全增强方法。为了从源头上解决嵌入式系统面临的安全威胁,将通用PC计算平台上的可信计算技术引入到嵌入式平台中,从可信根构建和信任链传递的角度对构建嵌入式可信计算系统的关键技术进行讨论和研究。从构建的可信根出发,一级度量一级,将可信状态从硬件平台到操作系统再到上层应用一直传递下去,从而保证平台自身的完整性不被破坏,平台上的计算环境始终可信,这也是信任链的传递机制。
根据可信计算的技术体制,要构建嵌入式可信计算系统,必不可少的两个要素就是信任根和信任链,但由于嵌入式系统自身的体系结构特点和特殊的应用场景,通用PC上的可信计算技术机制无法直接应用到嵌入式系统中,还需从物理接口、处理器通用性、功耗等方面进行针对性的设计,设计的嵌入式可信计算平台架构图如图1所示。
嵌入式可信计算平台基于DSP处理器设计实现,由硬件平台及相关软件组成,硬件平台主要包括嵌入式主处理器、可信密码模块(TCM)、电源控制模块、存储设备及外围接口。嵌入式TPM是嵌入式可信计算平台的信任根,是嵌入式可信计算系统的关键硬件模块,为整个系统提供密码运算服务。FPGA通过EMIF接口与主处理器连接,通过GPIO接口与TPM连接,为主处理器和TPM之间提供高速数据交换通道,从而实现嵌入式操作系统镜像的完整性度量和嵌入式可信计算系统运行过程中的密码服务功能。NorFlash和RAM等外围存储设备提供数据存储功能。
软件包括TPM内软件、TPM驱动、嵌入式可信操作系统、嵌入式可信软件栈及应用软件。TPM内软件运行在TPM内密码芯片上,完成对系统的主动控制和数据的收发处理功能,包括接口处理模块、主控和命令模块、业务功能模块和驱动模块。嵌入式可信操作系统除提供操作系统基础服务外,还应集成可信功能支撑层,包括可信平台模块驱动和嵌入式可信软件栈。应用软件运行于嵌入式可信操作系统之上,系统启动后可信根对其进行完整性度量,度量通过后在嵌入式可信计算平台上运行。
图1 嵌入式可信计算平台架构图
作为嵌入式平台的信任根,TCM可以提供加解密、签名验签、完整性度量、可信存储和可信报告等功能。嵌入式 TCM和应用于通用PC的TCM在软硬件功能方面基本相同,但需要在外部总线接口、物理尺寸、功耗等方面根据嵌入式平台的特点进行重新设计。
嵌入式计算平台的高实时性要求其在主处理器端访问可信密码服务同样具有高实时特性,这一方面要求 TCM提供高效的密码服务,另一方面要求 TCM与主处理器之间提供高速数据通道,在硬件设计上解除通道瓶颈问题。
采用双口SRAM的方式为TPM和主处理器之间数据交互提供高效缓存。由于 TCM对外通信接口与主处理器对外通信接口不能直连,需要借助逻辑电路进行接口转换。为节省板卡空间,预在逻辑芯片 FPGA上开辟双口 SRAM区域,用于主处理器与TCM间高速数据通道及双向数据缓存;同时,FPGA提供双方接口协议数据转换、大数据量缓存控制、以及数据传输通道的逻辑选择判断,整个数据交换过程中采用FPGA逻辑硬件设计实现,既提高了数据交换速度,又规避了软件漏洞和缺陷。
嵌入式可信计算系统具有系统资源有限、实时性要求高、无需人机交互等特点。在无人化管理状态下,为保证设备软硬件的安全可信、程序按着预期的目标运行,保护设备平台运行安全及组网安全。采用可信启动控制和完整性度量等技术,保证平台的信任链传递。
嵌入式可信计算平台采用星型信任度量模型,如图2所示。
图2 星型信任度量模型
星型信任度量模型各节点均由根节点进行度量,在信任链扩展过程中,不依赖于前一节点,当有新节点加入,或者有部分节点删除时,只需由根节点进行度量即可,而不需重新度量整个信任链。星型信任度量模型提高了信任链灵活扩展能力。 嵌入式可信计算平台信任链构建如图3所示。
图3 嵌入式计算平台信任链构建图
在嵌入式计算平台上增加可信启动控制,对加载启动的软件目标码进行完整性度量,确保软件未被篡改。鉴于嵌入式实时操作系统的特殊性,其启动代码、操作系统、应用软件集成编译成一个镜像文件,采用星型信任度量模型。因此,在启动过程中,通过对镜像文件的完整性度量,可保证嵌入式平台上运行的所有软件都完整可信。当镜像文件较大且系统启动时间较为苛刻时,可通过对镜像文件采用整体度量的方式,在确保文件完整性的同时缩短启动时间。
嵌入式可信计算平台启动流程如图4所示。
主板上电后,TCM控制主处理器处于复位状态,TCM主动读取外挂NorFlash存储器中的操作系统映像文件,对读出的数据执行计算哈希值操作,并将操作系统映像文件保存在 FPGA的SRAM存储器中。所有映像文件数据读取完成后,判断映像文件的完整性度量是否通过,若度量通过,则释放主处理器的复位信号,加载操作系统镜像;若度量失败,TCM记录主动度量失败事件,通知FPGA擦除已经写入SRAM中的数据内容。
由于嵌入式可信计算系统往往具有应用场景特定、应用软件相对固定和实时性要求较高的特点,采用星型信任度量模型,将启动代码、上层应用和嵌入式可信操作系统一起打包成镜像文件,存储于TCM的外挂NorFlash存储器中,由TCM对镜像文件进行完整型度量,这样可以省去信任链传递所需的时间,适应于嵌入式系统的特点。
图4 可信启动流程图
随着信息化时代的不断发展,物联网、工业4.0概念的兴起,嵌入式平台设备的应用领域越来越广泛,其面临的恶意代码执行、安全信息泄露等安全威胁也逐渐暴露出来,亟需有效的安全防护手段来应对。可信计算技术在PC领域已经日趋成熟,将可信计算技术引入到嵌入式领域可有效应对嵌入式设备面临的安全威胁。结合嵌入式平台的特点以及可信计算技术架构,分析了构建嵌入式可信计算平台的可行性以及需要解决的关键技术。目前,嵌入式可信计算技术还处于起步阶段,还有许多嵌入式平台的可信性问题没有得到解决,还有待进一步研究和验证。
[1] 沈昌祥,张焕国,王怀民.可信计算的研究与发展[J].中国科学 F 辑: 信息科学,2010.
[2] 徐明迪,张帆.可信计算技术在嵌入式操作系统中的应用[J].武汉大学学报(理学版),2014.
[3] 张焕国,李晶,潘丹铃.嵌入式系统可信平台模块研究[J].计算机研究与发展,2011.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!