收藏 分销(赏)

以区块链为基础去中心化数字身份的研究与验证_董明富.pdf

上传人:自信****多点 文档编号:474337 上传时间:2023-10-16 格式:PDF 页数:6 大小:1.55MB
下载 相关 举报
以区块链为基础去中心化数字身份的研究与验证_董明富.pdf_第1页
第1页 / 共6页
以区块链为基础去中心化数字身份的研究与验证_董明富.pdf_第2页
第2页 / 共6页
以区块链为基础去中心化数字身份的研究与验证_董明富.pdf_第3页
第3页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、数据库系统设计Database System Design电子技术与软件工程Electronic Technology&Software Engineering253 在当今这个大数据时代,受到各种主客观因素的影响,数字身份管理工作仍存在一定的疏漏,导致用户身份信息仍然面临一定的风险。为解决这一问题,基于区块链技术的优势,以此构建去中心化数字身份的研究与验证,则是一个切实可行的途径,应当以此为基础,展开进一步探究。1 方案整体设计结合当前去中心化数字身份验证的普遍需要,在本次设计中,初步拟定该认证系统对于允许范围内的所有用户均呈现“开放”的状态,在该系统框架下,用户可在其中进行合法数字身份标识

2、DID的注册与更新。同时,该 DID 具有通用性,其基本文档信息如表 1 所示。如表 1 信息所示,本次设计中,所有 DID 文档均为包含 6 个部分的 JSON-LD 格式数据,用户可选择性披露部分数据。同时在以上数据中,DID 文档的标识与加密材料、服务端点等信息均存在对应的函数关系,由此即可实现安全通道的建立。基于这些 DID 文档,本次将写入这些文档信息的区块写入各节点本地的区块链,并向周围的服务节点传输区块和 DID 信息,以此逐步构建系统的整体架构,该架构具体则如图 1 所示。如图 1 所示,基于该架构,首先用户将自身的 DID数据上传至代表节点,由代表节点对其进行校验,通过后则将

3、其打包为区块,再应用拜占庭算法,从多个节点入手,对区块的合法性进一步验证,验证全部通过后,区块数据则写入本地区块链中,并将这些数据信息进行传输。当数据传输到服务节点时,服务节点即可根据这些数据进行用户身份的校验。与以往的互联网身份认证方案相比,本次设计的系统架构具有更强的自主控制能力,中心节点无法随意执行删除或禁用等操作,通用性相对更强。2 系统主要功能设计与实现2.1 区块链结构设计在本次系统设计中,区块的主要作用是对序列化处理后的 DID 数据进行有序存储,其基于全量数据进行认以区块链为基础去中心化数字身份的研究与验证董明富徐晓明张金铭(格尔软件股份有限公司 上海市 200436)摘要:本

4、文为了进一步探究互联网数字身份认证方案的应用质量提升路径,本次研究以区块链和共识算法技术等为核心,提出并实现了一种新的异步拜占庭容错算法,并将该算法应用到方案设计中,整合各个功能模块,初步打造了以区块链为基础的去中心化数字身份验证系统方案。从理论分析和实际应用效果来看,该系统方案在性能和安全性上均较具优势,具有一定的实际可用性,预计其在今后的信息系统建设等工作中也将具有潜在的应用价值。关键词:区块链技术;共识算法技术;数字身份;身份验证表 1:方案中 DID 文档的基本内容序号标识内容1hash用户本地公钥的 hash 值,用于隐藏公钥2prevID指向更新前的 DID 位置3prevPubk

5、ey指向更新前的 DID 公钥4URL资源定位符,指向可信任的存储设施5nonce存储工作量证明6signature签名字段数据库系统设计Database System Design电子技术与软件工程Electronic Technology&Software Engineering254证,因此与比特币认证等存在明显差异。结合这一情况,本次区块链结构不设计区块头,区块编号直接以“index”字段的编号进行。在此基础上,为保证区块数据的完整性,本次对每个区块均进行哈希计算,将所有计算结果组成哈希链,来连接所有区块。由此,得到区块数据存储结构表如图 2 所示。基于该结构表,注册环节只需提供 ha

6、sh 值即可,对公钥 pubKey 无要求,因此公钥值得到了有效隐藏。同时,如需进行身份更新,其主要基于 prevPubkey 和prevPrivKey 进行的签名加以实现,由此,只有 DID 的持有者(也即私钥的持有者)才能对其进行更新,从而有效保证了区块数据存储的安全性。在结构表创建完成后,进行新区块的生成设计,此环节采用算法 Algorithm 5 BlockGen 进行,在该算法流程中,以既有区块链的末端为输入进行运算。在新生成的区块中,以前驱区块的 index 值为新区块的 index 字段赋值;hash 字段赋值则为当前区块序列化后的 SHA-256 哈希值。在新区块生成后,对新区

7、块的合法性做进一步验证,此环节应用 BlockAuth 算法,依次对新区块的哈希值、index 值和 DID 信息进行验证。只有在以上验证均通过后,方可正式创建该新区块。2.2 数据层DID信息的生成、更新与校验流程设计图 1:系统整体架构示意图图 2:区块数据存储结构表数据库系统设计Database System Design电子技术与软件工程Electronic Technology&Software Engineering255在本次设计中,为提高 DID 信息的安全性,已按照表 1 中的结构进行用户数字身份信息标识 DID 的设计,该 DID 信息包括 5 个键值和 1 个签名,其签名

8、字段可保证只有 DID 的持有者方可更新 DID。由此,数据层DID 信息的生成、更新与校验流程分为以下几个步骤。一是 DID 的生成,主要包括 DID 的注册与校验,其基本流程如图 3 所示。图 3 中的 DID 生成流程主要基于 Algorithm 1 算法加以实现。该算法以 DID 数据中的 URL 为输入,经过处理后输出公钥 pubKey 和私钥 privKey,同时输出DIDStr,该信息主要源自对 DID 信息的序列化处理,为字符串形式,主要用于后续的提交注册请求环节。本次Algorithm 1 算法的主要流程如下:(1)随机生成一个 32 字节(256 位)的安全随机数 srn;

9、(2)指定椭圆曲线为 secp256rl,并使用步骤中的安全随机数 srn,生成一对椭圆曲线公私钥,而后分别以 X509 格式和 PKCS#8 格式对公钥和私钥进行编码;(3)使用十六进制字符串对公钥信息予以表示,并应用 SHA-256 算法对其进行计算,得到的计算结果赋值给 DID 信息的哈希值;(4)将已有的字段存入 DID 数据中;(5)将随机值 nonce 赋值为零,加入 DID 数据中,而后使用函数 Serialize,对 DID 数据进行序列化处理,再进行 SHA-256 哈希运算,直至满足工作量要求为止。在 DID 生成后,进行服务端的校验注册,此环节应用 Algorithm 2

10、 算法加以实现,该算法的基本流程如下:(1)对序列化后的 DIDStr 信息进行反处理,重新得到 DID 信息;(2)应用Contains函数,检索DID信息中的hash值,并检验该值是否存在服务端本地的 hash 表中,验证该hash 值是否已被注册,如不存在则继续算法流程,反之停止运行流程并输入“请求失败”;(3)对 DIDStr 部分的 16 进制字符串的 hash 值进行计算,并使用 isValidNonce 函数,对哈希值前面为“0”的位数进行检测,如达到预期目标则完成算法流程。二是 DID 的更新与校验,该步骤的主要流程如图 4所示。在 DID 更新时,基于 Algorithm 3

11、 算法加以实现,该算法以更新前的 DID 公私钥对和 id 为输入,输出更新后的公私钥对和数字身份标识。在该算法的流程中,与 Algorithm 1 算法具有较高的相似度,其主要差异在于,算法的最终环节使用基于椭圆曲线的签名算法ECDSA,同时引入前置私钥作为签名环节的另一个重要依据,对 DIDStr 进行签名。在 DID 更新完成后,基于 Algorithm 4 算法实现服务端对 DID 数据信息的校验。该算法以更新前和更新后的公钥、私钥、椭圆曲线数据签名为输入进行校验,其基本流程如下:(1)当用户向 DIDStr 数据发起请求时,从目标数据中提取数据部分与签名部分;(2)对序列化后的 DI

12、DStr 信息进行反处理,重新得到 DID 信息;(3)应用Contains函数,检索DID信息中的hash值,并检验该值是否存在服务端本地的 hash 表中,验证该hash 值是否已被注册,如不存在则继续算法流程,反之停止运行流程并输出“请求失败”;(4)使用 isValidNonce 函数,对哈希值前面为“0”的位数进行检测,如达到预期目标,则进行后续步骤,否则输出“请求失败”;(5)使用请求附带的id,对DID的哈希值进行检索,验证该哈希值是否与 SHA256 的值相同,如相同进行后续步骤,反之输出“请求失败”;(6)使用 SHA256-ECDSA 验签算法进行验签,如图 3:数据层 D

13、ID 信息的生成与校验流程图图 4:更新时 DID 的生成及校验流程数据库系统设计Database System Design电子技术与软件工程Electronic Technology&Software Engineering256不通过则输出“请求失败”,如通过则返回“请求成功”,并附带 id,以检索目标 DID 在区块链上的位置。三是用户登录时 DID 的签名与验证环节,该环节的主要流程如图 5 所示。根据该流程图,当用户登录时,系统主要执行以下校验流程:(1)服务端基于随机数生成器 SecureRandom,生成一个安全的随机数 r;(2)客户端使用 DID 的公钥,对随机数 r 进行

14、椭圆曲线数字签名;(3)客户端得到数字签名后,将其与 DID 的公钥和索引一起打包发送至服务端;(4)服务端根据索引,检索到对应的 DID 数据,以获得该 DID 数据中的 hash 值,并验证其与公钥中的hash 值是否对应,如对应,则使用该公钥,对数字签名做进一步验证;(5)如上一步骤的验证环节全部通过,则服务端返回响应,由此即成功通过认证。2.3 方案共识算法设计与实现考虑到本次“去中心化”的设计要求,本次以改进型拜占庭算法作为共识算法,以期达到“方案共识”的最终目标。构建新共识算法 dsBFT,以提升算法的吞吐量和降低延迟。基于前期调查分析,并参考已有资料后,确定本次共识算法的整体流程

15、如图 6 所示。基于该流程的实际需要,本次通过以下几个环节的工作着手,对共识算法进行全面设计。一是针对一阶段的 SCA 共识算法进行设计,该共识算法的适应条件如下:该算法运行的网络环境具有较高的鲁棒性,同时该网络中的各个节点均保持稳定,且未检测出“拜占庭错误节点”(此类错误节点通常存在崩溃、断线或主动伪造虚假信息等问题)。就此,确定该阶段的共识算法的主要流程如下:(1)Request 阶段:在该阶段中,用户在客户端发送请求信号,当 leader 节点接收到请求信号后,对其进行校验,校验通过的信号进入下一步骤。(2)Commit 阶段:校验后的信号基于步骤中的leader 节点进行编号处理,编号

16、后的请求信号转发至普通节点中,而后普通节点调用本地的数据分析处理功能进行处理,得到响应签名后,直接将其返回到客户端。(3)Reply 阶段:在该阶段中,客户端对来自所有节点的响应值进行接收,如各个节点的响应值均保持一致,则认为已经初步“达成共识”。(4)Response 阶段:在该阶段中,客户端将各个节点的响应值返回到代表节点中,由服务器对双方的响应值进行对比分析,如响应值相同,则最终确定“达成共识”。在此基础上,为避免节点可能出现“拜占庭错误”而影响算法的正常运行,在该算法流程中,增设服务端等待超时触发超时检查机制,同时在必要时切换到其他算法进行。图 6:共识算法的整体流程图图 5:登录时的

17、 DID 校验流程图数据库系统设计Database System Design电子技术与软件工程Electronic Technology&Software Engineering257二是针对二阶段 PBFT 共识算法的设计。该算法主要基于PBFT实用拜占庭容错算法的理念进行优化设计,当一阶段 SCA 算法难以达成共识时,系统将自动切换至此算法继续运行。结合实际需要,本次二阶段 PBFT共识算法的主要流程如下:(1)Request 阶段:该阶段由客户端向服务端中的leader 节点发送请求信号;(2)Pre-Prepare 阶段:在此阶段中,leader 节点接收到客户端的请求信号后,将信号

18、发送至所有的其他普通节点当中;(3)Prepare 阶段:在该阶段中,所有节点均对消息进行签名,并向其他所有节点广播 prepare 消息,假定节点数为 f,则每个节点收到 prepare 消息数目的阈值则为 2f+1,只有消息数目达到此阈值后,方可进入下一阶段;(4)Commit 阶段:所有节点均广播 commit 消息,当各个节点收到的广播消息数达到 2f+1 时,证明该阶段的进入节点数符合要求,表明已经“达成共识”;(5)各个节点“达成共识”后,节点将请求的响应值返回到客户端中,直至响应消息数超过 f+1,证明用户请求已经获得成功。3 系统测试分析3.1 测试方案部署在本次系统测试中,服

19、务器的部署采用云端部署环境进行,共计选取地理位置不同的 5 台云服务器进行部署,每台云服务器的硬件参数相同,均为单核服务器,服务器内存为 2G,并配备 1Mbps 带宽。为提升测试工作的便利度,本次以 1 号服务器作为方案下的 leader 节点,其余的云服务器则作为副本,所有副本与 leader 节点的连接端口均设置为 8080,副本的本地连接端口和 IP 地址则如表 2 所示。在确定以上内容后,将服务端系统手动分别设置为使用一阶段 SCA 和二阶段 PBFT 共识算法,而后对各个副本服务器的客户端进行远程控制,以并发形式,向leader 服务器发起大量请求。在各个服务器接收到请求后,对其进

20、行本地处理并返回响应信号,此时各个客户端分别记录系统在不同阶段的共识算法下,每秒可做到“达成共识”的请求数量。3.2 测试结果与讨论在服务器部署完成后,测试人员对本次设计的系统方案进行测试,测试工作主要分为以下几个部分。一是针对一阶段 SCA 共识算法下的性能测试,主要模拟网络同步性较优时能够达到的信息吞吐量,本次测试的自变量为时间,单位 s;因变量为系统完成“共识”操作的次数,测试结果如图 7 所示。从图 7 中的变化曲线可知,SCA 共识算法整体可将共识操作的次数保持在每秒约 1100 次的水平,虽然与以往的本地同步网络中的数据相比存在一定程度的降低,但整体性能仍然处于较优水平。图 7:一

21、阶段 SCA 共识算法下的共识操作变化情况表 2:本次 leader 节点下各个副本的本地连接端口和 IP 地址分配副本编号IP 地址本地连接端口号副本一119.23.59.328081副本二172.21.0.138082副本三172.27.0.98083数据库系统设计Database System Design电子技术与软件工程Electronic Technology&Software Engineering258二是对二阶段PBFT共识算法的性能进行测试分析,主要模拟算法对“拜占庭错误”的容错和纠正等方面的性能,本次测试的自变量仍为时间,单位 s;因变量则为系统完成“共识”操作的次数,测

22、试结果如图 8 所示。从图 8 中可见,二阶段共识算法每秒可完成的共识操作数量较一阶段相比有大幅度降低,整体保持在每秒10 次左右的水平。但考虑到二阶段 PBFT 共识算法的主要作用是一阶段共识失败时为系统实现错误纠正和拜占庭容错,因此该算法在性能上仍有一定的冗余,仍具有一定的可行性。三是对该系统中的 DID 安全性进行分析。受到实际情况限制,本次采用理论分析的方式进行测试。结合实际情况,对 DID 在“量子攻击”下的安全性进行分析。在本次方案设计中,身份公钥的哈希计算是基于 SHA-256 哈希函数进行计算的,通过 Grover 算法所提供的改善搜索速度,碰撞阻力可降低至初始值的 60%(即

23、对应所选摘要的 1/3 左右)。由此可见,SHA 算法能够提供128 位防碰撞安全性。在此种安全性水平下,如采用最为常见的“量子原像攻击”,则循环代码次数约为 2 的154 次幂。需要至少 232 年,因此,从理论角度来讲,本次方案具有较高量子安全性。4 结束语整体来看,在本次研究中,以密码学和区块链等理论为基础,设计新的数字身份标识 DID,并融合分层共识算法,以此对基于区块链的去中心化数字验证身份的系统方案进行初步设计。从实际测试结果来看,本次设计的系统方案在性能上相对较优,能够满足实际性能需求,并在一定程度上解决现有身份认证方案中存在的一些技术性问题,同时该方案在数据安全性上也较具优势。

24、参考文献1 马斌.面向数据经济的数字身份转型增强个人参与数字生活的信任 J/OL.科学学研究,2023.2 王群.数据时代网络意识形态的特征及技术应对J.传媒观察,2022(11):67-77.3 倪东,霍如,张钰雯,等.新型标识解析技术研究J.信息通信技术与政策,2022(10):43-51.4 黄金荣,刘百祥,张亮,等.基于智能合约非同质化代币的去中心化匿名身份认证模型 J/OL.计算机工程,2023.5 宋晓玲,刘勇,董景楠,等.元宇宙中区块链的应用与展望 J.网络与信息安全学报,2022,8(04):45-65.6 夏亚东,车路,王关祥,等.高校去中心化身份无密码认证系统设计 J/OL

25、.现代电子技术,2023.7 张涛,李睿,魏磊,等.基于区块链的去中心化数字身份研究及验证 J.通信技术,2021,54(10):2398-2402.8 王海怡.区块链在数据安全领域的研究进展(节选)英译实践报告 D.哈尔滨工业大学,2021.9 包佳立.面向区块链的身份认证技术研究 D.重庆邮电大学,2021.10 郭小波,李景华,蒋才平,等.网络身份管理体系发展展望 J.信息安全研究,2020,6(07):602-607.作者简介董明富(1975-),男,浙江省绍兴市人。大学本科学历,工程师。研究方向为密码应用、身份认证、访问控制。徐晓明(1988-),男,山东省诸城市人。大学本科学历,工程师。研究方向为密码安全,身份安全,网络安全张金铭(1987-),男,天津市人。大学本科学历,工程师。研究方向为密码应用、数字证书、通信安全。图 8:二阶段 PBFT 共识算法下的共识操作变化情况

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 品牌综合 > 临存文档

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服