一种基于文件多镜像的嵌入式操作系统可信引导方法及系统技术方案

技术编号:25439763 阅读:45 留言:0更新日期:2020-08-28 22:27
本发明专利技术公开了一种基于文件多镜像的嵌入式操作系统可信引导方法及系统,采用基于散列算法的文件一致性校验镜像生成机制、基于加密算法的镜像可信认证机制以及基于预校验结果的快速定位扇区的引导机制,完成嵌入式系统的可信引导和一致性备份恢复。

【技术实现步骤摘要】
一种基于文件多镜像的嵌入式操作系统可信引导方法及系统
本专利技术属于嵌入式系统领域,具体涉及一种基于文件多镜像的嵌入式操作系统可信引导方法及系统。
技术介绍
随着泛在电力物联网的建设和发展,边缘物联终端的研制提上了议事日程。边缘物联终端一般采用户外安装,且无人看管和无隔离空间的保护,容易被侵入和破坏。另外边缘物联终端的运行环境苛刻,也易造成边缘物联终端的运行异常和损坏。因此如何确保边缘物联终端的安全性和可靠性成为电力物联网建设的重要工作内容。边缘物联终端多数采用嵌入式操作系统运行业务软件。嵌入式操作系统的镜像可能被替换,导致边缘物联终端被第三方控制,造成用户数据或电力机密数据泄漏,严重时可能造成输电网络的不稳定或小区停电事故。另外边缘物联终端的操作系统也可能因环境或其他原因,导致操作系统镜像损坏,使边缘物联终端无法正常工作,影响整个电力物联网的正常运行。嵌入式系统启动过程可分为BootLoader运行、uImage导入内存、内核初始化、应用程序运行等几个过程。涉及操作系统安全引导的方案,大多数都采用TPM(TrustedPlatformModule,可信赖平台模块)安全芯片进行操作系统镜像的认证,其中典型的操作系统引导可信的方法为一种基于TPM构建可信启动控制的方法。它通过利用TPM的NV(Non-Volatilememory,非易失性存储空间)保存可信度量的策略,利用TPM的PCR(PlatformConfigurationRegister,平台配置寄存器)保存可信度量结果,然后利用可信引导模块实现自定义的系统启动模式,度量BIOS(BasicInputOutputSystem,基本输入输出系统)、Kernel(内核)、到OS(OperatingSystem,操作系统)启动过程中的关键信息,然后比对度量值与基准值得到当前主机的可信状态,完成主机的完整性检测和控制,完成可信启动控制,该方法基于TPM保存可信度量策略和可信度量结果,构建系统启动时的安全可信,确保主机在操作系统启动之前的完整性,利用安全芯片存储策略选项,增强了策略数据的安全性,通过可信引导控制,提高了系统启动时的安全性,通过可配置的度量策略,增加了可信启动控制方法的可用性。当前大多数操作系统引导方面的专利技术和解决方案,有些是针对服务器等大型系统的,不能适用嵌入式微型系统的场合;有些是采用硬件可信芯片,增加了硬件成本和处理环节,且没有可靠性的解决方案,不能全面解决可信度和可靠性的问题。例如CN110197073A公开了一种基于自校验机制的保护主机完整性的方法与系统、CN106127057A公开了一种基于TPM构建可信启动控制的方法、CN101038556公开了一种可信引导方法及其系统、CN104751063A公开了一种基于实模式技术的操作系统可信引导方法和CN109491712A公开了一种适用于VxWorks环境的可信引导方法均需要借助TPM芯片,且其只解决了可信的问题,没有解决镜像文件的可靠性问题,当引导区程序损坏后,将导致系统启动失败。CN108021798A公开了一种基于USBkey的可信操作系统和CN101645127公开了一种建立基于EFI的可信引导系统的方法,以上方法均采用借助外部硬件认证的方案,没有涉及镜像文件的可靠性问题。CN104794393A公开了一种嵌入式分区映像安全认证及内核可信引导方法及其设备和CN102830990A公开了一种计算机系统启动方法及计算机终端,以上方法均通过软件计算的方法获取镜像,也没有解决镜像损毁的问题。因此需要寻找既能保障引导的操作系统镜像安全可信又能解决操作系统镜像文件损坏恢复的方法,提高嵌入式系统的安全可靠性能。
技术实现思路
本专利技术目的:为解决嵌入式系统镜像的完整性和可信度问题,本专利技术提出了一种基于文件多镜像的嵌入式操作系统可信引导方法及系统,涉及镜像文件预处理方法、镜像文件存放方法、镜像文件一致性校验、镜像文件可信校验、镜像文件的快速定位和引导等,适用于嵌入式可信计算环境,通过多区引导,降低镜像被破坏或被更换的风险,确保导入uImage过程可靠、可信。技术方案:一种基于文件多镜像的嵌入式操作系统可信引导方法,包括以下步骤:步骤1:采用散列算法和非对称密钥算法生成操作系统镜像文件uImage的签名码和公钥,将操作系统镜像文件uImage和其签名码下载到目标嵌入式系统中,并将公钥编译进目标嵌入式系统所用到的二进制程序里;步骤2:在目标嵌入式系统上,采用散列算法和非对称密钥算法对下载的操作系统镜像文件uImage和其签名码进行真伪和完整性校验,若验证不一致,则删除该操作系统镜像文件uImage及其签名码,等待下次下载;否则,将操作系统镜像文件uImage及其签名码进行备份,得到uImage1、uImage2、sig1和sig2,分别将其存储至四个备份区;步骤3:利用目标嵌入式系统空闲时间,不间断验证uImage1和sig1、uImage2和sig2的一致性,当其中一组验证结果为不一致,则采用验证结果为一致的备份区内容覆盖验证结果为不一致的备份区;当两组验证结果均为不一致,则继续验证uImage1和sig2、uImage2和sig1的一致性,若其中一组验证结果为不一致,则采用验证结果为一致的备份区内容覆盖验证结果为不一致的备份区;若组验证结果均为不一致,则停止引导过程,等待操作系统镜像文件及其签名码的再次下载;步骤4:在探测到目标嵌入式系统即将掉电的情况下,验证uImage1和sig1、uImage2和sig2、uImage1和sig2、uImage2和sig1的一致性,并将各自的验证结果写入可掉电保存的预校验结果存储区;步骤5:当目标嵌入式系统上电启动后,U-Boot程序进行操作系统镜像文件和其签名码的再次校验,若任何一组校验通过,则结束校验流程,并将验证过的操作系统镜像文件导入操作系统运行内存;若四组组合均验证失败,则停止引导,等待操作系统镜像文件及其签名码的再次下载;步骤6:操作系统镜像文件导入操作系统运行内存后,启动第一个运行进程,引导整个嵌入式系统进入正常运行状态,结束引导过程;若引导出现异常,则停止引导过程,等待操作系统镜像文件及其签名码的再次下载。进一步的,所述步骤5中,当目标嵌入式系统上电启动后,U-Boot程序从预校验结果存储区读取预校验结果,选择校验结果正确的组合首先进行操作系统镜像文件和其签名码的校验。进一步的,所述的采用散列算法和非对称密钥算法生成操作系统镜像文件uImage的签名码和公钥的步骤包括:采用散列算法计算原始操作系统镜像文件的摘要;采用非对称密钥算法生成一组公钥和私钥对;采用私钥计算操作系统镜像文件的摘要得到签名码。本专利技术还公开了一种基于文件多镜像的嵌入式操作系统可信引导系统,包括离线处理系统和目标嵌入式系统;所述离线处理系统包括签名码离线生成模块,所述签名码离线生成模块用于生成非对称密钥算法的公私钥以及计算操作系统镜像文件uIma本文档来自技高网
...

【技术保护点】
1.一种基于文件多镜像的嵌入式操作系统可信引导方法,其特征在于:包括以下步骤:/n步骤1:采用散列算法和非对称密钥算法生成操作系统镜像文件uImage的签名码和公钥,将操作系统镜像文件uImage和其签名码下载到目标嵌入式系统中,并将公钥编译进目标嵌入式系统所用到的二进制程序里;/n步骤2:在目标嵌入式系统上,采用散列算法和非对称密钥算法对下载的操作系统镜像文件uImage和其签名码进行真伪和完整性校验,若验证不一致,则删除该操作系统镜像文件uImage及其签名码,等待下次下载;否则,将操作系统镜像文件uImage及其签名码进行备份,得到uImage1、uImage2、sig1和sig2,分别将其存储至四个备份区;/n步骤3:利用目标嵌入式系统空闲时间,不间断验证uImage1和sig1、uImage2和sig2的一致性,当其中一组验证结果为不一致,则采用验证结果为一致的备份区内容覆盖验证结果为不一致的备份区;当两组验证结果均为不一致,则继续验证uImage1和sig2、uImage2和sig1的一致性,若其中一组验证结果为不一致,则采用验证结果为一致的备份区内容覆盖验证结果为不一致的备份区;若组验证结果均为不一致,则停止引导过程,等待操作系统镜像文件及其签名码的再次下载;/n步骤4:在探测到目标嵌入式系统即将掉电的情况下,验证uImage1和sig1、uImage2和sig2、uImage1和sig2、uImage2和sig1的一致性,并将各自的验证结果写入可掉电保存的预校验结果存储区;/n步骤5:当目标嵌入式系统上电启动后,U-Boot程序进行操作系统镜像文件和其签名码的再次校验,若任何一组校验通过,则结束校验流程,并将验证过的操作系统镜像文件导入操作系统运行内存;若四组组合均验证失败,则停止引导,等待操作系统镜像文件及其签名码的再次下载;/n步骤6:操作系统镜像文件导入操作系统运行内存后,启动第一个运行进程,引导整个嵌入式系统进入正常运行状态,结束引导过程;若引导出现异常,则停止引导过程,等待操作系统镜像文件及其签名码的再次下载。/n...

【技术特征摘要】
1.一种基于文件多镜像的嵌入式操作系统可信引导方法,其特征在于:包括以下步骤:
步骤1:采用散列算法和非对称密钥算法生成操作系统镜像文件uImage的签名码和公钥,将操作系统镜像文件uImage和其签名码下载到目标嵌入式系统中,并将公钥编译进目标嵌入式系统所用到的二进制程序里;
步骤2:在目标嵌入式系统上,采用散列算法和非对称密钥算法对下载的操作系统镜像文件uImage和其签名码进行真伪和完整性校验,若验证不一致,则删除该操作系统镜像文件uImage及其签名码,等待下次下载;否则,将操作系统镜像文件uImage及其签名码进行备份,得到uImage1、uImage2、sig1和sig2,分别将其存储至四个备份区;
步骤3:利用目标嵌入式系统空闲时间,不间断验证uImage1和sig1、uImage2和sig2的一致性,当其中一组验证结果为不一致,则采用验证结果为一致的备份区内容覆盖验证结果为不一致的备份区;当两组验证结果均为不一致,则继续验证uImage1和sig2、uImage2和sig1的一致性,若其中一组验证结果为不一致,则采用验证结果为一致的备份区内容覆盖验证结果为不一致的备份区;若组验证结果均为不一致,则停止引导过程,等待操作系统镜像文件及其签名码的再次下载;
步骤4:在探测到目标嵌入式系统即将掉电的情况下,验证uImage1和sig1、uImage2和sig2、uImage1和sig2、uImage2和sig1的一致性,并将各自的验证结果写入可掉电保存的预校验结果存储区;
步骤5:当目标嵌入式系统上电启动后,U-Boot程序进行操作系统镜像文件和其签名码的再次校验,若任何一组校验通过,则结束校验流程,并将验证过的操作系统镜像文件导入操作系统运行内存;若四组组合均验证失败,则停止引导,等待操作系统镜像文件及其签名码的再次下载;
步骤6:操作系统镜像文件导入操作系统运行内存后,启动第一个运行进程,引导整个嵌入式系统进入正常运行状态,结束引导过程;若引导出现异常,则停止引导过程,等待操作系统镜像文件及其签名码的再次下载。


2.根据权利要求1所述的一种基于文件多镜像的嵌入式操作系统可信引导方法,其特征在于:所述步骤5中,当目标嵌入式系统上电启动后,U-Boot程序从预校验结果存储区读取预校验结果,选择校验结果正确的组合首先进行操作系统镜像文件和其签名码的校验。


3.根据权利要求1所述的一种基于文件多镜像的嵌入式操作系统可信引导方法,其特征在于:所述的采用散列算法和非对称密钥算法生成操作系统镜像文件uImage的签名码和公钥的步骤包括:
采用散列算法计...

【专利技术属性】
技术研发人员:李友军周华良郑玉平张吉丁袁刘拯张成彬滕春涛张连生朱彬彬
申请(专利权)人:国电南瑞科技股份有限公司国电南瑞南京控制系统有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1