MCU的闪存的访问权限控制方法和装置制造方法及图纸

技术编号:14913164 阅读:58 留言:0更新日期:2017-03-30 02:51
本发明专利技术提供了一种MCU的闪存的访问权限控制方法和装置,其中,MCU中设置有用于对MCU是否处于安全模式进行设定的安全寄存器,该控制方法包括:确定MCU所处的阶段;当MCU处于用户程序开发阶段时,通过调试接口设置安全寄存器将MCU设置成非安全模式;当MCU处于用户程序量产阶段时,通过调试接口设置安全寄存器将MCU设置成安全模式。本发明专利技术解决了因为需要在用户程序中增加解锁功能以实现闪存的解锁而导致的在用户程序量产阶段解锁密钥容易被盗取导致数据不安全的技术问题,达到了不需要在用户程序中增加解锁功能就可以实现闪存解锁的技术效果,提高了数据的安全性。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体而言,涉及一种MCU的闪存的访问权限控制方法和装置
技术介绍
微控制单元(MicrocontrollerUnit,简称为MCU)用户代码是MCU正常运行的核心,用户代码一般在MCU用户程序量产阶段被烧录器烧写在MCU的Flash(闪存)上。防止MCUFlash上的用户代码不被破解是MCU安全保护的一个重要方面。目前,主流MCU厂商对MCUFlash上的内容进行保护的做法一般是:为MCU设计安全模式,其中,安全模式的设定由Flash某个地址单元的内容决定。在安全模式下,调试接口(例如,SWD接口)能够访问Flash之前,必须先要通过MCU的通信接口(例如,UART)向用户程序发送存入在Flash中的解锁密钥,这就要求用户程序必须支持Flash解锁功能。然而,由于解锁密钥是以明码的方式存储在MCU的Flash中的,那么解锁密钥在MCU用户程序量产阶段很容易被破解。进一步的,当MCU工作在安全模式时,如果出现故障导致MCU无法正常工作,那么用户程序的解锁功能也必将受到限制。如果Flash解锁失败,那么外部调试接口无法观察到MCU的运行现场,这将加大问题定位的难度。同时,这种保护方法要求用户程序必须支持解锁功能,这势必会导致用户程序占用更多的Flash空间。针对上述问题,目前尚未提出有效的解决方式。
技术实现思路
本专利技术实施例提供了一种MCU的闪存的访问权限控制方法,以解决现有技术中因为需要在用户程序中增加解锁功能以实现闪存的解锁而导致的在用户程序量产阶段解锁密钥容易被盗取导致数据不安全的技术问题,该控制方法包括:确定所述MCU所处的阶段;当所述MCU处于用户程序开发阶段时,通过调试接口设置所述安全寄存器将所述MCU设置成非安全模式;当所述MCU处于用户程序量产阶段时,通过所述调试接口设置所述安全寄存器将所述MCU设置成安全模式;其中,当所述MCU处于非安全模式的情况下,所述调试接口被允许访问所述MCU的闪存中的内容,当所述MCU处于安全模式的情况下,所述调试接口不被允许访问所述MCU的闪存中的内容。在一个实施方式中,在当所述MCU处于用户程序量产阶段时,通过所述调试接口设置所述安全寄存器将所述MCU设置成安全模式之后,所述方法还包括:检测所述调试接口是否向所述安全寄存器中写入闪存解锁密钥;如果是,则获取预设的闪存解锁密钥,并将所述调试接口写入的闪存解锁密钥与所述预设的闪存解锁密钥进行匹配;如果匹配通过,则将所述MCU由安全模式切换至非安全模式。在一个实施方式中,获取预设的闪存解锁密钥,包括:读取唯一标识该MCU的设备ID;根据所述设备ID,按照预定算法计算得到所述预设的闪存解锁密钥。在一个实施方式中,读取唯一标识该MCU的设备ID,包括:从该MCU专用的设备ID寄存器中读取所述设备ID。在一个实施方式中,所述设备ID为32bit的数据,所述预设的闪存解锁密钥为32bit的数据。在一个实施方式中,将所述调试接口写入的闪存解锁密钥与预设的闪存解锁密钥进行匹配,包括:确定写入的闪存解锁密钥与所述预设的闪存解锁密钥是否相等;如果相等,则表示匹配通过,如果不相等,则表示匹配未通过。在一个实施方式中,在将所述调试接口写入的闪存解锁密钥与预设的闪存解锁密钥进行匹配之后,所述方法还包括:如果匹配不通过,则保持所述MCU处于安全模式;如果再次接收到所述调试接口向所述安全寄存器中写入的闪存解锁密钥,继续保持所述MCU处于安全模式,直至所述MCU重新上电。本专利技术实施例还提供了一种MCU的闪存的访问权限控制装置,以解决现有技术中因为需要在用户程序中增加解锁功能以实现闪存的解锁而导致的在用户程序量产阶段解锁密钥容易被盗取导致数据不安全的技术问题,所述MCU中设置有用于对MCU是否处于安全模式进行设定的安全寄存器,该控制装置包括:确定模块,用于确定所述MCU所处的阶段;第一设置模块,用于在所述MCU处于用户程序开发阶段的情况下,通过调试接口设置所述安全寄存器将所述MCU设置成非安全模式;第二设置模块,用于在所述MCU处于用户程序量产阶段的情况下,通过所述调试接口设置所述安全寄存器将所述MCU设置成安全模式;其中,当所述MCU处于非安全模式的情况下,所述调试接口被允许访问所述MCU的闪存中的内容,当所述MCU处于安全模式的情况下,所述调试接口不被允许访问所述MCU的闪存中的内容。在一个实施方式中,上述控制装置还包括:检测模块,用于在通过所述调试接口设置所述安全寄存器将所述MCU设置成安全模式之后,检测所述调试接口是否向所述安全寄存器中写入闪存解锁密钥;匹配模块,用于在检测到所述调试接口向所述安全寄存器中写入闪存解锁密钥的情况下,获取预设的闪存解锁密钥,并将所述调试接口写入的闪存解锁密钥与所述预设的闪存解锁密钥进行匹配;切换模块,用于在匹配通过的情况下,将所述MCU由安全模式切换至非安全模式。在一个实施方式中,所述匹配模块包括:读取单元,用于读取唯一标识该MCU的设备ID;计算单元,用于根据所述设备ID,按照预定算法计算得到所述预设的闪存解锁密钥。在上述实施例中,通过在MCU中设置了用于对MCU是否处于安全模式进行设定的安全寄存器,调试接口通过对该安全寄存器进行控制便可以实现对MCU的闪存的访问权限的控制,从而解决了现有技术中因为需要在用户程序中增加解锁功能以实现闪存的解锁而导致的在用户程序量产阶段解锁密钥容易被盗取导致数据不安全的技术问题,达到了不需要在用户程序中增加解锁功能就可以实现闪存解锁的技术效果,因解密的密钥不需要存放在Flash中,从而减少了用户代码占用MCUFlash的空间,提高了数据的安全性,因为调试接口的设置,即使MCU处于死机状态,通过调试接口就可以向FLASHKEY写入正确密钥来解锁Flash,从而定位MCU出现问题的原因,降低了定位MCU运行故障的难度。附图说明构成本申请的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例的MCU的闪存的访问权限控制方法流程图;图2是根据本专利技术实施例的SDA-AP结构图;图3是根据本专利技术实施例的Flash解锁密钥的生产原理图;图4是根据本专利技术实施例的MCU的闪存的访问本文档来自技高网...
MCU的闪存的访问权限控制方法和装置

【技术保护点】
一种MCU的闪存的访问权限控制方法,其特征在于,所述MCU中设置有用于对MCU是否处于安全模式进行设定的安全寄存器,该控制方法包括:确定所述MCU所处的阶段;当所述MCU处于用户程序开发阶段时,通过调试接口设置所述安全寄存器将所述MCU设置成非安全模式;当所述MCU处于用户程序量产阶段时,通过所述调试接口设置所述安全寄存器将所述MCU设置成安全模式;其中,当所述MCU处于非安全模式的情况下,所述调试接口被允许访问所述MCU的闪存中的内容,当所述MCU处于安全模式的情况下,所述调试接口不被允许访问所述MCU的闪存中的内容。

【技术特征摘要】
1.一种MCU的闪存的访问权限控制方法,其特征在于,所述MCU
中设置有用于对MCU是否处于安全模式进行设定的安全寄存器,该控制
方法包括:
确定所述MCU所处的阶段;
当所述MCU处于用户程序开发阶段时,通过调试接口设置所述安全
寄存器将所述MCU设置成非安全模式;
当所述MCU处于用户程序量产阶段时,通过所述调试接口设置所述
安全寄存器将所述MCU设置成安全模式;
其中,当所述MCU处于非安全模式的情况下,所述调试接口被允许
访问所述MCU的闪存中的内容,当所述MCU处于安全模式的情况下,
所述调试接口不被允许访问所述MCU的闪存中的内容。
2.根据权利要求1所述的方法,其特征在于,在当所述MCU处于用
户程序量产阶段时,通过所述调试接口设置所述安全寄存器将所述MCU
设置成安全模式之后,所述方法还包括:
检测所述调试接口是否向所述安全寄存器中写入闪存解锁密钥;
如果是,则获取预设的闪存解锁密钥,并将所述调试接口写入的闪存
解锁密钥与所述预设的闪存解锁密钥进行匹配;
如果匹配通过,则将所述MCU由安全模式切换至非安全模式。
3.根据权利要求2所述的方法,其特征在于,获取预设的闪存解锁
密钥,包括:
读取唯一标识该MCU的设备ID;
根据所述设备ID,按照预定算法计算得到所述预设的闪存解锁密钥。
4.根据权利要求3所述的方法,其特征在于,读取唯一标识该MCU
的设备ID,包括:
从该MCU专用的设备ID寄存器中读取所述设备ID。
5.根据权利要求3所述的方法,其特征在于,所述设备ID为32bit
的数据,所述预设的闪存解锁密钥为32bit的数据。
6.根据权利要求2所述的方法,其特征在于,将所述调试接口写入
的闪存解锁密钥与预设的闪存解锁密钥进行匹配,包括:
确定写入的闪存解锁密钥与所述预设的闪存解锁密钥是否相等;
如果相等,则表示匹配通过,如果不相等,则...

【专利技术属性】
技术研发人员:王谦智
申请(专利权)人:珠海格力电器股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1