基于区块链的台区智能终端与智能电表安全防护方法

2021-06-16 02:53罗鸿轩金鑫钱斌赵云
南方电网技术 2021年4期
关键词:台区攻击者数据包

罗鸿轩,金鑫,钱斌,赵云

(南方电网科学研究院,广州510663)

0 引言

随着社会的发展和人民生活水平的提高,用电量已出现了大幅度的增长。在高用电负荷的情况下,如何反窃电是电力服务方需要解决的问题,研究人员正在积极寻找解决这一问题的有效方法[1]。伴随着物联网(Internet of Things,IoT)发展与成熟,其相关技术已经在智能电网中有了一定的应用,能够为现有问题的解决开辟新的途径,包括帮助电力服务方解决窃电有关的问题[2]。

智能电网较传统电网主要在通信和信息系统方面进行升级改造,这些功能对于分析、监控系统中的设备具有重要意义[3 - 4],不仅有利于节约能源、降低成本,更能提高电网的可靠性和透明度[5 - 6]。电力服务方通过部署高级量测体系(advanced measurement infrastructure,AMI)在检测、定位和预防网络中的恶意活动方面发挥着关键作用。智能电网将传统的用户端电表改为具有全双工传输能力的智能电表(smart meters, SM)),电力服务方可以远程访问用户数据,因此可以设计算法用于检测分布式网络中的各种恶意活动[7 - 8]。

在大多数情况下,AMI中的SM的安装是开放的,并且没有物理保护,容易受到物理破坏或网络攻击。由于SM的体积小,计算能力低,因此SM上保护这些攻击的进程需要保证轻量化,以保证内存不至于溢出,数据就可以可靠地路由到DCU[9]。由于AMI中短信的可扩展性,数据来源的重要性不容忽视,AMI中高效、安全的数据源可以用来提高用户和数据取证的可信度[10]。随着大数据的发展,区块链已经成为创建更安全的分布式系统的可能解决方案[11 - 12]。区块链包含系统内所有交易的特定和可验证记录,可以被应用到智能电网中以确保AMI的安全。AMI中的短消息很容易被访问,因此容易受到网络攻击,短信的体积小,计算能力也较低。因此文献[13]中提出了用于盗窃检测和定位的数据挖掘算法。利用支持向量机(support vector machine,SVM)和决策树(decision tree,DT)等分类器对能量盗窃进行检测。在DT处对数据进行处理,然后将其作为输入提供给支持向量机分类器[14]。文献[15]提出的基于随机Petri网形式的网格连接微网防盗检测算法,在防盗检测和定位中有一定的应用价值,但需要计算量大的系统。因此以上方案不适合考虑短信,在设计协议和寻找安全的AMI解决方案时,比较不同系统的能耗是非常重要的。文献[16]提出了一种新的基于分布式区块链的保护框架,以增强现代电力系统抵御网络攻击的自防御能力。通过将电表用作将电表测量值封装为块的分布式网络中的节点,全面讨论了如何使用区块链技术来增强电网的鲁棒性和安全性。文献[17]利用基于网格的可链接环签名来构造抗量子计算的保护用户隐私的SM数据采集方案。选择一个较为先进的基于网格的在one-out-of-many证明之上构造的次线性大小的环签名方案,并为其增添可链接性以期为抗量子计算的隐私保护系统提供异常用户监测和追踪功能。利用后量子签名方案可以使系统支持动态的用户加入和撤销,拥有更好的灵活性与实用性。区块链技术有可能接管物联网服务的安全挑战,如安全数据共享和数据完整性[18]。文献[19]开发了基于信任的以区块链的信息为中心的网络(blockchain based information-centric networking,BICN)架构,用于内容交付。在提出的架构中,首先通过利用区块链的出色属性以隐式信任的方式跟踪内容交付的整个过程,以便可以定位恶意的ICN节点。其次,利用事务记录在BICN中记录人类可读名称和自我认证名称之间的映射,从而支持方便可靠的用户需求更改,杜绝恶意数据篡改和恶意破坏。

但上述方法计算量较大,不能满足AMI设备中低功耗的要求。因此针对SM的保护问题,提出了一种基于区块链的AMI安全防护方法。为了加快AMI中区块链的构建速度,基于AMI系统“云-边-端”的架构将所有台区智能终端视为区块链节点,以及各个SM的密钥信息作为区块链的交易信息,形成动态SM集群。并且通过量化SM数据形成链接指纹编码后,传输到台区智能终端,其中融入信用共识机制,以实现基于区块链技术密钥和数据的可靠管理。

1 AMI系统模型

AMI中海量的SM需要与云主站(SM数据管理系统)进行双向通信,完成数据的汇集、处理以及控制指令的下发。其中主要通过有线或无线链路相互通信,在无线连接的情况下,采用Zigbee、WIFI等模块进行通信。为了提升数据传输与计量效率,以及缓解通信网络的压力,在云主站与SM之间引入边缘计算装置,从而形成了“云-边-端”AMI系统,其系统架构如图1所示。

其中,“云”即计量中心的云端安全服务器,“边”即台区智能终端(边缘计算节点),“端”即SM。通信网络与云主站进行双向通信,该通信网络是一个混合分层网络,台区智能终端之间、以及台区智能终端与云主站之间采用广域网,台区智能终端与SM之间采用邻域网[20]。台区智能终端定期收集、存储和传输大量来自SM的数据包,优先进行本地化处理,并将处理后的结果或者超出计算能力的数据传输到云主站。

在智能电网中,AMI的安全性至关重要。大多数通信是在没有物理保护的信息系统上进行的,如果不进行检测,可能会发生攻击者访问重要信息、更改数据或更改控制命令。现有网络威胁主要包括窃听、中间攻击、重放攻击和分布式拒绝服务(distributed denial of service,DDoS)。中间攻击为当攻击者进入消息的通信路径之间时,会改变通信路径,如果发生此类攻击,SM就无法区分路径是直接的还是通过攻击者的,造成数据泄露。干扰为一种常见的网络物理层拒绝服务(denial of service, DoS)攻击,攻击者通过干扰SM使用的通信频率导致系统内的通信不再有效。回火是由于AMI中的SM没有物理保护,任何攻击者都容易篡改合法SM的数据,并且将更改后的数据转发。重放攻击中,攻击者一次又一次地向台区智能终端或SM发送相同的数据,接收实体接收到错误的数据并发生信息丢失。

因此,现有的网络攻击都会威胁SM数据的正常传输,尤其是SM分布广泛,且数量庞大,但其计算能力弱,无法抵御网络攻击,因此需要由台区智能终端利用区块链技术检测AMI中的网络威胁,进行安全防护。

2 基于区块链的AMI安全防护方法

所提方法中每个SM接收的接收信号强度指示符(received signal strength indicator,RSSI)具有线性的变化,通过量化将其转换为二进制值,即链接指纹。并且这些链路指纹采用与SM唯一相关联的8位密钥和伪随机Nonce进行编码,然后传输到台区智能终端,并进行初步的数据分析。数据最终被传送至云主站,进行更深层次的数据处理,实现AMI系统的安全防护[21]。所提方法的模型如图2所示。

图2 所提方法的模型

2.1 SM操作

Jakes衰落模型指出,在大约一半波长处,无线信道是快速不相关的,并且在超过一个波长的距离处,信道被认为是独立的,因此SM或系统其他组成的运动均会引起信道特性的显著波动。如果攻击者距离大于一个波长,则其能够有效地测量不同的光谱,但不可能访问共享的SM测量数据。因此,SM使用他们的信道测量作为共享熵的来源,以获得安全效益。接收功率(Pr)由链路预算方程计算,其中Pr与路径损耗(Lp)成反比。

(1)

式中:D为两个通信SM之间的距离,约为50 m;λ约为416 μm的波长。根据Jakes模型,当攻击者距离半波长时,可以测量RSSI的变化。如果增加通信距离,则路径损耗将增加,因此接收功率将降低。通过量化RSSI值生成8位的链路指纹(F), 并且链路指纹采用与SM唯一相关联的8位密钥和伪随机Nonce(Ni)编码,Nonce在台区智能终端和SM上都是时钟同步的,如式(2)所示。

(2)

式中:⊕为逻辑异或运算符;Ni(encoded)为编码的Nonce;Ni为解码的Nonce;Fi为解码的生成时钟函数;Ki为SM的密钥;Fi(encoded)为编码的生成时钟函数。由于每个时刻的Nonce都不同,因此每次Fi(encoded)不同时都不可能进行重放攻击。所提方法利用Fi(encoded)生成160位的散列,并作为头添加到转发到下一SM的数据。当接收到包含数据和散列(作为报头)的数据包时,SM将自己的散列作为下一个报头添加到同一个数据包,并在需要时将其转发到下一个SM。Fi(encoded)和Ni(encoded)由每个SM发送到台区智能终端。

2.2 区块链

区块链是将数据区块依照时间次序链接起来形成的一种链式数据结构,每个区块由区块头和区块体组成,如图3所示。

图3 区块链结构

区块头包含了数据区块中大量的验证信息,如版本号、根据默克尔(Merkle)树哈希计算得到的前一区块哈希值、时间戳、随机数、当前区块Merkle根(根据Merkle树哈希计算得到);区块体主要为交易数据,即台区智能终端对聚类集合内SM密钥信息的数字签名,而SM密钥则按最邻近原则存放于本地台区智能终端中[22]。该方案的优点在于,密钥本身不直接与其他台区智能终端进行交互,可以避免交互过程中遭受攻击导致的密钥泄露,从而保证了安全性。此外,交易数据仅包含了数字签名,本质上减少了区块链中的数据传输量,从而可以缩短建立区块链的时间,确保了时效性。

2.3 基于区块链的“边端”安全管理

与任何SM关联的密钥不与任何其他SM共享,认证成功后,数据存储在台区智能终端中。将所有台区智能终端视为区块链节点,将各个SM的密钥信息作为区块链的交易信息,实现基于区块链的密钥和数据的可靠管理。首先利用信用共识机制对SM进行评估,初步判定SM的安全性。然后分离编码的Nonce,并将指纹与其接收到的数据链接起来,最后由接收数据的SM密钥检索Nonce。

在SM之间以及SM与台区智能终端间的长期通信中,双方可能会存在一些违反约定的情况,即传输的数据不真实等。此时将合约完成情况作为信用指标,信息发出者的信用值评估为:

(3)

信息接收者的信用值评估为:

(4)

其中链路指纹的解码是利用相关SM的Nonce和密钥实现的,如式(5)所示。

(5)

链路指纹的二进制码在分贝毫瓦(decibel relative to one milliwatt,dBm)中转换成各自的值,并对从SM中检索到的数据进行计算。

1)支持静态消息的测量

定义一个阈值以判定RSSI值的波动是否在限制范围内,如式(6)所示。

(6)

(7)

2)支持移动信息的测量

台区智能终端通过使用链接指纹的信息计算皮尔逊相关系数(ψ), 这些信息被转换成各自的dBm值,如式(8)所示。

(8)

式中:C(X,Y)为协方差;σX与σY为标准差;ψX,Y取值为[-1,1],其中1表示完全相关,0表示不相关,而-1表示反相关。上式可进一步简化为:

(9)

2.4 算法流程

基于区块链的AMI安全防护方法流程主要包括两大步骤,即链路指纹的产生机制及其编码,以及台区智能终端检测网络威胁,以维护AMI系统安全。其具体流程如图4所示。

图4 AMI安全防护流程图

首先,SM从相邻的SM中读取RSSI值,接收到的RSSI值为负dBm,而增益使其为正。将每个RSSI值量化,并通过将二进制值分配给量化的级别来生成链路指纹。由于这些链路指纹是检测AMI中任何敌手的关键块,因此使用密钥和伪随机Nonce对其进行编码,以确保其安全性。其中伪随机Nonce也用SM的密钥进行编码,编码的链路指纹和编码的Nonce一起被发送到台区智能终端。

然后,在台区智能终端中接收到的编码Nonce使用与其SM相关联的密钥进行解码,此已解码的Nonce与同一密钥一起用于解码链接指纹。在台区智能终端中,计算从同一SM接收的连续RSSI值的平均值,AMI中的所有数据和密钥亦是如此,并且测量了连接消息的RSSI值的平均差。此外,还利用两个连通消息的RSSI值计算了皮尔逊相关系数,如果在0.9到1之间,则表示AMI中没有攻击者。但如果其值小于经验值0.9,则观察到平均RSSI值和差值。如果RSSI的平均值或差值的平均值为0或1,则AMI中未检测到攻击者。

在任何SM处接收到的数据包都包含作为头的所有散列值。这些头按顺序分离,并将哈希值与台区智能终端中存在的所有哈希值进行比较。如果哈希值与最后一个报头的哈希值匹配,则它所在的表是从中接收数据包的最后一个SM。但如果任何散列不匹配,则数据将被视为在前一个链接中伪造。

3 实验分析

实验中通过在开放环境中使用MICAz motes微型无线测量系统获取RSSI数值,其工作频率为2.4 GHz至2.48 GHz,符合IEEE 802.15.4标准。单个MICAz mote的数据速率是250 kbps,并且具有相互进行无线通信的能力,如果同一网络中的两个mote超出通信距离,则每个节点还提供与任何其他mote通信的路径。MPR2400CA是MICAz mote的无线和处理平台,其采用Atmel ATmega128L低功耗微控制器,支持模拟输入、数字输入和输出以及UART接口,可以连接到各种各样的外部外设。

采用某供电公司提供的配电基础设施,SM安装在表箱,RSSI值记录在台区智能终端中,并且在每个SM中设置唤醒机制。由于收到的大多数值都在负dBm中,所以将它们设置为50的增益,使它们处于正范围,这样便于读取。此外,在MATLAB上对获取的数据进行仿真,以检测网络中存在的任何威胁,进行安全防护。SM每分钟记录一次RSSI值,数值的范围是-55~20 dbm。

3.1 模拟结果

实验中主要针对AMI系统有无网络威胁进行测试,根据接收到的RSSI值对仿真结果进行详细的分析论证,其中实验中考虑了2个SM。

1) AMI不存在网络威胁

当所有SM都是静态且没有移动性时,获取的RSSI值是非常恒定的,没有或很少观察到波动,并且2个SM的RSSI模式不相关。但如果AMI中2个相连SM的一个或2个SM都是移动的,那么得到的RSSI值如图5所示。其中通过使用Savitzky Golay滤波器进一步改善结果,该滤波器平滑数据并提高数据的精度,但不会改变信号趋势。

图5 RSSI数值的变化

从图5中可以看出,SM得到的RSSI变化呈现线性关系,并且计算两者的皮尔逊系数,其值为0.837 8,由此进一步论证了2个SM信息的RSSI存在线性关系。

2) AMI存在网络威胁

Case 1(2个静态消息之间存在静态网络攻击):当2个静态消息相互通信时,RSSI值几乎保持不变。但是,当一个攻击节点进入通信路径时,则链接变为由SM1至攻击节点至SM2。在这种特殊情况下,因为如果中间人攻击的距离等于SM1和SM2的原始距离,则不会被检测,因此采用定向波束获取RSSI的数值,其结果如图6所示,并且RSSI平均值和差的出现频率如图7所示。从图6中可以看出,RSSI数值出现突然上升,这种跳跃说明了2个SM之间存在网络攻击。并且2种SM消息RSSI值同时升高,且计算的ψ值也低于阈值,即0.245 1。结合图7,观察到70个样本中出现一个值“5”,2个连续RSSI值的平均值不是0或1,则说明网络攻击存在于AMI中。

图6 静态节点中存在静态网络攻击时RSSI的数值变化

图7 RSSI平均值和差的出现频率

Case 2(2条静态信息之间存在移动网络攻击):当攻击节点在静态路径之间移动时,RSSI的变化不是恒定的,因此RSSI的变化之间的线性关系如图8所示。从图中可以看出,2个SM的RSSI数值变化差异较大,并且相关系数较小,仅为0.058 6。因此,可以论证AMI中存在网络攻击。除此以外,每个SM的RSSI平均值以及平均差出现的概率如图9所示。

图9 RSSI平均值和差的出现频率

从图9中可以看出,SM的RSSI平均值以及平均差出现了除0和1以外的数值,因此进一步论证了AMI中存在网络攻击。因此所提方法能够根据RSSI值准确判定AMI中是否存在网络威胁,并进行安全防护。

3.2 唤醒机制的功耗对比

为了减少智能电表的耗能,一般采用周期性的唤醒机制。所提方法中利用异步唤醒机制,SM周期性在监听/休眠状态转换,大大降低网络中节点的功耗。将所提方法中是否存在唤醒机制的两种场景的功耗进行对比,结果如图10所示。

图10 唤醒机制的功耗对比

从上图中可以看出,不存在唤醒机制的方法随着时间的增加,网络中SM的功耗逐渐增加。而存在唤醒机制的方法,前1 min的抄表周期内,与前者的功耗相同,抄表周期结束后,由于增加了SM的休眠时长,SM的功耗则降低。

3.3 能耗对比

消息的传输以及数据包的转发均需要能量,其中包括作为报头的散列值到下一个消息。由于在AMI中使用MICAz motes作为通信模块,因此通过查看MICAz motes的数据表计算能耗。对于MICAz motes,一位的传输成本为0.6 μJ,采用公钥为160位的椭圆曲线数字签名算法(elliptic curve digital signature algorithm,ECDSA)的能量消耗为52 mJ。此外,高级加密标准(AES-128)和生成64位散列的能量需求分别为1.83 μJ和154 μJ。

AMI中所有执行操作的总能耗包括SM转发至台区智能终端(I阶段)以及SM转发数据包(II阶段)的能耗。实验主要考虑了AMI系统中的3个SM,并计算其将数据转发到台区智能终端的能耗。SM1和SM3向台区智能终端发送128位的编码链路指纹和8位长的Nonce。但SM2由于连接到SM1和SM3,需要通过向台区智能终端发送与这两个链接相关的信息,因此,能耗是SM1/SM3的两倍。

(4)聚类结果表明,一些欠发达地区高技术产业创新效率增幅较大,反而有些传统经济发达地区创新效率增幅不高,是由于我国一些经济发达地区总体创新能力较强的原因主要基于较大的研发投入,但是相比其他地区创新效率增幅并不明显;反而一些落后地区,尽管投入不高,但是单位创新产出效率相对要高,当然这与一个地区的创新基数也有很大关系。表明不管创新基础如何,都需要重视创新资源的优化利用,进一步提高创新产出效率。

此外,向SM转发数据包时,SM只将其计算的散列值作为报头附加到包,并转发到下一个SM。SM1仅连接到SM2,一个160位长的报头作为报头附加到数据包并发送到SM2。SM2在接收时附加了2个头部,其散列值分别为SM2到SM1和SM2到SM3,这使得头部的总长度等于480位。SM3将自己的链路SM3报头添加到160位的SM2,这使得报头的总大小为640位。因此AMI的总能耗如表1所示。

表1 AMI的总能耗

从表1中可看出,SM1和SM3向台区智能终端传输信息的能耗为50.965 mJ,而SM2的能耗为101.930 mJ。3个电表转发数据包的能耗相近,因此所提方法AMI的总能耗为363.704 mJ。

将所提方法与文献[13]、文献[15]、文献[16]中方法的能耗进行对比,结果如表2所示。

从表2中可以看出,与其他方法相比,本文所提方法的系统能耗最小,因为所提方法的链接指纹较少。但为AMI提供了最大的安全性。其他方法所需传输的数据包较大,因此系统能耗也比较多。

表2 不同方法的能耗对比

3.4 安全性对比

将所提安全防护方法与文献[13]、文献[15]、文献[16]中方法进行对比,结果如表3所示。

表3 不同方法的安全性对比

从表3中可以看出,文献[16]和文献[13]不提供数据来源和安全威胁防御,其中文献[16]提供了一种安全算法,但该算法对数据回火缺乏弹性,并且没有将来源添加到系统中,无法确定在任何SM接收的数据包来源。文献[13]使用往返时间检测中间人攻击,但没有提供攻击者的位置和应对攻击的防护。文献[15]考虑了一个单跳网络,实现攻击者复制、替换以及中间人攻击的防护。而所提的AMI安全防护方法中采用最轻权值的密码散列函数实现数据的传递,并且利用区块链技术进行入侵检测,因此能够满足绝大多数安全要求。与其他方法相比,所提方法的安全性能最优。

4 结论

但目前区块链技术发展不成熟,标准并不统一,不同区块链难以联通互联,这种割裂会在一定程度上削弱区块链安全防护的优势。并且未来还将针对SM的加入或退出以及台区智能终端分布对AMI安全防护效果的影响展开进一步的研究。

猜你喜欢
台区攻击者数据包
基于贝叶斯博弈的防御资源调配模型研究
二维隐蔽时间信道构建的研究*
低压台区三相不平衡治理的换相优化方法
计及分布式光伏的农村配电台区断零故障分析
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
C#串口高效可靠的接收方案设计
正面迎接批判
正面迎接批判
基于用电信息采集系统的台区线损管理研究