APP下载

基于DHT和区块链技术的电网安全稳定控制终端分布式认证

2022-04-26赖业宁封科于同伟王旺唐冠军

中国电力 2022年4期
关键词:哈希控系统分布式

赖业宁,封科,于同伟,王旺,唐冠军

(1. 国网电力科学研究院有限公司,江苏 南京 210003;2. 国网辽宁省电力有限公司电力科学研究院,辽宁 沈阳 110000)

0 引言

安全稳定控制系统(下简称安控系统)是保障电网安全的第二道防线的重要部分,当电网出现紧急状态时,安控系统将通过执行切机、切负荷、直流功率调整等紧急控制措施使电网恢复正常运行状态[1]。随着电网安全稳定控制业务重要性的提升,安全稳定控制系统终端(下简称安控终端)数目和系统复杂度不断增加,终端间的信息交互频率将显著提升,给安控系统带来了极大的网络安全风险。一旦安控命令或量测数据被篡改而导致安控系统决策错误,不但会使安控系统丧失电网第二道防线的能力,还会给电网安全稳定运行造成更大危害。身份认证是防止终端接收和处理恶意通信报文的安全措施之一,也是其他安全措施的基础。然而,由于安控终端计算资源和存储资源十分有限,且控制实时性要求极高,传统的身份认证方案难以直接应用于安控系统[2],致使安控系统目前的通信缺乏认证机制[3]。

一些学者曾提出了基于公钥基础设施(public key infrastructure, PKI)的认证方案。如文献 [4]提出了基于公钥技术的电力数字证书服务系统以解决电力应用系统网络身份认证和安全传输等问题;文献[5]使用基于椭圆曲线加密理论的方案,给出了电网数据交互中加密通信和通信认证的解决方案;文献[6-7]提出了面向用电信息采集系统的轻量级认证方案。然而,基于PKI的认证存在密钥管理较复杂、认证时延较长等问题,难以用于电网安全稳定控制认证。

针对电力资源受限应用系统,一些学者提出了其他认证方案。文献[8]提出了基于区块链的智能电表认证方案,将电网内的智能电表信息进行处理并存储在区块链中,实现智能电表身份有效认证的同时保障了数据可信性;文献[9]提出了基于S/Key一次性密码方案的认证方案,实现了电力终端与智能电网服务器之间的相互身份验证;文献[10]利用物理不可克隆原理,提出了基于身份的智能电网环境中的电源线监控传感器认证协议;文献[11]实现了一种匿名的安全密钥分发方案,使电网终端能利用该安全密钥实现快速身份认证,且抗攻击能力优秀。这些方案在安全性或效率上具有优势,但仍难以适应存储资源较低、实时性要求高的安控系统。

针对上述问题,本团队在考虑安控终端计算和存储资源有限、实时性要求高等限制后,将哈希链与区块链技术结合,提出了一种符合电网安控终端特性的分布式身份认证方案[12]。基于区块链技术部署的身份认证哈希链能够保障终端间业务通信安全,基本满足安控系统通信认证的实时性需求和信任管理需求。然而,传统区块链系统中的每一个节点都需要完整地备份整条链的数据,且每经过一次认证,链高度都会增加,每个节点均需存储新区块[13]。安控终端生命周期较长,随着时间推移,不断膨胀的历史认证数据将会占用有限的终端存储资源,造成不必要的浪费。在文献[12]的方案中,这一问题没有得到很好的解决。

分布式哈希表(distributed Hash table, DHT)技术是一种基于哈希算法实现分布式存储的技术,能够在较大数据总量的情况下完成快速且稳定的查找[14]。DHT技术当前在一些场景中已经得到了广泛应用[15-16],且有学者提出了将其用于分布式存储和信任管理的一些方案[17],但尚未针对安控系统的具体实施方法。本文利用基于DHT的可拓展分布式存储方案来解决文献[12]方案中区块存储伸缩性受限的问题,提出了基于区块链和DHT技术的电网安控终端分布式认证方案,使经过共识的认证数据分布存储在特定终端中而非完整地备份在每一个终端上,实现准确高效地按需查询,进而在不影响认证实时性的同时保障认证安全性并提高存储效率。

1 哈希链认证技术与基于DHT的区块链存储优化方法

1.1 基于哈希链的身份认证技术及其不足

文献[12]使用了基于哈希链的身份认证方案,是一种利用哈希算法的单向性设计的一次性密码方案。哈希算法的单向性指给定输入可快速计算输出,但是从输出计算回输入极其困难。

(1)基于哈希链的身份认证关键过程。

(2)基于哈希链的身份认证技术的不足。

文献[12]方案能够保障安控终端间业务通信安全,基本满足安控系统通信认证的实时性和信任管理需求。然而,该方案存在以下不足。

①存储拓展性差。认证成功后,终端会更新自身的最新哈希值。终端将自身标识和上传到认证区块链,新身份信息在区块链网络中的所有节点进行复制。在安控终端生命周期中,区块链数据量将会不断膨胀。尽管单次认证使用的数据规模较小,但从整个安控系统范围和较长的周期来看,造成的存储浪费仍难以接受。

②共识算法不适用。在电网安控终端认证系统中使用诸如工作量证明(proof of work,PoW)和权益证明(proof of stake,PoS)等共识算法是较困难的。一方面,PoW的共识效率低、计算开销大,在安控系统中难以被接受;另一方面,二者均需经过复杂的“发币”流程,这在能源交易以外的场景下是无意义的。因此,认证系统需要使用开销更低、更易于部署的共识算法。

1.2 基于DHT的可拓展区块链存储

1.2.1 DHT技术概述

DHT技术是一种数据分布式存储技术,其核心是网络中的每个存储节点生成固定结构的身份标识(identification, ID),系统中的每条数据都被映射到与节点ID的取值空间一致的空间中。进一步地,每个节点负责存储那些被映射到其ID对应的区域中的数据。DHT的一种典型实现是一致性哈希环[18],如图1所示例子,当哈希算法的输出位数为q时,数据和节点ID被映射到固定大小为2q−1的哈希环中,3个节点的哈希环共分成3部分:(A,B)、 (B,C)、 (C,A),其中节点 A 存储被映射到(C,A)部分的数据,节点B、C分别存储(A,B)、 (B,C)部分的数据。在本文中,(C,A)部分被称为节点A的“存储域”,相应的,节点B、C的存储域为(A,B) 、(B,C)部分。

图1 哈希环示例Fig. 1 An example of the Hash ring

在进行数据查询时,查询者发起请求后,当前节点将数据重新映射到该取值空间,即可判别该数据是否存在于本地。若数据未在本地存储,节点能判断出索引该数据存储节点的下一跳地址,并转发该查询请求直至找到存储数据的节点。

除了上述哈希环结构,DHT还有其他的实现方案。本文将使用跳图(skip graph)结构[19]实现的DHT完成区块链数据的分布式存储。

1.2.2 基于 skip graph 结构的分布式存储

skip graph 结构是在跳表(skip list)基础上延续和发展出的适用于分布式环境的数据结构[19]。

skip list是一种使用概率均衡技术的特殊链表结构,其查找效率与二叉树相近,均为[20]。skip list以层级式结构排列,每层中的节点升序排列前后链接。底层(0层)包含全部节点,在第i层的每个节点以概率存在于第层中。在使用skip list查找时,较高层的链提供了快速查找的通道,即在查找特定数据键时首先从最高层向右查找,当找到最后一个小于待查找键值的节点时下降一层,重复直至找到对应节点(到达0层仍未找到时则查找失败)。

skip graph结构可以看作是共享底层的一系列skip list构成的组合结构,节点所属的 skip list由节点的成员向量控制,成员向量的前i位相同的节点在第 i层处于同一skip list中,如图2所示。

图2 Skip graph结构Fig. 2 Structure of skip graphs

文献[19]证明了skip graph的数据查询过程时间复杂度与skip list基本一致,均为,且skip graph结构中节点的查询、插入和节点删除过程均与 skip list类似[21]。

将skip graph结构DHT应用在基于区块链的电网安全稳定控制终端分布式认证方案中,完成区块链上数据的分布式存储,思路为:将经过共识的区块数据经过哈希运算映射到与身份标识一致的取值空间后,第0层距离该数据最近的两个节点将存储该数据,同时在前层中(作为可变的系统冗余参数),各skip list在每一层距离该位置最近的两个邻居节点将冗余地备份该数据。这使得特定的区块数据能够仅在特定节点上进行复制而非存储在所有节点上,提高了区块链系统的存储效率。

1.3 基于DHT和区块链的安控终端分布式认证可行性及优势

当前安控系统多采用“主站-子站-执行站”的3层架构完成业务通信。其中,执行站向子站、子站向主站依次上送本站状态和可切负荷等运行信息,主站向子站、子站向执行站依次下发切负荷轮次命令等控制信息。同时,子站之间以及主站之间将互通投停信息和跳闸信息等[22]。以上用于实现电网安全稳定控制的主站、子站和执行站设备均被称为安控终端,此外,安控系统还包括负责监视并记录各终端运行信息、重要事件动作的稳定控制集中管理系统(stability control management system, SCMS)。SCMS通过调度数据网与各安全稳定控制站内设备进行通信。

终端间通过调度数据网和SCMS的中转能够实现点对点通信,具有部署区块链系统的网络基础。在终端注册阶段,安控系统运维人员在终端完成哈希链生成、发布操作的同时分配终端标识和成员向量;终端入网时,执行查询找到其在由安控终端构成的skip graph中所处的位置,随后调用插入算法。

认证阶段的主要流程和2.1节所述过程类似,不同之处在于收到对方终端认证材料的终端将执行skip graph查询算法,找到存储该部分区块数据的终端并获取相应数据,完成后续认证流程。

基于skip graph结构的DHT优势是能够实现分布式存储和相对高效的数据查询,相对于其他分布式存储方案,新节点的加入对存储布局的影响较小[23]。这一特性与基于区块链的安控终端身份认证方案的存储优化需求吻合,这使得基于skip graph结构的安控终端分布式存储方案能在时间复杂度较低、不影响终端间认证实时性的前提下,实现安全性和存储效率平衡的区块链数据存储。

2 基于DHT和区块链的电网安全稳定控制终端分布式认证方案

2.1 方案概述

本文方案在将区块链与哈希链技术结合实现安控终端认证的同时,使用基于DHT的分布式存储提高该区块链系统的存储拓展性。方案的总体思路为:在基于实用拜占庭容错算法(practical Byzantine fault tolerance,PBFT)的联盟区块链系统中,根据skip graph结构对终端进行标识和分组,使在区块链系统中经过共识的身份认证材料数据仅在特定终端上进行复制而非存储在所有终端上;进行认证时,收到认证请求的终端将根据skip graph查询算法执行查询,获取区块链上的身份哈希信息并根据哈希链认证方法完成身份认证。

方案整体架构如图3所示,在以安控终端业务架构为基础的点对点通信网络上,基于skip graph结构DHT划分各终端的存储域,形成分布式存储结构。根据冗余参数的不同,该存储结构也相应变化。区块链账本中各区块将根据其哈希值被映射到终端网络中的对应终端上进行存储。下文将从终端注册、终端入网和终端认证3部分阐述方案细节。

图3 系统架构Fig. 3 System architecture

2.2 终端注册

终端的注册阶段一般在其入网前离线完成,过程分为终端标识生成和身份哈希链生成2个步骤。由于此时终端尚未加入认证系统,注册阶段信息生成操作的合规性由安控系统运维人员保障。

(1)终端标识生成。

文献[12]提出了终端的唯一身份ID结构,包含网络通信地址(IP地址和端口号)、随机验证码和附加字段,终端间依据此ID进行交互认证和识别。电网内终端随机验证码保障了该ID 在认证系统中的唯一性,同时网络通信地址字段使得终端能够在获取其他终端ID后与其进行认证和通信。

为便于实现基于skip graph结构的分布式存储,本文对文献[12]中的终端ID进行如下扩充:加入包含成员向量在内的存储标识字段。扩充后的终端ID如表1所示。

表1 终端IDTable 1 Terminal ID

在电网安全稳定控制这一特定应用背景下,终端ID的成员向量字段可由运维人员进行设置而非完全依赖随机生成,这更有利于数据查询和监管。

(2)身份哈希链生成。

2.3 终端入网

当终端注册完成后,身份标识和身份哈希链被公布,该终端将以此为基础进行入网申请。终端入网过程实质是在skip graph网络中插入新节点的过程。入网主要流程如图4所示。

图4 终端入网流程Fig. 4 Terminal network access flow

终端入网过程需要进行一次skip graph查询操作,寻找终端在skip graph底层的位置。此次查询操作从一个初始引入节点开始进行,该节点由安控运维人员指定。

终端找到其在skip graph底层的位置后,与其在底层中的邻居终端执行首次连接操作,即互相记录对方网络地址并交换区块链数据。随后终端将从底层开始,向上逐层寻找邻居节点并建立连接,直至顶层,并在层数不大于冗余参数时与其邻居节点交换区块链数据。

为提高后续认证过程的查询速度,在终端交换区块链数据的同时,它们会维护一个区块链视图[24]。该区块链视图是一个不断更新的元组表,其中以身份标识为索引,存储了各终端的最新数据所在区块的区块头哈希、当前哈希链高度和最新身份哈希。

2.4 终端认证

当终端A向终端B发起认证请求以获取终端B的信任时,认证流程如图5所示。

图5 终端认证流程Fig. 5 Terminal authentication flow

(1)认证请求发送。

(2)认证数据查询。

终端B需要在基于skip graph结构存储的认证区块链上查询终端A的最新身份哈希。详细认证数据查询算法如下。

上列操作中,终端均指终端的存储标识,而非终端ID。

(3)认证结果判断。

(4)认证结果回复。

(5)身份数据更新。

在收到认证成功的消息后,终端A在认证区块链上更新认证信息和自身的身份。这一过程实质是向当前主节点发起新数据上链申请。当此次认证过程中区块链最新数据为时,终端A取新的种子,再次执行哈希链生成操作,得到新哈希链,以为凭据将新哈希链的最后一项发布,并将中的各项作为后续认证的凭据。主节点将在网络中收集一定时间段内的认证数据并将其打包成区块,基于PBFT共识算法进行全网共识。终端A在认证区块链上的最新身份哈希将在共识成功后被更新。

3 安全性与效率分析

3.1 安全性

本文方案使用了区块链技术和基于skip graph结构DHT的分布式存储,具有以下安全特性。

(1)认证信息可追溯性。认证完成后,认证发起方会将本次认证时间、认证双方标识等信息上传到认证区块链,确保了认证信息的可追溯性。该特性提高了电网安控终端认证系统的可监管性,降低了安控系统审计取证的复杂度。

(2)终端身份不可伪造性。方案使用身份哈希链进行基于一次性密码的认证。各安控终端将根据随机种子生成的身份哈希链与包含设备信息在内的终端ID相互绑定,有效地防止了恶意设备使用伪造身份与合法安控终端通信。此外,根据哈希算法的单向性,即使攻击者通过窃听等手段获取了某次认证中所使用的哈希秘密信息仍无法推断出及哈希次数更低的哈希链数据,保障了通信认证的安全性。

(3)兼具容错性与存储拓展性。区块链系统通过冗余备份确保信息不会因单点故障而丢失或被恶意篡改,但冗余性导致系统的存储拓展性较低。本方案使用了DHT技术进行数据分布式存储,降低了数据的冗余度,但对于映射到每个位置上的数据,系统仍在skip graph结构的前层进行冗余备份,因此,单点故障不会破坏整个系统的数据完整性。综上所述,本方案能够在不影响区块链系统容错性的前提下提高其存储拓展性。

(4)抗攻击性。尽管安控系统在电网内的保护级别较高,但仍可能出现部分终端被劫持或受到DoS攻击等情况。本方案使用PBFT共识机制,具有33%拜占庭容错性能[25],即只有当攻击者劫持了认证系统内1/3终端时,共识结果才会被恶意更改,这在电网安全稳定控制环境下是难以实现的。另一种攻击场景是攻击者通过被劫持的设备注入大量虚假数据,影响认证数据的正常存储,但分布式存储方法能很好地缓解该问题,使得认证系统不会在短时间内宕机,为反制攻击提供了条件。

3.2 时空效率分析

3.2.1 时间复杂度

设认证系统内安控终端数为n。终端认证过程首先调用skip graph数据搜索算法。在该算法中,从任意节点开始的搜索将沿着该终端所在的skip list搜索路径进行,直至找到目标或到达0层,即在skip graph中进行搜索的时间复杂度与skip list一致。根据文献[20]的分析,在底层节点数为n的skip list中,平均每层被搜索的节点数为个,总时间复杂度和消息复杂度均为O(ln n/((r−1)ln r)),因此,在认证系统中固定时,搜索算法的时间复杂度为。

终端入网阶段执行skip graph的节点插入算法。在该算法中,终端首先执行一次查询,之后在每一层对平均个终端进行访问,在各层的查询时间复杂度均为。系统共有层,因此前后时间复杂度均为。入网过程中终端尚未开始实际业务通信,时延要求不高,因此本方案入网时延能够满足安控系统实际需求。

3.2.2 空间复杂度

4 实验分析

由于安控系统对设备算力和存储资源的特殊需求,基于本文方案实现的认证原型系统使用go语言自行编写,实现了轻量化和功能的定制化。部署该系统的实验装置使用了与电网安控终端通信模块性能相近的嵌入式系统终端(运行Ubuntu 18.04的嵌入式Linux系统)。

4.1 认证时延

利用实现的原型系统,进行了多次实验并统计了系统内不同终端数时系统的平均单次认证时延,如图6所示。

图6 认证时延与终端数量的关系Fig. 6 Relationship between authentication latency and number of terminals

由图6可以看出,随着终端数量的增加,单次认证时延呈现增长趋势。增加的时延主要来自skip graph结构中的数据搜索过程,实验结果符合

3.2 节中的分析与预期。

根据调研,目前安控系统中需要进行相互认证的终端数不超过100台。在实验中,终端数为30时,系统内的单次认证时延低于370 ms,同时根据方案的时间复杂度可知,在终端数达到最大的100台时,时延不会超过570 ms,符合安控系统内终端认证需求。

4.2 平均存储开销

在固定终端数为10的情况下,实验分别测试了本文方案在不同值下,即不同系统冗余参数下的终端平均存储开销随认证总次数的变化,并与文献[12]方案进行了对比,实验结果如图7所示。

图7 平均存储开销对比Fig. 7 Comparison on average storage overhead

5 结语

现有认证方法难以兼顾安全性、实时性和存储效率,因此,本文提出了基于DHT和区块链的安控终端分布式认证方案,从终端注册、终端入网和终端认证3部分给出了认证系统设计和关键算法。本文方案使用基于skip graph结构的DHT实现分布式存储,在不影响认证安全性的同时,为安控终端分布式认证提供了高效的数据查询能力和较强的存储拓展性。理论分析说明,本文方案在具有安全性的同时,有较低的时间和空间复杂度;实验结果显示,基于本文方案实现的认证系统的平均认证时延和平均存储开销均能满足安控系统的要求。

猜你喜欢

哈希控系统分布式
基于RTDS的分布式光伏并网建模研究
基于特征选择的局部敏感哈希位选择算法
关于DALI灯控系统的问答精选
哈希值处理 功能全面更易用
文件哈希值处理一条龙
联调联试中列控系统兼容性问题探讨
数字电视播控系统关键技术探究
基于Arduino的智能家居灯控系统设计
基于预处理MUSIC算法的分布式阵列DOA估计
分布式并联逆变器解耦电流下垂控制技术