BSN DID(数字身份服务)简介、角色、结构、功能和特性

2024-02-07 13:40

本文主要是介绍BSN DID(数字身份服务)简介、角色、结构、功能和特性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

id:BSN_2021

公众号:BSN研习社

身份(Identity,简称ID),是我们生活中最重要的一个标志。我们每个人之所以与别人不同,归根结底,就是因为我们的身份各不相同。

在不同的身份之上,我们每个人有不同的身份证、毕业证、驾驶证等,这些又称为证件、凭证。此外还有各种网站注册的账号等,它们是我们享受网站服务的凭证,同样可称的上是我们的“身份”证。

传统中,我们的证件都是中心化的。譬如我们的身份证,由国家公安部门统一颁发。驾驶证,由交管部门颁发。所有的相关信息都统一存储于相关部门。很多公司,也会大量采集客户的身份信息。

这一方面给我们生活带来了极大便利,另一方面,随着大数据时代的来临,各种关于身份的数据灭失、身份造假、隐私泄露等相关问题,越来越引起人们的重视。

BSN数字身份以区块链技术为基石,以W3C DID(Decentralized Identity,简称DID)为规范,通过对现实实体身份的去中心化式的链上映射,达到为个人/组织提供数字身份标识和数字凭证交互的能力,最终实现个人对其身份信息的精细管控。

作为BSN 区块链服务不可或缺的重要一部分,BSN DID具有广泛的应用场景。

那么,DID具体是什么?当前DID现状如何?BSN DID有哪些技术特点?功能特性如何?如何接入BSN DID?

1.DID 是什么

DID(Decentralized Identity)指的是对现实实体身份的一种去中心化式的链上映射,任何人/组织/实物都可在链上创建和管理自己的数字身份,从而达到为个人/组织提供数字身份标识和数字凭证交互的能力。

在日常的业务中,利用DID,用户并不需要向验证方展示自己的全部个人信息,这可有效保护用户隐私。譬如在网络游戏中,玩家申请加入游戏,并向游戏公司展示自己的DID,游戏公司向国家公安部门申请验证“玩家是否大于18岁”。在玩家授权的情况下,游戏公司只会得到一个是或否的答案,并不能得到玩家的身份证号信息。

目前,DID还处于非常初期的发展阶段。国际上,W3C 推出的DID标准比较权威。在W3C的标准里面,DID分为2层。

首先是基础层。其对DID提出了一个规范。主要包括两个部分:DID标志符(Identifier)和DID文档(Document)。它们形成DID的最基础框架。

其次是应用层。包含的是可验证声明(Verifiable Claims 或 Verifiable Credentials)。在DID里面,身份、凭证缺一不可。可验证声明,就是为实现“提供数字凭证交互的能力”。

 2.当前DID现状

目前市面上,从功能角度,可以把DID分为2类。

一类是DID产品/服务。主要运行在联盟链上,具备支持数字凭证交互能力,例如蚂蚁DID(蚂蚁DIS)、微众DID(微众WeIdentity)、百度DID。

另一类是公链DID,其只有数字身份功能,例如Eth DID,Hedera DID。

当前,很多公司都推出了DID相关产品。普遍存在一些短板。表现在3个方面。

1.普遍缺少实名认证,需依托于线下背书。在我国,实名认证很重要。如果缺乏实名认证,会对公司的业务产生诸多不利影响。

2.基于单一的链框架。DID并不能达到长期存在、去中心化的效果。

3. 只适合于服务对接,不适合于平台对接

平台对接与服务对接的最大区别在于是否涉及到具体业务。服务对接中,服务提供方把 SDK提供给用户让他们自己去离线注册 DID,这符合DID的初衷和定位。

这若用在平台中,意味着所有的用户都到平台来直接用,因每个用户的能力参差不齐,有些甚至根本不是技术人员,离线注册 DID 不现实;平台若替所有的用户注册DID,又涉及到托管密钥问题,容易造成泄密。

3.BSN DID简介、角色和结构

BSN数字身份以区块链技术为基石,以W3C DID为规范,实现了对现实实体身份的去中心化式的链上映射,从而达到为个人/组织提供数字身份标识和数字凭证交互的能力。

在BSN DID生态体系内,主要有用户、发证方、使用方三种角色。

用户(User):拥有链上数字身份的任何人/组织/实物。任何实体对象都可通过开发者的项目去创建、管理自己的DID。这个角色功能在DID基础层实现。

发证方(Issuer):可发行数字凭证的人/组织。例如:高校可为某个学生颁发数字毕业证,那么这个高校便是一个发证方。

验证方(Verifier):也称为业务方,指使用数字凭证的人/组织,验证方在经用户授权后,可对用户的身份或其数字凭证进行验证。例如:企业录取某个人的时候,要对其高校毕业证进行验证,那么这个企业便是一个验证方。

发证方和验证方这两个角色功能在DID应用层实现。

BSN DID主要包含三部分:SDK、Service和智能合约。其中SDK供开发者在项目内集成使用;Service处理业务逻辑,连接隐私数据存储区(Identity Hub)和链节点;智能合约部署于链上,由Service进行合约方法调用。

 

4.功能与特性

相较于其它公司产品,BSN DID功能特性如下。

BSN DID基于BSN开放联盟链部署,构建分布式数字身份管理体系,便于用户、发证方、业务方自主参与、平权协作;

提供统一的分布式数字身份管理,包含身份标识创建,更新和验证等功能;

提供用户数据凭证的发行、授权、验证和吊销机制;

提供个人隐私数据存储区(Identity Hub),凭证数据由用户完全控制、加密存储、加密传输;

提供统一接入API服务和SDK,集成对象封装、签名、验证等方法,便于开发者对接。

 

特别是BSN DID的隐私数据存储模块,具有多个特点,可有效保护用户隐私,实现用户数据的高效、安全共享。具体特点如下。

1.通讯包加密(通讯报文密文传输)。

2.通讯报文加签(通讯报文加签名值)。

3.凭证内容加密。每个凭证都将生成一个密钥返回给用户,存储在Hub 内的凭证使用该密钥进行加密。

4.密钥值加密。Hub内不接收和保存用户的私钥。凭证密钥在 Hub内使用用户的公钥加密后存储。

5.用户主控。访问权限完全由用户自己控制。

6.单次授权。同一个第三方访问者,同样的操作权限的申请,用户只可授权一次。

7.单次访问。用户授权一次,第三方只可访问一次。

8.访问身份验证。Hub内会对访问者的身份进行验证。目前记录的身份为DID。

这些特点,共同构成了BSN DID的诸多优越性。

5. 如何接入BSN DID

BSN DID作为区块链服务网络BSN 不可或缺的重要基础设施之一,通过简单注册,开发者即可便捷的上手使用。

首先开发者在BSN 官网注册(地址:https://bsnbase.com)。

完成注册登陆后,点击数字身份服务,即可进入BSN DID详情页面。

如有任何技术问题,开发者点击帮助手册,即可得到详尽的指导。

 

如需接入DID服务,请下载SDK:https://github.com/BSNDA/DIDService-SDK。

若想要了解更多关于DID信息,请点击查看帮助手册:

https://bsnbase.com/static/tmpFile/bzsc/did/17-1.html 。

这篇关于BSN DID(数字身份服务)简介、角色、结构、功能和特性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据

《mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据》文章主要介绍了如何从.frm和.ibd文件恢复MySQLInnoDB表结构和数据,需要的朋友可以参... 目录一、恢复表结构二、恢复表数据补充方法一、恢复表结构(从 .frm 文件)方法 1:使用 mysq

MobaXterm远程登录工具功能与应用小结

《MobaXterm远程登录工具功能与应用小结》MobaXterm是一款功能强大的远程终端软件,主要支持SSH登录,拥有多种远程协议,实现跨平台访问,它包括多会话管理、本地命令行执行、图形化界面集成和... 目录1. 远程终端软件概述1.1 远程终端软件的定义与用途1.2 远程终端软件的关键特性2. 支持的

Rust中的Drop特性之解读自动化资源清理的魔法

《Rust中的Drop特性之解读自动化资源清理的魔法》Rust通过Drop特性实现了自动清理机制,确保资源在对象超出作用域时自动释放,避免了手动管理资源时可能出现的内存泄漏或双重释放问题,智能指针如B... 目录自动清理机制:Rust 的析构函数提前释放资源:std::mem::drop android的妙

Java中实现订单超时自动取消功能(最新推荐)

《Java中实现订单超时自动取消功能(最新推荐)》本文介绍了Java中实现订单超时自动取消功能的几种方法,包括定时任务、JDK延迟队列、Redis过期监听、Redisson分布式延迟队列、Rocket... 目录1、定时任务2、JDK延迟队列 DelayQueue(1)定义实现Delayed接口的实体类 (

springboot的调度服务与异步服务使用详解

《springboot的调度服务与异步服务使用详解》本文主要介绍了Java的ScheduledExecutorService接口和SpringBoot中如何使用调度线程池,包括核心参数、创建方式、自定... 目录1.调度服务1.1.JDK之ScheduledExecutorService1.2.spring

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

TP-Link PDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务

《TP-LinkPDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务》近期,路由器制造巨头普联(TP-Link)在用户群体中引发了一系列重要变动,上个月,公司发出了一则通知,明确要求所... 路由器厂商普联(TP-Link)上个月发布公告要求所有用户必须完成实名认证后才能继续使用普联提供的 D

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多