Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

数字身份DID(3)---去中心化数字身份DID的实现 #67

Open
winterpi opened this issue Feb 21, 2024 · 0 comments
Open

数字身份DID(3)---去中心化数字身份DID的实现 #67

winterpi opened this issue Feb 21, 2024 · 0 comments

Comments

@winterpi
Copy link
Owner

winterpi commented Feb 21, 2024

数字身份再次被提起

  • 在2022年4月份,我曾在简书上发表过 去中心化DID身份认证的技术解析 以及 去中心化DID身份认证的应用解析,对去中心化数字身份的技术有了较为深刻的分析。
  • 后来在2022年底,花了2、3个月的时间跟小伙伴们一起,把相关的产品原型也做了出来,可惜后来没找到合适的落地场景,就那么搁置了。
  • 直至2024年初,公司商务原因要求参加《2024年数字身份创新应用大赛》,又一次把数字身份产品拿出来了。刚好趁这个机会,我得以把数字身份的实现捋一下,再次展现出来。

三种数字身份的认证方式

  • 中心化的身份认证方式:如传统的网站、app应用开发,都需要注册用户;
  • 单点登录的身份认证方式:如借用支付宝、微信、google账户登录;
  • 去中心化的身份认证方式:基于区块链实现的去中心化身份认证;

image

去中心化数字身份的实现思路

        基于已有的区块链产品基础底座,设计了符合W3C标准的去中心化数字身份架构AnchorDID,如下图所示。个人/企业机构均可注册AnchorDID,注册后的DID信息存储在区块链上,而个人获得企业机构颁发的证书(可验证凭证)可由用户自行保管,并授权其他机构验证。
image

去中心化数字身份的技术架构

  • 下图展示了AnchorDID数字身份系统的技术架构。在该架构中,证书发行机构和个人用户均可注册并获得各自的AnchorDID数字身份。当发行机构向个人用户颁发证书时,该机构会对数字证书进行签名。个人用户在向验证机构出示证书时,可以选择性地披露证书的部分属性,或者将多个证书合并成一个凭据,提交给验证机构以验证其准确性和可靠性。
  • 这种方案的一个显著特点在于,用户能够自主控制共享的身份信息,从而显著提升了身份信息的安全性并降低了数据泄露的风险。
    image

业务逻辑

        主要分为两部分业务:颁发数字身份和验证数字身份。这些阶段的前提是企业和个人用户均已注册了AnchorDID。

  • 颁发数字身份
    -- 发行机构会根据不同场景制定各类数字身份证书的模板。例如,学校可能会制定毕业证书模板,银行可能会制定个人存款证明模板,并公开这些模板。个人用户可以向发行机构申请相应的数字身份证书,如毕业证书、银行薪资流水证明或员工离职证明。发行机构在核对个人信息后,会向个人颁发相应的数字证书。
  • 验证数字身份
    -- 作为验证机构,可以根据具体场景定制所需的验证内容(称之为凭据请求),并向个人用户索取相应的证明。例如,企业机构可能会定制员工入职时需要验证的信息,包括新员工的毕业证书、前雇主的离职证明等。企业会将定制的入职凭据请求发送给新员工,新员工则根据自己的数字证书(如毕业证书、前单位的离职证明)出示组合后的身份凭据以供验证。
    image

技术上的几大难点

  • 国密算法的集成:在颁发证书的过程中,本方案支持使用基于国密SM2算法的非对称加密来构建数字签名及其验证,以及基于SM3算法的哈希摘要,以确保信息安全符合国家标准。
  • 灵活的凭据定制:本方案提供了一种直观的可拖拽界面,使验证机构的用户能够快速地组合多张证书来构建所需的凭据,如下图所示,大大提高了定制过程的便捷性。
  • 零知识证明的智能处理:本方案支持在不同业务场景下对凭据字段的各种操作需求,包括选择性披露、属性值的逻辑运算和数值范围的限制。系统能够自动生成相关的零知识证明电路,并通过区块链的智能合约自动验证这些证明的正确性。只有在验证通过后,相关的信息才会被存储在区块链上,并通知验证机构。
    审核使用1(02-18-16-26-36)
@winterpi winterpi changed the title 去中心化数字身份DID的实现 数字身份DID(3)---去中心化数字身份DID的实现 Mar 28, 2024
@winterpi winterpi changed the title 数字身份DID(3)---去中心化数字身份DID的实现 数字身份DID(3)---去中心化数字身份DID的实现 Mar 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant