CN105069381B - 一种基于智能终端的分区保护方法及系统 - Google Patents

一种基于智能终端的分区保护方法及系统 Download PDF

Info

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
Application number
CN201510467270.8A
Other languages
English (en)
Other versions
CN105069381A (zh
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.)
Huizhou TCL Mobile Communication Co Ltd
Original Assignee
Huizhou TCL Mobile Communication Co Ltd
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 Huizhou TCL Mobile Communication Co Ltd filed Critical Huizhou TCL Mobile Communication Co Ltd
Priority to CN201510467270.8A priority Critical patent/CN105069381B/zh
Publication of CN105069381A publication Critical patent/CN105069381A/zh
Application granted granted Critical
Publication of CN105069381B publication Critical patent/CN105069381B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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/79Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/81Protecting 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器件固有参数。
CN201510467270.8A 2015-08-03 2015-08-03 一种基于智能终端的分区保护方法及系统 Active CN105069381B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104463006A (zh) * 2013-09-25 2015-03-25 联想(北京)有限公司 一种分区访问方法及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150161399A1 (en) * 2013-12-10 2015-06-11 Memory Technologies Llc Storage module with authenticated storage access

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104463006A (zh) * 2013-09-25 2015-03-25 联想(北京)有限公司 一种分区访问方法及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
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) 판독 전용 메모리의 부트 코드 패칭
CN102650947B (zh) 一种Android手持设备连续增量的空中升级方法
CN104850762B (zh) 防止计算机的动作不良的方法、计算机程序以及计算机
KR101675196B1 (ko) 정보 처리 장치, 그 제어 방법 및 저장 매체
US9703635B2 (en) Method, computer program, and computer for restoring set of variables
CN105069381B (zh) 一种基于智能终端的分区保护方法及系统
CN104461594B (zh) 嵌入式操作系统的升级方法及装置
CN102722394B (zh) 一种嵌入式设备的启动升级方法
US20180322013A1 (en) Method for recovering basic input/output system image file of a computer system and the computer system
CN105808270A (zh) 固件变量更新方法
CN105138382A (zh) 一种Android系统升级的方法及终端
US20140304497A1 (en) Electronic device having function of booting operating system by bootloader, method of performing the same function, and storage medium
CN102567135B (zh) 刷新/恢复方法和一种电子设备
US9021457B2 (en) Method and system for dynamically resizing enclosed storage device partitions
CN104011733A (zh) 在系统预引导期间具有改进的只读存储器锁定的安全数据保护
CN105718281A (zh) 一种触摸屏固件升级方法及装置
CN108319520A (zh) 基于安全存储的移动设备备用操作系统
CN108345464A (zh) 一种安卓系统的启动方法及安卓车机
CN107566169A (zh) 一种基于openwrt的固件升级方法及路由器
EP1766514A1 (en) Safe flashing
EP3314416B1 (en) Firmware block dispatch based on fuses
CN103488516A (zh) 一种系统修复方法及电子设备
CN103366814A (zh) 一种Flash数据安全保护电路和方法
CN104765631A (zh) 一种移动终端的应用程序恢复方法及装置

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