双执行环境之间双向访问应用的方法转让专利

申请号 : CN201410613548.3

文献号 : CN105592019B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 鲁志军郭伟周钰陈成钱

申请人 : 中国银联股份有限公司

摘要 :

本发明涉及一种双执行环境之间双向访问应用的方法,包括:第一客户应用通过第一通信模块发出对第一安全应用的访问请求;第一安全应用对访问请求进行第一阶段处理,以得到第一结果数据并转送到第二通信模块;第二通信模块根据第一结果数据,在第一通信模块和第二通信模块之间建立至少一双向通信信道,以使第一安全应用分别通过各双向通信信道回访各第二客户应用;第一安全应用基于回访各第二客户应用所得的各回访结果,对访问请求进行第二阶段处理,以生成对应于访问请求的最终结果数据;第一安全应用向第一客户应用返回最终结果数据。其使TEE应用在处理来自REE应用的请求过程中可以并行地回访多个REE应用。

权利要求 :

1.一种双执行环境之间双向访问应用的方法,其中,所述双执行环境包括可信执行环境与多媒体执行环境,所述多媒体执行环境部署有至少一个客户应用和第一通信模块,所述可信执行环境部署有至少一个安全应用和第二通信模块,所述客户应用和安全应用之间通过所述第一通信模块和第二通信模块进行数据交互,所述方法包括如下步骤:a)、第一客户应用通过所述第一通信模块发出对第一安全应用的访问请求;其中,所述第一客户应用为任一所述客户应用,所述第一安全应用为所述第一客户应用需要访问的所述安全应用;

b)、所述第一安全应用对所述访问请求进行第一阶段处理,以得到第一结果数据并转送到所述第二通信模块;其中,所述第一结果数据指定至少一第二客户应用,所述第二客户应用为所述第一安全应用需要回访的所述客户应用;

c)、所述第二通信模块根据所述第一结果数据,在所述第一通信模块和所述第二通信模块之间建立至少一双向通信信道,以使所述第一安全应用分别通过各所述双向通信信道回访各所述第二客户应用;其中,所述双向通信信道与所述第二客户应用一一对应;

d)、所述第一安全应用基于回访各所述第二客户应用所得的各回访结果,对所述访问请求进行第二阶段处理,以生成对应于所述访问请求的最终结果数据;

e)、所述第一安全应用向所述第一客户应用返回所述最终结果数据。

2.根据权利要求1所述的方法,其特征在于,所述步骤c)中,所述第二通信模块以与所述第一通信模块之间的请求-响应方式建立所述至少一双向通信信道。

3.根据权利要求2所述的方法,其特征在于,所述步骤c)具体包括:

c1)、所述第二通信模块基于所述第一结果数据生成对所述客户应用的至少一回访请求,并将所述至少一回访请求发送至所述第一通信模块;其中,所述回访请求与所述第二客户应用一一对应;

c2)、所述第一通信模块接收各所述回访请求,并基于各所述回访请求分别选择各所述第二客户应用;

c3)、各所述第二客户应用分别对相应的所述回访请求进行处理,以生成至少一所述回访结果并转送给所述第一通信模块;其中,所述回访结果与所述回访请求一一对应;

c4)、所述第一通信模块基于各所述回访结果分别生成至少一回访响应,并将各所述回访响应发送回所述第二通信模块;其中,所述回访响应与所述回访结果一一对应;

c5)、所述第二通信模块将各所述回访响应分别解析为各所述回访结果并将各所述回访结果转送至所述第一安全应用。

4.根据权利要求3所述的方法,其特征在于,所述第一通信模块包括协议处理模块和服务管理模块,所述协议处理模块执行对所述访问请求、所述回访请求、所述回访结果的封装和/或解析,所述服务管理模块注册各所述客户应用、建立所述双向通信信道、以及根据所述第一结果数据选择各所述第二客户应用。

5.根据权利要求3所述的方法,其特征在于,所述回访请求、所述回访响应与所述访问请求具有不同的特征字段。

6.根据权利要求3所述的方法,其特征在于,所述回访响应将对应的所述回访结果作为一特征字段。

7.根据权利要求1所述的方法,其特征在于,所述第二客户应用为多个,所述第一安全应用并行地回访各所述第二客户应用。

8.根据权利要求1所述的方法,其特征在于,所述客户应用提供与外部设备通信服务、安全载体访问服务、数据存储服务以及资源操作服务中的任一个或任多个。

9.根据权利要求1至8中任一项所述的方法,其特征在于,所述可信执行环境与多媒体执行环境共同运行于同一智能移动装置中。

10.根据权利要求9所述的方法,其特征在于,所述智能移动装置为智能手机。

说明书 :

双执行环境之间双向访问应用的方法

技术领域

[0001] 本发明涉及智能移动设备技术领域,更具体地说,涉及一种双执行环境之间双向访问应用的方法。

背景技术

[0002] 随着智能移动设备(如智能手机)逐步“支付工具”化,其现有的智能操作系统已无法满足支付应用对其所处的运行环境的安全性要求。由于系统资源所限,若提高智能操作系统的安全性,几乎肯定会使功能及用户体验有所降低。针对于此,当前业界基于最新移动芯片的技术发展,提出了双执行环境方案:即一个设备上同时运行有两个执行环境,其中一个是注重功能、用户体验的多媒体执行环境,另一个是注重安全的可信执行环境。
[0003] 当前,GlobalPlatform  所提出的可信执行环境(Trusted execution environment,简称TEE)作为该方案的一个技术实现平台,得到了广泛应用。在该平台上,满足某项业务需求的功能实现由原先的单一应用分为两种应用:一种作为客户应用部署在多媒体执行环境中,也称为REE(Rich execution environment)应用,另一种作为安全应用部署在可信执行环境中,也称为TEE应用。为实现系统的安全功能,多媒体执行环境中的REE应用需要访问可信执行环境中的TEE应用,即,访问TEE应用所提供的服务,相应的服务结果再由TEE应用返回给多媒体执行环境中的REE应用。
[0004] 如图1所示,REE应用和TEE应用之间采用以下机制进行通信:REE通信模块和TEE通信模块分别运行在多媒体执行环境和可信执行环境下,采用一种请求-应答方式来实现REE应用和TEE应用之间的数据交互。具体地,REE应用请求访问TEE应用时,首先将访问请求转送至REE通信模块,REE通信模块通过双系统之间的切换机制切换到安全操作系统下,再以Request命令的形式将请求发送至TEE通信模块,TEE通信模块获取到请求后,确定该请求要具体发往的TEE应用并将请求数据转送到该TEE应用,该TEE应用收到请求之后,进行处理以产生结果数据,再调用TEE通信模块的Response命令,将结果数据返回给REE应用。上述方案中,在Response命令没有返回REE应用前,不能发起新的Request命令。
[0005] 这种方案存在如下问题:当TEE应用需要对REE应用的访问请求进行较为复杂的处理时,由于前一对Request-Response命令之间无法插入新的Request命令,TEE应用无法再从多媒体执行环境中的REE应用获取进行复杂处理所需的有关基础数据,从而要求可信执行环境自身具备更多、更强的能力来支撑这种复杂处理。比如:在TEE应用需要后台的参与、或需要访问智能存储卡等来进行复杂处理时,TEE应用就相应地需要可信执行环境能够联网、或设有智能存储卡访问接口等,这无疑会使可信执行环境结构变大、变复杂,从而使安全操作系统可验证性的难度增加,也会产生更多的系统缺陷,进而会降低系统的安全性。
[0006] 因此,本领域技术人员期望获得一种使TEE应用在处理来自REE应用的请求过程中可以回访REE应用的方法。

发明内容

[0007] 本发明的目的在于提供一种双执行环境之间双向访问应用的方法,以便于安全应用对客户应用的访问请求进行分阶段的复杂处理。
[0008] 为实现上述目的,本发明提供一种技术方案如下:
[0009] 一种双执行环境之间双向访问应用的方法,其中,双执行环境包括可信执行环境与多媒体执行环境,多媒体执行环境部署有至少一个客户应用和第一通信模块,可信执行环境部署有至少一个安全应用和第二通信模块,客户应用和安全应用之间通过第一通信模块和第二通信模块进行数据交互,该方法包括如下步骤:a)、第一客户应用通过第一通信模块发出对第一安全应用的访问请求;其中,第一客户应用为任一客户应用,第一安全应用为第一客户应用需要访问的安全应用;b)、第一安全应用对访问请求进行第一阶段处理,以得到第一结果数据并转送到第二通信模块;其中,第一结果数据指定至少一第二客户应用,第二客户应用为第一安全应用需要回访的客户应用;c)、第二通信模块根据第一结果数据,在第一通信模块和第二通信模块之间建立至少一双向通信信道,以使第一安全应用分别通过各双向通信信道回访各第二客户应用;其中,双向通信信道与第二客户应用一一对应; d)、第一安全应用基于回访各第二客户应用所得的各回访结果,对访问请求进行第二阶段处理,以生成对应于访问请求的最终结果数据;e)、第一安全应用向第一客户应用返回最终结果数据。
[0010] 优选地,步骤c)中,第二通信模块以与第一通信模块之间的请求-响应方式建立至少一双向通信信道。
[0011] 优选地,步骤c)具体包括:c1)、第二通信模块基于第一结果数据生成对客户应用的至少一回访请求,并将至少一回访请求发送至第一通信模块;其中,回访请求与第二客户应用一一对应;c2)、第一通信模块接收各回访请求,并基于各回访请求分别选择各第二客户应用;c3)、各第二客户应用分别对相应的回访请求进行处理,以生成至少一回访结果并转送给第一通信模块;其中,回访结果与回访请求一一对应;c4)、第一通信模块基于各回访结果分别生成至少一回访响应,并将各回访响应发送回第二通信模块;其中,回访响应与回访结果一一对应;c5)、第二通信模块将各回访响应分别解析为各回访结果并将各回访结果转送至第一安全应用。
[0012] 优选地,第二客户应用为多个,第一安全应用并行地回访各第二客户应用。
[0013] 本发明各实施例所提供的双执行环境之间双向访问应用的方法,使得TEE应用在处理来自REE应用的请求过程中可以回访REE应用,从而TEE应用能够对来自REE应用的访问请求进行复杂处理以实现更完备的功能。本发明各实施例还可在保证系统安全性的同时有效降低可信执行环境的结构复杂度,从而降低了产生系统缺陷的可能性。此外,本发明各实施例支持某一安全应用并行地回访多个客户应用,且每一回访是通过独立的双向通信信道来进行的,这显著提高了系统工作效率。

附图说明

[0014] 图1示出现有技术中多媒体执行环境中REE应用与可信执行环境中TEE应用之间数据交互过程的示意图。
[0015] 图2示出本发明第一实施例提供的双执行环境之间双向访问应用的方法的流程示意图。
[0016] 图3示出本发明第一实施例提供的双执行环境之间双向访问应用的方法中的数据交互过程示意图。

具体实施方式

[0017] 在本文所提供实施例中,双执行环境包括可信执行环境与多媒体执行环境,两者共同运行于同一智能移动装置中,例如,智能手机。多媒体执行环境部署有至少一个客户应用和第一通信模块,可信执行环境部署有至少一个安全应用和第二通信模块,各客户应用和安全应用分别提供至少一种服务,客户应用和安全应用之间通过第一通信模块和第二通信模块进行通信。需要说明的是,本文所指“回访”表示在多媒体执行环境中的第一客户应用向可信执行环境中的第一安全应用发出访问请求时,为使第一安全应用获取多媒体执行环境中的某些服务资源以实现对该访问请求的响应,而逆向访问多媒体执行环境中的任一个或任多个客户应用,而非仅访问第一客户应用。
[0018] 在本文所提供的实施例中,任一客户应用或安全应用均可提供至少一项服务,本文所指“服务”为客户应用或安全应用所实现的功能,换言之,任一客户应用或安全应用均可实现至少一项功能。第一客户应用访问第一安全应用本质上即为访问第一安全应用所提供的至少一项服务。
[0019] 本文所指“第一客户应用”为多媒体执行环境中任一客户应用,而“第一安全应用”为第一客户应用需要访问的、可信执行环境中的安全应用。
[0020] 如图2和图3所示,本发明第一实施例提供一种双执行环境之间双向访问应用的方法,其包括如下步骤:
[0021] 步骤S10、第一客户应用通过第一通信模块发出对第一安全应用的访问请求;
[0022] 具体地,第一客户应用产生对第一安全应用的访问请求100,第一通信模块会按照一定的数据格式对访问请求100进行封装,例如封装为Request命令101,随后发送给第二通信模块;第二通信模块收到封装数据(Request命令101)后进行解析,获得访问请求100并转送到第一安全应用。
[0023] 步骤S20、第一安全应用对访问请求进行第一阶段处理,以得到第一结果数据102并转送到第二通信模块。
[0024] 其中,第一结果数据102指定至少一个第二客户应用,该至少一个第二客户应用可能包括第一客户应用,也可能不包括。本文所指第二客户应用为第一安全应用需要回访的、多媒体执行环境中的客户应用。
[0025] 第一安全应用对来自第一客户应用的访问请求100进行分阶段处理,第一阶段处理所需的基础数据从该访问请求100中即可获得,而第二阶段处理所需的基础数据则需要回访第二客户应用来获得。第一阶段处理生成第一结果数据102,第一安全应用将该第一结果数据102转送到第二通信模块。
[0026] 本领域技术人员可以理解,可能存在如下情况:第一安全应用在对访问请求进行第一阶段处理后,得知需要访问同处于可信执行环境中的第二安全应用来完成后续处理,而第二安全应用需要回访多媒体执行环境中的至少一个客户应用,从而此时第一结果数据可由第二安全应用来生成。这种情况涵盖于本发明的范围内。
[0027] 步骤S30、第二通信模块根据第一结果数据102,在第一通信模块和第二通信模块之间建立至少一双向通信信道,以使第一安全应用分别通过各双向通信信道回访各第二客户应用。
[0028] 该步骤中,第二通信模块以与第一通信模块之间的请求-响应方式在第二通信模块与第一通信模块之间建立至少一双向通信信道,双向通信信道与第二客户应用一一对应,以便第一安全应用分别通过独立的双向通信信道来并行地回访各第二客户应用。
[0029] 优选情况下,步骤S30具体包括:
[0030] 步骤S301、第二通信模块基于第一结果数据102生成对客户应用的至少一回访请求200,并将该至少一回访请求200发送至第一通信模块。
[0031] 其中,回访请求200与第二客户应用一一对应。
[0032] 步骤S302、第一通信模块接收各回访请求200,并基于各回访请求200分别选择各第二客户应用。
[0033] 步骤S303、各第二客户应用分别对相应的回访请求200进行处理,以生成至少一回访结果201并转送给第一通信模块。
[0034] 每个第二客户应用分别调用其自身提供的一个或多个服务,对与其相应的、来自可信执行环境中安全应用的回访请求进行独立的处理,并分别生成回访结果。其中,回访结果201与回访请求200一一对应。
[0035] 步骤S304、第一通信模块基于各回访结果201分别生成至少一回访响应202,并将各回访响应202发送回第二通信模块。
[0036] 其中,回访响应202与回访结果201一一对应。第一通信模块将对各回访结果201进行封装以形成相应的回访响应202。
[0037] 回访请求200、回访响应202分别与第一客户应用对第一安全应用的访问请求100具有不同的特征字段。其中,回访响应202可将对应的回访结果201用作为一特征字段。
[0038] 例如,访问请求100可具有如下特征字段:
[0039]
[0040] 回访请求200、回访响应202可具有如下特征字段,例如:
[0041]
[0042] 其中,例如,“TEE信息”、“TEE/REE信息”特征字段记载多媒体执行环境或可信执行环境的状态信息;“第一安全应用信息”、特征字段记载访问请求100针对的对象,“第一安全应用/第二客户应用信息”特征字段记载回访响应/回访请求针对的对象;“命令”特征字段可指示第一客户应用需要访问第一安全应用提供的哪一个服务,或第一安全应用需要回访第二客户应用提供的哪一个服务;“参数”特征字段可包括后台IP地址、端口号、与后台服务器的连接状态等信息;“状态信息”特征字段可使用不同的默认值来区分回访请求200与回访响应202。
[0043] 步骤S305、第二通信模块将各回访响应202分别解析为各回访结果201并将各回访结果201转送至第一安全应用。
[0044] 通过步骤S30,以回访请求200与回访响应202的形式(即,请求-响应方式),可在第二通信模块与第一通信模块之间建立起至少一条双向通信信道,双向通信信道与回访请求200一一对应,同样也与第二客户应用一一对应。每一双向通信信道都为专用的信道,仅供第一安全应用与对应于该双向通信信道的第二客户应用进行数据交互。在第一安全应用需要回访多个第二客户应用的情况下,各双向通信信道可并行地使用,即,第一安全应用可并行地回访各第二客户应用,从而显著提高系统的工作效率。
[0045] 步骤S30结束后,第二通信模块获得了各回访结果201。
[0046] 步骤S40、第一安全应用基于回访各第二客户应用所得的各回访结果201,对访问请求进行第二阶段处理,以生成对应于访问请求100的最终结果数据103。
[0047] 具体地,第一安全应用回访各第二客户应用所得的各回访结果201分别通过对应的双向通信信道返回第一安全应用。第一安全应用基于这些回访结果201,对来自第一客户应用的访问请求100进行第二阶段处理,以便生成最终结果数据103,作为对该访问请求100的最终响应。
[0048] 本领域技术人员理解,第二阶段处理有可能还不能生成对应于访问请求的最终结果数据,即,第一安全应用需要从多媒体执行环境中的客户应用再获取一些基础数据来进行第三阶段处理、甚至更多次的处理,以形成对该访问请求的最终响应,从而在第二阶段处理之后,第一安全应用仍可能会对多媒体执行环境中的客户应用进行再次回访。这种情况涵盖于本发明的范围内。
[0049] 步骤S50、第一安全应用向第一客户应用返回最终结果数据。
[0050] 具体地,该步骤中,第一安全应用依次经由第二通信模块、第一通信模块向第一客户应用返回最终结果数据103。其中,第二通信模块对最终结果数据进行封装,例如封装为Response命令104,第一通信模块对封装数据(Response命令104)进行解析而获得最终结果数据103。
[0051] 根据上述实施例的优选实施方式,第一通信模块可包括协议处理模块和服务管理模块,协议处理模块执行对访问请求、回访请求、回访结果的封装和/或解析,而服务管理模块注册多媒体执行环境中各客户应用、建立(或协助建立)双向通信信道、以及根据第一结果数据选择各第二客户应用。
[0052] 进一步地,多媒体执行环境中的客户应用提供与外部设备通信服务、安全载体访问服务、数据存储服务以及资源操作服务中的任一个或任多个。
[0053] 其中:与外部设备通信服务提供连接外部设备的能力,包括使用wifi、GPRS等连接后台所需要的Socket能力或者使用蓝牙、NFC等设备来访问其他终端的能力。
[0054] 安全载体访问服务提供访问智能终端上各种安全载体的能力,包括SD卡、智能SD卡、SIM卡、eSE等。
[0055] 数据存储服务提供本地数据存储的能力,可以文件系统、特定实现的读写接口等方式提供对数据的临时性和永久性存储,并可根据需要提供数据保护的安全性存储。
[0056] 资源操作服务提供操作智能设备其他资源的方式,如访问摄像头、GPS模块等。
[0057] 本发明上述实施例提供的双执行环境之间双向访问应用的方法,使得TEE应用在处理来自REE应用的请求过程中可以回访REE应用,从而TEE应用能够对来自REE应用的访问请求进行复杂处理以实现更完备的功能。
[0058] 基于本发明的实施例,可在保证系统安全性的同时有效降低可信执行环境的结构复杂度,从而降低了产生系统缺陷的可能性。
[0059] 此外,在某一安全应用需要回访多个客户应用的情况下,后续回访不必等前次回访结束才开始,而是可并行地进行多个回访过程。因而,本发明通过使用多个相互独立的双向通信信道来支持某一安全应用并行地回访多个客户应用,这显著提高了系统工作效率。
[0060] 上述说明仅针对于本发明的优选实施例,并不在于限制本发明的保护范围。基于本发明的思想,本领域技术人员可作出各种变形设计,而不脱离本发明的思想及附随的权利要求。