技术特征:
1.一种电力控制指令执行检验方法,其特征在于,包括以下步骤:s1,针对iec104通信协议,增加安全域报文字段;所述安全域报文字段包括发送时间戳、数字签名、主站发送、变电站随机数、调度证书;s2,根据s1中增加安全域后的主站连接报文和增加安全域后的变电站连接应答报文变电站与主站之间进行第一次身份验证;s3,根据s2变电站与主站第一次身份验证情况,s1中增加安全域后的主站二次连接报文以及增加安全域后的变电站二次连接报文变电站与主站之间进行第二次身份验证;s4,根据s3中变电站与主站的第二次身份验证情况以及s1中的增加安全域后的主站控制指令报文变电站进行主站控制指令检验;若满足指令校验,则执行该主站控制指令,并返回变电站控制确认报文2.根据权利要求1所述的电力控制指令执行检验方法,其特征在于,增加安全域后的主站连接报文的表达式如下:其中,m
zl,i
为原主站连接报文,t
zl,i
为主站连接报文的发送时间戳,sign
zl,i
为主站连接报文的主站数字签名,r
zl,i
为主站连接报文的主站随机数,i为主站与变电站电力控制指令编号,zl表示主站连接,
·
||
·
为字符连接;优选地,增加安全域后的变电站连接应答报文的表达式如下:m
bl,i
为原变电站连接应答报文,t
bl,i
为变电站连接应答报文的发送时间戳,sign
bl,i
为变电站连接应答报文的变电站数字签名,r
bl,i
为变电站连接应答报文的随机数,r
zl,i
为变电站接收主站连接报文的随机数,bl为变电站连接。3.根据权利要求1所述的电力控制指令执行检验方法,其特征在于,增加安全域后的主站二次连接报文的表达式如下:其中,m
zl2,i
为原主站二次连接报文,t
zl2,i
为主站二次连接报文的发送时间戳,sign
zl2,i
为主站二次连接报文的主站数字签名,ds
zk,i
为主站调度证书。4.根据权利要求1所述的电力控制指令执行检验方法,其特征在于,增加安全域后的变电站二次连接报文的表达式如下:其中,m
bl2,i
为原变电站二次连接应答报文,t
bl2,i
为变电站二次连接应答报文的发送时间戳,sign
bl2,i
为变电站二次连接应答报文的变电站数字签名。5.根据权利要求1所述的电力控制指令执行检验方法,其特征在于,增加安全域后的主站控制指令报文的表达式如下:m
zk,i
为原主站控制指令报文,t
zk,i
为主站控制指令报文的发送时间戳,sign
zk,i
为主站控制指令报文的主站数字签名,r
zk,i
为主站控制指令报文的随机数,ds
zk,i
为主站调度证书。6.根据权利要求1所述的电力控制指令执行检验方法,其特征在于,变电站控制确认报
文的表达式如下:m
bz,i
为原变电站控制确认报文,t
bz,i
为变电站控制确认报文的发送时间戳,sign
bz,i
为变电站控制确认报文的变电站数字签名。7.根据权利要求1所述的电力控制指令执行检验方法,其特征在于,步骤s2的实现过程包括:步骤s21,主站根据主站连接报文长度,计算主站连接报文需要加密的段数n
zl,i
,具体计算公式如下:其中,bc
z
为主站连接报文长度,smc为第一套加密算法可加密内容长度,为向上取整;步骤s22,主站根据所述主站连接报文需要加密的段数n
zl,i
以及主站报文计数器记录数据c
z
,利用公式计算分段计数器数值以及利用公式更新主站报文计数器记录数据c
z
为c
′
z
;h(n
zl,i
)=n
zl,i
{h|h≤n
zl,i
,h∈n
+
},n
+
为正整数;步骤s23,主站根据分段计数器数值对增加安全域后的主站连接报文进行分段异或计算,得到用于加密的报文中第n
zl,i
段加密报文具体计算公式如下:其中,为增加安全域后的主站连接报文的第n
zl,i
段报文;为字符异或计算;步骤s24,主站根据用于加密的报文使用第一套加密算法对其进行加密,得到加密后的主站连接报文具体计算公式如下:其中,f(
·
)为第一套加密算法的加密转换函数;步骤s25,变电站根据加密后的主站连接报文的字节大小,判断加密后的主站连接报文的分段数目n
zl,i
,并计算分段计数器数值更新主站报文计数器记录数据c
z
为c
z
′
;步骤s26,变电站根据分段数目n
zl,i
,使用第一套加密算法对加密后的主站连接报文进行解密,得到解密后的分段报文具体公式如下:其中,为解密后的主站连接报文中的第n
zl,i
段报文内容,f
j
为第一套加密算法的解密转换函数;步骤s27,变电站根据解密后的主站连接报文中的第n
zl,i
段报文内容以及分段加密器计数数值得到主站连接报文具体计算公式如下:其中,c1为解密后的主站连接报文中的第1段报文内容对应的分段加密器计数数值;
步骤s28,变电站根据加密后的主站连接报文判断报文的有效性,即当d
tzl,i
&d
rzl,i
&d
szl,i
=1时,变电站完成对主站身份验证,主站身份验证成功;否则,不满足有效性校验时,变电站拒绝执行该报文,主站身份验证失败;当|t
zl,i
‑
t
′
zl,i
|<t
d
,d
tzl,i
=1;当时,d
rzl,i
=1;当sign
zl,i
∈ω
sign,z
时,d
szl,i
=1;t
zl,i
为解密后的主站连接报文中的发送时间戳,t
′
zl,i
为变电站接收到主站连接报文的时间;为变电站数据库中所存储的主站随机数的集合;r
zl,i
为解密后的主站连接报文中的主站连接报文的随机数;ω
sign,z
为变电站数据库中所存储的主站数字签名的集合;sign
zl,i
为主站连接报文中的主站数字签名;t
d
为系统预设的第1类时间间隔;步骤s29,当变电站完成对主站的身份验证,变电站根据原变电站连接应答报文m
bl,i
,变电站连接应答报文的发送时间戳t
bl,i
,变电站数字签名sign
bl,i
,随机数r
bl,i
,以及主站连接报文的随机数r
zl,i
,生成增加安全域后的变电站连接应答报文并对进行异或加密,将加密后的连接应答报文发送给主站。8.根据权利要求1所述的电力控制指令执行检验方法,其特征在于,步骤s3的实现过程包括:步骤s31,主站根据加密后的变电站连接应答报文解密得到变电站连接报应答文并进行有效性校验,即当d
tbl,i
&d
tbl,2,i
&d
sbl,i
&d
rzl,2,i
&d
rbl,i
=1时,变电站连接报应答文有效;主站根据变电站连接应答报文发送时间戳t
bl,i
以及主站接受变电站连接应答报文的时间t
′
bl,i
,当|t
bl,i
‑
t
′
bl,i
|<t
d
,d
tbl,i
=1,反之,d
tbl,i
=0;主站根据主站接受变电站连接应答报文的时间t
′
bl,i
以及主站连接报文的时间戳t
zl,i
,当|t
′
bl,i
‑
t
zl,i
|<t
d,2
,d
tbl,2,i
=1;主站根据变电站连接应答报文中的变电站数字签名sign
bl,i
,当sign
bl,i
∈ω
sign,b
时,d
sbl,i
=1,其中,ω
sign,b
为主站数据库中所存储的变电站数字签名的集合;主站根据变电站连接应答报文中的主站随机数以及主站连接报文中的主站随机数r
zl,i
,如果二者相同,则d
rzl,2,i
=1;兰时,d
rbl,i
=1,其中,为主站接受变电站随机数的集合;t
d,2
为系统预设的第2类时间间隔;步骤s32,当主站判断变电站连接报应答文有效后,主站根据由变电站连接应答报文发送的随机数r
bl,i
和随机数r
zl,i
生成的主站数字签名sign
zl2,i
,原主站二次连接报文m
zl2,i
,主站二次连接报文发送时间戳t
zl2,i
以及调度证书ds
zk,i
,形成二次连接报文,并对二次连接报文进行异或加密,将加密后的主站二次连接报文发送给变电站;步骤s33,变电站根据加密后的主站二次连接报文解密得到主站二次连接报文并判断报文的有效性,当不满足有效性校验时,变电站拒绝执行该报文,主站身份验证失败;判断报文的有效性的具体实现过程包括:当d
tzl2,i
&d
tzl2,2,i
&d
dzc,i
&d
szl2,i
=1,主站二次连接报文有效,主站二次身份验证成功;否则,主站二次连接报文无效,主站二次身份验证失败;当|t
zl2,i
‑
t
′
zl2,i
|<t
d
,d
tzl2,i
=1;当|t
zl,i
‑
t
′
zl2,i
|<t
d,3
,d
tzl2,2,i
=1;当d
dzc,i
=1;当f
sm3
(r
zl,i
,r
bl,i
)&sign
zl2,i
=1,d
szl2,i
=1;t
zl2,i
为变电站根据主站二次连接报文发送时间戳;t
′
zl2,i
为变电站接受主站二次连接报文的时间;t
zl,i
为
变电站根据主站连接报文的时间戳;ds
zk,i
为变电站根据主站二次连接报文中的调度证书,为变电站数据库中所存储的调度证书的集合;r
zl,i
为变电站根据主站连接报文随机数;r
bl,i
为变电站连接应答报文随机数;sign
zl2,i
为主站数字签名;t
d,3
为系统预设的第3类时间间隔。9.根据权利要求1所述的电力控制指令执行检验方法,其特征在于,步骤s4的实现过程包括:步骤s41,主站根据加密后的变电站二次连接应答报文解密得到明文并进行有效性校验,即当d
tbl2,i
&d
sbl2,i
=1时,变电站二次连接应答报文有效,连接成功;当d
sbl2,i
=1;当|t
bl2,i
‑
t
′
bl2,i
|<t
d
,d
tbl2,i
=1;sign
bl2,i
为主站根据变电站二次连接应答报文中的变电站数字签名;t
bl2,i
为变电站二次连接应答报文发送时间戳;t
′
bl2,i
为主站接受变电站二次连接应答报文的时间;步骤s42,根据原主站控制指令报文m
zk,i
,主站控制指令报文发送时间戳t
zk,i
、主站数字签名sign
zk,i
、主站随机数r
zk,i
和调度证书ds
zk,i
,生成增加安全域后的主站控制指令报文并对进行加密,将加密后的控制指令报文发送给主站,其中,主站控制指令报文的主站数字签名sign
zk,i
具体计算公式如下:sign
zk,i
=sign
zl2,i
;步骤s43,变电站根据加密后的主站控制指令报文解密得到主站控制指令报文明文并进行有效性校验,即当d
tzk,i
&d
tzk,2,i
&d
dzk,i
&d
szk,i
&d
rzk,i
=1时,满足有效性检验,变电站执行该报文,主站实现远程操控;变电站根据主站控制指令报文的发送时间戳t
zk,i
以及变电站接受主站控制指令报文的时间t
′
zk,i
,当|t
zk,i
‑
t
′
zk,i
|<t
d
,d
tzk,i
=1;变电站根据变电站接受主站控制指令报文的时间戳t
′
zk,i
以及变电站接受到主站二次连接报文的时间戳t
′
zl2,i
,当|t
′
zl2,i
‑
t
′
zk,i
|<t
d,2
,d
tzk,2,i
=1;:变电站根据主站控制指令报文中的调度证书ds
zk,i
,当d
dzk,i
=1;变电站根据主站控制指令报文中的主站数字签名sign
zk,i
,当f
sm3
(r
zl,i
,r
bl,i
)&sign
zk,i
=1,d
szk,i
=1;变电站根据主站控制指令报文中的随机数r
zk,i
,当则d
rzk,i
=1;f
sm3
为第二套加密算法的加密转换函数;为变电站接收主站报文中随机数的集合;步骤s43,当变电站完成现地操控,变电站根据原变电站控制确认报文m
bz,i
,变电站控制确认报文发送时间戳t
bz,i
以及变电站数字签名sign
bz,i
,生成变电站控制确认报文并对进行加密,将加密后的控制指令报文发送给主站;其中,变电站控制确认报文的变电站数字签名sign
bz,i
的具体计算公式如下:sign
bz,i
=sign
bl2,i
。10.一种电力控制指令执行检验系统,其特征在于,包括计算机设备;所述计算机设备被配置或编程为用于执行权利要求1~9之一所述方法的步骤。
技术总结
本发明公开了一种电力控制指令执行检验方法及系统,采用CounTeR加密模式对电力控制指令报文进行分组加密,解决了目前主站与变电站之间控制指令所采用的ECB分组加密模式存在的通信安全隐患;改进IEC
技术研发人员:刘绚 严康 田建伟 张波
受保护的技术使用者:湖南大学
技术研发日:2021.07.28
技术公布日:2021/11/4