CN111083164A - 工业控制系统的安全防护方法和相关设备 - Google Patents
工业控制系统的安全防护方法和相关设备 Download PDFInfo
- Publication number
- CN111083164A CN111083164A CN201911403707.6A CN201911403707A CN111083164A CN 111083164 A CN111083164 A CN 111083164A CN 201911403707 A CN201911403707 A CN 201911403707A CN 111083164 A CN111083164 A CN 111083164A
- Authority
- CN
- China
- Prior art keywords
- task
- information
- signature
- trusted
- control terminal
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000012795 verification Methods 0.000 claims abstract description 80
- 230000006854 communication Effects 0.000 claims abstract description 71
- 238000004891 communication Methods 0.000 claims abstract description 69
- 238000004422 calculation algorithm Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000013515 script Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013524 data verification Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供一种工业控制系统的安全防护方法和相关设备,控制终端接收签名服务器发送的第一加密信息;第一加密信息由签名服务器利用预设的第一通信密钥对可信任务信息以及可信任务信息的签名加密得到;可信任务信息是任务服务器发出的任务信息;利用第一通信密钥解密第一加密信息,得到可信任务信息以及可信任务信息的签名;利用签名对每一项可信任务信息进行签名验证;在任务白名单中记录通过签名验证的可信任务信息;任务白名单作为控制终端对收到的任务进行安全校验的依据。本方案中,控制终端利用签名服务器提供的可信任务信息建立任务白名单,基于任务白名单判断自身收到的任务是否安全,从而避免控制终端执行不安全任务导致的安全事故。
Description
技术领域
本发明涉及网络安全技术领域,特别涉及一种工业控制系统的安全防护方法和相关设备。
背景技术
工业控制系统是一个由控制终端和任务服务器构成的系统,控制终端一般是一个具有联网功能的可编程逻辑控制器(ProgrammableLogicController,PLC),PLC可以通过网络接收任务服务器下发的任务,并按照任务的指示控制PLC连接的工业设备(例如,自动加工中心,以及其他的自动化工业设备)开始工作,从而达到远程自动化控制的效果。
然而,这种接入网络的工业控制系统存在一定的安全隐患,具体的,可能有非法服务器伪装成任务服务器的IP向控制终端下发不安全的任务,控制终端执行不安全的任务后就可能发生数据泄露,设备损坏等安全事故。
综上所述,目前亟需一种有效的工业控制系统的安全防护方法以避免控制终端出现上述安全事故。
发明内容
基于上述现有技术的问题,本申请提供一种工业控制系统的安全防护方法和相关设备,以避免由于控制终端执行非法任务引起的安全事故。
本申请第一方面提供一种工业控制系统的安全防护方法,应用于控制终端,所述安全防护方法包括:
接收签名服务器基于安全传输层协议发送的第一加密信息;其中,所述第一加密信息由所述签名服务器利用预设的第一通信密钥对可信任务信息以及所述可信任务信息的签名加密得到;所述可信任务信息指代任务服务器发出的任务信息;所述可信任务信息的签名由所述签名服务器用预设的签名算法对所述可信任务信息进行计算得到;
利用所述第一通信密钥对所述第一加密信息进行解密,得到所述可信任务信息以及所述可信任务信息的签名;
针对每一项所述可信任务信息,利用所述可信任务信息的签名对所述可信任务信息进行签名验证;
将通过签名验证的可信任务信息记录在任务白名单中;其中,所述任务白名单作为所述控制终端对收到的任务进行安全校验的依据。
可选的,所述将通过签名验证的可信任务信息记录在任务白名单中之后,还包括:
在任务白名单中查找所述控制终端收到的任务相匹配的任务信息;
若查找出与所述控制终端收到的任务相匹配的任务信息,则确定所述任务通过安全校验,并执行所述任务;
若未查找出与所述控制终端收到的任务相匹配的任务信息,则确定所述任务未通过安全校验,并拒绝执行所述任务。
本申请第二方面提供一种工业控制系统的安全防护方法,应用于签名服务器,所述安全防护方法包括:
接收第二加密信息;
利用预设的第二通信密钥解密所述第二加密信息;
若解密成功,将解密得到的任务信息确定为可信任务信息;其中,所述可信任务信息指代,由任务服务器发出的任务信息;
利用预设的签名算法计算所述可信任务信息,得到所述可信任务信息的签名;
利用第一通信密钥加密所述可信任务信息以及所述可信任务信息的签名,得到第一加密信息;
向控制终端发送所述第一加密信息;其中,所述第一加密信息被所述控制终端利用所述第一通信密钥解密,并且,所述可信任务信息通过签名验证后,所述可信任务信息被所述控制终端记录在任务白名单中,所述任务白名单作为所述控制终端对收到的任务进行安全校验的依据。
可选的,所述利用预设的签名算法计算所述可信任务信息,得到所述可信任务信息的签名之后,还包括:
向所述任务服务器发送所述可信任务信息的签名。
本申请第三方面提供一种工业控制系统的安全防护方法,应用于任务服务器,所述安全防护方法包括:
生成任务信息;
利用第二通信密钥加密所述任务信息,得到第二加密信息;
向签名服务器发送所述第二加密信息;其中,所述第二加密信息由所述签名服务器解密后,所述任务信息作为可信任务信息被提供于控制终端,并被所述控制终端记录于任务白名单中;所述任务白名单作为所述控制终端对收到的任务进行安全校验的依据。
可选的,所述安全防护方法还包括:
向控制终端下发待执行任务;其中,所述待执行任务在通过所述控制终端基于所述任务白名单的安全校验后被所述控制终端执行。
本申请第四方面提供一种控制终端,包括:
接收单元,用于接收签名服务器基于安全传输层协议发送的第一加密信息;其中,所述第一加密信息由所述签名服务器利用预设的第一通信密钥对可信任务信息以及所述可信任务信息的签名加密得到;所述可信任务信息指代任务服务器发出的任务信息;所述可信任务信息的签名由所述签名服务器用预设的签名算法对所述可信任务信息进行计算得到;
解密单元,用于利用所述第一通信密钥对所述第一加密信息进行解密,得到所述可信任务信息以及所述可信任务信息的签名;
验证单元,用于针对每一项所述可信任务信息,利用所述可信任务信息的签名对所述可信任务信息进行签名验证;
记录单元,用于将通过签名验证的可信任务信息记录在任务白名单中;其中,所述任务白名单作为所述控制终端对收到的任务进行安全校验的依据。
可选的,还包括:
匹配单元,用于在任务白名单中查找所述控制终端收到的任务相匹配的任务信息;
执行单元,用于:
若查找出与所述控制终端收到的任务相匹配的任务信息,则确定所述任务通过安全校验,并执行所述任务;
若未查找出与所述控制终端收到的任务相匹配的任务信息,则确定所述任务未通过安全校验,并拒绝执行所述任务。
本申请第五方面提供一种签名服务器,包括:
接收单元,用于接收第二加密信息;
解密单元,用于利用预设的第二通信密钥解密所述第二加密信息;
确定单元,用于若解密成功,将解密得到的任务信息确定为可信任务信息;其中,所述可信任务信息指代,由任务服务器发出的任务信息;
签名单元,用于利用预设的签名算法计算所述可信任务信息,得到所述可信任务信息的签名;
加密单元,用于利用第一通信密钥加密所述可信任务信息以及所述可信任务信息的签名,得到第一加密信息;
发送单元,用于向控制终端发送所述第一加密信息;其中,所述第一加密信息被所述控制终端利用所述第一通信密钥解密,并且,所述可信任务信息通过签名验证后,所述可信任务信息被所述控制终端记录在任务白名单中,所述任务白名单作为所述控制终端对收到的任务进行安全校验的依据。
本申请第六方面提供一种任务服务器,包括:
生成单元,用于生成任务信息;
加密单元,用于利用第二通信密钥加密所述任务信息,得到第二加密信息;
发送单元,用于向签名服务器发送所述第二加密信息;其中,所述第二加密信息由所述签名服务器解密后,所述任务信息作为可信任务信息被提供于控制终端,并被所述控制终端记录于任务白名单中;所述任务白名单作为所述控制终端对收到的任务进行安全校验的依据。
本申请提供一种工业控制系统的安全防护方法和相关设备,控制终端接收签名服务器发送的第一加密信息;第一加密信息由签名服务器利用预设的第一通信密钥对可信任务信息以及可信任务信息的签名加密得到;可信任务信息是任务服务器发出的任务信息;利用第一通信密钥解密第一加密信息,得到可信任务信息以及可信任务信息的签名;利用签名对每一项可信任务信息进行签名验证;在任务白名单中记录通过签名验证的可信任务信息;任务白名单作为控制终端对收到的任务进行安全校验的依据。本方案中,控制终端利用签名服务器提供的可信任务信息建立任务白名单,基于任务白名单判断自身收到的任务是否安全,从而避免控制终端执行不安全任务导致的安全事故。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种工业控制系统的架构示意图;
图2为本申请实施例提供的一种工业控制系统的安全防护方法的流程图;
图3为本申请另一实施例提供的一种工业控制系统的安全防护方法的流程图;
图4为本申请实施例提供的一种控制终端的结构示意图;
图5为本申请实施例提供的一种签名服务器的结构示意图;
图6为本申请实施例提供的一种任务服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的工业控制系统的安全防护方法,其关键在于,控制终端利用签名服务器提供的通过签名验证的可信任务信息建立并维护一个任务白名单,基于这个任务白名单,控制终端每收到一个任务,就利用这个任务白名单对收到的任务进行安全校验,若收到的任务通过安全校验,则确定该任务是任务服务器提供的安全任务,并执行该任务;若收到的任务未通过安全校验,则确定该任务不是任务服务器提供的安全任务,拒绝执行该任务。
其中,对一个任务进行安全校验,具体是指,判断任务白名单中是否存在与该任务相匹配的任务信息,若任务白名单中存在匹配的任务信息,则该任务通过安全校验,若任务白名单中不存在匹配的任务信息,则该任务未通过安全校验。
通过本申请所提供的方法,控制终端可以避免执行伪装成任务服务器的第三方非法服务器提供的不安全任务,从而有效的提高工业控制系统中的控制终端的安全性。
为了更好的理解本申请所提供的方案,首先结合图1所示的架构示意图说明本申请实施例所适用的工业控制系统的架构。
如图1所示,本申请实施例提供的工业控制系统包括签名服务器100,任务服务器200和PLC系统300,其中的PLC系统就相当于是通过网络与签名服务器,任务服务器连接的控制终端,同时签名服务器和任务服务器也通过网络连接。
需要说明的是,图1仅仅是为了说明三类设备之间的连接关系的架构示意图,在实际的工业控制系统中,上述签名服务器,任务服务器和PLC系统均可以有多个。
下面结合图1所示的工业控制系统的架构说明本申请所提供的安全防护方法。
首先需要说明的是,如前文所述,本申请所提供的方法包括建立和维护任务白名单,以及基于白名单对收到的任务进行安全校验并执行两个环节。其中,只有在系统初始化时需要执行一次建立白名单的环节,以在控制终端生成一个初始的任务白名单,在初始化之后,任务白名单的维护(可以理解为更新任务白名单),和对任务进行安全校验并执行两个环节可以在工业控制系统运行的过程中根据需要在任意时刻选择执行。
下面首先介绍本申请实施例中控制终端建立并维护任务白名单的方法,请参考图2,该方法包括以下步骤:
首先需要说明的是,本实施例所介绍的方法,既可以在工业控制系统的初始化阶段被执行,从而在控制终端建立初始的任务白名单,也可以在初始化结束后工业控制系统运行的过程中被执行,从而将新增的任务信息添加至控制终端当前的任务白名单中,达到更新任务白名单的效果。
S201、任务服务器生成任务信息。
任务服务器是用于将需要执行的任务转发至控制终端的服务器。需要执行的任务由用户通过个人电脑,手机等网络设备提交于任务服务器,任务服务器对提交任务的网络设备进行身份认证,身份认证通过后,任务服务器就将网络设备提交的任务确定为待执行任务提供给控制终端。
一方面,若本实施例提供的方法在系统的初始化阶段执行,则上述任务信息是,任务服务器生成的初始信息列表中包括的多项任务信息。初始信息列表中的任务信息,是预估工业控制系统运行时可能需要执行的任务后,基于预估的任务生成的初始任务信息。
另一方面,若本实施例提供的方法在系统初始化完成后被执行,用于在控制终端的任务白名单中添加新的任务信息。则上述任务信息是,任务服务器在收到网络设备提交的待执行任务后,根据待执行任务生成的任务信息。
具体的,在工业控制系统运行时,任务服务器向控制终端下发任务时,可能由于该任务的任务信息未被记录在初始信息列表中,而导致控制终端对该任务的安全校验失败,这种情况下控制终端会拒绝执行该任务并告知任务服务器该任务被拒绝执行,任务服务器可以在收到某个任务被拒绝执行的消息后,执行本实施例提供的方法以更新控制终端的任务白名单,然后再次下发任务,使得该任务被执行。这种情况下,步骤S201中的任务信息就是根据被拒绝执行的任务的任务信息。
可选的,控制终端需要执行的任务一般以控制脚本的形式被提供于任务服务器,因此,针对任意一个任务,任务服务器可以将该任务的控制脚本转换为文本格式,以文本形式记录的任务的控制脚本,就是这个任务的任务信息。
S202、任务服务器利用第二通信密钥加密任务信息,得到第二加密信息。
这里的第二通信密钥,是任务服务器和签名服务器之间预先协商好的通信密钥,换言之,任务服务器和签名服务器双发均保存有上述第二通信密钥。基于预先协商的第二通信密钥,任务服务器和签名服务器任意一方收到一段加密信息后均可以用第二通信密钥对信息进行解密,若解密失败则说明该信息不是对方发出的信息,并且,任意一方向另一方发送信息之前利用预先约定的第二通信密钥加密,可以确保发出的加密信息只能被对方解析并利用,避免发出的信息被第三方窃取。
S203、任务服务器向签名服务器发送第二加密信息。
可选的,步骤S203中,任务服务器可以基于传输层安全(TransportLayerSecurity,TLS)协议向签名服务器发送上述第二加密信息,TLS协议包括两层,分别是传输层安全记录(TransportLayerSecurityRecord)协议和传输层安全握手(TransportLayerSecurityHandshake)协议,TLS协议可以为通信双发提供可靠的加密机制,并且支持通信双方的身份认证,从而保证数据传输的完整性和准确性。
S204、签名服务器利用第二通信密钥解密第二加密信息。
如前文所述,第二通信密钥是签名服务器和任务服务器预先约定的密钥,若签名服务器执行步骤S204时解密失败,就表示收到的加密信息可能不是由任务服务器发出的加密信息,也可能是任务服务器发出后篡改的加密信息,因此,若签名服务器解密失败则对删除收到的加密信息。
可选的,签名服务器可以在每次解密失败后向签名服务器发送解密失败的信息。
S205、签名服务器将解密得到的任务信息确定为可信任务信息。
若签名服务器成功地从第二加密信息中解密得到任务信息,就表示第二加密信息确实是任务服务器发出的加密信息,对应的,第二加密信息所携带的任务信息,就是任务服务器提供的任务信息。解密成功后就可以直接将解密得到的任务信息确定为可信任务信息。
可选的,任务服务器生成第二加密信息时,可以用信息摘要算法生成需要发送的任务信息的信息摘要,然后将需要发送的任务信息以及任务信息的信息摘要一并加密并发送至签名服务器。这种情况下,签名服务器可以在加密出任务信息后,利用信息摘要对任务信息进行信息完整性校验,以判断第二加密信息是否在传输过程中发生损坏或者被第三方窃取。
S206、签名服务器利用预设的签名算法计算可信任务信息,得到可信任务信息的签名。
本发明中使用国密标准的SM2算法作为步骤S206中的签名算法。SM2算法是基于椭圆曲线密码理论(Ellipticcurvecryptography,ECC)开发的一种非对称加密算法,具有抗攻击性强、CPU占用少、内容使用少、网络消耗低、加密速度快等特点。
可选的,签名服务器可以在完成对任务信息的签名后,向任务服务器反馈签名结果,具体的,可以告知任务服务器具体有哪些任务信息完成了签名过程,还可以将签名成功的任务信息的签名反馈给任务服务器。任务服务器可以记录签名成功的任务信息,后续向控制终端下发任务之前,先检查与该任务匹配的任务信息是否签名成功,若签名成功,则直接向控制终端下发任务,若未签名成功,则先执行本实施例提供的方法将任务信息更新至控制终端的任务白名单中,以避免下发的任务被控制终端拒绝执行。
S207、签名服务器利用第一通信密钥加密可信任务信息及其签名,得到第一加密信息。
第一通信密钥,是签名服务器和控制终端之间预先协商一致的通信密钥,签名服务器和控制终端之间均保存有第一通信密钥,其中任意一方向另一方发送信息之前利用自身的第一通信密钥进行加密,对方收到后就可以用对方的第一通信密钥解密得到需要传输的信息,这种传输方式可以有效防止双方传输的信息被第三方服务器窃取。
第一通信密钥和第二通信密钥可以是相同的密钥,也可以是不相同的两个密钥。
S208、签名服务器向控制终端发送第一加密信息。
签名服务器和控制终端之间的通信也可以基于TLS协议进行,以实现通信过程中的身份验证和数据验证。
S209、控制终端解密得到可信任务信息以及可信任务信息的签名。
具体的,控制终端可以用第一通信密钥对第一加密信息进行解密,从而得到第一加密信息携带的可信任务信息以及可信任务信息的签名。
S210、控制终端对每一项可信任务信息进行签名验证。
如前文所述,本实施例在系统初始化阶段被执行时,任务服务器提供的是由多项任务信息构成的初始信息列表,对应的,签名服务器也会向控制终端提供多项可信任务信息,因此,在初始化阶段控制终端需要对收到的每一项可信任务信息进行签名验证。
若签名服务器采用SM2算法生成任务信息的签名,那么控制终端可以对应的用SM2验签算法,对自身收到的每一项任务信息进行签名验证,从而判断自身收到的任务信息和任务信息的签名是否匹配。对于任意一项任务信息,若该任务信息和其签名不匹配,就表示该任务信息未通过签名验证,若该任务信息和任务信息的签名匹配,就表示该任务信息通过签名验证。
可选的,控制终端完成签名验证后,可以向签名服务器反馈签名验证结果,也就是反馈哪些任务信息通过签名验证,哪些任务信息未通过签名验证,然后签名服务器保存签名验证结果,同时将签名验证结果进一步反馈给任务服务器,使任务服务器也记录签名验证结果。
S211、控制终端将通过签名验证的可信任务信息记录在任务白名单中。
可选的,控制终端可以先对通过签名验证的可信任务信息进行加密,然后将加密后的可信任务信息记录在任务白名单中。其中,用于加密任务信息的密钥可以不定期更新。
具体的,若本实施例在系统初始化阶段执行,则控制终端执行步骤S211时,首先建立一个用于记录可信任务信息的列表,然后将通过签名验证的多项可信任务信息逐一加密后记录在这个列表中,完成记录后,上述列表就相当于一个任务白名单。
若本实施例在系统初始化之后被执行,那么控制终端只需要将新增的通过签名验证的可信任务信息加密后,直接记录在初始化阶段已经建立的任务白名单中即可。
本实施例中,任务服务器将工业控制系统运行时可能执行的任务的任务信息加密后提供给签名服务器,签名服务器对任务信息签名后将带签名的任务信息提供给控制终端,使控制终端对任务信息进行签名验证,并将通过签名验证的任务信息记录在任务白名单中。后续收到任务时就可以利用任务白名单对收到的任务进行安全校验,然后再根据安全校验的结果决定是否执行任务。通过本实施例所提供的方法,控制终端能够利用任务白名单对收到的任务进行安全校验,对于未通过任务白名单的校验的任务不予执行,从而有效的避免控制终端执行不安全的任务。
进一步的,本申请实施例提供的工业控制系统的安全防护方法还具有以下优点:
第一,本实施例可以使用SM2算法作为签名算法对任务信息进行签名以及对应的签名验证,SM2算法比传统的加密算法具有更强的加密强度,更有利于保护数据完整性和安全性,并且,签名服务器,控制终端和任务服务器之间的通信过程使用了身份验证和数据校验,实现了数据的双因子认证,具有更好的安全性。
第二,相比于现有的基于特征扫描的安全防护方法,基于任务白名单的安全校验能够有效的弥补常见的基于特征扫描的安全防护方法的缺陷,为工业控制系统提供更优的安全防护方案。
第三,现有的基于特征扫描的安全防护方法,其扫描软件一般需要占用较大的内存,将其应用于由PLC设备构成的控制终端会增加设备成本,并且,基于特征扫描的安全防护方法还需要定期更新病毒特征数据库,增加了系统维护和更新的成本。而本方案基于任务白名单实现的安全校验功能所需要的内存较少,并且,在工业控制系统运行阶段可以随时执行本实施例提供的方法以更新任务白名单,因此维护和更新的成本低于特征扫描方法所需的成本。
下面结合图3说明本申请实施例提供的工业控制系统的安全防护方法中,控制终端对收到的任务进行安全校验并执行的环节,该方法包括以下步骤:
S301、任务服务器向控制终端下发待执行任务。
上述待执行任务,可以由通过网络连接至任务服务器的网络设备提供。任务服务器收到网络设备提供的待执行任务后,可以先对提供待执行任务的网络设备进行平台身份认证,只有在网络设备通过平台身份认证后,任务服务器才将网络设备提供的任务作为待执行任务提供于控制终端,反之,若网络设备未通过平台身份认证,则拒绝将任务下发至控制终端。
可选的,任务服务器可以将待执行任务以及提供待执行任务的网络设备的身份信息一并提供给控制终端。
可选的,任务服务器也可以利用第三通信密钥对待执行任务进行加密后,将加密后的待执行任务基于TLS协议下发至控制终端。其中,第三通信密钥是任务服务器和控制终端预先协商一致的通信密钥,也就是说任务服务器和控制终端均保存有第三通信密钥,双发可以基于第三通信密钥对需要传输的信息进行加密和解密。
第三通信密钥和第二通信密钥可以是同一密钥,也可以是不同的密钥。
S302、控制终端利用任务白名单对收到的待执行任务进行安全校验。
若待执行任务未通过安全校验,则执行步骤S303。
若待执行任务通过安全校验,则执行步骤S304。
如前文所述,任务白名单中存储的是若干项可信的任务信息,而任务信息可以是由对应的任务的脚本转换得到的一个文本,因此,步骤S302的具体执行过程可以是:
查找任务白名单中的任务信息,以判断任务白名单中是否存在和待执行任务相匹配的任务信息。
和待执行任务相匹配的任务信息,指代,由待执行任务的脚本转换得到的任务信息。
若任务白名单中存在和待执行任务相匹配的任务信息,则待执行任务通过安全校验,表示待执行任务是安全任务,因而可以执行该任务。
若若任务白名单中不存在和待执行任务相匹配的任务信息,则待执行任务未通过安全校验,说明待执行任务是不安全任务,因而拒绝执行该任务。
可选的,若控制终端和任务服务器预先确定了用于通信的第三通信密钥,并且任务服务器对下发的任务进行加密,那么,上述待执行任务可以由控制终端利用第三通信密钥对任务服务器下发的加密后的任务进行解密得到。
可选的,在执行步骤S302时,若任务服务器将提供待执行任务的网络设备的身份信息和待执行任务一并提供于控制终端,那么控制终端也可以利用网络设备的身份信息对提供待执行任务的网络设备进行平台身份认证。
进行平台身份认证的场合,只有在待执行任务通过安全校验,并且提供待执行任务的网络设备通过平台身份认证的情况下待执行任务才被允许执行,若其中任意一项未通过则控制终端拒绝执行该任务。
可选的,任务服务器还可以将待执行任务和任务摘要一并下发至控制终端,控制终端可以利用任务摘要对待执行任务的数据完整性进行校验,若待执行任务的数据不完整,那么任务服务器和控制终端的本次通信可能是不可信的,因此,若待执行任务未通过数据完整性的校验,控制终端也可以拒绝执行该任务,执行步骤S303。
S303、控制终端拒绝执行任务,并向任务服务器反馈告警信息。
告警信息用于提示任务服务器下发的待执行任务未通过控制终端的安全校验,因而被控制终端拒绝执行。
任务服务器可以在收到告警信息,并确认被拒绝执行的待执行任务是安全的动态任务之后,执行图2对应的实施例所述的方法,通过签名服务器将待执行任务的任务信息更新至任务白名单中,然后在向控制终端下发待执行任务,使待执行任务能够通过安全校验。
其中,动态任务是指,对应的任务信息未在系统初始化阶段被提供给签名服务器的任务。
S304、控制终端加载并执行待执行任务。
可选的,在执行完步骤S304,控制终端开始执行待执行任务之后,控制终端还可以执行步骤S305:
S305、控制终端定期检测待执行任务的执行过程。
具体的,步骤S305可以由控制终端的白名单管理模块执行。步骤S305的具体执行过程是:
白名单管理模块可以实时监控待执行任务执行过程中的参数,并对这些参数进行度量,根据度量结果判定当前执行的任务是否在任务白名单内(也就是判断任务白名单内是否有和当前执行的任务相匹配的任务信息),若发现当前执行的任务不在任务白名单内,则白名单管理模块上报告警信息,提示控制终端当前执行的任务是非法任务,从而及时终止当前执行的任务。
本实施例提供的安全防护方法中,控制终端每次收到待执行任务后就利用预先建立的任务白名单对任务进行安全校验,若发现任务白名单中没有和待执行任务相匹配的任务信息,则拒绝执行该任务。本方案可以确保控制终端只执行任务白名单保存的,预先经过签名服务器签名,并且通过了签名验证的任务信息对应的任务,而不执行在任务白名单中没有对应的任务信息的任务,从而避免控制终端执行不可信的服务器提供的任务而引起的安全事故。
结合本申请实施例提供的工业控制系统的安全防护方法,本申请实施例还提供了相关联的设备,具体包括任务服务器,签名服务器和控制终端。
请参考图4,本申请提供的控制终端包括如下单元:
接收单元401,用于接收签名服务器基于安全传输层协议发送的第一加密信息。
其中,第一加密信息由签名服务器利用预设的第一通信密钥对可信任务信息以及可信任务信息的签名加密得到;可信任务信息指代任务服务器发出的任务信息;可信任务信息的签名由签名服务器用预设的签名算法对可信任务信息进行计算得到。
解密单元402,用于利用第一通信密钥对第一加密信息进行解密,得到可信任务信息以及可信任务信息的签名。
验证单元403,用于针对每一项可信任务信息,利用可信任务信息的签名对可信任务信息进行签名验证。
记录单元404,用于将通过签名验证的可信任务信息记录在任务白名单中。
其中,任务白名单作为控制终端对收到的任务进行安全校验的依据。
其中,控制终端还包括:
匹配单元405,用于在任务白名单中查找所述控制终端收到的任务相匹配的任务信息。
执行单元406,用于:
若匹配单元405查找出与所述控制终端收到的任务相匹配的任务信息,则确定所述任务通过安全校验,并执行所述任务;
若匹配单元405未查找出与所述控制终端收到的任务相匹配的任务信息,则确定所述任务未通过安全校验,并拒绝执行所述任务。
请参考图5,本申请实施例还提供一种签名服务器,签名服务器包括以下单元:
接收单元501,用于接收第二加密信息。
解密单元502,用于利用预设的第二通信密钥解密第二加密信息。
确定单元503,用于若解密成功,将解密得到的任务信息确定为可信任务信息。
其中,可信任务信息指代,由任务服务器发出的任务信息。
签名单元504,用于利用预设的签名算法计算可信任务信息,得到可信任务信息的签名。
加密单元505,用于利用第一通信密钥加密可信任务信息以及可信任务信息的签名,得到第一加密信息。
发送单元506,用于向控制终端发送第一加密信息。
其中,第一加密信息被控制终端利用第一通信密钥解密,并且,可信任务信息通过签名验证后,可信任务信息被控制终端记录在任务白名单中,任务白名单作为控制终端对收到的任务进行安全校验的依据。
发送单元506还用于:
向任务服务器发送可信任务信息的签名结果。
签名结果具体包括,每一项任务信息是否签名成功,以及签名成功的可信任务信息的签名。
请参考图6,本申请提供的任务服务器包括如下单元:
生成单元601,用于生成任务信息。
加密单元602,用于利用第二通信密钥加密任务信息,得到第二加密信息。
发送单元603,用于向签名服务器发送第二加密信息。
其中,第二加密信息由签名服务器解密后,任务信息作为可信任务信息被提供于控制终端,并被控制终端记录于任务白名单中;任务白名单作为控制终端对收到的任务进行安全校验的依据。
其中,发送单元603用于:
向控制终端下发待执行任务。
其中,待执行任务在通过控制终端基于任务白名单的安全校验后被控制终端执行。
本申请任一实施例提供的任务服务器,签名服务器和控制终端,其具体工作原理可以参考本申请实施例提供的工业控制系统的安全防护方法中的对应步骤,此处不再赘述。
本申请提供的用于实现工业控制系统的安全防护的设备中,控制终端用接收单元401接收签名服务器发送的第一加密信息;第一加密信息由签名服务器的加密单元505利用预设的第一通信密钥对可信任务信息以及可信任务信息的签名加密得到;可信任务信息由任务服务器用生成单元601产生,并通过发送单元603提供给签名服务器,然后控制终端的解密单元402利用第一通信密钥解密第一加密信息,得到可信任务信息以及可信任务信息的签名;验证单元403利用签名对每一项可信任务信息进行签名验证;最后记录单元404在任务白名单中记录通过签名验证的可信任务信息;任务白名单作为控制终端的匹配单元405对收到的任务进行安全校验的依据,通过安全校验的任务由控制终端的执行单元406执行。本方案中,控制终端利用签名服务器提供的可信任务信息建立任务白名单,基于任务白名单判断自身收到的任务是否安全,从而避免控制终端执行不安全任务导致的安全事故。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种工业控制系统的安全防护方法,其特征在于,应用于控制终端,所述安全防护方法包括:
接收签名服务器基于安全传输层协议发送的第一加密信息;其中,所述第一加密信息由所述签名服务器利用预设的第一通信密钥对可信任务信息以及所述可信任务信息的签名加密得到;所述可信任务信息指代任务服务器发出的任务信息;所述可信任务信息的签名由所述签名服务器用预设的签名算法对所述可信任务信息进行计算得到;
利用所述第一通信密钥对所述第一加密信息进行解密,得到所述可信任务信息以及所述可信任务信息的签名;
针对每一项所述可信任务信息,利用所述可信任务信息的签名对所述可信任务信息进行签名验证;
将通过签名验证的可信任务信息记录在任务白名单中;其中,所述任务白名单作为所述控制终端对收到的任务进行安全校验的依据。
2.根据权利要求1所述的安全防护方法,其特征在于,所述将通过签名验证的可信任务信息记录在任务白名单中之后,还包括:
在任务白名单中查找所述控制终端收到的任务相匹配的任务信息;
若查找出与所述控制终端收到的任务相匹配的任务信息,则确定所述任务通过安全校验,并执行所述任务;
若未查找出与所述控制终端收到的任务相匹配的任务信息,则确定所述任务未通过安全校验,并拒绝执行所述任务。
3.一种工业控制系统的安全防护方法,其特征在于,应用于签名服务器,所述安全防护方法包括:
接收第二加密信息;
利用预设的第二通信密钥解密所述第二加密信息;
若解密成功,将解密得到的任务信息确定为可信任务信息;其中,所述可信任务信息指代,由任务服务器发出的任务信息;
利用预设的签名算法计算所述可信任务信息,得到所述可信任务信息的签名;
利用第一通信密钥加密所述可信任务信息以及所述可信任务信息的签名,得到第一加密信息;
向控制终端发送所述第一加密信息;其中,所述第一加密信息被所述控制终端利用所述第一通信密钥解密,并且,所述可信任务信息通过签名验证后,所述可信任务信息被所述控制终端记录在任务白名单中,所述任务白名单作为所述控制终端对收到的任务进行安全校验的依据。
4.根据权利要求3所述的安全防护方法,其特征在于,所述利用预设的签名算法计算所述可信任务信息,得到所述可信任务信息的签名之后,还包括:
向所述任务服务器发送所述可信任务信息的签名。
5.一种工业控制系统的安全防护方法,其特征在于,应用于任务服务器,所述安全防护方法包括:
生成任务信息;
利用第二通信密钥加密所述任务信息,得到第二加密信息;
向签名服务器发送所述第二加密信息;其中,所述第二加密信息由所述签名服务器解密后,所述任务信息作为可信任务信息被提供于控制终端,并被所述控制终端记录于任务白名单中;所述任务白名单作为所述控制终端对收到的任务进行安全校验的依据。
6.根据权利要求5所述的安全防护方法,其特征在于,所述安全防护方法还包括:
向控制终端下发待执行任务;其中,所述待执行任务在通过所述控制终端基于所述任务白名单的安全校验后被所述控制终端执行。
7.一种控制终端,其特征在于,包括:
接收单元,用于接收签名服务器基于安全传输层协议发送的第一加密信息;其中,所述第一加密信息由所述签名服务器利用预设的第一通信密钥对可信任务信息以及所述可信任务信息的签名加密得到;所述可信任务信息指代任务服务器发出的任务信息;所述可信任务信息的签名由所述签名服务器用预设的签名算法对所述可信任务信息进行计算得到;
解密单元,用于利用所述第一通信密钥对所述第一加密信息进行解密,得到所述可信任务信息以及所述可信任务信息的签名;
验证单元,用于针对每一项所述可信任务信息,利用所述可信任务信息的签名对所述可信任务信息进行签名验证;
记录单元,用于将通过签名验证的可信任务信息记录在任务白名单中;其中,所述任务白名单作为所述控制终端对收到的任务进行安全校验的依据。
8.根据权利要求7所述的控制终端,其特征在于,还包括:
匹配单元,用于在任务白名单中查找所述控制终端收到的任务相匹配的任务信息;
执行单元,用于:
若查找出与所述控制终端收到的任务相匹配的任务信息,则确定所述任务通过安全校验,并执行所述任务;
若未查找出与所述控制终端收到的任务相匹配的任务信息,则确定所述任务未通过安全校验,并拒绝执行所述任务。
9.一种签名服务器,其特征在于,包括:
接收单元,用于接收第二加密信息;
解密单元,用于利用预设的第二通信密钥解密所述第二加密信息;
确定单元,用于若解密成功,将解密得到的任务信息确定为可信任务信息;其中,所述可信任务信息指代,由任务服务器发出的任务信息;
签名单元,用于利用预设的签名算法计算所述可信任务信息,得到所述可信任务信息的签名;
加密单元,用于利用第一通信密钥加密所述可信任务信息以及所述可信任务信息的签名,得到第一加密信息;
发送单元,用于向控制终端发送所述第一加密信息;其中,所述第一加密信息被所述控制终端利用所述第一通信密钥解密,并且,所述可信任务信息通过签名验证后,所述可信任务信息被所述控制终端记录在任务白名单中,所述任务白名单作为所述控制终端对收到的任务进行安全校验的依据。
10.一种任务服务器,其特征在于,包括:
生成单元,用于生成任务信息;
加密单元,用于利用第二通信密钥加密所述任务信息,得到第二加密信息;
发送单元,用于向签名服务器发送所述第二加密信息;其中,所述第二加密信息由所述签名服务器解密后,所述任务信息作为可信任务信息被提供于控制终端,并被所述控制终端记录于任务白名单中;所述任务白名单作为所述控制终端对收到的任务进行安全校验的依据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911403707.6A CN111083164A (zh) | 2019-12-30 | 2019-12-30 | 工业控制系统的安全防护方法和相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911403707.6A CN111083164A (zh) | 2019-12-30 | 2019-12-30 | 工业控制系统的安全防护方法和相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111083164A true CN111083164A (zh) | 2020-04-28 |
Family
ID=70320304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911403707.6A Pending CN111083164A (zh) | 2019-12-30 | 2019-12-30 | 工业控制系统的安全防护方法和相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111083164A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116155963A (zh) * | 2023-02-27 | 2023-05-23 | 中国石油天然气集团有限公司 | 钻井井场控制系统和方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005222321A (ja) * | 2004-02-05 | 2005-08-18 | Oki Electric Ind Co Ltd | データ通信装置、サーバ及びデータ検証システム |
CN104486077A (zh) * | 2014-11-20 | 2015-04-01 | 中国科学院信息工程研究所 | 一种VoIP实时数据安全传输的端到端密钥协商方法 |
WO2015062398A1 (zh) * | 2013-10-28 | 2015-05-07 | 韩子天 | 信息系统访问认证方法及装置 |
CN104618120A (zh) * | 2015-03-04 | 2015-05-13 | 青岛微智慧信息有限公司 | 一种移动终端密钥托管数字签名方法 |
CN105681907A (zh) * | 2015-12-30 | 2016-06-15 | 中电长城网际系统应用有限公司 | 一种信息校验系统及其方法 |
US20180357638A1 (en) * | 2015-06-30 | 2018-12-13 | Boe Technology Group Co., Ltd. | Identity information authentication method, user terminal, service terminal, authentication server, and service system |
CN109033801A (zh) * | 2018-07-25 | 2018-12-18 | 努比亚技术有限公司 | 应用程序验证用户身份的方法、移动终端以及存储介质 |
CN110545190A (zh) * | 2019-09-06 | 2019-12-06 | 腾讯科技(深圳)有限公司 | 一种签名处理的方法、相关装置以及设备 |
CN211557285U (zh) * | 2019-12-30 | 2020-09-22 | 宁波和利时信息安全研究院有限公司 | 控制终端、签名服务器和任务服务器 |
-
2019
- 2019-12-30 CN CN201911403707.6A patent/CN111083164A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005222321A (ja) * | 2004-02-05 | 2005-08-18 | Oki Electric Ind Co Ltd | データ通信装置、サーバ及びデータ検証システム |
WO2015062398A1 (zh) * | 2013-10-28 | 2015-05-07 | 韩子天 | 信息系统访问认证方法及装置 |
CN104486077A (zh) * | 2014-11-20 | 2015-04-01 | 中国科学院信息工程研究所 | 一种VoIP实时数据安全传输的端到端密钥协商方法 |
CN104618120A (zh) * | 2015-03-04 | 2015-05-13 | 青岛微智慧信息有限公司 | 一种移动终端密钥托管数字签名方法 |
US20180357638A1 (en) * | 2015-06-30 | 2018-12-13 | Boe Technology Group Co., Ltd. | Identity information authentication method, user terminal, service terminal, authentication server, and service system |
CN105681907A (zh) * | 2015-12-30 | 2016-06-15 | 中电长城网际系统应用有限公司 | 一种信息校验系统及其方法 |
CN109033801A (zh) * | 2018-07-25 | 2018-12-18 | 努比亚技术有限公司 | 应用程序验证用户身份的方法、移动终端以及存储介质 |
CN110545190A (zh) * | 2019-09-06 | 2019-12-06 | 腾讯科技(深圳)有限公司 | 一种签名处理的方法、相关装置以及设备 |
CN211557285U (zh) * | 2019-12-30 | 2020-09-22 | 宁波和利时信息安全研究院有限公司 | 控制终端、签名服务器和任务服务器 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116155963A (zh) * | 2023-02-27 | 2023-05-23 | 中国石油天然气集团有限公司 | 钻井井场控制系统和方法 |
CN116155963B (zh) * | 2023-02-27 | 2024-02-06 | 中国石油天然气集团有限公司 | 钻井井场控制系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109858262B (zh) | 基于区块链系统的流程审批方法、装置、系统及存储介质 | |
US10484185B2 (en) | Method and system for distributing attestation key and certificate in trusted computing | |
EP3324572B1 (en) | Information transmission method and mobile device | |
CN110519309B (zh) | 数据传输方法、装置、终端、服务器及存储介质 | |
CN108566381A (zh) | 一种安全升级方法、装置、服务器、设备和介质 | |
US10601590B1 (en) | Secure secrets in hardware security module for use by protected function in trusted execution environment | |
CN107995148B (zh) | 文件防篡改的方法、系统、终端和可信云平台 | |
CN105790938A (zh) | 基于可信执行环境的安全单元密钥生成系统及方法 | |
CN110677382A (zh) | 数据安全处理方法、装置、计算机系统及存储介质 | |
CN111178884A (zh) | 信息处理方法、装置、设备及可读存储介质 | |
CN103078742A (zh) | 数字证书的生成方法和系统 | |
CN111163470B (zh) | 核心网网元通信方法、装置、计算机存储介质和电子设备 | |
WO2018112482A1 (en) | Method and system for distributing attestation key and certificate in trusted computing | |
CN113114668A (zh) | 一种信息传输方法、移动终端、存储介质及电子设备 | |
CN114584306B (zh) | 一种数据处理方法和相关装置 | |
CN110855695A (zh) | 一种改进的sdn网络安全认证方法及系统 | |
CN108599961A (zh) | 一种通信方法、车载终端、汽车服务平台及系统 | |
CN111130798A (zh) | 一种请求鉴权方法及相关设备 | |
CN111355591A (zh) | 一种基于实名认证技术的区块链账号安全的管理方法 | |
CN113612852A (zh) | 一种基于车载终端的通信方法、装置、设备及存储介质 | |
CN110838919B (zh) | 通信方法、存储方法、运算方法及装置 | |
CN112769789B (zh) | 一种加密通信方法及系统 | |
CN114139176A (zh) | 一种基于国密的工业互联网核心数据的保护方法及系统 | |
CN211557285U (zh) | 控制终端、签名服务器和任务服务器 | |
CN111083164A (zh) | 工业控制系统的安全防护方法和相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |