当前位置: 首页 > 科技观察

基于区块链的去中心化数字身份研究与验证

时间:2023-03-13 21:26:26 科技观察

随着数字活动的普及,作为数字活动基础的数字身份显得尤为重要。传统的中心化身份管理系统存在诸多弊端。例如,数字身份的拥有者实际上并不掌握自己的身份,存在身份信息容易泄露和滥用的风险。区块链技术的种种优势恰好可以解决中心化数字身份的问题。因此,在分析了数字身份由中心化向去中心化转变的必要性后,我们着眼于基于区块链的分布式数字身份技术,以某单位新员工入职流程为例,建立去中心化数字身份模型,并搭建区块链基础网络对模型进行鉴权。当今世界,各国都在大力发展数字经济。如今,大数据、云计算等技术逐渐成熟,不少企业开发了云课堂、二维码等疫情防控手段。万物互联时代已经到来。各种数字活动的基础是数字身份。只有确保人和物的数字身份真实无误,才能使与人和物相关的各种信息和产生的各种网上交易真实有效。随着数据的爆炸式增长,各种安全问题也随之而来。由于第三方互联网公司缺乏信息保护的安全意识和技术手段,在第三方网站注册的个人信息往往被不法组织获取和出售。同时,用户的个人信息不受用户支配,未经授权的滥用场景时有发生。2021年,315晚会透露,科勒卫浴、宝马等商业卖场安装的人脸识别摄像头采集了大量顾客人脸并进行分析记录,从而为顾客实施定制化的商业计划,即未经用户同意,非法获取大量人脸信息。上述各类身份问题的频发,暴露了用户数字身份管理的重要性,迫切需要对用户身份信息进行安全保护。区块链技术以去中心化、多方共识、公开透明、不可篡改可追溯等特点,为数字身份的安全转换提供了可信的解决方案。这项技术正好可以解决目前数字身份的痛点,让身份拥有者对自己的数字身份拥有绝对的发言权。1.数字身份的演进当前无处不在的身份管理是中心化管理。中心化身份管理系统的本质是中心化的身份或授权机构持有身份数据,数字身份持有者在日常活动中的认证和授权过程由中心化机构管理,身份不受中心化机构控制。用户本人。不同的中心化网站(如淘宝、京东等)有自己的身份体系,同一用户在不同网站使用的身份信息不一样,因此用户访问时需要重新注册新账号不同的网站。为了解决这个问题,1999年,微软提出了联盟身份的概念,即各个网站组成一个联盟,联盟内的身份可以相互认可。联邦身份系统推出后,用户的数字身份在多个网站之间共享。联盟身份的代表产品是使用微信、QQ等一些常用的社交账号进行一键登录。随着联合身份的成熟,数字身份开始向去中心化转变。虽然很多网站都支持微信和QQ第三方登录,但是用户体验不是很好。登录成功后,用户需要重新绑定手机号。综上所述,中心化管理的身份体系存在两个难点问题:一是身份拥有者本身对自己的身份信息不具有绝对支配权;二是中心化身份管理系统相互隔离。身份信息不能共享。随着区块链技术的快速发展,政策、技术和市场也带动了区块链技术改变人们的生活方式,一种新的数字身份模型(分布式数字身份)应运而生。这种数字身份模型改变了中心化数字身份集中控制的弊端,真正让身份拥有者掌控自己的身份,通过数字身份所有权的归还,彻底改变了身份滥用和泄露的问题。2.分布式数字身份最常见的数字身份模型是代表一个实体及其相关属性声明的身份标识符。同样,分布式数字身份(DecentralizedID,DID)包括两部分:分布式数字身份标识和数字身份凭证(声明集)。W3C制定了DID生成的相关标准,如图1所示。标准指出DID可以分为两个层次:基础层和应用层。基础层主要关注DID的规范,包括DID标识符号和DID文档;应用层主要是VerifiableCredentials的可验证声明,简称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):向发行人提出请求、接收、持有VC的实体;将VC呈现给IV;发行的VC可委托代理保管,方便重复使用。(4)IdentifierRegistry:为用户提供DID身份识别应用的代理,如区块链、分布式账本或相关的分布式网络。当IV验证用户的DID身份时,代理机构可以访问数据库。VC的提供应以泄露最少的用户信息为原则。例如,用户A想注册成为网约车司机。此时,网约车注册网站要求用户提供车辆驾驶3年以上的证明和车主关系证明。按照网约车系统目前使用的方式,用户需要将驾驶证和驾驶证原件上传到网约车公司网站,这样个人信息的主动权就交给了网约车公司。网约车公司的网站如果管理不善,就有被泄露的风险。有了VC的概念,用户A可以向Issuer(车管所)申请VC。VC的内容只需要公开“用户A的驾龄>3年,车辆是我的”,用户A提供给Inspector(网约车登记机构),VC就可以验证,用户A就可以成功注册网约车司机。理想的VC是向验证者回复“是”或“否”,这样可以向IV泄露最少的信息。3.场景分析与建模一般来说,DID应用可以归纳如下:(1)为参与业务的各种机构(包括人和机构)构建区块链网络;(2)根据W3C规范生成相关信息(3)为业务中需要的各种证书生成可验证的数字证书(Credential),利用区块链技术的私钥管理和数字证明不可篡改的特性来执行可信注册、授权转移和真实性验证。下面以新员工入职某军工单位为例。为确保新员工提供的资料真实、未被篡改,公司需要联系第三方机构对DID技术在其中的作用进行验证分析。员工入职前,单位要求员工提供毕业证、学位证、离职证明、无犯罪证明、实绩证明等一系列证件办理入职手续,每份证件均须提供由不同的部门。新单位验证各种证书的真伪也很麻烦。而有了DID技术,这个问题就可以得到很好的解决。如图2所示:(1)每个证书的提供者为签发者,被聘请的单位为验证者;(2)每个证书的颁发者、新员工、新单位搭建区块链网络,注册自己的DID;(3)用户可以将自己的信息委托给用户代理,用户代理可以是App方式,也可以是Web方式;(4)新员工向各证书提供商申请自己的证书信息。这时,凭证签发方需要通过DID验证新员工身份的真实性,如果身份为真,则签发证书;(5)新员工拿到证书委托给代理,计算证书的哈希值,上传到链上;(6)新单位获取新员工提交的材料后,可以通过链上信息验证提交信息的真实性。图2 新员工入职建模4、模型验证WeIdentity是中国第一家互联网银行WeBank开发的一套基于区块链技术的分布式多中心数字身份解决方案。该方案提供了数字身份技术相关的基础层和对外接口功能,开发者可以在其上进行二次开发,实现数字实体对象(人或物)之间的认证授权、可信数据交换等。BCOS是一个专注于企业级应用的区块链开源平台。由微众银行、万向区块链、经纬元联合开发,是面向企业级用户的分布式应用平台。2017年,FISCO开源工作组推出了基于BCOS的金融行业定制版FISCOBCOS。至此,FISCOBCOS已经在互联网行业形成了国内强大的开源联盟链生态。平台经过上百个项目的测试,涵盖各行各业的多个领域。本文以WeIdentity+FISCOBCOS开源框架为基础框架,在此基础上验证军工单位新员工入职场景。主要步骤如下:(1)搭建FISCOBCOS的区块链网络,如图3(2)发行方发行证书,如图4所示;(3)新员工委托用户代理持有VC,如图5所示;(4)新单位验证基本信息,如图6所示。图3 构建区块链网络图4 issuer生成VC图5 Useragent生成图6 Verifier验证成功5.结论本文在研究分布式去中心化数字身份理论的基础上构建区块链网络,对实际问题进行建模和验证。随着区块链技术的发展,分布式数字身份技术将在数字生活中得到广泛应用,但数字身份的推广仍处于起步阶段,存在一定的不足。如何保证链上传输过程的安全,链上数据的真实可信,都是未来需要研究的方向。