CN103366814A - 一种Flash数据安全保护电路和方法 - Google Patents
一种Flash数据安全保护电路和方法 Download PDFInfo
- Publication number
- CN103366814A CN103366814A CN2012100942564A CN201210094256A CN103366814A CN 103366814 A CN103366814 A CN 103366814A CN 2012100942564 A CN2012100942564 A CN 2012100942564A CN 201210094256 A CN201210094256 A CN 201210094256A CN 103366814 A CN103366814 A CN 103366814A
- Authority
- CN
- China
- Prior art keywords
- flash
- pin
- write
- control circuit
- iob
- 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.)
- Granted
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种Flash数据安全保护电路和方法,该电路包括处理器控制电路、与处理器控制电路相连的CPLD控制电路和与CPLD控制电路相连的Flash写保护接口电路,其中CPLD控制电路进一步包括IOA管脚、IOB管脚和REG BIT寄存器,IOA管脚、IOB管脚和REG BIT寄存器的逻辑关系是IOA=(IOB+REG BIT),所述Flash写保护接口电路进一步包括写保护控制管脚,所述IOA管脚与所述Flash写保护接口电路连接,用于向所述Flash写保护接口电路的写保护控制管脚输出电平。本发明保障了Flash存储数据的安全性,应用程序也可以方便对Flash进行写锁定和解除写锁定操作。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种Flash数据安全保护电路和方法。
背景技术
目前在嵌入式系统应用中,Flash是必不可少的一种设备,例如在嵌入式Linux应用中,它是Boot Loader、Linux内核和文件系统的最佳载体。现在应用中主要存在两种主要的Flash类型,一种是NOR Flash,另外一种是NANDFlash。NOR Flash技术是Intel于1988年提出,用于替代当时在市场上占据主要地位的EPROM和EEPROM。紧接着Toshiba发表了NAND Flash结构,强调降低每比特的成本,有更高的性能,并且像磁盘一样可以通过接口轻松升级。
NOR Flash的特点是芯片内执行(XIP,eXecute In Place),这样应用程序可以直接在Flash闪存内运行,不必再把代码读到系统RAM中。NOR Flash的传输效率很高,在1-4MB的小容量时具有很高的成本效益,但是其很低的写入和擦除速度大大影响到它的性能。
NAND Flash的结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。
目前嵌入式Linux系统对NOR Flash和NAND Flash的软件支持都非常的成熟。
在嵌入式应用中,Flash是重要的数据存储载体,嵌入式操作系统、各种可执行的应用软件和关键数据都存储在Flash中。数据在存储过程中往往会按照某种存储序列要求,将Flash划分为不同的分区,用于存储不同类型的数据。Flash中某些关键分区在写入数据后,就不再需要进行改动,而这些分区存储的数据往往是应用系统的核心数据所在,例如在嵌入式Linux应用中,在Flash中划分了Boot Loader、Linux内核、根文件系统、用户文件系统等分区,而在应用过程中Boot Loader、Linux内核和根文件系统分区写入数据后都不涉及到改动。而在嵌入式系统应用中Flash关键分区数据的损害往往会导致系统运行异常,例如操作系统数据的破坏,将直接导致系统无法运行,对于系统应用来说这样的结果将是致命性的。
发明内容
本发明实施例提供一种Flash数据安全保护电路和方法,用以解决在系统启动、复位及运行过程中Flash数据被恶意修改和非法访问的问题。
本发明电路包括处理器控制电路、与处理器控制电路相连的CPLD控制电路、分别与CPLD控制电路和处理器控制电路相连的Flash写保护接口电路,其中CPLD控制电路进一步包括IOA管脚、IOB管脚和REG_BIT寄存器,IOA管脚、IOB管脚和REG BIT寄存器的逻辑关系是IOA=(IOB+REG BIT),所述Flash写保护接口电路进一步包括写保护控制管脚,所述IOA管脚与所述Flash写保护接口电路连接,用于向所述Flash写保护接口电路的写保护控制管脚输出电平。
优选地,还包括跳线帽,IOB管脚与跳线帽连接。
本发明的方法,在系统启动流程中包括以下步骤:
系统上电启动;
CPLD控制电路检测IOB管脚输入电平;
如果IOB管脚输入高电平,则IOA管脚输出高电平给Flash写保护接口电路的写保护控制管脚,解除对Flash芯片的写锁定,系统启动流程结束;
如果IOB管脚输入低电平,则CPLD控制电路检测REG BIT寄存器;
如果REG BIT寄存器的值为1,则IOA管脚输出高电平给Flash写保护接口电路的写保护控制管脚,解除对Flash芯片的写锁定,系统启动流程结束;
如果REG BIT寄存器的值为0,则IOA管脚输出低电平,对Flash芯片进行写锁定;
设置REG BIT寄存器的值为0,或者设置IOB管脚输入低电平,对Flash芯片进行写锁定。
优选地,在应用程序运行流程中还包括以下步骤:
运行应用程序;
应用程序访问CPLD控制电路,在CPLD控制电路的REG BIT寄存器写入值为1;
CPLD控制电路的IOA管脚输出高电平给Flash写保护接口电路的写保护控制管脚,解除对Flash芯片的写锁定;
应用程序访问Flash芯片内部的保护寄存器,写入对应的控制字命令,对Flash芯片内部指定的分区进行锁定。
优选地,Flash芯片内部指定的分区包括Boot Loader、Linux Kernel和/或根文件系统分区。
优选地,在系统复位流程中还包括以下步骤:
系统准备执行复位操作;
应用程序访问CPLD控制电路,在CPLD控制电路的REG BIT寄存器写入值为0;
CPLD控制电路的IOA管脚输出低电平给Flash写保护接口电路的写保护控制管脚,对Flash芯片进行写锁定;
应用程序执行复位操作。
优选地,还包括以下步骤:
如果与IOB管脚连接的跳线帽接上,则IOB管脚输入高电平;
设置与IOB管脚连接的跳线帽接上,解除对Flash芯片的写锁定,对Flash芯片进行烧写和/或升级数据操作。
本发明有益效果如下:
1、在系统运行状态未稳定时通过外部电路直接对Flash进行写入锁定,禁止在这一时刻对Flash的写入操作,避免在系统不稳定状态下对Flash的写入操作。
2、针对NOR Flash提出了一种对特定分区进行锁定的方案,用于在系统正常运行时通过控制Flash的保护寄存器,直接对Flash指定分区所包含的扇区sector进行锁定,保证了Flash关键数据扇区sector被锁定不允许被非法改写。
3、可以在需要进行Flash数据烧写和升级时,通过增加跳线帽的方式解除对Flash的写入锁定;同时也可以在运行阶段,根据需要通过控制外部电路解除对Flash的写入锁定,具有高度的灵活性和可操作性。
附图说明
图1为本发明具体实施方式一中的Flash数据安全保护电路框图;
图2为本发明具体实施方式二在系统启动流程中Flash数据安全保护流程图;
图3为本发明具体实施方式二在应用程序运行流程中Flash数据安全保护流程图;
图4为本发明具体实施方式二在系统复位流程中Flash数据安全保护流程图。
具体实施方式
图1为本发明具体实施方式一中的Flash数据安全保护电路框图。如图1所示,该电路包括处理器控制电路、与处理器控制电路相连的CPLD控制电路、分别与CPLD控制电路和处理器控制电路相连的Flash写保护接口电路。其中CPLD控制电路进一步包括IOA管脚、IOB管脚和REG BIT寄存器,Flash写保护接口电路进一步包括写保护控制管脚。
IOA管脚、IOB管脚和REG BIT寄存器的逻辑关系是IOA=(IOB+REG BIT),IOA管脚与Flash写保护接口电路连接,用于向Flash写保护接口电路的写保护控制管脚输出电平,IOB管脚与跳线帽连接。
当IOB所接电路的跳线帽接上时,IOB管脚输入高电平,IOA管脚会输出一个高电平,处于这种状态下的Flash芯片会解除锁定,此时可以对Flash芯片进行烧写、升级数据等操作,Flash芯片的写操作权限是完全开放的。在平时系统正常运行阶段,是不需要接跳线帽的,应用程序可以通过访问和控制CPLD控制电路的REG BIT寄存器状态,实时的调整Flash芯片的写保护状态,具有高度的灵活性和可操作性。
下面分为三个阶段来描述如何实现Flash数据安全保护的。
图2为本发明具体实施方式二在系统启动流程中Flash数据安全保护流程图。如图2所示,包括以下步骤:
步骤201、系统上电启动。
步骤202、CPLD控制电路检测IOB管脚输入是否为低电平,如果IOB管脚输入低电平,则转至步骤203;如果IOB管脚输入高电平,则转至步骤205。
步骤203、CPLD控制电路检测REG BIT寄存器的值是否为0,如果REG BIT寄存器的值为0,则转至步骤204;如果REG BIT寄存器的值为1,则转至步骤205。
步骤204、IOA管脚输出低电平,对Flash芯片进行写锁定,流程结束。
步骤205、IOA管脚输出高电平给Flash写保护接口电路的写保护控制管脚,解除对Flash芯片的写锁定,系统启动流程结束。
由于在系统启动流程中,默认设置REG BIT寄存器的值为0,并且设置IOB管脚输入低电平,同时没有接上跳线帽,则对Flash芯片进行了写锁定,保证了Flash在启动过程中禁止写入操作。
图3为本发明具体实施方式二在应用程序运行流程中Flash数据安全保护流程图。如图3所示,包括以下步骤:
步骤301、运行应用程序。
步骤302、应用程序访问CPLD控制电路,在CPLD控制电路的REG BIT寄存器写入值为1。
步骤303、CPLD控制电路的IOA管脚输出高电平给Flash写保护接口电路的写保护控制管脚,解除对Flash芯片的写锁定。
步骤304、应用程序访问Flash芯片内部的保护寄存器,写入对应的控制字命令,对Flash芯片内部指定的分区所包含的扇区sector进行锁定,使得Flash关键数据分区被锁定不允许被非法改写,例如Flash芯片内部指定的分区BootLoader、Linux Kernel和/或根文件系统分区。
在应用程序开始运行时,可以通过对CPLD控制电路的REG BIT寄存器写入数值1来解除对Flash芯片的写保护,具有高度的操作灵活性。同时应用程序还将访问Flash芯片内部的保护寄存器,通过写入特定的控制字,对Flash芯片内部指定的分区所包含的扇区sector进行锁定,使得Flash关键数据所在的特定分区被锁定不允许非法写入。在嵌入式系统应用中,有些特定分区例如Boot Loader、Linux Kernel、根文件系统分区,在系统运行过程中都可以不再需要进行写入,因此可以对这些分区所包含的扇区sector进行锁定,可以提高Flash分区数据的安全性。
图4为本发明具体实施方式二在系统复位流程中Flash数据安全保护流程图。如图4所示,包括以下步骤:
步骤401、系统准备执行复位操作。
步骤402、应用程序访问CPLD控制电路,在CPLD控制电路的REG BIT寄存器写入值为0。
步骤403、CPLD控制电路的IOA管脚输出低电平给Flash写保护接口电路的写保护控制管脚,对Flash芯片进行写锁定。
步骤404、应用程序执行复位操作。
采用上述技术方案,可以在启动和复位过程中通过外围硬件电路直接锁定Flash的写访问权限,避免启动和复位操作中对Flash的非法写操作。同时在系统启动完成进入稳定状态后,才通过控制外部硬件电路放开Flash芯片写访问权限,提高了Flash芯片访问的安全性。而且还将针对NOR Flash,在系统启动完成后对Flash指定分区所包含的扇区sector进行锁定,通过访问NOR Flash内部的保护寄存器,写入相应控制命令可以实现对Flash指定分区的保护,此时受保护的分区主要是用于存储那些写入数据以后就不再需要改变的分区。将保护分区直接在Flash芯片内部寄存器级别进行锁定,可以有效阻止在系统应用过程中各种非法指令、非法操作对Flash指定分区数据的破坏,提高了Flash数据存储的安全性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
1.一种Flash数据安全保护电路,其特征在于,包括处理器控制电路、与处理器控制电路相连的CPLD控制电路、分别与CPLD控制电路和处理器控制电路相连的Flash写保护接口电路,其中CPLD控制电路进一步包括IOA管脚、IOB管脚和REG BIT寄存器,IOA管脚、IOB管脚和REG BIT寄存器的逻辑关系是IOA=(IOB+REG BIT),所述Flash写保护接口电路进一步包括写保护控制管脚,所述IOA管脚与所述Flash写保护接口电路连接,用于向所述Flash写保护接口电路的写保护控制管脚输出电平。
2.如权利要求1所述的电路,其特征在于,还包括跳线帽,IOB管脚与跳线帽连接。
3.一种Flash数据安全保护方法,其特征在于,在系统启动流程中包括以下步骤:
系统上电启动;
CPLD控制电路检测IOB管脚输入电平;
如果IOB管脚输入高电平,则IOA管脚输出高电平给Flash写保护接口电路的写保护控制管脚,解除对Flash芯片的写锁定,系统启动流程结束;
如果IOB管脚输入低电平,则CPLD控制电路检测REG BIT寄存器;
如果REG BIT寄存器的值为1,则IOA管脚输出高电平给Flash写保护接口电路的写保护控制管脚,解除对Flash芯片的写锁定,系统启动流程结束;
如果REG BIT寄存器的值为0,则IOA管脚输出低电平,对Flash芯片进行写锁定;
设置REG BIT寄存器的值为0,或者设置IOB管脚输入低电平,对Flash芯片进行写锁定。
4.如权利要求3所述的方法,其特征在于,在应用程序运行流程中还包括以下步骤:
运行应用程序;
应用程序访问CPLD控制电路,在CPLD控制电路的REG BIT寄存器写入值为1;
CPLD控制电路的IOA管脚输出高电平给Flash写保护接口电路的写保护控制管脚,解除对Flash芯片的写锁定;
应用程序访问Flash芯片内部的保护寄存器,写入对应的控制字命令,对Flash芯片内部指定的分区进行锁定。
5.如权利要求4所述的方法,其特征在于,Flash芯片内部指定的分区包括Boot Loader、Linux Kernel和/或根文件系统分区。
6.如权利要求3或者4所述的方法,其特征在于,在系统复位流程中还包括以下步骤:
系统准备执行复位操作;
应用程序访问CPLD控制电路,在CPLD控制电路的REG BIT寄存器写入值为0;
CPLD控制电路的IOA管脚输出低电平给Flash写保护接口电路的写保护控制管脚,对Flash芯片进行写锁定;
应用程序执行复位操作。
7.如权利要求6所述的方法,其特征在于,还包括以下步骤:
如果与IOB管脚连接的跳线帽接上,则IOB管脚输入高电平;
设置与IOB管脚连接的跳线帽接上,解除对Flash芯片的写锁定,对Flash芯片进行烧写和/或升级数据操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210094256.4A CN103366814B (zh) | 2012-03-31 | 2012-03-31 | 一种Flash数据安全保护电路和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210094256.4A CN103366814B (zh) | 2012-03-31 | 2012-03-31 | 一种Flash数据安全保护电路和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103366814A true CN103366814A (zh) | 2013-10-23 |
CN103366814B CN103366814B (zh) | 2016-09-28 |
Family
ID=49367980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210094256.4A Active CN103366814B (zh) | 2012-03-31 | 2012-03-31 | 一种Flash数据安全保护电路和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103366814B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331674A (zh) * | 2014-11-20 | 2015-02-04 | 惠州Tcl移动通信有限公司 | 一种防止nfc芯片寄存器被篡改的方法及系统 |
CN104484290A (zh) * | 2014-12-19 | 2015-04-01 | 上海斐讯数据通信技术有限公司 | Flash的操作方法及Flash的操作装置 |
CN104820624A (zh) * | 2015-05-21 | 2015-08-05 | 南车株洲电力机车研究所有限公司 | 一种NOR Flash保护电路 |
WO2016000166A1 (zh) * | 2014-06-30 | 2016-01-07 | 华为技术有限公司 | 一种数据处理方法及智能终端 |
CN106293524A (zh) * | 2016-08-02 | 2017-01-04 | 浙江昱能科技有限公司 | 一种数据存储的方法 |
CN106463157A (zh) * | 2016-06-15 | 2017-02-22 | 深圳市锐明技术股份有限公司 | 一种存储器的电磁干扰保护电路及车载电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1291750A (zh) * | 1999-11-14 | 2001-04-18 | 邓国顺 | 用于数据处理系统的快闪电子式外存储方法及其装置 |
CN1490817A (zh) * | 2002-10-14 | 2004-04-21 | 华为技术有限公司 | 一种引导程序存储装置及其保障在线升级的方法 |
US20050259484A1 (en) * | 2004-05-19 | 2005-11-24 | Newell Russell D | Systems and methods for write protection of non-volatile memory devices |
CN2783655Y (zh) * | 2005-01-18 | 2006-05-24 | 深圳市彪骐数码科技有限公司 | 具有写保护功能的数字视频接收机顶盒存储器电路 |
CN101178661A (zh) * | 2007-12-14 | 2008-05-14 | 华为技术有限公司 | Flash集成bootrom的实现方法和装置 |
-
2012
- 2012-03-31 CN CN201210094256.4A patent/CN103366814B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1291750A (zh) * | 1999-11-14 | 2001-04-18 | 邓国顺 | 用于数据处理系统的快闪电子式外存储方法及其装置 |
CN1490817A (zh) * | 2002-10-14 | 2004-04-21 | 华为技术有限公司 | 一种引导程序存储装置及其保障在线升级的方法 |
US20050259484A1 (en) * | 2004-05-19 | 2005-11-24 | Newell Russell D | Systems and methods for write protection of non-volatile memory devices |
US20060209595A1 (en) * | 2004-05-19 | 2006-09-21 | L-3 Integrated Systems Company | Systems and methods for write protection of non-volatile memory devices |
CN2783655Y (zh) * | 2005-01-18 | 2006-05-24 | 深圳市彪骐数码科技有限公司 | 具有写保护功能的数字视频接收机顶盒存储器电路 |
CN101178661A (zh) * | 2007-12-14 | 2008-05-14 | 华为技术有限公司 | Flash集成bootrom的实现方法和装置 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016000166A1 (zh) * | 2014-06-30 | 2016-01-07 | 华为技术有限公司 | 一种数据处理方法及智能终端 |
CN105637521A (zh) * | 2014-06-30 | 2016-06-01 | 华为技术有限公司 | 一种数据处理方法及智能终端 |
US10235048B2 (en) | 2014-06-30 | 2019-03-19 | Huawei Technologies Co., Ltd. | Data processing method and smart device |
CN105637521B (zh) * | 2014-06-30 | 2020-02-14 | 华为技术有限公司 | 一种数据处理方法及智能终端 |
CN104331674A (zh) * | 2014-11-20 | 2015-02-04 | 惠州Tcl移动通信有限公司 | 一种防止nfc芯片寄存器被篡改的方法及系统 |
CN104331674B (zh) * | 2014-11-20 | 2018-06-19 | 惠州Tcl移动通信有限公司 | 一种防止nfc芯片寄存器被篡改的方法及系统 |
CN104484290A (zh) * | 2014-12-19 | 2015-04-01 | 上海斐讯数据通信技术有限公司 | Flash的操作方法及Flash的操作装置 |
CN104820624A (zh) * | 2015-05-21 | 2015-08-05 | 南车株洲电力机车研究所有限公司 | 一种NOR Flash保护电路 |
CN104820624B (zh) * | 2015-05-21 | 2018-08-10 | 南车株洲电力机车研究所有限公司 | 一种NOR Flash保护电路 |
CN106463157A (zh) * | 2016-06-15 | 2017-02-22 | 深圳市锐明技术股份有限公司 | 一种存储器的电磁干扰保护电路及车载电子设备 |
CN106293524A (zh) * | 2016-08-02 | 2017-01-04 | 浙江昱能科技有限公司 | 一种数据存储的方法 |
CN106293524B (zh) * | 2016-08-02 | 2019-05-24 | 浙江昱能科技有限公司 | 一种数据存储的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103366814B (zh) | 2016-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2263187B1 (en) | Peripheral device locking mechanism | |
US10387064B2 (en) | Storage device, host communicating with the storage device, and electronic device including the storage device | |
US7165137B2 (en) | System and method for booting from a non-volatile application and file storage device | |
KR102095614B1 (ko) | 메모리 보호 | |
US9015437B2 (en) | Extensible hardware device configuration using memory | |
CN103366814A (zh) | 一种Flash数据安全保护电路和方法 | |
US6587916B2 (en) | Microcomputer with built-in programmable nonvolatile memory | |
TW201015323A (en) | Secure information processing | |
CN104011733A (zh) | 在系统预引导期间具有改进的只读存储器锁定的安全数据保护 | |
WO2016106911A1 (zh) | 一种mcu芯片的信息保护方法和装置 | |
WO2020063975A1 (zh) | 一种非易失性存储器的分区保护方法及装置 | |
CN101639877B (zh) | 电子装置及其更新基本输入输出系统方法 | |
US20100115004A1 (en) | Backup system that stores boot data file of embedded system in different strorage sections and method thereof | |
TWI522839B (zh) | 多傳輸介面儲存裝置、多重資料保護等級及其相關方法 | |
CN103714018A (zh) | 芯片存储电路的安全访问控制方法 | |
TWI804703B (zh) | 電腦裝置及基於信任鏈的權限管理方法 | |
CN108229196B (zh) | 一种具有存储单元物理保护机制的soc芯片及方法 | |
CN110647764B (zh) | 针对用户态非易失性内存文件系统的保护方法及系统 | |
US20190042732A1 (en) | Technologies for usb controller state integrity protection | |
US20130151832A1 (en) | Flash memory storage system and data protection method thereof | |
CN102637152B (zh) | 具有处理单元和信息存储装置的设备 | |
CN101340426B (zh) | 一种整合数据传输接口的系统和方法 | |
CN112417528A (zh) | 用来管理支持数据存储的安全程序库的方法与电子装置 | |
GB2601872A (en) | Integrated circuit with asymmetric access privileges | |
WO2022157467A1 (en) | Integrated circuit with asymmetric access privileges |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190228 Address after: 430000 Three Floors of Building 4, Guannan Industrial Park, 42 Guanggu Road, Donghu New Technology Development Zone, Wuhan, Hubei Province Patentee after: The permanent safe technology Co., Ltd of leading in Wuhan Address before: 510663 No. 10 Shenzhou Road, Guangzhou Science City, Guangdong Province Patentee before: Comba Telecom System (China) Co., Ltd. |