基于PKI公钥体系的电力监控网络安全接入机制
2024-05-03辛熙段金长刘晓放张洪略
辛熙 段金长 刘晓放 张洪略
摘要:针对电力监控网络服务请求繁多、身份认证速度慢等网络拥塞问题,通过深入分析网络通信过程中数据泄漏发生原理,并基于PKI机制下的挑战。响应模式对通信双方的密钥进行动态更新,利用哈希函数对用户身份在通信前做及时认证,设计了一种安全电力监控网络安全的接人体系,实现对网络节点的信息化控制。实验结果表明,所提的基于PKI机制的方案较传统基于对称机制的方案在牺牲少量计算代价的情况下,可实现通信数据高保密高可靠传输,在密钥协商的相互认证阶段本文花费的通信开销相较于对称机制节省约4%。
关键词:监控;电力网;动态密钥;相互认证;密钥更新;哈希函数
中图分类号:TM632;TP311 文献标志码:A 文章编号:1000-1646(2024)01-0115-06
我国现阶段的电力监控网络采用无线传输,其关键保障在于设备接人时的身份认证。根据电力现货市场业务的需求和现状,构建技术支撑系统安全构架需从系统、业务、数据、接入4个方面全方位进行设计,安全架构如图1所示。而现有电力监控网络服务面临的主要问题是多任务请求、身份认证速度慢等网络拥塞问题,而目前的解决思路主要为分别从物理层和不同通信层进行研究的安全设计方案,但结合密码技术的研究暂时处于初探阶段。DAEMEN等分别利用对称加密标准DES类和椭圆曲线ECC的方法,用以保护企业核心数据防泄漏方面的性能。针对移动终端,SUN等提出了一种集客户端和云服务器一体的抗泄漏安全存储模型。此外,有学者按照文件与移动智能终端的物理依赖,采用密文和明文自由切换,提出文件全生命周期防护措施。但上述方案由于协议执行过程中要不断切换,所以均不同程度地存在时延长、实际效果差的问题。
在市场环境下,电力监控网络市场技术支持系统安全防护所需要遵循的安全策略主要有:1)物理防護,通过网络隔离对系统的网络边界进行防护;2)系统防护,通过网络接入的安全设计,如加密、身份认证、访问控制、终端与应用软件安全管理等措施提升网络的安全性能;3)审计与溯源,采用监控与审计对恶意行为和违规操作进行责任追溯。
考虑到电力监控网络环境中数据安全是全网系统需要保障的核心,因此,本文拟结合电力网络通信架构和安全防护策略,借助密码学哈希函数,建立以PKI/CA(公钥基础设施/证书颁发机构)技术为核心的通信双方数据保护的身份认证与访问控制体系。设计框架为内部用户使用企业内建CA系统颁发的数字证书,外部用户使用与中长期电力交易系统一致的第三方CA系统颁发的数字证书,并从数据层、系统端实现网络接入和业务系统访问时的身份认证等功能。
1 认证方案设计
在本方案中,主从站之间的通信将选取DNP3协议,从应用层数据传输入手,所设计的方案应满足以下目标:
1)为减少主从站设备的频繁交互,通信存储与设计方案需轻量化;
2)为使系统能自行管理,应尽可能避免延迟带来的消耗;
3)为避免恶意攻击,需能抵抗主从站遭受的常见攻击。
2 安全接入方案设计
2.1 基于挑战响应的PKI网络设备安全接入认证方案架构
在无线通信中,攻击者不具备长时间无差错监听能力。设备接入时,数据端通常采用加密传输,所涉及的操作均为低计算量操作,如异或、哈希、公钥等,以降低通信开销。系统安全架构将由3部分组成:数据加解密、动态钥生成、共享钥更新。
2.2 系统初始化
图2为网络安全接入机制模型。本文基于密码学中的双线性对密码系统建立PKI公钥基础设施,主要步骤为:
1)注册中心选择参数为{G1,G2,P,g,q,e,Ppub,h1-h4,huser,H},系统主私钥为τ,其中G1和G2分别为q阶加法循环群和乘法循环群。e为G1到G2上的双线性映射,P为G1的生成元,g=e(P,P)为G2的生成元;h、H、h1和huser均为协议设计所必须的密码学哈希函数,具有保护信息完整性、防篡改的功能,其中,h、H分别为主站和从站产生各自动态密钥而使用的函数,h1表示在共享密钥产生过程中用到的哈希函数,huser表示初始阶段用户注册时所使用的函数。
2)注册中心选择系统随机数τ,计算系统主私钥τ=τP。
3)本文所选取的哈希函数h为SHA-1。
2.3 设备认证接入
注册中心基于离散对数问题,选择随机数rzc作为自身私钥,产生公钥grzc,并利用相关信息对用户设备身份进行注册。用户选择随机数ru和其身份IDu,利用注册中心的公钥产生密文Encgrzc(IDU||ru)发送给注册中心,其中Encx表示经加密运算产生的密文。注册中心根据利用自身的私钥先解密,然后产生用户私钥密文Encgrc(IDU||gτrUrzc,huser(IDU,grU)),返回给用户。用户利用自身私钥解密该密文,经过哈希huser(IDU,grU)验证,接收gτrUrzc作为后续通信临时共享密钥,并将信息(gτ,grU,gτrUrzc)存储到智能电表防篡改模块,完成用户注册。类似地,建立服务器向注册中心进行注册请求,得到信息(gτ,gτs,gτrsrzc)并进行秘密存储,其中,gτrsrzc为初始共享密钥。
2.4 共享密钥生成与更新
相较于文献[13],共享密钥的产生不仅依赖于计数值,而且设计成与传输信息和通信双方身份均有关系的一个量值。方案中采用随机数、双方身份和时间戳作为动态密钥产生的依据,通信时的动态密钥生成流程如图3所示,主要步骤为:
1)预设时间阈值,经PKI公钥认证,从站CN向主站安全发送第一密文E(rand_numl,Ksc),有限时间内未收到响应则重发。
2)主站解密第一随机序列并暂存,同时向从设备返回响应。
3)从站收到响应,更新本地kSet_CN值,计数器累加,然后向主站SN发送第二密文E(rand_num2,Ksc)。
4)主站解密第二密文,向从站发送响应,并与第一随机值比较,相同则表示重传数据;否则更新自身的kSet_SN值,计数器累加。
5)经N次累加,主、从站各自计算动态密钥DSsn=h(kSet_SN)和DScn=H(kSet_CN)。
主从站的动态密钥msg均是根据每次通信使用的随机数计算而来,主从站的共享钥也是通过上一次的共享钥与当前最新动态钥通过异或操作得出。因此,主站和从站双方的动态密钥与共享密钥始终保持一致,计算表达式为
msgi=Enc(rand_numi,Ksc) (1)
Hash=H(H(ID)||Str||msgi||CTi||tcn) (2)
式中:Str为主从站设备预先设定值;Ksc为主从站初始共享密钥;tcn为时间戳。主从站通信时,任意一方接收到收据,检查哈希值的完整性。若一致无误,则向对方发送响应,解密并更新随机数。同时利用哈希函数计算各自动态密钥,并经过异或再进行更新,其表达式为
DScn/sn=h1(kSet_SN/CN) (3)
式中:DS为动态密钥;SK表示共享密钥在设备接入时,认证过程需要共享密钥SK的参与。在动态密钥DS的生成过程中,攻击者无法对通信过程中的数据始终保持无差错监听,因此无法获取某动态密钥在生成周期内用到的所有随机序列,即无法获得动态密钥和共享密钥。
2.5 在线相互认证
用户与服务器的相互认证及协商共享会话钥的过程如下:
1)用户U得到离线预计算结果后,首先利用私钥Sku、服务器公钥Pks、时间戳T1和随机数R产生包含哈希值在内的验证信息,即
v=Pks(T||IDs||IDU||SkU(h1(IDU||IDS||T1||R))) (5)
然后用户发送包含验证信息在内的共享密钥给服务器。
2)当服务器接收到用户消息时,首先利用解密密钥获得用户身份、随机数等信息,检查信息v=h1(IDU||IDS||T1||R)是否成立。若成立,则根据时间间隔判断T1的有效性;否则,服务器将重新选择随机数,产生新的共享密钥以同样过程发送给用户进行验证。
3)无论最终是用户端还是服务器端,都需要验证式(5)是否成立。成立则说明密文、共享密钥在传输过程中未被篡改,且服务器和用户可以相互验证对方身份的合法性,并可利用共享会话密钥进行后续的安全通信;若上述等式不成立,则接收方将拒绝此次会话。显然,在该阶段任何一方不但可以根据时间间隔判断会话时间的有效性,还能够通过哈希函数验证等式v来判断对方的合法性。上述认证过程均采用轻量级计算和短时时间窗口,从而减少计算资源。
2.6 电力监控网络设备安全接入认证方案安全分析
本文所提传输网络接入方案面临的主要攻击有:长时窃听、恶意注入、重放及中间人攻击等。
1)长时窃听。动态密钥不仅依赖主从站点随机序列,且与各自所持哈希值有关,即使仅有一个比特的改变也会导致其哈希值的雪崩变化,从而使所提方案能够抵抗窃听攻击。
2)恶意注入。主从站共享密钥的一致有赖于各站PKI所进行的加密处理。当攻击者伪装从站发送恶意信息,主站因不能正确解密必将丢弃拒绝后续通信。此外,主站对接收的任意消息均是先检验数据完整性,确保数据未被恶意篡改才执行后续通信。
3)重放及中间人攻击。从主站在产生动态密钥的过程中引入了时间戳,其数据发送均包含时间信息,一旦传输突破阈值,该包即被丢弃。此外,节点间通信均采用PKI公钥加密操作,所以攻击者无法反向推出通信随机数,且动态密钥、共享密钥均无法获取。因此,可抵抗重放及中间人攻击。
3 安全接入方案仿真测试
本文仿真选择通信协议OpenDNP,其是Automatak基于IEEE 1815面向事件的开源通信协议栈,工作模式为事件轮询和基于IP网络的静默模式,借助开源代码模拟主从站点之间的通信。
3.1 实验环境
CPU为Interl i5-3210M,主频2.50GHz,内存8GB,硬盘512GB,操作系统为Windows 1064位。开发环境Visio Studl02019,C++,开源库OpenDNP3-2.1.0,网络环境IEEE802.15。协议中,主站和从站通信利用本地进程模拟,并在OpenDNP3基本框架上额外添加认证模块和密钥生成模块保障数据安全接人。
3.2 基本操作所耗計算代价
本文所提方案涉及的基本操作主要有标量乘、SHA-1、点乘、加乘、双线性配对以及ECC公钥加密等操作。方案设计中所涉及的各项操作在Python-Ate-Bilinear-Pairing 0.6库和PyECC库下所消耗的时间如图4、5所示。每种操作按50次求均值,分别给出用户端和服务器端以10为底的对数的执行时间。
文献[13]执行通信协议时,涉及的操作如下:2个标量乘、4个点加、1个指数、1个加乘、5个哈希和1个对称加密。因此,用户端总耗时为248.73ms。类似地,服务器端的总耗时约为113.30ms。
在本文方案中,用户端涉及3个指数、2个点乘、2个点加、1个哈希和2个加密,因此总耗时为3Texp+2Tsm+2Tpa+Th+2TE≈285.6457ms,其中ECC加密时间为0.122;服务器端涉及3个指数:2个点乘、2个点加、1个哈希和2个解密,总耗时为3Texp+2Tsm+2Tpa+1Th+2TD≈78.84ms,其中ECC解密时间为0.013ms,如图6所示。
考虑到目前服务器的计算和存储能力的不断提升,其产生的时间代价对实际应用影响不大,故忽略不计,因此,文中所提基于PKI模式相较于对称接入模式设计,用户端计算消耗增加约为14%,这主要源于方案中密钥支持动态生成,用户端所做公钥加密运算耗时较多,但随着现代化高存储、高计算的智能电网环境不断发展,相较于网络安全,计算代价所占的比重显著减小。
3.3 通信开销
本文公钥系统采用离散对数和ECC公鑰进行环境构建,涉及的加法循环群为160位,超奇异椭圆曲线上的点由G.中元素构成。曲线定义在512位有限域Fp上,即E(Fp):y2=x3+2。G1和G2大小为512位,Z*Q为256位。假设随机序列和哈希输出同为256位,用户身份和时间戳同为64位,公钥加密采用ECC对用户身份进行加密处理。
3.3.1 用户注册阶段
在该阶段,用户发送消息rU和IDU进行注册,获得(gτ,gτU,gτrUrzc)存储于本地模块。在该消息传输中,身份信息是64位,所用通信开销是64+512x3+256=1856位。类似地,可计算出文献[13]的用户注册通信开销为1024x2+160+32=2240位。
3.3.2 服务器注册阶段
在该阶段,服务器发送消息rS和IDS进行注册,获得(gτ,gτS,gτrSrzc)存储于本地在该传输的消息中。服务器的身份为64位,该阶段通信开销仍是64+512x3+256=1856位。类似地,文献[13]的服务器注册通信开销为32+1024+160=1216位。
3.3.3 在线相互认证阶段
在线相互认证阶段主要是为了实现共享会话密钥的协商,用户、服务器分别发送消息rU、IDU、rS、IDS、Encgrzc(IDU||rU)和EncgrU(IDU||gτrUzc,h(IDU,grU)),因此该阶段的通信开销是256+64+256+64+512x4=2688位。文献[13]通信开销为1024×2+160x3+256+32=2816位。
密钥协商是在用户和服务器之间为实现身份认证需要不断交互进行验证确保身份信息一致的重要过程,因此在整个通信过程中具有举足轻重的作用。相较于对称机制的接人方案[13],PKI机制方案在密钥协商的相互认证阶段通信开销节省约4%。
综上,本文与文献[13]方案在用户、服务器注册,以及互认证阶段的通信代价如图7所示。无论何种接入方式,用户注册和服务器注册属于一次性通信过程,而相互认证则是通信双方在实际通信过程中需要首先确认一致的信息。
4 结束语
本文针对智能电网无线传输,结合密码技术设计了一个PKI公钥体系的电力监控网络安全接入方案。通过利用哈希函数对用户信息、时间信息、随机序列等双向认证,保障了数据的完整性和机密性,并分析了该方案抵抗常见攻击方式的可行性。实验结果表明,相较于基于对称加密的认证接入方案,虽然本文所提方案在时间性能方面相较于对称机制有所降低,用户端计算时间增加约14%,服务器端忽略不计,但相较于对称机制在密钥协商的相互认证过程中通信开销可节省4%,共享密钥的动态更新使本文所提方案的安全性得到大幅提高。
(责任编辑:钟媛 英文审校:尹淑英)