一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

城市规划领域区块链节点合法性验证方法及系统与流程

2022-07-17 00:39:00 来源:中国专利 TAG:


1.本发明属于区块链技术领域,特别是涉及到一种城市规划领域区块链节点合法性验证方法及系统。


背景技术:

2.区块链就是一个又一个区块组成的链条。每一个区块中保存了一定的信息,按照各自产生的时间顺序连接成链条。这个链条被保存在所有的服务器中,只要整个系统中有一台服务器可以工作,整条区块链就是安全的。这些服务器在区块链系统中被称为节点,节点为整个区块链系统提供存储空间和算力支持。如果要修改区块链中的信息,必须征得半数以上节点的同意并修改所有节点中的信息,而这些节点通常掌握在不同的主体手中,因此篡改区块链中的信息是一件极其困难的事。相比于传统的网络,区块链具有两大核心特点:一是数据难以篡改、二是去中心化。基于这两个特点,区块链所记录的信息更加真实可靠,可以帮助解决人们互不信任的问题。
3.传统区块链的应用环境是在开放网络环境中应用,然后通过对区块实施的安全机制来保证安全。区块链主要依靠加密技术来保障数据的安全。而加密散哈希函数则是该技术的关键。
4.因此,区块链技术中,往往对参与节点的安全性不做更多要求。
5.但是,在城市规划领域,由于不仅对数据安全性有要求,对参与节点的安全性也有要求。有些要求都已经固化到业务准则里。因此,现有的对节点安全不做要求的区块链技术存在安全隐患,而且无法满足行业要求。


技术实现要素:

6.本发明提出一种城市规划领域区块链节点合法性验证方法及系统,通过硬件安全设备与现有的区块链安全机制结合,不仅能够适配现有的区块链技术,还能够增加节点安全性。
7.为达到上述目的,本发明的技术方案是这样实现的:一种城市规划领域区块链节点合法性验证方法,包括:城市规划领域区块链网络中的每个区块链节点都是城市规划单位直接控制的节点,每个区块链节点都与一个硬件安全设备连接,所述硬件安全设备包括线性反馈移位寄存器;业务发起节点将业务id、线性反馈移位寄存器的寄存器初始值、寄存器抽头值传输给其他节点,其他节点将自己节点的线性反馈移位寄存器的当前寄存器值设置为所述寄存器初始值;区块发布节点发布新区块包括业务id和当前寄存器值;新区块发布后,区块发布节点执行本节点的线性反馈移位寄存器的移位操作,并更新本节点的当前寄存器值;其他节点收到新区块后,将新区块中的当前寄存器值与本节点的当前寄存器值进
行比较,相同则获取新区块中业务数据;同时执行本节点的线性反馈移位寄存器的移位操作,并更新本节点的当前寄存器值。
8.进一步的,所述区块链节点产生业务数据时以本节点当前寄存器值作为密钥种子进行加密,并将业务数据密文进行发布;区块发布节点合并业务数据密文作为新区块发布;其他节点收到新区块后,在当前寄存器值比较相同时,以当前寄存器值作为密钥种子对业务数据密文进行解密从而获取业务数据。
9.更进一步的,所述加密和解密的过程,包括根据所有节点事先约定的密钥生成算法以及根据密钥种子生成密钥,根据事先约定的加密/解密方法利用所述密钥对业务数据进行加密/解密。
10.进一步的,所述区块发布节点发布新区块还包括本区块id和前区块id,所述本区块id是由区块发布节点对新区块中数据内容部分的区块体执行哈希运算获得。
11.进一步的,若存在多个区块链任务,则所有节点都保存有一个对应表,保存业务id与当前寄存器值和寄存器抽头值的对应关系;各节点将新获得的业务id与当前寄存器值和寄存器抽头值的对应关系添加到所述对应表中;区块发布节点发布新区块时根据业务id,通过查找对应表获得该业务id对应的当前寄存器值;发布新区块后将业务id对应的当前寄存器值和寄存器抽头值写入寄存器,然后执行线性反馈移位寄存器的移位操作,将获得寄存器输出值更新为当前寄存器值写入对应表;其他节点接收到新区块后,根据业务id通过查询对应表获得当前寄存器值,与新区块中获得当前寄存器值进行比较;获取新区块中的业务数据后,将业务id对应的当前寄存器值和寄存器抽头值写入寄存器,然后执行线性反馈移位寄存器的移位操作,将获得寄存器输出值更新为当前寄存器值写入对应表。
12.本发明另一方面还提出了一种城市规划领域区块链节点合法性验证系统,包括:区块链节点模块,城市规划领域区块链网络中的每个区块链节点都是城市规划单位直接控制的节点,每个区块链节点都与一个硬件安全设备连接,所述硬件安全设备包括线性反馈移位寄存器;业务发起模块,用于业务发起节点将业务id、线性反馈移位寄存器的寄存器初始值、寄存器抽头值传输给其他节点,其他节点将自己节点的线性反馈移位寄存器的当前寄存器值设置为所述寄存器初始值;区块发布模块,用于区块发布节点发布新区块包括业务id和当前寄存器值;新区块发布后,区块发布节点执行本节点的线性反馈移位寄存器的移位操作,并更新本节点的当前寄存器值;数据更新模块,用于其他节点收到新区块后,将新区块中的当前寄存器值与本节点的当前寄存器值进行比较,相同则获取新区块中业务数据;同时执行本节点的线性反馈移位寄存器的移位操作,并更新本节点的当前寄存器值。
13.进一步的,还包括加密解密模块,用于所述区块链节点产生业务数据时以本节点当前寄存器值作为密钥种子进行加密,并将业务数据密文进行发布;区块发布节点合并业务数据密文作为新区块发布;其他节点收到新区块后,在当前寄存器值比较相同时,以当前寄存器值作为密钥种子对业务数据密文进行解密从而获取业务数据。
14.更进一步的,所述加密解密模块中加密和解密的过程,包括根据所有节点事先约定的密钥生成算法以及根据密钥种子生成密钥,根据事先约定的加密/解密方法利用所述密钥对业务数据进行加密/解密。
15.进一步的,还包括区块id模块,用于所述区块发布节点发布新区块还包括本区块id和前区块id,所述本区块id是由区块发布节点对新区块中数据内容部分的区块体执行哈希运算获得。
16.进一步的,还包括对应表模块,用于若存在多个区块链任务,则所有节点都保存有一个对应表,保存业务id与当前寄存器值和寄存器抽头值的对应关系;各节点将新获得的业务id与当前寄存器值和寄存器抽头值的对应关系添加到所述对应表中;区块发布节点发布新区块时根据业务id,通过查找对应表获得该业务id对应的当前寄存器值;发布新区块后将业务id对应的当前寄存器值和寄存器抽头值写入寄存器,然后执行线性反馈移位寄存器的移位操作,将获得寄存器输出值更新为当前寄存器值写入对应表;其他节点接收到新区块后,根据业务id通过查询对应表获得当前寄存器值,与新区块中获得当前寄存器值进行比较;获取新区块中的业务数据后,将业务id对应的当前寄存器值和寄存器抽头值写入寄存器,然后执行线性反馈移位寄存器的移位操作,将获得寄存器输出值更新为当前寄存器值写入对应表。
17.与现有技术相比,本发明具有如下的有益效果:(1)本发明将区块链节点连接包括线性反馈移位寄存器的硬件安全设备,通过硬件安全设备与现有的区块链安全机制结合,不仅能够适配现有的区块链技术,还能够增加节点安全性;当前寄存器值是由硬件产生的,相对比较安全,不易被非法节点获取,因此,参与节点通过对比当前寄存器值可以有效的鉴别身份,从数据生产者这个源头上就形成鉴权,防止非法节点生成非法的区块;(2)本发明以当前寄存器值作为密钥种子,对业务数据进行加密;当前寄存器值是由硬件产生的,相对比较安全,不易被非法节点获取,更保证了业务数据密文的安全性;(3)本发明通过设置对应表,实现了城市规划领域多区块链业务并行时的节点合法性验证方案,满足多业务场景下对节点的安全性要求。
附图说明
18.图1是本发明实施例一的流程示意图;图2是本发明实施例二的流程示意图。
具体实施方式
19.需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
20.为使本发明专利的目的、特征更明显易懂,下面结合附图对本发明专利的具体实施方式作进一步的说明。需说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用以方便、明晰地辅助说明本发明专利实施例的目的。
21.本发明的核心思路是通过硬件安全设备与现有的区块链安全机制结合,不仅能够适配现有的区块链技术,还能够增加节点安全性。
22.城市规划领域的数据业务特点是,参与节点数量一般较少,而且一般节点都是非移动设备,配置有管理人员。
23.因此,低成本硬件设备是参与城市规划领域安全机制的良好选择。
24.以线性反馈移位寄存器为主要部件的硬件安全设备,成本低,安全性高。
25.线性反馈移位寄存器(linear feedback shift register,lfsr)是通常由动态或静态主从型触发器构成。反馈回路由异或门构成。其特性通常由一个特征多项式表征。这种电路的特点是结构简单,它的上限移位速度取决于移位单元的延迟时间和二输入异或门的延迟时间,因此,能获得较高的速度。线性反馈移位寄存器中的移位单元是由主一从型边沿触发器构成的。在这种结构的移位单元中,主从两极锁存器在两相不交叠时钟的控制下,使数据在时钟上升沿被采样,并一直保持到下一个时钟上升沿。电路中四个移位单元都是由动态主从边沿型触发器构成的,每次移位的操作都需要数据串行依次经过两级锁存器。
26.赋给寄存器的初始值叫做“种子”,因为线性反馈移位寄存器的运算是确定性的,所以,由寄存器所生成的数据流完全决定于寄存器当时或者之前的状态。而且,由于寄存器的状态是有限的,它最终肯定会是一个重复的循环。然而,通过本原多项式,线性反馈移位寄存器可以生成看起来是随机的且循环周期非常长的序列。移位寄存器结构简单,运行速度快,实用的密钥流产生器大多基于移位寄存器,移位寄存器理论也成了现代流密码体制的基础。
27.本发明结合了线性反馈移位寄存器和区块链各自的特点,设置了适用于城市规划领域的区块链节点合法性验证方法,其中,区块链网络中包括多个区块链节点,每个区块链节点都是城市规划单位直接控制的节点,每个节点与一个硬件安全设备连接,连接方式可以是蓝牙或usb等近距离连接方式,硬件安全设备包括一个线性反馈移位寄存器。下面实施例中所述寄存器即是指各节点自身所连接的线性反馈移位寄存器。
28.实施例一:如图1所示,包括:步骤1:当业务发起节点启动一项业务时,被分配有一个业务id;步骤2:业务发起节点将业务id,寄存器初始值,寄存器抽头值通过保密通信或普通通信方式传输给其他所有节点;并将当前寄存器值设置为寄存器初始值;步骤3:其他所有节点接收到业务id,寄存器初始值,寄存器抽头值后,将当前寄存器值设置为寄存器初始值;步骤4:任意一个节点,产生一条业务数据时,生成一个数据包,至少包括:业务id,业务数据密文。该业务数据密文的生成方式如下:将当前寄存器值作为密钥种子,根据所有节点事先约定的密钥生成算法根据该密钥种子生成密钥,并根据事先约定的加密方法利用该密钥对业务数据明文加密;步骤5:产生业务数据的节点对全网广播该数据包,所有节点接收到数据包以后,保存到业务数据存储区中;步骤6:当某个节点发现某个业务id所对应的业务数据数量符合成块条件时,该节点成为区块发布节点,合并这些业务数据密文作为数据内容,成为区块链新区块的区块体;步骤7:区块发布节点对新区块的区块体执行哈希运算,获得本区块id;步骤8:区块发布节点设置区块头,至少包括:前区块id,业务id,本区块id,当前寄
存器值;步骤9:区块发布节点将区块头和区块体组合成新区块,全网广播,然后执行线性反馈移位寄存器的移位操作,并更新当前寄存器值;步骤10:其他节点接收到该区块后,获取区块头中的当前寄存器值与自身保存的当前寄存器值进行比较,如果不同则抛弃该区块,结束流程;如果相同,则对该区块进行确认,并获取区块体,以当前寄存器值作为密钥种子,根据所有节点事先约定的密钥生成算法根据该密钥种子生成密钥,并根据事先约定的解密方法利用该密钥对业务数据密文解密,从而获得业务数据,并删除存储区中对应的业务数据;步骤11:执行线性反馈移位寄存器的移位操作,并更新当前寄存器值。
29.上述流程中,由于当前寄存器值是由硬件产生的,相对比较安全,不易被非法节点获取,因此,参与节点通过对比当前寄存器值可以有效的鉴别身份,从数据生产者这个源头上就形成鉴权,防止非法节点生成非法的区块。
30.实施例二:实施例二是出于对城市规划领域多业务并行的场景考虑,进一步提出的针对多业务的区块链节点合法性验证方法。如图2所示,包括:步骤1:当业务发起节点启动一项业务时,被分配有一个业务id;步骤2:业务发起节点将业务id,寄存器初始值,寄存器抽头值通过保密通信或普通通信方式传输给其他所有节点;并将当前寄存器值设置为寄存器初始值;步骤3:其他所有节点接收到业务id,寄存器初始值,寄存器抽头值后,将当前寄存器值设置为寄存器初始值。
31.步骤4:所有节点保存有一个业务id与当前寄存器值和寄存器抽头值对应关系的对应表,并将新获得的业务id与寄存器值和寄存器抽头值的对应关系添加到对应表中;步骤5:任意一个节点,产生一条业务数据时,生成一个数据包,至少包括:业务id,业务数据密文。该业务数据密文的生成方式如下:将当前寄存器值作为密钥种子,根据所有节点事先约定的密钥生成算法根据该密钥种子生成密钥,并根据事先约定的加密方法利用该密钥对业务数据明文加密。
32.步骤6:产生业务数据的节点全网广播该数据包,所有节点接收到数据包以后,保存到业务数据存储区中;步骤7:当某个节点发现某个业务id所对应的业务数据数量符合成块条件时,该节点成为区块发布节点,合并这些业务数据密文作为数据内容,成为区块链新区块的区块体;步骤8:区块发布节点对区块体执行哈希运算,获得本区块id;步骤9:区块发布节点根据业务id,通过查找对应表获得该业务id对应的当前寄存器值;步骤10:区块发布节点设置区块头,至少包括:前区块id,业务id,本区块id,当前寄存器值;步骤11:区块发布节点将区块头和区块体组合成新区块,进行发布,全网广播;步骤12:区块发布节点将业务id对应的当前寄存器值和寄存器抽头值写入寄存器,然后执行线性反馈移位寄存器的移位操作,将获得寄存器输出值更新为当前寄存器值写入对应表;
步骤13:其他节点接收到新区块后,获取区块头中的当前寄存器值和业务id;步骤14:根据业务id通过查询对应表获得当前寄存器值,与区块头中获得当前寄存器值进行比较,如果不同则抛弃该区块,结束流程;如果相同,则对该区块进行确认,并获取区块体,以当前寄存器值作为密钥种子,根据所有节点事先约定的密钥生成算法根据该密钥种子生成密钥,并根据事先约定的解密方法利用该密钥对业务数据密文解密,从而获得业务数据,并删除存储区中对应的业务数据。
33.步骤15:将业务id对应的当前寄存器值和寄存器抽头值写入寄存器,然后执行线性反馈移位寄存器的移位操作,将获得寄存器输出值更新为当前寄存器值写入对应表。
34.实施例二通过在节点内部设置对应表来将业务id与寄存器初始值和寄存器抽头值对应,从而可以实现多业务的并行处理。
35.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献