一种基于人工智能的PLC信息安全保护系统和方法转让专利

申请号 : CN202311498750.1

文献号 : CN117240611B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈思宁陈锐

申请人 : 傲拓科技股份有限公司

摘要 :

本发明涉及信息安全保护技术领域,尤其涉及基于人工智能的PLC信息安全保护系统和方法,本发明提出以下方案,首先根据信任度量安全启动策略对PLC启动过程进行完整性度量检查,确认PLC的启动安全,其次根据身份认证策略与工程师站进行通讯,确认PLC的通信安全,最后根据时间间隔对PLC进行入侵检测,如果检测到异常,根据异常判断PLC内部节点出现信息安全问题的位置,进行攻击特征匹配,阻止入侵攻击。

权利要求 :

1.一种基于人工智能的PLC信息安全保护方法,其特征在于,包括以下步骤;

S1:当PLC终端启动时,根据信任度量安全启动策略对PLC启动过程进行完整性度量检查,如果出现违背信任度量安全启动策略的情况,终止运行系统,返回上一级进行重新度量;

S2:PLC终端启动后,根据身份认证策略与工程师站进行通讯,验证工程师站的身份是否正确,如果工程师站的身份正确,建立双方安全通信通道;

S3:设定时间间隔,根据时间间隔对PLC进行入侵检测,如果检测到异常,根据异常判断PLC内部节点出现信息安全问题的位置,进行攻击特征匹配,阻止入侵攻击;

所述S3中所述入侵检测包括异常数据流检测和异常指令检测;

所述异常数据流检测具体步骤如下:

S601:对PLC的数据包进行采集,将具有相同属性的数据包汇总为数据流,对每个数据流到达的时间进行统计,获取每个数据流的实际通信时间间隔;

S602:对每个数据流进行监测并验证完整性,如果数据流不满足完整性判定,激活警报机制,如果数据流满足完整性判定,与PLC内部保存的PLC控制器执行周期标准数据流进行残差对比,如果残差对比不通过,表示数据流受到注入攻击的入侵,激活警报机制;

S603:将数据流到达的时间流输入到提前训练过的PLC数据流通信时间预测网络,所述PLC数据流通信时间预测网络包括输入门、遗忘门和输出门,PLC数据流通信时间预测网络通过记忆单元进行预测,输出数据流通信时间间隔预测值,计算数据流通信时间间隔预测值与数据流的实际通信时间间隔的偏离值,如果偏离值大于时间间隔阈值,表示数据流的通信时间发生异常,激活警报机制;

所述异常指令检测具体步骤如下:

S701:对PLC的指令进行格式化,转化为布尔逻辑指令,所述PLC的指令包括S/R指令、控制指令、定时器指令和计时器指令;

S702:根据NuSMV指令模型验证器,对布尔逻辑指令进行规范验证,所述NuSMV指令模型验证器包括计算树逻辑和线性时间逻辑 ;

S703:对每个经过规范验证的布尔逻辑指令的安全属性进行判断,如果存在任何可达的路径安全属性为假,表示存在异常指令,激活警报机制;

S704:设定延时阈值 ,当在 时刻接收到指令一,且根据指令一需要生成指令二时,在 时间段内对指令一进行重复检测,查询是否存在指令二,如果存在指令二,对指令二的布尔逻辑指令进行检测,满足检测条件则正常,不满足检测条件表示存在异常指令,激活警报机制。

2.根据权利要求1所述一种基于人工智能的PLC信息安全保护方法,其特征在于,所述S1中所述完整性度量检查包括哈希摘要更新、完整性度量验证、完整性度量报告公布和完整性度量结果存储,所述信任度量安全启动策略具体步骤如下:S1.1:当PLC终端加电启动后,通过可信任的第三方生成可信根,并向PLC的基本输入输出系统转发可信根;

S1.2:基本输入输出系统接收可信根,对可信根进行解密,将解密的内容转发至可信任的第三方,可信任的第三方对解密内容进行验证,确认解密内容无误后进行基本输入输出系统完整性度量检查,度量通过后启动基本输入输出系统,并移交控制执行权给基本输入输出系统,基本输入输出系统将可信根扩展,并向PLC的启动加载程序转发扩展的可信根;

S1.3:启动加载程序接收扩展的可信根,对扩展的可信根进行解密,将解密的内容转发至基本输入输出系统,基本输入输出系统对解密内容进行验证,确认解密内容无误后进行启动加载程序完整性度量检查,度量通过后向启动加载程序移交控制执行权,启动加载程序继续扩展可信根,并向PLC的系统内核转发扩展的可信根;

S1.4:系统内核接收扩展的可信根,对扩展的可信根进行解密,将解密的内容转发至启动加载程序,启动加载程序对解密内容进行验证,确认解密内容无误后进行系统内核完整性度量检查,度量通过后向系统内核移交控制执行权,系统内核执行PLC的启动流程。

3.根据权利要求1所述一种基于人工智能的PLC信息安全保护方法,其特征在于,所述S2中所述身份认证策略具体步骤如下:S2.1:密钥生成服务器进行初始化,生成随机数,根据随机数计算密钥生成服务器的私钥,结合密钥生成服务器公钥生成密钥对,根据密钥对和工程师站身份标识计算工程师站的签名私钥;

S2.2:密钥生成服务器将工程师站的签名私钥和密钥对通过安全信道发送给工程师站,并将工程师站的身份标识和密钥对通过安全信道发送给PLC,工程师站和PLC接收到后进行本地存储;

S2.3:工程师站向PLC发起身份认证请求,PLC接收到请求身份认证的指令后,根据密钥对生成验证信息,并将验证信息发送给工程师站,工程师站接收到验证信息,根据签名私钥和密钥对对验证信息进行签名,并将签名完成的验证信息发送给PLC;

S3.4:PLC接收到签名完成的验证信息后,根据工程师站身份标识对签名进行检验,将结果与密钥生成服务器的私钥进行对比,如果一致,与工程师站建立通信,如果不一致,拒绝工程师站的通信连接请求。

4.根据权利要求3所述一种基于人工智能的PLC信息安全保护方法,其特征在于,所述S2.1中所述工程师站的签名私钥的计算公式为:,

其中, 表示工程师站的签名私钥, 表示工程师站的身份标识,m和n表示工程师站的身份标识中任一位数,K表示密钥生成服务器公钥,(m+e) 表示工程师站的身份标识中任一位数对 取余,e表示随机误差,r表示随机数。

5.一种基于人工智能的PLC信息安全保护系统,基于如权利要求1‑4中任一项所述的一种基于人工智能的PLC信息安全保护方法实现,其特征在于,所述系统包括PLC安全启动模块、PLC身份认证模块和PLC异常检测模块;

所述PLC安全启动模块,用于根据信任度量安全启动策略对PLC启动过程进行完整性度量检查;

所述PLC身份认证模块,用于根据身份认证策略与工程师站进行通讯,验证工程师站的身份是否正确,如果工程师站的身份正确,建立双方安全通信通道;

所述PLC异常检测模块,对PLC进行入侵检测,如果检测到异常,根据异常判断PLC内部节点出现信息安全问题的位置,进行攻击特征匹配,阻止入侵攻击。

6.一种存储介质,其特征在于,所述存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如权利要求1‑4中任一项所述的一种基于人工智能的PLC信息安全保护方法。

7.一种电子设备,其特征在于,包括处理器和权利要求6所述的存储介质,所述处理器执行所述存储介质中的指令。

说明书 :

一种基于人工智能的PLC信息安全保护系统和方法

技术领域

[0001] 本发明涉及信息安全保护技术领域,尤其涉及一种基于人工智能的PLC信息安全保护系统和方法。

背景技术

[0002] 由于信息化技术的快速发展,信息化推动工业化进程的加快,越来越多的网络通信技术、计算机技术以及嵌入式技术应用于PLC中。这些高新技术应用的同时,也随之带来了PLC的安全问题,比如信息泄露和篡改、病毒等,PLC信息安全引起工业界的高度关注。与此同时,PLC事关经济发展、社会稳定和国家安全,是国家关键基础设施的重要组成部分。PLC 处于最底层,可以控制现场设备,同时与主控中心直接进行通信,处于无人值守的现场。如果PLC 遭到恶意攻击,不仅会直接破坏主控中心和现场设备,篡改通信数据,而且不会轻易被监控人员发现,所以,有必要提升PLC的信息安全防护水平,保障PLC安全。目前的PLC信息安全保护技术中,传统的安全防护措施如防火墙、加解密和入侵检测侧重于保护网络服务器的安全,而且只能在攻击发生后通过分析日志判断有没有发生攻击,从而采取有针对性的应对措施,是事后应急响应方式,而PLC相对脆弱,随着攻击方式的多样性而无力应对,现在使用的平台设备是开放式的,用户可以随意使用平台资源,执行代码也可以被随意修改,导致软件应用系统中可以很轻易地被植入病毒,而不会被管理者发现。
[0003] 如授权公告号为CN1109063486B的中国专利提供基于PLC设备指纹识别的安全渗透测试方法与系统,涉及信息安全技术领域,该基于PLC设备指纹识别的安全渗透测试方法首先通过获取PLC设备的指纹特征库;然后在基于该PLC设备的指纹特征库对待测PLC设备进行指纹识别,以确定待测PLC设备的指纹特征;最后基于该确定的待测PLC设备的指纹特征对所述待测PLC设备进行安全渗透测试,该方法能够缓解现有的渗透测试方法对于PLC设备测试针对性不强的缺点,充分利用PLC设备指纹识别和信息安全风险渗透测试技术来评估PLC设备的安全性,有利于改善PLC设备的安全性。
[0004] 如授权公告号为CN106888205B的中国专利提供一种非侵入式基于功耗分析的PLC异常检测方法,该方法包括将一个电阻串联接入PLC的电源模块与CPU模块之间,通过数据采集设备采集电阻两端电压降,获取PLC运行时的功耗信息;将采集到的功耗进行样本切分,对每个样本提取合适的特征集合,形成特征值样本;根据PLC正常运行时的特征值样本训练一个基于长短记忆单元的神经网络模型,并将新采集到的待测功耗特征值样本与LSTM网络预测的特征值信息进行对比,以确定待测样本是否为异常样本,由此判断PLC是否遭到攻击。该方法无需修改PLC的软硬件配置,相对原工业控制系统是非侵入式的,且能够对PLC进行实时的监控,在不需要获取PLC遭到攻击时的异常样本情况下就能实现对攻击的检测。
[0005] 以上专利均存在本背景技术提出的问题:传统的安全防护措施如防火墙、加解密和入侵检测侧重于保护网络服务器的安全,而且只能在攻击发生后通过分析日志判断有没有发生攻击,从而采取有针对性的应对措施,是事后应急响应方式,而PLC相对脆弱,随着攻击方式的多样性而无力应对,现在使用的平台设备是开放式的,用户可以随意使用平台资源,执行代码也可以被随意修改,导致软件应用系统中可以很轻易地被植入病毒,而不会被管理者发现,为了解决这些问题,本申请设计了一种基于人工智能的PLC信息安全保护系统和方法。

发明内容

[0006] 本发明所要解决的技术问题是针对现有技术的不足,提供了一种基于人工智能的PLC信息安全保护方法,首先根据信任度量安全启动策略对PLC启动过程进行完整性度量检查,确认PLC的启动安全,其次根据身份认证策略与工程师站进行通讯,确认PLC的通信安全,最后根据时间间隔对PLC进行入侵检测,如果检测到异常,根据异常判断PLC内部节点出现信息安全问题的位置,进行攻击特征匹配,阻止入侵攻击。
[0007] 为实现上述目的,本发明提供如下技术方案:
[0008] 一种基于人工智能的PLC信息安全保护方法,包括以下步骤;
[0009] S1:当PLC终端启动时,根据信任度量安全启动策略对PLC启动过程进行完整性度量检查,如果出现违背信任度量安全启动策略的情况,终止运行系统,返回上一级进行重新度量;
[0010] S2:PLC终端启动后,根据身份认证策略与工程师站进行通讯,验证工程师站的身份是否正确,如果工程师站的身份正确,建立双方安全通信通道;
[0011] S3:设定时间间隔,根据时间间隔对PLC进行入侵检测,如果检测到异常,根据异常判断PLC内部节点出现信息安全问题的位置,进行攻击特征匹配,阻止入侵攻击;
[0012] 具体地,所述S3中所述入侵检测包括异常数据流检测和异常指令检测;
[0013] 具体地,所述异常数据流检测具体步骤如下:
[0014] S601:对PLC的数据包进行采集,将具有相同属性的数据包汇总为数据流,对每个数据流到达的时间进行统计,获取每个数据流的实际通信时间间隔;
[0015] S602:对每个数据流进行监测并验证完整性,如果数据流不满足完整性判定,激活警报机制,如果数据流满足完整性判定,与PLC内部保存的PLC控制器执行周期标准数据流进行残差对比,如果残差对比不通过,表示数据流受到注入攻击的入侵,激活警报机制;
[0016] S603:将数据流到达的时间流输入到提前训练过的PLC数据流通信时间预测网络,所述PLC数据流通信时间预测网络包括输入门、遗忘门和输出门,PLC数据流通信时间预测网络通过记忆单元进行预测,输出数据流通信时间间隔预测值,计算数据流通信时间间隔预测值与数据流的实际通信时间间隔的偏离值,如果偏离值大于时间间隔阈值,表示数据流的通信时间发生异常,激活警报机制;
[0017] 具体地,所述异常指令检测具体步骤如下:
[0018] S701:对PLC的指令进行格式化,转化为布尔逻辑指令,所述PLC的指令包括S/R指令、控制指令、定时器指令和计时器指令;
[0019] S702:根据NuSMV指令模型验证器,对布尔逻辑指令进行规范验证,所述NuSMV指令模型验证器包括计算树逻辑和线性时间逻辑 ;
[0020] S703:对每个经过规范验证的布尔逻辑指令的安全属性进行判断,如果存在任何可达的路径安全属性为假,表示存在异常指令,激活警报机制;
[0021] S704:设定延时阈值 ,当在 时刻接收到指令一,且根据指令一需要生成指令二时,在 时间段内对指令一进行重复检测,查询是否存在指令二,如果存在指令二,对指令二的布尔逻辑指令进行检测,满足检测条件则正常,不满足检测条件表示存在异常指令,激活警报机制;
[0022] 具体地,所述S1中所述完整性度量检查包括哈希摘要更新、完整性度量验证、完整性度量报告公布和完整性度量结果存储,所述信任度量安全启动策略具体步骤如下:
[0023] S1.1:当PLC终端加电启动后,通过可信任的第三方生成可信根,并向PLC的基本输入输出系统转发可信根;
[0024] S1.2:基本输入输出系统接收可信根,对可信根进行解密,将解密的内容转发至可信任的第三方,可信任的第三方对解密内容进行验证,确认解密内容无误后进行基本输入输出系统完整性度量检查,度量通过后启动基本输入输出系统,并移交控制执行权给基本输入输出系统,基本输入输出系统将可信根扩展,并向PLC的启动加载程序转发扩展的可信根;
[0025] S1.3:启动加载程序接收扩展的可信根,对扩展的可信根进行解密,将解密的内容转发至基本输入输出系统,基本输入输出系统对解密内容进行验证,确认解密内容无误后进行启动加载程序完整性度量检查,度量通过后向启动加载程序移交控制执行权,启动加载程序继续扩展可信根,并向PLC的系统内核转发扩展的可信根;
[0026] S1.4:系统内核接收扩展的可信根,对扩展的可信根进行解密,将解密的内容转发至启动加载程序,启动加载程序对解密内容进行验证,确认解密内容无误后进行系统内核完整性度量检查,度量通过后向系统内核移交控制执行权,系统内核执行PLC的启动流程;
[0027] 具体地,所述S2中所述身份认证策略具体步骤如下:
[0028] S2.1:密钥生成服务器进行初始化,生成随机数,根据随机数计算密钥生成服务器的私钥,结合密钥生成服务器公钥生成密钥对,根据密钥对和工程师站身份标识计算工程师站的签名私钥;
[0029] S2.2:密钥生成服务器将工程师站的签名私钥和密钥对通过安全信道发送给工程师站,并将工程师站的身份标识和密钥对通过安全信道发送给PLC,工程师站和PLC接收到后进行本地存储;
[0030] S2.3:工程师站向PLC发起身份认证请求,PLC接收到请求身份认证的指令后,根据密钥对生成验证信息,并将验证信息发送给工程师站,工程师站接收到验证信息,根据签名私钥和密钥对对验证信息进行签名,并将签名完成的验证信息发送给PLC;
[0031] S3.4:PLC接收到签名完成的验证信息后,根据工程师站身份标识对签名进行检验,将结果与密钥生成服务器的私钥进行对比,如果一致,与工程师站建立通信,如果不一致,拒绝工程师站的通信连接请求;
[0032] 具体地,所述S2.1中所述工程师站的签名私钥的计算公式为:
[0033] ,
[0034] 其中, 表示工程师站的签名私钥, 表示工程师站的身份标识,m和n表示工程师站的身份标识中任一位数,K表示密钥生成服务器公钥,(m+e) 表示工程师站的身份标识中任一位数对 取余,e表示随机误差,r表示随机数;
[0035] 一种基于人工智能的PLC信息安全保护系统,所述系统包括PLC安全启动模块、PLC身份认证模块和PLC异常检测模块;
[0036] 所述PLC安全启动模块,用于根据信任度量安全启动策略对PLC启动过程进行完整性度量检查;
[0037] 所述PLC身份认证模块,用于根据身份认证策略与工程师站进行通讯,验证工程师站的身份是否正确,如果工程师站的身份正确,建立双方安全通信通道;
[0038] 所述PLC异常检测模块,对PLC进行入侵检测,如果检测到异常,根据异常判断PLC内部节点出现信息安全问题的位置,进行攻击特征匹配,阻止入侵攻击;
[0039] 具体的,所述PLC安全启动模块包括:
[0040] 可信任第三方单元,用于设置可信任的第三方,由第三方生成可信根,对基本输入输出系统进行完整性度量检查;
[0041] 基本输入输出系统单元,用于解密可信根,对启动加载程序进行完整性度量检查,并对可信根进行扩展;
[0042] 启动加载程序单元,用于解密扩展的可信根,对系统内核进行完整性度量检查,并对可信根进一步扩展;
[0043] 系统内核单元,用于解密扩展的可信根,在通过完整性度量检查后启动PLC;
[0044] 具体地,所述PLC身份认证模块包括:
[0045] 密钥生成服务器单元,用于计算密钥生成服务器的私钥,结合密钥生成服务器公钥生成密钥对,根据密钥对和工程师站身份标识计算工程师站的签名私钥;
[0046] 通信建立单元,用于根据密钥对和签名私钥,工程师站向PLC发送通信建立请求;
[0047] 通信确认单元,用于根据工程师站的身份标识,PLC验证工程师站的身份,如果验证成功,与工程师站建立通信;
[0048] 具体地,所述PLC异常检测模块包括:
[0049] 异常数据流检测单元,用于对PLC控制器数据流进行检测;
[0050] 异常指令检测单元,用于对PLC的指令进行检测。
[0051] 与现有技术相比,本发明的有益效果是:
[0052] 1.本发明综合信任链相关技术,设计的PLC信任度量安全启动策略对PLC启动过程进行完整性度量检查,保障PLC的可信安全启动,保护PLC的启动安全;
[0053] 2.本发明实现了PLC系统中设备间的身份认证过程,可以防止非法外来人员入侵控制系统,保护PLC系统的敏感资源,同时改进后的身份认证协议简化了认证步骤,省去数字证书的认证部分,减少了系统的维护量,提高了系统的认证效率;
[0054] 3.本发明针对PLC的动态安全方法,通过基于人工智能的神经网络对PLC进行实时入侵检测,阻止攻击对PLC信息安全造成破坏。

附图说明

[0055] 通过阅读参照以下附图所作的对非限制性实施例的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0056] 图1为本发明实施例1一种基于人工智能的PLC信息安全保护方法的流程示意图;
[0057] 图2为本发明实施例1完整性度量检查流程图;
[0058] 图3为本发明实施例1身份认证策略图;
[0059] 图4为本发明实施例1 PLC数据流通信时间预测网络结构图;
[0060] 图5为本发明实施例2一种基于人工智能的PLC信息安全保护系统模块图;
[0061] 图6为本发明实施例4一种基于人工智能的PLC信息安全保护电子设备图。

具体实施方式

[0062] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。
[0063] 实施例1:
[0064] 请参阅图1,本发明提供的一种实施例:一种基于人工智能的PLC信息安全保护方法,包括以下步骤;
[0065] S1:当PLC终端启动时,根据信任度量安全启动策略对PLC启动过程进行完整性度量检查,如果出现违背信任度量安全启动策略的情况,终止运行系统,返回上一级进行重新度量;
[0066] S2:PLC终端启动后,根据身份认证策略与工程师站进行通讯,验证工程师站的身份是否正确,如果工程师站的身份正确,建立双方安全通信通道;
[0067] S3:设定时间间隔,根据时间间隔对PLC进行入侵检测,如果检测到异常,根据异常判断PLC内部节点出现信息安全问题的位置,进行攻击特征匹配,阻止入侵攻击;
[0068] 具体地,所述S3中所述入侵检测包括异常数据流检测和异常指令检测;
[0069] 具体地,所述异常数据流检测具体步骤如下:
[0070] S601:对PLC的数据包进行采集,将具有相同属性的数据包汇总为数据流,对每个数据流到达的时间进行统计,获取每个数据流的实际通信时间间隔;
[0071] S602:对每个数据流进行监测并验证完整性,如果数据流不满足完整性判定,激活警报机制,如果数据流满足完整性判定,与PLC内部保存的PLC控制器执行周期标准数据流进行残差对比,如果残差对比不通过,表示数据流受到注入攻击的入侵,激活警报机制;
[0072] S603:将数据流到达的时间和历史数据流达到的时间输入到提前训练过的PLC数据流通信时间预测网络,所述PLC数据流通信时间预测网络包括输入门、遗忘门和输出门,PLC数据流通信时间预测网络通过记忆单元进行预测,输出数据流通信时间间隔预测值,计算数据流通信时间间隔预测值与数据流的实际通信时间间隔的偏离值,如果偏离值大于时间间隔阈值,表示数据流的通信时间发生异常,激活警报机制;
[0073] 请参阅图4,本发明实施例PLC数据流通信时间预测网络结构图, 表示输入门,表示遗忘门, 表示输出门, 表示数据流达到的时间, 表示历史数据流达到的时间,tanh表示激活函数, 表示记忆单元,X表示按位乘法操作;
[0074] 具体地,所述异常指令检测具体步骤如下:
[0075] S701:对PLC的指令进行格式化,转化为布尔逻辑指令,所述PLC的指令包括S/R指令、控制指令、定时器指令和计时器指令;
[0076] S702:根据NuSMV指令模型验证器,对布尔逻辑指令进行规范验证,所述NuSMV指令模型验证器包括计算树逻辑和线性时间逻辑 ;
[0077] S703:对每个经过规范验证的布尔逻辑指令的安全属性进行判断,如果存在任何可达的路径安全属性为假,表示存在异常指令,激活警报机制;
[0078] S704:设定延时阈值 ,当在 时刻接收到指令一,且根据指令一需要生成指令二时,在 时间段内对指令一进行重复检测,查询是否存在指令二,如果存在指令二,对指令二的布尔逻辑指令进行检测,满足检测条件则正常,不满足检测条件表示存在异常指令,激活警报机制;
[0079] 具体地,所述S1中所述完整性度量检查包括哈希摘要更新、完整性度量验证、完整性度量报告公布和完整性度量结果存储,请参阅图2,本发明实施例完整性度量检查流程图,所述哈希摘要更新首先调用SHA ‑start函数开启一个哈希摘要计算对话,在计算期间独占程序资源,然后调用SHA‑update函数,接收输入数据,并对输入的数据进行分组操作,每64个字节分为一组,最后调用SHA‑complete函数执行摘要运算,得出摘要值,更新哈希摘要,所述完整性度量验证用于验证方通过系列度量校验操作证明被验证方是否可信,首先验证方创建一个随机数,并将随机数发送至被验证方,开启认证的请求会话,然后被验证方根据哈希摘要对随机数进行签名,并返回度量日志,最后验证方接收到响应之后,根据自身密钥去验证签名,如果度量内容可信,则被验证方通过证明,所述完整性度量报告公布本身包含一个完整性度量的重现过程,通过获得相关事件的日志信息再次依次计算获取摘要值,最终生成PCR值,紧接着把它与所获得的PCR值进行比对,如果通过比较的话就会生成度量报告的结果,所述完整性度量结果存储将可信度量值存储到可信模块中;
[0080] 具体地,所述信任度量安全启动策略具体步骤如下:
[0081] S1.1:当PLC终端加电启动后,通过可信任的第三方生成可信根,并向PLC的基本输入输出系统转发可信根;
[0082] S1.2:基本输入输出系统接收可信根,对可信根进行解密,将解密的内容转发至可信任的第三方,可信任的第三方对解密内容进行验证,确认解密内容无误后进行基本输入输出系统完整性度量检查,度量通过后启动基本输入输出系统,并移交控制执行权给基本输入输出系统,基本输入输出系统将可信根扩展,并向PLC的启动加载程序转发扩展的可信根;
[0083] S1.3:启动加载程序接收扩展的可信根,对扩展的可信根进行解密,将解密的内容转发至基本输入输出系统,基本输入输出系统对解密内容进行验证,确认解密内容无误后进行启动加载程序完整性度量检查,度量通过后向启动加载程序移交控制执行权,启动加载程序继续扩展可信根,并向PLC的系统内核转发扩展的可信根;
[0084] S1.4:系统内核接收扩展的可信根,对扩展的可信根进行解密,将解密的内容转发至启动加载程序,启动加载程序对解密内容进行验证,确认解密内容无误后进行系统内核完整性度量检查,度量通过后向系统内核移交控制执行权,系统内核执行PLC的启动流程;
[0085] 请参阅图3,具体地,所述S2中所述身份认证策略具体步骤如下:
[0086] S2.1:密钥生成服务器进行初始化,生成随机数,根据随机数计算密钥生成服务器的私钥,结合密钥生成服务器公钥生成密钥对,根据密钥对和工程师站身份标识计算工程师站的签名私钥;
[0087] S2.2:密钥生成服务器将工程师站的签名私钥和密钥对通过安全信道发送给工程师站,并将工程师站的身份标识和密钥对通过安全信道发送给PLC,工程师站和PLC接收到后进行本地存储;
[0088] S2.3:工程师站向PLC发起身份认证请求,PLC接收到请求身份认证的指令后,根据密钥对生成验证信息,并将验证信息发送给工程师站,工程师站接收到验证信息,根据签名私钥和密钥对对验证信息进行签名,并将签名完成的验证信息发送给PLC;
[0089] S3.4:PLC接收到签名完成的验证信息后,根据工程师站身份标识对签名进行检验,将结果与密钥生成服务器的私钥进行对比,如果一致,与工程师站建立通信,如果不一致,拒绝工程师站的通信连接请求;
[0090] 具体地,所述S2.1中所述工程师站的签名私钥的计算公式为:
[0091] ,
[0092] 其中, 表示工程师站的签名私钥, 表示工程师站的身份标识,m和n表示工程师站的身份标识中任一位数,K表示密钥生成服务器公钥,(m+e) 表示工程师站的身份标识中任一位数对 取余,e表示随机误差,r表示随机数。
[0093] 实施例2:
[0094] 请参阅图5,本发明提供一种实施例:一种基于人工智能的PLC信息安全保护系统,所述系统包括PLC安全启动模块、PLC身份认证模块和PLC异常检测模块;
[0095] 所述PLC安全启动模块,用于根据信任度量安全启动策略对PLC启动过程进行完整性度量检查;
[0096] 所述PLC身份认证模块,用于根据身份认证策略与工程师站进行通讯,验证工程师站的身份是否正确,如果工程师站的身份正确,建立双方安全通信通道;
[0097] 所述PLC异常检测模块,对PLC进行入侵检测,如果检测到异常,根据异常判断PLC内部节点出现信息安全问题的位置,进行攻击特征匹配,阻止入侵攻击;
[0098] 具体的,所述PLC安全启动模块包括:
[0099] 可信任第三方单元,用于设置可信任的第三方,由第三方生成可信根,对基本输入输出系统进行完整性度量检查;
[0100] 基本输入输出系统单元,用于解密可信根,对启动加载程序进行完整性度量检查,并对可信根进行扩展;
[0101] 启动加载程序单元,用于解密扩展的可信根,对系统内核进行完整性度量检查,并对可信根进一步扩展;
[0102] 系统内核单元,用于解密扩展的可信根,在通过完整性度量检查后启动PLC;
[0103] 具体地,所述PLC身份认证模块包括:
[0104] 密钥生成服务器单元,用于计算密钥生成服务器的私钥,结合密钥生成服务器公钥生成密钥对,根据密钥对和工程师站身份标识计算工程师站的签名私钥;
[0105] 通信建立单元,用于根据密钥对和签名私钥,工程师站向PLC发送通信建立请求;
[0106] 通信确认单元,用于根据工程师站的身份标识,PLC验证工程师站的身份,如果验证成功,与工程师站建立通信;
[0107] 具体地,所述PLC异常检测模块包括:
[0108] 异常数据流检测单元,用于对PLC控制器数据流进行检测;
[0109] 异常指令检测单元,用于对PLC的指令进行检测。
[0110] 实施例3:
[0111] 本发明实施例的一种存储介质,存储介质中存储有指令,当计算机读取指令时,使计算机执行上述任一项的一种基于人工智能的PLC信息安全保护方法。
[0112] 实施例4:
[0113] 请参阅图6,本发明实施例的一种电子设备,包括PLC410、处理器420、存储介质430、工程师站440和异常检测结果显示面板450,其中,电子设备可以选用电脑、手机等。
[0114] PLC410用于启动PLC设备,处理器420可以与电子设备中的原件电连接,并执行存储介质430中的各项指令,工程师站440用于与PLC建立通信,异常检测结果显示面板450用于显示检测到的异常数据流和指令。
[0115] 所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。
[0116] 尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。