適用于Xen虛擬化環(huán)境下的專用數(shù)據(jù)加密方法及加密卡的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于云計(jì)算技術(shù)領(lǐng)域,具體涉及一種適用于Xen虛擬化環(huán)境下的專用數(shù)據(jù)加密方法及加密卡。
【背景技術(shù)】
[0002]加密卡是為PC機(jī)提供加密服務(wù)的專用插卡式密碼設(shè)備,通常通過應(yīng)用程序接口API的方式為計(jì)算機(jī)應(yīng)用系統(tǒng)提供各種安全保密服務(wù),例如:數(shù)據(jù)加密、數(shù)字簽名、信息完整性驗(yàn)證、身份認(rèn)證和訪問控制等,主要應(yīng)用于電子政務(wù)、電子商務(wù)、電子金融等行業(yè)。通過在計(jì)算機(jī)與外部通信接口上安插特殊的加密卡,可以保證計(jì)算機(jī)輸出的數(shù)據(jù)均經(jīng)過加密卡的處理而難以被網(wǎng)絡(luò)上的攻擊者偷竊解讀;同時(shí),也只有安裝了相應(yīng)解密卡的計(jì)算機(jī)才可以正確收取被加密了的數(shù)據(jù)。也就是說,在物理環(huán)境中,通過各種加密設(shè)備可以保證數(shù)據(jù)的可靠性。
[0003]但是,目前在虛擬化環(huán)境下,一個(gè)加密卡硬件只能被唯--臺虛擬機(jī)使用;具有加密卡硬件使用效率低的問題。
【發(fā)明內(nèi)容】
[0004]針對現(xiàn)有技術(shù)存在的缺陷,本發(fā)明提供一種適用于Xen虛擬化環(huán)境下的專用數(shù)據(jù)加密方法及加密卡,多臺虛擬機(jī)共享一個(gè)加密卡硬件,提高了加密卡硬件的使用效率;還具有數(shù)據(jù)安全性高的優(yōu)點(diǎn)。
[0005]本發(fā)明采用的技術(shù)方案如下:
[0006]本發(fā)明提供一種適用于Xen虛擬化環(huán)境下的專用數(shù)據(jù)加密方法,包括以下步驟:
[0007]SI,根據(jù)配置規(guī)則,將所述數(shù)據(jù)加密卡的硬件映射為多個(gè)獨(dú)立的緩沖資源池,并且,每一個(gè)緩沖資源池的一端唯一對應(yīng)一個(gè)虛擬機(jī);所述緩沖資源池的另一端唯一對應(yīng)一組輸入隊(duì)列和輸出隊(duì)列;
[0008]S2,當(dāng)指定虛擬機(jī)需要使用所述數(shù)據(jù)加密卡進(jìn)行加密業(yè)務(wù)處理時(shí),所述指定虛擬機(jī)將加密業(yè)務(wù)請求發(fā)送到與其唯一對應(yīng)的指定緩沖資源池;
[0009]S3,所述指定緩沖資源池再將所述加密業(yè)務(wù)請求發(fā)送到與其唯一對應(yīng)的指定輸入隊(duì)列;
[0010]S4,所述指定輸入隊(duì)列按時(shí)間先后順序排列不同時(shí)間接收到的加密業(yè)務(wù)請求;然后按照先到先服務(wù)原則,將各加密業(yè)務(wù)請求依次發(fā)送到所述數(shù)據(jù)加密卡的業(yè)務(wù)處理單元;
[0011]S5,所述業(yè)務(wù)處理單元處理所述加密業(yè)務(wù)請求,得到加密業(yè)務(wù)響應(yīng);然后將所述加密業(yè)務(wù)響應(yīng)發(fā)送到指定輸出隊(duì)列;
[0012]S6,所述指定輸出隊(duì)列按照先到先服務(wù)原則,將接收到的各加密業(yè)務(wù)響應(yīng)依次返回給所述指定緩沖資源池,所述指定緩沖資源池再將該加密業(yè)務(wù)響應(yīng)返回給所述指定虛擬機(jī)。
[0013]優(yōu)選的,S2中,還包括:
[0014]當(dāng)指定虛擬機(jī)需要使用所述數(shù)據(jù)加密卡時(shí),首先判斷所述指定虛擬機(jī)是否具有使用所述數(shù)據(jù)加密卡的權(quán)限,如果有,則執(zhí)行后續(xù)步驟;否則,拒絕其使用所述數(shù)據(jù)加密卡。
[0015]優(yōu)選的,S4之后,還包括:
[0016]當(dāng)所述指定輸入隊(duì)列輸出某一加密業(yè)務(wù)請求到所述業(yè)務(wù)處理單元之后,即從所述指定輸入隊(duì)列中刪除該加密業(yè)務(wù)請求。
[0017]優(yōu)選的,S6之后,還包括:
[0018]當(dāng)所述指定輸出隊(duì)列輸出某一加密業(yè)務(wù)響應(yīng)到所述指定虛擬機(jī)之后,即從所述指定輸出隊(duì)列中刪除該加密業(yè)務(wù)響應(yīng)。
[0019]本發(fā)明還提供一種適用于Xen虛擬化環(huán)境下的專用數(shù)據(jù)加密卡,包括:權(quán)限管理單元、數(shù)據(jù)分配單元、隊(duì)列加工單元和業(yè)務(wù)處理單元;
[0020]所述權(quán)限管理單元用于管理本數(shù)據(jù)加密卡所對應(yīng)的各虛擬機(jī)賬戶的權(quán)限;
[0021]所述數(shù)據(jù)分配單元用于將數(shù)據(jù)加密卡的硬件映射為多個(gè)獨(dú)立的緩沖資源池,并且,每一個(gè)緩沖資源池的一端唯一對應(yīng)一個(gè)虛擬機(jī);還用于在驅(qū)動層分別對各個(gè)所述緩沖資源池進(jìn)行管理;
[0022]所述隊(duì)列加工單元用于建立與每一個(gè)所述緩沖資源池唯一對應(yīng)的一組輸入隊(duì)列和輸出隊(duì)列;所述輸入隊(duì)列用于按時(shí)間先后順序排列不同時(shí)間接收到的來自與其唯一對應(yīng)的緩沖資源池的加密業(yè)務(wù)請求;然后按照先到先服務(wù)原則,將各加密業(yè)務(wù)請求依次發(fā)送到所述數(shù)據(jù)加密卡的業(yè)務(wù)處理單元;所述輸出隊(duì)列用于按照先到先服務(wù)原則,將接收到的來自業(yè)務(wù)處理單元的加密業(yè)務(wù)響應(yīng)依次返回給與其唯一對應(yīng)的緩沖資源池;
[0023]所述業(yè)務(wù)處理單元用于對接收到的來自輸入隊(duì)列的加密業(yè)務(wù)請求進(jìn)行處理,得到加密業(yè)務(wù)響應(yīng);然后將所述加密業(yè)務(wù)響應(yīng)返回給所述輸出隊(duì)列。
[0024]本發(fā)明的有益效果如下:
[0025]本發(fā)明提供的適用于Xen虛擬化環(huán)境下的專用數(shù)據(jù)加密方法及加密卡,為每一臺虛擬機(jī)配置唯一的由虛擬資源池和輸入輸出隊(duì)列組成的訪問通道,每一臺虛擬機(jī)通過唯一的訪問通道訪問加密卡的業(yè)務(wù)處理單元,通過共享業(yè)務(wù)處理單元進(jìn)行業(yè)務(wù)處理,既提高了加密卡硬件的使用效率;還具有數(shù)據(jù)安全性高的優(yōu)點(diǎn)。
【附圖說明】
[0026]圖1為本發(fā)明提供的專用數(shù)據(jù)加密卡的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0027]以下結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)說明:
[0028]如圖1所示,本發(fā)明提供一種適用于Xen虛擬化環(huán)境下的專用數(shù)據(jù)加密方法,包括以下步驟:
[0029]SI,根據(jù)配置規(guī)則,將所述數(shù)據(jù)加密卡的硬件映射為多個(gè)獨(dú)立的緩沖資源池,并且,每一個(gè)緩沖資源池的一端唯一對應(yīng)一個(gè)虛擬機(jī);所述緩沖資源池的另一端唯一對應(yīng)一組輸入隊(duì)列和輸出隊(duì)列。
[0030]實(shí)際應(yīng)用中,每一個(gè)數(shù)據(jù)加密卡可存儲一張配置表,該配置表用于存儲虛擬機(jī)ID、緩沖資源池ID和輸入輸出隊(duì)列ID的唯一對應(yīng)關(guān)系,因此,每當(dāng)數(shù)據(jù)加密卡接收到來自某一虛擬機(jī)的業(yè)務(wù)處理請求時(shí),可通過查詢該配置表,快速獲得該虛擬機(jī)能夠使用的緩沖資源池和輸入輸出隊(duì)列,從而使該虛擬機(jī)快速使用數(shù)據(jù)加密卡進(jìn)行業(yè)務(wù)處理。
[0031]另外,配置表還可以同時(shí)存儲虛擬機(jī)ID對數(shù)據(jù)加密卡的操作權(quán)限,例如:是否可以創(chuàng)建本數(shù)據(jù)加密卡對應(yīng)的新虛擬機(jī),是否可以刪除本數(shù)據(jù)加密卡對應(yīng)的虛擬機(jī)等。
[0032]S2,當(dāng)指定虛擬機(jī)需要使用所述數(shù)據(jù)加密卡進(jìn)行加密業(yè)務(wù)處理時(shí),所述指定虛擬機(jī)將加密業(yè)務(wù)請求發(fā)送到與其唯一對應(yīng)的指定緩沖資源池;
[0033]本步驟中,為提高數(shù)據(jù)加密卡使用的安全性,還可以包括對虛擬機(jī)權(quán)限進(jìn)行驗(yàn)證的過程,即:當(dāng)指定虛擬機(jī)需要使用數(shù)據(jù)加密卡時(shí),數(shù)據(jù)加密卡首先判斷所述指定虛擬機(jī)是否具有使用所述數(shù)據(jù)加密卡的權(quán)限,如果有,則執(zhí)行后續(xù)步驟;否則,拒絕其使用所述數(shù)據(jù)加密卡。
[0034]S3,所述指定緩沖資源池再將所述加密業(yè)務(wù)請求發(fā)送到與其唯一對應(yīng)的指定輸入隊(duì)列;
[0035]S4,所述指定輸入隊(duì)列按時(shí)間先后順序排列不同時(shí)間接收到的加密業(yè)務(wù)請求;然后按照先到先服務(wù)原則,將各加密業(yè)務(wù)請求依次發(fā)送到所述數(shù)據(jù)加密卡的業(yè)務(wù)處理單元;當(dāng)指定輸入隊(duì)列輸出某一加密業(yè)務(wù)請求到業(yè)務(wù)處理單元之后,即從指定輸入隊(duì)列中刪除該加密業(yè)務(wù)請求。
[0036]S5,所述業(yè)務(wù)處理單元處理所述加密業(yè)務(wù)請求,得到加密業(yè)務(wù)響應(yīng);然后將所述加密業(yè)務(wù)響應(yīng)發(fā)送到指定輸出隊(duì)列;
[0037]S6,所述指定輸出隊(duì)列按照先到先服務(wù)原則,將接收到的各加密業(yè)務(wù)響應(yīng)依次返回給所述指定緩沖資源池,所述指定緩沖資源池再將該加密業(yè)務(wù)響應(yīng)返回給所述指定虛擬機(jī)。當(dāng)所述指定輸出隊(duì)列輸出某一加密業(yè)務(wù)響應(yīng)到所述指定虛擬機(jī)之后,即從所述指定輸出隊(duì)列中刪除該加密業(yè)務(wù)響應(yīng)。
[0038]具體的,由于一個(gè)數(shù)據(jù)加密卡被若干臺虛擬機(jī)共享,為合理調(diào)度各虛擬機(jī)使用業(yè)務(wù)處理單元進(jìn)行業(yè)務(wù)處理的效率,數(shù)據(jù)加密卡可設(shè)置一定的調(diào)度策略,以下僅列舉幾個(gè)具體的調(diào)度策略:(I)優(yōu)先級調(diào)度策略:即:預(yù)先配置各虛擬機(jī)的優(yōu)先級別;數(shù)據(jù)加密卡配置輸入隊(duì)列監(jiān)聽模塊,用于實(shí)時(shí)監(jiān)聽各個(gè)虛擬機(jī)輸入隊(duì)列的空閑狀態(tài),一旦監(jiān)聽到優(yōu)先級高的虛擬機(jī)輸入隊(duì)列中存在業(yè)務(wù)處理請求時(shí),則優(yōu)先處理該優(yōu)先級別高的輸入隊(duì)列存儲的請求,直到處理完成后,再處理其他低優(yōu)先級的業(yè)務(wù)處理請求。例