基于第三方验证的变电站命令交互方法的研究
南瑞集团(国网电力科学研究院)有限公司、国电南瑞科技股份有限公司的研究人员孙树才、朱陈鹏,在2018年第11期《电气技术》杂志上撰文,阐述了一种通过引入第三方认证并应用加密技术、提高变电站内控制信号传递安全性的方法。
通过使用非对称加密技术保护数据传输过程的安全,引入第三方认证设备用于验证命令双方的权限和身份,防止命令信息被截取和篡改,使用第三方设备对命令信息进行再封包,保证传输信息的安全性,使用动态密钥和授权过期制度进一步保护控制安全,最后对命令进行特征码校验,有效地过滤了错误数据。
通过本方法可以有效防止信号被截取或篡改,保证数据的安全性,限制操作人群,隔离非法用户,保护信息安全,极大提高了变电站控制过程的信息安全性。
1 背景技术
1)SSL加密技术
SSL协议能使用户/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,还可选择对用户进行认证。SSL协议在应用层通信之前就已经完成加密算法、通信密钥的协商及服务器认证工作,应用层所传送的数据均被加密,保证通信的私密性[1]。
2)非对称加密算法
非对称加密算法又名“公开密钥加密算法”,非对称加密算法需要两个密钥:公开密钥和私有密钥。公开密钥与私有密钥是一对,用公开密钥对数据进行加密,只有用对应的私有密钥才能解密。用私有密钥对数据进行加密,只有用对应的公开密钥才能解密。加密和解密使用的是两个不同的密钥,这种算法叫非对称加密算法。
该算法强度复杂、安全性依赖于算法与密钥,加密解密速度没有对称算法快,但对称算法中只有一个密钥,解密需要先知道密钥,需要保证密钥的安全,而非对称加密算法有两种密钥,其中一个是公开的,无需传输密钥,保证了密钥的安全性[2]。
3)散列算法
散列算法可以对不同长度的输入消息,产生固定长度的输出,散列算法是一种单向的加密算法,通过密文无法解密获取明文,即使对明文微小的改动,同样的散列运算也会得到完全不同的结果。基于这种特性,散列算法通常被用来验证信息的完整性[3]。
2 系统部署与对象释义
本文阐述的方法是通过引入第三方认证并应用加密技术,从而提高变电站内(及类似场景)控制信号传递的安全性,以防止信号被截取或篡改,使用此方法可以保证数据的安全性,限制操作人群,隔离非法用户,保护信息安全[4]。
简单的系统部署结构示意图如图1所示。
图1 简单的系统部署结构示意图
2.1 授权认证设备(以下简称CA)
该设备是本方法中使用的可信的第三方验证设备,作为数据安全的保证和控制命令的安全转交方式,主要有以下功能:1)通过智能卡或数字证书获取认证权限;2)数据证书的颁发、管理与认证功能;3)SSL加密通信的功能;4)信息完整性校验功能;5)授权信息记录与审计。
2.2 本地监控系统(以下简称LMS)
LMS是本地用于监控和操作IED的管理系统(一般指SCADA系统,本文中只强调其本地控制作用),作为本方法中的控制命令发起方。相对于传统的系统,需要进行扩展,提高其安全性,并具备处理加密信息的功能。
具体如下:1)升级身份认证机制,使之与授权认证设备绑定,使用数字安全证书提高账户的安全性;2)升级数据通信程序,使之与授权认证设备的信息交互采用SSL加密机制;3)计算信息的散列码,校验信息完整性。
2.3 远端监控系统(以下简称RMS)
该系统是远端使用的用于监控和操作IED的管理系统(一般指调度主站系统),一般通过专线或专用网络与LMS进行交互,在本方法中,RMS的控制命令与CA直接交互,是远端控制命令的发起方。
2.4 智能设备(以下简称IED)
该设备是本方法中最终处理执行控制命令的智能单元,是控制命令的接收方,作为最终信息的接收和处理方,是整个控制过程非常重要的一环,具备如下功能:1)接收、存储和转发LMS发送的散列特征码;2)接收、存储和校核CA颁发的数字证书,从而保证控制信息的来源可靠;3)接收和解密CA转发的控制信息。
3 身份认证机制
3.1 CA的身份认证
CA作为本方法的默认可信设备,为保证其安全不被入侵,基于嵌入式系统开发[4],只运行必要功能。硬件上固化数字证书,用于对外部的身份验证,该证书具有惟一性。
对于本地控制,建立信任智能卡列表,作为获取设备授权的验证密钥。本地操作需先提供智能卡,CA才会授予遥控操作权限,可以有效地控制本地操作终端和人员的范围。
对于远端控制,建立可信设备列表,存储对应的数字证书来验证身份,采用可靠的数据通道,先传送身份验证信息,CA验证身份可靠后,开放远端遥控权限,有效地限制了远端控制终端的范围。
3.2 LMS的身份认证
LMS本身具备用户验证机制。其控制操作权限是CA授予的,LMS在发起一次操作指令前,主动提交身份认证信息到CA,CA根据事先记录的信息,校核数字签名来验证LMS的身份。身份信任是临时的,超过一次操作周期后,CA将回收控制权限,并颁发新的数字证书。
3.3 RMS的身份认证
RMS本身是安全的,具备用户验证机制。变电站范围内的控制权限是CA授予的,RMS在发起一次操作指令前,主动与CA交换数字证书,交叉验证通过后,CA向RMS开放控制权限。控制权限是临时的,超出约定时间后,CA将回收控制权限,并要求RMS更新数字证书。
3.4 IED的身份认证
IED可以根据需求,更新自身的数字证书。IED的身份由CA统一管理,CA建立智能设备库,记录设备信息,并负责请求和验证数字证书。
4 交互过程
本文以本地控制过程为例,具体如下。
图2 本方法控制交互过程的流程图
4.1 控制指令的发起
1)获取CA权限:操作人首先需要持有智能卡,使用智能卡获取CA的访问权限。
2)登录LMS:使用用户名、密码登录LMS,所使用的账户需要具备控制权限。
3)申请控制操作权限:操作人在LMS上进行操作,程序自动发送请求到CA,CA校验监控设备身份信息,校验通过则返回一次性使用的公钥,校验失败则中止控制过程。
4)加密控制命令:LMS控制程序使用收到的公钥对控制命令进行加密,同时针对控制命令生成散列特征码用于完整性校验。LMS分别将加密后的控制命令提交给CA,将散列特征码发送给需要操作的IED。
4.2 控制指令的转交
1)解密控制命令:CA收到加密后的控制命令后,使用自身的私钥进行解密。
2)校核设备控制权限:CA根据控制命令,检查目标IED是否处于控制范围。
3)获取目标IED公钥:CA根据解析后的控制命令,向目标IED发送更新证书的命令,IED重新生成证书,并传递公钥给CA。
4)重新加密控制命令:CA使用获取的公钥对控制命令进行加密,并将加密后的数据发送给目标IED。
4.3 控制命令的执行
1)解密控制命令:IED使用私钥解密CA转交的控制命令。
2)校验控制命令:IED计算控制命令的散列特征码,并与LMS发送的散列特征码进行比对,校验命令的完整性。
3)执行控制命令:IED根据命令内容执行操作。
5 示例
下面以简单的遥控合闸过程为例进行说明:
1)控制人员使用用户名和密码登录LMS系统,选择需要控制的设备对象,下发遥控合闸命令。
2)LMS系统检测到有遥控操作,开始操作权限检测,通过CA校验智能卡或数字证书验证人员是否合法。CA读取到证书数据,通过系统固化的解密密钥获取详细信息后,进行授权比对用户名、密码、智能卡编号等信息,信息一致则认为操作人员身份合法,验证通过。
3)LMS向CA请求通信证书,CA检测到有LMS发起的请求后,随机生成一组非对称密钥,比如使用以下密钥信息,如图3所示。
图3 示意的密钥信息
m1与e1构成加密密钥,d1与e1构成解密密钥,CA保留d1不公布,将m1和e1反馈给LMS。
4)LMS收到密钥后,开始传递数据。LMS先根据操作生成命令明文,假设明文p1如下,见表1。
表1 示意的遥控命令
通过加密得到密文s1,如图4所示。
图4 示意的密文s1
通过散列特征算法(如MD5)得到散列特征码l1,如图5所示。
图5 示意的散列特征码
其中s1发送给CA,l1发送给目标IED。
1)CA收到LMS发送的密文s1后,使用d1和e1对密文进行解密,获取到目标IED地址后查询本地记录的有效IED表,如有效则认为可控,若无效,则返回目标检查失败信息。
2)CA确定可控后,向目标IED请求加密密钥,IED生成临时证书,并反馈新的m2和e2给CA,CA对明文进行重新加密,并将密文s2传递给IED。
3)IED使用保留的d2和e2对密文s2进行解密,计算解密后明文p2的散列特征码l2,并与之前收到的特征码l1进行比对,相同,则认为命令信息无误,可以执行;如不同,则认为命令损坏,要求重发。
图6 本示例的数据交换的过程
本文所阐述的方法可以有效地控制IED设备的控制权限及范围,防止命令信息在交互过程中被截取和篡改,验证命令信息的完整性,阻止非法用户获取操作权限,防止错误命令的执行,可以极大地提高变电站控制过程的信息安全性,特别是在非可靠网络环境下作用明显。该方法不限制于变电站,其他类似涉及控制信息交互的场合同样适用。