基于TPM細粒度權限的Android系統(tǒng)安全增強系統(tǒng)及方法
【技術領域】
[0001]本發(fā)明涉及一種Android操作系統(tǒng)可信安全增強的方法,特別是涉及一種適用于現(xiàn)有的安全操作系統(tǒng)架構(如LSM),基于可信平臺模塊(TPM)細粒度權限的Android系統(tǒng)安全增強系統(tǒng)及方法。
【背景技術】
[0002]隨著移動終端的廣泛應用,Android操作系統(tǒng)走入人們的生活,成為眾多操作系統(tǒng)中最受歡迎的操作系統(tǒng)。由于Android是一個開放的系統(tǒng),在給人們便利的同時,也產(chǎn)生了許多安全隱患,故系統(tǒng)的安全尤為重要。當前已經(jīng)有多種實際的安全增強操作系統(tǒng)被設計和開放出來了。其中重要的有基于Flask體系結構的態(tài)策略安全操作系統(tǒng),已經(jīng)最有影響力的安全操作系統(tǒng)SecurityLinux和它的實現(xiàn)機制LSM(Linux Security Model)。
[0003]LSM(Linux Security Model)是一個輕量級通用訪問控制框架,使得各種不同的安全訪問控制模型能夠以Linux可加載內(nèi)核的方式實現(xiàn),根據(jù)需要選擇恰當?shù)陌踩K載入到內(nèi)核中。目前不是增強型訪問控制模型,如安全增強Linux(SELinux)、域和類型增強(DTE)等都在LSM框架上得到實現(xiàn)。
[0004]傳統(tǒng)的訪問控制DAC(Discret1nary Access Control,自主訪問控制模型)一個最大問題是主體的權限太大,無意間就有可能泄漏重要信息,抵抗攻擊能力比較弱。MAC (Mandatory Access Control,強制訪問控制模型)是一種強加給訪問主體的一種訪問方式,MAC其主要缺陷在于實現(xiàn)工作量較大,管理不方便,不夠靈活,而且由于過分強調(diào)保密性,對系統(tǒng)連續(xù)工作能力,授權管理方面考慮不足。
[0005]TPM(Trusted Platform Module,可信平臺模塊)是一個含有密碼運算部件和存儲部件的小型片上系統(tǒng),可作為獨立運行的模塊與可信計算機平臺主板連接,與平臺主板已經(jīng)外圍設備組成可信的硬件平臺,為系統(tǒng)軟件提供可信度量、可信存儲和可信報告等。它既是密鑰的生成器,又是密鑰管理器件,同時還提供了統(tǒng)一的編程接口,TPM通過提供密鑰管理和配置管理等特性,與配套的應用軟件一起,主要用于完成計算平臺的可靠性認證、用戶身份認證和數(shù)字簽名等功能。同時,利用TPM芯片內(nèi)置的加密模塊生成系統(tǒng)中各種密鑰,對應用模塊進行加解密,向上提供安全通信接口,以保證上層應用模塊的安全。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的在于克服現(xiàn)有技術的不足,提供一種通過細粒度隱私權限分配模塊改變以往粗粒度權限控制的缺點,實現(xiàn)了多應用多權限分配策略;以TPM為信任根,通過信任鏈來保證數(shù)據(jù)的安全性,實現(xiàn)了 Android操作系統(tǒng)與細粒度權限可信驗證技術緊耦合的安全增強的基于TPM細粒度權限的Android系統(tǒng)安全增強系統(tǒng)及方法。
[0007]本發(fā)明的目的是通過以下技術方案來實現(xiàn)的:基于TPM細粒度權限的Android系統(tǒng)安全增強系統(tǒng),包括應用層、應用框架層、內(nèi)核層和硬件層:
[0008]所述的應用層包括普通應用和管理員應用;
[0009]所述的應用框架層包括:用戶審核模塊,用于對應用層是否安裝普通應用進行審核;
[0010]安裝程序模塊:用于指導普通應用的安裝;
[0011]APK安全指示模塊:用于指引普通應用進入細粒度隱私權限分配模塊;
[0012]細粒度隱私權限分配模塊:用于根據(jù)系統(tǒng)保留的安全策略以及用戶制定的個性化安全策略為應用普通應用和管理員應用分配權限;
[0013]所述的內(nèi)核層包括隱私數(shù)據(jù)模塊、隱私權限管理模塊、普通數(shù)據(jù)模塊和共享區(qū)域;
[0014]所述的硬件層包括TPM模塊,用于為新的應用的權限記錄提供保護。
[0015]進一步地,所述的隱私權限管理模塊包括隱私權限記錄子模塊、隱私權限驗證子模塊和驗證可信報告子模塊。
[0016]本發(fā)明的基于TPM細粒度權限的Android系統(tǒng)安全增強方法,包括以下步驟:
[0017]S1、應用層需要安裝普通應用時向用戶審核模塊發(fā)送安裝請求;
[0018]S2、應用層根據(jù)用戶審核模塊返回的審核結果進行操作:若用戶決定安裝該普通應用則在安裝程序的指導下進行安裝,否則不操作;
[0019]S3、普通應用通過APK安全指示后進入細粒度隱私權限分配模塊,細粒度隱私權限分配模塊根據(jù)系統(tǒng)保留的安全策略以及用戶制定的個性化安全策略為新安裝的普通應用分配權限,細粒度隱私權限分配模塊通過調(diào)用TPM驅(qū)動庫接口,將新的普通應用的權限記錄寫入隱私權限管理模塊;
[0020]S4、主體進程訪問客體數(shù)據(jù)時需要通過隱私權限管理模塊進行驗證:主體進程發(fā)起系統(tǒng)調(diào)用訪問客體數(shù)據(jù),隱私權限管理模塊對該系統(tǒng)調(diào)用命令進行驗證,如果驗證通過則允許訪問,否則記錄主體進程的異常行為,并中斷此次訪問。
[0021]進一步地,所述的步驟S4具體包括以下子步驟:
[0022]S41、主體進程通過系統(tǒng)調(diào)用命令發(fā)起對客體數(shù)據(jù)的訪問請求;
[0023]S42、TPM模塊接收系統(tǒng)調(diào)用策略模塊請求策略的完整性報告;
[0024]S43、TPM模塊收到請求后,將請求的相應信息傳遞給權限可信驗證子模塊;
[0025]S44、權限可信驗證子模塊從權限可信記錄子模塊中分別調(diào)用主體進程與客體數(shù)據(jù)的權限記錄,對主客體權限之間以及主客體自身的權限進行完整性度量;
[0026]S45、權限可信驗證子模塊將主客體權限的驗證結果傳遞給權限可信報告子模塊,并記錄該認證結果;
[0027]S46、系統(tǒng)調(diào)用策略模塊讀取權限可信報告子模塊發(fā)送的認證報告結果,并制定策略;
[0028]S47、系統(tǒng)根據(jù)策略對客體數(shù)據(jù)進行操作。
[0029]其中,所述的系統(tǒng)策略模塊包含了策略判定部件和策略實施部件。步驟S42中,TPM模塊接通過嵌入到系統(tǒng)調(diào)用策略模塊的鉤子接收系統(tǒng)調(diào)用策略模塊請求策略的完整性?艮胃。
[0030]進一步地,本發(fā)明中所述的主體是系統(tǒng)中的執(zhí)行體-進程,客體包括文件、目錄、設備、IPC和Socket對象。
[0031]本發(fā)明的有益效果是:通過細粒度隱私權限分配模塊改變以往粗粒度權限控制的缺點,實現(xiàn)了多應用多權限分配策略;通過TPM模塊,能夠?qū)崿F(xiàn)隱私權限的可信存儲、可信驗證和可信報告,在系統(tǒng)運行過程中,以TPM為信任根,通過信任鏈來保證數(shù)據(jù)的安全性,阻止惡意應用或進程提升權限訪問其他應用或進程的隱私數(shù)據(jù);實現(xiàn)了 Android操作系統(tǒng)與細粒度權限可信驗證技術緊耦合的安全增強,使得安全機制更強,可廣泛應用與對安全等級要求高的環(huán)境中。
【附圖說明】
[0032]圖1為本發(fā)明的Android系統(tǒng)安全增強系統(tǒng)結構示意圖;
[0033]圖2為本發(fā)明的主體進程訪問客體數(shù)據(jù)流程圖。
【具體實施方式】
[0034]為了使本發(fā)明的目的、技術方案以及優(yōu)點更加清楚明白,以下結合附圖對本發(fā)明進一步詳細說明。本說明書(包括任何附加權利要求、摘要和附圖)中公開的任一特征,除非特別敘述,均可被其他等效或者具有類似目的的替代特征加以替換。即,除非特別敘述,每個特征只是一系列等效或者類似特征中的一個例子而已。
[0035]如圖1所示,基于TPM細粒度權限的Android系統(tǒng)安全增強系統(tǒng),包括應用層、應用框架層、內(nèi)核層和硬件層:
[0036]所述的應用層包括普通應用(普通應用A、普通應用B)和管理員應用;
[0037]所述的應用框架層包括:用戶審核模塊,用于對應用層是否安裝普通應用進行審核;
[0038]安裝程序模塊:用于指導普通應用的安裝;
[0039]APK安全指示模塊:用于指引普通應用進入細粒度隱私權限分配模塊;
[0040]細粒度隱私權限分配模塊:用于根據(jù)系統(tǒng)保留的安全策略以及用戶制定的個性化安全策略為應用普通應用和管理員應用分配權限;
[0041]所述的內(nèi)核層包括隱私數(shù)據(jù)模塊、隱私權限管理模塊、普通數(shù)據(jù)模塊