一种基于预共享的电力负荷管理系统数据安全传输方法
技术领域
本发明属于信息安全领域,具体涉及一种基于预共享的电力负荷管理系统数据安全传输方法。
背景技术
电力负荷管理系统面向无线通信网络和开放的Internet环境,系统主从站之间传输的应用数据存在被攻击者窃听、篡改与伪造的安全风险。电力负荷管理系统数据传输规约定义了电力负荷管理系统中主站和终端之间进行数据传输的帧格式、数据编码及传输规则,但规约本身缺乏身份认证、数据完整性和重要指令加密机制。
电力负荷管理系统数据传输规约通过链路地址标识通信实体,没有提出适当的收发端身份认证机制,不能保证传输数据用户身份的合法性,因而攻击者容易伪造合法实体进行通信。
电力负荷管理系统数据传输规约通过帧中的CRC校验字节段来验证数据的完整性。帧校验和段是控制域、地址域、链路用户数据(应用层)的字节的八位位组算术和,由于CRC算法公开,攻击者实施报文窜改攻击后,能计算出相应的CRC校验字节段值,因此仅依靠CRC校验字节段机制,不能保证电力负荷管理系统传输数据的完整性。
电力负荷管理系统数据传输规约中虽然明确指出为重要的报文设定密码,从站只有验证了密码后才执行相应的指令,并定义了两字节的PW字段,但并没有提出PW字段的使用方法与验证方式。这直接导致当前绝大多数的电力负荷管理系统PW字段没有使用,数据直接明文传输,或使用基于固定参数的简单置换进行填充,数据传输过程的安全强度远不能满足控制报文的安全需求。入侵者通过网络窃听、分析,能轻松获取现场数据,进一步实施各种重放攻击。
由此看来:为保证电力负荷管理系统传输数据的安全性,必须完善现有的电力负荷管理系统数据传输规约,引入身份认证、完整性校验和重要控制命令加密机制。
从本质上看,完善数据传输规约身份认证机制、数据完整性校验机制和保障重要控制命令安全均需要以加/解密算法作为基础。当前成熟的数据加密方法分为私用密钥(对称加密)体系和公开密钥(非对称加密)体系。私用密钥体系加密、解密密钥相同,公开密钥加密体系加解密密钥则不同。公开密钥体系是实现数字签名的基础,其加密算法基于尖端的数学难题,计算复杂,安全性高,但实现速度远赶不上对称加密体系。对于具有n个用户的网络,对称加密系统需要n(n-1)/2个密钥,公开密钥加密系统需2n个密钥。对于用户群很大的大型网络,对称密钥的分发和管理非常复杂,但在用户群不是很大的情况下,对称加密系统是有效的。因此,负荷管理信息系统应选取加密速度快的对称加密体系进行相关数据加/解密。
对称加密算法根据对明文消息加密方式的不同分为分组密码和流密码两大类。常用的分组密码算法有:Lucifer、IDEA、SAFERK-64、RC5、Skipjack、FEAL-N、LOKI、CAST、MMB、3-WAY、TEA、SHARK、BEAR、LION、CRAB、Blowfish、GOST、SQUARE、MISTY等。流密码算法的加密速度比分组密码算法还快,但面临着构造良好随机特性密钥流发生器和同步收发双方密钥流两个难题。因而,电力负荷管理系统应选取稳定、成熟的分组密码算法进行相关数据与报文的加/解密。
电力负荷管理系统数据传输规约身份认证与完整性校验机制的完善方法,必须切实可行,对已有规约具有良好的兼容性,同时必须兼顾重要控制命令的传输安全性。
发明内容
本发明通过对数据帧中链路用户数据(应用层)PW字段的定义,完善了电力负荷管理系统主从站数据传输过程中的身份认证和完整性校验机制,并在此基础上提出了一种基于预共享的电力负荷管理系统主从站通信密钥协商方法,实现了重要控制指令的加密。本发明的基于预共享的电力负荷管理系统数据安全传输方法对于电力负荷管理系统抵御无线通信网络、开放Internet环境中的各种安全威胁具有重大意义,通过对电力负荷管理系统传输规约身份认证与完整性校验机制的完善、重要控制指令的加密,保证了系统传输数据的机密性、完整性与可用性。本发明对于其他电力应用系统数据安全传输方案的制定具有重大借鉴与示范作用。
本发明的一种基于预共享的电力负荷管理系统数据安全传输方法,利用电力负荷管理系统数据传输规约中链路用户数据PW字段实现通信双方身份认证和完整性校验机制,所述双方身份认证过程中的印签、验签和数据完整性检验由电力负荷管理系统通信规约中AUX域内的PW字段来实现,并在此基础上通过基于预共享的密钥协商过程确定电力负荷管理系统主从站的通信密钥,实现对重要控制指令高速、安全的加密。
其中,把PW字段长度增加到20个字节,并通过扩展现有应用层协议功能类型,引入身份认证和完整性检验机制,所述身份认证的具体实现方法是首先将报文中PW域置零,对报文中用户数据区中的链路用户数据计算SHA1,得到20字节数据,然后将20字节扩展12字节的零后形成32字节数据,发送给加密板进行加密,得到32字节的密文数据。最后将密文数据分成两组各16字节,将两组数据进行异或,得到16字节数据,填入PW域,加强数据传输规约的安全强度。
其中,密钥协商双方各自生成随机密钥,再以预共享密钥加密该密钥通知对方,最终协商出一致的电力负荷管理系统主从站通信密钥,具体为协商双方将认证发起端的16字节随机数A的后8个字节和认证接收端产生的16字节随机数B的前8个字节进行异或,得到8字节数据C,由随机数A的前8个字节数据、8字节数据C、16字节随机数B后8个字节共同组成一个24字节数据,以此数据作为密钥协商后的通信密钥。
其中,使用3DES的对称加密算法用于身份认证、完整性校验和控制命令传输,以硬件保证控制命令加/解密的高速性,以高强度分组加密算法保证数据安全性。
本发明技术方案的优点是:
1.本发明的优点在于基于电力负荷管理系统数据传输规约的脆弱性,提出了利用数据帧中链路用户数据(应用层)PW字段实现通信双方身份认证和完整性校验机制的方案,增强了电力负荷管理系统数据传输规约的安全机制。
2.在对电力负荷管理系统数据传输规约安全改进的基础上,本发明提出了基于预共享密钥的密钥协商方法,通过电力负荷管理系统主从站之间的可靠协商过程确定通信密钥。
3.本发明的密钥协商过程具有较强的安全性,在密钥协商过程中采用预共享密钥进行加密,降低了密钥协商过程的监听风险,并在协商报文中加入了身份认证和完整性校验机制。
4.本发明运用主从站协商出的通信密钥加密电力负荷管理系统的重要控制命令,并以硬件实现了3DES的对称加密算法,以硬件保证控制命令加密的高速性,以高强度加密算法保证数据安全性。
附图说明
下面结合附图和实施例对本发明作进一步描述。
图1为依据本发明的扩展的电力负荷管理系统数据帧格式结构示意图。
图2为依据本发明的密钥协商原理图。
图3为依据本发明的控制命令报文传输流程图。
具体实施方式
本发明通过对数据帧中链路用户数据(应用层)PW字段的定义完善了电力负荷管理系统主从站数据传输过程中的身份认证和完整性校验机制,保证了电力负荷管理系统收发双方身份合法性和报文完整性,并在此基础上提出了一种基于预共享的电力负荷管理系统主从站通信密钥协商方法,实现了重要控制指令的分组加密,提高了控制命令等关键报文在复杂网络环境中传输的安全性。
1.身份认证与完整性校验机制
附图1为扩展的电力负荷管理系统数据帧格式。原有电力负荷管理系统数据帧由固定长度的报文头、控制域和地址域、链路用户数据段、帧校验和段以及结束字符组成。链路用户数据段包括应用层功能码、帧序列域、数据单元标识、数据单元、PW域与Tp字段。为完善电力负荷管理系统数据传输规约的安全性,把PW字段长度增加到20个字节,并通过扩展现有应用层协议功能类型(AFN=11H),引入身份认证和完整性检验机制,加强数据传输规约的安全强度。
身份认证过程中的印签、验签由电力负荷管理系统通信规约中AUX域内的PW字段来实现。身份认证的具体实现方法是首先将报文中PW域置零,对报文中用户数据区中的链路用户数据(报文AFN至Tp域)计算SHA1,得到20字节数据,然后将20字节扩展12字节的零后形成32字节数据,发送给加密板进行加密,得到32字节的密文数据。最后将密文数据分成两组各16字节,将两组数据进行异或,得到16字节数据,填入PW域。
2.通信密钥协商过程
附图2为电力负荷管理系统通信密钥协商流程,通信密钥协商过程允许电力负荷管理系统主站或终端发起。密钥协商发起端首先产生16字节的随机数A,以预共享密钥产生身份印签,然后使用预共享密钥对随机数A进行加密得到16字节密文数据,将密文数据放入报文数据单元中发送给接收端。接收端将身份认证请求报文送入加密板进行解密,以预共享密钥对收到的密钥协商请求报文进行身份验签,验证通过后接收端得到发送方产生的16字节随机数A。
随后,接收端产生16字节随机数B,送入加密板进行加密,得到16字节密文,将密文数据放入数据单元中,产生身份印签,经预共享密钥加密后发送给密钥协商发起端。发起端收到接收端发送的身份认证响应后,将密钥协商请求报文送入加密板以预共享密钥进行解密,并进行身份验签,得到协商接收端产生的16字节随机数B。
最后,协商双方将认证发起端的16字节随机数A的后8个字节和认证接收端产生的16字节随机数B的前8个字节进行异或,得到8字节数据C。由随机数A的前8个字节数据、8字节数据C、16字节随机数B后8个字节共同组成一个24字节数据,以此数据作为密钥协商后的通信密钥,调用加密板的设置密钥命令将密钥保存到加密板。
3.重要控制指令加/解密过程
附图3为重要控制指令加/解密过程。电力负荷管理系统通信密钥协商完成后,主站使用通信密钥进行完整性计算与身份印签,对控制指令报文使用协商出的通信密钥进行加密后发送至从站端。从站端对关键控制指令报文运用通信密钥进行解密,并对控制报文进行身份验签和完整性校验,根据验签结果是否一致判断是否执行主站端的控制命令。
此处已经根据特定的示例性实施例对本发明进行了描述。对本领域的技术人员来说在不脱离本发明的范围下进行适当的替换或修改将是显而易见的。示例性的实施例仅仅是例证性的,而不是对本发明的范围的限制,本发明的范围由所附的权利要求定义。