一種android系統(tǒng)的軟構(gòu)可信平臺模塊STPM的構(gòu)建方法
【專利摘要】本發(fā)明公開了一種android系統(tǒng)的軟構(gòu)可信平臺模塊(Soft-ComponentTrustedPlatformModule,STPM)的構(gòu)建方法,本發(fā)明按照可信計算的思想,在不改變現(xiàn)有手持設(shè)備硬件架構(gòu)的基礎(chǔ)上,借鑒TPM(TrustedPlatformModule,可信平臺模塊)的技術(shù)思路,采用分治思想,在android系統(tǒng)中分別實現(xiàn)STPM的可信存儲、可信度量和三層密鑰管理等功能,構(gòu)建STPM安全模塊,為移動設(shè)備上的二次安全開發(fā)提供基礎(chǔ),開發(fā)人員可以在此基礎(chǔ)上進一步實現(xiàn)系統(tǒng)的安全啟動、上層應(yīng)用程序啟動度量、用戶隱私數(shù)據(jù)保護等各種安全功能的開發(fā)。本發(fā)明從系統(tǒng)底層為移動設(shè)備系統(tǒng)安全和用戶隱私數(shù)據(jù)保密提供了基礎(chǔ)。本發(fā)明的主要優(yōu)點:該STPM的構(gòu)建,彌補現(xiàn)有移動設(shè)備缺少TPM的缺陷,為移動設(shè)備的安全開發(fā)提供基礎(chǔ)。
【專利說明】ー種android系統(tǒng)的軟構(gòu)可信平臺模塊STPM的構(gòu)建方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于信息安全領(lǐng)域,尤其涉及ー種android系統(tǒng)的軟構(gòu)可信平臺模塊(Soft-Component Trusted Platform Module, STPM)的構(gòu)建方法。
【背景技術(shù)】
[0002]近年來,Android系統(tǒng)的智能平臺設(shè)備以其良好的開放性、交互性、友好用戶體驗性和平臺便捷性等特點,越來越受到人們的青睞。特別是最近幾年的迅速發(fā)展,成功地將Google的網(wǎng)絡(luò)應(yīng)用功能擴展到個人手持設(shè)備。但是,作為一種開放性的系統(tǒng),由于其體系結(jié)構(gòu)設(shè)計上的缺陷,在帶給人們便利的同時,也帶來了不少安全隱患。Android系統(tǒng)通過沙箱(Sandbox)來實現(xiàn)應(yīng)用程序之間的隔離,從而控制各個應(yīng)用程序?qū)υO(shè)備資源的訪問權(quán)限。然而這些安全手段遠遠不能達到用戶的安全需求。
[0003]最近,德國一所大學(xué)的三位研究人員通過測試發(fā)現(xiàn),超過99%的Android智能平臺能輕易地被黑客侵襲?!?013信息安全十大關(guān)鍵預(yù)測》報告,受安卓系統(tǒng)普及率大幅提升的影響,惡意與高風(fēng)險的安卓應(yīng)用數(shù)量在2012年底達到35萬個,而這個數(shù)字在2013年或?qū)⑴噬谋?,預(yù)計達到140萬個,而且這些惡意應(yīng)用將呈現(xiàn)越來越復(fù)雜化的趨勢。
[0004]目前,Android系統(tǒng)結(jié)構(gòu)在以下幾個方面的安全性缺陷尤為突出:
[0005](I)設(shè)備丟失帶來的用戶隱私數(shù)據(jù)泄露問題。目前絕大多數(shù)嵌入式移動設(shè)備都不能有效應(yīng)對移動設(shè)備丟失帶來的隱私數(shù)據(jù)泄露等問題,近年來通過竊取隱私數(shù)據(jù)進行各種詐騙活動的事件發(fā)生率逐年上升;
[0006](2)手機被植入竊取隱私數(shù)據(jù)等各類型的非法軟件,這些軟件通過申請ー些敏感的權(quán)限來竊取手機中的隱私信息(如位置信息、商業(yè)秘密和軍事機密等),從而進一步達到自己的非法目的,比如,惡意追蹤手機用戶位置、非法監(jiān)聽用戶通話,控制用戶手機行為等。
[0007]因此如何有效保障移動設(shè)備的平臺和應(yīng)用的安全性,已經(jīng)成為ー個丞待解決的安全問題。
[0008]目前廣泛應(yīng)用于PC機的可信計算技術(shù)為嵌入式系統(tǒng)的安全增強方法提供了新思路。可信計算技術(shù)作為ー種提高計算機系統(tǒng)安全性的行之有效的新技術(shù),其可信計算機的構(gòu)造需要可信平臺模塊TPM的安全支撐,可信啟動的信任鏈也是圍繞可信計算芯片來實現(xiàn)的。
[0009]可信平臺模塊TPM (Trusted Platform Module)是一種 SOC (System on Chip)芯片,它是可信計算平臺的信任根,是整個平臺可信的基點。它由執(zhí)行引擎、存儲器、1/0、密碼協(xié)處理器、隨機數(shù)發(fā)生器等部件組成??尚牌脚_模塊TPM擁有豐富的計算資源和密碼資源,在嵌入式操作系統(tǒng)的管理下構(gòu)成ー個以安全為主要特色的小型計算機系統(tǒng)。其具有密鑰管理、加解密、數(shù)字簽名、數(shù)據(jù)安全存儲等功能。在此基礎(chǔ)上,它可以完成作為可信存儲根和可信報告根等職能。
[0010]然而目前大多數(shù)嵌入式系統(tǒng)上并沒有內(nèi)置相應(yīng)安全芯片。本發(fā)明不改變現(xiàn)有嵌入式平臺硬件架構(gòu)的情況下,構(gòu)建ー種STPM (軟構(gòu)可信平臺模塊)安全模塊,該模塊為系統(tǒng)底層級的安全開發(fā)提供了基礎(chǔ)。
【發(fā)明內(nèi)容】
[0011]針對現(xiàn)有普通移動嵌入式設(shè)備在體系結(jié)構(gòu)上的不安全性,本發(fā)明提出了一種android系統(tǒng)的軟構(gòu)可信平臺模塊的構(gòu)建方法,構(gòu)建了 一種軟構(gòu)可信平臺模塊(Soft-Component Trusted Platform Module, STPM)安全增強模塊。
[0012]本發(fā)明所采用的技術(shù)方案是:ー種android系統(tǒng)的軟構(gòu)可信平臺模塊STPM的構(gòu)建方法,其特征在于:在不改變現(xiàn)有手持設(shè)備硬件架構(gòu)的基礎(chǔ)上,采用分治方案構(gòu)建STPM安全模塊,在android系統(tǒng)中分別實現(xiàn)STPM的可信存儲、可信度量和三層密鑰管理功能;其具體實現(xiàn)過程為:
[0013]采用存儲隔離技木,實現(xiàn)對Nand Flash上重要區(qū)域?qū)懕Wo,防止用戶非法的刷寫操作,為可信啟動提供一個可靠的基礎(chǔ)環(huán)境;
[0014]優(yōu)化Nand Flash分區(qū),在Nand Flash上開辟ー塊透明數(shù)據(jù)存儲區(qū),設(shè)置該數(shù)據(jù)存儲區(qū)為用戶不可見且不可篡改或者一旦篡改即可被發(fā)現(xiàn),用于存儲度量基準值,提供STPM的可信存儲功能;
[0015]在Nand Flash特定區(qū)域開辟三層密鑰存儲區(qū),用于提供密鑰樹的存儲,該區(qū)域提供STPM的三層密鑰管理,密鑰樹中各級密鑰層層加密,根密鑰由用戶掌握,用戶只有提供正確的根密鑰才能獲得STPM的控制權(quán),同時在Bootloader分區(qū)、Kernel分區(qū)中分別載入完整性度量模塊,度量模塊提供STPM的可信度量功能。
[0016]作為優(yōu)選,所述的Nand Flash上重要區(qū)域包括Bootloader分區(qū)、Kernel分區(qū)和PCR分區(qū)。
[0017]作為優(yōu)選,所述的在Nand Flash上開辟的ー塊透明數(shù)據(jù)存儲區(qū),其存儲空間大小為 IMB。
[0018]作為優(yōu)選,所述的透明數(shù)據(jù)存儲區(qū)用于存儲Bootloader和Kernel關(guān)鍵啟動節(jié)點
的度量基準值信息。
[0019]作為優(yōu)選,所述的在Nand Flash特定區(qū)域開辟三層密鑰存儲區(qū),是在Nand Flash上開辟5MB分區(qū)空間KEYStore,用于存儲并管理三層密鑰。
[0020]作為優(yōu)選,所述的三層密鑰,按樹形結(jié)構(gòu)進行組織管理,處于上級的父密鑰對處于下級的密鑰進行加密保存,同時輔以細粒度密鑰訪問授權(quán)機制,確保密鑰體系的安全。
[0021]作為優(yōu)選,所述的根密鑰不存儲于移動設(shè)備上,毎次用戶登錄時,輸入正確的PIN碼,系統(tǒng)根據(jù)PIN碼生成根密鑰SRK,進而取得手持設(shè)備和STPM控制權(quán)。
[0022]作為優(yōu)選,所述的在Bootloader分區(qū)、Kernel分區(qū)中分別載入完整性度量模塊,度量模塊提供STPM的可信度量功能,同時,在內(nèi)核中嵌入可動態(tài)加載的內(nèi)核安全管理增強模塊,以上各安全模塊依次協(xié)同工作,實現(xiàn)STPM的可信度量功能。
[0023]本發(fā)明在普通嵌入式設(shè)備沒有TPM芯片的前提下,STPM借鑒TPM (TrustedPlatform ModuIe,可信平臺模塊)芯片的可信計算思想,通過構(gòu)建STPM安全模塊來實現(xiàn)TPM的部分功能,為可信計算平臺提供信任根(可信存儲根和可信度量根)功能,為整個移動平臺可信提供基點和重要支撐,從而拓展了可信計算的應(yīng)用場景;同時,本方法從體系結(jié)構(gòu)角度為當前移動設(shè)備提供了安全優(yōu)化,為系統(tǒng)安全啟動提供基礎(chǔ)。[0024]本發(fā)明提供的android系統(tǒng)中STPM的構(gòu)建方法有以下主要優(yōu)點:
[0025]第一,本發(fā)明在不改變現(xiàn)有嵌入式移動設(shè)備的系統(tǒng)架構(gòu)的基礎(chǔ)上,以可信計算理論為理論基礎(chǔ),借鑒TPM芯片實現(xiàn)思路,構(gòu)建軟構(gòu)可信平臺模塊STPM,從體系結(jié)構(gòu)角度為現(xiàn)有android系統(tǒng)移動嵌入式平臺進行結(jié)構(gòu)上的安全優(yōu)化;
[0026]第二,移動嵌入式平臺上STPM的構(gòu)建實現(xiàn)了 TPM芯片的主體功能,在嵌入式平臺上為可信計算理論(依賴于TPM安全芯片)提供了可信根,拓展了可信計算的應(yīng)用場景;同時,在沒有TPM硬件芯片的情況下,本發(fā)明為實現(xiàn)嵌入式移動設(shè)備的安全啟動和應(yīng)用軟件的保護提供了基礎(chǔ);
[0027]第三,STPM中三層密鑰管理的根密鑰由用戶完全掌握,保證了各級密鑰的絕對安全。
【專利附圖】
【附圖說明】
[0028]圖1:本發(fā)明實施例的可信android系統(tǒng)結(jié)構(gòu)圖。
[0029]圖2:本發(fā)明實施例的對Nand Flash重要區(qū)域?qū)懕Wo示意圖。
【具體實施方式】
[0030]以下將結(jié)合具體實施例的附圖對本發(fā)明做進ー步的闡述。
[0031]請見圖1、圖2,本發(fā)明所采用的技術(shù)方案是:ー種android系統(tǒng)的軟構(gòu)可信平臺模塊(Soft-Component Trusted Platform Module, STPM)的構(gòu)建方法,在不改變現(xiàn)有手持設(shè)備硬件架構(gòu)的基礎(chǔ)上,采用分治方案構(gòu)建STPM安全模塊,在android系統(tǒng)中分別實現(xiàn)STPM的可信存儲、可信度量和三層密鑰管理功能;其具體實現(xiàn)過程為:
[0032]采用存儲隔離技術(shù),實現(xiàn)對Nand Flash上包括Bootloader分區(qū)、Kernel分區(qū)和PCR分區(qū)的重要區(qū)域?qū)懕Wo,防止用戶非法的刷寫操作,為可信啟動提供一個可靠的基礎(chǔ)環(huán)境;
[0033]優(yōu)化Nand Flash分區(qū),在Nand Flash上開辟ー塊存儲空間大小為IMB的透明數(shù)據(jù)存儲區(qū),設(shè)置該數(shù)據(jù)存儲區(qū)為用戶不可見且不可篡改或者一旦篡改即可被發(fā)現(xiàn),用于存儲Bootloader和Kernel關(guān)鍵啟動節(jié)點的度量基準值信息,提供STPM的可信存儲功能;為避免用戶誤操作或非法篡改,在內(nèi)核中不掛載該分區(qū),這樣就防止了內(nèi)核態(tài)和用戶態(tài)程序篡改該分區(qū)的可能,同時系統(tǒng)毎次上電啟動都首先對該分區(qū)進行度量,只有該區(qū)域(STPMt可信存儲根)度量安全可信,才繼續(xù)進行啟動操作;
[0034]在Nand Flash上開辟5MB分區(qū)空間KEYStore,用于存儲并管理三層密鑰,該區(qū)域提供STPM的三層密鑰管理,三層密鑰按樹形結(jié)構(gòu)進行組織管理,處于上級的父密鑰對處于下級的密鑰進行加密保存,同時輔以細粒度密鑰訪問授權(quán)機制,確保密鑰體系的安全;密鑰樹中各級密鑰層層加密,根密鑰由用戶掌握,根密鑰不存儲于移動設(shè)備上,毎次用戶登錄時,輸入正確的PIN碼,系統(tǒng)根據(jù)PIN碼生成根密鑰SRK,進而取得手持設(shè)備和STPM控制權(quán);
[0035]同時在Bootloader分區(qū)、Kernel分區(qū)中分別載入完整性度量模塊,同時,在內(nèi)核中嵌入可動態(tài)加載的內(nèi)核安全管理增強模塊,以上各安全模塊依次協(xié)同工作,實現(xiàn)STPM的可信度量功能。
[0036]本發(fā)明的系統(tǒng)首次啟動,用戶輸入ー個PIN碼作為種子,生成設(shè)備的根密鑰SRK,請見圖1,安全度量模塊B的隨機數(shù)發(fā)生器生成一個隨機數(shù)作為用戶級密鑰Ekey,Ekey由根密鑰SRK加密存放。同樣生成文件級密鑰VEKey,VEKey作為Ekey的子密鑰由Ekey加密存儲于KEYStore里。KEYStore中密鑰層層加密存放,根密鑰由用戶掌握,保證了各級密鑰的絕對安全。
[0037]根密鑰SRK生成方法:
[0038](I) digest [256]=SM3 {PIN};
[0039](2) SRK[n]=digest[2n] ? digest [2n+l] (0 < n〈128)。
[0040]本發(fā)明提出了一種android系統(tǒng)的軟構(gòu)可信平臺模塊(Soft-Component TrustedPlatform Module, STPM)的構(gòu)建方法,首先,優(yōu)化Nand Flash分區(qū),實現(xiàn)STPM的可信存儲;然后在系統(tǒng)中的不同啟動階段載入安全子模塊,協(xié)同實現(xiàn)TPM的可信存儲、可信度量和三層密鑰管理功能。通過本發(fā)明構(gòu)建的安全增強模塊STPM,開發(fā)人員可以在此基礎(chǔ)上進ー步實現(xiàn)系統(tǒng)的安全啟動、上層應(yīng)用程序啟動度量、用戶隱私數(shù)據(jù)保護等各種安全功能的開發(fā)。本發(fā)明從系統(tǒng)底層為移動設(shè)備系統(tǒng)安全和用戶隱私數(shù)據(jù)保密提供了基礎(chǔ)。
[0041]以上僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍,因此,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.ー種android系統(tǒng)的軟構(gòu)可信平臺模塊STPM的構(gòu)建方法,其特征在于:在不改變現(xiàn)有手持設(shè)備硬件架構(gòu)的基礎(chǔ)上,采用分治方案構(gòu)建STPM安全模塊,在android系統(tǒng)中分別實現(xiàn)STPM的可信存儲、可信度量和三層密鑰管理功能;其具體實現(xiàn)過程為: 采用存儲隔離技木,實現(xiàn)對Nand Flash上重要區(qū)域?qū)懕Wo,防止用戶非法的刷寫操作,為可信啟動提供一個可靠的基礎(chǔ)環(huán)境; 優(yōu)化Nand Flash分區(qū),在Nand Flash上開辟ー塊透明數(shù)據(jù)存儲區(qū),設(shè)置該數(shù)據(jù)存儲區(qū)為用戶不可見且不可篡改或者一旦篡改即可被發(fā)現(xiàn),用于存儲度量基準值,提供STPM的可信存儲功能; 在Nand Flash特定區(qū)域開辟三層密鑰存儲區(qū),用于提供密鑰樹的存儲,該區(qū)域提供STPM的三層密鑰管理,密鑰樹中各級密鑰層層加密,根密鑰由用戶掌握,用戶只有提供正確的根密鑰才能獲得STPM的控制權(quán),同時在Bootloader分區(qū)、Kernel分區(qū)中分別載入完整性度量模塊,度量模塊提供STPM的可信度量功能。
2.根據(jù)權(quán)利要求1所述的android系統(tǒng)的軟構(gòu)可信平臺模塊STPM的構(gòu)建方法,其特征在于:所述的Nand Flash上重要區(qū)域包括Bootloader分區(qū)、Kernel分區(qū)和PCR分區(qū)。
3.根據(jù)權(quán)利要求1所述的android系統(tǒng)的軟構(gòu)可信平臺模塊STPM的構(gòu)建方法,其特征在于:所述的在Nand Flash上開辟的ー塊透明數(shù)據(jù)存儲區(qū),其存儲空間大小為1MB。
4.根據(jù)權(quán)利要求1所述的android系統(tǒng)的軟構(gòu)可信平臺模塊STPM的構(gòu)建方法,其特征在于:所述的透明數(shù)據(jù)存儲區(qū)用于存儲Bootloader和Kernel關(guān)鍵啟動節(jié)點的度量基準值信息。
5.根據(jù)權(quán)利要求1所述的android系統(tǒng)的軟構(gòu)可信平臺模塊STPM的構(gòu)建方法,其特征在于:所述的在Nand Flash特定區(qū)域開辟三層密鑰存儲區(qū),是在Nand Flash上開辟5MB分區(qū)空間KEYStore,用于存儲并管理三層密鑰。
6.根據(jù)權(quán)利要求5所述的android系統(tǒng)的軟構(gòu)可信平臺模塊STPM的構(gòu)建方法,其特征在于:所述的三層密鑰,按樹形結(jié)構(gòu)進行組織管理,處于上級的父密鑰對處于下級的密鑰進行加密保存,同時輔以細粒度密鑰訪問授權(quán)機制,確保密鑰體系的安全。
7.根據(jù)權(quán)利要求1所述的android系統(tǒng)的軟構(gòu)可信平臺模塊STPM的構(gòu)建方法,其特征在于:所述的根密鑰不存儲于移動設(shè)備上,毎次用戶登錄吋,輸入正確的PIN碼,系統(tǒng)根據(jù)PIN碼生成根密鑰SRK,進而取得手持設(shè)備和STPM控制權(quán)。
8.根據(jù)權(quán)利要求1所述的android系統(tǒng)的軟構(gòu)可信平臺模塊STPM的構(gòu)建方法,其特征在于:所述的在Bootloader分區(qū)、Kernel分區(qū)中分別載入完整性度量模塊,度量模塊提供STPM的可信度量功能,同時,在內(nèi)核中嵌入可動態(tài)加載的內(nèi)核安全管理增強模塊,以上各安全模塊依次協(xié)同工作,實現(xiàn)STPM的可信度量功能。
【文檔編號】G06F21/74GK103530578SQ201310491430
【公開日】2014年1月22日 申請日期:2013年10月18日 優(yōu)先權(quán)日:2013年10月18日
【發(fā)明者】趙波, 費永康, 向騻, 紀祥敏 申請人:武漢大學(xué)