去中心化身份 DID( Decentralized Identifiers)-程序员宅基地

技术标签: 区块链  审稿review  去中心化  

W3C DID标准

去中心化身份标识(Decentralized Identifier,DID)是一种新类型的标识符,具有全局唯一性、高可用性可解析性和加密可验证性。DIDs通常与加密材料(如公钥)和服务端点相关联,以建立安全的通信信道。DIDs对于任何受益于自管理、加密可验证的标识符(如个人标识符、组织标识符和物联网场景标识符)的应用程序都很有用。例如,当前W3C可验证凭据的商业部署大量使用DIDs来标识人员、组织和事物,并实现许多安全和隐私保护保证。
——W3C 文档

表面上看,分散式标识符(DID)只是一种新型的全球性的唯一标识符,但在更深层次上,DID是互联网的一种全新的分布式数字身份,同时,它也是公钥基础设施(PKI)层的核心组成部分。这种分布式的公钥基础设施(DPKI)可能对全球网络安全和隐私与加密网络流量(现在是世界上最大的PKI)的SSL / TLS协议具有同等重要的影响力

W3C的DID标准下的DID系统主要包括以下层次要素:

基础层:DID规范
1、DID标识符(Identifier)
实体由分散标识符(DID)标识。他们可以通过证明(例如,数字签名,隐私保护生物识别协议等)进行身份验证。
2、DID文档(Document)
DID指向DID文档。DID文档包含一组用于与实体交互的服务端点。遵循隐私设计的格言,每个实体可以根据需要拥有尽可能多的DID,以尊重实体所希望的身份,人物角色和背景的分离。(注意,DID文档中没有任何和你个人真实信息相关的内容,比如你的真实姓名、地址、手机号等。因此光靠DID规范是无法验证一个人的身份的,必须要靠DID应用层中的VC。)

应用层:可验证声明
可验证声明(Verifiable Claims 或 Verifiable Credentials,本文接下去都简称VC)

一、背景

1、DID的动机

对分散式标识符的需求日益增长,对于仍适合Web体系结构的新类型URL产生了两个特定要求,并且还有一些额外要求,即更传统的URL(如基于HTTP的URL)没有:
(a)新类型的URL 不应该需要集中的权限来注册、解析、更新或撤销标识符。今天绝大多数URI都基于DNS名称(域名)或IP地址,这些名称(域名)或IP地址依赖于集中授权进行注册和最终控制。可以在没有任何此类权限的情况下创建和管理DID(URI与URL详解链接:https://blog.csdn.net/readiay/article/details/52862379)。
(b)可以加密验证其所有权和相关元数据(包括公钥)的URL。通过DID和DID文档进行身份验证利用与分布式分类帐相同的公钥/私钥密码术。

2、人类友好标识符的作用

DID实现全球唯一性,无需中央注册机构,然而,这是以牺牲人类可记忆性为代价的–能够生成全局唯一标识符的算法自动生成没有人类意义的随机字符串。这证明了关于被称为Zooko三角形的标识符的公理:“人类有意义,分散,安全挑选任何两个”

二、DID与其他全球唯一标识符的区别

对于可以定义为不依赖于任何机构集中授权的永久性可移植身份的自我主权身份,我们需要一种新的标识符来满足所有四个要求:持久性、全球可解析,加密可验证性和分散性

三、DID的格式

在这里插入图片描述

四、DID文件(DID Document)

DID的基础设施是一个全球性可拓展的数据库,其中包括了所有与DID兼容的区块链,分布式分类账或分散式网络。在此虚拟数据库中,密钥是DID,值是 DID文档。DID文档的目的是描述引导所标识的实体的加密可验证交互所必需的公钥,认证协议和服务节点。
DID文档是一个有效的JSON-LD对象,它使用DID规范中定义的DID上下文(属性名称的RDF词汇表)。这包括六个组件(全部可选):

(1)DID本身,因此DID文档完全是自我描述的
(2)一组加密材料,例如公钥,可用于身份验证或与DID主题交互
(3)用于与DID主题交互的一组加密协议,例如身份验证和功能划分
(4)一组服务端点,用于描述与DID主题交互的位置和方式
(5)审计时间戳
(6)可选的JSON-LD签名,用于验证DID文档的完整性。

五、DID算法

定义如何在特定区块链或“目标系统”上创建、解析和管理DID和DID文档是DID算法规范的作用。
DID算法规范通常为特定目标系统定义以下操作:

(1)创建。某些DID算法可以直接从加密密钥对生成DID,其他人可以在区块链上使用交易地址或智能合约。

(2)读。一些DID算法使用可以直接在区块链上存储DID文档的区块链。其他人可能会指示DID解析器根据区块链记录的属性动态构建它们。还有一些人可以将区块链上的指针存储到诸如IPFS或STORJ之类的其它分布式存储网络上的一个或多个部分中的DID文档。

(3)更新。从安全角度来看,更新操作是最关键的,因为DID文档的控制表对实体进行身份验证所需的公钥或证据的进行控制(因此攻击者可以冒充实体)。由于DID文档更新权限的验证只能由目标区块链强制执行,因此DID算法规范必须精确定义如何对任何更新操作执行身份验证和授权。

(4)删除。根据定义,区块链上的DID条目是不可变的,因此在传统的数据库意义上它们永远不会被“删除”,但是,它们可以在加密意义上被撤销。DID算法规范必须定义如何执行此终止,例如,通过写入空DID文档。

六、DID和隐私设计

(1)成对。虽然DID可以用作众所周知的公共标识符,但它们也可以用作基于每个关系发布的私有标识符,因此,与具有单个DID的人(例如手机号码或国民身份证号码)相比,她可以拥有数千个成对唯一的DID,这些DID在未经她同意的情况下无法关联,但仍然可以像地址簿一样轻松地进行管理(身份分身术)。

(2)离线私人数据。在公共区块链上存储任何类型的个人身份信息(PII),甚至加密或哈希都是危险的,原因有两个:1)加密或哈希数据是与多方共享数据时的全局关联点, 2)加密最终是否被攻破(例如,量子计算),数据将永远可以在不可变的公共分类账上进行访问。因此,最佳做法是将所有私有数据存储在链外,并仅通过加密的私有对等连接进行交换。

(3)选择性披露。DID实现的分散式PKI(DPKI)为个人提供了两种更好地控制其个人数据的方式。首先,它允许使用加密的数字凭证共享它;其次,这些凭证可以使用零知识证明加密技术来最小化数据,例如,您可以在不披露您的确切生日的情况下披露您已超过一定年龄。

七、DID和可验证证书(VC)

DID只是分布式身份基础设施的基础层,下一个层次是可验证的凭据,这是数字签名电子凭证的技术术语,符合W3C可验证声明工作组正在开发的互操作性标准。
DID可用于识别可验证凭证生态系统中的各种实体,例如发行人、持有人、主题和验证者,更一般地,DID可以用作人员,设备和组织的标识符

参考链接:
知乎-分散式标识符DID

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/susuate/article/details/121364558

智能推荐

分布式光纤传感器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告_预计2026年中国分布式传感器市场规模有多大-程序员宅基地

文章浏览阅读3.2k次。本文研究全球与中国市场分布式光纤传感器的发展现状及未来发展趋势,分别从生产和消费的角度分析分布式光纤传感器的主要生产地区、主要消费地区以及主要的生产商。重点分析全球与中国市场的主要厂商产品特点、产品规格、不同规格产品的价格、产量、产值及全球和中国市场主要生产商的市场份额。主要生产商包括:FISO TechnologiesBrugg KabelSensor HighwayOmnisensAFL GlobalQinetiQ GroupLockheed MartinOSENSA Innovati_预计2026年中国分布式传感器市场规模有多大

07_08 常用组合逻辑电路结构——为IC设计的延时估计铺垫_基4布斯算法代码-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏12次。常用组合逻辑电路结构——为IC设计的延时估计铺垫学习目的:估计模块间的delay,确保写的代码的timing 综合能给到多少HZ,以满足需求!_基4布斯算法代码

OpenAI Manager助手(基于SpringBoot和Vue)_chatgpt网页版-程序员宅基地

文章浏览阅读3.3k次,点赞3次,收藏5次。OpenAI Manager助手(基于SpringBoot和Vue)_chatgpt网页版

关于美国计算机奥赛USACO,你想知道的都在这_usaco可以多次提交吗-程序员宅基地

文章浏览阅读2.2k次。USACO自1992年举办,到目前为止已经举办了27届,目的是为了帮助美国信息学国家队选拔IOI的队员,目前逐渐发展为全球热门的线上赛事,成为美国大学申请条件下,含金量相当高的官方竞赛。USACO的比赛成绩可以助力计算机专业留学,越来越多的学生进入了康奈尔,麻省理工,普林斯顿,哈佛和耶鲁等大学,这些同学的共同点是他们都参加了美国计算机科学竞赛(USACO),并且取得过非常好的成绩。适合参赛人群USACO适合国内在读学生有意向申请美国大学的或者想锻炼自己编程能力的同学,高三学生也可以参加12月的第_usaco可以多次提交吗

MySQL存储过程和自定义函数_mysql自定义函数和存储过程-程序员宅基地

文章浏览阅读394次。1.1 存储程序1.2 创建存储过程1.3 创建自定义函数1.3.1 示例1.4 自定义函数和存储过程的区别1.5 变量的使用1.6 定义条件和处理程序1.6.1 定义条件1.6.1.1 示例1.6.2 定义处理程序1.6.2.1 示例1.7 光标的使用1.7.1 声明光标1.7.2 打开光标1.7.3 使用光标1.7.4 关闭光标1.8 流程控制的使用1.8.1 IF语句1.8.2 CASE语句1.8.3 LOOP语句1.8.4 LEAVE语句1.8.5 ITERATE语句1.8.6 REPEAT语句。_mysql自定义函数和存储过程

半导体基础知识与PN结_本征半导体电流为0-程序员宅基地

文章浏览阅读188次。半导体二极管——集成电路最小组成单元。_本征半导体电流为0

随便推点

【Unity3d Shader】水面和岩浆效果_unity 岩浆shader-程序员宅基地

文章浏览阅读2.8k次,点赞3次,收藏18次。游戏水面特效实现方式太多。咱们这边介绍的是一最简单的UV动画(无顶点位移),整个mesh由4个顶点构成。实现了水面效果(左图),不动代码稍微修改下参数和贴图可以实现岩浆效果(右图)。有要思路是1,uv按时间去做正弦波移动2,在1的基础上加个凹凸图混合uv3,在1、2的基础上加个水流方向4,加上对雾效的支持,如没必要请自行删除雾效代码(把包含fog的几行代码删除)S..._unity 岩浆shader

广义线性模型——Logistic回归模型(1)_广义线性回归模型-程序员宅基地

文章浏览阅读5k次。广义线性模型是线性模型的扩展,它通过连接函数建立响应变量的数学期望值与线性组合的预测变量之间的关系。广义线性模型拟合的形式为:其中g(μY)是条件均值的函数(称为连接函数)。另外,你可放松Y为正态分布的假设,改为Y 服从指数分布族中的一种分布即可。设定好连接函数和概率分布后,便可以通过最大似然估计的多次迭代推导出各参数值。在大部分情况下,线性模型就可以通过一系列连续型或类别型预测变量来预测正态分布的响应变量的工作。但是,有时候我们要进行非正态因变量的分析,例如:(1)类别型.._广义线性回归模型

HTML+CSS大作业 环境网页设计与实现(垃圾分类) web前端开发技术 web课程设计 网页规划与设计_垃圾分类网页设计目标怎么写-程序员宅基地

文章浏览阅读69次。环境保护、 保护地球、 校园环保、垃圾分类、绿色家园、等网站的设计与制作。 总结了一些学生网页制作的经验:一般的网页需要融入以下知识点:div+css布局、浮动、定位、高级css、表格、表单及验证、js轮播图、音频 视频 Flash的应用、ul li、下拉导航栏、鼠标划过效果等知识点,网页的风格主题也很全面:如爱好、风景、校园、美食、动漫、游戏、咖啡、音乐、家乡、电影、名人、商城以及个人主页等主题,学生、新手可参考下方页面的布局和设计和HTML源码(有用点赞△) 一套A+的网_垃圾分类网页设计目标怎么写

C# .Net 发布后,把dll全部放在一个文件夹中,让软件目录更整洁_.net dll 全局目录-程序员宅基地

文章浏览阅读614次,点赞7次,收藏11次。之前找到一个修改 exe 中 DLL地址 的方法, 不太好使,虽然能正确启动, 但无法改变 exe 的工作目录,这就影响了.Net 中很多获取 exe 执行目录来拼接的地址 ( 相对路径 ),比如 wwwroot 和 代码中相对目录还有一些复制到目录的普通文件 等等,它们的地址都会指向原来 exe 的目录, 而不是自定义的 “lib” 目录,根本原因就是没有修改 exe 的工作目录这次来搞一个启动程序,把 .net 的所有东西都放在一个文件夹,在文件夹同级的目录制作一个 exe._.net dll 全局目录

BRIEF特征点描述算法_breif description calculation 特征点-程序员宅基地

文章浏览阅读1.5k次。本文为转载,原博客地址:http://blog.csdn.net/hujingshuang/article/details/46910259简介 BRIEF是2010年的一篇名为《BRIEF:Binary Robust Independent Elementary Features》的文章中提出,BRIEF是对已检测到的特征点进行描述,它是一种二进制编码的描述子,摈弃了利用区域灰度..._breif description calculation 特征点

房屋租赁管理系统的设计和实现,SpringBoot计算机毕业设计论文_基于spring boot的房屋租赁系统论文-程序员宅基地

文章浏览阅读4.1k次,点赞21次,收藏79次。本文是《基于SpringBoot的房屋租赁管理系统》的配套原创说明文档,可以给应届毕业生提供格式撰写参考,也可以给开发类似系统的朋友们提供功能业务设计思路。_基于spring boot的房屋租赁系统论文