專利名稱:一種基于虛擬系統(tǒng)的數(shù)據(jù)存儲(chǔ)設(shè)備加密方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種加密方法,尤其涉及一種基于虛擬系統(tǒng)的數(shù)據(jù)存儲(chǔ)設(shè)備加密方法,屬 于計(jì)算機(jī)軟件技術(shù)領(lǐng)域。
背景技術(shù):
目前的電腦虛擬化技術(shù)日趨成熟,基于VMM (虛擬機(jī)平臺(tái))技術(shù),1個(gè)PC可以虛擬 成多臺(tái)電腦分別運(yùn)行不同的操作系統(tǒng)。
在硬盤加密技術(shù)方面,目前業(yè)界已經(jīng)有使用的加密算法對(duì)硬盤進(jìn)行加密,保證硬盤數(shù) 據(jù)安全性。但存在問題是一個(gè)硬盤是用相同密鑰加密(密鑰+扇區(qū)信息)數(shù)據(jù),加密算法 是固定的,不能進(jìn)行更換,其他人可以利用一些扇區(qū)存儲(chǔ)的信息通用性得知該扇區(qū)密文和 明文,進(jìn)行分析,猜出硬盤密鑰的可能性。另外在一個(gè)硬盤上使用相同密鑰不安全,如果 一個(gè)PC虛擬化后分別運(yùn)算二或多個(gè)系統(tǒng),二個(gè)系統(tǒng)使用一個(gè)密鑰,則更不安全 一個(gè)系 統(tǒng)把密鑰發(fā)給硬盤,另一系統(tǒng)則不需要密鑰就能訪問硬盤數(shù)據(jù)了。此外國(guó)外的硬盤采用的 AES加密算法不符合中國(guó)規(guī)定,在中國(guó)根據(jù)使用情況,有不同的加密算法,商用商密加 密算法,政府普密加密算法,軍隊(duì)核密加密算法。在相同硬盤上同時(shí)加入上述三種加
密算法,不易實(shí)現(xiàn),也不符合國(guó)家規(guī)定。因此如何對(duì)基于虛擬系統(tǒng)的數(shù)據(jù)存儲(chǔ)設(shè)備進(jìn)行加 密成為一亟待解決的問題。 '
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于虛擬系統(tǒng)的數(shù)據(jù)存儲(chǔ)設(shè)備加密方法,其可以將同一臺(tái) 機(jī)器上運(yùn)行的多個(gè)虛擬系統(tǒng)分別使用不同的加密算法或加密用的密鑰,從而提高數(shù)據(jù)的安 全性。
本發(fā)明的技術(shù)方法為
一種基于虛擬系統(tǒng)的數(shù)據(jù)存儲(chǔ)設(shè)備加密方法,其步驟為
1) 在硬件系統(tǒng)中建立一虛擬機(jī)平臺(tái)和若干個(gè)虛擬系統(tǒng);
2) 在所述虛擬機(jī)平臺(tái)內(nèi)設(shè)置一可換加解密算法模塊,用于為虛擬系統(tǒng)提供加密算法;
3) 虛擬機(jī)平臺(tái)對(duì)數(shù)據(jù)存儲(chǔ)設(shè)備進(jìn)行劃分,為每個(gè)虛擬系統(tǒng)分配一數(shù)據(jù)存儲(chǔ)空間,同時(shí)
4設(shè)置每個(gè)虛擬系統(tǒng)使用的密鑰和加密算法;
4) 虛擬系統(tǒng)訪問數(shù)據(jù)存儲(chǔ)設(shè)備時(shí)將自己所用的密鑰發(fā)送給所述虛擬機(jī)平臺(tái);
5) 虛擬機(jī)平臺(tái)對(duì)該虛擬系統(tǒng)的密鑰進(jìn)行一致性驗(yàn)證,如果一致則利用密鑰和對(duì)應(yīng)的加 密算法進(jìn)行相應(yīng)數(shù)據(jù)處理。
所述可換加解密算法模塊包括一虛擬系統(tǒng)管理列表,所述虛擬系統(tǒng)管理列表字段包 括虛擬系統(tǒng)特征、密鑰特征、加密算法、虛擬系統(tǒng)數(shù)據(jù)起始地址、虛擬系統(tǒng)數(shù)據(jù)存儲(chǔ)空 間長(zhǎng)度、真實(shí)數(shù)據(jù)存儲(chǔ)設(shè)備起始地址、真實(shí)數(shù)據(jù)存儲(chǔ)設(shè)備存儲(chǔ)空間長(zhǎng)度。
所述密鑰特征為密鑰的HASH值。
所述方法中如果某虛擬系統(tǒng)加密數(shù)據(jù)在所述真實(shí)數(shù)據(jù)存儲(chǔ)設(shè)備中存放的地址不連續(xù), 則將虛擬系統(tǒng)的每一真實(shí)數(shù)據(jù)存儲(chǔ)設(shè)備起始地址加對(duì)應(yīng)的長(zhǎng)度列表作為該虛擬系統(tǒng)數(shù)據(jù) 存儲(chǔ)空間長(zhǎng)度。
所述可換加解密算法模塊包括一訪問接口,用于虛擬系統(tǒng)安裝、更換或升級(jí)更新加密 算法。
所述一致性驗(yàn)證方法為在所述虛擬機(jī)平臺(tái)內(nèi)設(shè)置一確認(rèn)密鑰模塊,所述確認(rèn)密鑰模 塊判斷接收的密鑰是否與所述可換加解密算法模塊中保存的對(duì)應(yīng)虛擬系統(tǒng)的密鑰特征一 致,進(jìn)行所述一致性驗(yàn)證。
所述方法中,如果所述一致性驗(yàn)證結(jié)果為不一致,貝U:
a) 把錯(cuò)誤信息反饋給虛擬系統(tǒng),并記錄此事件;
b) 在虛擬系統(tǒng)連續(xù)3次發(fā)送錯(cuò)誤密鑰后,每接收一次密鑰,則暫停對(duì)此虛擬系統(tǒng)相 應(yīng)服務(wù)一段時(shí)間,每相應(yīng)多錯(cuò)一次,暫停時(shí)間加倍,其中所述一段時(shí)間設(shè)定為1
秒,所述暫停時(shí)間的值為2"秒,n為連續(xù)錯(cuò)誤的次數(shù)。
所述虛擬機(jī)平臺(tái)為所述虛擬系統(tǒng)設(shè)置一個(gè)或多個(gè)加密算法。
所述加密算法包括SMS4加密算法、3DES加密算法、AES加密算法。 所述數(shù)據(jù)存儲(chǔ)設(shè)備包括硬盤、U盤、網(wǎng)絡(luò)存儲(chǔ)設(shè)備。
本發(fā)明的流程如圖2所示
1.利用公知技術(shù)搭建一臺(tái)基于VMM的虛擬系統(tǒng),虛擬系統(tǒng)有多個(gè),每個(gè)虛擬系統(tǒng)在硬 盤有自己的數(shù)據(jù)存儲(chǔ)空間,并且只能訪問自己的數(shù)據(jù)存儲(chǔ)空間,不能訪問其他虛擬系 統(tǒng)中的數(shù)據(jù),虛擬系統(tǒng)分別使用自己的加密算法,并用自己的密鑰加密自己存放在硬盤上的數(shù)據(jù)。
2. 利用公知技術(shù),VMM擁有硬盤實(shí)際控制權(quán),所有上層虛擬系統(tǒng)的硬盤1/0,都會(huì)被VMM 截獲,并知道訪問對(duì)應(yīng)硬盤數(shù)據(jù)是屬于哪個(gè)虛擬系統(tǒng)。
3. 在VMM中內(nèi)置一個(gè)可換加解密算法模塊和各系統(tǒng)密鑰特征;可換加解密算法模塊中 包括若干加密算法;同時(shí)可換加解密算法模塊包括一訪問接口,用于虛擬系統(tǒng)安裝、 更換或升級(jí)更新加密算法。
3丄這種密鑰特征可以是公知技術(shù)生成的密鑰特征,如密鑰的HASH值。
4. 上層虛擬系統(tǒng)訪問硬盤數(shù)據(jù)時(shí),其先利用公知技術(shù)把密鑰發(fā)給VMM, VMM把接收到 的密鑰和自己保存的密鑰進(jìn)行一致性驗(yàn)證,核實(shí)后確認(rèn)密鑰有效性。
4丄這種密鑰的一致性驗(yàn)證方法可以是比較上層虛擬系統(tǒng)的密鑰和保存的密鑰特征,也可 以是不保存解密特征,直接利用密碼學(xué)公知技術(shù)的密鑰有效確認(rèn)算法進(jìn)行一致性驗(yàn) 證;
5. 基于通過公知技術(shù)用密鑰和對(duì)應(yīng)加解密算法完成虛擬系統(tǒng)的數(shù)據(jù)訪問要求; 5丄數(shù)據(jù)讀取訪問要求,可以是用把對(duì)應(yīng)硬盤數(shù)據(jù)解密發(fā)給上層虛擬系統(tǒng); 5.2.數(shù)據(jù)寫入訪問要求,可以是用把虛擬系統(tǒng)發(fā)來的數(shù)據(jù)加密后保存在硬盤上;
6. —個(gè)虛擬系統(tǒng)不同應(yīng)用可以使用不同的加密算法或不同的密鑰; 這種加密數(shù)據(jù)存儲(chǔ)地點(diǎn),可以是硬盤,也可以是U盤,網(wǎng)絡(luò)存儲(chǔ)設(shè)備等諸如此類的數(shù)
據(jù)存儲(chǔ)設(shè)備。
本發(fā)明的積極效果
1.加密算法和硬盤無(wú)關(guān),和VMM無(wú)關(guān),相關(guān)算法可由最終用戶加入到虛擬機(jī)中, 保證相關(guān)算法的安全性;
2. 加密算法以后如有需要升級(jí)方便;
3. 根據(jù)用戶設(shè)置,不同存儲(chǔ)區(qū)域使用不同的加密密鑰,提高數(shù)據(jù)的安全性;
4. 如果虛擬系統(tǒng)之上存在多個(gè)系統(tǒng),這些系統(tǒng)可以使用不同的加密算法或加密用的 密鑰。
圖1、本發(fā)明的結(jié)構(gòu)框圖; 圖2、本發(fā)明的方法流程圖。
具體實(shí)施例方式
下面結(jié)合附圖,進(jìn)一步描述本發(fā)明的具體實(shí)施方式
,本發(fā)明的結(jié)構(gòu)框圖如圖l所示。 一、系統(tǒng)初始化
1. 在真實(shí)硬件系統(tǒng)中安裝虛擬平臺(tái)VMM;
2. 在VMM中預(yù)置一可換加解密算法模塊并提供訪問接口,供上層虛擬系統(tǒng)使用,相關(guān) 加密算法可以是一種,也可以是多種;比如SMS4、 3DES、 AES等加密算法;
3. 在VMM上安裝虛擬系統(tǒng),并設(shè)置虛擬系統(tǒng)中數(shù)據(jù)使用的密鑰和加密算法,及數(shù)據(jù)保 存的空間大小,不同虛擬系統(tǒng)可以根據(jù)自己的需要在可換加解密模塊中選擇加密算法;
4. 在硬盤上為虛擬系統(tǒng)分配數(shù)據(jù)存儲(chǔ)空間,可換加解密算法模塊用密鑰和其對(duì)應(yīng)加密算 法加密存儲(chǔ)的數(shù)據(jù)
5. 可換加解密算法模塊的虛擬系統(tǒng)管理列表中存放此密鑰的特征及密鑰加密數(shù)據(jù)對(duì)應(yīng)的 硬盤地址(虛擬系統(tǒng)管理列表包括的字段如密鑰的特征,所使加密算法,虛擬系統(tǒng) 數(shù)據(jù)起始地址,長(zhǎng)度,對(duì)應(yīng)真實(shí)硬盤起始地址,長(zhǎng)度,如果加密數(shù)據(jù)在真實(shí)硬盤存放 的地址不連續(xù),則建立真實(shí)硬盤起始地址+長(zhǎng)度列表作為該虛擬系統(tǒng)對(duì)應(yīng)的硬盤存儲(chǔ)空 間長(zhǎng)度),如表1所示
表l、虛擬系統(tǒng)管理列表
虛擬系統(tǒng)特征密鑰特加密算法虛擬系統(tǒng)硬長(zhǎng)度(扇真實(shí)硬盤長(zhǎng)度(扇
征盤起始地址區(qū))起始地址區(qū))
VMM—VISTA特征lSMS40102, 40025, 600102, 400
VMM—VISTA特征2SMS4102, 400512, 000128, 000512, 000
VMM—XP特征33DES04,096,000640,0004,736,000
VMM一XP特征4AES4,096,000256,0004,736,0004,992,000
表1中,同一虛擬系統(tǒng)VMM—XP根據(jù)不同應(yīng)用分別采用了 AES和3DES算法進(jìn)行加密。
二、虛擬系統(tǒng)訪問數(shù)據(jù)時(shí)
1. 虛擬系統(tǒng)發(fā)送密鑰給VMM中的可換加解密算法模塊
2. 可換加解密算法模塊檢查虛擬系統(tǒng)密鑰是否和保存的密鑰特征一致
a) 如果不一致,把錯(cuò)誤信息反饋給虛擬系統(tǒng),并記錄此事件
b) 在虛擬系統(tǒng)連續(xù)多次發(fā)送錯(cuò)誤密鑰后(3次),每接收一次密鑰,則暫停對(duì)此虛擬 系統(tǒng)相應(yīng)服務(wù)一段時(shí)間,每相應(yīng)多錯(cuò)一次,暫停時(shí)間加倍。比如連續(xù)第4次收到 錯(cuò)誤密鑰時(shí),下次為虛擬系統(tǒng)提供相應(yīng)服務(wù)時(shí)間為1秒后,比如連續(xù)第5次收到
7錯(cuò)誤密鑰時(shí),下次為些虛擬系統(tǒng)提供相應(yīng)服務(wù)時(shí)間為2秒后,連續(xù)第n次收到錯(cuò) 誤密鑰時(shí),下次為些虛擬系統(tǒng)提供相應(yīng)服務(wù)時(shí)間為2"秒。 3.可換加解密算法模塊檢査密碼一致后,根據(jù)管理列表中,選擇對(duì)應(yīng)的加密算法進(jìn)行數(shù) 據(jù)處理
a) 數(shù)據(jù)讀取訪問要求,利用密鑰和對(duì)應(yīng)加密算法把對(duì)應(yīng)硬盤數(shù)據(jù)解密發(fā)給上層虛擬 系統(tǒng)
b) 數(shù)據(jù)寫入訪問要求,利用密鑰和對(duì)應(yīng)加密算法把虛擬系統(tǒng)發(fā)來的數(shù)據(jù)加密后保存 在硬盤上。
權(quán)利要求
1.一種基于虛擬系統(tǒng)的數(shù)據(jù)存儲(chǔ)設(shè)備加密方法,其步驟為1)在硬件系統(tǒng)中建立一虛擬機(jī)平臺(tái)和若干個(gè)虛擬系統(tǒng);2)在所述虛擬機(jī)平臺(tái)內(nèi)設(shè)置一可換加解密算法模塊,用于為虛擬系統(tǒng)提供加密算法;3)虛擬機(jī)平臺(tái)對(duì)數(shù)據(jù)存儲(chǔ)設(shè)備進(jìn)行劃分,為每個(gè)虛擬系統(tǒng)分配一數(shù)據(jù)存儲(chǔ)空間,同時(shí)設(shè)置每個(gè)虛擬系統(tǒng)使用的密鑰和加密算法;4)虛擬系統(tǒng)訪問數(shù)據(jù)存儲(chǔ)設(shè)備時(shí)將自己所用的密鑰發(fā)送給所述虛擬機(jī)平臺(tái);5)虛擬機(jī)平臺(tái)對(duì)該虛擬系統(tǒng)的密鑰進(jìn)行一致性驗(yàn)證,如果一致則利用密鑰和對(duì)應(yīng)的加密算法進(jìn)行相應(yīng)數(shù)據(jù)處理。
2. 如權(quán)利要求1所述的方法,其特征在于所述可換加解密算法模塊包括一虛擬系統(tǒng)管理 列表,所述虛擬系統(tǒng)管理列表字段包括虛擬系統(tǒng)特征、密鑰特征、加密算法、虛擬 系統(tǒng)數(shù)據(jù)起始地址、虛擬系統(tǒng)數(shù)據(jù)存儲(chǔ)空間長(zhǎng)度、真實(shí)數(shù)據(jù)存儲(chǔ)設(shè)備起始地址、真實(shí) 數(shù)據(jù)存儲(chǔ)設(shè)備存儲(chǔ)空間長(zhǎng)度。
3. 如權(quán)利要求2所述的方法,其特征在于所述密鑰特征為密鑰的HASH值。
4. 如權(quán)利要求2所述的方法,其特征在于如果某虛擬系統(tǒng)加密數(shù)據(jù)在所述真實(shí)數(shù)據(jù)存儲(chǔ) 設(shè)備中存放的地址不連續(xù),則將虛擬系統(tǒng)的每一真實(shí)數(shù)據(jù)存儲(chǔ)設(shè)備起始地址加對(duì)應(yīng)的 長(zhǎng)度列表作為該虛擬系統(tǒng)數(shù)據(jù)存儲(chǔ)空間長(zhǎng)度。
5. 如權(quán)利要求2所述的方法,其特征在于所述可換加解密算法模塊包括一訪問接口,用 于虛擬系統(tǒng)安裝、更換或升級(jí)更新加密算法。
6. 如權(quán)利要求2所述的方法,其特征在于所述一致性驗(yàn)證方法為在所述虛擬機(jī)平臺(tái)內(nèi) 設(shè)置一確認(rèn)密鑰模塊,所述確認(rèn)密鑰模塊判斷接收的密鑰是否與所述可換加解密算法 模塊中保存的對(duì)應(yīng)虛擬系統(tǒng)的密鑰特征一致,進(jìn)行所述一致性驗(yàn)證。
7. 如權(quán)利要求1或6所述的方法,其特征在于如果所述一致性驗(yàn)證結(jié)果為不一致,貝IJ:a) 把錯(cuò)誤信息反饋給虛擬系統(tǒng),并記錄此事件;b) 在虛擬系統(tǒng)連續(xù)3次發(fā)送錯(cuò)誤密鑰后,每接收一次密鑰,則暫停對(duì)此虛擬系統(tǒng)相 應(yīng)服務(wù)一段時(shí)間,每相應(yīng)多錯(cuò)一次,暫停時(shí)間加倍,其中所述一段時(shí)間設(shè)定為1 秒,所述暫停時(shí)間的值為2"秒,n為連續(xù)錯(cuò)誤的次數(shù)。
8. 如權(quán)利要求1所述的方法,其特征在于所述虛擬機(jī)平臺(tái)為所述虛擬系統(tǒng)設(shè)置一個(gè)或多 個(gè)加密算法。
9.如權(quán)利要求l所述的方法,其特征在于所述加密算法包括SMS4加密算法、3DES加密 算法、AES加密算法。
10.如權(quán)利要求1所述的方法,其特征在于所述數(shù)據(jù)存儲(chǔ)設(shè)備包括硬盤、U盤、網(wǎng)絡(luò)存儲(chǔ)設(shè)備。
全文摘要
本發(fā)明公開了一種基于虛擬系統(tǒng)的數(shù)據(jù)存儲(chǔ)設(shè)備加密方法,屬于軟件技術(shù)領(lǐng)域。本發(fā)明的方法為1)在硬件系統(tǒng)中建立一虛擬機(jī)平臺(tái)和若干虛擬系統(tǒng);2)在所述虛擬機(jī)平臺(tái)內(nèi)設(shè)置一可換加解密算法模塊,用于為虛擬系統(tǒng)提供加密算法;3)虛擬機(jī)平臺(tái)對(duì)數(shù)據(jù)存儲(chǔ)設(shè)備進(jìn)行劃分,為每個(gè)虛擬系統(tǒng)分配一數(shù)據(jù)存儲(chǔ)空間,同時(shí)設(shè)置每個(gè)虛擬系統(tǒng)使用的密鑰和加密算法;4)虛擬系統(tǒng)訪問數(shù)據(jù)存儲(chǔ)設(shè)備時(shí)將所用的密鑰發(fā)送給所述虛擬機(jī)平臺(tái);5)虛擬機(jī)平臺(tái)對(duì)該虛擬系統(tǒng)的密鑰進(jìn)行一致性驗(yàn)證,如果一致則利用密鑰和對(duì)應(yīng)的加密算法進(jìn)行相應(yīng)數(shù)據(jù)處理。本發(fā)明加密算法和硬盤無(wú)關(guān)、VMM無(wú)關(guān),加密算法升級(jí)方便;且不同存儲(chǔ)區(qū)域可使用不同的加密密鑰,提高數(shù)據(jù)的安全性。
文檔編號(hào)G06F9/455GK101587524SQ200910053670
公開日2009年11月25日 申請(qǐng)日期2009年6月23日 優(yōu)先權(quán)日2009年6月23日
發(fā)明者楊文兵, 白向春, 邢雅楠, 勇 魏 申請(qǐng)人:上海北大方正科技電腦系統(tǒng)有限公司