CN109871327B - 可信执行环境安全存储安全性测试方法及装置 - Google Patents
可信执行环境安全存储安全性测试方法及装置 Download PDFInfo
- Publication number
- CN109871327B CN109871327B CN201910126116.2A CN201910126116A CN109871327B CN 109871327 B CN109871327 B CN 109871327B CN 201910126116 A CN201910126116 A CN 201910126116A CN 109871327 B CN109871327 B CN 109871327B
- Authority
- CN
- China
- Prior art keywords
- test
- file
- data
- testing
- application program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供了一种可信执行环境安全存储安全性测试方法及装置。所述方法包括:接收测试指令;根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果;根据所述测试结果得到安全性测试结果。本发明为TEE产品的安全存储安全性测试提供了可实施的渗透测试,并提供了测试用例运行逻辑及步骤,可通过在TEE产品中安装运行测试用例,根据测试用例运行结果有效判定被测产品安全存储实现的安全性。
Description
技术领域
本发明涉及可信执行环境安全存储安全性测试技术领域,尤指一种可信执行环境安全存储安全性测试方法及装置。
背景技术
随着移动互联网的快速发展,移动智能终端设备如手机、可穿戴设备等迅速普及,承担了越来越多的与用户切身利益相关的敏感功能,如金融支付、工作社交、健康监测等,其安全性也面临着前所未有的挑战。移动智能终端安全事件层出不穷,恶意应用肆意泛滥,个人隐私窃取、资费消耗等安全问题时有发生,普通的移动智能终端系统已无法满足人们对于安全性的需求,用于增强移动智能终端系统安全性的可信执行环境(TEE)解决方案应运而生。
GlobalPlatform(GP)提出了一系列关于TEE实现及测试的相关标准,与之相对应的,国内也出台了一系列关于TEE的安全要求及评估标准。现有标准提出了TEE安全存储应当满足的安全技术要求和安全评估内容,却并未给出具体的测试方法。现有研究中也未曾见到关于安全存储安全性测试的相关研究内容。在实际TEE产品测试中,测试人员大多通过审查产品设计方案文档判断安全存储方案的安全性是否达到要求,或者通过Fuzzing技术测试TEE系统向TA提供的安全存储API的实现是否存在问题,都无法有效判定被测产品在安全存储功能的具体实现中是否满足相关安全技术要求。
发明内容
为了解决目前无法有效检测安全存储功能是否满足相关安全技术要求的问题,本发明实施例提供一种可信执行环境安全存储安全性测试方法,所述方法包括:
接收测试指令;
根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果;
根据所述测试结果得到安全性测试结果。
可选的,在本发明一实施例中,所述方法还包括:通过测试客户端应用程序调用测试可信应用程序的功能,创建第一文件,在所述第一文件中写入第一数据,并读取所述第一文件得到第二数据;判断所述第一数据与所述第二数据是否一致,若是,则根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果。
可选的,在本发明一实施例中,所述根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果包括:若所述测试指令的类型为机密性测试指令,备份所述第一文件到普通文件存储区域,得到第二文件;通过测试客户端应用程序读取所述第二文件得到第三数据,根据所述第三数据及其类型与所述第二数据,生成机密性测试结果。
可选的,在本发明一实施例中,所述根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果包括:若所述测试指令的类型为完整性测试指令,备份所述第一文件到普通文件存储区域,得到第三文件;通过测试客户端应用程序修改所述第三文件中的数据,并使所述第三文件覆盖所述第一文件,得到第一覆盖后文件;通过测试客户端应用程序调用测试可信应用程序的功能,读取所述第一覆盖后文件中的数据,根据读取结果生成完整性测试结果。
可选的,在本发明一实施例中,所述根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果包括:若所述测试指令的类型为防回滚测试指令,备份所述第一文件到普通文件存储区域,得到第四文件;通过测试客户端应用程序调用测试可信应用程序的功能,将所述第一文件中的第一数据修改为第五数据,并读取所述第一文件得到第六数据;判断所述第五数据与所述第六数据是否一致,若是,则使所述第四文件覆盖所述第一文件,得到第二覆盖后文件;通过测试客户端应用程序调用测试可信应用程序的功能,读取所述第二覆盖后文件中的数据,根据读取结果生成防回滚测试结果。
可选的,在本发明一实施例中,所述根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果包括:若所述测试指令的类型为操作原子性测试指令,通过测试客户端应用程序调用测试可信应用程序的功能,修改所述第一文件中的第一数据,并在修改第一数据完成前中断修改;通过测试客户端应用程序调用测试可信应用程序的功能,读取所述第一文件得到第七数据,并根据所述第一数据与所述第七数据,生成操作原子性测试结果。
可选的,在本发明一实施例中,所述根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果包括:若所述测试指令的类型为访问控制测试指令,在被测设备上设置两个测试客户端应用程序及两个测试可信应用程序;通过两个测试客户端应用程序中的一个调用两个测试可信应用程序中的一个的功能,创建第一文件,在所述第一文件中写入第一数据,并读取所述第一文件得到第二数据;判断所述第一数据与所述第二数据是否一致,若是,则通过另一测试客户端应用程序调用另一测试可信应用程序的功能,读取所述第一文件中的数据,根据读取结果及所述第二数据生成访问控制测试结果。
可选的,在本发明一实施例中,所述根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果包括:若所述测试指令的类型为数据绑定测试指令,在两个被测设备上分别设置测试客户端应用程序及测试可信应用程序;在两个被测设备中的一个上通过测试客户端应用程序调用测试可信应用程序的功能,创建第一文件,在所述第一文件中写入第一数据,并读取所述第一文件得到第二数据;判断所述第一数据与所述第二数据是否一致,若是,则将所述第一文件导出至另一被测设备中;在另一被测设备上通过测试客户端应用程序调用测试可信应用程序的功能,读取所述第一文件中的数据,根据读取结果及所述第二数据生成访问控制测试结果。
本发明实施例还提供一种可信执行环境安全存储安全性测试装置,所述装置包括:
指令接收模块,用于接收测试指令;
安全测试模块,用于根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果;
测试结果模块,用于根据所述测试结果得到安全性测试结果。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收测试指令;
根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果;
根据所述测试结果得到安全性测试结果。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收测试指令;
根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果;
根据所述测试结果得到安全性测试结果。
本发明为TEE产品的安全存储安全性测试提供了可实施的渗透测试,并提供了测试用例运行逻辑及步骤,可通过在TEE产品中安装运行测试用例,根据测试用例运行结果有效判定被测产品安全存储实现的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种可信执行环境安全存储安全性测试方法的流程图;
图2为本发明实施例中可信执行环境安全存储安全性测试方法的架构示意图;
图3为本发明实施例中安全存储机密性测试流程图;
图4为本发明实施例中安全存储完整性测试流程图;
图5为本发明实施例中安全存储防回滚测试流程图;
图6为本发明实施例中安全存储操作原子性测试流程图;
图7为本发明实施例中安全存储访问控制测试方案架构图;
图8为本发明实施例中安全存储访问控制测试流程图;
图9为本发明实施例中安全存储数据绑定测试流程图;
图10为本发明一具体实施例中测试操作流程图;
图11为本发明实施例一种可信执行环境安全存储安全性测试装置的结构示意图。
具体实施方式
本发明实施例提供一种可信执行环境安全存储安全性测试方法及装置。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有针对TEE产品安全存储的安全性测试中,测试人员大多通过审查设计方案文档判断安全存储方案的安全性是否达到要求,或者通过Fuzzing技术测试安全存储API的实现是否存在问题,均无法有效推断被测产品在安全存储功能的具体实现中的安全性。为了有效判定实际TEE产品所实现的安全存储的安全性,本发明从攻击者的角度出发,提出了可用于实际产品测试的渗透测试方案,方案针对安全存储的安全技术要求设计测试例逻辑及步骤,在TEE产品中安装运行测试用例,根据测试用例运行结果判断被测产品安全存储实现的安全性。
可信执行环境(Trusted Execution Environment,TEE),可信执行环境是通过混合使用硬件和软件方法在移动终端中隔离出的安全执行环境,可以保证该环境内部的代码和数据的安全性,与富执行环境(Rich Execution Enviornment,REE)平行运行于移动终端中,为安全要求较高的应用(TA)提供一系列的安全服务,如安全启动、安全隔离、安全存储、设备安全交互、密钥管理、密码算法服务等。
富执行环境(Rich Execution Enviornment,REE),富执行环境是指移动智能终端操作系统,例如Android系统。
可信应用(Trusted Application,TA),可信应用是运行在TEE中的应用程序,使用TEE提供的接口实现某些安全功能,并向REE中的客户端应用提供访问这些安全功能的途径。
客户端应用(Client Application,CA),客户端应用是运行在REE中的应用程序,可通过TEE提供的接口访问TA提供的安全功能。
安全存储,可信执行环境安全存储是TEE提供的安全服务之一,对存储在安全存储区中的数据提供机密性、完整性、防回滚、操作原子性等安全保护。
如图1所示为本发明实施例一种可信执行环境安全存储安全性测试方法的流程图,图中所示方法包括:步骤S1,接收测试指令;
步骤S2,根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果;
步骤S3,根据所述测试结果得到安全性测试结果。
在本实施例中,接收需要对被测设备进行的测试指令,该测试指令至少包括需要进行的至少一测试指令类型。根据该测试指令的类型,对被测设备的可信执行环境进行相应的测试,生成相应的测试结果。将各个测试结果汇总后,得到被测设备的安全存储安全性测试结果。在下述实施例中的“第一”、“第二”等词,仅起到便于区分的作用。
作为本发明的一个实施例,所述方法还包括:通过测试客户端应用程序调用测试可信应用程序的功能,创建第一文件,在所述第一文件中写入第一数据,并读取所述第一文件得到第二数据;判断所述第一数据与所述第二数据是否一致,若是,则根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果。
在本实施例中,所述根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果包括:若所述测试指令的类型为机密性测试指令,备份所述第一文件到普通文件存储区域,得到第二文件;通过测试客户端应用程序读取所述第二文件得到第三数据,根据所述第三数据及其类型与所述第二数据,生成机密性测试结果。
在本实施例中,所述根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果包括:若所述测试指令的类型为完整性测试指令,备份所述第一文件到普通文件存储区域,得到第三文件;通过测试客户端应用程序修改所述第三文件中的数据,并使所述第三文件覆盖所述第一文件,得到第一覆盖后文件;通过测试客户端应用程序调用测试可信应用程序的功能,读取所述第一覆盖后文件中的数据,根据读取结果生成完整性测试结果。
在本实施例中,所述根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果包括:若所述测试指令的类型为防回滚测试指令,备份所述第一文件到普通文件存储区域,得到第四文件;通过测试客户端应用程序调用测试可信应用程序的功能,将所述第一文件中的第一数据修改为第五数据,并读取所述第一文件得到第六数据;判断所述第五数据与所述第六数据是否一致,若是,则使所述第四文件覆盖所述第一文件,得到第二覆盖后文件;通过测试客户端应用程序调用测试可信应用程序的功能,读取所述第二覆盖后文件中的数据,根据读取结果生成防回滚测试结果。
在本实施例中,所述根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果包括:若所述测试指令的类型为操作原子性测试指令,通过测试客户端应用程序调用测试可信应用程序的功能,修改所述第一文件中的第一数据,并在修改第一数据完成前中断修改;通过测试客户端应用程序调用测试可信应用程序的功能,读取所述第一文件得到第七数据,并根据所述第一数据与所述第七数据,生成操作原子性测试结果。
作为本发明的一个实施例,所述根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果包括:若所述测试指令的类型为访问控制测试指令,在被测设备上设置两个测试客户端应用程序及两个测试可信应用程序;通过两个测试客户端应用程序中的一个调用两个测试可信应用程序中的一个的功能,创建第一文件,在所述第一文件中写入第一数据,并读取所述第一文件得到第二数据;判断所述第一数据与所述第二数据是否一致,若是,则通过另一测试客户端应用程序调用另一测试可信应用程序的功能,读取所述第一文件中的数据,根据读取结果及所述第二数据生成访问控制测试结果。
作为本发明的一个实施例,所述根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果包括:若所述测试指令的类型为数据绑定测试指令,在两个被测设备上分别设置测试客户端应用程序及测试可信应用程序;在两个被测设备中的一个上通过测试客户端应用程序调用测试可信应用程序的功能,创建第一文件,在所述第一文件中写入第一数据,并读取所述第一文件得到第二数据;判断所述第一数据与所述第二数据是否一致,若是,则将所述第一文件导出至另一被测设备中;在另一被测设备上通过测试客户端应用程序调用测试可信应用程序的功能,读取所述第一文件中的数据,根据读取结果及所述第二数据生成访问控制测试结果。
根据行业标准中的要求,TEE产品的安全存储应满足以下安全要求:1)机密性,即数据应经过加密后进行存储。2)完整性,即存储数据经过非法篡改后应能被识别。3)防回滚,即存储数据被非法回滚为之前内容后应能被识别。4)操作原子性,即数据在进行存储时的操作应满足原子性要求。5)访问控制,即安全存储中的数据仅可被创建该数据的应用及其授权的应用访问。6)数据绑定,即安全存储应和信任根存在绑定关系,使用不同信任根的TEE环境不能互相访问对方的安全存储数据。
在本发明一具体实施例中,如图2所示为本发明实施例中可信执行环境安全存储安全性测试方法的架构示意图,渗透测试例分为两部分内容,一部分为运行于TEE环境中的Test TA(测试可信应用程序),另一部分为运行于REE环境中的Test CA(测试客户端应用程序)。
Test TA可通过TEE提供的安全存储API访问被测设备安全存储区域中的数据,通过调用安全存储API完成文件创建、删除、读、写和修改功能,并向Test CA提供访问这些功能的方式。根据安全存储区域具体实现的不同,Test TA所操作的文件也可能只是存储在Flash中的一段数据,而并不是传统意义上的文件概念。
Test CA通过访问Test TA实现安全存储测试项的逻辑功能,此外Test CA还可通过REE提供的存储操作API访问被测设备的普通存储区域,以完成普通文件的读写等操作。在某些安全存储的实现方案中,Test CA或REE可以直接访问安全存储区域中经过TEE系统处理过的数据。
在具体测试时,测试人员通过运行Test CA,查看其运行结果,即可判断被测产品的安全存储实现是否满足安全性要求。
具体的,Test CA中针对不同安全技术要求的测试逻辑及步骤如下。
(1)机密性测试
如图3所示为本发明实施例中安全存储机密性测试流程图,安全存储机密性测试需要查看TA使用TEE提供的安全存储API创建的文件内容是否经过加密存储。
测试步骤如下:
a.Test CA调用Test TA的功能创建文件f1;
b.Test CA调用Test TA的功能向文件f1中写入数据m1;
c.Test CA调用Test TA的功能读取文件f1中的数据,记为m2;若m2!=m1,则TEE安全存储的实现存在问题,测试结束,否则继续执行下面的步骤;
d.将文件f1备份到REE可访问的普通文件存储区域,备份的文件记为f2;
e.Test CA使用REE提供的存储操作API读取f2中的数据,记为m3;若m3=m2,则说明TEE安全存储并未对TA传递的存储数据进行加密,不满足机密性要求,测试结束;若m3!=m2,若m3为非可读明文信息,则说明TEE安全存储对TA传递的存储数据进行了加密,满足机密性要求,测试结束;若m3为可读明文信息,则说明TEE安全存储不满足机密性要求,测试结束。
(2)完整性测试
安全存储完整性测试需要检测当TA创建的安全存储文件完整性被破坏后,TEE系统在TA读取该文件时是否能识别文件被破坏,并返回错误原因。
安全存储完整性测试流程如附图4所示。
测试步骤如下:
a.Test CA调用Test TA的功能创建文件f1;
b.Test CA调用Test TA的功能向文件f1中写入数据m1;
c.Test CA调用Test TA的功能读取文件f1中的数据,记为m2;若m2!=m1,则TEE安全存储的实现存在问题,测试结束,否则继续执行下面的步骤;
d.将文件f1备份到REE可访问的普通文件存储区域,备份的文件记为f2;
e.Test CA使用REE提供的存储操作API修改f2中的数据;
f.使用文件f2覆盖安全存储区域的文件f1,记为f1';
g.Test CA调用Test TA读取f1'中的数据,若读操作成功并返回数据,则说明TEE安全存储不满足完整性要求,测试结束;若读操作返回失败信息,则TEE安全存储满足完整性要求,测试结束。
(3)防回滚测试
安全存储防回滚测试需要检测当TA创建的文件内容被回滚后,TEE系统在TA读取该文件时是否能识别文件内容被回滚,并返回错误原因。检测方案应包括两个方面的内容,单个文件内容的防回滚测试和整个安全存储区域内容的防回滚测试,两个测试流程一致,只是操作对象不同。
安全存储防回滚测试的流程如附图5所示。
测试步骤如下,其中标注为(1)的步骤是测试单个文件内容的防回滚时采用的步骤,标注为(2)的步骤是测试整个安全存储区域内容的防回滚时采用的步骤,其余步骤为两个测试中都需要进行的步骤。
a.Test CA调用Test TA的功能创建文件f1;
b.Test CA调用Test TA的功能向文件f1中写入数据m1;
c.Test CA调用Test TA的功能读取文件f1中的数据,记为m2;若m2!=m1,则TEE安全存储的实现存在问题,测试结束,否则继续执行下面的步骤;
d(1).将文件f1备份到REE可访问的普通文件存储区域,备份的文件记为f2;
d(2).将整个安全存储区域内容备份到普通文件存储区域,记为f2;
e.Test CA调用Test TA的功能将文件f1中的数据修改为m3;
f.Test CA调用Test TA的功能读取文件f1中的数据,记为m4;若m4!=m3,则TEE安全存储的实现存在问题,测试结束,否则继续执行下面的步骤;
g(1).使用文件f2覆盖文件f1,记为f1';
g(2).使用f2覆盖安全存储区域对应内容,覆盖后的文件f1记为f1';
h.Test CA调用test TA读取f1'中的数据,若读操作返回失败信息,则TEE安全存储满足防回滚要求,测试结束;若读操作成功,则说明TEE安全存储不满足防回滚要求,测试结束。
(4)操作原子性测试
安全存储操作原子性测试需要检测当TA写安全存储文件的操作被打断后,TEE系统是否能将安全存储文件内容保留为写操作发生之前的内容。
安全存储操作原子性测试流程如附图6所示。
测试步骤如下:
a.Test CA调用Test TA的功能创建文件f1;
b.Test CA调用Test TA的功能向文件f1中写入数据m1;
c.Test CA调用Test TA的功能读取文件f1中的数据,记为m2;若m2!=m1,则TEE安全存储的实现存在问题,测试结束,否则继续执行下面的步骤;
d.Test CA调用Test TA的功能将文件f1中的数据修改为m3,在写操作进行过程中将被测设备重启;
e.被测设备重启后,Test CA调用Test TA的功能读取文件f1中的数据,记为m4;若m4=m1,则TEE安全存储满足操作原子性要求,测试结束;若m4!=m1,则TEE安全存储操作不满足操作原子性要求,测试结束。
(5)访问控制测试
安全存储访问控制测试需要检测TA是否可以访问未被授权的安全存储文件。
访问控制测试需要在设备上安装两个Test TA和两个Test CA,其中由Test TA1创建文件,且未将文件访问权限授权给Test TA2,测试Test TA2是否可以访问Test TA1创建的文件内容。测试方案架构如附图7所示。
测试流程图如附图8所示。
测试步骤如下:
a.Test CA1调用Test TA1的功能创建文件f1;
b.Test CA1调用Test TA1的功能向文件f1中写入数据m1;
c.Test CA1调用Test TA1的功能读取文件f1中的数据,记为m2;若m2!=m1,则TEE安全存储的实现存在问题,测试结束,否则继续执行下面的步骤;
d.Test CA2调用Test TA2的功能尝试读取f1中的数据,若读取操作失败,则说明TEE安全存储操作满足TA访问控制要求,测试结束;若读操作成功,但读取的数据m3!=m2,则说明TEE安全存储操作满足访问控制要求,测试结束;若读操作成功,读取的数据m3=m2,则说明TEE安全存储操作不满足访问控制要求,测试结束。
(6)数据绑定测试
安全存储数据绑定测试需要检测一个设备上的TA是否可以获取另一个设备上同一个TA创建的安全存储文件的明文内容。
测试流程如附图9所示。
测试步骤如下:
在测试设备Device1上通过Test CA1调用Test TA1的功能创建文件f1;
a.Test CA1调用Test TA1的功能向文件f1中写入数据m1;
b.Test CA1调用Test TA1的功能读取文件f1中的数据,记为m2;若m2!=m1,则TEE安全存储的实现存在问题,测试结束,否则继续执行下面的步骤;
c.将文件f1从Device1上导出,导入测试设备Device2上;
d.在Device2上通过Test CA1调用Test TA1的功能读取f1的内容,若读取操作失败,则说明TEE安全存储操作满足数据绑定要求,测试结束;若读操作成功,但读取的数据m3!=m2,则说明TEE安全存储操作满足数据绑定要求,测试结束;若读操作成功,读取的数据m3=m2,则说明TEE安全存储操作不满足数据绑定要求,测试结束。
根据安全存储具体实现方案的不同,将f1从Device1上导入到Device2后,需要根据安全存储文件的命名规则,修改f1的文件名为Device2上Test TA1可以识别的文件名称。
在本发明一具体实施例中,在本发明所列测试方案的上述具体实施中,被测产品需要提供可以正常运行REE、TEE系统的设备,提供开发、编译、安装和运行TA和CA的工具和方法,提供安全存储方案设计文档及安全存储API的说明。
具体实施例操作流程如附图10所示。
操作步骤如下:
1、审查被测产品安全存储方案设计文档,查看方案设计中是否已实现标准中规定的6个安全要求,将已实现的安全要求作为渗透测试目标;
2、了解在被测产品上开发、编译、安装、运行TA和CA的方式,以及安全存储API的调用方式,以便进行测试例的开发;
3、确定安全存储区域数据导入导出方式,若安全存储区域存储于REE环境存储载体中,以文件系统进行管理,则可在Test CA中通过调用文件操作API或在REE侧执行文件操作命令将安全存储区域中保存的安全存储文件备份出来并进行修改;若安全存储区域存储于Flash上,无文件系统进行管理,则需要通过Flash I/O操作,对安全存储区域中保存的安全存储数据进行导入导出操作;
4、根据本发明中各测试项的测试步骤开发编译Test CA和Test TA;
5、将Test CA和Test TA安装到测试设备中并运行,获取运行结果;
6、根据测试例运行结果判断被测产品安全存储是否满足相关安全性要求。
通过本发明的安全性测试方法,为TEE产品的安全存储安全性测试提供了可实施的渗透测试,并提供了测试用例运行逻辑及步骤,可通过在TEE产品中安装运行测试用例,根据测试用例运行结果有效判定被测产品安全存储实现的安全性。
如图11所示为本发明实施例一种可信执行环境安全存储安全性测试装置的结构示意图,图中所示装置包括:指令接收模块10,用于接收测试指令;
安全测试模块20,用于根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果;
测试结果模块30,用于根据所述测试结果得到安全性测试结果。
基于与上述一种可信执行环境安全存储安全性测试方法相同的申请构思,本发明还提供了上述一种可信执行环境安全存储安全性测试装置。由于该一种可信执行环境安全存储安全性测试装置解决问题的原理与一种可信执行环境安全存储安全性测试方法相似,因此该一种可信执行环境安全存储安全性测试装置的实施可以参见一种可信执行环境安全存储安全性测试方法的实施,重复之处不再赘述。
通过本发明的安全性测试装置,为TEE产品的安全存储安全性测试提供了可实施的渗透测试,并提供了测试用例运行逻辑及步骤,可通过在TEE产品中安装运行测试用例,根据测试用例运行结果有效判定被测产品安全存储实现的安全性。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收测试指令;
根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果;
根据所述测试结果得到安全性测试结果。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收测试指令;
根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果;
根据所述测试结果得到安全性测试结果。
基于与上述一种可信执行环境安全存储安全性测试方法相同的申请构思,本发明还提供了上述一种计算机设备及一种计算机可读存储介质。由于该一种计算机设备及一种计算机可读存储介质解决问题的原理与一种可信执行环境安全存储安全性测试方法相似,因此该一种计算机设备及一种计算机可读存储介质的实施可以参见一种可信执行环境安全存储安全性测试方法的实施,重复之处不再赘述。
通过本发明的计算机设备及计算机可读存储介质,为TEE产品的安全存储安全性测试提供了可实施的渗透测试,并提供了测试用例运行逻辑及步骤,可通过在TEE产品中安装运行测试用例,根据测试用例运行结果有效判定被测产品安全存储实现的安全性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,比如ROM/RAM、磁碟、光盘等。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种可信执行环境安全存储安全性测试方法,其特征在于,所述方法包括:
接收测试指令;
根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果;
根据所述测试结果得到安全性测试结果;
其中,通过测试客户端应用程序调用测试可信应用程序的功能,创建第一文件,在所述第一文件中写入第一数据,并读取所述第一文件得到第二数据;
判断所述第一数据与所述第二数据是否一致,若是,则根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果;
其中,所述根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果包括:
若所述测试指令的类型为防回滚测试指令,备份所述第一文件到普通文件存储区域,得到第四文件;通过测试客户端应用程序调用测试可信应用程序的功能,将所述第一文件中的第一数据修改为第五数据,并读取所述第一文件得到第六数据;判断所述第五数据与所述第六数据是否一致,若是,则使所述第四文件覆盖所述第一文件,得到第二覆盖后文件;通过测试客户端应用程序调用测试可信应用程序的功能,读取所述第二覆盖后文件中的数据,根据读取结果生成防回滚测试结果;
若所述测试指令的类型为操作原子性测试指令,通过测试客户端应用程序调用测试可信应用程序的功能,修改所述第一文件中的第一数据,并在修改第一数据完成前中断修改;通过测试客户端应用程序调用测试可信应用程序的功能,读取所述第一文件得到第七数据,并根据所述第一数据与所述第七数据,生成操作原子性测试结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果包括:
若所述测试指令的类型为机密性测试指令,备份所述第一文件到普通文件存储区域,得到第二文件;
通过测试客户端应用程序读取所述第二文件得到第三数据,根据所述第三数据及其类型与所述第二数据,生成机密性测试结果。
3.根据权利要求1所述的方法,其特征在于,所述根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果包括:
若所述测试指令的类型为完整性测试指令,备份所述第一文件到普通文件存储区域,得到第三文件;
通过测试客户端应用程序修改所述第三文件中的数据,并使所述第三文件覆盖所述第一文件,得到第一覆盖后文件;
通过测试客户端应用程序调用测试可信应用程序的功能,读取所述第一覆盖后文件中的数据,根据读取结果生成完整性测试结果。
4.根据权利要求1所述的方法,其特征在于,所述根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果包括:
若所述测试指令的类型为访问控制测试指令,在被测设备上设置两个测试客户端应用程序及两个测试可信应用程序;
通过两个测试客户端应用程序中的一个调用两个测试可信应用程序中的一个的功能,创建第一文件,在所述第一文件中写入第一数据,并读取所述第一文件得到第二数据;
判断所述第一数据与所述第二数据是否一致,若是,则通过另一测试客户端应用程序调用另一测试可信应用程序的功能,读取所述第一文件中的数据,根据读取结果及所述第二数据生成访问控制测试结果。
5.根据权利要求1所述的方法,其特征在于,所述根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果包括:
若所述测试指令的类型为数据绑定测试指令,在两个被测设备上分别设置测试客户端应用程序及测试可信应用程序;
在两个被测设备中的一个上通过测试客户端应用程序调用测试可信应用程序的功能,创建第一文件,在所述第一文件中写入第一数据,并读取所述第一文件得到第二数据;
判断所述第一数据与所述第二数据是否一致,若是,则将所述第一文件导出至另一被测设备中;
在另一被测设备上通过测试客户端应用程序调用测试可信应用程序的功能,读取所述第一文件中的数据,根据读取结果及所述第二数据生成访问控制测试结果。
6.一种可信执行环境安全存储安全性测试装置,其特征在于,所述装置包括:
指令接收模块,用于接收测试指令;
安全测试模块,用于根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果;
测试结果模块,用于根据所述测试结果得到安全性测试结果;
其中,通过测试客户端应用程序调用测试可信应用程序的功能,创建第一文件,在所述第一文件中写入第一数据,并读取所述第一文件得到第二数据;
判断所述第一数据与所述第二数据是否一致,若是,则根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果;
其中,所述根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果包括:
若所述测试指令的类型为防回滚测试指令,备份所述第一文件到普通文件存储区域,得到第四文件;通过测试客户端应用程序调用测试可信应用程序的功能,将所述第一文件中的第一数据修改为第五数据,并读取所述第一文件得到第六数据;判断所述第五数据与所述第六数据是否一致,若是,则使所述第四文件覆盖所述第一文件,得到第二覆盖后文件;通过测试客户端应用程序调用测试可信应用程序的功能,读取所述第二覆盖后文件中的数据,根据读取结果生成防回滚测试结果;
若所述测试指令的类型为操作原子性测试指令,通过测试客户端应用程序调用测试可信应用程序的功能,修改所述第一文件中的第一数据,并在修改第一数据完成前中断修改;通过测试客户端应用程序调用测试可信应用程序的功能,读取所述第一文件得到第七数据,并根据所述第一数据与所述第七数据,生成操作原子性测试结果。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
接收测试指令;
根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果;
根据所述测试结果得到安全性测试结果;
其中,通过测试客户端应用程序调用测试可信应用程序的功能,创建第一文件,在所述第一文件中写入第一数据,并读取所述第一文件得到第二数据;
判断所述第一数据与所述第二数据是否一致,若是,则根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果;
其中,所述根据所述测试指令的类型,对可信执行环境进行相应的测试,生成相应的测试结果包括:
若所述测试指令的类型为防回滚测试指令,备份所述第一文件到普通文件存储区域,得到第四文件;通过测试客户端应用程序调用测试可信应用程序的功能,将所述第一文件中的第一数据修改为第五数据,并读取所述第一文件得到第六数据;判断所述第五数据与所述第六数据是否一致,若是,则使所述第四文件覆盖所述第一文件,得到第二覆盖后文件;通过测试客户端应用程序调用测试可信应用程序的功能,读取所述第二覆盖后文件中的数据,根据读取结果生成防回滚测试结果;
若所述测试指令的类型为操作原子性测试指令,通过测试客户端应用程序调用测试可信应用程序的功能,修改所述第一文件中的第一数据,并在修改第一数据完成前中断修改;通过测试客户端应用程序调用测试可信应用程序的功能,读取所述第一文件得到第七数据,并根据所述第一数据与所述第七数据,生成操作原子性测试结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910126116.2A CN109871327B (zh) | 2019-02-20 | 2019-02-20 | 可信执行环境安全存储安全性测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910126116.2A CN109871327B (zh) | 2019-02-20 | 2019-02-20 | 可信执行环境安全存储安全性测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109871327A CN109871327A (zh) | 2019-06-11 |
CN109871327B true CN109871327B (zh) | 2022-05-31 |
Family
ID=66918991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910126116.2A Active CN109871327B (zh) | 2019-02-20 | 2019-02-20 | 可信执行环境安全存储安全性测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109871327B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110609799A (zh) * | 2019-09-11 | 2019-12-24 | 天津飞腾信息技术有限公司 | 一种面向片外非易失性存储的安全防护方法 |
CN114598541B (zh) * | 2022-03-18 | 2024-03-29 | 维沃移动通信有限公司 | 一种安全评估方法及装置、电子设备和可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105978917A (zh) * | 2016-07-19 | 2016-09-28 | 恒宝股份有限公司 | 一种用于可信应用安全认证的系统和方法 |
CN107168863A (zh) * | 2016-03-08 | 2017-09-15 | 展讯通信(天津)有限公司 | 用于移动终端系统的应用安全测试方法、装置及测试工具 |
CN108416215A (zh) * | 2018-03-28 | 2018-08-17 | 北京润信恒达科技有限公司 | 一种检测系统异常的方法及装置 |
EP3402154A1 (en) * | 2016-01-08 | 2018-11-14 | Tencent Technology (Shenzhen) Company Limited | Service processing method, device, and system |
-
2019
- 2019-02-20 CN CN201910126116.2A patent/CN109871327B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3402154A1 (en) * | 2016-01-08 | 2018-11-14 | Tencent Technology (Shenzhen) Company Limited | Service processing method, device, and system |
CN107168863A (zh) * | 2016-03-08 | 2017-09-15 | 展讯通信(天津)有限公司 | 用于移动终端系统的应用安全测试方法、装置及测试工具 |
CN105978917A (zh) * | 2016-07-19 | 2016-09-28 | 恒宝股份有限公司 | 一种用于可信应用安全认证的系统和方法 |
CN108416215A (zh) * | 2018-03-28 | 2018-08-17 | 北京润信恒达科技有限公司 | 一种检测系统异常的方法及装置 |
Non-Patent Citations (1)
Title |
---|
Global Platform Technology TEE Internal Core API Specification Version 1.1.2.50(Target v1.2);Global Platform;《Global Platform Technology TEE Internal Core API Specification Version 1.1.2.50(Target v1.2)》;20180630;29,89,164 * |
Also Published As
Publication number | Publication date |
---|---|
CN109871327A (zh) | 2019-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2012337403B2 (en) | Cryptographic system and methodology for securing software cryptography | |
CN108763951B (zh) | 一种数据的保护方法及装置 | |
US9516056B2 (en) | Detecting a malware process | |
US10733594B1 (en) | Data security measures for mobile devices | |
WO2011134207A1 (zh) | 软件保护方法 | |
CN105303074A (zh) | 一种保护Web应用程序安全的方法 | |
CN109871327B (zh) | 可信执行环境安全存储安全性测试方法及装置 | |
CN106100851B (zh) | 密码管理系统、智能腕表及其密码管理方法 | |
US11658996B2 (en) | Historic data breach detection | |
CN107092838A (zh) | 一种硬盘的安全访问控制方法及一种硬盘 | |
CN111259382A (zh) | 恶意行为识别方法、装置、系统和存储介质 | |
CN106529271A (zh) | 一种终端及其绑定校验方法 | |
CN110990807B (zh) | 一种用于移动终端加密、解密的方法及设备 | |
US20230376610A1 (en) | Non-Intrusive Method of Detecting Security Flaws of a Computer Program | |
Lee et al. | Classification and analysis of security techniques for the user terminal area in the internet banking service | |
CN113901498B (zh) | 一种数据共享方法、装置、设备及存储介质 | |
CN104866761B (zh) | 一种高安全性安卓智能终端 | |
US11611570B2 (en) | Attack signature generation | |
CN104866760A (zh) | 一种智能手机安全防护方法 | |
CN116089983B (zh) | 一种py文件的加固编译方法及装置 | |
US11582248B2 (en) | Data breach protection | |
CN115587389A (zh) | 一种固件安全保护方法及系统 | |
CN116108463A (zh) | 文件处理方法、装置、电子设备及存储介质 | |
CN112486880A (zh) | 基于数据库存取接口的usb存储装置 | |
KR20150055992A (ko) | 프로그램 보호 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |