CN116192382A - 一种基于区块链的dh密钥第三方篡改验证方法及系统 - Google Patents

一种基于区块链的dh密钥第三方篡改验证方法及系统 Download PDF

Info

Publication number
CN116192382A
CN116192382A CN202310184869.5A CN202310184869A CN116192382A CN 116192382 A CN116192382 A CN 116192382A CN 202310184869 A CN202310184869 A CN 202310184869A CN 116192382 A CN116192382 A CN 116192382A
Authority
CN
China
Prior art keywords
state
miner
node
nodes
candidate
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
CN202310184869.5A
Other languages
English (en)
Other versions
CN116192382B (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.)
Qiqihar University
Original Assignee
Qiqihar 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 Qiqihar University filed Critical Qiqihar University
Priority to CN202310184869.5A priority Critical patent/CN116192382B/zh
Publication of CN116192382A publication Critical patent/CN116192382A/zh
Application granted granted Critical
Publication of CN116192382B publication Critical patent/CN116192382B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种基于区块链的DH密钥第三方篡改验证方法及系统,涉及分布式网络反馈技术领域。本发明是为了解决现有技术中目前并没有涉及从区块链数据完整性的角度考虑是否被第三方篡改的验证方法,从而导致账户被攻击的风险高且攻击手段的隐蔽性强,进而导致传输风险与损失高的问题。本发明包括:节点初始化阶段;参数上链阶段;矿工节点态转换阶段:将follow矿工节点转换为candidate态矿工节点,从candidate态矿工节点中选举leader态矿工节点;区块验证阶段:若每个矿工节点记录的区块数为f+1进入下一阶段;f为最多存在故障节点数;hash值对比预警更新阶段:将达成数据完整性、没有被攻击共识且节点值大于0的矿工节点值存入本地数据库。本发明用于验证区块链数据是否被第三方篡改。

Description

一种基于区块链的DH密钥第三方篡改验证方法及系统
技术领域
本发明涉及分布式网络反馈技术领域,特别涉及一种基于区块链的DH密钥第三方篡改验证方法及系统。
背景技术
在过去的十几年中,物联网区块链技术得到飞速发展,特别在科技与工业领域得到了实质性的应用,如中国的支付宝app以及去年八月份,美国国防高级研究计划局将物联网中的超大规模加密技术作为核心项目在军事方向的研究,可以看出全世界对区块链与物联网技术的重视与依赖。从宏观上来说,区块链的显著特点是可以保证数据传输的完整性;从微观上来看,区块链本质即为一个分布式数据库系统,通过一些加密算法可以将敏感数据进行隐藏,同时一些容错机制也可以帮助区块链提高传输的准确性。经过十几年的发展,区块链技术不仅在金融领域得到很好完善,如今在军事通信领域也逐渐得到重视。
目前区块链的数据传输主要采用容错机制和共识机制实现。容错机制是通过多个节点的互相广播从而使得各信道复用,提高传输的效率;如果仅使用单一的点对点技术进行传输,传错或不传的问题得不到有效的解决,准确地说不能够及时得到反馈,从而降低了效率。而共识机制是通过特殊节点的投票,在很短的时间就可以完成对数据传输或者交易的识别和确认;对于一组数据,如果某几个节点在有限时间能够达成共识,则说明在全网范围也能相继达成共识,共识机制能够有效确保区块链传输的稳定性和准确性,同时也是区块链智能合约中不可忽略的重要机制。共识算法就是用于实现共识机制的方法。然而区块链网络中面临许多难题:1.上链后的数据不可逆,反解不出原始数据;2.区块链节点存储及运算能力有限,难以在区块链中进行大量操作;3.在实际应用中,故障性排查困难,各种问题无法得到统一的处理办法。(如机器宕机后无法快速得出结论是否被网络攻击还是机器设备问题)因此需要对公钥上链过程中是否有第三方进行篡改进行验证。
目前,在当前已有的技术中,并没有研究从区块链传输的完整性出发来前后对比数据是否被篡改,从而验证被攻击的可能性同时确保账户及时冻结,但往往这也是现实生活中需要的,被攻击后只能被动转移账户财产而不是由系统及时冻结账户给网络入侵留下了可趁之机,因此目前还存在账户被攻击风险高且攻击手段的隐蔽性强,从而导致传输风险与损失高的问题。
发明内容
本发明目的是为了解决现有技术中目前并没有涉及从区块链数据完整性的角度考虑是否被第三方篡改的验证方法,从而导致账户被攻击的风险高且攻击手段的隐蔽性强,进而导致传输风险与损失高的问题,而提出了一种基于区块链的DH密钥第三方篡改验证方法及系统。
一种基于区块链的DH密钥第三方篡改验证方法具体过程为:
步骤一、节点初始化阶段:
将区块链网络中的所有矿工节点的状态值初始化为follow态,初始值设为0;
步骤二、参数上链阶段:
随机选取一个素数p以及原根g,将p作为公钥,follow态矿工节点利用p和g对公钥p进行哈希运算获得H(p),然后对follow态矿工节点上链;
步骤三、矿工节点态转换阶段:
首先,将至少两个follow态矿工节点作为一组,进行数据传输,按数据传输的时间顺序依次将矿工节点由follow态转换为candidate态;
然后,判断当前时刻是否只有一组candidate态矿工节点,若只有一组candidate态矿工节点则当前组矿工节点由candidate态转换为leader态,其他candidate态矿工节点进入silent态,然后执行步骤四;若当前时刻同时有多组candidate态矿工节点,则重新进行数据传输,直至当前时刻只有一组candidate态矿工节点,则当前组矿工节点由candidate态转换为leader态,其他candidate态矿工节点进入silent态,然后执行步骤四;
步骤四、区块验证阶段:
判断区块链网络中每个矿工节点记录的leader态矿工节点产生的区块数是否为f+1,若为f+1则执行步骤五;若不是f+1则silent态的candidate态矿工节点唤醒,重新进行leader态矿工节点选举,然后重新执行步骤四,直至每个矿工节点记录的leader态矿工节点产生的区块数为f+1;
其中,f为预设的网络中最多存在的故障节点数;
步骤五、hash值对比预警与更新阶段:
将步骤二获得的H(p)与终点值比较,若H(p)等于终点值,则达成没有被攻击共识,所有矿工节点根据记录的区块情况更新本地区块链,然后判断是否达成数据完整性,若达成数据完整性且达成没有被攻击共识则将节点值大于0的矿工节点值存入本地数据库中;若H(p)不等于终点值,则整个系统进行死锁宕机状态,并等待维护。
所述终点值为leader矿工节点产生的区块的哈希值。
进一步地,所述将至少两个follow态矿工节点作为一组,进行数据传输中还经过了反馈机制,具体为:
将至少两个follow态矿工节点作为一组,进行数据传输,若数据传输超时则重新传输,若数据传输没有超时则继续传输。
进一步地,矿工节点间的会话密钥,通过以下方式获得:
Ka=(Yb)2modp
Kb=(Ya)2modp
其中,Ya、Yb是DH密钥交换协议,a、b是随机数,mod为求余运算符号。
进一步地,ga modp=Ya,gbmodp=Yb
进一步地,所述达成数据完整性,通过以下方式判断:
首先,用户A给用户B编写一条消息,同时创建消息的hash值H(m);
然后,B接收到消息后再次计算消息的hash值H(n);
最后,判断H(m)是否等于H(n),H(m)等于H(n)则达成数据完整性。
一种基于区块链的DH密钥第三方篡改验证系统,包括:节点初始化模块、参数上链模块、矿工节点态转换模块、区块验证模块、hash值对比预警及更新模块;
所述节点初始化模块:将区块链网络中的所有矿工节点的状态值初始化为follow态,初始值设为0;
所述参数上链模块:随机选取一个素数p以及原根g,将p作为公钥,follow态矿工节点利用p和g对公钥p进行哈希运算获得H(p),然后对follow态矿工节点上链;
所述矿工节点态转换模块:首先,将至少两个follow态矿工节点作为一组,进行数据传输,按数据传输的时间顺序依次将矿工节点由follow态转换为candidate态;然后,判断当前时刻是否只有一组candidate态矿工节点,若只有一组candidate态矿工节点则当前组矿工节点由candidate态转换为leader态,其他candidate态矿工节点进入silent态,然后进入区块验证模块;若当前时刻同时有多组candidate态矿工节点,则重新进行数据传输,直至当前时刻只有一组candidate态矿工节点,则当前组矿工节点由candidate态转换为leader态,其他candidate态矿工节点进入silent态,然后进入区块验证模块;
所述区块验证模块:判断区块链网络中每个矿工节点记录的leader态矿工节点产生的区块数是否为f+1,若为f+1则进入hash值对比预警与更新模块;若不是f+1则将silent态的candidate态矿工节点唤醒,重新进行leader态矿工节点选举,然后重新进入区块验证模块,直至每个矿工节点记录的leader态矿工节点产生的区块数为f+1;
其中,f为预设的区块链网络中最多存在的故障节点数;
所述hash值对比预警与更新阶段模块:将参数上链模块获得的H(p)与终点值比较,若H(p)等于终点值,则达成没有被攻击共识,所有矿工节点根据记录的区块情况更新本地区块链,然后判断是否达成数据完整性,若达成数据完整性且达成没有被攻击共识则将节点值大于0的矿工节点值存入本地数据库中;若H(p)不等于终点值,则整个系统进行死锁宕机状态,并等待维护;
所述终点值为leader矿工节点产生的区块的哈希值。
进一步地,所述将至少两个follow态矿工节点作为一组,进行数据传输中还经过了反馈机制,具体为:
将至少两个follow态矿工节点作为一组,进行数据传输,若数据传输超时则重新传输,若数据传输没有超时则继续传输。
进一步地,矿工节点间的会话密钥,通过以下方式获得:
Ka=(Yb)2modp
Kb=(Ya)2modp
其中,Ya、Yb是DH密钥交换协议,a、b是随机数,mod为求余运算符号。
进一步地,ga modp=Ya,gbmodp=Yb
进一步地,所述达成数据完整性,通过以下方式判断:
首先,用户A给用户B编写一条消息,同时创建消息的hash值H(m);
然后,B接收到消息后再次计算消息的hash值H(n);
最后,判断H(m)是否等于H(n),H(m)等于H(n)则达成数据完整性。
本发明的有益效果为:
本发明提供了一种区块链数据是否被第三方篡改的验证方法,本发明通过对传输规则进行约束,利用一种类似投票的机制使得只有网络中的正常节点工作时才能被写入本地区块链中,同时本发明还对正常节点进行了记录更新,在下一轮传输时,进行了节点值对照,制定了将获得的最可靠的节点先进行传输的规约,可以有效防止女巫攻击和其他类型攻击。本发明从区块链数据完整性的角度验证了区块链数据是否被第三方篡改,从而降低了账户被攻击的风险,提升了攻击手段的识别性,进而降低传输风险和损失。本发明更加适用于实际的区块链工作中。
附图说明
图1为本发明阶段示意图;
图2为本发明详细示意图;
图3为使用DH密钥加密原理流程示意图;
图4为容错共识方法具体流程示意图;
图5为状态节点转换的流程示意图。
具体实施方式
具体实施方式一:如图1-2所示,本实施方式一种基于区块链的DH密钥第三方篡改验证方法具体过程为:
步骤一、节点初始化阶段:
对区块链网络中的所有矿工节点初始化:将区块链网络中所有矿工节点的状态值设为follow,初始值为0。矿工节点依据DH密钥传输的特性,每组至少两个follow态节点进行数据传输;
步骤二、参数上链阶段:
将初始化后的矿工节点参数上链:在正整数数据集中随机选取一个素数p以及原根g,将此公钥p进行哈希运算变为H(p),然后将至少两个follow态矿工节点作为一组,执行步骤三;
步骤三、矿工节点态转换阶段:
将矿工节点从follow态转换为candidate态:每组follow态(跟随态)矿工节点进行数据传输,为了保证在区块链中传输的时效性,在follow态进行传输直至晋升为candidate态(候选人态)时,中间过程中加入了反馈机制,若发现此过程超时,即重新传输,反之,则继续进行,先处理数据的follow态矿工节点先晋级为candidate态,后处理数据的follow态矿工节点也会晋级为candidate态,但此时进入等待silent状态。
将candidate态矿工节点转换为leader态矿工节点:follow态矿工节点晋级为candidate态后,判断当前是否只有一组candidate态矿工节点,若只有一组candidate态的矿工节点,则该组矿工节点当选为leader态,然后进入区块验证阶段。若同时有多组candidate态节点则重新进行数据传输直至当前时刻只有一组candidate态矿工节点进行数据传输,即所有candidate状态的矿工节点重新进行领导选举,选出一组作为leader态。因此活跃态candidate矿工节点先晋级为leader态。(即最先进行数据传输的follow态节点晋升为candidate态节点,并且实时监听信道中的传输,若有candidate态节点正在进行数据传输,其它晋升到candidate态的矿工节点会处于等待状态silent,直到重新参与领导选举)分别给leader态(领导态)矿工节点选取两个随机数a、b,利用DH密钥交换协议获得矿工节点间的会话密钥key,如图3所示。
所述DH密钥交换协议如下:
ga modp=Ya
gbmodp=Yb
其中,Ya、Yb是DH密钥交换协议,a、b是随机数,mod为求余运算符号;
所述矿工节点之间的会话密钥如下:
Ka=(Yb)2modp
Kb=(Ya)2modp
如图4所示,矿工节点态转换阶段通过如下方式完成:
首先,客户端先向主节点发起请求,主节点o收到客户端请求,会向其他节点pre-prepare消息,开始follow-candidate-leader三阶段共识过程。pre-prepare阶段:节点收到pre-prepare消息后,会有两种选择,接受或不接受(此时矿工节点为follow态)。节点接受,同意请求后就传输到prepare阶段,会向其他节点发送prepare消息。在同一时间范围内,如果收到超过2f个不同节点的prepare消息,就代表prepare阶段已经完成(此时矿工节点为candidate态)。然后进入commit阶段(此时矿工节点为leader态),向其他节点广播commit消息,当收到2f+1个commit消息后,代表大多数节点已经进入commit阶段,这一阶段已经达成共识,于是节点就会执行请求,写入数据。
步骤四、区块验证阶段:
上一阶段的leader态矿工节点将产生新区块,并对新区块广播并记录,区块链网络中其它矿工节点也对其进行记录,直到区块链网络中每个矿工节点均记录有f+1个相同的区块,其中f为预设的网络中最多存在的故障节点数,则执行步骤五,否则返回candidate态阶段,将正在等待的silent态candidate节点唤醒参与领导选举,然后再重新执行步骤四;
步骤五、hash值对比预警与更新阶段:
对比初始hash值H(p)与终点值(leader矿工节点产生新区块的哈希值),若一致,则达成没有被攻击的共识,所有矿工节点根据记录的区块情况更新本地区块链,达成数据完整性且没有被攻击的共识并将节点值大于0的矿工节点值存入本地数据库中;若不一致,则数据被篡改,整个系统死锁宕机,所有矿工节点全部进入锁定状态(死锁)并等待维护。
所述达成数据完整性,具体为:
首先,用户A对用户B编写一条消息,并创建该消息的hash值表示为H(m);
然后,B接收到消息后再次计算消息的hash值表示为H(n);
最后,判断H(m)是否等于H(n),H(m)等于H(n)则达成数据完整性,则该消息没有被篡改;反之,则说明该消息在A写它之后已被篡改,如图3所示
具体实施方式二:一种基于区块链的DH密钥第三方篡改验证系统,包括:节点初始化模块、参数上链模块、矿工节点态转换模块、区块验证模块、hash值对比预警及更新模块;
所述节点初始化模块:将区块链网络中的所有矿工节点的状态值初始化为follow态,初始值设为0;
所述参数上链模块:随机选取一个素数p以及原根g,将p作为公钥,follow态矿工节点利用p和g对公钥p进行哈希运算获得H(p),然后对follow态矿工节点上链;
所述矿工节点态转换模块:
首先,将至少两个follow态矿工节点作为一组,进行数据传输,按数据传输的时间顺序依次将矿工节点由follow态转换为candidate态;
然后,判断当前时刻是否只有一组candidate态矿工节点,若只有一组candidate态矿工节点则当前组矿工节点由candidate态转换为leader态,其他candidate态矿工节点进入silent态,然后进入区块验证模块;若当前时刻同时有多组candidate态矿工节点,则重新进行数据传输,直至当前时刻只有一组candidate态矿工节点,则当前组矿工节点由candidate态转换为leader态,其他candidate态矿工节点进入silent态,然后进入区块验证模块;
所述区块验证模块:判断区块链网络中每个矿工节点记录的leader态矿工节点产生的区块数是否为f+1,若为f+1则进入hash值对比预警与更新模块;若不是f+1则将silent态的candidate态矿工节点唤醒,重新进行leader态矿工节点选举,然后重新进入区块验证模块,直至每个矿工节点记录的leader态矿工节点产生的区块数为f+1;
其中,f为预设的区块链网络中最多存在的故障节点数;
所述hash值对比预警与更新阶段模块:将参数上链模块获得的H(p)与终点值比较,若H(p)等于终点值,则达成没有被攻击共识,所有矿工节点根据记录的区块情况更新本地区块链,然后判断是否达成数据完整性,若达成数据完整性且达成没有被攻击共识则将节点值大于0的矿工节点值存入本地数据库中;若H(p)不等于终点值,则整个系统进行死锁宕机状态,并等待维护;
所述终点值为leader矿工节点产生的区块的哈希值。
实施例:
本发明整体流程图如图5所示,具体为:
数据上链进行传输时,会先到达follow态节点处,由此等级节点负责向下传输,有超时重返机制,若在传输过程中发生延迟可以返回上一阶段重新传输,若此传输过程中同时有好几组传输,先处理数据的节点先晋升为candidate态节点,其余candidate节点进入等待期。同时先晋升的candidate节点又先晋升为leader节点,进行新区块广播并更新本地区块链与数据库。
本发明针对主流攻击,通过以下方式防护:
(1)日蚀攻击。攻击者需要对特定的节点或者多个节点进行网络攻击,让网络受到干扰,从而影响数据传输或者交易,但在本发明中,通过对不同状态节点进行有效容错,使得节点传输呈现分布式状态,保持在一定错误节点的时刻也能有效传输数据,使得日蚀攻击对本系统无法进一步损害。
(2)女巫攻击。女巫攻击对本系统的拜占庭容错机制有一定的攻击性,因此在本系统中通过对比每个节点值来充当可信组,将正常执行次数多的节点认为其可信且优先传输,可以有效防护来自伪装节点的干扰。如果对新节点(初始值为0的节点)进行攻击,导致传输错误或者失败,那么节点可以暂时拒绝对任何新节点的请求,保证在值大于0的剩余的节点下也能建立一条完整的可信通道进行数据传输。从而可以有效防护女巫攻击。
(3)Dos攻击/DDos攻击。其原理是通过攻击使得在多节点传输时超时未响应,迫使系统停止工作即瘫痪。但在本系统中,有超时回滚阶段,会实时监控各阶段的状态,若产生超时会自动分配其他节点,从而有效应对Dos攻击/DDos攻击且区块链本身的特性就能降低来自Dos攻击的可能性。
综上本发明中的leader矿工节点对数据进行hash值计算,并记录当前时间发生的操作,因此,只要是正常的leader节点都会产生并广播一个相同的块,再进入容错机制保证了在传输时允许有一些故障节点,不仅保证数据的完整性,同时节省系统资源并提高效率,还有效避免区块链的分叉。由于区块链自身特性,区块链网络具有一定的自卫能力,可以有效抵御日蚀攻击、女巫攻击、Dos攻击与DDos攻击等目前的主流攻击手段,从而起到防护作用。在区块链网络中传输数据无法得到有效监控的情况下,从而被第三方攻击,此时在没有受到明显攻击的情况下只能通过后端查看log的方法来被动检测是否存在攻击,及时性很差。并且由于故障节点的产生,使得此通道瘫痪,导致对整体传输效率造成影响。本发明根据对比hash值使系统预警并死锁,并且在存在一定故障节点的情况下使网络中正常节点之间达成共识,降低了账户被攻击的风险。
上述对所公开的实施例的说明,使本领域的专业技术人员能够实现或使用本发明。本文中所定义的一般原理可以在不脱离本发明的思想或范围的情况下,在其它实施例中实现。因此,本发明的实施范围不仅限于本文所示的这些实施例,其实施范围是符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种基于区块链的DH密钥第三方篡改验证方法,其特征在于所述方法具体过程为:
步骤一、节点初始化阶段:
将区块链网络中的所有矿工节点的状态值初始化为follow态,初始值设为0;
步骤二、参数上链阶段:
随机选取一个素数p以及原根g,将p作为公钥,follow态矿工节点利用p和g对公钥p进行哈希运算获得H(p),然后对follow态矿工节点上链;
步骤三、矿工节点态转换阶段:
首先,将至少两个follow态矿工节点作为一组,进行数据传输,按数据传输的时间顺序依次将矿工节点由follow态转换为candidate态;
然后,判断当前时刻是否只有一组candidate态矿工节点,若只有一组candidate态矿工节点则当前组矿工节点由candidate态转换为leader态,其他candidate态矿工节点进入silent态,然后执行步骤四;若当前时刻同时有多组candidate态矿工节点,则重新进行数据传输,直至当前时刻只有一组candidate态矿工节点,则当前组矿工节点由candidate态转换为leader态,其他candidate态矿工节点进入silent态,然后执行步骤四;
步骤四、区块验证阶段:
判断区块链网络中每个矿工节点记录的leader态矿工节点产生的区块数是否为f+1,若为f+1则执行步骤五;若不是f+1则将silent态的candidate态矿工节点唤醒,重新进行leader态矿工节点选举,然后重新执行步骤四,直至每个矿工节点记录的leader态矿工节点产生的区块数为f+1;
其中,f为预设的区块链网络中最多存在的故障节点数;
步骤五、hash值对比预警与更新阶段:
将步骤二获得的H(p)与终点值比较,若H(p)等于终点值,则达成没有被攻击共识,所有矿工节点根据记录的区块情况更新本地区块链,然后判断是否达成数据完整性,若达成数据完整性且达成没有被攻击共识则将节点值大于0的矿工节点值存入本地数据库中;若H(p)不等于终点值,则整个系统进行死锁宕机状态,并等待维护;
所述终点值为leader矿工节点产生的区块的哈希值。
2.根据权利要求1所述的一种基于区块链的DH密钥第三方篡改验证方法,其特征在于:所述将至少两个follow态矿工节点作为一组,进行数据传输中还经过了反馈机制,具体为:
将至少两个follow态矿工节点作为一组,进行数据传输,若数据传输超时则重新传输,若数据传输没有超时则继续传输。
3.根据权利要求2所述的一种基于区块链的DH密钥第三方篡改验证方法,其特征在于:矿工节点间的会话密钥,通过以下方式获得:
Ka=(Yb)2modp
Kb=(Ya)2modp
其中,Ya、Yb是DH密钥交换协议,a、b是随机数,mod为求余运算符号。
4.根据权利要求3所述的一种基于区块链的DH密钥第三方篡改验证方法,其特征在于:ga modp=Ya,gbmodp=Yb
5.根据权利要求4所述的一种基于区块链的DH密钥第三方篡改验证方法,其特征在于:所述达成数据完整性,通过以下方式判断:
首先,用户A给用户B编写一条消息,同时创建消息的hash值H(m);
然后,B接收到消息后再次计算消息的hash值H(n);
最后,判断H(m)是否等于H(n),H(m)等于H(n)则达成数据完整性。
6.一种基于区块链的DH密钥第三方篡改验证系统,其特征在于:所述系统包括:节点初始化模块、参数上链模块、矿工节点态转换模块、区块验证模块、hash值对比预警及更新模块;
所述节点初始化模块:将区块链网络中的所有矿工节点的状态值初始化为follow态,初始值设为0;
所述参数上链模块:随机选取一个素数p以及原根g,将p作为公钥,follow态矿工节点利用p和g对公钥p进行哈希运算获得H(p),然后对follow态矿工节点上链;
所述矿工节点态转换模块:首先,将至少两个follow态矿工节点作为一组,进行数据传输,按数据传输的时间顺序依次将矿工节点由follow态转换为candidate态;然后,判断当前时刻是否只有一组candidate态矿工节点,若只有一组candidate态矿工节点则当前组矿工节点由candidate态转换为leader态,其他candidate态矿工节点进入silent态,然后进入区块验证模块;若当前时刻同时有多组candidate态矿工节点,则重新进行数据传输,直至当前时刻只有一组candidate态矿工节点,则当前组矿工节点由candidate态转换为leader态,其他candidate态矿工节点进入silent态,然后进入区块验证模块;
所述区块验证模块:判断区块链网络中每个矿工节点记录的leader态矿工节点产生的区块数是否为f+1,若为f+1则进入hash值对比预警与更新模块;若不是f+1则将silent态的candidate态矿工节点唤醒,重新进行leader态矿工节点选举,然后重新进入区块验证模块,直至每个矿工节点记录的leader态矿工节点产生的区块数为f+1;
其中,f为预设的区块链网络中最多存在的故障节点数;
所述hash值对比预警与更新阶段模块:将参数上链模块获得的H(p)与终点值比较,若H(p)等于终点值,则达成没有被攻击共识,所有矿工节点根据记录的区块情况更新本地区块链,然后判断是否达成数据完整性,若达成数据完整性且达成没有被攻击共识则将节点值大于0的矿工节点值存入本地数据库中;若H(p)不等于终点值,则整个系统进行死锁宕机状态,并等待维护;
所述终点值为leader矿工节点产生的区块的哈希值。
7.根据权利要求6所述的一种基于区块链的DH密钥第三方篡改验证系统,其特征在于:所述将至少两个follow态矿工节点作为一组,进行数据传输中还经过了反馈机制,具体为:
将至少两个follow态矿工节点作为一组,进行数据传输,若数据传输超时则重新传输,若数据传输没有超时则继续传输。
8.根据权利要求7所述的一种基于区块链的DH密钥第三方篡改验证系统,其特征在于:矿工节点间的会话密钥,通过以下方式获得:
Ka=(Yb)2modp
Kb=(Ya)2modp
其中,Ya、Yb是DH密钥交换协议,a、b是随机数,mod为求余运算符号。
9.根据权利要求8所述的一种基于区块链的DH密钥第三方篡改验证系统,其特征在于:ga modp=Ya,gbmodp=Yb
10.根据权利要求9所述的一种基于区块链的DH密钥第三方篡改验证系统,其特征在于:所述达成数据完整性,通过以下方式判断:
首先,用户A给用户B编写一条消息,同时创建消息的hash值H(m);
然后,B接收到消息后再次计算消息的hash值H(n);
最后,判断H(m)是否等于H(n),H(m)等于H(n)则达成数据完整性。
CN202310184869.5A 2023-03-01 2023-03-01 一种基于区块链的dh密钥第三方篡改验证方法及系统 Active CN116192382B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310184869.5A CN116192382B (zh) 2023-03-01 2023-03-01 一种基于区块链的dh密钥第三方篡改验证方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310184869.5A CN116192382B (zh) 2023-03-01 2023-03-01 一种基于区块链的dh密钥第三方篡改验证方法及系统

Publications (2)

Publication Number Publication Date
CN116192382A true CN116192382A (zh) 2023-05-30
CN116192382B CN116192382B (zh) 2023-09-15

Family

ID=86438096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310184869.5A Active CN116192382B (zh) 2023-03-01 2023-03-01 一种基于区块链的dh密钥第三方篡改验证方法及系统

Country Status (1)

Country Link
CN (1) CN116192382B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019232789A1 (zh) * 2018-06-08 2019-12-12 北京大学深圳研究生院 一种基于投票的共识方法
CN110569675A (zh) * 2019-09-18 2019-12-13 上海海事大学 一种基于区块链技术的多Agent交易信息保护方法
CN112860807A (zh) * 2021-04-08 2021-05-28 山东大学 一种适用于无线区块链网络的容错共识方法
US20210185403A1 (en) * 2019-12-11 2021-06-17 Google Llc Methods, systems, and media for providing dynamic media sessions with audio stream expansion features
US20210234703A1 (en) * 2019-02-21 2021-07-29 Tencent Technology (Shenzhen) Company Limited Method for recording data block on blockchain, leader accounting node, and storage medium
CN113194502A (zh) * 2021-04-30 2021-07-30 哈尔滨工业大学 一种无人机集群的分布式中心选择和通信方法
CN114362930A (zh) * 2021-12-09 2022-04-15 重庆海尔制冷电器有限公司 区块链共识方法及计算机可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019232789A1 (zh) * 2018-06-08 2019-12-12 北京大学深圳研究生院 一种基于投票的共识方法
US20210234703A1 (en) * 2019-02-21 2021-07-29 Tencent Technology (Shenzhen) Company Limited Method for recording data block on blockchain, leader accounting node, and storage medium
CN110569675A (zh) * 2019-09-18 2019-12-13 上海海事大学 一种基于区块链技术的多Agent交易信息保护方法
US20210185403A1 (en) * 2019-12-11 2021-06-17 Google Llc Methods, systems, and media for providing dynamic media sessions with audio stream expansion features
CN112860807A (zh) * 2021-04-08 2021-05-28 山东大学 一种适用于无线区块链网络的容错共识方法
CN113194502A (zh) * 2021-04-30 2021-07-30 哈尔滨工业大学 一种无人机集群的分布式中心选择和通信方法
CN114362930A (zh) * 2021-12-09 2022-04-15 重庆海尔制冷电器有限公司 区块链共识方法及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王日宏;张立锋;周航;徐泉清;: "一种结合BLS签名的可拜占庭容错Raft算法", 应用科学学报, no. 01, pages 97 - 108 *

Also Published As

Publication number Publication date
CN116192382B (zh) 2023-09-15

Similar Documents

Publication Publication Date Title
TWI705690B (zh) 分布式網路中進行主節點變更的系統
CN109302405B (zh) 基于边缘计算的工业数据检测区块链网络系统及检测方法
CN108108967B (zh) 面向复杂数字资产的多阶段pbft共识系统及方法
CN112532581A (zh) 一种基于共识参与度和交易活跃度的改进pbft共识方法
CN111614468A (zh) 一种区块链共识方法及系统
CN109981690B (zh) 一种基于区块链智能合约的防篡改定时数据保密传输方法
CN114338040B (zh) 一种区块链节点的分组多链三次共识方法
CN116155507A (zh) 一种报文哈希链的构建方法
CN114745140B (zh) 基于聚合加密的城市规划领域区块链共识验证方法及系统
Na et al. A derivative PBFT blockchain consensus algorithm with dual primary nodes based on separation of powers-DPNPBFT
Sun et al. Research on distributed feeder automation communication based on XMPP and GOOSE
CN116192382B (zh) 一种基于区块链的dh密钥第三方篡改验证方法及系统
Chan et al. Efficient security primitives derived from a secure aggregation algorithm
CN114499874B (zh) 一种应用于工业互联网的拜占庭容错共识优化方法
CN113938491B (zh) 一种基于区块链技术的指令数据可溯源的防篡改方法和系统
CN112860807B (zh) 一种适用于无线区块链网络的容错共识方法
CN109150850A (zh) 一种基于私有区块链的电力企业非对称密钥分发管理工具
CN110443616B (zh) 基于随机门限签名机制的拜占庭容错共识方法
CN105245530B (zh) 一种信息安全传输代理系统
CN116862509B (zh) 主从多链架构下的主链树形快速共识系统及方法
CN113542285B (zh) 一种针对Tendermint共识协议的多阶段自动化的形式化验证方法
Wang et al. Defense against sybil attack in blockchain based on improved consensus algorithm
Fu et al. A New Network Intrusion Detection System based on Blockchain
CN116151826B (zh) 一种基于区块链的电力交易终端信任管理方法
Ying et al. LOPE: A Low‐Overhead Payment Verification Method for Blockchains

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
CB03 Change of inventor or designer information

Inventor after: Yuan Qi

Inventor after: Yuan Hao

Inventor after: Wen Jingjing

Inventor after: Zhou Meitong

Inventor after: Wang Yiping

Inventor after: Li Changrong

Inventor before: Yuan Qi

Inventor before: Yuan Shuai

Inventor before: Wen Jingjing

Inventor before: Zhou Meitong

Inventor before: Wang Yiping

Inventor before: Li Changrong

CB03 Change of inventor or designer information