[发明专利]一种基于服务器的嵌入式设备固件加密方法和系统有效
申请号: | 201810549618.1 | 申请日: | 2018-05-31 |
公开(公告)号: | CN108762788B | 公开(公告)日: | 2023-07-28 |
发明(设计)人: | 劳逸 | 申请(专利权)人: | 杭州吉吉知识产权运营有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F21/12;G06F21/60 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 服务器 嵌入式 设备 加密 方法 系统 | ||
本发明公开了一种基于服务器的嵌入式设备固件加密方法和系统,方法包括:A.接收升级固件源代码的镜像文件和相应嵌入式设备的设备信息;B.根据所述设备信息生成相应的私钥,并对所述镜像文件进行打包;C.对打包后的镜像文件进行MD5计算以校验升级固件的完整性,并使用所述私钥对计算结果进行加密以获得经过加密打包的升级固件以供相应嵌入式设备下载升级。本发明具有安全性高,使用方便,适用范围广等优点。
技术领域
本发明属于涉及路由器等linux系统嵌入式设备的升级固件的加密技术领域,尤其涉及一种基于服务器的嵌入式设备固件加密方法和系统。
背景技术
现有技术中针对路由器等linux系统嵌入式设备的固件升级技术主要存在两个问题:
第一,现有的固件打包加密技术,打包以及加密都在本地进行,密钥集成在代码中,加密流程以及密钥,软件研发人员都能看到,安全隐患大。
第二,现有的路由器固件打包技术,固化在代码中,只针对于一种设备,每当研发新设备时,即使打包流程相同,也必须重新开发一套打包加密系统,或者移植打包加密模块代码到新项目中,过程重复繁琐,增加不必要的研发工作。
为了解决上述技术问题,人们进行了长期的探索,例如中国专利公开了一种基于固件空中传输技术的固件处理方法、装置及系统[公开号:CN101924607A],包括:对至少一个固件升级文件进行校验处理,形成第一校验数据;对所述第一校验数据进行加密处理,形成第一加密数据;将所述第一加密数据、所述第一校验数据与所述固件升级文件合并为固件升级包,并通过空中接口将所述固件升级包发送至移动终端。
上述方案对升级固件进行加密后再发送给终端设备供终端设备进行升级,能够在一定程度上提高升级的安全性,但是上述方案没有对源代码镜像文件的打包过程,不适用于升级路由器等linux系统嵌入式设备的系统固件,并且上述方案使用的是服务器内部存储的私钥进行加密处理,无法针对不同的嵌入式设备生成唯一的私钥,安全性不够高。
发明内容
本发明的目的是针对上述问题,提供一种基于服务器的嵌入式设备固件加密方法;
本方案的另一目的是提供一种基于上述方法的基于服务器的嵌入式设备固件加密系统。
为达到上述目的,本发明采用了下列技术方案:
一种基于服务器的嵌入式设备固件加密方法,包括:
A.接收升级固件源代码的镜像文件和相应嵌入式设备的设备信息;
B.根据所述设备信息生成相应的私钥,并对所述镜像文件进行打包;
C.对打包后的镜像文件进行MD5计算以校验升级固件的完整性,并使用所述私钥对计算结果进行加密以获得经过加密打包的升级固件以供相应嵌入式设备下载升级。
在上述的基于服务器的嵌入式设备固件加密方法中,在方法A中,所述源代码在本地编译完成,并在本地生成源代码的镜像文件。
在上述的基于服务器的嵌入式设备固件加密方法中,所述源代码包括uboot、内核和根文件系统中的任意一个或多个,所述镜像文件包括boot.bin镜像文件和firmware镜像文件,且所述boot.bin镜像文件根据uboot生成,所述firmware镜像文件根据内核和根文件系统生成。
在上述的基于服务器的嵌入式设备固件加密方法中,所述设备信息包括所述嵌入式设备的标识符信息;
且在方法C中,采用RSA非对称加密方式进行加密。
在上述的基于服务器的嵌入式设备固件加密方法中,在方法C中,将打包后的镜像文件写入buffer中,通过对buffer的内容进行MD5计算完成对升级固件的完整性校验,并将加密后的升级固件存储于缓冲区中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州吉吉知识产权运营有限公司,未经杭州吉吉知识产权运营有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810549618.1/2.html,转载请声明来源钻瓜专利网。