CN114760066A - 一种时序数据分片双链认证方法与装置 - Google Patents
一种时序数据分片双链认证方法与装置 Download PDFInfo
- Publication number
- CN114760066A CN114760066A CN202210311891.7A CN202210311891A CN114760066A CN 114760066 A CN114760066 A CN 114760066A CN 202210311891 A CN202210311891 A CN 202210311891A CN 114760066 A CN114760066 A CN 114760066A
- Authority
- CN
- China
- Prior art keywords
- module
- chain
- block
- sensing
- storage
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 involving digital signatures
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)
- Storage Device Security (AREA)
Abstract
本发明公开一种时序数据分片双链认证方法与装置,通过传感器的时序数据进行分片整理减少传感链的认证次数,使用低计算量的传感链对传感器的数据进行初次认证与同时对时序数据检查,最终使用高计算量的难串改的认证链对传感链进行认证,达到对传感器的时序数据进行可靠的防篡改认证。
Description
技术领域
本发明涉及时序数据管理领域,具体涉及一种时序数据分片双链认证方法与装置。
背景技术
时序数据是指时间序列数据,是按时间顺序记录的数据列,在同一数据列中的各个数据必须是同口径的,要求具有可比性,时序数据可以是时期数,也可以时点数,随着互联网技术的蓬勃发展,工业企业为了监测设备、生产线以及整个系统的运行状态,在各个关键点都配有传感器采集各种数据,这些数据是周期或准周期产生的,这些采集的数据一般会发送至服务器,进行汇总并实时处理,对系统的运行做出实时监测或预警;
传感器的时序数据的存储频率高且数量多,传统单链认证效率不足,因此需要一种方法解决高频与高点位的传感器的数据认证。
发明内容
本发明的目的在于提供一种时序数据分片双链认证方法与装置,实现对传感器的时序数据进行可靠的防篡改认证,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种时序数据分片双链认证装置,包括传感器1,采集节点的切片采集模块2,聚合模块3,分片打包模块4,传感分片存储模块10,传感链节点的传感链执行模块6,传感链地址生成模块7,传感链打包模块8,传感链验证模块11,传感链存储模块12,认证链节点的认证链执行模块13,认证链地址生成模块14,认证链打包模块15,认证链验证模块16和认证链存储模块17;
传感器1:传感器数据源产生模块,代表不同采样类和采样周期的传感器,传感器1按照周期产生数据,传感器1把产生数据发送切片采集模块2;
切片采集模块2:接收多个传感器1的周期性采样数据,按照存储分片策略生成存储分片,切片采集模块2将切片数据发送聚合模块3和分片打包模块4,切片采集模块2把每一切片组的相近或相同采集类型的传感器归为同一存储线,切片采集模块2为不同存储组分配不同存储块,切片采集模块2存储块按照存储线进行分页得到存储页,切片采集模块2把接收到同存储组和相同采集的传感器存储在一个存储页,切片采集模块2根据传感链区块生成周期,把所有存储组的存储块都发送给分片打包模块4和聚合模块3;
聚合模块3:聚合模块3接收切片采集模块2存储块进行聚合处理,用于分片打包模块4压缩重复数据或无效数据,聚合模块3取出存储块的一个存储页,对存储页的所有数据取平均值得到该存储块的该类型传感器的均值,对存储页的所有数据取最大值得该类型传感器的最大值,对同一传感器的所有数据取最小值得该类型传感器的最小值,聚合模块3存储块的所有存储页的最大值/最小值/均值发送给分片打包模块4;
分片打包模块4:分片打包模块4接收切片采集模块2发送的存储块并进行分片打包,分片打包模块4接收聚合模块3存储块的所有存储页的最大值/最小值/均值,和分片打包模块4的存储组的存储块对应存储页的最大值/最小值/均值进行距离计算,对应最大值/最小值/均值相减,取平方,相加再取开方得到存储页的变化距离值,判断变化距离值是否小于阀值,如果小于阀值则该存储组的该类型传感器变化量小和数据冗余,存储块删除该存储页,分片打包模块4把接收的所有存储块打包成一个分片数据,对该分片数据进行国密SM3的哈希处理,得到256比特分片哈希值,使用分片打包模块4对256比特分片哈希值使用采集私钥的SM2加密得到签名,分片打包模块4将签名、分片数据和公钥地址发送给传感分片存储模块10,传感分片存储模块10存储后返回分片打包模块4生成分片存储地址,分片打包模块4生成分片的传感器索引:所有传感器地址和该传感器在分片数据的位置偏移,传感器地址为该传感器的唯一标识,分片打包模块4把传感器地址、传感器索引、分片存储地址、所有存储页的最大值/最小值/均值和当前时戳打包为分片元数据提交信息,分片打包模块4对分片元数据提交信息进行国密SM3的哈希处理,得到分片元数据提交信息的哈希值,分片打包模块4使用采集私钥的SM2加密得到分片元数据提交信息的签名,分片打包模块4把分片元数据提交信息、分片元数据提交信息的签名和采集公钥提交给传感链执行模块6;
传感链执行模块6:传感链节点的传感链执行模块6接收分片打包模块4发送的分片元数据提交信息、分片元数据提交信息的签名和采集公钥,传感链执行模块6对分片提交信息使用国密SM3的哈希处理,得到分片元数据提交信息的哈希值,传感链执行模块6对分片元数据提交信息的签名使用采集公钥解密得到解密值,判断解密值与分片元数据提交信息的哈希值是否相同,如果不相同,则拒绝该请求,如果相同传感链执行模块6则对采集公钥进行国密SM3的哈希处理得到采集地址,传感链执行模块6从认证链存储模块16查询采集地址是否具有采集权限,如果没有权限,则无权限拒绝该请求,传感链执行模块6等传感链地址生成模块7生成新区块地址,传感链执行模块6接收到传感链地址生成模块7的新区块地址,传感链执行模块6将接收到的所有的采集地址、分片元数据提交信息和新区块地址提交给传感链打包模块8;
传感链地址生成模块7:传感链地址生成模块7生成传感链的新区块地址,传感链地址生成模块7根据节点地址查找认证链存储模块16获取传感链节点的能力值,传感链地址生成模块7能力值越高,计算传感链的新区块地址难度越低,传感链地址生成模块7计算该传感链节点的难度值,传感链节点的难度值除以传感链节点的能力值,节点地址为传感链节点的唯一标识,节点地址在传感链和认证链共用,传感链节点的公钥进行国密SM3哈希生成节点地址,使用认证链保存传感链节点的能力值,利用认证链难创新的特性来保证传感链地址生成的安全性,传感链地址生成模块7生成传感链新区块地址后通知传感链执行模块6;
传感链打包模块8:传感链打包模块8接收传感链执行模块6的采集地址和分片元数据提交信息以及新区块地址,传感链打包模块8对传感器所有记录、传感器地址、传感器索引、分片存储地址、所有存储页的最大值/最小值/均值、时戳和采集地址进行打包,合并成一个区块内容,区块内容包含所有传感器新增记录,传感链打包模块8对区块内容进行国密SM3的哈希处理得到区块内容的哈希值,传感链打包模块8将区块内容的哈希值、新区块地址、上个区块地址和其区块内容哈希值、传感链节点地址、传感链节点的能力值作为区块头部,区块头部和区块内容合并为区块同步信息,传感链打包模块8对区块同步信息进行国密SM3进行哈希计算得到区块同步信息的哈希值,传感子链区块的传感器打包模块8对区块同步信息的哈希值使用节点私钥国密SM2加密得到签名信息,传感链打包模块8把区块同步信息、签名信息和节点公钥发送给其他传感链节点的传感链验证模块11,当传感链打包模块8接收到过半传感链节点反馈成功时,传感链打包模块8把区块头部和区块内容写入传感链存储模块12;
传感分片存储模块10:传感器数据的存储模块,传感分片存储模块10接收分片打包模块4的签名、分片数据和采集公钥,传感分片存储模块10使用采集公钥对签名进行国密SM2解密得到字符串A,传感分片存储模块10对分片数据进行国密SM3哈希计算得到哈希值B,如果字符串A和哈希值B不相同则拒绝该请求.传感分片存储模块10对分片数据做持久化保存,并使用分片数据的哈希值B作为存储地址返回给分片打包模块4,用于传感链验证模块11后续查询;
传感链验证模块11:接收传感链打包模块8的区块同步信息、签名信息和节点公钥,传感链验证模块11区块同步信息进行国密SM3哈希计算得到区块同步信息的哈希值A,传感链验证模块11对节点公钥进行国密SM3哈希计算得到节点地址,传感链验证模块11从区块同步信息中获取传感链节点地址,与计算得到的节点地址进行比较,如果不相同则拒绝该请求,传感链验证模块11根据传感链节点地址从认证链存储模块16获取该节点地址的能力值N,传感链验证模块11使用节点公钥对签名信息进行国密SM2解密得到解密字符串B,判断解密字符串B是否与区块同步信息的哈希值A相同,如果不相同则拒绝该请求,传感链验证模块11从区块同步信息获取能力值A,将其与能力值N比较,如果能力值N小于能力值A则拒绝该请求,传感链验证模块11获取传感子链上一个区块的区块地址和区块内容哈希值,和区块同步信息的上一个区块的区块地址和区块内容哈希值比较,如不相同则拒绝该请求,传感链验证模块11使用上一个区块的区块地址、区块内容哈希值和区块同步信息的新区块地址进行国密SM3哈希计算得到哈希值K,传感链验证模块11计算传感链节点的难度值,传感链节点的难度值为传感链的能力值除以能力值A,判断当哈希值K小于等于该传感链节点的难度值的倒数时,哈希值K作为数值小数部分,如果大于则拒绝该请求,传感链验证模块11对区块内容的传感器采用随机算法抽取传感器,在区块内容中取出该传感器的传感器索引和分片存储地址、最大值/最小值/均值,传感链验证模块11根据分片存储地址从传感分片存储模块10取出存储块,根据传感器索引找到该传感器的存储页,对存储页的所有数据取平均值得该存储块的该类型传感器的均值,对存储页的所有数据取最大值得该类型传感器的的最大值,对同一传感器的所有数据取最小值得该类型传感器的最小值,传感链验证模块11将区块内容的最大值/最小值/均值和计算出最大值/最小值/均值比较,如不相同,则拒绝该请求,如相同,传感链验证模块11则向传感链打包模块8返回成功,同时把区块头部和区块内容写入传感链存储模块12;
传感链存储模块12:传感链存储模块12接收传感链验证模块11和传感链打包模块8的区块头部和区块内容,进行链式存储,把新区块接到原有证据区块链上,当传感链存储模块12的新增加区块个数大于阀值K时,传感链存储模块12把新增区块头部作为提交信息,传感链存储模块12对提交信息进行国密SM3哈希计算得到哈希值,传感链存储模块12把哈希值使用节点私钥国密SM2加密得到签名信息,传感链存储模块12把提交信息和签名发送给认证链执行模块13;
认证链执行模块13:认证链执行模块13接收到传感链存储模块12提交信息和签名,认证链执行模块13根据提交信息中的公钥,认证链执行模块13使用公钥对签名信息进行国密SM2解密得到字符串A,认证链执行模块13对提交信息进行国密SM3哈希处理得到哈希串B,判断字符串A和哈希串B是否相等,不相同则拒绝该请求,相同则继续处理,认证链执行模块13从认证链存储模块16使用国密SM3对公钥进行哈希处理得到节点地址,认证链执行模块13根据节点地址查询到认证链存储模块16的节点能力值,认证链执行模块13接收其他节点传感链存储模块12提交新增区块头部与签名信息,把符合节点能力值相加,直到大于阀值,即认证链执行模块13符合条件,认证链执行模块13等待认证链地址生成模块14生成区块地址,认证链执行模块13把区块地址和提交信息提交给认证链打包模块15;
认证链地址生成模块14:认证链地址生成模块14把新区块地址返回给认证链执行模块13;
认证链打包模块15:认证链打包模块15接收认证链执行模块13的采集地址、提交信息和新区块地址,认证链打包模块15对提交信息进行打包,包含所有传感链新增区块信息,认证链打包模块15对区块内容进行国密SM3的哈希处理,区块内容的哈希值,认证链打包模块15把节点地址、区块内容的哈希值、新区块地址、上个区块地址和区块头部和区块内容合并为区块同步信息,认证链打包模块15对区块同步信息进行国密SM3哈希计算得到区块同步信息的哈希值,认证链打包模块15对区块同步信息的哈希值使用节点私钥国密SM2加密得到签名信息,认证链打包模块15把区块同步信息和签名信息发送其他传感链节点的认证链验证模块16,认证链打包模块15接收到过半认证链节点反馈成功后认证链打包模块15把区块头部和区块内容写入认证链存储模块17;
认证链验证模块16:接收认证链打包模块15的区块同步信息和签名信息,认证链验证模块16对区块同步信息进行国密SM3哈希计算,得到区块同步信息的哈希值A,认证链验证模块16从区块同步信息中获取认证链节点的节点公钥,认证链验证模块16使用节点公钥对签名信息进行国密SM2解密得到解密字符串B,判断解密字符串B是否与区块同步信息的哈希值A相同,如果不相同则拒绝该请求,认证链验证模块16获取传感子链上一个区块的区块地址和区块内容哈希值,将其和区块同步信息的上一个区块的区块地址和区块内容哈希值比较,不相同这拒绝该请求,认证链验证模块16使用上一个区块的区块地址、区块内容哈希值和区块同步信息的新区块地址进行国密SM3哈希计算得到哈希值K,判断当哈希值K小于等于该传感链节点的难度值的倒数时,哈希值K作为小数部分,认证链验证模块16向认证链打包模块15返回成功,同时把区块头部和区块内容写入认证链存储模块17;
认证链存储模块17:认证链存储模块17接收认证链打包模块15和认证链验证模块16的区块头部和区块内容,进行链式存储,把新区块接到原有认证区块链上。
优选地,切片采集模块2存储分片策略:切片采集模块2根据多个传感器1位置信息归为同一存储组,相近传感器被关联查找可能性,所有优先关联存储。
优选地,传感链地址生成模块7的新地址生成方法:传感链上个区块地址和区块内容哈希值加上随机数生成哈希值,当哈希值小于该传感链节点的难度值的倒数时,把符合条件的随机数作为新区块地址。
优选地,认证链地址生成模块14生成新区块地址方法:传感链上个区块地址和区块内容哈希值加上随机数生成哈希值小于该认证链区块的难度值的倒数时,把符合条件随机数作为新区块地址。
一种时序数据分片双链认证方法,包括如下步骤:
S1、传感器1按照周期产生数据,传感器1把产生数据发送切片采集模块2;
S2、切片采集模块2接收多个传感器1的周期性采样数据按照存储分片策略生成存储分片,切片采集模块2将切片数据发送聚合模块3和分片打包模块4;
S2.1、切片采集模块2存储分片策略:切片采集模块2根据多个传感器1位置信息如位置距离小于100米半径内或手动归归为同一存储组,相近传感器被关联查找可能性,所有优先关联存储;
S2.2、切片采集模块2对每一切片组的相同采集类型的传感器归为同一存储线,相近和相同类型传感器,
S2.3、切片采集模块2为不同存储组分配不同存储块,切片采集模块2存储块按照存储线进行分页得到存储页;
S2.4、切片采集模块2把接收到同存储组和相同采集的传感器存储在一个存储页;
S2.5、切片采集模块2根据传感链区块生成周期,把所有存储组的存储块都发送给分片打包模块4和聚合模块3;
S3、聚合模块3接收切片采集模块2存储块进行聚合处理,用于分片打包模块4压缩重复数据或无效数据,聚合模块3取出存储块的一个存储页,对存储页的所有数据取平均值得该存储块的该类型传感器的均值,对存储页的所有数据取最大值得该类型传感器的最大值,对同一传感器的所有数据取最小值得该类型传感器的最小值,聚合模块3存储块的所有传感器的最大值/最小值/均值发送给分片打包模块4;
S4、分片打包模块4接收切片采集模块2发送的存储块并进行分片打包,
S4.1、分片打包模块4接收聚合模块3存储块的所有存储页的最大值/最小值/均值和分片打包模块4的存储组的存储块对应存储页的最大值/最小值/均值进行距离计算,对应最大值/最小值/均值相减,取平方,相加再取开方得到存储页的变化距离值,判断变化距离值是否小于阀值,如果小于阀值则该存储组的该类型传感器变化量小和数据冗余,存储块删除该存储页;
S4.2、分片打包模块4把接收的所有存储块打包成一个分片数据,对该分片数据进行国密SM3的哈希处理,得到256比特分片哈希值,使用分片打包模块4对256比特分片哈希值使用采集私钥的SM2加密得到签名,分片打包模块4将签名、分片数据和公钥地址发送给传感分片存储模块10,传感分片存储模块10存储后返回分片打包模块4生成分片存储地址;
S4.3、分片打包模块4生成分片的传感器索引:所有传感器地址和该传感器在分片数据的位置偏移,传感器地址为该传感器的唯一标识;
S4.4、分片打包模块4把传感器地址、传感器索引、分片存储地址、所有存储页的最大值/最小值/均值和当前时戳打包为分片元数据提交信息,分片打包模块4对分片元数据提交信息进行国密SM3的哈希处理,得到分片元数据提交信息的哈希值,分片打包模块4使用采集私钥的SM2加密得到分片元数据提交信息的签名;
S4.5、分片打包模块4把分片元数据提交信息、分片元数据提交信息的签名和采集公钥提交给传感链执行模块6,分片打包模块4把传感器的时序数据进行分片整理减少传感链的认证次数;
S5、传感链执行模块6处理分片元数据提交信息、分片元数据提交信息的签名和采集公钥过程,
S5.1、传感链节点的传感链执行模块6接收分片打包模块4接收到分片元数据提交信息、分片元数据提交信息的签名和采集公钥;
S5.2、传感链执行模块6对分片提交信息使用国密SM3的哈希处理,得到分片元数据提交信息的哈希值,传感链执行模块6对分片元数据提交信息的签名使用采集公钥解密得到解密值,判断解密值与分片元数据提交信息的哈希值是否相同,如果不相同,则拒绝该请求,如果相同传感链执行模块6则对采集公钥进行国密SM3的哈希处理得到采集地址;
S5.3、传感链执行模块6从认证链存储模块16查询采集地址是否具有采集权限,如果没有权限,则无权限拒绝该请求;
S5.4、传感链执行模块6等传感链地址生成模块7生成新区块地址;
S5.5、传感链执行模块6接收到传感链地址生成模块7的新区块地址,传感链执行模块6将接收到的所有的采集地址、分片元数据提交信息和新区块地址提交给传感链打包模块8;
S6、传感链地址生成模块7生成传感链的新区块地址,
S6.1、传感链地址生成模块7根据节点地址查找认证链存储模块16获取传感链节点的能力值,传感链地址生成模块7能力值越高,计算传感链的新区块地址难度越低,传感链地址生成模块7计算该传感链节点的难度值,传感链节点的难度值除以传感链节点的能力值,节点地址为传感链节点的唯一标识,节点地址在传感链和认证链共用,传感链节点的公钥进行国密SM3哈希生成节点地址;
S6.2、传感址生成模块7的新地址生成方法:当传感链上个区块地址和区块内容哈希值加上随机数生成哈希值小于该传感链节点的难度值的倒数时,把符合条件随机数作为新区块地址;S6.3、传感链地址生成模块7生成传感链新区块地址后通知传感链执行模块6;
S7、传感链打包模块8打包,
S7.1、传感链打包模块8接收传感链执行模块6的采集地址和分片元数据提交信息以及新区块地址,
S7.2、传感链打包模块8对传感器所有记录、传感器地址,传感器索引、分片存储地址、所有存储页的最大值/最小值/均值、时戳和采集地址进行打包,合并成一个区块内容,区块内容包含所有传感器新增记录;
S7.3、传感链打包模块8对区块内容进行国密SM3的哈希处理得到区块内容的哈希值,传感链打包模块8将区块内容的哈希值,新区块地址、上个区块地址和其区块内容哈希值、传感链节点地址、传感链节点的能力值作为区块头部,区块头部和区块内容合并为区块同步信息;
S7.4、传感链打包模块8对区块同步信息进行国密SM3进行哈希计算得到区块同步信息的哈希值,传感子链区块的传感器打包模块8对区块同步信息的哈希值使用节点私钥国密SM2加密得到签名信息;
S7.5、传感链打包模块8把区块同步信息、签名信息和节点公钥发送给其他传感链节点的传感链验证模块11;
S7.6、当传感链打包模块8接收到过半传感链节点反馈成功时,传感链打包模块8把区块头部和区块内容写入传感链存储模块12;
S8、传感链验证模块11检验传感链打包模块8的区块合法性,
S8.1、传感链验证模块11接收传感链打包模块8的区块同步信息、签名信息和节点公钥,传感链验证模块11区块同步信息进行国密SM3进行哈希计算得到区块同步信息的哈希值A;
S8.2、传感链验证模块11对节点公钥进行国密SM3得到节点地址,传感链验证模块11从区块同步信息中获取传感链节点地址,与计算得到的节点地址进行比较,如果不相同则拒绝该请求;
S8.3传感链验证模块11根据传感链节点地址从认证链存储模块16获取该节点地址的能力值N;
S8.4、传感链验证模块11使用节点公钥对签名信息进行国密SM2解密得到解密字符串B,判断解密字符串B是否与区块同步信息的哈希值A相同,如果不相同则拒绝该请求;
S8.5、传感链验证模块11从区块同步信息获取能力值A,将其与能力值N比较,如果能力值N小于能力值A则拒绝该请求;
S8.6、传感链验证模块11获取传感子链上一个区块的区块地址和区块内容哈希值,和区块同步信息的上一个区块的区块地址和区块内容哈希值比较,如不相同则拒绝该请求;
S8.7、传感链验证模块11使用上一个区块的区块地址、区块内容哈希值和区块同步信息的新区块地址进行国密SM3哈希计算得到哈希值K;
S8.8、传感链验证模块11计算传感链节点的难度值,传感链节点的难度值为传感链的能力值除以能力值A,判断当哈希值K小于等于该传感链节点的难度值的倒数时,哈希值K作为数值小数部分,如果大于则拒绝该请求;
S8.9、传感链验证模块11对区块内容的传感器采用随机算法抽取传感器,在区块内容中取出该传感器的传感器索引和分片存储地址、最大值/最小值/均值,传感链验证模块11根据分片存储地址从传感分片存储模块10取出存储块,根据传感器索引找到该传感器的存储页,对存储页的所有数据取平均值得该存储块的该类型传感器的均值,对存储页的所有数据取最大值得该类型传感器的的最大值,对同一传感器的所有数据取最小值得该类型传感器的最小值,传感链验证模块11将区块内容的最大值/最小值/均值和计算出最大值/最小值/均值进行比较,如不相同,则拒绝该请求;
S8.10、传感链验证模块11向传感链打包模块8返回成功,同时把区块头部和区块内容写入传感链存储模块12;
S9、传感分片存储模块10接收分片打包模块4的签名、分片数据和采集公钥,传感分片存储模块10使用采集公钥对签名进行国密SM2解密得到字符串A,传感分片存储模块10对分片数据进行国密SM3哈希计算得到哈希值B,如果字符串A和哈希值B不相同则拒绝该请求.传感分片存储模块10对分片数据做持久化保存,并使用分片数据的哈希值B作为存储地址返回给分片打包模块4,用于传感链验证模块11后续查询;
S10、传感链存储模块12接收传感链数据存储同时向认证链同步;
S10.1、传感链存储模块12接收传感链验证模块11和传感链打包模块8的区块头部和区块内容,进行链式存储,把新区块接到原有证据区块链上;
S10.2、传感链存储模块12的新增加区块个数大于阀值K时,传感链存储模块12把新增区块头部作为提交信息,传感链存储模块12对提交信息进行国密SM3哈希计算得到哈希值,传感链存储模块12把哈希值使用节点私钥国密SM2加密得到签名信息,传感链存储模块12把提交信息和签名提交认证链执行模块13;
S11、认证链执行模块13接收到传感链存储模块12提交信息和签名;
S11.1、认证链执行模块13根据提交信息中的公钥,认证链执行模块13使用公钥签名信息进行国密SM2解密得到字符串A,认证链执行模块13对提交信息进行国密SM3哈希处理得到哈希串B,判断字符串A和哈希串B是否相等,不相等则拒绝该请求,相同继续处理;
S11.2、认证链执行模块13从认证链存储模块16使用国密SM3对公钥哈希处理得到节点地址,认证链执行模块13根据节点地址查询到认证链存储模块16的节点能力值,认证链执行模块13接收其他节点传感链存储模块12提交,把符合节点能力值相加,直到大于阀值,则认证链执行模块13符合条件;
S11.3、认证链执行模块13等待认证链地址生成模块14生成区块地址,认证链执行模块13把区块地址和提交信息提交给认证链打包模块15;
S12、认证链地址生成模块14生成新地址方法,传感链上个区块地址和区块内容哈希值加上随机数生成哈希值小于该认证链区块的难度值的倒数时,把符合条件随机数作为新区块地址,认证链地址生成模块14把新区块地址返回给认证链执行模块13;
S13、认证链打包模块15的认证区块打包流程,
S13.1、认证链打包模块15接收认证链执行模块13的采集地址、提交信息和新区块地址,认证链打包模块15对提交信息进行打包,包含所有传感链新增区块信息;
S13.2、认证链打包模块15对区块内容进行国密SM3的哈希处理,区块内容的哈希值,认证链打包模块15把节点地址、区块内容的哈希值、新区块地址、上个区块地址和区块头部和区块内容合并为区块同步信息;
S13.3、认证链打包模块15对区块同步信息进行国密SM3哈希计算得到区块同步信息的哈希值,认证链打包模块15对区块同步信息的哈希值使用节点私钥国密SM2加密得到签名信息;
S13.4、认证链打包模块15把区块同步信息和签名信息发送其他传感链节点的认证链验证模块16;
S13.5、认证链打包模块15接收到过半认证链节点反馈成功后认证链打包模块15把区块头部和区块内容写入认证链存储模块17;
S14、认证链验证模块16认证认证链打包模块15流程,
S14.1、认证链验证模块16接收认证链打包模块15的区块同步信息和签名信息,认证链验证模块16对区块同步信息进行国密SM3进行哈希计算,得到区块同步信息的哈希值A;
S14.2、认证链验证模块16从区块同步信息获取认证链节点的节点公钥,认证链验证模块16使用节点公钥对签名信息进行国密SM2解密得到解密字符串B,判断解密字符串B是否与区块同步信息的哈希值A相同,如果不相同则拒绝该请求;
S14.3、认证链验证模块16获取传感子链上一个区块的区块地址和区块内容哈希值,将其和区块同步信息的上一个区块的区块地址和区块内容哈希值比较,不相同则拒绝该请求,认证链验证模块16使用上一个区块的区块地址、区块内容哈希值和区块同步信息的新区块地址进行国密SM3哈希计算得到哈希值K,判断当哈希值K小于等于该传感链节点的难度值的倒数时,哈希值K作为小数部分,认证链验证模块16向认证链打包模块15返回成功,同时把区块头部和区块内容写入认证链存储模块17;
S15、认证链存储模块17接收认证链打包模块15和认证链验证模块16的区块头部和区块内容,进行链式存储,把新区块接到原有认证区块链上。
与现有技术相比,本发明的有益效果为:
采用本发明的技术方案,通过传感器的时序数据进行分片整理减少传感链的认证次数,使用低计算量的传感链对传感器的数据进行初次认证与同时对时序数据检查,最终使用高计算量的难串改的认证链对传感链进行认证,实现对传感器的时序数据进行可靠的防篡改认证。
附图说明
图1为本发明的功能框架示意图;
图中数字标注:传感器-1,切片采集模块-2,聚合模块-3,分片打包模块-4,传感分片存储模块-10,传感链执行模块-6,传感链地址生成模块-7,传感链打包模块-8,传感链验证模块-11,传感链存储模块-12,认证链执行模块-13,认证链地址生成模块-14,认证链打包模块-15,认证链验证模块-16,认证链存储模块-17。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供一种技术方案:一种时序数据分片双链认证装置,包括传感器1,采集节点的切片采集模块2,聚合模块3,分片打包模块4,传感分片存储模块10,传感链节点的传感链执行模块6,传感链地址生成模块7,传感链打包模块8,传感链验证模块11,传感链存储模块12,认证链节点的认证链执行模块13,认证链地址生成模块14,认证链打包模块15,认证链验证模块16和认证链存储模块17;部分认证链节点作为传感链节点,传感链节点同时也是认证链节点,共用认证链数据,
传感器1:传感器数据源产生模块,代表不同采样类和采样周期的传感器,传感器1按照周期产生数据,传感器1把产生数据发送切片采集模块2;
切片采集模块2:接收多个传感器1的周期性采样数据,按照存储分片策略生成存储分片,切片采集模块2将切片数据发送聚合模块3和分片打包模块4,切片采集模块2把每一切片组的相近或相同采集类型的传感器归为同一存储线,切片采集模块2为不同存储组分配不同存储块,切片采集模块2存储块按照存储线进行分页得到存储页,切片采集模块2把接收到同存储组和相同采集的传感器存储在一个存储页,切片采集模块2根据传感链区块生成周期,把所有存储组的存储块都发送给分片打包模块4和聚合模块3;
聚合模块3:聚合模块3接收切片采集模块2存储块进行聚合处理,用于分片打包模块4压缩重复数据或无效数据,聚合模块3取出存储块的一个存储页,对存储页的所有数据取平均值得到该存储块的该类型传感器的均值,对存储页的所有数据取最大值得该类型传感器的最大值,对同一传感器的所有数据取最小值得该类型传感器的最小值,聚合模块3存储块的所有存储页的最大值/最小值/均值发送给分片打包模块4;
分片打包模块4:分片打包模块4接收切片采集模块2发送的存储块并进行分片打包,分片打包模块4接收聚合模块3存储块的所有存储页的最大值/最小值/均值,和分片打包模块4的存储组的存储块对应存储页的最大值/最小值/均值进行距离计算,对应最大值/最小值/均值相减,取平方,相加再取开方得到存储页的变化距离值,判断变化距离值是否小于阀值,如果小于阀值则该存储组的该类型传感器变化量小和数据冗余,存储块删除该存储页,分片打包模块4把接收的所有存储块打包成一个分片数据,对该分片数据进行国密SM3的哈希处理,得到256比特分片哈希值,使用分片打包模块4对256比特分片哈希值使用采集私钥的SM2加密得到签名,分片打包模块4将签名、分片数据和公钥地址发送给传感分片存储模块10,传感分片存储模块10存储后返回分片打包模块4生成分片存储地址,分片打包模块4生成分片的传感器索引:所有传感器地址和该传感器在分片数据的位置偏移,传感器地址为该传感器的唯一标识,分片打包模块4把传感器地址、传感器索引、分片存储地址、所有存储页的最大值/最小值/均值和当前时戳打包为分片元数据提交信息,分片打包模块4对分片元数据提交信息进行国密SM3的哈希处理,得到分片元数据提交信息的哈希值,分片打包模块4使用采集私钥的SM2加密得到分片元数据提交信息的签名,分片打包模块4把分片元数据提交信息、分片元数据提交信息的签名和采集公钥提交给传感链执行模块6;
传感链执行模块6:传感链节点的传感链执行模块6接收分片打包模块4发送的分片元数据提交信息、分片元数据提交信息的签名和采集公钥,传感链执行模块6对分片提交信息使用国密SM3的哈希处理,得到分片元数据提交信息的哈希值,传感链执行模块6对分片元数据提交信息的签名使用采集公钥解密得到解密值,判断解密值与分片元数据提交信息的哈希值是否相同,如果不相同,则拒绝该请求,如果相同传感链执行模块6则对采集公钥进行国密SM3的哈希处理得到采集地址,传感链执行模块6从认证链存储模块16查询采集地址是否具有采集权限,如果没有权限,则无权限拒绝该请求,传感链执行模块6等传感链地址生成模块7生成新区块地址,传感链执行模块6接收到传感链地址生成模块7的新区块地址,传感链执行模块6将接收到的所有的采集地址、分片元数据提交信息和新区块地址提交给传感链打包模块8;
传感链地址生成模块7:传感链地址生成模块7生成传感链的新区块地址,传感链地址生成模块7根据节点地址查找认证链存储模块16获取传感链节点的能力值,传感链地址生成模块7能力值越高,计算传感链的新区块地址难度越低,传感链地址生成模块7计算该传感链节点的难度值,传感链节点的难度值除以传感链节点的能力值,节点地址为传感链节点的唯一标识,节点地址在传感链和认证链共用,传感链节点的公钥进行国密SM3哈希生成节点地址,使用认证链保存传感链节点的能力值,利用认证链难创新的特性来保证传感链地址生成的安全性,传感链地址生成模块7生成传感链新区块地址后通知传感链执行模块6;
传感链打包模块8:传感链打包模块8接收传感链执行模块6的采集地址和分片元数据提交信息以及新区块地址,提交信息为传感器地址、传感器索引、分片存储地址和所有存储页的最大值/最小值/均值,传感链打包模块8对传感器所有记录、传感器地址、传感器索引、分片存储地址、所有存储页的最大值/最小值/均值、时戳和采集地址进行打包,合并成一个区块内容,区块内容包含所有传感器新增记录,传感链打包模块8对区块内容进行国密SM3的哈希处理得到区块内容的哈希值,传感链打包模块8将区块内容的哈希值、新区块地址、上个区块地址和其区块内容哈希值、传感链节点地址、传感链节点的能力值作为区块头部,区块头部和区块内容合并为区块同步信息,传感链打包模块8对区块同步信息进行国密SM3进行哈希计算得到区块同步信息的哈希值,传感子链区块的传感器打包模块8对区块同步信息的哈希值使用节点私钥国密SM2加密得到签名信息,传感链打包模块8把区块同步信息、签名信息和节点公钥发送给其他传感链节点的传感链验证模块11,当传感链打包模块8接收到过半传感链节点反馈成功时,传感链打包模块8把区块头部和区块内容写入传感链存储模块12;
传感分片存储模块10:传感器数据的存储模块,传感分片存储模块10接收分片打包模块4的签名、分片数据和采集公钥,传感分片存储模块10使用采集公钥对签名进行国密SM2解密得到字符串A,传感分片存储模块10对分片数据进行国密SM3哈希计算得到哈希值B,如果字符串A和哈希值B不相同则拒绝该请求.传感分片存储模块10对分片数据做持久化保存,并使用分片数据的哈希值B作为存储地址返回给分片打包模块4,用于传感链验证模块11后续查询;
传感链验证模块11:接收传感链打包模块8的区块同步信息、签名信息和节点公钥,传感链验证模块11区块同步信息进行国密SM3哈希计算得到区块同步信息的哈希值A,传感链验证模块11对节点公钥进行国密SM3哈希计算得到节点地址,传感链验证模块11从区块同步信息中获取传感链节点地址,与计算得到的节点地址进行比较,如果不相同则拒绝该请求,传感链验证模块11根据传感链节点地址从认证链存储模块16获取该节点地址的能力值N,传感链验证模块11使用节点公钥对签名信息进行国密SM2解密得到解密字符串B,判断解密字符串B是否与区块同步信息的哈希值A相同,如果不相同则拒绝该请求,传感链验证模块11从区块同步信息获取能力值A,将其与能力值N比较,如果能力值N小于能力值A则拒绝该请求,传感链验证模块11获取传感子链上一个区块的区块地址和区块内容哈希值,和区块同步信息的上一个区块的区块地址和区块内容哈希值比较,如不相同则拒绝该请求,传感链验证模块11使用上一个区块的区块地址、区块内容哈希值和区块同步信息的新区块地址进行国密SM3哈希计算得到哈希值K,传感链验证模块11计算传感链节点的难度值,传感链节点的难度值为传感链的能力值除以能力值A,判断当哈希值K小于等于该传感链节点的难度值的倒数时,哈希值K作为数值小数部分,如果大于则拒绝该请求,传感链验证模块11对区块内容的传感器采用随机算法抽取传感器,在区块内容中取出该传感器的传感器索引和分片存储地址、最大值/最小值/均值,传感链验证模块11根据分片存储地址从传感分片存储模块10取出存储块,根据传感器索引找到该传感器的存储页,对存储页的所有数据取平均值得该存储块的该类型传感器的均值,对存储页的所有数据取最大值得该类型传感器的的最大值,对同一传感器的所有数据取最小值得该类型传感器的最小值,传感链验证模块11将区块内容的最大值/最小值/均值和计算出最大值/最小值/均值比较,如不相同,则拒绝该请求,如相同,传感链验证模块11则向传感链打包模块8返回成功,同时把区块头部和区块内容写入传感链存储模块12;
传感链存储模块12:传感链存储模块12接收传感链验证模块11和传感链打包模块8的区块头部和区块内容,进行链式存储,把新区块接到原有证据区块链上,当传感链存储模块12的新增加区块个数大于阀值K时,传感链存储模块12把新增区块头部作为提交信息,传感链存储模块12对提交信息进行国密SM3哈希计算得到哈希值,传感链存储模块12把哈希值使用节点私钥国密SM2加密得到签名信息,传感链存储模块12把提交信息和签名发送给认证链执行模块13;
认证链执行模块13:认证链执行模块13接收到传感链存储模块12提交信息和签名,认证链执行模块13根据提交信息中的公钥,认证链执行模块13使用公钥对签名信息进行国密SM2解密得到字符串A,认证链执行模块13对提交信息进行国密SM3哈希处理得到哈希串B,判断字符串A和哈希串B是否相等,不相同则拒绝该请求,相同则继续处理,认证链执行模块13从认证链存储模块16使用国密SM3对公钥进行哈希处理得到节点地址,认证链执行模块13根据节点地址查询到认证链存储模块16的节点能力值,认证链执行模块13接收其他节点传感链存储模块12提交新增区块头部与签名信息,把符合节点能力值相加,直到大于阀值,即认证链执行模块13符合条件,认证链执行模块13等待认证链地址生成模块14生成区块地址,认证链执行模块13把区块地址和提交信息提交给认证链打包模块15;
认证链地址生成模块14:认证链地址生成模块14把新区块地址返回给认证链执行模块13;
认证链打包模块15:认证链打包模块15接收认证链执行模块13的采集地址、提交信息和新区块地址,认证链打包模块15对提交信息进行打包,包含所有传感链新增区块信息,认证链打包模块15对区块内容进行国密SM3的哈希处理,区块内容的哈希值,认证链打包模块15把节点地址、区块内容的哈希值、新区块地址、上个区块地址和区块头部和区块内容合并为区块同步信息,认证链打包模块15对区块同步信息进行国密SM3哈希计算得到区块同步信息的哈希值,认证链打包模块15对区块同步信息的哈希值使用节点私钥国密SM2加密得到签名信息,认证链打包模块15把区块同步信息和签名信息发送其他传感链节点的认证链验证模块16,认证链打包模块15接收到过半认证链节点反馈成功后认证链打包模块15把区块头部和区块内容写入认证链存储模块17;
认证链验证模块16:接收认证链打包模块15的区块同步信息和签名信息,认证链验证模块16对区块同步信息进行国密SM3哈希计算,得到区块同步信息的哈希值A,认证链验证模块16从区块同步信息中获取认证链节点的节点公钥,认证链验证模块16使用节点公钥对签名信息进行国密SM2解密得到解密字符串B,判断解密字符串B是否与区块同步信息的哈希值A相同,如果不相同则拒绝该请求,认证链验证模块16获取传感子链上一个区块的区块地址和区块内容哈希值,将其和区块同步信息的上一个区块的区块地址和区块内容哈希值比较,不相同这拒绝该请求,认证链验证模块16使用上一个区块的区块地址、区块内容哈希值和区块同步信息的新区块地址进行国密SM3哈希计算得到哈希值K,判断当哈希值K小于等于该传感链节点的难度值的倒数时,哈希值K作为小数部分,认证链验证模块16向认证链打包模块15返回成功,同时把区块头部和区块内容写入认证链存储模块17;
认证链存储模块17:认证链存储模块17接收认证链打包模块15和认证链验证模块16的区块头部和区块内容,进行链式存储,把新区块接到原有认证区块链上。
切片采集模块2存储分片策略:切片采集模块2根据多个传感器1位置信息归为同一存储组,相近传感器被关联查找可能性,所有优先关联存储。
传感链地址生成模块7的新地址生成方法:传感链上个区块地址和区块内容哈希值加上随机数生成哈希值,当哈希值小于该传感链节点的难度值的倒数时,把符合条件的随机数作为新区块地址。
认证链地址生成模块14生成新区块地址方法:传感链上个区块地址和区块内容哈希值加上随机数生成哈希值小于该认证链区块的难度值的倒数时,把符合条件随机数作为新区块地址。
一种时序数据分片双链认证方法,包括如下步骤:
S1、传感器1按照周期产生数据,传感器1把产生数据发送切片采集模块2;
S2、切片采集模块2接收多个传感器1的周期性采样数据按照存储分片策略生成存储分片,切片采集模块2将切片数据发送聚合模块3和分片打包模块4;
S2.1、切片采集模块2存储分片策略:切片采集模块2根据多个传感器1位置信息如位置距离小于100米半径内或手动归,归为同一存储组,相近传感器被关联查找可能性,所有优先关联存储;
S2.2、切片采集模块2对每一切片组的相同采集类型的传感器归为同一存储线,相近和相同类型传感器,
S2.3、切片采集模块2为不同存储组分配不同存储块,切片采集模块2存储块按照存储线进行分页得到存储页;
S2.4、切片采集模块2把接收到同存储组和相同采集的传感器存储在一个存储页;
S2.5、切片采集模块2根据传感链区块生成周期,把所有存储组的存储块都发送给分片打包模块4和聚合模块3;
S3、聚合模块3接收切片采集模块2存储块进行聚合处理,用于分片打包模块4压缩重复数据或无效数据,聚合模块3取出存储块的一个存储页,对存储页的所有数据取平均值得该存储块的该类型传感器的均值,对存储页的所有数据取最大值得该类型传感器的最大值,对同一传感器的所有数据取最小值得该类型传感器的最小值,聚合模块3存储块的所有传感器的最大值/最小值/均值发送给分片打包模块4;
S4、分片打包模块4接收切片采集模块2发送的存储块并进行分片打包,
S4.1、分片打包模块4接收聚合模块3存储块的所有存储页的最大值/最小值/均值和分片打包模块4的存储组的存储块对应存储页的最大值/最小值/均值进行距离计算,对应最大值/最小值/均值相减,取平方,相加再取开方得到存储页的变化距离值,判断变化距离值是否小于阀值,如果小于阀值则该存储组的该类型传感器变化量小和数据冗余,存储块删除该存储页;
S4.2、分片打包模块4把接收的所有存储块打包成一个分片数据,对该分片数据进行国密SM3的哈希处理,得到256比特分片哈希值,使用分片打包模块4对256比特分片哈希值使用采集私钥的SM2加密得到签名,分片打包模块4将签名、分片数据和公钥地址发送给传感分片存储模块10,传感分片存储模块10存储后返回分片打包模块4生成分片存储地址;
S4.3、分片打包模块4生成分片的传感器索引:所有传感器地址和该传感器在分片数据的位置偏移,传感器地址为该传感器的唯一标识;
S4.4、分片打包模块4把传感器地址、传感器索引、分片存储地址、所有存储页的最大值/最小值/均值和当前时戳打包为分片元数据提交信息,分片打包模块4对分片元数据提交信息进行国密SM3的哈希处理,得到分片元数据提交信息的哈希值,分片打包模块4使用采集私钥的SM2加密得到分片元数据提交信息的签名;
S4.5、分片打包模块4把分片元数据提交信息、分片元数据提交信息的签名和采集公钥提交给传感链执行模块6,分片打包模块4把传感器的时序数据进行分片整理减少传感链的认证次数;
S5、传感链执行模块6处理分片元数据提交信息、分片元数据提交信息的签名和采集公钥过程,
S5.1、传感链节点的传感链执行模块6接收分片打包模块4接收到分片元数据提交信息、分片元数据提交信息的签名和采集公钥;
S5.2、传感链执行模块6对分片提交信息使用国密SM3的哈希处理,得到分片元数据提交信息的哈希值,传感链执行模块6对分片元数据提交信息的签名使用采集公钥解密得到解密值,判断解密值与分片元数据提交信息的哈希值是否相同,如果不相同,则拒绝该请求,如果相同传感链执行模块6则对采集公钥进行国密SM3的哈希处理得到采集地址;
S5.3、传感链执行模块6从认证链存储模块16查询采集地址是否具有采集权限,如果没有权限,则无权限拒绝该请求;
S5.4、传感链执行模块6等传感链地址生成模块7生成新区块地址;
S5.5、传感链执行模块6接收到传感链地址生成模块7的新区块地址,传感链执行模块6将接收到的所有的采集地址、分片元数据提交信息和新区块地址提交给传感链打包模块8;
S6、传感链地址生成模块7生成传感链的新区块地址,
S6.1、传感链地址生成模块7根据节点地址查找认证链存储模块16获取传感链节点的能力值,传感链地址生成模块7能力值越高,计算传感链的新区块地址难度越低,传感链地址生成模块7计算该传感链节点的难度值,传感链节点的难度值除以传感链节点的能力值,节点地址为传感链节点的唯一标识,节点地址在传感链和认证链共用,传感链节点的公钥进行国密SM3哈希生成节点地址;
S6.2、传感址生成模块7的新地址生成方法:当传感链上个区块地址和区块内容哈希值加上随机数生成哈希值小于该传感链节点的难度值的倒数时,把符合条件随机数作为新区块地址;使用认证链保存传感链节点的能力值,利用认证链难创新的特性来保证传感链地址生成的安全性,使用传感链节点能力值降低传感址传感链生成难度,解决高频和高点位的传感器的初步认证;
S6.3、传感链地址生成模块7生成传感链新区块地址后通知传感链执行模块6;
S7、传感链打包模块8打包,
S7.1、传感链打包模块8接收传感链执行模块6的采集地址和分片元数据提交信息以及新区块地址,提交信息为传感器地址、传感器索引、分片存储地址和所有存储页的最大值/最小值/均值;
S7.2、传感链打包模块8对传感器所有记录、传感器地址,传感器索引、分片存储地址、所有存储页的最大值/最小值/均值、时戳和采集地址进行打包,合并成一个区块内容,区块内容包含所有传感器新增记录;
S7.3、传感链打包模块8对区块内容进行国密SM3的哈希处理得到区块内容的哈希值,传感链打包模块8将区块内容的哈希值,新区块地址、上个区块地址和其区块内容哈希值、传感链节点地址、传感链节点的能力值作为区块头部,区块头部和区块内容合并为区块同步信息;
S7.4、传感链打包模块8对区块同步信息进行国密SM3进行哈希计算得到区块同步信息的哈希值,传感子链区块的传感器打包模块8对区块同步信息的哈希值使用节点私钥国密SM2加密得到签名信息;
S7.5、传感链打包模块8把区块同步信息、签名信息和节点公钥发送给其他传感链节点的传感链验证模块11;
S7.6、当传感链打包模块8接收到过半传感链节点反馈成功时,传感链打包模块8把区块头部和区块内容写入传感链存储模块12;
S8、传感链验证模块11检验传感链打包模块8的区块合法性,
S8.1、传感链验证模块11接收传感链打包模块8的区块同步信息、签名信息和节点公钥,传感链验证模块11区块同步信息进行国密SM3进行哈希计算得到区块同步信息的哈希值A;
S8.2、传感链验证模块11对节点公钥进行国密SM3得到节点地址,传感链验证模块11从区块同步信息中获取传感链节点地址,与计算得到的节点地址进行比较,如果不相同则拒绝该请求;
S8.3传感链验证模块11根据传感链节点地址从认证链存储模块16获取该节点地址的能力值N;
S8.4、传感链验证模块11使用节点公钥对签名信息进行国密SM2解密得到解密字符串B,判断解密字符串B是否与区块同步信息的哈希值A相同,如果不相同则拒绝该请求;
S8.5、传感链验证模块11从区块同步信息获取能力值A,将其与能力值N比较,如果能力值N小于能力值A则拒绝该请求;
S8.6、传感链验证模块11获取传感子链上一个区块的区块地址和区块内容哈希值,和区块同步信息的上一个区块的区块地址和区块内容哈希值比较,如不相同则拒绝该请求;
S8.7、传感链验证模块11使用上一个区块的区块地址、区块内容哈希值和区块同步信息的新区块地址进行国密SM3哈希计算得到哈希值K;
S8.8、传感链验证模块11计算传感链节点的难度值,传感链节点的难度值为传感链的能力值除以能力值A,判断当哈希值K小于等于该传感链节点的难度值的倒数时,哈希值K作为数值小数部分,如果大于则拒绝该请求;
S8.9、传感链验证模块11对区块内容的传感器采用随机算法抽取传感器,在区块内容中取出该传感器的传感器索引和分片存储地址、最大值/最小值/均值,传感链验证模块11根据分片存储地址从传感分片存储模块10取出存储块,根据传感器索引找到该传感器的存储页,对存储页的所有数据取平均值得该存储块的该类型传感器的均值,对存储页的所有数据取最大值得该类型传感器的的最大值,对同一传感器的所有数据取最小值得该类型传感器的最小值,传感链验证模块11将区块内容的最大值/最小值/均值和计算出最大值/最小值/均值进行比较,如不相同,则拒绝该请求;使用多节点对检对传感分片存储模块10的存储进行随机抽检,对传感分片存储模块10提高存储可靠性要求,
S8.10、传感链验证模块11向传感链打包模块8返回成功,同时把区块头部和区块内容写入传感链存储模块12;
S9、传感分片存储模块10接收分片打包模块4的签名、分片数据和采集公钥,传感分片存储模块10使用采集公钥对签名进行国密SM2解密得到字符串A,传感分片存储模块10对分片数据进行国密SM3哈希计算得到哈希值B,如果字符串A和哈希值B不相同则拒绝该请求.传感分片存储模块10对分片数据做持久化保存,并使用分片数据的哈希值B作为存储地址返回给分片打包模块4,用于传感链验证模块11后续查询;
S10、传感链存储模块12接收传感链数据存储同时向认证链同步;
S10.1、传感链存储模块12接收传感链验证模块11和传感链打包模块8的区块头部和区块内容,进行链式存储,把新区块接到原有证据区块链上;
S10.2、传感链存储模块12的新增加区块个数大于阀值K时,传感链存储模块12把新增区块头部作为提交信息,传感链存储模块12对提交信息进行国密SM3哈希计算得到哈希值,传感链存储模块12把哈希值使用节点私钥国密SM2加密得到签名信息,传感链存储模块12把提交信息和签名提交认证链执行模块13;
S11、认证链执行模块13接收到传感链存储模块12提交信息和签名;
S11.1、认证链执行模块13根据提交信息中的公钥,认证链执行模块13使用公钥签名信息进行国密SM2解密得到字符串A,认证链执行模块13对提交信息进行国密SM3哈希处理得到哈希串B,判断字符串A和哈希串B是否相等,不相等则拒绝该请求,相同继续处理;
S11.2、认证链执行模块13从认证链存储模块16使用国密SM3对公钥哈希处理得到节点地址,认证链执行模块13根据节点地址查询到认证链存储模块16的节点能力值,认证链执行模块13接收其他节点传感链存储模块12提交,把符合节点能力值相加,直到大于阀值,则认证链执行模块13符合条件;
S11.3、认证链执行模块13等待认证链地址生成模块14生成区块地址,认证链执行模块13把区块地址和提交信息提交给认证链打包模块15;
S12、认证链地址生成模块14生成新地址方法,传感链上个区块地址和区块内容哈希值加上随机数生成哈希值小于该认证链区块的难度值的倒数时,把符合条件随机数作为新区块地址,认证链地址生成模块14把新区块地址返回给认证链执行模块13;使用认证链地址生成模块14替代传统的地址生成方式,增加了认证链篡改难度,对解决高频和高点位的传感器的间接认证,从而实现传感器数据的不可篡改认证;
S13、认证链打包模块15的认证区块打包流程,
S13.1、认证链打包模块15接收认证链执行模块13的采集地址、提交信息和新区块地址,认证链打包模块15对提交信息进行打包,包含所有传感链新增区块信息;
S13.2、认证链打包模块15对区块内容进行国密SM3的哈希处理,区块内容的哈希值,认证链打包模块15把节点地址、区块内容的哈希值、新区块地址、上个区块地址和区块头部和区块内容合并为区块同步信息;
S13.3、认证链打包模块15对区块同步信息进行国密SM3哈希计算得到区块同步信息的哈希值,认证链打包模块15对区块同步信息的哈希值使用节点私钥国密SM2加密得到签名信息;
S13.4、认证链打包模块15把区块同步信息和签名信息发送其他传感链节点的认证链验证模块16;
S13.5、认证链打包模块15接收到过半认证链节点反馈成功后认证链打包模块15把区块头部和区块内容写入认证链存储模块17;
S14、认证链验证模块16认证认证链打包模块15流程,
S14.1、认证链验证模块16接收认证链打包模块15的区块同步信息和签名信息,认证链验证模块16对区块同步信息进行国密SM3进行哈希计算,得到区块同步信息的哈希值A;
S14.2、认证链验证模块16从区块同步信息获取认证链节点的节点公钥,认证链验证模块16使用节点公钥对签名信息进行国密SM2解密得到解密字符串B,判断解密字符串B是否与区块同步信息的哈希值A相同,如果不相同则拒绝该请求;
S14.3、认证链验证模块16获取传感子链上一个区块的区块地址和区块内容哈希值,将其和区块同步信息的上一个区块的区块地址和区块内容哈希值比较,不相同则拒绝该请求,认证链验证模块16使用上一个区块的区块地址、区块内容哈希值和区块同步信息的新区块地址进行国密SM3哈希计算得到哈希值K,判断当哈希值K小于等于该传感链节点的难度值的倒数时,哈希值K作为小数部分,认证链验证模块16向认证链打包模块15返回成功,同时把区块头部和区块内容写入认证链存储模块17;
S15、认证链存储模块17接收认证链打包模块15和认证链验证模块16的区块头部和区块内容,进行链式存储,把新区块接到原有认证区块链上。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点,对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (5)
1.一种时序数据分片双链认证装置,其特征在于,包括
传感器(1),采集节点的切片采集模块(2),聚合模块(3),分片打包模块(4),传感分片存储模块(10),传感链节点的传感链执行模块(6),传感链地址生成模块(7),传感链打包模块(8),传感链验证模块(11),传感链存储模块(12),认证链节点的认证链执行模块(13),认证链地址生成模块(14),认证链打包模块(15),认证链验证模块(16)和认证链存储模块(17);传感器(1):传感器数据源产生模块,代表不同采样类和采样周期的传感器,传感器(1)按照周期产生数据,传感器(1)把产生数据发送切片采集模块(2);
切片采集模块(2):接收多个传感器(1)的周期性采样数据,按照存储分片策略生成存储分片,切片采集模块(2)将切片数据发送聚合模块(3)和分片打包模块(4),切片采集模块(2)把每一切片组的相近或相同采集类型的传感器归为同一存储线,切片采集模块(2)为不同存储组分配不同存储块,切片采集模块(2)存储块按照存储线进行分页得到存储页,切片采集模块(2)把接收到同存储组和相同采集的传感器存储在一个存储页,切片采集模块(2)根据传感链区块生成周期,把所有存储组的存储块都发送给分片打包模块(4)和聚合模块(3);
聚合模块(3):聚合模块(3)接收切片采集模块(2)存储块进行聚合处理,用于分片打包模块(4)压缩重复数据或无效数据,聚合模块(3)取出存储块的一个存储页,对存储页的所有数据取平均值得到该存储块的该类型传感器的均值,对存储页的所有数据取最大值得该类型传感器的最大值,对同一传感器的所有数据取最小值得该类型传感器的最小值,聚合模块(3)存储块的所有存储页的最大值/最小值/均值发送给分片打包模块(4);
分片打包模块(4):分片打包模块(4)接收切片采集模块(2)发送的存储块并进行分片打包,分片打包模块(4)接收聚合模块(3)存储块的所有存储页的最大值/最小值/均值,和分片打包模块(4)的存储组的存储块对应存储页的最大值/最小值/均值进行距离计算,对应最大值/最小值/均值相减,取平方,相加再取开方得到存储页的变化距离值,判断变化距离值是否小于阀值,如果小于阀值则该存储组的该类型传感器变化量小和数据冗余,存储块删除该存储页,分片打包模块(4)把接收的所有存储块打包成一个分片数据,对该分片数据进行国密SM3的哈希处理,得到256比特分片哈希值,使用分片打包模块(4)对256比特分片哈希值使用采集私钥的SM2加密得到签名,分片打包模块(4)将签名、分片数据和公钥地址发送给传感分片存储模块(10),传感分片存储模块(10)存储后返回分片打包模块(4)生成分片存储地址,分片打包模块(4)生成分片的传感器索引:所有传感器地址和该传感器在分片数据的位置偏移,传感器地址为该传感器的唯一标识,分片打包模块(4)把传感器地址、传感器索引、分片存储地址、所有存储页的最大值/最小值/均值和当前时戳打包为分片元数据提交信息,分片打包模块(4)对分片元数据提交信息进行国密SM3的哈希处理,得到分片元数据提交信息的哈希值,分片打包模块(4)使用采集私钥的SM2加密得到分片元数据提交信息的签名,分片打包模块(4)把分片元数据提交信息、分片元数据提交信息的签名和采集公钥提交给传感链执行模块(6);
传感链执行模块(6):传感链节点的传感链执行模块(6)接收分片打包模块(4)发送的分片元数据提交信息、分片元数据提交信息的签名和采集公钥,传感链执行模块(6)对分片提交信息使用国密SM3的哈希处理,得到分片元数据提交信息的哈希值,传感链执行模块(6)对分片元数据提交信息的签名使用采集公钥解密得到解密值,判断解密值与分片元数据提交信息的哈希值是否相同,如果不相同,则拒绝该请求,如果相同传感链执行模块(6)则对采集公钥进行国密SM3的哈希处理得到采集地址,传感链执行模块(6)从认证链存储模块(16)查询采集地址是否具有采集权限,如果没有权限,则无权限拒绝该请求,传感链执行模块(6)等传感链地址生成模块(7)生成新区块地址,传感链执行模块(6)接收到传感链地址生成模块(7)的新区块地址,传感链执行模块(6)将接收到的所有的采集地址、分片元数据提交信息和新区块地址提交给传感链打包模块(8);
传感链地址生成模块(7):传感链地址生成模块(7)生成传感链的新区块地址,传感链地址生成模块(7)根据节点地址查找认证链存储模块(16)获取传感链节点的能力值,传感链地址生成模块(7)能力值越高,计算传感链的新区块地址难度越低,传感链地址生成模块(7)计算该传感链节点的难度值,传感链节点的难度值除以传感链节点的能力值,节点地址为传感链节点的唯一标识,节点地址在传感链和认证链共用,传感链节点的公钥进行国密SM3哈希生成节点地址,使用认证链保存传感链节点的能力值,利用认证链难创新的特性来保证传感链地址生成的安全性,传感链地址生成模块(7)生成传感链新区块地址后通知传感链执行模块(6);
传感链打包模块(8):传感链打包模块(8)接收传感链执行模块(6)的采集地址和分片元数据提交信息以及新区块地址,传感链打包模块(8)对传感器所有记录、传感器地址、传感器索引、分片存储地址、所有存储页的最大值/最小值/均值、时戳和采集地址进行打包,合并成一个区块内容,区块内容包含所有传感器新增记录,传感链打包模块(8)对区块内容进行国密SM3的哈希处理得到区块内容的哈希值,传感链打包模块(8)将区块内容的哈希值、新区块地址、上个区块地址和其区块内容哈希值、传感链节点地址、传感链节点的能力值作为区块头部,区块头部和区块内容合并为区块同步信息,传感链打包模块(8)对区块同步信息进行国密SM3进行哈希计算得到区块同步信息的哈希值,传感子链区块的传感器打包模块(8)对区块同步信息的哈希值使用节点私钥国密SM2加密得到签名信息,传感链打包模块(8)把区块同步信息、签名信息和节点公钥发送给其他传感链节点的传感链验证模块(11),当传感链打包模块(8)接收到过半传感链节点反馈成功时,传感链打包模块(8)把区块头部和区块内容写入传感链存储模块(12);
传感分片存储模块(10):传感器数据的存储模块,传感分片存储模块(10)接收分片打包模块(4)的签名、分片数据和采集公钥,传感分片存储模块(10)使用采集公钥对签名进行国密SM2解密得到字符串A,传感分片存储模块(10)对分片数据进行国密SM3哈希计算得到哈希值B,如果字符串A和哈希值B不相同则拒绝该请求.传感分片存储模块(10)对分片数据做持久化保存,并使用分片数据的哈希值B作为存储地址返回给分片打包模块(4),用于传感链验证模块(11)后续查询;
传感链验证模块(11):接收传感链打包模块(8)的区块同步信息、签名信息和节点公钥,传感链验证模块(11)区块同步信息进行国密SM3哈希计算得到区块同步信息的哈希值A,传感链验证模块(11)对节点公钥进行国密SM3哈希计算得到节点地址,传感链验证模块(11)从区块同步信息中获取传感链节点地址,与计算得到的节点地址进行比较,如果不相同则拒绝该请求,传感链验证模块(11)根据传感链节点地址从认证链存储模块(16)获取该节点地址的能力值N,传感链验证模块(11)使用节点公钥对签名信息进行国密SM2解密得到解密字符串B,判断解密字符串B是否与区块同步信息的哈希值A相同,如果不相同则拒绝该请求,传感链验证模块(11)从区块同步信息获取能力值A,将其与能力值N比较,如果能力值N小于能力值A则拒绝该请求,传感链验证模块(11)获取传感子链上一个区块的区块地址和区块内容哈希值,和区块同步信息的上一个区块的区块地址和区块内容哈希值比较,如不相同则拒绝该请求,传感链验证模块(11)使用上一个区块的区块地址、区块内容哈希值和区块同步信息的新区块地址进行国密SM3哈希计算得到哈希值K,传感链验证模块(11)计算传感链节点的难度值,传感链节点的难度值为传感链的能力值除以能力值A,判断当哈希值K小于等于该传感链节点的难度值的倒数时,哈希值K作为数值小数部分,如果大于则拒绝该请求,传感链验证模块(11)对区块内容的传感器采用随机算法抽取传感器,在区块内容中取出该传感器的传感器索引和分片存储地址、最大值/最小值/均值,传感链验证模块(11)根据分片存储地址从传感分片存储模块(10)取出存储块,根据传感器索引找到该传感器的存储页,对存储页的所有数据取平均值得该存储块的该类型传感器的均值,对存储页的所有数据取最大值得该类型传感器的的最大值,对同一传感器的所有数据取最小值得该类型传感器的最小值,传感链验证模块(11)将区块内容的最大值/最小值/均值和计算出最大值/最小值/均值比较,如不相同,则拒绝该请求,如相同,传感链验证模块(11)则向传感链打包模块(8)返回成功,同时把区块头部和区块内容写入传感链存储模块(12);
传感链存储模块(12):传感链存储模块(12)接收传感链验证模块(11)和传感链打包模块(8)的区块头部和区块内容,进行链式存储,把新区块接到原有证据区块链上,当传感链存储模块(12)的新增加区块个数大于阀值K时,传感链存储模块(12)把新增区块头部作为提交信息,传感链存储模块(12)对提交信息进行国密SM3哈希计算得到哈希值,传感链存储模块(12)把哈希值使用节点私钥国密SM2加密得到签名信息,传感链存储模块(12)把提交信息和签名发送给认证链执行模块(13);
认证链执行模块(13):认证链执行模块(13)接收到传感链存储模块(12)提交信息和签名,认证链执行模块(13)根据提交信息中的公钥,认证链执行模块(13)使用公钥对签名信息进行国密SM2解密得到字符串A,认证链执行模块(13)对提交信息进行国密SM3哈希处理得到哈希串B,判断字符串A和哈希串B是否相等,不相同则拒绝该请求,相同则继续处理,认证链执行模块(13)从认证链存储模块(16)使用国密SM3对公钥进行哈希处理得到节点地址,认证链执行模块(13)根据节点地址查询到认证链存储模块(16)的节点能力值,认证链执行模块(13)接收其他节点传感链存储模块(12)提交新增区块头部与签名信息,把符合节点能力值相加,直到大于阀值,即认证链执行模块(13)符合条件,认证链执行模块(13)等待认证链地址生成模块(14)生成区块地址,认证链执行模块(13)把区块地址和提交信息提交给认证链打包模块(15);
认证链地址生成模块(14):认证链地址生成模块(14)把新区块地址返回给认证链执行模块(13);
认证链打包模块(15):认证链打包模块(15)接收认证链执行模块(13)的采集地址、提交信息和新区块地址,认证链打包模块(15)对提交信息进行打包,包含所有传感链新增区块信息,认证链打包模块(15)对区块内容进行国密SM3的哈希处理,区块内容的哈希值,认证链打包模块(15)把节点地址、区块内容的哈希值、新区块地址、上个区块地址和区块头部和区块内容合并为区块同步信息,认证链打包模块(15)对区块同步信息进行国密SM3哈希计算得到区块同步信息的哈希值,认证链打包模块(15)对区块同步信息的哈希值使用节点私钥国密SM2加密得到签名信息,认证链打包模块(15)把区块同步信息和签名信息发送其他传感链节点的认证链验证模块(16),认证链打包模块(15)接收到过半认证链节点反馈成功后认证链打包模块(15)把区块头部和区块内容写入认证链存储模块(17);
认证链验证模块(16):接收认证链打包模块(15)的区块同步信息和签名信息,认证链验证模块(16)对区块同步信息进行国密SM3哈希计算,得到区块同步信息的哈希值A,认证链验证模块(16)从区块同步信息中获取认证链节点的节点公钥,认证链验证模块(16)使用节点公钥对签名信息进行国密SM2解密得到解密字符串B,判断解密字符串B是否与区块同步信息的哈希值A相同,如果不相同则拒绝该请求,认证链验证模块(16)获取传感子链上一个区块的区块地址和区块内容哈希值,将其和区块同步信息的上一个区块的区块地址和区块内容哈希值比较,不相同这拒绝该请求,认证链验证模块(16)使用上一个区块的区块地址、区块内容哈希值和区块同步信息的新区块地址进行国密SM3哈希计算得到哈希值K,判断当哈希值K小于等于该传感链节点的难度值的倒数时,哈希值K作为小数部分,认证链验证模块(16)向认证链打包模块(15)返回成功,同时把区块头部和区块内容写入认证链存储模块(17);
认证链存储模块(17):认证链存储模块(17)接收认证链打包模块(15)和认证链验证模块(16)的区块头部和区块内容,进行链式存储,把新区块接到原有认证区块链上。
2.根据权利要求1所述的一种时序数据分片双链认证装置,其特征在于,切片采集模块(2)存储分片策略:切片采集模块(2)根据多个传感器(1)位置信息归为同一存储组,相近传感器被关联查找可能性,所有优先关联存储。
3.根据权利要求1所述的一种时序数据分片双链认证装置,其特征在于,传感链地址生成模块(7)的新地址生成方法:传感链上个区块地址和区块内容哈希值加上随机数生成哈希值,当哈希值小于该传感链节点的难度值的倒数时,把符合条件的随机数作为新区块地址。
4.根据权利要求1所述的一种时序数据分片双链认证装置,其特征在于,认证链地址生成模块(14)生成新区块地址方法:传感链上个区块地址和区块内容哈希值加上随机数生成哈希值小于该认证链区块的难度值的倒数时,把符合条件随机数作为新区块地址。
5.一种基于权利要求1-4中任意一项所述的时序数据分片双链认证方法,包括如下步骤:
S1、传感器(1)按照周期产生数据,传感器(1)把产生数据发送切片采集模块(2);
S2、切片采集模块(2)接收多个传感器(1)的周期性采样数据按照存储分片策略生成存储分片,切片采集模块(2)将切片数据发送聚合模块(3)和分片打包模块(4);
S2.1、切片采集模块(2)存储分片策略:切片采集模块(2)根据多个传感器(1)位置信息(如位置距离小于100米半径内或手动归)归为同一存储组,相近传感器被关联查找可能性,所有优先关联存储;
S2.2、切片采集模块(2)对每一切片组的相同采集类型的传感器归为同一存储线,相近和相同类型传感器,
S2.3、切片采集模块(2)为不同存储组分配不同存储块,切片采集模块(2)存储块按照存储线进行分页得到存储页;
S2.4、切片采集模块(2)把接收到同存储组和相同采集的传感器存储在一个存储页;
S2.5、切片采集模块(2)根据传感链区块生成周期,把所有存储组的存储块都发送给分片打包模块(4)和聚合模块(3);
S3、聚合模块(3)接收切片采集模块(2)存储块进行聚合处理,用于分片打包模块(4)压缩重复数据或无效数据,聚合模块(3)取出存储块的一个存储页,对存储页的所有数据取平均值得该存储块的该类型传感器的均值,对存储页的所有数据取最大值得该类型传感器的最大值,对同一传感器的所有数据取最小值得该类型传感器的最小值,聚合模块(3)存储块的所有传感器的最大值/最小值/均值发送给分片打包模块(4);
S4、分片打包模块(4)接收切片采集模块(2)发送的存储块并进行分片打包,
S4.1、分片打包模块(4)接收聚合模块(3)存储块的所有存储页的最大值/最小值/均值和分片打包模块(4)的存储组的存储块对应存储页的最大值/最小值/均值进行距离计算,对应最大值/最小值/均值相减,取平方,相加再取开方得到存储页的变化距离值,判断变化距离值是否小于阀值,如果小于阀值则该存储组的该类型传感器变化量小和数据冗余,存储块删除该存储页;
S4.2、分片打包模块(4)把接收的所有存储块打包成一个分片数据,对该分片数据进行国密SM3的哈希处理,得到256比特分片哈希值,使用分片打包模块(4)对256比特分片哈希值使用采集私钥的SM2加密得到签名,分片打包模块(4)将签名、分片数据和公钥地址发送给传感分片存储模块(10),传感分片存储模块(10)存储后返回分片打包模块(4)生成分片存储地址;
S4.3、分片打包模块(4)生成分片的传感器索引:所有传感器地址和该传感器在分片数据的位置偏移,传感器地址为该传感器的唯一标识;
S4.4、分片打包模块(4)把传感器地址、传感器索引、分片存储地址、所有存储页的最大值/最小值/均值和当前时戳打包为分片元数据提交信息,分片打包模块(4)对分片元数据提交信息进行国密SM3的哈希处理,得到分片元数据提交信息的哈希值,分片打包模块(4)使用采集私钥的SM2加密得到分片元数据提交信息的签名;
S4.5、分片打包模块(4)把分片元数据提交信息、分片元数据提交信息的签名和采集公钥提交给传感链执行模块(6),分片打包模块(4)把传感器的时序数据进行分片整理减少传感链的认证次数;
S5、传感链执行模块(6)处理分片元数据提交信息、分片元数据提交信息的签名和采集公钥过程,
S5.1、传感链节点的传感链执行模块(6)接收分片打包模块(4)接收到分片元数据提交信息、分片元数据提交信息的签名和采集公钥;
S5.2、传感链执行模块(6)对分片提交信息使用国密SM3的哈希处理,得到分片元数据提交信息的哈希值,传感链执行模块(6)对分片元数据提交信息的签名使用采集公钥解密得到解密值,判断解密值与分片元数据提交信息的哈希值是否相同,如果不相同,则拒绝该请求,如果相同传感链执行模块(6)则对采集公钥进行国密SM3的哈希处理得到采集地址;
S5.3、传感链执行模块(6)从认证链存储模块(16)查询采集地址是否具有采集权限,如果没有权限,则无权限拒绝该请求;
S5.4、传感链执行模块(6)等传感链地址生成模块(7)生成新区块地址;
S5.5、传感链执行模块(6)接收到传感链地址生成模块(7)的新区块地址,传感链执行模块(6)将接收到的所有的采集地址、分片元数据提交信息和新区块地址提交给传感链打包模块(8);
S6、传感链地址生成模块(7)生成传感链的新区块地址,
S6.1、传感链地址生成模块(7)根据节点地址查找认证链存储模块(16)获取传感链节点的能力值,传感链地址生成模块(7)能力值越高,计算传感链的新区块地址难度越低,传感链地址生成模块(7)计算该传感链节点的难度值,传感链节点的难度值除以传感链节点的能力值,节点地址为传感链节点的唯一标识,节点地址在传感链和认证链共用,传感链节点的公钥进行国密SM3哈希生成节点地址;
S6.2、传感址生成模块(7)的新地址生成方法:当传感链上个区块地址和区块内容哈希值加上随机数生成哈希值小于该传感链节点的难度值的倒数时,把符合条件随机数作为新区块地址;
S6.3、传感链地址生成模块(7)生成传感链新区块地址后通知传感链执行模块(6);
S7、传感链打包模块(8)打包,
S7.1、传感链打包模块(8)接收传感链执行模块(6)的采集地址和分片元数据提交信息以及新区块地址,
S7.2、传感链打包模块(8)对传感器所有记录、传感器地址,传感器索引、分片存储地址、所有存储页的最大值/最小值/均值、时戳和采集地址进行打包,合并成一个区块内容,区块内容包含所有传感器新增记录;
S7.3、传感链打包模块(8)对区块内容进行国密SM3的哈希处理得到区块内容的哈希值,传感链打包模块(8)将区块内容的哈希值,新区块地址、上个区块地址和其区块内容哈希值、传感链节点地址、传感链节点的能力值作为区块头部,区块头部和区块内容合并为区块同步信息;
S7.4、传感链打包模块(8)对区块同步信息进行国密SM3进行哈希计算得到区块同步信息的哈希值,传感子链区块的传感器打包模块(8)对区块同步信息的哈希值使用节点私钥国密SM2加密得到签名信息;
S7.5、传感链打包模块(8)把区块同步信息、签名信息和节点公钥发送给其他传感链节点的传感链验证模块(11);
S7.6、当传感链打包模块(8)接收到过半传感链节点反馈成功时,传感链打包模块(8)把区块头部和区块内容写入传感链存储模块(12);
S8、传感链验证模块(11)检验传感链打包模块(8)的区块合法性,
S8.1、传感链验证模块(11)接收传感链打包模块(8)的区块同步信息、签名信息和节点公钥,传感链验证模块(11)区块同步信息进行国密SM3进行哈希计算得到区块同步信息的哈希值A;
S8.2、传感链验证模块(11)对节点公钥进行国密SM3得到节点地址,传感链验证模块(11)从区块同步信息中获取传感链节点地址,与计算得到的节点地址进行比较,如果不相同则拒绝该请求;
S8.3传感链验证模块(11)根据传感链节点地址从认证链存储模块(16)获取该节点地址的能力值N;
S8.4、传感链验证模块(11)使用节点公钥对签名信息进行国密SM2解密得到解密字符串B,判断解密字符串B是否与区块同步信息的哈希值A相同,如果不相同则拒绝该请求;
S8.5、传感链验证模块(11)从区块同步信息获取能力值A,将其与能力值N比较,如果能力值N小于能力值A则拒绝该请求;
S8.6、传感链验证模块(11)获取传感子链上一个区块的区块地址和区块内容哈希值,和区块同步信息的上一个区块的区块地址和区块内容哈希值比较,如不相同则拒绝该请求;
S8.7、传感链验证模块(11)使用上一个区块的区块地址、区块内容哈希值和区块同步信息的新区块地址进行国密SM3哈希计算得到哈希值K;
S8.8、传感链验证模块(11)计算传感链节点的难度值,传感链节点的难度值为传感链的能力值除以能力值A,判断当哈希值K小于等于该传感链节点的难度值的倒数时,哈希值K作为数值小数部分,如果大于则拒绝该请求;
S8.9、传感链验证模块(11)对区块内容的传感器采用随机算法抽取传感器,在区块内容中取出该传感器的传感器索引和分片存储地址、最大值/最小值/均值,传感链验证模块(11)根据分片存储地址从传感分片存储模块(10)取出存储块,根据传感器索引找到该传感器的存储页,对存储页的所有数据取平均值得该存储块的该类型传感器的均值,对存储页的所有数据取最大值得该类型传感器的的最大值,对同一传感器的所有数据取最小值得该类型传感器的最小值,传感链验证模块(11)将区块内容的最大值/最小值/均值和计算出最大值/最小值/均值进行比较,如不相同,则拒绝该请求,使用多节点对检对传感分片存储模块(10)的存储进行随机抽检,对传感分片存储模块(10)提高存储可靠性要求;
S8.10、传感链验证模块(11)向传感链打包模块(8)返回成功,同时把区块头部和区块内容写入传感链存储模块(12);
S9、传感分片存储模块(10)接收分片打包模块(4)的签名、分片数据和采集公钥,传感分片存储模块(10)使用采集公钥对签名进行国密SM2解密得到字符串A,传感分片存储模块(10)对分片数据进行国密SM3哈希计算得到哈希值B,如果字符串A和哈希值B不相同则拒绝该请求.传感分片存储模块(10)对分片数据做持久化保存,并使用分片数据的哈希值B作为存储地址返回给分片打包模块(4),用于传感链验证模块(11)后续查询;
S10、传感链存储模块(12)接收传感链数据存储同时向认证链同步;
S10.1、传感链存储模块(12)接收传感链验证模块(11)和传感链打包模块(8)的区块头部和区块内容,进行链式存储,把新区块接到原有证据区块链上;
S10.2、传感链存储模块(12)的新增加区块个数大于阀值K时,传感链存储模块(12)把新增区块头部作为提交信息,传感链存储模块(12)对提交信息进行国密SM3哈希计算得到哈希值,传感链存储模块(12)把哈希值使用节点私钥国密SM2加密得到签名信息,传感链存储模块(12)把提交信息和签名提交认证链执行模块(13);
S11、认证链执行模块(13)接收到传感链存储模块(12)提交信息和签名;
S11.1、认证链执行模块(13)根据提交信息中的公钥,认证链执行模块(13)使用公钥签名信息进行国密SM2解密得到字符串A,认证链执行模块(13)对提交信息进行国密SM3哈希处理得到哈希串B,判断字符串A和哈希串B是否相等,不相等则拒绝该请求,相同继续处理;
S11.2、认证链执行模块(13)从认证链存储模块(16)使用国密SM3对公钥哈希处理得到节点地址,认证链执行模块(13)根据节点地址查询到认证链存储模块(16)的节点能力值,认证链执行模块(13)接收其他节点传感链存储模块(12)提交,把符合节点能力值相加,直到大于阀值,则认证链执行模块(13)符合条件;
S11.3、认证链执行模块(13)等待认证链地址生成模块(14)生成区块地址,认证链执行模块(13)把区块地址和提交信息提交给认证链打包模块(15);
S12、认证链地址生成模块(14)生成新地址方法,传感链上个区块地址和区块内容哈希值加上随机数生成哈希值小于该认证链区块的难度值的倒数时,把符合条件随机数作为新区块地址,认证链地址生成模块(14)把新区块地址返回给认证链执行模块(13);
S13、认证链打包模块(15)的认证区块打包流程,
S13.1、认证链打包模块(15)接收认证链执行模块(13)的采集地址、提交信息和新区块地址,认证链打包模块(15)对提交信息进行打包,包含所有传感链新增区块信息;
S13.2、认证链打包模块(15)对区块内容进行国密SM3的哈希处理,区块内容的哈希值,认证链打包模块(15)把节点地址、区块内容的哈希值、新区块地址、上个区块地址和区块头部和区块内容合并为区块同步信息;
S13.3、认证链打包模块(15)对区块同步信息进行国密SM3哈希计算得到区块同步信息的哈希值,认证链打包模块(15)对区块同步信息的哈希值使用节点私钥国密SM2加密得到签名信息;
S13.4、认证链打包模块(15)把区块同步信息和签名信息发送其他传感链节点的认证链验证模块(16);
S13.5、认证链打包模块(15)接收到过半认证链节点反馈成功后认证链打包模块(15)把区块头部和区块内容写入认证链存储模块(17);
S14、认证链验证模块(16)认证认证链打包模块(15)流程,
S14.1、认证链验证模块(16)接收认证链打包模块(15)的区块同步信息和签名信息,认证链验证模块(16)对区块同步信息进行国密SM3进行哈希计算,得到区块同步信息的哈希值A;
S14.2、认证链验证模块(16)从区块同步信息获取认证链节点的节点公钥,认证链验证模块(16)使用节点公钥对签名信息进行国密SM2解密得到解密字符串B,判断解密字符串B是否与区块同步信息的哈希值A相同,如果不相同则拒绝该请求;
S14.3、认证链验证模块(16)获取传感子链上一个区块的区块地址和区块内容哈希值,将其和区块同步信息的上一个区块的区块地址和区块内容哈希值比较,不相同则拒绝该请求,认证链验证模块(16)使用上一个区块的区块地址、区块内容哈希值和区块同步信息的新区块地址进行国密SM3哈希计算得到哈希值K,判断当哈希值K小于等于该传感链节点的难度值的倒数时,哈希值K作为小数部分,认证链验证模块(16)向认证链打包模块(15)返回成功,同时把区块头部和区块内容写入认证链存储模块(17);
S15、认证链存储模块(17)接收认证链打包模块(15)和认证链验证模块(16)的区块头部和区块内容,进行链式存储,把新区块接到原有认证区块链上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210311891.7A CN114760066B (zh) | 2022-03-28 | 2022-03-28 | 一种时序数据分片双链认证方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210311891.7A CN114760066B (zh) | 2022-03-28 | 2022-03-28 | 一种时序数据分片双链认证方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114760066A true CN114760066A (zh) | 2022-07-15 |
CN114760066B CN114760066B (zh) | 2023-05-23 |
Family
ID=82327415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210311891.7A Active CN114760066B (zh) | 2022-03-28 | 2022-03-28 | 一种时序数据分片双链认证方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114760066B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103442359A (zh) * | 2013-09-02 | 2013-12-11 | 北京鹏通高科科技有限公司 | 基于短距离无线接入方式的传感器节点认证方法和系统 |
CN107426234A (zh) * | 2017-08-08 | 2017-12-01 | 武汉协鑫新能源电力设计有限公司 | 一种基于区块链技术的绿色电力认证机制 |
CN111478902A (zh) * | 2020-04-07 | 2020-07-31 | 江苏润和智融科技有限公司 | 电力边缘网关设备及基于该设备的传感数据上链存储方法 |
CN111769952A (zh) * | 2020-06-29 | 2020-10-13 | 福建福链科技有限公司 | 一种区块链传感器的数据处理系统 |
CN112364388A (zh) * | 2020-10-28 | 2021-02-12 | 中车工业研究院有限公司 | 基于区块链实现的传感器数据认证方法及装置 |
US20210200844A1 (en) * | 2019-12-31 | 2021-07-01 | Wipro Limited | Method and system for alleviating authenticity of sensors in biometric authentication |
-
2022
- 2022-03-28 CN CN202210311891.7A patent/CN114760066B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103442359A (zh) * | 2013-09-02 | 2013-12-11 | 北京鹏通高科科技有限公司 | 基于短距离无线接入方式的传感器节点认证方法和系统 |
CN107426234A (zh) * | 2017-08-08 | 2017-12-01 | 武汉协鑫新能源电力设计有限公司 | 一种基于区块链技术的绿色电力认证机制 |
US20210200844A1 (en) * | 2019-12-31 | 2021-07-01 | Wipro Limited | Method and system for alleviating authenticity of sensors in biometric authentication |
CN111478902A (zh) * | 2020-04-07 | 2020-07-31 | 江苏润和智融科技有限公司 | 电力边缘网关设备及基于该设备的传感数据上链存储方法 |
CN111769952A (zh) * | 2020-06-29 | 2020-10-13 | 福建福链科技有限公司 | 一种区块链传感器的数据处理系统 |
CN112364388A (zh) * | 2020-10-28 | 2021-02-12 | 中车工业研究院有限公司 | 基于区块链实现的传感器数据认证方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114760066B (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109766673B (zh) | 一种联盟式音视频版权区块链系统及音视频版权上链方法 | |
US9977918B2 (en) | Method and system for verifiable searchable symmetric encryption | |
CN113326317A (zh) | 基于同构多链架构的区块链存证方法及系统 | |
CN113032735B (zh) | 基于区块链技术的数字资产存证及侵权监测系统和方法 | |
CN212086236U (zh) | 基于区块链的环境监测数据采集处理系统 | |
CN111698241B (zh) | 物联网云平台系统、验证方法和数据管理方法 | |
CN112732695B (zh) | 一种基于区块链的云存储数据安全去重方法 | |
CN106998252A (zh) | 基于云数据库的轻量级rfid群组标签认证方法 | |
CN111625870A (zh) | 基于区块链的安全审计方法、系统及存储介质 | |
CN110362536A (zh) | 基于告警关联的日志密文检索方法 | |
CN114444105A (zh) | 一种智能审计数据报送安全方法 | |
CN111639355B (zh) | 一种数据安全管理方法和系统 | |
US20150379524A1 (en) | Method and system for authenticating physical items | |
CN111327627B (zh) | 基于区块链的网络安全评估数据处理方法 | |
CN110008753A (zh) | 一种在业务数据敏感领域内的数据处理方法及系统 | |
KR102013415B1 (ko) | 개인정보 접속기록 무결성 검증시스템 및 검증방법 | |
CN116090024B (zh) | 一种数据的可靠存储装置、系统及方法 | |
CN114760066A (zh) | 一种时序数据分片双链认证方法与装置 | |
CN114117499B (zh) | 一种基于权限管理的可信数据交换方法 | |
CN116432193A (zh) | 一种金融数据库数据保护改造方法及其金融数据保护系统 | |
CN112733188B (zh) | 一种敏感文件管理方法 | |
CN115134169A (zh) | 一种区块链数据管理方法及系统 | |
CN115277690A (zh) | 一种基于区块链的工业数据监管系统 | |
CN114189359A (zh) | 一种避免数据篡改的物联网设备、数据安全传输方法和系统 | |
Li et al. | In-Vehicle Digital Forensics for Connected and Automated Vehicles With Public Auditing |
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 |