欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

提高啟動安全的方法和系統(tǒng)與流程

文檔序號:12670053閱讀:245來源:國知局
提高啟動安全的方法和系統(tǒng)與流程

本申請涉及電數(shù)字數(shù)據(jù)處理領域,尤其涉及提高啟動安全的方法和系統(tǒng)。



背景技術:

ARM技術是系統(tǒng)范圍的安全方法,針對高性能計算平臺上的大量應用,包括安全支付、數(shù)字版權管理(DRM)、企業(yè)服務和基于Web的服務。TrustZone技術與CortexTM-A處理器緊密集成,并通過AXI總線和特定的TrustZone系統(tǒng)IP塊在系統(tǒng)中進行擴展。此方法意味著可以保護安全內存、加密塊、鍵盤和屏幕等外設,從而可確保它們免遭軟件攻擊。

安全啟動(boot)的基本思想是從Romcode到Images的多層鏈式校驗機制。Romcode利用哈希(Hash)函數(shù)來驗證BSC的完整性,用RSA算法來驗證SPL的完整性,然后SPL將會驗證U-boot,最后U-boot來驗證bootimage、recoveryimage、modem、dsp等。

傳統(tǒng)的Linux系統(tǒng)啟動過程主要由著名的init進程(也被稱為SysV init啟動系統(tǒng))處理,而基于init的啟動系統(tǒng)被認為有效率不足的問題。Systemd是Linux系統(tǒng)機器的另一種啟動方式,宣稱彌補了以傳統(tǒng)Linux SysV init為基礎的系統(tǒng)的缺點。Systemd可以提高系統(tǒng)的啟動速度。

SELinux(Security-Enhanced Linux)是一種美國國家安全局(NSA)的對于強制訪問控制的實現(xiàn)。當移動設備加載SELinux后移動操作系統(tǒng)的安全等級將極大的提高。然而SELinux自身安全同樣需要保護。

SELinux的功能主要體現(xiàn)在策略中。SELinux把所有的防護策略語句編譯成一個基礎策略二進制文件或者一個基礎策略二進制文件加多個模塊策略二進制文件中。所以,對于SELinux策略二進制文件的保護將是至關重要的。



技術實現(xiàn)要素:

本申請的目標在于提供一種能克服SELinux強制訪問控制自身的安全缺陷從而提高啟動安全的方法和系統(tǒng)。

本申請的目標由一種提高啟動安全的方法實現(xiàn),該方法包括,在將SELinux策略文件導入到內核時,

使用可信芯片自帶的算法計算得到當前導入的SELinux策略文件的第一哈希值;

從可信芯片的安全存儲空間獲取SELinux策略文件的第一基準哈希值;

比較所述第一哈希值和所述第一基準哈希值;

響應于所述第一哈希值和所述第一基準哈希值相同,啟動系統(tǒng)。

根據(jù)本申請方法的一方面,所述方法還包括:

響應于比較結果為不同,向系統(tǒng)用戶提供包括是否啟動的選擇。

根據(jù)本申請方法的一方面,所述方法還包括:

使用可信芯片自帶的算法計算得到可信芯片的安全啟動相關代碼的第二哈希值;

將所述第一哈希值和所述第二哈希值耦合為第三哈希值;

從可信芯片的安全存儲空間獲取第二基準哈希值;

比較所述第三哈希值和所述第二基準哈希值;

響應于所述第三哈希值和所述第二基準哈希值相同,啟動系統(tǒng)。

根據(jù)本申請方法的一方面,所述方法還包括:

通過可信芯片的CA在可信芯片的安全執(zhí)行環(huán)境建立SELinux策略文件的訪問向量緩存AVC和策略服務器。

根據(jù)本申請方法的一方面,所述選擇還包括:從遠程安全服務器下載和/或升級SELinux策略文件。

在本說明書中,術語“SELinux策略文件”與術語“SELinux二進制策略文件”、“SELinux策略二進制文件”和“SELinux策略配置文件”可互換地使用。

本申請的目標還由一種提高啟動安全的裝置實現(xiàn),該裝置包括,

第一哈希值計算模塊,用于在將SELinux策略文件導入到內核時,使用可信芯片自帶的算法計算得到當前導入的SELinux策略文件的第一哈希值;

第一獲取模塊,用于從可信芯片的安全存儲空間獲取SELinux策略文件的第一基準哈希值;

第一比較模塊,用于比較所述第一哈希值和所述第一基準哈希值;

第一啟動模塊,用于響應所述第一哈希值和所述第一基準哈希值相同,啟動系統(tǒng)。

根據(jù)本申請裝置的一方面,所述裝置還包括:

選擇提供模塊,用于響應于比較結果為不同,向系統(tǒng)用戶提供包括是否啟動的選擇。

根據(jù)本申請裝置的一方面,所述裝置還包括:

第二哈希值計算模塊,用于使用可信芯片自帶的算法計算得到可信芯片的安全啟動相關代碼的第二哈希值;

耦合模塊,用于將所述第一哈希值和所述第二哈希值耦合為第三哈希值;

第二獲取模塊,用于從可信芯片的安全存儲空間獲取第二基準哈希值;

第二比較模塊,用于比較所述第三哈希值和所述第二基準哈希值;

第二啟動模塊,用于響應于所述第三哈希值和所述第二基準哈希值相同,啟動系統(tǒng)。

根據(jù)本申請裝置的一方面,所述裝置還包括:

建立模塊,用于通過可信芯片的CA在可信芯片的安全執(zhí)行環(huán)境建立SELinux策略文件的訪問向量緩存AVC和策略服務器。

根據(jù)本申請裝置的一方面,所述選擇還包括:從遠程安全服務器下載和/或升級SELinux策略文件。

通過本發(fā)明,可實現(xiàn)對SELinux策略(配置/二進制)文件的保護,主要體現(xiàn)在下述三方面之一或多個:1)保護SELinux策略二進制文件的完整性,防止SELinux策略文件被替換而不知。防止SELinux策略二進制文件可能被攻擊者替換成另外一個有漏洞的攻擊者自定義的SELinux策略二進制文件,導致SELinux 策略失效;2)在開機啟動但SELinux還沒有生效起作用這段時間,SELinux需要確認機器加電這段時間是否安全,否則SELinux策略文件可以被替換掉;3)在一般情況下,SELinux導入系統(tǒng)后執(zhí)行環(huán)境是普通執(zhí)行環(huán)境,會被攻擊者強行攻破導致SELinux失效,通過可信芯片如TrustZone保護SELinux啟動時候處于安全執(zhí)行環(huán)境下??傊?,本發(fā)明可提高啟動的安全性。

附圖說明

本發(fā)明將在下面參考附圖并結合優(yōu)選實施例進行更完全地說明。

圖1為根據(jù)本發(fā)明方法的一實施例的流程圖。

圖2為根據(jù)本發(fā)明方法的另一實施例的流程圖。

圖3為根據(jù)本發(fā)明裝置的一實施例的結構示意圖。

為清晰起見,這些附圖均為示意性及簡化的圖,它們只給出了對于理解本發(fā)明所必要的細節(jié),而省略其他細節(jié)。

具體實施方式

通過下面給出的詳細描述,本發(fā)明的適用范圍將顯而易見。然而,應當理解,在詳細描述和具體例子表明本發(fā)明優(yōu)選實施例的同時,它們僅為說明目的給出。

圖1示出了根據(jù)本發(fā)明方法的一實施例的流程圖。在移動設備出廠時,SELinux二進制策略文件已經預編好并安裝到移動設備中??尚判酒鏣rustZone必須要對SELinux二進制策略文件進行處理,通過TrustZone自帶的雜湊算法對SELinux二進制策略文件進行計算hash值當作以后進行判斷的基準值,在此稱為第一基準哈希值。然后直接把第一基準哈希值保存到TrustZone芯片的安全存儲空間中。同時,也可把SELinux策略文件和第一基準哈希值存儲到遠程服務器如移動設備廠家提供的安全服務器或者MDM遠程設備管理服務器,以供用戶下載和/或升級,在移動設備出現(xiàn)SELinux策略文件被破壞的情形時可以進行升級SELinux策略。該實施例的方法包括,在步驟S10,在將SELinux策略文件導入到內核時,使用TrustZone芯片自帶的雜湊算法計算得到當前導入的SELinux策略文件的第一哈希值。在步驟S20,從TrustZone芯片的安全存儲空間獲取SELinux策略文件的第一基準哈希值。在步驟S30,對第一哈希值和第一基準哈希值進行比較。如果比較結果表明第一哈希值和第一基準哈希值相同,則表明SELinux策略文件是完整的,處理進行到步驟S40,啟動系統(tǒng)。否則,處理進行到步驟S50,向系統(tǒng)用戶提供包括強制啟動、不啟動的選擇。如果用戶選擇強制啟動,則處理進行到步驟S40,啟動系統(tǒng),同時可以提供強烈警告標志。如果用戶選擇不啟動,則處理進行到步驟S60,使移動設備關機。在其它實施例中,在步驟S50還可向用戶提供從遠程安全服務器下載和/或升級SELinux策略文件的選擇。如果用戶選擇該選項,則從相應的安全服務器下載SELinux策略文件并用于替代移動設備當前的SELinux策略文件。由于下載發(fā)生在當前寫入到trustzone芯片中后,需要重啟機器重新判斷所加載SELinux二進制策略文件的完整性。

圖2示出了根據(jù)本發(fā)明方法的另一實施例的流程圖。該實施例的方法包括圖1所示除步驟S40之外的所有步驟。在移動設備加電啟動到systemd導入SELinux二進制策略文件使強制訪問控制生效這段時間對SELinux來說是未知的時間段,即不知道這段時間是否安全,如果在這段時間出現(xiàn)被破壞不得而知。因此,在第一哈希值和第一基準哈希值相同即表明SELinux策略文件完整時或者用戶選擇強制啟動時并不執(zhí)行步驟S40啟動系統(tǒng),而是執(zhí)行步驟S70,調用TrustZone提供的雜湊算法的api(應用程序接口)再次計算當前導入的SELinux二進制策略文件的hash值A。在步驟S80,獲得TrustZone中secboot的、到當前時候的hash值B。在步驟S85,將哈希值A和B耦合為第三哈希值。在步驟S90,從Trustzone芯片的安全存儲空間獲取第二基準哈希值。通過Trustzone對SELinux策略二進制文件計算得出hash值,并把這個hash值和Trustzone的Secboot(安全啟動相關代碼)的hash值耦合,形成一個新hash值并寫入到Trustzone的安全存儲中作為第二基準哈希值。在步驟S95,對第三哈希值和第二基準哈希值進行比較。如果比較結果表明第三哈希值和第二基準哈希值相同,則表明從開機加電到導入SELinux策略文件這段時間是安全的,處理進行到步驟S100,啟動系統(tǒng)。如果比較結果表明第三哈希值和第二基準哈希值不同,則說明從開機加電到導入SELinux策略文件這段時間是被污染的、不安全的,處理進行到步驟S50,向系統(tǒng)用戶提供包括強制啟動、不啟動的選擇。如果用戶選擇強制啟動,則處理進行到步驟S100。如果用戶選擇不啟動,則處理進行到步驟S60,使移動設備關機。在步驟S100之后,處理進行到步驟S105,通過Trustzone芯片的CA在Trustzone的安全執(zhí)行環(huán)境建立SELinux策略文件的訪問向量緩存AVC和策略服務器,從而利用TrustZone保護系統(tǒng)使用SELinux訪問控制的安全,使系統(tǒng)處于TrustZone安全執(zhí)行環(huán)境模式下的SELinux訪問控制保護。系統(tǒng)在SELinux導入內核時在內存中會通過導入的SELinux策略文件維護一個AVC(訪問向量緩存,Access Vector Cache)。當需一個主體(進程)訪問一個客體(資源)的時候,會先訪問AVC緩存,如果訪問不通過,才再次訪問策略服務器??赡軙霈F(xiàn)被黑客掃描AVC或者策略服務器的情況,從而出現(xiàn)SELinux的安全隱患,畢竟SELinux主要是為了安全而增加的功能。為了避免AVC和策略服務器被掃描,調用TrustZone的API編寫SELinux供主體訪問客體時候判斷的SELinux訪問控制(包含了AVC和策略服務器)的TA(可信安全應用),因為SELinux訪問控制處于TrustZone的可信安全執(zhí)行環(huán)境下,將很難被掃描。編寫對應TrustZone里的SELinux訪問控制的TA的SELinux訪問控制的CA(在普通系統(tǒng)下需要通過CA才能陷入可信執(zhí)行環(huán)境下,所以需要通過trustzone提供的接口編寫CA,CA相當于進入trustzone安全的通道但又不執(zhí)行具體的操作,具體操作在可信安全執(zhí)行環(huán)境下的TA中),能連接普通系統(tǒng)執(zhí)行環(huán)境和TrustZone安全執(zhí)行環(huán)境的SELinux訪問控制,當一個主體(進程)訪問一個客體資源的時候,先通過SELinux訪問控制的CA陷入trustzone的可信執(zhí)行環(huán)境中,再通過SELinux訪問控制的TA中執(zhí)行訪問AVC緩存判斷當前主體對客體的訪問,如果成功則返回普通環(huán)境下訪問成功的返回值,如果失敗則訪問SELinux策略服務器判斷是否有訪問權限,如果再失敗則說明主體對客體沒有權限,如果成功則返回成功,同時加入AVC緩存中。這樣就把SELinux訪問控制都放入到了安全執(zhí)行環(huán)境中,可以防止黑客的滲透。

圖3示出了根據(jù)本發(fā)明的提高啟動安全的裝置的一實施例,該實施例的裝置包括:第一哈希值計算模塊10,用于在將SELinux策略文件導入到內核時,使用可信芯片自帶的算法計算得到當前導入的SELinux策略文件的第一哈希值;第一獲取模塊20,用于從可信芯片的安全存儲空間獲取SELinux策略文件的第一基準哈希值;第一比較模塊30,用于比較所述第一哈希值和所述第一基準哈希值;第一啟動模塊40,用于響應所述第一哈希值和所述第一基準哈希值相同,啟動系統(tǒng);選擇提供模塊50,用于響應于比較結果為不同,向系統(tǒng)用戶提供包括強制啟動、不啟動和從遠程安全服務器下載和/或升級SELinux策略文件的選擇。

根據(jù)本發(fā)明的提高啟動安全的裝置的另一實施例,該實施例包括圖3所示除第一啟動模塊40之外的所有模塊,且另外包括:第二哈希值計算模塊,用于使用可信芯片自帶的算法計算得到可信芯片的安全啟動相關代碼的第二哈希值;耦合模塊,用于將所述第一哈希值和所述第二哈希值耦合為第三哈希值;第二獲取模塊,用于從可信芯片的安全存儲空間獲取第二基準哈希值;第二比較模塊,用于比較所述第三哈希值和所述第二基準哈希值;第二啟動模塊,用于響應于所述第三哈希值和所述第二基準哈希值相同,啟動系統(tǒng);建立模塊,用于通過可信芯片的CA在可信芯片的安全執(zhí)行環(huán)境建立SELinux策略文件的訪問向量緩存AVC和策略服務器。

除非明確指出,在此所用的單數(shù)形式“一”、“該”均包括復數(shù)含義(即具有“至少一”的意思)。應當進一步理解,說明書中使用的術語“具有”、“包括”和/或“包含”表明存在所述的特征、步驟、操作、元件和/或部件,但不排除存在或增加一個或多個其他特征、步驟、操作、元件、部件和/或其組合。如在此所用的術語“和/或”包括一個或多個列舉的相關項目的任何及所有組合。除非明確指出,在此公開的任何方法的步驟不必精確按照所公開的順序執(zhí)行。

一些優(yōu)選實施例已經在前面進行了說明,但是應當強調的是,本發(fā)明不局限于這些實施例,而是可以本發(fā)明主題范圍內的其它方式實現(xiàn)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
靖边县| 正定县| 米脂县| 台前县| 平昌县| 黑水县| 封丘县| 万源市| 周宁县| 嘉峪关市| 龙海市| 忻城县| 南昌市| 棋牌| 辽中县| 宿松县| 台中市| 方城县| 临猗县| 大竹县| 蓬安县| 澜沧| 阳春市| 明水县| 巩义市| 泾川县| 大安市| 锦州市| 张掖市| 南木林县| 盘锦市| 贵港市| 天长市| 禹城市| 繁昌县| 祥云县| 手游| 张掖市| 从江县| 和平县| 余姚市|