CN111624937A - 一种工控系统plc动态度量的保护方法及工控系统plc - Google Patents

一种工控系统plc动态度量的保护方法及工控系统plc Download PDF

Info

Publication number
CN111624937A
CN111624937A CN202010472746.8A CN202010472746A CN111624937A CN 111624937 A CN111624937 A CN 111624937A CN 202010472746 A CN202010472746 A CN 202010472746A CN 111624937 A CN111624937 A CN 111624937A
Authority
CN
China
Prior art keywords
trusted
plc
firmware
measurement
event
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
Application number
CN202010472746.8A
Other languages
English (en)
Inventor
楚兵
乐翔
李秀燃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo Helishi Information Security Research Institute Co ltd
Original Assignee
Ningbo Helishi Information Security Research Institute Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ningbo Helishi Information Security Research Institute Co ltd filed Critical Ningbo Helishi Information Security Research Institute Co ltd
Priority to CN202010472746.8A priority Critical patent/CN111624937A/zh
Publication of CN111624937A publication Critical patent/CN111624937A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14006Safety, monitoring in general

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

本发明提供一种工控系统PLC动态度量的保护方法及工控系统PLC,包括:在可信可编程逻辑控制器PLC运行状态下,基于访问控制ABAC机制获取任意事件发生时对应的待度量数据;调用存储于可信硬件平台的度量策略对待度量数据进行度量,得到度量值;查询预先存储于可信基准数据库中事件对应的可信数据对度量值进行计算,得到判定结果对应的可信值;根据可信值确定事件是否符合预期;若符合预期,继续执行事件;若不符合预期,根据安全可信策略执行相应的动作,并生成包含不符合预期结果的审计日志,发送至PLC的安全管理平台。在本方案中,PLC能够根据发生不同的事件调用对应的度量策略,根据安全可信策略执行相应的保护操作,从而确保工控系统PLC的安全性。

Description

一种工控系统PLC动态度量的保护方法及工控系统PLC
技术领域
本发明涉及工控技术领域,尤其涉及一种工控系统PLC动态度量的保护方法及工控系统PLC。
背景技术
随着工控技术不断网络化和开放式的发展,工控技术广泛应用于电力、交通、能源、金融等工业领域,目前,可编程逻辑控制器PLC在工控技术领域被广泛应用。
由于计算机病毒,比如:震网,能够渗透进入工控系统PLC的操作系统,并对工控系统PLC的控制逻辑运算进行重新编程,而造成工控系统PLC的破坏,因此工控领域的信息安全问题日益凸显并受到业内关注。
目前,在工控系统PLC的控制逻辑运算过程中,其安全性主要依赖于工控系统PLC外围的边界防护设备,可以有效防护外部计算机病毒的攻击,但是,没有办法应对由PLC内部爆发的信息安全问题,导致PLC的安全性无法保证。
发明内容
有鉴于此,本发明实施例提供一种工控系统PLC动态度量的保护方法及工控系统PLC,以解决现有技术中PLC的安全性无法保证的问题。
为实现上述目的,本发明实施例提供如下技术方案:
本发明实施例一方面公开了一种工控系统PLC动态度量的保护方法,所述方法包括:
在可信可编程逻辑控制器PLC运行状态下,基于访问控制ABAC机制获取任意事件发生时对应的待度量数据;
调用存储于可信硬件平台的度量策略,基于所述度量策略对所述待度量数据进行度量,得到度量值;
查询预先存储于可信基准数据库中所述事件对应的可信数据对所述度量值进行计算,得到判定结果对应的可信值;
根据所述可信值确定所述事件是否符合预期;
若符合预期,继续执行所述事件;
若不符合预期,根据安全可信策略执行相应的动作,并生成包含不符合预期结果的审计日志,发送至所述PLC的安全管理平台。
可选的,若所述任意事件为主体访问客体的访问请求时,所述在可信可编程逻辑控制器PLC运行状态下,基于访问控制ABAC机制获取任意事件发生时对应的待度量数据,包括:
获取主体访问客体的访问请求,并确定所述访问请求的类型,所述访问请求中包含主体的ID;
查询所述主体的ID对应的安全可信策略;
根据所述安全可信策略获取主体和客体的属性信息;
将所述主体的属性信息、所述客体的属性信息和所述访问请求的类型打包作为所述待度量数据。
可选的,若所述任意事件为度量系统运行环境时,所述在可信可编程逻辑控制器PLC运行状态下,基于访问控制ABAC机制获取任意事件发生时对应的待度量数据,包括:
按照设定周期,根据访问控制ABAC机制从指定地址读取待度量数据,所述指定地址指向用于存储PLC业务程序代码、内核操作程序系统OS代码和计算固件代码的代码区域,所述待度量数据包括所述代码区域中所述指定地址上存储的PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码。
可选的,所述调用存储于可信硬件平台的度量策略,基于所述度量策略对所述待度量数据进行度量,得到度量值,包括:
若所述度量数据为所述主体的属性信息、所述客体的属性信息和所述访问请求的类型,调用存储于可信硬件平台中对应所述主体的属性信息、所述客体的属性信息和所述访问请求的类型的度量策略,分别对所述主体的属性信息、所述客体的属性信息和所述访问请求的类型进行度量,得到第一度量值;
若所述度量数据为所述PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码,调用存储于可信硬件平台中对应所述PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码的度量策略,分别对所述PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码进行度量,得到第二度量值。
可选的,若所述任意事件包括主体访问客体的访问请求和/或度量系统运行环境时,所述查询预先存储于可信基准数据库中所述事件对应的可信数据对所述度量结果进行计算,得到判定结果对应的可信值,包括:
查询预先存储于可信基准数据库中获取所述主体访问客体的访问请求对应的第一考核项系数和/或所述度量系统运行环境对应的第二考核项系数;
计算所述第一考核项系数和所述第一度量值的乘积得到第一可信值,和/或计算所述第二考核系数和所述第二度量值的乘积得到第二可信值。
可选的,还包括:
在可信可编程逻辑控制器PLC运行状态下,获取业务运行过程中待加密的第一重要数据文件,基于国密的SM2/SM4算法对所述待加密的第一重要数据文件进行加密;和/或,
在可信可编程逻辑控制器PLC运行状态下,获取业务运行过程中加密的重要数据文件,并基于国密的SM2/SM4算法对所述加密文件进行解密,得到第二重要数据文件;
将所述第二重要数据文件与所述PLC的关键数据文件进行比较;
若符合预期,继续执行所述第二重要数据文件对应的事件;
若不一致,确定所述第二重要数据文件对应的事件不符合预期,根据所述安全可信策略执行相应的动作,并生成包含不符合预期结果的审计日志,发送至所述PLC的安全管理平台。
本发明实施例第二方面公开了一种工控系统PLC,所述工控系统PLC包括:可信PLC、可信硬件平台和安全管理平台;
所述可信PLC包括可信固件、业务固件和访问控制固件,其中,所述可信固件和所述业务固件分别独立占用一个硬件CPU,所述业务固件中包括控制逻辑运算固件;
所述可信固件用于,在可信PLC运行状态下,基于访问控制ABAC机制获取任意事件发生时对应的待度量数据,调用存储于所述可信硬件平台的度量策略,基于所述度量策略对所述待度量数据进行度量,得到度量值;查询预先存储于可信基准数据库中所述事件对应的可信数据对所述度量值进行计算,得到判定结果对应的可信值;根据所述可信值确定所述事件是否符合预期,若符合预期,继续执行所述事件,若不符合预期,根据安全可信策略执行相应的动作,并生成包含不符合预期结果的审计日志,发送至所述PLC的安全管理平台。
可选的,所述可信固件包括:安全可信策略固件和可信计算固件;
所述安全可信策略固件用于,若所述任意事件为主体访问客体的访问请求时,基于所述控制逻辑运算固件由所述访问控制固件获取主体访问客体的访问请求,并确定所述访问请求的类型,所述访问请求中包含主体的ID;查询所述主体的ID对应的安全可信策略;根据所述安全可信策略获取主体和客体的属性信息;将所述主体的属性信息、所述客体的属性信息和所述访问请求的类型打包作为所述待度量数据;
所述可信计算固件用于,基于所述控制逻辑运算固件调用存储于可信硬件平台中对应所述主体的属性信息、所述客体的属性信息和所述访问请求的类型的度量策略,分别对所述主体的属性信息、所述客体的属性信息和所述访问请求的类型进行度量,得到第一度量值;查询预先存储于可信基准数据库中所述主体访问客体的访问请求对应的第一考核项系数;计算所述第一考核项系数和所述第一度量值的乘积得到第一可信值。
可选的,所述可信固件包括:安全可信策略固件和可信计算固件;
所述安全可信策略固件用于,若所述任意事件为度量系统运行环境时,按照设定周期,基于所述控制逻辑运算固件根据访问控制ABAC机制从指定地址读取待度量数据,所述指定地址指向用于存储PLC业务程序代码、内核操作程序系统OS代码和计算固件代码的代码区域,所述待度量数据包括所述代码区域中所述指定地址上存储的PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码;
所述可信计算固件用于,调用存储于可信硬件平台中对应所述PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码的度量策略,分别对所述PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码进行度量,得到第二度量值;查询预先存储于可信基准数据库中所述度量系统运行环境对应的第二考核项系数;计算所述第二考核系数和所述第二度量值的乘积得到第二可信值。
可选的,所述可信固件还用于,在可信PLC运行状态下,获取业务运行过程中待加密的第一重要数据文件,基于国密的SM2/SM4算法对所述待加密的第一重要数据文件进行加密;和/或,在可信PLC运行状态下,获取业务运行过程中加密的重要数据文件,并基于国密的SM2/SM4算法对所述加密文件进行解密,得到第二重要数据文件;将所述第二重要数据文件与所述PLC的关键数据文件进行比较;若符合预期,继续执行所述第二重要数据文件对应的事件;若不一致,确定所述第二重要数据文件对应的事件不符合预期,根据所述安全可信策略执行相应的动作,并生成包含不符合预期结果的审计日志,发送至所述安全管理平台。
基于上述本发明实施例提供的一种工控系统PLC动态度量的保护及工控系统PLC,该方法包括:在可信PLC运行状态下,基于访问控制ABAC机制获取任意事件发生时对应的待度量数据;调用存储于可信硬件平台的度量策略,基于度量策略对待度量数据进行度量,得到度量值;查询预先存储于可信基准数据库中事件对应的可信数据对度量值进行计算,得到判定结果对应的可信值;根据可信值确定事件是否符合预期;若符合预期,继续执行事件;若不符合预期,根据安全可信策略执行相应的动作,并生成包含不符合预期结果的审计日志,发送至PLC的安全管理平台。在本发明实施例中,在安全可信策略的管控下,PLC获取任意事件发生时对应的待度量数据,并调用可信硬件平台的度量策略对待度量数据进行度量,并根据度量结果根据安全可信策略执行相应的保护操作,从而确保工控系统PLC的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种工控系统PLC的结构示意图;
图2为本发明实施例提供的另一种工控系统PLC的结构示意图;
图3为本发明实施例提供的另一种工控系统PLC的结构示意图;
图4为本发明实施例提供的可信计算固件的原理框图;
图5为本发明实施例提供的一种度量系统运行环境主动度量框图;
图6为本发明实施例提供的一种工控系统PLC动态度量的保护方法的流程示意图;
图7为本发明实施例提供的另一种工控系统PLC动态度量的保护方法的流程示意图;
图8为本发明实施例提供的主体访问客体的访问请求的原理示意图;
图9为本发明实施例提供的又一种工控系统PLC动态度量的保护方法的流程示意图;
图10为本发明实施例提供的再一种工控系统PLC动态度量的保护方法的流程示意图;
图11为本发明实施例提供的再一种工控系统PLC动态度量的保护方法的流程示意图;
图12为本发明实施例提供的重要数据文件加解密的原理示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了方便理解,以下对本发明实施例中出现的术语进行解释说明:
可信计算技术:是在安全可信策略管控下,实现运算和防护并存的主动免疫的并行计算体系结构,比如:以密码为基因实施身份识别、状态度量、加密存储等功能,可以理解为,识别“自己”和“非己”的数据成分,从而破坏与排斥进入机体的有害物质,也就是说增加工控系统的免疫能力。
访问控制(attribute-based access control,ABAC)技术:是工业信息安全的关键技术,用于判断不同主体进程是否能访问某项资源,即某一客体文件,是对主体进程和客体文件的不同属性进行计算得到的,从而保护客体不受主体的非法操作。
在本发明实施例中,在安全可信策略的管控下,PLC获取任意事件发生时对应的待度量数据,并调用可信硬件平台的度量策略对待度量数据进行度量,根据度量结果确定对应的可信值,并根据度量结果根据安全可信策略执行相应的保护操作,从而确保工控系统PLC的安全性。
参见图1,示出了本发明实施例提供的一种工控系统PLC的结构框图,该工控系统PLC包括:可信可编程逻辑控制器(Programmable Logic Controller,PLC)10、可信硬件平台20和安全管理平台30。
可信PLC10分别与可信硬件平台20和安全管理平台30通信连接。
在本发明实施例中,可信硬件平台20用于调用国密SM2/SM4算法,根据指定的事件,设置与该事件对应的度量策略并存储。
需要说明的是,可信硬件平台20为(Trusted CryptographyModule,TCM)TCM安全芯片,能够支持可信PLC10中的可信固件进行策略管理、密码服务、工控系统PLC管理和度量控制等,从而有效保护访问工控系统PLC,防止非法用户访问工控系统PLC。
需要说明的是,任意事件包括主体访问客体的访问请求和/或度量系统运行环境。
安全管理平台30用于下发安全可信策略至可信PLC10,并接收可信PLC10发送的包含不符合预期结果的审计日志,并将包含不符合预期结果的审计日志显示,以便于用户后续查看。
在本发明实施例中,可信PLC10是指将可信计算技术和ABAC技术融入可编程逻辑控制器PLC,因此,可信PLC10可基于密码技术,在安全可信策略管控下,构建计算和防护并行的主动免疫的PLC,并能够判断不同主体进程是否能访问某项资源,即客体文件。
需要说明的是,可信PLC10通过嵌入式的方式嵌入工控系统PLC中。
基于图1示出的工控系统PLC,本发明还示出了可信PLC10的具体结构,如图2所示,可信PLC10包括可信固件11、业务固件12和访问控制固件13。
其中,可信固件11和业务固件12分别独立占用一个硬件中央处理器(centralprocessing unit,CPU)。
可信固件11、业务固件12和访问控制固件13之间通信连接。
在本发明实施例中,业务固件12包括控制逻辑运算固件。
该业务固件12用于提供PLC业务程序和相关运算。
具体的,由控制逻辑运算固件进行可信PLC的控制逻辑运算,以及调度逻辑运算相关的任务,且能够实现可信PLC的控制逻辑固件与可信PLC10的其他固件进行通信。
可选的,可信PLC还设置有输入/输出文件,该输入/输出文件是指可信PLC业务运行时所需的关键数据文件,比如:模拟量输入(Analog Input,AI)数据文件、数字量输入(Digital Input,DI)数据文件,模拟量输出(Analog Output,AO)数据文件和数字量输出(Digital Output,DO)数据文件。
可信固件11用于,在可信PLC10运行状态下,基于ABAC机制获取任意事件发生时对应的待度量数据,调用存储于可信硬件平台20的度量策略,基于度量策略对待度量数据进行度量,得到度量值;查询预先存储于可信基准数据库中事件对应的可信数据对度量值进行计算,得到判定结果对应的可信值;根据可信值确定事件是否符合预期,若符合预期,继续执行事件,若不符合预期,根据安全可信策略执行相应的动作,并生成包含不符合预期结果的审计日志,发送至PLC的安全管理平台30。
需要说明的是,将事件和事件对应的可信数据之间的关系预先存储至可信基准数据库。
具体的,可信固件11用于,在可信PLC10运行状态下,基于安全管理平台30下发的安全可信策略,基于控制逻辑运算固件由访问控制固件13获取主体访问客体的访问请求和/或度量系统运行环境发生时对应的待度量数据。
在本发明实施例中,访问控制固件13基于ABAC技术获取主体访问客体的访问请求和/或度量系统运行环境发生时对应的待度量数据。
根据可信硬件平台20预先存储的度量策略,对待度量数据进行度量,得到度量值;查询预先存储于可信基准数据库中事件对应的可信数据,并计算可信数据和度量值进行计算,得到判定结果对应的可信值;判断可信值是否符合预先设置的可信值,若符合,确定主体访问客体的访问请求和/或度量系统运行环境符合预期,并允许执行该事件的控制逻辑;若不符合预期,根据安全可信策略的动作执行阻断或不阻断操作,并生成包含不符合预期结果的审计日志,再将包含不符合预期结果的审计日志发送至PLC的安全管理平台30。
需要说明的是,预期是指预先设置的可信值,该预先设置的可信值可以通过多次实验设定,也可以根据本领域技术人员的经验进行设置。
可信基准数据库,用于预先存储任意事件,以及任意事件对应的可信数据之间的关系。
进一步,需要说明的是,可信数据是根据安全可信策略中事件对应的数据确定的,可信数据可为0或1。
其中,可信数据可包括第一考核项系数和第二考核项系数。可信值可包括第一可信值和第二可信值。
可信固件11包括:安全可信策略固件111和可信计算固件112。
在本发明实施例中,在安全可信策略的管控下,可信固件获取任意事件发生时对应的待度量数据,PLC能够根据发生不同的事件调用对应的度量策略,并根据度量策略对待度量数据进行度量,得到度量值。再根据度量值确定对应的可信值,根据可信值确定事件是否符合预期,若符合,允许执行该事件的控制逻辑。若不符合预期,根据安全可信策略执行相应的保护操作,从而确保工控系统PLC的安全性。
结合上述本发明实施例图1示出的内容,若可信固件11包括安全可信策略固件111和可信计算固件112,如图3所示。
在一具体实现中,若任意事件为主体访问客体的访问请求时,安全可信策略固件111用于,基于业务固件12中的控制逻辑运算固件由访问控制固件13获取主体访问客体的访问请求,并确定访问请求的类型;查询主体的ID对应的安全可信策略;根据安全可信策略获取主体和客体的属性信息;将主体的属性信息、客体的属性信息和访问请求的类型打包作为待度量数据。
需要说明的是,访问请求中包含主体的ID。
在本发明实施例中,钩子函数可在输入类文件的读入操作或输出类文件的写入操作前,捕获主体访问客体的访问请求。
客体是指客体文件,客体文件包括AI数据文件、DI数据文件,AO数据文件和DO数据文件等类型的文件。
访问请求的类型包括但不仅限于读、写、执行、创建或删除等。
主体和客体的属性信息包括进程名称、进程上下文、堆栈指针和进程优先级等至少一个或多个的组合。
具体的,基于控制逻辑运算固件由访问控制固件13通过自身的钩子函数捕获主体访问客体的访问请求,并确定访问请求的类型。根据主体的ID,查询安全管理平台30下发的安全可信策略中与主体ID对应的安全可信策略;根据安全可信策略获取进程名称、进程上下文、堆栈指针和进程优先级等至少一个或多个的组合。将上述得到的进程名称、进程上下文、堆栈指针和进程优先级等至少一个或多个的组合和访问请求的类型打包作为待度量数据。
可选的,安全管理平台30,用于预先根据主体ID设置与主体访问客体的访问请求对应的安全可信策略。
可信计算固件112用于,基于控制逻辑运算固件调用存储于可信硬件平台20中对应主体的属性信息、客体的属性信息和访问请求的类型的度量策略,分别对主体的属性信息、客体的属性信息和访问请求的类型进行度量,得到第一度量值;查询预先存储于可信基准数据库中主体访问客体的访问请求对应的第一考核项系数;计算第一考核项系数和第一度量值的乘积得到第一可信值。
需要说明的是,可信计算固件112包括:控制机制、判定机制、支撑机制、可信基准数据库、协作机制和度量机制,如图4所示。
可选的,协作机制用于与外部进行通信,例如用于接收安全管理平台30下发安全可信策略。
具体的,如图4所示,可信计算固件112中的控制机制接收监控数据,即安全可信策略固件111打包的待度量数据,并将待度量数据传递给度量机制。度量机制根据安全可信策略,通过支撑机制访问可信硬件平台20,并调用存储于可信硬件平台20中与主体的属性信息、客体的属性信息和访问请求的类型对应的度量策略,对主体的属性信息、客体的属性信息和访问请求的类型进行度量,得到第一度量值,然后将第一度量值传递给判定机制;判定机制查询可信基准数据库获取主体访问客体的访问请求对应的第一考核项系数,并将第一考核系数和第一度量值进行可信计算,得到第一可信值。
需要说明的是,第一可信值用于指示访问客体的访问请求对应的第一度量值的可信计算结果的布尔值。
可信基准数据库,用于预先存储主体访问客体的访问请求,以及与主体访问客体的访问请求对应的第一考核项系数之间的对应关系。
第一考核项系数是根据安全可信策略中主体访问客体的访问请求对应的数据确定的,第一考核项系数可为0或1。
可选的,在实际中,若不需要考核某项指标,即任意事件,比如主体访问客体的访问请求,那么第一考核项系数可经过经验设置。
可选的,可信硬件平台20,用于调用国密SM2/SM4算法,根据主体的属性信息、客体的属性信息和访问请求的类型,设置与访问客体的访问请求对应的度量策略。
相应的,可信计算固件112,还用于根据第一可信值确定事件是否符合预期,若符合预期,继续执行事件,若不符合预期,根据安全可信策略执行相应的动作,并生成包含不符合预期结果的审计日志,发送至PLC的安全管理平台30。
具体的,继续参见图4,判定机制判断第一可信值是否符合预先设置的可信值,若符合,确定主体访问客体的访问请求符合预期,允许执行主体访问客体的访问请求的控制逻辑;若不符合,确定主体访问客体的访问请求不符合预期,根据协作机制接收的安全可信策略中的动作执行阻断或不阻断操作,并生成包含不符合预期结果的审计日志,再将包含不符合预期结果的审计日志发送至PLC的安全管理平台30。
在发明实施例中,在安全可信策略的管控下,若任意事件为主体访问客体的访问请求时,通过安全可信策略固件由访问控制固件获取主体访问客体的访问请求发生时对应的待度量数据,PLC能够根据发生主体访问客体的访问请求调用对应的度量策略,并根据度量策略对待度量数据进行度量,得到第一度量值。可信计算固件再根据第一度量值确定对应的第一可信值,根据第一可信值确定事件是否符合预期,若符合,确定主体访问客体的访问请求符合预期,允许执行主体访问客体的访问请求的控制逻辑,若不符合预期,根据安全可信策略执行相应的保护操作,从而确保工控系统PLC的安全性。
结合上述本发明实施例图1示出的内容,若可信固件11为安全可信策略固件111和可信计算固件112,如图3所示。
在另一具体实现中,若任意事件为度量系统运行环境时,安全可信策略固件111,用于按照设定周期,基于控制逻辑运算固件根据访问控制ABAC机制从指定地址读取待度量数据。
需要说明的是,指定地址指向用于存储PLC业务程序代码、内核操作程序系统OS代码和计算固件代码的代码区域,待度量数据包括代码区域中指定地址上存储的PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码。
具体的,按照设定周期,根据访问控制ABAC机制从存储PLC业务程序代码、内核操作程序系统OS代码和计算固件代码的代码区域,读取代码区域中指定地址上存储的PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码,将PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码作为度量数据,并将待度量数据传递给可信计算固件112,如图5所示。
可选的,如图5所示,还设置有为安全可信策略固件111和可信计算固件112提供密码算法、服务接口服务的硬件密码模块。
可信计算固件112,用于调用存储于可信硬件平台中对应PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码的度量策略,分别对PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码进行度量,得到第二度量值;查询预先存储于可信基准数据库中度量系统运行环境对应的第二考核项系数;计算第二考核系数和第二度量值的乘积得到第二可信值。
具体的,继续参见图4,可信计算固件112中的控制机制接收监控数据,即安全可信策略固件111打包的待度量数据,即打包的PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码,并将待度量数据传递给度量机制。度量机制根据安全可信策略,通过支撑机制访问可信硬件平台20,并调用存储于可信硬件平台20中与PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码对应的度量策略,分别对PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码进行度量,得到第二度量值,然后将第二度量值传递给判定机制;判定机制查询可信基准数据库中度量系统运行环境对应的第二考核项系数,并将第二考核系数和第二度量值进行可信计算,得到第二可信值。
需要说明的是,第二可信值用于指示度量系统运行环境对应的第二度量值的可信计算结果的布尔值。
可信基准数据库,用于预先存储度量系统运行环境,以及与度量系统运行环境对应的第二考核项系数之间的对应关系。
第二考核项系数是根据安全可信策略中度量系统运行环境对应的参数确定的,第二考核项系数可为0或1。
可选的,可信硬件平台20,用于调用国密SM2/SM4算法,根据PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码设置与度量系统运行环境对应的度量策略。
相应的,可信计算固件112,还用于根据第二可信值确定事件是否符合预期,若符合预期,继续执行事件,若不符合预期,根据安全可信策略执行相应的动作,并生成包含不符合预期结果的审计日志,发送至PLC的安全管理平台30。
具体的,继续参见图4,判定机制判断第二可信值是否符合预先设置的可信值,若符合,确定度量系统运行环境符合预期,允许执行度量系统运行环境的控制逻辑;若不符合,确定度量系统运行环境不符合预期,根据协作机制接收的安全可信策略中的动作执行阻断或不阻断操作,并生成包含不符合预期结果的审计日志,再将包含不符合预期结果的审计日志发送至PLC的安全管理平台30。
在本发明实施例中,在安全可信策略的管控下,若任意事件为度量系统运行环境时,通过安全可信策略固件获取度量系统运行环境发生时对应的待度量数据,PLC能够根据发生度量系统运行环境调用对应的度量策略,并根据度量策略对待度量数据进行度量,得到第二度量值。可信计算固件再根据第二度量值确定对应的第二可信值,根据第二可信值确定事件是否符合预期,若符合,确定度量系统运行环境符合预期,允许执行度量系统运行环境对应的控制逻辑,若不符合预期,根据安全可信策略执行相应的保护操作,从而确保工控系统PLC的安全性。
可选的,基于上述图1示出的工控系统,可信固件11还用于,在可信PLC10运行状态下,获取业务运行过程中待加密的第一重要数据文件,基于国密的SM2/SM4算法对待加密的第一重要数据文件进行加密;和/或,在可信PLC10运行状态下,获取业务运行过程中加密的重要数据文件,并基于国密的SM2/SM4算法对加密文件进行解密,得到第二重要数据文件;将第二重要数据文件与PLC的关键数据文件进行比较;若符合预期,继续执行第二重要数据文件对应的事件;若不一致,确定第二重要数据文件对应的事件不符合预期,根据安全可信策略执行相应的动作,并生成包含不符合预期结果的审计日志,发送至安全管理平台30。
在本发明实施例中,待加密的第一重要数据文件是明文。
待加密的第一重要数据文件可以是技术人员想要下载的工程文件、固件文件或重要变量文件等。
具体的,在可信PLC运行状态下,获取业务运行过程中技术人员想要下载的工程文件、固件文件或重要变量文件;基于国密的SM2/SM4算法,利用SM加密函数和预设的密钥对第一重要数据文件进行加密,得到与第一重要数据文件对应的密文。
和/或,获取业务运行过程中加密的工程文件、固件文件或重要变量文件对应的密文;基于国密SM2/SM4算法,通过与SM加密函数所对应的SM解密函数和与加密文件所匹配的密钥,对工程文件、固件文件或重要变量文件对应的密文进行解密,得到第二重要数据文件,即明文数据。判断第二重要数据文件和PLC的关键数据文件是否一致,若一致,确定第二重要数据文件对应的事件符合预期,继续执行第二重要数据文件对应的事件;若不一致,确定第二重要数据文件对应的事件不符合预期,根据安全可信策略中的动作执行阻断或不阻断操作,并生成包含不符合预期结果的审计日志,再将包含不符合预期结果的审计日志发送至PLC的安全管理平台30。
需要说明的是,SM加密函数是根据重要文件的内容进行设定的,比如固件文件,可通过数字签名算法SM2加密函数
在本发明实施例中,在安全可信策略的管控下,可信固件获取业务运行过程中的重要数据文件,并基于国密的SM2/SM4算法对重要文件进行加密处理,得到重要文件的密文。在加密处理后,获取重要文件的密文。基于国密SM2/SM4算法,通过与SM加密函数所对应的SM解密函数和与加密文件所匹配的密钥,对重要文件的密文进行解密。使得PLC能够根据发生不同的重要数据文件调用对应的国密算法。从而能够防止重要数据文件被窃取,且能够防止重要数据文件的信息被泄露。
基于上述本发明实施例公开的一种工控系统PLC,本发明实施例还对应公开了一种工控系统PLC动态度量的保护方法。
如图6所示,为本发明实施例提供的一种工控系统PLC动态度量的保护方法的流程示意图,该方法包括:
步骤S601:在可信PLC运行状态下,基于ABAC机制获取任意事件发生时对应的待度量数据。
需要说明的是,任意事件包括主体访问客体的访问请求和/或度量系统运行环境。
在具体实现步骤S601的过程中,在可信PLC运行状态下,基于ABAC机制,获取主体访问客体的访问请求和/或度量系统运行环境发生时对应的待度量数据。
步骤S602:调用存储于可信硬件平台的度量策略,基于度量策略对待度量数据进行度量,得到度量值。
在具体实现步骤S602的过程中,根据可信硬件平台预先存储的与主体访问客体的访问请求和/或度量系统运行环境对应的度量策略,分别对与该度量策略所对应的主体访问客体的访问请求和/或度量系统运行环境进行度量,得到度量值。
步骤S603:查询预先存储于可信基准数据库中事件对应的可信数据,并对度量值进行计算,得到判定结果对应的可信值。
在本发明实施例中,将任意事件,以及任意事件对应的可信数据之间的关系预先存储至可信基准数据库。
在具体实现步骤S603的过程中,查询预先存储于可信基准数据库中事件对应的可信数据,并计算可信数据和度量值进行计算,得到判定结果对应的可信值。
需要说明的是,可信数据是根据安全可信策略中事件对应的数据确定的,可信数据可为0或1。
可信数据包括第一考核项系数和第二考核项系数。可信值包括第一可信值和第二可信值。
步骤S604:根据可信值确定事件是否符合预期,若符合预期,执行步骤S605,若不符合预期,执行步骤S606。
需要说明的是,预期是指预先设置的可信值,该预先设置的可信值可以通过多次实验设定,也可以根据本领域技术人员的经验进行设置。
在具体实现步骤S604的过程中,判断可信值是否符合预先设置的可信值,若符合,确定主体访问客体的访问请求和/或度量系统运行环境符合预期,并执行步骤S605,若不符合,确定主体访问客体的访问请求和/或度量系统运行环境不符合预期,并执行步骤S606。
步骤S605:继续执行事件。
在具体实现步骤S605的过程中,允许执行该事件的控制逻辑。
步骤S606:根据安全可信策略执行相应的动作,并生成包含不符合预期结果的审计日志,发送至PLC的安全管理平台。
在具体实现步骤S606的过程中,根据安全可信策略的动作执行阻断或不阻断操作,并生成包含不符合预期结果的审计日志,再将包含不符合预期结果的审计日志发送至PLC的安全管理平台。
需要说明的是,上述本发明实施例公开的工控系统PLC动态度量的保护方法的具体执行过程,与上述本发明实施示出的工控系统PLC中的各个单元具体的原理和执行过程相同,可参见上述本发明实施例公开的工控系统PLC中相应的部分,这里不再进行赘述。
在本发明实施例中,在安全可信策略的管控下,可信固件获取任意事件发生时对应的待度量数据,PLC能够根据发生不同的事件调用对应的度量策略,并根据度量策略对待度量数据进行度量,得到度量值。再根据度量值确定对应的可信值,根据可信值确定事件是否符合预期,若符合,允许执行该事件的控制逻辑。若不符合预期,根据安全可信策略执行相应的保护操作,从而确保工控系统PLC的安全性。
基于上述图6示出的工控系统PLC动态度量的保护方法,任意事件包括主体访问客体的访问请求和/或度量系统运行环境,下面分别进行说明。
可选的,若任意事件为主体访问客体的访问请求,在本发明一实施方式中,如图7所示,为本发明实施例提供的另一种工控系统PLC动态度量的保护方法,该方法包括:
步骤S701:获取主体访问客体的访问请求,并确定访问请求的类型。
在步骤S701中,访问请求中包含主体的ID。
在具体实现步骤S701的过程中,基于控制逻辑运算固件由访问控制固件通过自身的钩子函数捕获主体访问客体的访问请求,并确定访问请求的类型。
需要说明的是,钩子函数可在输入类文件的读入操作或输出类文件的写入操作前,捕获主体访问客体的访问请求。
客体是指客体文件,客体文件包括AI数据文件、DI数据文件,AO数据文件和DO数据文件等类型的文件。
访问请求的类型包括但不仅限于读、写、执行、创建或删除等。
步骤S702:查询主体的ID对应的安全可信策略。
在步骤S702中,预先根据主体ID设置与主体访问客体的访问请求对应的安全可信策略。
在具体实现步骤S702的过程中,根据主体的ID,查询安全管理平台下发的安全可信策略中与主体ID对应的安全可信策略。
步骤S703:根据ABAC机制获取主体和客体的属性信息。
在步骤S703中,主体和客体的属性信息包括进程名称、进程上下文、堆栈指针和进程优先级等至少一个或多个的组合。
在具体实现步骤S703的过程中,根据ABAC机制获取进程名称、进程上下文、堆栈指针和进程优先级等至少一个或多个的组合。
步骤S704:将主体的属性信息、客体的属性信息和访问请求的类型打包作为待度量数据。
在具体实现步骤S704的过程中,将上述得到的进程名称、进程上下文、堆栈指针和进程优先级等至少一个或多个的组合和访问请求的类型打包作为待度量数据。
为了更好的理解上述步骤S701至步骤S704示出的确定待度量数据的具体内容,下面进行举例说明。
如图8所示,可信组件B在主体进程b发起客体文件的访问时,基于业务固件中的控制逻辑运算固件由访问控制固件通过自身的钩子函数捕获主体访问客体的访问请求,并确定访问请求的类型为读AI数据文件。
根据主体的ID,查询安全管理平台下发的安全可信策略中与主体ID对应的安全可信策略c。
根据安全可信策略获取主体属性信息f1和客体的属性信息f2
将主体的属性信息f1、客体的属性信息f2和访问请求的类型读AI数据文件打包作为待度量数据。
步骤S705:调用存储于可信硬件平台中对应主体的属性信息、客体的属性信息和访问请求的类型的度量策略,分别对主体的属性信息、客体的属性信息和访问请求的类型进行度量,得到第一度量值。
在具体实现步骤S705的过程中,根据可信硬件平台中预先存储的与主体的属性信息、客体的属性信息和访问请求的类型对应的度量策略,对主体的属性信息、客体的属性信息和访问请求的类型进行度量,得到第一度量值。
需要说明的是,第一度量值为布尔值,比如:可通过B_LOGIC(i)来表示。
步骤S706:查询预先存储于可信基准数据库中主体访问客体的访问请求对应的第一考核项系数。
在步骤S706中,将主体访问客体的访问请求,以及与主体访问客体的访问请求对应的第一考核项系数之间的对应关系预先存储至可信基准数据库。
需要说明的是,第一考核项系数是根据安全可信策略中主体访问客体的访问请求对应的数据确定的,第一考核项系数可为0或1,比如:可通过C0来表示。
可选的,在实际中,若不需要考核某项指标,即任意事件,比如主体访问客体的访问请求,那么第一考核项系数可经过经验设置。
步骤S707:计算第一考核项系数和第一度量值的乘积得到第一可信值。
在本发明实施例中,第一可信值用于指示主客体属性对应的第一度量值的可信计算结果的布尔值。
在具体实现步骤S707的过程中,将第一考核系数和第一度量值代入公式(1)进行可信计算,得到第一可信值P1,即第一考核项系数和第一度量值的乘积。
公式(1):
P1=F(C0*B_LOGIC(i)) (1)
其中,F为主体访问客体的访问请求的布尔值运算函数,C0为第一考核项系数,B_LOGIC(i)第一度量值。
步骤S708:根据第一可信值确定事件是否符合预期,若符合预期,执行步骤S709,若不符合预期,执行步骤S710。
在具体实现步骤S708的过程中,判断第一可信值是否符合预先设置的可信值,若符合,确定主体访问客体的访问请求符合预期,执行步骤S509,若不符合,确定主体访问客体的访问请求不符合预期,执行步骤S510。
步骤S709:继续执行事件。
在具体实现步骤S709的过程中,允许执行主体访问客体的访问请求的控制逻辑。
步骤S710:根据安全可信策略执行相应的动作,并生成包含不符合预期结果的审计日志,发送至PLC的安全管理平台。
需要说明的是,步骤S710与上述步骤S606的具体实现过程相同可相互参见。
在本发明实施例中,在安全可信策略的管控下,若任意事件为主体访问客体的访问请求时,通过安全可信策略固件获取主体访问客体的访问请求发生时对应的待度量数据,PLC能够根据发生主体访问客体的访问请求调用对应的度量策略,并根据度量策略对待度量数据进行度量,得到第一度量值。可信计算固件再根据第一度量值确定对应的第一可信值,根据第一可信值确定事件是否符合预期,若符合,确定主体访问客体的访问请求符合预期,允许执行主体访问客体的访问请求的控制逻辑,若不符合预期,根据安全可信策略执行相应的保护操作,从而确保工控系统PLC的安全性。
可选的,若任意事件为度量系统运行环境,在本发明另一实施方式中,如图9所示,为本发明实施例提供的又一种工控系统PLC动态度量的保护方法,该方法包括:
步骤S901:按照设定周期,根据ABAC机制从指定地址读取待度量数据。
在步骤S901中,指定地址指向用于存储PLC业务程序代码、内核操作程序系统OS代码和计算固件代码的代码区域,待度量数据包括代码区域中指定地址上存储的PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码。
在具体实现步骤S801的过程中,按照设定周期,根据ABAC机制从存储PLC业务程序代码、内核操作程序系统OS代码和计算固件代码的代码区域读取代码区域中指定地址上存储的PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码,并将PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码打包,作为待度量数据。
步骤S902:调用存储于可信硬件平台中对应PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码的度量策略,分别对PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码进行度量,得到第二度量值。
在具体实现步骤S802的过程中,根据可信硬件平台中预先存储的与PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码对应的度量策略,分别对PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码进行度量,得到第二度量值。
需要说明的是,第二度量值也为布尔值,比如:可通过B_ENV(e)来表示。
步骤S903:查询预先存储于可信基准数据库中度量系统运行环境对应的第二考核项系数。
在步骤S903中,将度量系统运行环境,以及与度量系统运行环境对应的第二考核项系数之间的对应关系,预先存储至可信基准数据库。
需要说明的是,第二考核项系数是根据安全可信策略中度量系统运行环境对应的参数确定的,第二考核项系数可为0或1,比如:可通过C1来表示。
步骤S904:计算第二考核系数和第二度量值的乘积得到第二可信值。
在本发明实施例中,第二可信值用于指示度量系统运行环境对应的第二度量值的可信计算结果的布尔值。
在具体实现步骤S904的过程中,将第二考核系数和第二度量值代入公式(2)进行可信计算,得到第二可信值P2,即第二考核系数和第二度量值的乘积。
公式(2):
P2=F(C2*B_ENV(e)) (2)
其中,F为度量系统运行环境的布尔值运算函数,C1为第二考核项系数,B_ENV(e)第二度量值。
步骤S905:根据第二可信值确定事件是否符合预期,若符合预期,执行步骤S906,若不符合预期,执行步骤S907。
在具体实现步骤S905的过程中,判断第二可信值是否符合预先设置的可信值,若符合,确定度量系统运行环境符合预期,执行步骤S906,若不符合,确定度量系统运行环境不符合预期,执行步骤S907。
步骤S906:继续执行事件。
在具体实现步骤S906的过程中,允许执行度量系统运行环境的控制逻辑。
步骤S907:根据安全可信策略执行相应的动作,并生成包含不符合预期结果的审计日志,发送至PLC的安全管理平台。
需要说明的是,步骤S907与上述步骤S906的具体实现过程相同可相互参见。
在本发明实施例中,在安全可信策略的管控下,若任意事件为度量系统运行环境时,通过安全可信策略固件获取度量系统运行环境发生时对应的待度量数据,PLC能够根据发生度量系统运行环境调用对应的度量策略,并根据度量策略对待度量数据进行度量,得到第二度量值。可信计算固件再根据第二度量值确定对应的第二可信值,根据第二可信值确定事件是否符合预期,若符合,确定度量系统运行环境符合预期,允许执行度量系统运行环境对应的控制逻辑,若不符合预期,根据安全可信策略执行相应的保护操作,从而确保工控系统PLC的安全性。
可选的,基于上述图7和图9示出的工控系统PLC动态度量的保护方法,若所述任意事件包括主体访问客体的访问请求和度量系统运行环境。还包括以下步骤:
步骤S11:计算第一可信值和第二可信值乘积,得到第三可信值。
在具体实现步骤S11的过程中,基于上述图7中步骤S707计算得到的第一可信值和图9中步骤S905计算得到的第二可信值代入公式(3)进行逻辑与/或运算,得到第三可信值P3
P3=F(C0*B_LOGIC(i),C2*B_ENV(e)) (3)
其中,F为度量系统运行环境和/或主体访问客体的访问请求的布尔值运算函数,C0为第一考核项系数,B_LOGIC(i)第一度量值,C1为第二考核项系数,B_ENV(e)第二度量值。
步骤S12:根据第三可信值确定事件是否符合预期,若符合预期,继续执行事件,若不符合预期,执行步骤S13。
在具体实现步骤S12的过程中,判断第三可信值是否符合预先设置的可信值,若符合,确定主体访问客体的访问请求和度量系统运行环境均符合预期,执行步骤S13,若主体访问客体的访问请求和度量系统运行环境中至少一种不符合预期,则执行步骤S14。
步骤S13:继续执行事件。
在具体实现步骤S13的过程中,允许执行主体访问客体的访问请求和度量系统运行环境的控制逻辑。
步骤S14:根据安全可信策略执行相应的动作,并生成包含不符合预期结果的审计日志,发送至PLC的安全管理平台。
需要说明的是,步骤S14与步骤S606的具体实现过程相同,可相互参见。
在本发明实施例中,在安全可信策略的管控下,可信固件获取任意事件发生时对应的待度量数据,PLC能够根据发生不同的事件调用对应的度量策略,并根据度量策略对待度量数据进行度量,得到度量值。再根据度量值确定对应的可信值,根据可信值确定事件是否符合预期,若符合,允许执行该事件的控制逻辑。若不符合预期,根据安全可信策略执行相应的保护操作,从而确保工控系统PLC的安全性。
基于上述图6示出的PLC动态度量的保护方法,如图10所示,为本发明实施例提供的再一种工控系统PLC动态度量的保护方法,该方法还包括:
步骤S1001:在可信PLC运行状态下,获取业务运行过程中待加密的第一重要数据文件。
需要说明的是,待加密的第一重要数据文件是明文。
待加密的第一重要数据文件可以是技术人员想要下载的工程文件、固件文件或重要变量文件等。
在具体实现步骤S1001的过程中,在可信PLC运行状态下,获取业务运行过程中技术人员想要下载的工程文件、固件文件或重要变量文件所对应的明文。
步骤S1002:基于国密的SM2/SM4算法对待加密的第一重要数据文件进行加密。
在具体实现步骤S1002的过程中,基于国密的SM2/SM4算法,利用SM加密函数和预设的密钥对第一重要数据文件进行加密,得到与第一重要数据文件,即想要下载的工程文件、固件文件或重要变量文件对应的密文。
在本发明实施例中,在安全可信策略的管控下,可信固件获取业务运行过程中的重要数据文件,并基于国密的SM2/SM4算法对重要文件进行加密处理,使得PLC能够根据发生不同的重要数据文件调用对应的国密算法。从而能够防止重要数据文件被窃取,且能够防止重要数据文件的信息被泄露。
基于上述图10示出的工控系统PLC动态度量的保护方法,结合图10,如图11所示,为本发明实施例提供的另一种工控系统PLC动态度量的保护方法,该方法还包括:
步骤S1003:在PLC运行状态下,获取业务运行过程中加密的重要数据文件。
在具体实现步骤S1003的过程中,在PLC运行状态下,获取业务运行过程中加密的工程文件、固件文件或重要变量文件对应的密文。
步骤S1004:基于国密的SM2/SM4算法对加密文件进行解密,得到第二重要数据文件。
在具体实现步骤S1004的过程中,基于国密SM2/SM4算法,通过与SM加密函数所对应的SM解密函数和与加密文件所匹配的密钥,对工程文件、固件文件或重要变量文件对应的密文进行解密,得到第二重要数据文件,即明文。
步骤S1005:将第二重要数据文件与PLC的关键数据文件进行比较,若符合预期,确定第二重要数据文件对应的事件符合预期,执行步骤S1006,若不符合致,确定第二重要数据文件对应的事件不符合预期,执行步骤S1007。
在具体实现步骤S1005的过程中,判断第二重要数据文件和PLC的关键数据文件是否一致,若一致,确定第二重要数据文件对应的事件符合预期,执行步骤S1006,若不一致,确定第二重要数据文件对应的事件不符合预期,执行步骤S1007。
需要说明的是,PLC的关键数据文件是预先获取的。
步骤S1006:继续执行第二重要数据文件对应的事件。
步骤S1007:根据安全可信策略执行相应的动作,并生成包含不符合预期结果的审计日志,发送至PLC的安全管理平台。
需要说明的是,步骤S1007与上述步骤S606的具体实现过程相同可相互参见。
在本发明实施例中,在安全可信策略的管控下,可信固件获取业务运行过程中的重要数据文件,并基于国密的SM2/SM4算法对重要文件进行加密处理,得到重要文件的密文。在加密处理后,获取重要文件的密文。基于国密SM2/SM4算法,通过与SM加密函数所对应的SM解密函数和与加密文件所匹配的密钥,对重要文件的密文进行解密。使得PLC能够根据发生不同的重要数据文件调用对应的国密算法。从而能够防止重要数据文件被窃取,且能够防止重要数据文件的信息被泄露。
为了更好的理解的上述图10和图11示出的内容,下面进行举例说明。
如图12所示,在可信PLC运行状态下,获取业务运行过程中技术人员想要下载的工程文件a所对应的明文P。
基于国密的SM2/SM4算法,利用SM2/SM4的加密函数和预设的密钥K对技术人员想要下载的工程文件a所对应的明文P进行加密,得到与工程文件a对应的密文C。
获取业务运行过程中加密的工程文件a对应的密文C;基于国密SM2/SM4算法,通过利用SM2/SM4的加密函数和与加密文件所匹配的密钥K,对工程文件a对应的密文C进行解密,得到解密成功的工程文件a对应的明文P,即第二重要数据文件。
确定第二重要数据文件对应的事件符合预期,并继续执行第二重要数据文件对应的工程文件a。
在本发明实施例中,在安全可信策略的管控下,可信固件获取业务运行过程中的重要数据文件,并基于国密的SM2/SM4算法对重要文件进行加密处理,得到重要文件的密文。在加密处理后,获取重要文件的密文。基于国密SM2/SM4算法,通过与SM加密函数所对应的SM解密函数和与加密文件所匹配的密钥,对重要文件的密文进行解密。使得PLC能够根据发生不同的重要数据文件调用对应的国密算法。从而能够防止重要数据文件被窃取,且能够防止重要数据文件的信息被泄露。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种工控系统PLC动态度量的保护方法,其特征在于,所述方法包括:
在可信可编程逻辑控制器PLC运行状态下,基于访问控制ABAC机制获取任意事件发生时对应的待度量数据;
调用存储于可信硬件平台的度量策略,基于所述度量策略对所述待度量数据进行度量,得到度量值;
查询预先存储于可信基准数据库中所述事件对应的可信数据对所述度量值进行计算,得到判定结果对应的可信值;
根据所述可信值确定所述事件是否符合预期;
若符合预期,继续执行所述事件;
若不符合预期,根据安全可信策略执行相应的动作,并生成包含不符合预期结果的审计日志,发送至所述PLC的安全管理平台。
2.根据权利要求1所述的方法,其特征在于,若所述任意事件为主体访问客体的访问请求时,所述在可信可编程逻辑控制器PLC运行状态下,基于访问控制ABAC机制获取任意事件发生时对应的待度量数据,包括:
获取主体访问客体的访问请求,并确定所述访问请求的类型,所述访问请求中包含主体的ID;
查询所述主体的ID对应的安全可信策略;
根据所述安全可信策略获取主体和客体的属性信息;
将所述主体的属性信息、所述客体的属性信息和所述访问请求的类型打包作为所述待度量数据。
3.根据权利要求1所述的方法,其特征在于,若所述任意事件为度量系统运行环境时,所述在可信可编程逻辑控制器PLC运行状态下,基于访问控制ABAC机制获取任意事件发生时对应的待度量数据,包括:
按照设定周期,根据访问控制ABAC机制从指定地址读取待度量数据,所述指定地址指向用于存储PLC业务程序代码、内核操作程序系统OS代码和计算固件代码的代码区域,所述待度量数据包括所述代码区域中所述指定地址上存储的PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码。
4.根据权利要求2或3所述的方法,其特征在于,所述调用存储于可信硬件平台的度量策略,基于所述度量策略对所述待度量数据进行度量,得到度量值,包括:
若所述度量数据为所述主体的属性信息、所述客体的属性信息和所述访问请求的类型,调用存储于可信硬件平台中对应所述主体的属性信息、所述客体的属性信息和所述访问请求的类型的度量策略,分别对所述主体的属性信息、所述客体的属性信息和所述访问请求的类型进行度量,得到第一度量值;
若所述度量数据为所述PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码,调用存储于可信硬件平台中对应所述PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码的度量策略,分别对所述PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码进行度量,得到第二度量值。
5.根据权利要求4所述的方法,其特征在于,若所述任意事件包括主体访问客体的访问请求和/或度量系统运行环境时,所述查询预先存储于可信基准数据库中所述事件对应的可信数据对所述度量结果进行计算,得到判定结果对应的可信值,包括:
查询预先存储于可信基准数据库中获取所述主体访问客体的访问请求对应的第一考核项系数和/或所述度量系统运行环境对应的第二考核项系数;
计算所述第一考核项系数和所述第一度量值的乘积得到第一可信值,和/或计算所述第二考核系数和所述第二度量值的乘积得到第二可信值。
6.根据权利要求1所述的方法,其特征在于,还包括:
在可信可编程逻辑控制器PLC运行状态下,获取业务运行过程中待加密的第一重要数据文件,基于国密的SM2/SM4算法对所述待加密的第一重要数据文件进行加密;和/或,
在可信可编程逻辑控制器PLC运行状态下,获取业务运行过程中加密的重要数据文件,并基于国密的SM2/SM4算法对所述加密文件进行解密,得到第二重要数据文件;
将所述第二重要数据文件与所述PLC的关键数据文件进行比较;
若符合预期,继续执行所述第二重要数据文件对应的事件;
若不一致,确定所述第二重要数据文件对应的事件不符合预期,根据所述安全可信策略执行相应的动作,并生成包含不符合预期结果的审计日志,发送至所述PLC的安全管理平台。
7.一种工控系统PLC,其特征在于,所述工控系统PLC包括:可信PLC、可信硬件平台和安全管理平台;
所述可信PLC包括可信固件、业务固件和访问控制固件,其中,所述可信固件和所述业务固件分别独立占用一个硬件CPU,所述业务固件中包括控制逻辑运算固件;
所述可信固件用于,在可信PLC运行状态下,基于访问控制ABAC机制获取任意事件发生时对应的待度量数据,调用存储于所述可信硬件平台的度量策略,基于所述度量策略对所述待度量数据进行度量,得到度量值;查询预先存储于可信基准数据库中所述事件对应的可信数据对所述度量值进行计算,得到判定结果对应的可信值;根据所述可信值确定所述事件是否符合预期,若符合预期,继续执行所述事件,若不符合预期,根据安全可信策略执行相应的动作,并生成包含不符合预期结果的审计日志,发送至所述PLC的安全管理平台。
8.根据权利要求7所述的工控系统PLC,其特征在于,所述可信固件包括:安全可信策略固件和可信计算固件;
所述安全可信策略固件用于,若所述任意事件为主体访问客体的访问请求时,基于所述控制逻辑运算固件由所述访问控制固件获取主体访问客体的访问请求,并确定所述访问请求的类型,所述访问请求中包含主体的ID;查询所述主体的ID对应的安全可信策略;根据所述安全可信策略获取主体和客体的属性信息;将所述主体的属性信息、所述客体的属性信息和所述访问请求的类型打包作为所述待度量数据;
所述可信计算固件用于,基于所述控制逻辑运算固件调用存储于可信硬件平台中对应所述主体的属性信息、所述客体的属性信息和所述访问请求的类型的度量策略,分别对所述主体的属性信息、所述客体的属性信息和所述访问请求的类型进行度量,得到第一度量值;查询预先存储于可信基准数据库中所述主体访问客体的访问请求对应的第一考核项系数;计算所述第一考核项系数和所述第一度量值的乘积得到第一可信值。
9.根据权利要求7所述的工控系统PLC,其特征在于,所述可信固件包括:安全可信策略固件和可信计算固件;
所述安全可信策略固件用于,若所述任意事件为度量系统运行环境时,按照设定周期,基于所述控制逻辑运算固件根据访问控制ABAC机制从指定地址读取待度量数据,所述指定地址指向用于存储PLC业务程序代码、内核操作程序系统OS代码和计算固件代码的代码区域,所述待度量数据包括所述代码区域中所述指定地址上存储的PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码;
所述可信计算固件用于,调用存储于可信硬件平台中对应所述PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码的度量策略,分别对所述PLC业务程序代码、内核操作程序系统OS代码和/或计算固件代码进行度量,得到第二度量值;查询预先存储于可信基准数据库中所述度量系统运行环境对应的第二考核项系数;计算所述第二考核系数和所述第二度量值的乘积得到第二可信值。
10.根据权利要求7所述的工控系统PLC,其特征在于,所述可信固件还用于,在可信PLC运行状态下,获取业务运行过程中待加密的第一重要数据文件,基于国密的SM2/SM4算法对所述待加密的第一重要数据文件进行加密;和/或,在可信PLC运行状态下,获取业务运行过程中加密的重要数据文件,并基于国密的SM2/SM4算法对所述加密文件进行解密,得到第二重要数据文件;将所述第二重要数据文件与所述PLC的关键数据文件进行比较;若符合预期,继续执行所述第二重要数据文件对应的事件;若不一致,确定所述第二重要数据文件对应的事件不符合预期,根据所述安全可信策略执行相应的动作,并生成包含不符合预期结果的审计日志,发送至所述安全管理平台。
CN202010472746.8A 2020-05-29 2020-05-29 一种工控系统plc动态度量的保护方法及工控系统plc Pending CN111624937A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010472746.8A CN111624937A (zh) 2020-05-29 2020-05-29 一种工控系统plc动态度量的保护方法及工控系统plc

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010472746.8A CN111624937A (zh) 2020-05-29 2020-05-29 一种工控系统plc动态度量的保护方法及工控系统plc

Publications (1)

Publication Number Publication Date
CN111624937A true CN111624937A (zh) 2020-09-04

Family

ID=72259207

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010472746.8A Pending CN111624937A (zh) 2020-05-29 2020-05-29 一种工控系统plc动态度量的保护方法及工控系统plc

Country Status (1)

Country Link
CN (1) CN111624937A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112073431A (zh) * 2020-09-24 2020-12-11 中广核工程有限公司 工控系统网络的安全防御方法及系统
CN114301705A (zh) * 2021-12-31 2022-04-08 公安部第三研究所 一种基于可信计算的工控防御方法与系统
CN114462041A (zh) * 2021-12-24 2022-05-10 麒麟软件有限公司 基于双体系架构的动态可信访问控制方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112073431A (zh) * 2020-09-24 2020-12-11 中广核工程有限公司 工控系统网络的安全防御方法及系统
WO2021227465A1 (zh) * 2020-09-24 2021-11-18 中广核工程有限公司 工控系统网络的安全防御方法及系统
CN112073431B (zh) * 2020-09-24 2021-12-07 中广核工程有限公司 工控系统网络的安全防御方法及系统
CN114462041A (zh) * 2021-12-24 2022-05-10 麒麟软件有限公司 基于双体系架构的动态可信访问控制方法及系统
CN114301705A (zh) * 2021-12-31 2022-04-08 公安部第三研究所 一种基于可信计算的工控防御方法与系统

Similar Documents

Publication Publication Date Title
CN109923548B (zh) 通过监管进程访问加密数据实现数据保护的方法、系统及计算机程序产品
CN106980794B (zh) 基于TrustZone的文件加解密方法、装置及终端设备
JP4463887B2 (ja) コア・データ機密事項の保護記憶
CN111624937A (zh) 一种工控系统plc动态度量的保护方法及工控系统plc
CN112513857A (zh) 可信执行环境中的个性化密码安全访问控制
CN106997439B (zh) 基于TrustZone的数据加解密方法、装置及终端设备
US11290446B2 (en) Access to data stored in a cloud
EP3887979A1 (en) Personalized and cryptographically secure access control in operating systems
US9152811B2 (en) Transparent real-time access to encrypted non-relational data
KR20040094724A (ko) 멀티-토큰 실 및 실 해제
CN106992851B (zh) 基于TrustZone的数据库文件口令加解密方法、装置及终端设备
EP2795829A1 (en) Cryptographic system and methodology for securing software cryptography
US11556630B2 (en) Private password constraint validation
CN106055936A (zh) 可执行程序数据包加密/解密方法及装置
CN110401538A (zh) 数据加密方法、系统以及终端
CN108959943B (zh) 用于管理加密密钥的方法、装置、设备、存储介质以及相应车辆
CN114448648B (zh) 基于rpa的敏感凭据管理方法及系统
CN113282944B (zh) 智能锁开启方法、装置、电子设备及存储介质
Muñoz et al. TPM‐based protection for mobile agents
Pop et al. Secure migration of WebAssembly-based mobile agents between secure enclaves
CN212723725U (zh) 一种基于密码芯片的plc装置和工控系统plc
WO2024011833A1 (zh) 混合安全服务密码系统及其实现方法
CN115242382A (zh) 一种多租户模型的数据加解密方法、系统及存储介质
CN111753263A (zh) 一种基于macOS系统的无感加解密方法
Yang et al. New paradigm of inference control with trusted computing

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