[go: up one dir, main page]

CN112074835A - 执行安全操作的技术 - Google Patents

执行安全操作的技术 Download PDF

Info

Publication number
CN112074835A
CN112074835A CN201980029455.7A CN201980029455A CN112074835A CN 112074835 A CN112074835 A CN 112074835A CN 201980029455 A CN201980029455 A CN 201980029455A CN 112074835 A CN112074835 A CN 112074835A
Authority
CN
China
Prior art keywords
record
computer
request
key
cryptographic key
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.)
Granted
Application number
CN201980029455.7A
Other languages
English (en)
Other versions
CN112074835B (zh
Inventor
S·盖达姆
R·辛哈
A·路克斯
H·杨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Visa International Service Association
Original Assignee
Visa International Service Association
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Visa International Service Association filed Critical Visa International Service Association
Publication of CN112074835A publication Critical patent/CN112074835A/zh
Application granted granted Critical
Publication of CN112074835B publication Critical patent/CN112074835B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本文所述的系统和方法可用于以与由常规系统提供的方式相比更快且不大复杂的方式执行操作。加密记录可存储在用户装置处。所述加密记录可包括与所述用户装置先前请求的操作有关的条目。所述加密记录可使用动态值和与用户相关联的实体相关联的密钥进行加密。所述用户装置的请求的接收方计算机可被配置成使用在所述请求中提供的所述动态值和与所述实体相关联的所述密钥来导出最后用于对所述记录进行加密的一个或多个加密密钥。所述接收方计算机可对所述解密记录进行解密并修改以执行请求的操作,而所述用户装置不能这样做。

Description

执行安全操作的技术
相关申请交叉引用
本国际申请主张于2018年4月30日提交的第62/664,675号美国临时专利申请的优先权,所述美国临时专利申请的公开内容出于所有目的以全文引用的方式并入本文中。
背景技术
常规授权系统通常需要通过资源提供商计算机将授权请求消息传输到传送计算机再到处理网络计算机。处理网络计算机常规上被配置成将消息路由到授权实体计算机以进行授权处理。这种常规的传输路径包括一定量的固有时延。可以进行改进,以减少授权系统的时延,同时维护高度的安全性。
本发明的实施例单独地以及共同地解决了这些问题和其它问题。
发明内容
本发明的一个实施例涉及一种方法,所述方法包括从请求装置接收执行操作的请求。在一些实施例中,所述请求是在包括加密记录和第一动态值的请求消息中被接收的。加密记录可以包括与和请求装置的用户相关联的一个或多个先前执行的操作相对应的一个或多个条目的集合。所述方法可以进一步包括使用加密记录、与授权实体相关联的唯一密钥导出的第一密码密钥以及第一动态值来对请求进行授权。所述方法可以进一步包括至少部分地基于请求被授权而执行一个或多个操作。所述方法可以进一步包括生成修改后的加密记录,所述修改后的加密记录包括与所执行的一个或多个操作相关联的数据。所述方法可以进一步包括至少将修改后的加密记录和操作已被执行的指示传输到请求装置。
本发明的另一实施例涉及一种安全处理计算机,其包括一个或多个处理器以及存储可执行指令的一个或多个存储器,所述可执行指令在由一个或多个处理器执行时使安全处理计算机执行以上方法。在一些实施例中,一个或存储器包括第一安全存储器空间和第二安全存储器空间。第一安全存储器空间可以存储代码,所述代码在由所述一个或多个处理器执行时使安全处理计算机导出并生成一个或多个密码密钥。在一些实施例中,第二安全存储器空间存储代码,所述代码在由一个或多个处理器执行时使安全处理计算机对加密记录进行解密以生成解密记录并使用解密记录执行授权处理。在一些实施例中,第一安全存储器空间和第二安全存储器空间可以是相同的安全存储器空间。
本发明的另一实施例涉及一种授权实体计算机,其包括一个或多个处理器以及存储可执行指令的一个或多个存储器,所述可执行指令在由一个或多个处理器执行时使授权实体计算机执行方法。所述方法可以包括生成与授权实体相关联的唯一密钥。所述方法可以进一步包括从用户装置接收执行第一操作的第一请求。在一些实施例中,第一请求可在包括根据唯一密钥导出的第一密码密钥的第一请求消息中被接收。所述方法可以进一步包括至少部分地基于第一请求来执行第一操作。所述方法可进一步包括生成与和第一请求相关联的用户相对应的记录。在一些实施例中,所述记录可包括指示第一操作已被执行的记录条目。所述方法可以进一步包括至少部分地基于唯一密钥和第一动态值来生成第二密码密钥。所述方法可以进一步包括至少部分地基于记录、第一密码密钥以及第二密码密钥来生成加密记录。所述方法可以进一步包括将加密记录、第一动态值以及第一操作已被执行的指示传输到用户装置。
本发明的另一实施例涉及一种用户装置,其包括一个或多个处理器和存储可执行指令的一个或多个存储器,所述可执行指令在由一个或多个处理器执行时使得用户装置执行方法。所述方法可以包括将与授权实体相关联的第一密码密钥存储在所述一个或多个存储器中。在一些实施例中,第一密码密钥可以是根据与授权实体相关联的唯一密钥来导出的。所述唯一密钥对于用户装置而言可能是未知的。所述方法可以进一步包括接收指示请求第一操作的用户输入。所述方法可以进一步包括将执行第一操作的第一请求传输到授权实体计算机。在一些实施例中,第一请求可以是在包括第一密码密钥的第一请求消息中被传输的。所述方法可以进一步包括接收对第一请求的第一响应,所述第一响应是在包括第一加密记录、第一操作已被执行的指示以及与第一加密记录相关联的第一动态值的响应消息中被接收的。所述方法可以进一步包括显示指示第一操作已被执行的数据。所述方法可以进一步包括将第一加密记录和第一动态值存储在用户装置的一个或多个存储器中。
下文进一步详细描述本发明的这些和其它实施例。
附图说明
图1示出根据本发明的一些实施例的两个授权系统以及可用于减少授权处理时延的方法的框图。
图2示出根据至少一个实施例的安全处理计算机的框图。
图3A和3B各自示出根据一些实施例的注册过程。
图4示出根据一些实施例的用于使用加密记录执行操作(例如,加载操作)的方法。
图5示出根据一些实施例的示例性明文记录。
图6示出根据一些实施例的用于使用加密记录执行操作(例如,授权操作)的另一方法。
具体实施方式
本发明的实施例可提供用于执行授权处理和相关活动的示例性系统、装置和方法。尽管在下文提供的实例中可能参考了支付系统的交易,但是实施例不限于此。也就是说,本文中所描述的系统、方法和设备可用于任何合适的目的。
在论述本发明的实施例之前,描述一些术语可能有助于理解本发明的实施例。
“服务器计算机”通常可以是一台功能强大的计算机或计算机集群。例如,服务器计算机可以是大型主机、小型计算机集群或作为一个单元起作用的一组服务器。在一个实例中,服务器计算机可以是耦合到网络服务器的数据库服务器。服务器计算机可以与例如商家、支付处理网络、钱包提供商、商家、认证云、收单方或发行方之类的实体相关联。
“用户装置”可以是可处理信息并将信息传达到其它电子装置的任何合适的电子装置。用户装置可包括处理器和耦合到处理器的计算机可读介质,所述计算机可读介质包括可由处理器执行的代码。用户装置还可各自包括用于与彼此以及其它实体进行通信的外部通信接口。用户装置的实例可包括移动装置、笔记本电脑或台式计算机、可穿戴式装置、具有远程通信能力的车辆等。
“资源提供商”可以是能使资源对用户可用的实体。资源提供商的实例包括商家、销售商、供应商、所有者、贸易商等。在一些实施例中,此类实体可以是单个个人、个人小群组或者较大的个人群组(例如公司)。资源提供商可与一个或多个物理位置(例如,超市、商场、商店等)和在线平台(例如,移动应用程序、电子商务网站、在线公司等)相关联。在一些实施例中,资源提供商可以使实物项目(例如,商品、产品等)对用户可用。在其它实施例中,资源提供商可以使数字资源(例如,电子文档、电子文件等)对用户可用(例如,为用户提供访问权)。在其它实施例中,资源提供商可以管理用户对某些资源(例如,口令、代码等)的访问。
“资源提供商计算装置”可以包括与资源提供实体相关联的任何系统。在一些实施例中,资源提供商计算机可以处理与资源提供实体相关联的、用户可从中进行在线交易的移动应用程序和/或网站的功能。资源提供商计算装置还可被称为“资源提供商计算机”。“资源提供商计算机”可以是可由资源提供商或代表资源提供商操作的任何合适的计算装置。
“通信装置”可以是“用户装置”的实例,并且可以包括可由用户操作的任何合适的电子装置,所述电子装置还可提供与网络进行远程通信的能力。“移动通信装置”可以是可容易转移的“通信装置”的实例。远程通信能力的实例包括使用移动电话(无线)网络、无线数据网络(例如3G、4G或类似网络)、Wi-Fi、Wi-Max或可提供对例如互联网或专用网络之类的网络的访问的任何其它通信介质。移动装置的实例包括移动电话(例如,蜂窝电话)、PDA、平板计算机、上网本、笔记本电脑、个人音乐播放器、手持式专用读取器等。移动通信装置的其它实例包括可穿戴式装置,例如智能手表、健身手环、脚链、戒指、耳环等,以及具有远程通信能力的汽车。在一些实施例中,移动通信装置可以充当支付装置(例如,移动通信装置可以存储并且能够传输用于交易的支付凭证)。
“用户”可以包括个人。在一些实施例中,用户可以与一个或多个个人账户和/或移动装置相关联。在一些实施例中,用户也可被称为持卡人、账户持有人或消费者。
“收单方”通常可以是与特定商家或其它实体具有业务关系的业务实体(例如,商业银行)。一些实体可以执行发行方功能和收单方功能两者。一些实施例可以涵盖此类单个实体发行方-收单方。收单方可以操作收单方计算机,所述收单方计算机一般也可以被称为“传送计算机”。
“授权实体”可以是授权请求的实体。授权实体的实例可以是发行方、政府机构、文件存储库、访问管理员等。“授权实体计算机”可以是可由授权实体或代表授权实体操作的任何合适的计算装置。
“发行方”通常可以指维护用户账户的业务实体(例如银行)。发行方也可以向消费者发行存储在例如蜂窝电话、智能卡、平板计算机或笔记本电脑之类的用户装置上的支付凭证。发行方可以是授权实体的实例。
“记录”可以是数据的容器。记录可以是列表、数据库,或者记录也可以是任何合适的形式。“加密记录”是指已经使用任何合适的密码算法加密的记录。“加密”是指将数据转换成代码以防止未授权的访问的过程。如本文所使用的,加密可以包括向任何合适的加密算法提供输入,以获得所述输入的加密版本。类似地,“解密”是将加密代码转换为数据以实现对数据的访问的过程。如本文所使用,解密可以包括向任何合适的解密算法提供输入以获得所述输入的解密版本。
“处理网络计算机”可以包括用于处理网络数据的服务器计算机。在一些实施例中,处理网络计算机可以耦合到数据库,并且可以包括用于服务来自一个或多个客户端计算机的请求的任何硬件、软件、其它逻辑或前述项的组合。处理网络计算机可以包括一个或多个计算设备,并且可以使用各种计算结构、布置以及编译中的任一种来服务来自一个或多个客户端计算机的请求。在一些实施例中,处理网络计算机可以操作多个服务器计算机。在此类实施例中,每个服务器计算机都可以被配置成处理给定区域的交易或基于交易数据处理特定类型的交易。
处理网络计算机可以包括用于支持和传递授权服务、异常文件服务以及清算与结算服务的数据处理子系统、网络和操作。示例性处理网络计算机可以包括VisaNetTM。包括VisaNetTM在内的网络能够处理信用卡交易、借记卡交易和其它类型的商业交易。VisaNetTM具体包括处理授权请求的集成支付系统(集成支付系统)以及执行清算和结算服务的BaseII系统。处理网络计算机可以使用任何合适的有线或无线网络,包括互联网。
“授权请求消息”可以是发送到交易处理计算机和/或授权实体计算机(例如,支付卡的发行方)以请求交易授权的电子消息。根据一些实施例的授权请求消息可符合ISO8583,ISO 8583是用于交换与消费者使用支付装置或支付账户进行的支付相关联的电子交易信息的系统的标准。授权请求消息可以包括可以与支付装置或支付账户相关联的发行方账户标识符。授权请求消息还可以包括对应于“标识信息”的额外数据元素,仅举例来说,包括:服务代码、CVV(卡验证值)、dCVV(动态卡验证值)、到期日期等。授权请求消息还可以包括“交易信息”,例如与当前交易相关联的任何信息,例如,交易金额、商家标识符、商家位置等,以及可以用于确定是否标识和/或授权交易的任何其它信息。
“授权响应消息”可以是对由授权实体计算机或处理网络计算机生成的授权请求消息的电子消息答复。仅举例来说,授权响应消息可以包括以下状态指示符中的一个或多个:批准--交易被批准;拒绝--交易未被批准;或呼叫中心--响应未决的更多信息,商家必须呼叫免费授权电话号码。授权响应消息还可以包括授权代码,其可以是授权实体(例如,发行方银行)响应于电子消息中的授权请求消息(直接或通过交易处理计算机)传回资源提供商计算机的指示交易被批准的代码。所述代码可以充当授权的证据。在一些实施例中,处理网络计算机可以生成授权响应消息或将授权响应消息转发给资源提供商。
“数字签名”可以包括可用于验证数字数据真实性的值。有效的数字签名可以使接收者有理由相信数据是由已知实体创建的,创建者无法否认已经创建了数据,并且数据没有被更改。
“处理器”可以指代任何合适的一个或多个数据计算装置。处理器可以包括一起工作以实现所要功能的一个或多个微处理器。处理器可以包括CPU,所述CPU包括至少一个高速数据处理器,所述高速数据处理器足以执行程序组件以用于执行用户和/或系统生成的请求。CPU可以是微处理器,例如AMD的Athlon、Duron和/或Opteron;IBM和/或Motorola的PowerPC;IBM和Sony的Cell处理器;Intel的Celeron、Itanium、Pentium、Xeon和/或XScale;和/或者类似的一个或多个处理器。
“存储器”可以是可存储电子数据的任何合适的一个或多个装置。合适的存储器可以包括非瞬态计算机可读介质,其存储可由处理器执行以实施所要方法的指令。存储器的实例可以包括一个或多个存储器芯片、磁盘驱动器等。此类存储器可以使用任何合适的电气、光学和/或磁性操作模式来操作。
在以下实例中,描述了各种加密和解密过程。合适的加密和/或解密过程可以包括使用AES、DES、三重DES等。
在以下实例中,对作为示例性使用范例的支付进行了讨论。然而,应理解,所述方法和系统可以用于其它情境,包括对网络上的安全数据的访问或两个实体之间的任何其它合适的交互。
图1示出根据本发明的一些实施例的示例性授权系统100以及可用于减少授权处理时延的方法的框图。如图1所示,常规授权系统可以包括若干组件。举例来说,常规授权系统可以包括可操作用户装置104的用户(例如,用户102)。用户102可以使用用户装置104来支付由资源提供商计算机106托管的商品或服务网站。资源提供商计算机106可以由资源提供商(例如,商家)操作或代表资源提供商操作。应了解,与资源提供商相关联的网站可以由与资源提供商计算机106分离但与资源提供商计算机106进行通信的计算装置(图中未示)托管。经由作为处理网络(例如,支付处理网络)的部分运行的收单方和处理网络计算机(例如,处理网络计算机)操作或代表其操作的传送计算机(例如,传送计算机110),资源提供商计算机106可以与由授权实体(例如,发行方)操作或代表所述授权实体操作的授权实体计算机(例如,授权实体计算机108)进行通信。
处理网络可以包括用于支持和传递授权服务、异常文件服务以及清算与结算服务的数据处理子系统、网络和操作。示例性处理网络可以包括VisaNetTM。例如VisaNetTM的处理网络能够处理信用卡交易、借记卡交易以及其它类型的商业交易。VisaNetTM具体包括处理授权请求的VIP系统(Visa集成式支付系统)和执行清算和结算服务的Base II系统。处理网络可以使用包括互联网的任何合适的有线或无线网络。
使用用户装置104的常规授权流程可以如下描述。用户装置104可以与网站或由资源提供商计算机106提供/托管的其它外部接口交互,以发起执行操作的请求(例如,授权交易的请求)。举例来说,用户装置104可以在网站处或由资源提供商计算机106提供的外部接口处发起交易(例如,支付交易)。除了其它事项之外,用户装置104可以提供要用以执行交易的交易数据(例如,交易金额、支付数据等)。支付数据可以包括账号、到期日期、代码、密码、PIN等。
资源提供商计算机106可以经由外部通信接口从用户装置104接收此交易数据。然后,资源提供商计算机106可以生成授权请求消息,所述授权请求消息包括从用户装置104接收的信息的至少一部分并且将此消息以电子方式传输到传送计算机110。然后,传送计算机110可以接收、处理授权请求消息并且将授权请求消息转发到处理网络计算机112以用于授权。
一般来说,在发生信用卡或借记卡交易之前,处理网络计算机112已经与每个发行方建立了关于如何对发行方的交易进行授权的协议。在一些情况下,例如当交易金额低于阈值时,处理网络计算机112可以被配置成基于其具有的关于用户账户的信息对交易进行授权,而无需生成授权请求消息并且将授权请求消息传输到授权实体计算机108。在其它情况下,例如当交易金额高于阈值时,处理网络计算机112可以接收授权请求消息,确定与用户装置104相关联的授权实体(或与用户102相关联的账户),并且将用于交易的授权请求消息转发到授权实体计算机108以用于验证和授权。一旦交易被授权,授权实体计算机108就可以生成授权响应消息(其可以包括指示交易被批准或拒绝的授权代码)并且经由其外部通信接口将此电子消息传输到处理网络计算机112。然后,处理网络计算机112可以将授权响应消息转发到传送计算机110,传送计算机110继而可以将包括授权指示的电子消息传输到资源提供商计算机106,然后在一些情况下,传输到用户装置104。
在当天结束时或在某一其它合适的时间间隔处,可以针对交易执行资源提供商计算机106、传送计算机110、处理网络计算机112和/或授权实体计算机108之间的清算和结算处理。
在一些实施例中,授权系统100可以包括用户102、用户装置104、资源提供商计算机106、授权实体计算机108和安全处理计算机114。在一些情况下,安全处理计算机可以是许多安全处理计算机中的一个。例如,安全处理计算机114可以由授权实体计算机108启动和/或操作,或代表授权实体计算机108启动和/或操作。可以在授权系统100中使用安全处理计算机114的任何合适数目个实例。例如,安全处理计算机114的一个实例可以被配置成管理涉及特定授权实体(例如,金融机构1)的操作(例如,授权交易、授权操作等),而安全处理计算机114的另一实例可以被配置成管理涉及另一授权实体(例如,金融机构2)的操作。可以在任何合适的位置处维护账号范围与安全处理计算机114的地址之间的映射,所述安全处理计算机被配置成执行与所述账号范围相关联的特定授权实体相关联的操作。例如,资源提供商计算机106可以被配置成存储此类映射。资源提供商计算机106可以被配置成使用映射来将执行操作的请求(例如,经由请求消息、经由授权请求消息)路由到与对应于所述请求的授权实体(例如,管理与用户102相关联的账户的授权实体)相关联的安全处理计算机114。
使用本文所述的技术,授权系统100可以省略通过包括传送计算机110、处理网络计算机112以及授权实体计算机108的常规授权路径的路由。例如,在一些实施例中,授权请求消息将不再需要按常规系统的要求被传输到传送计算机110、处理网络计算机112以及授权实体计算机108。类似地,授权响应消息将不再需要从授权实体计算机108传输到处理网络计算机112、到传送计算机110,以便由资源提供商计算机106接收。如图所示,对于执行例如交易(例如,加载操作、花费操作)的授权之类的操作的请求可以(例如,经由授权请求消息)直接传输到可信任计算机(例如,安全处理计算机114),并且可以直接通过所述可信任计算机以安全可信任的方式进行授权。类似地,响应(例如,授权响应消息)可以由安全处理计算机114直接而非通过常规响应路径传输到资源提供商计算机106。由此,本文中所公开的实施例可以比常规授权系统快得多地被执行。
在当天结束时或在某一其它合适的时间间隔处,可以针对交易执行资源提供商计算机106、传送计算机110、处理网络计算机112和/或授权实体计算机108之间的清算和结算处理。
图2示出根据至少一个实施例的图1的安全处理计算机114的框图。
安全处理计算机114可以包括中央处理器204。中央处理器204可以耦合到系统存储器206和外部通信接口208。安全处理计算机114可以包括芯片组210。芯片组210可以包括可与芯片组存储器214耦合的芯片组处理器212。芯片组存储器214可以被配置成存储用于执行本文中相对于芯片组操作所描述的功能的芯片组指令(例如,固件或配置逻辑)。
芯片组存储器214可以包括可由芯片组处理器212执行以用于初始化和管理例如安全存储器空间218之类的一个或多个安全存储器空间(例如,英特尔SGX飞地(Intel SGXenclave))的代码。安全存储器空间218能可操作地耦合到芯片组处理器212,并且安全存储器空间218可以包括密钥管理器220和/或授权管理器222。尽管图5将密钥管理器220和授权管理器222描绘为存储在单个存储器空间(例如,安全存储器空间218)中,但是应了解,密钥管理器220和授权管理器222可以存储在单独的存储器空间中而不一定存储在同一安全处理计算机上。因此,密钥管理器220可以驻存在一个安全处理计算机上的安全存储器空间中,而授权管理器222可以驻存在另一安全处理计算机上的不同存储器空间上。芯片组处理器212可以被配置成施行访问控制协议以限制对安全存储器空间218的访问。使用这些访问控制协议,芯片组处理器212可以限制对安全存储器空间218的访问,使得仅安全存储器空间218的软件组件(例如,密钥管理器220、授权管理器222等)可以访问可以访问安全存储器空间218内的内容(例如,数据存储区224)。在至少一个实施例中,数据存储区224可以被配置成存储一个或多个密码密钥,如下文更详细地论述。以此方式,安全存储器空间218可能对于安全处理计算机114上运行的包括安全处理计算机114的操作系统在内的所有其它软件都不可访问。
数据存储区224可以使用各种数据结构实施,所述数据结构例如阵列、散列图、(链接的)列表、结构化文本文件(例如,XML)、表等。此类数据结构可以存储在存储器中和/或结构化文件中。数据存储区224可以被配置成驻存在安全存储器空间218内。可以根据由芯片组处理器212施行的访问控制协议来执行对数据存储区224的访问。在一些实施例中,数据存储区224可以被配置成存储一个或多个密码密钥。芯片组处理器212在执行包含于船组存储器214中的代码时,可以施行对数据存储区224的访问控制,以使得数据存储区224的内容可以由芯片组处理器212经由密钥管理器220的功能调用的执行来访问,并且不可以通过任何其它方式访问。
芯片组存储器214可以包括代码,所述代码在由芯片组处理器212执行时可以创建并管理安全存储器空间,例如安全存储器空间218的一个或多个实例。在一些实施例中,中央处理器204可以初始地加载密钥管理器220和/或授权管理器222的代码和数据。在初始化期间或另一合适时间,中央处理器204可以将安全存储器空间请求传输到芯片组处理器212。在接收后,芯片组处理器212可以执行存储在芯片组存储器214中的指令以初始化并配置安全存储器空间218。在一些实施例中,芯片组处理器212然后可以将密钥管理器220和/或授权管理器222的代码和数据从未受保护的存储器(例如,未描绘)复制到安全存储器空间218中。然后,芯片组处理器512可以被配置成使用存储在芯片组存储器214中且仅可由芯片组处理器212访问的加密密钥对安全存储器空间218的内容进行加密(例如,密码方式散列化)。在一些实施例中,加密密钥可以被硬编码到芯片组存储器214中。加密确保存储在安全存储器空间218中的代码和数据无法由包括系统软件的其它软件或其它装置访问。在一些实施例中,芯片组处理器212可以一次支持多个安全存储器空间。可替换地,安全存储器空间218可以被称为“飞地(Enclave)”。应了解,在一些实施例中,芯片组处理器212的功能可替代地由中央处理器204使用内置于中央处理器204中的安全相关指令代码来执行。此类代码的一个实例可以包括英特尔软件保护扩展(Intel Software Guard Extensions)。
在一些实施例中,密钥管理器220可以包括代码,所述代码在由芯片组处理器212执行时使密钥管理器220(例如,从例如图1的授权实体计算机108之类的授权实体计算机)接收密码密钥。可以在通过授权实体计算机执行的注册过程期间经由注册请求消息接收密码密钥。注册请求消息可以具有任何合适的格式,并且可以至少包括与授权实体相关联的密码密钥和标识数据(例如,授权实体的名称、与授权实体相关联的公钥、与授权实体相关联的证书等)。密码密钥对于授权实体可以是唯一的。密钥管理器220可以被配置成使芯片组处理器212将任何合适数目个接收的密码密钥存储在数据存储区224中。在一些实施例中,每个密码密钥可以对应于特定授权实体(例如,特定金融机构)。在一些情况下,密钥管理器220可以被配置成使芯片组处理器212响应于接收和/或存储密码密钥而传输注册响应消息。举例来说,密钥管理器220可以使芯片组处理器212将任何合适的数据传输到密码密钥的发送者(例如授权实体计算机),所述数据指示密码密钥被成功接收和/或注册和/或存储。一旦与授权实体相关联的密码密钥存储在数据存储区224中,与授权实体相关联的密钥就可以被视为已注册。
在一些实施例中,密钥管理器220可以被配置成使得芯片组处理器212接收(例如,如结合图6所述,从授权管理器222接收)密码密钥生成请求。响应于请求,芯片组处理器212可以根据本文所述的方法生成一个或多个密码密钥。在一些实施例中,密钥管理器220可以被配置成使得芯片组处理器212执行具有特定输入的密钥导出函数以生成如以下图中所描述的密码密钥。在一些实施例中,密钥管理器220可以以通信方式耦合到授权管理器222,并且可以经由来自授权管理器222的一个或多个功能调用而激发密钥管理器220的功能。在生成密码密钥之后,密钥管理器220可以使芯片组处理器212将密码密钥传回到请求装置/组件(例如,授权管理器222)。
在一些实施例中,密钥管理器220可以被配置成使芯片组处理器212接收一个或多个数字证书(例如,作为密码密钥生成请求的一部分或其它情况)并使用数字证书来执行结合图3、4和6的任何合适的验证技术,以验证与请求相关联的一个或多个实体(例如,用户、授权实体、资源提供商等)的身份。密钥管理器220可以进一步被配置成验证从授权管理器222接收的动态值先前是否未用于生成先前生成的密码密钥。
在一些实施例中,授权管理器222可以配置有代码,所述代码在由芯片组处理器212执行时使芯片组处理器212接收并处理执行操作的请求。在一些实施例中,可以将执行操作的请求(例如,请求对在特定商家处花费10美元的交易进行授权)格式化为授权请求消息。这些请求可以由用户装置(例如,用户装置104)发起并且由授权管理器222从资源提供商计算机(例如,图1的资源提供商计算机106)接收。在一些实施例中,授权请求消息的接收可以被视为执行操作的请求。授权请求消息可以包括有效负载,所述有效负载包括与用户(例如,图1的用户102)相关联的加密记录。在一些实施例中,加密记录可以进一步与授权实体(例如,管理与用户相关联的账户的授权实体)相关联。加密记录可以包括指示用户装置104请求并且由授权实体计算机108或授权管理器222的实例成功地执行的先前操作的一个或多个条目。有效负载可以进一步包括一个或多个数字证书、密码密钥(例如,与授权实体相关联的密码密钥)、金额、动态值、与借以处理授权请求消息的安全处理计算机114相关联的地址,或以上任何合适的组合。授权管理器222可以被配置成使芯片组处理器212从密钥管理器220请求和/或接收一个或多个密码密钥。在一些实施例中,授权管理器222可以被配置成生成任何合适数目个动态值(例如,临时值、随机数、随着每个请求而改变的计数器等)。
在一些实施例中,作为授权过程的一部分,授权管理器222可以被配置成使芯片组处理器212使用经由请求消息和/或密钥管理器220接收到的一个或多个加密密钥对接收的加密记录进行解密。在一些实施例中,授权管理器222可以被配置成使得芯片组处理器212汇总与解密记录的一组条目相关联的共同数据字段。作为非限制性实例,记录可以包括对应于先前执行的与用户102相关联的加载操作和/或花费操作的数据条目。授权管理器222可以被配置成例如对记录的所有加载操作的加载值进行汇总,以确定第一值(例如,记录的所有加载操作的总值)。作为另一实例,授权管理器222可以被配置成对记录的所有花费操作的花费值进行汇总,以确定第二值(例如,记录的所有花费操作的总值)。授权管理器222可以被配置成在第一值大于或等于第二值与包括在请求中的金额的总和时对所述请求进行授权。
如果第一值小于第二值与包括在请求中的金额的总和,则授权管理器222可以被配置成拒绝请求,并且可以将响应消息(例如,授权响应消息)传输回请求装置(例如,资源提供商计算机106)。另外,授权管理器222可以被配置成使芯片组处理器212执行对应于所述请求的一个或多个操作。举例来说,授权管理器222可以使芯片组处理器212将对应于请求和/或与请求相关的数据添加/附加到记录。
一旦已将数据添加或附加到所述记录,授权管理器222便可以被配置成使芯片组处理器212请求一个或多个(例如,来自密钥管理器220的)额外加密密钥。可以至少部分地基于与授权实体相关联的唯一密钥(例如,在通过授权实体计算机108执行的注册过程期间由密钥管理器220接收的密钥)以及由授权管理器222或密钥管理器220生成的动态值而导出/生成加密密钥。例如,可以通过提交使用图1的安全处理计算机114和授权实体计算机108已知的密钥导出函数来生成加密密钥。在获得这些加密密钥之后,授权管理器222可以使芯片组处理器212使用所获得的加密密钥(或根据所获得的加密密钥生成的另一加密密钥)对记录进行加密。授权管理器222可以被配置成使芯片组处理器212将加密记录和用于导出/生成用于对记录进行加密的至少一个加密密钥的动态值传输到请求装置。在一些实施例中,可以经由授权响应消息来传输加密记录和动态值。传输还可以包括请求被授权和/或请求的操作(例如,授权操作)已被执行的指示。
图3A和3B各自示出根据一些实施例的注册方法。图3A示出由图1的授权实体计算机108和图2的密钥管理器220执行的示例性注册方法300A。图3B示出由图1的用户装置104和授权实体计算机108执行的示例性注册方法300B。
应了解,在执行方法300A之前,授权实体计算机108和密钥管理器220均可以获得和/或存储密钥导出函数(例如,KDF 302)。因此,在本文所提供的实例中,授权实体计算机108和密钥管理器220可以使用同一密钥导出函数来导出一个或多个密码密钥。在一些实施例中,授权实体计算机108还可以访问主秘密密钥304。在一些实施例中,密钥管理器220可以预配有可信证书授权机构(未描绘)的公钥。
方法300A可在步骤1处开始,其中授权实体计算机108可以使用KDF 302生成密钥(例如,AE密钥306)。作为非限制性实例,授权实体计算机108可以将主秘密密钥304作为KDF302中的输入提供到生成的AE密钥306。在一些实施例中,仅授权实体知道主秘密密钥304。以下函数描述了操作,其中“AE key”是AE密钥306,“KDF”是KDF 302,而“MSK”是主秘密密钥304。
AE Key=KDF(MSK)
应了解,输入可以与KDF 302一起使用,以生成AE密钥306。可以生成AE密钥306以确保所述AE密钥对于授权实体是唯一的。使用主秘密密钥304作为KDF 302中的输入是如何实现唯一性的一个实例,因为主秘密密钥304对于授权实体也是唯一的,因此,KDF 302的输出(例如,AE密钥306)对于授权实体也将是唯一的。使用根据主秘密密钥304生成的AE密钥306确保了唯一性,同时还免除了授权实体传送其主秘密密钥304很可能出现的安全风险。
在步骤2处,授权实体计算机108可以将AE密钥306传输到密钥管理器220以注册AE密钥306。举例来说,授权实体计算机108可以调用API调用以调用密钥管理器220(作为图2的安全存储器空间218的一部分进行操作)以注册AE密钥306。API调用(例如,消息)可以包括有效负载,有效负载包括AE密钥306。在一些实施例中,有效负载可以额外包括证书。例如,与授权实体相关联的证书(例如,AECERT308)可以包括在有效负载中。与授权实体相关联的证书可能事先已经由密钥管理器220信任的证书授权机构(未描述)使用与证书授权机构相关联的私钥生成并签名。如上文所述,密钥管理器220可以事先预配有证书授权机构的(CA的)公钥310。与授权实体相关联的证书可以包括可据以验证授权实体的身份的任何合适的数据。
在接收API调用的有效负载之后,或在另一合适的时间,密钥管理器220可以被配置成执行一个或多个验证过程。例如,密钥管理器220可以使用CA的公钥310来验证证书(AECERT308)。换句话说,CA的公钥310可以用于验证由证书授权机构生成的AECERT 308。
在一些实施例中,有效负载可以进一步包括由授权实体计算机108使用与授权实体相关联的私钥生成的数字签名(例如,在图3A中表示为“SIG”)。密钥管理器220可以被配置成使用CA的公钥310从AECERT 308获得授权实体的公钥。然后,授权实体的公钥可以用于验证有效负载中提供的数字签名是由授权实体计算机108提供的。在一些实施例中,数字签名由授权实体计算机108基于其它有效负载数据生成。例如,AE密钥306或有效负载数据的任何部分可以通过授权实体计算机108使用与授权实体相关联的私钥来签名以生成数字签名。因此,可以由密钥管理器220使用与授权实体和数字签名相关联的公钥,以验证消息的完整性(例如,有效负载数据没有被更改并且有效负载数据由授权实体计算机108发送)。
以下提供在步骤2处由授权实体计算机108提供到密钥管理器220的示例性有效负载。
Payload=<AE Key,AECERT,SignAE(AE Key)
其中“AE key”表示AE密钥306,“AECERT”表示AECERT 308,并且SignAE(AE Key)表示由授权实体计算机108使用与授权实体相关联的私钥进行数字签名的AE密钥306的数字签名。
在步骤3处,密钥管理器220可以被配置成注册AE密钥306。注册AE密钥306可以包括将AE密钥306存储在图2的数据存储区224内,所述数据存储区是密钥管理器220可以访问的数据存储区。在一些实施例中,响应于确定验证与授权实体计算机108相关联的授权实体的身份和/或响应于基于数字签名确定消息未被改变,密钥管理器220可以注册/存储AE密钥306。密钥管理器220可以被配置成存储授权实体的公钥和/或AECERT 308与AE密钥306的公钥之间的关联。
尽管未描绘,但是密钥管理器220可以被配置成将响应消息提供到授权实体计算机108以指示被提供到密钥管理器220的AE密钥已成功注册。如果在方法300A中的任一点处,密钥管理器220确定不能注册提供的AE密钥(例如,不能验证授权实体的身份),则密钥管理器220可以将响应消息提供到授权实体计算机108以指示提供到密钥管理器220的AE密钥未成功注册。
可以在由密钥管理器220成功地注册/存储AE密钥306之后执行方法300B。方法300B可以在步骤1处开始,其中用户可以在其用户装置104上安装应用程序。用户装置104可以生成公钥/私钥对(例如,包括私钥322和公钥324的密钥对320)。
在步骤2处,用户装置104可以将用户特定数据326和用户装置的公钥(例如,公钥324)传输到授权实体计算机108。用户特定数据326可以包括例如与用户装置104的用户相关联的用户资料(例如,例如姓名、地址、电话号码、银行账号等用户信息)。用户装置104事先可以经由用户输入或任何合适的方式预配有用户特定数据326。
在步骤3处,授权实体计算机108可以被配置成响应于接收用户特定数据326来验证公钥324。如果根据用户特定数据326验证了用户的身份,则授权实体计算机108可以被配置成生成与用户装置相关联的证书(例如,UCERT328)。在一些实施例中,授权实体计算机108可以通过使用其自身的私钥对与用户装置104相关联的公钥(例如,公钥324)和可能在步骤2处所接收到的用户特定数据的任何部分进行数字签名,以生成与用户装置104相关联的证书。因此,针对用户装置104生成的证书可以包括公钥324和用户特定数据326,例如用户的姓名、地址、电话号码、银行账号等。如果无法验证用户的身份,则授权实体计算机108可以将任何合适的数据传输到用户装置104,以指示注册不成功和/或授权实体计算机108可能停止处理从用户装置104接收的数据。
在步骤4处,在验证用户的身份之后,授权实体计算机108可以被配置成生成密码密钥(例如,K1 330)。作为实例,可以使用在方法300A期间由授权实体计算机108生成的AE密钥和在步骤2中由授权实体计算机108接收的公钥324作为KDF 302的输入来生成K1 330。在一些实施例中,授权实体计算机108可以使用任何合适的散列算法对公钥324进行散列。在一些实施例中,公钥324的散列可以与AE密钥206一起提供为KDF 302中的输入,以生成K1330(例如,KDF 302的输出)。下面描述用于生成K1的函数。
K1=KDF(AE Key,H(Upub))
其中“K1”表示K1 330,“KDF”表示KDF 302,“AE key”表示AE密钥306,以及“H(Upub)”表示将公钥324(与用户相关联的公钥)输入散列函数“H.”而生成的散列值。在一些实施例中,授权实体计算机108可以维护包括UCERT 328、AECERT 308、K1 330、用户特定数据326等的任何合适组合的映射。
在步骤5处,授权实体计算机108可以传输具有有效负载的消息,所述有效负载包括UCERT 328、AECERT 308以及K1 330。在一些实施例中,有效负载可以进一步包括与证书授权机构相关联的证书,所述证书由授权实体计算机108在方法300A的执行期间接收。在接收后或在另一合适的时间,用户装置104可以将UCERT 328、AECERT 308以及K1 330存储在本地存储器中。
图4示出根据一些实施例的用于使用加密记录执行操作(例如,加载操作)的方法400。方法400可以在方法300A和300B结束之后进行。
方法400可以在步骤1处开始,可以使用用户装置104启动应用程序。应用程序和/或用户装置104的任何合适的接口可以用于指示执行操作的请求。作为非限制性实例,可以使用应用程序的接口来请求将100美元的金额转移到与用户相关联的账户。此账户可以不同于由授权实体计算机108代表用户管理的金融账户(例如,单独的支票或储蓄账户)。
在步骤2处,用户装置104可以传输消息(例如,任何合适格式的负载消息),所述消息包括请求的金额(例如,100美元)的有效负载、一个或多个证书(例如,图3的UCERT 328、UCERT 328以及AECERT 308)以及从图3B的方法300B的执行得到的K1 330。
在步骤3处,授权实体计算机108可以被配置成验证用户装置的身份。作为非限制性实例,授权实体计算机108可以使用其自身的公钥来验证UCERT328是由授权实体计算机108使用其私钥生成的。另外或替代地,授权实体计算机108可以(例如,经由结合图3B所述的映射)验证K1 330与UCERT 328(和/或AECERT 308(如果提供)相关联。在任一情况下,如果UCERT 328不是由授权实体计算机108生成的,或者K1 330未知或不与UCERT 328相关联,则授权实体计算机108可以被配置成拒绝请求。否则,所述方法可继续到步骤4。
在步骤4处,授权实体计算机108可以被配置成标识用户的金融账户(例如UCERT328的银行账号)是否有超过在步骤2处的有效负载中提供的金额(例如,100美元)的余额。如果没有,则授权实体计算机108可以向用户装置104传输其请求被拒绝的指示。替代地,如果金融账户的余额超过有效负载中提供的金额,则授权实体计算机108可以执行任何合适的操作以转移请求的金额。
在步骤5处,如果金融账户的余额超过有效负载中提供的金额,则授权实体计算机108可以生成与用户相关联的记录。图5示出根据一些实施例的示例性记录500。可以生成记录500并且使其与对应于UCERT 328和/或用户装置104的用户相关联。记录500可以采用任何合适的格式并且包括任何合适的数据。返回到图4,授权实体计算机108可以执行任何合适的操作以将请求的金额从用户的金融账户转移到与记录相关联的另一账户(例如,交易账户、数字钱包账户)。与记录相关联的账户可以预先存在,或可以作为授权实体计算机108执行的操作的一部分而生成。授权实体计算机108可以修改记录500以包括与请求的操作相关联的条目。在当前实例中,授权实体计算机108可以生成、修改记录500以包括条目,所述条目包括金额(例如,100指示100美元)、授权实体的公钥、用户装置的公钥(例如,在方法300B的执行期间接收的公钥324),以及执行的操作类型(例如,“负载”)的指示。条目还可以包括由授权实体通过使用授权实体的私钥对剩余条目数据进行签名而生成的数字签名(例如,图5的条目1的AESIG)。图5的条目1旨在描绘在图4的步骤5处添加到记录500的条目。
在图4的步骤6处,授权实体计算机108可以被配置成生成另一密码密钥(例如,K2402)。在一些实施例中,授权实体计算机108可以生成动态值404(例如,临时值、随机数、计数器、任何合适的唯一值等),并且使用动态值404和AE密钥306作为KDF 302的输入,以生成K2 402。下文提供用于生成K2的函数,其中“K2”表示K2 402,“KDF”表示KDF 302,“AE key”表示AE密钥306,以及“DV”表示由授权实体计算机108生成的动态值404。
K2=KDF(AE key,DV)
在步骤7处,授权实体计算机108可以被配置成生成另一密码密钥(例如,K3 406)。在一些实施例中,可以通过连结(concatenate)K1 330和K2 402形成K3 406。
在步骤8处,授权实体计算机108可以生成加密记录408。举例来说,授权实体计算机108可以通过提供K3 406和记录500作为加密算法中的输入来使用K3 406对记录500进行加密,以获得加密记录408。
在步骤9处,授权实体计算机108可以响应于在步骤2处接收到的请求将消息传输回用户装置。消息可以包括有效负载,所述有效负载包括加密记录408和动态值404。在接收之后或在任何合适的时间,用户装置104可以将加密记录408和动态值404存储在本地存储器中。应了解,根据当前实例,加密记录408仅包括图5的条目1的加密版本。应了解,用户装置104可以被配置成使用任何合适数目个授权实体计算机来执行上述方法,因此,预期用户装置104可以存储多个加密记录,每个加密记录对应于特定的授权实体。加密记录408虽存储在用户装置104处但受到保护,因为用户装置104无法访问K2,也不能生成K2,并且加密记录408的解密需要K1和K2两者。
图6示出根据一些实施例的用于使用加密记录(例如,图4的加密记录408)执行操作(例如,与授权相关联的操作)的另一方法600。可以在执行图4的方法400之后执行方法600。
方法600可以在步骤1处开始,其中用户(例如,图1的用户102)可以启动用户装置104上的应用程序(例如,数字钱包应用程序、网页浏览器等)。用户装置104可以用于导航到由授权实体或资源提供商提供/托管的接口。作为非限制性实例,所述接口可以提供为由授权实体(例如,使用授权实体计算机108或单独服务器计算机)托管的应用程序(例如,数字钱包应用程序)的一部分,或可以在由资源提供商(例如,使用资源提供商计算机106)托管的网站处访问接口。用户装置可以接收经由接口提供的输入。输入可以指示执行操作的请求。举例来说,输入可以指示用户希望在特定资源提供商(例如,与资源提供商计算机106相关联的商家)处花费10美元。因此,执行操作的请求可以是对用户与资源提供商之间10美元的交易进行授权的请求。
在步骤2,用户装置104可以向资源提供商计算机106传输有效负载,包括一个或多个证书(例如图3的UCERT 328、UCERT 328以及AECERT 308等)、密码密钥(例如,图3的K1 330)、加密记录EREC(例如,图4的加密记录408)、动态值(例如,图4的动态值404)以及H(SPCADD)。H(SPCADD)可以表示将处置交易的安全处理计算机(例如,安全处理计算机114)的地址的散列。在一些实施例中,用户装置104可以事先预配有指示适当的安全处理计算机114的地址的映射。例如,作为执行方法300A的一部分,可以由图3A的授权实体计算机108提供安全处理计算机114的映射和/或地址。安全处理计算机114可以包括在安全处理计算机的较大网络内。与所述网络相关联的散列表可以包括安全处理计算机的标识符和其对应地址(IP地址)。可以根据提供的标识符和散列表将发送到安全处理计算机的此网络的任何消息路由到适当的安全处理计算机。
在步骤3处,资源提供商计算机106可以将其自身的证书(例如,RCERT602、由可用于验证资源提供商的身份的证书授权机构生成并进行数字签名的证书)和交易的金额(例如,10美元)附加到有效负载。
在步骤4处,资源提供商计算机106可以将修改后的有效负载转发到授权管理器222。在图6中提供的实例中,授权管理器222可以在安全存储器空间(例如,图2的安全存储器空间218)中执行。图6的密钥管理器220可以在与上面运行授权管理器222的安全处理计算机的相同或不同安全存储器空间中执行,或者密钥管理器220可以在地址对于授权管理器222来说已知的单独安全处理计算机上提供的单独存储器空间中操作。
在步骤5处,授权管理器222可以从密钥管理器220请求密码密钥。授权管理器222可以在请求中包括在步骤4处接收的有效负载的任何合适部分。
在步骤6处,响应于由授权管理器222提供的请求,密钥管理器220可以验证有效负载中提供的证书的任何合适的组合。作为非限制性实例,密钥管理器220可以从本地存储器检取证书授权机构的公钥。使用证书授权机构的公钥(例如,图3的CA的公钥310),密钥管理器220可以验证有效负载数据中提供的AECERT 308最初是由所述证书授权机构生成的。CA的公钥310还可以用于从AECERT 308中提取与授权实体相关联的公钥(或AECERT 308中包括的任何合适的数据)。使用授权实体的公钥,密钥管理器220可以验证在有效负载数据中提供的UCERT 328最初是由授权实体生成的。授权实体的公钥还可以用于从UCERT 328提取与用户装置104相关联的用户特定数据326和公钥。使用证书授权机构的公钥(例如,图3的CA的公钥310),密钥管理器220可以验证有效负载数据中提供的RCERT 602最初是由证书授权机构生成的,并且可以提取在RCERT 602中提供的任何合适的数据。
在步骤7处,密钥管理器220可以生成K2 604。密钥管理器220可以如结合图4所描述的以与由授权实体计算机108生成K2 402相同的方式生成K2 604。具体来说,密钥管理器220可以使用授权实体的公钥(或AECERT 308)以使用在方法300A的执行期间生成的映射来检取与授权实体相关联的注册密钥(例如,图3的AE密钥306)。然后,密钥管理器220可以使用以下函数生成K2 604,其中“KDF”表示图3和4的KDF 302,“AE key”表示AE密钥306,并且“DV”表示有效负载数据中提供的动态值(例如,动态值404)。
K2=KDF(AE key,DV)
在一些实施例中,密钥管理器220可以被配置成维护先前使用的动态值的列表。密钥管理器220可以验证动态值404先前未由密钥管理器220用以生成密码密钥。这使得密钥管理器220能够通过确保每个请求必须伴随不同的动态值来防止中继和/或重放攻击。如果密钥管理器220标识出动态值404先前已被使用,则可以不生成K2 604,并且密钥管理器220可以将这一情况的指示符传回到授权管理器220,授权管理器220继而可以拒绝用户装置104的请求。如果密钥管理器220尚未使用动态值来生成密码密钥,则可以生成K2 604。一旦生成K2 604,就可以在步骤9处将其返回到授权管理器222。
在步骤10处,授权管理器222可以被配置成对加密记录(例如,有效负载数据的EREC)进行解密以获得明文记录(例如,包括如图5中所描绘的条目1而非条目2-6的记录500)。举例来说,授权管理器222可以在步骤9处将有效负载数据中提供的K1与从密钥管理器220提供的K2连结,以生成密码密钥K3(例如,与图4的K3 406相同的密码密钥)。K3可以用于对加密记录EREC进行解密以获得记录500。
在步骤11处,授权管理器222可以汇总与第一类型的操作相关联的记录500的条目(例如,对应于先前进行的加载操作的“L”条目)的所有金额,以确定第一值(例如,与“L”操作相关联的所有条目的总金额)。在汇总第一类型的操作的金额之前,授权管理器222可以首先使用授权实体的公钥(条目1的AEpub-key)和第一类型的操作的每个条目的数字签名(例如,条目1的AESIG)来验证每个条目的数据尚未被修改。只要确定那些条目中的每一个都未被修改,授权管理器222就可以继续汇总第一类型的操作的金额。
授权管理器222还可以汇总与第二类型的操作相关联的记录500的条目(例如,对应于先前进行的花费操作的“S”条目)的所有金额,以确定第二值(例如,与“S”操作相关联的所有条目的总金额)。授权管理器222可以确定第一值是否大于或等于第二值与有效负载数据中提供的金额的总和。如果是,则授权管理器222可以确定请求得到授权,并且应执行请求的操作。因此,授权管理器可以将有效负载数据的任何合适部分(例如,金额)、授权机构的公钥、用户装置104的公钥以及资源提供商的公钥添加到记录500。举例来说,授权管理器222可以将图5的条目2附加到记录500。此时,记录500包括图5的条目1和2,但不包括条目3-6。
在步骤12处,授权管理器222可以被配置成使用任何合适的方法生成新动态值(例如,动态值606)。授权管理器222可以将动态值606发送到密钥管理器220。
在步骤13处,密钥管理器220可以根据以下公式使用动态值606和与授权实体相关联的AE密钥308生成新的密码密钥(例如,K4 608),其中“KDF”表示KDF 302,“AE key”表示AE密钥308,以及“DV”表示动态值606。
K4=KDF(AE key,DV′)
替代地,授权管理器222可以仅生成对密钥管理器220的新的加密密钥的请求,并且密钥管理器220可以生成动态值606,作为生成K4 608的过程的一部分。
在步骤14处,密钥管理器220可以将K4 608返回到授权管理器222。
在步骤15处,授权管理器222可以使用K4 608对修改后的记录500(例如,包括条目1和2的记录500)进行加密。在一些实施例中,授权管理器222可以通过连结来自最初在步骤4处接收的有效负载数据的K1和K4 608来生成新的密码密钥。授权管理器222可以使用其通过连结生成的新的密码密钥来对步骤10处修改的记录500进行加密,以生成加密记录610。加密记录610可以是包括图5的条目1和2的记录500的加密版本。
在步骤16处,授权管理器222可以将E'REC(例如,加密记录610)、DV'(例如,动态值606)以及指示符传输到资源提供商计算机106,资源提供商计算机106又可将相同的数据转发到用户装置104。在一些实施例中,可以使用指示符来指示请求的操作成功或不成功。在当前实例中,指示符可以指示操作成功(例如,在与记录500的条目2中指示的Rpub_key 1相关联的资源提供商1处花费了10美元)。
随后,方法400和/或方法600可以重复任何合适的次数,以分别通过将额外的金额加载到记录来增加用户的交易账户的余额或在资源提供商处花费额外的金额。对于每个后续成功的操作(例如,加载或花费),可以将新的条目附加到记录500,并且可以(由执行操作的计算机)生成新的动态值,并且用于生成新的密码密钥以生成记录500的加密版本。通过传输新加密记录与用于生成加密记录的一个或多个加密密钥的动态值,可以使接收方(例如,用于加载操作的授权实体计算机108、用于花费操作的授权管理器222)能够导出/生成用于对记录进行加密的一个或多个密钥。因此,接收方随后能够对加密记录进行解密以作为如上图所述的执行请求的操作的一部分。如图5中所描绘,记录500包括示出由于后续操作而对记录500的修改的附加条目。
例如,继续以上实例,用户可以随后请求金额为20美元的加载操作。授权实体计算机108可以接收所述请求、验证与用户的银行账号相关联的资金、对由用户装置104提供的加密记录进行解密、修改解密记录(例如,记录500)以包括条目3、生成新动态值、使用AE密钥和新动态值生成新的密码密钥、用新生成的密码密钥对包括条目1-3的记录500进行加密以及将新的动态值和新加密记录发送到用户装置104以进行存储。
在随后的时间内,用户可以在资源提供商2处请求金额为30美元的花费操作。这可以使授权管理器222再次执行方法600。综上所述,授权管理器222可以将请求的有效负载数据——包括由授权实体计算机108生成的动态值——提供到密钥管理器220。密钥管理器220可以使用提供的动态值和AE密钥308(在方法300A的执行期间由授权实体计算机108提供的密钥)生成一个或多个密钥。可以使用所述密钥对加密记录进行解密。授权管理器222可以执行结合图6的步骤11所描述的方法,以确定加载操作的汇总是否大于或等于花费操作的汇总与当前请求中指示的金额的总和。如果是,那么授权管理器222可以生成新的动态值,从密钥管理器220请求新的密码密钥,将条目4附加到记录500,并且对修改后以包括条目1-4的加密记录500进行加密。加密可以使用密钥,所述密钥包括K1和由密钥管理器220提供的新的密码密钥的连结。然后,授权管理器222可以将新的动态值和新加密记录传输到用户装置104以进行存储。接收到的每个新的动态值可以替换存储在用户装置104处的先前动态值。类似地,在用户装置104处接收到的每个新加密记录可以替换先前由用户装置104存储的加密记录。
方法400和方法600可以随后以任何合适的次序执行任何合适的次数。
在随后的时间里,授权管理器222(已经执行对应于一个或多个用户和一个或多个资源提供商的多个交易)可以被配置成确定要从每个用户借记的金额和将贷记给每个资源提供商的金额。然后,可以将这些信息提供给结算服务,所述结算服务可以在代表用户的金融机构(例如,与授权实体计算机108相关的授权实体)与代表资源提供商的金融机构(例如,与代表资源提供商管理金融账户的金融机构相关联的传送计算机110)之间转移适当金额。在一些实施例中,可以在此结算处理中使用区块链系统。
尽管本文中所提供的实例是在支付交易(例如,在授权实体银行与用户账户之间进行的资金转移、用户与例如商家等资源提供商之间的支付交易)的情形下提供,但应了解,本文所述的技术可以在其它支付授权系统的情形下使用。举例来说,在一些实施例中,由以上图式的用户装置104存储的加密记录可以包括提供任何合适的操作数据的条目。作为非限制性实例,用户装置104可以用于请求访问由资源提供商提供的资源(例如,电子软件、服务等)。资源提供商的唯一密钥可以通过安全处理计算机上运行的密钥管理器注册。
每次用户请求访问(执行操作的请求)时,访问的详细信息(例如,关于用户、用户的装置、用户装置的位置、访问时间、访问持续时间等的信息)可以被附加到使用上述方法(例如,利用资源提供者的唯一密钥和动态值)加密的记录中,并且传输到用户装置进行存储。每当用户请求访问时,在安全处理计算机上操作的授权管理器可以被配置成接收所述请求。授权管理器可以被配置成对请求中接收到的记录进行解密,以确定是否允许用户访问。作为实例,授权管理器可以分析解密记录中含有的任何合适的数据以确定是否允许用户访问资源。可以根据此确定向用户装置提供访问权。如果用户被允许访问或被拒绝访问,则授权管理器可以被配置成将与请求和/或输出相关联的数据附加到记录。然后,授权管理器可以以上文所述的方式向密钥管理器请求一个或多个加密密钥,并且使用(例如,从与资源提供商相关联的唯一密钥和动态值导出的)密钥中的至少一个密钥来对记录进行加密。然后,加密记录可以传输回用户装置以进行存储。
技术优势
本发明的实施例具有多个优势。例如,与使用经由收单方计算机和处理网络计算机传输到发行方的消息的常规授权处理相比,交易授权更快、更简单。由于消息不需要穿越许多组件,因此本发明的实施例提供了较快的处理速度。另外,所述过程也是安全的,并且排除了如上所述的双重支出。此外,在用户装置上对记录进行加密,使得记录的条目对于用户装置来说不可访问,这可以防止对记录的欺诈性修改。每个用户装置可以存储其自身先前执行的操作(例如,加载和/或花费操作/交易)的加密记录,从而排除了使用常规授权处理的需要。确切地说,如以上图中所述,可以使用较快的授权处理。
以上描述是说明性的而不是限制性的。本发明的许多变化在本领域的技术人员查阅本公开时可变得显而易见。因此,可以不参考以上描述来确定本发明的范围,而是可以参考待决的权利要求书以及其完整范围或等同物来确定本发明的范围。应当理解,如上文描述的本发明可以使用计算机软件以控制逻辑的形式以模块化或集成方式来实施。基于本公开和本文中所提供的教示,本领域的普通技术人员将知道并且了解使用硬件和硬件与软件的组合来实施本发明的其它方式和/或方法。本申请中描述的任何软件组件或功能可以实施为由处理器使用例如Java、C、C++、Python或Perl等任何合适的计算机语言使用例如常规或面向对象的技术执行的软件代码。软件代码可以被存储为计算机可读介质(例如,随机存取存储器(RAM)、只读存储器(ROM)、磁介质(例如硬盘驱动器或软盘)或光介质(例如CD-ROM))上的一系列指令或命令。任何此类计算机可读介质可以驻存在单个计算设备上或其内部,并且可以存在于系统或网络内的不同计算设备上或其内部。
尽管上文将许多实施例描述为包括不同的特征和/或特征的组合,但本领域的普通技术人员在阅读本公开之后可以理解,在一些情况下,这些组件中的一个或多个可以与上文所述的任一组件或特征进行组合。也就是说,在不脱离本发明的范围的情况下,来自任何实施例的一个或多个特征可以与任何其它实施例的一个或多个特征组合。
本文中提及的任何计算机系统都可以使用任何合适数目个子系统。在一些实施例中,计算机系统包括单个计算机设备,其中子系统可以是计算机设备的组件。在其它实施例中,计算机系统可以包括具有内部组件的多个计算机设备,每个计算机设备是子系统。计算机系统可以包括台式计算机和笔记本电脑、平板计算机、移动电话和其它移动装置。
子系统可以经由系统总线互连。可以使用额外的子系统,例如打印机、键盘、一个或多个存储装置、耦合到显示器适配器的监视器以及其它子系统。耦合到I/O控制器的外围装置和输入/输出(I/O)装置可以通过本领域中已知的任何数目个构件(例如输入/输出(I/O)端口(例如USB、
Figure BDA0002752637040000251
))连接到计算机系统。例如,I/O端口或外部接口(例如,以太网、Wi-Fi等)可以用于将计算机系统连接到例如互联网的广域网、鼠标输入装置或扫描器。通过系统总线的互连可以允许中央处理器与每个子系统进行通信,并且控制来自系统存储器或一个或多个存储装置(例如,例如硬盘驱动器或光盘之类的固定盘)的指令的执行,以及子系统之间的信息交换。系统存储器和/或存储装置可以体现计算机可读介质。另一子系统是数据收集装置,例如相机、麦克风、加速度计等等。在本文中提及的任何数据可以从一个组件输出到另一个组件并且可以输出到用户。
计算机系统可以包括例如由外部接口或由内部接口连接在一起的多个相同组件或子系统。在一些实施例中,计算机系统、子系统或设备可以通过网络进行通信。在此类情况下,一个计算机可以被视为客户端且另一个计算机被视为服务器,其中每台计算机都可以是同一计算机系统的一部分。客户端和服务器可各自包括多个系统、子系统或组件。
应理解,本发明的任何实施例都可以使用硬件(例如专用集成电路或现场可编程门阵列)和/或使用计算机软件以控制逻辑的形式被实施,其中通用可编程处理器是模块化的或集成的。如本文中所使用,处理器包括单核处理器、在同一集成芯片上的多核处理器,或在单个电路板上或网络化的多个处理单元。基于本文中提供的公开内容和教示,本领域的普通技术人员将知道并且理解使用硬件和硬件与软件的组合来实施本发明的实施例的其它方式和/或方法。
本申请中描述的任何软件组件或功能可以实施为使用例如Java、C、C++、C#、Objective-C、Swift的任何合适的计算机语言或例如Perl或Python的脚本语言使用例如常规的或面向对象的技术由处理器执行的软件代码。软件代码可以作为一系列指令或命令存储在计算机可读介质上以进行存储和/或传输。合适的非瞬态计算机可读介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、例如硬盘驱动器或软盘的磁性介质或例如光盘(CD)或DVD(数字通用光盘)的光学介质、闪存存储器等。计算机可读介质可以是此类存储或传输装置的任何组合。
此类程序也可以使用载波信号来编码和传输,所述载波信号适合于经由包括互联网的符合多种协议的有线、光学和/或无线网络来传输。因此,根据本发明的实施例的计算机可读介质可以使用以此类程序编码的数据信号来创建。以程序代码编码的计算机可读介质可以与兼容装置一起封装或与其它装置分开地提供(例如,经由互联网下载)。任何此类计算机可读媒体可以驻存在单个计算机产品(例如,硬盘驱动器,CD或整个计算机系统)之上或其内部,并且可以存在于系统或网络内的不同计算机产品上或其内部。计算机系统可以包括监视器、打印机,或用于向用户提供本文所提及的任何结果的其它合适的显示器。
本文所述的任何方法可以完全或部分地用计算机系统来执行,所述计算机系统包括可以被配置成执行所述步骤的一个或多个处理器。因此,实施例可以涉及被配置成执行本文所述的任何方法的步骤、可能具有执行相应步骤或相应步骤群组的不同组件的计算机系统。尽管以编号的步骤呈现,但是本文中的方法步骤也可以同时执行或以不同的次序执行。另外,这些步骤的部分可以与其它方法的其它步骤的部分一起使用。而且,步骤的全部或部分可以是任选的。另外,任何方法的任何步骤都可以用执行这些步骤的模块、单元、电路或其它构件来执行。
在不脱离本发明实施例的精神和范围的情况下,特定实施例的具体细节可以按任何适合的方式组合。然而,本发明的其它实施例可以涉及与每个个别方面或这些个别方面的特定组合相关的特定实施例。
上文已经出于图示和描述的目的呈现了对本发明的实例实施例的描述。不旨在是详尽的,或将本发明局限为所描述的精确形式,并且根据上文的教示许多修改和变化是可能的。
除非明确指示为相反情况,否则“一(a/an)”或“所述(the)”的叙述打算意指“一个或多个”。除非明确指示为相反情况,否则“或”的使用旨在表示“包括性的或”,而不是“排除性的或”。对“第一”组件的引用不一定要求提供第二组件。此外,除非明确说明,否则对“第一”或“第二”组件的引用并不将所引用的组件限制到特定位置。

Claims (20)

1.一种计算机实施的方法,包括:
从请求装置接收执行操作的请求,所述请求是在包括加密记录和第一动态值的请求消息中被接收的,所述加密记录包括与和所述请求装置的用户相关联的一个或多个先前执行的操作相对应的一个或多个条目的集合;
使用所述加密记录、与授权实体相关联的唯一密钥导出的第一密码密钥以及第一动态值来对所述请求进行授权;
至少部分地基于所述请求被授权而执行一个或多个操作;
生成修改后的加密记录,所述修改后的加密记录包括与执行的所述一个或多个操作相关联的数据;以及
至少将所述修改后的加密记录和所述操作已被执行的指示传输到所述请求装置。
2.根据权利要求1所述的计算机实施的方法,其进一步包括获得根据与所述授权实体相关联的所述唯一密钥导出的第二密码密钥。
3.根据权利要求2所述的计算机实施的方法,其中所述第二密码密钥从所述请求消息获得。
4.根据权利要求2所述的计算机实施的方法,其中授权所述请求进一步包括:
根据所述第一密码密钥和所述第二密码密钥生成第三密码密钥;以及
使用所述第三密码密钥根据所述加密记录生成解密记录,其中授权所述请求至少部分地基于所述解密记录。
5.根据权利要求4所述的计算机实施的方法,其中授权所述请求进一步包括:
汇总所述解密记录中的第一组条目以生成第一值;以及
汇总所述解密记录中的第二组条目以生成第二值,其中至少部分地基于所述第一值和所述第二值对所述请求进行授权。
6.根据权利要求5所述的计算机实施的方法,其中授权所述请求至少部分地基于确定所述第一值大于或等于所述第二值与在所述请求消息中包括的金额的总和。
7.根据权利要求1所述的计算机实施的方法,其中生成所述修改后的加密记录包括:
使用所述第一动态值根据所述加密记录生成解密记录;
修改所述解密记录以包括指示所述请求已被授权的数据;
生成第二动态值;
至少部分地基于所述第二动态值和与所述授权实体相关联的所述唯一密钥生成新的密码密钥;以及
对修改后的所述解密记录进行加密以生成所述修改后的加密记录,其中加密所述解密记录会使用至少部分地基于所述唯一密钥和所述第二动态值生成的所述新的密码密钥,其中使用所述修改后的加密记录传输所述第二动态。
8.根据权利要求7所述的计算机实施的方法,其中生成所述新的密码密钥进一步至少部分地基于在使用所述新的密码密钥以加密所述解密记录之前将所述第一密码密钥连结到所述新的密码密钥。
9.一种安全处理计算机,包括:
一个或多个处理器;以及
一个或多个存储器,其存储可执行指令,所述可执行指令在由所述一个或多个处理器执行时使所述安全处理计算机执行根据权利要求1至8中任一项所述的计算机实施的方法。
10.根据权利要求9所述的安全处理计算机,其中所述一个或多个存储器包括第一安全存储器空间和第二安全存储器空间。
11.根据权利要求10所述的安全处理计算机,其中所述第一安全存储器空间存储代码,所述代码在由所述一个或多个处理器执行时使所述安全处理计算机导出并生成一个或多个密码密钥。
12.根据权利要求10所述的安全处理计算机,其中所述第二安全存储器空间存储代码,所述代码在由所述一个或多个处理器执行时使所述安全处理计算机对加密记录进行解密以生成解密记录并使用所述解密记录执行授权处理。
13.一种授权实体计算机,包括:
一个或多个处理器;以及
一个或多个存储器,其存储可执行指令,所述可执行指令在由所述一个或多个处理器执行时使所述授权实体计算机:
生成与授权实体相关联的唯一密钥;
从用户装置接收执行第一操作的第一请求,所述第一请求是在包括根据所述唯一密钥导出的第一密码密钥的第一请求消息中被接收的;
至少部分地基于所述第一请求执行所述第一操作;
生成与和所述第一请求相关联的用户相对应的记录,所述记录包括指示所述第一操作已被执行的记录条目;
至少部分地基于所述唯一密钥和第一动态值来生成第二密码密钥;
至少部分地基于所述记录、所述第一密码密钥以及所述第二密码密钥来生成加密记录;以及
将所述加密记录、所述第一动态值以及所述第一操作已被执行的指示传输到所述用户装置。
14.根据权利要求13所述的授权实体计算机,其中所述可执行指令在由所述一个或多个处理器执行时进一步使所述授权实体计算机:
从所述用户装置接收执行第二操作的第二请求,所述第二请求是在包括所述第一密码密钥、后续动态值以及后续加密记录的第二请求消息中被接收的,所述后续加密记录包括与所述用户相关联的记录条目的集合,所述记录条目的集合包括所述记录条目;
至少部分地基于与所述授权实体相关联的所述唯一密钥以及在所述第二请求消息中接收到的所述后续动态密钥来生成第三密码密钥;
使用所述第一密码密钥和所述第三密码密钥根据所述后续加密记录生成解密记录;
至少部分地基于所述第二请求执行所述第二操作;以及
修改所述解密记录以包括指示所述第二操作已被执行的额外记录条目。
15.根据权利要求14所述的授权实体计算机,其中所述后续动态值由安全处理计算机生成,并且其中所述安全处理计算机至少使用所述后续动态值来生成所述后续加密记录。
16.根据权利要求14所述的授权实体计算机,其中所述可执行指令在由所述一个或多个处理器执行时进一步使所述授权实体计算机:
至少部分地基于所述唯一密钥和第三动态值来生成第四密码密钥;
使用所述第一密码密钥和所述第四密码密钥根据修改后的所述解密记录生成新加密记录;以及
将所述新加密记录、所述第三动态值以及所述第二请求已被授权的对应指示传输到所述用户装置。
17.根据权利要求16所述的授权实体计算机,其中所述第一动态值和所述第三动态值由所述授权实体计算机生成。
18.一种用户装置,包括:
一个或多个处理器;以及
一个或多个存储器,其存储可执行指令,所述可执行指令在由所述一个或多个处理器执行时使所述用户装置:
将与授权实体相关联的第一密码密钥存储在所述一个或多个存储器中,所述第一密码密钥是根据与所述授权实体相关联的唯一密钥导出的,所述唯一密钥对于所述用户装置而言是未知的;
接收指示请求第一操作的用户输入;
将执行所述第一操作的第一请求传输到授权实体计算机,所述第一请求是在包括所述第一密码密钥的第一请求消息中被传输的;
接收对所述第一请求的第一响应,所述第一响应是在响应消息中被接收的,所述响应消息包括第一加密记录、所述第一操作已被执行的指示以及与所述第一加密记录相关联的第一动态值;
显示指示所述第一操作已被执行的数据;以及
将所述第一加密记录和所述第一动态值存储在所述用户装置的所述一个或多个存储器中。
19.根据权利要求18所述的用户装置,其中所述可执行指令在由所述一个或多个处理器执行时进一步使所述用户装置:
接收指示请求第二操作的额外用户输入;
将执行所述第二操作的第二请求传输到安全处理计算机的授权管理器组件,所述第二请求是在包括所述第一密码密钥、所述第一加密记录以及所述第一动态值的第二请求消息中被传输的;
接收对所述第二请求的第二响应,所述第二响应是在第二响应消息中被接收的,所述第二响应消息包括第二加密记录、所述第二操作已被执行的额外指示以及与所述第二加密记录相关联的第二动态值;
显示指示所述第二操作已被执行的额外数据;以及
在所述一个或多个存储器中,用所述第二加密记录替换所述第一加密记录并且用所述第二动态值替换所述第一动态值。
20.根据权利要求19所述的用户装置,其中所述授权实体计算机被配置成对所述第一加密记录进行加密以作为执行所述第一操作的一部分,其中所述授权管理器组件被配置成对所述第一加密记录进行解密以执行所述第二操作,并且其中至少部分地基于与所述授权实体相关联的所述唯一密钥和所述第一动态值来对所述第一加密记录进行解密。
CN201980029455.7A 2018-04-30 2019-04-24 执行安全操作的技术 Active CN112074835B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862664675P 2018-04-30 2018-04-30
US62/664,675 2018-04-30
PCT/US2019/028963 WO2019212829A1 (en) 2018-04-30 2019-04-24 Techniques for performing secure operations

Publications (2)

Publication Number Publication Date
CN112074835A true CN112074835A (zh) 2020-12-11
CN112074835B CN112074835B (zh) 2025-05-02

Family

ID=68386590

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980029455.7A Active CN112074835B (zh) 2018-04-30 2019-04-24 执行安全操作的技术

Country Status (5)

Country Link
US (2) US11502837B2 (zh)
EP (1) EP3788535B1 (zh)
CN (1) CN112074835B (zh)
SG (1) SG11202010335WA (zh)
WO (1) WO2019212829A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11394546B2 (en) * 2019-10-11 2022-07-19 Fortanix, Inc. Encrypted data key management
US10757574B1 (en) * 2019-12-26 2020-08-25 Capital One Services, Llc Multi-factor authentication providing a credential via a contactless card for secure messaging
US12225111B2 (en) * 2022-03-08 2025-02-11 SanDisk Technologies, Inc. Authorization requests from a data storage device to multiple manager devices
US11900145B1 (en) 2023-01-27 2024-02-13 Jane Technologies, Inc. System in the middle transaction processor

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015105866A1 (en) * 2014-01-07 2015-07-16 Visa International Service Association Encrypted payment transactions
CN106797311A (zh) * 2014-08-29 2017-05-31 维萨国际服务协会 用于安全密码生成的方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7319986B2 (en) 1999-09-28 2008-01-15 Bank Of America Corporation Dynamic payment cards and related management systems and associated methods
US8280776B2 (en) 2008-11-08 2012-10-02 Fon Wallet Transaction Solutions, Inc. System and method for using a rules module to process financial transaction data
AP3906A (en) * 2011-07-20 2016-11-23 Visa Int Service Ass Mobile banking system with cryptographic expansion device
EP2761804B1 (en) * 2011-09-30 2019-07-24 eBay Inc. Differential client-side encryption of information originating from a client
US10535064B2 (en) * 2012-03-19 2020-01-14 Paynet Payments Network, Llc Systems and methods for real-time account access
RU2663476C2 (ru) * 2013-09-20 2018-08-06 Виза Интернэшнл Сервис Ассосиэйшн Защищенная обработка удаленных платежных транзакций, включающая в себя аутентификацию потребителей
US9780953B2 (en) * 2014-07-23 2017-10-03 Visa International Service Association Systems and methods for secure detokenization
GB2536044A (en) * 2015-03-05 2016-09-07 Bell Identification Bv Method and apparatus for authenticating and processing secure transactions using a mobile device
WO2016195764A1 (en) * 2015-04-27 2016-12-08 Benedor Tse Llc Secure authorizations using independent communications and different one-time-use encryption keys for each party to a transaction
US10044701B2 (en) * 2016-05-24 2018-08-07 Vantiv, Llc Technologies for token-based authentication and authorization of distributed computing resources
US20180007037A1 (en) * 2016-07-01 2018-01-04 Kenneth Wade Reese Transaction-specific shared secret in one-time password device
US11070374B2 (en) * 2018-02-28 2021-07-20 Vmware, Inc. Methods and systems that efficiently and securely store encryption keys

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015105866A1 (en) * 2014-01-07 2015-07-16 Visa International Service Association Encrypted payment transactions
CN106797311A (zh) * 2014-08-29 2017-05-31 维萨国际服务协会 用于安全密码生成的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
EMCO: "EMV 2nd Generation Level 2 Draft Specifications-Book 11 Secure Channel Manger", HTTPS://WWW.EMVCO.COM/WP-CONTENT/UPLOADS/DOCUMENTS/EMV-2ND-GENERATION-LEVEL-2-DRAFT-SPECIFICATIONS-V0.8.5.ZIP 11 EMV-2ND-GEN-SPECS-BOOK-11-SC-MANAGER-VO.8.5.PDF, 30 November 2017 (2017-11-30), pages 13 - 14 *
EMVCO: "EMV 3-D Secure SDK Technical Guide", HTTPS://WWW.EMVCO.COM/WP-CONTENT/UPL OA DS/DOCUMENTS/EMVCO_3DS_SDKTECHGUIDE-2.1.0_ 1026.PDF, 31 October 2017 (2017-10-31), pages 1 - 71, XP061033984 *

Also Published As

Publication number Publication date
US20210119793A1 (en) 2021-04-22
EP3788535A4 (en) 2021-06-23
US11502837B2 (en) 2022-11-15
EP3788535A1 (en) 2021-03-10
WO2019212829A1 (en) 2019-11-07
US20230020190A1 (en) 2023-01-19
SG11202010335WA (en) 2020-11-27
EP3788535B1 (en) 2023-03-22
CN112074835B (zh) 2025-05-02
US11716200B2 (en) 2023-08-01

Similar Documents

Publication Publication Date Title
US11710120B2 (en) Secure remote payment transaction processing including consumer authentication
US20220321359A1 (en) Methods and systems for ownership verification using blockchain
US11062306B2 (en) Secure remote payment transaction processing using a secure element
US10846663B2 (en) Systems and methods for securing cryptocurrency purchases
US20180349894A1 (en) System of hardware and software to prevent disclosure of personally identifiable information, preserve anonymity and perform settlement of transactions between parties using created and stored secure credentials
CN116132063A (zh) 安全令牌分发
US11716200B2 (en) Techniques for performing secure operations
CN114650139A (zh) 用于交互的验证密码
CN112567682B (zh) 用于生成密码以进行令牌交互的令牌密钥
US12003500B2 (en) Token processing system and method
US11757638B2 (en) Account assertion

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
GR01 Patent grant
GR01 Patent grant