一种非易失性存储器的分区保护方法及装置与流程

文档序号:20276059发布日期:2020-04-07 14:28阅读:159来源:国知局
一种非易失性存储器的分区保护方法及装置与流程

本发明涉及存储器领域,具体涉及一种非易失性存储器的分区保护方法及装置。



背景技术:

本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

大多数嵌入式系统的芯片中都具有非易失性存储空间,该存储空间中所存储的大量数据之间的重要程度、安全需求程度以及修改频率都不相同,为使易于管理上述大量数据,现有技术中通常采用对非易失性存储器执行分区管理的机制使其具有更加丰富的控制功能,分区管理机制一般是将存储空间按存储地址划分为不同的区块,并将数据按需求进行存储,例如:可以将用户存入的数据分别存入普通级用户数据区或增强级用户数据区,并对增强级用户数据区设置访问限制。

但是这种分区保护机制通常存在难以兼顾灵活性与安全性的问题,由于同一数据可能在不同阶段都可能具有不同的安全需求,采用单一的安全保护机制难以满足存储分区的安全需求,若采用完全的软件保护机制又会导致安全保护力度的欠缺。



技术实现要素:

针对现有技术中的针对非易失性存储器的分区保护机制存在的难以兼顾灵活型与安全性的问题,本发明的实施例提出一种非易失性存储器的分区保护方法及装置,通过采用多重保护机制,在保证安全性的基础上为非易失性存储器的多个分区灵活配置了安全保护机制。

在本发明实施方式的第一方面,提出一种非易失性存储器的分区保护方法,所述非易失性存储器至少包括多个存储分区以及写保护位存储区,其特征在于,所述分区保护方法包括:

基于所述写保护位存储区中存储的第一保护信息对所述多个存储分区中的预设存储分区执行第一保护;

基于预设的第二保护信息对所述写保护位存储区和/或所述预设存储分区执行第二保护。

在一种实施方式中,其中,所述第一保护信息为具有多个写保护标识的第一写保护信息,所述多个写保护标识与所述多个存储分区一一对应,用于指示对应的存储分区的第一写保护状态。

在一种实施方式中,其中,所述基于所述写保护位存储区中存储的第一保护信息对所述多个存储分区中的预设存储分区执行第一保护包括:

通过所述第一写保护标识判断对应的存储分区的第一写保护状态;

通过将对应于第一写保护状态的一个或多个存储分区的写保护位置位以使能所述第一保护;

其中,所述第一保护为基于硬件实现的永久写保护。

在一种实施方式中,其中,所述第二保护信息进一步包括加载保护信息,所述加载保护信息用于指示对每个存储分区以及写保护位存储区的加载保护的状态;

以及所述基于预设的第二保护信息对所述写保护位存储区和/或所述预设存储分区执行第二保护进一步包括:

接收针对写保护位存储区或预设存储分区的加载请求;

判断所述写保护位存储区或预设存储分区的加载保护的状态为使能或禁止;

若所述加载保护的状态为使能,则拒绝加载所述写保护位存储区或预设存储分区;

若所述加载保护的状态为禁止,则允许加载所述写保护位存储区或预设存储分区。

在一种实施方式中,其中,所述第二保护信息进一步包括第二写保护信息,所述第二写保护信息用于指示每个所述存储分区以及写保护位存储区的第二写保护的状态;

以及所述基于预设的第二保护信息对所述写保护位存储区和/或所述预设存储分区执行第二保护进一步包括:

接收针对写保护位存储区或预设存储分区的写入请求;

判断所述写保护位存储区或预设存储分区的第二写保护的状态为使能或禁止;

若所述第二写保护的状态为使能,则先将所述第二写保护的状态修改为禁止后执行写入操作,并在写入操作执行完毕后将所述第二写保护的状态修改为使能;以及

若所述第二写保护的状态为禁止,则直接向所述写保护位存储区或预设存储分区执行写入操作。

其中,所述第二写保护为基于软件实现的可逆写保护。

在一种实施方式中,其中,所述多个存储分区至少包括密钥存储分区,用于存储处理器启动所需要的密钥;其中,

在密钥写入完成前对所述密钥存储区执行第二写保护;

在密钥写入完成后通过对所述密钥存储区执行第一保护;以及

在启动后对所述密钥存储区执行加载保护

在一种实施方式中,其中,所述多个存储分区至少包括配置信息存储分区,用于存储处理器启动所需要的配置信息;其中,

在配置信息写入完成前对所述配置信息存储分区执行第二写保护;

在配置信息写入完成后对所述配置信息存储分区执行第一保护;以及

在启动后对所述配置信息存储分区执行加载保护。

在一种实施方式中,其中,所述方法还包括:

在启动后对所述写保护位存储区执行第二保护。

在一种实施方式中,其中,所述非易失性存储器的部分或全部为一次性可编程存储器。

本发明实施方式的第二方面,提供一种非易失性存储器的分区保护装置,其特征在于,所述分区保护装置包括:

所述非易失性存储器至少包括多个存储分区以及写保护位存储区,

所述写保护位存储区用于存储第一保护信息,以及基于所述第一保护信息对所述多个存储分区中的预设存储分区执行第一保护;

控制器,用于基于预设的第二保护信息对所述写保护位存储区和/或所述预设存储分区执行第二保护。

在一种实施方式中,其中,所述第一保护信息为具有多个写保护标识的第一写保护信息,所述多个写保护标识与所述多个存储分区一一对应,用于指示对应的存储分区的第一写保护状态。

在一种实施方式中,其中,所述基于所述第一保护信息对所述多个存储分区中的预设存储分区执行第一保护包括:

通过所述第一写保护标识判断对应的存储分区的第一写保护状态;

通过将对应于第一写保护状态的一个或多个存储分区的写保护位置位以使能所述第一保护;

其中,所述第一保护为基于硬件实现的永久写保护。

在一种实施方式中,其中,所述第二保护信息进一步包括加载保护信息,所述加载保护信息用于指示对每个存储分区以及写保护位存储区的加载保护的状态;

以及所述控制器进一步包括加载控制单元,用于:

接收针对写保护位存储区或预设存储分区的加载请求;

判断所述写保护位存储区或预设存储分区的加载保护的状态为使能或禁止;

若所述加载保护的状态为使能,则拒绝加载所述写保护位存储区或预设存储分区;

若所述加载保护的状态为禁止,则允许加载所述写保护位存储区或预设存储分区。

在一种实施方式中,其中,所述第二保护信息进一步包括第二写保护信息,所述第二写保护信息用于指示每个所述存储分区以及写保护位存储区的第二写保护的状态;

以及所述控制器进一步包括第二写保护控制单元,用于:

接收针对写保护位存储区或预设存储分区的写入请求;

判断所述写保护位存储区或预设存储分区的第二写保护的状态为使能或禁止;

若所述第二写保护的状态为使能,则先将所述第二写保护的状态修改为禁止后执行写入操作,并在写入操作执行完毕后将所述第二写保护的状态修改为使能;以及

若所述第二写保护的状态为禁止,则直接向所述写保护位存储区或预设存储分区执行写入操作。

其中,所述第二写保护为基于软件实现的可逆写保护。

在一种实施方式中,其中,所述多个存储分区至少包括密钥存储分区,用于存储处理器启动所需要的密钥;其中,

在密钥写入完成前对所述密钥存储区执行第二写保护;

在密钥写入完成后通过对所述密钥存储区执行第一保护;以及

在启动后对所述密钥存储区执行加载保护

在一种实施方式中,其中,所述多个存储分区至少包括配置信息存储分区,用于存储处理器启动所需要的配置信息;其中,

在配置信息写入完成前对所述配置信息存储分区执行第二写保护;

在配置信息写入完成后对所述配置信息存储分区执行第一保护;以及

在启动后对所述配置信息存储分区执行加载保护。

在一种实施方式中,其中,所述控制器还用于:

在启动后对所述写保护位存储区执行第二保护。

在一种实施方式中,其中,所述非易失性存储器的部分或全部为一次性可编程存储器。

综上,本发明实施例通过对非易失性存储器进行分区,并设置写保护位存储区对上述非易失性存储器中的存储分区进行分区执行的第一保护,以及对非易失性存储器进行分区的第二保护,可以对多个存储分区设置更为灵活且具有更高安全性的安全保护机制。

附图说明

通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:

图1示出了根据本发明实施例的一种非易失性存储器的分区保护装置的示意图。

图2示出了根据本发明实施例的一种非易失性存储器的分区保护方法流程图。

图3示出了根据本发明实施例的另一种非易失性存储器的分区保护方法流程图。

图4示出了根据本发明实施例的又一种非易失性存储器的分区保护方法流程图。

图5示出了根据本发明实施例的又一种非易失性存储器的分区保护方法流程图。

图6示出了根据本发明实施例的另一种非易失性存储器的分区保护装置示意图。

图7示出了根据本发明实施例的另一种非易失性存储器的分区保护装置示意图。

在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

示例性方法

本发明实施例提出一种非易失性存储器的分区保护方法,如图1所示,非易失性存储器110至少包括多个存储分区(例如,第一存储区111_1、第二存储器111_2、…、第n存储器111_n,n为1以上的值)以及写保护位存储区112,如图2所示,上述分区保护方法包括:

s110:基于所述写保护位存储区存储的第一保护信息对预设存储分区执行第一保护;

s120:基于预设的第二保护信息对所述写保护位存储区和/或预设存储分区执行第二保护。

具体地,上述预设的第二保护为一个或多个中央处理器(cpu)在上电初始化完成、cpu启动之后根据预设的保护规则通过软件对写保护位存储区和/或预设存储分区进行控制的保护机制。

具体地,上述非易失性存储器可以是:闪速存储器、mram、pram、feram等

具体地,上述第二保护可以包括:读保护、写保护、加载保护、擦除保护中的一种或多种。

进一步地,所述读保护指的是若某一存储区域被执行读保护,则禁止对该区域进行读操作,上述写保护指的是若某一存储区域被执行读保护,则禁止对该区域进行写操作;上述加载保护指的是若某一存储区域被执行加载保护,则禁止对该区域进行加载操作等等。

本领域技术人员可以理解的是,对于大多数芯片而言,其中的非易失性存储空间都是作为一整块存储空间进行使用,而并未被进行有效划分。本发明实施例通过将非易失性存储器进行分区,并使用写保护位存储区对划分出的各个区域提供各自独立的写保护的技术方案,可以更加灵活地使用该非易失性存储器。

以下对本发明实施例的另一实施例进行详细描述,

所述第一保护信息为具有多个写保护标识的第一写保护信息,所述多个写保护标识与所述多个存储分区(例如,第一存储区111_1、第二存储器111_2、…、第n存储器111_n,n为1以上的值)一一对应,用于指示对应的存储分区的第一写保护状态。

具体地,上述写保护标识由一位存储数据决定,或者由两位或更多位数据决定,在此不做限定。

在一实施例中,如图3所示,所述基于所述写保护位存储区存储的第一保护信息对预设存储分区执行基于硬件实现的第一保护包括:

s210:通过所述第一写保护标识判断对应的存储分区的第一写保护状态;

s220:通过将对应于第一写保护状态的一个或多个存储分区的写保护位置位以使能第一保护;

具体地,所述第一保护为基于硬件实现的永久写保护。

具体地,假设非易失性存储器中的第一存储分区在写保护位存储区所对应的写保护位的状态为逻辑“1”,也即处于第一写保护使能状态,得以执行对第一存储分区的第一写保护,该第一写保护位为基于硬件实现的永久写保护,软件无法修改。

进一步地,若想对非易失性存储器的第二存储分区执行第一写保护,则将第二存储分区在写保护位存储区所对应的写保护位的状态由逻辑“0”写为逻辑“1”,也即将第一写保护禁止变更为第一写保护使能。

在一实施例中,写保护位存储区为otp存储区,因此逻辑“0”可以被修改为逻辑“1”,但是逻辑“1”不能被复位成逻辑“0”,也即,不能将对预设存储分区的第一写保护状态从写保护使能修改为写保护禁止。

具体地,向写保护位存储区新写入第一写保护标识,需要在下一次上电初始化或重启时对所对应的存储分区执行第一写保护。

进一步地,由于写保护电路的实现本身在本领域技术人员的认知范围内,写保护电路将不进一步描述。

以下结合图4对本发明实施例又一实施例进行详细描述。

在一实施例中,所述第二保护信息进一步包括加载保护信息,所述加载保护信息用于指示对每个存储分区以及写保护位存储区的各自的加载保护的状态;

如图4所示,所述基于预设的第二保护信息对所述写保护位存储区和/或预设存储分区执行第二保护进一步包括:

s310:接收针对写保护位存储区或预设存储分区的加载请求;

s320:判断所述写保护位存储区或预设存储分区的加载保护的状态为使能或禁止;

s330:若所述加载保护的状态为使能,则拒绝加载所述写保护位存储区或预设存储分区;

s340:若所述加载保护的状态为禁止,则允许加载所述写保护位存储区或预设存储分区。

本领域技术人员可以理解的是,上述存储分区可以会存储配置信息,例如jtag接口的开关。在开发、调试等一系列工作完成后需要将用于调试的jtag接口关闭以保证代码安全,否则如果jtag打开,同时硬件中加载有正确的密钥,那么就可以知道我们执行的程序,对存储的数据信息进行破解。jtag接口的开关可能面临高级别的安全威胁,例如,时钟频率攻击,一般来说存储器需要按照正确的时序逻辑进行读写,如果不按照正常时序逻辑去读写,就会造成读写的结果具有随机性。基于此,如果非易失性存储器上的存储有jtag接口开关的区域与存储有密钥的区域不仅在上电初始化的时候可以被加载到处理器,而在cpu启动之后仍然可以被加载,那么黑客就可以在初始化的时候给出正确的时序逻辑以加载正确的密钥,并在cpu启动后再给出错误的时序逻辑以攻击jtag功能位,由于jtag功能位只有1bit,比较容易破解,那么就可以将本来关闭的jtag打开,同时系统中已经加载的了正确的密钥,进一步可能利用jtag接口进行破解。

进一步地,本发明实施例针对指定的存储分区或写保护位存储区执行加载保护,例如,存储有启动加载项的存储区域,控制其只在上电初始化时被加载至处理器以执行启动,并在启动后基于软件实现的加载保护禁止该存储区域内的数据被加载至处理器。

本发明实施例通过采用对非易失性存储器执行分区加载保护,避免了非易失性存储器遭受到时序逻辑攻击,进一步达到更好的数据保护效果。

在一实施例中,所述第二保护信息进一步包括第二写保护信息,所述第二写保护信息用于指示每个所述存储分区以及写保护位存储区的各自的第二写保护的状态;

如图5所示,所述基于预设的第二保护信息对所述写保护位存储区和/或预设存储分区执行第二保护进一步包括:

s410:接收针对写保护位存储区或预设存储分区的写入请求;

s420:判断所述写保护位存储区或预设存储分区的第二写保护的状态为使能或禁止;

s430:若所述第二写保护的状态为使能,则基于预定条件将所述第二写保护的状态修改为禁止后执行写入操作,并在写入操作执行完毕后将所述第二写保护的状态修改为使能;以及

s440:若所述第二写保护的状态为禁止,则直接向所述写保护位存储区或预设存储分区执行写入操作。

具体地,上述第二写保护为基于软件实现的可逆写保护。

具体地,上述第二写保护可以应用在多类存储分区,例如,对于安全需求等级较高且无需进行数据更改的存储分区,如密钥存储分区,本发明实施例通常在该存储分区的数据写入完毕后对其执行第一写保护,也即硬件永久写保护,但在数据写入完毕之前,为了防止可能产生的误操作,可以对其执行第二写保护。又例如,对于安全需求等级较高但需要经常更改数据的存储分区,本发明实施例可以对其执行第二写保护以满足需求。

此外,上述第二写保护可以对写保护位存储区执行写保护以防止误操作,进一步可以防止误执行对相应的存储分区的永久写保护。

进一步地,可以将预设的第二写保护信息存储于第二写保护寄存器,例如,该寄存器的第i位写保护位对应于第i存储分区,若该第i位写保护位为逻辑“1”(使能),当需要对该第i存储分区执行写入操作时,需要暂时先将第二写保护寄存器的第i位写保护位置“0”(禁止),而后可以对该第i存储分区执行写入操作,当上述写入操作完毕后,需要再次将第i位写保护位置“1”(使能)以恢复对该第i存储分区的第二写保护。

在一实施例中,想要执行上述对第二写保护寄存器的写保护位置“0”(禁止)的操作需要满足预设条件,该预设条件可以是写入主体满足预设的执行权限,可以是对预设的密钥完成解密,也可以不设定该预设条件,仅需发送指令以控制该写保护位置位,本发明实施例对此不进行限定。

值得注意的是,尽管此处可以将某一存储分区的第二写保护状态从“使能”更改为“禁止”,但若该存储分区的第一写保护的状态为“使能”,则该存储分区仍会一直保持被写保护的状态,也即,第二写保护只实际作用于未被执行第一写保护的存储分区。

本发明实施例通过采用上述基于软件实现的第二写保护可以对存储分区的写保护状态进行更加灵活的设置,而且可以防止对写保护位存储区的误写入操作,进一步防止了对存储分区的误锁定。

以下结合图6具体描述本发明又一实施例。

具体地,所述多个存储分区至少可以包括密钥存储分区111_x与配置信息存储分区111_y,密钥存储分区111_x用于存储处理器启动所需要的密钥;配置信息存储分区111_y用于存储处理器启动所需要的配置信息,例如,jtag接口开关。

具体地,可以对密钥存储区111_x执行分阶段的保护。例如,在密钥写入完成前对所述密钥存储区111_x执行第二写保护;在密钥写入完成后通过对所述密钥存储区111_x执行第一保护;以及在启动后对所述密钥存储区执行加载保护。

具体地,可以对配置信息存储分区111_y执行分阶段的保护。例如,在配置信息写入完成前对所述配置信息存储分区111_y执行第二写保护;在配置信息写入完成后对所述配置信息存储分区111_y执行第一保护;以及在启动后对所述配置信息存储分区111_y执行加载保护。

而对于其他的存储分区,同样可以根据其安全需求程度以及操作频率适应性地为其设置独立的保护机制,本发明以上述密钥存储分区以及配置信息存储分区为例进行描述但不限于此。

在一实施例中,在启动后可以对所述写保护位存储区112执行加载保护与第二写保护。

本发明实施例通过为安全需求较高且不需要更改数据的密钥存储分区与配置信息存储分区配置上述分阶段、多种类的安全保护机制,进一步避免了上述重要数据被误篡改或恶意篡改或恶意盗取。

在一实施例中,所述非易失性存储器的部分或全部为一次性可编程存储器(otp存储器)。

本领域技术人员可以理解的是,otp存储器的每一比特位在写入后不可再进行擦除,因此,采用otp存储器在一定程度上可以防止数据被改写。进一步地,对于写保护位存储区而言,采用otp存储可以天然地实现第一写保护标识在“使能”不能再修改为“禁止”。

本发明实施例通过采用otp存储器可以进一步保障数据安全。

综上,本发明实施例通过对非易失性存储器进行分区,并设置写保护位存储区对上述非易失性存储器中的存储分区进行分区执行的第一保护,以及对非易失性存储器进行分区的第二保护,可以对多个存储分区设置更为灵活且具有更高安全性的安全保护机制。

示例性设备

本发明实施例提出一种非易失性存储器的分区保护装置,如图1所示,上述分区保护装置包括:至少包括多个存储分区(例如,第一存储区111_1、第二存储器111_2、…、第n存储器111_n,n为1以上的值)以及写保护位存储区112的非易失性存储器110以及控制器120。

其中,写保护位存储区112存储的第一保护信息对预设存储分区111执行第一保护;控制器120用于基于预设的第二保护信息对所述写保护位存储区112和/或预设存储分区(例如,第一存储区111_1、第二存储器111_2、…、第n存储器111_n中的任一个或多个)执行第二保护。

具体地,控制器120电连接至上述预设的第二保护为一个或多个中央处理器(cpu),在上电初始化完成、cpu启动之后控制器120基于cpu的控制,根据预设的保护规则通过软件对写保护位存储区和/或预设存储分区进行保护。

具体地,上述非易失性存储器110可以是:闪速存储器、mram、pram、feram等。

具体地,上述非易失性存储器110优选为otp存储器。

具体地,上述第二保护可以包括:读保护、写保护、加载保护、擦除保护中的一种或多种。

进一步地,所述读保护指的是若某一存储区域被执行读保护,则禁止对该区域进行读操作,上述写保护指的是若某一存储区域被执行读保护,则禁止对该区域进行写操作;上述加载保护指的是若某一存储区域被执行加载保护,则禁止对该区域进行加载操作等等。

本领域技术人员可以理解的是,对于大多数芯片而言,其中的非易失性存储空间都是作为一整块存储空间进行使用,而并未被进行有效划分。本发明实施例通过将非易失性存储器进行分区,并使用写保护位存储区对划分出的各个区域提供各自独立的写保护的技术方案,可以更加灵活地使用该非易失性存储器。

以下对本发明实施例的另一实施例进行详细描述,

所述第一保护信息为具有多个写保护标识的第一写保护信息,所述多个写保护标识与所述多个存储分区(例如,第一存储区111_1、第二存储器111_2、…、第n存储器111_n,n为1以上的值)一一对应,用于指示对应的存储分区的第一写保护状态。

具体地,上述写保护标识由一位存储数据决定,或者由两位或更多位数据决定,在此不做限定。

在一实施例中,所述基于所述写保护位存储区存储的第一保护信息对预设存储分区执行基于硬件实现的第一保护包括:

通过所述第一写保护标识判断对应的存储分区的第一写保护状态;

通过将对应于第一写保护状态的一个或多个存储分区的写保护位置位以使能第一保护;

具体地,所述第一保护为基于硬件实现的永久写保护。

具体地,假设非易失性存储器中的第一存储分区在写保护位存储区所对应的写保护位的状态为逻辑“1”,也即处于第一写保护使能状态,得以执行对第一存储分区的第一写保护,该第一写保护位为基于硬件实现的永久写保护,软件无法修改。

进一步地,若想对非易失性存储器的第二存储分区执行第一写保护,则将第二存储分区在写保护位存储区所对应的写保护位的状态由逻辑“0”写为逻辑“1”,也即将第一写保护禁止变更为第一写保护使能。

在一实施例中,写保护位存储区为otp存储区,因此逻辑“0”可以被修改为逻辑“1”,但是逻辑“1”不能被复位成逻辑“0”,也即,不能将对预设存储分区的第一写保护状态从写保护使能修改为写保护禁止。

具体地,向写保护位存储区新写入第一写保护标识,需要在下一次上电初始化或重启时对所对应的存储分区执行第一写保护。

进一步地,由于写保护电路的实现本身在本领域技术人员的认知范围内,写保护电路将不进一步描述。

以下结合图7对本发明实施例又一实施例进行详细描述。

在一实施例中,所述第二保护信息进一步包括加载保护信息,所述加载保护信息用于指示对每个存储分区以及写保护位存储区的各自的加载保护的状态;

如图7所示,所述控制器120进一步包括加载控制单元121,用于执行:

接收针对写保护位存储区或预设存储分区的加载请求;

判断所述写保护位存储区或预设存储分区的加载保护的状态为使能或禁止;

若所述加载保护的状态为使能,则拒绝加载所述写保护位存储区或预设存储分区;

若所述加载保护的状态为禁止,则允许加载所述写保护位存储区或预设存储分区。

本领域技术人员可以理解的是,上述存储分区可以会存储配置信息,例如jtag接口的开关。在开发、调试等一系列工作完成后需要将用于调试的jtag接口关闭以保证代码安全,否则如果jtag打开,同时硬件中加载有正确的密钥,那么就可以知道我们执行的程序,对存储的数据信息进行破解。jtag接口的开关可能面临高级别的安全威胁,例如,时钟频率攻击,一般来说存储器需要按照正确的时序逻辑进行读写,如果不按照正常时序逻辑去读写,就会造成读写的结果具有随机性。基于此,如果非易失性存储器上的存储有jtag接口开关的区域与存储有密钥的区域不仅在上电初始化的时候可以被加载到处理器,而在cpu启动之后仍然可以被加载,那么黑客就可以在初始化的时候给出正确的时序逻辑以加载正确的密钥,并在cpu启动后再给出错误的时序逻辑以攻击jtag功能位,由于jtag功能位只有1bit,比较容易破解,那么就可以将本来关闭的jtag打开,同时系统中已经加载的了正确的密钥,进一步可能利用jtag接口进行破解。

进一步地,本发明实施例针对指定的存储分区或写保护位存储区执行加载保护,例如,存储有启动加载项的存储区域,控制其只在上电初始化时被加载至处理器以执行启动,并在启动后基于软件实现的加载保护禁止该存储区域内的数据被加载至处理器。

本发明实施例通过采用对非易失性存储器执行分区加载保护,避免了非易失性存储器遭受到时序逻辑攻击,进一步达到更好的数据保护效果。

在一实施例中,所述第二保护信息进一步包括第二写保护信息,所述第二写保护信息用于指示每个所述存储分区以及写保护位存储区的各自的第二写保护的状态;

如图7所示,所述控制器120进一步包括第二写保护控制单元122,具体用于执行:

接收针对写保护位存储区或预设存储分区的写入请求;

判断所述写保护位存储区或预设存储分区的第二写保护的状态为使能或禁止;

若所述第二写保护的状态为使能,则基于预定条件将所述第二写保护的状态修改为禁止后执行写入操作,并在写入操作执行完毕后将所述第二写保护的状态修改为使能;以及

若所述第二写保护的状态为禁止,则直接向所述写保护位存储区或预设存储分区执行写入操作。

具体地,上述第二写保护为基于软件实现的可逆写保护。

具体地,上述第二写保护可以应用在多类存储分区,例如,对于安全需求等级较高且无需进行数据更改的存储分区,如密钥存储分区,本发明实施例通常在该存储分区的数据写入完毕后对其执行第一写保护,也即硬件永久写保护,但在数据写入完毕之前,为了防止可能产生的误操作,可以对其执行第二写保护。又例如,对于安全需求等级较高但需要经常更改数据的存储分区,本发明实施例可以对其执行第二写保护以满足需求。

此外,上述第二写保护可以对写保护位存储区执行写保护以防止误操作,进一步可以防止误执行对相应的存储分区的永久写保护。

进一步地,可以将预设的第二写保护信息存储于第二写保护寄存器,例如,该寄存器的第i位写保护位对应于第i存储分区,若该第i位写保护位为逻辑“1”(使能),当需要对该第i存储分区执行写入操作时,需要暂时先将第二写保护寄存器的第i位写保护位置“0”(禁止),而后可以对该第i存储分区执行写入操作,当上述写入操作完毕后,需要再次将第i位写保护位置“1”(使能)以恢复对该第i存储分区的第二写保护。

在一实施例中,想要执行上述对第二写保护寄存器的写保护位置“0”(禁止)的操作需要满足预设条件,该预设条件可以是写入主体满足预设的执行权限,可以是对预设的密钥完成解密,也可以不设定该预设条件,仅需发送指令以控制该写保护位置位,本发明实施例对此不进行限定。

值得注意的是,尽管此处可以将某一存储分区的第二写保护状态从“使能”更改为“禁止”,但若该存储分区的第一写保护的状态为“使能”,则该存储分区仍会一直保持被写保护的状态,也即,第二写保护只实际作用于未被执行第一写保护的存储分区。

本发明实施例通过采用上述基于软件实现的第二写保护可以对存储分区的写保护状态进行更加灵活的设置,而且可以防止对写保护位存储区的误写入操作,进一步防止了对存储分区的误锁定。

以下结合图6具体描述本发明又一实施例。

具体地,所述多个存储分区至少可以包括密钥存储分区111_x与配置信息存储分区111_y,密钥存储分区111_x用于存储处理器启动所需要的密钥;配置信息存储分区111_y用于存储处理器启动所需要的配置信息,例如,jtag接口开关。

具体地,可以对密钥存储区111_x执行分阶段的保护。例如,在密钥写入完成前对所述密钥存储区111_x执行第二写保护;在密钥写入完成后通过对所述密钥存储区111_x执行第一保护;以及在启动后对所述密钥存储区执行加载保护

具体地,可以对配置信息存储分区111_y执行分阶段的保护。例如,在配置信息写入完成前对所述配置信息存储分区111_y执行第二写保护;在配置信息写入完成后对所述配置信息存储分区111_y执行第一保护;以及在启动后对所述配置信息存储分区111_y执行加载保护。

而对于其他的存储分区,同样可以根据其安全需求程度以及操作频率适应性地为其设置独立的保护机制,本发明以上述密钥存储分区以及配置信息存储分区为例进行描述但不限于此。

在一实施例中,在启动后可以对所述写保护位存储区112执行加载保护与第二写保护。

本发明实施例通过为安全需求较高且不需要更改数据的密钥存储分区与配置信息存储分区配置上述分阶段、多种类的安全保护机制,进一步避免了上述重要数据被误篡改或恶意篡改或恶意盗取。

在一实施例中,所述非易失性存储器的部分或全部为一次性可编程存储器(otp存储器)。

本领域技术人员可以理解的是,otp存储器的每一比特位在写入后不可再进行擦除,因此,采用otp存储器在一定程度上可以防止数据被改写。进一步地,对于写保护位存储区而言,采用otp存储可以天然地实现第一写保护标识在“使能”不能再修改为“禁止”。

本发明实施例通过采用otp存储器可以进一步保障数据安全。

综上,本发明实施例通过对非易失性存储器进行分区,并设置写保护位存储区对上述非易失性存储器中的存储分区进行分区执行的第一保护,以及对非易失性存储器进行分区的第二保护,可以对多个存储分区设置更为灵活且具有更高安全性的安全保护机制。

此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1