可信软件栈在嵌入式系统中的自动化测试分析

摘要:在可信嵌入式系统中,嵌入式系统中的可信软件栈是非常关键的部分之一。在使用过程中,要测试该系统中可信软件栈的一致性。这样才能够保证上层应用的可依赖性和有效运行条件。本文研究了该系统中可信软件栈一致性的测试框架和具体措施。并得出了如下结论:Trousers0.3.7产品并没有完全和可信软件栈TCG TSS 嵌入式系统可信软件栈自动化测试研究1.1规范的相关要求保持一致。此外,还需要更深层次地改善和提升它的安全功能以及保障能力。

关键词:嵌入式系统;可信软件;自动化测试;

中图分类号:TP306 文献标识码:A 文章编号:1007-9599 (2013) 02-0000-02

在可信计算平台中,可信软件栈TSS是非常关键的部分之一。它依靠硬件资源和平台中的模块TPM,在系统软件中提供可信目标的相关计算服务,它还可以确保可信的系统软件和系统环境。在嵌入式系统可信软件栈自动化测试过程中,TSS相当于通信中间件,它处在用户应用程序与TPM模板间。该系统中的TSS不仅可以抽象与封装TPM命令接口,还可以为用户提供用例支持。测试TSS的一致性属于综合评价该系统的基本功能属性,它要评价它所支撑的可信功能以及服务。在全面处理评价结果后,可以协助用户确认嵌入式系统中的TSS模块对用户的有用性是否足够。

1 嵌入式系统可信软件栈

从嵌入式系统TSS的用途来看,它是一种软件系统,可以为位于上层的可信计算应用程序支撑访问TPM接口服务。TSS成为了可信嵌入式系统(可信系统)中不可或缺的部分之一。在全部的可信体系中,整体平台的信任根是TPM,通过信任链从信任根分别逐级地传输给了BIOS、可信计算应用环境以及操作系统;TSS可以支撑应用程序对TPM的访问,还可以管理TPM。从协调软硬件协同的视角来分析,如果硬件平台配置了TPM芯片设施、TPM芯片,就会存在与之相关的软件,例如设备功能接口和设备驱动和等。

TPM芯片由于自身原因,它的计算能力以及所存储的资源都是很有限度的,TPM芯片不能独自实现可信计算的全部功用,要通过相关软件才能实现。根据相关规范:“就TSS来讲,它的设计意图包含了以下几点:在调用TPM安全保护功能的时候,可以为应用程序支撑入口点,可以实现同步访问TPM,可以把被TPM所建立的功能命令隐藏起来,使得应用程序不行使用,它还可以调配TPM资源”。

2 可信软件的体系结构

就可信软件栈来讲。它的体系结构呈现出多层次特征(见图1),它首先包括了三个方面,分别是可信服务提供层TSP、可信核心服务层TCS和可信设备驱动库TDDL。而且每个层次都给出了函数接口,这种接口是规范化的。TSP被视为可信代理,服务于本地以及远程应用,TCS属于某种集合,可以提供公共服务,TDDL的任务是与TPM完成交互工作。从TCG来看,它所提出来的TSS体系结构可以通过软件工具一一对应,。例如,软件仿真器(TPM-Emulator)。从最初的状态开始,TPM-Emulator是隶属于Linux平台上,它又是TPM软件的仿真器。眼下来看,它的最新版本已可以在多种平台上面运行,如Linux、OpenBSD、Windows以及Darwin。

图1可信软件栈的体系结构特征

TPM-Emulator遵守TPM1.2规范,与此同时,它也可以仿真移动可信平台模块上的MTM模块。从测试对象来看,这种嵌入式系统平台就涵盖了TPM-Emulator模块。TDDL和单线程接口模块相符合,且与TSS规范保持一致,它的位置在TCS及TPM底层驱动中间,通常情况下,应用程序经过TDDL接收和转发,向TPM发出相关命令和请求应答的各种信息。从TPMD来看,TPMD在后台上运行,可以守护用户空间的运行进程,进而使得TPM的各个功能模块实现自身功能。在该系统平台上,TPMD和TDDL之间在进行双向通信的过程中,通常都运用SOCKET套接字。

3 嵌入式系统可信软件栈测试过程

3.1 嵌入式系统可信软件栈测试模型。在测试嵌入式系统TSS一致性的过程中,系统进行了随机测试,这样一来很多测试用例就产生了,也满足了功能测试的要求。它还支持在测试用例合理性以及等价关系方面的查询,也可以删除多余的测试用例,提升测试水平。从可信软件栈来看,这种自动化测试模型能够自动地产生很多测试用例,具有非常多的优点,它不但能够提高测试用例的覆盖面积,还尽可能多地减少了筛选测试用例过程中的人工工作量。

3.2 嵌入式系统可信软件栈功能性测试模块。测试实验对象只有根据TCG规范才能实现检测功能,因此本文根据TCG规范为基础进行详细说明。通过分析TSS1.1和TSS1.2规范,可以将标准符合性所具备的测试层次划分为以下几种:TSP层、TCS以及TDDL层等测试。在TSS各个层级的测试中,还可以分成很多能测试模块,各模块都包括了一组存在关联性的API函数。划分功能测试模块的基础由TSS自身的内部机制来决定。从TSP层来看,它的测试模块涵盖了以下内容:策略管理、密钥管理、PCR管理、上下文管理、TPM管理、数据加解密管理以及HASH功能等测试。从TCS层来看,它的测试模块涵盖了以下几方面:密钥证书管理、上下文管理、事件管理和参数块生成等测试内容。TDDL模块则涵盖了TDDL接口测试。各个功能测试模块和若干个API操作函数呈现出一一对应的关系,这些API操作函数存在关联性的基础是他们都存着共同的操作对象。

从TSS所携带的功能测试模块来看,TSS可以借助这些API函数接口,来为广大客户实现模块功能,在系统内部对象的基础上,对有关的API函数进行处理和管理。与此同时,对象之间呈现出很大的关联性和互动性,从内容机制来看,这就是TSS的安全策略。从外在体现来分析,它可以确保TSS安全方面的功能与保障。这也更深入地揭示出,在检测测试API功能符合相关标准的过程中,也可以检验嵌入式系统TSS的安全功能与保障能力是否符合相关的规范和要求。在TSS中,可信软件栈采用了IBM公司的开源软件:Trousers0.3.7.。

TSP、TCS和TDDL三层测试结果中的功能符合率分别是83.8%、76.7%和42.9%。从Trousers0.3.7来看,它的整体功能要求达到了78.6%。这些结果显示了Trousers0.3.7产品并没有完全和可信软件栈TCG TSS 嵌入式系统可信软件栈自动化测试研究1.1规范的相关要求保持一致。此外,还需要更深层次地改善和提升它的安全功能以及保障能力。

4 结束语

文章介绍了嵌入式系统可信软件栈,在此基础上讨论了可信软件的体系结构。本文阐述了嵌入式系统TSS的一致性测试方法和主要过程,采用了自动化的系统随机测试方法,有效地满足功能测试覆盖准则的要求,并提高了测试用例的效率。文章分别论述了嵌入式系统可信软件栈测试模型,嵌入式系统可信软件栈功能性测试模块。在文章的第三部分,嵌入式系统可信软件栈测试过程,得出了如下结论:这些结果显示了Trousers0.3.7产品并没有完全和可信软件栈TCG TSS 嵌入式系统可信软件栈自动化测试研究1.1规范的相关要求保持一致。此外,还需要更深层次地改善和提升它的安全功能以及保障能力。

参考文献:

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

[2]赵波,张焕国,李晶,等.可信PDA计算平台系统结构与安全机制[J].计算机学报,2010(01).

[作者简介]夏云波(1990.7-),性别:男,籍贯:江西乐平,职务职称或学历:本科,研究方向:计算机科学与技术。

推荐访问:可信 嵌入式系统 自动化 测试 分析