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

一种保障PLC和上位机之间安全通信的方法及系统

文献发布时间:2023-06-19 19:21:53


一种保障PLC和上位机之间安全通信的方法及系统

技术领域

本发明涉及工业控制安全技术领域,具体为一种保障PLC和上位机之间安全通信的方法及系统。

背景技术

随着网络与信息技术的发展,工业生产对I C S(工业控制系统,IndustrialControl System)的要求也在不断提高,特别是网络攻击的发展,现在已经有很多攻击软件可以直接控制PLC,进行一些物理破坏性的操作。攻击软件可以通过中间人攻击来篡改PLC通信报文,也可以模拟上位机软件直接发送控制报文或者下载代码给PLC来进行生产破坏。

由于工业企业的特殊性,PLC硬件通常会持续使用数十年都不会更换,这些老旧的PLC不能更新最新的补丁,一旦工控内网被入侵,就直接面对被攻击的危险,但在这种情况下却缺少防护的手段,来保障保障PLC和上位机之间的安全通信。

发明内容

本发明主要是提供一种保障PLC和上位机之间安全通信的方法及系统

为了解决上述技术问题,本发明采用如下技术方案:

一种保障PLC和上位机之间安全通信的方法,包括:

在上位机上安装PLC网络驱动,所述上位机向PLC发送请求指令;

将所述PLC网络驱动与PLC安全装置之间建立安全通道,在所述安全通道内设置加密系统

所述PLC网络驱动与所述PLC安全装置进行定期握手报文传送,若传送时间超时则所述PLC网络驱动与所述PLC安全装置重建安全连接;

若PLC安全装置收到未加密的上位机请求,则予以丢弃。

进一步的,所述PLC网络驱动截获到所述上位机向PLC发送的指令请求,先发送安全连接指示给对端的所述PLC安全装置;

所述PLC安全装置向所述PLC网络驱动发送安全连接的请求,包含自己支持的加密版本;

所述PLC网络驱动把SSL证书发送给所述PLC安全装置。

进一步的,所述PLC安全装置校验证书的合法性,产生一个动态随机数作为对称加密的密钥,用证书包含的公钥加密该密钥并发送到PLC网络驱动;

PLC网络驱动接收后用证书的私钥解密该对称密钥。

进一步的,加密公钥、双方都支持的加密算法的最高版本。

进一步的,PLC安全装置是单机设备,一对一部署设置在PLC和以太网之间;若是串口PLC,则部署在串口网口转接器和以太网之间。

一种保障PLC和上位机之间安全通信的系统,包括,

上位机操作模块:用于将上位机上安装PLC网络驱动,所述上位机向PLC发送请求指令;

安全通道模块,用于将所述PLC网络驱动与PLC安全装置之间建立安全通道,在所述安全通道内设置加密系统;

报文传送模块,用于将所述PLC网络驱动与所述PLC安全装置进行定期握手报文传送,若传送时间超时则所述PLC网络驱动与所述PLC安全装置重建安全连接;

上位机请求判断模块,用于判断当PLC安全装置收到未加密的上位机请求,则予以丢弃。

进一步的,PLC网络驱动与PLC安全装置连接子模块,用于将所述PLC网络驱动截获到所述上位机向PLC发送的指令请求,先发送安全连接指示给对端的所述PLC安全装置;所述PLC安全装置向所述PLC网络驱动发送安全连接的请求,包含自己支持的加密版本;所述PLC网络驱动把SSL证书发送给所述PLC安全装置。

进一步的,PLC安全装置校验单元,所述PLC安全装置校验证书的合法性,产生一个动态随机数作为对称加密的密钥,用证书包含的公钥加密该密钥并发送到PLC网络驱动;

解密单元:PLC网络驱动接收后用证书的私钥解密该对称密钥。

进一步的,加密公钥、双方都支持的加密算法的最高版本。

进一步的,PLC安全装置是单机设备,一对一部署设置在PLC和以太网之间;若是串口PLC,则部署在串口网口转接器和以太网之间。

有益效果

1、本发明中通过将所述PLC网络驱动与PLC安全装置之间建立安全通道,所述安全通道是全程加密的,恶意程序无法解密,保障了PLC和上位机之间的安全通信;

2、可以防止中间人攻击;由于双方在建立安全通道之前会协商加密算法办法,所以该方法也支持通过软件升级的方式更换新的加密算法,以防止当前加密算法被破解,

附图说明

图1为保障PLC和上位机之间安全通信的方法示意图;

图2为保障PLC和上位机之间安全通信的系统流程示意图;

图3为保障PLC和上位机之间安全通信的系统连接示意图。

上述附图中:8、上位机软件;9、PLC网络驱动;10、PLC;11、PLC安全装置。

具体实施方式

以下将对本发明涉及的一种保障PLC和上位机之间安全通信的方法及系统的技术方案进一步详细说明。

如图1所示,一种保障PLC和上位机之间安全通信的方法,包括:

S100:在上位机上安装PLC网络驱动,所述上位机向PLC发送请求指令在所述PLC之前设有PLC安全装置;

具体的,所述PLC安全装置是单机设备,一对一部署,在PLC和以太网之间;若是是串口PLC,则部署在串口网口转接器和以太网之间。

S200:将所述PLC网络驱动与PLC安全装置之间建立安全通道,在所述安全通道内设置加密系统;并且将所述PLC安全装置桥接到所述PLC;

具体的,解密是靠新增加的桥接硬件PLC安全装置实现,通过将所述PLC网络驱动与PLC安全装置之间建立安全通道,所述安全通道是全程加密的,恶意程序无法解密,保障了PLC和上位机之间的安全通信。

具体的,所述PLC网络驱动截获到所述上位机向PLC发送的指令请求,先发送安全连接指示给对端的所述PLC安全装置;

所述PLC安全装置向所述PLC网络驱动发送安全连接的请求,包含自己支持的加密版本;

所述PLC网络驱动把SSL证书发送给所述PLC安全装置。

所述PLC安全装置校验证书的合法性,产生一个动态随机数作为对称加密的密钥,用证书包含的公钥加密该密钥并发送到PLC网络驱动;

PLC网络驱动接收后用证书的私钥解密该对称密钥;加密公钥、双方都支持的加密算法的最高版本。

S300:所述PLC网络驱动与所述PLC安全装置进行定期握手报文传送,若传送时间超时则所述PLC网络驱动与所述PLC安全装置重建安全连接;

具体的,对于上位机软件,和以前收发完全一样的报文,PLC安全装置也是收发完全一样的报文,但是,在网络中实际传输的报文却是加密的,所以在此中方式中对于PLC和上位机之间的信息安全得到了保障。

S400:若PLC安全装置收到未加密的上位机请求,则予以丢弃。

其中,上位机请求判断,当PLC安全装置收到未加密的上位机请求,则予以丢弃。

如图2、3所示,一种保障PLC和上位机之间安全通信的系统,包括,

上位机操作模块01:用于将上位机上安装PLC网络驱动9,所述上位机向PLC10发送请求指令;

安全通道模块02,用于将所述PLC网络驱动9与PLC安全装置11之间建立安全通道,在所述安全通道内设置加密系统;

具体的,解密是靠新增加的桥接硬件PLC安全装置11实现,通过将所述PLC网络驱动9与PLC安全装置11之间建立安全通道,所述安全通道是全程加密的,恶意程序无法解密,保障了PLC和上位机之间的安全通信。

报文传送模块03,用于将所述PLC网络驱动9与所述PLC安全装置11进行定期握手报文传送,若传送时间超时则所述PLC网络驱动9与所述PLC安全装置11重建安全连接;

具体的,对于上位机软件,和之前收发完全一样的报文,PLC安全装置11也是收发完全一样的报文,但是,在网络中实际传输的报文却是加密的,所以在此中方式中对于PLC10和上位机之间的信息安全得到了保障。

上位机请求判断模块04,用于判断当PLC安全装置11收到未加密的上位机请求,则予以丢弃。

在一些实施例中,PLC网络驱动9与PLC安全装置11连接子模块05,用于将所述PLC网络驱动9截获到所述上位机向PLC发送的指令请求,先发送安全连接指示给对端的所述PLC安全装置11;所述PLC安全装置11向所述PLC网络驱动9发送安全连接的请求,包含自己支持的加密版本;所述PLC网络驱动9把SSL证书发送给所述PLC安全装置11。

在一些实施例中,PLC安全装置11校验单元06,所述PLC安全装置11校验证书的合法性,产生一个动态随机数作为对称加密的密钥,用证书包含的公钥加密该密钥并发送到PLC网络驱动9;

解密单元07:PLC网络驱动9接收后用证书的私钥解密该对称密钥。

其中加密公钥、双方都支持的加密算法的最高版本。

在一些实施例中,PLC安全装置11是单机设备,一对一部署设置在PLC10和以太网之间;若是串口PLC,则部署在串口网口转接器和以太网之间。

本技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。

在本公开所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本公开实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围,均应包含在本公开的保护范围之内。

相关技术
  • 一种上位机和PLC之间的数据通信方法及其通信系统
  • 一种将上位机智能算法下移至PLC的方法、系统及PLC装置
技术分类

06120115887582