掌桥专利:专业的专利平台
掌桥专利
首页

用于安全执行离线认证的技术

文献发布时间:2023-06-19 12:02:28


用于安全执行离线认证的技术

相关申请交叉引用

此国际申请要求在2018年12月19日提交的第16/226,583号美国专利申请的优先权,所述美国专利申请的公开内容出于所有目的以全文引用的方式并入本文中。

背景技术

本公开的实施例涉及在离线认证的过程期间安全地提供敏感数据。在一些情况下,由于接收装置(例如,终端)的时序约束,离线认证比在线认证更优选。例如,许多大容量、快节奏的认证系统(例如,交通终端、票务系统等)要求以最短的时间延迟在接收装置处认证用户。

用户装置(例如,移动电话)提供的信息可以包括敏感数据。因此,需要安全措施来保护用户免受可能截获此信息的老练欺诈者的伤害。当前技术可能存在问题,因为此敏感数据可能会从一个装置发送到另一个装置。这些技术可能会引起发送延迟,并使欺诈者能够拦截通信。敏感数据的大小可能过大而无法使用其它常规措施。

本发明的实施例单独地以及共同地解决这些问题和其它问题。

发明内容

本发明的实施例涉及可用于将敏感数据(例如,凭证、账户数据等)安全地传送到接收装置的方法、系统、装置和计算机可读介质。有利地,在本发明的实施例中,敏感数据是以安全(例如,防止欺诈者截获和/或获得数据)并且不需要以任何显著的方式更新现有基础架构的方式传送的。

本发明的一个实施例涉及一种用于执行离线认证的方法。所述方法可以包括在访问装置处接收与证书颁发机构相关联的第一公钥。当访问装置在离线模式下工作时,可以进行方法的其它步骤。所述方法可以进一步包括由访问装置从单向通信获得来自用户装置的数据包。所述方法可以进一步包括在访问装置处转换数据包以获得交互数据,所述交互数据包括由证书颁发机构认证的数字证书和由用户装置生成的数字签名值。所述方法可以进一步包括在访问装置处利用数字证书和与证书颁发机构相关联的第一公钥获得与用户装置相关联的第二公钥。所述方法可以进一步包括在访问装置处至少部分地基于数字签名值和与用户装置相关联的第二公钥而确定交互数据的有效性。所述方法可以进一步包括在交互数据被确定为有效时,在访问装置处对交互数据的标识符进行授权。所述方法可以进一步包括由访问装置至少部分地基于确定交互数据的标识符被授权而提供访问。

本发明的另一实施例涉及一种访问装置,其包括存储计算机可执行指令的一个或多个存储器,其中由一个或多个处理器执行计算机可执行指令使访问装置执行操作。所述操作可以包括在访问装置处接收与证书颁发机构相关联的第一公钥。所述操作可以进一步包括由访问装置(例如,当在离线模式下工作时)从单向通信获得来自用户装置的数据包。所述操作可以进一步包括在访问装置(例如,当在离线模式下工作时)处转换数据包以获得交互数据,所述交互数据包括由证书颁发机构认证的数字证书和由用户装置生成的数字签名值。所述操作可以进一步包括利用数字证书和与证书颁发机构相关联的第一公钥在访问装置(例如,当在离线模式下工作时)处获得与用户装置相关联的第二公钥。所述操作可以进一步包括至少部分地基于数字签名值和与用户装置相关联的第二公钥而在访问装置(例如,当在离线模式下工作时)处确定交互数据的有效性。所述操作可以进一步包括在交互数据被确定为有效时,在访问装置(例如,当在离线模式下工作时)处对交互数据的标识符进行授权。所述操作可以进一步包括由访问装置(例如,当在离线模式下工作时)至少部分地基于确定交互数据的标识符被授权而提供访问。

本发明的另一实施例涉及一种(非瞬态)计算机可读介质。所述计算机可读介质包括用于执行本文所论述的方法的代码。在一些实施例中,例如便携式用户装置等计算装置可以包括此计算机可读介质。

下面参考附图进一步详细地描述本发明的这些和其它实施例。

附图说明

图1示出了根据一些实施例的用于为离线认证提供敏感数据的系统的框图。

图2描绘了根据一些实施例的注册方法。

图3描绘了根据一些实施例的示例性证书规范。

图4示出了根据一些实施例的用于安全地传送敏感数据以执行离线认证的方法的流程图。

图5描绘了根据一些实施例的所生成代码的示例性数据规范。

图6示出了根据一些实施例的用于执行离线认证的方法的流程图。

图7示出了示出交易处理系统的框图。

图8示出了示出建筑物访问系统的框图。

具体实施方式

在常规交易(例如,支付交易)中,账户标识符(例如,个人账户标识符)可以从例如移动电话等便携式消费装置传递到访问装置(例如,POS终端)并最终通过传统支付处理网络。在一些常规技术中,可以对账户标识符进行加密和/或模糊处理,然而,经过加密/模糊处理的数据仍然可能提供在交易消息中,因此,潜在的欺诈者可能会标识出数据字段。

本文所述的过程可用于在敏感数据(例如,账户数据,例如账户标识符)被提供到接收装置(例如,交通闸机处的终端装置)时保护此数据。如下文将进一步详细示出,本发明的实施例使用敏感数据的一个或多个数据字段以及密码算法(例如,椭圆曲线密码算法)来生成数字签名。敏感数据和数字签名可以转换为快速响应(QR)码,并(例如,经由移动电话的显示器)在用户的装置处呈现。终端装置可以读取QR码、检取基础数据并验证数字签名以确保敏感数据尚未被更改。不同于常规系统,本文中的实施例可以利用单向数据传送,使得终端装置只需要从用户的装置显示器获得QR码,而无需在终端装置与用户装置之间进行任何通信。因此,可以安全且高效地传送敏感数据,使得可以在被拦截风险降低的情况下执行离线认证过程。

在论述本发明的具体实施例之前,对某些术语的一些描述可能是有用的。

“计算装置”(也称为“用户装置”)可以是能够执行计算并且能够与其它装置通信的任何合适的装置。例如移动电话等便携式计算装置是计算装置的示例。其它类型的计算装置可能不是便携式的。

“快速响应(QR)码”可以包括包含机器可读数据的黑色和白色方块的多维阵列。QR码可以称为矩阵条形码。

“椭圆曲线密码(ECC)算法”可以包括基于有限域上的椭圆曲线的代数结构的公钥密码算法。与非ECC密码算法(例如,Ravest-Shamir-Adleman(RSA)算法)相比,ECC提供同等的安全性所需要的密码密钥可能更少。

“加密值”可以包括值的任何合适的加密版本。加密值可以从使用任何合适的加密技术,例如使用对称和/或非对称加密技术的值(例如,标识符)生成。

“交互数据”也称为“敏感数据”,可以包括用于用户装置和访问装置之间的交互的任何合适的数据。作为示例,交互数据可以包括图3中描绘的任何合适的数据字段,包括但不限于磁道2等效数据(如ISO 7813中所定义)、时间戳信息、证书颁发机构(CA)公钥索引、与特定用户装置相关联并由特定CA认证的公钥证书、利用交互数据的其它数据字段生成的数字签名等等。

就本申请而言,“支付数据”可以包括:关于金融应用的由支付服务用于执行交易的那些数据元素,以及关于非金融交易的不包括本发明的任何必要数据元素。例如,在一些实施例中,如信用卡行业的普通技术人员所理解,“支付数据”可以包括磁道1和/或磁道2数据,例如主账号、到期日期、服务代码和自主数据。“支付数据”还可以包括唯一卡标识号或服务提供商的唯一标识号。支付数据可以驻留在位于用户装置(例如,移动电话等)上的存储器中。

“数字签名”可以包括可用于验证数字消息的真实性的值。有效的数字签名可以使接收方有理由相信是由已知发送方创建的,发送方无法否认已经发送消息并且消息在传送中没有被更改。

“授权实体”可以是授权请求的实体。授权实体的示例可以是发行方、政府机构、文件存储库、访问管理员等。“发行方”通常可以指维持用户账户的业务实体(例如,银行)。发行方也可以向客户发行存储在例如蜂窝电话、智能卡、平板计算机或膝上型计算机之类的用户装置上的支付凭证。“授权实体计算机”可以由授权实体或代表授权实体操作。

“收单方”通常可以是与特定商家或其它实体具有业务关系的业务实体(例如,商业银行)。一些实体可以执行发行方功能和收单方功能两者。一些实施例可以涵盖此类单个实体发行方-收单方。收单方可以操作收单方计算机,所述收单方计算机一般也可以被称为“传送计算机”。

“资源提供商”可以是可提供例如商品、服务、信息和/或访问之类的资源的实体。资源提供商的示例包括商家、访问装置、安全数据访问点等。“商家”通常可以是参与交易并且可出售商品或服务或提供对商品或服务的访问的实体。“资源提供商计算机”可以是可由资源提供商或代表资源提供商操作的任何合适的计算装置。

“处理网络计算机”(也称为中央服务器计算机)可以包括用于处理网络数据的服务器计算机。在一些实施例中,处理网络计算机可以耦合到数据库,并且可以包括用于服务来自一个或多个客户端计算机的请求的任何硬件、软件、其它逻辑或前述项的组合。处理网络计算机可以包括一个或多个计算设备,并且可以使用各种计算结构、布置以及编译中的任一项来服务来自一个或多个客户端计算机的请求。在一些实施例中,处理网络计算机可以操作多个服务器计算机。在此类实施例中,每个服务器计算机都可以被配置成处理给定区域的交易或者基于交易数据处理特定类型的交易。

处理网络计算机可以包括用于支持和递送授权服务、异常文件服务以及清算和结算服务的数据处理子系统、网络和操作。示例性处理网络计算机可以包括VisaNet

“授权请求消息”可以是发送到交易处理计算机和/或授权实体计算机(例如,支付卡的发行方)以请求交易授权的电子消息。根据一些实施例的授权请求消息可符合ISO8583,其是用于交换与客户使用支付装置或支付账户进行的支付相关联的电子交易信息的系统的标准。授权请求消息可以包括可与支付装置或支付账户相关联的发行方账户标识符。授权请求消息还可以包括对应于“标识信息”的额外数据元素,仅作为示例包括:服务代码、CVV(卡验证值)、dCVV(动态卡验证值)、到期日期等。授权请求消息还可以包括“交易信息”,例如与当前交易相关联的任何信息,例如交易金额、商家标识符、商家位置等,以及可用于确定是否标识和/或授权交易的任何其它信息。

“授权响应消息”可以是对由授权实体计算机或交易处理计算机生成的授权请求消息的电子消息应答。仅作为示例,授权响应消息可以包括以下状态指示符中的一个或多个:批准--交易被批准;拒绝--交易未被批准;或呼叫中心--响应未决的更多信息,商家必须呼叫免费授权电话号码。授权响应消息还可以包括授权代码,其可以是授权实体(例如,发行方银行)响应于电子消息中的授权请求消息(直接或通过交易处理计算机)传回资源提供商计算机的指示交易被批准的代码。所述代码可充当授权的证明。在一些实施例中,交易处理计算机可以生成授权响应消息或将授权响应消息转发给资源提供商。

“服务器计算机”通常是功能强大的计算机或计算机集群。例如,服务器计算机可以是大型主机、小型计算机集群或充当单元的一组服务器。在一个示例中,服务器计算机可以是耦合到网络服务器的数据库服务器。

“处理器”可以指任何合适的一个或多个数据计算装置。处理器可以包括一起工作以实现所要功能的一个或多个微处理器。处理器可以包括CPU,所述CPU包括足以执行用于执行用户和/或系统生成的请求的程序组件的至少一个高速数据处理器。所述CPU可以是微处理器,例如AMD的速龙(Athlon)、钻龙(Duron)和/或皓龙(Opteron);IBM和/或摩托罗拉(Motorola)的PowerPC;IBM和索尼(Sony)的Cell处理器;英特尔(Intel)的赛扬(Celeron)、安腾(Itanium)、奔腾(Pentium)、至强(Xeon)和/或XScale;和/或类似处理器。

“存储器”可以是可存储电子数据的任何合适的一个或多个装置。合适的存储器可以包括非瞬态计算机可读介质,其存储可由处理器执行以实施所要方法的指令。存储器的示例可包括一个或多个存储器芯片、磁盘驱动器等。此类存储器可使用任何合适的电气、光学和/或磁性操作模式来操作。

图1示出了根据一些实施例的用于为离线认证提供敏感数据的系统100的框图。系统100可以用于促进利用图1中描绘的各种计算机的数据通信,以用于认证、访问控制和/或授权金融和/或非金融交易。系统100包括用户装置102、资源提供商计算机104、传送计算机106、中央服务器计算机108和授权实体计算机110。这些系统和计算机中的每一个可以彼此进行操作性通信。为了简化说明,在图1中示出特定数量的组件。然而,应理解,本发明的实施例可以包括多于一个每种组件。此外,本发明的一些实施例可以包括比图1中所示的所有组件少或多的组件。另外,图1中的组件可以使用任何合适的通信协议经由任何合适的通信媒体(包括因特网)通信。

用户装置102可以是任何合适的形式。例如,用户装置102可以包括蜂窝电话、个人数字助理(PDA)、上网本、智能手表、笔记本计算机、寻呼机、智能媒体等等。

在一些实施例中,用户装置102可以包括用于实现例如电话等某些装置功能的电路系统。负责实现那些功能的功能元件可以包括一个或多个处理器,所述处理器可以执行实施用户装置102的功能和操作的指令。处理器可以访问用户装置102的存储器以检取指令或用于执行指令的数据,例如预配脚本和移动应用程序。用户装置102可以包括输入/输出元件,例如键盘、显示器、扬声器、麦克风和/或触摸屏。这些I/O元件可以用于使用户能够操作用户装置102并输入数据。例如,这些输入/输出元件还可以被配置成经由装置的扬声器输出数据。用户装置102还可以使用显示器来输出数据。

用户装置102可以包括可包括应用程序(例如,应用程序116)和/或任何其它合适的模块或数据的存储器。用户装置102可以具有安装或存储在存储器上的任何数量的应用程序。用户装置102的存储器还可以包括可由一个或多个处理器执行以用于实施本文所论述的方法的代码。在一些实施例中,存储器可以被配置成存储敏感数据(例如,支付数据(例如,磁道2数据)、公钥/私钥对中的私钥、包括公钥/私钥对中的公钥的证书)。应用程序116可以被配置成接收私钥和/或包括对应公钥的证书。公钥/私钥对可以由证书颁发机构(例如,中央服务器计算机108)预配,并且证书可以由证书颁发机构认证。在一些实施例中,可以使用证书颁发机构的公钥对证书进行数字签名,使得可以利用证书颁发机构的公钥和密码算法来检取用户装置102的公钥。

在一些实施例中,应用程序116可以被配置成使用户装置102的处理器生成包括敏感数据的代码(例如,QR码、声音嵌入数据等)。一旦生成,所述代码就可以在用户装置102的显示器(和/或扬声器)处呈现,使得代码可由接收装置(例如,访问装置118)获得。

资源提供商计算机104可以由资源提供商(例如,商家)或代表资源提供商(例如,商家)操作,并且传送计算机可以与资源提供商相关联。例如,传送计算机可以由负责管理与资源提供商相关联的账户的收单方(例如,金融机构)操作。授权实体计算机110可以由发行方(例如,另一金融机构)操作。在一些实施例中,实体既是收单方又是发行方,并且本发明的实施例包括此类实体。

中央服务器计算机108可以包括用于支持和递送授权服务、异常文件服务以及清算和结算服务的数据处理子系统、网络和操作。示例性支付处理网络可以包括VisaNet

中央服务器计算机108可以包括服务器计算机。服务器计算机通常是功能强大的计算机或计算机集群。例如,服务器计算机可以是大型主机、小型计算机集群或充当单元的一组服务器。在一个示例中,服务器计算机可以是耦合到网络服务器的数据库服务器。中央服务器计算机108可以使用任何合适的有线或无线网络,包括因特网。

在一些实施例中,中央服务器计算机108(或另一合适的系统)可以被配置为证书颁发机构。作为证书颁发机构工作的中央服务器计算机108可以被配置成为任何合适数量的用户装置生成公钥/私钥对并且生成包括相应密钥对中的公钥的对应证书。在一些实施例中,中央服务器计算机108可以利用与中央服务器计算机108相关联的公钥对每个证书进行数字签名。中央服务器计算机108可以进一步被配置成将其公钥分发到任何合适数量的装置(例如,访问装置118)。

资源提供商计算机104还可以具有或可以接收来自可与用户装置102交互的访问装置118的通信。在图1中,访问装置118位于资源提供商计算机104处。然而,在本发明的其它实施例中,访问装置可以位于任何其它合适的位置处。资源提供商计算机104可以包括由资源提供商(例如,商家)操作的任何合适的计算设备。在一些实施例中,资源提供商计算机104可以包括一个或多个服务器计算机,所述一个或多个服务器计算机可以托管与资源提供商(例如,商家)相关联的一个或多个网站。在一些实施例中,资源提供商计算机104可以被配置成通过传送计算机106向中央服务器计算机108发送数据,作为用户(例如,客户)与资源提供商之间的交易的支付验证和/或认证过程的一部分。资源提供商计算机104还可以被配置成生成用于资源提供商与用户103之间的交易的授权请求消息,并且(例如,通过中央服务器计算机108)将授权请求消息路由到授权实体计算机110以进行额外交易处理。

根据本发明的实施例的访问装置可以呈任何合适的形式。访问装置的示例包括销售点(POS)装置、蜂窝电话、PDA、个人计算机(PC)、平板PC、旋转栅门(turnstile)、手持式专用阅读器、机顶盒、电子收款机(ECR)、自动取款机(ATM)、虚拟收款机(VCR)、查询一体机、安全系统、访问系统等等。访问装置118可以包括输入/输出(I/O)装置120、处理器122以及计算机可读介质124。I/O装置120可以包括被配置成与用户装置102交互的成像装置(例如,摄像头)、数字扫描器、条形码阅读器、麦克风等。在一些实施例中,访问装置118可以被配置成管理对资源的访问。作为示例,访问装置118可以位于交通车站的交通闸机处的旋转栅门处,并且访问装置118可以管理旋转栅门的操作以允许访问交通车站的一部分。

在典型的访问交易中,用户103可以利用应用程序116在用户装置102处生成视觉代码和/或音频代码(例如,QR码、声音嵌入数据等)。例如,应用程序116可以用来生成QR码114和/或声音115。为了生成视觉代码和/或音频代码(例如,QR码114、声音115等),用户装置102可检取存储在用户装置102处的存储器中的交互数据(例如,如ISO 7813中所定义的磁道2数据等支付数据、证书颁发机构(CA)公钥索引、与用户装置102相关联的公钥证书、令牌/密码等)。可以响应于在发起访问交易之前用户装置102向证书颁发机构(例如,中央服务器计算机108)进行的注册过程而存储至少一些交互数据。用户装置102可以进一步被配置成利用交互数据的至少一些数据字段和密码算法(例如,椭圆曲线密码算法)来生成数字签名。交互数据和数字签名可以转换为视觉代码和/或代码(例如,QR码114和/或声音115),并且(例如,分别经由显示器、经由扬声器)在用户装置102处呈现。用户103可以将用户装置102保持在访问装置118附近,使得I/O装置120(例如,QR扫描器、麦克风等)可以用来捕获视觉代码和/或音频代码。访问装置118的处理器122可以被配置成转换捕获的代码以检取基础数据(例如,嵌入QR码114和/或声音115中的交互数据)。

在转换后,访问装置118的处理器122可以从交互数据检取CA公钥索引。CA公钥索引可以与特定公钥相关联,所述特定公钥与特定CA相关联并存储在访问装置118处的存储器中。在一些实施例中,访问装置118可以存储多个公钥,所述公钥各自对应于特定CA并且各自与唯一CA公钥索引相关联。访问装置118可以使用交互数据的CA公钥索引来标识交互数据中包括的公钥证书的认证机构(及其所存储的公钥)。所检取的CA公钥可以与交互数据的公钥证书一起用作到密码算法中的输入,以便检取由CA(例如,中央服务器计算机108)认证并与用户装置102相关联的公钥。

在检取后,从证书获得并且与用户装置102相关联的公钥可以用来验证交互数据的数字签名。在一些实施例中,访问装置118可以将数字签名和用户装置102的公钥用作到密码算法(椭圆曲线密码算法)中的输入,以检取对应于交互数据的一个或多个数据字段的哈希值。访问装置118可以重新对交互数据的一个或多个对应数据字段进行哈希处理,并且可以将所得值与所检取的哈希值进行比较。如果所得哈希与所检取的哈希匹配,则访问装置118可以确定交互数据是有效的(例如,未更改)。如果哈希不匹配,则访问装置118可以确定交互数据是无效的(例如,已更改)并且不会进行进一步处理。

在一些实施例中,如果交互数据被确定为有效的,则访问装置118可以被配置成将交互数据的时间戳数据与当前时间进行比较,以确定在预定阈值时间段内(例如,在最后10分钟内、在最后5分钟内等)是否生成视觉代码和/或音频代码。在一些实施例中,如果交互数据的时间戳数据是陈旧的(例如,指示超出预定阈值时间段的生成时间),则访问装置118可以拒绝访问并且不会进行进一步处理。如果交互数据的时间戳数据指示预定阈值时间段内的时间,则访问装置118可以被配置成从交互数据检取标识符(例如,账户标识符)。访问装置118可以将此标识符与所存储的限制列表(例如,访问将立即被拒绝的账户标识符的列表)进行比较。如果来自交互数据的标识符与所存储的限制列表的标识符中的任一个都不匹配,则访问装置118可以被配置成授予用户装置102访问。作为示例,如果访问装置118是交通车站的交通闸机处的旋转栅门,则访问装置118可以使旋转栅门能够转动,以便允许用户103访问交通车站的一部分。

在实现用户103和/或用户装置102访问的任何合适的时间之后,访问装置118可以被配置成使资源提供商计算机104利用在离线认证过程期间获得的交互数据的至少一部分来执行在线授权过程。例如,资源提供商计算机104(或访问装置118)可以被配置成生成“授权请求消息”并将此消息转发到传送计算机106。传送计算机106通常与业务实体(例如,商业银行)相关联,所述业务实体与特定资源提供商(例如,商家)或其它实体具有业务关系,并且可能涉及交易过程。传送计算机106可以为资源提供商发行和管理账户,并代表资源提供商与授权实体计算机110交换资金。一些实体可以执行授权实体计算机110和传送计算机106两者的功能。本发明的实施例涵盖此类单实体发行方-收单方计算机。在接收到授权请求消息之后,传送计算机106可以将授权请求消息发送到中央服务器计算机108。然后,中央服务器计算机108可以将授权请求消息转发到用户装置102的授权实体计算机110或代表授权实体行事的第三方实体。

中央服务器计算机108可以是包括或操作用于处理(例如,支付处理)的至少一个服务器计算机的网络。中央服务器计算机108中的服务器计算机可以包括处理器和耦合到处理器的计算机可读介质,所述计算机可读介质包括可由处理器执行的代码,用于执行本文所述的功能。在一些实施例中,服务器计算机可以耦合到数据库,并且可以包括用于服务于来自一个或多个客户端计算机的请求的任何硬件、软件、其它逻辑或前述项的组合。服务器计算机可以包括一个或多个计算设备并且可以使用各种计算结构、布置和编译中的任一项来服务来自一个或多个客户端计算机的请求。在一些实施例中,中央服务器计算机108可以操作多个服务器计算机。在此类实施例中,每个服务器计算机都可以被配置成处理给定区域的交易或者基于交易数据处理特定类型的交易。

中央服务器计算机108可以包括用于支持和递送授权服务、异常文件服务以及清算和结算服务的数据处理子系统、网络和操作。中央服务器计算机108可以包括VisaNet

中央服务器计算机108可以处理交易请求消息,并且确定交易请求消息的适当目的地(例如,认证计算机)。中央服务器计算机108还可以处理和/或促进交易的清算和结算。

授权实体计算机110通常与发行和维持客户的客户账户的业务实体(例如,银行)相关联。授权实体计算机110可以为客户账户发行支付装置,包括信用卡和借记卡等。

在授权实体计算机或代表授权实体行事的第三方实体接收到授权请求消息之后,授权实体计算机110或代表发行方行事的第三方实体可以将授权响应消息发送回中央服务器计算机108以指示当前交易是否已授权(或未授权)。然后,中央服务器计算机108将授权响应消息转发回到传送计算机106。然后,传送计算机106可以将响应消息发送回资源提供商计算机104。在一些实施例中,资源提供商计算机104可以(例如,经由通知、电子邮件或任何合适的电子通信方式)向用户装置102通知交易。

在一天结束时,常规的清算和结算过程可以由系统100进行。清算过程是指收单方和发行方之间交换财务细节的过程,以促进过账到用户的账户并对用户的结算头寸进行对账。

通过利用本文所述的技术,实现了用于传送敏感数据的更安全的方式。敏感数据可以嵌入视觉代码和/或音频代码中,以使这些数据避开欺诈者的眼睛和耳朵。另外,敏感数据通过接收装置的读取器和/或麦克风直接传送,从而降低数据可能被拦截和可能被更改或被盗的可能性。通过利用此处所述的技术,可以减少敏感数据的总体数据占用空间,同时仍然获得与传统技术相同的安全性。通过传送此数据,实现了用于离线认证的方法,其允许在最少量的时间内在接收装置处认证用户,并且无需从服务器获得关于用户和/或用户装置的任何额外数据。

图2描绘了根据一些实施例的注册方法(例如,方法200)。应当理解,方法200的步骤可以按任何合适的次序执行。在图2中提供的示例中,中央服务器计算机108可以作为证书颁发机构工作。因此,中央服务器计算机108可以被配置成为自身生成公钥/私钥对,并将其公钥分发到任何合适数量的装置。作为证书颁发机构工作的中央服务器计算机108可进一步被配置成为一个或多个装置(例如,用户装置102)生成公钥/私钥对,并将私钥和包括对应公钥的证书分发到每个相应的装置。这些功能可通过方法200实现。

作为示例,方法200可以在步骤1处开始,其中可以在中央服务器计算机108(作为证书颁发机构工作)与访问装置118之间交换数据。访问装置118可以例如经由任何合适的用户接口和/或应用程序编程接口和/或消息请求中央服务器计算机108的公钥。通过接收此请求,中央服务器计算机108可以被配置成维护映射,所述映射指示为中央服务器计算机108生成的未来公钥要被提供到访问装置118。在一些实施例中,中央服务器计算机108可以周期性地(例如,每24小时、每12小时等)生成新的公钥/私钥对。中央服务器计算机108可以使其公钥与证书颁发机构公钥索引相关联。此索引可以是从其它潜在的证书颁发机构中唯一地标识中央服务器计算机108的任何合适的字母数字值。

在步骤2处,中央服务器计算机108可以将其公钥及其证书颁发机构(CA)公钥索引提供到访问装置118。这可以响应于来自访问装置118的请求而发生。在一些实施例中,可以在创建的某一阈值时间段内提供公钥。也就是说,可以独立于来自访问装置118的请求提供公钥。确切地说,在生成新的公钥之后不久,中央服务器计算机108可以提供新的公钥。

在步骤3处,访问装置118可以将与CA公钥索引相关联的所接收公钥存储在本地存储器中。在一些实施例中,访问装置118可以被配置成将与各种证书颁发机构相关联的多个CA公钥索引存储在映射、数据库或其它合适的存储容器中。CA公钥索引可用于检取CA的对应于CA公钥索引的相关联公钥。

在步骤4处,用户装置102可以向中央服务器计算机108(作为证书颁发机构工作)进行注册。在步骤4处执行的注册过程可以利用任何合适的用户接口、应用程序编程接口或任何合适的通信方式。仅作为示例,用户装置102可以利用应用程序(例如,图1的应用程序116)来提供账户信息,例如名称、地址、政府身份标识符、支付数据等等。

在步骤5处,在接收到此类数据后,或通过来自用户装置102的直接请求,中央服务器计算机108可以被配置成为用户装置102生成公钥/私钥对。在一些实施例中,中央服务器计算机108可以从与用户装置102相关联的公钥生成公钥证书。图3描绘了根据一些实施例的示例性证书规范300(例如,用户装置102的公钥证书)。

用户装置102的公钥证书可以包括与图3中描绘的数据字段相同、更多或更少的数据字段。虽然数据字段1-8中的一些示出为具有特定数据大小(以字节为单位),但应当理解,数据字段的数据大小可能与描绘的数据大小有所不同。

在一些实施例中,公钥证书可以包括对应于证书格式的数据字段1。在一些实施例中,证书格式可以标识证书的特定格式规范。作为示例,如图3所描绘,公钥证书可以利用格式“14”。

在一些实施例中,公钥证书可以包括对应于证书编码的数据字段2。在图3所描绘的示例中,公钥证书可以利用编码“00”。

在一些实施例中,公钥证书可以包括对应于套件指示符的数据字段3。在图3所描绘的示例中,套件指示符可以标识要同与用户装置102相关联的已认证公钥一起使用的算法套件。

在一些实施例中,公钥证书可以包括对应于证书到期日期的数据字段4。证书到期日期可以指示之后证书可能被视为已过期且不可用的日期(例如,以YYYYMMDD、UTC的格式)。公钥证书可以进一步包括数据字段5,即证书到期时间。证书到期时间可以指示之后证书可能被视为已过期且不可用的与证书到期数据相关联的时间(例如,以HHMM、UTC的格式或任何合适的格式)。

在一些实施例中,公钥证书可以包括对应于证书序列号的数据字段6。证书序列号可以是标识用于创建证书的CA私钥的任何合适的字母数字值。

在一些实施例中,公钥证书可以包括对应于与装置(例如,用户装置102)相关联的公钥的数据字段7。在一些实施例中,与装置相关联的公钥可以基于对应于套件指示符(例如,数据字段3)的椭圆曲线算法而生成。在一些实施例中,数据字段7可以对应于由套件指示符标识的曲线上的公钥点的x坐标。

在一些实施例中,公钥证书可以包括对应于公钥证书签名的数据字段8。数据字段8可以包含由证书颁发机构利用与证书颁发机构相关联的私钥生成的数字签名。在一些实施例中,数字签名可与数据字段1-7中的每一个(或证书的数据字段的任何合适的组合)相关。作为非限制性示例,可以使用任何合适的哈希算法对数据字段1-7进行哈希处理,并且所得哈希值连同证书颁发机构私钥可以用作对应于套件指示符(例如,数据字段3)的密码算法(例如,椭圆曲线密码算法)中的输入。所得值可以作为证书的数字签名存储在数据字段8中。

返回到图2,可以在步骤6处向用户装置102提供与用户装置102相关联的所生成数字证书和私钥。在步骤7处,用户装置102可以将数字证书和私钥存储在本地存储器中以供稍后使用。

在步骤8处,用户装置102的用户(例如,图1的用户103)可以利用用户装置102的任何合适的用户接口(例如,由应用程序116提供的用户接口)来输入敏感数据的任何合适部分。作为示例,用户可以输入支付数据(例如,敏感数据的示例),例如借记卡号/信用卡号、到期日期和/或相关联的CVV代码。在一些实施例中,可利用用户装置102的摄像头来捕获借记卡和/或信用卡的图像,并且可以利用任何合适的图像识别技术从图像中提取支付数据。在此情况下,“支付数据”可以包括如ISO 7813中所定义的磁道2等效数据的任何合适部分。支付数据(和/或由用户输入的敏感数据的任何合适部分)可以存储在用户装置102处的本地存储器中。

图4示出了根据一些实施例的用于安全传送敏感数据以执行离线认证的方法400的流程图。方法400可以在执行图2的方法200之后的任何合适的时间执行。

方法400可以在402处开始,其中用户装置102可以生成视觉代码和/或音频代码(例如,图1的QR码114、图1的声音115等)。在一些实施例中,所生成代码可以包括/嵌入有存储在用户装置102的本地存储器中的敏感数据的至少一部分。作为示例,由于执行了方法200的步骤8,因此敏感数据可以存储在本地存储器中。敏感数据可以包括如ISO 7813中所定义的任何合适的磁道2等效数据和/或与用户相关的任何合适数据。图5描绘了根据一些实施例的用于所生成代码的示例性数据规范500。

在一些实施例中,所生成代码可以包括数据规范500中包括的数据字段的任何合适的组合。虽然可以针对数据规范500的每个数据字段指示特定的数据大小,但应当理解,这些大小可以变化。

在一些实施例中,所生成代码可以包括有效载荷格式指示符。有效载荷格式指示符可以用标记“85”(或任何合适的标识符)标识,和/或可以定义所生成代码的版本。作为示例,如果所生成代码是QR码,则可以使用有效载荷格式指示符(例如,值“CPV01”)来指示QR码的版本。如果所生成代码为声音格式,则可以使用不同的有效载荷格式指示符来指示所生成代码的版本。在一些实施例中,可以采用所生成代码的多个版本。因此,接收装置(例如,图1的访问装置118)可以利用有效载荷格式指示符来确定代码的格式。

在一些实施例中,所生成代码可以包括由数据规范500提供的应用程序模板。应用程序模板可以用标记“61”(或任何合适的标识符)标识,并且可以用作应用程序特定数据的容器。作为示例,应用程序模板数据字段可以包括一个或多个子字段,例如应用程序名称字段。在一些实施例中,应用程序名称字段可以用标记“4F”(或任何合适的标识符)标识。在一些实施例中,应用程序名称字段可以标识可以处理和/或生成数据规范500中包含的数据的应用程序的类型和/或名称。

在一些实施例中,所生成代码可以包括由数据规范500提供的通用数据模板(例如,数据规范500的一部分)。通用数据模板可以用标记“62”(或任何合适的标识符)标识,并且可以用作可在各种类型的应用程序中通用的应用程序数据的容器。作为示例,通用数据模板可以包括一个或多个子字段,例如磁道2等效数据字段、应用程序交换配置文件数据字段、应用程序数据字段、应用程序密码数据字段、一个或多个时间戳数据字段、证书颁发机构公钥索引、公钥证书数据字段以及数字签名数据字段。

磁道2等效数据字段可以用标记“57”(或另一合适的标识符)标识。磁道2等效数据字段可以包括如ISO 7813中所定义的任何磁道2数据。作为示例,磁道2等效数据可以包括个人账号(PAN)和到期日期、CVV代码、交易计数器等等。在一些实施例中,磁道2等效数据字段的大小可以变至最多某一预定大小(例如,19字节)。

通用数据模板的应用程序交换配置文件数据字段可以用标记“82”(或另一合适的标识符)标识。应用程序数据字段也可以包括在通用数据模板中。应用程序数据字段可以用标记“9F10”(或另一合适的标识符)标识。应用程序交换配置文件数据字段和/或应用程序数据字段可以各自包含用于授权实体(例如,图1的授权实体计算机110)和/或中央服务器计算机(例如,图1的中央服务器计算机108)的数据。这些字段中的每一个的大小可变化。例如,应用程序交换配置文件数据字段的长度可以是两个字节,而应用程序数据字段的大小可以变至最多预定大小(例如,32字节)。

通用数据模板的应用程序密码可以用标记“9F26”(或另一合适的标识符)标识。在一些实施例中,密码值可以由用户装置生成以标识特定代码。密码可以为所生成代码所独有。在一些实施例中,密码可以具有任何合适的大小(例如,最多8个字节)。

通用数据模板可以包括一个或多个时间戳数据字段。例如,时间戳数据可以存储在两个数据字段中。这些数据字段中的每一个都可以分别用标记“9F36”和“9F27”(或其它合适的标识符)标识。这两个数据字段的合并数据可以包含生成代码的日期和/或时间。在一些实施例中,可以利用单个数据字段来存储此类时间戳数据。

通用数据模板可以包括证书颁发机构公钥索引数据字段。此数据字段可以用标记“8F”(或另一合适的标识符)标识。证书颁发机构公钥索引可以包括标识生成公钥证书字段中包含的公钥证书的证书颁发机构的值。在一些实施例中,可以从此数据字段检取证书颁发机构公钥索引,并利用所述证书颁发机构公钥索引来标识对应于证书颁发机构的特定公钥。

通用数据模板可以包括公钥证书数据字段。此数据字段可以用标记“9F46”(或另一合适的标识符)标识。在一些实施例中,公钥证书数据字段可以包含数字证书(例如,根据图3的证书规范300格式化的数字证书)。公钥证书数据字段可以具有任何合适的大小,以包含图3的对应于与特定装置(或特定用户和/或账户)相关联的公钥证书的数据字段的任何合适组合。

通用数据模板可以进一步包括数字签名数据字段。此数据字段可以通过标记“9F4B”(或任何合适的标识符)标识。数字签名数据字段可以包含对应于代码的一个或多个其它数据字段的数字签名的值。作为示例,用户装置可以被配置成对图5中论述的所有(或某一部分)其它数据字段的值进行哈希处理,以生成哈希值。然后,用户装置可以利用私钥和密码算法(例如,椭圆曲线密码算法)来生成数字签名值。然后,可以将此值存储在数字签名数据字段中,用于后续验证过程。

返回到图4,在步骤402处,用户装置102可以从敏感数据(例如,对应于图5的数据规范500的数据字段的敏感数据)生成代码。可以从装置的本地存储器收集敏感数据。在一些实施例中,用户装置102可以生成至少一些敏感数据。作为示例,用户装置102可以对敏感数据的任何合适数量的数据字段(例如,图5中指示的阴影字段,对应于磁道2等效数据字段、应用程序交换配置文件数据字段、应用程序数据字段以及一个或多个时间戳数据字段)进行哈希处理。哈希值和用户装置102私钥(存储在本地存储器中)可以与密码算法一起使用以生成数字签名。然后,此数字签名在转换为代码和/或用于生成代码之前可以包括在敏感数据中。在一些实施例中,此代码可以是视觉的,例如快速响应(QR)码。在一些实施例中,结合数据规范500论述的数据可以利用任何合适的过程转换成QR码。

作为转换/代码生成过程的非限制性示例,数据规范500中所示的数据(例如,敏感数据)可以转换成基本64编码的字符串(例如,如RFC 4648中所定义),然后转换成符合ISO18004的QR码符号。在一些实施例中,此转换可以利用默认扩展通道解释和字节模式。此转换可进一步利用错误校正电平L、M、Q或H,以及如ISO 18004中所定义值p。在一些实施例中,转换可以确定将适应数据规范500中所示的数据(或者被转换的实际数据)的最小QR码版本。在此转换期间可以执行数据屏蔽,如ISO 18004中定义的那样,并且可以根据ISO 18004利用正常定向和正常反射布置。

在一些实施例中,代替视觉代码(或除了视觉代码之外),用户装置102可以生成音频代码。作为非限制性示例,用户装置102可以利用任何合适的频移键控(FSK)和/或调频方案将敏感数据转换成声音。FSK和/或调频既定指代可以通过音调的频率(或音高)变化来表示数字数据的技术。然后,此数字数据可以作为通过解释这些音高变化/调制提取的声音和嵌入数据而发送。

在404处,可以在用户装置的I/O装置处提供所生成代码。如果所生成代码为视觉代码(例如,嵌入有敏感数据的QR码),则可以在用户装置102的显示器上提供所生成代码。如果所生成代码为音频代码(例如,嵌入有敏感数据的声音),则可以经由用户装置102的扬声器呈现所生成代码。在一些实施例中,用户装置102可以生成视觉代码和音频代码并且分别经由用户装置102的显示器和扬声器呈现所生成代码中的每一个。

在406处,可以由访问装置118获得代码。作为示例,访问装置118可以包括条形码阅读器、扫描器、摄像头或被配置成捕获视觉代码(例如,图1的QR码114)的任何合适的输入/输出(I/O)装置。在一些实施例中,此视觉代码可以在用户装置102的显示器处呈现并且由访问装置118的I/O装置读取。在一些实施例中,访问装置118可以包括麦克风或被配置成捕获音频代码(例如,图1的声音115)的另一合适的I/O装置。一旦获得代码,就可以根据预定方案转换所述代码。作为示例,QR码可以转换回二进制数据以提取嵌入的敏感数据。如果代码呈声音形式,则可以根据预定方案解释声音的各种调制以提取嵌入的敏感数据。

在408处,访问装置118可以验证从代码中提取的数据。在一些实施例中,访问装置118可以从提取自代码的敏感数据获得证书公钥索引值。访问装置118可以利用获得的证书公钥索引值来执行查找和/或检取与证书公钥索引值相关联的公钥。访问装置118有可能存储各自与不同的证书颁发机构相关联的多个公钥。利用证书公钥索引值可确保使用了与认证证书颁发机构(例如,被认为生成包括在提取的敏感数据中的公钥证书的证书颁发机构)相关联的正确公钥。一旦检取了CA的公钥,就可以将所述公钥与密码算法(例如,椭圆曲线密码算法)一起使用以验证敏感的公钥证书尚未被更改。作为示例,CA的公钥和证书的数字签名(例如,图3的数据字段8)可以作为输入提供到密码算法。在一些实施例中,可以在证书中指定所利用的特定密码算法。例如,图3的数据字段3可以特定针对要用于验证证书的数字签名的特定算法套件。鉴于上述输入,密码算法可以输出所得值。根据预定方案,访问装置118可以对数字证书的一个或多个数据字段(例如,图3的数据字段1-7)进行哈希处理,以计算哈希值。如果计算哈希值与从密码算法获得的所得值匹配,则证书可以被视为有效的(例如,未更改)。如果计算得出的哈希值与所得值不匹配,则证书可以被视为无效的(例如,未更改)。如果证书无效,则访问装置118可以拒绝访问用户装置102并终止处理。

如果证书被确定为有效,则访问装置118可以从证书中提取与用户装置102相关联的公钥(例如,数据字段7)。访问装置118可以使用与用户装置102相关联的检取公钥来验证敏感数据。例如,可以利用与用户装置102相关联的公钥、包含在敏感数据中的数字签名和/或敏感数据的任何合适部分来验证敏感数据(例如,确定敏感数据是否已被更改)。作为非限制性示例,与用户装置102相关联的公钥和数字签名可以作为输入提供到密码算法(例如,与上文利用的密码算法相同或不同的密码算法)中以获得所得值。访问装置118可以对数据字段(例如,图5的阴影数据字段,对应于磁道2等效数据字段、应用程序交换配置文件数据字段、应用程序数据字段和一个或多个时间戳数据字段)的预定组合进行哈希处理,以生成计算得出的哈希值,并且计算得出的哈希值可以与所得值进行比较。如果所述值匹配,则访问装置118可以被配置成确定从代码提取的敏感数据是有效的(例如,未更改)。如果所述值不匹配,则访问装置118可以被配置成拒绝访问并终止处理。

在410处,访问装置118可以(任选地)处理时序约束。作为示例,可以预定的是有效代码(例如,视觉代码或音频代码)必须在访问请求的预定时间段内生成。也就是说,可以预定的是代码必须在访问装置118获得和/或处理代码以使代码有效之前的10分钟、5分钟、30秒内生成。因此,访问装置118可以被配置成将当前时间与由敏感数据的一个或多个时间戳数据字段指示的时间进行比较。在一些实施例中,并且如上所述,敏感数据的一个或多个时间戳数据字段可以指示生成代码的日期和/或时间。应了解,在一些实施例中,一个时间戳数据字段可以指示日期,并且另一时间戳数据字段可以指示时间。在一些实施例中,两个时间戳数据字段的组合可以用来标识生成代码的日期和/或时间。如果比较指示代码是在分配的时间段之外(例如,在当前时间之前多于或等于10分钟)生成的,则访问装置118可以被配置成拒绝访问并终止处理。如果比较指示代码是在分配的时间段内(例如,在当前时间之前的10分钟内)生成的,则访问装置118可以执行另外的操作。

代替处理时序约束或除了处理时序约束之外,访问装置118可以被配置成在412处处理限制。在一些实施例中,访问装置118可以维护对应于被拒绝访问的标识符的受限标识符列表。在一些实施例中,访问装置118可以从敏感数据提取任何合适的标识符(例如,包含在磁道2等效数据字段中的账户标识符)。提取的标识符可以与受限标识符列表进行比较。如果提取的标识符与列表上的标识符匹配,则访问装置118可以拒绝访问并终止处理。如果提取的标识符与列表上的任何标识符都不匹配,则访问装置118可以执行另外的操作。

在414处,访问装置118可以被配置成基于操作408-412的任何合适的组合而授权或拒绝访问用户装置102。例如,如果敏感数据被确定为无效,和/或代码被确定为陈旧的(例如,早于分配的时间段),和/或敏感数据中包含的标识符与受限标识符匹配,则访问装置118可被配置成拒绝访问用户装置102。如果敏感数据有效,则将及时生成代码(如果强制执行时序约束),并且如果敏感数据中包含的标识符未出现在受限列表中(如果采用受限列表),则访问装置118可以被配置成授予访问。

在一些实施例中,访问装置118可以支持在线交易。在这些实施例中,在416处,访问装置118可以(例如,经由图1的传送计算机106和/或中央服务器计算机108)向授权实体计算机110发送授权请求消息。授权请求消息可以是敏感数据的任何合适部分。在一些实施例中,授权请求消息可以包括对应于已授权访问的支付的金额。在418处,授权实体计算机110可以处理数据以生成授权响应消息,所述授权响应消息可以在任何合适的时间返回到访问装置118。可关于图7更深入地论述此过程。

图6示出了根据一些实施例的用于执行离线认证的方法的流程图。方法600可以由计算装置(例如,图1的访问装置118)执行。计算装置可以包括一个或多个处理器和存储计算机可执行指令的一个或多个存储器,其中由一个或多个处理器执行计算机可执行指令使计算装置执行方法600。图6所示和下面描述的步骤可以与图1中的交易处理的描述及其对应描述结合使用。那些描述以引用的方式并入本文中。

方法600可以在框602处开始,其中可以接收与证书颁发机构(例如,图1的中央服务器计算机108,其部分地作为证书颁发机构工作)相关联的第一公钥。在一些实施例中,第一公钥可以由证书颁发机构以任何合适方式(例如,根据图2的方法200)分发。

方法600的其余步骤可以由访问装置118当在离线模式下工作时执行。在一些实施例中,当访问装置118不与远程装置(例如,资源提供商计算机、传送计算机、中央服务器计算机、授权实体计算机)通信时,所述访问装置可以在离线模式下工作以执行其处理。

所述方法可以继续到604,其中可以在单向通信中获得来自用户装置(例如,图1的用户装置102)的数据包。数据包可以包括敏感数据的任何合适部分,并且可以呈视觉代码和/或音频代码的形式。作为示例,数据包可以包括图5的数据规范500的数据字段,并且可以呈QR码、声音或任何合适的视觉代码和/或音频代码的形式。

在606处,可以转换数据包以获得交互数据(例如,数据包中包含的敏感数据、图5的数据规范500中指定的数据字段)。例如,数据包可以至少包括由证书颁发机构(例如,中央服务器计算机108)认证的数字证书和由用户装置(例如,用户装置102)生成的数字签名值。

在608处,可以利用数字证书和与证书颁发机构相关联的第一公钥来获得与用户装置(例如,用户装置102)相关联的第二公钥。作为示例,数据包中包括的证书可以与在图4的406处所描述的方式类似的方式来验证。第一公钥和数字证书的数字签名可以输入到密码算法中以获得所得值。可以对证书的对应数据字段进行哈希处理以生成哈希值。如果所得值与哈希值匹配,则证书可以被视为有效的(例如,未更改)。如果有效,则访问装置可以被配置成从证书检取与用户装置相关联的第二公钥。

在610处,访问装置可以至少部分地基于数字签名值和与用户装置相关联的第二公钥而确定交互数据的有效性。如上所述,还结合图4的406,可以将第二公钥和包括在数据包中的数字签名值提供到密码算法以生成所得值。还可以对数据包的一个或多个数据字段进行哈希处理以生成哈希值。如果所得值与哈希值匹配,则数据包可以被确定为有效的。如果所得值与哈希值不匹配,则数据包可以被确定为无效的并且不会进行进一步处理。

在612处,当交互数据被确定为有效时,访问装置可以被配置成对交互数据的标识符进行授权。作为示例,可以从交互数据(例如,转换的数据包数据)检取标识符,例如账户标识符。访问装置可以维护受限标识符列表。如果在受限标识符列表上找到账户标识符,则访问装置可以被配置成拒绝访问并终止处理。

在614处,访问装置可以至少部分地基于确定交互数据的标识符被授权(例如,账户标识符不在受限标识符列表上)而提供访问。

图7示出了交易处理系统700的框图。图7示出了可以操作用户装置710(例如,上图的用户装置102的示例)的用户706(例如,图1的用户103)。用户706可以使用用户装置710在例如商家(例如,交通机构)等资源提供商处为例如票证等商品或服务付费。商家可以操作资源提供商计算机730和/或访问装置720(例如,上图的访问装置118的示例)。经由收单方所操作的传送计算机740(例如,传送计算机106)和作为支付处理网络的部分工作的处理网络计算机750(例如,图1的中央服务器计算机108的示例),资源提供商计算机106可以与由发行方操作的授权实体计算机760(例如,图1的授权实体计算机110)进行通信。

支付处理网络可以包括用以支持和递送授权服务、异常文件服务以及清算和结算服务的数据处理子系统、网络和操作。示例性支付处理网络可以包括VisaNet

可以如下描述在访问装置720(例如,交通旋转栅门)处使用用户装置710的典型支付交易流程。用户装置710和访问装置720可以执行如上所述的方法400的步骤。如果用户装置710被授予访问,则可以由访问装置720生成交易消息,以继续与已授权访问相关联的支付。在一些实施例中,由访问装置720生成的交易消息可以包含任何合适的数据,例如被授予访问的敏感数据的任何合适部分。作为示例,交易消息可以包括由用户装置710生成并由访问装置720获得的代码中指示的磁道2数据。交易消息可以进一步指示对应于已授权访问的金额(例如,支付价格)。

资源提供商计算机730可以经由外部通信接口从访问装置720接收此信息。然后,资源提供商计算机730可以生成授权请求消息并将此消息以电子方式发送到传送计算机410,所述授权请求消息包括从访问装置720接收到的信息的至少一部分。然后,传送计算机740可以接收、处理授权请求消息并将授权请求消息转发到处理网络计算机750以用于授权。

一般来说,在发生信用卡或借记卡交易之前,处理网络计算机750已经与每个发行方建立了关于如何对发行方的交易进行授权的协议。在一些情况下,例如当交易金额低于阈值时,处理网络计算机750可以被配置成基于其具有的关于用户账户的信息对交易进行授权,而无需生成授权请求消息并且将授权请求消息发送到授权实体计算机760。在其它情况下,例如当交易金额高于阈值时,处理网络计算机750可以接收授权请求消息,确定与用户装置710相关联的发行方,并将用于交易的授权请求消息转发到授权实体计算机760以用于验证和授权。一旦交易被授权,授权实体计算机760就可以生成授权响应消息(其可以包括指示交易被批准或拒绝的授权代码)并且经由其外部通信接口将此电子消息发送到处理网络计算机750。然后,处理网络计算机750可以将授权响应消息转发到传送计算机740,接着,所述传送计算机又可以将包括授权指示的电子消息发送到资源提供商计算机730,然后发送到访问装置720。

在一天结束时或以某个其它合适的时间间隔,可以对所述交易执行资源提供商计算机730、传送计算机740、处理网络计算机750和/或授权实体计算机760之间的清算和结算过程。

图8示出了建筑物访问系统800的框图。图8示出了由用户806(例如,图1的用户103)操作的用户装置810(例如,图1的用户装置102)。用户装置810可以与访问装置820(例如,上图的访问装置118的示例)交互,并以代码(例如,视觉代码和/或音频代码)的形式传递敏感数据,如上文结合图4的方法400所描述。访问装置820可以被配置成经由麦克风、扫描仪、成像装置等等从用户装置810获得敏感数据。访问装置820可以通过以上文所描述的方式转换代码来提取敏感数据。敏感数据可以包括与用户装置810相关联并由证书颁发机构认证的数字证书,所述证书颁发机构的身份可以在敏感数据中(例如,经由CA公钥索引)指示。通过检取和利用与证书颁发机构相关联并存储在访问装置820处的本地存储器中的公钥,访问装置820可以从包括在敏感数据中的数字证书检取与用户装置810相关联的公钥。与用户装置810相关联的公钥可以用于确定敏感数据是否有效(例如,未更改)。例如,由用户装置810生成并且包括在敏感数据中的数字签名值可以利用与用户装置810相关联的公钥和密码算法(例如,椭圆曲线密码算法)来提取。可以对敏感数据的数个预定数据字段进行哈希处理,并且可以将所述哈希值与提取的数字签名值进行比较。如果所述值匹配,则访问装置820可以被配置成确定敏感数据是有效的(例如,未更改)。如果所述值不匹配,则访问装置820可以被配置成确定敏感数据是无效的(例如,已更改)。如果数据无效,则访问装置820可以拒绝访问建筑物830。如果数据有效,则访问装置820可以授权访问建筑物830或执行进一步处理。

在一些实施例中,即使数据被确定为有效,访问装置820也可以被配置成执行额外处理。例如,敏感数据的时间戳数据可以用来确定包含敏感数据的代码由用户装置810生成的日期和/或时间。如果代码生成的日期和/或时间超过当前时间之前的预定时间段,则访问装置820可以拒绝访问建筑物830。如果代码生成的数据和/或时间是在当前时间之前的预定时间段,则访问装置820可以授权访问建筑物830或进行进一步处理。例如,代替时序处理,或除了上述时序处理之外,访问装置820可以被配置成对照受限标识符列表检查敏感数据中包括的标识符。受限标识符列表可以包括访问将被拒绝的所有标识符。在一些实施例中,如果访问装置820确定敏感数据中包括的标识符不包括在受限标识符列表中,则访问装置820可以授权访问建筑物830。然而,如果敏感数据中包括的标识符也包括在受限标识符列表中,则访问装置820可以拒绝用户806访问建筑物830。

技术改进

通过利用本文所述的技术,实现了用于传送敏感数据的更安全的方式。敏感数据可以嵌入视觉代码和/或音频代码中,以使这些数据避开欺诈者的眼睛和耳朵。另外,敏感数据通过接收装置的读取器和/或麦克风直接传送,从而降低数据可能被拦截和可能被更改或被盗的可能性。通过利用此处所述的技术,可以减少敏感数据的总体数据占用空间,同时仍然获得与传统技术相同的安全性。通过传送此数据,实现了用于离线认证的方法,其允许在最少量的时间内在接收装置处认证用户,并且无需从服务器获得关于用户和/或用户装置的任何额外数据。

本文所述的任何计算装置可以是计算机系统的示例,所述计算机系统可用于实施上述任何实体或组件。此类计算机系统的子系统可以通过系统总线互连。额外子系统包括打印机、键盘、存储装置和监视器,所述监视器耦合到显示器适配器。外围设备和输入/输出(I/O)装置耦合到I/O控制器,并且可以通过本领域已知的许多手段中的任何一种(例如串行端口)连接到计算机系统。例如,I/O端口或外部接口可以用于将计算机设备连接到广域网(例如,因特网)、鼠标输入装置或扫描器。通过系统总线的互连可以允许中央处理器与每个子系统通信,并且控制来自系统存储器或存储装置的指令的执行,以及在子系统之间的信息交换。系统存储器和/或存储装置可以体现计算机可读介质。

如所描述,本发明的服务可涉及实施一个或多个功能、过程、操作或方法步骤。在一些实施例中,所述功能、过程、操作或方法步骤可以实施为由适当地被编程的计算装置、微处理器、数据处理器等执行指令集或软件代码的结果。指令集或软件代码可以存储在由计算装置、微处理器等存取的存储器或其它形式的数据存储元件中。在其它实施例中,功能、过程、操作或方法步骤可以由固件或专用处理器、集成电路等实施。

本申请中描述的任何软件组件或功能可以使用例如常规的或面向对象的技术并且使用任何合适的计算机语言(例如,Java、C++或Perl)实施为由处理器执行的软件代码。软件代码可以存储为例如随机存取存储器(RAM)、只读存储器(ROM)、例如硬盘驱动器或软盘的磁性介质或例如CD-ROM的光学介质的计算机可读介质上的一系列指令或命令。任何此类计算机可读介质可以驻存在单个计算设备上或单个计算设备内,并且可存在于系统或网络内的不同计算设备上或不同计算设备内。

以上描述是说明性的而不是限制性的。在所属领域的技术人员阅读了本公开后,本发明的许多变化将变得显而易见。因此,本发明的范围不应参考以上描述来确定,而是应参考未决的权利要求以及其完整范围或等效物来确定。

在不偏离本发明的范围的情况下,任何实施例的一个或多个特征可以与任何其它实施例的一个或多个特征组合。

除非明确指示有相反的意思,否则“一(a)”、“一个(an)”或“所述”的叙述旨在指示“一个或多个”。

上文所提及的所有专利、专利申请、公开和描述都出于所有目的以其全文引用的方式并入本文中。并非承认它们是现有技术。

相关技术
  • 用于安全执行离线认证的技术
  • 用于执行指纹认证的安全卡及基于此的安全卡处理系统及其处理方法
技术分类

06120113142453