利用移动设备进行支付的方法和装置的制造方法

文档序号:10726037阅读:421来源:国知局
利用移动设备进行支付的方法和装置的制造方法
【专利摘要】一种利用移动设备进行支付的方法和装置。方法包括:将Java Card底层类库移植到该移动设备的可信执行环境TEE下,以及在该移动设备的可信执行环境TEE中运行用于支付目的的Java Card应用程序。
【专利说明】
利用移动设备进行支付的方法和装置
技术领域
[0001]本发明的实施例涉及Java Card技术,尤其涉及利用移动设备进行支付的方法和装置。【背景技术】[〇〇〇2] 近场通信(Near Field Communicat1n,NFC)技术允许电子设备之间在数厘米的范围内进行非接触式点对点数据传输。具有NFC功能的设备能够模拟一张卡,并与外部读写器进行非接触式交互而实现各种应用。在NFC设备上实现卡模拟的方式包括基于硬件的卡模拟模式(Card Emulat1n Mode)和是基于软件的主机卡模拟式(Host Card Emulat1n Mode)。
[0003]在卡模拟模式下,需要安全元件(Secure Element JEXSE为敏感信息提供安全存储,并且为交易事务提供的安全的执行环境。NFC控制器作为非接触通信前端,将从外部读写器接收到的数据转发到SE,然后由SE处理,并通过NFC控制器返回处理结果。例如,配备 NFC功能的移动通信终端可以作为支付设备通过安装在其中的SE中的一个或多个支付应用程序进行交易。支付应用可以是Java Card小应用程序(Java Applet) JE被用于安全数据或应用程序的存储和处理,并且可以基于Java Card和Global Platform(全局平台)规范来实现支付应用。
[0004]在主机卡模拟模式下,不需要提供SE,而是由在NFC设备中运行的一个应用或云端的服务器完成SE的功能。在基于主机的卡模拟(host-based card emulat1n,HCE)下,由 NFC控制器接收到的数据由操作系统或发送至设备中的应用,或通过移动网络发送至云端的服务器来完成交互。目前作为智能设备平台的Android系统的4.4或更高版本支持HCE技术,其中HCE服务以系统服务的形式被提供。由此,支付应用可以通过注册AID(应用ID)进行配置,并且通过实现HCE系统服务的基类方法来实现个性化的HCE服务。而支付过程中的敏感数据、密钥和算法由该支付应用实现,或者通过获取云服务提供。支付应用可以是基于 Java Card技术标准的Java Card应用程序。
【发明内容】

[0005] —种利用移动设备进行支付的方法,包括:将Java Card底层类库移植到该移动设备的可信执行环境TEE下,以及在该移动设备的可信执行环境TEE中运行用于支付目的的 Java Card应用程序。
[0006] —种利用移动设备进行支付的装置,包括Java Card应用支持模块,其中该Java Card应用支持模块被配置成能够运行在该移动设备的可信执行环境下,为在该可信执行环境中运行的用于支付目的的Java Card应用程序提供兼容性支持,其中,该Java Card应用支持模块包括从Java Card底层类库移植的类库,以及用来支持该类库的接口。
[0007] —种基于可信执行环境的HCE应用本地化方法,通过将Java虚拟机及Java Card底层类库移植到可信执行环境,快速实现与已有的Java Card应用完全兼容。由此提高JavaCard应用的兼容性。
[0008]一种实现HCE应用本地化方法的示例。该方法包括,在TEE内核API上实现JVM,其中,使用JVM( Java虚拟机)技术,在可信执行环境提供的内核API上实现JVM,该JVM支持应用隔离、内存垃圾回收等特性;确定要移植的类库和支持该类库的接口,其中,确定需移植的 Java Card底层类库,以及用来支持该类库的接口,确定要移植的类包包括 javacard.framework、javacard?security、javacard?crypto、org.globalplatform等;利用TEE内核API实现该接口。
[0009]—种移动设备,其中,该移动设备配置有如权利要求6至10中任何一项所述的装置。
[0010]本发明通过将Java虚拟机及Java Card底层类库移植到可信执行环境,快速实现与已有的Java Card应用完全兼容。由此提高Java Card应用的兼容性。对于支付应用,其安全性和用户体验都能得到提升。通过将Java底层类库移植到TEE环境,使得Java Card应用能够直接运行于TEE环境,让已有的Java Card应用不需要在TEE环境下重复开发。通过可信执行环境TEE技术为智能终端提供安全保障,尤其对于支付应用,支付过程涉及到的算法、 密钥及交易数据能够得到有效的保障。
[0011]当结合附图阅读以下描述时也将理解本发明的实施例的其它特征和优势,其中附图借助于实例示出了本发明的实施例的原理。【附图说明】
[0012]图1是利用NFC设备实现支付应用的方案的框图。
[0013]图2是根据本发明实施例的实现HCE应用本地化方法的框图。
[0014]图3是根据本发明实施例的实现HCE应用本地化方法的示例。【具体实施方式】[〇〇15]在下文中,将结合实施例描述本发明的原理。应当理解的是,给出的实施例只是为了本领域技术人员更好地理解并且实践本发明,而不是限制本发明的范围。例如,本说明书中包含许多具体的实施细节不应被解释为对发明的范围或可能被要求保护的范围的限制, 而是应该被视为特定于实施例的描述。在各实施例的上下文描述的特征可以被组合在单个实施例中来实施,而在单个实施例的上下文中描述的特征可以在多个实施例来实施。
[0016]图1是利用NFC设备实现支付应用的方案的示意图。图1示出目前的智能设备的支付方案。应用服务商(例如,银行)开发支付应用,并且实现HCE系统服务提供的基类方法,并且与P0S建立通信,同时实现交易算法,密钥及交易数据保护的文件系统,如图1左边部分所示。另外,开发的用于智能设备的应用提供了到云服务的数据通道,将云服务与HCE系统服务相连接。此时,交易算法、密钥及交易数据由云服务器处理,如图1右边部分所示。注意到, 图1中的NFC功能在多媒体执行环境(REE,Rich Executed Environment),例如安卓、10S等, 下实现,敏感支付信息可能泄露或者会被窃取或者篡改。另外,将支付应用在REE中配置会导致兼容性问题,例如已经商用的java card应用很难被直接应用到这些方案中。
[0017]可信执行环境TEE(Trusted Executive Environment)技术能够为诸如智能终端等通信装置提供受到硬件保护隔离的可信执行环境,在该环境下,智能终端上的与安全相关敏感性操作基于TEE完成,从而提高安全性。TEE独立于REE(例如,Android操作系统),并执行与安全相关的应用。智能终端上与安全相关的敏感操作将在TEE中执行,而除安全应用以外的其它应用可以在REE中执行。为此,本发明提出在可信执行环境TEE内实现与Java Card应用接口兼容的可信应用接口,从而快速实现个性化HCE服务的本地化。[〇〇18]在一个实施例中,提供基于可信执行环境的HCE应用本地化方法。该方法通过将 Java虚拟机及Java Card底层类库移植到可信执行环境,快速实现与已有的Java Card应用完全兼容。由此提高Java Card应用的兼容性。对于支付应用,其安全性和用户体验都能得到提升。图2是根据本发明实施例的实现HCE应用本地化方法的示意图。如图2所示,Java底层类库被移植到TEE环境,这使得Java Card应用能够直接运行于TEE环境,让已有的Java Card应用不需要在TEE环境下重复开发。同时,如上所述可信执行环境TEE技术能够为智能终端提供安全保障,对于支付应用,支付过程涉及到的算法、密钥及交易数据能够得到有效的保障。
[0019]图3是根据本发明实施例的实现HCE应用本地化方法的示例。如图3所示,该方法包括,步骤310至330。[〇〇2〇]在310中,在TEE内核API上实现JVM,其中,使用JVM(Java虚拟机)技术,在可信执行环境提供的内核API上实现JVM,该JVM支持应用隔离、内存垃圾回收等特性。
[0021]在320中,确定要移植的类库和支持该类库的接口,其中,确定需移植的Java Card 底层类库,以及用来支持该类库的接口,确定要移植的类包可以包括javacard.framework、 javacard?security、javacard?crypto、org?globalplatform等。[〇〇22]在330中,利用TEE内核API实现该接口。具体地,以支持应用数据隔离及断电回滚等特性。通过调用TEE提供的安全和加解密API实现Java Card的底层类库 javacard.security、javacard.crypto的加解密功能。通过调用TEE提供的线程库API实现 javacard ? framework和org ? globalplatform类包,模拟卡片主安全域功能。另外,在一个示例中,通过TEE的加密文件系统来实现Java Card应用的内部持久性对象。
[0023]根据上述的公开,本发明还提出一种利用移动设备进行支付的方法。该方法包括: (1)将Java Card底层类库移植到该移动设备的可信执行环境下,以及(2)在该移动设备的可信执行环境中运行用于支付目的的Java Card应用程序。上述移植过程(1)包括利用可信执行环境的内核API实现虚拟机和Java Card底层类库的相关接口,使得Java Card应用程序与可信执行环境兼容。上述支付过程包括利用可信执行环境的安全机制来确保支付的安全。
[0024]根据上述的公开,本发明还提出一种利用移动设备进行支付的装置。该装置包括 Java Card应用支持模块,该Java Card应用支持模块被配置成能够运行在该移动设备的可信执行环境下,为在该可信执行环境中运行的用于支付目的的Java Card应用程序提供兼容性支持。其中,该Java Card应用支持模块包括从Java Card底层类库移植的类库,以及用来支持该类库的接口。用来支持该类库的接口通过调用TEE提供的API实现。在一个示例中, 从 Java Card底层类库移植的类库包括 javacard ? framework、javacard.security、 javacard.crypto、org.globalplatform。该Java Card应用支持模块通过TEE的加密文件系统来实现Java Card应用的内部持久性对象,以支持应用数据隔离及断电回滚等特性。通过调用TEE提供的安全和加解密API实现Java Card的底层类库javacard.security、javacard.crypto的加解密功能。通过调用TEE提供的线程库API实现javacard.framework 和org ? globalplatform类包,模拟卡片主安全域功能。
[0025]上述的步骤可以被视为由于运行计算机程序代码而导致的操作、和/或被视为构建为实施相关功能的多个耦合的逻辑电路元件。示例性实施例可在硬件、软件或其组合中来实施。例如,本发明的某些方面可在硬件中实施,而其它方面则可在软件中实施。尽管本发明的示例性实施例的方面可被示出和描述为框图、流程图,但很好理解的是,这里描述的这些装置或方法可在作为非限制性实例的系统中被实现为功能模块。此外,上述装置可以被实现相应功能的软件产品。
[0026]相关领域的技术人员当结合附图阅读前述说明书时,对本发明的前述示例性实施例的各种修改和变形对于相关领域的技术人员会变得明显。因此,本发明的实施例不限于所公开的特定实施例,并且变形例和其它实施例意在涵盖在所附权利要求的范围内。
【主权项】
1.一种利用移动设备进行支付的方法,包括:将Java Card底层类库移植到该移动设备的可信执行环境TEE下,以及在该移动设备的可信执行环境TEE中运行用于支付目的的Java Card应用程序。2.如权利要求1所述的方法,其中移植过程包括利用可信执行环境TEE的内核API实现 虚拟机和Java Card底层类库的相关接口,使得所述Java Card应用程序与可信执行环境兼容。3.如权利要求2所述的方法,其中要移植的类包包括javacard.framework、 javacard?security、javacard?crypto、org?globalplatform。4.如权利要求3所述的方法,其中利用可信执行环境TEE内核API实现该接口包括:通过调用TEE提供的安全和加解密API实现Java Card的底层类库javacard.security、 javacard ? crypto的加解密功能;通过调用TEE提供的线程库API实现javacard ? framework和org ? globalplatform类包, 模拟卡片主安全域功能。5.如权利要求4所述的方法,其中移植过程还包括通过TEE的加密文件系统来实现Java Card应用的内部持久性对象。6.—种利用移动设备进行支付的装置,包括Java Card应用支持模块,其中该Java Card应用支持模块被配置成能够运行在该移动设备的可信执行环境下,为在该可信执行环 境中运行的用于支付目的的Java Card应用程序提供兼容性支持,其中,该Java Card应用 支持模块包括从Java Card底层类库移植的类库,以及用来支持该类库的接口。7.如权利要求6所述的装置,其中,Java Card应用支持模块利用可信执行环境TEE的内 核API实现虚拟机和Java Card底层类库的相关接口,使得所述Java Card应用程序与可信 执行环境兼容。8.如权利要求7所述的装置,其中,从Java Card底层类库移植的类库包括 javacard?framework、javacard?security、javacard?crypto、org?globalplatform。9.如权利要求6所述的装置,其中,该Java Card应用支持模块被配置成通过TEE的加密 文件系统来实现Java Card应用的内部持久性对象。10.如权利要求7所述的装置,其中,该Java Card应用支持模块被配置成通过调用TEE 提供的安全和加解密API实现Java Card的底层类库javacard.security、javacard.crypto 的加解密功能,通过调用TEE提供的线程库API实现javacard.framework和 org ? globalplatform类包,模拟卡片主安全域功能。11.一种移动设备,其中,该移动设备配置有如权利要求6至10中任何一项所述的装置。
【文档编号】G06Q20/32GK106096944SQ201610391454
【公开日】2016年11月9日
【申请日】2016年6月6日 公开号201610391454.5, CN 106096944 A, CN 106096944A, CN 201610391454, CN-A-106096944, CN106096944 A, CN106096944A, CN201610391454, CN201610391454.5
【发明人】姜波, 韩医徽, 方琍, 李川川, 王巨, 张海洋, 章勇
【申请人】深圳市雪球科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1