CN117668860A - 一种基于硬件可信根全冗余可信防御方法、控制器和系统 - Google Patents

一种基于硬件可信根全冗余可信防御方法、控制器和系统 Download PDF

Info

Publication number
CN117668860A
CN117668860A CN202410143836.0A CN202410143836A CN117668860A CN 117668860 A CN117668860 A CN 117668860A CN 202410143836 A CN202410143836 A CN 202410143836A CN 117668860 A CN117668860 A CN 117668860A
Authority
CN
China
Prior art keywords
trusted
controller
trust
standby
app
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
CN202410143836.0A
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.)
China Huaneng Group Co Ltd
Xian Thermal Power Research Institute Co Ltd
Huaneng Power International Inc
Huaneng Shandong Power Generation Co Ltd
Huaneng Weihai Power Generation Co Ltd
Original Assignee
China Huaneng Group Co Ltd
Xian Thermal Power Research Institute Co Ltd
Huaneng Power International Inc
Huaneng Shandong Power Generation Co Ltd
Huaneng Weihai Power Generation 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 China Huaneng Group Co Ltd, Xian Thermal Power Research Institute Co Ltd, Huaneng Power International Inc, Huaneng Shandong Power Generation Co Ltd, Huaneng Weihai Power Generation Co Ltd filed Critical China Huaneng Group Co Ltd
Priority to CN202410143836.0A priority Critical patent/CN117668860A/zh
Publication of CN117668860A publication Critical patent/CN117668860A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种基于硬件可信根全冗余可信防御方法、控制器和系统。属于自动化控制和信息安全领域技术领域。该方法通过CPU验签基础固件,验签成功后,由基础固件至少验签一个uboot程序,只要一个uboot程序验签成功后,由TCM模块验签至少一个嵌入式可信增强OS,任意一个嵌入式可信增强OS验签成功后,由TCM模块验签APP,APP验签成功后,执行APP;该防御方法通过在控制器启动阶段,上一级对下一级可信的逐级验签,完成了基于CPU硬件可信根的冗余可信启动信任链的构建,实现工控系统的主动免疫,提升工控系统的安全性,在工控领域首次实现基于硬件可信根的冗余可信启动信任链的构建。

Description

一种基于硬件可信根全冗余可信防御方法、控制器和系统
技术领域
本发明属于自动化控制和信息安全技术领域,具体涉及一种基于硬件可信根全冗余可信防御方法、控制器和系统。
背景技术
随着工控系统互联互通趋势的日益增强,系统架构日益复杂,系统边界逐渐模糊,导致暴露的攻击面日益增多,面临网络安全威胁更加严峻。现阶段工控系统大多都是上世纪末或者本世纪初设计的系统架构,在设计之初大部分未考虑安全特性。随着互联网网络安全的发展,在传统工控系统的基础上通过嵌入部署安全防护工具、打补丁的方式加强防病毒和检测手段,这些手段本质上还是边界防护方式,大多从协议和链路安全角度着手,无法有效保护主机系统自身的安全,且无法实现主动免疫功能。
近些年随着可信和芯片技术的不断发展,可信密码模块,即TCM模块(TrustedCryptography Module)成为了家用电脑新的标准配置,TCM模块的加入使得可信信任链的可信根由TCM模块产生,本质上是一种采用芯片的方式生成的硬件可信根。但是这种芯片还是外置式的,如果采用外置芯片式的可信根,会存在CPU先加电,CPU加电后就会执行部分代码,之后外置式硬件可信根才能开始度量,这中间CPU所执行的代码没有被保护起来,存在被攻击的可能。
目前工控领域还没有一款DCS控制装置采用了具备可信功能的CPU,无法实现纯粹意义上的硬件可信根和基于硬件可信根的可信信任链,使得工控系统难以实现主动免疫功能。
发明内容
本发明的目的在于克服上述现有技术的缺点,提供一种基于硬件可信根全冗余可信防御方法、控制器和系统,以解决现有技术中工控系统缺少硬件可信根和基于硬件可信根的冗余可信启动信任链,难以实现主动免疫的问题。
为达到上述目的,本发明采用以下技术方案予以实现:
一种基于硬件可信根全冗余可信防御方法,包括以下步骤:
S1,CPU验签基础固件,验签成功后执行S2,否则阻止可信控制器启动并报警上送,所述可信控制器为主控制器或备控制器;
S2,由基础固件至少验签一个uboot程序,任何一个uboot程序验签成功,执行S3,否则阻止可信控制器启动并报警上送;
S3,由TCM模块至少验签一个嵌入式可信增强OS,任何一个嵌入式可信增强OS验签成功,执行S4,否则阻止可信控制器启动并报警上送;
S4,由TCM模块验签APP,验签成功的APP允许执行,否则停止启动APP并报警上送。
本发明的进一步改进在于:
优选的,S2中,由基础固件至少验签一个uboot程序的过程为:首先验签第一uboot程序,如果验签第一uboot程序成功,执行S2;如果验签失败,则验签第二uboot程序,如果验签第二uboot程序成功,执行S2;如果验签失败,阻止可信控制器启动并报警上送;
验签第一uboot程序的过程为:对比第一uboot程序的可信度量结果和TCM模块中PCR0中的基准值,如果对比一致则验签成功;
验签第二uboot程序的过程为:对比第二uboot程序的可信度量结果和TCM模块中PCR1中的基准值,如果对比一致则验签成功。
优选的,S3中,由TCM模块至少验签一个嵌入式可信增强OS的过程为:首先验签第一嵌入式可信增强OS,如果验签成功,执行S4;如果验签失败,则验签第二嵌入式可信增强OS,如果验签成功,执行S4,否则阻止可信控制器启动;
验签第一嵌入式可信增强OS的过程为:比较第一嵌入式可信增强OS的可信度量结果和TCM模块中PCR2内的基准值,如果一致,则验签成功;
验签第二嵌入式可信增强OS的过程为:比较第二嵌入式可信增强OS的可信度量结果和TCM模块中PCR3内的基准值,如果一致,则验签成功。
优选的,S4中,TCM模块验签每一个APP的过程为:TCM模块可信度量APP,比较可信度量结果和TCM模块中NVram内的基准值,如果一致则APP验签成功,如果不一致,则APP验签失败;将备用APP复制至执行目录下,TCM模块可信度量复制的APP,比较可信度量结果和TCM模块中NVram内的基准值,如果一致则APP验签成功,如果不一致,则停止启动APP。
一种基于硬件可信根全冗余可信控制器,用于实现上述任意一项所述基于硬件可信根全冗余可信防御方法,包括主控制器和备控制器,主控制器和备控制器各自均包括:
CPU,用于提供基础的硬件可信根;
TCM模块,和CPU连接,用于提供可信度量的硬件、加密算法、PCR存储地址和NVram存储地址。
优选的,还包括同时与CPU连接的工控冗余网口、可信控制器之间主备冗余网口、Norflash和Nandflash。
一种基于硬件可信根全冗余可信防御系统,包括:
基础固件验签单元,用于CPU验签基础固件,验签成功后执行uboot验签单元,否则阻止可信控制器启动并报警上送,所述可信控制器为主控制器或备控制器;
uboot验签单元,用于由基础固件至少验签一个uboot程序,任何一个uboot程序验签成功,执行OS验签单元,否则阻止可信控制器启动并报警上送;
OS验签单元,用于由TCM模块至少验签一个嵌入式可信增强OS,任何一个嵌入式可信增强OS验签成功,执行APP验签单元,否则阻止可信控制器启动并报警上送;
APP验签单元,用于由TCM模块验签APP,验签成功的APP允许执行,否则停止启动APP并报警上送。
优选的,还包括上述的冗余可信历史站、冗余可信管理服务器、多台可信操作员站、多台可信工程师站、工控A网、工控B网、主备A网、主备B网和冗余可信控制器;
所述冗余可信控制器、冗余可信历史站、冗余可信管理服务器、多台可信操作员站、多台可信工程师站都分别连接一路工控A网和一路工控B网;
主控制器和备控制器在同一个底座上,主控制器和备控制器之间通过主备A网和主备B网相互直连并进行主备同步;
冗余可信历史站包括主历史站和备历史站,主历史站和备历史站均通过工控A网和工控B网进行主备同步;
冗余可信管理服务器包括主可信管理服务器和备可信管理服务器,主可信管理服务器和备可信管理服务器通过工控A网和工控B网进行主备同步。
优选的,备控制器询问主控制器的可信状态,如果备控制器未收到主控制器可信状态反馈报文或主控制器可信状态为不可信,且备控制器的可信状态为可信,则备控制器升级为主控制器并报警上送,原主控制器降级为备控制器;主历史站和备历史站的主备切换采用相同的处理方式;主可信管理服务器和备可信管理服务器的主备切换采用相同的处理方式。
优选的,冗余可信控制器、冗余可信历史站、多台可信操作员站和多台可信工程师站中,分别周期性的向冗余可信管理服务器中的可信管理服务端反馈自身的可信状态。
与现有技术相比,本发明具有以下有益效果:
本发明公开了一种基于硬件可信根全冗余可信防御方法,该方法通过CPU验签基础固件,验签成功后,由基础固件至少验签一个uboot程序,任意一个uboot程序验签成功后,由TCM模块验签至少一个嵌入式可信增强OS,任意一个嵌入式可信增强OS验签成功后,由TCM模块验签APP,APP验签成功后,执行APP;该防御方法使得控制器从上电开始,通过上一级对下一级可信的逐级验签,完成了基于CPU硬件可信根的冗余可信启动信任链的构建,实现工控系统的主动免疫,提升工控系统的安全性,在工控领域首次建立出真正意义上的基于硬件可信根的冗余可信启动信任链。
本发明还公开了一种基于硬件可信根全冗余可信控制器,该控制器包括能够提供硬件可信根的CPU和具备可信计算功能的TCM模块,该控制器能够实现基于硬件可信根的冗余可信启动信任链的构建。
本发明还公开了一种基于硬件可信根全冗余可信防御系统,该系统包括冗余可信控制器、冗余可信历史站、冗余可信管理服务器、多台可信操作员站、多台可信工程师站、工控A网和工控B网。该系统在工控领域首次实现基于硬件可信根的可信软硬件的全冗余系统设计,在保证工控业务稳定性不受影响的前提下,实现了DCS控制系统中全部控制设备的内生安全,增强了工控系统整体的安全性。
附图说明
图1为本发明的基于硬件可信根全冗余可信防御方法流程图;
图2为本发明的基于硬件可信根全冗余可信防御方法流程细节图;
图3为本发明的基于硬件可信根全冗余可信控制器的硬件结构示意图;
图4为本发明的基于硬件可信根全冗余可信控制器TCM模块中可信基准值存储区域结构示意图;
图5为本发明的基于硬件可信根全冗余可信控制器中固件存储结构示意图;
图6为本发明的基于硬件可信根全冗余可信防御系统软件部分结构图;
图7为本发明的基于硬件可信根全冗余可信防御系统硬件部分结构图。
具体实施方式
需要说明的是,本发明的说明书上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了方便理解,本发明对以下名词或简写进行定义。
CPU,为Central Processing Unit的简写,指中央处理器。
OS,为Operating System的简写,指操作系统。
APP,为Application的简写,指第三方应用程序。
uboot,为Universal Boot Loader的简写,是一种遵循GPL条款的开放源码,主要用于嵌入式系统的引导加载程序,GPL,为General Public License,指通用性公开许可证。
Norflash,为flash存储器的一种。
Nandflash,为flash存储器的一种。
NVram,为非易失性随机访问存储器,指断电后仍能保持数据的一种RAM,RAM为Random Access Memory的简写,指随机存取存储器。
PCR,为Platform Configuration Register的简写,指平台配置寄存器。
PCI-E,为peripheral component interconnect express的简写,指一种高速串行计算机扩展总线。
FPGA,为Field Programmable Gate Array的简写,指现场可编程门阵列。
RGMII,为Reduced Gigabit Media Independent Interface的简写,指一种数据接口。
PHY,为Physical的简称,指端口物理层。
SPI,为Serial Peripheral Interface的简写,指串行外设接口。
QSPI,为Queued Serial Peripheral Interface的简写,指排队串行外设接口。
PBR,为Phytium Boot ROM的缩写,为可信根,该固件在芯片出厂时固定,在系统整个生命周期中都保持只读状态,无法更新。
PBF,为Phytium Base Firmware,为一种基础固件。
IIC总线,为两线式串行总线。
TCM模块,为Trusted Cryptography Module,指可信密码模块。
本发明的控制器指代冗余可信控制器,包括主控制器和备控制器。
参见图1,本发明一方面公开了一种基于硬件可信根全冗余可信防御方法,具体为建立了一条基于硬件可信根的冗余可信启动信任链,主控制器和备控制器各自均要建立,因此下述的可信控制器指代的为主控制器或备控制器,各自的基于硬件可信根的冗余可信启动信任链构建过程具体包括以下步骤:
S1,CPU验签基础固件,验签成功后执行S2,否则阻止可信控制器启动并报警上送;
S2,由基础固件至少验签一个uboot程序,任何一个uboot程序验签成功,执行S3,否则阻止可信控制器启动并报警上送;
S3,由TCM模块至少验签一个嵌入式可信增强OS,任何一个嵌入式可信增强OS验签成功,执行S4,否则阻止可信控制器启动并报警上送;
S4,由TCM模块验签APP,验签成功的APP允许执行,否则停止启动APP并报警上送。
该方法通过建立基于硬件可信根的冗余可信启动信任链,可实现工控系统的主动免疫,提升工控系统的安全性。在控制器启动阶段,通过上一级对下一级可信的逐级验签,完成了基于硬件可信根的冗余可信启动信任链的构建,具体的,硬件可信根为CPU的硬件可信根。
进一步的,参见图2,本发明的一些实施方案中,基于硬件可信根的冗余可信启动信任链的构建包括以下步骤:
S1,可信控制器上电后,CPU执行片内可信根代码,由CPU片内可信根代码验签Norflash中零地址的基础固件,如果基础固件验签失败则阻止可信控制器启动并报警上送,如果验签成功则跳转执行基础固件,然后执行S2。
S2,由基础固件验签uboot程序,基础固件仅提供二次代理校验功能,二次代理校验为基础固件至少验签一个uboot程序。该步骤中,首先验签第一uboot程序,如果第一uboot程序验签失败,则验签第二uboot程序。第一uboot程序和第二uboot程序中,只要有一个验签成功,则执行S3,如果都验签失败,则阻止可信控制器启动。具体的基础固件验签过程为:
首先,将第一uboot程序的可信度量结果与TCM模块中PCR0中基准值对比,如果对比一致,则第一uboot程序验签成功;如果第一uboot程序验签成功,则跳转到Norflash中第一uboot程序的起始地址去执行第一uboot程序代码;如果第一uboot程序验签失败则报警上送,并将报警记录存入TCM模块的可信存储区,为将来报警上送和查询提供持久化支撑。如果第一uboot程序验签成功,则执行S3,否则验签第二uboot程序。
然后,基础固件开始验签第二uboot程序,将第二uboot程序的可信度量结果与TCM模块中PCR1中基准值对比,如果对比一致,则第二uboot程序验签成功,跳转到Norflash中第二uboot程序的起始地址去执行第二uboot程序代码,然后执行S3;如果第二uboot程序验签失败则阻止可信控制器启动并报警上送,并将报警记录存入TCM模块的可信存储区,为将来报警上送和查询提供持久化支撑。
S3,第一uboot程序或第二uboot程序验签成功后开始加载TCM模块驱动,开始验签第一嵌入式可信增强OS或第二嵌入式可信增强OS,如果有一个验签成功,则执行S4,否则阻止可信控制器的启动。具体的验签过程为:
首先,第一uboot程序或第二uboot程序验签成功后开始加载TCM模块驱动,由验签成功的uboot程序调用TCM模块可信度量第一嵌入式可信增强OS,TCM模块将第一嵌入式可信增强OS度量结果与PCR2内基准值进行比较,如果一致,则验签成功,如果验签成功则从Norflash中第一嵌入式可信增强OS地址开始复制第一嵌入式可信增强OS的程序到内存,并从此内存地址开始执行第一嵌入式可信增强OS的代码;如果验签失败,报警上送,并将报警记录存入TCM模块的可信存储区,为将来报警上送和查询提供持久化支撑。如果第一嵌入式可信增强OS验签成功,则执行S4,否则开始验签第二嵌入式可信增强OS。
TCM模块将第二嵌入式可信增强OS的度量结果与PCR3内基准值进行比较,如果一致,则验签成功;如果验签成功则从Norflash中第二嵌入式可信增强OS地址开始复制第二嵌入式可信增强OS的程序到内存,并从此内存地址开始执行第二嵌入式可信增强OS的代码,然后执行S4;如果验签失败,则阻止可信控制器启动并报警上送,并将报警记录存入TCM模块的可信存储区,为将来报警上送和查询提供持久化支撑。
S4,第一嵌入式可信增强OS或第二嵌入式可信增强OS验签成功后开始加载TCM模块驱动,由验签成功的嵌入式可信增强OS调用TCM模块可信度量每一个APP,TCM模块将每一个APP度量结果与NVram内的基准值进行比较,如果度量结果和基准值一致,则验签成功;如果验签成功则开始启动APP,如果验签失败则从备用目录中将备用APP复制到执行目录下并报警上送,TCM模块再次度量复制后的APP,度量结果再次与NVram中的基准值进行比较,如果失败则不启动并报警上送,如果成功则运行该APP。其中的备用目录为Nandflash中的一个加密目录,执行目录为存放原APP的目录。
执行完S1~S4,基于硬件可信根的冗余可信启动信任链建立完成,基于硬件可信根的冗余可信启动信任链保证了APP运行前链路上可信。
本发明一方面还公开了一种控制器,控制器为冗余可信控制器,包括主控制器和备控制器。参见图3为冗余可信控制器结构图,主控制器和备控制器各自均包括能够提供硬件可信根的CPU、具备可信计算功能的TCM模块,工控冗余网口、可信控制器之间的主备冗余网口、Norflash和Nandflash;工控冗余网口分别连接工控A网和工控B网,主备冗余网口用于主控制器和备控制器之间的互连,主控制器和备控制器之间通过主备冗余网口传递信息;Norflash,用于存放可信控制器启动时的文件,包括uboot程序、FPGA和嵌入式可信增强OS;Nandflash,用于存储工控业务用的各种APP;CPU作为可信控制器的中心,存储有基础固件,同时和TCM模块、Norflash、Nandflash、工控A网、工控B网和主备冗余网口连接。
本发明的可信根来源自CPU内部的基础固件,此基础固件由CPU厂商在硬件生产时固化获得,并且此基础固件由硬件保证为只读状态,因此整个装置上电后后续的uboot程序由此基础固件验签,验签通过后uboot程序被证明是可信的,下一步再由可信的uboot程序去验签嵌入式可信增强OS,至此启动可信信任链建立成功。
本发明的一些实施方案中,可信控制器正常运行后,TCM模块周期性的对APP进行动态度量,防止APP在运行过程中被篡改;TCM模块周期性的对Nandflash上的文件进行静态和主客体管控,防止存储的程序和工控工程文件被篡改;TCM模块对启动的APP进行白名单的管控,防止不被允许和不可信的程序被执行。
参见图4,具备可信计算功能的TCM模块中设置有可信存储区和NVram。TCM模块提供两方面功能,其一是提供基于国密算法的硬件国密加密和解密功能;其二是提供可信存储区和NVram,可信存储区包括多个PCR存储地址,PCR0~PCR23,存储地址PCR0~PCR23用于将可信度量的各个基准值和可信度量结果存储在其中,为后续的度量验签提供标准。具体的,用于存储可信uboot程序的基准值和可信度量结果,以及嵌入式可信增强OS的基准值和可信度量结果。NVram用于存储APP的基准值以及APP的可信度量结果。
参见图5,可信控制器作为DCS控制系统中的关键设备,软件上还包括双可信uboot程序、双可信嵌入式可信增强OS和双可信APP。该可信控制器从硬件到软件,再到网络通讯做到全过程全冗余的架构设计。该可信控制器首次在工控设备中实现了内生安全功能,并针对内生安全的特点,实现了从上电启动到APP运行全流程中的冗余功能,在提升工控设备自身安全的前提下,同时提高了工控设备内各软件安全方面的稳定性。
本发明一方面还公开了基于硬件可信根全冗余可信防御系统,该系统包括软件部分和硬件部分。
参见图6,软件部分包括基础固件验签单元、uboot验签单元、OS验签单元和APP验签单元;具体的包括:
基础固件验签单元,用于CPU验签基础固件,验签成功后执行uboot验签单元,否则阻止可信控制器启动并报警上送;
uboot验签单元,用于由基础固件至少验签一个uboot程序,任何一个uboot程序验签成功,执行OS验签单元,否则阻止可信控制器启动并报警上送;
OS验签单元,用于由TCM模块至少验签一个嵌入式可信增强OS,任何一个嵌入式可信增强OS验签成功,执行APP验签单元,否则阻止可信控制器启动并报警上送;
APP验签单元,用于由TCM模块验签每一个APP,验签成功的APP执行APP,否则停止启动APP并报警上送。
参见图7,硬件部分包括冗余可信控制器、冗余可信历史站、冗余可信管理服务器、多台可信操作员站、多台可信工程师站、工控A网和工控B网。冗余可信控制器、冗余可信历史站、冗余可信管理服务器、多台可信操作员站、多台可信工程师站均同时和工控A网及工控B网连接。冗余可信控制器为一对上述的可信控制器,包括主控制器和备控制器,一对可信控制器冗余布置在同一个底座上,左侧默认为主控制器,右侧默认为备控制器,主控制器和备控制器之间通过主备A网和主备B网连接,主备A网和主备B网分别连接每一可信控制器上的主备冗余网口,主控制器和备控制器之间通过以太网RJ45的方式相连。
冗余可信历史站包括主历史站和备历史站,主历史站和备历史站均通过工控A网和工控B网进行主备同步。
冗余可信管理服务器包括主可信管理服务器和备可信管理服务器,主可信管理服务器和备可信管理服务器通过工控A网和工控B网进行主备同步。
本发明的一些实施方案中,同一底座的另一块可信控制器也按照上述方式完成基于硬件可信根的冗余可信启动信任链的构建。两块可信控制器首次上电时都是备控制器,同时通过主备冗余网口给对方发送自身的可信状态,如果一个可信控制器基于硬件可信根的冗余可信启动信任链构建失败,则基于硬件可信根的冗余可信启动信任链正常的另一个可信控制器升级为主控制器并报警上送。
本发明的一些实施方案中,冗余可信控制器正常运行时,备控制器主动询问主控制器的可信状态,如果没收到主控制器可信状态的反馈报文,则备控制器升为主控制器并报警上送;或者备控制器收到主控制器的可信状态报文,但是主控制器的可信状态已经不可信,且备控制器的可信状态正常,则备控制器升级为主控制器并报警上送;如果备控制器收到主控制器的可信状态报文,且主控制器的可信状态正常,则主控制器和备控制器之间继续维持两者的可信状态心跳。
本发明的一些实施方案中,冗余可信控制器与冗余可信管理服务器建立基于硬件可信根的可信数据传递信任链,双方以可信状态握手机制实现,每个冗余可信控制器内部TCM模块维护各自的可信数据传递信任链的存取。每个冗余可信控制器内存储有对上位机通讯的冗余设计的可信数据传递信任链A和可信数据传递信任链B;如果主控制器对上位机通讯的可信数据传递信任链A和可信数据传递信任链B对所有设备都处于非可信状态,且备控制器对上位机通讯的可信数据传递信任链A和可信数据传递信任链B可信状态任意一路正常,则主控制器切换为备控制器,同时备控制器切换为主控制器并报警上送。但是主控制器如果只是对上位机通讯的可信数据传递信任链A或可信数据传递信任链B中的一个信任链存在问题,则停用有问题的可信数据传递信任链并报警上送,可信数据继续使用可信的那条可信数据传递信任链继续通讯。
本发明的一些实施方案中,冗余可信控制器正常运行后,主控制器和备控制器分别反馈自身的APP可信状态给冗余可信管理服务器,冗余可信管理服务器以集群的方式配置在工控网络中,冗余可信控制器周期性将自身的可信状态以轮询的方式分别通过工控A网和工控B网交替上送给冗余可信管理服务器,在冗余可信管理服务器中可以监视所有工控设备的APP可信状态。
基于硬件可信根的可信数据传递信任链与基于硬件可信根的冗余可信启动信任链的综合可信状态均相对比较好判断,主控制器和备控制器之间就能决策是否进行主备切换,决策的过程相对简单。但冗余可信控制器中的APP可信状态、文件的可信状态等相对较复杂,在本系统中将这些复杂的可信状态汇总到冗余可信管理服务器。冗余可信管理服务器周期性判断收到冗余可信控制器的每个APP可信状态,设计了两种处理方式。第一由冗余可信管理服务器将主控制器和备控制器各自的APP可信状态整理并展示给监控人员,由监控人员决策是否需要主控制器和备控制器切换;第二引入智能决策模型,通过大量的样本训练,可实现智能决策主备控制器智能切换。
本发明的一些实施方案中,冗余可信历史站的可信管理客户端、多台可信操作员站的可信管理客户端和多台可信工程师站的可信管理客户端,分别周期性的向冗余可信管理服务器中的可信管理服务端反馈自身的可信状态。
下面结合具体的实施例进一步的说明。
实施例1
该实施例中基于硬件可信根全冗余可信防御系统中的主控制器和备控制器插入在同一个底座中,工控A网和工控B网为独立的物理链路;多个可信操作员站、多个可信工程师站、冗余可信历史站分别同时接入工控A网和工控B网。
可信控制器中的CPU通过PCI-E与FPGA相连,FPGA扩展6路以太网络,FPGA通过RGMII连接6路PHY。6路PHY分别提供可信控制器与上位机之间的工控A网和工控B网、主控制器和备控制器之间的主备A网和主备B网,以及可信控制器与远程IO之间的工控冗余网口。
可信控制器中的CPU通过SPI或IIC总线与TCM模块相连。
可信控制器中的CPU通过QSPI总线与Norflash相连。
可信控制器中的CPU通过SPI总线与Nandflash相连。
基础固件、第一uboot程序和第二uboot程序烧录在Norflash的0x0~0x800000处;第一嵌入式可信增强OS和第二嵌入式可信增强OS烧录在Norflash的0x800000~0x1000000处;双可信APP存放在Nandflash的APP目录中的文件夹内。
该实施例中,主控制器及备控制器均要进行基于CPU硬件可信根的冗余可信启动信任链构建,下述的可信控制器指代主控制器或备控制器。具体的各自的构建过程包括以下步骤:
S1,可信控制器上电后,硬件将电源灯点为绿色常亮,将可信指示灯点为红色常亮,随后给CPU供电,CPU上电后执行片内PBR代码,由CPU片内PBR代码验签Norflash中零地址的开始长度为0x4000的基础固件PBF,如果基础固件PBF验签失败,则可信控制器面板上的可信指示灯保持红色常亮,如果验签成功,则跳转到基础固件PBF执行基础固件PBF,并开始加载TCM模块驱动。
S2,由基础固件PBF再验签第一uboot程序,通过将第一uboot程序的度量结果与TCM模块的PCR0中基准值对比,判断第一uboot程序是否验签成功;如果第一uboot程序验签成功,则跳转到Norflash中第一uboot程序的起始地址去执行第一uboot程序代码;如果第一uboot程序验签失败,则在串口中打印失败原因,并存入TCM模块的可信存储区,为将来报警上送和查询提供持久化支撑。如果第一uboot程序验签失败,基础固件PBF开始验签第二uboot程序,通过将第二uboot程序的可信度量结果与TCM模块的PCR1中基准值对比,如果第二uboot程序验签成功,则跳转到Norflash中第二uboot程序的起始地址去执行第二uboot程序代码;如果第二uboot程序验签失败,则串口打印失败原因,并存入TCM模块的可信存储区,为将来报警上送和查询提供持久化支撑。
S3,第一uboot程序或第二uboot程序验签成功后,由验签成功的uboot程序调用TCM模块可信度量第一嵌入式可信增强OS,TCM模块将第一嵌入式可信增强OS度量结果与TCM模块的PCR2内基准值进行比较,如果验签成功,从第一嵌入式可信增强OS地址开始复制第一嵌入式可信增强OS到内存0x8800000地址,并从此地址开始执行第一嵌入式可信增强OS代码,如果验签失败,则报警上送,并将报警记录存入TCM模块的可信存储区,为将来报警上送和查询提供持久化支撑;随后TCM模块可信度量第二嵌入式可信增强OS,TCM模块将第二嵌入式可信增强OS的度量结果与TCM模块的PCR3内基准值进行比较,如果一致则验签成功,如果验签失败则报警上送,并将报警记录存入TCM模块的可信存储区,为将来报警上送和查询提供持久化支撑,同时阻止可信控制器启动;如果验签成功则从第二嵌入式可信增强OS地址中复制第二嵌入式可信增强OS到内存0x8800000地址,并从此地址开始执行第二嵌入式可信增强OS的代码。
S4,第一嵌入式可信增强OS或第二嵌入式可信增强OS验签成功并启动后,由嵌入式可信增强OS调用TCM模块可信度量每一个APP,TCM模块将每一个APP度量结果与NVram内的相应基准值进行比较,如果验签成功则开始启动APP,如果验签失败则从备用目录将备用的APP复制到执行目录下并报警上送,TCM模块再次度量复制后的APP,度量结果再次与NVram中的基准值进行比较,如果失败则不启动并报警上送,如果验签成功则运行该APP。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于硬件可信根全冗余可信防御方法,其特征在于,包括以下步骤:
S1,CPU验签基础固件,验签成功后执行S2,否则阻止可信控制器启动并报警上送,所述可信控制器为主控制器或备控制器;
S2,由基础固件至少验签一个uboot程序,任何一个uboot程序验签成功,执行S3,否则阻止可信控制器启动并报警上送;
S3,由TCM模块至少验签一个嵌入式可信增强OS,任何一个嵌入式可信增强OS验签成功,执行S4,否则阻止可信控制器启动并报警上送;
S4,由TCM模块验签APP,验签成功的APP允许执行,否则停止启动APP并报警上送。
2.根据权利要求1所述的一种基于硬件可信根全冗余可信防御方法,其特征在于,S2中,由基础固件至少验签一个uboot程序的过程为:首先验签第一uboot程序,如果验签第一uboot程序成功,执行S2;如果验签失败,则验签第二uboot程序,如果验签第二uboot程序成功,执行S2;如果验签失败,阻止可信控制器启动并报警上送;
验签第一uboot程序的过程为:对比第一uboot程序的可信度量结果和TCM模块中PCR0中的基准值,如果对比一致则验签成功;
验签第二uboot程序的过程为:对比第二uboot程序的可信度量结果和TCM模块中PCR1中的基准值,如果对比一致则验签成功。
3.根据权利要求1所述的一种基于硬件可信根全冗余可信防御方法,其特征在于,S3中,由TCM模块至少验签一个嵌入式可信增强OS的过程为:首先验签第一嵌入式可信增强OS,如果验签成功,执行S4;如果验签失败,则验签第二嵌入式可信增强OS,如果验签成功,执行S4,否则阻止可信控制器启动;
验签第一嵌入式可信增强OS的过程为:比较第一嵌入式可信增强OS的可信度量结果和TCM模块中PCR2内的基准值,如果一致,则验签成功;
验签第二嵌入式可信增强OS的过程为:比较第二嵌入式可信增强OS的可信度量结果和TCM模块中PCR3内的基准值,如果一致,则验签成功。
4.根据权利要求1所述的一种基于硬件可信根全冗余可信防御方法,其特征在于,S4中,TCM模块验签每一个APP的过程为:TCM模块可信度量APP,比较可信度量结果和TCM模块中NVram内的基准值,如果一致则APP验签成功,如果不一致,则APP验签失败;将备用APP复制至执行目录下,TCM模块可信度量复制的APP,比较可信度量结果和TCM模块中NVram内的基准值,如果一致则APP验签成功,如果不一致,则停止启动APP。
5.一种基于硬件可信根全冗余可信控制器,其特征在于,用于实现权利要求1-4任意一项所述基于硬件可信根全冗余可信防御方法,包括主控制器和备控制器,主控制器和备控制器各自均包括:
CPU,用于提供基础的硬件可信根;
TCM模块,和CPU连接,用于提供可信度量的硬件、加密算法、PCR存储地址和NVram存储地址。
6.根据权利要求5所述的一种基于硬件可信根全冗余可信控制器,其特征在于,还包括同时与CPU连接的工控冗余网口、可信控制器之间主备冗余网口、Norflash和Nandflash。
7.一种基于硬件可信根全冗余可信防御系统,其特征在于,包括:
基础固件验签单元,用于CPU验签基础固件,验签成功后执行uboot验签单元,否则阻止可信控制器启动并报警上送,所述可信控制器为主控制器或备控制器;
uboot验签单元,用于由基础固件至少验签一个uboot程序,任何一个uboot程序验签成功,执行OS验签单元,否则阻止可信控制器启动并报警上送;
OS验签单元,用于由TCM模块至少验签一个嵌入式可信增强OS,任何一个嵌入式可信增强OS验签成功,执行APP验签单元,否则阻止可信控制器启动并报警上送;
APP验签单元,用于由TCM模块验签APP,验签成功的APP允许执行,否则停止启动APP并报警上送。
8.根据权利要求7所述的一种基于硬件可信根全冗余可信防御系统,其特征在于,还包括冗余可信历史站、冗余可信管理服务器、多台可信操作员站、多台可信工程师站、工控A网、工控B网、主备A网、主备B网和冗余可信控制器;
所述冗余可信控制器、冗余可信历史站、冗余可信管理服务器、多台可信操作员站、多台可信工程师站都分别连接一路工控A网和一路工控B网;
主控制器和备控制器在同一个底座上,主控制器和备控制器之间通过主备A网和主备B网相互直连并进行主备同步;
冗余可信历史站包括主历史站和备历史站,主历史站和备历史站均通过工控A网和工控B网进行主备同步;
冗余可信管理服务器包括主可信管理服务器和备可信管理服务器,主可信管理服务器和备可信管理服务器通过工控A网和工控B网进行主备同步。
9.根据权利要求8所述的一种基于硬件可信根全冗余可信防御系统,其特征在于,防御过程中,备控制器询问主控制器的可信状态,如果备控制器未收到主控制器可信状态反馈报文或主控制器可信状态为不可信,且备控制器的可信状态为可信,则备控制器升级为主控制器并报警上送,原主控制器降级为备控制器;主历史站和备历史站的主备切换采用相同的处理方式;主可信管理服务器和备可信管理服务器的主备切换采用相同的处理方式。
10.根据权利要求8所述的一种基于硬件可信根全冗余可信防御系统,其特征在于,冗余可信控制器、冗余可信历史站、多台可信操作员站和多台可信工程师站,分别周期性的向冗余可信管理服务器中的可信管理服务端反馈自身的可信状态。
CN202410143836.0A 2024-02-01 2024-02-01 一种基于硬件可信根全冗余可信防御方法、控制器和系统 Pending CN117668860A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410143836.0A CN117668860A (zh) 2024-02-01 2024-02-01 一种基于硬件可信根全冗余可信防御方法、控制器和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410143836.0A CN117668860A (zh) 2024-02-01 2024-02-01 一种基于硬件可信根全冗余可信防御方法、控制器和系统

Publications (1)

Publication Number Publication Date
CN117668860A true CN117668860A (zh) 2024-03-08

Family

ID=90073544

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410143836.0A Pending CN117668860A (zh) 2024-02-01 2024-02-01 一种基于硬件可信根全冗余可信防御方法、控制器和系统

Country Status (1)

Country Link
CN (1) CN117668860A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107528890A (zh) * 2017-08-02 2017-12-29 云南省水利水电勘测设计研究院 一种泵站计算机监控控制系统
CN111241548A (zh) * 2020-01-07 2020-06-05 天津飞腾信息技术有限公司 计算机启动方法
CN116931528A (zh) * 2023-08-30 2023-10-24 西安热工研究院有限公司 一种dcs冗余控制器主备切换优化方法及相关装置
CN117008556A (zh) * 2023-08-31 2023-11-07 西安热工研究院有限公司 一种可信dcs控制器安全启动度量验证方法及相关装置
CN117111525A (zh) * 2023-09-20 2023-11-24 西安热工研究院有限公司 一种基于多cpu的可信冗余控制系统及控制方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107528890A (zh) * 2017-08-02 2017-12-29 云南省水利水电勘测设计研究院 一种泵站计算机监控控制系统
CN111241548A (zh) * 2020-01-07 2020-06-05 天津飞腾信息技术有限公司 计算机启动方法
CN116931528A (zh) * 2023-08-30 2023-10-24 西安热工研究院有限公司 一种dcs冗余控制器主备切换优化方法及相关装置
CN117008556A (zh) * 2023-08-31 2023-11-07 西安热工研究院有限公司 一种可信dcs控制器安全启动度量验证方法及相关装置
CN117111525A (zh) * 2023-09-20 2023-11-24 西安热工研究院有限公司 一种基于多cpu的可信冗余控制系统及控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王雷;杨明华;刘增良;郑建群;: "适于双冗余系统的信任链生成和更新算法", 通信学报, no. 01, 25 January 2017 (2017-01-25) *

Similar Documents

Publication Publication Date Title
CN108399339B (zh) 一种基于安全芯片的可信启动方法
CN109564606B (zh) 用于将安全协处理器用于固件保护的方法和装置
US8909978B2 (en) Remote access diagnostic mechanism for communication devices
US7849315B2 (en) Method for managing operability of on-chip debug capability
JP6585019B2 (ja) ネットワーク監視装置、ネットワークシステムおよびプログラム
US9652755B2 (en) Method and system for securely updating field upgradeable units
CN111158767B (zh) 基于bmc的服务器安全启动方法及装置
TWI740158B (zh) 伺服器系統、集中式快閃記憶體模組以及更新快閃韌體映像檔的方法
US11361067B2 (en) Cross authentication method for computer system security
WO2022028057A1 (zh) 一种基于tpm服务器资产信息多层保护的装置及方法
CN110069361A (zh) 用于tpm故障切换的方法和装置
US9928367B2 (en) Runtime verification
US10289510B1 (en) Intelligent platform management interface functional fuzzer
CN108737153B (zh) 区块链灾备系统、方法、服务器和计算机可读存储介质
CN113360914A (zh) 一种bios更新的方法、系统、设备及介质
CN112242903B (zh) 混合设备以及针对混合设备执行安全引导过程的方法
CN117668860A (zh) 一种基于硬件可信根全冗余可信防御方法、控制器和系统
CN108629185B (zh) 服务器可信平台度量控制系统及其运行方法
CN115220796A (zh) 安全引导设备
CN111506897B (zh) 数据处理方法和装置
US11579995B2 (en) Electronic element, system comprising such an electronic element and method for monitoring and cutting off a processor on occurrence of a failure event
CN220604014U (zh) 升级模组和升级系统
KR20090000576A (ko) 보안을 제공하는 장치 및 방법
CN112087330B (zh) 菊花链路通信系统、诊断方法、存储介质以及电子设备
US20230129942A1 (en) Method for locking a rewritable non-volatile memory and electronic device implementing said method

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