一种GOOSE报文签名及认证的方法技术

技术编号:18599860 阅读:37 留言:0更新日期:2018-08-04 21:05
本发明专利技术公开了一种GOOSE报文签名及认证的方法,包括:发送方对GOOSE报文进行组包;发送方对GOOSE报文内容进行分级签名;GOOSE报文的订阅方进行验证。本发明专利技术通过对GOOSE报文的快速组包以及对报文内容的分级签名,来提高智能变电站内GOOSE报文信息安全认证的效率,以满足对过程层设备的实时性要求。

A method of GOOSE message signature and authentication

The invention discloses a method of GOOSE message signature and authentication, which includes: the sender carries on the packet of the GOOSE message; the sender classifying the content of the GOOSE message; and the subscriber of the GOOSE message is verified. This invention improves the efficiency of the GOOSE message security authentication in the intelligent substation by the fast packet of GOOSE message and the hierarchical signature of the message content, so as to meet the real-time requirements for the process layer equipment.

【技术实现步骤摘要】
一种GOOSE报文签名及认证的方法
本专利技术涉及一种GOOSE报文签名及认证的方法,属于电力系统自动化领域。
技术介绍
对于电力系统的安全设计,目前设计的防护措施基本上是边界安全措施,并未过多涉及变电站内部网络通信安全防护的具体实施方案,若在变电站内受到攻击时系统将会变得非常脆弱。近年来信息安全事件的曝光,使全球震惊之余,也让我们认识到:国家重要行业的信息安全正面临着严峻的考验,电力系统内全面的信息安全迫在眉睫。且电力系统通信协议的标准化,使得信息通信更容易受到“黑客”攻击,国际标准化组织IEC制定的最新IEC61850国际标准中提出“广域GOOSE”的概念,面向通用对象的变电站事件(GOOSE)报文应用也不再局限于单个变电站内,而将涉及跨站、跨区域等更加开放及复杂的网络环境中应用。届时GOOSE报文将更易面临恶意窃听、篡改等安全风险,数据的安全性问题日趋突出。尤其是GOOSE这类直接用于跳闸的通信报文,一旦被篡改后,会带来断路器误动作的严重后果,这对电力系统的安全性、可靠性提出了不小的挑战。为了解决电力通信领域的数据和通信安全问题,2005年4月,IEC制定了IEC62351数据和通信安全国际标准(草案)。为了防止报文在传输过程中数据被第三方截获后,经删除、插入、修改、改变次序、等操作后再发给接收方,认证和加密是核心内容。但不同于其他报文,GOOSE报文有苛刻的实时性要求,针对GOOSE报文进行加密,在时间上不能满足要求。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种GOOSE报文签名及认证的方法。为了达到上述目的,本专利技术所采用的技术方案是:一种GOOSE报文签名及认证的方法,包括,发送方对GOOSE报文进行组包:初始化时,组织GOOSE报文中的固定数据域,并记录变化数据域在GOOSE报文中的偏移;在实时组包时,若变化数据域内容有变化,先根据偏移更新内容,再组织变化数据域;发送方对GOOSE报文内容进行分级签名:将GOOSE报文APDU中的SqNum剔除,剩余的数据进行SHA1信息签名,将SqNum进行单独CRC运算,签名摘要和SqNum的CRC运算结果作为GOOSE报文中的扩展字段与原始报文一起发送;心跳报文在签名时,将该帧报文的SqNum进行CRC运算,SHA1信息签名沿用上一帧报文;GOOSE报文的订阅方进行验证:判断接收报文的签名摘要是否与上一帧报文的一致;如果一致,则解析SqNum并校验其CRC是否正确,若校验成功且SqNum为上一帧报文SqNum顺序加1,则判断这一帧报文为心跳报文,链路正常;如果不一致,则对APDU重新验签且校验SqNum的CRC值,验签及校验成功则采纳该报文。发送的GOOSE报文采用固定长度方式编码。发送的GOOSE报文采用TLV格式编码。在分级签名时,将GOOSE报文保留字段1的内容变为是否为GOOSE认证扩展报文的标识,将GOOSE报文保留字段2的内容变为扩展字段的长度。订阅方在进行验证时,先根据保留字段1判断接收报文是否为GOOSE认证扩展报文,如果是则进行签名摘要判断,如果不是则进行正常解包流程。扩展字段还包括GOOSE报文TPID、TCI、EtherType及APPID的CRC计算结果。本专利技术所达到的有益效果:本专利技术通过对GOOSE报文的快速组包以及对报文内容的分级签名,来提高智能变电站内GOOSE报文信息安全认证的效率,以满足对过程层设备的实时性要求。附图说明图1为本专利技术的流程图;图2为原有GOOSE报文格式;图3为GOOSE认证报文格式;图4为订阅方接收并验证的流程图。具体实施方式下面结合附图对本专利技术作进一步描述。以下实施例仅用于更加清楚地说明本专利技术的技术方案,而不能以此来限制本专利技术的保护范围。如图1所示,一种GOOSE报文签名及认证的方法,具体如下:1)发送方对GOOSE报文进行组包。对于发送方为了实现快速组包,发送的GOOSE报文采用固定长度方式编码,具体按TLV(类型—长度—值)格式编码,T(类型)、L(长度)及V(值)所占用的空间固定,例如StNum和SqNum的数据长度L都固定占用4字节,StNum和SqNum的数据域V固定为4字节。在初始化时,组织GOOSE报文中的固定数据域,固定数据域如图2中的APPID、Length、保留字段1、保留字段2、gocbRef、dataSet、goID、confRev、nsdCom及numDatasetEntries,记录变化数据域在GOOSE报文中的偏移,变化数据域如图2中的Tal、t、stNum、sqNum、test及allData。在实时组包时,若变化数据域内容有变化,先根据偏移更新内容,再组织变化数据域,如此不需要从头开始组包,达到了快速组包的目的。2)发送方对GOOSE报文内容进行分级签名。如图2所示,原有GOOSE报文格式中的保留字段1和保留字段2,为了对签名进行补充说明。将GOOSE报文保留字段1的内容变为是否为GOOSE认证扩展报文的标识,可规定:如果值为0x0001则为GOOSE认证报文,如果不是则为原始GOOSE报文;将GOOSE报文保留字段2的内容变为扩展字段的长度。将GOOSE报文APDU中的SqNum剔除,剩余的数据进行SHA1信息签名,将SqNum进行单独CRC运算,将GOOSE报文TPID、TCI、EtherType及APPID的进行CRC计算。签名摘要和所有CRC运算结果作为GOOSE报文中的扩展字段与原始报文一起发送,具体如题3所示,扩展字段包括三部分,第一部分为TPID、TCI、EtherType及APPID的CRC计算结果(CRC1);第二部分为签名摘要(AuthenticationValue),是对GOOSE报文中的数据信息进行压缩操作,采用的是SHA1算法,数据被压缩后生成定长的签名摘要字符串;第二部分为SqNum的CRC计算结果(CRC2)。CRC1在完成计算后保持不变,心跳报文在签名时,心跳报文中只有SqNum在变化,其他内容固定,此时SqNum仅仅表达心跳报文序号,因此只需将该帧报文的SqNum进行CRC运算,SHA1信息签名沿用上一帧报文,即保持不变,大大提高了签名的效率,当内容发生变化时,重新计算并更新AuthenticationValue,CRC2每帧报文都需要重新计算并更新。3)GOOSE报文的订阅方进行验证。订阅方接收并验证的流程如图4所示,先根据保留字段1判断接收报文是否为GOOSE认证扩展报文;如果不是,则进行正常解包流程;如果是,则判断接收报文的签名摘要是否与上一帧报文的一致;如果一致,则解析SqNum并校验其CRC是否正确,若校验成功且SqNum为上一帧报文SqNum顺序加1,则判断这一帧报文为心跳报文,链路正常,若是其他情况则丢弃该报文;如果不一致,则对APDU重新验签且校验SqNum的CRC值,验签及校验成功则采纳该报文,否则丢弃该报文。该过程中对心跳报文无需重新验签,仅需要比对签名摘要和对SqNum进行CRC校验,大大提高了对GOOSE安全认证报文的解析效率。上述方法通过对GOOSE报文的快速组包以及对报文内容的分级签名,来提高智能变电站内GOOSE报文信息安全认证的效率,以满足对过程层设备的实时性要求。以上所述仅是本专利技术本文档来自技高网...

【技术保护点】
1.一种GOOSE报文签名及认证的方法,其特征在于:包括,发送方对GOOSE报文进行组包:初始化时,组织GOOSE报文中的固定数据域,并记录变化数据域在GOOSE报文中的偏移;在实时组包时,若变化数据域内容有变化,先根据偏移更新内容,再组织变化数据域;发送方对GOOSE报文内容进行分级签名:将GOOSE报文APDU中的SqNum剔除,剩余的数据进行SHA1信息签名,将SqNum进行单独CRC运算,签名摘要和SqNum的CRC运算结果作为GOOSE报文中的扩展字段与原始报文一起发送;心跳报文在签名时,将该帧报文的SqNum进行CRC运算,SHA1信息签名沿用上一帧报文;GOOSE报文的订阅方进行验证:判断接收报文的签名摘要是否与上一帧报文的一致;如果一致,则解析SqNum并校验其CRC是否正确,若校验成功且SqNum为上一帧报文SqNum顺序加1,则判断这一帧报文为心跳报文,链路正常;如果不一致,则对APDU重新验签且校验SqNum的CRC值,验签及校验成功则采纳该报文。

【技术特征摘要】
1.一种GOOSE报文签名及认证的方法,其特征在于:包括,发送方对GOOSE报文进行组包:初始化时,组织GOOSE报文中的固定数据域,并记录变化数据域在GOOSE报文中的偏移;在实时组包时,若变化数据域内容有变化,先根据偏移更新内容,再组织变化数据域;发送方对GOOSE报文内容进行分级签名:将GOOSE报文APDU中的SqNum剔除,剩余的数据进行SHA1信息签名,将SqNum进行单独CRC运算,签名摘要和SqNum的CRC运算结果作为GOOSE报文中的扩展字段与原始报文一起发送;心跳报文在签名时,将该帧报文的SqNum进行CRC运算,SHA1信息签名沿用上一帧报文;GOOSE报文的订阅方进行验证:判断接收报文的签名摘要是否与上一帧报文的一致;如果一致,则解析SqNum并校验其CRC是否正确,若校验成功且SqNum为上一帧报文SqNum顺序加1,则判断这一帧报文为心跳报文,链路正常;如果不一致,则对APDU重新验签且校验SqNum的...

【专利技术属性】
技术研发人员:郑洁梅德冬姚燕春罗华煜李耕李嘉张连生周化
申请(专利权)人:国电南瑞科技股份有限公司南瑞集团有限公司国电南瑞南京控制系统有限公司国家电网公司国网天津市电力公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1