入用户的钱包与/或口袋(例如,口袋般大小)。通常,移动设备10包含处理器、内存、输入设备、输出设备、以及近场通信(NFC)设备,它们全都可操作地耦合于处理器。移动通信设备10的具体实例可以包括蜂窝,即无线电话、平板计算机、智能电话、个人数字助手(PDA)、呼叫机、便携式计算机等。尽管在本申请中涉及移动通信设备10,然而本发明的实施例也可以通过能够与此处所描述的实体进行通信的多种不同的移动用户设备得以实现。
[0075]移动设备10能够通过一或多个天线,使用空中下载(OTA)通信与网关11进行通信。另外,移动设备10还能够使用无接触通信硬件与通常可以位于销售方的支付终端(例如无接触POS终端)进行通信。
[0076]网关11可以是配置为使用空中下载(OTA)消息与移动通信设备进行通信的一个服务器计算机或者一系列服务器计算机。网关11允许移动设备经由处理网络13、访问来自于移动支付应用的签发方12的服务,例如签发方更新。网关11可以由签发方、采集方、第三方服务提供方、或者可信服务管理方加以实现。
[0077]可以在处理网络13和网关11之间建立人们非常熟悉的安全通信。可以使用互相验证的安全套接层(SSL)通道建立该安全通信。该安全通信可以使用数据加密标准,例如具有至少1024个比特的密钥的RSA的数据加密标准、三重数据加密标准(DES)、128个比特的先进的加密标准(AES)、使用最小128个比特密钥长度的RC4流加密算法等。这些加密标准可用于创建安全通信期。本领域技术人员将会意识到,可以在处理网络13和网关11之间实现任何其它适当形式的安全通信。
[0078]签发方12经由移动设备10、使用网关11与移动支付应用进行通信。签发方12可以通过安全处理网络13与网关11进行通信。
[0079]在另一个实施例中,在网关11和签发方12之间的连接是直接的。可以按与以上所描述的方式相同的方式确保在网关11和签发方12之间的直接通信的安全。
[0080]签发方更新可以包括用于配置移动支付应用的信息以及至支付应用的签发方更新信息。签发方更新可以包括卡参数更新、移动支付应用的封锁或者解锁、解除移动支付应用的支付能力以及解锁或者改变用于验证用户与/或移动通信设备的身份的PIN。另外,签发方更新还可以包括移动支付应用签发方所提供的增值服务的提交和请求(包括查询相应于移动支付应用的账户的余额)、以及添加、限制、或者有关与移动支付应用相关联的预付金额的其它指令。
[0081]如此处所使用的,术语“签发方”包含签发和维持一个金融账户(例如,贷、借、或者预付)以及与该金融账户相关联的移动支付应用的任何实体。作为选择,签发方12可以不直接签发移动支付应用,取而代之,可以与签发移动支付应用的另一方订立合约。签发方12可以关于涉及与移动支付应用16相关联的账户的信息与网关11进行通信。
[0082]图2说明了个性化移动设备10上的移动支付应用16的一个示范性的逻辑流程图。在该个性化的过程期间,在步骤20,创建第一网关主密钥GMK1和第二网关主密钥GMK2。由签发方12或者任何可信系统生成这些网关主密钥GMKjPGMK2t3在步骤21,签发方12与网关11共享所生成的网关主密钥GMKjPGMK2。与此同时,在步骤22,签发方与密钥管理系统14共享这些网关主密钥GMKi和GMK2。网关主密钥GMKi和GMK2可以不同也可以相同。该选择可依赖于所要达到的安全度。
[0083]如图2中所说明的,密钥管理系统14是在计算机中执行的软件程序。软件和数据库的逻辑功能可以分布在客户机/服务器网络中的计算机之间,或者集中于单一的处理器。这些功能也可以分布在通过标准的局域网、广域网、专用电话线或者其它用于松散耦合处理器的通信机制连接的处理器之间。
[0084]密钥管理系统14从签发方12或者其可信系统接收网关主密钥GMKjPGMK2t3在步骤23,密钥管理系统14生成标识符。该标识符是应用标识符Al。该标识符在每一个移动支付应用16处优选是唯一的。该标识符可以是PAN别称或者是相关联的PAN和PSN(主账户号或者顺序号)的别称该标识符可以从至少一个PAN别称产生。在步骤24,将应用标识符Al加载于移动支付应用中。
[0085]在步骤25,密钥管理系统根据第一导出算法、所接收的第一网关主密钥GMK1以及应用标识符Al导出网关加密密钥KENC。密钥管理系统也根据第二导出算法、所接收的第二网关主密钥GMK2以及应用标识符Al导出网关完整性密钥KMAC。此处所使用的第一和第二导出算法是本领域技术人员所熟悉的,从而不需要任何进一步的描述。第一和第二导出算法可以不同也可以相同。该选择可取决于所要达到的安全度。
[0086]在一个实施例中,为了有力保护所传输的数据,网关主密钥GMKjPGMK2为相同的,而第一和第二导出算法不同,反之亦然。
[0087]在步骤26,密钥管理系统可以将其被赋予的特定区域中的网关加密密钥KENC和网关完整性密钥KMAC加载于安全元件15中,以当支付应用16变得可操作时加以使用。在一个优选实施例中,将网关加密密钥KENC和网关完整性密钥KMAC加载到移动应用16中。于是,密钥管理系统14可以为移动支付应用16创建静态导出的密钥,其接下来必须被用于创建与网关11进行通信的通信期加密密钥。
[0088]图3说明了用于配置或者更新移动设备10上的移动支付应用16的一个示范性交易的流程图30。可以根据签发方的要求,通过用户的动作也可以不通过用户的动作启动该交易流程。
[0089]实际上,可以通过“拉取”或者“推送”情形启动交易流程30。在“拉取”情形中,通过与移动支付应用16的交互由用户或者由移动设备本身启动交易流程30。可以根据某一具体的支付应用状态(例如,当离线风险管理参数已经达到某些极限时、当识别到解锁PIN的要求时)触发“拉取”情形。在“推送”情形中,签发方或者其可信系统通过向移动设备10发送一条推送消息启动交易流程30。
[0090]签发方更新还可以包括,但不局限于卡参数更新、封锁或者解锁移动支付应用、解除支付能力、解锁或者改变移动支付应用的PIN等。
[0091]当启动了交易流程30时,在步骤31,递增交易计数器。在此处所说明的实施例中,交易计数器可以是应用交易计数器ATC。在步骤32,移动支付应用16根据所存储的网关加密密钥KENC和当前ACT导出通信期加密密钥ENC。移动支付应用16还根据所存储的网关完整性密钥KMAC和当前ACT导出通信期完整性密钥MAC。由于ATC对于每一笔交易不同,所以所产生的通信期密钥将不同,从而避免了重放攻击。
[0092]通信期密钥用于保护移动支付应用16和网关11之间所交换的消息的保密性和完整性。
[0093]在步骤33,移动支付应用16使用“芯片数据”建造签发方更新请求消息。签发方更新请求消息包含当前ATC、所核准的金额、交易数据、交易货币代码、应用标识符Al等。该签发方更新请求还可以包含加密的值和MAC值。
[0094]加密的值是使用通信期加密密钥ENC对敏感用户凭证数据进行加密的结果。敏感用户凭证数据包含,但不局限于磁条数据磁道(磁道1、磁道2、...)的内容。在一个优选实施例中,敏感用户凭证数据可以是主账户号PAN与/或磁道2等价数据。
[0095]MAC签名值是对签发方更新请求消息的内容的至少一部分进行MAC(消息验证代码)操作的结果。在一个实施例中,MAC操作被应用于签发方更新请求消息,除了应用标识符Al ^AC操作使用通信期密钥MAC和密码校验和算法产生