基于安全套接层的轻量级变电站安全通信方法及系统与流程

文档序号:24119720发布日期:2021-02-27 16:13阅读:113来源:国知局
基于安全套接层的轻量级变电站安全通信方法及系统与流程

[0001]
本发明属于计算机领域,特别涉及一种基于安全套接层的轻量级变电站安全通信方法及系统。


背景技术:

[0002]
在国产化工作推进下,国产协议将替代传统智能变电站61850-mms的映射模式,因mms中对于相关映射未约束相关安全加固策略,传统智能变电站网络安全策略采用在无特定意义的字节进行替代扩展,不改变其消息体的映射结构。
[0003]
采用国产化协议映射后,各集成商为实现61850直接映射在tcp/ip的通信安全而必然实施数据加固安全策略。常规加固策略既需要在网络传输层进行加密认证,又需要在通讯的应用层采用数字签名,常用的加密算法为多采用非对称加密。非对称加密算法,具有保密性高的特点,但是其算法的计算强度也相应较高;常规算法的计算强度与密钥的位数密切相关,密钥位数越长,其安全性相对越高,但计算强度和对应资源损耗也成倍增加;同时,对通信报文的加密,也带来了通信调试及报文分析和设备资源占用的问题。如何解决变电站自动化系统的安全性能与易用性、可维护性之间的冲突是本领域有待解决的重点问题。
[0004]
采用混合加密(非对称加密握手,对称加密传输)的方式,既解决了对称加密的不安全性,也摒除了常规数据传输中非对称加密判断对系统带来的负荷;但是混合加密无法直接应用于智能变电站网络安全。


技术实现要素:

[0005]
本发明的目的在于提供一种基于安全套接层的轻量级变电站安全通信方法及系统,以提升电力系统智能变电站内数据交互的安全性。
[0006]
为了实现上述目的,本发明采用如下技术方案:
[0007]
基于安全套接层的轻量级变电站安全通信方法,包括以下步骤:
[0008]
s1、客户端向服务端发送消息,客户端接收服务端的应答,完成握手一阶段加密;
[0009]
s2、在完成握手一阶段加密后,客户端接收服务端发送的服务端证书以及客户端证书请求;客户端根据服务端证书和客户端证书请求,向服务端发送客户端证书;客户端接收服务端的反馈通知,完成初始协商;
[0010]
s3、初始协商结束时,客户端接收服务端发送的消息,解析并将响应消息发送给服务端;
[0011]
s4、客户端和服务端建立安全数据传输连接;
[0012]
s5、客户端通过建立的安全数据传输连接和服务端进行数据传输。
[0013]
本发明进一步的改进在于:客户端与服务端通过gsps记录协议进行通讯;
[0014]
步骤s1具体包括:
[0015]
s11、客户端发送所支持的gsps最高协议版本号、所支持的加密算法集合及压缩方
法集合的握手报文给服务端;
[0016]
s12、客户端接收服务端的应答,完成握手一阶段加密准备;所述应答包括:客户端和服务端都能够支持的ssl/tls协议版本、加密方法及压缩方法。
[0017]
本发明进一步的改进在于:步骤s2中,客户端通过服务端证书获得非对称加密算法的密钥和随机数。
[0018]
本发明进一步的改进在于:步骤s3具体包括:
[0019]
s31、客户端使用服务端证书中公钥,对客户端公钥和密钥种子进行加密,再发送给服务端;
[0020]
s32、客户端用本地私钥和随机数一同生成数字签名,并发送给服务端,让服务端通过收到的客户端公钥进行身份验证,以证明拥有服务端证书的公钥;
[0021]
s33、客户端基于密钥种子信息生成通讯密钥。
[0022]
本发明进一步的改进在于:步骤s4具体包括:
[0023]
s41、客户端通知服务端已将通讯方式切换到对称加密模式,随后的信息都将用双方商定的加密方法和密钥发送,客户端生成白名单;
[0024]
s42、客户端通知服务端握手结束。
[0025]
本发明进一步的改进在于:步骤s5具体包括:
[0026]
客户端使用客户端密钥,通过对称加密算法对向服务端发送的通讯内容进行加密。
[0027]
本发明进一步的改进在于:步骤s11中客户端发送给服务端的握手报文具体包括:客户端自身生成16位随机数、客户端支持的加密套件、gsps的版本信息和序号。
[0028]
本发明进一步的改进在于:握手报文中所述序号,如果客户端第一次连接到服务端,这个字段保持为空;
[0029]
如果该字段为空,说明是第一次连接,进行非对称加密认证,当认证结束生成白名单,存储于服务端,并将后续使用的对称密钥,一并记录在白名单中用于重连接比对;如该序号的字段不为空,则表示是重连接状态,客户端使用白名单根据自身随机数查找白名单中标记的已应用对称密钥,并使用以前用过的对称密钥恢复连接。
[0030]
本发明进一步的改进在于:所述的加密套件是n套固定数量的加密套件,由服务端随机选取一个套件作为双方共同的加密套件,n≤10。
[0031]
于安全套接层的轻量级变电站安全通信方法,包括以下步骤:
[0032]
s1、服务端接收客户端发送的消息;并发出应答,完成握手一阶段加密准备;
[0033]
s2、在完成握手一阶段加密后,服务端向客户端发送服务端证书以及客户端证书请求;服务端接收客户端发送的客户端证书;服务端向客户端发出反馈通知,完成初始协商;
[0034]
s3、初始协商结束时,服务端向客户端发送消息并接收客户端的响应消息;
[0035]
s4、服务端和客户端建立安全数据传输连接;
[0036]
s5、服务端通过建立的安全数据传输连接和客户端进行数据传输。
[0037]
本发明进一步的改进在于:客户端与服务端通过gsps记录协议进行通讯;
[0038]
步骤s1具体包括:
[0039]
s11、服务端接收客户端发送的所支持的gsps最高协议版本号、所支持的加密算法
集合及压缩方法集合的握手报文;
[0040]
s12、服务端向客户端发出应答,完成握手一阶段加密准备;所述应答包括:客户端和服务端都能够支持的ssl/tls协议版本、加密方法及压缩方法。
[0041]
本发明进一步的改进在于:步骤s2中,服务端通过客户端证书获得非对称加密算法的密钥和随机数。
[0042]
本发明进一步的改进在于:步骤s3具体包括:
[0043]
s31、服务端接收客户端发送的信息,所述信息为:客户端使用服务端证书中公钥对客户端公钥和密钥种子进行加密获得的信息;
[0044]
s32、服务端接收客户端通过本地私钥和随机数一同生成的数字签名;服务端通过收到的客户端公钥进行身份验证,证明拥有服务端证书的公钥。
[0045]
本发明进一步的改进在于:步骤s4具体包括:
[0046]
s41、服务端接收客户端已将通讯方式切换到对称加密模式的通知;
[0047]
s42、服务端接收客户端握手结束的通知。
[0048]
本发明进一步的改进在于:步骤s5具体包括:
[0049]
服务端使用服务端密钥,通过对称加密算法对向客户端发送的通讯内容进行加密。
[0050]
本发明进一步的改进在于:步骤s11中握手报文具体包括:客户端自身生成16位随机数、客户端支持的加密套件、gsps的版本信息和序号。
[0051]
本发明进一步的改进在于:握手报文中所述序号,如果客户端第一次连接到服务端,这个字段保持为空;
[0052]
如果该字段为空,说明是第一次连接,进行非对称加密认证,当认证结束生成白名单,存储于服务端,并将后续使用的对称密钥,一并记录在白名单中用于重连接比对;如该序号的字段不为空,则表示是重连接状态,客户端使用白名单根据自身随机数查找白名单中标记的已应用对称密钥,并使用以前用过的对称密钥恢复连接。
[0053]
本发明进一步的改进在于:所述的加密套件是n套固定数量的加密套件,由服务端随机选取一个套件作为双方共同的加密套件,n≤10。
[0054]
基于安全套接层的轻量级变电站安全通信系统,包括:
[0055]
客户端,用于向服务端发送消息并接收服务端的应答,完成握手一阶段加密;在完成握手一阶段加密后,接收服务端发送的服务端证书以及客户端证书请求;并根据服务端证书和客户端证书请求,向服务端发送客户端证书;在接收到服务端的反馈通知后,完成初始协商;在初始协商结束时,接收服务端发送的消息,解析并将响应消息发送给服务端;
[0056]
服务端,用于接收客户端发送的消息;并发出应答,完成握手一阶段加密准备;在完成握手一阶段加密后,向客户端发送服务端证书以及客户端证书请求;并在接收客户端发送的客户端证书后向客户端发出反馈通知,完成初始协商;初始协商结束时,向客户端发送消息并接收客户端的响应消息;
[0057]
客户端和服务端,还用于建立相互的安全数据传输连接,并通过建立的安全数据传输连接进行数据传输。
[0058]
相对于现有技术,本发明具有以下有益效果:
[0059]
目前,现有的安全加固技术主要依赖于数字签名等加密认证方式,形成数字签名
的加密依赖于多种算法,其中,密钥和加密、解密两个过程相关。现有加固加密技术基于过度冗长和复杂的加解密方法,计算量对系统造成严重负荷(分解一个158digits的密钥需要3.4pentium1ghz cpu 1年的时间),复杂的加、解密过程影响了系统响应速度,消耗了相关高级应用的计算资源;同时,大量密钥的维护也对系统的性能造成了一定的制约,间接制约了智能变电站国产化协议进程。本发明提供一种基于安全套接层的轻量级变电站安全通信方法及系统,在国产化协议替代模式中基于安全套接层(ssl)衍生的轻量级信息安全通信适用方法,采用现有加密技术中的优点部分,抛弃冗繁效率低的部分,提供一种电力系统智能变电站内部数据通信的可信方案,并可后续用于指导后续智能变电站国产化协议建设实施,有效提升电力系统智能变电站内数据交互的安全性。
[0060]
国产协议替代传统智能变电站61850-mms的映射模式后,iec 61850底层数据组织采用私有封装方式,报文组织的灵活性大大加强,新的映射模式必然带来安全加固技术的应用的问题,在报文中无特定意义的字节处进行扩展的明文加密方式的安全性不足;而且,智能变电站内部数据交互以数据集的订阅发布为主,数据集的组织和发布虽遵循相关规范,但调试实施过程中人工干预多,后期维护过程中人工干预影响大,需要在数据的源头进行安全加固;另外,智能变电站数据因其体量过大,无法做到人工逐一查验,国产化协议全面替代后,需要安全高效的数据传输方式保障数据的准确性,以加强智能变电站网络对抗嗅探,重放攻击,篡改,假冒等突发情况的应对能力。本发明一种基于安全套接层的轻量级变电站安全通信方法及系统,有效的解决了这些问题。
[0061]
本发明主要涉及“安全套接层”加密方法在电力系统智能变电站中应用的相关适用性技术改进;本发明中涉及的“tcp/ip层”所采用的数据传输协议是基于gsp协议实现,后续实施中任何用于“tcp/ip层”的智能变电站交互协议采用本发明所述加密方法对交互数据进行加密,则被视为本发明保护范围。
附图说明
[0062]
构成本申请的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0063]
图1为ssl和tcp及应用层协议的关系示意图;
[0064]
图2为gsps协议通信阶段示意图;
[0065]
图3为gsps第一阶段示意图;
[0066]
图4为gsps第二阶段示意图;
[0067]
图5为gsps第三阶段示意图;
[0068]
图6为gsps第四阶段示意图;
[0069]
图7为gsps第五阶段示意图。
具体实施方式
[0070]
下面将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0071]
以下详细说明均是示例性的说明,旨在对本发明提供进一步的详细说明。除非另有指明,本发明所采用的所有技术术语与本申请所属领域的一般技术人员的通常理解的含
义相同。本发明所使用的术语仅是为了描述具体实施方式,而并非意图限制根据本发明的示例性实施方式。
[0072]
保证智能变电站实时信息安全认证、接入、传输的方法,是一种轻量级、混合式、多因素认证的电力系统智能变电站技术方面的国产化协议替代传统mms映射后的安全数据通信方法,该方法保证智能变电站数据在传输中的真实性、保密性、完整性,并对抗网络嗅探,重放攻击,篡改,假冒等网络行为。
[0073]
基于ssl/tls在http中的成功应用案例(https:在原有的http数据外面加一层ssl封装。http协议原有get、post等机制保留。)和很多常用的应用层协议(比如:ftp、smtp、pop、telnet)搭配,来强化这些应用层协议的安全性的应用实践经验,设计在原有应用层协议gsp数据外增加一层ssl封装,gsp协议原有的请求响应、订阅发布机制保留,参与ssl记录协议,作为加密数据交换。其应用层和安全套接层及网络传输层及其关系如图1所示。
[0074]
如图1所示,ssl体系结构中包含两个协议子层,其中底层是ssl记录协议层(ssl record protocol layer);上层是以ssl握手协议层(ssl hand-shake protocol layer)为主的包含ssl握手协议、ssl密码参数修改及重连接协议及ssl告警协议。
[0075]
ssl握手协议层建立在ssl记录协议之上,用于在实际的数据传输开始之前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
[0076]
ssl记录协议层建立在可靠的传输(如tcp)之上,为上层协议提供基本的安全服务,纪录封装各种应用层协议,具体实施压缩解压缩、加密解密、计算和校验mac等与安全有关的操作。
[0077]
本发明所述的ssl封装gsp或同等电力系统数据交互协议时同样采用双层结构,分别是握手协议层和记录协议层。采用ssl封装的gsp协议按平行技术方法实施经验命名为gsps,gsps客户端和服务端的协议交互示意图如下图所示。同样的,电力系统内应用此技术封装后的应用层协议也在本发明方法所述保护内容之内。
[0078]
实施例1
[0079]
请参阅图2所示,本发明基于安全套接层的轻量级变电站安全通信方法分为五个阶段,其中一至四阶段的总过程如下所述:
[0080]
客户端(一般是通信网关,服务网关,监控主机,服务主机的各类站内应用)与服务端(一般是遵循iec 61850规范的各类站内装置)握手,双方发出hello消息。
[0081]
变电站网络应用节点(客户端)根据变电站模型配置文件生成初始网络设备白名单文件,初始网络设备白名单文件可采用xml格式,其内容应包含但不限于变电站间隔装置的网络地址、装置名称、加密方式、应用名称(如有)等信息,用于做握手的初步判断。
[0082]
相较于https中客户端和服务端之间hello握手双重认证,并询问ca获取签名的身份识别方式,变电站内数据通讯因其装置(服务端)和变电站网络应用节点(客户端)的通讯要求和万维网不同,因此不采用ca签发证书,本发明所述握手协议第一阶段的认证方式是采用单向认证方式识别身份,以保证装置(服务端)的低负载。同样的,相似的实现方法中应用ssl封装站内应用层协议采用双重认证的方式也应在本发明保护范围内。
[0083]
本发明所述方法可采用双向认证方式,但包含单向认证方式。装置(服务端)将其证书作为交换信息推送给变电站网络应用节点(客户端),变电站网络应用节点(客户端)认证证书是否可信。由于数据信息是由装置(服务端)传递至网络节点(客户端),所以仅需要
对数据源端证书进行单向认证即可。如网络节点(客户端)有相应的控制命令发出(网关等),则应进行双向认证。
[0084]
认证过程:客户端使用变电站模型中的网络节点和节点设备名称和装置(服务端)推送的交换信息抽取比对,如比对成功,说明交换信息是由变电站装置发出的,在第一握手阶段服务端是受信任的。
[0085]
其所述的服务端证书中抽取关键元素用于和客户端初始网络设备白名单关键元素比对,建立信任,并确认状态是否是重连。比对内容包含但不限于:时间、地址、装置名称、连接建立标志、特定意义的标识字符等。
[0086]
当双方都接收到hello消息时,客户端凭交换信息,经多因素认证确定是首次连接,则需要产生一个新的密钥。依据装置(服务端)提供的server-hello消息将包含足够的信息在客户端产生一个新的密钥。这些信息包括服务端证书、加密规约和连接标识。若客户端密钥产生成功,则客户方发出client-master-key消息,否则发出error错误消息。装置(服务端)收到新公钥以后,服务端方向客户方发出server-verify消息,进入第二阶段。
[0087]
当双方都接收到hello消息时,客户端凭交换信息,经比对确定是重连接,则不需要产生一个新的密钥。
[0088]
后续任务是对客户端进行认证,此时服务端已被认证。服务端向客户端发出认证请求消息:request-certificate。当客户收到服务端方的认证请求消息,发出自己的证书,并且监听对方回送的认证结果。而当服务端收到客户端的认证,客户端用读取密钥解密,用写入密钥加密,返回认证成功server-finish消息,否则返回错误消息。到此为止,握手协议全部结束。
[0089]
记录协议阶段(握手协议第五阶段)
[0090]
在ssl协议中,所有经过gsp协议的交互数据都是被封装在ssl记录协议中,称为gsps记录协议。gsps记录是由记录头和长度大于0的记录数据组成。
[0091]
所有的ssl通信包括握手消息、安全空白记录和应用数据都使用ssl记录层。ssl记录协议包括了记录头和记录数据格式的规定,本发明不再累述。本发明所述方法遵循ssl记录协议的一般格式,只是之中封装的应用层协议是gsp协议,gsp协议的数据作为粘贴数据附加在ssl记录协议中。
[0092]
gsps记录头格式:gsps记录头格式为三个字节,含的信息包括:记录头的长度、记录数据的长度、记录数据中是否有粘贴数据。其中粘贴数据是在使用块加密算法时,填充实际数据,记录数据的最大长度为16383个字节。当数据头长度是三个字节时,次高位有特殊的含义。次高位为1时,标识所传输的记录是普通的数据记录;次高位为0时,标识所传输的记录是安全空白记录(被保留用于将来协议的扩展)。记录头中数据长度编码不包括数据头所占用的字节长度。记录头长度为三个字节,其中byte[0]为mac转换成的md5码长度、byte[1]为实际数据长度、byte[2]为粘贴数据长度。
[0093]
gsps记录数据格式:常规ssl记录含三个部分:mac数据(message authentication code)、实际数据和粘贴数据。mac数据用于数据完整性比对,采用md5编码,共计16个字节。mac包含的内容为当前密钥+实际数据+粘贴数据+序号。当会话的客户端发送数据时,密钥是客户的写密钥(服务端用读密钥来验证mac数据);而当会话的客户端接收数据时,密钥是客户的读密钥(服务端用写密钥来产生mac数据)。
[0094]
序号是一个可以被发送和接收双方递增的计数器。每个通信方向都会建立一对计数器,分别被发送者和接收者拥有。计数器有32位,计数值循环使用,每发送一个记录计数值递增一次,序号的初始值为0。当计数值恰好为0,且正处于握手判断期,则认为是新连接,需要重新握手一次。序号等于是第一次接入系统中验证成功后提供的公开编码(明文)作为设备准入的公开目录的一部分,类似公开的准入数字签名证书;不公开编码(暗文)作为设备接入校验,公开编码和不公开编码混合认证方式为gsps白名单多因素认证方式。
[0095]
相关术语解释:
[0096]
密钥,密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为对称密钥与非对称密钥。密钥本质上是一个数值,使用数学算法产生。可以用公钥加密消息,然后使用私钥解密;反过来也可以使用私钥加密,用公钥解密,这也被称为签名。
[0097]
gsp,gb/t 33602-2017电力系统通用服务协议。
[0098]
ssl(secure sockets layer),中文叫做“安全套接层”。它是在上世纪90年代中期,由网景公司设计的。ssl是一个不依赖于平台和运用程序的协议,位于tcp/ip协议与各种应用层协议之间,为数据通信提高安全支持。
[0099]
对称算法(symmetric cryptography),就是需要双方使用一样的key来加密解密消息算法,常用密钥算法有data encryption standard(des)、triple-strength des(3des)、rivest cipher2(rc2)和rivest cipher 4(rc4)。因为对称算法效率相对较高,因此ssl会话中的敏感数据都用通过密钥算法加密。
[0100]
非对称算法(asymmetric cryptography),就是key的组成是公钥私钥对(key-pair),公钥传递给对方私钥自己保留。公钥私钥算法是互逆的,一个用来加密,另一个可以解密。常用的算法有rivest shamir adleman(rsa)、diffie-hellman(dh)。非对称算法计算量大比较慢,因此仅适用于少量数据加密,如对密钥加密,而不适合大量数据的通讯加密。
[0101]
公钥证书(public key certificate),公钥证书类似数字护照,由受信机构颁发。受信组织的公钥证书就是certificate authority(ca)。多证书可以连接成证书串,第一个是发送人,下一个是给其颁发证书实体,往上到根证书是世界范围受信组织,包括verisign,entrust,和gte cybertrust。公钥证书让非对称算法的公钥传递更安全,可以避免身份伪造,比如c创建了公钥私钥,对并冒充a将公钥传递给b,这样c与b之间进行的通讯会让b误认是a与b之间通讯。
[0102]
加密哈希功能(cryptographic hash functions),加密哈希功能与checksum功能相似。不同之处在于,checksum用来侦测意外的数据变化而前者用来侦测故意的数据篡改。数据被哈希后产生一小串比特字符串,微小的数据改变将导致哈希串的变化。发送加密数据时,ssl会使用加密哈希功能来确保数据一致性,用来阻止第三方破坏通讯数据完整性。ssl常用的哈希算法有message digest 5(md5)和secure hash algorithm(sha)。
[0103]
消息认证码(message authentication code),消息认证码与加密哈希功能相似,除了它需要基于密钥。密钥信息与加密哈希功能产生的数据结合就是哈希消息认证码(hmac)。如果a要确保给b发的消息不被c篡改,他要按如下步骤做
--
a 首先要计算出一个hmac值,将其添加到原始消息后面。用a与b之间通讯的密钥加密消息体,然后发送给b。b收到消息后用密钥解密,然后重新计算出一个hmac,来判断消息是否在传输中被篡改。ssl用
hmac来保证数据传输的安全。
[0104]
数字签名(digital signature),一个消息的加密哈希被创建后,哈希值用发送者的私钥加密,加密的结果就是叫做数字签名。
[0105]
混合加密,采用对称加密和非对称加密混合进行的加密方式,兼顾了安全性和效率,常见的应用场景有http增加ssl封装成为https。
[0106]
白名单,网络节点设置的可信节点及端口列表,如设立白名单,则在白名单中的用户数据(或ip地址、ip包、邮件等)会允许接收,不会被当成网络攻击活不可信数据拒收,系统的安全性和快捷性都大大提高。
[0107]
双因素认证,采用基于时间、事件和密钥三变量而产生的一次性密码来代替传统的静态密码。每个动态密码卡都有一个唯一的密钥,该密钥同时存放在服务端,每次认证时动态密码卡与服务端分别根据同样的密钥,同样的随机参数(时间、事件)和同样的算法计算了认证的动态密码,从而确保密码的一致性,从而实现了用户的认证。
[0108]
http over ssl简写https,加密网页浏览是设计ssl的初衷,http也是第一个使用ssl保障安全的应用层协议。实际上是在原有的http数据外面加了一层ssl的封装。http协议原有的get、post之类的机制,基本上原封不动。当netscape在它的navigator里面运用http over ssl的时候,使用https://来标识http over ssl。后来https在rfc2818被标准化。https工作在443端口,而http默认工作在80端口。
[0109]
email over ssl,类似于http over ssl,邮件协议例如:smtp,pop3、imap也能支持ssl,smtp over tls的标准文档在rfc2487,pop3和imap over tls的标准化文档在rfc2595。
[0110]
本发明所述gsps详细交互方法:
[0111]
gsps安全消息通讯步骤与ssl交换相同,本发明所述方法改动体现于ssl多阶段的各个包之中。第一阶段为握手连接,主要工作是以非对称加密算法为蓝本,互相指定、确认加密方式,进行网络端口白名单认证。即协商、确认加密方式,建立密钥数据和mac码,单向认证,生成白名单。第二阶段为安全数据传输连接,将gsp协议数据以粘贴数据的方式写入gsps记录协议中(数据不压缩),并传递。
[0112]
请参阅图3所示,握手第一阶段s1:
[0113]
步骤s1分两小步,由客户端发起消息,服务端应答,双方交换信息完成握手一阶段加密准备。
[0114]
s11、client-hello客户端发送所支持的gsps最高协议版本号、所支持的加密算法集合及压缩方法集合信息给服务端。
[0115]
client-hello消息包含客户端自身生成16位随机数(random1)、客户端支持的加密套件(support-ciphers)、gsps的版本信息(gsps-c-version)和序号(session-c-id)信息。
[0116]
本发明所述序号(session-id)如果客户端第一次连接到服务端,那么这个字段就会保持为空。如果该序号的字段为空,说明是第一次连接,需要进行非对称加密认证,当认证结束生成白名单,存储于服务端,并将后续使用的对称密钥(含服务端/客户端标识、网络节点名称、加密套件、加密版本、网络地址、端口、id),一并记录在白名单中用于重连接比对。如该序号的字段不为空,则表示是重连接状态,本发明所述客户端使用白名单根据自身
随机数查找白名单中标记的已应用对称密钥(含加密套件、加密版本、网络地址、端口、id),并使用以前用过的对称密钥来恢复连接。本发明所述的白名单比对是含多因素认证和对称加密比对双重安全方式的重连接。
[0117]
本发明所述的加密套件是固定数量的加密套件,由服务端随机选取一个套件作为双方共同的加密套件,这也是多因素认证环节之一。区别于网络访问的加密套件,智能变电站采用10个以内的固定数量的加密套件,减轻安全协议中的负荷。
[0118]
s12、server-hello服务端收到客户端信息后,选定双方都能够支持的ssl/tls协议版本和加密方法及压缩方法,返回给客户端。
[0119]
服务端收到客户端client-hello之后必须发送服务端问候信息,服务端指定检查包含通讯规约版本和加密算法的client-hello内容,确认其数据格式,并发送服务端证书以及其他详细信息。如报文无法识别,则三个心跳后服务端发送握手失败消息给客户端。
[0120]
服务端确认客户端数据格式后向客户端发送server-hello消息,这个消息会从client-hello传过来的加密套件(support-ciphers)里确定一份本次应用的加密套件,这个套件决定了具体使用哪些算法生成加密数据和摘要,同时,服务端生成服务端的随机数random2。客户端随机数random1和服务端随机数random2用于对称加密的密钥生成。
[0121]
server-hello消息包含服务端自身生成16位随机数(random2)、服务端支持的加密套件(used-ciphers)、gsps的版本信息(gsps-s-version)和和序号(session-s-id)信息。
[0122]
序号(session-s-id)用于标记服务端和客户端之间的连接,服务端将接收到的客户端序号(session-c-id)存储在本地缓存中,并据此生成服务端(session-s-id)附加在server-hello中传递给客户端,在下次重连hello的时候客户端将发送该内容,服务端将检查相关序号(session-c-id),并直接跳过握手,进入数据传输阶段。本发明所述电力系统中安全数据传输应用此技术跳过非对称加密直接进入对称加密传输阶段将大大提升安全通信状态下的通讯效率。此内容主要节约的是非对称加密算法的密钥生成和解密的大量计算负荷。因变电站内接入数据量可控,而大规模网络风暴模拟时新接入节点无法通过握手环节,因此不会对网络资源造成大量开销。
[0123]
请参阅图4所示,握手第二阶段s2:
[0124]
第二阶段s2分四小步,该阶段分为四小步。
[0125]
服务端将数字证书和到根ca整个链发给客户端,使客户端能用服务端证书中的服务端公钥认证服务端。服务端可能会要求客户自身进行验证,特征是提供证书请求。
[0126]
certificate:重连接时不需要发送该消息,第一次建立连接必须包含该消息。消息包含一个服务端证书,证书中包含公钥,服务端发给客户端用来验证签名或在密钥交换的时候给消息加密。客户端验证服务端身份后取出服务端证书中的公钥,此方法也可以是客户端发送给服务端用来交换密钥。
[0127]
server key exchange:根据之前在client-hello消息中包含的cipher-suite信息,决定了密钥选择,此消息中包含密钥交换所需的一系列参数。
[0128]
request-certificate(可选的):关于提升安全性的双向验证方式。服务端用来验证客户端。服务端发出request-certificate消息,要求客户端发送客户端证书进行验证。该消息中包含服务端支持的证书类型(rsa、dsa、ecdsa等非对称加密算法)和服务端所信任
的所有证书发行机构的ca列表,客户端会用这些信息来筛选证书。
[0129]
server hello done:表示服务端已经将所有信息发送完毕,接下来等待客户端的消息。
[0130]
s21、send-certificate-to-client服务端发送服务端证书给客户端。客户端将收到:(1)gsps当前版本;(2)密钥交换、信息验证和加密算法;(3)有关密钥生成的服务端的随机数。
[0131]
s22、server key exchange i区网关机、监控主机必须采用双向验证,ii区网关机、综合应用主机、辅控系统可选单向验证。双向验证时,服务端向客户端请求客户端证书。
[0132]
s23、response-certificate i区网关机、监控主机必须采用双向验证,ii区网关机、综合应用主机、辅控系统等可选单向验证。双向验证时,客户端向服务端发送客户端证书。为了对服务端证明自身,客户要发送一个证书信息,服务端将收到包含:(1)gsps当前版本;(2)密钥交换、信息验证和加密算法;(3)有关密钥生成的客户端的随机数。若客户端没有证书,则发送一个no-ertificate警告,握手中止。
[0133]
s24、server-hello-done服务端通知客户端初始协商结束。至此握手第二阶段完成。双方均获得非对称加密算法的密钥和随机数。
[0134]
请参阅图5所示,握手第三阶段s3:
[0135]
s3包括四小步,客户端收到服务端发送的一系列消息并解析后,将客户端响应的消息发送给服务端。
[0136]
s31、client-key-exchange客户端使用服务端的公钥,对客户端公钥和密钥种子进行加密,再发送给服务端。客户机密钥交换(pre-master-secret):这里客户端将预备主密钥发送给服务端,注意这里会使用服务端的公钥进行加密。pre-master是根据之前从服务端取得的随机数,按照不同的非对称密钥交换算法生成,并发送给服务端。服务端收到pre-master算出main master。客户端通过pre-master算出main master,如此双方算出了数据传输用的对称密钥。客户端消息在给服务端发送的过程中,使用了服务端的公钥加密。服务端用本地私钥解密后得到pre-master key。
[0137]
s32、certificate-verify i区网关机、监控主机必须采用双向验证,ii区网关机、综合应用主机、辅控系统等可选单向验证。双向验收时,客户端用本地私钥和随机数一同生成数字签名,并发送给服务端,让其通过收到的客户端公钥进行身份验证,以证明拥有服务端证书的公钥。只有进行了s32,该消息才需要被发送至客户端,该消息包含一个从第一条握手消息以来的所有握手消息的hmac值(用master-secret)进行签名。
[0138]
s33、create-secret-key服务端和客户端基于密钥种子信息各自生成通讯密钥(对称密钥)。
[0139]
请参阅图6所示,握手第四阶段s4:握手初始化结束。
[0140]
s4分为六四步,客户端发送两个消息,服务端回复两个消息,建立起一个安全的数据传输连接,客户端发送一个change cipher spec消息,并且把协商得到的加密套件(cipher suite)拷贝到当前连接的状态之中。然后,客户端用新的算法、密钥参数发送一个finished消息,这条消息可以检查密钥交换和认证过程是否已经成功。服务端同样发送change cipher spec消息和finished消息。握手过程完成,客户端和服务端可以交换应用层数据进行通信。最终,客户端根据约定加密方式传递gsp数据,将数据封装为gsps的粘贴
数据。
[0141]
s41、change-cipher-spec客户端通知服务端已将通讯方式切换到对称加密模式,随后的信息都将用双方商定的加密方法和密钥发送,客户端生成白名单。本发明所述本信息的体现是一个字节的数据,用于告知服务端,客户端已经切换到之前协商好的加密套件(cipher suite)的状态,准备使用之前协商好的加密套件加密数据并传输了此处新的加密模式为对称加密。同时,客户端做好加密通讯准备。
[0142]
s42、client finished客户端通知握手结束。这一项同时也是前面发送的所有内容的hash值,用来供服务端校验。使用hmac算法计算收到和发送的所有握手消息的摘要,通常的tls需要通过rfc5246中定义的一个伪函数prf计算出结果,但由于智能变电站网络相对独立,仅需要对计算量较小的工作站做防护,本发明客户端仅需将摘要加密后发送(将mac哈希后包含在加密数据中)给服务端,用于验证加解密通道和粘贴数据的完整性。
[0143]
s43、change-cipher-spec服务端通知客户器端已将通讯方式切换到加密模式,随后的信息都将用双方商定的加密方法和密钥发送。本发明所述本信息的体现是一个字节的数据,用于告知客户端,服务端已经切换到之前协商好的加密套件(cipher suite)的状态,准备使用之前协商好的加密套件加密数据并传输了此处新的加密模式为对称加密。同时,服务端做好加密通讯准备。
[0144]
s44、server finished服务端握手结束通知。服务端使用约定的对称密钥加密一段finish消息发送给客户端,以验证之前通过握手建立起来的加解密通道是否成功。
[0145]
请参阅图7所示,第五阶段s5:正式的数据传输。该阶段可因其运行情况分为两小步,其中第二小步是可选的。
[0146]
s51、run-data客户端和服务端双方使用客户端密钥,通过对称加密算法对通讯内容进行加密。根据之前的握手信息,如果客户端和服务端都能对finish信息进行正常加解密且消息正确的被验证,则说明握手通道已经建立成功,接下来,双方可以使用上面产生的对称密钥对数据进行加密传输。
[0147]
s52、closed-connection任何一方发出断开gsps连接命令或者网络物理中断,通讯结束。如网络通断重连接,则遵循本发明所述握手第一阶段重新判定。
[0148]
本发明所述的方法继承于ssl/tls安装传输,因变电站网络结构相对简单,且不存在集群服务端介入解密、篡改数据的可能性,仅需对个人移动式设备、小型工作站、误配置设备、误配置软件、误配置系统等情况带来的身份攻击、重连识别、数据篡改、网络风暴等安全问题进行屏蔽。因此,不需要ca等中介认证。本发明设计一种简化的易操作的ssl技术安全复用方法,既保证了以网络承载为主的智能变电站网络数据安全,又不对系统造成较大负载,在目前的国产化协议替代前景下,随着mms映射的放开和更多智能设备的接入,多元化的网络安全策略是必须的、有效的、通用的。
[0149]
实施例2
[0150]
本实施例提供一种基于安全套接层的轻量级变电站安全通信系统,包括:客户端和服务端,所述客户端和服务端配合用于实现实施例1所述的基于安全套接层的轻量级变电站安全通信方法。
[0151]
实施例3
[0152]
本实施例提供一种基于安全套接层的轻量级变电站安全通信方法,包括以下步
骤:
[0153]
s1、客户端向服务端发起消息;客户端接收服务端的应答,完成握手一阶段加密准备;
[0154]
s2、客户端接收服务端发送的服务端证书;客户端接收服务端发送的客户端证书请求;客户端向服务端发送客户端证书;客户端接接收服务端的反馈通知,初始协商结束;
[0155]
s3、客户端接收服务端发送的消息并解析;客户端将响应的消息发送给服务端;
[0156]
s4、客户端和服务端建立安全数据传输连接;
[0157]
s5、客户端通过建立的安全数据传输连接和服务端进行数据传输。
[0158]
进一步:客户端与服务端通过gsps记录协议进行通讯;
[0159]
步骤s1具体包括:
[0160]
s11、客户端发送所支持的gsps最高协议版本号、所支持的加密算法集合及压缩方法集合的握手报文给服务端;
[0161]
s12、客户端接收服务端的应答,完成握手一阶段加密准备;所述应答包括:客户端和服务端都能够支持的ssl/tls协议版本、加密方法及压缩方法。
[0162]
进一步:步骤s2中,客户端通过服务端证书获得非对称加密算法的密钥和随机数。
[0163]
进一步:步骤s3具体包括:
[0164]
s31、客户端使用服务端证书中公钥,对客户端公钥和密钥种子进行加密,再发送给服务端;
[0165]
s32、客户端用本地私钥和随机数一同生成数字签名,并发送给服务端,让服务端通过收到的客户端公钥进行身份验证,以证明拥有服务端证书的公钥;
[0166]
s33、客户端基于密钥种子信息生成通讯密钥。
[0167]
进一步:步骤s4具体包括:
[0168]
s41、客户端通知服务端已将通讯方式切换到对称加密模式,随后的信息都将用双方商定的加密方法和密钥发送,客户端生成白名单;
[0169]
s42、客户端通知服务端握手结束。
[0170]
进一步:步骤s5具体包括:
[0171]
客户端使用客户端密钥,通过对称加密算法对向服务端发送的通讯内容进行加密。
[0172]
进一步:步骤s11中客户端发送给服务端的握手报文具体包括:客户端自身生成16位随机数、客户端支持的加密套件、gsps的版本信息和序号。
[0173]
进一步:握手报文中所述序号,如果客户端第一次连接到服务端,这个字段保持为空;
[0174]
如果该字段为空,说明是第一次连接,进行非对称加密认证,当认证结束生成白名单,存储于服务端,并将后续使用的对称密钥,一并记录在白名单中用于重连接比对;如该序号的字段不为空,则表示是重连接状态,客户端使用白名单根据自身随机数查找白名单中标记的已应用对称密钥,并使用以前用过的对称密钥恢复连接。
[0175]
进一步:所述的加密套件是n套固定数量的加密套件,由服务端随机选取一个套件作为双方共同的加密套件,n≤10。
[0176]
实施例4
[0177]
本实施例提供一种于安全套接层的轻量级变电站安全通信方法,包括以下步骤:
[0178]
s1、服务端接收客户端发起的消息;并发出应答,完成握手一阶段加密准备;
[0179]
s2、服务端向客户端发送服务端证书;服务端向客户端发送客户端证书请求;服务端接收客户端发送的客户端证书;服务端向客户端发出反馈通知,初始协商结束;
[0180]
s3、服务端向客户端发送消息;服务端接收客户端的响应消息;
[0181]
s4、服务端和客户端建立安全数据传输连接;
[0182]
s5、服务端通过建立的安全数据传输连接和客户端进行数据传输。
[0183]
进一步:客户端与服务端通过gsps记录协议进行通讯;
[0184]
步骤s1具体包括:
[0185]
s11、服务端接收客户端发送的所支持的gsps最高协议版本号、所支持的加密算法集合及压缩方法集合的握手报文;
[0186]
s12、服务端向客户端发出应答,完成握手一阶段加密准备;所述应答包括:客户端和服务端都能够支持的ssl/tls协议版本、加密方法及压缩方法。
[0187]
进一步:步骤s2中,服务端通过客户端证书获得非对称加密算法的密钥和随机数。
[0188]
进一步:步骤s3具体包括:
[0189]
s31、服务端接收客户端发送的信息,所述信息为:客户端使用服务端证书中公钥对客户端公钥和密钥种子进行加密获得的信息;
[0190]
s32、服务端接收客户端通过本地私钥和随机数一同生成的数字签名;服务端通过收到的客户端公钥进行身份验证,证明拥有服务端证书的公钥。
[0191]
进一步:步骤s4具体包括:
[0192]
s41、服务端接收客户端已将通讯方式切换到对称加密模式的通知;
[0193]
s42、服务端接收客户端握手结束的通知。
[0194]
进一步:步骤s5具体包括:
[0195]
服务端使用服务端密钥,通过对称加密算法对向客户端发送的通讯内容进行加密。
[0196]
进一步:步骤s11中握手报文具体包括:客户端自身生成16位随机数、客户端支持的加密套件、gsps的版本信息和序号。
[0197]
进一步:握手报文中所述序号,如果客户端第一次连接到服务端,这个字段保持为空;
[0198]
如果该字段为空,说明是第一次连接,进行非对称加密认证,当认证结束生成白名单,存储于服务端,并将后续使用的对称密钥,一并记录在白名单中用于重连接比对;如该序号的字段不为空,则表示是重连接状态,客户端使用白名单根据自身随机数查找白名单中标记的已应用对称密钥,并使用以前用过的对称密钥恢复连接。
[0199]
进一步:所述的加密套件是n套固定数量的加密套件,由服务端随机选取一个套件作为双方共同的加密套件,n≤10。
[0200]
实施例5
[0201]
本实施例提供一种基于安全套接层的轻量级变电站安全通信系统,包括:
[0202]
客户端,用于向服务端发送消息并接收服务端的应答,完成握手一阶段加密;在完成握手一阶段加密后,接收服务端发送的服务端证书以及客户端证书请求;并根据服务端
证书和客户端证书请求,向服务端发送客户端证书;在接收到服务端的反馈通知后,完成初始协商;在初始协商结束时,接收服务端发送的消息,解析并将响应消息发送给服务端;
[0203]
服务端,用于接收客户端发送的消息;并发出应答,完成握手一阶段加密准备;在完成握手一阶段加密后,向客户端发送服务端证书以及客户端证书请求;并在接收客户端发送的客户端证书后向客户端发出反馈通知,完成初始协商;初始协商结束时,向客户端发送消息并接收客户端的响应消息;
[0204]
客户端和服务端,还用于建立相互的安全数据传输连接,并通过建立的安全数据传输连接进行数据传输。
[0205]
本发明采用非对称加密握手,对称加密传输数据及适应于电力系统智能变电站内部数据传输的相关“安全套接层”适应性技术方案的改进为主体的混合型多因素认证的方法。含握手、传输、续传、混合加密和多因素认证。
[0206]
本发明第一种替代方案还可以利用离线计算的方式,如果有一个移动设备上部署了加密系统,那么在这个移动设备充电或者待机的时候(即离线时),系统在知道要加密的消息之前就自动完成安装,生成密钥,加密这几个步骤,生成中间密文,当真正知道加密消息需要加密的时候,通过少量计算将中间密文转换成密文即可。采用第一种替代方案从总的计算开销上来看,该方案的计算开销有所增加,但效率尚可,主要是增加了一个转换开销,以及在解密时至少多增加一个配对操作以及其他的求幂等。第一种替代方案是一种非实时的计算系统,不适用于电力系统实时数据加解密处理。
[0207]
本发明第二种替代方案是利用外包的方式将计算开销大的算法外包给代理,其中涉及到两个代理,允许加密者将加密策略的创建外包给代理(代理a),并根据给定的策略为用户加密消息,同时代理满足以下两个要求:(a)无法知道加密的消息(b)强制执行根据策略指定的属性来加密消息。通过允许代理根据用户的转换密钥属性验证策略,从而允许用户将策略验证外包给另一个半信任代理(代理b),从而减少了解密工作负载。这种方式适用于离散系统,在电力系统中无法清晰划分单元权责,并不适用于电力系统内的数据加密传输。
[0208]
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0209]
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0210]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
[0211]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0212]
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1