首页> 中国专利> 基于生物识别技术的移动支付设备、方法和装置

基于生物识别技术的移动支付设备、方法和装置

摘要

本公开是关于一种基于生物识别技术的移动支付设备、方法和装置,属于移动支付技术领域。移动支付设备包括:生物信息识别应用和运行在TEE中的通用支付TA;通用支付TA用于供多个第三方支付应用调用,接收第三方支付应用的调用请求,根据调用请求确定需要加密的目标内容和执行加密所需的加密参数,从生物信息识别应用获取生物信息识别结果,根据加密参数和生物信息识别结果对目标内容进行加密,向第三方支付应用返回加密结果,使得第三方支付应用根据加密结果执行支付相关操作。实现了多个第三方支付应用共用一个通用支付TA,一方面有助于减少签名费用,另一方面有效避免移动终端安装到恶意的第三方支付应用,降低TEE的安全风险。

著录项

  • 公开/公告号CN105488679A

    专利类型发明专利

  • 公开/公告日2016-04-13

    原文格式PDF

  • 申请/专利权人 小米科技有限责任公司;

    申请/专利号CN201510848445.X

  • 发明设计人 胡杨;黄媛媛;

    申请日2015-11-27

  • 分类号G06Q20/40(20120101);G06Q20/32(20120101);G06Q20/08(20120101);

  • 代理机构11138 北京三高永信知识产权代理有限责任公司;

  • 代理人张所明

  • 地址 100085 北京市海淀区清河中街68号华润五彩城购物中心二期13层

  • 入库时间 2023-12-18 15:29:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-12-03

    授权

    授权

  • 2018-09-07

    专利申请权的转移 IPC(主分类):G06Q20/40 登记生效日:20180820 变更前: 变更后: 申请日:20151127

    专利申请权、专利权的转移

  • 2016-05-11

    实质审查的生效 IPC(主分类):G06Q20/40 申请日:20151127

    实质审查的生效

  • 2016-04-13

    公开

    公开

说明书

本申请要求于2015年11月23日提交中国专利局、申请号为201510821881.8、发明名称为“基于生物识别技术的移动支付设备、方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。

技术领域

本公开涉及移动支付技术领域,特别涉及一种基于生物识别技术的移动支付设备、方法和装置。

背景技术

移动支付是近年来发展和普及的在线支付方式。传统的移动支付方式,需要用户输入较多位数的支付密码以完成支付流程。为了简化用户操作,出现了基于生物识别技术的移动支付方式,如指纹支付。通过采集、识别和验证用户的生物信息,并在生物信息验证通过的情况下直接完成支付流程,从而使得用户免于输入支付密码。

由于涉及资金交易,移动支付对支付环境的安全性具有较高要求。目前而言,采用英国ARM(AdvancedRISCMachines)公司提供的TrustZone技术,能够为移动支付的安全性提供较为可靠的解决方案。根据TrustZone技术的规定,移动终端分为REE(RichExecutionEnvironment,富执行环境)和TEE(TrustedExecutionEnvironment,可信执行环境)。其中,REE是普通的非保密执行环境,移动终端的操作系统运行于REE中,TEE是安全的保密执行环境。REE中运行有CA(ClientApplication,客户应用),而TEE中运行有TA(TrustedApplication,可信应用)。与REE中的CA所不同的是,TEE为TA提供一系列的安全服务,包括应用执行的完整性、安全存储、与输入输出设备的安全交互、密钥管理、加密算法以及与REE中的CA进行安全通信等。以指纹支付为例,指纹识别应用包括CA和TA两部分,指纹识别应用的TA用于采集、识别和验证指纹信息,并将指纹信息的验证结果提供给指纹识别应用的CA。如果第三方支付应用直接从指纹识别应用的CA获取验证结果,由于指纹识别应用的CA运行于REE中,第三方支付应用获取的验证结果是不可信的。因此,第三方支付应用也相应包括CA和TA两部分,第三方支付应用的TA直接从指纹识别应用的TA获取可信的验证结果,并提供给第三方支付应用的CA,从而确保获取的验证结果真实可靠。

在实际应用中,用户有在一台移动终端中安装使用多款不同的第三方支付应用的需求。例如,一台移动终端同时支持支付宝和微信支付两款第三方支付应用。目前,移动终端中安装第三方支付应用的TA包括如下两种方式:第一,在移动终端出厂之前,即将第三方支付应用的TA预先安装在移动终端的TEE中;第二,第三方支付应用的TA以SP(ServiceProvider,服务提供商)TA的形式进行开发和签名,后期通过下载的方式载入至移动终端的TEE中。然而,不论通过上述何种安装方式,若移动终端需要同时支持多款第三方支付应用,则会带来如下问题:

第一,由于TA只有在被正式地数字签名过之后,才能顺利通过TEE中的TrustedOS(TrustedOperatingSystem,可信的操作系统)对其的身份验证,进而在TEE中正常运行,而对TA进行数字签名需要向提供TrustZone技术的公司支付一定的费用,因此若移动终端同时支持多款第三方支付应用,则需支付多项签名费用,造成成本增加;

第二,由于TEE中存储有诸如联系人信息、IMEI(InternationalMobileEquipmentIdentity,移动设备国际身份码)等重要私密信息,这些重要私密信息对于TEE中运行的TA来说是可见的,若移动终端安装了恶意的第三方支付应用,则TEE中存储的重要私密信息可能会被肆意读取,TEE存在较高的安全风险。

发明内容

为了克服相关技术存在的问题,本公开实施例提供了一种基于生物识别技术的移动支付设备、方法和装置。所述技术方案如下:

根据本公开实施例的第一方面,提供了一种基于生物识别技术的移动支付设备,所述移动支付设备包括:

生物信息识别应用、以及运行在TEE中的通用支付TA;

所述通用支付TA,用于供多个第三方支付应用调用,接收第三方支付应用的调用请求,根据所述调用请求确定需要加密的目标内容和执行加密所需的加密参数,从所述生物信息识别应用获取生物信息识别结果,根据所述加密参数和所述生物信息识别结果对所述目标内容进行加密,向所述第三方支付应用返回加密结果,使得所述第三方支付应用根据所述加密结果执行支付相关操作。

可选地,所述通用支付TA,用于在第三方支付应用开通基于生物识别技术的支付功能时,在所述通用支付TA未存储有所述第三方支付应用所对应的应用密钥的情况下,采用第一密钥生成算法生成所述第三方支付应用的应用密钥,采用第一数据加密算法和设备密钥对所述应用密钥进行加密;

以及,所述通用支付TA,还用于采用第二密钥生成算法生成目标用户帐号所对应的用户密钥,采用第二数据加密算法和所述应用密钥对所述用户密钥进行加密;

其中,所述通用支付TA将加密后的应用密钥和用户密钥返回给所述第三方支付应用,以通过所述第三方支付应用提供给后台服务器;

其中,所述加密参数包括所述第一密钥生成算法、所述第一数据加密算法、所述第二密钥生成算法和所述第二数据加密算法,由所述第三方支付应用调用所述通用支付TA时通过所述调用请求指示。

可选地,所述通用支付TA,用于在第三方支付应用开通基于生物识别技术的支付功能时,在所述通用支付TA已存储有所述第三方支付应用所对应的应用密钥的情况下,采用第二密钥生成算法生成目标用户帐号所对应的用户密钥,采用第二数据加密算法和所述应用密钥对所述用户密钥进行加密;

其中,所述通用支付TA将加密后的用户密钥返回给所述第三方支付应用,以通过所述第三方支付应用提供给后台服务器;

其中,所述加密参数包括所述第二密钥生成算法和所述第二数据加密算法,由所述第三方支付应用调用所述通用支付TA时通过所述调用请求指示。

可选地,所述通用支付TA,用于在第三方支付应用针对目标用户帐号执行支付操作时,在所述生物信息识别结果指示所述生物信息验证通过的情况下,通过所述加密参数和所述目标用户帐号所对应的用户密钥对所述目标内容进行加密,得到加密结果;

其中,所述通用支付TA将所述加密结果返回给所述第三方支付应用,以通过所述第三方支付应用提供给后台服务器。

可选地,所述生物信息识别结果由所述生物信息识别应用在接收到所述第三方支付应用的调用请求之后,采集、识别和验证所述生物信息之后得到,并由所述生物信息识别应用发送给所述第三方支付应用;

所述第三方支付应用用于在确认从所述生物信息识别应用获取的所述生物信息识别结果指示所述生物信息验证通过的情况下,向所述通用支付TA发送所述调用请求。

可选地,所述通用支付TA包括:算法管理模块、密钥管理模块、数据加密模块、结果获取模块和密钥存储模块;

所述算法管理模块,用于管理基于生物识别技术的第三方支付应用所采用的算法;其中,所述算法包括:至少一种密钥生成算法和至少一种数据加密算法;

所述密钥管理模块,用于采用所述密钥生成算法生成执行支付相关操作所需的密钥;

所述数据加密模块,用于采用所述数据加密算法对需要加密的目标内容进行加密;

所述结果获取模块,用于从所述生物信息识别应用获取所述生物信息识别结果;

所述密钥存储模块,用于存储所述密钥管理模块生成的所述密钥。

可选地,所述第三方支付应用为运行在REE中的CA。

根据本公开实施例的第二方面,提供了一种基于生物识别技术的移动支付方法,应用于运行在TEE中的通用支付TA中,所述通用支付TA用于供多个第三方支付应用调用;

所述方法包括:

接收第三方支付应用的调用请求;

根据所述调用请求确定需要加密的目标内容和执行加密所需的加密参数;

从所述生物信息识别应用获取生物信息识别结果;

根据所述加密参数和所述生物信息识别结果对所述目标内容进行加密;

向所述第三方支付应用返回加密结果,使得所述第三方支付应用根据所述加密结果执行支付相关操作。

可选地,在第三方支付应用开通基于生物识别技术的支付功能时,所述方法还包括:

在所述通用支付TA未存储有所述第三方支付应用所对应的应用密钥的情况下,采用第一密钥生成算法生成所述第三方支付应用的应用密钥,采用第一数据加密算法和设备密钥对所述应用密钥进行加密;

采用第二密钥生成算法生成目标用户帐号所对应的用户密钥,采用第二数据加密算法和所述应用密钥对所述用户密钥进行加密;

将加密后的应用密钥和用户密钥返回给所述第三方支付应用,以通过所述第三方支付应用提供给后台服务器;

其中,所述加密参数包括所述第一密钥生成算法、所述第一数据加密算法、所述第二密钥生成算法和所述第二数据加密算法,由所述第三方支付应用调用所述通用支付TA时通过所述调用请求指示。

可选地,在第三方支付应用开通基于生物识别技术的支付功能时,所述方法还包括:

在所述通用支付TA已存储有所述第三方支付应用所对应的应用密钥的情况下,采用第二密钥生成算法生成目标用户帐号所对应的用户密钥,采用第二数据加密算法和所述应用密钥对所述用户密钥进行加密;

将加密后的用户密钥返回给所述第三方支付应用,以通过所述第三方支付应用提供给后台服务器;

其中,所述加密参数包括所述第二密钥生成算法和所述第二数据加密算法,由所述第三方支付应用调用所述通用支付TA时通过所述调用请求指示。

可选地,在第三方支付应用针对目标用户帐号执行支付操作时,所述根据所述加密参数和所述生物信息识别结果对所述目标内容进行加密,包括:

在所述生物信息识别结果指示所述生物信息验证通过的情况下,通过所述加密参数和所述目标用户帐号所对应的用户密钥对所述目标内容进行加密,得到加密结果,将所述加密结果返回给所述第三方支付应用,以通过所述第三方支付应用提供给后台服务器。

可选地,所述生物信息识别结果由所述生物信息识别应用在接收到所述第三方支付应用的调用请求之后,采集、识别和验证所述生物信息之后得到,并由所述生物信息识别应用发送给所述第三方支付应用;

所述第三方支付应用在确认从所述生物信息识别应用获取的所述生物信息识别结果指示所述生物信息验证通过的情况下,向所述通用支付TA发送所述调用请求。

可选地,所述第三方支付应用为运行在REE中的CA。

根据本公开实施例的第三方面,提供了一种基于生物识别技术的移动支付装置,所述装置包括:

生物信息识别应用以及运行在可信执行环境TEE中的通用支付可信应用TA;

所述装置还包括:处理器;

用于存储所述处理器的可执行指令的存储器;

其中,所述处理器被配置为:

接收第三方支付应用的调用请求;

根据所述调用请求确定需要加密的目标内容和执行加密所需的加密参数;

从所述生物信息识别应用获取生物信息识别结果;

根据所述加密参数和所述生物信息识别结果对所述目标内容进行加密;

向所述第三方支付应用返回加密结果,使得所述第三方支付应用根据所述加密结果执行支付相关操作。

本公开实施例提供的技术方案可以包括以下有益效果:

通过在TEE中安装运行可供多个第三方支付应用调用的通用支付TA;解决了相关技术在移动终端需要支持多款第三方支付应用时,因在TEE中安装多个相应的TA而导致成本增加,且导致TEE存在较高的安全风险的问题;实现了多个第三方支付应用共用一个通用支付TA,无需在TEE中安装多个TA,一方面有助于减少签名费用,降低成本,另一方面能够有效避免移动终端安装到恶意的第三方支付应用的TA,降低TEE的安全风险。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是根据一示例性实施例示出的一种基于生物识别技术的移动支付设备的框图;

图2是根据另一示例性实施例示出的一种基于生物识别技术的移动支付设备的框图;

图3是根据一示例性实施例示出的一种基于生物识别技术的移动支付方法的流程图;

图4是根据另一示例性实施例示出的一种基于生物识别技术的移动支付方法的流程图;

图5是根据另一示例性实施例示出的一种基于生物识别技术的移动支付方法的流程图;

图6是根据另一示例性实施例示出的一种基于生物识别技术的移动支付方法的流程图;

图7是根据一示例性实施例示出的一种移动支付设备的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本公开涉及的移动支付设备,可以是手机、平板电脑、移动PC(PersonalComputer,个人计算机)、PDA(PersonalDigitalAssistant,个人数字助理)等移动终端设备。移动支付设备配置有用于采集生物信息的传感器,具备基于生物识别技术的移动支付功能。其中,生物信息包括但不限于:指纹、虹膜、视网膜、基因、声音、人脸、手掌几何、静脉、步态和笔迹中的任意一项或者多项。例如,移动支付设备配置有指纹传感器,具备指纹支付功能。

本公开一示例性实施例提供了一种基于生物识别技术的移动支付设备,该移动支付设备包括:生物信息识别应用、以及运行在TEE中的通用支付TA。

通用支付TA,用于供多个第三方支付应用调用,接收第三方支付应用的调用请求,根据该调用请求确定需要加密的目标内容和执行加密所需的加密参数,从生物信息识别应用获取生物信息识别结果,根据加密参数和生物信息识别结果对目标内容进行加密,向第三方支付应用返回加密结果,使得第三方支付应用根据加密结果执行支付相关操作。

通过在TEE中安装运行可供多个第三方支付应用调用的通用支付TA;解决了相关技术在移动终端需要支持多款第三方支付应用时,因在TEE中安装多个相应的TA而导致成本增加,且导致TEE存在较高的安全风险的问题;实现了多个第三方支付应用共用一个通用支付TA,无需在TEE中安装多个TA,一方面有助于减少签名费用,降低成本,另一方面能够有效避免移动终端安装到恶意的第三方支付应用的TA,降低TEE的安全风险。

可选地,在第三方支付应用开通基于生物识别技术的支付功能时,在通用支付TA未存储有第三方支付应用所对应的应用密钥的情况下,通用支付TA用于采用第一密钥生成算法生成第三方支付应用的应用密钥,采用第一数据加密算法和设备密钥对应用密钥进行加密;

以及,通用支付TA还用于采用第二密钥生成算法生成目标用户帐号所对应的用户密钥,采用第二数据加密算法和应用密钥对用户密钥进行加密;

其中,通用支付TA将加密后的应用密钥和用户密钥返回给第三方支付应用,以通过第三方支付应用提供给后台服务器;

其中,加密参数包括第一密钥生成算法、第一数据加密算法、第二密钥生成算法和第二数据加密算法,由第三方支付应用调用通用支付TA时通过调用请求指示。

可选地,在第三方支付应用开通基于生物识别技术的支付功能时,在通用支付TA已存储有第三方支付应用所对应的应用密钥的情况下,通用支付TA,用于采用第二密钥生成算法生成目标用户帐号所对应的用户密钥,采用第二数据加密算法和应用密钥对用户密钥进行加密;

其中,通用支付TA将加密后的用户密钥返回给第三方支付应用,以通过第三方支付应用提供给后台服务器;

其中,加密参数包括第二密钥生成算法和第二数据加密算法,由第三方支付应用调用通用支付TA时通过调用请求指示。

通过上述方式,在基于生物识别技术的支付功能的开通阶段,通用支付TA生成目标用户帐号所对应的用户密钥,并将该用户密钥提供给后台服务器,以便后台服务器在后续的支付阶段采用该用户密钥对用户身份的合法性进行校验,确保交易安全性。

可选地,在第三方支付应用针对目标用户帐号执行支付操作时,通用支付TA,用于在生物信息识别结果指示生物信息验证通过的情况下,通过加密参数和目标用户帐号所对应的用户密钥对目标内容进行加密,得到加密结果;

其中,通用支付TA将加密结果返回给第三方支付应用,以通过第三方支付应用提供给后台服务器。

通过上述方式,在目标用户帐号的支付阶段,通用支付TA采用目标用户帐号所对应的用户密钥对后台服务器所需校验的目标内容进行加密,并将加密结果反馈给后台服务器,以便后台服务器依据解密结果实现对用户身份的合法性进行校验,确保交易安全性。

可选地,生物信息识别结果由生物信息识别应用在接收到第三方支付应用的调用请求之后,采集、识别和验证生物信息之后得到,并由生物信息识别应用发送给第三方支付应用;

第三方支付应用用于在确认从生物信息识别应用获取的生物信息识别结果指示生物信息验证通过的情况下,向通用支付TA发送调用请求。

通过上述方式,第三方支付应用首先对生物信息识别结果进行分析,在确认生物信息验证通过的情况下,调用通用支付TA执行支付相关操作,避免进行无谓的调用,确保调用流程的合理化和规范化。

可选地,通用支付TA包括:算法管理模块、密钥管理模块、数据加密模块、结果获取模块和密钥存储模块;

算法管理模块,用于管理基于生物识别技术的第三方支付应用所采用的算法;其中,上述算法包括:至少一种密钥生成算法和至少一种数据加密算法;

密钥管理模块,用于采用密钥生成算法生成执行支付相关操作所需的密钥;

数据加密模块,用于采用数据加密算法对需要加密的目标内容进行加密;

结果获取模块,用于从生物信息识别应用获取生物信息识别结果;

密钥存储模块,用于存储密钥管理模块生成的密钥。

通过上述方式,将通用支付TA的功能实现地更为通用,以便通用支付TA能够支持多款用户常用的不同第三方支付应用。

可选地,第三方支付应用为运行在REE中的CA。

图1是根据一示例性实施例示出的一种基于生物识别技术的移动支付设备的框图。如图1所示,该移动支付设备包括:REE10和TEE20。

REE10中运行有生物信息识别应用的CA12。

TEE20中运行有通用支付TA24和生物信息识别应用的TA22。

其中,通用支付TA24供多个第三方支付应用的CA14调用。在本公开实施例中,若移动支付设备需要同时支持多款第三方支付应用,仅需在移动终端设备中安装运行该多款第三方支付应用的CA14即可,该多款第三方支付应用的CA14共用一个通用支付TA24。

生物信息识别应用的CA12用于在被第三方支付应用的CA14调用后,调用生物信息识别应用的TA22,生物信息识别应用的TA22用于采集、识别和验证生物信息。通用支付TA24用于在被第三方支付应用的CA14调用后,根据调用请求确定需要加密的目标内容和执行加密所需的加密参数,从生物信息识别应用的TA24获取生物信息识别结果,根据加密参数和生物信息识别结果对目标内容进行加密,向第三方支付应用的CA14返回加密结果,使得第三方支付应用的CA14根据加密结果执行支付相关操作。

综上所述,本实施例提供的移动支付设备,通过在TEE中安装运行可供多个第三方支付应用调用的通用支付TA;解决了相关技术在移动终端需要支持多款第三方支付应用时,因在TEE中安装多个相应的TA而导致成本增加,且导致TEE存在较高的安全风险的问题;实现了多个第三方支付应用共用一个通用支付TA,无需在TEE中安装多个TA,一方面有助于减少签名费用,降低成本,另一方面能够有效避免移动终端安装到恶意的第三方支付应用的TA,降低TEE的安全风险。

图2是根据另一示例性实施例示出的一种基于生物识别技术的移动支付设备的框图。如图2所示,该移动支付设备包括:REE10和TEE20。

REE10中运行有生物信息识别应用的CA12。

TEE20中运行有通用支付TA24和生物信息识别应用的TA22。

其中,通用支付TA24供多个第三方支付应用的CA14调用。

生物信息识别应用的CA12用于在被第三方支付应用的CA14调用后,调用生物信息识别应用的TA22,生物信息识别应用的TA22用于采集、识别和验证生物信息。通用支付TA24用于在被第三方支付应用的CA14调用后,根据调用请求确定需要加密的目标内容和执行加密所需的加密参数,从生物信息识别应用的TA24获取生物信息识别结果,根据加密参数和生物信息识别结果对目标内容进行加密,向第三方支付应用的CA14返回加密结果,使得第三方支付应用的CA14根据加密结果执行支付相关操作。

在本实施例中,如图2所示,通用支付TA24包括:算法管理模块241、密钥管理模块242、数据加密模块243、结果获取模块244和密钥存储模块245。

算法管理模块241,用于管理基于生物识别技术的第三方支付应用所采用的算法。上述算法包括:至少一种密钥生成算法和至少一种数据加密算法。其中,密钥生成算法是指用于生成执行支付相关操作所需的密钥的算法。在本实施例中,密钥生成算法用于生成第三方支付应用所对应的应用密钥,以及登录第三方支付应用的用户帐号所对应的用户密钥。数据加密算法是指用于对需要加密的目标内容进行加密的算法。在支付流程中,目标内容可包括由第三方支付应用的CA14与后台服务器协商确定的内容,如订单号。在开通流程(即指开通基于生物识别技术的支付功能的流程)中,目标内容可包括生成的应用密钥或者用户密钥。考虑到在本公开实施例中,通用支付TA24供多个第三方支付应用的CA14共用,而不同的第三方支付应用对于密钥生成算法和数据加密算法可能具有不同的要求,即使同一款第三方支付应用在生成不同的密钥时或者在对不同的内容进行加密时,也有可能采用不同的密钥生成算法或者采用不同的数据加密算法,因此算法管理模块241管理有至少一种密钥生成算法和至少一种数据加密算法,例如在算法管理模块241中预配置若干种常用的密钥生成算法和若干种常用的数据加密算法。另外,数据加密算法可以是数字签名算法。

可选地,上述算法还包括:至少一种数据散列算法。其中,数据散列算法是指用于提取需要加密的目标内容的散列值的算法。采用数据加密算法对提取到的散列值进行加密。基于同样的理由,由于通用支付TA24供多个第三方支付应用的CA14共用,因此算法管理模块241管理有至少一种数据散列算法,例如在算法管理模块241中预配置若干种常用的数据散列算法。

密钥管理模块242,用于采用密钥生成算法生成执行支付相关操作所需的密钥。其中,所采用的密钥生成算法由第三方支付应用的CA14在调用通用支付TA24时的调用请求中用参数进行指示。

数据加密模块243,用于采用数据加密算法对需要加密的目标内容进行加密。其中,所采用的数据加密算法由第三方支付应用的CA14在调用通用支付TA24时的调用请求中用参数进行指示。可选地,当数据加密算法为数字签名算法时,数据加密模块243被配置为采用数字加密算法对目标内容进行数字签名。

结果获取模块244,用于从生物信息识别应用的TA22获取生物信息识别结果。在本公开实施例中,生物信息识别应用用于对下列一项或者多项生物信息进行识别:指纹、虹膜、视网膜、基因、声音、人脸、手掌几何、静脉、步态和笔迹等。结合参考图2,生物信息识别应用的TA22包括:采集模块221、算法模块222、识别模块223和存储模块224。采集模块221被配置为获取用于采集生物信息的传感器采集得到的生物信息的原始数据。以指纹为例,当指纹传感器为摄像头时,采集模块221被配置为获取摄像头采集得到的指纹图像。算法模块222被配置为将生物信息的原始数据转换为数字数据。一方面,能够有效减少生物信息所需占用的存储空间;另一方面,由于直接存储生物信息的原始数据存在被复制的风险,将生物信息的原始数据转换为数字数据之后,能够提高生物信息的安全性。识别模块223被配置为将当前采集的生物信息与预先存储的生物信息进行匹配验证,得到识别结果。存储模块224被配置为存储生物信息和识别结果。

密钥存储模块245,用于存储密钥管理模块242生成的密钥。在本公开实施例中,密钥存储模块245用于存储应用密钥和用户密钥。

可选地,密钥管理模块242,还用于采用安全性保护算法对密钥进行处理,并将处理后的密钥存储至密钥存储模块245中。其中,安全性保护算法是指用于对密钥进行安全性保护的算法,包括但不限于数据加密算法、数据分割与拼装算法等。

下面,分别从开通流程(即指开通基于生物识别技术的支付功能的流程)和支付流程两个方面,对本实施例提供的系统进行介绍和说明。

1、开通流程(以第三方支付应用中的目标用户帐号为例)

第三方支付应用的CA14,用于调用通用支付TA24,请求通用支付TA24生成目标用户帐号所对应的用户密钥。

在密钥存储模块245中未存储有第三方支付应用所对应的应用密钥的情况下,通用支付TA24,用于采用第一密钥生成算法生成第三方支付应用的应用密钥;通过数据加密模块243采用第一数据加密算法和设备密钥对应用密钥进行加密;将加密后的应用密钥返回给第三方支付应用的CA14,以通过第三方支付应用的CA14提供给后台服务器;以及,通用支付TA24,还用于采用第二密钥生成算法生成目标用户帐号所对应的用户密钥;通过数据加密模块243采用第二数据加密算法和应用密钥对用户密钥进行加密;将加密后的用户密钥返回给第三方支付应用的CA14,以通过第三方支付应用的CA14提供给后台服务器。其中,所采用的第一密钥生成算法、第一数据加密算法、第二密钥生成算法和第二数据加密算法,由第三方支付应用的CA14调用通用支付TA24时通过调用请求指示。

在密钥存储模块245中已存储有第三方支付应用所对应的应用密钥的情况下,通用支付TA24,用于采用第二密钥生成算法生成目标用户帐号所对应的用户密钥;通过数据加密模块243采用第二数据加密算法和应用密钥对用户密钥进行加密;将加密后的用户密钥返回给第三方支付应用的CA14,以通过第三方支付应用的CA14提供给后台服务器。其中,所采用的第二密钥生成算法和第二数据加密算法,由第三方支付应用的CA14调用通用支付TA24时通过调用请求指示。

可选地,设备密钥、应用密钥和用户密钥中的任意一项或者多项为非对称密钥。

2、支付流程(以第三方支付应用中的目标用户帐号为例)

第三方支付应用的CA14,用于调用生物信息识别应用的CA12,请求生物信息识别应用的CA12调用生物信息识别应用的TA22以采集、识别和验证生物信息。

第三方支付应用的CA14,还用于与后台服务器协商支付流程中所需校验的目标内容;在生物信息识别应用的CA12获取到生物信息识别结果之后,调用通用支付TA24,请求通用支付TA24对目标内容进行加密。

通用支付TA24,用于通过结果获取模块244从生物信息识别应用的TA22获取生物信息识别结果;在生物信息识别结果指示生物信息验证通过的情况下,通过数据加密模块243采用指定的数据加密算法和目标用户帐号所对应的用户密钥对目标内容进行加密,得到加密结果。

第三方支付应用的CA14,还用于从通用支付TA24获取加密结果;将加密结果发送给后台服务器;其中,后台服务器用于采用目标用户帐号所对应的用户密钥对加密结果进行解密,得到解密内容,并在解密内容与目标内容相符的情况下,完成支付流程。

综上所述,本实施例提供的移动支付设备,通过在TEE中安装运行可供多个第三方支付应用调用的通用支付TA;解决了相关技术在移动终端需要支持多款第三方支付应用时,因在TEE中安装多个相应的TA而导致成本增加,且导致TEE存在较高的安全风险的问题;实现了多个第三方支付应用共用一个通用支付TA,无需在TEE中安装多个TA,一方面有助于减少签名费用,降低成本,另一方面能够有效避免移动终端安装到恶意的第三方支付应用的TA,降低TEE的安全风险。

此外,考虑到不同的第三方支付应用对密钥生成算法、数据加密算法等算法可能具有不同的要求,通过在通用支付TA中预配置若干种常用的算法,使得通用支付TA能够支持多款用户常用的不同第三方支付应用。此外,由于通用支付TA中存储的算法是可以在后续设备升级的过程中进行更新的,因此通用支付TA有能力兼容更多的第三方支付应用。

需要说明的一点是,上述实施例中涉及的通用支付TA在实现其功能时,仅以上述各个功能模块的划分进行举例说明,实际应用中,可以根据实际需要而将上述功能分配由不同的功能模块完成,以完成以上描述的全部或者部分功能。

图3是本发明一个实施例提供的一种基于生物识别技术的移动支付方法的流程图。该方法可应用于上述图1或者图2所示实施例提供的移动支付设备中运行的通用支付TA中。该方法可包括如下步骤。

在步骤302中,接收第三方支付应用的调用请求。

在步骤304中,根据调用请求确定需要加密的目标内容和执行加密所需的加密参数。

在步骤306中,从生物信息识别应用获取生物信息识别结果。

在步骤308中,根据加密参数和生物信息识别结果对目标内容进行加密。

在步骤310中,向第三方支付应用返回加密结果,使得第三方支付应用根据加密结果执行支付相关操作。

综上所述,本实施例提供的移动支付方法,通过在TEE中安装运行可供多个第三方支付应用调用的通用支付TA;解决了相关技术在移动终端需要支持多款第三方支付应用时,因在TEE中安装多个相应的TA而导致成本增加,且导致TEE存在较高的安全风险的问题;实现了多个第三方支付应用共用一个通用支付TA,无需在TEE中安装多个TA,一方面有助于减少签名费用,降低成本,另一方面能够有效避免移动终端安装到恶意的第三方支付应用的TA,降低TEE的安全风险。

可选地,在第三方支付应用开通基于生物识别技术的支付功能时,所述方法还包括:

在所述通用支付TA未存储有所述第三方支付应用所对应的应用密钥的情况下,采用第一密钥生成算法生成所述第三方支付应用的应用密钥,采用第一数据加密算法和设备密钥对所述应用密钥进行加密;

采用第二密钥生成算法生成目标用户帐号所对应的用户密钥,采用第二数据加密算法和所述应用密钥对所述用户密钥进行加密;

将加密后的应用密钥和用户密钥返回给所述第三方支付应用,以通过所述第三方支付应用提供给后台服务器;

其中,所述加密参数包括所述第一密钥生成算法、所述第一数据加密算法、所述第二密钥生成算法和所述第二数据加密算法,由所述第三方支付应用调用所述通用支付TA时通过所述调用请求指示。

可选地,在第三方支付应用开通基于生物识别技术的支付功能时,所述方法还包括:

在所述通用支付TA已存储有所述第三方支付应用所对应的应用密钥的情况下,采用第二密钥生成算法生成目标用户帐号所对应的用户密钥,采用第二数据加密算法和所述应用密钥对所述用户密钥进行加密;

将加密后的用户密钥返回给所述第三方支付应用,以通过所述第三方支付应用提供给后台服务器;

其中,所述加密参数包括所述第二密钥生成算法和所述第二数据加密算法,由所述第三方支付应用调用所述通用支付TA时通过所述调用请求指示。

可选地,在第三方支付应用针对目标用户帐号执行支付操作时,所述根据所述加密参数和所述生物信息识别结果对所述目标内容进行加密,包括:

在所述生物信息识别结果指示所述生物信息验证通过的情况下,通过所述加密参数和所述目标用户帐号所对应的用户密钥对所述目标内容进行加密,得到加密结果,将所述加密结果返回给所述第三方支付应用,以通过所述第三方支付应用提供给后台服务器。

可选地,所述生物信息识别结果由所述生物信息识别应用在接收到所述第三方支付应用的调用请求之后,采集、识别和验证所述生物信息之后得到,并由所述生物信息识别应用发送给所述第三方支付应用;

所述第三方支付应用用于在确认从所述生物信息识别应用获取的所述生物信息识别结果指示所述生物信息验证通过的情况下,向所述通用支付TA发送所述调用请求。

可选地,所述第三方支付应用为运行在REE中的CA。

图4是本发明另一实施例提供的一种基于生物识别技术的移动支付方法的流程图。该方法可包括如下步骤。

在步骤402中,第三方支付应用的CA调用生物信息识别应用的CA,请求生物信息识别应用的CA调用生物信息识别应用的TA以采集、识别和验证生物信息。

在步骤404中,第三方支付应用的CA调用通用支付TA。

在步骤406中,通用支付TA接收第三方支付应用的调用请求,根据调用请求确定需要加密的目标内容和执行加密所需的加密参数,从生物信息识别应用的TA获取生物信息识别结果,通用支付TA根据加密参数和生物信息识别结果对目标内容进行加密,向第三方支付应用的CA返回加密结果,使得第三方支付应用的CA根据加密结果执行支付相关操作。

综上所述,本实施例提供的移动支付方法,通过在TEE中安装运行可供多个第三方支付应用的CA调用的通用支付TA;解决了相关技术在移动终端需要支持多款第三方支付应用时,因在TEE中安装多个相应的TA而导致成本增加,且导致TEE存在较高的安全风险的问题;实现了多个第三方支付应用的CA共用一个通用支付TA,无需在TEE中安装多个TA,一方面有助于减少签名费用,降低成本,另一方面能够有效避免移动终端安装到恶意的第三方支付应用的TA,降低TEE的安全风险。

下面,通过图5和图6所示的两个方法实施例,分别从开通流程和支付流程两个方面进行介绍和说明。

在图5所示实施例中,以第三方支付应用中的目标用户帐号的开通流程为例。如图5所示,该开通流程可包括如下几个步骤。

在步骤501中,第三方支付应用的CA调用通用支付TA,请求通用支付TA生成第三方支付应用所对应的应用密钥。

其中,调用请求中携带有第一请求参数,该第一请求参数用于指示通用支付TA生成应用密钥的方式。依据JCA(JavaCryptographyArchitecture,Java加密体系结构)的规定,在一种可能的实施方式中,第一请求参数包括provider参数、alias参数和algorithm参数。其中,provider参数用于指示调用通用支付TA;alias参数用于指示生成应用密钥的方式,可以是第三方支付应用的标识,此时,通过第三方支付应用的标识,能够确定出生成密钥的方式;algorithm参数用于指示生成应用密钥所采用的算法。

在步骤502中,通用支付TA检测是否已存储有第三方支付应用所对应的应用密钥。若否,则执行下述步骤503;若是,则向第三方支付应用的CA反馈已经有应用密钥的指示信息。

在步骤503中,通用支付TA采用第一密钥生成算法生成应用密钥。

在步骤504中,通用支付TA采用第一数据加密算法和设备密钥对应用密钥进行加密,得到加密后的应用密钥。

可选地,若设备密钥为非对称密钥,通用支付TA采用第一数据加密算法和设备密钥的私钥对应用密钥进行加密,得到加密后的应用密钥。

可选地,当第一数据加密算法为数字签名算法时,通用支付TA采用数字签名算法和设备密钥对应用密钥进行签名,得到应用密钥的签名结果。

在步骤505中,通用支付TA将加密后的应用密钥反馈给第三方支付应用的CA。

在步骤506中,第三方支付应用的CA将加密后的应用密钥发送给后台服务器。

在步骤507中,后台服务器存储应用密钥。

后台服务器从第三方支付应用的CA接收加密后的应用密钥之后,采用设备密钥进行解密,获取并存储应用密钥。

可选地,若设备密钥为非对称密钥,后台服务器采用设备密钥的公钥进行解密,获取并存储应用密钥。

此外,第三方支付应用的CA接收到通用支付TA反馈的应用密钥之后,还执行如下步骤508。

在步骤508中,第三方支付应用的CA调用通用支付TA,请求通用支付TA生成目标用户帐号所对应的用户密钥。

其中,调用请求中携带有第二请求参数,该第二请求参数用于指示通用支付TA生成用户密钥的方式。在一种可能的实施方式中,第二请求参数包括provider参数、alias参数和algorithm参数。其中,provider参数用于指示调用通用支付TA;alias参数用于指示生成用户密钥的方式,例如可以是第三方支付应用的标识和目标用户帐号;algorithm参数用于指示生成用户密钥所采用的算法。

在步骤509中,通用支付TA采用第二密钥生成算法生成用户密钥。

在步骤510中,通用支付TA采用第二数据加密算法和应用密钥对用户密钥进行加密,得到加密后的用户密钥。

可选地,若应用密钥为非对称密钥,通用支付TA采用第二数据加密算法和应用密钥的私钥对用户密钥进行加密,得到加密后的用户密钥。

可选地,当第二数据加密算法为数字签名算法时,通用支付TA采用数字签名算法和应用密钥对用户密钥进行签名,得到用户密钥的签名结果。

在步骤511中,通用支付TA将加密后的用户密钥反馈给第三方支付应用的CA。

在步骤512中,第三方支付应用的CA将加密后的用户密钥发送给后台服务器。

在步骤513中,后台服务器存储用户密钥。

后台服务器从第三方支付应用的CA接收加密后的用户密钥之后,采用应用密钥进行解密,获取并存储用户密钥。

可选地,若应用密钥为非对称密钥,后台服务器采用应用密钥的公钥进行解密,获取并存储用户密钥。

在图6所示实施例中,以第三方支付应用中的目标用户帐号的支付流程为例。如图6所示,该支付流程可包括如下几个步骤。

在步骤601中,第三方支付应用的CA调用生物信息识别应用的CA,请求生物信息识别应用的CA调用生物信息识别应用的TA。

在支付流程中,第三方支付应用的CA从后台服务器请求获取订单之后,调用生物信息识别应用的CA,请求生物信息识别应用的CA调用生物信息识别应用的TA,发起生物信息验证。

在步骤602中,生物信息识别应用的CA调用生物信息识别应用的TA。

在步骤603中,生物信息识别应用的TA采集、识别和验证生物信息。

在步骤604中,生物信息识别应用的TA将生物信息识别结果反馈给生物信息识别应用的CA。

在步骤605中,生物信息识别应用的CA将生物信息识别结果反馈给第三方支付应用的CA。

在步骤606中,第三方支付应用的CA检测生物信息识别结果是否指示生物信息验证通过。若是,则执行下述步骤607;若否,则结束流程。

在步骤607中,第三方支付应用的CA调用通用支付TA,请求通用支付TA对目标内容进行加密。

其中,目标内容是第三方支付应用的CA与后台服务器协商的在支付流程中所需校验的内容。调用请求中携带有请求参数,该请求参数用于指示通用支付TA对目标内容进行加密的方式。在一种可能的实施方式中,请求参数包括provider参数、alias参数和algorithm参数。其中,provider参数用于指示调用通用支付TA;alias参数可以是第三方支付应用的标识和目标用户帐号,alias参数可作为密钥的索引,用于指示加密所采用的用户密钥;algorithm参数用于指示所采用的数据加密算法。

在步骤608中,通用支付TA从生物信息识别应用的TA获取生物信息识别结果。

在步骤609中,在生物信息识别结果指示生物信息验证通过的情况下,通用支付TA采用指定的数据加密算法和登录第三方支付应用的目标用户帐号所对应的用户密钥对目标内容进行加密,得到加密结果。

可选地,若用户密钥为非对称密钥,则通用支付TA采用预定的数据加密算法和用户密钥的私钥对目标内容进行加密,得到加密结果。

可选地,当数据加密算法为数字签名算法时,通用支付TA采用数字签名算法和用户密钥对目标内容进行数字签名,得到签名结果。

在步骤610中,通用支付TA将加密结果提供给第三方支付应用的CA。

在步骤611中,第三方支付应用的CA将加密结果发送给后台服务器。

在步骤612中,后台服务器采用目标用户帐号所对应的用户密钥对加密结果进行解密,得到解密内容,并在解密内容与目标内容相符的情况下,完成支付流程。

可选地,若用户密钥为非对称密钥,后台服务器采用用户密钥的公钥对加密结果进行解密,得到解密内容。

本公开一示例性实施例还提供了一种基于生物识别技术的移动支付装置,能够实现本公开提供的移动支付方法。所述装置包括:

生物信息识别应用以及运行在可信执行环境TEE中的通用支付可信应用TA;

所述装置还包括:处理器;

用于存储所述处理器的可执行指令的存储器;

其中,所述处理器被配置为:

接收第三方支付应用的调用请求;

根据所述调用请求确定需要加密的目标内容和执行加密所需的加密参数;

从所述生物信息识别应用获取生物信息识别结果;

根据所述加密参数和所述生物信息识别结果对所述目标内容进行加密;

向所述第三方支付应用返回加密结果,使得所述第三方支付应用根据所述加密结果执行支付相关操作。

图7是根据一示例性实施例示出的一种移动支付设备700的框图。例如,移动支付设备700可以是手机、平板电脑、移动PC以及PDA等。如图7所示,移动支付设备700包括:系统级芯片(System-on-a-Chip,SoC)702、存储器704、电源组件706、输入/输出(I/O)接口708以及传感器组件710。

系统级芯片702为移动支付设备700主要的处理部件,用于控制移动支付设备700的整体操作。在本实施例中,系统级芯片702包括REE和TEE。REE中运行有生物信息识别应用的CA。TEE中运行有通用支付TA和生物信息识别应用的TA。其中,通用支付TA供多个第三方支付应用的CA调用。生物信息识别应用的CA用于在被第三方支付应用的CA调用后,调用生物信息识别应用的TA,生物信息识别应用的TA用于采集、识别和验证生物信息。通用支付TA用于在被第三方支付应用的CA调用后,根据调用请求确定需要加密的目标内容和执行加密所需的加密参数,从生物信息识别应用的TA获取生物信息识别结果,根据加密参数和生物信息识别结果对目标内容进行加密,向第三方支付应用的CA返回加密结果,使得第三方支付应用的CA根据加密结果执行支付相关操作。系统级芯片702可以包括一个或多个处理器来执行指令,以完成上述方法的全部或部分步骤。

存储器704被配置为存储各种类型的数据以支持在移动支付设备700的操作。这些数据的示例包括用于在移动支付设备700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电源组件706为移动支付设备700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为移动支付设备700生成、管理和分配电力相关联的组件。

I/O接口708为系统级芯片702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件710包括一个或多个传感器,用于为移动支付设备700提供各个方面的状态评估。在本实施例中,传感器组件710至少包括用于采集生物信息的传感器。其中,生物信息包括但不限于:指纹、虹膜、视网膜、基因、声音、人脸、手掌几何、静脉、步态和笔迹中的任意一项或者多项。例如,传感器组件710包括指纹传感器,用于采集指纹信息。

在示例性实施例中,移动支付设备700还包括以下一个或多个组件:多媒体组件、音频组件和通信组件。

在示例性实施例中,移动支付设备700可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由移动支付设备700的处理器执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动支付设备700的处理器执行时,使得移动支付设备700能够执行上述方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号