基于可信执行环境的密码功能服务实现方法和设备与流程

文档序号:20061482发布日期:2020-03-06 08:01阅读:103来源:国知局
基于可信执行环境的密码功能服务实现方法和设备与流程

本申请涉及移动安全技术领域,特别是涉及一种基于可信执行环境的密码功能服务实现方法和设备。



背景技术:

随着无线宽带技术的日趋成熟和信息化建设的整体推进,通过移动智能终端利用移动互联网及各种信息系统来提高工作处理的效率已成为社会主流。然而,互联网面临病毒、木马、流氓软件和窃听、篡改等各种攻击,移动智能终端在提供更便捷灵活的密码功能服务的同时,安全风险也逐渐显现;网络身份的真实性、信息资源的访问控制和传输信息的机密性等是其中急需解决的主要问题。为了解决上述问题,pki技术和各种密码模块类产品由此而生。

目前,现有的技术方案中可以通过基于android的组件实现pki功能和利用第三方或自研的运行在android下的密码模块实现pki功能来解决上述问题。

然而,上述方法均存在执行过程容易受到恶意攻击、无法保证密码模块关键安全参数的安全以及密码运算的正确性等缺陷。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种安全性较高、使用便捷的基于可信执行环境的密码功能服务实现方法和设备。

一种基于可信执行环境的密码功能服务实现方法,包括富系统1和可信执行环境2;

富系统1中运行客户端应用11,可信执行环境2中运行ta21;

ta21实现密码功能服务;

可信执行环境的密码功能服务实现方法包括:

ta21响应于客户端应用11发送的密码功能服务请求,执行对应密码功能服务,得到执行结果;

ta21将执行结果发送至客户端应用11;

进一步地,密码功能服务包括安全存储服务;

其中,ta21响应于客户端应用11发送的密码功能服务请求,执行对应密码功能服务,得到执行结果,包括:

ta21响应于客户端应用11发送的密码功能服务请求,通过调用预设的密码功能服务请求接口执行对应密码功能服务请求的安全存储服务,得到执行结果;

其中,ta21通过调用可信执行环境2的teeinternalapi获取可信执行环境2的安全存储服务实现文件系统和数据存储。

进一步地,密码功能服务包括密码算法服务;

其中,ta21响应于客户端应用11发送的密码功能服务请求,执行对应密码功能服务,得到执行结果,包括:

ta21响应于客户端应用11发送的密码功能服务请求,通过调用预设的密码功能服务接口执行对应密码功能服务请求的密码算法服务,得到执行结果。

其中,ta21通过调用可信执行环境2的teeinternalapi获取可信执行环境2核准的密码算法服务实现密码模块的密码算法服务。

进一步地,ta21的文件系统是由应用、容器、文件组成,呈“设备―应用―容器―密钥”的树形存储结构;树形存储结构中子节点元素的属性存储在父节点文件体体内,子节点安全存储对象的id由所在父节点id+子节点在父节点的存储偏移构成。

进一步地,ta21响应于客户端应用11发送的密码功能服务请求,包括:

客户端应用11调用可信执行环境2的teeclientapi,向ta21发送apdu命令。

进一步地,ta21将执行结果发送至客户端应用11,包括:

对将执行结果转化为apdu命令格式;

将apdu命令格式的执行结果发送至客户端应用11。

一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,其特征在于,处理器执行计算机程序时实现上述方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,其特征在于,计算机程序被处理器执行时实现上述方法的步骤。

上述基于可信执行环境的密码功能服务实现方法和设备,通过响应于客户端应用发送的密码功能服务请求,执行对应密码功能服务,得到执行结果;将执行结果发送至客户端应用,不仅能够在移动智能终端上实现符合相关规范的智能密码钥匙产品,而且可以显著提升授权机制的用户体验性和安全性。

附图说明

图1为基于可信执行环境的密码模块实现密码功能方法的软件框架图;

图2为基于可信执行环境的密码模块实现密码功能方法的流程示意图;

图3为基于可信执行环境的密码模块实现密码功能方法中的存储结构示意图;

图4为基于可信执行环境的密码模块实现密码功能方法中的总体文件系统存储结构示意图;

图5为基于可信执行环境的密码模块的整体结构框架图;

图6为实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

图1为实施例中用于移动设备的应用环境说明图。

移动设备的应用环境由ree1和tee2构成。tee2(可信执行环境)是驻留在移动设备的主处理器上的安全区域,tee2是与移动设备上的ree1(富系统)并存的运行环境,ree1中运行客户端应用11,tee2中运行可信应用ta21。tee2向ree1提供例如敏感数据的安全存储、核准的密码算法、可信用户界面等安全服务。tee2同时提供数据保密性和数据完整性保护,对ta21(即可信应用、或称可信应用程序,下同)访问资源和数据提供访问权限控制,隔离多个ta之间的运行环境和敏感数据。在移动设备上实现智能密码钥匙(基于tee2的密码模块ta21)的方法,即在tee中遵循国密规范《gmt0017-2012智能密码钥匙密码应用接口数据格式规范》实现一个软ta,ta通过tee规范中的teeinternalapi来获取安全资源和安全服务的访问权限,提供相应的密码功能。

图2示出了基于可信执行环境的密码模块ta21实现密码功能方法的流程示意图,以图1中移动设备为例进行说明,包括以下步骤:

步骤202,ta21响应于客户端应用11发送的密码功能服务请求,执行对应所述密码功能,得到执行结果;

步骤204,ta21将所述执行结果发送至客户端应用11;

其中,所述ta21安装于tee2中,所述客户端应用11安装于ree1中。

上述基于可信执行环境的密码功能服务实现方法,由于密码功能服务的执行是在tee2中,由ta21执行。因此,本实施方式不仅能够在移动智能终端上实现符合相关规范的智能密码钥匙产品;而且可以显著提升密码服务的安全性。

在其中一个实施例中,所述密码功能服务包括安全存储服务;其中,ta21响应客户端应用11发送的密码功能服务请求,执行对应所述密码功能,得到执行结果,包括:ta21响应客户端应用11发送的密码功能服务请求,通过调用预设的密码功能服务接口执行对应密码功能服务请求的安全存储服务,得到执行结果;ta21通过调用tee2的teeinternalapi获取tee1的安全存储服务实现文件系统和数据存储。

在其中一个实施例中,所述密码功能服务包括密码算法服务;其中,ta21响应客户端应用11发送的密码功能服务请求,执行对应密码功能服务,得到执行结果,包括:ta21响应客户端应用11发送的密码功能服务请求,通过调用预设的密码功能服务接口执行对应于密码功能服务请求的密码算法服务,得到执行结果。其中,ta21通过调用tee2的teeinternalapi获取tee核准的密码算法服务实现密码模块的密码算法服务。

作为示例,客户端应用11通过调用teeclientapi,向ta21发送符合相关规范的apdu命令;ta21接收来自客户端的apdu,执行相应的密码功能,并向客户端11返回响应apdu。ta21按照相关规范实现对应的密码功能,实现密码算法服务以及敏感数据的文件管理。

ta21通过调用tee的teeinternalapi获取tee2核准的密码算法服务实现密码模块的密码算法服务,ta21通过调用teeinternalapi获取tee2提供的安全存储服务实现密码模块的文件系统、数据存储;

在其中一个实施例中,ta21将所述执行结果发送至客户端应用11,包括:ta21对所述执行结果转化为apdu命令格式;ta21将所述apdu命令格式的执行结果发送至客户端应用11。

图5示出了基于可信执行环境的密码功能服务的整体结构框架图;

图5从横向、纵向两个纬度展示了密码模块ta21实现的整体框架。纵向主要是从调用层次进行划分,横向主要是针对纵向不同层次的功能模块进行划分。橫向主要有以下四个层次:指令分发、指令处理接口层、文件系统操作/算法接口封装层以及tee平台接口。纵向由下向上提供服务。

即,客户端应用11加载密码模块ta21后,向密码模块ta21发送符合《gmt0017-2012智能密码钥匙密码应用接口数据格式规范》的标准apdu指令,密码模块ta21接收到apdu指令后:

首先,指令分发层检查指令是否符合规范,如符合规范,则根据规范定义的密码功能调用相应功能的指令处理接口;

其次,指令处理接口按照密码模块ta21的功能流程的设计调用封装好的文件管理接口/安全算法接口实现密码功能;

最后,文件管理/安全算法接口层为整个密码模块ta21的实现提供文件系统操作以及密码算法实现。

平台相关接口主要有两部分,一部分是tee2安全存储对象操作接口,主要为密码模块ta21的文件系统操作提供平台支撑,另一部分是tee2平台算法计算接口,主要为密码模块ta21的密码算法提供平台实现。

作为密码功能服务,以下以创建应用为例说明密码功能实施流程。

步骤1,启动客户端应用11,通过调用teeclientapi加载ta21,客户端应用11加载ta21成功后,发送创建应用的apdu指令;

步聚2,ta21接收指令后,指令分发层检查指令格式是否符合规范。如果指令符合规范,ta21则调用指令处理接口层中的应用管理模块完成应用创建的流程;

具体地,应用管理模块判断应用是否达到ta21支持的最大应用数量,并判断ta21是否具有相应的权限创建文件;

如果满足创建应用的条件,则应用管理模块按照文件系统设计获取应用id;应用管理模块调用文件管理操作接口,创建应用的安全存储对象,用于存储应用下密钥属性信息、容器属性信息以及二进制文件属性信息;有关文件系统设计在后面进行论述。

步骤3,密码模块ta21向客户端11返回创建应用的应用id等信息,完成应用的创建。

由于ta21安装于tee2中,密码模块安全参数的存储及密码运算都在ta21中。ta21通过响应客户端发送的密码功能服务请求,在tee2内部执行密码功能服务即可得到执行结果。保证了密码功能服务的安全性及密码运算的正确性。

本实现方式中,ta21的文件系统是由应用、容器、文件等元素组成,文件的类型可以分为:设备信息文件、pin文件、证书文件、密钥文件等类型,按照“设备―应用―容器―密钥”的层次结构存储,一个设备下可以支持多个应用,一个应用下可以支持多个容器,一个容器下可以存储多个密钥文件以及证书文件,密码模块ta21文件系统呈树形结构。

图4为一个实施例中基于tee2的服务实现方法中的总体文件系统组成结构示意图,如图4所示,文件系统元素的存储形式:tee2提供敏感数据的安全存储服务,保证存储数据的保密性以及完整性,本发明利用tee2提供的安全存储服务构建密码模块的文件系统。密码模块ta21中的每一个元素均以一个安全存储对象的形式存在,tee2中每一个安全存储对象均有唯一的id标示,确保密码模块ta21中数据的保密性以及完整性。

图3为一个实施例中基于tee2的密码功能服务实现方法中的文件系统存储结构示意图,如图3所示,基于密码模块ta21的树形文件系统存储结构,本发明中文件系统的存储结构以“将文件头部分放到上一级的文件体”方式,即将树形结构中子节点元素的名称、类型等属性存储在父节点的文件体内。

其中,子节点安全存储对象的id由所在父节点id+子节点在父节点的存储偏移构成,保证了文件系统中各个元素对应的安全存储对象id唯一。

本发明中的文件系统的存储结构一方面能够按照文件系统层次清晰的将相关联的文件系统对象关联起来,另一方面能够方便文件系统对象的快速查找以及操作,不仅保证了密码服务的安全性及密码运算的正确性,同时保证了处理速度并增强了用户体验。

在一定的实现方式中,本发明中密码功能接口以sdk的形式提供给客户,接口定义完全符合gm/t0016国密规范,接口实现将对应的密码功能翻译成符合gm/t0017国密规范的apdu指令发送给运行在tee2中的ta21,ta21通过调用tee2提供的安全存储服务以及核准的密码算法实现相应的密码功能。

在另外的实现方式中,本发明中在将智能密码钥匙交付客户时,提供符合gm/t0016规范的客户端sdk以及符合gm/t0017规范的可信应用,用户仅需要按照常规的移动智能终端应用程序开发进行配置开发,即可实现提供相应密码功能服务的应用软件,用户无需购买并携带额外的硬件即可获取相应的密码功能服务,方便、快捷。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

ta21响应于客户端应用11发送的密码功能服务请求,ta21执行对应于所述密码功能服务,得到执行结果;ta21将所述执行结果发送至客户端应用11;其中,所述ta21安装于tee2中,所述客户端应用11安装于富系统1中。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

ta21响应于客户端应用11发送的密码功能服务请求,ta21执行对应所述密码功能服务,得到执行结果;ta21将所述执行结果发送至客户端应用11;其中,所述ta21安装于tee2中,所述客户端应用11安装于富系统1中。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1