用于执行非接触式卡的补发的系统和方法

文档序号:90957 发布日期:2021-10-08 浏览:22次 >En<

阅读说明:本技术 用于执行非接触式卡的补发的系统和方法 (System and method for performing complementary distribution of contactless cards ) 是由 杰弗里·鲁尔 丹尼尔·赫林顿 拉伊科·埃琳西克 于 2020-11-23 设计创作,主要内容包括:示例实施例涉及补发或以其他方式改变非接触式卡。这些实施例特别适合于紧急补发,在紧急补发中,许多卡已经由于主信用卡提供商或百货商店的数据泄露而受损。示例性非接触式卡包括存储加密的认证信息的芯片,加密的认证信息包括识别该卡的主账号(PAN)。所述芯片可以包括负责与所述卡进行支付的第一小应用;所述第一小应用可以管理PAN。第二小应用可以能够与外部应用交互,并且可以用作与第一小应用的桥。可以通过向第二小应用发出写命令、或者通过以预定的方式与所述芯片进行交互(例如,在可交互元件上轻拍所述卡预定次数)来触发PAN的重写。(Example embodiments relate to reissuing or otherwise altering contactless cards. These embodiments are particularly suited for emergency reimbursements where many cards have been compromised due to data leakage from a host credit card provider or department store. An exemplary contactless card includes a chip that stores encrypted authentication information including a Primary Account Number (PAN) that identifies the card. The chip may include a first applet responsible for making payments with the card; the first applet may manage the PAN. The second applet may be capable of interacting with external applications and may act as a bridge with the first applet. Rewriting of the PAN may be triggered by issuing a write command to the second applet, or by interacting with the chip in a predetermined manner (e.g., tapping the card a predetermined number of times on an interactable element).)

具体实施方式

示例性实施例提供用于基于远程命令安全地补发或以其他方式改变存储在非接触式卡上的信息的技术。因此,与卡相关联的号码可以被快速地改变,以使得卡可以继续用新号使用。如果卡具有印刷或压印在它的正面上的号码,则印刷的号码(和/或存储在磁条上的号码)可能与存储在非接触式芯片上的号码不匹配;尽管如此,卡可以被用于非接触式支付,直到具有新号的新卡可以被发行为止。在一些实施例中,卡可以包括显示号码的电子墨(e-ink)显示器;在这种情况下,e-ink显示器也可以在存储在卡的非接触式芯片上的号码被更新时被更新。

卡的芯片可以包括在某些情况下被激活的一个或多个小应用。例如,当用卡进行支付时,支付小应用可以被激活,并且可以将卡的号码供应给请求装置。为了使用具有新号的卡,该支付小应用可能需要被更新,但是为了安全的目的,支付小应用可以被限制与外部源直接通信。为了该目的,芯片可以包括负责与外部源来回传送卡信息的第二加密和授权小应用。第二小应用可以执行认证,并且可以确保从支付小应用传输的信息被以安全的方式(例如,使用加密)这样进行。如下面更详细地描述的,第二小应用还可以负责执行验证功能(例如,验证存储在卡上的账户)。根据示例性实施例,这个第二小应用可以被做成用作外部源和支付小应用之间的桥,该桥基于安全的(芯片)内部的通信使支付小应用上的号码被重写。

在一些情况下,第二小应用可以被直接指示用新号覆写卡的号码。例如,运行安卓操作系统的移动装置可以将近场通信(NFC)写命令发给第二小应用,以触发第二小应用将重写命令发给支付小应用。然而,一些装置可能不支持这样的通信(Apple的iOS是一个这样的例子)。因此,第二小应用还可以或者可替代地被配置为辨识将使重写命令被发出的预定义模式。例如,用户可以在短于一分钟内对NFC读取器轻拍他们的非接触式卡五次。因为对NFC读取器轻拍卡触发第二小应用的认证和加密操作,所以第二小应用可以被预先配置为辨识该预定义模式并且作为响应、发出重写命令。

在各种实施例中,卡可以具有限制可以执行的号码重写次数(例如,在卡的寿命期间,或者在特定的时间段期间)的能力。为此,卡可以维护重写次数的计数器,并且可以进一步存储表示可允许的重写的最大次数的值。如果重写号码的请求被接收到,并且(先前的和当前的)总请求的次数超过存储的最大值,则重写可以被取消。

实施例的以下描述提供了引用具体描述本发明的不同方面的特征和教导的标号的非限制性的代表性例子。从实施例的描述,所描述的实施例应被认识为能够单独地实现,或者与其他实施例组合地实现。实施例的描述应便利于本发明的理解达到这样的程度,即,没有被具体地涵盖、但是在本领域技术人员已经阅读实施例的描述后的知悉内的其他实现将被理解为与本发明的应用一致。

图1A例示说明根据示例实施例的数据传输环境100。如下面进一步讨论的,系统100可以包括非接触式卡130、客户端装置104、网络114和由非接触式卡130的提供商维护的服务器116。尽管图1A例示说明组件的特定配置,但是本领域的普通技术人员将理解可以使用包括更多的或更少的组件、或另一配置中的组件的其他配置。

环境100可以包括下面参照图1B进一步说明的一个或多个非接触式卡130。在一些例子中,非接触式卡130可以与客户端装置104进行无线通信,例如,NFC通信。非接触式卡可以包括非接触式芯片(参见图1C)。非接触式芯片可以维护与卡130相关联的主账号(PAN)的副本,该副本可以被读取器(诸如NFC读取器110)读取。

环境100可以包括客户端装置104,客户端装置104可以是启用网络的计算机。如本文中所提到的,启用网络的计算机可以包括,但不限于:例如,计算机装置或通信装置(包括例如,服务器、网络电器、个人计算机(PC)、工作站、移动装置、电话、手持PC、个人数字助理(PDA)、瘦客户端、胖客户端、互联网浏览器或其他装置)。客户端装置104也可以是移动装置;例如,移动装置可以包括iPhone、iPod、来自的iPad、或运行Apple的操作系统的任何其他的移动装置、运行Microsoft的移动操作系统的任何装置、和/任何其他的智能电话或相似的可穿戴移动装置。

客户端装置104和/或非接触式卡130可以与用户102相关联,用户102可以是非接触式卡的所有者。用户102可以定义用于访问客户端装置104上的移动应用的证书,这些证书可以是与非接触式卡的服务提供商相关联的应用。

在根据本公开的各种例子中,环境100的客户端装置104可以执行一个或多个应用,诸如软件应用。所述软件应用可以使得能够与环境100的一个或多个组件进行网络通信,并且可以传输和/或接收数据。在其他的计算机可执行逻辑之中,客户端装置104可以包括客户端侧补发逻辑112(诸如结合图6B更详细地描绘的逻辑)。

客户端装置104可以经由一个或多个网络114与一个或多个服务器116通信。例如,客户端装置104可以作为卡提供商服务器116的前端进行操作,卡提供商服务器116负责维护非接触式卡130的安全。在一些实施例中,卡提供商服务器116还可以授权经由卡130进行的交易。客户端装置104可以将一个或多个请求例如从在客户端装置104上执行的移动装置应用传输给服务器116。类似地,服务器116可以与客户端装置104进行通信以使客户端装置104开始卡补发处理,诸如当数据泄露发生时。

为此,服务器116可以指示客户端装置104改变与用户102的卡130相关联的PAN。客户端装置104可以接收所述指令,并且通知用户102(例如,经由显示器,诸如图2A-2B中描绘的显示器)卡的号码正在被补发。客户端装置104可以使存储在卡130上的一个或多个小应用被激活,诸如通过特快命令(例如,NFC写命令),或者通过请求用户102以预定模式(例如,预定次数、在一段时间段期间以预定速率、以预定模式、等等)紧靠NFC读取器110轻拍卡130。

可以个性化地从服务器116发送改变PAN的指令(例如,当单个用户102的卡130受损时),或者可以将补发指令广播给一组接收者(可以在大的数据泄露的情况下进行)。

在一些实施例中,客户端104(或指示卡130改变PAN的另一装置)可以与服务器116协调地将改变指令发给卡130。例如,服务器116可以供应卡130上将使用的PAN,客户端104可以将该PAN传送给卡130上的通信逻辑/小应用。在另一个例子中,卡130上的支付逻辑/小应用可以被预先编写多个PAN,服务器116可以识别要使用哪些PAN(或者,如果PAN被布置在卡的存储器中的列表中,则服务器116可以指示支付逻辑/小应用跳过某些数量的选项并且选择该列表中的第n个PAN)。在另一个例子中,支付逻辑/小应用可以能够从旧的PAN(或存储在卡上的另一个标识符,诸如与用户102或用户在金融机构的账户相关联的标识符)推导新的PAN,服务器116可以提供与如何推导新的PAN相关的指令,或者可以提供在产生新的PAN时将使用的种子号码。

如果客户端装置104能够将写请求直接发给卡130,则该写请求可以包括从服务器接收的信息(例如,新的PAN、列表中的跳过的PAN的号码、用于推导新的PAN的产生技术、或用于新的PAN的种子)。如果客户端装置104不能发出这样的写请求,则卡130仍可以与服务器116协调,尽管可能是以更受限的方式。例如,如果如以上所指出的,卡130上的通信逻辑/小应用被配置为将预定的轻拍模式辨识为改变PAN的指令,则不同的模式可以与不同的改变指令相关联。例如,如果用户在短于一分钟内紧靠NFC读取器110轻拍卡130五次,则这可以被解释为前进到存储在所述列表中的下一个PAN的指令。另一方面,如果用户在短于一分钟内紧靠NFC读取器110轻拍卡130仅四次,则这可以被解释为向前跳过所述列表中的两个PAN的指令。从服务器116到客户端装置104的指令可以识别将被使用的特定模式,客户端装置104可以在用户界面上显示适当的指令。如果多个不同的模式被编写到卡130上的通信逻辑/小应用中,则装置104可以请求用户确认该模式以确保正确的模式被使用(例如,通过要求用户以预定模式轻拍,短暂地等待,然后要求用户通过再次以相同的预定的模式轻拍来确认改变)。

一旦PAN被改变,卡130上的通信逻辑/小应用就可以向服务器116回报成功。所述成功可以识别已经被选择的新的PAN(要么直接地,通过报告PAN或PAN的加密版本,要么间接地,诸如通过传输PAN的散列或PAN的子集)。如果更新的PAN与服务器116预期的PAN不匹配,则可以使该PAN作废,并且可以重复所述处理。可替代地,服务器116可以简单地接受卡130报告的PAN。

在一些例子中,服务器116可以包括耦合到存储器的一个或多个处理器。服务器116可以被配置为在不同时间控制和调用各种数据以执行多个工作流动作的中央系统、服务器或平台。

图1B例示说明一个或多个非接触式卡130,非接触式卡130可以包括支付卡,诸如信用卡、借记卡、或服务提供商132发行的、显示在卡130的前面或后面的礼品卡。在一些例子中,非接触式卡130与支付卡无关,并且可以包括,但不限于,识别卡。在一些例子中,支付卡可以包括双接口非接触式支付卡。非接触式卡130可以包括基板134,基板134可以包括由塑料、金属和其他材料组成的单层或一个或多个层压层。示例性基板材料包括聚氯乙烯、聚氯乙烯醋酸酯、丙烯腈-丁二烯-苯乙烯、聚碳酸酯、聚酯、阳极化钛、钯、金、碳、纸和可生物降解的材料。在一些例子中,非接触式卡130可以具有符合ISO/IEC 7810标准的ID-1格式的物理特性,并且非接触式卡要不然可以符合ISO/IEC 14443标准。然而,理解根据本公开的非接触式卡130可以具有不同的特性,并且本公开不要求非接触式卡在支付卡中实现。

非接触式卡130还可以包括显示在卡的前面和/或后面的识别信息136。在一些实施例中,识别信息136可以被直接印刷或压印在卡上。可选地,可以提供用于显示识别信息136中的一些或全部的e-ink显示器149(或采用诸如液晶二极管的技术的另一类型的可重写显示器)。例如,e-ink显示器149可以显示与卡相关联的卡号。e-ink显示器149可以由磁场(诸如从客户端装置104发出的磁场)供电。卡130的天线(例如,下面讨论的接触垫138的天线)可以从磁场收集功率,并且当卡130紧邻客户端装置104时,给e-ink显示器149供电。如本文中所讨论的,这使得e-ink显示器149可以被改变为与调配给卡130上的小应用的新号匹配。

非接触式卡130可以进一步包括接触垫138。接触垫138可以被配置为与另一通信装置(诸如用户装置、智能电话、笔记本电脑、台式机或平板计算机)建立联系。非接触式卡130还可以包括图1C中未示出的处理电路系统、天线和其他组件。这些组件可以被安置在接触垫138的后面或者基板134上的其他地方。非接触式卡130还可以包括可以被安置在卡的后面的磁条或磁带(在图1B中未示出)。

如图1C所示,图1B的接触垫138可以包括用于存储和处理信息的处理电路系统140,处理电路系统140包括微处理器142和存储器144。理解处理电路系统140可以包含执行本文中描述的功能必需的附加组件,包括处理器、存储器、错误和奇偶/CRC校验器、数据编码器、防撞算法、控制器、命令解码器、安全原语和防篡改硬件。

存储器144可以是只读存储器、写一次读多次存储器或读/写存储器,例如,RAM、ROM和EEPROM,非接触式卡500可以包括这些存储器中的一个或多个。只读存储器可以是工厂可编程为只读的或一次性可编程的。一次性可编程提供写一次、然后被读取多次的机会。写一次/读多次存储器可以在存储器芯片已经离开工厂之后的一个时间点被编程。一旦存储器被编程,它就不可以被重写,但是它可以被读取多次。读/写存储器可以在离开工厂之后被编程和重新编程多次。它也可以被读取多次。

存储器144可以被配置为存储一个或多个小应用146、一个或多个计数器108和客户标识符148。所述一个或多个小应用146可以包括被配置为在一个或多个非接触式卡上执行的一个或多个软件应用,诸如Java卡小应用。然而,理解小应用146不限于Java卡小应用,而是可以是在非接触式卡或具有有限的存储器的其他装置上可操作的任何软件应用。所述一个或多个计数器108可以包括足以存储整数的数值计数器。客户标识符148可以包括分配给非接触式卡130的用户的唯一的字母数字标识符,该标识符可以区分非接触式卡的用户和其他非接触式卡用户。在一些例子中,客户标识符148可以识别客户和分配给该客户的账户这二者,并且可以进一步识别与客户的账户相关联的非接触式卡。

小应用146可以包括被配置为用卡130进行支付交易的支付小应用。支付小应用可以负责维护或者可以使用卡的主账号(PAN),该PAN可以作为交易的一部分从卡传送。小应用146可以进一步包括当外部源(诸如客户端装置104、销售点终端、自动柜员机等)尝试与卡130建立通信时(诸如当接触垫138被紧靠或邻近读取器(诸如NFC读取器110)放置时)调用的认证和/或加密小应用。支付小应用可以不与外部源(即,处理电路系统140外部的源)直接通信,但是可以能够与处理电路系统140上的另一个小应用(诸如认证和加密小应用)安全地通信。信息可以从支付小应用传递给认证和加密小应用以用于卡外通信。

可选地,支付小应用可以预先加载(例如,在卡被发行时)预定义的PAN,其中一个被指定为当前作用的PAN,其中的其余的PAN保留备用。当所述小应用被调用以发出新的PAN时,所述小应用可以选择列表中的下一个PAN,并且将它指定为作用的PAN。可替代地,所述小应用可以根据PAN产生规则随机地产生新的PAN,或者可以基于前一个PAN产生新的PAN。

前述示例性实施例的处理器和存储器元件是参照接触垫描述的,但是本公开不限于此。理解这些元件可以在垫138的外部实现,或者完全与它分离,或者作为安置在接触垫138内的除了处理器142和存储器144之外的进一步的元件。

在一些例子中,非接触式卡130可以包括一个或多个天线150。所述一个或多个天线150可以被放置在非接触式卡130内,接触垫138的处理电路系统140的周围。例如,所述一个或多个天线150可以与处理电路系统140集成,所述一个或多个天线150可以与外部升压线圈一起使用。作为另一个例子,所述一个或多个天线150可以在接触垫138和处理电路系统142的外部。

在实施例中,非接触式卡130的线圈可以充当空气芯变压器的次级。端子可以通过切断功率或振幅调制来与非接触式卡130通信。非接触式卡130可以在非接触式卡连接电源时、使用间隙来推断从端子传输的数据,该电源连接可以在功能上通过一个或多个电容器来保持。非接触式卡130可以通过切换非接触式卡的线圈上的负载或负载调制来回传通信。负载调制可以在端子的线圈中通过干涉被检测到。

如以上所说明的,非接触式卡130可以被构建在智能卡或具有有限的存储器的其他装置(诸如JavaCard)上可操作的软件平台上,并且一个或多个应用或小应用可以被安全地执行。小应用可以被添加到非接触式卡以提供用于各种基于移动应用的使用情况下的多因素认证(MFA)的一次性密码(OTP)。小应用可以被配置为对来自读取器(诸如移动NFC读取器)的一个或多个请求(诸如近场数据交换请求(NDEF))做出响应,并且生成NDEF消息,该消息包括被编码为NDEF文本标签的、在密码上安全的OTP。

如以上所指出的,示例性交易可以经由客户端装置104上执行的逻辑112来验证与非接触式卡相关联的账户的请求的交易。图2A-2B描绘可以响应于所述逻辑在客户端装置上呈现的示例性界面。

图2A描绘用于与卡相关联的应用(例如,卡提供商提供的应用)的初始界面200,当客户端装置104从服务器116接收到补发卡、或者以其他方式重新调配或改变存储在卡上的信息的指令时,可以在客户端装置104上显示初始界面200。界面200包括消息区域202,消息区域202显示关于卡信息的补发的信息。该消息区域202可以说明例如用户的卡已经被补发、补发为何已经发生、以及用户改变卡的信息所需的接下来的步骤。

界面200可以进一步包括可交互元件204。为了改变存储在卡上的信息,用户可以可选地首先被要求选择可交互元件204,以便验证用户补发卡号的期望(以使得用户不会由于邻近NFC读取器放置卡而意外地覆写卡信息)。

当一选择可交互元件时,如图2B所示,用户就可以通过使卡的芯片的接触垫138邻近装置104的NFC读取器来重写存储在卡130上的PAN或其他信息。当卡被带到邻近NFC读取器、并且卡上的小应用确认卡的PAN已经被成功改变时,可以显示指示卡的信息已经被成功重写的确认消息206。

作为图2A-2B所示的过程的替代方案,用户可以(在界面200中)被提示以预定模式在客户端装置的NFC读取器上轻拍他们的卡。认证和加密小应用可以注册所述预定模式。

尽管图2A-2B描绘了卡130在被带到邻近移动客户端装置104时被重写,但是还设想可以通过自动柜员机、销售点终端、或具有用于与接触垫138通信的合适的传输器(例如,NFC传输器)的任何其他的装置来对卡进行重写。

如图2B所示,当新的PAN被写到非接触式卡上的芯片时,新卡号可能与印刷或压印在卡上的号码或存储在卡的磁条上的信息不匹配。在这种情况下,可能仍可取的是使新的实物卡被创建并且被发送给用户,以使得卡的几个支付选项全都可以被使用。尽管如此,在卡正被发送给用户的同时,卡的非接触式支付功能性仍可以利用存储在芯片上的信息而被使用。如果卡包括e-ink显示器,则如以上所指出的,e-ink显示器可以在PAN被重写时被更新,以便反映新卡号。在这种情况下,可能没有必要补发实物卡,尤其是如果该卡不包括磁条,或者如果用户主要使用该卡来进行非接触式支付。

图2C是例示说明根据本公开的一个或多个实施例的用于提供认证的访问的示例序列的时序图。系统可以包括非接触式卡130和客户端装置104,客户端装置104可以包括应用(其可以包括逻辑112)和处理器。

在202,所述应用与非接触式卡130进行通信(例如,在被带到非接触式卡130附近之后)。所述应用和非接触式卡130之间的通信可以涉及非接触式卡130足够靠近客户端装置104的卡读取器(未示出)以使得能够在所述应用和非接触式卡130之间进行NFC数据传送。

在步骤204,在已经在客户端装置104和非接触式卡130之间建立通信之后,非接触式卡130产生消息认证代码(MAC)密码。在一些例子中,这可以在非接触式卡130被托管逻辑112的应用读取时发生。具体地说,这可以在近场数据交换(NDEF)标签被读取(诸如NFC读取)时发生,NDEF标签可以根据NFC数据交换格式创建。例如,读取器(诸如逻辑112)可以传输具有生成小应用的NDEF的小应用ID的消息,诸如小应用选择消息。当选择一被确认时,就可以传输选择文件消息、后面接着读取文件消息的序列。例如,所述序列可以包括“选择能力文件”、“读取能力文件”和“选择NDEF文件”。此时,非接触式卡130保持的计数器值可以被更新或者被递增,该值后面可以接着是“读取NDEF文件”。此时,可以产生可以包括头和共享的秘密的消息。然后可以产生会话密钥。可以从可以包括头和共享的秘密的消息创建MAC密码。然后可以将MAC密码与一个或多个块的随机数据连结,并且可以利用会话密钥对MAC密码和随机数(RND)进行加密。其后,可以连结密码和头,将密码和头编码为ASCII十六进制,并且以NEDF消息格式返回密码和头(响应于“读取NDEF文件”消息)。

在一些例子中,MAC密码可以被作为NDEF标签传输,在其他例子中,MAC密码可以与统一资源指示符包括在一起(例如,被作为格式化的字符串)。

在一些例子中,逻辑112可以被配置为将请求传输给非接触式卡130,所述请求包括产生MAC密码的指令。

在步骤206,非接触式卡130将MAC密码发送给逻辑112。在一些例子中,MAC密码的传输经由NFC发生,然而,本发明不限于此。在其他例子中,该通信可以经由蓝牙、Wi-Fi、或其他无线数据通信手段发生。

在步骤208,逻辑112将MAC密码传送给处理器。

在步骤210,处理器依照来自逻辑122的指令来验证MAC密码。例如,可以如下面说明的那样验证MAC密码。

在一些例子中,验证MAC密码可以由除了客户端装置104之外的装置(诸如与客户端装置104进行数据通信的服务器116)执行。例如,处理器可以输出用于传输给服务器116的MAC密码,服务器116可以验证MAC密码。

在一些例子中,MAC密码可以用作用于验证目的的数字签名。其他的数字签名算法(诸如公钥不对称算法,例如,数字签名算法和RSA算法)或零知识协议可以用于执行该验证。

图2D描绘根据示例性实施例的用于产生受到保护的消息230的示例性技术。

消息230可以被配置为将信息或内容从发送者递送给接收者。该信息或内容可以用消息明文234表示(但是内容可以可选地被加密)。

消息明文234可以与共享的秘密232组合。共享的秘密232可以是发送者和接收者这二者都知道的随机数。例如,如果消息明文234与如上所述的对于非接触式卡的认证动作相关,则设置或初始化卡的处理可以涉及在卡上的芯片和交易验证服务器之间共享随机数。在一个实施例中,所述随机数可以是32位随机数。可替代地或另外,通信会话可以由发送者和接收者设置;设置通信会话的处理可以涉及在发送者和接收者之间共享随机数,所述随机数可以被用作共享的秘密232。

可以以各种方式组合消息明文234和共享的秘密232。在一个实施例中,可以以使得消息明文234可以被乘以共享的秘密232的格式来对消息明文234进行编码。然后可以将所得的乘积应用于MAC算法。

当接收者(例如,接收服务器)检索到组合的MAC数据时,接收者可以查阅共享秘密232的它的版本,并且可以反向执行用于组合MAC数据与共享的秘密的处理(例如,除以组合的MAC数据和共享的秘密232以检索原始的MAC数据)。

本领域的普通技术人员将认识到用于组合两个不同的数据实例的其他技术存在,其中任何一个都可以适合于与示例性实施例一起使用。

在消息明文234和共享的秘密232被组合之后,可以将它们提供给MAC算法236。MAC算法236可以是任何合适的MAC算法,除了许多其他的算法之外,诸如数据认证算法(DAA)、密码块链接消息认证代码(CBC-MAC)、Galois消息认证代码(GMAC)和散列化消息认证代码(HMAC)。

MAC算法236可以使用密钥来进行操作。在示例性实施例中,该密钥可以是使用多样化算法248创建的第一多样化密钥250。多样化算法可以对从非接触式卡接收的计数器108和存储在非接触式卡上的第一主密钥244(下面更详细地描述)进行操作以产生第一多样化密钥250。使用第一多样化密钥250和组合的共享秘密/明文,MAC算法236可以产生MAC输出238。

MAC输出238可以可选地用加密算法240加密以产生加密的MAC 242。加密算法240可以是任何合适的加密算法,除了许多其他的算法之外,诸如数据加密标准(DES)、TripleDES(3DES)、高级加密标准(AES)和RSA。

在一些实施例中,MAC输出238可以被截断和/或与随机数据254组合。例如,在一个实施例中,MAC输出238的开头可以被丢弃,以使得(例如)只有最后8个字节被保留。MAC输出238的其余部分可以与随机产生的数据254的8个字节组合。当接收者接收到消息300时,接收者可以对加密的MAC 242进行解密,并且丢弃随机数据。接收者可以如下所述那样计算MAC的它自己的版本,并且可以将接收者产生的MAC的最后8个字节与从作为消息230的一部分接收的加密的MAC 242剩余的数据进行比较。

加密算法240可以使用密钥来进行操作。在示例性实施例中,该密钥可以是使用多样化算法248创建的第二多样化密钥252。多样化算法可以对从非接触式卡接收的计数器108和存储在非接触式卡上的第二个主密钥246(下面更详细地描述)进行操作以产生第二多样化密钥252。使用第二多样化密钥252和MAC输出238,加密算法240可以产生加密的MAC232,加密的MAC 232可以包括在消息230的头中。

加密的MAC 232可以与消息明文234一起传输。计数器值108可以可选地被作为消息明文234的一部分传输,并且可以被接收者(例如,服务器)在认证消息时查阅。共享秘密232不直接作为消息的一部分发送。

图3是例示说明根据示例实施例的密钥操作300的流程图。如图3所示,在方框310,可以结合账户标识符和卡序列号使用两个银行标识符号码(BIN)级别主密钥来每一个卡生成两个唯一推导密钥(UDK)。在一些例子中,银行标识符号码可以包括一个数字或一个或多个数字的组合,诸如账号或一个或多个服务器提供的不可预测的号码,可以用于会话密钥产生和/或多样化。UDK(AUTKEY和ENCKEY)在个性化处理期间可以被存储在卡上。

在方框320,计数器可以被用作多样化数据,因为它随着每次使用而改变,并且每次都提供不同的会话密钥,与其中每一个卡生成一组唯一的密钥的主密钥推导完全不同。在一些例子中,优选的是对于两个操作使用4字节方法。因此,在方框320,可以对每个交易,从UDK创建两个会话密钥,即,一个会话密钥从AUTKEY创建,一个会话密钥从ENCKEY创建。在卡中,对于MAC密钥(即,从AUTKEY创建的会话密钥),OTP计数器的两个字节的低位可以被用于多样化。对于ENC密钥(即,从ENCKEY创建的会话密钥),OTP计数器的整个长度可以被用于ENC密钥。

在方框330,可以使用MAC密钥来准备MAC密码,并且可以使用ENC密钥来对该密码进行加密。例如,MAC会话密钥可以用于准备密码,并且在结果被传输到所述一个或多个服务器之前,可以利用ENC密钥对结果进行加密。

在方框340,简化MAC的验证和处理,因为2字节多样化在支付HSM的MAC认证功能中直接受到支持。密码的解密在MAC的验证之前执行。会话密钥在所述一个或多个服务器处被独立地推导,得到第一会话密钥(ENC会话密钥)和第二会话密钥(MAC会话密钥)。第二推导密钥(即,ENC会话密钥)可以用于对所述数据进行解密,并且第一推导密钥(即,MAC会话密钥)可以用于验证解密的数据。

对于非接触式卡,推导不同的唯一标识符,该标识符可以与编码在卡中的应用主账号(PAN)和PAN序列号相关。密钥多样化可以被配置为与主密钥一起接收标识符作为输入,以使得对于每个非接触式卡,可以创建一个或多个密钥。在一些例子中,这些多样化的密钥可以包括第一密钥和第二密钥。第一密钥可以包括认证主密钥(卡密码产生/认证密钥——Card-Key-Auth),并且可以被进一步多样化以创建产生和验证MAC密码时使用的MAC会话密钥。第二密钥可以包括加密主密钥(卡数据加密密钥——Card-Key-DEK),并且可以被进一步多样化以创建对译成密码的数据进行加密和解密时使用的ENC会话密钥。在一些例子中,可以通过以下方式来创建第一密钥和第二密钥,即,通过将发行者主密钥与卡的唯一ID号(pUID)和支付小应用的PAN序列号(PSN)组合来使发行者主密钥多样化。pUID可以包括16位数值。如以上所说明的,pUID可以包括16位BCD编码号码。在一些例子中,pUID可以包括14位数值。

在一些例子中,因为EMV会话密钥推导方法可以在2^16次使用时封装,所以计数器(诸如整个32位计数器)可以被添加到多样化方法的初始化数组。

在其他例子中,诸如信用卡,数字(诸如账号或一个或多个服务器提供的不可预测的数字)可以被用于会话密钥产生和/或多样化。

图4例示说明被配置为实现本公开的一个或多个实施例的系统400的示图。如下面说明的,在非接触式卡创建处理期间,两个密码密钥可以被唯一地分配给每个卡。密码密钥可以包括数据加密和解密这二者中可以使用的对称密钥。三重DES(3DES)算法可以被EMV使用,并且它是由非接触式卡中的硬件实现的。通过使用密钥多样化处理,可以基于对于需要密钥的每个实体的可唯一识别的信息来从主密钥推导一个或多个密钥。

关于主密钥管理,对于其上发行所述一个或多个小应用的文件夹的每个部分,可能需要两个发行者主密钥405、410。例如,第一主密钥405可以包括发行者密码产生/认证密钥(Iss-Key-Auth),第二主密钥410可以包括发行者数据加密密钥(Iss-Key-DEK)。如本文中进一步说明的,两个发行者主密钥405、410被多样化为卡主密钥425、430,这两个密钥对于每个卡都是唯一的。在一些例子中,网络配置文件记录ID(pNPR)415和推导密钥索引(pDKI)420,作为后台办公数据,可以用于识别哪些发行者主密钥405、410在密码处理中用于认证。执行认证的系统可以被配置为在认证时,对于非接触式卡,检索pNPR 415和pDKI420的值。

在一些例子中,为了提高解决方案的安全性,可以推导会话密钥(诸如每一会话的唯一密钥),而不是使用主密钥,如以上所说明的,唯一卡推导密钥和计数器可以被用作多样化数据。例如,每次卡在操作中被使用时,就可以使用不同的密钥来创建消息认证代码(MAC)和执行加密。关于会话密钥产生,用于在一个或多个小应用中产生密码并且将数据译成密码的密钥可以包括基于卡唯一密钥的会话密钥(Card-Key-Auth 425和Card-Key-Dek430)。会话密钥(Aut-Session-Key 435和DEK-Session-Key 440)可以由所述一个或多个小应用产生,并且通过使用应用交易计数器(pATC)445、利用一个或多个算法推导。为了将数据放到一个或多个算法中,4字节pATC 445中只有2个低位字节被使用。在一些例子中,四字节会话密钥推导方法可以包括:F1:=PATC(低位的2个字节)||'F0'||'00'||PATC(四个字节)F1:=PATC(低位的2个字节)||'0F'||'00'||PATC(四个字节)SK:={(ALG(MK)[F1])||ALG(MK)[F2]},其中ALG可以包括3DES ECB,MK可以包括卡唯一推导的主密钥。

如本文中所描述的,可以使用pATC 445计数器的低位的两个字节来推导一个或多个MAC会话密钥。在每次轻拍非接触式卡时,pATC 445被配置为被更新,并且卡主密钥Card-Key-AUTH 425和Card-Key-DEK 430被进一步多样化为会话密钥Aut-Session-Key 435和DEK-Session-KEY 440。pATC 445可以在个性化或小应用初始化时被初始化为零。在一些例子中,pATC计数器445可以在个性化时或之前被初始化,并且可以被配置为在每次NDEF读取时增加1。

此外,对于每个卡的更新可以是唯一的,并且要么通过个性化被分配,要么通过pUID或其他识别信息在算法上被分配。例如,奇数编号的卡可以增加或减小2,偶数编号的卡可以增加或减小5。在一些例子中,更新还可以按顺序读取变化,以使得一个卡可以按顺序增加1、3、5、2、2、……重复。特定的序列或算法序列可以在个性化时被定义,或者从从唯一标识符推导的一个或多个处理定义。这可以使得重放攻击者更难以从少数卡实例归纳。

认证消息可以被作为十六进制ASCII格式中的文本NDEF记录的内容递送。在一些例子中,只有认证数据和后面接着认证数据的MAC的8字节随机数可以包括在内。在一些例子中,所述随机数可以在密码A的前面,并且可以是一个块长。在其他例子中,对随机数的长度可以没有限制。在进一步的例子中,总数据(即,随机数加上密码)可以是块大小的倍数。在这些例子中,附加的8字节块可以被添加以与通过MAC算法生成的块匹配。作为另一个例子,如果采用的算法使用16字节块,则甚至该块大小的倍数也可以被使用,或者输出可以被自动地或手动地填充到该块大小的倍数。

MAC可以由功能键(AUT-Session-Key)435执行。密码中指定的数据可以利用javacard.signature方法:ALG_DES_MAC8_ISO9797_1_M2_ALG3来处理,以关连到EMV ARQC验证方法。如以上所说明的,用于该计算的密钥可以包括会话密钥AUT-Session-Key 435。如以上所说明的,计数器的低位两个字节可以用于对一个或多个MAC会话密钥多样化。如下面说明的,AUT-Session-Key 435可以用于MAC数据450,并且可以使用DEK-Session-Key440来对所得的数据或密码A 455和随机数RND进行加密以创建密码B或在消息中发送的输出460。

在一些例子中,一个或多个HSM命令可以被处理以用于解密,以使得最终16个(二进制,十六进制为32个)字节可以包括使用CBC模式的3DES对称加密,所述CBC模式具有零IV的随机数,后面接着是MAC认证数据。用于该加密的密钥可以包括从Card-Key-DEK 430推导的会话密钥DEK-Session-Key 440。在这种情况下,用于会话密钥推导的ATC值是计数器pATC 445的最低有效字节。

下面的格式表示二进制版本示例实施例。在一些例子中,第一个字节可以被设置为ASCII“A”。

下面示出另一示例性格式。在该例子中,标签可以用十六进制格式编码。

接收的消息的UID字段可以被提取以从主密钥Iss-Key-AUTH 405和Iss-Key-DEK410推导用于该特定卡的卡主密钥(Card-Key-Auth 425和Card-Key-DEK 430)。使用卡主密钥(Card-Key-Auth 425和Card-Key-DEK 430),接收的消息的计数器(pATC)字段可以用于推导用于该特定卡的会话密钥(Aut-Session-Key 435和DEK-Session-Key 440)。可以使用DEK-Session-KEY来对密码B 460进行解密,这得到密码A 455和RND,RND可以被丢弃。UID字段可以用于查找非接触式卡的共享的秘密,该秘密连同消息的Ver、UID和pATC字段,可以通过密码MAC、使用重新创建的Aut-Session-Key处理以创建MAC输出,诸如MAC’。如果MAC’与密码A 955相同,则这表明消息解密和MAC校验全都已经通过。然后,pATC可以被读取以确定它是否有效。

在认证会话期间,一个或多个应用可以产生一个或多个密码。例如,所述一个或多个密码可以通过使用ISO 9797-1算法3与经由一个或多个会话密钥(诸如Aut-Session-Key435)的方法2填充被产生为3DES MAC。输入数据450可以采取以下形式:版本(2),pUID(8),pATC(4),共享的秘密(4)。在一些例子中,括号中的数字可以包括字节的长度。在一些例子中,共享的秘密可以由一个或多个随机数产生器产生,所述随机数产生器可以被配置为通过一个或多个安全处理确保随机数是不可预测的。在一些例子中,共享的秘密可以包括在个性化时注入到卡中的、认证服务知道的随机4字节二进制数。在认证会话期间,共享的秘密可以不从所述一个或多个小应用提供给移动应用。方法2填充可以包括将强制性的0x’80’字节添加到输入数据的末尾,并且添加0x’00’字节,0x’00’字节可以被添加到所得的数据的末尾,一直到8字节边界。所得的密码可以包括8字节长。

在一些例子中,将未被共享的随机数加密为具有MAC密码的第一块的一个益处是,它在使用对称加密算法的CBC(块链接)模式时,充当初始化矢量。这使得可以在块之间“爬走”,而不必预先建立固定的或动态的IV。

通过将应用交易计数器(pATC)作为MAC密码中包括的数据的一部分包括在内,认证服务可以被配置为确定干净的数据中传递的值是否已经被篡改。而且,通过将版本包括在所述一个或多个密码中,攻击者难以故意误传应用版本,以试图降低密码解决方案的优势。在一些例子中,pATC可以从零开始,并且每次一个或多个应用产生认证数据时,就被用1更新。认证服务可以被配置为跟踪认证会话期间使用的pATC。在一些例子中,当认证数据使用等于或低于认证服务接收的前一个值的pATC时,这可以被解释为试图重放旧消息,并且认证可以被拒绝。在一些例子中,在pATC大于接收的前一个值的情况下,这可以被估计以确定它是否在可接受的范围或阈值内、以及它是否超过该范围或阈值、或者在该范围或阈值之外,验证可以被视为已经失败或者是不可靠的。在MAC操作436中,通过MAC、使用Aut-Session-Key 435来处理数据450,以生成MAC输出(密码A)455,MAC输出(密码A)455被加密。

为了提供防御暴露卡上的密钥的蛮力攻击的附加保护,可取的是,MAC密码455被译成密码。在一些例子中,将包括在密码文本中的数据或密码A 455可以包括:随机数(8)、密码(8)。在一些例子中,括号中的数字可以包括以字节为单位的长度。在一些例子中,随机数可以由一个或多个随机数产生器产生,所述随机数产生器可以被配置为通过一个或多个安全处理确保随机数是不可预测的。用于将该数据译成密码的密钥可以包括会话密钥。例如,会话密钥可以包括DEK-Session-Key 440。在加密操作441中,使用DEK-Session-Key440来处理数据或密码A 455和RND以生成加密的数据、密码B 460。在密码块链接模式下,可以使用3DES将数据455译成密码,以确保攻击者必须在所有的密码文本上运行任何攻击。作为非限制性例子,可以使用其他算法,诸如高级加密标准(AES)。在一些例子中,可以使用0x’0000000000000000”的初始化矢量。设法蛮力获取用于将该数据译成密码的密钥的任何攻击者都将不能确定正确的密钥何时已经被使用,因为被正确地解密的数据由于其随机出现,与被错误地解密的数据将是不能区分的。

为了使认证服务验证一个或多个小应用提供的一个或多个密码,在认证会话期间,必须将以下数据用明文从所述一个或多个小应用传送到移动装置:版本号,用以确定所用的密码方法和用于验证密码的消息格式,这使得所述方法在未来能够改变;pUID,用以检索密码资产,并且推导卡密钥;以及pATC,用以推导用于密码的会话密钥。

图5例示说明用于产生密码的方法500。例如,在方框510,可以使用网络配置文件记录ID(pNPR)和推导密钥索引(pDKI)来识别哪些发行者主密钥在密码处理中用于认证。在一些例子中,所述方法可以包括执行认证以检索在认证时用于非接触式卡的pNPR和pDKI的值。

在方框520,可以通过将发行者主密钥与卡的唯一ID号(pUID)和一个或多个小应用(例如,支付小应用)的PAN序列号(PSN)组合来使发行者主密钥多样化。

在方框530,可以通过使发行者主密钥多样化以产生可以用于产生MAC密码的会话密钥来创建Card-Key-Auth和Card-Key-DEK(唯一的卡密钥)。

在方框540,用于在一个或多个小应用中产生密码并且将数据译成密码的密钥可以包括方框530的基于卡唯一密钥(Card-Key-Auth和Card-Key-DEK)的会话密钥。在一些例子中,这些会话密钥可以由所述一个或多个小应用产生,并且通过使用pATC推导,从而得到会话密钥Aut-Session-Key和DEK-Session-Key。

图6描绘根据一个例子的例示说明密钥多样化的示例性处理600。一开始,可以为发送者和接收者调配两个不同的主密钥。例如,第一主密钥可以包括数据加密主密钥,第二主密钥可以包括数据完整性主密钥。发送者具有在方框602可以被更新的计数器值和可以确保与接收者共享的其他数据(诸如将被保护的数据)。

在方框604,计数器值可以由发送者使用数据加密主密钥加密以生成数据加密推导的会话密钥,计数器值也可以由发送者使用数据完整性主密钥加密以生成数据完整性推导的会话密钥。在一些例子中,在两个加密期间,可以使用整个计数器值或计数器值的一部分。

在一些例子中,计数器值可以不被加密。在这些例子中,计数器可以在发送者和接收者之间用明文传输,即,不被加密。

在方框606,发送者使用数据完整性会话密钥和密码MAC算法,利用密码MAC操作来处理将受到保护的数据。受到保护的数据(包括明文和共享的秘密)可以用于使用会话密钥(AUT-Session-Key)中的一个生成MAC。

在方框608,发送者可以与对称加密算法结合使用数据加密推导的会话密钥来对将受到保护的数据进行加密。在一些例子中,将MAC与相等量的随机数据(例如,每个8字节长)组合,然后使用第二会话密钥(DEK-Session-Key)来对MAC进行加密。

在方框610,将加密的MAC与足以识别附加的秘密信息(诸如共享的密码、主密钥等)的信息一起从发送者传输给接收者,用于验证密码。

在方框612,接收者使用接收的计数器值来从如以上说明的两个主密钥独立地推导两个推导的会话密钥。

在方框614,与对称解密操作结合使用数据加密推导的会话密钥来对受到保护的数据进行解密。交换的数据上的附加处理然后将发生。在一些例子中,在MAC被提取之后,可取的是再现并且匹配MAC。例如,当验证密码时,可以使用适当地产生的会话密钥来对它进行解密。受到保护的数据可以被重构用于验证。可以使用适当地产生的会话密钥来执行MAC操作,以确定它是否与解密的MAC匹配。因为MAC操作是不可逆的处理,所以唯一的验证方式是尝试从源数据重新创建它。

在方框616,与密码MAC操作结合使用数据完整性推导的会话密钥,以验证受到保护的数据尚未被修改。

本文中描述的方法的一些例子可以有利地在满足以下条件时,确认成功的认证何时被确定。首先,验证MAC的能力表明推导的会话密钥是适当的。MAC只有在解密是成功的并且得到适当的MAC值时才可以是正确的。成功的解密可以表明正确地推导的加密密钥用于对加密的MAC进行解密。因为推导的会话密钥是使用只有发送者(例如,传输装置)和接收者(例如,接收装置)知道的主密钥创建的,所以可以信任最初创建MAC并且对MAC进行加密的非接触式卡实际上是可信的。而且,用于推导第一会话密钥和第二会话密钥的计数器值可以被示为有效的,并且可以用于执行认证操作。

其后,可以丢弃两个推导的会话密钥,并且下一次数据交换迭代将更新计数器值(返回到方框602),并且可以创建新的一组会话密钥(在方框604)。在一些例子中,可以丢弃组合的随机数据。

图6B描绘示出根据实施例的消息的示例性交换的时序图。图6C描绘示出卡130上的小应用、逻辑或程序执行的逻辑650的示例性流程图,并且被与图6B并行地讨论。

从图6C开始,支付/交易小应用可以在方框652,存储用于卡的一个或多个PAN。所述PAN可以在卡最初被发行时被写到卡。在一些实施例中,只要一个PAN被发给卡,支付/交易小应用维护PAN,或者在存储器中的定义的位置中访问它。支付/交易小应用可以能够写或重写PAN,并且可以在新的PAN被需要时这样做。在其他实施例中,多个PAN可以发给卡,并且可以被存储在列表中。一个PAN(诸如列表中的第一PAN)可以被指定为作用的PAN以用于支付和交易。当新的PAN被需要时,旧的PAN可以被删除,并且列表中的下一个PAN可以变为作用的PAN;可替代地或另外,列表中的不同的PAN可以被指定为当前的PAN。

翻到图6B,补发处理可以在服务器116将补发消息620传输给客户端104时开始。补发消息可以是指示属于与客户端装置104相关联的账户持有者的特定卡应使其标识符/PAN被补发、更改或以其他方式改变。账户持有者可以通过在属于卡发行者(其也可以维护服务器116)的客户端装置104上安装应用而被关联到客户端装置104。

例如,用户可以安装允许用户审查他们的未清余额、进行支付等的应用,用户的特定的卡可以基于分配给用户的账号/卡号与该应用相关联。所述应用可以与服务器116通信,并且可以向服务器注册装置104。用户可以通过所述应用登录到他们在卡提供商的账户,从而将他们的账户与装置104关联。

所述应用还可以与用户的卡130进行通信,从而建立从服务器116到卡130的通信链路。当服务器116确定用户的账号已经受损(或者卡号由于另一个原因需要被补发)时,服务器116可以联系装置104上的用户的应用来实现这。用户的旧号或旧标识符可以在发送补发消息620之前、期间或之后被作废。

当一接收到补发消息时,客户端104上的所述应用就可以辨识PAN必须被补发。所述应用可以被编写用于在补发指令或轻拍模式622中将该信息传送给卡上的通信/认证小应用的多个技术。

一个技术可以涉及将NFC写命令(或使用不同的通信协议的另一合适的命令)发给卡130上的通信/认证小应用。NFC写命令可以识别卡号或卡标识符将被改变。该技术可以适合于能够将NFC写命令直接发给卡上的小应用的装置,诸如运行Android操作系统的那些装置。

一些操作系统,诸如iOS操作系统,不能将NFC写命令直接发给这些小应用。因此,所述应用可以被编写被配置为使显示器装置将请求用户以预定模式对装置104上的NFC读取器轻拍他们的卡130的指令交给用户的逻辑。该逻辑在通信/认证小应用上可以具有被配置为辨识所述预定模式并且将该模式解释为补发PAN或识别号码的对应部分。

在624,卡上的通信/认证小应用辨识指令或模式622,并且发起卡改变处理(图6C的方框654)。

首先,在626(图6C的方框656),通信/认证小应用设置通信/认证小应用和支付/交易小应用之间的安全的通信信道或安全的数据传输形式。该通信信道可以被构建到卡130上的芯片中以使得不需要特快的设置过程,或者可以是按需设置的对等通信信道或数据传输形式。

通信/认证小应用可以通过安全的通信信道(图6C的方框658)将补发命令628传输给支付/交易小应用。作为响应,支付/交易小应用可以在630(图6C的方框660),选择新的标识符或PAN(例如,前进到列表中的下一个PAN,从划痕产生完全新的PAN,从旧的PAN和/或存储在卡上的其他信息推导新的PAN,等等)。在一些情况下,如前面所讨论的,可以与服务器116协调用于选择新的标识符或PAN的处理。

支付/交易小应用可以确定标识符或PAN的改变是否是成功的(例如,满足某些预定义的要求的新的PAN是否已经被产生)。如果在所述处理中存在问题,或者如果新的PAN根据所述要求不能被验证,则支付/交易小应用可以向通信/认证小应用报告失败(图6C的方框652)。卡的芯片可以可选地此时被取消执行交易的授权。

如果PAN或标识符的更新是成功的,则支付/交易小应用可以向通信/认证小应用确认632成功,通信/认证小应用可以将该确认朝向服务器116转发回去(图6C的方框652)。

如果卡包括可重写的显示器,诸如e-ink显示器,则在634,通信/认证小应用(或卡上的其他的合适的逻辑)可以使该显示器被重写新的卡标识符(参见图6C的方框654)。可选地,卡在该处理期间可以保持处于由与装置104的通信引起的磁场中,以使得来自通信的能量可以用于更新显示器。

本文中描述的系统和方法的示例实施例可以被配置为提供安全性因素认证。安全性因素认证可以包括多个处理。作为安全性因素认证的一部分,第一处理可以包括经由装置上执行的一个或多个应用登录并且验证用户。作为第二处理,用户可以响应于经由所述一个或多个应用的、第一处理的成功登录和验证,参与与一个或多个非接触式卡相关联的一个或多个行为。实际上,安全性因素认证可以既包括安全地证明用户的身份,又包括参与一种或多种类型的行为,所述行为包括,但不限于,与非接触式卡相关联的一个或多个轻拍手势。在一些例子中,所述一个或多个轻拍手势可以包括用户对装置的非接触式卡的轻拍。在一些例子中,所述装置可以包括移动装置、信息亭、终端、平板、或被配置为处理接收的轻拍手势的任何其他的装置。

在一些例子中,可以对装置(诸如一个或多个计算机信息亭或终端)轻拍非接触式卡以验证身份,以便接收响应于购买的交易物品,诸如咖啡。通过使用非接触式卡,可以建立在忠诚度计划中证明身份的安全方法。安全地证明身份,例如,以获得奖励、优惠券、特价等、或者接受好处是以不同于仅扫描条码卡的方式建立的。例如,加密的交易可以在非接触式卡和所述装置之间发生,所述装置可以被配置为处理一个或多个轻拍手势。如以上所说明的,所述一个或多个应用可以被配置为验证用户的身份、然后使用户对它做出动作或响应,例如,经由一个或多个轻拍手势。在一些例子中,例如红利点数、忠诚点数、奖励点数、保健信息等的数据可以被写回到非接触式卡。

在一些例子中,可以对装置(诸如移动装置)轻拍非接触式卡。如以上所说明的,用户的身份可以由所述一个或多个应用验证,所述一个或多个应用然后基于身份的验证,授予用户期望的好处。

在一些例子中,可以通过对装置(诸如移动装置)轻拍非接触式卡来激活非接触式卡。例如,非接触式卡可以通过NFC通信,经由所述装置的卡读取器,与所述装置的应用进行通信。所述通信,在所述通信中,卡贴近所述装置的卡读取器的轻拍可以允许所述装置的应用读取与非接触式卡相关联的数据并且激活卡。在一些例子中,激活可以授权卡被用于执行其他功能,例如,购买、访问账户或受限制的信息、或其他功能。在一些例子中,轻拍可以激活或启动所述装置的应用,然后发起与一个或多个服务器的一个或多个动作或通信以激活非接触式卡。如果所述应用没有被安装在所述装置上,则非接触式卡贴近卡读取器的轻拍可以发起所述应用的下载,诸如导航到所述应用的下载页面。在安装之后,非接触式卡的轻拍可以激活或启动所述应用,然后例如经由所述应用或其他后端通信,发起非接触式卡的激活。在激活之后,非接触式卡可以被用于各种活动中,所述各种活动包括,但不限于,商业交易。

在一些实施例中,专用的应用可以被配置为在客户端装置上执行以执行非接触式卡的激活。在其他实施例中,网站门户、基于web的应用、小应用等可以执行激活。激活可以在客户端装置上执行,或者客户端装置可以仅充当非接触式卡和外部装置(例如,账户服务器)之间的中间人。根据一些实施例,在提供激活时,所述应用可以向账户服务器指示执行激活的装置的类型(例如,个人计算机、智能电话、平板或销售点(POS)装置)。此外,所述应用可以根据涉及的装置的类型,将用于传输的不同的和/或附加的数据输出到账户服务器。例如,这样的数据可以包括与商家相关联的信息(诸如商家类型、商家ID)、以及与装置类型本身相关联的信息(诸如POS数据和POS ID)。

在一些实施例中,示例认证通信协议可以用一些修改模仿在交易卡和销售点装置之间通常执行的EMV标准的离线动态数据认证协议。例如,因为示例认证协议不被用于与卡发行者/支付处理器本身完成支付交易,所以一些数据值是不需要的,并且认证可以在不涉及实时地在线连接到卡发行者/支付处理器的情况下执行。如本领域中已知的,销售点(POS)系统将包括交易值的交易提交给卡发行者。发行者是批准、还是拒绝交易可以基于卡发行者是否辨识交易值。同时,在本公开的某些实施例中,来源于移动装置的交易没有与POS系统相关联的交易值。因此,在一些实施例中,虚设的交易值(即,卡发行者可辨识的并且足以允许激活发生的值)可以被作为示例认证通信协议的一部分传递。基于POS的交易还可以基于交易尝试(例如,交易计数器)的数量,拒绝交易。超过缓冲值的尝试次数可以导致软拒绝;软拒绝在接受交易之前需要进一步的验证。在一些实现中,可以修改用于交易计数器的缓冲值以避免拒绝合法的交易。

在一些例子中,非接触式卡可以根据接收者装置,选择性地传送信息。一旦被轻拍,非接触式卡就可以辨识轻拍所针对的装置,并且基于该辨识,非接触式卡可以为该装置提供适当的数据。这有利地允许非接触式卡仅传输完成即时的动作或交易(诸如支付或卡认证)所需的信息。通过限制数据的传输并且避免不必要的数据的传输,既可以改进效率,又可以改进数据安全性。信息的辨识和选择性通信可以被应用于各种场景,包括卡激活、余额转移、账户访问尝试、商业交易和递升欺诈减少。

如果非接触式卡轻拍是针对运行Apple的操作系统的装置(例如,iPhone、iPod或iPad),则非接触式卡可以辨识操作系统,并且传输适当的数据与该装置进行通信。例如,非接触式卡可以提供经由例如NFC、使用NDEF标签对卡进行认证必需的加密的身份信息。类似地,如果非接触式卡轻拍是针对运行操作系统的装置(例如,智能电话或平板),则非接触式卡可以辨识操作系统,并且传输适当的数据与该装置进行通信(诸如通过本文中描述的方法进行认证必需的加密的身份信息)。

作为另一个例子,非接触式卡轻拍可以是针对POS装置,包括,但不限于,信息亭、结账寄存器、支付站或其他终端。当轻拍一被执行时,非接触式卡就可以辨识POS装置,并且仅传输所述动作或交易必需的信息。例如,当一辨识用于完成商业交易的POS装置时,非接触式卡就可以传送按照EMV标准完成交易必需的支付信息。

在一些例子中,参与交易的POS装置可以要求或指定将由非接触式卡提供的附加信息,例如,装置特定的信息、地点特定的信息和交易特定的信息。例如,一旦POS装置从非接触式卡接收到数据通信,POS装置就可以辨识非接触式卡,并且请求完成动作或交易必需的附加信息。

在一些例子中,POS装置可以隶属于授权的商家、或熟悉某些非接触式卡或者习惯于执行某些非接触式卡交易的其他实体。然而,理解这样的隶属不是执行所描述的方法所需的。

在一些例子(诸如购物商店、杂货店、便利商店等)中,可以对移动装置轻拍非接触式卡,而不必打开应用,以指示利用奖励点数、忠诚点数、优惠券、特价等中的一个或多个覆盖一个或多个购买的期望或意图。因此,提供购买背后的意图。

在一些例子中,所述一个或多个应用可以被配置为确定它经由非接触式卡的一个或多个轻拍手势被启动,以使得启动在下午3:51发生,交易在下午3:56被处理或进行,以便验证用户的身份。

在一些例子中,所述一个或多个应用可以被配置为响应于所述一个或多个轻拍手势来控制一个或多个动作。例如,所述一个或多个动作可以包括收集奖励、收集点数、确定最重要的购买、确定最便宜的购买、和/或实时地重新配置到另一个动作。

在一些例子中,可以收集关于轻拍行为的数据作为生物计量/手势认证。例如,在密码上安全的并且不易于拦截的唯一标识符可以被传输给一个或多个后端服务。所述唯一标识符可以被配置为查找关于个人的次要信息。所述次要信息可以包括关于用户的个人可识别的信息。在一些例子中,所述次要信息可以被存储在非接触式卡内。

在一些例子中,所述装置可以包括在多个个人之间划分账单或者检查支付的应用。例如,每个个人可以拥有非接触式卡,并且可以是同一发行金融机构的客户,但是这不是必要的。这些个人中的每个都可以在他们的装置上经由所述应用接收推送通知,以划分购买。不是接受唯一一个卡轻拍就指示支付,而是可以使用其他的非接触式卡。在一些例子中,具有不同的金融机构的个人可以拥有非接触式卡来提供从卡轻拍个人发起一个或多个支付请求的信息。

以下示例使用情况描述了本公开的特定实现的例子。这些仅意图用于说明性目的,而不是限制的目的。在一种情况下,第一个朋友(付款人)欠第二个朋友(收款人)一笔钱。不是到ATM那去或者要求通过对等应用进行交换,付款人希望使用非接触式卡,经由收款人的智能电话(或其他装置)进行支付。收款人登录到他的智能电话上的适当的应用,并且选择支付请求选项。作为响应,所述应用经由收款人的非接触式卡请求认证。例如,所述应用输出请求收款人轻拍他的非接触式卡的显示。一旦收款人在所述应用被启用的情况下,紧靠他的智能电话的屏幕轻拍他的非接触式卡,非接触式卡就被读取并且被验证。接着,所述应用显示让付款人轻拍他的非接触式卡以发送支付的提示。在付款人轻拍他的非接触式卡之后,所述应用读取卡信息,并且经由相关联的处理器,将支付请求传输给付款人的卡发行者。卡发行者处理交易,并且将交易的状态指示符发送给智能电话。所述应用然后输出交易的状态指示符用于显示。

在另一示例情况下,信用卡客户可以在邮件中接收新的信用卡(或借记卡、其他支付卡、或需要激活的任何其他的卡)。不是通过调用与卡发行者相关联的提供的电话号码或者到访网站来激活卡,而是客户可以决定经由他或她的装置(例如,移动装置,诸如智能电话)上的应用来激活卡。客户可以从显示在所述装置的显示器上的应用菜单选择卡激活特征。所述应用可以提示客户紧靠屏幕轻拍他或她的信用卡。当一紧靠所述装置的屏幕轻拍信用卡时,所述应用就可以被配置为与服务器(诸如激活客户的卡的卡发行者服务器)进行通信。所述应用然后可以显示指示卡的成功的激活的消息。卡激活然后将完成。

上述方法可以被实施为计算机可读介质上的指令或计算架构的一部分。图7例示说明适合于实现如前所述的各种实施例的示例性计算架构700的实施例。在一个实施例中,计算架构700可以包括或者被实现为电子装置(诸如计算机701)的一部分。实施例在该上下文下不受限制。

如本申请中所使用的,术语“系统”和“组件”意图指代计算机相关实体,要么是硬件、硬件和软件的组合、软件,要么是执行中的软件,其例子由示例性计算架构700提供。例如,组件可以是,但不限于是,在处理器上运行的处理、处理器、硬盘驱动器、(光学和/或磁性存储介质的)多个存储驱动器、对象、可执行指令、执行线程、程序和/或计算机。举例来说,服务器上运行的应用和服务器这二者都可以是组件。一个或多个组件可以驻留在处理和/或执行线程内,并且组件可以被局部安置在一个计算机上和/或分布在两个或更多个计算机之间。此外,组件可以通过各种类型的通信介质彼此耦合以协调操作。所述协调可以涉及信息的单向或双向交换。例如,组件可以以通过通信介质传送的信号的形式传送信息。所述信息可以被实现为分派给各种信号线的信号。在这样的分派中,每个消息是信号。然而,进一步的实施例可以可替代地采用数据消息。这样的数据消息可以通过各种连接发送。示例性连接包括并行接口、串行接口和总线接口。

计算架构700包括各种常见的计算元件,诸如一个或多个处理器、多核处理器、协处理器、存储器单元、芯片组、控制器、外设、接口、振荡器、定时装置、视频卡、音频卡、多媒体输入/输出(I/O)组件、电源供应器等。然而,实施例不限于通过计算架构700的实现。

如图7所示,计算架构700包括处理单元702、系统存储器704和系统总线706。处理单元702可以是市场上可买到的各种处理器中的任何一个,包括,但不限于,处理器;应用、嵌入式的和安全的处理器;处理器;IBM和Cell处理器;Core(2) 处理器;以及类似的处理器。双微处理器、多核处理器和其他的多处理器架构也可以被用作处理单元702。

系统总线706提供用于系统组件(包括,但不限于,系统存储器704到处理单元702)的接口。系统总线706可以是可以使用各种市场上可买到的总线架构中的任何一个进一步互连到存储器总线(有或没有存储器控制器)、外设总线和本地总线的几种类型的总线结构中的任何一个。接口适配器可以经由时隙架构连接到系统总线706。示例时隙架构可以包括,但不限于,加速图形端口(AGP)、卡总线、(扩展)行业标准架构((E)ISA)、微信道架构(MCA)、NuBus、外围组件互连(扩展)(PCI(X))、PCI特快、个人计算机存储卡国际协会(PCMCIA)等。

计算架构700可以包括或实现各种制造品。制造品可以包括存储逻辑的计算机可读存储介质。计算机可读存储器介质的例子可以包括存储电子数据的任何有形的介质,包括易失性存储器或非易失性存储器、可移除或不可移除的存储器、可擦或不可擦的存储器、可写或不可写的存储器等。逻辑的例子可以包括使用任何合适的代码类型实现的可执行计算机程序指令,所述合适的代码类型诸如源代码、编译的代码、解释的代码、可执行的代码、静态代码、动态代码、面向对象的代码、视觉代码等。实施例也可以至少部分被实现为包含在非暂时性计算机可读介质中或上的指令,这些指令可以被一个或多个处理器读取和执行以使得能够执行本文中描述的操作。

系统存储器704可以包括一个或多个更高速的存储器单元的形式的各种类型的计算机可读存储介质,诸如只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双数据速率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、闪存、聚合物存储器(诸如铁电聚合物存储器)、奥氏存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、磁卡或光卡、装置阵列(诸如冗余独立磁盘阵列(RAID)驱动器)固态存储器装置(例如,USB存储器、固态驱动器(SSD)、以及适合于存储信息的任何其他类型的存储介质。在图7所示的例示说明的实施例中,系统存储器704可以包括非易失性存储器708和/或易失性存储器710。基本输入/输出系统(BIOS)可以被存储在非易失性存储器708中。

计算架构700可以包括一个或多个更低速的存储器单元的形式的各种类型的计算机可读存储介质,包括内部(或外部)硬盘驱动器(HDD)712、从可移除的磁盘716读取或写到可移除的磁盘716的磁性软盘驱动器(FDD)714、从可移除的光盘720(例如,CD-ROM或DVD)读取或写到可移除的光盘720的光盘驱动器718。HDD 712、FDD 714和光盘驱动器720可以分别通过HDD接口722、FDD接口724和光学驱动器接口726连接到系统总线706。用于外部驱动实现的HDD接口722可以包括通用串行总线(USB)和IEEE 694接口技术中的至少一个或两个。

驱动器和相关联的计算机可读介质提供数据、数据结构、计算机可执行指令等的易失性和/或非易失性存储。例如,若干个程序模块可以被存储在驱动器和存储器单元708、712中,包括操作系统728、一个或多个应用程序730、其他程序模块732和程序数据734。在一个实施例中,所述一个或多个应用程序730、其他程序模块732和程序数据734可以包括,例如,消息传送系统500的各种应用和/或组件。

用户可以通过一个或多个有线/无线输入装置(例如,键盘736和指点装置,诸如鼠标738)将命令和信息录入到计算机701中。其他输入装置可以包括麦克风、红外(IR)遥控器、射频(RF)遥控器、游戏板、铁笔、卡读取器、加密狗、指纹读取器、手套、图形平板、操纵杆、键盘、视网膜读取器、触摸屏(例如,电容性、电阻性等)、轨迹球、跟踪板、传感器、手写笔等。这些及其他输入装置通常通过耦合到系统总线706的输入装置接口740连接到处理单元702,但是可以通过诸如并行端口、IEEE 694串行端口、游戏端口、USB端口、IR接口等的其他接口连接。

监视器742或其他类型的显示装置也经由接口(诸如视频适配器744)连接到系统总线706。监视器742可以在计算机701的内部或外部。除了监视器742之外,计算机通常还包括其他的外围输出装置,诸如扬声器、打印机等。

计算机701可以经由与一个或多个远程计算机(诸如远程计算机744)的有线和/或无线通信,在联网的环境中使用逻辑连接进行操作。远程计算机744可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐电器、对等装置或其他常见的网络节点,并且通常包括关于计算机701描述的元件中的许多元件或所有元件,但是,例如,为了简洁的目的,只有存储器/存储装置746被例示说明。所描绘的逻辑连接包括与局域网(LAN)748和/或更大型网络(例如,广域网(WAN)750)的有线/无线连接。这样的LAN和WAN联网环境在办公室和公司中是普遍的,并且便利于全企业计算机网络,诸如内联网,所有这些都可以连接到全球通信网络,例如,互联网。

当被用于LAN联网环境中时,计算机701通过有线和/或无线通信网络接口或适配器752连接到LAN 748。适配器752可以便利与LAN 748的有线和/或无线通信,LAN 748还可以包括设置在其上的、用于与适配器752的无线功能性通信的无线接入点。

当被用于WAN联网环境中时,计算机701可以包括调制解调器754,或者连接到WAN750上的通信服务器,或者具有用于在WAN 750上(诸如通过互联网)建立通信的其他手段。可以在有线和/或无线装置内部或外部的调制解调器754经由输入装置接口740连接到系统总线706。在联网环境中,关于计算机701或其部分描述的程序模块可以被存储在远程存储器/存储装置746中。将意识到所示的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。

计算机701可操作为与使用IEEE 802族标准的有线和无线装置或实体进行通信,诸如操作地设置在无线通信中的无线装置(例如,IEEE 802.13空中调制技术)。除了其他技术之外,这至少包括Wi-Fi(或无线保真)、WiMax和BluetoothTM无线技术。因此,通信可以是与常规的网络一样的预定义的结构,或者简单地,至少两个装置之间的对等通信。W-Fi网络使用被称为IEEE 802.13x的无线电技术来提供安全的、可靠的、快速的无线连接。Wi-Fi网络可以用于将计算机相互连接、将计算机连接到互联网、和连接到有线网络(其使用IEEE802.3相关的介质和功能)。

图8是描绘适合于实现如前所述的各种实施例的示例性通信架构800的框图。通信架构800包括各种常见的通信元件,诸如传输器、接收器、收发器、无线电、网络接口、基带处理器、天线、放大器、滤波器、电源供应器等。然而,实施例不限于通过通信架构800的实现。

如图8所示,通信架构800包括一个或多个客户端802和服务器804。客户端802可以实现客户端装置510。服务器804可以实现服务器装置526。客户端802和服务器804操作地连接到一个或多个相应的客户端数据储存器806和服务器数据储存器808,客户端数据储存器806和服务器数据储存器808可以用于存储相应的客户端802和服务器804本地的信息,诸如cookies和/或相关联的上下文信息。

客户端802和服务器804可以使用通信框架810相互传送信息。通信框架810可以实现任何众所周知的通信技术和协议。通信框架810可以被实现为封包交换式网络(例如,公共网(诸如互联网)、私有网络(诸如企业内联网)等)、回路交换式网络(例如,公共交换式电话网络)、或封包交换式网络和回路交换式网络(具有合适的网关和翻译器)的组合。

通信框架810可以实现被布置为接受、通信和连接到通信网络的各种网络接口。网络接口可以被认为是输入输出接口的特殊形式。网络接口可以采用连接协议,包括,但不限于,直接连接、以太网(例如,胖、瘦、双绞线10/100/1000 Base T等)、令牌环、无线网络接口、蜂窝网络接口、IEEE 802.8a-x网络接口、IEEE 802.16网络接口、IEEE 802.20网络接口等。此外,多个网络接口可以用于参与各种通信网络类型。例如,多个网络接口可以用于允许通过广播、多播和单播网络的通信。如果处理要求决定更大量的速率和容量,则分布式网络控制器架构可以类似地用于集中客户端802和服务器804所需的通信带宽、使该通信带宽负载均衡、以及以其他方式提高该通信带宽。通信网络可以是有线和/或无线网络中的任何一个或组合,包括,但不限于,直接互连、受到保卫的自定义连接、私有网络(例如,企业内联网)、公共网络(例如,互联网)、个域网(PAN)、局域网(LAN)、城域网(MAN)、作为互联网上的节点的操作任务(OMNI)、广域网(WAN)、无线网络、蜂窝网络和其他通信网络。

上述装置的组件和特征可以使用分立的电路系统、专用集成电路(ASIC)、逻辑门和/或单芯片架构的任何组合来实现。此外,在适当的情况下,所述装置的特征可以使用微控制器、可编程逻辑阵列和/或微处理器、或前述的任何组合来实现。注意,硬件、固件和/或软件元件在本文中可以共称为或单个地称为“逻辑”或“电路”。

将意识到上述框图中示出的示例性装置可以表示许多可能的实现的一个功能描述的例子。因此,附图中描绘的方框功能的划分、省略或包括不推断用于实现这些功能的硬件组件、电路、软件和/或元件将一定被划分、省略或包括在实施例中。

至少一个计算机可读存储介质可以包括当被执行时、使系统执行本文中描述的计算机实现方法中的任何一个的指令。

一些实施例可以使用表达“一个实施例”或“实施例”连同它们的派生词来描述。这些术语意味着结合实施例描述的特定的特征、结构或特性包括在至少一个实施例中。短语“在一个实施例中”在说明书的各个地方的出现不一定全都指同一个实施例。而且,除非另有指出,否则上述特征被认识为可按任何组合一起使用。因此,单独地讨论的任何特征都可以相互组合,除非指出这些特征相互不兼容。

一般提到本文中使用的符号和命名法,可以就计算机或计算机网络上执行的程序进程来呈现本文中的详述的描述。这些进程描述和表示被本领域技术人员用来更高效地向其他领域技术人员传达他们的工作的实质。

进程在这里一般被设想为导致期望结果的自一致的操作序列。这些操作是需要物理量的物理操纵的那些操作。通常,尽管不一定,这些量采取能够被存储、传送、组合、比较和进行其他方式的操纵的电信号、磁信号或光学信号。主要是由于常用的原因,将这些信号称为位、值、元件、符号、字符、术语、数字等有时证明是方便的。然而,应注意,所有这些术语和类似术语将与适当的物理量相关联,并且仅仅是应用于这些量的方便的标签。

此外,执行的操纵经常在通常与人类操作者执行的心理操作相关联的术语中被提到,诸如添加或比较。人类操作者的这样的能力在本文中描述的形成一个或多个实施例的一部分的操作中的任何一个中不是必要的,或者在大多数情况下不是可取的。相反,所述操作是机器操作。用于执行各种实施例的操作的有用的机器包括通用数字计算机或类似的装置。

一些实施例可以使用表达“耦合的”和“连接的”连同它们的派生词来描述。这些术语不一定意图作为彼此的同义词。例如,一些实施例可以使用术语“连接的”和/或“耦合的”来描述,以指示两个或更多个元件相互直接物理接触或电接触。然而,术语“耦合的”还可以意味着两个或更多个元件相互不直接接触,而是仍相互合作或交互。

各种实施例还涉及用于执行这些操作的设备或系统。该设备专门被构造用于所需的目的,或者它可以包括通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。本文中呈现的进程与特定的计算机或其他设备没有内在联系。各种通用机器可以与根据本文中的教导编写的程序一起使用,或者构造执行所需的方法步骤的更专门的设备可以证明是方便的。对于各种这些机器所需的结构将从给定的描述出现。

强调的是,提供本公开的摘要是为了使得读者可以快速地查明技术公开的性质。它是以它将不被用于解释或限制权利要求的范围或意义的理解提交的。另外,在前面的详细描述中,可以看出,各种特征在单个实施例中,为了使本公开流水线化的目的而被分组在一起。本公开的该方法不被解释为反映要求保护的实施例需要比每个权利要求中明确地记载的特征多的特征的意图。相反,如权利要求所反映的,发明主题在于比所公开的单个实施例的所有特征少的特征。因此,权利要求特此被并入详细描述中,每个权利要求独自代表单独的实施例。在所附权利要求中,术语“包括”和“在其中”分别被用作相应的术语“包含”和“其中”的简明英语等同形式。而且,术语“第一”、“第二”、“第三”等仅用作标签,而非意图对它们的对象施加数值要求。

上面描述的内容包括所公开的架构的例子。当然,不可能描述组件和/或方法的每一个可设想的组合,但是本领域的普通技术人员可以认识到许多进一步的组合和置换是可能的。因此,新颖的架构意图包含落在所附权利要求的精神和范围内的所有这样的更改、修改和改变。

44页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:预测值的确定方法、解码器以及计算机存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!