CN117216777A - 一种用于工控系统的关键数据的可信验证方法和系统 - Google Patents
一种用于工控系统的关键数据的可信验证方法和系统 Download PDFInfo
- Publication number
- CN117216777A CN117216777A CN202311172859.6A CN202311172859A CN117216777A CN 117216777 A CN117216777 A CN 117216777A CN 202311172859 A CN202311172859 A CN 202311172859A CN 117216777 A CN117216777 A CN 117216777A
- Authority
- CN
- China
- Prior art keywords
- encrypted
- signed
- random number
- engineer station
- random
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 104
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000004364 calculation method Methods 0.000 claims abstract description 205
- 238000004590 computer program Methods 0.000 claims description 9
- 238000003860 storage Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 12
- 230000008569 process Effects 0.000 description 11
- 230000008901 benefit Effects 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 239000002737 fuel gas Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种用于工控系统的关键数据的可信验证方法和系统,其中,方法包括:对工程师站发送的经签名的关键数据下发命令进行验签,若通过,则生成随机数和随机计算规则;对随机数和随机计算规则依次加密和签名,并将经加密和签名的随机数和随机计算规则发送给工程师站;获取工程师站发送的经加密和签名的计算结果和关键数据;对工程师站发送的经加密的关键数据进行验签,并对经加密和签名的计算结果和关键数据解密;将解密后的计算结果与预设结果对比,若对比结果相同,则对经加密的关键数据解密。本发明提供能够实现控制器和工程师站之间的通信双方身份认证、数据加密、签名验签、随机数校验等多个维度的保障,进而实现关键数据的安全下发。
Description
技术领域
本发明属于工业控制技术领域,特别涉及一种用于工控系统的关键数据的可信验证方法和系统。
背景技术
工业控制系统(Industry Control System,ICS)作为重要的基础战略资源,应用于超过80%的关键基础设施,有着诸如控制水电站开关、检测电网状态或控制燃油燃气管道压力等能力,在国家基础建设的舞台中扮演着重要的角色。
近年来发生的重大工业信息安全事件所涉及的能源、交通、制造、医疗、通信等重要领域的关键信息基础设施,对许多国家的工业生产和国家安全造成严重影响。其中,针对工业控制系统量身定制的恶意代码成为了工控系统和测控终端的主要安全威胁之一,其扩散及破坏过程非常隐蔽,可能突破以隔离为主的安全防护体系,而现有的防护措施难以有效防御。因此,工业控制系统的信息安全研究已经十分迫切,在重要的工业控制系统如可编程逻辑控制器(PLC)中实现信息安全的需求日趋明显,尤其是对工业控制系统的关键数据的安全防护需求。
目前关键数据下发时,都是采用明文的方式,且无安全防护措施,一旦恶意攻击者入侵到工程师站、控制系统的网络,则可以通过篡改信息来破坏关键数据或是通过中间人攻击的方式对关键数据进行篡改,从而造成不可估计的损失。
发明内容
有鉴于此,本发明提供一种用于工控系统的关键数据的可信验证方法和系统,主要目的在于能够实现控制器和工程师站之间的通信双方身份认证、数据加密、签名验签、随机数校验等多个维度的保障,进而实现关键数据的安全下发。
依据本发明的第一个方面,提供了一种用于工控系统的关键数据的可信验证方法,应用于工程师站端,包括:
对工程师站发送的经签名的关键数据下发命令进行验签,若通过验签,则生成随机数和随机计算规则;
对所述随机数和随机计算规则依次加密和签名,并将经加密和签名的所述随机数和随机计算规则发送给所述工程师站;
获取所述工程师站发送的经加密和签名的计算结果和关键数据;所述计算结果包括UKEY根据所述随机计算规则对所述工程师站发送的经解密的随机数计算的结果;
对所述工程师站发送的经加密和签名的所述计算结果和所述关键数据进行验签,若通过验签,则对经加密和签名的所述计算结果解密;
将解密后的所述计算结果与预设结果进行对比,若对比结果相同,则对经加密和签名的所述关键数据解密。
依据本发明的第二个方面,提供了一种用于工控系统的关键数据的可信验证方法,应用于控制器端,包括:
将经签名的关键数据下发命令和经加密和签名的所述关键数据分别发送给控制器;
获取经所述控制器加密和签名的随机数和随机计算规则;
对经加密和签名的所述随机数依次进行验签和解密,获得经解密的随机数,并将经解密的所述随机数发送给UKEY;
获取经所述UKEY加密的计算结果;所述计算结果包括所述UKEY根据所述随机计算规则对经解密的所述随机数计算的结果;
将经加密和签名的所述关键数据和所述计算结果发送给所述控制器。
依据本发明的第三个方面,提供了一种用于工控系统的关键数据的可信验证系统,位于控制器端,包括:
验签模块,用于对工程师站发送的经签名的关键数据下发命令进行验签,若通过验签,则生成随机数和随机计算规则;
加密签名模块,用于对所述随机数和随机计算规则依次加密和签名,并将经加密和签名的所述随机数和随机计算规则发送给所述工程师站;
第一获取模块,用于获取所述工程师站发送的经加密和签名的计算结果和所述关键数据;所述计算结果包括UKEY根据所述随机计算规则对所述工程师站发送的经解密的随机数计算的结果;
第二验签模块,用于对所述工程师站发送的经加密和签名的所述计算结果和所述关键数据进行验签,若通过验签,则对经加密和签名的所述计算结果解密;
验证模块,用于将解密后的所述计算结果与预设结果进行对比,若对比结果相同,则对经加密和签名的所述关键数据解密。
依据本发明的第四个方面,提供了一种用于工控系统的关键数据的可信验证系统,位于工程师站端,包括:
第一发送模块,用于将经签名的关键数据下发命令和经加密和签名的所述关键数据分别发送给控制器;
第二获取模块,用于获取经所述控制器加密和签名的随机数和随机计算规则;
第二发送模块,用于对经加密和签名的所述随机数依次进行验签和解密,获得经解密的随机数,并将经解密的所述随机数发送给UKEY;
第三获取模块,用于获取经所述UKEY加密的计算结果;所述计算结果包括所述UKEY根据所述随机计算规则对经解密的所述随机数计算的结果;
第三发送模块,用于将经加密和签名的所述关键数据和所述计算结果发送给所述控制器。
依据本发明的第五个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述所述的方法的步骤。
依据本发明的第六个方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述所述的方法的步骤。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明提供的一种用于工控系统的关键数据的可信验证方法、系统、存储介质及电子设备,与现有技术相比,本发明提供的方法通过使控制器对工程师站发送的经加密的关键数据下发命令进行验签,以保证关键数据在控制器和工程师站之间的可信性,同时,控制器对经加密和签名的计算结果和关键数据解密,能够保证计算结果在控制器和工程师站之间的数据加密性,最后,通过将解密后的计算结果与预设结果进行对比,并根据对比结果相同,对经加密的关键数据解密,以完成对关键数据的信任验证,进而保证关键数据的安全下发。总之,本发明提供的方法,能够实现控制器和工程师站之间的通信双方身份认证、数据加密、签名验签、随机数校验等多个维度的保障,进而实现关键数据的安全下发。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种用于工控系统的关键数据的可信验证方法流程图;
图2示出了本发明实施例提供的另一种用于工控系统的关键数据的可信验证方法流程图;
图3示出了本发明实施例提供的再一种用于工控系统的关键数据的可信验证方法流程图;
图4示出了本发明实施例提供的一种用于工控系统的关键数据的可信验证系统的结构示意图;
图5示出了本发明实施例提供的另一种用于工控系统的关键数据的可信验证系统的结构示意图;
图6示出了本发明实施例提供的一种计算机设备的实体结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
目前,大多数的工控系统的关键数据下发,都是采用明文的方式,且无安全防护措施,一旦有恶意攻击者入侵到工程师站和工控系统的网络,即可通过篡改信息破坏关键数据或是通过中间人攻击的方式对关键数据进行篡改,造成不可估计的损失。本实施例中的关键数据指的是:在工业控制系统中,系统配置参数、控制指令、组态工程等数据。
介于此,本发明提供了一种用于工控系统的关键数据的可信验证方法,应用于控制器端,如PLC端,参见图2,包括如下步骤:
101、对工程师站发送的经签名的关键数据下发命令进行验签,若通过验签,则生成随机数和随机计算规则。
这里,工程师站能够与用户进行交互,其具有多种功能,功能包括:策略配置、告警查看、组态工程编程、PLC在线状态查看、PLC日志导出等功能,用户在与工程师站交互功能之前,工程师站均需要用户登录,因此,为避免非法用户的登录,用户在登录时,必须将具有内置用户证书的UKEY插入至工程师站,待插入UKEY后,工程师站与UKEY交换用户证书,对用户进行身份认证,待认证通过后,则证明是合法用户,可保证登录工程师站的用户的身份可信。
需要说明的是,工程师站在下发关键数据这一操作后,通过工程师站的私钥对下发关键数据的命令(即关键数据下发命令)进行第一次签名,并将经签名的该命令和工程师站的数字证书一并发送给控制器。这里,控制器通过工程师站的数字证书对工程师站发送的经签名的命令进行验签,可保证通信双方的身份可信性。
这里,在控制器收到工程师站发送的经签名的关键数据下发命令后,对该命令的签名信息进行验签,若验签不通过,则结束整个流程;若通过验签,则控制器生成随机数和随机计算规则。其中,随机计算规则包括加、减、乘、除、与、或、异或等,或是其他数学运算规则,且这些运算规则可以内置到控制器的程序中,使控制器能够随机选取随机计算规则的代码。本实施例不对数学运算规则的具体内容进行限定。
在一些实施方式中,对工程师站发送的经签名的关键数据下发命令进行验签,若通过验签,则生成随机数和随机计算规则,包括:获取工程师站发送的工程师站的数字证书;根据工程师站的数字证书,提取工程师站的公钥;通过工程师站的公钥对经加密的关键数据下发命令的签名信息进行验签;若通过验签,则生成随机数和随机计算规则。
这里,在控制器收到工程师站下发的经签名的关键数据下发命令、以及安全可信的工程师站的数字证书后,对该关键数据下发命令的签名信息进行验签,通过从工程师站的数字证书提取工程师站的公钥,能够确保工程师站的身份可信,然后利用工程师站的公钥对该关键数据下发命令的签名信息进行公钥验签操作,如果验签不通过,结束整个流程。如果通过验签,则控制器生成随机数及随机计算规则。其中,控制器通过对工程师站的数字证书进行提取,获取工程师站的公钥,能够实现控制器对工程站的数字证书验证,进而保证工程师站的身份可信性。
102、对随机数和随机计算规则依次加密和签名,并将经加密和签名的随机数和随机计算规则发送给工程师站。
这里,控制器对随机数和随机计算规则依次加密和签名,能够使工程师站在接收该随机数和随机计算规则时,通过对签名信息的验签,确保接收到的随机数和随机计算规则的可信性;并在保证该随机数和随机计算规则的可信性后,再对其进行解密,进而保证了工程师站所获取到的随机数和随机计算规则下发的安全性。
进一步的,对随机数和随机计算规则依次加密和签名,并将经加密和签名的随机数和随机计算规则发送给工程师站,包括:通过工程师站的公钥对随机数和随机计算规则进行加密,获取经加密的随机数和随机计算规则;通过控制器的私钥对经加密的随机数和随机计算规则进行签名,完成对经加密的随机数和随机计算规则的签名;将经加密和签名的随机数和随机计算规则、以及控制器的数字证书发送给工程师站。
通过工程师站的公钥对随机数和随机计算规则加密后,再通过控制器的私钥对经加密的随机数和随机计算规则签名,能够使工程师站接收经加密和签名的随机数和随机计算规则后,工程师站通过对控制器的数字证书提取,获取控制器的公钥,并通过控制器的公钥对随机数和随机计算规则的签名信息进行验签后,通过工程师站的私钥对经加密的随机数解密,以保证控制器向工程师站发送的经加密和签名的随机数和随机计算规则的身份可信性。
103、获取工程师站发送的经加密和签名的计算结果和关键数据。
其中,计算结果包括UKEY根据随机计算规则对工程师站发送的经解密的随机数计算的结果。
需要说明的是,通过控制器产生的随机数及随机计算规则,在通过UKEY对工程师站发送的经解密的随机数进行计算的过程中,由于UKEY中的访问控制权限可设置得非常严格,比如不允许任何读、写和修改,因此,通过在UKEY中预置的随机计算规则对工程师站发送的经解密的随机数进行计算,可有效防止工程师站被操纵后行为不受控制的问题。
在一些实施方式中,UKEY根据随机计算规则对工程师站发送的经解密的随机数计算的结果,包括:使UKEY接收工程师站发送的经解密的随机数和控制器的公钥,并在UKEY中预置随机计算规则;根据随机计算规则对经解密的随机数进行计算,获得计算结果;通过控制器的公钥对计算结果进行加密,获取经加密和签名的计算结果。在其他的实施例中,还可以使UKEY接收工程师站发送的经解密的随机数、随机算计规则和控制器的公钥。
这里,在UKEY中预置的随机计算规则与控制器中的随机计算规则一致,以保证UKEY对经解密的随机数计算出的计算结果能够与控制器中的预设结果相对应。其中,UKEY通过接收到的控制器的数字证书,提取控制器的公钥,再通过该公钥对计算结果进行加密,以保证UKEY向控制器发送的经加密和签名的计算结果的身份可信性。
104、对工程师站发送的经加密和签名的计算结果和关键数据进行验签,若通过验签,则对经加密和签名的计算结果解密。
这里,控制器通过对工程师站发送的经加密和签名的计算结果和关键数据进行验签,能够确保该计算结果和关键数据的身份可信性,若验签不通过,则结束流程。
在一些实施方式中,对工程师站发送的经加密和签名的计算结果和关键数据进行验签,若通过验签,则对经加密和签名的计算结果解密,包括:通过工程师站的公钥对经加密和签名的计算结果和关键数据进行验签;若通过验签,则通过控制器的私钥对经加密和签名的计算结果进行解密。
控制器通过工程师站的数字证书,提取工程师站的公钥,再通过该公钥对经加密和签名的计算结果和关键数据验签,可保证该关键数据的身份可信性。在该关键数据通过验签后,再通过控制器的私钥对经加密和签名的计算结果进行解密,能够获取信息安全的计算结果。
105、将解密后的计算结果与预设结果进行对比,若对比结果相同,则对经加密和签名的关键数据解密。
如果对比结果不一致,则结束流程,如果比对结果一致,则对该关键数据的加密信息,利用控制器的私钥进行解密,并接受关键数据,比如执行控制命令或组态工程,进行业务处理。
本发明提供的用于工控系统的关键数据的可信验证方法,应用于控制器端,通过使控制器对工程师站发送的经加密的关键数据下发命令验签,以保证关键数据下发命令在控制器和工程师站之间的可信性,同时,控制器对经加密和签名关键数据解密,能够保证计算结果在控制器和工程师站之间的数据加密性,最后,通过将解密后的计算结果与预设结果进行对比,并根据对比结果相同,对经加密和签名的关键数据解密,以完成对关键数据的信任验证,进而保证关键数据的安全下发。总之,本发明提供的方法,能够实现控制器和工程师站之间的通信双方身份认证、数据加密、签名验签、随机数校验等多个维度的保障,进而实现关键数据的安全下发。
本发明提供了一种用于工控系统的关键数据的可信验证方法,应用于工程师站端,参见图2,包括如下步骤:
201、将经签名的关键数据下发命令和经加密和签名的关键数据分别发送给控制器。
这里,工程师站收到控制器的随机数及随机计算规则的签名信息及控制器的数字证书后,会首先从控制器的数字证书中提取控制器的公钥,验证控制器的身份可信,进而保证接收到的随机数及随机计算规则的可信性。
在一些实施方式中,将经签名的关键数据下发命令和经加密和签名的关键数据分别发送给控制器,包括:通过工程师站的私钥对工程师站下发的关键数据下发命令进行签名,获取经签名的关键数据下发命令;将经签名的关键数据下发命令和工程师站的数字证书发送给控制器;获取UKEY发送的控制器的数字证书,并提取控制器的公钥;通过控制器的公钥对关键数据进行加密,获取经加密的关键数据;通过工程师站的私钥对经加密的关键数据和经加密的关键数据进行签名,获得签名密文;将签名密文和工程师站的数字证书发送给控制器。
这里,通过工程师站的私钥对工程师站下发的关键数据下发命令进行签名,使控制器根据该签名信息对该关键数据进行验签,进而保证该关键数据下发命令的身份可信性;通过工程师站的数字证书发送给控制器、获取UKEY发送的控制器的数字证书、以及将工程师站的数字证书发送给控制器,实现了工程师站和控制器站之间的数字证书之间的交换,可保证控制器和工程师站之间的通信双方身份可信。
此外,工程师站通过提取到的控制器的公钥对关键数据进行加密,以保证后续步骤中向控制器发送的数据具有秘密性,以避免非法工作人员对该关键数据的篡改。此外,通过工程师站的私钥对经加密的关键数据进行签名,以使控制器能够对签名密文的验签,保证该签名密文的身份可信性。
202、获取经控制器加密和签名的随机数和随机计算规则。
需要说明的是,工程师站收到控制器发送的经加密和签名的随机数和随机计算规则和控制器的数字证书后,会首先从控制器的数字证书中提取控制器的公钥,验证控制器的身份可信性。
203、对经加密和签名的随机数依次进行验签和解密,获得经解密的随机数,并将经解密的随机数发送给UKEY。
需要说明的是,通过工程师站对随机数及随机计算规则依次进行验签和解密,能够保证UKEY接收的随机数及随机计算规则被加密,而且还能保证UKEY接收的随机数及随机计算规则的身份可信性。
参见图3,对经加密和签名的随机数依次进行验签和解密,获得经解密的随机数,并将经解密的随机数发送给UKEY,包括如下步骤:
2031、通过控制器的公钥对经加密的随机数和随机计算规则的签名信息进行验签。
这里,利用控制器的公钥对随机数和随机计算规则的签名信息进行验签,如果验签不通过,则结束流程。
2032、若通过验签,则生成随机验证图片。
例如:随机验证图片的显示内容为“5+2=?”,使用户通过看到随机验证图片的显示内容,能够快速的计算出该显示内容对应的答案。
2033、获取用户输入的验证信息,若验证信息和随机验证图片匹配,则获取工程师站的私钥。
用户根据随机验证图片显示的内容计算出计算结果,将该结果作为验证信息输入到工程师站的显示界面上,待工程师站获取用户输入的验证信息后,若验证信息和随机验证图片的显示内容匹配,则获取工程师站的私钥;若验证信息和随机验证图片的显示内容不匹配,可重复2次,若一直验证不通过,则结束流程。
2034、通过工程师站的私钥对经加密的随机数进行解密,获得经解密的随机数。
这里,通过工程师站的私钥对经加密的随机数进行解密,能够保证获取的解密后的随机数与控制器生成的初始随机数相同。
2035、将经解密的随机数和控制器的数字证书发送给已插入工程师站的UKEY。
这里,将经解密的随机数和控制器的数字证书一并发送给UKEY,此过程需要UKEY插入工程师站,如果未通过UKEY验证,则结束流程,如果通过,UKEY会收到经解密的随机数和控制器的数字证书。
204、获取经UKEY加密的计算结果;计算结果包括UKEY根据随机计算规则对经解密的随机数计算的结果。
需要说明的是,UKEY中预置与控制器中一致的随机计算规则与算法代码的对应关系,通过UKEY对经解密的随机数进行计算,得到计算结果。
205、将经加密和签名的关键数据和计算结果发送给控制器。
这里,将经加密和签名的计算结果和关键数据通过控制器的公钥进行加密,返回给工程师站;关键数据通过控制器的公钥进行加密后,将上述两部分信息通过工程师站的私钥进行签名,协同工程师站的数字证书,一并发给控制器。
本发明提供的一种用于工控系统的关键数据的可信验证方法,应用于工程师端,该方法通过对经控制器加密和签名的随机数和随机计算规则的验签,能够实现工程师站和控制器之间的随机数校验,以保证控制器和工程师站之间的可信性;通过获取经UKEY加密的计算结果,能够保证对计算结果的数据加密,并实现对UKEY和工程师站之间的通信双方的身份进行认证;最后,通过将经加密和签名的计算结果和关键数据发送给控制器,以使控制器通过将解密后的计算结果与预设结果进行对比,并根据对比结果相同,对经加密的关键数据解密,以完成对关键数据的信任验证,进而保证关键数据的安全下发。总之,本发明提供的方法,能够实现控制器和工程师站之间的通信双方身份认证、数据加密、签名验签、随机数校验等多个维度的保障,进而实现关键数据的安全下发。
进一步的,作为对上述图1所示方法的实现,本发明实施例提供了一种用于工控系统的关键数据的可信验证系统,位于控制器端,如图4所示,该系统包括:
验签模块41,用于对工程师站发送的经签名的关键数据下发命令进行验签,若通过验签,则生成随机数和随机计算规则;
加密签名模块42,用于对随机数和随机计算规则依次加密和签名,并将经加密和签名的随机数和随机计算规则发送给工程师站;
第一获取模块43,用于获取工程师站发送的经加密和签名的计算结果和关键数据;计算结果包括UKEY根据随机计算规则对工程师站发送的经解密的随机数计算的结果;
第二验签模块44,用于对工程师站发送的经加密的关键数据进行验签,若通过验签,则对经加密和签名的计算结果和关键数据解密;
验证模块45,用于将解密后的计算结果与预设结果进行对比,若对比结果相同,则对经加密的关键数据解密。
进一步的,验签模块包括:
第一数字证书获取单元,用于获取工程师站发送的工程师站的数字证书;
第一公钥提取单元,用于根据工程师站的数字证书,提取工程师站的公钥;
第一验签单元,用于通过工程师站的公钥对经加密的关键数据的签名信息进行验签;
第一生成单元,用于若通过验签,则生成随机数和随机计算规则。
进一步的,加密签名模块包括:
第一加密单元,用于通过工程师站的公钥对随机数和随机计算规则进行加密,获取经加密的随机数和随机计算规则;
第一签名单元,用于通过控制器的私钥对经加密的随机数和随机计算规则进行签名,完成对经加密的随机数和随机计算规则的签名;
第一发送单元,用于将经加密和签名的随机数和随机计算规则、以及控制器的数字证书发送给工程师站;
第二验签模块包括:
第二验签单元,用于通过工程师站的公钥对经加密的关键数据进行验签;
第一解密单元,用于若通过验签,则通过控制器的私钥对经加密和签名的计算结果和关键数据进行解密;
第一获取模块包括:
预置单元,用于使UKEY接收工程师站发送的经解密的随机数和控制器的公钥,并在UKEY中预置随机计算规则;
计算单元,用于根据随机计算规则对经解密的随机数进行计算,获得计算结果;
第二加密单元,用于通过控制器的公钥对计算结果进行加密,获取经加密和签名的计算结果和关键数据。
本发明提供的一种用于工控系统的关键数据的可信验证系统,通过使控制器对工程师站发送的经加密的关键数据验签,以保证关键数据在控制器和工程师站之间的可信性,同时,控制器对经加密和签名的计算结果和关键数据解密,能够保证计算结果在控制器和工程师站之间的数据加密性,最后,通过将解密后的计算结果与预设结果进行对比,并根据对比结果相同,对经加密的关键数据解密,以完成对关键数据的信任验证,进而保证关键数据的安全下发。总之,本发明提供的方法,能够实现控制器和工程师站之间的通信双方身份认证、数据加密、签名验签、随机数校验等多个维度的保障,进而实现关键数据的安全下发。
进一步的,作为对上述图2所示方法的实现,本发明实施例提供了另一种用于工控系统的关键数据的可信验证系统,位于工程师站端,参见图5,包括:
第一发送模块51,用于将经签名的关键数据下发命令和经加密和签名的关键数据分别发送给控制器;
第二获取模块52,用于获取经控制器加密和签名的随机数和随机计算规则;
第二发送模块53,用于对经加密和签名的随机数依次进行验签和解密,获得经解密的随机数,并将经解密的随机数发送给UKEY;
第三获取模块54,用于获取经UKEY加密的计算结果;计算结果包括UKEY根据随机计算规则对经解密的随机数计算的结果;
第三发送模块55,用于将经加密和签名的关键数据和计算结果发送给控制器。
进一步的,第一发送模块包括:
第二签名单元,用于通过工程师站的私钥对工程师站下发的关键数据下发命令进行签名,获取经签名的关键数据下发命令;
第二发送单元,用于将经签名的关键数据下发命令和工程师站的数字证书发送给控制器;
第二公钥提取单元,用于获取UKEY发送的控制器的数字证书,并提取控制器的公钥;
第三加密单元,用于通过控制器的公钥对关键数据进行加密,获取经加密的关键数据;
第三签名单元,用于通过工程师站的私钥对经加密的关键数据下发命令和经加密和签名的计算结果进行签名,获得签名密文;
第三发送单元,用于将签名密文和工程师站的数字证书发送给控制器。
进一步的,第二发送模块包括:
第三验签单元,用于通过控制器的公钥对经加密的随机数和随机计算规则的签名信息进行验签;
随机验证图片生成单元,用于若通过验签,则生成随机验证图片;
私钥获取单元,用于获取用户输入的验证信息,若验证信息和随机验证图片匹配,则获取工程师站的私钥;
第二解密单元,用于通过工程师站的私钥对经加密的随机数进行解密,获得经解密的随机数;
第四发送单元,用于将经解密的随机数和控制器的数字证书发送给已插入工程师站的UKEY。
本发明提供的一种用于工控系统的关键数据的可信验证系统,通过对经控制器加密和签名的随机数和随机计算规则的验签,能够实现工程师站和控制器之间的随机数校验,以保证控制器和工程师站之间的可信性;通过获取经UKEY加密的计算结果,能够保证对计算结果的数据加密,并实现对UKEY和工程师站之间的通信双方的身份进行认证;最后,通过将经加密和签名的关键数据和计算结果发送给控制器,以使控制器通过将解密后的计算结果与预设结果进行对比,并根据对比结果相同,对经加密的关键数据解密,以完成对关键数据的信任验证,进而保证关键数据的安全下发。总之,本发明提供的方法,能够实现控制器和工程师站之间的通信双方身份认证、数据加密、签名验签、随机数校验等多个维度的保障,进而实现关键数据的安全下发。
根据本发明一个实施例提供了一种存储介质,存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的用于工控系统的关键数据的可信验证系统。
基于上述如图1和2所示方法、以及如图4和5所示系统的实施例,本发明实施例还提供了一种计算机设备的实体结构图,如图6所示,该计算机设备包括:处理器61、存储器62、及存储在存储器62上并可在处理器上运行的计算机程序,其中存储器62和处理器61均设置在总线63上处理器61执行程序时实现图1和2所示的步骤在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (10)
1.一种用于工控系统的关键数据的可信验证方法,其特征在于,应用于控制器端,包括:
对工程师站发送的经签名的关键数据下发命令进行验签,若通过验签,则生成随机数和随机计算规则;
对所述随机数和随机计算规则依次加密和签名,并将经加密和签名的所述随机数和随机计算规则发送给所述工程师站;
获取所述工程师站发送的经加密和签名的计算结果和关键数据;所述计算结果包括UKEY根据所述随机计算规则对所述工程师站发送的经解密的随机数计算的结果;
对所述工程师站发送的经加密和签名的所述计算结果和所述关键数据进行验签,若通过验签,则对经加密和签名的所述计算结果解密;
将解密后的所述计算结果与预设结果进行对比,若对比结果相同,则对经加密和签名的所述关键数据解密。
2.根据权利要求1所述的方法,其特征在于,所述对工程师站发送的经签名的关键数据下发命令进行验签,若通过验签,则生成随机数和随机计算规则,包括:
获取所述工程师站发送的工程师站的数字证书;
根据所述工程师站的数字证书,提取所述工程师站的公钥;
通过所述工程师站的公钥对经加密的所述关键数据下发命令的签名信息进行验签;
若通过验签,则生成所述随机数和随机计算规则。
3.根据权利要求2所述的方法,其特征在于,所述对所述随机数和随机计算规则依次加密和签名,并将经加密和签名的所述随机数和随机计算规则发送给所述工程师站,包括:
通过所述工程师站的公钥对所述随机数和随机计算规则进行加密,获取经加密的所述随机数和随机计算规则;
通过所述控制器的私钥对经加密的所述随机数和随机计算规则进行签名,完成对经加密的所述随机数和随机计算规则的签名;
将经加密和签名的所述随机数和随机计算规则、以及所述控制器的数字证书发送给所述工程师站;
所述对工程师站发送的经加密和签名的所述计算结果和关键数据进行验签,若通过验签,则对经加密的所述计算结果解密,包括:
通过所述工程师站的公钥对经加密和签名的所述计算结果和关键数据进行验签;
若通过验签,则通过所述控制器的私钥对经加密的所述计算结果进行解密;
所述UKEY根据所述随机计算规则对所述工程师站发送的经解密的随机数计算的结果,包括:
使所述UKEY接收所述工程师站发送的经解密的所述随机数和所述控制器的公钥,并在所述UKEY中预置所述随机计算规则;
根据所述随机计算规则对经解密的所述随机数进行计算,获得所述计算结果;
通过所述控制器的公钥对所述计算结果进行加密,获取经加密的所述计算结果。
4.一种用于工控系统的关键数据的可信验证方法,其特征在于,应用于工程师站端,包括:
将经签名的关键数据下发命令和经加密和签名的所述关键数据分别发送给控制器;
获取经所述控制器加密和签名的随机数和随机计算规则;
对经加密和签名的所述随机数依次进行验签和解密,获得经解密的随机数,并将经解密的所述随机数发送给UKEY;
获取经所述UKEY加密的计算结果;所述计算结果包括所述UKEY根据所述随机计算规则对经解密的所述随机数计算的结果;
将经加密和签名的所述关键数据和所述计算结果发送给所述控制器。
5.根据权利要求4所述的方法,其特征在于,所述将经签名的关键数据下发命令和经加密和签名的所述关键数据分别发送给控制器,包括:
通过所述工程师站的私钥对所述工程师站下发的所述关键数据下发命令进行签名,获取经签名的所述关键数据下发命令;
将经签名的所述关键数据下发命令和所述工程师站的数字证书发送给所述控制器;
获取所述UKEY发送的所述控制器的数字证书,并提取所述控制器的公钥;
通过所述控制器的公钥对所述关键数据进行加密,获取经加密的所述关键数据;
通过所述工程师站的私钥对经加密的所述关键数据和经加密的所述计算结果进行签名,获得签名密文;
将所述签名密文和所述工程师站的数字证书发送给所述控制器。
6.根据权利要求5所述的方法,其特征在于,所述对经加密和签名的所述随机数依次进行验签和解密,获得经解密的随机数,并将经解密的所述随机数发送给UKEY,包括:
通过所述控制器的公钥对经加密的所述随机数和随机计算规则的签名信息进行验签;
若通过验签,则生成随机验证图片;
获取用户输入的验证信息,若所述验证信息和所述随机验证图片匹配,则获取所述工程师站的私钥;
通过所述工程师站的私钥对经加密的所述随机数进行解密,获得经解密的随机数;
将经解密的所述随机数和所述控制器的数字证书发送给已插入所述工程师站的UKEY。
7.一种用于工控系统的关键数据的可信验证系统,其特征在于,位于控制器端,包括:
验签模块,用于对工程师站发送的经签名的关键数据下发命令进行验签,若通过验签,则生成随机数和随机计算规则;
加密签名模块,用于对所述随机数和随机计算规则依次加密和签名,并将经加密和签名的所述随机数和随机计算规则发送给所述工程师站;
第一获取模块,用于获取所述工程师站发送的经加密和签名的计算结果和所述关键数据;所述计算结果包括UKEY根据所述随机计算规则对所述工程师站发送的经解密的随机数计算的结果;
第二验签模块,用于对所述工程师站发送的经加密和签名的所述计算结果和所述关键数据进行验签,若通过验签,则对经加密和签名的所述计算结果解密;
验证模块,用于将解密后的所述计算结果与预设结果进行对比,若对比结果相同,则对经加密和签名的所述关键数据解密。
8.一种用于工控系统的关键数据的可信验证系统,其特征在于,位于工程师站端,包括:
第一发送模块,用于将经签名的关键数据下发命令和经加密和签名的所述关键数据分别发送给控制器;
第二获取模块,用于获取经所述控制器加密和签名的随机数和随机计算规则;
第二发送模块,用于对经加密和签名的所述随机数依次进行验签和解密,获得经解密的随机数,并将经解密的所述随机数发送给UKEY;
第三获取模块,用于获取经所述UKEY加密的计算结果;所述计算结果包括所述UKEY根据所述随机计算规则对经解密的所述随机数计算的结果;
第三发送模块,用于将经加密和签名的所述关键数据和所述计算结果发送给所述控制器。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311172859.6A CN117216777A (zh) | 2023-09-12 | 2023-09-12 | 一种用于工控系统的关键数据的可信验证方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311172859.6A CN117216777A (zh) | 2023-09-12 | 2023-09-12 | 一种用于工控系统的关键数据的可信验证方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117216777A true CN117216777A (zh) | 2023-12-12 |
Family
ID=89041930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311172859.6A Pending CN117216777A (zh) | 2023-09-12 | 2023-09-12 | 一种用于工控系统的关键数据的可信验证方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117216777A (zh) |
-
2023
- 2023-09-12 CN CN202311172859.6A patent/CN117216777A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109309565B (zh) | 一种安全认证的方法及装置 | |
CN110519309B (zh) | 数据传输方法、装置、终端、服务器及存储介质 | |
CN110519260B (zh) | 一种信息处理方法及信息处理装置 | |
CN101828357B (zh) | 用于证书提供的方法和装置 | |
CN102138300B (zh) | 消息认证码预计算在安全存储器中的应用 | |
CN107743067B (zh) | 数字证书的颁发方法、系统、终端以及存储介质 | |
CN106850207B (zh) | 无ca的身份认证方法和系统 | |
CN103095456A (zh) | 交易报文的处理方法和系统 | |
CN105245341A (zh) | 远程身份认证方法和系统以及远程开户方法和系统 | |
CN109257328B (zh) | 一种现场运维数据的安全交互方法及装置 | |
CN107135070A (zh) | Rsa密钥对和证书的注入方法、架构及系统 | |
CN108809936B (zh) | 一种基于混合加密算法的智能移动终端身份验证方法及其实现系统 | |
CN103179129A (zh) | 一种基于云计算IaaS环境的远程证明方法 | |
CN111327419B (zh) | 基于秘密共享的抗量子计算区块链的方法及系统 | |
CN104579680B (zh) | 一种安全分发种子的方法 | |
CN103944724A (zh) | 一种用户身份识别卡 | |
CN103560892A (zh) | 密钥生成方法和密钥生成装置 | |
CN111614621A (zh) | 物联网通信方法和系统 | |
CN107707562A (zh) | 一种非对称动态令牌加、解密算法的方法、装置 | |
CN105262586B (zh) | 汽车防盗设备的密钥分配方法及装置 | |
CN109922022A (zh) | 物联网通信方法、平台、终端和系统 | |
CN103746802A (zh) | 一种基于协商密钥的数据处理方法和手机 | |
CN103813333A (zh) | 一种基于协商密钥的数据处理方法 | |
CN105933117A (zh) | 一种基于tpm秘钥安全存储的数据加解密装置和方法 | |
CN104883260B (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 |