技术领域
[0001] 本
发明涉及环境监测和信息安全领域,更具体地说,它涉及一种防篡改的数据记录格式的构建方法、数据采集装置。
背景技术
[0002] 一个
区块链是一个基于
比特币协议的不需要
许可的分布式
数据库,它维护了一个持续增长的不可被篡改和
修改的数据记录列表,即使对于数据库
节点的运营者们也是如此。区块链是一种去中心化的协议,由节点参与的分布式数据库系统,能安全存储数据,且信息透明不可篡改,可以自动执行
智能合约,无需任何中心化机构审核。
[0003] FPGA芯片是在PAL、GAL、CPLD等可编程器件的
基础上进一步发展的产物。它是作为专用集成
电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件
门电路数有限的缺点。
发明内容
[0004] 本发明提供一种防篡改的数据记录格式的构建方法、数据采集装置,解决数据采集装置的安全性问题,通过FPGA芯片与数据
传感器封装在一起,并在FPGA芯片上使用汇编
硬件描述语言编写代码,将FPGA芯片和其他硬件集成为一个FPGA模块,成为一种防篡改的数据采集装置及记录格式,并以此装置作为区块链的一个节点,并且此节点可向向全网其他节点广播。
[0005] 本发明的上述技术目的是通过以下技术方案得以实现的:
[0006] 一种防篡改的数据记录格式的构建方法,包括以下步骤:
[0007] S1:各类传感器与外界环境进行交互获取数据;
[0008] S2:将获取的数据传入数据预处理芯片,去除冗余错误数据;
[0009] S3:将S2处理后的数据传入FPGA芯片中的哈希模块,进行哈希运算;
[0010] S4:将得到的哈希结果加上公钥和前一区块的签名传入
算法模块;
[0011] S5:数据在算法模块中进行ECC加密计算,生成数据区块;
[0012] S6:将生成的数据区块写入内存中;
[0013] S7:将数据区块通过P2P协议上传至区块链中。
[0014] 在上述技术方案中,使用汇编语言或硬件描述语言编写代码;ECC运算是基于椭圆曲线数学理论实现的一种非对称加密算法,数据在算法模块中进行ECC加密计算,生成数据区块,该加密为不可逆加密,只有拿到这个节点的私钥才能解开;在生成区块链的过程中,数据采集节点被作为区块链的一个节点,此节点会将区块数据向全网广播。
[0015] 本方案流程为:去除噪声、处理缺失值、属性编码、数据标准化正则化、特征选择、主成分分析。根据这些方法处理其中不合理的数据,完成数据录入的第一步预处理。
[0016] 区块链会对采集的数据进行记录,以便可以追溯其全过程;其中,区块链的数据环环相扣,每个区块都将对应一长串哈希值,如果修改某个区块内容,那么后续区块内容就不再匹配,导致信息篡改作废。假设我们想篡改其中一个区块的信息,那么当前区的头哈希就会发生改变,由于哈希函数具有碰撞阻
力,改变后的头哈希将无法与其下一区块的父哈希相匹配,攻击者需要继续修改其下一区块的父哈希值,并一直修改之后每个区块。这要求攻击者在同一时间同时入侵所有参与记录的节点并篡改数据。
[0017] 区块链是一个分布式系统,所有监控节点都是相互独立的,这保证了上传进入区块链数据的无法篡改,即保证了采集数据的安全性和不可篡改性。
[0018] 作为一种优选方案,还包括以下步骤;
[0019] S8:将S7得到的区块链进行PBFT共识算法,使得区块链节点保持一致。
[0020] 在上述技术方案中,共识机制主要是用来维护区块链节点的一致性。每个装置节点在不出错的情况下都能参与其中,每个装置节点都拥有投票的权利,根据投票结果,每个装置节点都有机会选出超级节点A,新区块由节点A生成,发送所获得的数据给普通节点B,B验证自己提交的数据信息是否一致,再转发给其他节点。
[0021] 可以使用PBFT(拜占庭容错)共识算法,当有2/3的节点确认成功就是达成共识。
[0022] 作为一种优选方案,S5过程中,生成的数据区块中还加入了传输数据的时间戳。
[0023] 在上述技术方案中,时间戳可以追溯到此处数据的发送时间,防止有人篡改数据。
[0024] 一种防篡改的数据采集装置,基于上述的防篡改的数据记录格式的构建方法,包括顺次
信号连接的传感器
接口模块、数据预处理芯片和FPGA芯片。
[0025] 作为一种优选方案,FPGA芯片中包括IOB单元、内存模块、运算模块和哈希模块。
[0026] 一种防篡改的数据记录格式的架构模型,基于上述的防篡改的数据记录格式的构建方法,包括合约层、接口、共识层、网络层和数据层。
[0027] 作为一种优选方案,合约层包括脚本代码模块、算法机
制模块和智能合约模块。
[0028] 作为一种优选方案,网络层包括P2P网络模块、传播机制模块和验证机制模块。
[0029] 作为一种优选方案,数据层包括数据区块模块、链式结构模块、时间戳模块、哈希函数模块、Merkle树模块和非对称加密模块。
[0030] 一种防篡改的数据记录格式,基于上述的防篡改的数据记录格式的构建方法,得到的数据记录格式。
[0031] 综上所述,本发明具有以下有益效果:
[0032] (1)本发明提供的一种防篡改的数据采集装置及记录格式的构建方法能够解决数据采集装置的安全性问题;
[0033] (2)本发明提供的一种防篡改的数据采集装置及记录格式的构建方法中,传感器从周围环境获取实时数据传入FPGA模块;
[0034] (3)本发明提供的一种防篡改的数据采集装置及记录格式的构建方法能够在FPGA中将数据打包成数据区块;
[0035] (4)本发明提供的一种防篡改的数据采集装置及记录格式的构建方法中,数据区块通过P2P网络上链获得共识。
附图说明
[0036] 图1是本发明
实施例的一种防篡改的数据采集装置的结构示意图;
[0037] 图2是本发明实施例的防篡改的数据记录格式的架构模型的结构示意图;
[0038] 图3是本发明实施例的数据采集装置所生成区块的区块数据结构图。
具体实施方式
[0039] 以下结合附图对本发明作进一步详细说明。
[0040] 实施例1:
[0041] 一种防篡改的数据记录格式的构建方法,包括以下步骤:
[0042] S1:各类传感器与外界环境进行交互获取数据;
[0043] S2:将获取的数据传入数据预处理芯片,去除冗余错误数据;
[0044] S3:将S2处理后的数据传入FPGA芯片中的哈希模块,进行哈希运算;
[0045] S4:将得到的哈希结果加上公钥和前一区块的签名传入算法模块;
[0046] S5:数据在算法模块中进行ECC加密计算,生成数据区块;
[0047] S6:将生成的数据区块写入内存中;
[0048] S7:将数据区块通过P2P协议上传至区块链中。
[0049] 在实施例1中,使用汇编语言或硬件描述语言编写代码;数据在算法模块中进行ECC加密计算,生成数据区块,该加密为不可逆加密,只有拿到这个节点的私钥才能解开;在生成区块链的过程中,数据采集节点被作为区块链的一个节点,此节点会将区块数据向全网广播。
[0050] 区块链会对采集的数据进行记录,以便可以追溯其全过程;其中,区块链的数据环环相扣,每个每个区块都将对应一长串哈希值,如果修改某个区块内容,那么后续区块内容就不再匹配,导致信息篡改作废。假设我们想篡改其中一个区块的信息,那么当前区的头哈希就会发生改变,由于哈希函数具有碰撞阻力,改变后的头哈希将无法与其下一区块的父哈希相匹配,攻击者需要继续修改其下一区块的父哈希值,并一直修改之后每个区块。这要求攻击者在同一时间同时入侵所有参与记录的节点并篡改数据。
[0051] 区块链是一个分布式系统,所有监控节点都是相互独立的,这保证了上传进入区块链数据的无法篡改,即保证了采集数据的安全性和不可篡改性。
[0052] 作为一种优选实施例,还包括以下步骤;
[0053] S8:将S7得到的区块链进行PBFT共识算法,使得区块链节点保持一致。
[0054] 在上述优选实施例中,共识机制主要是用来维护区块链节点的一致性。每个装置节点在不出错的情况下都能参与其中,每个装置节点都拥有投票的权利,根据投票结果,每个装置节点都有机会选出超级节点A,新区块由节点A生成,发送所获得的数据给普通节点B,B验证自己提交的数据信息是否一致,再转发给其他节点。
[0055] 可以使用PBFT(拜占庭容错)共识算法,当有2/3的节点确认成功就是达成共识。
[0056] 作为一种优选实施例,S5过程中,生成的数据区块中还加入了传输数据的时间戳。
[0057] 在上述优选实施例中,时间戳可以追溯到此处数据的发送时间,防止有人篡改数据。
[0058] 实施例2:
[0059] 一种防篡改的数据采集装置,基于上述的防篡改的数据记录格式的构建方法,包括顺次信号连接的传感器接口模块、数据预处理芯片和FPGA芯片。
[0060] 作为一种优选实施例,FPGA芯片中包括IOB单元、内存模块、运算模块和哈希模块。
[0061] 在实施例2中,一种防篡改的数据采集装置所拥有的完整功能应该有接受环境中数据的功能、数据预处理功能、安全传输数据功能、完整区块链和路由功能。主要包含三个模块:传感器处理模块、预处理模块和FPGA模块。图1提供一种具体应用领域的防篡改的数据采集装置,以图1为例,对本实施例进行进一步说明:
[0062] 传感器处理模块,相当于传感器接口模块:拥有接受境中数据的功能,包括各类传感器从周围环境中收集数据。
[0063] 预处理模块:拥有数据预处理功能,数据预处理芯片对收集到的数据进行预先处理。
[0064] FPGA模块:拥有安全传输数据、完整区块链和路由功能;安全传输数据功能保证所有数据能安全可靠地录入区块中;完整区块链,记录了所有历史录入数据,并且通过特殊结构保证历史录入的安全性,还可以用来验证新录入数据的合法性。路由功能是把其他节点的提交数据及验证结果等信息传送给更多的节点。
[0065] 具体通过接口来传递传感器所输入的信息和每个节点提交的信息;所提交的信息生成的数据区块具有相应的格式。区块由
区块头和区块体组成。区块头包含区块相关的控制信息,区块体包含具体的事务数据。区块数据主要包括以下几种数据元:a)区块高度;b)区块标识;c)版本信息;d)前一区块
摘要值;e)默克尔树根;f)区块时间戳;g)区块随机数;h)难度系数;i)事务列表。
[0066] 实施例3:
[0067] 一种防篡改的数据记录格式的架构模型,基于上述的防篡改的数据记录格式的构建方法,包括合约层、接口、共识层、网络层和数据层。
[0068] 作为一种优选实施例,合约层包括脚本代码模块、算法机制模块和智能合约模块。
[0069] 作为一种优选实施例,网络层包括P2P网络模块、传播机制模块和验证机制模块。
[0070] 作为一种优选实施例,数据层包括数据区块模块、链式结构模块、时间戳模块、哈希函数模块、Merkle树模块和非对称加密模块。
[0071] 参照图2,对实施例3进行进一步说明:
[0072] 构建的防篡改的数据记录格式的架构模型中,包括链上代码的智能合约,还有接口来接受提交的数据、公私钥同步和投票确认广播等。共识层的确认节点投票,网络层的P2P传播,以及数据层的存储方式。
[0073] 链上代码的智能合约:保障该采集装置及记录格式正常运行的合约代码。
[0074] 接口:接受传感器收集数据的接口、投票接口、广播接口等。
[0075] 共识层:PBFT(拜占庭容错)共识机制。保证整个采集装置及记录格式的数据一致性。
[0076] 网络层:P2P网络、传播机制。各个采集装置节点之间相互交换信息,确认后转发出去。
[0077] 数据层:区块数据、同构链式结构、梅克尔树、非对称加密、数字签名以及哈希函数。保存着每次通过确认的采集装置节点所提交的数据。
[0078] 结合图3,对区块数据结构进行说明:
[0079] 生成的数据区块中区块头包含了前向区块哈希、默克尔
根哈希、时间戳、难度目标、Nonce值和版本号等。
[0080] 区块主体:包换数据采集装置及记录格式采集和采集的数据。
[0081] 物理ID:该数据采集装置及记录格式的物理编号。
[0082] 逻辑ID:该数据采集装置及记录格式生成的数据区块在区块链中的编号。
[0083] 物理地址:该采集装置在现实环境中的物理
定位。
[0084] 区块链生成时间戳:生成该区块的实时时间。
[0085] 数据签名:该区块生成的公钥私钥。
[0086] 版本号:生成该区块的版本号。
[0087] 区块高度:该区块的高度。
[0088] 区块hash:该区块生成的hash值。
[0089] 区块记录次数:该区块所记录数据量。
[0090] 随机数:该区块生成的随机数,用于计算hash值。
[0091] 实施例4:一种防篡改的数据记录格式,基于上述的防篡改的数据记录格式的构建方法,得到的数据记录格式。
[0092] 节点提交数据区块后,再在共识时间内由有节点选出提议节点,并确认自己提交数据,由接口来广播给其他节点,直到共识时间完并且得到了2/3确认,就由提议节点生成新区块来记录提交的数据,完成数据的采集和上链。
[0093] 本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本
说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的
权利要求范围内都受到
专利法的保护。