一种可信执行环境的身份验证方法、装置及终端
技术领域
本发明涉及通信技术领域,特别是涉及一种可信执行环境的身份验证方法、装置及终端。
背景技术
可信执行环境(TEE)是Global Platform(GP)提出的概念。
针对移动设备的开放环境,安全问题越来越受到关注,不仅仅是终端用户,还包括服务提供者、移动运营商,以及芯片厂商。TEE是与设备上的普通执行环境(Rich OS,通常指Android等)并存的运行环境,并且给Rich OS提供安全服务。它具有其自身的执行空间,比Rich OS的安全级别更高。
TEE所能访问的软硬件资源是与普通执行环境分离的。TEE提供了授权安全软件(可信应用,Trusted Application,TA)的安全执行环境,同时也保护TA的资源和数据的保密性,完整性和访问权限。为了保证TEE本身的可信根,TEE在安全启动过程中是要通过验证并且与普通执行环境隔离。在TEE中,每个TA是相互独立的,而且不能在未授权的情况下不能互相访问。
TEE现有方案在很多方面还不成熟,主要侧重于解决如何实现普通执行环境与TEE的通信机制、高效的内存共享机制,以及多核架构带来的问题。其安全性主要通过普通执行环境与TEE执行空间和资源分离来实现。而且,在TEE中运行的TA经过严格审查,不带有恶意代码,需要相应机构的认证和签名才能部署到设备,以此保证TEE的安全性。
但是,即使TA本身没有漏洞,可以正确执行,由于现有TEE机制中尚未定义如何约束普通执行环境中的应用通过Client API访问TA,防止未授权的普通执行环境中应用滥用Client API,导致TA执行状态和结果被普通执行环境中的非法应用篡改,并影响到普通执行环境中合法应用的正确逻辑。
发明内容
本发明要解决的技术问题是提供一种可信执行环境的身份验证方法、装置及终端,解决了现有技术中未授权的普通执行环境中应用滥用Client API,破坏TA正确逻辑的问题。该方法不需要在普通执行环境的应用中增加额外逻辑,就可实现身份验证;不需要在TA中增加额外逻辑,就可实现身份验证,从而保证了TEE的安全性。
为了达到上述目的,本发明实施例提供了一种可信执行环境的身份验证方法,包括:
获取用于唯一标识终端普通执行环境中的应用身份的标识;
获取终端可信执行环境TEE中的身份验证规则;
若所述标识在终端可信执行环境TEE中的身份验证规则中,确定所述终端普通执行环境中的应用合法;
产生允许所述终端普通执行环境中的应用访问终端可信应用TA的指令,使所述应用根据所述指令访问所述可信应用TA。
其中,所述获取用于唯一标识终端普通执行环境中的应用身份的标识的步骤包括:
获取终端中的软件包管理器在普通执行环境中的应用安装时的应用安装包;
解析所述应用安装包,获取所述应用身份的标识。
其中,所述标识为应用证书哈希值。
其中,所述获取可信执行环境TEE中的身份验证规则的步骤包括:
获取终端生产或安装可信应用TA时,预置或下载在可信执行环境TEE中的身份验证规则。
其中,所述身份验证规则中包括:允许访问可信应用TA的普通执行环境中的应用的标识和可信应用通用唯一识别码TA UUID。
本发明实施例还提供一种可信执行环境的身份验证装置,包括:
第一获取模块,用于获取用于唯一标识终端普通执行环境中的应用身份的标识;
第二获取模块,用于获取终端可信执行环境TEE中的身份验证规则;
确定模块,用于判断所述标识在终端可信执行环境TEE中的身份验证规则中,确定所述终端普通执行环境中的应用合法;
指令产生模块,用于产生允许所述终端普通执行环境中的应用访问移动设备可信应用TA的指令,使所述应用根据所述指令访问所述可信应用TA。
其中,所述第一获取模块包括:
第一获取子模块,用于获取终端中的软件包管理器在普通执行环境中的应用安装时的应用安装包;
解析模块,用于解析所述应用安装包,获取所述应用身份的标识。
其中,所述第二获取模块具体用于获取终端生产或安装可信应用TA时,预置或下载在可信执行环境TEE中的身份验证规则。
其中,所述身份验证规则中包括:允许访问可信应用TA的普通执行环境中的应用的标识和可信应用通用唯一识别码TA UUID。
本发明实施例还提供一种终端,包括如上述实施例所述的可信执行环境的身份验证装置。
本发明的上述技术方案至少具有如下有益效果:
本发明实施例的可信执行环境的身份验证方法、装置及终端中,利用唯一标识终端普通执行环境中的应用身份的标识及可信执行环境TEE中的身份验证规则,确定所述终端普通执行环境中的应用合法,且不需要在普通执行环境的应用中增加额外逻辑,不需要在TA中增加额外逻辑,即可实现身份验证。从而防止未授权的普通执行环境中应用滥用Client API,破坏TA正确逻辑,保证了TEE的安全性。
附图说明
图1为本发明实施例可信执行环境的身份验证方法的基本步骤示意图;
图2为本发明实施例可信执行环境的身份验证装置的组成结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有技术中终端未授权的普通执行环境中应用滥用Client API,破坏TA正确逻辑的问题,提供了一种可信执行环境的身份验证方法、装置及终端,用唯一标识终端普通执行环境中的应用身份的标识及可信执行环境TEE中的身份验证规则,确定所述终端普通执行环境中的应用合法,且不需要在普通执行环境的应用中增加额外逻辑,不需要在TA中增加额外逻辑,即可实现身份验证。从而防止未授权的普通执行环境中应用滥用Client API,破坏TA正确逻辑,保证了TEE的安全性。
如图1所示,本发明实施例提供一种可信执行环境的身份验证方法,包括:
步骤11,获取用于唯一标识终端普通执行环境中的应用身份的标识;
步骤12,获取终端可信执行环境TEE中的身份验证规则;
步骤13,若所述标识在终端可信执行环境TEE中的身份验证规则中,确定所述终端普通执行环境中的应用合法;
步骤14,产生允许所述终端普通执行环境中的应用访问终端可信应用TA的指令,使所述应用根据所述指令访问所述可信应用TA。
本发明实施例的可信执行环境的身份验证方法及装置中,利用唯一标识终端普通执行环境中的应用身份的标识及可信执行环境TEE中的身份验证规则,确定所述终端普通执行环境中的应用合法,且不需要在普通执行环境的应用中增加额外逻辑,不需要在TA中增加额外逻辑,即可实现身份验证。从而防止未授权的普通执行环境中应用滥用ClientAPI,破坏TA正确逻辑,保证了TEE的安全性。
本发明的上述实施例中,所述可信应用TA包括:支付TA、数字版权管理TA、企业TA。
进一步的,本发明的上述实施例中提供的从终端获取用于唯一标识终端普通执行环境中的应用身份的标识的方法中,步骤11可以包括:
步骤111,获取终端中的软件包管理器在普通执行环境中的应用安装时的应用安装包;
步骤112,解析所述应用安装包,获取所述应用身份的标识。
具体的,步骤112中的应用身份的标识为应用证书SHA-1哈希值。
进一步的,本发明的实施例中提供的获取终端可信执行环境TEE中的身份验证规则的方法中,步骤12可以包括:
步骤121,获取终端生产或安装可信应用TA时,预置或下载在可信执行环境TEE中的身份验证规则。
具体的,步骤121中的身份验证规则是指:将身份验证规则信息数据库中对应TA的身份验证规则,预置或下载到TEE中的身份验证规则。
该身份验证规则中包括:允许访问可信应用TA的普通执行环境中的应用的标识和可信应用通用唯一识别码TA UUID。
下面通过Android手机支付应用这一具体实施来更清楚的描述本申请中可信执行环境的身份验证方法:
当可信执行环境TEE中不存在身份验证规则,普通执行环境中不存在唯一标识终端的应用身份的标识时,恶意软件可以通过Client API访问支付TA,影响普通执行环境中合法支付应用的正确逻辑。
当可信执行环境TEE中存在身份验证规则,普通执行环境中存在唯一标识终端的应用身份的标识时,恶意软件试图通过Client API访问支付TA前,需要经过普通执行环境中应用身份的标识的检查,因恶意软件应用证书哈希值不在可信执行环境TEE中的身份验证规则中,因此普通执行环境中的信令产生模块不允许恶意软件通过Client API访问支付TA。
当经过授权的支付应用试图通过Client API访问支付TA前,也需要经过普通执行环境中应用身份的标识的检查,因授权的支付应用TA证书哈希值存在于可信执行环境TEE中的身份验证规则,因此普通执行环境中的指令产生模块允许经过授权的支付应用通过Client API访问支付TA。
本发明的上述方法,利用唯一标识终端普通执行环境中的应用身份的标识及可信执行环境TEE中的身份验证规则,确定所述终端普通执行环境中的应用合法,且不需要在普通执行环境的应用中增加额外逻辑,不需要在TA中增加额外逻辑,即可实现身份验证。从而防止未授权的普通执行环境中应用滥用Client API,破坏TA正确逻辑,保证了TEE的安全性。
如图2所示,本发明实施例还提供一种可信执行环境的身份验证装置,包括:
第一获取模块21,用于获取用于唯一标识终端普通执行环境中的应用身份的标识;
第二获取模块22,用于获取终端可信执行环境TEE中的身份验证规则;
确定模块23,用于判断所述标识在终端可信执行环境TEE中的身份验证规则中,确定所述终端普通执行环境中的应用合法;
指令产生模块24,用于产生允许所述终端普通执行环境中的应用访问移动设备可信应用TA的指令,使所述应用根据所述指令访问所述可信应用TA。
具体的,本发明的上述实施例中所述第一获取模块21包括:
第一获取子模块,用于获取终端中的软件包管理器在普通执行环境中的应用安装时的应用安装包;
具体的,本发明的上述实施例中所述第一获取模块21包括:
解析模块,用于解析所述应用安装包,获取所述应用身份的标识。
需要说明的是:该装置是与上述方法对应的装置,上述方法的所有实现实施例均适用于该装置的实施例中,也能达到相同的技术效果。
本发明实施例还提供一种终端,包括如上述实施例所述的可信执行环境的身份验证装置。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。