CN108985756B - Se应用处理方法、用户终端以及服务器 - Google Patents

Se应用处理方法、用户终端以及服务器 Download PDF

Info

Publication number
CN108985756B
CN108985756B CN201710413204.1A CN201710413204A CN108985756B CN 108985756 B CN108985756 B CN 108985756B CN 201710413204 A CN201710413204 A CN 201710413204A CN 108985756 B CN108985756 B CN 108985756B
Authority
CN
China
Prior art keywords
application
target
user terminal
command
command packet
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.)
Active
Application number
CN201710413204.1A
Other languages
English (en)
Other versions
CN108985756A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710413204.1A priority Critical patent/CN108985756B/zh
Priority to PCT/CN2018/087403 priority patent/WO2018223831A1/zh
Priority to EP18813925.7A priority patent/EP3627425A4/en
Publication of CN108985756A publication Critical patent/CN108985756A/zh
Priority to US16/702,690 priority patent/US10977021B2/en
Application granted granted Critical
Publication of CN108985756B publication Critical patent/CN108985756B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例公开了一种安全元件(SE)应用安装方法,应用于用户终端中,用户终端设置有可信执行环境(TEE)和安全元件,TEE设置有可信应用(TA),其特征在于,包括:当用户终端接收到用于指示TA获取SE应用命令包的安装请求后,TA获取SE应用命令包,TA对SE应用命令包进行解析以获取SE应用命令包所包括的目标信令,目标信令为用于安装目标SE应用的信令;TA将目标信令发送至SE,以使SE根据目标信令对目标SE应用进行安装。

Description

SE应用处理方法、用户终端以及服务器
技术领域
本申请涉及通信领域,尤其涉及到一种SE应用处理方法、用户终端以及服务器。
背景技术
安全元件(secure element,SE),是指内嵌有微芯片的硬件安全元件的通称,可以独立运作的小型运算、存储的通信实体,一般具有很高的安全性。SE具有非常广泛的应用领域,例如,以金融集成电路(Integrated Circuit,IC)卡、手机客户识别模块(subscriberidentification module,SIM)卡、银行U盾、交通一卡通、电子护照等形式大量应用在多个领域。其中,在SE中运行的应用程序称为SE应用(SE applet),通常,SE上可以运行一个或多个SE应用。例如,金融IC卡运行的是银行的支付应用,交通一卡通中运行的是公交支付应用等。随着智能用户终端(例如手机)的功能日益强大,SE在用户终端中的应用也日益广泛。例如,在手机的SE上安装公交支付应用、银行支付应用等SE applet,通过手机可以实现对应的公交支付应用、银行支付应用等SE应用对应的功能。
现有技术中,当向用户终端中的SE下载并安装SE应用时,主要是通过可信服务管理(trusted service manager,TSM)服务器的方式实现。一般的流程是,用户终端向应用提供者(如银行)的应用TSM服务器发送下载请求,应用TSM服务器接收到用户终端的下载请求后,要求原始设备制造商(original equipment manufacturer,OEM)TSM服务器在用户终端的SE上建立安全域,应用TSM服务器通过用户终端富执行环境(rich executionenvironment,REE)的客户应用(client application,CA),和可信执行环境(trustedexecution environment,TEE)的可信应用(trusted application,TA)的转接,建立与SE上的安全域之间的安全通道,应用TSM服务器将SE应用发送给OEM TSM服务器后,OEM TSM服务器通过该安全通道向用户终端SE上的安全域分发下载、安装等SE辅助命令等信令,和由SE应用转化来的,包含有SE应用安装数据的SE加载(load)命令等信令,SE接收到上述信令后,通过一条条解析OEM TSM服务器发送的信令,从而将SE应用下载并安装到SE上。
但是,现有技术的用户终端在下载并安装SE应用到SE的过程中,涉及到应用提供者的应用TSM服务器、OEM TSM服务器与用户终端的交互,是外部的TSM服务器经过用户终端的CA、TA向用户终端的SE分发SE命令、交互链条繁杂、导致SE应用安装到用户终端SE上的时间较长。
发明内容
本申请实施例提供了一种SE应用处理方法、可以解决SE应用安装到用户终端SE上的时间过长的问题。
为了解决上述问题,本申请实施例提供以下技术方案:
第一方面,本申请实施例提供了一种SE应用处理方法,该SE应用处理方法应用于设置有TEE和SE的用户终端中,其中,该TEE还运行有TA,在该方法中,当用户终端接收到用于指示该TA获取SE应用命令包的安装请求后,该TA获取SE应用命令包,TA对SE应用命令包进行解析以获取SE应用命令包所包括的用于安装目标SE应用的目标信令,当TA获取到该目标信令后,将目标信令发送至SE,以使SE根据目标信令对目标SE应用进行安装。
由此可见,在本申请实施例中,TA通过解析SE应用命令包,可以获得到安装SE应用所需要的目标信令,从而完成SE应用的安装。与现有技术相比,本申请实施例提出的SE应用安装方法中不需经过外部的TSM服务器经过CA的转接向用户终端上发送下载、安装所需要的信令,交互链条短、可以有效地降低SE应用安装到用户终端上的时间。
在一些可能的实现中,目标信令包括安装所述目标SE应用所需要的SE辅助命令和至少两条SE加载(load)命令,其中,至少两条SE load命令由至少两个子文件生成,至少两个子文件由目标SE应用的可执行文件拆分得到,每条SE load命令至少包括一个子文件。由此可见,本申请实施例中的SE应用命令包包含了用户终端安装目标SE应用所需要的SE命令,而不是通过外部服务器来发送上述SE命令,即不需要在对SE应用进行安装的过程中,实时维持外部服务器来发送上述SE命令,缩短了本申请实施例中SE应用安装到用户终端SE上的交互链条,减少了成本。另外,由于SE应用命令包包含了用户终端安装目标SE应用所需要的SE命令,和目标SE应用的安装数据,此时用户终端不需要再进行联网即可完成目标SE应用的安装,减少了网络不稳定情况下带来的干扰。
在一种可能的实现中,上述目标SE应用的可执行文件为该目标SE应用的转换程序(converted applet,CAP)文件。应理解,目标SE应用的CAP文件该目标SE应用的源代码编译为类文件,再由该类文件转化得到,具体过程此处不一一赘述。由此可见,在本实现中,具体提出了一种目标SE应用的可执行文件的具体文件类型,提高了方案的可实施性,也扩展了方案的多样性。
在一种可能的实现中,该用户终端下载有目标应用程序安装包,目标应用程序安装包包含有SE应用命令包,在本申请实施例中,TA获取目标SE应用对应的SE应用命令包,具体是通过TA从目标应用程序安装包中提取出该SE应用命令包。在本实现中,提出了一种在用户终端接收到用于安装目标SE应用的安装请求后,获取SE应用命令包的具体实现方式,提高了方案的可实施性。另外,通过将SE应用命令包与目标应用程序安装包捆绑在一起,有效地提高了目标SE应用的推广效率。
在一种可能的实现中,在用户终端通过所述目标应用程序安装包安装完所述目标应用程序后,在用户使用所述目标应用程序时,用户终端通过该目标应用程序提供与用户进行交互的交互界面,用户终端可以接收用户通过该交互界面的预设操作而产生的用于安装上述目标SE应用的安装请求。在本实现中,提出了一种具体的接收安装请求的实现方式,提高了方案的可实施性。
在一种可能的实现中,TA获取目标SE应用对应的SE应用命令包,还可以是用户终端向用于提供该目标SE应用的应用服务器发送获取请求。在该应用服务器接收到该用户终端发送的获取请求后,向用户终端反馈该上述SE应用命令包,从而使得TA可以获取到上述SE应用命令包。即在本实现中,提出了另一种在用户终端接收到用于安装目标SE应用的安装请求后,获取上述SE应用命令包的具体实现方式,提高了方案的多样性。
在一种可能的实现中,TA将目标信令发送至SE,包括:TA先是TA建立与SE之间的安全通道,之后TA再通过安全通道,将目标信令发送至SE。在本实现中,在TA将解析得到的目标信令发送到用户终端的SE之前,需要先建立TA到SE之间的安全通道,TA通过该安全通道向用户终端的SE发送目标信令可以有效地提高了整个安装过程的安全性。
第二方面,本申请实施例提供了一种SE应用安装方法,该SE应用安装方法应用于设置有TEE和SE的用户终端中,其中,该TEE运行有TA,在该方法中,SE能接收TA发送的包含有安装目标SE应用的目标信令,其中,目标信令为TA对SE应用命令包进行解析而获取的信令,SE通过SE发送的目标信令完成对目标SE应用的安装。
在一种可能的实现中,目标信令包括安装上述目标SE应用所需要的SE辅助命令、至少两条SE load命令,其中,至少两条SE load命令由至少两个子文件生成,至少两个子文件由目标SE应用的可执行文件拆分得到,每条SE load命令至少包括一个子文件。示例性的,目标SE应用的可执行文件具体可以是指目标SE应用的源代码转化而来的CAP文件。在一种可能的实现中,目标SE应用的可执行文件为CAP文件。
在一种可能的实现中,SE接收TA发送的目标信令时可以通过TA与SE之间建立的安全通道进行接收。
第三方面,本申请实施例还提供了一种SE应用处理方法,在该SE应用处理方法,服务器获取目标SE应用的可执行文件;服务器将目标SE应用的可执行文件拆分成至少两个子文件;服务器根据至少两个子文件生成至少两条SE加载load命令,其中,每条SE load命令包含至少一个子文件;服务器生成包括有目标信令的SE应用命令包,其中,该目标信令包含有上述至少两条SE load命令以及SE辅助命令。在一种可能的实现中,示例性的,上述SE应用的可执行文件具体可以为SE应用的源代码转化而来的CAP文件。由此可见,在本申请实施例第三方面,提供了一种获得目标SE应用对应的SE应用命令包的方式。
在一种可能的实现中,服务器根据SE load命令得到SE应用命令包之后,服务器将生成的SE应用命令包添加至供用户终端下载的目标应用程序安装包中。其中,该目标应用程序安装包可以是提供用户终端下载的应用程序平台所提供的应用程序对应的安装包,由此可见,在本实现中,具体提出了一种推广上述目标SE应用的实现方式,通过将生成的目标SE应用对应的SE应用命令包捆绑在应用程序安装包,使得用户终端在下载目标应用程序安装包的同时,也下载了上述目标SE应用对应的SE应用命令,方便推广上述目标SE应用。
在一种可能的实现中,服务器将SE应用命令包添加至供用户终端下载的目标应用程序安装包中之前,服务器使用加密技术对SE应用命令包进行加密后,再将经过加密后的SE应用命令包添加至供用户终端下载的应用程序安装包中。即在本实现中,将目标SE应用对应的SE应用命令包添加至供用户终端下载的应用程序安装包之前,需要对SE应用命令包进行加密,提高SE应用命令包的安全性。其中,在一些可能的实现中,可以有使用多种加密方式,具体不限定,示例性的,可以使用签名加密技术对SE应用命令包进行加密。
第四方面,本申请实施例对应提供了一种TA,该TA应用于用户终端中,用户终端设置有TEE和SE,TEE设置有该TA,该TA包括:获取模块,用于当用户终端接收到用于指示TA获取SE应用命令包的安装请求后,获取SE应用命令包,解析模块,用于对获取模块获取的SE应用命令包进行解析以获取SE应用命令包所包括的目标信令,目标信令为用于安装目标SE应用的信令;发送模块,用于将解析模块解析得到的目标信令发送至SE,以使SE根据目标信令对目标SE应用进行安装。
在本申请的第四方面中,TA组成模块还可以执行前述第一方面以及第一方面中各种可能的实现方式中所描述的步骤,详见前述对第一方面以及第一方面中各种可能的实现方式中的说明,具体此处不再做赘述。
第五方面,本申请实施例提供了一种SE,应用于用户终端中,其中,用户终端设置有TEE和上述SE,TEE设置有TA,该SE包括:用于接收TA发送的用于安装目标SE应用的目标信令的接收模块;还包括用于根据该接收模块接收的目标信令对目标SE应用进行安装的安装模块。
在本申请的第五方面中,TA组成模块还可以执行前述第二方面以及第二方面中各种可能的实现方式中所描述的步骤,详见前述对第二方面以及第二方面中各种可能的实现方式中的说明,具体此处不再做赘述。
第六方面,本申请实施例还提供了一种用户终端,该用户终端设置有可TEE,其中,TEE中设置有可执行前述第一方面以及第一方面中各种可能的实现方式中所描述步骤的TA。
第七方面,本申请实施例还提供了一种用户终端,该用户终端设置有可执行前述第二方面以及第二方面中各种可能的实现方式中所描述步骤的SE。
第八方面,本申请实施例还提供了另一种用户终端,该用户终端具有实现上述方法中用户终端的行为的功能,上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。在一种可能的实现中,用户终端的结构中包括存储器、处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述第一方面/第一方面中各实现,或第二方面/第二方面各实现中所述的方法。
第九方面,本申请实施例还提供一种服务器,获取模块,用于获取目标SE应用的可执行文件;处理模块,用于将获取模块获取的目标SE应用的可执行文件拆分成至少两个子文件;根据至少两个子文件生成至少两条SE加载load命令,其中,每条SE load命令包含至少一个子文件;生成SE应用命令包,SE应用命令包包括目标信令,目标信令包括SE辅助命令和至少两条SE load命令。
在本申请的第九方面中,服务器的组成模块还可以执行前述第三方面以及第三方面中各种可能的实现方式中所描述的步骤,详见前述对第三方面以及第三方面中各种可能的实现方式中的说明,具体此处不再做赘述。
第十方面,本申请实施例还提供了另一种服务器,该服务器具有实现上述方法中服务器的行为的功能,上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。在一种可能的设计中,服务器的结构中包括存储器、处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述第三方面/第三方面中各实现中所述的方法。
第十一方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面/第一方面各实现,或第二方面/第二方面各实现中描述的方法。
第十二方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第三方面/第三方面各实现所述的方法。
从以上技术方案可以看出,与现有技术相比,本申请实施例提出的SE应用安装方法中不需经过外部的TSM服务器经过CA的转接向用户终端上发送安装所需要的信令,交互链条短、可以有效地降低SE应用安装到用户终端上的时间。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例一种SE应用处理方法一个系统框架示意图;
图2为本申请实施例一种SE应用处理方法一个实施例流程示意图;
图3为本申请实施例一种SE应用命令包一个实施例结构示意图;
图4为本申请实施例一种SE应用处理方法另一实施例流程示意图;
图5为本申请实施例一种服务器一个实施例结构示意图;
图6为本申请实施例一种服务器另一实施例结构示意图;
图7为本申请实施例一种TA一个实施例结构示意图;
图8为本申请实施例一种SE一个实施例结构示意图;
图9为本申请实施例一种用户终端一个实施例结构示意图。
具体实施方式
本申请实施例提供了一种SE应用处理方法、用户终端以及服务器,可以有效地解决SE应用安装到用户终端SE上的时间过长的问题。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,描述本申请实施例中的技术方案。显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
以下对本申请实施例进行说明。
首先,先对本申请实施例所提供的SE应用处理方法所应用的系统框架进行说明,请参阅图1所示,图1为本申请实施例一种SE应用处理方法一个系统框架示意图,包括服务器和用户终端,其中,用户终端可以包括,但不局限于手机、平板电脑等终端设备,具体这里不做限定。本申请实施例所提供的SE应用处理方法主要包括两个方面的内容:其一,服务器的核心在于获取了目标SE应用的可执行文件后,根据目标SE应用的可执行文件生成对应的包含有安装目标SE应用所需的信令的SE应用命令包。其二,用户终端侧的核心在于TA的改进,TA可以获取SE应用命令包,并且,TA能够解析上述SE应用命令包以获得安装目标SE应用所需要的信令,从而SE利用TA解析上述SE应用命令包所获得的信令对目标SE应用进行安装。下面针对上述两个方面对本申请实施例进行详细的描述。
其一,服务器生成SE应用命令包的过程。
请参阅图2,图2为本申请实施例一种SE应用处理方法一个实施例流程示意图,包括:
101、服务器获取目标SE应用的可执行文件。
其中,目标SE应用的可执行文件是指,该目标应用的源代码转化而来,包含有目标SE应用的安装数据的可执行文件。示例性的,在本申请实施例中,上述可执行文件可以为上述目标SE应用对应的CAP文件。CAP文件为符合全球平台国际标准组织(Global Platform,GP)标准和JAVA CARD SE标准的JAVA源代码转化而来。
具体的,在本申请的一些实施例,服务器获取目标SE应用的可执行文件包括:服务器获取目标SE应用的源代码,将该源代码转化为类文件,再将该类文件转化为CAP文件。
需要说明的是,目标SE应用的可执行文件除了是指CAP文件外,还可以是指其他的可执行文件,具体此处不做限定,为了便于叙述,下述所描述的可执行文件均指SE应用的CAP文件。
102、服务器将目标SE应用的可执行文件拆分成至少两个子文件。
在本申请实施例中,在服务器获取到了目标SE应用的可执行文件后,将该可执行文件拆分成至少2个子文件,每个子文件中包含部分目标SE应用的可执行文件的安装数据。其中,具体拆分为多少个子文件,可以根据实际应用情况进行配置,例如根据目标SE应用的可执行文件的大小进行确定,这里不做限定。
103、服务器根据上述至少2个子文件生成至少两条SE load命令。
在将目标SE应用的可执行文件拆分成至少2个子文件后,服务器根据拆分得到的至少2个子文件生成至少2条SE load命令,每条SE load命令包含至少一个上述子文件。其中,根据上述至少两个子文件生成至少2条SE load命令可以有多种情况,具体也可以根据实际应用情况进行配置,这里也不做限定。
这里需要说明的是,在本申请实施例上述每条SE load命令中,除了包含子文件外,还可以包含指示信息。用于用户终端在接收到上述至少两条SE load命令后,解析上述至少两条SE load命令对应得到的至少两个子文件后,可以利用所述至少两个子文件所包含的指示信息将上述至少两个子文件还原为CAP文件。
例如,假设目标SE应用的CAP文件被拆分成5个子文件,服务器可以生成5条SEload命令,在上述5条SE load命令中,每条SE load命令包含一个子文件。在上述每条SEload命令中,除了包含子文件外,还可以包含指示信息,该指示信息用于指示用户终端在接收到上述5条SE load命令后,在解析上述5条SE load命令对应得到5个子文件后,将5个子文件还原为CAP文件。
104、服务器生成包括有目标信令的SE应用命令包,目标信令包括SE辅助命令和上述至少两条SE load命令。
在服务器根据目标SE应用的可执行文件得到至少两条SE load命令后,服务器可以生成包含有目标信令的SE应用命令包。该目标信令为用于安装上述目标SE应用的信令,其中,该目标信令包含有上述至少两条SE load命令和SE辅助命令。
SE辅助命令为使得用户终端安装目标SE应用时所需的一些SE命令,在本申请的一些实施例中,SE辅助命令可以包括,但不限于以下SE命令:
i.复位;ii.选择;iii.为下载而安装;iv.下载;v.为安装而安装;vi.为个人化而安装;vii.放置密钥;viii.放置数据;ix.获取数据;x.设置状态;xi.获取状态;xii.删除。
需要说明的是,在本申请的一些实施例中,上述SE辅助命令除了包含上述为了实现一些固定动作(例如删除动作)的SE命令外,还可以是指为了实现某种固定功能的SE命令集所构成的SE命令。其中,上述SE命令集可以包括,但不限于实现以下功能:
i.例如包含有用于确定安装目标SE应用的SE是否符合该目标SE应用安装需要的条件的功能所对应的SE命令。示例性,查看SE中待创建的辅助安全域(supplementarysecurity domains,SSD)是否存在,若存在,则先删除附属在该SSD上的包,再删除该SSD;查看上述包是否存在,若存在,则先删除该包对应的实例JAVA,再删除该包。
ii.包含用于打开安全通道功能所需的SE命令,包括且不限于安全通道协议(secure channel protocol,SCP)02、03、11。
如图3所示,图3为本申请实施例一种SE应用命令包一个实施例结构示意图,SE应用命令包里包含有SE命令1、SE命令2、SE命令3、SE命令集1以及SE命令集2等SE辅助命令和SE load命令所构成的命令流。
至此,服务器获得了SE应用对应的SE应用命令包,而在本申请的一些实施例中,在服务器获得了SE应用命令包之后,还包括以下步骤:
105、服务器将SE应用命令包添加至供用户终端下载的目标应用程序安装包中。
即服务器在获得了目标SE应用对应的SE应用命令包后,将SE应用命令包放入供用户终端下载的目标应用程序安装包中,示例性的,以安卓系统为例,可以将获得的SE应用命令包放入安卓安装包(android package,APK)中。其中,需要说明的是,在本申请实施例中,服务器可以将得到的SE应用命令包放入供用户终端下载的任意一个应用程序安装包中,比如,服务器可以将该SE应用命令包放入华为应用市场所提供的任意一个应用对应的安装包中,这里不做限定。
在本申请的一些实施例中,服务器将SE应用命令包添加至供用户终端下载的目标应用程序安装包中之前,还包括以下步骤:
服务器使用加密技术对SE应用命令包进行加密,将经过加密后的SE应用命令包添加至供用户终端下载的目标应用程序安装包中。示例性,可以使用签名加密技术对SE应用命令包进行加密。这样,可以有效地提高SE应用命令包的安全性。
以一个实际的应用场景为例,假设现在A银行推出了一款新的SE支付应用A,那么服务器可以获得该SE支付应用A的可执行文件,并通过上述步骤所描述的方式将该SE支付应用A的可执行文件转化成对应的A应用命令包,将该A应用命令放入A银行相关应用程序(APP)的安装包中,并在一些APP下载平台提供上述相关APP的下载。由此可见,通过上述方式,SE支付应用A可以随着A银行的相关APP一起发布,使得用户终端在APP下载平台下载到上述相关APP时,也对应地下载上述SE应用,从而有效地提高了SE应用的推广效率。
其二,用户终端根据SE应用命令包对目标SE应用进行安装的过程。
请参阅图4,图4为本申请实施例一种SE应用处理方法另一实施例流程示意图,该方法应用于用户终端中,该用户终端设置有TEE和SE,TEE设置有TA,用户终端下载有前述实施例所描述的包含有SE应用命令包的目标应用程序安装包,该方法包括:
201、当所述用户终端接收到用于指示所述TA获取SE应用命令包的安装请求后,TA从所述目标应用程序安装包中提取出所述SE应用命令包。
在本申请的一些实施例,在用户终端通过所述目标应用程序安装包安装完所述目标应用程序后,在用户使用所述目标应用程序时,用户终端通过该目标应用程序提供的与用户进行交互的交互界面,用户终端可以接收用户通过该交互界面的预设操作而产生的用于安装上述目标SE应用的安装请求。
需要说明的是,在本申请的一些实施例中,TA除了从目标应用程序安装包中提取获得上述SE应用命令包外,当用户终端接收到用于指示TA获取SE应用命令包的安装请求后,还可以有其他的TA获取上述SE应用命令包的方式,这里不做限定。
例如,当用户终端接收到用于指示所述TA获取SE应用命令包的安装请求后,TA可以提供目标SE应用的应用服务器发送获取请求,在该应用服务器接收到获取请求后,向用户终端反馈上述SE应用命令包,从而TA可以获取到上述SE应用命令包。
202、TA对SE应用命令包进行解析以获取SE应用命令包所包含的目标信令,该目标信令为用于安装目标SE应用的信令。
其中,需要说明的是,若TA获取到的SE应用命令包为经过加密技术的SE应用命令包,则在本申请实施例中,TA还可以对经过加密后的SE应用命令包进行解密,从而获得SE应用命令包所包含的目标信令。
另外,目标信令包含SE辅助命令,和至少两条SE load命令。在这里,关于目标信令的详细内容,可参阅前述描述中,关于服务器生成该SE应用命令包中的相关描述,具体此处不再一一赘述。
203、TA建立与SE之间的安全通道。
TA建立用于向SE分发目标信令的安全通道。需要说明的是,步骤203和步骤202之间并无执行先后顺序,这里不做限定。
204、TA通过安全通道,将目标信令发送至SE。
在本申请实施例中,TA可以通过建立的与SE之间的安全通道向SE分发目标信令。
205、SE根据TA发送的目标信令对目标SE应用进行安装。
在SE接收到TA发送的目标信令后,根据TA发送的目标信令完成目标SE应用的安装过程。
为了便于理解,下面针对上述实施例,以一个实际的应用场景对本申请实施例进行描述。以A银行为例,假设A银行现在需要推出一款新的SE支付应用A,那么经过程序员编写出符合要求的SE支付应用A的源代码,利用该SE支付应用A的源代码转化成为CAP文件,生成对应的SE应用命令包,其中,这里假设SE支付应用A的CAP文件被拆分为5条SE load命令(CMD_LOAD),生成的SE应用命令包如下所示:
CMD_SELECT;
CMDS_DELETE_EXISTING_PKG(SE命令集1);
CMDS_OPEN_SC(SE命令集2);
CMD_INSTALL_FOR_LOAD(为下载而安装);
CMD_LOAD_1;
CMD_LOAD_2;
CMD_LOAD_3;
CMD_LOAD_4;
CMD_LOAD_5;
CMD_INSTALL_FOR_INSTALL(为安装而安装)。
将该SE应用命令包加密签名后合入A银行官方APP安装包,随着A银行官方APP在华为应用市场进行发布。
用户终端通过华为应用市场下载到A银行官方APP安装包。用户在使用用户终端根据A银行官方APP安装包安装A银行官方APP。在用户终端完成该A银行官方APP的安装过程中,会提示用户是否选择安装SE支付应用A,若用户选择安装,则SE应用命令包在TEE中被加载,用户终端通过TA读取该SE应用命令包密文,解密。解密后,TA对SE命令包解析,向SE发送相应SE命令,具体见如下步骤:
发送APDU_SELECT,选择SSD;
解析命令集CMDS_DELETE_EXISTING_PKG;
首先发送APDU_SELECT,选择package AID(Applet ID);
如果SE返回无此package,则结束;
如果SE返回选择成功,则发送APDU_DELETE,删除此package。然后结束;
解析命令集CMDS_OPEN_SC,打开安全通道:
发送APDU_INITIAL_UPDATE;
发送APDU_EXTERNAL_AUTH;
发送APDU_INSTALL_FOR_LOAD,提示SE为下载做准备;
依次发送各条APDU_LOAD,当SE接收到最后一条SE load命令时,SE会在其内部组装还原出SE支付应用A的CAP文件;
发送APDU_INSTALL_FOR_INSTALL,SE接收到命令后,根据SE支付应用A的CAP文件开始安装该SE支付应用。
综上所述,在本申请实施例中,TA通过解析SE应用命令包,可以接收到目标SE应用所需要的目标信令,从而完成SE应用的安装。与现有技术相比,本申请实施例提出的SE应用安装方法中不需经过外部的TSM服务器经过CA、TA的转接向用户终端上发送下载、安装所需要的信令,交互链条短、可以有效地降低SE应用下载并安装到用户终端上的时间。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于示例性实施例,所涉及的动作和模块并不一定是本申请所必须的。
为便于更好的实施本申请上述实施例中所描述的方案,下面还提供用于实施上述方案的相关装置。
请参阅图5所示,本申请实施例提供的一种服务器一个实施例结构示意图,该服务器包括:获取模块101和处理模块102。
其中,获取模块101,用于获取目标SE应用的可执行文件;
处理模块102,用于将所述获取模块101获取的所述SE应用的可执行文件拆分成至少两个子文件;根据所述至少两个子文件生成至少两条SE加载load命令,其中,每条SEload命令包含至少一个所述子文件;生成SE应用命令包,所述SE应用命令包包括目标信令,所述目标信令包括SE辅助命令和所述至少两条SE load命令。
在本申请的一些实施例中,所述处理模块102还用于:在根据所述SE load命令得到SE应用命令包之后,将所述SE应用命令包添加至供用户终端下载的目标应用程序安装包中。
在本申请的一些实施例中,所述处理模块还用于:将所述SE应用命令包添加至供用户终端下载的目标应用程序安装包中之前,使用加密技术对所述SE应用命令包进行加密;
所述处理模块102用于将所述SE应用命令包添加至供用户终端下载的目标应用程序安装包中,包括:
所述处理模块102用于,将经过所述加密后的所述SE应用命令包添加至供用户终端下载的目标应用程序安装包中。
请参阅图6,图6为本申请实施例一种服务器一个结构示意图,该服务器200主要包括处理器201(其中,服务器200中的处理器202的数量可以一个或多个,图6中以一个处理器为例)、存储器202、通信端口203等硬件结构,还包括电源、存储在存储器202上并可被处理器201执行的计算机程序以及安装在硬件上的操作系统等部分,具体在图6中未一一列举出来,但并不对本申请实施例中的服务器构成限定。在本申请的一些实施例中,处理器201、存储器202以及通信端口203可通过总线或其它方式进行连接,具体此处不做限定。其中,图6中以通过总线连接为例进行示例说明。
存储器202,可以包括只读存储器(read-only memory,ROM)和随机存取存储器(random access memory,RAM),还可以其他存储器或者是存储介质,并向处理器201提供指令和数据。存储器202的一部分还可以包括非易失性随机存取存储器(non-volatilerandom access memory,NVRAM)。存储器302存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,各种操作指令用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。存储器202还存储有本申请实施例所涉及的数据、信令等。
处理器201用于控制服务器200的操作,处理器201还可以称为中央处理单元(central processing unit,CPU),具体的应用中,服务器300的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等,但是为了清楚说明起见,在图3中将各种总线都称为总线系统。
本申请实施例揭示的服务器侧的方法可以应用于处理器201中,或者由处理器201实现。处理器201可以是一种集成电路芯片,具有信号的处理能力。在本申请实施例实现过程中,本申请实施例中服务器侧所执行的各步骤可以通过处理器201执行存储在存储器202上的计算机程序来实现。上述的处理器201可以是通用处理器、数字信号处理器(digitalsignal processing,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器202,处理器201读取存储器202中的信息,结合其硬件完成本申请实施例SE应用处理方法中服务器的步骤。
通信端口203可用于接收或者发送信息/数据,例如用于向用户终端反馈SE应用命令包等,以及产生与服务器的相关设置以及控制有关的信号,从而进行服务器的初始化等处理。
请参阅图7所示,本申请实施例提供的一种TA一个实施例结构示意图,该TA应用于用户终端中,所述用户终端设置有TEE和SE,所述TEE设置有所述TA,该TA包括:获取模块301、解析模块302以及发送模块303。
其中,获取模块301,用于当所述用户终端接收到用于指示所述TA获取SE应用命令包的安装请求后,获取所述SE应用命令包,
解析模块302,用于对所述获取模块301获取的所述SE应用命令包进行解析以获取所述SE应用命令包所包括的目标信令,所述目标信令为用于安装目标SE应用的信令;
发送模块303,用于将所述解析模块302解析得到的所述目标信令发送至所述SE,以使所述SE根据所述目标信令对所述目标SE应用进行安装。
在本申请的一些实施例中,所述目标信令包括SE辅助命令和至少两条SE加载load命令,其中,所述至少两条SE load命令由至少两个子文件生成,所述至少两个子文件由所述目标SE应用的可执行文件拆分得到,每条SE load命令至少包括一个所述子文件。
在本申请的一些实施例中,所述用户终端下载有目标应用程序安装包,所述目标应用程序安装包包含所述SE应用命令包,所述获取模块301用于获取所述目标SE应用对应的SE应用命令包,包括:
所述获取模块301,用于从所述目标应用程序安装包中提取出所述SE应用命令包。
在本申请的一些实施例中,所述TA还包括建立模块304;
所述建立模块304,用于建立与所述SE之间的安全通道;
所述发送模块303用于将所述解析模块302解析得到的所述目标信令发送至所述SE,包括:
所述发送模块303,用于通过所述建立模块304建立的所述安全通道,将所述解析模块302解析的所述目标信令发送至所述SE。
需要说明的是,上述TA各模块/单元之间的信息交互、执行过程等内容,由于与本申请实施例中的方法实施例中TA的功能基于同一构思,具体的更多细节可以参阅方法实施例TA所执行的部分,具体内容可参见本申请前述所示的方法实施例中的TA的叙述,此处不再赘述。
在本申请实施例中,还提供了一种计算机设备,包括存储器、处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述TA侧部分或全部步骤。
请参阅图8所示,本申请实施例提供的一种SE一个实施例结构示意图,该SE应用于用户终端中,所述用户终端设置有TEE和SE,所述TEE设置有所述TA,该SE包括:接收模块401、安装模块402。
接收模块401,用于接收所述TA发送的目标信令,所述目标信令为用于安装所述目标SE应用的信令,所述目标信令为所述TA对SE应用命令包进行解析而获取的信令;
安装模块402,用于根据所述接收模块401接收的所述目标信令对所述目标SE应用进行安装。
在本申请的一些实施例中,所述目标信令包括SE辅助命令和至少两条SE加载load命令,其中,所述至少两条SE load命令由至少两个子文件生成,所述至少两个子文件由所述目标SE应用的可执行文件拆分得到,每条SE load命令至少包括一个所述子文件。
在本申请的一些实施例中,所述接收模块401用于接收所述TA发送的目标信令,包括:
所述接收模块401,用于通过安全通道接收所述TA发送的目标信令,所述安全通道为所述TA与所述SE之间的安全通道。
需要说明的是,上述SE各模块/单元之间的信息交互、执行过程等内容,由于与本申请实施例中的方法实施例中SE的功能基于同一构思,具体的更多细节可以参阅方法实施例SE所执行的部分,具体内容可参见本申请前述所示的方法实施例中的SE的叙述,此处不再赘述。
在本申请实施例中,还提供了一种计算机设备,包括存储器、处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述SE侧部分或全部步骤。
在本申请实施例中,还提供了一种用户终端,用户终端设置有TEE,所述TEE设置有如前述实施例所描述的TA和/或该用户终端设置有前述实施例所描述的SE。
请参阅图9,本申请实施例还提供了另一种用户终端,该用户终端500主要包括处理器501(其中,用户终端500中的处理器502的数量可以一个或多个,图9中以一个处理器为例)、存储器502、通信端口503,还包括存储在存储器502上的TA504。
这里需要说明的是,本申请实施例还包括TEE,其中,该TEE可以以上述处理501作为主处理器,并协同上述存储器502以及其他硬件所构建,也可以由独立于上述处理器501,由单独协处理器以及其他硬件(例如存储器)所构建的环境,在该TEE中的存储器中存储有上述TA504,从而实现本申请中,TA所实现的功能,具体不再赘述。
还包括前述实施例所描述的SE505,电源、存储在存储器202上并可被处理器201执行的计算机程序(包括TA504)以及安装在硬件上的操作系统等部分,具体在图9中未一一列举出来,但并不对本申请实施例中的用户终端构成限定。在本申请的一些实施例中,处理器501、存储器502以及通信端口503、SE504等可通过总线或其它方式进行连接,具体此处不做限定。其中,图9中以通过总线连接为例进行示例说明。
存储器502,可以包括ROM和RAM,还可以其他存储器或者是存储介质,并向处理器501提供指令和数据。存储器502的一部分还可以包括NVRAM。存储器502存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,各种操作指令用于实现各种操作。操作系统可包括各种系统程序,在本申请实施例中,存储器包括TA504,用于实现各种基础业务以及处理基于硬件的任务,具体关于TA504的功能,可以参阅前述方法实施例中关于TA的描述,存储器502还存储有本申请实施例所涉及的数据、信令等。
处理器501用于控制用户终端500的操作,处理器501还可以称为CPU。具体的应用中,用户终端500的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等,但是为了清楚说明起见,在图9中将各种总线都称为总线系统。
本申请实施例揭示的用户终端侧的方法可以应用于处理器501中,或者由处理器501实现。处理器501可以是一种集成电路芯片,具有信号的处理能力。在本申请实施例实现过程中,本申请实施例中服务器侧所执行的各步骤可以通过处理器201执行存储在存储器202上的计算机程序(包括TA504)来实现。上述的处理器501可以是通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器502,处理器501读取存储器502中的信息,从而完成本申请实施例的SE应用处理方法中用户终端侧的步骤。
通信端口503可用于接收或者发送信息/数据,例如用于应用服务器反馈的SE应用命令包等,以及产生与用户终端的相关设置以及控制有关的信号,从而进行用户终端的初始化等处理。
同样需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本申请实施例中的方法实施例基于同一构思,具体的更多细节可以参阅方法实施例部分,其带来的技术效果也与本申请方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储有计算机程序,该计算机程序被计算机执行时能实现上述方法实施例中服务器侧记载的部分或全部步骤;还提供了另一种计算机存储介质,其中,该计算机存储介质存储有计算机程序,该计算机程序被计算机执行时能实现上述方法实施例中用户终端中,TA或SE侧记载的部分或全部步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质,例如固态硬盘(solid state disk,SSD)等。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,模块和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (29)

1.一种安全元件SE应用处理方法,应用于用户终端中,所述用户终端设置有可信执行环境TEE和安全元件SE,所述TEE设置有可信应用TA,所述用户终端下载有目标应用程序安装包,所述目标应用程序安装包包含SE应用命令包,其特征在于,包括:
当所述用户终端接收到安装请求后,所述TA从目标应用程序安装包中提取出SE应用命令包,所述安装请求指示所述TA提取SE应用命令包;
所述TA对所述SE应用命令包进行解析以获取所述SE应用命令包所包括的目标信令,所述目标信令指示所述SE安装目标SE应用;
所述TA通过安全通道将所述目标信令发送至所述SE,以使所述SE根据所述目标信令对所述目标SE应用进行安装。
2.根据权利要求1所述的方法,其特征在于,所述目标信令包括SE辅助命令和至少两条SE加载load命令,其中,所述至少两条SE load命令由至少两个子文件生成,所述至少两个子文件由所述目标SE应用的可执行文件拆分得到,每条SE load命令至少包括一个所述子文件。
3.根据权利要求2所述的方法,其特征在于,所述目标SE应用的可执行文件为转换程序CAP文件。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述TA通过安全通道将所述目标信令发送至所述SE,包括:
所述TA建立与所述SE之间的安全通道;
所述TA通过所述安全通道,将所述目标信令发送至所述SE。
5.一种安全元件SE应用处理方法,应用于用户终端中,所述用户终端设置有可信执行环境TEE和安全元件SE,所述TEE设置有可信应用TA,其特征在于,包括:
所述SE接收所述TA发送的目标信令,所述目标信令指示所述SE安装目标SE应用,所述目标信令为所述TA对SE应用命令包进行解析而获取的信令;
所述SE根据所述目标信令对所述目标SE应用进行安装。
6.根据权利要求5所述的方法,其特征在于,所述目标信令包括SE辅助命令和至少两条SE加载load命令,其中,所述至少两条SE load命令由至少两个子文件生成,所述至少两个子文件由所述目标SE应用的可执行文件拆分得到,每条SE load命令至少包括一个所述子文件。
7.根据权利要求6所述的方法,其特征在于,所述目标SE应用的可执行文件为转换程序CAP文件。
8.根据权利要求5-7任一项所述的方法,其特征在于,所述SE接收所述TA发送的目标信令,包括:
所述SE通过安全通道接收所述TA发送的目标信令,所述安全通道为所述TA与所述SE之间的安全通道。
9.一种安全元件SE应用处理方法,其特征在于,包括:
服务器获取目标SE应用的可执行文件;
所述服务器将所述目标SE应用的可执行文件拆分成至少两个子文件;
所述服务器根据所述至少两个子文件生成至少两条SE加载load命令,其中,每条SEload命令包含至少一个所述子文件;
所述服务器生成SE应用命令包,所述SE应用命令包包括目标信令,所述目标信令包括SE辅助命令和所述至少两条SE load命令。
10.根据权利要求9所述的方法,其特征在于,所述目标SE应用的可执行文件为转换程序CAP文件。
11.根据权利要求9或10所述的方法,其特征在于,所述根据所述SE load命令得到SE应用命令包之后,所述方法还包括:
所述服务器将所述SE应用命令包添加至供用户终端下载的目标应用程序安装包中。
12.根据权利要求11所述的方法,其特征在于,所述服务器将所述SE应用命令包添加至供用户终端下载的目标应用程序安装包中之前,所述方法还包括:
所述服务器使用加密技术对所述SE应用命令包进行加密;
所述服务器将所述SE应用命令包添加至供用户终端下载的目标应用程序安装包中,包括:
所述服务器将经过所述加密后的所述SE应用命令包添加至供用户终端下载的目标应用程序安装包中。
13.一种可信应用TA,应用于用户终端中,所述用户终端设置有可信执行环境TEE和安全元件SE,所述TEE设置有所述TA,其特征在于,包括:
提取模块,用于当所述用户终端接收到安装请求后,从目标应用程序安装包中提取出SE应用命令包,所述安装请求指示所述TA提取SE应用命令包;
解析模块,用于对所述SE应用命令包进行解析以获取所述SE应用命令包所包括的目标信令,所述目标信令指示所述SE安装目标SE应用;
发送模块,用于通过安全通道将所述解析模块解析得到的所述目标信令发送至所述SE,以使所述SE根据所述目标信令对所述目标SE应用进行安装。
14.根据权利要求13所述的TA,其特征在于,所述目标信令包括SE辅助命令和至少两条SE加载load命令,其中,所述至少两条SE load命令由至少两个子文件生成,所述至少两个子文件由所述目标SE应用的可执行文件拆分得到,每条SE load命令至少包括一个所述子文件。
15.根据权利要求13或14所述的TA,其特征在于,所述TA还包括建立模块;
所述建立模块,用于建立与所述SE之间的安全通道;
所述发送模块用于将所述解析模块解析得到的所述目标信令发送至所述SE,包括:
所述发送模块,用于通过所述建立模块建立的所述安全通道,将所述解析模块解析的所述目标信令发送至所述SE。
16.一种安全元件SE,应用于用户终端中,所述用户终端设置有可信执行环境TEE和所述SE,所述TEE设置有可信应用TA,其特征在于,包括:
接收模块,用于接收所述TA发送的目标信令,所述目标信令指示所述SE安装目标SE应用,所述目标信令为所述TA对SE应用命令包进行解析而获取的信令;
安装模块,用于根据所述接收模块接收的所述目标信令对所述目标SE应用进行安装。
17.根据权利要求16所述的SE,其特征在于,所述目标信令包括SE辅助命令和至少两条SE加载load命令,其中,所述至少两条SE load命令由至少两个子文件生成,所述至少两个子文件由所述目标SE应用的可执行文件拆分得到,每条SE load命令至少包括一个所述子文件。
18.根据权利要求16或17所述的SE,其特征在于,所述接收模块用于接收所述TA发送的目标信令,包括:
所述接收模块,用于通过安全通道接收所述TA发送的目标信令,所述安全通道为所述TA与所述SE之间的安全通道。
19.一种用户终端,其特征在于,所述用户终端设置有可信执行环境TEE,所述TEE设置有如权利要求13-15任一项所述的可信应用TA。
20.一种用户终端,其特征在于,所述用户终端设置有如权利要求16-18任一项所述的安全元件SE。
21.一种服务器,其特征在于,包括:
获取模块,用于获取目标SE应用的可执行文件;
处理模块,用于将所述获取模块获取的所述目标SE应用的可执行文件拆分成至少两个子文件;
根据所述至少两个子文件生成至少两条SE加载load命令,其中,每条SE load命令包含至少一个所述子文件;
生成SE应用命令包,所述SE应用命令包包括目标信令,所述目标信令包括SE辅助命令和所述至少两条SE load命令。
22.根据权利要求21所述的服务器,其特征在于,所述处理模块还用于:
在根据所述SE load命令得到SE应用命令包之后,将所述SE应用命令包添加至供用户终端下载的目标应用程序安装包中。
23.根据权利要求22所述的服务器,其特征在于,所述处理模块还用于:
将所述SE应用命令包添加至供用户终端下载的目标应用程序安装包中之前,使用加密技术对所述SE应用命令包进行加密;
所述处理模块用于将所述SE应用命令包添加至供用户终端下载的目标应用程序安装包中,包括:
所述处理模块用于,将经过所述加密后的所述SE应用命令包添加至供用户终端下载的目标应用程序安装包中。
24.一种计算机设备,包括存储器、处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-4中任意一项所述的方法。
25.一种计算机设备,包括存储器、处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求5-8中任意一项所述的方法。
26.一种计算机设备,包括存储器、处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求9-12中任意一项所述的方法。
27.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1-4中任意一项所述的方法。
28.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求5-8中任意一项所述的方法。
29.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求9-12中任意一项所述的方法。
CN201710413204.1A 2017-06-05 2017-06-05 Se应用处理方法、用户终端以及服务器 Active CN108985756B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201710413204.1A CN108985756B (zh) 2017-06-05 2017-06-05 Se应用处理方法、用户终端以及服务器
PCT/CN2018/087403 WO2018223831A1 (zh) 2017-06-05 2018-05-18 Se应用处理方法、用户终端以及服务器
EP18813925.7A EP3627425A4 (en) 2017-06-05 2018-05-18 SE APPLICATION PROCESSING METHOD, USER TERMINAL, AND SERVER
US16/702,690 US10977021B2 (en) 2017-06-05 2019-12-04 SE applet processing method, terminal, and server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710413204.1A CN108985756B (zh) 2017-06-05 2017-06-05 Se应用处理方法、用户终端以及服务器

Publications (2)

Publication Number Publication Date
CN108985756A CN108985756A (zh) 2018-12-11
CN108985756B true CN108985756B (zh) 2022-11-22

Family

ID=64502711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710413204.1A Active CN108985756B (zh) 2017-06-05 2017-06-05 Se应用处理方法、用户终端以及服务器

Country Status (4)

Country Link
US (1) US10977021B2 (zh)
EP (1) EP3627425A4 (zh)
CN (1) CN108985756B (zh)
WO (1) WO2018223831A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109863491B (zh) * 2019-01-22 2023-10-27 深圳市汇顶科技股份有限公司 生物特征识别系统、方法和终端设备
US20210132925A1 (en) * 2019-10-30 2021-05-06 Red Hat, Inc. Software provisioning agent residing in trusted execution environment
US11263310B2 (en) 2019-11-26 2022-03-01 Red Hat, Inc. Using a trusted execution environment for a proof-of-work key wrapping scheme that verifies remote device capabilities
CN113569248A (zh) * 2020-04-28 2021-10-29 华为技术有限公司 数据处理的方法以及计算设备
CN112230941B (zh) * 2020-09-22 2024-03-29 成都融微软件服务有限公司 一种Java Card包及应用程序安装方法和工具

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014106530A1 (de) * 2013-01-03 2014-07-10 Giesecke & Devrient Gmbh Verfahren zum laden einer aus mehreren komponenten bestehenden applikation in ein aus mehreren komponenten bestehenden gerätes
CN106254323A (zh) * 2016-07-27 2016-12-21 恒宝股份有限公司 一种ta和se的交互方法、ta、se及tsm平台

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6978378B1 (en) * 2000-05-12 2005-12-20 Bluetie, Inc. Secure file transfer system
US7281244B2 (en) * 2003-01-16 2007-10-09 Sun Microsystems, Inc. Using a digital fingerprint to commit loaded data in a device
US8484632B2 (en) * 2005-12-22 2013-07-09 Sandisk Technologies Inc. System for program code execution with memory storage controller participation
US20080005261A1 (en) 2006-05-24 2008-01-03 Research In Motion Limited Grouping Application Protocol Data Units for Wireless Communication
ITMI20080536A1 (it) * 2008-03-28 2009-09-29 Incard Sa Metodo per proteggere un file cap per una carta a circuito integrato.
US9332060B2 (en) * 2009-12-04 2016-05-03 Telefonaktiebolaget L M Ericsson (Publ) Methods, secure element, server, computer programs and computer program products for improved application management
CN104572237B (zh) * 2015-01-19 2017-12-12 上海动联信息技术股份有限公司 一种UKey安装包自动快速生成系统及其方法
US9722775B2 (en) * 2015-02-27 2017-08-01 Verizon Patent And Licensing Inc. Network services via trusted execution environment
US10430589B2 (en) 2015-03-19 2019-10-01 Intel Corporation Dynamic firmware module loader in a trusted execution environment container
KR20170041465A (ko) * 2015-10-07 2017-04-17 삼성전자주식회사 결제 서비스 제공 방법 및 이를 구현한 전자 장치
CN106102054A (zh) * 2016-05-27 2016-11-09 深圳市雪球科技有限公司 一种对安全单元进行安全管理的方法以及通信系统
CN106446675A (zh) * 2016-08-30 2017-02-22 维沃移动通信有限公司 一种短信处理方法及移动终端
CN106547618B (zh) * 2016-10-19 2019-10-29 沈阳微可信科技有限公司 通信系统和电子设备
KR102604046B1 (ko) * 2016-11-28 2023-11-23 삼성전자주식회사 전자 기기의 프로그램 관리 방법 및 장치
CN106681860B (zh) * 2016-12-01 2019-07-30 Oppo广东移动通信有限公司 一种数据备份方法及数据备份装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014106530A1 (de) * 2013-01-03 2014-07-10 Giesecke & Devrient Gmbh Verfahren zum laden einer aus mehreren komponenten bestehenden applikation in ein aus mehreren komponenten bestehenden gerätes
CN106254323A (zh) * 2016-07-27 2016-12-21 恒宝股份有限公司 一种ta和se的交互方法、ta、se及tsm平台

Also Published As

Publication number Publication date
CN108985756A (zh) 2018-12-11
US10977021B2 (en) 2021-04-13
EP3627425A1 (en) 2020-03-25
WO2018223831A1 (zh) 2018-12-13
US20200104109A1 (en) 2020-04-02
EP3627425A4 (en) 2020-06-03

Similar Documents

Publication Publication Date Title
CN108985756B (zh) Se应用处理方法、用户终端以及服务器
US20230232227A1 (en) Method and System for Updating Certificate Issuer Public Key, and Related Device
US10818291B2 (en) Method and apparatus for interacting information
US11882509B2 (en) Virtual key binding method and system
CN105677335B (zh) 提高移动终端首次开机速度的方法及装置
US9088409B2 (en) Accessing local applications when roaming using a NFC mobile device
WO2019071650A1 (zh) 一种安全元件中的应用的升级方法及相关设备
CN107402792B (zh) 应用软件安装包的集成方法、装置、设备及存储介质
KR102664180B1 (ko) 네트워크 기반 미디어 처리 보안
Urien Cloud of secure elements: An infrastructure for the trust of mobile NFC services
CN110753020A (zh) 网络请求处理方法和装置
CN109255246A (zh) 接口参数加密方法、装置、计算机设备及存储介质
CN111737718A (zh) 一种jar包的加解密方法、装置、终端设备和存储介质
CN106888448B (zh) 应用下载方法、安全元件及终端
CN111045722A (zh) 智能合约打包方法、装置、系统、计算机设备及存储介质
Urien Cloud of secure elements perspectives for mobile and cloud applications security
WO2018018419A1 (zh) 一种配置文件批量获取、下载方法、服务器及终端
CN112115430A (zh) 一种apk的加固方法、电子设备及存储介质
CN105814834B (zh) 用于公共云应用的基于推送的信任模型
CN106685931B (zh) 智能卡应用管理方法和系统、终端和智能卡
CN107315610B (zh) 实现密码功能的方法、装置及计算机可读存储介质
CN115695400A (zh) 一种Web页面与本地应用交互的方法及终端
CN108563953A (zh) 一种安全可扩展的可信应用开发方法
TW201719395A (zh) 智慧卡及其下載應用的方法
CN113297588A (zh) 密码处理设备、以及密码处理设备的控制方法和装置

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