去中心化的系统中的私有和公共媒体数据的制作方法

文档序号:24728361发布日期:2021-04-16 17:04阅读:110来源:国知局
去中心化的系统中的私有和公共媒体数据的制作方法
去中心化的系统中的私有和公共媒体数据


背景技术:

1.目前使用的证明身份的文档或记录大多是由中心化的(centralized)组织签发的,诸如政府、学校、雇主或其他服务中心或监管机构。这些组织通常在中心化的身份管理系统中维护每个成员的身份。中心化的身份管理系统是中心化的信息系统,其用于组织管理已发布的身份、他们的认证、授权、角色和特权。中心化的身份管理系统已经被认为是安全的,因为它们通常使用专业维护的硬件和软件。典型地,身份颁发组织设置用于向该组织注册人员的条款和要求。最后,当一方需要验证另一方的身份时,验证方通常需要通过中心化的身份管理系统来获得验证和/或认证另一方身份的信息。
2.去中心化的(decentralized)标识符(did)是新型标识符,其独立于任何中心化的注册机构、身份提供方或证书颁发机构。分布式账本技术(诸如区块链)提供了使用完全去中心化的标识符的机会。分布式账本技术使用全局分布式账本以可验证的方式来记录双方或更多方之间的交易。一旦交易被记录,账本的该部分中的数据就不能被追溯改变,除非账本的所有后续部分都被改变,这提供了相当安全的平台。从更广泛的意义上说,did可以进一步包括did方法,该did方法指定客户端如何注册、替换、旋转和/或恢复密钥。did方法还可以设置密钥的截止日期。
3.本文所要求保护的主题不限于解决任何缺点或仅在如上所述的环境中操作的实施例。相反,提供此背景只是为了说明一个示例性的技术领域,其中本文所描述的一些实施例可以被实践。


技术实现要素:

4.发明内容被提供是为了以简化的形式介绍一些概念,这些概念将在下面的具体实施方式中进一步描述。本发明内容的目的不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用于帮助确定所要求保护的主题的范围。
5.本文所公开的实施例涉及用于按照以下方式将媒体数据插入到现有的媒体数据中的计算系统和方法:确保插入的数据不是对所有用户都可访问的。该计算系统和方法在实现分布式账本的去中心化的网络中被实现,该分布式账本被配置为支持针对该计算系统的一个或多个用户的一个或多个去中心化的身份(did)。对媒体数据的第一部分的访问被授予各种用户。该访问部分地基于与用户中的每个用户相关联的did。媒体数据的第二部分被接收,该第二部分被插入到媒体数据的第一部分中。媒体数据的第二部分仅由用户中的具有对媒体数据的第一部分的访问的一些用户可访问。对媒体数据的第二部分的访问还部分地基于用户子集中的每个用户的did。
6.附加的特征和优点将在下面的说明书中阐述,并且部分地将从描述中变得明显,或者可以通过本文中的教导的实践而获知。本发明的特征和优点可以通过所附权利要求中特别指出的手段和组合来实现和获得。根据以下描述和所附权利要求书,本发明的特征将变得更充分地明显,或者可以通过下文所述的本发明的实施而获知。
附图说明
7.为了描述上文列举的优点和特征以及其他优点和特征可以被获得的方式,将通过参考在附图中图示的具体实施例来对上文简要描述的主题进行更特定的描述。理解到这些附图仅描绘典型的实施例,因此不应被考虑为对本发明范围的限制,将通过使用附图以附加的特征和细节来描述和解释实施例,在附图中:
8.图1图示了示例计算系统,其中本文描述的原理可以被采用;
9.图2图示了用于创建去中心化的标识(did)的示例环境;
10.图3图示了对于各种did生命周期管理操作和服务的示例环境;
11.图4图示了用于将媒体数据插入到现有的媒体数据中的实施例;
12.图5a和图5b图示了图4的实施例的示例;以及
13.图6a

图6d图示了图4的实施例的备选示例;
14.图7图示了用于按照以下方式将媒体数据插入到现有的媒体数据中的示例方法的流程图:确保插入的数据不是对所有用户都可访问的;以及
15.图8图示了用于按照以下方式将媒体数据插入到现有的媒体数据中的备选示例方法的流程图:确保插入的数据不是对被所有用户都可访问的。
具体实施方式
16.本文所公开的实施例涉及用于按照以下方式将媒体数据插入到现有的媒体数据中的计算系统和方法:确保插入的数据不是对所有用户都可访问的。该计算系统和方法在实现分布式账本的去中心化的网络中被实现,该分布式账本被配置为支持针对该计算系统的一个或多个用户的一个或多个去中心化的身份(did)。对媒体数据的第一部分的访问被授予各种用户。该访问部分地基于与用户中的每个用户相关联的did。媒体数据的第二部分被接收,该第二部分被插入到媒体数据的第一部分中。媒体数据的第二部分仅由用户中的具有对媒体数据的第一部分的访问的一些用户可访问。对媒体数据的第二部分的访问还部分地基于用户子集中的每个用户的did。
17.相比于常规系统,本文所公开的实施例提供了技术进步,常规系统没有利用使用去中心化的标识符的分布式网络。另外,本文所公开的实施例允许用户按照以下方式将媒体数据插入到现有的媒体数据中:该媒体数据仅对某些其他用户可访问。另外,插入的媒体数据可以保持与现有的媒体数据成一列(in

line)。这增强了用户的可用性,因为他或她可以快速选择期望的媒体数据,可以更容易地查看插入的数据,并且还可以保留计算系统带宽。
18.因为本文描述的原理可以在计算系统的上下文中被执行,所以计算系统的一些介绍性讨论将关于图1进行描述。然后,相对于其余的图,该描述将回到did平台的原理。
19.计算系统现在正越来越多地采取各种各样的形式。例如,计算系统可以是手持式设备、家电、膝上型计算机、台式计算机、大型机、分布式计算系统、数据中心,或者甚至是传统上不被认为是计算系统的设备,诸如可穿戴设备(例如眼镜)。在本说明书和权利要求书中,术语“计算系统”被广义地定义为包括任何设备或系统(或其组合),该设备或系统包括至少一个物理和有形处理器,以及物理和有形存储器,该物理和有形存储器能够在其上具有可以由处理器执行的计算机可执行指令。存储器可以采取任何形式,并且可以取决于计
算系统的性质和形式。计算系统可以分布在网络环境上,并且可以包括多个组成计算系统。
20.如图1所示,在其最基本的配置中,计算系统100典型地包括至少一个硬件处理单元102和存储器104。处理单元102可以包括通用处理器,并且还可以包括现场可编程门阵列(fpga)、专用集成电路(asic)、或任何其他专用电路。存储器104可以是物理系统存储器,其可以是易失性的、非易失性的,或者两者的某种组合。术语“存储器”在本文中还可以用于指非易失性大容量存储器,诸如物理存储介质。如果计算系统是分布式的,则处理、存储器和/或存储能力也可以是分布式的。
21.计算系统100还在其上具有多个结构,该多个结构通常被称为“可执行组件”。例如,计算系统100的存储器104被图示为包括可执行组件106。术语“可执行组件”是计算领域普通技术人员所熟知的一种结构的名称,该结构被理解为可以是软件、硬件、或者它们的组合的结构。例如,当在软件中被实现时,普通技术人员将理解,可执行组件的结构可以包括软件对象、例程、方法等,该可执行组件可以在计算系统上被执行,不管这样的可执行组件是否存在于计算系统的堆中,或者该可执行组件是否存在于计算机可读存储介质上。
22.在这种情况下,普通技术人员将会认识到可执行组件的结构存在于计算机可读介质上,使得计算系统在由计算系统的一个或多个处理器(例如,通过处理器线程)解译时执行功能。这样的结构可以是由处理器直接可计算机读取的(如可执行组件是二进制的情况)。备选地,该结构可以被构造为可解译的和/或编译的(无论是在单个阶段还是在多个阶段中),以便生成由处理器可直接解译的这样的二进制。当使用术语“可执行组件”时,对可执行组件的示例结构的这种理解完全在计算领域的普通技术人员的理解之内。
23.术语“可执行组件”也由普通技术人员很好地理解为包括诸如硬编码的逻辑门或硬连线的逻辑门之类的结构,这些结构在硬件中独占地或几乎独占地被实现,诸如在现场可编程门阵列(fpga)、专用集成电路(asic)或任何其他专用电路内。因此,术语“可执行组件”是针对计算领域的普通技术人员所熟知的结构的术语,无论是用软件、硬件或组合来实现。在本描述中,还可以使用术语“组件”、“代理”、“管理器”、“服务”、“引擎”、“模块”、“虚拟机”等。如本描述中所使用的并且在这种情况下,这些术语(无论是否带有修饰子句)也旨在与术语“可执行组件”同义,并且因此具有计算领域普通技术人员所熟知的结构。
24.在下面的描述中,实施例参考由一个或多个计算系统执行的动作而被描述。如果这样的动作是用软件实现的,则响应于已经执行了构成可执行组件的计算机可执行指令,(执行该动作的相关联的计算系统的)一个或多个处理器指示该计算系统的操作。例如,这样的计算机可执行指令可以被体现在形成计算机程序产品的一个或多个计算机可读介质上。这种操作的示例涉及对数据的操纵。如果这样的动作被独占地或几乎独占地在硬件中实现,诸如在fpga或asic内,则计算机可执行指令可以是硬编码的或硬连线的逻辑门。计算机可执行指令(和操纵的数据)可以被存储在计算系统100的存储器104中。计算系统100还可以包含通信通道108,该通信通道108允许计算系统100通过例如网络110与其他计算系统通信。
25.尽管不是所有计算系统都需要用户界面,但是在一些实施例中,计算系统100包括用于与用户连接的用户界面系统112。用户界面系统112可以包括输出机构112a以及输入机构112b。本文描述的原理不限于精确的输出机构112a或输入机构112b,因为这将取决于设备的性质。然而,输出机构112a可以包括例如扬声器、显示器、触觉输出、全息图等。输入机
构112b的示例可以包括例如麦克风、触摸屏、全息图、相机、键盘、其他指针输入的鼠标,任何类型的传感器等。
26.本文所述的实施例可以包括或利用包括计算机硬件的专用或通用计算系统,计算机硬件诸如例如,一个或多个处理器和系统存储器,如下面更详细地讨论的。本文描述的实施例还包括物理和其他计算机可读介质以用于承载或存储计算机可执行指令和/或数据结构。这样的计算机可读介质可以是可以由通用或专用计算系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是物理存储介质。承载计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本发明的实施例可以包括至少两种明显不同种类的计算机可读介质:存储介质和传输介质。
27.计算机可读存储介质包括ram、rom、eeprom、cd

rom或其他光盘存储装置、磁盘存储装置或其他磁性存储设备,或任何其他物理的和有形的存储介质,该物理的和有形的存储介质可以用于存储呈计算机可执行指令或数据结构的形式的期望的程序代码部件,并且可以由通用或专用计算系统访问。
[0028]“网络”被定义为实现电子数据在计算系统和/或模块和/或其他电子设备之间的传输的一个或多个数据链路。当信息通过网络或其他通信连接(硬连线、无线或者硬连线或无线的组合)被传送或提供给计算系统时,计算系统正确地将该连接视为传输介质。传输介质可以包括网络和/或数据链路,该网络和/或数据链路可以用于承载呈计算机可执行指令或数据结构的形式的期望的程序代码部件,并且可以由通用或专用计算系统访问。上文的组合还应当被包括在计算机可读介质的范围内。
[0029]
进一步地,在到达各种计算系统组件时,呈计算机可执行指令或数据结构的形式的程序代码部件可以被自动地从传输介质传送到存储介质(反之亦然)。例如,通过网络或数据链路被接收的计算机可执行指令或数据结构可以被缓冲在网络接口模块(例如,“nic”)的ram内,然后最终被传送到计算系统ram和/或计算系统处易失性较低的存储介质。因此,应当理解,存储介质可以被包括在也(甚至主要)利用传输介质的计算系统组件中。
[0030]
例如,计算机可执行指令包括指令和数据,指令和数据当在处理器处被执行时,使通用计算系统、专用计算系统或专用处理设备执行某个功能或一组功能。备选地或另外,计算机可执行指令可以将计算系统配置为执行某个功能或一组功能。例如,计算机可执行指令可以是二进制文档,或甚至以下指令:该指令在被处理器直接执行之前经过某种转换(诸如编译),诸如中间格式指令(诸如汇编语言),或甚至是源代码。
[0031]
尽管主题已经用特定于结构特征和/或方法动作的语言进行了描述,但是应当理解,在所附权利要求中定义的主题不必限于上文描述的所描述的特征或动作。相反,所描述的特征和动作被公开为实现权利要求的示例形式。
[0032]
本领域技术人员将了解,本发明可以在具有许多类型的计算系统配置的网络计算环境中被实践,包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程的消费电子产品、网络pc、小型计算机、大型计算机、移动电话、pda、寻呼机、路由器、交换机、数据中心、可穿戴设备(诸如眼镜)等。本发明还可以在分布式系统环境中被实践,在分布式系统环境中,通过网络被链接(通过硬连线数据链路、无线数据链路、或者通过硬连线和无线数据链路的组合)的本地和远程计算系统均执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备两者中。
[0033]
本领域技术人员还将了解,本发明可以在云计算环境中被实践。云计算环境可以是分布式的,尽管这不是必需的。当分布式时,云计算环境可以在组织内国际分布和/或具有跨多个组织拥有的组件。在本说明书和以下权利要求中,“云计算”被定义为用于实现对可配置计算资源(例如,网络、服务器、存储装置、应用和服务)的共享池的按需网络访问的模型。“云计算”的定义不限于当模型被正确地部署时可以从这种模型中获得的其他众多优点中的任何优点。
[0034]
其余附图可以讨论各种计算系统,其可以对应于先前描述的计算系统100。如将进行解释的,其余附图的计算系统包括可以实现本文所公开的各种实施例的各种组件或功能块。各种组件或功能块可以在本地计算系统上被实现,或者可以在包括驻留在云中的元件或实现云计算的各方面的分布式计算系统上被实现。各种组件或功能块可以被实现为软件、硬件或软件和硬件的组合。其余附图的计算系统可以包括比附图中所示的组件更多或更少的组件,并且一些组件可以根据情况需要进行组合。尽管没有必要说明,但是计算系统的各种组件可以根据需要访问和/或利用处理器和存储器,诸如处理器102和存储器104,以执行它们的各种功能。
[0035]
现在将关于图2给出去中心化的标识(did)以及其被创建和所驻留的环境的一些介绍性讨论。如图2所示,did所有者201可以拥有或控制did 205,did 205表示did所有者201的身份。did拥有者201可以使用创建和注册服务来注册did,这将在下面更详细地解释。
[0036]
did所有者201可以是可能从did中受益的任何实体。例如,did所有者201可以是人类或人类的组织。这样的组织可能包括公司、部门、政府、代理机构或任何其他组织或组织集团。每个单独的人都可能具有一个did,而每个人所属的(多个)组织也可能同样具有一个did。
[0037]
did所有者201可以备选地是机器、系统或设备,或者(多个)机器、(多个)设备和/或(多个)系统的集合。在其他实施例中,did所有者201可以是机器、系统或设备的子部分。例如,设备可以是印刷电路板,其中该电路板的子部分是电路板的各个组件。在这样的实施例中,机器或设备可以具有did,并且每个子部分也可以具有did。did所有者还可以是软件组件,诸如上文关于图1描述的可执行组件106。复杂的可执行组件106的示例可能是人工智能。人工智能也可能拥有did。
[0038]
因此,did所有者201可以是任何合理的实体,人类或非人类,其能够创建did 205或至少具有为其创建的并与其相关联的did 205。尽管did所有者201被示为具有单个did 205,但是不必这样,因为根据需要,可以有任何数量的与did所有者201相关联的did。
[0039]
如所提到的,did所有者201可以创建并注册did 205。did 205可以是与did所有者201相关联的任何标识符。优选地,该标识符对于该did所有者201是唯一的,至少在预期使用did的范围内。作为示例,标识符可以是局部唯一的标识符,并且或许更期望是为预期全局地运行的身份系统提供全局唯一的标识符。在一些实现中,did 205可以是统一资源标识符(uri)(诸如统一资源定位符(url))或将did所有者201与机构联系起来以参与到与did所有者201的可信赖的交互中的其他指针。
[0040]
did 205是“去中心化的”,因为它不需要中心化的、第三方的管理系统来生成、管理或使用。因此,did 205仍然处于did所有者201的控制之下。这与传统的中心化id不同,传统的中心化id将信任建立在中心化的管理机构上,它仍然处于企业目录服务、证书颁发机
构、域名注册机构或其他中心化的管理机构(本文统称为“中心化的管理机构”)的控制之下。因此,did 205可以是处于did所有者201控制下的、并且独立于任何中心化的管理机构的任何标识符。
[0041]
在一些实现中,did 205的结构可以像用户名或某个其他的人类可理解的术语一样简单。然而,在其他实现中,did 205可以优选地是由数字和字母组成的随机字符串以用于提高的安全性。在一个实施例中,did 205可以是由128个字母和数字组成的字符串。因此,本文描述的实施例并不依赖于did 205的任何具体实现。在非常简单的示例中,did 205被示出为“123abc”。
[0042]
还如图2所示,did所有者201具有对与did 205相关联的私钥206和公钥207对的控制。由于did 205独立于任何中心化的管理机构,因此私钥206应当始终完全控制did所有者201。即,私钥和公钥应当以去中心化的方式被生成,该去中心化的方式确保它们仍然处于did所有者201的控制之下。
[0043]
如将在下面更详细地描述的,私钥206和公钥207对可以在由did所有者201控制的设备上被生成。因此,私钥206和公钥207对不应当在由任何中心化的管理机构控制的服务器上被生成,因为这可以导致私钥206和公钥207对始终没有完全处于did所有者201的控制之下。尽管图2和该描述已经描述了私钥和公钥对,但还应注意,其他类型的合理密码信息和/或机制也可以根据需要而被使用。
[0044]
图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可以具有取决于特定的分布式账本的不同的方法。
[0045]
did文档210还包括由did所有者201创建的公钥207或某种其他的等效密码信息。公钥207可以由第三方实体使用,第三方实体由did所有者201给予访问did所有者201所拥有的信息和数据的权限。公钥207还可以通过验证did所有者201实际上拥有或控制did 205而被使用。
[0046]
did文档210还可以包括认证信息211。认证信息211可以指定一个或多个机制,通过该一个或多个机制,did拥有者201能够证明did所有者201拥有did 205。换言之,认证信息211的机制可以示出did 205(并且因此它是did所有者201)与did文档210之间的绑定的证据(proof)。在一个实施例中,认证信息211可以指定公钥207被用于签名操作以证明did 205的所有权。备选地或附加地,认证信息211可以指定公钥207被用于生物测定操作以证明did 205的所有权。因此,认证信息211可以包括任何数量的机制,通过该机制,did所有者201能够证明did所有者201拥有did 205。
[0047]
did文档210还可以包括授权信息212。授权信息212可以允许did所有者201授权第三方实体修改did文档210或文档的某部分的权利,而无需给予第三方证明did 205的所有权的权利。例如,授权信息212可以允许第三方使用任何指定的更新机制来更新did文档210中的一个或多个字段的任何指定集合。备选地,授权信息可以允许第三方在指定的时间段内限制did所有者201对did 205的使用。当did所有者201是未成年子女并且第三方是该子
女的父母或监护人时,这可能是有用的。授权信息212可以允许父母或监护人限制对did 201的使用,直到该子女不再是未成年人的时候为止。
[0048]
授权信息212还可以指定第三方将需要遵循的一种或多种机制,以证明他们被授权修改did文档210。在一些实施例中,这些机制可以类似于前面讨论的关于认证信息211的那些机制。
[0049]
did文档210还可以包括一个或多个服务端点213。服务端点可以包括在其上服务代表did所有者201操作的网络地址。特定服务的示例包括发现服务、社交网络、文档存储服务(诸如身份服务器或中心),以及可验证的索赔存储库服务。因此,服务端点213充当针对服务的指针,该服务代表did拥有者201操作。这些指针可以由did拥有者201或第三方实体使用以访问代表did拥有者201操作的服务。服务端点213的特定示例将在下面更详细地解释。
[0050]
did文档210还可以包括标识信息214。标识信息214可以包括did所有者201的个人可标识信息,诸如姓名、地址、职业、家庭成员、年龄、爱好、兴趣等。因此,did文档210中列出的标识信息214可以表示用于不同目的的did所有者201的不同角色(persona)。例如,角色可以是伪匿名的,例如,did所有者201可以包括did文档中的笔名,当标识到他或她作为作者在博客上发表文章时;角色可以是完全匿名的,例如,did所有者201可能只想公开他或她的职务名称或其他背景数据(例如,学校老师,联邦调查局特工,大于21岁的成年人等),而不是他或她在did文档中的名字;并且角色可能特定于did所有者201作为个人的身份,例如,did所有者201可以包括标识他或她是特定慈善组织的志愿者、特定公司的雇员、特定奖项的获奖者等的信息。
[0051]
did文档210还可以包括凭证信息215,其在本文中也可以被称为证明(attestation)。凭证信息215可以是与did所有者201的背景相关联的任何信息。例如,凭证信息215可以是(但不限于)资格,成就,政府id,政府权利(例如护照或驾驶执照),支付提供方或银行账户,大学学位或其他学历,工作状态和历史,或有关did所有者201的背景的任何其他信息。
[0052]
did文档210还可以包括各种其他信息216。在一些实施例中,其他信息216可以包括指定did文档210何时被创建和/或其何时被最后修改的元数据。在其他实施例中,其他信息216可以包括did文档210的完整性的密码证据。在进一步的实施例中,其他信息216可以包括附加信息,该附加信息由实现did文档的特定方法指定,或者由did所有者201指定。
[0053]
图2还图示了分布式账本或区块链220。分布式账本220可以是任何去中心化的分布式网络,其包括彼此通信的各种计算系统。例如,分布式账本220可以包括第一分布式计算系统230、第二分布式计算系统240、第三分布式计算系统250以及椭圆260所图示的任何数量的附加分布式计算系统。分布式账本或区块链220可以根据用于分布式账本的任何已知标准或方法来操作。可以对应于分布式账本或区块链220的常规的分布式账本的示例包括但不限于:比特币[btc]、以太坊和莱特币。
[0054]
在did 205的上下文中,分布式账本或区块链220用于存储指向did文档210的did 205的表示。在一些实施例中,did文档210可以被存储在实际的分布式账本上。备选地,在其他实施例中,did文档210可以被存储在与分布式账本或区块链220相关联的数据存储装置(未示出)中。
[0055]
如所提及的,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所图示的。
[0056]
在一个实施例中,当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。
[0057]
图3图示了环境300的实施例,其中did诸如did 205可以被利用。特别地,环境300将被用于描述与一个或多个去中心化的存储设备或身份中心相关的did 205的使用。应当注意,图3可以包括有关图2中首先讨论的元素的引用,并且因此为了便于解释,使用了相同的参考编号。
[0058]
如图3中图示,环境300包括与did所有者201相关联的各种存储设备或身份中心310。例如,存储设备或身份中心410可以包括第一身份中心311、第二身份中心312、第三身份中心313以及第四身份中心314。省略号315表示视情况需要可以存在任何数量的附加存储设备或身份中心。应当注意,身份中心310被认为是去中心化的存储设备,因为(如下文将更详细地解释的),身份中心通过使用did 205及其对应的did文档210是可寻址的。此外,尽管身份中心可以被第三方托管,但是对身份中心的所有访问都是基于由did所有者201确定的权限。
[0059]
在一个实施例中,第一身份中心311可以在第一云存储提供方处被实现,第二身份中心312可以在第二云存储提供方处被实现,第三身份中心313可以作为家庭计算系统的部分被实现,以及第四身份中心314可以作为移动设备的部分被实现。因此,各种身份中心310可以跨不同的服务提供方被实现,诸如两个不同的云存储提供方。进一步地,各种身份中心310可以作为第三方(诸如两个云存储提供方)提供的存储装置和did所有者201拥有的存储器设备(诸如家庭计算系统和移动设备)的组合来被实现。当然,视情况需要,各种身份中心310可以作为其他存储设备和服务来被实现。
[0060]
在一个实施例中,身份中心310可以是相同身份中心的多个实例。它由线310a表示。因此,各种身份中心310可以至少包括一些相同的数据和服务。因此,如果对身份中心310中的一个进行了任何改变,该改变可以反映在其余的身份中心中。例如,第一身份中心311和第二身份中心412在云存储装置中被实现,并且因此可以能够保存大量数据。因此,完整的数据集可以被存储在这些身份中心中。然而,身份中心312和313可以具有更小的存储器空间。因此,在这些身份中心中,存储在第一和第二身份中心中的数据的描述符可以被包括。备选地,其他身份中心中的对数据进行的改变的记录可以被包括。因此,身份中心310之一中的改变要么被完全复制到其他身份中心中,要么至少该数据的记录或描述符被记录在
其他身份中心中。
[0061]
因为身份中心可以是同一身份中心的多个实例,所以仅对第一身份中心311的完整描述将被提供,因为该描述也可以适用于身份中心312

315。如图所示,身份中心311可以包括数据存储装置320。数据存储装置320可以被用于存储与did所有者201相关联的任何类型的数据。在一个实施例中,该数据可以是对应于特定协议的特定类型数据的集合322。例如,集合322可以是对应于医疗数据的特定协议的医疗记录数据。集合322可以是任何其他类型的数据。
[0062]
在一个实施例中,存储的数据可以具有与所存储的数据相关联的不同认证和私密设置321。例如,数据的第一子集可以具有允许数据被公开暴露的设置321,但该设置321不包括对did所有者201的任何认证。这种类型的数据可以是相对不重要的数据,诸如配色方案等。数据的第二子集可以具有设置321,该设置允许数据被公开暴露,并且包括对did所有者201的认证。数据的第三子集可以具有设置321,该设置利用与did所有者201相关联的私钥206和公钥207对(或某个其他密钥对)来加密数据子集。这种类型的数据将要求当事方访问公钥207或某个其他相关联的公钥,以便解密数据。这个过程还可以包括对did所有者201的认证。数据的第四子集可以具有设置321,该设置将该数据限制到第三方的子集。这可能需要与第三方的子集相关联的公钥被用来解密数据。例如,did所有者201可以使设置321指定仅与did所有者201的朋友相关联的公钥可以解密该数据。
[0063]
在一些实施例中,身份中心311可以具有权限模块330,该权限模块允许did所有者201设置特定的授权或者用于第三方的权限(诸如第三方301和302)来访问身份中心。例如,did所有者201可以提供访问权限以使他或她的配偶访问所有数据320。备选地,did所有者201可以允许他或她的医生访问任何医疗记录。应理解,did所有者201可以许可任何数量的第三方访问数据320的子集。这将在下面更详细地解释。
[0064]
在一些实施例中,身份中心311可以包括证明存储库340,证明存储库340包括各种证明341、342以及任何数量的附加证明,如由与did所有者201相关联的省略号343所图示的。证明还可以被称为凭证或经验证的凭证,诸如did文档210中的凭证215。即,证明或经验证的凭证可以提供关于did所有者201和/或关于did所有者201与之交互的各种实体的信息。如前面提到的,证明340可以是(但不限于)资格、成就、政府id、政府权利(诸如护照或驾照)、支付提供方或银行账户、大学学位或其他教育历史、就业状况和历史、或者任何其他关于did所有者201的背景的信息。因此,证明340可以用来验证did所有者201的身份。
[0065]
身份中心311还可以具有消息传送模块345。在操作中,消息传送模块允许身份中心接收消息,诸如来自第三方(诸如第三方301和302)的、访问身份中心的数据和服务的请求。此外,消息传送模块345允许身份中心311响应来自第三方的消息,并且还与did解析器350通信。did解析器350可以是服务、应用或模块,该服务、应用或模块被配置为在操作中搜索针对与did相关联的did文档的分布式账本或区块链220。因此,在实施例中,did解析器350可以使用did 205来搜索分布式账本或区块链220,这可能导致did解析器350找到did文档210。省略号316表示身份中心311可能视情况需要具有附加的服务。
[0066]
在一个示例实施例中,did所有者201可以提供did 205到第三方实体301,以便第三方可以访问存储在身份中心311上的数据或服务。一旦第三方301具有对did 205的访问,他或她就可以访问did解析器350来访问did文档210。如前面讨论的,did文档210可以包括
端点213,它是身份中心311的地址或指针。然后,第三方301可以使用该地址或指针来访问身份中心311。
[0067]
第三方301可以向消息传送模块345发送消息,请求访问身份中心311中的数据的权限。然后,消息传送模块345可以向did所有者201发送消息,询问第三方301是否应当被给予对该数据的访问。由于did所有者201期望提供对该数据的访问,因此did所有者201可以允许权限给第三方301,并且该权限可以被记录在权限330中。
[0068]
然后,消息传送模块345可以向第三方301传达消息,通知第三方他或她能够访问数据。然后,身份中心311和第三方301可以直接通信,以便第三方可以访问数据。在许多情况下应当注意,实际上与身份中心311通信的将是与第三方301相关联的身份中心。然而,进行通信的可以是第三方301的设备。
[0069]
有利地,上文描述的过程允许身份中心311与第三方301通信和共享数据,而不需要第三方以常规方式访问身份中心311。相反,该通信是以使用did 205和did文档210的去中心化的方式来供应的。这有利地允许did所有者完全控制该过程。
[0070]
如图3中示出,第三方302还可以使用did 205和did文档210请求访问身份中心311的权限。因此,本文所公开的实施例允许任何数量的第三方对身份中心310的访问。
[0071]
图4图示了环境400的实施例,其中did诸如did 205可以被利用。具体地,环境400将用于描述did 205关于媒体数据服务的使用,该服务允许上下文审查和各种媒体的插入/删除,下面将更详细地解释。应当注意,图4可以包括有关图2

图3中首先讨论的元素的引用,因此为便于解释,使用了相同的参考编号。
[0072]
如图所示,环境400包括媒体数据服务410。在一个实施例中,媒体数据服务410可以通过第三方诸如did管理服务440和/或身份中心310的提供方而被实现。在一些实施例中,媒体数据服务410可以被托管在服务器计算机上,该服务器计算机与did所有者201所拥有的任何设备分离。
[0073]
现在将解释媒体数据服务410的具体使用实施例,其后是媒体数据服务410的具体示例。在一个实施例中,媒体数据服务410可以由前面描述的与身份中心311相关联的did所有者201发起。此外,如前面描述的,did所有者201可以具有对公钥和私钥对206和207的控制。当然,在一些备选实施例中,媒体数据服务可以由除did所有者201之外的第三方发起。
[0074]
在实施例中,媒体数据服务410可以允许did所有者201向其他用户提供各种类型的媒体数据,其用于如将在下面解释的各种目的。可以在媒体数据服务410上被实现的各种类型的媒体数据包括但不限于:聊天媒体数据、任何类型的书面媒体数据(诸如书籍、论文、互联网页面或博客)、音频媒体数据和视频媒体数据。因此,本文所公开的实施例不受在媒体数据服务410上实现的实际媒体数据的限制。
[0075]
在实施例中,did所有者201可能期望使用媒体数据服务410向用户401、用户402和用户403提供媒体数据。如图4所示,用户401可以拥有did 401a或具有对did 401a的控制,并且用户402可以拥有did 402a或具有对did 402a的控制。应当注意,did 401a和did 402a以前面描述的针对did 205的方式而被生成和存储在分布式账本或区块链220上。因此,用户401和402还将具有与他们相应的did相关联的did文档,并且还可以具有一个或多个身份中心,该身份中心包括可以用于验证用户401和402的身份的证明。因此,与用户401和402相关联的did文档和身份中心可以类似于前面描述的did文档210和身份中心310,因此不需要
进一步详细解释。还应当注意,用户403最初并没有与他或她关联的did。
[0076]
如图示的,媒体数据服务410可以包括公共媒体数据部分420。did所有者201可以利用公共媒体数据部分420来提供对所有用户都可访问的媒体数据425。因此,用户401、用户402和用户403,以及由省略号404所图示的任何数量的附加用户可以访问公共媒体数据425。然而,在一些实施例中,对公共媒体数据425的访问可以要求用户拥有did或具有对did的控制。
[0077]
此外,媒体数据服务410可以包括私用媒体数据部分430。did所有者201可以利用私有媒体数据部分430来提供私有媒体数据,这些私有媒体数据可以是私有的,因为它已经由did所有者201使用前面描述的公钥和私钥对206和207加密。私有媒体数据可以仅由拥有或控制did的用户可访问,并且因此有方法访问did所有者201的公钥207,使得他们可以访问私有媒体数据。
[0078]
例如,如前面描述的身份中心311可以具有权限模块330,其允许did所有者201为用户401

403设置特定的授权或权限。在当前的实施例中,这些权限可以允许did所有者201设置针对私有媒体数据431的第一部分的第一权限411,针对私有媒体数据432的第二部分的第二权限412,以及针对私有媒体数据433的第三部分的第三权限413。应当注意,did所有者201可以为媒体数据服务410中包括的私有媒体数据430的任何附加的部分(未被图示)设置任何数量的附加权限,如省略号414所示。这些权限可以基于利用媒体数据服务410的各种用户所拥有的或控制的did,因此确保对私有媒体数据的访问以通过使用分布式账本或区块链220的去中心化的方式而被控制。
[0079]
在实施例中,用户401可以访问媒体数据服务410。如前所述,他或她可以访问公共媒体数据425,因为所有用户都可以访问该数据。然而,用户401还可能期望访问私有媒体数据部分430,以便他或她可以访问一些私有媒体数据。在这种情况下,媒体数据服务410可以利用did 401a访问did解析器350来找到与did 401a相关联的did文档。然后,这可以通向与用户401相关联的身份中心,其中媒体数据服务410可以能够访问一个或多个证明,从而验证用户401的身份。如果媒体数据服务410不能验证用户401的身份,那么私有媒体数据不可以被提供给用户401。
[0080]
如果身份被验证,则媒体数据服务410可以访问存储在身份中心311中的权限411

414,以确定用户401是否应当被允许访问私有媒体数据。在当前实施例中,权限411可以给予用户401权限来访问私有媒体数据431,权限412可以给予用户401权限来访问私有媒体数据432,以及权限413可以给予用户401权限来访问私有媒体数据433。当然,在一些实施例中,使用证明来验证用户401的身份的步骤可以被跳过,并且媒体数据服务410可以仅依赖于权限。
[0081]
由于用户401拥有或控制did 401a,因此用户401是由分布式账本或区块链220锚定的去中心化的系统的部分。因此,用户401可以使用did 205访问did解析器350来搜索分布式账本或区块链220,这可能导致did解析器350找到did文档210。然后,did文档210可以用于以前面描述的方式从did文档或身份中心311访问公钥207。
[0082]
然后,用户401可以能够使用公钥207(或与did所有者201相关联的一些其他密钥)来解密私有媒体数据430。即,媒体数据服务410可以从身份中心311(或某个其他源)访问私有数据431,然后使其可用于能够解密并访问私有媒体数据431的用户401。在一些实施例
中,私有媒体数据431可以在呈现级别被解密,如它呈现在与媒体数据服务410相关联的ui 410a中时。
[0083]
如前面提及的,用户401还可以被给予权限来访问私有媒体数据432和433。因此,媒体数据服务410可以将私有媒体数据432和433提供给用户401。用户401可以能够以前面描述的方式在呈现级别解密私有媒体数据432和433。
[0084]
同样,用户402可以访问媒体数据服务410。如前面描述的,他或她可以访问公共媒体数据425,因为所有用户都可以访问该数据。然而,用户402还可以期望访问私有媒体数据部分430,以便他或她可以访问一些私有媒体数据。在这种情况下,媒体数据服务410可以然后利用did 402a访问did解析器350来找到与did 402a相关联的did文档。然后,这可以通向与用户402相关联的身份中心,其中媒体数据服务410可以能够访问一个或多个证明,以便验证用户402的身份。当然,在一些实施例中,使用证明来验证用户402身份的步骤可以被跳过,并且媒体数据服务410可以仅依赖于权限。
[0085]
一旦身份被验证,媒体数据服务410就可以访问存储在身份中心311中的权限411

414,以确定用户402是否应当被允许访问私有媒体数据。在当前的实施例中,权限412可以给予用户402权限来访问私有媒体数据432,并且权限413可以给予用户402权限来访问私有媒体数据433。当然,在一些实施例中,使用认证来验证用户402身份的步骤可以被跳过,并且媒体数据服务410可以仅依赖于权限。
[0086]
由于用户402拥有或控制did 401a,因此用户402也是由分布式账本或区块链220锚定的去中心化的系统的部分。因此,用户402可以使用did 205访问did解析器350来搜索分布式账本或区块链220,这可以导致did解析器350找到did文档210。然后,did文档210可以用于以前面描述的方式从did文档或身份中心311访问公钥207。
[0087]
然后,用户402可以能够使用公钥207(或与did所有者201相关联的某个其他密钥)来解密私有媒体数据430。即,媒体数据服务410可以从身份中心311(或某个其他源)访问私有数据432,然后使它可用于能够解密和访问数据432的用户402。以类似的方式,用户402还可以被给予对私有媒体数据433的访问,他或她可以能够以前面描述的方式解密。
[0088]
在实施例中,用户403还可以访问媒体数据服务410以获取对一些私有媒体数据的访问。然而,在这种情况下,媒体数据服务410可以确定用户403还没有拥有did或具有对did的控制。因此,媒体数据服务410可以提示用户403访问did服务440,该服务是通常由能够为用户生成did的第三方拥有的服务。did服务440可以按照前面描述的方法生成did 403a,该did 403a由分布式账本活区块链220支持。因此,本文所公开的实施例预期没有did的用户能够获得did以充分利用媒体数据服务410。
[0089]
媒体数据服务410然后可以访问权限411

414,并且确定用户403应当被允许访问私有媒体数据433。然后,用户403可以按照先前描述的方式访问did解析器350以搜索分布式账本或区块链220来访问公钥207。然后,私有媒体数据403可以使用前面描述的公钥207而被解密。应当理解,用户403不太可能积累任何证明,因为did 403a是新的,并且因此该步骤可以被跳过,这是因为媒体数据服务410可以能够确定用户403的身份,因为用户刚刚创建了did 403a。
[0090]
在一些实施例中,媒体数据服务410可以包括媒体数据插入组件450。媒体数据插入组件450可以允许did所有者201以及用户401

403中的一个或多个用户向媒体数据服务
410插入其他用户不可访问或不可查看的媒体数据。在一些实施例中,媒体数据插入组件450可以允许用户401

403中的两个或更多个用户向媒体数据服务410插入did所有者201和其他用户不可访问或不可查看的媒体数据。
[0091]
例如,如图4中所示,媒体数据插入组件450可以允许did所有者201插入仅由用户401可访问或可查看的媒体数据451。同样地,用户401可以插入仅由did所有者201可访问或可查看的媒体452。然而,还如图4所示,用户402和403尽管能够访问私有媒体数据433,但不能访问或查看已经由did所有者201以及用户401经由媒体数据插入组件450插入到私有媒体数据433中的媒体数据451和452。因此,did所有者201以及用户401构成了可以访问私有媒体数据433的用户子集。例如,如果媒体数据451和452是聊天数据,那么仅did所有者201以及用户401将能够查看由did所有者201和用户401插入的特定聊天数据。下面将更详细介绍媒体数据插入组件450的示例。
[0092]
图5a图示了媒体数据服务410的使用实施例。因此,为了便于解释,并非来自图4的所有细节都将在图5a中重复。如图示,媒体数据服务410及其对应的ui 410a用于示出媒体数据,该媒体数据可以是did所有者201(或某个其他用户)期望被各种用户编辑的书籍、文章、博客帖子或任何其他类型的书面文档510。然而,为了确保没有任何编辑用户能够访问整个文档,这可能导致文档510被复制或泄漏,did所有者201可以只允许不同用户访问文档的某些部分。
[0093]
例如,包括标题521的文档的公共媒体数据部分520可以是由所有编辑用户可访问或可查看的。因此,公共媒体数据部分520可以对应于前面描述的公共媒体数据420。如图中所示,用户401、402和403可以访问部分520,而不需要任何基于did的权限。
[0094]
如图5a中进一步图示,文档510可以包括私有媒体数据部分530、540和550。文档510的这些部分可以是将被编辑的各种段落或章节。因此,这些部分可以对应前面讨论过的私有媒体数据430。
[0095]
如图5a中示出,用户401已经被给予访问并且因此审查文档510的私有媒体数据部分530的权限。如先前关于图4所描述,用户401的身份可以被验证,并且用户401可以访问did所有者201的公钥207并且然后可以使用公钥来解密私有媒体数据部分530。用户401然后可以审查私有媒体数据部分530并且根据需要对数据进行编辑。
[0096]
还如图5a中所示,用户401和用户403都有权限来访问文档510并且因此审查文档510的私有媒体数据部分540。如先前关于图4所描述的,用户401和403可以访问did所有者201的公钥207,并且然后可以使用公钥来解密私有媒体数据部分540。用户401和403然后可以审查私有媒体数据部分540并且可以根据需要对数据进行编辑。
[0097]
在实施例中,用户403可以对私有媒体数据540进行一些编辑541,这些编辑旨在仅由did所有者201可查看。编辑541可以是对已写内容的更正或补充,其性质是不期望用户401看到编辑的内容。因此,用户403可以访问媒体数据插入组件450来将编辑541插入到私有媒体数据540中。然后,用户403可以使用他或她与did 403a相关联的私钥和公钥对来对编辑541进行加密。did所有者201可以访问分布式账本或区块链220来获得与did 403a相关联的公钥,以根据需要解密编辑541。以这种方式,只有did所有者201知道编辑541,并能够在需要时解密它们。
[0098]
如图5a中进一步示出的,所有用户401、402和403都已获得权限来访问并且因此审
查文档510的私有媒体数据部分550。这些用户可以访问分布式账本或区块链220以获得需要的公钥,以按照前面描述的方式来解密私有媒体数据部分550。此外,他们的身份可以按照前面描述的方式使用分布式账本或区块链220而被验证。然后,用户401、402和403可以审查私有媒体数据部分540并且可以根据需要对数据进行编辑。尽管没有图示,但是任何用户可以利用媒体数据插入组件450来插入编辑,这些编辑仅由访问私有媒体数据部分550的少数用户查看。
[0099]
图5b图示了媒体数据服务410的备选使用实施例。如图5b中图示,媒体数据在该实施例中可以是流媒体数据560,诸如音频数据、视频数据、或能够被用户流式传输的某种其他类型的媒体数据。流媒体数据560可以被示出在媒体数据服务410的ui 410a上。
[0100]
如图5b中所示,流媒体数据560可以包括可以对应于数据流中的不同时间段的各个部分561

566。例如,部分564、565和566可以对应于流数据的时间段,除了did所有者201(或拥有流数据560的某个其他用户)之外,任何用户都无法访问这些时间段。
[0101]
如图所示,部分561可以对应于用户401已被授予访问的流数据560的时间段。用户401可以访问分布式账本或区块链220,以按照前面描述的方式来获得对流的该部分的访问。然后,用户401可以根据需要审查和编辑该部分。
[0102]
同样,部分562可以对应于用户402已被授予访问的流数据560的时间段,并且部分563可以对应于用户403已被授予访问的流数据560的时间段。用户402和403可以访问分布式账本或区块链220,以按照前面描述的方式来分别获得对数据流的这些部分的访问。然后,用户402和403可以根据需要审查和编辑相应的部分。
[0103]
图6a

图6d图示了媒体数据服务410的备选使用实施例。在图6a

图6d的实施例中,媒体数据是聊天数据。这些图说明了使用ui 410a以去中心化的方式实现聊天。关于图5a和图5b的使用实施例,为了便于解释,将省略前面描述的图4中的元素。
[0104]
如图6a中所示,ui 410a可以包括标识符部分610,它将媒体标识为聊天媒体数据。ui还可以包括元件615,它示出正在活跃地使用框式聊天(block chat)的用户。例如,元件615示出did所有者201和用户401

403正在使用框式聊天610进行通信。在一些实施例中,框式聊天的不同用户的图标可以是不同的颜色、形状或其他唯一标识符,使得每个用户在框式聊天中很容易被识别。元件615可以是公共媒体数据420的示例,或者它可以是私有媒体数据430的部分。因此,并不是本文所公开的所有实施例都需要公共媒体数据部分。
[0105]
图6a还示出私有媒体数据部分620,其可以对应于私有媒体数据部分430。私有媒体数据部分620包括已经由did所有者201生成的第一聊天框621。如图所示,聊天框621叙述“那么,我们将用锤子把螺丝拧紧”。私有媒体数据部分620包括还包括已经由用户401生成的第二聊天框622。聊天框622叙述“好主意。那将省钱,因为没有必要买螺丝刀”。应当注意,did所有者201和用户401能够用前面讨论过的与图4相关的去中心化的方式生成相应的聊天框。即,媒体数据服务410利用分布式账本或区块链220、以及did所有者201和用户401的did 205和401a来授予包括聊天框的权限。
[0106]
图6a进一步示出用户输入元件630,其允许用户402以私有方式将数据插入到框式聊天中。因此,用户输入元件630可以对应于媒体数据插入组件450并且将会在下面更详细地解释。
[0107]
图6b示出用户输入元件630的操作。例如,假设用户402不同意用锤子拧紧螺丝是
个好主意。然而,用户402可能不想公开表达这个视图而让did所有者201和/或用户401看到,以便不使did所有者201和/或用户401尴尬或生气。因此,用户402可以向用户输入元件630提供用户输入641。在图示的实施例中,这可能导致元件640出现在ui 410a中,该ui 410a列出了用户402之外用户402可能希望与之进行私有通信的所有其他用户。在实施例中,用户402可以提供选择用户403的用户输入642,如虚线643所示。虚线表示已选择的用户可以用不同的颜色、大小或其他唯一标识符来表示。
[0108]
图6c进一步示出用户输入元件630的操作。如图所示,用户402能够输入“坏主意。这将行不通”,因为他或她可能不相信锤子能有效地拧紧螺丝。如前面解释的,该图还在635处示出,分布式账本或区块链220将被访问,以便用户403能够接收来自用户402的私有消息。
[0109]
图6d示出来自用户402的私有聊天框645已经被插入到框式聊天中。私有消息645周围的虚线说明,仅有用户402和403能够看到插入的私有消息645。有利地,插入的私有聊天框645已经与前面的聊天消息621和622成一列地被放置在ui 410a中。因此,用户402和403不需要打开任何其他ui来查看此消息。这可以增加插入的私有聊天框645的可读性,并且因此增加用户的舒适度。应当注意,用户402能够以前面描述的与图4相关的去中心化的方式插入私有聊天框645。即,媒体数据服务410可以利用分布式账本或区块链220以及did 402a来授予包括私有的权限
[0110]
此外,即使当添加了附加的聊天消息时,私有聊天框645也可以保持成一列。例如,图6d示出由did所有者201生成的叙述“让我们这样做”的聊天消息623已经在私有消息645之后被添加了。然而,私有聊天框645按照其时间顺序保持成一列,这还可以增加插入的私有聊天框645的可读性。
[0111]
下面的讨论现在涉及到多个可以被执行的方法和方法动作。虽然方法动作可以按照一定的顺序进行讨论或在流程图中以发生的特定的顺序进行说明,但是不需要特别的顺序,除非特别说明,或因为一项动作依赖于在该动作执行之前完成的另一动作而被要求。
[0112]
图7图示了用于按照以下方式将媒体数据插入到现有的媒体数据中的示例方法700的流程图:确保插入的数据不是对所有用户都可访问的。方法700将相对于前面讨论的图2

图6中的一个或多个来描述。
[0113]
方法700包括接收媒体数据的第一部分(710)。例如,如前面讨论的,第一媒体数据诸如私有媒体数据430(431、432、433)、530、540、550、561

563、620、621和622可以由媒体数据服务410接收。媒体数据的第一部分可以是聊天数据,文档诸如书籍、文章、博客帖子、互联网页面、或流音频或视频数据。
[0114]
方法700包括向多个用户授予对媒体数据的第一部分的访问(720)。该访问至少部分地基于与多个用户中的每个用户相关联的did。例如,如前所述,did所有者201以及用户401

403可以被授予对媒体数据的第一部分的访问。如先前主要关于图2

图4所述,媒体数据服务利用did 205、401a、402a和403a中的一个或多个来访问分布式账本或区块链220以根据需要验证用户的身份。用户还可以使用一个或多个did来获得公钥,该公钥允许用户解密媒体数据的第一部分。
[0115]
方法700包括接收被插入到媒体数据的第一部分中的媒体数据的第二部分(730)。媒体数据的第二部分仅由具有对媒体数据的第一部分的访问的多个用户的子集可访问。对
媒体数据的第二部分的访问还至少部分地基于用户子集中的每个用户的did。
[0116]
例如,如前所述,媒体数据的第二部分,诸如媒体数据451、452、541和645可以由媒体数据插入组件450插入。如前所述,该数据由少于所有的did所有者201以及用户401

403可访问。媒体数据服务410以及媒体数据插入组件450利用did 205、401a、402a和403a中的一个或多个允许媒体数据插入组件450,按照前面描述的方式来插入第二媒体数据。
[0117]
图8图示了用于按照以下方式将媒体数据插入到现有媒体数据中的示例方法800的流程图:确保插入的数据不是对所有用户都可访问的。方法800将以先前关于图2

图6中的一个或多个讨论的来描述。
[0118]
方法800包括在第一用户界面部分中显示由第一用户生成的媒体数据的第一部分(810)。例如,如前面描述的did所有者210可以在用户界面部分620中生成聊天框621。
[0119]
方法800包括在第一用户界面部分中显示由第二用户生成的媒体数据的第二部分(820)。例如,如前面描述的用户401可以在用户界面部分620中生成聊天框622。
[0120]
方法800包括将第一界面部分暴露给第一和第二用户以及第三用户(830)。第一、第二和第三用户基于相应的去中心化的身份(did)而被标识,相应的did由分布式网络的分布式账本支持。例如,did所有者201以及用户401

403被暴露给用户界面部分620。每个用户的did可以被利用以按照前面描述的方式来标识各种用户。
[0121]
方法800包括在第二用户界面部分中接收来自第二用户或第三用户的输入,该第三用户生成用于插入到第一用户界面部分中的媒体数据的第三部分(840)。例如,如前面描述的,用户402可以使用用户界面部分630以生成私有框式聊天645,该用户界面部分630可以对应于媒体数据插入组件450。
[0122]
方法800包括将媒体数据的第三部分插入到第一用户界面部分中(850)。媒体数据的第三部分对于第二和第三用户是可查看的,但对于第一用户是不可查看的。例如,如前面描述的,私有聊天框645被插入到用户界面部分620中。然而,仅用户402和用户403能够查看私有聊天框645。did所有者201以及用户401不能查看私有聊天框。如图所示,私有聊天框可以放置成一列,以便用户402和403不需要使用另一个ui来查看私有聊天框。
[0123]
对于本文所公开的过程和方法,可以以不同的顺序来实现在过程和方法中执行的操作。此外,概括的操作仅作为示例提供,并且在没有背离本公开实施例的本质的情况下,一些操作可以是可选的,组合为更少的步骤和操作,补充为进一步的操作或扩展为附加操作。
[0124]
在不脱离本发明的精神或特征的情况下,可以以其他特定形式来实施本发明。所描述的实施例在所有方面仅应被认为是说明性的而非限制性的。因此,本发明的范围由所附权利要求书而不是前面的描述指示。落入权利要求等同含义和范围内的所有改变均应包含在其范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1