HK40096902A - Techniques to utilize resource locators by a contactless card to perform a sequence of operations - Google Patents
Techniques to utilize resource locators by a contactless card to perform a sequence of operations Download PDFInfo
- Publication number
- HK40096902A HK40096902A HK62024085107.6A HK62024085107A HK40096902A HK 40096902 A HK40096902 A HK 40096902A HK 62024085107 A HK62024085107 A HK 62024085107A HK 40096902 A HK40096902 A HK 40096902A
- Authority
- HK
- Hong Kong
- Prior art keywords
- contactless card
- mobile device
- url
- card
- response
- Prior art date
Links
Description
相关申请的交叉引用Cross-references to related applications
本申请要求于2021年4月20日提交的题为“TECHNIQUES TO UTILIZE RESOURCELOCATORS BY A CONTACTLESS CARD TO PERFORM A SEQUENCE OF OPERATIONS”的美国专利申请序列号17/235,112的优先权。上述申请的内容通过引用整体并入本文。This application claims priority to U.S. Patent Application Serial No. 17/235,112, filed April 20, 2021, entitled “TECHNIQUES TO UTILIZE RESOURCELOCATORS BY A CONTACTLESS CARD TO PERFORM A SEQUENCE OF OPERATIONS”. The contents of the above application are incorporated herein by reference in their entirety.
背景技术Background Technology
数百万个人享受着使用信用卡、签帐卡、借记卡或“智能”卡作为购买商品和/或服务的便捷方式的便利。通过使用这些类型的卡,个人可以进行交易,而不必手头有现金或货币或者其他。在信用卡、签帐卡和借记卡的情况下,个人实际上获得了购买和/或进行交易所需资金的即时贷款。Millions of individuals enjoy the convenience of using credit cards, debit cards, debit cards, or "smart" cards as a means of purchasing goods and/or services. By using these types of cards, individuals can conduct transactions without having cash or currency on hand. In the case of credit cards, debit cards, and debit cards, individuals effectively obtain an instant loan of funds needed to purchase and/or conduct transactions.
要使用这些卡,客户通常必须经过激活过程来激活卡。激活卡通常涉及持卡人拨打电话号码或访问网站并输入或以其他方式提供卡信息的耗时过程。然而,目前的解决方案是有问题的,并且容易出现人为错误。因为它们要求客户输入信息,并且容易出错。因此,存在一种激活卡的改进方法。To use these cards, customers typically have to go through an activation process. Card activation usually involves a time-consuming process where the cardholder makes a phone call or visits a website and enters or otherwise provides card information. However, current solutions are problematic and prone to human error because they require customers to input information, which is error-prone. Therefore, an improved method for card activation exists.
发明内容Summary of the Invention
实施例可以总体上针对系统、设备和技术,包括经由移动设备执行非接触式卡的激活的计算机实施方法。该技术可以包括经由无线接口从非接触式卡接收用于应用的第一统一资源定位符(URL),该应用被配置为执行激活,并且响应于接收到第一URL而启动该应用。该技术可以包括经由无线接口将用于条件的第二URL写入非接触式卡,经由无线接口从非接触式卡接收条件的第二URL,以及在移动设备的显示器上呈现条件。该技术还可以包括编写用于第一唯一标识符的第三URL,以识别与非接触式卡相关联的客户,接收第三URL以确认条件;以及确定至少部分地响应于条件被确认而使非接触式卡被激活。The embodiments can generally relate to systems, devices, and technologies, including a computer-implemented method for activating a contactless card via a mobile device. The technology may include receiving a first Uniform Resource Locator (URL) for an application configured to perform activation from the contactless card via a wireless interface, and launching the application in response to receiving the first URL. The technology may include writing a second URL for conditions to the contactless card via a wireless interface, receiving the second URL for conditions from the contactless card via a wireless interface, and presenting the conditions on a display of the mobile device. The technology may also include writing a third URL for a first unique identifier to identify a customer associated with the contactless card, receiving the third URL to confirm the conditions, and determining that the contactless card is activated at least partially in response to the confirmation of the conditions.
实施例也可以总体上针对技术和系统,包括与非接触式卡交换通用资源定位符的装置,包括处理器和存储器,存储器包括可以由处理器执行的指令。处理器在执行指令时可以经由无线接口从非接触式卡接收用于应用的第一统一资源定位符(URL),该应用被配置为执行非接触式卡的操作,响应于接收到第一URL而启动应用,以及经由无线接口将用于条件的第二URL写入非接触式卡。处理器还可以经由无线接口从非接触式卡接收条件的第二URL,在显示器上呈现条件,编写用于第一唯一标识符的第三URL以识别与非接触式卡相关联的客户,并且从非接触式卡接收第三URL来确认条件。The embodiments may also generally pertain to technologies and systems, including means for exchanging Universal Resource Locators (URLs) with contactless cards, comprising a processor and memory, the memory including instructions executable by the processor. When executing the instructions, the processor may receive, via a wireless interface, a first URL for an application configured to perform operations on the contactless card from the contactless card, launch the application in response to receiving the first URL, and write a second URL for conditions to the contactless card via the wireless interface. The processor may also receive the second URL for conditions from the contactless card via the wireless interface, present the conditions on a display, compose a third URL for a first unique identifier to identify a customer associated with the contactless card, and receive the third URL from the contactless card to confirm the conditions.
实施例还可以包括非暂时性计算机可读介质,包括一组指令,指令响应于由非接触式卡的处理器电路执行,使得处理器电路响应于第一无线读取,经由无线接口向移动设备发送用于应用的第一统一资源定位符(URL),第一URL存储在非接触式卡的存储器中,以及在存储器中存储与非接触式卡有关的条件的第二URL,第二URL从移动设备接收。实施例还包括处理器电路,该处理器电路被配置为响应于第二无线读取向移动设备发送条件的第二URL,在存储器中存储用于唯一标识符的第三URL以识别与非接触式卡相关联的客户,以及响应于第三无线读取发送第三URL以确认条件。The embodiments may also include a non-transitory computer-readable medium comprising a set of instructions responsive to execution by processor circuitry of the contactless card, causing the processor circuitry, in response to a first wireless read, to transmit a first Uniform Resource Locator (URL) for an application to a mobile device via a wireless interface, the first URL being stored in the memory of the contactless card, and a second URL for conditions associated with the contactless card being stored in the memory, the second URL being received from the mobile device. The embodiments also include processor circuitry configured to, in response to a second wireless read, transmit the second URL for conditions to the mobile device, store in memory a third URL for a unique identifier to identify a customer associated with the contactless card, and, in response to a third wireless read, transmit the third URL to confirm the conditions.
附图说明Attached Figure Description
为了容易识别对任何特定元素或动作的讨论,参考编号中的一个或多个最高有效数字指代该元素被首次引入的图号。To facilitate identification of any discussion of a particular element or action, one or more of the most significant digits in the reference number refer to the figure number in which the element was first introduced.
图1示出了根据实施例的非接触式卡100。Figure 1 shows a contactless card 100 according to an embodiment.
图2示出了根据实施例的非接触式卡组件200。Figure 2 shows a contactless card assembly 200 according to an embodiment.
图3示出了根据实施例的主题的一个方面。Figure 3 illustrates one aspect of the subject matter according to an embodiment.
图4示出了根据实施例的例程400。Figure 4 illustrates routine 400 according to an embodiment.
图5示出了根据实施例的例程500。Figure 5 illustrates routine 500 according to an embodiment.
图6示出了根据实施例的例程600。Figure 6 illustrates routine 600 according to an embodiment.
图7示出了根据实施例的序列流程700。Figure 7 illustrates a sequence flow 700 according to an embodiment.
图8示出了根据实施例的数据结构800。Figure 8 illustrates a data structure 800 according to an embodiment.
图9是根据示例实施例的密钥系统的图。Figure 9 is a diagram of a key system according to an example embodiment.
图10是根据示例实施例的生成密码的方法的流程图。Figure 10 is a flowchart of a method for generating a password according to an example embodiment.
图11示出了根据实施例的主题的一个方面。Figure 11 illustrates one aspect of the subject matter according to an embodiment.
图12示出了根据实施例的主题的一个方面。Figure 12 illustrates one aspect of the subject matter according to an embodiment.
具体实施方式Detailed Implementation
实施例总体上针对执行非接触式卡(诸如信用卡和借记卡)的激活的方法、设备和系统。通常,客户可能在邮件中或者从处于非激活状态的银行分行接收到非接触式卡。要激活卡,客户必须经过一个过程,通常包括拨打电话号码和/或访问网站。然后,客户被要求输入信息(诸如卡面上的账号),并且由银行操作和/或控制的后端激活系统执行激活序列来激活卡。然而,这些当前的解决方案是有问题的,因为它们需要客户输入信息,并且容易出错。例如,客户在经由电话小键盘或键盘输入号码时,可能会错误地输入帐号的数字。在这些情况下,出于安全目的,激活系统通常不会告诉客户他们的错误,而只是停止激活尝试,例如,挂断客户的电话或声明激活无法完成。The embodiments generally pertain to methods, devices, and systems for activating contactless cards (such as credit and debit cards). Typically, a customer may receive a contactless card in the mail or from a bank branch that is inactive. To activate the card, the customer must go through a process, which usually involves making a phone call and/or visiting a website. The customer is then asked to enter information (such as the account number on the card), and an activation sequence is executed by a back-end activation system operated and/or controlled by the bank to activate the card. However, these current solutions are problematic because they require customer input and are prone to error. For example, a customer might incorrectly enter the account number when entering it via a keypad or telephone keypad. In these cases, for security purposes, the activation system typically does not inform the customer of their error but simply stops the activation attempt, for example, by hanging up the customer's call or stating that activation cannot be completed.
本文讨论的实施例针对这些问题以及在一个或多个技术领域或技术范畴(例如,非接触式卡的电子激活)提供了改进。所讨论的实施例包括客户用最少的指令从发卡机构接收非接触式卡。例如,指令可以仅仅告诉客户打开他们的移动设备上的近场通信(near-field communication,NFC)接口。然后客户可以被指令在移动设备上和/或附近用卡执行一系列轻敲,以完成激活卡所需的步骤。将卡轻敲在移动设备上确保了客户将非接触式卡带到设备的操作范围内,并且可以发生信息的无线交换。在一个示例中,客户可以被指令将非接触式卡轻敲在在移动设备的表面上,诸如在显示器上。将非接触式卡带到移动设备的范围内可能导致动作或一系列动作发生以执行操作,诸如激活非接触式卡。The embodiments discussed herein address these problems and provide improvements in one or more technical fields or categories (e.g., electronic activation of contactless cards). The discussed embodiments involve a customer receiving a contactless card from an issuing institution with minimal instructions. For example, the instructions might simply tell the customer to turn on the near-field communication (NFC) interface on their mobile device. The customer can then be instructed to perform a series of taps with the card on and/or near the mobile device to complete the steps required to activate the card. Tapping the card on the mobile device ensures that the customer has brought the contactless card within the device's operating range, and that wireless exchange of information can occur. In one example, the customer might be instructed to tap the contactless card on a surface of the mobile device, such as a display. Bringing the contactless card within range of the mobile device may result in an action or series of actions to perform an operation, such as activating the contactless card.
在一个具体示例中,非接触式卡可以被发送给使用资源定位符(诸如统一资源定位符(uniform resource locator,URL)、统一资源标识符(uniform resourceidentifier,URI)、统一资源名称(uniform resource name,URN)等)编程的用户。例如,资源定位符可以被存储在非接触式卡的存储器中,并且可以在非接触式卡被带到范围时作为移动设备执行的读取操作的一部分被通信到移动设备。移动设备可以基于接收到资源定位符来执行动作。例如,资源定位符可以是启动应用(app)商店或银行app的链接或指令。移动设备在接收到资源定位符后,可以启动app商店来下载应用(诸如与非接触式卡相关的银行app)。在某些实例中,app可能已经被安装在移动设备上,并且资源定位符可能会导致银行app启动。包括app的移动设备可以让客户经历一系列动作,其中当卡被带到移动设备的无线通信范围时发起下一个动作。例如,一旦应用在移动设备上被安装/启动,客户就可以被指令再次轻敲非接触式卡,以启动一组条款和条件来通读。客户可以提供另一次轻敲以接受非接触式卡的服务条款,并授权移动设备通过与激活服务器通信来激活卡。一旦激活,卡就可能处于激活状态,并且然后每次额外的轻敲都可能导致相同的动作发生,例如,银行app被启动到登录页面,该登录页面可以示出与账户相关的详细信息。In a specific example, a contactless card can be sent to a user programmed using resource locators such as a Uniform Resource Locator (URL), Uniform Resource Identifier (URI), Uniform Resource Name (URN), etc. For example, the resource locator can be stored in the contactless card's memory and can be communicated to the mobile device as part of a read operation performed by the mobile device when the contactless card is brought into range. The mobile device can perform actions based on the received resource locator. For example, the resource locator could be a link or instruction to launch an app store or a banking app. After receiving the resource locator, the mobile device can launch the app store to download an app (such as a banking app associated with the contactless card). In some instances, the app may already be installed on the mobile device, and the resource locator may cause the banking app to launch. A mobile device including an app can allow a customer to go through a series of actions, with the next action initiated when the card is brought into the mobile device's wireless communication range. For example, once the app is installed/launched on the mobile device, the customer can be instructed to tap the contactless card again to initiate a set of terms and conditions for reading. Customers can provide an additional tap to accept the contactless card's terms of service and authorize their mobile device to activate the card by communicating with the activation server. Once activated, the card may be in an active state, and then each additional tap may result in the same action, such as the banking app being launched to a login page that displays account details.
本文讨论的实施例不限于执行激活过程。例如,本文所讨论的操作可以被用于引起任何数量的操作或一系列动作被执行,并且非接触式卡可以被用作状态机,以保存用于执行操作的一系列步骤中的下一步骤的指令。如在以下描述中将变得更加明显的,当非接触式卡被带到设备的无线操作范围时,设备和卡之间可能发生通信交换,例如读/写操作。例如,设备可以从卡读取资源定位符,并且m将新的指令或资源定位符写入卡的存储器。指令或资源定位符可以由非接触式卡用来保持状态或一系列步骤中的步骤以执行操作。在下一次读取操作时,非接触式卡可以向读取设备提供指令或资源定位符以引起下一步骤。这些和其他细节将在以下描述中变得更加明显。The embodiments discussed herein are not limited to performing an activation process. For example, the operations discussed herein can be used to cause any number of operations or a series of actions to be performed, and the contactless card can be used as a state machine to store instructions for the next step in a series of steps for performing an operation. As will become more apparent in the following description, communication exchanges, such as read/write operations, may occur between the device and the card when the contactless card is brought into the wireless operating range of the device. For example, the device can read a resource locator from the card, and the device writes the new instruction or resource locator to the card's memory. The instruction or resource locator can be used by the contactless card to maintain a state or a step in a series of steps to perform an operation. During the next read operation, the contactless card can provide the instruction or resource locator to the reading device to cause the next step. These and other details will become more apparent in the following description.
现在参考附图,其中类似的参考标记始终被用于指代类似的元素。在以下描述中,出于解释的目的,阐述了许多具体细节,以便提供对其的透彻理解。然而,可能明显的是,可以在没有这些具体细节的情况下实践新颖的实施例。在其他实例中,以框图的形式示出公知的结构和设备,以便于其的描述。意图是覆盖权利要求的范围内的所有修改、等效物和替代物。Referring now to the accompanying drawings, in which similar reference numerals are consistently used to refer to similar elements. In the following description, numerous specific details are set forth for purposes of explanation in order to provide a thorough understanding thereof. However, it may be apparent, however, that novel embodiments can be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form for the purpose of description. The intention is to cover all modifications, equivalents, and substitutions within the scope of the claims.
图1示出了非接触式卡100的示例配置,其可以包括交易卡、支付卡,诸如信用卡、借记卡或礼品卡,其由服务提供商(如显示为在非接触式卡100的正面或背面上的服务提供商标记102)发行。在一些示例中,非接触式卡100与支付卡无关,并且可以包括但不限于识别卡。在一些示例中,交易卡可以包括双接口非接触式支付卡、奖励卡等等。非接触式卡100可以包括基板108,基板108可以包括单层,或者由塑料、金属和其他材料组成的一个或多个层压层。示例性基板材料包括聚氯乙烯、聚氯乙烯乙酸酯、丙烯腈丁二烯苯乙烯、聚碳酸酯、聚酯、阳极化钛、钯、金、碳、纸和可生物降解材料。在一些示例中,并且非接触式卡100可以具有符合ISO/IEC 7816标准的ID-1格式的物理特性,并且交易卡可以另外符合ISO/IEC14443标准。然而,应当理解,根据本公开的非接触式卡100可以具有不同的特性,并且本公开不要求在支付卡中实施交易卡。Figure 1 illustrates an example configuration of a contactless card 100, which may include a transaction card, payment card, such as a credit card, debit card, or gift card, issued by a service provider (as shown as service provider marking 102 on the front or back of the contactless card 100). In some examples, the contactless card 100 is not a payment card and may include, but is not limited to, an identification card. In some examples, the transaction card may include a dual-interface contactless payment card, a rewards card, etc. The contactless card 100 may include a substrate 108, which may include a single layer or one or more laminates composed of plastics, metals, and other materials. Exemplary substrate materials include polyvinyl chloride, polyvinyl chloride acetate, acrylonitrile butadiene styrene, polycarbonate, polyester, anodized titanium, palladium, gold, carbon, paper, and biodegradable materials. In some examples, the contactless card 100 may have physical characteristics conforming to the ID-1 format of the ISO/IEC 7816 standard, and the transaction card may additionally conform to the ISO/IEC 14443 standard. However, it should be understood that the contactless card 100 according to this disclosure may have different characteristics, and this disclosure does not require the implementation of a transaction card in a payment card.
非接触式卡100还可以包括显示在卡的正面和/或背面上的标识信息106以及接触垫104。接触垫104可以包括一个或多个垫,并且被配置为经由交易卡与另一客户端设备(诸如ATM、用户设备、智能手机、膝上型电脑、台式机或平板电脑)建立接触。接触垫可以根据一个或多个标准(诸如ISO/IEC 7816标准)被设计,并且使能根据EMV协议的通信。非接触式卡100还可以包括处理电路、天线和其他组件,如将在图2中被进一步讨论的。这些组件可以位于接触垫104后面或基板108上的其他地方,例如在基板108的不同层内,并且可以与接触垫104电气耦合和物理耦合。非接触式卡100还可以包括磁条或磁带,其可以位于卡的背面(图1中未示出)。非接触式卡100还可以包括与天线耦合的NFC设备,天线能够经由NFC协议进行通信。实施例不以这种方式被限制。The contactless card 100 may also include identification information 106 displayed on the front and/or back of the card, and a contact pad 104. The contact pad 104 may include one or more pads and is configured to establish contact with another client device (such as an ATM, user equipment, smartphone, laptop, desktop, or tablet) via the transaction card. The contact pad may be designed according to one or more standards (such as the ISO/IEC 7816 standard) and enable communication according to the EMV protocol. The contactless card 100 may also include processing circuitry, an antenna, and other components, as will be further discussed in Figure 2. These components may be located behind the contact pad 104 or elsewhere on the substrate 108, for example, within different layers of the substrate 108, and may be electrically and physically coupled to the contact pad 104. The contactless card 100 may also include a magnetic stripe or magnetic tape, which may be located on the back of the card (not shown in Figure 1). The contactless card 100 may also include an NFC device coupled to an antenna capable of communicating via the NFC protocol. Embodiments are not limited in this manner.
如图2所示,非接触式卡100的接触垫104可以包括用于存储、处理和通信信息的处理电路216,包括处理器202、存储器204和一个或多个接口206。应当理解,处理电路216可以包含如执行本文所述功能所需的附加组件,包括处理器、存储器、错误和奇偶/CRC校验器、数据编码器、防冲突算法、控制器、命令解码器、安全原语和防篡改硬件。As shown in Figure 2, the contact pad 104 of the contactless card 100 may include processing circuitry 216 for storing, processing, and communicating information, including a processor 202, a memory 204, and one or more interfaces 206. It should be understood that the processing circuitry 216 may include additional components required to perform the functions described herein, including a processor, memory, error and parity/CRC checkers, a data encoder, anti-collision algorithms, a controller, a command decoder, security primitives, and tamper-proof hardware.
存储器204可以是只读存储器、一次写入多次读取存储器或读/写存储器(例如RAM、ROM和EEPROM),并且非接触式卡100可以包括这些存储器中的一个或多个。只读存储器可以在工厂可编程为只读或一次性可编程。一次性可编程性提供了一次写入然后多次读取的机会。一次写入/多次读取存储器可以在存储器芯片出厂后的某个时间点被编程。一旦存储器被编程,它就可能不会被重写,但可能会被多次读取。读/写存储器可能在出厂后多次被编程和重新编程。读/写存储器也可以在出厂后多次被读取。在一些实例中,存储器204可以是利用由处理器202执行的加密算法来加密数据的加密存储器。Memory 204 may be a read-only memory, a write-once-read-many memory, or a read/write memory (e.g., RAM, ROM, and EEPROM), and the contactless card 100 may include one or more of these memories. A read-only memory can be factory-programmable to read-only or one-time programmable. One-time programmability provides the opportunity to write once and then read multiple times. A write-once/read-many memory can be programmed at some point after the memory chip leaves the factory. Once programmed, the memory may not be overwritten but may be read multiple times. A read/write memory may be programmed and reprogrammed multiple times after leaving the factory. A read/write memory may also be read multiple times after leaving the factory. In some instances, memory 204 may be an encrypted memory that encrypts data using an encryption algorithm executed by processor 202.
存储器204可以被配置为存储一个或多个小应用程序208、一个或多个计数器210、客户标识符214和账号212,它们可以是虚拟账号。一个或多个小应用程序208可以包括被配置为在一个或多个非接触式卡上执行的一个或多个软件应用,诸如卡小应用程序。然而,应当理解,小应用程序208不限于Java卡小应用程序,并且代之可以是在非接触式卡或具有有限存储器的其他设备上可操作的任何软件应用。一个或多个计数器210可以包括足以存储整数的数字计数器。客户标识符214可以包括分配给非接触式卡100的用户的唯一字母数字标识符,并且该标识符可以将非接触式卡的用户与其他非接触式卡用户区分开来。在一些示例中,客户标识符214可以标识客户和分配给该客户的账户,并且可以进一步标识与该客户的账户相关联的非接触式卡100。如所陈述的,账号212可以包括与非接触式卡100相关联的数千个一次性使用虚拟账号。非接触式卡100的小应用程序208可以被配置为管理账号212(例如,选择账号212,将所选账号212标记为已使用),并将账号212传输到移动设备以通过自动填充服务进行自动填充。Memory 204 may be configured to store one or more applets 208, one or more counters 210, customer identifiers 214, and accounts 212, which may be virtual accounts. One or more applets 208 may include one or more software applications, such as card applets, configured to execute on one or more contactless cards. However, it should be understood that applets 208 are not limited to Java card applets and may instead be any software application operable on a contactless card or other device with limited memory. One or more counters 210 may include numeric counters sufficient to store integers. Customer identifier 214 may include a unique alphanumeric identifier assigned to a user of contactless card 100, and this identifier may distinguish the user of the contactless card from other contactless card users. In some examples, customer identifier 214 may identify a customer and the account assigned to that customer, and may further identify the contactless card 100 associated with that customer's account. As stated, account 212 may include thousands of one-time-use virtual accounts associated with contactless card 100. The applet 208 of the contactless card 100 can be configured to manage account 212 (e.g., select account 212, mark the selected account 212 as used) and transfer account 212 to the mobile device for autofill via an autofill service.
前述示例性实施例的处理器202和存储器元件参考接触垫104被描述,但本公开不限于此。应当理解,这些元件可以在接触垫104之外被实施或与接触垫104完全分离,或者作为位于接触垫104内的进一步元件(除了处理器202和存储器204元件之外)。The processor 202 and memory elements of the foregoing exemplary embodiments have been described with reference to the contact pad 104, but this disclosure is not limited thereto. It should be understood that these elements may be implemented outside of the contact pad 104 or completely separated from the contact pad 104, or as further elements located within the contact pad 104 (in addition to the processor 202 and memory 204 elements).
在一些示例中,非接触式卡100可以包括一个或多个天线218。一个或多个天线218可以被放置在非接触式卡100内并围绕接触垫104的处理电路216。例如,一个或多个天线218可以与处理电路216集成,并且一个或多个天线218可以与外部升压线圈一起使用。作为另一示例,一个或多个天线218可以在接触垫104和处理电路216的外部。In some examples, the contactless card 100 may include one or more antennas 218. The one or more antennas 218 may be placed within the contactless card 100 and surrounding the processing circuitry 216 of the contact pad 104. For example, the one or more antennas 218 may be integrated with the processing circuitry 216, and the one or more antennas 218 may be used in conjunction with an external boost coil. As another example, the one or more antennas 218 may be external to the contact pad 104 and the processing circuitry 216.
在实施例中,非接触式卡100的线圈可以充当空心变压器的次级。终端可以通过切断功率或幅度调制与非接触式卡100进行通信。非接触式卡101可以使用非接触式卡的功率连接中的间隙来推断从终端传输的数据,该功率连接可以通过一个或多个电容器在功能上保持。非接触式卡100可以通过切换非接触式卡的线圈上的负载或负载调制来反向通信。负载调制可能通过干扰在终端的线圈中被检测到。更一般地,使用天线218、处理器202和/或存储器204,非接触式卡101提供通信接口以经由NFC、蓝牙和/或Wi-Fi通信进行通信。In an embodiment, the coil of the contactless card 100 can act as the secondary of an air-core transformer. The terminal can communicate with the contactless card 100 by cutting off power or amplitude modulation. The contactless card 101 can infer data transmitted from the terminal using gaps in the power connection of the contactless card, which can be functionally maintained by one or more capacitors. The contactless card 100 can communicate in reverse by switching the load or load modulation on the coil of the contactless card. Load modulation can be detected in the coil of the terminal through interference. More generally, using antenna 218, processor 202, and/or memory 204, the contactless card 101 provides a communication interface for communication via NFC, Bluetooth, and/or Wi-Fi.
如上所解释的,非接触式卡100可以被构建在可在智能卡或具有有限存储器的其他设备(诸如JavaCard)上操作的软件平台上,并且一个或多个或多个应用或小应用程序可以被安全地执行。小应用程序208可以被添加到非接触式卡,以在各种基于移动应用的用例中提供用于多因素认证(multifactor authentication,MFA)的一次性密码或通行码(one-time password or passcode,OTP)。小应用程序208可以被配置为响应来自读取器(诸如移动NFC读取器(例如,移动设备或销售点终端的))的一个或多个请求(诸如近场数据交换请求),并且产生NDEF消息,该NDEF消息包括编码为NDEF文本标签的密码安全OTP。As explained above, the contactless card 100 can be built on a software platform that operates on smart cards or other devices with limited memory, such as JavaCards, and one or more applications or applets can be securely executed. An applet 208 can be added to the contactless card to provide a one-time password or passcode (OTP) for multi-factor authentication (MFA) in various mobile application-based use cases. The applet 208 can be configured to respond to one or more requests (such as near-field data exchange requests) from a reader (such as a mobile NFC reader, e.g., a mobile device or point-of-sale terminal) and generate an NDEF message that includes a password-secured OTP encoded as an NDEF text tag.
NDEF OTP的一个示例是NDEF短记录布局(SR=1)。在这种示例中,一个或多个小应用程序208可以被配置为将OTP编码为NDEF类型4公知类型文本标签。在一些示例中,NDEF消息可以包括一个或多个记录。小应用程序208可以被配置为除了OTP记录之外还添加一个或多个静态标签记录。An example of NDEF OTP is the NDEF Short Record Layout (SR=1). In this example, one or more applets 208 can be configured to encode the OTP into NDEF Type 4 known text tags. In some examples, the NDEF message may include one or more records. The applet 208 can be configured to add one or more static tag records in addition to the OTP record.
在一些示例中,一个或多个小应用程序208可以被配置为模拟RFID标签。RFID标签可以包括一个或多个多态标签。在一些示例中,每次读取标签时,都会呈现不同的密码数据,这些数据可能指示非接触式卡的真实性。基于一个或多个小应用程序208,标签的NFC读取可以被处理,数据可以被传输到服务器(诸如银行系统的服务器),并且数据可以在服务器处被验证。In some examples, one or more applets 208 can be configured to simulate RFID tags. RFID tags may include one or more polymorphic tags. In some examples, different cipher data is presented each time the tag is read, which may indicate the authenticity of the contactless card. Based on one or more applets 208, NFC readings of the tags can be processed, data can be transmitted to a server (such as a bank's server), and the data can be verified at the server.
在一些示例中,非接触式卡100和服务器可以包括某些数据,使得卡可以被正确识别。非接触式卡100可以包括一个或多个唯一标识符(未示出)。每次发生读取操作时,计数器210可以被配置为递增。在一些示例中,每次来自非接触式卡100的数据被读取(例如,通过移动设备)时,计数器210被传输到服务器以进行验证,并且确定计数器210是否等于(作为验证的一部分)服务器的计数器。In some examples, the contactless card 100 and the server may include data that allows the card to be correctly identified. The contactless card 100 may include one or more unique identifiers (not shown). A counter 210 may be configured to increment each time a read operation occurs. In some examples, each time data from the contactless card 100 is read (e.g., via a mobile device), the counter 210 is transmitted to the server for verification, and it is determined whether the counter 210 equals (as part of the verification) the server's counter.
一个或多个计数器210可以被配置为防止重放攻击。例如,如果密码已被获得并重放,则如果计数器210已经被读取或使用或以其他方式传递,则该密码立即被拒绝。如果计数器210尚未被使用,则其可以被重放。在一些示例中,卡上递增的计数器与对于交易递增的计数器不同。由于非接触式卡100上的小应用程序208之间没有通信,因此非接触式卡101不能确定应用交易计数器210。One or more counters 210 can be configured to prevent replay attacks. For example, if a password has been obtained and replayed, the password is immediately rejected if counter 210 has been read, used, or otherwise transmitted. If counter 210 has not yet been used, it can be replayed. In some examples, the counter incremented on the card is different from the counter incremented for each transaction. Because there is no communication between the applets 208 on the contactless card 100, the contactless card 101 cannot determine the application of transaction counter 210.
在一些示例中,计数器210可能不同步。在一些示例中,为了考虑启动交易的意外读取(诸如以某个角度读取),计数器210可以递增,但应用不处理计数器210。在一些示例中,当移动设备10被唤醒时,NFC可以被启用,并且设备110可以被配置为读取可用标签,但是不采取响应于读取的动作。In some examples, counter 210 may be out of sync. In some examples, counter 210 may be incremented to account for unexpected reads that initiate a transaction (such as reads at an angle), but the application does not process counter 210. In some examples, NFC may be enabled when mobile device 10 is woken up, and device 110 may be configured to read available tags, but without taking any action in response to the read.
为了保持计数器210同步,可以执行应用(诸如后台应用),该应用将被配置为检测移动设备110何时唤醒并与银行系统的服务器同步,指示由于检测而发生的读取,然后向前移动计数器104。在其他示例中,可以利用散列的一次性密码,使得可以接受错误同步的窗口。例如,如果在阈值10内,则计数器210可以被配置为向前移动。但是,如果在不同的阈值数内,例如在10或1000内,则可以处理用于执行重新同步的请求,该请求经由一个或多个应用请求:用户经由用户的设备轻敲、手势或以其他方式指示一次或多次。如果计数器210以适当的顺序增加,则可以知道用户已经这样做了。To keep counter 210 synchronized, an application (such as a background application) can be executed, configured to detect when mobile device 110 wakes up and synchronizes with the bank's server, indicating a read due to the detection, and then moving counter 104 forward. In other examples, a hashed one-time password can be used to allow for windows that accept erroneous synchronization. For example, if within a threshold of 10, counter 210 can be configured to move forward. However, if within a different threshold number, such as 10 or 1000, a request to perform resynchronization can be processed, requested via one or more applications: by the user tapping, gesturing, or otherwise indicating once or multiple times via the user's device. If counter 210 increments in the appropriate order, it can be known that the user has done so.
本文中参考计数器210、主密钥和多样化密钥描述的密钥多样化技术是加密和/或解密密钥多样化技术的一个示例。该示例密钥多样化技术不应被认为是对本公开的限制,因为本公开同样适用于其他类型的密钥多样化技术。The key diversification technique described herein with reference to counter 210, master key, and diversification key is an example of an encryption and/or decryption key diversification technique. This example key diversification technique should not be considered as a limitation of this disclosure, as this disclosure is equally applicable to other types of key diversification techniques.
在非接触式卡100的创建过程期间,每个卡可以唯一地分配两个密码密钥。密码密钥可以包括对称密钥,对称密钥可以被用于数据的加密和解密。三重DES(3DES)算法可以由EMV使用,并且其由非接触式卡100中的硬件实施。通过使用密钥多样化过程,一个或多个密钥可以基于需要密钥的每个实体的唯一可识别信息从主密钥导出。During the creation process of the contactless card 100, each card can be uniquely assigned two cryptographic keys. These cryptographic keys may include symmetric keys, which can be used for data encryption and decryption. The Triple DES (3DES) algorithm can be used by EMV, and it is implemented by hardware within the contactless card 100. Through a key diversification process, one or more keys can be derived from the master key based on uniquely identifiable information for each entity requiring a key.
在一些示例中,为了克服3DES算法的缺陷(其可能容易受到漏洞的影响),可以导出会话密钥(诸如每个会话的唯一密钥),但不是使用主密钥,唯一卡导出的密钥和计数器可以被用作多样化数据。例如,每次在操作中使用非接触式卡101时,可以使用不同的密钥来创建消息认证码(message authentication code,MAC)和执行加密。这会产生三层密码。会话密钥可以由一个或多个小应用程序生成,并通过使用应用交易计数器与一个或多个算法(如EMV 4.3Book 2A1.3.1通用会话密钥导出中所定义)来导出。In some examples, to overcome the limitations of the 3DES algorithm (which can be vulnerable to vulnerabilities), session keys (such as a unique key for each session) can be derived, but instead of using the master key, the key and counter derived from the unique card can be used as diversification data. For example, each time a contactless card 101 is used in an operation, a different key can be used to create a message authentication code (MAC) and perform encryption. This results in a three-layer cipher. Session keys can be generated by one or more applets and derived by using an application transaction counter with one or more algorithms (as defined in EMV 4.3Book 2A1.3.1 General Session Key Derivation).
此外,每张卡的增量可以是唯一的,并且或者通过个性化来分配,或者通过一些标识信息来算法分配。例如,奇数编号的卡可以递增2,以及偶数编号的卡可以递增5。在一些示例中,增量也可以在顺序读取中变化,使得一张卡可以按顺序递增1、3、5、2、2、…重复。特定顺序或算法顺序可以在个性化时定义,或者从源自唯一标识符的一个或多个过程定义。这会使重放攻击者更难从少量卡实例中进行概括。Furthermore, the increment for each card can be unique and can be assigned either through personalization or algorithmically through some identifying information. For example, odd-numbered cards can increment by 2, and even-numbered cards can increment by 5. In some examples, the increment can also vary during sequential reading, allowing a card to increment sequentially by 1, 3, 5, 2, 2, ... and repeat. The specific order or algorithmic order can be defined during personalization or from one or more processes derived from a unique identifier. This makes it more difficult for a replay attacker to generalize from a small number of card instances.
认证消息可以作为十六进制ASCII格式的文本NDEF记录的内容被递送。在另一示例中,NDEF记录可以以十六进制格式被编码。The authentication message can be delivered as the content of a text NDEF record in hexadecimal ASCII format. In another example, the NDEF record can be encoded in hexadecimal format.
在实施例中,非接触式卡100可以在存储器204中存储资源定位符220。例如,在创建过程期间,用于启动激活过程的资源定位符220可以被写入存储器204。在激活过程期间,设备(诸如移动设备)可以执行NDEF读取操作以读取资源定位符220。在一个示例中,非接触式卡可以用资源定位符220发起,资源定位符220指向app商店以下载与非接触式卡相关的app。例如,资源定位符220可以是“https://play.google.com/store/apps/details?id=<package_name>,”其中package_name可以参考app。在另一示例中,资源定位符220可以是“http://apps.apple.com/<country>/app/<app–name>/id<store-ID>,”其中app-name和id是下载app的参考。在实施例中,存储器204可以包括两个资源定位符,使得客户可以使用具有操作系统或操作系统的任何设备来激活非接触式卡。在一些实例中,app可能已经被安装在移动设备上,并且资源定位符220可以使移动设备的操作系统来启动app。例如,在接收到资源定位符220时,移动设备可以检查app是否被安装,如果是,则操作系统将跳过安装过程并启动app。In an embodiment, the contactless card 100 may store a resource locator 220 in memory 204. For example, during the creation process, the resource locator 220 used to initiate the activation process may be written to memory 204. During the activation process, a device (such as a mobile device) may perform an NDEF read operation to read the resource locator 220. In one example, the contactless card may be initiated with the resource locator 220, which points to an app store to download an app associated with the contactless card. For example, the resource locator 220 may be “https://play.google.com/store/apps/details?id=<package_name>”, where package_name may refer to the app. In another example, the resource locator 220 may be “http://apps.apple.com/<country>/app/<app-name>/id<store-ID>”, where app-name and id are references to the downloaded app. In an embodiment, memory 204 may include two resource locators, allowing a customer to activate the contactless card using any device with an operating system or an operating system. In some instances, the app may already be installed on the mobile device, and resource locator 220 can enable the mobile device's operating system to launch the app. For example, upon receiving resource locator 220, the mobile device can check if the app is installed; if so, the operating system will skip the installation process and launch the app.
在实施例中,包括资源定位符220的非接触式卡100可以被用作“状态机”,其中一系列操作中的下一个操作可以被存储在资源定位符220中,直到其准备好由外部设备(移动设备)执行/处理。存储器204中的资源定位符220可以用该系列操作的新指令或定位符更新,直到该系列完成为止。In an embodiment, the contactless card 100, including resource locator 220, can be used as a "state machine" in which the next operation in a series of operations can be stored in resource locator 220 until it is ready to be executed/processed by an external device (mobile device). Resource locator 220 in memory 204 can be updated with new instructions or locators for the series of operations until the series is complete.
设备(诸如移动设备)可以使用NDEF编写或重写指令向存储器204编写,以更新资源定位符220。例如,在激活过程期间,移动设备可以读取资源定位符220,以安装和/或启动与非接触式卡相关的app。移动设备还可以执行编写操作以将新的资源定位符220写入存储器204以用于要执行的下一操作。在一些实施例中,下一操作可能要求客户审阅与非接触式卡相关联的条款和条件,并且移动设备可以在存储器204中编写到资源定位符220的条款和条件的链接。在一个示例中,该链接可以是到移动设备上的app内的本地位置的深度链接。在另一示例中,该链接可以是外部链接(在app之外),以在移动设备上的网络浏览器中启动网站。实施例不限于这些示例。A device (such as a mobile device) can write to memory 204 using NDEF write or rewrite instructions to update resource locator 220. For example, during an activation process, the mobile device can read resource locator 220 to install and/or launch an app associated with the contactless card. The mobile device can also perform a write operation to write the new resource locator 220 to memory 204 for use in the next operation to be performed. In some embodiments, the next operation may require a customer to review the terms and conditions associated with the contactless card, and the mobile device can write a link to the terms and conditions of resource locator 220 in memory 204. In one example, the link may be a deep link to a local location within the app on the mobile device. In another example, the link may be an external link (outside the app) to launch a website in a web browser on the mobile device. Embodiments are not limited to these examples.
在实施例中,一旦设备从非接触式卡100接收到资源定位符,设备就可以将下一操作作为资源定位符写入卡。例如,设备可以编写唯一标识符,该唯一标识符可以被客户用来接受条款和条件。具体地,当客户已经通读并准备接受条款和条件时,客户可以将非接触式卡100带到设备的范围内,并且设备可以执行NFC读取操作以读取包括唯一标识符的资源定位符。设备可以确定条款和条件被接受,并且用激活服务器/系统执行激活。In this embodiment, once the device receives a resource locator from the contactless card 100, the device can write the resource locator to the card as the next step. For example, the device can write a unique identifier that can be used by the customer to accept the terms and conditions. Specifically, when the customer has read and is ready to accept the terms and conditions, the customer can bring the contactless card 100 into the range of the device, and the device can perform an NFC reading operation to read the resource locator including the unique identifier. The device can then determine that the terms and conditions have been accepted and perform activation using an activation server/system.
在激活序列期间,非接触式卡组件200(包括存储器204)可以用一个或多个资源定位符220更新。每次,非接触式卡100被带到范围(NFC范围)内时,资源定位符220可以用不同/新的资源定位符或指令来更新,以在移动设备上执行激活序列的下一操作。移动设备可以执行NDEF编写操作以将新的资源定位符220写入存储器204。不同的资源定位符220中的每一个可以使得移动设备执行不同的操作,诸如下载/启动app、呈现条款和条件以及接受条款和条件,如先前所讨论的。一旦被激活,资源定位符220就可以存储指令或资源定位符,以使移动设备上的app发起到登录页面。例如,资源定位符220可以使app发起到示出账户信息(与非接触式卡相关联)(例如,账户余额、支付活动、交易、奖金/奖励等)的页面。非接触式卡200可以存储资源定位符220,并且使app启动到登录页面,直到资源定位符220用新指令更新以执行另一操作为止。During the activation sequence, the contactless card component 200 (including memory 204) can be updated with one or more resource locators 220. Each time the contactless card 100 is brought into range (NFC range), the resource locator 220 can be updated with a different/new resource locator or instruction to perform the next operation of the activation sequence on the mobile device. The mobile device can perform an NDEF write operation to write the new resource locator 220 into memory 204. Each of the different resource locators 220 can cause the mobile device to perform different operations, such as downloading/launching an app, presenting terms and conditions, and accepting terms and conditions, as previously discussed. Once activated, the resource locator 220 can store instructions or resource locators to cause the app on the mobile device to initiate a login page. For example, the resource locator 220 can cause the app to initiate a page displaying account information (as associated with the contactless card) (e.g., account balance, payment activity, transactions, bonuses/rewards, etc.). The contactless card 200 can store the resource locator 220 and launch the app to the login page until the resource locator 220 is updated with new instructions to perform another operation.
图3示出了可以被用于执行非接触式卡的激活的示例系统300。在图示的示例中,系统300包括非接触式卡100、移动设备302和激活系统304。系统300的组件可以被配置为经由一个或多个有线和/或无线互连与每个组件通信。例如,非接触式卡100可以被配置为根据无线协议(诸如无线保真(WiFi)等)经由无线互连与移动设备302通信。移动设备302还可以被配置为根据无线和/或有线协议与激活系统304通信。Figure 3 illustrates an example system 300 that can be used to perform contactless card activation. In the illustrated example, system 300 includes a contactless card 100, a mobile device 302, and an activation system 304. Components of system 300 can be configured to communicate with each other via one or more wired and/or wireless interconnects. For example, contactless card 100 can be configured to communicate with mobile device 302 via a wireless interconnect according to a wireless protocol such as Wi-Fi. Mobile device 302 can also be configured to communicate with activation system 304 according to wireless and/or wired protocols.
在实施例中,系统300可以由客户利用,以经由移动设备302激活非接触式卡100。例如,非接触式卡100可以在创建期间被配置有资源定位符,该资源定位符使得移动设备302上的操作系统安装或启动与非接触式卡100相关联的app。在操作中,非接触式卡100可以被提供给客户有指令,以打开移动设备302上的短程无线电(诸如NFC接口),并且将非接触式卡100带到移动设备302的范围内。该范围可以是通过将卡轻敲在移动设备302上而满足的短程无线电的操作范围。在一个示例中,该范围可以是根据NFC标准的操作范围。移动设备302可以检测非接触式卡100并且执行与非接触式卡100的交换以建立通信,例如NFC交换。In this embodiment, system 300 can be used by a customer to activate contactless card 100 via mobile device 302. For example, contactless card 100 may be configured with a resource locator during creation, which enables the operating system on mobile device 302 to install or launch an app associated with contactless card 100. In operation, contactless card 100 may be provided to the customer with instructions to activate a short-range radio (such as an NFC interface) on mobile device 302 and to bring contactless card 100 within range of mobile device 302. This range may be the operating range of the short-range radio, satisfied by tapping the card onto mobile device 302. In one example, this range may be the operating range according to the NFC standard. Mobile device 302 may detect contactless card 100 and perform an exchange with contactless card 100 to establish communication, such as an NFC exchange.
与非接触式卡100通信的移动设备302可以执行读取操作(NFC读取)以从非接触式卡100的存储器读取数据。在实施例中,读取操作可以参考存储器位置或另一标识符来读取存储在存储器中的资源定位符。包括电路的非接触式卡100可以处理读取操作,从存储器检索资源定位符,并且将资源定位符提供给移动设备302。移动设备302可以处理从非接触式卡100接收的包括资源定位符的数据。在该示例中,移动设备302的操作系统可以启动app商店以下载银行app,或者如果该app已被安装在移动设备302上则发起该银行app。Mobile device 302, communicating with contactless card 100, can perform a read operation (NFC read) to read data from the memory of contactless card 100. In an embodiment, the read operation may refer to a memory location or another identifier to read a resource locator stored in the memory. Contactless card 100, including circuitry, can process the read operation, retrieve the resource locator from the memory, and provide the resource locator to mobile device 302. Mobile device 302 can process the data including the resource locator received from contactless card 100. In this example, the operating system of mobile device 302 can launch an app store to download a banking app, or initiate the banking app if it is already installed on mobile device 302.
在一些实例中,客户可能被要求执行多个步骤来执行非接触式卡100的激活。移动设备302可以将新的资源定位符写入非接触式卡100的存储器中以执行每个新的操作。例如,响应于发起移动设备302的app,包括该app的移动设备302可以向非接触式卡100的存储器编写(NFC编写操作)新的资源定位符。新的资源定位符可以是指向与非接触式卡100相关联的条款和条件的指令或链接(深度链接)。因此,下次非接触式卡100被带到移动设备302的通信范围时,移动设备302可以执行另一NFC读取操作,从非接触式卡100接收更新的资源定位符,并且执行一个或多个操作来处理资源定位符。例如,移动设备302可以处理资源定位符,这可以使app在银行app的显示器或移动设备302的网络浏览器上的图形用户界面(graphical user interface,GUI)中呈现条款和条件。In some instances, a customer may be required to perform multiple steps to activate the contactless card 100. The mobile device 302 can write new resource locators into the memory of the contactless card 100 to perform each new operation. For example, in response to an app initiating the activity, the mobile device 302, including the app, can write (NFC write operation) a new resource locator into the memory of the contactless card 100. The new resource locator can be an instruction or link (deep link) pointing to the terms and conditions associated with the contactless card 100. Therefore, the next time the contactless card 100 is brought within the communication range of the mobile device 302, the mobile device 302 can perform another NFC read operation, receive the updated resource locator from the contactless card 100, and perform one or more operations to process the resource locator. For example, the mobile device 302 can process the resource locator, which could allow the app to present the terms and conditions on the display of a banking app or in a graphical user interface (GUI) on the web browser of the mobile device 302.
在实施例中,非接触式卡100可以被用于认证用户并接受条款和条件。例如,移动设备302可以获得与客户相关联的唯一标识符。移动设备302可以要求客户输入凭证(诸如密码、唯一图案、生物特征、通行码等),并且移动设备302可以基于所输入的凭证来获得和/或生成用于客户的唯一标识符。在一些实例中,移动设备302可以生成用于唯一标识符的随机字母数字序列。实施例不以这种方式被限制。In this embodiment, the contactless card 100 can be used to authenticate the user and accept terms and conditions. For example, the mobile device 302 can obtain a unique identifier associated with the customer. The mobile device 302 can request the customer to enter credentials (such as a password, unique pattern, biometrics, passcode, etc.), and the mobile device 302 can obtain and/or generate a unique identifier for the customer based on the entered credentials. In some instances, the mobile device 302 can generate a random alphanumeric sequence for the unique identifier. The embodiments are not limited in this manner.
移动设备302可以执行编写操作,以编写包括唯一标识符的新资源定位符。一旦客户准备好接受条款和条件,移动设备302就可以指令客户将卡带到范围内。移动设备302可以执行读取操作以读取包括唯一标识符的资源定位符并激活非接触式卡100。Mobile device 302 can perform a write operation to write a new resource locator including a unique identifier. Once the customer is ready to accept the terms and conditions, mobile device 302 can instruct the customer to bring the card within range. Mobile device 302 can perform a read operation to read the resource locator including the unique identifier and activate the contactless card 100.
为了执行激活,移动设备302可以与激活系统304通信数据。数据可以包括识别客户、识别非接触式卡100、确认条款和条件被接受等的信息。激活系统304可以处理数据并向移动设备302确认非接触式卡100被激活或激活失败。移动设备302可以在app GUI中显示信息,指示非接触式卡100是否被激活。To perform activation, mobile device 302 can communicate data with activation system 304. This data may include information such as identifying the customer, identifying contactless card 100, and confirming that terms and conditions are accepted. Activation system 304 can process the data and confirm with mobile device 302 whether contactless card 100 has been activated or activation failed. Mobile device 302 can display information in its app GUI indicating whether contactless card 100 has been activated.
在一些实例中,非接触式卡100可以生成唯一标识符并将其与OTP通信以执行认证操作。例如,为了接受条款和条件和/或将银行app启动到具有敏感信息的登录页面,移动设备302可以指令客户将非接触式卡100带到移动设备302的范围内。一旦在范围内,非接触式卡100和移动设备302就可以执行NFC交换。例如,包括指令的非接触式卡100可以被配置为响应来自移动设备302的移动NFC读取器的一个或多个请求(诸如近场数据交换请求),并且产生NDEF消息,该NDEF消息包括被编码为具有唯一标识符的NDEF文本标签的密码安全OTP。NDEF OTP的一个示例是NDEF短记录布局(SR=1)。在这种示例中,一个或多个卡指令可以被配置为将OTP编码为NDEF类型4众所周知的类型文本标签。在一些示例中,NDEF消息可能包括一个或多个记录。指令可以被配置为除了OTP记录之外还添加一个或多个静态标签记录。In some instances, the contactless card 100 can generate a unique identifier and communicate it with an OTP to perform authentication operations. For example, to accept terms and conditions and/or launch a banking app to a login page with sensitive information, the mobile device 302 can instruct the customer to bring the contactless card 100 within range of the mobile device 302. Once within range, the contactless card 100 and the mobile device 302 can perform an NFC exchange. For example, the contactless card 100, including the instruction, can be configured to respond to one or more requests (such as a Near Field Data Exchange request) from a mobile NFC reader of the mobile device 302 and generate an NDEF message that includes a cryptographically secure OTP encoded as an NDEF text tag with a unique identifier. An example of an NDEF OTP is an NDEF short record layout (SR=1). In this example, one or more card instructions can be configured to encode the OTP as a well-known type of text tag of NDEF type 4. In some examples, the NDEF message may include one or more records. The instructions can be configured to add one or more static tag records in addition to the OTP record.
在实施例中,非接触式卡100可以被激活,并且资源定位符可以被设置有唯一标识符,以与OTP一起使用,以对每个读取操作执行认证。例如,每次非接触式卡100被带到移动设备302的范围时,移动设备302可以接收具有加密的唯一标识符的OTP,并执行认证操作。如果被认证,则移动设备302可以使动作发生,诸如将app启动到登录页面(包括账户余额和/或与银行账户有关的其他信息)。In this embodiment, the contactless card 100 can be activated, and the resource locator can be set with a unique identifier to be used with the OTP to perform authentication for each read operation. For example, each time the contactless card 100 is brought into range of the mobile device 302, the mobile device 302 can receive the OTP with the encrypted unique identifier and perform the authentication operation. If authenticated, the mobile device 302 can cause actions such as launching an app to a login page (including account balance and/or other information related to a bank account).
图4示出了可以由移动设备302执行以激活非接触式卡100的示例例程400。在框402中,例程400包括经由无线接口从非接触式卡接收用于应用的第一统一资源定位符(URL)。在实施例中,应用可以是银行app,并且被配置为执行激活。第一URL可以被存储在非接触式卡100的存储器中,并且作为包括NDEF读取的NDEF交换的一部分被通信到移动设备302。第一URL可以由移动设备302的操作系统处理并引起一个或多个事件。具体地,在框404处,例程400包括响应于接收到第一URL而启动应用。在一些实例中,app可以被安装在移动设备302上,并且在接收到第一URL时,操作系统可以使app执行。在其他实例中,app可以不被安装在移动设备302上。在这些实例中,操作系统可以使app商店启动,并且第一URL可以包括将app商店引导到银行app的下载页面的信息。实施例不以这种方式被限制。Figure 4 illustrates an example routine 400 that can be executed by mobile device 302 to activate contactless card 100. In block 402, routine 400 includes receiving a first Uniform Resource Locator (URL) for an application from the contactless card via a wireless interface. In this embodiment, the application may be a banking app and is configured to perform activation. The first URL may be stored in the memory of contactless card 100 and communicated to mobile device 302 as part of an NDEF exchange including NDEF reading. The first URL may be processed by the operating system of mobile device 302 and trigger one or more events. Specifically, at block 404, routine 400 includes launching the application in response to receiving the first URL. In some instances, the app may be installed on mobile device 302, and the operating system may cause the app to execute upon receiving the first URL. In other instances, the app may not be installed on mobile device 302. In these instances, the operating system may cause an app store to launch, and the first URL may include information directing the app store to a download page for the banking app. The embodiments are not limited in this manner.
在框406中,例程400包括将用于条件的第二URL写入非接触式卡。在实施例中,第二URL可以包括指向位置的链接(诸如深度链接或网络链接),以使得条款和条件在移动设备302的显示器上呈现给用户。移动设备302可以从app确定第二URL,该第二URL可以是本地存储在app的文件内的深度链接。该app在被启动以执行非接触式卡的激活时,可以提供到操作系统的深度链接,并且操作系统可以生成消息,诸如“编写NDEFMessage消息”,包括深度链接作为第二URL写入非接触式卡。在其他实例中,app可以提供指向网站,或者可以通过网络浏览器访问的网站页面的链接。操作系统可以使用NDEF消息将网站/页面链接写入非接触式卡。非接触式卡可以将第二URL存储在存储器中,直到为激活序列准备好执行下一操作(例如,客户准备好通过再次将卡带到移动设备的范围内来查看条款和条件)为止。In block 406, routine 400 includes writing a second URL for the terms and conditions to the contactless card. In an embodiment, the second URL may include a link to a location (such as a deep link or web link) so that the terms and conditions are presented to the user on the display of mobile device 302. Mobile device 302 can determine the second URL from an app, which may be a deep link stored locally within a file in the app. When the app is launched to perform contactless card activation, it can provide a deep link to the operating system, and the operating system can generate a message, such as a "Write NDEFMessage" message, including the deep link as the second URL written to the contactless card. In other instances, the app may provide a link to a website, or a website page accessible via a web browser. The operating system can use an NDEF message to write the website/page link to the contactless card. The contactless card can store the second URL in memory until it is ready to perform the next action in the activation sequence (e.g., the customer is ready to view the terms and conditions by bringing the card back into the range of the mobile device).
在框408中,例程400包括从非接触式卡接收条件的第二URL。在一些实例中,app可以在移动设备302的显示器上的GUI中呈现用于用户将非接触式卡带到移动设备302的范围内以读取条款和条件的指令,例如用于客户将非接触式卡轻敲在显示器上的指令。移动设备302可以执行读取操作。响应于读取操作,移动设备302可以在NDEF消息中从非接触式卡接收第二URL。移动设备302的操作系统可以处理第二URL,包括使app或网络浏览器打开并显示条款和条件。如所提到的,第二URL可以是指向app本身内的位置或指向网站/页面的链接。此外,并且在框410处,例程400包括在移动设备的显示器上呈现条件。条款和条件可以在GUI中被呈现,并且可以由客户阅读。然后,客户可以阅读条款和条件。In box 408, routine 400 includes receiving a second URL for the terms and conditions from the contactless card. In some instances, the app may present instructions in a GUI on the display of mobile device 302 for the user to bring the contactless card within range of mobile device 302 to read the terms and conditions, such as instructions for a customer to tap the contactless card on the display. Mobile device 302 may perform the reading operation. In response to the reading operation, mobile device 302 may receive the second URL from the contactless card in an NDEF message. The operating system of mobile device 302 may process the second URL, including causing the app or web browser to open and display the terms and conditions. As mentioned, the second URL may be a location within the app itself or a link to a website/page. Furthermore, and at box 410, routine 400 includes presenting the terms and conditions on the display of the mobile device. The terms and conditions may be presented in a GUI and can be read by the customer. The customer can then read the terms and conditions.
在框412中,例程400包括编写用于唯一标识符的第三URL,以识别与非接触式卡相关联的客户。包括唯一标识符的第三URL可以由移动设备302使用,以在客户接受条款和条件时识别客户并激活卡。唯一标识符可以是字母数字符号的任何组合。在一些实例中,唯一标识符可以基于与非接触式卡有关的信息(例如,账号、邮政编码、地址等)和/或客户输入的凭证。然而,在其他实例中,唯一标识符可以是完全随机的,并且由app和/或操作系统生成。In box 412, routine 400 includes writing a third URL for a unique identifier to identify a customer associated with a contactless card. The third URL, including the unique identifier, can be used by mobile device 302 to identify the customer and activate the card upon acceptance of the terms and conditions. The unique identifier can be any combination of alphanumeric symbols. In some instances, the unique identifier can be based on information associated with the contactless card (e.g., account number, postal code, address, etc.) and/or credentials entered by the customer. However, in other instances, the unique identifier can be completely random and generated by the app and/or operating system.
在框414中,例程400包括接收第三URL以确认条件。在一些实例中,app可以在显示器中向客户呈现条款和条件,并且包括用于客户将非接触式卡带到移动设备302的范围内以接受条款和条件的指令。在一个示例中,指令可以指令客户将非接触式卡轻敲在移动设备302上。当非接触式卡在范围内时,移动设备302可以执行读取操作。包括app的移动设备302可以接收包括唯一标识符的第三URL,以确保同一客户/卡正被用于接受条款和条件。如果接收到的唯一标识符与先前编写(框412)的唯一标识符匹配,则app可以确定客户接受了条款和条件。In box 414, routine 400 includes receiving a third URL to confirm the terms and conditions. In some instances, the app may present the terms and conditions to the customer on a display and include instructions for the customer to bring a contactless card into range of mobile device 302 to accept the terms and conditions. In one example, the instructions may instruct the customer to tap the contactless card against mobile device 302. When the contactless card is in range, mobile device 302 may perform a read operation. Mobile device 302, including the app, may receive a third URL including a unique identifier to ensure that the same customer/card is being used to accept the terms and conditions. If the received unique identifier matches a previously written unique identifier (box 412), the app may determine that the customer has accepted the terms and conditions.
在实施例中,一旦客户接受条款和条件,移动设备302就可以激活非接触式卡。例如,包括app的移动设备302可以与激活系统304通信以激活非接触式卡。在一些示例中,移动设备302可以向激活系统304通信指示客户接受条款和条件的信息以及识别正被激活的非接触式卡的信息。识别卡的信息可以包括与客户相关联的标识符(用户名)、非接触式卡的账号或其他识别信息。激活系统304可以利用该信息并激活非接触式卡以用于执行交易。在框416处,例程400包括确定非接触式卡至少部分地响应于条件被确认而被激活。在一个示例中,移动设备302可以从激活系统304接收指示,其指示非接触式卡已经被激活或者激活失败。移动设备302可以例如通过在显示器上呈现信息(关于非接触式卡是否被激活)来通知客户。在一些实例中,当激活失败时,app可能会向客户呈现如何修复失败的激活尝试的指令。In this embodiment, once the customer accepts the terms and conditions, the mobile device 302 can activate the contactless card. For example, the mobile device 302, including an app, can communicate with the activation system 304 to activate the contactless card. In some examples, the mobile device 302 can communicate to the activation system 304 information indicating that the customer accepts the terms and conditions and information identifying the contactless card being activated. The card identification information may include an identifier (username) associated with the customer, the contactless card's account number, or other identifying information. The activation system 304 can use this information and activate the contactless card for transaction execution. At block 416, routine 400 includes determining that the contactless card is activated at least partially in response to the conditions being acknowledged. In one example, the mobile device 302 may receive an indication from the activation system 304 indicating that the contactless card has been activated or that activation failed. The mobile device 302 can notify the customer, for example, by presenting information on a display (regarding whether the contactless card has been activated). In some instances, when activation fails, the app may present the customer with instructions on how to recover from the failed activation attempt.
在实施例中,一旦卡被激活,客户可以利用非接触式卡与移动设备302将app启动到登录页面或执行另一动作。例如,对于卡被带到移动设备302的范围内的每个附加实例,操作系统可以进行检测并启动app。移动设备302还可以执行读取操作,并且非接触式卡可以向移动设备302发送信息。在一个示例中,非接触式卡可以生成密码,该密码可以包括唯一标识符和OTP,并且在密码中通信到移动设备302。移动设备302可以使用唯一标识符和OTP来认证用户,并且使得包括敏感信息的登录页被呈现给用户。In this embodiment, once the card is activated, the customer can use the contactless card and mobile device 302 to launch an app to a login page or perform another action. For example, for each additional instance of the card being brought into the range of mobile device 302, the operating system can detect and launch the app. Mobile device 302 can also perform a read operation, and the contactless card can send information to mobile device 302. In one example, the contactless card can generate a password that may include a unique identifier and an OTP, and communicate this password to mobile device 302. Mobile device 302 can use the unique identifier and OTP to authenticate the user and cause a login page containing sensitive information to be presented to the user.
图5示出了可以由非接触式卡100执行以经由移动设备302激活非接触式卡100的示例例程500。在框502中,例程500包括向移动设备发送用于应用的第一统一资源定位符(URL)。在实施例中,非接触式卡可以响应于读取操作,经由无线接口(诸如NFC接口)将第一URL发送到移动设备302。第一URL可以被存储在非接触式卡的存储器中。包括电路的非接触式卡可以从存储器中检索第一URL,并且在NDEF消息中将其通信到移动设备302。在一些实例中,第一URL可以是启动移动设备302上的app的链接。在一些实例中,当app未安装在移动设备302上时,移动设备302可以响应于接收到第一URL而启动app商店。Figure 5 illustrates an example routine 500 that can be executed by contactless card 100 to activate contactless card 100 via mobile device 302. In block 502, routine 500 includes sending a first Uniform Resource Locator (URL) for an application to the mobile device. In an embodiment, the contactless card may send the first URL to mobile device 302 via a wireless interface (such as an NFC interface) in response to a read operation. The first URL may be stored in the memory of the contactless card. The contactless card, including circuitry, may retrieve the first URL from memory and communicate it to mobile device 302 in an NDEF message. In some instances, the first URL may be a link to launch an app on mobile device 302. In some instances, when an app is not installed on mobile device 302, mobile device 302 may launch an app store in response to receiving the first URL.
在框504中,例程500包括接收与激活非接触式卡有关的条件的第二URL。第二URL可以由非接触式卡从移动设备302接收。在一些实例中,移动设备302可以执行NFC编写操作以将第二URL写入非接触式卡的存储器。第二URL可以包括与非接触式卡相关联的条款和条件的链接,并且可以被包括在NDEF消息中。在框506处,例程500包括通过非接触式卡将第二URL存储在存储器中。In block 504, routine 500 includes receiving a second URL relating to conditions for activating the contactless card. The second URL may be received by the contactless card from mobile device 302. In some instances, mobile device 302 may perform an NFC writing operation to write the second URL into the memory of the contactless card. The second URL may include a link to the terms and conditions associated with the contactless card and may be included in an NDEF message. At block 506, routine 500 includes storing the second URL in memory via the contactless card.
在框508中,例程500包括向移动设备发送第二URL。在实施例中,第二URL可以由非接触式卡响应于移动设备302执行的另一读取操作来进行通信。非接触式卡可以在NDEF消息中向移动设备302发送第二URL。在实施例中,当非接触式卡被带到移动设备302的无线操作范围时,可以执行读取操作,如先前所讨论的。In block 508, routine 500 includes sending a second URL to the mobile device. In an embodiment, the second URL may be communicated by the contactless card in response to another read operation performed by the mobile device 302. The contactless card may send the second URL to the mobile device 302 in an NDEF message. In an embodiment, the read operation may be performed, as previously discussed, when the contactless card is brought into the wireless operating range of the mobile device 302.
在框510中,例程500接收用于唯一标识符的第三URL,以识别与非接触式卡相关联的客户。响应于由移动设备302执行的编写操作,第三URL可以由非接触式卡接收。类似于读取操作,当非接触式卡被带到移动设备302的无线范围时,可以执行编写操作。在一些实施例中,读和写操作可以在同一实例期间作为交换的一部分被执行。例如,客户可以将非接触式卡带到移动设备302的范围内,并且移动设备302可以执行读取操作,如框508中所讨论的,以读取第二URL。移动设备302可以确定资源定位符220需要被更新,并且可以执行编写操作以将第三URL写入非接触式卡的存储器。当客户将非接触式卡带到无线范围内时,交换可能在单个实例期间发生。此外,并且在框512处,例程500包括在非接触式卡的存储器中存储第三URL。In block 510, routine 500 receives a third URL for a unique identifier to identify a customer associated with the contactless card. The third URL can be received by the contactless card in response to a write operation performed by mobile device 302. Similar to a read operation, a write operation can be performed when the contactless card is brought into the wireless range of mobile device 302. In some embodiments, read and write operations can be performed as part of an exchange during the same instance. For example, a customer can bring the contactless card into the range of mobile device 302, and mobile device 302 can perform a read operation, as discussed in block 508, to read the second URL. Mobile device 302 can determine that resource locator 220 needs to be updated and can perform a write operation to write the third URL into the memory of the contactless card. An exchange can occur during a single instance when a customer brings the contactless card into the wireless range. Furthermore, and at block 512, routine 500 includes storing the third URL in the memory of the contactless card.
在框514处,例程500包括向移动设备发送第三URL。在实施例中,非接触式卡可以响应于非接触式卡被带到移动设备302的无线范围而发送第三URL,如先前那样。在这种实例中,客户可以响应于在移动设备302上呈现给客户的指令并接受或确认条款和条件,将非接触式卡带到移动设备302的范围内。第三URL可以包括唯一标识符,该唯一标识符可以由移动设备302使用以确认正确的卡/客户正在确认条款和条件。第三URL可以作为读取操作的一部分并且在NDEF消息中被通信到移动设备302。At block 514, routine 500 includes sending a third URL to the mobile device. In this embodiment, the contactless card may send the third URL in response to the contactless card being brought into the wireless range of the mobile device 302, as previously described. In this instance, a customer may bring the contactless card into the range of the mobile device 302 in response to an instruction presented to the customer on the mobile device 302 and to accept or confirm the terms and conditions. The third URL may include a unique identifier that can be used by the mobile device 302 to confirm that the correct card/customer is confirming the terms and conditions. The third URL may be communicated to the mobile device 302 as part of a read operation and in an NDEF message.
本文所讨论的技术不限于执行非接触式卡的激活序列,并且可以通过将非接触式卡用作“状态机”来执行不同的操作或一系列动作。例如,具有NFC读和写能力的设备可以利用非接触式卡的存储器来存储数据,诸如指令或指令块,作为资源定位符。例如,该设备可以将数据作为资源定位符写入非接触式卡的存储器,以存储要执行的一系列动作或操作中的状态。当要执行下一个动作时,设备可以读取资源定位符并且基于被存储在存储器中的内容来执行下一动作。该设备可以将包括下一指令的数据作为资源定位符写入非接触式卡的存储器。该过程可以重复,直到该系列动作完成为止。在一些实例中,非接触式卡在其被读取时可以包括具有资源定位符的OTP,使得设备可以确认和/或认证用户。在非接触式卡和设备之间通信的数据可以在NDEF消息中以原始格式或加密格式被通信。The techniques discussed in this article are not limited to executing activation sequences of contactless cards, but can also be used to perform different operations or series of actions by using the contactless card as a "state machine." For example, a device with NFC read and write capabilities can utilize the memory of the contactless card to store data, such as instructions or instruction blocks, as resource locators. For instance, the device can write data as a resource locator into the memory of the contactless card to store the state of a series of actions or operations to be performed. When the next action is to be performed, the device can read the resource locator and perform the next action based on the contents stored in the memory. The device can write data including the next instruction as a resource locator into the memory of the contactless card. This process can be repeated until the series of actions is completed. In some instances, the contactless card may include an OTP with a resource locator when it is read, allowing the device to verify and/or authenticate the user. Data communicated between the contactless card and the device can be communicated in raw or encrypted format in NDEF messages.
图6示出了示例例程600,其通过非接触式卡将数据存储为资源定位符以执行一系列动作或操作中的操作,并且非接触式卡可以被用作状态机来执行操作被执行。在框602处,例程600包括将指令或数据存储在非接触式卡的存储器中。例如,设备(诸如移动设备或销售点(POS)终端)可以将包括指令的数据作为资源定位符写入非接触式卡的存储器中。数据可以是执行一个或多个操作以完成一系列操作的指令。该设备可以执行NFC编写操作,以利用短程无线电(诸如NFC和in以及NDEF消息)将数据写入存储器。非接触式卡可以将数据存储在存储器中,直到下一次读取操作为止和/或直到数据被重写为止。资源定位符中的数据或指令可以包括可以由计算设备执行的任何操作。在示例中,数据可以是指向位置的链接,例如,网络链接或指向存储器位置的链接/指针。在另一示例中,数据可以是可以在设备上实施和/或执行的计算机指令。指令可以是可以由设备执行的高级指令,诸如脚本语言中使用的指令,或者是低级指令,诸如C代码、JAVA代码、汇编代码等。实施例不以这种方式被限制。Figure 6 illustrates an example routine 600 that stores data as a resource locator via a contactless card to perform an operation in a series of actions or operations, and the contactless card can be used as a state machine to execute the operations. At block 602, routine 600 includes storing instructions or data in the memory of the contactless card. For example, a device (such as a mobile device or point-of-sale (POS) terminal) can write data including instructions as a resource locator into the memory of the contactless card. The data can be instructions to perform one or more operations to complete a series of operations. The device can perform an NFC write operation to write data to memory using short-range radio (such as NFC and IN and NDEF messages). The contactless card can store data in memory until the next read operation and/or until the data is overwritten. The data or instructions in the resource locator can include any operation that can be performed by a computing device. In the example, the data can be a link to a location, such as a network link or a link/pointer to a memory location. In another example, the data can be computer instructions that can be implemented and/or executed on a device. Instructions can be high-level instructions that can be executed by the device, such as those used in scripting languages, or low-level instructions, such as C code, Java code, assembly code, etc. Implementation examples are not limited in this manner.
在框604处,例程600包括向设备提供数据。例如,设备可以执行NFC读取操作,并且非接触式卡可以生成NDEF消息以将数据通信到设备。在一些实施例中,数据可以以密码被通信,如本文所讨论的。该数据可以由该设备使用并且使得操作被执行。At block 604, routine 600 includes providing data to a device. For example, the device may perform an NFC read operation, and a contactless card may generate an NDEF message to communicate data to the device. In some embodiments, the data may be communicated cryptographically, as discussed herein. This data may be used by the device and cause operations to be performed.
在框606处,例程600包括确定是否接收到包括指令的新数据。例如,非接触式卡可以检测由设备发起的编写操作,以编写包括该系列动作的下一指令的新数据。如果检测到新数据,则非接触式卡可以将数据存储在存储器中,如例程600所指示的。如果没有检测到新数据,则例程600可以结束,直到执行另一编写操作为止。At block 606, routine 600 includes determining whether new data containing instructions has been received. For example, a contactless card may detect a write operation initiated by the device to write new data including the next instruction in the series of actions. If new data is detected, the contactless card may store the data in memory, as indicated by routine 600. If no new data is detected, routine 600 may terminate until another write operation is performed.
例程600可以被用于由设备执行任何类型的一系列操作,诸如通过POS终端和/或在移动设备上完成交易、经由银行app进行支付、改变银行app上的设置等。实施例不限于这些示例。Routine 600 can be used to perform any type of series of operations by the device, such as completing transactions through a POS terminal and/or on a mobile device, making payments via a bank app, changing settings on a bank app, etc. Implementation examples are not limited to these examples.
图7是示出根据本公开的一个或多个实施例的用于提供经认证的访问的示例序列的时序图。序列流700可以包括非接触式卡100和客户端设备702,客户端设备702可以包括应用704和处理器706。在一些实施例中,客户端设备702可以是移动设备302。在一些实例中,可以在移动设备302和非接触式卡100之间执行以下序列,以执行激活步骤中的一个或多个和/或认证客户以将app启动到移动设备302上的登录页面,如先前关于图3所讨论的。Figure 7 is a timing diagram illustrating example sequences for providing authenticated access according to one or more embodiments of the present disclosure. Sequence stream 700 may include a contactless card 100 and a client device 702, which may include an application 704 and a processor 706. In some embodiments, the client device 702 may be a mobile device 302. In some instances, the following sequence may be performed between the mobile device 302 and the contactless card 100 to perform one or more activation steps and/or authenticate the client to launch the app to a login page on the mobile device 302, as previously discussed with respect to Figure 3.
在线710处,应用704与非接触式卡100通信(例如,在被带到非接触式卡100附近之后)。应用704和非接触式卡100之间的通信可以涉及非接触式卡100足够靠近客户端设备702的读卡器(未示出),以使能应用704与非接触式卡100之间的NFC数据传递。At point 710, application 704 communicates with contactless card 100 (e.g., after being brought near contactless card 100). Communication between application 704 and contactless card 100 may involve contactless card 100 being sufficiently close to a card reader (not shown) of client device 702 to enable NFC data transfer between application 704 and contactless card 100.
在线708处,在客户端设备702和非接触式卡100之间建立通信之后,非接触式卡100生成消息认证码(MAC)密码。在一些示例中,这可能在非接触式卡100被应用704读取时发生。特别地,这可能发生在近场数据交换(near field data exchange,NDEF)标签的读取(诸如NFC读取)时,该标签可以根据NFC数据交换格式被创建。例如,读取器应用(诸如应用704)可以传输具有NDEF产生小应用程序的小应用程序ID的消息(诸如小应用程序选择消息)。在确认选择后,可以传输选择文件消息的顺序,随后是读取文件消息。例如,顺序可能包括“选择能力文件”、“读取能力文件”和“选择NDEF文件”。在这一点上,由非接触式卡100维护的计数器值可以被更新或递增,其后面可以是“读取NDEF文件”。在这一点上,可以生成消息,该消息可以包括报头和共享秘密。然后可以生成会话密钥。MAC密码可以从消息被创建,该消息可以包括报头和共享秘密。然后,MAC密码可以与一个或多个随机数据块串联,并且MAC密码和随机数(random number,RND)可以用会话密钥被加密。此后,密码和报头可以被串联,并且被编码为ASCII十六进制,并以NDEF消息格式返回(响应于“读取NDEF文件”消息)。At point 708, after communication is established between client device 702 and contactless card 100, contactless card 100 generates a Message Authentication Code (MAC) password. In some examples, this may occur when contactless card 100 is read by application 704. Specifically, this may occur during the reading of a near field data exchange (NDEF) tag (such as NFC reading), which can be created according to the NFC data exchange format. For example, reader applications (such as application 704) may transmit a message (such as an app selection message) with an app ID that generates an NDEF. After confirming the selection, a sequence of selected file messages can be transmitted, followed by read file messages. For example, the sequence may include "Select Capability File", "Read Capability File", and "Select NDEF File". At this point, a counter value maintained by contactless card 100 can be updated or incremented, which may be followed by "Read NDEF File". At this point, a message can be generated, which may include a header and a shared secret. A session key can then be generated. A MAC cipher can be created from a message that may include a header and a shared secret. The MAC cipher can then be concatenated with one or more blocks of random data, and the MAC cipher and the random number (RND) can be encrypted using a session key. Afterward, the cipher and header can be concatenated, encoded into ASCII hexadecimal, and returned in NDEF message format (in response to a "Read NDEF file" message).
在一些示例中,MAC密码可以作为NDEF标签被传输,并且在其他示例中,该MAC密码可以被包括有统一资源指示符或定位符(例如,作为格式化的字符串)。例如,MAC密码可以包括资源定位符(包括唯一标识符)。在一些示例中,应用704可以被配置为向非接触式卡100传输请求,该请求包括生成MAC密码的指令。In some examples, the MAC cipher may be transmitted as an NDEF tag, and in other examples, the MAC cipher may include a Uniform Resource Identifier (URI) or a locator (e.g., as a formatted string). For example, the MAC cipher may include a resource locator (including a unique identifier). In some examples, application 704 may be configured to transmit a request to contactless card 100 that includes instructions to generate a MAC cipher.
在线712处,非接触式卡100向应用704发送MAC密码。在一些示例中,MAC密码的传输经由NFC发生,然而,本公开不限于此。在其他示例中,这种通信可以经由蓝牙、Wi-Fi或无线数据通信的其他手段发生。在线714处,应用704将MAC密码通信到处理器706。At line 712, the contactless card 100 sends the MAC password to application 704. In some examples, the transmission of the MAC password occurs via NFC; however, this disclosure is not limited thereto. In other examples, this communication may occur via Bluetooth, Wi-Fi, or other means of wireless data communication. At line 714, application 704 communicates the MAC password to processor 706.
在线716处,处理器706根据来自应用122的指令验证MAC密码。例如,可以验证MAC密码,如下面所解释的。在一些示例中,验证MAC密码可以由除客户端设备702以外的设备执行,诸如与客户端设备702进行数据通信的银行系统的服务器。例如,处理器706可以输出MAC密码以传输到银行系统的服务器,该服务器可以验证MAC密码。在一些示例中,MAC密码可以用作用于验证目的的数字签名。其他数字签名算法,诸如公钥非对称算法,例如数字签名算法和RSA算法,或者零知识协议,可以被用于执行该验证。At point 716, processor 706 verifies the MAC cipher according to instructions from application 122. For example, the MAC cipher can be verified as explained below. In some examples, MAC cipher verification can be performed by a device other than client device 702, such as a server in a banking system that communicates data with client device 702. For example, processor 706 can output the MAC cipher for transmission to the server in the banking system, which can verify the MAC cipher. In some examples, the MAC cipher can be used as a digital signature for verification purposes. Other digital signature algorithms, such as public-key asymmetric algorithms, like digital signature algorithms and RSA algorithms, or zero-knowledge protocols, can be used to perform this verification.
图8示出了根据示例实施例的NDEF短记录布局(SR=1)数据结构800。一个或多个小应用程序可以被配置为将OTP编码为NDEF类型4公知类型文本标签。在一些示例中,NDEF消息可以包括一个或多个记录。小应用程序可以被配置为除了OTP记录之外还添加一个或多个静态标签记录。示例性标签包括但不限于标签类型:公知类型、文本、编码英语(en);小应用程序ID:D2760000850101;能力:只读访问;编码:认证消息可以被编码为ASCII十六进制;类型-长度-值(type-length-value,TLV)数据可以被提供作为个性化参数,其可以被用于生成NDEF消息。在实施例中,认证模板可以包括第一记录,具有公知索引,用于提供实际动态认证数据。Figure 8 illustrates an NDEF short record layout (SR=1) data structure 800 according to an example embodiment. One or more applets can be configured to encode OTP as NDEF Type 4 known type text tags. In some examples, the NDEF message may include one or more records. The applet can be configured to add one or more static tag records in addition to the OTP record. Exemplary tags include, but are not limited to, tag type: known type, text, encoded English (en); applet ID: D2760000850101; capability: read-only access; encoding: the authentication message may be encoded as ASCII hexadecimal; type-length-value (TLV) data may be provided as a personalization parameter that can be used to generate the NDEF message. In an embodiment, the authentication template may include a first record with a known index for providing the actual dynamic authentication data.
图9示出了被配置为实施本公开的一个或多个实施例的系统900的图。如下面所解释的,在非接触式卡创建过程期间,可以为每个卡唯一地分配两个密码密钥。密码密钥可以包括对称密钥,对称密钥可以被用于数据的加密和解密。三重DES(3DES)算法可以由EMV使用,并且它由非接触式卡中的硬件来实施。通过使用密钥多样化过程,一个或多个密钥可以基于每个需要密钥的实体的唯一可识别信息从主密钥导出。Figure 9 illustrates a system 900 configured to implement one or more embodiments of the present disclosure. As explained below, during the contactless card creation process, two cryptographic keys can be uniquely assigned to each card. The cryptographic keys may include symmetric keys, which can be used for encryption and decryption of data. The Triple DES (3DES) algorithm can be used by EMV, and it is implemented by hardware in the contactless card. By using a key diversification process, one or more keys can be derived from the master key based on uniquely identifiable information for each entity requiring the key.
关于主密钥管理,对于发行一个或多个小应用程序的投资组合的每个部分,可能需要两个发行方主密钥902、926。例如,第一主密钥902可以包括发行方密码生成/认证密钥(Iss-Key-Auth),以及第二主密钥926可以包括发行方数据加密密钥(Iss-Key-DEK)。如本文进一步解释的,两个发行方主密钥902、926被多样化为卡主密钥908、920,其对于每个卡是唯一的。在一些示例中,网络简档记录ID(pNPR)522和导出密钥索引(pDKI)924(作为后台数据)可以被用于标识哪个发行方主密钥902、926在用于认证的密码过程中使用。执行认证的系统可以被配置为在认证时检索非接触式卡的pNPR 922和pDKI 924的值。Regarding master key management, for each part of a portfolio issuing one or more applets, two issuer master keys 902 and 926 may be required. For example, the first master key 902 may include an issuer password generation/authentication key (Iss-Key-Auth), and the second master key 926 may include an issuer data encryption key (Iss-Key-DEK). As further explained herein, the two issuer master keys 902 and 926 are diversified into card master keys 908 and 920, which are unique to each card. In some examples, the Network Profile Record ID (pNPR) 522 and the Derived Key Index (pDKI) 924 (as background data) may be used to identify which issuer master key 902 and 926 is used in the cipher process for authentication. The system performing authentication can be configured to retrieve the values of pNPR 922 and pDKI 924 of the contactless card during authentication.
在一些示例中,为了提高解决方案的安全性,会话密钥可以被导出(诸如每个会话的唯一密钥),但不是使用主密钥,唯一卡导出的密钥和计数器可以被用作多样化数据,如上面所解释的。例如,每次在操作中使用卡时,可以使用不同的密钥来创建消息验证码(MAC)和执行加密。关于会话密钥生成,用于生成密码并密码化一个或多个小应用程序中的数据的密钥可以包括基于卡唯一密钥的会话密钥(Card-Key-Auth 908和Card-Key-Dek920)。会话密钥(Aut-Session-Key 932和DEK-Session-Key 910)可以由一个或多个小应用程序生成,并且通过使用应用交易计数器(pATC)904与一个或多个算法来导出。为了将数据拟合到一个或多个算法中,仅使用4字节pATC 904的2个低阶字节。在一些示例中,四字节会话密钥导出方法可以包括:F1:=PATC(较低2字节)∥'F0'∥'00'∥PATC(四字节)F1:=PATC(较低2字节)∥'0F'∥'00'∥PATC(四字节)SK:={(ALG(MK)[F1])∥ALG(MK)[F2]};其中ALG可以包括3DES ECB,并且MK可以包括卡唯一导出主密钥。In some examples, to enhance solution security, session keys can be derived (such as a unique key for each session), but not using the master key. The unique card-derived key and counter can be used as diversification data, as explained above. For example, a different key can be used each time the card is used in an operation to create a Message Authentication Code (MAC) and perform encryption. Regarding session key generation, the key used to generate passwords and cryptographicate data in one or more applets can include session keys (Card-Key-Auth 908 and Card-Key-Dek 920) based on the card's unique key. Session keys (Aut-Session-Key 932 and DEK-Session-Key 910) can be generated by one or more applets and derived using an Application Transaction Counter (pATC) 904 with one or more algorithms. To fit data into one or more algorithms, only the two lower-order bytes of the 4-byte pATC 904 are used. In some examples, the four-byte session key export method may include: F1:=PATC(lower 2 bytes)∥'F0'∥'00'∥PATC(four bytes) F1:=PATC(lower 2 bytes)∥'0F'∥'00'∥PATC(four bytes) SK:={(ALG(MK)[F1])∥ALG(MK)[F2]}; where ALG may include 3DES ECB and MK may include the card-unique exported master key.
如本文所述,一个或多个MAC会话密钥可以使用pATC 904计数器的较低两个字节被导出。在非接触式卡的每次轻敲时,pATC 904被配置为被更新,并且卡主密钥Card-Key-AUTH 508和Card-Key-DEK 920被进一步多样化为会话密钥Aut-Session-Key 932和DEK-Session-KEY 910。pATC 904可以在个性化或小应用程序初始化时间被初始化为零。在一些示例中,pATC计数器904可以在个性化时或个性化之前被初始化,并且可以被配置为在每次NDEF读取时递增一。As described in this article, one or more MAC session keys can be derived using the lower two bytes of the pATC 904 counter. The pATC 904 is configured to be updated with each tap of the contactless card, and the card master keys Card-Key-AUTH 508 and Card-Key-DEK 920 are further diversified into session keys Aut-Session-Key 932 and DEK-Session-KEY 910. The pATC 904 can be initialized to zero at personalization or applet initialization time. In some examples, the pATC counter 904 can be initialized during or before personalization and can be configured to increment by one with each NDEF read.
此外,每张卡的更新可以是唯一的,并且或者通过个性化来分配,或者通过pUID或其他标识信息来算法分配。例如,奇数编号的卡可以递增或递减2,以及偶数编号的卡可以递增或递减5。在一些示例中,更新也可以在顺序读取中变化,使得一张卡可以按顺序递增1、3、5、2、2、…重复。特定顺序或算法顺序可以在个性化时定义,或者从源自唯一标识符的一个或多个过程定义。这会使重放攻击者更难从少量卡实例中进行概括。Furthermore, updates for each card can be unique and assigned either through personalization or algorithmically through pUID or other identifying information. For example, odd-numbered cards can increment or decrement by 2, and even-numbered cards can increment or decrement by 5. In some examples, updates can also vary during sequential reads, allowing a card to repeat in sequence: 1, 3, 5, 2, 2, ... . The specific order or algorithmic order can be defined during personalization or from one or more processes derived from a unique identifier. This makes it more difficult for a replay attacker to generalize from a small number of card instances.
认证消息可以作为十六进制ASCII格式的文本NDEF记录的内容被递送。在一些示例中,可以仅包括认证数据和8字节随机数(后跟认证数据的MAC)。在一些示例中,随机数可以在密码A之前,并且可以是一个块长。在其他示例中,可以对随机数的长度没有限制。在进一步的示例中,总数据(即,随机数加上密码)可以是块大小的倍数。在这些示例中,可以添加附加的8字节块以匹配MAC算法产生的块。作为另一示例,如果所采用的算法使用16字节块,则该块大小的偶数倍数可以被使用,或者输出可以自动地或手动地被填充到该块大小的倍数。The authentication message can be delivered as the content of a hexadecimal ASCII formatted text NDEF record. In some examples, it may consist only of authentication data and an 8-byte random number (followed by the MAC for the authentication data). In some examples, the random number may precede the password A and can be a block length. In other examples, there may be no limit to the length of the random number. In further examples, the total data (i.e., the random number plus the password) may be a multiple of the block size. In these examples, an additional 8-byte block may be added to match the block generated by the MAC algorithm. As another example, if the algorithm used employs 16-byte blocks, even multiples of the block size may be used, or the output may be automatically or manually padded to multiples of the block size.
MAC可以通过功能密钥(AUT-Session-Key)932来执行。密码中指定的数据可以用javacard签名方法被处理:ALG_DES_MAC8_IS09797_1_M2_ALG3与EMV ARQC验证方法相关。用于该计算的密钥可以包括会话密钥AUT-Session-Key 932,如上面所解释的。如上面所解释的,计数器的低阶两个字节可以用于使一个或多个MAC会话密钥多样化。如下所述,AUT会话密钥932可以被用于MAC数据906,并且得到的数据或密码A914和随机数RND可以使用DEK-Session-Key 910被加密,以创建在消息中发送的密码B或输出918。MAC can be executed via the function key (AUT-Session-Key) 932. The data specified in the cipher can be processed using the Javacard signature method: ALG_DES_MAC8_IS09797_1_M2_ALG3, associated with the EMV ARQC authentication method. The key used for this calculation can include the session key AUT-Session-Key 932, as explained above. As explained above, the lower two bytes of the counter can be used to diversify one or more MAC session keys. As described below, the AUT session key 932 can be used for MAC data 906, and the resulting data or cipher A914 and random number RND can be encrypted using DEK-Session-Key 910 to create the cipher B or output 918 sent in the message.
在一些示例中,一个或多个HSM命令可以被处理用于解密,使得最后的16个(二进制,32个十六进制)字节可以包括使用CBC模式的3DES对称加密,其中随机数的零IV后跟MAC认证数据。用于该加密的密钥可以包括从Card-Key-DEK 920导出的会话密钥DEK-Session-Key 910。在这种情况下,会话密钥导出的ATC值是计数器pATC 904的最低有效字节。In some examples, one or more HSM commands can be processed for decryption, such that the final 16 bytes (binary, 32 hexadecimal) can include 3DES symmetric encryption using CBC mode, where a zero IV of a random number is followed by MAC authentication data. The key used for this encryption can include a session key DEK-Session-Key 910 derived from Card-Key-DEK 920. In this case, the ATC value derived from the session key is the least significant byte of the counter pATC 904.
下面的格式表示二进制版本的示例实施例。此外,在一些示例中,第一字节可以被设置为ASCII‘A’。The following format represents an example embodiment of the binary version. Furthermore, in some examples, the first byte may be set to ASCII 'A'.
下面显示了另一种示例性格式。在该示例中,标签可以以十六进制格式被编码。Another exemplary format is shown below. In this example, the label can be encoded in hexadecimal format.
接收到的消息的UID字段可以被提取,以从主密钥Iss-Key-AUTH 502和Iss-Key-DEK 926导出该特定卡的卡主密钥(Card-Key-Auth 908和Card-Key-DEK 920)。使用卡主密钥(Card-Key-Auth 508和Card-Key-DEK 920),接收到的消息的计数器(pATC)字段可以被用于导出该特定卡的会话密钥(Aut-Session-Key 932和DEK-Session-Key 910)。密码B918可以使用DEK-Session-Key被解密,该密钥产生密码A914和RND,并且RND可以被丢弃。UID字段可以被用于查找非接触式卡的共享秘密,该共享秘密与消息的Ver、UID和pATC字段一起,可以使用重新创建的Aut-Session-Key通过密码MAC被处理,以创建MAC输出,诸如MAC’。如果MAC’与密码A914相同,则这指示消息解密和MAC检查都已通过。然后pATC可以被读取以确定其是否有效。The UID field of the received message can be extracted to derive the card master key (Card-Key-Auth 908 and Card-Key-DEK 920) for that specific card from the master keys Iss-Key-AUTH 502 and Iss-Key-DEK 926. Using the card master keys (Card-Key-Auth 508 and Card-Key-DEK 920), the counter (pATC) field of the received message can be used to derive the session key (Aut-Session-Key 932 and DEK-Session-Key 910) for that specific card. Password B918 can be decrypted using DEK-Session-Key, which generates password A914 and RND, and RND can be discarded. The UID field can be used to look up the shared secret of the contactless card, which, along with the Ver, UID, and pATC fields of the message, can be processed using the recreated Aut-Session-Key via the password MAC to create a MAC output, such as MAC'. If the MAC' matches the password A914, this indicates that message decryption and MAC checks have both passed. The pATC can then be read to determine its validity.
在认证会话期间,一个或多个密码可以一个或多个应用生成。例如,一个或多个密码可以使用ISO 9797-1算法3用方法2填充经由一个或多个会话密钥(诸如Aut-Session-Key 932)被生成为3DES MAC。输入数据906可以采用以下形式:版本(2)、pUID(8)、pATC(4)、共享秘密(4)。在一些示例中,括号中的数字可以包括以字节为单位的长度。在一些示例中,共享秘密可以由一个或多个随机数生成器生成,该随机数生成器可以被配置为通过一个或多个安全过程来确保随机数是不可预测的。在一些示例中,共享秘密可以包括在认证服务已知的个性化时间注入卡中的随机4字节二进制数。在认证会话期间,可以不将共享秘密从一个或多个小应用程序提供给移动应用。方法2填充可以包括将强制0x’80’字节添加到输入数据的末尾,并且0x’00’字节可以被添加到结果数据的末尾,直到8字节边界。所得到的密码可以包括8个字节的长度。During the authentication session, one or more passwords can be generated by one or more applications. For example, one or more passwords can be generated as a 3DES MAC using ISO 9797-1 Algorithm 3 with Method 2 padding via one or more session keys (such as Aut-Session-Key 932). Input data 906 can take the form of: version (2), pUID (8), pATC (4), shared secret (4). In some examples, the numbers in parentheses can include a length in bytes. In some examples, the shared secret can be generated by one or more random number generators that can be configured to ensure that the random numbers are unpredictable through one or more security processes. In some examples, the shared secret can include a random 4-byte binary number from a personalized time-injected card known to the authentication service. During the authentication session, the shared secret may not be provided to the mobile application from one or more applets. Method 2 padding can include forcibly adding a 0x’80’ byte to the end of the input data, and a 0x’00’ byte can be added to the end of the resulting data up to an 8-byte boundary. The resulting password can include a length of 8 bytes.
在一些示例中,用MAC密码加密非共享随机数作为第一块的一个好处是,它在使用对称加密算法的CBC(块链)模式时充当初始化向量。这允许从块到块的“加扰”,而不必预先建立固定或动态IV。In some examples, one advantage of encrypting a non-shared random number as the first block using a MAC cipher is that it acts as an initialization vector when using the CBC (Block Chain) mode of a symmetric encryption algorithm. This allows for "scrambling" from block to block without having to pre-establish a fixed or dynamic IV.
通过包括应用交易计数器(pATC)作为包括在MAC密码中数据的一部分,认证服务可以被配置为确定清除数据中传达的值是否被篡改。此外,通过将版本包括在一个或多个密码中,攻击者很难有目的地歪曲应用版本,尝试降级密码解的强度。在一些示例中,pATC可以在零处开始,并且在每次一个或多个应用生成认证数据时被更新1。认证服务可以被配置为跟踪在认证会话期间使用的pATC。在一些示例中,当认证数据使用等于或低于认证服务接收到的先前值的pATC时,这可以被解释为尝试重放旧消息,并且经认证的消息可以被拒绝。在一些示例中,在pATC大于先前接收到的值的情况下,这可以被评估以确定其是否在可接受的范围或阈值内,并且如果其超过或在范围或阈值之外,则验证可以被视为失败或不可靠。在MAC操作912中,数据906通过MAC使用Aut-Session-Key 932被处理,以产生MAC输出(密码A)914,其被加密。By including the Application Transaction Counter (pATC) as part of the data included in the MAC cipher, the authentication service can be configured to determine whether the value conveyed in the clean data has been tampered with. Furthermore, by including the version in one or more ciphers, it becomes much harder for an attacker to intentionally distort the application version and attempt to weaken the strength of the cipher. In some examples, the pATC can start at zero and be updated by 1 each time one or more applications generate authentication data. The authentication service can be configured to track the pATC used during the authentication session. In some examples, when the authentication data uses a pATC equal to or less than a previously received value by the authentication service, this can be interpreted as an attempt to replay an old message, and the authenticated message can be rejected. In some examples, when the pATC is greater than a previously received value, this can be evaluated to determine if it is within an acceptable range or threshold, and if it exceeds or is outside the range or threshold, the verification can be considered a failure or unreliable. In MAC operation 912, data 906 is processed via MAC using Aut-Session-Key 932 to produce MAC output (cipher A) 914, which is encrypted.
为了提供附加的保护,防止暴露卡上密钥的暴力攻击,期望MAC密码914被密码化。在一些示例中,要被包括在密文中的数据或密码A914可以包括:随机数(8)、密码(8)。在一些示例中,括号中的数字可以包括以字节为单位的长度。在一些示例中,随机数可以由一个或多个随机数生成器生成,该随机数生成器可以被配置为通过一个或多个安全过程来确保随机数是不可预测的。用于密码化该数据的密钥可以包括会话密钥。例如,会话密钥可以包括DEK-Session-Key 910。在加密操作916中,数据或密码A914和RND使用DEK-Session-Key510被处理,以产生加密数据,密码B 918。数据914可以在密码块链接模式下使用3DES被密码化,以确保攻击者必须对所有密文进行任何攻击。作为非限制性示例,其他算法(诸如高级加密标准(Advanced Encryption Standard,AES))可以被使用。在一些示例中,0x’0000000000000000’的初始化向量可以被使用。试图暴力破解用于密码化该数据的密钥的任何攻击者都将无法确定何时正确的密钥被使用,因为正确解密的数据将由于其随机出现而与不正确解密的数据无法区分。To provide additional protection against brute-force attacks that expose the key on the card, it is expected that the MAC cipher 914 will be cryptographic. In some examples, the data or cipher A914 to be included in the ciphertext may include: a random number (8), a cipher (8). In some examples, the number in parentheses may include a length in bytes. In some examples, the random number may be generated by one or more random number generators that can be configured to ensure the random number is unpredictable through one or more secure processes. The key used to cryptographicate the data may include a session key. For example, the session key may include DEK-Session-Key 910. In encryption operation 916, the data or cipher A914 and RND are processed using DEK-Session-Key 910 to produce encrypted data, cipher B 918. The data 914 may be cryptographicated using 3DES in cipher block chaining mode to ensure that an attacker must perform any attack on all ciphertext. As a non-limiting example, other algorithms such as Advanced Encryption Standard (AES) may be used. In some examples, an initialization vector of 0x'0000000000000000' can be used. Any attacker attempting to brute-force the key used to cryptograph this data will be unable to determine when the correct key is used, because correctly decrypted data will be indistinguishable from incorrectly decrypted data due to its randomness.
为了使认证服务验证由一个或多个小应用程序提供的一个或多个密码,以下数据必须在认证会话期间从一个或多个小应用程序以明文被传达到移动设备:版本号,以确定所使用的密码方法和用于验证密码的消息格式,这使该方法能够在未来发生变化;pUID,以检索密码资产并导出卡密钥;以及pATC,以导出用于密码的会话密钥。In order for the authentication service to verify one or more passwords provided by one or more applets, the following data must be transmitted in plaintext from one or more applets to the mobile device during the authentication session: version number, to determine the cipher method used and the message format used to verify the password, which allows the method to change in the future; pUID, to retrieve the cipher asset and export the card key; and pATC, to export the session key used for the cipher.
图10示出了用于生成密码的方法1000。例如,在框1002处,网络简档记录ID(pNPR)和导出密钥索引(pDKI)可以被用于标识哪个发行方主密钥在用于认证的密码过程中使用。在一些示例中,该方法可以包括执行认证以在认证时检索非接触式卡的pNPR和pDKI的值。Figure 10 illustrates a method 1000 for generating a password. For example, at box 1002, the Network Profile Record ID (pNPR) and the Derived Key Index (pDKI) can be used to identify which issuer's master key is used in the password process for authentication. In some examples, the method may include performing authentication to retrieve the values of the contactless card's pNPR and pDKI during authentication.
在框1004处,发行方主密钥可以通过将它们与卡的唯一ID号(pUID)和一个或多个小应用程序(例如支付小应用程序)的PAN序列号(PSN)组合被多样化。At box 1004, the issuer master keys can be diversified by combining them with the card’s unique ID number (pUID) and the PAN serial number (PSN) of one or more applets (such as payment applets).
在框1006处,Card-Key-Auth和Card-Key-DEK(唯一卡密钥)可以通过使发行方主密钥多样化来创建,以生成会话密钥,该会话密钥可以被用于生成MAC密码。At box 1006, Card-Key-Auth and Card-Key-DEK (unique card key) can be created by diversifying the issuer's master key to generate a session key, which can be used to generate a MAC cipher.
在框1008处,用于生成密码并密码化一个或多个小应用程序中的数据的密钥可以包括基于卡唯一密钥(Card-Key-Auth和Card-Key-DEK)的框1030的会话密钥。在一些示例中,这些会话密钥可以由一个或多个小应用程序生成,并通过使用pATC导出,从而产生会话密钥Aut-Session-Key和DEK-Session-Key。At box 1008, the key used to generate the password and cryptographicate data in one or more applets may include the session key from box 1030 based on the card-unique key (Card-Key-Auth and Card-Key-DEK). In some examples, these session keys may be generated by one or more applets and exported using pATC to produce session keys Aut-Session-Key and DEK-Session-Key.
图11描绘了根据一个示例的示出密钥多样化的示例性过程1100。最初,发送方和接收方可以被提供有两个不同的主密钥。例如,第一主密钥可以包括数据加密主密钥,以及第二主密钥可以包含数据完整性主密钥。发送方具有计数器值(其可以在框1102处被更新)和其他数据(诸如要保护的数据),其可以安全地与接收方共享。Figure 11 illustrates an exemplary process 1100 of key diversification according to one example. Initially, the sender and receiver may be provided with two different master keys. For example, the first master key may include a data encryption master key, and the second master key may include a data integrity master key. The sender has a counter value (which may be updated at box 1102) and other data (such as the data to be protected), which can be securely shared with the receiver.
在框1104处,计数器值可以由发送方使用数据加密主密钥加密,以产生数据加密导出的会话密钥,并且计数器值也可以由发送方使用数据完整性主密钥加密,以产生数据完整性导出的会话密钥。在一些示例中,整个计数器值或计数器值的一部分可以在两次加密期间被使用。At box 1104, the counter value can be encrypted by the sender using the data encryption master key to generate a data encryption-derived session key, and the counter value can also be encrypted by the sender using the data integrity master key to generate a data integrity-derived session key. In some examples, the entire counter value or a portion of the counter value can be used during both encryption processes.
在一些示例中,计数器值可能未被加密。在这些示例中,计数器可以在发送方和接收方之间以明文被传输,即不加密。In some examples, the counter value may not be encrypted. In these examples, the counter may be transmitted between the sender and receiver in plaintext, i.e., without encryption.
在框1106处,要保护的数据由发送方使用数据完整性会话密钥和密码MAC算法通过密码MAC操作被处理。受保护的数据(包括明文和共享秘密)可以被用于使用会话密钥之一(AUT-Session-Key)来产生MAC。At box 1106, the data to be protected is processed by the sender using a data integrity session key and a cryptographic MAC algorithm via a cryptographic MAC operation. The protected data (including plaintext and shared secret) can be used to generate a MAC using one of the session keys (AUT-Session-Key).
在框1108处,要保护的数据可以由发送方结合对称加密算法使用数据加密导出的会话密钥来加密。在一些示例中,MAC与等量的随机数据组合,例如每个8字节长,以及然后使用第二会话密钥(DEK-Session-Key)加密。At box 1108, the data to be protected can be encrypted by the sender using a session key derived from data encryption in conjunction with a symmetric encryption algorithm. In some examples, the MAC is combined with an equal amount of random data, such as 8 bytes each, and then encrypted using a second session key (DEK-Session-Key).
在框1110处,加密的MAC被从发送方传输到接收方,具有足够的信息来识别附加的秘密信息(诸如共享秘密、主密钥等),用于验证密码。At box 1110, the encrypted MAC is transmitted from the sender to the receiver with enough information to identify the additional secret information (such as the shared secret, master key, etc.) used to verify the password.
在框1112处,接收方使用接收到的计数器值来从两个主密钥独立地导出两个导出的会话密钥,如上面所解释的。At box 1112, the receiver uses the received counter value to independently derive two derived session keys from the two master keys, as explained above.
在框1114处,数据加密导出的会话密钥结合对称解密操作被使用来解密受保护的数据。然后将发生对交换的数据的附加处理。在一些示例中,在MAC被提取之后,期望再现并匹配MAC。例如,当验证密码时,其可以使用适当生成的会话密钥被解密。受保护的数据可以被重建以进行验证。MAC操作可以使用适当生成的会话密钥被执行,以确定其是否与解密的MAC匹配。由于MAC操作是不可逆的过程,因此验证的唯一方法是尝试从源数据中重新创建它。At box 1114, the session key derived from data encryption, combined with a symmetric decryption operation, is used to decrypt the protected data. Further processing of the exchanged data then occurs. In some examples, after the MAC is extracted, it is expected that the MAC will be reconstructed and matched. For example, when verifying a password, it can be decrypted using an appropriately generated session key. The protected data can be reconstructed for verification. The MAC operation can be performed using an appropriately generated session key to determine if it matches the decrypted MAC. Because the MAC operation is an irreversible process, the only way to verify it is to attempt to recreate it from the source data.
在框1116处,数据完整性导出的会话密钥结合密码MAC操作被使用,以验证受保护的数据未被修改。At box 1116, the session key derived for data integrity is used in conjunction with the cipher MAC operation to verify that the protected data has not been modified.
本文描述的方法的一些示例可以有利地确认在满足以下条件时,确定成功的认证。首先,验证MAC的能力示出导出的会话密钥是正确的。只有当解密成功并产生正确的MAC值时,MAC才可能是正确的。成功的解密可以示出正确导出的加密密钥被用于解密加密的MAC。由于导出的会话密钥使用仅发送方(例如,传输设备)和接收方(例如,接收设备)已知的主密钥被创建,因此可以相信最初创建MAC并加密MAC的非接触式卡确实是真实的。此外,用于导出第一会话密钥和第二会话密钥的计数器值可以被示出为有效的,并且可以被用于执行认证操作。Some examples of the methods described herein can advantageously confirm successful authentication when the following conditions are met. First, the ability to verify the MAC indicates that the derived session key is correct. A MAC can only be considered correct if decryption is successful and produces the correct MAC value. Successful decryption indicates that the correctly derived encryption key was used to decrypt the encrypted MAC. Since the derived session key was created using a master key known only to the sender (e.g., the transmitting device) and the receiver (e.g., the receiving device), it can be believed that the contactless card that initially created and encrypted the MAC is indeed genuine. Furthermore, the counter values used to derive the first and second session keys can be shown to be valid and can be used to perform the authentication operation.
此后,两个导出的会话密钥可以被丢弃,并且数据交换的下一次迭代将更新计数器值(返回到框1102处),并且新的一组会话密钥可以被创建(在框1110处)。在一些示例中,组合的随机数据可以被丢弃。After this, the two derived session keys can be discarded, and the next iteration of the data exchange will update the counter value (returning to box 1102), and a new set of session keys can be created (at box 1110). In some examples, the combined random data can be discarded.
图12示出了根据示例实施例的用于卡激活的方法800。例如,卡激活可以由包括卡、设备和一个或多个服务器的系统来完成。非接触式卡、设备和一个或多个服务器可以参考是先前解释的诸如非接触式卡100、客户端设备702和服务器的相同或相似的组件。Figure 12 illustrates a method 800 for card activation according to an example embodiment. For example, card activation can be performed by a system including a card, a device, and one or more servers. The contactless card, device, and one or more servers may refer to the same or similar components previously explained, such as contactless card 100, client device 702, and server.
在框1202中,卡可以被配置为动态生成数据。在一些示例中,该数据可以包括诸如账号、卡标识符、卡验证值或电话号码的信息,这些信息可以从卡被传输到设备。在一些示例中,数据的一个或多个部分可以经由本文公开的系统和方法被加密。In box 1202, the card can be configured to dynamically generate data. In some examples, this data may include information such as an account number, card identifier, card verification value, or phone number, which can be transmitted from the card to the device. In some examples, one or more portions of the data may be encrypted using the systems and methods disclosed herein.
在框1204中,动态生成的数据的一个或多个部分可以经由NFC或其他无线通信被通信到设备的应用。例如,卡靠近设备的轻敲可以允许设备的应用读取与非接触式卡相关联的数据的一个或多个部分。在一些示例中,如果设备不包括帮助激活卡的应用,则卡的轻敲可以引导设备或提示客户到软件应用商店下载相关联的应用以激活卡。在一些示例中,用户可以被提示朝向设备的表面充分地手势、放置或定向卡,诸如以一定角度或平坦地放置在设备的表面上、附近或邻近。响应于卡的充分的手势、放置和/或定向,设备可以继续将从卡接收到的数据的一个或多个加密部分传输到一个或多个服务器。In box 1204, one or more portions of dynamically generated data can be communicated to the device's application via NFC or other wireless communications. For example, tapping the card near the device can allow the device's application to read one or more portions of the data associated with the contactless card. In some examples, if the device does not include an application to help activate the card, tapping the card can guide the device or prompt the customer to download the associated application from an app store to activate the card. In some examples, the user can be prompted to gesture, place, or orient the card towards the surface of the device, such as placing it at an angle or flat on the surface of the device, nearby, or adjacent to it. In response to the card's gesture, placement, and/or orientation, the device can proceed to transmit one or more encrypted portions of the data received from the card to one or more servers.
在框1206中,数据的一个或多个部分可以被通信到一个或多个服务器,诸如发行方服务器。例如,数据的一个或多个加密部分可以从设备被传输到卡发行方服务器,用于激活卡。In box 1206, one or more portions of the data can be communicated to one or more servers, such as an issuer server. For example, one or more encrypted portions of the data can be transmitted from the device to the card issuer server for card activation.
在框1208中,一个或多个服务器可以经由本文公开的系统和方法解密数据的一个或多个加密部分。例如,一个或多个服务器可以从设备接收加密的数据,并且可以解密它,以便将接收到的数据与一个或多个服务器可访问的记录数据进行比较。如果由一个或多个服务器对数据的一个或多个解密部分的结果比较产生了成功的匹配,则卡可以被激活。如果由一个或多个服务器对数据的一个或多个解密部分的结果比较产生不成功的匹配,则可能发生一个或多个过程。例如,响应于不成功匹配的确定,用户可以被提示再次轻敲、滑动或挥动示意卡。在这种情况下,可能存在预先确定的阈值,包括用户被允许激活卡的尝试次数。可替代地,用户可以接收通知,诸如他或她的设备上指示卡验证的不成功的尝试的消息,并且向相关联的服务呼叫、发电子邮件或发短信以获得帮助来激活卡,或者另一通知,诸如在他或她的设备上指示卡验证的不成功的尝试的电话呼叫,并且向相关联的服务呼叫、发电子邮件或发短信以获得帮助来激活卡,或者另一通知,诸如指示卡验证的不成功的尝试的电子邮件,并且向相关联的服务呼叫、发电子邮件或发短信以获得帮助来激活卡。In box 1208, one or more servers may decrypt one or more encrypted portions of data via the systems and methods disclosed herein. For example, one or more servers may receive encrypted data from a device and may decrypt it to compare the received data with record data accessible to one or more servers. If a successful match is found by the comparison of one or more decrypted portions of the data by one or more servers, the card may be activated. If an unsuccessful match is found by the comparison of one or more decrypted portions of the data by one or more servers, one or more procedures may occur. For example, in response to the determination of an unsuccessful match, the user may be prompted to tap, swipe, or wave the card again. In this case, there may be predetermined thresholds, including the number of attempts the user is allowed to activate the card. Alternatively, the user may receive a notification, such as a message on his or her device indicating an unsuccessful attempt at card verification, and call, email, or text message the associated service for assistance in activating the card, or another notification, such as a telephone call on his or her device indicating an unsuccessful attempt at card verification, and call, email, or text message the associated service for assistance in activating the card, or another notification, such as an email indicating an unsuccessful attempt at card verification, and call, email, or text message the associated service for assistance in activating the card.
在框1210中,一个或多个服务器可以基于卡的成功激活来传输返回消息。例如,该设备可以被配置为从一个或多个服务器接收输出,该输出指示由一个或多个服务器成功激活卡。设备可以被配置为显示指示卡的成功激活的消息。一旦卡已被激活,卡可以被配置为停止动态生成数据,以避免欺诈性使用。以这种方式,此后卡可以不被激活,并且一个或多个服务器被通知卡已经被激活。In box 1210, one or more servers can transmit a return message based on successful card activation. For example, the device can be configured to receive output from one or more servers indicating that the card has been successfully activated by one or more servers. The device can be configured to display a message indicating successful card activation. Once the card has been activated, it can be configured to stop dynamically generating data to prevent fraudulent use. In this way, the card may not be activated thereafter, and one or more servers will be notified that the card has been activated.
Claims (20)
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/235,112 | 2021-04-20 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| HK40096902A true HK40096902A (en) | 2024-03-01 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11935035B2 (en) | Techniques to utilize resource locators by a contactless card to perform a sequence of operations | |
| CN113168747B (en) | System and method for password authentication of contactless cards | |
| KR102825432B1 (en) | System and method for cryptographic authentication of contactless cards | |
| CA3216450A1 (en) | Systems and techniques to utilize an active link in a uniform resource locator to perform a money exchange | |
| CN112639854B (en) | System and method for password authentication of contactless card | |
| CN117396908A (en) | Methods, media and systems for applying displays to trading cards | |
| US12081582B2 (en) | Systems and methods for signaling an attack on contactless cards | |
| CN113168631A (en) | System and method for password authentication of contactless cards | |
| WO2020072694A1 (en) | Systems and methods for cryptographic authentication of contactless cards | |
| KR20210153592A (en) | System and method for contactless card reissuance | |
| HK40096902A (en) | Techniques to utilize resource locators by a contactless card to perform a sequence of operations | |
| CA3106454C (en) | Systems and methods for cryptographic authentication of contactless cards | |
| HK40126997A (en) | Systems and methods for cryptographic authentication of contactless cards | |
| HK40098674A (en) | Methods, mediums, and systems for applying a display to a transaction card | |
| HK40054656A (en) | Systems and methods for cryptographic authentication of contactless cards | |
| HK40053700A (en) | Systems and methods for cryptographic authentication of contactless cards | |
| HK40050830A (en) | Systems and methods for signaling a potential attack on contactless cards | |
| HK40054139B (en) | Systems and methods for cryptographic authentication of contactless cards | |
| HK40054655B (en) | Systems and methods for cryptographic authentication of contactless cards |