基于手机盾的移动终端及手机盾管理方法与流程

文档序号:15448683发布日期:2018-09-14 23:40阅读:568来源:国知局

本申请涉及手机盾技术领域,尤其涉及一种基于手机盾的移动终端及手机盾管理方法。



背景技术:

随着android平台的可信执行环境(trustedexecutionenvironment,tee)的普及,基于tee环境的各种金融支付、身份认证等安全级别要求较高的行业应用的需求越来越多,例如传统pc平台的银行的个人网上银行业务开始逐渐向手机侧迁移。传统pc平台个人网上银行业务需使用usb接口的外接安全认证的物理盾,保证交易的安全。

随着智能手机的普及,用户更倾向于手机的个人网上银行操作和使用,但是手机的开放系统导致很多不安全的漏洞和限制,tee系统的出现,正好可以和手机的个人网上银行业务结合,提供一种安全的,快捷的服务,由于tee系统支持tui(trusteduserinterface,可信用户界面),可提供安全环境的用户操作界面,保证交易的信息不被篡改和pin码的安全输入,实现pc平台的“所见即所签”的二代usbkey业务。

tee的系统基于gp标准规范实现ree和tee的通讯,但是具体手机操作系统的tee实现上,还是有一定差异性。针对tee环境的银行的手机盾业务,由于银行的客户端需要适配所有的支持tee系统的手机,手机系统侧又有多家tee的解决方案,同时手机系统侧又要支持多家终端银行的tee盾业务。因此,针对tee的手机盾业务,出现了多对多的适配过程,增加了银行和手机厂商的开发难度,不利于tee环境的手机盾业务的普及。



技术实现要素:

本申请的目的在于提供一种基于手机盾的移动终端及手机盾管理方法,设置了基于tee环境android系统上手机盾业务的通讯接口规范,减轻了不同行业的终端用户(如银行,保险,证券等)开发手机盾业务app的适配难度和后期维护,同时也简化了移动终端的厂商针对不同行业的终端用户(如银行,保险,证券等)手机盾业务的系统支持。

为达到上述目的,本申请提供一种基于手机盾的移动终端,移动终端包括可信执行环境和富执行环境,富执行环境中安装移动终端用户应用安装包,移动终端用户应用安装包包括手机盾客户应用控件,手机盾客户应用控件为移动终端厂商服务器和终端用户应用程序的后台服务器提供与移动终端的嵌入式安全模块通信的标准接口。

如上的,其中,手机盾客户应用控件包括可信服务管理控件,可信服务管理控件为移动终端的厂商的可信服务管理平台与嵌入式安全模块提供创建辅助安全域的标准接口。

如上的,其中,可信服务管理控件为终端用户的可信服务管理平台与嵌入式安全模块提供下载小应用程序和创建应用实例的标准接口。

如上的,其中,移动终端用户应用安装包包括终端用户应用程序;手机盾客户应用控件包括业务控件,业务控件为终端用户应用程序提供在可信执行环境下完成业务的标准接口。

如上的,其中,移动终端的安卓操作系统包括设置在框架内的盾管理模块和设置在内核内的盾管理驱动器,盾管理模块提供业务控件与盾管理驱动器之间通信的标准接口,盾管理驱动器与嵌入式安全模块进行直接通信。

如上的,其中,移动终端的安卓操作系统包括设置在框架内的盾服务模块和设置在内核内的盾服务驱动器,盾服务模块提供可信服务管理控件与盾服务驱动器之间通信的标准接口,盾服务驱动器通过富执行环境的通信代理和可信执行环境的通信代理与可信执行环境中的可信应用进行通信。

本申请还提供一种移动终端的手机盾管理方法,包括如下步骤:响应于终端用户应用程序发起初始化请求而调用手机盾客户应用控件的初始化接口;手机盾客户应用控件通过移动终端的安卓操作系统向与初始化接口对应的服务器提出初始化请求,使服务器向嵌入式安全模块发送指令;手机盾客户应用控件接收安卓操作系统从嵌入式安全模块获取的指令的处理结果。

如上的,其中,初始化请求为创建辅助安全域,初始化接口为辅助安全域创建接口,辅助安全域创建接口设置在手机盾客户应用控件的可信服务管理控件上。

如上的,其中,初始化请求为下载小应用程序或创建应用实例,初始化接口为小应用程序下载接口或应用实例创建接口,小应用程序下载接口或应用实例创建接口设置在手机盾客户应用控件的可信服务管理控件上。

如上的,其中,还包括如下步骤:响应于终端用户应用程序启动交易而调用手机盾客户应用控件的业务控件的签名接口;业务控件调用安卓操作系统的open接口给可信执行环境加载手机盾的可信应用;业务控件调用安卓操作系统的transimit接口给可信应用发送指令并获取指令的返回结果;业务控件调用安卓操作系统的displaytui接口在可信执行环境下的可信用户界面上显示交易信息及交易pin码的输入界面;业务控件调用安卓操作系统的transimit接口获取响应于交易pin码正确而从嵌入式安全模块获取的交易签名结果并将交易签名结果发送给终端用户应用程序;业务控件调用安卓操作系统的close接口卸载可信应用。

本申请实现的有益效果如下:

(1)本申请通过手机盾ca控件的tsm控件提供移动终端的厂商或终端用户的tsm平台与ese之间直接交互通讯的标准接口,在移动终端平台上形成统一的系统服务接口,不用关心与哪家移动终端的厂商的tee适配,极大的方便终端用户应用程序的客户端适配。

(2)本申请的teekeyservice定义了open,close,transmit,displaytui等基本功能,使手机盾ca控件的业务控件通过标准接口与移动终端的安卓操作系统进行交互,屏蔽了tee系统在具体实现方式的多样性,使得ca侧无需关心tee系统的开发者和具体实现方式,只需保持ca与ta的正常通讯即可。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域技术人员来讲,还可以根据这些附图获得其他的附图。

图1为移动终端的手机盾业务整体框架图;

图2为移动终端的手机盾管理方法的流程图;

图3为创建辅助安全域的流程图;

图4为下载小应用程序的流程图;

图5为创建应用实例的流程图;

图6为手机盾完成业务的流程图;

图7为手机盾完成转账业务的流程图。

具体实施方式

下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

实施例一

图1为移动终端的手机盾业务整体框架图,移动终端为手机、平板等便携式终端设备。如图1所示,以手机100为例,移动终端包括可信执行环境、富执行环境以及嵌入式安全模块(embeddedsecuritymodule,ese)170。可信执行环境通过安全模块驱动器(esedriver)1602与ese170进行通信。

富执行环境中安装移动终端用户应用安装包和安卓操作系统。

移动终端用户应用安装包包括终端用户应用程序(application,app)和手机盾客户应用(clientapplication,ca)控件120。终端用户应用程序可以是银行、证券或保险等终端用户的客户端应用程序。这里以手机银行app(图1的110)为例。手机盾ca控件120包括可信服务管理(trustedservicemanager,tsm)控件1201、业务控件1202以及可信应用管理(trustedapplicationmanager,tam)控件1203,tsm控件1201为手机厂商的tsm平台210和银行(终端用户)的后台服务器(如盾业务tsm220)与ese170提供创建辅助安全域(auxiliarysecuritydomain,ssd)、下载小应用程序(applet)和创建应用实例等功能的标准接口,通过tsm控件来实现这些功能,即响应于手机银行app发起这些功能,tsm控件被触发。业务控件1202为手机银行app提供在tee环境下完成业务的标准接口,通过业务控件来实现银行的各种业务(如转账),即响应于手机银行app发起业务需求,业务控件被触发。tam控件1203为手机银行app提供设置和更新手机盾可信应用(trustedapplication,ta)150的配置信息的标准接口,通过tam控件来实现手机盾ta的配置信息的设置和更新。

安卓操作系统包括框架130和ree环境下的安卓内核140。框架130包括tee盾管理模块(teekeymanager)1301和tee盾服务模块(teekeyservice)1302。内核140内设有盾管理驱动器(teekeymanagerdriver)1401、盾服务驱动器(teekeyservicedriver)1402和富执行环境的通信代理(reecommunicationagent)1403。盾管理模块1301提供tsm控件1201与盾管理驱动器1401之间通信的标准接口,盾管理驱动器1401与ese170进行直接通信。盾服务模块1302提供业务控件1202和tam控件1203与盾服务驱动器1402之间通信的标准接口,盾服务驱动器1402通过富执行环境的通信代理1403和可信执行环境的通信代理(teecommunicationagent)1601与tee环境中的手机盾ta150进行通信。

实施例二

本申请还提供了基于上述移动终端的手机盾管理方法。

图2为移动终端的手机盾管理方法的流程图。如图2所示,包括如下步骤:

s210:响应于手机银行app发起初始化请求而启动手机盾ca控件的初始化接口。该初始化请求包括创建ssd、下载applet以及创建应用实例等。

s220:手机盾ca控件通过安卓操作系统向与初始化接口对应的服务器提出初始化请求,使服务器向ese发送指令。

s230:手机盾ca控件接收安卓操作系统从ese获取的指令的处理结果。

具体地,图3为创建辅助安全域ssd的流程图。如图3所示,创建ssd包括如下步骤:

s301:手机银行app的用户接口发起创建辅助安全域请求并调用手机盾ca控件的tsm控件的创建辅助安全域接口。

s302:tsm控件启动teekeymanager。

循环执行s303-s306:

s303:teekeymanager向手机厂商tsm提出申请,请求下发创建辅助安全域指令。

s304:手机厂商tsm检查当前手机是否已经创建ssd。如果已经成功创建ssd,直接返回成功结果;如果未成功创建ssd,下发相关apdu指令。

s305:teekeymanager接收并发送apdu指令给ese,使ese执行apdu指令。

s306:ese向teekeymanager返回apdu指令的处理结果。

s307:teekeymanager向tsm控件返回创建ssd结果,使ca侧根据手机银行app的设置执行下一步流程。

图4为下载小应用程序的流程图。如图4所示,下载小应用程序applet包括如下步骤:

s401:手机银行app的用户接口发起下载小应用程序请求并调用手机盾ca控件的tsm控件的下载小应用程序接口。

s402:tsm控件启动teekeymanager。

循环执行s403-s406:

s403:teekeymanager向银行盾tsm提出申请,请求下发下载小应用程序指令。

s404:银行盾tsm根据请求下发相关apdu指令。

s405:teekeymanager接收并发送apdu指令给ese,使ese执行apdu指令。

s406:ese向teekeymanager返回apdu指令的处理结果。

s407:teekeymanager向tsm控件返回下载小应用程序的处理结果,使ca侧根据手机银行app的设置执行下一步流程。

图5为创建应用实例的流程图。如图5所示,创建应用实例包括如下步骤:

s501:手机银行app的用户接口发起创建应用实例请求并调用手机盾ca控件中tsm控件的创建应用实例接口。

s502:tsm控件启动teekeymanager。

循环执行s503-s506:

s503:teekeymanager向银行盾tsm提出申请,请求创建应用实例的相关apdu指令。

s504:银行盾tsm根据请求下发相关apdu指令。

s505:teekeymanager接收并将apdu指令发送给ese,使ese执行apdu指令。

s506:ese向teekeymanager返回apdu指令的处理结果。

s507:teekeymanager向tsm控件返回创建应用实例的处理结果,使ca侧根据手机银行app的设置执行下一步流程。

本实施例中,通过手机盾ca控件的tsm控件提供移动终端的厂商或终端用户的tsm平台与ese之间直接交互通讯的标准接口,在手机平台上形成统一的系统服务接口,不用关心与哪家移动终端的厂商的tee适配,极大的方便银行的客户端适配。

实施例三

手机盾业务中使用应用实例完成业务涉及ca侧和手机盾ta的通讯。图6为手机盾完成业务的流程图。如图6所示,完成业务包括如下步骤:

s610:响应于手机银行app启动交易而调用手机盾ca控件的业务控件的签名接口。

s620:业务控件调用安卓操作系统的open接口给可信执行环境加载手机盾ta。

s630:业务控件调用安卓操作系统的transimit接口给手机盾ta发送指令并获取指令的返回结果。

s640:业务控件调用安卓操作系统的displaytui接口在tee环境下的tui上显示交易信息及交易pin码的输入界面。

手机银行app的用户输入pin码。

s650:业务控件调用安卓操作系统的transimit接口获取响应于交易pin码正确而从ese获取的交易签名结果并将交易签名结果发送给手机银行app。

s660:业务控件调用安卓操作系统的close接口卸载可信应用。

以手机盾业务最常见的转账为例来说明完成业务的具体流程。图7为手机盾完成转账业务的流程图。如图7所示,包括如下步骤:

s701:用户通过手机银行app的用户接口输入转账信息,手机银行app把转账关键信息上送给银行业务系统(请见图1的240)的后台。

转账关键信息包括手机银行app的用户的账户信息(包括企业用户名称或个人用户的姓名、账号)、收款方账户信息(包括企业用户名称或个人用户的姓名、账号)、转账银行信息,转账金额等。

s702:手机银行app调用业务控件的签名接口。

s703:业务控件调用teekeyservice的open接口给tee环境加载手机盾ta。

s704:循环执行如下操作:业务控件调用teekeyservice的transimit接口向tee环境中的手机盾ta的指令处理模块发送业务指令(签名指令),指令处理模块将该指令做预处理后发送给ese并从ese获取返回结果,手机盾ta通过teekeyservice将返回结果形成交易报文上传给业务空间。

根据不同系统的设置,s704完成后,一部分系统(如华为、mtk)的手机盾ta会自动显示tui;另一部分系统(如高通)的手机盾ta经s705来显示tui。其中,s705:业务控件调用teekeyservice的displaytui接口或者ta内部根据步骤s704下发的指令显示tui,在tee环境中显示关键交易信息。

tui显示后,用户输入交易pin码后,手机盾ta组织pin码校验指令。

s706:手机盾ta通过tee环境下的ese驱动器(请见图1的1602)向ese发送pin码校验指令。

s707:ese将pin码校验结果返回手机盾ta的指令处理模块。

s708:若pin码校验成功,则指令处理模块组织签名指令。

s709:指令处理模块将签名指令发送给ese。

s710:ese使用ese内的盾业务私钥签名,并将签名结果返回指令处理模块。

对于自动显示tui的系统,s710完成后,直接执行s712。对于经s705显示tui的系统,执行s711后执行s712。其中,s711:业务控件调用teekeyservice的transimit接口,向手机盾ta的指令处理模块下发业务指令(签名指令)。

s712:业务控件从指令处理模块获取交易签名结果并将前面结果上传给手机银行app。

s713:业务控件调用teekeyservice的close接口卸载手机盾ta。

s714:手机银行app根据业务控件的签名接口返回的签名结果组织交易报文,并向银行业务系统的后台发起交易请求,银行业务系统的后台对交易报文验证签名成功后对交易进行处理,并将交易结果返回手机银行app。

本实施例中,teekeyservice定义了open,close,transmit,displaytui等基本功能,使手机盾ca控件的业务控件通过标准接口与手机安卓操作系统进行交互,屏蔽了tee系统在具体实现方式的多样性,使得ca侧无需关心tee系统的开发者和具体实现方式,只需保持ca与ta的正常通讯即可。

本申请实现的有益效果如下:

(1)通过手机盾ca控件的tsm控件提供移动终端的厂商或终端用户的tsm平台与ese之间直接交互通讯的标准接口,在移动终端平台上形成统一的系统服务接口,不用关心与哪家移动终端的厂商的tee适配,极大的方便终端用户应用程序的客户端适配。

(2)teekeyservice定义了open,close,transmit,displaytui等基本功能,使手机盾ca控件的业务控件通过标准接口与移动终端的安卓操作系统进行交互,屏蔽了tee系统在具体实现方式的多样性,使得ca侧无需关心tee系统的开发者和具体实现方式,只需保持ca与ta的正常通讯即可。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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