eccfg及nvram分區不需要寫保護。
[0036]在REC0VERY_B00T啟動模式下,secro分區需要寫保護,Preloader、LK、recovery、boot、seccfg、nvram及system分區不需要些保護。在FACTORY啟動模式下,Preloader、LK、recovery、boot、secro 及 system 分區需要寫保護,seccfg 及 nvram 分區不需要寫保護。
[0037]在ADVMETA 啟動模式下,Preloader、LK、recovery、boot、secro 及 system 分區需要寫保護,seccfg及nvram分區不需要寫保護。
[0038]在ATE_FACT0RY_B00T 啟動模式下,Preloader、LK、recovery、boot、secro 及system分區需要寫保護,seccfg及nvram分區不需要寫保護。
[0039]在ALARM 啟動模式下,Preloader、LK、recovery、boot、secro 及 system 分區需要寫保護,seccfg及nvram分區不需要寫保護。
[0040]在KERNEL_P0WER_0FF_CHARGING_B00T 啟動模式下,Preloader、LK、recovery、boot、secro及system分區需要寫保護,seccfg及nvram分區不需要寫保護。
[0041]在L0W_P0WER_0FF_CHARGING_B00T 啟動模式下,Preloader、LK、recovery、boot、secro及system分區需要寫保護,seccfg及nvram分區不需要寫保護。
[0042]在DOWNLOAD—BOOT 啟動模式下,Preloader、LK、boot、secro、system、recovery、seccfg及nvram分區均不需要寫保護。
[0043]在FAST—BOOT啟動模式下,secro分區及system分區需要些保護,Preloader、LK、recovery、boot、seccfg 及 nvram 分區不需要寫保護。
[0044]確定各分區的alignment_size之后,在EMMC選型時為了做到多款EMMC可以兼容使用,還需要EMMC是否滿足下面的公式:
write_protect_group_size 氺 n = alignment_size (η >= I)
也就是只要 write_protect_group_size 的整數倍等于 alignment_size,則該 EMMC 是兼容的。
[0045]需要將EMMC的硬件復位引腳設置為禁能狀態。在EMMC出錯時系統會通過EMMC上的hardware reset pin (硬件復位引腳)復位EMMC,但與此同時分區保護功能就會失效。因此,惡意程序可以在系統運行時通過hardware reset pin復位EMMC,導致EMMC Power OnWrite Protect1n 失效。所以設置 hardware reset pin 為 disable 狀態(禁能狀態)。
[0046]在智能終端進行fota升級時,通過設置EMMC的PIMC,使EMMC掉電。
[0047]當智能終端進行fota升級后,智能終端重啟進入Recovery模式。因為Recovery模式下需要升級的分區如Uboot,System等不可以寫保護,所以需要將EMMC掉電一次,這樣才可以讓原先加載有限保護的分區寫保護失效。所以在走fota流程時,通過設置pncdiEMMC掉電,這樣一來,原有寫保護失效,以便升級時寫入數據到分區;而在正常重啟智能終端的過程中,不會讓EMMC掉電,因此分區寫保護繼續有效。
[0048]本發明中,設置寫保護的時機為在LK階段,根據智能終端不同的啟動模式對智能終端保護不同的分區。在LK階段就進行寫保護,即在Linux Kernel階段之前就進行寫保護,可以有效地避免某些惡意程序利用Kernel某些漏洞避開寫保護,破壞分區。
[0049]基于上述方法,本發明還提供一種基于智能終端的分區保護系統較佳實施例,如圖4所示,其包括:
調整模塊100,用于選擇需保護的分區,對分區的排列順序、起始地址和大小進行調整;
保護模塊200,用于調整完畢后,在智能終端啟動時的LK階段對分區添加EMMC上電寫保護機制,以對分區進行寫保護。
[0050]進一步,所述調整模塊100具體包括:
對齊單元,用于對需保護的分區進行對齊操作;
分組單元,用于將需保護的分區進行分組,使每組大小為寫保護組的整數倍。
[0051]進一步,寫保護組write_protect_group_size 的大小為: write_protect_group_size=512KB*HC_ERASE_GRP_SIZE* HC_ffP_GRP_SIZE 其中 HC_ERASE_GRP_SIZE 和 HC_WP_GRP_SIZE 為 EMMC 器件固有參數。
[0052]進一步,EMMC上電寫保護機制有三種:永久保護、上電保護及臨時保護。
[0053]綜上所述,本發明根據EMMC 特性,米用 EMMC Power On Write Protect1n (EMMC上電寫保護)機制對重要分區進行EMMC上電寫保護。而EMMC Power On Write Protect1n機制屬于硬件級別的寫保護,可以從根本上防止用戶root行為和某些程序上的錯誤帶來的對分區的破壞。其難以被破解,安全性高。
[0054]應當理解的是,本發明的應用不限于上述的舉例,對本領域普通技術人員來說,可以根據上述說明加以改進或變換,所有這些改進和變換都應屬于本發明所附權利要求的保護范圍。
【主權項】
1.一種基于智能終端的分區保護方法,其特征在于,包括步驟: A、選擇需保護的分區,對分區的排列順序、起始地址和大小進行調整; B、調整完畢后,在智能終端啟動時的LK階段對分區添加EMMC上電寫保護機制,以對分區進行寫保護。2.根據權利要求1所述的基于智能終端的分區保護方法,其特征在于,所述步驟A包括: 對需保護的分區進行對齊操作; 將需保護的分區進行分組,使每組大小為寫保護組的整數倍。3.根據權利要求1所述的基于智能終端的分區保護方法,其特征在于,將EMMC的硬件復位引腳設置為禁能狀態,以避免在EMMC出錯時復位EMMC。4.根據權利要求1所述的基于智能終端的分區保護方法,其特征在于,在智能終端進行fota升級時,通過設置EMMC的PIMC,使EMMC掉電。5.根據權利要求2所述的基于智能終端的分區保護方法,其特征在于,寫保護組write_protect_group_size 的大小為:write_protect_group_size=512KB*HC_ERASE_GRP_SIZE* HC_ffP_GRP_SIZE其中 HC_ERASE_GRP_SIZE 和 HC_WP_GRP_SIZE 為 EMMC 器件固有參數。6.根據權利要求1所述的基于智能終端的分區保護方法,其特征在于,EMMC上電寫保護機制有三種:永久保護、上電保護及臨時保護。7.—種基于智能終端的分區保護系統,其特征在于,包括: 調整模塊,用于選擇需保護的分區,對分區的排列順序、起始地址和大小進行調整;保護模塊,用于調整完畢后,在智能終端啟動時的LK階段對分區添加EMMC上電寫保護機制,以對分區進行寫保護。8.根據權利要求7所述的基于智能終端的分區保護系統,其特征在于,所述調整模塊具體包括: 對齊單元,用于對需保護的分區進行對齊操作; 分組單元,用于將需保護的分區進行分組,使每組大小為寫保護組的整數倍。9.根據權利要求8所述的基于智能終端的分區保護系統,其特征在于,寫保護組write_protect_group_size 的大小為:write_protect_group_size=512KB*HC_ERASE_GRP_SIZE* HC_ffP_GRP_SIZE其中 HC_ERASE_GRP_SIZE 和 HC_WP_GRP_SIZE 為 EMMC 器件固有參數。10.根據權利要求7所述的基于智能終端的分區保護系統,其特征在于,EMMC上電寫保護機制有三種:永久保護、上電保護及臨時保護。
【專利摘要】本發明公開一種基于智能終端的分區保護方法及系統。本發明根據EMMC特性,采用EMMC?Power?On?Write?Protection(EMMC上電寫保護)機制對重要分區進行EMMC上電寫保護。而EMMC?Power?On?Write?Protection機制屬于硬件級別的寫保護,可以從根本上防止用戶root行為和某些程序上的錯誤帶來的對分區的破壞。其難以被破解,安全性高。
【IPC分類】G06F21/79, G06F21/81
【公開號】CN105069381
【申請號】CN201510467270
【發明人】邱傳波, 宋彬, 薛朝陽, 李永明, 楊廣明
【申請人】惠州Tcl移動通信有限公司
【公開日】2015年11月18日
【申請日】2015年8月3日