远程服务器加密的数据的储备系统和方法转让专利

申请号 : CN201580051326.X

文献号 : CN107087432A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : A·古格拉尼S·沙尔马J·吉塔丽亚G·德斯彻木普斯U·玛蒂卡徐明华J·L·R·特维诺B·辛格

申请人 : 维萨国际服务协会

摘要 :

本发明的实施例涉及使用加密密钥向移动装置提供敏感用户数据的方法、系统和装置。例如,移动装置上的移动应用可以从移动应用服务器接收加密的敏感用户数据,其中,用户敏感数据是使用来自令牌服务器计算机的密钥加密的。移动应用然后可以请求向令牌服务器发送加密的支付信息。移动装置然后可以从令牌服务器接收与支付信息关联的支付令牌。

权利要求 :

1.一种方法,包括:

由移动装置从远程移动应用服务器接收与所述移动装置的用户关联的加密的用户数据,其中,所述加密的用户数据是使用与令牌服务器计算机关联的加密密钥生成的;

由所述移动装置生成令牌请求消息,所述令牌请求消息包括所述加密的用户数据;

由所述移动装置向所述令牌服务器计算机发送所述令牌请求消息,其中,所述令牌服务器计算机使用所述加密密钥解密所述加密的用户数据,标识与解密的用户数据关联的账户,生成与所述账户关联的令牌,存储所述令牌,并向所述移动装置发送所述令牌;

由所述移动装置从所述令牌服务器计算机接收与所述加密的用户数据关联的令牌;以及由所述移动装置在令牌存储器中存储所述令牌。

2.根据权利要求1所述的方法,其中,在令牌存储器中存储所述令牌包括在所述移动装置的安全存储器中存储令牌,确定与存储的令牌关联的令牌密钥,并向所述移动装置上的移动应用提供所述令牌密钥,以用作针对所述令牌的令牌参考标识符。

3.根据权利要求1所述的方法,还包括:

由所述移动装置请求所述令牌的状态;

由所述移动装置从所述令牌服务器计算机接收令牌状态响应;以及由所述移动装置在所述令牌存储器中存储与所述令牌关联的状态。

4.根据权利要求1所述的方法,其中,所述加密密钥和与所述移动装置的用户关联的所述用户数据由所述远程移动应用服务器存储。

5.根据权利要求1所述的方法,其中,所述令牌存储器由所述移动装置上提供的令牌模块管理,所述令牌模块与所述令牌服务器计算机关联,使得所述移动装置经由所述令牌模块与所述令牌服务器计算机对接。

6.根据权利要求5所述的方法,其中,所述令牌模块与所述令牌服务器计算机的应用编程接口(API)对接。

7.根据权利要求1所述的方法,其中,所述令牌请求消息经由所述移动装置上提供的令牌模块发送至所述令牌服务器计算机,并且由所述令牌模块从所述令牌服务器计算机接收与所述加密的用户数据关联的令牌。

8.根据权利要求1所述的方法,还包括:

与访问装置交互,以使用所述移动装置上提供的移动应用发起交易;以及向所述访问装置提供所述令牌,其中,所述令牌由绕过所述移动应用的令牌模块提供至所述访问装置,其中,所述令牌模块存储在所述移动装置上。

9.根据权利要求1所述的方法,其中,所述令牌请求消息经由所述远程移动应用服务器发送至所述令牌服务器计算机,并且经由所述远程移动应用服务器从所述令牌服务器计算机接收与所述加密的用户数据关联的令牌。

10.一种方法,包括:

由移动装置上提供的移动应用从远程移动应用服务器接收加密的用户数据,所述加密的用户数据与所述移动装置的用户的账户关联,其中,所述加密的用户数据是使用与令牌服务器计算机关联的加密密钥生成的;

与令牌模块交互以从所述令牌服务器计算机请求令牌,其中,所述令牌代表所述加密的用户数据;

由所述移动应用接收指示从所述令牌服务器计算机接收到与所述加密的用户数据关联的令牌的消息;

与访问装置交互,以发起交易;以及

请求所述令牌模块,以向所述访问装置提供所述令牌,使得所述令牌由绕过所述移动应用的所述令牌模块提供至所述访问装置。

11.根据权利要求10所述的方法,还包括:

由所述移动应用从所述令牌模块接收令牌请求消息,其中,所述令牌请求消息包括所述加密的用户数据,并由所述令牌模块生成;

由所述移动应用向所述远程移动应用服务器发送所述令牌请求消息,其中,所述远程移动应用服务器使用所述令牌请求消息从所述令牌服务器计算机获得所述令牌;

由所述移动应用从所述远程移动应用服务器接收令牌响应消息;以及由所述移动应用向所述令牌模块发送所述令牌请求消息,其中,所述令牌模块存储所述令牌。

12.根据权利要求10所述的方法,其中,所述令牌模块生成包括所述加密的用户数据的令牌请求消息,向所述令牌服务器计算机发送所述令牌请求消息,从所述令牌服务器计算机接收令牌,并存储所述令牌。

13.一种移动装置,包括:

处理器;以及

包括代码的存储器元件,所述代码能够由所述处理器执行,用于执行一种方法,所述方法包括:由移动装置从远程移动应用服务器接收与所述移动装置的用户关联的加密的用户数据,其中,所述加密的用户数据是使用与令牌服务器计算机关联的加密密钥生成的;

由所述移动装置生成令牌请求消息,所述令牌请求消息包括所述加密的用户数据;

由所述移动装置向所述令牌服务器计算机发送所述令牌请求消息,其中,所述令牌服务器计算机使用所述加密密钥解密所述加密的用户数据,标识与解密的用户数据关联的账户,生成与所述账户关联的令牌,存储所述令牌,并向所述移动装置发送所述令牌;

由所述移动装置从所述令牌服务器计算机接收与所述加密的用户数据关联的令牌;以及由所述移动装置在令牌存储器中存储所述令牌。

14.根据权利要求13所述的移动装置,其中,在令牌存储器中存储所述令牌包括在所述移动装置的安全存储器中存储令牌,确定与存储的令牌关联的令牌密钥,并向所述移动装置上的移动应用提供所述令牌密钥,以用作针对所述令牌的令牌参考标识符。

15.根据权利要求13所述的移动装置,其中,所述令牌请求消息经由所述移动装置上提供的令牌模块发送至所述令牌服务器计算机,并且由所述令牌模块从所述令牌服务器计算机接收与所述加密的用户数据关联的令牌。

16.根据权利要求13所述的移动装置,其中,所述方法还包括:与访问装置交互,以使用所述移动装置上提供的移动应用发起交易;以及向所述访问装置提供所述令牌,其中,所述令牌由绕过所述移动应用的令牌模块提供至所述访问装置,其中,所述令牌模块存储在所述移动装置上。

17.根据权利要求13所述的移动装置,其中,所述令牌请求消息经由所述远程移动应用服务器发送至所述令牌服务器计算机,并且经由所述远程移动应用服务器从所述令牌服务器计算机接收与所述加密的用户数据关联的令牌。

18.根据权利要求13所述的移动装置,其中,所述方法还包括:由所述移动装置请求所述令牌的状态;

由所述移动装置从所述令牌服务器计算机接收令牌状态响应;以及由所述移动装置在所述令牌存储器中存储与所述令牌关联的状态。

19.根据权利要求13所述的移动装置,其中,所述令牌存储器由所述移动装置上提供的令牌模块管理,所述令牌模块与所述令牌服务器计算机关联,使得所述移动装置经由所述令牌模块与所述令牌服务器计算机对接。

20.根据权利要求19所述的移动装置,其中,所述令牌模块与所述令牌服务器计算机的应用编程接口(API)对接。

说明书 :

远程服务器加密的数据的储备系统和方法

[0001] 相关申请交叉引用
[0002] 本申请要求于2015年1月26日提交的美国临时申请号62/107,966和于2014年9月26日提交的美国临时申请号62/056,401的优先权和权益,出于所有目的其全部内容通过引用被并入本文中。

背景技术

[0003] 为了使用移动装置(诸如移动电话)执行资源访问交易,用户可能需要向移动装置提供敏感用户数据(例如口令、账号、标记化信息等)。例如,用户可以把敏感用户数据键入到移动装置中,并且这些数据可以存储在移动装置上。
[0004] 与使用移动装置用于资源访问交易关联的问题是敏感用户数据在存储于移动装置上时可能由未授权个人获得。例如,如果真正的用户丢失其移动装置或者如果未授权个人试图通过数据或通信网络攻击进入用户的移动装置,未授权个人可能试图访问用户敏感数据。
[0005] 需要改进的数据安全方法、系统和装置。本发明的实施例分开地并且共同地解决了这些和其它问题。

发明内容

[0006] 本发明的实施例涉及在移动装置上生成、传递和存储安全的用户数据中涉及的实体之间的通信的安全和高效的方法。根据本发明的实施例的移动装置能够以加密格式向服务提供者计算机(例如令牌提供者计算机)提供敏感用户数据(例如支付信息、账号、社会保障号、标识号等),使得移动装置并不访问敏感用户数据。服务提供者计算机然后能够生成令牌(即用户数据的标记化版本),并且然后能够向移动装置传送令牌。令牌可以存储在移动装置上,并且之后可以用来执行资源访问交易(例如支付交易、访问地点的交易等)。
[0007] 本发明的一个实施例包括由移动装置从远程移动应用服务器接收与所述移动装置的用户关联的加密的用户数据。所述加密的用户数据是使用与令牌服务器计算机关联的加密密钥生成的。在一些实施例中,所述加密密钥和与所述移动装置的用户关联的用户数据由远程移动应用服务器存储。所述移动装置生成包括所述加密的用户数据的令牌请求消息,并向所述令牌服务器计算机发送所述令牌请求消息。所述令牌服务器计算机使用所述加密密钥解密所述加密的用户数据,标识与解密的用户数据关联的账户,生成与所述账户关联的令牌,存储所述令牌,并向所述移动装置发送所述令牌。所述方法还包括由所述移动装置从所述令牌服务器计算机接收与所述加密的用户数据关联的令牌。所述移动装置在令牌存储器中存储所述令牌。在一些实施例中,所述令牌存储器由所述移动装置上提供的令牌模块(例如令牌软件开发套件(SDK))管理。所述令牌模块能够与令牌服务器计算机关联,并且能够促进所述移动装置和所述令牌服务器计算机之间的交互。所述令牌模块可以与所述令牌服务器计算机的应用编程接口(API)对接。
[0008] 本发明的实施例提供许多技术优点。即便移动装置上的令牌被未授权用户盗取,偷窃的影响和/或对用户的破坏是最小的,原因是令牌能够被容易地更换和/或能够被周期地更新(例如每几次交易,或者至少预定的时间间隔,诸如每三到四天)。在上面提到的示例中,移动装置从不直接访问敏感用户数据。通过阻止移动装置访问敏感用户数据(即未加密格式的),用户数据可以被保护不被偷盗、不被篡改或不以其它形式泄密。
[0009] 在一些实施例中,在令牌存储器中存储所述令牌可以包括在所述移动装置的安全存储器中存储令牌,确定与存储的令牌关联的令牌密钥,并向所述移动装置上的移动应用提供所述令牌密钥,以用作针对所述令牌的令牌参考标识符。
[0010] 在一些实施例中,所述方法还可以包括由所述移动装置请求所述令牌的状态。所述方法可以包括由所述移动装置从所述令牌服务器计算机接收令牌状态响应。所述移动装置可以在所述令牌存储器中存储与所述令牌关联的状态。
[0011] 根据各个实施例,所述令牌请求消息可以经由所述移动装置上提供的令牌模块发送给所述令牌服务器计算机,并且由所述令牌模块从所述令牌服务器计算机接收与所述加密的用户数据关联的令牌。
[0012] 在一些实施例中,所述方法还包括与访问装置交互,以使用所述移动装置上提供的移动应用发起交易。所述方法还包括向所述访问装置提供所述令牌。所述令牌由绕过所述移动应用的令牌模块提供给所述访问装置。所述令牌模块存储在所述移动装置上。
[0013] 在一些实施例中,所述令牌请求消息可以经由所述远程移动应用服务器向所述令牌服务器计算机发送,并且与所述加密的用户数据关联的令牌可以经由所述远程移动应用服务器从所述令牌服务器计算机接收。
[0014] 这些和其它实施例在下文更加详细地描述。

附图说明

[0015] 图1示出根据本发明的实施例的示例性令牌处理系统。
[0016] 图2示出根据本发明实施例用于向移动装置提供加密的用户数据以在移动装置上储备令牌并使用该令牌执行交易的方法的流程图。
[0017] 图3示出根据本发明的实施例使用被配置成用于令牌处理系统的移动应用的一系列截屏,这些截屏示出消费者的配置和支付体验。
[0018] 图4示出根据本发明实施例的第一示例性集成,其中,令牌SDK使用令牌服务器计算机API直接与令牌服务器计算机通信。
[0019] 图5示出针对具有与图4中图示的SDK-令牌服务器计算机集成配置对应的第一示例性集成配置的系统的示例性认证过程的流程图。
[0020] 图6示出针对具有与图4中图示的SDK-令牌服务器计算机集成配置对应的第一示例性集成配置的系统的示例性储备过程的流程图。
[0021] 图7示出针对具有与图4中图示的SDK-令牌服务器计算机集成配置对应的第一示例性集成配置的系统的示例性动态参数补充过程的流程图。
[0022] 图8示出针对具有与图4中图示的SDK-令牌服务器计算机集成配置对应的第一示例性集成配置的系统的示例性挂起过程的流程图。
[0023] 图9示出根据本发明的示例性实施例的第二示例性集成配置,其中,移动应用提供者(MAP)计算机使用令牌服务器计算机API直接与令牌服务器计算机通信。
[0024] 图10示出针对具有与图9中图示的MAP计算机-令牌服务器计算机集成配置对应的第二示例性集成配置的系统的示例性认证过程的流程图。
[0025] 图11示出针对具有与图9中图示的MAP计算机-令牌服务器计算机集成配置对应的第二示例性集成配置的系统的示例性储备过程的流程图。
[0026] 图12示出针对具有与图9中图示的MAP计算机-令牌服务器计算机集成配置对应的第二示例性集成配置的系统的示例性动态参数补充过程的流程图。
[0027] 图13示出针对具有与图9中图示的MAP计算机-令牌服务器计算机集成配置对应的第二示例性集成配置的系统的示例性挂起过程的流程图。
[0028] 图14示出一框图,其示出计算机系统中的部件。

具体实施方式

[0029] 为了执行访问资源的交易,敏感用户数据(例如,用户的账号、社会保障号、标识号等)可以向资源提供实体提供。如果使用移动装置访问由资源提供实体提供的资源,则这些敏感用户数据可以存在于该移动装置上。例如,移动装置的用户可能希望使用移动装置执行交易。移动装置应当能够访问敏感用户数据以执行交易。如果敏感用户数据在移动装置上,则其易于被未授权的个人获得。
[0030] 本发明的实施例涉及获得并在移动装置上存储敏感用户数据的安全方法,以及在使用移动装置保护用于交易的用户数据中涉及的与实体来回传送用户数据的高效方法。实施例阻止移动装置访问和/或存储未加密格式的敏感用户数据。因此,即便在移动装置丢失、被盗、被攻击或以其它形式泄密时,用户数据也被保护以免被未授权个人获得。
[0031] 实施例向移动装置提供加密的用户数据。移动装置上提供的令牌模块(即令牌软件开发套件(SDK))可以获得代表用户数据的令牌。令牌SDK可以通过与生成令牌的令牌服务器计算机直接交互获得令牌。替代性地,令牌SDK可以与移动应用提供者(MAP)计算机交互,并请求MAP计算机从令牌服务器计算机获得令牌。
[0032] MAP计算机可以在移动装置上创建移动应用(例如具有支付能力的软件应用)。在一些实施例中,移动应用可以在销售点(POS)通过令牌SDK执行基于主机卡模拟(HCE)的支付。例如,实施例可以用来使用由令牌服务器计算机(也称作令牌服务和/或令牌系统)生成的令牌在访问装置(诸如商家的POS)处执行近场通信(NFC)支付交易。令牌一旦生成,就能够向移动装置传递。
[0033] 令牌可以是敏感用户数据的替代品。例如,令牌可以包括代表用户或与用户关联的任何数据,诸如由发行银行发行的支付账户标识符、用户的社会保障号、允许用户访问安全文档库、安全建筑等的用户的标识号。具体地,由令牌服务器计算机提供的令牌可以代表针对用户的移动装置上提供的特定的移动应用的用户账户。根据一些实施例,多个令牌可以与单个账户关联。令牌降低用户敏感数据被用于欺诈目的的风险。
[0034] 在讨论本发明的实施例之前,一些术语的描述可能有助于理解本发明的实施例。
[0035] 如本文中使用的“移动装置”可以包括具有一个或多个电子部件(例如集成芯片)的任何装置,其能够与另一装置通信。“便携式通信装置”可以是能够由用户携带和操作的移动装置。便携式通信装置可以提供针对网络的远程通信能力。便携式通信装置能够被配置成向和从其它装置传送和接收数据或通信。便携式通信装置可以是移动装置的形式,诸如移动电话(例如智能电话、蜂窝电话等)、平板电脑、移动车辆(诸如轿车)、便携式媒体播放器、个人数字助理装置(PDA)、可穿戴计算装置(例如智能手表、健身手环、脚链、戒指、耳环等)、电子阅读器装置等,或者是卡(例如智能卡)或挂坠等的形式。便携式通信装置的示例还可以包括便携式计算装置(例如膝上型计算机、笔记本电脑、超级笔记本等)。
[0036] “支付装置”可以包括可以用来执行金融交易诸如向商家提供支付账户信息的任何装置。支付装置可以是任何适当形式。例如,适当的支付装置可以是手持的紧凑的,使得其能够适合消费者的钱包和/或口袋(例如口袋大小的)。支付装置可以包括智能卡、磁条TM卡、钥匙链装置(诸如从Exxon-Mobil公司可商业获得的Speedpass )等。支付装置的其它示例包括蜂窝电话、个人数字助理(PDA)、寻呼机、支付卡、保障卡、访问卡、智能媒介、应答器、
2-D条形码、电子或数字钱包等等。如果支付装置为借记、信用或智能卡的形式,则支付装置还可以可选地具有诸如磁条这样的特征。这些装置能够以接触或非接触模式操作。根据各个实施例,移动装置可以用作支付装置。
[0037] “支付账户”或“账户”(其可以与一个或多个支付装置关联)可以包括任何适当的支付账户,包括信用卡账户、支票账户或预付费账户。
[0038] “账户信息”可以包括与账户(例如支付账户和/或与账户关联的支付装置)关联的任何适当信息。这些信息可以直接与账户相关或者可以从与账户有关的信息中导出。支付账户信息的示例可以包括主账号(PAN)或“账号”、用户名、期满日期、CVV(卡验证值)、dCVV(动态卡验证值)、CVV2(卡验证值2)、CVC3卡验证值等等。CVV2通常理解为与支付装置关联的静态验证值。CVV2值通常对用户(例如消费者)可见,而CVV和dCVV值通常嵌入存储器或授权请求消息中,并且不容易为用户所知(不过其为发行方和支付处理器所知)。支付账户信息还可以用作认证数据。
[0039] “令牌”可以包括用于支付账户的任何标识符,其是其它数据的替代品。令牌可以包括例如一系列字母数字字符,其可以用作原始账户标识符的替代品。例如,令牌可以代替主账户标识符或主账号(PAN)使用。在一些实施例中,令牌可以是“保留格式的”;其可以具有与现有的支付处理网络中使用的账户标识符一致的数字格式。在一些实施例中,令牌可以包括与PAN相同顺序的相同元素。在其它实施例中,令牌可以是与PAN相同的大小,但可以包括不同的元素或不同大小的元素。在一些实施例中,令牌可以代替PAN使用以发起、授权、结算或解析支付交易,或者在通常会使用原始账户标识符(例如PAN)的其它系统中代表原始账户标识符。
[0040] 在一些实施例中,令牌值可以被生成,使得原始PAN或与令牌值关联的其它账户标识符不能只由令牌计算导出。例如,令牌可以包括与查询表中的原始PAN关联的随机生成的值,使得令牌不能被解密、重新格式化或另外被反向工程,以确定原始PAN。而是,在一些实施例中,查询表的直接或间接知识可能是确定与令牌对应的原始PAN的唯一方式。在一些实施例中,维护前述的查询表的实体可以被称作“令牌库”。
[0041] 在一些实施例中,令牌可以是装置特定的,使得与账户关联的每个装置可以储备有特定令牌。因此,如果交易使用由与令牌曾储备到其上的装置不同的装置发起的令牌,则交易可能是欺诈性的。因此,装置信息可以存储在令牌库中,并用来确保交易中使用的装置与该交易中正被使用的令牌关联。此外,因为每个令牌可以与单个装置关联,一个PAN或账户可以具有与之关联的多个令牌,其中,每个PAN可以具有针对不同装置的不同令牌,其可以用来使用特定令牌发起与PAN关联的交易。这为交易提供附加安全性,原因是网络令牌系统具有要验证的附加信息,以便控制敏感信息在交易处理系统中的使用。
[0042] 令牌可以具有防止误使用的许多令牌特性。这些特性可以包括限制使用密钥(LUK)的使用,其可以用来创建在交易发生时对用户认证的凭证。另外,令牌的使用可以被可以在其上使用令牌的用户装置所限制。而且,令牌的使用可以被可以使用LUK的次数所限制。因此,交易计数限制降低了令牌可能被重复误使用的机会。而且,令牌可以被持续时间所限制。例如,令牌可以局限于LUK的寿命,其防止令牌用于比指定的持续时间更长的时间。这可以防止令牌在延长的时间段上被误使用。
[0043] 而且,令牌的使用可以局限于特定的通信信道。例如,令牌服务器计算机可以例如通过把令牌的使用局限于基于NFC或基于POS的交易来限制令牌能够被传输的方式。这可以防止令牌在其预期的通信信道或域之外使用。附加限制包括金额限制,其中,令牌服务器计算机限制能够使用令牌的价值的金额。因此,通过防止局限于低值交易的令牌用于更大的购买,金额限制降低了风险。而且,令牌服务器计算机可以把令牌局限于令牌能够被接受的特定商家,这防止令牌在其它商家处误使用。
[0044] 对令牌的操作可以分成几类:(1)储备,其包括获得令牌并激活移动装置上的令牌;(2)活动密钥管理,其包括管理针对未中断消费者支付体验的限制使用密钥(LUK);和(3)生命周期管理,其包括确定令牌的状态,并挂起、恢复或删除令牌。
[0045] 储备包括在移动装置上令牌的生成、传递和存储。例如,令牌可以代表账号(PAN)。令牌服务器计算机可以提供用于移动装置上的移动应用的每个账户的令牌。移动应用如果要使用令牌,则令牌可以针对移动装置上的移动应用储备。支付手段的发行方可以授权移动应用提供者请求并管理与发行方账户关联的令牌。令牌服务器计算机可以包括账户注册(加载(onboarding))过程,这涉及采集关于移动应用提供者组织的信息并允许进行符合性验证。移动应用提供者可以被分配提供者ID、令牌请求者标识符和在注册过程中与令牌服务器计算机操作关联的其它唯一标识符。
[0046] 活动密钥管理包括与令牌关联的限制使用密钥(LUK)的管理和刷新。例如,一旦已经储备用于装置的令牌,则LUK可以被保持最新,以允许使用该令牌处理交易。在一些情况下,LUK可以在延长的时间段中是有效的,类似于卡发行一年或更多时间。在一些实施例中,LUK持续时间可以很短,并且可能要求有规则的补充。如果储备的令牌仍储备在装置上,则其动态数据可以被周期性补充,意味着与令牌关联的LUK被更新以延长其持续时间。
[0047] 生命周期管理可以包括更新令牌的状态和/或配置的任何动作。例如,可能需要改变令牌的状态。例如,移动应用可能赋予账户持有人消除账户的能力,在这种情况下,移动应用可以删除代表账户的令牌。以后要增加账户会要求重新储备令牌。
[0048] “令牌储备请求消息”可以是被发送以请求在移动装置上储备令牌的电子消息。令牌储备请求消息可以向令牌服务器计算机发送。令牌储备请求消息可以包括可以用来标识账户的信息。令牌储备请求消息还可以包括附加数据元素,诸如一个或多个服务代码、期满日期等。
[0049] “令牌储备响应消息”可以是针对令牌储备请求消息的电子消息应答。令牌储备响应消息可以由令牌服务器计算机生成。令牌储备响应消息可以包括响应于令牌储备请求消息而发行的令牌。
[0050] 术语“交易”可以包括在两个实体之间的交换或交互。在一些实施例中,交易可以指在两个用户(例如个人或实体)之间价值的转移。交易可以涉及在两方之间货币资金的交换、用于货币资金的商品或服务的交换或数据的交换(例如访问数据)。在其它实施例中,交易可以涉及个人或实体从商家或其它实体有货币资金交换购买商品或服务。在其它实施例中,交易可以是非金融相关的请求,诸如在两个实体之间数据或信息的交换,诸如数据的传输。
[0051] 术语“交易数据”可以包括关于交易的信息。信息可以包括针对金融交易的数据(例如支付数据、交易总额、消费者数据)。交易数据可以用于处理金融交易。交易数据可以包括针对特定交易的数据,包括购买的物品、物品价格、总费用、消费者数据(例如送货地址、电子邮件地址)、支付方法、认证数据、商家数据(例如商家名称、商家位置/地址)等。在一些实施例中,交易数据可以在用户或消费者尝试提交交易时生成以用于处理。在其它实施例中,交易数据可以由商家系统基于添加到消费者的购物车中的物品生成和发送。在一些实施例中,交易数据可以包括针对非金融交易的信息(例如报警数据、激励数据、产品数据等)。交易数据可以是任何适当格式,并且可以包括取决于交易的目的的任何适当信息。
[0052] 交易数据可以包括在交易授权消息和/或交易清算和结算消息中。在一些实施例中,交易数据可以在交易被执行时实时地发送。在一些实施例中,交易数据可以在交易已经完成或已经被执行之后发送。在一些实施例中,交易数据可以向支付处理网络发送。
[0053] 如本文中使用的“服务器计算机”通常是功能强大的计算机或计算机集群。例如,服务器计算机可以是大型主机、微型计算机集群或象一个单元一样工作的一组服务器。在一个示例中,服务器计算机可以是耦连至网络服务器的数据库服务器。
[0054] “发行方”通常可以指企业实体(例如银行),其维护与便携式通信装置关联的用户的账户。
[0055] “商家”通常可以是参与交易并且能够出售商品和服务或者提供对商品或服务的访问的实体。
[0056] “收单方”通常可以是企业实体(例如商业银行),其与特定商家或其它实体有商业关系。一些实体能够执行发行方和收单方的功能。一些实施例可以包括这样的单实体发行方-收单方。
[0057] 系统概述
[0058] 实施例可以使用如图1中图示的令牌处理系统100实现。根据本发明的示例性实施例,令牌处理系统向移动装置提供加密的用户数据(例如,支付信息、社会保障号、标识号等)。系统100可以包括移动装置110、移动应用提供者(MAP)计算机140和令牌服务器计算机160。如图1中图示,令牌服务器计算机160可以是支付处理网络170的一部分。在一些实施例中,令牌服务器计算机160可以是来自支付处理网络170并与支付处理网络170电子通信的单独的计算机。
[0059] 移动装置110可以包括移动应用111。移动应用111可以由MAP计算机140向移动装置110提供。移动装置110还可以包括令牌系统软件开发套件(令牌SDK)112,其可以获得并安全地存储令牌和/或其它安全信息。在一些实施例中,令牌可以存储在令牌存储器113中。
[0060] MAP计算机140可以为移动装置的用户提供服务。例如,MAP计算机140可以是移动钱夹提供者、发行方、商家或向移动/蜂窝装置用户提供数字内容、应用或服务的任何其它适当实体。例如,MAP计算机140可以开发、构建和/或提供针对移动装置110的移动应用111。例如,移动应用111可以包括可以被下载、安装并用在移动装置110上的移动钱夹应用、发行方应用、商家应用等。移动应用111可以提供用于各种功能的用户界面,诸如移动支付、账户服务(例如余额查询、客户服务等)、点对点(P2P)转账或与服务提供者和/或MAP计算机140关联的任何其它相关功能或能力。
[0061] MAP计算机140还可以存储与移动装置110的用户关联的敏感用户数据(例如支付信息、社会保障号、标识号等)。MAP计算机140还可以存储与令牌服务器计算机160关联(和/或由其提供)的加密密钥。MAP计算机140可以使用加密密钥加密用户数据,并向移动装置110提供加密的用户数据。
[0062] 移动装置110可以向令牌服务器计算机160提供加密的用户数据,以接收代表加密的用户数据的令牌。例如,当加密的用户数据包括支付信息(例如支付账号)时,令牌可以是支付令牌,其充当支付信息的代理。即,可以提供用于交易的令牌,来代替实际的支付信息。
[0063] 根据本发明的实施例,(若干)令牌可以以两种方式在移动装置110上储备:令牌SDK 112可以与令牌服务器计算机160(通过令牌服务器计算机应用编程接口(API)180)直接通信182,以从令牌服务器计算机160请求并接收(若干)令牌。替代性地,令牌SDK 112可以请求MAP计算机140,以从令牌服务器计算机160检索(若干)令牌。在后一种情况下,MAP计算机140可以与令牌服务器计算机160(通过令牌服务器计算机API 180)直接通信184,以从令牌服务器计算机160请求并接收(若干)令牌。
[0064] 令牌服务器计算机160可以是服务器,其被配置成接收令牌请求(也称作令牌储备请求或令牌请求消息),解密令牌请求中包括的加密的用户数据,标识与用户数据关联的账户(例如支付账户),生成与账户关联的令牌,存储令牌和/或向移动装置110提供令牌。令牌服务器计算机160可以与支付处理网络170(例如,VisaNetTM、MasterCardTM等)或任何其它适当实体关联。令牌服务器计算机160可以生成和/或接收用于加密并解密令牌储备请求中包括的用户数据的密码密钥。令牌服务器计算机160还可以向MAP计算机140提供一个或多个密码密钥,使得MAP计算机140能够使用由令牌服务器计算机160提供的密码密钥加密用户数据。
[0065] 令牌服务器计算机160还可以包括令牌库162或与其通信,令牌库162存储由令牌服务器计算机160管理的令牌状态数据库中的各个令牌的令牌状态。令牌状态可以包括活动、挂起、过时、删除和/或未找到中的任何一个。令牌状态数据库可以存储与令牌关联的记录,诸如与令牌关联的用户数据和/或账户信息,令牌服务信息和/或某个令牌是否是活动的、挂起的、审查中、撤销的等。由令牌服务器计算机160生成的令牌可以向移动装置110上提供的令牌SDK 112提供。令牌SDK 112可以在令牌存储器113处存储令牌。
[0066] 令牌服务器计算机160可以使用一系列保护控件,以针对攻击和反向工程强化并使令牌SDK 112防篡改。保护之一是使用白盒密码术(WBC)来保护密钥和敏感的令牌数据。WBC是必需的原因是移动装置110在可能被第三方观察到的不可信的开放环境中运行。通过使用附加的密码技术转换密钥和相关的操作使得敏感数据不能在此环境中被发现,WBC通过数据和代码模糊化,来保护令牌SDK 112的资产。
[0067] 令牌SDK 112可以包括适合与移动应用111和/或令牌服务器计算机160通信的任何应用编程接口(API)、服务、应用、小应用程序或其它可执行代码。令牌SDK 112可以与令牌服务器计算机160、支付处理网络170或任何其它适当实体关联。令牌SDK 112可以被配置成使移动应用111与令牌服务器计算机160对接。因此,令牌SDK 112可以从移动应用111接收与令牌服务器计算机160关联的命令,并且可以被配置成通过移动应用111从MAP计算机140接收加密的用户数据(例如加密的支付信息)。令牌SDK 112可以通过令牌服务器计算机API 180与令牌服务器计算机160对接,以处理并在令牌存储器113中存储令牌。令牌存储器
113可以是移动装置110上的存储器,以用于存储加密的用户数据、令牌(例如支付令牌)和任何其它适当信息。令牌存储器113对于存储支付信息可能是安全的。
[0068] 令牌SDK 112可以与令牌服务器计算机160(通过令牌服务器计算机API 180)直接通信182,并从令牌服务器计算机160请求支付令牌。而且,令牌SDK 112能够响应于来自移动应用111的请求提供针对移动支付交易的支付信息,以便使用访问装置120完成支付交易。
[0069] 根据各个实施例,实际的令牌可以安全地存储在令牌存储器113处,并且可以不暴露于移动应用111。而是,令牌SDK 112可以生成用于每个令牌的令牌密钥。令牌密钥可以是标识令牌存储器113中的令牌的唯一的号码、符号、字符串或其组合。不过,令牌密钥可以不代替令牌使用。例如,如果生成用于支付令牌的令牌密钥,则令牌密钥不能够用来执行支付交易。令牌密钥可以向移动应用111提供。移动应用111可以在交易过程中向令牌SDK 112提供令牌密钥,并请求(或自动地使)令牌SDK 112从令牌存储器113检索支付令牌。相应地,移动应用可以不具有针对解密格式的用户数据或代表用户数据的令牌的访问。这可以防止在移动装置丢失、被盗或泄密时针对安全数据的未授权访问。令牌SDK 112可以管理令牌数据,以例如(1)基于由移动应用111的请求标识特定令牌,(2)代表移动应用111使用令牌执行交易,(3)向令牌服务器计算机160发送请求,和/或(4)管理令牌的生命周期,包括限制使用密钥(LUK)的使用。
[0070] 在一些实施例中,令牌SDK 112可以具有各种能力。例如,令牌SDK112可以(1)使用令牌服务器计算机API 180提供满足移动装置110的需求的编排服务;(2)能够使用移动应用(例如VisaTMpayWaveTM)标准实现移动装置110和访问装置120之间的通信;(3)提供装置标识信息,以确保令牌被绑定到特定的移动装置;和(4)管理存储的令牌和关联的账户参数(例如使用令牌密钥)、用户数据和API授权和信道加密。总之,令牌SDK 112可以确保敏感的令牌数据的安全。令牌SDK 112可以组合在令牌SDK 112内部实现这些前述能力的多个功能部件,或者可以提供能力的分割,以使其是独立使用的,使得每个部件可以实现为插件,例如来自第三方的存储插件。
[0071] 根据各个实施例,令牌SDK 112的能力可以允许移动装置的用户:(1)向移动装置增加支付账户(例如信用或借记卡);(2)使用支付账户在访问装置处(例如使用NFC能力)执行交易;(3)撤销支付交易(例如当归还之前购买的物品时);以及(4)删除之前储备到移动装置的令牌,无需取消和重新发行支付装置。令牌SDK 112可以使用令牌服务器计算机API 180处理与应用和令牌操作相关的这些前述操作。
[0072] 在一些实施例中,可以执行状态检查方法以检查令牌的状态。状态数据可以被取回并返回令牌SDK 112,使得令牌状态能够被本地存储。令牌状态可以包括活动、挂起、过时、删除和/或未找到中的任何一个。令牌状态可以存储在令牌状态数据库处,令牌状态数据库可以存储在令牌存储器113处。令牌状态数据库可以用令牌状态信息周期性或持续地更新。例如,如果令牌被报告为泄密的,则令牌状态数据库可以更新该令牌的记录。
[0073] 令牌SDK 112可以从令牌服务器计算机160周期性请求令牌状态信息。令牌SDK 112可以发送包括存储在令牌存储器113处的一个或多个令牌或令牌密钥的令牌状态请求消息。令牌服务器计算机160可以标识令牌状态数据库中的一个或多个令牌的状态,并且可以向令牌SDK 112提供令牌状态信息。令牌SDK 112然后可以在令牌存储器113处存储令牌状态信息。因此,移动装置110可以维护关于任何存储的令牌的状态的更新信息。
[0074] 在一些实施例中,令牌SDK 112可以在某个预定的时间段(例如1周或2个月)之后请求令牌状态更新。在一些实施例中,令牌SDK 112可以在令牌期满之后或者在某个使用次数之后,请求令牌状态更新。在一些实施例中,如果令牌状态指示令牌被挂起并在审查中,则令牌SDK 112可以更频繁地从令牌服务器160检查状态更新。在一些实施例中,令牌服务器160可以向移动装置110推送令牌状态更新。
[0075] 在一些实施例中,令牌可能在某个时段或某个使用次数之后期满,令牌SDK 112可以从令牌服务器160检索替换令牌。
[0076] 用于在移动装置上储备(若干)令牌的方法
[0077] 如上文提供的,图1中图示的系统可以用来在移动装置110上储备(若干)令牌。根据各个实施例,MAP计算机140可以向移动装置110提供加密的用户数据。移动装置110可以从令牌服务器计算机160请求代表加密的用户数据的令牌。移动装置110可以从令牌服务器计算机160经由令牌SDK 112或MAP计算机140请求令牌。使用移动装置110,令牌然后可以用来执行交易。相应地,敏感用户数据从不以未加密格式向移动装置110提供和/或存储于移动装置110上。因此,当移动装置110丢失或被盗时,用户数据被保护不受到安全攻击。
[0078] 图2示出根据本发明的示例性实施例用于向移动装置提供加密的用户数据以用于在移动装置上储备令牌并使用令牌执行交易的方法的流程图。图2中图示的流程图可以分成三个阶段:用户认证阶段250、令牌储备阶段252和执行交易阶段254。
[0079] 用户认证阶段250可以在步骤202开始,移动装置110的用户在移动应用111登录。例如,用户可以向移动应用111提供凭证(例如用户名和口令)。移动应用111可以向MAP计算机140发送用户的凭证以用于认证。MAP计算机140可以相对存储的用户凭证集合认证凭证,存储的用户凭证集合可以在用户之前在MAP计算机140上注册时创建。
[0080] 用户认证阶段250可以在步骤204继续,MAP计算机140向移动应用111发送响应,确认用户曾被认证。例如,MAP计算机140可以向移动应用111发送声明用户101的身份的密码(例如编码的字符串,用户身份令牌或JSON网络令牌(JWT))。MAP计算机140可以向移动应用111提供多个密码。每个密码可以与一条敏感用户数据(诸如账号、社会保障号和标识号等)关联。
[0081] 在步骤206,移动应用111可以请求令牌SDK 112以用密码认证用户。令牌SDK 112然后可以向令牌服务器计算机160发送密码。
[0082] 用户认证阶段250可以在步骤208结束,在步骤208,在令牌服务器计算机160成功认证密码之后,令牌服务器计算机160用访问令牌对令牌SDK 112进行响应。访问令牌可以与支付令牌不同。访问令牌可以不用于执行支付交易。而是,访问令牌可以由令牌SDK 112管理,并且可以使移动应用111在某个时间量(也称作存活时间(TTL))内访问令牌服务器计算机160。访问令牌可以盲化由MAP计算机140向移动应用111提供的请求令牌系统交互的密码(例如JWT)。此盲化过程可以使MAP计算机140能够增强并控制用户体验。MAP计算机140还可以选择何时认证消费者(当访问令牌的TTL期满时)以继续使用令牌服务器计算机160。
[0083] 图3示出关于图2讨论的许多步骤移动应用111的截屏。具体地,图3示出根据本发明的示例性实施例使用被配置成用于令牌处理系统的移动应用的一系列截屏,这些截屏示出用户配置和支付体验。
[0084] 图3中示出的第一个截屏图解说明屏幕302内的符号,其对应于图2的步骤202。在屏幕302中的符号中,用户可以输入其凭证,诸如用户名和口令以访问/登录到移动应用111。一旦用户在屏幕302中的符号上提供其凭证,上文讨论的认证阶段步骤204-208可以在后台出现,即移动装置的屏幕可以不显示这些步骤。
[0085] 在认证之后,访问令牌可以由移动装置110上的令牌SDK 112创建,以通过令牌SDK 112标识其它调用中的用户。访问令牌的使用可以对移动应用111是透明的。不过,移动应用
111可以通过在访问令牌期满之前重新认证用户保持访问令牌是活动的。
[0086] 接下来讨论图2的令牌储备阶段252。
[0087] 令牌储备阶段252可以在步骤210开始,用户101从通过移动应用111显示的可用用户数据的列表中选择要储备(若干)令牌的用户数据。例如,用户可能希望在移动装置110上储备一个或多个账号。移动应用111可以显示可用账号的列表以用于储备。
[0088] 支付账户选择304和支付账户选择确认306的示例性截屏图示于图3中。支付账户选择截屏304显示可用用户数据的列表以储备在移动装置110中。在图3中图示的示例性实施例中,用户可以选择屏幕上显示的最后一张信用卡用于储备。支付账户选择确认截屏306显示选择的用户数据(例如选择的信用卡),并询问用户其是否希望设置交易中使用的账户,或者用该账户执行其它动作(例如支付余额、查看交易等)。设置截屏308可以给用户提供可以与选择的用户数据一起储备的其它用户数据(例如其它支付账户)。用户可以仅选择超过一个显示的用户数据以用于同时储备。在一些实施例中,无需用户请求要被储备的每个特定账户,可以为与支持令牌储备的发行方关联的支付账户预先储备令牌。因此,(若干)支付账户的用户选择可以仅仅激活预先储备的令牌。替代性地,当预先储备的令牌存在时,为了储备账户信息,可以不需要任何选择。
[0089] 令牌储备阶段252可以在步骤212继续,在步骤212,移动应用111请求MAP计算机140发送用户数据(例如账号、标识号等)用于选择的(若干)账户。在一些实施例中,步骤212可以是可选的,MAP计算机140可以向移动应用111发送加密的用户数据,而不用移动应用
111提示。
[0090] 在步骤214,MAP计算机140可以使用与令牌服务器计算机160关联的加密密钥(例如由令牌服务器计算机160之前向MAP计算机140提供的加密密钥),以加密用户数据。MAP计算机140可以安全地存储加密密钥和用户数据。例如,MAP计算机140可以加密主账号(PAN)、期满日期、CVV、姓名、地址、社会保障号、标识号或与用户关联的任何其它适当信息。在一些实施例中,MAP计算机140可以针对被配置成和/或具有被标记的能力的每个支付账户加密和发送加密的支付信息。MAP计算机140可以向移动应用111发送加密的用户数据。移动装置110从MAP计算机140接收加密的用户数据。
[0091] 例如,一些实施例可以使用JSON网络加密来加密敏感信息。相应地,MAP计算机140可以针对每条敏感用户数据在JSON网络加密的(JWE)对象中包裹该用户数据,并向移动装置110发送JSON网络加密的(JWE)对象。通常,加密的输入参数可以在MAP计算机140上构建,并向移动应用111发送。涉及加密的敏感数据可以不存储在移动应用111本身中。例如,在一些实施例中,API密钥、共享秘密、用户信息和/或支付信息(例如PAN)不加密的话不可以向移动装置110传送。根据各个实施例,用户数据可以使用JSON网络令牌(JWT)工具加密。
[0092] 作为令牌储备阶段252的一部分,在步骤216,移动应用111可以请求令牌SDK 112针对选择的用户数据(例如选择的(若干)账号)生成令牌储备请求消息。令牌储备请求消息可以包括从MAP计算机140接收的加密的用户数据。例如,移动应用111可以请求令牌SDK 112以获得或检索与由发行方150发行的并由支付处理网络170管理的一个或多个账户关联的接收的加密用户数据的令牌。令牌SDK 112然后可以生成包括加密的用户数据的储备请求消息。
[0093] 令牌SDK 112可以使用令牌服务器计算机API 180向令牌服务器计算机160发送储备请求消息。例如,令牌SDK 112可以经由安全的通信信道向令牌服务器计算机160传送储备请求消息。在一些实施例中,令牌SDK112可以通过把令牌SDK 112和令牌服务器计算机160连接的表现状态转移(REST)-ful应用编程接口(API)向令牌服务器计算机160发送储备请求消息。
[0094] 令牌服务器计算机160可以使用加密密钥解密用户数据,标识与解密的用户数据关联的账户,生成与账户关联的令牌,存储令牌并向令牌SDK112发送令牌。此外,在一些实施例中,令牌服务器计算机160可以确定与解密的用户数据关联的之前生成的令牌,获得与令牌关联的信息(例如标识该令牌的令牌密钥),并响应于来自移动应用111的请求使用令牌SDK112向移动装置110返回令牌信息。
[0095] 在步骤218,令牌SDK 112可以从令牌服务器计算机160接收与加密的用户数据关联的令牌。令牌SDK可以在不能容易地由其它应用和/或各方访问的令牌存储器113存储令牌。在一些实施例中,令牌SDK 112可以把令牌与令牌密钥或其它令牌参考标识符关联以在移动装置110上本地存储令牌。
[0096] 令牌储备阶段252可以在步骤219结束,在步骤219,向移动应用111提供令牌密钥。令牌密钥可以由令牌SDK 112和/或移动应用111使用,以标识令牌,并存储在令牌存储器
113中。令牌密钥可以不由第三方使用来发起交易,即令牌密钥可以不代替或充当令牌。而是,令牌密钥可以用作标识令牌的令牌参考标识符。相应地,令牌密钥提供附加安全性,并且可以与移动应用111共享,原因是令牌密钥不是账户替代品,不能用来处理在移动装置
110上的移动支付应用111或令牌SDK 112之外的交易。在一些实施例中,令牌SDK 112可以生成令牌密钥,而在其它实施例中,令牌服务器计算机160可以向令牌SDK 112或移动应用
111提供令牌密钥。例如,令牌密钥可以包括随机生成的数字,其与实际的令牌关联,以标识为初始令牌储备请求的主体的令牌和/或相应账户。
[0097] 可以用图3中图示的确认截屏310通知用户令牌储备阶段252的成功完成。
[0098] 接着,令牌储备方法可以被调用以创建令牌储备请求。请求可以由令牌服务器计算机160处理,令牌服务器计算机160创建令牌并向令牌SDK112返回关于令牌的信息。此信息由令牌SDK 112安全地存储在移动装置110上的令牌存储器113中。针对令牌的令牌密钥可以对移动应用111可用。令牌密钥可以在针对令牌SDK 112的其它调用中由移动应用111使用以标识令牌。
[0099] 接下来讨论图2的执行交易阶段254。
[0100] 图2中图示的步骤220-226可以归入执行交易阶段254。具体地,当用户经由移动应用111选择发起交易的账户时,执行交易阶段254在步骤220开始。例如,用户可以选择支付账户以用在移动应用交易中。可以将此账户选择通知令牌SDK 112。
[0101] 在步骤222,为了使用移动应用111发起交易,用户可以使移动装置110接近支持短距离通信的访问装置120(例如支持NFC的商家POS终端)以与访问装置120交互。
[0102] 在步骤224,访问装置120可以向移动应用111发送应用协议数据单元(APDU)消息,开始一连串的APDU消息在访问装置120和移动应用111之间的传送。
[0103] 在步骤226,令牌SDK 112处理由移动应用111使用被配置成执行非接触通信协议交换和/或NFC交易的移动支付应用(例如VisaTMPayWaveTM等)接收的APDU消息。SDK 112可以用其自己的APDU消息对访问装置120进行响应。移动应用111可以把从访问装置120接收的请求向令牌SDK112传送。类似地,移动应用111可以从令牌SDK 112接收响应,并把响应向访问装置120传送。例如,移动应用111可以向令牌SDK 112发送与选择的账户关联的令牌密钥,令牌SDK 112可以从令牌存储器113检索与令牌密钥关联的令牌。然后,令牌SDK 112可以命令移动装置110上的短距离通信部件(例如NFC发射器)向访问装置120提供令牌以用于交易。因此,令牌可以从令牌SDK 112绕过移动应用111向访问装置120提供。
[0104] 在执行交易阶段254的过程中,卡选择方法可以被调用,指定令牌密钥,以选择卡(例如支付账户)用于NFC点击-支付(tap-and-pay)交易。
[0105] 在完成令牌SDK集成之后,移动应用111可以准备好在交易中对访问装置进行响应。
[0106] 令牌系统集成配置
[0107] 根据各个实施例,移动装置110和令牌服务器计算机160之间的发送令牌储备请求和接收储备的令牌的通信可以由两种不同的令牌服务器计算机集成配置实现:在图4-8图示的第一种集成中,令牌服务器计算机SDK112与令牌服务器计算机160直接通信;在图9-13图示的第二种集成选项中,令牌服务器计算机SDK 112与令牌服务器计算机160通过MAP计算机140通信。接下来讨论这些选项中的每一个。
[0108] I.令牌SDK-令牌服务器计算机集成选项
[0109] 图4图解说明令牌SDK-令牌服务器计算机集成,其中,移动应用111通过令牌SDK 112与令牌服务器计算机160交互。
[0110] 如上文讨论的,移动应用111可以从移动应用提供者(MAP)计算机140接收加密的用户数据(例如加密的支付数据,诸如加密的支付账号)。移动应用111可以把加密的用户数据向令牌SDK 112传送,以获得代表与加密的用户数据关联的账户的令牌。移动应用111可以请求令牌SDK 112以从令牌服务器计算机160获得令牌。
[0111] 在此第一示例性集成配置中,令牌SDK 112使用令牌服务器计算机API 180直接与令牌服务器计算机160通信。在令牌SDK-令牌服务器计算机集成中,令牌SDK 112隐藏与令牌服务器计算机160通信的复杂性。令牌SDK 112处理与令牌服务器计算机160的所有交互,并把结果向移动应用111提供。例如,当令牌SDK 112从移动应用111接收请求时,令牌SDK112向令牌服务器计算机160发送令牌请求消息。令牌请求消息可以包括由MAP计算机140向移动应用提供的加密的用户数据。当令牌SDK 112从令牌服务器计算机160接收令牌时,令牌SDK 112可以通知移动应用111令牌已经被成功地接收,无需把令牌向移动应用111传送。在一些实施例中,令牌SDK 112可以生成代表令牌的令牌密钥。替代性地,令牌服务器计算机160可以向令牌SDK 112提供令牌密钥连同令牌。令牌SDK112可以向移动应用111发送令牌密钥,而不把令牌向移动应用111传送。
[0112] 移动应用111和令牌SDK 112之间的通信可以通过调用方法处理。令牌请求方法可以获取包含输入参数(例如加密的用户数据)的对象和回调(callback)对象(在/如果接收令牌时,请求令牌SDK 112通知移动应用111)。例如,在一些实施例中,移动应用开发人员可以定义回调类,由此创建回调对象。回调类可以定义两种方法,成功(令牌的成功接收)和失败(未向移动装置提供令牌),其中,移动应用开发人员指定分别对于成功和失败方法要采取的措施。回调可以返回响应对象或者错误对象,以从令牌SDK 112向移动应用111传送信息。相应地,令牌SDK API可以实现回调,其将请求的操作的成功或失败通知移动应用111。
[0113] 图5-8图解说明由图4中图示的令牌SDK-令牌服务器计算机集成系统执行的各个过程的流程图。具体地,图5示出示例性认证过程的流程图;图6示出示例性储备过程的流程图;图7示出示例性动态参数补充过程的流程图;图8示出图4中图示的系统的示例性挂起过程的流程图。接下来讨论每个流程图。
[0114] 图5示出针对具有与令牌SDK-令牌服务器计算机集成配置对应的第一示例性集成配置的系统的示例性认证过程500的流程图。在步骤502,移动应用可以创建令牌SDK的实例,其会用安全模块加密敏感数据,并将其存储在令牌SDK数据存储器中。令牌SDK实例与令牌服务器计算机通信,以请求访问令牌,并执行移动装置注册活动。
[0115] 在步骤504,一旦用户提供其凭证(诸如用户名和口令)以登录到应用,应用就对用户认证。在步骤506,应用可以从MAP计算机请求声明用户的身份的JSON网络令牌(JWT)。MAP计算机可以通过填充必要的认证参数并用JSON网络加密(JWE)框架对其编码,来编译JWT。MAP计算机可以向移动应用提供生成的JWT认证令牌。
[0116] 在步骤508,移动应用可以创建具有JWT认证令牌的认证参数对象。认证参数对象可以向令牌SDK发送,以使用JWT认证令牌从令牌服务器计算机获得令牌。移动应用还可以创建如上文描述的定义成功和失败方法的响应回调对象。成功和失败方法可以由令牌SDK使用以通知移动应用是否从令牌服务器计算机接收令牌。
[0117] 令牌服务器计算机可以经由令牌API接收JWT,并经由令牌API向令牌SDK提供访问令牌。令牌服务器计算机还可以经由装置注册API接收移动装置信息,并经由装置注册API向移动装置返回会话ID。会话ID可以指示通信正来自已认证的装置。认证可以返回访问令牌和访问令牌的TTL。这些由令牌SDK安全地存储以用于后续使用。
[0118] 图6示出针对具有与令牌SDK-令牌服务器计算机集成配置对应的第一示例性集成配置的系统的示例性储备过程600的流程图。如图6中图示的,令牌储备方法可以由移动应用调用以检索并存储针对特定的账户和/或信道的令牌信息。令牌储备方法储备代表与账户关联的信息的令牌。针对移动应用的回调可以指示令牌储备方法的成功处理,并向移动应用提供可以包含唯一地标识储备的令牌的令牌密钥的令牌储备响应。移动应用可以保持令牌密钥,以便做出关于该存储的令牌的后续调用。这些步骤在下文讨论。
[0119] 在步骤602,移动应用可以提示用户提供用户可能想驻存在移动装置上的用户数据(诸如支付信息)。不过,由用户提供的用户数据并不存储在移动装置上。具体地,移动应用请求MAP计算机以加密用户数据。在步骤604,用户凭证向MAP计算机提供以用于加密。MAP计算机向移动应用提供加密的用户数据对象。
[0120] 在步骤606,移动应用可以创建包含从MAP计算机接收的加密的用户数据的储备令牌参数对象。移动应用还可以创建定义成功和失败方法的响应回调对象。响应回调对象可以用来从令牌SDK接收响应值。如上文提供的,当令牌SDK从令牌服务器计算机接收令牌时,令牌SDK并不向移动应用提供令牌。不过,令牌SDK可以通知移动应用是接收(成功)还是没有接收令牌(失败)。
[0121] 在步骤608,令牌SDK可以与令牌服务器计算机通信以请求加密的用户数据(诸如支付信息)的标记化。令牌服务器计算机可以接收加密的用户数据,标识与用户数据关联的账户,创建代表账户的令牌,存储令牌,并向令牌SDK发送令牌。在需要时,令牌SDK可以利用令牌来代替用户数据。一旦从令牌服务器计算机接收令牌,令牌SDK可以存储令牌,并通知移动应用关于令牌的成功接收。在一些实施例中,在步骤610,令牌SDK可以向移动应用提供标识令牌的令牌密钥。
[0122] 图7示出针对具有与令牌SDK-令牌服务器计算机集成配置对应的第一示例性集成配置的系统的示例性动态参数补充过程700的流程图。如图7中图示,动态数据补充方法可以由令牌SDK调用以例如通过延长限制使用密钥(LUK)的持续时间补充用于储备的令牌的动态数据。此方法可根据需要用于做出补充请求的应用。令牌SDK可以通过移动支付应用(例如payWaveTM)部件设置跟踪LUK存活时间(TTL)的定时器。因为令牌SDK知道何时发生交易,所以令牌SDK能够相对交易次数风险阈值的令牌发行方值跟踪交易次数。相应地,移动应用不需要跟踪或向令牌SDK提供此信息。为了管理限制使用密钥补充,令牌SDK可以提供两种方法:第一种方法用于周期性(例如每小时)检查限制使用密钥存活时间阈值是否已经期满并在存活时间(TTL)期满时触发补充意图,第二种方法用于捕获由第一种方法触发的补充意图。
[0123] 在步骤702,移动应用可以标识令牌的TTL接近期满,并开始编译补充令牌请求需要的对象。在步骤704,移动应用可以创建包含加密的用户数据的补充参数对象。补充参数对象还可以包含标识令牌的令牌密钥。移动应用还可以创建定义成功和失败方法的响应回调对象。
[0124] 在步骤706,令牌SDK可以检索由令牌密钥标识的令牌,并与令牌服务器计算机通信以请求令牌的动态参数的补充。令牌服务器计算机可以补充令牌LUK和关联的TTL信息。令牌服务器计算机可以向令牌SDK返回信息,令牌SDK又可以通知移动应用补充过程或者成功或者失败。
[0125] 而且,在一些实施例中,在由用户发行的每次交易尝试之后,使用给定的令牌,令牌SDK可以检查是否已经超过补充LUK的交易次数阈值。当交易次数阈值增加时,令牌SDK可以发起LUK补充。
[0126] 此外,可以执行状态检查方法,该方法可以由令牌SDK调用以得到所有本地储备的令牌的状态。状态检查方法可以检查针对移动应用的所有储备的令牌的状态。后续的动作可以因为找到的状态而发生。在一些实施例中,移动应用可以调用状态检查方法,以相对令牌服务器计算机中相同令牌的状态检查令牌SDK中储备的令牌的状态。
[0127] 图8示出针对具有与令牌SDK-令牌服务器计算机集成配置对应的第一示例性集成配置的系统的示例性挂起过程800的流程图。在步骤802,移动应用平台可以向移动应用发送消息以挂起移动装置上加载的令牌。
[0128] 在步骤804,移动应用可以做出请求以挂起与账户关联的(若干)令牌。移动应用可以生成包括标识要被挂起的令牌的令牌密钥的应用对象。移动应用还可以生成定义成功和失败方法的响应回调对象。移动应用可以向令牌SDK传送应用对象和响应回调对象。
[0129] 在步骤806,令牌SDK可以与令牌服务器计算机通信以请求令牌服务器计算机挂起与账户关联的令牌。一旦接收请求(消息),令牌服务器计算机可以挂起令牌,并向令牌SDK返回挂起的令牌。令牌SDK可以存储挂起的令牌并通知移动应用。
[0130] 如图8中图示的,挂起令牌过程包括生命周期管理调用以挂起一个令牌或多个令牌。调用针对令牌服务器计算机做出,并且当接收确认令牌挂起的成功响应时,令牌的状态在令牌SDK数据存储器中被修改成新状态。针对用于激活令牌服务器计算机中挂起的令牌的令牌恢复方法(之后是激活用户装置上的令牌)以及用于从令牌服务器计算机删除令牌的删除令牌方法(之后是从用户装置删除),可以提供类似的流程。
[0131] II.移动应用提供者计算机-令牌服务器计算机集成选项
[0132] 在一些实施例中,令牌SDK可以经由移动应用提供者(MAP)计算机与移动应用和令牌服务器计算机集成在一起。移动应用可以主要使用令牌SDK以发起对此类集成中的令牌服务器计算机的访问。不过,移动应用和令牌服务器计算机之间的集成是通过MAP计算机的。即,令牌SDK并不直接与令牌服务器计算机交互。
[0133] 图9图解说明MAP计算机-令牌服务器计算机集成,其中,移动应用111通过MAP计算机140与令牌服务器计算机160交互。
[0134] 如上文讨论的,移动应用111可以从MAP计算机140接收加密的用户数据(例如加密的支付数据,诸如加密的支付账号)。移动应用111可以向令牌SDK 112传送加密的用户数据以用于获得代表与加密的用户数据关联的账户的令牌。移动应用111可以通过向令牌SDK发送令牌储备请求消息请求令牌SDK 112以从令牌服务器计算机160获得令牌(步骤901)。令牌SDK 112可以生成令牌储备请求消息,并将该消息经由MAP计算机140向令牌服务器计算机160发送(步骤902、903和904)。
[0135] 此集成模式可以使应用开发人员通过其应用(诸如使用MAP计算机)与令牌服务器计算机联系。在一些实施例中,为了标准化应用开发人员的过程,令牌SDK可以提供称作令牌提供者的接口以执行各种不同的方法。
[0136] 令牌提供者可以执行令牌请求方法以通过其MAP计算机140联系令牌服务器计算机160。令牌SDK 112可以对由移动应用111在储备请求消息(在步骤901发送)中传送的令牌提供者对象调用此方法。具体地,在步骤901,移动应用111可以调用令牌SDK方法,指定请求、针对移动应用的回调和与令牌提供者连接的通常代表MAP计算机140上的服务器的对象。令牌提供者对象指定要被填充的响应和被称作SDK回调的另一回调,其可以用来通过令牌请求方法回调到令牌SDK 112。
[0137] 在步骤902,令牌SDK 112可以准备请求并向移动应用111提供此请求。具体地,令牌SDK 112可以调用令牌提供者对象的令牌请求方法,指定请求参数和针对SDK回调的引用。
[0138] 在步骤903,移动应用111可以向MAP计算机140提供请求。即,在步骤904,令牌请求方法执行由移动应用111指定的动作以与MAP计算机140连接,并从令牌服务器计算机160获得信息(例如令牌)。MAP计算机140可以与令牌服务器计算机160通过令牌服务器计算机API 180交互以请求和接收令牌(步骤904)。
[0139] 一旦MAP计算机140从令牌服务器计算机160接收响应,MAP计算机140可以向移动应用111转发接收的消息(步骤905)。移动应用可以把响应转换成可以由令牌SDK 112阅读和使用的格式。例如,响应一开始可以以JSON格式接收,并且可以转换成由令牌SDK 112指定的Java对象格式。在步骤906,移动应用111可以把来自令牌服务器计算机160的格式化响应向令牌SDK 112转发。
[0140] 在步骤906,移动应用111可以用从MAP计算机140接收的响应填充响应对象(在令牌提供者的回调中指定的)。移动应用把响应对象返回令牌请求方法。移动应用111对提供者回调调用成功方法或失败方法,并在这些方法中传送响应对象。移动应用111可以在令牌请求方法内进行此操作。
[0141] 移动应用111可以执行至少两种回调。一种回调可以是移动应用111通知令牌SDK 112上文讨论的令牌请求方法的成功或失败。当移动应用111得到针对其对MAP计算机140(例如令牌请求方法)请求的成功响应时,则移动应用111可以提供包含要存储在令牌SDK 
112中的数据的响应对象(步骤906)。如果令牌请求方法失败,则应用对回调调用失败函数。
此外,当移动应用111已经通知令牌SDK 112对MAP计算机140发出的请求的成功或失败时,令牌SDK 112则可以调用第二种回调以使移动应用111知道储备请求的成功/失败(步骤
907)。具体地,令牌SDK 112回调可以调用移动应用回调的成功方法或失败方法,以向移动应用111返回响应。移动应用的回调是在步骤901中移动应用111做出请求时指定的标准回调。
[0142] 在此第二示例性集成配置中,移动应用111与MAP计算机140通信(步骤903),MAP计算机140处理与令牌服务器计算机160的交互(步骤904)。MAP计算机140然后向移动应用111提供从令牌服务器计算机160接收的响应数据(步骤905)。移动应用111将来自MAP计算机140的响应向令牌SDK 112提供(步骤906)。与第一示例性集成配置类似,令牌SDK 112使用回调向移动应用111提供结果(指示令牌是否被成功地储备)(步骤907)。
[0143] 图10-13图解说明由图9中图示的MAP计算机-令牌服务器计算机集成系统执行的各个过程的流程图。具体地,图10示出示例性认证过程的流程图;图11示出示例性储备过程的流程图;图12示出示例性动态参数补充过程的流程图;图13示出图9中图示的系统的示例性挂起过程的流程图。接下来讨论每个流程图。
[0144] 图10示出针对具有与MAP计算机-令牌服务器计算机集成配置对应的第二示例性集成配置的系统的示例性认证过程1000的流程图。在步骤1002,移动应用可以创建令牌SDK的实例,其会用安全模块加密敏感数据,并将其存储在令牌SDK数据存储器上。
[0145] 在步骤1004,一旦用户提供其凭证(诸如用户名和口令)以登录到应用,移动应用就对用户认证。在步骤1006,移动应用从令牌SDK接收认证所需的装置数据。移动应用然后调用MAP计算机用于用令牌服务器计算机进行认证。MAP计算机可以编译用于认证的必需信息。例如,MAP计算机可以编译针对访问令牌认证方法的JWT。可能需要调用令牌API以得到访问令牌。令牌服务器计算机可以接受JWT并提供访问令牌。令牌服务器计算机还可以注册装置,并响应于装置细节返回会话ID。
[0146] 在步骤1008,移动应用可以接收认证完成的指示。
[0147] 图11示出针对具有与MAP计算机-令牌服务器计算机集成配置对应的第二示例性集成配置的系统的示例性储备过程1100的流程图。在步骤1102,移动应用可以创建令牌储备请求所需的对象(例如令牌储备方法)。移动应用可以创建包含加密的用户数据的储备令牌参数对象。移动应用还创建包含与MAP计算机通信以用于令牌储备的功能的令牌提供者对象。移动应用还可以创建定义成功和失败方法的响应回调对象。移动应用可以向令牌储备方法传送储备令牌参数、令牌提供者和响应回调对象。如图11中图示的,令牌储备方法可以被移动应用调用,以检索并存储用于具体的账户和/或信道的令牌信息。
[0148] 在步骤1104,令牌储备方法可以调用令牌SDK方法以与令牌服务器计算机通信,请求加密的用户信息的标记化。在步骤1106,此调用可以向MAP计算机传送。此调用可以使MAP计算机执行令牌提供者方法,使MAP计算机执行其自己的网络调用以采集令牌。具体地,MAP计算机可以与令牌服务器计算机交互。令牌服务器计算机可以接收加密的用户数据,标识与加密的用户数据关联的账户,生成代表账户的令牌,存储令牌,并向MAP计算机发送令牌。MAP计算机可以在回调中向令牌SDK传送令牌。令牌SDK 112然后可以存储令牌。
[0149] 在步骤1108,外部回调然后可以向移动应用返回成功,交还针对令牌储备请求的响应,其可以包含唯一地标识储备的令牌的令牌密钥。移动应用可以保持令牌密钥,以便做出关于关联的令牌的后续调用。移动应用并不访问令牌本身。
[0150] 在此集成模型中,移动应用并不需要提供用户数据(例如支付账户信息,诸如PAN或PAN参考标识符)。MAP计算机响应于由MAP计算机做出的储备请求提供来自令牌服务器计算机的令牌数据。MAP计算机通过内部回调向令牌SDK提供令牌。
[0151] 图12示出针对具有与MAP计算机-令牌服务器计算机集成配置对应的第二示例性集成配置的系统的示例性动态参数补充过程1200的流程图。动态数据补充方法可以由具有客户补充提供者(例如网络调用程序)的移动应用调用,以补充用于令牌的动态数据。例如,令牌SDK可以提供管理限制使用密钥补充的两种方法:第一种方法用于周期性(例如每个小时)检查限制使用密钥存活时间阈值是否已经期满,并在存活时间(TTL)期满时触发补充意图,第二种方法用于捕获由第一种方法触发的补充意图。
[0152] 在步骤1202,移动应用可以标识令牌的TTL接近期满,并开始编译补充令牌请求所需的对象。移动应用可以创建包含加密的用户数据的补充参数对象。补充参数对象还可以包含标识令牌的令牌密钥。移动应用还创建包含与MAP计算机通信以用于令牌补充的功能的补充提供者对象。移动应用还可以创建定义成功和失败方法的响应回调对象。移动应用可以向动态数据补充方法传送补充参数、补充提供者和响应回调对象。
[0153] 在步骤1204,动态数据补充方法可以调用令牌SDK方法以与令牌服务器计算机通信,请求动态令牌参数的补充,并提供关联的令牌数据。在步骤1206,此调用可以向MAP计算机传送。此调用可以使MAP计算机执行补充提供者方法,使MAP计算机执行其自己的网络调用以采集令牌补充响应。具体地,MAP计算机可以与令牌服务器计算机交互。令牌服务器计算机可以接收补充请求,补充令牌SDK和关联的TTL信息。MAP计算机可以在回调中向令牌SDK 112传送补充的令牌SDK和关联的TTL信息。令牌SDK 112然后可以存储信息。
[0154] 在步骤1208,外部回调然后可以向移动应用返回成功,交还针对令牌储备请求的响应,其可以包含唯一地标识储备的令牌的令牌密钥。移动应用可以保持令牌密钥以便做出关于关联的令牌的后续调用。移动应用并不访问令牌本身。
[0155] 图13示出针对具有与MAP计算机-令牌服务器计算机集成配置对应的第二示例性集成配置的系统的示例性挂起过程1300的流程图。在步骤1302,移动应用平台可以向移动应用发送消息以挂起移动装置上加载的令牌。
[0156] 在步骤1304,移动应用可以做出请求以挂起与账户关联的(若干)令牌。移动应用可以生成包括标识要被挂起的令牌的令牌密钥的参数应用对象,并且如果适用生成指示令牌应当被挂起的原因以及原因描述的原因代码。移动应用还创建包含与MAP计算机通信以用于挂起请求的功能的挂起令牌对象。移动应用还可以创建定义成功和失败方法的响应回调对象。移动应用可以向令牌挂起方法传送参数、挂起令牌提供者和响应回调对象。
[0157] 在步骤1306,令牌挂起方法可以调用令牌SDK方法与令牌服务器计算机通信以请求挂起令牌。令牌挂起方法可以挂起令牌服务器计算机中的令牌,之后挂起用户装置上的令牌。在步骤1308,针对令牌SDK的调用可以向MAP计算机传送。此调用可以使MAP计算机执行其自己的网络调用以采集令牌状态响应。具体地,MAP计算机可以与令牌服务器计算机交互。令牌服务器计算机可以接收挂起的令牌请求,挂起令牌,并向MAP计算机发送更新的令牌状态(即挂起的)。MAP计算机可以在回调中向令牌SDK 112传送更新的令牌状态。令牌SDK 112然后可以在令牌存储器中存储令牌状态。
[0158] 在步骤1310,外部回调然后可以向移动应用返回成功。
[0159] 图13中图示的令牌挂起方法可以包括挂起一个令牌或挂起多个令牌的生命周期管理调用。调用可以向令牌服务器计算机做出,并且当接收确认令牌挂起的成功响应时,令牌的状态可以在令牌SDK数据存储器中被修改。在一些实施例中,一次能够挂起一个令牌。
[0160] 示例性计算机系统
[0161] 图1A-1B中示出的各个参与方和元件可以操作一个或多个计算机设备(例如服务器计算机)以促进本文中描述的功能。图1A-1B中的任何元件可以使用任何适当数目的子系统以促进本文中描述的功能。这些子系统或部件的示例示于图14中。示出了诸如打印机1408、键盘1416、固定磁盘1418(或包括计算机可读介质的其它存储器)、耦连至显示适配器
1410的监视器1412以及其它的子系统。外围设备和输入/输出(I/O)装置耦连至I/O控制器
1402,其可以由本领域已知的许多手段(诸如串行端口1414)连接至计算机系统。例如,串行端口1414或外部接口1420可以用来把计算机设备连接至广域网(诸如互联网)、鼠标输入装置或扫描仪。经由系统总线的互连使中央处理器1406与每个子系统通信,并控制来自系统存储器1404或固定磁盘1418的指令的执行,以及信息在子系统之间的交换。
[0162] 关于上文描述的方面中的一些的特定细节在下文提供。在不偏离本发明的精神和范围下,特定方面的特定细节可以以任何适当方式组合。
[0163] 用于包含代码或代码部分的存储介质和计算机可读介质可以包括本领域已知或使用的任何适当介质,包括存储介质和通信介质,诸如但不限于以用于存储和/或传输信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术实现的易失性和非易失性,可移动和不可移动介质,包括RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁存储装置、数据信号、数据传输或可以用来存储或传输期望信息并且可以由计算机访问的任何其它介质。基于本文中提供的公开和教导,本领域技术人员可以认识到实现各个实施例的其它方式和/或方法。
[0164] 应当理解,如上文描述的本发明可以使用模块化或集成方式的计算机软件以控制逻辑的形式实现。基于本文中提供的公开和教导,本领域技术人员可以知道并认识到使用硬件以及硬件和软件的结合实现本发明的其它方式和/或方法。
[0165] 应当理解,如上文描述的本发明可以使用模块化或集成方式的计算机软件以控制逻辑的形式实现。基于本文中提供的公开和教导,本领域技术人员可以知道并认识到使用硬件以及硬件和软件的结合实现本发明的其它方式和/或方法。
[0166] 本申请中描述的任何软件部件或功能可以使用任何适当的计算机语言(比方说例如Java、C++或Perl)使用例如传统的或面向对象的技术实现为由处理器执行的软件代码。软件代码可以存储为计算机可读介质(诸如随机存取存储器(RAM)、只读存储器(ROM)、磁介质(诸如硬盘或软盘)或光介质(诸如CD-ROM))上的一系列指令或命令。任何这些计算机可读介质可以驻存在单个运算设备上或内部,并且可以存在于系统或网络内的不同运算设备上或内部。
[0167] 上文的描述是示意性的不是限制性的。在查看本公开后,本发明的许多变形对本领域技术人员是显然的。因此,本发明的范围应当不参考上文的描述确定,而是应当参考所附权利要求连同其全部范围或等同物确定。
[0168] 在不偏离本发明的范围下,来自任一实施例的一个或多个特征可以与其余任何实施例的一个或多个特征组合。
[0169] 对“一(a)”、“一(an)”或“所述(the)”的叙述旨在表示“一个或多个”,除非明确指示为相反。