CN104639330B - 一种goose报文完整性认证方法 - Google Patents
一种goose报文完整性认证方法 Download PDFInfo
- Publication number
- CN104639330B CN104639330B CN201510057981.8A CN201510057981A CN104639330B CN 104639330 B CN104639330 B CN 104639330B CN 201510057981 A CN201510057981 A CN 201510057981A CN 104639330 B CN104639330 B CN 104639330B
- Authority
- CN
- China
- Prior art keywords
- message
- hash
- key
- goose message
- goose
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种GOOSE报文完整性认证方法,以更好地适应电力系统高实时性要求。为了适应GOOSE报文需要不间断发送的特性,该方法是:提取GOOSE报文APDU中的UtcTime、stNum、sqNum这三个关键数据内容,并判断APDU其余数据是否与前一报文一致:若一致,则根据前一GOOSE报文APDU的非关键信息的Hash结果,将上述关键信息附加在其末端后进行Hash运算得最终认证码;若不一致则首先对APDU非关键信息进行Hash运算得认证码C1,随后将APDU关键信息附加于C1末端并再次进行Hash运算得最终认证码。本发明的认证方法效率远高于HMAC直接应用于GOOSE报文的认证方法。
Description
技术领域
本发明属于电力系统信息安全领域,具体涉及一种高效的GOOSE报文完整性认证方法。
背景技术
电力通信网络从独立的封闭系统,逐步发展为广域互联的开放系统,其边界范围和地理分布不断扩大,接入方式更加灵活,报文数据的安全性问题也日趋突出。尤其像GOOSE这类直接影响电力系统状态的重要报文,当其报文受到篡改时,可能带来灾难性的后果。
在电力系统通信网络中,面向通用对象的变电站事件(GOOSE,Generic ObjectOriented Substation Event)报文主要用于表征断路器的跳、合闸等操作命令和断路器位置信息等重要场合,其安全性、准确性、实时性很大程度上影响着电力系统运行的可靠性。而且,在以数字化变电站为代表的智能电网中得到越来越广泛的应用的背景下,GOOSE电力报文有可能跨区域、跨电网传输,使得其更可能遭受窃听、攻击、篡改等入侵事件,其在电力信息安全方面的重要性愈发突出。
电力信息安全标准IEC62351建议对GOOSE报文采用HMAC认证或数字签名以保障GOOSE报文的完整性。但结合当前智能电子设备实际的运算和存储能力,基于非对称加密环节的数字签名方法难以满足GOOSE等电力报文的4ms延时要求。因此,目前的GOOSE安全算法研究主要选择采用HMAC认证保障完整性。
HMAC认证算法通过引入密钥并设置两轮Hash运算实现认证运算,可有效保障报文的完整性,但对GOOSE这类短报文而言效率并不高,并非最优的选择。不同于一般的网络报文,GOOSE报文定义了严格的帧结构,包括细致的帧格式、APDU中所具有的显性长度域和同步性参数等。GOOSE报文独特的报文结构,有助于避免一般带密钥HASH算法遭受长度扩展等攻击。结合GOOSE报文域的特点以及表征的意义,寻求一种GOOSE报文更有效的认证方法具有重要研究价值。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种GOOSE报文完整性认证方法,以提高认证效率,更好地适应电力系统高实时性要求。本发明方法基于选定的HASH函数(SHA256或MD5等函数),以密钥和消息作为输入,直接HASH运算生成消息摘要输出作为认证码。算法中只用到密钥和带认证消息的HASH运算,效率比HMAC更高。
为了达到上述目的,本发明采用的技术方案是:一种GOOSE报文完整性认证方法,包括以下步骤:
S1、GOOSE报文发送端认证过程:
S11、提取GOOSE报文APDU中的UtcTime、stNum、sqNum关键信息,根据UtcTime、stNum、sqNum顺序依次连接,形成关键信息报文段P2;
S12、删除GOOSE报文APDU中的UtcTime、stNum、sqNum关键信息以及CRC校验码域,形成非关键信息报文段P1;
S13、判断非关键信息报文段P1是否与前一GOOSE报文非关键信息一致,若一致则跳至步骤S15,否则执行步骤S14;
S14、利用发送端和接收端预先约定好的任意长度的密钥及Hash算法,对步骤S12所述报文段P1进行Hash运算得Hash码C1,将步骤S11所述报文段P2附加到C1末端,并再次进行Hash运算,得到最终Hash认证码C2,然后执行步骤S16;
S15、将步骤S11所述报文段P2附加到前一GOOSE报文APDU认证计算所得Hash码C1`末端,利用发送端和接收端预先约定好的任意长度的密钥及Hash算法,对其进行Hash运算得到最终Hash认证码C2,然后执行步骤S16;
S16、将Hash认证码C2作循环冗余校验CRC32运算,得到32比特长度的循环冗余校验码,将其填充于GOOSE报文的CRC校验码域;
S2、GOOSE报文接收端认证过程:
S21、提取GOOSE报文APDU中的UtcTime、stNum、sqNum关键信息,根据UtcTime、stNum、sqNum顺序依次连接,形成关键信息报文段P4;
S22、删除GOOSE报文APDU中的UtcTime、stNum、sqNum关键信息以及CRC校验码域,形成非关键信息报文段P3;
S23、利用发送端和接收端预先约定好的任意长度的密钥及Hash算法,对步骤S22所述报文段P3进行Hash运算得Hash码C3,将步骤S21所述报文段P4附加到C3末端,并再次进行Hash运算,得到最终Hash认证码C4;
S24、将步骤S23所得Hash认证码C4作循环冗余校验CRC32运算,得到32比特长度的循环冗余校验码,将其与接收到的GOOSE报文的CRC校验码域进行对比,若二者一致则认证成功,否则认证失败。
具体的,所述GOOSE报文APDU中的UtcTime、stNum、sqNum关键信息是时间以及报文发送序号相关信息。
在认证算法和密钥长度一定时,降低GOOSE报文认证运算耗时的核心在于减少所需进行加密运算的报文的长度。分析GOOSE报文发送机制,GOOSE报文需重复、不定间隔发送,其中除了stNum、sqNum等参数,GOOSE报文其他数据不变。再结合HASH运算算法按512bit长度对待运算数据进行分组,固定输入情况下输入不变,因此,可将变化的数据放与待运算数据末端,即可避免前面相同数据的HASH运算过程。
具体的,所述步骤S14中,得到最终Hash认证码C2的计算过程是:
C1=Hash(key,P1);
C2=Hash(C1,P2);
其中,key表示发送端和接收端预先约定好的任意长度的密钥。
具体的,所述步骤S15中,得到最终Hash认证码C2的计算过程是:
C2=Hash(C1`,P2);
其中,C1`是前一GOOSE报文非关键信息段P1对应的Hash运算结果。
具体的,所述步骤S23中,得到最终Hash认证码C4的计算过程是:
C3=Hash(key,P3);
C4=Hash(C3,P4);
其中,key表示发送端和接收端预先约定好的任意长度的密钥。
本发明与现有技术相比,具有如下优点和有益效果:
本发明通过分析GOOSE报文特点以及发送机制,提取GOOSE报文APDU的UtcTime、stNum、sqNum关键信息,判断APDU其余非关键信息是否与前一GOOSE报文APDU非关键信息一致,若一致,则根据前一GOOSE报文APDU的非关键信息Hash结果,仅对上述关键信息进行Hash运算,在不降低报文信息安全性的前提下,避免对整个GOOSE报文的加解密,减少加解密算法的耗时。
附图说明
图1是本发明GOOSE报文发送端认证过程流程图。
图2是本发明GOOSE报文接收端认证过程流程图。
图3是GOOSE报文结构示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例1
GOOSE报文结构如图3所示,本实施例一种高效的GOOSE报文认证方法是针对GOOSE报文APDU域的认证,其余报文域不属于认证内容,此方法包括GOOSE报文发送端认证过程以及GOOSE报文接收端认证过程,下面分别结合图1、2对其进行具体说明。
1、GOOSE报文发送端认证过程
参见图1,包括步骤如下:
S11、提取GOOSE报文APDU中的UtcTime、stNum、sqNum关键信息,这里关键信息是指时间以及报文发送序号相关信息。然后根据UtcTime、stNum、sqNum顺序依次连接,形成关键信息报文段P2。
S12、删除GOOSE报文APDU中的UtcTime、stNum、sqNum关键信息以及CRC校验码域,形成非关键信息报文段P1。
S13、判断非关键信息报文段P1是否与前一GOOSE报文非关键信息一致,若一致则跳至步骤S15,否则执行步骤S14。
S14、利用发送端和接收端预先约定好的任意长度的密钥及Hash算法,对步骤S12所述报文段P1进行Hash运算得Hash码C1,将步骤S11所述报文段P2附加到C1末端,并再次进行Hash运算,得到最终Hash认证码C2,然后执行步骤S16。Hash运算公式表示如下:
C1=Hash(key,P1)
C2=Hash(C1,P2)
其中,key表示发送端和接收端预先约定好的任意长度的密钥。
S15、将步骤S11所述报文段P2附加到前一GOOSE报文APDU认证计算所得Hash码C1`末端,利用发送端和接收端预先约定好的任意长度的密钥及Hash算法,对其进行Hash运算得到最终Hash认证码C2,然后执行步骤S16。
Hash运算公式表示如下:
C2=Hash(C1`,P2);
其中,C1`是前一GOOSE报文非关键信息段P1对应的Hash运算结果。
S16、将Hash认证码C2作循环冗余校验CRC32运算,得到32比特长度的循环冗余校验码,将其填充于GOOSE的CRC校验码域。
2、GOOSE报文接收端认证过程
参见图2,包括步骤如下:
S21、提取GOOSE报文APDU中的UtcTime、stNum、sqNum关键信息,根据UtcTime、stNum、sqNum顺序依次连接,形成关键信息报文段P4。
S22、删除GOOSE报文APDU中的UtcTime、stNum、sqNum关键信息以及CRC校验码域,形成非关键信息报文段P3。
S23、利用发送端和接收端预先约定好的任意长度的密钥及HASH算法,对S22所述报文段P3进行HASH运算得Hash码C3,将S21所述报文段P4附加到C4末端,并再次进行HASH运算,得最终HASH认证码C4。
Hash运算公式表示如下:
C3=Hash(key,P3);
C4=Hash(C3,P4);
其中,key表示发送端和接收端预先约定好的任意长度的密钥。
S24、将步骤S23所得C4作循环冗余校验CRC32运算,得到32比特长度的循环冗余校验码,将其与接收到的GOOSE报文的CRC校验码域进行对比,若二者一致则认证成功,否则认证失败。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (4)
1.一种GOOSE报文完整性认证方法,其特征在于,包括以下步骤:
S1、GOOSE报文发送端认证过程:
S11、提取GOOSE报文APDU中的UtcTime、stNum、sqNum关键信息,根据UtcTime、stNum、sqNum顺序依次连接,形成关键信息报文段P2;
S12、删除GOOSE报文APDU中的UtcTime、stNum、sqNum关键信息以及CRC校验码域,形成非关键信息报文段P1;
S13、判断非关键信息报文段P1是否与前一GOOSE报文非关键信息段一致,若一致则跳至步骤S15,否则执行步骤S14;
S14、利用发送端和接收端预先约定好的任意长度的密钥及Hash算法,对步骤S12所述报文段P1进行Hash运算得Hash码C1,将步骤S11所述报文段P2附加到C1末端,并再次进行Hash运算,得到最终Hash认证码C2,然后执行步骤S16;
S15、将步骤S11所述报文段P2附加到前一GOOSE报文APDU认证计算所得Hash码C1`末端,利用发送端和接收端预先约定好的任意长度的密钥及Hash算法,对其进行Hash运算得到最终Hash认证码C2,然后执行步骤S16;
得到最终Hash认证码C2的计算过程是:
C2=Hash(C1`,P2);
其中,C1`是前一GOOSE报文非关键信息段对应的Hash运算结果;
S16、将Hash认证码C2作循环冗余校验CRC32运算,得到32比特长度的循环冗余校验码,将其填充于GOOSE报文的CRC校验码域;
S2、GOOSE报文接收端认证过程:
S21、提取GOOSE报文APDU中的UtcTime、stNum、sqNum关键信息,根据UtcTime、stNum、sqNum顺序依次连接,形成关键信息报文段P4;
S22、删除GOOSE报文APDU中的UtcTime、stNum、sqNum关键信息以及CRC校验码域,形成非关键信息报文段P3;
S23、利用发送端和接收端预先约定好的任意长度的密钥及Hash算法,对步骤S22所述报文段P3进行Hash运算得Hash码C3,将步骤S21所述报文段P4附加到C3末端,并再次进行Hash运算,得到最终Hash认证码C4;
S24、将步骤S23所得Hash认证码C4作循环冗余校验CRC32运算,得到32比特长度的循环冗余校验码,将其与接收到的GOOSE报文的CRC校验码域进行对比,若二者一致则认证成功,否则认证失败。
2.根据权利要求1所述的GOOSE报文完整性认证方法,其特征在于,所述GOOSE报文APDU中的UtcTime、stNum、sqNum关键信息是时间以及报文发送序号相关信息。
3.根据权利要求1所述的GOOSE报文完整性认证方法,其特征在于,所述步骤S14中,得到最终Hash认证码C2的计算过程是:
C1=Hash(key,P1);
C2=Hash(C1,P2);
其中,key表示发送端和接收端预先约定好的任意长度的密钥。
4.根据权利要求1所述的GOOSE报文完整性认证方法,其特征在于,所述步骤S23中,得到最终Hash认证码C4的计算过程是:
C3=Hash(key,P3);
C4=Hash(C3,P4);
其中,key表示发送端和接收端预先约定好的任意长度的密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510057981.8A CN104639330B (zh) | 2015-02-04 | 2015-02-04 | 一种goose报文完整性认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510057981.8A CN104639330B (zh) | 2015-02-04 | 2015-02-04 | 一种goose报文完整性认证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104639330A CN104639330A (zh) | 2015-05-20 |
CN104639330B true CN104639330B (zh) | 2018-01-16 |
Family
ID=53217688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510057981.8A Expired - Fee Related CN104639330B (zh) | 2015-02-04 | 2015-02-04 | 一种goose报文完整性认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104639330B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106685908B (zh) * | 2016-07-11 | 2019-06-28 | 南京兜秘网络科技有限公司 | 语音直播过程中音频数据完整性的保障方法 |
CN110224823B (zh) * | 2019-06-12 | 2021-02-23 | 湖南大学 | 变电站报文安全防护方法、装置、计算机设备和存储介质 |
CN110838893B (zh) * | 2019-11-26 | 2022-04-19 | 北华航天工业学院 | 一种基于北斗系统的通讯系统及其通讯方法 |
CN113922945A (zh) * | 2021-08-27 | 2022-01-11 | 天津七所精密机电技术有限公司 | 一种基于关键信息的报文完整性认证方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103746962A (zh) * | 2013-12-12 | 2014-04-23 | 华南理工大学 | 一种goose电力实时报文加解密方法 |
CN103873461A (zh) * | 2014-02-14 | 2014-06-18 | 中国南方电网有限责任公司 | 基于iec62351的goose报文的安全交互方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102010040688A1 (de) * | 2010-09-14 | 2012-03-15 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zum Authentisieren von Multicast-Nachrichten |
-
2015
- 2015-02-04 CN CN201510057981.8A patent/CN104639330B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103746962A (zh) * | 2013-12-12 | 2014-04-23 | 华南理工大学 | 一种goose电力实时报文加解密方法 |
CN103873461A (zh) * | 2014-02-14 | 2014-06-18 | 中国南方电网有限责任公司 | 基于iec62351的goose报文的安全交互方法 |
Non-Patent Citations (4)
Title |
---|
Applying Security Algorithms against Cyber Attacks in the Distribution Automation System;I.H.Lim等;《IEEE》;20080424;全文 * |
Security Protocols Against Cyber Attacks in the Distribution Automation System;I.H.Lim等;《IEEE Trans on Power Delivery》;20100131;全文 * |
基于IEC 62351-6 的电力控制系统通信安全防护探讨;周静等;《2012年电力通信管理暨智能电网通信技术论坛论文集》;20130129;全文 * |
面向变电站数据通信的安全防护机制研;周蓉;《中国优秀硕士学位论文全文数据库 信息科技辑》;20091015;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104639330A (zh) | 2015-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104702466B (zh) | 一种基于iec62351的过程层安全测试系统及方法 | |
CN103888444B (zh) | 一种配电安全认证装置及其方法 | |
CN106411830B (zh) | 防止访问数据被篡改的方法及移动终端 | |
CN104460657B (zh) | 一种实现工业控制系统移动运维防护的方法、装置及系统 | |
CN104639330B (zh) | 一种goose报文完整性认证方法 | |
CN112511514A (zh) | 一种http加密传输方法、装置、计算机设备及存储介质 | |
CN103746962B (zh) | 一种goose电力实时报文加解密方法 | |
CN110912877B (zh) | 变电站内基于iec61850模型的数据发送、接收方法及装置 | |
CN105184181B (zh) | 文件的加密方法、解密方法及装置 | |
CN105072636B (zh) | 一种无线测试及数据传输系统 | |
CN104639328B (zh) | 一种goose报文认证方法及系统 | |
CN107148019A (zh) | 一种用于连接无线接入点的方法与设备 | |
CN111614683A (zh) | 一种数据处理方法、装置、系统及一种网卡 | |
CN109495263A (zh) | 时钟同步方法、系统、装置、智能终端、车辆终端及介质 | |
CN103475482B (zh) | 一种基于现场服务终端的现场加封方法 | |
CN104038931B (zh) | 基于lte网络的配用电通信系统及其通信方法 | |
CN104994107B (zh) | 一种基于iec62351的mms报文离线分析方法 | |
CN104009847A (zh) | 一种基于格的大数据存储完整性验证方法 | |
CN110198320A (zh) | 一种加密信息传输方法 | |
CN109758629A (zh) | 透析数据的传输方法、装置、设备及存储介质 | |
CN102404324A (zh) | 一种物联网感知节点数据安全系统 | |
CN110233735B (zh) | 一种并网电站工控系统综合安全防护方法及系统 | |
Zhang | [Retracted] Application of Information Encryption Technology in Computer Network Communication Security | |
CN103716163B (zh) | 一种符合iec61850‑9‑2(le)标准的sv报文加解密方法 | |
CN103647654B (zh) | 一种基于可信计算的配电终端密钥管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information |
Inventor after: Wang Zhidong Inventor after: Liang Mei Inventor after: Li Yongchang Inventor after: Liu Piao Inventor before: Wang Zhidong Inventor before: Li Yongchang Inventor before: Liu Piao |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180116 Termination date: 20220204 |
|
CF01 | Termination of patent right due to non-payment of annual fee |