升级文件的加密方法及升级文件的检验方法
【专利摘要】本发明提供一种升级文件的加密方法及升级文件的检验方法,所述升级文件的加密方法包括:获取key字段;对key字段的二进制进行7bit编码压缩以获取key_7bit的十六进制串;对key_7bit的十六进制串转换成字符串str_key_7bit;把str_key_7bit写入文件7bit.img,以生成相应的文件结构。所述升级文件的检验方法包括:获取server端升级用img文件,并将获取到的文件保存至内存;获取升级用img文件中的密文字段str_7bit;对所述密文字段str_7bit进行解码,将解码后的信息str_key与预设信息进行比对;若解码后的信息str_key与预设信息匹配,则执行相应操作;若解码后的信息str_key与预设信息不匹配,则进行报警并重启系统。本发明技术方案中采用密文进行验证,从而有效的提高了系统的安全性。
【专利说明】升级文件的加密方法及升级文件的检验方法
【技术领域】
[0001]本发明涉及嵌入式【技术领域】,特别是涉及一种升级文件的加密方法及升级文件的检验方法。
【背景技术】
[0002]嵌入式操作系统的证00丨是在操作系统运行之前运行的一段程序。其作用是初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境,完成系统的加载启动任务。
[0003]?13811是路由器的一个硬件组成部分,在嵌入式设备中,?13811分为勵I? 和~八冊是非易失性存储器,用来保存系统正常运行需要的程序文件和代码。镜像文件存储在?匕也中。
[0004]在开发以及使用路由器的过程中,特别是在产品开发时,升级镜像文件为一项必备的工作,目前证00七下升级文件一般是不校验或进行0621(161头校验。
[0005]不校验是指不管什么文件都可以被写入?匕也中,只要文件错误,就会导致系统启动失败,产品无法工作。此时只有专业人员才有把握进行文件升级。
[0006]1168(161-头校验是指在升级文件前有64字节的字段,里面保存了。代、产品型号、10等信息,升级文件时首先读取文件前64自己的字段进行⑶0校验、型号校验、10校验等,此校验方法缺陷是明文校验,专业刷机人员很容易模仿添加此字段,从而实现在4产品上运行8产品的软件。
[0007]因此,如何简便有效的对升级文件进行加密及检验就成为本领域技术人员亟待解决的问题之一。
【发明内容】
[0008]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种升级文件的加密方法及升级文件的检验方法,用于解决现有技术中升级文件加密及检验不够简便的问题。
[0009]为实现上述目的及其他相关目的,本发明提供一种升级文件的加密方法,所述升级文件的加密方法包括:
[0010]获取匕7字段;
[0011]对匕丫字段的二进制进行761丨编码压缩以获取匕5^7131丨的十六进制串;
[0012]对1^65^71311:的十六进制串转换成字符串8廿」^65^71311:;
[0013]把8廿」^65^71311:写入文件7611:.1呢,以生成相应的文件结构。
[0014]可选的,所述匕7字段包括丄I灿乂―⑶肥比2—阶、00^16,1^02^^101)21
[0015]及讥3—%尺310队
[0016]可选的,所述生成的文件结构包括:证00丨文件,所述证00丨文件包括:原证00七13111 和 71311:.1111^0
[0017]可选的,所述生成的文件结构包括:升级用化!1文件,所述升级用化!1文件包括:原13111文件和71311:.1呢。
[0018]可选的,所述生成的文件结构包括:升级用1呢文件,所述升级用1呢文件包括:原 1113001:.)3111 和 7611:.1呢、原)3111 文件和 7611:.1呢。
[0019]本发明还提供一种升级文件的检验方法,所述升级文件的检验方法包括:
[0020]获取861^61~端升级用11118文件,并将获取到的文件保存至内存;
[0021]获取升级用1呢文件中的密文字段01713“ ;
[0022]对所述密文字段丨进行解码,将解码后的信息8廿」^7与预设信息进行比对;
[0023]若解码后的信息8廿」与预设信息匹配,则执行相应操作;
[0024]若解码后的信息8廿」与预设信息不匹配,则进行报警并重启系统。
[0025]可选的,通过忖如获取忖如861^61'端升级用1呢文件。
[0026]可选的,所述获取升级用1呢文件中的密文字段01^7131丨的步骤包括:
[0027]获取升级用1呢文件的起始地址以及文件长度^6^800^^116^^61-8126 ;
[0028]根据所述升级用11118文件的起始地址和文件长度?6七8001:?116^?61~3126获取所述升级用丨呢文件中密文字段的地址51(1(11*688^71311:;
[0029]从所述密文字段的地址21(1(11*688^71311:处开始读取密文字段
[0030]可选的,所述密文字段丨的长度为224字节。
[0031]可选的,所述密文字段的地址£1(1(1:^688^71311:为:3(1(1:^688^71311: = 108(1^8(1(11-+^61:8001:^116^^61-8126 - 224。
[0032]如上所述,本发明的升级文件的加密方法及升级文件的检验方法,具有以下有益效果:
[0033]本发明技术方案中,通过获取匕7字段并将匕7字段压缩编码后写入文件7化七11118以生成相应的文件结构。在升级时,对升级文件进行验证,当解码后的信息与预设信息相同时才进行后续的操作,否则进行报警并重启系统。通过这这样的方式可以简便有效的对升级文件进行检验,从而避免现有技术中对文件的任意操作而导致的系统出错。
[0034]进一步地,本发明技术方案中,对升级文件检验时采用密文验证的方式,从而避免了明文验证时带来的安全隐患,提高了系统的安全性。
【专利附图】
【附图说明】
[0035]图1显示为本发明升级文件的加密方法的流程示意图。
[0036]图2显示为本发明中各类升级文件结构体的示意图。
[0037]图3显示为本发明升级文件的检验方法的具体实施例的流程示意图。
【具体实施方式】
[0038]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0039]需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0040]请参阅图1,本发明提供一种升级文件的加密方法,所述升级文件的加密方法包括:
[0041]步骤31,获取匕7字段;
[0042]在本实施例中,所述匕7字段包括:11斯^^0即1123^ (编译人员)、00^16.1'狀02嫩腿』00此(产品型号)及时间点)。也就是说,所述匕7字段可以为上述信息(编译人员、产品型号及时间点等)的结合。
[0043]本实施例中,所述匕7字段的长度固定,例如可以为128字节,不足的部分由空格填充。
[0044]步骤32,对匕7字段的二进制进行几1丨编码压缩以获取匕5^7131丨的十六进制串;
[0045]步骤53,对的十六进制串转换成字符串81:1^650? 11:;如0x1234〉〉 “1234”。
[0046]步骤34,把8廿」^65^71311:写入文件7611:.1呢,以生成相应的文件结构。
[0047]此时,7化七1呢为固定长度,如224字节。字段组合由编译完成,最终产生的3种如图2所示的升级文件结构:其中,升级用化!!文件为普通用户常用升级文件。
[0048]参考图2,所述生成的文件结构可以为证00力文件,所述证00七文件包括:原1113001:.13111 和 7611:.1111^0
[0049]所述生成的文件结构还可以为升级用6111文件,所述升级用6111文件包括:原13111文件和7611:.1呢。
[0050]所述生成的文件结构还可以为升级用1呢文件,所述升级用1呢文件包括:原1113001:.13111 和 7611:.1呢、原)3111 文件和 7611:.1呢。
[0051]通过上述方法可以将升级文件进行密文加密,从而在后续升级文件的检验过程中通过密文检验进行,从而避免了现有技术中的明文检验,从而有效的提高了系统的安全性。
[0052]本发明还提供一种升级文件的检验方法,所述升级文件的检验方法包括:
[0053]获取861^61~端升级用11118文件,并将获取到的文件保存至内存;
[0054]获取升级用1呢文件中的密文字段01713“ ;
[0055]对所述密文字段丨进行解码,将解码后的信息8廿」^7与预设信息进行比对;
[0056]若解码后的信息8廿」与预设信息匹配,则执行相应操作;
[0057]若解码后的信息8廿」与预设信息不匹配,则进行报警并重启系统。
[0058]在具体实施例中,参考图3,所述获取升级用11118文件中的密文字段017131七的步骤包括:
[0059]获取升级用11118文件的起始地址以及文件长度^6^800^^116^^61-8126 ;
[0060]根据所述升级用11118文件的起始地址和文件长度?6七8001:?116^?61~3126获取所述升级用丨呢文件中密文字段的地址51(1(11*688^71311:;
[0061]在本实施例中,所述密文字段01^7131丨的长度为224字节。因此,所述密文字段的地址 3(1(1:^688-71311:为:3(1(1:^688-71311: = 108(1^8(1(11-+^61:8001:^116^^61-8126 - 224。
[0062]从所述密文字段的地址21(1(11*688^71311:处开始读取密文字段
[0063]在读取出密文字段后,对所述密文字段#[764进行解码以获取字段,这里的解码过程与前述的加密过程相逆,在此不再赘述。
[0064]在解码后判断所述匕7字段是否包括本产品型号,若所述匕7字段中的产品型号与预设的产品型号相匹配,则进入写操作或者进行其他操作,如远程启动函数等。
[0065]若解码后的匕7字段中的产品型号与预设的产品型号不符,则进行报警,如提示1呢错误,并同时重启系统。
[0066]通过对升级文件的检验过程,可以有效的避免升级文件的错误而导致的系统出错,从而大大提高系统的性能,另外,本发明的验证方法采用密文验证,从而避免明文验证时的隐患,进而提尚系统的安全性。
[0067]上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属【技术领域】中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
【权利要求】
1.一种升级文件的加密方法,其特征在于,所述升级文件的加密方法包括: 获取key字段; 对key字段的二进制进行7bit编码压缩以获取key_7bit的十六进制串; 对key_7bit的十六进制串转换成字符串str_key_7bit ; 把str_key_7bit写入文件7bit.1mg,以生成相应的文件结构。
2.根据权利要求1所述的升级文件的加密方法,其特征在于,所述key字段包括:LINUX_COMPILE_BY、CONFIG_TRADEMARK_MODEL 及 UTS_VERS1N。
3.根据权利要求1所述的升级文件的加密方法,其特征在于,生成的文件结构包括:Uboot文件,所述Uboot文件包括:原Uboot.bin和7bit.1mg。
4.根据权利要求1所述的升级文件的加密方法,其特征在于,生成的文件结构包括:升级用bin文件,所述升级用bin文件包括:原bin文件和7bit.1mg。
5.根据权利要求1所述的升级文件的加密方法,其特征在于,生成的文件结构包括:升级用img文件,所述升级用img文件包括:原Uboot.bin和7bit.1mg、原bin文件和7bit.1mgo
6.一种升级文件的检验方法,其特征在于,所述升级文件的检验方法包括: 获取server端升级用img文件,并将获取到的文件保存至内存; 获取升级用img文件中的密文字段str_7bit ; 对所述密文字段str_7bit进行解码,将解码后的信息Str_key与预设信息进行比对; 若解码后的信息Str_key与预设信息匹配,则执行相应操作; 若解码后的信息Str_key与预设信息不匹配,则进行报警并重启系统。
7.根据权利要求6所述的升级文件的检验方法,其特征在于,通过tftp获取tftpserver端升级用img文件。
8.根据权利要求6所述的升级文件的检验方法,其特征在于,所述获取升级用img文件中的密文字段str_7bit的步骤包括: 获取升级用img文件的起始地址load_addr以及文件长度NetBootFileXferSize ; 根据所述升级用img文件的起始地址load_addr和文件长度NetBootFileXferSize获取所述升级用img文件中密文字段的地址address_7bit ; 从所述密文字段的地址address_7bit处开始读取密文字段str_7bit。
9.根据权利要求8所述的升级文件的检验方法,其特征在于,所述密文字段str_7bit的长度为224字节。
10.根据权利要求9所述的升级文件的检验方法,其特征在于,所述密文字段的地址address_7bit 为:address_7bit = load_addr+NetBootFiIeXferSize - 224。
【文档编号】G06F21/62GK104463018SQ201410822013
【公开日】2015年3月25日 申请日期:2014年12月19日 优先权日:2014年12月19日
【发明者】潘菊平 申请人:上海斐讯数据通信技术有限公司