CN112154638A - 用于在线身份的分布式验证的系统和方法 - Google Patents

用于在线身份的分布式验证的系统和方法 Download PDF

Info

Publication number
CN112154638A
CN112154638A CN202080002153.3A CN202080002153A CN112154638A CN 112154638 A CN112154638 A CN 112154638A CN 202080002153 A CN202080002153 A CN 202080002153A CN 112154638 A CN112154638 A CN 112154638A
Authority
CN
China
Prior art keywords
token
party
issuer
verifier
digitally signed
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
CN202080002153.3A
Other languages
English (en)
Other versions
CN112154638B (zh
Inventor
Z.王
G.王
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Priority to CN202210704549.3A priority Critical patent/CN115242379A/zh
Publication of CN112154638A publication Critical patent/CN112154638A/zh
Application granted granted Critical
Publication of CN112154638B publication Critical patent/CN112154638B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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
    • H04L9/3213Cryptographic 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 using tickets or tokens, e.g. Kerberos
    • 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/102Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Abstract

至少一个方面涉及改进在线身份的实时验证的性能。发行者计算系统可以接收生成复合令牌的请求,该复合令牌被配置为授权某些验证方认证包括关于客户端的信息的第一方令牌。发行者可以使用密钥生成复合令牌,并将该复合令牌分发给客户端,其中该客户端可以将该复合令牌分发给其他内容项网络。验证方可以从内容项网络接收复合令牌,使用密钥验证与客户端设备相对应的令牌的真实性,并使用该令牌来进一步处理内容项操作。该系统可以在复合令牌的生成和验证之前分发密钥,因此允许参与方实时地验证复合令牌,而无需联系外部验证方。

Description

用于在线身份的分布式验证的系统和方法
相关申请的交叉引用
本申请要求于2019年8月28日提交的美国专利申请No.16/553,599和于2019年4月29日提交的美国临时申请No.62/840,204的优先权,这些申请的内容通过引用结合于此。
背景技术
在诸如互联网的计算机网络环境中,用户可以与第三方内容项交互。这些第三方内容项(例如广告)可以被显示在与相应的发布者相关联的网页上。这些用户可以向发布者提供指示与第三方内容项的交互的信息。
发明内容
本公开所解决的一个技术问题是难以在保护在线用户的隐私的同时,确定该在线用户的身份。此外,第三方内容项分发者可能想要在短的、预定的时间帧(例如,100毫秒)内验证访问发布者的网页的用户的身份。然而,准确地验证用户的身份将需要向负责验证用户的身份的外部源进行多次查询。这给某些第三方内容项分发者平台带来了不可接受的延迟。
本公开中所解决的挑战涉及提供一种系统,该系统能够分布式地验证在线用户的身份,同时最小化对第三方验证者的查询的数量,并同时仅向可信的第三方内容项分发者维护用户的隐私。仅将公钥发行(issue)给可信的第三方内容项分发者,其中该可信的第三方内容项分发者能够解密由可信的发布者已数字签名的令牌数据,以实时地验证用户的令牌数据。这最小化了验证方验证令牌数据时必须进行的查询的次数,从而减少了网络开销和验证时间。
基于Cookie的身份支持不支持通过发行者的认证(authentication),也不阻止复制浏览器会话(也被称为“重放攻击(replay attack)”)。因此,浏览器cookie是标签,而不是在线用户的值得信任的身份。类似地,在诸如连接的电视等设备上,设备标识符仅提供微弱的保护层。没有其他方可以代表OEM验证设备的真实性(authenticity)。在这些情况下,无法检测到其中复制浏览器会话以创建欺诈性内容项请求的重放攻击,也无法按照多个第三方所要求实时地进行身份的验证。因此,本文所公开的技术解决方案是对现有的身份验证和欺诈检测的技术的显著的改进。
本公开讨论了一种系统,该系统包括知道在线用户的合法身份的发行者,该发行者负责认证和生成与和特定用户相关联的令牌数据相对应的数字签名。通过加密,发行者可以控制哪些第三方内容分发者平台(第三方验证者)能够处理用户的令牌数据。该系统还包括验证由发行者授权(authorize)以验证与特定用户相关联的令牌信息的参与方。因为验证密钥是由验证方在本地维护的,所以验证过程可以实时进行,而无需对外部方的进一步访问。这允许在发行者和第三方内容项分发平台之间分发的实时身份验证。
至少一个方面涉及一种用于提供已签名的身份令牌的方法。该方法包括由参与方生成与发行者的域(domain)相关联的第一方令牌。该方法还包括由该参与方向发行者发送与该发行者的域相关联的第一方令牌。该方法还包括由发行者接收与该发行者的域相关联的第一方令牌,并且创建与该第一方令牌相对应的时间戳。该方法还包括由发行者使用发行者的私钥来加密该第一方令牌和时间戳,以创建已数字签名的令牌。该方法还包括由发行者创建多个已数字签名的令牌,所述多个已数字签名的令牌中的每一个与相应的验证方相对应。该方法还包括使用由相应的验证方提供的公钥来加密所述多个已数字签名的令牌中的每一个。该方法还包括由发行者生成包括多个经加密的已数字签名的令牌中的每一个的复合(composite)令牌。该方法还包括由发行者向负责生成第一方令牌的参与方提供该复合令牌。
本公开的另一方面涉及一种用于验证用户的身份的方法。该方法包括由验证方接收复合令牌和时间戳,其中该复合令牌包括多个经加密的已数字签名的令牌。该方法还包括由验证方枚举(enumerate)复合令牌中的所述多个经加密的已数字签名的令牌中的每一个。该方法还包括由验证方确定所枚举的经加密的已数字签名的令牌中的哪一个对应于验证方。该方法还包括由验证方使用属于该验证方的私钥来解码与该验证方相对应的经加密的已签名的令牌的内容,以生成已签名的令牌。该方法还包括由验证方使用与发行者相对应的公钥来验证已签名的令牌的数字签名的有效性,以生成有效的第一方令牌。该方法还包括响应于已签名的令牌的数字签名有效,由验证方处理从已签名的令牌生成的有效的第一方令牌。
下面详细地讨论这些和其他方面和实现方式。前述信息和以下具体实施方式包括各种方面和实现方式的说明性示例,并且提供了用于理解所要求保护的方面和实现方式的性质和特性的概述或框架。附图提供了对各种方面和实现方式的说明和进一步理解,并且被结合在本说明书中并构成本说明书的部分。
附图说明
附图不意图按比例绘制。不同附图中相同的附图标记和名称指示相同的元件。为了清楚起见,并非在每一个附图中都标记每一个组件。在附图中:
图1是描绘用于在线身份的分布式实时验证的环境的示例实现方式的框图。
图2示出了根据说明性实现方式的描述密钥管理者130的示例实现方式的框图。
图3示出了根据说明性实现方式的用于复合令牌的生成的示例过程的流程图。
图4示出了根据说明性实现方式的用于复合令牌的内容的验证的示例过程的流程图。
图5示出了由图2所示的过程生成的复合令牌的表示。
图6示出了可以用来实现本文所讨论的任何计算机系统的说明性计算机系统的一般架构。
具体实施方式
以下是与管理抗欺诈(fraud resistant)内容项操作的方法、装置和系统相关的各种构思、以及管理抗欺诈内容项操作的方法、装置和系统的实现方式的更详细的描述。上面介绍的和下面更详细讨论的各种构思可以以多种方式中的任何一种来实现,因为所描述的构思不限于任何特定的实现方式。
图1是描绘用于在线身份的分布式实时验证的环境100的一种实现方式的框图。环境100包括至少一个客户端计算系统105。客户端计算系统105可以包括至少一个处理器(或处理电路)和存储器。存储器存储处理器可执行指令,其中该处理器可执行指令当在处理器上执行时使得处理器执行本文所描述的操作中的一个或多个。处理器可以包括微处理器、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)等或它们的组合。存储器可以包括但不限于电子、光学、磁性或能够向处理器提供程序指令的任何其他存储或传输设备。存储器还可以包括软盘、CD-ROM、DVD、磁盘、存储器芯片、ASIC、FPGA、只读存储器(read-only memory,ROM)、随机存取存储器(random-access memory,RAM)、电可擦除可编程ROM(electrically-erasable ROM,EEPROM)、闪存、光学介质或处理器可以从中读取指令的任何其他合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码。客户端计算系统105可以包括能够执行各种功能的一个或多个计算设备或服务器。
在一些实现方式中,客户端计算系统105可以包括诸如被配置为生成浏览器令牌的网络浏览器的应用。在这样的实施例中,所生成的浏览器令牌可以与发行者计算机系统115的域相关联,并且包含关于由客户端计算系统105执行的网络浏览器的信息。在一些实现方式中,客户端计算系统105被配置为生成设备令牌。在这样的实施例中,所生成的设备令牌可以与发行者计算系统115的域相关联,并且可以包含关于客户端计算系统105的设备信息。客户端计算系统105可以被配置为经由网络110将所生成的令牌发送到发行者计算系统115。在一些实现方式中,客户端计算系统105被配置为经由内容项网络155与广告拍卖系统通信。
网络110可以包括计算机网络,诸如互联网、局域网、广域网、城域网或其他区域网、内部网、卫星网络、其他计算机网络(诸如语音或数据移动电话通信网络)、以及它们的组合。在一些实现方式中,密钥分发基础设施135或内容项网络155中的任何一个可以与网络110相同,或者是网络110的部分。环境100的客户端计算系统105可以经由网络110例如与至少一个发行者计算系统115进行通信。网络110可以是在客户端计算系统105和发行者计算系统115以及一个或多个内容源(例如,网络服务器、广告服务器等)之间中继信息的任何形式的计算机网络。例如,网络105可以包括互联网和/或其他类型的数据网络,诸如局域网(local area network,LAN)、广域网(wide area network,WAN)、蜂窝网络、卫星网络或其他类型的数据网络。网络110还可以包括任何数量的计算设备(例如,计算机、服务器、路由器、网络交换机等),其中这些计算设备被配置为在网络110内接收和/或发送数据。网络110还可以包括任何数量的硬连线的连接和/或无线连接。例如,客户端计算系统105可以与硬连线(例如,经由光纤电缆、CAT5电缆等)到网络110中的其他计算设备的收发器进行无线通信(例如,经由WiFi、蜂窝、无线电等)。
内容项网络155可以包括计算机网络,诸如互联网、局域网、广域网、城域网或其他区域网、内部网、卫星网络、其他计算机网络(诸如语音或数据移动电话通信网络)以及它们的组合。在一些实现方式中,内容项网络155可以与网络110相同,或者是网络110的部分。环境100的客户端计算系统105可以经由内容项网络155例如与至少一个验证者计算系统140进行通信。内容项网络155可以是在客户端计算系统105和至少一个验证者计算系统140以及一个或多个内容源(例如,网络服务器、广告服务器等)之间中继信息的任何形式的计算机网络。例如,内容项网络155可以包括互联网和/或其他类型的数据网络,诸如局域网(LAN)、广域网(WAN)、蜂窝网络、卫星网络或其他类型的数据网络。内容项网络155还可以包括任何数量的计算设备(例如,计算机、服务器、路由器、网络交换机等),其中这些计算设备被配置为在内容项网络155内接收和/或发送数据。内容项网络155还可以包括任何数量的硬连线的连接和/或无线连接。例如,验证者计算系统140可以与硬连线(例如,经由光纤电缆、CAT5电缆等)到内容项网络155中的其他计算设备的收发器进行无线通信(例如,经由WiFi、蜂窝、无线电等)。
密钥分发基础设施网络135可以包括计算机网络,诸如互联网、局域网、广域网、城域网或其他区域网、内部网、卫星网络、其他计算机网络(诸如语音或数据移动电话通信网络)以及它们的组合。在一些实现方式中,密钥分发基础设施135可以与网络110相同,或者是网络110的部分。环境100的密钥管理者计算系统130可以经由密钥分发基础设施网络135例如与至少一个发行者计算系统115和/或至少一个验证者计算系统140进行通信。密钥分发基础设施网络135可以是在密钥管理者计算系统130和至少一个验证者计算系统140或至少一个发行者计算机系统115以及一个或多个内容源(例如,网络服务器、广告服务器等)之间中继信息的任何形式的计算机网络。例如,密钥分发基础设施网络135可以包括互联网和/或其他类型的数据网络,诸如局域网(LAN)、广域网(WAN)、蜂窝网络、卫星网络或其他类型的数据网络。密钥分发基础设施网络135还可以包括任何数量的计算设备(例如,计算机、服务器、路由器、网络交换机等),其中这些计算设备被配置为在密钥分发基础设施网络135内接收和/或发送数据。密钥分发基础设施网络135还可以包括任何数量的硬连线的连接和/或无线连接。例如,密钥管理者计算系统130可以与硬连线(例如,经由光纤电缆、CAT5电缆等)到密钥分发基础设施网络135中的其他计算设备的收发器进行无线通信(例如,经由WiFi、蜂窝、无线电等)。
发行者计算系统115可以包括服务器或其他计算设备,其中该服务器或其他计算设备由发行者实体操作以认证令牌信息(诸如从客户端计算系统105接收到的浏览器令牌或设备令牌)和/或对该令牌信息进行数字签名。发行者计算设备115可以包括令牌签名者组件120和一个或多个加密密钥组件125。在一些实现方式中,发行者计算系统115可以提供用于在信息资源(诸如包括主要内容的网站或网页)上显示的第三方内容项或创意(例如,广告)。发行者计算系统115还可以提供信息资源,诸如包括主要内容的网页。发行者计算系统115可以包括基于与和客户端计算系统105相关联的信息相对应的令牌来生成数字签名的指令或计算电路。发行者计算系统115可以包括加密与和客户端计算系统105相关联的信息相对应的已数字签名的令牌的指令或计算电路。发行者计算系统115可以基于一个或多个加密密钥组件125和由令牌签名者组件120生成的数字签名来生成复合令牌。发行者计算系统115可以通过将经加密的已数字签名的令牌中的每一个联接(concatenate)为单个数据结构来生成复合令牌。发行者计算系统115可以经由网络110向客户端计算系统105提供所生成的复合令牌。发行者计算系统115可以通过密钥分发基础设施135从密钥管理者130接收、请求、接受或以其他方式查询令牌签名者组件125和/或加密密钥组件125两者。在一些实现方式中,密钥管理者130可以通过密钥分发基础设施135自动地将令牌签名者组件120和/或一个或多个加密密钥组件125发送到发行者计算系统115。
验证者计算系统140可以包括服务器或其他计算设备,其中该服务器或其他计算设备由内容提供商实体操作以提供对通过内容项网络155从客户端计算系统105接收到的已签名的令牌的真实性的验证。在一些实现方式中,从内容项网络155接收到的已签名的令牌可以是复合令牌。验证者计算系统140可以包括令牌验证者组件145和解密密钥组件150。验证者计算系统140可以提供用于在信息资源(诸如包括内容项网络155上的主要内容的网站或网页)上显示的第三方内容项或创意(例如,广告)。验证者计算系统140可以仅响应于使用解密密钥组件150和令牌验证者组件145验证与客户端105相关联的令牌来提供内容项。一个或多个验证者计算系统140可以通过内容项网络155接收与客户端计算系统105相对应的复合令牌。从内容项网络155接收到的复合令牌可以包括经加密的数字签名中的一个或多个经加密的数字签名,其中所述一个或多个经加密的数字签名之一可以对应于验证者计算机系统140之一。接收到复合令牌的验证者计算系统140中的每一个可以解析(parse)复合令牌以枚举多个经加密的已数字签名的令牌。验证者计算系统140中的每一个可以使用解密密钥组件150来解码与验证者计算系统140相对应的经加密的已数字签名的令牌。如果经加密的已数字签名的令牌中的经解码的数字签名可以使用令牌验证者组件145来被验证,则该经加密的已数字签名的令牌可以被确定为对应于验证者计算系统140。令牌验证者组件150可以使用与由发行者计算系统115维护的私钥相对应的公钥来验证经解码的数字签名。在一些实施例中,验证者计算系统140可以通过密钥分发基础设施135从密钥管理者计算系统130接收、请求、接受或以其他方式查询令牌验证者和一个或多个解密密钥。在一些实现方式中,密钥管理者计算系统130可以通过密钥分发基础设施135自动地将令牌验证者组件145和/或解密密钥组件150发送到验证者计算系统140。
客户端计算系统105、发行者计算系统115、验证者计算系统140和密钥管理者计算系统130可以包括处理器和存储器,即处理电路。存储器存储机器指令,其中该机器指令当在处理器上执行时使得处理器执行本文所描述的一个或多个操作。处理器可以包括微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等、或它们的组合。存储器可以包括但不限于电子、光学、磁性或能够向处理器提供程序指令的任何其他存储或传输设备。存储器还可以包括软盘、CD-ROM、DVD、磁盘、存储器芯片、ASIC、FPGA、只读存储器(ROM)、随机存取存储器(RAM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)、闪存、光学介质或处理器可以从中读取指令的任何其他合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码。
客户端计算系统105、发行者计算系统115、验证者计算系统140和密钥管理者计算系统130也可以包括一个或多个用户接口设备。通常,用户接口设备是指通过生成感觉信息(例如,显示器上的可视化、一个或多个声音等)来向用户传达数据和/或将从用户接收到的感觉信息转换为电子信号的任何电子设备(例如,键盘、鼠标、定点设备、触摸屏显示器、麦克风等)。根据各种实现方式,一个或多个用户接口设备可以在客户端计算系统105、发行者计算系统115、验证者计算系统140和密钥管理者系统130的外壳内部(例如,内置显示器、麦克风等)或在客户端计算系统105、发行者计算系统115、验证者计算系统140和密钥管理者计算系统130的外壳外部(例如,连接到客户端计算系统105的监视器、连接到客户端计算系统105的扬声器等)。例如,客户端计算系统105、发行者计算系统115、验证者计算系统140和密钥管理者计算系统130可以包括电子显示器,其中该电子显示器使用经由网络110、内容项网络155或密钥分发基础设施135从一个或多个内容源接收到的网页数据来可视地显示网页。
发行者计算系统115可以包括至少一个服务器。例如,发行者计算系统115可以包括位于至少一个数据中心或服务器群中的多个服务器。在一些实现方式中,发行者计算系统115可以包括关于客户端计算机系统105的信息。发行者计算系统115可以包括至少一个令牌签名者组件120和至少一个加密密钥组件125。令牌签名者组件120和加密密钥组件125各个可以包括至少一个处理单元、服务器、虚拟服务器、电路、引擎、代理、器具或其他逻辑设备(诸如被配置为经由网络110和/或密钥分发基础设施135与其他计算设备(例如,客户端计算系统105或密钥管理者计算系统130)通信的可编程逻辑阵列)。
令牌签名者组件120和加密密钥组件125可以包括或执行至少一个计算机程序或至少一个脚本。令牌签名者组件120和加密密钥组件125可以是单独的组件、单个组件、或发行者计算系统115的部分。令牌签名者组件120和加密密钥组件125可以包括软件和硬件的组合,诸如被配置为执行一个或多个脚本的一个或多个处理器。
令牌签名者组件120可以经由网络110从客户端计算系统105接收第一方令牌。在一些实施例中,第一方令牌可以与发行者计算系统115的域相关联。在一些实施例中,第一方令牌可以由在客户端计算系统105上执行的浏览器生成。在一些其他实施例中,第一方令牌可以是由客户端计算系统105生成的设备令牌。在一些实施例中,令牌签名者组件120可以经由网络110从客户端计算系统105接收生成第一方令牌的请求。对第一方令牌的请求可以包括与在客户端计算系统105上执行的浏览器相对应的浏览器信息。对第一方令牌的请求可以包括与客户端计算系统105相对应的设备信息。在一些实施例中,令牌签名者组件120可以响应于来自客户端计算系统105的请求而生成第一方令牌。第一方令牌可以对应于发行者计算系统115的域。令牌签名者组件120可以经由网络110从客户端计算系统105接收对复合令牌的请求。在一些实施例中,令牌签名者组件120可以经由网络110从客户端计算系统105接收对已数字签名的令牌的请求。令牌签名者组件120可以生成与从客户端计算系统105对第一方令牌的接收相对应的时间戳。可以基于发行者计算系统115维护的当前时间来生成该时间戳。令牌签名者组件120可以维护与发行者计算系统115相对应的一个或多个私钥。在一些实施例中,经由密钥分发基础设施135从密钥管理者计算系统130接收所述一个或多个私钥。令牌签名者组件120可以使用所述一个或多个私钥生成已数字签名的第一方令牌。令牌签名者组件120可以向加密密钥组件125提供已数字签名的第一方令牌,以生成一个或多个经加密的已数字签名的令牌。令牌签名者组件120可以向加密密钥组件125提供已数字签名的第一方令牌,以生成包括一个或多个经加密的已数字签名的令牌的复合令牌。
加密密钥组件125可以从令牌签名者组件120接收已数字签名的第一方令牌。在一些实施例中,加密密钥组件125可以经由网络110从客户端计算系统105接收对复合令牌的请求。在一些实施例中,加密密钥组件125可以经由网络110从客户端计算系统105接收对经加密的已数字签名的令牌的请求。加密密钥组件125可以维护一个或多个加密密钥。在一些实施例中,所述一个或多个加密密钥中的每一个是与验证者计算系统140相对应的公钥。在这样的实施例中,验证者计算系统140可以维护与由发行者计算系统115维护的相应的公钥相关联的私钥。可以经由密钥分发基础设施135从密钥管理者计算系统130接收所述一个或多个加密密钥。在一些实施例中,加密密钥组件125可以从令牌签名者组件120接收生成一个或多个经加密的已数字签名的第一方令牌的请求。在这样的实施例中,加密密钥组件125可以为由加密密钥组件125维护的所述一个或多个加密密钥中的每一个生成经加密的已数字签名的令牌。加密密钥组件125可以生成包括所述一个或多个经加密的已数字签名的令牌的复合令牌。在这样的实施例中,加密密钥组件125可以通过将所述一个或多个经加密的已数字签名的令牌中的每一个联接为单个数据结构来生成复合令牌。加密密钥组件可以向客户端计算系统105提供复合令牌。在一些实施例中,加密密钥组件可以向客户端计算系统105提供所述一个或多个经加密的已数字签名的令牌。
验证者计算系统140可以包括至少一个服务器。例如,验证者计算系统140可以包括位于至少一个数据中心或服务器群中的多个服务器。在一些实现方式中,验证者计算系统140可以包括关于客户端计算机系统105的信息。验证者计算系统140可以包括至少一个令牌验证者组件145和至少一个解密密钥组件150。令牌验证者组件145和解密密钥组件150各个可以包括至少一个处理单元、服务器、虚拟服务器、电路、引擎、代理、器具或其他逻辑设备,诸如被配置为经由内容项网络155和/或密钥分发基础设施135与其他计算设备(例如,客户端计算系统105或密钥管理者计算系统130)通信的可编程逻辑阵列。
令牌验证者组件145和解密密钥组件150可以包括或执行至少一个计算机程序或至少一个脚本。令牌验证者组件145和解密密钥组件150可以是独立的组件、单个组件或验证者计算系统140的部分。令牌验证者组件145和解密密钥组件150可以包括软件和硬件的组合,诸如被配置为执行一个或多个脚本的一个或多个处理器。
解密密钥组件150可以经由内容项网络155接收与客户端计算系统105相对应的复合令牌。复合令牌可以包括一个或多个经加密的已数字签名的令牌。在一些实施例中,复合令牌可以包括第一方令牌和时间戳,第一方令牌用于生成复合令牌的经加密的已数字签名的部分。在这样的实施例中,解密密钥组件150可以检查接收到的复合令牌的时间戳是否是最近的,以确定复合令牌是否是作为重放攻击的部分来被发送的。如果复合令牌被确定为重放攻击的部分,则解密密钥组件可以忽略该复合令牌,停止验证者计算系统140对复合令牌的进一步处理。解密密钥组件150可以从内容项网络155接收验证复合令牌的真实性的请求。解密密钥组件150可以从内容项网络155接收验证所述一个或多个经加密的已数字签名的令牌的请求。解密密钥组件150可以维护解密密钥。在一些实施例中,解密密钥是与验证者计算系统140相对应的私钥。在这样的实施例中,发行者计算系统115维护与由验证者计算系统140维护的相应的私钥相关联的公钥。
可以经由密钥分发基础设施135从密钥管理者计算系统130接收解密密钥。解密密钥组件150可以枚举从内容项网络155接收到的复合令牌中的经加密的已数字签名的令牌中的每一个。解密密钥组件150可以枚举从内容项网络155接收到的经加密的已数字签名的令牌中的每一个。解密密钥组件150可以尝试使用由解密密钥组件150维护的私钥来解码所枚举的经加密的已数字签名的令牌中的每一个,以生成与相应经加密的已数字签名的令牌相对应的已数字签名的令牌。在一些实施例中,解密密钥组件150可以确定所枚举的已数字签名的令牌中的哪一个对应于验证者计算系统140。在这样的实施例中,解密密钥组件150可以使用私钥来解码与验证者计算系统150相对应的经加密的已数字签名的令牌,以生成已数字签名的令牌。解密密钥组件150可以向令牌验证者组件145提供一个或多个所生成的已数字签名的令牌。
令牌验证者组件145可以接收由解密密钥组件150提供的一个或多个已数字签名的令牌。令牌验证者组件可以接收第一方令牌和时间戳。令牌验证者组件145可以维护与由发行者计算系统115维护的私钥相对应的公钥。在一些实施例中,令牌验证者组件可以经由密钥分发基础设施135从密钥管理者计算系统130接收公钥。令牌验证者组件145可以通过使用公钥验证已数字签名的令牌中的至少一个来验证第一方令牌。例如,令牌验证者组件145可以使用公钥来解密从解密密钥组件150接收到的已数字签名的令牌中的每一个,以生成一个或多个经解码的令牌和时间戳对,经解码的令牌和时间戳对中的每一个与相应的已数字签名的令牌相对应。令牌验证者组件145然后可以将令牌和时间戳对中的每一个与由验证者计算系统140作为复合令牌的部分而接收到的第一方令牌和时间戳进行比较。如果令牌和时间戳对中的任何一个与作为复合令牌的部分而接收到的第一方令牌和时间戳匹配,则认为第一方令牌已被验证。复合令牌可以包含多于一个经加密的已数字签名的令牌,因为经加密的已数字签名的令牌中的每一个与由发行者计算系统115授权以验证第一方令牌的真实性的验证者计算系统140相对应。已数字签名的令牌可以用作数字签名以验证第一方令牌和时间戳的真实性。在一些实施例中,验证者计算系统140可以响应于验证第一方令牌的真实性来处理第一方令牌。
图2示出了描述密钥管理者计算系统130的示例实现方式的框图。密钥管理者计算系统130可以包括密钥管理服务205、令牌签名者二进制(binary)210、令牌验证者二进制215、验证者加密密钥220和验证者解密密钥225。在一些实现方式中,密钥管理服务205可以由密钥管理者计算系统130的操作系统执行。
在一些实现方式中,密钥管理服务205可以是由操作系统提供的应用编程接口,其中发行者计算系统115和验证者计算系统140可以与该应用编程接口进行对接以请求令牌签名者数据和令牌验证者数据。在一些实现方式中,发行者计算系统115可以通过与密钥管理服务205对接来向每个验证者计算系统140授权解密密钥。在一些实现方式中,密钥管理服务可以使用令牌签名者二进制210来向发行者计算系统115提供令牌签名者组件120私钥。在这样的实现方式中,私钥可以经由密钥分发基础设施135被提供给发行者计算系统115。在一些实现方式中,密钥管理服务可以使用令牌验证者二进制215向验证者计算系统140提供令牌验证者组件145公钥。在这样的实现方式中,私钥可以经由密钥分发基础设施135被提供给发行者计算系统115。密钥管理服务205可以通过生成特定的验证者加密密钥220和验证者解密密钥225来授权某些验证者计算系统140。例如,密钥管理服务205可以从发行者计算系统115接收仅授权某些验证者计算系统140的请求。密钥管理服务205然后可以生成验证者加密密钥(例如,公钥)和验证者解密密钥(例如,私钥),公钥/私钥对中的每一个与由发行者计算系统115授权的验证者计算系统140相对应。密钥管理服务205可以经由密钥分发基础设施135向发行者计算系统115的加密密钥组件125提供所有公共(加密)密钥。密钥管理服务205可以将私有(解密)密钥中的每一个分发到相应的授权验证者计算系统140。
图3示出了用于加密复合令牌的生成的示例过程300的流程图。过程300包括:生成第一方令牌302,将第一方令牌发送到发行者304,使用私钥对第一方令牌进行数字签名306,选择第i个验证者加密密钥308,使用第i个验证者加密密钥310创建经加密的已数字签名的令牌,确定i是否等于验证者加密密钥的数量312、递增寄存器i 314,从经加密的已数字签名的令牌生成复合令牌316,以及向负责生成第一方令牌的参与方提供复合令牌318。
在步骤302的进一步细节中,参与方生成第一方令牌。在一些实现方式中,第一方令牌可以与发行者的域相关联。在一些实现方式中,第一方令牌可以包括来自应用(例如,网络浏览器)的数据。在一些实现方式中,生成第一方令牌包括来自执行过程300的设备或系统的设备信息。生成第一方令牌可以包括从发行方生成对经加密的已数字签名的令牌的请求。发行方也可以被称为发行者。生成第一方令牌可以包括从发行者生成对复合令牌的请求。在一些实现方式中,生成第一方令牌可以包括生成时间戳。在这样的实现方式中,时间戳可以是具有高分辨率(例如,毫秒或微秒分辨率等)的时间戳。
在步骤304的进一步细节中,参与方将第一方令牌发送给发行者。向发行者发送第一方令牌可以包括发送由该参与方生成的时间戳。在一些实施例中,发送第一方令牌可以包括向发行者发送对经加密的已数字签名的令牌的请求。在一些实施例中,发送第一方令牌可以包括向发行者发送对复合令牌的请求,该复合令牌包括至少一个或多个经加密的已数字签名的令牌。发送第一方令牌可以包括从发行者发送对已数字签名的令牌的请求。
在步骤306的进一步细节中,发行者使用私钥对在步骤304中发送的第一方令牌进行数字签名。在一些实施例中,步骤306可以包括由发行者接收由参与方在步骤302中生成的已数字签名的令牌。在一些实施例中,由发行者接收已数字签名的令牌可以包括接收在步骤302或步骤304中生成的时间戳。在一些实施例中,过程的步骤306可以将第一方令牌和时间戳联接为令牌-时间戳对。在步骤306,发行者可以使用数字签名算法(例如,DSA、RSA等)对第一方令牌进行数字签名。在一些实施例中,发行者可以通过对令牌-时间戳对使用数字签名算法来生成已数字签名的令牌。在一些实施例中,可以使用第一方令牌作为输入来执行散列(hash)函数(例如,SHA-1、SHA-256、MD5等),以生成散列化的令牌。在一些实施例中,可以使用令牌-时间戳对作为输入来执行散列函数,以生成散列化的令牌-时间戳对。过程300的发行者可以对散列化的令牌使用数字签名算法来生成已数字签名的令牌。在一些实施例中,过程300的发行者可以对散列化的令牌-时间戳对使用数字签名算法来生成已签名的令牌。
过程300包括选择第i个验证者加密密钥308。例如,该过程阶段可以由发行者计算系统115执行,以加密由加密密钥组件125维护的所有加密密钥的已数字签名的令牌。在一些实施例中,步骤308可以包括接收一个或多个加密密钥,其中所述一个或多个加密密钥各个对应于验证方,其中n等于加密密钥的数量。在一些实施例中,可以从密钥管理者(例如密钥管理者计算系统130)接收加密密钥。在一些实施例中,加密密钥是对应于相应验证方的公钥。在由过程300创建的循环的第一次迭代中,步骤308可以选择第一个加密密钥(第i个,i=1)。应当理解,可以以任何顺序选择所述一个或多个加密密钥。
在步骤310的进一步细节中,过程300可以使用第i个验证者加密密钥创建经加密的已数字签名的令牌。在一些实施例中,过程300使用非对称加密算法,其中加密密钥是公钥并且私钥属于验证方。过程300可以通过用在步骤308中所选的第i个加密密钥对在步骤306中生成的已数字签名的令牌进行加密来创建经加密的已数字签名的令牌。在一些实施例中,加密密钥可以是公钥/私钥对的私钥,其中公钥由验证方维护。在一些实施例中,步骤310不对在步骤306中生成的已数字签名的令牌进行加密,而是简单地返回该已数字签名的令牌。
过程300包括创建与由发行者维护的所有加密密钥相对应的、经加密的已数字签名的令牌。例如,发行者计算系统115的加密密钥组件125可以确定当前创建的经加密的已数字签名的令牌是否是第n个经加密的已数字签名的令牌,其中n与由加密密钥组件125维护的加密密钥的数量相对应。如果否,则加密密钥组件125可以递增计数器i 312,并从由加密密钥组件125维护的加密密钥中选择下一个加密密钥。以这种方式,发行者计算系统115可以创建n个经加密的已数字签名的令牌,其中n个经加密的已数字签名的令牌中的每一个对应于验证方,例如验证者计算系统140。
在步骤316的进一步细节中,过程300可以从经加密的已数字签名的令牌生成复合令牌。可以通过将经加密的已数字签名的令牌中的每一个联接为单个数据结构来生成复合令牌。这种联接的示例如图5所示。在该说明性实施例中,506a-n表示在步骤310中创建的经加密的已数字签名的令牌中的每一个,其中n个已数字签名的令牌中的每一个对应于验证方,例如验证者计算系统140之一。在一些实施例中,可以通过将经加密的已数字签名的令牌中的每一个与原始的第一方令牌和时间戳联接为单个数据结构来生成复合令牌。图5中示出了这种连接的结果的实施例,其中502是原始的第一方令牌,504是对应于原始的第一方令牌的时间戳,并且506a-n是n个经加密的已数字签名的令牌中的每一个。尽管图5以特定顺序示出了第一方令牌、时间戳和经加密的已数字签名的令牌,但是应当理解,组件中的任何一个都可以被从复合令牌中排除,并且这些元素中的任何一个都可以以任何顺序在复合令牌中出现。
在步骤318的进一步细节中,过程300向负责生成第一方令牌的参与方提供复合令牌。过程300可以将在步骤316中生成的复合令牌提供给在步骤302中生成第一方令牌的参与方。例如,发行者计算系统115可以经由网络110将由加密密钥组件125生成的复合令牌发送到客户端计算系统105。在一些实施例中,发行者可以通过网络接口向负责生成第一方令牌的参与方提供复合令牌。例如,发行者计算系统115可以经由网络接口发送所生成的复合令牌,并且客户端计算系统105可以接收复合令牌作为浏览器会话的部分。
图4示出了用于复合令牌的内容的验证的示例过程400的流程图。过程400包括:接收复合令牌402,枚举复合令牌中的经加密的已数字签名的令牌中的每一个404,选择第i个经加密的已数字签名的令牌408,解码经加密的已数字签名的令牌以生成已数字签名的令牌410,验证已数字签名的令牌的有效性并生成第一方令牌412,确定经加密的令牌是否对应于验证方414,确定i是否等于复合令牌中的经加密的已数字签名的令牌的数量n 416,递增寄存器i 418,忽略复合令牌420,以及处理有效的第一方令牌422。
在步骤402的进一步细节中,过程400可以接收包括一个或多个经加密的已数字签名的令牌的复合令牌。例如,验证计算系统140之一可以从内容项网络155接收复合令牌。复合令牌可以包括一个或多个经加密的已数字签名的令牌。复合令牌还可以包括第一方令牌和时间戳。图5示出了复合令牌的示例示意图。过程400可以由需要验证第一方令牌的真实性的参与方来执行。在一些实施例中,复合令牌可以作为单个数据结构被接收。在一些其他实施例中,复合令牌可以作为一系列数据结构被接收。例如,执行过程400的验证方可以一次一个地接收经加密的已数字签名的令牌,并使用它们来创建复合令牌。在一些实施例中,第一方令牌可以包括与第一方令牌的创建相对应的时间戳。在这样的实施例中,第一方令牌和时间戳可以被包括在复合令牌中。
在步骤404的进一步细节中,过程400枚举在步骤402中接收到的复合令牌中的经加密的已数字签名的令牌中的每一个。在一些实施例中,枚举经加密的已数字签名的令牌中的每一个包括提取每个经加密的已数字签名的令牌。在这样的实施例中,也可以从复合令牌中提取第一方令牌和时间戳。在这样的实施例中,执行过程400的验证方可以将复合令牌中的时间戳与预定值进行比较。执行过程400的验证方可以比较时间戳来检查复合令牌是否是最近的,并防御潜在的重放攻击。在一些实施例中,复合令牌可以是对于执行过程400的验证方已知的预定数据结构。在这样的实施例中,验证方可以通过基于数据结构中的已知偏移来提取和枚举经加密的已数字签名的令牌中的每一个。在一些实施例中,枚举经加密的已数字签名的令牌中的每一个可以包括将数值分配给与经加密的已数字签名的令牌中的每一个相对应的那个。例如,参考图5,经加密的已数字签名的令牌506a-n中的每一个可以被分配与其在复合令牌中的顺序相对应的数值。此外在这个示例中,506a可以被分配1的值,506b可以被分配2的值,506c可以被分配3的值,以此类推。在一些实施例中,执行步骤404的验证方可以确定被包括在步骤402中接收到的复合令牌中的经加密的已数字签名的令牌的数量n。
过程400包括选择第i个经加密的已数字签名的令牌408。例如,该过程阶段可以由验证者计算系统115执行,以解码包括复合令牌的经加密的已数字签名的令牌中的每一个。在一些实施例中,步骤308可以包括接收到与执行过程400的验证方相对应的解密密钥。在一些实施例中,可以从密钥管理者(例如,密钥管理者计算系统130)接收解密密钥。在一些实施例中,解密密钥是与执行过程400的验证方相对应的私钥。在这样的实施例中,相应的公钥由负责生成复合令牌的发行者维护。在由过程400创建的循环的第一次迭代中,步骤408可以选择第一个经加密的已数字签名的令牌(第i个,i=1)。应当理解,可以以任何顺序选择一个或多个加密密钥。
在步骤410的进一步细节中,过程400解码所选的经加密的已数字签名的令牌,以生成已数字签名的令牌。验证方可以解码在步骤408中所选的经加密的已数字签名的令牌,并生成已数字签名的令牌。例如,验证者计算系统140之一可以使用解密密钥组件150来执行过程400的步骤410。对于进一步的示例,执行过程400的验证者计算系统140的解密密钥组件150可以经由密钥分发基础设施135从密钥管理者计算系统130接收解密密钥。在一些实施例中,过程400的步骤410可以包括从密钥管理者接收解密密钥。在一些其他实施例中,可以由执行过程400的验证方在执行过程400之前维护或接收解密密钥。在一些实施例中,使用解密算法(例如,椭圆曲线(elliptic curve)、RSA等)来执行对经加密的已数字签名的令牌的解码。
在步骤412的进一步细节中,验证已数字签名的令牌以生成第一方令牌。在一些实施例中,验证已数字签名的令牌以生成第一方令牌的散列。执行过程400的验证方可以使用数字签名算法(例如,椭圆曲线、DSA、RSA等)来解密在步骤410中生成的已数字签名的令牌的内容,已数字签名的令牌的经解密的内容是第一方令牌和时间戳,其中该第一方令牌和时间戳可以用于验证在过程400的步骤402中在复合令牌中接收到的第一方令牌的有效性。在一些实施例中,已数字签名的令牌的经解密的内容是第一方令牌和时间戳的散列。在一些实施例中,数字签名算法使用发行者的公钥来解密已数字签名的令牌的内容。例如,密钥管理者计算系统130可以向发行者计算系统115分发私钥,并且向验证者计算系统140分发相应的公钥。发行者计算系统115可以使用过程300来生成复合密钥,其中该复合密钥被提供给客户端计算系统105。客户端计算系统105可以向内容项网络155提供复合令牌,其中内容项网络155可以向一个或多个验证者计算系统140提供复合令牌。验证者计算系统可以使用过程400来尝试处理包含在复合令牌中的第一方令牌。在该示例中,验证者计算系统140可以在步骤412中使用与由发行者计算系统115维护的私钥相对应的公钥来解密已数字签名的令牌,以生成第一方令牌和时间戳,或者在一些实施例中生成第一方令牌和时间戳的散列。
在步骤414的进一步细节中,过程400确定已数字签名的令牌的经解密的内容是否对应于执行过程400的验证方。例如,复合令牌可以包含多于一个经加密的已数字签名的令牌。每个经加密的已数字签名的令牌只能由授权的验证方解密。在这个示例中,授权由对解密密钥的分发来控制。每个解密密钥只能成功地解密包括在复合令牌中的经加密的已数字签名的令牌中的至多一个经加密的已数字签名的令牌的内容。验证方可以通过检查数字签名(即,在步骤410中生成的已数字签名的令牌)是否匹配包括在步骤402中接收到的复合令牌中的第一方令牌和时间戳,来确定经加密的已数字签名的令牌是否对应于执行过程400的验证方。验证方可以检查在步骤412中生成的第一方令牌和时间戳是否匹配作为复合令牌的部分而接收到的第一方令牌和时间戳。在一些实施例中,步骤412可以返回第一方令牌和时间戳的散列。在这样的实施例中,步骤414使用密码散列函数(cryptographic hashfunction)(例如,SHA-1、SHA-256、MD5等)计算作为复合令牌的部分而接收到的第一方令牌和时间戳的散列,并将该散列与在步骤412从已数字签名的令牌的解密中返回的值进行比较。如果这两个值匹配,则经加密的已数字签名的令牌对应于验证方,并且在步骤422,第一方令牌可以由验证方处理。如果这两个值不匹配,则执行过程400的验证方可以确定当前经加密的已数字签名的令牌是否是第n个经加密的已数字签名的令牌416。如果不是,则执行过程400的验证方可以递增计数器i 418并选择下一个经加密的已数字签名的令牌408。如果当前经加密的已数字签名的令牌是第n个经加密的已数字签名的令牌,则复合令牌中的经加密的已数字签名的令牌中没有一个经加密的已数字签名的令牌对应于执行过程400的验证方,并且复合令牌被忽略420。
在步骤422的进一步细节中,执行过程400的验证方可以处理已验证的第一方令牌。在一些实施例中,可以实时执行验证过程400,而无需访问外部服务器或数据库。在一些实施例中,第一方令牌的处理包括消费(consume)令牌的数据内容。例如,令牌可以包含浏览器信息。通过验证第一方令牌的真实性,验证方现在可以将包含在第一方令牌中的浏览器信息与负责生成第一方令牌的参与方(例如客户端计算系统105)相关联。验证过程400允许可能需要非常低延迟令牌认证的验证方在预定时间量(例如100毫秒)内验证第一方令牌的真实性。
图6示出了根据一些实现方式的说明性计算机系统600的总体架构,该计算机系统600可以用于实现本文所讨论的任何计算机系统(包括客户端计算系统105、发行者计算系统115及其组件(诸如令牌签名者组件120和加密密钥组件125)、验证者计算系统140及其组件(诸如令牌验证者组件145和解密密钥组件150)、以及密钥管理者计算系统及其组件)。计算机系统600可以用于经由网络110、内容项网络155或密钥分发基础设施135提供信息以用于显示。图6的计算机系统600包括通信耦合到存储器625的一个或多个处理器620、一个或多个通信接口605、以及一个或多个输出设备610(例如,一个或多个显示器单元)和一个或多个输入设备615。处理器620可以被包括在客户端计算系统115中。处理器620可以被包括在发行者计算系统115或发行者计算系统115的其他组件中,诸如令牌签名者组件120和加密密钥组件125。处理器620可以被包括在验证者计算系统140或验证者计算系统140的其他组件中,诸如令牌验证者组件145和解密密钥组件150。处理器620可以被包括在密钥管理者计算系统130或密钥管理者计算系统130的其他组件中,诸如密钥管理服务205。
在图6的计算机系统600中,存储器625可以包括任何计算机可读存储介质,并且可以存储计算机指令(诸如用于实现本文针对相应系统所描述的各种功能的处理器可执行指令)、以及由此生成的或经由(多个)通信接口或(多个)输入设备(如果存在)接收到的任何与之相关的数据。参考图2的密钥管理者计算系统130,密钥管理者计算系统130可以包括存储与验证者加密密钥220和验证者解密密钥225等相关的信息的存储器625。图6中所示的(多个)处理器620可以用于执行存储在存储器625中的指令,并且在这样做时,还可以从存储器读取或向存储器写入根据指令的执行而处理和/或生成的各种信息。
图6所示的计算机系统600的处理器620也可以通信地耦合到或控制(多个)通信接口605,以根据指令的执行发送或接收各种信息。例如,(多个)通信接口605可以耦合到有线或无线网络、总线或其他通信装置,并且因此可以允许计算机系统600向其他设备(例如,其他计算机系统)发送信息或从其他设备(例如,其他计算机系统)接收信息。尽管在图6的系统中没有明确示出,但是一个或多个通信接口有助于系统600的组件之间的信息流。在一些实现方式中,可以配置(多个)通信接口(例如,经由各种硬件组件或软件组件)以提供网站作为对计算机系统600的至少一些方面的访问门户。通信接口805的示例包括用户界面(例如,网页),其中用户可以通过该用户界面与数据处理系统600通信。
例如,可以提供图6所示的计算机系统600的输出设备610,以允许结合指令的执行来查看或感知各种信息。例如,可以提供(多个)输入设备615,以允许用户在指令的执行期间进行手动调整、进行选择、输入数据或者以各种方式中的任何一种与处理器交互。本文进一步提供了与可以用于本文所讨论的各种系统的通用计算机系统架构相关的附加信息。
本说明书中描述的主题和操作的实现方式可以在数字电子电路中实现,或者在具体体现在有形介质上的计算机软件、固件或硬件(包括本说明书中所公开的结构及其结构等同物)上实现,或者在它们中的一个或多个的组合中实现。本说明书中描述的主题的实现方式可以被实现为一个或多个计算机程序(即计算机程序指令中的一个或多个组件),其中所述一个或多个计算机程序被编码在计算机存储介质上,用于由数据处理装置执行或控制数据处理装置的操作。程序指令可以被编码在人工生成的传播信号(例如机器生成的电、光或电磁信号)上,其中该人工生成的传播信号被生成以编码用于传输到合适的接收器装置的信息,以用于由数据处理装置执行。计算机存储介质可以是或被包括在计算机可读存储设备、计算机可读存储基底、随机或串行存取存储器阵列或设备、或者它们中的一个或多个的组合中。此外,尽管计算机存储介质不是传播信号,但是计算机存储介质可以包括编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是或被包括在一个或多个单独的物理组件或介质(例如,多个CD、磁盘或其他存储设备)中。
本文所公开的特征可以在智能电视模块(或连接的电视模块、混合电视模块等)上实现,其中该智能电视模块可以包括处理模块,该处理模块被配置为将互联网连接与更传统的电视节目源(例如,经由电缆、卫星、空中或其他信号接收到的)相集成。智能电视模块可以被物理地结合到电视中,或者可以包括单独的设备,诸如机顶盒、蓝光或其他数字媒体播放器、游戏控制台、酒店电视系统和其他伴随设备。智能电视模块可以被配置为允许观众在网络上、本地有线TV频道上、卫星电视TV频道上或存储在本地硬盘驱动器上搜索和找到视频、电影、照片和其他内容。机顶盒(set-top box,STB)或机顶盒单元(set-top unit,STU)可以包括信息器具,其中该信息器具可以包含调谐器并连接到电视和信号的外部源,将信号转换为然后显示在电视屏幕或其他显示器设备上的内容。智能电视模块可以被配置为提供包括用于多个不同应用(诸如网络浏览器和多个流媒体服务、连接的电缆或卫星媒体源、其他网络“频道”等)的图标的主屏幕或顶层屏幕。智能电视模块还可以被配置为向用户提供电子节目指南。智能电视模块的伴随应用可以在移动计算设备上操作来向用户提供关于可用节目的附加信息,以允许用户控制智能电视模块等。在替代实现方式中,这些特征可以在膝上型计算机或其他个人计算机、智能手机、其他移动电话、手持计算机、平板PC或其他计算设备上实现。
本说明书中描述的操作可以实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收到的数据执行的操作。
术语“数据处理装置”、“数据处理系统”、“用户设备”或“计算设备”包括用于处理数据的所有种类的装置、设备和机器,包括例如可编程处理器、计算机、片上系统、或前述的多个装置、设备和机器、或者它们的组合。该装置可以包括专用逻辑电路,例如,现场可编程门阵列(FPGA)或专用集成电路(ASIC)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。该装置和执行环境可以实现各种不同的计算模型基础设施,诸如网络服务、分布式计算和网格计算基础设施。内容请求组件130、内容选择组件135和属性组件150可以包括或共享一个或多个数据处理装置、计算设备或处理器。
计算机程序(也被称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译语言或解释语言、声明性语言或过程性语言,并且其可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或适合在计算环境中使用的其他单元。计算机程序可以但不必须对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或者存储在多个协同文件中(例如,存储一个或多个模块、子程序或代码的部分的文件)。计算机程序可以被部署为在一个计算机上或位于一个站点或跨多个站点分布并通过通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,其中该一个或多个可编程处理器执行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来执行动作。这些过程和逻辑流程也可以由专用逻辑电路(例如,现场可编程门阵列(FPGA)或专用集成电路(ASIC))来执行,并且装置也可以被实现为专用逻辑电路(例如,现场可编程门阵列(FPGA)或专用集成电路(ASIC))。
适于执行计算机程序的处理器包括,例如,通用和专用微处理器两者、以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或者两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合到用于存储数据的一个或多个大容量存储设备(例如磁盘、磁光盘或光盘),以从其接收数据或向其传送数据,或者两者兼有。然而,计算机不必需这样的设备。此外,计算机可以嵌入到另一个设备中,例如,移动电话、个人数字助理(personal digital assistant,PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(Global Positioning System,GPS)接收器或便携式存储设备(例如,通用串行总线(universal serial bus,USB)闪存驱动)。适于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如:半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路来补充或并入专用逻辑电路。
为了提供与用户的交互,本说明书中描述的主题的实现方式可以在计算机上实现,该计算机具有用于向用户显示信息的显示器设备(例如阴极射线管(cathode raytube,CRT)、等离子体或液晶显示器(liquid crystal display,LCD)监视器)、以及用户可以通过其向该计算机提供输入的键盘和定点设备(例如鼠标或轨迹球)。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以包括任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从用户的客户端设备上的网络浏览器接收到的请求,将网页发送到该网络浏览器。
本说明书中描述的主题的实现方式可以在计算系统中实现,其中该计算系统包括后端组件(例如作为数据服务器),或包括中间件组件(例如应用服务器),或包括前端组件(例如具有图形用户界面或网络浏览器的客户端计算机,其中用户可以通过该图形用户界面或网络浏览器与本说明书中描述的主题的实现方式进行交互),或者包括一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信(例如通信网络)来互连。通信网络的示例包括局域网(LAN)和广域网(WAN)、互连网络(例如互联网)和对等网络(例如ad hoc对等网络)。
诸如发行者计算系统115、验证者计算系统140、客户端计算系统105和密钥管理者计算系统130的计算系统可以包括客户端和服务器。例如,发行者计算系统115、验证者计算系统140、客户端计算系统105和密钥管理者计算系统130可以包括一个或多个数据中心或服务器群中的一个或多个服务器。客户端和服务器通常彼此远离,并且典型地通过通信网络进行交互。客户端和服务器的关系是通过运行在相应计算机上并且彼此具有客户端-服务器关系的计算机程序产生的。在一些实现方式中,服务器将数据(例如,HTML页面)发送到客户端设备(例如,为了向与客户端设备交互的用户显示数据和从该用户接收用户输入)。可以在服务器处从客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。
尽管本说明书包含多个具体的实现细节,但是细节这些不应被解释为对任何发明或可能要求保护的范围的限制,而是对本文所描述的系统和方法的特定实现方式的特征的描述。本说明书中在单独的实现方式的上下文中描述的某些特征也可以在单个实现方式中组合实现。相反,在单个实现方式的上下文中描述的各种特征也可以在多个实现方式中单独实现或者在任何合适的子组合中实现。此外,尽管特征可以在上文中被描述为在某些组合中起作用,并且甚至最初被如此要求保护,但是在一些情况下,可以从该组合中删除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变型。
类似地,尽管在附图中以特定次序描述了操作,但是这不应该被理解为要求以所示的特定次序或顺序地执行这些操作,或者要求执行所有示出的操作以获得期望的结果。在一些情况下,权利要求中记载的动作可以以不同的顺序执行,并且仍然获得期望的结果。此外,附图中描述的过程不一定需要所示的特定次序或顺序来实现期望的结果。
在某些情况下,多任务和并行处理可能是有利的。此外,上述实现方式中的各种系统组件的分离不应该被理解为在所有实现方式中都需要这种分离,并且应该理解,所描述的程序组件和系统通常可以一起被集成在单个软件产品中或者封装到多个软件产品中。例如,令牌签名者组件120和加密密钥组件125可以是发行者计算系统115的部分、单个模块、具有一个或多个处理模块的逻辑设备、一个或多个服务器或者搜索引擎的部分。
现在已经描述了一些说明性实现方式和实现方式,显然已经以示例的方式给出的前述是说明性的而不是限制性的。特别地,尽管本文所呈现的多个示例涉及方法动作或系统元件的特定组合,但是那些动作和那些元件可以以其他方式被组合以实现相同的目标。仅结合一种实现方式所讨论的动作、元件和特征不旨在被排除在其他实现方式或实现方式中的类似角色之外。
本文所使用的措辞和术语是为了描述的目的,并且不应被视为限制。本文中“包括”、“具有”、“包含”、“涉及”、“以……为特征”及其变型的使用意味着包含其后所列出的项目、其等同物和附加项目、以及仅由其后所列出的项目构成的替代实现方式。在一种实现方式中,本文所描述的系统和方法由所描述的元件、动作或组件中的一个元件、动作或组件、多于一个元件、动作或组件中的每个组合、或者所有元件、动作或组件构成。
本文以单数形式提及的系统和方法的实现方式或元件或者动作的任何引用也可以包含包括多个这些元件的实现方式,并且本文以复数形式提及的任何实现方式或元件或者动作也可以包含仅包括单个元件的实现方式。单数或复数形式的引用不旨在将当前公开的系统或方法、它们的组件、动作或元件限制为单数或复数配置。对基于任何信息、动作或元件的任何动作或元件的引用可以包括动作或元件至少部分地基于任何信息、动作或元件的实现方式。
本文所公开的任何实现方式可以与任何其他实现方式组合,并且对“实现方式”、“一些实现方式”、“替代实现方式”、“各种实现方式”、“一种实现方式”等的引用不一定是互斥的,而是旨在指示结合该实现方式描述的特定特征、结构或特性可以被包括在至少一种实现方式中。本文所使用的这些术语不一定都指同一实现方式。任何实现方式可以以与本文公开的方面和实现方式一致的任何方式包含性地或排他性地与任何其他实现方式组合。
对“或”的引用可以被解释为包含性的,因此使用“或”描述的任何术语可以表示单个描述的术语、多于一个描述的术语、以及所有描述的术语中的任何一个。
在附图、具体实施方式或任何权利要求中的技术特征后面带有附图标记的情况下,附图标记被包括在内的唯一目的是增加附图、具体实施方式和权利要求的可理解性。因此,附图标记及其不存在对任何权利要求元素的范围都没有任何限制作用。
本文所描述的系统和方法可以在不脱离其特征的情况下以其他特定形式实施。尽管本文所提供的示例涉及控制信息资源的内容的显示,但是本文所描述的系统和方法可以包括被应用于其他环境。前述实现方式是说明性的,而不是对所描述的系统和方法的限制。因此,本文所描述的系统和方法的范围由所附权利要求而不是前面的描述来指示,并且落入权利要求的等同物的含义和范围内的变化包含在其中。

Claims (20)

1.一种用于提供已签名的身份令牌的方法,包括:
由参与方生成与发行者的域相关联的第一方令牌;
由所述参与方向所述发行者发送与所述发行者的域相关联的所述第一方令牌;
由所述发行者接收与所述发行者的域相关联的所述第一方令牌,并创建与所述第一方令牌相对应的时间戳;
由所述发行者使用所述发行者的私钥来加密所述第一方令牌和时间戳,以创建已数字签名的令牌;
由所述发行者创建多个已数字签名的令牌,所述多个已数字签名的令牌中的每一个对应于相应的验证方;
使用由相应的验证方提供的公钥来加密所述多个已数字签名的令牌中的每一个;
由所述发行者生成包括所述多个经加密的已数字签名的令牌中的每一个的复合令牌;以及
由所述发行者向负责生成所述第一方令牌的所述参与方提供所述复合令牌。
2.根据权利要求1所述的方法,其中,由所述参与方生成所述第一方令牌部分地基于与所述参与方相关联的浏览器信息。
3.根据权利要求2所述的方法,其中,由所述发行者接收与所述发行者的域相关联的所述第一方令牌和所述时间戳包括接收与所述参与方相关联的浏览器信息。
4.根据权利要求1所述的方法,其中,由所述参与方生成所述第一方令牌部分地基于与所述参与方相关联的设备信息。
5.根据权利要求5所述的方法,其中,由所述发行者接收对与所述发行者的域相关联的第一方令牌的请求包括接收与所述参与方相关联的设备。
6.根据权利要求1所述的方法,其中,由所述参与方生成所述第一方令牌包括生成与所述请求相对应的至少64位的高分辨率时间戳。
7.一种用于验证用户的身份的方法,包括:
由验证方接收复合令牌和时间戳,其中所述复合令牌包括多个经加密的已数字签名的令牌;
由所述验证方枚举所述复合令牌中的所述多个经加密的已数字签名的令牌中的每一个;
由所述验证方确定所枚举的经加密的已数字签名的令牌中的哪一个对应于所述验证方;
由所述验证方使用属于所述验证方的私钥来解码与所述验证方相对应的经加密的已签名的令牌的内容,以生成已签名的令牌;
由所述验证方使用与发行者相对应的公钥来验证所述已签名的令牌的数字签名的有效性,以生成有效的第一方令牌;
响应于所述已签名的令牌的数字签名有效,由所述验证方处理从所述已签名的令牌生成的所述有效的第一方令牌。
8.根据权利要求7所述的方法,其中,由验证方接收复合令牌和时间戳包括接收至少64位的高分辨率时间戳。
9.根据权利要求7所述的方法,其中,由所述验证方使用与发行者相对应的公钥来验证所述已签名的令牌的数字签名的有效性以生成有效的第一方令牌包括,生成有效的第一方设备令牌。
10.根据权利要求7所述的方法,其中,由所述验证方使用与发行者相对应的公钥来验证所述已签名的令牌的数字签名的有效性以生成有效的第一方令牌包括,生成有效的第一方浏览器令牌。
11.根据权利要求7所述的方法,其中,由所述验证方确定所枚举的经加密的已数字签名的令牌中的哪一个对应于所述验证方包括,响应于所枚举的经加密的已数字签名的令牌中没有一个与所述验证方相对应而忽略接收到的复合令牌。
12.根据权利要求7所述的方法,其中,验证所述已签名的令牌的数字签名的有效性包括将经解密的令牌和时间戳与包括在所述复合令牌中的未经加密的令牌进行比较。
13.根据权利要求7所述的方法,其中,验证所述已签名的令牌的数字签名的有效性包括将包括在所述复合令牌中的时间戳与包括在所述已签名的令牌的数字签名中的时间戳进行比较。
14.一种用于响应于请求而提供经加密的已签名的身份令牌的系统,所述系统包括一个或多个处理器,所述一个或多个处理器被配置为:
由参与方生成与发行者的域相关联的第一方令牌;
向发行者发送与所述发行者的域相关联的所述第一方令牌和时间戳;
接收与所述发行者的域相关联的所述第一方令牌并创建时间戳;
使用所述发行者的私钥来加密与所述请求相对应的第一方令牌和时间戳,以创建已数字签名的令牌;
创建多个已数字签名的令牌,所述多个已数字签名的令牌中的每一个对应于相应的验证方;
使用由相应的验证方提供的公钥来加密所述多个已数字签名的令牌中的每一个;
生成包括所述多个经加密的已数字签名的令牌中的每一个的复合令牌;以及
向负责发起对所述第一方令牌的请求的参与方提供所述复合令牌。
15.根据权利要求14所述的系统,其中,所述一个或多个处理器还被配置为:
基于与所述参与方相关联的浏览器信息,生成与发行者的域相关联的所述第一方令牌和时间戳。
16.根据权利要求15所述的系统,其中,所述一个或多个处理器还被配置为:
接收与所述发行者的域相关联的所述第一方令牌和所述时间戳、以及与所述参与方相关联的浏览器信息。
17.根据权利要求14所述的系统,其中,所述一个或多个处理器还被配置为:
基于与所述参与方相关联的浏览器信息,生成与发行者的域相关联的所述第一方令牌和时间戳。
18.根据权利要求17所述的系统,其中,所述一个或多个处理器还被配置为:
接收与所述发行者的域相关联的所述第一方令牌和所述时间戳、以及与所述参与方相关联的设备信息。
19.根据权利要求14所述的系统,其中,用所述第一方令牌生成的时间戳是至少64位的高分辨率时间戳。
20.一种用于验证用户的身份的系统,所述系统包括一个或多个处理器,所述一个或多个处理器被配置为:
接收复合令牌和时间戳,其中所述复合令牌包括多个经加密的已数字签名的令牌;
枚举所述复合令牌中的所述多个经加密的已数字签名的令牌中的每一个;
确定所枚举的经加密的已数字签名的令牌中的哪一个对应于验证方;
使用属于所述验证方的私钥来解码与所述验证方相对应的经加密的已签名的令牌的内容,以生成已签名的令牌;
使用与发行者相对应的公钥来验证所述已签名的令牌的数字签名的有效性,以生成有效的第一方令牌;
响应于所述已签名的令牌的数字签名有效,处理从所述已签名的令牌生成的所述有效的第一方令牌。
CN202080002153.3A 2019-04-29 2020-04-15 用于在线身份的分布式验证的系统和方法 Active CN112154638B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210704549.3A CN115242379A (zh) 2019-04-29 2020-04-15 用于在线身份的分布式验证的系统和方法

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962840204P 2019-04-29 2019-04-29
US62/840,204 2019-04-29
US16/553,599 US11102004B2 (en) 2019-04-29 2019-08-28 Systems and methods for distributed verification of online identity
US16/553,599 2019-08-28
PCT/US2020/028353 WO2020223020A1 (en) 2019-04-29 2020-04-15 Systems and methods for distributed verification of online identity

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210704549.3A Division CN115242379A (zh) 2019-04-29 2020-04-15 用于在线身份的分布式验证的系统和方法

Publications (2)

Publication Number Publication Date
CN112154638A true CN112154638A (zh) 2020-12-29
CN112154638B CN112154638B (zh) 2022-06-14

Family

ID=72916599

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202080002153.3A Active CN112154638B (zh) 2019-04-29 2020-04-15 用于在线身份的分布式验证的系统和方法
CN202210704549.3A Pending CN115242379A (zh) 2019-04-29 2020-04-15 用于在线身份的分布式验证的系统和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202210704549.3A Pending CN115242379A (zh) 2019-04-29 2020-04-15 用于在线身份的分布式验证的系统和方法

Country Status (6)

Country Link
US (2) US11102004B2 (zh)
EP (3) EP4240039A3 (zh)
JP (2) JP6977182B2 (zh)
KR (3) KR102538032B1 (zh)
CN (2) CN112154638B (zh)
WO (1) WO2020223020A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113923482A (zh) * 2021-09-02 2022-01-11 北京奇艺世纪科技有限公司 一种视频播放方法、系统、电子设备及存储介质

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11552997B2 (en) * 2018-02-06 2023-01-10 Akamai Technologies, Inc. Secure request authentication for a threat protection service
US11102004B2 (en) * 2019-04-29 2021-08-24 Google Llc Systems and methods for distributed verification of online identity
US11233772B1 (en) * 2019-11-27 2022-01-25 Worldpay, Llc Methods and systems for secure cross-platform token exchange
US10915888B1 (en) * 2020-04-30 2021-02-09 Capital One Services, Llc Contactless card with multiple rotating security keys
US11258691B2 (en) * 2020-07-09 2022-02-22 Verizon Patent And Licensing Inc. Systems and methods for tracking and calculating granular network performance metrics based on user traffic
CN113761549A (zh) * 2020-11-04 2021-12-07 北京沃东天骏信息技术有限公司 一种接口安全控制、校验方法和装置
US20220217136A1 (en) * 2021-01-04 2022-07-07 Bank Of America Corporation Identity verification through multisystem cooperation
US11637818B2 (en) * 2021-01-29 2023-04-25 Zoom Video Communications, Inc. Securely recording and retrieving encrypted video conferences
US20220385662A1 (en) * 2021-06-01 2022-12-01 Cisco Technology, Inc. Transferring verifiable address rights between devices of a data center (dc) network
TWI811178B (zh) * 2023-02-04 2023-08-01 長茂科技股份有限公司 基於多方多因子動態強加密認證之資通安全方法與系統

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103391197A (zh) * 2013-07-19 2013-11-13 武汉大学 一种基于手机令牌和NFC技术的Web身份认证方法
US9536065B2 (en) * 2013-08-23 2017-01-03 Morphotrust Usa, Llc System and method for identity management
EP3188104A1 (en) * 2015-12-31 2017-07-05 Luxembourg Institute of Science and Technology (LIST) Peer-to-peer transaction authorization
CN108092776A (zh) * 2017-12-04 2018-05-29 南京南瑞信息通信科技有限公司 一种身份认证服务器和身份认证令牌
CN108471395A (zh) * 2017-02-23 2018-08-31 华为技术有限公司 实现认证/授权的方法、装置、云计算系统及计算机系统

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2638525B2 (ja) * 1994-08-03 1997-08-06 日本電気株式会社 電子署名検証装置
JPH11143359A (ja) * 1997-11-11 1999-05-28 Mitsubishi Materials Corp 暗号化装置、復号化装置、および情報共有システム、並びに、暗号化方法、復号化方法、情報処理方法、並びに記録媒体
US7167985B2 (en) * 2001-04-30 2007-01-23 Identrus, Llc System and method for providing trusted browser verification
US7562222B2 (en) * 2002-05-10 2009-07-14 Rsa Security Inc. System and method for authenticating entities to users
US7401224B2 (en) * 2002-05-15 2008-07-15 Qualcomm Incorporated System and method for managing sonic token verifiers
JP2005012490A (ja) 2003-06-19 2005-01-13 Hitachi Ltd ディジタル署名方式
US7860243B2 (en) * 2003-12-22 2010-12-28 Wells Fargo Bank, N.A. Public key encryption for groups
US7789294B2 (en) * 2005-02-18 2010-09-07 Ebet Systems Pty Ltd System and method for monitoring a validator
US8406421B2 (en) * 2005-10-13 2013-03-26 Passban, Inc. Method and system for multi-level secure personal profile management and access control to the enterprise multi-modal communication environment in heterogeneous convergent communication networks
US8364968B2 (en) 2006-05-19 2013-01-29 Symantec Corporation Dynamic web services systems and method for use of personal trusted devices and identity tokens
JP4290179B2 (ja) * 2006-06-15 2009-07-01 キヤノン株式会社 署名検証装置、及び、その制御方法、プログラム、記憶媒体
US8359643B2 (en) * 2008-09-18 2013-01-22 Apple Inc. Group formation using anonymous broadcast information
US20120110343A1 (en) * 2010-10-29 2012-05-03 Bandic Zvonimir Z Trustworthy timestamps on data storage devices
US8752143B2 (en) * 2011-08-15 2014-06-10 Bank Of America Corporation Method and apparatus for token-based reassignment of privileges
US10423952B2 (en) * 2013-05-06 2019-09-24 Institutional Cash Distributors Technology, Llc Encapsulated security tokens for electronic transactions
US9594888B1 (en) * 2012-06-25 2017-03-14 EMC IP Holding Company LLC User authentication device
JP2014022920A (ja) * 2012-07-18 2014-02-03 Nec Corp 電子署名システム、電子署名方法および電子署名プログラム
GB201309702D0 (en) * 2013-05-30 2013-07-17 Certivox Ltd Security
WO2015048861A1 (en) * 2013-10-04 2015-04-09 Gentago Services System and a method for validating an identification token
US20150370272A1 (en) * 2014-06-23 2015-12-24 Google Inc. Intelligent configuration of a smart environment based on arrival time
US9420463B2 (en) * 2014-09-30 2016-08-16 Sap Se Authorization based on access token
KR102305825B1 (ko) * 2014-10-31 2021-09-27 삼성에스디에스 주식회사 토큰을 이용한 결제 방법 및 그 장치
US10110385B1 (en) * 2014-12-22 2018-10-23 Amazon Technologies, Inc. Duress signatures
US9843592B2 (en) * 2015-10-14 2017-12-12 Sony Interactive Entertainment America Llc Fast multicast messaging encryption and authentication
JP6476402B2 (ja) * 2016-05-20 2019-03-06 システムメトリックス株式会社 認証システム
WO2018099577A1 (en) * 2016-12-02 2018-06-07 Ecole Polytechnique Federale De Lausanne (Epfl) System and method for providing a collective decentralized authority for sharing sensitive data
JP2018092446A (ja) 2016-12-05 2018-06-14 キヤノン株式会社 認証認可システム及び情報処理装置と認証認可方法とプログラム
US10764272B1 (en) * 2017-01-13 2020-09-01 Walgreen Co. Secured automatic user log-in at website via personal electronic device
US10505733B2 (en) * 2017-09-25 2019-12-10 Citrix Systems, Inc. Generating and managing a composite identity token for multi-service use
US11095706B1 (en) * 2018-03-21 2021-08-17 Pure Storage, Inc. Secure cloud-based storage system management
US10957190B2 (en) * 2018-06-28 2021-03-23 Intel Corporation Traffic management system, components of a distributed traffic management system, prioritization/load-distribution system, and methods thereof
US11102004B2 (en) * 2019-04-29 2021-08-24 Google Llc Systems and methods for distributed verification of online identity
EP3965358A1 (en) * 2020-09-04 2022-03-09 Thales DIS France SA Method for secure, traceable and privacy-preserving digital currency transfer with anonymity revocation on a distributed ledger

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103391197A (zh) * 2013-07-19 2013-11-13 武汉大学 一种基于手机令牌和NFC技术的Web身份认证方法
US9536065B2 (en) * 2013-08-23 2017-01-03 Morphotrust Usa, Llc System and method for identity management
EP3188104A1 (en) * 2015-12-31 2017-07-05 Luxembourg Institute of Science and Technology (LIST) Peer-to-peer transaction authorization
CN108471395A (zh) * 2017-02-23 2018-08-31 华为技术有限公司 实现认证/授权的方法、装置、云计算系统及计算机系统
CN108092776A (zh) * 2017-12-04 2018-05-29 南京南瑞信息通信科技有限公司 一种身份认证服务器和身份认证令牌

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113923482A (zh) * 2021-09-02 2022-01-11 北京奇艺世纪科技有限公司 一种视频播放方法、系统、电子设备及存储介质

Also Published As

Publication number Publication date
EP3866390B1 (en) 2023-10-18
WO2020223020A1 (en) 2020-11-05
US20200344058A1 (en) 2020-10-29
KR102538032B1 (ko) 2023-05-30
JP2022031707A (ja) 2022-02-22
KR20200128042A (ko) 2020-11-11
EP3759888A1 (en) 2021-01-06
JP6977182B2 (ja) 2021-12-08
KR20220058663A (ko) 2022-05-09
CN112154638B (zh) 2022-06-14
EP4240039A2 (en) 2023-09-06
US20210385086A1 (en) 2021-12-09
EP3759888B1 (en) 2021-04-28
KR102291623B1 (ko) 2021-08-19
US11102004B2 (en) 2021-08-24
EP3866390A1 (en) 2021-08-18
KR102392718B1 (ko) 2022-04-29
JP2021516022A (ja) 2021-06-24
CN115242379A (zh) 2022-10-25
EP4240039A3 (en) 2023-11-15
KR20210103588A (ko) 2021-08-23

Similar Documents

Publication Publication Date Title
CN112154638B (zh) 用于在线身份的分布式验证的系统和方法
CN109891907B (zh) 使用可信平台模块验证在客户端设备处对视频内容的渲染
CN105007279A (zh) 认证方法和认证系统
US9270666B2 (en) Verification of user communication addresses
US11949688B2 (en) Securing browser cookies
KR20220123695A (ko) 암호화 방식으로 보안 요청 검증
Liu et al. A privacy‐preserving acceleration authentication protocol for mobile pay‐TV systems
CN112927026A (zh) 优惠券的处理方法、装置、电子设备及计算机存储介质
JP2023503768A (ja) 複数受信者セキュア通信
CN113973508B (zh) 在电信网络测量中防止数据操纵和保护用户隐私
CN114553570B (zh) 生成令牌的方法、装置、电子设备及存储介质
CN114826616B (zh) 数据处理方法、装置、电子设备和介质
CN114698408B (zh) 多接收方安全通信
CN116305286A (zh) 信息处理方法、装置及相关设备

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