CN115906194A - 一种防止非易失性存储数据泄露的方法和系统 - Google Patents

一种防止非易失性存储数据泄露的方法和系统 Download PDF

Info

Publication number
CN115906194A
CN115906194A CN202211395984.9A CN202211395984A CN115906194A CN 115906194 A CN115906194 A CN 115906194A CN 202211395984 A CN202211395984 A CN 202211395984A CN 115906194 A CN115906194 A CN 115906194A
Authority
CN
China
Prior art keywords
programming
data
protection
nonvolatile memory
soft
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211395984.9A
Other languages
English (en)
Inventor
王爱俊
张云磊
曹杰
何杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Vango Technologies Inc
Original Assignee
Hangzhou Vango Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Vango Technologies Inc filed Critical Hangzhou Vango Technologies Inc
Priority to CN202211395984.9A priority Critical patent/CN115906194A/zh
Publication of CN115906194A publication Critical patent/CN115906194A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Storage Device Security (AREA)

Abstract

本申请涉及一种防止非易失性存储数据泄露的方法和系统,其中,该方法包括:设置硬保护和软保护,用以保护非易失性存储器中存储的数据;硬保护运行时,外部的仿真器设备无法读取非易失性存储器中的数据,以及往非易失性存储器中写入数据;软保护运行时,仿真器设备无法读取非易失性存储器中的数据,但能够往非易失性存储器中写入数据;通过非易失性存储器的接口,执行编程指令以解除硬保护或软保护。通过本申请,解决了MCU芯片中非易失性存储器的数据易泄露问题,实现了基于硬保护和软保护,有效防止外部仿真器轻易获取非易失性存储器的数据。

Description

一种防止非易失性存储数据泄露的方法和系统
技术领域
本申请涉及集成电路技术领域,特别是涉及一种防止非易失性存储数据泄露的方法和系统。
背景技术
一般情况下,各类MCU芯片中通常在内部使用一些非易失性存储器来存放关键程序和数据,在没有电流供应的条件下也能够长久地保持数据。这些需要被保护的程序和数据不能被轻易读取复制,通常仅允许CPU的访问,但在一些支持外在仿真器的MCU芯片上,用户可以通过外在仿真器接口实时监控MCU中的CPU的运行状态,实时读取、修改存储器和外设的状态和数据。由于用户可以通过外在仿真器接口轻易读取非易失性存储器中所有的数据,因此容易造成数据泄露的问题。
在现有技术中,为了解决MCU芯片中非易失性存储器的数据易泄露的问题,一般采用直接禁用仿真器接口的方法。
目前针对相关技术中MCU芯片中非易失性存储器的数据易泄露问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种防止非易失性存储数据泄露的方法和系统,以至少解决相关技术中MCU芯片中非易失性存储器的数据易泄露问题。
第一方面,本申请实施例提供了一种防止非易失性存储数据泄露的方法,所述方法包括:
设置硬保护和软保护,用以保护非易失性存储器中存储的数据;
所述硬保护运行时,外部的仿真器设备无法读取所述非易失性存储器中的数据,以及往所述非易失性存储器中写入数据;
所述软保护运行时,仿真器设备无法读取所述非易失性存储器中的数据,但能够往所述非易失性存储器中写入数据;
通过所述非易失性存储器的接口,执行编程指令以解除所述硬保护或软保护。
在其中一些实施例中,通过所述非易失性存储器的接口,执行编程指令以解除所述软保护包括:
通过所述非易失性存储器的接口,在所述非易失性存储器的boot区域中,对所述软保护进行解锁编程;
监测是否产生解锁报警信号;若产生,则先对所述非易失性存储器进行全片擦除,后当所述非易失性存储器重新上电后,更新所述软保护地址的数据以解除所述软保护;若未产生,则当所述非易失性存储器重新上电后,更新所述软保护地址的数据以解除所述软保护。
在其中一些实施例中,对所述软保护进行解锁编程包括:
判断执行的编程指令是否为软保护解锁编程指令,若是,则对所述软保护进行解锁编程,并检查是否存在全片擦除完成信号,若存在,则不产生解锁报警信号,若不存在,则产生解锁报警信号。
在其中一些实施例中,判断执行的编程指令是否为软保护解锁编程指令包括:
若编程地址为addr_soft且编程数据为key_soft,则编程指令为软保护解锁编程指令;若编程地址不为addr_soft和/或编程数据不为key_soft,则编程指令为普通编程指令。
在其中一些实施例中,所述方法还包括在连续编程中解除所述软保护:
通过所述非易失性存储器的接口执行编程指令,在数据缓存器中写入连续编程的编程数据;
根据所述编程数据的个数和位宽,在地址累加器中自动累加写入编程地址;
再根据所述编程数据和所述编程地址,判断所述编程指令是否为软保护解锁编程指令,若是,则解除所述软保护。
在其中一些实施例中,根据所述编程数据的个数和位宽,在地址累加器中自动累加写入编程地址包括:
若所述编程数据为8bit位宽,则地址累加器中的编程地址累加1;
若所述编程数据为16bit位宽,则地址累加器中的编程地址累加2;
若所述编程数据为32bit位宽,则地址累加器中的编程地址累加4。
在其中一些实施例中,通过所述非易失性存储器的接口,执行编程指令以解除所述硬保护包括:
通过所述非易失性存储器的接口,在所述非易失性存储器的boot区域中,对所述硬保护进行解锁编程;
当所述非易失性存储器重新上电后,更新所述硬保护地址的数据以解除所述硬保护。
在其中一些实施例中,对所述硬保护进行解锁编程包括:
判断执行的编程指令是否为硬保护解锁编程指令,若是,则对所述硬保护进行解锁编程。
在其中一些实施例中,判断执行的编程指令是否为硬保护解锁编程指令包括:
若编程地址为addr_hard且编程数据为key_hard,则编程指令为硬保护解锁编程指令;若编程地址不为addr_hard和/或编程数据不为key_hard,则编程指令为普通编程指令。
第二方面,本申请实施例提供了一种防止非易失性存储数据泄露的系统,所述系统包括配置模块和解锁模块;
所述配置模块,用于设置硬保护和软保护,用以保护非易失性存储器中存储的数据;所述硬保护运行时,外部的仿真器设备无法读取所述非易失性存储器中的数据,以及往所述非易失性存储器中写入数据;所述软保护运行时,仿真器设备无法读取所述非易失性存储器中的数据,但能够往所述非易失性存储器中写入数据;
所述解锁模块,用于通过所述非易失性存储器的接口,执行编程指令以解除所述硬保护或软保护。
相比于相关技术,本申请实施例提供的一种防止非易失性存储数据泄露的方法和系统,其中,该方法通过设置硬保护和软保护,用以保护非易失性存储器中存储的数据;硬保护运行时,外部的仿真器设备无法读取非易失性存储器中的数据,以及往非易失性存储器中写入数据;软保护运行时,仿真器设备无法读取非易失性存储器中的数据,但能够往非易失性存储器中写入数据;通过非易失性存储器的接口,执行编程指令以解除硬保护或软保护。解决了MCU芯片中非易失性存储器的数据易泄露问题,实现了基于硬保护和软保护,有效防止外部仿真器轻易获取非易失性存储器的数据。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的防止非易失性存储数据泄露的方法的步骤流程图;
图2是根据本申请实施例的解除硬保护的步骤流程图;
图3是根据本申请实施例的解除软保护的步骤流程图;
图4是根据本申请实施例的多层解锁软保护的系统结构示意图;
图5是根据本申请实施例的防止非易失性存储数据泄露的系统的结构框图;
图6是根据本申请实施例的电子设备的内部结构示意图。
附图说明:51、配置模块;52、解锁模块。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
发明人经研究发现,为了解决MCU芯片中非易失性存储器的数据易泄露问题,现有技术中一般采用以下两种方法:
方法一直接禁用仿真器接口的方法,虽然可以防止数据泄露,但是同时也无法再次通过外在仿真器修改储存的程序内容,如果芯片中的软件和硬件没有支持使用其它接口来更新程序,那么这个芯片中的程序就再也无法更改。
方法二仿真器接口硬保护加软保护的方法,硬保护为仿真器接口保护,在确定存储程序数据不需要修改的情况下可设置硬保护。软保护为读取存储器保护,可修改。但是如果知道如何修改保护值以解除硬/软保护的话,也可轻易盗取非易失性存储器中的数据。
针对上述两种方法中存在的缺点,本发明在方法二的基础上提出了基于ICE(In-Circuit Eulator,在线仿真器)硬保护和带有解锁预警的软保护的两级保护方法。即ICE硬保护和软保护都可被更改,解锁软保护会触发解锁报警,先全片擦除存储器数据再修改软保护值,重新上电加载后更新,该方法能够有效防止在线仿真器知道解锁方式后轻易盗取非易失性存储中的内容。
本申请实施例提供了一种防止非易失性存储数据泄露的方法,图1是根据本申请实施例的防止非易失性存储数据泄露的方法的步骤流程图,如图1所示,该方法包括以下步骤:
步骤S102,设置硬保护和软保护,用以保护非易失性存储器中存储的数据;
需要说明的是,外部的仿真器设备如果要访问非易失性存储器数据需要经过两级保护:ICE硬保护和软保护,只有这两级保护都解锁时,仿真器设备才能成功读取存储器的数据。
硬保护运行时,仿真器设备无法读取非易失性存储器中的数据,以及往非易失性存储器中写入数据,无法访问和获取MCU(Microcontroller Unit,微控制单元)中的任何设备和状态信息。在确定存储程序数据不需要修改的情况下可设置为硬保护,通常情况下硬保护处于解锁状态。
软保护运行时,仿真器设备无法读取非易失性存储器中的数据,但能够往非易失性存储器中写入数据,即ICE软保护只保护对于非易失性存储区域的读访问,写操作可正常执行。
步骤S104,通过非易失性存储器的接口,执行编程指令以解除硬保护或软保护。
需要说明的是,硬保护和软保护的值并不是固定不变的,都可以通过编程非易失性存储器中boot区域对应地址数据进行更改。更改ICE硬保护和软保护值都由编程时序实现,对于非易失性存储器的编程和擦除操作都由编程和擦除装置实现,该装置可实现对非易失性存储数据的普通编程、连续编程、页擦除和全片擦除。为了实现步骤S102,该装置主要具有以下工作状态:
空闲:等待编程和擦除指令。若为页擦除指令,则进入页擦除时序;若为全片擦除指令,则进入全片擦除时序;若为编程指令,则进入解锁软保护监测。
编程时序:控制非易失性存储接口实现编程时序,能实现对主区和boot区的编程,支持普通编程和连续编程,编程完成后自动进入结束状态。
全片擦除时序:控制非易失性存储器接口实现全片擦除时序,能实现对主区全擦,全片擦除完成后产生片擦完成信号,自动进入结束状态。
页擦除时序:控制非易失性存储接口实现页擦除时序,能实现对主区和boot区的页擦,页擦除完成后产生页擦完成信号,自动进入结束状态。
结束:表示编程或擦除指令已完成,自动进入空闲状态。
解锁软保护监测:监测解锁软保护产生的解锁报警信号,监测到解锁报警则进入全片擦除时序,未产生解锁报警则进入编程时序。具体监测方法如下:输入为编程地址、编程数据、片擦除完成3个信号,输出为1个解锁报警信号。判断是否同时满足编程地址为addr_soft,编程数据为key_soft两个条件,若不同时满足则为普通编程,不产生解锁报警,直接进入编程时序;若同时满足则表示想要解锁软保护,此时检查片擦除完成信号,若为1则表示已完成全片擦除,不产生解锁报警信号,直接进入编程程序,若片擦除完成信号为0则需要产生解除报警信号,先全片擦除再编程。
具体地,图2是根据本申请实施例的解除硬保护的步骤流程图,如图2所示,通过编程更改硬保护的值包括如下步骤:
S21,编程和擦除装置通过非易失性存储器的接口,在非易失性存储器的boot区域中,对硬保护进行编程。
S22,判断执行的编程指令是否为硬保护解锁编程指令。
S23,若编程地址为addr_hard且编程数据为key_hard,则编程指令为硬保护解锁编程指令,并跳转执行S25。
S24,若编程地址不为addr_hard和/或编程数据不为key_hard,则编程指令为普通编程指令。
S25,对硬保护进行解锁编程,当非易失性存储器重新上电后,更新硬保护地址的数据以解除硬保护。
通过上述S21至步骤S25,实现了ICE硬保护值的编程修改,重新上电boot加载后生效,加强了解锁软保护的安全性。
具体地,图3是根据本申请实施例的解除软保护的步骤流程图,如图3所示,通过编程更改软保护的值包括如下步骤:
S31,通过非易失性存储器的接口,在非易失性存储器的boot区域中,对软保护进行编程。
S32,判断执行的编程指令是否为软保护解锁编程指令。
S33,若编程地址为addr_soft且编程数据为key_soft,则编程指令为解锁编程指令,并跳转执行S35。
S34,若编程地址不为addr_soft和/或编程数据不为key_soft,则编程指令为普通编程指令。
S35,对软保护进行解锁编程,并检查是否存在全片擦除完成信号。
S36,若存在,则不产生解锁报警信号,对软保护进行解锁编程,当非易失性存储器重新上电后,更新软保护地址的数据以解除软保护。
S37,若不存在,则产生解锁报警信号,并对非易失性存储器进行全片擦除,并执行S38。
S38,对软保护进行解锁编程,当非易失性存储器重新上电后,更新软保护地址的数据以解除软保护。
通过上述S31至步骤S38,实现了ICE软保护值的编程修改,重新上电boot加载后生效,带有解锁软保护监测预警电路,会触发全片擦除,能够避免在获知修改保护值的方法后,轻易盗取非易失性存储器中的数据。
此外,图4是根据本申请实施例的多层解锁软保护的系统结构示意图,如图4所示,除上述S31至S38的在普通编程中解除软保护(第一层保护)外,还包括了在连续编程中解除软保护(第二层保护)
第一层保护为普通编程保护,针对普通编程解锁软保护,存在编程地址寄存器和编程数据寄存器,往编程地址寄存器写入编程地址,往编程数据寄存器写入编程数据,将编程地址和编程数据送入解锁软保护监测器。
第二层保护为连续编程保护,针对连续编程解锁软保护,存在地址累加器和数据缓存器,数据缓存器用来存储往编程数据寄存器中写入的连续编程数据,地址累加器根据编程数据个数和位宽自动累加编程地址,编程数据为8bit位宽则地址累加1,编程数据为16bit位宽则地址累加2,编程数据为32bit位宽则地址累加4。将累加的编程地址和编程数据送入解锁软保护监测器。
通过两层保护机制对解锁软保护行为进行安全保护,第一层保护机制针对普通编程解锁软保护,第二层保护机制针对连续编程解锁软保护,加强了解锁软保护的安全性。
综上所述,通过本申请实施例中的步骤S102至步骤S104,解决了MCU芯片中非易失性存储器的数据易泄露问题,实现了基于硬保护和软保护,有效防止外部仿真器轻易获取非易失性存储器的数据;解锁软保护监测预警能够避免在获知修改保护值的方法后,轻易盗取非易失性存储器中的数据;两层保护机制加强了解锁软保护的安全性。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例提供了一种防止非易失性存储数据泄露的系统,图5是根据本申请实施例的防止非易失性存储数据泄露的系统的结构框图,如图5所示,系统包括配置模块51和解锁模块52;
配置模块51,用于设置硬保护和软保护,用以保护非易失性存储器中存储的数据;硬保护运行时,外部的仿真器设备无法读取非易失性存储器中的数据,以及往非易失性存储器中写入数据;软保护运行时,仿真器设备无法读取非易失性存储器中的数据,但能够往非易失性存储器中写入数据;
解锁模块52,用于通过非易失性存储器的接口,执行编程指令以解除硬保护或软保护。
通过本申请实施例中的配置模块51和解锁模块52,解决了MCU芯片中非易失性存储器的数据易泄露问题,实现了基于硬保护和软保护,有效防止外部仿真器轻易获取非易失性存储器的数据;
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
另外,结合上述实施例中的防止非易失性存储数据泄露的方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种防止非易失性存储数据泄露的方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种防止非易失性存储数据泄露的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,图6是根据本申请实施例的电子设备的内部结构示意图,如图6所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图6所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种防止非易失性存储数据泄露的方法,数据库用于存储数据。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种防止非易失性存储数据泄露的方法,其特征在于,所述方法包括:
设置硬保护和软保护,用以保护非易失性存储器中存储的数据;
所述硬保护运行时,外部的仿真器设备无法读取所述非易失性存储器中的数据,以及往所述非易失性存储器中写入数据;
所述软保护运行时,仿真器设备无法读取所述非易失性存储器中的数据,但能够往所述非易失性存储器中写入数据;
通过所述非易失性存储器的接口,执行编程指令以解除所述硬保护或软保护。
2.根据权利要求1所述的方法,其特征在于,通过所述非易失性存储器的接口,执行编程指令以解除所述软保护包括:
通过所述非易失性存储器的接口,在所述非易失性存储器的boot区域中,对所述软保护进行解锁编程;
监测是否产生解锁报警信号;若产生,则先对所述非易失性存储器进行全片擦除,后当所述非易失性存储器重新上电后,更新所述软保护地址的数据以解除所述软保护;若未产生,则当所述非易失性存储器重新上电后,更新所述软保护地址的数据以解除所述软保护。
3.根据权利要求2所述的方法,其特征在于,对所述软保护进行解锁编程包括:
判断执行的编程指令是否为软保护解锁编程指令,若是,则对所述软保护进行解锁编程,并检查是否存在全片擦除完成信号,若存在,则不产生解锁报警信号,若不存在,则产生解锁报警信号。
4.根据权利要求3所述的方法,其特征在于,判断执行的编程指令是否为软保护解锁编程指令包括:
若编程地址为addr_soft且编程数据为key_soft,则编程指令为软保护解锁编程指令;若编程地址不为addr_soft和/或编程数据不为key_soft,则编程指令为普通编程指令。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括在连续编程中解除所述软保护:
通过所述非易失性存储器的接口执行编程指令,在数据缓存器中写入连续编程的编程数据;
根据所述编程数据的个数和位宽,在地址累加器中自动累加写入编程地址;
再根据所述编程数据和所述编程地址,判断所述编程指令是否为软保护解锁编程指令,若是,则解除所述软保护。
6.根据权利要求5所述的方法,其特征在于,根据所述编程数据的个数和位宽,在地址累加器中自动累加写入编程地址包括:
若所述编程数据为8bit位宽,则地址累加器中的编程地址累加1;
若所述编程数据为16bit位宽,则地址累加器中的编程地址累加2;
若所述编程数据为32bit位宽,则地址累加器中的编程地址累加4。
7.根据权利要求1所述的方法,其特征在于,通过所述非易失性存储器的接口,执行编程指令以解除所述硬保护包括:
通过所述非易失性存储器的接口,在所述非易失性存储器的boot区域中,对所述硬保护进行解锁编程;
当所述非易失性存储器重新上电后,更新所述硬保护地址的数据以解除所述硬保护。
8.根据权利要求7所述的方法,其特征在于,对所述硬保护进行解锁编程包括:
判断执行的编程指令是否为硬保护解锁编程指令,若是,则对所述硬保护进行解锁编程。
9.根据权利要求8所述的方法,其特征在于,判断执行的编程指令是否为硬保护解锁编程指令包括:
若编程地址为addr_hard且编程数据为key_hard,则编程指令为硬保护解锁编程指令;若编程地址不为addr_hard和/或编程数据不为key_hard,则编程指令为普通编程指令。
10.一种防止非易失性存储数据泄露的系统,其特征在于,所述系统包括配置模块和解锁模块;
所述配置模块,用于设置硬保护和软保护,用以保护非易失性存储器中存储的数据;所述硬保护运行时,外部的仿真器设备无法读取所述非易失性存储器中的数据,以及往所述非易失性存储器中写入数据;所述软保护运行时,仿真器设备无法读取所述非易失性存储器中的数据,但能够往所述非易失性存储器中写入数据;
所述解锁模块,用于通过所述非易失性存储器的接口,执行编程指令以解除所述硬保护或软保护。
CN202211395984.9A 2022-11-08 2022-11-08 一种防止非易失性存储数据泄露的方法和系统 Pending CN115906194A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211395984.9A CN115906194A (zh) 2022-11-08 2022-11-08 一种防止非易失性存储数据泄露的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211395984.9A CN115906194A (zh) 2022-11-08 2022-11-08 一种防止非易失性存储数据泄露的方法和系统

Publications (1)

Publication Number Publication Date
CN115906194A true CN115906194A (zh) 2023-04-04

Family

ID=86475785

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211395984.9A Pending CN115906194A (zh) 2022-11-08 2022-11-08 一种防止非易失性存储数据泄露的方法和系统

Country Status (1)

Country Link
CN (1) CN115906194A (zh)

Similar Documents

Publication Publication Date Title
JP3986950B2 (ja) Cpuおよびこれを備えた情報処理装置、cpuの制御方法
JP6306578B2 (ja) メモリ保護装置及び保護方法
JP3007638B2 (ja) メモリカートリッジ及びデータ処理システム
US9904631B2 (en) Microcomputer and method for controlling memory access
US7039779B2 (en) Access monitor and access monitoring method for monitoring access between programs
JP5030796B2 (ja) データ転送中にキャッシュへのアクセスを制限するシステムおよびその方法
US7213117B2 (en) 1-chip microcomputer having controlled access to a memory and IC card using the 1-chip microcomputer
JP4324810B2 (ja) マイクロコンピュータ、電子機器及びフラッシュメモリのプロテクト方式
US20070220276A1 (en) Managing access to content in a data processing apparatus
US6453397B1 (en) Single chip microcomputer internally including a flash memory
US7313682B2 (en) Method and system for updating boot memory that stores a fail-safe reset code and is configured to store boot code and boot updater code
US8234476B2 (en) Information processing apparatus and method of updating stack pointer
US20020129195A1 (en) Microcomputer with built-in programmable nonvolatile memory
KR20010039967A (ko) 주메모리로의 접근 속도를 증가시키기 위한 캐시 메모리제어 방법 및 그것을 이용한 컴퓨터
CN105453029A (zh) 处理用于数据存取的存取属性
KR20070040340A (ko) 소형 캐시 시스템에서 원자적 보존 라인에 라이트백하는것을 배제하는 방법 및 시스템
US20100293357A1 (en) Method and apparatus for providing platform independent secure domain
CN115906194A (zh) 一种防止非易失性存储数据泄露的方法和系统
CN114444141B (zh) 固态硬盘和固态硬盘数据保护方法、装置及设备
KR20240053590A (ko) 이벤트 발생에 기반한 메모리 구역들 보호
JP2002538532A (ja) Icカードのアプリケーションに対するアクセス保護装置
US6694468B1 (en) Method and apparatus to test memory
JP2003150458A (ja) 障害検出装置、障害検出方法、プログラム及びプログラム記録媒体
JP4423849B2 (ja) データ保護システム、データ保護プログラム及びデータ保護方法
JP6762411B2 (ja) 自動車用電子制御装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination