公开/公告号CN112363749A
专利类型发明专利
公开/公告日2021-02-12
原文格式PDF
申请/专利号CN202010920570.8
申请日2020-09-04
分类号G06F8/654(20180101);G06F9/445(20180101);G06F11/14(20060101);
代理机构11007 核工业专利中心;
代理人李东斌
地址 430223 湖北省武汉市东湖新技术开发区民族大道1021号
入库时间 2023-06-19 09:52:39
技术领域
本发明属于工业控制安全技术领域,具体涉及一种MIPS架构系统的安全启动和升级方法。
背景技术
传统MIPS系统使用u-boot启动从磁盘加载Linux操作系统内核文件到指定内存,然后直接跳转至该指定内存运行;传统MIPS系统升级方法是通过网络或 U盘拷贝传输至本地磁盘,然后复位重启系统,利用磁盘中的升级文件覆盖当前启动的系统。
传统MIPS系统启动不具备安全可信任,磁盘系统的内核文件容易被篡改更换;传统MIPS系统升级文件过程中发生异常或复位重启系统升级过程中发生断电,容易导致升级失败进而引起系统崩溃。存储于本地磁盘的升级文件缺乏有效可信度。
发明内容
本发明的目的在于提供一种MIPS架构系统的安全启动和升级方法,解决设备启动与升级的安全可靠性问题。
本发明的技术方案如下:一种MIPS架构系统的安全启动和升级方法,该方法包括:
S1、初始化系统硬件,读取升级标志位信息,并以此进行系统正常启动或进行系统升级;
S2、在系统进入升级模式时,接收升级文件,并在升级文件校验后,进行系统升级;
接收下载升级文件,并进行所述升级文件校验;
根据校验值的判断,确定是否将所述升级文件写入主或备系统分区,以及是否从主或备系统分区加载系统固件进入系统启动阶段;
S3、在系统进入正常启动模式时,读取并判断系统内核信息中的版本信息,并加载内核,进行系统正常启动。
所述升级文件校验具体包括:对接收到的所述升级文件进行合法性检测,若合法则保存所述升级文件至系统升级分区C,并记录其度量值到系统存储区 E,并重启系统进行系统升级;若为非法文件则终止升级。
所述的根据校验值的判断,确定是否将所述升级文件写入主或备系统分区,以及是否从主或备系统分区加载系统固件进入系统启动阶段的具体步骤为:
获得所述升级文件的校验值Y;
访问MIPS架构系统中的安全芯片,读取所述安全芯片内部NV分区,获取所述升级文件对应的NV值X;
判断所述升级文件校验值Y与所述NV值X是否相等,若相等则将所述升级文件写入主系统分区或备系统分析,并将所述升级标志位信息修改为正常启动标识,并将新的系统内核度量值写入所述安全芯片中,并从主系统分区或备系统分区加载系统固件,进入系统启动阶段;若不相等则将所述升级标志位信息修改为正常启动标识,放弃本次升级,并重启系统。
所述系统硬件包括MIPS硬件主板、TPM2.0安全芯片,在所述的MIPS硬件主板中集成所述TPM2.0安全芯片,所述TPM2.0安全芯片与所述MIPS处理器通过I2C总线进行数据交互。
所述读取升级标志位信息,并以此进行系统正常启动或进行系统升级的步骤具体包括:
读取系统EEPROM存储区D中某一地址位中存储的升级标志位信息,所述升级标志位信息为一个字节,并保存在BYTE:ISUPDATE变量中,若读取到所述升级标志位信息ISUPDATE为0时,则进入系统正常启动流程;若读取到所述升级标志位ISUPDATE为1时,则进入系统升级流程。
所述升级文件通过USB或网口接收并下载,所述升级文件包括系统内核和相应文件系统。
所述系统正常启动时,进行系统内核版本信息的确认步骤包括:
访问MIPS架构系统中的安全芯片,读取系统固件对应的可信芯片内部NV 分区,获得无符号整形变量VERSION值;利用所述VERSION值与所述系统内核版本信息进行比对,进行系统内核版本信息的确认。
根据所述系统内核版本信息确认的结果,进一步包括:
若系统内核本部信息与所述VERSION值一致,则加载系统内核,完成系统启动过程;
若系统内核本部信息与所述VERSION值不一致,则放弃加载内核,并将标记写入存储区D,之后重启系统。
所述升级文件对应的NV值X是通过读取所述安全芯片内部NV分区中偏移量为0x1500005中的四个字节所获得的。
所述VERSION值是通过读取所述安全芯片内部NV分区中偏移量为 0x1500001中的四个字节所获得的。
本发明的显著效果在于:本发明所述的一种MIPS架构系统的安全启动和升级方法,能够在启动和更新过程中抵御病毒及一定程度的物理干扰,不会因更新异常导致系统宕机。
具体实施方式
一种MIPS架构系统的安全启动和升级方法,该方法具体包括:
S1、初始化系统硬件,读取存储器升级标志位信息,进行系统安全启动;
S1.1、对MIPS架构系统硬件设备进行通电,初始化设备硬件;
在MIPS CPU硬件主板中集成TPM2.0安全芯片,TPM2.0安全芯片与MIPS 处理器通过I2C总线进行数据交互;对MIPS架构系统进行通电,对磁盘、 EEPROM、内存和TPM2.0安全芯片进行初始化;
S1.2、读取存储器中的升级标志位信息,根据读取中的信息,进行系统正常启动或系统升级流程;
S1.2.1、在MIPS架构的PMON启动代码中,嵌入安全启动和升级程序;
将TPM2.0安全芯片驱动集成至PMON,加入启动安全与升级环境检测;
S1.2.2、通过I2C指令读取EEPROM升级标志位,根据升降标志位信息,判断系统正常启动或进入系统升级模式;
在存储区D中,读取EEPROM中某一地址位中的存储的升级标志位信息,其中,升级标志位信息为一个字节,并保存在BYTE:ISUPDATE变量中,其中,升级标志位ISUPDATE为0时,表示不需要升级直接从磁盘正常启动;如果升级标志位ISUPDATE为1时,则表示系统需要进入升级模式;
S2、在系统进入升级模式时,接收升级文件,并进行升级文件校验后,进行系统升级;
S2.1、接收下载升级文件;
通过USB或网口接收系统升级文件,包括系统内核和文件系统;
S2.2、对升级文件进行校验;
对接收到的系统升级文件进行合法性检测,若合法则保存升级文件至系统升级分区C,并记录其度量值到可信芯片内部存储区E,并重启系统进行系统升级;若为非法文件则终止升级;
S2.3、将升级文件写入主或备系统分区,从主或备系统分区加载系统固件进入系统启动阶段;
S2.3.1、计算升级文件的校验值Y;
从系统升级分区C读取升级文件,并计算获得升级文件的校验值Y;
S2.3.2、访问TPM2.0安全芯片,读取芯片内部NV分区,获取升级文件对应的NV值X,其为无符号整形变量值;
通过I2C接口访问TPM2.0安全芯片,读取芯片内部NV分区,从偏移量 0x1500005读取四个字节,保存在无符号整形变量UIN:X中;
S2.3.3、若升级文件校验值Y与无符合整形变量值X相等,则将升级文件写入主或备系统分区,将EEPROM升级标志位修改为0表示升级成功,并将新的系统内核度量值写入TPM2.0安全芯片中,并从主或备系统分区加载系统固件进入系统启动阶段;
在系统启动过程中,读取升级标志,判断是否需要更新系统固件的度量值,若需要则更新系统固件度量值到可信芯片存储区E,清除升级标志,并重启系统;
S2.3.4、若升级文件校验值Y与无符合整形变量值X不相等,将EEPROM 升级标志位修改为0,放弃本次升级,并重启系统;
S3、系统正常启动时,确认系统内核信息头部中的内核版本信息后,加载内核,进行系统正常启动;
S3.1、访问TPM2.0安全芯片,读取系统固件对应的可信芯片内部NV分区,获取无符号整形变量VERSION值;
通过I2C接口访问IPM2.0安全芯片,读取芯片内部NV分区,从偏移量 0x1500001读取四个字节保存在无符号整形变量UIN:VERSION中;
S3.2、读取系统内核信息,若内核版本信息与无符号整形变量VERSION值一致,则加载系统内核,完成开机过程;
从主系统分区或备份系统分区,读取系统内核信息头部,将内核版本信息和无符号整形变量VERSION值进行比较,若一致则加载系统内核,挂载文件系统,完成开机;
S3.3、读取系统内核信息,若内核版本信息与无符号整形变量VERSION值不一致,则放弃加载内核,并重启系统;
从主系统分区或备份系统分区,读取系统内核信息头部,将内核版本信息和无符号整形变量VERSION值进行比较,若不一致,则放弃加载内核,并写入标记到存储器区D,然后重启系统。
机译: 通过从安全外围设备启动第一操作系统并启动存储在第一操作系统上的安全外围设备中的安全区域的第二操作系统来安全启动计算机的方法和系统
机译: 包括数字证书管理和可升级的向后兼容的主机/代理安全系统数字证书基础结构的主机/代理安全系统的升级方法
机译: 包括数字证书管理和可升级的向后兼容的主机/代理安全系统数字证书基础结构的主机/代理安全系统的升级方法