随着数字化活动的普及,数字身份作为数字化活动的基础显得尤为重要。传统的中心化身份管理系统存在诸多弊端,如数字身份的拥有者没有实际的控制自己的身份,存在着身份信息容易泄露及滥用的风险。区块链技术的各种优点,正好可以解决中心化数字身份存在的问题。因此,在分析数字身份由中心化到去中心化转型的必要性后,重点研究基于区块链的分布式数字身份技术,以某单位新入职员工入职流程为例,建立去中心化数字身份模型,并搭建区块链基础网络,对模型进行身份验证。
当今世界,各个国家大力发展数字化经济。如今,大数据、云计算等技术逐步成熟,很多企业开发的云上课堂、疫情防控二维码层出不穷,万物互联的时代已经来临。各种数字化活动的基础是数字化身份,只有确保人、物的数字身份真实无误,人、物关联的各种信息、产生的各种线上交易才能确保真实有效。
随着数据的爆炸式增长,各种安全问题随之而来。登录第三方网站注册的个人信息,往往由于第三方互联网企业缺乏安全意识、缺乏信息保护的技术手段,导致用户真实的身份信息被非法机构入侵获取并加以贩卖。同时,用户的个人信息不由用户自己支配,无授权下的滥用场景频发。2021年315晚会爆出了科勒卫浴、宝马等商业店铺内安装的人脸识别摄像头,采集了大量顾客人脸,并进行人脸分析记录,从而针对顾客实行定制的商业计划,即大量的人脸信息在没有征求用户同意的情况下被非法获取。以上各种身份问题频发,暴露出用户数字身份管理的重要性,急需对用户身份信息进行安全保护。
区块链技术凭借其去中心化、多方共识、公开透明、防篡改以及可追溯等特征,给数字身份的安全转型提供了可信的解决方案。该技术恰好可以解决数字身份当前的痛点,使得身份所有者对自己的数字身份有着绝对的话语权。
1.数字身份演进
当前普遍存在的身份管理都是中心化的管理。中心化身份管理系统的本质是中央集权化的身份或者授权机构掌握着身份数据,数字身份持有者在日常活动的认证、授权过程受中心化机构的管理,身份不由用户自己控制。不同的中心化网站(如淘宝、京东等)有一套自己的身份系统,同一用户在不同网站使用的身份信息不相通,所以用户访问不同的网站时都需要重新注册新账户。
为了解决这个问题,1999年微软提出了联盟身份的概念,即各个网站组成联盟,联盟内身份可以互认。在联盟身份体系推出后,用户的数字身份在多个网站之间形成了共享。联盟身份的代表产物就是使用微信、QQ等一些常见的社交账户一键关联登录。随着联盟身份的逐步成熟,数字身份开始向去中心化转型。虽然很多网站支持微信、QQ第三方登录,但是其用户体验并不是很好,登录成功后还需要用户进行手机号码的再次绑定。
综上所述,中心化集权管理的身份系统存在着两个难以解决的问题:一是身份拥有者本身其实对自己的身份信息没有绝对的支配地位;二是各个中心化身份管理系统相互隔离,身份信息无法实现共享。
随着区块链技术迅速的发展,政策、技术、市场也引导区块链技术改变了人们的生活方式,一种新的数字身份模式(分布式数字身份)应运而生。该数字身份模式改变了中心化数字身份集权控制的弊端,真正让身份拥有者控制自己身份,通过数字身份所有权回归的方式彻底改变了身份滥用和泄露问题。
2.分布式数字身份
数字身份最通用的模型是代表实体的身份标识符及与之关联的属性声明。同理,分布式数字身份(Decentralized ID,DID)包括分布式数字身份标识符和数字身份凭证(声明集合)两部分。
W3C制定了DID生成的相关标准,如图1所示。标准指出,DID可以分为基础层和应用层两个层次。基础层主要侧重DID的规范,包括DID标识符号和DID文档;应用层主要是可验证声明Verifiable Credentials,简写为VC。
图1 DID的组成模型
2.1 DID的基础层
DID基础层是一个全局键值对数据库。DID标识符是键,DID文档是值。在DID标识中,example字段表示这个数据库要么是某个DID兼容的区块链,要么是某个DID兼容的分布式账本,或者是某个DID兼容的去中心化网络。
DID标识符是一段特殊的字符串,具有全网唯一、可以分离解析和加密可验证性的特点。W3C规定的DID标识的基本格式为did:example:123xxx,其中example代表区块链、分布式账本或者去中心化网络。当前已有很多,如微众银行该字段为weid。
DID文档是一个JSON-LD格式的数据,包括6个部分。每个部分用户可以选择性披露,其中的加密材料和服务端点等属性往往和DID的标识符关联起来,从而达到建立安全通道的目的。
表1 DID文档的基本内容
2.2 DID的应用层
DID的应用层主要是可验证声明VC。VC提供了一种规范来表征用户实体具有的某种属性。DID的实体可以向其他实体出示自己的VC证明自己某些属性的真实性。常见的VC模型一般由四个角色组成:
(1)发行者(Issuer):拥有用户某些属性的证明数据,并具有开具用户VC能力的实体机构,如提供身份证明的公安部门、提供学历证明的学校、提供培训证明的机构等。
(2)验证者(Inspector-Verifier,IV):需要验证用户信息的机构,具有接受VC的能力,验证成功后可以提供给用户相关的服务。
(3)持有者(Holder):向Issuer提出请求、收到、持有VC的实体;向IV出示VC;开具的VC可以委托代理存储,方便再次使用。
(4)标识符注册机构(Identifier Registry):提供用户DID标识申请的代理,如某条区块链、分布式账本或者相关的分布式网络。该机构可以在IV验证用户的DID身份时访问该数据库。
VC的提供要本着以泄露用户信息最少为原则。比如,用户A想要注册网约车司机,此时网约车注册网站需要用户提供驾驶车辆3年以上证明和车子与车主关系证明。按照当前网约车系统使用的方法,用户需要上传驾驶证原件和行驶证原件到网约车企业网站,这样个人信息的主动权交到网约车企业手中。如果网约车企业网站管理不当,就存在泄露的风险。有了VC的概念后,用户A可以从Issuer(车辆管理所)申请VC。VC内容只需披露“用户A驾龄>3年,车辆属于本人”,用户A提供给Inspector(网约车注册机构),该VC就可以进行验证,用户A就可以成功注册网约车司机。
最理想的VC就是回复给验证者“是”或者“否”,这样能泄露最少的信息给IV。
3.场景分析及建模
一般来说,DID应用可以概括以下几个步骤:
(1)为参与业务的各个机构搭建区块链网络(其中包括人和机构);
(2)基于W3C规范生成相关的实体的DID并上链;
(3)对业务中需要的各类证明生成可验证数字凭证(Credential),通过区块链技术的私钥管理和不可篡改的数字化证明特性,进行可信登记、授权流转及真实性验证。
下面就新员工入职某军工单位为例。为了保证新员工提供的材料真实且无篡改,企业需要联系第三方机构去验证,分析DID技术在其中的作用。
员工入职前,单位要求员工提供毕业证、学位证、离职证明、无犯罪证明及现实表现证明等一系列证明才能办理入职手续,且每个证件都要由不同的部门提供。新单位要想核实各种证明的真实性也比较麻烦。有了DID技术后,该问题可得到很好地解决。
如图2所示:
(1)各个证明的提供者作为issuer,将要入职的单位为verifer;
(2)各个凭证的发行方、新员工、新单位搭建区块链网络,并分别注册自己的DID;
(3)用户可将自己的信息托管给用户代理,用户代理可以是App的模式或者是Web等模式;
(4)新员工向各个证明提供方申请自己的凭证信息,此时凭证发行方要通过DID验证新员工身份的真实性,身份真实则发放凭证;
(5)新员工得到凭证后托管到代理中并计算凭证的hash值,上链;
(6)新单位获取到新员工出示的材料后,通过链上信息即可以验证出示资料的真实性。
图2 新员工入职建模
4.模型验证
WeIdentity是国内首家互联网银行微众银行开发的一套基于区块链技术的分布式多中心数字身份解决方案。该解决方案提供了数字身份技术相关的基础层和外部接口函数,开发者可以在其基础上进行二次开发,以实现数字实体对象(人或物)之间的认证授权和可信数据交换等。
BCOS是聚焦企业级应用的区块链开源平台,由微众银行、万向区块链、矩阵元三家公司合作研发,为企业级用户打造的分布式应用平台。2017年金链盟开源工作组在BCOS的基础上推出了面向金融行业的定制版本FISCO BCOS。到目前为止,FISCO BCOS已在互联网行业形成了强大的国产开源联盟链生态圈。该平台已经经过数百个项目的检验,覆盖各行业的众多领域。
本文采用WeIdentity+FISCO BCOS的开源框架作为基础框架,在其基础上对所述的军工单位新员工入职场景进行验证,主要步骤如下:
(1)搭建FISCO BCOS的区块链网络,如图3所示;(2)issuer发布凭证,如图4所示;(3)新员工委托用户代理持有VC,如图5所示;(4)新单位对基本信息进行验证,如图6所示。
图3 搭建区块链网络
图4 issuer产生VC
图5 用户代理生成
图6 验证者验证成功
5.结语
本文在研究分布式去中心化数字身份理论的基础上搭建区块链网络,对实际问题进行建模和验证。分布式数字身份技术借助区链技术的发展,在数字生活中将得到广泛的应用,但是该数字身份的推广还处在起步阶段也存在一定的不足。如何保证上链传输过程中的安全、链上数据的真实可信等问题,都是后续需要研究的方向。