一种基于布隆过滤器的传感器溯源编码方法

文档序号:26589977发布日期:2021-09-10 20:35阅读:116来源:国知局
一种基于布隆过滤器的传感器溯源编码方法

1.本发明涉及数据溯源领域,尤其是一种基于布隆过滤器的传感网络溯源编码方法。


背景技术:

2.数据溯源最初被应用于科学研究领域,随着人类社会逐渐步入信息化时代,科学研究产生的数据量急速膨胀,在一些学科如农业,地理,历史中,对于数据的真实性和完整性有着较高的要求,数据溯源的出现,符合了这些学科对于数据精准度和安全性的要求。实际上,人类社会自古以来都存在着多种方式以保护数据的真实性,但在信息化来临之前,多靠人工完成考证数据的工作。比如医学中的病理学,通过寻找病因,疾病发生的具体环节和过程,分析人体结构在生病时产生的变化,寻找疾病的本质,给出正确的判断,以寻找正确的应对方法。这种探求的过程,也是一个溯源的过程。然而随着信息科学技术的发展,我们可以通过多种计算机手段去解决这个问题,数据溯源就是一个很好的案例。
3.在目前已有的溯源系统中,需要高额的管理成本是大多系统共有的问题:日志记录法会带来大量的冗余数据,区块链溯源技术会包含所有数据操作历史的完整记录,这两种方法的溯源数据会超过原数据的总量,带来大量的存储和查询成本。因而采取合适的手段缩减溯源数据量就成为了较为常见的解决方案。


技术实现要素:

4.本发明所要解决的技术问题在于,提供一种基于布隆过滤器的传感网络溯源编码方法,解决了传感网络中,溯源数据量大的问题并在一定程度上保证了数据的安全性。
5.为解决上述技术问题,本发明提供一种基于布隆过滤器的传感网络溯源编码方法,包括如下步骤:
6.(1)根据组网结构,选定布隆过滤器包长m和哈希函数个数k,生成布隆过滤器bf={b0,b1,...,b
m
‑1},其中b0,b1,...,b
m
‑1表示布隆过滤器中的m位,在初始化时,每位都会置为0。
7.(2)对于传感网络中,每一个产生数据包的节点,都会根据其数据包的序列号seq和节点的私钥ki生成节点id(vid),并根据bf生成一个布隆过滤器包ibf,将其初始化为0。最后将vid插入ibf中,再将该数据包整体上传到下一个节点中。对于节点n
i
的vid基于如下公式进行计算:vid=generatevid(n
i
,seq)=e
ki
(seq),e代表对称加密算法,本专利中使用aes对其进行加密。
8.(3)每一个中间节点接收到数据之后,都会重复(2)中的步骤,将其vid与收到的溯源信息聚合,即在其基础之上在进行布隆过滤器加密。
9.(4)数据到达根节点之后,此时的布隆过滤器节点包ibf会包含整个路径的信息,我们需要对其进行验证,因此会调用溯源验证与收集算法对节点路径进行验证。
10.本方法需要针对每个网络的路径长度以及数据包长度,设定合适的m和k值,以保
证达到最佳的数据压缩效果,压缩效率能达到o(n)级。
11.当根节点接收到数据包时,它执行溯源验证过程,该过程假定根节点知道数据路径应该是什么,并检查ibf以查看是数据包否遵循了正确的路径进行转发。根节点初始化全为0的布隆过滤器bfc,位数为m。然后,通过为路径中的每个节点生成vid,并将此vid插入布隆过滤器来更新bfc。更新之后的bfc表示根节点基于节点编码算法对于溯源信息的二次计算。为了验证溯源信息的正确性,根节点接着将bfc与所接收的ibf进行比较。当且仅当bfc等于ibf时,溯源验证成功。
12.假如验证失败,将会触发溯源收集过程,该过程尝试从编码的溯源信息中检索节点,并尝试区分路径更改和攻击事件。对于网络中的任意一个节点n
i
,根节点使用2中的公式,在溯源图中建立对应的顶点。然后,根节点遍历ibf数组,并执行vid的成员资格判定算法,如果该算法返回true,则该顶点很可能存在于溯源网络中,即是数据路径中的传感器节点,否则会发出攻击预警。
13.本发明的有益效果为:本发明利用布隆过滤器,将传感网络节点中溯源信息的存储空间压缩到了原数据的1/10以内,在越大的数据量下,压缩效果越优秀。同时,为了防止因攻击或者组网调整导致溯源错误的问题,本发明设计了溯源验证和溯源收集算法,对组网结构进行验证,并在组网结构发生改变时,重新收集组网信息并发出预警,提升了溯源系统的扩展性和安全性。
附图说明
14.图1为本发明中基于布隆过滤器的溯源编码方法流程示意图。
15.图2为本发明的溯源验证和收集过程流程图。
具体实施方式
16.如图1所示,一种基于布隆过滤器的传感网络溯源编码方法,包括如下步骤:
17.(1)根据组网结构,选定布隆过滤器包长m和哈希函数个数k,生成布隆过滤器bf={b0,b1,...,b
m
‑1},b0,b1,...,b
m
‑1表示布隆过滤器中的m位,在初始化时,每位都会置为0。
18.(2)对于传感网络中,每一个产生数据包的节点,都会根据其数据包的序列号seq和节点的私钥ki生成节点id(vid),并根据bf生成一个布隆过滤器包ibf,将其初始化为0。最后将vid插入ibf中,再将该数据包整体上传到下一个节点中。
19.(3)每一个中间节点接收到数据之后,都会重复(2)中的步骤,将其vid与收到的溯源信息聚合,即在其基础之上在进行布隆过滤器加密。
20.(4)数据到达根节点之后,此时的布隆过滤器节点包ibf会包含整个路径的信息,我们需要对其进行验证,因此会调用溯源验证与收集算法对节点路径进行验证。
21.本发明中,针对传感网络节点处理能力较弱,存储空间小,难以存储大量的溯源数据,并且组网结构易改变,导致溯源错误的问题,本文设计了基于布隆过滤器的溯源数据编码和解码算法。该算法利用布隆过滤器,将传感网络节点中溯源信息的存储空间和根节点中溯源查询的时间,都控制在了o(k)级别。同时,为了防止因攻击或者组网调整导致溯源错误的问题,本文设计了溯源验证和溯源收集算法,对组网结构进行验证,并在组网结构发生改变时,重新收集组网信息并发出预警,提升了溯源系统的扩展性和安全性。本发明主要包
含数据编码,数据验证和数据收集三个节点,具体包括:
22.数据编码阶段:
23.(1)如图2所示,我们通过使用图中的示例网络来说明编码机制。所考虑的数据路径为<1、3、6>,其中节点1是数据源节点。对于布隆过滤器的操作,我们使用10位的布隆过滤器bf和一组3个的哈希函数h={h1,h2,h3}。当节点1生成序列号为seq的数据包时,它会创建bf包ibf0,并将其设置为全0。然后,该节点创建一个与其溯源记录相对应的顶点,并将vid计算为vid1=e
k1
(seq)。为了将vid1插入ibf0,节点1生成三个索引,分别为h1(vid1)=1,h2(vid1)=2,h3(vid1)=6。然后,通过将ibf0[1],ibf0[2]和ibf0[6]设置为1来插入vid。然后将更新后的ibf0与数据包一起发送给节点4。
[0024]
(2)节点4在接收到数据包后,对数据和溯源数据进行汇聚。由于该节点有一个子节点,因此它只将自己的溯源记录与ibf0进行汇总。为此,该节点生成一个vid4=e
k1
(seq),并计算3个哈希函数的值为h1(vid3)=1,h2(vid
63
)=4,h3(vid3)=5,最后通过将ibf的第1,4,5位设置为1,将插vid4入ibf0,所生成的新布隆过滤器节点为ibf1。然后将带有ibf1的数据包转发到节点7,节点7重复上述溯源聚合步骤。最后,rn接收到具有最终ibf(节点7发送的ibf7)的溯源信息,并将该ibf存储以用于进一步处理。
[0025]
数据验证阶段:
[0026]
当根节点接收到数据包时,它执行溯源验证过程,该过程假定根节点知道数据路径应该是什么,并检查ibf以查看是数据包否遵循了正确的路径进行转发。根节点初始化全为0的布隆过滤器bfc,位数为m。然后,通过为路径中的每个节点生成vid,并将此vid插入布隆过滤器来更新bf。更新之后的bfc表示根节点基于节点编码算法对于溯源信息的二次计算。为了验证溯源信息的正确性,根节点接着将bfc与所接收的ibf进行比较。当且仅当bfc等于ibf时,溯源验证成功。
[0027]
数据收集阶段
[0028]
(1)溯源收集方案通过对传输链路中所有节点进行ibf成员资格测试,并将可能存在溯源图中的节点存入数组。对于网络中的任意一个节点n
i
,根节点使用公式4

2,在溯源图中建立对应的顶点。然后,根节点遍历ibf数组,并执行vid
i
的成员资格判定算法,如果该算法返回true,则该顶点很可能存在于溯源网络中,即是数据路径中的传感器节点。这样的推断可能会由于布隆过滤器的误报而带来错误(认为不存在的节点存在于数据路径中)。
[0029]
(2)我们假设布隆过滤器的位数为m,k是哈希函数的个数,那么在数组中某一位特定的位在进行了k次元素插入的哈希操作时,某一位没有被置“1”的概率是:那么插入了n个元素之后,某一被置位为“1”的概率是:那么,检测某一元素是否在该集合中。标明某个元素是否在集合中所需的k个位置都按照如上的方法设置为"1",但是该方法可能会使算法错误的认为某一原本不在集合中的元素却被检测为在该集合中,该概率为当选择了合适的m和n即:时,布隆过滤器阳性误报的概率小于0.005,因此基本可以排除布隆过滤器阳性误报这一问题。一旦根节点最终确定了需被判定点的集合s=<n

l1
,n

l2
,...,n
′1,...,n

p
>。它就在该集合上溯源验证算
法,通过执行此步骤以区分合法路由更改和恶意活动。如果验证成功,我们认为数据路径自然发生了变化,我们已经能够正确确定路径,否则,意味着节点收到外部攻击。
[0030]
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1