一种用于校验操作系统前置软件的方法技术方案

技术编号:30515945 阅读:19 留言:0更新日期:2021-10-27 22:58
本申请公开了一种用于校验操作系统前置软件的方法,包括:使用内部存储器启动信任链,采用数字签名验证技术,依次验证BootLoader的签名和内核的签名。通过使用内部存储器启动信任链,采用数字签名验证技术,依次验证BootLoader的签名和内核的签名,可以校验启前置软件内容的完整性和来源的真实性,不需要增加额外的硬件便可有效保障嵌入式系统启动时可信性的方法。利用完整性验证技术和数字签名技术建立嵌入式可信启动信任链,能够有效地保护预期度量值。通过验证签名的技术可以验证启动实体内容的完整性和来源的真实性,有效地保证系统启动过程的可信性,简化了硬件设计难度,可广泛应用于严格控制成本的嵌入式系统开发中,提高系统的高可信能力。提高系统的高可信能力。提高系统的高可信能力。

【技术实现步骤摘要】
一种用于校验操作系统前置软件的方法


[0001]本申请涉及系统安全
,尤其涉及一种用于校验操作系统前置软件的方法。

技术介绍

[0002]随着信息技术的高速发展,在带来信息产业空前繁荣的同时,危害信息安全的事件也不断发生,信息安全形势日益严峻。目前有多种保障系统安全的技术,比如系统访问控制、入侵检测技术和防病毒体系等,这些技术大都只能提高系统应用层的安全。一个系统能够正常运行的前提是系统本身是安全的,如果系统在启动之前就由于被篡改或破坏等原因进入一种不可信的状态,则基于该系统而建立的任何安全机制都无法确保系统的可信性。传统嵌入式系统的设计很少考虑系统安全问题,存在较多的安全隐患,如用户可通过刷机进入一种不确定的系统状态,或者内核被恶意程序植入而遭篡改,这些操作都可能给用户带来严重的损失和破坏。
[0003]目前,已经有一些研究成果可以做到防止内核等关键信息被篡改。现有的可信启动相关研究方法分为两类:一类是需要增加额外硬件辅助,如在PC机领域添置可信平台模块(Trusted Platform Module,TPM)以及在移动设备终端添置移动可信模块(Mobile Trusted Module,MTM)这类安全芯片。然而该方法需要增加额外的可信硬件模块,这将增加硬件开销和成本。而对成本控制非常严格的嵌入式设备,大多没有这样的可信模块。因此,该类方法对于嵌入式系统而言,具有很大的局限性。
[0004]综上所述,需要提供一种不需要增加额外硬件的前置软件校验方法。

技术实现思路

[0005]为解决以上问题,本申请提出了一种用于校验操作系统前置软件的方法,通过使用内部存储器启动信任链,采用数字签名验证技术,依次验证BootLoader的签名和内核的签名,判断操作系统前置软件是否发生改变。
[0006]具体地,本专利技术提出了一种用于校验操作系统前置软件的方法,包括:
[0007]使用内部存储器启动信任链,采用数字签名验证技术,依次验证BootLoader的签名和内核的签名。
[0008]优选地,若操作系统的前置软件包括BIOS,则在所述使用内部存储器启动信任链,采用数字签名验证技术,依次验证BootLoader的签名和内核的签名之前,还包括:
[0009]在操作系统启动时,使用信任根验证组件对当前BIOS进行验证。
[0010]优选地,所述在操作系统启动时,使用信任根验证组件对当前BIOS进行验证,包括:
[0011]在操作系统启动时,使用信任根验证组件对当前的BIOS镜像生成的第一签名与原始BIOS签名进行比较;
[0012]若所述第一签名与所述原始BIOS签名相同,则将执行权交予BIOS;
[0013]若所述第一签名与所述原始BIOS签名不相同,则更新BIOS,进行再验证。
[0014]优选地,所述更新BIOS,进行再验证,包括:
[0015]使用存储的原始BIOS镜像进行BIOS更新;
[0016]使用信任根对更新后的BIOS镜像生成的第二签名与原始BIOS签名进行比较;
[0017]若所述第一签名与所述原始BIOS签名相同,则将执行权交予BIOS;
[0018]若所述第一签名与所述原始BIOS签名不相同,则停止启动。
[0019]优选地,所述使用内部存储器启动信任链,采用数字签名验证技术,依次验证BootLoader的签名和内核的签名,包括:
[0020]使用内部存储器中的第一验证公钥解密BootLoader的签名头部中的信息;
[0021]对BootLoader的签名头部中的信息进行计算,得到第一验证私钥;
[0022]对第一验证公钥和第一验证私钥进行配对,若匹配,则使用BootLoader中的第二验证公钥解密内核的签名头部中的信息;
[0023]对内核的签名头部中的信息进行计算,得到第二验证私钥;
[0024]对第二验证公钥和第二验证私钥进行配对,若匹配,则允许操作系统启动。
[0025]优选地,若第一验证公钥和第一验证私钥不匹配,则终止操作系统的启动。
[0026]优选地,若第二验证公钥和第二验证私钥不匹配,则终止操作系统的启动。
[0027]优选地,所述BootLoader的签名和所述内核的签名分别使用不同的Hash算法和不同密钥长度的RSA算法。
[0028]优选地,所述签名头部中的信息,包括:BootLoader或内核的大小、签名信息、签名算法。
[0029]本申请的优点在于:通过使用内部存储器启动信任链,采用数字签名验证技术,依次验证BootLoader的签名和内核的签名,可以校验启动实体(前置软件)内容的完整性和来源的真实性,不需要增加额外的硬件。
附图说明
[0030]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选事实方案的目的,而并不认为是对本申请的限制。而且在整个附图中,用同样的参考符号表示相同的部件。在附图中:
[0031]图1是本申请提供的一种用于校验操作系统前置软件的方法的步骤示意图;
[0032]图2是本申请提供的一种用于校验操作系统前置软件的方法的信任根校验示意图;
[0033]图3是本申请提供的一种用于校验操作系统前置软件的方法的信任链校验示意图;
[0034]图4是本申请提供的一种用于校验操作系统前置软件的系统的示意图。
具体实施方式
[0035]下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公
开的范围完整的传达给本领域的技术人员。
[0036]根据本申请的实施方式,提出一种用于校验操作系统前置软件的方法,如图1所示,包括:
[0037]S101,使用内部存储器(Internal ROM,IROM)启动信任链,采用数字签名验证技术,依次验证BootLoader的签名和内核的签名。
[0038]若操作系统的前置软件包括BIOS,则在使用内部存储器启动信任链,采用数字签名验证技术,依次验证BootLoader的签名和内核的签名之前,还包括:
[0039]在操作系统启动时,使用信任根(Root of Trust,RT)验证组件对当前BIOS进行验证。
[0040]在操作系统启动时,使用信任根验证组件对当前BIOS进行验证,包括:
[0041]在操作系统启动时,使用信任根验证组件对当前的BIOS镜像生成的第一签名与原始BIOS签名进行比较;
[0042]若第一签名与原始BIOS签名相同,则将执行权交予BIOS;
[0043]若第一签名与原始BIOS签名不相同,则更新BIOS,进行再验证。
[0044]更新BIOS,进行本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于校验操作系统前置软件的方法,其特征在于,包括:使用内部存储器启动信任链,采用数字签名验证技术,依次验证BootLoader的签名和内核的签名。2.如权利要求1所述的方法,其特征在于,若操作系统的前置软件包括BIOS,则在所述使用内部存储器启动信任链,采用数字签名验证技术,依次验证BootLoader的签名和内核的签名之前,还包括:在操作系统启动时,使用信任根验证组件对当前BIOS进行验证。3.如权利要求2所述的方法,其特征在于,所述在操作系统启动时,使用信任根验证组件对当前BIOS进行验证,包括:在操作系统启动时,使用信任根验证组件对当前的BIOS镜像生成的第一签名与原始BIOS签名进行比较;若所述第一签名与所述原始BIOS签名相同,则将执行权交予BIOS;若所述第一签名与所述原始BIOS签名不相同,则更新BIOS,进行再验证。4.如权利要求3所述的方法,其特征在于,所述更新BIOS,进行再验证,包括:使用存储的原始BIOS镜像进行BIOS更新;使用信任根对更新后的BIOS镜像生成的第二签名与原始BIOS签名进行比较;若所述第一签名与所述原始BIOS签名相同,则将执行权交予BIOS;若所述第一签名与所述...

【专利技术属性】
技术研发人员:蔡方达杨洋史建琦黄滟鸿孙文圣付能
申请(专利权)人:华东师范大学
类型:发明
国别省市:

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

1