【技术实现步骤摘要】
电子设备及其MCU固件保护方法
本专利技术涉及数据安全领域,尤其涉及一种电子设备及其MCU固件保护方法。
技术介绍
MCU固件的保护,往往会采取多级保护:第一级是读保护,即,防止别人读取;第二级是代码级保护,即,即使别人读取了本MCU的程序,也无法复制到另一颗MCU上正常执行。目前,代码级保护的主流做法是:运行时比较MCU的唯一ID(例如,STM32的96比特的唯一ID),若不是本MCU自身的ID就不执行,这种方法虽然可起到一定的保护作用,但对于价值高的MCU固件,依然很容易通过反汇编的方式破解,例如,对于ARM指令集,可通过找到比较唯一ID的汇编代码位置,然后将4比特的条件码修改为“AL,无条件执行”即可实现破解,因此安全性依然不高。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术存在的MCU固件安全性不高的缺陷,提供一种电子设备的MCU固件保护方法。本专利技术解决其技术问题所采用的技术方案是:构造一种电子设备的MCU固件保护方法,包括:步骤S10.在电子设备的产测阶段,接收 ...
【技术保护点】
1.一种电子设备的MCU固件保护方法,其特征在于,包括:/n步骤S10.在电子设备的产测阶段,接收产测工具发送的固件密文,并将其存储至FLASH中,其中,所述产测工具以所述MCU的ID为密钥,对所述MCU固件的关键代码和/或关键数据进行加密以生成所述固件密文;/n步骤S20.在电子设备的使用阶段,若需要运行所述关键代码或使用所述关键数据,则以自身ID为密钥,对所述FLASH中所存储的所述固件密文进行解密,以获取所述关键代码或所述关键数据,并运行所述关键代码或使用所述关键数据。/n
【技术特征摘要】
1.一种电子设备的MCU固件保护方法,其特征在于,包括:
步骤S10.在电子设备的产测阶段,接收产测工具发送的固件密文,并将其存储至FLASH中,其中,所述产测工具以所述MCU的ID为密钥,对所述MCU固件的关键代码和/或关键数据进行加密以生成所述固件密文;
步骤S20.在电子设备的使用阶段,若需要运行所述关键代码或使用所述关键数据,则以自身ID为密钥,对所述FLASH中所存储的所述固件密文进行解密,以获取所述关键代码或所述关键数据,并运行所述关键代码或使用所述关键数据。
2.根据权利要求1所述的电子设备的MCU固件保护方法,其特征在于,在所述步骤S20中,在获取所述关键代码或所述关键数据之后,还包括:
将所述关键代码或所述关键数据存储至RAM中。
3.根据权利要求2所述的电子设备的MCU固件保护方法,其特征在于,所述将所述关键代码或所述关键数据存储至RAM中,包括:
在所述RAM中随机选择一存储地址,并将所述关键代码或所述关键数据存储至所述存储地址。
4.根据权利要求2所述的电子设备的MCU固件保护方法,其特征在于,所述步骤S20包括:
步骤S21.若需要运行所述关键代码或使用所述关键数据,则判断RAM中是否存储有解密后的所述关键代码或所述关键数据,若是,在执行步骤S22;若否,则执行步骤S23;
步骤S22.直接对所述RAM中所存储的所述关键代码进行运行或所述关键数据进行使用,然后执行步骤S24;
步骤S23.以自身ID为密钥,对所述FLASH中所存储的所述固件密文进行解密,以获取所述关键代码或所述关键数据,并将其存储至RAM中,而且,运行所述关键代码或使用所述关键数据;
步骤S24.对所述关键代码的当前运行次数或所述关键数据的当前使用次数进行更新,并判断当前运行次数或当前使用次数是否达到预设次数值,若是,则执行步骤S25;若否,则结束;
步骤S25.对RAM中所存储的解密后的所述关键代码或所述关键数据进行清除。
5.根据权利要求1-4任一项所述的电子设备的MCU固件保护方法,其特征在于,所述步骤S10包括:
步骤S11.接收产测工具发送的ID读取指令;
步骤S12.向所述产测工具发送MCU的ID,以使所处产测工具以所述MCU的ID为密钥,对所述MCU固件的关键代码和/或关键数据进行加密以生成所述固件密文;
步骤S13.接收所述产测工具发送的所述固件密文,并将其存储至FLASH中。
6.根据权利要求5所述的电子设备的MCU固件保护方法,其特征在于,
在电...
【专利技术属性】
技术研发人员:胡章焱,宋政斌,
申请(专利权)人:深圳矽递科技股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。