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

相关文章

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

SpringIntegration消息路由之Router的条件路由与过滤功能

《SpringIntegration消息路由之Router的条件路由与过滤功能》本文详细介绍了Router的基础概念、条件路由实现、基于消息头的路由、动态路由与路由表、消息过滤与选择性路由以及错误处理... 目录引言一、Router基础概念二、条件路由实现三、基于消息头的路由四、动态路由与路由表五、消息过滤

Spring Boot 3.4.3 基于 Spring WebFlux 实现 SSE 功能(代码示例)

《SpringBoot3.4.3基于SpringWebFlux实现SSE功能(代码示例)》SpringBoot3.4.3结合SpringWebFlux实现SSE功能,为实时数据推送提供... 目录1. SSE 简介1.1 什么是 SSE?1.2 SSE 的优点1.3 适用场景2. Spring WebFlu

基于SpringBoot实现文件秒传功能

《基于SpringBoot实现文件秒传功能》在开发Web应用时,文件上传是一个常见需求,然而,当用户需要上传大文件或相同文件多次时,会造成带宽浪费和服务器存储冗余,此时可以使用文件秒传技术通过识别重复... 目录前言文件秒传原理代码实现1. 创建项目基础结构2. 创建上传存储代码3. 创建Result类4.

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark