用于授权利用不可预期密码的交易的系统和方法转让专利

申请号 : CN201910274678.1

文献号 : CN110111087A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 道格拉斯·C·耶格尔

申请人 : D·耶格尔

摘要 :

本发明涉及用于授权利用不可预期密码的交易的系统和方法,包括:使用远程永久的使用密码的密钥来计算预期包括数字凭证数据的至少一部分的预期密码,其中所述远程永久的使用密码的密钥被持久地存储在远离移动设备的远程源处,并且其中移动设备不访问持久地本地存储到移动设备的复制本地永久的使用密码的密钥;执行销售点终端和移动设备之间的询问,包括:通过通信信道将至少一个POS命令通信从销售点终端发送到请求数字凭证数据的移动设备;以及通过所述通信信道将至少一个设备响应通信从移动设备发送到包括作为数字凭证数据的至少一部分的预期密码的销售点终端;其中所述财务交易被授权。

权利要求 :

1.一种移动设备,包括:

控制器,被配置成路由经通信信道从电子读卡器接收的通信;

无线接口,用于连接到与所述通信信道分离的无线网络;

处理器;

应用程序,其在所述移动设备的操作系统中运行,并且能被销售点针对数字凭证的数字凭证数据进行询问,其中所述应用程序不能访问所述数字凭证的永久的使用密码的密钥,其中所述移动设备被配置成:在询问前:

从包括多个安全元件表示的远程应用程序系统请求用于特定安全元件的交易缓存,其中交易缓存数据包含为制定对APDU命令的APDU响应所需的数据以及临时的使用密码的密钥,该密钥与将在销售点询问期间所使用的帐户相关联;

在接收到所述交易缓存之后,根据卡规范参与在销售点终端和所述移动设备之间的询问,其中参与所述询问包括:在移动设备处根据卡规范通过所述通信信道从所述销售点终端接收至少一个销售点命令通信,所述至少一个销售点命令通信请求数字凭证数据,所述至少一个销售点命令通信包括(a)APDU命令密码请求以及(b)不可预知数据;

所述移动设备使用所述不可预知数据和所述临时的使用密码的密钥来生成不可预知密码,且制定包含使用所述临时的使用密码的密钥生成的不可预知密码以及来自所述销售点终端的不可预知数据的响应APDU,其中所述不可预知密码是哈希;以及通过所述通信信道将至少一个设备响应通信从所述移动设备发送到所述销售点终端,所述至少一个设备响应通信包括帐户标识符和包含所述不可预知密码的所述响应APDU;以及在后续的询问之前:

更新或替换与所述帐户相关联的所述临时的使用密码的密钥以用于后续交易。

2.根据权利要求1所述的移动设备,其中,

不可预知数据包括不可预知号码。

3.根据权利要求1所述的移动设备,其中,

不可预知数据包括交易量。

4.根据权利要求1所述的移动设备,其中所述移动设备被配置成从远程源接收关键数据,其中所述关键数据包括用于将数字凭证数据的至少一部分用数字表示为数字凭证数据的本地部分的数据,并且其中所述关键数据包括所述临时的使用密码的密钥。

5.根据权利要求4所述的移动设备,其中所述移动设备被配置成将所述关键数据的至少一部分瞬时地存储在所述移动设备上,其中所述移动设备不会持久地存储关键数据的该至少一部分。

6.根据权利要求1所述的移动设备,其中所述临时的使用密码的密钥是在远程应用程序系统之处创建的,并且与所述特定安全元件相关联。

7.根据权利要求1所述的移动设备,其中使用所述临时的使用密码的密钥生成所述不可预知密码包括按照数字加密标准计算使用所述临时的使用密码的密钥来加密输入的组以生成输出,其中所述不可预知密码包括所述输出的一部分但不是全部。

8.根据权利要求1所述的移动设备,其中所述移动设备在所述询问期间不联系所述远程应用程序系统。

9.根据权利要求1所述的移动设备,其中所述临时的使用密码的密钥与发卡行主密钥相关联。

10.根据权利要求1所述的移动设备,其中所述移动设备被配置成在授权步骤中将不可预知数据从所述移动设备发送到远程应用程序系统。

11.根据权利要求1所述的移动设备,其中所述销售点命令通信遵守ISO7816-4数据协议,并且所述设备响应通信遵守ISO7816-4数据协议。

12.根据权利要求1所述的移动设备,其中所述通信信道包括近场通信信道。

13.根据权利要求1所述的移动设备,其中所述移动设备不访问预期用于计算所述不可预知密码的本地持久存储的永久的使用密码的密钥,其中预期要将所述不可预知密码包含在所述数字凭证的至少一部分内。

14.一种用于安全交易的系统,包括:

远程应用程序系统,其包括多个安全元件表示,

移动设备,其包括应用程序,所述应用程序在所述移动设备的操作系统中运行,并且能被销售点针对数字凭证的数字凭证数据进行询问,其中所述应用程序不能访问所述数字凭证的永久的使用密码的密钥,其中所述移动设备被配置成:在询问前:

从所述远程应用程序系统请求用于特定安全元件的交易缓存,其中交易缓存数据包含为制定对APDU命令的APDU响应所需的数据以及临时的使用密码的密钥,该密钥与将在销售点询问期间所使用的帐户相关联;

在接收到所述交易缓存之后,根据卡规范参与在销售点终端和所述移动设备之间的询问,其中参与所述询问包括:在移动设备处根据卡规范通过所述通信信道从所述销售点终端接收至少一个销售点命令通信,所述至少一个销售点命令通信请求数字凭证数据,所述至少一个销售点命令通信包括(a)APDU命令密码请求以及(b)不可预知数据;

所述移动设备使用所述不可预知数据和所述临时的使用密码的密钥来生成不可预知密码,且制定包含使用所述临时的使用密码的密钥生成的不可预知密码以及来自所述销售点终端的不可预知数据的响应APDU,其中所述不可预知密码是哈希;以及通过所述通信信道将至少一个设备响应通信从所述移动设备发送到所述销售点终端,所述至少一个设备响应通信包括帐户标识符和包含所述不可预知密码的所述响应APDU;以及在后续的询问之前:

更新或替换与所述帐户相关联的所述临时的使用密码的密钥以用于后续交易。

15.根据权利要求14所述的用于安全交易的系统,其中,

所述不可预知数据包括不可预知号码。

16.根据权利要求14所述的用于安全交易的系统,其中,

所述不可预知数据包括交易量。

17.根据权利要求14所述的用于安全交易的系统,其中所述移动设备被配置成从远程源接收关键数据,其中所述关键数据包括用于将数字凭证数据的至少一部分用数字表示为数字凭证数据的本地部分的数据,并且其中所述关键数据包括所述临时的使用密码的密钥。

18.根据权利要求17所述的用于安全交易的系统,其中所述移动设备被配置成将所述关键数据的至少一部分瞬时地存储在所述移动设备上,其中所述移动设备不会持久地存储关键数据的该至少一部分。

19. 根据权利要求14所述的用于安全交易的系统,其中所述远程应用程序系统被配置成:在所述远程应用程序系统处创建所述临时的使用密码的密钥,并且将所述临时的使用密码的密钥与所述特定安全元件相关联。

20.根据权利要求14所述的用于安全交易的系统,其中使用所述临时的使用密码的密钥生成所述不可预知密码包括按照数字加密标准计算使用所述临时的使用密码的密钥来加密输入的组以生成输出,其中所述不可预知密码包括所述输出的一部分但不是全部。

21.根据权利要求14所述的用于安全交易的系统,其中所述移动设备在所述询问期间不联系所述远程应用程序系统。

22.根据权利要求14所述的用于安全交易的系统,其中所述临时的使用密码的密钥与发卡行主密钥相关联。

23.根据权利要求14所述的用于安全交易的系统,其中所述远程应用程序系统被配置成执行授权步骤,所述授权步骤包括:从所述销售点终端接收授权请求,所述授权请求包括所述不可预知密码;

由所述应用程序系统验证所述不可预知密码的正确性,其中将所接收的不可预知密码与密码计算的结果进行比较,所述结果包括使用与交易相关联的所述临时的使用密码的密钥而生成的密码;以及从所述远程应用程序系统向所述销售点发送授权响应,其中至少部分地通过验证所接收的不可预知密码的正确性来确定包含在所述授权响应中的数据。

24.根据权利要求23所述的用于安全交易的系统,其中所述授权请求还包括所述不可预知数据,其中所述计算的结果基于所述不可预知数据。

25.根据权利要求24所述的方法,其中所述授权请求还包括来自所述交易的值,并且所述销售点终端将所述来自所述交易的值、所述不可预知密码和帐户标识符以ISO8583格式传送给所述应用程序系统。

26.根据权利要求14所述的用于安全交易的系统,其中所述远程应用程序系统被配置成:通过第二通信信道从所述销售点终端接收包括不可预知数据和不可预知密码的授权请求;

在所述远程应用程序系统处通过第三通信信道从所述移动设备接收不可预知数据;

在所述远程应用程序系统中验证所述不可预知密码的正确性;

通过将通过所述第二通信信道接收的不可预知数据和通过所述第三通信信道接收的不可预知数据进行比较来在所述远程应用程序系统中验证不可预知数据的正确性;

通过所述第二通信信道将授权响应从所述远程应用程序系统发送到所述销售点终端,其中至少部分通过验证所述不可预知数据的正确性以及至少部分通过验证所述不可预知密码的正确性来确定包含在所述授权响应中的数据。

27.根据权利要求26所述的用于安全交易的系统,其中所述移动设备被配置成:将交易量数据显示到所述移动设备上的显示器,其中所述交易量数据是所述不可预知数据的至少一部分;

通过移动设备显示器屏幕从持卡人请求交易量数据的验证;

将交易量数据的请求验证的结果发送到远程应用程序系统作为输入交易量数据;以及其中所述远程应用程序系统被配置成至少部分地通过使用所述交易量数据的输入来确定验证不可预知数据的步骤的结果的准确性。

说明书 :

用于授权利用不可预期密码的交易的系统和方法

技术领域

[0001] 本申请是申请号为201280053080.6、申请日为2012-08-30、发明名称为“用于授权利用不可预期密码的交易的系统和方法”的发明专利申请的分案申请。本公开涉及支付和授权方法的领域。更特别地,本公开涉及使用与远程托管的安全元件表示结合的移动计算设备来进行支付、授权或与其他设备交换信息。

背景技术

[0002] 在一些诸如智能卡支付的支付技术中,将被称为“安全元件”(SE)的微芯片嵌入到支付卡、支付饰物(奖章)、手机、或可以用来进行支付的其他移动设备中。为了简化本文档中的语言,容纳SE的设备将被称为“卡”或“卡设备”。重要的是要注意,该“卡”或“卡设备”在物理上可能不像典型支付卡的形状或尺寸,并且可能以各种形状因子来出现,诸如嵌入到移动电话中或嵌入到可移除存储装置或可移除设备中。而且,重要的是要注意,SE可以是基于仿真软件的SE并且严格来讲不基于硬件。例如,事实上具有数字存储器或处理器或控制器的任何电子设备可能被适配成仿真并假装成SE。
[0003] 为了从SE提取信息,需要询问器(在该文档中也被称为“读卡器”)与SE电交互。读卡器通常遵循由国际标准化组织(ISO)和国际电工委员会(IEC)以及由应用供应商(诸如VISA和MASTERCARD)提出的标准。
[0004] 安全元件系统通常需要用户具有卡的物理占有,所述卡与进行购买的商业系统的授权能力相匹配。在许多例子中,这是不方便的。因此,需要用于授权财务交易的更灵活和方便的系统和方法。

发明内容

[0005] 为此本发明提供一种移动设备,包括:控制器,被配置成路由经通信信道从电子读卡器接收的通信;无线接口,用于连接到与所述通信信道分离的无线网络;处理器;应用程序,其在所述移动设备的操作系统中运行,并且能被销售点针对数字凭证的数字凭证数据进行询问,其中所述应用程序不能访问所述数字凭证的永久的使用密码的密钥,其中所述移动设备被配置成:在询问前:从包括多个安全元件表示的远程应用程序系统请求用于特定安全元件的交易缓存,其中交易缓存数据包含为制定对APDU命令的APDU响应所需的数据以及临时的使用密码的密钥,该密钥与将在销售点询问期间所使用的帐户相关联;在接收到所述交易缓存之后,根据卡规范参与在销售点终端和所述移动设备之间的询问,其中参与所述询问包括:
在移动设备处根据卡规范通过所述通信信道从所述销售点终端接收至少一个销售点命令通信,所述至少一个销售点命令通信请求数字凭证数据,所述至少一个销售点命令通信包括(a)APDU命令密码请求以及(b)不可预知数据;所述移动设备使用所述不可预知数据和所述临时的使用密码的密钥来生成不可预知密码,且制定包含使用所述临时的使用密码的密钥生成的不可预知密码以及来自所述销售点终端的不可预知数据的响应APDU,其中所述不可预知密码是哈希;以及通过所述通信信道将至少一个设备响应通信从所述移动设备发送到所述销售点终端,所述至少一个设备响应通信包括帐户标识符和包含所述不可预知密码的所述响应APDU;以及在后续的询问之前:更新或替换与所述帐户相关联的所述临时的使用密码的密钥以用于后续交易。根据所述的移动设备的优选方案,不可预知数据包括不可预知号码。不可预知数据包括交易量。所述移动设备被配置成从远程源接收关键数据,其中所述关键数据包括用于将数字凭证数据的至少一部分用数字表示为数字凭证数据的本地部分的数据,并且其中所述关键数据包括所述临时的使用密码的密钥。所述移动设备被配置成将所述关键数据的至少一部分瞬时地存储在所述移动设备上,其中所述移动设备不会持久地存储关键数据的该至少一部分。所述临时的使用密码的密钥是在远程应用程序系统之处创建的,并且与所述特定安全元件相关联。使用所述临时的使用密码的密钥生成所述不可预知密码包括按照数字加密标准计算使用所述临时的使用密码的密钥来加密输入的组以生成输出,其中所述不可预知密码包括所述输出的一部分但不是全部。所述移动设备在所述询问期间不联系所述远程应用程序系统。所述临时的使用密码的密钥与发卡行主密钥相关联。所述移动设备被配置成在授权步骤中将不可预知数据从所述移动设备发送到远程应用程序系统。所述销售点命令通信遵守ISO7816-4数据协议,并且所述设备响应通信遵守ISO7816-4数据协议。所述通信信道包括近场通信信道。所述移动设备不访问预期用于计算所述不可预知密码的本地持久存储的永久的使用密码的密钥,其中预期要将所述不可预知密码包含在所述数字凭证的至少一部分内。本发明还相应地提供一种用于安全交易的系统,包括:远程应用程序系统,其包括多个安全元件表示,移动设备,其包括应用程序,所述应用程序在所述移动设备的操作系统中运行,并且能被销售点针对数字凭证的数字凭证数据进行询问,其中所述应用程序不能访问所述数字凭证的永久的使用密码的密钥,其中所述移动设备被配置成:在询问前:从所述远程应用程序系统请求用于特定安全元件的交易缓存,其中交易缓存数据包含为制定对APDU命令的APDU响应所需的数据以及临时的使用密码的密钥,该密钥与将在销售点询问期间所使用的帐户相关联;在接收到所述交易缓存之后,根据卡规范参与在销售点终端和所述移动设备之间的询问,其中参与所述询问包括:在移动设备处根据卡规范通过所述通信信道从所述销售点终端接收至少一个销售点命令通信,所述至少一个销售点命令通信请求数字凭证数据,所述至少一个销售点命令通信包括(a)APDU命令密码请求以及(b)不可预知数据;所述移动设备使用所述不可预知数据和所述临时的使用密码的密钥来生成不可预知密码,且制定包含使用所述临时的使用密码的密钥生成的不可预知密码以及来自所述销售点终端的不可预知数据的响应APDU,其中所述不可预知密码是哈希;以及通过所述通信信道将至少一个设备响应通信从所述移动设备发送到所述销售点终端,所述至少一个设备响应通信包括帐户标识符和包含所述不可预知密码的所述响应APDU;以及在后续的询问之前:更新或替换与所述帐户相关联的所述临时的使用密码的密钥以用于后续交易。根据所述的用于安全交易的系统的优选方案,所述不可预知数据包括不可预知号码。所述不可预知数据包括交易量。所述移动设备被配置成从远程源接收关键数据,其中所述关键数据包括用于将数字凭证数据的至少一部分用数字表示为数字凭证数据的本地部分的数据,并且其中所述关键数据包括所述临时的使用密码的密钥。
所述移动设备被配置成将所述关键数据的至少一部分瞬时地存储在所述移动设备上,其中所述移动设备不会持久地存储关键数据的该至少一部分。所述远程应用程序系统被配置成:在所述远程应用程序系统处创建所述临时的使用密码的密钥,并且将所述临时的使用密码的密钥与所述特定安全元件相关联。使用所述临时的使用密码的密钥生成所述不可预知密码包括按照数字加密标准计算使用所述临时的使用密码的密钥来加密输入的组以生成输出,其中所述不可预知密码包括所述输出的一部分但不是全部。所述移动设备在所述询问期间不联系所述远程应用程序系统。所述临时的使用密码的密钥与发卡行主密钥相关联。所述远程应用程序系统被配置成执行授权步骤,所述授权步骤包括:从所述销售点终端接收授权请求,所述授权请求包括所述不可预知密码;由所述应用程序系统验证所述不可预知密码的正确性,其中将所接收的不可预知密码与密码计算的结果进行比较,所述结果包括使用与交易相关联的所述临时的使用密码的密钥而生成的密码;以及从所述远程应用程序系统向所述销售点发送授权响应,其中至少部分地通过验证所接收的不可预知密码的正确性来确定包含在所述授权响应中的数据。所述授权请求还包括所述不可预知数据,其中所述计算的结果基于所述不可预知数据。所述授权请求还包括来自所述交易的值,并且所述销售点终端将所述来自所述交易的值、所述不可预知密码和帐户标识符以ISO8583格式传送给所述应用程序系统。所述远程应用程序系统被配置成:通过第二通信信道从所述销售点终端接收包括不可预知数据和不可预知密码的授权请求;在所述远程应用程序系统处通过第三通信信道从所述移动设备接收不可预知数据;在所述远程应用程序系统中验证所述不可预知密码的正确性;通过将通过所述第二通信信道接收的不可预知数据和通过所述第三通信信道接收的不可预知数据进行比较来在所述远程应用程序系统中验证不可预知数据的正确性;通过所述第二通信信道将授权响应从所述远程应用程序系统发送到所述销售点终端,其中至少部分通过验证所述不可预知数据的正确性以及至少部分通过验证所述不可预知密码的正确性来确定包含在所述授权响应中的数据。所述移动设备被配置成:
将交易量数据显示到所述移动设备上的显示器,其中所述交易量数据是所述不可预知数据的至少一部分;通过移动设备显示器屏幕从持卡人请求交易量数据的验证;将交易量数据的请求验证的结果发送到远程应用程序系统作为输入交易量数据;以及其中所述远程应用程序系统被配置成至少部分地通过使用所述交易量数据的输入来确定验证不可预知数据的步骤的结果的准确性。在一个实施例中,这里提供的是一种用于通过销售点终端从移动设备获取数字凭证数据以便授权财务交易的方法。该实施例包括步骤:使用远程永久的使用密码的密钥来计算预期包括数字凭证数据的至少一部分的预期密码。在该实施例中,远程永久的使用密码的密钥被持久地存储在远离移动设备的远程源处,并且移动设备不存储或访问持久地本地存储到移动设备的复制本地永久的使用密码的密钥。该实施例还包括步骤:执行销售点终端和移动设备之间的询问。该执行询问步骤包括通过通信信道将至少一个POS命令通信从销售点终端发送到请求数字凭证数据的移动设备。该执行询问步骤还包括通过所述通信信道将至少一个设备响应通信从移动设备发送到包括作为数字凭证数据的至少一部分的预期密码的销售点终端,使得所述财务交易被授权。
[0006] 另一实施例提供用于通过销售点终端从移动设备获取数字凭证数据以便授权财务交易的另一方法。该实施例包括步骤:执行销售点终端和移动设备之间的询问。该执行询问步骤包括:通过通信信道将至少一个POS命令通信从销售点终端发送到移动设备,所述至少一个POS命令通信包括(a)对预期包括预期密码的数字凭证数据的请求,所述预期密码被预期至少部分根据不可预知数据以及至少部分根据永久的使用密码的密钥来计算;以及(b)不可预知数据。该执行询问步骤还包括:通过所述通信信道将至少一个设备响应通信从移动设备发送到销售点终端,所述至少一个设备响应通信包括数字凭证数据的至少一部分,所述数字凭证数据包括代替所述预期密码的不可预期密码,使得所述财务交易被授权。
[0007] 另一实施例提供一种用于通过销售点终端从安全移动设备获取数字凭证数据以用于财务交易的授权的方法。该实施例包括步骤:执行销售点终端和安全移动设备之间的询问。在该实施例中,执行询问的步骤包括:通过通信信道将至少一个POS命令通信从销售点终端发送到安全移动设备,所述至少一个POS命令通信包括(a)对预期包括预期密码的数字凭证数据的请求,所述预期密码是预期至少部分根据不可预知数据以及至少部分根据永久的使用密码的密钥计算的;以及(b)不可预知数据。在该实施例中,执行询问的步骤还包括:通过所述通信信道将至少一个设备响应通信从安全移动设备发送到销售点终端,所述至少一个设备响应通信包括数字凭证数据的至少一部分,其包括所述预期密码。然后,在执行询问的步骤之后的步骤中,提供安全移动设备传送步骤,其包括通过第二通信信道将不可预知数据从安全移动设备发送到远程应用程序系统。还在该实施例中,在执行询问的步骤之后的步骤中,提供销售点终端传送步骤,其包括通过第三通信信道将授权请求从销售点终端发送到远程应用程序系统,所述授权请求包括预期密码和不可预知数据。此外,在安全移动设备传送步骤和销售点终端传送步骤之后的步骤中,提供确证的授权步骤。确证的授权步骤包括:由应用程序系统验证所述预期密码的正确性;以及由应用程序系统通过将通过所述第二通信信道发送的不可预知数据和通过所述第三通信信道发送的不可预知数据进行比较来验证不可预知数据的正确性。确证的授权步骤还包括:通过所述第三通信信道将授权响应从远程应用程序系统发送到销售点终端,其中至少部分通过验证不可预知数据的正确性以及至少部分通过验证预期密码的正确性来确定包含在所述授权响应中的数据,使得所述财务交易被授权。

附图说明

[0008] 通过结合附图参考详细描述,各种优点是显而易见的,其中元件不是按照比例绘制的以便更清楚地示出细节,其中相似的参考数字指示遍及各个视图的相似元件,并且其中:图1图示读卡器和SE之间的命令和响应APDU(应用协议数据单元)流程的实施例;
图2图示读卡器和SE之间的命令和响应APDU流程的实施例,具有关于可以安装在SE上的MASTERCARD PayPass应用的具体细节;
图3图示与读卡器和SE之间的交易的实施例有关的某些原始数据;
图4图示读卡器所需要的用来递送前一询问的结果的格式的实施例;
图5图示包含NFC能力的移动设备的示图的实施例;
图6图示移动设备如何包含NFC能力以及如何将该设备与RFID POS读卡器一起使用的示图的实施例;
图7图示典型RFID POS读卡器和具有NFC或无接触卡的移动设备之间的交互流程的实施例;
图8图示使用安全元件的硬件表示的资源库的实施例;
图9图示使用安全元件的虚拟硬件表示的资源库稍微示意的表示的实施例;
图10图示使用安全元件的硬件表示的资源库的实施例;
图11图示包含NFC能力的移动设备以及该设备如何允许访问安全元件的示图的实施例;
图12图示远程托管的SE的可寻址阵列的图示的实施例;
图13图示用户ID SE地址查找表的实施例;
图14图示使用远程托管的SE的授权流程的实施例;
图15图示包括移动设备和远程托管的SE之间的授权的数据流图的实施例;
图16图示在RFID POS和远程SE之间的MASTERCARD PayPass交易期间使用的缓存的一个示例的实施例;
图17图示在VISA PayWave交易期间使用的100%交易缓存的一个示例的实施例;
图18图示在不将远程SE用于移动手机的情况下使用远程认证服务器来递送静态T1/T2数据的一个示例的实施例;
图19图示如何创建系统来模拟SE的远程托管银行的实施例;
图20图示销售点终端、电子通信设备和资源库之间的通信和通信信道的实施例;
图21图示使用硬件安全模块的应用程序系统的一个示例;
图22图示在处理交易之前来自交易序列的数据元件的实施例;
图23图示获取交易数据以存储在移动设备缓存中的移动设备的实施例;
图24图示销售点和移动设备之间的询问的实施例;
图25图示在询问之后从移动设备和销售点到应用程序系统的交易数据流的实施例;
图26图示在处理交易期间或之后来自交易的数据元件的实施例;
图27图示验证交易数据的实施例;
图28图示移动设备和销售点之间的整个授权数据流的实施例;
图29图示可以用来形成数字凭证的数据元件的实施例;以及
图30图示在移动设备上对于交易的持卡人有效性的请求的实施例。

具体实施方式

[0009] 在下面优选和其他实施例的详细描述中,参考形成该详细描述的一部分的附图,并且在附图中通过图示示出了用于获取数字凭证数据和用于保护对财务交易的授权的系统和方法的具体实施例的实行。要理解,可以利用其他实施例,并且在其他实施例中可以做出结构改变且处理可以变化。
[0010] 在卡发行之前,通常将从“硬件安全模块”(HSM)生成的个人化或“凭证”数据注入SE。HSM安全地包含与特定银行应用程序有关的使用密码的密钥和算法,并且更具体地包含个人数字凭证集合。通常在安全环境中访问HSM,并且决不允许对主密钥的直接访问,该主密钥用于创建多样化密钥或者加密或解密可以提供给HSM的输入数据。
[0011] 通过排除合理怀疑地知道正递送的数据串的确来自特定SE或卡的能力,来提供提取和递送包含在SE内的数据的显著优点。该知识以对于零售商、卡发行银行和卡协会来说较低的风险来创建更安全的交易。传统地,用于从银行卡提取信息的方法包括通过磁条读卡器刷卡上的磁条,或者利用连接到销售点(POS)终端的分离的接触或无接触读卡器提取信息。因为由这些提取卡上信息的方法提供的固有安全性,零售商可能收到针对该特定交易的较低交易费。另一方面,在打电话或网上购物体验期间读取或输入卡的账号、到期日期以及卡验证代码较不安全,并且可能导致较高交易费。
[0012] 重要的是要注意,从SE获取交易数据(诸如等同于位于卡磁条上的数据的磁轨1/磁轨2数据)与简单地使用交易数据的复制品(诸如磁轨1/磁轨2数据的副本)显著不同。卡上的典型磁条是静态数据集合,因为它决不改变在交易或“刷卡”之间的磁轨1/磁轨2数据。因为这个原因,该条上的数据可以简单地被拷贝或复制,以便在不对支付卡进行物理访问的情况下使用。简单地拷贝印刷在卡前面和背面上的卡数字呈现该相同安全性风险。换言之,磁条上的数据可以被拷贝并且甚至编程到另一移动设备,且用于根据副本连续进行交易而没有技术限制。以相同的方式,从卡的正面或前面或背面简单拷贝并且编程到移动设备的卡号还可以连续用于进行交易,而没有技术限制。
[0013] 与从卡上磁条获取交易磁轨1/磁轨2数据进行对比,从SE获取交易磁轨1/磁轨2数据是“独一无二的”。换言之,这些数据具有单次交易或单次“刷卡”的使用寿命,并且然后该数据不再有效。此外,不能通过除了SE之外的任何其他实体来创建在SE的正常使用期间获取的磁轨1/磁轨2数据,所述SE已经利用将(多个)密钥以及他们的访问系统装载到该SE的银行所拥有的至少一个秘密密钥来编程。
[0014] 在已知该差别的情况下,这里公开的各种实施例具体指向SE交易,因为在当前行业银行业以及处理标准下,这些类型的交易的安全性使得架构更可信和安全。
[0015] 通常将包含SE的卡呈现给作为询问器的RFID(射频识别)读卡器设备,其从卡提取信息并且将数据递送到POS终端的,并且通过POS终端转发到卡处理器上用于授权。包含NFC(近场通信)功能、具有嵌入式SE的移动电话具有假装成(或效仿)包含SE的卡的能力。在这种情况下,可以将移动电话呈现给RFID读卡器,就像将呈现卡那样,并且可以从移动电话上的SE提取信息并且将其递送到POS,所述POS然后将数据转发到卡处理器上以用于授权。
[0016] 图1描述读卡器和SE之间的协议级通信。协议层是被称为APDU的标准协议。APDU代表应用协议数据单元(Application Protocol Data Unit),并且典型地由ISO/IEC规范7816来定义该协议。该规范(通常被称为“ISO 7816”)是具有指向通信协议的不同“层”的不同章节的宽泛规范,如表1中看到的那样。
[0017] 表1
[0018] 这里所称的通信如根据ISO7816-4那样与开放系统互连(OSI)层7相对应。OSI模型是在ISO的开放系统互连努力的产物。OSI层7是高级软件应用层。7816-4规范的APDU章节描述缩写为C-APDU(“命令APDU”)和R-APDU(“响应APDU”)的APDU通信的两种形式。“命令”有时被称为“查询”,因为它们源自具有查询含义的“询问器”。
[0019] 通常在读卡器和SE之间在13.56MHz无线电波上通过空中来传送APDU数据。不存在对该过程的硬件需求限制;APDU命令仅仅是从一个实体移动到另一个实体的数据。这里公开的各种实施例使用标准APDU命令与SE进行交互,而不管SE是移动设备自己的嵌入式SE,还是嵌入到不同移动设备或卡中的远程SE。通信1、2、3和4示出SE和读卡器之间的典型命令和响应的顺序命令。通常访问SE涉及多个步骤,其涉及多个APDU命令和响应。图1示出根据当前在http://www.PayPass.com/approved-products.html可得到的“Mag Stripe.pdf”(版本3.3),访问专用于SE上运行的MASTERCARD PayPass磁条应用程序的数字凭证数据的通用询问步骤。如这里使用的术语“数字凭证数据”指代所有数据的至少一部分,包括计算授权POS终端处的交易的批准必需的数据所需的任何数据。
[0020] 图2描述当读卡器询问SE上运行的MASTERCARD PayPass磁条版本3.3应用程序时预期的详细命令和响应。该序列提供在MASTERCARD PayPass卡规范中。图2中示出的是通信5、6、7、8和9,其中本文随后解释包括缩写和首字母缩略词的细节。
[0021] 图3描述读卡器和卡之间的ISO/IEC 7816-4应用协议数据单元(APDU)协议级处的示例交易。图3中描绘的交易处理代表MASTERCARD PayPass磁条应用程序卡规范版本3.3。符号“>CARD”表示对卡的命令,并且符号“CARD>”表示来自卡的响应。通信9定义在包括由读卡器(SE上维护的交易柜台(counter))发行的不可预知号码的交易中使用的初始参数的一些。通信10描述读卡器发行给SE以找出什么应用程序存在于SE上的命令。该示例示出MASTERCARD PayPass应用程序作为有效的应用程序的响应。接下来,通信11示出读卡器如何命令SE适当地选择用于进一步处理的PayPass应用程序。通信12示出读卡器如何接收PayPass应用程序支持的处理选项的类型。通信13示出读卡器如何命令并且然后接收关于其持卡人的PayPass应用程序专用凭证信息,包括卡账号、持卡人姓名、到期日期以及更多。
通信14示出读卡器如何接收将被插入到磁轨1和磁轨2数据中的交易的动态方面。该命令使用SE上的共享密钥、来自读卡器的不可预知的号码以及SE上的交易柜台,来为调用密码的每个交易确定新的号码序列。在SE计算密码之后,它在响应APDU中将密码发送回到读卡器。
通过早前在该文档中参考的MASTERCARD PayPass卡规范来获取这些数据。通过该卡规范文档详细地解释包括缩写和首字母缩略词的所有细节。
[0022] 图4描述图5中的读卡器21如何将从SE接收的响应数据格式化成现有处理系统中使用的接受的磁轨1和磁轨2数据串。通信15示出从图3中的卡询问构建的磁轨2数据串。CVC3(磁轨3)UN和ATC号码都将随着每个交易或SE的询问而变化。通信16示出根据图3中的卡询问而构建的磁轨1数据串。CVC3(磁轨1)、ATC和UN号码都将随着每个交易或SE的询问而变化。通过早前在本文中参考的MASTERCARD PayPass卡规范来获取这些数据。通过引用的MASTERCARD卡规范文档详细地解释包括缩写和首字母缩略词的所有细节。
[0023] 图5描述支持NFC功能的移动设备的内部架构。在颁发给C.Douglas Yeager的来自美国专利申请号12/019,318的美国专利8,151,345中描述这些设备的示例。通过引用将美国专利8,151,345和美国专利申请号12/019,318于此整体并入。移动设备的基带处理器17通常运行OS(操作系统)来控制该设备上的所有方面和接口,包括对SIM、NFC控制器、安全IC 19的通信访问。NFC控制器充当确定通信被路由到哪里的路由器。基带控制器具有以下选项:
a.通过NFC控制器向读卡器和天线23进行通信以便通过13.56MHz无线电22与外部卡或设备24进行通信。其存在两个模式:
i:外部卡或设备是无源标签。这是读卡器模式
ii:外部卡或设备是点到点模式下的移动设备。
[0024] b.通过NFC控制器向嵌入式安全IC进行通信;c.将NFC控制器配置到卡仿真模式中,在这种情况下NFC控制器将来自外部天线23的信息直接按规定路线发送到安全IC 19或SIM 20。
[0025] 选项a和b二者可以使用APDU数据来在基带处理器17和位于内部SE 19中或到远程SE的应用程序之间交换信息。重要的是要注意,SIM 20或安全IC(SE 19)还可以利用软件来创建并且在基带处理器17内仿真。在图3和4中作图的询问示例可以容易地以上面所有三个模式a、b和c在该系统上实施。这暗示基带处理器17可以在内部安全元件19上执行同样的询问。
[0026] 图6描述具有NFC功能的移动设备和RFID POS读卡器之间的典型交互。移动设备25被设置成NFC模式,在其中其仿真或假装成卡。然后将移动设备25呈现给RFID读卡器27,并且通过13.56MHz基带26通信开始。读卡器然后询问与图1和图2和图3相似的卡,并且像图4中那样将标准化凭证数据编译到磁轨1和磁轨2等同数据中。在某些行业文档中使用术语“等同”以指代磁轨1/磁轨2,其不是由磁头读卡器从卡上的磁条生成的,取而代之是以纯数字数据形式创建的,诸如通过RFID读卡器。术语“磁轨数据”在这里被用来指代包括如ISO7813中定义的磁轨1和/或磁轨2数据的所有或部分的数据。然后将数据递送到连接的POS计算机29,其然后将数据连同用于授权的其他交易信息适当地按规定路线发送到处理器。在一些实施例中,磁轨数据被递送到交易授权系统中使用键盘仿真的字段(field)中。一些软件应用程序期望使用键盘输入数据,并且应用程序可以检查数据输入过程的特征,诸如节奏和逝去的时间,以便验证该数据是经由键盘输入的。“键盘仿真”指代以诱骗操作系统相信按键已经被按下的方式通过不是物理键盘的设备的软件表示或设备来递送数据的过程。实际上,键盘仿真系统提供输入,就像它是正确地具有光标的焦点的表格字段中的击键。
[0027] 图7描述NFC使能的移动设备52或无接触卡53之间的典型交易流程。步骤54描述将移动设备设置成执行与RFID POS读卡器的交易。步骤55描述将移动设备呈现在RFID POS读卡器的场范围内。步骤59描述将无接触支付卡呈现给RFID POS读卡器。步骤56描述RFID POS读卡器通过13.56MHz无线电询问移动设备或无接触卡。步骤57描述RFID POS读卡器如何根据询问来构造磁轨1/磁轨2数据。步骤58描述经过格式化的数据如何被递送到POS以及到处理器上以用于授权。
[0028] 这里上面描述的系统和方法可以被扩展以促进在用户(例如购买者)没必要具有对具有磁条的卡的物理占有或销售点终端处的安全元件的物理占有之处的销售点终端处的交易。这样的系统通常采用“远程托管安全元件”(RHSE)。RHSE是对于多个“安全元件表示”的资源库,该多个“安全元件表示”中的每一个被提供用于一个或多个移动设备或移动设备拥有者。存储该多个安全元件表示的资源库通常远离销售点终端。如这里所使用的,术语“远程”指代地理上离得很远的位置。远程的一个指示是两个位置不在一定距离之内以使得在远程位置的一处或另一处的大多数人将考虑步行去另一位置,或者至少将不能在一天之内那样做。提供这样的参考框架仅仅解释术语“远程”的含义,并且不意指在远程位置之间步行实际上与这里公开的实施例有任何关系。为了进一步解释远程,作为一个示例使用由一个资源库为许多销售点终端提供服务的情况,完全可能的是销售点终端中的一个或多个可以在资源库的步行距离之内。然而,当那不是访问资源库的大多数销售点终端的情况时,则所有这些销售点终端被看成远离资源库。如这里所使用的那样,术语“本地的”指代地理上彼此接近的位置。两个位置之间的本地关系的一个指示将是由小于一英尺的距离分开的位置。
[0029] 多个安全元件表示(或“安全元件表示的阵列”)通常被托管在安全环境中,以使得它被保护免受网络攻击。安全元件表示可以是(a)实际SE硬件(在这里被称为“硬件表示’),或者可以是(b)虚拟硬件安全元件表示,诸如模拟硬件SE元件的操作的计算机模型(在这里被称为“虚拟硬件安全元件表示”),或者可以是(c)数据库(典型地是安全数据库)中的数据,诸如静态磁轨数据或由HSM(硬件安全模块)动态或静态生成的数据,其中数据库中的数据是数据的通常存储在SE存储器(在这里被称为“数据库安全元件表示”)中的元件。术语“软件表示”在这里用来指代(i)虚拟硬件安全元件表示或(ii)数据库安全元件表示。如这里所使用的术语,“安全元件”、“远程安全元件”、“SE”、或“远程SE”可以是硬件表示、或虚拟硬件安全元件表示、或数据库安全元件表示。可以在诸如这里提供的各种图和描述的上下文中描述的某些实施例中有利地采用每种形式的表示或者这些三种形式的表示的仅仅两种的组合。
[0030] 在安全元件表示的阵列被呈现为实际SE硬件的情况下,可以利用连接到广域网(诸如因特网)的网络服务器和每一个都能够由网络服务器寻址的一个或多个SE读卡器来创建资源库。该一个或多个SE读卡器接收ISO 7816协议命令以用于使用诸如TCP/UDP/IP数据分组的通信协议来进行到SE的通信。该一个或多个SE读卡器中的每一个都与一个或多个SE进行通信。与每个卡读卡器进行交互的软件和硬件具有在与特定远程移动设备相对应的特定网络地址处查询(命令)每个SE的能力。结果,要从远程移动设备传递到特定SE的数据被转换(如果需要的话),并且通过TCP/UDP/IP网络按规定路线发送到正确硬件SE读卡器以及因此到SE。来自SE的响应被中继到该特定远程移动设备。这些读卡器和SE不限于一种特定形状因子或任何特定通信协议。
[0031] 在安全元件表示的阵列被呈现为虚拟硬件安全元件表示的情况下,一个或多个SE读卡器可以以基本上与一个或多个SE读卡器同硬件表示(即实际SE硬件)进行交互相同的方式来与虚拟硬件安全元件表示交互。软件表示允许完全包含的系统,其给出与先前完全基于硬件的情况相同的远程移动设备功能。虚拟硬件安全元件表示的一个示例是目前在售并且由NXP半导体供给的JCOP工具套件内的jcop.exe软件。所提供的jcop.exe软件不是安全元件,而是包含在可执行文件内打算在主计算机上作为一个过程运行的自包含智能卡操作系统。当jcop.exe运行时,其打开可通过主计算机操作系统访问的通信端口。jcop.exe打开的通信端口接受7816-4协议并对其做出响应,并且有效地模拟真实SE硬件。包含jcop.exe的JCOP工具套件另外还是开发Java卡应用程序的开发平台。JCOP工具给予用户编程以及测试专用软件的能力。这是使用虚拟机(Java卡虚拟机,其一个版本包含在上文参考的jcop.exe中)和定义明确的运行时间库的组合来实现的,该定义明确的运行时间库从智能卡之间的差别大大地抽象出小应用程序。使用该技术,任何人可以运行和调试用于将最终嵌入在智能卡中的应用程序的Java卡代码以及将在将使用智能卡的系统中的Java应用程序,所有都在相同环境中共同工作。
[0032] 在SE阵列中的SE是数据库安全元件表示的情况下,不需要SE卡读卡器询问SE表示。在这样的系统中,通过使用电子处理器将来自远程设备的ISO 7816-4协议查询(命令)转换成标准数据库查询并且然后将数据库响应转换成ISO 7816-4响应以用于到远程设备的传送来获取数据。SE阵列可以包括一种或多种类型的安全元件表示的组合。也就是说,阵列可以包括硬件表示和/或虚拟硬件表示和/或数据库安全元件表示。
[0033] SE硬件实现可以是财务交易行业的优选情形,仅仅因为控制可以利用驻留在安全设施中的SE芯片上的安全数据制造并且然后运送到要被插入电源且激活和验证的远程系统设施的可移除SE的更安全的性质。
[0034] 图10图示采用安全元件的硬件表示的资源库300。该资源库300包括至少一个安全元件读卡器304,并且在所图示的实施例中,该资源库300包括具有四个RFID天线308的一个安全元件读卡器304。在图10的实施例中,安全元件读卡器304是按照ISO 14443A或B协议操作的无接触(RFID)读卡器。资源库(诸如资源库300)通常包括多个安全元件表示,并且在图10的实施例中资源库300包括十一个安全元件硬件表示312,它们中的每一个被集成到十一个银行发行的交易卡之一中。在图10的实施例中,安全元件读卡器304邻近多个安全元件硬件表示312布置。如这里所使用的,术语“邻近”指代两个设备彼此非常靠近的空间状况,诸如在相同电子机箱中,或者至少在相同房间中。数据服务器316被提供用来通过安全元件读卡器304与多个安全元件表示312进行通信。
[0035] 在典型的实施例中,数据服务器(例如数据服务器316)是包括多任务处理器(诸如多线程处理器或并行处理器或时间共享处理器)以便通过安全元件读卡器(例如安全元件读卡器304)与多个安全元件表示(例如安全元件硬件表示312)进行通信的硬件/固件设备。通常,这样的通信根据ISO7816规范的至少一部分(例如部分1、部分2、部分3或部分4)来进行,以便从成对的安全元件表示提取数字凭证数据的至少一部分。在一些情形中仅可以使用ISO层的总线通信协议,在其他实施例中可以使用数据章节(即部分-4),并且在一些情形中,可以使用SIO7816的一些或所有章节(即部分-1一直到部分-4)。在图10的实施例中,安全元件读卡器304包括多路复用器以便顺序寻址安全硬件元件表示312。通常,多路复用器是硬件在读卡器电路级的部件。在其他实施例中,多路复用器可以被提供在软件中。多路复用功能允许单个安全元件读卡器循环通过多个端口或天线以便寻址多个安全元件表示并且与其进行通信。这样的配置允许数据服务器(例如数据服务器316)与多个安全元件表示(例如安全元件硬件表示312)进行多个命令/响应时间方式的重叠会话,而不会引起关于哪张卡被询问以及哪张卡作出响应的混乱。数据服务器316还包括通过因特网连接320与因特网进行通信的网络接口处理器。使用多个安全元件硬件表示将多个不同安全元件存储在普通处理环境中以便与多个安全元件硬件表示进行多个命令/响应时间方式的重叠会话提供从安全硬件表示(诸如由SE读卡器在销售点终端读取的单张银行发行的卡)的普通应用程序不可预期的效用(作为SE资源库)。
[0036] 图8图示采用按照ISO 7816操作的多个接触读卡器404的资源库400的实施例。分离的专用读卡器被提供用于多个安全元件硬件表示408中的每一个。在图8的实施例中,安全元件硬件表示408是包含通用串行总线(USB)连接器可访问的安全元件芯片的银行发行的卡,并且接触读卡器404是USB读卡器。计算机428中的CPU 424的第一部分420是多任务数据服务器以便通过多个接触读卡器404与多个安全元件硬件表示408进行多个命令/响应时间方式的重叠会话。USB标准通常将计算机上的USB端口的数目限制为127个端口。不同的总线架构可以被用来克服该限制,或者单个USB读卡器可以被配置成通过电子或者甚至机械开关机构为多张卡寻址。在后面的情形中,开关机构充当多任务数据服务器的一部分。在一些实施例(诸如例如,如图8中所图示采用接触读卡器的实施例)中,可以接近安全元件读卡器来布置多个安全元件表示。如这里所使用的,术语“接近”和“本地”指代两个设备彼此靠近但彼此不邻近的空间状况。例如,在相同建筑物(但不在相同房间)中的两个设备被看成彼此接近。术语“接近”包括彼此“邻近”的设备。
[0037] 继续图8,CPU 424的第二部分432是通过因特网连接436与因特网进行通信的网络接口处理器。到CPU 524的第二部分432的因特网连接436提供通过因特网对多个安全元件硬件表示408的寻址能力。使用多个安全元件硬件表示将多个不同安全元件存储在普通处理环境中以便与多个安全元件硬件表示进行多个命令/响应时间方式的重叠会话提供从安全硬件表示(诸如银行发行的卡)的普通应用程序不可预期的效用(作为SE资源库)。
[0038] 图9图示采用虚拟硬件安全元件表示的资源库500。虚拟硬件安全元件表示(象征性地示出为元件504)的多个实例被提供在计算机512的存储器508中。这些虚拟硬件安全元件表示508可以是先前描述的Java卡软件的多个实例。每个实例都被编程,就好像它是不同安全元件。通常每个实例是标准jcop.exe程序的分离运行的线程。可以根据诸如下面的DOS命令行来运行每个实例:jcop.exe-port 50000
运行该命令打开TCP/IP端口编号50000,并且假设计算机在因特网上(诸如按照因特网连接516),程序监听远程登录(telnet)端口上的远程登录终端类型数据,象征性地示为元件518。预期ISO7816-4数据进行通信并且将正如具有响应ISO7816-4数据的真实SE那样作出响应。因此,当程序在计算机512上运行时,可以在不同计算机上打开另一DOS窗口以便通过执行以下命令行来与jcop.exe的实例进行通信:
telnet 192.168.0.14 50000
其中192.168.0.14是计算机512的IP地址,在那里运行模拟程序(jcop.exe),并且其中
50000是运行的端口号码。通过计算机512中的CPU 424来控制本地I/O总线520以使得当第二计算机上的远程登录窗口连接到第一计算机512上的该IP地址和端口号码时,可以通过发送7816-4格式化数据并且从指定的虚拟硬件安全元件表示504得到返回到第二计算机的远程登录窗口中的响应来建立标准命令/响应通信。
[0039] 在图9的实施例中,CPU 524的第一部分520操作为使用本地I/O总线528与虚拟硬件安全元件表示504进行通信的安全元件读卡器。虚拟硬件安全元件表示504的实例是接近安全元件读卡器(I/O总线528)的多个安全元件表示。CPU 524的第二部分532是数据服务器以便通过操作为安全元件读卡器的CPU 524的第一部分520与多个安全元件表示(例如虚拟硬件安全元件表示504)进行多个命令/响应时间方式的重叠会话。第二部分532还包括通过因特网连接516与因特网进行通信的网络接口处理器。在图9的实施例中,安全元件读卡器(即CPU 524的第一部分520)邻近多个虚拟硬件安全元件表示504来布置。在其他实施例中,安全元件读卡器可以接近多个虚拟硬件安全元件表示来布置。到CPU 524的第二部分432的因特网连接516提供通过因特网对多个安全元件硬件表示(504)的寻址能力。使用JCOP环境的多个实例将多个不同虚拟硬件安全元件存储在普通处理环境中以便与多个虚拟硬件安全元件表示进行多个命令/响应时间方式的重叠会话提供从JCOP编程环境的普通应用程序不可预期的效用(作为SE资源库)。
[0040] 图11描述支持NFC功能的移动设备626的内部架构,以及该设备可以如何访问其附接的安全元件以及在移动设备远离安全元件的情况下访问安全元件。基带处理器17被提供在移动设备中并且基带处理器17通常运行OS(操作系统)以便控制设备上的所有方面和接口(包括到SIM 20、NFC控制器18、安全IC 19的通信访问)或者最终被发送到因特网35的数据。NFC控制器18充当确定通信被按规定路线发送到哪里的路由器。当移动NFC设备被呈现给RFID POS时,移动设备可以仿真卡(假装成支付卡)。当这发生时,由移动设备中的基带处理器17控制的NFC控制器18可以被配置成将询问命令和响应(诸如图1和2中描绘的通信1、2、3、4、5、6、7和8)从读卡器(询问器)21按规定路线发送到安全元件以便进行处理和作出响应。因此,在支付交易中使用的SE应用程序可以被配置成对询问命令作出响应(与图1和图2中描述的序列相同或相似)。图1和图2中图示的命令和响应包括遵守ISO/IEC 7816规范的数据串。基带控制器可以选择将命令从读卡器21按规定路线发送到其选择进行处理的任何安全元件。一些选项包括:
a.通过NFC接口18将ISO/IEC 7816-4数据按规定路线发送到嵌入式安全IC(通过其专门连接的SE接口625)
b.通过NFC接口18、通过基带处理器17将ISO/IEC 7816-4数据按规定路线发送到附接的SIM卡20
c.通过NFC接口18、通过基带处理器17将ISO/IEC 7816-4数据按规定路线发送到包含SE的附接的SD、迷你SD、或微型SD卡
d.通过NFC接口18、通过基带处理器17、通过数据连接627、628、629、636、35、630将ISO/IEC 7816-4数据按规定路线发送到使用TCP/UDP/IP的远程数据服务器632。
[0041] 所有选项a、b、c和d使用APDU数据,以在RFID读卡器21和位于处在移动设备626中或远程SE 634中的SE中的应用程序之间交换信息。重要的是要注意,还可以利用软件来创建远程SE 634并且在远程系统631中仿真该远程SE 634。可以在该系统上以上面的所有4个模式a、b、和c和d来实现图3和图4中作图出的询问示例。因此,远程系统SE 634可以在远程安全元件634上执行同样的询问。
[0042] 重要的是要注意,在ISO/IEC 7816-4(APDU)级,可以实施从RFID POS读卡器21通过NFC使能的移动设备626、通过经过因特网35的数据连接到包含实际SE 634的远程系统631的类似于图1和图2中描述的那些的整个询问。读卡器命令的示例被作为PayPass读卡器图示在元件638中。PayPass读卡器638示出可以被推动通过读卡器21并且在远程SE 634处结束的ISO/IEC 7816-4APDU命令和响应的示例性序列。元件637示出由远程SE 634接收的APDU命令以及如由针对MASTERCARD PayPass的7816-4应用程序定义的那样发行的适当响应的示例。元件638和637示出图2如何被分解以使得PayPass卡可以被托管在远程系统631上的远程SE 634上,并且示出PayPass读卡器可以是RFID POS 621。
[0043] 远程系统631具有到因特网630的连接和到每个都连接到SE 634的多个SE读卡器633或SE读卡器阵列633的连接。服务器632或服务器集合632可以被用来配对源自移动NFC设备626处到远程系统631内的正确SE 634的连接。服务器632或服务器集合632可以例如是每个都访问以便控制各SE读卡器633中的一个或多个的一个或多个计算机。
[0044] 图11中描述的数据连接(即路径627、628、629、636、35、630)是由大多数蜂窝载体使用蜂窝链路628通过蜂窝网络和蜂窝塔629提供的TCP/UDP/IP连接。TCP/UDP/IP连接可以运行允许将原始数据从数据连接626的一端传送到另一端631并且反之亦然的套接字软件。套接字软件内的数据分组可以被配置成交换包含ISO/IEC 7816-4数据的数据。
[0045] 在替换实施例中,可以代替图11中描绘的移动设备626来使用静止设备。
[0046] 图12描述能够通过因特网35将数据(TCP/UDP/IP)连接桥接到单个可寻址SE读卡器749和SE 750的远程系统700。通信740和741示出数据链路(TCP/UDP/IP)740如何被用来将ISO/IEC 7816-4APDU数据741传递给远程服务器742。在该示例中,通过IP地址743在因特网上识别远程系统。远程系统包括将连接按规定路线发送到附接的SE阵列管理器746的因特网网络的远程服务器742。进入该远程系统并且通过TCP/UDP/IP 744按规定路线发送到内部SE阵列管理器746的TCP/UDP/IP数据740包含使用对于ISO/IEC 7816-4APDU数据741和745的协议的数据。每个SE阵列管理器746包含TCP/UDP/IP套接字服务器747内的内部唯一IP地址748。每个TCP/UDP/IP套接字服务器747负责接收ISO/IEC 7816-4APDU数据745并且将其作为ISO/IEC 7816-4APDU数据751按规定路线发送到适当的可寻址SE读卡器749和SE 
750。
[0047] 图12进一步图示一种使用套接字服务器和客户端方法通过TCP/UDP/IP创建从远程系统到移动设备的通信信道的方法。来自移动设备的识别数据可以被用来设置全程通过远程服务器742到TCP/UDP/IP套接字服务器747的套接字连接。通过套接字服务器和客户端发送的数据可以被格式化成ISO/IEC 7816-4APDU数据。APDU命令可以输入套接字服务器747,并且被按规定路线发送到适当的SE读卡器749和SE 750,并且可以通过SE阵列管理器套接字服务器748、远程系统套接字服务器742、并且通过因特网35将响应APDU从SE 750和SE读卡器749发送回到远程移动设备,并且由远程移动设备上的套接字客户端来接收该响应APDU。
[0048] 图12还描绘每个都可寻址且可以由多个远程移动设备独立访问的多个远程SE。这里上面的描述描述了单个远程移动设备可以如何连接到远程系统以及具体地单个远程SE以完成交易。该相同的过程可以通过同时具有系统中的来自不同远程移动设备的不同SE的该相同系统而发生。
[0049] 图13描绘数据库中的可以用来识别用户和特定移动设备可以被附接到图12中描述的远程系统内的哪个远程SE的表。在该表中提供唯一的行标识符754。每个行包含相关的数据。该表的其他列是用户ID 752和SE地址753。SE地址是对于特定SE的远程系统内的唯一地址。图13的表还图示形成数据库中的行的两个字段之间的关系755。图13中的该表可以被用来适当地将远程用户或远程移动设备与特定SE的地址相匹配。
[0050] 为了连接到远程系统并且为该用户或移动设备创建到正确SE的连接,通常移动设备必须通过远程系统来确认是必要的。在最低限度,通过资源库来确认移动设备包括将特定安全元件或安全元件表示与具体移动设备配对。通常这包括在资源库建立列出针对多个移动设备标识中的每一个的至少一个安全元件表示标识符的数字数据库。
[0051] 图14描述允许移动设备和远程托管的安全元件之间的数据连接的一个过程流程。步骤756描述支持NFC的移动设备如何被启动并且呈现给RFID POS读卡器以便进行支付交易。电话被置于被称为卡仿真模式的模式中,在其中电话上的NFC接口假装成无接触RFID卡。电话具有更多控制以选择哪张卡被呈现给POS。本专利的主题描述NFC移动设备如何具有将SE用于物理上不位于移动设备中的交易的能力。这可以被完成以创建到用于支付交易的远程SE的数据连接。在步骤757中,当电话被置于卡仿真模式时,到将用于仿真的远程SE的连接正尝试连接。如所图示的那样,在步骤758中,存在连接已经断开的可能,在这种情况下,图14中的流程将简单地允许ISO/IEC 7816-4APDU数据直接通过连接传递到远程SE并且返回763,从而成功地完成交易764。还存在到远程SE的连接不存在并且需要被创建的可能,如随后在步骤762中所描述的那样。
[0052] 通常系统要求移动设备利用远程托管的安全元件“认证”其自身。向图14中描述的远程系统认证的方法例如可以使用HTTPS/SSL(超文本传输协议安全/安全套接字层(SSL)或传输层安全(TLS))网络服务来启动和完成。还可以使用电话链路(诸如蜂窝电话连接)来启动和完成认证。在一些实施例中,通过远程系统认证服务器来促进认证。如这里所使用的那样,术语“远程认证服务器”指代为了批准或不批准特定移动设备或静止设备对特定安全元件的访问的目的而配置的电子计算机或计算机集合。在一些实施例中,远程系统认证服务器可以被配置成访问可能接近远程认证服务器或者可能接近远程认证服务器的安全元件表示,并且在这样的实施例中,远程系统认证服务器被看作具有多个安全元件表示的远程资源库。连接到远程系统的移动设备能够将各种凭证传递给远程系统,诸如用户ID、密码、PIN、“手势信号”、唯一电子通信设备识别号码等等,以便安全地传递到远程系统用于移动设备确认759。在步骤760和761中,系统尝试匹配并验证远程系统中的用户信息。在使用手势信号的情况下,验证包括关于手势信号是否是有效手势信号(即远程系统所预期的手势信号)的评估。一旦成功匹配,远程系统被称为“确认”远程设备,并且远程系统打开到达远程系统内的适当SE的通信信道(步骤762)并且为可以用于创建从远程移动设备访问其的到该通信信道的句柄(handle)。当在移动设备(或静止设备)和资源库中的特定SE之间建立通信链路时,该设备和特定SE可以被描述为彼此“配对”。一旦移动设备与特定SE配对,则移动系统(资源库)可以通过HTTPS/SSL将共享加密密钥和句柄安全地传递回到可以用于通过该通信信道经过TCP/UDP/IP数据套接字762的继续通信的通信信道。如果授权失败(步骤765),则到远程SE的连接没有打开,并且该过程结束。当远程设备接收到远程系统上的特定SE的到通信信道的句柄以及共享加密密钥时,来自RFID POS的ISO/IEC 7816-4APDU命令可以通过套接字连接传递到该远程托管的SE,并且可以利用共享加密密钥来对该数据加密。
远程系统可以将数据解密,并且把它发送到远程系统内的正确SE。然后远程系统可以以相似方式将响应APDU从SE发送回到远程移动设备。远程移动设备可以通过NFC接口将该响应APDU转发回到RFID POS读卡器。
[0053] 一些电子通信设备(诸如移动设备)具有用于将数字凭证数据的至少一部分存储为缓存数据的存储器。这样的电子通信设备被配置成将缓存数据作为设备响应通信的至少一部分发送。当利用安全元件表示认证这样的电子通信设备时,可以从与电子通信设备具体匹配或“配对”的单个安全元件表示内的数据拷贝或提取缓存数据,并且可以将该缓存数据提供给电子通信设备,诸如图17中的元件801。在这样的实施例中,电子通信设备可以与单个安全元件表示配对,以便达到提取或拷贝缓存数据的目的,并且可能因为任何随后的命令/响应通信而不配对。这样的缓存数据是数字凭证数据集合的“缓存部分”,并且在一些实施例中,该缓存部分是需要完成交易的所有数字凭证数据。在一些实施例中,缓存数据可以包括ISO 7816-4协议响应通信。在一些实施例中,缓存数据还可以包括ISO 7816-4协议命令通信以便达到针对其他输入ISO 7816-4协议命令通信数据来匹配或分析它,以确定使用来自缓存的哪个ISO 7816-4协议响应通信的目的。
[0054] 图15更详细地图示授权和通信过程。垂直线766表示RFID POS实体。垂直线767表示移动设备。垂直线768表示远程系统认证服务器,并且垂直线769表示远程托管的SE。如图15中所示,移动设备767可以与远程认证服务器(例如远程认证服务器768)交互,以便促进从远程托管SE(例如远程SE 769)访问数字凭证数据。
[0055] 在图15的示例中,打开RFID POS 766和远程SE 769之间的通信信道。启动通过SSL的授权,在这种情况下凭证770被发送到远程认证服务器768。远程认证服务器768验证凭证并且发送回包含到通信信道的句柄和加密密钥的成功响应771。移动设备767然后可以打开到远程SE 769的信道。在这点处,APDU命令和响应APDU可以在RFID POS读卡器766和远程SE 769之间安全地发送,并且通过移动设备767返回。将APDU命令772从RFID POS读卡器766发送到移动电话767,该移动电话767可以将该APDU加密为命令773并且将APDU命令773转发到远程系统768上和远程SE 769上作为APDU命令774。在一些实施例中,命令通信773和774包括从RFID POS 766到移动设备767的命令通信772的至少一部分。在一些实施例中,移动设备767可以在与RFID POS 766实际交互之前提早知道RFID POS 766将在APDU命令772中命令移动设备767什么。在这种情况下,命令773可以在命令772被移动设备767从RFID POS 
766接收到之前已经由移动设备767发送。使用由响应771提供的句柄,经由通信775、776和
777将来自SE的返回APDU响应通过通信信道递送回到RFID POS。
[0056] 在传递TCP/UDP/IP信息的某些数据网络的情况下,存在导致与目的地往返信息交换的延迟的网络延迟和等待时间。在这里公开的许多实施例的情况下,意图使数据从移动设备到远程SE往返。与SE通信的许多支付应用程序对于由来自POS RFID读卡器的询问实施的每个交易可能需要对SE的多个命令和响应。对SE的这些命令和响应中的每一个或一些会经历网络延迟和等待时间。在与RFID POS交易期间的延长延迟可能引起不满意的用户体验。这里是在这里描述的实施例的估计期间记录的延迟的一个示例:a.测得利用MASTERCARD PayPass塑料卡和RFID POS读卡器的卡交易花费~200ms
b.测得利用以MASTERCARD PayPass应用程序编程的远程SE通过移动手机经由由
Verizon管理的3G网络的卡交易花费~600ms。
[0057] 在上面的示例中,远程SE因为在SE询问期间的网络等待时间和延迟而花费更长~400ms。
[0058] 可以实现本地缓存(位于移动设备中用于数据缓存的存储器)以便在一些实施例中使用。对于7816-4APDU命令或询问的许多响应是静态的,并且在SE上的支付应用程序中不改变。由于这个原因,缓存系统可以被配置成利用已知7816-4APDU数据响应对这些静态信息请求本地地响应,并且在响应7816-4APDU数据是动态的或随着每个交易改变的情况下仅生成对于远程SE的实时命令。这应该限制对远程SE的往返数据请求的数目。因为对远程SE的每个往返请求都会经历网络延迟和等待时间,所以可以实现相对显著的总交易时间节省。在当前发明中实现缓存系统的主要优点是节省总时间,以便通过移动设备在RFID POS读卡器到远程SE之间执行利用支付卡应用程序的完整交易。
[0059] 图16图示在RFID POS和远程SE之间的MASTERCARD PayPass交易期间使用的缓存的一个示例。垂直线778表示RFID POS实体。垂直线779表示移动设备。垂直线781表示远程系统认证服务器,并且垂直线782表示远程托管的SE。垂直线780表示移动设备中的缓存系统。
[0060] MASTERCARD PayPass卡规范指示对选择PPSE APDU 83的响应将总是相同的:a.对于用于选择PPSE APDU的卡的APDU:
b.来自用于选择PPSE APDU的卡的APDU响应总是:
在一些实施例中,来自用于选择PPSE APDU的卡的APDU响应总是指定序列的事实被用来有利地缓存该响应,并且然后缓存系统780可以在不用全程通过数据网络向远程SE进行命令的情况下对该APDU作出响应。
[0061] MASTERCARD PayPass卡规范指示对选择PayPass AID APDU 84的响应将总是相同的:a.对于用于选择PayPass AID APDU的卡的APDU:
00 A4 04 00 07 A0 00 00 00 04 10 10 00
b.来自用于选择AID APDU的卡的APDU响应总是:
对该APDU的该指定响应也可以被缓存,并且缓存系统780可以在不用全程通过数据网络向远程SE进行命令的情况下对该APDU作出响应。
[0062] 此外,MASTERCARD PayPass卡规范指示对GPO(得到处理选项)APDU 785的响应将总是相同的:a.对于用于GPO APDU的卡的APDU:
80 A8 00 00 02 83 00 00
b.来自用于GPO APDU的卡的APDU响应总是:
77 0A 82 02 00 00 94 04 08 01 01 00 90 00
这意味着,对该APDU的响应可以被缓存,并且缓存系统780还可以在不用全程通过数据网络向远程SE进行命令的情况下对该APDU作出响应。
[0063] MASTERCARD PayPass卡规范指示对于已经被个人化的特定卡来说,对读取记录APDU 786的响应总是相同的,但是将随着个人化的卡的不同而不同:a.对于用于读取记录APDU的卡的APDU:
00 B2 01 0C 00
b.对于具体的卡来说,来自用于读取记录APDU的卡的APDU响应总是:
这意味着,对于该APDU的响应可以被缓存,并且缓存系统780还可以在不用全程通过数据网络向远程SE进行命令的情况下对该APDU作出响应,除非SE上的卡已经改变成不同的卡,在这种情况下缓存系统应该将该命令发送到远程SE用于处理。
[0064] MASTERCARD PayPass卡规范指示对于每个交易来说对计算加密检验和APDU 787的请求和响应将总是不同的。这意味着该APDU将一直需要实际远程SE通过数据网络来处理。通信793指示对于该单个APDU命令和响应787的估计的网络处理时间或网络处理时间的示例。图16中的整体示例图示作为实现缓存系统的结果如何潜在地仅存在需要通过数据网络793实时发生的单个命令和响应。
[0065] 在图16的该具体示例中,通信788图示一种在使用缓存系统时保持远程SE 882的适当状态的方法。重要的是,当引入缓存系统时,远程SE 782如系统预期的那样保持相同处理状态。为此,重要的是,将APDU命令实际发行给远程SE以便将该SE带到适当的系统状态。虚线图示这些备份(ghost)命令可以如何由远程系统发行,以便使SE保持最新状态。通信
789、790、791和792镜像由缓存系统780管理的APDU命令与响应783、784、785和786。
[0066] 图17图示使用VISA payWave交易作为示例的稍稍不同的缓存概念。在该图中,在实际交易之前,在分离的时间802,缓存具有所有APDU命令和响应的整个交易序列。在图17中图示的该示例中,RFID POS 794不会启动对远程认证服务器797的初始请求。而是,由移动设备应用程序在距实际RFID POS交易的某一在先时间启动。当移动设备795进行对远程系统认证服务器797的请求时,远程系统认证服务器797或者从数据库检索缓存信息,或者进行对HSM(硬件安全模块)或其他存储系统的请求,或者如果需要的话利用对远程SE 799的读取记录请求800进行对远程SE 799的命令(如图中的虚线框所指示)。远程SE 799可以是安全元件的硬件表示或安全元件的软件表示。在对读取记录请求800的响应随着与SE的每个单独交易而动态改变数据的情况下,该示例特别贴切。当对(多个)远程SE交易命令的所有已知响应被收集的时,缓存信息的整个集合可以被传递回到移动设备795,如通信801中所示。在通信801中,对选择PPSE、选择PayPass、GPO和读取记录APDU的SE响应被全部一次传递回到移动设备。
[0067] 图17图示在通信801之后直到RFID POS交易803的实际开始为止未详细说明的时间延迟802。在该时间延迟802期间,缓存的APDU命令和响应数据可以以缓存格式796安全地存储在非永久性存储器或RAM中。可替换的方案是以永久方式通过加密技术安全地存储该数据。
[0068] 通信804、805、806和807图示在比与远程认证服务器797的前一交互更迟的时间802处与RFID POS的实时交易。在该示例中,RFID POS所请求的每个和每一个响应APDU命令都由移动设备缓存器796本地地回复。
[0069] 图18的配置紧密地表示在安全元件软件表示在远程系统认证服务器836中的情况下采用安全元件软件表示的一个实施例。图18中的许多交易场景同图23相同,包括在实际交易840(图23中的803)之前的时间延迟838(图23中的802)和从服务器836递送交易数据(图23中的801)。利用如VISA payWave卡规范中定义的现有无接触APDU命令,这种类型的代替是可能的。该卡规范允许使用下面这些命令来进行与RFID POS的交易:a.选择AID:图3的通信11
b.GPO:图3的通信12
c.读取记录:图3的通信13
对VISA payWave的读取记录命令指示可能存在3个具有标签的数据元素:
a.标签57:磁轨2等效数据
b.标签5F20:持卡人姓名
c.标签9F1F:磁轨1可自由支配数据。
[0070] 具体地,标签57是将磁轨2等效数据呈现给POS交易的所需要的标签。由RFID POS来处理该格式的数据,并且将其转换成ISO7813数据格式。该数据转换的示例是这样的:a.原始标签57数据:
i.54 13 12 34 56 78 48 00 D0 90 61 01 90 94 99 89 92 50 3F
b.转换成ISO 7813格式:
i.;5413123456784800=09061019094998992503?
在该实例中,数据转换几乎是直接转换,仅仅添加起始标记“;”,结束标记“?”,且用“=”代替“D”,并且移除拖尾填充给出ISO7813等效数据。ISO 7813数据被用来发送出用于磁条卡和无接触卡二者的认证处理。因为此,标签57中的实际数据可以从常规磁条卡收集和占据,如图26中远程系统认证服务器836中的任务所述。
[0071] 进一步外推图18中显示的该概念,有可能将任何磁轨2数据代入读取记录APDU响应的标签57。一些代入的示例是:a.Mastercard数据:54 13 12 34 56 78 48 00 D0 90 61 01 90 94 99 89 92 50 3Fb.VISA数据:44 13 12 34 56 78 48 00 D0 90 61 01 90 94 99 89 92 50 3F
c.AMEX数据:34 13 12 34 56 78 48 00 D0 90 61 01 90 94 99 89 92 50 3F
d.任何适当的数据格式(McDonalds Arch卡):64 13 12 34 56 78 48 00 D0 90 61 
01 90 94 99 89 92 50 3F。
[0072] 图19图示SE资源库的两个实施例(资源库156和资源库157)以便说明SE 147的硬件表示和SE 154的软件表示之间的一些相似性。在这两种情况中,访问安全元件表示的移动设备远离资源库156/157,并且通过因特网152或其他全局网络访问安全元件表示。在图的基于硬件的SE侧(即左侧上的资源库156)中,SE 156的硬件表示是可以安装到电路板或位于物理塑料卡或SIM模块中的“芯片”。每个这样的形状因子具有电源145和接地线146,并且还包括数据线150,其被配置成为通过各种串行数据率的半双工通信。SE 147是全功能处理器芯片,其包括ROM、RAM、通信控制器、EEPROM或永久存储器和处理器。如果正确的转换硬件在适当的位置上这样做,则可由网络服务器148对其可寻址并与其通信。在图12中描绘这样的转换硬件,在其中SE阵列管理器746位于网络服务器742和SE 750之间。由SE阵列管理器746执行的一项任务是将来自网络服务器742的TCP/UDP/IP通信分组转换成用于SE的7816-4数据分组,并且反之亦然。
[0073] 在图19中,网络服务器148充当用于与SE进行通信的通信服务器和与因特网152的网络接口。网络服务器148和SE 147之间的APDU数据通信(典型地标准SE通信)被扩展到通过TCP/UDP/IP协议的因特网152。在图27中,为了图示的清楚,描绘对于SE 147的仅一个硬件表示的细节。
[0074] 图19的右侧示出资源库157,在其中SE的功能被处理为单个计算机或若干个计算机的库中的多个软件表示154(SE仿真实例)来处理。在该配置中,不存在为SE的分离的硬件。在图19的实施例中,SE的功能被提供为软件表示,其被描绘为整体以软件建立并包含在网络服务器153内的SE仿真实例154。还可以通过网络服务器153的软件来提供APDU 7816-4结构155的通信格式。通用目的计算机或服务器通常具有提供SE软件表示所必需的所有必需部件(诸如ROM、RAM、永久存储器和处理器)。网络服务器153内的软件架构可以像这样布置以便划分和寻址单个计算机内的许多不同SE软件表示154。以相同的方式,基于硬件的SE 147通过TCP/UDP/IP暴露给因特网,SE 154的软件表示也被暴露给因特网。
[0075] 图19图示可通过因特网在功能上与外部世界互换和互操作所描绘的架构(即硬件表示147和软件表示154)中的任一个。图19还暗示使用SE的软件表示的资源库(诸如资源库157)可能比使用许多硬件表示的资源库(诸如资源库156)更容易可伸缩。虚拟硬件表示的使用可能是硬件表示的安全性与数据库安全元件表示的便携性和伸缩性之间的良好折中。
[0076] 图20图示根据一些实施例的销售点终端和电子通信设备和资源库之间的通信信道和通信。在销售点终端908和电子通信设备912之间存在第一通信信道904。该第一通信信道例如可以包括近场通信信道或因特网连接。电子通信设备912可以是移动设备或静止设备。在电子通信设备912和资源库916之间存在第二通信信道916。该第二通信信道916可以包括例如蜂窝电话连接或因特网连接。可以通过第一通信信道904来发送POS命令通信924,并且可以通过第二通信信道916来发送设备命令通信928。可以通过第二通信信道916来发送资源库响应通信932,并且可以通过第一通信信道来发送设备响应通信936。
[0077] 图21图示包含硬件安全模块(HSM)200的应用程序系统201(远程系统认证服务器的变体)的布置。该应用程序系统还包括所有都能够访问应用程序系统内的交易表205和凭证表206的一个或多个计算机的系统。应用程序系统包含应该以安全方式保持的数据,并且结果可以具有安装到其的网络可访问性和物理可访问性限制二者。该应用程序系统可以进一步被详述多个安全元件表示的“软件表示”,因为应用程序系统能够访问用于创建对其资源库数据中的任何特定SE表示的APDU响应的所有信息。将其能力扩展超出多个安全元件表示的“软件表示”的应用程序系统的一个附加特征是,因为其能够访问存储用于创建每个SE表示中的数据的密钥的HSM,所以其也可以被配置成授权或验证对包含在其资源库数据中的任何SE的输出数据(数字凭证数据)。HSM通常是在银行业和处理行业中使用的设备。HSM负责安全地包含用于授权卡支付或者为新卡创建数字凭证数据的加密密钥203(使用密码的密钥)。使用这些密钥的加密算法204还包含在HSM上。当前由SafeNet Inc.来分配在提交本申请时在行业中使用的HSM的示例,并且将其命名为Luna EFT Mark II版本。例如,根据MasterCard PayPass MSD v3.3卡规范文档,可以被存储在HSM上的加密密钥被称为发卡行主密钥(IMK)。HSM然后可以例如使用嵌入式算法204来根据用于基于也被存储在HSM中的某一算法而发行的每个个人卡的IMK来创建“用于卡验证码创建的多样化的密钥”(KDcvc3)。HSM被设计成保护个人加密密钥,并且使用嵌入式加密算法来基于来自应用程序系统的加密输入请求计算加密输出。加密算法必须位于HSM内,因为算法必须能够直接访问所保护的加密密钥203。应用程序系统将向HSM提供要在加密算法中使用的附加输入数据。应用程序系统还将根据来自HSM的加密算法预期输出数据。到HSM的输入数据可以被存储在交易表
205和凭证表206中。HSM通常是应用程序系统内的通过通信信道连接到应用程序系统内的其他设备的分离的设备。通信信道可以是网络连接(诸如RJ45线缆)或者在某些情况下是硬件总线连接(诸如计算机机箱内的PCI连接器)。使用该布置的一个示例可以是,该应用程序系统包含:
a.加密数据(密码)
b.不可预知号码(UN)
c.应用交易柜台(ATC)
d.交易数据(诸如美元数量)
e.密钥标识符(而不是密钥本身)
在其交易表和凭证表中。该应用程序系统想要验证根据特定加密密钥(e)创建的加密数据(a)、不可预知号码(b)、ATC(c)和交易数据(d)。应用程序系统知道哪个密钥被用来创建密码(a),但是因为安全性原因选择不访问密钥本身。应用程序系统然后将密码(a)、不可预知号码(b)、ATC(c)、交易数据(d)和密钥标识符(e)用作HSM的输入,并且将该输入发送到HSM。HSM然后使用来自应用程序系统的输入数据,并且定位适当的加密算法和加密密钥来使用。HSM然后根据使用加密密钥的算法来创建输出响应,并且将输出发送到应用程序系统。在该示例中输出将是简单的“验证”或“不验证”消息。
[0078] 应用程序系统201是多个安全元件表示的资源库的“软件表示”的实施例,并且能访问用于创建由其资源库数据中的任何特定数据库SE表示生成的APDU响应的所有信息。该资源库数据以凭证数据库表206表示。这将包括凭证数据,诸如PAN、到期日期、持卡人姓名、无接触应用程序类型、自动交易柜台、卡记录等等。这给予应用程序系统以式子表示对在询问期间从销售点发行到SE的APDU命令的APDU响应的能力。所以,例如如果移动设备请求对由卡id或PAN标识的特定SE或卡的交易缓存,则应用程序系统具有当移动设备被销售点询问时使用凭证表、交易表和HSM中的数据来以式子表示移动设备在稍后时间点可能需要的所有响应的能力。该响应集合可以是以APDU响应格式并且被传递给要被缓存的移动设备以便稍后使用。可替换地,仅仅移动设备以式子表示响应所需的数据可以被传递给移动设备缓存。应用程序系统还可以访问用于在HSM中创建密码的加密密钥,在这种情况下,密钥本身可以被发送给移动设备以允许该移动设备计算可以被销售点请求的密码。
[0079] SE响应的示例在图3中示出在紧挨着指示从SE到销售点的数据的“CARD>:”提示。应用程序系统可以知道基于多个因素的特定响应。在图3中,响应针对PayPass 3.3MSD交易,因为该应用程序系统知道特定卡id或PAN与该PayPass3.3MSD交易相关联,并且对于
3.3MSD的PayPass卡规范具体指示正如图3中示出的元件10、11和12,所以如图10、11和12中示出的响应APDU数据可以在移动设备请求时通过通信信道逐字地发送给移动设备缓存。
[0080] 图3中,“CARD>:”提示之后的元件13示出读取记录命令响应的格式,但是响应内的数据可以从一个卡id或PAN改变成另一个,因为它是存储在读取记录命令响应中的凭证数据。幸好,应用程序系统能访问包括对读取记录命令(诸如图2中部分显示的元件7)的响应的所有凭证数据:a.包括PAN、到期日期、卡片码、发行人可自由支配数据的磁轨1和磁轨2数据
b.对于磁轨1和磁轨2的代替位图(PUNATC、PCVC3)
c.在位图中使用的ATC数字的号码(NATC)
d.应用程序版本号码。
[0081] 根据该数据,应用程序系统可以创建对仅仅像图3的元件3那样格式化的读取记录命令的适当APDU响应,并且具体针对移动设备已请求的卡凭证将其发送给移动设备,以便通过通信信道进行缓存。对于MasterCard PayPass MSD v.3.3凭证,表2示出读取记录响应中的数据根据应用程序系统中的数据如何以适当APDU响应BER-TLV格式以式子表示的技术故障。
[0082] 表2应用程序版本号码、磁轨1数据、T1_NATC、T1_PCVC3、T1_PUNATC、T2_PCVC3、T2_PUNATC、T2_NATC和磁轨2数据都可以被凭证表中的应用程序系统访问。
[0083] 如这里使用的那样,术语“密码”指代能够被不加密或者不能被不加密的加密数据。不能被不加密的加密数据多次被称为“哈希”。通常根据包括一些数据和使用密码的密钥的一系列输入数据来计算密码,其中使用密码的密钥被用来加密一些数据。如这里所使用的那样,术语“使用密码的密钥”指代至少部分用于计算密码的密钥。基于算法或计算公式来计算密码。如这里所使用的那样,术语“计算公式”指代由卡规范规定为计算密码的方法的算法或公式。计算公式通常可以是任何实体已知的。使用输入数据和使用密码的密钥的计算公式的输出结果是密码。由下面表4中的卡规范来定义在提交本申请时密码的示例。
[0084] 表4如这里所使用的“密码”可以被分类为“动态的”,意指它在数字凭证(SE表示)的生命周期总是从一个询问(交易)改变成下一个。如这里所使用的那样,术语“生命周期”(如在数字凭证的生命周期、卡的生命周期、SE的生命周期、SE表示的生命周期中)指代当在其首次询问中使用时开始并且当在其最后询问中使用时结束的生命周期。密码的该动态方面的一个指示是执行在移动设备和销售点终端之间的两个连续独立询问,其中在移动设备上使用相同数字凭证,并且销售点终端接收两个数字凭证数据集合,其中每一个都包括单个密码,每个询问都具有一个。如果从一个询问到下一询问,由销售点终端接收到的密码不同,则其是动态的。
[0085] 在“卡规范”中定义销售点和数字凭证、卡、SE表示以及移动设备之间的询问的细节,并且在销售点终端实现该细节。在提交本申请时这些卡规范的示例是MasterCard PayPass-磁条v3.3、无接触EMV、Discover网络RF无接触规范-功能支持的补充指南、AMEX ALIS v1.7和Visa无接触支付规范v2.0.2。这里使用的术语“卡规范”指代销售点终端必须遵守以便如该卡规范所预期的那样询问卡、SE、移动设备的规范或规范内到另一规范的参考等等。销售点终端作为询问器控制询问。定义询问的细节的卡规范还可以定义从卡、SE或移动设备到作为询问序列的一部分的销售点的密码请求、计算和递送的细节。卡规范可以包括对其他规范的参考以及那些其他规范对甚至更多规范的参考,其中可以由卡规范结合位于卡规范内的其他支持文档来定义卡规范。卡规范通常包括定义询问序列的应用层和还要由卡、SE、移动设备以及还有询问器或销售点执行的计算。预期在询问期间要在卡规范的指导下来操作移动设备和销售点二者。
[0086] 卡规范可以定义要由卡、SE或移动设备至少部分基于在询问期间从销售点发送的不可预知数据而计算的密码。在该上下文中,据说由移动设备递送的密码是“预期的”,因为卡规范指示它将是至少部分根据在询问期间由销售点递送的不可预知数据计算的,并且那就是卡规范预期的。
[0087] 而且,卡规范可以定义要由卡、SE或移动设备至少部分基于使用密码的密钥而计算的密码,其中使用密码的密钥是“永久的使用密码的密钥”。在该上下文中,据说由移动设备递送的密码是“预期的”,因为卡规范指示它将是至少部分根据永久的使用密码的密钥计算的,并且那就是卡规范预期的。这里所使用的术语“永久的使用密码的密钥”指代遍及卡、SE、移动设备互数字凭证的寿命而不改变(或静态)的使用密码的密钥。
[0088] 如这里所使用的那样,术语“临时的使用密码的密钥”指代在数字凭证(例如SE表示)的寿命内从一个询问到下一个询问而改变(或是动态的)的使用密码的密钥。可以从其在一个询问中的使用到下一个询问中的使用随机地选择或改变临时的使用密码的密钥。其从一个询问到下一个询问是不可预知的。临时使用密码的密钥可以被记录或存储在(分配给)个人交易(询问)中,如交易表210中的“临时密钥(TEMP KEY)”列380中所示。如这里所使用的那样,如果没有以其他方式明确说明,术语“使用密码的密钥”意指“永久的使用密码的密钥”。如这里所使用的那样,如果没有以其他方式明确说明,术语“使用密码的密钥”意指“永久使用密码的密钥”。
[0089] 如这里所使用的那样,术语“持久”或“持久存储”指代存储在存储容纳装置(诸如非易失性只读存储器)中的数据的持久或持久存储,其中在该存储容纳装置电力故障或断电的情况下数据“持久”或者不被擦除。持久存储容纳装置的另一示例是硬盘驱动器或闪速存储器。
[0090] 这里使用的术语“瞬时”、“瞬时存储”、“非持久”以及“非持久存储”指代存储在存储容纳装置中的数据,其中在存储容纳装置电力故障之后数据被擦除或者以其他方式使得不可访问。瞬时存储容纳装置的一个示例是RAM(随机存取存储器)。
[0091] 可以“预期”要至少部分根据在由卡规范所指示的询问期间从销售点传递到移动设备的不可预知数据来计算这里使用的密码。这里使用的术语“预定密码”指代在没有使用在询问期间从销售点终端传递到移动设备的不可预知数据的情况下以式子表示密码;其中询问由卡规范来定义;并且卡规范指示要至少部分由不可预知数据计算的密码。它可以包括完全由一串随机数据构成的预定密码。它还可以包括基于其他不可预知数据而不是来自销售点的不可预知数据计算的预定密码。如这里所使用的“预定密码”还指代一种类型的不可预期密码。
[0092] 可以多次“预期”要至少部分根据在移动设备和销售点之间的询问期间的永久使用密码的密钥来计算这里使用的密码。如这里所使用的那样,术语“不可预知密码”指代至少部分根据在移动设备和销售点之间的询问中使用的临时使用密码的密钥计算的密码;其中询问由卡规范来定义;并且卡规范指示要至少部分由永久使用密码的密钥计算的密码。如这里所使用的“不可预知密码”还指代一种类型的不可预期密码。
[0093] 这里使用的术语“不可预期密码”、“不可预期预定密码”、和“不可预期不可预知密码”指代在询问期间从移动设备发送到销售点的密码;其中询问由在销售点实现的卡规范来定义;并且密码是根据与在卡规范中定义的计算公式不同的计算公式来计算的。例如,“不同计算公式”包括预定密码。如这里所使用的那样,术语“预定密码”指代在不使用在询问期间从销售点终端传递到移动设备的不可预知数据的情况下计算的密码;其中询问由卡规范来定义;并且卡规范指示要至少部分由不可预知数据计算的密码。预定密码可以完全由一串随机数据构成。还可以基于其他不可预知数据而不是来自销售点的不可预知数据来计算预定密码。如这里所使用的“预定密码”是不可预期密码的一个示例。
[0094] 作为另一示例,“不同计算公式”包括不可预知密码。如这里使用的那样,术语“不可预知密码”指代至少部分根据临时使用密码的密钥而不是在移动设备和销售点之间的询问中使用的永久的使用密码的密钥而计算的密码;其中询问由卡规范来定义;并且卡规范指示要至少部分由永久使用密码的密钥计算的密码。如这里所使用的那样,“不可预知密码”是不可预期密码的一个示例。据说不可预期密码还可以与卡规范偏离。
[0095] 作为另一示例,“不同计算公式”可以包括在“不可预期不可预知密码”的情况下使用临时使用密码的密钥代替永久的使用密码的密钥,或者可以包括在“不可预期预定密码”的情况下使用随机值代替密码。作为“不同计算公式”的控制结果,不可预期密码的值可以与预期密码的值不同,然而,其可以是与预期密码相同的通用数据格式。例如,如果预期密码是3个字节长,则不可预期密码将是3个字节长,然而各自密码内的数据可能不匹配。
[0096] 通过在图22、23、24、25、26、27、28、29和30中采用的称为“密码代替”的方法使用预定密码或不可预知密码来创建对计算使用密码的校验和命令(图3,元件14)的响应,并且在一些实施例中当移动设备请求时针对每个交易通过通信信道将其发送到移动设备缓存。在其他实施例中,结合移动设备上创建的不可预期密码来使用密码代替,并且将其发送到远程应用程序系统。对于MasterCard PayPass MSD v.3.3凭证,表3示出如何根据应用程序系统中的数据以适当APDU响应BER-TLV格式来以式子表示读取计算使用密码的校验和响应中的数据的技术故障。
[0097] 表3ATC是随着每个销售点询问递增的自动交易柜台,并且可以存储在交易表或凭证表中并且由移动设备利用每个询问来更新。CVC3是预期利用来自MasterCard PayPass MSD v.3.3卡规范的该算法计算的密码:
首先创建KDcvc3:
ZL:=DES3(IMKCVC3)[Y]
并且定义:
KDCVC3:=(ZL||ZR),
可以在HSM内执行KDcvc3计算,因为HSM包含IMK。应用程序系统将传递Y,其被定义为连接为HSM的输入以结合IMK id来使用的PAN和PAN序列号码。HSM将利用KDcvc3作为输出来响应回来。该示例中的KDcvc3将被看作永久的使用密码的密钥,因为它将不随着数字凭证的寿命而改变,因为没有KDcvc3的计算的输入随着凭证的寿命而改变,
接下来创建T2_IVCVC3:
O:=PayPass-MagStripe(3.3)Annex B alg(KDcvc3)[Track 2 Data]
输出数据的最低两个有效字节被定义为T2_IVCVC3,
最后,计算对于磁轨2的CVC3密码:
O:=DES3(KDCVC3)[T2_IVcvc3||UN||ATC]
输出数据的最低两个有效字节被定义为CVC3,
可以在HSM内部执行CVC3计算,因为HSM包含用于创建KDcvc3的IMK、所述KDcvc3用于创建IVCVC和CVC3。所以应用程序系统将传递作为输入的UN和ATC以结合IMK id来使用。HSM将利用CVC3密码作为输出响应回来。CVC3是作为对随着每个询问而改变的密码的计算的输入的动态密码。这是已知的,因为随着每个询问预期数字凭证会使ATC(自动交易柜台)递增并且还具有不同UN值。
[0098] 该卡规范预期KDcvc3使用密码的密钥是永久的使用密码的密钥。在作为代替要计算不可预知密码的情况下,在该示例中,KDcvc3的永久密钥不被使用,并且由可包括会改变的随机值并且在单个询问之后可以被擦除或变更的临时使用密码的密钥代替。所使用的临时的使用密码的密钥可以被记录在应用程序系统交易表中,用于将来在密码验证期间的参考。继续以使用临时的使用密码的密钥而不是永久的使用密码的密钥的下述公式进行将产生不可预知密码。
[0099] 打算(预期)使该算法中的UN输入值成为来自在询问期间获取的销售点的不可预知号码。为了作为代替计算不可预期预定密码,在一个实施例中该UN号码将被随机创建并且用作密码算法的输入。所使用的UN号码将被记录在应用程序系统交易表中用于将来在密码验证期间参考。预定密码现在可以被用来在询问期间不咨询应用程序系统的情况下以式子表示对“计算使用密码的校验和”请求的响应。在该实施例中,移动设备可以在授权过程的范围期间共享对预定密码的访问。
[0100] 在代替预定密码的另一实施例中,随机数据可以简单地用来创建预定密码。在该实施例中,移动设备可以在授权过程的范围期间共享对预定密码的访问。
[0101] 在代替不可预知密码的另一实施例中,临时的使用密码的密钥可以被用来允许移动设备计算和创建不可预知密码。临时的使用密码的密钥将被记录在应用程序系统交易表中用于将来在密码验证期间参考。在该实施例中,移动设备可以在授权过程的范围期间与应用程序系统共享对临时的使用密码的密钥的访问。
[0102] 可替换地,尽管较不安全,但是在应用程序系统的另一实施例中,可以将永久的使用密码的密钥递送给移动设备来被瞬时存储,以允许移动设备计算和创建可以在不咨询应用程序系统的情况下以式子表示“计算密码校验和”响应的预期密码。
[0103] 这里公开了交易(命令/响应)缓存的概念。缓存是一个透明地存储数据以使得将来对该数据的请求可以被更快提供服务的部件。存储在缓存内的数据可以是先前已经计算的值或者存储在别处的原始值的副本。如果所请求的数据被包含在缓存(“缓存命中”)中,则可以简单地通过读取本地缓存来服务于该请求,相比而言这比访问远程源更快。否则(“缓存丢失”),必须从其原始存储位置重新计算或提取该数据,相比而言这更慢。因此,可以从本地缓存为越多请求提供服务,总体系统性能将越快。缓存暗示缓存值可以是临时的,并且如果需要的话来自远程源的原始值可以容易地被反复访问,以便更新或替代缓存的值。这里使用的术语“非持久缓存”和“瞬时缓存”指代要成为瞬时的或非持久的缓存的数据。除非以其他方式说明,术语“缓存”还指代要成为瞬时或非持久的缓存数据。
[0104] 移动设备缓存被设置以便使缓存的数据保持准备用于来自销售点的将在稍后的时间发生的下一询问。重要的是要注意,传送到移动设备缓存的数据可以保持照字面的APDU格式化数据,或者可以简单地保持所需数据,以便以式子表示正确格式化的APDU响应。重要的方面是,缓存保持所需的所有数据以适当地创建对APDU命令的APDU响应。
[0105] 这里所使用的术语“卡数据”或“凭证数据”可以指代用于创建对凭证特定APDU命令(诸如“读取记录”7)的适当APDU响应的数据,以及在“计算使用密码的校验和”8中使用的数据。对于多个远程安全元件资源库的软件表示中的应用程序系统来说,能访问所有数据以便适当地创建有效APDU响应是很普遍的。
[0106] 图16图示对于销售点778和用于MasterCard PayPass交易的移动设备779之间的每个交易或询问的缓存系统。缓存安全元件响应的优点是减少网络等待时间的影响并且加速询问。在图16包含的示例中,因为所应用的缓存技术,网络等待时间从潜在的800ms减少到潜在的200ms。这是NFC或RFID的应用中的重要影响,因为随着总询问时间帧缩短,成功询问序列的可能性上升,因为销售点和移动设备之间的通信信道将不太可能被移出由销售点生成的场的移动设备中断。注意,不是图16中的所有询问命令和响应787和793都从移动设备缓存780处理。非缓存的命令和响应导致图16中整个交易的200ms网络等待时间。
[0107] 图17图示对于销售点794和用于Visa PayWave交易的移动设备795之间的每个交易或询问的缓存系统。在该图中,采用100%交易缓存的概念。它图示对于来自销售点的询问的所有响应可以如何在实际移动设备和销售点询问之前的某一时间点802被缓存。这促使询问的网络等待时间成为0ms(零),因为在通过网络来自远程系统认证服务器的远程资源库的询问期间没有查询数据。这是优于图16中的系统的巨大优势,其转而对根本不采用交易缓存的系统具有巨大优势。
[0108] 根据由销售点选择的询问序列,可能不总是可能实现图17中阐述的系统。在提交本申请时实行的许多销售点询问序列基于诸如以下这些卡规范:a.MasterCard,PayPass,MChip
b.美国运通公司,运通支付
c.Discover Zip
d.Visa QVSDC,VSDC
e.无接触EMV,
采用由移动设备创建至少部分根据销售点上生成的不可预知数据计算并且在询问序列期间被递送到移动设备的预期密码的方法。因为创建预期密码需要执行计算(所述计算包括永久的使用密码的密钥),访问该密钥的安全元件或系统必须被用来实行预期密码计算。因为安全元件表示被存储在远程资源库中并且包含永久的使用密码的密钥,该预期密码计算招致网络等待时间在询问期间执行计算,如图16中元件793所示。
[0109] 在销售点与移动设备的询问期间,销售点可以请求密码并且在相同APDU命令请求中将要在密码计算中使用的某些数据供应给移动设备。预期对移动设备的该请求的APDU响应(其也在相同询问序列中)包含至少部分使用来自销售点的输入数据并且还有其他输入数据计算的密码本身。在从移动设备接收到APDU响应中的密码之后,然后销售点发送密码、用于请求密码的输入数据以及关于从移动设备到远程处理器用于授权请求的凭证数据的可能其他信息。作为授权请求过程的一部分,基于用于创建其的输入数据(该输入数据的一些由销售点生成)来验证密码。
[0110] 因为外部卡规范所参考的这些密码中的许多使用作为在预期密码的计算期间输入的一部分由销售点创建的交易数据或不可预知号码数据,所以计算密码的步骤在询问时需要安全元件,因为安全元件包含创建密码所需的永久的使用密码的密钥。如果安全元件被包含在远程资源库中,则网络等待时间必须被分解成总询问时间,以便安全元件使用来自销售点的数据来计算密码。
[0111] 如果由销售点创建的数据不是创建预期密码的输入的一部分(诸如在Visa无接触MSD密码(dCVV)中),则可以由远程资源库来计算密码,将其传送到移动设备,并且将其缓存用于稍后在销售点询问期间使用。该方案不会创建网络等待时间,并且允许在询问期间的百分之一百交易缓存,因为在实际询问时间期间不需要访问安全元件表示。这里所使用的,术语“百分之一百(100%)交易缓存”指代移动设备在不需要在询问期间接触安全元件的情况下完成与销售点终端的询问,以及作为代替使移动设备本地现有的所有数据完成询问的能力。
[0112] 外部卡规范所参考的大多数密码算法需要在询问期间来自销售点的输入数据,所以下面的许多图解决该问题以及如何在百分之一百交易缓存的背景下解决该问题。在图21、22、23、24、25、26、27、28、29和30中定义和描述“密码代替”以及创建预先定义密码的方法,其解释创建对密码请求的响应的问题的解决方案,至少部分通过由销售点发送到移动设备的不可预知数据来计算预期密码。
[0113] 图22图示应用程序系统的一个实施例可以如何使用随机、预定或“制定的”输入数据来创建密码。定义交易表210,在其中每一行代表移动设备和销售点之间的交易。该表中的数据状态当前示出已经被递送到移动设备缓存但还没有通过销售点验证的交易数据。为了遵从在询问期间销售点到移动设备的请求,移动设备必须以销售点预期的适当数据格式来递送密码。可能不会利用来自销售点的输入数据来准确地计算包含在从移动设备递送到销售点的实际密码中的数据,但是在这时这无关紧要,因为销售点不会独自验证密码,它简单地接收密码并且将其中继以用于对应用程序系统的验证,该应用程序系统能够访问用于创建原始预定密码的输入数据。这是为什么可以基于随机选择的终端输入数据UN 213和交易数据215来计算预定密码218。创建预定密码的其他输入基于每个安全元件的凭证数据,诸如应用程序交易柜台214、发卡行主密钥id 212,、以及账号个人账户号码211。在收集所有预定密码输入数据之后,应用程序系统将输入发送到HSM,并且接收预定密码作为输出响应。应用程序系统可以可选地将预定密码218存储在表210中,用于在随后验证期间使用。
[0114] 在该时间点处由销售点终端在询问期间发送的实际不可预知号码216和交易数据217是未知的,因为实际上询问还没有发生。然而,仍可能以这种方式创建要被递送到移动设备用于在移动设备缓存中使用的预定密码,以便在包括适当格式化预定密码的销售点询问期间使用。该预定密码被适当地格式化,但是将不会基于来自销售点询问的输入数据来计算该预定密码。因为它被适当地格式化,所以它仍将被销售点接受并且发送出去用于授权请求中的验证。还要注意,在单个时间点处理中可能存在多个交易,219示出代表针对相同PAN 211当前要被处理的两个不同交易的不同两行。应用程序系统具有单独处理每一个交易的能力,因为在表中存在分别辨别每一个的行。
[0115] 要注意,因为创建密码的相同应用程序系统也将验证相同密码,所以预定密码创建的另一实施例简单地根据随机数据构成预定密码,而根本不执行根据输入数据的计算。该实施例需要应用程序系统将随机预定密码218存储在表210中用于随后验证。该实施例也不需要HSM创建密码,因为它被简单地随机创建。
[0116] 注意,在另一实施例中,可能为每个交易创建一个临时的使用密码的密钥。可以与移动设备共享该密钥,从而允许移动设备至少部分使用在询问期间从销售点接收到的不可预知数据来计算不可预知密码。该实施例需要应用程序系统将临时密钥380存储在表210中用于随后在不可预知密码验证期间的使用。
[0117] 这些代替预定密码和代替不可预知密码的方法对具有现有销售点基础设施的100%交易缓存的概念来说是至关重要的。现有销售点基础设施是为每个询问序列预置的并且预期根据在销售点中编程的每个询问序列来格式化数据。改变(多个)询问序列不受移动设备的控制,并且所以可能需要如所定义的至少部分使用来自图22的数据来创建预定密码或不可预知密码的该方法,用于在销售点和移动设备之间的询问期间不会创建网络等待时间的100%交易缓存。因为在没有来自销售点的输入的情况下创建预定密码,所以还可以从整个询问时间除去创建预定密码的计算时间。在不可预知密码的情况下,该计算时间持续并且不能从总询问时间除去。
[0118] 图29图示可以被存储在应用程序系统内部的数字凭证表350(数字凭证数据)的表示。该表结合交易表(以及在一些实施例中的HSM)允许应用程序系统执行为多个安全元件软件表示的资源库。用于创建SE内部的数据并且还允许其以式子表示其适当APDU响应的凭证数据被包含在用于多个凭证(SE)的该表中。对于MasterCard PayPass MSD v3.3凭证,该表中示出示例,数据列表个人账号号码(PAN)351、到期日期352、持卡人姓名353、卡代码354、磁轨1数据355、磁轨2数据356、磁轨1cvc3位图357、磁轨2cvc3位图358、磁轨1UN和ATC位图359、磁轨2UN和ATC位图360、ATC数字的磁轨1号码361、ATC数字的磁轨2号码362、CVM列表363、AC 364、应用程序版本号码365和主密钥标识符366的列。
[0119] 图23图示移动设备220在被销售点询问之前请求交易缓存224的方法。这里所使用的术语“交易缓存”指代在与销售点的询问期间以式子表示适当移动设备响应所需的数据,其可以包括数字凭证数据。如图17和图18中所讨论的那样,图23非常相似并且描述移动设备220在随后的时间点通过要在销售点询问期间使用的通信信道接收交易数据的缓存(交易缓存)227的方法。在与销售点的询问之前,移动设备将通过通信信道从应用程序系统222请求要在销售点询问期间使用的交易缓存。该交易缓存数据可以包括随机生成的不可预知数据(诸如来自应用程序系统的UN和交易数据)和用于密码计算的其他基于凭证的输入225,并且通过通信信道将它们发送到HSM 223。HSM然后可以计算预定密码226并且将其返回给应用程序系统。预定密码然后可以被用来以式子表示对来自销售点的“请求密码”APDU命令的缓存响应。在另一实施例中,应用程序系统可以避免接触HSM并且简单地构成要被用作用来代替预期密码的预定密码的随机字节序列的步骤。该预定密码是随机数据序列并且与移动设备共享,所以移动设备可以不妨将随机字节创建为预定密码并且与应用程序系统共享它们。在另一实施例中,应用程序系统可以避免接触HSM并且简单地根据要与移动设备共享并且由移动设备使用的字节的随机序列构成临时的使用密码的密钥,同时创建要被用来代替预期密码的不可预知密码的步骤。该临时的使用密码的密钥是随机数据的序列,并且与移动设备共享,所以移动设备可以不妨将随机字节创建为临时的使用密码的密钥并且与应用程序系统共享它们。
[0120] 例如,来自销售点的MasterCard PayPass询问被称为“计算使用密码的校验和”14的APDU命令请求,如图3中所见。命令APDU遵循特定格式并且看起来像这样:80 2A 8E 80 04 00 00 08 99 00
上面来自销售点的APDU命令中的数字00 00 08 99指示要被用作预期密码计算输入的不可预知号码。该不可预知号码是随着销售点发起的每个询问改变的随机号码序列。在MasterCard PayPass MSD v3.3卡规范内部更详细地讨论该APDU命令请求的格式。预期来自移动设备的立即APDU响应遵循特定格式并且可能看起来像这样:
77 0F 9F 61 02 B8 92 9F 60 02 FB C7 9F 36 02 00 5E 90 00
数字B8 92表示密码。该数字B8 92由在前的BER-TLV格式化标记9F 61(磁轨2CVC3)以及长度值02标识。预期已经根据由在前的销售点APDU命令请求发行的不可预知号码结合诸如ATC之类的其他输入来计算该数字B8 92。必须使用安全地存储在SE内部的永久的使用密码的密钥来计算正确预期密码。因为图23实现100%交易缓存,所以在从销售点接收到不可预知号码之后并非不可能计算预期密码,因为在那种情况下,移动设备将需要访问网络以如图16(元件787和793)中那样接触远程资源库,以便执行预期密码计算。在这种情况下需要应用用预定密码或不可预知密码代替预期密码的方法,以便创建该响应。利用所应用的该方法,来自移动设备的“计算使用密码的校验和”响应可以在询问期间不接触远程SE表示的情况下被成功地递送给与销售点的询问。在这种情况下,作为代替缓存的响应可能看起来像这样:
77 0F 9F 61 02 A4 56 9F 60 02 FB C7 9F 36 02 00 5E 90 00
其中在一个实施例中,数字A4 56是预定密码,并且不会至少部分地使用来自销售点的预期不可预知号码来计算该数字A4 56。其中在另一实施例中,数字A456是不可预知密码,并且不会至少部分地使用预期永久的使用密码的密钥而不是使用临时密码来计算该数字A4 56。这是“密码代替”技术的示例。销售点不具有装置或密钥来检查所接收到的密码的正确性,所以它将接受密码答案,因为它是适当的格式。销售点随后将依赖授权请求以验证密码的正确性。
[0121] 以这种方式,利用某些实施例,包括构成对“计算使用密码的校验和”227的响应的元素的整个交易缓存数据可以在销售点询问之前通过通信信道从应用程序系统返回给移动设备。在来自销售点的询问期间可以使用交易缓存以便成功地缓存对100%询问请求的响应,而不需要在完成询问时间期间对远程资源库和SE的网络访问。还请注意,交易缓存响应227中供应的数据可以是照字面的APDU格式化响应。它还可以简单地包含以式子表示适当APDU响应所需的所有数据,而不需要请求在询问时间期间来自应用程序系统的更多信息。在这种情况下,移动设备必须采用某一逻辑来适当地以式子表示APDU响应。还可以利用交易缓存数据227来递送该逻辑。
[0122] 有时,诸如在来自销售点的无接触EMV询问序列期间,销售点可以请求多个密码中的一个。在这种情况下,必须在交易缓存响应227中通过通信信道来递送对多于一个密码类型请求的响应。在这种情况下,移动设备必须采用关于哪个密码响应被请求的某一逻辑并且引导移动设备缓存适当地递送正确密码响应。还可以利用交易缓存数据227来递送该逻辑。
[0123] 而且,有时,诸如在无接触EMV询问序列期间,可以实现基于“卡风险管理”决定在与销售点的询问期间的响应。通过具有关于销售点处的交易的足够逻辑和信息的卡来描述卡风险管理,以便在没有咨询应用程序系统或远程处理服务器的情况下赞成或拒绝该交易。使用不可预知数据来执行卡风险管理逻辑的一个示例是:销售点询问安全元件或移动设备并且在该过程期间它向移动设备指示它将不会立即转发凭证数据来用于交易的授权。这有时被称为“离线交易”。在询问期间的该点处,销售点发送移动设备不可预知数据(诸如为不可预知数据的一部分的交易量),并且从SE或移动设备请求赞成密码。SE或移动设备具有在该点处基于交易量做出关于接受或拒绝交易的“卡风险管理”决定的能力。如果交易量高于“上限”,则它可以选择拒绝该交易。
[0124] 通常可以利用密码来以式子表示指示已经做出关于卡风险管理逻辑的决定的从移动设备到销售点的响应,其中根据对销售点的响应的类型,密码计算公式是不同的。所以“拒绝”来自移动设备的消息可以包括由不同于为“赞成”消息指派的密码的计算公式计算的不同密码。卡规范将定义不同计算公式。
[0125] 元件227除了递送交易缓存信息之外还可以包含逻辑和数据来做出关于在与销售点的询问期间卡风险管理的决定的逻辑和数据。
[0126] 元件227尽管可能是较不安全的,但是在另一实施例中可以包含用于创建预期密码的永久的使用密码的密钥。
[0127] 在另一实施例中元件227可以包含用于创建不可预知密码的临时的使用密码的密钥。
[0128] 元素227还可以包含与使用密码的密钥一起用来创建密码(诸如ATC)所需的数据。这将允许移动设备在不咨询应用程序系统的情况下创建密码,并且有效地缓存在询问期间对来自销售点的密码请求的响应。与移动设备共享永久的使用密码的密钥将是使用预定密码来实现与100%交易缓存的背景相似的系统性能结果的可替换方案。而且与移动设备共享临时的使用密码的密钥(其中移动设备计算不可预知密码)将是使用预定密码来实现与
100%交易缓存的背景相似的系统性能结果的可替换方案。在授权步骤期间,与预定密码相比较而言,关于移动设备计算的密码和不可预知密码正确方法的验证可以是不同的,因为移动设备可以在密码计算中使用从销售点传递的不可预知数据。移动设备可以将交易缓存数据和卡风险管理逻辑安全地存储在移动设备缓存221中,其可以是非持久存储器或RAM,或可能是加密存储器。
[0129] 图24图示有时在移动设备已经从应用程序系统222接收移动设备缓存数据227之后销售点230和移动设备231之间的询问。可以通过在销售点和移动设备二者上的近场通信(NFC)来实行该询问。该询问内的数据协议层可以被配置用于ISO7816-4并且遵循APDU命令和响应格式。图24与图16的下半部非常相似,其中除了图24上的密码请求239和响应241以及图16的787和792之外。图24中的APDU响应(元件241)被以式子表示为使用移动设备缓存232的来自移动设备的响应,并且包含预定密码或不可预知密码。从销售点终端传递到移动设备239的不可预知号码(UN)和交易数据二者没有被主动用于创建预定密码响应241,然而,它们被用来创建不可预知密码响应。它们二者都被移动设备240保存以便随后通过通信信道传送到应用程序系统。如果存在要被执行以便确定哪个预定密码或不可预知密码响应
241被使用的卡风险管理测试,则在该时间242处由移动设备来执行它们。在密码请求239之前,来自销售点的询问序列可以包含附加请求(诸如选择支付卡应用程序233),其之后是来自移动设备缓存的响应234,GPO请求235,其之后是来自移动设备缓存的响应236,和读取记录请求237,其之后是来自移动设备缓存的响应238。
[0130] 图25图示在在移动设备和销售点之间的询问已经被执行之后的授权请求(诸如在图24中那样)。通常销售点255将以式子表示可以以ISO8583格式的形式的授权请求。该格式将包含关于询问的数据,诸如从移动设备接收的密码、传递到移动设备用于密码计算的不可预知号码和交易数据、以及其他凭证数据。授权请求将通过通信信道252传递到应用程序系统251。该通信信道可能不直接去往应用程序系统,但是可能首先去往获取网关,然后去往发行处理器,并且最终去往应用程序系统251。该通信信道在这里可以被称为“互换”。互换是支付卡行业为了授权请求目的专门使用的私用网络。在授权请求被应用程序系统接收之后,该授权请求可以基于授权请求的凭证数据中列出的PAN 211与交易表210中列出的特定交易相匹配。应用程序系统将为授权请求做出授权决定。
[0131] 应用程序系统能访问HSM 250以及交易表253,该交易表253还被示出在图22的元件210中。其可以包含用于创建预定密码的交易数据215和原始随机创建的UN 213。其可以包含预定密码。其还可以包含允许移动设备创建不可预知密码的临时的使用密码的密钥。通过互换通信信道252接收的密码可以是可能已经在对交易缓存数据的请求的响应(图23的元件227)中最初递送到移动设备的预定密码。通过互换通信信道252接收的密码还可以是由移动设备使用临时的使用密码的密钥创建的不可预知密码。
[0132] 与数据将从销售点发送到应用程序系统并行地,移动设备256在询问之后通过分离的通信信道254发送它从销售点终端接收到的交易数据和不可预知号码、来自卡风险管理测试的结果到应用程序系统。该分离的通信信道可以是通过移动网络的因特网通信。从销售点获取来自移动设备的该数据并且由移动设备将其保存,如图24中的元件240和242所示,但是还没有在图24的元件241中传递的密码的计算中使用该数据。由移动设备254发送到应用程序系统的该数据可以被用来比较并且确证地验证由销售点252单独发送的交易数据和不可预知号码。来自销售点报告的不可预知号码和交易数据应该与来自移动设备的报告的不可预知号码和交易数据相匹配。这里使用术语“确证地”指代验证由两个分离的通信信道递送的不可预知数据。
[0133] 可以实现关于从移动设备通过通信信道254发送到应用程序系统的数据的附加安全测量。在发送数据之前,如果数据包含交易量数据(例如“$16.24USD”),则该数据可以像这样呈现给移动设备显示屏371以用于持卡人验证:a.“您授权该$16.24USD购买吗?”
可以要求持卡人回顾并且证实交易量,这通过触摸屏幕371或者按下赞成的按钮372来完成。在该持卡人赞成过程之后,移动设备可以做出:决定发送或不发送交易数据,或者如果交易量没有被持卡人在移动设备上证实,则简单地将“授权故障”消息发送给应用程序系统。
[0134] 图26图示还在图25的元件253和图22的元件210中示出的交易表262。图26中的交易表的状态表示在已经执行交易询问之后以及如图25的元件254中应用程序系统已经从移动设备接收到数据之后交易表的状态。针对来自终端的不可预知号码以及交易数据261示出所接收的数据的示例。这些号码二者可以被用来验证图25的元件252中示出的授权请求,因为它们可以被比较并且与授权请求的那些相匹配。这些号码还可以被用作占位符以便标识系统授权是完成的。
[0135] 图27图示应用程序系统270如何做出关于特定交易(诸如图26中列出的那些)的授权决定。在图27中示出的一个实施例中,示出验证预定密码278的一种方法。来自图26中交易列表262中的行的数据(其与图27中的元件272匹配)除了由销售点通过通信信道传递到应用程序系统271的PAN和密码之外可以被用来创建“验证密码”请求273的输入。HSM 275然后可以使用安全保存在其内部的特定密钥来基于由可适用的卡规范供应的算法来计算密码并且看它是否与在273中传递的一个相匹配。根据该匹配的状态,指示“赞成”或“拒绝”的响应被发行回到应用程序系统。注意,来自销售点276的交易数据和UN不被用于密码验证,并且作为代替用先前在应用程序系统中创建和存储的交易数据215和UN 213来代替来自销售点276的交易数据和UN。在典型场景中,这是不可预期的,因为用于创建密码的卡规范至少部分根据由销售点276选择的交易数据和UN来预期要被计算的密码。因为我们的应用程序系统,在与销售点的询问之前,预定针对不可预知号码和交易数据的这些值以便计算预定密码,276中的值对于密码验证过程可以被忽略并且利用应用程序系统值来代替。关于该图以及它如何涉及密码的验证的重点是至少部分对于密码验证的输入数据不是通过通信信道从销售点276传递的不可预知号码和交易数据,但取而代之使用先前选择并且存储在交易表272中的随机生成的值。由销售点终端276生成的不可预知号码和交易数据决不会主动用于创建或验证密码,但是可以被用于与询问之后来自移动设备277的报告的响应相匹配,作为附加验证方法。
[0136] 在未示出但是涉及图27的另一实施例中,如果使用包括随机数据但是不是使用使用密码的密钥计算的预定密码,则应用程序系统可以通过简单地将从销售点接收的密码与保存在应用程序系统中的预定密码的参考进行比较来验证密码。
[0137] 在图27中示出的另一实施例中,示出验证不可预知密码279的一种方法。对于验证过程279,应用程序系统将使用分配给交易的临时的使用密码的密钥(如表210中所见,元件380)验证来自销售点的密码。临时密钥被移动设备用来创建从销售点发送的不可预知密码。计算391的输入包括来自应用程序系统390的数据和来自销售点393的输入。来自应用程序系统的输入可以包括临时的使用密码的密钥和应用程序交易柜台。来自销售点的输入可以包括密码、PAN、UN、交易数据。应用程序系统然后可以遵循在卡规范中供给的预期算法以便除了利用临时的使用密码的密钥代替预期永久的使用密码的密钥之外验证预期密码。注意,在该实施例中,永久的使用密码的密钥决不会用于密码验证。注意,来自移动设备392的交易数据和UN可以不被用于密码验证。
[0138] 图28图示包括用于用预定密码或不可预知密码代替预期密码的方法的交易过程的授权的概述。图28还图示包括使用预期密码的授权的方法的交易过程的授权的概述。对于所有实施例图28在没有本地访问预期被用于创建预期密码的永久的使用密码的密钥的情况下采用移动设备的概念。图21、22、23、24、25、26、27、29和30所有都具有该过程的一个部分。图21图示多个安全元件软件表示的资源库。图22、23和29图示移动设备如何通过通信信道与应用程序系统共享数据。图24图示销售点和移动设备之间的询问。图25、26和27图示在完成询问之后的授权过程。图30图示包括显示交易量数据用于由持卡人手动验证的确证授权的一个实施例的移动设备。
[0139] 在图28中,移动设备首先通过通信信道从应用程序系统280请求交易缓存信息。应用程序系统可以已经创建或者在那时创建随机数据,诸如计算预定密码281所需的不可预知号码和交易数据。该随机数据在格式上与销售点将在与移动设备询问时生成的随机数据相似。应用程序系统为了以后保存该数据,并且与移动设备282共享预定密码。
[0140] 作为对280、281、282和283的方法的替换方案,一个实施例可以包括简单地共享表示预定密码的数据的随机序列的移动设备和应用程序系统。这可能因为应用程序系统是创建和验证预定密码的唯一实体。
[0141] 作为对280、281、282和283的方法的另一替换方案,另一实施例可以包括共享移动设备将用来创建不可预知密码的临时的使用密码的密钥的移动设备和应用程序系统。
[0142] 作为对280、281、282和283的方法的另一替换方案,另一实施例(尽管较不安全)包括将创建预期密码所需的永久的使用密码的密钥发送到移动设备以便被瞬时存储应用程序系统;移动设备然后将具有在当销售点接收对预期密码的请求时本地地计算预期密码的能力。
[0143] 数据可以被递送到移动设备283,其包括例如卡风险管理逻辑、对“选择AID”作出响应所需的信息、“得到处理选项”、“读取记录”、以及在询问282期间的“计算密码校验和”APDU请求。
[0144] 移动设备通过通信信道接收交易缓存数据信息并且将其保存用于下一销售点询问283。
[0145] 如这里所使用的从一个实体到另一个实体(诸如移动设备到远程应用程序系统,或者反之亦然)的“发送数据”应该意思是,将数据从一个位置发送到另一个位置,其中接收实体可以从发送实体接收数据作为复制品,或者除了接收关于将使得接收实体能够重构从发送实体发送的原始数据的数据的信息之外分批地接收数据。
[0146] 销售点执行与移动设备的询问284,移动设备具有准备通过其NFC接口回答销售点APDU请求的缓存。作为询问的一部分,移动设备接收至少部分使用由销售点发送的不可预知数据(诸如不可预知号码和交易数据)来计算预期密码的请求。
[0147] 在询问284的一个实施例中,移动设备保存但是不使用来自销售点290的该不可预知数据,并且作为代替递送包含处于移动设备缓存291中的预定密码的响应APDU。询问被完成。在该实施例中,没有使用元件399。
[0148] 在询问284的另一实施例中,移动设备创建根据临时的使用密码的密钥以及至少部分来自销售点399的不可预知数据计算的不可预知密码。在该实施例中,没有使用元件290和291。
[0149] 在询问284的另一实施例中,移动设备创建根据瞬时存储在移动设备上的永久的使用密码的密钥以及至少部分来自销售点的不可预知数据的预期密码计算。在该实施例中,没有使用元件290、291和399。
[0150] 此外,并行地,销售点除了将关于交易的细节通过通信信道285发送到应用程序系统之外,还将它在询问期间从移动设备获取的数据(诸如预期密码、预定密码或不可预知密码、以及ATC)通过通信信道285发送到应用程序系统;并且,移动设备通过分离的通信信道将其从与销售点的询问获取的信息(诸如不可预知号码和交易数据)发送到应用程序系统286。
[0151] 在此,对于添加的“持卡人验证”步骤来说这是可能的,如果诸如交易美元量之类的交易数据在询问期间从销售点递送到移动设备的话。可以要求使用移动设备的持卡人在移动设备通过分离的通信信道将数据发送到应用程序系统之前验证显示在移动设备显示屏371上的购买量。
[0152] 然后,应用程序系统使用来自销售点以及可选地来自移动设备的数据来验证和授权交易287。
[0153] 应用程序系统可以将来自交易表210的特定交易标识为使用预定密码、不可预知密码或预期密码的交易,并且以适当的验证技术进行。
[0154] 应用程序系统可能必须将从销售点发送的不可预知数据与从移动设备发送的不可预知数据进行比较,以便将交易确证为附加的确切验证方法289。
[0155] 在一个实施例中,应用程序系统可以通过使用作为输入数据的一部分的先前随机选择的不可预知号码213和交易数据215来作为对被销售点发送到应用程序系统的不可预知号码和交易数据的代替,来利用HSM验证预定密码。
[0156] 在另一实施例中,验证过程可以是被递送到移动设备的预定密码(图23,元件226、227)和从销售点接收的预定密码(图25,元件252)之间的简单比较。
[0157] 在另一实施例中,验证过程可以是使用分配给交易表中的交易的临时的使用密码的密钥对不可预知密码的验证,以便计算和验证不可预知密码。
[0158] 在另一实施例中,验证过程是使用包含永久的使用密码的密钥的HSM对预期密码的验证。
[0159] 如果密码被验证289,则授权被看作成功的,否则,它已经失败。
[0160] 图30图示移动设备。移动设备屏幕371被包含在移动设备370的主体内,并且可以被配置成显示文本或图形。移动设备的输入按钮372可以被用来将输入手动地提交给移动设备。
[0161] 图21、22、23、24、25、26、27、28、29、30包括密码代替的方法,其中通过预定密码或不可预知密码来代替预期密码。该方法将包含HSM的应用程序系统用作软件安全元件表示的资源库。重要的是要注意,可以通过使用安全地容纳用来创建密码的密钥的HSM来计算这些图中的密码。然而,因为应用程序系统仅是被信任用于创建并且验证密码的实体,所以被代替的密码可以在不使用HSM的情况下由完全随机数据有效地构成,或者根据分配给每个交易的临时的使用密码的密钥来创建。
[0162] 这里所使用的术语“询问”或“询问序列”指代移动设备和如由卡规范定义的使用将用于授权财务交易的完整凭证递送到销售点所需的RFID(NFC)的销售点之间的所有APDU命令请求和APDU响应。典型地,NFC询问没有跨越多个NFC场进入和离开。典型地,当移动设备进入销售点的NFC场时询问的起始开始,并且至少在当移动设备离开NFC场时之前结束。
[0163] 询问序列可以完全由卡规范来定义,并且预期询问会收集从移动设备要求的所有数字凭证数据以便授权财务交易。询问或询问序列的时序也可以由卡规范来定义。如这里所使用,询问遵守指示最大询问时间的时序要求,如在卡规范中规定的那样。最大询问时间是完成整个询问所需的时间。如果卡规范没有包含定义最大询问时间的时序要求,则最大询问时间是1秒钟,如这里所使用的那样。如这里所使用的“快速询问”指代最大询问时间小于250毫秒的询问。如这里所使用的“特快询问”指代最大询问时间小于150ms的询问。如这里所使用的“超快询问”指代最大询问时间小于100ms的询问。如这里所使用的“高效询问”指代总询问时间不包括系统等待时间的询问,其中通过在询问期间将数据从移动设备发送到远程源或移动设备从远程源接收数据而引起的系统等待时间。
[0164] 基于该上下文如“100%交易缓存”和其他使用中的术语交易可以被用作询问或询问序列的同义词。在图1、2和3中示出询问和询问数据的示例。
[0165] 询问可以被看作时间敏感的,因为它越短,成功询问序列的可能性就会大大增加。这是NFC的接近性质的属性。很难使移动设备在NFC场中“徘徊”持续任意长的时间长度。
[0166] 这里描述的总体系统的另一重要方面是图28的元件285、286、287、288和289中所描绘的授权步骤的时间敏感性质。这是遵循授权交易的询问的过程。在零售环境中,预期要花费小于15秒,并且从刚询问步骤之后的时间到从应用程序系统接收到授权响应需要很少手动输入或不需要手动输入。如这里所使用的那样,术语“完成的授权”指代遵循在询问步骤完成时开始并且在销售点从应用程序系统接收到授权响应时结束的授权方法的一部分。如这里所使用的那样,术语“快速完成的授权步骤”指代最大持续时间为15秒的完成的授权。如这里所使用的那样,术语“特快完成的授权步骤”指代最大持续时间为5秒的完成的授权。如这里所使用的那样,术语“不需要手动输入的授权步骤”指代不包含持卡人对移动设备的手动输入的需要的完成的授权。
[0167] 仅在存在共享应用程序系统和移动设备之间的预定密码或不可预知密码的信道的情况下,密码代替的方法才是可能的。因为该信道用于递送,所以永远不会存在对持久地本地存储到移动设备的永久的使用密码的密钥的需要。在移动设备和远程应用程序系统之间存在有效通信信道的情况下,不再需要永久的使用密码的密钥在远离应用程序系统的第二位置的持久存储(如在塑料卡内部的分布式安全元件的典型情形中)。
[0168] 在典型情形中,塑料卡上的SE必须创建与远程应用程序系统无关的预期密码,因为它不具有接收数字凭证数据的信道。在塑料卡和销售点之间的询问之后,远程应用程序系统然后被用来在每个询问之后通过SE验证预期密码。这意味着SE和远程认证服务器二者必须拥有生成预期密码的永久的使用密码的密钥的副本。
[0169] 在密码代替的该方法中,因为存在从移动设备到应用程序系统的通信信道,所以当移动设备被用作支付手段时不存在对将持久地存储并且用于预期密码计算的永久的使用密码的密钥的第二副本分配给该移动设备的需要。
[0170] 如这里所讨论的那样,各种实施例描述用于在不访问本地持久存储的永久的使用密码的密钥的情况下执行从移动设备递送的数字凭证数据的及时授权的方法;尽管与销售点的询问根据卡规范的指导来运作。典型地,卡规范预期移动设备会创建至少部分使用永久的使用密码的密钥以及至少部分根据在询问期间从销售点递送到移动设备的不可预知数据计算的密码。另一考虑是移动设备可能没有电力,在这种情况下将需要持久地存储本地永久的使用密码的密钥以便当电力被恢复时在系统中适当地运行。另一考虑是移动设备或运行在该移动设备的操作系统中的应用程序可能不具有基于由卡规范阐述的要求以及基于移动设备或该移动设备上的应用程序可用的资源而持久地本地存储永久的使用密码的密钥的装置。另一考虑是卡规范要求可以基于有资格将永久的使用密码的密钥持久地存储在操作系统中的各种准则,来指示移动设备或运行在该移动设备的操作系统中的应用程序太不友好且易受攻击。另一考虑是移动设备或运行在该移动设备的操作系统中的应用程序可能不能本地地访问嵌入式SE或嵌入式安全存储或者任何其他安全本地存储容纳装置中持久存储的使用密码的密钥。
[0171] 如这里所使用的那样,术语“销售点”、“POS”和“销售点终端”是同义词,并且包括例如安装在商业付款台、自动取款机(ATM)、自服务设施(诸如加油泵)以及类似服务站安装的终端,在这种情况下财务交易是授权的,并且该术语还包括接受用于授权财务交易的支付卡数据的计算机。POS终端可以以多种方式来接受支付卡数据,包括磁条读取、NFC读取、ISO7816-3接触卡读取、卡数据的手动键入、等等。如这里所使用的那样,术语“销售点(POS)”和“销售点终端”被限于下面这样的销售点:在与移动设备的询问期间根据卡规范的指导来运作以使得销售点通过发送命令到移动设备并且从移动设备接收响应来控制询问。
[0172] 如这里所使用的那样,术语“移动设备”指代具有小于2磅(0.907kg)的重量的电子通信设备。移动设备的示例是蜂窝电话、智能手机、个人数字助理(PDA)、电子书籍读卡器和平板计算机,只要该设备重量小于2磅(0.907kg)。
[0173] 当在本文中提到移动设备不访问本地持久存储的永久的使用密码的密钥时,这样的参考可以包括具有操作系统的移动设备(利用在该操作系统中运行的应用程序),以使得该应用程序不访问本地地存储的永久的使用密码的密钥;和/或以使得预期本地持久存储的永久的使用密码的密钥被用来计算预期密码,和/或以使得预期使预期密码包含在在询问期间发送到销售点的数字凭证数据的至少一部分内;和/或以使得该过程在应用程序的指导下。
[0174] 如这里所使用的那样,术语“NFC仿真移动设备”是包括操作系统的移动设备(利用在该操作系统中运行的应用程序),其中该应用程序具有销售点以卡、SE或移动设备的角色询问的能力,因为卡规范中定义了该能力。
[0175] 如这里所使用的那样,术语“安全移动设备”是能访问本地持久存储的永久的使用密码的密钥的移动设备;其中预期使该本地持久存储的永久的使用密码的密钥用于计算预期密码,其中预期使该预期密码包含在数字凭证数据的至少一部分内。
[0176] 可以利用诸如不可预知号码(UN)之类的不可预知输入数据和诸如由销售点终端以不可预知方式创建的交易量之类的交易数据来计算密码。即使交易量可以被看作确定的,但授权系统和所考虑的不可预知数据是不可预知是。如这里所使用的那样,被用作密码计算的输入的该“不可预知输入数据”可以例如是不可预知号码、终端输入数据、不可预知终端输入数据、交易数据、交易量或诸如随机数之类的某一其他不可预知数据、或者其组合。
[0177] 销售点通常无法验证它接收到的预期密码实际上至少部分或者还是全部通过它已经递送的不可预知数据据来计算,或者它接收到的预期密码实际上至少部分或者还是全部通过预期的永久的使用密码的密钥来计算。因此,移动设备通常可以在销售点没有检测到代替的情况下利用“不可预期密码”来代替“预期”密码。
[0178] 随后,销售点可以基于包括在询问期间接收到的不可预期密码的数据来请求授权。该数据被发送到授权权力机构(应用程序系统)来进行验证和授权。假定该授权权力机构能访问凭证数据,包括密码计算密钥、自动交易柜台、等等,它们被链接到在询问期间由卡、SE或移动设备递送的凭证数据。如果授权权利机构知道该代替,并且还能访问不可预期密码本身,或者已经至少部分用来创建它的不可预知数据,或者已经至少部分用来创建它的临时的使用密码的密钥,则授权权力机构可以成功地验证密码的正确性。这可以通过由销售点递送的密码和应用程序系统中的不可预期密码参考的简单比较,或者通过执行销售点递送的密码的正确验证(通过重新计算该密码)而发生。
[0179] 图23讨论移动设备请求要在与销售点的将来询问中使用的缓存数据的想法。元件227指示将该数据从应用程序系统的远程源传递到移动设备的本地源用于缓存。包含在元件227中的数据是在询问期间对销售点做出响应所需的数据。这可以包括预定密码。可替换地,但较不安全地,该缓存数据除了具有其他所需数据之外还可以包括永久的使用密码的密钥,以便在请求预期密码时在移动设备上本地地计算预期密码。可替换地,该缓存数据除了具有其他所需数据之外还可以包括临时的使用密码的密钥,以便在移动设备上本地地计算不可预知密码。应用程序系统能访问使用密码的密钥和用于计算密码的附加数据,所以它具有计算密码或者在支持计算数据的情况下将使用密码的密钥简单传递到移动设备,以及允许移动设备在询问期间计算密码的能力。
[0180] 重要的是要指出,在这里公开的许多实施例期间,应用程序服务器和移动设备可以被叙述为:如果任何时间点的数据从一个实体发送到另一实体,则其共享信息。在一个示例中,可以通过应用程序系统来创建用来创建预定密码的不可预知数据,并与移动设备共享该数据。移动设备创建不可预知数据并且将其发送到应用程序系统是完全可能的。类似地,在另一示例中,移动设备创建根据随机数据专门制成的预定密码并且将该预定密码发送到应用程序系统而不是应用程序系统将预定密码发送到移动设备是可能的。类似地,在另一示例中,移动设备创建用来创建不可预知密码的临时的使用密码的密钥并且将它发送到应用程序系统而不是反过来是可能的。
[0181] 如先前所指出的那样,运行在移动设备中的操作系统上的应用程序可能不访问本地持久存储的使用密码的密钥。因此,可以说移动设备不具有用于创建要被发送到应用程序系统的预期密码的永久的使用密码的密钥,因为预期使永久的使用密码的密钥在卡的寿命内是持久的,并且这暗示移动设备具有装置访问永久的使用密码的密钥,以便需要通过整个移动设备动力循环持久的卡的寿命期间使用。然而,相反地,对于应用程序系统来说可能创建永久的使用密码的密钥、持久地存储它、并且将它发送到移动设备以便被瞬时存储。
[0182] 特别地可以通过使用所公开的数据连接方法来使得NFC支付交易安全,因为交易的安全性在很大程度上基于数据内容本身。通过读卡器和卡的询问阶段传递的每个交易请求产生随着每个后续交易改变的磁轨1/磁轨2等效数据,从而为每个和每一个交易提供单个凭证。此外,数据内本身是基于共享密钥的数据,其可以以几乎100%的确定性来验证该基于共享密钥的数据是从特定持卡人安全元件接收的。因为这一点,有效传输数据的数据管线的安全性较不重要并且实际上可能不被看作财务交易的安全性的因素。
[0183] 在这里公开的一些实施例中,根据MASTERCARD International来发行特定支付标准。该标准基于由PayPass-Mag Stripe(V3.3).pdf以及其他衍生物公布的参考文档。在该卡规范中,为PayPass无接触支付卡读卡器和卡询问提供文件。该文件具体讨论RFID读卡器询问器将如何与包含SE的卡交互以便提取和构建对现有处理基础设施来说兼容的磁轨1/磁轨2等效数据,但是包含SE驱动的凭证数据的更多安全和动态方面。
[0184] 在这里公开的一些实施例中,作出用于管理包含多个SE读卡器的远程系统的各项规定,每一个都是特定移动设备可寻址的并且与该特定移动设备相匹配。
[0185] 在这里公开的一些实施例中,作出用于利用远程系统认证和验证移动设备以便获得对该远程系统中的多个SE内的特定SE的访问的规定。
[0186] 在这里公开的一些实施例中,作出用于经由激活对于ISO7816-4数据命令的从POS RFID读卡器通过移动设备NFC接口通过移动设备OS到去往包含多个SE的远程系统的数据连接的数据传递通过模式来将移动设备连接到远程服务的规定。
[0187] 在这里公开的一些实施例中,作出使用TCP/UDP/IP插口来实现RFID POS读卡器和包含多个SE的远程系统内的单个SE之间的通信信道的规定。
[0188] 在这里公开的一些实施例中,作出通过SSL进行认证以实现RFID POS读卡器和包含多个SE的远程系统内的单个SE之间的TCP/UDP/IP插口通信信道的各项规定。
[0189] 在这里公开的一些实施例中,与上面的交易缓存类似地,作出用于百分之一百交易缓存的各项规定。这些是允许移动设备从远程认证系统请求缓存的方法和配置,其中缓存请求响应包含用于创建对在将来发生的整个销售点询问序列的APDU响应的数据。该缓存可以被安全地存储在移动设备中的非持久存储器(RAM)中并且在与RFID(NFC)销售点读卡器询问时使用。
[0190] 依赖于上述用于本地缓存的系统,一些实施例可以允许移动设备和RFID(NFC)销售点读卡器在交易(询问)时彼此专门交互,而无需使用存储在移动设备缓存中的数据来执行远程请求,这将导致网络延迟。
[0191] 在这里公开的一些实施例中,作出用于用在根本不使用来自销售点的不可预知数据的情况下创建的适当格式化预定密码代替有效创建的那些以及使用至少部分使用在销售点和移动设备之间的NFC询问序列期间来自销售点的数据而创建的预期密码的各项规定。
[0192] 在这里公开的一些实施例中,做出用于用使用临时密钥创建的适当格式化的不可预知密码替换利用永久的使用密码的密钥创建的预期密码的各项规定。
[0193] 密码代替依赖于交易缓存的优点,因为预定密码或不可预知密码允许用来创建对密码请求的响应的移动设备上的数据的缓存;在这种情况下,来自销售点的密码请求预期密码响应至少部分使用来自销售点的不可预知数据并且至少部分使用永久的使用密码的密钥来创建预期密码。当要在预期密码响应中使用的数据消除使用引起网络等待时间的效果的网络资源的需求时代替预定密码或不可预知密码,同时联系远程安全元件表示来执行密码计算。作为代替以这种方式(作为“缓存命中”)预定密码或不可预知密码可以被递送到销售点。当安全元件被称为远程时,指示不存在对要在预期密码计算中使用的本地存储的永久的使用密码的密钥的访问。
[0194] 在这里公开的一些实施例中,做出远程源用于递送永久的使用密码的密钥连同用于在移动设备中创建预期密码的任何其他所需数据的各项规定。尽管,这是较不安全的实施例,因为永久的使用密码的密钥被暴露给移动设备,还可以利用该实施例来实现100%交易缓存的概念,因为用于创建预期密码的所有元件现在位于本地缓存中,并且移动设备不需要在询问的密码计算阶段期间访问远程源。
[0195] 在这里公开的一些实施例中,移动设备能访问诸如在与销售点的询问期间获取的交易量之类的交易数据信息。该交易量可以被用作对移动设备用户或持卡人的第二验证方法。移动设备可以利用验证请求将该交易量显示在移动设备屏幕。在请求的成功授权之前,应用程序系统可以在授权决定中使用该输入。该附加验证方法的优点涉及要被授权的交易量的附加安全性和确认。该方法还确认用户知道要在财务交易期间授权的美元量。
[0196] 各种实施例提供SE的软件表示。这些实施例的优点包括利用节省成本和空间需求的软件解决方案来取代通常视为硬件解决方案的概念。
[0197] 这里公开的一些实施例使用NFC移动设备上的基带处理器来完成以下任务中的一个或全部:a.开始通过移动设备的NFC无线电接口到达POS RFID读卡器的连接,
b.通过移动设备的NFC无线电接口从由POS RFID读卡器提供的询问序列接收命令,并且将这些相同命令传递给被配置成接收那些命令的远程系统,
c.从远程系统接收响应,并且将那些响应通过移动设备的NFC无线电接口传递给POS RFID读卡器。
[0198] 可替换地,一些实施例使用移动设备中的基带处理器来完成以下任务中的一个或全部:a.开始到达被配置成使用7816-4数据通过TCP/UDP/IP进行询问的远程终端的连接,b.通过该远程终端接口通过TCP/UDP/IP接口从远程终端接收命令,并且将那些相同命令传递给被配置成接收那些命令的远程系统,
c.从远程系统接收响应,并且将那些响应传递给被配置成通过TCP/UDP/IP接收7816-4数据的远程终端。
[0199] 这里公开的一些实施例使用远程服务器网络和安全元件(远程系统)的安全元件的表示或安全元件的远程阵列来完成以下任务中的一个或全部:a.认证希望将命令从询问器发送到包含在该系统中的SE的特定远程移动设备或移动设备的所有者,
b.适当地对SE阵列内的单个SE进行寻址以便适当地对验证的远程设备作出响应,
c.将传递给该系统的命令适当地按规定路线发送到系统内的特定SE或SE软件表示,并且将来自系统之外SE的响应适当地按规定路线发送到正确验证的远程设备,
d.适当地绕过远程SE或远程SE,并且利用可以表示在无接触交易中使用的交易数据的静态或持久数据做出响应。
[0200] 这里公开的一些实施例组合由NFC移动设备和远程系统二者执行的任务以允许RFID POS读卡器或远程终端以及NFC移动设备之间的完整且不受干扰的询问。该询问可以如支付卡标准所阐述的那样被执行,所述支付卡标准诸如MASTERCARD PayPass、VISA无接触、AMEX Express支付、DISCOVER Zip以及无接触EMV。
[0201] 可以通过移动设备上当前可用的标准TCP/UDP/IP服务来实行上面陈述的移动设备和远程系统或远程终端之间的数据链接或数据连接和通信。
[0202] 各种实施例的一些优点包括:a.在被用于进行与RFID终端的NFC支付交易的移动设备丢失或被盗的情况下,可以通知远程系统并且与SE的通信可以被阻止直到被盗或丢失的设备被恢复或取代为止。在设备被取代的情况下,还没有再次发行新卡凭证,但是可以备份地打开与SE的通信信道并且一旦适当授权就继续。在本发明之前,所有新的SE凭证或卡将必须被再次发行为硬件,所述硬件包含本身也已丢失或被盗的SE,
b.与远程移动设备相关联的SE可以被快速且容易地切换到另一移动设备并且不与硬件形状因子有关。同一SE可以与具有通过数据连接连接到包含SE的该移动系统并且适当认证的能力的多个移动设备、膝上型或桌上型计算机一起使用,
c.与改变硬件接口、以及不同硬件接口的阵列、以及移动设备上支持的硬件接口相比,数据连接是普遍存在且标准的。SE当前具有诸如以下各项之类的各种硬件形状因子:
i.嵌入式微芯片(焊接到电路板)
ii.SD、迷你SD、微型SD接口
iii.USB接口
iv.SIM卡接口许多移动设备支持上述硬件形状因子的不同集合,并且许多移动设备可以根本都不支持它们,然而,大多数移动设备支持数据连接。该普遍性帮助逐个设备的SE应用程序便携性,
d.因为一些实施例包含SE或SE表示的阵列,并且因为远程系统被设计成托管SE应用程序并且将其连接到多个远程设备,所以对于来自分离的远程设备拥有者的多个远程设备来说共享来自远程系统中的SE阵列的单个SE是可能的。这种类别的共享SE上的空间使得能够通过更高效地利用SE阵列上的存储器来合并并且最终节省,
e.因为一些实施例不依赖于SE的硬件专用接口,但是仅依赖于数据连接。它是更普遍存在的接口,并且从硬件观点来看可以与更多设备一起使用而不用修整或改变,
f.因为一些实施例使用SE阵列或多个SE,所以购买大批SE芯片以便在该阵列中使用的能力带来了每个SE芯片更低总成本的可能性。
[0203] 各种实施例的一些附加优点还包括:a.使用“2因子”认证来保护从移动设备到远程SE的连接。一旦认证,就可以为与特定移动设备有关的SE打开连接信道。2因子认证包括“一些你必须做的事情”以及“一些你知道的事情”,
b.使用“一些你必须做的事情”以及“一些你知道的事情”的示例是使用手势(以合理的可重现方式将电话移动通过3d空间)和加速计来测量关于移动设备的这些手势,以便结合键入的pin或口令来创建“手势信号”,来用于利用如本发明中所定义的SE阵列以认证远程系统。
[0204] 为了说明和解释的目的已经给出实施例的在前描述。不意图使它们成为穷尽的或者将实施例限于所公开的精确形式。根据上面的教导,明显的修整或变化是可能的。实施例被选择和描述,试图要提供原理和实际应用的最佳说明,并且由此使得本领域普通技术人员能够利用如所述的各种实施例和如适合于预期特定使用的各种修整。当根据所附权利要求公正、合法以及等效地给予的权利的范围来解释时,所有这样的修整和变化在所附权利要求的范围内。