CN111316267B - 使用委托身份的认证 - Google Patents
使用委托身份的认证 Download PDFInfo
- Publication number
- CN111316267B CN111316267B CN201880071962.2A CN201880071962A CN111316267B CN 111316267 B CN111316267 B CN 111316267B CN 201880071962 A CN201880071962 A CN 201880071962A CN 111316267 B CN111316267 B CN 111316267B
- Authority
- CN
- China
- Prior art keywords
- identity
- authentication
- user
- root
- delegated
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/41—User authentication where a single sign-on provides access to a plurality of computers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3234—Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 cryptographic hash functions
- H04L9/3239—Cryptographic 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 cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明涉及一种用加密保护的登记簿进行用户认证的计算机实现的方法。接收要求用于认证用户的认证请求。使用用户的根身份来认证用户。成功的认证要求接收到一个被分配给用户的根身份的根标识符的凭证。识别所请求的认证的认证上下文。识别被分配给用户的根身份并且被分配给所识别的认证环境的一个或多个委托身份中的一个。响应于用户的成功认证,颁发认证令牌,该认证令牌确认该成功的用户认证并且通过所识别的委托身份的委托标识符来标识被成功认证的用户。
Description
背景技术
本公开涉及电子数据处理领域,并且更具体地,涉及用加密保护的登记簿进行用户认证的计算机实现的方法。
认证是对计算机系统以及计算机系统提供的资源的访问控制的基本组成部分。为了确保只有授权的用户获得访问权,要求认证过程以一定的置信度确立(establish)用户的身份,以便给予为相应身份确立的特权。
然而,由于需要在网络中远程地确立用户身份并为其提供置信度,经由网络的认证过程可能产生技术挑战。在为能够普遍访问共享计算机系统以及这些系统提供的资源而发明的网络情境中,情况尤其如此。用户可能面临向多个独立计算机系统或这些系统提供的诸如应用的独立资源进行认证的要求。为了向这些计算机系统或应用中的每一个进行认证,用户可以使用单独的认证数据来向这些计算机系统或应用进行认证。然而,对于越来越多的计算机系统或软件系统来说,这种单独层次的认证方法会变得越来越不切实际。
为了便利针对多个相关但独立的软件或硬件系统的认证,可以实施单点登录(SSO)。SSO的使用,使得用户能够使用单组认证数据向连通的系统进行认证,而无需使用不同的认证数据。SSO可以使用SAML(安全声明标记语言)来实现,SAML是用于在各方之间交换认证数据的开放标准。SAML规范定义了三个角色:主体、身份提供者和服务提供商。当主体从服务提供商请求服务时,服务提供商从身份提供者请求认证声明。身份提供者认证该主体并将认证声明提供给服务提供商。服务提供商可以根据该声明做出访问控制决定,即决定是否为所连接的当事人执行某一服务。
单点登录在确保身份提供者和服务提供商之间的信任关系的安全性领域内相对容易实现,但是跨安全性领域扩展SSO却面临挑战。因此,存在改进用户认证的性能的迫切需要。
发明内容
各种实施例提供了用于使用加密保护的登记簿进行用户认证的方法、用于执行如独立权利要求的主题所述的方法的计算机程序产品和计算机系统。在从属权利要求中描述了有利的实施例。如果本发明的实施例不是相互排斥的,则它们可以彼此自由地组合。
在一个方面,本发明涉及一种用于使用加密保护的登记簿进行用户认证的计算机实现的方法。加密保护的登记簿包括用户的根身份。根身份包括根标识符和分配给根标识符的用于认证用户的凭证。加密保护的登记簿还包括分配给根身份的一个或多个委托身份。每个委托身份都包括一个委托标识符并被分配给一个认证上下文。
该方法包括:接收要求认证用户的认证请求。使用该用户的根身份来认证用户。成功的认证要求接收到被分配给用户的根身份的根标识符的凭证。识别所请求的认证的认证上下文。使用加密保护的登记簿来识别分配给用户的根身份并且分配给所识别的认证上下文的一个或多个委托身份中的一个委托身份。响应于使用根身份的成功用户认证,颁发确认所述成功用户认证并且通过所识别的委托身份的委托标识符来标识被成功认证的用户的认证令牌。
在进一步的方面,本发明涉及一种进一步包括将附加委托身份分配给根身份的方法。该附加身份包括附加委托标识符,并且被分配给附加认证上下文。附加认证上下文依赖于另外的根身份。所述分配包括接收分配附加委托身份的请求。检查附加委托身份的附加认证上下文。在附加认证上下文依赖于所述另外的根身份的情况下,响应于从用附加认证上下文所依赖的另外的根身份被成功认证的另外的用户接收到对附加委托身份的批准,将分配给根身份的附加委托身份存储在加密保护的登记簿中。
进一步地,本发明涉及一种计算机程序产品,包括非易失性计算机可读存储介质,该非易失性计算机可读存储介质具有包含于其中的计算机可读程序代码。该计算机可读程序代码被配置为实现一种用于使用加密保护的登记簿进行用户认证的方法。加密保护的登记簿包括用户的根身份。根身份包括根标识符和分配给根标识符的用于认证用户的凭证。加密保护的登记簿还包括分配给根身份的一个或多个委托身份。每个委托身份包括一个委托标识符并被分配给一个认证上下文。
由计算机可读程序代码实现的方法包括以下步骤:接收要求认证用户的认证请求。使用用户的根身份来认证用户。成功的认证要求接收到被分配给用户的根身份的根标识符的凭证。识别所请求的认证的认证上下文。使用加密保护的登记簿来识别分配给该用户的根身份并且分配给所识别的认证上下文的一个或多个委托身份中的一个委托身份。响应于使用根身份的成功用户认证,颁发确认所述成功用户认证并且通过所识别的委托身份的委托标识符来标识被成功认证的用户的认证令牌。
在进一步的方面,本发明涉及一种使用加密保护的登记簿来进行用户认证的计算机系统。加密保护的登记簿包括用户的根身份。根身份包括根标识符和分配给根标识符的用于认证用户的凭证。加密保护的登记簿还包括分配给根身份的一个或多个委托身份。每个委托身份包括一个委托标识符并被分配给一个认证上下文。
所述计算机系统被配置用于执行以下操作:接收要求认证用户的认证请求。使用该用户的根身份来认证用户。成功的认证要求接收到被分配给用户的根身份的根标识符的凭证。识别所请求的认证的认证上下文。使用加密保护的登记簿来识别分配给用户的根身份并且分配给所识别的认证上下文的一个或多个委托身份中的一个委托身份。响应于使用根身份的成功用户认证,颁发确认所述成功用户认证并且通过所识别的委托身份的委托标识符来标识被成功认证的用户的认证令牌。
附图说明
下面仅通过示例,参考附图更详细地解释本发明的实施例,其中:
图1示出了适于实现用户认证的第一示例性计算机系统,
图2示出了适于实现用户认证的第二示例性计算机系统,
图3示出了实现用户认证的示意基础架构,
图4示出了委托身份的示例性分配的示意图,
图5示出了委托身份的示例性依存关系的示意图,
图6示出了示例性用户认证的示意性流程图,以及
图7示出了示例性区块链的示意图。
具体实施方式
本发明的各种实施例的描述是为了说明的目的而呈现的,而不是旨在是穷举的或限于所公开的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。
实施例具有提供一个或多个委托身份的有益效果。每个委托身份被分配给特定的认证上下文。认证上下文可以例如依赖于用户试图访问的资源所分配给的项目或组织。准许访问可以取决于相应用户的成功认证。针对各个认证上下文的每一个,用户可以总是使用其根身份来进行认证。这相当于利用用户的根身份为分配给相应根身份的所有专用身份进行的单点登录。可以仅要求用户记住和提供根身份所包括的凭证。根标识符可以例如以用户名的形式提供,而凭证例如可以以口令的形式提供。
凭证指的是加密的凭证,即用来确立通信方的身份的信息。假设该信息仅可用于特定的、真实的个人或实体。加密的凭证可以例如以机器可读的密钥、生物识别(例如指纹、语音识别、视网膜扫描)的形式和/或以口令的形式提供。凭证可以是自行颁发的,或者由可信的第三方颁发;在许多情况下,颁发的唯一标准是凭证与特定的、真实的个人或实体的明确关联。可以将凭证设置得在某个时间段之后过期。诸如X.509证书之类的凭证,是其他凭证示例。
在使用根身份成功认证用户的情况下颁发的认证令牌可以仅与所识别的专用身份的委托标识符相关。认证令牌例如可以被签名以便证明其真实性。关于基础根身份的详细信息不予公开。相应的认证令牌可以由用户用于证明成功的认证。认证令牌的接收者仅了解用户的委托标识符。因此,从接收者的角度来看,用户成功地用认证的委托身份进行了认证。为了证明认证令牌的有效性和完整性,诸如身份提供者系统之类的认证令牌颁发者可以对认证令牌进行签名。为了对认证令牌进行签名,身份提供者计算机系统可使用分配给身份提供者的私有密钥。
实施例可以具有提供多个不同认证上下文的有益效果,例如,针对不同组织的不同项目、针对认证上下文中的每一个的用户的单个委托身份。认证上下文可以例如使用诸如经由其提供认证请求的URL上下文指示符来标识。
服务提供商计算机系统可以为不同的组织提供服务。各个服务可以是相同的或组织特定的。服务可以例如是云服务。为了访问由服务提供商提供的服务,用户可以例如使用组织特定的URL。或者,用户可以使用通用URL,并通过输入指示用户作为其成员或代表其试图访问服务提供商的服务的组织的指示符,来提供认证上下文。例如,可以以组织名称的形式提供相应的指示符。
要求来自相应的附加委托身份的附加认证上下文所依赖的另外的用户对附加委托身份的批准可以具实现高效检查过程的有益效果。成功地分配附加委托身份因此可以证明相应的附加委托身份的依赖关系。因此,委托身份可以依赖于另外的根身份。相应的另外的根身份例如可以是在使用附加委托身份所在的上下文中的个人或组织的根身份。附加委托身份例如可以是具有该另外的根身份的组织的成员的身份。因此,可以仅在相应的组织批准该附加成员的附加委托身份的情况下才分配附加委托身份。
根据实施例,该方法针对分配给相应根身份的所有委托身份,利用用户的根身份执行单点登录。实施例可以具有如下有益效果:对于多个不同的上下文,可以使用不同的委托身份。用户可以使得能够在这些上下文中的每一个中使用其根身份进行认证,而根身份则不被公开给认证令牌的接收者,例如,用户向其进行认证的服务提供商。
根据实施例,根身份包括分配给根身份的多于一个委托身份。所述多于一个委托身份以树结构的形式被重新分配给根身份,所述多于一个委托身份中的至少第一个委托身份经由所述多于一个委托身份中的至少第二个委托身份被分配给根身份。
实施例可具有的有益效果是,委托身份全部依赖于对根身份的分配。在根身份被撤销的情况下,分配给相应根身份的所有委托身份也变为无效。树状结构还可具有如下有益效果,即,一个或多个委托身份可经由其他委托身份分配给根身份。例如,可以向用户提供一个包括作为认证上下文分配给特定组织的委托标识符的委托身份。相应组织可以包括一个或多个子组织或附属组织。对于所有的相应子组织或附属组织或对于选择的相应子组织或附属组织,可以向用户提供分配给相应组织的委托身份的另外的委托身份。因此,取决于用户想要为其进行认证的子组织,用户可以使用包括作为认证上下文分配给相应子组织的委托标识符的单个委托身份。
根据实施例,加密保护的登记簿包括计算机可读程序代码。由认证计算机系统的处理器执行所述计算机可读程序代码,使得所述处理器控制认证计算机系统执行所述用户认证并颁发所述认证令牌。
实施例可以具有如下有益效果:认证计算机系统可以使用由加密保护的登记簿提供的计算机可读程序代码来执行认证。因此,用于认证的计算机系统,即认证计算机系统,无需包括特定的计算机可读程序代码就能够执行用户认证。相应的计算机可读程序代码更确切地由加密保护的登记簿提供。认证计算机系统可以是例如身份提供者计算机系统。实施例还可以具有如下有益效果,即,通过加密保护的登记簿提供相应计算机可读程序代码,可以确保认证不会被操纵破坏。此外,可以由任意的通用计算机系统执行认证,仅要求其有权访问加密保护的登记簿。在诸如分布式区块链之类的分布式登记簿的情况下,像分布式区块链一样,可以容易地获得加密保护的登记簿的最新副本。
根据实施例,登记簿的密码安全性包括以下一项或多项:对所存储的根身份和所存储的一个或多个委托身份的至少一部分进行哈希(hashing)、签名和加密。
实施例可具有以下有益效果,即,存储在相应登记簿中的身份,即,根身份以及分配给相应根身份的委托身份,可有效地被保护不受操纵。例如,登记簿可以包括在相应加密保护的登记簿中存储的身份中的每一个的哈希。此外,可以利用已经生成相应身份和/或将相应身份添加到登记簿的用户或实体的签名钥,即加密私钥,来对存储的身份进行签名。
例如,登记簿可以由一个或多个管理员计算机系统管理。每个管理员计算机系统可以被分配一个加密私钥,用于对包括根或委托身份的登记簿的条目进行签名。此外,可以对存储在登记簿中的身份进行加密。例如,可以用对称加密钥或用加密公钥来对身份进行加密。因此,只有分配给相应的加密公钥的对称加密钥或私有密钥才可以解密这些身份。例如,可以利用相同的密钥对所有身份进行加密。根据进一步的实施例,身份可以用单个的和/或不同的密钥进行加密。例如,分配给相同认证上下文的所有委托身份可以用相同的密钥来加密。根据实施例,可以用相同的密钥来加密分配给相同根身份的所有委托身份。
根据实施例,加密保护的登记簿是一种分布式登记簿,其副本分布在多个计算机系统上。实施例可以具有有益的效果,即使用分布式登记簿可以降低登记簿故障的危险。特别地,可以防止单点故障。只要登记簿的其它副本仍然完整,就可以重新建立登记簿。此外,管理和/或维护登记簿的工作负荷可以分布在相应的多个计算机系统上。
根据实施例,分布式登记簿的密码安全性包括将根身份和一个或多个委托身份存储在由分布式登记簿的每个副本所包括的区块链的多个区块中。实施例具有为管理身份提供防篡改和共享基础设施的有益效果。这可以提供有效的措施来对抗对所存储的身份的操纵。
区块链指的是包括一系列相互连接并采用密码术保护的记录或区块的登记簿。每个区块可以包括作为指向前一区块的链接的哈希指针、标识相应区块的生成时间的时间戳以及存储在相应区块中的数据。通过设计,区块链可以固有地防止对存储在区块中的数据的修改。区块链可用作可高效地并以可验证和永久的方式记录数据的开放的分布式数据库。为了用作分布式登记簿,区块链例如由共同遵守用于验证要被添加到区块链的附加区块的协议的对等网络来管理。任何给定区块中的数据一旦被记录,就不能在不改变所有后续区块的情况下被追溯地改变,而改变所有后续区块则需要网络多数的共谋。
区块链数据库可以由两种记录组成:被存储数据和区块。这些区块保存被哈希的所存储的数据,并且可以例如被编码为Merkle树。每个区块可以包括区块链中的前一区块的哈希,从而链接这两个区块。链接起来的区块可以形成一个链。这个迭代过程可以确认前一区块的完整性,一直到回溯到区块链的第一个区块,即所谓的起源区块。
区块链的区块还可以包括可执行程序指令,也被称为智能合约。相应的程序指令可以由计算机系统的处理器执行,以便向区块链添加附加条目,或者访问存储在区块链中的信息,或者执行由区块链定义的一些其他任务。用区块链提供可执行程序指令可具有这样的有益效果,即,可执行程序指令可被密码保护而不被操纵。此外,分布式区块链可提供分发相应程序指令的有效方式。可执行程序指令可以是可验证的、签名的、以及以编程语言编码的。
区块链可通过设计而具有安全性,并提供具有实现分散共识的高的拜占庭容错性的分布式计算系统。
根据实施例,区块链可在不同的身份提供者之间共享。区块链可被复制,使得每个参与者具有区块链的副本。它可由共同遵循用于验证要被添加到区块链的附加区块的协议的对等网络来管理。因此,区块链可具有提供防篡改和共享基础设施的有益效果。
向区块链添加附加条目,可能需要参与者的共识。所有参与者可以同意该条目,并通过对等网络来验证该条目。根据实施例,可以建立用以验证条目的规则。这些规则例如可以由区块链本身所包括的可执行程序指令来实现。实施例可以具有基于可信和无信任参与而以低工作负荷实现承诺的有益效果。条目可以被加密、哈希并发送到验证节点的网络。
根据实施例,加密保护的登记簿由中央数据库提供。实施例可以具有的有益效果是,可以提供以中央数据库为形式的登记簿的简单且可靠的实现。根据实施例,中央数据库可以是密码保护的且可审计的共享数据库。包括所有身份的中央数据库可以允许将任意委托标识符链接到不同的诸如组织之类的上下文。
根据实施例,如果用于认证的根身份或所识别的委托身份无效,则拒绝认证令牌的颁发。
实施例可具有的有益效果是,通过使分配了相应的委托身份的根身份无效,可容易地防止使用任何委托身份的认证。无效可以例如通过撤销来执行。此外,例如在用户不再为提供某个委托身份的认证上下文的组织工作的情况下,可以将相应委托身份撤销。此外,在某个委托身份无效的情况下,也可以使分配给相应委托身份的所有委托身份无效,即,使通过相应委托身份分配给根身份的所有委托身份无效。换句话说,如果所识别的委托身份是经由无效的委托身份被分配给根身份的,则可以拒绝认证令牌的颁发。实施例可以具有如下有益效果,即在一个人不再为特定组织工作的情况下,不是并非其在在相应组织的上下文中即当为相应组织的子组织工作时使用的所有身份都被无效。相反,只要将具有相同认证上下文身份(即相应组织)的所有其它委托身份被分配给的委托身份无效(例如撤销)就足够了。
根据实施例,该请求包括用于认证的根身份的根标识符。实施例可具有的有益效果是,用户可独立于分配给相应认证上下文的实际委托身份而为每一个认证提供根身份。
根据实施例,该请求包括被分配给用于认证用户的根身份并且被分配给所识别的认证上下文的委托标识符。实施例可以具有的有益效果是,请求可以自己提供委托标识符。因此,例如,可以用由相应请求提供的委托标识符来识别委托身份。
根据实施例,认证请求由能够访问加密保护的登记簿的身份提供者计算机系统接收。身份提供者计算机系统执行对用户的认证以及通过所标识的委托身份的委托标识符来颁发标识成功认证的用户的认证令牌。
实施例可以具有如下有益效果,即,用户的认证可以由身份提供者计算机系统有效地执行。基于由相应身份提供者计算机系统颁发的认证令牌,向用户提供由相应认证令牌包括的委托标识符的委托身份。
根据实施例,从服务提供商计算机系统接收认证请求。从用户计算机系统接收用于认证用户的凭证。
实施例可以具有有益的效果,即,例如可以从服务提供商计算机系统接收请求。例如,该请求可以经由用户计算机系统从服务提供商计算机系统转发。例如,用户计算机系统可以尝试访问由服务提供商计算机系统提供的服务,服务提供商计算机系统可以将用户计算机系统—例如用户计算机系统的浏览器—重定向到身份提供者计算机系统。为了执行成功的认证,用户计算机系统还可以使用相应的用户计算机系统来提供用户的根身份的凭证。此外,用户计算机系统还可以提供分配分配给用户试图进行认证所在的认证上下文的根标识符和/或委托标识符。
根据实施例,一个或多个委托身份各自包括指示相应委托身份的有效性到期的委托身份有效性到期日期的指示符。实施例可以具有的有益效果是,可以在时间上限制相应专用身份的有效性。这可以进一步增强该方法的安全性,特别是委托身份的安全性。
根据实施例,在相应委托身份是被识别为分配给用于认证的根身份并且被分配给所识别的认证上下文的委托身份的情况下,一个或多个委托身份中的至少一个委托身份包括用于成功认证的附加认证要求。
实施例可具有的有益效果是,委托身份可包括附加的认证要求。这样的附加认证要求可以包括附加口令和/或多因素认证。例如,相应委托身份的安全级别可以高于其它委托身份。通过要求附加措施以成功地进行认证,可以提高安全性。相应措施可以包括例如提供包括加密公钥的证书,其被配置用于证明用分配给证书所包括的相应加密公钥的加密私钥生成的签名的有效性。
根据实施例,进一步从第一身份请求者接收要求提供被分配给根身份的所有委托身份的请求。如果用相应的根身份成功地认证了第一身份请求者,则提供被分配给根身份的所有一个或多个委托身份。
实施例可具有的有益效果是,分配给根身份的委托身份仅对于根身份是整体可见的,即用户利用相应根身份进行认证。所有其他参与者,特别是认证令牌的接收者,可能仅知道分配给由相应方提供的特定认证上下文的委托身份。
根据实施例,附加认证上下文经由分配给另外的根身份的一个或多个另外的委托身份而依赖于该另外的根身份。实施例可具有的有益效果是,所委托身份可例如依赖于该另外根身份的组织的子组织的另外的委托身份。
根据实施例,附加委托身份的依赖性由附加委托身份的认证上下文来实现,该认证上下文包括另外的根身份的另外的根标识符或分配给另外的根身份的另外的委托身份的另外的委托标识符。实施例可具有的有益效果是,该依赖性可由相应的附加委托身份依赖的认证上下文来实现,该认证上下文可分别以根标识符或者根身份或委托身份的委托标识符的形式来提供。
根据实施例,身份还可以包括定义相应身份的附加属性。例如,属性可以定义相应身份是个人还是组织的身份。此外,属性可以定义相应身份的角色。
根据实施例,进一步从第二身份请求者接收要求提供依赖于所述另外的根身份的所有委托身份的请求。如果用所述另外的根身份成功地认证了所述第二身份请求者,则提供依赖于所述另外的根身份的所有委托身份。
实施例可以具有的有益效果是,依赖的委托身份整体上仅对委托身份所依赖的相应的另外的根身份是可见的。对于一个被分配给相应的另外的根身份并且一个或多个委托身份依赖的委托身份来说,仅依赖的委托身份是可见的。
根据实施例,加密保护的登记簿包括另外的计算机可读程序代码。由分配计算机系统的处理器执行所述另外的计算机可读程序代码使得所述处理器控制所述分配计算机系统执行将所述附加委托身份分配给所述根身份。
实施例可以具有如下有益效果,即,用于将附加委托身份分配给根身份的计算机可读程序代码由加密保护的登记簿提供,并且不必由用于分配附加委托身份的计算机系统提供。换句话说,可以使用仅要求能访问相应登记簿的通用计算机系统来分配相应的附加委托身份。
根据实施例,进一步地,所分配的附加委托身份通过撤销而被无效。撤销包括从撤销请求者接收要求撤销附加委托身份的请求。对撤销请求者进行认证。在撤销请求者是使用附加认证上下文所依赖的另外的根身份成功地认证的另外的用户的情况下,向加密保护的登记簿添加指示撤销附加委托身份的撤销指示符。
实施例可以具有的有益效果是,附加委托身份可以通过其所依赖的根身份而被撤销。例如,相应的根身份可以是附加委托身份的组织的根身份。因此,例如如果成员离开组织,则相应组织能够撤销附加委托身份。
实施例可以实现跨公司SSO,即跨安全域SSO,同时保持用户的身份并且不需要SSO中涉及的所有方之间的相互信任网。用户不需要向他们想要认证的服务提供商SP揭示他们的真实身份,即根标识符,因为用户可以仅向由例如区块链的加密保护的登记簿支持的身份提供者发送他们的认证细节。
分配给根身份的委托身份的全部集合可以是仅对根身份的所有者可见的。存储在分布式登记簿(即区块链)中的身份可通过区块链来加密保护和审核,以便将运行高度可用的认证基础设施的负担分布在多方之间。
根据实施例,每个身份由唯一性身份提供,例如由护照提供。因此,每个拥有护照的公民被提供一个根身份。根身份可以包括根标识符,例如公民的真实姓名,以及分配给根标识符的口令。在公民想要进行认证的情况下,其可以无需可能出示这个根标识符,即真实姓名。而根身份就可以使用户能够使用委托标识符进行单点登录。
根据实施例,委托身份的认证和识别可以由单个独立身份提供者来执行。根据实施例,可以例如基于认证上下文从多个身份提供者中选择用于执行委托身份的认证和标识的身份提供者。
根据实施例,提供了单个区块链。根据实施例,可以提供多个区块链。例如,可为特定认证上下文提供每个区块链。身份提供者可以信任多个区块链以便建立跨公司SSO。例如,区块链可为公司特定的区块链。
根据实施例,加密保护的登记簿被体现为具有非易失性计算机可读存储介质,并且计算机可读程序代码由加密保护的登记簿包括。根据实施例,计算机可读程序代码还被配置为实现使用本文描述的加密保护的登记簿进行用户认证的方法的任何实施例。
根据实施例,计算机系统还被配置为执行用于使用本文描述的加密保护的登记簿来进行用户认证的方法的任何实施例。
图1示出了适于实现使用加密保护的登记簿进行用户认证的方法的计算机系统100。应当理解,这里描述的方法至少部分是非交互式的,并且通过诸如服务器或嵌入式系统的计算机化系统被自动化。然而,在示例性实施例中,本文描述的方法可以在(部分)交互式系统中实现。这些方法还可以在软件112、122(包括固件122)、硬件(处理器)105或其组合中实现。在示例性实施例中,这里描述的方法以软件实现,作为可执行程序,并且由诸如个人计算机、工作站、小型计算机或大型计算机之类的专用或通用数字计算机执行。因此,最通用的系统100包括通用计算机101。
在示例性实施例中,在硬件架构方面,如图1所示,计算机101包括处理器105、耦合到存储器控制器115的存储器(主存储器)110、以及经由本地输入/输出控制器135通信地耦合的一个或多个输入和/或输出(I/O)设备(或外围设备)10、145。输入/输出控制器135可以是,但不限于,本领域已知的一个或多个总线或其它有线或无线连接。输入/输出控制器135可以具有用以实现通信的附加元件—为了简要起见这里省略了这些附加元件,例如控制器、缓冲器(高速缓存)、驱动器、中继器和接收器。此外,本地接口可以包括地址、控制和/或数据连接,以便能够在上述组件之间进行适当的通信。如这里所述,I/O设备10、145通常可以包括本领域已知的任何通用加密卡或智能卡。
处理器105是用于执行软件、特别是存储在存储器110中的软件的硬件设备。处理器105可以是任何定制的或商业上可获得的处理器、中央处理单元(CPU)、与计算机101相关联的若干处理器中的辅助处理器、基于半导体的微处理器(以微芯片或芯片组的形式)、宏处理器或一般地用于执行软件指令的任何设备。
存储器110可以包括易失性存储器元件(例如,随机存取存储器(RAM,诸如DRAM、SRAM、SDRAM等))和非易失性存储器元件(例如,ROM、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM))中的任何一个或组合,注意,存储器110可以具有分布式架构,其中各种组件彼此远离,但是可以由处理器105访问。
存储器110中的软件可以包括一个或多个单独的程序,每个程序包括用于实现逻辑功能(特别是本发明的实施例中涉及的功能)的可执行指令的有序列表。在图1的示例中,存储器110中的软件包括例如被配置成使用加密保护的登记簿来实现用户认证的指令或软件112。
存储器110中的软件通常还包括合适的操作系统(OS)111。OS111实质上控制其他计算机程序的执行,诸如控制可能是用于实现这里描述的方法的软件112的执行。
这里描述的方法可以是源程序112、可执行程序112(目标代码)、脚本或包括要被执行的指令集112的任何其他实体的形式。软件112可以例如使用加密保护的登记簿来实现用户认证。如果是源程序的形式,则需要经由可以包括在或可以不包括在存储器110内的编译器、汇编器、解释器等来翻译该程序,以便结合OS 111正确地操作。此外,所述方法可以被编写为具有数据类和方法类的面向对象的编程语言,或者具有例程、子例程和/或函数的过程编程语言。
在示例性实施例中,传统的键盘150和鼠标155可以耦合到输入/输出控制器135。诸如I/O设备145的其它输出设备可以包括输入设备,例如但不限于打印机、扫描仪、麦克风等。最后,I/O设备10、145还可以包括既传送输入又传送输出的设备,例如但不限于网络接口卡(NIC)或调制器/解调器(用于访问其他文件、设备、系统或网络)、射频(RF)或其他收发器、电话接口、桥接器、路由器等。I/O设备10、145可以是本领域已知的任何通用加密卡或智能卡。系统100还可以包括耦合到显示器130的显示控制器125。在示例性实施例中,系统100还可以包括用于耦合到网络165的网络接口。网络165可以是用于经由宽带连接在计算机101和任何外部服务器、客户机等之间通信的基于IP的网络。网络165在计算机101和外部系统30之间发送和接收数据,其可以被用来执行在此讨论的方法的部分或全部步骤。在示例性实施例中,网络165可以是由服务提供商管理的受管理IP网络。网络165可以以无线方式实现,例如使用诸如WiFi、WiMax之类的无线协议和技术来实现。网络165还可以是分组交换网络,例如局域网、广域网、城域网、因特网或其他类似类型的网络环境。网络165可以是固定无线网络、无线局域网(LAN)、无线广域网(WAN)、个人区域网(PAN)、虚拟专用网(VPN)、内联网或其它合适的网络系统,并且包括用于接收和发送信号的设备。
如果计算机101是PC、工作站、智能设备等,则存储器110中的软件还可以包括基本输入输出系统(BIOS)122。BIOS是一组基本软件例程,其在启动时初始化和测试硬件,启动OS111,并且支持硬件设备之间的数据传输。BIOS存储在ROM中,使得当计算机101被激活时可以执行BIOS。
当计算机101在操作中时,处理器105被配置得执行存储在存储器110内的软件112,传送去往和来自存储器110的数据,并且一般地根据软件来控制计算机101的操作。这里描述的方法和OS111的整体或部分,但通常是后者,由处理器105读取,可能在处理器105内缓存,然后被执行。
当本文所述的系统和方法是以如图1所示的软件112的形式实现时,所述方法可以存储在任何计算机可读介质上,例如存储器120上,以供任何计算机相关的系统或方法使用或与其结合使用。存储器120可以包括诸如HDD存储器的盘存储器。
加密保护的登记簿可以由中央数据库45、145提供。中央数据库可以是与计算机101通信连接的数据库145。或者,中央数据库45可以例如由可通过网络165访问的外部系统30提供。
图2示出了适于实现使用加密保护的登记簿进行用户认证的方法的计算机系统100的替代性实施例。在根据图2的实施例中,加密保护的登记簿是包括区块链的分布式登记簿。区块链的副本127可以被包含在存储器120内。登记簿可以分布在多个计算机系统30、100上。例如,外部系统30也可以包括区块链的副本。根据实施例,可以用网络165来管理区块链,例如,向区块链添加附加区块。根据实施例,网络165可例如包括共同遵守用于验证区块链的附加区块的协议的对等网络。
图3示出了根据实施例的用于用户认证的方法的示例性参与者的示意图。为了说明的目的,可以假设以下示例:用户1 202可以是第一组织A 204的成员。组织A 204可以包括用于认证组织A的成员的身份提供者206。此外,可以有第二组织B 208和第三组织C 212。组织B和C 208、212两者可以分别包括身份提供者,即,身份提供者B 210和身份提供者C214。相应的身份提供者210、212可被配置用于分别认证组织B 208的成员、组织C 212的成员。此外,可以存在包括门户218的服务提供商SP 216,经由该门户可以访问由相应服务提供商SP 216提供的服务。门户218可以是例如用于经由相应网络与服务提供商216通信的网络接口。
出于说明的目的,假设组织A是例如外部供应商。组织A可以是组织B的承包商,承包第一项目PAB的一部分,用户1是第一项目的成员。组织A还可以是组织C的承包商,承包第二项目PAC的一部分,用户1是第二项目的成员。组织B以及C都可以使用由服务提供商SP提供的服务门户218来管理它们的项目。
实施例可以允许SSO使用用户的组织A的凭证,来为作为组织B的项目PAB的一部分并且作为组织C的项目PAC的一部分的用户1向由服务提供商SP提供的服务进行单点登录SSO。因此,不需要在不同身份之间,即服务提供商SP和组织B或组织C之间,建立相互信任网。在采用相互信任网的情形中,服务提供商SP和组织B要在组织B的身份提供者B与服务提供商SP之间创建信任关系,以允许组织B的所有雇员在组织B与服务提供商SP之间执行SSO。此外,服务提供商SP和组织C必须在组织C的身份提供者C与服务提供商SP之间建立信任关系,以实现在组织C与服务提供商SP之间执行SSO的要求。
允许组织A的雇员(例如用户1)使用本方法访问服务提供商SP提供的服务,与服务提供商SP和组织B之间以及服务提供商SP和组织C之间的信任关系的相互信任网相比,可以避免几个缺点。
假设服务提供商SP和组织A创建了组织A的身份提供者A与服务提供商SP之间的信任关系以允许组织A的雇员在组织A和提供商SP提供的服务之间执行SSO的情形。然而,这并不能使服务提供商SP的服务能够区分一方面作为项目PAB的一部分与组织B一起工作的用户1和另一方面作为项目PAC的一部分与组织C一起工作的用户1。用户1访问与组织B的项目PAB有关的数据的许可以及用户1访问与组织C项目的项目PAC有关的数据的许可,都必须要存储在处理项目PAB和PAC的相应数据的提供商服务SP的服务中。因此,提供商服务SP必须要能够处理相应的许可。
用户1可以与服务提供商SP针对组织B的项目PAB创建第一附加本地身份,并且针对组织C的项目PAC创建与与第一附加本地身份不同的第二附加本地身份。本地身份是指项目特定的身份,其被限制于相应的项目。除了用户1的组织A的雇员的身份—其使得用户1能够访问与组织A有关的数据—之外,还创建了相应的本地身份。
然而,用户1的三个身份是不连通的。因此,用户1并不能进行SSO。此外,还会变得难以确保一致地应用安全策略,以统一的方式进行审计,以及在适当的时间撤销访问权限等。
请注意,通常不可能使组织B或组织C建立与组织A的信任关系,从而将用户1联合到其组织中。由于仅剩下用户1,即,具有用户1的一个标识符的一个身份,服务提供商SP将不能区分哪个身份提供者—即组织B的身份提供者B还是组织C的身份提供者C—可以负责认证该用户。因此,服务提供商SP将不能决定应将认证请求发送到哪个标识符。
相反,根据本公开的实施例可以提供以不同的机制来替换已知SSO解决方案所需的信任网的有效方法。用户1可以经由组织A的计算机系统,或者经由用于访问与组织A有关的门户218的URL,来访问服务提供商门户218。在这两种情况中,用户1都可以使用根身份来进行认证。认证可以由访问加密保护的登记簿的身份提供者A来执行。加密保护的登记簿例如可以以区块链的形式实施,并且区块链的第一副本可以由身份提供者A包括。例如,在成功认证的情况下,提供包括委托身份A的委托标识符的认证令牌,其将用户1标识为组织A的成员。这样,就使得用户1能够用所颁发的组织A的认证令牌来进行认证。
或者,用户1可以经由组织B的计算机系统,或者经由用于访问与组织B有关的门户218的URL,来访问服务提供商门户218。为了执行作为项目PAB的成员的任务,可以这样做。同样,用户1可以使用根身份来进行认证。这时,认证可以由访问身份提供者B所包括的区块链的第二副本的身份提供者B来执行。例如,在成功认证的情况下,提供包括委托身份B的委托标识符的认证令牌,其将用户1标识为组织B的成员。由此使得用户1能够用所颁发的组织B的认证令牌来进行认证。
此外,用户1可以经由组织C的计算机系统或经由用于访问与组织C相关的门户218的URL来访问服务提供商门户218。为了执行作为项目PAB的成员的任务,可以这样做。同样,用户1可以使用根身份来进行认证。这时,认证可以由访问身份提供者C所包括的区块链的第三副本的身份提供者C来执行。加密保护的登记簿例如可以以区块链的形式实现,并且身份提供者C可以包含该区块链的一个副本。例如,在成功认证的情况下,提供包括委托身份C的委托标识符的认证令牌,其将用户1标识为组织C的成员。由此使得用户1能够用所颁发的组织C的认证令牌来进行认证。
根据用户1试图经由其访问门户218的主页或者根据用户试图访问的服务帐户,身份提供者B或身份提供者C可被请求对用户1进行认证。
图4示出了根据图3的示例被分配给根身份202的委托身份220、222、224的树状结构的示意图。根身份202包括根标识符“USER1@ORG_A.COM”和口令“SECRET123”。委托身份220包括分配给组织A作为认证上下文的委托标识符“572f7bf8d89350”。委托身份222和224经由委托身份220被分配给根身份202。委托身份220包括作为认证上下文分配给组织B的委托标识符“6bebfbe9748801”。委托身份222包括作为认证上下文分配给组织C的标识符“9fee67e2a2ca79”。
考虑图3的示例,隐私和上下文敏感性可能引起进一步的关注。用户1在组织B的上下文(即项目PAB)中访问由提供商SP提供的服务时使用的标识符,应当与用户1在组织C的上下文(即项目PAC)中访问提供商SP的服务时使用的标识符不同,以确保职责、许可和控制范围的分隔。因此,如图4所示,针对用根身份202进行认证时所在的不同上下文,使用不同的委托身份202-224,它们各自对于其中一个上下文来说是唯一性的。这样,对于利用委托身份220-224的委托标识符进行SSO的所有系统来说,根身份一直是未知的。
根身份202包括用户1在任何SSO登录中用于登录的标识符和口令。由于SSO登录是在请求访问的应用的领域(realm)的上下文中执行的,SSO登录可以确定用户1是试图在组织B的上下文(即项目PAB)中登录,还是试图在组织C的上下文(即项目PAC)中登录。在使用根身份202成功认证用户1、并且寻找或创建用户1的组织B身份222“用户1[组织B]”或用户1的组织C身份224“用户1[组织C]”的委托身份之后,组织B身份222或组织C身份224的相应标识符被返回给服务提供商SP。
对于服务提供商SP来说,组织B身份222的标识符和组织C身份224的标识符之间没有关系。这两个标识符看起来涉及两个不同用户的不同身份,每个身份是它们各自的领域组织B或组织C的一部分。
图5示出了组织B的身份208,其或者可以是个根身份,或者是分配给根身份的委托身份。身份208包括标识符“cb10212996e7”和属性“类型:组织”。多个委托身份222、230、240可以依赖于组织B的根身份208。委托身份222、230和240的这种依赖性可以由组织B例如以其标识符的形式提供的相应的委托身份222、230、240的认证上下文来实现。委托身份222、230、240的认证上下文例如是“cb10212996e7”。委托身份222、230、240每个都可以包括一个委托标识符。
在用户1向为组织B提供的服务提供商SP的服务进行登录期间,SSO服务需要确定用户1是否被授权作为其试图访问的领域(即组织B)的成员。假设用户2 230和用户3 240直接为组织B工作,并且与组织A没有关系,即没有组织A身份。用户1为组织B创建具有委托标识符“6bebfbe9748801”的委托身份222。通过选择由组织B的标识符“cb10212996e7”提供的或链接到组织B的标识符“cb10212996e7”的认证上下文,可以确定委托身份222和组织B的身份208之间的依赖关系。服务提供商SP通过将组织B的身份(即标识符)绑定到相应的项目PAB,对所有分配给组织B领域的用户的登录予以授权。
因此,用户1始终可以用其组织A标识符和口令来登录到服务提供商SP提供的服务,而其身份则根据用户1试图登录时所在的上下文而被正确地显现给服务提供商SP的服务。提供商SP的服务中不必要的复杂性得以避免,这是因为,从服务提供商SP的角度来看,存在两个不同的用户1身份。组织B和组织C应用与用户1分别是组织B和组织C的真实雇员时同样的原则,各自独立地控制用户1是否可以登录到提供商SP的目录内的服务部分。
图6示出了在客户端(例如由用户计算机系统执行的网络浏览器)、资源服务器(例如服务提供商计算机系统)和认证服务器(例如身份提供者计算机系统)之间的示例性通信过程的示意图。在步骤A中,客户端访问在客户端上运行的应用中的一个URL。该URL可以引用服务提供商为组织B提供的一个服务。当访问相应URL时,该应用生成一个认证请求。例如用HTTP邮件(HTTP post)向认证服务器发送该要求认证用户的认证请求。该认证请求被传递并由认证服务器验证。在步骤C中,认证服务器将客户端重定向到认证服务器的登录页面。用户用其根身份执行登录。认证服务器认证该用户,并使用加密保护的登记簿来识别分配给认证上下文(即组织B)的委托身份。例如,该认证上下文依赖于用户在应用中访问的URL。在步骤D中,为用户的该委托身份生成例如SAML令牌形式的认证令牌。在步骤D中,用认证令牌将应用重定向到资源服务器。在步骤E,用户被登录到资源服务器,该资源服务器颁发认证令牌,其确认对由相应的认证令牌标识的委托身份的有效认证。因此,用户能够访问资源服务器为组织B提供的服务。
加密保护的登记簿可以以包括所有身份的区块链的形式实现,所述所有身份例如根身份、用户的委托身份以及组织的身份,被存储在区块链的区块中。身份提供者也可以执行存储在区块链中的计算机可读程序代码。由于相应的计算机可读程序代码的执行,如果口令正确并且允许身份访问,则可以返回用于相关认证上下文的委托身份。例如,计算机可读程序代码可以定义:delegatedIdentity=getIdentity(authentication context,rootID,root password)。
根据替代实施例,服务提供商SP可运行连接到区块链并负责对具有由服务提供商SP提供的资源的所有领域(诸如组织C和组织B)的任何用户登录予以批准的单个身份提供者。根据替代实施例,可提供连接到区块链并负责对具有由服务提供商SP提供的资源的所有领域(诸如组织C和组织B)的任何用户登录予以批准的单个独立身份提供者。
图7示出用于存储身份的示例性区块链400的示意图。所存储的身份可以包括根身份以及委托身份。根据实施例,可以存在身份的类别,例如个人的身份和实体的身份。区块链400包括多个区块B1至BN 402-410。每个区块B2至BN 404-410包括区块链400中的前一区块B1至BN 1402-408的哈希,从而链接这两个区块。要修改区块B1至BN402-410中的一个,就也要修改所有随后区块的哈希。如果要在区块链400中存储附加数据,则生成包括该附加数据的附加区块BN+1 412,并通过将其与最后的区块BN 410链接来将其添加到区块链400。将区块BN+1 412与区块BN 410链接可包括将区块BN 410的哈希添加到区块BN+1 412。区块B1至BN 402-410,特别是区块链400的第一个区块,可以包括计算机可读程序代码。由电子数据处理工具之一执行该计算机可读程序代码,可以引起使用存储在区块链中的身份的用户认证的执行和认证令牌的颁发。该计算机可读程序代码可以特别地被配置用于识别被分配给用户的根身份和为该认证请求所标识的认证上下文的委托身份。
由同一区块链400包含的不同标识符的机密性,可通过限制对存储在区块链400的区块B1至BN 402-410中的数据的读访问来实现。例如,可以通过利用不同的密钥对存储在区块链400中的数据进行加密来实现这种对读访问的限制。
在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合,可以由计算机可读程序指令来实现。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机系统的计算机上执行、部分地在用户计算机系统的计算机上执行、作为一个独立的软件包执行、部分在用户计算机系统的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机系统的计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现上述特征的可能组合成以下方案:
1.一种用于使用加密保护的登记簿进行用户认证的计算机实现的方法,所述加密保护的登记簿包括所述用户的根身份,所述根身份包括根标识符和被分配给所述根标识符以用于认证所述用户的凭证,所述加密保护的登记簿还包括被分配给所述根身份的一个或多个委托身份,所述委托身份中的每一个包括一个委托标识符并且被分配给一个认证上下文,所述方法包括:
·接收用于认证所述用户的认证请求,
·使用所述用户的根身份来认证所述用户,成功的认证要求接收到所述被分配给所述用户的根身份的凭证,
·识别所请求的认证的认证上下文,
·使用所述加密保护的登记簿来识别被分配给所述用户的根身份并且被分配给所识别的认证上下文的所述一个或多个委托身份中的一个委托身份,
·响应于使用所述根身份对所述用户的成功认证,颁发确认所述成功用户认证并且通过所识别的委托身份的委托标识符来标识被成功认证的用户的认证令牌。
2.方案1所述的方法,所述方法利用所述用户的根身份为分配给相应根身份的所有委托身份进行单点登录。
3.前述各项方案中的任一项所述的方法,所述根身份包括分配给所述根身份的多于一个委托身份,所述多于一个委托身份以树状结构的形式分配给所述根身份,所述多于一个委托身份中的至少第一委托身份经由所述多于一个委托身份中的至少第二委托身份分配给所述根身份。
4.前述各项方案中的任一项所述的方法,加密保护的登记簿包括计算机可读程序代码,所述计算机可读程序代码通过认证计算机系统的处理器的执行,致使所述处理器控制所述认证计算机系统执行所述用户认证并颁发所述认证令牌。
5.前述各项方案中的任一项所述的方法,所述加密保护的登记簿的密码安全性包括以下中的一个或多个:哈希、签名和加密所述被存储的库标识符和所述被存储的一个或多个委托标识符的至少一部分。
6.前述各项方案中的任一项所述的方法,所述加密保护的登记簿是个分布式登记簿,其副本分布在多个计算机系统上。
7.方案6所述的方法,所述分布式登记簿的加密安全性包括将所述根身份和所述一个或多个委托身份存储在由所述分布式登记簿的每个副本所包含的区块链的多个区块中。
8.方案1至5中的任一项所述的方法,所述加密保护的登记簿由一个中央数据库提供。
9.前述各项方案中的任一项所述的方法,其中,如果用于所述认证的所述根身份或所识别的委托身份是无效的,则拒绝颁发所述认证令牌。
10.前述各项方案中的任一项所述的方法,所述请求包括用于认证的所述根身份的所述根标识符。
11.方案1至9中的任一项所述的方法,所述请求包括被分配给用于认证所述用户的所述根身份并且被分配给所识别的认证上下文的委托标识符。
12.前述各项方案中的任一项所述的方法,所述认证请求由能够访问所述加密保护的登记簿的身份提供者计算机系统接收,所述身份提供者计算机系统执行对所述用户的认证以及对所述认证令牌的颁发,所述认证令牌通过所识别的委托身份的委托标识符来标识被成功认证的用户。
13.方案12所述的方法,所述认证请求是从服务提供商计算机系统接收的,并且用于认证所述用户的所述凭证是从用户计算机系统接收的。
14.前述各项方案中的任一项所述的方法,所述一个或多个委托身份各自包括有效性期满日期的指示符,在所述有效性期满日期,相应委托身份的有效性期满。
15.前述各项方案中的任一项所述的方法,在相应的委托身份是被标识为要被分配给用于认证的根身份并且被分配给所标识的认证上下文的委托身份的情况下,所述一个或多个委托身份中的至少一个委托身份包括用于成功认证的附加认证要求。
16.前述各项方案中的任一项所述的方法,还包括
·从第一身份请求者接收要求提供所有被分配了根身份的委托身份的请求,
·如果所述第一身份请求者使用所述相应的根身份被成功认证,则提供所有被分配了所述根身份的所述一个或多个委托身份。
17.前述各项方案中的任一项所述的方法,还包括向所述根身份分配附加委托身份,所述附加委托身份包括附加标识符并且被分配给附加认证上下文,所述附加认证上下文依赖于另一根身份,所述分配包括:
·接收对分配所述附加委托身份的请求,
·检查所述附加委托身份的附加认证上下文,
·在所述附加认证上下文依赖于所述另外的根身份的情况下,响应于从用所述附加认证上下文所依赖于的所述另外的根身份成功认证的另外的用户接收到对所述附加委托身份的批准,将分配给所述根身份的所述附加委托身份存储在所述加密保护的登记簿中。
18.方案17所述的方法,所述附加认证内容通过被分配给所述另外的根身份的一个或多个另外的委托身份而依赖于另外的根身份。
19.方案17至18中的任一项的方法,所述附加委托身份的依赖性由包括所述另外的根身份的所述另外的根标识符或分配给所述另外的根身份的另外的委托身份的另外的委托标识符的所述附加委托身份的所述认证上下文来实现。
20.方案17至19中的任一项的方法,进一步包括
·从第二身份请求者请求接收要求提供依赖于所述另外的根身份的所有委托身份的请求,
·如果所述第二身份请求者使用所述另外的根身份被成功认证,则提供所述另外的根身份的所有委托身份。
21.方案17至20中的任一项的方法,所述加密保护的登记簿包括另外的计算机可读程序代码,由分配计算机系统的处理器对所述另外的计算机可读程序的执行致使所述处理器控制所述分配计算机系统执行所述附加委托身份向所述根身份的分配。
22.方案17至21中的任一项的方法,还包括通过撤销而使所分配的附加委托身份无效,所述撤销包括:
·从撤销请求者接收要求撤销所述附加委托身份的请求,
·对撤销请求者进行认证,
·在撤销请求者是使用所述附加认证上下文所依赖的另外的根身份成功认证的另外的用户的情况下,向加密保护的登记簿添加指示撤销所述另外的委托身份的撤销指示符。
23.一种包括非易失性计算机可读存储介质的计算机程序产品,所述非易失性计算机可读存储介质具有随其体现的计算机可读程序代码,所述计算机可读程序代码被配置用于实现一种用加密保护的登记簿进行用户认证的方法,所述加密保护的登记簿包括用户的根身份,所述根身份包括根标识符和分配给所述根标识符的用于认证所述用户的凭证,所述加密保护的登记簿还包括被分配给所述根身份的一个或多个委托身份,所述委托身份中的每一个包括委托标识符并且被分配给认证上下文,所述方法包括:
·接收用于认证所述用户的认证请求,
·使用所述用户的根身份来认证所述用户,成功的认证要求接收到所述被分配给所述用户的根身份的凭证,
·识别所请求的认证的认证上下文,
·使用所述加密保护的登记簿来识别被分配给所述用户的根身份并且被分配给所识别的认证上下文的所述一个或多个委托身份中的一个委托身份,
·响应于使用所述根身份对所述用户的成功认证,颁发确认所述成功用户认证并且通过所识别的委托身份的委托标识符来标识被成功认证的用户的认证令牌。
24.方案23的计算机程序产品,所述加密保护的登记簿体现为非易失性计算机可读存储介质和由所述加密保护的登记簿所包括的计算机可读程序代码。
25.一种使用加密保护的登记簿来进行用户认证的计算机系统,所述加密保护的登记簿包括所述用户的根身份,所述根身份包括根标识符和被分配给所述根标识符的用于认证所述用户的凭证,所述加密保护的登记簿还包括被分配给所述根身份的一个或多个委托身份,所述委托身份中的每一个包括一个委托标识符并且被分配给一个认证上下文,所述计算机系统配置用于:
·接收用于认证所述用户的认证请求,
·使用所述用户的根身份来认证所述用户,成功的认证要求接收到所述被分配给所述用户的根身份的凭证,
·识别所请求的认证的认证上下文,
·使用所述加密保护的登记簿来识别被分配给所述用户的根身份并且被分配给所识别的认证上下文的所述一个或多个委托身份中的一个委托身份,
·响应于使用所述根身份对所述用户的成功认证,颁发确认所述成功用户认证并且通过所识别的委托身份的委托标识符来标识被成功认证的用户的认证令牌。
Claims (19)
1.一种用于使用加密保护的登记簿进行用户认证的计算机实现的方法,所述加密保护的登记簿包括所述用户的根身份,所述根身份包括根标识符和被分配给所述根标识符以用于认证所述用户的凭证,所述加密保护的登记簿还包括被分配给所述根身份的一个或多个委托身份,所述委托身份中的每一个包括一个委托标识符并且被分配给一个认证上下文,所述方法包括:
接收认证所述用户的认证请求,
使用所述用户的根身份来认证所述用户,成功的认证要求接收到所述被分配给所述用户的根身份的凭证,
识别所请求的认证的认证上下文,
使用所述加密保护的登记簿来识别被分配给所述用户的根身份并且被分配给所识别的认证上下文的所述一个或多个委托身份中的一个委托身份,
响应于使用所述根身份对所述用户的成功认证,颁发确认所述成功用户认证并且通过所识别的委托身份的委托标识符来标识被成功认证的用户的认证令牌,
所述根身份包括分配给根身份的多于一个委托身份,所述多于一个委托身份以树结构的形式被重新分配给根身份,所述多于一个委托身份中的至少第一个委托身份经由所述多于一个委托身份中的至少第二个委托身份被分配给根身份。
2.如权利要求1所述的方法,所述方法利用所述用户的根身份为分配给相应根身份的所有委托身份进行单点登录。
3.如权利要求1所述的方法,所述加密保护的登记簿包括计算机可读程序代码,所述计算机可读程序代码通过认证计算机系统的处理器的执行,致使所述处理器控制所述认证计算机系统执行所述用户认证并颁发所述认证令牌。
4.如权利要求1所述的方法,所述加密保护的登记簿的密码安全性包括以下中的一个或多个:哈希、签名和加密被存储的库标识符和所述被存储的一个或多个委托标识符的至少一部分。
5.如权利要求1所述的方法,所述加密保护的登记簿是个分布式登记簿,其副本分布在多个计算机系统上。
6.如权利要求5所述的方法,所述分布式登记簿的加密安全性包括将所述根身份和所述一个或多个委托身份存储在由所述分布式登记簿的每个副本所包含的区块链的多个区块中。
7.如权利要求1所述的方法,所述加密保护的登记簿由一个中央数据库提供。
8.如权利要求1所述的方法,其中,如果用于所述认证的所述根身份或所识别的委托身份是无效的,则拒绝颁发所述认证令牌。
9.如权利要求1所述的方法,所述请求包括用于认证的所述根身份的所述根标识符。
10.如权利要求1所述的方法,所述请求包括被分配给用于认证所述用户的所述根身份并且被分配给所识别的认证上下文的所述委托标识符。
11.如权利要求1所述的方法,所述认证请求由能够访问所述加密保护的登记簿的身份提供者计算机系统接收,所述身份提供者计算机系统执行对所述用户的认证以及通过所识别的委托身份的委托标识符来标识被成功认证的用户的所述认证令牌的颁发。
12.如权利要求11所述的方法,所述认证请求是从服务提供商计算机系统接收的,并且所述用于认证所述用户的凭证是从用户计算机系统接收的。
13.如权利要求1所述的方法,所述一个或多个委托身份各自包括有效性期满日期的指示符,在所述有效性期满日期,相应委托身份的有效性期满。
14.如权利要求1所述的方法,在相应的委托身份是被标识为要被分配给用于认证的根身份并且被分配给所标识的认证上下文的委托身份的情况下,所述一个或多个委托身份中的至少一个委托身份包括用于成功认证的附加认证要求。
15.如权利要求1所述的方法,还包括
从第一身份请求者接收要求提供所有被分配了根身份的委托身份的请求,
如果所述第一身份请求者使用所述相应的根身份被成功认证,则提供所有被分配了所述根身份的所述一个或多个委托身份。
16.如权利要求1所述的方法,还包括向所述根身份分配附加委托身份,所述附加委托身份包括附加标识符并且被分配给附加认证上下文,所述附加认证上下文依赖于另外的根身份,所述分配包括:
接收对分配所述附加委托身份的请求,
检查所述附加委托身份的附加认证上下文,
在所述附加认证上下文依赖于所述另外的根身份的情况下,响应于从用所述附加认证上下文所依赖于的所述另外的根身份成功认证的另外的用户接收到对所述附加委托身份的批准,将分配给所述根身份的所述附加委托身份存储在所述加密保护的登记簿中。
17.如权利要求16所述的方法,所述附加认证内容通过被分配给另外的根身份的一个或多个另外的委托身份而依赖于所述另外的根身份。
18.一种计算机可读存储介质,具有随其体现的计算机可读程序代码,所述计算机可读程序代码被配置用于实现一种用加密保护的登记簿进行用户认证的方法,所述加密保护的登记簿包括用户的根身份,所述根身份包括根标识符和分配给所述根标识符的用于认证所述用户的凭证,所述加密保护的登记簿还包括被分配给所述根身份的一个或多个委托身份,所述委托身份中的每一个包括委托标识符并且被分配给认证上下文,所述方法包括:
接收认证所述用户的认证请求,
使用所述用户的根身份来认证所述用户,成功的认证要求接收到所述被分配给所述用户的根身份的凭证,
识别所请求的认证的认证上下文,
使用所述加密保护的登记簿来识别被分配给所述用户的根身份并且被分配给所识别的认证上下文的所述一个或多个委托身份中的一个委托身份,
响应于使用所述根身份对所述用户的成功认证,颁发确认所述成功用户认证并且通过所识别的委托身份的委托标识符来标识被成功认证的用户的认证令牌,
所述根身份包括分配给根身份的多于一个委托身份,所述多于一个委托身份以树结构的形式被重新分配给根身份,所述多于一个委托身份中的至少第一个委托身份经由所述多于一个委托身份中的至少第二个委托身份被分配给根身份。
19.一种使用加密保护的登记簿来进行用户认证的计算机系统,所述加密保护的登记簿包括所述用户的根身份,所述根身份包括根标识符和被分配给所述根标识符的用于认证所述用户的凭证,所述加密保护的登记簿还包括被分配给所述根身份的一个或多个委托身份,所述委托身份中的每一个包括一个委托标识符并且被分配给一个认证上下文,所述计算机系统被配置用于:
接收认证所述用户的认证请求,
使用所述用户的根身份来认证所述用户,成功的认证要求接收到所述被分配给所述用户的根身份的凭证,
识别所请求的认证的认证上下文,
使用所述加密保护的登记簿来识别被分配给所述用户的根身份并且被分配给所识别的认证上下文的所述一个或多个委托身份中的一个委托身份,
响应于使用所述根身份对所述用户的成功认证,颁发确认所述成功用户认证并且通过所识别的委托身份的委托标识符来标识被成功认证的用户的认证令牌,
所述根身份包括分配给根身份的多于一个委托身份,所述多于一个委托身份以树结构的形式被重新分配给根身份,所述多于一个委托身份中的至少第一个委托身份经由所述多于一个委托身份中的至少第二个委托身份被分配给根身份。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/817,424 | 2017-11-20 | ||
US15/817,424 US10628566B2 (en) | 2017-11-20 | 2017-11-20 | Authentication using delegated identities |
PCT/EP2018/081710 WO2019097046A1 (en) | 2017-11-20 | 2018-11-19 | Authentication using delegated identities |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111316267A CN111316267A (zh) | 2020-06-19 |
CN111316267B true CN111316267B (zh) | 2023-09-12 |
Family
ID=65033550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880071962.2A Active CN111316267B (zh) | 2017-11-20 | 2018-11-19 | 使用委托身份的认证 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10628566B2 (zh) |
JP (1) | JP7196174B2 (zh) |
CN (1) | CN111316267B (zh) |
DE (1) | DE112018005203T5 (zh) |
GB (1) | GB2583252B (zh) |
WO (1) | WO2019097046A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6742558B2 (ja) * | 2018-04-09 | 2020-08-19 | 三菱電機株式会社 | 認証システムおよび認証プログラム |
US10931438B2 (en) * | 2018-08-13 | 2021-02-23 | International Business Machines Corporation | Generating a representative article |
GB201813458D0 (en) * | 2018-08-17 | 2018-10-03 | Yoti Holding Ltd | Blockchain autonomous agents |
US11641363B2 (en) * | 2019-01-14 | 2023-05-02 | Qatar Foundation For Education, Science And Community Development | Methods and systems for verifying the authenticity of a remote service |
US20220358547A1 (en) * | 2019-05-08 | 2022-11-10 | Data Vault Holdings, Inc. | Carbon Credit Tokenization |
CN112398799A (zh) * | 2019-08-19 | 2021-02-23 | 北京国双科技有限公司 | 一种单点登录方法、装置及系统 |
EP3851984B1 (en) * | 2020-01-15 | 2023-12-20 | IDENTOS Inc. | Computer-implemented systems for distributed authorization and federated privacy exchange |
US11799639B2 (en) | 2021-01-05 | 2023-10-24 | Bank Of America Corporation | Systems and methods using distributed ledgers to correct for missing one time passwords in event processing |
CN113434836B (zh) * | 2021-05-31 | 2024-08-20 | 深信服科技股份有限公司 | 一种身份认证方法、装置、设备及介质 |
US11899685B1 (en) | 2021-12-10 | 2024-02-13 | Amazon Technologies, Inc. | Dividing authorization between a control plane and a data plane for sharing database data |
CN114500049B (zh) * | 2022-01-26 | 2022-11-11 | 北京邮电大学 | 物联网系统内的可移动终端设备身份认证方法和系统 |
CN114640475B (zh) * | 2022-05-19 | 2022-09-06 | 广东省绿算技术有限公司 | 去中心化的身份认证方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188248A (zh) * | 2011-12-31 | 2013-07-03 | 卓望数码技术(深圳)有限公司 | 基于单点登录的身份认证系统及方法 |
CN106462688A (zh) * | 2014-02-24 | 2017-02-22 | 谷歌公司 | 跨web和移动的通用认证器 |
WO2017079795A1 (en) * | 2015-11-09 | 2017-05-18 | Roger Hanna | A distributed user profile identity verification system for e-commerce transaction security |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7103912B2 (en) * | 2001-06-29 | 2006-09-05 | International Business Machines Corporation | User authorization management system using a meta-password and method for same |
US20040128542A1 (en) | 2002-12-31 | 2004-07-01 | International Business Machines Corporation | Method and system for native authentication protocols in a heterogeneous federated environment |
US20060282681A1 (en) | 2005-05-27 | 2006-12-14 | Scheidt Edward M | Cryptographic configuration control |
US20170149560A1 (en) | 2012-02-02 | 2017-05-25 | Netspective Communications Llc | Digital blockchain authentication |
US20140365781A1 (en) * | 2013-06-07 | 2014-12-11 | Technische Universitaet Darmstadt | Receiving a Delegated Token, Issuing a Delegated Token, Authenticating a Delegated User, and Issuing a User-Specific Token for a Resource |
US10402792B2 (en) | 2015-08-13 | 2019-09-03 | The Toronto-Dominion Bank | Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers |
WO2017066715A1 (en) | 2015-10-14 | 2017-04-20 | Cambridge Blockchain, LLC | Systems and methods for managing digital identities |
US11042878B2 (en) * | 2016-01-19 | 2021-06-22 | Priv8Pay, Inc. | Network node authentication |
WO2018067271A1 (en) | 2016-10-06 | 2018-04-12 | Mastercard International Incorporated | Method and system for identity and credential protection and verification via blockchain |
-
2017
- 2017-11-20 US US15/817,424 patent/US10628566B2/en not_active Expired - Fee Related
-
2018
- 2018-11-19 JP JP2020527823A patent/JP7196174B2/ja active Active
- 2018-11-19 WO PCT/EP2018/081710 patent/WO2019097046A1/en active Application Filing
- 2018-11-19 GB GB2009236.7A patent/GB2583252B/en active Active
- 2018-11-19 DE DE112018005203.6T patent/DE112018005203T5/de not_active Ceased
- 2018-11-19 CN CN201880071962.2A patent/CN111316267B/zh active Active
-
2019
- 2019-04-23 US US16/391,597 patent/US10664577B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188248A (zh) * | 2011-12-31 | 2013-07-03 | 卓望数码技术(深圳)有限公司 | 基于单点登录的身份认证系统及方法 |
CN106462688A (zh) * | 2014-02-24 | 2017-02-22 | 谷歌公司 | 跨web和移动的通用认证器 |
WO2017079795A1 (en) * | 2015-11-09 | 2017-05-18 | Roger Hanna | A distributed user profile identity verification system for e-commerce transaction security |
Also Published As
Publication number | Publication date |
---|---|
US20190156000A1 (en) | 2019-05-23 |
GB202009236D0 (en) | 2020-07-29 |
WO2019097046A1 (en) | 2019-05-23 |
GB2583252A (en) | 2020-10-21 |
GB2583252B (en) | 2022-08-24 |
JP7196174B2 (ja) | 2022-12-26 |
US10628566B2 (en) | 2020-04-21 |
CN111316267A (zh) | 2020-06-19 |
US20190251235A1 (en) | 2019-08-15 |
DE112018005203T5 (de) | 2020-06-18 |
US10664577B2 (en) | 2020-05-26 |
JP2021503667A (ja) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111316267B (zh) | 使用委托身份的认证 | |
US11223614B2 (en) | Single sign on with multiple authentication factors | |
CN111316303B (zh) | 用于基于区块链的交叉实体认证的系统和方法 | |
US11563581B2 (en) | Shared registration system | |
EP2689372B1 (en) | User to user delegation service in a federated identity management environment | |
JP5694344B2 (ja) | クラウド認証を使用する認証 | |
US8683196B2 (en) | Token renewal | |
CN114008968B (zh) | 用于计算环境中的许可授权的系统、方法和存储介质 | |
US8468359B2 (en) | Credentials for blinded intended audiences | |
US8438383B2 (en) | User authentication system | |
US11870766B2 (en) | Integration of legacy authentication with cloud-based authentication | |
US11924211B2 (en) | Computerized device and method for authenticating a user | |
JP2009205223A (ja) | シングルサインオンによるグループ内サービス認可方法と、その方法を用いたグループ内サービス提供システムと、それを構成する各サーバ | |
Miranda | Large scale secure automatic provisioning of X. 509 certificates via web services | |
Lakhe et al. | Open Source Authentication in Hadoop | |
WO2011032577A1 (en) | Methods and systems for delegating authorization |
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 |