[发明专利]固件安全验证方法及装置在审
申请号: | 202010934468.3 | 申请日: | 2020-09-08 |
公开(公告)号: | CN111984962A | 公开(公告)日: | 2020-11-24 |
发明(设计)人: | 高龙涛 | 申请(专利权)人: | 英韧科技(上海)有限公司 |
主分类号: | G06F21/44 | 分类号: | G06F21/44;G06F21/60;H04L9/30;H04L9/32 |
代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
地址: | 201210 上海市浦东新*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 安全 验证 方法 装置 | ||
本申请关于一种固件安全验证方法及装置,包括处理器以及用于存储处理器可执行指令的只读存储器,所述处理器执行所述指令时实现以下步骤:获取固件数据和数字签名;利用预先存储的公钥对所述数字签名进行验证;在确定所述数字签名通过验证的情况下,运行所述固件数据。利用本申请各个实施例提供的固件安全验证方法及装置,可以在固件运行前获取到固件数据的安全性。
技术领域
本申请涉及数据存储技术领域,尤其涉及固件安全验证方法及装置。
背景技术
固件(Firmware)是指设备内部保存的驱动程序,通过固件,设备的操作系统才能按照标准的设备驱动实现特定机器的运行动作,比如光驱、固态硬盘等都有内部固件。在早期,一般情况下是没有必要对固件进行升级操作的,因此,早期的固件芯片一般都采用ROM设计,固件代码在生产过程中即被固化,任何手段都无法修改,即使在固件内发现严重的Bug,也是由专业人员带着写好程序的新固件芯片从原来设备上替换旧固件芯片。随着技术的不断发展,修改固件以适应不断更新的硬件环境成了用户的迫切需求,所以,可重复写入的可编程可擦除只读存储器EPROM(Erasable Programmable ROM),EEPROM和Flash等能够芯片的重复刷写,让固件得以修改和升级。
固件在设备中的重要性涉及到固件的安全性问题,如果固件被恶意修改或者恶意替换,必将给用户数据带来极大的威胁。相关技术中,设备在接收到新的固件之后,可以对对该固件进行CRC校验,并将计算得到的校验结果和接收到的CRC校验结果进行比对。如果比对不通过,则拒绝运行该固件。但是,以上校验方式只能解决固件传输过程中数据缺损丢失等问题,如果恶意第三方同时修改了固件和CRC校验结果,则设备可能无法识别出新输入的固件已经被恶意篡改的事实。
因此,相关技术中亟需一种能够验证设备中固件安全性的方式。
发明内容
本申请实施例的目的在于提供一种固件安全验证装置,可以保证运行的固件数据具有安全性。
本申请实施例提供的固件安全验证装置是这样实现的:
一种固件安全验证装置,包括处理器以及用于存储处理器可执行指令的只读存储器,所述处理器执行所述指令时实现以下步骤:
获取固件数据和数字签名;
利用预先存储的公钥对所述数字签名进行验证;
在确定所述数字签名通过验证的情况下,运行所述固件数据。
可选的,在本申请的一个实施例中,所述装置还包括一次性可编程存储器,所述一次性可编程存储器用于存储所述公钥。
可选的,在本申请的一个实施例中,所述一次性可编程存储器中还用于存储处理器可执行指令,所述处理器执行所述指令时实现:
在监测到所述处理器接收供电或者接收到新的固件数据的情况下,开始执行所述只读存储器中所存储的指令。
可选的,在本申请的一个实施例中,所述处理器在实现步骤获取固件数据和公钥数字签名时包括:
从可编程只读存储器中读取固件数据和数字签名,所述可编程只读存储器与所述处理器电性连接。
可选的,在本申请的一个实施例中,所述处理器在实现步骤利用预先存储的公钥对所述公钥数字签名进行验证时包括:
获取验证所述数字签名所使用的公钥;
在确定验证所述数字签名所使用的公钥与预先存储的公钥相匹配的情况下,根据所述固件数据和所述公钥确定待验证的数字签名;
在确定所述待验证的数字签名与所述数字签名相匹配的情况下,确定所述数字签名通过验证。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英韧科技(上海)有限公司,未经英韧科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010934468.3/2.html,转载请声明来源钻瓜专利网。