《一种基于区块链的身份认证方法.docx》由会员分享,可在线阅读,更多相关《一种基于区块链的身份认证方法.docx(11页珍藏版)》请在优知文库上搜索。
1、引随着网络信息技术的不断发展,各类实体事物越来越多地借助数字化形式完成自身信息全方位地呈现,并实现信息的快速传播共享.人们也更加倾向于利用应用信息系统满足自身工作和生活的需要,数字现代化已经成为未来社会的发展趋势,影响着社会发展的方方面面。大数据、云计算、人工智能等新兴信息技术,进一步推动了社会数字化进程的发展.数字化逐渐改变了书信、动作、声音等传统信息承载方式对时空的依赖性,并作为一种新型信息的承载形式,既保证了信息传递的准确性、可靠性和长久性,又实现了信息的高效快速传播.因此,越来越多的个人、企业、组织选择通过磁盘、数据中心等媒介,将自身或相关实体信息进行数字化承载,以满足自身使用需求。然
2、而,现实世界各类实体信息的数字化呈现,在为人们的工作生活带来各种便利的同时,也容易遭到各类非法用户的违规使用或恶意破坏,给个人、企业、组织带来巨大的经济、业务、声誉等方面的损失,为了保障数字信息的安全性,各类安全防护技术和系统应运而生,从网络安全、计算设施安全、数据安全、应用安全、实体安全等方面保障数字信息在传输、使用、存储、共享和销毁等过程中的安全,其中身份认证技术作为实体安全的重要组成部分,受到极大的关注.针对各类组织机构在广域环境下的去中心化身份认证需求,基于区块链技术,提出了一种无中心的身份认证方案.该方案通过建立基于区块链的实体身份网络,将人员、设备、应用等实体身份信息保存在区块链上
3、,实现实体身份信息的就近快速验证,从而提升信息数据访问效率.1相关工作目前,随着网络信息系统的不断发展,信息网络结构正变得日益鱼杂,网络边界逐渐模糊,传统基于边界的网络安全防护难以满足内部人员的非法访问或操作.因此,业界提出了零信任结构,以蝌强系统数据访问的可靠性。零信任结构遵循从不信任,总是验证的设计原则,假定所有实体都是不可信的,需要不断地评估网络安全风险,并制定措施来增强各类实体身份的可信度.零信任架构理念最初由John在2010明确并正式提出,2011年,基于这一理念开展BeyondCorp项目进行实践.2017年在安全与风险管理峰会上发布持续自适应风险与信任评估(Continuous
4、AdaptiveRiskandTrustAssessment,CARTA)模型,并提出冬信任是实现CARTA宏图的基础。2020年美国国家标准与技术研究院(Nationa1.InstituteofStandardsandTechno1.ogy,NIST)发布了零信任架构草案(第二版),零信任理念目前得到了业界的广泛认可,但还处于技术探索和研究阶段.为了实现零信任理念,需要研究实体身份认证相关关犍技术,为零信任模型下实体身份的快速识别认证提供支撑。区块链技术由于其良好的抗抵赖性和无中心等特点,为用户身份认证提供了新的方式.区块链按照共识机制,利用当前参与的节点进行交易数据的维护和更新,使用密码学
5、原理完成交易,从而使得达成一致的双方可以直接进行交易,不需要第三方进行介入。区块链技术通常需要包括以下几个方面的概念:区块链交易,在区块链网络中,所有实体身份的注册、管理都会被视为交易,带有交易号,并利用共识机制保存在整个区块链中;区块,主要记录当前最新的交易信息,且不能被其他先前的区块记录;区块链,各个区块之间,通过前一区块交易号逐个相连,同时,区块信息一旦被记录在链上就不能被改变或删除,最终形成一条记录身份信息的链条.区块链技术由于不需要交易第三方的参与,从而具有无中心的特点,并通过共识机制,实现区块链上信息的快速共享,能终避免信息交换瓶颈、流程复杂等集中化管理的缺陷.因此,利用区块链技术
6、将各类实体身份信息保存在链上,进行身份信息的去中心化管理,具有非常重要的实用价值.本文基于区块链技术,提出了一种基于区块链的身份认证方案,能够实现实体身份信息的去中心化管理和分布式认证.2系统结构和模型构建2.1 系统结构设计随着网络信息系统的不断发展,信息资源的异地获取、广域共享的需求越来越明显,针对多用户、多设备、多样式的广域联合协同数据信息使用场景,面向不同用户实体,如人员、设备、应用等的数据访问共享需求,为满足灵活、高效、便捷的身份认证要求,本文提出了一种基于区块链的身份认证系统模型,如图1所示,能够提升应用数据信息快速传播和数据共享能力.在该模型中,用户通过提交自身身份认证信息至身份
7、认证系统,完成用户身份信息的注册和上链;当用户访问业务系统时,业务系统将用户身份发送至区块链身份信息处理服务器上,并获取区块链中相应用户实体的身份信息;服务器通过对用户实体身份进行识别验证,并将结果反馈给业务系统;最终由业务系统根据反馈结果决定是否允许用户实体访问相关的业务数据.2.2 系统模型设计坎体。份IX块MS1曷于区块微的身份认证系统结构基于区块链的身份认证系统主要包括用户实体、业务系统、身份信息处理服务器,区块睫网络节点等部分,系统使用模型如图2所示。用户实体:访问业务系统的各类用户,包括人员、应用、设备等形式.业务系统:提供各类业务数据的应用信息系统,需要对访问系统的实体进行鉴别.
8、身份信息处理服务器:提供用户实体身份信息的采集、封装、解封、识别等能力.区块链网络节点:提供用户实体身份信息上链和查询等能力例2实体身份区块链使用模兔系统设计方案3.1 身份标识在基于区块链的身份认证系统中,通过将用户实体身份信息安全上传并保存在区块链上,并进行广播和数据共享,区块链网络中的任意服务节点均可获取实体相应的身份信息,并进行核对校验,从而能够实现对用户实体身份的快速识别认证。基于区块链的身份认证系统中,用户实体身份信息将封装在链中的各个区块中,通过链式管理,以及相关的共识机制,使得各类上链实体身份信息无法被窜改或抵赖,从而为实体的准确识别提供有力保障.用户身份信息以区块的形式永久保
9、存在区块链中,区块分为区块头和区块体两部分:区块头主要保存了前一区块的哈希值、时间戳以及参与共识的相关信息;区块体主要包括用户实体的各类身份信息以及各种属性信息,包括用户身份ID、全域用户身份标识信息、用户身份数字签名信息等方面数据.具体可如下表所示S1叁数说明标识说明UID用户实体身份ID,如用户名、身份证号、序列号等。UAI用户唯一身份认证信息、,如指纹、人脸、虹股、至坟、指随脏等,为了保护用户信息,可以送行多种生物特征信息融合。PKW用户注册时,设置的秘钥加密口令。PRK用户私钥,需自己保存。由RSA等公钥算法生成。PBK用户公钥,由RSA等公钥算法生成。GID用户全域身份标识信息、,是
10、用户在区块琏网络中的唯一身份标识。SM用户身份信息摘要。SN用户身份信息签名。用户实体身份信息形成区块后,提交区块链网络节点进行验证,并按照时间顺序加入原有区块链中.区块之间通过HaSh值进行连接,原有区块链的唯一标识就是这个Hash值,新区块通过在头部记录Pre-Hash就能找到原有区块链所连接的区块,随着不断有新区块加入区块链中,从而形成一条链式结构,也是用户实体身份区块链.基于区块链的身份认证方法,通过将用户身份信息封装为各个区块,然后连接起来形成公链信息,实现用户身份信息的上链共享。用户的身份信息,包括用户身份ID、唯一身份认证信息、身份签名信息。用户通过对用户身份ID、用户唯一身份标
11、识进行Hash,再利用用户私钥进行加密,完成对用户身份的签名.区块交易头ID,通常为用户身份信息的Hash值。每个区块都要记录自己以及前一个区块的交易头ID,以便完成身份信息组链。3.2 身份注册用户身份注册的流程如下所示:(1)用户U,输入自己的用户身份UID,、唯一身份认证信息UAi1.密钥加密口令PKW,(用户进行注册时,用户设置的密钥加空口令)进行注册,并且通过安全信道传输给身份信息处理服务器S.(2)身份信息处理服务器S收到用户发送的身份信息(U1.D1.UA1.1.PKW),利用密钥加密口令PKW,根据RSA公私钥对生成算法,生成加密公私钥对(prk,pbk其中私钥为PRK1.公钥
12、为PBK,并将用户公钥PBK,作为用户的全域身份标识信息GID,也即GIDPBK,.(3)身份信息处理服务器S根据生成的用户全域标识信息GIQ,核查GID信息是否已经使用,如果GIQ信息已经存在,则用户身份注册失败,返回第(2)步,重新生成G1.D1.信息,否则,进入下一步。(4)身份信息处理服务器S将用户U的身份信息,包括私钥PRK,和用户全域身份标识信息G1.D发送给用户U,由用户进行妥善保管,并通知用户预注册成功.(5)身份信息处理服务器S将用户的UIQ、唯一身份标识UA1.迸行哈希运算,得到用户身份信息摘要,并利用SMi=H(UIDiUAI1)用户私钥PRK对用户身份信息摘要SM加密生
13、成用户身份数字签名SN,.(6)身份信息处理股务器S将用户身份UIQ、用户全域身份标识信息GID以及用户身份数字签名信息SN,通过安全信道传输给区块链的网络节点.(7)区块链的网络节点X接收到相关用户信息后,组装成交易数据并附上交易号广播到整个区块链网络中,交易通过相关的共识机制记录到新的区块中,最终形成新的区块链。(8)当新的区块上链后,身份信息处理服务器S通知用户U其身份信息正式注册成功。3.3身份认证用户身份认证的流程如下所示.(1)用户U,借助业务系统输入自己注册成功的用户身份UIQ,唯一身份认证信息.UAI,、密钥加密口令PKW和用户全域身份标识信息G1.O,由业务系统发起身份认证请
14、求,并将用户身份信息通过安全信道传输给身份信息处理服务器Se(2)身份信息处理服务器S收到来自用户5的身份信息,将UID,和GiD通过安全信道发送到任意一个区块链节点N上,然后根据用户UD,查找注册时存储在数据库中的GID,并判断GID.和G1.D是否一致:如果G1.D=GID时,则说明用户所拥有的全域身份标识信息和数据库中存储的全域身份标识信息一致,则执行下一步操作.如果G1.RWG1.R时,则用户所拥有的全域身份标识信息和数据库中存储的全域身份标识信息不一致,则录认证失败,需重新输入用户信息,返回步骤(1).身份信息处理服务器S就近选择区块链网络节点N,并接收用户在区块链中保存的用户身份数
15、字签名信息SN,.身份信息处理服务器S利用用户全域身份标识信息G1.D和密钥加密口令PKW对用户身份数字签名信息SM进行解空,得到用户身份信息摘要SM,并通过Hash函数计算出当前的信息摘要.SM*=H(UiDJ1.PKW)(5)身份信息处理服务器S验证用户身份信息摘要SM和SM是否一致:如果SMSM,则用户U认证输入的信息和存储在区块链数据库中的原始信息一致,身份认证成功。如果SMi=SMj则用户U认证输入的信息和存储在区块链数据库中的原始信息不一致,则身份认证失败。需重新输入用户信息,返回步骤(1).(6磔份信息处理服务器S将用户身份认证成功结果返回给业务系统,业务系统根据用户访问情况,为
16、用户提供信息访问数据.3.4 身份更新由于区块链系统作为一种无中心的分布式记账环境,为了保证数据的可靠性和安全性,区块链上的区块数据信息均不可进行修改或调整,因此具有不可续改和伪造的特性,能够有效保障区块链中数据的良实性和抗抵赖性.但相应地,也为用户身份信息的修改,更新等带来了一些的麻烦,因此,需要重新设计用户身份信息的更新修改方案.本方案拟通过添加新区块信息的形式进行用户身份信息的更新.针对用户更新身份信息的情况,身份信息处理服务器S通过注册新的用户身份信息,得到全新的全域身份信息标识GID1.并利用新的身份信息进行用户身份的识别认证,从而实现用户身份信息的更新.3.5 共识机制区块链系统中,缺