CN114391148A - 基于事件的did委托权限转移 - Google Patents
基于事件的did委托权限转移 Download PDFInfo
- Publication number
- CN114391148A CN114391148A CN202080063040.4A CN202080063040A CN114391148A CN 114391148 A CN114391148 A CN 114391148A CN 202080063040 A CN202080063040 A CN 202080063040A CN 114391148 A CN114391148 A CN 114391148A
- Authority
- CN
- China
- Prior art keywords
- user
- event
- delegated
- owner
- legal
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/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
-
- 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/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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/0884—Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Mobile Radio Communication Systems (AREA)
- Multi Processors (AREA)
Abstract
实施例涉及用于基于事件的DID委托权限转移的计算系统和方法。第一DID用户正在尝试代表第二DID用户使用委托的DID的指示被接收。通过操作第一DID用户与第二DID用户之间的法律关系或法律协议,所述第一DID用户之前已经被委托使用该委托的DID的权限。是否已经发生改变第一DID用户与第二DID用户之间的法律关系或法律协议的事件的确定被做出。如果已经发生事件,则使用委托的DID的权限的委托自动地被撤销,使得第一DID用户不再能够使用委托的DID。如果尚未发生事件,则第一DID用户被允许继续使用委托的DID。
Description
背景技术
目前使用的大多数证明身份的文件或记录是由诸如政府、学校、雇主、或者其他服务中心或监管组织等集中式组织发布的。这些组织通常在集中式身份管理系统中维护每个成员的身份。集中式身份管理系统是用于组织以管理所发布的身份、其认证、授权、角色和特权的集中式信息系统。集中式身份管理系统被认为是安全的,因为它们通常使用专业维护的硬件和软件。通常,身份发布组织设置用于向组织注册人员的条款和要求。最后,当一方需要验证另一方的身份时,验证方往往需要通过集中式身份管理系统以获取用于验证和/或认证另一方的身份的信息。
去中心化标识符(DID)是一种新型标识符,其独立于任何集中式注册处、身份提供方或证书权威机构。分布式账本技术(诸如区块链)提供了使用完全去中心化标识符的机会。分布式账本技术使用全球分布式账本以可验证方式记录两方或更多方之间的事务。一旦事务被记录,就无法在不更改所有后续账本部分的情况下追溯地更改账本部分中的数据,这提供了一个相当安全的平台。由于DID通常不受集中式管理系统的控制,而是由DID的所有者拥有,因此DID有时称为未经授权的身份。
本文中要求保护的主题不限于解决任何缺点或仅在诸如上述环境中操作的实施例。而是,提供该背景仅用于说明可以实践本文中描述的一些实施例的一个示例性技术领域。
发明内容
提供本发明内容以便以简化形式介绍在以下具体实施方式中进一步描述的概念的选择。本发明内容无意确定所要求保护的主题的关键特征或基本特征,也无意用于帮助确定所要求保护的主题的范围。
本文所公开的实施例涉及用于基于事件的DID委托权限转移的计算系统和方法。第一DID用户正在尝试代表第二DID用户使用与第二DID用户相关联的委托的DID的指示被接收。通过操作第一DID用户与第二DID用户之间提供委托权限的法律关系或法律协议,第一DID用户先前已经被委托使用该委托的DID的权限。做出对是否已经发生改变第一DID用户与第二DID用户之间的法律关系或法律协议的事件的确定。如果已经发生事件,则使用委托的DID的权限的委托自动被撤销,使得第一DID用户不再能够代表第二DID用户来使用委托DID。如果尚未发生事件,则第一DID用户被允许继续代表第二DID用户来使用委托的DID。
附加特征和优点将在随后的描述中阐述,并且部分地从描述中很清楚,或者可以通过本文中的教导的实践而获悉。本发明的特征和优点可以借助于所附权利要求中特别指出的工具和组合来实现和获取。本发明的特征将从以下描述和所附权利要求中变得更加明显,或者可以通过如下面所述的本发明的实践而获悉。
附图说明
为了描述获取上述和其他优点和特征的方式,将参考附图中所示的具体实施例对上述简要描述的主题进行更具体的描述。理解这些附图仅描绘典型实施例并且因此不应当被认为是对范围的限制。实施例将通过使用附图以附加特性和细节来描述和解释,在附图中:
图1示出了可以在其中采用本文中描述的原理的示例计算系统;
图2示出了用于创建去中心化标识(DID)的示例环境;
图3示出了用于各种DID生命周期管理操作和服务的示例环境;
图4示出了示例去中心化存储设备或身份中枢(hub);
图5图示了用于基于事件的DID委托授权转移的计算系统环境的示例实施例;以及
图6图示了用于基于事件的DID委托权限转移的示例方法的流程图。
具体实施方式
本文所公开的实施例涉及用于基于事件的DID授权转移的计算系统和方法。第一DID用户正在尝试代表第二DID用户使用与第二DID用户相关联的委托的DID的指示。通过操作第一DID用户与第二DID用户之间提供委托权限的法律关系或法律协议。第一DID用户先前已经被委托使用委托DID的权限。做出对是否已经发生改变第一DID用户与第二DID用户之间的法律关系或法律协议的事件的确定。如果已经发生事件,则使用委托DID的权限的委托自动被撤销,使得第一DID用户不再能够代表第二DID用户来使用委托的DID。如果尚未发生事件,则第一DID用户被允许继续代表第二DID用户来使用委托的DID。
本文公开的实施例代表了优于现有系统的技术进步。举例来说,基于第一DID用户与第二DID用户之间的法律关系或基于DID用户之间的法律协议,第一DID用户可以被给予委托权限代表第二用户使用第二DID用户的DID。然而,可能会发生可能改变法律关系或法律协议的事件。举例来说,孩子可能成年,夫妻可能离婚或者法律协议可能被终止。在这样的事件中,第二DID用户可能不再希望第一DID用户具有使用第二用户的DID的委托权限。因此,当发生改变法律关系或法律协议的事件时,委托权限被撤销,并且控制权被返回给第二用户。这提高了用户的便利性和生产力,因为第二DID能够获得对他或她的DID的控制权。此外,由于第二用户在事件之后不需要使用计算资源来获得对他或她的DID的控制权,因此节省了时间和处理资源。
因为本文中描述的原理可以在计算系统的上下文中被执行,所以将关于图1描述计算系统的一些介绍性讨论。然后,该描述将返回到关于其余附图的DID平台的原理。
计算系统现在越来越多地采取多种形式。例如,计算系统可以是手持设备、电器、膝上型计算机、台式计算机、大型机、分布式计算系统、数据中心、或者甚至常规上被认为不是计算系统的设备,诸如可穿戴设备(例如,眼镜)。在本说明书和权利要求中,术语“计算系统”被广义地定义为包括以下任何设备或系统(或其组合):该设备或系统(或其组合)包括至少一个物理有形处理器和物理有形存储器,该物理有形存储器能够在其上具有可以由处理器执行的计算机可执行指令。存储器可以采取任何形式并且可以取决于计算系统的性质和形式。计算系统可以分布在网络环境之上并且可以包括多个构成的计算系统。
如图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对应的各种计算系统。其余附图的计算系统包括可以实现如将解释的本文中所公开的各种实施例的各种组件或功能块。各种组件或功能块可以在本地计算系统上被实现,或者可以在包括驻留在云中的元件或者实现云计算的各方面的分布式计算系统上被实现。各种组件或功能块可以被实现为软件、硬件、或者软件和硬件的组合。其余附图的计算系统可以包括比图中所示的组件更多或更少的组件,并且组件中的一些组件可以根据情况被组合。
现在将关于图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或至少具有为其创建和/或与其相关联的DID 205的任何实体、人类或非人类。尽管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不同,常规的集中式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描述了如何使用DID 205。因此,DID文档210包括对DID 205的引用,DID 205是由DID文档210描述的DID。在一些实施例中,DID文档210可以根据由分布式账本220指定的方法(诸如区块链)来实现,分布式账本220将用于存储DID 205的表示,如下面将更详细地解释的。因此,取决于特定分布式账本,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可以指定在生物特征(biometric)操作中使用公钥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对DID 205的使用。当DID所有者201是未成年孩子并且第三方是孩子的父母或监护人时,这可能是有用的。授权信息212可以允许父母或监护人限制对DID所有者201的使用直到孩子不再是未成年人为止。
授权信息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可能只想在DID文档中披露他或她的职位或其他背景数据(例如,学校教师、FBI探员、21岁以上的成年人等),而不是他或她的名字。作为又一个示例,人物角色可以特定于作为个人的DID所有者201是谁。作为示例,DID所有者201可以包括将他或她标识为特定慈善组织的志愿者、特定公司的雇员、特定奖项的获奖者等的信息等等。
DID文档210还可以包括凭据信息215。凭据信息215可以是与DID所有者201的背景相关联的任何信息。例如,凭据信息215可以是(但不限于)资格、成就、政府ID、诸如护照或驾照等政府权利、支付提供方或银行账户、大学学位或其他教育历史、就业状况和历史,或者有关DID所有者201的背景的任何其他信息。在一些实施例中,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文档210的指针以外,DID散列231、DID散列241和DID散列251还可以各自包括指定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所有者21拥有或以其他方式在DID所有者201控制之下的各种设备和计算系统。这些可以包括用户设备301。用户设备301可以是但不限于诸如智能电话等移动设备、诸如膝上型计算机等计算设备、或者诸如包括计算能力的汽车或电器等任何设备。设备301可以包括在设备上操作的Web浏览器302和操作设备的操作系统303。更广泛地说,虚线304表示这些设备中的所有设备都可以被DID所有者201拥有或以其他方式在DID所有者201控制之下。
环境300还包括DID管理模块320。应当注意,在操作中,DID管理模块320可以驻留在如相应的线301a、302a和303a所示的用户设备301、Web浏览器302和操作系统303上并且由其执行。因此,为了便于解释,DID管理模块320被示出为单独的。在一些实施例中,管理模块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被配置为将记录与DID 205相关的事务的特定分布式账本。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文档210会由创建模块330经由寄存器310来更新,并且这将反映在分布式账本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、浏览器302或操作系统303上被创建。以这种方式,第三方(并且最重要的是DID管理模块320的提供方)可以获取对私钥206的控制的机会很小。
然而,DID所有者201可能丢失存储私钥206的设备,这可能导致DID所有者201丢失对DID 205的访问。因此,在一些实施例中,UI 335可以包括允许DID所有者201将私钥206导出到在DID所有者201的控制之下的设备外安全数据库305的选项。作为示例,数据库305可以是下面关于图4所描述的身份中枢410中的一个身份中枢410。存储模块380被配置为将数据(例如私钥206或由DID所有者201制作或关于DID所有者201的凭据信息215)存储在设备之外在数据库305或身份中枢410中,这将在后面更详细地描述。当然,在一些实施例中,如果设备具有足够的存储资源,那么存储模块380可以至少将一些数据存储在设备上。在一些实施例中,私钥206可以被存储为可以由DID所有者201扫描的QR码。
在其他一些实施例中,DID生命周期管理模块320可以包括可以用于恢复丢失的私钥206的恢复模块360。在操作中,恢复模块360允许DID所有者201在创建DID 205时选择一种或多种恢复机制365,该一种或多种恢复机制365稍后可以用于恢复丢失的私钥。在具有UI 335的实施例中,UI 335可以允许DID所有者201提供在恢复器件将由一个或多个恢复机制365使用的信息。恢复模块然后可以在与DID 205相关联的任何设备上运行。
DID管理模块320还可以包括用于从DID 205撤销或断开设备的撤销模块370。在操作中,撤销模块可以使用UI元素335,UI元素335可以允许DID所有者201指示对将设备与DID205的关联移除的期望。在一个实施例中,撤销模块370可以访问DID文档210并且可以使对设备的所有引用从DID文档210被移除。备选地,针对设备的公钥可以被移除。DID文档210中的这种改变然后可以被反映为分布式账本220上的已更新事务,如前所述。
图4示出了可以在其中利用诸如DID 205等DID的计算系统环境400的实施例。具体来说,环境400将用于描述与一个或多个去中心化存储库或身份中枢410相关的DID 205的使用,改一个或多个去中心化存储库或身份中枢410各自在DID所有者201的控制之下以存储属于或关于DID所有者201的数据。举例来说,可以使用图3的存储模块380将数据存储在身份中枢内。应当注意,图4可以包括对首先关于图2或3所讨论的元素的引用,并且因此为了便于解释而使用相同附图标记。
在一个实施例中,身份中枢410可以是同一身份中枢的多种情况。这由线410A表示。因此,各种身份中枢410可以包含至少一些相同的数据和服务。因此,如果对身份中枢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,设置421允许数据被公开暴露,但不包括对DID所有者201的任何认证。这种类型的数据可以用于相对不重要的数据,诸如配颜色方案等。数据的第二子集可以具有设置421,设置421允许数据被公开暴露并且包括对DID所有者201的认证。数据的第三子集可以具有设置421,设置421使用与DID所有者201相关联的私钥206和公钥207对(或某个其他密钥对)来加密数据的该子集。这种类型的数据将要求一方能够访问公钥207或某个其他相关联的公钥,以便将数据解密。该过程还可以包括对DID所有者201的认证。数据的第四子集可以具有将该数据限制到第三方的子集的设置421。这可能要求使用与第三方的子集相关联的公钥来解密数据。例如,DID所有者201可以使设置421指定只有与DID所有者201的朋友相关联的公钥可以解密该数据。关于由存储模块380存储的数据,这些设置411可以至少部分地由图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可能希望以先前所描述的方式来向已经与DID205相关联的身份中枢411认证新设备301。因此,DID所有者201可以利用与新用户设备301相关联的DID管理模块320向身份中枢411发送消息,以宣称新用户设备与DID所有者201的DID 205相关联。
然而,身份中枢411最初可能未将新设备识别为由DID所有者201拥有。因此,身份中枢411可以使用消息收发模块440来联系DID解析器450。被发送给DID解析器450的消息可以包括DID 205。
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中的其余身份中枢的数据和服务。
将注意,该验证新用户设备301的过程被执行,而不需要DID所有者201在身份中枢411可以被访问之前向身份中枢411的提供方(即,第一云存储装置提供方)提供任何用户名、密码等。而是,访问是基于DID 205、DID文档210、以及相关联的公钥和私钥来以去中心化方式被确定的。由于这些一直在DID所有者201的控制中,所以身份中枢411的提供方未涉及,并且因此不知道事务或DID所有者201的任何个人信息。
在另一示例实施例中,DID所有者201可以向第三方实体401提供DID 205,使得第三方可以访问被存储在身份中枢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。
图5图示了计算系统环境500的实施例,其将用于解释根据本文公开的实施例的基于事件的DID委托权限转移。应注意,由于计算系统环境500可以与先前描述的计算系统环境100到400中的一个或多个计算系统环境对应,因此图5可以包含对首先关于图2到图4所讨论的元件的参考,且因此为了便于说明,可以使用相同的附图标记。应注意,尽管图5中所示的各种元件被示为是分开的,但这只是为了便于说明。因此,可以根据需要组合各种元件,并且可以存在比图5所图示更多或更少的元件。
如所图示,计算系统环境500可以包括可以被认为是第一DID用户的DID所有者201和可以被认为是第二DID用户的DID用户510。DID用户510可以拥有或以其他方式控制可以以先前所描述的方式产生的DID 515。DID用户510还可以拥有或以其他方式控制身份中枢516,其可以以类似于先前描述的身份中枢410的方式起作用。尽管未图示,DID用户510还可以访问DID管理模块,该DID管理模块可以以与先前描述的DID管理模块320类似的方式起作用。
DID所有者201可以基于给予DID所有者201委托权限的法律关系,而具有代表DID用户510使用DID 515的授权。举例来说,在一个实施例中,DID所有者201可以是DID用户510的父母或其他法定监护人、并且居住在给予父母或法定监护人委托权限以代表未成年子女或其他法定被监护人获取并且然后使用DID的法律管辖范围。因此,在这样的实施例中,DID所有者201能够获取针对DID用户510的DID 515,并且然后代表DID用户510使用DID 515。将理解,作为父母或其他法定监护人的法律关系给予DID所有者201代表DID用户510使用DID515的委托权限,而不是由DID用户510进行的任何主动委托。
在另一实施例中,DID所有者201可以与DID所有者用户510结婚或处于等同于结婚的同居伴侣关系、并且居住在允许配偶或同居伴侣代表他或她的配偶或同居伴侣使用DID的管辖范围内。因此,在这样的实施例中,DID所有者201能够代表DID用户510使用DID515。同样,作为配偶或同居伴侣的法律关系给予DID所有者201代表DID用户510使用DID 515的委托权限,而不是由DID用户510的进行的任何主动委托。应注意,除了父母、监护人、配偶或同居伴侣之外,在各种法律管辖范围中可能存在任何数目的附加法律关系,这些关系给予DID所有者201代表DID用户510获取和/或使用DID515的委托权限。因此,本文公开的实施例不限于DID所有者201与DID用户510之间的任何特定法律关系。
然而,在其他一些实施例中,DID所有者201和DID用户510可能不是给予DID所有者201代表DID用户510获取和/或使用DID515的委托权限的法律关系。因此,在这样的实施例中,DID所有者201和DID用户510可以签订法律协议,其中DID用户510将DID 515主动地委托给DID所有者201以代表他或她使用。举例来说,在婚姻或同居伴侣关系不会自动地将委托权限给DID所有者201代表DID用户510使用DID 515的法律管辖范围中,已婚或同居的DID所有者201和DID用户510可以签订提供这种委托权限的法律协议。该法律协议可以与DID用户510通过指定委托的条款和限制以及委托应当持续多长时间来主动地将DID 515的使用委托给DID所有者201一样简单。在其他一些实施例中,DID所有者201和DID用户510可以签订诸如合同等的法律协议。
在一些实施例中,DID所有者201可以是DID用户510的雇员。在这样的实施例中,法律协议可以是雇佣合同等,指定DID所有者201具有代表DID用户510使用DID 515的委托权限,只要DID所有者201被DID用户510雇佣。应注意,DID所有者201和DID用户510可以签订任何数目的法律协议,这些协议向DID所有者201提供代表DID用户510使用DID 515的委托权限。因此,本文公开的实施例不受任何类型的法律协议的限制。
在一些实施例中,可能会发生可以改变之前所讨论的委托权限的某些事件。在一些实施例中,DID所有者201与DID用户510之间的法律关系可以改变,使得DID用户510获得同意或拒绝DID 515的委托使用的能力。在其他一些实施例中,DID所有者201与DID用户510之间的法律协议可以被终止或可以改变,使得DID用户510不再希望将DID 515的使用委托给DID所有者201。有利地,本文公开的实施例提供了一种在发生各种事件时将委托权限从DID所有者201转移回DID用户510的机制,如现在将解释的。
如图5所图示,计算系统环境500可以包括委托模块520。在一个实施例中,委托模块520可以由第三方实体实现,诸如DID管理模块320和/或身份中枢410的提供方。在其他一些实施例中,委托模块520可以被托管在与DID所有者201所拥有的设备301或DID用户510所拥有的任何设备分开的服务器计算机上。在又一些其他实施例中,委托模块520可以是DID管理模块320的一部分或者是由DID用户510所拥有的DID管理模块的一部分,或者可以至少与DID管理模块320或由DID用户510所拥有的DID管理模块共享一些功能。在进一步的一些实施例中,委托模块520可以是身份中枢410中的一个身份中枢或身份中枢516的一部分或由其托管。因此,本文公开的实施例不受委托模块520在哪里实现或由实现委托模块的实体限制。
如所图示,委托模块520可以包括法律关系模块或数据库530。在操作中,法律关系模块530可以被配置为存储或访问法律关系信息531、532,以及如省略号533所图示的关于DID所有者201与DID用户510之间的各种法律关系的任何数目的附加信息。举例来说,在一个实施例中,法律关系信息531-533可以声明父母或法定监护人具有自动权限来代表他或她的孩子或法定受监护人获取和使用委托的DID,直到孩子或法定受监护人达到成年年龄,该年龄可以由信息531限定。在另一实施例中,法律关系信息531-533可以指定配偶具有代表他或她的配偶使用委托的DID的权限。在又一些其他实施例中,法律关系信息531-533可以包括关于DID所有者201与DID用户510之间的法律关系的特定信息,诸如他们是否是父母和孩子、DID用户510的年龄和各方的婚姻状况。在一些实施例中,法律关系模块530可以是可更新的,使得信息的改变(诸如管辖范围内成年年龄的改变或婚姻法的改变)可以在法律关系信息531-533中被反映。
在一些实施例中,委托模块520还可以包括法律协议模块或数据库540。在操作中,法律关系模块540可以被配置为存储或访问各种法律协议541、542,以及如省略号543所图示的DID所有者201与DID用户510之间的任何数目的附加法律协议。举例来说,在一个实施例中,法律协议541-543可以是DID所有者201与DID用户510之间的雇佣合同,该雇佣合同给予DID所有者201使用DID 515的委托权限。在另一实施例中,法律协议541-543可以是声明DID用户510同意DID 515的委托使用的协议。
委托模块520还可以包括事件模块550。在操作中,如下文将更详细解释的,事件模块550可以监测DID所有者201对DID 515的尝试使用以确定是否已经发生已改变了DID所有者201与DID用户510之间的法律关系(即531、532或533)或法律协议(即541、542或543)的事件551、552或如由省略号形553图示的任何数目的附加事件。举例来说,在一个实施例中,事件551-553可以是DID用户510已经达到相关管辖范围中的成年年龄并且因此法律上不再受制于DID所有者201。在另一实施例中,事件551-553可以是DID用户510已经与DID所有者201离婚或者DID用户510已经死亡。在又一些其他实施例中,事件551-553可以是DID用户510已终止了对DID所有者201的雇佣或者DID用户510已终止了与DID所有者201的法律协议。
如果已经发生事件551-553,那么DID所有者201可能不再具有代表DID用户510使用委托的DID 515的委托权限。在这样的情况下,委托模块520可以撤销委托权限,使得DID所有者201不再能够代表DID用户510使用DID 515。然而,如果尚未发生事件551-553,则委托模块520可以继续允许DID所有者代表DID用户510使用委托的DID 515。
现在将解释在基于事件的DID委托权限转移的过程中使用DID委托模块520的具体示例。在一个具体示例中,假设DID所有者201是DID用户510的父母,并且因此具有在相关法律管辖范围内代表DID用户510使用委托的DID 515的自动权限。因此,如图5所示,DID所有者515可以通过将委托的DID 515呈现给委托模块520来示出尝试使用委托的DID 515的指示。法律关系模块530可以例如基于法律关系信息531-533来确定DID所有者201被授权代表DID用户510使用委托的DID 515,因为DID用户510未满相关管辖范围的成年年龄。事件模块550还可以确定尚未发生会改变法律关系的事件551-553。因此,DID所有者201可以被允许代表DID用户510使用DID 515。
委托模块520可以向实体560提供委托的DID 515,该实体560可以拥有DID 565或以其他方式与DID 565相关联。DID所有者201可以使用委托的DID 515来从实体560获取针对DID用户510的各种类型的DID相关数据,诸如DID相关数据566。DID相关数据566(和本文讨论的任何其他DID相关数据)可以被认为是“DID相关”,因为该数据是由DID用户510的DID515标识并与之相关联的数据。DID相关数据566(和本文讨论的任何其他DID相关数据)可以包含任何合理类型的数据,诸如视频、音频、图片、文档数据、会员数据等。因此,本文公开的实施例不受DID相关数据的类型限制。举例来说,假设实体560是社交媒体服务。在这样的情况下,DID所有者201可以使用委托的DID 515来为DID用户510注册社交媒体账户。社交媒体账户可以是一种类型的DID相关数据。如所示出,DID相关数据566可以被存储在DID所有者201的身份中枢411中,并且还被存储在DID用户510的身份中枢516中。因此,DID所有者201和DID用户510两者都能够使用DID相关社交媒体账户566。
同样地,委托模块520可以向实体570提供委托的DID 515,该实体570可以拥有DID575或以其他方式与DID 575相关联。DID所有者201可以使用委托的DID 515来从实体570获取针对DID用户510的各种类型的DID相关数据,诸如DID相关数据576。举例来说,假设实体570是视频剪辑的提供方。在这样的情况下,DID所有者201可以使用委托的DID 515来为DID用户510获取视频剪辑。视频剪辑可以是一种类型的DID相关数据。如所示出,DID相关数据576可以被存储在DID所有者201的身份中枢411中,并且还被存储在DID用户510的身份中枢516中。因此,DID所有者201和DID用户510两者都能够使用DID相关视频剪辑576。
假设在稍后时间,DID所有者210再次尝试代表DID用户510使用委托的DID 515。还假设这一稍后时间是在DID用户515已经达到相关管辖范围中的成年年龄之后。在这样的情况下,事件模块550可以确定事件551-553已经发送,即DID用户515由于他或她已成年而不再是DID所有者201的未成年子女。因此,由法律关系信息531-533指定的法律关系将不再有效,并且DID所有者201将不再具有代表DID用户510使用DID 515的自动委托权限。
因此,委托模块520可以自动地撤销权限的委托,使得DID所有者201不再能够代表DID用户510使用DID 515。举例来说,在一个实施例中,委托模块520可以向DID所有者201提供命令521,该命令521通过移除由DID所有者201使用来指示他或她具有委托权限的任何令牌、签名的声明等来撤销委托权限。
可理解,如果授权被撤销,那么DID用户510可能想要恢复对DID所有者201代表DID用户510所获取的任何DID相关数据的完全控制。因此,在一个实施例中,命令521还可以使DID所有者201从身份中枢411中移除DID相关数据566和576(以及任何其他DID相关数据),如虚线所图示。以这种方式,DID所有者201不再可以使用或访问与DID 515相关的DID相关数据,从而给予DID用户510对这样的DID相关数据的完全控制。
在一些实施例中,即使在事件551-553发生之后,DID用户510可能仍希望继续允许DID所有者201具有代表他或她使用DID 515的授权。举例来说,即使DID用户510现在已成年,但他或她可能仍希望他或她的父母代表他或她行动。因此,DID用户510可以向委托模块520提供通知511,所述通知511指定DID用户510正在将使用DID 515的权限委托给DID所有者201。因此,DID所有者201能够代表DID用户515使用DID 515。然而,这种委托不是基于法律关系或法律协议,而是基于DID用户510的明确委托。
在一些实施例中,指示525可以由委托模块520提供给分布式账本220。指示525可以指定DID所有者201不再具有代表DID用户510使用DID 515的授权。这可以向实体560和570提供DID所有者201应在已撤销权限时尝试继续使用DID 515的通知。
作为第二示例,假设DID所有者201和DID用户510先前已经结婚并且因此DID所有者201已经能够以先前所描述的方式代表DID用户510使用委托的DID 515。还假设在稍后时间,DID所有者210再次尝试代表DID用户510使用委托的DID 515。然而,在稍后时间,假设DID用户510已与DID所有者201离婚或已经死亡。在这种情况下,事件模块550可以确定发生了事件551-553,在这个示例中,所述事件是离婚或死亡。因此,由法律关系信息531-533指定的法律关系将不再有效,并且DID所有者201将不再具有代表DID用户510使用DID 515的自动授权。
因此,委托模块520可以自动地撤销授权,使得DID所有者201不再能够以先前所描述的方式代表DID用户510使用DID 515。在离婚的情况下,可以给予DID用户510对任何DID相关数据的完全控制,如先前所描述。在死亡的情况下,对DID相关数据的控制可以由DID用户510的遗嘱等来确定。在任一情况下,DID所有者201不再能够代表DID用户510使用DID515,除非DID用户以先前所描述的方式明确授权。
在第三具体示例中,假设DID所有者201和DID用户510已经签订了法律协议541-543,例如雇佣合同,所述协议给予DID所有者201代表DID用户510使用委托的DID 515的授权。因此,当法律协议541-543有效时,DID所有者201可以以先前所描述的方式代表DID用户510行动。即,法律协议模块540可以验证法律协议仍然有效,并且因此委托模块520可以允许DID 515的委托的使用。
然而,假设在稍后时间,法律协议541-543被DID用户510终止。在雇佣合同的情况下,这个事件可能是DID用户510已解雇DID所有者201或以其他方式终止了对DID所有者201的雇佣。当DID所有者201再次尝试代表DID用户510使用委托的DID 515时,事件模块550可以确定已经发生事件551-553,在这个示例中,该事件是法律协议的终止。因此,DID所有者201将不再具有代表DID用户510使用DID 515的授权。因此,委托模块520可以自动地撤销权限的委托,使得DID所有者201不再能够以先前所描述的方式代表DID用户510使用DID 515。
应注意,在一些实施例中,诸如当DID用户达到成年年龄时,事件模块550可能能够自动地确定已经发生事件。换句话说,由于事件模块550知道关于DID用户510的信息,诸如他或她的年龄以及DID所有者201与DID用户510之间的法律关系,因此事件模块能够自动地确定已经发生事件(即DID用户510达到成年年龄)。
在其他一些实施例中,DID用户510可以通知事件模块550已经发生事件551-553,如512所示。举例来说,如果DID用户510终止了法律协议541-543或者离婚了,则他或她可以通知事件模块550已经发生这样的事件,使得当DID所有者201稍后尝试代表DID用户510使用委托的DID 515时该事件可以被确定。
下面的讨论现在涉及可以被执行的多种方法和方法动作。虽然方法动作可以按特定顺序讨论或在流程图中图示为按特定顺序发生,但是除非特别说明,或者因为一个动作依赖于在该动作被执行之前完成另一动作而被要求,否则不要求特定顺序。
图6图示了用于基于事件的DID委托权限转移的示例方法600的流程图。方法600将关于先前讨论的图1-图5中的一个或多个图进行描述。
方法600包括以下动作:接收第一DID用户正尝试代表第二DID用户使用与第二DID用户相关联的委托的DID的指示,通过操作第一DID用户与第二DID用户之间提供委托权限的法律关系或法律协议中的一项或多项,第一DID用户先前已经被委托使用委托的DID的权限(动作610)。举例来说,如先前所描述,可以是第一DID用户的DID所有者201可以被给予代表可以是第二DID用户的DID用户510使用委托的DID 515的委托权限。这种委托权限可以基于法律关系531-533或法律协议541-543。委托模块520可以接收DID所有者201正尝试使用委托的DID 515的指示。
方法600包括以下动作:确定是否已经发生改变第一DID用户与第二DID用户之间的法律关系或法律协议的事件(动作620)。举例来说,如先前所描述,事件模块550可以确定是否已经发生改变法律关系531-533或法律协议541-543的事件551-553。
如果已经发生事件,则方法600包括以下动作:自动地撤销对使用委托的DID的权限的委托,使得第一DID用户不再能够代表第二DID用户使用委托的DID(动作630)。举例来说,如先前所描述,如果已经发生事件551-553,则委托模块520可以自动地撤销对DID所有者201代表DID用户510使用委托的DID 515的权限的委托。
如果事件尚未发生,则方法600包括以下动作:允许第一DID用户继续代表第二DID用户使用委托的DID(动作640)。举例来说,如先前所描述,如果尚未发生事件551-553,则委托模块520可以继续允许DID所有者201代表DID用户510使用委托的DID 515。
对于本文中公开的过程和方法,在过程和方法中执行的操作可以以不同顺序实现。此外,所概述的操作仅作为示例提供,在不偏离所公开的实施例的本质的情况下,其中一些操作可以是可选的、组合成更少步骤和操作、补充有另外的操作、或者扩展为附加操作。
本发明可以在不脱离其精神或特性的情况下以其他特定形式体现。所描述的实施例在所有方面都应当被视为说明性的而非限制性的。因此,本发明的范围由所附权利要求而不是由前述说明指示。落入权利要求的等效物的含义和范围内的所有变化都应当被包含在其范围内。
Claims (15)
1.一种在实现分布式账本的去中心化网络中被实现的计算系统,所述分布式账本被配置为将一个或多个去中心化身份(DID)返回给所述计算系统的一个或多个用户,所述计算系统包括:
一个或多个处理器;以及
一个或多个计算机可读介质,其上具有计算机可执行指令,所述指令被结构化使得当由所述一个或多个处理器执行时,使所述计算系统:
接收第一DID用户正在尝试代表所述第二DID用户使用与第二DID用户相关联的委托的DID的指示,通过操作所述第一DID用户与第二DID用户之间的、提供委托权限的法律关系或法律协议中的一项或多项,所述第一DID用户先前已经被委托使用所述委托的DID的权限;
确定是否已经发生已经改变所述第一DID用户与第二DID用户之间的所述法律关系或所述法律协议的事件;
如果已经发生事件,则自动地撤销使用所述委托的DID的权限的所述委托,使得所述第一DID用户不再能够代表所述第二DID用户来使用所述委托的DID;以及
如果尚未发生事件,则允许所述第一DID用户继续代表所述第二DID用户来使用所述委托的DID。
2.根据权利要求1所述的计算系统,其中被执行的所述计算机可执行指令还使得所述计算系统:
如果已经发生事件,则使所述第一DID用户将对与所述委托的DID相关联的所有DID相关数据的控制返回给所述第二DID用户。
3.根据权利要求1所述的计算系统,其中所述法律关系是所述第一DID用户是所述第二DID用户的父母或其他法定监护人,所述事件是所述第二DID用户已经达到成年或法定监护权已经被终止,所述第二DID用户因此变得在法律上独立于所述第一DID用户。
4.根据权利要求1所述的计算系统,其中所述法律关系是所述第一DID用户与所述第二DID用户结婚,所述事件是所述第二DID用户已经与所述第一DID用户离婚。
5.根据权利要求1所述的计算系统,其中所述法律关系是所述第一DID用户与所述第二DID用户结婚,所述事件是所述第二DID用户已经死亡。
6.根据权利要求1所述的计算系统,其中所述法律协议是声明所述第一DID用户是所述第二DID用户的雇员的雇佣合同,所述事件是所述第二DID用户已经终止对所述第一DID用户的所述雇佣。
7.根据权利要求1所述的计算系统,其中所述法律协议是声明所述第一DID用户能够代表所述第二DID用户行动的协议,所述事件是所述第二DID用户已经终止所述协议。
8.根据权利要求1所述的计算系统,其中所执行的所述计算机可执行指令还使所述计算系统:
在所述分布式账本中记录指示符,所述指示符指示所述第一DID用户的使用所述委托的DID的委托权限已经被撤销。
9.根据权利要求1所述的计算系统,其中确定是否已经发生所述事件包括:
从所述第二DID用户接收通知已经发生所述事件的输入。
10.根据权利要求1所述的计算系统,其中确定是否已经发生所述事件包括:
基于所述法律关系来自动地确定已经发生所述事件。
11.一种在计算系统中用于基于事件的DID委托权限转移的方法,所述计算系统在实现分布式账本的去中心化网络中被实现,所述分布式账本被配置为将一个或多个去中心化身份(DID)返回给所述计算系统的一个或多个用户,所述方法包括:
接收第一DID用户正在尝试代表第二DID用户使用与所述第二DID用户相关联的委托的DID的指示的动作,通过操作所述第一DID用户与第二DID用户之间的、提供委托权限的法律关系或法律协议中的一项或多项,所述第一DID用户先前已经被委托使用所述委托的DID的权限;
确定是否已经发生改变所述第一DID用户与第二DID用户之间的所述法律关系或所述法律协议的事件的动作;
如果已经发生事件,则自动地撤销使用所述委托的DID的权限的所述委托、使得所述第一DID用户不再能够代表所述第二DID用户来使用所述委托的DID的动作;以及
如果尚未发生事件,则允许所述第一DID用户继续代表所述第二DID用户来使用所述委托的DID的动作。
12.根据权利要求11所述的方法,还包括:
如果已经发生事件,则使所述第一DID用户将对与所述委托的DID相关联的所有DID相关数据的控制返回给所述第二DID用户。
13.根据权利要求11所述的方法,其中所述法律关系是所述第一DID用户是所述第二DID用户的父母或其他法定监护人,所述事件为所述第二DID用户已经达成年或所述法定监护权已经被终止,所述第二DID用户因此变得在法律上独立于所述第一DID用户。
14.根据权利要求11所述的方法,其中所述法律关系是所述第一DID用户与所述第二DID用户结婚,所述事件是所述第二DID用户与所述第一DID用户离婚。
15.根据权利要求11所述的方法,其中所述法律关系是所述第一DID用户与所述第二DID用户结婚,所述事件是所述第二DID用户死亡。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/570,863 US11522858B2 (en) | 2019-09-13 | 2019-09-13 | Event based transfer of did delegated authority |
US16/570,863 | 2019-09-13 | ||
PCT/US2020/038286 WO2021050142A1 (en) | 2019-09-13 | 2020-06-18 | Event based transfer of did delegated authority |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114391148A true CN114391148A (zh) | 2022-04-22 |
Family
ID=71527956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080063040.4A Pending CN114391148A (zh) | 2019-09-13 | 2020-06-18 | 基于事件的did委托权限转移 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11522858B2 (zh) |
EP (1) | EP4028922A1 (zh) |
CN (1) | CN114391148A (zh) |
WO (1) | WO2021050142A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11250423B2 (en) * | 2012-05-04 | 2022-02-15 | Institutional Cash Distributors Technology, Llc | Encapsulated security tokens for electronic transactions |
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 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6611807B1 (en) * | 1998-03-18 | 2003-08-26 | Economic Security Planning, Inc. | Economic security planning method and system |
US20090112670A1 (en) * | 2003-05-29 | 2009-04-30 | Black Steven C | Human resources method for employee termination procedures |
US8010388B2 (en) * | 2006-03-02 | 2011-08-30 | Hartford Fire Insurance Company | Longevity insurance |
US20140007197A1 (en) | 2012-06-29 | 2014-01-02 | Michael John Wray | Delegation within a computing environment |
US11436636B2 (en) * | 2014-08-22 | 2022-09-06 | Salesforce.Com, Inc. | Communicating information about product or service |
US11329980B2 (en) * | 2015-08-21 | 2022-05-10 | Veridium Ip Limited | System and method for biometric protocol standards |
WO2017173399A1 (en) * | 2016-03-31 | 2017-10-05 | Clause, Inc. | System and method for creating and executing data-driven legal contracts |
US11025626B1 (en) * | 2017-07-26 | 2021-06-01 | EMC IP Holding Company LLC | Decentralized identities for access to multiple computing resource systems |
US11336735B2 (en) | 2018-02-05 | 2022-05-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for managing service access authorization using smart contracts |
US11263204B2 (en) | 2018-02-06 | 2022-03-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for managing cloud services using smart contracts and blockchains |
US11038891B2 (en) * | 2018-10-29 | 2021-06-15 | EMC IP Holding Company LLC | Decentralized identity management system |
US10887792B2 (en) * | 2018-12-27 | 2021-01-05 | Intel Corporation | Pseudo-random label assignments for packets in a transmission burst |
US11636776B2 (en) * | 2018-12-28 | 2023-04-25 | Conéctate Soluciones Y Aplicaciones Sl | Unified identification protocol in training and health |
US11030297B2 (en) * | 2019-01-04 | 2021-06-08 | Comcast Cable Communications, Llc | Systems and methods for device and user authorization |
US10984495B2 (en) * | 2019-04-17 | 2021-04-20 | Capital One Services, Llc | Updating a document based on transaction analysis |
US20210035120A1 (en) * | 2019-07-31 | 2021-02-04 | EMC IP Holding Company LLC | Adaptive and verifiable bill of materials |
US11165579B2 (en) * | 2019-08-29 | 2021-11-02 | American Express Travel Related Services Company, Inc. | Decentralized data authentication |
-
2019
- 2019-09-13 US US16/570,863 patent/US11522858B2/en active Active
-
2020
- 2020-06-18 EP EP20737686.4A patent/EP4028922A1/en active Pending
- 2020-06-18 CN CN202080063040.4A patent/CN114391148A/zh active Pending
- 2020-06-18 WO PCT/US2020/038286 patent/WO2021050142A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
US11522858B2 (en) | 2022-12-06 |
US20210084039A1 (en) | 2021-03-18 |
EP4028922A1 (en) | 2022-07-20 |
WO2021050142A1 (en) | 2021-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3743839B1 (en) | Attestation management | |
US11288389B2 (en) | Scoped sharing of DID-associated data using a selector | |
US11762746B2 (en) | Failover between decentralized identity stores | |
CN113614725A (zh) | 数据位置和政策遵守中的用户选择 | |
WO2020251693A1 (en) | Channeling data with decentralized identity stores | |
US11212263B2 (en) | Dynamic generation of pseudonymous names | |
US11184334B2 (en) | Control of the delegated use of DID-related data | |
US11916919B2 (en) | Resolving decentralized identifiers using multiple resolvers | |
US20210058403A1 (en) | Resolving decentralized identifiers at customized security levels | |
CN115191104A (zh) | 由去中心化标识符锚定的去中心化标识 | |
CN113632088A (zh) | 用于did证明的回调模式 | |
EP4018614B1 (en) | Did delegation/revocation to another did | |
CN114391148A (zh) | 基于事件的did委托权限转移 | |
US11240244B2 (en) | Presentation interrupt for a DID attestation | |
US11288358B2 (en) | On skin decentralized identity technologies |
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 |