去中心化身份 DID( Decentralized Identifiers)

2024-02-27 12:58

本文主要是介绍去中心化身份 DID( Decentralized Identifiers),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目 录

  • W3C DID标准
  • 一、背景
    • 1、DID的动机
    • 2、人类友好标识符的作用
  • 二、DID与其他全球唯一标识符的区别
  • 三、DID的格式
  • 四、DID文件(DID Document)
  • 五、DID算法
  • 六、DID和隐私设计
  • 七、DID和可验证证书(VC)

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

这篇关于去中心化身份 DID( Decentralized Identifiers)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/752471

相关文章

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

PHP 验证身份号码 包括15位18位

查了很多资料 发现网上身份证15位的验证并不是那么严谨  今天研究了一下  代码如下 <?phpfunction check_id_card($num){//老身份证长度15位,新身份证长度18位$length = strlen($num);if ($length == 15) { //如果是15位身份证//15位身份证没有字母if (!is_numeric($num)) {return fa

替换Windows AD时,网络准入场景如何迁移对接国产身份域管?

Windows AD是迄今为止身份管理和访问控制领域的最佳实践,全球约90%的中大型企业采用AD作为底层数字身份基础设施,管理组织、用户、应用、网络、终端等IT资源。但随着信创建设在党政机关、金融、央国企、电力等各行各业铺开,对Windows AD域的替换成为企业信息安全建设中不可避免的议题之一。 鉴于AD在企业中的应用程度不同,可将企业分为轻度、中度及深度三类Windows&nbsp;AD

Behind the Code:与 Rakic 和 Todorovic 对话 OriginTrail 如何实现 AI 去中心化

原文:https://www.youtube.com/watch?v=ZMuLyLCtE3s&list=PLtyd7v_I7PGnko80O0LCwQQsvhwAMu9cv&index=12 作者:The Kusamarian 编译:OneBlock+ 随着人工智能技术的飞速发展,一系列前所未有的挑战随之而来:模型的衰退与互联网的潜在威胁愈发明显。AI 的增长曲线可能因训练过程中的瓶颈而趋于平

管理非人类身份的隐形风险

在网络安全的动态世界中,身份和访问管理 (IAM) 是关键的基础。确保只有授权的个人和系统才能访问公司资源至关重要。 不幸的是,虽然许多组织擅长管理人类身份,但他们通常需要更多地关注不断增长且可能更具危险的数字参与者类别,即非人类身份 (NHI)。 这些看不见的实体(包括服务帐户、API、机器人等)正在迅速增加,导致广泛的攻击面被忽视,因此保护不足。 非人类身份的兴起

AFNetworking2的SSL身份认证 -1022错误解决办法

错误说明,AFNetworking发送Https的网络请求时,往往会遇到-1012错误 Error Domain=NSURLErrorDomain Code=-1012 "The operation couldn’t be completed. (NSURLErrorDomain error -1012.)" UserInfo=0x8d635f0 {NSErrorFailingURLKey=..

智联云采 SRM2.0 autologin 身份认证绕过漏洞复现

0x01 产品简介 智联云采是一款针对企业供应链管理难题及智能化转型升级需求而设计的解决方案,针对企业供应链管理难题,及智能化转型升级需求,智联云采依托人工智能、物联网、大数据、云等技术,通过软硬件系统化方案,帮助企业实现供应商关系管理和采购线上化、移动化、智能化,提升采购和协同效率,进而规避供需风险,强化供应链整合能力,构建企业利益共同体。 0x02 漏洞概述 由于智联云采 SRM2.0

Shiro身份认证流程

http://www.toutiao.com/a6353832181929279746/?tt_from=mobile_qq&utm_campaign=client_share&app=explore_article&utm_source=mobile_qq&iid=5840657922&utm_medium=toutiao_ios

区块链 用户身份权限模式 方案

传统的中心化信息系统中,经常采用用户名或者手机号来标识用户,而区块链系统中,目前主要有以下几种用户标识方法: 1. 数字证书; 2. 公钥/地址; 3. 分布式数字身份(DID)。 长安链ChainMaker基于公钥用户标识的身份模式介绍

C++身份证实名认证-实名制-身份证三要素认证-身份认证-身份验真-接口

身份证实名认证一般是指通过一定的技术,对用户的身份进行确认的过程,常见的身份证核验方式包括身份证二要素、二要素+人像、手机号、银行卡等的一系列认证方式。   身份证核验一般需要提供身份证号码、姓名、证件人像、现场人像要素信息来与权威数据库中的信息进行匹配,以此来确认用户的真实身份。   C++身份证实名认证接口示例: #include #include #include int mai