掌桥专利:专业的专利平台
掌桥专利
首页

基于验证分离的PLC防护系统、方法及介质

文献发布时间:2023-06-19 09:46:20


基于验证分离的PLC防护系统、方法及介质

技术领域

本发明涉及工业控制技术领域,尤其是基于验证分离的PLC防护系统、方法及介质。

背景技术

典型的工业控制系统架构是由工程师站、人机界面HMI、历史数据服务器、PLC和现场工业设备和企业信息网络组成,其中HMI是允许操作人员监视和控制过程的系统;历史数据服务器是一个记录过程控制系统状态历史的数据库服务器;PLC是一种现场设备,可以直接连接到传感器和执行器或其他现场设备,可以通过工业通信协议从HMI中接受控制命令;工程师站是供工程师使用的,对计算机系统进行组态、编程、修改等的工作站。

因为HMI和工程师站对PLC有控制作用,而现在工业控制系统中,企业信息网和现场控制网络仅仅依靠网络防护强进行隔离,导致从企业信息网渗透到现代控制网络中,对现场的PLC设备进行攻击。并且APT攻击也是一种持续性的高威胁攻击,黑客组织通过一系列手段渗透进现场控制网络中,然后进一步控制HMI和工程师站来控制现场设备,例如震网病毒通过买通现场人员,携带带有病毒的U盘在内网中进行渗透,然后利用HMI中的监控软件wincc的漏洞,实现对wincc的控制,对PLC拦截和发送恶意命令。

由上可以知道,一旦黑客控制了HMI和工程师站,那么对现场的PLC就有了绝对的支配权,可能会造成重大的生产事故和经济损失,并且由于工业控制系统中的使用的控制协议没有加密和身份验证等功能,更加剧了这种危险。因此,相关技术希望能够对工业控制协议流量进行分析和代码安全分析。

但是,现有的对工业控制协议流量进行分析和代码安全分析的缺点主要在以下三个方面:

(1)无法解决HMI和工程师站不可信问题

现有的安全流量分析方法,都是针对工业控制网络中的流量进行分析,判断流量是否存在安全问题,但是一旦HMI和工程师站被攻击者所控制,那么其发送的命令,例如停止命令和重启命令很难判断出其是否输入正常命令。

对于工程师向PLC中传输代码,现有的方法一是利用符号执行等方法分析代码中可能存在的安全隐患问题,但是这种存在效率底下,对工程师传输的正常代码可能存在误判的可能,另一种是利用安全设备,拦截PLC代码,并将需要传输的PLC代码进行还原,让工程师自己判断是否正常,然后利用设备物理按钮进行允许下载,但是这种方法一方面需要将PLC二进制代码转为ST等语言,效率低下;另一方面工程师需要对PLC代码进行重新审核,存在人为出错问题。

(2)无法解决工程师可信和命令溯源问题

现在针对工业控制系统采用的APT攻击居高不下,这种APT攻击可以通过收买相关人员对现场设备进行破坏,一旦这种被收买的工程师或者相关人员对现场设备发送恶意命令,由于现场设备对这些指令等没有进行记录,存在溯源和取证难的问题。

(3)无法解决通过其他方式连接到PLC中

由于现有的工业控制协议没有身份认证的功能,一旦攻击者渗透进行了工业控制网络中,那么其可以尝试对PLC进行直接控制,现有的基于协议流量分析,黑白名单策略存在被绕过风险,不能完全避免PLC被控制问题。

导致上述缺点的主要原因包括以下几个方面:(1)HMI和工程师站运行环境不可信,因为HMI和工程师站本身是运行在windows或者linux操作系统上,windows和linux本身存在各种漏洞,其上运行的监控和组态软件本身也会存在安全漏洞,导致HMI和工程师站本身就是运行在不信的环境中,存在被黑客控制的风险。(2)对于工程师站和HMI站,缺乏身份管理功能,对于命令类型和命令时间没有记录,导致很难对命令进行溯源。(3)现有的工业控制系统协议中缺乏身份认证,数据加密等方法,导致通信流量容易被窃听和伪造,没有办法对命令来源和合法性进行验证。(4)PLC缺乏认证等安全功能,PLC和HMI和工程师站采用的轮询方式通讯,并且其本身处理程序采用是单线程方式、处理能力较弱、固件封闭、工业协议缺乏安全控制等原因导致其本身不能运行各种保护软件,其本身缺乏安全认证的手段。

发明内容

有鉴于此,本发明实施例提供基于验证分离的PLC防护系统、方法及介质,以保证保证命令的安全性和合法性,并且便于对命令进行溯源。

本发明的第一方面提供了一种基于验证分离的PLC防护系统,包括监视器、监控站和高速无线网络:

其中,所述监视器,用于获取待传输到PLC中的命令和代码,将获取到的所述命令和所述代码通过所述高速无线网络传输至监控站;

所述监控站,用于向所述监视器中添加合法用户或者删除合法用户,并对所述监视器发送的命令和代码进行合法性分析,将合法性分析的结果通过所述高速无线网络发送至所述监视器;

所述高速无线网络,用于实现所述监视器与所述监控站之间的数据通信。

本发明的第二方面提供了一种基于验证分离的PLC防护方法,包括:

通过监视器获取待传输到PLC的命令和代码;

通过监控站对所述命令和所述代码进行合法性分析;

根据所述合法性分析的结果,将合法的命令和代码发送至PLC。

在一些实施例中,所述方法还包括:基于独立通道添加用户身份,该步骤包括:

通过监控站获取需要添加的用户身份信息,所述用户身份信息包括用户标识和密钥信息;

根据所述监控站和所述监视器中的私有密钥,将用户添加命令、管理员信息和时间戳加密得到消息,通过所述高速无线网络将所述消息发送给所述监视器;

所述监视器通过私有密钥解密所述消息,获取所述用户添加命令,并通过对比所述时间戳,确定所述用户添加命令对应的用户为新用户,并将所述用户标识、所述密钥信息、所述时间戳和所述管理员信息存储到监视器的用户信息表中;

所述监视器通过私有密钥加密存储员工信息的索引和新生成的时间戳,并将所述索引和所述新生成的时间戳通过所述高速无线网络发送给所述监控站;

所述监控站利用私有密钥解密信息,得到所述索引和新生成的时间戳,并通过对比所述新生成的时间戳,确定所述用户添加命令对应的用户为新用户,并将所述索引、所述用户标识和所述密钥信息存储到监控站的用户信息表中。

在一些实施例中,所述方法还包括:向监视器中删除合法用户,该步骤包括:

通过所述监控站获取用户身份信息,所述用户身份信息包括用户标识和密钥信息;

通过所述监控站获取用户信息表中对应于监视器的索引,并删除所述用户信息表中对应的用户信息;

所述监控站通过私有密钥对删除命令、索引以及时间戳加密成消息,并通过所述高速无线网络将该消息发送给监视器;

所述监视器对所述消息进行解密后,获取所述删除命令、索引以及时间戳,通过所述索引获取监视器中用户信息表中的用户标识,根据所述用户标识删除对应的用户身份信息;

向所述监控站反馈删除成功的信息。

在一些实施例中,所述方法还包括:验证命令的合法性,该步骤包括:

通过所述监视器获取HMI发送的命令,该命令包括写入命令、停机命令或重启命令;

通过私有密钥将所述命令的哈希值、监视器的MAC地址以及时间戳加密进行加密,将加密结果和命令内容发送至所述监控站;

所述监控站获取加密结果后,用私有密钥进行解密,用解密得到的时间戳进行防重放验证,得到HMI发送的命令;用解密得到的哈希值进行防篡改验证;

在审核通过后,由监控站通过NFC获取用户身份信息,以查询员工信息表;

所述监视器在获取到索引之后,从所述用户信息表中获取用户标识和私有密钥,通过私有密钥解密得到用户用户标识、命令和时间戳,并将所述用户标识、命令和时间戳存储到命令信息表中;

若所述命令为接受命令,则将所述接受命令发送给PLC;所述PLC反馈接收到命令的消息给所述监控站。

在一些实施例中,所述方法还包括:基于物理隔离和二重验证进行代码验证,该步骤包括:

所述监控站通过物理隔离装置获取工程师站中的PLC代码源程序;

所述监控站打开该PLC代码源程序,获取该PLC代码源程序的第一哈希值;

对所述PLC代码源程序进行编译,并将编译结果发送到监视器;

所述监视器将本地的第二哈希值、监视器的MAC地址以及时间戳加密后发送至监控站,并启动时间监控;

所述监控站解密得到第二哈希值,并将所述第二哈希值与所述第一哈希值进行对比,生成警告信息;

所述监控站通过NFC获取用户标识,并根据用户标识查询用户信息表,获取索引并对用户标识、命令以及时间戳进行加密,将加密结果发送给监视器;

所述监视器获取到索引之后,从用户信息表中找到相关用户标识以及私有密钥,通过该私有密钥将所述加密结果解密得到用户标识、时间戳和命令;通过比对所述用户标识和所述时间戳,将合法的用户标识、时间戳和命令存储到命令信息表中;

若所述命令为接受命令,则将所述接受命令发送给PLC;所述PLC反馈接收到命令的消息给所述监控站。

在一些实施例中,所述方法还包括:基于独立通道下发紧急命令,该步骤包括:

所述监控站通过NFC获取用户标识;

通过私有密钥对所述紧急命令、用户标识以及当前的时间戳进行加密,将加密得到的消息发送给监视器;

所述监视器解密所述消息得到时间戳、用户标识以及紧急命令;

通过比对时间戳进行合法性验证,将通过合法性验证的紧急命令发送至PLC,并将所述用户标识、时间戳以及紧急命令存储到命令信息表;

所述PLC反馈接收到命令的消息给所述监控站。

在一些实施例中,所述方法还包括:基于独立通道进行密钥更换,该步骤包括:

通过NFC获取用户身份信息,所述用户身份信息包括用户标识和密钥信息;所述监控站获取用户标识后查询用户信息表,得到索引;

所述监控站通过所述密钥信息加密索引、用户标识、命令和时间戳,得到消息,并将所述消息发送给监视器;

所述监视器获取到索引后,查找用户信息表,获取到私有密钥和用户标识;对所述消息解密得到命令、时间戳,对所述时间戳和所述用户标识进行核对,并将核对通过后存储所述密钥信息;

所述监视器将所述命令对应的身份信息存储到命令信息表中;

所述监视器向所述监控站反馈接收消息,所述监控站根据所述监视器反馈的接收消息,存储所述密钥信息;

所述监控站向所述监视器发送确认消息,所述监视器使用所述密钥信息进行通信;并由所述监控站和所述监视器将旧密钥信息删除。

在一些实施例中,所述方法还包括:监视器之间的通信步骤,该步骤包括:

通过所述监视器拦截PLC发出的命令请求;

将所述命令请求、时间戳、所述监视器的物理地址以及所述监视器的标识加密形成消息;

将所述消息通过工控网络发送至另一个监视器;

所述另一个监视器对所述消息进行解密,并对解密得到的命令请求、时间戳、所述监视器的物理地址以及所述监视器的标识进行验证;

在验证通过后,将所述命令请求对应的信息发送给所述PLC。

本发明的第三方面提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如本发明第二方面所述的方法。

本发明的实施例通过验证分离的方法,监视器负责拦截HMI和工程师站的命令,并通过专用的高速无线通道发送给监控站,由监控站实现验证功能,一方面实现了对现有的工业控制系统的兼容,另一方面由于监控站禁止除经过验证的外接设备和远程连接的可信环境,保证了验证的可信性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的基于验证分离的PLC防护系统的架构示意图;

图2为本发明实施例提供的基于独立通道添加用户身份的步骤流程图;

图3为本发明实施例提供的向监视器中删除合法用户的步骤流程图;

图4为本发明实施例提供的验证命令的合法性的步骤流程图;

图5为本发明实施例提供的基于物理隔离和二重验证进行代码验证的步骤流程图;

图6为本发明实施例提供的基于独立通道下发紧急命令的步骤流程图;

图7为本发明实施例提供的基于独立通道进行密钥更换的步骤流程图;

图8为本发明实施例提供的监视器之间的通信步骤流程图。

具体实施方式

下面结合说明书附图和具体实施例对本发明作进一步解释和说明。对于本发明实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。

针对现有技术存在的问题,本发明实施例提供了一种基于验证分离的PLC防护系统,如图1所示,包括监视器、监控站和高速无线网络:

其中,所述监视器,用于获取待传输到PLC中的命令和代码,将获取到的所述命令和所述代码通过所述高速无线网络传输至监控站;

所述监控站,用于向所述监视器中添加合法用户或者删除合法用户,并对所述监视器发送的命令和代码进行合法性分析,将合法性分析的结果通过所述高速无线网络发送至所述监视器;

所述高速无线网络,用于实现所述监视器与所述监控站之间的数据通信。

在图1展示的系统架构中,包括以下组成部分:

(1)监视器

监视器跟PLC物理直连的方式连接,并于监视器利用独立的高速无线网络进行连接,监视器拦截传输到PLC中的命令和代码,将命令通过高速无线网络传输给监控站,由相关人员对命令进行合法性进行判断。如果是代码,则将代码的hash通过无线网络传输到监控站,与监控站中代码hash进行对比。验证超时则直接丢弃。并记录命令和代码传输的人员身份和时间。

(2)监控站

监控站用于向监视器中添加/删除合法用户,验证命令和代码的合法性并发送合法性命令,监控站与监视器利用高速无线网络连接,与工程师站采用物理隔离的方法连接,监控站由计算机和NFC读卡器,员工卡组成。NFC读卡器用于读取员工信息

(3)高速无线网络

高速无线网络采用低时延的网络,例如5G网络,用户监控站和监视器的通信,高速无线网络不接入到现有的工业网络中,保证工业网络和高速无线网络的物理隔离。

本发明实施例还提供了一种基于验证分离的PLC防护方法,包括:

通过监视器获取待传输到PLC的命令和代码;

通过监控站对所述命令和所述代码进行合法性分析;

根据所述合法性分析的结果,将合法的命令和代码发送至PLC。

在一些实施例中,所述方法还包括:基于独立通道添加用户身份,该步骤包括:

通过监控站获取需要添加的用户身份信息,所述用户身份信息包括用户标识和密钥信息;

根据所述监控站和所述监视器中的私有密钥,将用户添加命令、管理员信息和时间戳加密得到消息,通过所述高速无线网络将所述消息发送给所述监视器;

所述监视器通过私有密钥解密所述消息,获取所述用户添加命令,并通过对比所述时间戳,确定所述用户添加命令对应的用户为新用户,并将所述用户标识、所述密钥信息、所述时间戳和所述管理员信息存储到监视器的用户信息表中;

所述监视器通过私有密钥加密存储员工信息的索引和新生成的时间戳,并将所述索引和所述新生成的时间戳通过所述高速无线网络发送给所述监控站;

所述监控站利用私有密钥解密信息,得到所述索引和新生成的时间戳,并通过对比所述新生成的时间戳,确定所述用户添加命令对应的用户为新用户,并将所述索引、所述用户标识和所述密钥信息存储到监控站的用户信息表中。

具体的,如图2所示,基于独立通道添加用户身份的步骤包括:

第1步:监控站利用NFC读取需要添加的用户身份信息,包括ID和专属密钥PK

第2步:监控站利用监控站和监视器中的私有密钥PK

第3步:监视器用私有密钥PKr解密消息,取出命令C

第4步:监视器用PK

第5步:监控站利用PK

在一些实施例中,所述方法还包括:向监视器中删除合法用户,该步骤包括:

通过所述监控站获取用户身份信息,所述用户身份信息包括用户标识和密钥信息;

通过所述监控站获取用户信息表中对应于监视器的索引,并删除所述用户信息表中对应的用户信息;

所述监控站通过私有密钥对删除命令、索引以及时间戳加密成消息,并通过所述高速无线网络将该消息发送给监视器;

所述监视器对所述消息进行解密后,获取所述删除命令、索引以及时间戳,通过所述索引获取监视器中用户信息表中的用户标识,根据所述用户标识删除对应的用户身份信息;

向所述监控站反馈删除成功的信息。

如图3所示,向监视器中删除合法用户的步骤包括:

第1步:监控站利用NFC读取需要删除的用户身份信息,包括ID和专属密钥PK

第2步:监控站获取员工信息表中的监视器中的索引index,并删除该员工信息;

第3步:监控站利用PK

第4步:监视器解密后,获取命令Dc,获取index和ID,并利用index获取监视器中员工信息表中的ID,对比ID信息,一致就删除该信息;

第5步:将删除成功的信息发送给监控站。

在一些实施例中,所述方法还包括:验证命令的合法性,该步骤包括:

通过所述监视器获取HMI发送的命令,该命令包括写入命令、停机命令或重启命令;

通过私有密钥将所述命令的哈希值、监视器的MAC地址以及时间戳加密进行加密,将加密结果和命令内容发送至所述监控站;

所述监控站获取加密结果后,用私有密钥进行解密,用解密得到的时间戳进行防重放验证,得到HMI发送的命令;用解密得到的哈希值进行防篡改验证;

在审核通过后,由监控站通过NFC获取用户身份信息,以查询员工信息表;

所述监视器在获取到索引之后,从所述用户信息表中获取用户标识和私有密钥,通过私有密钥解密得到用户用户标识、命令和时间戳,并将所述用户标识、命令和时间戳存储到命令信息表中;

若所述命令为接受命令,则将所述接受命令发送给PLC;所述PLC反馈接收到命令的消息给所述监控站。

如图4所示,验证命令的合法性的步骤包括:

第1步:HMI发送命令;

第2步:监视器获取命令,如果命令是写入、停机、重启等时,将该条命令的hash,本机的MAC地址,时间戳使用密钥PK

第3步:监控站获取消息,利用PK

第4步:相关人员审核后,利用NFC读取用户身份信息,包括ID和专属密钥PK

第5步:监视器获取到索引index,然后从员工信息表中找到相关的人员信息ID,PK

第6步:如果是接受命令,则将Command发送给PLC,否则丢弃该Command;

第7步:返回接受/拒绝的成功信息给监控站。

在一些实施例中,所述方法还包括:基于物理隔离和二重验证进行代码验证,该步骤包括:

所述监控站通过物理隔离装置获取工程师站中的PLC代码源程序;

所述监控站打开该PLC代码源程序,获取该PLC代码源程序的第一哈希值;

对所述PLC代码源程序进行编译,并将编译结果发送到监视器;

所述监视器将本地的第二哈希值、监视器的MAC地址以及时间戳加密后发送至监控站,并启动时间监控;

所述监控站解密得到第二哈希值,并将所述第二哈希值与所述第一哈希值进行对比,生成警告信息;

所述监控站通过NFC获取用户标识,并根据用户标识查询用户信息表,获取索引并对用户标识、命令以及时间戳进行加密,将加密结果发送给监视器;

所述监视器获取到索引之后,从用户信息表中找到相关用户标识以及私有密钥,通过该私有密钥将所述加密结果解密得到用户标识、时间戳和命令;通过比对所述用户标识和所述时间戳,将合法的用户标识、时间戳和命令存储到命令信息表中;

若所述命令为接受命令,则将所述接受命令发送给PLC;所述PLC反馈接收到命令的消息给所述监控站。

如图5所示,基于物理隔离和二重验证进行代码验证的步骤包括:

第1步:监控站通过物理隔离装置获取工程师站中的PLC代码源程序;

第2步:监控站打开该源程序,由工程师进行审核并进行编译后,监控站存储PLC代码的hash值;

第3步:工程师审核后,由工程师站编译下发到监视器中;

第4步:监视器获取到代码后,对代码的二进制程序进行hash取值;

第5步:监视器将hash值、MAC地址、时间戳Ts用PK

第6步:监控站解密,并获取代码的hash,与存储的hash进行对比,弹出警告信息,工程师进行对比下发命令,则监控站通过NFC获取ID后,查询员工信息表,获取index,并利用PK

第7步:监视器获取到索引index,然后从员工信息表中找到相关的人员信息ID,PK

第8步:如果是接受命令,则将代码发送给PLC,否则丢弃该代码;

第9步:返回接受/拒绝的成功信息给监控站。

在一些实施例中,所述方法还包括:基于独立通道下发紧急命令,该步骤包括:

所述监控站通过NFC获取用户标识;

通过私有密钥对所述紧急命令、用户标识以及当前的时间戳进行加密,将加密得到的消息发送给监视器;

所述监视器解密所述消息得到时间戳、用户标识以及紧急命令;

通过比对时间戳进行合法性验证,将通过合法性验证的紧急命令发送至PLC,并将所述用户标识、时间戳以及紧急命令存储到命令信息表;

所述PLC反馈接收到命令的消息给所述监控站。

如图6所示,基于独立通道下发紧急命令具体包括以下步骤:

第1步:监控站通过NFC获取员工卡中的ID信息;

第2步:用PK

第3步:监视器解密获取时间戳Ts和紧急命令Command,ID;

第4步:对比Ts后,无问题则发送Command给PLC;

第5步:记录ID信息、Ts和紧急命令到命令信息表中;

第6步:发送成功/失败消息给监控站。

在一些实施例中,所述方法还包括:基于独立通道进行密钥更换,该步骤包括:

通过NFC获取用户身份信息,所述用户身份信息包括用户标识和密钥信息;所述监控站获取用户标识后查询用户信息表,得到索引;

所述监控站通过所述密钥信息加密索引、用户标识、命令和时间戳,得到消息,并将所述消息发送给监视器;

所述监视器获取到索引后,查找用户信息表,获取到私有密钥和用户标识;对所述消息解密得到命令、时间戳,对所述时间戳和所述用户标识进行核对,并将核对通过后存储所述密钥信息;

所述监视器将所述命令对应的身份信息存储到命令信息表中;

所述监视器向所述监控站反馈接收消息,所述监控站根据所述监视器反馈的接收消息,存储所述密钥信息;

所述监控站向所述监视器发送确认消息,所述监视器使用所述密钥信息进行通信;并由所述监控站和所述监视器将旧密钥信息删除。

如图7所示,基于独立通道进行密钥更换的步骤包括:

第1步:利用NFC读取用户身份信息,包括ID和专属密钥PK

第2步:监控站利用PK

第3步:监视器获取index后,查找员工信息表,获取PK

第4步:监视器记录命令身份信息到命令信息表中;

第5步:监视器用PK

第6步:监控站解密获取接收成功的消息后,存储新密钥;

第7步:监控站用PK

在一些实施例中,所述方法还包括:监视器之间的通信步骤,该步骤包括:

通过所述监视器拦截PLC发出的命令请求;

将所述命令请求、时间戳、所述监视器的物理地址以及所述监视器的标识加密形成消息;

将所述消息通过工控网络发送至另一个监视器;

所述另一个监视器对所述消息进行解密,并对解密得到的命令请求、时间戳、所述监视器的物理地址以及所述监视器的标识进行验证;

在验证通过后,将所述命令请求对应的信息发送给所述PLC。

如图8所示,监视器之间的通信步骤具体包括:

第1步:PLC设备发出命令Command请求;

第2步:监视器拦截PLC的命令,并用PK

第3步:处理好的消息通过工控网络发送个另一个监视器;

第4步:另一个监视器取出消息,判断为Ic标识,然后利用PK

第5步:验证通过,将Command发送个PLC。

综上所述,现有的基于协议验证和代码安全分析的方法,不能解决HMI和工程师站可信的问题,攻击者可以通过控制HMI和工程师来实现对现场PLC的控制。通过本发明,可以产生如下效果:

(1)通过验证分离的方法,监视器负责拦截HMI和工程师站的命令,并通过专用的高速无线通道发送给监控站,由监控站实现验证功能,一方面实现了对现有的工业控制系统的兼容,另一方面由于监控站禁止除经过验证的外接设备和远程连接的可信环境,保证了验证的可信性。

(2)通过对关键命令的验证和记录,能够实现对关键命令的溯源操作,并且对关键命令的验证是通过验证过后的密钥进行加密,能够实现关键命令的访问控制。

(3)通过实现紧急命令模式,能够保证现场突发情况下的紧急操作,并且紧急模式情况下采用的是监视器和监控站的专有私钥,在保证每个现场人员能够紧急操作的情况下,并记录对应的身份信息,能够实现命令的溯源。

(4)通过监控站和工程师站的物理隔离,能够在保证监控站安全性的情况下获取代码的源码,并且验证的是代码二进制的hash值,避免和监视和监视器中数据传输的时间的消耗,在保证安全性的情况下,提高了工作效率

(5)通过实现监视器和监视器的密钥更换模式,能够实现监视器和监视器专有私钥的动态更换,避免长时间使用同一种密钥出现的安全问题。

(6)PLC与PLC通信,采用专用密钥加密的方法,一方面保护通信的数据访问的身份验证,另一方面避免不必要的时间开销,减小时间延迟。

另外,相较于现有技术,本发明具有以下区别技术特征:

(1)提出一种基于验证分离的PLC安全防护系统,将验证通道与已由的工业控制网络进行分离,采用专用的网络进行验证,在兼容现有的工业控制网络的情况下实现对PLC的关键命令和代码的防护

(2)设置紧急模式和普通模式,并且采用不同密钥,能够实现普通模式下命令验证身份的合法性和紧急模式下的各人员紧急处理能力。

(3)通过记录下达命令的身份和时间的记录,能够实现命令的溯源,在一定程度上能保证员工的可信性。

(4)工程师和监控站采用物理隔离的同时,能保证运行环境的可信的同时能够实现代码的审核和验证。

(5)通过监控站和监视器密钥的动态更换,保证私有密钥和通信的安全性。

不同之处:

(6)PLC与PLC通信,采用专用密钥加密的方法,在保证访问安全的同事提高效率。

现有的对PLC的防护基本是基于协议流量分析、代码安全性分析和黑白名单的身份管理模式,一方面不能保对HMI和工程师站的可信性进行判断,另一方面代码安全性分析利用符号执行等特点其效率慢,存在误拦截的情况,并且协议流量分析无法确保工程师站的命令的合法,而黑白名单模式不能鉴别HMI和工程师站的安全性,本发明将验证通道进行分离,利用专用高速无线网络,利用监视器拦截传输到PLC中的关键命令,利用监控站对关键命令的合法性进行验证,并且记录下发命令的人员身份和时间,能够命令的来源进行溯源。设计普通模式和紧急模式,能够对下发命令人员身份合法验证的同时,能够保证紧急模式下各人员紧急的操作,并且监视器和监控站之间通信的密钥能够进行动态更换,保证密钥的安全性。

本发明的第三方面提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现本发明提供的基于验证分离的PLC防护方法。

在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。

此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

相关技术
  • 基于验证分离的PLC防护系统、方法及介质
  • 基于验证分离的PLC防护系统、方法及介质
技术分类

06120112294226