linux嵌入式认证,一种基于嵌入式Linux系统的带安全认证的多启动系统及方法与流程...

bce152cadc97819ed1a887a38692f615.gif

本发明涉及嵌入式系统技术领域,特别涉及一种基于嵌入式Linux系统的带安全认证的多启动系统及方法。

背景技术:

Linux嵌入式应用是将Linux进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。广泛应用在生活、工业、科研等领域。

嵌入式Linux应用的优点包括:

第一,Linux是开放源代码的,不存在黑箱技术,遍布全球的众多Linux爱好者都是Linux 开发者的强大技术支持者;而Windows CE是非开放性OS,使第三方难以实现产品定制。

第二,Linux的源代码随处可得,注释丰富,文档齐全,易于解决各种问题。

第三,Linux的内核小、效率高;而Windows CE在这方面是笨拙的,占用过多的RAM,应用程序庞大。

第四,Linux是免费的OS,在价格上具有竞争力,适合中国国情。Windows CE的版权费用时厂家不得不考虑的因素。

第五,Linux不仅支持x86芯片,还是一个跨平台的系统。到目前为止,它可以支持20-30 种CPU,很多CPU(包括家电业的芯片)厂商都开始做Linux的平台移植工作,而且移植的速度远远超过Java的开发环境。

第六,Linux内核的结构在网络方面是非常完整的,它提供了包括十兆位、百兆位及千兆位的以太网,还有无线网络、Token ring(令牌环)和光纤甚至卫星的支持。

第七,Linux在内核结构的设计中考虑适用系统的可裁减性的要求,Windows CE在内核结构设计中并未考虑适应系统的高度可减剪性的要求。

综上,Linux嵌入式应用既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。版权费免费,性能优异,软件移植容易,代码开放,有许多应用软件支持,和许多公开的代码可以参考和移植,所以应用产品开发周期短,新产品上市迅速,实时性能稳定性好安全性好,所以发展非常迅速。

随着嵌入式Linux的普及,对其使用的安全性和稳定性等各方面性能要求也越来越高。

Linux的应用已经超出了原来的传统主机的范畴,Linux已经大量应用在移动设备和物联网设备上。人们利用这些设备不仅用来运算,还进行安全交易,存储安全数据等等。这对Linux 内核提出了更高等级的安全需求。

Linux内核长期以其多年没有提升内核安全而深受诟病,主要原因是Linux社区里长期认为Linux的速度、效率是最重要的,而不是安全。LINUX认为如果因为安全问题而导致速度和效率受影响,那么提高安全是得不偿失的。另外还有些安全性的提升是没有用的,因为它们已经被证明很容易被攻破(比如内核地址随机化)。

正是有了这些不同的声音,多年来Linux内核并没有太大的安全提升,而且也正是因为当心快速修复漏洞而影响其他的性能,Linux内核的漏洞修复往往会太慢,而导致很多安全问题长期没有得到解决。

这些年除了SELinux及PXN技术还算是比较有效的防御手段之外,Linux的安全已经远远落后在windows之后。

综上,现提出一种基于嵌入式Linux系统的带安全认证的多启动方法。

技术实现要素:

为了解决现有技术的问题,本发明提供了一种基于嵌入式LINUX系统的带安全认证的多启动系统及方法,其能够大幅度提高嵌入式Linux系统的安全性。

本发明所采用的技术方案如下:

一种基于嵌入式Linux系统的带安全认证的多启动系统,包括启动安全认证模块,Uboot 程序初始化模块,Linux内核程序初始化模块和文件系统加载模块:

在所述的启动安全认证模块中,通过UKey硬件进行第一步安全认证;

在所述的Uboot程序初始化模块中,完成第二步安全认证;

在所述的Linux内核程序初始化模块中,完成第三步安全认证;

在所述的文件系统加载模块中,完成第四步安全认证,并直到存储介质的文件系统分区,被Linux内核挂载成功,设置Linux内核的启动标志项为有效,完成启动。

在所述的Uboot程序初始化模块中,按照由高至低的优先级分别设置Nand flash、Nor flash和Spi flash,并依次验证Uboot程序启动标志项的有效性,完成第二步安全认证。

在所述的Linux内核程序初始化模块中,按照由高至低的优先级分别设置Nand flash、Nor flash和Spi flash,并依次验证Linux内核程序启动标志项的有效性,完成第三步安全认证。

在所述的文件系统加载模块中,按照由高至低的优先级分别设置Nand flash第一分区、 Nand flash第二分区……Nand flash第N分区,并依次验证文件系统启动标志项的有效性,完成第四步安全认证,直到存储介质的文件系统分区,被Linux内核挂载成功,设置Linux内核的启动标志项为有效,完成启动。

一种基于嵌入式Linux系统的带安全认证的多启动方法,包括以下步骤:

A、开发板上电启动,并进行第一步安全认证,所述的第一步安全认证未通过,系统重新启动,所述的第一步安全认证通过,进入Uboot程序初始化;

B、在Uboot程序初始化阶段通过备份镜像文件存储进行第二步安全认证,所述的第二步安全认证未通过,系统重新启动,所述的第二步安全认证通过,进入Linux内核程序初始化;

C、在Linux内核程序初始化阶段通过备份镜像文件存储进行第三步安全认证,所述的第三步安全认证未通过,系统重新启动,所述的第三步安全认证通过,进入文件系统加载;

D、在文件系统加载阶段通过备份镜像文件存储进行第四步安全认证,所述的第四步安全认证未通过,系统重新启动,所述的第四步安全认证通过,完成启动。

步骤A具体包括:基于嵌入式Linux系统的装置上电开始启动,使用相应的安全认证UKey 进行所述的第一步安全认证。

步骤B具体包括:

B1、所述的第一步安全认证通过后,bootloader的开始初始化,搜索Nand flash内启动标志列表,读取Uboot程序启动标志项;

B2、验证Uboot程序启动标志项的有效性,如果Uboot程序启动标志项有效,则从Nand flash启动;如果Uboot程序启动标志项无效,则继续选择Nor flash启动;如果Uboot程序启动标志项无效,则继续选择Spi flash启动;如果标志项都无效则系统重启;

B3、所述的Uboot程序继续初始化过程,搜索flash存储介质的对应区域的启动标志列表,读取Linux内核启动标志项。

步骤C具体包括:

C1、验证Linux内核启动标志项的有效性,如果有效选择则从Nand flash启动;如果无效,则继续选择Nor flash启动;如果还无效,则继续选择Spi flash启动;如果都标志项都无效则系统重启;

C2、Linux内核加载并启动,设置Uboot程序的启动标志项为有效,且复位Linux内核的启动标志项为初始状态;

C3、Linux内核开始启动,搜索文件系统中的Nand flash第一分区的启动标志列表,读取文件系统启动标志项。

步骤D具体包括:

D1、验证文件系统启动标志项的有效性,如果有效选择Nand flash第一分区,如果无则继续选择Nand flash第二分区,如此依次验证;

D2、直到存储介质的文件系统分区,被Linux内核挂载成功,设置Linux内核的启动标志项为有效,完成启动。

本发明提供的技术方案带来的有益效果是:

本发明的一种基于嵌入式LINUX系统的带安全认证的多启动系统及方法,于嵌入式 Linux系统的设备,在启动过程中增加UKey硬件身份安全认证。之后安装系统加载启动流程,在uboot初始化、liunx内核初始化、文件系统加载的各阶段,分别备份镜像文件存储,在某一阶段数据加载失败时,继续尝试本阶段其他备份存储区域。如此硬件身份认证保证系统启动的安全性,多存储区域多启动的方法,提高系统启动的稳定性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的一种基于嵌入式LINUX系统的带安全认证的多启动系统的系统构架图;

图2为本发明的一种基于嵌入式LINUX系统的带安全认证的多启动方法的方法流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

实施例一

如附图1所示,一种基于嵌入式Linux系统的带安全认证的多启动系统,包括启动安全认证模块,Uboot程序初始化模块,Linux内核程序初始化模块和文件系统加载模块:

在所述的启动安全认证模块中,通过UKey硬件进行第一步安全认证;

在所述的Uboot程序初始化模块中,按照由高至低的优先级分别设置Nand flash、Nor flash和Spi flash,并依次验证Uboot程序启动标志项的有效性,完成第二步安全认证。

在所述的Linux内核程序初始化模块中,按照由高至低的优先级分别设置Nand flash、Nor flash和Spi flash,并依次验证Linux内核程序启动标志项的有效性,完成第三步安全认证。

在所述的文件系统加载模块中,按照由高至低的优先级分别设置Nand flash第一分区、 Nand flash第二分区……Nand flash第N分区,并依次验证文件系统启动标志项的有效性,完成第四步安全认证,直到存储介质的文件系统分区,被Linux内核挂载成功,设置Linux内核的启动标志项为有效,完成启动。

实施例二

如附图2所示,一种基于嵌入式LINUX系统的带安全认证的多启动方法,包括以下步骤:

1、首先基于开发板上电开始启动,插入Ukey进行身份安全认证,如果认证未通过,调试串口输出安全认证未通过提示,系统重新启动。

2、认证通过后,bootloader的开始初始化,搜索Nand flash内启动标志列表,读取Uboot 程序启动标志项。

3、验证Uboot程序启动标志项的有效性,如果Uboot程序启动标志项有效,则从Nand flash启动;如果Uboot程序启动标志项无效,则继续选择Nor flash启动;如果Uboot程序启动标志项无效,则继续选择Spi flash启动;如果标志项都无效则系统重启。

4、Uboot程序继续初始化过程,搜索flash存储介质的对应区域的启动标志列表,读取 Linux内核启动标志项。

5、验证Linux内核启动标志项的有效性,如果有效选择则从Nand flash启动;如果无效,则继续选择Nor flash启动;如果还无效,则继续选择Spi flash启动;如果都标志项都无效则系统重启。Linux内核加载并启动,设置Uboot程序的启动标志项为有效,且复位Linux内核的启动标志项为初始状态;

6、Linux内核开始启动,搜索Nand flash分区1的启动标志列表,读取文件系统启动标志项。

7、验证文件系统启动标志项的有效性,如果有效选择Nand flash分区1,如果无则继续选择Nand flash分区2,如此依次验证。直到存储介质的文件系统分区,被Linux内核挂载成功,设置Linux内核的启动标志项为有效,完成启动。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值