一种可信密码模块的测试用例生成方法及其测试系统技术方案

技术编号:2825245 阅读:218 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种可信密码模块的测试用例生成方法及其测试系统,属于计算机技术领域。本发明专利技术的方法为:在可信密码模块划分的子系统内部进行建模,生成该子系统的扩展有限状态机,然后通过扩展有限状态机生成测试用例;本发明专利技术的测试系统包括:脚本解析引擎、结果分析引擎和通信模块。与现有技术相比,本发明专利技术的测试用例可以以自动化的方式生成,避免了手工测试用例无法保证测试完整性无法保证从而造成测试结果的可信度不高的问题,并且本发明专利技术给出的系统是一个自动化的测试系统,减少了一些人工的干预,节省了成本。

【技术实现步骤摘要】

本专利技术涉及一种嵌入式系统的测试方法及其系统,尤其涉及一种可信密码模块的测试用例生成方法及其测试系统,属于计算机

技术介绍
可信计算平台技术是一种通过硬件信任根解决安全问题的新技术,可信平台模块(简称TPM)是可信计算平台的核心和基础,是可信计算平台推广和应用的关键。可信计算平台的发展与应用是和相应的技术规范分不开的,为了促进可信计算平台的发展,2003年,可信计算组织(Trusted Computing Group,简称TCG)给出了可信平台模块(Trusted PlatformModuel,简称TPM)1.2规范,详细界定了TPM的功能。同时为了促进国内可信计算平台产业的发展,国家商用密码管理办公室发布了国产可信密码模块(Trsuted CryphographicModule,简称TCM)的相关标准,详细界定了国产TCM的功能。为可信计算平台在国内的发展奠定了基础。在可信平台模块的形式化分析和建模方面,Matthew Barrett对TPM的一些关键安全机制进行了形式化分析,其建立的模型主要是用于安全性分析。同时Danilo Bruschi等人对TPM的授权协议进行了形式化的分析,并且通过模型检测技术分析该协议存在的攻击方法。可信密码模块的测试方法和测试系统对可信密码模块的功能和符合性方面的要求进行全面而完整的测试,需要一种完善的方案支持测试的实施。Ahmad-Reza Sadeghi等人针对TPM给出了一个详细的测试方案并且给出了测试结果,对测试的结果进行了详细的分析。所有这些针对TPM或者TCM的分析和测试方法都没有给出一个完整的系统,并且没有给出一种如何从规范生成测试用例的方法。
技术实现思路
针对可信密码模块的测试需求,本专利技术提供了一种可信密码模块的测试用例生成方法及其测试系统,其通过利用扩展有限状态机对可信密码模块进行建模,然后通过扩展有限-->状态机生成测试用例,将测试用例输入到测试系统中对可信密码模块进行完整的测试,本专利技术提高了测试的准确性和覆盖率,本专利技术提出的方法与系统能解决如下的问题:(1)可信密码模块的形式化建模目前国家商用密码管理办公室给出的TCM规范是描述性的,容易造成歧义,不利于产品开发,因此给出一个准确的形式化模型是十分必要的,同时准确的形式化模型可以给TCM的功能验证、分析以及形式化测试提供基础。(2)一致性测试的测试用例的数量和质量问题目前针对可信密码模块的测试用例都是手工来完成的,而手工测试最大的问题在于测试的完整性和覆盖度问题无法解决,从而造成测试结果的可信度不高。此外,测试用例的有效性将直接影响TCM的测试效率和测试成本,如何实现测试用例的自动生成成为亟需解决的问题。(3)可信密码模块的测试缺少自动化测试方案的支持由于TCM规范涉及的内容广泛,纯手工的的测试需要大量的人力和物力,迫切需要一种自动化的测试方案以支持测试的自动化,并提供相应的支撑系统。测试用例的生成方法的步骤包括:1、可信密码模块系统的划分可信密码模块是一个完整的信息系统,其内部由多个有相互联系但并不十分紧密的系统构成,首先根据可信密码模块系统内的功能进行划分,建立划分后的各个子系统的依赖图。划分的粒度由具体情况而定;2、子系统的扩展有限状态机的生成在第1步子系统划分的基础上,针对各个子系统进行系统内部的建模,建立各个命令之间的关系,生成子系统的扩展有限状态机;3、测试用例的生成根据生成的扩展有限状态机生成测试用例。较佳地,第2步中生成扩展有限状态机可以采用如下的步骤和方法1)对子系统内部的状态进行划分,形成子系统内部的状态;2)建立子系统内的命令之间的执行顺序依赖图,3)根据子系统内的状态,从初始状态出发,按照命令的执行先后顺序,在对应的状-->态上应用某个可执行命令,造成状态的迁移,从而提取出迁移路径;4)根据第1)、3)步生成的状态和迁移路径,即可形成扩展有限状态机。较佳地,第1)步中的状态划分可以采用一种基于类型的状态划分方法,该状态提取方法如下描述:设决定状态空间的状态变量为x1.xi.xn,A1..Aj..Al,其中xi表示的是单值变量,类型分别为T1,...,Tn,而Aj是一个集合变量,集合中的元素类型为TT1,...,TTl(类型决定了变量的取值空间,本专利技术不区分类型和取值空间)(a)初始状态空间为(b)状态的细分下面根据状态变量的不同对状态进行细分:■单值变量基于一定的策略对单值变量xi的取值进行划分,如边界值分析法,类别划分方法。通过这种方法可以将状态进一步的细分。基于策略policy,对状态S关于状态变量xi的划分定义为:其中ASj表示状态S经过状态变量xi细分之后的子状态,Pj是对xi变量进行约束的谓词逻辑,如xi>=0;ASj1(xi)表示状态ASj1中状态变量xi的取值空间。■集合变量对集合变量,采用基于类型的划分方法进行状态空间的划分,先定义集合划分的概念:定义3.2设A是一个非空集合,如果存在一个A的子集族π,满足以下条件:2)π中任意两个元素不相交;3)π中所有元素的并集等于A;则称π为集合A的一个划分。■组合状态变量如果内部存在的状态变量既包含单值变量x1,...xn,又包含集合变量A1,...,Al,那么最后-->的状态空间是各个变量之间的完全组合。得到的状态数为Πi=1,j=1i=n,j=1mi×(2kj-1)]]>(c)状态的缩减从上面的分析可以看出,如果状态变量的个数比较多,那么其存在的状态空间将会急剧增加,一种解决办法是在状态细分这一步中,控制各个状态变量的划分粒度;另一种解决办法是根据需求(如测试需求)对最后产生的状态空间进行限制,下面通过TCM状态的提取来说明基于类型的状态划分方法。较佳地,第(b)步中可以采用如下的一种基于函数的集合划分方法。若存在由集合T到类型V的函数f:T→V,且类型V是有限集,ran(f)={v1,v2...vn本文档来自技高网
...

【技术保护点】
一种可信密码模块的测试用例生成方法,其步骤为:1)将可信密码模块划分为多个子系统;2)建立子系统内的命令依赖关系,从而生成该子系统的扩展有限状态机;3)根据生成的扩展有限状态机生成该子系统的测试用例。

【技术特征摘要】
1.一种可信密码模块的测试用例生成方法,其步骤为:1)将可信密码模块划分为多个子系统;2)建立子系统内的命令依赖关系,从而生成该子系统的扩展有限状态机;3)根据生成的扩展有限状态机生成该子系统的测试用例。2.如权利要求1所述的方法,其特征在于根据可信密码模块系统内各系统的功能划分子系统;所述子系统包括:密码子系统,TCM管理子系统,平台身份表识管理子系统,存储保护子系统,标识和鉴别子系统,完整性保护子系统,可信路径子系统。3.如权利要求1所述的方法,其特征在于根据所述子系统内部的命令执行顺序建立所述子系统内的命令依赖关系。4.如权利要求3所述的方法,其特征在于所述子系统的扩展有限状态机生成方法为:1)对可信密码模块子系统内的状态进行划分,形成子系统内部的状态;2)根据子系统内部的命令依赖关系和子系统内部的状态,形成状态之间的迁移路径;3)根据生成的状态之间的关系提取出迁移路径;4)...

【专利技术属性】
技术研发人员:陈小峰冯登国张敏初晓博李昊
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利