当前位置:文档之家› 嵌入式系统可信软件栈自动化测试研究

嵌入式系统可信软件栈自动化测试研究

总第280期 2013年第2期 计算机与数字工程 Computer Digital Engineering Vo1.41 No.2 315 嵌入式系统可信软件栈自动化测试研究 姜忠龙 (91404部队92分队秦皇岛066001) 摘要嵌入式系统可信软件栈是可信嵌入式系统的重要组成部分,对嵌入式系统可信软件栈的一致性测试是确保上层应用可靠、有 效运行的基础条件。论文讨论了对嵌入式系统可信软件栈的一致性测试框架和方法,实验结果表明现有的开源可信软件栈存在着不符合标 准规范的问题。 关键词嵌入式系统;可信软件栈;一致性测试 中图分类号TP309 Automatic Testing of Trusted Software Stack in Embedded System JIANG Zhonglong (Unit 92,No.91404 Troops of PI A,Qinhuangdao 066001) Abstract The trusted software stack(TSS)is an important component of trusted embedded system.How to test the compliance of TSS of embedded system effectively is the fundamental to ensure application run safely.This paper discusses the frame and method of compliance testing to test TSS in embedded system.The results show that the open source of trusted software stack does not accord with specifications. Key Words embedded system,trusted software stack,compliance testing Class Number TP309 l 引言 可信软件栈TSS(TCG Software Stack)是可信计算平 台的重要组成部分,依托于可信计算平台的硬件资源及可 信平台模块TPM(Trusted Platform Module),在软件系统 中提供支撑可信计算目标的可信服务,并保证系统软件与 环境的可信性l1]。 嵌入式系统的TSS是用户应用程序和TPM之间的通 信中间件,嵌入式系统TSS一方面实现对TPM命令接口 的抽象与封装,另一方面是对用户用例(User Case)的基础 支撑。因此,嵌入式系统TSS的功能实现是否完全,直接 影响着上层应用的正确性与可靠性。对嵌入式系统TSS 的一致性测评是对其基本功能属性的综合评价,包括对其 提供的可信功能与服务进行的科学评价,如信息处理、传输 和存储的保密性、完整性和可用性。通过对以上评价结果 的综合处理,从而帮助用户确定嵌入式系统TSS对其应用 而言是否足够完备。 2嵌入式系统可信软件栈 嵌入式系统TSS是一种为上层的可信计算应用提供 访问TPM接口的软件系统,是可信嵌入式系统中必不可 少的组成部分[2]。在整个体系中,TPM是整个平台的信任 根;信任链(Trusted Chain)将信任从信任根依次传递给B1一 OS、操作系统和可信计算应用环境;TSS为应用程序访问 TPM提供支持,并对TPM进行管理。从软硬件协同的角 度考虑,具备了TPM芯片设备以及装配了TPM芯片的硬 件平台,就有相对应的软件,如设备驱动、设备功能接口等。 其次,由于TPM芯片的计算能力和存储资源有限,TPM芯 片不可能独立完成可信计算的所有功能,必须借助于软件 系统的参与。 国际可信计算组织TCG(Trusted Computing Group) 为可信软件栈制定了一系列的技术规范,2003年1O月推 出TSS Specification Version 1.1规范,2007年4月在前一 规范基础上做了进一步修改,制定出TSS Specification Version 1.2规范。规范中指出:“TSS的设计目标包括:为 应用程序调用TPM安全保护功能提供人口点,提供对 TPM的同步访问,向应用程序隐藏TPM所建立的功能命 令以及管理TPM资源”l3]。 可信软件栈具有多层次的体系结构,如图1所示,分为 可信服务提供层TSP(TCG Service Provider)、可信核心服 务层TCS(TCG Core Service)和可信设备驱动库TDDL (TCG Device Driver Library),各个层次都定义了规范化的 函数接口。TSP主要作为本地和远程应用的可信代理, TCS用于提供公共服务的集合,而TDDL负责与TPM的 交互。 TCG提出的TSS体系结构有着相对应的软件工具,如 软件仿真器TPM-Emulator。TPM-Emulator最初是Linux 平台上的一个TPM软件仿真器|4],目前其最新版本已经 可以在Linux、OpenBSD、Windows和Darwin(Mac OS X) 多种平台上运行。TPM-Emulator遵循TPM 1.2规范,同 *收稿日期:2012年8月7日,修回日期:2012年9月13日 作者简介:姜忠龙,男,高级工程师,研究方向:电子装备测量与检验。

 316 姜忠龙:嵌入式系统可信软件栈自动化测试研究 第41卷 时也提供了对移动可信平台模块MTM(Mobile Trusted Module)的仿真。本文的测试对象就是包含了TPM Emu— lator的嵌入式系统平台。 Remote PlatfoFin 本地应用 远程应用 TSP接『1 f 可信服务提供层(IsP) 可信服务提供层(ISP) l RPC客户端 t ● RPC,IN.务器端 TCS接LJ ± 可信核心服务层(TCS) TDDL接r1 f 可信没备驱动库(TDDL) 图1 T(:( TSS体系结构图 TPM-Emulator的基本结构如图2所示。TDDI 是符 合TSS规范的单线程接口模块,位于TCS和TPM底层驱 动之间,正常情况下应用程序发往TPM的命令请求以 TPM返回的应答信息都经南TDDL接收和转发。TPMD (TPM Daemon)是以后台方式运行在用户空间的守护进 程,实现TPM的各种功能模块。在嵌入式系统平台上, TPMD和TDDL之间采用Socket套接字实现双向通信。 图2 TPM—Emulator系统框架 3嵌入式系统可信软件栈测试过程 3.1嵌入式系统可信软件栈测试模型 嵌入式系统TSS的测试模型如图3所示。在嵌入式 系统TSS的一致性测试中,采用系统随机测试的方法,易 于产生大量测试用例,以满足功能测试的需求;同时提供测 试用例的合法性与等价关系检查,可以裁剪冗余的测试用 例,并提高测试效率。 测 可信软件栈TSS相关规范 测试用例的自动化生成 输入 自动化或半自动化测试执行仁=二二 嵌入式系统平台TSS 测试结果 输出 测试结果总结与评估 I— 评估方法库 测试报告 图3嵌入式系统可信软件栈自动化测试模型 自动生成测试用例的优点在于,在提高测试用例覆盖 率的同时,尽可能减少了人工筛选测试用例的工作量r5 j。 考虑到可信软件栈TSS的功能繁多、互操作属性复杂的特 点,如果要实现所有属性测试的完全覆盖,单纯依靠人为分 析构造测试用例,工作量很大,难以在工程中具体实现。 3.2嵌入式系统可信软件栈功能性测试模块 由于测试实验对象是依据TCG规范实现,以下仅以 TCG规范为例进行说明。根据对TSS 1.1规范和TSS 1.2 规范的分析,标准符合性测试层次划分包括以下几部分内 容:TSP层测试、TCS层测试和TDDI 层测试。在TSS各 层测试中,又可划分为多个功能测试模块,每个功能测试模 块包含一组相关联的API函数。功能测试模块的划分依据 是由TSS的内部机制所决定。 以TSP层为例,根据规范定义,其内部包含七种结构 对象,分别为:TPM对象、上下文对象、PCR对象、策略对 象、密钥对象、加密数据对象和Hash对象。各种对象分别 以链表的形式存储和管理;提供给用户的API调用实质上 对应内部数据对象的各种操作。从对象的名称不难看出, 这些对象实质上都是安全功能中的相关要素。通过这种机 制,TSS可以将各对象对应的状态和行为封装在一起,在数 据结构中存储对象的状态,并通过API调用函数来提供对 象的行为,即安全功能的需求。TSS的这种特征,也恰恰为 随机测试以及随机用例的系统生成提供了实现的基础。 根据对象划分模块的思想,TSS各层次的功能测试模块划 分如图4所示。 rSP层的测试模块包括:上下文管理测试、策 略管理测试、,rPM管理测试、密钥管理测试、tYCR管理测试、数 据加解密管理测试和Hash功能测试。TCS层的测试模块包 括:上下文管理测试、密钥证书管理测试、事件管理测试和参数 块生成测试。TDDI 测试模块包括TDDI 接口测试。每一个 功能测试模块分别对应一个或多个API操作函数,这一组API 操作函数是通过相同的操作对象而关联在一起。 TS 功 能 测 试 模 块 TSP功能测试 TCS功能测试 上下文管理测试 TDDL功能测试HTDDL接1 J测试 图 l TSS功能测试模块 由此可以得出结论,嵌入式系统TSS通过API函数接 口向用户提供各种功能,通过内部的对象来管理和处理相 应的API函数;同时,对象之间的相互关联与交互,内在反 映为TSS的安全策略,外在体现为TSS提供的安全功能与 安全保障。这也进一步说明了,通过测试API功能的标准 符合性,可以验证嵌入式系统TSS的安全功能与保障能力 是否达到了规范的要求。 4测试结果 目前可信软件TSS的相关软件有Infineon TPM Pro— fessional Package 3.0、IBM TrouSerS、HP ProtectTools Embedded Security Manager和NTRU CTSS等,这些软件 一一一一一一一一一一一一一

一2013年第2期 计算机与数字工程 317 都被广泛应用于各可信计算平台环境中。 图5 TrouSerS 0.3.7 一致性性测试结果 结果显示,TSP、TCS和 TDDL三层的功能符合率 (符合规范函数个数/待测 函数总数)分别为83.8 、 76.7 和42.9 。TrouSerS 0.3.7的整体功能符合为 78.6Y00。测试结果表明TrouSerS 0.3.7产品并不完全符合 可信软件栈TCG TSS 1.1规范的要求,其安全功能与安全 保障能力有待于进一步的改善和增强。 5 结语 本文阐述了嵌入式系统TSS的一致性测试方法和主要 过程。采用了自动化的系统随机测试方法,有效地满足功能 测试覆盖准则的要求,并提高了测试用例的效率。对嵌人式 系统TSS进行测试实验,给出用于安全}生评估的量化测试结 果。欧洲的()penTC联盟项目支持开发的IAIK Jtssl】 软 件栈是在Java平台下开发的TSS产品,下一步工作将研究 嵌入式系统中Java TSS的标准接口和标准一致性符合问题。 参考文献 [1]Trusted Computing Group.TCG specification architecture o— verview[EB/()L].http://Ⅵ .trustedcomputinggroup.org/ groups/TCG 1 0ArchitectureOverview.pdf,2007. [2]c.x.Shen。H.G.Zhang,H.M.Wang,et a1.Research on trusted computing and its development[J].SCIENCE CHI— NA:Information Sciences,201O,53(3):405—433. [3]H.G.Zhang,F.Yan,J.M.Fu,et a1.Research on theory and key technology of trusted computing platform security tes— ting and evaluation[J].SCIENCE CHINA Information Sci— ences,20l0,53(3):434—453. [41 Sohware-based TPM emulator[EB/OI ].http://tpm-emula— tor.berlios.de,2011. [5]Duran J,Ntafos S.An evaluation of random testing[J].In IEEE Transactions on Software Engineering,l984:438 444. [61 Patriee Godefroid,Nils Klarlund,Koushik Sen DART:directed automated random testing[C]/PLDI’05:Proceedings of the 2005 ACM SIGH AN conference on Programming language design and implementation,New York,NY,USA,2005:213 223. [7]Chen T.Y.,H.Leung,Mak I.K.Adaptive random testing [C]//Proceedings Advances in Computer Science——ASIAN 2004:Higher-Level Decision Making.9th Asian Computing Science Conference.Springer-Verlag GmbH,2004:77—89. [8]庄克良,高云岭,纪向尚.嵌入式系统程序调用关系分析设计方 法_J].舰船电子工程,2010,30(10). ZHUANG Keliang,GAO Yunling,Jl Xiangshang.Function Calling Relationship Analysis in Embedded System[J].Ship E— lectronic Engineering,2010,30(10). [9]段哲.嵌入式系统通信机制的研究与应用口].舰船电子工程, 2O10,30(7). DUAN Zhe.Study and Application of Communication Mecha— nisms in Embedded System[J].Ship Electronic Engineering, 2O1O,30(7). [1o]TrouSerS.The Open-Source TCG Software stack[EB/0L]. http://trousers.sourceforge.net/,2008. [11]Trusted Computing for Java Platform[EB/OL].http://trust— edjava.sourceforge.net,2011. [12]Christian Stable,Anoosheh Zaerin./ ̄TSS—A Simplified Trusted Software Stack.Spr nger,Lecture Notes in Comput— er Science.2010,Volume 6101/2010,l24 140. 不 乖 希 乖 希 希 乖 希 乖 舔 尔 乖 乖 绵 ! (上接第270页) Craig Larman.Applying UML and Patterns[M].third Edi— tion.Beijing:China Machine Press,2010. E3]耿祥义,张跃平.XML程序设计[ ].北京:清华大学出版社,2009. GENG Xiangyi,ZHANG Yueping.XML programe design [M].Beijing:Tsinghua University Press,2009. [4]王学斌.软件工程中基于模型驱动框架的模型转换技术研究 [D].国防科技大学,2008. WANG Xuebin.Research on Model Driven Architecture Based Model Transformation Technologies in Software Engineering [D].National University of Defense Technology,2008. [5]马坤.模型驱动框架下模型及模型转换方法关键问题研究[D]. 山东大学,201i. MA Kun.Research on Some Key Issues in Model and Model Transformation Approach in model—Driven Architecture L D]. Shandong University,2011. [6]王永涛,刘勇.基于MDA的模型转换研究与应用_J].计算机工 程,2011,37(16):84—103. WANG Yongtao,LIU Yong.Research and Application of Model Transformation Based on MDA[J].Computer Engineer ing,2011,37(16):84—103. [7]李明树,杨秋松,翟健.软件过程建模方法研究[J].软件学报, 2009,2O(3):524—545. 矫 LI Mingshu,YANG Qiusong,ZHAI Jian.Systematic Review of Software Process Modeling and Analysis[J].Journal of Software,2009,20(3):524—545. [8]刘静,何积丰,缪淮扣.模型驱动架构中模型构造与集成策略 EJ].软件学报,2006,17(6):1411—1422. LIU Jing。HE Jifeng.MIA0 Huaikou.A strategy for Model Construction and Integration in MDAEJ].Journal of Software, 2006,17(6):1411-1422. [9]王赞华,陈蔚薇.模型驱动开发方法的应用研究[J].计算机工 程,2006,32(13):63 65. WANG Yunhua.CHEN Weiwei.Application Research on Ad— vanced Model driven Developing Method[J].Computer Engi neering,2006,32(13):63 65. [1o]娄宇,王琼.基于XML的嵌入式图形界面自动生成技术[J]. 计算机应用,2009,29(29):285—295. 乙()U Yu,WANG Qiong.XML-based automatic generation technology of embedded graphic interface[J].Journal of Com puter Applications,2009,29(29):285—295. [11]刘然,陈英。赵小林.基于UML的cAsE平台的代码自动生 成_J].北京理工大学学报,2002,22(2):196—200. LIU Ran。CHEN Ying,ZHA0 Xiaolin.Code Generation of a Visual CASE Platform Based on UML[J].Journal of Beijing Institute of Technology,2002,22(2):196—200.

相关主题