CN105069381B - 一种基于智能终端的分区保护方法及*** - Google Patents
一种基于智能终端的分区保护方法及*** Download PDFInfo
- Publication number
- CN105069381B CN105069381B CN201510467270.8A CN201510467270A CN105069381B CN 105069381 B CN105069381 B CN 105069381B CN 201510467270 A CN201510467270 A CN 201510467270A CN 105069381 B CN105069381 B CN 105069381B
- Authority
- CN
- China
- Prior art keywords
- size
- write
- protect
- subregion
- group
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/81—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer by operating on the power supply, e.g. enabling or disabling power-on, sleep or resume operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种基于智能终端的分区保护方法及***。本发明根据EMMC特性,采用EMMC Power On Write Protection(EMMC上电写保护)机制对重要分区进行EMMC上电写保护。而EMMC Power On Write Protection机制属于硬件级别的写保护,可以从根本上防止用户root行为和某些程序上的错误带来的对分区的破坏。其难以被破解,安全性高。
Description
技术领域
本发明涉及智能终端领域,尤其涉及一种基于智能终端的分区保护方法及***。
背景技术
目前智能终端例如手机的EMMC(内嵌式存储器)一般会按照功能使用的不同划分成若干个分区。其中某些分区十分重要,比如uboot分区,kernel分区,system分区。这些分区一旦被破坏,往往是会出现无法正常开机或手机使用过程中***崩溃。现实中会有部分用户root手机(刷机),root成功后常常有意无意地破坏了手机上这些重要分区中的数据,导致手机无法正常使用,退回厂家售后网点维修,所以分区保护十分重要。
目前一般的写保护方案只是通过软件方式进行分区写保护,即简单地通过把分区加载为ReadOnly(只读)分区。但该方法很容易被破解,并不能做到真正意义上的写保护。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种基于智能终端的分区保护方法及***,旨在解决现有的智能终端写保护方案容易被破解、安全性不高的问题。
本发明的技术方案如下:
一种基于智能终端的分区保护方法,其中,包括步骤:
A、选择需保护的分区,对分区的排列顺序、起始地址和大小进行调整;
B、调整完毕后,在智能终端启动时的LK阶段对分区添加EMMC上电写保护机制,以对分区进行写保护。
所述的基于智能终端的分区保护方法,其中,所述步骤A包括:
对需保护的分区进行对齐操作;
将需保护的分区进行分组,使每组大小为写保护组的整数倍。
所述的基于智能终端的分区保护方法,其中,将EMMC的硬件复位引脚设置为禁能状态,以避免在EMMC出错时复位EMMC。
所述的基于智能终端的分区保护方法,其中,在智能终端进行fota升级时,通过设置EMMC的PIMC,使EMMC掉电。
所述的基于智能终端的分区保护方法,其中,写保护组write_protect_group_size的大小为:
write_protect_group_size=512KB*HC_ERASE_GRP_SIZE* HC_WP_GRP_SIZE
其中HC_ERASE_GRP_SIZE 和 HC_WP_GRP_SIZE为EMMC器件固有参数。
所述的基于智能终端的分区保护方法,其中,EMMC上电写保护机制有三种:永久保护、上电保护及临时保护。
一种基于智能终端的分区保护***,其中,包括:
调整模块,用于选择需保护的分区,对分区的排列顺序、起始地址和大小进行调整;
保护模块,用于调整完毕后,在智能终端启动时的LK阶段对分区添加EMMC上电写保护机制,以对分区进行写保护。
所述的基于智能终端的分区保护***,其中,所述调整模块具体包括:
对齐单元,用于对需保护的分区进行对齐操作;
分组单元,用于将需保护的分区进行分组,使每组大小为写保护组的整数倍。
所述的基于智能终端的分区保护***,其中,写保护组write_protect_group_size的大小为:
write_protect_group_size=512KB*HC_ERASE_GRP_SIZE* HC_WP_GRP_SIZE
其中HC_ERASE_GRP_SIZE 和 HC_WP_GRP_SIZE为EMMC器件固有参数。
所述的基于智能终端的分区保护***,其中,EMMC上电写保护机制有三种:永久保护、上电保护及临时保护。
有益效果:本发明根据EMMC特性,采用EMMC Power On Write Protection(EMMC上电写保护)机制对重要分区进行EMMC上电写保护。而EMMC Power On Write Protection机制属于硬件级别的写保护,可以从根本上防止用户root行为和某些程序上的错误带来的对分区的破坏。其难以被破解,安全性高。
附图说明
图1为本发明一种基于智能终端的分区保护方法较佳实施例的流程图。
图2为采用本发明的方法对system分区进行写保护时的结构框图。
图3为采用本发明的方法对分区进行分组的结构示意图。
图4为本发明一种基于智能终端的分区保护***较佳实施例的结构框图。
具体实施方式
本发明提供一种基于智能终端的分区保护方法及***,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,图1为本发明一种基于智能终端的分区保护方法较佳实施例的流程图,如图所示,其包括步骤:
S101、选择需保护的分区,对分区的排列顺序、起始地址和大小进行调整;
S102、调整完毕后,在智能终端启动时的LK阶段对分区添加EMMC上电写保护机制,以对分区进行写保护。
本发明中,采用EMMC上电写保护机制对分区进行写保护,在智能终端启动后,使EMMC上的某块或多块区域处于写保护状态,保证智能终端重要数据的完整性,防止数据被删除改写。例如图2中的system分区,添加EMMC上电写保护机制进行写保护后,则Host(主机)可以对该分区进行读操作,但写操作是无效的。
EMMC存在Write Protect Group(写保护组)的概念,即可以将EMMC的存储区域作为一个个的Write Protect Group(写保护组)组成。对于每个Write Protect Group,提供三种写保护机制,每种机制对于上电/复位又有不同的反应。三种写保护机制包括:永久保护(Permanent)、上电保护(Power-on)及临时保护(Temporary)。
对于永久保护,写保护一旦设置会一直生效,无法撤销,并且在复位后写保护仍然有效,也无法撤销;对于上电保护,其在设置后生效,无法撤销,但在复位后失效;对于临时保护,在设置后生效,可以随时撤销或再次设置生效,复位不影响临时写保护的状态。
每个写保护组Write Protect Group的大小write_protect_group_size可由如下公式得出:
write_protect_group_size=512KB*HC_ERASE_GRP_SIZE* HC_WP_GRP_SIZE
其中HC_ERASE_GRP_SIZE 和 HC_WP_GRP_SIZE为EMMC器件固有参数,可以通过查询EMMC spec得到。
所述步骤S101中,先选择需保护的分区,例如选择Preloader、MBR、EBR1、UBOOT、EBR2等分区。然后进行布局调整操作,具体包括如下步骤:
S201、对需保护的分区进行对齐操作;
首先需要确定分区的alignment_size,并让需要写保护的分区的起始地址和大小等于alignment_size的整数倍,此即为对齐。 alignment_size一般选择为主流使用的EMMC的write_protect_group_size的整数倍。
S202、将需保护的分区进行分组,使每组大小为写保护组的整数倍。
为避免由于分区对齐带来空间浪费,可以将多个分区组合成一组占用一个或多个Write Protection Group。如图3所示,将各个分区进行分组,组合成一个组,按组的形式进行同时保护。
其中,Preloader分区虽然需要写保护,但属于EMMC的Boot1区域,不需要设置大小为对齐。
其他的如MBR, EBR1, UBOOT, EBR2, LOGO分区组成一个组,避免每个分区设成Alignment_size大小带来空间浪费。该组起始地址为0,大小为8M,即符合“让分区的起始地址和分区的大小等于Alignment_size的整数倍”的原则。
另外,智能终端的启动模式有多种,不同模式下对各个分区的写操作需求是不一致的。所以先确定在各种模式下哪些分区应该并且可以写保护,哪些分区不可以写保护。
例如在NORMAL_BOOT启动模式下,Preloader、LK、boot、secro及system分区需要写保护,recovery、seccfg及nvram分区不需要写保护。
在META_BOOT启动模式下,Preloader、LK、recovery、boot、secro及system分区需要写保护,seccfg及nvram分区不需要写保护。
在SW_REBOOT启动模式下, Preloader、LK、recovery、boot、secro及system分区需要写保护,seccfg及nvram分区不需要写保护。
在RECOVERY_BOOT启动模式下,secro分区需要写保护, Preloader、LK、recovery、boot、seccfg、nvram及system分区不需要些保护。在FACTORY启动模式下,Preloader、LK、recovery、boot、secro及system分区需要写保护,seccfg及nvram分区不需要写保护。
在ADVMETA启动模式下,Preloader、LK、recovery、boot、secro及system分区需要写保护,seccfg及nvram分区不需要写保护。
在ATE_FACTORY_BOOT启动模式下,Preloader、LK、recovery、boot、secro及system分区需要写保护,seccfg及nvram分区不需要写保护。
在ALARM启动模式下,Preloader、LK、recovery、boot、secro及system分区需要写保护,seccfg及nvram分区不需要写保护。
在KERNEL_POWER_OFF_CHARGING_BOOT启动模式下,Preloader、LK、recovery、boot、secro及system分区需要写保护,seccfg及nvram分区不需要写保护。
在LOW_POWER_OFF_CHARGING_BOOT启动模式下,Preloader、LK、recovery、boot、secro及system分区需要写保护,seccfg及nvram分区不需要写保护。
在DOWNLOAD__BOOT启动模式下,Preloader、LK、boot、secro、system、recovery、seccfg及nvram分区均不需要写保护。
在FAST__BOOT启动模式下, secro分区及system分区需要些保护, Preloader、LK、recovery、boot、seccfg及nvram分区不需要写保护。
确定各分区的alignment_size之后,在EMMC选型时为了做到多款EMMC可以兼容使用,还需要EMMC是否满足下面的公式:
write_protect_group_size * n = alignment_size (n >= 1)
也就是只要write_protect_group_size的整数倍等于alignment_size,则该EMMC是兼容的。
需要将EMMC的硬件复位引脚设置为禁能状态。在EMMC出错时***会通过EMMC上的hardware reset pin(硬件复位引脚)复位EMMC,但与此同时分区保护功能就会失效。因此,恶意程序可以在***运行时通过hardware reset pin复位EMMC,导致EMMC Power OnWrite Protection失效。所以设置hardware reset pin为disable状态(禁能状态)。
在智能终端进行fota升级时,通过设置EMMC的PIMC,使EMMC掉电。
当智能终端进行fota升级后,智能终端重启进入Recovery模式。因为Recovery模式下需要升级的分区如Uboot,System等不可以写保护,所以需要将EMMC掉电一次,这样才可以让原先加载有限保护的分区写保护失效。所以在走fota流程时,通过设置PIMC,使EMMC掉电,这样一来,原有写保护失效,以便升级时写入数据到分区;而在正常重启智能终端的过程中,不会让EMMC掉电,因此分区写保护继续有效。
本发明中,设置写保护的时机为在LK阶段,根据智能终端不同的启动模式对智能终端保护不同的分区。在LK阶段就进行写保护,即在Linux Kernel阶段之前就进行写保护,可以有效地避免某些恶意程序利用Kernel某些漏洞避开写保护,破坏分区。
基于上述方法,本发明还提供一种基于智能终端的分区保护***较佳实施例,如图4所示,其包括:
调整模块100,用于选择需保护的分区,对分区的排列顺序、起始地址和大小进行调整;
保护模块200,用于调整完毕后,在智能终端启动时的LK阶段对分区添加EMMC上电写保护机制,以对分区进行写保护。
进一步,所述调整模块100具体包括:
对齐单元,用于对需保护的分区进行对齐操作;
分组单元,用于将需保护的分区进行分组,使每组大小为写保护组的整数倍。
进一步,写保护组write_protect_group_size的大小为:
write_protect_group_size=512KB*HC_ERASE_GRP_SIZE* HC_WP_GRP_SIZE
其中HC_ERASE_GRP_SIZE 和 HC_WP_GRP_SIZE为EMMC器件固有参数。
进一步,EMMC上电写保护机制有三种:永久保护、上电保护及临时保护。
综上所述,本发明根据EMMC特性,采用EMMC Power On Write Protection(EMMC上电写保护)机制对重要分区进行EMMC上电写保护。而EMMC Power On Write Protection机制属于硬件级别的写保护,可以从根本上防止用户root行为和某些程序上的错误带来的对分区的破坏。其难以被破解,安全性高。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (6)
1.一种基于智能终端的分区保护方法,其特征在于,包括步骤:
A、选择需保护的分区,对分区的排列顺序、起始地址和大小进行调整;
B、调整完毕后,在智能终端启动时的LK阶段对分区添加EMMC上电写保护机制,以对分区进行写保护;
所述步骤A包括:
对需保护的分区进行对齐操作;先确定分区的alignment_size,并让需要写保护的分区的起始地址和大小等于alignment_size的整数倍,此即为对齐;alignment_size为EMMC的write_protect_group_size的整数倍;
将需保护的分区进行分组,使每组大小为写保护组的整数倍;将多个分区组合成一组占用一个或多个Write Protection Group,按组的形式进行同时保护。
2.根据权利要求1所述的基于智能终端的分区保护方法,其特征在于,将EMMC的硬件复位引脚设置为禁能状态,以避免在EMMC出错时复位EMMC。
3.根据权利要求1所述的基于智能终端的分区保护方法,其特征在于,在智能终端进行fota升级时,通过设置EMMC的PIMC,使EMMC掉电。
4.根据权利要求1所述的基于智能终端的分区保护方法,其特征在于,写保护组的大小write_protect_group_size为:
write_protect_group_size=512KB*HC_ERASE_GRP_SIZE* HC_WP_GRP_SIZE
其中HC_ERASE_GRP_SIZE 和 HC_WP_GRP_SIZE为EMMC器件固有参数。
5.一种基于智能终端的分区保护***,其特征在于,包括:
调整模块,用于选择需保护的分区,对分区的排列顺序、起始地址和大小进行调整;
保护模块,用于调整完毕后,在智能终端启动时的LK阶段对分区添加EMMC上电写保护机制,以对分区进行写保护;
所述调整模块具体包括:
对齐单元,用于对需保护的分区进行对齐操作;先确定分区的alignment_size,并让需要写保护的分区的起始地址和大小等于alignment_size的整数倍,此即为对齐;alignment_size为EMMC的write_protect_group_size的整数倍;
分组单元,用于将需保护的分区进行分组,使每组大小为写保护组的整数倍;将多个分区组合成一组占用一个或多个Write Protection Group,按组的形式进行同时保护。
6.根据权利要求5所述的基于智能终端的分区保护***,其特征在于,写保护组的大小write_protect_group_size为:
write_protect_group_size=512KB*HC_ERASE_GRP_SIZE* HC_WP_GRP_SIZE
其中HC_ERASE_GRP_SIZE 和 HC_WP_GRP_SIZE为EMMC器件固有参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510467270.8A CN105069381B (zh) | 2015-08-03 | 2015-08-03 | 一种基于智能终端的分区保护方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510467270.8A CN105069381B (zh) | 2015-08-03 | 2015-08-03 | 一种基于智能终端的分区保护方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105069381A CN105069381A (zh) | 2015-11-18 |
CN105069381B true CN105069381B (zh) | 2019-01-29 |
Family
ID=54498744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510467270.8A Active CN105069381B (zh) | 2015-08-03 | 2015-08-03 | 一种基于智能终端的分区保护方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105069381B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105788639B (zh) * | 2016-03-18 | 2019-08-06 | 西安电子科技大学 | 基于eMMC的雷达数据记录仪断电续存装置及续存方法 |
CN108733586A (zh) * | 2017-04-19 | 2018-11-02 | 北京兆易创新科技股份有限公司 | 一种保护方法和装置 |
CN107832637A (zh) * | 2017-11-20 | 2018-03-23 | 丹东瑞银科技有限公司 | Emmc及emmc的分区写保护方法 |
CN114237506B (zh) * | 2021-12-14 | 2023-05-02 | 四川长虹电器股份有限公司 | 一种emmc数据存储和读写的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104463006A (zh) * | 2013-09-25 | 2015-03-25 | 联想(北京)有限公司 | 一种分区访问方法及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017505939A (ja) * | 2013-12-10 | 2017-02-23 | メモリー テクノロジーズ リミティド ライアビリティ カンパニー | 認証ストレージアクセスを有するストレージモジュール |
-
2015
- 2015-08-03 CN CN201510467270.8A patent/CN105069381B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104463006A (zh) * | 2013-09-25 | 2015-03-25 | 联想(北京)有限公司 | 一种分区访问方法及电子设备 |
Non-Patent Citations (1)
Title |
---|
基于高通平台的Android***分区管理;蔡洁;《硅谷》;20141008(第163期);第2-3节 |
Also Published As
Publication number | Publication date |
---|---|
CN105069381A (zh) | 2015-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103455354B (zh) | 一种防止固件升级失败的方法和设备 | |
KR102026393B1 (ko) | 판독 전용 메모리의 부트 코드 패칭 | |
CN103119554B (zh) | 提供平台无关的存储器逻辑 | |
CN102650947B (zh) | 一种Android手持设备连续增量的空中升级方法 | |
CN104850762B (zh) | 防止计算机的动作不良的方法、计算机程序以及计算机 | |
KR101675196B1 (ko) | 정보 처리 장치, 그 제어 방법 및 저장 매체 | |
US10860425B2 (en) | Method for recovering basic input/output system image file of a computer system and the computer system | |
CN105069381B (zh) | 一种基于智能终端的分区保护方法及*** | |
CN102360298B (zh) | 一种终端设备的软件升级方法 | |
CN102722394B (zh) | 一种嵌入式设备的启动升级方法 | |
US20150378846A1 (en) | Method, computer program, and computer for restoring set of variables | |
CN105808270A (zh) | 固件变量更新方法 | |
CN105138382A (zh) | 一种Android***升级的方法及终端 | |
CN103513993A (zh) | 固件更新***及方法 | |
US20140304497A1 (en) | Electronic device having function of booting operating system by bootloader, method of performing the same function, and storage medium | |
US9021457B2 (en) | Method and system for dynamically resizing enclosed storage device partitions | |
CN102567135B (zh) | 刷新/恢复方法和一种电子设备 | |
CN103729220A (zh) | 一种利用ec rom恢复bios rom的方法及装置 | |
CN105718281A (zh) | 一种触摸屏固件升级方法及装置 | |
CN108319520A (zh) | 基于安全存储的移动设备备用操作*** | |
CN108345464A (zh) | 一种安卓***的启动方法及安卓车机 | |
WO2006003564A1 (en) | Safe flashing | |
EP3314416B1 (en) | Firmware block dispatch based on fuses | |
CN103488516A (zh) | 一种***修复方法及电子设备 | |
CN103366814A (zh) | 一种Flash数据安全保护电路和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |