版权所有©2021W3C®(麻省理工学院,ercim,Keio,Beihang)。 W3C责任,商标和许可证文件许可规则适用。
分散的标识符(DIDS)是一种新型的标识符,概述可验证的,分散的数字身份。 a是指由DID的控制器确定的任何索赔(例如,一个人,组织,事物,数据模型,抽象实体等)。相比之下,联合的标识符,已经设计了,使他们可以与集中注册管理机构,身份提供者和认证授权解耦。具体而言,虽然其他缔约方可用于帮助启用与之相关的信息,但该设计使得Theconstroler能够证明它来证明它而不需要允许的任何其他方。 DIDS是将DIDSUBJECT与DID文件相关联的URI,允许与该主题的可信组织进行可信赖。
每个文件都可以表达加密材料,验证方法或服务,它提供了一组机制,使控制器能够证明对此的控制。服务与DOD主题相关的互动。如果DIDsubject是诸如数据模型的信息资源,则确实可以提供返回DOT本身的手段。
此文档指定DID语法,常见的数据模型,核心属性,序列化表示,执行操作,并解析解决它们所代表的资源。
本节介绍在发布时本文档的状态。其他文件可能会取代本文档。目前的W3C出版物列表和本技术报告的最新版本可以在HTTPS://www.w3.org/tr/的W3C技术报告索引中找到。
W3C分散的标识符工作组已将本文档发布为W3C候选推荐,并要求软件开发人员和DIDMethod规范作者提供实验实施,设计了TOTEST本文档中所有功能的可实现性。
要退出W3C候选推荐阶段,W3C执行组WillRequire两件事:1)对于机器可测试的规范性陈述,每个功能至少两个可互操作的实现,2)对于不可通过机器可测试的正常性,至少有两个演示每个功能。特征被定义为规范中的一个或多个功能统一的规范性语句。
目前,存在98实验性的方法规范,32实验表明方法驾驶员驾驶员,确定与给定实现的候选推荐测试套件是符合本规范和提交给符合测试套件的实现。建议理解其核心的核心问题并进行了核心测试套件,每个核心测试套件都包含最新的疑虑列表和建议的长哈丁可能导致该规范的变更。
在风险标记上添加到大多数DID参数,预期不实现的数据型号,以及TheApplication / DID + LD + JSON媒体类型。这种变化导致了DID WG' sdecision执行第二个候选推荐阶段。所有其他译文都是编辑或预测"在风险"问题标记。
删除用于NextUpdate和NextVersionID的特定于特定于特定于特定于特定方法ID的风险问题标记。
引入抽象数据模型,可以序列化到包括JSON和JSON-LD的多个项目。
介绍DID规范注册表的目的是用于重新注册的扩展属性,表示,DICATE INPUTMETADATA和OUTPUT METADATA,DIDED METADATA,DID参数和DIDMETHOD。
为身份验证,断言,关键协议,能力调用和能力代表性的目的添加验证关系。
支持与DID文件相关多标识符的能力,例如DID控制器,也称为等效ID和规范ID。
一个表示部分,详细介绍了抽象数据模型如何以各种不同的格式呈现和消耗以及所有表示,生产者和消费者的一般。
详细说明了DID解决方案,并确保了URL解除了interfaceDefinition,即所有DIDS的interfacedefinition预计将曝光以及inputs和输出到这些进程。
欢迎有关本文件的评论。请在github上发布问题,或发送主题to [email protected](订阅,档案)。
本文件由分散的标识符工作组作为候选人推荐草案公布。本文档旨在成为W3C推荐。
GitHub问题是对本规范讨论的首选。或者,您可以向我们的邮件列表发送评论。请将它们发送到[email protected](订阅,档案)。
作为候选建议的出版并不意味着W3C会员资格的认可。候选建议草案将工作组拟在随后的候选推荐快照中纳入更改。
这是一个文件草案,可以随时更新,更新,替换或已被其他文件替换。除了正在进行的工作之外,将这份文件引用这份文件是不合适的。
本文件由在W3C专利政策下运营的集团制作。 W3C维护与本集团可交付成果有关的任何专利披露的公开名单;该页面还包括用于披露专利的说明。具有实际知识的个人对个人认为包含必要索赔的专利,必须根据W3C专利政策的第6条披露信息。
本节介绍DIDS的正式语法,并执行了URL。术语"通用"用于区分此处定义的语法从其各自的特定方法中的SyntaxDefined。
通用的方法是与[RFC3986]符合[RFC3986]的URI方案。可以在下面找到ABNF定义,它使用[RFC5234]中的语法和Alpha和Digit的相应定义。在[RFC3986]中,在下面的ABNF中未定义的所有其他规则名称。所有确实必须符合ThedId语法ABNF规则。
did =" DID:"方法名称":"特定方法 - idmethod-name = 1 *方法 - charmethod-char =%x61-7a / digitmethod-id = *(* iDchar":")1 * id托arch = alpha / digit /& #34;。" /" - " /" _" / pct-encodedpct-encoded ="%" Hexdig Hexdig
对于与DID语法有关的方法的要求,Seesection§8.1方法语法。
DIFT URL是特定资源的网络位置标识符。它可用于检索像Deptations,验证方法,服务,DID文件的特定部分或其他资源的表现。
以下是使用[RFC5234]中的语法的ABNF定义。它构建了第3.1节中定义的DID STAVED语法。 [RFC3986]中展示的路径避免,查询和片段组件。所有URL都必须符合ThedID URL语法ABNF规则。如第8.1方法语法中所述,方法可以进一步限制骨髓。
虽然可以根据DID URL语法的主管使用分号(;)字符,但是本规范的未来版本可以使用它作为如[MATRIX-URIS]中所述的参数的子分隔符。 Toavoid未来冲突,开发人员应该避免使用它。
DID路径与通用URI路径相同,并符合RFC 3986,第3.3节中的路径避免的ABRF规则。与URI一样,可以通过DID方法指定路径语义,该方法可以使控制器能够进一步专注于这些语义。
A查询与通用URI查询相同,符合RFC 3986中的查询ABNF规则,第3.4节。在第3.2.1节中阐述了这种语法成果。
片段语法和语义是否与通用泛证相同,并符合RFC 3986,第3.5节中的Fragment ABNF规则。
将DID片段用作与DidDocument或外部资源的方法无关的参考。碎片identifer的一些例子如下所示。
为了最大限度地提高互操作性,敦促实施者以确保在横跨表示的方式中以相同方式解释碎片(参见§6表示)。例如,jonsjson指针[rfc6901]可以在did片段中使用,它不会以相同的方式在非JSON表示中脱节。
在§B.2应用程序/ DID + LD + JSON中,在本节中与语义上的语义上兼容的片段标识符的附加语义。对于信息交流如何取消引用DID碎片,请参阅第7.2节第7.2节DID URL取消引用。
DID URL语法支持基于§查询中描述的查询组件的参数的简单格式。将DIDParameter添加到DIFT URL意味着该参数成为资源的分类器的一部分。
有些参数完全独立于任何特定的DIDMethod和功能,以相同的方式为所有人做的。其他DID方法不支持的其他DID参数。在aresupport中的可选参数,它们预计将均匀地运行在DID方法支持它们。下表提供了常见的参数符合所有DID方法的方法。对所有参数的支持是可选的。
工作组正在寻求关于此功能的实施者反馈。如果在Chandidate推荐期结束时没有足够的实现经验,则将从规范中删除。
通过Service ID识别从DID文档中的服务.IF存在,关联的值必须是ASCII字符串。
工作组正在寻求关于此功能的实施者反馈。如果在Chandidate推荐期结束时没有足够的实现经验,则将从规范中删除。
根据RFC3986第4.2节的相对URI引用,它标识服务端点处的资源,它是通过使用服务参数从DidDocument中选择的资源。如果存在,则关联的值必须是ASCII字符串,并且必须使用百分比编码的核心字符作为在RFC3986Section 2.1中指定。
识别要解析的特定版本的DID文件(reversion ID可以是顺序的,或者是uuId,或特定于方法).if存在,关联的值必须是ASCII字符串。
工作组正在寻求关于此功能的实施者反馈。如果在Chandidate推荐期结束时没有足够的实现经验,则将从规范中删除。
识别要解决的DID文件的某个版本时间戳。这是,在Certaintime为A有效的DID文件。如果存在,则关联的值必须是ASCII字符串,该字符串是有效的XMLDateTime值,如W3C XML Schema定义语言(XSD)1.1第2部分的第3.3.7节中所定义的第2部分:数据类型[XMLSchema11-2]。此日期时间值必须为UTC 00:00:00而没有次级二进制精度。对于例如:2020-12-20t19:17:47z。
工作组正在寻求关于此功能的实施者反馈。如果在Chandidate推荐期结束时没有足够的实现经验,则将从规范中删除。
DID文件的资源哈希值以添加完整性保护,在[hashlink]中asspecized。此参数是非规范性的。如果存在,则关联值必须是ASCII字符串。
实施者以及方法规范作者可能会useadational在这里列出的参数。对于MaximicalInteroperability,建议使用DIDSpecification Registrics机制[DID-SPEC-REPARTIS],以避免与不同语义相同的参数的其他用途进行碰撞。
如果存在清晰的用例,则可以使用参数,其中ParameterNeed是引用资源的URL的一部分,其与单独使用确实不同。如果可以通过将元数据传递给DID解析器可以表达相同的功能,则预计不会使用参数。在[DID-Resolution]中讨论了用于处理这些参数的其他注意事项。
DID DIST和DID URL取消引用函数可以通过将输入元数据传递给DID URL的ARENOT部分的解析器来影响(参见第7.1.1节的解决方案选项)。这是可比较的TOTP,其中某些参数可以包含在HTTP URL中,在取消引用过程中作为HTTP标头oraltern传递。 Theimportant的区别是DIDURL的一部分的参数应该用于指定哪些资源是习惯的,而输入的元数据不是DID URL光的一部分,以控制如何解决该资源的解释。
一个相对的URL是DOD文件中的任何URL值,它在DOD中开始:<方法名称>:<方法 - 特定于id&gt ;.常切地,它是任何URL值,它不会以第3.1节中定义的ABNF开头。 URL预计将在同一文件中引用资源。相对于URL可能是相对路径组件,查询参数和片段标识符。
解析相对的URL参考时,必须使用RFC3986第5节中指定的算法:必须使用参考分辨率。基本URI值是与DOD主题相加的DID,请参见第5.1.1段所做的主题。该计划是做过的。该权限是<方法名称>:<方法 - 特定于方法ID>,以及分别在§路径,§查询和§片段中定义的路径,查询和碎片值。
相对于URL通常用于引用验证方法和在没有使用AbsolutuRL的文档中的服务。存储大小是考虑因素的方法,可能是Useled URL以减少DID文档的存储大小。
{" @上下文&#34 ;: [" https://www.w3.org/ns/did/v1" ;," https://w3id.org/security/suites / ed25519-2020 / v1" ]" ID&#34 ;:"例:123456789abcdefghi&#34 ;," verificationmethod&#34 ;: [{" id&#34 ;:" did:" :123456789abcdefghi#key-1&#34 ;,"类型&#34 ;:" ed25519verificedkey2020" //外部(属性值)"控制器":示例:123456789abcdefghi&#34 ;," pressekeymultibase&#34 ;:" zh3c2avvlmv6gmmnam3uvajzpfkcjcwdwnzn6z3wxmqpv" },......],"身份验证&#34 ;: [//相对于用于引用上面验证方法的URL; #键-1" ]}
在上面的示例中,相对的URL值将被转换为toan绝对执行的URL值为:示例:123456789abcdefghi#key-1。
本规范定义了一种数据模型,可用于表达DidDocuments,并执行文档数据结构,然后可以是序列化的多个具体表示。本节提供了数据模型的AHigh级描述,在数据模型中表达不同类型的不同类型的方式的描述,以及用于扩展数据模型的指令。
DOD文件由条目的地图组成,其中每个条目由AKEY / VALEE对组成。 DOD文档数据模型包含至少两倍的条目类。第一类条目称为属性,并在第5节第5节中指定。由特定于代表的条目组成的第二类,并在第6节中指定。
DOD文档数据模型中的所有条目密钥都是字符串。所有条目值都使用下表中的抽象数据类型表示所有条目值,并且每个表示都是每个数据类型的具体序列化格式。
有限的键/值对序列,没有键在[infra]中出现两次asspecized。在[infra]中,地图有时被称为有序地图。
有限的有序的项目序列,不包含[infra]中指定的同一项目Twiceas。一个集合有时被称为[infra]中的有序集。
在[XMLSchema11-2]中指定的DateTime,能够无损地表达所有估值的日期和时间值。
通常用于代表[infra]中指定的人类可读朗布的代码单元序列。
没有[XMLSchema11-2]中规定的小数组件的实数。为了最大限度地,敦促实施者在RFC8259,第6节中遵守关于INTININTEGERS的建议,第6节:数字。
通常用于近似任意实际数字的值,如指定in [xmlschema11-2]。为了最大限度地,敦促实施者在RFC8259中遵守有关关于Doubles的建议,第6节:数字。
用于指示缺少[infra]中定义的值的值。
由于从[INFRA]使用的数据模型,从[INFRA]的使用方法,明确地排序了可以包含多于单位的属性值,例如列表,映射和集合。所有列表似乎在[infra]中的所有列表似乎都是订购的,无论是订单可证式。出于本说明书的目的,除非另有说明,否则地图和设置排序并不重要,并且预计不会产生或消耗确定性地秩序。
为了获得最大互操作性,建议扩展使用W3C的规范注册机制[DID-SPED-REPARTIS]。对新属性或其他扩展的使用机制是唯一可确保两种不同的表示能够能够一起拖曳的特定机制。
表示可以定义其他可扩展性机制,包括Onesthat不需要使用DID规范注册表。这种拓展机构应支持任何其他符合性代表的无损转换。表示表示的扩展机制应将所有属性和表示语法的映射到数据模型及其类型系统中。
两种特定实现始终可以同意乐队外出淘汰的互动的扩展或表示,这些扩展或表示在DID规范注册表[DID-SPEC-REPARTIES];此类实施之间的互操作性和较大的生态系统将是可靠的。
确实与DID文件相关联。使用数据模型表达了DID文件,可以序列化为表示。以下部分定义了DID文档中的属性,包括是否需要这些属性或可选。这些属性签署了DOD主题与伪装价值之间的关系。
下表包含本规范的核心属性的信息引用,其中包含预期值,以及它们是否被判断。表中的属性名称与NuremativeDefinitions相关联以及每个属性的更详细描述。
属性名称ID,类型和控制器可以在不同类型的地图中存在,不同类型的可能差异。 一组符合§验证方法属性中的规则的VerificationMethod映射,或符合第3.2节中规则的字符串执行URL语法。 代表JSON Web的地图 ......