更全的杂志信息网

基于龙芯处理器的嵌入式可信解决方案

更新时间:2009-03-28

0 引 言

随着嵌入式系统功能的日益强大,嵌入式系统已广泛应用于航空航天、国防电子等诸多安全关键领域中。而我国在包括CPU芯片的核心芯片和基础软件方面主要依赖国外产品,这给嵌入式系统在国防领域的应用带来了诸多安全隐患和限制。近几年来,随着国产化处理器在嵌入式领域的成功应用,针对国产化平台的安全控制机制的研究越来越重要。

传统的嵌入式设计较少考虑系统安全的问题,这是由于嵌入式系统的硬件和软件都是固化的,而随着嵌入式系统在国防军事领域的广泛应用,对嵌入式硬件的可靠性、应用软件和操作系统的健壮性提出了更高、更全面的要求。目前破坏嵌入式系统安全的攻击技术主要分为三类:硬件攻击、软件攻击和物理攻击[1]。其中针对硬件系统的攻击通常是通过内核工具集完成的,包括读写主板和外围设备的BIOS(basic input output system)中存储器的内容,并进行病毒的注入。最早的硬件病毒就是出现在主板上BIOS的存储器中,设想当硬件病毒注入了一个使用嵌入式实时操作系统的防空雷达的flash ROM,那么该硬件病毒就拥有了访问系统总线的权限,可以过滤掉指定类型的事件信号数据,致使雷达不能检测到攻击者的攻击。软件是嵌入式系统乃至计算机系统安全问题的最主要来源,针对个人计算机的防御方式如防火墙、入侵检测系统等可部分借鉴,但是在研究嵌入式系统安全机制时应充分结合嵌入式系统的设计特点,从嵌入式系统的硬件和软件的底层采取安全措施,从体系结构上提高终端安全性,降低系统的安全风险[2]。可信计算组织(trusted computing group,TCG)提出可信计算的概念并将其应用到PC平台,受此启发,国内外研究工作者将可信计算技术引入到嵌入式领域,需从硬件架构、操作系统安全和应用程序多维度采取一定措施,确保整个系统的安全。

在研究TCG相关规范的基础上,针对嵌入式安全关键系统存在的诸多问题,提出一种基于虚拟技术的嵌入式平台可信解决方案,深入对体系结构、信任根设计、信任链传递模型的研究,设计并实现嵌入式可信计算平台。

1 相关研究

可信计算方面的显著贡献来自TCG,其定义可信计算的基本思想是:在计算机系统中构建一个信任根,信任根作为可信第三方最先获得系统的控制权,并在启动运行过程中把这种信任扩展到整个计算机系统,从而确保整个系统环境的可信性[3]

TCG给出的可信计算定义中,可信环境是建立在信任根的基础上,同时也是可信启动的基石。信任根通常由第三方片上系统可信平台模块(trusted platform module,TPM)承担。TPM是符合TCG规范的一个小型片上系统。可信计算与传统的基于USB密钥、智能卡等安全系统不同,TCG规范中将TPM通过总线直接与被关心的软硬件组件相连接,嵌于计算平台内部的安全子系统,与计算平台直接物理连接,是确定的一对一的关系。可解决传统方法易受攻击等安全隐患,提高系统的安全性。根据采用处理器芯片的数量可以分为两类:一类是多芯片架构,另一类是单芯片架构[4]

TCG给出的可信计算框架即属于多芯片架构[5]。针对移动平台,TCG给出了移动平台参考架构、移动可信计算模块规范等系列规范。武汉大学张焕国教授等[4]通过在原有TPM基础上增加总线仲裁模块、对称密码引擎和备份恢复模块,设计了一款嵌入式可信平台模块[6](embedded TPM,ETPM)。德国的AISEC研究所基于耦合AHB接口的leon3开源软核处理器(SPARC V8指令集),使其中一个处理器作为应用处理器,另一个作为“安全”的协处理器,将应用处理器与只读存储器引导合成为度量的静态根。以上两种方法保障了信任根的安全性,但是增加了终端的硬件成本、系统功耗和设计难度。

将可信计算技术与虚拟技术相结合,有利于充分发挥它们的技术优势,从而构建出安全执行环境的重要技术途径[12]:可信计算技术可以在系统启动时建立信任链,提供安全存储和完整性存储报告功能,而虚拟技术可以在系统启动运行时将需要保护的系统组件进行隔离保护,细化了可信环境的保护粒度,增强了可信环境的动态性和可扩展性。可以说虚拟技术弥补了现有可信技术体系中尚未满足可信计算理念的一些不足。TCG提出了通用的虚拟平台可信架构[13]:硬件层的安全芯片为VMM(virtual machine manager)层提供可信支持,VMM层利用其内部的虚拟平台管理器(vPlatform manager)为上层的每个虚拟机都提供一个虚拟可信平台模块。剑桥大学的研究人员提出了基于XEN的虚拟化可信平台构建方案[14],该方案基于硬件TPM为VMM层提供可信计算服务,通过实例化vTPM为上层的多个虚拟机构建可信计算环境。后来很多国内外学者基于该架构进行了较为深入的研究。

文中基于虚拟技术的分层内核架构设计的嵌入式可信计算环境结构如图1所示。

2 嵌入式可信计算平台框架结构

虚拟技术是通过单个硬件模拟多个同类设备的复用技术。该技术的核心实现是“虚拟机”,目的在于提高设备利用率、降低能耗并支持多个操作系统或应用程序的并行执行,而虚拟机管理程序将虚拟机与主机分离。从系统安全的角度思考,虚拟技术可为操作系统或应用程序提供运行时的隔离机制,有效防止外界对系统或程序的侵扰[3]

单芯片架构是指将可信模块相关功能集成到主处理器内部。相关研究成果有:ARM公司的TrustZone技术[7]、美国麻省理工学院的安全处理器技术AEGIS[8]、美国斯坦福大学的XOM(execute only memory)技术[9]。ARM公司提出的TrustZone技术[10]将安全功能内置入处理器内部,可以有效保护内存、加密块、键盘和屏幕等外设,确保它们免遭软件攻击,但其仅适用于ARM系列处理器。AEGIS是MIT计算机与人工智能实验室设计的一个单芯片架构的安全处理器。TrustZone通过增强CPU架构和内存子系统的硬件设计,引入安全区的概念[11],增加一个S位,以指明当前系统所处的安全状态。而目前针对单芯片架构的研究都是基于特定处理器,不具普适性。

于磊,杨双宁,刘学青,等.离子束刻蚀辅助飞秒激光加工制备碳化硅微光学元件[J].光子学报,2018,47(12):1214003

目前国内使用的国产处理器的嵌入式系统主要集中在军用领域,其对软硬件可靠性及系统的性能有着更加严格的要求。在此基础上结合可信计算技术研究嵌入式系统的安全问题,需从硬件架构、操作系统安全和应用程序多维度采取一定措施,确保整个系统的安全[2]

  

图1 嵌入式可信计算平台框架

第二阶段是C代码部分(tgt_machdep.c),在内存中运行。主要完成环境变量和基本数据结构的初始化、PCI总线扫描和设备初始化,显卡初始化、网络协议和设备初始化等。

文中对bootloader进行了改造,使其具备完整性度量功能,改造后的bootloader称为可信引导程序。TK是一个内嵌vTPM的精简操作系统,具备存储器管理、中断管理、I/O管理、进程管理等功能。vTPM是一个采用软件实现TPM功能的模拟器,实现TPM的必备功能,vTPM主要包含:I/O接口、执行部件、密钥生成器、HMAC引擎、选项部件、非易失存储器、电源检测、随机数产生器、SHA-1引擎、密码协处理器、易失存储器部分。TPM通过可信软件协议栈(TCG software stack,TSS)为可信计算平台上的应用程序提供完整性度量、存储和报告,密钥管理,数据保护和远程证明4大核心功能。用户内核(user kernel,UK)是经过设计裁剪的嵌入式操作系统,运行在虚拟机上。

2.1 信任根设计

在TCG的可信计算平台中,可信度量根是系统启动时首先最先执行的一段代码,可信存储根是可信平台模块芯片组中的一组平台配置寄存器(platform configuration register,PCR)。龙芯处理器是中国科学院计算技术研究所研制的一款兼容MIPS指令系统的高性能低功耗处理器,采用PMON作为引导加载程序。PMON是一款基于MIPS体系结构的引导加载程序,存储在引导FLASH中。文中基于龙芯处理器架构,设计了嵌入式平台的可信度量根。

“透明图形片”适合三年级以上的学生,可以连续上3个课时,每一课时完成1~2个实验,学生有机会从不同视角来看待同一种材料。在教学中,除第一次需要教师引导全班学生提出数学问题外,其余的时间都宜放手让学生自己做实验,必要时提供额外的实验工具(如微型电子秤),然后组织学生写下实验报告和交流汇报。

将PMON启动过程分为三个阶段:

物料在输送过程中,易出现气化等异常工艺情况,导致交接计量数据不准确,影响供需双方的计量结算。该系统实现了对工艺影响因素的运算分析功能,通过对质量流量计运行过程中流量、密度、温度、左右检测线圈电压、驱动增益等诊断信息分析和计算,评估工艺对批量数据不确定度的影响。通过计算给出一个批量时间内的轻微工艺影响因素和严重工艺影响因素的累积量和总累计量之间的比例关系,同时计算出工艺影响系数A. L.(%)、平均密度、平均温度、累计总量。通过A. L.(%)可以判断输送过程中工艺影响因素对流量测量的可信度。通过工艺运行分析对不同交接计量应用建模,以确保准确计量。工艺运行分析情况如图3所示。

该框架的信任根CRTM由可信引导程序(trusted-bootloader,TBL)及可信内核TK(trusted kernel,TK)组成。系统上电启动后,TBL作为第一个启动实体,然后逐步构建一个可信的启动信任链:CRTM→User Kernel。

例6(2014湖北卷·文17)已知圆O:x2+y2=1和点A(-2,0),若定点B(b,0)(b≠-2)和常数λ满足:对圆O上那个任意一点M,都有|MB|=λ|MA|,则b= ,λ= .

第三阶段仍在内存中执行,完成从FLASH加载内核文件至内存并执行,此时将系统的控制权交给操作系统。

在Pocketspinx的实验中,除了表5中所示的特征提取参数以外,其他均使用Pocketspinx语音解码器的默认参数。

在充分利用嵌入式软硬件资源的基础上,对PMON进行改造,增加安全散列算法(SHA-1)引擎。该算法以任意长度小于264位的消息或者文件作为输入,迭代计算输出长度为160位元的消息摘要值。当再次接收到此消息时,通过重新计算消息的摘要值并与已存储的摘要进行比较,可以度量接收到消息的完整性。安全散列算法簇根据计算输出摘要长度分为SHA-1、SHA-256、SHA-384和SHA-512。

由于TK是一个仅保留基础功能的精简操作系统,经编译链接生成的二进制模块容量较小,因此将引导FLASH划分为两部分,低地址部分存放TBL及TK的镜像文件,高地址部分扩充为平台配置寄存器,用来存储信任根的完整性度量值。这样做的好处有:

(1)操作系统的分层架构增强了上层应用对系统的访问控制,而将可信内核从内存中分离出来符合隔离性原则,通过虚拟机安全机制将操作系统从用户空间中隔离出来,保护其免遭恶意应用的侵入和篡改,保证了其完整性。

第一阶段是汇编代码部分(start.S),在NOR FLASH中运行。此阶段主要完成处理器运行环境配置、cache及存储控制器的初始化、南北桥的部分信号的初始化等。随后将PMON的二进制文件拷至内存,设置相关堆栈,解压后跳转到第二阶段C代码部分继续执行。

(2)内存执行环境配置完成后,对TBL、TK两个模块的镜像文件进行联合度量,将度量值进行扩展后存入平台配置寄存器中,不仅减少了读写引导FLASH中PCR的次数,同时避免两次度量操作,缩短了系统启动时间,减少了可信启动对系统带来的性能开销。

(3)缩短了信任链的长度(在下一小节给出详细解释)。

用户内核架构如图3所示。

 

图2 可信引导流程

2.2 用户内核设计

用户内核是一个经设计裁剪的嵌入式操作系统,集成了vTPM设备驱动TDD(TPM device driver,TDD)及可信软件栈。TDD读取TCG设备驱动库(TCG device driver library,TDDL)上的字节流信息发送给vTPM,并接收反馈信息给TDDL。TSS为上层应用提供调用vTPM的接口函数,实现对vTPM的访问,同时对vTPM进行统一对象管理、密钥管理、证书管理等。此外,TSS还提供了位于用户模式的应用程序访问vTPM的标准接口TDDL。

系统转入内存执行时,将PMON及TK的二进制文件拷至内存后先进行完整性校验,若校验通过,则开始执行PMON,系统正常启动。若校验未通过,则跳转到PMON交互界面,并给出系统不可信提示并停止执行。具体的可信启动流程如图2所示。

20世纪90年代末,华盛顿州沿海地区的研究表明,森林和海洋环境之间有着十分重要的联系。研究发现,木材碎片与来自森林河流和溪流的土壤中含有大量的陆地有机碳,死去的树木是海底生态系统的重要能量来源之一,据估计,浅海水域中60%的有机碳以及1 000米以下深水区约1/3的有机碳都来自森林,即使是在远离海岸的深海区,也有15%的有机碳是漂流木带来的副产品。

 

图3 用户内核架构

2.3 信任链传递模型

信任链以文中设计的信任根为起点,调用SHA-1算法对TBL及TK两个模块的内容进行完整性校验。通过对度量值进行扩展操作后,与存储在FLASH的预期累计度量值进行比较,若两者不一致,则校验未通过并发出警告。校验通过后,信任链传递至TK,系统控制权转交给可信内核,接着调用vTPM中的SHA-1引擎对用户内核的部分模块进行度量,与存储在vTPM的平台配置寄存器中的结果进行比较。通过后完成UK的加载,信任边界扩展到UK。最后,由UK负责度量每个待加载的应用,将信任扩展到整个系统。

文中设计的信任链的传递均由CPU承担,相较片上系统大大降低了系统启动运行的时间。同时,链式传递模型的问题在于信任的逐级递减[3],将TBL与TK模块采取联合度量的方式缩短了信任链的长度。可信内核获得系统控制权后同时初始化vTPM模块,信任链传递过程中无需额外硬件。保证了从固件FLASH到内核的每一个部件的完整性,即完成了整个启动过程完整的信任传递。

3 实验结果与分析

实验环境搭建的硬件平台是基于龙芯3A-2000处理器的嵌入式开发平台;软件平台以嵌入式Linux操作系统及Qemu虚拟机为基础搭建。龙芯3A2000是一个配置为单节点4核的处理器,采用65 nm工艺制造,最高工作主频为1 GHz,片内集成4 MB的分体共享二级Cache。基于上述实验平台对可信度量根和可信引导策略的功能和性能进行验证和结果分析。

固件存储于一片16MKB的NorFLASH芯片,其中0x0F00_0000~0x0FFF_FFFF为固件保留的16M地址空间,低地址部分用于存放PMON及TK的二进制镜像及相关的环境变量(配置数据),高地址部分用于模拟TPM中的平台配置寄存器,存储由PMON及TK构成的信任根的SHA-1散列值。

TK是经剪裁的Linux-2.6.36内核,嵌入TPM模拟器,二者编译成一个二进制镜像。可信内核启动后将加载一个Qemu虚拟机,为UK内核的虚拟运行平台,UK采用内嵌可信协议栈TrouSerS的Linux操作系统。

笔者对常州轻工职业技术学院、常州工程职业技术学院、常州信息职业技术学院、常州纺织服装职业技术学院、常州机电职业技术学院近三年的退役复学高职生进行了调研,发现他们具有如下基本特征。

系统的可信启动实验结果如图4所示,表示当引导加载程序及可信内核成功加载时的度量结果,可查看FLASH中扩展信任根联合度量PMON和TK二进制文件的度量值,见图中PCR00标志位中的结果为“82884131f17ea4e37bfcb04c0ca9f35349c909”。

因为呼吸重症疾病的存在,患者的精神经常处于焦虑不安的状态,护理人员必须深刻的体会到患者的复杂心情,为患者讲解产生不良心态的产生原因,并使用个性化心理指导方式,针对不同患者的特点和实际情况进行不同的护理方式选择,对于一些需要进行创伤治疗的患者,可以对其讲明创伤治疗的必要性和具体实施效果,最终帮助患者真正的解决不良心态的问题。

基础施肥试验:设两个处理,不设重复,小区面积66.7m2。常规栽培大白菜施肥种类、数量、时期、方法和栽培管理措施均按照当地农户的生产习惯进行(肥料用量20户农户平均值用量尿素40kg、五氧化二磷50kg、硫酸钾30kg);优化施肥根据当地大白菜测土配方施肥技术优化的施肥处理(尿素34.5kg、五氧化二磷 50kg、硫酸钾 24kg)[12-15]。氮、磷、钾动态优化施肥试验设计见表1。

  

图4 引导加载程序及可信内核联合度量结果

改写可信内核模块并烧入FLASH,此时系统处于不可信状态。重新启动系统,加载度量引导加载程序及可信内核时停止执行并给出警示,图5显示信任根度量结果,并提示PCR扩展操作失败。

  

图5 非可信内核联合度量结果

校验通过后,系统同时度量并加载用户内核,利用TPM Manager工具查看vTPM中存储度量后的摘要值,如图6所示。其中PCR的1号寄存器中存储的是用户内核的摘要值。同时嵌入在可信内核中的vTPM可为上层系统提供对称/非对称加密、安全存储和签名认证等功能[15]

  

图6 用户内核度量结果

经测试,该方案在现有的硬件和软件资源的嵌入式应用中无需额外的硬件,并且适用于基于PMON的MIPS架构的嵌入式可信计算解决方案,在此基础上做些简单的移植工作即可。通过实验验证了所构建的嵌入式可信平台功能的完整性,实验结果达到了预期的效果。

4 结束语

文中设计实现了一种基于龙芯处理器的嵌入式可信计算平台,采用国产龙芯处理器等核心硬件,解决了后门隐患问题。基于分层内核架构,将经改造和裁剪的bootloader及可信内核作为信任根,采用联合度量方式对bootloader及可信内核进行完整性校验,能够主动对BIOS、操作系统内核进行完整性度量。该方法无需增加额外的硬件,确保启动实体的完整性和来源的真实性,为应用程序搭建可信的执行环境。后续研究工作将从完整性度量方法着手,考虑更加科学的内核度量方法并减少可信启动过程中带给系统的性能开销。

翻模施工是传统的高墩施工技术,其施工进度较慢,施工成本投入较高。承台顶面三层一套的模板上安装校正,浇筑混凝土到最上层模板高度的一半位置,完成首次墩身浇筑。第三层钢筋混凝土结构达到一定强度后,逐层拆除最下面的两层模板,将拆下模板表面进行清理,用吊车将其翻转至最上面第三层模板按照校正,直到墩台顶部为止。

参考文献

[1] 王中波.基于软硬件协同技术的嵌入式平台的可信性研究[D].济南:山东大学,2013.

[2] 张焕国,赵 波.可信计算[M].武汉:武汉大学出版社,2011.

[3] 沈昌祥,张焕国,王怀民,等.可信计算的研究与发展[J].中国科学:信息科学,2010(2):139-166.

[4] 张焕国,李 晶,潘丹铃,等.嵌入式系统可信平台模块研究[J].计算机研究与发展,2011,48(7):1269-1278.

[5] 陈建勋,侯方勇,李 磊.可信计算研究[J].计算机技术与发展,2010,20(9):1-4.

[6] Inter. Trusted execution technology software development guide[EB/OL].2016.http://www.intel.com/content/www/us/en/software-developers/intel-txt-software-development-guide.html.

[7] ALVES T,FELTON D.TrustZone:integrated hardware and software security (enabling trusted computing in embedded systems)[J].Information Quarterly,2004,3(4):18-24.

[8] SUH G E,O’DONNELL C W,DEVADAS S.AEGIS:A single-chip secure processor[J].Information Security Technical Report,2005,10(2):63-73.

[9] CHHABRA S,YAN S,LAL R,et al.An analysis of secure processor architectures[M]//Transactions on computational science VII.Berlin:Springer,2010:101-121.

[10] KONG X,CHEN Y,CHEN X.A method to construct dual-kernel trusted computing environment on embedded system[J].International Journal of Security & Its Applications,2014,8(5):265-276.

[11] ZHAO B,ZHANG H,LI Z.A trusted start-up based on embedded system[C]//Ninth IEEE international conference on computer and information technology.Washington DC,USA:IEEE Computer Society,2009:242-246.

[12] 冯登国.可信计算理论与实践:第一届中国可信计算理论与实践学术会议论文集[C].北京:清华大学出版社,2009.

[13] SANGSTER P,WILSON L.Virtualized trusted platform architecture specification version 1.0,revision 26[EB/OL].2012.https://trustedcomputinggroup.org/Virtualized-trusted-platform-architecture-specification/.

[14] BERGER S,CACERES R,GOLDMAN K,et al.Security for the cloud infrastructure:trusted virtual data center implementation[J].IBM Journal of Research & Development,2009,53(4):560-571.

[15] GUO J,LI B.Research on credible start-up and I/O access control of embedded Linux based on trusted computing[C]//International conference on mechatronics and automation.[s.l.]:[s.n.],2011:2338-2342.

 
易平,庄毅
《计算机技术与发展》2018年第05期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号