电力物联网安全分析与国密算法应用

2021-07-16 06:13向新宇姚海燕於志渊通讯作者惠以轩王德君
网络安全技术与应用 2021年7期
关键词:私钥公钥电表

◆向新宇 姚海燕 於志渊通讯作者,3 惠以轩 王德君

(1.国网浙江省电力有限公司杭州供电公司 浙江 310000;2.杭州市电力设计院有限公司余杭分公司 浙江 310000;3.北京博思汇众科技有限公司 北京 10000)

电力能源是社会生活生产的重要支撑,电力系统是保障民生和促进社会经济发展的基础产业。电力系统结构复杂。从设备组成来看,电力系统主要包括电力产生设备、电力变换设备、电力传送设备和分配消费设备等;从网络组成来看,电力网主要分为电力输电网和电力配电网[1-2]。鉴于电力行业的特殊性,需要建立完备的安全监控体系,需要依托5G 工业网、窄带物联网、低功率广域网络LPWAN[3]等新技术构建海量连接,从而实现数据采集、监视控制系统的部署与通信,同时也为智能化用电服务提供支撑。电力物联网将原本孤立的电力设备进行通信串联,打通了封闭网络的信息通路,在提升电力系统运营便捷的同时,也给电力这一传统行业带来了新兴的网络安全风险。国密算法作为我国自主知识产权加密算法,可以融合电力物联网特点进行部署应用,提高电力物联网的行业安全性。

本文结合电力物联网发展特点,开展电力物联网网络安全分析,结合国密算法算点,探讨其在电力物联网行业的应用,设计了典型的应用场景,提出了一种基于SM3 和SM9 的电量信息采集传输方案,能够有效支撑电力信息传输的业务安全开展,为行业研究和工业生产提供借鉴思路。

1 电力物联网架构及安全分析

1.1 网络架构

按照电网输电、变电、配电和用电业务的经营现状,电力物联网的整体框架设计如图1所示[4],共包括4 层,其中感知层实现电力终端设备信息的感知,依托射频识别RFID 等技术实现终端状态信息的汇聚,实现输电环节的线路监控、视频监控,变电环节的设备巡检、视频监控,配电环节的配电自动化、设备监控和用电环节的远程抄表、客户关系等各个环节的信息采集;在网络层,综合运用有线通信、无线通信、卫星通信、运营商专线、5G 等技术构建电力专用通信系统,形成了电力物联网的广域连接;在平台层,通过电力通信系统将各个环节的信息数据传送给管理平台,实现信息的整合、分析、处理;在应用层,通过对不同行业电力服务的差异化决策,面向不同行业提供智能化专业用电服务,实现电力配电、电力调度的高效化和智能化。通过电力物联网,能够对现有的电力系统基础设施资源进行合理有效的整合,提高电能利用效率,同时,能够推动绿色电力等新能源产业的电网迅速接入,提高电力系统的自动化与智能化的水平。

图1 电力物联网系统架构

1.2 安全分析

电力物联网的一个重要特征是电力通信网的泛在化,大量的公共网络协议在电力通信网中进行部署,提高电网监管水平的同时,也为大多数互联网攻击手段提供了适用平台。结合电力物联网架构,本文认为其安全上的风险主要体现在以下几个方面。

一是身份认证方面。伴随电力物联网开放互联的演进,电力物联网存在海量的网络连接[5],尤其是在移动、泛在、混合、广域互联环境下,电力物联网中部署了传感装置、移动终端、视频监控、智能电表、充电桩、办公计算机等大量的内外网数据采集、控制及管理设备,如何进行身份识别,实现业务系统对海量电力设备的精准定位,是防止身份识别错识破以及恶意仿冒接入必须要面对的一个问题。

二是网络边界方面。以往电力网是一张隔离网络,利用专有协议实现工业控制,与其他网络边界比较清晰。电力物联网是工业互联网的重要内容,尤其是云平台的使用,更加淡化了电力网与公共网的边界,同时,随着电力物联网的发展,势必需要借助公网资源例如电信运营商5G 切片或者MPLS VPN 网络实现通信组网,从而导致增加了电网与互联网的接口规模,淡化了工业网络的网络边界,增加了风险来源。

三是加密传输方面。电力物联网存在着大量的通信数据,无论是感知层RFID 终端感知网络间的通信,还是网络层电力终端与平台层系统之间通信,都必须要面对传输数据的加密问题,防止中间人劫持攻击实现电量数据等信息的篡改,因此数据传输加密的需求十分巨大。

2 国密算法应用分析

密码算法具有数据加密、身份认证的作用,而且在网络边界部署密码设备还能起到网络隔离的作用。在电力物联网中部署密码算法能够做到网络与信息的安全防护。

2.1 国密算法概述

表1 所示为国密算法与国际商用密码的对比。国密算法是由国家密码局制订标准的一系列算法,国密算法包括密码算法编程、算法芯片、加密卡实现等一系列技术。具体分类方面,包括SM1 对称加密、SM2 密码杂凑算法[6]、SM3 对称加密算法[7]、SM4 对称加密算法、SM7 分组密码算法、SM9 标识密码算法以及ZUC 祖冲之算法等。国密算法应用范围广泛,用于对具有敏感性的内部信息、行政事务信息、经济信息等进行加密保护:SM1 可用于企业门禁管理、企业内部的各类敏感信息的传输加密、存储加密,防止非法第三方获取信息内容;也可用于各种安全认证、网上银行、数字签名等。

表1 国密算法列表

2.2 电力行业应用

目前电力部分业务数据的通信协议采用了一定的安全认证加密手段,但应用场景并不普遍,多数业务场景中仍然存在被第三方窃取或伪造协议数据包、篡改数据、仿冒身份等安全风险。运用国产密码算法有利于提高安全强度,保障电力系统的安全运行。这其中,SM1和SM7 算法在智能电表卡通信中进行广泛应用;SM3 可用在敏感数据的完整性验证,例如在电表数据的传输过程中采用SM3 进行签名,从而验证电力数据没有被修改;SM2、SM4、SM9、ZUC 算法在电力报文的安全传输中具有较好的应用前景。其中,SM9 提供加解密、数字签名和密钥交换等功能[8],算法描述如下:

(1)密钥生成中心(Key Generation Center,KGC)公布系统参数,<k,G1,G2,e,Ppub,H1,H2>,其中,G1,G2是N阶循环子群,H1,H2为Hash 函数,Ppub是主公钥,e是KGC 选取的G1,G2的双线性映射,KGC 秘密保留主密钥s。

(2)密钥生成算法:对于用户身份IDA,密钥生成中心(KGC)选择公开用一个字节表示的私钥生成函数识别符hid,在椭圆曲线有限域FN上计算t1=H1(IDA||hid,N)+s,如果t1=0,则重新生主私钥,否则计算t2=,再计算私钥d=P1t1以及公钥Q=H1(IDA||hid)P1+Ppub,其中P1是G1的生成元。

(3)签名生成算法:待签名消息是M,签名主公钥Ppub,签名密钥dsA,对M签名如下:

A1.计算g=e(P1,Ppub);

A2.生成随机数r∈[1,N-1],计算w=gr,并将w转成比特串;

A3.计算h=H2(M||w,N);

A4.计算L=(r-h)mod(N),如果值为0,则返回2)

A5.计算S=[L]dsA,输出消息M的数字签名 (h,S)。

3 典型应用

结合中国电信、华为和国家电网发布的《5G 网络切片使能智能电网》[9]中所描述的主要场景,本文探讨低压用电信息采集场景下电力物联网加密问题,给出基于SM9 的解决方案,并分析其效益。

3.1 问题归纳

图2 为电量采集系统架构示意图接入架构。电量采集系统由电网平台、数据通道、电力终端三部分组成,实现对电网和电表实时数据采集,完成分时电量计费统计和能量平衡。实现电量信息传输的通信方式有多种,窄带通信技术较为常用。通过周期性的采集,实现对重要用户电量的持续性跟踪,提升电力服务能力。

图2 电量采集传输系统架构示意图

如图2 所示的系统架构中,安全方面有两个现实需求:

一是加密传输问题,需要对电网平台与电力终端之间的通信进行加密传输保护,防止信息在传输过中可能遭受到的劫持和恶意修改。

二是海量终端的身份认证问题,每个终端具有唯一的编码可以实现身份标识,但电力终端涉及千家万户数目庞大,电网平台需要实现对电力终端的身份认证。

3.2 基于SM9的加密通信

针对上节提出的身份认证问题和加密传输问题,提出一种基于SM9 的加密传输方案,SM9 本身是一种IBC(基于标识的密码系统,Identity-Based Cryptograph),能够简化在加密过程中数字证书的交换问题,使加密算法更加易于部署和应用。

电量数据采集主要是电表终端与电网平台之间的通信,具有多对一即大量电表终端对电网平台服务器通信的特点。其分为两种业务模式,第一种是由电表终端发起,向电网平台上报电量数据,主要用于周期性的电量数据上报;第二种是由电网平台服务器发起,主要基于用电数据查询的需求。电量信息采集与传输是一种双向业务,可以采用对称或者非对称密码算法方法进行加密,无论采用哪种方式,密钥管理都是相当大的问题。分别对这两种方式进行分析如下。

● 如果对称密码算法采用预置密钥(Pre-shared key),那么由于通信双方密钥存储在电表一侧,则会导致电表终端的安全对整个电网的影响过大,同时,电网平台服务器每次需要根据用户身份查询对应的密钥,则会带来身份认证的额外负担,在大量电力终端同时通信时易形成电网平台服务器的拒绝服务攻击。

● 如果采用非对称密码算法,那么电表端需要存储供电站的公钥以及自己的私钥,电网平台存储自己私钥以及用户电表的公钥,电表终端在进行电力数据上报时,采用电网平台的公钥加密,电网平台采用自己私钥解密数据;电网平台向电表终端发送数据时,利用不同电表终端的公钥进行加密,然后电表终端利用自己私钥进行解密。

由于在电力通信中,电表终端与电网平台服务器之间的双向信道存在非对称性,电表终端向服务器传输的信息量明显高于服务器传向电力终端发送的数据量,因此,服务器解密数据时不需要进行密钥查询,就能够降低服务受到拒绝服务攻击的可能。

上述方法解决了信息加密传输的问题,但是仍然存在身份认证的难题,大量的电表终端表采用电网平台的公钥进行传输,如何进行信息标识是必须要考虑的问题。为此,进一步提出基于SM9 的数字签名机制,主要思想是,电表终端在进行报文发送之间,利用杂凑算法从报文中生成报文摘要,然后利用自己私钥进行摘要加密,加密后的摘要将作为报文的数字签名和报文一起发送给电网平台服务器,服务器用同样的杂凑算法从接收到的原始报文中计算出报文摘要,接着再利用电力终端的公钥来对报文附加的数字签名进行解密,如果这两个摘要相同,那么接收方就能确认该报文是发送方的。

基于SM9 的信息传输机制具体如下,以电力信息上报为例,其中电表终端简称ET,电网平台服务器简称ES:

● A1.KGC 发布系统参数,根据用户电力编码生ET 的公钥私钥,ES 的公钥私钥;

● A2.ET 存储个人私钥以及电力平台的公钥;ES 存储电表终端的公钥和自身私钥

● A3.ET 与ES 建立通信,如果是初始化的第1 个数据包,则进行签名,具体见下一步;否则,则利用ES 公钥加密得到加密数据包EP,发送EP。

● A4.ET 利用SM3 对报文date 进行压缩,报文data 只取用户信息编码,压缩后得到信息摘要H=hash(date)。

● A5.ET 利用自身私钥采用SM9 签名算法对摘要H 进行签名,得到签名信息SP。

● A5.ET 将签名信息SP 附着在原始信息后,形成组合数据包,进行加密得到EP,进行发送。

● A6.ES 接收到数据EP 后,采用自己私钥进行解密,得到解密之后的数据包DP,并启动数据包计数器,对收到的数据包进行标号。

● A7.如果DP 是第1 个数据包,则得到了组合数据包,提取出SP,计算出该ET 对应的公钥,输入待签名信息和签名,利用SM9 验证签名是否一致,如果一致证明身份的一证性。

● A8.通信结束之后,ES 的计数器清零。

4 实验仿真与实网部署分析

如图3 所示,本文用仿真环境对传输方案进行效果验证。硬件环境上,采用局域网内两台主机进行模拟ET 与ES,ET 与ES 的通信过程采用python 套接字socket 实现,传输层协议采用TCP,利用Socket 模拟ET 与ES 之间的电量信息传输,传输内容主要是用户电力编码、电量信息、当前时间等信息。SM9 和SM3 的加密代码使用GMSSL 开源包,GMSSL 是一个开源的加密包的python 实现,支持SM2/SM3/SM4/SM9 等国密算法。

图3 仿真环境图

作为对比,图4 仿真了未加密条件下的ES 所收到明文信息,仿真环境中只传输了用户的用户编码“1234567890”、电表示数分别是135 和145 以及采集时的时间。上述没有加密的信息在开放网络环境下,信息安全性较差容易造成信息泄漏以及中间人攻击。在局域网环境下,可以在第三台终端上部署中间人攻击测试框架MITMF、Ettercap,开展地址欺骗技术实现会话劫持,能够很方便地实现信息的篡改,图5 是利用在第三方终端上部署ettercap 开展中间人攻击的实施图。

图4 仿真环境电中网平台收到明文信息

图5 基于Ettercap 的中间人攻击

图6 是利用客户端模拟标识为“1234567890”ET 终端,利用SM9对所传输信息“1234567890+145.00+1612026110.84”进行加密之后得到的加密数据。ET 将加密数据发送至ES,这能够实现数据信息的保护。在对抗中间人劫持方面,该数据使用了ES 的公钥进行加密,但只能在ES 平台服务器处进行解密,中间人无法进行正确的解密,该传输能够有效确保信息传输的安全性。

图6 仿真环境SM9 加密结果

此外,每一次电力用户第一个数据包为签名数据,起到身份认证作用,该过程ET 采用自身私钥对摘要信息进行加密实现签名,ES端接收到签名需要利用自己私钥解密信息后得到ET 的编码,进而计算ET 公钥,存在大量用户访问时ES 端响应的问题,但是由于ES端只对每一个ET 的第一上数据包进行验证,后续通信不再验证,因此也减轻了ES 的响应压力,形成对ES 的保护。

5 结论

电力物联网是电力行业建设的重点,它打通了原本孤立的电力设备网络,实现了海量设备的通信串联,构建了传统行业的信息通路,提升了电力系统运营效率。本文结合电力物联网发展特点,对电力的互联互通开展安全分析,结合国密算法算点,探讨其在电力物联网行业的应用,给出基于SM9 的电力终端与电网平台务器之间的加密通信模式,解决身份认证、加密传输等安全问题,为行业研究和工业生产提供借鉴思路。未来工作有两个方面,一是拓展加密通信在其他电力业务场景的应用,进一步提升电力网安全;另一方面,目前机制只是基于电量传输的业务特点,以首个数据包进行了身份认证,在其他业务上可研究身份认证次数优化,下一步寻求在控制ES 压力前提下,增强身份认证的有效方法。

猜你喜欢
私钥公钥电表
清扫机器人避障系统区块链私钥分片存储方法
比特币的安全性到底有多高
电表“对”与“错”归类巧掌握
Cartoons
一种基于混沌的公钥加密方案
“蹦叭”跳动电表数
神奇的公钥密码
一种基于虚拟私钥的OpenSSL与CSP交互方案
P2X7 receptor antagonism in amyotrophic lateral sclerosis
SM2椭圆曲线公钥密码算法综述