本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種終端解除鎖網(wǎng)的方法、開機(jī)的方法及裝置。
背景技術(shù):
鎖網(wǎng)鎖卡方案是基于3gppts22.022personalisationofmobileequipment(me)協(xié)議。該協(xié)議簡(jiǎn)要描述如下:
3gppts22.022一共規(guī)定了5種級(jí)別的鎖網(wǎng)鎖卡定義:
第一級(jí):network,鎖網(wǎng),移動(dòng)國(guó)家號(hào)(mcc)+移動(dòng)網(wǎng)絡(luò)號(hào)碼(mnc);
第二級(jí):networksubset,鎖子網(wǎng),國(guó)際移動(dòng)用戶識(shí)別碼(imsi)的digit6和7位+mcc+mnc;
第三級(jí):服務(wù)提供商(serviceprovider,sp),鎖sp,sim/usim卡上的分組識(shí)別文件1(gid1)+mcc+mnc;
第四級(jí):企業(yè)corporate,鎖corporate,sim/usim卡上的分組識(shí)別文件2(gid2)+sp(sim/usim卡上的gid1)+mcc+mnc;
第五級(jí):sim/usim,鎖卡的全部imsi(imsi的digit8-15位+imsi的digit6和7位+mcc+mnc)。
支持哪一級(jí)鎖網(wǎng)目前都是由運(yùn)營(yíng)商指定,一般都是支持前三級(jí)中的一種,對(duì)應(yīng)的鎖網(wǎng)參數(shù)由運(yùn)營(yíng)商提供。
目前的鎖網(wǎng)方案常見的有兩種,一種是硬編碼(hardcode)的不可解鎖的方案,一種是基于通信處理器(modem)側(cè),即cp側(cè)的可解鎖的方案。hardcode不可解鎖雖然破解難度高,但是目前北美等市場(chǎng)已經(jīng)立法要求運(yùn)營(yíng)商必須為用戶提供在一定條件下的解鎖,后續(xù)其它區(qū)域市場(chǎng)也有跟進(jìn)趨勢(shì),所以這種方案不再贅述。目前應(yīng)用最為廣泛的是基于modem側(cè)的可解鎖方案。手機(jī)進(jìn)行鎖網(wǎng)時(shí),在cp側(cè)隨機(jī)生成一串?dāng)?shù)字,經(jīng)過(guò)通用的安全算法如散列算法(md5) 計(jì)算后表示的鎖網(wǎng)解鎖碼(nck)/鎖子網(wǎng)解鎖碼(nsck)/鎖卡解鎖碼(spck),這是強(qiáng)加密的安全算法。其中,解鎖碼(nck/nsck/spck)只生成一次,且為16位的十進(jìn)制數(shù)字;解鎖碼(nck/nsck/spck)和手機(jī)的imei號(hào)一次保存在外部數(shù)據(jù)庫(kù)中。
其中,手機(jī)中需要保存的鎖網(wǎng)相關(guān)參數(shù)有:有效的mcc、mnc列表,有效分組識(shí)別文件(gid)列表,經(jīng)過(guò)md5算法計(jì)算后的nck/nsck/spck4,解鎖標(biāo)志位,以及解鎖失敗次數(shù)。這5項(xiàng)參數(shù)出廠時(shí)全部在安全文件系統(tǒng)(sfs)中完成保存。其中,解鎖失敗次數(shù)根據(jù)需要進(jìn)行設(shè)定,且失敗次數(shù)累計(jì),不受版本更新、手機(jī)重啟、恢復(fù)出廠設(shè)置影響,即手機(jī)升級(jí)版本,或重啟,或恢復(fù)出廠設(shè)置,失敗次數(shù)也不會(huì)重置為0。
目前的手機(jī)鎖網(wǎng)架構(gòu)如圖1所示,鎖網(wǎng)解鎖相關(guān)流程均在通信處理器側(cè)完成,應(yīng)用處理器側(cè)進(jìn)提供用戶界面輸入解鎖碼,讀取鎖網(wǎng)狀態(tài)在用戶界面進(jìn)行相應(yīng)的顯示。
其中,基于圖1所示的手機(jī)鎖網(wǎng)架構(gòu)圖,開機(jī)流程如圖2所示。具體如下:
步驟1:手機(jī)首先檢查是否是鎖網(wǎng)版本,如果非鎖網(wǎng)版本,則正常開機(jī);
步驟2:如果是鎖網(wǎng)版本,則:檢查是否永久鎖網(wǎng),若是,解鎖失敗手機(jī)永久鎖網(wǎng);否則,轉(zhuǎn)到步驟3;
步驟3:驗(yàn)證卡的mcc/mnc是否合法及解鎖狀態(tài)標(biāo)志,如果卡的mcc/mnc合法或解鎖狀態(tài)為已解鎖則正常開機(jī);否則手機(jī)進(jìn)入鎖網(wǎng)狀態(tài)。
另外,基于圖1所示的手機(jī)鎖網(wǎng)架構(gòu)圖,解鎖流程,如圖3所示。具體如下:
步驟1:鎖網(wǎng)狀態(tài)下用戶輸入的鎖網(wǎng)解鎖碼在界面上明文顯示;用戶輸入鎖網(wǎng)解鎖碼后選擇解鎖,檢查用戶輸入的解鎖碼是否正確,如果正確將安全文件系統(tǒng)(sfs)中解鎖狀態(tài)修改為已解鎖,解鎖正常開機(jī);
步驟:2:如果解鎖碼不正確,判斷是否達(dá)到最大錯(cuò)誤次數(shù),如果達(dá)到則會(huì)進(jìn)入永久鎖網(wǎng),否則繼續(xù)步驟1的流程;手機(jī)永久鎖網(wǎng)后,僅可撥打緊急電話。
綜上所述,目前鎖網(wǎng)版本的手機(jī)的解鎖流程主要是的基于modem側(cè)的可解鎖方案,但是現(xiàn)有技術(shù)中的這種解鎖方法比較簡(jiǎn)單,一旦遭受破解攻擊,手機(jī)無(wú)法判斷,更無(wú)法做出相應(yīng)的防御或者補(bǔ)救措施,因此存在一定的安全隱患。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有技術(shù)中存在的上述問(wèn)題,本發(fā)明的實(shí)施例提供了一種終端解除鎖網(wǎng)的方法、開機(jī)的方法及裝置,能夠進(jìn)行鎖網(wǎng)解除時(shí),在通信處理器側(cè)和應(yīng)用處理器側(cè)同時(shí)對(duì)輸入的解鎖碼進(jìn)行驗(yàn)證,從而使得鎖網(wǎng)安全性更強(qiáng),破解難度更大。
為了解決上述技術(shù)問(wèn)題,本發(fā)明采用如下技術(shù)方案:
依據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種終端解除鎖網(wǎng)的方法,包括:
獲取用戶輸入的解鎖碼;
根據(jù)所述解鎖碼,計(jì)算獲得通信處理器側(cè)的第一網(wǎng)絡(luò)狀態(tài)信息;
獲取應(yīng)用處理器根據(jù)所述解鎖碼計(jì)算獲得的所述應(yīng)用處理器側(cè)的第二網(wǎng)絡(luò)狀態(tài)信息,以及所述應(yīng)用處理器側(cè)存儲(chǔ)的第二解鎖碼;
判斷所述第一網(wǎng)絡(luò)狀態(tài)信息與所述第二網(wǎng)絡(luò)狀態(tài)信息是否一致,以及所述通信處理器側(cè)存儲(chǔ)的第一解鎖碼與所述第二解鎖碼是否一致;
若所述第一網(wǎng)絡(luò)狀態(tài)信息和所述第二網(wǎng)絡(luò)狀態(tài)信息均為解鎖狀態(tài),且所述第一解鎖碼與所述第二解鎖碼一致,則解鎖成功,否則,解鎖失敗。
其中,上述方案中,所述根據(jù)所述解鎖碼,計(jì)算獲得所述通信處理器側(cè)的第一網(wǎng)絡(luò)狀態(tài)信息,包括:
根據(jù)所述解鎖碼,利用哈希算法獲得第一解鎖哈希值;
判斷所述第一解鎖哈希值與所述通信處理器側(cè)存儲(chǔ)的第一哈希值是否一致;
若一致,則所述第一網(wǎng)絡(luò)狀態(tài)信息為解鎖狀態(tài);
若不一致,則所述第一網(wǎng)絡(luò)狀態(tài)信息為鎖網(wǎng)狀態(tài)。
其中,上述方案中,所述獲取應(yīng)用處理器根據(jù)所述解鎖碼計(jì)算獲得的所述應(yīng)用處理器側(cè)的第二網(wǎng)絡(luò)狀態(tài)信息,以及所述應(yīng)用處理器側(cè)存儲(chǔ)的第二解鎖碼,包括:
接收所述應(yīng)用處理器發(fā)送的信息讀取消息;
根據(jù)所述信息讀取消息,從所述應(yīng)用處理器在終端的內(nèi)存中分配的存儲(chǔ)區(qū)中讀取經(jīng)過(guò)加密處理后的所述第二網(wǎng)絡(luò)狀態(tài)信息和所述第二解鎖碼,其中,所 述存儲(chǔ)區(qū)的安全密鑰被所述通信處理器共享。
其中,上述方案中,所述根據(jù)所述解鎖碼,計(jì)算獲得所述通信處理器側(cè)的第一網(wǎng)絡(luò)狀態(tài)信息之后,還包括:
將所述第一網(wǎng)絡(luò)狀態(tài)信息和所述通信處理器側(cè)存儲(chǔ)的第一解鎖碼加密處理,并保存在所述存儲(chǔ)區(qū)中。
其中,上述方案中,解鎖成功后,還包括:
從所述存儲(chǔ)區(qū)中讀取加密處理后的所述第一網(wǎng)絡(luò)狀態(tài)信息和所述第一解鎖碼,并寫入安全文檔系統(tǒng)。
其中,上述方案中,解鎖失敗后,還包括:
判斷解鎖次數(shù)是否到達(dá)預(yù)定閾值,若是,則重新啟動(dòng),若否,提示用戶重新輸入解鎖碼。
依據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,還提供了一種終端解除鎖網(wǎng)的方法,包括:
獲取用戶輸入的解鎖碼;
根據(jù)所述解鎖碼計(jì)算獲得應(yīng)用處理器側(cè)的第二網(wǎng)絡(luò)狀態(tài)信息;
將所述第二網(wǎng)絡(luò)狀態(tài)信息以及所述應(yīng)用處理器側(cè)存儲(chǔ)的第二解鎖碼傳輸給通信處理器。
其中,上述方案中,所述根據(jù)所述解鎖碼計(jì)算獲得應(yīng)用處理器側(cè)的第二網(wǎng)絡(luò)狀態(tài)信息,包括:
根據(jù)所述解鎖碼,利用哈希算法獲得第二解鎖哈希值;
判斷所述第二解鎖哈希值與所述應(yīng)用處理器側(cè)存儲(chǔ)的第二哈希值是否一致;
若一致,則所述第二網(wǎng)絡(luò)狀態(tài)信息為解鎖狀態(tài);
若不一致,則所述第二網(wǎng)絡(luò)狀態(tài)信息為鎖網(wǎng)狀態(tài)。
其中,上述方案中,所述將所述第二網(wǎng)絡(luò)狀態(tài)信息以及所述應(yīng)用處理器側(cè)存儲(chǔ)的第二解鎖碼傳輸給通信處理器,包括:
在終端的內(nèi)存中分配存儲(chǔ)區(qū),其中,所述存儲(chǔ)區(qū)設(shè)置有安全密鑰,且所述安全密鑰被所述通信處理器共享;
將所述第二網(wǎng)絡(luò)狀態(tài)信息和所述第二解鎖碼加密處理,并存儲(chǔ)在所述存儲(chǔ) 區(qū)中;
向所述通信處理器發(fā)送信息讀取消息,使得所述通信處理器從所述存儲(chǔ)區(qū)中讀取加密處理后的所述第二網(wǎng)絡(luò)狀態(tài)信息和所述第二解鎖碼。
其中,上述方案中,所述安全密鑰還被所述應(yīng)用處理器共享;
解鎖成功后,還包括:
從所述存儲(chǔ)區(qū)中讀取加密處理后的所述第二網(wǎng)絡(luò)狀態(tài)信息和所述第二解鎖碼,并寫入回寫內(nèi)存保護(hù)區(qū)。
依據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,還提供了一種終端開機(jī)的方法,包括:
接收到用戶輸入的開機(jī)指令時(shí),判斷所述終端是否熔絲;
若否,讀取存儲(chǔ)在所述終端的通信處理器側(cè)的第一網(wǎng)絡(luò)狀態(tài)信息和存儲(chǔ)在應(yīng)用處理器側(cè)的第二網(wǎng)絡(luò)狀態(tài)信息,并判斷所述第一網(wǎng)絡(luò)狀態(tài)信息與所述第二網(wǎng)絡(luò)狀態(tài)信息是否一致;
若所述第一網(wǎng)絡(luò)狀態(tài)信息與所述第二網(wǎng)絡(luò)狀態(tài)信息均為解網(wǎng)狀態(tài),則判斷存儲(chǔ)在所述終端的通信處理器側(cè)的第一解鎖碼與應(yīng)用處理器側(cè)的第二解鎖碼是否一致,若一致,所述終端啟動(dòng)進(jìn)入待機(jī)界面。
其中,上述方案中,還包括:
若所述第一網(wǎng)絡(luò)狀態(tài)信息與所述第二網(wǎng)絡(luò)狀態(tài)信息不一致,或者若所述第一解鎖碼與所述第二解鎖碼不一致,則進(jìn)行熔絲。
其中,上述方案中,還包括:
若所述第一網(wǎng)絡(luò)狀態(tài)信息與所述第二網(wǎng)絡(luò)狀態(tài)信息均為鎖網(wǎng)狀態(tài),則判斷smi卡鎖網(wǎng)參數(shù)與預(yù)先存儲(chǔ)在所述終端中的鎖網(wǎng)參數(shù)是否一致;
若不一致,所述終端啟動(dòng)并進(jìn)入鎖網(wǎng)有限服務(wù)狀態(tài);
若一致,所述終端啟動(dòng)并進(jìn)入待機(jī)界面。
其中,上述方案中,所述讀取存儲(chǔ)在所述終端的通信處理器側(cè)的第一網(wǎng)絡(luò)狀態(tài)信息和存儲(chǔ)在應(yīng)用處理器側(cè)的第二網(wǎng)絡(luò)狀態(tài)信息,具體為:
讀取所述終端的安區(qū)文檔系統(tǒng)中存儲(chǔ)的所述第一網(wǎng)絡(luò)狀態(tài)信息,以及所述終端的回寫內(nèi)存保護(hù)區(qū)中存儲(chǔ)的所述第二網(wǎng)絡(luò)狀態(tài)信息。
依據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,還提供了一種終端解除鎖網(wǎng)的裝置,包
第一獲取模塊,用于獲取用戶輸入的解鎖碼;
第一計(jì)算模塊,用于根據(jù)所述第一獲取模塊獲取的所述解鎖碼,計(jì)算獲得通信處理器側(cè)的第一網(wǎng)絡(luò)狀態(tài)信息;
第二獲取模塊,用于獲取應(yīng)用處理器根據(jù)所述解鎖碼計(jì)算獲得的所述應(yīng)用處理器側(cè)的第二網(wǎng)絡(luò)狀態(tài)信息,以及所述應(yīng)用處理器側(cè)存儲(chǔ)的第二解鎖碼;
第一判斷模塊,用于判斷所述第一網(wǎng)絡(luò)狀態(tài)信息與所述第二網(wǎng)絡(luò)狀態(tài)信息是否一致,以及所述通信處理器側(cè)存儲(chǔ)的第一解鎖碼與所述第二解鎖碼是否一致;
確定模塊,用于當(dāng)所述第一判斷模塊判斷所述第一網(wǎng)絡(luò)狀態(tài)信息和所述第二網(wǎng)絡(luò)狀態(tài)信息均為解鎖狀態(tài),且所述第一解鎖碼與所述第二解鎖碼一致時(shí),確定解鎖成功,否則,解鎖失敗。
其中,上述方案中,所述第一計(jì)算模塊包括:
第一計(jì)算單元,用于根據(jù)所述解鎖碼,利用哈希算法獲得第一解鎖哈希值;
第一判斷單元,用于判斷所述第一解鎖哈希值與所述通信處理器側(cè)存儲(chǔ)的第一哈希值是否一致;若一致,則所述第一網(wǎng)絡(luò)狀態(tài)信息為解鎖狀態(tài);若不一致,則所述第一網(wǎng)絡(luò)狀態(tài)信息為鎖網(wǎng)狀態(tài)。
其中,上述方案中,所述第二獲取模塊包括:
接收單元,用于接收所述應(yīng)用處理器發(fā)送的信息讀取消息;
讀取單元,用于根據(jù)所述信息讀取消息,從所述應(yīng)用處理器在終端的內(nèi)存中分配的存儲(chǔ)區(qū)中讀取經(jīng)過(guò)加密處理后的所述第二網(wǎng)絡(luò)狀態(tài)信息和所述第二解鎖碼,其中,所述存儲(chǔ)區(qū)的安全密鑰被所述通信處理器共享。
其中,上述方案中,還包括:
加密模塊,用于將所述第一網(wǎng)絡(luò)狀態(tài)信息和所述通信處理器側(cè)存儲(chǔ)的第一解鎖碼加密處理,并保存在所述存儲(chǔ)區(qū)中。
其中,上述方案中,還包括:
第一寫入模塊,用于在解鎖成功后,從所述存儲(chǔ)區(qū)中讀取加密處理后的所述第一網(wǎng)絡(luò)狀態(tài)信息和所述第一解鎖碼,并寫入安全文檔系統(tǒng)。
其中,上述方案中,還包括:
第二判斷模塊,用于在解鎖失敗后,判斷解鎖次數(shù)是否到達(dá)預(yù)定閾值,若 是,則重新啟動(dòng),若否,提示用戶重新輸入解鎖碼。
依據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,還提供了一種終端解除鎖網(wǎng)的裝置,包括:
第三獲取模塊,用于獲取用戶輸入的解鎖碼;
第二計(jì)算模塊,用于根據(jù)所述解鎖碼計(jì)算獲得應(yīng)用處理器側(cè)的第二網(wǎng)絡(luò)狀態(tài)信息;
傳輸模塊,用于將所述第二網(wǎng)絡(luò)狀態(tài)信息以及所述應(yīng)用處理器側(cè)存儲(chǔ)的第二解鎖碼傳輸給通信處理器。
其中,上述方案中,所述第二計(jì)算模塊包括:
第二計(jì)算單元,用于根據(jù)所述解鎖碼,利用哈希算法獲得第二解鎖哈希值;
第二判斷單元,用于判斷所述第二解鎖哈希值與所述應(yīng)用處理器側(cè)存儲(chǔ)的第二哈希值是否一致;若一致,則所述第二網(wǎng)絡(luò)狀態(tài)信息為解鎖狀態(tài);若不一致,則所述第二網(wǎng)絡(luò)狀態(tài)信息為鎖網(wǎng)狀態(tài)。
其中,上述方案中,所述傳輸模塊包括:
分配單元,用于在終端的內(nèi)存中分配存儲(chǔ)區(qū),其中,所述存儲(chǔ)區(qū)設(shè)置有安全密鑰,且所述安全密鑰被所述通信處理器共享;
加密單元,用于將所述第二網(wǎng)絡(luò)狀態(tài)信息和所述第二解鎖碼加密處理,并存儲(chǔ)在所述存儲(chǔ)區(qū)中;
發(fā)送單元,用于向所述通信處理器發(fā)送信息讀取消息,使得所述通信處理器從所述存儲(chǔ)區(qū)中讀取加密處理后的所述第二網(wǎng)絡(luò)狀態(tài)信息和所述第二解鎖碼。
其中,上述方案中,還包括:
第二寫入模塊,用于解鎖成功后,從所述存儲(chǔ)區(qū)中讀取加密處理后的所述第二網(wǎng)絡(luò)狀態(tài)信息和所述第二解鎖碼,并寫入回寫內(nèi)存保護(hù)區(qū)。
依據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,還提供了一種終端開機(jī)的裝置,包括:
第三判斷模塊,用于接收到用戶輸入的開機(jī)指令時(shí),判斷所述終端是否熔絲;
第四判斷模塊,用于當(dāng)所述第三判斷模塊的判斷結(jié)果為否時(shí),讀取存儲(chǔ)在所述終端的通信處理器側(cè)的第一網(wǎng)絡(luò)狀態(tài)信息和存儲(chǔ)在應(yīng)用處理器側(cè)的第二 網(wǎng)絡(luò)狀態(tài)信息,并判斷所述第一網(wǎng)絡(luò)狀態(tài)信息與所述第二網(wǎng)絡(luò)狀態(tài)信息是否一致;
第五判斷模塊,用于當(dāng)所述第四判斷模塊判斷所述第一網(wǎng)絡(luò)狀態(tài)信息與所述第二網(wǎng)絡(luò)狀態(tài)信息均為解網(wǎng)狀態(tài),則判斷存儲(chǔ)在所述終端的通信處理器側(cè)的第一解鎖碼與應(yīng)用處理器側(cè)的第二解鎖碼是否一致,若一致,所述終端啟動(dòng)進(jìn)入待機(jī)界面。
其中,上述方案中,還包括:
熔絲模塊,用于當(dāng)所述第四判斷模塊判斷所述第一網(wǎng)絡(luò)狀態(tài)信息與所述第二網(wǎng)絡(luò)狀態(tài)信息不一致時(shí),或者當(dāng)所述第五判斷模塊判斷所述第一解鎖碼與所述第二解鎖碼不一致時(shí),進(jìn)行熔絲。
其中,上述方案中,還包括:
第六判斷模塊,用于當(dāng)所述第四判斷模塊判斷所述第一網(wǎng)絡(luò)狀態(tài)信息與所述第二網(wǎng)絡(luò)狀態(tài)信息均為鎖網(wǎng)狀態(tài)時(shí),判斷smi卡鎖網(wǎng)參數(shù)與預(yù)先存儲(chǔ)在所述終端中的鎖網(wǎng)參數(shù)是否一致;若不一致,所述終端啟動(dòng)并進(jìn)入鎖網(wǎng)有限服務(wù)狀態(tài);若一致,所述終端啟動(dòng)并進(jìn)入待機(jī)界面。
其中,上述方案中,所述第四判斷模塊在所述讀取存儲(chǔ)在所述終端的通信處理器側(cè)的第一網(wǎng)絡(luò)狀態(tài)信息和存儲(chǔ)在應(yīng)用處理器側(cè)的第二網(wǎng)絡(luò)狀態(tài)信息,具體用于:
讀取所述終端的安區(qū)文檔系統(tǒng)中存儲(chǔ)的所述第一網(wǎng)絡(luò)狀態(tài)信息,以及所述終端的回寫內(nèi)存保護(hù)區(qū)中存儲(chǔ)的所述第二網(wǎng)絡(luò)狀態(tài)信息。
本發(fā)明實(shí)施例的有益效果是:
上述方案中,在解除鎖網(wǎng)時(shí),在通信息處理器側(cè)和應(yīng)用處理器側(cè)同時(shí)對(duì)輸入的解鎖碼進(jìn)行驗(yàn)證,獲得通信處理器側(cè)的第一網(wǎng)絡(luò)狀態(tài)信息和應(yīng)用處理器側(cè)的第二網(wǎng)絡(luò)狀態(tài)信息,并且在第一網(wǎng)絡(luò)狀態(tài)信息和第二網(wǎng)絡(luò)狀態(tài)信息均為解鎖狀態(tài),且通信處理器側(cè)存儲(chǔ)的第一解鎖碼和應(yīng)用處理器側(cè)存儲(chǔ)的第二解鎖碼一致時(shí),才能最終解鎖成功,從而使得本發(fā)明實(shí)施例的終端解除鎖網(wǎng)的方法,難度更大,進(jìn)而使得鎖網(wǎng)安全性更強(qiáng),破解難度更大。
另外,在終端開機(jī)時(shí),在該終端未熔絲,且通信處理器側(cè)的第一網(wǎng)絡(luò)狀態(tài)信息和應(yīng)用處理器側(cè)的第二網(wǎng)絡(luò)狀態(tài)信息一致,且通信處理器側(cè)存儲(chǔ)的第一解 鎖碼和第二解鎖碼一致時(shí),終端啟動(dòng)并進(jìn)入待機(jī)界面,避免了該終端被惡意攻擊后,仍然可以使用,增強(qiáng)了終端的使用安全性。
附圖說(shuō)明
圖1表示現(xiàn)有技術(shù)中的手機(jī)的鎖網(wǎng)架構(gòu)圖;
圖2表示現(xiàn)有技術(shù)中鎖網(wǎng)版本手機(jī)的開機(jī)流程圖;
圖3表示現(xiàn)有技術(shù)中鎖網(wǎng)版本手機(jī)的解除鎖網(wǎng)流程圖;
圖4表示本發(fā)明第一實(shí)施例的終端解除鎖網(wǎng)的方法流程圖;
圖5表示本發(fā)明第二實(shí)施例的終端解除鎖網(wǎng)的方法流程圖;
圖6表示本發(fā)明第三實(shí)施例的終端開機(jī)的方法流程圖;
圖7表示本發(fā)明第四實(shí)施例的終端解除鎖網(wǎng)的裝置的結(jié)構(gòu)框圖;
圖8表示本發(fā)明第五實(shí)施例的終端解除鎖網(wǎng)的裝置的結(jié)構(gòu)框圖;
圖9表示本發(fā)明第六實(shí)施例的終端開機(jī)的裝置的結(jié)構(gòu)框圖;
圖10表示本發(fā)明第七實(shí)施例的終端的鎖網(wǎng)架構(gòu)圖;
圖11表示基于圖10所示的鎖網(wǎng)架構(gòu)的開機(jī)流程圖;
圖12表示基于圖10所示的鎖網(wǎng)架構(gòu)的解除鎖網(wǎng)的流程圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
第一實(shí)施例
依據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種終端解除鎖網(wǎng)的方法,該方法首先,根據(jù)所述解鎖碼,計(jì)算獲得通信處理器側(cè)的第一網(wǎng)絡(luò)狀態(tài)信息;接著,獲取應(yīng)用處理器根據(jù)所述解鎖碼計(jì)算獲得的所述應(yīng)用處理器側(cè)的第二網(wǎng)絡(luò)狀態(tài)信息,以及所述應(yīng)用處理器側(cè)存儲(chǔ)的第二解鎖碼;再次,判斷所述第一網(wǎng)絡(luò)狀態(tài)信息與所述第二網(wǎng)絡(luò)狀態(tài)信息是否一致,以及所述通信處理器側(cè)存儲(chǔ)的第一解鎖碼與所述第二解鎖碼是否一致;最后,若所述第一網(wǎng)絡(luò)狀態(tài)信息和所述 第二網(wǎng)絡(luò)狀態(tài)信息均為解鎖狀態(tài),且所述第一解鎖碼與所述第二解鎖碼一致,則解鎖成功,否則,解鎖失敗。
因此,本發(fā)明實(shí)施例的終端解除鎖網(wǎng)的方法,在進(jìn)行鎖網(wǎng)解除時(shí),能夠在通信處理器側(cè)和應(yīng)用處理器側(cè)同時(shí)對(duì)輸入的解鎖碼進(jìn)行驗(yàn)證,從而使得鎖網(wǎng)安全性更強(qiáng),破解難度更大。
如圖4所示,為發(fā)明實(shí)施例的終端解除鎖網(wǎng)的方法流程圖,該方法主要應(yīng)用于終端的通信處理器側(cè)。具體地,該方法包括:
步驟s41、獲取用戶輸入的解鎖碼。
其中,不同鎖網(wǎng)版本的終端,具有不同的解鎖碼。也就是說(shuō),一個(gè)鎖網(wǎng)版本終端具有唯一一個(gè)特定的解鎖碼。只有在該終端中輸入該特定的解鎖碼,才能成功對(duì)該終端解除鎖網(wǎng)。否則,輸入其他不正確的解鎖碼,無(wú)法成功解除鎖網(wǎng)。
對(duì)于鎖網(wǎng)版本的終端,若該終端處于鎖網(wǎng)狀態(tài),則用戶需要輸入解鎖碼進(jìn)行解鎖,才可使用該終端進(jìn)行通信。若該終端處于解鎖狀態(tài),但是用戶需要插入另外一張sim卡,此時(shí),用戶同樣需要解除該終端的鎖網(wǎng)。
步驟s43、根據(jù)所述解鎖碼,計(jì)算獲得通信處理器側(cè)的第一網(wǎng)絡(luò)狀態(tài)信息。
對(duì)于鎖網(wǎng)版本的終端,在該終端出廠時(shí),該終端中就保存著解鎖網(wǎng)算法參數(shù),包括哈希算法參數(shù)(hck)、加鹽值(salt)、迭代次數(shù)(iteration)以及解鎖網(wǎng)狀態(tài)標(biāo)志(lockflag)等。其中,這些解鎖網(wǎng)算法參數(shù)分成兩份存放,其中一份存放在sfs中,只允許通信處理器側(cè)訪問(wèn);另一份存放在應(yīng)用處理器側(cè)的rpmb中,只允許應(yīng)用處理器側(cè)訪問(wèn)。
其中,當(dāng)用戶輸入解鎖碼后,在通信處理器側(cè),會(huì)根據(jù)該解鎖碼,利用哈希算法計(jì)算獲得第一解鎖哈希值,然后比較計(jì)算的第一解鎖哈希值與通信處理器側(cè)的sfs中存儲(chǔ)的哈希算法參數(shù),即第一哈希值,是否一致,若一致,則該通信處理器側(cè)的第一網(wǎng)絡(luò)狀態(tài)信息為解鎖狀態(tài),若不一致,則第一網(wǎng)絡(luò)狀態(tài)信息為鎖網(wǎng)狀態(tài)。當(dāng)然,可以理解的是,對(duì)于確定第一網(wǎng)絡(luò)狀態(tài)信息時(shí)所采用的具體算法,并不局限于哈希算法,但是采用的算法需要與鎖網(wǎng)版本終端出廠時(shí),保存在內(nèi)的解鎖網(wǎng)算法參數(shù)所屬于的具體算法相一致。
步驟s45、獲取應(yīng)用處理器根據(jù)所述解鎖碼計(jì)算獲得的所述應(yīng)用處理器側(cè) 的第二網(wǎng)絡(luò)狀態(tài)信息,以及所述應(yīng)用處理器側(cè)存儲(chǔ)的第二解鎖碼。
在本發(fā)明實(shí)施例的終端解除鎖網(wǎng)的方法中,當(dāng)用戶輸入解鎖碼后,會(huì)同時(shí)在通信處理器側(cè)和應(yīng)用處理器側(cè)對(duì)該解鎖碼進(jìn)行校驗(yàn)。因此,在應(yīng)用處理器側(cè),同樣會(huì)根據(jù)該解鎖碼,利用哈希算法,計(jì)算獲得第二解鎖哈希值,然后比較計(jì)算的第二解鎖哈希值與應(yīng)用處理器側(cè)的rpmb中存儲(chǔ)的哈希算法參數(shù),即第二哈希值,是否一致,若一致,則該應(yīng)用處理器側(cè)的第二網(wǎng)絡(luò)狀態(tài)信息為解鎖狀態(tài),若不一致,則第二網(wǎng)絡(luò)狀態(tài)信息為鎖網(wǎng)狀態(tài)。
其中,由于在通信處理器側(cè)和在應(yīng)用處理器側(cè)進(jìn)行哈希算法過(guò)程中的salt值和iteration不相同,所以可以獲得不相同的第一解鎖哈希值和第二解鎖哈希值。
當(dāng)應(yīng)用處理器側(cè)根據(jù)獲取到的解鎖碼,確定了第二網(wǎng)絡(luò)狀態(tài)信息后,需要將第二網(wǎng)絡(luò)狀態(tài)信息及本側(cè)存儲(chǔ)的第二解鎖碼傳輸給通信息處理器。所以,應(yīng)用處理器側(cè)會(huì)向通信息處理器發(fā)送一個(gè)信息讀取消息,通信處理器在接收到該信息讀取消息后,則會(huì)讀取第二網(wǎng)絡(luò)狀態(tài)信息和第二解鎖碼。
另外,為了使得通信處理器側(cè)和應(yīng)用處理器側(cè)的信息傳輸更加安全,應(yīng)用處理器會(huì)從終端的內(nèi)存中分配一個(gè)存儲(chǔ)區(qū),而且該存儲(chǔ)區(qū)的安全密鑰只在通信處理器側(cè)和應(yīng)用處理器側(cè)共享。所以,通信處理器確定的第一網(wǎng)絡(luò)狀態(tài)信息和原來(lái)在通信處理器的sfs中存儲(chǔ)的第一解鎖碼可以加密處理后,保存在該存儲(chǔ)區(qū)中。同樣,應(yīng)用處理器確定的第二網(wǎng)絡(luò)狀態(tài)信息和原來(lái)在應(yīng)用處理器的rpmb中存儲(chǔ)的第二解鎖碼也可以加密處理后,保存在該存儲(chǔ)區(qū)中。
所以,當(dāng)應(yīng)用處理器需要與通信處理器進(jìn)行數(shù)據(jù)傳輸時(shí),可首先將其加密保存在該存儲(chǔ)區(qū)中,然后通信處理器則可根據(jù)其享有的安全密鑰從該存取區(qū)中讀取相應(yīng)的數(shù)據(jù)。
步驟s47、判斷所述第一網(wǎng)絡(luò)狀態(tài)信息與所述第二網(wǎng)絡(luò)狀態(tài)信息是否一致,以及所述通信處理器側(cè)存儲(chǔ)的第一解鎖碼與所述第二解鎖碼是否一致。
對(duì)于鎖網(wǎng)版本的終端,若用戶輸入的解鎖碼是錯(cuò)誤的,那么就可能使得第一網(wǎng)絡(luò)狀態(tài)信息與第二網(wǎng)絡(luò)狀態(tài)信息不一致,或者第一解鎖碼與第二解鎖碼不一致,或者第一網(wǎng)絡(luò)狀態(tài)信息與第二網(wǎng)絡(luò)狀態(tài)信息均為鎖網(wǎng)狀態(tài)。此時(shí),還可提示用戶重新輸入解鎖碼。另外,還可進(jìn)一步判斷解鎖次數(shù)是否達(dá)到預(yù)定閾值, 若是,可以提示用戶重新啟動(dòng)該終端,若不是,再提示用戶重新輸入解鎖碼。
步驟s49、若所述第一網(wǎng)絡(luò)狀態(tài)信息和所述第二網(wǎng)絡(luò)狀態(tài)信息均為解鎖狀態(tài),且所述第一解鎖碼與所述第二解鎖碼一致,則解鎖成功,否則,解鎖失敗。
也就是說(shuō),只有第一網(wǎng)絡(luò)狀態(tài)信息和所述第二網(wǎng)絡(luò)狀態(tài)信息均為解鎖狀態(tài),且所述第一解鎖碼與所述第二解鎖碼一致時(shí),才可成功解鎖。否則,若第一網(wǎng)絡(luò)狀態(tài)信息與第二網(wǎng)絡(luò)狀態(tài)信息不一致,或者第一解鎖碼與第二解鎖碼不一致,或者第一網(wǎng)絡(luò)狀態(tài)信息與第二網(wǎng)絡(luò)狀態(tài)信息一致,但均為鎖網(wǎng)狀態(tài),也不能成功解除鎖網(wǎng)。
另外,在解鎖成功后,可進(jìn)一步從所述存儲(chǔ)區(qū)中讀取加密處理后的所述第一網(wǎng)絡(luò)狀態(tài)信息和所述第一解鎖碼,并寫入sfs中以便于該終端開機(jī)時(shí)或者再次解除鎖網(wǎng)進(jìn)行判斷時(shí)使用。其中,這是唯一處允許對(duì)sfs中的鎖網(wǎng)相關(guān)參數(shù)進(jìn)行改寫的地方。
第二實(shí)施例
依據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,還提供了一種終端解除鎖網(wǎng)的方法,該方法首先,獲取用戶輸入的解鎖碼;接著,根據(jù)所述解鎖碼計(jì)算獲得應(yīng)用處理器側(cè)的第二網(wǎng)絡(luò)狀態(tài)信息;最后,將所述第二網(wǎng)絡(luò)狀態(tài)信息以及所述應(yīng)用處理器側(cè)存儲(chǔ)的第二解鎖碼傳輸給通信處理器。
因此,本發(fā)明實(shí)施例的解除鎖網(wǎng)的方法,不僅需要在通信處理器側(cè)對(duì)用戶輸入的解鎖碼進(jìn)行驗(yàn)證,在應(yīng)用處理器側(cè)同樣需要對(duì)用戶輸入的解鎖碼進(jìn)行驗(yàn)證,所以本發(fā)明實(shí)施例的解除鎖網(wǎng)的方法能夠使得鎖網(wǎng)安全性更強(qiáng),破解難度更大。
如圖5所示,該方法應(yīng)用于應(yīng)用處理器側(cè),包括:
步驟s51、獲取用戶輸入的解鎖碼。
其中,不同鎖網(wǎng)版本的終端,具有不同的解鎖碼。也就是說(shuō),一個(gè)鎖網(wǎng)版本終端具有唯一一個(gè)特定的解鎖碼。只有在該終端中輸入該特定的解鎖碼,才能成功對(duì)該終端解除鎖網(wǎng)。否則,輸入其他不正確的解鎖碼,無(wú)法成功解除鎖網(wǎng)。
對(duì)于鎖網(wǎng)版本的終端,若該終端處于鎖網(wǎng)狀態(tài),則用戶需要輸入解鎖碼進(jìn)行解鎖,才可使用該終端進(jìn)行通信。若該終端處于解鎖狀態(tài),但是用戶需要插 入另外一張sim卡,此時(shí),用戶同樣需要解除該終端的鎖網(wǎng)。其中,用戶從應(yīng)用處理器側(cè)的用戶界面輸入解鎖碼即可。
步驟s53、根據(jù)所述解鎖碼計(jì)算獲得應(yīng)用處理器側(cè)的第二網(wǎng)絡(luò)狀態(tài)信息。
對(duì)于鎖網(wǎng)版本的終端,在該終端出廠時(shí),該終端中就保存著解鎖網(wǎng)算法參數(shù),包括hck、salt值、iteration以及l(fā)ockflag等。其中,這些解鎖網(wǎng)算法參數(shù)分成兩份存放,其中一份存放在sfs中,只允許通信處理器側(cè)訪問(wèn);另一份存放在應(yīng)用處理器側(cè)的rpmb中,只允許應(yīng)用處理器側(cè)訪問(wèn)。
其中,當(dāng)用戶輸入解鎖碼后,在應(yīng)用處理器側(cè),會(huì)根據(jù)該解鎖碼,利用哈希算法計(jì)算獲得第二解鎖哈希值,然后比較計(jì)算的第二解鎖哈希值與應(yīng)用處理器側(cè)的rpmb中存儲(chǔ)的哈希算法參數(shù),即第二哈希值,是否一致,若一致,則該應(yīng)用處理器側(cè)的第二網(wǎng)絡(luò)狀態(tài)信息為解鎖狀態(tài),若不一致,則第二網(wǎng)絡(luò)狀態(tài)信息為鎖網(wǎng)狀態(tài)。當(dāng)然,可以理解的是,對(duì)于確定第二網(wǎng)絡(luò)狀態(tài)信息時(shí)所采用的具體算法,并不局限于哈希算法,但是采用的算法需要與鎖網(wǎng)版本終端出廠時(shí),保存在內(nèi)的解鎖網(wǎng)算法參數(shù)所屬于的具體算法相一致。
步驟s55、將所述第二網(wǎng)絡(luò)狀態(tài)信息以及所述應(yīng)用處理器側(cè)存儲(chǔ)的第二解鎖碼傳輸給通信處理器。
其中,步驟s55包括:
在終端的內(nèi)存中分配存儲(chǔ)區(qū),其中,所述存儲(chǔ)區(qū)設(shè)置有安全密鑰,且所述安全密鑰被所述通信處理器共享;
將所述第二網(wǎng)絡(luò)狀態(tài)信息和所述第二解鎖碼加密處理,并存儲(chǔ)在所述存儲(chǔ)區(qū)中;
向所述通信處理器發(fā)送信息讀取消息,使得所述通信處理器從所述存儲(chǔ)區(qū)中讀取加密處理后的所述第二網(wǎng)絡(luò)狀態(tài)信息和所述第二解鎖碼。
也就是,為了使得通信處理器側(cè)和應(yīng)用處理器側(cè)的信息傳輸更加安全,應(yīng)用處理器會(huì)從終端的內(nèi)存中分配一個(gè)存儲(chǔ)區(qū),而且該存儲(chǔ)區(qū)的安全密鑰只在通信處理器側(cè)和應(yīng)用處理器側(cè)共享。所以,應(yīng)用處理器確定的第二網(wǎng)絡(luò)狀態(tài)信息和原來(lái)在應(yīng)用處理器的rpmb中存儲(chǔ)的第二解鎖碼也可以加密處理后,保存在該存儲(chǔ)區(qū)中。然后,通信處理器則可根據(jù)其享有的安全密鑰從該存取區(qū)中讀取第二網(wǎng)絡(luò)狀態(tài)信息以及第二解鎖碼,以便于通信處理器執(zhí)行解除鎖網(wǎng)的后續(xù) 步驟。
另外,在解鎖成功后,可進(jìn)一步從所述存儲(chǔ)區(qū)中讀取加密處理后的所述第二網(wǎng)絡(luò)狀態(tài)信息和所述第二解鎖碼,并寫入rpmb中以便于該終端開機(jī)時(shí)或者再次解除鎖網(wǎng)進(jìn)行判斷時(shí)使用。其中,這是唯一處允許對(duì)rpmb中的鎖網(wǎng)相關(guān)參數(shù)進(jìn)行改寫的地方。
第三實(shí)施例
依據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,還提供了一種終端開機(jī)的方法,如圖6所示,該方法包括:
步驟s61、接收到用戶輸入的開機(jī)指令時(shí),判斷所述終端是否熔絲。
對(duì)于鎖網(wǎng)版本的終端,在開機(jī)時(shí),需要首先檢查鎖網(wǎng)篡改熔絲(simlocktamperfuse)是否熔絲,如果熔絲,則終端進(jìn)入不可使用狀態(tài),用戶除關(guān)機(jī)外不能進(jìn)行任何操作,增加了該終端的使用安全性。
步驟s63、若否,讀取存儲(chǔ)在所述終端的通信處理器側(cè)的第一網(wǎng)絡(luò)狀態(tài)信息和存儲(chǔ)在應(yīng)用處理器側(cè)的第二網(wǎng)絡(luò)狀態(tài)信息,并判斷所述第一網(wǎng)絡(luò)狀態(tài)信息與所述第二網(wǎng)絡(luò)狀態(tài)信息是否一致。
只有在步驟s61中判斷該終端并未熔絲時(shí),才可進(jìn)一步讀取第一網(wǎng)絡(luò)狀態(tài)信息和第二網(wǎng)絡(luò)狀態(tài)信息。因?yàn)?,在終端的使用過(guò)程中,其解除鎖網(wǎng)的過(guò)程中存在對(duì)終端的通信處理器側(cè)的sfs中的第一網(wǎng)絡(luò)狀態(tài)信息進(jìn)行改寫的地方,以及對(duì)應(yīng)用處理器側(cè)的rpmb中的第二網(wǎng)絡(luò)狀態(tài)信息進(jìn)行改寫的地方。所以,具體地,需要從所述終端的sfs中讀取存儲(chǔ)的所述第一網(wǎng)絡(luò)狀態(tài)信息,并從所述終端的rpmb中讀取存儲(chǔ)的所述第二網(wǎng)絡(luò)狀態(tài)信息。其中,若讀取的第一網(wǎng)絡(luò)狀態(tài)信息和第二網(wǎng)絡(luò)狀態(tài)信息均為解鎖狀態(tài),則執(zhí)行步驟s65。
但是,若某一次用戶輸入了錯(cuò)誤的解鎖碼而未成功解除鎖網(wǎng),則該終端在開機(jī)啟動(dòng)時(shí),第一網(wǎng)絡(luò)狀態(tài)信息與第二網(wǎng)絡(luò)狀態(tài)信息均為鎖網(wǎng)狀態(tài)。此時(shí),則需要進(jìn)一步判斷該終端中的sim卡鎖網(wǎng)參數(shù)與預(yù)先存儲(chǔ)在終端中的鎖網(wǎng)參數(shù)是否一致,并在一致時(shí),啟動(dòng)并進(jìn)入待機(jī)界面,若不一致,則該終端啟動(dòng),但只能進(jìn)入鎖網(wǎng)有限服務(wù)狀態(tài)。
另外,若該終端若曾被惡意攻擊過(guò),則第一狀態(tài)信息和第二解鎖狀態(tài)信息會(huì)不一致,那么該終端則進(jìn)行熔絲,并提示用戶不可使用。
步驟s65、若所述第一網(wǎng)絡(luò)狀態(tài)信息與所述第二網(wǎng)絡(luò)狀態(tài)信息均為解網(wǎng)狀態(tài),則判斷存儲(chǔ)在所述終端的通信處理器側(cè)的第一解鎖碼與應(yīng)用處理器側(cè)的第二解鎖碼是否一致,若一致,所述終端啟動(dòng)進(jìn)入待機(jī)界面。
其中,若該終端若曾被惡意攻擊過(guò),則第一解鎖碼和第二解鎖碼會(huì)不一致,那么該終端則進(jìn)行熔絲,并提示用戶不可使用。
因此,本發(fā)明實(shí)施例的終端開機(jī)的方法中,在該終端未熔絲,且通信處理器側(cè)的第一網(wǎng)絡(luò)狀態(tài)信息和應(yīng)用處理器側(cè)的第二網(wǎng)絡(luò)狀態(tài)信息一致,且通信處理器側(cè)存儲(chǔ)的第一解鎖碼和第二解鎖碼一致時(shí),終端啟動(dòng)并進(jìn)入待機(jī)界面,避免了該終端被惡意攻擊后,仍然可以使用,增強(qiáng)了終端的使用安全性。
第四實(shí)施例
依據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,提供了一種終端解除鎖網(wǎng)的裝置,應(yīng)用于通信處理器側(cè),如圖7所示,該裝置700包括:
第一獲取模塊701,用于獲取用戶輸入的解鎖碼;
第一計(jì)算模塊702,用于根據(jù)所述第一獲取模塊701獲取的所述解鎖碼,計(jì)算獲得通信處理器側(cè)的第一網(wǎng)絡(luò)狀態(tài)信息;
第二獲取模塊704,用于獲取應(yīng)用處理器根據(jù)所述解鎖碼計(jì)算獲得的所述應(yīng)用處理器側(cè)的第二網(wǎng)絡(luò)狀態(tài)信息,以及所述應(yīng)用處理器側(cè)存儲(chǔ)的第二解鎖碼;
第一判斷模塊705,用于判斷所述第一網(wǎng)絡(luò)狀態(tài)信息與所述第二網(wǎng)絡(luò)狀態(tài)信息是否一致,以及所述通信處理器側(cè)存儲(chǔ)的第一解鎖碼與所述第二解鎖碼是否一致;
確定模塊706,用于當(dāng)所述第一判斷模塊705判斷所述第一網(wǎng)絡(luò)狀態(tài)信息和所述第二網(wǎng)絡(luò)狀態(tài)信息均為解鎖狀態(tài),且所述第一解鎖碼與所述第二解鎖碼一致時(shí),確定解鎖成功,否則,解鎖失敗。
可選地,所述第一計(jì)算模塊702包括:
第一計(jì)算單元7021,用于根據(jù)所述解鎖碼,利用哈希算法獲得第一解鎖哈希值;
第一判斷單元7022,用于判斷所述第一解鎖哈希值與所述通信處理器側(cè)存儲(chǔ)的第一哈希值是否一致;若一致,則所述第一網(wǎng)絡(luò)狀態(tài)信息為解鎖狀態(tài);若不一致,則所述第一網(wǎng)絡(luò)狀態(tài)信息為鎖網(wǎng)狀態(tài)。
可選地,所述第二獲取模塊704包括:
接收單元7041,用于接收所述應(yīng)用處理器發(fā)送的信息讀取消息;
讀取單元7042,用于根據(jù)所述信息讀取消息,從所述應(yīng)用處理器在終端的內(nèi)存中分配的存儲(chǔ)區(qū)中讀取經(jīng)過(guò)加密處理后的所述第二網(wǎng)絡(luò)狀態(tài)信息和所述第二解鎖碼,其中,所述存儲(chǔ)區(qū)的安全密鑰被所述通信處理器共享。
可選地,還包括:
加密模塊703,用于將所述第一網(wǎng)絡(luò)狀態(tài)信息和所述通信處理器側(cè)存儲(chǔ)的第一解鎖碼加密處理,并保存在所述存儲(chǔ)區(qū)中。
可選地,還包括:
第一寫入模塊707,用于在解鎖成功后,從所述存儲(chǔ)區(qū)中讀取加密處理后的所述第一網(wǎng)絡(luò)狀態(tài)信息和所述第一解鎖碼,并寫入安全文檔系統(tǒng)。
可選地,還包括:
第二判斷模塊708,用于在解鎖失敗后,判斷解鎖次數(shù)是否到達(dá)預(yù)定閾值,若是,則重新啟動(dòng),若否,提示用戶重新輸入解鎖碼。
第五實(shí)施例
依據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,提供了一種終端解除鎖網(wǎng)的裝置,應(yīng)用于應(yīng)用處理器側(cè),如圖8所示,該裝置800包括:
第三獲取模塊801,用于獲取用戶輸入的解鎖碼;
第二計(jì)算模塊802,用于根據(jù)所述解鎖碼計(jì)算獲得應(yīng)用處理器側(cè)的第二網(wǎng)絡(luò)狀態(tài)信息;
傳輸模塊803,用于將所述第二網(wǎng)絡(luò)狀態(tài)信息以及所述應(yīng)用處理器側(cè)存儲(chǔ)的第二解鎖碼傳輸給通信處理器。
可選地,所述第二計(jì)算模塊802包括:
第二計(jì)算單元8021,用于根據(jù)所述解鎖碼,利用哈希算法獲得第二解鎖哈希值;
第二判斷單元8022,用于判斷所述第二解鎖哈希值與所述應(yīng)用處理器側(cè)存儲(chǔ)的第二哈希值是否一致;若一致,則所述第二網(wǎng)絡(luò)狀態(tài)信息為解鎖狀態(tài);若不一致,則所述第二網(wǎng)絡(luò)狀態(tài)信息為鎖網(wǎng)狀態(tài)。
可選地,所述傳輸模塊803包括:
分配單元8031,用于在終端的內(nèi)存中分配存儲(chǔ)區(qū),其中,所述存儲(chǔ)區(qū)設(shè)置有安全密鑰,且所述安全密鑰被所述通信處理器共享;
加密單元8032,用于將所述第二網(wǎng)絡(luò)狀態(tài)信息和所述第二解鎖碼加密處理,并存儲(chǔ)在所述存儲(chǔ)區(qū)中;
發(fā)送單元8033,用于向所述通信處理器發(fā)送信息讀取消息,使得所述通信處理器從所述存儲(chǔ)區(qū)中讀取加密處理后的所述第二網(wǎng)絡(luò)狀態(tài)信息和所述第二解鎖碼。
可選地,還包括:
第二寫入模塊804,用于解鎖成功后,從所述存儲(chǔ)區(qū)中讀取加密處理后的所述第二網(wǎng)絡(luò)狀態(tài)信息和所述第二解鎖碼,并寫入回寫內(nèi)存保護(hù)區(qū)。
第六實(shí)施例
依據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,還提供了一種終端開機(jī)的裝置,如圖9所示,該裝置900包括:
第三判斷模塊901,用于接收到用戶輸入的開機(jī)指令時(shí),判斷所述終端是否熔絲;
第四判斷模塊902,用于當(dāng)所述第三判斷模塊901的判斷結(jié)果為否時(shí),讀取存儲(chǔ)在所述終端的通信處理器側(cè)的第一網(wǎng)絡(luò)狀態(tài)信息和存儲(chǔ)在應(yīng)用處理器側(cè)的第二網(wǎng)絡(luò)狀態(tài)信息,并判斷所述第一網(wǎng)絡(luò)狀態(tài)信息與所述第二網(wǎng)絡(luò)狀態(tài)信息是否一致;
第五判斷模塊903,用于當(dāng)所述第四判斷模塊902判斷所述第一網(wǎng)絡(luò)狀態(tài)信息與所述第二網(wǎng)絡(luò)狀態(tài)信息均為解網(wǎng)狀態(tài),則判斷存儲(chǔ)在所述終端的通信處理器側(cè)的第一解鎖碼與應(yīng)用處理器側(cè)的第二解鎖碼是否一致,若一致,所述終端啟動(dòng)進(jìn)入待機(jī)界面。
可選地,還包括:
熔絲模塊904,用于當(dāng)所述第四判斷模塊902判斷所述第一網(wǎng)絡(luò)狀態(tài)信息與所述第二網(wǎng)絡(luò)狀態(tài)信息不一致時(shí),或者當(dāng)所述第五判斷模塊903判斷所述第一解鎖碼與所述第二解鎖碼不一致時(shí),進(jìn)行熔絲。
可選地,還包括:
第六判斷模塊905,用于當(dāng)所述第四判斷模塊902判斷所述第一網(wǎng)絡(luò)狀態(tài) 信息與所述第二網(wǎng)絡(luò)狀態(tài)信息均為鎖網(wǎng)狀態(tài)時(shí),判斷smi卡鎖網(wǎng)參數(shù)與預(yù)先存儲(chǔ)在所述終端中的鎖網(wǎng)參數(shù)是否一致;若不一致,所述終端啟動(dòng)并進(jìn)入鎖網(wǎng)有限服務(wù)狀態(tài);若一致,所述終端啟動(dòng)并進(jìn)入待機(jī)界面。
可選地,所述第四判斷模塊902在所述讀取存儲(chǔ)在所述終端的通信處理器側(cè)的第一網(wǎng)絡(luò)狀態(tài)信息和存儲(chǔ)在應(yīng)用處理器側(cè)的第二網(wǎng)絡(luò)狀態(tài)信息,具體用于:
讀取所述終端的安區(qū)文檔系統(tǒng)中存儲(chǔ)的所述第一網(wǎng)絡(luò)狀態(tài)信息,以及所述終端的回寫內(nèi)存保護(hù)區(qū)中存儲(chǔ)的所述第二網(wǎng)絡(luò)狀態(tài)信息。
第七實(shí)施例
如圖10所示,為本發(fā)明實(shí)施例的終端的鎖網(wǎng)架構(gòu)圖。
其中,圖中通信處理器側(cè)包括:
鎖網(wǎng)引擎(simlockengine),用于處理通信處理器側(cè)的相關(guān)解鎖操作,執(zhí)行鎖網(wǎng)解鎖操作的主流程;
多模通用卡驅(qū)動(dòng)接口(mmgsditask),用于獲取sim卡消息,并提供給鎖網(wǎng)引擎;
sim卡驅(qū)動(dòng)(uim/simdrivers),用于驅(qū)動(dòng)sim卡;
安全文件系統(tǒng)(sfs),用于存儲(chǔ)鎖網(wǎng)相關(guān)參數(shù),并提供應(yīng)用程序編程(api)接口,其中,存儲(chǔ)在sfs中的數(shù)據(jù)均是加密存儲(chǔ)。
應(yīng)用處理器側(cè)包括:
系統(tǒng)用戶界面(androidui),用于提供解鎖碼輸入界面,顯示鎖網(wǎng)狀態(tài),提示解鎖出錯(cuò);
無(wú)線接口層驅(qū)動(dòng)(rild),作為系統(tǒng)用戶界面與通信處理器之間的無(wú)線協(xié)議接口;
鎖網(wǎng)應(yīng)用(simlockapp),運(yùn)行在信任區(qū)(trustzone),執(zhí)行應(yīng)用處理器側(cè)的密鑰驗(yàn)證算法,例如pbkdf2,檢查用戶輸入的解鎖碼是否正確,并在內(nèi)存中分配用于通信處理器與應(yīng)用處理器之間進(jìn)行數(shù)據(jù)傳輸?shù)拇鎯?chǔ)區(qū)(securechannel),其中,securechannel僅能被trustzone和通信處理器訪問(wèn),由芯片xpu進(jìn)行訪問(wèn)控制,傳輸數(shù)據(jù)為加密數(shù)據(jù),且密鑰只在通信處理器和trustzone之間共享;
回寫內(nèi)存保護(hù)區(qū)(rpmb),用于存儲(chǔ)鎖網(wǎng)相關(guān)參數(shù);
鎖網(wǎng)服務(wù)(simlockservice),主要功能為通信處理器向securechannel寫入加密數(shù)據(jù)以后,simlockservice收到相關(guān)通知消息,simlockservice發(fā)送通知消息通知trustzone從securechannel讀取相關(guān)數(shù)據(jù),同樣的,當(dāng)trustzone向securechannel寫入加密數(shù)據(jù)以后,通知simlockservice向通信處理器發(fā)送相關(guān)通知消息通知。
基于圖10所述的終端的鎖網(wǎng)架構(gòu)圖,其終端的開機(jī)流程如圖11所示。即:判斷終端是否篡改熔絲,若是,則終端進(jìn)入不可使用狀態(tài);若否,則判斷應(yīng)用處理器側(cè)與通信處理器側(cè)的鎖網(wǎng)狀態(tài)是否一致,若不一致,則進(jìn)行熔絲,進(jìn)而終端進(jìn)入不可使用狀態(tài),若一致,進(jìn)一步判斷是解鎖狀態(tài)還是鎖網(wǎng)狀態(tài);若均鎖網(wǎng)狀態(tài),則判斷鎖網(wǎng)參數(shù)與sim卡參數(shù)是否一致,若參數(shù)一致,則正常開機(jī),若參數(shù)不一致,則進(jìn)入鎖網(wǎng)有限服務(wù)狀態(tài);若均為解鎖狀態(tài),則正常開機(jī)。
基于圖10所述的終端的鎖網(wǎng)架構(gòu)圖,其終端的解鎖流程如圖12所示。即:當(dāng)用戶在上層系統(tǒng)輸入解鎖碼后,上層系統(tǒng)會(huì)將該解鎖碼分別傳給應(yīng)用處理器側(cè)和通信處理器側(cè),通信處理器側(cè)和應(yīng)用處理器側(cè)分別進(jìn)行哈希計(jì)算。
其中,在通信處理器側(cè),計(jì)算出第一解鎖哈希值(hck1),然后與sfs中存儲(chǔ)的第一哈希值進(jìn)行比較,如果一致第一網(wǎng)絡(luò)狀態(tài)信息(lockstate1)為(解鎖狀態(tài))unlocked,不一致為(鎖網(wǎng)狀態(tài))locked,將lockstate1及sfs中的第一解鎖碼(ck1)數(shù)據(jù)寫入securechannel。
在應(yīng)用處理器側(cè),計(jì)算出第二解鎖哈希值(hck2),然后與rpmb中存儲(chǔ)的第二哈希值進(jìn)行比較,如果一致第二網(wǎng)絡(luò)狀態(tài)信息(lockstate2)為unlocked,不一致為locked,將lockstate2及rpmb中的第二解鎖碼(ck2)數(shù)據(jù)寫入securechannel。
其中,當(dāng)通信處理器側(cè)收到應(yīng)用處理器側(cè)寫入數(shù)據(jù)通知后會(huì)檢查lockstate1與lockstate2以及ck1與ck2是否一致,如果一致,解鎖成功,鎖網(wǎng)狀態(tài)(lockstate)為解鎖,與解鎖碼(ck)一起寫入sfs及securechannel,由simlockservice通知trustzone,trustzone寫入rpmb;否則,判斷解鎖識(shí)別次數(shù)是否到達(dá)預(yù)定閾值,若否,提示用戶重新輸入,若是,終端重啟。
綜上所述,本實(shí)施例的終端的鎖網(wǎng)系統(tǒng)包括應(yīng)用處理器側(cè)和通信處理器側(cè)兩部分,進(jìn)行鎖網(wǎng)解除時(shí),在通信處理器側(cè)和應(yīng)用處理器側(cè)同時(shí)對(duì)輸入的解鎖 碼進(jìn)行驗(yàn)證,從而使得鎖網(wǎng)安全性更強(qiáng),破解難度更大。
以上所述的是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出對(duì)于本技術(shù)領(lǐng)域的普通人員來(lái)說(shuō),在不脫離本發(fā)明所述的原理前提下還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也在本發(fā)明的保護(hù)范圍內(nèi)。