[发明专利]一种固件签名装置、系统及方法在审
申请号: | 201711077194.5 | 申请日: | 2017-11-06 |
公开(公告)号: | CN107911218A | 公开(公告)日: | 2018-04-13 |
发明(设计)人: | 李光华 | 申请(专利权)人: | 上海斐讯数据通信技术有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L12/24 |
代理公司: | 上海硕力知识产权代理事务所(普通合伙)31251 | 代理人: | 郭桂峰 |
地址: | 201616 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 签名 装置 系统 方法 | ||
技术领域
本发明涉及于数据安全技术领域,尤其涉及一种用于物联网设备的固件签名装置、系统及方法。
背景技术
一般,固件(Firmware)由一组编译好的二进制代码组成,包括启动加载程序(BootLoader)、内核文件、文件系统等模块,其固件通常是保存在主板上的快闪存储器(Flash)中。BootLoader是硬件系统加电所运行的第1段软件代码,它的主要任务包括:初始化最基本的硬件;奖BootLoader本身拷贝到内存RAM中运行;将内核文件复制到RAM中并运行内核文件为了确保系统的安全,通常情况下在产品出厂后系统的BootLoader不会进行更新,而内核文件和文件系统等模块则根据需要通过升级程序对Flash中相应地址的模进行升级。
出于完善产品的软件功能或修复bug的目的,厂商会在产品出厂后不断对其产品的固件进行软件升级,将准备发布的固件按模块生成对应名称的二进制文件,然后将其发布到网络上通知用户去下载,由用户根据需要自行从网络上下载相应版本的固件进行升级。由于网络传输的扩散性和多样性,大多数用户无法保证所下载的固件的合法性和完整性,当用户不慎下载破损的或者非法版本的甚至被不法者恶意篡改的固件对产品进行升级后,往往会导致产品无法启动而使用户蒙受较大损失,如果固件中生产厂商的版权、版本等信息也被修改了,生产厂商的利益也会受到损伤。
基于上述固件升级存在的风险,现有技术一般采用固件加密的方式来解决,但是现有的加密方案普遍存在的如下问题和缺点:
1)现有的固件加密系统灵活性不够好,只支持一种加密算法,不同类型的设备由于硬件内存等方面的限制,需要选择不同的加密算法,不能很好的满足现阶段各个产品的需求,通用性不强;
2)存在安全性问题。由于密钥直接存储在项目代码中,软件开发人员能看到,存在泄露的风险;
3)密钥没有备份,万一服务器保存的秘钥丢失,后续的固件都不能得到升级。
发明内容
为克服上述现有技术存在的不足,本发明之目的在于提供一种固件签名装置、系统及方法,以提供多种设备多种类型的加密、签名服务,并且可防止密钥的泄露和丢失。
为达上述目的,本发明提供的技术方案如下:
一种固件签名装置,包括:
公钥获取请求接收单元,用于接收签名设备端的公钥获取请求;
判断单元,用于根据所述公钥获取请求判断是否已经生成过公钥;
判断结果处理单元,于所述判断单元的判断结果为已生成过公钥时直接向所述签名设备端返回该公钥,否则则调用加密选择单元中对应的加密算法,以获得执行该加密算法后生成的公钥、私钥对,并将生成的公钥返回至所述签名设备端;
签名请求接收处理单元,用于接收所述签名设备端的签名请求,根据该签名请求调用加密选择单元中对应的加密算法,以获得执行该加密算法后得到的签名信息,并将签名信息返回至所述签名设备端;
加密选择单元,用于根据所述判断结果处理单元与所述签名请求接收处理单元的调用选择并执行相应的加密算法。
进一步地,所述公钥获取请求参数中包括加密算法以及用于标识设备的加密ID。
进一步地,所述签名请求中包括所述签名设备端固件的ID、加密算法以及固件的加密信息,所述加密信息为所述签名设备端根据所述公钥生成的。
进一步地,所述固件签名装置还包括备份单元,以于监视到所述加密选择单元有更新时,将加密选择单元的更新结果予以备份。
为达到上述目的,本发明还提供一种固件签名系统,包括:
签名设备端,用于向固件签名装置发送公钥获取请求以获取加密的公钥,于接收到公钥后,将获取到的公钥作为编译选项编译代码,于编译完成后,生成固件的加密信息,并向固件签名装置发送签名请求,将返回的签名信息写入固件的指定位置;
固件签名装置,用于接收所述公钥获取请求,根据该公钥获取请求判断是否已经生成过公钥,于判断单元的判断结果为已生成过公钥,直接向签名设备端返回该公钥,否则则根据加密算法调用对应的加密算法,以获得执行该加密算法后生成的公钥、私钥对,并将生成的公钥返回至签名设备端,接收所述签名设备端的签名请求,根据该签名请求调用对应的加密算法,以获得执行该加密算法后得到的签名信息,并将签名信息返回至所述签名设备端。
进一步地,所述签名设备端包括:
公钥获取请求单元,用于向所述固件签名装置发送公钥获取请求;
公钥获取单元,用于获取所述固件签名装置返回的公钥,并保存于固件中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海斐讯数据通信技术有限公司,未经上海斐讯数据通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711077194.5/2.html,转载请声明来源钻瓜专利网。