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(2)--去中心化DID身份认证的应用解析 #74

Open
winterpi opened this issue Mar 28, 2024 · 0 comments
Open

数字身份DID(2)--去中心化DID身份认证的应用解析 #74

winterpi opened this issue Mar 28, 2024 · 0 comments

Comments

@winterpi
Copy link
Owner

winterpi commented Mar 28, 2024

    去中心化DID的目的,是在保护用户隐私的前提下,支持在多个网络中共享ID,实现互操作性,从而构建更好的web生态。前一章节去中心化DID身份认证的技术解析,介绍了DID基本的技术原理,这一章节,我们简单描述几个DID的使用场景。

安全登录网站

    现在人们已经习惯微信扫码登录,或是支付宝授权登录等,这样就可以用微信账号、支付宝账号直接登录到第三方网站上。所以我们的个人信息是由微信、支付宝保管,相信这些大网站不会崩溃,也不会泄露我们的数据等。但“大数据杀熟”现象就是一个反例,网站利用我们的数据,操纵着我们的支付,这是用户信息中心化管理的弊端。
    DID作为一种杀手锏,可以摆脱中心化的身份管理及授权。如果是同类性质的网站,比如直接以用户名密码登录的,可以用DID免密安全登录,登录的过程描述如下(前提是用户及网站都已经在区块链上注册了DID):安全登录过程.png

  1. 用户打开要登录的网站,请求登录;
  2. 网站服务器生成一个包含随机分配的ID、网站DID、网站服务器URL的二维码;
  3. 用户扫描网站上的二维码,根据网站DID在区块链上查询网站的DID文档,获得网站服务器的公钥;
  4. 用户用网站的公钥加密请求数据,再次发送给网站服务器。
  5. 网站服务器用其私钥解密用户的登录请求,并在区块链中查询用户的DID文档,用用户的公钥验证签名,确保DID用户的正确性,验证通过,刷新登录页面为已登录状态。
        

身份认证

    以小学生入学登记为例,家长报名时需要出示户口本(证明这小孩户口是在当地,也确实是家长的娃)、房产证(证明房屋是该家长的,该房屋也确实归属于所属校区)外加其他结婚证、疫苗接种证明等。这些证明都是纸质的,都是由相关部门盖章确认了的。只是使用的时候很麻烦,家长需要把所有证件都带上,万一丢了补办也很繁琐。
    上面的这些证件都是为了验证该小学生的身份,确认其入学资格。如果改用DID证明,就可以省去这么多的证件派送过程。流程如下(前提是公安局、房管所、民政局、家长、学校等都已经在区块链上注册了各自的DID):入学学生身份认证的过程.png

  1. 家长跟学校说,我家有小孩要上学;
  2. 学校给出一个待认证列表,比如(小孩户口、亲属关系、房产证明等),并将信息发送给家长;
  3. 家长收到认证请求后,查看其DID App中是否有满足需求的这些VC(可验证凭据),比如户口证明、房产证明等,如果没有就向相关部门申请VC。假设家长的DID app中有这些证明VC,就通过指纹或者私钥进行签名,包裹这些VC生成VP(可验证证明),并传给学校;
  4. 学校收到家长的VP后,用家长的公钥验签,通过区块链验证VP的正确性,最终学校保存该VP并将其与家长的DID关联。

    微众银行实现的“粤康码”与“澳门健康码”互通项目,就是基于区块链+DID技术实现了跨境身份的认证,使得前往澳门的内地旅客,除了提供核酸证明以外,只需申领“粤康码”即可轻松过关,无需再次填写澳门本地的健康码。
基于区块链+DID的粤康码与澳康码互认.png

隐私保护

    再以买房为例,在买房前期,售楼处会要求购房者先出示一个资金证明(比如存款>500万),这样的话购房者就需要将好几个银行的资金挪到一家银行,凑够500万后,再开具一个证明给售楼处。对购房者来说,资金在几家银行间来回挪动就是损失,同时也泄露了金额数目。
    如果采用DID就会便捷很多(前提还是多个银行、购房者、售楼处都已经在区块链上注册了DID),流程如下图所示。
    购房者手里有多个银行所给的银行存款证明VC,他可以将这些VC中的金额合并,之后加上零知识证明ZKP的proof隐藏具体的数目,签名后转成VP发给售楼处。售楼处验证这个VP的正确性后,并验证零知识证明ZKP的proof的正确性,确认购房者拥有500多万的资金,但却不知道具体数目。
资金证明.png

物联网标识

    伴随着IoT设备的种类扩大,物联网的数据也逐渐丰富起来,但物联网设备的安全,及物联网数据的可信度也逐渐引起人们的关注。
    如果能以DID给物联网设备进行身份标识,就可以控制物联网设备的安全性,并从源头确认数据的可信度。
    以工厂的机器为例,每个机器都由其制造商赋予了一个DID。当机器运转时会产生大量的生产数据,可以将这些生产数据(非敏感的)进行签名,将数据、签名结果和DID一同保存在区块链上。
    机器的制造商可以根据链上数据得知机器的运行情况,便于更好的售后保养服务。
    当企业需要贷款时,银行可以根据区块链上的生产数据,并结合机器制造商的背书,判断企业的生产经营情况,评估贷款风险。(这也算是区块链跨多方机构使用的一个场景)

安全的数据共享

     以云网盘数据共享为例,如果我想要把网盘上的一些照片发给出版商,就在云网盘上申请一个链接,并加上一个访问密码,交给出版商去访问。出版商拿到这个号码就能取回照片,但这个密码可能给其他人重复使用,就导致我的照片被泄露了。
    采用DID方式,可以相对安全地将数据共享给使用者,如下图所示(前提:数据保管方、数据方、用户都在区块链上注册了DID).
数据共享.png

  1. 用户的数据保存在数据保管方(如云上),用户授权使用方获取该数据;
  2. 数据使用方生成授权凭证(Credential),标明授权对象、数据属主、有效期、授权内容等,并使用自己的私钥进行签名;之后将授权凭证写入区块链,达到增信目的;
  3. 数据使用方出示授权凭据给数据保管方;
  4. 数据保管方验证该凭据,验证通过后,才将数据发送给数据使用方。
    基于此,我的数据被使用了几次,被哪些人使用过,都一清二楚。

结束语

    本章简短地介绍了DID的几个使用场景,也是我目前收集到的。但纸上得来终觉浅,以后可以尝试多种DID,并挖掘出更多真实应用。

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