WeIdentity Sample案例演示记录

2020年11月30日11:24:03
评论
230

更多区块链技术与应用分类:

区块链应用    区块链开发

以太坊 | Fabric | BCOS | 密码技术 | 共识算法 | 比特币其他链

通证经济传统金融场景 | 去中心化金融 | 防伪溯源 | 数据共享 | 可信存证

 

WeIdentity是一套分布式多中心身份认证的技术解决方案(去中心化身份),由微众银行开发。本文对官方WeIdentity Sample 开发样例进行测试记录。

WeIdentity Sample 包含以下三种角色

  • 凭证发行者Issuer
  • 用户代理User Agent
  • 凭证验证者Verifier

涉及到的术语:

Issuer(凭证发行者):任意拥有WeIdentity DID的Entity都可以作为Issuer来发行Credential。

User Agent(用户代理):用户私钥托管机构,例如某个用户身份管理APP。依据业务场景需求,可以是云端保存机制的,也可以是客服端本地保存机制的。

Verifier(凭证验证者):使用凭证的第三方,会验证这个凭证是否经过权威机构认证,例如劳工局办理业务时需要用户提供驾照,这时劳工局就是Verifier。

Authority Issuer(权威凭证发行者):例如对Claim进行认证的权威机构或者可信机构,例如下发驾照的交通事务局。

Credential(可验证数字凭证):同WeIdentity Credential,简称“凭证”,遵循W3C Verifiable Credential规范的电子凭证,可用来抽象现实世界凭证类的对象,一个Credential可以包含一个或者多个Claim。例如电子驾照,电子学历等。

CPT(凭证的声明类型):Claim Protocol Type,不同的Issuer按业务场景需要,各自定义不同类型数据结构的Claim,各种各样的Claim用不同的CPT来定义。

Presentation(Verifiable Presentation):遵循W3C Verifiable Presentation规范的凭证打包集。一个Presentation可以包括一个或多个Credential。

Policy:机构指定的Verifiable Presentation验证策略,例如:至少包括哪些Credential;每个Credential的Claim中属性项对应要求等

AMOP(链上信使协议):基于FISCO BCOS区块链的消息信道,不依赖区块链交易和共识,消息在节点间实时传输,自动寻找区块链网络中所有可行的链路进行通讯。所有通讯链路使用SSL加密,加密算法可配置,支持身份认证机制。

一.前置配置

  • 安装部署 weid-java-sdk
  • 配置 Committee Member 私钥
  • 修改节点和机构配置(每个机构需要配置为连接不同的区块链节点)
  • 编译 weid-sample
  • 启动 AMOP 服务,AMOP 服务是模拟 Verifier 向 User Agent 发送获取秘钥的请求,因此 Verifier 和 User Agent 需要连接同一条链中的不同的区块链节点。 先启动 Verifier 进程:

  • 修改 User Agent 配置

在启动完 Verifier 进程之后,还需要修改 User Agent 的配置,确保 User Agent 连接的区块链节点和 Verifier 连接的区块链节点在同一条链上,且连接的是不同的区块链节点。(确保User Agent 和Verifier ,否则就是自己验证自己,没啥意思了。)

二.演示流程

issuer

命令行执行issuer

会依次执行以下过程:

  1. 创建 WeID
  2. 设置认证
  3. 注册成为 Authority Issuer
  4. 确认该Authority Issuer
  5. 注册第一个 CPT
  6. 注册第二个 CPT
  7. 注册第三个 CPT
  8. 创建第一个 Credential(用Map生成)
  9. 创建第二个 Credential (用pojo生成)
  10. 创建第三个 Credential (用josn生成)
  11. 保持credentialList(credential列表)
  12. 完成

so,打印出如下很长的log。。

展开隐藏

user_agent

命令行执行user_agent

依次执行以下过程

  1. 创建 WeID
  2. 设置认证
  3. 获取credentialList(credential列表)
  4. 通过 AMOP 获取 Verifier 发布的 Presentation Policy
  5. 创建 Presentation
  6. 打包 Presentation 成 QRcode 或者 Json 串的流程

全部log显示如下:

展开隐藏

Verifier

命令行执行Verifier

  1. 为Verifier创建WeID
  2. 获取presentation的json数据
  3. Verifier反序列化PresentationJson数据
  4. 获取Policy
  5. 验证Presentation

全部log显示如下:

展开隐藏


原文链接:WeIdentity Sample案例演示记录

  • 本文由 发表于 2020年11月30日11:24:03
  • 转载请注明:https://www.wanghaoyi.com/bcos-weidentity-sample.html
WeIdentity-Sample国密化部署 BCOS

WeIdentity-Sample国密化部署

之前基于全国密化搭建了FiSCO BCOS链,但是官网给的WeIdentity-Sample例子是基于非国密的,欲将WeIdentity-Sample在国密下运行,还需要手动修改下。 1.修改代码 W...
BCOS链docker化部署 BCOS

BCOS链docker化部署

使用脚本一键部署 安装依赖openssl依赖 yum install -y openssl openssl-devel 创建目录下载脚本 mkdir -p fisco && cd fi...
BCOS之国密链部署WeBase问题 BCOS

BCOS之国密链部署WeBase问题

1.generator工具生成链,启用加密类型为国密,SSL也为国密,出现ssl handshake failed报错 问题描述: WeBase一键安装启动后,发现5002端口没有起来 # Encry...
FISCO BCOS证书与鉴权体系 BCOS

FISCO BCOS证书与鉴权体系

区块链之所以被称为“信任的机器”,是因为其通过密码学算法使各不信任的节点互相协作达到信任。这一理念在联盟链中的体现主要是基于PKI(公钥基础设施)建立证书体系,FISCO BCOS中的证书主要满足SS...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: