CN106940655A - 基于可信执行环境集成虚拟机的方法、终端 - Google Patents

基于可信执行环境集成虚拟机的方法、终端 Download PDF

Info

Publication number
CN106940655A
CN106940655A CN201610006016.2A CN201610006016A CN106940655A CN 106940655 A CN106940655 A CN 106940655A CN 201610006016 A CN201610006016 A CN 201610006016A CN 106940655 A CN106940655 A CN 106940655A
Authority
CN
China
Prior art keywords
opensession
virtual machine
instructions
uuid2
uuid1
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610006016.2A
Other languages
English (en)
Other versions
CN106940655B (zh
Inventor
刘扬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201610006016.2A priority Critical patent/CN106940655B/zh
Publication of CN106940655A publication Critical patent/CN106940655A/zh
Application granted granted Critical
Publication of CN106940655B publication Critical patent/CN106940655B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于可信执行环境集成虚拟机的方法、终端,所述方法包括:基于CA调用OpenSession指令,所述OpenSession指令中携有至少如下参数:虚拟机对应的uuid1、TA对应的uuid2;通过TEE对所述OpenSession指令进行解析,得到所述虚拟机对应的uuid1,并将所述OpenSession指令发送至所述uuid1指向的虚拟机;通过所述虚拟机对所述OpenSession指令进行解析,得到所述TA对应的uuid2,并将所述OpenSession指令发送至所述uuid2指向的TA,以建立所述CA与所述TA之间的连接。

Description

基于可信执行环境集成虚拟机的方法、终端
技术领域
本发明涉及可信执行技术,尤其涉及一种基于可信执行环境集成虚拟机的方法、终端。
背景技术
目前,终端大多集成了可信执行环境(TEE,Trusted ExecutionEnvironment),如图1所示,终端包括应用执行环境(REE,Rich ExecutionEnvironment)和TEE。其中,REE由客户端应用(CA,Client Application)、客户端应用程序编辑接口(Client API,Client Application Programming Interface)以及应用操作系统(Rich OS,Rich Operating System)组成。TEE由可信应用(TA,Trusted Application)、内部应用程序编辑接口(Internal API,InternalApplication Programming Interface)以及可信操作系统(Trusted OS,TrustedOperating System)组成。
其中,REE与终端操作系统(OS,Operating System)一样,如安卓(Android)系统,REE支持丰富的应用,但是,REE存在一定的安全风险。TEE是终端中一块独立的区域,向该区域安装应用受管理服务器平台(TSM,Trusted ServerManager)控制;该区域可接管关键设备、提供硬件级别的安全隔离、以及保护资源和执行可信代码。REE只能通过专用的Client API访问TA。CA为运行于REE系统的客户端应用,如支付宝。TA为运行在TEE系统中的可信应用,为相应的CA提供安全服务,如输入密码,保存交易记录等。CA通过调用ClientAPI来访问TA。TA通过调用Internal API实现安全存储、加解密等安全服务。TSM为TEE系统的管理服务器平台,可以提供TA的下载、删除等服务。
用户在REE(如安卓(Android))系统中使用CA(如支付宝)提供的服务时,CA与TEE系统中相应的TA进行交互,以使用TEE系统提供的安全服务(如存储认证密钥、存储指纹信息、加解密等),从而保证CA服务的安全性。
全球平台国际标准组织(GP,Global Platform)定义了TEE系统的基本框架,并且在REE系统中定义了Client API以及在TEE系统中定义了Internal API。GP提供了认证服务,来认证终端的TEE系统的安全性及Internal API是否符合GP的规范。
参照图2,以用户手机支付为例对TEE系统的工作原理进行说明如下:
1、用户打开支付应用(CA),如手机银行进行支付。
2、当输入密码时,支付应用通过Client API调用TEE系统中的支付插件(TA)。此时切换到TEE系统,避免在REE系统中输入密码遭到窃取。
3、支付插件通过调用Internal API,弹出个人身份号码(PIN,PersonalIdentification Number)输入界面,用户输入密码后将密码加密传并输至业务平台进行验证,验证成功后完成支付。
目前GP没有考虑到TA的跨平台问题,仅仅使用C语言定义了Internal API,GP没有规定统一的Trusted OS以及TA可执行文件格式,这样,对于每种型号的终端都必须针对各自型号使用C语言开发维护相应的TA,给运营商通过TSM管理TA带来了非常大的麻烦。
发明内容
为解决上述技术问题,本发明实施例提供了一种基于可信执行环境集成虚拟机的方法、终端。
本发明实施例提供的基于可信执行环境集成虚拟机的方法,包括:
基于CA调用OpenSession指令,所述OpenSession指令中携有至少如下参数:虚拟机对应的uuid1、可信应用TA对应的uuid2;
通过TEE对所述OpenSession指令进行解析,得到所述虚拟机对应的uuid1,并将所述OpenSession指令发送至所述uuid1指向的虚拟机;
通过所述虚拟机对所述OpenSession指令进行解析,得到所述TA对应的uuid2,并将所述OpenSession指令发送至所述uuid2指向的TA,以建立所述CA与所述TA之间的连接。
本发明实施例中,所述方法还包括:在REE中建立LIB库,所述LIB库用于调用所述OpenSession指令;
所述基于CA调用OpenSession指令,包括:
基于CA调用所述LIB库中的OpenSession指令,并在所述OpenSession指令中将所述虚拟机对应的uuid1设置在标准字段中,将所述TA对应的uuid2设置在自定义字段中。
本发明实施例中,所述通过TEE对所述OpenSession指令进行解析之前,所述方法还包括:
调用Client API将所述OpenSession指令发送至所述TEE。
本发明实施例中,所述通过所述虚拟机对所述OpenSession指令进行解析,得到所述TA对应的uuid2,并将所述OpenSession指令发送至所述uuid2指向的TA,包括:
在所述OpenSession指令中将所述标准字段中的所述虚拟机对应的uuid1修改为所述TA对应的uuid2;
将修改后的所述OpenSession指令发送至所述uuid2指向的TA。
本发明实施例中,所述方法还包括:
通过所述TA调用虚拟API,以及所述虚拟机调用Internal API为所述CA提供安全服务。
本发明实施例中,所述虚拟机对一个OpenSession指令进行处理,或者两个以上OpenSession指令同时进行处理。
本发明实施例提供的终端,包括:
第一调用单元,用于基于CA调用OpenSession指令,所述OpenSession指令中携有至少如下参数:虚拟机对应的uuid1、TA对应的uuid2;
第一处理单元,用于通过TEE对所述OpenSession指令进行解析,得到所述虚拟机对应的uuid1,并将所述OpenSession指令发送至所述uuid1指向的虚拟机;
第二处理单元,用于通过所述虚拟机对所述OpenSession指令进行解析,得到所述TA对应的uuid2,并将所述OpenSession指令发送至所述uuid2指向的TA,以建立所述CA与所述TA之间的连接。
本发明实施例中,所述终端还包括:设置单元,用于在REE中建立LIB库,所述LIB库用于调用所述OpenSession指令;
所述第一调用单元,还用于基于CA调用所述LIB库中的OpenSession指令,并在所述OpenSession指令中将所述虚拟机对应的uuid1设置在标准字段中,将所述TA对应的uuid2设置在自定义字段中。
本发明实施例中,所述第一调用单元,还用于调用Client API将所述OpenSession指令发送至所述TEE。
本发明实施例中,所述第二处理单元包括:
修改子单元,用于在所述OpenSession指令中将所述标准字段中的所述虚拟机对应的uuid1修改为所述TA对应的uuid2;
发送子单元,用于将修改后的所述OpenSession指令发送至所述uuid2指向的TA。
本发明实施例中,所述终端还包括:第二调用单元,用于通过所述TA调用虚拟API,以及所述虚拟机调用Internal API为所述CA提供安全服务。
本发明实施例中,所述虚拟机对一个OpenSession指令进行处理,或者两个以上OpenSession指令同时进行处理。
本发明实施例的技术方案中,基于CA调用OpenSession指令,所述OpenSession指令中携有至少如下参数:虚拟机对应的通用唯一标识码(uuid,Universally Unique IDentifier)1、A对应的uuid2;通过TEE对所述OpenSession指令进行解析,得到所述虚拟机对应的uuid1,并将所述OpenSession指令发送至所述uuid1指向的虚拟机;通过所述虚拟机对所述OpenSession指令进行解析,得到所述TA对应的uuid2,并将所述OpenSession指令发送至所述uuid2指向的TA,以建立所述CA与所述TA之间的连接。这里,虚拟机尤指Java虚拟机,考虑到Java具有较好的跨平台特性,本发明实施例在符合GP定义的TEE系统中集成Java虚拟机(VM,Virtual Machine)及运行环境(也相当于OS),来实现TA。这样,运营商通过TSM管理TA时,不需要针对特定型号的终端进行TA的开发和后续维护,给运营商带来了极大的便利性。
附图说明
图1为现有终端的系统架构图;
图2为TEE系统的工作原理示意图;
图3为本发明实施例的终端的系统架构图;
图4为本发明实施例的CA与TA的交互流程示意图一;
图5为本发明实施例的CA与TA的交互流程示意图二;
图6为本发明实施例的基于可信执行环境集成虚拟机的方法的流程示意图;
图7为本发明实施例的终端结构组成示意图。
具体实施方式
为了能够更加详尽地了解本发明的特点与技术内容,下面结合附图对本发明的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。
考虑到Java具有较好的跨平台特性,本发明实施例在符合GP定义的TEE系统中集成Java虚拟机(VM,Virtual Machine)及运行环境(也相当于OS),来实现TA。这样,运营商通过TSM管理TA时,不需要针对特定型号的终端进行TA的开发和后续维护,给运营商带来了极大的便利性。
基于此,本发明实施例旨在基于符合GP认证的TEE系统上,将Java VM集成在TEE系统中,以实现REE系统中的CA可以访问到TEE系统中的TA。
图3为本发明实施例的终端的系统架构图,如图3所示,所述终端包括:REE和TEE。其中,REE由CA11、CA12、CA2、LIB、Client API以及Rich OS组成。TEE由TA1、TA2、Internal API等接口、以及Trusted OS组成。为了将Java VM集成在TEE中,在TEE侧进行如下设置:
Java VM、Java API以及Java TA整体作为Trusted OS的一个TA,例如图2中的TA1、TA2,这样,没有改变原有GP定义的TEE系统架构,不影响GP的认证。参照图2,以TA1为例,TA1由Java VM、Java API、TA11、TA12组成,这里,TA11和TA12为Java TA。
Java TA调用Java API,Java VM调用Internal API为Java TA提供TEE的服务。
将Trusted OS的TA的gpd.ta.multiSession属性设为True,这样,TA可以同时被多个CA访问。
与此同时,在REE侧进行如下设置:建立LIB库,LIB库用于访问Java TA。
本发明实施例中,Java TA相当于嵌套在C语言的TA中,CA如何访问到Java TA是本发明实施例所要解决的问题,为了更便于理解本发明实施例的技术方案,下面对GP规范定义的CA与TA的交互流程进行描述。
如图4所示,所述CA与TA的交互流程包括以下步骤:
步骤401:CA通过Client API调用Open Session命令开始与TA交互。
这里,TEE系统中通过uuid标识每一个TA,OpenSession指令通过标准字段(UUID)标识与CA与哪一个TA交互,Trusted OS会维护每一个Session的上下文。
步骤402:CA与TA在Session期间通过Invoke Command命令交互。
步骤403:CA与TA通过Close Session命令结束交互。
这里,在一个Session期间,TA根据收到不同的命令实现不同的逻辑功能,通过调用Internal API向CA提供安全服务。
上述方案中,GP定义的Client API中的OpenSession指令定义如下:
TEEC_Result TEEC_OpenSession(
TEEC_Context*context,
TEEC_Session*session,
const TEEC_UUID*destination,
uint32_t connectionMethod,
const void*connectionData,
TEEC_Operation*operation,
uint32_t*returnOrigin)
其中,destination标识TA的UUID,TEEC_Operation的定义如下:
typedef struct
{
uint32_t started;
uint32_t paramTypes;
TEEC_Parameter params[4];
<Implementation-Defined Type>imp;//可以增加实现相关自定义字段
}TEEC_Operation;
本发明实施例利用OpenSession指令中的自定义字段,实现Java TA的调度,这样仍然符合GP规范的要求。
具体地,在GP规范中,CA与TA通过OpenSession指令建立连接,本发明实施例在OpenSession指令的参数中,指定建立连接的Java TA的uuid,参数的指定可通过如下表达式进行简述:OpenSession[UUID,imp,…(其它参数忽略)],其中,imp为自定义字段,将该自定义字段扩展为临时存储Java TA的uuid2字段,而原来的标准字段UUID则存储Trusted OS中的TA的uuid1,由于Trusted OS中的TA与Java VM相对应,因此,也可称为在标准字段UUID中存储Java VM对应的uuid1,这样,OpenSession指令就指定了两个uuid:OpenSession[UUID(uuid1),imp(uuid2),…]。
为了更便于理解本发明实施例的技术方案,下面对图3中各模块的功能再进行补充解释说明。
CA11、CA12、CA2:为客户端应用,如支付应用。
LIB:在REE中重新封装Client API,在OpenSession命令中将UUID指向Java VM所在TA的uuid,并将Java TA(TA11、TA12)的uuid设置在自定义字段中,这样,Trusted OS可以将这条OpenSession指令交个Java VM来处理。
Client API:与GP规范定义保持一致,提供访问Trusted OS的API方法。
TA1:Java VM所在的TA,Java TA由Java VM管理及调度,将OpenSession指令中的UUID指定为自定义字段中缓存的Java TA的uuid。
TA11:Java TA,如支付插件,用于让用户安全输入密码及加密等。
OpenSession[UUID(uuid)]:表示与uuid指定的TA建立连接。
OpenSession[UUID(uuid1),imp(uuid2)]:表示与uuid2指定与Java TA建立连接,自定义字段缓存Java TA的uuid。
下面结合具体流程对本发明实施例的基于可信执行环境集成虚拟机的方法进行描述,CA11为支付应用,TA11为支付插件,TA1与Java VM对应uuid1,TA11对应uuid11。如图5所示,所述流程包括以下步骤:
步骤501:用户打开CA11输入密码,CA11调用LIB的OpenSession指令,指定uuid为支付插件TA11:OpenSession[uuid(uuid11)]。
步骤502:LIB将UUID指向Java VM所在TA的uuid1,并将Java TA的uuid11存在自定义字段中,OpenSession[UUID(uuid1),imp(uuid11)]。
步骤503:与GP规范一致,Client API将OpenSession指令发送给TEE,Trusted OS根据uuid1将OpenSession指令发送到TA1。
步骤504:Java VM将OpenSession指令中的imp自定义字段中缓存的uuid11恢复:OpenSession[UUID(uuid11)],并将此指令发送给TA11,从而CA11与TA11成功建立连接。
后续的InvokeCommand和CloseSession与GP标准流程一致,TA11调用Java API,Java VM调用Internal API为CA11提供输入密码、加密等安全服务。
这里,CA11与TA11交互期间,CA12可以访问TA12,由于TA1的gpd.ta.multiSession属性设为True,即Java VM可以被同时被多个Session访问,所以Trusted OS同时维护CA11与TA11和CA12与TA12的两个Session,这样是符合GP规范要求的。CA2访问TA2与GP规范标准流程一致。
图6为本发明实施例另一实施例的基于可信执行环境集成虚拟机的方法的流程示意图,如图6所示,所述方法包括以下步骤:
步骤601:基于CA调用OpenSession指令,所述OpenSession指令中携有至少如下参数:虚拟机对应的uuid1、TA对应的uuid2。
这里,CA位于REE中,REE中建立了LIB库,所述LIB库用于调用所述OpenSession指令。
基于此,基于CA调用所述LIB库中的OpenSession指令,并在所述OpenSession指令中将所述虚拟机对应的uuid1设置在标准字段中,将所述TA对应的uuid2设置在自定义字段中。这里,标准字段为OpenSession指令中的UUID字段。
然后,调用Client API将所述OpenSession指令发送至所述TEE。
步骤602:通过TEE对所述OpenSession指令进行解析,得到所述虚拟机对应的uuid1,并将所述OpenSession指令发送至所述uuid1指向的虚拟机。
这里,TEE的Trusted OS对所述OpenSession指令进行解析,得到所述虚拟机对应的uuid1,并将所述OpenSession指令发送至所述uuid1指向的虚拟机。
这里,虚拟机可以是Java VM。
步骤603:通过所述虚拟机对所述OpenSession指令进行解析,得到所述TA对应的uuid2,并将所述OpenSession指令发送至所述uuid2指向的TA,以建立所述CA与所述TA之间的连接。
这里,虚拟机在所述OpenSession指令中将所述标准字段中的所述虚拟机对应的uuid1修改为所述TA对应的uuid2;将修改后的所述OpenSession指令发送至所述uuid2指向的TA。
本发明实施例的技术方案中,虚拟机可以对一个OpenSession指令进行处理,或者两个以上OpenSession指令同时进行处理。
图7为本发明实施例的终端的结构组成示意图,如图7所示,所述终端包括:
第一调用单元71,用于基于CA调用OpenSession指令,所述OpenSession指令中携有至少如下参数:虚拟机对应的uuid1、TA对应的uuid2;
第一处理单元72,用于通过TEE对所述OpenSession指令进行解析,得到所述虚拟机对应的uuid1,并将所述OpenSession指令发送至所述uuid1指向的虚拟机;
第二处理单元73,用于通过所述虚拟机对所述OpenSession指令进行解析,得到所述TA对应的uuid2,并将所述OpenSession指令发送至所述uuid2指向的TA,以建立所述CA与所述TA之间的连接。
所述终端还包括:设置单元74,用于在REE中建立LIB库,所述LIB库用于调用所述OpenSession指令;
所述第一调用单元71,还用于基于CA调用所述LIB库中的OpenSession指令,并在所述OpenSession指令中将所述虚拟机对应的uuid1设置在标准字段中,将所述TA对应的uuid2设置在自定义字段中。
所述第一调用单元71,还用于调用Client API将所述OpenSession指令发送至所述TEE。
所述第二处理单元73包括:
修改子单元731,用于在所述OpenSession指令中将所述标准字段中的所述虚拟机对应的uuid1修改为所述TA对应的uuid2;
发送子单元732,用于将修改后的所述OpenSession指令发送至所述uuid2指向的TA。
所述终端还包括:第二调用单元75,用于通过所述TA调用虚拟API,以及所述虚拟机调用Internal API为所述CA提供安全服务。
所述虚拟机对一个OpenSession指令进行处理,或者两个以上OpenSession指令同时进行处理。
本领域技术人员应当理解,图7所示的终端中的各单元的实现功能可参照前述基于可信执行环境集成虚拟机的方法的相关描述而理解。图7所示的终端中的各单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
在本发明所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个第二处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

Claims (12)

1.一种基于可信执行环境集成虚拟机的方法,其特征在于,所述方法包括:
基于客户端应用CA调用开启会话OpenSession指令,所述OpenSession指令中携有至少如下参数:虚拟机对应的通用唯一标识码uuid1、可信应用TA对应的uuid2;
通过可信执行环境TEE对所述OpenSession指令进行解析,得到所述虚拟机对应的uuid1,并将所述OpenSession指令发送至所述uuid1指向的虚拟机;
通过所述虚拟机对所述OpenSession指令进行解析,得到所述TA对应的uuid2,并将所述OpenSession指令发送至所述uuid2指向的TA,以建立所述CA与所述TA之间的连接。
2.根据权利要求1所述的基于可信执行环境集成虚拟机的方法,其特征在于,所述方法还包括:在应用执行环境REE中建立静态库LIB库,所述LIB库用于调用所述OpenSession指令;
所述基于CA调用OpenSession指令,包括:
基于CA调用所述LIB库中的OpenSession指令,并在所述OpenSession指令中将所述虚拟机对应的uuid1设置在标准字段中,将所述TA对应的uuid2设置在自定义字段中。
3.根据权利要求2所述的基于可信执行环境集成虚拟机的方法,其特征在于,所述通过TEE对所述OpenSession指令进行解析之前,所述方法还包括:
调用客户端应用程序编辑接口Client API将所述OpenSession指令发送至所述TEE。
4.根据权利要求2所述的基于可信执行环境集成虚拟机的方法,其特征在于,所述通过所述虚拟机对所述OpenSession指令进行解析,得到所述TA对应的uuid2,并将所述OpenSession指令发送至所述uuid2指向的TA,包括:
在所述OpenSession指令中将所述标准字段中的所述虚拟机对应的uuid1修改为所述TA对应的uuid2;
将修改后的所述OpenSession指令发送至所述uuid2指向的TA。
5.根据权利要求1至4任一项所述的基于可信执行环境集成虚拟机的方法,其特征在于,所述方法还包括:
通过所述TA调用虚拟API,以及所述虚拟机调用内部Internal API为所述CA提供安全服务。
6.根据权利要求1至4任一项所述的基于可信执行环境集成虚拟机的方法,其特征在于,所述虚拟机对一个OpenSession指令进行处理,或者两个以上OpenSession指令同时进行处理。
7.一种终端,其特征在于,所述终端包括:
第一调用单元,用于基于CA调用OpenSession指令,所述OpenSession指令中携有至少如下参数:虚拟机对应的uuid1、TA对应的uuid2;
第一处理单元,用于通过TEE对所述OpenSession指令进行解析,得到所述虚拟机对应的uuid1,并将所述OpenSession指令发送至所述uuid1指向的虚拟机;
第二处理单元,用于通过所述虚拟机对所述OpenSession指令进行解析,得到所述TA对应的uuid2,并将所述OpenSession指令发送至所述uuid2指向的TA,以建立所述CA与所述TA之间的连接。
8.根据权利要求7所述的终端,其特征在于,所述终端还包括:设置单元,用于在REE中建立LIB库,所述LIB库用于调用所述OpenSession指令;
所述第一调用单元,还用于基于CA调用所述LIB库中的OpenSession指令,并在所述OpenSession指令中将所述虚拟机对应的uuid1设置在标准字段中,将所述TA对应的uuid2设置在自定义字段中。
9.根据权利要求8所述的终端,其特征在于,所述第一调用单元,还用于调用Client API将所述OpenSession指令发送至所述TEE。
10.根据权利要求8所述的终端,其特征在于,所述第二处理单元包括:
修改子单元,用于在所述OpenSession指令中将所述标准字段中的所述虚拟机对应的uuid1修改为所述TA对应的uuid2;
发送子单元,用于将修改后的所述OpenSession指令发送至所述uuid2指向的TA。
11.根据权利要求7至10任一项所述的终端,其特征在于,所述终端还包括:第二调用单元,用于通过所述TA调用虚拟API,以及所述虚拟机调用InternalAPI为所述CA提供安全服务。
12.根据权利要求7至10任一项所述的终端,其特征在于,所述虚拟机对一个OpenSession指令进行处理,或者两个以上OpenSession指令同时进行处理。
CN201610006016.2A 2016-01-04 2016-01-04 基于可信执行环境集成虚拟机的方法、终端 Active CN106940655B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610006016.2A CN106940655B (zh) 2016-01-04 2016-01-04 基于可信执行环境集成虚拟机的方法、终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610006016.2A CN106940655B (zh) 2016-01-04 2016-01-04 基于可信执行环境集成虚拟机的方法、终端

Publications (2)

Publication Number Publication Date
CN106940655A true CN106940655A (zh) 2017-07-11
CN106940655B CN106940655B (zh) 2020-05-12

Family

ID=59468968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610006016.2A Active CN106940655B (zh) 2016-01-04 2016-01-04 基于可信执行环境集成虚拟机的方法、终端

Country Status (1)

Country Link
CN (1) CN106940655B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108509251A (zh) * 2018-03-19 2018-09-07 沈阳微可信科技有限公司 一种适用于可信执行环境中的安全虚拟化系统
CN108549571A (zh) * 2018-03-19 2018-09-18 沈阳微可信科技有限公司 一种适用于可信执行环境中的安全虚拟化方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102271124A (zh) * 2010-06-01 2011-12-07 富士通株式会社 数据处理设备和数据处理方法
CN102508694A (zh) * 2011-10-14 2012-06-20 深圳市江波龙电子有限公司 一种虚拟机文件运行方法及系统
CN204360381U (zh) * 2014-12-31 2015-05-27 北京握奇智能科技有限公司 移动设备
CN104765612A (zh) * 2015-04-10 2015-07-08 武汉天喻信息产业股份有限公司 一种访问可信执行环境、可信应用的系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102271124A (zh) * 2010-06-01 2011-12-07 富士通株式会社 数据处理设备和数据处理方法
CN102508694A (zh) * 2011-10-14 2012-06-20 深圳市江波龙电子有限公司 一种虚拟机文件运行方法及系统
CN204360381U (zh) * 2014-12-31 2015-05-27 北京握奇智能科技有限公司 移动设备
CN104765612A (zh) * 2015-04-10 2015-07-08 武汉天喻信息产业股份有限公司 一种访问可信执行环境、可信应用的系统及方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108509251A (zh) * 2018-03-19 2018-09-07 沈阳微可信科技有限公司 一种适用于可信执行环境中的安全虚拟化系统
CN108549571A (zh) * 2018-03-19 2018-09-18 沈阳微可信科技有限公司 一种适用于可信执行环境中的安全虚拟化方法
CN108509251B (zh) * 2018-03-19 2022-03-11 沈阳微可信科技有限公司 一种适用于可信执行环境中的安全虚拟化系统
CN108549571B (zh) * 2018-03-19 2022-03-15 沈阳微可信科技有限公司 一种适用于可信执行环境中的安全虚拟化方法

Also Published As

Publication number Publication date
CN106940655B (zh) 2020-05-12

Similar Documents

Publication Publication Date Title
US8769127B2 (en) Cross-domain solution (CDS) collaborate-access-browse (CAB) and assured file transfer (AFT)
CN105656890B (zh) 一种基于tee和无线确认的fido认证器及系统及方法
US11126753B2 (en) Secure processor chip and terminal device
CN103891242B (zh) 用于移动环境中输出信息的基于简档的过滤的系统和方法
US20090064301A1 (en) System and Method for Browser Based Access to Smart Cards
EP3678021B1 (en) User interface display method and terminal device
CN109416800B (zh) 一种移动终端的认证方法及移动终端
WO2016069595A1 (en) Method and system for exchanging content between applications
CN105975867B (zh) 一种数据处理方法
WO2014141180A1 (en) Host device coupled to a mobile phone and method of operating the same
EP3817322A1 (en) Method for upgrading service application range of electronic identity card, and terminal device
CN103514395B (zh) 插件权限控制方法及系统
CN102685303B (zh) 通信方法和装置
CN104424028A (zh) 终端设备以及切换方法
CN103036852B (zh) 一种实现网络登录的方法以及装置
CN107862091A (zh) 实现网页访问的控制方法及装置
CN102984044B (zh) 基于虚拟专用网络实现数据传输安全性的方法和装置
CN106940655A (zh) 基于可信执行环境集成虚拟机的方法、终端
CN107392034A (zh) 一种敏感信息保护方法、终端及计算机可读存储介质
KR100642998B1 (ko) 단말의 정책을 업그레이드하기 위한 정책메시지 전송방법
CN107066888B (zh) 可扩展的可信用户接口、方法和电子设备
CN110275701A (zh) 数据处理方法、装置、介质和计算设备
CN106778193B (zh) 一种客户端和ui交互方法
CN110109717A (zh) 一种安卓插件的加载控制方法、装置和计算机设备
CN106534047A (zh) 一种基于Trust应用的信息传输方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant