CN112567716B - 安全数据传输系统和方法 - Google Patents
安全数据传输系统和方法 Download PDFInfo
- Publication number
- CN112567716B CN112567716B CN201980053969.6A CN201980053969A CN112567716B CN 112567716 B CN112567716 B CN 112567716B CN 201980053969 A CN201980053969 A CN 201980053969A CN 112567716 B CN112567716 B CN 112567716B
- Authority
- CN
- China
- Prior art keywords
- assertion
- entity
- identity
- request
- target entity
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000005540 biological transmission Effects 0.000 title claims description 15
- 238000004891 communication Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 2
- 230000001419 dependent effect Effects 0.000 description 28
- 230000015654 memory Effects 0.000 description 15
- 230000008901 benefit Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008520 organization Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004806 packaging method and process Methods 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- LFQSCWFLJHTTHZ-UHFFFAOYSA-N Ethanol Chemical compound CCO LFQSCWFLJHTTHZ-UHFFFAOYSA-N 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013478 data encryption standard Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- FMFKNGWZEQOWNK-UHFFFAOYSA-N 1-butoxypropan-2-yl 2-(2,4,5-trichlorophenoxy)propanoate Chemical compound CCCCOCC(C)OC(=O)C(C)OC1=CC(Cl)=C(Cl)C=C1Cl FMFKNGWZEQOWNK-UHFFFAOYSA-N 0.000 description 1
- 101150044878 US18 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
Classifications
-
- 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/321—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 a third party or a trusted authority
- H04L9/3213—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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- 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
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0847—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- 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
-
- 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/3242—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 keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
公开了用于安全地提供身份属性的方法和系统。服务器计算机可以从依赖实体接收对与目标实体相关联的身份属性的请求,其中对身份属性的所述请求包括与所述目标实体相关联的会话标识符和所述依赖实体的标识符。所述服务器计算机可以基于所述会话标识符验证所述请求。所述服务器计算机可以基于所述依赖实体的所述标识符标识定义所述依赖实体的身份属性类型的包和与所述包相关联的数据访问令牌。基于验证所述请求,所述服务器计算机可以向数字身份提供商传输对与所述包相对应的一组身份属性的请求,所述请求包括所述数据访问令牌。所述服务器计算机可以从所述数字身份提供商接收所述一组身份属性。
Description
相关申请交叉引用
本申请要求2018年8月17日提交的第62/719,502号美国临时申请的权益,所述美国临时申请以引入的方式并入本文中。
背景技术
数字身份(DI)可以包括与关于可以与另一实体共享的实体的一组信息相关联的数据。目前,存在许多(例如数百个)DI提供商,包括政府实体和私人企业。每个DI提供商都可以使用不同的方法创建DI,而且没有创建DI的现有标准。例如,每个DI提供商可以将不同内容和/或结构用于其DI,并且有不同的访问DI的方法。
为了使与DI相关联的信息可用于接收实体,可以从数据中提取信息并提供给接收实体。例如,在两个实体之间的交互中,每个实体都可以请求另一方以可用格式提供信息。然而,随着交互实体的数量增加,每个DI可能来自许多潜在源中的一个。每个单独的DI源与所有其它源之间的整合可产生N×N计算问题,其中N是DI源的数量。因而,整合量可以随着每个新的DI源呈指数级增长。
在一些情况下,接收实体可能希望接收关于目标实体的个人可标识信息。此类信息可以由一个或多个DI提供商存储。然而,存储和传输此类个人可标识信息的实体越多,在未授权的情况下暴露此类信息的风险就越大。因此,需要安全地传输与DI相关联的信息。
本公开的实施例单独地以及共同地解决这些问题和其它问题。
发明内容
本公开的实施例包括用于安全地提供身份属性的方法以及系统。
本公开的一个实施例涉及一种方法,包括:由服务器计算机从依赖实体接收对与目标实体相关联的身份属性的请求,其中对身份属性的所述请求包括与所述目标实体相关联的会话标识符和所述依赖实体的标识符;由所述服务器计算机基于所述会话标识符验证所述请求;由所述服务器计算机基于所述依赖实体的所述标识符标识定义所述依赖实体的身份属性类型的包和与所述包相关联的数据访问令牌;基于验证所述请求,由所述服务器计算机向数字身份提供商传输对与所述包相对应的一组身份属性的请求,所述请求包括所述数据访问令牌;以及由所述服务器计算机从所述数字身份提供商接收所述一组身份属性。
本公开的另一实施例涉及一种系统,包括被编程以执行上述方法的服务器计算机。
本公开的另一实施例涉及一种方法,包括:由依赖实体的客户端计算机生成对与目标实体相关联的多个身份属性的请求,其中对身份属性的所述请求包括与所述目标实体相关联的会话标识符和所述依赖实体的标识符;由所述客户端计算机向服务器计算机传输所述请求;由此使所述服务器计算机:基于所述会话标识符验证所述请求;基于所述依赖实体的所述标识符标识定义所述依赖实体的身份属性类型的包和与所述包相关联的数据访问令牌,向数字身份提供商传输对与所述包相对应的一组身份属性的请求,所述请求包括所述数据访问令牌,从所述数字身份提供商接收所述一组身份属性,并且向所述依赖实体的所述客户端计算机传输所述一组身份属性;以及由所述依赖实体的所述客户端计算机接收所述一组身份属性。
本公开的另一实施例涉及一种系统,包括被编程以执行上述方法的客户端计算机。
在具体实施方式和附图中可以得出关于各种实施例的另外的细节。
附图说明
在附图的图中以实例而非限制的方式示出本公开的示例实施例,并且其中相似的附图标记指代相似的元件,并且其中:
图1A为根据非限制性实施例的用于提供至少一个身份属性的系统和方法的示意图。
图1B为根据非限制性实施例的用于提供至少一个身份属性的系统的框图,所述系统包括额外元件。
图1C是根据非限制性实施例的断言模型管理器的框图。
图2A-2B示出根据非限制性实施例提供至少一个身份属性的方法的流程图。
图3是根据非限制性实施例的与数据访问令牌相关联地存储断言包的方法的流程图。
尽管每个附图出于示出清楚的实例的目的而示出了特定实施例,但其它实施例可以省略、增加、重新排序和/或修改图中所示的任何元件。
具体实施方式
定义
在讨论各种实施例之前,可以进一步详细描述一些术语。
术语“标识符”可以指可用于标识某些内容的任何信息。在一些实施例中,标识符可以是随机生成或根据预定算法、代码或共享秘密生成的特殊值。例如,可以使用驾照号码或密码密钥来标识个人。在一些实施例中,标识符可以呈一个或多个图形、令牌、条形码、快速响应(QR)码,或可用于唯一地标识实体的任何其它信息的形式。
“身份属性”可以指关于实体(例如,人、组织、事物等)的一条特定信息。身份属性的实例包括与人相关联的社会保障号码、年龄、电话号码和银行账号。
“数字身份”(DI)可以包括关于实体(例如,人、组织或事物)的安全信息集。DI可以包括多个身份属性,以及标识数字身份的数字身份标识符。例如,用户Joe Smith的DI可以包括:身份属性,例如用户的出生日期、社会保障号码、地址和驾照号码;以及标识符,例如用于标识Joe Smith的数字身份的Joe_Smith_1234。可以用安全的方式使所述DI对另一实体可用。DI可以依赖于利益相关者之间的协议以及例如密码之类的安全措施。
“断言”(有时称为“断言值”)可以指关于实体的安全事实。断言可以保护信息,同时可用于实现特定目标。例如,断言可以指定关于实体的某些内容,例如是否应允许所述实体在特定地点购买酒精。断言可以是“Jane Doe的年龄足以在加利福尼亚购买酒精”。酒吧可以使用此断言来决定向某人供应酒精,而不用向酒吧出示此人的驾照信息。作为另一实例,断言可以指定实体是否有可接受存款的账户(例如,“Jane Doe有银行账户,并且可以接受存款。”)。
“断言类型”可以是断言类别,例如,实体的银行账户中是否有至少100美元。与断言类型相关联的“断言”或“断言值”可以是对特定实体的对应答案,这些答案可以呈“是”或“否”的形式,或者可以是肯定陈述(例如,“Jane Doe的银行账户有100美元或更多。”)。断言可以通过密码保护。断言可以由感兴趣的实体和/或提供安全事实的可信方进行数字签名。
“断言模式”可以是可以与特定实体相关联的一组断言类型。断言模型可以指定一种或多种断言类型。例如,断言模型可以包括两种断言类型:实体的年龄是否足以租车,以及实体是否有有效的驾照。断言模型可以针对特定情况进行定制。继续前一实例,实体的年龄是否足以租车以及体是否有有效的驾照可以对应于与租车机构交互的潜在租车人的上下文的断言模型。断言模型可以进一步指定一组身份属性。
“目标实体”可以指对应于断言、DI和/或身份属性的实体。例如,目标实体可以是Mary Jones。关于Mary Jones的断言可以指定Mary Jones的年龄是否足以在特定地点购买酒精。Mary Jones的相关身份属性可以是Mary Jones的确切年龄(例如,35岁)。
“依赖实体”可以指可以接收断言、DI和/或身份属性的实体。例如,依赖实体可以是请求目标实体的年龄是否足以向他供应酒精的断言的酒吧。
“数据访问令牌”或“访问令牌”可以指用于验证应用程序编程接口(API)请求的令牌。数据访问令牌可以表示供应用程序访问与目标实体相关联的特定数据元素的授权。作为实例,数据访问令牌可以包括一组权限,其允许应用程序从与目标实体的银行相关联的API检取与目标实体相关联的两个特定身份属性-目标实体的出生日期和目标实体的地址。数据访问令牌可以由特定应用程序或实体,例如使用数字签名来保护以供使用。
“密钥”可以指用于密码算法中以将输入数据变换成另一表示的一条信息。密码算法可以是将原始数据变换成替代表示的加密算法,或将加密信息变换回原始数据的解密算法。密码算法的实例可以包括三重数据加密标准(TDES)、数据加密标准(DES)、高级加密标准(AES)等。
“公钥”可以包括形成公钥/私钥对的公钥的密码密钥。公钥可以被设计为共享(例如,在实体之间传输),并且可以被配置成使得使用公钥加密的任何信息只能使用与公钥相关联的私钥来解密。
“私钥”可以包括形成公钥/私钥对的私钥的密码密钥。私钥可以用于解密用公钥加密的数据。
“密码”可以指某些信息的加密表示。密码可由接收方用来确定密码生成器是否具有正确的密钥,例如,通过利用有效密钥对基础信息进行加密,且将结果与所接收的密码进行比较。
“哈希”可以指哈希算法的固定长度输出。这种输出可以基于任何长度的输入串来生成。一些哈希可以通过密码生成和反转。哈希可以与哈希表相关联地存储,这可以加速表查找或数据比较任务,例如在数据库中查找项目。
“统一资源指示符”或“URI”可以指明确标识特定资源的字符串。URL可用于定义资源的路径。常见的URI类型是统一资源定位器(URL)。URL用于网络资源的上下文。URL可以指定网络资源在计算机网络上的位置以及用于检取网络资源的机制。
“会话标识符”或“会话ID”可以指在会话持续时间内分配给特定用户的标识符(例如,一系列相关网络通信,例如访问网站)。可以在会话过程期间维护会话标识符(例如,直到用户关闭浏览器或退出应用程序)。会话标识符可以由正在与用户交互的服务器计算机生成和存储,例如,作为URI、cookie或表单字段(form field)。在一些情况下,可以实施安全措施以防止会话ID被恶意劫持。例如,会话ID可以链接到用户的互联网协议(IP)地址,或使用分配给用户的密钥进行加密。
“分布式分类账”可以指在网络上的多个节点之间共享的数据库。对应于每个节点的实体可以在给定时间存储分类账的相同副本。实体可能有权对分类账进行更改或添加。当分类账更改时,参与实体可以接收更新的分类账。分布式分类账的实例包括区块链,其中交易在加密之前进行验证,并记录到交易区块中的分类账。
术语“消息”可以包括可以从一个实体传送到另一个实体(例如,从一个计算装置传送到另一个计算装置)的任何数据或信息。消息可以在计算机或计算系统内的装置/部件之间内部传达,或者通过通信网络在装置之间外部传达。另外,消息可以被修改、更改或以其它方式改变以包括加密或匿名信息。
“处理器”可以指任何合适的一个或多个数据计算装置。处理器可以包括一起工作以实现期望的功能的一个或多个微处理器。处理器可以包括CPU,所述CPU包括至少一个高速数据处理器,所述高速数据处理器足以执行用于执行用户和/或系统生成的请求的程序部件。CPU可以是微处理器,例如AMD的Athlon、Duron和/或Opteron;IBM和/或Motorola的PowerPC;IBM和Sony的Cell处理器;Intel的Celeron、Itanium、Pentium、Xeon和/或XScale;和/或类似处理器。
“存储器”可以是可以存储电子数据的任何合适的一个或多个装置。合适的存储器可以包括非瞬态计算机可读介质,其存储可由处理器执行以实现所要方法的指令。存储器的实例可以包括一个或多个存储器芯片、磁盘驱动器等。此类存储器可使用任何合适的电气、光学和/或磁性操作模式来操作。
术语“客户端”和“客户端装置”可以包括能够从服务器获得信息和应用程序的一个或多个客户端侧装置或系统。作为实例,“客户端装置”可以包括由商家使用的一个或多个POS装置和/或POS系统。应了解,客户端装置可以是被配置成与一个或多个网络通信且发起或促进交易的任何电子装置,例如但不限于一个或多个计算机、便携式计算机、平板计算机、蜂窝电话、可穿戴装置(例如,手表、眼镜、镜片、衣物和/或其类似者)、PDA,和/或其它类似装置。此外,“客户端”可以是拥有、利用和/或操作客户端装置以发起与交易服务提供商的交易的实体,例如商家。
“服务器计算机”可以包括功能强大的计算机或计算机群集。例如,服务器计算机可以是大型主机、小型计算机群集或像单元一样工作的一组服务器。在一个实例中,服务器计算机可以是耦合到网络服务器的数据库服务器。服务器计算机可以耦合到数据库,并且可包括用于服务于来自一个或多个客户端计算机的请求的任何硬件、软件、其它逻辑或前述内容的组合。服务器计算机可以包括一个或多个计算设备,且可以使用多种计算结构、布置和编译中的任一种来服务来自一个或多个客户端计算机的请求。
安全地提供身份属性
PCT申请PCT/US18/61600(特此以全文引用的方式并入)描述了用于向依赖实体提供断言包的系统和方法。系统可以存储针对不同依赖实体或依赖实体类型定制的各种断言包。例如,对于提供房屋贷款的依赖实体,系统可以存储指定以下各项的断言包:(a)目标实体是否一年至少赚80,000美元,(b)目标实体是否已按时支付过去一年的所有账单,以及(c)目标实体是否有至少30,000美元的存款。依赖实体可以从系统检取断言包以预先使目标实体有资格抵押。稍后,当目标实体准备好进行房屋贷款时,所述断言对于依赖实体可能不够。在发放贷款时,依赖实体可能需要指定目标实体的确切收入、资产和信用历史的身份属性。作为另一实例,依赖实体可以使用基于一组身份属性的信息来完成与目标实体的初始注册过程。出于安全目的,依赖实体可以避免存储身份属性。依赖实体可以稍后请求关于目标实体的断言,以确认信息是最新的。关于图1A描述的系统提供了将身份属性包安全地提供给依赖实体的方法,所述方法可以基于依赖实体的断言包。
现在参考图1A,示出了根据非限制性实施例的用于提供至少一个身份属性的示例系统和方法100的示意图。为了简化说明,图1A中示出了特定数量的部件和操作。然而,应当理解,实施例可以包括多于一个每种部件。另外,一些实施例可以包括比图1A中所示的所有部件和操作少或多的部件和操作。
如下文关于图1B-1C所详细描述,系统100可以包括依赖实体161、目标实体111、断言模型管理器131和DI提供商121。这些实体中的每一个都可以操作计算机。例如,目标实体111可以操作目标实体计算机,并且DI提供商121可以操作DI提供商计算机。
在步骤S1处,依赖实体161可以向目标实体111请求权限,以发起对与目标实体111相关联的身份属性的检取。作为实例,依赖实体161可以通过以下操作来请求权限:向目标实体111传输请求消息,或向目标实体111显示包括“是”和“否”按钮以供用户选择的模态(modal)。依赖实体161可能需要身份属性才能执行某一功能。作为特定实例,目标实体111可以使用依赖实体161的网站预订酒店客房。预订可以涉及将各种身份属性输入表单,所述身份属性例如姓名、地址、支付信息、忠诚度账号等。依赖实体161可以向目标实体111通知依赖实体161可以根据需要收集此类信息。
在步骤S2处,目标实体111可以向依赖实体161传输响应。目标实体111可以传输指示检取身份属性的权限的响应。依赖实体161可以接收响应。
在步骤S3处,依赖实体161可以准备对身份属性的请求。请求可以包括依赖实体161的标识符,例如密码密钥(例如,依赖实体的公钥)、用户名、标识号等。
在一些实施例中,请求可以包括与目标实体111相关联的信息。与目标实体111相关联的信息可以包括目标实体的标识符,例如密码密钥、用户名、标识号等。替代地或另外,可以使用会话标识符来标识目标实体111。会话标识符可能已经由依赖实体161与同目标实体111的通信会话相关联地生成。例如,在步骤S1之前,依赖实体161可以建立与目标实体的通信会话。依赖实体161可以生成与目标实体111相关联的会话标识符,以用于通信会话。在一些情况下,会话标识符可以从目标实体标识符和依赖实体标识符中导出,并且任选地从随机值或时间戳中导出。在通信会话过程期间,依赖实体161和目标实体111可以通过网络参与一系列通信,包括上文关于步骤S1和S2所述的一系列通信。
在一些实施例中,请求可以包括额外信息。接收到的请求可以包括地址或资源定位器,例如统一资源标识符(URI)。URI可以标识身份属性所传输到的位置。请求可进一步包括期望的身份属性或由目标实体111向依赖实体161授予的权限的指示。
在步骤S4处,依赖实体161可以将准备好的请求传输到断言模型管理器131。在一些实施例中,依赖实体161可以将请求推送到由断言模型管理器131暴露的API。替代地或另外,依赖实体可以将请求消息传输到断言模型管理器131。
在一些实施例中,断言模型管理器131可以接收请求并基于会话标识符验证请求。断言模型管理器131可以例如将会话标识符与目标实体的标识符进行比较以确认会话确实涉及目标实体111。如果断言模型管理器131无法基于会话标识符验证请求(例如,会话与依赖实体161相关联并且另一实体不同于目标实体111),则断言模型管理器131可以避免继续检取身份属性。
在步骤S5处,断言模型管理器131可以向目标实体111请求访问身份属性的权限。在一些实施例中,尽管依赖实体161可以指示权限的接收,但断言模型管理器131可以独立地请求增加安全性的权限。此类请求可以包括请求向依赖实体161提供身份属性的权限。在一些实施例中,断言模型管理器131可以进一步从目标实体111请求升级(step-up)认证。断言模型管理器131可以例如显示目标实体111的模态以登录账户。目标实体111可以例如登录先前与断言模型管理器131和/或DI提供商121建立的身份管理账户。作为另一实例,断言模型管理器131可以将验证码发送到目标实体111的已知电话号码或电子邮件地址,目标实体111必须将所述验证码提供回断言模型管理器131以便继续。
在步骤S6处,目标实体111可以向断言模型管理器131传输指示是否授权访问身份属性和/或向依赖实体161提供身份属性的响应。断言模型管理器131可以接收指示是否授权访问身份属性和/或向依赖实体161提供身份属性的响应消息。
在步骤S7处,断言模型管理器131可以标识定义依赖实体的身份属性类型的包,并标识与所述包相关联的一个或多个数据访问令牌。断言模型管理器131可以基于依赖实体的标识符标识定义依赖实体的身份属性类型的包。例如,断言模型管理器131可以标识依赖实体标识符到断言模型的存储的映射。
包可以是断言包,如下文关于图1C和3详细描述。或者,包可以在不包括断言的情况下列出一种或多种身份属性类型。在任一情况下,包对应于依赖实体161有权接收的一组信息。例如,依赖实体161可以是在线商家。断言模型管理器131可能先前已经建立可以给予依赖实体161的身份属性包:姓名、地址和支付信息。
数据访问令牌可以与一个或多个断言和/或身份属性相关联。基于或结合已标识的数据访问令牌,断言模型管理器可以标识持有相关联身份属性的一个或多个DI提供商。作为实例,DI提供商标识符可以与令牌相关联地存储。断言模型管理器可以基于DI提供商标识符标识适当的DI提供商。作为另一实例,数据访问令牌可以指定到DI提供商的API的路径。
数据访问令牌可以直接映射到一组身份属性。例如,在初始时间,断言模型管理器131可以存储数据访问令牌,所述数据访问令牌可以用于从特定的DI提供商121检取由依赖实体161的包定义的一组身份属性。替代地或另外,可能存在与定义依赖实体的身份属性类型的给定包相关联的多于一个数据访问令牌。身份属性可以由多个DI提供商存储。
在一些实施例中,DI提供商121可以向断言模型管理器131提供不应返回到依赖实体161的一个或多个身份属性。依赖实体161只能接收特定的一组相关身份属性,这些身份属性可由包确定。在一些实施例中,断言模型管理器131可以基于依赖实体161的包而确定准许所述依赖实体161具有哪些身份属性。作为实例,租车机构的包可以包括驾照号码、姓名和出生日期。租车机构可能无权获得其它属性,例如银行账号或社会保障号码。
在步骤S8处,断言模型管理器131可以向DI提供商121传输对与包相对应的一组身份属性的请求。请求可以包括数据访问令牌。断言模型管理器131可以例如将已标识的数据访问令牌推送到由DI提供商121暴露的API。断言模型管理器131可以向DI提供商121提供数据访问令牌以便检取身份属性。替代地或另外,断言模型管理器131可以向第三方服务(例如,基于令牌的API服务)提供令牌以便于检取身份属性。断言模型管理器131可以执行标识令牌和/或请求与所述令牌相关联的身份属性的API调用。
在步骤S9处,DI提供商121可以基于检取到的数据访问令牌检取一组身份属性,并向断言模型管理器131传输所述一组身份属性。断言模型管理器131然后可以从DI提供商121接收一组身份属性。作为实例,断言模型管理器131可以从DI提供商121接收三个身份属性:Joe Johnson的出生日期、Joe Jonson的驾照和Joe Johnson的姓名。
在步骤S10处,断言模型管理器131可以处理接收到的一组身份属性,以形成用于传输到依赖实体161的消息。断言模型管理器可以对相关的身份属性打包(package),并且生成用于包括在消息中的消息摘要。
断言模型管理器131可以通过哈希函数和一组身份属性来计算消息摘要。作为实例,为了使用一组相关的身份属性来创建消息摘要,断言模型管理器131可以对一组身份属性进行哈希处理。此类消息摘要可以用来确定属性是否已经以某种形式变化。
在一些实施例中,可以生成默克尔(Merkle)树。默克尔树可以通过以下操作生成:对每个身份属性进行哈希处理,然后使用身份属性的哈希对生成第二层哈希,然后使用第二层属性对生成第三层哈希等等,直到基于倒数第二层属性生成顶层哈希(“默克尔根”)。例如,断言模型管理器可以通过以下操作生成多个哈希值:对一组身份属性中的第一身份属性进行哈希处理以生成第一哈希值,对一组身份属性中的第二身份属性进行哈希处理以生成第二哈希值,对第一哈希值和第二哈希值进行哈希处理以生成第三哈希值等等。默克尔树充当分层树,其不仅能够确定属性已经变化(与消息摘要的情况一样),还能够准确地确定哪个(哪些)属性已经变化。断言模型管理器可以存储消息摘要、默克尔树和/或默克尔根中的一个或多个,以稍后建立由依赖实体接收的数据的完整性。
在一些实施例中,断言模型管理器可以生成包括相关身份属性和消息摘要和/或默克尔根的JavaScript对象表示法(JSON)消息。消息可以进一步包括包标识符。包标识符可以是由断言模型管理器131标识的特定属性包的标识符。在一些实施例中,断言模型管理器可以在传输消息之前(例如,使用依赖实体161的密钥)对身份属性进行加密。
在步骤S11处,断言模型管理器131可以向依赖实体161传输一组身份属性。连同身份属性,断言模型管理器可以传输消息摘要、包标识符和/或额外数据。身份属性和相关联的数据可以传递到来自依赖实体161的原始请求中所提供的URI。
在步骤S12处,依赖实体161可以使用接收到的身份属性执行动作。作为实例,依赖实体161可以使用身份属性自动填充与目标实体111相关的表单,或向目标实体111传输属性。如果身份属性是以加密形式接收到的,则依赖实体161可以首先(例如,使用依赖实体的公钥)对身份属性进行解密。
系统
现在参考图1B,示出了根据非限制性实施例的用于提供身份属性的示例系统110的示意图。系统110仅示出了被配置成执行本文描述的编程的部件的许多可能布置之一。其它布置可以包括更少或不同的部件,并且部件之间的工作划分可以根据布置而不同。
系统110可以包括DI提供商121、断言模型管理器131、依赖实体161、事件日志151、断言分类账141、目标实体111以及密钥保险箱(key locker)171。系统110的部件都可以通过通信网络与彼此进行操作性通信。
通信网络可以包括任何合适的通信介质。通信网络可以是以下各项中的一个和/或它们的组合:直接互连;互联网;局域网(LAN);城域网(MAN);将任务作为互联网上的节点进行操作(OMNI);安全的自定义连接;广域网(WAN);无线网络(例如,采用例如但不限于无线应用协议(WAP)、I-模式等协议)等。图1B所示的实体、提供商、网络与装置之间的消息可以使用安全通信协议来传输,所述安全通信协议例如但不限于文件传输协议(FTP);超文本传输协议(HTTP);安全超文本传输协议(HTTPS)、安全套接层(SSL)、国际标准化组织(ISO,例如,ISO 8583)等。
目标实体111可以是向其提供一个或多个身份属性和/或断言的实体(即,身份属性和/或断言与目标实体111有关)。目标实体111可以包括用户111A。术语“目标实体”可以指个人(例如,客户、消费者等)、企业或其它法律组织、政府机构等。
在一些非限制性实施例中,可以向目标实体111分配标识符(“目标实体的标识符”)。目标实体的标识符可以包括与目标实体111的数字签名和/或密码密钥相关联的数据。替代地或另外,目标实体的标识符可以包括ID号码、QR码等。
DI提供商121可以管理与目标实体111相关联的一个或多个数字身份(DI)。如上所述,DI可以包括与关于可以与另一实体共享的实体的一组信息相关联的数据。DI提供商可以是发行方、收单方、交易服务提供商、政府机构等。DI提供商121被配置成创建并存储DI。DI提供商可以提供关于目标实体的信息。
DI提供商121可以从另一个来源检取数据。这种主要信息来源在本文中被称为参考。一般来说,参考是可靠的信息来源。参考可以是已验证的文件(例如,出生证明、驾照、密码、信用卡等)。替代地或另外,参考可以是可以提供可靠信息的实体,例如政府机构、银行、个人等。
可以向DI提供商121分配标识符(“DI提供商的标识符”)。DI提供商121的标识符可以包括与DI提供商121的数字签名和/或密码密钥相关联的数据。
依赖实体161可以是可以接收关于目标实体111的信息的实体。依赖实体161可以是请求关于目标实体111的信息(例如,身份属性和/或断言)的任何实体。例如,依赖实体161可以是请求关于发起支付交易的目标实体111的信息的商家。另外或替代地,依赖实体161可以是在非支付交互(例如,授予目标实体111访问安全区域或活动地点)方面请求关于目标实体111的信息的实体(例如,政府机构或企业组织)。依赖实体161可以被配置成通过向断言模型管理器131发送请求来获取与目标实体111相关联的身份属性。
在一些非限制性实施例中,可以向依赖实体161分配标识符(“依赖实体的标识符”)。依赖实体的标识符可以包括与依赖实体161的数字签名和/或密码密钥相关联的数据。
依赖实体161可以与一个或多个客户端计算机相关联,其中的每一个可以包括耦合到处理器的非瞬态计算机可读介质。这些部件可以基本上类似于或不同于下文关于图1C描述的那些部件。
现在参考图1C,断言模型管理器131可以包括被配置成基于断言模型131A生成包的硬件和/或软件。断言模型管理器131可以包括可操作地耦合到网络接口131C、存储器131E和计算机可读介质131F的处理器131D。断言模型管理器131可以进一步包括断言模型数据库131K。
断言模型数据库131K可以是用于存储数据的存储单元和/或装置(例如,文件系统、数据库、表的集合或其它存储机制)。断言模型数据库131K可以包括多个不同的存储单元和/或装置。断言模型数据库131K可以存储断言模型131A、断言类型131B以及身份属性类型131L。
在一些实施例中,断言类型131B可以对应于通用断言,例如,实体是否与银行有一年或更长时间的关系。断言类型131B可以对应于断言值,其可以是正确/错误、是/否、和/或肯定陈述。作为实例,断言类型可以对应于目标实体是否为美国公民。对应的断言值为“是”。
当提供对应于断言类型131B和特定目标实体的答案,例如“是,Joe Smith是美国公民”时,这可以被称为“断言值”。断言值可以与补充数据组合和/或格式化,以生成“断言对象”。
断言类型131B可以对应于身份属性类型131L。身份属性类型131L可以是由DI提供商121存储的数据类型。身份属性类型的实例包括姓名、出生日期和工作地点。断言类型131B可以映射到一种或多种身份属性类型131L。作为实例,断言类型131B“是否为美国公民”对应于身份属性类型131L“公民”。对于给定目标实体111,身份属性类型131L又可以对应于特定身份属性。例如,Joe Taylor的身份属性类型131L公民对应于身份属性“加拿大”。基于已标识的身份属性类型131L,断言模型管理器可以定位对应的身份属性数据(例如,来自图1B所示的DI提供商121)。
断言模型131A可以指定一种或多种断言类型131B和/或身份属性类型131L。例如,特定的断言模型131A可以包括三种断言类型131B-目标实体111是否为Widget公司的员工,目标实体111是否有有效的安全许可,以及目标实体111是否为美国公民。断言模型131A可以映射到与断言类型131B相关联的一种或多种身份属性类型131L。例如,特定的断言模型131A可以包括两种断言类型:(1)目标实体是否为德克萨斯州居民(断言类型)和(2)目标实体是否至少18岁(断言类型)。这些断言可以与由DI提供商121存储的对应身份属性类型131L相关联:(1)目标实体的居住地址和(2)目标实体的出生日期。替代地或另外,断言模型131A可以指定一组身份属性类型131L,而不指定断言类型131B。
断言模型131A可以指定额外信息。断言模型131A可以指定断言模型的名称。断言模型131A可以指定上下文(例如,社交媒体或网上银行)。断言模型131A可以指定认证方法(例如,基于依赖实体类型确定的适当认证方法,其可包括凭证)。断言模型131A可进一步指定对断言、断言模型的名称/标识符以及当前版本号和/或最后一次更新断言模型的日期进行组合或评级的方法。
断言模型131A可以针对一种或多种依赖实体或域类型而定制(例如,可以存在电子商务的断言模型、政府实体的断言模型、酒吧的断言模型、租车公司的断言模式等)。作为实例,依赖实体类型“酒类专卖店”的断言模型,可以包括两种断言类型131B:(1)目标实体是否为21岁或以上,以及(2)目标实体是否能够在支付账户中拿取至少5美元。替代地或另外,断言模型可以针对特定的依赖实体(例如,特定商店、特定餐馆等)进行定制。作为实例,Joe's Liquor的断言模型131A可以包括两种断言类型131B:(1)目标实体是否为21岁或以上,(2)目标实体的支付账户中是否有至少50美元。另外或替代地,断言模型可以根据目标实体111和/或DI提供商121变化。
断言模型131A可进一步与基础身份属性关联。继续Joe's Liquor的上述实例,Joe可能会怀疑客户(即目标实体),并希望获得客户的实际年龄和支付信息。Joe's Liquor的断言模型131A可以与数据访问令牌相关联地存储,所述数据访问令牌可用于从客户的银行检取客户的出生日期和支付信息。
在一些实施例中,每个断言模型131A可以映射到多个依赖实体161和/或依赖实体类型。例如,断言模型管理器131可以将此类映射存储到断言模型数据库131K。
在一些实施例中,断言模型管理器可以生成断言模型131A。例如,断言模型管理器可以生成对应于试图将资金存入账户中的依赖实体的一个或多个断言模型。例如,可以基于指定此类实体所请求的信息的历史数据(例如,账户持有人的姓名、账户是否可接受存款等)生成断言模型。替代地或另外,断言模型管理器可以从系统中的其它实体(例如,依赖实体161、目标实体111和/或DI提供商121)或与这些实体合作地获得断言模型。作为实例,目标实体,即个人,可以向应用程序编程接口(API)提交由断言模型管理器131暴露的信息,所述信息指定个人只希望允许酒类专卖店获得个人是否至少21岁的断言。
网络接口131C可以被配置成连接到一个或多个通信网络,以允许断言模型管理器131与例如DI提供商121、依赖实体161、目标实体111等其它实体通信。例如,与断言模型管理器131的通信可以是直接、间接和/或通过API进行的。
处理器131D可以实现为一个或多个集成电路(例如,一个或多个单核或多核微处理器和/或微控制器)。处理器131D可以用来控制断言模型管理器131的操作。处理器131D可以响应于存储在存储器131E中的程序代码或计算机可读代码来执行各种程序。处理器131D可以包括维护多个同时执行的程序或过程的功能性。
存储器131E可以使用任何数量的非易失性存储器(例如,闪存存储器)和易失性存储器(例如,DRAM、SRAM)的任何组合或任何其它非瞬态存储介质或介质的组合来实现。
计算机可读介质131F可包括用于存储和/或传输的一个或多个非瞬态介质。作为实例,合适的介质包括随机存取存储器(RAM)、只读存储器(ROM)、例如硬盘驱动器或软盘的磁性介质,或例如光盘(CD)或DVD(数字通用磁盘)、闪存存储器的光学介质,等等。计算机可读介质131F可以是这些存储或传输装置的任何组合。
计算机可读介质131F可以包括作为一系列指令或命令存储的软件代码。计算机可读介质131F可以包括断言生成模块131G、断言评估模块131H、打包模块131I和传输模块131J。
在一些实施例中,断言生成模块131G包括被配置成生成断言的软件和/或硬件。断言生成模块131G可以结合处理器131D使用断言模型131A和/或由依赖实体161指定的信息,以标识对应于特定断言类型131B的一种或多种身份属性类型131L。例如,断言模型管理器131结合处理器131D生成目标实体111是否与特定DI提供商121具有两年或更长的银行往来关系的断言。断言生成模块131G可以结合处理器131D例如使用查找表或映射来确定断言对应于身份属性数据“账户状态”和“开第一个账户的日期”。断言生成模块131G可以包括被配置成从DI提供商检取对应身份属性数据的代码。断言生成模块131G可以包括被配置成基于检取到的身份属性数据计算断言值的代码。
断言评估模块131H包括被配置成评估断言的软件和/或硬件。断言评估模块131H可以结合处理器131D计算断言的强度分数。作为实例,断言评估模块131H可以结合处理器131D,基于对基础身份属性数据、基础属性数据的参考来源(例如,驾照或来自个人的声明)和/或与基础属性数据相关联的DI提供商121的最新更新来计算断言的强度分数。例如,仅基于已验证的电子邮件地址生成社交媒体断言。因此,向社交媒体断言分配相对“弱”的分数。DI提供商121可以使用利用状态文件确认的身份属性数据来生成断言,所述状态文件例如驾照、地址证明、针对数个不同数据库的数据检查(例如,信用历史),以及查看目标实体以验证个人是否与所呈现的驾照照片匹配的银行职员。因此,来自作为银行的DI提供商121的断言可以产生相对“强”的分数,所述分数指示断言置信度,依据根身份属性数据、所执行的检验和/或DI提供商121的置信度而导出。
断言评估模块131H可以结合处理器131D标识评估一个或多个断言的筛选标准。筛选标准可以包括一个或多个断言的最小可接受强度分数。例如,断言模型管理器131可以结合处理器131D从依赖实体161接收对包括标准“仅使用强度分数大于80%的数据”的断言包的请求。替代地或另外,断言评估模块131H可以结合处理器131D确定评估一个或多个断言的适当筛选标准。例如,断言模型管理器可以结合处理器131D维护对应于各种类型的依赖实体161、DI提供商121和/或目标实体111的最小可接受强度评分(例如,越界(bordercrossing)需要95%置信度;建立社交媒体账户需要30%置信度等)的表。
在一些实施例中,打包模块131I包括被配置成生成包的软件和/或硬件。生成的包可以是断言包。替代地或另外,包可以对应于可以从一个或多个DI提供商获得的一组身份属性类型。
包可以对应于有目的地(例如,针对特定依赖实体161或依赖实体类型)分组在一起的多个断言和/或身份属性。包可以进一步包括支持数据,例如包的强度分数和/或包中的基础断言的强度分数。打包模块131I可以结合处理器131D通过收集必要的基础断言和/或身份属性来生成包。打包模块131I可以结合处理器131D将断言和/或身份属性转换成适当的格式。打包模块131I可以进一步包括被配置成对包和/或基础断言进行加密和/或数字签名的代码。打包模块可以包括被配置成与包相关联地获得和存储一个或多个数据访问令牌以用于从一个或多个DI提供商检取身份属性的代码。
在一些实施例中,传输模块131J可以结合处理器131D基于包将信息传输到依赖实体161。传输模块131J可以包括用于发送和/或接收数据的一个或多个API。
在一些实施例中,传输模块131J可以(例如,通过消息)直接将一组身份属性和/或断言包传输到依赖实体161。替代地或另外,传输模块131J可以结合处理器131D将对应于包的数据写入到断言分类账141和/或事件日志151。
在一些实施例中,计算机可读介质131F包括代码,所述代码可由处理器131D执行以实施方法,所述方法包括:由服务器计算机从依赖实体接收对与目标实体相关联的身份属性的请求,其中对身份属性的所述请求包括与所述目标实体相关联的会话标识符和所述依赖实体的标识符;由所述服务器计算机基于所述会话标识符验证所述请求;由所述服务器计算机基于所述依赖实体的所述标识符标识定义所述依赖实体的身份属性类型的包和与所述包相关联的数据访问令牌;基于验证所述会话标识符,由所述服务器计算机向数字身份提供商传输对与所述包相对应的一组身份属性的请求,所述请求包括所述数据访问令牌;以及由所述服务器计算机从所述数字身份提供商接收所述一组身份属性。
返回到图1B,在一些非限制性实施例中,断言模型管理器131可以包括断言分类账141、事件日志151和/或密钥保险箱171和/或与断言分类账141、事件日志151和/或密钥保险箱171通信。
断言分类账141可以是文件、文件集合或用于存储断言数据和/或身份属性数据的数据库。断言分类账141可以是分布式分类账。断言分类账可以例如实现为以太坊基金会(https://www.ethereum.org/)支持的以太坊区块链。作为另一实例,可以使用超级账本(Hyperledger),其是开源Linux基金会项目(https://www.hyperledger.org/)。替代地或另外,断言可以存储到中心数据库(例如,由断言模型管理器131维护)。
断言分类账141可以包括投票机制。例如,断言分类账141的参与者,即分布式分类账的参与者,可以为断言、包、授权实体和/或DI提供商投票。投票可以基于例如断言是否有用或有效。可以基于投票数选择断言以供未来使用或拒绝断言。所需投票数可以基于授权实体、DI提供商或断言的强度分数而变化(例如,强度分数越高,所需投票越少)。
事件日志151可以是文件、文件集合或用于存储事件数据的数据库。每个事件可以对应于对信息和/或信息传输的请求。例如,事件可以对应于将一组身份属性传输到依赖实体161的断言模型管理器131。对于特定事件,系统可以存储事件数据,例如参与的各方、事件类型、时间戳等。可以使用一组密码密钥对每个事件进行加密。例如,可以使用目标实体111的密码密钥、DI提供商121的密码密钥和/或依赖实体161的密码密钥对事件进行加密。可以进一步使用分配给其它实体(例如,一个或多个第三方服务商或技术提供商(例如,金融交易处理器和/或基于第三方令牌的API服务)的密码密钥对事件进行加密。
事件日志151可以用于访问针对例如争议解决、欺诈检测和/或用户行为分析等任务的事件元数据。通过限制访问一个或多个事件所需的密码密钥,事件结构有助于使与目标实体相关联的数据保密。例如,目标实体111持有的私钥可能需要访问事件数据,从而确保事件数据仅在获得目标实体111的明确许可后才可用。可以通过通用API结构定义事件数据的访问路径。可以建立访问路径,使得有限实体可以使用有限数量的数据访问事件。
断言分类账141和事件日志151可以各自存储在任何合适的计算机可读存储介质和/或计算机可读存储介质的任何合适组合中。例如,断言分类账141和/或事件日志151可以存储在数据库中。另外或替代地,断言分类账141和/或事件日志151可以被维护并存储在分布式分类账中,所述分布式分类账包括但不限于区块链等。出于图示而非限制的目的,参考图1A,断言分类账141描绘为分布式分类账,并且事件日志151描绘为数据库。
密钥保险箱171可以是文件、文件集合或用于存储密码密钥的数据库。密钥保险箱171可以是基于云的。密钥保险箱171可以存储分配给各个实体的密码密钥(例如,分配给目标实体111、DI提供商121、依赖实体161等的密码密钥)。密钥保险箱171可以基于目标实体111组织密钥,使得与目标实体111相关联地参与事件的各方的密钥存储在基于所述目标实体111的结构中。此密钥集可以使用目标实体111的密钥进行加密,使得由目标实体111持有的私钥需要释放所述密钥集。替代地或另外,也可以为每个关系分配成对密钥集。作为实例,可以为目标实体111和依赖实体161分配成对密钥集。
在一些实施例中,密钥中的一个或多个可以基于Base58模型进行编码。Base58是一种使用五十八个易分辨的字母数字符号和任意大小负载的二进制到文本编码。另外,一个或多个密钥可以用钱包导入格式(WIF)进行编码。WIF是一种对密钥进行编码的方法,其有助于复制密钥并允许压缩。一些密钥可以也可以不基于适当的安全级别进行编码和/或加密。
方法
描述了用于将一组身份属性安全地提供给依赖实体的方法。可以基于依赖实体请求身份属性从多组潜在的身份属性中选择一组身份属性。可以使用数据访问令牌和一个或多个哈希算法安全地提供身份属性。
提供至少一个身份属性的流程
现在参考图2A-2B,示出了根据非限制性实施例的用于提供至少一个身份属性200的方法的流程图。如关于图1C详细描述,从断言模型管理器131的视角可以最好地理解图2A-2B的流程图。
在步骤S202处,断言模型管理器可以从依赖实体接收对与目标实体相关联的身份属性的请求。断言模型管理器可以通过API推送和/或接收到的消息从依赖实体接收请求。请求可以包括依赖实体的标识符以及与目标实体相关联的会话标识符。请求可以进一步包括URI,其指示应在何处传递与实体相关联的所请求的身份属性。
在一些实施例中,接收到的请求可以包括额外参数。请求可包括目标实体的标识符。请求可以进一步指示目标实体的期望身份属性、将基于期望身份属性的对应断言和/或目标实体提供的权限,从而授权断言模型管理器获取身份属性并向依赖实体提供所述身份属性。替代地或另外,请求可以包括标识与依赖实体相关联的实体类型的实体类型数据。例如,实体类型数据可以包括商家类别代码(MCC)等。
在一些实施例中,断言模型管理器可以向依赖实体传达特征在于准许依赖实体请求的一组身份属性的信息。例如,依赖实体可以基于其实体类型而有权获得潜在身份属性的子集(例如,保险公司可以有权获得姓名、地址、汽车型号、汽车品牌和汽车年份)。特征在于准许依赖实体请求的身份属性包的此类通信也可以记录在事件日志中(例如,断言模型管理器可以更新事件日志)。
如果依赖实体请求未准许依赖实体接收的身份属性,则断言模型管理器可以避免检取身份属性。例如,如果依赖实体为酒吧,则可以不准许依赖实体接收社会保障号码。在确定依赖实体已请求未准许的身份属性后,断言模型管理器可以避免执行操作S204-S222。替代地,断言模型管理器可以提供一组准许的身份属性,同时避免提供请求的任何未准许的身份属性。
在步骤S204处,断言模型管理器可以基于会话标识符对请求执行验证操作。断言模型管理器可以分析接收到的会话标识符,以确定会话标识符是否与目标实体相关联(例如,使用在请求中接收到的目标实体的标识符)。如果断言模型管理器确认会话标识符与请求身份属性的目标实体相关联,则断言模型管理器可以验证请求(步骤S204处的“是”)。如果断言模型管理器确定会话标识符与请求身份属性的目标实体不相关联,则断言模型管理器无法验证请求(步骤S204处的“否”)。
如果请求未通过验证,则断言模型管理器可以报告失败(步骤S208)。例如,断言模型管理器可以通过向依赖实体传输通知(例如,无效请求、请求被拒绝等)来报告失败。
在步骤S206处,断言模型管理器可以向目标实体请求权限,以向依赖实体提供身份属性。断言模型管理器可以例如通过电子邮件、文本消息、模态显示等向目标实体传输请求。替代地或另外,断言模型管理器可以例如通过请求目标实体用断言模型管理器登录预先配置的账户而向目标实体请求升级认证。
如果未授予权限,则断言模型管理器可以报告失败(步骤S208)。例如,断言模型管理器可以通过向依赖实体传输通知(例如,无效请求、请求被拒绝等)来报告失败。如果授予了权限,则断言模型管理器可以继续进行步骤S210。
在步骤S210处,断言模型管理器可以基于依赖实体的标识符标识定义依赖实体的身份属性类型的包。断言模型管理器可以基于依赖实体的接收到的标识符标识特定依赖实体的包。断言模型管理器可能已经存储各种预先配置的包,其中的至少一个可以与所述特定依赖实体相关联。如果多个包与依赖实体相关联,则断言模型管理器可以使用额外数据来选择适当的包。例如,与对身份属性的请求一起接收到的数据可以指定上下文是电子商务,并且断言模型管理器可以使用此上下文为依赖实体选择两个潜在包中的一个。
在步骤S212处,断言模型管理器可以标识与已标识的包相关联的一个或多个数据访问令牌。在一些实施例中,特定包可以映射到一个数据访问令牌,以用于从对应DI提供商检取与所述包相关联的身份属性。替代地,对应于包的不同身份属性可以映射到一个或多个不同的DI提供商。例如,房屋修缮贷款应用程序的包可以映射到三个不同的DI提供商,以检取三个不同的相应身份属性:提供与目标实体资产有关的账号的银行A,提供与目标实体抵押相关联的账号的银行B,以及为相关联的地块(parcel)提供房屋所有权信息的郡估税长(county assessor)。断言模型管理器可以(例如,基于与令牌相关联地存储的DI提供商ID,或者通过令牌内的信息)标识对应于数据访问令牌的适当的DI提供商。
在步骤S214处,断言模型管理器可以向DI提供商传输对一组身份属性的请求。请求可以包括数据访问令牌。例如,断言模型管理器可以将数据访问令牌发布到由DI提供商暴露的API和/或基于第三方令牌的API服务。
DI提供商可以利用数据访问令牌检取一个或多个身份属性。每个DI提供商可以提供与特定数据访问令牌相关联的一组身份属性的断言模型管理器。
在步骤S216处,断言模型管理器可以从DI提供商接收一组身份属性。身份属性可以通过DI提供商的API和/或一个或多个基于第三方的令牌API服务接收。如果包对应于多个数据访问令牌/DI提供商,则断言模型管理器可以根据包的规范组合各种接收到的身份属性。
在步骤S218处,断言模型管理器可以对一组身份属性进行哈希处理以生成消息摘要。替代地或另外,断言模式管理器可以对属性进行哈希处理,以生成如上文关于图1A所述的默克尔树。断言模型管理器可以例如利用目标实体的公钥对消息摘要和/或默克尔树/默克尔根进行加密。
在步骤S220处,断言模型管理器可以将消息摘要和/或默克尔树存储到事件日志。断言模型管理器可以创建与传输身份属性相对应的事件。在一些实施例中,消息摘要和/或默克尔树可以使用目标实体的密钥进行加密,使得只能在目标实体的命令下检取基础身份属性。消息摘要和/或默克尔树可以与有关信息相关联地存储,所述信息例如断言模型的标识符。
在步骤S222处,断言模型管理器可以将一组身份属性和消息摘要传输到依赖实体。断言模型管理器可以首先准备包含相关身份属性的消息(例如JSON消息)。消息可以进一步包括消息摘要和/或默克尔根。消息可以进一步包括额外数据,例如DI提供商的标识符、包标识符等。断言模型管理器可以通过API推送和/或作为消息向依赖实体传输身份属性和消息摘要(以及要包括的任何其它数据)。断言模型管理器可以将信息传输到接收到的请求中由接收实体指定的URI。
存储断言值和数据访问令牌
现在参考图3,示出了根据非限制性实施例的用于与数据访问令牌相关联地存储断言值的方法300的流程图。如关于图1C详细描述,从断言模型管理器131的视角可以最好地理解图3。
在步骤S302处,断言模型管理器可以接收或检取断言模型。例如,断言模型管理器可以从断言模型数据库检取与断言模型相关联的数据。另外或替代地,断言模型管理器可以通过网络从外部数据存储装置检取与断言模型相关联的数据,包括但不限于数据库、分布式分类账、区块链等。
在步骤S302之后,断言模型管理器可以标识对应于断言模型的一组断言类型。例如,断言模型管理器可以确定断言模型包括三种断言类型:目标实体是否至少18岁、目标实体是否有有效的驾照,以及目标实体是否有有效的支付工具。断言模型管理器可以通过分析断言模型来标识断言类型。
在步骤S304处,断言模型管理器可以确定对应于断言类型的身份属性类型。断言模型管理器可以使用断言模型来确定对应于断言模型的每种断言类型的身份属性类型。断言模型的每种断言类型可以映射到一种或多种相应的身份属性类型。例如,断言模型中的一种断言类型是目标实体的年龄是否足以在依赖实体所在的国家租车。此断言类型映射到可从DI提供商获得的两种身份属性类型:目标实体的出生日期以及依赖实体的位置。
在步骤S306处,断言模型管理器可以确定对应于身份属性类型的身份属性数据的一个或多个来源(例如,DI提供商,和/或可从中获得身份属性数据的参考)。例如,断言模型可以包括其中包含的断言类型的一系列有效信息来源。作为另一实例,断言模型管理器可以维护和存储与一个或多个断言模型相关联的一系列有效来源。
作为非限制性实例,断言类型是目标实体的年龄是否足以租车。感兴趣的身份属性类型是目标实体的出生日期。出生日期信息的一系列有效来源可以包括政府文件(例如,驾照、出生证明、护照等)、政府数据库、(例如,发行方、交易服务提供商等的)企业组织记录等。
另外或替代地,断言模型管理器可以标识用于验证身份属性类型的验证方法。作为实例,验证方法可以包括由DI提供商检查文档、由企业组织(例如,第三方服务)验证和/或由政府机构验证。例如,断言模型管理器可以标识与相应的身份属性类型相关联地存储的验证。
在步骤S308处,断言模型管理器可以获得身份属性数据。断言模型管理器可以与DI提供商通信,以获得与对应于断言模型中的身份属性类型的目标实体相关联的身份属性数据。断言模型管理器可以例如通过暴露给DI提供商的API接收身份属性数据。断言模型管理器可以进一步从一个或多个DI提供商检取关于从中获得数据的参考的信息。
作为非限制性实例,断言模型管理器正在生成断言:目标实体的年龄是否已经足以租车。感兴趣的身份属性类型是目标实体的出生日期。与出生日期相关联的身份属性数据可以是目标实体的出生日期的数值表示、指示实体是否高于特定年龄阈值(例如,租车的最小年龄)或处于某一年龄类别(例如,18岁以下、18岁与25岁之间、超过25岁等)的位或位串。此外,身份属性数据可以包括出生日期数据的来源(例如,由DI提供商对驾照进行的目测)。
在步骤S310处,断言模型管理器可以计算断言值。例如,断言模型管理器可以使用与断言模型相关联地存储的方程式或算法基于身份属性数据来计算断言值。
继续上述实例,断言类型是目标实体的年龄是否足以租车。感兴趣的身份属性类型是目标实体的出生日期。指定目标实体的年龄是否足以租车的断言值可以基于由DI提供商使用以下算法提供的出生日期信息来计算:
{“OfAgeToRentAutoInUSA”::=“Yes”iff“Current date”-“Verified date ofbirth”≥25years else“No”}
其中“OfagetorentAutoinUSA”是指定目标实体的年龄是否足以在美国租车的断言值,“是”是在目标实体的年龄足够大的情况下的值,“否”是在目标实体的年龄不够大的情况下的值,“当前日期”是进行计算的日期,并且“已验证的出生日期”是在验证所述数据的来源之后由DI提供商提供的目标实体出生日期。
在步骤S312处,断言模型管理器可以计算与断言值相关联的强度分数。断言的强度分数可以直接映射到从中获得断言或基础身份属性数据的DI提供商的强度分数。替代地或另外,强度分数可以基于其它标准。例如,相比于与高度相关联的断言,与收入相关的断言可能需要更多的支持数据,以接收可比强度分数。
作为非限制性实例,强度分数可基于如下的DI提供商验证过程来计算:
强度分数(DI提供商)=Sref+Sver+Slink/2
Sref是所使用的参考的强度分数(例如,可以各自向驾照、公共设施账单、护照等给出分数)。Sver是基于DI提供商如何验证参考的分数(例如,如果DI提供商使用第二参考确认第一参考,则分数可能会增加)。Slink是基于DI提供商如何将参考链接到实体的分数(例如,如果DI提供商目测个体以确认她是照片ID中描绘的个人,则链接分数可以递增)。结果,即DI提供商的强度分数,可以附到由DI提供商进行的每个断言。作为另一非限制性实例,可以基于例如NIST模型的模型计算强度分数。NIST模型在NIST特殊公开案800-63A,数字身份指南:注册和身份证明要求(Digital Identity Guidelines:Enrollment and IdentityProofing Requirements),美国商务部(2017年11月15日更新),可用于https://doi.org/10.6028/NIST.SP.800-63a中描述,所述公开案的全文并入本文中。
在步骤S314处,断言模型管理器可以创建断言对象。每个断言对象可以包括断言值和/或额外数据。例如,断言对象可以包括断言值、断言的名称、断言的强度分数、断言的到期日期等。
创建断言对象可以包括计算并包括断言的到期日期。例如,断言可以在经过特定时间量之后,在信息来源(例如,驾照)到期时到期(例如,应每半年重新计算一次断言)。如果断言不会到期,则可省略到期日期,或者到期数据可以具有空值、“无”值、0值等。
在一些实施例中,断言模型管理器可以将生成的断言和/或断言对象存储到临时断言包。断言和/或断言对象可以暂时存储到临时断言包,直到完成对应于断言模型的整个断言包。
在步骤S316处,断言模型管理器可以确定尚未创建断言的断言模型中是否存在其余断言类型。如果尚未创建断言的断言模型中存在至少一种其余断言类型,则可以选择下一种断言类型,并且可以重复过程(即,重复步骤S304-S316,直到已创建对应于断言模型中的每个断言类型和/或断言对象的断言和/或断言对象)。
在步骤S318处,断言模型管理器可以生成和存储断言包。在重复步骤S304-S316一次或多次之后,断言模型管理器可以将断言组合成断言包。断言模型管理器可以将断言组合成数据包。断言模型管理器可以生成额外数据并将所述额外数据添加到数据包以形成断言包(例如,断言模型名称、断言分数等)。
断言模型管理器可以将断言包存储到断言分类账。断言模型管理器可以在对应于目标实体的数据索引下群集断言数据。索引可以使用分配给目标实体的公钥来加密。分配给目标实体的私钥可能需要访问与目标实体相关联的任何断言数据。可以定期刷新或更新数据。例如,可以用对断言的每个请求验证/更新断言。作为另一实例,可以每五天验证/更新断言。
在步骤S320处,断言模型管理器可以与断言包相关联地获得和存储一个或多个数据访问令牌。断言模型管理器可以通过与DI提供商相关联的API请求数据访问令牌,以用于检取基础身份属性,这些属性是断言包中的断言的基础。在一些实施例中,断言模型管理器可以获得一个数据访问令牌,以用于检取对应于断言包的所有身份属性。例如,断言包A包括基于从DI提供商A检取的三个对应身份属性生成的三个断言。DI提供商A可以向断言模型管理器发行数据访问令牌,以检取这三个身份属性。
替代地或另外,对于给定的断言包,断言模型管理器可以获得对应于一个或多个DI提供商的数个令牌。例如,断言包B包括两个断言-第一断言是“Mary Jones超过21岁”,并且第二断言是“Mary Jones有有效的支付账户”。第一断言是基于从机动车辆管理局(DMV)获得的信息生成的,并且第二断言是基于从银行获得的信息生成的。第一断言与数据令牌相关地存储,以从俄勒冈州DMV检取Mary出生日期。第二断言与第二数据令牌相关地存储,以从银行检取Mary的银行账户详情(例如,银行账号)。
在一些实施例中,断言模型管理器可以通过向DI提供商或代表DI提供商发行令牌的服务提供商提交请求来获得数据访问令牌。例如,可以通过将请求发布到API或通过使用界面配置令牌请求来执行此操作。断言模型管理器可以在令牌请求中包括信息,例如要使用令牌检取的身份属性、目标实体的标识符、断言模型管理器的标识符等。DI提供商或服务提供商可以将包括数据访问令牌的响应传输到断言模型管理器。
在一些实施例中,每个数据访问令牌可以指示以下中的一项或多项:对应的断言、提供断言的特定DI提供商、用于生成这些断言的特定DI提供商所拥有的身份属性和/或这些身份属性的位置。数据访问令牌也可以索引到目标实体(例如,基于目标实体的标识符)。断言模型管理器可以将数据访问令牌与断言包相关联地存储到断言分类账。在一些实施例中,断言模型管理器可以进一步与数据访问令牌和/或断言包相关联地存储DI提供商标识符。
在步骤S322中,断言模型管理器可以更新事件日志。断言模型管理器可以在事件日志中生成与生成断言包相关联的事件。断言模型管理器可以存储与事件日志中的事件相关联的额外数据,例如事件类型、事件值等。断言模型管理器可以使用分配给多个实体的多个公钥对每个事件进行加密。例如,所述事件可以与目标实体、请求实体、两个DI提供商和两个处理器相关联。可以向这些实体中的每一个分配用于对事件进行加密的公钥。
优势;扩展
本公开的教示具有许多优势。针对不同类型的依赖实体自定义的断言模型可用于为指定目标实体生成包。包可以与身份属性关联,这些属性可以用安全的方式用于不同类型的依赖实体。因此,只有适当的依赖实体才能够检取适当的对应身份属性。这些包可以在初始时间生成。通过使用现有的定制包,可以快速授权依赖实体获得信息。在一些情况下,无需重新计算同一类型的多个依赖实体的给定包。因此,节约了计算时间和资源,同时确保了高度隐私性和安全性。
本公开的教示具有许多额外优势。断言模型管理器可以避免存储身份属性。相反,断言模型管理器可以存储对应于身份属性的包以及一个或多个数据访问令牌,以检取与给定包相关联的身份属性。相应地,与可以存储个人可标识信息的先前系统相比,隐私和安全性得到了提高。此外,断言模型管理器可以创建和存储经过哈希处理的消息摘要和/或默克尔树,所述默克尔树可以用来确定属性是否已被更改,同时仍使基础信息保持隐藏。
此外,包可以作为分布式分类账的条目存储。使用分布式分类账方法提供了众多优势。数据是可证明的,因为条目可以通过密码归于特定实体。数据不可否认,因为条目无法稍后更改或删除。数据是顺序的,因为每个条目的顺序在每隔一个条目之前或之后是可证明的。数据是普遍存在的,并且可从任何合理的载体获得。即使大量分布式节点失败或受攻击,数据也可以存活。数据高度可用,吞吐量高。数据可受参与的实体信任。
本公开的教示为正在请求信息的目标实体提供了若干优势。目标实体可以通过自定义哪些信息可以显示给哪些依赖实体来控制隐私。此外,各种依赖实体所需的各种不同类型的信息都会流入单个信道。目标实体可以提供批准,并且基于依赖实体的类型,可以提取适当的信息,而不必需要来自目标实体的进一步输入。
本公开的教示为请求信息的依赖实体提供若干优势。首先,通过向目标实体(例如,依赖实体的客户、依赖实体的员工等)提供上述优势,依赖实体为目标实体提供更好的体验。对于商家方面,增加客户体验可能会增加销量。此外,本公开的教示可以通过使用先进的密码技术通过多个渠道验证数据来更好地防止欺诈。此外,依赖实体可以提供用于检取各种相关身份属性的简单请求,而无需在请求中指定每个身份属性。
应理解,可以使用硬件(例如,专用集成电路或现场可编程门阵列)和/或使用具有一般可编程处理器的计算机软件,以模块化或集成方式以控制逻辑的形式实现任何实施例。如本文中所使用,处理器包括单核处理器、在同一集成芯片上的多核处理器,或在单个电路板上或网络化的多个处理单元。基于本文提供的公开内容和教示,本领域普通技术人员将知道并理解使用硬件以及硬件和软件的组合来实现本公开内容的实施例的其它方式和/或方法。
本申请中描述的任何软件部件或功能可以实现为要使用例如Java、C、C++、C#、Objective-C、Swift的任何合适计算机语言或例如Perl或Python的脚本语言,使用例如面向对象的技术由处理器执行的软件代码。软件代码可以作为一系列指令或命令存储于计算机可读介质上供存储和/或传输,适合的介质包括随机存取存储器(RAM)、只读存储器(ROM)、例如硬盘驱动器或软盘的磁性介质,或例如光盘(CD)或DVD(数字通用光盘)的光学介质、闪存存储器等。计算机可读介质可以是这些存储或传输装置的任何组合。
此类程序还可以使用适应于经由包括互联网的符合多种协议的有线、光学和/或无线网络进行传输的载波信号来编码和传输。因此,可以使用利用这种程序编码的数据信号来创建根据实施例的计算机可读介质。以程序代码编码的计算机可读介质可与兼容装置一起封装或与其它装置分开提供(例如,通过因特网下载)。任何此类计算机可读介质可以驻存在单个计算机产品(例如,硬盘驱动器、CD或整个计算机系统)上或内部,并且可以存在于系统或网络内的不同计算机产品上或内部。计算机系统可以包括用于将本文中所提及的任何结果提供给用户的监视器、打印机或其它合适的显示器。
以上描述是说明性的且不是限制性的。本领域技术人员在阅读本公开后,会了解实施例的许多变化形式。因此,实施例的范围不应参考以上描述来确定,而是应参考待决的权利要求以及其完整范围或等效物来确定。
尽管已经基于当前被认为是最实际和优选的实施例出于说明的目的详细描述了实施例,但是应理解,这种细节仅是出于所述目的,并且本公开不限于所公开的实施例,而是相反地,意在涵盖所附权利要求的精神和范围内的修改和等同布置。例如,应理解,本公开预期,尽可能地,任何实施例的一个或多个特征可以与任何其它实施例的一个或多个特征组合。
在不脱离本公开的教示的情况下,来自任何实施例的一个或多个特征可以与任何其它实施例的一个或多个特征组合。
如本文中所使用,除非明确指示有相反的意思,否则使用“一个”或“所述”旨在指示“至少一个”。
Claims (21)
1.一种用于数据传输的方法,所述方法包括:
由服务器计算机从与依赖实体相关联的依赖实体计算机接收对与目标实体相关联的身份属性的请求,其中对身份属性的所述请求包括与所述目标实体相关联并且是由所述依赖实体生成的与和所述目标实体的通信会话相关联的会话标识符和所述依赖实体的标识符,其中所述会话标识符是从所述目标实体的标识符和所述依赖实体的标识符导出的;
由所述服务器计算机通过将所述会话标识符与所述目标实体的标识符进行比较以确认所述会话涉及所述目标实体,来验证所述请求,其中,如果所述服务器计算机无法验证所述会话标识符,则所述服务器计算机避免继续检取身份属性;
由所述服务器计算机基于所述依赖实体的所述标识符标识定义所述依赖实体的身份属性类型的包和与所述包相关联的数据访问令牌;
基于验证所述请求,由所述服务器计算机向数字身份提供商计算机传输对与所述包相对应的一组身份属性的请求,所述请求包括所述数据访问令牌;以及
由所述服务器计算机从所述数字身份提供商计算机接收所述一组身份属性。
2.根据权利要求1所述的方法,还包括由所述服务器计算机向所述依赖实体计算机传输所述一组身份属性。
3.根据权利要求2所述的方法,还包括在事件日志中生成事件,所述事件与所述一组身份属性的所述传输相关联。
4. 根据权利要求2所述的方法,其中:
对所述身份属性的接收到的请求还包括标识传输所述身份属性的位置的统一资源标识符URI;并且
向所述依赖实体计算机传输所述身份属性包括向所述URI传输所述一组身份属性。
5. 根据权利要求1所述的方法,还包括:
由所述服务器计算机通过哈希函数和所述一组身份属性计算消息摘要;以及
由所述服务器计算机向所述依赖实体计算机传输所述一组身份属性和所述消息摘要。
6.根据权利要求5所述的方法,还包括至少通过以下操作生成多个哈希值:
对所述一组身份属性中的第一身份属性进行哈希处理,以生成第一哈希值;
对所述一组身份属性中的第二身份属性进行哈希处理,以生成第二哈希值;以及
通过对所述第一哈希值和所述第二哈希值进行哈希处理来生成第三哈希值。
7.根据权利要求6所述的方法,还包括由所述服务器计算机将所述多个哈希值存储到事件日志。
8. 根据权利要求1所述的方法,其中:
已标识的包包括与所述目标实体相关联的断言包;并且
所述断言包包括关于所述目标实体的一组断言,其中所述一组身份属性是所述一组断言的基础。
9.根据权利要求8所述的方法,其中所述断言包指定对应于所述一组断言的一组断言类型,并且所述方法还包括在从所述依赖实体接收所述请求之前:
针对所述一组断言类型中的每个断言类型,通过以下操作生成所述一组断言:
确定对应于所述断言类型的身份属性类型;
获得所述一组身份属性中对应于确定的身份属性类型的身份属性;
基于获得的身份属性计算对应于所述断言类型的断言值;以及
存储所述断言值。
10.根据权利要求9所述的方法,其中多个断言值作为所述断言包与所述数据访问令牌相关联地存储,以检取对应身份属性。
11.根据权利要求9所述的方法,其中所述服务器计算机避免存储对应身份属性。
12.根据权利要求1所述的方法,还包括向所述目标实体请求访问所述身份属性的权限。
13.根据权利要求12所述的方法,还包括在接收对与目标实体相关联的身份属性的所述请求之前:
由所述服务器计算机从所述依赖实体计算机接收对与所述目标实体相关联的断言的请求,其中对断言的所述请求包括所述依赖实体的所述标识符和所述目标实体的标识符;
由所述服务器计算机基于所述依赖实体的所述标识符标识定义所述依赖实体的身份属性类型的所述包,所述包进一步定义所述依赖实体的断言类型;
基于由所述包定义的所述断言类型,确定与所述目标实体相关联的一组断言值;
基于所述目标实体的所述一组断言值,生成与所述目标实体相关联的断言包;以及
向所述依赖实体计算机传输与所述目标实体相关联的所述断言包。
14. 一种包括服务器计算机的系统,包括:
处理器;以及
包括代码的非瞬态计算机可读介质,所述代码能由所述处理器执行,以实现根据权利要求1至13中任一项所述的方法。
15.一种用于数据传输的方法,所述方法包括:
由依赖实体的客户端计算机生成对与目标实体相关联的多个身份属性的请求,其中对身份属性的所述请求包括与所述目标实体相关联并且是由所述依赖实体生成的与和所述目标实体的通信会话相关联的会话标识符和所述依赖实体的标识符,其中所述会话标识符是从所述目标实体的标识符和所述依赖实体的标识符导出的;
由所述客户端计算机向服务器计算机传输所述请求;
由此使所述服务器计算机:
通过将所述会话标识符与所述目标实体的标识符进行比较以确认所述会话涉及所述目标实体,来验证所述请求,其中,如果所述服务器计算机无法验证所述会话标识符,则所述服务器计算机避免继续检取身份属性;
基于所述依赖实体的所述标识符标识定义所述依赖实体的身份属性类型的包和与所述包相关联的数据访问令牌,
向数字身份提供商传输对与所述包相对应的一组身份属性的请求,所述请求包括所述数据访问令牌,
从所述数字身份提供商接收所述一组身份属性,并且
向所述依赖实体的所述客户端计算机传输所述一组身份属性;以及
由所述依赖实体的所述客户端计算机接收所述一组身份属性。
16. 根据权利要求15所述的方法,其中:
对所述身份属性的所述请求还包括标识传输所述一组身份属性的位置的统一资源标识符URI;并且
所述依赖实体的所述客户端计算机通过所述URI接收所述身份属性。
17.根据权利要求15所述的方法,进一步包括:
由所述客户端计算机建立与所述目标实体的通信会话;
由所述客户端计算机生成所述通信会话的所述会话标识符;
在所述通信会话期间,由所述客户端计算机向所述目标实体传输对检取所述身份属性的权限的请求;以及
在所述通信会话期间,由所述客户端计算机从所述目标实体接收检取所述身份属性的权限。
18.根据权利要求15所述的方法,还包括:
由所述客户端计算机接收消息摘要以及所述一组身份属性,
其中所述消息摘要是由所述服务器计算机通过哈希函数和所述一组身份属性计算的。
19.根据权利要求15所述的方法,还包括使用所述会话标识符和所述一组身份属性来完成任务。
20.根据权利要求15所述的方法,其中所述服务器计算机基于所述依赖实体的所述标识符确定断言模型,并且基于所述断言模型确定与所述依赖实体相关联的所述一组身份属性。
21. 一种包括客户端计算机的系统,包括:
处理器;以及
包括代码的非瞬态计算机可读介质,所述代码能由所述处理器执行,以实现根据权利要求15至20中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862719502P | 2018-08-17 | 2018-08-17 | |
US62/719,502 | 2018-08-17 | ||
PCT/US2019/030595 WO2020036660A1 (en) | 2018-08-17 | 2019-05-03 | Secure data transfer system and method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112567716A CN112567716A (zh) | 2021-03-26 |
CN112567716B true CN112567716B (zh) | 2024-05-03 |
Family
ID=69525736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980053969.6A Active CN112567716B (zh) | 2018-08-17 | 2019-05-03 | 安全数据传输系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11621844B2 (zh) |
EP (1) | EP3837828B1 (zh) |
CN (1) | CN112567716B (zh) |
SG (1) | SG11202101525PA (zh) |
WO (1) | WO2020036660A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG11202101525PA (en) * | 2018-08-17 | 2021-03-30 | Visa Int Service Ass | Secure data transfer system and method |
US11888849B1 (en) | 2019-06-21 | 2024-01-30 | Early Warning Services, Llc | Digital identity step-up |
US11438331B1 (en) | 2019-06-21 | 2022-09-06 | Early Warning Services, Llc | Digital identity sign-in |
US12028455B2 (en) * | 2020-07-14 | 2024-07-02 | Visa International Service Association | Privacy-preserving identity attribute verification using policy tokens |
US20220277380A1 (en) * | 2021-02-26 | 2022-09-01 | Ncr Corporation | Cooperative supply and distribution chain processing |
US20220350984A1 (en) * | 2021-04-30 | 2022-11-03 | Docusign, Inc. | Identity verification in a document management system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102067145A (zh) * | 2008-06-18 | 2011-05-18 | 微软公司 | 通过独立端点解析来获得数字身份或令牌 |
US8838503B2 (en) * | 2008-12-08 | 2014-09-16 | Ebay Inc. | Unified identity verification |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060021018A1 (en) * | 2004-07-21 | 2006-01-26 | International Business Machines Corporation | Method and system for enabling trust infrastructure support for federated user lifecycle management |
US7748618B2 (en) * | 2006-08-21 | 2010-07-06 | Verizon Patent And Licensing Inc. | Secure near field transaction |
CN101569217B (zh) * | 2006-12-28 | 2012-10-10 | 艾利森电话股份有限公司 | 不同认证基础设施的集成的方法和布置 |
US10372938B2 (en) | 2009-05-06 | 2019-08-06 | Token, Inc. | Resource protection using tokenized information |
US8336774B2 (en) * | 2011-04-04 | 2012-12-25 | Shopper's Club, Llc | Shopping apparatus and methods |
US9374356B2 (en) * | 2011-09-29 | 2016-06-21 | Oracle International Corporation | Mobile oauth service |
US9372972B2 (en) | 2012-06-29 | 2016-06-21 | Id Dataweb, Inc. | System and method for establishing and monetizing trusted identities in cyberspace with personal data service and user console |
US8745718B1 (en) * | 2012-08-20 | 2014-06-03 | Jericho Systems Corporation | Delivery of authentication information to a RESTful service using token validation scheme |
US9721147B1 (en) | 2013-05-23 | 2017-08-01 | Consumerinfo.Com, Inc. | Digital identity |
EP3047626B1 (en) * | 2013-09-20 | 2017-10-25 | Oracle International Corporation | Multiple resource servers with single, flexible, pluggable oauth server and oauth-protected restful oauth consent management service, and mobile application single sign on oauth service |
US10033720B2 (en) * | 2014-05-28 | 2018-07-24 | Futurewei Technologies, Inc. | Method and system for creating a certificate to authenticate a user identity |
US10692085B2 (en) * | 2015-02-13 | 2020-06-23 | Yoti Holding Limited | Secure electronic payment |
US20160337359A1 (en) * | 2015-05-11 | 2016-11-17 | Honeywell Spol. S.R.O. | Securing a control system application layer protocol |
WO2017081603A2 (en) * | 2015-11-10 | 2017-05-18 | Eli Talmor | Method and system for protecting and utilizing internet identity, using smartphone |
EP3424177B1 (en) | 2016-02-29 | 2021-10-13 | SecureKey Technologies Inc. | Systems and methods for distributed identity verification |
US10084606B2 (en) | 2016-04-15 | 2018-09-25 | International Business Machines Corporation | Construction of digital identity documents in a manner that allows the user to select which attributes are to be revealed |
US11025436B2 (en) | 2017-03-01 | 2021-06-01 | Banco Bilbao Vizcaya Argentaria, S.A. | Self-authenticating digital identity |
WO2019099888A1 (en) | 2017-11-16 | 2019-05-23 | Visa International Service Association | Providing assertions regarding entities |
SG11202101525PA (en) * | 2018-08-17 | 2021-03-30 | Visa Int Service Ass | Secure data transfer system and method |
SG11202102201QA (en) * | 2018-09-20 | 2021-04-29 | Visa Int Service Ass | Digital ticket system and method |
US11997103B2 (en) * | 2019-01-31 | 2024-05-28 | Visa International Service Association | Graduated accounts using assertions |
-
2019
- 2019-05-03 SG SG11202101525PA patent/SG11202101525PA/en unknown
- 2019-05-03 WO PCT/US2019/030595 patent/WO2020036660A1/en unknown
- 2019-05-03 CN CN201980053969.6A patent/CN112567716B/zh active Active
- 2019-05-03 US US17/268,423 patent/US11621844B2/en active Active
- 2019-05-03 EP EP19849291.0A patent/EP3837828B1/en active Active
-
2023
- 2023-03-02 US US18/177,520 patent/US20230208642A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102067145A (zh) * | 2008-06-18 | 2011-05-18 | 微软公司 | 通过独立端点解析来获得数字身份或令牌 |
US8838503B2 (en) * | 2008-12-08 | 2014-09-16 | Ebay Inc. | Unified identity verification |
Non-Patent Citations (1)
Title |
---|
一种基于双令牌机制的单点登录模型研究;嵇智辉;倪宏;刘磊;匡振国;;计算机工程与应用(第30期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
US20210320799A1 (en) | 2021-10-14 |
SG11202101525PA (en) | 2021-03-30 |
EP3837828A1 (en) | 2021-06-23 |
EP3837828A4 (en) | 2021-06-23 |
US20230208642A1 (en) | 2023-06-29 |
EP3837828B1 (en) | 2023-03-15 |
US11621844B2 (en) | 2023-04-04 |
WO2020036660A1 (en) | 2020-02-20 |
CN112567716A (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11824838B2 (en) | Providing assertions regarding entities | |
US12015716B2 (en) | System and method for securely processing an electronic identity | |
CN112567716B (zh) | 安全数据传输系统和方法 | |
US10887098B2 (en) | System for digital identity authentication and methods of use | |
US11025419B2 (en) | System for digital identity authentication and methods of use | |
US20240144280A1 (en) | Blockchain architecture with record security | |
US20230246842A1 (en) | Compact recordation protocol | |
US20190044917A1 (en) | System for secure verification of identity data | |
CN117150581A (zh) | 安全身份和档案管理系统 | |
US20140223578A1 (en) | Secure data delivery system | |
US11663595B1 (en) | Blockchain transactional identity verification | |
US10460367B2 (en) | System for user authentication based on linking a randomly generated number to the user and a physical item | |
US20240187259A1 (en) | Method and apparatus for generating, providing and distributing a trusted electronic record or certificate based on an electronic document relating to a user | |
US20200252408A1 (en) | Graduated accounts using assertions | |
WO2006100581A2 (en) | System and method for the analysis of security strings to be associated to goods such as products or services | |
US20230418979A1 (en) | Data resolution using user domain names | |
US11663590B2 (en) | Privacy-preserving assertion system and method | |
US20230299985A1 (en) | Identity on a Network |
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 |