CN109784913A - 用于安全地处理芯片卡的方法和装置 - Google Patents
用于安全地处理芯片卡的方法和装置 Download PDFInfo
- Publication number
- CN109784913A CN109784913A CN201811187488.8A CN201811187488A CN109784913A CN 109784913 A CN109784913 A CN 109784913A CN 201811187488 A CN201811187488 A CN 201811187488A CN 109784913 A CN109784913 A CN 109784913A
- Authority
- CN
- China
- Prior art keywords
- client device
- card
- chip
- client
- server
- 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
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/409—Device specific authentication in transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- 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/08—Payment architectures
- G06Q20/12—Payment architectures specially adapted for electronic shopping systems
-
- 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/08—Payment architectures
- G06Q20/20—Point-of-sale [POS] network systems
- G06Q20/204—Point-of-sale [POS] network systems comprising interface for record bearing medium or carrier for electronic funds transfer or payment credit
Abstract
公开了用于安全地处理芯片卡数据的方法、装置、系统和制品。一种方法包括:通过利用客户端设备的第一处理器执行指令,在客户端设备的网络客户端中提供应用编程接口(API);响应于在客户端设备处的网络客户端中检测到来自服务器的对于卡数据的查询,通过利用客户端设备的第一处理器执行指令来操作客户端设备处的网络客户端中的API,以便获得存储在芯片卡的芯片上的卡数据,该芯片卡能通信地耦合到客户端设备;以及通过利用客户端设备的第一处理器执行指令来将卡数据发送到服务器。
Description
技术领域
本公开总体上涉及芯片卡,并且更具体地涉及用于安全地处理芯片卡的方法和装置。
背景技术
近年来,人们越来越多地从他们的计算机、平板设备、智能电话等进行电子购物而不是访问实体零售商。在许多情况下,他们访问电子商务(又名电商)网站以进行这种购买。
附图说明
图1图示了根据本公开的、在其中芯片卡被安全地处理的示例环境。
图2图示了根据本公开的、在其中芯片卡被安全地处理的另一示例环境。
图3图示了根据本公开的、在其中芯片卡被安全地处理的又一示例环境。
图4是图1-图3的示例客户端的示例实现的框图。
图5是表示可以被实现为机器可读指令的示例过程的流程图,该机器可读指令可以被执行以便实现图1-图3的示例客户端。
图6是图1-图3的示例电子商务服务器的示例实现的框图。
图7是表示可以被实现为机器可读指令的示例过程的流程图,该机器可读指令可以被执行以便实现图1-图3的示例电子商务服务器。
图8是图1-图3的示例信用卡处理服务器的示例实现的框图。
图9是表示可以被实现为机器可读指令的示例过程的流程图,该机器可读指令可以被执行以便实现图1-图3的示例信用卡处理服务器。
图10图示了被构造为执行图5、图7和图9的示例机器可读指令以便实现图1-图3、图4、图6和图8的示例客户端、示例电子商务服务器以及示例信用卡处理服务器的示例处理器平台。
在可能的情况下,在整个附图和所附书面描述中将使用相同的附图标记来指代相同或相似的部件。所呈现的各个附图中示出的连接线、连接和连接器旨在表示各个元件之间的示例功能关系、实体耦合和/或逻辑耦合。
具体实施方式
如今,大多数电子商务交易(例如,使用网站、零售购物应用(例如,用于IOSTM设备的定制应用、ANDROIDTM设备等)进行的那些交易)涉及手动输入信用卡数据或信息(例如,帐号、有效期、验证码等)或自定义专有支付信息。由于手动输入信用卡数据,因此认为这些类型的交易更可能是欺诈性的。当前的电子商务交易还可能易受客户端设备上的本地恶意软件的攻击。
芯片卡是具有集成电路(IC)芯片或仅具有至少部分嵌入在安全地存储数据的卡中或卡上的芯片的任何材料(例如,塑料、纸板等)、形状或尺寸的卡(例如,信用卡)。在一些示例中,芯片卡实体地插入到具有芯片读取器的设备中,当芯片卡插入时,该芯片读取器与芯片的暴露的触点电接触。在一些示例中,可以使用例如射频识别(RFID)、近场通信(NFC)等技术在短距离上读取无线或非接触式卡。电可读卡和无线卡两者都可以与这里公开的示例一起使用。芯片卡有时也被称为智能支付卡、芯片和引脚卡、支持芯片的信用卡等。可以使用这里公开的示例来实现用于任何数量的应用的芯片卡。因此,以下公开内容将简单地引用芯片卡。此外,尽管这里公开的示例涉及信用卡数据,但是任何类型或数量的数据可以与本文公开的示例一起存储在芯片卡上。在一些示例中,芯片是EMV(欧陆卡(Europay)、万事达卡和维萨)芯片。
如今,芯片卡读取器被集成到由诸如零售商店、餐馆、办公室、售货亭、加油站等企业使用的专用销售点(POS)设备中。由个人购买、安装并维护这种专用的POS设备的成本和复杂性使得它们作为由个人用于个人使用的设备是不切实际的。本文公开的示例使得消费者个人使用芯片卡和芯片卡读取器具有成本效益和实用性。在所公开的示例中,容易获得的消费者设备(例如,计算机、智能电话、平板设备等)在网络浏览器中实现基于网络的应用编程接口(API),该应用编程接口将简单且消费者友好的芯片卡读取器与消费者设备集成在一起。通过允许使用实体芯片卡,这里公开的示例API提供了一种经由网络使用经过芯片验证的信用卡交易的简单且安全的方法。所公开的示例API允许信用卡处理器安全地验证信用卡数据,如同它们对卡实体上存在的传统交易(又称“有卡”交易)那样,从而消除与卡实体上不存在的交易(又称“无卡”交易)相关联的欺诈风险。所公开的示例API提供安全信道,以便经由大多数现代芯片信用卡中存在的硬件安全芯片来验证实体上存在的信用卡。
此外,在一些当前解决方案中,第三方在用户的客户端设备与商家(例如,电子商务服务器)和/或银行(例如,信用卡处理器)之间操作。这种中介或中间人解决方案要求终端用户、商家和银行用他们的机密或敏感数据信任第三方。此外,第三方可能不支持所有商家和银行,因此限制了第三方服务的使用。与此形成鲜明对比的是,这里公开的示例允许商家和银行与芯片卡上的芯片交互,从而避免了对第三方的参与的需求以及与第三方的参与相关联的风险。替代地,用户使用商家或银行自己的网站来支付商品,从而允许商家和银行控制用户体验和安全性。此外,因为所公开的基于网络的API允许商家和银行与芯片卡上的芯片交互,所以API提供了可在电子商务市场中容易、广泛且快速地实现的现成且开放的解决方案。
与当前专有支付系统相比,本文公开的基于网络的API提供了开放式解决方案,并且与手动卡号输入相比,经由NFC或读卡器的卡扫描改善了用户便利性。在一些示例中,基于网络的API触发客户端以及电子商务站点或信用卡处理器服务器上的安全代码执行域(又称安全飞地),这些安全代码执行域在客户端与电子商务站点或信用卡处理服务器之间建立端到端安全通信信道以便进一步加强安全性。在一些示例中,安全飞地和安全通信信道使信用卡处理器能够直接提供和/或验证个人的个人信息(姓名、电话号码、账单/送货地址等)。虽然这里参考示例网络浏览器,但是本文可以更一般地使用网络客户端、网络设备等的任何数量和/或(多个)类型的示例来实现所公开的基于网络的API。在一些示例中,网络客户端是在用户的客户端设备(例如,计算机、膝上型电脑、智能电话、平板设备等)上执行的应用(例如,程序、实用程序、进程等),其使用例如超文本传输协议(HTTP)、超文本传输协议安全(HTTPS)协议等通过网络(例如,因特网)与服务器(例如,电子商务服务器、信用卡处理服务器、网站服务器等)通信。示例网络客户端包括但不限于本文公开的网络浏览器。在一些示例中,网络设备是在其上执行网络客户端的设备。
现在将详细参考本公开的非限制性示例,其示例在所附附图中被图示出。以下通过参考附图描述实施例。
图1图示了根据本公开的示例环境100,其中具有芯片103的芯片卡102被安全地处理。在所图示的环境100中,用户104使用在客户端设备108上执行的网络浏览器106来与在电子商务服务器112上执行的网站(例如,电子商务站点110)交互。示例客户端设备108包括但不限于个人计算机、膝上型电脑、智能电话、平板设备等。示例网络浏览器106经由任何数量和/或(多个)类型的(多个)示例公共和/或专用网络113,或者更一般地,任何数量和/或(多个)类型的通信耦合来与电子商务站点110交互。
为了将芯片卡102的芯片103可通信地耦合到客户端设备108,与芯片卡102兼容的任何类型的示例读卡器114可通信地耦合到客户端设备108。示例芯片卡读取器114是消费者友好的(例如,销售零售等)并且经由诸如通用串行总线(USB)、近场通信(NFC)、等的消费者接口容易地安装到消费者设备。在一些示例中,芯片卡读取器114是客户端设备108的一部分。例如,内置于智能电话、笔记本电脑、平板设备等中的NFC传感器。在一些示例中,当芯片卡102插入到芯片卡读取器114中时,芯片卡读取器114可通信地耦合到芯片103。在一些示例中,当芯片卡102足够接近例如用于NFC通信时,芯片卡读取器114可通信地耦合到芯片103。
为了允许电子商务站点110与芯片103通信,示例网络浏览器106实现示例API116。图1的示例API 116呈现了到电子商务站点110的接口,其允许电子商务站点110与芯片103交互。例如,API 116提供由API 116代表电子商务站点110执行的一个或多个命令。所公开的示例API 116另外使得电子商务站点110能够向用户的网络浏览器106查询支持与芯片卡102上的芯片103通信的附接的读卡器114。在一些示例中,使用JAVASCRIPTTM来实现示例API 116、202(图2)和302(图3)。
在一些示例中,API 116、202、302使电子商务服务器112和/或信用卡处理服务器118能够向芯片卡102上的芯片103发送认证质询,作为质询-响应认证的一部分。API 116、202、302通过将从芯片103获得的相应的质询响应发送到站点112、118来进行响应。更一般地,API 116、202、302建立、设置(等等)芯片卡102上的芯片103与电子商务服务器112、信用卡处理服务器118和/或发行芯片卡102的银行/金融机构之间的安全通信信道。在一些示例中,API 116、202、302支持检取与用户相关联的附带信息,该附带信息来自芯片103本身或者存储在浏览器106中并基于特定卡的存在而解锁。所提供的信息可能基于所呈现的卡而不同。
当电子商务站点110需要例如用于交易的信用卡数据时,图1的示例电子商务站点110向示例API 116查询以便确定用户的网络浏览器106和硬件是否能够执行基于芯片的交易。如果能够执行,并且如果未检测到卡102(例如,尚未插入、尚未带到附近等),则提示用户将卡102插入到读卡器114中或将卡102带到读卡器114附近。一旦被插入或被带到附近,API 116就可以从卡102获得信用卡数据,并将信用卡数据提供给电子商务站点110。电子商务站点110使用所提供的信用卡数据来完成交易,并将该交易报告给芯片卡处理服务器,诸如信用卡处理服务器118(例如,Visa(维萨)、Mastercard(万事达)、Discover(发现)、American Express(美国运通)等)以用于支付。
在一些示例中,API 116在将信用卡数据发送到电子商务站点110之前验证芯片103和/或信用卡数据。在一些示例中,电子商务站点110执行对芯片103和/或信用卡数据的验证。例如,可以使用适用于过去、现在和/或将来的芯片卡的任何数量和/或(多个)类型的方法(诸如芯片和引脚、质询响应等)来执行验证。
图2图示了根据本公开的另一示例环境200,其中具有芯片103的示例芯片卡102被安全地处理。为了允许电子商务站点110与芯片103通信,示例网络浏览器106实现示例API202。图2的示例API 202呈现到电子商务站点110的接口,其允许电子商务站点110向用户的网络浏览器106查询支持与芯片卡102上的芯片103通信的附接的读卡器114。在一些示例中,API 202另外使电子商务站点110能够触发在客户端设备108处的安全飞地204的执行,该安全飞地204通过安全通信链路208与电子商务服务器112处的安全飞地206交互,API202通过穿过较不安全的链路(例如,不被飞地信任的链路)而安全地使通信链路隧道化,从而在安全飞地204、206之间建立该安全通信链路208。客户端设备108处的安全飞地204执行使得电子商务服务器112处的安全飞地206能够通过安全通信链路208安全地与芯片103进行交互的接口。在一些示例中,本文公开的安全飞地204、206、304和306(图3)使用软件保护扩展(SGX)来实现。在一些示例中,示例安全通信链路208和308(图3)是加密的通信链路。
在一些示例中,由安全飞地204(图2)、304(图3)提供的接口使得站点112、118处的安全飞地206(图2)、306(图3)能够向芯片卡102上的芯片103发出验证质询,作为质询-响应认证的一部分。安全飞地204、304通过将从芯片103获得的相应的质询响应发送到站点112、118来进行响应。在一些示例中,电子商务站点112上的安全飞地206向信用卡处理服务器118提供可由该信用卡处理服务器118验证的证明。
当电子商务站点110需要例如用于交易的信用卡数据时,图1的示例电子商务站点110向示例API 202查询以便确定用户的网络浏览器106和硬件是否能够执行基于芯片的交易。如果能够执行,并且如果卡102尚未插入或者尚未被带到附近,则提示用户将卡102插入到读卡器114中,或将其带到读卡器114附近等。一旦被插入或带到附近,则API 202发起客户端设备108处的安全飞地204。电子商务服务器112处的安全飞地206与客户端设备108处的安全飞地204交互以便从芯片103获得信用卡数据。电子商务站点110使用所获得的信用卡数据来完成交易,并将该交易报告给信用卡处理服务器(例如,Visa(维萨)、Mastercard(万事达)、Discover(发现)、American Express(美国运通)等)以用于支付。
在一些示例中,安全飞地204在将信用卡数据发送到安全飞地206之前验证芯片103和/或信用卡数据。在一些示例中,安全飞地206执行对芯片103和/或信用卡数据的验证。例如,可以使用适用于过去、现在和/或将来的芯片卡的任何数量和/或(多个)类型的方法(诸如芯片和引脚、质询响应等)来执行验证。
图3图示了根据本公开的另一示例环境300,其中具有芯片103的示例芯片卡102被安全地处理。为了允许电子商务站点110与芯片103通信,示例网络浏览器106实现示例API302。图3的示例API 302呈现到电子商务站点110的接口,其允许电子商务站点110向用户的网络浏览器106查询支持与芯片卡102上的芯片103通信的附接的读卡器114。示例API 302另外使电子商务站点110能够触发在客户端设备108处的示例安全飞地304的执行,该安全飞地304通过示例安全通信链路308与示例信用卡处理服务器118处的示例安全飞地306交互。客户端设备108处的安全飞地304执行使得信用卡处理服务器118处的安全飞地306能够通过安全通信链路308安全地与芯片103进行交互的接口。
当电子商务站点110需要例如用于交易的支付时,图3的示例电子商务站点110向示例API 302查询以便确定用户的网络浏览器106和硬件是否能够执行基于芯片的交易。如果能够执行,并且如果卡102尚未插入或者尚未被带到附近等,则提示用户将卡102插入到读卡器114,或将其带到读卡器114附近等。一旦被插入或被带到附近,则API 302发起客户端设备108处的安全飞地304。信用卡处理服务器118处的安全飞地306与客户端设备108处的安全飞地304交互以便从芯片103获得信用卡数据。如果信用卡处理服务器118授权向卡102收费以用于交易,则它通知电子商务站点110已经进行了支付。如果支付成功,则电子商务站点110完成该交易。在一些示例中,不实现安全飞地304和306,并且信用卡处理服务器118经由例如API 302、读卡器114的独立网络连接等来与芯片103通信。
在一些示例中,安全飞地304在将或信用卡数据发送到安全飞地306之前验证芯片103和/或信用卡数据。在一些示例中,安全飞地306执行对芯片103和/或信用卡数据的验证。例如,可以使用适用于过去、现在和/或将来的芯片卡的任何数量和/或(多个)类型的方法(诸如芯片和引脚、质询响应等)来执行验证。
在图示的图1-图3的示例中,通过API 116、安全飞地204和安全飞地304中的相应一个来传递芯片卡数据。然而,芯片卡数据能以其他方式和/或通过其他路径传递。例如,读卡器114可以具有独立于客户端108的网络连接的网络连接,其由客户端API 116、202、302编排和协调。在这样的示例中,读卡器114直接通过读卡器的独立网络连接与电子商务站点112和/或信用卡处理站点118进行通信,而不是通过客户端自身的网络连接进行对芯片卡数据进行隧道传输。
图4是图1-图3的示例客户端设备108的示例实现的框图。为了将图4的示例客户端设备108与示例读卡器114可通信地耦合,图4的示例客户端设备108包括任何数量和/或(多个)类型的(多个)示例设备接口402。示例设备接口402包括但不限于USB接口、NFC接口、蓝牙接口等。
为了使图4的示例客户端设备108与电子商务站点110和/或信用卡处理服务器118等可通信地耦合,图4的示例客户端设备108包括任何数量和/或(多个)类型的(多个)示例网络接口404。图4的(多个)示例网络接口404可以是例如任何类型的无线网络接口、有线网络接口、蜂窝网络接口、卫星网络接口等。在一些示例中,读卡器114经由(多个)网络接口404耦合到客户端设备108。
为了使图4的示例客户端设备108的软件组件406与读卡器114对接,图4的示例客户端设备108包括示例芯片卡设备驱动器408。图4的示例芯片卡设备驱动器408根据图4的客户端设备108的操作系统(未示出)和/或硬件架构来实现。
为了验证芯片卡102的芯片103和/或存储在其上的数据,图4的示例客户端设备108包括示例验证器410。图4的示例验证器410根据针对芯片103和/或存储在其上的数据的规范和/或标准来实现针对芯片103和/或存储在其上的数据的任何数量和/或(多个)类型的验证功能。
为了使用户能够与诸如示例电子商务站点110之类的网站412进行交互,图4的示例客户端设备108执行示例网络浏览器106。网站412通过例如电子商务服务器112被提供给网络浏览器106,并且在客户端设备108处呈现在网络浏览器106中。
为了使例如电子商务站点110和/或信用卡处理服务器118能够与芯片卡102的芯片103交互,示例网络浏览器106执行以上结合图1-图3讨论的示例API 116、202和302中的一个或多个。
在一些示例中,为了能够更加安全地处理存储在芯片卡上的信用卡数据,图4的示例客户端设备108执行示例安全飞地204和304中的一个或多个,在示例安全飞地204和304中的一个或多个中,例如可以执行API 116、202和302以及验证器410的全部或一部分。在一些示例中,客户端设备108不执行和/或不包括安全飞地204、304。在一些示例中,在运行时确定是否执行安全飞地204、304。在一些示例中,电子商务服务器112和/或信用卡处理服务器118确定安全飞地204、304是否是优选的(例如,如果安全飞地204、304不可用,则芯片卡数据的处理可以在没有安全飞地204、304的情况下继续进行),或是否需要安全飞地204、304以继续进行。
虽然图4图示了实现图1-图3的客户端设备108的示例方式,但图4所图示的元件、进程和/或设备中的一个或多个可以被组合、拆分、重新布置、省略、消除和/或以任何方式被实现。此外,图4的(多个)示例设备接口402、示例网络接口404、示例芯片卡设备驱动器408、示例验证器410、示例网络浏览器106、(多个)示例API 112、202和302、示例安全飞地204、304、和/或更一般地、示例客户端设备108可以通过硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因此,例如,(多个)示例设备接口402、示例网络接口404、示例芯片卡设备驱动器408、示例验证器410、示例网络浏览器106、(多个)示例API 112、202和302、示例安全飞地204、304、和/或更一般地、示例客户端设备108中的任何一个可以由一个或多个模拟或数字电路、逻辑电路、(多个)可编程处理器、(多个)可编程控制器、(多个)图形处理单元(GPU)、(多个)数字信号处理器(DSP)、(多个)专用集成电路(ASIC)、(多个)可编程逻辑器件(PLD)、(多个)现场可编程门阵列(FPGA)和/或(多个)现场可编程逻辑器件(FPLD)实现。当阅读本专利的装置权利要求或系统权利要求中的任何一个来涵盖纯软件和/或固件实现时,(多个)示例设备接口402、示例网络接口404、示例芯片卡设备驱动器408、示例验证器410、示例网络浏览器106、(多个)示例API 112、202和302、示例安全飞地204、304和/或示例客户端设备108中的至少一个在此明确限定为包括非瞬态计算机可读存储设备或存储盘,诸如存储器、数字通用盘(DVD)、光盘(CD)、蓝光盘等,其包括该软件和/或固件。此外,除了图4所图示的那些之外,或者作为图4所图示的那些的替代,图4的示例客户端设备108可以包括一个或多个元件、过程和/或设备,和/或可以包括任何或所有图示出的元件、过程和设备中的多于一个。
图5示出表示用于实现图1-图4的示例客户端设备108的示例机器可读指令的流程图。在本示例中,机器可读指令包括用于由处理器(诸如,结合图10在下文讨论的示例处理器平台1000中示出的处理器1010)执行的程序。虽然程序能具体化在存储于诸如CD、软盘、硬驱动器、DVD、蓝光盘或与处理器1010关联的存储器之类的非瞬态计算机可读存储介质上的软件中,但是全部程序和/或其部分可替代地由除处理器1010之外的设备执行,和/或具体化在固件或专用硬件中。此外,虽然参考图5所图示的流程图描述示例程序,但是可替代地使用实现示例客户端设备108的许多其他方法。例如,可改变框的执行次序,和/或可改变、消除或组合所描述的框中的一些框。另外,和/或替代地,任何或所有框可以由被构造成在不执行软件或固件的情况下执行相应的操作的一个或多个硬件电路(例如,分立的和/或集成的模拟和/或数字电路、FPGA、ASIC、比较器、运算放大器(op-amp)、逻辑电路等)来实现。
图5的示例程序开始于框502。在框502处,示例客户端设备108确定是否接收到对耦合到客户端设备108或作为客户端设备108的一部分的读卡器114的查询(框502)。例如,网络浏览器106为了与芯片卡相关联的命令而监视传入的网站数据。在一些示例中,与芯片卡相关联的基于网络的API命令被标准化并由芯片卡行业商定。如果接收到查询(框502),则API 116、202、302确定客户端设备108和服务器112、118是否支持安全飞地204、206、304、306(框504)。例如,对读卡器114的查询可以包括服务器112、118支持安全飞地的指示。如果安全飞地204、206、304、306被支持(框504),则API 202、302发起客户端设备108处的安全飞地204、304(框506)。例如,API 202、302使用INTEL SGX来发起安全飞地204、304。安全飞地204、304发起与服务器112、118处的安全飞地206、306的安全通信链路(框508)。例如,安全飞地204、304使用INTEL SGX发起安全通信链路。服务器112、118处的安全飞地206、306通过安全通信链路与客户端设备108处的安全飞地204、304交互,以便从芯片卡102的芯片103获得信用卡数据(框510)。控制返回到框502以等待对芯片卡读取器的另一查询。
返回到框504,如果API 116、202、302确定客户端设备108和服务器112、118两者都不支持安全飞地204、206、304、306(框504),则示例验证器410使用例如质询-响应事务来验证芯片103(框512)。在一些示例中,芯片103的验证被跳过,是任选的,或被省略,等等。例如,验证器410根据针对芯片103和/或存储在其上的数据的规范和/或标准来实现针对芯片103和/或其上存储的数据的任何数量和/或(多个)类型的验证功能。响应于从电子商务服务器112接收到的一个或多个命令,示例API 116、202、302从芯片卡102的芯片103获得信用卡数据,并且在一些示例中,验证所获得的芯片卡数据(框514)。例如,API 116、202、302根据针对芯片103的规范和/或标准来实现针对芯片103的任何数量和/或(多个)类型的数据访问功能。示例API 116、202、302将从芯片103获得的信用卡数据提供给服务器112、118(框516)。控制返回到框502以等待对芯片卡读取器的另一查询。
图6是图1-图3的示例电子商务服务器112的示例实现的框图。为了可通信地将图6的示例电子商务服务器112与示例客户端设备108、和/或示例信用卡处理服务器118等耦合,图6的示例电子商务服务器112包括任何数量和/或(多个)类型的(多个)示例网络接口602。图6的(多个)示例网络接口602可以是例如任何类型的无线网络接口、有线网络接口、蜂窝网络接口、卫星网络接口等。
为了验证芯片卡102的芯片103和/或存储在其上的数据,图6的示例电子商务服务器112包括示例验证器604。图6的示例验证器604根据针对芯片103和/或存储在其上的数据的规范和/或标准来实现针对芯片103和/或存储在其上的数据的任何数量和/或(多个)类型的验证功能。
为了提供(例如,服务)网站606,诸如示例电子商务站点110,图6的示例电子商务服务器112包括示例网络服务器608。(多个)网站606由网络服务器608被提供给例如客户端设备108,该(多个)网站606呈现在该客户端设备108的网络浏览器106中。
在一些示例中,为了能够更安全地处理存储在芯片卡上的信用卡数据,图6的示例电子商务服务器112包括示例安全飞地206,在该示例安全飞地206中,例如可以服务(多个)网站606的全部或一部分,和/或可以执行验证器604。在一些示例中,电子商务服务器112不执行和/或不包括安全飞地206。在一些示例中,在运行时确定是否执行安全飞地206。在一些示例中,电子商务服务器112可以要求客户端108执行安全飞地204。
虽然图6图示了实现图1-图3的电子商务服务器112的示例方式,但图6所图示的元件、进程和/或设备中的一个或多个可以被组合、拆分、重新布置、省略、消除和/或以任何方式被实现。此外,图6的示例网络接口602、示例验证器604、示例网络服务器608、示例安全飞地206、和/或更一般地、示例电子商务服务器112可以通过硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因此,例如,示例网络接口602、示例验证器604、示例网络服务器608、示例安全飞地206、和/或更一般地、示例电子商务服务器112中的任何一个可以由一个或多个模拟或数字电路、逻辑电路、(多个)可编程处理器、(多个)可编程控制器、(多个)GPU、(多个)DSP、(多个)ASIC、(多个)PLD、(多个)FPGA和/或(多个)FPLD实现。当阅读本专利的装置权利要求或系统权利要求中的任何一个来涵盖纯软件和/或固件实现时,示例网络接口602、示例验证器604、示例网络服务器608、示例安全飞地206、和/或示例电子商务服务器112中的至少一个在此明确限定为包括非瞬态计算机可读存储设备或存储盘,诸如存储器、DVD、CD、蓝光盘等,其包括该软件和/或固件。此外,除了图6所图示的那些之外,或者作为图6所图示的那些的替代,图6的示例电子商务服务器112可以包括一个或多个元件、过程和/或设备,和/或可以包括任何或所有图示出的元件、过程和设备中的多于一个。
图7示出表示用于实现图1-3和图6的示例电子商务服务器112的示例机器可读指令的流程图。在本示例中,机器可读指令包括用于由处理器(诸如,结合图10在下文讨论的示例处理器平台1000中示出的处理器1010)执行的程序。虽然程序能具体化在存储于诸如CD、软盘、硬驱动器、DVD、蓝光盘或与处理器1010关联的存储器之类的非瞬态计算机可读存储介质上的软件中,但是全部程序和/或其部分可替代地由除处理器1010之外的设备执行,和/或具体化在固件或专用硬件中。此外,虽然参考图7所图示的流程图描述示例程序,但是可替代地使用实现示例电子商务服务器112的许多其他方法。例如,可改变框的执行次序,和/或可改变、消除或组合所描述的框中的一些框。另外,和/或替代地,任何或所有框可以由被构造成在不执行软件或固件的情况下执行相应的操作的一个或多个硬件电路(例如,分离和/或集成的模拟和/或数字电路、FPGA、ASIC、比较器、运算放大器(op-amp)、逻辑电路等)来实现。
图7的示例程序开始于框702。在框702处,电子商务站点110检测到信用卡交易需要完成。例如,电子商务站点110检测电子商务站点110的用户104何时指示他们想要为商品付款。电子商务站点110向与用户104相关联的客户端设备108处的网络浏览器106的API116、202、302查询可通信地被耦合的芯片卡读取器114(框704)。例如,电子商务站点110访问网络浏览器106的API 116、202、302的功能。如果发现芯片卡读取器114(框706),则电子商务站点110查询API 116、202、302以便确定客户端设备108是否支持安全飞地204、304(框708)。如果客户端设备108不支持安全飞地204、304(框708),则验证器410经由API 116、202、302使用例如质询-响应事务来验证芯片卡102的芯片103(框710)。在一些示例中,对芯片103的验证被省略,被跳过,是任选的,等等。例如,图6的验证器604根据针对芯片103和/或存储在其上的数据的规范和/或标准来实现针对芯片103和/或其上存储的数据的任何数量和/或(多个)类型的验证功能。电子商务站点110经由API 116、202、302从芯片卡102的芯片103获得信用卡数据(例如,卡数据),并且在一些示例中,验证所获得的芯片卡数据(框712)。电子商务站点110使用获得的信用卡数据完成交易(框714),并将交易细节发送到信用卡处理服务器118以用于支付(框716)。控制返回到框702以等待要完成的另一交易。
返回到框708,如果客户端设备108支持安全飞地204、304(框708),则电子商务站点110发起电子商务服务器112处的安全飞地206或者信用卡处理服务器118处的安全飞地306(框718)。当发起安全飞地206时,验证器604经由API 116、202、302验证芯片卡102的芯片103(框710),或者如果芯片103不将被验证,则控制前进至框712。安全飞地206从芯片卡102的芯片103获得信用卡数据(框712),并且电子商务站点112使用由安全飞地206获得的信用卡数据完成交易(框714),并且将交易细节发送到信用卡处理服务器118以用于支付(框716)。控制返回到框702以等待要完成的另一交易。
或者,当发起安全飞地306时,信用卡处理服务器118使用由安全飞地306从芯片103获得的信用卡数据来完成交易(框714),并将支付成功的细节发送到电子商务站点110(框716)。控制返回到框702以等待要完成的另一交易。
返回到框706,如果未发现可通信地被耦合的芯片卡读取器114(框706),则电子商务站点110向网络浏览器106提供基于网络的手动界面,用户104可利用该基于网络的手动界面来提供(例如,手动输入)用于电子商务站点110的信用卡数据(框720)。电子商务站点110经由基于网络的手动界面从用户104获得信用卡数据(框712)。电子商务站点110使用从用户104手动获得的信用卡数据完成交易(框714),并将交易细节发送到信用卡处理服务器118以用于支付(框716)。控制返回到框702以等待要完成的另一交易。
图8是图1-图3的示例信用卡处理服务器118的示例实现的框图。为了可通信地将图8的示例信用卡处理服务器118与示例客户端设备108、和/或示例电子商务服务器112等耦合,图8的示例信用卡处理服务器118包括任何数量和/或(多个)类型的(多个)示例网络接口802。图8的(多个)示例网络接口802可以是例如任何类型的无线网络接口、有线网络接口、蜂窝网络接口、卫星网络接口等。
为了验证芯片卡102的芯片103和/或存储在其上的数据,图8的示例信用卡处理服务器118包括示例验证器804。图8的示例验证器804根据针对芯片103和/或存储在其上的数据的规范和/或标准来实现针对芯片103和/或存储在其上的数据的任何数量和/或(多个)类型的验证功能。
在一些示例中,为了能够对存储在芯片卡上的信用卡数据进行更安全的处理,图8的示例信用卡处理服务器118包括示例安全飞地306,在该示例安全飞地306中,例如可以执行示例交易处理器806和/或验证器604的全部或一部分。在一些示例中,信用卡处理服务器118不执行和/或不包括安全飞地306。在一些示例中,在运行时确定是否执行安全飞地306。在一些示例中,信用卡处理服务器118可以要求客户端108执行安全飞地304。
为了处理信用卡交易,图8的示例信用卡处理服务器118包括示例交易处理器806。
虽然图8图示了实现图1-图3的信用卡处理服务器118的示例方式,但图8所图示的元件、进程和/或设备中的一个或多个可以被组合、拆分、重新布置、省略、消除和/或以任何方式被实现。此外,图8的示例网络接口802、示例验证器804、示例安全飞地306、和/或更一般地、示例信用卡处理服务器118可以由硬件、软件、固件和/或硬件、软件和/或固件的任意组合实现。因此,例如,示例网络接口802、示例验证器804、示例安全飞地306、和/或更一般地、示例信用卡处理服务器118中的任何一个可以由一个或多个模拟或数字电路、逻辑电路、(多个)可编程处理器、(多个)可编程控制器、(多个)GPU、(多个)DSP、(多个)ASIC、(多个)PLD、(多个)FPGA和/或(多个)FPLD实现。当阅读本专利的装置权利要求或系统权利要求中的任何一个来涵盖纯软件和/或固件实现时,示例网络接口802、示例验证器804、示例安全飞地306、和/或更一般地、示例信用卡处理服务器118中的至少一个在此明确限定为包括非瞬态计算机可读存储设备或存储盘,诸如存储器、DVD、CD、蓝光盘等,其包括该软件和/或固件。此外,除了图8所图示的那些之外,或者作为图8所图示的那些的替代,图8的示例电子商务服务器112可以包括一个或多个元件、过程和/或设备,和/或可以包括任何或所有图示出的元件、过程和设备中的多于一个。
图9示出表示用于实现图1-3和图8的示例信用卡处理服务器118的示例机器可读指令的流程图。在本示例中,机器可读指令包括用于由处理器(诸如,结合图10在下文讨论的示例处理器平台1000中示出的处理器1010)执行的程序。虽然程序能具体化在存储于诸如CD、软盘、硬驱动器、DVD、蓝光盘或与处理器1010关联的存储器之类的非瞬态计算机可读存储介质上的软件中,但是全部程序和/或其部分可替代地由除处理器1010之外的设备执行,和/或具体化在固件或专用硬件中。此外,虽然参考图9所图示的流程图描述了示例程序,但是可替代地使用实现示例信用卡处理服务器118的许多其他方法。例如,可改变框的执行次序,和/或可改变、消除或组合所描述的框中的一些框。另外,和/或替代地,任何或所有框可以由被构造成在不执行软件或固件的情况下执行相应的操作的一个或多个硬件电路(例如,分立的和/或集成的模拟和/或数字电路、FPGA、ASIC、比较器、运算放大器(op-amp)、逻辑电路等)来实现。
图9的示例程序开始于框902。在框902处,信用卡处理服务器118确定是否接收到处理直接与芯片卡102进行的交易的请求(框902)。例如,信用卡处理服务器118确定电子商务站点110是否向信用卡处理服务器118指示将直接处理支付以进行交易。如果接收到直接处理交易的请求(框902),则信用卡处理服务器118使用例如INTEL SGX发起示例安全飞地306和安全通信链路(框904)。验证器804经由API 116、202、302使用例如质询-响应事务来验证芯片卡102的芯片103(框906)。在一些示例中,对芯片103的验证被跳过,被省略,是任选的,等等。安全飞地306从芯片卡102的芯片103获得信用卡数据,并且在一些示例中,验证所获得的芯片卡数据(框908),并且交易处理器806使用由安全飞地306获得的信用卡数据完成交易(框910),并且向电子商务站点110发送已支付通知(框912)。控制返回到框902以等待用于处理交易的另一请求。
如上文所提及,可使用存储于非瞬态计算机和/或机器可读介质上的经编码指令(例如,计算机和/或机器可读指令)实现图5、图7和图9的示例过程,非瞬态计算机和/或机器可读介质诸如硬盘驱动器、闪存、只读存储器、紧凑盘、数字多功能盘、高速缓存、随机存取存储器和/或在其中存储信息达任何持续时长(例如,达扩展时间段、永久地、对于简短的实例、对于临时缓冲和/或对于信息的高速缓冲)的任何其他存储设备或存储盘。如本文中所使用,术语“非瞬态计算机可读存储介质”被明确地定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播的信号以及排除传输介质。
图10是能够执行图5、图7和图9的指令以便实现图1-图4的客户端设备108、图1-图3和图6的电子商务服务器112、以及图1-图3和图8的信用卡处理服务器118的示例处理器平台1000的框图。处理器平台1000可以是例如服务器、个人计算机、工作站、移动设备(例如,蜂窝电话、智能电话、诸如IOSTM设备或ANDROIDTM设备之类的平板设备)、个人数字助理(PDA)、网际设备、游戏控制台、机顶盒或任何其他类型的计算设备。
所图示的示例的处理器平台1000包括处理器1010。所图示的示例的处理器1010是硬件。例如,处理器1010可以由来自任何所需要的家族或制造商的一个或多个集成电路、逻辑电路、微处理器、GPU、DSP或控制器实现。硬件处理器可以是基于半导体的(例如,硅基)器件。在该示例中,处理器实现安全飞地204、206、304和306、网络浏览器106、API 116、202和302、验证器410、604和804、芯片卡设备驱动器408、网络服务器608和交易处理器806。
所图示的示例的处理器1010包括本地存储器1012(例如,高速缓存)。所图示的示例的处理器1010经由总线1018与包括易失性存储器1014和非易失性存储器1016的主存储器通信。易失性存储器1014可由同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、动态随机存取存储器)和/或任何其他类型的随机存取存储器设备实现。非易失性存储器1016可由闪存和/或任何其他所期望类型的存储器设备实现。对主存储器1014、1016的访问由存储器控制器(未示出)控制。
所图示的示例的处理器平台1000还包括接口电路1020。接口电路1020可以由任何类型的接口标准实现,诸如以太网接口、通用串行总线(USB)接口、接口、近场通信(NFC)接口、和/或外围组件互连(PCI)快速接口。在此示例中,接口电路1020实现(多个)设备接口402。
在所图示的示例中,一个或多个输入设备1022被连接至接口电路1020。(多个)输入设备1022准许用户将数据和/或命令输入至处理器1010中。(多个)输入设备可以由例如音频传感器、麦克风、相机(静止的或视频)、键盘、按钮、鼠标、触屏、轨迹板、轨迹球、等点鼠标和/或语音识别系统实现。
一个或多个输出设备1024也被连接至所图示的示例的接口电路1020。输出设备1024可例如由显示设备(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器(LCD)、阴极射线管显示器(CRT)、面内切换(IPS)显示器、触摸屏等)、触觉输出设备、打印机和/或扬声器实现。因此,所图示的示例中的接口电路1020典型地包括图形驱动器卡、图形驱动器芯片和/或图形驱动器处理器。
所图示的示例的接口电路1020还包括诸如发射机、接收机、收发机、调制解调器、住宅网关和/或网络接口之类的通信设备,以便促进经由网络1026(例如,以太网连接、数字订户线路(DSL)、电话线、同轴电缆、蜂窝电话系统、Wi-Fi系统等)与外部机器(例如,任何种类的计算设备)交换数据。在Wi-Fi系统的一些示例中,接口电路1020包括射频(RF)模块、(多个)天线、放大器、滤波器、调制器等。在该示例中,接口电路1020实现示例网络接口404、602和802。
所图示的示例的处理器平台1000还包括用于存储软件和/或数据的一个或多个大容量存储设备1028。此类大容量存储设备1028的示例包括软盘驱动器、硬盘驱动器、CD驱动器、蓝光盘驱动器、冗余独立磁盘阵列(RAID)系统和DVD驱动器。
经编码的指令1032(包括图5、图7和图9的经编码的指令)可以被存储在大容量存储设备1028中被存储在易失性存储器1014中,被存储在非易失性存储器1016中,和/或被存储在诸如CD或DVD之类的可移除有形计算机可读存储介质中。
从前述内容可以理解,已经公开了示例方法、装置和制品,其改善了对于由不使用POS设备的人进行的购买的信用卡交易的安全性。从前述内容可以理解,已经公开了方法、装置和制品,其通过使计算机(例如,个人计算机、移动设备、游戏控制台等)能够向电子商务站点提供经由计算机的网络浏览器对耦合至计算机的芯片卡读取器的远程访问来增强计算机的操作。在一些示例中,通过使用安全飞地可以使计算机操作更安全。此外,本文公开的示例方法、装置和/或制品识别并克服现有技术中的限制,以便在人不使用POS设备时执行有卡交易。
本文公开了用于安全地处理芯片卡数据的示例方法、装置和制品。进一步的示例和其组合至少包括以下内容。
示例1是一种方法,包括:通过利用客户端设备的第一处理器执行指令,在所述客户端设备的网络客户端中提供应用编程接口(API);响应于在所述客户端设备处的所述网络客户端中检测到来自服务器的对于卡数据的查询,通过利用所述客户端设备的所述第一处理器执行指令来操作所述客户端设备处的所述网络客户端中的所述API以便获得存储在可通信地耦合到所述客户端设备的芯片卡的芯片上的所述卡数据;以及通过利用所述客户端设备的所述第一处理器执行指令来将所述卡数据发送到所述服务器。
示例2是示例1的方法,还包括:通过利用所述客户端设备的所述第一处理器执行指令来确定所述芯片卡是否可通信地耦合到所述客户端设备。
示例3是示例2的方法,还包括:当所述芯片卡不是可通信地耦合到所述客户端设备时,通过利用所述客户端设备的所述第一处理器执行指令在所述网络客户端中提示用户手动提供所述卡数据,所述提示由所述服务器提供。
示例4是示例2的方法,还包括:当所述芯片卡不是可通信地耦合到所述客户端设备时,通过利用所述客户端设备的所述第一处理器执行指令在所述网络客户端中提示用户将所述芯片卡可通信地耦合到所述客户端设备,所述提示由所述客户端设备的所述网络客户端中的所述API提供。
示例5是示例1的方法,还包括:通过利用所述客户端设备的所述第一处理器执行指令,提供用于可通信地耦合到所述客户端设备的所述读卡器的设备接口;以及通过利用所述客户端设备的所述第一处理器执行指令,通过经由所述设备接口与所述读卡器进行交互来从所述芯片卡获得所述卡数据。
示例6是示例1的方法,其中通过利用所述客户端设备的所述第一处理器执行指令来操作所述客户端设备处的所述网络客户端中的所述API以便从所述芯片卡的芯片获得所述卡数据包括:通过利用客户端设备的第二处理器执行指令来提供第一安全飞地,所述第一安全飞地用于将所述卡数据从所述客户端设备传送到所述服务器处的第二安全飞地。
示例7是示例6的方法,其中当所述第一安全飞地将所述卡数据从所述客户端设备传送到所述服务器处的所述第二安全飞地时,所述卡数据绕过所述第一处理器或所述网络客户端中的至少一个。
示例8是示例6的方法,其中所述第一安全飞地和所述第二安全飞地通过安全通信链路将所述卡数据从所述客户端设备发送到所述服务器。
示例9是示例8的方法,其中所述API通过不太安全的通信链路来使所述安全通信链路隧道化。
示例10是示例6的方法,其中所述客户端设备的所述第一处理器包括所述客户端设备的所述第二处理器。
示例11是示例1的方法,其中所述服务器包括电子商务站点。
示例12是示例1的方法,其中所述服务器包括芯片卡处理服务器。
示例13是一种客户端设备,包括:
处理器;以及非瞬态计算机可读存储介质,其存储指令,所述指令在被执行时使所述客户端设备:在所述客户端设备的网络客户端中提供应用编程接口(API);响应于在所述客户端设备的所述网络客户端中检测到来自服务器的对于卡数据的查询,操作所述客户端设备处的所述网络客户端中的所述API以便从可通信地耦合到所述客户端设备的芯片卡的芯片获得所述卡数据,所述卡数据存储在所述芯片上;以及将所述卡数据发送到所述服务器。
示例14是示例13的客户端设备,还包括:网络接口,所述网络接口用于接收所述查询并发送所述卡数据;以及设备接口,所述设备接口用于将芯片卡读取器可通信地耦合到所述客户端设备,所述芯片卡的所述芯片经由所述芯片卡读取器可通信地耦合到所述客户端设备。
示例15是示例13的客户端设备,其中当所述芯片卡不是可通信地耦合到所述客户端设备时,所述API在所述网络客户端中提供针对以下至少一项操作的提示:手动提供所述卡数据;或者将所述芯片卡耦合到所述芯片卡读取器。
示例16是示例13的客户端设备,其中所述指令在被执行时使所述客户端设备提供第一安全飞地,所述第一安全飞地将所述卡数据从所述客户端设备传送到所述服务器处的第二安全飞地。
示例17是示例13的客户端设备,还包括第二处理器以及存储指令的第二非瞬态计算机可读存储介质,所述指令在被执行时使得所述第二处理器执行第一安全飞地,所述第一安全飞地用于将所述卡数据从所述客户端设备传送到所述服务器处的第二安全飞地。
示例18是一种存储指令的非瞬态计算机可读存储介质,所述指令在被执行时使机器至少执行:通过利用客户端设备的第一处理器执行指令,在所述客户端设备的网络客户端中提供应用编程接口(API);响应于在所述客户端设备处的所述网络客户端中检测到来自服务器的对于卡数据的查询,通过利用所述客户端设备的所述第一处理器执行指令来操作所述客户端设备处的所述网络客户端中的所述API,以便获得存储在可通信地耦合到所述客户端设备的芯片卡的芯片上的所述卡数据;以及通过利用所述客户端设备的所述第一处理器执行指令来将所述卡数据发送到所述服务器。
示例19是示例18的非瞬态计算机可读存储介质,其中当所述指令被执行时,使得当所述芯片卡不是可通信地耦合到所述客户端设备时,所述机器在所述网络客户端中提供针对以下至少一项操作的提示:手动提供所述卡数据;或者将所述芯片卡耦合到所述芯片卡读取器。
示例20是示例18的非瞬态计算机可读存储介质,其中所述指令在被执行时使得所述机器操作所述客户端设备处的所述网络客户端中的所述API以便从所述芯片卡的所述芯片获得所述卡数据包括:提供第一安全飞地,所述第一安全飞地用于将所述卡数据从所述客户端设备传送到所述服务器处的第二安全飞地。
示例21是一种方法,包括:通过利用客户端设备的第一处理器执行指令,在所述客户端设备的网络客户端中提供应用编程接口(API);响应于在所述客户端设备处的所述网络客户端中检测到来自服务器的对于卡数据的查询,通过利用所述客户端设备的所述第一处理器执行指令来操作所述客户端设备处的所述网络客户端中的所述API,以便获得存储在可通信地耦合到所述客户端设备的芯片卡的芯片上的所述卡数据;以及通过利用所述客户端设备的所述第一处理器执行指令来将所述卡数据发送到所述服务器。
示例22是示例20的方法,还包括:通过利用所述客户端设备的所述第一处理器执行指令来确定所述芯片卡是否可通信地耦合到所述客户端设备。
示例23是示例21的方法,还包括:当所述芯片卡不是可通信地耦合到所述客户端设备时,通过利用所述客户端设备的所述第一处理器执行指令,在所述网络客户端中提示用户进行以下至少一项操作:手动提供所述卡数据;或者将所述芯片卡可通信地耦合到所述客户端设备,所述提示由所述服务器提供,所述提示由所述客户端设备的所述网络客户端中的所述API提供。
示例24是示例20的方法,还包括:通过利用所述客户端设备的所述第一处理器执行指令,提供用于可通信地耦合到所述客户端设备的所述读卡器的设备接口,并且通过利用所述客户端设备的所述第一处理器执行指令,通过经由所述设备接口与所述读卡器进行交互来从所述芯片卡获得所述卡数据。
示例25是示例20至示例24中任一项的方法,其中通过利用所述客户端设备的所述第一处理器执行指令来操作所述客户端设备处的所述网络客户端中的所述API以便从所述芯片卡的芯片获得所述卡数据包括:通过利用客户端设备的第二处理器执行指令,从而提供第一安全飞地,所述第一安全飞地用于将所述卡数据从所述客户端设备传送到所述服务器处的第二安全飞地。
示例26是示例25的方法,其中当所述第一安全飞地将所述卡数据从所述客户端设备传送到所述服务器处的所述第二安全飞地时,所述卡数据绕过所述第一处理器或所述网络客户端中的至少一个。
示例27是示例24或示例26中的任一项的方法,其中所述第一安全飞地和所述第二安全飞地通过安全通信链路将所述卡数据从所述客户端设备发送到所述服务器。
示例28是示例27的方法,其中所述API通过不太安全的通信链路来使所述安全通信链路隧道化。
示例29是示例24至示例28中任一项的方法,其中所述客户端设备的所述第一处理器包括所述客户端设备的所述第二处理器。
示例30是示例20至示例29中任一项的方法,其中所述服务器包括电子商务站点或芯片卡处理服务器中的至少一个。
示例31是一种客户端设备,包括:处理器;以及非瞬态计算机可读存储介质,其存储指令,所述指令在被执行时使所述客户端设备用于:在所述客户端设备的网络客户端中提供应用编程接口(API);响应于在所述客户端设备的所述网络客户端中检测到来自服务器的对于卡数据的查询,操作所述客户端设备处的所述网络客户端中的所述API以便从可通信地耦合到所述客户端设备的芯片卡的芯片获得所述卡数据,所述卡数据存储在所述芯片上;以及将所述卡数据发送到所述服务器。
示例32是示例31的客户端设备,还包括:网络接口,所述网络接口用于接收所述查询并发送所述卡数据;以及设备接口,所述设备接口用于将芯片卡读取器可通信地耦合到所述客户端设备,所述芯片卡的所述芯片经由所述芯片卡读取器可通信地耦合到所述客户端设备。
示例33是示例31或示例32的客户端设备,其中当所述芯片卡不是可通信地耦合到所述客户端设备时,所述API在所述网络客户端中提供针对以下至少一项操作的提示:手动提供所述卡数据;或者将所述芯片卡耦合到所述芯片卡读取器。
示例34是示例31至示例33中任一项的客户端设备,其中所述指令在被执行时使所述客户端设备提供第一安全飞地,所述第一安全飞地用于将所述卡数据从所述客户端设备传送到所述服务器处的第二安全飞地。
示例35是示例31至示例34中任一项的客户端设备,还包括第二处理器以及存储指令的第二非瞬态计算机可读存储介质,所述指令在被执行时使得所述第二处理器执行第一安全飞地,所述第一安全飞地用于将所述卡数据从所述客户端设备传送到所述服务器处的第二安全飞地。
示例36是一种包括指令的非瞬态计算机可读存储介质,所述指令在被执行时使计算机处理器执行示例21至示例30中任一项的方法。
示例37是一种系统,包括:用于在客户端设备的网络客户端中提供应用编程接口(API)的装置;用于在所述客户端设备的所述网络客户端中检测来自服务器的对于卡数据的查询、操作所述客户端设备处的所述网络客户端中的所述API以便获得存储在可通信地耦合到所述客户端设备的芯片卡的芯片上的所述卡数据的装置;以及用于将所述卡数据发送到所述服务器的装置。
示例38是示例37的系统,还包括用于确定所述芯片卡是否可通信地耦合到所述客户端设备的装置。
示例39是示例38的系统,还包括:用于当所述芯片卡不是可通信地耦合到所述客户端设备时在所述网络客户端中提示用户进行以下至少一项操作的装置:手动提供所述卡数据;或者将所述芯片卡可通信地耦合到所述客户端设备,所述提示由所述服务器提供,所述提示由所述客户端设备的所述网络客户端中的所述API提供。
示例40是示例37至示例39中任一项的系统,还包括:用于为可通信地耦合到所述客户端设备的读卡器提供设备接口的装置;以及用于通过经由所述设备接口与所述读卡器进行交互来从所述芯片卡获得所述卡数据的装置。
示例41是示例37至示例40中任一项的系统,其中用于操作所述客户端设备处的所述网络客户端中的所述API以便从所述芯片卡的芯片获得所述卡数据的装置包括:提供第一安全飞地,所述第一安全飞地用于将所述卡数据从所述客户端设备传送到所述服务器处的第二安全飞地。
示例42是示例41的系统,其中当所述第一安全飞地将所述卡数据从所述客户端设备传送到所述服务器处的所述第二安全飞地时,所述卡数据绕过所述第一处理器或所述网络客户端中的至少一个。
示例43是示例41或示例42中的任一项的系统,其中所述第一安全飞地和所述第二安全飞地通过安全通信链路将所述卡数据从所述客户端设备发送到所述服务器。
示例44是示例43的系统,其中所述API通过不太安全的通信链路来使所述安全通信链路隧道化。
示例45是示例37至示例44中任一项的方法,其中所述服务器包括电子商务站点或芯片卡处理服务器中的至少一个。
“包含”和“包括”(及其所有形式和时态)在本文中用作开放式术语。因此,每当权利要求列出跟随任何形式的“包含”或“包括”(例如,包括、包含等)的任何内容时,要理解的是,额外的要素、项等可以存在而不超出对应权利要求的范围。如本文所使用,当短语“至少”被用作权利要求的前序部分中的过渡术语时,它和术语“包含”和“包括”一样的开放式的。诸如“和”、“或”以及“和/或”之类的连词是包含性的,除非上下文另有明确规定。例如,“A和/或B”包括:仅A;仅B;以及A和B。在本说明书和所附权利要求中,单数形式的“一(a,an)”和“该(the)”不排除复数形式,除非上下文另有明确说明。
本文引用的任何参考文献,包括出版物、专利申请和专利均通过引用结合到本文中,其程度如同每个参考文献被单独且具体地指示通过引用并入并且在本文中完整地阐述。
尽管本文中已公开了某些示例方法、装置和制品,但本专利涵盖的范围并不限于此。相反,本专利涵盖落入本专利权利要求范围内的全部方法、装置和制品。
Claims (28)
1.一种方法,用于安全地处理芯片卡,所述方法包括:
通过利用客户端设备的第一处理器执行指令,在所述客户端设备的网络客户端中提供应用编程接口API;
响应于在所述客户端设备处的所述网络客户端中检测到来自服务器的对于卡数据的查询,通过利用所述客户端设备的所述第一处理器执行指令来操作所述客户端设备处的所述网络客户端中的所述API,以便获得存储在芯片卡的芯片上的所述卡数据,所述芯片卡能通信地耦合到所述客户端设备;以及
通过利用所述客户端设备的所述第一处理器执行指令来将所述卡数据发送到所述服务器。
2.如权利要求1所述的方法,还包括:通过利用所述客户端设备的所述第一处理器执行指令来确定所述芯片卡是否能通信地耦合到所述客户端设备。
3.如权利要求2所述的方法,还包括:当所述芯片卡不是能通信地耦合到所述客户端设备时,通过利用所述客户端设备的所述第一处理器执行指令,在所述网络客户端中提示用户执行以下至少一项操作:手动提供所述卡数据;或者将所述芯片卡能通信地耦合到所述客户端设备,所述提示由所述服务器提供,所述提示由所述客户端设备的所述网络客户端中的所述API提供。
4.如权利要求1至3中任一项所述的方法,还包括:
通过利用所述客户端设备的所述第一处理器执行指令,提供用于能通信地耦合到所述客户端设备的读卡器的设备接口;以及
通过利用所述客户端设备的所述第一处理器执行指令,通过经由所述设备接口与所述读卡器进行交互来从所述芯片卡获得所述卡数据。
5.如权利要求1至4中任一项所述的方法,其特征在于,通过利用所述客户端设备的所述第一处理器执行指令来操作所述客户端设备处的所述网络客户端中的所述API以便从所述芯片卡的芯片获得所述卡数据包括:通过利用所述客户端设备的第二处理器执行指令,提供第一安全飞地,所述第一安全飞地用于将所述卡数据从所述客户端设备传送到所述服务器处的第二安全飞地。
6.如权利要求5所述的方法,其特征在于,当所述第一安全飞地将所述卡数据从所述客户端设备传送到所述服务器处的所述第二安全飞地时,所述卡数据绕过所述第一处理器或所述网络客户端中的至少一个。
7.如权利要求5或6所述的方法,其特征在于,所述第一安全飞地和所述第二安全飞地通过安全通信链路将所述卡数据从所述客户端设备发送到所述服务器。
8.如权利要求7所述的方法,其特征在于,所述API通过不太安全的通信链路来使所述安全通信链路隧道化。
9.如权利要求5至8中任一项所述的方法,其特征在于,所述客户端设备的所述第一处理器包括所述客户端设备的所述第二处理器。
10.如权利要求1至9中任一项所述的方法,其特征在于,所述服务器包括电子商务站点或芯片卡处理服务器中的至少一个。
11.一种客户端设备,包括:
处理器;以及
非瞬态计算机可读存储介质,所述非瞬态计算机可读存储介质存储指令,所述指令在被执行时使所述客户端设备:
在所述客户端设备的网络客户端中提供应用编程接口API;
响应于在所述客户端设备处的所述网络客户端中检测到来自服务器的对于卡数据的查询,操作所述客户端设备处的所述网络客户端中的所述API以便从芯片卡的芯片获得所述卡数据,所述芯片卡能通信地耦合到所述客户端设备,所述卡数据存储在所述芯片上;以及
将所述卡数据发送到所述服务器。
12.如权利要求11所述的客户端设备,还包括:
网络接口,所述网络接口用于接收所述查询并发送所述卡数据;以及
设备接口,所述设备接口用于将芯片卡读取器能通信地耦合到所述客户端设备,所述芯片卡的所述芯片经由所述芯片卡读取器能通信地耦合到所述客户端设备。
13.如权利要求11或12所述的客户端设备,其特征在于,当所述芯片卡不是能通信地耦合到所述客户端设备时,所述API在所述网络客户端中提供对于以下一项至少一项操作的提示:手动提供所述卡数据;或者将所述芯片卡耦合到所述芯片卡读取器。
14.如权利要求11至13中任一项所述的客户端设备,其特征在于,所述指令在被执行时使所述客户端设备提供第一安全飞地,所述第一安全飞地将所述卡数据从所述客户端设备传送到所述服务器处的第二安全飞地。
15.如权利要求11至14中任一项所述的客户端设备,还包括:
第二处理器;以及
第二非瞬态计算机可读存储介质,所述第二非瞬态计算机可读存储介质存储在被执行时使得所述第二处理器执行第一安全飞地的指令,所述第一安全飞地用于将所述卡数据从所述客户端设备传送到所述服务器处的第二安全飞地。
16.一种包括指令的非瞬态计算机可读存储介质,所述指令在被执行时使机器至少通过以下步骤来安全地处理芯片卡:
通过利用客户端设备的第一处理器执行指令,在所述客户端设备的网络客户端中提供应用编程接口API;
响应于在所述客户端设备处的所述网络客户端中检测到来自服务器的对于卡数据的查询,通过利用所述客户端设备的所述第一处理器执行指令来操作所述客户端设备处的所述网络客户端中的所述API,以便获得存储在芯片卡的芯片上的所述卡数据,所述芯片卡能通信地耦合到所述客户端设备;
以及
通过利用所述客户端设备的所述第一处理器执行指令来将所述卡数据发送到所述服务器。
17.如权利要求16所述的非瞬态计算机可读存储介质,其特征在于,当所述指令被执行时,使得当所述芯片卡不是能通信地耦合到所述客户端设备时,所述机器在所述网络客户端中提供针对以下至少一项操作的提示:手动提供所述卡数据;或者将所述芯片卡耦合到所述芯片卡读取器。
18.如权利要求16所述的非瞬态计算机可读存储介质,其特征在于,所述指令在被执行时使得所述机器操作所述客户端设备处的所述网络客户端中的所述API以便从所述芯片卡的所述芯片获得所述卡数据包括:提供第一安全飞地,所述第一安全飞地用于将所述卡数据从所述客户端设备传送到所述服务器处的第二安全飞地。
19.一种包括指令的非瞬态计算机可读存储介质,所述指令在被执行时使计算机处理器执行权利要求1至10中任一项所述的方法。
20.一种系统,用于安全地处理芯片卡,所述系统包括:
用于在客户端设备的网络客户端中提供应用编程接口API的装置;
用于在所述客户端设备处的所述网络客户端中检测来自服务器的对于卡数据的查询、操作所述客户端设备处的所述网络客户端中的所述API以便获得存储在芯片卡的芯片上的所述卡数据的装置,所述芯片卡能通信地耦合到所述客户端设备;以及
用于将所述卡数据发送到所述服务器的装置。
21.如权利要求20所述的系统,还包括用于确定所述芯片卡是否能通信地耦合到所述客户端设备的装置。
22.如权利要求21所述的系统,还包括:用于当所述芯片卡不是能通信地耦合到所述客户端设备时在所述网络客户端中提示用户进行以下至少一项操作的装置:手动提供所述卡数据;或者将所述芯片卡能通信地耦合到所述客户端设备中的至少一个的装置,所述提示由所述服务器提供,所述提示由所述客户端设备的所述网络客户端中的所述API提供。
23.如权利要求20至22中任一项所述的系统,还包括:
用于为能通信地耦合到所述客户端设备的读卡器提供设备接口的装置;以及
用于通过经由所述设备接口与所述读卡器进行交互来从所述芯片卡获得所述卡数据的装置。
24.如权利要求20至23中任一项所述的系统,其中用于操作所述客户端设备处的所述网络客户端中的所述API以便从所述芯片卡的芯片获得所述卡数据的装置包括:提供第一安全飞地,所述第一安全飞地用于将所述卡数据从所述客户端设备传送到所述服务器处的第二安全飞地。
25.如权利要求24所述的系统,其特征在于,当所述第一安全飞地将所述卡数据从所述客户端设备传送到所述服务器处的所述第二安全飞地时,所述卡数据绕过所述第一处理器或所述网络客户端中的至少一个。
26.如权利要求24或25所述的系统,其特征在于,所述第一安全飞地和所述第二安全飞地通过安全通信链路将所述卡数据从所述客户端设备发送到所述服务器。
27.如权利要求26所述的系统,其特征在于,所述API通过不太安全的通信链路来使所述安全通信链路隧道化。
28.如权利要求20至27中任一项所述的系统,其特征在于,所述服务器包括电子商务站点或芯片卡处理服务器中的至少一个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/812,614 US11164188B2 (en) | 2017-11-14 | 2017-11-14 | Methods and apparatus to securely handle chip cards |
US15/812,614 | 2017-11-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109784913A true CN109784913A (zh) | 2019-05-21 |
Family
ID=65038018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811187488.8A Pending CN109784913A (zh) | 2017-11-14 | 2018-10-12 | 用于安全地处理芯片卡的方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11164188B2 (zh) |
CN (1) | CN109784913A (zh) |
DE (1) | DE102018125358A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115086214B (zh) * | 2022-06-13 | 2024-01-19 | 新华三半导体技术有限公司 | 一种套片检测系统、方法、电子设备及存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7292999B2 (en) * | 2001-03-15 | 2007-11-06 | American Express Travel Related Services Company, Inc. | Online card present transaction |
US7748609B2 (en) * | 2007-08-31 | 2010-07-06 | Gemalto Inc. | System and method for browser based access to smart cards |
NL2006609C2 (nl) * | 2011-04-14 | 2012-10-16 | Sepasoft B V | Samenstel en werkwijze voor het afhandelen van transacties. |
US20130211938A1 (en) * | 2012-02-14 | 2013-08-15 | Microsoft Corporation | Retail kiosks with multi-modal interactive surface |
US9584517B1 (en) * | 2014-09-03 | 2017-02-28 | Amazon Technologies, Inc. | Transforms within secure execution environments |
US11080674B1 (en) * | 2014-09-19 | 2021-08-03 | Square, Inc. | Point of sale system |
GB201423362D0 (en) * | 2014-12-30 | 2015-02-11 | Mastercard International Inc | Trusted execution enviroment (TEE) based payment application |
EP3251067A4 (en) * | 2015-01-27 | 2018-08-01 | Ent. Services Development Corporation LP | Virtual point of sale |
US10410211B2 (en) * | 2015-06-15 | 2019-09-10 | Intel Corporation | Virtual POS terminal method and apparatus |
WO2017181185A1 (en) * | 2016-04-15 | 2017-10-19 | Visa International Service Association | System and method for secure web payments |
US10528721B2 (en) * | 2016-10-20 | 2020-01-07 | Intel Corporation | Trusted packet processing for multi-domain separatization and security |
US10505917B2 (en) * | 2017-06-05 | 2019-12-10 | Amazon Technologies, Inc. | Secure device-to-device process for granting access to a physical space |
-
2017
- 2017-11-14 US US15/812,614 patent/US11164188B2/en active Active
-
2018
- 2018-10-12 DE DE102018125358.3A patent/DE102018125358A1/de active Pending
- 2018-10-12 CN CN201811187488.8A patent/CN109784913A/zh active Pending
-
2021
- 2021-11-01 US US17/516,380 patent/US20220058650A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220058650A1 (en) | 2022-02-24 |
US20190034928A1 (en) | 2019-01-31 |
DE102018125358A1 (de) | 2019-05-16 |
US11164188B2 (en) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11423390B2 (en) | Systems and methods for providing transaction tokens for mobile devices | |
US20230045220A1 (en) | System and method for price matching through receipt capture | |
US20200051073A1 (en) | System and method for enhanced token-based payments | |
RU2708945C2 (ru) | Запрос на преобразование в маркер посредством устройства доступа | |
US11127009B2 (en) | Methods and systems for using a mobile device to effect a secure electronic transaction | |
US20150310421A1 (en) | Electronic payment transactions without POS terminals | |
US20130221093A1 (en) | Payment Transaction Receipt System and Method | |
US20150161586A1 (en) | Location-based mobile access device configuration system and method | |
JP2016522925A (ja) | ネットワークに頼らない携帯装置による不正検出 | |
US10977641B2 (en) | Binding process using electronic telecommunications device | |
TW201539341A (zh) | 反向近場通訊電子交易的方法與系統 | |
WO2017012542A1 (zh) | 一种使用二维码的无卡支付方法及其系统 | |
CA2934342A1 (en) | Systems and methods for generating offers from tokenized contactless payments | |
CN105096115B (zh) | 无销售点终端的电子支付交易的方法及移动装置 | |
US10930104B2 (en) | Systems and methods for actuating an electronic lock upon payment for delivery services | |
US20220058650A1 (en) | Methods and apparatus to securely handle chip cards | |
EP4020360A1 (en) | Secure contactless credential exchange | |
US11232443B2 (en) | Systems and methods for payment for delivery services | |
BASKARAN Visa | VISA RTP CARDS |
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 |