基于区块链技术的无线网络通信数据聚合隐私保护算法
2021-09-10杨振宇
杨 振 宇
(安徽交通职业技术学院, 合肥 230051)
数据聚合是处理无线网络通信数据的一种重要手段,通过对中间节点数据的聚合操作可显著降低数据通信的开销[1-2]。但需注意的是,数据聚合操作中的数据隐私保护问题不可忽视。
针对传统传输网络数据聚合算法存在隐私保护性较低和通信量较大的问题,叶木林提出了一种基于传输网络数据聚合技术的隐私保护方案[3]。该方案中,运用部分数据交换的策略以减少数据串通阶段不必要的数据交换,运用随机发送策略以提高数据聚合精度。该方案的算法通信效率及数据聚合精确度较高,可在一定程度上满足隐私保护的要求。陈思光等人提出了一种基于雾计算的智能电网安全与隐私保护数据聚合方案[4],利用云雾合作的多级聚合模型和同态加密算法,对实时数据进行多层隐私保护。对实时数据通过加密获得第一层隐私保护,在雾端通过细粒度聚合获得第二层隐私保护,在云节点将其作为系数嵌入符合霍纳规则的一元多项式从而完成第三层隐私保护。云雾数据聚合操作可有效抵御伪装攻击,保护数据的完整性,从而极大地减少冗余数据的传输量。相对于其他方案,此方案在安全性、实用性和高效性方面表现出极大优势。
区块链技术因其无需中介机构参与即可完成双方互信的行为特性,可作为分布式环境下在实体间建立信任的新思路与新方法[5]。因此,为进一步探讨通信数据聚合的隐私保护问题,本次研究将提出一种基于区块链技术的传输网络通信数据聚合隐私保护算法。本算法中,首先采用隐私同态技术对无线网络通信数据进行初步聚合,然后应用区块链技术对聚合数据在节点间传播持续时间、区块大小、传播速度、区块生成间隔与区块安全性之间的制约关系进行调整,从而实现无线网络通信数据隐私保护。
1 区块链技术
1.1 区块链技术的构架
区块链技术的本质,是利用加密的链式区块结构对数据进行验证和存储,各节点之间的验证、通信及信任等关系通过P2P网络技术和共识机制而实现。其中,数据信息由所有节点共同参与维护,数据信息的同步也是通过参与维护的每个节点定期与相邻节点进行信息交换来实现[6]。为了保证所有合法节点所持有的数据信息都相同,在此应用区块链技术建立起共识机制。区块链技术的整体基础框架如图1所示。
图1 区块链技术的基础框架
数据层包括底层数据区块和链式结构,可通过哈希算法、时间戳算法、Merkle树算法、非对称加密算法等实现对区块数据完整性和可溯源性的保护。网络层包括数据传播机制和交易验证机制,其主要任务是保证区块链上的各节点能够通过P2P网络实现有效通信,主要通过对网络组网方式及节点之间数据的传递和验证来实现。区块链网络采用的P2P技术是其核心技术之一,是实现去中心化和动态变化的主要手段。共识层包括共识机制、发行机制和激励机制,其主要作用是保证区块链上各分布式节点间数据的一致性和真实性。应用层主要负责对接区块链顶层的应用及其相关系统,是区块链可编程特性的依托,以区块链支持的各类脚本代码及智能合约作为支撑。
区块链技术中,基于时间戳的链式区块结构及基于P2P网络的数据传输机制、分布式节点的共识机制、可编程的链上脚本的应用,是区块链技术区别于其他技术的最大特点。
1.2 区块链技术的特点
(1) 开放共识。每一台设备都作为一个节点被允许获得完整的数据信息。
(2) 去中心化。每一个节点都是端到端的关系,不存在中心设备或机构,所有节点共同完成网络的维护且地位平等。
(3) 去三方化。节点之间直接建立信任关系,无需第三方参与;同时,运行规则和数据可共享,能减少对信任的干扰。
(4) 隐秘性。用户只与公钥地址相对应,不关联真实身份。
(5) 不可篡改。在区块链系统中,当某个区块出现篡改数据的情况时,需要在共识机制特定时间内对应修改其所有后续区块数据,以及大量的系统节点来参与,从而保证区块链的安全性。
(6) 可追溯。区块链采用带时间戳的链式区块结构存储数据来建立数据时间维度,对于区块上的交易均采用密码学方法使相邻2个区块间建立联系,因此交易过程可追溯。
(7) 可编程。区块链支持在脚本上进行应用层的开发,可以通过智能合约实现较复杂的去中心化操作。
2 基于区块链技术的无线网络通信数据聚合隐私保护算法
实现信息安全,主要应该解决实体间的信任关系问题。无线网络通信数据聚合技术的主要目的是,通过节点计算将可靠性差且冗余的数据剔除,同时对中间聚合节点接收到的来自子节点的隐私信息进行聚合处理,从而减少通信开销、延长无线通信网络生命周期。
2.1 基于隐私同态技术的无线通信数据聚合算法
首先,对数据进行初步聚合处理。隐私同态技术的特点是,中间节点可以对接收到的隐私数据直接进行聚合操作[7],不需要再对隐私数据进行解密,当出现中间聚合节点被攻击捕获的情况时,可以降低隐私信息泄露的概率,提高隐私信息的机密性[8-9]。在此,采用同态技术对无线网络通信数据进行聚合处理,具体算法共分为以下4个阶段。
(1) 算法初始化阶段。此阶段主要可完成数据网络及其节点的设置。如,始端节点将某个查询请求发送到距离最近的节点D0,D0节点再将接收到的查询请求信号发送至其他节点,于是建立了一个以D0节点为始端节点的数据聚合树;之后,始端节点向网络内每个节点发布Hash函数的参数α,α为大的素数;最后,始端节点向各个节点发送对应的地址(ID)信息。
(2) 数据准备阶段。对需要聚合的数据进行隐私数据采集及加密处理。当子节点接收到始端节点的查询请求时,各节点随即对监测区域进行检测,并将所采集到的隐私数据Yi存储在内存中,再对Yi进行加密处理,以保证隐私数据在上传过程中的机密性。其加密算法为:
Mi=Enc(Yi)=Yi+IDi
(1)
式中:Mi表示密文;Enc表示加密函数;IDi表示节点阈值。
然后,计算出感知数据的同态消息验证码,供始端节点对接收到的数据进行完整性判断。其同态Hash验证码函数为:
H(Yi)=αYi
(2)
式中:H()表示同态Hash函数。
最后,将子节点密文信息和同态Hash消息验证码(Mi,H(Yi))上传至上层聚合节点。
(3) 数据聚合阶段。对于需要进行聚合和隐私保护的数据,在完成验证之后,即对其进行聚合处理。首先,进行密文聚合处理,采用基于端到端的加密处理机制。上层聚合节点在未对接收到的隐私信息进行解密的情况下,直接对隐私信息进行聚合处理,减少了运算开销,也降低了节点被妥协的风险,增强了隐私信息的机密性。其次,对节点ID进行聚合,使中间聚合节点只需上传少量数据即可在一定程度上减少网络的通信开销。其聚合函数表示为:
(3)
然后,对Hash函数消息验证码进行聚合。上层聚合节点将接收到的消息验证码进行聚合处理,将其聚合成一个消息验证码,以减少数据的通信开销。其聚合函数表示为:
(4)
最后,将隐私信息的聚合结果(MA,HA)上传至上层节点,并循环数据聚合阶段的操作,直到始端接收到最终的聚合数据。
(4) 数据验证阶段。完成数据聚合后,还需对聚合后的数据结果进行验证。在开始验证前,首先要始端节点对其接收到的聚合数据进行解密处理。其解密函数表示为:
(5)
其中:D()为Dec解密函数。
再对解密处理后的隐私信息重新进行计算,并核对其同态消息验证码:
H(SY)=αSY
(6)
HA和H(SY)若相等,表明隐私数据安全;否则,表明隐私数据在上传中遭到了篡改,则丢弃此数据。
2.2 基于区块链技术的数据隐私保护算法
在上述无线网络通信数据聚类处理的基础上,通过区块链技术对聚合算法中的数据进行隐私保护[10]。Sk表示生成的私钥,Gk表示生成的公钥,则有
Sk=SHA256(Yi)
Gk=Secp256k1(Sk)
(7)
式中:SHA256表示哈希算法;Secp256k1表示ECC椭圆曲线算法。
在数据传递的过程中,每轮区块的生成率影响着传输网络的安全性,且:
(8)
式中:P为每轮区块的生成率;Vr为信息交换在传输网络中的传播速率;S为区块在传输网络中的大小;tr为每轮持续时间。
区块在传输网络中生成的时间间隔td与每轮持续时间成正比,因此:
(9)
由此可知,交易传播速度、区块生成时间间隔和区块大小影响着传输网络在传输网络中的安全性,且相互制约。于是,区块在传输网络中生成的时间间隔与区块大小的关系可以表示为:
(10)
式中:s为每个交易数据在传输网络中的平均大小;Q为每秒上传传输网络中的交易数量。在给定信息交换数量和交换信息数据大小的情况下,区块大小及其在传输网络中生成的时间间隔之间会相互制约。
应用此算法实现对每轮持续时间、区块大小、交易传播速度、区块生成间隔与区块安全性之间的制约关系的控制,最终以公钥和私钥的形式实现对传输网络聚合数据隐私的保护。
3 实验测试
通过实验来验证本次算法的有效性。实验设备环境为Win7CPUCroei34G,软件环境为Matlab。在覆盖面积为100 m×100 m的区域内随机部署1 000个节点,通信节点传输半径为30 m,参数α为10 B。观察算法的隐私性,并与文献[3][4]方法进行对比。设定密钥池的规模为1 000,妥协节点的比例设为30%。
(1) 数据隐私保护性能对比。选取不同私钥数对应的节点隐私泄露概率,分析数据隐私保护性能,隐私数据泄露与妥协节点数的关系如图2所示。
图2 隐私数据泄露与妥协节点数的关系
可以看出,当妥协节点所占比例大于5%时,隐私泄露概率增幅逐渐减小,妥协节点增加相同比例造成的隐私泄露概率并未随之出现大幅增加。这是因为,节点使用与其上层节点或子节点共享的私钥构建信息传递关系,区块链技术的制约关系实现了对节点之间异常数据扰动的干扰。妥协节点数量增加带来的影响主要包括2个方面:首先,传输网络中的节点将会使其相邻节点的唤醒共识机制,以生成更为复杂的扰动数据,增强传输网络抵抗外部攻击的能力;其次,当节点被捕获时,攻击者需对已获取的中间节点加密信息进行破译,才有机会获取更多的隐私数据,于是加大了隐私数据泄露的风险。
(2) 抗数据丢失能力。对比不同参与节点数量情况下的数据丢包量,分析本次方法的安全性能。实际参与数据聚合的节点比例与丢包率的关系如图3所示。
图3 实际参与数据聚合的节点比例与丢包率的关系
可以看出,当部分节点数据未被始端成功接收时,即无线网络中节点未全部参与聚合,便会出现数据丢失的情况。与文献[3][4]对比,本次算法在参与聚合节点比例低于90%的情况下显示出较高的数据保护能力,在参与聚合的节点数仅为50%的情况下丢包率依然稳定在0.05%以内。这主要是因为,聚合数据在节点之间传递的过程中,持续时间、区块大小、交易传播速度、区块生成间隔受到区块链技术的制约,制约关系随着参与节点数的减少而减弱。
(3) 通信开销情况。对比不同节点数量情况下每轮信息传递的能量消耗,分析本次方法的通信开销情况。通信开销对比情况如图4所示。
图4 通信开销对比
可以看出,在生命周期内所有节点每轮消耗的总能量是不相同的。与文献[3]、[4]中的算法相比,本次算法每轮消耗的总能量最少。由此可见,本次算法在实现隐私数据保护的同时,并未对传输节点的开销产生负面影响,不会导致传输网络的生命周期缩短。
4 结 语
本次研究提出基于区块链技术的无线网络通信数据聚合隐私算法,在隐私同态技术支持下对数据进行初步加密与聚合处理。采用区块链技术实现对聚合后数据传输网络的隐私保护,根据数据在区块间的持续时间、区块大小、交易传播速度、区块生成间隔等特性建立制约关系,提高数据的安全性。实验结果显示:在不影响通信开销的前提下,妥协节点数比例小于30%时,数据泄露概率始终保持在50%以下;当参与聚合的节点数比例为50%时,丢包率仍稳定在0.05%以内。这表明本算法具有较高的安全性。