CN117426073A - 针对可验证凭证的受信监管链 - Google Patents
针对可验证凭证的受信监管链 Download PDFInfo
- Publication number
- CN117426073A CN117426073A CN202280039025.5A CN202280039025A CN117426073A CN 117426073 A CN117426073 A CN 117426073A CN 202280039025 A CN202280039025 A CN 202280039025A CN 117426073 A CN117426073 A CN 117426073A
- Authority
- CN
- China
- Prior art keywords
- custody
- verifiable
- chain
- entity
- computing system
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 42
- 230000008439 repair process Effects 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 10
- 238000010200 validation analysis Methods 0.000 claims description 8
- 230000000977 initiatory effect Effects 0.000 description 64
- 230000007246 mechanism Effects 0.000 description 27
- 230000000644 propagated effect Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 238000013475 authorization Methods 0.000 description 11
- 230000008520 organization Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000011084 recovery Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000037308 hair color Effects 0.000 description 1
- 238000011081 inoculation Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000002255 vaccination 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/3247—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 digital signatures
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
第一监管链可验证声明由第二实体从第一实体接收。第一监管链可验证声明由第一实体签名并且指定对象在第一实体的监管中。分布式账本被访问以验证第一监管链可验证声明。第二监管链可验证声明被生成,该第二监管链可验证声明嵌入第一监管链可验证声明并且由第二实体签名。第二监管链可验证声明被记录在分布式账本上。第二监管链可验证声明被提供给第三实体。第二监管链可验证声明被配置为向第三实体指定对象在第二实体的监管中。
Description
背景技术
数字身份是一种跨不同数字场境(context)跟踪实体的机制。确定身份后,可以采取与具有该身份的实体相关的适当操作。例如,可以向实体提供授权、特权、自定义和访问。因此,数字身份是一种重要的机制,以经由授权和特权的适当包含来确保信息被限制在适当的信任边界内。数字身份也是一种重要的机制,以确保在访问其数据和自定义时的积极和一致用户体验。
大多数当前使用的证明身份的文件或记录是由中心化组织发布的,诸如政府、公司、学校、雇主或其他服务中心或监管组织。这些组织通常在中心化身份管理系统中维护每个成员的身份。中心化身份管理系统是一种中心化信息系统,用于组织管理发布的身份、其身份认证、授权、角色和特权。中心化身份管理系统被认为是安全的,因为它们经常使用专业维护的硬件和软件。通常,身份发布组织会设置向组织注册人员的条款和要求。当一方需要验证另一方的身份时,验证方经常需要通过中心化身份管理系统来获得验证和/或认证该另一方身份的信息。
去中心化标识符(DID)是一种较新的标识符类型。去中心化标识符独立于任何中心化注册表、身份提供者或证书机构。分布式账本技术(诸如区块链)提供了使用完全去中心化标识符的机会。分布式账本技术使用分布式账本以可验证的方式记录两个或更多个方之间的事务。在记录了事务后,账本部分中的数据就不能在不会更改账本的所有后续部分的情况下被追溯更改。这提供了一个相当安全的平台,在该平台上很难或不可能篡改记录在分布式账本中的数据。由于DID通常不受中心化管理系统控制,而是由DID的所有者拥有,DID有时被称为没有机构的身份。
本文要求保护的主题不限于解决任何缺点或仅在诸如上述那些环境中操作的实施例。相反,提供该背景仅用于说明可以实践本文描述的一些实施例的一个示例技术领域。
发明内容
本方面内容旨在以简化的形式介绍下面在具体实施方式中进一步描述的概念的选择。本概述不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用作确定所要求保护的主题范围的辅助。
计算技术提供称为“可验证声明或凭证”的数据结构。在这些技术中,声明发布者关于主体提出一个或多个声明,并生成可验证声明。可验证声明包括那些声明以及证明声明尚未被篡改并且确实由声明发布者发布的证明指令。可验证声明还经常包括持续时间信息元数据,其定义可验证声明有效使用的时间段或定义可验证声明被授权使用的特定次数。在去中心化环境中,可验证声明还包括声明发布者的DID。声明发布者然后将可验证声明提供给声明持有者,以呈现给依赖这些声明真实性的任何依赖方。
作为示例,声明发布者可以是与负责发布驾驶者执照的政府专门机构相关联的计算系统。政府专门机构计算系统可以生成具有关于公民的声明的可验证声明,诸如生日、居住地址、体重、眼睛颜色、头发颜色、驾驶者授权、驾驶者授权限制等等。政府专门机构计算系统向公民发布可验证声明。如果公民被执法部门拦下,则公民的计算系统可以呈现可验证声明,由此与执法部门相关联的计算系统可以使用证明指令来验证声明是由政府专门机构发布的,并且自发布以来确实没有被篡改。在另一个示例中,提供接种计算系统的组织可向断言儿童已接受某些接种的儿童的父母发布声明。父母的计算系统随后可向儿童将要就读的学校呈现这些接种声明。在上述示例中,依赖方是执法专门机构和儿童就读的学校,或者更具体地说,是执法专门机构和学校的计算系统。
一些可验证声明针对被认为具有价值并且能够被各种实体买卖的特定对象。例如,这样的对象可以是数字或物理艺术品或古董物品,诸如家具或汽车。因此,第一实体可以创建该对象。替选地,第一实体可以是能够确证该对象是真品的实体,诸如艺术经纪人。然后,第一实体可以将该对象出售给第二实体。由于第二实体从对象的创建者或从诸如艺术经纪人的实体接收该对象,因此第二实体通常具有对象是真品的高置信度。然而,在以后的日期,第二实体可以选取将对象出售给第三实体,该第三实体继而可以将对象出售给第四实体,依此类推。
随着来自第一实体的监管链越来越长,针对购买实体越来越难以知道该对象是否是真品。例如,在某个时间点,实体可能会试图出售该对象的欺诈性版本。替选地,没有拥有该对象的实体可能会试图声称他或她确实拥有,并可能试图使用这一点来引发欺诈性出售。购买实体通常无法查明该对象是否是真品以及出售实体是否拥有该对象。
本文呈现的实施例为上述讨论的问题提供了一种新颖的解决方案。本文呈现的实施例允许将对象的监管链记录在分布式账本上。然后,每个后续买家可以访问和验证该监管链,以帮助确保他们正在购买的对象是真品。例如,第一实体可以生成第一监管链可验证声明,然后在区块链上记录这一点(或至少是可验证声明的表示)。当第二实体想要购买该对象时,可以访问分布式账本,并且可以验证第一监管链可验证声明。在第一监管链可验证声明被验证后,第二实体可以在购买之前有信心该对象是真品。
然后,第二实体可以生成嵌入第一监管链可验证声明的第二监管链可验证声明,然后将其记录在分布式账本上。当第三实体想要购买该对象时,可以访问分布式账本,并且可以验证第二监管链可验证声明和所嵌入的第一监管链可验证声明。一旦第一和第二监管链可验证声明被验证,第三实体可以在购买之前确信该对象是真品。每次对象改变所有权时都会发生生成和嵌入附加监管链可验证声明并将这些记录在分布式账本上,并且从而为所有后续买家创造信心。
在一个实施例中,第一监管链可验证声明由第二实体从第一实体接收。第一监管链可验证声明由第一实体签名,并指定在第一监管链可验证声明被接收时,对象在第一实体的监管中。分布式账本被访问以验证第一监管链可验证声明。第二监管链可验证声明被生成。第二监管链可验证声明将第一监管链可验证声明嵌入其中并由第二实体签名。第二监管链可验证声明的至少部分被记录在分布式账本上。第二监管链可验证声明被提供给第三实体。第二监管链可验证声明被配置为向第三实体指定在第二监管链可验证声明被提供给所述第三实体时,所述对象在第二实体的监管中。
在一个实施例中,与对象相关的第一监管链可验证声明由第三实体从第一实体接收。第一监管链可验证声明包括由第一实体生成的第一签名,并嵌入由第一实体从第二实体接收的、与对象相关的第二监管链可验证声明。第二监管链可验证声明包括由第二实体生成的第二签名。分布式账本被访问以验证第一监管链可验证声明。第一监管链可验证声明的验证指示在第一监管链可验证声明被第三实体接收时第一实体具有对象的适当监管。在第一监管链可验证声明的成功验证后,分布式账本被访问以验证第二监管链可验证声明。第二监管链可验证声明的验证指示在第二监管链可验证声明被第一实体接收时,第二实体具有对象的适当监管。
附加的特征和优点将在下面的描述中阐述,并且部分地从描述中显而易见,或者可以通过实践本文的教导而获知。本发明的特征和优点可以通过所附声明中特别指出的仪器和组合来实现和获得。本发明的特征将从下面的描述和所附声明中变得更加充分显而易见,或者可以通过实践下文所阐述的本发明而获知。
附图说明
为了描述可以获得上面记载和其他优点和特征的方式,将通过参考附图中示出的具体实施例来呈现对上述简要描述的主题的更具体的描述。理解到这些附图仅描绘了典型的实施例,因此不被认为是限制范围的,将通过使用附图利用附加特异性和细节来描述和解释实施例,其中:
图1示出了一个示例计算系统,其中可以采用本文描述的原理;
图2示出了用于创建去中心化标识或标识符(DID)的示例环境;
图3示出了各种DID管理操作和服务的示例环境;
图4示出了一个去中心化的个人存储或身份中心的示例;
图5示出了一个示例环境,其中实现了本文描述的原理;
图6A示出了示例声明;
图6B示出了示例可验证声明;
图7A示出了可用于记日志和验证去中心化网络中的监管链的示例环境。
图7B示出了示例真品性和监管链声明;
图7C示出了发起监管链可验证声明的示例链;
图7D示出了另一示例监管链声明;
图7E示出了将发起监管链可验证声明嵌入其中的示例监管链可验证声明;
图7F示出了另一示例监管链声明;
图7G示出了将发起监管链可验证声明和另一监管链可验证声明嵌入其中的示例监管链可验证声明;
图7H示出了图7A环境的替选实施方式。
图7I示出了图7A环境的替选实施方式。
图7J示出了包括修复可验证声明的示例监管链可验证声明;
图7K示出了包括背书可验证声明的示例监管链可验证声明;
图8示出了验证多个监管链可验证声明的示例流程。
图9示出发起监管链可验证声明的替选实施例;
图10示出了在去中心化网络中记录监管链的示例方法的流程图,该去中心化网络实现了由分布式账本支持的去中心化标识符(DID);和
图11示出了验证去中心化网络中监管链的示例方法的流程图,该去中心化网络实现了由分布式账本支持的去中心化标识符(DID)。
具体实施方式
在一个实施例中,第一监管链可验证声明由第二实体从第一实体接收。第一监管链可验证声明由第一实体签名,并指定在接收到第一监管链可验证声明时,对象处于第一实体的监管之下。访问分布式账本以验证第一监管链可验证声明。生成第二监管链可验证声明。第二监管链可验证声明将第一监管链可验证声明嵌入其中,并由第二实体签名。第二监管链可验证声明的至少一部分记录在分布式账本上。第二监管链可验证声明提供给第三实体。所述第二监管链可验证声明被配置为向所述第三实体指定在所述第二监管链可验证声明被提供给所述第三实体时所述对象处于所述第二实体的监管之下。
在一个实施例中,第三实体从第一实体接收与对象相关的第一监管链可验证声明。第一监管链可验证声明包括由第一实体生成的第一签名,并嵌入由第一实体从第二实体接收的与对象相关的第二监管链可验证声明。第二监管链可验证声明包括由第二实体生成的第二签名。访问分布式账本以验证第一监管链可验证声明。对第一监管链可验证声明的验证表明第一实体在第三实体接收第一监管链可验证声明时对对象拥有适当的监管。一旦第一监管链可验证声明验证成功,访问分布式账本以验证第二监管链可验证声明。验证第二监管链可验证声明表明,在第一实体收到第二监管链可验证声明时,第二实体对对象拥有适当的监管。
因为本文描述的原理是在计算系统的场境中执行的,所以将相对于图1描述计算系统的一些介绍性讨论,然后,该描述将返回到本文相对于其余附图公开的实施例的原理。
计算系统现在越来越多地采取各种各样的形式。计算系统可以是例如手持设备、电器、膝上型计算机、台式计算机、大型机、分布式计算系统、数据中心、甚至传统上还没有被认为是计算系统的设备,诸如可穿戴设备(例如眼镜)。在本说明书和权利要求中,术语“计算系统”被广义地定义为包括任何设备或系统(或其组合),其包括至少一个物理和有形处理器,以及能够在其上具有由处理器执行的计算机可执行指令的物理和有形存储器。存储器采取任何形式并且取决于计算系统的性质和形式。计算系统分布在网络环境上,并且包括多个组成计算系统。
如图1所示,在其最基本的配置中,计算系统100通常包括至少一个硬件处理单元102和存储器104。硬件处理单元102包括通用处理器,还包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)或任何其他专用电路。存储器104是物理系统存储器,它是易失性、非易失性或两者的某种组合。术语“存储器”在本文中也用于指代诸如物理存储介质的非易失性大容量存储。如果计算系统是分布式的,则处理、存储器和/或存储能力也是分布式的。
计算系统100还在其上具有通常被称为“可执行组件”的多个结构。例如,计算系统100的存储器104被示出为包括可执行组件106。术语“可执行组件”是计算领域的普通技术人员很好地理解为可以是软件、硬件或其组合的结构的结构名称。例如,当以软件实现时,本领域的普通技术人员将理解可执行组件的结构包括在计算系统上执行的软件对象、例程、方法等,无论这样的可执行组件是否存在于计算系统的堆中,或者可执行组件是否存在于计算机可读存储介质上。
在这种情况下,本领域普通技术人员将认识到,可执行组件的结构存在于计算机可读介质上,使得当由计算系统的一个或多个处理器(例如,由处理器线程)解释时,使计算系统执行功能。这样的结构可由处理器直接计算机可读(如可执行组件是二进制的情况)。或者,该结构被结构化为可解释和/或编译(无论是在单个阶段还是在多个阶段),以便生成可由处理器直接解释的这种二进制。当使用术语“可执行组件”时,对可执行组件的示例结构的这种理解完全在计算领域普通技术人员的理解范围内。
术语“可执行组件”也被本领域普通技术人员很好地理解为包括诸如硬编码或硬连线逻辑门的结构,这些结构排他地或近排他地在硬件中实现,诸如在现场可编程门阵列(FPGA)、专用集成电路(ASIC)或任何其他专用电路中。因此,术语“可执行组件”是用于计算领域普通技术人员很好地理解的结构的术语,无论是以软件、硬件还是组合来实现。在本说明书中,还可以使用术语“组件”、“代理”、“管理器”、“服务”、“引擎”、“模块”、“虚拟机”等。如在本说明书中使用的以及在情况下,这些术语(无论是否用修饰从句来表达)也旨在与术语“可执行组件”同义,因此也具有计算领域普通技术人员所理解的结构。
在接下来的描述中,参考由一个或多个计算系统执行的动作来描述实施例。如果这些动作以软件实现,则(执行该动作的相关联的计算系统的)一个或多个处理器响应于已经执行了构成可执行组件的计算机可执行指令来指导计算系统的操作。例如,这种计算机可执行指令体现在形成计算机程序产品的一个或多个计算机可读介质上。这种操作的示例涉及数据的操纵。如果这些动作排他地或近排他地在硬件中实现,诸如在FPGA或ASIC中,则计算机可执行指令是硬编码或硬连线逻辑门。计算机可执行指令(和被操纵的数据)被存储在计算机系统100中的存储器104中。计算系统100还包含允许计算系统100通过例如网络110与其他计算系统通信的通信信道108。
虽然并非所有计算系统都需要用户界面,但在一些实施例中,计算系统100包括用于与用户交互的用户界面系统112。用户界面系统112包括输出机制112A以及输入机制112B。本文描述的原理不限于精确的输出机制112A或输入机制112B,这样将取决于设备的性质。然而,输出机制112A可以包括例如扬声器、显示器、触觉输出、全息图等等。输入机制112B的示例可以包括例如麦克风、触摸屏、全息图、相机、键盘、鼠标或其他指针输入、任何类型的传感器等等。
本文所述的实施例包括或利用包括计算机硬件的专用或通用计算系统,诸如例如,一个或多个处理器和系统存储器,如下文更详细地讨论。本文所述的实施例还包括用于携带或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这种计算机可读介质可以是通用或专用计算系统可以访问的任何可用介质。存储计算机可执行指令的计算机可读介质是物理存储介质。携带计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本发明的实施例可以包括至少两种截然不同的计算机可读介质:存储介质和传输介质。
计算机可读存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备,或任何其他物理和有形存储介质,其可用于存储计算机可执行指令或数据结构形式的所需程序代码装置并可由通用或专用计算系统访问。
“网络”被定义为使得能够在计算系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线或硬连线或无线的组合)传送或提供到计算系统时,计算系统适当地将该连接视为传输介质。传输介质可以包括网络和/或数据链路,该网络和/或数据链路可以用于以计算机可执行指令或数据结构的形式携带期望的程序代码手段,并且可以被通用或专用计算系统访问。上述的组合也应该包括在计算机可读介质的范围内。
此外,在到达各种计算系统组件时,计算机可执行指令或数据结构形式的程序代码装置可以自动地从传输介质传送到存储介质(或反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以缓冲在网络接口模块(例如,“NIC”)内的RAM中,然后最终传送到计算系统RAM和/或传送到计算系统处的较不易失性存储介质。因此,应当理解,存储介质可以包括在也(或甚至主要)利用传输介质的计算系统组件中。
计算机可执行指令包括例如当在处理器处执行时使通用计算系统、专用计算系统或专用处理设备执行特定功能或功能组的指令和数据。可替换地或附加地,计算机可执行指令配置计算系统以执行特定功能或功能组。计算机可执行指令例如是二进制文件或甚至在由处理器直接执行之前经历某种转换(诸如编译)的指令,诸如诸如汇编语言的中间格式指令,甚至是源代码。
尽管已经用特定于结构特征和/或方法动作的语言描述了该主题,但是应当理解,在所附权利要求中定义的主题不一定限于上述描述的特征或动作,相反,所描述的特征和动作被公开为实现权利要求的示例形式。
本领域技术人员将理解,本发明实践于具有许多类型的计算系统配置的网络计算环境中,包括,个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器或可编程消费电子产品、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机、数据中心、可穿戴设备(诸如眼镜)等。在一些情况下,本发明还实践于分布式系统环境中,其中通过网络链接(无论是通过硬连线数据链路、无线数据链路,还是通过硬连线和无线数据链路的组合)的本地和远程计算系统都执行任务。在分布式系统环境中,程序模块位于本地和远程存储器存储设备中。
本领域技术人员还将理解,本发明是在云计算环境中实施的。云计算环境是分布式的,尽管这不是必需的。当分布式时,云计算环境在组织内国际分布,和/或具有跨多个组织拥有的组件。在本说明书和以下权利要求中,“云计算”被定义为模型,以用于实现对可配置计算资源(例如,网络、服务器、存储、应用和服务)的共享池的按需网络访问。“云计算”的定义不限于当适当部署时可以从这样的模型获得的任何其他众多优点。
其余附图讨论了与先前描述的计算系统100相对应的各种计算系统。其余附图的计算系统包括实现下面将解释的在此公开的各种实施例的各种组件或功能块。各种组件或功能块在本地计算系统上实现,或者在包括驻留在云中的元素或实现云计算各方面的分布式计算系统上实现。各种组件或功能块被实现为软件、硬件或软件和硬件的组合。其余附图的计算系统包括多于或少于附图中所示的组件,并且根据情况需要组合一些组件。虽然不一定示出,计算系统的各种组件根据需要访问和/或利用处理器和存储器,诸如处理单元102和存储器104,以执行它们的各种功能。
现在将参考图2给出去中心化标识(DID)及其创建和驻留的环境的一些介绍性讨论,图2说明了去中心化网络200。如图2所示,DID所有者201拥有或控制表示DID所有者201身份的DID 205。DID所有者201使用创建和注册服务注册DID,这将在下面更详细地解释。
DID所有者201是可以从DID中受益的任何实体。例如,DID所有者201是人类或人类组织。这样的组织可能包括公司、部门、政府、专门机构或任何其他组织或组织组。每个单独人可能有DID,而每个人所属的组织也可能有DID。
DID所有者201替选地是机器、系统或设备,或机器、设备和/或系统的合集。在又一个实施例中,DID所有者201是机器、系统或设备的子部分。例如,设备可以是印刷电路板,其中该电路板的子部分是电路板的单独组件。在这样的实施例中,机器或设备具有DID并且每个子部分也具有DID。DID所有者还可以是诸如上面关于图1描述的可执行组件106的软件组件。复杂可执行组件106的示例可以是人工智能。人工智能也拥有DID。
因此,DID所有者201是能够创建DID 205或至少具有为其创建并与之相关联的DID205的任何合理实体,人或非人。尽管DID所有者201被示为具有单个DID 205,但这不必是这种情况,因为根据情况需要,存在与DID所有者201相关联的任何数量的DID。
如上所述,DID所有者201创建并注册DID 205。DID 205是与DID所有者201相关联的任何标识符。优选地,该标识符至少在DID预期使用的范围内对DID所有者201是独特的。作为示例,该标识符是本地独特标识符,并且也许更理想地是预期全局操作的身份系统的全局独特标识符。在一些实施例中,DID 205是统一资源标识符(URI)(诸如统一资源定位符(URL))或将DID所有者201与机制相关联以与DID所有者201进行可信任交互的其它指针。
DID 205是“去中心化”的,因为它不需要用于生成、管理或使用的中心化的第三方管理系统。因此,DID 205保持在DID所有者201的控制之下。这不同于基于中心化机构的信任的并且保持在公司目录服务、证书机构、域名注册机构或其他中心化机构(本文统称为“中心化机构”)的控制之下的传统中心化ID。因此,DID 205是在DID所有者201控制之下并且独立于任何中心化机构的任何标识符。
在一些实施例中,DID 205的结构简单如用户名或一些其他人可理解的术语。然而,在其他实施例中,DID 205优选地是数字和字母的随机串以增加安全性。在一个实施例中,DID 205是128个字母和数字的串。因此,本文公开的实施例不依赖于DID 205的任何具体实施方式。在一个非常简单的示例中,DID 205显示为“123ABC”。
同样如图2所示,DID所有者201控制与DID 205相关联的私钥206和公钥207对。因为DID 205独立于任何中心化机构,所以私钥206应始终完全处于DID所有者201的控制之下。也就是说,私钥和公钥应以确保它们保持在DID所有者201的控制之下的去中心化的方式生成。
如下文将更详细地描述的,私钥206和公钥207对是在由DID所有者201控制的设备上生成的。私钥206和公钥207对不应该在由任何中心化机构控制的服务器上生成,因为这导致私钥206和公钥207对并不总是完全在DID所有者201的控制之下。尽管图2和本说明书已经描述了私钥和公钥对,但还将注意到,其他类型的合理密码信息和/或机制也可以根据情况需要使用。
图2还示出了与DID 205相关联的DID文档210。如下面将更详细地解释的,DID文档210是在创建DID 205时生成的。在其最简单的形式中,DID文档210描述了如何使用DID205。因此,DID文档210包括对DID 205的引用,DID 205是由DID文档210描述的DID。在一些实施例中,DID文档210根据将用于存储DID 205的表示的分布式账本220指定的方法来实现,如下面将更详细地解释的。因此,DID文档210根据具体的分布式账本具有不同的方法。
DID文档210还包括由DID所有者201创建的公钥207或一些其他等效的密码信息。公钥207由第三方实体使用,这些实体被DID所有者201给予许可来访问DID所有者201拥有的信息和数据。公钥207还通过验证DID所有者201实际上拥有或控制DID 205来使用。
DID文档210还包括认证信息211。认证信息211指定DID所有者201能够证明DID所有者201拥有DID 205的一个或多个机制。换句话说,认证信息211的机制显示DID 205(以及因此其DID所有者201)和DID文档210之间绑定的证明。在一个实施例中,认证信息211指定公钥207用于签名操作以证明DID 205的所有权。替选地或者另外,认证信息211指定公钥207用于生物特征操作以证明DID 205的所有权。因此,认证信息211包括DID所有者201能够证明DID所有者201拥有DID 205的任何数量的机制。
DID文档210还包括授权信息212。授权信息212允许DID所有者201授权第三方实体修改DID文档210或文档的某些部分的权利,而无需给予第三方证明DID 205所有权的权利。例如,授权信息212允许第三方使用任何指定的更新机制更新DID文档210中一个或多个字段的任何指定集合。或者,授权信息允许第三方在指定的时间段内限制DID所有者201对DID205的使用。当DID所有者201是未成年孩子并且第三方是孩子的父母或监护人时,这很有用。授权信息212允许父母或监护人限制DID 205的使用,直到孩子不再是未成年人为止。
授权信息212还指定第三方需要遵循的一个或多个机制,以证明他们被授权修改DID文档210。在一些实施例中,该机制类似于前面关于认证信息211讨论的机制。
DID文档210还包括一个或多个服务端点213。服务端点包括服务代表DID所有者201操作的网络地址。特定服务的示例包括发现服务、社交网络、诸如身份服务器或中心的文件存储服务以及可验证声明库服务。相应地,服务端点213作为服务的指针操作,该服务为代表DID所有者201操作。这些指针被DID所有者201或第三方实体用来访问代表DID所有者201操作的服务。下面将更详细地解释服务端点213的具体示例。
DID文档210还包括标识信息214。标识信息214包括个人可标识信息,诸如DID所有者201的名称、地址、职业、家庭成员、年龄、爱好、兴趣等。相应地,DID文档210中列出的标识信息214表示DID所有者201用于不同目的的不同角色。例如,角色是伪匿名的,例如,DID所有者201在将他或她标识为在博客上发出文章的作家时,在DID文档中包括笔名;角色是完全匿名的,例如,DID所有者201只想公开他或她的职称或其他背景数据(例如,学校教师、联邦调查局干员、21岁以上的成年人等)而不想在DID文档中公开他或她的名称;以及角色是特定于DID所有者201作为个人是谁,例如,DID所有者201包括标识他或她作为特定慈善组织的志愿者、特定公司的雇员、特定奖项的获奖者等的信息。
DID文档210还包括凭证信息215,该凭证信息215在本文也称为证实。凭证信息215(也称为可验证声明)是与DID所有者201的背景相关联的任何信息。例如,凭证信息215是(但不限于)资格、成就、政府ID、诸如护照或驾驶者执照的政府权利、数字资产提供者或银行账户、大学学位或其他教育历史、就业状况和历史、或关于DID所有者201的背景的任何其他信息。
DID文档210还包括各种其它信息216。在一些实施例中,其它信息216包括指定DID文档210何时被创建和/或何时最后被修改的元数据。在其它实施例中,其它信息216包括DID文档210的完整性的密码证明。在进一步的实施例中,其它信息216包括由实现DID文档的特定方法指定或由DID所有者201期望的其它信息。
图2还示出了分布式账本或区块链220。分布式账本220是包括相互通信的各种计算系统的任何去中心化的、分布式网络。例如,分布式账本220包括第一分布式计算系统230、第二分布式计算系统240、第三分布式计算系统250以及如省略号260所示的任意数量的附加分布式计算系统。分布式账本或区块链220根据分布式账本的任何已知标准或方法操作。对应于分布式账本或区块链220的传统分布式账本的示例包括但不限于比特币[BTC]、以太坊和莱特币。
在DID 205的上下文中,分布式账本或区块链220用于存储指向DID文档210的DID205的表示。在一些实施例中,DID文档210存储在实际的分布式账本上。替选地,在其他实施例中,DID文档210存储在与分布式账本或区块链220相关联的数据存储(未示出)中。
如所述,DID 205的表示存储在分布式账本或区块链220的每个分布式计算系统上。例如,在图2中,这显示为DID有231,DID有241以及DID有251,它们理想情况下是相同DID的相同副本。DID哈希231、DID哈希241和DID哈希251然后指向DID文档210的位置。分布式账本或区块链220还存储其他DID的许多其他表示,如标记232、233、234、242、243、244、252、253和254所示。
在一个实施例中,当DID所有者201创建DID 205和相关联的DID文档210时,DID有231,DID有241,DID哈希251被写入分布式账本或区块链220。因此,分布式账本或区块链220记录DID 205现在存在。由于分布式账本或区块链220是去中心化的,DID 205不受DID所有者201之外的任何实体的控制。DID哈希231,DID有241以及DID有251除了指向DID文档210的指针之外,还包括指定DID 205创建时间的记录或时间戳。在以后对DID文档210进行修改时,这也记录在DID有231,DID有241,DID有251。DID有231,DID有241,以及DID哈希251还包括公钥207的副本,从而DID 205被密码地绑定到DID文档210。
在参考图2描述了DID以及它们一般如何操作之后,现在将解释DID环境的具体实施例。转向图3,现在将解释用于执行各种DID管理操作和服务的计算系统环境300。可以理解的是,为了便于解释,图3的环境根据需要参考来自图2的元素。
如图3所示,计算系统环境300包括由DID所有者201拥有或以其他方式在其控制下的各种设备和计算系统。这些包括用户设备301。用户设备301是但不限于诸如智能电话的移动设备、诸如膝上型计算机的计算设备或诸如汽车或电器的任何包括计算能力的设备。用户设备301包括在该设备上操作的web浏览器302和操作该设备的操作系统303。更广义地说,虚线304表示所有这些设备都由DID所有者201拥有或以其他方式在其控制下。
计算系统环境300还包括DID管理模块320。应当注意,在操作中,DID管理模块320驻留在用户设备301、web浏览器302和操作系统303中的一个或多个上并由其执行,如相应线301a、302a和303a所示。因此,为了便于说明,DID管理模块320被示为是分开的。在一些实施例中,DID管理模块320被称为“数字钱包”或“用户代理”。然而,本领域技术人员将理解,在其他实施例中,数字钱包或用户代理可以在DID管理模块320之外的计算系统中实现。
如图3所示,DID管理模块320包括DID创建模块330。DID创建模块330由DID所有者201用于创建DID 205或任何数量的附加DID,诸如DID 331。在一个实施例中,DID创建模块包括或以其他方式能访问用户界面(UI)元素335,该用户界面(UI)元素335指导DID所有者201创建DID 205。DID创建模块330具有一个或多个驱动程序,这些驱动程序被配置为与诸如分布式账本220的特定分布式账本一起工作,以使DID 205遵从该分布式账本的底层方法。
现在将描述一个具体的实施例。例如,UI 335提示用户录入用户名或一些其他人类可识别的名字。该名字被用作将要生成的DID 205的显示名字。如前所述,DID 205是随机数和字母的长串,因此针对显示名字具有人类可识别名字是有利的。DID创建模块330然后生成DID 205。在具有UI 335的实施例中,DID 205显示在身份列表中,并与人类可识别的名字相关联。
DID创建模块330还包括密钥生成模块350。密钥生成模块生成前面描述的私钥206和公钥207对。DID创建模块330使用DID 205和私钥和公钥对生成DID文档210。
在操作中,DID创建模块330访问注册器310,该注册器310被配置为将记录与DID205相关的事务的特定分布式账本。DID创建模块330使用注册器310以先前描述的方式在分布式账本中记录DID哈希231、DID哈希241和DID哈希251,并以先前描述的方式存储DID文档210。该过程使用哈希生成中的公钥207。
在一些实施例中,DID管理模块320包括所有权模块340。所有权模块340提供确保DID所有者201单独控制DID 205的机制。这样,DID管理模块320的提供者能够确保提供者不控制DID 205,而是仅提供管理服务。
如前所述,密钥生成模块350生成私钥206和公钥207对,然后将公钥207记录在DID文档210中。因此,公钥207可被与DID所有者201相关联的所有设备以及希望向DID所有者201提供服务的所有第三方使用。因此,当DID所有者201希望将新设备与DID 205相关联时,DID所有者201在新设备上执行DID创建模块330。DID创建模块330然后使用注册器310更新DID文档210,以反映新设备现在与DID 205相关联,如前所述,该更新将反映在分布式账本220上的事务中。
然而,在一些实施例中,具有由DID所有者201拥有的每个用户设备301的公钥是有利的,因为这允许DID所有者201使用设备特定的公钥进行签名,而无需访问通用公钥。换句话说,由于DID所有者201将在不同的时间使用不同的设备(例如在一个实例中使用移动电话,然后在另一个实例中使用膝上型计算机),因此具有与每个设备相关联的密钥以提供使用密钥进行签名的效率是有利的。因此,在这样的实施例中,当附加设备执行DID创建模块330时,密钥生成模块350生成附加的公钥208和209。这些附加的公钥与私钥206相关联,或者在一些实例中与新的私钥配对。
在附加公钥208和209与不同设备相关联的那些实施例中,附加公钥208和209被记录在DID文档210中作为与这些设备相关联。这在图3中示出。可以理解的是,除了图3中示出的信息(信息208、209和365)之外,DID文档210通常还包括先前关于图2描述的信息(信息205、207和211至216)。如果DID文档210在生成设备特定公钥之前存在,则DID创建模块330将经由注册器310更新DID文档210,并且这将反映在分布式账本220上的更新事务中。
在一些实施例中,DID所有者201经常希望对设备与公钥的关联或者设备与DID205的关联保密。因此,DID创建模块330使得这样的数据秘密地显示在DID文档210中。
如到目前为止所描述的,DID 205已经与DID所有者201控制下的所有设备相关联,即使这些设备具有它们自己的公钥。然而,在一些实施例中,对于DID所有者201控制下的每个设备或某些设备子集来说,每个设备都具有它们自己的DID可能是有用的。因此,在一些实施例中,DID创建模块330为每个设备生成附加DID,例如DID 331。DID创建模块330然后为每个设备生成私钥和公钥对以及DID文档,并以先前描述的方式将它们记录在分布式账本220上。这样的实施例对于改变所有权的设备是有利的,因为可以通过在DID文档中准许新所有者授权权利并从旧所有者撤销这样的权利来将设备特定DID与设备的新所有者相关联。
如上所述,为了确保私钥206完全处于DID所有者201的控制之下,私钥206被创建在由执行DID管理模块320的DID所有者201拥有或控制的用户设备301、web浏览器302或操作系统303上。这样,第三方(并且最重要的是,DID管理模块320的提供者)获得私钥206控制的机会很小。
然而,存在存储私钥206的设备被DID所有者201丢失的可能,这导致DID所有者201失去对DID 205的访问。因此,在一些实施例中,UI 335包括允许DID所有者201将私钥206导出到DID所有者201控制下的设备外安全数据库305的选项。作为示例,数据库305是下面关于图4描述的身份中心410之一。存储模块380被配置为将数据(诸如私钥206或由DID所有者201制作或关于DID所有者201的凭证信息215)存储在设备外数据库305中或以下将更详细描述的身份中心410中。当然,在一些实施例中,如果设备具有足够的存储资源,存储模块380会在设备上存储至少一些数据。在一些实施例中,私钥206被存储为由DID所有者201扫描的二维码。
在其他实施例中,DID管理模块320包括用于恢复丢失的私钥206的恢复模块360。在操作中,恢复模块360允许DID所有者201在创建DID 205时选择一个或多个稍后用于恢复丢失的私钥的恢复机制365。在具有UI 335的那些实施例中,UI 335允许DID所有者201在恢复期间提供将由一个或多个恢复机制365使用的信息。恢复模块360运行在与DID 205相关联的任何设备上。
DID管理模块320还包括撤销模块370,用于从DID 205撤销或切断设备。在操作中,撤销模块使用UI 335,其允许DID所有者201指示希望从与DID 205相关联的设备中移除设备。在一个实施例中,撤销模块370访问DID文档210并导致从DID文档210中移除对该设备的所有引用。替选地,移除该设备的公钥。然后,如前所述,DID文档210中的这种变化被反映为分布式账本220上的更新事务。
图4示出了其中利用诸如DID 205的DID的计算系统环境400的实施例。具体而言,计算系统环境400用于描述DID 205相对于一个或多个去中心化储存或身份中心410的使用,这些储存或身份中心410每个都在DID所有者201的控制下以存储属于或关于DID所有者201的数据。例如,使用图3的存储模块380将数据存储在身份中心内。将注意,图4包括对首先相对于图2或3讨论的元素的引用,因此为了便于解释使用相同的附图标记。
在一个实施例中,身份中心410是同一身份中心的多个实例。这由线410A表示。因此,各种身份中心410包括至少一些相同的数据和服务。因此,如果对身份中心410中的一个中的至少一些数据(以及潜在地任何数据的任何部分)的一部分进行改变,则该改变反映在剩余的身份中心中的一个或多个(以及可能所有)中。
身份中心410可以是DID所有者201排他控制的任何数据储存。仅作为示例,第一身份中心411和第二身份中心412在云存储中实现(可能在同一云中,甚至在由不同云提供者管理的不同云上),因此能够保存大量数据。因此,完整的数据集可存储在这些身份中心中。
然而,身份中心413和414可以具有较少的存储器空间。因此,在这些身份中心中包括存储在第一和第二身份中心中的数据的描述符。或者,包括对其他身份中心中的数据所做的改变的记录。因此,在身份中心410中的一个中的改变在其他身份中心中完全复制,或者至少该数据的记录或描述符在其他身份中心中记录。
因为身份中心是同一身份中心的多个实例,所以将仅提供第一身份中心411的完整描述,因为该描述也适用于身份中心412至414。如图所示,身份中心411包括数据存储420。数据存储420用于存储与DID所有者201相关联的任何类型的数据。在一个实施例中,数据是与特定协议相对应的特定类型数据的合集422。例如,合集422可以是与医疗数据的特定协议相对应的医疗记录数据。合集422还包括其他类型的数据,诸如由DID所有者201制作的或关于DID所有者201的凭证信息215。
在一个实施例中,存储的数据具有与存储的数据相关联的不同的认证和隐私设置421。例如,数据的第一子集具有允许数据公开暴露的设置421,但不包括对DID所有者201的任何认证。这种类型的数据通常用于诸如颜色方案等相对不重要的数据。数据的第二子集具有允许数据公开暴露的设置421,并且包括对DID所有者201的认证。数据的第三子集具有使用与DID所有者201相关联的私钥206和公钥207对(或一些其他密钥对)对数据子集进行加密的设置421。这种类型的数据将要求一方能够访问公钥207(或一些其他相关联的公钥)以解密数据。该过程还包括对DID所有者201的认证。数据的第四子集具有将该数据限制为第三方子集的设置421。这要求使用与第三方子集相关联的公钥来解密数据。例如,DID所有者201使设置421指定只有与DID所有者201的朋友相关联的公钥才能解密该数据。关于由存储模块380存储的数据,这些设置421至少部分地由图3的存储模块380组成。
在一些实施例中,身份中心411具有许可模块430,该许可模块430允许DID所有者201为诸如第三方401和402的第三方设置访问身份中心设置特定授权或许可。例如,DID所有者201向他或她的配偶提供对存储在数据存储420中的所有数据的访问许可。替选地,DID所有者201允许针对任何医疗记录访问他或她的医生。可以理解的是,DID所有者201能够给予任何数量的第三方访问存储在数据存储420中的数据子集的许可。下面将对此进行更详细的解释。关于由存储模块380存储的数据,这些访问许可430至少部分地由图3的存储模块380组成。
身份中心411还包括消息传递模块440。在操作中,消息传递模块允许身份中心接收诸如来自诸如第三方401和402的方的请求的消息,以访问身份中心的数据和服务。此外,消息传递模块440允许身份中心411响应于来自第三方的消息,并且还与DID解算器450通信。这将在下面更详细地解释。省略号416表示身份中心411可以根据情况需要具有附加服务。
在一个实施例中,DID所有者201希望以先前描述的方式向已经与DID 205相关联的身份中心411认证新用户设备301。因此,DID所有者201利用与新用户设备301相关联的DID管理模块320向身份中心411发送断言新用户设备与DID所有者201的DID 205相关联的消息。
然而,身份中心411不能够最初识别新设备为DID所有者201所拥有。相应地,身份中心411使用消息传递模块440联系DID解算器450。发送到DID解算器450的消息包括DID205。
DID解算器450是在操作中被配置为在分布式账本220中搜索与DID相关联的DID文档的服务、应用或模块。因此,在实施例中DID解算器450使用DID 205搜索分布式账本220,这应该导致DID解算器450找到DID文档210。然后将DID文档210提供给身份中心411。
如前所述,DID文档210包括与新用户设备301相关联的公钥208或209。为了验证新用户设备由DID所有者201拥有,身份中心411使用消息传递模块440向新用户设备301提供密码质询。该密码质询被结构化为使得只有能够访问私钥206的设备将能够成功地回答质询。
在该实施例中,由于新用户设备由DID所有者201拥有并且因此能够访问私钥206,所以成功地回答了质询。然后身份中心411在许可430中记录新用户设备301能够访问身份中心411以及身份中心410的其余部分的数据和服务。
需要注意的是,在身份中心411可以被访问之前,认证新用户设备301的该过程被执行,而无需DID所有者201向身份中心411的提供者(即,第一云存储提供者)提供任何用户名、密码等。相反,访问是基于DID 205、DID文档210以及相关联的公钥和私钥以去中心化的方式确定的。由于这些始终在DID所有者201的控制下,身份中心411的提供者不参与,因此不知道事务或DID所有者201的任何个人信息。
在另一个示例实施例中,DID所有者201将DID 205提供给第三方401,以便第三方能够访问存储在身份中心411上的数据或服务。例如,DID所有者201是参加科学会议的人,他希望允许也是人的第三方401访问他或她的研究数据。因此,DID所有者201将DID 205提供给第三方401。
在第三方401能够访问DID 205后,他或她访问DID解算器450以访问DID文档210。如前所讨论的,DID文档210包括服务终端213,该服务终端213是指向与去中心化身份相关联的服务的地址或指针。
完成研究数据示例,第三方401向消息传递模块440发送消息,请求访问研究数据的许可。消息传递模块440向DID所有者201发送消息,询问是否应该给予第三方401对研究数据的访问。因为DID所有者希望提供对该数据的访问,DID所有者201允许对第三方401的许可,并且该许可被记录在许可430中。
消息传递模块440然后向第三方401传递消息,通知第三方他或她能够访问研究数据。身份中心411和第三方401直接通信,使得第三方能够访问数据。将注意,在许多情况下,它实际上是与和身份中心411通信的第三方401相关联的身份中心。然而,它可以是进行通信的第三方401的设备。
有利地,上述过程允许身份中心411和第三方401通信并共享数据,而无需第三方以传统方式访问身份中心411。而是使用DID 205和DID文档210以去中心化方式备置通信。这有利地允许DID所有者完全控制该过程。
如图4所示,第三方402还使用DID 205和DID文档210请求访问身份中心411的许可。因此,本文公开的实施例允许任何数量的第三方访问身份中心410。
如上面简要讨论的,身份中心411托管在云服务中。服务提供者能够访问存储在每个用户的身份中心411中的数据。此外,服务提供者还可以访问DID所有者的某些活动。例如,DID所有者已与其共享其数据的实体存储在身份中心411中。作为另一个示例,用户具有多个DID,并且已在多个DID之间共享数据,替选地,用户已使用不同的DID管理模块来访问相同的数据。基于数据共享活动,身份中心411的服务提供者关联不同DID的关系,并找出两个DID与同一所有者相关或被同一所有者拥有。因此,用户的隐私受到损害。
本文描述的原理将通过加密存储在身份中心411中的个人数据来解决DID所有者的这些潜在隐私问题。加密/解密密钥不被身份中心411存储或访问,从而DID所有者不仅对来自其他DID所有者或用户的数据有很大的控制,而且还保护他们的隐私免于服务提供者。
身份中心411中存储有许多不同的对象。数据对象是存储在身份中心411中的文件、文件夹或数据的任何部分。整个身份中心411使用一个加密/解密密钥作为一个对象进行加密。替选地,存储在身份中心411中的数据的不同部分使用不同的加密/解密密钥进行加密。
在另一个示例实施例中,可验证声明(例如,凭证信息215)被发布并存储在身份中心411处。例如,与DID所有者201相关联的可验证声明由声明发布实体发布,并且所发布的可验证声明被存储在与DID所有者201相关联的身份中心411处。当其他实体要求验证DID所有者的凭证时,DID所有者201将可验证声明发送给另一个实体。例如,DID所有者201是持有驾驶者执照的人员,声明发布实体是已发布DID所有者的驾驶者执照的DMV。DMV发布可验证声明,以验证DID所有者201持有有效驾驶者执照。DID所有者201将可验证声明存储在身份中心411处。另一个实体是租赁汽车公司。其要求DID所有者201显示他/她具有有效驾驶者执照,然后DID所有者将存储在身份中心411中的可验证声明发送给租赁汽车公司。
在参考图2-4描述了DID以及它们通常如何操作之后,现在将解释去中心化标识的具体实施例。转向图5,现在将解释允许DID所有者在标识自己的同时访问服务并与其他DID所有者执行事务的去中心化环境500。可以理解,为了便于解释,图5根据需要引用了图2-4中的元素。
如图5所示,去中心化环境500包括与服务提供者510相关联的设备、用户520和530(例如,DID所有者)的钱包app 521和522。省略号540表示在去中心化环境500中可能存在与任意数量的服务提供者和/或用户相关联的任意数量的设备。服务提供者和用户520、530中的每一个对应于图2的DID所有者201。钱包app 521或531对应于图3的DID管理模块320。ID中心522或ID中心532对应于图4的ID中心411。
用户520使用钱包app 521来管理他/她的DID,并且用户530使用钱包app 531来管理他/她的DID。钱包app 521或531连接到相应的ID中心522或531。服务提供者的设备510和钱包app521、531中的每一个都通过计算机网络550访问分布式账本。在一些实施例中,钱包app 521或531通过ID中心522或532能够间接访问分布式账本。在一些实施例中,钱包app521或531被配置为存储分布式账本的完整副本或通过计算机网络550能够直接访问分布式账本。
服务提供者510的设备和每个钱包app 521、531和/或ID中心522、532能够经由各种通信信道相互通信,包括但不限于局域网、广域网、BLE信标信号和/或近场通信(NFC)。还可以经由由一个钱包app 521生成条形码或二维码,以及由另一个钱包app 531或服务提供者510的设备扫描条形码或二维码来执行通信。条形码或二维码包括与用户520相关的标识信息,诸如与用户520相关联的DID。
在一些实施例中,服务510可以充当发布者或依赖方。如本文所用,“发布者”是对主体做出至少一个断言的实体。该断言在本文中也称为“声明”。“凭证”是一个或多个声明的集合。发布者的示例包括公司、组织、协会、政府、专门机构、个人或可以做出其他人可以依赖的断言的任何其他实体。因此,服务510可以提供关于用户520或用户530的一个或多个可验证声明或凭证,用户520或用户530这样的实例充当“持有者”。用户520和530可以分别将可验证声明存储在ID中心522和ID中心532中。如本文所用,“依赖方”是指依赖可验证声明或凭证以确定持有者信息,然后向持有者提供服务的一方。
例如,假设服务510是机动车辆管理局(DMV)。在充当“发布者”的同时,服务510向用户520发布断言用户520具有DMV发布的有效驾驶者执照的可验证声明。作为“持有者”的用户520随后能够向需要此信息的中继方提供与驾驶者执照相关的可验证声明。假设依赖方(在本实施例中未示出,尽管如上所述,服务510在某些实施例中可以是依赖方)是汽车租赁专门机构。用户520在他或她想要租用汽车时,向汽车租赁专门机构呈现与驾驶者执照相关的可验证声明,并且汽车租赁专门机构能够使用与驾驶者执照相关的可验证声明来查明用户520具有可用于租用汽车的有效驾驶者执照。
图6A示出了表示声明610的示例数据结构。声明610包括主体611、属性612和值613。例如,主体611对应于DID的所有者(例如,DID所有者201),并且对应于DID 205的DID611A被记录为主体611的一部分。属性612可以是DID 611A的所有者的任何属性,诸如名称、电话号码、电子邮件地址等。值613是对应属性612的值。例如,当属性是“名称”时,该值将是DID所有者的名称,例如,John Doe(约翰多伊);当属性是“电话号码”时,该值将是DID所有者的电话号码,例如,1-800-123-4567。
图6B示出了可验证声明或凭证600B的示例数据结构。在一些实施例中,可验证声明或凭证的数据结构被称为便携式身份卡(PIC),并且是发布者(例如,服务510)以用户(例如,用户520或用户530)容易理解的方式组织可验证声明或凭证的方式。可验证声明或凭证600B包括声明610,其对应于图6A的声明610并且包括DID 611A。可验证声明或凭证600B还包括签名630,其通过由发布者的私钥对可验证声明或凭证600B签名而生成。签名630典型地是密码机制(诸如数字签名),该密码机制用于检测自可验证声明或凭证600B被发布以来是否已被篡改600B,并且可用于验证可验证声明或凭证600B的发布者的身份。
在生成可验证声明或凭证600B后,则将与可验证声明或凭证600B相关的数据的至少一部分传播到分布式账本(例如,220、560)上,使得依赖实体可以使用传播到分布式账本上的数据的该部分来验证可验证声明或凭证600B。在一些实施例中,对应于发布者私钥的公钥被传播到分布式账本上。在一些实施例中,公钥的哈希或可验证声明或凭证600B的哈希被传播到分布式账本上。
在一些实施例中,可验证声明或凭证600B还包括与可验证声明或凭证600B相关的各种元数据620。例如,元数据包括但不限于(1)标识对应的已验证声明或凭证的独特标识符621,(2)用于访问可验证声明或凭证600B的一个或多个条件622,或(3)与发布者希望可验证声明或凭证600B有效或可用的持续时间相关的持续时间信息元数据623。
用于访问可验证声明或凭证600B的元数据622的一个或多个条件包括但不限于(1)要求依赖实体支付加密货币的预定数量或货币类型,(2)要求依赖实体提供标识信息,(3)要求依赖实体提供一个或多个可验证声明,(4)要求依赖实体准许针对访问数据的部分的许可和/或(5)要求依赖实体提供特定服务。
持续时间信息元数据623包括但不限于(1)对应的可验证声明或凭证600B的到期时间,(2)对应的可验证声明或凭证600B可以被访问或使用的预定次数,(3)响应于来自发布者的指示而自动使可验证声明或凭证600B到期的机制,或(4)允许用户手动使可验证声明或凭证600B到期的机制。
图7A示出了用于在去中心化网络中记录监管链并验证监管链的计算系统环境700的实施例。如图所示,环境700包括与对象712相关联的发起实体710。例如,在一些实施例中,对象712是艺术品,诸如但不限于图片、肖像、雕塑、音乐作品或任何其他类型的艺术品。在一些实施例中,艺术品是数字对象版本,诸如数字肖像或数字音乐作品。在其他实施例中,艺术品是物理对象版本,诸如物理肖像或音乐作品。在一些实施例中,对象712是物理对象,诸如桌子、写字台、其他家具、乐器或车辆。尽管本文公开的实施例不受对象712的类型的限制,但对象712将通常是被认为具有价值并且可以买卖或以其他方式从一个实体转移到另一个实体的对象。
在本文公开的一些实施例中,发起实体710是创建或生成对象712的实体。例如,在这样的实施例中,发起实体710可以是创建或生成对象712的艺术家,该对象712是数字或物理艺术品。在其他实施例中,发起实体710是获得对象712以出售给其他实体的实体。例如,在这样的实施例中,发起实体710可以是出售古董家具或车辆的古董交易者。因此,本文公开的实施例不受发起实体710类型的限制。
因为对象712通常是被认为具有价值并且可以买卖的对象,所以确保对象712在被买卖时是真品是很重要的。这有助于确保特定实体没有试图出售欺诈性对象712。因此,本文公开的实施例允许发起实体或后续出售实体将与对象712的监管链有关的可验证声明或凭证记录到分布式账本上。购买实体然后能够访问分布式账本以验证与对象712有关的可验证声明或凭证。如果与对象712的监管链有关的可验证声明或凭证被验证,则购买实体可以有高度确信对象712是真品。在一些实施例中,发起实体710以前面描述的方式获得对象712的DID 712A,获得对象712的DID进一步有助于在去中心化系统中标识对象712,并且可以有助于在分布式账本上记录和确证可验证声明或凭证。
因此,如图7A中的701所示,发起实体710的计算系统向实体730的计算系统提供发起监管链可验证声明或凭证715,该实体730是从发起实体710购买对象712的实体。发起实体710的计算系统可以在实体730引发购买过程时生成发起监管链可验证声明或凭证715。
图7B示出了表示由发起实体710做出的监管链声明720的示例数据结构。监管链声明720包括作为声明主体的对象712、指定对象712已被出售的属性721和列出对象712正被出售给其的实体的名称以及该实体的关联DID的值722。在所示实施例中,对象712正被出售给实体730,并且因此包括与实体730相关联的DID 737A。此外,对象712被示为与其DID712A相关联,这可能对应于前面讨论的DID。
在一些实施例中,除了监管链声明720之外,发起实体710还做出关于对象712的真品性声明711。图7B示出了表示发起实体710做出的真品性声明711的示例数据结构。真品性声明711包括对象712及其相关联的DID 712A作为声明的主体,指定对象712是真品的属性713和因为对象712是真品显示“真”的值714。
图7C示出了发起可验证声明或凭证715的示例数据结构。发起监管链可验证声明或凭证715包括监管声明720并且包括对象712的DID 712A和实体730的DID 737A。在一些实施例中,还包括包括对象712的DID 712A的真品性声明711。发起监管链可验证声明或凭证715还包括签名717,该签名717通过由发起实体710的私钥对发起监管链可验证声明或凭证715签名而生成,该私钥与发起实体710的DID 717A相关联并且是具有利用签名717包括的公钥717B的密钥对的一部分。签名717典型地是密码机制(例如数字签名),该密码机制用于检测自发起监管链可验证声明或凭证715被发布的时间以来发起监管链可验证声明或凭证715是否已被篡改,并且可用于验证发起实体710的身份。在一些实施例中,发起监管链可验证声明或凭证715还包括与发起可验证声明或凭证715相关的声明元数据716。声明元数据716对应于前面讨论的元数据620。
在生成了发起监管链可验证声明或凭证715后,与发起监管链可验证声明或凭证715相关的数据的至少一部分由发起实体710的计算系统传播到分布式账本760(对应于分布式账本220、560)上,如在图7A在702处所示,使得依赖实体可以使用传播到分布式账本上的数据的部分来验证发起可验证声明或凭证715。例如,在一些实施例中,DID 717A或公钥717B被传播到分布式账本760上,用于确证发起可验证声明或凭证715。在其他实施例中,公钥717B的哈希或发起监管链可验证声明或凭证715的哈希被传播到分布式账本760上。
如在图7A中在701所示,在对象712的出售完成后,实体730的计算系统就从发起实体710接收发起监管链可验证声明或凭证715。虽然为了便于说明而未示出,但是可以理解,一旦对象712的出售完成,因为实体730现在拥有对象712,实体730也将从发起实体710接收实际对象712。
在接收到发起可验证声明或凭证715时,实体730的计算系统可以如704处所示访问分布式账本760,以使用DID 717A和/或公钥717B来验证签名717。换句话说,实体730的计算系统将使用DID 717A和/或公钥717B来查明分布式账本760上的多个条目指示签名717(或至少签名717的表示)已被正确记录且尚未被篡改。签名717的成功验证将验证在实体730接收到发起监管链可验证声明或凭证715时,发起实体710具有对象712的适当监管。
在获得对象712的监管之后,实体730可能希望将对象712出售给实体740。因此,如图7A中的703所示,实体730的计算系统向实体740的计算系统提供监管链可验证声明或凭证735,以向实体740显示适当的监管链。实体730的计算系统可以在实体740引发购买过程时生成监管链可验证声明或凭证735。由于实体730正在向实体740“呈现”监管链可验证声明或凭证735,因此监管链可验证声明或凭证735也可以被称为可验证呈现735。
图7D示出了表示由实体730做出的监管链声明731的示例数据结构。监管链声明731包括对象712及其相关联的DID 712A作为声明的主题,指定对象712已被出售的属性732以及列出作为对象712正被出售给其的实体的名称和该实体的相关联DID的值733。在所示实施例中,对象712正被出售给实体740,并且因此包括与实体740相关联的DID 747A。
图7E示出了监管链可验证声明或凭证735的示例数据结构。监管链可验证声明或凭证735包括监管链声明731,并且包括对象712的DID 712A和实体740的DID 747A。在一些实施例中,监管链可验证声明或凭证735还包括与监管链可验证声明或凭证735相关并且可以对应于前面讨论的元数据620的各种元数据736。监管链可验证声明或凭证735还包括发起可验证声明或凭证715或将该发起可验证声明或凭证715嵌入在其中。
监管链可验证声明或凭证735还包括签名737,该签名737通过由与实体730的DID737A相关联的实体730的私钥对监管链可验证声明或凭证735进行签名而生成。签名737通常是密码机制(例如数字签名),该密码机制用于检测自监管链可验证声明或凭证735被发布以来监管链可验证声明或凭证735是否已被篡改,并且可用于验证实体730的身份。
在生成监管链可验证声明或凭证735后,则如在图7A中在704所示,实体730的计算系统将与监管链可验证声明或凭证735相关的数据的至少一部分传播到分布式账本760上,使得依赖实体可以使用传播到分布式账本上的数据的部分来验证监管链可验证声明或凭证735。例如,在一些实施例中,将DID 737A或公钥737B传播到分布式账本760上,用于确证监管链可验证声明或凭证735。在其他实施例中,将公钥737B的哈希或监管链可验证声明或凭证735的哈希传播到分布式账本760上。
如图7A中的703处所示,在对象712的出售完成后,实体740的计算系统就从实体730接收监管链可验证声明或凭证735。虽然为了便于说明而未示出,但是可以理解,在对象712的出售完成后,因为实体740现在拥有对象712,实体740也将从实体730接收实际对象712。
在接收到监管链可验证声明或凭证735后,实体740的计算系统可以访问分布式账本760,如在706处所示,以使用DID 737A和/或公钥737B来验证签名737。换句话说,实体740的计算系统将使用DID 737A和/或公钥737B来查明分布式账本760上的多个条目指示签名737(或至少签名737的表示)已经被正确记录并且尚未被篡改或撤销。
然而,确证签名737本身不一定会验证实体730已具有对象712的适当监管。例如,实体730可能试图出售对象712的伪造版本,因此已欺诈性地生成了监管链可验证声明或凭证735来愚弄实体740。因此,实体740的计算系统也可以访问如706所示的分布式账本,以使用DID 717A和/或公钥717B验证嵌入在监管链可验证声明或凭证735中的发起监管链可验证声明或凭证715的签名717。如前所述,验证签名717表明发起监管链可验证声明或凭证715尚未被篡改,因为这种篡改会导致签名的验证失败。此外,验证签名717表明背书发起监管链可验证声明或凭证715没有被撤销,因为这种撤销可能会记录在分布式账本760上。因此,签名717和737的成功验证将验证在实体740接收监管链可验证声明或凭证735时,实体730具有对象712的适当监管。
在获得对象712的监管之后,实体740可能希望将对象712出售给实体750。因此,如在图7A中在705所示,实体740的计算系统向实体750的计算系统提供可验证声明或凭证745。实体740的计算系统可以在实体730引发购买过程时生成可验证声明或凭证745。由于实体740正在向实体750“呈现”监管链可验证声明或凭证745,所以监管链可验证声明或凭证745也可以被称为可验证呈现745。
图7F示出了表示由实体740做出的监管链声明741的示例数据结构。监管链声明741包括对象712及其相关联的DID 712A作为声明的主题,指定对象712已被出售的属性742以及列出对象712正被出售给其的实体的名称和该实体的相关联DID的值743。在所示实施例中,对象712正被出售给实体750,并且因此包括与实体750相关联的DID 750A。
图7G示出了监管链可验证声明或凭证745的示例数据结构。监管链可验证声明或凭证745包括监管链声明741并且包括对象712的DID 712A和实体750的DID 750A。在一些实施例中,监管链可验证声明或凭证745还包括与监管链可验证声明或凭证745相关并且可以对应于前面讨论的元数据620的各种元数据746。监管链可验证声明或凭证745还包括监管链可验证声明或凭证735或将监管链可验证声明或凭证735嵌入其中。如前面讨论的,监管链可验证声明或凭证735包括发起可验证声明或凭证715或将发起可验证声明或凭证715嵌入其中。
监管链可验证声明或凭证745还包括签名747,该签名747通过由与实体740的DID747A相关联的实体740的私钥对监管链可验证声明或凭证745进行签名而生成。签名747通常是密码机制(例如数字签名),该密码机制用于检测自监管链可验证声明或凭证745被发布以来监管链可验证声明或凭证745是否已被篡改,并且可用于验证实体740的身份。
在生成监管链可验证声明或凭证745后,如在图7A中在706所示,实体740的计算系统将与监管链可验证声明或凭证745相关的数据的至少部分传播到分布式账本760上,使得依赖实体可以使用传播到分布式账本上的数据的部分来验证监管链可验证声明或凭证745。例如,在一些实施例中,DID 747A或公钥747B传播到分布式账本760上,用于确证监管链可验证声明或凭证745。在其他实施例中,将公钥747B的哈希或监管链可验证声明或凭证745的哈希传播到分布式账本760上。
如图7A中的706处所示,在对象712的出售完成后,实体750的计算系统就从实体740接收监管链可验证声明或凭证745。尽管为了便于说明而未示出,但是可以理解,在对象712的出售完成后,因为实体750现在拥有对象712,实体750也将从实体740接收实际对象712。
在接收到监管链可验证声明或凭证745后,实体750的计算系统可以访问分布式账本760,如在707处所示,以使用DID 747A和/或公钥747B来验证签名747,以查明分布式账本760上的多个条目指示签名747(或至少签名747的表示)已经被正确记录并且尚未被篡改或撤销。
确证签名747本身不一定会验证实体740或实体730已具有对象712的适当监管,因为欺诈性监管链声明可能已被添加到先前的监管链可验证声明或凭证中。因此,实体750的计算系统还可以访问如707所示的分布式账本,以使用DID 737A和/或公钥737B验证嵌入在监管链可验证声明或凭证745中的监管链可验证声明或凭证735的签名737。此外,实体750的计算系统还可以访问如在706所示的分布式账本,以使用DID 717A和/或公钥717B验证嵌入在监管链可验证声明或凭证735中的发起监管链可验证声明或凭证715的签名717。签名717、737和747的成功验证将验证在实体750接收监管链可验证声明或凭证745时,实体740具有对象712的适当监管。
图8示出了实体750验证或确证各种可验证声明或凭证715、735和745的过程流程的更详细图示。如前所述,实体750的计算系统从实体730接收监管链可验证声明或凭证745。如在801处所示,实体750的计算系统访问分布式账本760,以如前所述的方式验证或确证监管链可验证声明或凭证745。如在802处所示,在监管链可验证声明或凭证745的成功验证或确证后,实体750的计算系统访问分布式账本760,如在803处所示以先前描述的方式验证或确证嵌入在监管链可验证声明或凭证745中的监管链可验证声明或凭证735。如在804处所示,在成功验证或确证监管链可验证声明或凭证735后,实体750的计算系统访问分布式账本760,如在805处所示,以先前描述的方式验证或确证嵌入在监管链可验证声明或凭证735中的发起监管链可验证声明或凭证715。这样,实体750能够验证已声明在某个时间点具有对象712的适当监管的实体中的每一个实际上具有监管。这允许实体750有信心对象712的真品性。
在一些实施例中,具有对象712的监管的实体之一可能希望对于对象712执行修复或其他改变。例如,如果对象712是古董家具或古董汽车,则可能需要对其进行修复或恢复以增加其价值。因此,图7H示出了包括修复实体770的环境700的替选实施例。在该实施例中,修复实体770的计算系统能够生成修复可验证声明或凭证775。尽管未示出,但修复可验证声明或凭证775包括具有主体、属性和值的声明,并且可以包括指定对于对象712所做的修复或改变的声明元数据。还可以包括签名以及相关联的DID和公钥,其用于在分布式账本760上记录修复可验证声明或凭证775,如在709处所示。
修复可验证声明或凭证775提供给引发修复或改变的实体。在所示实施例中,该实体是实体740并且修复可验证声明或凭证775被提供给实体740,如在708处所示。修复可验证声明或凭证775然后可以被嵌入监管链可验证声明或凭证745中,如在图7J处所示。以这种方式,可以在可验证声明或凭证中包括对于对象712的任何修复或改变。尽管所示实施例图示了引发修复或改变的实体740,但这可以由任何实体来完成。此外,在一些实施例中,修复实体770可以是实体740或环境700的一些其他实体。
图7I示出了包括背书实体780的环境700的另一个替选实施例。背书实体780通常是作为特定领域的专家的众所周知的实体,该专家由于其专业知识而可以被其他实体信任。例如,背书实体780可以是古董店,该古董店对于做出关于古董对象的声明是众所周知的。
在该实施例中,背书实体780的计算系统能够生成背书声明或凭证785。尽管未示出,但背书声明或凭证785包括具有主体、属性和值的声明,并且可以包括指定背书实体已经查实对象712真品性的声明元数据。如709A所示,还可以包括签名以及相关联的DID和公钥,该签名用于在分布式账本760上记录背书声明或凭证785。
背书声明或凭证785是提供给请求背书的实体。在所示实施例中,此实体是实体740,并且背书声明或凭证785被提供给实体740,如708A所示。然后,背书声明或凭证785可以嵌入到监管链可验证声明或凭证745中,如图7K所示。实体750(或接收监管链可验证声明或凭证的任何后续实体)然后能够使用分布式账本760以先前描述的方式验证背书声明或凭证785。如果背书声明或凭证785被验证或确证,则实体750可以信任对象712是真品。实体750(或接收监管链可验证声明或凭证的任何后续实体)可能不需要进一步验证或确证任何其他监管链声明或凭证,因为实体750可以对由背书实体780做出的背书有信心。尽管所示实施例示出了请求背书声明或凭证785的实体740,但这可以由任何实体完成。此外,在一些实施例中,背书实体可以是实体740或环境700的一些其他实体。
图9示出了其中对象712是数字艺术作品910的实施例。数字艺术作品910典型地包括元数据920,该元数据920包括关于数字艺术作品的信息。因此,在一些实施例中,发起实体710在向实体730出售数字艺术作品910时包括发起监管链可验证声明或凭证715作为元数据920的部分。尽管未示出,但实体730随后可以在元数据920中包括监管链可验证声明或凭证735。然后,该过程可以由实体740针对监管链可验证声明或凭证745重复。在其他实施例中,数字艺术作品910可以包括在发起监管链可验证声明或凭证715的声明元数据716中。
图9还示出了发起可验证声明或凭证715的替选实施例。在该实施例中,发起实体710已经在声明元数据716中包括了对象712的数字图片930。这对于对象712是诸如古董家具或物理艺术品的物理对象的实施例可能是有用的。通过在声明元数据716中包括数字图片930,在发起监管链可验证声明或凭证715的生成之后获得对象710的实体能够将物理对象712与数字图片930进行比较。匹配将可能指示对象712是真品并且监管链已被适当维护。
下面的讨论现在涉及到可以执行的许多方法和方法行为。虽然方法行为可以按特定顺序讨论或在流程图中说明为按特定顺序发生,但除非特别说明,否则不需要特定顺序,或者因为一个行为依赖于在执行该行为之前完成另一个行为而需要特定顺序。
图10示出了用于在实现由分布式账本支持的去中心化标识符(DID)的去中心化网络中记录监管链的示例方法1000的流程图。将参考前面讨论的图2-9中的一个或多个来描述该方法1000。
方法1000包括在第二实体处从第一实体接收第一监管链可验证声明,该第一监管链可验证声明由第一实体签名并且指定在第一监管链可验证声明被接收时,对象在第一实体的监管中(1010)。例如,如前所述,实体730可以从发起实体710接收发起监管链可验证声明或凭证715。发起监管链可验证声明或凭证715包括发起实体710的签名717并且包括监管链声明720,该监管链声明720指定在发起监管链可验证声明或凭证715被实体730接收时对象712在发起实体710监管中。
可选地,实体740可以从实体740接收监管链可验证声明或凭证735。监管链可验证声明或凭证735包括实体730的签名737并且包括监管链声明731,该监管链声明731指定在监管链可验证声明或凭证735被实体740接收时对象712在实体730监管中。
方法1000包括访问分布式账本以验证第一监管链可验证声明(1020)。例如,如前所述,实体730访问分布式账本760以验证发起监管链可验证声明或凭证715。替选地,实体740访问分布式账本760以验证监管链可验证声明或凭证735。
方法1000包括生成第二监管链可验证声明,第二监管链可验证声明将第一监管链可验证声明嵌入在该第二监管链可验证声明中并由第二实体签名(1030)。例如,如前所述,实体730生成包括签名737和所嵌入的发起监管链可验证声明或凭证735的监管链可验证声明或凭证735。替选地,实体740生成包括签名747和所嵌入的监管链可验证声明或凭证735的监管链可验证声明或凭证745。
方法1000包括在分布式账本上记录第二监管链可验证声明的至少部分(1040)。例如,如前所述,实体730在分布式账本760上记录监管链可验证声明或凭证735的至少部分。替选地,实体740在分布式账本760上记录监管链可验证声明或凭证745的至少部分。
方法1000包括将第二监管链可验证声明提供给第三实体,第二监管链可验证声明被配置为向第三实体指定在第二监管链可验证声明被提供给第三实体时,对象在第二实体的监管中(1050)。例如,如前所述,实体730向实体740提供监管链可验证声明或凭证735以查实针对对象712的适当监管链。或者,实体740向实体750提供监管链可验证声明或凭证745以查实针对对象712的适当监管链。
图11示出了用于验证实现由分布式账本支持的去中心化标识符(DID)的去中心化网络中的监管链的示例方法1100的流程图,将参考前面讨论的图2-9中的一个或多个来描述方法900。
方法1100包括在第三实体处从第一实体接收与对象相关的第一监管链可验证声明,第一监管链可验证声明包括由第一实体生成的第一签名并且将由第一实体从第二实体接收的、与对象相关的第二监管链可验证声明嵌入该第一监管链可验证声明中,第二监管链可验证声明包括由第二实体生成的第二签名(1110)。例如,如前所述,实体740从实体730接收包括签名737的监管链可验证声明或凭证735,针对对象712的监管链声明731,以及包括发起实体710的签名717的所嵌入的发起监管链可验证声明或凭证715。替选地,实体750从实体740接收包括签名747的监管链可验证声明或凭证745、针对对象712的监管链声明741、以及分别包括实体730的签名737和发起实体710的签名171的所嵌入的监管链可验证声明或凭证735和发起监管链可验证声明或凭证715。
方法1100包括访问分布式账本以验证第一监管链可验证声明,第一监管链可验证声明的确证指示在第一监管链可验证声明被第三实体接收时第一实体具有对象的适当监管(1120)。例如,如前所述,实体740可以访问分布式账本760以验证监管链可验证声明或凭证735以查实实体730具有针对对象712的适当监管链。替选地,实体750可以访问分布式账本760以验证监管链可验证声明或凭证745以查实实体740具有针对对象712的适当监管链。
方法1100包括在第一监管链可验证声明的成功验证后,访问分布式账本以验证第二监管链可验证声明,第二监管链可验证声明的验证指示在第二监管链可验证声明被第一实体接收时第二实体具有对象的适当监管(1130)。例如,如前所述,实体740可以访问分布式账本760以验证发起监管链可验证声明或凭证715,以查实发起实体710具有针对对象712的适当监管链。替选地,实体750可以访问分布式账本760以验证监管链可验证声明或凭证735,并验证发起监管链可验证声明或凭证715,以查实实体730和发起实体710具有针对对象712的适当监管链。
对于本文公开的过程和方法,可以以不同的顺序实施过程和方法中执行的操作。此外,概述的操作仅作为示例提供,其中一些操作可以是可选的,组合成更少的步骤和操作,补充进一步的操作,或者扩展成附加的操作,而不减损公开的实施例的本质。
本发明可以在不背离其精神或特性的情况下以其它具体形式实施。所描述的实施例在所有方面都应被认为仅是说明性的而非限制性的。因此,本发明的范围由所附权利要求书而不是前面的描述来指示。所有在权利要求书等效性的含义和范围内的变化都应包含在它们的范围内。
Claims (10)
1.一种用于在去中心化网络中记录监管链的计算系统,所述去中心化网络实现由分布式账本支持的去中心化标识符(DID),所述计算系统包括:
一个或多个处理器;以及
一个或多个其上具有计算机可执行指令的计算机可读存储介质,所述计算机可执行指令被构造为使得在由所述一个或多个处理器执行时,使所述计算系统:
在第二实体处从第一实体接收第一监管链可验证声明,所述第一监管链可验证声明由所述第一实体签名,并且指定在所述第一监管链可验证声明被接收时对象在所述第一实体的监管中;
访问分布式账本以验证所述第一监管链可验证声明;
生成第二监管链可验证声明,所述第二监管链可验证声明将所述第一监管链可验证声明嵌入在所述第二监管链可验证声明中并由所述第二实体签名;
在所述分布式账本上记录所述第二监管链可验证声明的至少部分;以及
向第三实体提供所述第二监管链可验证声明,所述第二监管链可验证声明被配置为向所述第三实体指定在所述第二监管链可验证声明被提供给所述第三实体时,所述对象在所述第二实体的监管中。
2.根据权利要求1所述的计算系统,其中所述第一实体是发起所述监管链的实体。
3.根据权利要求1所述的计算系统,其中所述第一实体是创建所述对象的实体。
4.根据权利要求1所述的计算系统,其中所述第二监管链可验证声明包括指定对于所述对象的修复或改变的声明。
5.根据权利要求1所述的计算系统,其中所述第二监管链可验证声明包括由受信实体做出的声明。
6.根据权利要求1所述的计算系统,其中所述对象是数字对象并且其中所述第一监管链可验证声明被包括在所述数字对象的元数据中。
7.根据权利要求1所述的计算系统,其中所述第一监管链可验证声明在所述第一监管链可验证声明的元数据中包括所述对象的数字图片。
8.一种用于在去中心化网络中记录监管链的方法,所述去中心化网络实现由分布式账本支持的去中心化标识符(DID),所述方法包括:
在第二实体处从第一实体接收第一监管链可验证声明,所述第一监管链可验证声明由所述第一实体签名,并且指定在所述第一监管链可验证声明被接收时对象在所述第一实体的监管中;
访问分布式账本以验证所述第一监管链可验证声明;
生成第二监管链可验证声明,所述第二监管链可验证声明将所述第一监管链可验证声明嵌入在所述第二监管链可验证声明中并且由所述第二实体签名;
在所述分布式账本上记录所述第二监管链可验证声明的至少部分;以及
向第三实体提供所述第二监管链可验证声明,所述第二监管链可验证声明被配置为向所述第三实体指定在所述第二监管链可验证声明被提供给所述第三实体时,所述对象在所述第二实体的监管中。
9.一种用于在去中心化网络中验证监管链的计算系统,所述去中心化网络实现由分布式账本支持的去中心化标识符(DID),所述计算系统包括:
一个或多个处理器;以及
一个或多个其上具有计算机可执行指令的计算机可读存储介质,所述计算机可执行指令被构造为使得在由所述一个或多个处理器执行时,使所述计算系统:
在第三实体处从第一实体接收与对象相关的第一监管链可验证声明,所述第一监管链可验证声明包括由所述第一实体生成的第一签名,并且将由所述第一实体从第二实体接收的、与所述对象相关的第二监管链可验证声明嵌入在所述第一监管链可验证声明中,所述第二监管链可验证声明包括由所述第二实体生成的第二签名;
访问分布式账本以验证所述第一监管链可验证声明,所述第一监管链可验证声明的验证指示在所述第一监管链可验证声明被所述第三实体接收时,所述第一实体具有所述对象的适当监管;以及
在所述第一监管链可验证声明的成功验证后,访问所述分布式账本以验证所述第二监管链可验证声明,所述第二监管链可验证声明的验证指示在所述第二监管链可验证声明被所述第一实体接收时,所述第二实体具有所述对象的适当监管。
10.根据权利要求9所述的计算系统,其中所述对象是数字对象并且其中所述第一监管链可验证声明被包括在所述数字对象的元数据中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/334,869 | 2021-05-31 | ||
US17/334,869 US11804966B2 (en) | 2021-05-31 | 2021-05-31 | Trusted custody chain for verifiable claims |
PCT/US2022/027952 WO2022256119A1 (en) | 2021-05-31 | 2022-05-06 | Trusted custody chain for verifiable claims |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117426073A true CN117426073A (zh) | 2024-01-19 |
Family
ID=81846270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280039025.5A Pending CN117426073A (zh) | 2021-05-31 | 2022-05-06 | 针对可验证凭证的受信监管链 |
Country Status (9)
Country | Link |
---|---|
US (1) | US11804966B2 (zh) |
EP (1) | EP4348914A1 (zh) |
KR (1) | KR20240015642A (zh) |
CN (1) | CN117426073A (zh) |
AU (1) | AU2022286253A1 (zh) |
BR (1) | BR112023024484A2 (zh) |
CA (1) | CA3216881A1 (zh) |
IL (1) | IL308624A (zh) |
WO (1) | WO2022256119A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210314293A1 (en) * | 2020-04-02 | 2021-10-07 | Hewlett Packard Enterprise Development Lp | Method and system for using tunnel extensible authentication protocol (teap) for self-sovereign identity based authentication |
US20230299969A1 (en) * | 2022-03-15 | 2023-09-21 | eHire, LLC | Trunk-and-branch blockchain ledger architecture for validation of claims |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10903996B2 (en) * | 2018-01-22 | 2021-01-26 | Microsoft Technology Licensing, Llc | Persona selection using trust scoring |
US11128457B2 (en) * | 2019-06-18 | 2021-09-21 | Microsoft Technology Licensing, Llc | Cryptographic key generation using external entropy generation |
WO2020257472A1 (en) * | 2019-06-18 | 2020-12-24 | Transmute Industries, Inc. | Systems and methods for a decentralized data authentication platform |
US11251977B2 (en) * | 2019-06-18 | 2022-02-15 | Microsoft Technologly Licensing, LLC | Validation data structure for decentralized identity claim |
CN111066020B (zh) * | 2019-07-02 | 2023-08-04 | 创新先进技术有限公司 | 用于创建去中心化标识的系统和方法 |
EP3688930B1 (en) * | 2019-07-02 | 2021-10-20 | Advanced New Technologies Co., Ltd. | System and method for issuing verifiable claims |
CN111095327B (zh) * | 2019-07-02 | 2023-11-17 | 创新先进技术有限公司 | 用于验证可验证声明的系统和方法 |
US11184334B2 (en) * | 2019-09-05 | 2021-11-23 | Microsoft Technology Licensing, Llc | Control of the delegated use of DID-related data |
KR20220076200A (ko) * | 2020-11-30 | 2022-06-08 | 한국전자통신연구원 | 개체 소유자 이력 관리 장치 및 방법 |
-
2021
- 2021-05-31 US US17/334,869 patent/US11804966B2/en active Active
-
2022
- 2022-05-06 IL IL308624A patent/IL308624A/en unknown
- 2022-05-06 EP EP22725633.6A patent/EP4348914A1/en active Pending
- 2022-05-06 WO PCT/US2022/027952 patent/WO2022256119A1/en active Application Filing
- 2022-05-06 BR BR112023024484A patent/BR112023024484A2/pt unknown
- 2022-05-06 CN CN202280039025.5A patent/CN117426073A/zh active Pending
- 2022-05-06 KR KR1020237041189A patent/KR20240015642A/ko unknown
- 2022-05-06 AU AU2022286253A patent/AU2022286253A1/en active Pending
- 2022-05-06 CA CA3216881A patent/CA3216881A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022256119A1 (en) | 2022-12-08 |
KR20240015642A (ko) | 2024-02-05 |
AU2022286253A1 (en) | 2023-10-26 |
BR112023024484A2 (pt) | 2024-02-06 |
IL308624A (en) | 2024-01-01 |
US20220385476A1 (en) | 2022-12-01 |
CA3216881A1 (en) | 2022-12-08 |
US11804966B2 (en) | 2023-10-31 |
EP4348914A1 (en) | 2024-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11245524B2 (en) | Binding of decentralized identifiers to verified claims | |
EP3963495A1 (en) | Self-help for did claims | |
CN115176247A (zh) | 使用成对的去中心化标识符的委托 | |
US20230177137A1 (en) | Derived child verifiable credential with selective claims | |
WO2021188203A1 (en) | Access token for a verifiable claim | |
CN117426073A (zh) | 针对可验证凭证的受信监管链 | |
CN113966597B (zh) | 使用多个解析器解析分散标识符 | |
EP3977324A1 (en) | Quick actions for did attestation user interface elements | |
CN115191104A (zh) | 由去中心化标识符锚定的去中心化标识 | |
US11550892B2 (en) | Presentation of a verifiable credential having usage data | |
CN117426072A (zh) | 可验证凭证中的背书声明 | |
US20230177174A1 (en) | Encrypted verifiable credentials | |
CN113994630A (zh) | 用于did证明的呈现中断 | |
US11288358B2 (en) | On skin decentralized identity technologies | |
US20230179588A1 (en) | Verifiable credential with dynamic claim | |
JP2024522133A (ja) | 検証可能な請求のための信頼できる管理の連鎖 | |
LU101758B1 (en) | Digital wallet as a relying party in a decentralized network | |
US20240171406A1 (en) | Sharing security settings between entities using verifiable credentials | |
CN115053217A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40102100 Country of ref document: HK |