CN104765612B - 一种访问可信执行环境、可信应用的***及方法 - Google Patents
一种访问可信执行环境、可信应用的***及方法 Download PDFInfo
- Publication number
- CN104765612B CN104765612B CN201510173928.4A CN201510173928A CN104765612B CN 104765612 B CN104765612 B CN 104765612B CN 201510173928 A CN201510173928 A CN 201510173928A CN 104765612 B CN104765612 B CN 104765612B
- Authority
- CN
- China
- Prior art keywords
- tee
- access
- behavior
- script
- behaviors
- 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
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种访问可信执行环境、可信应用的***及方法,涉及移动终端设备领域。该方法包括以下步骤:先将事先开发好或修改好的CA、TA分别部署到REE、TEE中;创建并部署能够解析CA行为脚本、识别指定行为的TEE访问模块到REE中;然后编写用于描述CA访问需求、指定CA访问行为的CA行为脚本;当CA运行到需要访问TEE中TA时,CA读取CA行为脚本,并将该CA行为脚本的内容传递给TEE访问模块;TEE访问模块对接收到的CA行为脚本进行解析,并按照所识别的CA行为脚本的指定行为去访问TEE中的TA。本发明能够有效提高CA的通用性,实现TEE及TA的灵活访问。
Description
技术领域
本发明涉及移动终端设备领域,具体来讲是一种访问可信执行环境、可信应用的***及方法。
背景技术
移动通信技术的发展带来了移动终端技术的快速发展,现代的移动终端设备提供了强大而灵活的REE(Rich Execution Environment,富执行环境),但同时也导致设备容易受到安全威胁。TEE(Trusted Execution Environment,可信执行环境)是为了解决当前移动终端设备存在的安全风险而提出的技术方案。TEE和REE平行运行于同一个设备上,TEE能够保证在可信的环境中进行敏感数据的存储、处理和保护,并为授权的安全软件(可信软件)提供了安全的执行环境,通过执行保护、保密、完整和数据访问权限实现了端到端的安全。TA(Trusted Application,可信应用)运行于TEE上,CA(Client Application,客户应用)运行于REE上,CA通过调用位于REE的TEE客户端API(Application ProgrammingInterface,应用编程接口)去访问TA,从而使用TEE及TA提供的安全功能。
由于TEE及TA的运行必须由CA通过调用TEE客户端API触发,所以必须要事先制定好CA的程序执行流程、编写CA调用TEE客户端API的代码,并将CA安装到REE中,然后运行CA,由CA按照已固定的流程去调用TEE客户端API,从而实现TEE及TA的访问。但是,现有的访问方式在遇到应用场景、需求发生变化,或者TA发生改变时,必须要重新开发CA,编写CA的代码,才能适应这种变化,操作过程十分繁琐,效率极低。尤其当需要对TEE及TA进行完整性测试时,更是需要编写流程非常复杂的CA、或者编写多个CA,才能达到预定完整测试的目的,操作起来非常不灵活。因此如何提高CA的通用性,灵活访问TEE及TA是移动终端中一个亟待解决的技术问题。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种访问可信执行环境、可信应用的***及方法,能够有效提高CA的通用性,实现TEE及TA的灵活访问。
为达到以上目的,本发明提供一种访问可信执行环境、可信应用的***,包括富执行环境REE和可信执行环境TEE,所述REE包括客户应用CA和TEE客户端应用编程接口API,所述TEE包括TEE内部API和若干可信应用TA;其中,所述REE还包括CA行为脚本和TEE访问模块,所述CA行为脚本用于描述CA访问需求、指定CA访问行为,CA行为脚本存储在CA访问的介质中;所述TEE访问模块用于解析CA行为脚本、识别CA行为脚本的指定行为;当CA运行到需要访问TEE中的TA时,CA读取CA行为脚本,并将该CA行为脚本的内容传递给TEE访问模块;TEE访问模块对接收到的CA行为脚本进行解析,识别CA行为脚本的指定行为,并按照CA行为脚本的指定行为去访问TEE中的TA。
在上述技术方案的基础上,所述CA行为脚本存储在CA访问的REE的存储介质中,或者存储在CA通过接口访问的外部设备中,或者直接加载于CA内部。
在上述技术方案的基础上,所述TEE访问模块内置于CA中。
在上述技术方案的基础上,所述TEE访问模块独立运行于CA外,并提供接口供CA调用。
本发明还提供基于上述***的访问可信执行环境、可信应用的方法,包括以下步骤:
S1、将事先开发好或修改好的客户应用CA、可信应用TA分别部署到富执行环境REE、可信执行环境TEE中;
S2、创建用于解析CA行为脚本、识别CA行为脚本的指定行为的TEE访问模块,并将TEE访问模块部署到REE中;
S3、根据CA访问TA的流程,编写用于描述CA访问需求、指定CA访问行为的CA行为脚本,并将CA行为脚本存储到CA访问的介质;
S4、在REE中启动CA;当CA运行到需要访问TEE中的TA时,CA读取CA行为脚本,并将该CA行为脚本的内容传递给TEE访问模块;TEE访问模块对接收到的CA行为脚本进行解析,识别CA行为脚本的指定行为,并按照CA行为脚本的指定行为去访问TEE中的TA。
在上述技术方案的基础上,步骤S2中所述将TEE访问模块部署到REE中的具体过程为:将TEE访问模块内置于CA中;或TEE访问模块独立运行于CA外,提供接口供CA调用。
在上述技术方案的基础上,步骤S3中所述将CA行为脚本存储到CA访问的介质的具体过程为:将CA行为脚本存储到CA访问的REE的存储介质;或将CA行为脚本存储到CA通过接口访问的外部设备;或将CA行为脚本直接加载到CA内部。
在上述技术方案的基础上,所述CA行为脚本的内容包括CA调用TEE客户端应用编程接口API的顺序、传入的参数及参数的值。
在上述技术方案的基础上,所述CA行为脚本的语句包括注册变量语句、变量赋值语句和调用TEE客户端API语句。
本发明的有益效果在于:
(1)本发明通过编写具有一定规则的CA行为脚本,利用一个TEE访问模块解析该CA行为脚本,并按照CA行为脚本所指定的行为去访问TEE及TA,从而实现TEE及TA的灵活访问。由于所编写的CA行为脚本不依赖于CA的代码,且易于编写和修改,所以当应用场景发生改变或TA发生变更时,只需要修改CA行为脚本文件即可,而无需重新开发或修改CA,提高了CA的通用性,实现了对TEE及TA的任意访问,尤其适合对TEE及TA进行管理和测试。
(2)本发明中,CA行为脚本可存储于REE的存储介质上、外部设备上或直接加载于CA内部;TEE访问模块可内置于CA中或独立运行于CA外。CA行为脚本和TEE访问模块的设置灵活、方便,可根据不同移动终端设备特性进行选择,适用范围广。
附图说明
图1是本发明实施例中访问可信执行环境、可信应用的***的结构框图;
图2是本发明实施例中访问可信执行环境、可信应用的方法的流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
参见图1所示,本发明实施例提供一种访问可信执行环境、可信应用的***,包括平行运行于同一移动终端设备上的REE和TEE,REE包括CA、CA行为脚本、TEE访问模块和TEE客户端API,TEE包括TEE内部API和若干可信应用TA。本实施例中,REE遵循GlobalPlatformTEE Client API(全球平台国际标准组织可信执行环境客户端应用编程接口)规范,TEE遵循GlobalPlatform TEE Internal API(全球平台国际标准组织可信执行环境内部应用编程接口)规范,GlobalPlatform TEE Client API规范、GlobalPlatform TEE Internal API规范均是本领域技术人员公知的行业规范。
其中,所述CA行为脚本存储在CA访问的介质中,该介质可以是CA访问的REE的存储介质,也可以是CA通过一定接口访问的外部设备,还可以是CA内部。CA行为脚本用于描述CA访问需求、指定CA访问行为,其内容包括CA调用TEE客户端API的顺序、传入的参数及参数的值。并且,CA行为脚本的语句包含以下三种类型语句:
1、注册变量语句
由于在程序执行时无法新增变量声明,所以调用TEE客户端API所需要的参数必须事先以全局变量的形式声明出来,这些变量可以在直接在TEE模块中声明,也可以在CA中声明,再注册到TEE模块中;具体来说,所注册的全局变量包括:TEEC_Context、TEEC_Session、TEEC_SharedMemory、TEEC_TempMemoryReference、TEEC_Operation、TEEC_Parameter和TEEC_Value;上述全局变量都是GlobalPlatform TEE Client API规范、GlobalPlatformTEE Internal API规范中定义的变量,是公知常识。
2、变量赋值语句
TEE访问模块在调用TEE客户端API之前,要指定作为函数参数的变量,即指定作为参数的变量,并给参数赋值。
3、调用TEE客户端API语句
该语句用于实现TEE客户端API的调用,包括用于建立CA与TA连接的TEEC_OpenSession语句、用于触发TA执行的TEEC_InvokeCommand语句以及用于关闭CA与TA连接的TEEC_CloseSession语句。这些语句都是GlobalPlatform TEE Client API规范、GlobalPlatform TEE Internal API规范中定义的语句,是公知常识。
所述TEE访问模块用于解析CA行为脚本、识别CA行为脚本的指定行为;当CA运行到需要访问TEE中的TA时,CA读取CA行为脚本,并将该CA行为脚本的内容传递给TEE访问模块;TEE访问模块对接收到的CA行为脚本进行解析,识别CA行为脚本的指定行为,并按照CA行为脚本的指定行为去访问TEE中的TA。
参见图2所示,本发明实施例提供一种访问可信执行环境、可信应用的方法,包括以下步骤:
S1、根据需求确定CA调用TA的流程,开发或修改CA,并将该CA部署到REE中;根据需求确定TA的功能,开发TA,并将该TA部署到TEE中。
S2、创建用于解析CA行为脚本、识别指定行为的TEE访问模块,并将该TEE访问模块部署到REE中。
其中,步骤S2中所述将TEE访问模块部署到REE中的具体过程为:将TEE访问模块内置于CA中;或TEE访问模块独立运行于CA外,提供接口供CA调用。
S3、根据CA访问TA的流程,编写用于描述CA访问需求、指定CA访问行为的CA行为脚本,并将该CA行为脚本存储于CA能访问到的介质上;根据所编写的CA行为脚本。
其中,步骤S3中所述将CA行为脚本存储到CA访问的介质的具体过程为:将CA行为脚本存储到CA访问的REE的存储介质;或将CA行为脚本存储到CA通过接口访问的外部设备;或将CA行为脚本直接加载到CA内部。
S4、在REE中启动CA;当CA运行到需要访问TEE中的TA时,CA读取CA行为脚本,并将该CA行为脚本的内容传递给TEE访问模块;TEE访问模块对接收到的CA行为脚本进行解析,识别CA行为脚本的指定行为,并按照CA行为脚本的指定行为去访问TEE中的TA。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (8)
1.一种访问可信执行环境、可信应用的***,包括富执行环境REE和可信执行环境TEE,所述REE包括客户应用CA和TEE客户端应用编程接口API,所述TEE包括TEE内部API和若干可信应用TA,其特征在于:所述REE还包括CA行为脚本和TEE访问模块,所述CA行为脚本用于描述CA访问需求、指定CA访问行为,CA行为脚本存储在CA访问的介质中;所述CA行为脚本是根据CA访问TA的流程进行编写的,且所述CA行为脚本的内容包括CA调用TEE客户端应用编程接口API的顺序、传入的参数及参数的值;所述TEE访问模块用于解析CA行为脚本、识别CA行为脚本的指定行为;当CA运行到需要访问TEE中的TA时,CA读取CA行为脚本,并将该CA行为脚本的内容传递给TEE访问模块;TEE访问模块对接收到的CA行为脚本进行解析,识别CA行为脚本的指定行为,并按照CA行为脚本的指定行为去访问TEE中的TA。
2.如权利要求1所述的访问可信执行环境、可信应用的***,其特征在于:所述CA行为脚本存储在CA访问的REE的存储介质中,或者存储在CA通过接口访问的外部设备中,或者直接加载于CA内部。
3.如权利要求1所述的访问可信执行环境、可信应用的***,其特征在于:所述TEE访问模块内置于CA中。
4.如权利要求1所述的访问可信执行环境、可信应用的***,其特征在于:所述TEE访问模块独立运行于CA外,并提供接口供CA调用。
5.一种基于权利要求1所述***的访问可信执行环境、可信应用的方法,其特征在于,包括如下步骤:
S1、将事先开发好或修改好的客户应用CA、可信应用TA分别部署到富执行环境REE、可信执行环境TEE中;
S2、创建用于解析CA行为脚本、识别CA行为脚本的指定行为的TEE访问模块,并将TEE访问模块部署到REE中;
S3、根据CA访问TA的流程,编写用于描述CA访问需求、指定CA访问行为的CA行为脚本,并将CA行为脚本存储到CA访问的介质;
S4、在REE中启动CA;当CA运行到需要访问TEE中的TA时,CA读取CA行为脚本,并将该CA行为脚本的内容传递给TEE访问模块;TEE访问模块对接收到的CA行为脚本进行解析,识别CA行为脚本的指定行为,并按照CA行为脚本的指定行为去访问TEE中的TA。
6.如权利要求5所述的访问可信执行环境、可信应用的方法,其特征在于:步骤S2中所述将TEE访问模块部署到REE中的具体过程为:将TEE访问模块内置于CA中;
或TEE访问模块独立运行于CA外,提供接口供CA调用。
7.如权利要求5所述的访问可信执行环境、可信应用的方法,其特征在于:步骤S3中所述将CA行为脚本存储到CA访问的介质的具体过程为:将CA行为脚本存储到CA访问的REE的存储介质;
或将CA行为脚本存储到CA通过接口访问的外部设备;
或将CA行为脚本直接加载到CA内部。
8.如权利要求5至7中任一项所述的访问可信执行环境、可信应用的方法,其特征在于:所述CA行为脚本的语句包括注册变量语句、变量赋值语句和调用TEE客户端API语句。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510173928.4A CN104765612B (zh) | 2015-04-10 | 2015-04-10 | 一种访问可信执行环境、可信应用的***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510173928.4A CN104765612B (zh) | 2015-04-10 | 2015-04-10 | 一种访问可信执行环境、可信应用的***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104765612A CN104765612A (zh) | 2015-07-08 |
CN104765612B true CN104765612B (zh) | 2018-05-08 |
Family
ID=53647464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510173928.4A Active CN104765612B (zh) | 2015-04-10 | 2015-04-10 | 一种访问可信执行环境、可信应用的***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104765612B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017035758A1 (zh) * | 2015-08-31 | 2017-03-09 | 华为技术有限公司 | 短信处理方法、装置及终端 |
CN105447406B (zh) * | 2015-11-10 | 2018-10-19 | 华为技术有限公司 | 一种用于访问存储空间的方法与装置 |
CN105307163B (zh) * | 2015-12-01 | 2019-03-19 | 恒宝股份有限公司 | 一种安全通信方法及装置 |
CN106878231A (zh) * | 2015-12-10 | 2017-06-20 | 中国电信股份有限公司 | 用于实现用户数据安全传输的方法、用户终端和*** |
EP3179690A1 (en) | 2015-12-11 | 2017-06-14 | Gemalto Sa | Mobile device having trusted execution environment |
CN106888451B (zh) * | 2015-12-15 | 2020-02-18 | ***通信集团公司 | 可信执行环境tee初始化方法及设备 |
CN105930731B (zh) * | 2015-12-21 | 2018-12-28 | ***股份有限公司 | 一种安全应用ta交互的方法及装置 |
CN106940655B (zh) * | 2016-01-04 | 2020-05-12 | ***通信集团公司 | 基于可信执行环境集成虚拟机的方法、终端 |
CN105700876B (zh) * | 2016-01-05 | 2017-07-21 | 腾讯科技(深圳)有限公司 | 操作方式修改方法及装置 |
WO2018000370A1 (zh) * | 2016-06-30 | 2018-01-04 | 华为技术有限公司 | 一种移动终端的认证方法及移动终端 |
CN105978917B (zh) * | 2016-07-19 | 2019-05-10 | 恒宝股份有限公司 | 一种用于可信应用安全认证的***和方法 |
CN106228072A (zh) * | 2016-07-21 | 2016-12-14 | 恒宝股份有限公司 | 一种通用ta支付平台和支付方法 |
CN107066888B (zh) * | 2017-04-21 | 2020-04-21 | 北京豆荚科技有限公司 | 可扩展的可信用户接口、方法和电子设备 |
CN107240157B (zh) * | 2017-05-12 | 2020-08-21 | 南京心视窗信息科技有限公司 | 近场通信安全控制方法、移动终端及计算机可读存储介质 |
US11379573B2 (en) | 2017-07-13 | 2022-07-05 | Huawei Technologies Co., Ltd. | Trusted application access control method and terminal |
CN109787943B (zh) * | 2017-11-14 | 2022-02-22 | 华为技术有限公司 | 一种抵御拒绝服务攻击的方法及设备 |
CN109981259A (zh) * | 2017-12-27 | 2019-07-05 | 航天信息股份有限公司 | 一种存储数字证书密钥的方法、装置及*** |
EP3764258B1 (en) * | 2018-04-27 | 2023-07-26 | Huawei Technologies Co., Ltd. | Constructing common trusted application for a plurality of applications |
CN110837643B (zh) * | 2018-08-17 | 2022-09-23 | 阿里巴巴集团控股有限公司 | 一种可信执行环境的激活方法和装置 |
CN111367821B (zh) * | 2020-05-22 | 2020-09-08 | 支付宝(杭州)信息技术有限公司 | 一种软件测试方法及*** |
CN113645014B (zh) * | 2021-10-13 | 2022-01-04 | 北京创米智汇物联科技有限公司 | 基于智能安防设备的数据处理方法、设备及存储介质 |
CN114286345B (zh) * | 2021-12-27 | 2024-04-02 | 无锡融卡科技有限公司 | 智能终端内的nfc通信装置及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102375956A (zh) * | 2010-08-19 | 2012-03-14 | 北京市国路安信息技术有限公司 | 基于Unix***调用重定向的机制构建Unix可信平台的方法 |
CN103150514A (zh) * | 2013-03-07 | 2013-06-12 | 中国科学院软件研究所 | 一种基于移动设备的可信模块及其可信服务方法 |
CN104408371A (zh) * | 2014-10-14 | 2015-03-11 | 中国科学院信息工程研究所 | 一种基于可信执行环境高安全应用***的实现方法 |
-
2015
- 2015-04-10 CN CN201510173928.4A patent/CN104765612B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102375956A (zh) * | 2010-08-19 | 2012-03-14 | 北京市国路安信息技术有限公司 | 基于Unix***调用重定向的机制构建Unix可信平台的方法 |
CN103150514A (zh) * | 2013-03-07 | 2013-06-12 | 中国科学院软件研究所 | 一种基于移动设备的可信模块及其可信服务方法 |
CN104408371A (zh) * | 2014-10-14 | 2015-03-11 | 中国科学院信息工程研究所 | 一种基于可信执行环境高安全应用***的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104765612A (zh) | 2015-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104765612B (zh) | 一种访问可信执行环境、可信应用的***及方法 | |
US11120130B2 (en) | Method and apparatus for protecting kernel control-flow integrity using static binary instrumentation | |
US20130117855A1 (en) | Apparatus for automatically inspecting security of applications and method thereof | |
CN106503563B (zh) | 基于通用框架的批量漏洞检测方法 | |
CN105608000B (zh) | 获取代码覆盖率数据的方法及装置 | |
CN103177210A (zh) | 一种在Android中植入动态污点分析模块的方法 | |
CN108376073B (zh) | 一种测试软件包生成方法及终端 | |
TW200620114A (en) | Debug module, method for stepping over function calls and method for stepping out of function calls in a program executing on a target processor | |
CN106548076A (zh) | 检测应用漏洞代码的方法和装置 | |
CN107885995A (zh) | 小程序的安全扫描方法、装置以及电子设备 | |
CN109873735B (zh) | H5页面的性能测试方法、装置和计算机设备 | |
CN111831538A (zh) | 调试方法、装置以及存储介质 | |
CN103246830B (zh) | 客户端脚本的加密处理方法及装置和解密处理方法及装置 | |
WO2015043408A1 (en) | Method of protecting binary file from being decompiled and device thereof | |
US10423793B2 (en) | Install runtime agent for security test | |
CN107832059A (zh) | 一种基于Makefile的代码静态分析方法和装置 | |
CN114610640A (zh) | 一种面向物联网可信执行环境的模糊测试方法和*** | |
CN106778098A (zh) | 一种安卓***应用程序的保护方法和装置 | |
CN111913889A (zh) | 一种测试***搭建方法及测试*** | |
CN108345453A (zh) | 代码生成方法、代码生成器及可读存储介质 | |
CN113127361A (zh) | 应用程序的开发方法、装置、电子设备和存储介质 | |
CN106201865A (zh) | 一种应用程序编程接口api测试方法、装置及终端设备 | |
CN106557411B (zh) | Android***中Hybrid应用的测试方法及*** | |
CN105451258B (zh) | 一种测试处理方法及装置 | |
CN106776285B (zh) | 网页前端调试方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |