一种基于嵌入式Linux系统实现加密和解密方法技术方案

技术编号:9718983 阅读:190 留言:0更新日期:2014-02-27 05:50
本发明专利技术公开了一种基于嵌入式Linux系统实现加密和解密方法,属于计算机软件技术领域。该方法包括:在Linux内核代码的系统调用文件中加入加密函数定义及实现代码;在处理器相应的内核代码的系统调用函数列表中加入加密函数声明;重新编译内核代码,并重新固化;在应用软件中根据函数声明调用加密函数进行加密。采用本发明专利技术,通过使用系统调用内核的加密和解密代码,实现与内核关联的加密和解密共存的方式,增加了数据破解的难度,增加代码和数据的安全性。同时,降低了有嵌入式Linux内核代码的应用软件中的复杂度,且不同的应用软件可以使用相同的加、解密函数。

【技术实现步骤摘要】
一种基于嵌入式Linux系统实现加密和解密方法及装置
本专利技术属于汽车领域,更具体地涉及一种基于嵌入式Linux系统实现加密和解密方法及装置。
技术介绍
随着计算机技术在全球范围得到了广泛的运用,为企业或个人用户的办公提供了很大的方便,但在计算机普及的过程中也面临着诸多的安全隐患,如数据库防御系统被攻破会给用户造成巨大的损失,信息化时代背景下掌握各种加密、解密方法是保证数据安全的有效措施。随着电子技术的飞速发展,嵌入式设备日趋昌盛,各种加密、解密方法在嵌入式领域也得到了深入的发展。现有的加密、解密方法中,比较有名的是MD5(Message-DigestAlgorithm5)、RSA等,还有许多对称算法(即可加密也可以解密),MD5是在90年代初由MIT计算机科学实验试和RSADataSecurityInc专利技术,经由MD2、MD3和MD4发展而来。MD5是将任意长度的“字节串”变换成一个128bit的大整数,并且是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始字符串,从数据原理上说,是因为原始的字符串有无穷多个。MD5的典型应用是对一段Message(字串)产生fingerprint(指纹),以防止被篡改。RSA(Rivest-Shamir-Adleman)是一个既能用于数据加密也能用于解密的数字签名算法。它易于理解和操作,也很流行。它经历了各种攻击,到今未被完全改破。但是现有的加密、解密方法在Windows系统中比较容易实现,应用到嵌入式系统领域时存在以下缺点:(1)各种加密、解密方法相对比较复杂,没有非常专业的辅助工具支撑很难实现;(2)加密和解密方法不能放在一起(即在代码中对数据加密,也在同段代码中进行解密),安全性也得不到保障。
技术实现思路
有鉴于此,本专利技术提供一种基于嵌入式Linux系统实现加密和解密方法,以实现与内核关联的加密和解密共存的方式,增加代码和数据的安全性。根据本专利技术的一个方面,提供的一种基于嵌入式Linux系统实现加密和解密的方法,包括以下步骤:在Linux内核代码的系统调用文件中加入加密函数和解密函数的定义及实现代码;在处理器相应的内核代码的系统调用函数列表中加入加密函数声明和解密函数申明;重新编译内核代码,并重新固化;在应用软件中根据加密函数声明调用加密函数进行加密和/或调用解密函数进行解密。优选地,在Linux内核代码的系统调用文件中加入加密函数定义及实现代码进一步包括:在kernel/sys.c文件中增加加密函数定义和加密函数的实现代码、以及解密函数定义和解密函数的实现代码。优选地,加密函数和解密函数的实现代码包括MD5、RSA、和/或自定义算法。优选地,在处理器相应的内核代码的系统调用函数列表中加入加密函数声明和解密函数申明进一步包括:在arch/处理器对应名称/kernel/calls.S文件中加入加密函数调用入口,记录加密函数对应的ID号;在arch/处理器对应名称/kernel/calls.S文件中加入加密函数调用入口,记录解密函数对应的ID号。优选地,在应用软件中根据加密函数声明调用加密函数进行加密进一步包括:在应用软件中根据函数声明的加密函数的ID号通过系统调用功能API调用加密函数进行加密。在应用软件中根据解密函数声明调用解密函数进行解密进一步包括:在应用软件中根据函数声明的解密函数的ID号通过系统调用功能API调用解密函数进行解密。根据本专利技术的另一个方面,提供的一种基于嵌入式Linux系统实现加密和解密的装置,包括以下模块:函数实现模块,用于在Linux内核代码的系统调用文件中加入解密函数定义及实现代码;函数申明模块,用于在处理器相应的内核代码的系统调用函数列表中加入解密函数声明;固化模块,用于重新编译内核代码,并重新固化;应用模块,用于在应用软件中根据加密函数声明调用加密函数进行加密和/或根据解密函数声明调用解密函数进行解密。优选地,函数实现模块具体用于:在kernel/sys.c文件中增加解密函数定义和解密函数的实现代码、以及在kernel/sys.c文件中增加解密函数定义和解密函数的实现代码。优选地,解密函数的实现代码包括MD5、RSA、和/或自定义算法。优选地,函数申明模块具体用于:在arch/处理器对应名称/kernel/calls.S文件中加入加密函数调用入口,记录加密函数对应的ID号;在arch/处理器对应名称/kernel/calls.S文件中加入解密函数调用入口,记录解密函数对应的ID号。优选地,应用模块具体用于:在应用软件中根据加密函数声明的加密函数的ID号通过系统调用功能API调用加密函数进行解密;和/或,在应用软件中根据解密函数声明的解密函数的ID号通过系统调用功能API调用解密函数进行解密。本专利技术实施例提供的基于嵌入式Linux系统实现加密和解密方法及装置,通过使用系统调用功能API调用内核的加密和解密代码执行加密和解密程序,实现与内核关联的加密和解密共存的方式,增加了数据破解的难度,增加代码和数据的安全性。同时,降低了有嵌入式Linux内核代码的应用软件中的复杂度,且不同的应用软件可以使用相同的加、解密函数。附图说明图1为本专利技术实施例提供的一种基于嵌入式Linux系统实现加密方法流程图。图2为本专利技术实施例提供的一种基于嵌入式Linux系统实现解密方法流程图。具体实施方式为了使本专利技术所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,为本专利技术实施例提供的一种基于嵌入式Linux系统实现加密方法包括以下步骤:S102、在Linux内核代码的系统调用文件中加入加密函数定义及实现代码。优选地,可以在kernel/sys.c文件中增加加密函数定义和加密函数的实现代码,其中,加密算法可以是目前的各种加密算法(如MD5,RSA等),也可以是自定义的加密算法。即使使用比较简单的加密算法,也同样可以达到加密的目的。比如:SYSCALL_DEFINE2(encrypt,void*,src,int,len);其中,encrypt表示加密的函数名,2表示有两个参数,void*表示参数1类型,src表示参数1名称(void*src这里是加密数据的内存地址指针),int表示参数2类型,len表示参数2的名称(intlen表示加密数据长度,类型为整型)。S104、在处理器相应的内核代码的系统调用函数列表中加入加密函数声明。优选地,本步骤进一步包括:在arch/处理器对应名称/kernel/calls.S文件中加入加密函数调用入口,并记录对应的入口ID号。以ARM处理器为例,则在arch/arm/kernel/calls.S文件中加入加密函数encrypt对应的ID的申明,本实施例中,ID可以选择300。S106、重新编译内核代码,并重新固化;具体来说,将新增加代码的内核,编译并烧录到嵌入式设备上。S108、在应用软件中根据加密函数声明调用加密函数进行加密。优选地,本步骤进一步包括:在应用软件中根据所述加密函数声明的加密函数的ID号通过系统调用功能API本文档来自技高网
...
一种基于嵌入式Linux系统实现加密和解密方法

【技术保护点】
一种基于嵌入式Linux系统实现加密的方法,其特征在于,该方法包括以下步骤:在Linux内核代码的系统调文件中加入加密函数定义及实现代码;在处理器相应的内核代码的系统调用函数列表中加入加密函数声明;重新编译内核代码,并重新固化;在应用软件中根据所述加密函数声明调用所述加密函数进行加密。

【技术特征摘要】
1.一种基于嵌入式Linux系统实现加密和解密的方法,其特征在于,该方法包括以下步骤:在Linux内核代码的系统调用文件中加入加密函数和解密函数的定义及实现代码;在处理器相应的内核代码的系统调用函数列表中加入加密函数声明和解密函数声明;重新编译内核代码,并重新固化;在应用软件中根据所述加密函数声明调用所述加密函数进行加密和/或根据所述解密函数声明调用所述解密函数进行解密。2.根据权利要求1所述的方法,其特征在于,所述在Linux内核代码的系统调用文件中加入加密函数和解密函数的定义及实现代码进一步包括:在kernel/sys.c文件中增加加密函数定义和加密函数的实现代码、以及解密函数定义和解密函数的实现代码。3.根据权利要求2所述的方法,其特征在于,所述加密函数和解密函数的实现代码包括MD5、RSA、和/或自定义算法。4.根据权利要求1所述的方法,其特征在于,所述在处理器相应的内核代码的系统调用函数列表中加入加密函数声明和解密函数声明进一步包括:在arch/处理器对应名称/kernel/calls.S文件中加入加密函数调用入口,并记录加密函数对应的入口ID号;以及在arch/处理器对应名称/kernel/calls.S文件中加入解密函数调用入口,并记录解密函数对应的入口ID号。5.根据权利要求4所述的方法,其特征在于,所述在应用软件中根据所述加密函数声明调用所述加密函数进行加密进一步包括:在应用软件中根据所述加密函数声明的加密函数的ID号通过系统调用功能API调用所述加密函数进行加密;所述在应用软件中根据所述解密函数声明调用所述解密函数进行解密进一步包括:在应用软件...

【专利技术属性】
技术研发人员:李红京余世均
申请(专利权)人:深圳市道通科技有限公司
类型:发明
国别省市:

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

1