磁盤(pán)數(shù)據(jù)的處理方法及裝置制造方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種磁盤(pán)數(shù)據(jù)的處理方法及裝置。其中,該方法包括:接收向虛擬磁盤(pán)寫(xiě)入第一數(shù)據(jù)的寫(xiě)入請(qǐng)求,其中,寫(xiě)入請(qǐng)求攜帶著寫(xiě)入地址;計(jì)算與寫(xiě)入地址對(duì)應(yīng)的虛擬磁盤(pán)的寫(xiě)入扇區(qū)區(qū)間;對(duì)第一數(shù)據(jù)進(jìn)行加密處理得到加密數(shù)據(jù);將加密數(shù)據(jù)寫(xiě)入該寫(xiě)入扇區(qū)區(qū)間。采用本發(fā)明,解決了現(xiàn)有技術(shù)中磁盤(pán)數(shù)據(jù)安全性差的問(wèn)題,實(shí)現(xiàn)了安全保護(hù)磁盤(pán)數(shù)據(jù)的效果。
【專(zhuān)利說(shuō)明】磁盤(pán)數(shù)據(jù)的處理方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體而言,涉及一種磁盤(pán)數(shù)據(jù)的處理方法及裝置。
【背景技術(shù)】
[0002]現(xiàn)有技術(shù)中采用開(kāi)源虛擬機(jī)模擬軟件QEMU (QEMU:虛擬機(jī)模擬器)來(lái)仿真硬件環(huán)境,VM (VM:虛擬機(jī))運(yùn)行在QEMU仿真的硬件環(huán)境中,對(duì)VM可見(jiàn)的磁盤(pán)也是由QEMU仿真出來(lái)的,在物理服務(wù)器上,磁盤(pán)實(shí)際上是一個(gè)文件,但不同于一般的文本文件,它有它的內(nèi)部格式,現(xiàn)在也是一種比較主流的虛擬機(jī)鏡像格式:qcow2(qcow2:—種虛擬機(jī)鏡像格式)。該鏡像文件的驅(qū)動(dòng)程序是QEMU代碼中的一個(gè)模塊,它以扇區(qū)來(lái)管理這個(gè)“虛擬磁盤(pán)”,包括磁盤(pán)空間的分配、釋放,包括對(duì)磁盤(pán)扇區(qū)的讀寫(xiě)、快照等操作。
[0003]虛擬桌面它的一個(gè)優(yōu)勢(shì)是集中管控,便于公司、集團(tuán)IT部門(mén)更安全地管理公司的個(gè)人PC (PC:個(gè)人電腦),但是如果有人把鏡像文件(相當(dāng)于磁盤(pán))拿走,使用QEMU來(lái)啟動(dòng)它,或者對(duì)qC0W2格式的數(shù)據(jù)進(jìn)行破解分析,還原為原始磁盤(pán)形態(tài),那么有可能會(huì)拿到虛擬機(jī)的數(shù)據(jù)。
[0004]由上可知,在現(xiàn)有解決方案中,鏡像文件格式是qcow2,磁盤(pán)數(shù)據(jù)未經(jīng)加密即存儲(chǔ)在鏡像文件中,如果鏡像文件被竊取,那么磁盤(pán)數(shù)據(jù)就可被獲取,不利于個(gè)人數(shù)據(jù)的保密。
[0005]針對(duì)現(xiàn)有技術(shù)中磁盤(pán)數(shù)據(jù)安全性差的問(wèn)題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0006]針對(duì)相關(guān)技術(shù)中磁盤(pán)數(shù)據(jù)安全性差的問(wèn)題,目前尚未提出有效的解決方案,為此,本發(fā)明的主要目的在于提供一種磁盤(pán)數(shù)據(jù)的處理方法及裝置,以解決上述問(wèn)題。
[0007]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種磁盤(pán)數(shù)據(jù)的處理方法,該方法包括:接收向虛擬磁盤(pán)寫(xiě)入第一數(shù)據(jù)的寫(xiě)入請(qǐng)求,其中,寫(xiě)入請(qǐng)求攜帶著寫(xiě)入地址;計(jì)算與寫(xiě)入地址對(duì)應(yīng)的虛擬磁盤(pán)的寫(xiě)入扇區(qū)區(qū)間;對(duì)第一數(shù)據(jù)進(jìn)行加密處理得到加密數(shù)據(jù);將加密數(shù)據(jù)寫(xiě)入該寫(xiě)入扇區(qū)區(qū)間。
[0008]進(jìn)一步地,將對(duì)第一數(shù)據(jù)進(jìn)行加密處理得到加密數(shù)據(jù)的步驟包括:從第一數(shù)據(jù)中提取符合整個(gè)扇區(qū)的第一子數(shù)據(jù);將第一子數(shù)據(jù)進(jìn)行加密處理得到第一加密子數(shù)據(jù);從第一數(shù)據(jù)中提取不足一個(gè)扇區(qū)的第二子數(shù)據(jù);確定與第二子數(shù)據(jù)對(duì)應(yīng)的第一扇區(qū);獲取當(dāng)前存儲(chǔ)在第一扇區(qū)內(nèi)的第三子數(shù)據(jù);將第二子數(shù)據(jù)和第三子數(shù)據(jù)合并得到第一合并數(shù)據(jù);對(duì)第一合并數(shù)據(jù)進(jìn)行加密處理得到第二加密子數(shù)據(jù),其中,加密數(shù)據(jù)包括第一加密子數(shù)據(jù)和第二加密子數(shù)據(jù)。
[0009]進(jìn)一步地,獲取當(dāng)前存儲(chǔ)在第一扇區(qū)內(nèi)的第三子數(shù)據(jù)的步驟包括:讀取第一扇區(qū)內(nèi)的第四子數(shù)據(jù),其中,第四子數(shù)據(jù)為加密的數(shù)據(jù);對(duì)第四子數(shù)據(jù)進(jìn)行解密處理得到第三子數(shù)據(jù)。
[0010]進(jìn)一步地,在將加密數(shù)據(jù)寫(xiě)入該寫(xiě)入扇區(qū)區(qū)間之后,處理方法還包括:讀取與讀取請(qǐng)求對(duì)應(yīng)的第二數(shù)據(jù),其中,第二數(shù)據(jù)為加密的數(shù)據(jù);將第二數(shù)據(jù)進(jìn)行解密處理得到解密后的第二數(shù)據(jù)。
[0011]進(jìn)一步地,讀取與讀取請(qǐng)求對(duì)應(yīng)的第二數(shù)據(jù)的步驟包括:從讀取請(qǐng)求中提取讀取地址;計(jì)算與讀取地址對(duì)應(yīng)的讀取扇區(qū)區(qū)間;從讀取扇區(qū)區(qū)間讀取第二數(shù)據(jù)。
[0012]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種磁盤(pán)數(shù)據(jù)的處理裝置,該裝置包括:接收模塊,用于接收向虛擬磁盤(pán)寫(xiě)入第一數(shù)據(jù)的寫(xiě)入請(qǐng)求,其中,寫(xiě)入請(qǐng)求攜帶著寫(xiě)入地址;第一計(jì)算模塊,用于計(jì)算與寫(xiě)入地址對(duì)應(yīng)的虛擬磁盤(pán)的寫(xiě)入扇區(qū)區(qū)間;加密模塊,用于對(duì)第一數(shù)據(jù)進(jìn)行加密處理得到加密數(shù)據(jù);寫(xiě)入模塊,用于將加密數(shù)據(jù)寫(xiě)入該寫(xiě)入扇區(qū)區(qū)間。
[0013]進(jìn)一步地,加密模塊包括:第一提取模塊,用于從第一數(shù)據(jù)中提取符合整個(gè)扇區(qū)的第一子數(shù)據(jù);第一加密子模塊,用于將第一子數(shù)據(jù)進(jìn)行加密處理得到第一加密子數(shù)據(jù);第二提取模塊,用于從第一數(shù)據(jù)中提取不足一個(gè)扇區(qū)的第二子數(shù)據(jù);確定模塊,用于確定與第二子數(shù)據(jù)對(duì)應(yīng)的第一扇區(qū);獲取模塊,用于獲取當(dāng)前存儲(chǔ)在第一扇區(qū)內(nèi)的第三子數(shù)據(jù);合并模塊,用于將第二子數(shù)據(jù)和第三子數(shù)據(jù)合并得到第一合并數(shù)據(jù);第二加密子模塊,用于對(duì)第一合并數(shù)據(jù)進(jìn)行加密處理得到第二加密子數(shù)據(jù),其中,加密數(shù)據(jù)包括第一加密子數(shù)據(jù)和第二加密子數(shù)據(jù)。
[0014]進(jìn)一步地,獲取模塊包括:第一讀取模塊,用于讀取第一扇區(qū)內(nèi)的第四子數(shù)據(jù),其中,第四子數(shù)據(jù)為加密的數(shù)據(jù);第一解密模塊,用于對(duì)第四子數(shù)據(jù)進(jìn)行解密處理得到第三子數(shù)據(jù)。
[0015]進(jìn)一步地,處理裝置還包括:第二讀取模塊,用于讀取與讀取請(qǐng)求對(duì)應(yīng)的第二數(shù)據(jù),其中,第二數(shù)據(jù)為加密的數(shù)據(jù);第二解密模塊,用于將第二數(shù)據(jù)進(jìn)行解密處理得到解密后的第二數(shù)據(jù)。
[0016]進(jìn)一步地,第二讀取模塊包括:第三提取模塊,用于從讀取請(qǐng)求中提取讀取地址;第二計(jì)算模塊,用于計(jì)算與讀取地址對(duì)應(yīng)的讀取扇區(qū)區(qū)間;第三讀取模塊,用于從讀取扇區(qū)區(qū)間讀取第二數(shù)據(jù)。
[0017]采用本發(fā)明,在接收到向虛擬磁盤(pán)寫(xiě)入第一數(shù)據(jù)的寫(xiě)入請(qǐng)求之后,計(jì)算與寫(xiě)入請(qǐng)求中攜帶的寫(xiě)入地址對(duì)應(yīng)的寫(xiě)入扇區(qū)區(qū)間,并在對(duì)第一數(shù)據(jù)進(jìn)行加密處理得到加密數(shù)據(jù)之后,將加密數(shù)據(jù)寫(xiě)入該寫(xiě)入扇區(qū)區(qū)間。采用本發(fā)明,在VM (虛擬機(jī))寫(xiě)入磁盤(pán)數(shù)據(jù)時(shí),先加密,然后寫(xiě)入,解決了現(xiàn)有技術(shù)中磁盤(pán)數(shù)據(jù)安全性差的問(wèn)題,實(shí)現(xiàn)了安全保護(hù)磁盤(pán)數(shù)據(jù)的效果。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0018]此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0019]圖1是根據(jù)本發(fā)明實(shí)施例的磁盤(pán)數(shù)據(jù)的處理裝置的結(jié)構(gòu)示意圖;以及
[0020]圖2是根據(jù)本發(fā)明實(shí)施例的磁盤(pán)數(shù)據(jù)的處理方法的流程圖。
【具體實(shí)施方式】
[0021]需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明。[0022]圖1是根據(jù)本發(fā)明實(shí)施例的磁盤(pán)數(shù)據(jù)的處理裝置的結(jié)構(gòu)示意圖。如圖1所示,該裝置可以包括:接收模塊10,用于接收向虛擬磁盤(pán)寫(xiě)入第一數(shù)據(jù)的寫(xiě)入請(qǐng)求,其中,寫(xiě)入請(qǐng)求攜帶著寫(xiě)入地址;第一計(jì)算模塊30,用于計(jì)算與寫(xiě)入地址對(duì)應(yīng)的虛擬磁盤(pán)的寫(xiě)入扇區(qū)區(qū)間;加密模塊50,用于對(duì)第一數(shù)據(jù)進(jìn)行加密處理得到加密數(shù)據(jù);寫(xiě)入模塊70,用于將加密數(shù)據(jù)寫(xiě)入該寫(xiě)入扇區(qū)區(qū)間。
[0023]采用本發(fā)明,在接收到向虛擬磁盤(pán)寫(xiě)入第一數(shù)據(jù)的寫(xiě)入請(qǐng)求之后,計(jì)算與寫(xiě)入請(qǐng)求中攜帶的寫(xiě)入地址對(duì)應(yīng)的寫(xiě)入扇區(qū)區(qū)間,并在對(duì)第一數(shù)據(jù)進(jìn)行加密處理得到加密數(shù)據(jù)之后,將加密數(shù)據(jù)寫(xiě)入該寫(xiě)入扇區(qū)區(qū)間。采用本發(fā)明,在VM (虛擬機(jī))寫(xiě)入磁盤(pán)數(shù)據(jù)時(shí),先加密,然后寫(xiě)入,解決了現(xiàn)有技術(shù)中磁盤(pán)數(shù)據(jù)安全性差的問(wèn)題,實(shí)現(xiàn)了安全保護(hù)磁盤(pán)數(shù)據(jù)的效果。
[0024]在本發(fā)明的上述實(shí)施例中,加密模塊包括:第一提取模塊,用于從第一數(shù)據(jù)中提取符合整個(gè)扇區(qū)的第一子數(shù)據(jù);第一加密子模塊,用于將第一子數(shù)據(jù)進(jìn)行加密處理得到第一加密子數(shù)據(jù);第二提取模塊,用于從第一數(shù)據(jù)中提取不足一個(gè)扇區(qū)的第二子數(shù)據(jù);確定模塊,用于確定與第二子數(shù)據(jù)對(duì)應(yīng)的第一扇區(qū);獲取模塊,用于獲取當(dāng)前存儲(chǔ)在第一扇區(qū)內(nèi)的第三子數(shù)據(jù);合并模塊,用于將第二子數(shù)據(jù)和第三子數(shù)據(jù)合并得到第一合并數(shù)據(jù);第二加密子模塊,用于對(duì)第一合并數(shù)據(jù)進(jìn)行加密處理得到第二加密子數(shù)據(jù),其中,加密數(shù)據(jù)包括第一加密子數(shù)據(jù)和第二加密子數(shù)據(jù)。
[0025]具體地,獲取模塊包括:第一讀取模塊,用于讀取第一扇區(qū)內(nèi)的第四子數(shù)據(jù),其中,第四子數(shù)據(jù)為加密的數(shù)據(jù);第一解密模塊,用于對(duì)第四子數(shù)據(jù)進(jìn)行解密處理得到第三子數(shù)據(jù)。
[0026]在上述實(shí)施例中,VM (虛擬機(jī))往虛擬磁盤(pán)上寫(xiě)入第一數(shù)據(jù),磁盤(pán)驅(qū)動(dòng)程序接收到寫(xiě)入第一數(shù)據(jù)的寫(xiě)入請(qǐng)求之后,根據(jù)該寫(xiě)入請(qǐng)求中的寫(xiě)入地址計(jì)算出要寫(xiě)入的磁盤(pán)扇區(qū)區(qū)間(即上述實(shí)施例中的寫(xiě)入扇區(qū)區(qū)間),將寫(xiě)入的第一數(shù)據(jù)不足一個(gè)扇區(qū)的部分(第二子數(shù)據(jù)),該第二子數(shù)據(jù)對(duì)應(yīng)第一扇區(qū),先讀出該第一扇區(qū)的內(nèi)容(第三子數(shù)據(jù)),將第二子數(shù)據(jù)和第三子數(shù)據(jù)進(jìn)行合并得到第一合并數(shù)據(jù),在合并完成之后,對(duì)第一合并數(shù)據(jù)和第一子數(shù)據(jù)進(jìn)行加密處理得到第一加密數(shù)據(jù),具體地,采用3des算法對(duì)第一子數(shù)據(jù)和第一合并數(shù)據(jù)進(jìn)行加密,加密完成后分別得到第一加密子數(shù)據(jù)和第二加密子數(shù)據(jù),將第一加密子數(shù)據(jù)和第二加密子數(shù)據(jù)分別寫(xiě)入對(duì)應(yīng)的扇區(qū)。
[0027]根據(jù)本發(fā)明的上述實(shí)施例,處理裝置還包括:第二讀取模塊,用于讀取與讀取請(qǐng)求對(duì)應(yīng)的第二數(shù)據(jù),其中,第二數(shù)據(jù)為加密的數(shù)據(jù);第二解密模塊,用于將第二數(shù)據(jù)進(jìn)行解密處理得到解密后的第二數(shù)據(jù)。
[0028]進(jìn)一步地,第二讀取模塊包括:第三提取模塊,用于從讀取請(qǐng)求中提取讀取地址;第二計(jì)算模塊,用于計(jì)算與讀取地址對(duì)應(yīng)的讀取扇區(qū)區(qū)間;第三讀取模塊,用于從讀取扇區(qū)區(qū)間讀取第二數(shù)據(jù)。
[0029]在上述實(shí)施例中,VM (虛擬機(jī))從虛擬磁盤(pán)上讀取第二數(shù)據(jù),磁盤(pán)驅(qū)動(dòng)程序接到讀取請(qǐng)求之后,計(jì)算出要讀取的讀取扇區(qū)區(qū)間,如若要讀取的數(shù)據(jù)不足一個(gè)扇區(qū),仍以一個(gè)扇區(qū)讀出,先讀出扇區(qū)的內(nèi)容,采用3des算法對(duì)第二數(shù)據(jù)進(jìn)行解密,得到解密后的第二數(shù)據(jù),返回給VM (虛擬機(jī))。
[0030]在本發(fā)明的上述實(shí)施例中,在qcow2格式的虛擬磁盤(pán)驅(qū)動(dòng)程序中,對(duì)磁盤(pán)的讀、寫(xiě)接口,增加了一層,具體來(lái)說(shuō),在對(duì)磁盤(pán)的讀接口增加了一個(gè)解密中間過(guò)程,在對(duì)磁盤(pán)的寫(xiě)接口增加了一個(gè)加密中間過(guò)程;在磁盤(pán)驅(qū)動(dòng)程序中,它對(duì)磁盤(pán)讀寫(xiě)的最小單位是扇區(qū),因此,可以以扇區(qū)為單位進(jìn)行加解密,具體地,采用的加密算法為3des算法,這是個(gè)對(duì)稱(chēng)加、解密算法,也就是說(shuō),明文和密文的長(zhǎng)度保持一致,從而可以友好地保護(hù)個(gè)人數(shù)據(jù)不被竊取、破解。
[0031]圖2是根據(jù)本發(fā)明實(shí)施例的磁盤(pán)數(shù)據(jù)的處理方法的流程圖,如圖2所示該方法包括如下步驟:
[0032]步驟S202,接收向虛擬磁盤(pán)寫(xiě)入第一數(shù)據(jù)的寫(xiě)入請(qǐng)求,其中,寫(xiě)入請(qǐng)求攜帶著寫(xiě)入地址。
[0033]步驟S204,計(jì)算與寫(xiě)入地址對(duì)應(yīng)的虛擬磁盤(pán)的寫(xiě)入扇區(qū)區(qū)間。
[0034]步驟S206,對(duì)第一數(shù)據(jù)進(jìn)行加密處理得到加密數(shù)據(jù)。
[0035]步驟S208,將加密數(shù)據(jù)寫(xiě)入該寫(xiě)入扇區(qū)區(qū)間。
[0036]采用本發(fā)明,在接收到向虛擬磁盤(pán)寫(xiě)入第一數(shù)據(jù)的寫(xiě)入請(qǐng)求之后,計(jì)算與寫(xiě)入請(qǐng)求中攜帶的寫(xiě)入地址對(duì)應(yīng)的寫(xiě)入扇區(qū)區(qū)間,并在對(duì)第一數(shù)據(jù)進(jìn)行加密處理得到加密數(shù)據(jù)之后,將加密數(shù)據(jù)寫(xiě)入該寫(xiě)入扇區(qū)區(qū)間。采用本發(fā)明,在VM (虛擬機(jī))寫(xiě)入磁盤(pán)數(shù)據(jù)時(shí),先加密,然后寫(xiě)入,解決了現(xiàn)有技術(shù)中磁盤(pán)數(shù)據(jù)安全性差的問(wèn)題,實(shí)現(xiàn)了安全保護(hù)磁盤(pán)數(shù)據(jù)的效果。
[0037]在本發(fā)明的上述實(shí)施例中,將對(duì)第一數(shù)據(jù)進(jìn)行加密處理得到加密數(shù)據(jù)的步驟包括:從第一數(shù)據(jù)中提取符合整個(gè)扇區(qū)的第一子數(shù)據(jù);將第一子數(shù)據(jù)進(jìn)行加密處理得到第一加密子數(shù)據(jù);從第一數(shù)據(jù)中提取不足一個(gè)扇區(qū)的第二子數(shù)據(jù);確定與第二子數(shù)據(jù)對(duì)應(yīng)的第一扇區(qū);獲取當(dāng)前存儲(chǔ)在第一扇區(qū)內(nèi)的第三子數(shù)據(jù);將第二子數(shù)據(jù)和第三子數(shù)據(jù)合并得到第一合并數(shù)據(jù);對(duì)第一合并數(shù)據(jù)進(jìn)行加密處理得到第二加密子數(shù)據(jù),其中,加密數(shù)據(jù)包括第一加密子數(shù)據(jù)和第二加密子數(shù)據(jù)。
[0038]具體地,獲取當(dāng)前存儲(chǔ)在第一扇區(qū)內(nèi)的第三子數(shù)據(jù)的步驟包括:讀取第一扇區(qū)內(nèi)的第四子數(shù)據(jù),其中,第四子數(shù)據(jù)為加密的數(shù)據(jù);對(duì)第四子數(shù)據(jù)進(jìn)行解密處理得到第三子數(shù)據(jù)。
[0039]在上述實(shí)施例中,VM (虛擬機(jī))往虛擬磁盤(pán)上寫(xiě)入第一數(shù)據(jù),磁盤(pán)驅(qū)動(dòng)程序接收到寫(xiě)入第一數(shù)據(jù)的寫(xiě)入請(qǐng)求之后,根據(jù)該寫(xiě)入請(qǐng)求中的寫(xiě)入地址計(jì)算出要寫(xiě)入的磁盤(pán)扇區(qū)區(qū)間(即上述實(shí)施例中的寫(xiě)入扇區(qū)區(qū)間),將寫(xiě)入的第一數(shù)據(jù)不足一個(gè)扇區(qū)的部分(第二子數(shù)據(jù)),該第二子數(shù)據(jù)對(duì)應(yīng)第一扇區(qū),先讀出該第一扇區(qū)的內(nèi)容(第三子數(shù)據(jù)),將第二子數(shù)據(jù)和第三子數(shù)據(jù)進(jìn)行合并得到第一合并數(shù)據(jù),在合并完成之后,對(duì)第一合并數(shù)據(jù)和第一子數(shù)據(jù)進(jìn)行加密處理得到第一加密數(shù)據(jù),具體地,采用3des算法對(duì)第一子數(shù)據(jù)和第一合并數(shù)據(jù)進(jìn)行加密,加密完成后分別得到第一加密子數(shù)據(jù)和第二加密子數(shù)據(jù),將第一加密子數(shù)據(jù)和第二加密子數(shù)據(jù)分別寫(xiě)入對(duì)應(yīng)的扇區(qū)。
[0040]在本發(fā)明的上述實(shí)施例中,在將加密數(shù)據(jù)寫(xiě)入該寫(xiě)入扇區(qū)區(qū)間之后,處理方法還包括:讀取與讀取請(qǐng)求對(duì)應(yīng)的第二數(shù)據(jù),其中,第二數(shù)據(jù)為加密的數(shù)據(jù);將第二數(shù)據(jù)進(jìn)行解密處理得到解密后的第二數(shù)據(jù)。
[0041]具體地,讀取與讀取請(qǐng)求對(duì)應(yīng)的第二數(shù)據(jù)的步驟包括:從讀取請(qǐng)求中提取讀取地址;計(jì)算與讀取地址對(duì)應(yīng)的讀取扇區(qū)區(qū)間;從讀取扇區(qū)區(qū)間讀取第二數(shù)據(jù)。[0042]在上述實(shí)施例中,VM (虛擬機(jī))從虛擬磁盤(pán)上讀取第二數(shù)據(jù),磁盤(pán)驅(qū)動(dòng)程序接到讀取請(qǐng)求之后,計(jì)算出要讀取的讀取扇區(qū)區(qū)間,如若要讀取的數(shù)據(jù)不足一個(gè)扇區(qū),仍以一個(gè)扇區(qū)讀出,先讀出扇區(qū)的內(nèi)容,采用3des算法對(duì)第二數(shù)據(jù)進(jìn)行解密,得到解密后的第二數(shù)據(jù),返回給VM (虛擬機(jī))。
[0043]在本發(fā)明的上述實(shí)施例中,在qcow2格式的虛擬磁盤(pán)驅(qū)動(dòng)程序中,對(duì)磁盤(pán)的讀、寫(xiě)接口,增加了一層,具體來(lái)說(shuō),在對(duì)磁盤(pán)的讀接口增加了一個(gè)解密中間過(guò)程,在對(duì)磁盤(pán)的寫(xiě)接口增加了一個(gè)加密中間過(guò)程;在磁盤(pán)驅(qū)動(dòng)程序中,它對(duì)磁盤(pán)讀寫(xiě)的最小單位是扇區(qū),因此,可以以扇區(qū)為單位進(jìn)行加解密,具體地,采用的加密算法為3des算法,這是個(gè)對(duì)稱(chēng)加、解密算法,也就是說(shuō),明文和密文的長(zhǎng)度保持一致,從而可以友好地保護(hù)個(gè)人數(shù)據(jù)不被竊取、破解。
[0044]需要說(shuō)明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0045]從以上的描述中,可以看出,本發(fā)明實(shí)現(xiàn)了如下技術(shù)效果:
[0046]采用本發(fā)明,在接收到向虛擬磁盤(pán)寫(xiě)入第一數(shù)據(jù)的寫(xiě)入請(qǐng)求之后,計(jì)算與寫(xiě)入請(qǐng)求中攜帶的寫(xiě)入地址對(duì)應(yīng)的寫(xiě)入扇區(qū)區(qū)間,并在對(duì)第一數(shù)據(jù)進(jìn)行加密處理得到加密數(shù)據(jù)之后,將加密數(shù)據(jù)寫(xiě)入該寫(xiě)入扇區(qū)區(qū)間。采用本發(fā)明,在VM (虛擬機(jī))寫(xiě)入磁盤(pán)數(shù)據(jù)時(shí),先加密,然后寫(xiě)入,解決了現(xiàn)有技術(shù)中磁盤(pán)數(shù)據(jù)安全性差的問(wèn)題,實(shí)現(xiàn)了安全保護(hù)磁盤(pán)數(shù)據(jù)的效果。
[0047]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0048]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種磁盤(pán)數(shù)據(jù)的處理方法,其特征在于,包括: 接收向虛擬磁盤(pán)寫(xiě)入第一數(shù)據(jù)的寫(xiě)入請(qǐng)求,其中,所述寫(xiě)入請(qǐng)求攜帶著寫(xiě)入地址; 計(jì)算與所述寫(xiě)入地址對(duì)應(yīng)的所述虛擬磁盤(pán)的寫(xiě)入扇區(qū)區(qū)間; 對(duì)所述第一數(shù)據(jù)進(jìn)行加密處理得到加密數(shù)據(jù); 將所述加密數(shù)據(jù)寫(xiě)入所述寫(xiě)入扇區(qū)區(qū)間。
2.根據(jù)權(quán)利要求1所述的處理方法,其特征在于,將對(duì)所述第一數(shù)據(jù)進(jìn)行加密處理得到加密數(shù)據(jù)的步驟包括: 從所述第一數(shù)據(jù)中提取符合整個(gè)扇區(qū)的第一子數(shù)據(jù); 將所述第一子數(shù)據(jù)進(jìn)行加密處理得到第一加密子數(shù)據(jù); 從所述第一數(shù)據(jù)中提取不足一個(gè)扇區(qū)的第二子數(shù)據(jù); 確定與所述第二子數(shù)據(jù)對(duì)應(yīng)的第一扇區(qū); 獲取當(dāng)前存儲(chǔ)在所述第一扇區(qū)內(nèi)的第三子數(shù)據(jù); 將所述第二子數(shù)據(jù)和所述第三子數(shù)據(jù)合并得到第一合并數(shù)據(jù); 對(duì)所述第一合并數(shù)據(jù)進(jìn)行加密處理得到第二加密子數(shù)據(jù), 其中,所述加密數(shù)據(jù)包括所述第一加密子數(shù)據(jù)和所述第二加密子數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的處理方法,其特征在于,獲取當(dāng)前存儲(chǔ)在所述第一扇區(qū)內(nèi)的第三子數(shù)據(jù)的步驟包括: 讀取所述第一扇區(qū)內(nèi)的第四子數(shù)據(jù),其中,所述第四子數(shù)據(jù)為加密的數(shù)據(jù); 對(duì)所述第四子數(shù)據(jù)進(jìn)行解密處理得到第三子數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的處理方法,其特征在于,在將所述加密數(shù)據(jù)寫(xiě)入所述寫(xiě)入扇區(qū)區(qū)間之后,所述處理方法還包括: 讀取與讀取請(qǐng)求對(duì)應(yīng)的第二數(shù)據(jù),其中,所述第二數(shù)據(jù)為加密的數(shù)據(jù); 將所述第二數(shù)據(jù)進(jìn)行解密處理得到解密后的第二數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的處理方法,其特征在于,讀取與讀取請(qǐng)求對(duì)應(yīng)的第二數(shù)據(jù)的步驟包括: 從所述讀取請(qǐng)求中提取讀取地址; 計(jì)算與所述讀取地址對(duì)應(yīng)的讀取扇區(qū)區(qū)間; 從所述讀取扇區(qū)區(qū)間讀取所述第二數(shù)據(jù)。
6.一種磁盤(pán)數(shù)據(jù)的處理裝置,其特征在于,包括: 接收模塊,用于接收向虛擬磁盤(pán)寫(xiě)入第一數(shù)據(jù)的寫(xiě)入請(qǐng)求,其中,所述寫(xiě)入請(qǐng)求攜帶著寫(xiě)入地址; 第一計(jì)算模塊,用于計(jì)算與所述寫(xiě)入地址對(duì)應(yīng)的所述虛擬磁盤(pán)的寫(xiě)入扇區(qū)區(qū)間; 加密模塊,用于對(duì)所述第一數(shù)據(jù)進(jìn)行加密處理得到加密數(shù)據(jù); 寫(xiě)入模塊,用于將所述加密數(shù)據(jù)寫(xiě)入所述寫(xiě)入扇區(qū)區(qū)間。
7.根據(jù)權(quán)利要求6所述的處理裝置,其特征在于,所述加密模塊包括: 第一提取模塊,用于從所述第一數(shù)據(jù)中提取符合整個(gè)扇區(qū)的第一子數(shù)據(jù); 第一加密子模塊,用于將所述第一子數(shù)據(jù)進(jìn)行加密處理得到第一加密子數(shù)據(jù); 第二提取模塊,用于從所述第一數(shù)據(jù)中提取不足一個(gè)扇區(qū)的第二子數(shù)據(jù); 確定模塊,用于確定與所述第二子數(shù)據(jù)對(duì)應(yīng)的第一扇區(qū);獲取模塊,用于獲取當(dāng)前存儲(chǔ)在所述第一扇區(qū)內(nèi)的第三子數(shù)據(jù); 合并模塊,用于將所述第二子數(shù)據(jù)和所述第三子數(shù)據(jù)合并得到第一合并數(shù)據(jù); 第二加密子模塊,用于對(duì)所述第一合并數(shù)據(jù)進(jìn)行加密處理得到第二加密子數(shù)據(jù), 其中,所述加密數(shù)據(jù)包括所述第一加密子數(shù)據(jù)和所述第二加密子數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的處理裝置,其特征在于,所述獲取模塊包括: 第一讀取模塊,用于讀取所述第一扇區(qū)內(nèi)的第四子數(shù)據(jù),其中,所述第四子數(shù)據(jù)為加密的數(shù)據(jù); 第一解密模塊,用于對(duì)所述第四子數(shù)據(jù)進(jìn)行解密處理得到第三子數(shù)據(jù)。
9.根據(jù)權(quán)利要求6所述的處理裝置,其特征在于,所述處理裝置還包括: 第二讀取模塊,用于讀取與讀取請(qǐng)求對(duì)應(yīng)的第二數(shù)據(jù),其中,所述第二數(shù)據(jù)為加密的數(shù) 據(jù); 第二解密模塊,用于將所述第二數(shù)據(jù)進(jìn)行解密處理得到解密后的第二數(shù)據(jù)。
10.根據(jù)權(quán)利要求9所述的處理裝置,其特征在于,所述第二讀取模塊包括: 第三提取模塊,用于從所述讀取請(qǐng)求中提取讀取地址; 第二計(jì)算模塊,用于計(jì)算與所述讀取地址對(duì)應(yīng)的讀取扇區(qū)區(qū)間; 第三讀取模塊,用于從所述讀取扇區(qū)區(qū)間讀取所述第二數(shù)據(jù)。
【文檔編號(hào)】G06F21/80GK103745170SQ201410005056
【公開(kāi)日】2014年4月23日 申請(qǐng)日期:2014年1月2日 優(yōu)先權(quán)日:2014年1月2日
【發(fā)明者】楊耀敏, 朱理, 高良偉, 周雄峰, 鐘樂(lè)員 申請(qǐng)人:浙江云巢科技有限公司