去中心化DID身份认证的应用解析

    去中心化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,并挖掘出更多真实应用。

你可能感兴趣的:(去中心化DID身份认证的应用解析)