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