專(zhuān)利名稱:Android智能終端運(yùn)行環(huán)境可信控制方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對(duì)Android智能終端中運(yùn)行的應(yīng)用程序進(jìn)行可信控制,特別涉及基于地理位置的Android智能終端運(yùn)行環(huán)境可信控制方法,屬于信息安全技術(shù)領(lǐng)域。
背景技術(shù):
隨著現(xiàn)有的移動(dòng)Android智能終端的普及,人們對(duì)Android智能終端的依賴性快速增強(qiáng),基于終端的應(yīng)用日益多祥化同時(shí)也更加難以掌控。對(duì)于某些特定的安全敏感區(qū)域,區(qū)域內(nèi)的發(fā)生的會(huì)議、通話、周?chē)h(huán)境等信息的機(jī)密性需要得到充分的保證,而移動(dòng)Android智能終端中惡意應(yīng)用的存在可能使這些機(jī)密信息隨時(shí)隨地迅速遭到竊取、傳播。為解決這類(lèi)問(wèn)題、一個(gè)有效的途徑是對(duì)移動(dòng)Android智能終端上運(yùn)行的應(yīng)用進(jìn)行遠(yuǎn)程監(jiān)控和管理,及時(shí)的掌握移動(dòng)Android智能終端運(yùn)行的應(yīng)用程序,并阻止不安全應(yīng)用的執(zhí)行。然而,該類(lèi)方案面臨的ー個(gè)重要的挑戰(zhàn)是如何防止惡意軟件對(duì)上述監(jiān)控管理行為進(jìn)行旁路、欺騙及篡改。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種有效的途徑對(duì)移動(dòng)Android智能終端上運(yùn)行的應(yīng)用進(jìn)行遠(yuǎn)程監(jiān)控,及時(shí)的掌握移動(dòng)Android智能終端運(yùn)行的應(yīng)用程序,井能夠有效地阻止不安全應(yīng)用的執(zhí)行。為了達(dá)到上述目的,本發(fā)明提出一種基于地理位置的Android智能終端運(yùn)行環(huán)境可信控制方法及系統(tǒng)。本發(fā)明包括的基于地理位置的Android智能終端運(yùn)行環(huán)境可信控制系統(tǒng)架構(gòu)可以劃分為兩個(gè)子系統(tǒng),分別為監(jiān)控中心子系統(tǒng)和Android終端運(yùn)行狀態(tài)度量與報(bào)告子系統(tǒng)。本發(fā)明Android智能終端運(yùn)行環(huán)境可信控制方法,其步驟為I)對(duì)Android智能終端采用Android OS安全啟動(dòng),所述Android OS安全啟動(dòng)過(guò)程觸發(fā)狀態(tài)度量服務(wù);2)所述狀態(tài)度量服務(wù)對(duì)該Android智能終端上的Android初始化代碼進(jìn)行度量并驗(yàn)證,完成Android OS安全啟動(dòng);3)所述Android OS安全啟動(dòng)完成后,在所述Android智能終端中啟動(dòng)Androiddalvik 應(yīng)用;4)若所述Android智能終端存在于設(shè)定敏感區(qū)域內(nèi),貝U發(fā)送所述Android dalvik應(yīng)用完整性信息到監(jiān)控中心進(jìn)行安全信息驗(yàn)證;5)所述監(jiān)控中心根據(jù)安全策略驗(yàn)證所述Android dalvik應(yīng)用完整性信息,并返回驗(yàn)證結(jié)果到所述Android智能終端;6)所述Android智能終端在設(shè)定的時(shí)間周期內(nèi)再次發(fā)送所述Android dalvik完整性信息到監(jiān)控中心驗(yàn)證,所述監(jiān)控中心切斷未通過(guò)驗(yàn)證的Android智能終端網(wǎng)絡(luò)信號(hào),對(duì)通過(guò)驗(yàn)證的Android智能終端保持可信連接;
7)當(dāng)所述Android智能終端離開(kāi)敏感區(qū)域,結(jié)束可信控制。發(fā)送所述Android dalvik應(yīng)用完整性信息到監(jiān)控中心進(jìn)行安全信息驗(yàn)證的方法如下2-1)若初次檢測(cè)在敏感區(qū)域內(nèi),終端向監(jiān)控中心發(fā)送用戶名,同時(shí)終端存儲(chǔ)用戶輸入的服務(wù)器預(yù)分配口令于內(nèi)存中;2-2)所述監(jiān)控中心返回隨機(jī)數(shù)至終端,該終端若持續(xù)未接收到監(jiān)控中心數(shù)據(jù)則鎖定終端操作;2-3)度量值上傳模塊對(duì)隨機(jī)數(shù)及用戶預(yù)分配口令進(jìn)行Sha-1運(yùn)算,生成Androiddalvik應(yīng)用完整性信息的加密密鑰;2-4)終端通過(guò)度量值上傳模塊主動(dòng)報(bào)告加密后的Android dalvik應(yīng)用完整性信息至監(jiān)控中心進(jìn)行驗(yàn)證。所述監(jiān)控中心根據(jù)安全策略驗(yàn)證所述Android dalvik應(yīng)用完整性信息的方法如下3-1) Android終端完整性信息收集模塊收集終端Android dalvik應(yīng)用完整性信息,同時(shí)把安全策略管理模塊中包含不安全dalvik應(yīng)用的度量值存入黑名單中并進(jìn)行實(shí)時(shí)更新;3-2)Android終端完整性信息收集模塊使用用戶名對(duì)應(yīng)的隨機(jī)數(shù)及用戶口令生成解密密鑰;3-3) Android終端完整性信息收集模塊對(duì)Android dalvik應(yīng)用完整性信息進(jìn)行解密;3-4)使用Android終端完整性驗(yàn)證模塊依次驗(yàn)證Android dalvik應(yīng)用完整性信息中的完整性度量值流是否符合安全策略;3-5)所述Android終端完整性驗(yàn)證模塊記錄PID-Unsecure不安全應(yīng)用進(jìn)程ID并發(fā)送不安全應(yīng)用進(jìn)程名及ID至Android終端完整性信息收集模塊;3-6)所述Android終端完整性信息收集模塊將返回不安全應(yīng)用進(jìn)程ID及對(duì)應(yīng)的進(jìn)程名至終端的度量值上傳模塊。在設(shè)定的時(shí)間周期內(nèi)再次發(fā)送所述Android dalvik完整性信息到監(jiān)控中心驗(yàn)證的方法如下4-1)度量值上傳模塊直接關(guān)閉由監(jiān)控中心返回的不安全應(yīng)用進(jìn)程ID的對(duì)應(yīng)進(jìn)4-2)用戶確認(rèn)后,度量值上傳模塊再次上傳所述Android dalvik應(yīng)用完整性信息至監(jiān)控中心;4-3)所述Android終端完整性驗(yàn)證模塊再次驗(yàn)證收到的Android dalvik應(yīng)用完整性信息中的完整性度量值流是否符合安全策略,同時(shí)驗(yàn)證新上傳的Android dalvik應(yīng)用完整性信息中是否包含PID-Unsecure ;4-4)若不符合安全策略或新上傳的Android dalvik應(yīng)用完整性信息中包含PID-Unsecure則發(fā)送切斷終端網(wǎng)絡(luò)信號(hào)指令至網(wǎng)絡(luò)連接控制模塊;4-5)所述網(wǎng)絡(luò)連接控制模塊切斷終端對(duì)其安全域內(nèi)網(wǎng)絡(luò)服務(wù)的訪問(wèn)能力。判斷所述Android智能終端存在于設(shè)定敏感區(qū)域內(nèi)的方法如下
5-1)在所述終端地理位置監(jiān)控模塊中設(shè)置敏感的GPS區(qū)域位置范圍;5-2)該終端實(shí)時(shí)判斷目前地理位置是否位于敏感域范圍內(nèi);5-3)若所述終端位于敏感區(qū)域則向監(jiān)控中心發(fā)送驗(yàn)證信息。所述Android OS安全啟動(dòng)方法如下6-1)采用所述終端的OTP存儲(chǔ)引導(dǎo)程序,引導(dǎo)程序度量Android Linux內(nèi)核并根據(jù)存儲(chǔ)于內(nèi)存中的度量值進(jìn)行驗(yàn)證;6-2)若驗(yàn)證通過(guò)Android內(nèi)核正常啟動(dòng),使用所述Android內(nèi)核態(tài)的完整性度量模塊度量Android初始化代碼;6-3)初始完整性驗(yàn)證模塊驗(yàn)證輸入的Android初始化代碼度量值并輸出驗(yàn)證結(jié)果;6-4)將驗(yàn)證結(jié)果返回至完整性度量模塊,該模塊根據(jù)驗(yàn)證結(jié)果確定Android操作系統(tǒng)初始化決策。對(duì)所述Android初始化代碼進(jìn)行度量?jī)?nèi)容包括度量的Android OS內(nèi)核模塊和Android初始化配置文件;度量守護(hù)進(jìn)程和度量Dalvik虛擬機(jī)初始化進(jìn)程;度量應(yīng)用層的狀態(tài)報(bào)告服務(wù)。對(duì)所述Android初始化代碼進(jìn)行驗(yàn)證內(nèi)容包括驗(yàn)證Android OS內(nèi)核模塊的度量值并返回驗(yàn)證結(jié)果;驗(yàn)證Android初始化配置文件度量值并返回驗(yàn)證結(jié)果;驗(yàn)證守護(hù)進(jìn)程的度量值并返回結(jié)果;驗(yàn)證dalvik虛擬機(jī)初始化進(jìn)程的度量值并返回驗(yàn)證結(jié)果;驗(yàn)證應(yīng)用層的狀態(tài)報(bào)告服務(wù)的度量值并返回驗(yàn)證結(jié)果。所述度量應(yīng)用層的狀態(tài)報(bào)告服務(wù)的流程是9-1)操作系統(tǒng)Android OS啟動(dòng)完成后自啟動(dòng)狀態(tài)報(bào)告服務(wù);并通過(guò)MMAP映射狀態(tài)報(bào)告服務(wù)Apk包中的.dex文件至dalvik虛擬機(jī)內(nèi)存空間;9-2)所述操作系統(tǒng)調(diào)用內(nèi)核態(tài)的完整性度量模塊對(duì)內(nèi)存中的.dex文件進(jìn)行度量生成度量值。本發(fā)明還提出ー種Android智能終端運(yùn)行環(huán)境可信控制系統(tǒng),包括監(jiān)控中心子系統(tǒng)和Android終端運(yùn)行狀態(tài)度量與報(bào)告子系統(tǒng),其特征在干,所述監(jiān)控中心子系統(tǒng)包括Android終端完整性信息收集模塊,用于收集Android終端發(fā)送的Androiddalvik應(yīng)用完整性信息,同時(shí)返回不安全應(yīng)用程序ID及對(duì)應(yīng)進(jìn)程名至Android終端;Android終端完整性驗(yàn)證模塊,對(duì)輸入Android dalvik應(yīng)用完整性信息進(jìn)行驗(yàn)證和記錄不安全進(jìn)程ID,還用于發(fā)送不安全應(yīng)用進(jìn)程ID、進(jìn)程名至Android終端完整性信息終端模塊及對(duì)再次輸入的完整性信息進(jìn)行驗(yàn)證;安全策略管理模塊,將包含不安全dalvik應(yīng)用的度量值存入黑名單中,并更新黒名單中的dalvik應(yīng)用度量值;網(wǎng)絡(luò)連接控制模塊,用于控制基站/熱點(diǎn)與終端之間的信號(hào)連接,切斷終端運(yùn)行不安全dalvik應(yīng)用與熱點(diǎn)/基站間的通信連接;所述Android終端運(yùn)行狀態(tài)度量與報(bào)告子系統(tǒng)分為Android終端狀態(tài)報(bào)告服務(wù)系統(tǒng)和Android終端狀態(tài)度量服務(wù)系統(tǒng);
所述Android終端狀態(tài)報(bào)告服務(wù)系統(tǒng)包括終端地理位置監(jiān)控模塊,驗(yàn)證終端位置是否位于敏感區(qū)域內(nèi),若位于敏感域內(nèi)則通過(guò)度量值上傳模塊,將生成的Android dalvik應(yīng)用完整性信息發(fā)送到監(jiān)控中心子系統(tǒng)進(jìn)行驗(yàn)證;度量值上傳模塊,將由內(nèi)核完整性度量模塊度量生成的Android終端完整性度量值及對(duì)應(yīng)的Android dalvik應(yīng)用進(jìn)程名和當(dāng)前正在運(yùn)行進(jìn)程ID發(fā)送至監(jiān)控中心的完整性信息收集模塊;所述Android終端狀態(tài)度量服務(wù)系統(tǒng)包括安全引導(dǎo)模塊,保證Android智能終端啟動(dòng)時(shí)裝載的Linux內(nèi)核文件可信;內(nèi)核層的完整性度量模塊,負(fù)責(zé)對(duì)Android智能終端中裝載的內(nèi)核模塊、可執(zhí)行代碼和Android dalvik應(yīng)用進(jìn)行度量;初始完整性驗(yàn)證模塊,負(fù)責(zé)保證智能終端在啟動(dòng)過(guò)程中,Android初始化代碼包括裝載的Android OS內(nèi)核模塊、Android初始化配置文件、守護(hù)進(jìn)程、dalvik虛擬機(jī)初始化進(jìn)程、應(yīng)用層狀態(tài)報(bào)告服務(wù)均屬于可信狀態(tài),從而形成完整的終端啟動(dòng)信任鏈。本發(fā)明的有益效果本發(fā)明使用的Android dalvik應(yīng)用的完整性度量值來(lái)準(zhǔn)確的標(biāo)識(shí)應(yīng)用,通過(guò)報(bào)告Android dalvik應(yīng)用的完整性度量值至監(jiān)控中心進(jìn)行驗(yàn)證的方式使進(jìn)入到敏感域內(nèi)的移動(dòng)Android智能終端上運(yùn)行的應(yīng)用程序得到了有效的遠(yuǎn)程控制和管理,及時(shí)的掌握移動(dòng)Android智能終端運(yùn)行的應(yīng)用程序,并通過(guò)切斷智能終端對(duì)其安全域內(nèi)網(wǎng)絡(luò)服務(wù)的訪問(wèn)能力來(lái)防止機(jī)密信息的竊取擴(kuò)散,保證了敏感區(qū)域內(nèi)敏感信息的機(jī)密性。
圖1是本發(fā)明基于地理位置的Android智能終端運(yùn)行環(huán)境可信控制方法系統(tǒng)示意圖;圖2是本發(fā)明基于地理位置的Android智能終端運(yùn)行環(huán)境可信控制方法流程示意圖;圖3是本發(fā)Android智能終端運(yùn)行環(huán)境可信控制方法一實(shí)施例中安全啟動(dòng)方法示意圖;圖4是本發(fā)Android智能終端運(yùn)行環(huán)境可信控制方法一實(shí)施例中Android dalvik不安全應(yīng)用遠(yuǎn)程控制方法示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,可以理解的是,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。如圖1所示是本發(fā)明基于地理位置的Android智能終端運(yùn)行環(huán)境可信控制方法系統(tǒng)示意圖,監(jiān)控中心子系統(tǒng)包括了 Android終端完整性信息收集模塊、Android終端完整性驗(yàn)證模塊、安全策略管理模塊及網(wǎng)絡(luò)連接控制模塊。監(jiān)控中心主要提供對(duì)敏感域地理范圍內(nèi)的Android智能終端的完整性度量值(具體可參見(jiàn)Reiner Sailer, Xiaolan/,hang, Trent Jaeger, Leendert Van Doorn, Design and Implementation of a TCb-BasedIntegrity Measurement Architecture Thomas J. Watson Research Center. YorktownHeights,NY10598)進(jìn)程驗(yàn)證,必要時(shí)切斷終端對(duì)其安全域內(nèi)網(wǎng)絡(luò)服務(wù)的訪問(wèn)能力,及時(shí)的防止安全敏感信息的竊取或擴(kuò)散。所述的敏感域地理范圍在這個(gè)環(huán)境內(nèi)的很多會(huì)議音頻,圖片,等都是保密的,所以我們就會(huì)遠(yuǎn)程監(jiān)控這個(gè)區(qū)域內(nèi)的用戶的手機(jī)攝像頭或收音機(jī)等是否開(kāi)啟,開(kāi)啟的話則要求強(qiáng)制關(guān)閉,防止用戶拍攝機(jī)密的照片帶出保密區(qū)域外。Android終端運(yùn)行狀態(tài)度量與報(bào)告子系統(tǒng)則包含了狀態(tài)度量服務(wù)和狀態(tài)報(bào)告服務(wù)。狀態(tài)度量服務(wù)由處于智能終端一次性編程區(qū)OTP(One Time Programmable)的安全引導(dǎo)模塊、處于內(nèi)核層的完整性度量模塊和初始完整性驗(yàn)證模塊共同組成。安全引導(dǎo)模塊保證Android智能終端啟動(dòng)時(shí)裝載的Linux內(nèi)核文件可信。完整性度量模塊負(fù)責(zé)對(duì)Android智能終端中裝載的內(nèi)核模塊、可執(zhí)行代碼和Android的dalvik應(yīng)用進(jìn)行度量。最開(kāi)始的完整性度量是基于Iinux的,本發(fā)明中把完整性度量搬移到了 Android操作系統(tǒng)上,從而可以度量ー些Android的應(yīng)用,因?yàn)锳ndroid應(yīng)用的運(yùn)行首先都會(huì)復(fù)制Zygote進(jìn)程創(chuàng)建ー個(gè)dalvik虛擬機(jī),故稱為Android dalvik應(yīng)用,dalvik應(yīng)用的度量值和傳統(tǒng)度量值長(zhǎng)度是ー樣的,都是32位hash值。初始完整性驗(yàn)證模塊負(fù)責(zé)保證智能終端在啟動(dòng)過(guò)程中,所有Android初始化代碼包括裝載的Android OS內(nèi)核模塊、Android初始化配置文件、守護(hù)進(jìn)程、dalvik虛擬機(jī)初始化進(jìn)程、應(yīng)用層狀態(tài)報(bào)告服務(wù)均屬于可信狀態(tài)。位于應(yīng)用層的狀態(tài)報(bào)告服務(wù)包含了終端地理位置監(jiān)控模塊和度量值上傳模塊。終端地理位置監(jiān)控模塊會(huì)實(shí)時(shí)監(jiān)控終端的地理位置,驗(yàn)證終端位置是否位于敏感區(qū)域內(nèi),基站與手機(jī)之間的通信是不需要控制和保證可信的,只是在發(fā)現(xiàn)終端有不安全應(yīng)用在執(zhí)行時(shí)最后需要切斷基站與終端的信號(hào)連接,防止把機(jī)密信息發(fā)送出去。若位于敏感域內(nèi)則通過(guò)度量值上傳模塊,將生成的Android Dalvik應(yīng)用完整性信息發(fā)送到監(jiān)控中心子系統(tǒng)進(jìn)行驗(yàn)證。下面對(duì)在該體系架構(gòu)中,基于地理位置的Android智能終端運(yùn)行環(huán)境可信控制方法進(jìn)行說(shuō)明,包括如下步驟Android終端運(yùn)行狀態(tài)度量與報(bào)告子系統(tǒng)是在用戶端Android智能終端上的運(yùn)用,監(jiān)控中心子系統(tǒng)在服務(wù)器上,在進(jìn)行可信控制吋,手機(jī)Android終端先打開(kāi)應(yīng)用程序(可信或不可信),即對(duì)輸入的Android dalvik應(yīng)用可信進(jìn)行判斷;然后監(jiān)控系統(tǒng)根據(jù)可信與否,關(guān)閉或者對(duì)應(yīng)用程序保持監(jiān)控,監(jiān)控系統(tǒng)會(huì)對(duì)信息進(jìn)行重新的安全驗(yàn)證(由內(nèi)核中的系統(tǒng)定時(shí)進(jìn)行驗(yàn)證)。本發(fā)明中Android dalvik應(yīng)用的完整性度量涉及到內(nèi)核中的完整性度量模塊。只需要在內(nèi)核中嵌入我們的完整性度量模塊,就可以實(shí)現(xiàn)對(duì)Android應(yīng)用度量。由于Android應(yīng)用啟動(dòng)時(shí)會(huì)把代碼導(dǎo)入到dalvik虛擬機(jī),而虛擬機(jī)會(huì)將代碼使用MMAP函數(shù)映射到內(nèi)存區(qū)域,我們的完整度量模塊通過(guò)復(fù)寫(xiě)Iinux的安全增強(qiáng)框架就能截獲MMAP的映射活動(dòng),從而可以對(duì)內(nèi)存區(qū)域的dalvik應(yīng)用代碼做度量,這里的度量其實(shí)就是對(duì)代碼做sha-1運(yùn)算。本系統(tǒng)中的不安全應(yīng)用不一定就是病毒或者惡意軟件,有些如攝像機(jī),錄音機(jī)這樣的應(yīng)用對(duì)本系統(tǒng)來(lái)講也是不安全的,因?yàn)檫@些應(yīng)用會(huì)在敏感區(qū)域偷拍機(jī)密信息。
子監(jiān)控系統(tǒng)Android終端完整性信息收集模塊,收集Android終端發(fā)送的Android dalvik應(yīng)用完整性信息,返回不安全應(yīng)用程序ID及對(duì)應(yīng)進(jìn)程名至Android終端。Android終端完整性驗(yàn)證模塊,I)輸入Android dalvik應(yīng)用完整性信息進(jìn)行驗(yàn)證,2)記錄不安全進(jìn)程ID,3)發(fā)送不安全應(yīng)用進(jìn)程ID、進(jìn)程名至Android終端完整性信息手機(jī)模塊;4)對(duì)再次輸入的完整性信息進(jìn)行驗(yàn)證;安全策略管理模塊,將包含不安全dalvik應(yīng)用的度量值存入黑名單中,及時(shí)更新黑名單中的dalvik應(yīng)用度量值。網(wǎng)絡(luò)連接控制模塊,用來(lái)控制基站/熱點(diǎn)與終端之間的信號(hào)連接,一旦發(fā)現(xiàn)終端運(yùn)行著不安全dalvik應(yīng)用則切斷熱點(diǎn)/基站與終端之間的通信連接。Android終端狀態(tài)報(bào)告服務(wù)終端地理位置監(jiān)控模塊,會(huì)實(shí)時(shí)監(jiān)控終端的地理位置,驗(yàn)證終端位置是否位于敏感區(qū)域內(nèi),若位于敏感域內(nèi)則通過(guò)度量值上傳模塊,將生成的Android dalvik應(yīng)用完整性信息發(fā)送到監(jiān)控中心子系統(tǒng)進(jìn)行驗(yàn)證。度量值上傳模塊,將由內(nèi)核完整性度量模塊度量生成的Android終端完整性度量值及對(duì)應(yīng)的Android dalvik應(yīng)用進(jìn)程名和當(dāng)前正在運(yùn)行進(jìn)程ID發(fā)送至監(jiān)控中心的完整性信息收集模塊。Android終端狀態(tài)度量服務(wù)安全引導(dǎo)模塊,保證Android智能終端啟動(dòng)時(shí)裝載的Linux內(nèi)核文件可信;內(nèi)核層的完整性度量模塊,負(fù)責(zé)對(duì)Android智能終端中裝載的內(nèi)核模塊、可執(zhí)行代碼和Android dalvik應(yīng)用進(jìn)行度量;初始完整性驗(yàn)證I旲塊,負(fù)責(zé)保證智能終端在啟動(dòng)過(guò)程中,所有Android初始化代碼包括裝載的Android OS內(nèi)核模塊、Android初始化配置文件、守護(hù)進(jìn)程、dalvik虛擬機(jī)初始化進(jìn)程、應(yīng)用層狀態(tài)報(bào)告服務(wù)均屬于可信狀態(tài),從而形成完整的終端啟動(dòng)信任鏈。如圖2所示是本發(fā)明基于地理位置的Android智能終端運(yùn)行環(huán)境可信控制方法流程示意圖,基于上述系統(tǒng),本發(fā)明提出了基于地理位置的Android智能終端運(yùn)行環(huán)境控制方法如下I)通過(guò)位于智能終端OTP中的安全引導(dǎo)模塊安全啟動(dòng)Android OS,在Android OS安全啟動(dòng)過(guò)程中會(huì)啟用狀態(tài)度量服務(wù)。狀態(tài)度量服務(wù)將對(duì)Android的初始化代碼進(jìn)行度量并驗(yàn)證。所述狀態(tài)度量服務(wù)相當(dāng)于在內(nèi)核中添加了一些安全模塊,手機(jī)出廠時(shí)就內(nèi)嵌于Iinux內(nèi)核當(dāng)中的,也就是說(shuō)手機(jī)啟動(dòng)時(shí)狀態(tài)度量服務(wù)就會(huì)啟動(dòng),同時(shí),狀態(tài)報(bào)告服務(wù)也會(huì)啟動(dòng),狀態(tài)度量服務(wù)我們已經(jīng)可以實(shí)現(xiàn)。2) Android OS安全啟動(dòng)完畢后,Android dalvik應(yīng)用將進(jìn)行可信啟動(dòng),Android終端實(shí)時(shí)監(jiān)測(cè)終端所處地理位置是否位于預(yù)設(shè)定的敏感區(qū)域內(nèi)。3)Android終端報(bào)告Android dalvik應(yīng)用完整性信息至監(jiān)控中心,監(jiān)控中心依據(jù)安全策略管理模塊的安全策略依次驗(yàn)證Android dalvik應(yīng)用完整性信息,并通過(guò)Android終端完整性信息收集模塊返回驗(yàn)證結(jié)果至終端。終端依據(jù)驗(yàn)證結(jié)果實(shí)施相應(yīng)操作后再次驗(yàn)證Android dalvik應(yīng)用完整性信息是否安全。如圖3是本發(fā)Android智能終端運(yùn)行環(huán)境可信控制方法一實(shí)施例中安全啟動(dòng)方法示意圖。其所述安全啟動(dòng)的流程是A、采用OTP存儲(chǔ)引導(dǎo)程序,該區(qū)域作為系統(tǒng)的度量信任根的存儲(chǔ)區(qū)域;B、引導(dǎo)程序度量Android Linux內(nèi)核,根據(jù)存儲(chǔ)于內(nèi)存中的度量值進(jìn)行驗(yàn)證C、驗(yàn)證通過(guò),Android內(nèi)核正常啟動(dòng);D、使用內(nèi)核態(tài)的完整性度量模塊度量Android初始化代碼;E、使用初始完整性驗(yàn)證模塊驗(yàn)證輸入的Android初始化代碼度量值并輸出驗(yàn)證結(jié)果;F、將驗(yàn)證結(jié)果返回至完整性度量模塊,該模塊根據(jù)驗(yàn)證結(jié)果確定系統(tǒng)初始化決策。其所述的度量Android初始化代碼,在開(kāi)機(jī)就會(huì)完成是嵌入到Android Iinux內(nèi)核中,具體的流程是A、度量的Android OS內(nèi)核模塊;B、度量Android初始化配置文件;C、度量守護(hù)進(jìn)程;D、度量dalvik虛擬機(jī)初始化進(jìn)程;E、度量應(yīng)用層的狀態(tài)報(bào)告服務(wù)。其所述度量應(yīng)用層的狀態(tài)報(bào)告服務(wù)的流程是a、f呆作系統(tǒng)啟動(dòng)完成后,自啟動(dòng)狀態(tài)報(bào)告服務(wù);b、操作系統(tǒng)通過(guò)MMAP映射狀態(tài)報(bào)告服務(wù)Apk包中的.dex文件至dalvik虛擬機(jī)內(nèi)存空間;C、操作系統(tǒng)調(diào)用內(nèi)核態(tài)的完整性度量模塊對(duì)內(nèi)存中的.dex文件進(jìn)行度量。d、操作系統(tǒng)生成度量值。其所述驗(yàn)證輸入的Android初始化代碼度量值流程是a、驗(yàn)證Android OS內(nèi)核模塊的度量值并返回驗(yàn)證結(jié)果;b、驗(yàn)證Android初始化配置文件度量值并返回驗(yàn)證結(jié)果;C、驗(yàn)證守護(hù)進(jìn)程的度量值并返回結(jié)果;d、驗(yàn)證dalvik虛擬機(jī)初始化進(jìn)程的度量值并返回驗(yàn)證結(jié)果;e、驗(yàn)證應(yīng)用層的狀態(tài)報(bào)告服務(wù)的度量值并返回驗(yàn)證結(jié)果;其所述驗(yàn)證結(jié)果特征是分為驗(yàn)證通過(guò)、驗(yàn)證不通過(guò)、初始完整性驗(yàn)證通過(guò)三種。其所述系統(tǒng)初始化決策的特征是分為繼續(xù)執(zhí)行Android初始化代碼度量、禁止系統(tǒng)啟動(dòng)兩種。其所述實(shí)時(shí)監(jiān)測(cè)終端所處地理位置是否位于預(yù)設(shè)定的敏感區(qū)域內(nèi)流程在于A、在終端地理位置監(jiān)控模塊中設(shè)置敏感的GPS區(qū)域位置范圍;B、終端實(shí)時(shí)判斷目前地理位置是否位于敏感域范圍內(nèi);C、位于敏感區(qū)域則向監(jiān)控中心發(fā)送挑戰(zhàn)信息。其所述可信啟動(dòng)的流程是A、智能終端上的內(nèi)核中操作系統(tǒng)通過(guò)MMAP映射Android Apk包中的.dex文件至dalvik虛擬機(jī)內(nèi)存空間;
B、內(nèi)核態(tài)完整性度量模塊對(duì)內(nèi)存中的.dex文件進(jìn)行度量。C、生成度量值。其所述報(bào)告Android dalvik完整性信息的流程是A、若初次檢測(cè)在敏感區(qū)域內(nèi),終端向監(jiān)控中心發(fā)送用戶名,同時(shí)終端存儲(chǔ)用戶輸入的服務(wù)器預(yù)分配口令于內(nèi)存中;B、監(jiān)控中心返回隨機(jī)數(shù)至終端;C、終端若持續(xù)未接收到監(jiān)控中心數(shù)據(jù)則鎖定終端操作;D、度量值上傳模塊對(duì)隨機(jī)數(shù)及用戶預(yù)分配口令進(jìn)行Sha-1運(yùn)算,生成Androiddalvik應(yīng)用完整性信息的加密密鑰;E、客戶端通過(guò)度量值上傳模塊主動(dòng)報(bào)告加密后的Android dalvik應(yīng)用完整性信息至監(jiān)控中心進(jìn)行驗(yàn)證;F、報(bào)告內(nèi)容包括Android dalvik應(yīng)用完整性度量值、Android dalvik應(yīng)用進(jìn)程名及當(dāng)前正在運(yùn)行進(jìn)程ID三種屬性。其所述驗(yàn)證Android dalvik應(yīng)用完整性信息的流程是A、及時(shí)更新安全策略管理模塊中的安全策略;B、Android終端完整性信息收集模塊收集終端Android dalvik應(yīng)用完整性信息;C.Android終端完整性信息收集模塊使用用戶名對(duì)應(yīng)的隨機(jī)數(shù)及用戶口令生成解密密鑰;D、Android終端完整性信息收集模塊對(duì)Android dalvik應(yīng)用完整性信息進(jìn)行解密;E、使用Android終端完整性驗(yàn)證模塊依次驗(yàn)證Android dalvik應(yīng)用完整性信息中的完整性度量值流是否符合安全策略;F、Android終端完整性驗(yàn)證模塊記錄不安全應(yīng)用進(jìn)程ID (PID-Unsecure);G、Android終端完整性驗(yàn)證模塊發(fā)送不安全應(yīng)用進(jìn)程名及ID至Android終端完整性信息收集模塊;H、Android終端完整性信息收集模塊將返回不安全應(yīng)用進(jìn)程ID及對(duì)應(yīng)的進(jìn)程名至終端的度量值上傳模塊;其所述再次驗(yàn)證Android dalvik應(yīng)用完整性信息是否安全的流程是A、度量值上傳模塊直接關(guān)閉由監(jiān)控中心返回的不安全應(yīng)用進(jìn)程ID的對(duì)應(yīng)進(jìn)程;B、用戶確認(rèn)后,度量值上傳模塊再次上傳Android dalvik應(yīng)用完整性信息至監(jiān)控中心;C、Android終端完整性驗(yàn)證模塊再次驗(yàn)證收到的Android dalvik應(yīng)用完整性信息中的完整性度量值流是否符合安全策略,同時(shí)驗(yàn)證新上傳的Android dalvik應(yīng)用完整性信息中是否包含PID-Unsecure ;D、若不符合安全策略或新上傳的Android dalvik應(yīng)用完整性信息中包含PID-Unsecure則發(fā)送切斷終端網(wǎng)絡(luò)信號(hào)指令至網(wǎng)絡(luò)連接控制模塊;E、網(wǎng)絡(luò)連接控制模塊切斷終端對(duì)其安全域內(nèi)網(wǎng)絡(luò)服務(wù)的訪問(wèn)能力;其所述切斷終端對(duì)其安全域內(nèi)網(wǎng)絡(luò)服務(wù)的訪問(wèn)能力的特征是屏蔽敏感域內(nèi)的其他干擾信號(hào)。
本發(fā)明的方法是由終端平臺(tái)上的Android完整性度量子系統(tǒng)和監(jiān)控中心子系統(tǒng)架構(gòu)組成。本方法采用信任鏈的構(gòu)建傳遞來(lái)防止惡意軟件對(duì)本系統(tǒng)進(jìn)行旁路、欺騙及篡改。終端中的安全引導(dǎo)模塊保證Android智能終端啟動(dòng)時(shí)裝載的Linux內(nèi)核文件可信,它構(gòu)成了終端安全啟動(dòng)的信任根。在智能終端在啟動(dòng)過(guò)程中,初始完整性驗(yàn)證模塊會(huì)驗(yàn)證所有裝載的Android初始化配置文件、Android操作系統(tǒng)內(nèi)核模塊、dalvik虛擬機(jī)初始化進(jìn)程、應(yīng)用層狀態(tài)報(bào)告服務(wù)所生成的度量值,保證操作系統(tǒng)以及本方法中的應(yīng)用層服務(wù)安全啟動(dòng)。在系統(tǒng)安全啟動(dòng)后,系統(tǒng)將進(jìn)入可信啟動(dòng)狀態(tài),完成對(duì)系統(tǒng)運(yùn)行過(guò)程中所有被運(yùn)行應(yīng)用的度量。位于應(yīng)用層的狀態(tài)報(bào)告服務(wù)的終端地理位置監(jiān)控模塊會(huì)實(shí)時(shí)對(duì)終端的地理位置進(jìn)程監(jiān)控,驗(yàn)證終端位置是否位于安全敏感區(qū)域內(nèi),若位于敏感域內(nèi)則通過(guò)度量值上傳模塊,將生成的Android dalvik應(yīng)用完整性信息發(fā)送到監(jiān)控中心子系統(tǒng)進(jìn)行驗(yàn)證。如圖4所示是本發(fā)Android智能終端運(yùn)行環(huán)境可信控制方法一實(shí)施例中Androiddalvik不安全應(yīng)用遠(yuǎn)程控制方法示意圖。本發(fā)明的基于地理位置的Android智能終端運(yùn)行環(huán)境可信控制方法包括如下步驟I)通過(guò)位于智能終端OTP中的安全引導(dǎo)模塊安全啟動(dòng)Android OS,在Android OS安全啟動(dòng)過(guò)程中會(huì)啟用狀態(tài)度量服務(wù)。狀態(tài)度量服務(wù)將對(duì)Android的初始化代碼進(jìn)行度量并驗(yàn)證。A、安全引導(dǎo)Android Linux內(nèi)核,加載內(nèi)核中的完整性度量模塊;B、Android操作系統(tǒng)內(nèi)核模塊調(diào)用完整性度量模塊生成度量值并輸出;C、將輸出的Android操作系統(tǒng)內(nèi)核模塊度量值輸入初始完整性驗(yàn)證模塊中進(jìn)行驗(yàn)證;D、返回驗(yàn)證結(jié)果給完整性度量模塊;E、完整性度量模塊根據(jù)返回的驗(yàn)證結(jié)果不同選擇相應(yīng)的系統(tǒng)初始化決策;a)驗(yàn)證通過(guò)系統(tǒng)繼續(xù)執(zhí)行Android操作系統(tǒng)內(nèi)核;b)驗(yàn)證不通過(guò)禁止系統(tǒng)啟動(dòng);c)初始完整性驗(yàn)證成功繼續(xù)執(zhí)行狀態(tài)報(bào)告服務(wù)。F、驗(yàn)證通過(guò)后繼續(xù)執(zhí)行Android操作系統(tǒng)內(nèi)核,啟動(dòng)Android初始化配置文件;G、Android初始化配置文件調(diào)用完整性度量模塊生成度量值并輸出;H、將輸出度量值輸入初始完整性驗(yàn)證模塊中進(jìn)行驗(yàn)證并返回驗(yàn)證結(jié)果給完整性度量模塊;1、驗(yàn)證結(jié)果通過(guò)則繼續(xù)執(zhí)行Android初始化配置,并調(diào)用守護(hù)進(jìn)程及dalvik虛擬機(jī)初始化模塊;J、守護(hù)進(jìn)程及dalvik虛擬機(jī)初始化進(jìn)程調(diào)用完整性度量模塊生成度量值,并將度量值輸入初始完整性驗(yàn)證模塊進(jìn)行驗(yàn)證,返回驗(yàn)證結(jié)果給完整性度量模塊;K、驗(yàn)證通過(guò)則繼續(xù)執(zhí)行守護(hù)進(jìn)程及dalvik虛擬機(jī)初始化進(jìn)程,并最終啟動(dòng)應(yīng)用層狀態(tài)報(bào)告服務(wù);L、應(yīng)用層狀態(tài)報(bào)告服務(wù)啟動(dòng)并調(diào)用完整性度量模塊生成度量值,具體的度量流程是a)操作系統(tǒng)通過(guò)MMAP映射狀態(tài)報(bào)告服務(wù)Apk包中的.dex文件至dalvik虛擬機(jī)內(nèi)存空間;b)操作系統(tǒng)調(diào)用完整性度量模塊對(duì)內(nèi)存中的.dex文件進(jìn)行度量;c)生成度量值。M、將輸出度量值輸入初始完整性驗(yàn)證模塊中進(jìn)行驗(yàn)證,并返回驗(yàn)證結(jié)果給完整性度量模塊;N、初始完整性驗(yàn)證成功,繼續(xù)啟動(dòng)應(yīng)用層狀態(tài)報(bào)告服務(wù);O、Android系統(tǒng)安全啟動(dòng)完畢。2) Android OS安全啟動(dòng)完畢后,Android dalvik應(yīng)用將進(jìn)行可信啟動(dòng),終端實(shí)時(shí)監(jiān)測(cè)終端所處地理位置是否位于預(yù)設(shè)定的敏感區(qū)域內(nèi)。A、在終端地理位置監(jiān)控模塊中設(shè)置敏感的GPS區(qū)域位置范圍;B、終端實(shí)時(shí)判斷目前地理位置是否位于敏感域范圍內(nèi);C、地理位置監(jiān)控模塊檢測(cè)到終端位于敏感區(qū)域;D、若初次檢測(cè)在敏感區(qū)域內(nèi),終端向監(jiān)控中心發(fā)送用戶名,同時(shí)終端存儲(chǔ)用戶輸入的服務(wù)器預(yù)分配口令于內(nèi)存中;E、監(jiān)控中心返回隨機(jī)數(shù)至終端;F、終端若持續(xù)未接收到監(jiān)控中心數(shù)據(jù)則鎖定終端操作;G、終端對(duì)用戶預(yù)設(shè)定口令及隨機(jī)數(shù)做Sha-1運(yùn)算生成加密密鑰;H、啟動(dòng)的Android dalvik應(yīng)用通過(guò)MMAP映射其Apk包中的.dex文件至dalvik虛擬機(jī)內(nèi)存空間;1、內(nèi)核層完整性度量模塊對(duì)內(nèi)存中的.dex文件進(jìn)行度量。J、獲取Android dalvik應(yīng)用完整性信息包括a) Android dalvik應(yīng)用完整性度量值;b) Android dalvik 應(yīng)用進(jìn)程名;c)當(dāng)前正在運(yùn)行進(jìn)程ID。K、使用內(nèi)存中的加密密鑰對(duì)Android dalvik應(yīng)用完整性信息進(jìn)行加密。3)終端報(bào)告Android dalvik應(yīng)用完整性信息至監(jiān)控中心,監(jiān)控中心依據(jù)安全策略管理模塊的安全策略依次驗(yàn)證Android dalvik應(yīng)用完整性信息,并通過(guò)Android終端完整性信息收集模塊返回提示操作至終端。終端操作完成后再次驗(yàn)證Android dalvik應(yīng)用完整性信息是否安全。A、Android終端完整性信息收集模塊存儲(chǔ)收集到的終端Android dalvik應(yīng)用完整性信息;B、使用用戶名對(duì)應(yīng)的用戶口令及隨機(jī)數(shù)做運(yùn)算生成解密密鑰;C、解密Android dalvik應(yīng)用完整性信息;DjfAndroid dalvik應(yīng)用完整性度量值發(fā)送到Android終端完整性驗(yàn)證模塊,根據(jù)安全策略管理模塊中的安全策略對(duì)度量值進(jìn)行驗(yàn)證;E、記錄不安全應(yīng)用進(jìn)程ID (PIDs-Unsecure);F、發(fā)送不安全應(yīng)用進(jìn)程ID、進(jìn)程名至Android終端完整性信息收集模塊;G、Android終端完整性信息收集模塊將返回不安全應(yīng)用進(jìn)程ID及對(duì)應(yīng)的進(jìn)程名至終端的度量值上傳模塊;
H、度量值上傳模塊直接關(guān)閉由監(jiān)控中心返回的不安全應(yīng)用進(jìn)程;1、用戶確認(rèn)后度量值上傳模塊再次上傳Android dalvik應(yīng)用完整性信息至監(jiān)控中心進(jìn)行驗(yàn)證;J、Android終端完整性驗(yàn)證模塊再次驗(yàn)證收到的Android dalvik應(yīng)用完整性信息中的完整性度量值流是否符合安全策略,同時(shí)驗(yàn)證新上傳的Android dalvik應(yīng)用完整性信息中是否包含PID-Unsecure ;K、若不符合安全策略或新上傳的Android dalvik應(yīng)用完整性信息中包含PID-Unsecure則發(fā)送切斷終端網(wǎng)絡(luò)信號(hào)指令至網(wǎng)絡(luò)連接控制模塊;L、網(wǎng)絡(luò)連接控制模塊切斷終端對(duì)其安全域內(nèi)網(wǎng)絡(luò)服務(wù)的訪問(wèn)能力。
權(quán)利要求
1.一種Android智能終端運(yùn)行環(huán)境可信控制方法,其步驟為1)對(duì)Android智能終端采用AndroidOS安全啟動(dòng),所述Android OS安全啟動(dòng)過(guò)程觸發(fā)狀態(tài)度量服務(wù);2)所述狀態(tài)度量服務(wù)對(duì)該Android智能終端上的Android初始化代碼進(jìn)行度量并驗(yàn)證,完成Android OS安全啟動(dòng);3)所述AndroidOS安全啟動(dòng)完成后,在所述Android智能終端中啟動(dòng)Android dalvik 應(yīng)用;4)若所述Android智能終端存在于設(shè)定敏感區(qū)域內(nèi),則發(fā)送所述Androiddalvik應(yīng)用完整性信息到監(jiān)控中心進(jìn)行安全信息驗(yàn)證;5)所述監(jiān)控中心根據(jù)安全策略驗(yàn)證所述Androiddalvik應(yīng)用完整性信息,并返回驗(yàn)證結(jié)果到所述Android智能終端;6)所述Android智能終端在設(shè)定的時(shí)間周期內(nèi)再次發(fā)送所述Androiddalvik完整性信息到監(jiān)控中心驗(yàn)證,所述監(jiān)控中心切斷未通過(guò)驗(yàn)證的Android智能終端網(wǎng)絡(luò)信號(hào),對(duì)通過(guò)驗(yàn)證的Android智能終端保持可信連接;7)當(dāng)所述Android智能終端離開(kāi)敏感區(qū)域,結(jié)束可信控制。
2.如權(quán)利要求1所述的Android智能終端運(yùn)行環(huán)境可信控制方法,其特征在于,發(fā)送所述Android dalvik應(yīng)用完整性信息到監(jiān)控中心進(jìn)行安全信息驗(yàn)證的方法如下2-1)若初次檢測(cè)在敏感區(qū)域內(nèi),終端向監(jiān)控中心發(fā)送用戶名,同時(shí)終端存儲(chǔ)用戶輸入的服務(wù)器預(yù)分配口令于內(nèi)存中;2-2)所述監(jiān)控中心返回隨機(jī)數(shù)至終端,該終端若持續(xù)未接收到監(jiān)控中心數(shù)據(jù)則鎖定終端操作;2-3)度量值上傳模塊對(duì)隨機(jī)數(shù)及用戶預(yù)分配口令進(jìn)行Sha-1運(yùn)算,生成Android dalvik應(yīng)用完整性信息的加密密鑰;2-4)終端通過(guò)度量值上傳模塊主動(dòng)報(bào)告加密后的Androiddalvik應(yīng)用完整性信息至監(jiān)控中心進(jìn)行驗(yàn)證。
3.如權(quán)利要求1所述的Android智能終端運(yùn)行環(huán)境可信控制方法,其特征在于,所述監(jiān)控中心根據(jù)安全策略驗(yàn)證所述Android dalvik應(yīng)用完整性信息的方法如下3-1)Android終端完整性信息收集模塊收集終端Android dalvik應(yīng)用完整性信息, 同時(shí)把安全策略管理模塊中包含不安全dalvik應(yīng)用的度量值存入黑名單中并進(jìn)行實(shí)時(shí)更新;3-2)Android終端完整性信息收集模塊使用用戶名對(duì)應(yīng)的隨機(jī)數(shù)及用戶口令生成解密密鑰;3-3)Android終端完整性信息收集模塊對(duì)Android dalvik應(yīng)用完整性信息進(jìn)行解密;3-4)使用Android終端完整性驗(yàn)證模塊依次驗(yàn)證Android dalvik應(yīng)用完整性信息中的完整性度量值流是否符合安全策略;3-5)所述Android終端完整性驗(yàn)證模塊記錄PID-Unsecure不安全應(yīng)用進(jìn)程ID并發(fā)送不安全應(yīng)用進(jìn)程名及ID至Android終端完整性信息收集模塊;3-6)所述Android終端完整性信息收集模塊將返回不安全應(yīng)用進(jìn)程ID及對(duì)應(yīng)的進(jìn)程名至終端的度量值上傳模塊。
4.如權(quán)利要求1所述的Android智能終端運(yùn)行環(huán)境可信控制方法,其特征在于,在設(shè)定的時(shí)間周期內(nèi)再次發(fā)送所述Android dalvik完整性信息到監(jiān)控中心驗(yàn)證的方法如下4-1)度量值上傳模塊直接關(guān)閉由監(jiān)控中心返回的不安全應(yīng)用進(jìn)程ID的對(duì)應(yīng)進(jìn)程; 4-2)用戶確認(rèn)后,度量值上傳模塊再次上傳所述Android dalvik應(yīng)用完整性信息至監(jiān)控中心;4-3)所述Android終端完整性驗(yàn)證模塊再次驗(yàn)證收到的Android dalvik應(yīng)用完整性信息中的完整性度量值流是否符合安全策略,同時(shí)驗(yàn)證新上傳的Android dalvik應(yīng)用完整性信息中是否包含PID-Unsecure ;4-4)若不符合安全策略或新上傳的Android dalvik應(yīng)用完整性信息中包含 PID-Unsecure則發(fā)送切斷終端網(wǎng)絡(luò)信號(hào)指令至網(wǎng)絡(luò)連接控制模塊;4-5)所述網(wǎng)絡(luò)連接控制模塊切斷終端對(duì)其安全域內(nèi)網(wǎng)絡(luò)服務(wù)的訪問(wèn)能力。
5.如權(quán)利要求1所述的Android智能終端運(yùn)行環(huán)境可信控制方法,其特征在于,判斷所述Android智能終端存在于設(shè)定敏感區(qū)域內(nèi)的方法如下5-1)在所述終端地理位置監(jiān)控模塊中設(shè)置敏感的GPS區(qū)域位置范圍;5-2)該終端實(shí)時(shí)判斷目前地理位置是否位于敏感域范圍內(nèi);5-3)若所述終端位于敏感區(qū)域則向監(jiān)控中心發(fā)送驗(yàn)證信息。
6.如權(quán)利要求1所述的Android智能終端運(yùn)行環(huán)境可信控制方法,其特征在于,所述 Android OS安全啟動(dòng)方法如下6-1)采用所述終端的OTP存儲(chǔ)引導(dǎo)程序,引導(dǎo)程序度量AndroidLinux內(nèi)核并根據(jù)存儲(chǔ)于內(nèi)存中的度量值進(jìn)行驗(yàn)證;6-2)若驗(yàn)證通過(guò)Android內(nèi)核正常啟動(dòng),使用所述Android內(nèi)核態(tài)的完整性度量模塊度量Android初始化代碼;6-3)初始完整性驗(yàn)證模塊驗(yàn)證輸入的Android初始化代碼度量值并輸出驗(yàn)證結(jié)果; 6-4)將驗(yàn)證結(jié)果返回至完整性度量模塊,該模塊根據(jù)驗(yàn)證結(jié)果確定Android操作系統(tǒng)初始化決策。
7.如權(quán)利要求1所述的Android智能終端運(yùn)行環(huán)境可信控制方法,其特征在于, 對(duì)所述Android初始化代碼進(jìn)行度量?jī)?nèi)容包括度量的Android OS內(nèi)核模塊和Android初始化配置文件;度量守護(hù)進(jìn)程和度量Dalvik虛擬機(jī)初始化進(jìn)程;度量應(yīng)用層的狀態(tài)報(bào)告服務(wù)。
8.如權(quán)利要求1所述的Android智能終端運(yùn)行環(huán)境可信控制方法,其特征在于, 對(duì)所述Android初始化代碼進(jìn)行驗(yàn)證內(nèi)容包括驗(yàn)證Android OS內(nèi)核模塊的度量值并返回驗(yàn)證結(jié)果;驗(yàn)證Android初始化配置文件度量值并返回驗(yàn)證結(jié)果;驗(yàn)證守護(hù)進(jìn)程的度量值并返回結(jié)果;驗(yàn)證dalvik虛擬機(jī)初始化進(jìn)程的度量值并返回驗(yàn)證結(jié)果;驗(yàn)證應(yīng)用層的狀態(tài)報(bào)告服務(wù)的度量值并返回驗(yàn)證結(jié)果。
9.如權(quán)利要求7所述的Android智能終端運(yùn)行環(huán)境可信控制方法,其特征在于, 所述度量應(yīng)用層的狀態(tài)報(bào)告服務(wù)的流程是9-1)操作系統(tǒng)Android OS啟動(dòng)完成后自啟動(dòng)狀態(tài)報(bào)告服務(wù);并通過(guò)MMAP映射狀態(tài)報(bào)告服務(wù)Apk包中的.dex文件至dalvik虛擬機(jī)內(nèi)存空間;9-2)所述操作系統(tǒng)調(diào)用內(nèi)核態(tài)的完整性度量模塊對(duì)內(nèi)存中的.dex文件進(jìn)行度量生成度量值。
10.一種Android智能終端運(yùn)行環(huán)境可信控制系統(tǒng),包括監(jiān)控中心子系統(tǒng)和Android終端運(yùn)行狀態(tài)度量與報(bào)告子系統(tǒng),其特征在于,所述監(jiān)控中心子系統(tǒng)包括Android終端完整性信息收集模塊,用于收集Android終端發(fā)送的Android dalvik應(yīng)用完整性信息,同時(shí)返回不安全應(yīng)用程序ID及對(duì)應(yīng)進(jìn)程名至Android終端;Android終端完整性驗(yàn)證模塊,對(duì)輸入Android dalvik應(yīng)用完整性信息進(jìn)行驗(yàn)證和記錄不安全進(jìn)程ID,還用于發(fā)送不安全應(yīng)用進(jìn)程ID、進(jìn)程名至Android終端完整性信息終端模塊及對(duì)再次輸入的完整性信息進(jìn)行驗(yàn)證;安全策略管理模塊,將包含不安全dalvik應(yīng)用的度量值存入黑名單中,并更新黑名單中的dalvik應(yīng)用度量值;網(wǎng)絡(luò)連接控制模塊,用于控制基站/熱點(diǎn)與終端之間的信號(hào)連接,切斷終端運(yùn)行不安全dalvik應(yīng)用與熱點(diǎn)/基站間的通信連接;所述Android終端運(yùn)行狀態(tài)度量與報(bào)告子系統(tǒng)分為Android終端狀態(tài)報(bào)告服務(wù)系統(tǒng)和 Android終端狀態(tài)度量服務(wù)系統(tǒng);所述Android終端狀態(tài)報(bào)告服務(wù)系統(tǒng)包括終端地理位置監(jiān)控模塊,驗(yàn)證終端位置是否位于敏感區(qū)域內(nèi),若位于敏感域內(nèi)則通過(guò)度量值上傳模塊,將生成的Android dalvik應(yīng)用完整性信息發(fā)送到監(jiān)控中心子系統(tǒng)進(jìn)行驗(yàn)證;度量值上傳模塊,將由內(nèi)核完整性度量模塊度量生成的Android終端完整性度量值及對(duì)應(yīng)的Android dalvik應(yīng)用進(jìn)程名和當(dāng)前正在運(yùn)行進(jìn)程ID發(fā)送至監(jiān)控中心的完整性信息收集模塊;所述Android終端狀態(tài)度量服務(wù)系統(tǒng)包括安全引導(dǎo)模塊,保證Android智能終端啟動(dòng)時(shí)裝載的Linux內(nèi)核文件可信;內(nèi)核層的完整性度量模塊,負(fù)責(zé)對(duì)Android智能終端中裝載的內(nèi)核模塊、可執(zhí)行代碼和Android dalvik應(yīng)用進(jìn)行度量;初始完整性驗(yàn)證模塊,負(fù)責(zé)保證智能終端在啟動(dòng)過(guò)程中,Android初始化代碼包括裝載的Android OS內(nèi)核模塊、Android初始化配置文件、守護(hù)進(jìn)程、dalvik虛擬機(jī)初始化進(jìn)程、 應(yīng)用層狀態(tài)報(bào)告服務(wù)均屬于可信狀態(tài),從而形成完整的終端啟動(dòng)信任鏈。
全文摘要
本發(fā)明涉及Android智能手機(jī)運(yùn)行環(huán)境可信控制方法及系統(tǒng),Android終端的Android OS安全啟動(dòng)完畢后,Android Dalvik應(yīng)用將進(jìn)行可信啟動(dòng),Android終端實(shí)時(shí)監(jiān)測(cè)終端所處地理位置是否位于預(yù)設(shè)定的敏感區(qū)域內(nèi),Android終端報(bào)告Android Dalvik應(yīng)用完整性信息至監(jiān)控中心,監(jiān)控中心依據(jù)安全策略管理模塊的安全策略依次驗(yàn)證應(yīng)用完整性信息,并通過(guò)Android終端完整性信息收集模塊返回驗(yàn)證結(jié)果至終端,終端依據(jù)驗(yàn)證結(jié)果實(shí)施相應(yīng)操作后再次驗(yàn)證應(yīng)用完整性信息是否安全。本發(fā)明對(duì)敏感域內(nèi)的移動(dòng)終端進(jìn)行遠(yuǎn)程控制和應(yīng)用程序管理,通過(guò)切斷終端訪問(wèn)能力來(lái)防止機(jī)密信息的竊取擴(kuò)散。
文檔編號(hào)G06F21/57GK103020531SQ20121052147
公開(kāi)日2013年4月3日 申請(qǐng)日期2012年12月6日 優(yōu)先權(quán)日2012年12月6日
發(fā)明者于愛(ài)民, 晏敏, 敖贏戈, 吳曉昕, 楊文思 申請(qǐng)人:中國(guó)科學(xué)院信息工程研究所, 華為技術(shù)有限公司