一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2021-10-27 20:39:00 来源:中国专利 TAG:校验 系统安全 用于 操作系统 软件系统


1.本技术涉及系统安全技术领域,尤其涉及一种用于校验操作系统前置软件的系统。


背景技术:

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


技术实现要素:

5.为解决以上问题,本技术提出了一种用于校验操作系统前置软件的系统,通过使用内部存储器启动信任链,采用数字签名验证技术,依次验证bootloader的签名和内核的签名,判断操作系统前置软件是否发生改变。
6.具体地,本发明提出了用于校验操作系统前置软件的系统,包括:
7.信任链校验模块,用于使用内部存储器启动信任链,采用数字签名验证技术,依次验证bootloader的签名和内核的签名。
8.优选地,还包括:
9.信任根校验模块,用于在操作系统启动时,使用信任根验证组件对当前bios进行验证。
10.优选地,所述信任根校验模块包括:
11.校验单元,用于在操作系统启动时,使用信任根验证组件对当前的bios镜像生成的第一签名与原始bios签名进行比较;判断所述第一签名是否与所述原始bios签名相同,若相同,则将执行权交予bios;若不同,则使用信任根对更新后的bios镜像生成的第二签名与原始bios签名进行再验证,若所述第一签名与所述原始bios签名相同,则将执行权交予
bios;若所述第一签名与所述原始bios签名不相同,则停止启动;
12.更新模块,用于使用存储的原始bios镜像进行bios更新。
13.优选地,所述信任链校验模块包括:
14.内部存储器单元,用于使用内部存储器中的第一验证公钥解密bootloader单元的签名头部中的信息,对bootloader单元的签名头部中的信息进行计算,得到第一验证私钥,对第一验证公钥和第一验证私钥进行配对,根据匹配结果,启动bootloader单元或停止操作系统的启动;
15.bootloader单元,用于使用bootloader中的第二验证公钥解密内核单元的签名头部中的信息,对内核单元的签名头部中的信息进行计算,得到第二验证私钥,对第二验证公钥和第二验证私钥进行配对,根据匹配结果,启动内核单元或停止操作系统的启动;
16.内核单元,根据匹配结果,启动操作系统或停止操作系统的启动。
17.优选地,所述第一验证公钥和第一验证私钥中的bootloader的签名以及所述第二验证公钥和第二验证私钥中的内核的签名分别使用不同的hash算法和不同密钥长度的rsa算法。
18.优选地,所述签名头部中的信息,包括:bootloader或内核的大小、签名信息、签名算法。
19.本技术的优点在于:通过信任链校验模块使用内部存储器启动信任链,采用数字签名验证技术,依次验证bootloader的签名和内核的签名,可以校验启动实体(前置软件)内容的完整性和来源的真实性,不需要增加额外的硬件。
附图说明
20.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选事实方案的目的,而并不认为是对本技术的限制。而且在整个附图中,用同样的参考符号表示相同的部件。在附图中:
21.图1是本技术提供的一种用于校验操作系统前置软件的系统的示意图;
22.图2是本技术提供的一种用于校验操作系统前置软件的系统的信任根校验模块的校验示意图;
23.图3是本技术提供的一种用于校验操作系统前置软件的系统的信任链校验模块示意图;
24.图4是本技术提供的一种用于校验操作系统前置软件的方法的步骤示意图。
具体实施方式
25.下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
26.根据本技术的实施方式,提出一种用于校验操作系统前置软件的系统,如图1所示,包括:
27.信任链校验模块101,用于使用内部存储器(internal rom,irom)启动信任链,采
用数字签名验证技术,依次验证bootloader的签名和内核(kernel)的签名。
28.若操作系统的前置软件包括bios,则还包括:
29.信任根(root of trust,rt)校验模块,用于在操作系统启动时,使用信任根验证组件对当前bios进行验证。
30.信任根校验模块包括:
31.校验单元,用于在操作系统启动时,使用信任根验证组件对当前的bios镜像生成的第一签名与原始bios签名进行比较;判断第一签名是否与原始bios签名相同,若相同,则将执行权交予bios;若不同,则使用信任根对更新后的bios镜像生成的第二签名与原始bios签名进行再验证,若第一签名与原始bios签名相同,则将执行权交予bios;若第一签名与原始bios签名不相同,则停止启动;
32.更新模块,用于使用存储的原始bios镜像进行bios更新。
33.信任链校验模块包括:
34.内部存储器单元,用于使用内部存储器中的第一验证公钥解密bootloader单元的签名头部中的信息,对bootloader单元的签名头部中的信息进行计算,得到第一验证私钥,对第一验证公钥和第一验证私钥进行配对,根据匹配结果,启动bootloader单元或停止操作系统的启动;
35.bootloader单元,用于使用bootloader中的第二验证公钥解密内核单元的签名头部中的信息,对内核单元的签名头部中的信息进行计算,得到第二验证私钥,对第二验证公钥和第二验证私钥进行配对,根据匹配结果,启动内核单元或停止操作系统的启动;
36.内核单元,根据匹配结果,启动操作系统或停止操作系统的启动。
37.第一验证公钥和第一验证私钥中的bootloader的签名以及第二验证公钥和第二验证私钥中的内核的签名分别使用不同的hash算法和不同密钥长度的rsa算法。
38.签名头部中的信息,包括:bootloader或内核的大小、签名信息、签名算法。
39.下面,对本技术的实施方式进行进一步详细说明。
40.以一个操作系统的前置软件包括bios、bootloader和内核为例,则首先对bios进行校验。
41.如图2所示,在系统每次启动时,信任根校验模块中的校验单元使用rt验证组件对bios进行验证,rt验证组件对当前的bios镜像生成签名(第一签名),将生成的签名与系统存储的原始bios签名进行对比;当签名对一致时,则验证通过,bios可信,将执行权交予bios。
42.当签名对不一致时,更新单元访问历史存储的原始bios镜像,进行验证并执行bios更新,对当前的bios进行更新;执行复位操作,重启rt验证组件,校验单元对更新后的bios进行再校验,使用信任根对更新后的bios镜像生成的第二签名与原始bios签名进行比较,当签名对一致时,则验证通过,bios可信,将执行权交予bios;当验证不通过时,则bios不可信,不可信的bios不再继续执行。
43.在bios校验通过后,启动信任链校验模块,采用数字签名验证技术,依次验证bootloader的签名和内核的签名。
44.信任链校验模块中的irom单元(内部存储器单元)为第一个启动实体,之后是bootloader单元、kernel(内核)单元的启动,组成启动信任链。信任链中的每阶段包含签名
头部和验证尾部;上一个启动实体通过尾部的验证模块通过验证公钥解密下一个实体的签名头部。验证单元使用签名头部中的信息计算签名头部所对应的实体的当前的计算值(验证私钥),与验证公钥进行对比,若验证私钥中的签名与验证公钥中的签名一致,则允许启动,若不一致,则报错,启动终止。
45.信任链的可信启动分为内部存储器单元验证bootloader单元中存储的bootloader的信息和由bootloader单元验证内核单元中存储的内核的信息两个阶段;若信任链中的签名比较全部一致,则说明校验成功;若信任链中的签名比较有不一致,则校验不通过(不可信),启动终止。
46.签名头部包括用于计算验证私钥的信息,如对应的实体自身的签名信息、大小、签名算法参数。验证单元采用数字签名验证技术对启动实体的可信性进行验证,确保启动实体的来源可信。
47.如图3所示,使用内部存储器单元的验证尾部中的第一验证公钥解密bootloader单元的签名头部中的信息;验证尾部中的验证单元对bootloader的签名头部中的信息进行计算,得到第一验证私钥。验证单元对第一验证公钥和第一验证私钥进行配对,若第一验证公钥和第一验证私钥不匹配,则不允许bootloader单元启动,终止操作系统的启动;若匹配,则允许bootloader单元启动,且bootloader单元验证尾部中的验证单元使用bootloader单元验证尾部中的第二验证公钥解密内核单元的签名头部中的信息。bootloader单元验证尾部中的验证单元对内核单元的签名头部中的信息进行计算,得到第二验证私钥,对第二验证公钥中的签名信息和第二验证私钥中的签名信息进行配对,若第二验证公钥和第二验证私钥不匹配,则不允许内核单元启动,终止操作系统的启动;若匹配,则允许内核单元启动,允许操作系统启动。
48.bootloader单元的签名和内核单元的签名能够分别使用不同的hash算法和不同密钥长度的rsa算法。
49.通过利用完整性验证技术和数字签名技术建立嵌入式信任链,可有效地保护预期度量值(签名)。
50.根据本技术的实施方式,还提出一种用于校验操作系统前置软件的方法,如图4所示,包括:
51.s101,使用内部存储器启动信任链,采用数字签名验证技术,依次验证bootloader的签名和内核的签名。
52.若操作系统的前置软件包括bios,则在使用内部存储器启动信任链,采用数字签名验证技术,依次验证bootloader的签名和内核的签名之前,还包括:
53.在操作系统启动时,使用信任根验证组件对当前bios进行验证。
54.在操作系统启动时,使用信任根验证组件对当前bios进行验证,包括:
55.在操作系统启动时,使用信任根验证组件对当前的bios镜像生成的第一签名与原始bios签名进行比较;
56.若第一签名与原始bios签名相同,则将执行权交予bios;
57.若第一签名与原始bios签名不相同,则更新bios,进行再验证。
58.更新bios,进行再验证,包括:
59.使用存储的原始bios镜像进行bios更新;
60.使用信任根对更新后的bios镜像生成的第二签名与原始bios签名进行比较;
61.若第一签名与原始bios签名相同,则将执行权交予bios;
62.若第一签名与原始bios签名不相同,则停止启动。
63.使用内部存储器启动信任链,采用数字签名验证技术,依次验证bootloader的签名和内核的签名,包括:
64.使用内部存储器中的第一验证公钥解密bootloader的签名头部中的信息;
65.对bootloader的签名头部中的信息进行计算,得到第一验证私钥;
66.对第一验证公钥和第一验证私钥进行配对,若匹配,则使用bootloader中的第二验证公钥解密内核的签名头部中的信息;
67.对内核的签名头部中的信息进行计算,得到第二验证私钥;
68.对第二验证公钥和第二验证私钥进行配对,若匹配,则允许操作系统启动。
69.若第一验证公钥和第一验证私钥不匹配,则终止操作系统的启动。
70.若第二验证公钥和第二验证私钥不匹配,则终止操作系统的启动。
71.bootloader的签名和内核的签名分别使用不同的hash算法和不同密钥长度的rsa算法。
72.签名头部中的信息,包括:bootloader或内核的大小、签名信息、签名算法。
73.本技术的系统中,通过信任链校验模块使用内部存储器启动信任链,采用数字签名验证技术,依次验证bootloader的签名和内核的签名,可以校验启动实体(前置软件)内容的完整性和来源的真实性,不需要增加额外的硬件模块,便可有效保障嵌入式系统启动时可信性的方法。利用完整性验证技术和数字签名技术建立嵌入式可信启动信任链,能够有效地保护预期度量值。通过验证签名的技术可以验证启动实体内容的完整性和来源的真实性,有效地保证系统启动过程的可信性,简化了硬件设计难度,缩减了开销,在保障可信启动的前提下降低了开发难度,可广泛应用于严格控制成本的嵌入式系统开发中,以提高系统的高可信能力。
74.以上所述,仅为本技术较佳的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜