基于区块链的电力系统安全稳定控制终端身份认证

2020-04-07 03:26,,*,
关键词:分布式身份区块

,,*,

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

近年来,我国特高压交直流电网建设快速推进,大电网日益增加的运行复杂度和新功能的扩展对安全稳定控制系统的可靠性和灵活性提出了更高的要求。传统稳控系统架构下基于预想事故的主子站部署和冗余配置方式并不能完全满足当前安全稳定控制系统的安全性及扩展能力需求。为了达到能源高效利用的目标并且满足电能消费者的广泛化需求、适应更多分布式能源的广泛接入,监控终端的大量接入和互联互通成为必然,但这同时也为敌对势力提供了更多的网络攻击途径和攻击方式[1-2]。因此,终端之间需要行之有效的身份认证机制保障系统的安全运行。

目前身份认证大都采用基于PKI的数字证书认证机制,公钥集中管理,证书中心负担过重。随着电网3道防线协同控制的趋势日益增强,计算资源需求越来越多,在安全稳定控制系统中使用基于PKI的身份认证方式已不再合适。区块链[3-4]是一种链式数据结构,它将区块按时间顺序有序排列并利用Hash值顺序连接,通过密码学算法保证区块中数据不可篡改和伪造[5],形成了天生具有分布式特性的去中心化账本,可弥补公钥证书认证方式存在的单点失效缺陷,用于构建分布式安全稳定控制终端的身份认证和信任系统具有可行性。

本文针对我国电力系统安全稳控终端之间交互缺少认证机制的问题,提出基于区块链技术的安全稳定控制系统终端间的分布式认证架构,实现安全稳定控制系统各类通信实体间的可信通信,提升安全稳定控制系统应对网络恶意攻击的能力。

1 相关工作

将区块链运用于电力系统的研究在国内外仍处于起步阶段,现有研究大都针对区块链技术在电力交易和能源领域的应用。文献[6]提出一种可靠性较高的基于区块链的安全能源交易框架;文献[7]提出了基于区块链的智能电表身份认证方案;文献[8]关注的是一个尖端的安全交易系统,它使用区块链在CPS(cyber-physical system)智能电网中进行分散式能源交易, 解决了集中式系统的可扩展性、安全性和隐私问题,并参考不同加密方案的处理时间来分析安全性问题。但是,他们的分析并没有基于特殊的网络性能。

文献[9]提出的针对电力调度证书服务系统的分布式公钥证书管理方法将CA应有的功能集中在一台中心可信设备上,不同于传统公钥证书机制过于庞杂的部署方式,中心设备单机离线运行,这种方法虽然实现了认证的功能,然而仅有一台设备充当认证中心的设计使得认证过程耗时较长,不满足电力安稳控制系统的实时性要求,再者,当接入设备较多时对认证中心的计算能力要求太高,也使得该认证系统的适用范围十分有限。文献[10]提出了一种基于区块链技术而改进的PKI数字证书系统,解决了上文提到的传统基于PKI数字证书的身份认证系统引发的诸多问题。在证书申请和签发阶段,利用区块链技术的多点分布式验证代替了传统CA利用公私钥签发证书的过程,避免了单一CA存在失效的风险。证书使用过程中依赖区块链中存储的数字证书进行可信身份认证,区块链中数据由于经过链上节点共识验证,具有比单CA更强的可靠性。在解决跨域认证这一难题时,提出将多CA链引入区块链PKI系统,证书用户通过所属CA的根证书进行验证。文献[11]提出了一种名为CertChain的证书管理系统,基于区块链技术对CA颁发的证书进行有效审计,并通过设计高效查询方法和前向追踪策略减少操作时延,解决传统CA的脆弱性。任何区块链上的节点都能对证书操作的正确性进行验证,提升了证书使用的健壮性。上述方案对传统基于PKI的数字证书系统做了改进,但是用区块链共识取代传统CA的办法仍存在证书管理、密钥管理、公钥分发时延、签名与验签时延等问题,无法满足安全稳定控制系统通信网络的快速发展需求,针对安全稳定控制终端特殊需求的定制化区块链认证方案仍然亟待研究。

2 系统模型与安全威胁

2.1 系统模型

为满足电力系统终端大规模泛在互联、信息协同交互背景下电网对安全稳定控制系统的需求,基于电力终端广泛互联背景下的分布式稳控系统架构应运而生,其结构如图1所示。安全稳定控制主站负责整个安全稳定控制系统的决策和指令发布,通过各个子站收集全网状态信息;安全稳定控制子站向主站上传本站负荷信息、机组信息、联络元件的投停状态和各类故障信息,并接收主站发出的各种命令;安全稳定控制执行站作为系统中的最下级节点,负责监测并向子站上传本地负荷、发电信息,同时接收子站发出的切机、切负荷及发电等命令[12-13]。

基于终端互联的分布式安全稳定控制系统架构改变了传统稳控系统主子站系统间联系的树状结构,各层级站点之间互联以实现系统信息的互联互通。系统架构进行通用化和标准化设计,便于进行稳控策略的灵活配置及稳控系统的快速改造与构建,在这一架构下,各层级站点之间通过智能协同可以实现对稳控系统整体功能的分布式冗余和系统运行方式的自适应构建与迁移,有利于快速响应系统故障并自动实现后备运行方式的切换。同时基于终端互联的分布式安全稳定控制终端安全防护技术及就地化应用研究能进一步提升分布式安全稳定控制终端的安全防护能力,实现电网安全稳定控制与就地化应用的融合[14-15],在稳控策略实现和系统功能恢复重构等方面实现更高的可靠性与灵活性。

图1 基于终端互联的分布式安全稳定控制系统架构Fig.1 Architecture diagram of distributed security and stability control system based on terminal interconnection

2.2 安全威胁

电网安全稳定控制系统承担着保障电网安全可靠运行的重要责任,当前安全稳定控制系统架构主要面临如下安全威胁:

①在未部署身份认证机制的安全稳定控制系统内,攻击者可直接接入内网向合法设备植入恶意代码从而实现攻击,或利用终端的安全漏洞,通过某种跳板将恶意代码植入厂站内智能设备,轻易实现对电力一次设备的恶意控制;

②攻击者可利用现有机制的缺陷,通过伪造身份信息,破坏认证的完整性,实现对传输报文的截获与篡改,例如篡改发电场内终端间传输的控制报文来发起恶意攻击,包括致瘫涡轮机、制动不平顺导致涡轮机损坏等;

③由于现有身份认证机制大都依赖认证中心实现可信管理,攻击者可以利用认证中心的脆性向管理者发送伪造反馈信息以逃避攻击检测;

④传统基于认证中心的身份认证方式无法有效抵御DoS攻击,在安全性能方面存在严重缺陷,攻击方发送大量证书请求就很可能使得认证中心资源耗尽,一段时间内无法继续提供服务。

3 基于区块链的安全稳定控制终端身份认证机制

3.1 总体思路

本文提出的身份认证方案将主要发送测控命令的安全稳定控制主站和子站设备定义为方案中的上级设备,执行站设备定义为方案中的下级设备。上级设备加入认证系统后成为上级节点,下级设备成为下级节点。只有上级节点才可以同时作为认证区块链的链上节点,参与区块链的记录和维护。开始运行之前,在安全稳定控制系统中优选出部分上级设备作为初始可信上级设备加入认证系统,构成认证区块链初始链上节点,后加入的上级设备也成为链上节点。所选出的这部分上级设备身份经过了电力系统内部认证,并且由可信人员在相对安全环境下装配,从而具有一定的可信性,进而也能够保证系统初始的安全性。本文提出的认证系统框架如图2所示。

图2 基于区块链的电力安稳控制终端身份认证系统框架Fig.2 Framework of blockchain-based power stability control terminal identity authentication system

本文提出的方案主要通过设备入网和终端认证2个过程来达到终端间可靠认证的目的。终端进行身份认证前必须先经过设备入网的流程才具备可认证的条件。新设备在投入使用之前必须预置特定身份信息,身份信息包括设备功能、参数等多项内容,以进行初始可信判断。设备的身份信息由设备上的安全模块进行加密保存,防止其被恶意窃取而导致泄露。只有通过以预置身份信息为鉴定标准的准入投票后,设备才能获取进入认证网络的资格。被允许入网后,上级设备,包括安全稳定控制主站、子站的终端,需要加入认证区块链成为链上节点,获得之后认证过程中进行准入投票、记录新区块、区块数据备份等操作的权限。而下级设备,包括安全稳定控制执行站内终端,仅需加入认证网络,不加入认证区块链。下级设备本地存储中无区块链信息,只能通过向链上节点发送查询请求的方式得到区块链中最新数据信息,同时下级设备存储空间小、计算能力弱,也不具有进行准入投票和记录新区块的权限。上级设备和下级设备在入网之后,获取唯一ID,其身份信息均需被记录于相应的记录文件中,此记录文件只包括终端身份信息,可进行链上存储也可本地存储。同时新设备根据自身随机种子值S生成自有身份Hash链,此为保密信息,只有设备自身所有,新设备仅需将能验证自身身份的Hash链最后一项申请写入认证区块链,写入的过程由初始可信上级设备根据共识完成。由于同一Hash链在一次认证过程中不能被重复使用,考虑安全稳定控制系统中终端通信方式单一且固定,根据实际应用场景合理设置终端身份认证Hash链数量有效可行。

认证过程由设备A向另一设备B发送认证请求开始(此处以设备A和设备B为例),A与B进行通信必须获得B的信任,信任获取通过B对A的身份认证完成。A根据B的身份ID向B发送认证请求并附带A的当前身份Hash链最后一项的值一同发送。B对收到的Hash值进行Hash运算并与从区块链上获取的数据进行对比,若两值相同则认证通过,允许继续通信。A还会将已使用过的当前Hash链最后一项申请发布到认证区块链上,为后续认证过程做准备。若设备当前Hash链已全部用完,则在下次认证前进行Hash链再生的过程。

3.2 终端入网

终端入网主要分为6个步骤,流程如图3所示。

图3 终端入网流程Fig.3 Terminal access flow chart

图3流程如下:

①预置身份信息。

所有新设备在使用前预置身份信息。此处以设备A为例,身份信息包括设备ID、功能、参数、投运时间、生产厂商等,以此作为后续准入投票的依据。

本文提出一种电力安全稳定控制终端的唯一身份标识ID。ID共4个字段,分别为MAC地址/IP+端口号、APPID、随机验证码以及附加字段,如图4所示。稳定控制主站可根据唯一身份ID部署整个系统的管理策略。每个接入终端的ID唯一,因此可以实现对每个终端的终端行为的可视化监管。根据日志文件的记录对终端行为实现可追溯,对每一次认证或者通信操作进行精准的行为安全分析,尽早发现危险情况并及时隔离。唯一的身份ID还可为执行站设备分类管理提供依据。基于PKI的公钥证书身份认证体制无法有效解决多CA信任难的问题,造成了跨域认证的瓶颈。本文提出的基于区块链的身份认证机制可在多安全稳定控制系统间部署,而终端的唯一身份标识可帮助自愈系统在设备发生故障时,快速准确地定位并实施修复,从而实现对远程设备的安全监管。

图4 终端唯一身份标识Fig.4 Terminal unique identifier

②准入投票。

新设备申请入网后由链上节点在认证区块链上发布新设备的入网申请和预置身份信息。安全稳定控制系统中设有初始可信上级设备,构成认证区块链初始链上节点,后加入的上级设备也成为链上节点。区块链上需要进行共识来决定新区块的记录所有权,共识过程根据共识算法进行。本方案选择记录新区块节点所用的共识机制为改进的DPoS(授权权益证明)。一般而言,DPoS机制由区块链上所有节点通过投票决定区块的记录者,任何一个拥有超过1%投票的节点都可以成为“代表”。所有的代表构成一个“董事会”,拥有验证投票权利并按时间片部署轮流记录新区块[16]。而针对安全稳定控制终端特性改进的DPoS则直接选择所有链上节点作为拥有较高股权的“代表”,使它们获得按时间片轮流验证投票和记录新区块的权力,从而免去节点投票这一环节,能够减少终端时间和计算能力的开支。DPoS算法可以不需要节点进行庞杂的计算就得到很好的交易证明,比其他算法获取共识的速度更快,并且DPoS能一定程度上防御由于随机选取记录新区块的节点而产生的安全威胁,保障电网安全稳定控制系统在去中心化环境下的稳定运行。

所有链上节点根据新设备的预置身份信息进行准入投票,投票过程基于Ripple机制。统计链上节点对新设备A的投票通过率α,当且仅当α>50%才允许新设备A加入认证网络。Ripple机制允许一组节点基于特定节点列表达成一致。初始可信节点就像一个组织集体,只有该组织集体中大于半数的人员投票通过才允许一个新成员的加入,所有节点共同遵循这些核心成员的51%权力,非链上节点没有影响力[17]。

③上下级设备判断。

根据A的系统功能和固有通信关系判断A是否属于逻辑层上级设备。安全稳定控制主站负责发布整个安全稳定控制系统的决策和指令,通过各子站收集全网信息;安全稳定控制子站向主站上送本站负荷信息、机组信息、联络元件的投停状态和各类故障信息,在接收主站发出命令的同时向下级执行站传送控制命令;安全稳定控制执行站负责监测并向子站上送本地负荷和发电信息,接收子站发出的切机、切负荷以及发电等命令。在本方案中,来自主站和子站的终端将被判定为逻辑层上级设备,而来自执行站的终端则被判定为下级设备。

④身份信息备份。

若新入网设备A为上级设备,允许A加入认证区块链,成为链上节点参与区块链的记录和维护;若新入网设备A为下级设备,则不允许A成为身份认证区块链参与节点,仅连接入网。新设备身份信息均需被记录于相应的记录文件中,此记录文件只包括终端身份信息,可进行链上存储也可进行本地存储。

⑤生成自有身份Hash链。

本文以A仅产生一条Hash链为例,设备A选择一个随机数SA检验,然后对其进行多次Hash运算(散列运算),即把任意长度的输入通过Hash运算变换成固定长度的输出,该输出就是Hash值,把每次Hash运算的结果按序组成一条长链,即为该设备的自有身份Hash链,Hash链最后一项的值为hn(SA)。其产出机制如式(1)所示:

hn(SA)=h(h(h(…h(SA)…))) (ntimes)。

(1)

进行Hash的次数视终端计算能力和存储空间大小决定,例如SHA256算法输出Hash值为256位,那么一个1M大小的存储空间可以存储超过3万个Hash值。

设备当前身份Hash链进行多次身份认证至h1(SA)发布时,进行Hash链再生[18],此时需要选择新的随机种子值S′A并检验进行Hash完成新链初始化。新链再生时,基于一次签名机制[19],SA作为私钥对新链进行加密。h1(SA)作为公钥发布,验证新链确实为原通信实体再生。加密和验证的数学表达式分别如式(2)和式(3)所示:

加密:SA(hn(S′A))。

(2)

验证:h1(SA)+SA(hn(S′A))→hn(S′A)。

(3)

本方案身份Hash链一次再生,验证N-1次,可以有效避免Hash链用尽身份认证无法继续的问题。另外为了对新链的初始化进行效率的提升,避免使用公钥密码体制,免去公私钥组件的产生和维护过程中时间和算力的消耗,更契合安全稳定控制终端的运行特点。

⑥新区块发布。

链上节点基于改进的DPoS共识机制(同步骤②)选出当前链上记录节点在认证区块链上记录新区块,发布新入网设备A的hn(SA),并以设备唯一地址ID(A)为标识。

新数据区块包括区块头和区块体两部分,区块头包含本区块的各描述信息以及与上一区块的关联信息,区块体包含详细的存储内容,如步骤④中所述新入网设备A的hn(SA)及其时间戳,存储内容通过生成Merkle树产生一个唯一的Merkle根值计入区块头[20]。

3.3 终端身份认证

认证流程由设备A向另一设备B发送认证请求开始(此处以设备A和设备B为例),A与B进行通信必须获得B的信任,信任获取通过B对A的身份认证完成。

认证流程主要分为7个步骤,如图5所示。

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

图5所示流程说明如下:

①发送认证请求。设备A根据设备B的ID(B)向B发送通信认证请求并附带设备A的身份Hash链hn-i(SA)项(i为A当前身份Hash链的认证次数,若此时为当前Hash链的第二次使用,i=2,当Hash链再生之后,i从1开始复位)一同发送给B。

②Hash运算。B对hn-i(SA)按设备生成自有身份Hash链所用的Hash算法做一次Hash运算,得到Hash值r,过程如式(4)所示:

r=hn-i+1(SA)=h(hn-i(SA))。

(4)

为了避免B在获取A的身份Hash值后进行恶意身份伪造,使用A的hn-i(SA)通过身份认证并与其他合法设备进行交互。根据最小信息暴露原则和零知识证明方法,Hash值在传递和验证过程中均不使用明文传输,B只能根据A的合法操作对A进行基于零知识证明的判定,无法获知A发送来的具体数据。此外,B在认证过后只返回身份认证结果,不附带任何与A身份相关的信息,更好地保护了节点的隐私信息。

③获取链上信息。B从认证区块链上根据A的ID获取hn-i+1(SA)的值R。若B为上级设备,B是认证区块链上的节点,可以通过搜索本地存储备份或Hash验证的方式直接获得区块链上数据备份以进行前向查询,以ID(A)为标志查询hn-i+1(SA)的值R;若B为下级设备,B不是认证区块链上的节点,只能通过向区块链网络发起查询请求,请求中包含待查询信息的标志ID(A)。链上节点向B返回查询结果,查询结果中包含hn-i+1(SA)的值R。

④比对Hash值。如果r=R,则执行步骤⑤;否则,执行步骤⑥。

⑤认证通过,B给A发送认证通过确认消息,允许继续通信,执行步骤⑦。

⑥认证不通过,B上传系统安全威胁信息,结束。

⑦下一次认证准备。A向区块链网络中申请将hn-i(SA)发布到区块链上公开,所有链上节点进行确认,大部分节点确认后(规定大于2/3节点确认即认为是大部分节点确认)则允许写入区块链。认证区块链上各节点基于改进的DPoS共识机制(同3.2节步骤②),按时间片轮换进行新区块的记录,将包括hn-i(SA)在内的新信息加上时间戳链接到认证区块链上,为A的下一次认证做好准备。

3.4 数据分布式存储

由于设备的身份Hash链可以再生,运行于一条区块链上的身份认证系统可进行多次终端间的身份认证,随着时间的推移,区块链上用于存储设备Hash值的区块会逐渐增多。本文提出分布式存储容量可扩展的方案解决上述问题,其核心思想是将区块链上的数据副本分布式地存储在不同终端上并利用区块链特有的区块头部Hash进行验证。

每一个新区块产生时先根据区块链上节点总数,基于数据拷贝的分配策略计算每个块要保存的最小拷贝数,将数据拷贝随机分配给链上的节点进行存储。当设备需进行身份认证并且本地未保存所需区块数据时,向区块链网络中发送查询广播请求,其余链上节点对本地所存储区块进行反向查询,向请求节点返回所需区块全部信息。收到所需数据的节点需要验证消息的真实性,此过程依赖于区块的特殊结构完成。每一区块的头部都会保存有前一区块的完整数据Hash值。在本方案中,每一链上节点都只存储区块的Hash值等头部信息不存储区块体其他信息来减少所需存储空间。节点将收到的区块的Hash与本地存储的Hash进行比对,再对此区块中所记录的所有数据进行基于Merkle树的Hash处理,得到本区块完整数据Hash值。基于区块头部所有信息,根据区块链规则,得到当前区块的Hash值,若此值和区块头部Hash值相同,则区块验证通过,可利用区块中记录的数据进行后续操作。

3.5 安全性分析

区块链具有集体维护、不可篡改、按序存储、安全可信等特点,终端身份认证信息分布存储,节点间保持同步,以此为基础提出的身份认证机制将大大增强电力系统的健壮性和安全性[21]。

①抗中间人攻击。本文提出的身份认证方案可防御伪造身份的中间人攻击,若有攻击者通过伪造身份标识ID(A)的方式向B发送身份认证请求,由于攻击者没有A的自有身份Hash链,无法向B提供正确的hn-i+1(SA)的值,将导致认证失败,在一定程度上可以保证安全稳定控制终端不被非法接入,测控报文可以安全传输。

②避免终端伪造反馈信息。基于区块链的分布式认证方式对认证结果进行平等共识,与电力系统现有的装置管理模式相兼容,提供更好的健壮性等安全特性。同时区块链中存储的每个数据都附加时间戳并按链式结构有序存储,为数据内容增加了时间维度,因此具有可验证性和可追溯性。基于以上特性,区块链技术克服传统方案的不足,使攻击者无法向管理者发送伪造的认证结果。

③有效应对DoS攻击。本文提出的身份认证方案基于区块链的分布式结构,共识结果由所有上级设备共同决定,区块链上的有效数据分布式存储于各节点中,因此即使单点遭受DoS攻击,也能被其他节点平等替代,整个系统保持正常运行。而传统的基于认证中心的数字证书机制易遭受DoS攻击导致认证中心资源耗尽,阻碍后续所有进程。

④终端唯一身份标识可追溯。终端的访问身份标识是唯一且固定的,它与身份信息在设备进入网络时就密切相关,在一定程度上,它可以用来防止盗窃和篡改,保证安全稳定控制终端的身份可信度。另外,终端可以根据ID划分管理区域,从而提高安全管理效率。在安全管理者视角,还可借助终端ID对终端行为进行快速溯源,对于有威胁、非法的操作进行及时隔离与阻断。快速、准确识别攻击源、改进追溯机制可有效增强安全稳定控制系统的安全健壮性,对整个电力系统有利而无一害。

4 实验设计与分析

4.1 实验设计

基于区块链的电力安全稳定控制终端身份认证方案主要包括终端入网和终端身份认证2个过程,且要实现终端基于区块链技术的端对端身份认证必须先进行终端入网的操作。本实验通过使用C++编程模拟的方法实现上述过程,并结合实际运行环境条件分析了方案的实时性,说明了该方案用于电力系统安全稳定控制终端身份认证的可行性。

对方案进行编程实现的过程中设计了设备信息类Device、区块类Block和哈希函数类Hash等关键类。在终端入网环节中,利用Device类读取本地存储的新设备的预置身份信息文件并且通过此类中的接口引导程序进行后续步骤。编程实现认证过程中各个类之间的主要交互如图6所示。

图6 类交互关系示意图Fig.6 Schematic diagram of class interaction

每个实体设备将由实验程序中的一个Device类来表示。设备A向设备B发送认证请求的同时会一并发送ID(A)及hn-i(SA),接收到请求的设备B将通过Device类的Authentication()方法从区块链上直接或间接查询获取hn-i+1(SA),然后创建Hash类进行一次Hash计算,通过对照计算结果与hn-i+1(SA)的值判断认证是否通过。设备在新入网及一次认证成功后都将向区块链请求发布一项新的Hash值,作为下一次认证时使用的数据。

实验中所用Hash算法生成的随机种子值最大为5位数,经过多次产生不同长度的Hash链测试,产生长度为500及以上的Hash链并写入设备自身身份信息文件耗时超过100 ms,长度为200的Hash链生成时间稳定在50 ms左右,并且200次认证已满足终端在一段时间内的可信通信需求。长度为200的Hash链存储空间小于4 KiB,那么大小为1 MiB的区块能存储Hash值超过5万个。

4.2 实验分析

①实时性分析。本实验系统可以根据制定流程顺利完成入网和认证的操作。多次运行实验程序并统计其所耗时间的结果见表1。

经过多次新设备入网过程的跟踪,整个入网过程需要大约300 ms的时间消耗,其中包括生成自有身份Hash链的时间。由于入网过程在设备投入使用前进行,此时延不会造成电力系统的效率降低。多次试验的结果,两终端进行端到端的身份认证模拟认证成功的情况下平均用时约130 ms,认证失败的情况下会导致整个过程提前结束用时更少。整个方案从时间上看也优于其他基于区块链改进的CA认证机制。

表1 实验时延数据统计

②区块链的建立。本文方案采用联盟链[22]的思想,只有上级控制终端能对区块链进行操作,因此本方案对下级执行终端的要求没有那么高,并且只有在新终端加入链的时候,才由上级节点书写区块数据完成新块的链接,避免了海量数据的存储和频繁更新等繁琐过程,有效降低了时延。并且根据实际运行环境和通信状况设置终端认证频率能有效解决终端间每进行一次通信就要产生新区块造成的消耗问题。

③基于Hash的身份认证。本文提出的电力系统安全稳定控制终端的身份认证机制基于不可逆Hash算法,与第1节中所提到的结合区块链改进的PKI认证方案相比更加轻量化,减少了基于PKI的数字证书身份认证方案中用于证书或秘钥管理、签名与验签和秘钥生成等过程中的时间消耗,在硬件方面也没有过多额外需求,提高了认证效率。

由于认证过程中用到的Hash链在同一时间不能并行操作,只有在前一Hash值区块被发布后才能继续进行认证,所以一台终端在需要被多节点同时认证时,需要多条身份认证Hash链同时运作。但是因为电力系统中终端的通讯关系较为固定,在终端上线使用之前已经能估算出终端的通讯流量范围值,所以本方案用在电力安全稳定控制系统中不会出现因Hash链过多而造成终端算力不够导致时延过大的情况。

④改进共识机制。本文提出的身份认证方案不采用比特币中使用的PoW(工作量证明)共识机制,而是对现有的DPoS进行改进。针对安全稳定控制终端特性改进的DPoS选择所有链上上级节点拥有较高股权从而获得按时间片轮流验证投票和记录新区块的权力,免去节点投票这一环节以减少终端时间和计算能力的开支。DPoS算法可以不需要节点进行庞杂的计算就得到很好的交易证明,与其他算法比较获取共识的速度更快。

由于安全稳定控制终端通信模式单一且固定,终端通信网络简单化,并且CPU无需同时操作大量其他程序,终端的认证过程时延可进一步减少。在安全稳定控制系统中,主站发出控制命令的时间控制在几十个毫秒之内,为了确保通信设备对于信息的可靠接受,关键控制命令信息持续发送时间大于100 ms,整个稳控系统的平均操作时间控制在毫秒量级。本文提出的基于区块链的电力稳定控制终端间的身份认证能够在实验环境下顺利进行,并且根据时间和空间的消耗分析,不会对终端的存储性能和计算能力有较高要求,因此在保证安全稳定控制终端间的有效身份认证,提高电力系统整体安全性上具有可行性。

5 总结

目前,电力系统安全稳定控制终端间身份认证机制的不健全使整个电网面临较大的网络安全风险,本文提出符合电力安全稳定控制系统特性的基于区块链技术的身份认证方案,可实现终端间各业务流传输前的身份有效认证,并提出终端唯一身份标识、Hash链再生和数据分布式存储的关键技术,以此作为本方案的应用基础,保证身份认证过程顺利进行且不会大量增加系统消耗。

本文为分布式安全稳定控制系统终端间的认证与信任管理提出一种解决方案,将极大提高安全稳定控制系统中设备通信的安全性,同时缓解嵌入式设备计算压力,为电力系统通信实体安全检测提供依据,也可为其他行业工控系统安全防护后续研究方向提供参考;同时基于安全稳定控制终端实际运行环境和网络攻击系统进一步验证方案的安全性可作为下一步研究工作。

猜你喜欢
分布式身份区块
区块链:一个改变未来的幽灵
区块链:主要角色和衍生应用
区块链+媒体业的N种可能
读懂区块链
分布式光伏热钱汹涌
跟踪导练(三)(5)
分布式光伏:爆发还是徘徊
身份案(下)
基于DDS的分布式三维协同仿真研究
放松一下 隐瞒身份