基于区块链技术的机会网络安全性研究
2019-02-12马维刚
摘 要:机会网络由于具有间歇式连接、多跳转发等特点,很容易遭受恶意攻击。文章提出一种基于区块链技术的节点身份识别方案,可以检测出破坏网络的恶意节点,在此基础上改进了Epidemic路由,在提高消息投递率的同时,降低了网络开销和平均延迟。通过仿真实验,证实了该方案可以有效地防范各种恶意攻击,在消息投递率、平均延迟、网络开销以及恶意节点检测率等方面均优于传统方案。
关键词:机会网络;区块链;恶意攻击;身份识别;路由优化
1 区块链技术的优势分析
机会网络是一种不需要源节点和目的节点之间存在完整链路,利用节点移动带来相遇机会的自组织网络[1]。机会网络不要求网络的全连通,更适合实际的自组网需求,对于未来普适计算具有重大影响[2]。
机会网络具有网络稀疏性、间歇式连接的特点,没有安全的认证中心,节点可以随意加入和退出网络,使得恶意节点很容易潜伏进网络进行破坏式攻击。信任管理是解决该问题的有效途径,现有的信任管理系统按分布方式可以分为两类:集中式和分布式。
集中式信任管理通过设立权威的中心机构集中管理每个用户的信任值,但是存在极大的安全威胁。倘若中心机构被恶意用户攻破,不仅会造成用户信息的泄露,还会面临数据被篡改的风险[3]。相较于中心化信任管理,分布式信任管理将信任值的计算交由每个节点来维护,节点在网络中既承担消息转发的任务,又承担着信任值计算和维护的任务,对于自身存储资源和计算能力均有限的节点,大大加重了节点的负担,容易导致节點因节能而出现自私的行为[4]。
区块链是一种按照时间顺序将数据区块以链条方式组成的数据结构,并以密码学方式保证不可篡改和不可伪造的分布式去中心化账本,能够安全存储简单的、有先后关系的、能在系统内进行验证的数据[5]。区块链可以解决集中式和分布式信任管理系统的核心缺陷,基于此,本文提出一种基于区块链技术的机会网络信任管理系统,选择计算能力和存储能力强大的节点(以下称之为控制器)作为挖矿节点,负责维护网络中所有节点的信任值。该系统兼顾了传统集中式信任管理系统的数据交互优点以及传统分布式信任管理系统覆盖面广的特点,能建立一个覆盖范围更大、数据交互能力更强和数据安全性更高的机会网络身份验证体系。
2 3种恶意节点的攻击方式
(1)消息篡改攻击:恶意节点接收到真消息,会将消息篡改,然后将篡改后的假消息进行播报。
(2)丢包攻击:恶意节点先向消息发送节点承诺愿意转发消息,其在接收到消息后,一旦脱离与消息发送节点的通信范围,便立即将接收到的消息丢弃。
(3)诽谤攻击:恶意节点会上传不公平的行为评级,比如,消息篡改攻击中,恶意节点会将所有播报真消息的节点生成负评级,而将所有播报假消息的节点生成正评级。丢包攻击中,当正常节点将消息转发给恶意节点,恶意节点不会为其生成消息反馈,相当于诽谤其没有转发消息。
3 技术路线
3.1 消息篡改攻击防范模型
(1)消息鉴别。节点在接收到某消息时,需要计算消息可信度,计算公式如下:
(1)
是节点k发送的消息j的可信度,tk是节点k的当前信任值,节点可通过向邻近控制器发送查询请求获得特定节点的信任值,α控制消息可信度的变化率。
在一段时间内,节点会将所有接收到的消息分组{,,...,},其中,Mj代表报告事件ej的消息组,由于恶意节点的干扰,消息组会掺杂虚假的消息,因此,节点需要对每个消息组进行消息判别,本文采用的是朴素贝叶斯公式:
(2)
是事件ej的对立事件,。。是事件ej的先验概率。是事件ej的聚合可信度,且。
(2)评级生成。一旦超过阈值MSG_THR,接收节点则认为事件ej可信。对正确报告事件ej的节点生成正评级(+1),错误报告事件ej的节点生成负评级(﹣1)。评级格式:(sender, receiver, mk, rating),其中,sender和receiver分别是消息发送者和接收者,mk是消息的种类,rating是接收者为发送者播报消息mk生成的行为评级。
(3)信任值偏移量的计算。信任值偏移量是节点基于某个特定行为所获得的评价值,计算公式如下:
(3)
是节点k基于播报消息j行为的信任值偏移量,并且。m和n分别是正评级和负评级的个数,θ1和θ2分别控制正负评级的权重,为了得到更加可靠的结果,需要削弱少数评级组的影响,其中,θ1和θ2分别控制正负评级的权重,权重计算公式如下:
(4)
F(·)控制少数评级组的敏感度。例如:相较于,使得少数评级组对信任值偏移量的计算结果影响更小。
(4)选举矿工。本文采用POF机制来选举具有上传区块资格的矿工。每次区块链的更新为了使节点的信任值发生较大的变化,应当尽可能选择信任值偏移量绝对值总和最大的区块上传。故将控制器当前区块中所有节点的信任值偏移量的绝对值总和作为股权,股权越大,控制器越容易被选举为矿工。选举矿工的方法如下:
(5)
其中,IDCT是控制器的标识号,time是该区块的创建时间戳,PreHash是前一区块的哈希值,nonce是随机数,Si是哈希阈值。除了nonce值可以改变外,剩余值都是固定不可变的,控制器需要通过不断改变随机数,直到找到满足上述条件的随机数则挖矿成功。挖矿的难度取决于Si,Si是一串固定长度的二级制序列,其长度由使用的哈希算法确定。Si的高位有连续的0,0的个数决定了挖矿的难度。公式如下:
(6)
其中,Pi是CTi中信任值偏移量的绝对值总和,Pmax是Pi的上限值,是为了避免具有过大Pi的控制器连续赢得选举权的情况。Oi是控制器计算的移动节点信任值偏移量集合,每当控制器成功上传区块,将清除Oi中的元素。
Si的取值依赖于Pi,关系如下:
(7)
Int(x)返回x的整数部分,Nz是Si高位中连续0的个数,Nm是Si的总位数,取决于使用的哈希算法。本文采用的是SHA-256算法,Si的长度就是256位。
区块结构如图1所示,区块由区块头和区块体组成,区块头储存信息如下:第一,区块的基本信息,如区块的编号、上传的控制器编号、区块创建时间戳。第二,前一个区块的哈希值,用于将区块链接到现有的区块链上。第三,随机数和区块的哈希阈值,用于验证该区块的有效性。区块体存储信任值偏移量列表。
图1 区块结构
(5)分布式共识。控制器每生成一个区块,便向全网其他控制器广播该区块,其他控制器依据公式重新计算区块的hash值,根据公式(5)判断区块的有效性。若区块有效,则将其添加到自己的区块链上,否则丢弃该块。有时,控制器可能会同时接收到多个有效的区块,这时区块链便开始分叉。每个控制器选择一个分支并继续在其后添加新的区块,随着时间的推移,最长的分支成为网络的分布式共识,其他分支被丢弃。最长链原则保证了区块链的唯一性,同时也体现了大多数人的认可。
(6)黑名单更新。控制器每接收到一个新的区块,便会统计所有节点的信任值,若节点信任值低于预设阈值BAD_THR,便会将其加入黑名单列表,然后向周围节点广播,节点根据广播信息更新本地黑名单列表。对于处在黑名单列表中的节点,控制器会认为其是恶意节点而拒绝接收其上传的评级包;其他节点不会向其发送消息,也不会接收其发送的消息。通过黑名单,控制器和节点可以隔离恶意节点,达到将其从网络中剔除的目的。
3.2 丢包攻击防范模型
3.2.1 消息反馈机制
发送节点将消息转发给下一跳节点,为了检验中继节点是否如实地转发了消息,需要相应的机制来监测其行为。本文采用“L-ACK”消息反馈机制[6],节点Ni将消息转发给中继节点Ni+1,便会在本地验证列表VerifyList添加一条待验证记录,格式如下:(receiver, mk, time, define)。其中,receiver是中继节点标识,mk是消息的种类,time是Ni将mk发送给Ni+1的时间,define是Ni+1转发mk的确认标记。
图2为mk的传播路径,Ni节点将mk转发给Ni+1节点,为了确认Ni+1是否转发了mk,(Ni+2, Ni+3,..., NL-1)节点均可为Ni+1节点生成中继消息反饋,格式如下:(Witness, receiver, mk)。其中,Witness是证人节点,receiver是中继节点标识,mk是消息的种类。证人节点会将中继消息反馈存放到本地数据区,在将来的移动过程中与Ni相遇时便会向其发送中继消息反馈,证实中继节点Ni+1确实转发了消息mk。
图2 消息反馈
3.2.2 评级生成
消息反馈具有时效性,所以需要添加有效反馈时间上限ValidTime。若发送节点在ValidTime时间段内收到有关中继节点的中继消息反馈,则认为其确实转发了消息,为其生成正评级,否则生成负评级。
节点信任值偏移量的计算、区块上传以及黑名单的更新和上面提到的相同,此处不再赘述。
3.3 路由优化
为了实现消息的聚合判断,以鉴别恶意消息,同时最大化消息投递率,本文节点均采用Epidemic路由机制。Epidemic本质上是一种泛洪算法,期望通过多副本带来更多的相遇机会提高消息传输成功率、降低传输延迟,但是最大的缺点是增加了网络开销,且挤出效应使其在节点缓存资源有限、网络中节点分布密集的情况下性能急剧下降[7]。本文改进了Epidemic路由,具体方案是在Epidemic路由的基础上增加下面的机制,本文称其为Delivered-ACK机制。
(1)每个节点增加一张消息成功抵达的反馈列表MList = {m1, m2 , ..., mk}。
(2)若消息成功转发到目的节点,目的节点将消息标识添加到MList中,在之后节点相遇时,首先,交换各自的MList,遍历对方的MList中的每条消息,若本地MList中没有该消息便将其加入到本地MList;其次,检查本地消息缓冲区中是否存在该消息,若存在则将消息丢弃(因为消息已经传输到目的节点),否则遍历下一条消息。
4 实验配置及结果分析
4.1 仿真环境
本文使用ONE模拟器进行仿真,选用的移动模型为RWP,地图大小为1 000 m×1 000 m,仿真时间6 000 s,节点的通信半径为10 m,移动速度3~4 m/s,节点缓存空间大小为5 M。节点分为正常节点和恶意节点两组,总数为100。参数取值:α=0.015,β=0.01,γ=﹣3,MSG_THR=0.5,ValidTime =2 000 s,BAD_THR=﹣30。根据节点的攻击模式不同,将实验场景分为两组:
场景一,节点总数为100,恶意节点的攻击模式为消息篡改攻击和诽谤攻击。
场景二,节点总数为100,恶意节点的攻击模式为丢包攻击和诽谤攻击。
4.2 评价指标
本文将区块链机制和S-TRSS机制和Epidemic机制进行比较。TRSS机制利用节点社会相似性作为初始信任值、采用消息反馈机制来更新直接信任值,借助信任值信息共享机制来计算间接信任值,最后通过综合直接信任值和间接信任值得到节点的综合信任值。由于本文中并未考虑节点的社会相似性,考虑的是一个完全陌生的环境,故视所有节点的社会特征相似值均相同,但保留了消息反馈机制和信任值信息共享机制作为对比模型,故以下称之为“S-TRSS机制”。本文使用以下6个指标来比较上述方案的性能:
(1)真消息投递率,成功递交给目的节点且为真的消息数和源节点创建的消息数的比值。
(2)消息投递率,成功递交给目的节点的消息数与源节点创建的消息数的比值。
(3)网络开销率,所有消息的副本数与成功递交给目的节点的消息数的比值
(4)平均延迟,所有成功交付的消息从源节点产生到目的节点所花费的平均时间。
(5)恶意丢包数,恶意节点在整个仿真时间内丢弃的消息副本总数。
(6)恶意节点检测率,实际检测出的恶意节点与网络中所有恶意节点以及误判节点和的比值。
4.3 結果分析
4.3.1 模型一,消息篡改攻击和诽谤攻击
图3—5为区块链机制和Epidemic机制在消息传输各个方面的比较结果。区块链机制中消息接收节点可通过朴素贝叶斯算法鉴别消息,因此,区块链机制采用Delivered-ACK机制。对于已经抵达目的节点的消息,通过目的节点的反馈可以删除网络中冗余的副本,大大降低其网络开销。此外,区块链机制中控制器一旦检测出节点的信任值过低,便将其加入黑名单并广播给周围节点,节点不会与黑名单中的节点进行交互,故在消息转发时可以省去将消息转发给恶意节点的时间。Epidemic机制无恶意攻击防范措施,且是采用多副本传输的方式,因此,区块链机制在真消息投递率、网络开销以及平均延迟方面的效果均好于Epidemic机制。
图3 真消息投递率
图4 网络开销
图5 平均延迟
4.3.2 模型二,丢包攻击和诽谤攻击
Epidemic机制由于采用多副本传输的方式,没有路由优化和恶意攻击防范机制,故在消息传输各个方面的性能均表现最差。
在恶意节点占比较少时,凭借着消息反馈机制,S-TRSS机制能够发挥较为出色的性能,但是随着恶意节点占比的增加,正常节点在网络初期受恶意节点诽谤攻击的影响较大,因为初态时所有节点的信任值均为0.5左右,节点很难鉴别出虚假的信任值推荐信息,致使产生误判较为严重,其性能也急剧下降。此外,节点黑名单的更新依赖于节点之间的相遇,导致黑名单的更新出现较长延迟,处于网络边缘的节点很难接收到黑名单的更新信息。相较于无恶意节点防范机制的Epidemic机制,S-TRSS在消息传输各个方面的性能有所改善。
区块链机制去除了节点之间信任值推荐的功能,将对节点的信任值管理转移到控制器上,节点只需要向控制器发送查询请求就能获得特定节点的信任值,规避了恶意节点诽谤攻击的影响。黑名单由控制器广播可以更为及时地更新网络中其他节点的黑名单列表,从而减小了时间延迟带来的影响。通过改进路由,可显著降低网络开销和平均延迟,因此,区块链机制无论是在恶意节点检测率还是在消息投递率、网络开销和传输延迟上均优于S-TRSS机制以及Epidemic机制,具体数据如图6—10所示。
图6 消息投递率
图7 网络开销
图8 平均延迟
5 结语
本文提出了一种基于区块链技术的机会网络节点身份认证机制,通过该机制,节点可以高效、准确地识别出网络中的恶意节点。相较于传统只能识别单一攻击的信誉方案,区块链机制可以防范多重攻击甚至是组合式攻击。但是使用区块链机制需要网络中的节点以广播的形式传递消息,会极大地消耗节点资源而影响网络性能。本文通过对Epidemic路由进行改进,可以有效克服区块链机制对节点资源高消耗的缺点,既保证了恶意节点能被准确检测到,又提高了消息传输的成功率,降低网络开销和平均延迟,因此,可以构建一个轻量、高效的安全网络。
该方案依然存在不足之处,例如:如何将信任管理和隐私保护结合起来是一个有待深入研究的开放式问题;随机移动模型与现实网络环境差别较大。今后,笔者将精化区块链模型,扩大其适用范围,将节点隐私保护纳入到模型中。
基金项目:国家级大学生创新创业训练计划资助项目;项目编号:201910497147。
作者简介:马维刚(1999— ),男,湖北广水人,本科生;研究方向:通信网络安全。
图9 丢包数 图10 恶意节点检测率
[参考文献]
[1]熊永平,孙利民,牛建伟,等.机会网络[J].软件学报,2009(1):124-137.
[2]CONTI M,GIORDANO S.Multihop Ad Hoc networking: the reality[J].Communications Magazine IEEE,2007(4):88-95.
[3]王红凯,王志强,龚小刚.移动互联网安全问题及防护措施探讨[J].信息网络安全,2014(9):207-210.
[4]ASUQUO P M,CRUICKSHANK H S,SUN Z,et al.Analysis of DoS attacks in delay tolerant networks for emergency evacuation.[C].Xian:International Conference on Next Generation Mobile Applications.IEEE,2016.
[5]袁勇,王飞跃.区块链技术发展现状与展望[J].自动化学报,2016(4):481-494.
[6]YAO L,MAN Y,HUANG Z J,et al.Secure routing based on social similarity in opportunistic networks[J].IEEE Transactions on Wireless Communications,2016(1):594-605.
[7]孙践知,张迎新,陈丹,等.具有自适应能力的Epidemic路由算法[J].计算机科学,2012(7):104-107.
Research on opportunity network security based on block-chain technology
Ma Weigang
(School of Computer Science and Technology, Wuhan University of Technology, Wuhan 430063, China)
Abstract:Opportunity network is vulnerable to malicious attack because of its intermittent connection, multi-hop forwarding and so on. In this paper, a node identification scheme based on block chain technology is proposed, which can detect malicious nodes in broken ring networks. On this basis, the Epidemic routing is improved, which not only improves the message delivery rate, but also reduces the network overhead and average delay. The simulation results show that the scheme can effectively prevent all kinds of malicious attacks, and it is superior to the traditional scheme in message delivery rate, average delay, network overhead and malicious node detection rate.
Key words:opportunistic networks; block-chain; malicious attacks; identity; routing optimization