一种用于可信应用安全认证的系统和方法

文档序号:10616014阅读:494来源:国知局
一种用于可信应用安全认证的系统和方法
【专利摘要】本发明提出一种用于可信应用安全认证的系统和方法,涉及移动设备安全技术领域,用于提高用户数据的安全性。该系统包括客户应用、安全管理器、TEE客户端API接口和可信应用,其中客户应用在富执行环境下运行,并处理客户应用中与安全无关的进程和/或数据,当运行到与安全相关的进程和/或数据时,向安全管理器提出TEE客户端API接口的调用请求;安全管理器监控客户应用的授权状态,并根据授权状态的不同对客户应用提出的TEE客户端API接口的调用请求进行分级授权;可信应用在可信执行环境下运行,在对客户应用进行安全认证后,处理客户应用请求中的与安全相关的进程和/或数据。本发明用于提高用户数据的安全性。
【专利说明】
一种用于可信应用安全认证的系统和方法
技术领域
[0001]本申请涉及移动设备安全技术领域,涉及一种用于可信应用安全认证的系统和方法。【背景技术】
[0002]移动通信技术的发展带来了移动终端技术的快速发展,现代的移动终端设备提供了强大而灵活的REE(Rich Execut1n Environment,富执行环境),但同时也导致移动终端设备容易受到安全威胁。TEE(Trusted Execut1n Environment,可信执行环境)正是为了解决上述问题而提出的。其中,TEE和REE平行运行于同一个移动终端设备上,TEE能够保证在可信的环境中进行敏感数据的存储、处理和保护,并为授权的安全软件提供了安全的执行环境。
[0003]常见的应用包括 TA(Trusted Applicat1n,可信应用)和 CA(Client Applicat1n,客户应用),其中,TA运行于TEE上,CA运行于REE上,CA通过调用位于REE的TEE 客户端API(Applicat1n Programming Interface,应用编程接口)去访问TA,从而使用TEE 及TA提供的安全功能。
[0004]由于TEE允许多个CA和TA同时运行,而CA和TA之间没有进行相互认证,S卩TA无法识别当前访问的CA是否合法等,因此可能出现CA访问TA不受控的安全问题,例如伪造一个CA, 其ID识别号在TEE允许范围内,则该CA就可以随意给TA发送指令,并得到应答结果,存在安全风险。
【发明内容】

[0005]本发明的目的在于提供一种用于可信应用安全认证的系统,提高了用户数据的安全性。
[0006]为达到上述目的,本发明提供一种用于可信应用安全认证的系统,采用如下技术方案:
[0007]本申请提出的一种用于可信应用安全认证的系统,包括客户应用、安全管理器、 TEE客户端API接口和可信应用,其中:
[0008]客户应用在富执行环境下运行,并处理客户应用中与安全无关的进程和/或数据, 当运行到与安全相关的进程和/或数据时,向安全管理器提出TEE客户端API接口的调用请求;
[0009]安全管理器监控客户应用的授权状态,并根据授权状态的不同对客户应用提出的 TEE客户端API接口的调用请求进行分级授权;[0〇10] TEE客户端API接口接收授权成功后的客户应用提出的TEE客户端API接口的调用请求,并使其与可信应用之间建立通信;
[0011]可信应用在可信执行环境下运行,在对客户应用进行安全认证后,处理客户应用请求中的与安全相关的进程和/或数据。
[0012]安全管理器包括授权信息提供单元和分级授权单元,其中授权信息提供单元用于提供预存的客户应用的授权信息,并根据客户应用的历史调用信息,经算法确认,更新客户应用的授权信息;分级授权单元用于根据授权状态的不同对客户应用提出的TEE客户端API 接口的调用请求进行分级授权。[〇〇13]所述用于可信应用安全认证的系统还包括TEE访问控制模块,当客户应用需要访问TEE中的可信应用时,客户应用向TEE访问控制模块发送客户应用行为脚本,TEE访问控制模块对接收到的客户应用行为脚本进行解析,得到客户应用请求中与安全相关的数据和/ 或进程的运行指令,并按照该运行指令去访问TEE中的可信应用。
[0014]可选地,可信应用包括随机数生成器和密钥存储器,其中随机数生成器用于产生系列单向散列值的一组随机数,密钥存储器用来存储加密算法和预置密钥K。
[0015]本发明提出的用于可信应用安全认证的系统具有如上所述的结构,当客户应用运行到与安全相关的进程和/或数据时,向安全管理器提出TEE客户端API接口的调用请求,安全管理器根据该客户应用授权状态对客户应用提出的TEE客户端API接口的调用请求进行分级授权,可信应用进一步对客户应用进行安全认证,提供了双重保障,因此,有效提高了用户数据的安全性。[〇〇16]本申请还提供一种用于可信应用安全认证的方法,包括如下步骤:
[0017]步骤S1、当客户应用运行到涉及全相关的进程和/或数据时,提出TEE客户端API接口的调用请求;
[0018]步骤S2、安全管理器监控该客户应用的授权状态,并对该客户应用提出的TEE客户端API接口的调用请求进行分级授权;
[0019]步骤S3、授权成功后,可信应用进一步对该客户应用进行安全认证;
[0020]步骤S4、认证成功后,可信应用与该客户应用开始安全数据通信,处理客户应用请求中涉及安全相关的进程和/或数据。
[0021]其中,步骤S2中对该客户应用提出的TEE客户端API接口的调用请求进行分级授权具体包括:[〇〇22]如果客户应用的授权状态为可信任授权,则直接允许客户应用进行TEE客户端API 接口的调用;[〇〇23]如果客户应用的授权状态为不信任授权,则直接拒绝客户应用对TEE客户端API接口的调用;
[0024]如果客户应用的授权状态为普通授权,则根据授权密码确认是否允许客户应用对 TEE客户端API接口的调用。[〇〇25] 其中,步骤S3中可信应用进一步对该客户应用进行安全认证具体包括:[〇〇26]子步骤S301、可信应用接收到客户应用提出的TEE客户端API接口的调用请求后, 可信应用中的随机数生成器生成一组随机数R;[〇〇27] 子步骤S302、使用可信应用中的密钥存储器中的加密算法和预置密钥K对该组随机数R进行加密,并将加密结果发送给客户应用;
[0028]子步骤S303、客户应用使用预置密钥K对可信应用的加密结果进行解密,并将解密结果返回至可信应用;[〇〇29] 子步骤S304、可信应用对解密结果进行验证,若解密结果与该组随机数R—致,则可信应用认证成功,允许与客户应用建立通信,若解密结果与该组随机数R不一致,则可信应用认证失败,拒绝与客户应用建立通信。
[0030]所述用于可信应用安全认证的方法还包括客户应用对可信应用进行安全认证。
[0031]所述用于可信应用安全认证的方法还包括当客户应用需要访问TEE中的可信应用时,客户应用向TEE访问控制模块发送客户应用行为脚本,TEE访问控制模块对接收到的客户应用行为脚本进行解析,得到客户应用中与安全相关的数据和/或进程的运行指令,并按照该运行指令去访问TEE中的可信应用。
[0032]本发明提出的用于可信应用安全认证的方法包括如上所述的步骤,由于在该方法中,根据该客户应用授权状态对客户应用提出的TEE客户端API接口的调用请求进行分级授权,且可信应用进一步对客户应用进行安全认证,提供了双重保障,因此,有效提高了用户数据的安全性。【附图说明】
[0033]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。[〇〇34]图1是用于可信应用安全认证的结构图;[〇〇35]图2是用于可信应用安全认证的方法流程图;[〇〇36]图3是可信应用对客户应用安全认证的流程图。[〇〇37] 附图标记说明:[〇〇38]1-客户应用;2-安全管理器;201-授权信息提供单元;202-分级授权单元;3-TEE访问控制模块;4-TEE客户端API接口; 5-可信应用;501-随机数生成器;502-密钥存储器。【具体实施方式】[〇〇39]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0040]本发明实施例提供了一种用于可信应用安全认证的系统,如图1所示,该系统包括客户应用1、安全管理器2、TEE客户端API接口 3和可信应用5。其中:
[0041]客户应用1在富执行环境下运行,并处理客户应用1中与安全无关的进程和/或数据,当运行到与安全相关的进程和/或数据时,向安全管理器2提出TEE客户端API接口3的调用请求;[〇〇42]示例性地,客户应用1在富执行环境下运行并处理与安全信息无关的进程和/或数据,其中多个客户应用1可以同时运行在移动设备终端。示例性地,客户应用1可以帮我们完成日常所需的工作,如供我们娱乐,记录,为生活提供便利等,并以多媒体播放器、照相机、 位置定位器,移动电子钱包等应用软件的形式安装在移动终端设备上,因此我们在手机中存放了大量的个人数据和信息,这些个人信息需要被保护起来。示例性地,所述移动设备终端的操作系统包括Android和1S操作系统等,提供了一个开放环境,方便用户可以随时添加各种应用。[〇〇43]安全管理器2监控客户应用1的授权状态,并根据授权状态的不同对客户应用1提出的TEE客户端API接口 3的调用请求进行分级授权;[〇〇44] TEE客户端API接口 3接收授权成功后的客户应用1提出的TEE客户端API接口 3的调用请求,并使其与可信应用5之间建立通信;[〇〇45]可信应用5在可信执行环境下运行,在对客户应用1进行安全认证后,处理客户应用1请求中的与安全相关的进程和/或数据。
[0046]本发明提出的用于可信应用5安全认证的系统具有如上所述的结构,当客户应用1 运行到与安全相关的进程和/或数据时,向安全管理器2提出TEE客户端API接口3的调用请求时,首先根据该客户应用1的授权状态对客户应用1提出的TEE客户端API接口 3的调用请求进行分级授权,然后可信应用5进一步对客户应用1进行安全认证,双重保障方法提高了用户数据的安全性。[〇〇47]可选地,安全管理器2包括授权信息提供单元201和分级授权单元202;其中授权信息提供单元201用于提供预存的客户应用1的授权信息,并根据客户应用1的历史调用信息, 经算法确认,更新客户应用1的授权信息;分级授权单元201用于根据授权状态的不同对客户应用1提出的TEE客户端API接口 3的调用请求进行分级授权。[〇〇48] 可选地,用于可信应用2安全认证的系统还包括TEE访问控制模块3,当客户应用1 需要访问TEE中的可信应用5时,客户应用1向TEE访问控制模块3发送客户应用1行为脚本, TEE访问控制模块3对接收到的客户应用1行为脚本进行解析,得到客户应用1请求中与安全相关的数据和/或进程的运行指令,并按照该运行指令去访问TEE中的可信应用5。[〇〇49] 可选地,可信应用5包括随机数生成器501和密钥存储器502,其中随机数生成器 501用于产生系列单向散列值的一组随机数,密钥存储器502用来存储加密算法和预置密钥 K。为了便于本领域技术人员实施,示例性地,本发明基于对称加密算法对加密过程进行说明,当然,所述加密算法的选用不局限于此,还可以是公开密钥加密算法等,本发明实施例不再一一赘述。
[0050]另外,如图2所示,本申请还提供一种用于可信应用安全认证的方法,该方法包括如下步骤:[0051 ]步骤S1、当客户应用运行到涉及全相关的进程和/或数据时,提出TEE客户端API接口的调用请求;[〇〇52]步骤S2、安全管理器监控该客户应用的授权状态,并对该客户应用提出的TEE客户端API接口的调用请求进行分级授权;
[0053]步骤S3、授权成功后,可信应用进一步对该客户应用进行安全认证;[〇〇54]步骤S4、认证成功后,可信应用与该客户应用开始安全数据通信,处理客户应用请求中涉及安全相关的进程和/或数据。[〇〇55]其中,步骤S2中对该客户应用1提出的TEE客户端API接口3的调用请求进行分级授权具体包括:[〇〇56]如果客户应用的授权状态为可信任授权,则直接允许客户应用进行TEE客户端API 接口的调用;
[0057]如果客户应用的授权状态为不信任授权,则直接拒绝客户应用对TEE客户端API接口的调用;
[0058]如果客户应用的授权状态为普通授权,则根据授权密码确认是否允许客户应用对 TEE客户端API接口的调用。
[0059]其中,如图3所示,步骤S3中可信应用5进一步对该客户应用1进行安全认证具体包括:
[0060]子步骤S301、可信应用接收到客户应用提出的TEE客户端API接口的调用请求后, 可信应用中的随机数生成器生成一组随机数R;
[0061]子步骤S302、使用可信应用中的密钥存储器中的加密算法和预置密钥K对该组随机数R进行加密,并将加密结果发送给客户应用;
[0062]子步骤S303、客户应用使用预置密钥K对可信应用的加密结果进行解密,并将解密结果返回至可信应用;[〇〇63] 子步骤S304、可信应用对解密结果进行验证,若解密结果与该组随机数R—致,则可信应用认证成功,允许与客户应用建立通信,若解密结果与该组随机数R不一致,则可信应用认证失败,拒绝与客户应用建立通信。[〇〇64] 可选地,用于可信应用1安全认证的方法还包括客户应用1对可信应用5进行安全认证的步骤,由此在多应用的环境下实现一对一相互认证,进一步提高用户数据的安全性。 [〇〇65] 可选地,用于可信应用1安全认证的方法还包括当客户应用需要访问TEE中的可信应用5时,客户应用1向TEE访问控制模块3发送客户应用行为脚本,TEE访问控制模块3对接收到的客户应用1行为脚本进行解析,得到客户应用1中与安全相关的数据和/或进程的运行指令,并按照该运行指令去访问TEE中的可信应用5。[〇〇66]本发明提出的用于可信应用5安全认证的方法用于如上所述的系统,当客户应用1 运行到与安全相关的进程和/或数据时,向安全管理器2提出TEE客户端API接口3的调用请求,该方法首先根据该客户应用1授权状态对客户应用1提出的TEE客户端API接口 3的调用请求进行分级授权,然后可信应用5进一步对客户应用1进行安全认证,双重保障方法提高了用户数据的安全性。[〇〇67]尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
【主权项】
1.一种用于可信应用安全认证的系统,其特征在于,包括客户应用、安全管理器、TEE客 户端API接口和可信应用,其中:客户应用在富执行环境下运行,并处理客户应用中与安全无关的进程和/或数据,当运 行到与安全相关的进程和/或数据时,向安全管理器提出TEE客户端API接口的调用请求;安全管理器监控客户应用的授权状态,并根据授权状态的不同对客户应用提出的TEE 客户端API接口的调用请求进行分级授权;TEE客户端API接口接收授权成功后的客户应用提出的TEE客户端API接口的调用请求, 并使其与可信应用之间建立通信;可信应用在可信执行环境下运行,在对客户应用进行安全认证后,处理客户应用中的 与安全相关的进程和/或数据。2.如权利要求1所述的用于可信应用安全认证的系统,其特征在于,安全管理器包括授 权信息提供单元和分级授权单元;其中,授权信息提供单元用于提供预存的客户应用的授 权信息,并根据客户应用的历史调用信息,经算法确认,更新客户应用的授权信息;分级授 权单元用于根据授权状态的不同对客户应用提出的TEE客户端API接口的调用请求进行分 级授权。3.如权利要求1所述的用于可信应用安全认证的系统,其特征在于,还包括TEE访问控 制模块,当客户应用需要访问TEE中的可信应用时,客户应用向TEE访问控制模块发送客户 应用行为脚本,TEE访问控制模块对接收到的客户应用行为脚本进行解析,得到客户应用中 与安全相关的数据和/或进程的运行指令,并按照该运行指令去访问TEE中的可信应用。4.如权利要求1所述的用于可信应用安全认证的系统,其特征在于,可信应用包括随机 数生成器和密钥存储器,其中,随机数生成器用于产生系列单向散列值的一组随机数,密钥 存储器用来存储加密算法和预置密钥K。5.—种用于可信应用安全认证的方法,其特征在于,包括如下步骤:步骤S1、当客户应用运行到涉及安全相关的进程和/或数据时,提出TEE客户端API接口 的调用请求;步骤S2、安全管理器监控该客户应用的授权状态,并对该客户应用提出的TEE客户端 API接口的调用请求进行分级授权;步骤S3、授权成功后,可信应用进一步对该客户应用进行安全认证;步骤S4、认证成功后,可信应用与该客户应用开始安全数据通信,处理客户应用请求中 涉及安全相关的进程和/或数据。6.如权利要求5所述的用于可信应用安全认证的方法,其特征在于,步骤S2具体包括:授权信息提供单元提供预存的客户应用的授权信息,并根据客户应用的历史调用信息,经算法确认,更新客户应用的授权信息;分级授权单元根据授权状态的不同对客户应用提出的TEE客户端API接口的调用请求 进行分级授权。7.如权利要求5或6所述的用于可信应用安全认证的方法,其特征在于,步骤S2中对该 客户应用提出的TEE客户端API接口的调用请求进行分级授权具体包括:如果客户应用的授权状态为可信任授权,则直接允许客户应用进行TEE客户端API接口 的调用;如果客户应用的授权状态为不信任授权,则直接拒绝客户应用对TEE客户端API接口的 调用;如果客户应用的授权状态为普通授权,则根据授权密码确认是否允许客户应用对TEE 客户端API接口的调用。8.如权利要求5所述的用于可信应用安全认证的方法,其特征在于,步骤S3中可信应用 进一步对该客户应用进行安全认证具体包括:子步骤S301、可信应用接收到客户应用提出的TEE客户端API接口的调用请求后,可信 应用中的随机数生成器生成一组随机数R;子步骤S302、使用可信应用中的密钥存储器中的加密算法和预置密钥K对该组随机数R 进行加密,并将加密结果发送给客户应用;子步骤S303、客户应用使用预置密钥K对可信应用的加密结果进行解密,并将解密结果 返回至可信应用;子步骤S304、可信应用对解密结果进行验证,若解密结果与该组随机数R—致,则可信 应用认证成功,允许与客户应用建立通信,若解密结果与该组随机数R不一致,则可信应用 认证失败,拒绝与客户应用建立通信。9.如权利要求5所述的用于可信应用安全认证的方法,其特征在于,还包括:客户应用 对可信应用进行安全认证。10.如权利要求5所述的用于可信应用安全认证的方法,其特征在于,还包括:当客户应用需要访问TEE中的可信应用时,客户应用向TEE访问控制模块发送客户应用 行为脚本,TEE访问控制模块对接收到的客户应用行为脚本进行解析,得到客户应用中与安 全相关的数据和/或进程的运行指令,并按照该运行指令去访问TEE中的可信应用。
【文档编号】H04L29/06GK105978917SQ201610570959
【公开日】2016年9月28日
【申请日】2016年7月19日
【发明人】杨俊
【申请人】恒宝股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1