CN114556398A - 用于基于卡交易的架构、系统和方法 - Google Patents
用于基于卡交易的架构、系统和方法 Download PDFInfo
- Publication number
- CN114556398A CN114556398A CN202080054189.6A CN202080054189A CN114556398A CN 114556398 A CN114556398 A CN 114556398A CN 202080054189 A CN202080054189 A CN 202080054189A CN 114556398 A CN114556398 A CN 114556398A
- Authority
- CN
- China
- Prior art keywords
- server
- card
- transaction
- cluster
- card data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4018—Transaction verification using the card verification value [CVV] associated with the card
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/409—Device specific authentication in transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/42—Confirmation, e.g. check or permission by the legal debtor of payment
- G06Q20/425—Confirmation, e.g. check or permission by the legal debtor of payment using two different networks, one for transaction and one for security confirmation
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Networks & Wireless Communication (AREA)
- Cash Registers Or Receiving Machines (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
描述了一种用于处理商家和商家的顾客之间的交易的方法和设备。该方法可以包括通过从针对交易接收的卡数据生成交易中使用的卡的确定性标识符并加密所接收的卡数据,在入口服务器处生成初始交易消息。该方法还可以包括将初始交易消息从入口服务器提供到支付服务器。此外,该方法可以包括响应于交易的授权,由所述支付服务器更新初始交易消息和授权数据,至少部分地基于卡的确定性标识符来确定该交易的授权,并且将所更新的初始交易消息从支付服务器提供到出口服务器。该方法还可以包括将最终交易消息传送到授权系统,以用于基于卡数据处理在商家和顾客之间的交易。
Description
交叉引用
本PCT申请要求在2019年7月26日提交的申请号为16/523,528的美国非临时申请的权益,该申请通过整体引用方式并入本文。
背景技术
诸如杂货店、汽车服务、干洗服务等的商家向顾客收费提供他们的产品和服务。为了收集提供的产品或服务的费用,商家通常将输入要在销售点(POS)装置中收集的金额,POS装置将此数据传送到读卡器,并且读卡器将收集卡数据,诸如从信用卡、借记卡、礼品卡、电子利益或由顾客提供的其他支付工具收集的数据的Europay、MasterCard、Visa等。为了收集卡数据,读卡器读取卡的磁条或集成电路。然后,该卡数据由POS装置和/或读卡器使用以授权交易,例如使用与银行和/或卡提供商通信的支付处理系统的服务以批准和收取交易的商家的费用。这样的交易可以被称为持卡交易,因为商家使用的读卡器在销售时从消费者的卡收集数据。类似地,卡数据可以例如经由图形用户界面被输入到POS装置、移动应用、信息亭等中,而不从卡收集卡数据或在交易期间将卡呈现给商家代表。这样的交易被称为非持卡交易,因为卡数据没有被商家物理地收集或检查。
这些类型的基于卡交易中的任一种中的卡数据然后通常从读卡器、POS装置、商家应用程序等提供到使用诸如因特网的支付处理系统。风险通过传送卡数据而引入到这些交易中,即使在公共网络上加密,卡数据也可能被恶意行为者拦截。另外,在通信网络上,通过支付处理系统存储、使用和转发卡数据,诸如将卡数据的集合存储在存储库中并且进一步将卡数据传送到其他系统(例如,银行、卡提供商等),是可利用支付处理系统的面向公众的接口的弱点。
附图说明
根据下面给出的详细描述和各实施例的附图,将更全面地理解本公开,然而,本公开不应当被理解为限制本文描述和示出的实施例,而是仅用于解释和理解。
图1是用于商务平台服务器的基于卡交易的示例性系统的框图。
图2A是包括入口服务器的实例、支付服务器的实例和在交易期间提供网络通信的控制流的出口服务器的实例的商务平台的分布式架构的一个实施例的框图。
图2B-2F是用于入口服务器实例、支付服务器实例和出口服务器实例的分布式执行的不同架构的框图。
图3是通过入口服务器实例、支付服务器实例和出口服务器实例利用网络通信的控制流处理基于卡交易的一个实施例的框图。
图4是由用于基于卡交易的商务平台的入口服务器实例执行的过程的一个实施例。
图5是由用于基于卡交易的商务平台的支付服务器实例执行的过程的一个实施例。
图6是由用于基于卡的交易的商务平台的出口服务器实例执行的过程的一个实施例。
图7是用于通过在基于卡交易和其他交易期间使用的商务平台生成确定性卡标识符的过程的一个实施例。
图8是可用于支持本文讨论的系统和操作的计算机系统的一个实施例。
图9是可以用于支持本文讨论的系统和操作的读取器装置的一个实施例。
具体实施方式
在以下描述中,阐述了许多细节。然而,对于受益于本公开的本领域普通技术人员明显的是,可以在没有这些具体细节的情况下实践本文描述的实施例。在一些实例中,以框图形式而非详细地示出公知的结构和装置,以避免使本文描述的实施例模糊。
下面的详细描述的一些部分根据对计算机存储器内的数据位的操作的算法和符号表示来呈现。这些算法描述和表示是数据处理领域的技术人员用来最有效地将其工作的实质传达给本领域其他技术人员的手段。算法在这里并且通常被认为是导致期望结果的自洽的步骤序列。这些步骤是需要对物理量进行物理操纵的步骤。通常,尽管不是必须的,但是这些量采用能够被存储、传输、组合、比较和以其他方式操纵的电信号或磁信号的形式。主要出于常见用法的原因,已经证明将这些信号称为位、值、元素、符号、字符、项、数字等是方便的。
然而,应当记住,所有这些和类似的术语都与适当的物理量相关联,并且仅仅是应用于这些量的方便的标记。除非特别声明,否则从以下讨论中明显的是,应当理解,在整个说明书中,利用诸如“生成”、“提供”、“加密”、“解密”、“选择”、“执行”等术语的讨论指计算机系统或类似的电子计算装置的动作和过程,该计算机系统或类似的电子计算装置将表示为计算机系统的寄存器和存储器内的物理(例如,电子)量的数据操纵并转换成类似地表示为计算机系统存储器或寄存器或其他这样的信息存储、传输或显示装置内的物理量的其他数据。
本文中论述的实施例还可涉及用于执行本文中的操作的设备。该设备可以被专门构造用于所需目的,或者可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可以存储在计算机可读存储介质中,诸如但不限于包括软盘、光盘、CD-ROM和磁光盘的任意类型的盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡、或适于存储电子指令的任意类型的介质。
本文呈现的算法和显示并非固有地与任意特定计算机或其它设备相关。根据本文的教导,各种通用系统可以与程序一起使用,或者可以证明构造更专用的设备以执行所需的方法步骤是方便的。各种这些系统所需的结构将从下面的描述中出现。此外,本文讨论的实施例不是参考任意特定的编程语言来描述的。应当理解,可以使用各种编程语言来实现本文所描述的教导。
图1是用于商务平台服务器130的基于卡交易的示例性系统100的框图。
在一个实施例中,系统100包括一个或多个读取器装置115、一个或多个商家销售点(POS)装置120、一个或多个商家服务器140、一个或多个商务平台服务器130、以及一个或多个授权网络服务器150。在一个实施例中,商家POS装置120可以是计算装置,诸如智能电话、平板计算机、膝上型计算机、计算机化的或包括典型计算硬件的其他硬件装置,如图8所示。此外,商家POS装置120可以被配置为实现使得商家的雇员或代理能够诸如通过将卡数据输入到支付应用中而收集由商家提供的商品或服务的支付和完整交易的商家的支付应用。在实施例中,应用可以是由商家服务器140或其他计算机服务器(未示出)中的一个或多个服务的基于web的应用,以及能够在用户装置(例如,运行智能电话应用的智能电话、运行平板应用的平板等)上运行的基于web的应用。
此外,商家服务器140、授权网络服务器150和商务平台服务器130也是计算装置,诸如包括典型的计算硬件的服务器计算机、台式计算机等,如下面的图8所示。
另外,(一个或多个)读取器装置115也是计算机处理装置,其各自通过诸如蓝牙、Zigbee、WLAN等的无线通信链路或诸如LAN、WAN、以太网等的有线通信链路()与商家POS装置120中的一个通信地联接。
在实施例中,读取器装置115可以包括读卡器902(例如,集成电路或智能芯片读取器、磁条读取器、近场通信读取器等)、一个或多个处理器904、存储器906、用于建立本地或广域通信链路的网络接口908、和至少一个处理器908,以及通常与移动读取器装置(例如,密码键盘、显示屏、按钮、触摸板等)相关联的其他硬件组件,如图9所示。
在实施例中,读取器装置与可通信地联接的商家POS装置交互,以使用诸如使用卡数据的金融交易处理操作的商务平台服务器130的服务来执行交易。读取器装置115负责通过扫描支付卡110的磁条、读取集成电路等来收集消费者支付卡数据(例如,EMV卡数据、磁条数据或其他卡数据),以用于商家和商家的顾客之间的基于卡交易。一旦卡数据被读取器装置115读取,卡数据由读取器装置经由网络102提供到商务平台服务器130以用于执行一个或多个支付处理操作。在一个实施例中,这可以包括使用严格地控制通信流并提供卡数据保护的分布式架构对与交易相关联的一个或多个财务方面进行令牌化、授权和/或批准中的一个或多个,如本文更详细地讨论的。在其他实施例中,卡数据可以由商家POS装置收集,诸如通过将卡数据输入到商家POS装置120处的用户界面中。在其他实施例中,交易的卡数据可以由(一个或多个)商家服务器140诸如从移动应用接口、基于web的接口等接收,其中用户将他们的卡数据输入到接口中。
I
在实施例中,在(一个或多个)读取器装置115、(一个或多个)商家POS装置120和/或(一个或多个)商家服务器140和(一个或多个)商务平台服务器130之间建立通信,以用于以不暴露于任何商家系统(例如,(一个或多个)商家POS装置120和(一个或多个)商家服务器140)的方式处理任意接收到的卡数据,从而防止商家软件运行POS结账应用、移动应用、(一个或多个)商家服务器140等经历PCI符合性要求的范围。相反,在授权与(一个或多个)商务平台服务器130的风险评估系统的交易之后和/或在用(一个或多个)授权网络150(例如,卡品牌系统和发行银行系统)清算交易之后,由(一个或多个)商务平台服务器130生成令牌,并且由读取器装置115向处理交易的商家系统提供令牌。处理交易的商家系统然后可以使用授权交易的令牌以完成与顾客的交易,并且进一步将令牌提供到(一个或多个)商家服务器140,以用于随后在通过与(一个或多个)商务平台服务器130交互来获得由令牌识别的报酬中使用。使用利用商家POS装置的读取器装置的一个实施例在2018年6月4日提交的、申请号为15/997,416、名称为“管理集成支付环境”的美国专利申请中描述,其公开内容以引用方式全文并入本文。此外,用于使用商务平台的服务对交易进行令牌化的技术和系统的一个实施例在2017年11月28日发布的、专利号为9,830,596、名称为“用于商家站点与顾客的电子装置之间进行交易而不将支付信息暴露到商家站点的服务侧应用的方法”的美国专利中进行了描述,其公开内容以引用方式全文并入本文。
(一个或多个)读取器装置115、(一个或多个)商家POS装置120、(一个或多个)商家服务器140、(一个或多个)商务平台服务器130和(一个或多个)授权网络服务器150可以联接到网络102并且使用用于信息交换的任意标准协议彼此通信。然而,由于在基于卡金融交易期间交换的卡数据的敏感性质,在实施例中,(一个或多个)读取器装置115、(一个或多个)商家POS装置120、(一个或多个)商家服务器140、(一个或多个)商务平台服务器130和(一个或多个)授权网络服务器150可以使用用于诸如传输层安全(TLS)、安全套接字层(SSL)、安全外壳(SSH)等的信息的安全交换的协议如本文讨论的彼此通信。在实施例中,(一个或多个)读取器装置115、(一个或多个)商家POS装置120、(一个或多个)商家服务器140、(一个或多个)商务平台服务器130和(一个或多个)授权网络服务器150中的一个或多个可以在一个局域网(LAN)上运行,并且可以被并入到相同的物理或逻辑系统或不同的物理或逻辑系统中。可替代地,(一个或多个)读取器装置115、(一个或多个)商家POS装置120、(一个或多个)商家服务器140、(一个或多个)商务平台服务器130和(一个或多个)授权网络服务器150中的一个或多个可以驻留在不同的LAN、广域网、蜂窝电话网络等上,其可以经由互联网联接在一起,但是被防火墙、路由器和/或其他网络装置隔离。应当注意,可以使用各种其他网络配置,包括例如托管配置、分布式配置、集中式配置等。
在一个实施例中,商务平台服务器130的处理节点可驻留在单个服务器上,或分布在不同服务器中,经由公共网络(例如,因特网)或专用网络(例如,LAN)联接到其它装置。在实施例中,针对来自(一个或多个)读取器装置115、(一个或多个)商家POS装置120和/或(一个或多个)商家服务器140的交易,由(一个或多个)商务平台服务器130执行的多个商务平台系统被配置为响应于接收卡数据和其它数据(例如,用户标识符、PIN码、交易金额、商家标识符等)来执行基于卡交易支付处理中的离散阶段。在实施例中,如本文所讨论的,由(一个或多个)商务平台服务器130执行的不同商务平台系统可以包括用于接受基于新卡交易并且生成初始交易消息的入口系统(例如,入口服务器的实例),该初始交易消息包括用于交易的卡数据的加密版本和确定性卡标识符、用于基于风险评估来执行交易的初始授权并且然后使交易令牌化的支付系统(例如,支付服务器的实例)、以及用于解密经加密的卡数据并生成诸如ISO 8583消息的最终交易消息的出口系统(例如,出口服务器的实例),以用于与授权网络服务器150通信(例如,清除并提供与交易中使用的卡相关联的支付)。本文所讨论的,入口服务器、支付服务器和出口服务器中的每一个以及由每个执行以保护在服务器之间传达的卡数据的过程提供了分布式架构,该分布式架构强制执行严格的通信协议和流程以改善卡数据的商务平台数据保护,提高交易处理的效率,并且即使在服务器故障的情况下也提供用于保持交易处理的连续活动(例如,活动的活动)架构。
如将在本文中更详细地讨论的,加密和确定性识别技术、信息流控制和商务平台交易系统的分布可以在持卡、非持卡和使用基于网络的通信交换敏感顾客信息的其它类型的交易期间使用。
图2A是包括入口服务器的实例、支付服务器的实例和在基于卡交易期间提供网络通信的控制流的出口服务器的实例的商务平台的分布式架构200的一个实施例的框图。在实施例中,入口服务器实例212、支付服务器实例232和出口服务器实例252可以各自是由一个或多个计算机系统执行的应用程序、虚拟机、虚拟化服务器等,诸如在图2B-2F中示出并在下面更详细地讨论的一个或多个计算机系统集群。此外,尽管示出了入口服务器实例212、支付服务器实例232和出口服务器实例252中的每一个的仅一个,但是可以同时分布和执行入口服务器实例212、支付服务器实例232和出口服务器实例252中的每一个的多个,以提供本文所讨论的交易处理能力的连续可用性。
在实施例中,入口服务器实例212、支付服务器实例232和出口服务器实例252各自负责在商家与商家的顾客之间处理基于卡交易的不同阶段中执行操作。不同的阶段表示由入口服务器实例212,例如,从商家使用的读卡器、由商家分发的移动应用程序等,获取卡数据,并且然后以确定性方式混淆该卡数据,该卡数据可以在初始交易消息中传送到支付服务器实例232。然后,支付服务器实例232可以在初始交易消息中接收混淆的卡数据,如下面更详细地讨论的,其至少包括卡的确定性标识符和敏感卡数据的加密(例如,卡号、卡类型、卡安全码、个人识别号以及其他卡数据),并且然后执行在将卡数据发送到授权网络之前发生的各种过程,包括使交易令牌化、执行风险评估等。一旦完成,支付服务器实例232在将最终交易消息转发到用于清算或完成交易的一个或多个授权网络服务器(例如,银行和/或卡发行服务器)之前将初始交易消息发送到出口服务器实例252以用于解密敏感卡数据。
由入口服务器实例212、支付服务器实例232和出口服务器实例252执行的过程中的每一个与其它服务器实例分离且遵循卡数据的严格通信方向。这样的处理的分离使得每个服务器实例能够提供来自不需要的和潜在的恶意源的安全性。也就是说,支付服务器实例仅从入口服务器实例接收传入通信,并且出口服务器实例仅从支付服务器实例232接收传入通信。这至少用于两个目的,诸如在入口服务器实例和出口服务器实例之间提供分离层,入口服务器实例通过公共网络与商家系统通信以用于执行交易,出口服务器实例不应当接收来自除支付服务器实例之外的任何系统的通信。可以阻止接收其他通信,特别是来自公共网络的那些通信,以防止对由出口服务器实例保存的敏感信息的不期望的访问。此外,出口服务器实例可以将加密形式的卡数据存储在卡保管数据存储器266中。通过将出口服务器实例与入口服务器实例分离并强制实施严格的通信流,敏感卡数据被尽可能远地从公共访问(例如,商家系统和公共网络访问)移除到如本文所讨论的卡保管库(card vault)和/或加密密钥。诸如实例化地理上分别靠近(一个或多个)商家系统290和(一个或多个)授权网络服务器280的入口服务器和出口服务器的实例的附加益处改善了这种系统之间的通信的延迟,这又增加了基于卡交易系统可以处理和清除交易的速度。
下面更详细地讨论由入口服务器实例212、支付服务器实例232和出口服务器实例252中的每一个执行的操作。
在实施例中,入口服务器实例212是由一个或多个计算机系统集群实例化并执行的多个入口服务器实例中的一个。在实施例中,在获取卡205的数据之前,入口服务器实例212接收并存储瞬时密钥数据存储器222中的一个或多个加密密钥。加密密钥可以包括与由出口服务器实例252瞬时密钥管理器256生成的私有非对称加密密钥相关联的一个或多个公共非对称加密密钥。在实施例中,入口服务器实例212周期性地接收更新的加密密钥,诸如每小时、每天、每周等,以限制加密密钥的时间有效性。因此,当入口服务器获取商家的顾客的卡205的卡数据时,诸如由与(一个或多个)商家系统290相关联的读卡器读取的卡数据时,加密引擎218在进入时加密敏感卡数据。
此外,在获取卡205的数据时,非敏感卡数据,诸如主账号(PAN),由入口服务器实例212的确定性卡ID生成器214使用以生成卡205的通用标识符。在实施例中,在本文中被称为卡的确定性标识符的通用标识符被生成,使得从确定性标识符不显示卡数据,并且其他实体(例如,出口服务器实例252、其他可信商务平台系统(未示出)等)可以从非敏感卡数据重新生成确定性标识符。此外,不显示敏感卡数据的确定性标识符可以用作用于过程的标识符,诸如由支付服务器实例232执行的风险评估和令牌化,以及由出口服务器实例252执行的卡保管,下面将更详细地讨论。
在一个实施例中,确定性卡ID生成器214利用盐选择器以从由确定性卡ID生成器214保存的大表密码盐中选择密码盐(例如,用作单向函数中的附加输入的随机数据,诸如破坏性散列函数)。密码盐的表可以被预生成并包括在实例化/启动时的入口服务器实例、支付服务器实例和出口服务器实例中的每一个中。然后,PAN可以被提供为盐选择器函数的输入,诸如随机地将PAN分布到盐的表的函数,以可重复地从表中选择密码盐。确定性卡ID生成器214然后使用卡的205PAN和选择的密码盐执行散列函数,例如计算fhash(PAN,fsalt(PAN)),以生成确定性标识符。可选地,可以采用递归和分布式散列函数,使得读卡器可以执行初始散列集合,诸如fh0→m(PAN,fsalt(PAN))=identifierinitial,并且确定性卡ID生成器214执行附加散列,诸如fhm→n(identifierinitial),其中m和n是大于0的预定整数。尽管以上描述了散列,但是不能从函数的输出重新生成输入(例如,PAN)的任意单向函数可以由确定性卡ID生成器214使用。另外,读取器装置可以可选地加密卡数据和/或确定性标识符以进一步混淆该数据,直到其进入可信入口服务器实例212,加密引擎218可以解密该数据以与本文的讨论一致使用。
入口交易引擎216使用确定性标识符和加密的卡数据以生成用于基于卡交易的初始交易消息。在一个实施例中,初始交易消息包括字符串,该字符串包括确定性卡标识符以及用于基于卡交易的其他数据。在一个实施例中,字符串可以至少包括:其中
<encoding_version>_<first6>_<last4>_<deterministic_identifier>_<encrypted_card_data>
其中first6表示卡数据,诸如主要工业标识符、发行者标识号、银行识别号等,last4包括验证和其他信息,确定性标识符如上所述生成,并且加密数据是使用瞬时加密密钥的加密敏感数据。在另一实施例中,可扩展对象,诸如:
可以在交易消息中使用。此外,以上讨论的对象可扩展为包括任意数量的卡数据和/或交易属性。
诸如卡网络、发行方、起源区域等的限定的属性可以包括在交易处理期间使用的数据(例如,以限定哪个授权网络服务器将交易转发到出口服务器实例252),以及选择交易处理优化,诸如在不同的出口实例之间进行选择,使得选择出口实例位于通过地理的相关位置处、由合法约束指定的位置处、接近授权网络服务器等。
入口交易引擎216然后例如使用安全通信协议(例如,TLS、SSL、SSH等)将初始交易消息传送到支付服务器实例232的中间交易引擎236。在实施例中,入口交易引擎216可以使用以上讨论的卡数据和附加交易数据在多个支付服务器实例之中进行选择,以例如选择与可能的出口服务器实例相关联的支付服务器实例,以用于与可能的出口服务器实例相关联的支付服务器实例之间的网络通信接近,以用于与卡类型、交易类型、银行等相关联的支付服务器实例,以用于负载平衡目的,以及可以用于选择支付服务器实例的其他因素。
在一个实施例中,支付服务器实例232利用风险评估管理器238基于诸如交易金额、交易发起位置等的交易因素使用为卡205生成的确定性标识符来执行风险评估。也就是说,风险评估管理器238利用确定性标识符来查阅其自己的风险评估系统或其他风险评估系统,以便不会无意地在支付服务器实例232之外提供卡数据。当风险评估管理器238确定交易可以继续时,令牌生成器240生成令牌(例如,作为交易的替代标识符的非敏感数据元素)。然后可以将令牌返回到入口服务器实例,入口服务器实例进而将令牌提供到(一个或多个)商家系统290。然而,令牌生成器240可以将令牌提供到(一个或多个)商务平台系统295的另一系统以将令牌传送到商家系统290。然后,当例如接收到交易已经被批准、接收用于清算交易的支付等时,商务平台和商家系统可以使用令牌来参考交易,其中交易令牌化在2017年11月28日发布的、专利号为9,830,596、名称为“用于在商家站点和顾客的电子装置之间进行交易而不将支付信息暴露到商家站点的服务器侧应用的方法”的美国专利中更详细地讨论,其公开内容以引用方式全文并入本文。如本文所讨论的,交易的令牌化和从读取器到入口服务器实例212的卡数据的传输根据PCI符合性要求移除(一个或多个)商家系统(例如,POS装置、收银机、奖励服务器、商家应用、基于商家web的接口等)。
然后,中间交易引擎236将初始交易消息可选地与在风险评估期间生成的授权数据一起转发到出口交易引擎258,再次利用安全通信协议。然后,加密引擎260可以访问密钥数据存储器262以定位适当的密钥(例如,基于发起交易的时间、确定性ID、用于加密卡数据的入口服务器实例的入口标识符等),以用于解密初始交易消息中的敏感数据。在一个实施例中,卡保管引擎264使用解密的卡数据,诸如全卡数据、卡安全码、卡上的名称等,以填充卡保管数据存储器266中的条目。在实施例中,卡保管数据存储器中的每个条目被加密,并且卡的确定性标识符(例如,从PAN生成)用于索引/访问加密的卡保管库中的条目。在实施例中,保管库被出口服务器实例252使用以存储信用卡信息,以例如增加遵循交易的效率、用于与卡205相关联的非持卡交易等。
在一个实施例中,出口交易引擎258进一步生成用于将交易信息传送到(一个或多个)授权网络服务器280(例如,发行银行和卡发行服务器)的最终交易消息。在一个实施例中,最终交易消息是使用ISO 8583协议的符合PCI的消息。当交易被授权网络服务器280授权/清除时,授权网络服务器280中的一个或多个可以将授权传送到商务平台系统295,商务平台系统295使用令牌来指示交易的清算/最终授权,向商家系统290提供报酬等。
在实施例中,入口服务器实例212、支付服务器实例232和出口服务器实例252遵循商家与商家的顾客之间的基于卡交易的严格数据流。严格的数据流将某些操作分开到入口服务器实例212、支付服务器实例232和出口服务器实例252中的每一个。此外,入口服务器实例212、支付服务器实例232和出口服务器实例252中的每一个利用交易消息和确定性标识符来执行它们各自的交易操作,以最小化不受保护形式的敏感卡数据的使用。另外,不需要使用本文讨论的数据流和处理技术来保存状态数据,并且因此入口服务器实例212、支付服务器实例232和出口服务器实例252中的每一个以无状态方式执行交易处理。此外,其中公共网络访问入口服务器实例212,支付服务器实例232仅从入口服务器实例212接收通信,出口服务器实例252仅接收来自支付服务器实例232的通信,并且出口服务器实例252将符合PCI的交易消息传送到授权网络、防止不想要的和可能恶意的网络流量进入服务器的网络控制的严格的数据流可以被强制执行。这对于从公共网络极大地移除并且仅从某些可信来源(例如,支付服务器实例)摄取某些流量以极大地增强对卡保管数据存储器中的敏感数据的保护的出口服务器实例尤其有益。
在实施例中,用于入口服务器实例212、支付服务器实例232和出口服务器实例252的不同分布式执行场景在图2B-2F中示出。通过利用上述加密和唯一的确定性卡标识符技术和通信流强制实施,在每个场景中维护敏感的卡数据安全。在一个实施例中,入口服务器实例212、支付服务器实例232和出口服务器实例252中的每一个可以在相同的计算系统集群内执行,如图2B所示,并且可以由该集群内的相同或不同的计算机系统执行。在另一实施例中,入口服务器实例212、支付服务器实例232和出口服务器实例252各自在计算机系统的不同集群中执行,如图2C所示。在又一实施例中,入口服务器实例212和支付服务器实例232可以在同一计算机系统集群中执行,而出口服务器实例252可以在不同的计算机系统集群中执行,如图2D所示。在又一实施例中,入口实例可以在计算机系统集群中执行,而出口服务器实例252和支付服务器实例两者在不同的计算机系统集群中执行,如图2E所示。在又一实施例中,入口服务器实例212和出口服务器实例252可以在同一计算机系统集群中执行,而支付服务器实例232可以在不同的计算机系统集群中执行,如图2F所示。
在实施例中,可以基于与例如商家系统290和/或授权网络服务器280的地理接近度来选择执行入口服务器实例212、支付服务器实例232和出口服务器实例252的不同集群。例如,如图2C所示,可以基于集群i与商家系统280之间的地理接近度来选择集群i以用于执行入口服务器实例212,而可以基于集群k与授权网络服务器280之间的地理接近度来选择集群k的出口服务器实例252以用于交易。诸如授权网络要求、法律约束、负载平衡、集群能力、集群的计算成本、网络诊断、预计可用性等的其它选择技术可以被使用以针对每个集群选择哪些(或哪个)计算机系统集群被选择、针对每个集群选择哪些服务器实例、以及每个服务器的多少实例被实例化。此外,因为本技术用于确保商务平台的服务的连续的(活动的活动)可用性,所以在图2B-2F中描述和图示的场景的任意组合可以基于商务平台和与其交互的商家和/或认证服务器的当前要求利用多个分布式入口服务器、支付服务器和出口服务器实例同时执行。
例如,入口服务器实例212可以由地理上接近商家系统290的计算机系统集群执行,以提高入口服务器实例212和商家系统290之间的通信速度,而出口服务器实例252可以由地理上接近授权网络服务器280的不同计算机系统集群执行,以提高出口服务器实例252与授权网络服务器280之间的通信速度。通过分发入口服务器实例、支付服务器实例和出口服务器实例中的每一个的多个,可以针对由商务平台服务器提供的支付处理来实现连续的(活动的活动)可用性,同时保持下文更详细地讨论的数据安全和控制的信息流。
图3是通过入口服务器实例、支付服务器实例和出口服务器实例处理具有受控网络通信流的基于卡的交易的一个实施例300的框图。方法300由处理逻辑执行,该处理逻辑可以包括硬件(电路、专用逻辑等)、软件(诸如在通用计算机系统或专用机器上运行)、固件或其组合。在一个实施例中,方法300由入口服务器、支付服务器和出口服务器(例如,在计算机系统集群的处理节点上执行的入口服务器实例212、支付服务器实例232和出口服务器实例252)的实例执行。
参照图3,处理逻辑开始于在入口服务器处接收商家和商家的顾客之间的交易的卡数据(处理框302)。在一个实施例中,交易是一种持卡交易,其中卡数据可以由商家使用的读卡器收集,其中读卡器将卡数据提供给入口服务器实例。在另一实施例中,交易可以是无卡交易,其中将用于交易的卡数据由商家系统接收,诸如来自卡数据的用户输入(例如,卡号、到期日期、卡上的名字、卡验证值等)。此外,如本文所讨论的,用于交易的附加数据,诸如交易金额、交易位置等可以由商家系统(例如,POS系统、商家应用程序等)提供,以用于处理交易。
入口服务器实例的处理逻辑生成具有确定性卡标识符和加密的卡数据的交易消息(处理框304)。确定性标识符是通过利用破坏性单向函数,诸如散列函数,由非敏感卡数据生成的标识符,诸如在交易中使用的卡的最后4位数字。此外,敏感卡数据在接收时由入口服务器实例的处理逻辑加密,使得敏感数据在入口服务器实例处不以未加密形式保持。在实施例中,来自非对称加密密钥对的瞬时公钥由处理逻辑用来加密敏感卡数据。非对称加密密钥对由出口服务器实例周期性地生成,并被提供给入口服务器实例,例如在入口服务器实例的启动时、以周期性消息传送等。
入口服务器实例的处理逻辑向支付服务器实例提供交易消息(处理框306)。在实施例中,安全通信协议可用于将消息从入口服务器实例传送到支付服务器实例。此外,支付服务器实例仅从入口服务器实例接收用于交易的通信,而不是例如从公共网络上的系统(例如,商家系统)接收通信。
支付服务器实例的处理逻辑使用确定性卡标识符来授权交易(处理框308)。授权可以包括利用确定性标识符来基于与交易相关联的因素(包括金额、位置等)来查询风险管理系统。当授权成功时,可以使该交易令牌化(处理框310),并且支付服务器实例的处理逻辑将交易消息连同来自风险评估的授权数据一起提供给出口服务器实例(处理框312)。同样,安全通信协议可用于将消息从支付服务器实例传送到出口服务器实例。此外,出口服务器实例仅从入口服务器实例接收用于交易的通信,而不是例如从公共网络上的系统(例如,商家系统)或从入口服务器接收通信。相反,严格的通信流程由处理逻辑来实施,以将出口服务器实例和在出口服务器实例处保存的数据移动远离公共网络。
出口服务器实例的处理逻辑解密经加密的卡数据以填充最终交易消息(处理框314)。在实施例中,处理逻辑基于事务的时间、入口服务器实例的标识、事务类型等中的一个或多个来选择多个瞬时私钥中的一个。在一个实施例中,最终交易消息是用于与授权网络服务器通信的符合PCI的消息,诸如ISO 8583消息。
然后,出口服务器实例的处理逻辑将最终交易消息与授权网络服务器(例如,银行服务器、卡发行服务器等)通信,以完成商家和顾客之间的交易(处理框316)。在实施例中,授权网络服务器将执行动作,诸如检查账户余额、信用限制等,作为完成交易的一部分。当完成时,商务平台系统然后通知商家,例如通过参考交易的令牌,交易的最终批准已被清除。
图4是由用于基于卡的交易的商务平台的入口服务器实例执行的过程400的一个实施例。方法400由处理逻辑执行,该处理逻辑可以包括硬件(电路、专用逻辑等),软件(诸如在通用计算机系统或专用机器上运行)、固件或其组合。在一个实施例中,方法400由入口服务器实例(例如,在计算机系统集群的处理节点上执行的入口服务器实例212)执行。
参照附图4,处理逻辑开始于周期性地接收瞬时加密密钥(处理框402)。在实施例中,密钥是公共非对称加密密钥,其中它们各自的私钥保存在一个或多个出口服务器实例。此外,可以每小时、每天、每周、开机时等接收新的瞬时加密密钥。另外,密钥可以特定于每个入口服务器实例、入口服务器的区域、计算机系统集群和在其上执行的入口服务器实例等。
处理逻辑从在商家和商家的顾客之间的基于卡的交易中使用的卡接收卡数据(处理框404)。如本文所讨论的,卡数据可以在持卡交易期间被接收(例如,卡数据可以由与商务平台相关联并且由商家使用的读卡器接收,以在交易时收集顾客的卡数据),或者在无卡交易期间(例如,在交易期间使用的卡数据被收集和/或从顾客接收,而不需要商家或者商家代表检查顾客的支付卡)。
处理逻辑使用卡数据生成确定性卡标识符(处理框406)。如上所述,可以使用破坏性散列函数、散列函数的集合、在读卡器与入口服务器实例之间分布的散列函数的集合、加密等来生成确定性卡标识符,利用卡的PAN和密码盐选择作为功能的输入。PAN不是敏感的卡数据,并且因此可以被诸如出口服务器实例的其他实体用于生成用于交易中使用的卡的确定性标识符。
在生成确定性卡标识符之后,使用所选择的瞬时加密密钥来加密敏感卡数据(处理框408)。可以基于与交易相关联的属性(卡类型、卡发行者等)、密钥有效期、入口区域、入口服务器实例标识符等来选择密钥。
然后,处理逻辑生成并向支付服务器实例提供至少包括加密的卡数据和确定性卡标识符的初始交易消息(处理框410)。在一个实施例中,可以使用安全通信协议、加密或以其他保护方式来发送消息。此外,入口服务器实例的处理逻辑仅向支付服务器实例发送交易消息,作为对通信流的控制和敏感的(尽管被混淆的/加密的)卡数据的分布。此外,在实施例中,特定支付服务器实例可以由处理逻辑基于交易属性、关于交易发起的地理属性、关于将完成交易的授权服务器的地理属性、法律要求等来选择。
图5是由商务平台的支付服务器针对基于卡的交易执行的过程500的一个实施例。方法500由处理逻辑执行,该处理逻辑可以包括硬件(电路、专用逻辑等),软件(诸如在通用计算机系统或专用机器上运行)、固件或其组合。在一个实施例中,方法500由支付服务器实例(例如,在计算机系统集群的处理节点上执行的支付服务器实例232)执行。
参照图5,处理逻辑开始于从入口服务器接收交易消息,该交易消息至少包括与商家和商家的顾客之间的基于卡的交易的加密的卡数据和与该加密的卡数据相关联的确定性卡标识符(处理框502)。该消息可以包括附加数据,诸如交易的发起区域、发行银行、卡类型、卡品牌等,以及交易的属性,诸如金额。
然后,处理逻辑使用确定性卡标识符执行风险评估(处理框504)。如本文所讨论的,交易数据由风险评估系统使用确定性卡标识符来分析,以在授权交易之前检测欺诈。当风险评估未检测到欺诈时,处理逻辑进一步生成交易的有限使用令牌(处理框506),其在实施例中被从支付服务器实例提供到商家(处理框508)。如本文所讨论的,令牌由商务平台和商家系统用作对交易的引用,而不需要包括卡数据,从而使得商家能够跟踪交易、接收报酬、操作奖励系统等,而不触犯PCI符合性规定。
然后,支付服务器实例的处理逻辑确定用于转发用于授权交易的交易消息的出口服务器实例(处理框510),并将交易消息转发到所选择的出口服务器实例(处理框512)。在实施例中,诸如授权网络服务器的地理、卡发行者/银行的地理等的因素可以用作在多个不同的出口服务器实例中选择用于完成商家和顾客之间的交易的因素。可以基于法律要求(例如,在为交易和/或卡指定的地理区域执行出口),以减少延迟(例如,由接近授权服务器的计算机系统集群执行出口)或任何其他选择标准来完成这些选择。此外,支付服务器实例的处理逻辑仅将交易消息传送到出口服务器,再次强制严格的通信流程以提供改进的通信安全性。
图6是由用于基于卡的交易的商务平台的出口服务器实例执行的过程600的一个实施例。方法600由处理逻辑执行,处理逻辑可以包括硬件(电路、专用逻辑等)、软件(诸如在通用计算机系统或专用机器上运行)、固件或其组合。在一个实施例中,方法600由出口服务器实例(例如,在计算机系统集群的处理节点上执行的出口服务器实例252)执行。
参照图6,处理逻辑开始于从支付服务器实例接收交易消息,所述交易消息至少包括用于商家和商家的顾客之间的基于卡的交易的加密的卡数据和与该加密的卡数据相关联的确定性卡标识符(处理框602)。如本文所讨论的,交易消息可以包括卡和交易元数据,诸如卡类型、发行方、交易金额、发起区域、风险评估授权、入口服务器实例标识符等。
在实施例中,处理逻辑利用交易消息中的数据来访问用于选择加密密钥的加密密钥数据存储器(处理框604)。例如,某些密钥被分发到某些入口服务器实例,并且因此入口服务器实例标识符被用于选择适当的私有非对称密钥以用于在所接收的交易消息中对加密的内容进行解密。类似地,交易消息中的时间数据可以用于确定用于选择适当的私有非对称密钥的密钥有效期,以用于解密接收到的交易消息中的加密内容。可以与本文的讨论一致地执行用于选择适当的解密密钥的其他因素。
处理逻辑在卡保管数据存储器中保管加密形式的卡数据,其中保管的卡数据与确定性卡标识符相关联(处理框608)。在实施例中,卡数据由出口服务器实例以安全/加密形式保存,并且可经由相关联的确定性卡标识符访问。通过保存卡数据,可以提高诸如在不同类型的交易(例如,无卡)的交易之后的后续交易的效率。
然后,处理逻辑生成并传输包括卡数据的金融交易卡发起的交换消息(处理框610)。在一个实施例中,消息是用于与授权网络服务器通信的符合PCI的ISO 8583消息或符合PCI的其他消息。在实施例中,如本文所讨论的,出口服务器实例仅从支付服务器实例接收交易通信,并且仅将交易消息传输到授权服务器。因此,使用本文所讨论的技术来再次限制和严格地控制交易消息流。此外,敏感数据被保护以免受公共网络上的设备的访问,因为不期望和/或不允许出口服务器的公共网络通信。
图7是用于在基于卡的交易和其他交易期间使用的商务平台生成确定性卡标识符的过程的一个实施例。方法700由处理逻辑执行,该处理逻辑可以包括硬件(电路、专用逻辑等)、软件(诸如在通用计算机系统或专用机器上运行)、固件或其组合。在一个实施例中,方法700由入口服务器实例(例如,在计算机系统集群的处理节点上执行的入口服务器实例212)执行。然而,诸如出口服务器或商务平台的其他系统的其他系统可以生成如本文所讨论的确定性卡标识符。
参照图7,处理逻辑开始于基于来自卡数据的主账号(PAN)从一组密码盐中选择密码盐(处理框702)。在实施例中,可以在持卡或者无卡交易期间收集包括PAN的卡数据。此外,如本文所讨论的,加密盐是在执行单向函数,诸如破坏性散列函数时用作附加数据的一组随机数据。在一个实施例中,PAN用于在可用盐中进行选择。
处理逻辑使用PAN和所选择的加密盐作为输入来执行至少一个散列函数(处理框704)。在一个实施例中,如本文所讨论的,一个或多个散列函数可以包括使用散列函数和盐选择函数来执行fhash(PAN,fsalt(PAN))以生成确定性标识符。在另一个实施例中,还可以使用递归散列技术,其中处理逻辑使用散列函数和盐选择函数来执行fh0→i(PAN,fsalt(PAN))以递归地执行递归散列运算。在又一个实施例中,可以采用递归和分布式散列函数,使得读卡器可以执行初始散列集合,诸如fh0→m(PAN,fsalt(PAN))=identifierinitial,并且处理逻辑执行附加散列,诸如fhm→n(identifierinitial),其中m和n是大于0的预定整数。尽管以上描述了散列,但是处理逻辑可以使用不能从函数的输出重新生成输入(例如,PAN)的任何单向函数。在实施例中,除了散列之外,还可以使用加密,包括读取器加密卡数据和/或分布式确定性标识符以进一步混淆该数据,直到其进入可信环境(例如,入口服务器实例)。
图8是可用于支持本文所讨论的系统和操作的计算机系统的一个实施例。然而,对于本领域的普通技术人员将显而易见的是,也可以使用各种系统架构的其他替代系统。
图8中所示的数据处理系统包括用于传送信息的总线或其它内部通信装置815,以及联接到总线815以用于处理信息的处理器810。该系统还包括联接到总线815的随机存取存储器(RAM)或其他易失性存储装置850(称为存储器),以存储要由处理器810执行的信息和指令。主存储器850还可用于在处理器810执行指令期间存储临时变量或其它中间信息。该系统还包括联接到总线815的只读存储器(ROM)和/或静态存储装置820,用于存储用于处理器810的静态信息和指令,以及数据存储装置825,诸如磁盘或光盘及其对应的磁盘驱动器。数据存储装置825联接到总线818以用于存储信息和指令。
所述系统可进一步联接到显示装置870,例如通过总线865联接到总线815以用于向计算机用户显示信息的发光二极管(LED)显示器或液晶显示器(LCD)。字母数字输入装置875(包括字母数字和其他键)也可以通过总线865联接到总线815,用于向处理器810传送信息和命令选择。附加用户输入设备是光标控制器880,诸如通过总线865联接到总线815的触摸板、鼠标、轨迹球、触笔或光标方向键,用于向处理器810传送方向信息和命令选择,并且用于控制显示装置870上的光标移动。
可选地联接到计算机系统800的另一装置是用于经由网络访问分布式系统的其他节点的通信装置890。通信装置890可以包括许多商务上可获得的联网外围装置中的任何装置,诸如用于联接到以太网、令牌环、因特网或广域网的装置。通信装置890还可以是零点调制解调器连接,或者提供计算机系统800和外部世界之间的连接的任何其他机制。注意,在图8中示出的该系统的任何或所有组件和相关联的硬件可以在如本文所讨论的各种实施例中使用。
对于本领域普通技术人员将显而易见的是,本文描述的系统、方法和过程可以实施为存储在主存储器或只读存储器中并且由处理器执行的软件。该控制逻辑或软件还可以驻留在包括非暂时性计算机可读介质的制品上,该非暂时性计算机可读介质具有体现在其中并且可由大容量存储装置读取并且用于使处理器根据本文的方法和教导操作的计算机可读程序代码。
本文所讨论的实施例还可以体现在包含上述计算机硬件组件的子集的手持式或便携式装置中。例如,手持装置可以是移动电话、平板计算机、专用计算机装置等,被配置成仅包含总线、处理器和存储器。手持装置还可以被配置为包括一组按钮或输入信令组件,用户可以通过该组按钮或输入信令组件从一组可用选项中进行选择。手持装置还可以被配置为包括输出设备,诸如用于向手持装置的用户显示信息的液晶显示器(LCD)或显示元件矩阵。可使用常规方法来实施此手持式装置。在给定的本文提供的公开内容的情况下,用于此类装置的实施例的实施方案对于本领域的技术人员将是显而易见的。
本文所讨论的实施例还可以体现在包括上述计算机硬件组件的子集的专用设备中。例如,该设备可以包括处理器、数据存储装置、总线和存储器,以及仅允许用户以基本方式与装置通信的基本通信机制,诸如小触摸屏。通常,装置越专用,则需要存在较少的元件以供装置起作用。
图9是读取器装置的一个实施例的框图。读取器装置900为本文所讨论的读取器装置(例如,读取器装置115)提供附加细节。读取器装置900的示例包括VerifoneTM PIN平板装置,诸如VX820、P400、P200,以及由Verifone和这种装置的其他制造商提供的其他PIN平板读取器装置。另外的示例读取器装置900包括移动读取器装置,诸如BBPOSTM ChipperTM,,以及由BBPOSTM和这样的装置的其他制造商提供的移动读取器装置。
在一个实施例中,读取器装置900是系统,其可以包括一个或多个处理器904、存储器906、网络接口908和读卡器902(例如,磁条读取器、芯片读取器等)的组合。读取器装置900还可以包括多个处理模块,其可以被实现为硬件、软件、固件或其组合。应当理解,尽管未示出,读取器装置900还可以包括用户接口(例如,键盘、触摸屏、按钮或类似的用户输入装置)、能量装置(例如,电池)以及通常与电子装置相关联的其他组件。读取器装置的网络接口908还可以联接到多个无线子系统(例如,蓝牙、Wi-Fi、蜂窝或其他网络),以通过去往/来自网络的无线链路来发送和接收数据流,或者可以是用于直接连接到网络(例如,互联网、以太网或其他无线系统)的有线接口。
存储器906可联接到读取器装置中的处理器904以存储供处理器执行的指令。在一些实施例中,存储器是非暂时性的。应当理解,如本文所述的实施例可以通过执行指令来实现,所述指令例如存储在存储器或其他元件中、由读取器装置的处理器和/或读取器装置的其他电路来实现。特别地,读取器装置的电路,包括但不限于处理器和读卡器,可以在程序、例程或执行根据本文描述的实施例的方法或过程的指令的控制下操作。例如,这样的程序可以以固件或软件(例如,存储在存储器和/或其他位置中)来实现,并且可以由诸如处理器和读卡器之类的处理器和/或读取器装置的其他电路来实现。此外,应当理解,术语处理器、微处理器、电路、控制器等可以指能够执行逻辑、命令、指令、软件、固件、功能等的任何类型的逻辑或电路。
本领域的普通技术人员将理解,根据特定实施方式,系统的任何配置可以用于各种目的。实施所描述的实施例的控制逻辑或软件可以本地或远程地存储在主存储器、大容量存储装置或其他存储介质中。
应当理解,以上描述旨在是说明性的而非限制性的。在阅读和理解以上描述后,许多其它实施例对于本领域的技术人员将是显而易见的。因此,范围应当参照所附权利要求以及这些权利要求所赋予的等同方案的全部范围来确定。
出于解释的目的,已经参考特定实施例描述了以上描述。然而,以上说明性讨论并不旨在穷举或将所描述的实施例限制为所公开的精确形式。鉴于上述教导,许多修改和变化是可能的。选择和描述实施例是为了最好地解释各种实施例的原理和实际应用,从而使得本领域的其他技术人员能够最好地利用具有各种修改的各种实施例,这些修改可以适合于预期的特定用途。
Claims (30)
1.一种用于处理商家和所述商家的顾客之间的交易的方法,所述方法包括:
通过从针对所述交易接收的卡数据生成所述交易中使用的卡的确定性标识符并加密所接收的卡数据,在入口服务器处生成初始交易消息;
将所述初始交易消息从所述入口服务器提供到支付服务器;
响应于所述交易的授权,由所述支付服务器更新所述初始交易消息和授权数据,至少部分地基于所述卡的所述确定性标识符来确定所述交易的授权;
将所更新的初始交易消息从所述支付服务器提供到出口服务器;
由所述出口服务器解密经加密的卡数据以填充最终交易消息;以及
将所述最终交易消息传送到授权系统,以用于基于所述卡数据处理所述商家和所述顾客之间的交易。
2.根据权利要求1所述的方法,其中所述卡数据从所述顾客获得,以用于所述商家和所述顾客之间的交易,并且所述卡数据没有以未加密的形式暴露于所述支付服务器。
3.根据权利要求1所述的方法,其中生成所述卡的所述确定性标识符包括:
由所述入口服务器基于所述卡数据从一组密码盐中选择密码盐;以及
由所述入口服务器对所选择的密码盐和所述卡数据执行至少一个散列函数以获得所述确定性标识符。
4.根据权利要求1所述的方法,其中加密所接收的卡数据进一步包括:
由所述入口服务器基于所述确定性标识符从提供到所述入口服务器的一组公钥私钥对中选择公钥;以及
由所述入口服务器使用所选择的公钥加密所述卡数据。
5.根据权利要求4所述的方法,其中解密经加密的卡数据进一步包括:
由所述出口服务器基于来自所述初始交易消息的所述卡的所述确定性标识符来选择与从所述一组公钥私钥对中可选择的公钥相关联的私钥;以及
由所述出口服务器解密所述经加密的卡数据,以用于填充所述最终交易消息。
6.根据权利要求4所述的方法,其中所述一组公钥私钥对是瞬时的并且由新的一组公钥私钥对周期性地替换。
7.根据权利要求1所述的方法,其中所述入口服务器是在计算机系统集群上执行的入口服务器的实例,所述支付服务器是在所述计算机系统集群上执行的支付服务器的实例,并且所述出口服务器是在所述计算机系统集群上执行的出口服务器的实例。
8.根据权利要求1所述的方法,其中所述入口服务器是在第一计算机系统集群上执行的入口服务器的实例,所述支付服务器是在第二计算机系统集群上执行的支付服务器的实例,并且所述出口服务器是在第三计算机系统集群上执行的出口服务器的实例,其中所述第一计算机系统集群、所述第二计算机系统集群和所述第三计算机系统集群在地理上分布。
9.根据权利要求8所述的方法,其中所述第一计算机系统集群在地理上接近所述商家的服务器计算机系统,并且其中所述第三计算机系统集群在地理上接近所述授权系统的服务器计算机系统。
10.根据权利要求9所述的方法,进一步包括:
由所述支付服务器的实例基于所述第三计算机系统集群与所述授权系统的服务器计算机系统之间的地理接近度来选择用于接收更新的初始交易消息的所述出口服务器的实例。
11.根据权利要求1所述的方法,其中所述交易是持卡交易。
12.根据权利要求11所述的方法,其中所述卡是芯片卡,并且所述卡数据通过所述商家的个人标识符码(PIN)平板装置的读卡器从所述卡的集成电路获取。
13.根据权利要求1所述的方法,其中在所述入口服务器与所述支付服务器之间交换的通信以及在所述支付服务器与所述出口服务器之间交换的通信通过使用加密通信链路被保护。
14.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质包括在由处理器执行时使得所述处理器执行用于处理商家和所述商家的顾客之间的交易的操作的执行,所述操作包括:
通过从针对所述交易接收的卡数据生成所述交易中使用的卡的确定性标识符并加密所接收的卡数据,在入口服务器处生成初始交易消息;
将所述初始交易消息从所述入口服务器提供到支付服务器;
响应于所述交易的授权,由所述支付服务器更新所述初始交易消息和授权数据,至少部分地基于所述卡的所述确定性标识符来确定所述交易的授权;
将所更新的初始交易消息从所述支付服务器提供到出口服务器;
由所述出口服务器解密经加密的卡数据以填充最终交易消息;以及
将所述最终交易消息传送到授权系统,以用于基于所述卡数据处理所述商家和所述顾客之间的交易。
15.根据权利要求14所述的非暂时性计算机可读存储介质,其中所述卡数据从所述顾客获得,以用于所述商家和所述顾客之间的交易,并且所述卡数据没有以未加密的形式暴露于所述支付服务器。
16.根据权利要求14所述的非暂时性计算机可读存储介质,其中生成所述卡的所述确定性标识符进一步包括以下操作:
由所述入口服务器基于所述卡数据从一组密码盐中选择密码盐;以及
由所述入口服务器对所选择的密码盐和所述卡数据执行至少一个散列函数以获得所述确定性标识符。
17.根据权利要求1所述的非暂时性计算机可读存储介质,其中加密所接收的卡数据进一步包括以下操作:
由所述入口服务器基于所述确定性标识符从提供到所述入口服务器的一组公钥私钥对中选择公钥;以及
由所述入口服务器使用所选择的公钥加密所述卡数据。
18.根据权利要求17所述的非暂时性计算机可读存储介质,其中解密经加密的卡数据进一步包括以下操作:
由所述出口服务器基于来自所述初始交易消息的所述卡的所述确定性标识符来选择与从所述一组公钥私钥对中可选择的公钥相关联的私钥;以及
由所述出口服务器解密所述经加密的卡数据,以用于填充所述最终交易消息。
19.根据权利要求17所述的非暂时性计算机可读存储介质,其中所述一组公钥私钥对是瞬时的并且由新的一组公钥私钥对周期性地替换。
20.根据权利要求14所述的非暂时性计算机可读存储介质,其中所述入口服务器是在计算机系统集群上执行的入口服务器的实例,所述支付服务器是在所述计算机系统集群上执行的支付服务器的实例,并且所述出口服务器是在所述计算机系统集群上执行的出口服务器的实例。
21.根据权利要求14所述的非暂时性计算机可读存储介质,其中所述入口服务器是在第一计算机系统集群上执行的入口服务器的实例,所述支付服务器是在第二计算机系统集群上执行的支付服务器的实例,并且所述出口服务器是在第三计算机系统集群上执行的出口服务器的实例,其中所述第一计算机系统集群、所述第二计算机系统集群和所述第三计算机系统集群在地理上分布。
22.根据权利要求21所述的非暂时性计算机可读存储介质,其中所述第一计算机系统集群在地理上接近所述商家的服务器计算机系统,并且其中所述第三计算机系统集群在地理上接近所述授权系统的服务器计算机系统。
23.根据权利要求22所述的非暂时性计算机可读存储介质,进一步包括以下操作:
由所述支付服务器的实例基于所述第三计算机系统集群与所述授权系统的服务器计算机系统之间的地理接近度来选择用于接收更新的初始交易消息的所述出口服务器的实例。
24.根据权利要求14所述的非暂时性计算机可读存储介质,其中所述交易是持卡交易。
25.根据权利要求24所述的非暂时性计算机可读存储介质,其中所述卡是芯片卡,并且所述卡数据通过所述商家的个人标识符号码(PIN)平板装置的读卡器从所述卡的集成电路获取。
26.根据权利要求14所述的非暂时性计算机可读存储介质,其中在所述入口服务器与所述支付服务器之间交换的通信以及在所述支付服务器和所述出口服务器之间交换的通信通过使用加密通信链路被保护。
27.一种系统,包括:
第一计算机系统集群,被配置为执行入口服务器以:通过从针对交易接收的卡数据生成所述交易中使用的卡的确定性标识符并加密所接收的卡数据,来生成初始交易消息,并且从所述入口服务器传输所述初始交易消息;
第二计算机系统集群,被配置为执行支付服务器以:从所述入口服务器接收所述初始交易消息,响应于所述交易的授权,更新所述初始交易消息和授权数据,并且从所述支付服务器传输所更新的初始交易消息,其中至少部分地基于所述卡的所述确定性标识符来确定所述交易的授权;以及
第三计算机系统集群,被配置为执行出口服务器以:从所述支付服务器接收所更新的初始交易消息,解密经加密的卡数据以填充最终交易消息,并且将所述最终交易消息传送到授权系统,以用于基于卡数据处理商家和顾客之间的交易。
28.根据权利要求27所述的系统,其中所述第一计算机系统集群、所述第二计算机系统集群和所述第三计算机系统集群是相同计算机系统集群的部分。
29.根据权利要求27所述的系统,其中所述第一计算机系统集群、所述第二计算机系统集群和所述第三计算机系统集群是不同的计算机系统集群。
30.根据权利要求29所述的系统,其中所述第一计算机系统集群在地理上接近所述商家的服务器计算机系统,并且其中所述第三计算机系统集群在地理上接近所述授权系统的服务器计算机系统,并且其中所述系统进一步包括:
所述第二计算机系统集群被配置为执行所述支付服务器以:基于所述第三计算机系统集群与所述授权系统的服务器计算机系统之间的地理接近度,在所述第三计算机系统集群选择用于接收更新的初始交易消息的所述出口服务器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/523,528 | 2019-07-26 | ||
US16/523,528 US11790372B2 (en) | 2019-07-26 | 2019-07-26 | Architectures, systems, and methods for card based transactions |
PCT/US2020/040380 WO2021021375A1 (en) | 2019-07-26 | 2020-06-30 | Architectures, systems, and methods for card based transactions |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114556398A true CN114556398A (zh) | 2022-05-27 |
Family
ID=74191348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080054189.6A Pending CN114556398A (zh) | 2019-07-26 | 2020-06-30 | 用于基于卡交易的架构、系统和方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US11790372B2 (zh) |
EP (1) | EP4004851A4 (zh) |
JP (1) | JP2022542494A (zh) |
CN (1) | CN114556398A (zh) |
AU (1) | AU2020323860A1 (zh) |
CA (1) | CA3148809A1 (zh) |
WO (1) | WO2021021375A1 (zh) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0823856B2 (ja) * | 1991-02-22 | 1996-03-06 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータシステムおよびその動作方法 |
US9355389B2 (en) | 2010-12-06 | 2016-05-31 | Voltage Security, Inc. | Purchase transaction system with encrypted payment card data |
US9830596B2 (en) | 2011-11-01 | 2017-11-28 | Stripe, Inc. | Method for conducting a transaction between a merchant site and a customer's electronic device without exposing payment information to a server-side application of the merchant site |
CN104838399B (zh) * | 2012-12-10 | 2019-08-27 | 维萨国际服务协会 | 使用移动设备认证远程交易 |
KR102255458B1 (ko) * | 2013-07-15 | 2021-05-25 | 비자 인터네셔널 서비스 어소시에이션 | 보안 원격 지불 거래 처리 |
GB2543892B (en) * | 2015-08-14 | 2019-03-06 | Ack Ventures Holdings Llc | System and method for improved identification of a mobile device |
US20170064032A1 (en) * | 2015-08-25 | 2017-03-02 | Ack Ventures Holdings, Llc | System and method for improved opt-out recognition for a mobile device |
US11429970B2 (en) | 2016-09-08 | 2022-08-30 | Stripe, Inc. | Managed integrated payment environment |
GB2599057B (en) | 2017-02-03 | 2022-09-21 | Worldpay Ltd | Terminal for conducting electronic transactions |
WO2019018212A1 (en) * | 2017-07-16 | 2019-01-24 | Mastercard International Incorporated | ENHANCED PROCESSING AND ROUTING METHOD AND SYSTEM OF TRANSACTIONS |
US10225289B1 (en) * | 2017-09-01 | 2019-03-05 | Arthur Oliver Tucker, IV | Anonymization overlay network for de-identification of event proximity data |
US20190205993A1 (en) * | 2017-12-29 | 2019-07-04 | The Beans | Transaction data categorizer system and method |
-
2019
- 2019-07-26 US US16/523,528 patent/US11790372B2/en active Active
-
2020
- 2020-06-30 CN CN202080054189.6A patent/CN114556398A/zh active Pending
- 2020-06-30 AU AU2020323860A patent/AU2020323860A1/en active Pending
- 2020-06-30 EP EP20847137.5A patent/EP4004851A4/en active Pending
- 2020-06-30 WO PCT/US2020/040380 patent/WO2021021375A1/en unknown
- 2020-06-30 JP JP2022531998A patent/JP2022542494A/ja active Pending
- 2020-06-30 CA CA3148809A patent/CA3148809A1/en active Pending
-
2023
- 2023-09-27 US US18/373,845 patent/US20240020702A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021021375A1 (en) | 2021-02-04 |
JP2022542494A (ja) | 2022-10-03 |
US11790372B2 (en) | 2023-10-17 |
EP4004851A1 (en) | 2022-06-01 |
US20210027301A1 (en) | 2021-01-28 |
EP4004851A4 (en) | 2023-08-23 |
US20240020702A1 (en) | 2024-01-18 |
CA3148809A1 (en) | 2021-02-04 |
AU2020323860A1 (en) | 2022-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11995649B2 (en) | Systems and methods for creating subtokens using primary tokens | |
US10511583B2 (en) | Hybrid integration of software development kit with secure execution environment | |
US11777937B2 (en) | Systems and methods for third-party interoperability in secure network transactions using tokenized data | |
CN106031207B (zh) | 用于向不带有安全元件的移动设备安全传送远程通知服务消息的方法及系统 | |
US9904919B2 (en) | Verification of portable consumer devices | |
RU2645593C2 (ru) | Верификация портативных потребительских устройств | |
CN106062799B (zh) | 用于对用户和不带有安全元件的移动设备进行安全认证的方法及系统 | |
US20170293915A1 (en) | Tokenization in Mobile Environments | |
CN106104605B (zh) | 用于在不带有安全元件的移动设备中生成高级存储密钥的方法及系统 | |
CN107925572A (zh) | 软件应用程序到通信装置的安全绑定 | |
CN107278307A (zh) | 软件层的相互认证 | |
CN107067251A (zh) | 使用具有地理上受限的非本地凭据的电子设备进行交易 | |
CN107111500A (zh) | 应用库的无线储备 | |
CN106462843A (zh) | 用于安全远程支付处理的主小应用程序 | |
CN107210912B (zh) | 对应用程序库的授权访问 | |
US20240020705A1 (en) | Systems and methods for end to end encryption utilizing a commerce platform for card not present transactions | |
US11663573B2 (en) | Systems and methods for reader device registration, use, and management | |
US11790372B2 (en) | Architectures, systems, and methods for card based transactions | |
Yang et al. | DOPS: A Practical Dual Offline Payment Scheme of CBDC for Mobile Devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |