亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于軟tcm和可信軟件棧的安卓系統(tǒng)及其可信認(rèn)證系統(tǒng)與方法_3

文檔序號:9929763閱讀:來源:國知局
塊的哈希值即 度量值并發(fā)送給度量模塊所在的啟動執(zhí)行模塊的擴(kuò)展PCR操作模塊;
[0082] 擴(kuò)展PCR操作模塊:在安卓系統(tǒng)的啟動執(zhí)行模塊Linux KerneKInit Process、 Services、Zygote/Vm、System ServeiNServer Manager中均加入擴(kuò)展PCR操作模塊;從啟動 執(zhí)行模塊Linux Kernel的擴(kuò)展PCR操作模塊開始,依次由當(dāng)前啟動執(zhí)行模塊的擴(kuò)展PCR操作 模塊將模擬PCR寄存器中的當(dāng)前值與對應(yīng)的度量模塊發(fā)送的度量值進(jìn)行合并;使用軟TCM中 的SM3密碼雜湊算法計算合并結(jié)果的哈希值,并用該哈希值更新模擬PCR寄存器中的當(dāng)前 值,并將模擬PCR寄存器中的當(dāng)前值寫入日志;
[0083] 完整性認(rèn)證模塊:在安卓系統(tǒng)的啟動執(zhí)行模塊化me Launcher中加入完整性認(rèn)證 模塊;所述完整性認(rèn)證模塊用于將模擬PCR寄存器中的當(dāng)前值與預(yù)設(shè)值進(jìn)行比較,若模擬 PCR寄存器中的當(dāng)前值不等于預(yù)設(shè)值,則將日志中記錄的模擬PCR寄存器中的當(dāng)前值逐一與 預(yù)先獲取的未經(jīng)篡改的模擬PCR寄存器中的當(dāng)前值記錄進(jìn)行對比,定位被篡改的啟動執(zhí)行 模塊后,輸出安卓系統(tǒng)啟動認(rèn)證失敗及被篡改的啟動執(zhí)行模塊的提示信息;
[0084] 本實施方式的安卓軟件安裝的可信認(rèn)證系統(tǒng),如圖4所示,包括:
[0085] CA:接收軟件開發(fā)者的公鑰及身份信息;核實軟件開發(fā)者身份;向可信的軟件開發(fā) 者頒發(fā)代碼簽名證書,并提供安卓軟件簽名與打包工具;
[0086] 安卓軟件簽名模塊:從軟件開發(fā)者處獲取可信的未簽名安卓軟件和代碼簽名證 書;使用軟TCM中的SM3密碼雜湊算法計算該可信的未簽名安卓軟件的哈希值;使用軟件開 發(fā)者的私鑰和軟TCM中的SM2楠圓曲線公鑰密碼算法對該可信的未簽名安卓軟件的哈希值 進(jìn)行加密,得到數(shù)字簽名;將數(shù)字簽名和該可信的未簽名安卓軟件W及代碼簽名證書進(jìn)行 打包,形成簽名后的安卓軟件;
[0087] 代碼簽名證書驗證模塊:用于驗證代碼簽名證書的有效性,若無效,則停止安卓軟 件安裝過程,若有效,則將該代碼簽名證書的有效驗證結(jié)果發(fā)送給安卓軟件完整性認(rèn)證模 塊;
[0088] 數(shù)字簽名驗證模塊:使用軟件開發(fā)者的公鑰對數(shù)字簽名進(jìn)行解密,得到可信的未 簽名安卓軟件的哈希值化sh_l;使用軟TCM中的SM3密碼雜湊算法,對未知來源的不可信的 未簽名安卓軟件計算哈希值化sh_2;判斷化sh_l與化sh_2是否相等,否,則停止安卓軟件安 裝過程,是,則將該數(shù)字簽名有效驗證結(jié)果發(fā)送給安卓軟件完整性認(rèn)證模塊;
[0089] 安卓軟件完整性認(rèn)證模塊:如果代碼簽名證書的有效驗證結(jié)果和數(shù)字簽名有效驗 證結(jié)果均收到,則繼續(xù)進(jìn)行安卓軟件安裝過程,否則停止安卓軟件安裝過程;
[0090] 本實施方式的基于軟TCM和可信軟件找的安卓系統(tǒng)的可信認(rèn)證方法,包括:該安卓 系統(tǒng)的啟動可信認(rèn)證方法和安卓軟件安裝的可信認(rèn)證方法;
[0091] 在安卓系統(tǒng)啟動的時候,先要進(jìn)行啟動的可信認(rèn)證,在操作系統(tǒng)可信的啟動認(rèn)證 中,確定信任鏈和信任根是關(guān)鍵所在,然后再通過信任鏈進(jìn)行完整性度量。本發(fā)明結(jié)合安卓 系統(tǒng)自身的特點,引入可信計算度量啟動序列的思想,設(shè)計了本實施方式的安卓系統(tǒng)的啟 動可信認(rèn)證方法。
[0092] 本實施方式的該安卓系統(tǒng)的啟動可信認(rèn)證方法,如圖5所示,包括如下步驟:
[0093] 步驟1:開機(jī)啟動安卓系統(tǒng);
[0094] 步驟2:首先將安卓系統(tǒng)的啟動執(zhí)行模塊Linux Kernel作為控制節(jié)點,使用軟TCM 中的SM3密碼雜湊算法計算下一個啟動執(zhí)行模塊Init Process的哈希值即度量值;
[00M]步驟3:將模擬PCR寄存器中的當(dāng)前值與Init Process的度量值進(jìn)行合并;
[0096] 步驟4:使用軟TCM中的SM3密碼雜湊算法計算合并結(jié)果的哈希值,并用該哈希值更 新模擬PCR寄存器中的當(dāng)前值,并將模擬PCR寄存器中的當(dāng)前值寫入日志;
[0097] 步驟5 :依次將安卓系統(tǒng)的啟動執(zhí)行模塊Init Process ,Services、Zygote/Vm、 System Server和Server Manager分別作為控制節(jié)點,按照步驟2至4的方法,分別計算出 Services的度量值及對應(yīng)的模擬PCR寄存器中的當(dāng)前值、ZygoteAm的度量值及對應(yīng)的模擬 PCR寄存器中的當(dāng)前值、System Server度量值及對應(yīng)的模擬PCR寄存器中的當(dāng)前值、Server Manager度量值及對應(yīng)的模擬PCR寄存器中的當(dāng)前值、Home Launcher度量值及對應(yīng)的模擬 PCR寄存器中的當(dāng)前值;
[0098] 步驟6:將模擬PCR寄存器中的當(dāng)前值與預(yù)設(shè)值進(jìn)行比較,若模擬PCR寄存器中的當(dāng) 前值不等于預(yù)設(shè)值,則將日志中記錄的模擬PCR寄存器中的當(dāng)前值逐一與預(yù)先獲取的未經(jīng) 篡改的模擬PCR寄存器中的當(dāng)前值記錄進(jìn)行對比,定位被篡改的啟動執(zhí)行模塊后,輸出安卓 系統(tǒng)啟動認(rèn)證失敗及被篡改的啟動執(zhí)行模塊的提示信息。
[0099] 由步驟2至步驟5可W看出,本實施方式中信任鏈從Linux Kernel開始,經(jīng)過Init Process、Services、Zygote/Vm、System Server、Server Manager,直到Home Launcher結(jié) 束。安卓系統(tǒng)啟動的信任鏈,在信任當(dāng)前某一啟動執(zhí)行模塊的前提下,由該啟動執(zhí)行模塊去 評估下一個啟動執(zhí)行模塊的安全性,確定下一啟動執(zhí)行模塊可信之后再將控制權(quán)轉(zhuǎn)交給下 一個啟動執(zhí)行模塊,然后依次向后推進(jìn)。其中任鏈的起點Linux Kernel,也就是信任根。因 為安卓系統(tǒng)自身的架構(gòu)是很科學(xué)的,它有著嚴(yán)格的訪問控制機(jī)制,運(yùn)設(shè)及到安卓系統(tǒng)的穩(wěn) 定與安全,所WLinux內(nèi)核之上的安卓系統(tǒng)部分訪問Linux內(nèi)核是受到十分嚴(yán)格的控制的, 目前還沒有發(fā)現(xiàn)任何能夠在安卓系統(tǒng)的上層修改Linux內(nèi)核鏡像的手段,所W運(yùn)里可W認(rèn) 為,Linux內(nèi)核運(yùn)個源頭是安全可信的,即Linux Kernel作為信任根是完全沒有問題的。而 沒有選擇Linux Kernel的上一級BootLoader,是因為BootLoader是在操作系統(tǒng)內(nèi)核之前運(yùn) 行,初始化硬件設(shè)備、建立內(nèi)存空間映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適狀態(tài), W便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境??雌饋鞡ootLoader是個更好的選擇,因 為它更加貼近硬件,惡意攻擊者更難接近。不過也正因為BootLoader過于貼近硬件,所W對 其修改難度大,甚至?xí)斐砂沧肯到y(tǒng)的不穩(wěn)定,所W選擇了真實情況下同樣是安全可信且 修改起來更加實際的Linux Kernel。
[0100] 在確定了信任鏈和信任根后,操作系統(tǒng)從信任根開始沿著信任鏈進(jìn)行啟動,認(rèn)證 的關(guān)鍵操作莫過于度量了。運(yùn)個詞看起來十分抽象,但可W把它理解為,度量是對文件進(jìn)行 哈希運(yùn)算。
[0101] 從圖5中可W看出,在信任鏈上,每個啟動執(zhí)行模塊都會先對其下一個啟動執(zhí)行模 塊進(jìn)行度量,再用度量值進(jìn)行擴(kuò)展PCR操作,隨后該啟動執(zhí)行模塊將控制權(quán)移交到下一啟動 執(zhí)行模塊,再將此時模擬PCR寄存器中的當(dāng)前值寫入日志文件中。即從信任根Linux Kernel 開始,沿著信任鏈逐級向下,一直到化me Launcher,也就是信任鏈的結(jié)尾。信任鏈上的各個 啟動執(zhí)行模塊都進(jìn)行過度量之后,會校驗?zāi)MPCR寄存器中的值。如果結(jié)果符合預(yù)期,則簡 單的輸出結(jié)果、更新日志文件即可;如果結(jié)果不符合預(yù)期,通過對比日志文件,發(fā)現(xiàn)被篡改 的啟動執(zhí)行模塊,并馬上向用戶發(fā)出警告。
[0102] 需要說明的是,對安卓系統(tǒng)啟動的完整性度量不能強(qiáng)制保證啟動過程是可信的, 本實施方式的啟動可信認(rèn)證系統(tǒng)并不能控制安卓終端的執(zhí)行過程,也就不能阻止安卓系統(tǒng) 的啟動過程,只能忠實的記錄啟動過程的完整性狀態(tài),在安卓系統(tǒng)啟動完成之后,通過校驗 模擬PCR寄存器中的值來判斷啟動過程是否可信,得出結(jié)論后交由用戶處理。
[0103] 本實施方式的安卓軟件安裝的可信認(rèn)證方法,如圖6所示,包括如下步驟:
[0104] 步驟1 :CA(Ce;rtificate Authority,證書認(rèn)證機(jī)構(gòu))驗證軟件開發(fā)者信息并向軟 件開發(fā)者頒發(fā)證書;
[0105] 步驟1-1:軟件開發(fā)者產(chǎn)生私鑰對,即公鑰和私鑰;
[0106] 步驟1-2:軟件開發(fā)者與CA簽訂合同并支付費用;
[0107] 步驟1-3:軟件開發(fā)者向CA提供其身份信息及公鑰;
[0108] 步驟1-4: CA核實軟件開發(fā)者身份;
[0109] 步驟1-5:CA向可信的軟件開發(fā)者頒發(fā)代碼簽名證書,并提供安卓軟件簽名與打包 工具;
[0110] 步驟2:軟件開發(fā)者對安卓軟件進(jìn)行簽名,如圖7所示;
[0111] 步驟2-1:軟件開發(fā)者獲取可信的未簽名安卓軟件和CA頒發(fā)的代碼簽名證書;
[0112] 步驟2-2:使用軟TCM中的SM3密碼雜湊算法計算該可信的未簽名安卓軟件的哈希 值;
[0113] 步驟2-3:使用軟件開發(fā)者的私鑰和軟TCM中的SM2楠圓曲線公鑰密碼算法對該可 信的未簽名安卓軟件的哈希值進(jìn)行加密,得到數(shù)字簽名,并將數(shù)字簽名和該可信的未簽名 安卓軟件W及代碼簽名證書進(jìn)行打包,形成待上傳到應(yīng)用商店的簽名后的安卓軟件;
[0114] 步驟3:對從應(yīng)用商店獲得的待安裝的安卓軟件進(jìn)行認(rèn)證,如圖8所示;
[0115] 步驟3-1:對待安裝的安卓軟件進(jìn)行解壓,得到代碼簽名證書、數(shù)字簽名和未知來 源的不可信
當(dāng)前第3頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1