本申請(qǐng)涉及智能終端技術(shù)領(lǐng)域,特別涉及一種終端系統(tǒng)的安全保護(hù)方法及設(shè)備。
背景技術(shù):
在行業(yè)通信領(lǐng)域,手機(jī)系統(tǒng)安全是一個(gè)優(yōu)先級(jí)較高的需求?;贏ndroid系統(tǒng)開發(fā)的行業(yè)終端解決方案,在當(dāng)前階段系統(tǒng)的保護(hù)機(jī)制只有鎖屏密碼。但是鎖屏密碼無法保證系統(tǒng)的安全,用戶可以通過Adb等調(diào)試手段訪問系統(tǒng),或者通過組合鍵的方式進(jìn)入刷機(jī)模式,這導(dǎo)致終端系統(tǒng)被破壞,無法有效的保護(hù)終端的安全。
在行業(yè)終端,手機(jī)安全涉及用戶數(shù)據(jù)隱私保護(hù)、操作系統(tǒng)不被破壞等等各個(gè)方面,目前大多數(shù)行業(yè)終端都是基于Android系統(tǒng)來開發(fā)的,而Android系統(tǒng)本身是一個(gè)開放的系統(tǒng),未提供完善的保護(hù)機(jī)制,用戶可以很容易的將Android系統(tǒng)的root權(quán)限打開或者刷機(jī),進(jìn)行獲取用戶數(shù)據(jù)、破壞操作系統(tǒng)、刷機(jī)等操作。目前Android系統(tǒng)本身的保護(hù)機(jī)制并不完善,無法有效的解決上述問題。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)?zhí)峁┝艘环N終端系統(tǒng)的安全保護(hù)方法和設(shè)備,以保護(hù)終端系統(tǒng)的安全。
本申請(qǐng)?zhí)峁┑囊环N終端系統(tǒng)的安全保護(hù)方法,包括:
在終端系統(tǒng)的啟動(dòng)程序之前增加開機(jī)密碼應(yīng)用程序;
在終端系統(tǒng)的啟動(dòng)過程中,所述開機(jī)密碼應(yīng)用程序運(yùn)行,并在檢測(cè)到用戶輸入正確密碼后,繼續(xù)執(zhí)行啟動(dòng)程序。
較佳的,所述系統(tǒng)為Android系統(tǒng)。
較佳的,在終端系統(tǒng)的啟動(dòng)程序之前增加開機(jī)密碼應(yīng)用程序包括:
將所述開機(jī)密碼應(yīng)用程序配置為非default類型,配置start指令啟動(dòng)所述開機(jī)密碼應(yīng)用程序運(yùn)行,并配置在檢測(cè)到用戶輸入正確密碼之后設(shè)置的屬性觸發(fā)class_start default類型的服務(wù)的執(zhí)行。
較佳的,該方法還包括:
在終端系統(tǒng)的恢復(fù)啟動(dòng)過程中,所述開機(jī)密碼應(yīng)用程序運(yùn)行,并在檢測(cè)到用戶輸入正確密碼后,繼續(xù)執(zhí)行恢復(fù)啟動(dòng)程序。
較佳的,該方法還包括:將所述開機(jī)密碼應(yīng)用程序分別放在boot image中的/sbin目錄下,以及recovery image中的/sbin目錄下。
較佳的,該方法還包括:
將用戶配置的開機(jī)密碼密鑰經(jīng)過非可逆加密算法加密之后保存到獨(dú)立的分區(qū)中,與系統(tǒng)分區(qū)和用戶數(shù)據(jù)分區(qū)隔離。
本申請(qǐng)還提供了一種設(shè)備,包括:設(shè)置模塊和啟動(dòng)模塊,其中:
所述設(shè)置模塊,用于在終端系統(tǒng)的啟動(dòng)程序之前增加開機(jī)密碼應(yīng)用程序;
所述啟動(dòng)模塊,用于在終端系統(tǒng)的啟動(dòng)過程中,觸發(fā)所述開機(jī)密碼應(yīng)用程序運(yùn)行,并在檢測(cè)到用戶輸入正確密碼后,繼續(xù)執(zhí)行啟動(dòng)程序。
由上述技術(shù)方案可見,本申請(qǐng)?zhí)峁┑募夹g(shù)方案通過在終端系統(tǒng)的啟動(dòng)程序之前增加開機(jī)密碼應(yīng)用程序,并在終端系統(tǒng)的啟動(dòng)過程中,首先啟動(dòng)所述開機(jī)密碼應(yīng)用程序運(yùn)行,并在檢測(cè)到用戶輸入正確密碼后,繼續(xù)執(zhí)行啟動(dòng)程序,使得需要輸入正確的開機(jī)密碼才能進(jìn)入系統(tǒng),從而保護(hù)了終端系統(tǒng)的安全性。
附圖說明
圖1為本申請(qǐng)終端系統(tǒng)的安全保護(hù)方法的示意圖;
圖2為本申請(qǐng)一較佳設(shè)備的組成結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本申請(qǐng)的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本申請(qǐng)作進(jìn)一步詳細(xì)說明。
本發(fā)明主要通過在系統(tǒng)啟動(dòng)階段增加開機(jī)密碼機(jī)制來保護(hù)系統(tǒng)的安全,圖1為本申請(qǐng)終端系統(tǒng)的安全保護(hù)方法的示意圖,該方法具體包括:
在終端系統(tǒng)的啟動(dòng)程序之前增加開機(jī)密碼應(yīng)用程序;
在終端系統(tǒng)的啟動(dòng)過程中,所述開機(jī)密碼應(yīng)用程序運(yùn)行,并在檢測(cè)到用戶輸入正確密碼后,繼續(xù)執(zhí)行啟動(dòng)程序。
應(yīng)用本申請(qǐng)上述方法,在Android系統(tǒng)的啟動(dòng)過程中,在Android系統(tǒng)的各種服務(wù)(如adbd)以及Java運(yùn)行環(huán)境(如zygote)啟動(dòng)之前增加一個(gè)開機(jī)密碼的native應(yīng)用程序,該應(yīng)用程序在顯示屏顯示密碼輸入框,并要求用戶輸入正確的密碼之后才繼續(xù)啟動(dòng)Andorid系統(tǒng),以達(dá)到隔離Android系統(tǒng)的目的,從而保護(hù)了系統(tǒng)的安 全。
Android系統(tǒng)的啟動(dòng)過程是先由bootloader加載linux kernel并跳轉(zhuǎn)到kernel中執(zhí)行。init是kernel加載的第一個(gè)用戶進(jìn)程,Android系統(tǒng)提供了init.rc來配置應(yīng)用程序的啟動(dòng),每個(gè)應(yīng)用程序配置為一個(gè)服務(wù)(service),每個(gè)service有一個(gè)分類類型,并配置有啟動(dòng)順序,以及依賴關(guān)系,通常默認(rèn)的service為default的類型,在init配置的on boot啟動(dòng)階段執(zhí)行class_start default啟動(dòng)Android的各種服務(wù)。本發(fā)明中開機(jī)密碼應(yīng)用程序被配置為非default類型,且在執(zhí)行class_start default類型的服務(wù)之前使用start指令啟動(dòng)開機(jī)密碼應(yīng)用程序,而class_start default類型的服務(wù)的執(zhí)行則由用戶密碼驗(yàn)證正確之后設(shè)置的屬性(property)觸發(fā),即用戶輸入正確密碼之后繼續(xù)啟動(dòng)Android系統(tǒng)剩下的啟動(dòng)流程,否則Android系統(tǒng)不繼續(xù)啟動(dòng)。
進(jìn)一步的,開機(jī)密碼應(yīng)用程序還在恢復(fù)(recovery)啟動(dòng)過程中生效,如果進(jìn)入recovery,則開機(jī)密碼應(yīng)用程序同樣在顯示屏上顯示密碼輸入框,要求輸入正確的密碼之后才能進(jìn)入recovery,如果終端丟失,無法通過recovery來還原系統(tǒng)并達(dá)到破解的目的,從而保護(hù)系統(tǒng)的安全性。Android系統(tǒng)中,recovery是一個(gè)單獨(dú)的鏡像,里面包括了和boot image相同的kernel,以及不同的init.rc配置,本發(fā)明與正常啟動(dòng)一樣,在recovery的init.rc中進(jìn)行先啟動(dòng)開機(jī)密碼的配置,保證開機(jī)密碼應(yīng)用程序先執(zhí)行,由于recovery實(shí)際上可能并沒有掛載system分區(qū),為了使正常啟動(dòng)和recovery啟動(dòng)保持一致,開機(jī)密碼應(yīng)用程序被分別放在boot image中的/sbin目錄下,以及recovery image中的/sbin目錄下,這樣就可以達(dá)到無需掛載system分區(qū)執(zhí)行開機(jī)密碼應(yīng)用程序的目的,保證了recovery啟動(dòng)過程中能執(zhí)行開機(jī)密碼應(yīng)用程序。
本發(fā)明用戶配置的開機(jī)密碼密鑰經(jīng)過非可逆加密算法加密之后保存到獨(dú)立的分區(qū)中,與system分區(qū)和userdate分區(qū)隔離。為了操作此分區(qū),可以通過設(shè)計(jì)獨(dú)立的c/c++/java操作接口來對(duì)此分區(qū)進(jìn)行操作,保證刷機(jī)過程不會(huì)更新此分區(qū),終端刷機(jī)之后,之前設(shè)置的開機(jī)密碼應(yīng)用程序依然生效,也就是刷機(jī)也不能繞開開機(jī)密碼,從而達(dá)到統(tǒng)一的鑒權(quán)機(jī)制來保護(hù)系統(tǒng)安全。
較佳的,本發(fā)明開機(jī)密碼的用戶配置放置到“設(shè)置”中的“安全”中的“啟動(dòng)開機(jī)密碼”菜單項(xiàng)中,點(diǎn)擊啟動(dòng)開機(jī)密碼則進(jìn)入開機(jī)密碼配置界面,要求用戶輸入密碼,輸入之后提示用戶進(jìn)行確認(rèn)輸入,如果兩次輸入無誤,則開機(jī)密碼功能被使能,開機(jī)密碼的狀態(tài)被畫上選中提示符,如果需要修改開機(jī)密碼,則點(diǎn)擊“修改開機(jī)密碼”進(jìn)入修改開機(jī)密碼的界面,輸入正確的開機(jī)密碼之后即可進(jìn)行 修改密碼的操作。修改密碼和設(shè)置新密碼的操作類似,如果需要關(guān)閉開機(jī)密碼功能,則可以點(diǎn)擊開機(jī)密碼,界面要求輸入設(shè)置過的開機(jī)密碼,驗(yàn)證通過之后關(guān)閉返回。
采用本發(fā)明,行業(yè)網(wǎng)終端可以使用開機(jī)密碼的方式來保證系統(tǒng)安全。例如:
1、在設(shè)置中的安全菜單下,選擇使能開機(jī)密碼,并設(shè)置開機(jī)密碼,當(dāng)重新啟動(dòng)手機(jī)時(shí),顯示屏上將顯示密碼輸入提示,用戶可以通過擴(kuò)展鍵盤或觸屏直接輸入密碼,輸入正確的密碼之后,系統(tǒng)進(jìn)入開機(jī)動(dòng)畫繼續(xù)啟動(dòng),如果輸入錯(cuò)誤次數(shù)達(dá)到一定次數(shù)之后會(huì)鎖屏一段時(shí)間,保證無法進(jìn)行暴力破解。
2、在使能開機(jī)密碼之后,如果終端丟失,如果進(jìn)入recovery恢復(fù)系統(tǒng),則要求輸入開機(jī)密碼,否則無法進(jìn)入recovery,阻止嘗試通過重置系統(tǒng)來破解終端的目的。
對(duì)應(yīng)于上述方法,本申請(qǐng)還提供了一種設(shè)備,如圖2所示,包括:設(shè)置模塊和啟動(dòng)模塊,其中:
所述設(shè)置模塊,用于在終端系統(tǒng)的啟動(dòng)程序之前增加開機(jī)密碼應(yīng)用程序;
所述啟動(dòng)模塊,用于在終端系統(tǒng)的啟動(dòng)過程中,觸發(fā)所述開機(jī)密碼應(yīng)用程序運(yùn)行,并在檢測(cè)到用戶輸入正確密碼后,繼續(xù)執(zhí)行啟動(dòng)程序。
以上所述僅為本申請(qǐng)的較佳實(shí)施例而已,并不用以限制本申請(qǐng),凡在本申請(qǐng)的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)保護(hù)的范圍之內(nèi)。