一种基于加解密的Linux系统安全启动方法及系统技术方案

技术编号:24331467 阅读:17 留言:0更新日期:2020-05-29 19:46
本申请公开了一种基于加解密的Linux系统安全启动方法,包括:打包加密步骤;及启动解密步骤。与现有技术相比,本申请具有如下有益效果:1.bootloader解密kernel,kernel解密文件系统的双重安全防护机制。2.kernel先挂载文件系统后只需解密核心业务程序,而不是先解密整个文件系统分区后再挂载。

A secure start method and system of Linux system based on encryption and decryption

【技术实现步骤摘要】
一种基于加解密的Linux系统安全启动方法及系统
本申请涉及信息安全领域,具体而言,涉及一种基于加解密的Linux系统安全启动方法。
技术介绍
如图1所示,现有技术中心,嵌入式Linux系统整个分区中的数据都是未加密的。bootloader为引导分区,kernel为linux内核+rootfs分区,文件系统分区主要用于存放产品核心业务程序。这种方式的缺点是显而易见的:1.kernel分区容易被copy出来进行反编译,替换,甚至盗用。2.文件系统分区中的核心业务逻辑为二进制或脚本程序,若将分区copy出来进行反编译分析,很容易发现程序中的执行逻辑,甚至敏感字符串等信息。存在较大的安全隐患。
技术实现思路
本申请的主要目的在于提供一种基于加解密的Linux系统安全启动方法,包括:打包加密步骤;及启动解密步骤。可选地,打包加密步骤包括:S2:打包时,对kernel分区进行加密;S4:对文件系统中的核心业务程序进行加密;启动解密步骤包括:S6:系统启动时,bootloader解密并启动所述kernel分区,所述kernel分区里的rootfs挂载文件系统分区并将其中的核心程序解密到内存中执行。可选地,步骤S2及步骤S4包括:存储bootloader及解密程序至bootloader分区;存储Linux内核及rootfs和与所述解密程序对应的加密程序至加密后的kernel分区;存储核心业务程序及所述加密程序至加密后的核心业务程序;存储加密后的核心业务程序及文件系统非核心部分至核心程序加密的文件系统分区。可选地,步骤S6包括:CPU加载并执行所述bootloader;所述bootloader将所述kernel分区复制到内存解密并执行;所述roofs挂载文件系统分区并解密核心业务程序到内存执行。可选地,所述文件系统的根基在flash中。可选地,加密和解密为AES加密及AES解密。根据本申请的另一方面还提供了一种基于加解密的Linux系统安全启动系统,包括:加密模块,用于打包加密;及解密模块,用于启动解密。本申请还公开了一种计算机设备,包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的基于加解密的Linux系统安全启动方法。本申请还公开了一种计算机可读存储介质,非易失性可读存储介质,其内存储有计算机程序,所述计算机程序在由处理器执行时实现上述任一项所述的基于加解密的Linux系统安全启动方法。本申请还公开了一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码由计算机设备执行时,导致所述计算机设备执行上述任一项所述的基于加解密的Linux系统安全启动方法。与现有技术相比,本申请具有如下有益效果:1.bootloader解密kernel,kernel解密文件系统的双重安全防护机制。2.kernel先挂载文件系统后只需解密核心业务程序,而不是先解密整个文件系统分区后再挂载。附图说明构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和有益效果变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是现有技术中,Linux系统启动方法的示意图。图2是根据本申请一个实施例的基于加解密的Linux系统安全启动方法的流程示意图;图3是根据本申请一个实施例的基于加解密的Linux系统安全启动方法的流程示意图;图4是根据本申请一个实施例的基于加解密的Linux系统安全启动方法的流程示意图;图5是根据本申请一个实施例的计算机设备的示意图;以及图6是根据本申请一个实施例的计算机可读存储介质的示意图。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。本申请一实施例提供了一种基于加解密的Linux系统安全启动方法,包括:打包加密步骤;及启动解密步骤。请参照图2-3,本申请一实施例中,打包加密步骤包括:S2:打包时,对kernel分区进行加密;S4:对文件系统中的核心业务程序进行加密;启动解密步骤包括:S6:系统启动时,bootloader解密并启动所述kernel分区,所述kernel分区里的rootfs挂载文件系统分区并将其中的核心程序解密到内存中执行。本申请一实施例中,步骤S2及步骤S4包括:存储bootloader及解密程序至bootloader分区;存储Linux内核及rootfs和与所述解密程序对应的加密程序至加密后的kernel分区;存储核心业务程序及所述加密程序至加密后的核心业务程序;存储加密后的核心业务程序及文件系统非核心部分至核心程序加密的文件系统分区。如图4所示,本申请一实施例中,步骤S6包括:CPU加载并执行所述bootloader;所述bootloader将所述kernel分区复制到内存解密并执行;所述roofs挂载文件系统分区并解密核心业务程序到内存执行。例如,打包时,一方面对kernel进行加密。另一方面只针对文件系统中的核心业务程序进行加密,文件系统中的其他部分则不做加密。系统启动时,bootloader解密并启动kernel,kernel分区里的rootfs挂载文件系统分区并负责将其中的核心程序解密到内存中去执行。本申请一实施例中,所述文件系统的根基在flash中。本申请一实施例中,加密和解密为AES加密及AES解密。然而并不一次为限,本领域技术人员可以根据实际情况使用任何已知的加密解密方法,均属于本申请所要求保护的范围之内。例如,打包时,一方本文档来自技高网
...

【技术保护点】
1.一种基于加解密的Linux系统安全启动方法,其特征在于,包括:/n打包加密步骤;及/n启动解密步骤。/n

【技术特征摘要】
1.一种基于加解密的Linux系统安全启动方法,其特征在于,包括:
打包加密步骤;及
启动解密步骤。


2.根据权利要求1所述的基于加解密的Linux系统安全启动方法,其特征在于,打包加密步骤包括:
S2:打包时,对kernel分区进行加密;
S4:对文件系统中的核心业务程序进行加密;
启动解密步骤包括:
S6:系统启动时,bootloader解密并启动所述kernel分区,所述kernel分区里的rootfs挂载文件系统分区并将其中的核心程序解密到内存中执行。


3.根据权利要求2所述的基于加解密的Linux系统安全启动方法,其特征在于,步骤S2及步骤S4包括:
存储bootloader及解密程序至bootloader分区;
存储Linux内核及rootfs和与所述解密程序对应的加密程序至加密后的kernel分区;
存储核心业务程序及所述加密程序至加密后的核心业务程序;
存储加密后的核心业务程序及文件系统非核心部分至核心程序加密的文件系统分区。


4.根据权利要求3所述的基于加解密的Linux系统安全启动方法,其特征在于,步骤S6包括:
CPU加载并执行所述bootloader;
所述bootloader将所述kernel分...

【专利技术属性】
技术研发人员:程磊
申请(专利权)人:杭州涂鸦信息技术有限公司
类型:发明
国别省市:浙江;33

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

1