CN114036524A - 一种电子设备 - Google Patents
一种电子设备 Download PDFInfo
- Publication number
- CN114036524A CN114036524A CN202111275954.XA CN202111275954A CN114036524A CN 114036524 A CN114036524 A CN 114036524A CN 202111275954 A CN202111275954 A CN 202111275954A CN 114036524 A CN114036524 A CN 114036524A
- Authority
- CN
- China
- Prior art keywords
- trusted application
- identification information
- bytecode
- native
- trusted
- 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.)
- Pending
Links
- 238000011161 development Methods 0.000 claims abstract description 123
- 238000006243 chemical reaction Methods 0.000 claims description 22
- 238000013500 data storage Methods 0.000 claims description 21
- 238000005516 engineering process Methods 0.000 claims description 9
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 238000000034 method Methods 0.000 abstract description 45
- 230000006870 function Effects 0.000 description 46
- 238000010586 diagram Methods 0.000 description 24
- 102100033029 Carbonic anhydrase-related protein 11 Human genes 0.000 description 20
- 101000867841 Homo sapiens Carbonic anhydrase-related protein 11 Proteins 0.000 description 20
- 101001075218 Homo sapiens Gastrokine-1 Proteins 0.000 description 20
- 238000004891 communication Methods 0.000 description 17
- 238000004590 computer program Methods 0.000 description 14
- 238000013519 translation Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000012790 confirmation Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000002955 isolation Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006378 damage Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种电子设备、可信应用调用方法、装置、设备及介质,用于准确的管理可信应用。本申请中CA发起调用信息后,可信应用开发平台可以接收该调用信息,并从可信应用开发平台包含的至少两个TEE OS分别对应的原生可信应用中,确定调用信息携带的第一标识信息对应的原生可信应用,将调用信息发送给第一标识信息对应的原生可信应用;第一标识信息对应的原生可信应用接收调用信息,并根据调用信息携带的第二标识信息,从安装在自身中的至少一个字节码可信应用中,确定第二标识信息对应的字节码可信应用,并根据调用信息,调用第二标识信息对应的字节码可信应用,实现在原生可信应用中管理多个字节码可信应用,实现准确管理可信应用的目的。
Description
技术领域
本申请涉及可信应用调用技术领域,尤其涉及一种电子设备、可信应用调用方法、装置、设备及介质。
背景技术
移动通信技术的发展带来了移动终端技术的快速发展,现代的移动终端设备提供了强大而灵活的普通执行环境(Rich Execution Environment,REE),但同时也导致设备容易受到安全威胁。可信执行环境(Trusted Execution Environment,TEE)是为了解决当前移动终端设备存在的安全风险而提出的技术方案。TEE和REE平行运行于同一个设备上,TEE能够保证在可信的环境中进行敏感数据的存储、处理和保护,并为授权的安全软件(可信软件)提供了安全的执行环境,通过执行保护、保密、完整和数据访问权限实现了端到端的安全。其中,可信应用(Trusted Application,TA)运行于TEE上,客户端应用(ClientApplication,CA)运行于REE上,CA通过调用TA,从而使用TEE及TA提供的安全功能。
传统的可信应用一般是基于可信执行环境操作系统(TEE OS)上运行的机器码程序。针对同一应用,通常需要为华为iTrustee、高通QSEE等不同的TEE OS硬件平台开发不同版本的可信应用,以适应不同的TEE OS硬件平台的使用需求。因此开发可适用于多个TEEOS,可跨不同TEE OS硬件平台使用的可信应用十分必要。
然而,即便开发出可适用于多个TEE OS,可跨不同TEE OS硬件平台使用的可信应用,如何管理该可信应用也是目前亟需解决的一个技术问题。
发明内容
本申请提供了一种电子设备、可信应用调用方法、装置、设备及介质,用于准确的管理可信应用。
第一方面,本申请提供了一种电子设备,所述电子设备包括:客户端应用CA和可信应用开发平台;
所述CA,用于发起对所述可信应用开发平台联结的与所述CA对应的可信执行环境操作系统的原生可信应用的调用信息,其中所述调用信息中携带所述电子设备的第一标识信息及任一应用的字节码可信应用的第二标识信息;
所述可信应用开发平台,用于接收所述调用信息,根据所述第一标识信息,从所述可信应用开发平台联结的至少两个可信执行环境操作系统分别对应的原生可信应用中,确定所述第一标识信息对应的原生可信应用,并将所述调用信息发送给所述第一标识信息对应的原生可信应用;
所述第一标识信息对应的原生可信应用,用于接收所述调用信息,根据所述第二标识信息,从安装在自身中的至少一个字节码可信应用中,确定所述第二标识信息对应的字节码可信应用,并根据所述调用信息,调用所述第二标识信息对应的字节码可信应用;
所述第二标识信息对应的字节码可信应用,用于接收所述第一标识信息对应的原生可信应用的调用,并根据所述第一标识信息对应的原生可信应用的调用,执行对应的操作。
在一种可能的实施方式中,所述电子设备还包括:
创建模块,用于基于支持跨平台功能的字节码技术,创建所述可信应用开发平台,其中所述可信应用开发平台联结至少两个可信执行环境操作系统分别对应的原生可信应用。
在一种可能的实施方式中,所述第一标识信息对应的原生可信应用,具体用于若接收到的调用信息为访问请求,则创建原生可信应用实例,基于所述原生可信应用实例打开原生可信应用会话;并向所述第二标识信息对应的字节码可信应用发送打开会话的第一指令;
所述第二标识信息对应的字节码可信应用,具体用于若接收到所述第一指令,创建字节码可信应用实例,并基于所述字节码可信应用实例,打开字节码可信应用会话。
在一种可能的实施方式中,所述第一标识信息对应的原生可信应用,具体用于若接收到的调用信息为调用命令,则将所述调用命令转交给所述第二标识信息对应的字节码可信应用。
在一种可能的实施方式中,所述第二标识信息对应的字节码可信应用,还用于识别自身数据存储位置的位置信息,并将所述位置信息返回给所述第一标识信息对应的原生可信应用;
所述第一标识信息对应的原生可信应用,具体用于若接收到所述位置信息,基于所述位置信息,将所述调用命令转交给所述位置信息标识的所述第二标识信息对应的字节码可信应用。
在一种可能的实施方式中,所述第二标识信息对应的字节码可信应用,还用于将对所述调用命令的执行结果返回给所述第一标识信息对应的原生可信应用;
所述第一标识信息对应的原生可信应用,还用于将所述执行结果发送给所述CA。
在一种可能的实施方式中,所述第一标识信息对应的原生可信应用,具体用于若接收到的调用信息为关闭会话信息,则向所述第二标识信息对应的字节码可信应用发送关闭会话的第二指令,并关闭原生可信应用会话;
所述第二标识信息对应的字节码可信应用,具体用于若接收到所述第二指令,关闭字节码可信应用会话,并销毁字节码可信应用实例;
所述第一标识信息对应的原生可信应用,具体用于销毁原生可信应用实例。
在一种可能的实施方式中,所述第一标识信息对应的原生可信应用,还用于为每个字节码可信应用分别配置一个独立的子目录;针对每个字节码可信应用,基于该字节码可信应用对应的独立的子目录,为该字节码可信应用配置特定的访问路径,使该字节码可信应用访问对应的独立的子目录中的文件信息。
在一种可能的实施方式中,所述电子设备还包括:可信执行环境操作系统TEE OS;
所述TEE OS,用于接收所述CA发起的所述调用信息,并将所述调用信息发送给所述可信应用开发平台;
所述可信应用开发平台,具体用于基于TEE OS提供的第一全球平台组织GP接口或自有接口,接收所述TEE OS发送的所述调用信息。
在一种可能的实施方式中,所述第一标识信息对应的原生可信应用,具体用于基于预先配置的转换接口,调用所述第二标识信息对应的字节码可信应用;
所述第二标识信息对应的字节码可信应用,具体用于基于预先配置的第二GP接口,接收所述第一标识信息对应的原生可信应用的调用。
第二方面,本申请还提供了一种可信应用调用方法,所述方法应用于原生可信应用,所述方法包括:
接收可信应用开发平台发送的调用信息,其中,所述调用信息中携带电子设备的第一标识信息及任一应用的字节码可信应用的第二标识信息;所述调用信息为所述可信应用开发平台在接收到客户端应用CA发起的对所述可信应用开发平台联结的与所述CA对应的可信执行环境操作系统的原生可信应用的调用信息,所述可信应用开发平台根据所述第一标识信息,从所述可信应用开发平台联结的至少两个可信执行环境操作系统分别对应的原生可信应用中,确定所述第一标识信息对应的原生可信应用时发送的;
根据所述第二标识信息,从安装在自身中的至少一个字节码可信应用中,确定所述第二标识信息对应的字节码可信应用,并根据所述调用信息,调用所述第二标识信息对应的字节码可信应用;使所述第二标识信息对应的字节码可信应用接收所述第一标识信息对应的原生可信应用的调用,并使所述第二标识信息对应的字节码可信应用根据所述第一标识信息对应的原生可信应用的调用,执行对应的操作。
在一种可能的实施方式中,若接收到的调用信息为访问请求,所述根据所述调用信息,调用所述第二标识信息对应的字节码可信应用包括:
创建原生可信应用实例,基于所述原生可信应用实例打开原生可信应用会话;并向所述第二标识信息对应的字节码可信应用发送打开会话的第一指令,使所述第二标识信息对应的字节码可信应用在接收到所述第一指令后,创建字节码可信应用实例,并使所述第二标识信息对应的字节码可信应用基于所述字节码可信应用实例,打开字节码可信应用会话。
在一种可能的实施方式中,若接收到的调用信息为调用命令,所述根据所述调用信息,调用所述第二标识信息对应的字节码可信应用包括:
将所述调用命令转交给所述第二标识信息对应的字节码可信应用。
在一种可能的实施方式中,所述接收可信应用开发平台发送的调用信息之后,所述将所述调用命令转交给所述第二标识信息对应的字节码可信应用之前,所述方法还包括:
接收第二标识信息对应的字节码可信应用发送的位置信息;其中,所述位置信息为所述第二标识信息对应的字节码可信应用在识别到自身数据存储位置的位置信息时发送的;
所述将所述调用命令转交给所述第二标识信息对应的字节码可信应用包括:
基于所述位置信息,将所述调用命令转交给所述位置信息标识的所述第二标识信息对应的字节码可信应用。
在一种可能的实施方式中,所述方法还包括:
若接收到所述第二标识信息对应的字节码可信应用发送的执行结果,将所述执行结果发送给所述CA;其中,所述执行结果为所述第二标识信息对应的字节码可信应用对所述调用命令执行完成后发送的。
在一种可能的实施方式中,若接收到的调用信息为关闭会话信息,所述根据所述调用信息,调用所述第二标识信息对应的字节码可信应用包括:
关闭原生可信应用会话,并向所述第二标识信息对应的字节码可信应用发送关闭会话的第二指令,使所述第二标识信息对应的字节码可信应用在接收到所述第二指令时,关闭字节码可信应用会话,并使所述第二标识信息对应的字节码可信应用销毁字节码可信应用实例;
销毁原生可信应用实例。
在一种可能的实施方式中,所述方法还包括:
为每个字节码可信应用分别配置一个独立的子目录;针对每个字节码可信应用,基于该字节码可信应用对应的独立的子目录,为该字节码可信应用配置特定的访问路径,使该字节码可信应用访问对应的独立的子目录中的文件信息。
在一种可能的实施方式中,所述调用所述第二标识信息对应的字节码可信应用包括:
基于预先配置的转换接口,调用所述第二标识信息对应的字节码可信应用。
第三方面,本申请提供了一种可信应用调用方法,所述方法应用于字节码可信应用,所述方法包括:
接收第一标识信息对应的原生可信应用的调用;所述调用为所述第一标识信息对应的原生可信应用在接收到可信应用开发平台发送的调用信息,所述第一标识信息对应的原生可信应用根据调用信息中携带的第二标识信息,从安装在所述第一标识信息对应的原生可信应用自身中的至少一个字节码可信应用中,确定所述第二标识信息对应的字节码可信应用时,所述第一标识信息对应的原生可信应用根据所述调用信息,对所述第二标识信息对应的字节码可信应用发起的;其中,所述调用信息为所述可信应用开发平台在接收到客户端应用CA发起的对所述可信应用开发平台联结的与所述CA对应的可信执行环境操作系统的原生可信应用的调用信息,所述可信应用开发平台根据所述调用信息中携带的电子设备的第一标识信息,从所述可信应用开发平台联结的至少两个可信执行环境操作系统分别对应的原生可信应用中,确定所述第一标识信息对应的原生可信应用时发送的;
根据所述第一标识信息对应的原生可信应用的调用,执行对应的操作。
在一种可能的实施方式中,所述根据所述第一标识信息对应的原生可信应用的调用,执行对应的操作包括:
若接收到所述第一标识信息对应的原生可信应用发送的打开会话的第一指令,创建字节码可信应用实例,并基于所述字节码可信应用实例,打开字节码可信应用会话;其中,所述第一指令为所述第一标识信息对应的原生可信应用在识别到接收到的调用信息为访问请求,所述第一标识信息对应的原生可信应用创建原生可信应用实例,并基于所述原生可信应用实例打开原生可信应用会话时发送的。
在一种可能的实施方式中,所述打开字节码可信应用会话之后,接收所述第一标识信息对应的原生可信应用转交的调用命令之前,所述方法还包括:
识别自身数据存储位置的位置信息,并将所述位置信息返回给所述第一标识信息对应的原生可信应用,使所述第一标识信息对应的原生可信应用接收所述位置信息时,并使所述第一标识信息对应的原生可信应用基于所述位置信息,将所述调用命令转交给所述位置信息标识的所述第二标识信息对应的字节码可信应用。
在一种可能的实施方式中,所述方法还包括:
将对所述调用命令的执行结果返回给所述第一标识信息对应的原生可信应用;使所述第一标识信息对应的原生可信应用将所述执行结果发送给所述CA。
在一种可能的实施方式中,所述根据所述第一标识信息对应的原生可信应用的调用,执行对应的操作包括:
若接收到所述第一标识信息对应的原生可信应用发送的关闭会话的第二指令,关闭字节码可信应用会话,并销毁字节码可信应用实例;其中,所述第二指令为所述第一标识信息对应的原生可信应用在接收到的调用信息为关闭会话信息时,所述第一标识信息对应的原生可信应用向所述第二标识信息对应的字节码可信应用发送的。
在一种可能的实施方式中,所述接收第一标识信息对应的原生可信应用的调用包括:
基于预先配置的第二GP接口,接收所述第一标识信息对应的原生可信应用的调用。
第四方面,本申请还提供了一种可信应用调用装置,该装置应用于原生可信应用,所述装置包括:
第一接收模块,用于接收可信应用开发平台发送的调用信息,其中,所述调用信息中携带电子设备的第一标识信息及任一应用的字节码可信应用的第二标识信息;所述调用信息为所述可信应用开发平台在接收到客户端应用CA发起的对所述可信应用开发平台联结的与所述CA对应的可信执行环境操作系统的原生可信应用的调用信息,所述可信应用开发平台根据所述第一标识信息,从所述可信应用开发平台联结的至少两个可信执行环境操作系统分别对应的原生可信应用中,确定所述第一标识信息对应的原生可信应用时发送的;
调用模块,用于根据所述第二标识信息,从安装在自身中的至少一个字节码可信应用中,确定所述第二标识信息对应的字节码可信应用,并根据所述调用信息,调用所述第二标识信息对应的字节码可信应用;使所述第二标识信息对应的字节码可信应用接收所述第一标识信息对应的原生可信应用的调用,并使所述第二标识信息对应的字节码可信应用根据所述第一标识信息对应的原生可信应用的调用,执行对应的操作。
在一种可能的实施方式中,所述调用模块,具体用于若接收到的调用信息为访问请求,创建原生可信应用实例,基于所述原生可信应用实例打开原生可信应用会话;并向所述第二标识信息对应的字节码可信应用发送打开会话的第一指令,使所述第二标识信息对应的字节码可信应用在接收到所述第一指令后,创建字节码可信应用实例,并使所述第二标识信息对应的字节码可信应用基于所述字节码可信应用实例,打开字节码可信应用会话。
在一种可能的实施方式中,所述调用模块,具体用于若接收到的调用信息为调用命令,将所述调用命令转交给所述第二标识信息对应的字节码可信应用。
在一种可能的实施方式中,所述调用模块,还用于接收第二标识信息对应的字节码可信应用发送的位置信息;其中,所述位置信息为所述第二标识信息对应的字节码可信应用在识别到自身数据存储位置的位置信息时发送的;
所述调用模块,具体用于基于所述位置信息,将所述调用命令转交给所述位置信息标识的所述第二标识信息对应的字节码可信应用。
在一种可能的实施方式中,所述装置还包括:
发送模块,用于若接收到所述第二标识信息对应的字节码可信应用发送的执行结果,将所述执行结果发送给所述CA;其中,所述执行结果为所述第二标识信息对应的字节码可信应用对所述调用命令执行完成后发送的。
在一种可能的实施方式中,所述调用模块,具体用于若接收到的调用信息为关闭会话信息,关闭原生可信应用会话,并向所述第二标识信息对应的字节码可信应用发送关闭会话的第二指令,使所述第二标识信息对应的字节码可信应用在接收到所述第二指令时,关闭字节码可信应用会话,并使所述第二标识信息对应的字节码可信应用销毁字节码可信应用实例;
销毁原生可信应用实例。
在一种可能的实施方式中,所述装置还包括:
配置模块,用于为每个字节码可信应用分别配置一个独立的子目录;针对每个字节码可信应用,基于该字节码可信应用对应的独立的子目录,为该字节码可信应用配置特定的访问路径,使该字节码可信应用访问对应的独立的子目录中的文件信息。
在一种可能的实施方式中,所述调用模块,具体用于基于预先配置的转换接口,调用所述第二标识信息对应的字节码可信应用。
第五方面,本申请提供了一种可信应用调用装置,所述装置应用于字节码可信应用,所述装置包括:
第二接收模块,用于接收第一标识信息对应的原生可信应用的调用;所述调用为所述第一标识信息对应的原生可信应用在接收到可信应用开发平台发送的调用信息,所述第一标识信息对应的原生可信应用根据调用信息中携带的第二标识信息,从安装在所述第一标识信息对应的原生可信应用自身中的至少一个字节码可信应用中,确定所述第二标识信息对应的字节码可信应用时,所述第一标识信息对应的原生可信应用根据所述调用信息,对所述第二标识信息对应的字节码可信应用发起的;其中,所述调用信息为所述可信应用开发平台在接收到客户端应用CA发起的对所述可信应用开发平台联结的与所述CA对应的可信执行环境操作系统的原生可信应用的调用信息,所述可信应用开发平台根据所述调用信息中携带的电子设备的第一标识信息,从所述可信应用开发平台联结的至少两个可信执行环境操作系统分别对应的原生可信应用中,确定所述第一标识信息对应的原生可信应用时发送的;
执行模块,用于根据所述第一标识信息对应的原生可信应用的调用,执行对应的操作。
在一种可能的实施方式中,所述执行模块,具体用于若接收到所述第一标识信息对应的原生可信应用发送的打开会话的第一指令,创建字节码可信应用实例,并基于所述字节码可信应用实例,打开字节码可信应用会话;其中,所述第一指令为所述第一标识信息对应的原生可信应用在识别到接收到的调用信息为访问请求,所述第一标识信息对应的原生可信应用创建原生可信应用实例,并基于所述原生可信应用实例打开原生可信应用会话时发送的。
在一种可能的实施方式中,所述执行模块,还用于识别自身数据存储位置的位置信息,并将所述位置信息返回给所述第一标识信息对应的原生可信应用,使所述第一标识信息对应的原生可信应用接收所述位置信息时,并使所述第一标识信息对应的原生可信应用基于所述位置信息,将所述调用命令转交给所述位置信息标识的所述第二标识信息对应的字节码可信应用。
在一种可能的实施方式中,所述执行模块,还用于将对所述调用命令的执行结果返回给所述第一标识信息对应的原生可信应用;使所述第一标识信息对应的原生可信应用将所述执行结果发送给所述CA。
在一种可能的实施方式中,所述执行模块,具体用于若接收到所述第一标识信息对应的原生可信应用发送的关闭会话的第二指令,关闭字节码可信应用会话,并销毁字节码可信应用实例;其中,所述第二指令为所述第一标识信息对应的原生可信应用在接收到的调用信息为关闭会话信息时,所述第一标识信息对应的原生可信应用向所述第二标识信息对应的字节码可信应用发送的。
在一种可能的实施方式中,所述第二接收模块,具体用于基于预先配置的第二GP接口,接收所述第一标识信息对应的原生可信应用的调用。
第六方面,本申请提供了一种电子设备,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如上述任一所述可信应用调用方法的步骤。
第七方面,本申请提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一所述可信应用调用方法的步骤。
由于本申请中CA发起调用信息后,可信应用开发平台可以接收该调用信息,并从可信应用开发平台联结的至少两个(多个)TEE OS分别对应的原生可信应用中,确定调用信息携带的电子设备的第一标识信息对应的原生可信应用,将调用信息发送给第一标识信息对应的原生可信应用;第一标识信息对应的原生可信应用接收调用信息,并根据调用信息携带的第二标识信息,从安装在自身中的至少一个字节码可信应用中,确定第二标识信息对应的字节码可信应用,并根据调用信息,调用第二标识信息对应的字节码可信应用;第二标识信息对应的字节码可信应用可以接收第一标识信息对应的原生可信应用的调用,并根据第一标识信息对应的原生可信应用的调用,执行对应的操作,从而可以准确调用第二标识信息的字节码可信应用,实现在原生可信应用中管理多个字节码可信应用,实现准确管理可信应用的目的。
附图说明
为了更清楚地说明本申请实施例或相关技术中的实施方式,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1示出了一些实施例提供的第一种电子设备结构示意图;
图2示出了一些实施例提供的第二种电子设备结构示意图;
图3示出了一些实施例提供的第一种可信应用调用过程示意图;
图4示出了一些实施例提供的第二种可信应用调用过程示意图;
图5示出了一些实施例提供的第一种可信应用调用装置示意图;
图6示出了一些实施例提供的第一种电子设备结构示意图;
图7示出了一些实施例提供的第三种可信应用调用过程示意图;
图8示出了一些实施例提供的第二种可信应用调用装置示意图;
图9示出了一些实施例提供的第二种电子设备结构示意图。
具体实施方式
为了准确的管理可信应用,本申请提供了一种电子设备、可信应用调用方法、装置、设备及介质。
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
实施例1:
图1示出了一些实施例提供的第一种电子设备结构示意图,该电子设备包括:客户端应用(CA)11和可信应用开发平台12;
所述CA11,用于发起对所述可信应用开发平台12联结的与所述CA11对应的可信执行环境操作系统的原生可信应用的调用信息,其中所述调用信息中携带所述电子设备的第一标识信息及任一应用的字节码可信应用的第二标识信息;
所述可信应用开发平台12,用于接收所述调用信息,根据所述第一标识信息,从所述可信应用开发平台12联结的至少两个可信执行环境操作系统分别对应的原生可信应用中,确定所述第一标识信息对应的原生可信应用,并将所述调用信息发送给所述第一标识信息对应的原生可信应用;
所述第一标识信息对应的原生可信应用13,用于接收所述调用信息,根据所述第二标识信息,从安装在自身中的至少一个字节码可信应用中,确定所述第二标识信息对应的字节码可信应用14,并根据所述调用信息,调用所述第二标识信息对应的字节码可信应用14;
所述第二标识信息对应的字节码可信应用14,用于接收所述第一标识信息对应的原生可信应用13的调用,并根据所述第一标识信息对应的原生可信应用13的调用,执行对应的操作。
在一种可能的实施方式中,本申请的电子设备可以是PC、移动终端等设备,也可以是服务器等。图2示出了一些实施例提供的第二种电子设备结构示意图,参阅图2,示例性的,电子设备中的可信执行环境操作系统(TEE OS)可以为华为iTrustee、高通QSEE等任一TEE OS。
在一种可能的实施方式中,针对每个TEE OS,可以创建该TEE OS对应的可信应用(为方便描述,称为原生可信应用)。其中,创建TEE OS对应的可信应用可以采用现有技术,在此不再赘述。在一种可能的实施方式中,为了针对任一应用,开发出可适用于多个TEEOS,可跨不同TEE OS硬件平台使用的可信应用,从而降低可信应用的开发周期以及开发成本,电子设备中还可以包括创建模块,该创建模块可以基于支持跨平台功能的字节码技术(如WebAssembly字节码技术等),创建联结多个(至少两个)TEE OS分别对应的原生可信应用(为方便描述,称为Native TA)的可信应用开发平台12(可信应用开发框架)。其中,WebAssembly是由主流浏览器厂商组成的万维网联盟(World Wide Web Consortium,W3C)社区团体制定的一个新的规范,其定义了一个可移植、体积小、加载快并且兼容万维网(Web)的全新格式。
本申请可以基于支持跨平台功能的字节码技术(如WebAssembly字节码技术等),将多个TEE OS分别对应的Native TA构建为一个可信应用开发平台12,该可信应用开发平台12可以向上提供统一的开发接口,如可信应用开发平台12可以向上提供统一的全球平台组织(Global Platform,GP)接口,可信应用开发者可以无需再关注TEE OS硬件平台的具体版本,只需基于该可信应用开发平台12,针对例如建设银行、农业银行等任一应用,开发该应用对应的可信应用(为方便描述,称为字节码可信应用)即可,该字节码可信应用(为方便描述,称为Bytecode Trusted Application,BTA)是基于可信应用开发平台12开发的可适用于不同的TEE OS,可跨不同的TEE OS硬件平台使用的可信应用。本申请针对每个应用,可以只开发一个对应的可信应用,相比相关技术中,针对每个应用,需要为不同的TEE OS硬件平台分别开发一个可信应用,需要为同一个应用开发多个不同版本的可信应用而言,本申请可以缩短可信应用的开发周期、降低开发成本,同时还可以达到“一次开发,多终端部署”的目的,实现应用的快速部署推广。
参阅图2,在一种可能的实施方式中,电子设备中的可信执行环境操作系统(TEEOS)可以接收CA11发起的调用信息,并将该调用信息发送给可信应用开发平台12;可信应用开发平台12可以基于TEE OS提供的全球平台组织(Global Platform,GP)接口(为方便描述,称为第一GP接口)或TEE OS提供的自有接口,接收TEE OS发送的调用信息。
在一种可能的实施方式中,可以预先在第一标识信息对应的原生可信应用13中配置转换接口,第一标识信息对应的原生可信应用13可以基于该预先配置的转换接口,调用第二标识信息对应的字节码可信应用14。
在一种可能的实施方式中,考虑到由于存在大量的相关技术中已经开发的只适用于华为iTrustee或高通QSEE等单一TEE OS硬件平台,不能跨不同TEE OS硬件平台使用的可信应用(为方便描述,称为单一可信应用),这些单一可信应用通常基于预先配置的GP接口直接与TEE OS交互,为了使这些单一可信应用也可以作为本申请中的BTA运行在原生可信应用中,本申请可以为字节码可信应用预先配置一个GP接口(为方便描述,称为第二GP接口),任一字节码可信应用(包括单一可信应用)均可以基于该第二GP接口,接收第一标识信息对应的原生可信应用13的调用。
在一种可能的实施方式中,当需要使用可信执行环境(Trusted ExecutionEnvironment,TEE)提供的安全功能时,电子设备中的客户端应用(Client Application,CA)11可以发起对可信应用开发平台12中包含的与CA11对应的TEE OS的原生可信应用的调用信息。示例性的,假设电子设备的TEE OS是华为iTrustee,该电子设备中的CA11可以发起对可信应用开发平台12中包含的华为iTrustee TEE OS对应的原生可信应用的调用信息。在一种可能的实施方式中,调用信息中可以携带电子设备的标识信息(为方便描述,称为第一标识信息)以及待调用的任一应用的字节码可信应用的标识信息(为方便描述,称为第二标识信息)。其中,第一标识信息和第二标识信息可以根据需求灵活设置,本申请对此不做具体限定。示例性的,电子设备的第一标识信息可以包括电子设备的型号、电子设备的品牌等标识信息。在一种可能的实施方式中,第一标识信息中除了包含电子设备的型号、电子设备的品牌等标识信息之外,还可以包含电子设备适用的原生可信应用的名称、原生可信应用版本号等原生可信应用的标识信息。字节码可信应用的第二标识信息可以为字节码可信应用的名称、供应商名称等标识信息。
CA11发起调用信息,可信应用开发平台12接收到该调用信息后,可以根据调用信息中携带的电子设备的第一标识信息,从可信应用开发平台12自身联结的至少两个(多个)TEE OS分别对应的Native TA中,确定电子设备的第一标识信息对应的Native TA,并将调用信息发送给第一标识信息对应的Native TA。示例性的,如果电子设备的品牌为华为,电子设备的第一标识信息可以包括华为、华为品牌的电子设备(终端)适用的原生可信应用的名称以及原生可信应用版本号等,则可信应用开发平台12可以将华为iTrustee TEE OS对应的原生可信应用确定为第一标识信息对应的原生可信应用。
在一种可能的实施方式中,可以将多个(至少两个)TEE OS分别对应的原生可信应用直接集成在可信应用开发平台12中,可信应用开发平台12中包含(联结)多个TEE OS分别对应的原生可信应用。在一种可能的实施方式中,考虑到如果将多个TEE OS分别对应的原生可信应用均集成在可信应用开发平台12中时,可信应用开发平台12占用的空间可能较大。为了节省空间,可信应用开发平台12中可以先只包含(联结)多个TEE OS分别对应的原生可信应用的标识信息,可信应用开发平台12根据电子设备的标识信息与原生可信应用的标识信息的对应关系,确定了电子设备的第一标识信息对应的原生可信应用的标识信息后,可以通过空中下载技术(OTA),从与可信应用开发平台12联结的后端应用平台中,将第一标识信息对应的原生可信应用下载并安装到可信应用开发平台12中。在一种可能的实施方式中,可信应用开发平台12中包含了第一标识信息对应的原生可信应用后,可以将第一访问请求发送给第一标识信息对应的原生可信应用(Native TA)。
在一种可能的实施方式中,可以预先将至少一个应用的字节码可信应用(BTA)安装在Native TA的数据区等设定位置处,BTA可以基于WebAssembly虚拟机运行于Native TA之内。第一标识信息的Native TA13在接收到调用信息后,可以根据调用信息中携带的第二标识信息,从安装在自身中的至少一个BTA中,确定第二标识信息对应的BTA14,并根据该调用信息,调用第二标识信息对应的BTA14。
在一种可能的实施方式中,第二标识信息对应的BTA14可以接收第一标识信息的Native TA13的调用,并可以根据该调用,执行对应的操作。
由于本申请中CA11发起调用信息后,可信应用开发平台12可以接收该调用信息,并从可信应用开发平台12联结的至少两个(多个)TEE OS分别对应的原生可信应用中,确定调用信息携带的电子设备的第一标识信息对应的原生可信应用,将调用信息发送给第一标识信息对应的原生可信应用;第一标识信息对应的原生可信应用13接收调用信息,并根据调用信息携带的第二标识信息,从安装在自身中的至少一个字节码可信应用中,确定第二标识信息对应的字节码可信应用14,并根据调用信息,调用第二标识信息对应的字节码可信应用14;第二标识信息对应的字节码可信应用14可以接收第一标识信息对应的原生可信应用13的调用,并根据第一标识信息对应的原生可信应用13的调用,执行对应的操作,从而可以准确调用第二标识信息的字节码可信应用,实现在原生可信应用中管理多个字节码可信应用,实现准确管理可信应用的目的。
实施例2:
为了可以准确管理可信应用,在上述实施例的基础上,在本申请实施例中,所述第一标识信息对应的原生可信应用13,具体用于若接收到的调用信息为访问请求,则创建原生可信应用实例,基于所述原生可信应用实例打开原生可信应用会话;并向所述第二标识信息对应的字节码可信应用14发送打开会话的第一指令;
所述第二标识信息对应的字节码可信应用14,具体用于若接收到所述第一指令,创建字节码可信应用实例,并基于所述字节码可信应用实例,打开字节码可信应用会话。
在一种可能的实施方式中,CA11发起的调用信息可以为访问请求。具体的,第一标识信息的Native TA13如果识别到接收到的调用信息为访问请求,则可以先创建原生可信应用实例,然后基于该原生可信应用实例打开原生可信应用会话,并根据访问请求中携带的第二标识信息,向第二标识信息对应的BTA14发送打开会话的指令(为方便描述,称为第一指令)。示例性的,参阅图2,第一标识信息的Native TA13可以先基于创建实例入口函数(TA_CreateEntryPoint)实现创建原生可信应用实例,并初始化字节码可信应用的WebAssembly虚拟机的运行环境。然后基于打开会话入口函数(TA_OpenSessionEntryPoint)实现打开原生可信应用会话;并基于转换接口来调用字节码可信应用的转换入口的打开会话入口函数(WA_OpenSessionEntryPoint),实现向第二标识信息对应的BTA14发送打开会话的第一指令。
在一种可能的实施方式中,第二标识信息对应的BTA14在接收到第一指令后,可以创建字节码可信应用实例,并基于字节码可信应用实例,打开字节码可信应用会话。在一种可能的实施方式中,第二标识信息对应的BTA14识别到转换入口的打开会话入口函数(WA_OpenSessionEntryPoint)被调用后,第二标识信息对应的BTA14可以认为接收到第一指令,继而可以先调用字节码可信应用的创建实例入口函数(TA_CreateEntryPoint)实现创建字节码可信应用实例,然后再调用字节码可信应用的打开会话入口函数(TA_OpenSessionEntryPoint)实现打开字节码可信应用会话,从而打开第二标识信息对应的字节码可信应用14会话。
在一种可能的实施方式中,当第二标识信息的BTA14打开字节码可信应用会话后,第一标识信息的Native TA13可以向CA11返回会话打开成功的确认信息。CA11接收到确认信息后,可以继而发起调用命令。
为了可以准确管理可信应用,在上述各实施例的基础上,在本申请实施例中,所述第一标识信息对应的原生可信应用13,具体用于若接收到的调用信息为调用命令,则将所述调用命令转交给所述第二标识信息对应的字节码可信应用14。
在一种可能的实施方式中,如果CA11发起的调用信息为调用命令。第一标识信息的Native TA13识别到接收到的调用信息为调用命令时,可以将该调用命令转交(如透传等)给第二标识信息对应的BTA14。示例性的,参阅图2,第一标识信息的Native TA13识别到接收到的调用信息为调用命令时,可以认为需要调用原生可信应用的发送命令入口函数(TA_InvokeCommandEntryPoint),并基于转换接口来调用字节码可信应用的转换入口的发送命令函数(WA_InvokeCommandEntry),第二标识信息的BTA14识别到转换入口的发送命令函数(WA_InvokeCommandEntry)被调用后,可以调用命令入口函数(TA_InvokeCommandEntryPoint),接收原生可信应用转交的调用命令,并执行调用命令中对应的操作。
在一种可能的实施方式中,第二标识信息的BTA14在创建字节码可信应用实例,并打开字节码可信应用会话之后,可以识别第二标识信息的BTA14自身数据存储位置的位置信息,并将该位置信息返回给第一标识信息对应的原生可信应用13。示例性的,可以将位置信息设置在会话上下文(sessionContext)中,通过会话上下文双极指针,将字节码可信应用会话上下文指针返回给第一标识信息对应的原生可信应用13,从而实现将位置信息返回给第一标识信息对应的原生可信应用13。在一种可能的实施方式中,BTA可以基于如下代码将位置信息返回给第一标识信息的Native TA13:
TEE_Result TA_OpenSessionEntryPoint(uint32_t paramTypes,
TEE_Param params[4],
void**sessionContext)。
第一标识信息的Native TA13接收到位置信息时,在将调用命令转交给第二标识信息对应的BTA14时,可以基于该位置信息,快捷准确地将调用命令转交给该位置信息标识的第二标识信息对应的字节码可信应用14。在一种可能的实施方式中,可以基于如下代码将调用命令转交给第二标识信息对应的BTA14:
TEE_Result TA_InvokeCommandEntryPoint(void*sessionContext,uint32_tcmd_id,uint32_t paramTypes,TEE_Param params[4])。
在一种可能的实施方式中,第二标识信息对应的BTA14根据调用命令,执行对应的操作后,还可以将对调用命令的执行结果返回给第一标识信息的Native TA13。第一标识信息的Native TA13可以将执行结果发送给CA11。在一种可能的实施方式中,CA11接收到执行结果后,可以继而发起关闭会话信息。
为了可以准确管理可信应用,在上述各实施例的基础上,在本申请实施例中,所述第一标识信息对应的原生可信应用13,具体用于若接收到的调用信息为关闭会话信息,则向所述第二标识信息对应的字节码可信应用14发送关闭会话的第二指令,并关闭原生可信应用会话;
所述第二标识信息对应的字节码可信应用14,具体用于若接收到所述第二指令,关闭字节码可信应用会话,并销毁字节码可信应用实例;
所述第一标识信息对应的原生可信应用13,具体用于销毁原生可信应用实例。
在一种可能的实施方式中,CA11发起的调用信息可以为关闭会话信息。参阅图2,第一标识信息的Native TA13识别到接收到的调用信息为关闭会话信息时,可以调用原生可信应用的关闭会话入口函数(TA_CloseSessionEntryPoint)来关闭原生可信应用会话,并基于转换接口,调用字节码可信应用的转换入口的关闭会话入口函数(WA_CloseSessionEntryPoint),实现向第二标识信息对应的BTA14发送关闭会话的指令(为方便描述,称为第二指令)。
在一种可能的实施方式中,第二标识信息对应的BTA14的转换入口的关闭会话入口函数(WA_CloseSessionEntryPoint)被调用后,第二标识信息对应的BTA14可以认为接收到第二指令,继而可以调用字节码可信应用的关闭会话入口函数(TA_CloseSessionEntryPoint)实现关闭字节码可信应用会话,并通过调用字节码可信应用的销毁实例入口函数(TA_DestroyEntryPoint)实现销毁字节码可信应用实例。第一标识信息的Native TA13可以继而调用原生可信应用的销毁原生可信应用实例函数(TA_DestroyEntryPoint)实现销毁原生可信应用实例。
在一种可能的实施方式中,也可以是第二标识信息对应的BTA14接收到第二指令后,只调用字节码可信应用的关闭会话入口函数(TA_CloseSessionEntryPoint)实现关闭字节码可信应用会话。然后第一标识信息的Native TA13可以继而调用原生可信应用的销毁原生可信应用实例函数(TA_DestroyEntryPoint)来销毁原生可信应用实例,并基于转换接口来调用字节码可信应用的转换入口的销毁实例入口函数(WA_DestroyEntryPoint),第二标识信息对应的BTA14识别到转换入口的销毁实例入口函数(WA_DestroyEntryPoint)被调用后,可以调用字节码可信应用的销毁实例入口函数(TA_DestroyEntryPoint)实现对字节码可信应用实例的销毁。
为方便理解,下面再通过一个具体实施例对本申请提供的可信应用调用过程进行举例说明。图3示出了一些实施例提供的第一种可信应用调用过程示意图,如图3所示,电子设备中的CA11发起访问请求(打开原生可信应用会话)。在一种可能的实施方式中,CA11可以通过调用打开会话函数(TEEC_OpenSession)实现发起访问请求,访问请求中可以携带(指定)电子设备的第一标识信息以及待调用的任一应用的字节码可信应用的第二标识信息。在一种可能的实施方式中,CA11可以基于如下代码发起访问请求:
PARAM[0]:TEE_PARAM_TYPE_VALUE_INOUT,
params[0].value.a=INSTALL_TA-命令ID
PARAM[1]:TEE_PARAM_TYPE_MEMREF_INPUT,params[1].memref.buffer-BTA名字
PARAM[2]:TEE_PARAM_TYPE_MEMREF_INPUT,params[2].memref.buffer-SP名字
PARAM[3]:TEE_PARAM_TYPE_MEMREF_INPUT,params[3].memref.buffer-BTA的二进制内容
CA11发起访问请求后,电子设备中的TEE OS可以接收CA11发起的访问信息,并将该调用信息发送给可信应用开发平台12。可信应用开发平台12接收访问信息,并根据第一标识信息,从可信应用开发平台12联结的至少两个可信执行环境操作系统分别对应的原生可信应用中,确定第一标识信息对应的原生可信应用,并将调用信息发送给第一标识信息对应的原生可信应用。
第一标识信息对应的Native TA13可以先基于创建实例入口函数(TA_CreateEntryPoint)实现创建原生可信应用实例,然后基于打开会话入口函数(TA_OpenSessionEntryPoint)实现打开原生可信应用会话;并基于转换接口来调用字节码可信应用的转换入口的打开会话入口函数(WA_OpenSessionEntryPoint),实现向第二标识信息对应的BTA14发送打开会话的第一指令。
第二标识信息对应的BTA14识别到转换入口的打开会话入口函数(WA_OpenSessionEntryPoint)被调用后,第二标识信息对应的BTA14可以先调用字节码可信应用的创建实例入口函数(TA_CreateEntryPoint)实现创建字节码可信应用实例,然后再调用字节码可信应用的打开会话入口函数(TA_OpenSessionEntryPoint)实现打开(创建)字节码可信应用会话。
在一种可能的实施方式中,第二标识信息对应的BTA14在创建字节码可信应用实例,并打开字节码可信应用会话之后,可以识别第二标识信息对应的BTA14自身数据存储位置的位置信息,并将该位置信息返回给第一标识信息对应的原生可信应用13。其中,可以将位置信息设置在会话上下文(sessionContext)中,通过会话上下文双极指针,将字节码可信应用会话上下文指针返回给第一标识信息对应的原生可信应用13。
在一种可能的实施方式中,第一标识信息对应的Native TA13接收到位置信息时,可以将该位置信息(sessionContext)保存在原生可信应用会话上下文中。TEE OS也可以保存原生可信应用会话上下文(sessionContext)。
第一标识信息对应的Native TA13可以向CA11返回会话打开成功的确认信息。CA11接收到确认信息后,可以继而发起调用命令。电子设备中的TEE OS可以接收CA11发起的调用命令,并通过加载识别原生可信应用会话上下文,将调用命令发送给第一标识信息对应的Native TA13。
第一标识信息对应的Native TA13识别到接收到的调用信息为调用命令时,可以将该调用命令转交给第二标识信息对应的BTA14。其中,第一标识信息的Native TA13可以调用原生可信应用的发送命令入口函数(TA_InvokeCommandEntryPoint),从会话上下文(sessionContext)中定位第二标识信息对应的BTA14,并基于转换接口来调用第二标识信息的BTA14的转换入口的发送命令函数(WA_InvokeCommandEntry),第二标识信息的BTA14识别到转换入口的发送命令函数(WA_InvokeCommandEntry)被调用后,可以调用命令入口函数(TA_InvokeCommandEntryPoint),接收原生可信应用转交的调用命令,并执行调用命令中对应的操作。
第二标识信息对应的BTA14根据调用命令,执行对应的操作后,还可以将对调用命令的执行结果返回给第一标识信息对应的Native TA13。第一标识信息对应的Native TA13可以将执行结果发送给CA11。
在一种可能的实施方式中,CA11接收到执行结果后,可以继而发起关闭会话信息。第一标识信息对应的Native TA13接收关闭会话信息,识别到接收到的调用信息为关闭会话信息时,可以调用原生可信应用的关闭会话入口函数(TA_CloseSessionEntryPoint)来关闭原生可信应用会话,并基于转换接口,调用字节码可信应用的转换入口的关闭会话入口函数(WA_CloseSessionEntryPoint),第二标识信息对应的BTA14可以继而调用字节码可信应用的关闭会话入口函数(TA_CloseSessionEntryPoint)实现关闭字节码可信应用会话,并通过调用字节码可信应用的销毁实例入口函数(TA_DestroyEntryPoint)实现销毁字节码可信应用实例。第一标识信息对应的Native TA13可以继而调用原生可信应用的销毁原生可信应用实例函数(TA_DestroyEntryPoint)实现销毁原生可信应用实例。同时,TEEOS可以释放原生可信应用会话上下文(sessionContext)。
实施例3:
为了实现多个BTA之间的数据存储隔离,保证每个BTA的数据安全,在上述各实施例的基础上,在本申请实施例中,所述第一标识信息对应的原生可信应用13,还用于为每个字节码可信应用分别配置一个独立的子目录;针对每个字节码可信应用,基于该字节码可信应用对应的独立的子目录,为该字节码可信应用配置特定的访问路径,使该字节码可信应用访问对应的独立的子目录中的文件信息。
在一种可能的实施方式中,Native TA在安装每个BTA时,可以为每个BTA分别配置一个独立的子目录,例如当任一BTA根据调用执行对应的操作,需要打开或者创建一个文件时,Native TA可以总是在BTA提供的访问文件的路径中添加对应的子目录作为前缀;即Native TA可以针对每个BTA,基于该BTA对应的独立的子目录,为该BTA配置特定的访问路径,使该BTA只能访问该BTA对应的独立的子目录中的文件信息,而不能访问其他目录中的文件信息。
在一种可能的实施方式中,为了实现多个BTA之间的数据存储隔离,子目录以及BTA提供的访问文件的路径可以为独立的路径(绝对路径),而非包含有如“..”表示上一级目录等的相对路径。
由于本申请可以为每个BTA分别配置一个独立的子目录,每个BTA只能访问自身独有的子目录中的文件信息,而无法访问不属于自己权限的其他BTA的文件信息,从而可以实现多个BTA之间的数据存储隔离,保证了数据安全。
实施例4:
基于相同的技术构思,本申请提供了一种可信应用调用方法,该方法应用于原生可信应用,图4示出了一些实施例提供的第二种可信应用调用过程示意图,如图4所示,该过程包括以下步骤:
S401:接收可信应用开发平台发送的调用信息;其中,所述调用信息中携带电子设备的第一标识信息及任一应用的字节码可信应用的第二标识信息;所述调用信息为所述可信应用开发平台在接收到客户端应用CA发起的对所述可信应用开发平台联结的与所述CA对应的可信执行环境操作系统的原生可信应用的调用信息,所述可信应用开发平台根据所述第一标识信息,从所述可信应用开发平台联结的至少两个可信执行环境操作系统分别对应的原生可信应用中,确定所述第一标识信息对应的原生可信应用时发送的。
S402:根据所述第二标识信息,从安装在自身中的至少一个字节码可信应用中,确定所述第二标识信息对应的字节码可信应用,并根据所述调用信息,调用所述第二标识信息对应的字节码可信应用;使所述第二标识信息对应的字节码可信应用接收所述第一标识信息对应的原生可信应用的调用,并使所述第二标识信息对应的字节码可信应用根据所述第一标识信息对应的原生可信应用的调用,执行对应的操作。
在一种可能的实施方式中,若接收到的调用信息为访问请求,所述根据所述调用信息,调用所述第二标识信息对应的字节码可信应用包括:
创建原生可信应用实例,基于所述原生可信应用实例打开原生可信应用会话;并向所述第二标识信息对应的字节码可信应用发送打开会话的第一指令,使所述第二标识信息对应的字节码可信应用在接收到所述第一指令后,创建字节码可信应用实例,并使所述第二标识信息对应的字节码可信应用基于所述字节码可信应用实例,打开字节码可信应用会话。
在一种可能的实施方式中,若接收到的调用信息为调用命令,所述根据所述调用信息,调用所述第二标识信息对应的字节码可信应用包括:
将所述调用命令转交给所述第二标识信息对应的字节码可信应用。
在一种可能的实施方式中,所述接收可信应用开发平台发送的调用信息之后,所述将所述调用命令转交给所述第二标识信息对应的字节码可信应用之前,所述方法还包括:
接收第二标识信息对应的字节码可信应用发送的位置信息;其中,所述位置信息为所述第二标识信息对应的字节码可信应用在识别到自身数据存储位置的位置信息时发送的;
所述将所述调用命令转交给所述第二标识信息对应的字节码可信应用包括:
基于所述位置信息,将所述调用命令转交给所述位置信息标识的所述第二标识信息对应的字节码可信应用。
在一种可能的实施方式中,所述方法还包括:
若接收到所述第二标识信息对应的字节码可信应用发送的执行结果,将所述执行结果发送给所述CA;其中,所述执行结果为所述第二标识信息对应的字节码可信应用对所述调用命令执行完成后发送的。
在一种可能的实施方式中,若接收到的调用信息为关闭会话信息,所述根据所述调用信息,调用所述第二标识信息对应的字节码可信应用包括:
关闭原生可信应用会话,并向所述第二标识信息对应的字节码可信应用发送关闭会话的第二指令,使所述第二标识信息对应的字节码可信应用在接收到所述第二指令时,关闭字节码可信应用会话,并使所述第二标识信息对应的字节码可信应用销毁字节码可信应用实例;
销毁原生可信应用实例。
在一种可能的实施方式中,所述方法还包括:
为每个字节码可信应用分别配置一个独立的子目录;针对每个字节码可信应用,基于该字节码可信应用对应的独立的子目录,为该字节码可信应用配置特定的访问路径,使该字节码可信应用访问对应的独立的子目录中的文件信息。
在一种可能的实施方式中,所述调用所述第二标识信息对应的字节码可信应用包括:
基于预先配置的转换接口,调用所述第二标识信息对应的字节码可信应用。
实施例5:
基于相同的技术构思,本申请提供了一种可信应用调用装置,该装置应用于原生可信应用(第一标识信息对应的原生可信应用),图5示出了一些实施例提供的第一种可信应用调用装置示意图,如图5所示,该装置包括:
第一接收模块51,用于接收可信应用开发平台发送的调用信息,其中,所述调用信息中携带电子设备的第一标识信息及任一应用的字节码可信应用的第二标识信息;所述调用信息为所述可信应用开发平台在接收到客户端应用CA发起的对所述可信应用开发平台联结的与所述CA对应的可信执行环境操作系统的原生可信应用的调用信息,所述可信应用开发平台根据所述第一标识信息,从所述可信应用开发平台联结的至少两个可信执行环境操作系统分别对应的原生可信应用中,确定所述第一标识信息对应的原生可信应用时发送的;
调用模块52,用于根据所述第二标识信息,从安装在自身中的至少一个字节码可信应用中,确定所述第二标识信息对应的字节码可信应用,并根据所述调用信息,调用所述第二标识信息对应的字节码可信应用;使所述第二标识信息对应的字节码可信应用接收所述第一标识信息对应的原生可信应用的调用,并使所述第二标识信息对应的字节码可信应用根据所述第一标识信息对应的原生可信应用的调用,执行对应的操作。
在一种可能的实施方式中,所述调用模块52,具体用于若接收到的调用信息为访问请求,创建原生可信应用实例,基于所述原生可信应用实例打开原生可信应用会话;并向所述第二标识信息对应的字节码可信应用发送打开会话的第一指令,使所述第二标识信息对应的字节码可信应用在接收到所述第一指令后,创建字节码可信应用实例,并使所述第二标识信息对应的字节码可信应用基于所述字节码可信应用实例,打开字节码可信应用会话。
在一种可能的实施方式中,所述调用模块52,具体用于若接收到的调用信息为调用命令,将所述调用命令转交给所述第二标识信息对应的字节码可信应用。
在一种可能的实施方式中,所述调用模块52,还用于接收第二标识信息对应的字节码可信应用发送的位置信息;其中,所述位置信息为所述第二标识信息对应的字节码可信应用在识别到自身数据存储位置的位置信息时发送的;
所述调用模块52,具体用于基于所述位置信息,将所述调用命令转交给所述位置信息标识的所述第二标识信息对应的字节码可信应用。
在一种可能的实施方式中,所述装置还包括:
发送模块,用于若接收到所述第二标识信息对应的字节码可信应用发送的执行结果,将所述执行结果发送给所述CA;其中,所述执行结果为所述第二标识信息对应的字节码可信应用对所述调用命令执行完成后发送的。
在一种可能的实施方式中,所述调用模块52,具体用于若接收到的调用信息为关闭会话信息,关闭原生可信应用会话,并向所述第二标识信息对应的字节码可信应用发送关闭会话的第二指令,使所述第二标识信息对应的字节码可信应用在接收到所述第二指令时,关闭字节码可信应用会话,并使所述第二标识信息对应的字节码可信应用销毁字节码可信应用实例;
销毁原生可信应用实例。
在一种可能的实施方式中,所述装置还包括:
配置模块,用于为每个字节码可信应用分别配置一个独立的子目录;针对每个字节码可信应用,基于该字节码可信应用对应的独立的子目录,为该字节码可信应用配置特定的访问路径,使该字节码可信应用访问对应的独立的子目录中的文件信息。
在一种可能的实施方式中,所述调用模块52,具体用于基于预先配置的转换接口,调用所述第二标识信息对应的字节码可信应用。
实施例6:
基于相同的技术构思,本申请还提供了一种电子设备,图6示出了一些实施例提供的第一种电子设备结构示意图,如图6所示,包括:处理器61、通信接口62、存储器63和通信总线64,其中,处理器61,通信接口62,存储器63通过通信总64完成相互间的通信;
所述存储器63中存储有计算机程序,当所述程序被所述处理器61执行时,使得所述处理器61执行如下步骤:
接收可信应用开发平台发送的调用信息,其中,所述调用信息中携带电子设备的第一标识信息及任一应用的字节码可信应用的第二标识信息;所述调用信息为所述可信应用开发平台在接收到客户端应用CA发起的对所述可信应用开发平台联结的与所述CA对应的可信执行环境操作系统的原生可信应用的调用信息,所述可信应用开发平台根据所述第一标识信息,从所述可信应用开发平台联结的至少两个可信执行环境操作系统分别对应的原生可信应用中,确定所述第一标识信息对应的原生可信应用时发送的;
根据所述第二标识信息,从安装在自身中的至少一个字节码可信应用中,确定所述第二标识信息对应的字节码可信应用,并根据所述调用信息,调用所述第二标识信息对应的字节码可信应用;使所述第二标识信息对应的字节码可信应用接收所述第一标识信息对应的原生可信应用的调用,并使所述第二标识信息对应的字节码可信应用根据所述第一标识信息对应的原生可信应用的调用,执行对应的操作。
在一种可能的实施方式中,所述处理器61,具体用于若接收到的调用信息为访问请求,创建原生可信应用实例,基于所述原生可信应用实例打开原生可信应用会话;并向所述第二标识信息对应的字节码可信应用发送打开会话的第一指令,使所述第二标识信息对应的字节码可信应用在接收到所述第一指令后,创建字节码可信应用实例,并使所述第二标识信息对应的字节码可信应用基于所述字节码可信应用实例,打开字节码可信应用会话。
在一种可能的实施方式中,所述处理器61,具体用于若接收到的调用信息为调用命令,将所述调用命令转交给所述第二标识信息对应的字节码可信应用。
在一种可能的实施方式中,所述处理器61,还用于接收第二标识信息对应的字节码可信应用发送的位置信息;其中,所述位置信息为所述第二标识信息对应的字节码可信应用在识别到自身数据存储位置的位置信息时发送的;
基于所述位置信息,将所述调用命令转交给所述位置信息标识的所述第二标识信息对应的字节码可信应用。
在一种可能的实施方式中,所述处理器61,还用于若接收到所述第二标识信息对应的字节码可信应用发送的执行结果,将所述执行结果发送给所述CA;其中,所述执行结果为所述第二标识信息对应的字节码可信应用对所述调用命令执行完成后发送的。
在一种可能的实施方式中,所述处理器61,具体用于若接收到的调用信息为关闭会话信息,关闭原生可信应用会话,并向所述第二标识信息对应的字节码可信应用发送关闭会话的第二指令,使所述第二标识信息对应的字节码可信应用在接收到所述第二指令时,关闭字节码可信应用会话,并使所述第二标识信息对应的字节码可信应用销毁字节码可信应用实例;
销毁原生可信应用实例。
在一种可能的实施方式中,所述处理器61,还用于为每个字节码可信应用分别配置一个独立的子目录;针对每个字节码可信应用,基于该字节码可信应用对应的独立的子目录,为该字节码可信应用配置特定的访问路径,使该字节码可信应用访问对应的独立的子目录中的文件信息。
在一种可能的实施方式中,所述处理器61,具体用于基于预先配置的转换接口,调用所述第二标识信息对应的字节码可信应用。
由于上述电子设备解决问题的原理与可信应用调用方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口62用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
实施例7:
基于相同的技术构思,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
接收可信应用开发平台发送的调用信息,其中,所述调用信息中携带电子设备的第一标识信息及任一应用的字节码可信应用的第二标识信息;所述调用信息为所述可信应用开发平台在接收到客户端应用CA发起的对所述可信应用开发平台联结的与所述CA对应的可信执行环境操作系统的原生可信应用的调用信息,所述可信应用开发平台根据所述第一标识信息,从所述可信应用开发平台联结的至少两个可信执行环境操作系统分别对应的原生可信应用中,确定所述第一标识信息对应的原生可信应用时发送的;
根据所述第二标识信息,从安装在自身中的至少一个字节码可信应用中,确定所述第二标识信息对应的字节码可信应用,并根据所述调用信息,调用所述第二标识信息对应的字节码可信应用;使所述第二标识信息对应的字节码可信应用接收所述第一标识信息对应的原生可信应用的调用,并使所述第二标识信息对应的字节码可信应用根据所述第一标识信息对应的原生可信应用的调用,执行对应的操作。
在一种可能的实施方式中,若接收到的调用信息为访问请求,所述根据所述调用信息,调用所述第二标识信息对应的字节码可信应用包括:
创建原生可信应用实例,基于所述原生可信应用实例打开原生可信应用会话;并向所述第二标识信息对应的字节码可信应用发送打开会话的第一指令,使所述第二标识信息对应的字节码可信应用在接收到所述第一指令后,创建字节码可信应用实例,并使所述第二标识信息对应的字节码可信应用基于所述字节码可信应用实例,打开字节码可信应用会话。
在一种可能的实施方式中,若接收到的调用信息为调用命令,所述根据所述调用信息,调用所述第二标识信息对应的字节码可信应用包括:
将所述调用命令转交给所述第二标识信息对应的字节码可信应用。
在一种可能的实施方式中,所述接收可信应用开发平台发送的调用信息之后,所述将所述调用命令转交给所述第二标识信息对应的字节码可信应用之前,所述方法还包括:
接收第二标识信息对应的字节码可信应用发送的位置信息;其中,所述位置信息为所述第二标识信息对应的字节码可信应用在识别到自身数据存储位置的位置信息时发送的;
所述将所述调用命令转交给所述第二标识信息对应的字节码可信应用包括:
基于所述位置信息,将所述调用命令转交给所述位置信息标识的所述第二标识信息对应的字节码可信应用。
在一种可能的实施方式中,所述方法还包括:
若接收到所述第二标识信息对应的字节码可信应用发送的执行结果,将所述执行结果发送给所述CA;其中,所述执行结果为所述第二标识信息对应的字节码可信应用对所述调用命令执行完成后发送的。
在一种可能的实施方式中,若接收到的调用信息为关闭会话信息,所述根据所述调用信息,调用所述第二标识信息对应的字节码可信应用包括:
关闭原生可信应用会话,并向所述第二标识信息对应的字节码可信应用发送关闭会话的第二指令,使所述第二标识信息对应的字节码可信应用在接收到所述第二指令时,关闭字节码可信应用会话,并使所述第二标识信息对应的字节码可信应用销毁字节码可信应用实例;
销毁原生可信应用实例。
在一种可能的实施方式中,所述方法还包括:
为每个字节码可信应用分别配置一个独立的子目录;针对每个字节码可信应用,基于该字节码可信应用对应的独立的子目录,为该字节码可信应用配置特定的访问路径,使该字节码可信应用访问对应的独立的子目录中的文件信息。
在一种可能的实施方式中,所述调用所述第二标识信息对应的字节码可信应用包括:
基于预先配置的转换接口,调用所述第二标识信息对应的字节码可信应用。
上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(MO)等、光学存储器如CD、DVD、BD、HVD等、以及半导体存储器如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD)等。
实施例8:
基于相同的技术构思,本申请提供了一种可信应用调用方法,所述方法应用于字节码可信应用,图7示出了一些实施例提供的第三种可信应用调用过程示意图,如图7所示,该过程包括以下步骤:
S701:接收第一标识信息对应的原生可信应用的调用;所述调用为所述第一标识信息对应的原生可信应用在接收到可信应用开发平台发送的调用信息,所述第一标识信息对应的原生可信应用根据调用信息中携带的第二标识信息,从安装在所述第一标识信息对应的原生可信应用自身中的至少一个字节码可信应用中,确定所述第二标识信息对应的字节码可信应用时,所述第一标识信息对应的原生可信应用根据所述调用信息,对所述第二标识信息对应的字节码可信应用发起的;其中,所述调用信息为所述可信应用开发平台在接收到客户端应用CA发起的对所述可信应用开发平台联结的与所述CA对应的可信执行环境操作系统的原生可信应用的调用信息,所述可信应用开发平台根据所述调用信息中携带的电子设备的第一标识信息,从所述可信应用开发平台联结的至少两个可信执行环境操作系统分别对应的原生可信应用中,确定所述第一标识信息对应的原生可信应用时发送的;
S702:根据所述第一标识信息对应的原生可信应用的调用,执行对应的操作。
在一种可能的实施方式中,所述根据所述第一标识信息对应的原生可信应用的调用,执行对应的操作包括:
若接收到所述第一标识信息对应的原生可信应用发送的打开会话的第一指令,创建字节码可信应用实例,并基于所述字节码可信应用实例,打开字节码可信应用会话;其中,所述第一指令为所述第一标识信息对应的原生可信应用在识别到接收到的调用信息为访问请求,所述第一标识信息对应的原生可信应用创建原生可信应用实例,并基于所述原生可信应用实例打开原生可信应用会话时发送的。
在一种可能的实施方式中,所述打开字节码可信应用会话之后,接收所述第一标识信息对应的原生可信应用转交的调用命令之前,所述方法还包括:
识别自身数据存储位置的位置信息,并将所述位置信息返回给所述第一标识信息对应的原生可信应用,使所述第一标识信息对应的原生可信应用接收所述位置信息时,并使所述第一标识信息对应的原生可信应用基于所述位置信息,将所述调用命令转交给所述位置信息标识的所述第二标识信息对应的字节码可信应用。
在一种可能的实施方式中,所述方法还包括:
将对所述调用命令的执行结果返回给所述第一标识信息对应的原生可信应用;使所述第一标识信息对应的原生可信应用将所述执行结果发送给所述CA。
在一种可能的实施方式中,所述根据所述第一标识信息对应的原生可信应用的调用,执行对应的操作包括:
若接收到所述第一标识信息对应的原生可信应用发送的关闭会话的第二指令,关闭字节码可信应用会话,并销毁字节码可信应用实例;其中,所述第二指令为所述第一标识信息对应的原生可信应用在接收到的调用信息为关闭会话信息时,所述第一标识信息对应的原生可信应用向所述第二标识信息对应的字节码可信应用发送的。
在一种可能的实施方式中,所述接收第一标识信息对应的原生可信应用的调用包括:
基于预先配置的第二GP接口,接收所述第一标识信息对应的原生可信应用的调用。
实施例9:
基于相同的技术构思,本申请提供了一种可信应用调用装置,所述装置应用于字节码可信应用,图8示出了一些实施例提供的第二种可信应用调用装置示意图,如图8所示,该装置包括:
第二接收模块81,用于接收第一标识信息对应的原生可信应用的调用;所述调用为所述第一标识信息对应的原生可信应用在接收到可信应用开发平台发送的调用信息,所述第一标识信息对应的原生可信应用根据调用信息中携带的第二标识信息,从安装在所述第一标识信息对应的原生可信应用自身中的至少一个字节码可信应用中,确定所述第二标识信息对应的字节码可信应用时,所述第一标识信息对应的原生可信应用根据所述调用信息,对所述第二标识信息对应的字节码可信应用发起的;其中,所述调用信息为所述可信应用开发平台在接收到客户端应用CA发起的对所述可信应用开发平台联结的与所述CA对应的可信执行环境操作系统的原生可信应用的调用信息,所述可信应用开发平台根据所述调用信息中携带的电子设备的第一标识信息,从所述可信应用开发平台联结的至少两个可信执行环境操作系统分别对应的原生可信应用中,确定所述第一标识信息对应的原生可信应用时发送的;
执行模块82,用于根据所述第一标识信息对应的原生可信应用的调用,执行对应的操作。
在一种可能的实施方式中,所述执行模块82,具体用于若接收到所述第一标识信息对应的原生可信应用发送的打开会话的第一指令,创建字节码可信应用实例,并基于所述字节码可信应用实例,打开字节码可信应用会话;其中,所述第一指令为所述第一标识信息对应的原生可信应用在识别到接收到的调用信息为访问请求,所述第一标识信息对应的原生可信应用创建原生可信应用实例,并基于所述原生可信应用实例打开原生可信应用会话时发送的。
在一种可能的实施方式中,所述执行模块82,还用于识别自身数据存储位置的位置信息,并将所述位置信息返回给所述第一标识信息对应的原生可信应用,使所述第一标识信息对应的原生可信应用接收所述位置信息时,并使所述第一标识信息对应的原生可信应用基于所述位置信息,将所述调用命令转交给所述位置信息标识的所述第二标识信息对应的字节码可信应用。
在一种可能的实施方式中,所述执行模块82,还用于将对所述调用命令的执行结果返回给所述第一标识信息对应的原生可信应用;使所述第一标识信息对应的原生可信应用将所述执行结果发送给所述CA。
在一种可能的实施方式中,所述执行模块82,具体用于若接收到所述第一标识信息对应的原生可信应用发送的关闭会话的第二指令,关闭字节码可信应用会话,并销毁字节码可信应用实例;其中,所述第二指令为所述第一标识信息对应的原生可信应用在接收到的调用信息为关闭会话信息时,所述第一标识信息对应的原生可信应用向所述第二标识信息对应的字节码可信应用发送的。
在一种可能的实施方式中,所述第二接收模块81,具体用于基于预先配置的第二GP接口,接收所述第一标识信息对应的原生可信应用的调用。
实施例10:
基于相同的技术构思,本申请还提供了一种电子设备,图9示出了一些实施例提供的第二种电子设备结构示意图,如图9所示,包括:处理器91、通信接口92、存储器93和通信总线94,其中,处理器91,通信接口92,存储器93通过通信总线94完成相互间的通信;
所述存储器93中存储有计算机程序,当所述程序被所述处理器91执行时,使得所述处理器91执行如下步骤:
接收第一标识信息对应的原生可信应用的调用;所述调用为所述第一标识信息对应的原生可信应用在接收到可信应用开发平台发送的调用信息,所述第一标识信息对应的原生可信应用根据调用信息中携带的第二标识信息,从安装在所述第一标识信息对应的原生可信应用自身中的至少一个字节码可信应用中,确定所述第二标识信息对应的字节码可信应用时,所述第一标识信息对应的原生可信应用根据所述调用信息,对所述第二标识信息对应的字节码可信应用发起的;其中,所述调用信息为所述可信应用开发平台在接收到客户端应用CA发起的对所述可信应用开发平台中联结的与所述CA对应的可信执行环境操作系统的原生可信应用的调用信息,所述可信应用开发平台根据所述调用信息中携带的电子设备的第一标识信息,从所述可信应用开发平台联结的至少两个可信执行环境操作系统分别对应的原生可信应用中,确定所述第一标识信息对应的原生可信应用时发送的;
根据所述第一标识信息对应的原生可信应用的调用,执行对应的操作。
在一种可能的实施方式中,所述处理器91,具体用于若接收到所述第一标识信息对应的原生可信应用发送的打开会话的第一指令,创建字节码可信应用实例,并基于所述字节码可信应用实例,打开字节码可信应用会话;其中,所述第一指令为所述第一标识信息对应的原生可信应用在识别到接收到的调用信息为访问请求,所述第一标识信息对应的原生可信应用创建原生可信应用实例,并基于所述原生可信应用实例打开原生可信应用会话时发送的。
在一种可能的实施方式中,所述处理器91,还用于识别自身数据存储位置的位置信息,并将所述位置信息返回给所述第一标识信息对应的原生可信应用,使所述第一标识信息对应的原生可信应用接收所述位置信息时,并使所述第一标识信息对应的原生可信应用基于所述位置信息,将所述调用命令转交给所述位置信息标识的所述第二标识信息对应的字节码可信应用。
在一种可能的实施方式中,所述处理器91,还用于将对所述调用命令的执行结果返回给所述第一标识信息对应的原生可信应用;使所述第一标识信息对应的原生可信应用将所述执行结果发送给所述CA。
在一种可能的实施方式中,所述处理器91,具体用于若接收到所述第一标识信息对应的原生可信应用发送的关闭会话的第二指令,关闭字节码可信应用会话,并销毁字节码可信应用实例;其中,所述第二指令为所述第一标识信息对应的原生可信应用在接收到的调用信息为关闭会话信息时,所述第一标识信息对应的原生可信应用向所述第二标识信息对应的字节码可信应用发送的。
在一种可能的实施方式中,所述处理器91,具体用于基于预先配置的第二GP接口,接收所述第一标识信息对应的原生可信应用的调用。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口92用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
实施例11:
基于相同的技术构思,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
接收第一标识信息对应的原生可信应用的调用;所述调用为所述第一标识信息对应的原生可信应用在接收到可信应用开发平台发送的调用信息,所述第一标识信息对应的原生可信应用根据调用信息中携带的第二标识信息,从安装在所述第一标识信息对应的原生可信应用自身中的至少一个字节码可信应用中,确定所述第二标识信息对应的字节码可信应用时,所述第一标识信息对应的原生可信应用根据所述调用信息,对所述第二标识信息对应的字节码可信应用发起的;其中,所述调用信息为所述可信应用开发平台在接收到客户端应用CA发起的对所述可信应用开发平台联结的与所述CA对应的可信执行环境操作系统的原生可信应用的调用信息,所述可信应用开发平台根据所述调用信息中携带的电子设备的第一标识信息,从所述可信应用开发平台联结的至少两个可信执行环境操作系统分别对应的原生可信应用中,确定所述第一标识信息对应的原生可信应用时发送的;
根据所述第一标识信息对应的原生可信应用的调用,执行对应的操作。
在一种可能的实施方式中,所述根据所述第一标识信息对应的原生可信应用的调用,执行对应的操作包括:
若接收到所述第一标识信息对应的原生可信应用发送的打开会话的第一指令,创建字节码可信应用实例,并基于所述字节码可信应用实例,打开字节码可信应用会话;其中,所述第一指令为所述第一标识信息对应的原生可信应用在识别到接收到的调用信息为访问请求,所述第一标识信息对应的原生可信应用创建原生可信应用实例,并基于所述原生可信应用实例打开原生可信应用会话时发送的。
在一种可能的实施方式中,所述打开字节码可信应用会话之后,接收所述第一标识信息对应的原生可信应用转交的调用命令之前,所述方法还包括:
识别自身数据存储位置的位置信息,并将所述位置信息返回给所述第一标识信息对应的原生可信应用,使所述第一标识信息对应的原生可信应用接收所述位置信息时,并使所述第一标识信息对应的原生可信应用基于所述位置信息,将所述调用命令转交给所述位置信息标识的所述第二标识信息对应的字节码可信应用。
在一种可能的实施方式中,所述方法还包括:
将对所述调用命令的执行结果返回给所述第一标识信息对应的原生可信应用;使所述第一标识信息对应的原生可信应用将所述执行结果发送给所述CA。
在一种可能的实施方式中,所述根据所述第一标识信息对应的原生可信应用的调用,执行对应的操作包括:
若接收到所述第一标识信息对应的原生可信应用发送的关闭会话的第二指令,关闭字节码可信应用会话,并销毁字节码可信应用实例;其中,所述第二指令为所述第一标识信息对应的原生可信应用在接收到的调用信息为关闭会话信息时,所述第一标识信息对应的原生可信应用向所述第二标识信息对应的字节码可信应用发送的。
在一种可能的实施方式中,所述接收第一标识信息对应的原生可信应用的调用包括:
基于预先配置的第二GP接口,接收所述第一标识信息对应的原生可信应用的调用。
上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(MO)等、光学存储器如CD、DVD、BD、HVD等、以及半导体存储器如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD)等。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种电子设备,其特征在于,所述电子设备包括:客户端应用CA和可信应用开发平台;
所述CA,用于发起对所述可信应用开发平台联结的与所述CA对应的可信执行环境操作系统的原生可信应用的调用信息,其中所述调用信息中携带所述电子设备的第一标识信息及任一应用的字节码可信应用的第二标识信息;
所述可信应用开发平台,用于接收所述调用信息,根据所述第一标识信息,从所述可信应用开发平台联结的至少两个可信执行环境操作系统分别对应的原生可信应用中,确定所述第一标识信息对应的原生可信应用,并将所述调用信息发送给所述第一标识信息对应的原生可信应用;
所述第一标识信息对应的原生可信应用,用于接收所述调用信息,根据所述第二标识信息,从安装在自身中的至少一个字节码可信应用中,确定所述第二标识信息对应的字节码可信应用,并根据所述调用信息,调用所述第二标识信息对应的字节码可信应用;
所述第二标识信息对应的字节码可信应用,用于接收所述第一标识信息对应的原生可信应用的调用,并根据所述第一标识信息对应的原生可信应用的调用,执行对应的操作。
2.根据权利要求1所述的电子设备,其特征在于,所述电子设备还包括:
创建模块,用于基于支持跨平台功能的字节码技术,创建所述可信应用开发平台,其中所述可信应用开发平台联结至少两个可信执行环境操作系统分别对应的原生可信应用。
3.根据权利要求1所述的电子设备,其特征在于,所述第一标识信息对应的原生可信应用,具体用于若接收到的调用信息为访问请求,则创建原生可信应用实例,基于所述原生可信应用实例打开原生可信应用会话;并向所述第二标识信息对应的字节码可信应用发送打开会话的第一指令;
所述第二标识信息对应的字节码可信应用,具体用于若接收到所述第一指令,创建字节码可信应用实例,并基于所述字节码可信应用实例,打开字节码可信应用会话。
4.根据权利要求1所述的电子设备,其特征在于,所述第一标识信息对应的原生可信应用,具体用于若接收到的调用信息为调用命令,则将所述调用命令转交给所述第二标识信息对应的字节码可信应用。
5.根据权利要求4所述的电子设备,其特征在于,所述第二标识信息对应的字节码可信应用,还用于识别自身数据存储位置的位置信息,并将所述位置信息返回给所述第一标识信息对应的原生可信应用;
所述第一标识信息对应的原生可信应用,具体用于若接收到所述位置信息,基于所述位置信息,将所述调用命令转交给所述位置信息标识的所述第二标识信息对应的字节码可信应用。
6.根据权利要求4所述的电子设备,其特征在于,所述第二标识信息对应的字节码可信应用,还用于将对所述调用命令的执行结果返回给所述第一标识信息对应的原生可信应用;
所述第一标识信息对应的原生可信应用,还用于将所述执行结果发送给所述CA。
7.根据权利要求3所述的电子设备,其特征在于,所述第一标识信息对应的原生可信应用,具体用于若接收到的调用信息为关闭会话信息,则向所述第二标识信息对应的字节码可信应用发送关闭会话的第二指令,并关闭原生可信应用会话;
所述第二标识信息对应的字节码可信应用,具体用于若接收到所述第二指令,关闭字节码可信应用会话,并销毁字节码可信应用实例;
所述第一标识信息对应的原生可信应用,具体用于销毁原生可信应用实例。
8.根据权利要求1所述的电子设备,其特征在于,所述第一标识信息对应的原生可信应用,还用于为每个字节码可信应用分别配置一个独立的子目录;针对每个字节码可信应用,基于该字节码可信应用对应的独立的子目录,为该字节码可信应用配置特定的访问路径,使该字节码可信应用访问对应的独立的子目录中的文件信息。
9.根据权利要求1所述的电子设备,其特征在于,所述电子设备还包括:可信执行环境操作系统TEE OS;
所述TEE OS,用于接收所述CA发起的所述调用信息,并将所述调用信息发送给所述可信应用开发平台;
所述可信应用开发平台,具体用于基于TEE OS提供的第一全球平台组织GP接口或自有接口,接收所述TEE OS发送的所述调用信息。
10.根据权利要求1-9任一所述的电子设备,其特征在于,所述第一标识信息对应的原生可信应用,具体用于基于预先配置的转换接口,调用所述第二标识信息对应的字节码可信应用;
所述第二标识信息对应的字节码可信应用,具体用于基于预先配置的第二GP接口,接收所述第一标识信息对应的原生可信应用的调用。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111275954.XA CN114036524A (zh) | 2021-10-29 | 2021-10-29 | 一种电子设备 |
PCT/CN2022/112614 WO2023071424A1 (zh) | 2021-10-29 | 2022-08-15 | 一种电子设备 |
US18/570,417 US20240281534A1 (en) | 2021-10-29 | 2022-08-15 | Electronic device |
TW111133529A TWI828306B (zh) | 2021-10-29 | 2022-09-05 | 一種電子設備 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111275954.XA CN114036524A (zh) | 2021-10-29 | 2021-10-29 | 一种电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114036524A true CN114036524A (zh) | 2022-02-11 |
Family
ID=80136068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111275954.XA Pending CN114036524A (zh) | 2021-10-29 | 2021-10-29 | 一种电子设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240281534A1 (zh) |
CN (1) | CN114036524A (zh) |
TW (1) | TWI828306B (zh) |
WO (1) | WO2023071424A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023071424A1 (zh) * | 2021-10-29 | 2023-05-04 | 中国银联股份有限公司 | 一种电子设备 |
CN116700629A (zh) * | 2023-08-01 | 2023-09-05 | 北京中电华大电子设计有限责任公司 | 数据处理方法和装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100211627A1 (en) * | 2009-02-13 | 2010-08-19 | Mobitv, Inc. | Reprogrammable client using a uniform bytecode model |
US8935746B2 (en) * | 2013-04-22 | 2015-01-13 | Oracle International Corporation | System with a trusted execution environment component executed on a secure element |
US9444627B2 (en) * | 2014-12-24 | 2016-09-13 | Intel Corporation | System and method for providing global platform compliant trusted execution environment |
CN105590051B (zh) * | 2015-11-18 | 2018-10-23 | 中国银联股份有限公司 | 用于可信执行环境的可信应用生成及安装方法 |
CN107689868B (zh) * | 2017-09-12 | 2021-09-07 | 北京握奇智能科技有限公司 | 客户端应用与可信应用的通信方法、装置以及终端 |
US11943368B2 (en) * | 2017-11-03 | 2024-03-26 | Microsoft Technology Licensing, Llc | Provisioning trusted execution environment based on chain of trust including platform |
CN112926032A (zh) * | 2021-03-26 | 2021-06-08 | 支付宝(杭州)信息技术有限公司 | 用于处理和运行字节码的方法、装置及字节码运行系统 |
CN114021141A (zh) * | 2021-10-29 | 2022-02-08 | 中国银联股份有限公司 | 一种电子设备、可信应用调用方法、装置、设备及介质 |
CN114036524A (zh) * | 2021-10-29 | 2022-02-11 | 中国银联股份有限公司 | 一种电子设备 |
-
2021
- 2021-10-29 CN CN202111275954.XA patent/CN114036524A/zh active Pending
-
2022
- 2022-08-15 WO PCT/CN2022/112614 patent/WO2023071424A1/zh active Application Filing
- 2022-08-15 US US18/570,417 patent/US20240281534A1/en active Pending
- 2022-09-05 TW TW111133529A patent/TWI828306B/zh active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023071424A1 (zh) * | 2021-10-29 | 2023-05-04 | 中国银联股份有限公司 | 一种电子设备 |
CN116700629A (zh) * | 2023-08-01 | 2023-09-05 | 北京中电华大电子设计有限责任公司 | 数据处理方法和装置 |
CN116700629B (zh) * | 2023-08-01 | 2023-09-26 | 北京中电华大电子设计有限责任公司 | 数据处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2023071424A1 (zh) | 2023-05-04 |
TWI828306B (zh) | 2024-01-01 |
US20240281534A1 (en) | 2024-08-22 |
TW202318236A (zh) | 2023-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10044572B1 (en) | Dynamic addition of network function services | |
US10614212B1 (en) | Secure software containers | |
US9191388B1 (en) | Trusted security zone communication addressing on an electronic device | |
CN102915247B (zh) | Apk插件化管理方法 | |
TWI828306B (zh) | 一種電子設備 | |
CN109542506B (zh) | 一种可灵活配置接口和快速交付服务的系统 | |
WO2014194774A1 (zh) | 创建移动应用商店的系统及方法 | |
WO2016130266A1 (en) | Dynamic subscriber identity module | |
US20170102957A1 (en) | System and Method for Trusted Operability When Moving Between Network Functions Virtualization States | |
WO2014141180A1 (en) | Host device coupled to a mobile phone and method of operating the same | |
CN111880987A (zh) | 应用程序的动态监测方法、装置、存储介质以及电子装置 | |
TWI793053B (zh) | 一種電子設備、可信應用調用方法、裝置、設備及介質 | |
CN115378735A (zh) | 一种数据处理方法、装置、存储介质及电子设备 | |
RU2359316C2 (ru) | Способ администрирования компонентов программного обеспечения, интегрированных в мобильную систему | |
CN112000382A (zh) | 一种Linux系统启动方法、装置及可读存储介质 | |
US11741175B2 (en) | Performance metrics collection and promulgation from within a mobile application | |
CN110083366B (zh) | 应用运行环境的生成方法、装置、计算设备及存储介质 | |
EP3550427B1 (en) | Method for managing multiple operating systems in integrated circuit cards, corresponding system and computer program product | |
WO2021102849A1 (zh) | 资源获取方法、装置以及电子设备 | |
CN112464222B (zh) | 安全设备、对应的系统、方法和计算机程序产品 | |
CN110333914B (zh) | 一种用于执行目标操作的方法与设备 | |
CN113326067B (zh) | 命令执行方法、系统、计算机设备和存储介质 | |
CN112748981B (zh) | 虚拟网络功能的软件镜像的处理方法和装置 | |
CN111008375B (zh) | 一种数据保护方法及装置 | |
EP4451616A1 (en) | Secure management of execution of an application |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40068103 Country of ref document: HK |