仲蓓鑫 林 浩 孔苏鹏 程 实
(南通大学信息科学技术学院 江苏南通 226019)
(zpx25562311@126.com)
在互联网环境中,利用传感器对物理空间中的众多信息采集,并通过技术手段建立了信息化空间与物理空间之间的密切联系[1].所有感知信息的传输和流通都是通过中央服务器作为媒介完成的存储,当中央服务器受到严重的恶意攻击时,保留在其内部的用户隐私信息将会被泄露,从而产生不可预知的影响和损失.因此,多源网络数据交换引发的大规模数据处理会对数据中心处理、存储和服务等能力造成巨大的挑战.区块链技术天然地为高并发问题提供了一种全新的解决方法,是一种将经济学、数学、网络科学等多领域学科共同组成的用于去中心化的分布式数据处理技术[2].利用该技术的优势,本文开展了对多源网络数据隐私保护方法的研究.
区块链是利用密码学并且通过集体维护的去中心化的方法实现多源网络数据隐私保护.采用密码学方法将网络节点中存在的数据信息存储到区块中,并生成每个区块对应的特征值,采用链式的结构以时间为顺序构成区块链.可靠数据库、匿名性、集体维护、去信任和去中心化是区块链的主要特征.
图1 密钥分配管理架构图
从图1中可以看出,在不同的区块中,网络数据节点数量及存储方式也会有所不同,每个可信机构中存在不同等级的信号节点,能够对电网数据的通信方式进行约束.根据上述特征,利用区块链的数据存储优势,设Tar为目标值,其计算公式如下:
(1)
其中,difficulty为难度值,该值是可以调节的;d为常量.
不停地尝试随机数是目前常用的寻找方式,所以每个节点的效率在专业矿机出现后会出现巨大的差别.基于区块链的缺陷度量数据防篡改识别方法通过Ethash算法可以避免矿机产生的影响:
(2)
其中,n为区块头对应的随机数;h为区块头对应的哈希;d为区块难度;M为极大数.
区块链的工作流程如下:
1) 如果1个节点在网络中发起新的数据记录时,需要通过P2P网络将这条数据广播,传送到网络中存在的所有节点中.
2) 其他节点在网络中接收该节点传输的数据,并在区块中存储该数据记录.
3) 生成区块的节点在网络中将自己的区块进行广播.
4) 网络中存在的其他节点对被广播的区块进行验证,当验证成功时表明全网都达成了共识,在区块主链中添加该区块.
在多源网络数据中设立3个不同功能的节点,cn为普通的检测节点;cpn为用于对合约进行发布的节点;vn为用于进行验证的节点.3种节点的具体功能分别为:cn用于向多源网络中上传采集到的对数据信息的检测内容,但不具备对其他过程进行访问的权限和功能;cpn负责发布多源网络智能合约条例,在多源网络中作为传输数据信息的发起者;vn主要负责向每个vn及其通信范围内的cn成员提供代表其身份特征信息的数据证明.同时,vn还具备生成和取消身份特征信息数据证明的功能[3].通过3种不同功能节点的运行,在成员明确上传数据信息者身份的基础上,实现对恶意节点的控制和管理.同时节点vn是通过预选出的节点cpn担任检测成员,检测成员主要负责接收节点cn采集到的监控数据,通过智能合约条例完成对数据的加工.
多源网络数据恶意节点检测的具体流程为:利用3个节点完成对多源网络数据中的恶意节点检测.首先利用节点cn对数据所处位置的各项基本数据指标进行全天候实时监控,从而采集到所有被监测的数据,检测数据主要包括传输数据的位置信息、状态信息以及行为信息等.通过cn可以有效了解数据在传输过程中的运行情况[3-4].节点vn中的数据是通过cn将整合后的数据由蜂窝链路传输,在节点vn上可以采集到其范围内节点cn中的所有监测数据,再通过对节点cn内部的运行情况,将最终的分析结果通过汇创网络存储在中心节点cpn上.
由于多源网络数据中的恶意节点存在较多不确定因素的影响[5],因此,为了进一步提高检测节点的信用度,本文还将各个检测节点的状态数据信息、处理延迟数据信息、转发率以及响应时间等作为恶意节点的判定标准[6].将各个节点分为运行状态和非运行状态2种形式,对于非运行状态下的检测节点将其直接移除多源网络,对于运行状态的检测节点采集其3种因素[7].表1为3种因素的判定范围及表达式:
表1 3种因素的判定范围及表达式
表1中,DT为处理延迟的判定范围;Tcn_id为编码id的传感器在一定时间间隔中由接收数据方传输到发送方所需要的时间;Td为时间间隔;FR为转发率的判定范围;sd为检测节点发送的数据量;td为检测节点接收到的所有数据总量;RT为响应时间的判定范围;dbn为数据量的比特值;bw为带宽;pd为数据传播的距离;ps为数据传播的速度;pt为数据处理时间;Tr为重复时间[8].通过对上述3个范围内的多源网络数据检测,得出数据质量,并根据具体场景预设1个阈值,当数据的质量未达到阈值则说明该传感器中的多源数据为包含恶意节点的数据.
根据上述检测到的恶意节点,本文提出一种基于区块链技术的隐私保护流程,其具体步骤为:
第1步.向传输的多源网络数据中分配密钥及全网密钥.由多源网络随机地向每个分支分配1对密钥,且每个密钥当中都包含1个公钥和1个私钥,而全网密钥是由公钥和密钥共同构成.
第2步.划分节点.将多源网络划分为2个部分,其中1个为特殊节点,数据的组成至少为5个.另一个为普通节点,其功能为负责发布和验收网络中的数据信息.
第3步.加密传输数据.首先,利用传感器将采集到的数据信息保留在本地传感器备用,并用公钥对集成数据进行加密,再将加密后的数据与计算机数据打包为1个完整的数据包,利用私钥对数据包签名.
第4步.用户信息确认和信息验证.对第3步中的数据包持有用户进行全网节点验证查明.首先通过节点cn对数据保持有用户身份进行验证,同时验证保障公共账本的安全[9].其次,查询节点中存储的数据信息,确定数据包是由哪个传感器发出.其次由节点vn向一个可信的第三方服务商发送解密请求,并验证数据信息的真实性,当第三方完成操作后,根据密钥为请求方发送解密的数据信息,完成对数据的解密.
第5步.获取区块链公共账本以及本地账本.当完成信息的验证后,由各个传感器根据共识算法选择出多源网络中全网的记账节点,并将判定范围内的所有信息移动到另一个区块中,并将2个区块互相连接,完成对多源网络数据中隐私信息的保护.
为了验证本文方法的整体有效性,需要对基于区块链的缺陷度量数据隐私保护方法进行测试,测试选用浪潮5270M4服务器,在区间[0,10]内取值.多源网络数据的传播通常存在匿名性弱、隐私易泄露的风险,因此基于这一传输环境,在仿真软件中构建一个模拟的多源网络数据传输环境,并设置500个虚拟用户,传输数据总量为500×103 b,为满足本文方法的需要,在采集信息时将各个用户的各项基本传输信息上传到传感器中,并设置同态加密[10].
分别利用本文提出的基于区块链技术的多源网络数据隐私保护方法与传统的保护方法对虚拟用户传输的数据信息进行保护,设置本文方法为实验组,传统方法为对照组,比较2种方法数据传输的安全系数.安全系数的计算公式为:安全系数=(输出数据总量-恶意节点)输出数据总量.
根据上述实验准备,完成对比实验,并将实验过程中数据传输产生的恶意节点和各判定参数数据进行记录,再通过计算得出最终的安全系数.
在对500条传输数据总量进行传输的过程中,实验组的安全系数明显高于对照组,并且随着传输数据总量的增加,实验组并未受到影响,而对照组的安全系数出现了明显的下降趋势.因此通过实验证明,本文提出的基于区块链技术的多源网络数据隐私保护方法能够更加有效地保障多源网络数据在传输的过程中的安全,进一步防止隐私信息发生泄露,避免用户受到不良影响和损失.
图2 对比结果
通过本文研究可知,利用区块链技术具有的独特性特征可以有效解决多源网络数据在传输的过程中隐私信息的泄露问题,为多源网络提供透明化、分布式存储等技术支持,从而建立起一个更加安全、可信的网络传输环境.在后续的研究中还将基于区块链技术对可信计算及隐私保护的问题开展更进一步的研究.