CN115987519A - 面向多用户共同管理的区块链智能协同认证方法 - Google Patents

面向多用户共同管理的区块链智能协同认证方法 Download PDF

Info

Publication number
CN115987519A
CN115987519A CN202211535012.5A CN202211535012A CN115987519A CN 115987519 A CN115987519 A CN 115987519A CN 202211535012 A CN202211535012 A CN 202211535012A CN 115987519 A CN115987519 A CN 115987519A
Authority
CN
China
Prior art keywords
authentication
node
chain
cooperative
ban
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202211535012.5A
Other languages
English (en)
Other versions
CN115987519B (zh
Inventor
李运发
王泽天
张地
刘冠旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN202211535012.5A priority Critical patent/CN115987519B/zh
Publication of CN115987519A publication Critical patent/CN115987519A/zh
Application granted granted Critical
Publication of CN115987519B publication Critical patent/CN115987519B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了面向多用户共同管理的区块链智能协同认证方法,采用协同认证链构建算法、协同认证链认证算法、多用户协同认证系统建立算法和多用户协同认证系统认证算法。采用本发明的面向多用户共同管理的区块链智能协同认证方法,首先,通过构建协同认证链来保证认证数据的一致性,然后将区块链技术与传统的认证技术相结合,实现了多用户共同管理认证。与传统的认证方法相比,方法由于存在区块链的协同认证链,因此,在整个传输和认证过程中,不易丢失也不易被伪造认证信息,从而不易发生单点故障,而且还可以保障多用户协同认证的安全性。

Description

面向多用户共同管理的区块链智能协同认证方法
技术领域
本发明属于多用户分布式共同管理的区块链安全领域,具体是一种面向多用户共同管理的区块链智能协同认证方法。
背景技术
如今互联网正迈入大数据时代,许多机构也顺应潮流进行数字化转型,通过共享数据,为用户提供数字服务。然而这些共享数据往往与其拥有者的利益相关,对其滥用会产生许多隐私问题以及安全问题,从而导致个人利益受损。尤其是在例如银行这样的金融领域,隐私问题阻碍了数据的交换和共享,使机构之间无法进行深度合作。因此,如何提高数字化服务的安全性,使得共享数据不易被滥用及窃取成为了现在研究的热点问题。
对用户进行认证能够有效地拦截非法用户,并限制合法用户只能访问自身的数据,是提高数字化服务的安全性的重要措施之一。传统的认证技术主要包括基于现有密码机制的认证、基于生物特征的认证和基于单个证书的认证。这些传统的认证方案都是基于单一架构的,存在单点故障,扩展性低的缺点,如果受到网络攻击,单点(单组)的沦陷容易导致整个系统的瘫痪。
区块链作为一种去中心化的分布式架构模型,能完全契合多用户共同管理的认证需求,并有效地保护用户数据隐私和数据安全。在区块链应用中,用户可以在不知道共享数据内容的情况下应用这些数据。因此,可以通过区块链保存用户的验证数据,并在不知道这些验证数据的具体内容的情况下,完成对用户的认证。
然而随着物联网的应用激增,其物联网传感数据也逐渐复杂。一些数据不再是单单面向个人管理,而是属于多用户共同管理。在此状态下,物联网系统对于一些数据的保护需求也逐渐增加。目前的单一认证方案大多是基于单用户管理的,而在面向多用户共同管理认证的系统中无法适用。与此同时,不同型号以及不同种类的传感设备也越来越多,而这些设备之间传输的数据不尽相同。现有的单一认证方案虽然在一定程度上能够满足人们的认证需求,但是其在多用户共同管理上存在一些通用性和适配性不相适应的问题。在区块链中,不同节点可能是不同型号的设备组成的。这些不同型号的设备所采集的数据格式不尽相同,其传输协议可能千差万别,使用现有的单一认证方案存在明显的局限性。
发明内容
为了解决现有技术中存在的上述技术问题,本发明的主要将区块链技术与哈希链技术相结合,并使用多用户分布式共同管理认证。为了实现该认证方法,该发明构建了以下四个算法:(1)协同认证链的构建算法;(2)协同认证链的认证算法;(3)多用户协同认证系统的建立算法。(4)多用户协同认证系统的认证算法。通过这四个算法,可以解决认证数据不一致的问题,并实现多用户协同认证。
在本发明的协同认证链构建算法中,系统首先会收集不同用户的身份信息序列,在确认用户身份信息的完整性后,系统会开始链的构建。系统首先将边缘节点的标识号作为种子生成第一条链。然后系统会根据哈希函数选择算法,使用对应的哈希函数来处理当前用户的身份信息。随后将当前用户的身份信息的哈希值与上一条协同认证链拼接起来,并最终构建成完整的协同认证链。为了实现多用户管理的协同认证,并增加其身份信息的安全性,节点之间使用SSL/TLS协议。为了提高构建的效率,将不同用户的身份信息进行预处理,从而转化成统一的格式方便之后的协同认证链构建及认证。
在本发明的协同认证链的认证算法中,首先区块链节点会获取边缘节点的标识号,并构建区块链端协同认证链的第一个节点。然后,边缘节点会将边缘端的协同认证链、用户身份信息的哈希值组合成数据包,并按照顺序发送至区块链节点。为了保证了用户身份信息的完整性以及有序性,区块链节点在收到数据包之后,会根据用户身份信息构建自己的区块链端的协同认证链。区块链节点通过比较边缘端与区块链端的协同认证链是否对等,来判断用户身份信息是否被篡改。直到区块链端收到最终的数据包,并验证最终构建的与接收的协同认证链是否对等来完成认证。同时,为了提高认证的安全性,边缘节点会将协同认证链进行签名,使得边缘节点不可抵赖并确保了协同认证链本身未被篡改。
在本发明的协同认证链的哈希函数选择算法中,认证节点首先会生成时间戳,然后根据边缘节点标识号以及时间戳生成哈希函数选择器,该选择器用来决定当前序列的消息使用哪种哈希函数进行计算,为了提高哈希加密的安全性,系统建立了包含多种哈希函数的库,从而解决了因单一的哈希函数易被破解的安全问题。为了提高哈希函数选择的随机性,使用随机数以及时间戳的来决定所使用的哈希函数,防止不法分子通过规律破解当前所使用的哈希函数。
在本发明的多用户协同认证系统的建立算法中,首先使用物联网设备收集合法用户的身份信息。随后基于单个用户认证的需要,将该用户身份信息的数字摘要加密后保存在边缘端节点,这样既方便了后续协同认证链的构建,同时还增强了合法用户身份的安全性。随后为了实现多用户协同认证的需求,边缘端节点会使用协同认证链构建算法,将需要协同认证的多用户按照顺序构建协同认证链,并将其加密后发送至区块链节点。区块链节点将该协同认证链以交易的形式打包上链,并广播到其他区块链节点上。为了进一步增加认证的安全性,以及提高认证系统的可扩展性,边缘端节点将合法用户的身份信息发送至其他边缘节点,并构建用户身份信息库,然后将哈希选择函数保存在云节点,并构建哈希选择函数库。
在本发明的多用户协同认证系统的认证算法中,首先系统会收集需要协同认证的用户所提供的身份信息。然后通过查询边缘节点的用户身份信息库,将收集的用户身份信息与用户身份信息库逐一比对,直到所用需要协同认证的用户都认证完成为止。在保证所有参与协同认证的用户都是合法用户时,开始进行协同认证。区块链节点在收到协同认证的请求后,会根据边缘端提供的信息,向云认证节点获取哈希选择函数,并与边缘端开始协同认证链的构建及认证,直到最终的协同认证链认证成功,保证了用户身份信息未被篡改。最后,区块链节点使用构建的协同认证链来验证分布式账本中保存的签名,从而保证了协同认证的有序性和完整性。
因此,面向多用户共同管理的区块链智能协同认证方法具有以下优点:
1、采用了新的协同认证链的构建及认证方案
由于多用户协同认证面临认证复杂性高,传输效率低以及认证数据不安全等问题,本发明采用了新的协同认证链构建方案。该构建方案将多用户的身份信息按照特定的顺序,链式的保存在一起。由于协同认证链的构建是不可逆的,同时,不同的身份信息以及不同的构建顺序,不可能生成相同的协同认证链。因此,我们只需要保证最终构建的协同认证链是否与建立时保存的协同认证链对等,就能确保所有用户都参与并通过了认证。同时为了提高协同认证链的安全性,对不同用户的身份信息,使用不同的哈希函数进行处理,从而提高在协同认证链构建过程中,用户身份信息的安全性。
由于认证信息传输的过程中,存在非法用户对用户的认证信息进行篡改,因此本发明采用了新的协同认证链的认证方案,该方案会在协同认证链构建的过程中对其进行认证。其原理是区块链在边缘端构建协同认证链的过程中使用边缘端提供的身份信息密文同步构建区块链协同认证链,并确保两边构建的协同认证链同步对等,从而保证了边缘端提供的身份信息密文未被篡改。
2、采用新的多用户协同认证系统的建立及认证算法
由于物联网中的设备面临认证能力弱,计算能力低的问题,因此物联网无法胜任需要复杂加密算法的场景,而多用户协同认证需要对多个用户的身份信息进行认证,具有一定的复杂性,因此本发明采用新的协同系统的建立算法。在该算法中,大部分参与认证的都是用户身份信息的数字摘要,使得数据一致,以方便计算。同时,该算法将多用户的身份信息按照特定的顺序,链式的保存在一起,降低了认证的复杂性。
同时,本算法在所有边缘节点构建了用户身份信息库,在云节点构建了哈希选择函数库,并将认证信息保存在区块链中。这些数据库的构建,为协同认证系统打下了基础。
3、较好的数据一致性以及可扩展性
由于在物联网中,存在不同型号的设备,他们提供的信息格式不尽相同,因此本发明结合了协同认证链进行认证。由于哈希函数能够产生长度相等的哈希值,因此使用协同认证链来进行认证,能够保证认证的数据一致性。同时,在认证的过程中,本发明将单个用户的认证以及协同认证进行解耦,同时将哈希选择函数保存在云端,这样使得认证之间不受干扰,同时具有良好的可扩展性
采用面向多用户共同管理的区块链智能协同认证方法,首先,通过构建协同认证链来保证认证数据的一致性,然后将区块链技术与传统的认证技术相结合,实现了多用户共同管理认证。与传统的认证方法相比,方法由于存在区块链的协同认证链,因此,在整个传输和认证过程中,不易丢失也不易被伪造认证信息,从而不易发生单点故障,而且还可以保障多用户协同认证的安全性。
附图说明
图1是本发明的面向多用户共同管理的区块链智能协同认证方法的体系结构图;
图2是面向多用户共同管理的协同认证链构造算法流程图;
图3是面向多用户共同管理的协同认证链认证算法流程图;
图4是面向多用户共同管理的协同认证系统的建立算法流程图;
图5是面向多用户共同管理的协同认证系统的认证算法流程图。
具体实施方式
下面结合附图对本发明作进一步说明。
从物联网中面向多用户的区块链协同认证的角度来说,本发明包括:结合协同认证链构造算法、协同认证链认证算法、区块链智能协同认证系统的系统建立算法、区块链智能协同认证系统的系统认证算法。这些算法都是用椭圆曲线加密的方式对数据进行加密传输,各个认证节点之间已经提前共享公钥。而实现过程可以描述如下:
算法1:协同认证链构造算法
步骤1:边缘节点EN确定用于验证的用户身份的信息序列
Figure BDA0003976648620000051
步骤2:边缘节点EN获取哈希选择函数f(x)=(IDEN*x+T)mod n,该函数用来决定序列为x的消息使用哪种哈希函数进行计算,n表示哈希函数的总数。
步骤3:边缘节点EN使用哈希选择函数f(x)决定序列中每一个值使用的哈希函数f(i),计算每一个用户身份信息的哈希值,获得哈希序列
Figure BDA0003976648620000052
Figure BDA0003976648620000053
步骤4:边缘节点EN将边缘节点的标识号IDEN作为协同认证链的第一个节点
Figure BDA0003976648620000054
步骤5:边缘节点EN依次取出哈希序列
Figure BDA0003976648620000055
中的每个值Hf(i)(Ui),与协同认证链的上一个节点
Figure BDA0003976648620000056
拼接起来,获得
Figure BDA0003976648620000057
Figure BDA0003976648620000058
步骤6:边缘节点EN使用所有的哈希序列生成完整的协同认证链序列
Figure BDA0003976648620000059
步骤7:结束。
算法2:协同认证链认证算法
步骤1:区块链认证节点BAN获取哈希选择函数f(x)以及边缘节点的标识号IDEN,并构建协同认证链的第一个节点
Figure BDA0003976648620000061
步骤2:边缘节点EN将协同认证链
Figure BDA0003976648620000062
用户身份信息的哈希值Hf(i)(Ui)的组合成数据包
Figure BDA0003976648620000063
并按照顺序发送至区块链认证节点BAN。
步骤3:区块链认证节点BAN收到数据包
Figure BDA0003976648620000064
根据用户身份信息的哈希值Hf(i)(Ui)与协同认证链的上一个节点
Figure BDA0003976648620000065
计算此时的节点值,获得
Figure BDA0003976648620000066
步骤4:区块链认证节点BAN比较数据包中的协同认证链节点值
Figure BDA0003976648620000067
与自身构建的协同认证链节点值是否相等,若相等,则表明当前数据包未被篡改,认证成功;若不相等,返回步骤2并反馈错误信息“数据包已被篡改”;
步骤5:区块链认证节点BAN接收边缘节点EN发送的最终数据包,然后比较最终构建的协同认证链节点值
Figure BDA0003976648620000068
是否等于接收的协同认证链节点值
Figure BDA0003976648620000069
步骤6:结束;
算法3:多用户协同认证系统的建立算法
步骤1:边缘节点EN使用椭圆曲线加密算法生成一对密钥对(PUEN,PREN),前者为公钥,后者为私钥。然后边缘节点EN对内容为“申请注册”的消息msg1进行签名,生成签名
Figure BDA00039766486200000610
然后使用云认证节点的公钥PUCAN加密边缘节点的标识号IDEN以及公钥PUEN,生成加密文件
Figure BDA00039766486200000611
边缘节点EN将注册请求签名以及加密信息传输至云认证节点CAN。
步骤2:云认证节点CAN收到来自边缘节点EN的注册请求消息后,使用自身私钥PRCAN解密注册信息,获得边缘节点的公钥PUEN和标识号IDEN。然后云认证节点CAN对注册签名进行验证。如果签名验证成功,则前往步骤3;否则,删除请求信息并返回步骤1。
步骤3:云认证节点CAN生成时间戳T,然后根据边缘节点标识号IDEN以及时间戳T生成哈希选择函数f(x)=(IDEN*x+T)mod n,该函数用来决定序列为x的消息使用哪种哈希函数进行计算,n表示哈希函数的总数。
步骤4:云认证节点CAN将边缘节点标识号IDEN以及哈希选择函数f(x)保存值数据库DBCAN中,然后使用边缘节点的公钥PUEN加密函数f(x),并将密文
Figure BDA0003976648620000071
发送至边缘节点EN。
步骤5:边缘节点EN收到来自云认证节点CAN的密文消息
Figure BDA0003976648620000072
后,使用私钥PREN将其解密,获得哈希选择函数f(x)。
步骤6:边缘节点EN对内容为“申请注册”的消息msg1进行签名,生成签名
Figure BDA0003976648620000073
然后使用区块链节点的公钥PUBAN加密边缘节点的标识号IDEN以及公钥PUEN,生成加密文件
Figure BDA0003976648620000074
边缘节点EN将注册请求签名以及加密信息传输至区块链节点BAN。
步骤7:区块链节点BAN收到来自边缘节点EN的注册请求消息后,使用自身私钥PRBAN解密注册信息,获得边缘节点的公钥PUEN和标识号IDEN。然后区块链节点BAN对注册签名进行验证。如果签名验证成功,则前往步骤8;否则,删除请求信息并返回步骤6。
步骤8:区块链节点BAN对内容为“同意注册”的消息msg3进行签名,生成签名
Figure BDA0003976648620000075
区块链节点BAN将签名发送至边缘节点EN。
步骤9:边缘节点EN收到签名后,使用区块链节点的公钥PUBAN验证签名,如果验证成功,则前往步骤10,否则,前往步骤6;
步骤10:边缘节点EN根据算法1,使用哈希选择函数f(x)以及用于验证的用户身份的信息序列
Figure BDA0003976648620000076
构成最终的协同认证链
Figure BDA0003976648620000077
然后边缘节点EN使用区块链节点的公钥PUBAN加密协同认证链
Figure BDA0003976648620000078
并使用私钥对协同认证链
Figure BDA0003976648620000079
以及标识号IDEN进行签名。然后边缘节点EN将加密文件
Figure BDA00039766486200000710
以及签名
Figure BDA00039766486200000711
传输至区块链认证节点BAN。
步骤11:区块链认证节点BAN收到来自边缘节点EN的加密文件以及签名后,使用自身私钥对加密文件
Figure BDA00039766486200000712
进行解密,获得协同认证链
Figure BDA00039766486200000713
然后区块链认证节点BAN使用边缘节点EN的公钥以及协同认证链
Figure BDA00039766486200000714
验证签名
Figure BDA00039766486200000715
若验证成功,则前往步骤12,否则,前往步骤10。
步骤12:区块链认证节点BAN将边缘节点EN的签名
Figure BDA00039766486200000716
打包至区块
Figure BDA00039766486200000717
并上链,完成注册。
步骤13:结束
算法4:多用户协同认证系统的认证算法
步骤1:边缘节点EN收集待认证用户的输入,获得其身份信息序列
Figure BDA0003976648620000081
然后对内容为“申请认证”的消息msg2进行签名。边缘节点EN使用云认证节点的公钥PUCAN加密边缘节点的标识号IDEN以及公钥PUEN,生成加密文件
Figure BDA0003976648620000082
边缘节点EN将认证请求签名以及加密信息传输至云认证节点CAN。
步骤2:云认证节点CAN收到来自边缘节点EN的认证请求消息后,使用自身私钥PRCAN解密认证信息,获得边缘节点的公钥PUEN和标识号IDEN。然后云认证节点CAN对注册签名进行验证。如果签名验证成功,则前往步骤3;否则,删除请求信息并返回步骤1。
步骤3:云认证节点CAN使用边缘节点EN的标识号查询数据库,如果查询成功,则获得该标识号所对应的哈希选择函数f(x),并前往步骤4;如果查询失败,则返回错误,并前往步骤1。
步骤4:云认证节点CAN使用边缘节点EN的公钥加密哈希选择函数f(x),然后将加密文件传输至边缘节点EN。
步骤5:边缘节点EN收到来自云认证节点CAN的加密文件后,使用自身私钥对其进行解密,从中获得哈希选择函数f(x)。然后边缘节点EN使用算法1构建协同认证链序列
Figure BDA0003976648620000083
步骤6:边缘节点EN对内容为“申请认证”的消息msg2进行签名,生成签名
Figure BDA0003976648620000084
然后边缘节点EN使用区块链节点的公钥PUBAN加密边缘节点的标识号IDEN以及公钥PUEN,生成加密文件
Figure BDA0003976648620000085
边缘节点EN将认证请求签名以及加密信息传输至区块链节点BAN。
步骤7:区块链节点BAN收到边缘节点EN的签名后,使用自身私钥PRBAN解密注册信息,获得边缘节点的公钥PUEN和标识号IDEN。然后区块链节点BAN对认证请求签名进行验证。如果签名验证成功,则前往步骤8;否则,删除请求信息并返回步骤6。
步骤8:区块链节点BAN对内容为“申请认证”的消息msg2进行签名,生成签名
Figure BDA0003976648620000086
然后使用云认证节点的公钥PUCAN加密边缘节点的标识号IDEN以及公钥PUBAN,生成加密文件
Figure BDA0003976648620000091
区块链节点BAN将认证请求签名以及加密信息传输至云认证节点CAN。
步骤9:云认证节点CAN收到来自区块链节点BAN的认证请求消息后,使用自身私钥PRCAN解密认证信息,获得区块链节点的公钥PUBAN和边缘节点的标识号IDEN。然后云认证节点CAN对认证签名进行验证。如果签名验证成功,则前往步骤10;否则,删除请求信息并返回步骤8。
步骤10:云认证节点CAN使用边缘节点EN的标识号查询数据库,如果查询成功,则获取该标识号所对应的哈希选择函数f(x),并前往步骤11;如果查询失败,则返回错误,并前往步骤1。
步骤11:云认证节点CAN使用区块链节点的公钥PUBAN加密哈希选择函数f(x),然后将加密文件传输至区块链节点BAN。
步骤12:区块链节点BAN收到来自云认证节点CAN的加密文件后,使用自身私钥对其进行解密,从中获得哈希选择函数f(x)。然后区块链节点BAN对内容为“同意认证”的消息msg4进行签名,生成签名
Figure BDA0003976648620000092
区块链节点BAN将签名发送至边缘节点EN。
步骤13:边缘节点EN收到签名后,使用区块链节点的公钥PUBAN验证签名,如果验证成功,则前往步骤14,否则,前往步骤8;
步骤14:边缘节点EN将协同认证链序列
Figure BDA0003976648620000093
按序传输至区块链认证节点BAN。
步骤15:区块链认证节点BAN使用算法2对边缘节点EN发送的每一个协同认证链进行验证,若验证成功,则前往步骤16;否则前往步骤17。
步骤16:区块链认证节点BAN使用协同认证链
Figure BDA0003976648620000094
验证分布式账本中保存的签名。若存在区块
Figure BDA0003976648620000095
中存在签名能够用协同认证链
Figure BDA0003976648620000096
验证,则返回认证成功的结果。否则返回认证失败的结果。
步骤17:结束。

Claims (6)

1.面向多用户共同管理的区块链智能协同认证方法,其特征在于:采用协同认证链构建算法、协同认证链认证算法、多用户协同认证系统建立算法和多用户协同认证系统认证算法;
协同认证链构建算法中,首先系统收集不同用户的身份信息序列,在确认用户身份信息的完整性后,系统开始链的构建;系统首先将边缘节点的标识号作为种子生成第一条链;然后系统会根据哈希函数选择算法,使用对应的哈希函数来处理当前用户的身份信息;随后将当前用户的身份信息的哈希值与上一条协同认证链拼接起来,并最终构建成完整的协同认证链;
协同认证链认证算法中,首先区块链节点获取边缘节点的标识号,并构建区块链端协同认证链的第一个节点;然后,边缘节点会将边缘端的协同认证链、用户身份信息的哈希值组合成数据包,并按照顺序发送至区块链节点;区块链节点在收到数据包后,根据用户身份信息构建自己的区块链端的协同认证链;区块链节点通过比较边缘端与区块链端的协同认证链是否对等,来判断用户身份信息是否被篡改;直到区块链端收到最终的数据包,并验证最终构建的与接收的协同认证链是否对等来完成认证;
多用户协同认证系统建立算法中,首先使用物联网设备收集合法用户的身份信息;随后基于单个用户认证的需要,将该用户身份信息的数字摘要加密后保存在边缘端节点;边缘端节点使用协同认证链构建算法,将需要协同认证的多用户按照顺序构建协同认证链,并将其加密后发送至区块链节点;区块链节点将该协同认证链以交易的形式打包上链,并广播到其他区块链节点上;
多用户协同认证系统认证算法中,首先系统会收集需要协同认证的用户所提供的身份信息;然后通过查询边缘节点的用户身份信息库,将收集的用户身份信息与用户身份信息库逐一比对,直到所用需要协同认证的用户都认证完成为止;在保证所有参与协同认证的用户都是合法用户时,开始进行协同认证;区块链节点在收到协同认证的请求后,会根据边缘端提供的信息,向云认证节点获取哈希选择函数,并与边缘端开始协同认证链的构建及认证,直到最终的协同认证链认证成功,;最后,区块链节点使用构建的协同认证链来验证分布式账本中保存的签名。
2.如权利要求1所述的面向多用户共同管理的区块链智能协同认证方法,其特征在于:
所述协同认证链构建算法中的哈希函数选择算法中,认证节点首先会生成时间戳,然后根据边缘节点标识号以及时间戳生成哈希函数选择器,该选择器用来决定当前序列的消息使用何种哈希函数进行计算。
3.如权利要求1所述的面向多用户共同管理的区块链智能协同认证方法,其特征在于:所述协同认证链构造算法具体如下:
步骤1:边缘节点EN确定用于验证的用户身份的信息序列
Figure FDA0003976648610000021
步骤2:边缘节点EN获取哈希选择函数f(x)=(IDEN*x+T)mod n,该函数用来决定序列为x的消息使用何种哈希函数进行计算,n表示哈希函数的总数;
步骤3:边缘节点EN使用哈希选择函数f(x)决定序列中每一个值使用的哈希函数f(i),计算每一个用户身份信息的哈希值,获得哈希序列
Figure FDA0003976648610000022
Figure FDA0003976648610000023
步骤4:边缘节点EN将边缘节点的标识号IDEN作为协同认证链的第一个节点
Figure FDA0003976648610000024
步骤5:边缘节点EN依次取出哈希序列
Figure FDA0003976648610000025
中的每个值Hf(i)(Ui),与协同认证链的上一个节点
Figure FDA0003976648610000026
拼接起来,获得
Figure FDA0003976648610000027
Figure FDA0003976648610000028
步骤6:边缘节点EN使用所有的哈希序列生成完整的协同认证链序列
Figure FDA00039766486100000216
步骤7:结束。
4.如权利要求3所述的面向多用户共同管理的区块链智能协同认证方法,其特征在于:所述协同认证链认证算法具体如下:
步骤1:区块链认证节点BAN获取哈希选择函数f(x)以及边缘节点的标识号IDEN,并构建协同认证链的第一个节点
Figure FDA0003976648610000029
步骤2:边缘节点EN将协同认证链
Figure FDA00039766486100000210
用户身份信息的哈希值Hf(i)(Ui)的组合成数据包
Figure FDA00039766486100000211
并按照顺序发送至区块链认证节点BAN;
步骤3:区块链认证节点BAN收到数据包
Figure FDA00039766486100000212
根据用户身份信息的哈希值Hf(i)(Ui)与协同认证链的上一个节点
Figure FDA00039766486100000213
计算此时的节点值,获得
Figure FDA00039766486100000214
步骤4:区块链认证节点BAN比较数据包中的协同认证链节点值
Figure FDA00039766486100000215
与自身构建的协同认证链节点值是否相等,若相等,则表明当前数据包未被篡改,认证成功;若不相等,返回步骤2并反馈错误信息“数据包已被篡改”;
步骤5:区块链认证节点BAN接收边缘节点EN发送的最终数据包,然后比较最终构建的协同认证链节点值
Figure FDA0003976648610000031
是否等于接收的协同认证链节点值
Figure FDA0003976648610000032
步骤6:结束。
5.如权利要求4所述的面向多用户共同管理的区块链智能协同认证方法,其特征在于:所述多用户协同认证系统建立算法具体如下:
步骤1:边缘节点EN使用椭圆曲线加密算法生成一对密钥对(PUEN,PREN),前者为公钥,后者为私钥;然后边缘节点EN对内容为“申请注册”的消息msg1进行签名,生成签名
Figure FDA0003976648610000033
然后使用云认证节点的公钥PUCAN加密边缘节点的标识号IDEN以及公钥PUEN,生成加密文件
Figure FDA0003976648610000034
边缘节点EN将注册请求签名以及加密信息传输至云认证节点CAN;
步骤2:云认证节点CAN收到来自边缘节点EN的注册请求消息后,使用自身私钥PRCAN解密注册信息,获得边缘节点的公钥PUEN和标识号IDEN;然后云认证节点CAN对注册签名进行验证;如果签名验证成功,则前往步骤3;否则,删除请求信息并返回步骤1;
步骤3:云认证节点CAN生成时间戳T,然后根据边缘节点标识号IDEN以及时间戳T生成哈希选择函数f(x)=(IDEN*x+T)mod n,该函数用来决定序列为x的消息使用哪种哈希函数进行计算,n表示哈希函数的总数;
步骤4:云认证节点CAN将边缘节点标识号IDEN以及哈希选择函数f(x)保存值数据库DBCAN中,然后使用边缘节点的公钥PUEN加密函数f(x),并将密文
Figure FDA0003976648610000035
发送至边缘节点EN;
步骤5:边缘节点EN收到来自云认证节点CAN的密文消息
Figure FDA0003976648610000038
后,使用私钥PREN将其解密,获得哈希选择函数f(x);
步骤6:边缘节点EN对内容为“申请注册”的消息msg1进行签名,生成签名
Figure FDA0003976648610000036
然后使用区块链节点的公钥PUBAN加密边缘节点的标识号IDEN以及公钥PUEN,生成加密文件
Figure FDA0003976648610000037
边缘节点EN将注册请求签名以及加密信息传输至区块链节点BAN;
步骤7:区块链节点BAN收到来自边缘节点EN的注册请求消息后,使用自身私钥PRBAN解密注册信息,获得边缘节点的公钥PUEN和标识号IDEN;然后区块链节点BAN对注册签名进行验证;如果签名验证成功,则前往步骤8;否则,删除请求信息并返回步骤6;
步骤8:区块链节点BAN对内容为“同意注册”的消息msg3进行签名,生成签名
Figure FDA0003976648610000041
区块链节点BAN将签名发送至边缘节点EN;
步骤9:边缘节点EN收到签名后,使用区块链节点的公钥PUBAN验证签名,如果验证成功,则前往步骤10,否则,前往步骤6;
步骤10:边缘节点EN根据算法1,使用哈希选择函数f(x)以及用于验证的用户身份的信息序列
Figure FDA0003976648610000042
构成最终的协同认证链
Figure FDA0003976648610000043
然后边缘节点EN使用区块链节点的公钥PUBAN加密协同认证链
Figure FDA0003976648610000044
并使用私钥对协同认证链
Figure FDA0003976648610000045
以及标识号IDEN进行签名;然后边缘节点EN将加密文件
Figure FDA0003976648610000046
以及签名
Figure FDA0003976648610000047
传输至区块链认证节点BAN;
步骤11:区块链认证节点BAN收到来自边缘节点EN的加密文件以及签名后,使用自身私钥对加密文件
Figure FDA0003976648610000048
进行解密,获得协同认证链
Figure FDA0003976648610000049
然后区块链认证节点BAN使用边缘节点EN的公钥以及协同认证链
Figure FDA00039766486100000410
验证签名
Figure FDA00039766486100000411
若验证成功,则前往步骤12,否则,前往步骤10;
步骤12:区块链认证节点BAN将边缘节点EN的签名
Figure FDA00039766486100000412
打包至区块
Figure FDA00039766486100000413
并上链,完成注册;
步骤13:结束。
6.如权利要求5所述的面向多用户共同管理的区块链智能协同认证方法,其特征在于:所述多用户协同认证系统的认证算法具体如下:
步骤1:边缘节点EN收集待认证用户的输入,获得其身份信息序列
Figure FDA00039766486100000414
然后对内容为“申请认证”的消息msg2进行签名;边缘节点EN使用云认证节点的公钥PUCAN加密边缘节点的标识号IDEN以及公钥PUEN,生成加密文件
Figure FDA00039766486100000415
边缘节点EN将认证请求签名以及加密信息传输至云认证节点CAN;
步骤2:云认证节点CAN收到来自边缘节点EN的认证请求消息后,使用自身私钥PRCAN解密认证信息,获得边缘节点的公钥PUEN和标识号IDEN;然后云认证节点CAN对注册签名进行验证;如果签名验证成功,则前往步骤3;否则,删除请求信息并返回步骤1;
步骤3:云认证节点CAN使用边缘节点EN的标识号查询数据库,如果查询成功,则获得该标识号所对应的哈希选择函数f(x),并前往步骤4;如果查询失败,则返回错误,并前往步骤1;
步骤4:云认证节点CAN使用边缘节点EN的公钥加密哈希选择函数f(x),然后将加密文件传输至边缘节点EN;
步骤5:边缘节点EN收到来自云认证节点CAN的加密文件后,使用自身私钥对其进行解密,从中获得哈希选择函数f(x);然后边缘节点EN使用算法1构建协同认证链序列
Figure FDA0003976648610000051
步骤6:边缘节点EN对内容为“申请认证”的消息msg2进行签名,生成签名
Figure FDA0003976648610000052
然后边缘节点EN使用区块链节点的公钥PUBAN加密边缘节点的标识号IDEN以及公钥PUEN,生成加密文件
Figure FDA0003976648610000053
边缘节点EN将认证请求签名以及加密信息传输至区块链节点BAN;
步骤7:区块链节点BAN收到边缘节点EN的签名后,使用自身私钥PRBAN解密注册信息,获得边缘节点的公钥PUEN和标识号IDEN;然后区块链节点BAN对认证请求签名进行验证;如果签名验证成功,则前往步骤8;否则,删除请求信息并返回步骤6;
步骤8:区块链节点BAN对内容为“申请认证”的消息msg2进行签名,生成签名
Figure FDA0003976648610000054
然后使用云认证节点的公钥PUCAN加密边缘节点的标识号IDEN以及公钥PUBAN,生成加密文件
Figure FDA0003976648610000055
区块链节点BAN将认证请求签名以及加密信息传输至云认证节点CAN;
步骤9:云认证节点CAN收到来自区块链节点BAN的认证请求消息后,使用自身私钥PRCAN解密认证信息,获得区块链节点的公钥PUBAN和边缘节点的标识号IDEN;然后云认证节点CAN对认证签名进行验证;如果签名验证成功,则前往步骤10;否则,删除请求信息并返回步骤8;
步骤10:云认证节点CAN使用边缘节点EN的标识号查询数据库,如果查询成功,则获取该标识号所对应的哈希选择函数f(x),并前往步骤11;如果查询失败,则返回错误,并前往步骤1;
步骤11:云认证节点CAN使用区块链节点的公钥PUBAN加密哈希选择函数f(x),然后将加密文件传输至区块链节点BAN;
步骤12:区块链节点BAN收到来自云认证节点CAN的加密文件后,使用自身私钥对其进行解密,从中获得哈希选择函数f(x);然后区块链节点BAN对内容为“同意认证”的消息msg4进行签名,生成签名
Figure FDA0003976648610000061
区块链节点BAN将签名发送至边缘节点EN;
步骤13:边缘节点EN收到签名后,使用区块链节点的公钥PUBAN验证签名,如果验证成功,则前往步骤14,否则,前往步骤8;
步骤14:边缘节点EN将协同认证链序列
Figure FDA0003976648610000062
按序传输至区块链认证节点BAN;
步骤15:区块链认证节点BAN使用算法2对边缘节点EN发送的每一个协同认证链进行验证,若验证成功,则前往步骤16;否则前往步骤17;
步骤16:区块链认证节点BAN使用协同认证链
Figure FDA0003976648610000063
验证分布式账本中保存的签名;若存在区块
Figure FDA0003976648610000064
中存在签名能够用协同认证链
Figure FDA0003976648610000065
验证,则返回认证成功的结果;否则返回认证失败的结果;
步骤17:结束。
CN202211535012.5A 2022-12-02 2022-12-02 面向多用户共同管理的区块链智能协同认证方法 Active CN115987519B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211535012.5A CN115987519B (zh) 2022-12-02 2022-12-02 面向多用户共同管理的区块链智能协同认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211535012.5A CN115987519B (zh) 2022-12-02 2022-12-02 面向多用户共同管理的区块链智能协同认证方法

Publications (2)

Publication Number Publication Date
CN115987519A true CN115987519A (zh) 2023-04-18
CN115987519B CN115987519B (zh) 2024-03-26

Family

ID=85971289

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211535012.5A Active CN115987519B (zh) 2022-12-02 2022-12-02 面向多用户共同管理的区块链智能协同认证方法

Country Status (1)

Country Link
CN (1) CN115987519B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020133655A1 (zh) * 2018-12-26 2020-07-02 中国科学院沈阳自动化研究所 边缘计算场景下支持异构终端匿名接入的轻量级认证方法
CN113301022A (zh) * 2021-04-27 2021-08-24 西安理工大学 基于区块链和雾计算的物联网设备身份安全认证方法
CN115333757A (zh) * 2021-04-23 2022-11-11 江西海盾信联科技有限责任公司 一种基于终端加密传输网关的区块链认证接入实现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020133655A1 (zh) * 2018-12-26 2020-07-02 中国科学院沈阳自动化研究所 边缘计算场景下支持异构终端匿名接入的轻量级认证方法
CN115333757A (zh) * 2021-04-23 2022-11-11 江西海盾信联科技有限责任公司 一种基于终端加密传输网关的区块链认证接入实现方法
CN113301022A (zh) * 2021-04-27 2021-08-24 西安理工大学 基于区块链和雾计算的物联网设备身份安全认证方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王乃洲;金连文;高兵;金晓峰;: "基于区块链技术的身份认证与存储方法研究", 现代信息科技, no. 08, 25 April 2020 (2020-04-25) *

Also Published As

Publication number Publication date
CN115987519B (zh) 2024-03-26

Similar Documents

Publication Publication Date Title
CN107919956B (zh) 一种面向物联网云环境下端到端安全保障方法
CN107948189B (zh) 非对称密码身份鉴别方法、装置、计算机设备及存储介质
EP1912376B1 (en) Method and apparatus for authentication
CN113553574A (zh) 一种基于区块链技术的物联网可信数据管理方法
US11870891B2 (en) Certificateless public key encryption using pairings
CN110959163A (zh) 能够在多个存储节点上安全存储大型区块链的计算机实现的系统和方法
CN110020524B (zh) 一种基于智能卡的双向认证方法
CN113630248B (zh) 一种会话密钥协商方法
CN113612610B (zh) 一种会话密钥协商方法
CN114884698B (zh) 基于联盟链的Kerberos与IBC安全域间跨域认证方法
CN112104453A (zh) 一种基于数字证书的抗量子计算数字签名系统及签名方法
CN111416712B (zh) 基于多个移动设备的量子保密通信身份认证系统及方法
CN114826659B (zh) 一种加密通讯方法及系统
CN113411801A (zh) 一种基于身份签密的移动终端认证方法
CN116388995A (zh) 一种基于puf的轻量级智能电网认证方法
CN111526131B (zh) 基于秘密共享和量子通信服务站的抗量子计算的电子公文传输方法和系统
Chen et al. Provable secure group key establishment scheme for fog computing
CN110752934B (zh) 拓扑结构下网络身份交互认证的方法
KR100456624B1 (ko) 이동 통신망에서의 인증 및 키 합의 방법
CN115001764B (zh) 分层系统下基于共识数据库的跨域密钥协商方法及系统
CN113676330B (zh) 一种基于二级密钥的数字证书申请系统及方法
CN112423295B (zh) 一种基于区块链技术的轻量级安全认证方法及系统
WO2008004174A2 (en) Establishing a secure authenticated channel
CN115987519B (zh) 面向多用户共同管理的区块链智能协同认证方法
TW202301830A (zh) 群組即時通訊的加密系統和加密方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant