本發(fā)明涉及機密計算,尤其涉及的是跨域的虛擬nvme設備的使用方法、系統(tǒng)、終端及介質。
背景技術:
1、高速串行計算機擴展總線標準(pci-express,pcie)的設備虛擬指的是設備借用方根據(jù)設備出借方中的物理設備(即被虛擬設備)在本地通過虛擬技術生成對應的虛擬設備。在這種跨總線域的設備虛擬場景下,被虛擬設備實際使用的數(shù)據(jù)均為明文,在類似于gpu這種提供算力但不存儲持久化數(shù)據(jù)的設備中不存在安全問題。但是對于nvme設備(nvmexpress,nvme,或稱非易失性內存主機控制器接口規(guī)范),其目的是存儲持久化數(shù)據(jù),當nvme設備中存儲的數(shù)據(jù)是明文形態(tài)時,一旦設備借用方不再使用該nvme設備,其它訪問源可以輕易的拿到nvme中存儲的明文數(shù)據(jù),容易存在數(shù)據(jù)安全問題。
2、因此,現(xiàn)有技術還有待改進和發(fā)展。
技術實現(xiàn)思路
1、本發(fā)明要解決的技術問題在于,針對現(xiàn)有技術的上述缺陷,提供跨域的虛擬nvme設備的使用方法、系統(tǒng)、終端及介質,旨在解決現(xiàn)有技術中跨總線域的nvme設備虛擬場景下的數(shù)據(jù)存儲安全問題。
2、本發(fā)明解決問題所采用的技術方案如下:
3、第一方面,本發(fā)明實施例提供一種跨域的虛擬nvme設備的使用方法,所述方法包括:
4、通過控制橋獲取nvme設備對應的i/o命令,根據(jù)所述i/o命令的數(shù)據(jù)地址判斷是否執(zhí)行安全增強操作;其中,所述控制橋用于連接設備出借方的總線與所述nvme設備;
5、若執(zhí)行所述安全增強操作,則判斷所述i/o命令對應的操作類型;
6、若所述操作類型為寫操作,則根據(jù)所述i/o命令確定待寫入的數(shù)據(jù),對待寫入的數(shù)據(jù)進行加密后再寫入所述nvme設備的存儲單元;
7、若所述操作類型為讀操作,則根據(jù)所述i/o命令從所述nvme設備的存儲單元中讀取數(shù)據(jù),對讀取的數(shù)據(jù)進行解密后再輸出到所述設備出借方的總線。
8、在一種實施方式中,根據(jù)所述i/o命令的數(shù)據(jù)地址判斷是否執(zhí)行安全增強操作,包括:
9、判斷所述i/o命令的數(shù)據(jù)地址是否位于預設的安全增強地址區(qū)域;
10、若所述i/o命令的數(shù)據(jù)地址位于所述安全增強地址區(qū)域,則執(zhí)行安全增強操作。
11、在一種實施方式中,所述控制橋與所述設備出借方的總線之間的傳輸數(shù)據(jù)是以第一密鑰加密后的數(shù)據(jù),根據(jù)所述i/o命令確定待寫入的數(shù)據(jù),對待寫入的數(shù)據(jù)進行加密后再寫入所述nvme設備的存儲單元,包括:
12、根據(jù)所述i/o命令確定待寫入的數(shù)據(jù),根據(jù)所述第一密鑰對待寫入的數(shù)據(jù)進行解密,得到待寫入的解密數(shù)據(jù);
13、根據(jù)預設的第二密鑰對待寫入的解密數(shù)據(jù)進行加密后再寫入所述nvme設備的存儲單元。
14、在一種實施方式中,根據(jù)所述i/o命令從所述nvme設備的存儲單元中讀取數(shù)據(jù),對讀取的數(shù)據(jù)進行解密后再輸出到所述設備出借方的總線,包括:
15、根據(jù)所述i/o命令從所述nvme設備的存儲單元中讀取數(shù)據(jù),根據(jù)所述第二密鑰對讀取的數(shù)據(jù)進行解密,得到待發(fā)出的解密數(shù)據(jù);
16、根據(jù)所述第一密鑰對待發(fā)出的解密數(shù)據(jù)進行加密后再輸出到所述設備出借方的總線。
17、在一種實施方式中,設備借用方包括所述nvme設備對應的虛擬nvme設備,所述安全增強地址區(qū)域對應的注冊方法包括:
18、獲取由所述設備借用方攔截的所述虛擬nvme設備的i/o命令的提交請求;
19、將攔截的i/o命令的數(shù)據(jù)地址注冊至所述安全增強地址區(qū)域。
20、在一種實施方式中,所述安全增強地址區(qū)域對應的注銷方法包括:
21、獲取由所述設備借用方攔截的所述虛擬nvme設備的驅動處理的i/o命令的狀態(tài);
22、判斷攔截的i/o命令的狀態(tài)是否為完成狀態(tài),若是,則注銷所述安全增強地址區(qū)域中對應的注冊地址。
23、在一種實施方式中,所述寫操作和所述讀操作由所述nvme設備的控制器和dma引擎執(zhí)行;所述dma引擎用于通過所述設備出借方的總線從源地址中讀取數(shù)據(jù),或者將數(shù)據(jù)通過所述設備出借方的總線寫入目的地址;所述控制器用于將數(shù)據(jù)寫入所述nvme設備的存儲單元,或者從所述nvme設備的存儲單元讀取數(shù)據(jù)。
24、第二方面,本發(fā)明實施例還提供一種跨域的虛擬nvme設備的使用系統(tǒng),所述系統(tǒng)包括:設備借用方、設備出借方、連接橋以及控制橋,所述設備借用方包括虛擬nvme設備,所述設備出借方包括被虛擬的nvme設備,所述連接橋用于連接所述設備借用方和所述設備出借方分別對應的總線,所述控制橋用于連接所述nvme設備與所述設備出借方的總線,其中,所述控制橋包括:
25、命令分析模塊,用于通過控制橋獲取nvme設備對應的i/o命令,根據(jù)所述i/o命令的數(shù)據(jù)地址判斷是否執(zhí)行安全增強操作;其中,所述控制橋用于連接設備出借方的總線與所述nvme設備;
26、類型判斷模塊,用于若執(zhí)行所述安全增強操作,則判斷所述i/o命令對應的操作類型;
27、寫操作模塊,用于若所述操作類型為寫操作,則根據(jù)所述i/o命令確定待寫入的數(shù)據(jù),對待寫入的數(shù)據(jù)進行加密后再寫入所述nvme設備的存儲單元;
28、讀操作模塊,用于若所述操作類型為讀操作,則根據(jù)所述i/o命令從所述nvme設備的存儲單元中讀取數(shù)據(jù),對讀取的數(shù)據(jù)進行解密后再輸出到所述設備出借方的總線。
29、第三方面,本發(fā)明實施例還提供一種終端,所述終端包括有存儲器和一個以上處理器;所述存儲器存儲有一個以上的程序;所述程序包含用于執(zhí)行如上述中任一所述的跨域的虛擬nvme設備的使用方法的指令;所述處理器用于執(zhí)行所述程序。
30、第四方面,本發(fā)明實施例還提供一種計算機可讀存儲介質,其上存儲有多條指令,所述指令適用于由處理器加載并執(zhí)行,以實現(xiàn)如上述中任一所述的跨域的虛擬nvme設備的使用方法的步驟。
31、本發(fā)明的有益效果:本發(fā)明實施例針對跨總線域的nvme設備虛擬場景,在控制橋增加安全增強操作,以實現(xiàn)對設備借用方寫入nvme設備的數(shù)據(jù)進行加密。同時為了保證讀取數(shù)據(jù)的正常使用,從nvme設備讀取的數(shù)據(jù)經(jīng)過相應地解密后再外發(fā)。本發(fā)明通過在控制橋增加安全增強操作,額外提供了nvme設備存儲數(shù)據(jù)的安全保障方法,解決了跨總線域的nvme設備虛擬場景下的數(shù)據(jù)存儲安全問題。
1.一種跨域的虛擬nvme設備的使用方法,其特征在于,所述方法包括:
2.根據(jù)權利要求1所述的跨域的虛擬nvme設備的使用方法,其特征在于,根據(jù)所述i/o命令的數(shù)據(jù)地址判斷是否執(zhí)行安全增強操作,包括:
3.根據(jù)權利要求1所述的跨域的虛擬nvme設備的使用方法,其特征在于,所述控制橋與所述設備出借方的總線之間的傳輸數(shù)據(jù)是以第一密鑰加密后的數(shù)據(jù),根據(jù)所述i/o命令確定待寫入的數(shù)據(jù),對待寫入的數(shù)據(jù)進行加密后再寫入所述nvme設備的存儲單元,包括:
4.根據(jù)權利要求3所述的跨域的虛擬nvme設備的使用方法,其特征在于,根據(jù)所述i/o命令從所述nvme設備的存儲單元中讀取數(shù)據(jù),對讀取的數(shù)據(jù)進行解密后再輸出到所述設備出借方的總線,包括:
5.根據(jù)權利要求2所述的跨域的虛擬nvme設備的使用方法,其特征在于,設備借用方包括所述nvme設備對應的虛擬nvme設備,所述安全增強地址區(qū)域對應的注冊方法包括:
6.根據(jù)權利要求5所述的跨域的虛擬nvme設備的使用方法,其特征在于,所述安全增強地址區(qū)域對應的注銷方法包括:
7.根據(jù)權利要求6所述的跨域的虛擬nvme設備的使用方法,其特征在于,所述寫操作和所述讀操作由所述nvme設備的控制器和dma引擎執(zhí)行;所述dma引擎用于通過所述設備出借方的總線從源地址中讀取數(shù)據(jù),或者將數(shù)據(jù)通過所述設備出借方的總線寫入目的地址;所述控制器用于將數(shù)據(jù)寫入所述nvme設備的存儲單元,或者從所述nvme設備的存儲單元讀取數(shù)據(jù)。
8.一種跨域的虛擬nvme設備的使用系統(tǒng),其特征在于,所述系統(tǒng)包括:設備借用方、設備出借方、連接橋以及控制橋,所述設備借用方包括虛擬nvme設備,所述設備出借方包括被虛擬的nvme設備,所述連接橋用于連接所述設備借用方和所述設備出借方分別對應的總線,所述控制橋用于連接所述nvme設備與所述設備出借方的總線,其中,所述控制橋包括:
9.一種終端,其特征在于,所述終端包括有存儲器和一個以上處理器;所述存儲器存儲有一個以上的程序;所述程序包含用于執(zhí)行如權利要求1-7中任一所述的跨域的虛擬nvme設備的使用方法的指令;所述處理器用于執(zhí)行所述程序。
10.一種計算機可讀存儲介質,其上存儲有多條指令,其特征在于,所述指令適用于由處理器加載并執(zhí)行,以實現(xiàn)如權利要求1-7中任一所述的跨域的虛擬nvme設備的使用方法的步驟。