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

利用SoC內(nèi)部存儲提高系統(tǒng)安全性的方法、終端與系統(tǒng)的制作方法

文檔序號:9911556閱讀:470來源:國知局
利用SoC內(nèi)部存儲提高系統(tǒng)安全性的方法、終端與系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機系統(tǒng)軟件與移動平臺安全技術(shù)領(lǐng)域,尤其是涉及一種利用SoC內(nèi)部存儲提高系統(tǒng)安全性的方法、終端與系統(tǒng)。
【背景技術(shù)】
[0002]智能設(shè)備已經(jīng)普遍應(yīng)用在我們生活與工作各方面,而對應(yīng)的安全問題也日益突出。
[0003]移動智能設(shè)備如手機、平板等相比于傳統(tǒng)的PC或桌面電腦設(shè)備更容易失竊丟失或者被他人物理接觸,這給個人和企業(yè)設(shè)備數(shù)據(jù)與資產(chǎn)帶來巨大的安全威脅。由于現(xiàn)有大多智能設(shè)備都不具備防御物理攻擊的能力,攻擊者在能夠物理接觸智能設(shè)備的情況下可通過冷啟動、pin探測、總線探測等手段獲取到設(shè)備內(nèi)部的敏感數(shù)據(jù)。
[0004]針對智能設(shè)備方面的安全問題,安全研究與設(shè)計者們從多個方面進行了安全增強。第一個機制是用戶態(tài)與內(nèi)核態(tài)分離的設(shè)計,將操作系統(tǒng)中的用戶態(tài)應(yīng)用程序與操作系統(tǒng)內(nèi)核隔離開,有效地保護內(nèi)核的完整性。第二個機制是硬件虛擬化隔離,通過硬件支持在軟件中運行多個互相隔離的操作系統(tǒng)。然而由于虛擬化隔離只是軟件層次的隔離,它由于具有較大的可信計算基,其漏洞仍然較多,因此硬件層次的隔離并且具有較小可信計算基的方案如ARM TrustZone和Intel TXT技術(shù)被設(shè)計出來以達到更高的安全性。然而以上三種類型的安全架構(gòu)在移動智能設(shè)備上均具有局限性:這些方案架構(gòu)只考慮了來自軟件內(nèi)部層次的攻擊,并沒有考慮來自硬件物理層次的攻擊。實際中許多硬件攻擊的實施成本較低,并且智能設(shè)備能夠輕易地被他人接觸,因此防范物理攻擊特別是成本較低的物理攻擊非常重要。
[0005]傳統(tǒng)防御物理攻擊的手段是通過額外的硬件實現(xiàn),例如ARM提供SecurCore技術(shù)通過一個額外的安全微控制器防御物理攻擊、Intel SGX技術(shù)通過復(fù)雜的硬件設(shè)計防御物理攻擊等等。這種方式由于成本、硬件架構(gòu)等因素無法直接部署在現(xiàn)有的智能設(shè)備中,因此在實際中并不是性價比較高的方式。
[0006]現(xiàn)有的智能設(shè)備內(nèi)部包含SoC(System On Chip)和與之相連的各個組件。圖2展示了現(xiàn)有的硬件架構(gòu)中SoC包含的部分硬件組件和外部設(shè)備的連接概要圖,其中SoC內(nèi)部包含有一個或多個處理器單元、每個處理器單元的一級緩存、二級緩存甚至多級緩存、內(nèi)部只讀ROM存儲區(qū)、內(nèi)部RAM區(qū)還有與外部設(shè)備相連接的DRAM控制器、NAND控制器和其他外設(shè)。傳統(tǒng)的軟件系統(tǒng)都是將程序運行在外部DRAM中,并且DRAM與處理器的總線數(shù)據(jù)容易被竊取;而SoC本身的物理結(jié)構(gòu)設(shè)計使得其比較難被有效破解竊取內(nèi)部的數(shù)據(jù),特別是當SoC處于工作狀態(tài)。因此,有效地利用SoC所具備的抗物理攻擊能力能極大地增強軟件系統(tǒng)的安全性。

【發(fā)明內(nèi)容】

[0007]本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種利用SoC內(nèi)部存儲提高系統(tǒng)安全性的方法、終端與系統(tǒng),提高系統(tǒng)與終端的防物理攻擊能力。
[0008]本發(fā)明的目的可以通過以下技術(shù)方案來實現(xiàn):
[0009]—種利用SoC內(nèi)部存儲提高系統(tǒng)安全性的方法,其特征在于,包括:
[0010]將操作系統(tǒng)內(nèi)核與安全應(yīng)用程序的全部或者部分數(shù)據(jù)與代碼明文存放在SoC內(nèi)部存儲;
[0011]在SoC內(nèi)部存儲不足時通過將部分數(shù)據(jù)與代碼加密后保存在外部存儲中,在需要使用時再將經(jīng)過加密的數(shù)據(jù)與代碼從外部存儲加載到SoC內(nèi)部存儲中,驗證該加密數(shù)據(jù)與代碼完整性后解密運行。
[0012]所述SoC內(nèi)部存儲不足時,將所述操作系統(tǒng)內(nèi)核與安全應(yīng)用程序的部分數(shù)據(jù)與代碼進行加密,加密所用秘鑰存放在SoC內(nèi)部存儲中;然后計算該部分數(shù)據(jù)與代碼的哈希值,將該哈希值存放在SoC內(nèi)部存儲中,并將加密后的部分數(shù)據(jù)與代碼存放在外部存儲中;
[0013]當存放在外部存儲中的部分數(shù)據(jù)與代碼需要被使用時,將所需要的部分數(shù)據(jù)與代碼從外部存儲讀取到SoC內(nèi)部存儲中,計算該數(shù)據(jù)與代碼的哈希值,并將所計算的哈希值與之前計算保存在SoC內(nèi)部存儲中的已知哈希值進行比對,若兩者不一致則報錯,否則就開始從SoC內(nèi)部存儲中獲取到解密密鑰對所述數(shù)據(jù)與代碼進行解密。
[0014]所述操作系統(tǒng)內(nèi)核通過虛擬內(nèi)存缺頁管理的方式將部分數(shù)據(jù)與代碼從SoC內(nèi)部存儲加密交換到外部存儲中,并在頁表中將所述部分數(shù)據(jù)與代碼所在的頁設(shè)為缺失狀態(tài)。
[0015]當處理器訪問被標記為缺失狀態(tài)的所述代碼與數(shù)據(jù),會發(fā)生缺頁下陷,操作系統(tǒng)內(nèi)核確定頁表中哪些數(shù)據(jù)與代碼被使用頻率小于設(shè)定閾值,將這部分的數(shù)據(jù)與代碼作為不常用的數(shù)據(jù)與代碼,并將所述不常用數(shù)據(jù)與代碼從SoC內(nèi)部存儲換出到外部存儲中,并將所述不常用的數(shù)據(jù)與代碼所對應(yīng)頁表項設(shè)為缺失狀態(tài);若需要訪問所述不常用代碼與數(shù)據(jù)時,將所述不常用的代碼與數(shù)據(jù)從SoC外部存儲加載到內(nèi)部存儲中,進行完整性驗證、解密,然后在頁表中將所述代碼與數(shù)據(jù)所在的頁設(shè)為非缺失狀態(tài),并恢復(fù)對所述不常用的代碼與數(shù)據(jù)的訪問。
[0016]將安全內(nèi)核與安全應(yīng)用程序的安全敏感部分數(shù)據(jù)與代碼運行在SoC內(nèi)部存儲中,非安全敏感部分數(shù)據(jù)與代碼運行在SoC外部存儲中。
[0017]一種支持所述方法的終端,其特征在于,包括:
[0018]SoC單元,用于執(zhí)行代碼與保存安全敏感數(shù)據(jù);
[0019]外部存儲單元,用于在SoC單元內(nèi)部存儲不足時保存加密后的代碼與數(shù)據(jù)。
[0020]所述SoC單元直接通過讀取內(nèi)部存儲代碼執(zhí)行,所述外部存儲單元保存的代碼需要經(jīng)過SoC單元解密并加載至SoC單元內(nèi)部存儲方可執(zhí)行。
[0021]所述外部存儲單元還用于存儲非安全敏感的代碼和數(shù)據(jù),所述非安全敏感的代碼可不經(jīng)過SoC單元解密,并且不需要加載至SoC單元內(nèi)部存儲即可執(zhí)行。
[0022]該終端為智能卡、服務(wù)器、機頂盒、無人機、車載裝置或手持設(shè)備,其中手持設(shè)備為手機、平板電腦、智能手環(huán)或智能手表。
[0023]該終端同時包括兩個相互隔離的系統(tǒng),分別為安全系統(tǒng)和普通系統(tǒng),將安全系統(tǒng)運行在SoC單元,所述外部存儲單元保存加密的安全系統(tǒng)代碼與數(shù)據(jù),普通系統(tǒng)則可不經(jīng)過SoC單元解密并且不需要加載至SoC單元內(nèi)部存儲即可執(zhí)行。
[0024]—種系統(tǒng),其特征在于,包括權(quán)利要求6-10中任一所述終端,所述系統(tǒng)包括包括兩個相互隔離的系統(tǒng),分別為安全系統(tǒng)和普通系統(tǒng),將整個安全系統(tǒng)運行在SoC單元,或者將安全系統(tǒng)中安全敏感數(shù)據(jù)運行在SoC單元。
[0025]所述SoC內(nèi)部存儲包括SoC內(nèi)部內(nèi)存和處理器最后一級緩存,所述SoC外部存儲包括易失性存儲和非易失性存儲。
[0026]與現(xiàn)有技術(shù)相比,本發(fā)明利用了SoC具有的較強的對抗物理攻擊的特性,將明文數(shù)據(jù)與代碼完全保存與運行在SoC內(nèi)部存儲中,而將加密后的數(shù)據(jù)與代碼保存在SoC外部存儲中,即使攻擊者通過物理攻擊方法導(dǎo)出外部存儲數(shù)據(jù)、監(jiān)聽總線數(shù)據(jù)、控制基帶處理器等方法也無法竊取敏感數(shù)據(jù)與代碼,有效地提高了操作系統(tǒng)內(nèi)核與安全應(yīng)用程序的安全性。
【附圖說明】
[0027]圖1為本發(fā)明中不同系統(tǒng)模塊在內(nèi)存中的布局示意圖;
[0028]圖2為本發(fā)明所涉及的SoC硬件內(nèi)部所包含的部分模塊示意圖;
[0029]圖3為本發(fā)明所涉及的TEE與REE系統(tǒng)示意圖;
[0030]圖4為采用本發(fā)明方法時TEE與REE的內(nèi)存布局示意圖。
【具體實施方式】
[0031]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明的一部分實施例,而不是全部實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都應(yīng)屬于本發(fā)明保護的范圍。
[0032]本發(fā)明的原理是,將操作系統(tǒng)內(nèi)核與安全應(yīng)用程序的全部或者安全敏感部分數(shù)據(jù)與代碼明文存放在SoC內(nèi)部存儲(包括SoC內(nèi)部SRAM、處理器最后一級緩存)中。當SoC內(nèi)部存儲不足于存下所有所需的數(shù)據(jù)與代碼時,將不常用到的數(shù)據(jù)與代碼加密存放在外部存儲(包括DRAM內(nèi)存、NAND存儲)中,所述存儲在外部存儲的的數(shù)據(jù)與代碼在需要被使用時將被加載到SoC內(nèi)部存儲中,經(jīng)過完整性驗證、解密后再運行與使用。
[0033]本發(fā)明的具體步驟包括:
[0034]1.系統(tǒng)軟件設(shè)計者可指定哪部分數(shù)據(jù)與代碼(稱為系統(tǒng)安全模塊)存放在SoC內(nèi)部存儲,哪部分(稱為系統(tǒng)非安全模塊)存放在SoC外部非安全存儲中。由于存放在SoC內(nèi)部存儲的數(shù)據(jù)與代碼(即系統(tǒng)安全模塊)可能超過SoC內(nèi)部存儲容量,存儲在SoC內(nèi)部存儲的系統(tǒng)安全模塊分為兩部分:一部分是可被加密存放在SoC外部非安全存儲的數(shù)據(jù)與代碼,稱為系統(tǒng)安全模塊非關(guān)鍵部分;一部分是用于保持系統(tǒng)軟件內(nèi)部運作的關(guān)鍵部分代碼與數(shù)據(jù),例如SoC內(nèi)部內(nèi)存不足時的處理程序、完整性驗證,這部分關(guān)鍵代碼與數(shù)據(jù)需要一直被存放在SoC內(nèi)部存儲中,稱為系統(tǒng)安全模塊關(guān)鍵部分。圖1展示了不同系統(tǒng)模塊的內(nèi)存布局。
[0035]2.當SoC內(nèi)部內(nèi)存不足時,系統(tǒng)安全模塊關(guān)鍵部分負責將系統(tǒng)安全模塊非關(guān)鍵部分中不常用到的代碼與數(shù)據(jù)進行加密,加密所用密鑰保存在SoC內(nèi)部存儲中;然后處理器將計算所述代碼與數(shù)據(jù)的哈希值(該哈希值是用于當再次將所述代碼與數(shù)據(jù)拷貝到SoC內(nèi)部存儲是進行完整性校驗的目的),所計算出的哈希值也存放在SoC內(nèi)部存儲中,并將所述加密后的代碼與數(shù)據(jù)存放在外部存儲中。這樣就可騰出部分運行空間用于運行接下來的部分。
[0036]3.當系統(tǒng)安全模塊非關(guān)鍵
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1