变电站报文安全防护方法、装置、计算机设备和存储介质与流程

文档序号:18639033发布日期:2019-09-11 22:44阅读:217来源:国知局
变电站报文安全防护方法、装置、计算机设备和存储介质与流程

本申请涉及网络信息安全技术领域,特别是涉及一种变电站报文安全防护方法、装置、计算机设备和存储介质。



背景技术:

近年来,智能电网作为一个新兴的电网发展方向正在迅速建成,其中智能变电站是智能电网组成中最重要的一部分。在智能变电站中,各个ied(智能电子设备,intelligentelectronicdevice)之间的连接全部采用高速的网络通信,这种网络链路取代了传统变电所中装置设备之间点对点的电缆连接,各ied发送的数据由其所连接的交换机传输到整个网络上进行共享,同时通过其所连接的交换机接收其他ied在网络上共享的数据。

目前智能电网和电站一般遵循dl/t860《变电站通讯网络系统》行业标准,采用iec(internationalelectrotechnicalcommission,国际电工委员会)发布的iec61850。然而,iec61850标准只是对智能变电站内部的通信规约进行设计,未进行安全设计,其报文往往不加任何处理便直接进行发送,导致报文信息可能存在被窃听、嗅探或篡改的风险。由于所有变电站的智能部件之间的通信均处在局域网中进行实现,一旦攻击者利用获得的信息对变电站某进行攻击,不但会让攻击的智能设备做出错误的判断与操作,还将会影响整个变电站内的通信,对变电站的运行造成严重的影响,甚至影响到整个地区的电力系统的运行。

因此,为确保智能电网中变电站的安全运行,目前急需一种变电站报文安全防护方案。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种变电站报文安全防护方法、装置、计算机设备和存储介质。

一种变电站报文安全防护方法,所述方法包括:

读取报文发送端的智能设备身份标识,并获取与所述报文发送端的智能设备身份标识对应的scd(substationconfigurationdescription,全站系统配置文件)文件;

解析所述scd文件,生成票据;

根据所述票据对goose(genericobjectorientedsubstationevent,面向通用对象的变电站事件)报文进行安全处理;

推送安全处理后的goose报文至报文接收端;

其中,所述scd文件采用以下步骤处理生成:

获取变电站中各智能设备的身份标识与公私钥;读取变电站对应的密钥表,所述密钥表中携带有各所述智能设备分配的密钥;选择任意哈希函数作为根据可靠随机数选择密钥表的映射函数;将所述智能设备的身份标识、所述公私钥、所述预设密钥表以及所述映射函数整理为scd文件。

在其中一个实施例中,所述解析所述scd文件,生成票据包括:

解析所述scd文件,得到报文接收端智能设备的身份标识、密钥表以及映射函数;

随机生成第一可靠随机数、第二可靠随机数以及第三可靠随机数,所述第一可靠随机数用于构造伪状态序号的随机种子,所述第二可靠随机数用于构造伪顺序序号的随机种子,所述第三可靠随机数用于表征密钥共享信息,支持调用所述映射函数进行映射,得到所述密钥表中与所述自身身份信息对应的密钥值;

记录当前时间,将所述第一可靠随机数、第二可靠随机数、所述当前时间、所述第三可靠随机数以及所述密钥表归集为数据集合,生成票据。

在其中一个实施例中,所述根据所述票据对goose报文进行安全处理之前,还包括:

获取报文接收端的智能设备身份标识;

根据所述报文接收端的智能设备身份标识以及所述公私钥,获取所述报文接收端智能设备的公钥;

根据所述报文接收端智能设备的公钥对所述票据进行加密,得到票据密文;

所述根据所述票据对goose报文进行安全处理包括:

根据所述票据密文对goose报文进行安全处理。

在其中一个实施例中,所述根据所述票据对goose报文进行安全处理包括:

读取所述票据中的第一可靠随机数和第二可靠随机数,并通过所述第一可靠随机数对所述报文中状态序号字段进行处理,得到伪状态序号、以及通过所述第二可靠随机数对所述报文中顺序号字段进行处理,得到伪顺序号;

将得到的所述伪状态序号以及所述伪顺序号写入所述报文中对应位置;

通过与所述第三可靠随机数对应的密钥值对所述报文中实际传输的关键信息进行消息摘要,得到关键信息摘要值;

将所述票据密文作为扩展字段插入到所述goose报文末尾的扩展字段中;

在所述goose报文的保留字段中添加扩展字段的crc(cyclicredundancycheck,循环冗余校验码)校验值,crc校验内容为所述关键信息摘要值和所述票据密文的内容。

在其中一个实施例中,所述消息摘要对应的算法为sha1-hmac算法。

在其中一个实施例中,所述将所述票据密文作为扩展字段插入到所述报文末尾的扩展字段中之前,还包括:

对所述关键信息摘要值进行asn.1编码,并将编码后的字段作为扩展字段插入所述goose报文末尾的扩展字段中。

在其中一个实施例中,所述推送安全处理后的goose报文至报文接收端之前,还包括:

对安全处理后的goose报文进行报文检测。

一种变电站报文安全防护装置,所述装置包括:

读取模块,用于读取报文发送端的智能设备身份标识,并获取与所述报文发送端的智能设备身份标识对应的scd文件;

票据生成模块,用于解析所述scd文件,生成票据;

安全处理模块,用于根据所述票据对goose报文进行安全处理;

推送模块,用于推送安全处理后的goose报文至报文接收端;

其中,所述scd文件采用以下操作生成:

获取变电站中各智能设备的身份标识与公私钥;读取变电站对应的密钥表,所述密钥表中携带有各所述智能设备分配的密钥;选择任意哈希函数作为根据可靠随机数选择密钥表的映射函数;将所述智能设备的身份标识、所述公私钥、所述预设密钥表以及所述映射函数整理为scd文件。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的方法的步骤。

上述变电站报文安全防护方法、装置、计算机设备和存储介质,读取报文发送端的智能设备身份标识,并获取与所述报文发送端的智能设备身份标识对应的scd文件,解析所述scd文件,生成票据,根据所述票据对goose报文进行安全处理,推送安全处理后的goose报文至报文接收端,由于scd文件中智能设备的身份标识、所述公私钥、所述预设密钥表以及所述映射函数,可以针对每个智能终端设备的密钥进行管理,再根据scd文件生成票据对goose报文进行安全处理实现双重安全防护处理,可以显著提高变电站报文收发的安全性,有利于变电站的安全运行。

附图说明

图1为一个实施例中变电站报文安全防护方法的应用环境图;

图2为一个实施例中变电站报文安全防护方法的流程示意图;

图3为另一个实施例中变电站报文安全防护方法的流程示意图;

图4为又一个实施例中图3步骤s600的子流程示意图;

图5为其中一个应用实例中变电站报文安全防护过程架构示意图;

图6为一个实施例中变电站报文安全防护装置的结构框图;

图7为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的变电站报文安全防护方法,可以应用于如图1所示的应用环境中。在图1中变电站包括多个智能设备,站控层设备通过站控层网络与保护装置以及测控装置进行数据交互(goose报文收发),保护装置以及测控装置通过过程层网络与智能单元和合并单元进行数据交互(goose报文收发),本申请提供的变电站报文安全防护方法对这些数据交互过程提供安全防护,具体来说,整个过程包括:读取报文发送端的智能设备身份标识,并获取与报文发送端的智能设备身份标识对应的scd文件,解析scd文件,生成票据,根据票据对goose报文进行安全处理,推送安全处理后的goose报文至报文接收端。整个电站报文安全防护可以由独立的服务器划分为密钥管理系统、报文安全处理系统和报文检测系统来完成上述操作,也可以由多个服务器(例如3个)组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种变电站报文安全防护方法,包括以下步骤:

s200:读取报文发送端的智能设备身份标识,并获取与报文发送端的智能设备身份标识对应的scd文件,scd文件采用以下步骤处理生成:获取变电站中各智能设备的身份标识与公私钥;读取变电站对应的密钥表,密钥表中携带有各智能设备分配的密钥;选择任意哈希函数作为根据可靠随机数选择密钥表的映射函数;将智能设备的身份标识、公私钥、预设密钥表以及映射函数整理为scd文件。

服务器可以对整个变电站中智能设备分别分配唯一的身份标识。智能设备身份标识与scd文件成对应关系,在读取到报文发送端的智能设备身份标识之后即可获取到scd文件。scd文件是预先加载到每个智能设备中的,其中携带有智能设备的身份标识、整个变电站的公私钥、预先设定的密钥表以及映射函数。非必要的,在上述生成scd文件处理过程中,可以将智能设备的身份标识、公私钥、预设密钥表以及映射函数整理并导入scd文件。

下面将针对scd文件的处理过程展开详细描述:1)、初始化,对所有智能设备进行编号,每一个智能设备都拥有唯一的身份标识idi,并为智能设备idi分配一对公私钥2)、生成n个密钥k1,k2,k3…kn,组成密钥表klist={(1,k1),(2,k2),...,(n,kn)},并生成密钥表的信息klistinfo,其中包括密钥表生成的时间、密钥个数和版本号等信息;3)、选择一个带哈希函数h(·)作为根据随机数选择密钥表的映射函数;4)、通过scd配置工具将密钥表klist、公钥信息等进行处理得到含有密钥信息的scd文件,将scd文件导入各智能设备中。进一步的,服务器还可以定期生成新的密钥进行密钥表的更新,在智能设备导入新的密钥表时,对上一版本的密钥表进行暂存操作处理,消除goose报文时延造成的密钥不同步情况。

s400:解析scd文件,生成票据。

解析步骤s200中scd文件,提取该scd文件中携带的数据,基于这些数据生成票据。

如图3所示,在其中一个实施例中,步骤s400包括:

s420:解析scd文件,得到报文接收端智能设备的身份标识、密钥表以及映射函数。

s440:随机生成第一可靠随机数、第二可靠随机数以及第三可靠随机数,第一可靠随机数用于构造伪状态序号的随机种子,第二可靠随机数用于构造伪顺序序号的随机种子,第三可靠随机数用于表征密钥共享信息,支持调用映射函数进行映射,得到密钥表中与自身身份信息对应的密钥值。

s460:记录当前时间,将第一可靠随机数、第二可靠随机数、当前时间、第三可靠随机数以及密钥表归集为数据集合,生成票据。

票据是一个涵盖有第一可靠随机数、第二可靠随机数、当前时间、第三可靠随机数以及密钥表的数据集合。实际应用中,票据t=(pst,psq,t,r,klistinfo),其中pst是随机生成第一可靠随机数(大小可以为4b),用于构造伪状态序号的随机种子,psq是随机生成的第二可靠随机数(大小可以为4b),用于构造伪顺序序号的随机种子,t是票据生成的时间,r是随机生成的第三可靠随机数(大小可以为4b),表示密钥共享信息,klistinfo表示此时智能设备所装置的密钥表的信息。使用映射函数h(·)对r进行映射:x=h(r),根据x得到密钥表中的密钥值kx,kx将作为goose报文关键消息的摘要算法的密钥。

s600:根据票据对goose报文进行安全处理。

在票据中携带有加密数据,根据票据对goose报文进行安全处理,进一步提升goose报文的安全防护性能。在这里安全处理可以理解为一种二次校验和加密的过程。

s800:推送安全处理后的goose报文至报文接收端。

服务器在报文发送端将goose报文经过上述安全处理之后推送至报文接收端,实现变电站报文安全防护。

上述变电站报文安全防护方法,读取报文发送端的智能设备身份标识,并获取与报文发送端的智能设备身份标识对应的scd文件,解析scd文件,生成票据,根据票据对goose报文进行安全处理,推送安全处理后的goose报文至报文接收端,由于scd文件中智能设备的身份标识、公私钥、预设密钥表以及映射函数,可以针对每个智能终端设备的密钥进行管理,再根据scd文件生成票据对goose报文进行安全处理实现双重安全防护处理,可以显著提高变电站报文收发的安全性,有利于变电站的安全运行。

如图3所示,在其中一个实施例中,步骤s600之前,还包括:

s520:获取报文接收端的智能设备身份标识。

s540:根据报文接收端的智能设备身份标识以及公私钥,获取报文接收端智能设备的公钥。

s560:根据报文接收端智能设备的公钥对票据进行加密,得到票据密文;

步骤s600包括:根据票据密文对goose报文进行安全处理。

在本实施例中,针对票据再次进行加密,即在原有方案基础上实现三重加密,更进一步提高变电站报文收发的安全性。具体来说,这个加密过程包括以下处理:设待发送goose报文的接收端智能设备为idy,智能设备idy的公钥为对票据t使用国密算法sm2进行加密得到票据密文另外,由于票据t中包含的都是由idx自主生成的数据,不涉及goose报文要传输的具体内容,可以根据与历史交互数据,统计智能设备间的交互频率,对与之经常进行交互的智能设备提前进行票据处理和票据加密,并存入缓存中等待使用,这样可以减少发送goose报文前安全处理的时间。

如图4所示,在其中一个实施例中,步骤s600:

s620:读取票据中的第一可靠随机数和第二可靠随机数,并通过第一可靠随机数对报文中状态序号字段进行处理,得到伪状态序号、以及通过第二可靠随机数对报文中顺序号字段进行处理,得到伪顺序号。

s640:将得到的伪状态序号以及伪顺序号写入报文中对应位置。

s660:通过与第三可靠随机数对应的密钥值对报文中实际传输的关键信息进行消息摘要,得到关键信息摘要值。

s680:将票据密文作为扩展字段插入到goose报文末尾的扩展字段中。

s690:在goose报文的保留字段中添加扩展字段的crc校验值,crc校验内容为关键信息摘要值和票据密文的内容。

如之前描述,进行安全处理可以理解校验和加密的动作,校验主要是针对保留字段中的crc校验值,加密主要针对关键信息摘要值以及票据密文。

具体来说,在本实施例中,安全处理包括以下处理过程:

1、读取票据t=(pst,psq,t,r,klistinfo)中第一可靠随机数pst和第二可靠随机数psq使用pst和psq对goose报文中的状态序号stnum和顺序号sqnum字段进行处理,得到伪状态序号pstnum和伪顺序号psqnum,并写入goose报文中对应位置,具体如下:

其中,stnum和sqnum是goose报文的变化情况和发送次序,一般情况下goose报文中的物理地址校验码只针对关键数据帧进行摘要计算,不对报文头部的stnum与sqnum进行摘要或加密,易导致攻击者在拦截到报文后利用已过期或被丢弃的报文包,将sqnum进行篡改后再重新发送,且消息完整性校验码物理地址并没有造成任何更改使得无法察觉出篡改。

2、使用之前得到的密钥kx对goose报文实际传输的关键信息进行消息摘要得到摘要值b,具体的,使用的摘要算法为sha1-hmac算法。将b进行asn.1编码,作为扩展字段插入到asdu末尾的作为扩展字段的安全字段中。具体的,的关键信息为goose报文中的alldata字段,包含遥信信息。

3、将加密后的票据密文(t)作为扩展字段插入到goose报文末尾扩展的延伸字段中。

4、在保留字段中添加扩展字段的crc校验值,具体的,crc检验内容为关键信息摘要值b和票据密文(t)的内容。

在其中一个实施例中,推送安全处理后的goose报文至报文接收端之前,还包括:对安全处理后的goose报文进行报文检测。

对安全处理后的goose报文进行报文检测,以验证报文的安全性和完整性。具体来说报文检测可以理解为上述安全处理的逆过程,该报文检测也可以理解为服务器自检的操作。

为了更进一步详细解释本申请变电站报文安全防护方法的技术方案及其效果,下面将采用其中一个具体实例并结合图5展开描述。在实际应用中,实现本申请变电站报文安全防护方法的服务器具体可以包括密钥管理模块、报文安全处理模块和报文检测模块三大功能模块,其实现对应功能具体如下:

1、密钥管理模块

密钥管理模块负责对变电站的所有智能设备进行密钥对分配以及密钥协商,其具体实现对应功能的步骤如下:

s11、初始化,密钥管理模块对所有智能设备进行编号,每一个智能设备都拥有唯一的身份标识idi,并为智能设备idi分配一对公私钥

s12、密钥管理模块生成n个密钥k1,k2,k3…kn,组成密钥表klist={(1,k1),(2,k2),...,(n,kn)},并生成密钥表的信息klistinfo,其中包括密钥表生成的时间、密钥个数和版本号等信息。

s13、密钥管理模块选择一个哈希函数h(·)作为根据随机数选择密钥表的映射函数。

s14、通过scd配置工具将密钥表klist、公钥信息等进行处理得到含有密钥信息的scd文件,将scd文件导入各智能设备中。

进一步的,密钥管理模块定期生成新的密钥进行密钥表的更新,在智能设备导入新的密钥表时,对上一版本的密钥表进行暂存操作处理。

2、报文安全处理模块

报文安全处理模块对iec61850的goose和smv(sampledmeasuredvalue,采样测量值)报文进行处理与扩展,使得报文能够达到安全防篡改的目的。iec61850标准中goose协议、smv协议和mms(manufacturingmessagespecification,制造报文规范)协议为未来标准化的应用保留了两个大小为2字节的保留字段以及扩展字段,因此可以利用报文中自带的保留字段和扩展字段,按照一定规范在报文中添加自定义的字段,进行密钥同步信息的传输,在报文尾部增加报文摘要信息,对报文进行防篡改防护。具体来说,其包括以下处理步骤:

s21、goose报文发送端的智能设备idx通过scd配置文件将智能设备idx通公私钥对接收端的公钥、密钥表和映射函数h(·)等载入智能设备中。

s22、构造票据t=(pst,psq,t,r,klistinfo),其中pst是随机生成的大小为4b的可靠随机数,用于构造伪状态序号的随机种子,psq是随机生成的大小为4b的可靠随机数,用于构造伪顺序序号的随机种子,t是票据生成的时间,r是随机生成的大小为4b的可靠随机数,表示密钥共享信息,klistinfo表示此时智能设备所装置的密钥表的信息。使用映射函数h(·)对r进行映射:x=h(r),根据x得到密钥表中的密钥值kx,kx将作为goose报文关键消息的摘要算法的密钥。

s23、设待发送goose报文的接收端智能设备为idy,智能设备idy的公钥为对票据t使用国密算法sm2进行加密得到票据密文(t)。进一步的,由于票据t中包含的都是由idx自主生成的数据,不涉及goose报文要传输的具体内容,可以根据与历史交互数据,统计智能设备间的交互频率,对与之经常进行交互的智能设备提前进行票据处理和票据加密,并存入缓存中等待使用,这样可以减少发送goose报文前安全处理的时间。

s24、当要发送goose报文时,根据票据t对报文进行安全处理,具体步骤如下:

s241、在保留字段1中添加报文报头的crc校验值r1,crc采用crc16校验算法。

s242、使用pst和psq对goose报文中asdu(applicationservicedataunit,应用服务数据单元)中的状态序号stnum和顺序号sqnum字段进行处理,得到伪状态序号pstnum和伪顺序号psqnum,并写入goose报文中对应位置,具体的,

其中,stnum和sqnum是goose报文的变化情况和发送次序,一般情况下goose报文中的物理地址校验码只针对关键数据帧进行摘要计算,不对报文头部的stnum与sqnum进行摘要或加密,易导致攻击者在拦截到报文后利用已过期或被丢弃的报文包,将sqnum进行篡改后再重新发送,且消息完整性校验码mac并没有造成任何更改使得无法察觉出篡改。

s243、使用s22中的密钥kx对asdu中goose报文实际传输的关键信息进行消息摘要得到摘要值b,具体的,使用的摘要算法为sha1-hmac算法。将b进行asn.1编码,作为扩展字段插入,到asdu末尾的作为扩展字段的安全字段中。具体的,关键信息为goose报文中的所有数据字段,包含遥信信息。

s244、将加密后的票据密文(t)作为扩展字段插入到goose报文末尾扩展的延伸字段中。

s245、在保留字段2中添加扩展字段的crc校验值r2,具体的,crc检验内容为关键信息摘要值b和票据密文(t)的内容,crc采用crc16校验算法。

3、报文检测模块

通过报文解析、规则匹配、解密认证等方法对接收端收到的报文进行安全检测,其具体实现过程包括以下步骤:

s31、接收端智能设备idy接收到报文后,首先对源mac地址进行白名单匹配,只有在mac地址通过后才进行下一步的解析,否则丢弃。

s32、提取保留字段1中的crc校验值r1对报文的报头进行验证,提取保留字段2的crc校验值r2对扩展字段进行验证,验证通过后才进行下一步解析,否则丢弃。

s33、提取goose报文扩展字段中的票据t,使用接收端智能设备的私钥对票据t的密文(t)进行解密,得到票据t=(inf,pst,psq,t,r,klistinfo)。

s34、提取出票据t中的随机种子pst和psq,对goose报文中asdu字段的伪状态序号pstnum和伪顺序序号psqnum进行还原,得到原始的stnum和sqnum,具体的,

s35、提取票据t中的密钥同步密钥信息r,使用接收端智能设备通过scd装置的密钥表和映射函数h(·)计算出同步密钥信息对应密钥表上的密钥kx。使用密钥kx对asdu中的所有数据值进行使用sha1-hmac消息摘要计算,得到b′,验证b′是否与b一致,一致则证明goose报文中的关键信息没有被修改。

应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

如图6所示,本申请还提供一种变电站报文安全防护装置,装置包括:

读取模块200,用于读取报文发送端的智能设备身份标识,并获取与报文发送端的智能设备身份标识对应的scd文件;

票据生成模块400,用于解析scd文件,生成票据;

安全处理模块600,用于根据票据对goose报文进行安全处理;

推送模块800,用于推送安全处理后的goose报文至报文接收端;

其中,scd文件采用以下操作生成:

获取变电站中各智能设备的身份标识与公私钥;读取变电站对应的密钥表,密钥表中携带有各智能设备分配的密钥;选择任意哈希函数作为根据可靠随机数选择密钥表的映射函数;将智能设备的身份标识、公私钥、预设密钥表以及映射函数整理为scd文件。

上述变电站报文安全防护装置,读取模块200读取报文发送端的智能设备身份标识,并获取与报文发送端的智能设备身份标识对应的scd文件,票据生成400解析scd文件,生成票据,安全处理模块600根据票据对goose报文进行安全处理,推送模块800推送安全处理后的goose报文至报文接收端,由于scd文件中智能设备的身份标识、公私钥、预设密钥表以及映射函数,可以针对每个智能终端设备的密钥进行管理,再根据scd文件生成票据对goose报文进行安全处理实现双重安全防护处理,可以显著提高变电站报文收发的安全性,有利于变电站的安全运行。

在其中一个实施例中,票据生成模块400还用于解析scd文件,得到报文接收端智能设备的身份标识、密钥表以及映射函数;随机生成第一可靠随机数、第二可靠随机数以及第三可靠随机数,第一可靠随机数用于构造伪状态序号的随机种子,第二可靠随机数用于构造伪顺序序号的随机种子,第三可靠随机数用于表征密钥共享信息,支持调用映射函数进行映射,得到密钥表中与自身身份信息对应的密钥值;记录当前时间,将第一可靠随机数、第二可靠随机数、当前时间、第三可靠随机数以及密钥表归集为数据集合,生成票据。

在其中一个实施例中,安全处理模块600还用于获取报文接收端的智能设备身份标识;根据报文接收端的智能设备身份标识以及公私钥,获取报文接收端智能设备的公钥;根据报文接收端智能设备的公钥对票据进行加密,得到票据密文;根据票据密文对goose报文进行安全处理。

在其中一个实施例中,安全处理模块600还用于读取票据中的第一可靠随机数和第二可靠随机数,并通过第一可靠随机数对报文中状态序号字段进行处理,得到伪状态序号、以及通过第二可靠随机数对报文中顺序号字段进行处理,得到伪顺序号;将得到的伪状态序号以及伪顺序号写入报文中对应位置;通过与第三可靠随机数对应的密钥值对报文中实际传输的关键信息进行消息摘要,得到关键信息摘要值;将票据密文作为扩展字段插入到goose报文末尾的扩展字段中;在goose报文的保留字段中添加扩展字段的crc校验值,crc校验内容为关键信息摘要值和票据密文的内容。

在其中一个实施例中,消息摘要对应的算法为sha1-hmac算法。

在其中一个实施例中,安全处理模块600还用于对关键信息摘要值进行asn.1编码,并将编码后的字段作为扩展字段插入goose报文末尾的扩展字段中。

在其中一个实施例中,上述变电站报文安全防护装置还包括报文检测,用于对安全处理后的goose报文进行报文检测。

关于变电站报文安全防护装置的具体限定可以参见上文中对于变电站报文安全防护方法的限定,在此不再赘述。上述变电站报文安全防护装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储变电站中智能设备身份标识以及预设密钥表等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种变电站报文安全防护方法。

本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

读取报文发送端的智能设备身份标识,并获取与报文发送端的智能设备身份标识对应的scd文件;

解析scd文件,生成票据;

根据票据对goose报文进行安全处理;

推送安全处理后的goose报文至报文接收端;

其中,scd文件采用以下步骤处理生成:

获取变电站中各智能设备的身份标识与公私钥;读取变电站对应的密钥表,密钥表中携带有各智能设备分配的密钥;选择任意哈希函数作为根据可靠随机数选择密钥表的映射函数;将智能设备的身份标识、公私钥、预设密钥表以及映射函数整理为scd文件。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

解析scd文件,得到报文接收端智能设备的身份标识、密钥表以及映射函数;随机生成第一可靠随机数、第二可靠随机数以及第三可靠随机数,第一可靠随机数用于构造伪状态序号的随机种子,第二可靠随机数用于构造伪顺序序号的随机种子,第三可靠随机数用于表征密钥共享信息,支持调用映射函数进行映射,得到密钥表中与自身身份信息对应的密钥值;记录当前时间,将第一可靠随机数、第二可靠随机数、当前时间、第三可靠随机数以及密钥表归集为数据集合,生成票据。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取报文接收端的智能设备身份标识;根据报文接收端的智能设备身份标识以及公私钥,获取报文接收端智能设备的公钥;根据报文接收端智能设备的公钥对票据进行加密,得到票据密文;根据票据密文对goose报文进行安全处理。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

读取票据中的第一可靠随机数和第二可靠随机数,并通过第一可靠随机数对报文中状态序号字段进行处理,得到伪状态序号、以及通过第二可靠随机数对报文中顺序号字段进行处理,得到伪顺序号;将得到的伪状态序号以及伪顺序号写入报文中对应位置;通过与第三可靠随机数对应的密钥值对报文中实际传输的关键信息进行消息摘要,得到关键信息摘要值;将票据密文作为扩展字段插入到goose报文末尾的扩展字段中;在goose报文的保留字段中添加扩展字段的crc校验值,crc校验内容为关键信息摘要值和票据密文的内容。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

对关键信息摘要值进行asn.1编码,并将编码后的字段作为扩展字段插入goose报文末尾的扩展字段中。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

对安全处理后的goose报文进行报文检测。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

解析scd文件,生成票据;

根据票据对goose报文进行安全处理;

推送安全处理后的goose报文至报文接收端;

其中,scd文件采用以下步骤处理生成:

获取变电站中各智能设备的身份标识与公私钥;读取变电站对应的密钥表,密钥表中携带有各智能设备分配的密钥;选择任意哈希函数作为根据可靠随机数选择密钥表的映射函数;将智能设备的身份标识、公私钥、预设密钥表以及映射函数整理为scd文件。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

解析scd文件,得到报文接收端智能设备的身份标识、密钥表以及映射函数;随机生成第一可靠随机数、第二可靠随机数以及第三可靠随机数,第一可靠随机数用于构造伪状态序号的随机种子,第二可靠随机数用于构造伪顺序序号的随机种子,第三可靠随机数用于表征密钥共享信息,支持调用映射函数进行映射,得到密钥表中与自身身份信息对应的密钥值;记录当前时间,将第一可靠随机数、第二可靠随机数、当前时间、第三可靠随机数以及密钥表归集为数据集合,生成票据。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获取报文接收端的智能设备身份标识;根据报文接收端的智能设备身份标识以及公私钥,获取报文接收端智能设备的公钥;根据报文接收端智能设备的公钥对票据进行加密,得到票据密文;根据票据密文对goose报文进行安全处理。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

读取票据中的第一可靠随机数和第二可靠随机数,并通过第一可靠随机数对报文中状态序号字段进行处理,得到伪状态序号、以及通过第二可靠随机数对报文中顺序号字段进行处理,得到伪顺序号;将得到的伪状态序号以及伪顺序号写入报文中对应位置;通过与第三可靠随机数对应的密钥值对报文中实际传输的关键信息进行消息摘要,得到关键信息摘要值;将票据密文作为扩展字段插入到goose报文末尾的扩展字段中;在goose报文的保留字段中添加扩展字段的crc校验值,crc校验内容为关键信息摘要值和票据密文的内容。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

对关键信息摘要值进行asn.1编码,并将编码后的字段作为扩展字段插入goose报文末尾的扩展字段中。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

对安全处理后的goose报文进行报文检测。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1