基于混合算法区块链和节点身份认证的数据存储方案

2022-08-24 06:30田洪亮王佳玥李晨曦
计算机应用 2022年8期
关键词:身份验证数据包密钥

田洪亮,王佳玥,李晨曦

(东北电力大学电气工程学院,吉林吉林 132012)

0 引言

无线传感器网络(Wireless Sensor Network,WSN)[1]中的传感器节点价格低、体积小,在特定区域内分布并相互连接,通过无线介质实现感测、计算和通信等多种功能,实现采集信息的监测、传感、广播和处理[2],广泛应用于军事、工业、智能家居、医疗保健、监控、环境监测和农业等领域[3-4]。然而,传感器节点是资源受限设备,在能量、计算能力、存储和通信带宽等方面存在限制。随着物联网(Internet of Things,IoT)[5]中对WSN 要求的逐渐增加,保护网络免受非法信息访问并高效利用存储是一项艰巨的任务。

大数据时代需要高效存储IoT 设备生成的大量数据,以便在实时应用中按需检索数据。如文献[6]提出了基于云-IoT 的分布式解决方案,以优化边缘设备中雾节点/迷你云之间的数据,利用了流量聚合处理,在延迟和能耗方面实现了较好性能;文献[7]提出了利用密钥衍生加密和数据分析(Key Derivation Encryption and Data Analysis,KDE-DA)管理方案处理IoT 设备的个人数据。利用衍生密钥算法对敏感用户的信息进行加密,确保了数据隐私性,并减小了传输开销;文献[8]提出了不使用智能卡的高效身份验证方案,能抵御WSN 中的内部攻击、盗窃攻击和会话恢复攻击。此外,文献[8]还提出了基于三因子的身份验证方案,能实现特定WSN中更高的隐私性。文献[9]提出了去中心化的区块链信息管理(Blockchain Information Management,BIM)方案实现医疗数据的安全存储,采用了改进的实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)共识算法和优化Hash 加密算法,将数据安全有效地存储于分布式数据库中,但对于大量传感设备环境的适用性存在疑问;文献[10]提出了基于信任和分布式区块链评估的安全定位(Decentralized Blockchain Evaluation,DBE)算法,在生成区块链并建立共识后,基于信任值设定信标节点的优先级。

区块链技术具有去中心化、不可变性、透明性和分布式共识等优点,能够提高系统安全性[11]。因此,本文在基于区块链的解决方案中结合身份验证方案和云数据存储,以实现WSN 中的安全通信。本文主要工作:

1)提出了基于高级加密标准(Advanced Encryption Standard,AES)和椭圆曲线加密(Elliptic Curve Cryptography,ECC)的混合算法区块链方案,结合身份验证方案,解决了云数据的安全性存储问题;

2)利用防篡改密钥机制保存所有节点的认证密钥,在身份验证过程中结合认证和撤销程序确保抵御各种攻击。

1 本文方案的重要验证阶段

传感器节点加入网络前,先由基站验证其合法性;然后,从基站得到身份验证信息和其他参数;接着,传感器节点将感测信息传递至簇头,簇头通过无线介质将信息传递至基站。本文方案主要包括初始化阶段、注册阶段、传感器节点身份认证阶段、消息签名和验证阶段、密钥更新阶段、撤销阶段。首先,通过基站计算出所有阶段使用的所有参数。然后,所有普通传感器节点将其信息(例如位置、速度、身份标识、剩余能量和传感信息)提供给簇头,以进行初始化;接着,簇头将自身所有信息传至基站;采集到来自簇头的信息后,基站用其构建防篡改密钥机制(Untamperable Key Mechanism,UKM)[12],并将UKM 分配至所有簇头;其后,簇头保存UKM,并将密钥分发至普通传感器节点。方案中主要参数说明如表1 所示。

表1 主要参数及其说明Tab.1 Main parameters and their description

1.1 传感器节点的身份验证

1.2 数据包签名

1.3 数据包验证

1.4 密钥更新

该阶段中,BTA更新密钥,以提高网络安全性:

2)接收到(sign,k)后,先通过解密k以验证时间戳的新鲜性。若是新鲜的,则将UKM中保存的参数更新为新参数。

1.5 撤销程序

该阶段中,BTA执行撤销程序,以免受到来自恶意传感器节点的欺诈或恶意消息的影响。BTA检测到故障传感器节点后,将屏蔽该节点的ID。所有合法传感器节点均能够成功计算,但撤销传感器节点则无法发现和。因此,恶意传感器节点不能再次广播合法消息。

2 混合算法与区块链

基站通过身份验证程序验证所有传感器节点的合法性,然后将密钥参数信息与邻近基站共享。然而,保存在集中式数据库中的密钥参数可能会受到攻击,难以保证安全性,攻击者可通过在中央数据存储器上执行恶意行为获取所有保存的信息。为了避免非法访问,本文利用了基于混合算法的区块链进行分布式信息存储,将所有传感器节点相关的密钥信息保存在区块链中,以提高攻击者入侵难度。本文方案整体框架如图1 所示。

图1 本文方案整体框架Fig.1 Overall framework of the proposed scheme

2.1 区块链结构

区块链的一般结构如图2 所示,且区块链上的数据具有以下特性:1)自治性,指运行不受任何中央控制,任何节点在通过网络中其余节点的验证后,均可发布事务;2)分布式,指在点对点网络上以分布式的方式运行每个签名的事务均在网络上广播,避免出现单点故障问题;3)不可变更性,有效区块的链记录在全局账本上,需要由网络中其他节点进行验证,因此具有不可变更性;4)契约性,指共识机制取决于考虑中问题的信息状态,通过实施没有中央控制的规则组来实现共识程序。[13]

图2 区块链结构Fig.2 Blockchain structure

区块链的第一个区块用于初始化,被称之为“创世”区块,每个区块包含散列码、时间戳、事务集和工作量证明等,各个块通过散列码链接,且散列码是不可更改的。在取得大部分节点的共识后,数据才可被插入到区块链,且在得到所有方的接收后数据不可被删除或更改[14]。

2.2 区块链的混合算法

本文方案使用的散列算法是SHA256 算法,生成一个私钥密码的散列值;然后,通过用户凭证,将生成的散列值作为随机数发生器(Random Numeral Generator,RNG)的种子。通过对称算法和RNG 生成的密钥加密发送到云端。其中,AES 的作用是数据加密,本文采用了128 位密钥,进行了10次AES 的数据迭代加密,包括字体替换、混合列、轮密钥异或和行移位等。

通过用户凭证和RNG 获得一个随机数R1,R1作为发送方的私钥。ECC 的具体步骤总结如下:

步骤1 对RNG 进行初始化操作。

步骤2 发送方生成公钥,具体公式为:

步骤3 接收方生成公钥,其中,R2为接收方的私钥,具体公式为:

步骤4 发送方和接收方为了数据的安全性,分别生成对应的安全密钥:

其中:本文ECC 生成160 位密钥,ECC 的加密和解密过程可以参考文献[15]。

区块链利用时间戳、传感器节点标识ID 和散列码对数据进行散列操作,从而生成事务数字签名。在本文区块链方案中,合并ECC 的160 位密钥与AES 的128 密钥,通过在云存储层之间的密钥对交换,从而获得较高的安全等级。ECC 中的RNG 通过用户凭证,大幅增强了隐私性曲线中生成密钥对安全性,使其难以被云供应商或其他攻击者破解和读取。

2.3 组件功能解释

本文区块链方案中的各组件解释如下。

1)基站,是基于WSN 的IoT 区块链系统中的重要组件。它生成新消息,并执行区块生成的挖掘过程;其后,将通过验证的区块添加到区块链,并在网络上广播。当任何传感器节点的认证被基站撤销时,在区块链内更新密钥参数。基站确保了传感器节点之间的身份验证,并在其通信范围内提供节点认证。

2)簇头,也是区块链中的主要组件。在认证过程中,基站向簇头提供保存在区块链中的密钥参数,而簇头将所有这些参数保存到UKM 内。簇头节点负责将采集到的信息传递至基站。

3)消息,在基于WSN 的IoT 中主要包括注册消息、认证消息和撤销消息三种。

4)区块(体),是区块链中的主要组件,包含块头和块体。块头通常包含时间戳、事务列表、上一个区块和当前区块的散列值。基站处的信息被分为传感信息和密钥参数信息两类。传感信息为传感器节点从物理环境中采集到的信息,需要占用较大存储空间,因此有必要将数据保存在云端而非基站中,以降低延迟,提高数据可用性和存储效率。利用云网络,可以在任何时间、任何地点轻易地访问信息。

通过区块链技术管理密钥参数信息,生成的区块链作为所有参与方的分布式账本,保存完整的密钥参数历史和事件数据包。当簇头需要将新采集到的信息广播至基站时,基站首先验证簇头的身份标识和密钥参数。基站验证每个簇头的独立性,以防止受到恶意攻击,即基站仅接收来自认证簇头的信息。

3 实验与结果分析

3.1 平台与参数

实验在配置了Intel i5 CPU @2.80 GHz,8 GB RAM 的64位操作系统上进行性能评估,仿真系统采用Solicdity OOP(Object Oriented Programming),JavaSCript ES4 和超文本预处理器PHP 5.6.31,并在虚拟机中创建区块集合。实验仿真参数如表2 所示,验证结果经过多次实验获得。此外,散列算法采用SHA-256,基站的位置具有随机性但不能移动,节点随机移动。

表2 仿真参数说明Tab.2 Description of simulation parameters

3.2 性能评估

从计算开销、认证延迟、检测准确度和吞吐量方面评估了本文方案并与KDE-DA、BIM 和DBE 方案进行比较分析。

表3 给出了不同方案的计算开销比较。其中:Thash表示散列函数的处理时间;TMAC表示认证码的计算开销;TENC表示加密计算开销;TPAR表示乘法的计算开销;TUML表示配对处理开销。总的计算开销是指一个数据包的发送到接收所耗费的时长。在本文方案中,考虑平均时长Thash=6.7 μs,TMAC=17.8 μs,TENC=41.7 μs,TPAR=5.9 μs,TMUL=41.2 μs,以评估通信和计算成本。实验通过计算注册阶段和认证或密钥参数分发过程中的总开销来评估各方案的性能。如表3 所示,按照平均时长,KDE-DA 的总耗时长为160.4 μs;BIM 的总耗时长为136.8 μs;DBE 的总耗时长为232.3 μs;本文方案的总耗时长为150.4 μs。其中:BIM 只采用简单区块链技术保证隐私性,总耗时较短;本文方案时间效率位列第二,其混合算法消耗了更多的计算资源,但提供了更高的安全等级。

表3 不同方案的计算开销Tab.3 Computational overhead of different schemes

图3 给出了各方案在延迟方面的仿真结果比较。从中可观察到,网络规模会影响方案的性能,随着网络规模的增加,所有方案的认证延迟都会变大;但本文方案的认证延迟依然小于其他方案,主要是因为本文方案中,请求从软件层到基站等基础设施层的传输速度较快。此外,对于区块链方案,区块的大小也是影响延迟的重要因素,本文方案的区块体大小为100 KB 到500 KB,大小较为适中。

图3 不同网络规模下不同方案的延迟比较Fig.3 Delay comparison ofdifferent schemes under different size of network

图4 给出了本文方案与其他对比方案在检测准确度方面的结果比较。由图4 可以看出:仿真时间会显著影响到检测准确度,随着仿真时间的增加,所有方案的检测准确度均会上升;与其他方案相比,本文方案能够利用最少的仿真轮数,成功完成恶意攻击检测。这主要得益于本文方案可以利用混合算法区块链保存密钥参数,避免出现单点故障的风险;且混合算法的区块链在安全性上高于一般区块链方案,从而可以利用云计算存储大量信息。BIM 是一种集中式的轻量级解决方案,但单点故障可能会导致很多信息的丢失;DBE 也是一种集中式的解决方案,但未考虑数据的透明性和多介质存储;KDE-DA 利用衍生密钥算法对敏感用户的信息进行加密,可以处理IoT 的个人数据,但没有采用区块链技术,对于数据分布性存储并不好。

图4 不同仿真时间下不同方案的检测准确度比较Fig.4 Detection accuracy comparison of different schemes under different simulation time

此外,本文还比较了吞吐量方面的仿真结果,因为吞吐量是数据存储方案性能的重要指标之一。吞吐量定义如下:

其中:packet表示基站、传感器等成功发送的数据包数总数;ap表示所有数据包的平均长度;t表示发送时间。吞吐量也可以理解为给定时间内完成的总任务数量。图5 给出了文件大小对整体吞吐量的影响,可以看出本文方案在吞吐量方面的性能优于其他方案。KDE-DA 吞吐量低于其他区块链方案是因为没有采用去中心化的结构,而区块链方案可以创建多个节点以利用事物序号,通过身份验证和加密数据的匹配获得审核报告;BIM 需要第三方仲裁机构,因此效率也较为低下;本文方案的吞吐量最高,则主要得益于去中心化的结构,以及准确高效的检测。

图5 不同文件大小对吞吐量的影响Fig.5 The impact of different file sizes on throughput

表4 给出了所有方案的特征。可以看出,综合特征更具有优势。此外,本文方案仅采用了较少数量的传感器节点(100~200),但具有较好的可扩展性,在使用大量传感器节点时依然能够提供高效性能。大量节点可能会造成计算和通信成本的成比例增加,但并不会降低安全性能。

表4 不同方案的特征比较Tab.4 Comparison of characteristics of different schemes

3.3 隐私性评估

为检验方案的隐私性能以及抵御各种攻击的能力,将本文方案的安全属性与KDE-DA[7]、BIM[9]和DBE[10]方案进行比较。

1)抵御重放攻击。

在本文中,重放攻击[16]是指攻击者重复发送基站已经接收的数据包来欺骗系统。该攻击中,恶意/欺诈节点故意重复或延迟信息传输。为防御物联网中的重放攻击,本文方案利用时间戳确保了数据包的新鲜性,利用TSKG和TSI检查数据包的新鲜性。

2)数据包欺骗或修改攻击。

本文方案涉及各种不同类型的数据包,包括簇头至簇头的数据包,簇头至基站的数据包,基站至基站的数据包,以及密钥更新数据包。若攻击者希望对数据包进行更改,其需要得到但攻击者无法获得这些密钥信息,因此,本文方案能够抵御数据包欺骗或修改攻击。

3)抵赖攻击。

抵赖攻击[17]表示拒绝或否认某些事情。所有传感器节点所传播的数据包均结合其伪身份标识,计算为BTA计算每个数据包的初始伪身份标识{,并利用保存的表对其标识进行交叉验证,因此,任何节点均不能否认其传播过的数据包和时间戳。这说明本文方案能够抵御抵赖攻击。

4)冒名攻击。

在本文中,冒名攻击[18]是指攻击者在通信过程中伪造身份标识的攻击。本文方案在通信过程中使用了伪身份标识,而非实际身份标识,并通过UKM 保护实际身份标识,因此,本文方案能够抵御冒名攻击。

5)位置跟踪攻击。

位置跟踪攻击[19]是指通信过程中攻击者利用虚假身份信息对传感器节点进行定位攻击。由于本文方案中传感器节点的伪身份标识被保存在消息中,使用时间戳TSI计算得出因此,利用时间戳对传感器节点的进行了散列操作,确保了位置的安全性,证明本文方案能够防止位置跟踪。

各方案的安全性比较如表5 所示。KDE-DA 不能抵御抵赖攻击和冒名攻击,以集中式的方式完成身份验证过程;BIM 不能抵御冒名攻击、消息篡改和生成攻击,且BIM 方案需要第三方仲裁;DBE 不能防止私人数据泄露,且在安全性方面与混合算法的区块链方案具有一定差距,DBE 和BIM 难以在大量传感器节点环境中使用。

表5 不同方案的安全性比较Tab.5 Security comparison of different schemes

4 结语

本文提出了用于WSN-IoT 环境下的基于区块链和云数据存储的隐私保护身份验证方案。首先通过基站完成所有传感器节点的注册和认证过程;然后,将所有密钥参数保存在簇头控制的防篡改密钥机制(UKM)中;此外,簇头将采集信息传播至基站,包含密钥参数和感测信息,并利用区块链技术记录密钥参数,以实现数据的不可变更性和透明性。仿真结果表明,与KDE-DA、BIM 和DBE 方案相比,本文方案在延迟、吞吐量和检测准确度方面实现了明显的性能改进。未来,将对数据管理和框架资源作进一步优化,以实现更好性能。

猜你喜欢
身份验证数据包密钥
二维隐蔽时间信道构建的研究*
幻中邂逅之金色密钥
幻中邂逅之金色密钥
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
C#串口高效可靠的接收方案设计
Android密钥库简析
声纹识别认证云落户贵州
基于Windows下的文件保密隐藏系统的设计与实现
一种新的动态批密钥更新算法