本發(fā)明涉及計算機,特別涉及一種設備中訪問控制的方法、裝置、設備及存儲介質。
背景技術:
1、arm64處理器(arm架構的64位指令集的處理器)基于信任空間技術將系統(tǒng)資源分為secure?world和normal?world兩個部分。normal?world代表的是正常世界,運行客戶操作系統(tǒng)和客戶應用;secure?world為安全世界,運行可信操作系統(tǒng)和可信固件。對應的arm64?cpu也有安全模式和非安全模式,在非安全模式下,客戶操作系統(tǒng)和客戶應用主要運行用戶程序,執(zhí)行對安全性要求不高的各種任務,在這種環(huán)境下,運行的程序可能會包含許多惡意或攻擊軟件,導致數(shù)據(jù)泄露或篡改。
2、內存交換技術是一種計算機系統(tǒng)中的內存管理技術,當系統(tǒng)物理內存不足時,操作系統(tǒng)內核會將內存中暫時不使用的數(shù)據(jù)塊寫入到交換區(qū),當這些數(shù)據(jù)再次被需要時,再從交換區(qū)讀回內存數(shù)據(jù),這種技術可以使系統(tǒng)利用更多的存儲空間來模擬出比實際物理內存更大的內存空間。
3、soc(system?on?chip,系統(tǒng)級芯片)中的物理內存,無論是安全內存還是非安全內存空間都是有限的,當大量程序在運行時,需要借用內存交換機制將內存中的數(shù)據(jù)交換至磁盤空間,但是當處理器處于安全模式時,如果簡單的將安全內存中的機密數(shù)據(jù)交換至磁盤空間,會導致安全數(shù)據(jù)泄露;此外,處于安全世界的可信操作系統(tǒng)和可信固件在某些場景下,也會操作安全數(shù)據(jù),并將其保存至磁盤空間,如果不對保存安全數(shù)據(jù)的磁盤空間進行保護,會不可避免的導致數(shù)據(jù)泄露。傳統(tǒng)的對儲存在磁盤空間的安全數(shù)據(jù)進行加解密,會導致數(shù)據(jù)交互效率低、耗時長,尤其是對于一些程序堆棧數(shù)據(jù)等實時性高的數(shù)據(jù),此種方法實時性很差;而在磁盤側進行額外的安全保護設計,成本又太高。
技術實現(xiàn)思路
1、鑒于上述問題,提出了以便提供克服上述問題或者至少部分地解決上述問題的設備中訪問控制的方法、裝置、設備及存儲介質,包括:
2、在本發(fā)明實施的第一方面,首先提供了一種設備中訪問控制的方法,所述設備包括目標部件,所述目標部件中內存空間包括安全內存空間和非安全內存空間,所述目標部件設置有外接存儲器,所述外接存儲器中存儲區(qū)域包括安全存儲區(qū)域和非安全存儲區(qū)域,所述方法包括:
3、響應于對所述外接存儲器的訪問請求,確定所述目標部件的當前安全模式、所述訪問請求對應的存儲區(qū)域安全類型;
4、依據(jù)所述當前安全模式與所述存儲區(qū)域安全類型確定操作權限;
5、若所述操作權限指示為具備操作權限時,向所述外接存儲器中與存儲區(qū)域安全類型對應的目標存儲區(qū)域發(fā)起訪問操作,以將所述目標存儲區(qū)域響應的數(shù)據(jù)寫入所述目標部件中目標內存空間,或,將所述目標部件中目標內存空間的數(shù)據(jù)寫入所述目標存儲區(qū)域,所述目標內存空間的內存空間安全類型與所述目標存儲區(qū)域的存儲區(qū)域安全類型對應。
6、在本發(fā)明的可選實施例中,所述依據(jù)所述當前安全模式與所述存儲區(qū)域安全類型確定操作權限,包括:
7、若所述當前安全模式為安全模式,且,所述存儲區(qū)域安全類型為安全,則確定所述操作權限為具備操作權限;
8、若所述當前安全模式為安全模式,且,所述存儲區(qū)域安全類型為非安全,則確定所述操作權限為具備操作權限;
9、若所述當前安全模式為非安全模式,且,所述存儲區(qū)域安全類型為非安全,則確定所述操作權限為具備操作權限;
10、若所述當前安全模式為非安全模式,且,所述存儲區(qū)域安全類型為安全,則確定所述操作權限為不具備操作權限。
11、在本發(fā)明的可選實施例中,所述訪問請求為讀取請求,所述向所述外接存儲器中與存儲區(qū)域安全類型對應的目標存儲區(qū)域發(fā)起訪問操作,以將所述目標存儲區(qū)域響應的數(shù)據(jù)寫入所述目標部件中目標內存空間,包括:
12、依據(jù)所述訪問請求生成符合目標協(xié)議的請求命令;
13、將所述請求命令通過安全總線發(fā)送至請求隊列,以發(fā)起對所述目標存儲區(qū)域的讀取操作;
14、獲取所述目標存儲區(qū)域的響應數(shù)據(jù)并確定所述響應數(shù)據(jù)對應的目標內存空間;
15、若所述當前安全模式為安全模式且所述存儲區(qū)域安全類型為安全時,通過安全總線將所述響應數(shù)據(jù)寫入所述目標內存空間,所述目標內存空間的內存空間安全類型為安全;
16、若所述當前安全模式為安全模式且所述存儲區(qū)域安全類型為非安全時,將所述安全總線切換為非安全總線,并通過非安全總線將所述響應數(shù)據(jù)寫入所述目標內存空間,所述目標內存空間的內存空間安全類型為非安全;
17、若所述當前安全模式為非安全模式且所述存儲區(qū)域安全類型為非安全時,通過非安全總線將所述響應數(shù)據(jù)寫入所述目標內存空間,所述目標內存空間的內存空間安全類型為非安全。
18、在本發(fā)明的可選實施例中,所述訪問請求為寫入請求,所述向所述外接存儲器中與存儲區(qū)域安全類型對應的目標存儲區(qū)域發(fā)起訪問操作,將所述目標部件中目標內存空間的數(shù)據(jù)寫入所述目標存儲區(qū)域,包括:
19、依據(jù)所述訪問請求生成符合目標協(xié)議的請求命令;
20、將所述請求命令通過安全總線發(fā)送至請求隊列,以發(fā)起對所述目標存儲區(qū)域的寫入操作;
21、若所述當前安全模式為安全模式且所述存儲區(qū)域安全類型為安全時,通過安全總線將所述目標內存空間的數(shù)據(jù)寫入所述目標存儲區(qū)域,所述目標內存空間的內存空間安全類型為安全;
22、若所述當前安全模式為安全模式且所述存儲區(qū)域安全類型為非安全時,將所述安全總線切換為非安全總線,并通過非安全總線將所述目標內存空間的數(shù)據(jù)寫入所述目標存儲區(qū)域,所述目標內存空間的內存空間安全類型為非安全;
23、若所述當前安全模式為非安全模式且所述存儲區(qū)域安全類型為非安全時,通過非安全總線將所述目標內存空間的數(shù)據(jù)寫入所述目標存儲區(qū)域,所述目標內存空間的內存空間安全類型為非安全。
24、在本發(fā)明的可選實施例中,包括:所述將所述請求命令通過安全總線發(fā)送至請求隊列,以發(fā)起對所述目標存儲區(qū)域的讀取操作,包括:
25、將所述請求命令通過安全總線發(fā)送至請求隊列,并根據(jù)所述目標協(xié)議向觸發(fā)寄存器寫入觸發(fā)數(shù)據(jù),以發(fā)起對所述目標存儲區(qū)域的讀取操作;
26、所述獲取所述目標存儲區(qū)域的響應數(shù)據(jù)并確定所述響應數(shù)據(jù)對應的目標內存空間之后,包括:
27、查詢預先設置的內存安全屬性表,得到所述目標內存空間的內存空間安全類型。
28、在本發(fā)明的可選實施例中,所述方法還包括:
29、若所述操作權限指示為不具備操作權限時,拒絕所述訪問請求。
30、在本發(fā)明的可選實施例中,所述依據(jù)所述當前安全模式與所述存儲區(qū)域安全類型確定操作權限之前,包括:
31、確定所述訪問請求操作的寄存器類型,所述寄存器類型包括安全配置寄存器和非安全配置寄存器;
32、若所述當前安全模式為非安全模式,且,所述寄存器類型為安全配置寄存器,拒絕所述訪問請求。
33、在本發(fā)明的可選實施例中,所述方法還包括:
34、在安全模式下,對所述目標部件進行初始化操作。
35、在本發(fā)明實施的第二方面,還提供了一種設備中訪問控制的裝置,所述設備包括目標部件,所述目標部件中內存空間包括安全內存空間和非安全內存空間,所述目標部件設置有外接存儲器,所述外接存儲器中存儲區(qū)域包括安全存儲區(qū)域和非安全存儲區(qū)域,所述裝置包括:
36、第一確定模塊,用于響應于對所述外接存儲器的訪問請求,確定所述目標部件的當前安全模式、所述訪問請求對應的存儲區(qū)域安全類型;
37、權限確定模塊,用于依據(jù)所述當前安全模式與所述存儲區(qū)域安全類型確定操作權限;
38、操作發(fā)起模塊,用于若所述操作權限指示為具備操作權限時,向所述外接存儲器中與存儲區(qū)域安全類型對應的目標存儲區(qū)域發(fā)起訪問操作,以將所述目標存儲區(qū)域響應的數(shù)據(jù)寫入所述目標部件中目標內存空間,或,將所述目標部件中目標內存空間的數(shù)據(jù)寫入所述目標存儲區(qū)域,所述目標內存空間的內存空間安全類型與所述目標存儲區(qū)域的存儲區(qū)域安全類型對應。
39、在本發(fā)明實施的第三方面,還提供了一種電子設備,包括處理器、存儲器及存儲在存儲器上并能夠在處理器上運行的計算機程序;計算機程序被處理器執(zhí)行時實現(xiàn)上述任一所述的設備中訪問控制的方法。
40、在本發(fā)明實施的第四方面,還提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質中存儲有指令,計算機程序被處理器執(zhí)行時實現(xiàn)上述任一所述的設備中訪問控制的方法。
41、本發(fā)明實施例具有以下優(yōu)點:
42、在本發(fā)明實施例中,響應于對外接存儲器的訪問請求,確定目標部件的當前安全模式、訪問請求對應的存儲區(qū)域安全類型,依據(jù)當前安全模式與存儲區(qū)域安全類型確定操作權限,若操作權限指示為具備操作權限時,向外接存儲器中與存儲區(qū)域安全類型對應的目標存儲區(qū)域發(fā)起訪問操作,以將目標存儲區(qū)域響應的數(shù)據(jù)寫入目標部件中目標內存空間,或,將目標部件中目標內存空間的數(shù)據(jù)寫入目標存儲區(qū)域,目標內存空間的內存空間安全類型與目標存儲區(qū)域的存儲區(qū)域安全類型對應,提高了數(shù)據(jù)在內存和外接存儲器傳輸過程中的安全性,降低了數(shù)據(jù)泄露的風險。