專(zhuān)利名稱:硬盤(pán)數(shù)據(jù)寫(xiě)入、讀取方法及裝置的制作方法
硬盤(pán)數(shù)據(jù)寫(xiě)入、讀取方法及裝置技術(shù)領(lǐng)域
本發(fā)明實(shí)施例涉及一種硬盤(pán)數(shù)據(jù)寫(xiě)入、讀取方法及裝置,屬于存儲(chǔ)技術(shù)領(lǐng)域。
背景技術(shù):
由于硬盤(pán)具有讀寫(xiě)性能高、容量大等等優(yōu)勢(shì),而被廣泛應(yīng)用在軍工、工控、監(jiān)控等領(lǐng)域。硬盤(pán)作為支撐現(xiàn)在海量數(shù)據(jù)存儲(chǔ)的介質(zhì),其上的數(shù)據(jù)一旦泄露會(huì)對(duì)個(gè)人或企業(yè)客戶造成不可估量的損失。為了保證硬盤(pán)上數(shù)據(jù)的可靠性,需要對(duì)硬盤(pán)上的數(shù)據(jù)進(jìn)行加密。
圖I為現(xiàn)有技術(shù)的一種硬盤(pán)數(shù)據(jù)加密技術(shù)的示意圖。如圖I所示,將硬盤(pán)劃分為兩個(gè)部分?jǐn)?shù)據(jù)區(qū)與密鑰區(qū),其中加密后的密文數(shù)據(jù)存放在數(shù)據(jù)區(qū),而密鑰同時(shí)存放在硬盤(pán)之上的密鑰區(qū)內(nèi),加密區(qū)的大小視加密算法的強(qiáng)度而定。圖2為圖I所示加密技術(shù)中加密過(guò)程的示意圖。如圖2所示,明文數(shù)據(jù)在主機(jī)軟件側(cè)進(jìn)行加密,將加密后得到的密文數(shù)據(jù)以及密鑰分別寫(xiě)入硬盤(pán)的數(shù)據(jù)區(qū)以及密鑰區(qū)。圖3為圖I所示加密技術(shù)中解密過(guò)程的示意圖。如圖2所示,主機(jī)軟件從硬盤(pán)的數(shù)據(jù)區(qū)和密鑰區(qū)分別讀取密文以及密鑰,進(jìn)行解密得到明文數(shù)據(jù)。
然而,上述現(xiàn)有技術(shù)中將硬盤(pán)的可用區(qū)域分為數(shù)據(jù)區(qū)與密鑰區(qū),相當(dāng)于減少了硬盤(pán)實(shí)際可存儲(chǔ)的數(shù)據(jù)容量。而且隨著加密算法強(qiáng)度的增加,數(shù)據(jù)區(qū)的容量會(huì)進(jìn)一步減少。并且,由于硬盤(pán)上的密文數(shù)據(jù)和密鑰都是存儲(chǔ)在硬盤(pán)的可用區(qū)域,假使出現(xiàn)硬盤(pán)被竊取等情況,很容易被人讀取造成信息的泄密。發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種硬盤(pán)數(shù)據(jù)寫(xiě)入、讀取方法及裝置,用以解決現(xiàn)有的硬盤(pán)數(shù)據(jù)加密導(dǎo)致減少硬盤(pán)的實(shí)際可存儲(chǔ)數(shù)據(jù)容量以及易泄密的問(wèn)題。
本發(fā)明實(shí)施例的第一個(gè)方面是提供一種硬盤(pán)數(shù)據(jù)寫(xiě)入方法,包括
獲取明文數(shù)據(jù);
利用加密密鑰對(duì)所述明文數(shù)據(jù)進(jìn)行加密,得到密文數(shù)據(jù)和解密密鑰;
將所述密文數(shù)據(jù)寫(xiě)入硬盤(pán)的可用區(qū)域,將所述解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)。
在第一個(gè)方面的第一種可能的實(shí)現(xiàn)方式中,所述利用加密密鑰對(duì)所述明文數(shù)據(jù)進(jìn)行加密,得到密文數(shù)據(jù)之前還包括
將所述明文數(shù)據(jù)分解為多個(gè)明文數(shù)據(jù)塊;
所述利用加密密鑰對(duì)所述明文數(shù)據(jù)進(jìn)行加密,得到密文數(shù)據(jù)具體包括
利用加密密鑰對(duì)所述多個(gè)明文數(shù)據(jù)塊分別進(jìn)行加密,得到多個(gè)密文數(shù)據(jù)塊和各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰;
所述將所述密文數(shù)據(jù)寫(xiě)入硬盤(pán)的可用區(qū)域,將所述解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)具體包括
將所述多個(gè)密文數(shù)據(jù)塊寫(xiě)入所述硬盤(pán)的可用區(qū)域,將各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)。CN 102930224 A書(shū)明說(shuō)2/9頁(yè)
結(jié)合第一個(gè)方面的第一種可能的實(shí)現(xiàn)方式,在第一個(gè)方面的第二種可能的實(shí)現(xiàn)方式中,每個(gè)密文數(shù)據(jù)塊的大小不超過(guò)所述硬盤(pán)上每個(gè)扇區(qū)的數(shù)據(jù)區(qū)容量大小;
所述將所述多個(gè)密文數(shù)據(jù)塊寫(xiě)入所述硬盤(pán)的可用區(qū)域具體包括
將所述多個(gè)密文數(shù)據(jù)塊一一對(duì)應(yīng)地寫(xiě)入多個(gè)扇區(qū)的數(shù)據(jù)區(qū);
所述將各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)具體包括
將各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰分別對(duì)應(yīng)地寫(xiě)入各密文數(shù)據(jù)塊所在扇區(qū)的保留區(qū)。
結(jié)合第一個(gè)方面或第一個(gè)方面的上述幾種可能的實(shí)現(xiàn)方式,在第一個(gè)方面的第三種可能的實(shí)現(xiàn)方式中,將所述解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)具體包括
使用小型計(jì)算機(jī)系統(tǒng)接口 SCSI WRITE LONG命令將所述解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)。
本發(fā)明實(shí)施例的第二個(gè)方面是提供一種硬盤(pán)數(shù)據(jù)讀取方法,包括
從硬盤(pán)的可用區(qū)域讀取密文數(shù)據(jù),從所述硬盤(pán)的保留區(qū)讀取解密密鑰;
利用所述解密密鑰對(duì)所述密文數(shù)據(jù)進(jìn)行解密,得到明文數(shù)據(jù)。
在第二個(gè)方面的第一種可能的實(shí)現(xiàn)方式中,所述從硬盤(pán)的可用區(qū)域讀取密文數(shù)據(jù),從所述硬盤(pán)的保留區(qū)讀取解密密鑰具體包括
從硬盤(pán)的可用區(qū)域讀取多個(gè)密文數(shù)據(jù)塊,從所述硬盤(pán)的保留區(qū)讀取各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰;
所述利用所述解密密鑰對(duì)所述密文數(shù)據(jù)進(jìn)行解密,得到明文數(shù)據(jù)具體包括
利用各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰分別對(duì)所述多個(gè)密文數(shù)據(jù)塊進(jìn)行解密,得到多個(gè)明文數(shù)據(jù)塊;
所述利用所述解密密鑰對(duì)所述密文數(shù)據(jù)進(jìn)行解密,得到明文數(shù)據(jù)之后還包括
將所述多個(gè)明文數(shù)據(jù)塊進(jìn)行合并,得到所述明文數(shù)據(jù)。
結(jié)合第二個(gè)方面的第一種可能的實(shí)現(xiàn)方式,在第二個(gè)方面的第二種可能的實(shí)現(xiàn)方式中,各密文數(shù)據(jù)塊的大小均不超過(guò)所述硬盤(pán)上每個(gè)扇區(qū)的數(shù)據(jù)區(qū)容量大小,各密文數(shù)據(jù)塊一一對(duì)應(yīng)地保存在所述硬盤(pán)的一個(gè)扇區(qū)的數(shù)據(jù)區(qū)中;
所述從硬盤(pán)的可用區(qū)域讀取多個(gè)密文數(shù)據(jù)塊具體包括
從所述硬盤(pán)的多個(gè)扇區(qū)的數(shù)據(jù)區(qū)分別讀取所述多個(gè)密文數(shù)據(jù)塊;
所述從所述硬盤(pán)的保留區(qū)讀取各密文數(shù)據(jù)塊對(duì)應(yīng)的密鑰具體包括
從所述保存有各密文數(shù)據(jù)塊的扇區(qū)的保留區(qū)中分別讀取各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰。
結(jié)合第二個(gè)方面或第二個(gè)方面的上述幾種可能的實(shí)現(xiàn)方式,在第二個(gè)方面的第三種可能的實(shí)現(xiàn)方式中,所述從所述硬盤(pán)的保留區(qū)讀取解密密鑰具體包括
使用小型計(jì)算機(jī)系統(tǒng)接口 SCSI READ LONG命令從所述硬盤(pán)的保留區(qū)讀取所述解密密鑰。
本發(fā)明實(shí)施例的第三個(gè)方面是提供一種硬盤(pán)數(shù)據(jù)寫(xiě)入裝置,包括
獲取模塊,用于獲取明文數(shù)據(jù);
加密模塊,用于利用加密密鑰對(duì)所述獲取模塊獲取的明文數(shù)據(jù)進(jìn)行加密,得到密文數(shù)據(jù)和解密密鑰;6
寫(xiě)入模塊,用于將所述加密模塊得到的所述密文數(shù)據(jù)寫(xiě)入硬盤(pán)的可用區(qū)域,將所述加密模塊得到的所述解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)。
在第三個(gè)方面的第一種可能的實(shí)現(xiàn)方式中,還包括
分解模塊,用于件所述獲取模塊獲取的所述明文數(shù)據(jù)分解為多個(gè)明文數(shù)據(jù)塊;
所述加密模塊具體用于利用加密密鑰對(duì)所述分解模塊分解得到的所述多個(gè)明文數(shù)據(jù)塊分別進(jìn)行加密,得到多個(gè)密文數(shù)據(jù)塊和各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰;
所述寫(xiě)入模塊具體用于將所述加密模塊得到的所述多個(gè)密文數(shù)據(jù)塊寫(xiě)入所述硬盤(pán)的可用區(qū)域,將所述加密模塊得到的各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)。
結(jié)合第三個(gè)方面或第三個(gè)方面的第一種可能的實(shí)現(xiàn)方式,在第三個(gè)方面的第二種可能的實(shí)現(xiàn)方式中,每個(gè)密文數(shù)據(jù)塊的大小不超過(guò)所述硬盤(pán)上每個(gè)扇區(qū)的數(shù)據(jù)區(qū)容量大
所述寫(xiě)入模塊具體用于
將所述加密模塊得到的所述多個(gè)密文數(shù)據(jù)塊一一對(duì)應(yīng)地寫(xiě)入多個(gè)扇區(qū)的數(shù)據(jù)區(qū), 將所述加密模塊得到的各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰分別對(duì)應(yīng)地寫(xiě)入各密文數(shù)據(jù)塊所在扇區(qū)的保留區(qū)。
結(jié)合第三個(gè)方面的上述幾種可能的實(shí)現(xiàn)方式,在第三個(gè)方面的第三種可能的實(shí)現(xiàn)方式中,所述寫(xiě)入模塊具體用于
使用小型計(jì)算機(jī)系統(tǒng)接口 SCSI WRITE LONG命令將所述加密模塊得到的所述解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)。
本發(fā)明實(shí)施例的第四個(gè)方面是提供一種硬盤(pán)數(shù)據(jù)讀取裝置,包括
讀取模塊,用于從硬盤(pán)的可用區(qū)域讀取密文數(shù)據(jù),從所述硬盤(pán)的保留區(qū)讀取解密密鑰;
解密模塊,用于利用所述讀取模塊讀取到的所述解密密鑰對(duì)所述讀取模塊讀取到的密文數(shù)據(jù)進(jìn)行解密,得到明文數(shù)據(jù)。
在第四個(gè)方面的第一種可能的實(shí)現(xiàn)方式中,所述讀取模塊具體用于
從硬盤(pán)的可用區(qū)域讀取多個(gè)密文數(shù)據(jù)塊,從所述硬盤(pán)的保留區(qū)讀取各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰;
所述解密模塊具體用于
利用所述讀取模塊讀取到的各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰分別對(duì)所述讀取模塊讀取到的所述多個(gè)密文數(shù)據(jù)塊進(jìn)行解密,得到多個(gè)明文數(shù)據(jù)塊;
還包括
合并模塊,用于將所述解密模塊得到的所述多個(gè)明文數(shù)據(jù)塊進(jìn)行合并,得到所述明文數(shù)據(jù)。
結(jié)合第四個(gè)方面的第一種可能的實(shí)現(xiàn)方式,在第四個(gè)方面的第二種可能的實(shí)現(xiàn)方式中,各密文數(shù)據(jù)塊的大小均不超過(guò)所述硬盤(pán)上每個(gè)扇區(qū)的數(shù)據(jù)區(qū)容量大小,各密文數(shù)據(jù)塊一一對(duì)應(yīng)地保存在所述硬盤(pán)的一個(gè)扇區(qū)的數(shù)據(jù)區(qū)中;
所述讀取模塊具體用于
從所述硬盤(pán)的多個(gè)扇區(qū)的數(shù)據(jù)區(qū)分別讀取所述多個(gè)密文數(shù)據(jù)塊,從所述保存有各密文數(shù)據(jù)塊的扇區(qū)的保留區(qū)中分別讀取各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰。
結(jié)合第四個(gè)方面或第四個(gè)方面的上述幾種可能的實(shí)現(xiàn)方式,在第四個(gè)方面的第三種可能的實(shí)現(xiàn)方式中,所述讀取模塊具體用于使用小型計(jì)算機(jī)系統(tǒng)接口 SCSI READ LONG 命令從所述硬盤(pán)的保留區(qū)讀取所述解密密鑰。
以上多個(gè)技術(shù)方案中的多個(gè)具有如下優(yōu)點(diǎn)或有益效果
本發(fā)明實(shí)施例通過(guò)將解密密鑰保存在硬盤(pán)的保留區(qū),不占用硬盤(pán)的可用區(qū)域,節(jié)省存儲(chǔ)資源,且由于保留區(qū)中的數(shù)據(jù)無(wú)法通過(guò)常規(guī)命令讀取,使得解密密鑰無(wú)法被竊取,提高了數(shù)據(jù)加密的可靠性,解決了現(xiàn)有的硬盤(pán)數(shù)據(jù)加密導(dǎo)致減少硬盤(pán)的實(shí)際可存儲(chǔ)數(shù)據(jù)容量以及易泄密的問(wèn)題。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖I為現(xiàn)有技術(shù)的一種硬盤(pán)數(shù)據(jù)加密技術(shù)的示意圖2為圖I所示加密技術(shù)中加密過(guò)程的示意圖3為圖I所示加密技術(shù)中解密過(guò)程的示意圖4為本發(fā)明實(shí)施例提供的一種硬盤(pán)數(shù)據(jù)寫(xiě)入方法的流程示意圖5為本發(fā)明實(shí)施例提供的一種硬盤(pán)數(shù)據(jù)讀取方法的流程示意圖6為本發(fā)明實(shí)施例提供的一種硬盤(pán)數(shù)據(jù)寫(xiě)入裝置的結(jié)構(gòu)示意圖7為本發(fā)明實(shí)施例提供的又一種硬盤(pán)數(shù)據(jù)寫(xiě)入裝置的結(jié)構(gòu)示意圖8為本發(fā)明實(shí)施例提供的一種硬盤(pán)數(shù)據(jù)讀取裝置的結(jié)構(gòu)示意圖9為本發(fā)明實(shí)施例提供的又一種硬盤(pán)數(shù)據(jù)讀取裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖4為本發(fā)明實(shí)施例提供的一種硬盤(pán)數(shù)據(jù)寫(xiě)入方法的流程示意圖。如圖4所示, 包括
401、獲取明文數(shù)據(jù)。
舉例來(lái)說(shuō),本發(fā)明實(shí)施例提供的硬盤(pán)數(shù)據(jù)寫(xiě)入裝置獲取明文數(shù)據(jù)。具體地,硬盤(pán)數(shù)據(jù)寫(xiě)入裝置通過(guò)主機(jī)軟件實(shí)現(xiàn),通常,主機(jī)軟件包括驅(qū)動(dòng)層、操作系統(tǒng)層和應(yīng)用層,應(yīng)用層可以與用戶直接交互,操作系統(tǒng)層負(fù)責(zé)整個(gè)主機(jī)的調(diào)度,操作系統(tǒng)層設(shè)置有文件系統(tǒng),文件系統(tǒng)用于管理主機(jī)硬盤(pán)中的數(shù)據(jù),驅(qū)動(dòng)層可以與主機(jī)硬盤(pán)上的主控單元通過(guò)小型計(jì)算機(jī)系統(tǒng)接口(SmallComputer System Interface,簡(jiǎn)稱 SCSI)協(xié)議通信。
402、利用加密密鑰對(duì)所述明文數(shù)據(jù)進(jìn)行加密,得到密文數(shù)據(jù)和解密密鑰。
這里的加密密鑰可以是預(yù)先設(shè)置好的。具體地,可以采用現(xiàn)有的加密算法進(jìn)行加密,本發(fā)明實(shí)施例對(duì)此不進(jìn)行限定。解密密鑰是與加密密鑰和加密算法對(duì)應(yīng)的,舉例來(lái)說(shuō), 當(dāng)采用對(duì)稱密鑰加密算法時(shí),解密密鑰與加密密鑰相同。
403、將所述密文數(shù)據(jù)寫(xiě)入硬盤(pán)的可用區(qū)域,將所述加密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)。
具體地,硬盤(pán)的可用區(qū)域?yàn)閷?duì)用戶可見(jiàn)的區(qū)域,即常規(guī)可訪問(wèn)的區(qū)域,保留區(qū) (Reserved)為非常規(guī)可訪問(wèn)的區(qū)域。這里的常規(guī)可訪問(wèn)是指通過(guò)常規(guī)的讀寫(xiě)命令可以訪問(wèn),常規(guī)的讀命令如 SCSI 塊命令(Block Command) READ 10, READ12、READ 16, READ32 等,常規(guī)的寫(xiě)命令如 WRITE10、WRITE12、WRITE16、WRITE32 等。
具體地,本發(fā)明實(shí)施例中可以利用SCSI特殊數(shù)據(jù)寫(xiě)命令,WRITE LONG命令將所述密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)。
本施例中,應(yīng)用層獲取明文數(shù)據(jù),將明文數(shù)據(jù)傳遞給操作系統(tǒng)層的文件系統(tǒng),文件系統(tǒng)確定該明文數(shù)據(jù)在硬盤(pán)中的存儲(chǔ)位置,并將明文數(shù)據(jù)傳遞給驅(qū)動(dòng)層,驅(qū)動(dòng)層對(duì)明文數(shù)據(jù)進(jìn)行加密后將得到的密文數(shù)據(jù)和解密密鑰存儲(chǔ)在硬盤(pán)中文件系統(tǒng)指定的存儲(chǔ)位置。由于是在驅(qū)動(dòng)層進(jìn)行加密,密文數(shù)據(jù)不以文件的形式存在、對(duì)于用戶不可見(jiàn),相比于現(xiàn)有技術(shù)中在應(yīng)用層進(jìn)行加密、密文數(shù)據(jù)作為一個(gè)文件對(duì)用戶可見(jiàn)來(lái)說(shuō),提高了數(shù)據(jù)的安全性。
若應(yīng)用層生成的明文數(shù)據(jù)較大,操作系統(tǒng)層的文件系統(tǒng)會(huì)將明文數(shù)據(jù)分為多個(gè)明文數(shù)據(jù)塊, 驅(qū)動(dòng)層對(duì)多個(gè)明文數(shù)據(jù)塊分別進(jìn)行加密,相比于現(xiàn)有在應(yīng)用層對(duì)整個(gè)明文數(shù)據(jù)進(jìn)行加密,進(jìn)一步提高了加密的速度。對(duì)應(yīng)地,401和402之間還包括
將所述明文數(shù)據(jù)分解為多個(gè)明文數(shù)據(jù)塊;
402具體包括
利用加密密鑰對(duì)所述多個(gè)明文數(shù)據(jù)塊分別進(jìn)行加密,得到多個(gè)密文數(shù)據(jù)塊和各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰;
403具體包括
將所述多個(gè)密文數(shù)據(jù)塊寫(xiě)入所述硬盤(pán)的可用區(qū)域,將各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)。
具體地,是否需要分解明文數(shù)據(jù)以及分解成多少個(gè)明文數(shù)據(jù)塊,由文件系統(tǒng)根據(jù)明文數(shù)據(jù)的大小決定,本實(shí)施例對(duì)此不進(jìn)行限定。
需要說(shuō)明的是,若各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰不同,則需要將各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰分別寫(xiě)入保留區(qū)中對(duì)應(yīng)的存儲(chǔ)位置;若各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰相同, 可以在保留區(qū)內(nèi)僅寫(xiě)入一個(gè)解密密鑰,進(jìn)一步地,還可以將一個(gè)解密密鑰的數(shù)據(jù)分割成多份,每份存放在保留區(qū)的不同空間內(nèi),比如存放不同的扇區(qū)中的保留區(qū)內(nèi),這樣可以極大擴(kuò)展本發(fā)明實(shí)施例使用的加解密算法的種類(lèi)、強(qiáng)度等等。
進(jìn)一步地,為了優(yōu)化硬盤(pán)上的存儲(chǔ)空間、減少硬盤(pán)碎片,可在硬盤(pán)上以扇區(qū) (Sector)為單位保存密文數(shù)據(jù)塊。對(duì)應(yīng)地,每個(gè)密文數(shù)據(jù)塊的大小不超過(guò)所述硬盤(pán)上每個(gè)扇區(qū)的數(shù)據(jù)區(qū)容量大??;
所述將所述多個(gè)密文數(shù)據(jù)塊寫(xiě)入所述硬盤(pán)的可用區(qū)域具體包括
將所述多個(gè)密文數(shù)據(jù)塊一一對(duì)應(yīng)地寫(xiě)入多個(gè)扇區(qū)的數(shù)據(jù)區(qū);
所述將各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)具體包括
將各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰分別對(duì)應(yīng)寫(xiě)入各密文數(shù)據(jù)塊所在扇區(qū)的保留區(qū)。
具體地,硬盤(pán)中的每個(gè)扇區(qū)均由數(shù)據(jù)區(qū)和保留區(qū)組成。通常,每個(gè)扇區(qū)中數(shù)據(jù)區(qū)的容量為512字節(jié),保留區(qū)的容量大于100字節(jié)。將哪個(gè)密文數(shù)據(jù)塊寫(xiě)入哪個(gè)扇區(qū), 可以由操作系統(tǒng)層中的文件系統(tǒng)指定,具體地可以在WRITE LONG命令的參數(shù),邏輯塊地址(LOGICAL BLOCK ADDRESS)中指定,舉例來(lái)說(shuō),若要將密文數(shù)據(jù)寫(xiě)入O扇區(qū),則LOGICAL BL0CKADDRESS=0,若要將密文數(shù)據(jù)寫(xiě)入 10000 扇區(qū),LOGICAL BL0CKADDRESS=10000。
進(jìn)一步地,為了提高加密的可靠性,可以針對(duì)各明文數(shù)據(jù)塊使用不同的加密密鑰和加密算法進(jìn)行加密,本實(shí)施例對(duì)此不進(jìn)行限定。
本發(fā)明實(shí)施例通過(guò)將解密密鑰保存在硬盤(pán)的保留區(qū),不占用硬盤(pán)的可用區(qū)域,節(jié)省存儲(chǔ)資源,且由于保留區(qū)中的數(shù)據(jù)無(wú)法通過(guò)常規(guī)命令讀取,使得解密密鑰無(wú)法被竊取,提高了數(shù)據(jù)加密的可靠性,解決了現(xiàn)有的硬盤(pán)數(shù)據(jù)加密導(dǎo)致減少硬盤(pán)的實(shí)際可存儲(chǔ)數(shù)據(jù)容量以及易泄密的問(wèn)題。進(jìn)一步地,通過(guò)文件系統(tǒng)將大的明文數(shù)據(jù)分解成小的明文數(shù)據(jù)塊后再在驅(qū)動(dòng)層分別進(jìn)行加密,提高了加密的效率。
圖5為本發(fā)明實(shí)施例提供的一種硬盤(pán)數(shù)據(jù)讀取方法的流程示意圖。如圖5所示, 包括
501、從硬盤(pán)的可用區(qū)域讀取密文數(shù)據(jù),從所述硬盤(pán)的保留區(qū)讀取解密密鑰。
舉例來(lái)說(shuō),本發(fā)明實(shí)施例提供的硬盤(pán)數(shù)據(jù)讀取裝置從硬盤(pán)的可用區(qū)域讀取密文數(shù)據(jù),從所 述硬盤(pán)的保留區(qū)讀取解密密鑰。具體地,硬盤(pán)數(shù)據(jù)讀取裝置可以通過(guò)主機(jī)軟件實(shí)現(xiàn)。
具體地,本發(fā)明實(shí)施例中可以利用SCSI特殊數(shù)據(jù)讀命令,READ LONG命令從所述硬盤(pán)的保留區(qū)讀取解密密鑰。
502、利用所述解密密鑰對(duì)所述密文數(shù)據(jù)進(jìn)行解密,得到明文數(shù)據(jù)。
具體地,采用解密密鑰和與得到所述密文數(shù)據(jù)的加密算法對(duì)應(yīng)的解密算法進(jìn)行解密,本發(fā)明實(shí)施例對(duì)此不進(jìn)行限定。
本施例中,硬盤(pán)數(shù)據(jù)讀取裝置在驅(qū)動(dòng)層執(zhí)行501和502,之后驅(qū)動(dòng)層可以將得到的明文數(shù)據(jù)通過(guò)文件系統(tǒng)傳遞給應(yīng)用層。需要說(shuō)明的是,501中從硬盤(pán)的什么存儲(chǔ)位置讀取密文數(shù)據(jù)和解密密鑰,是由文件系統(tǒng)指定的。
若要讀取的明文數(shù)據(jù)在之前寫(xiě)入到硬盤(pán)中先由文件系統(tǒng)分解成了多個(gè)明文數(shù)據(jù)塊,并在驅(qū)動(dòng)層分別進(jìn)行了加密,則相應(yīng)地在讀取時(shí),驅(qū)動(dòng)層讀取對(duì)應(yīng)的多個(gè)密文數(shù)據(jù)塊并分別解密得到多個(gè)明文數(shù)據(jù)塊后,文件系統(tǒng)再將解密得到的多個(gè)明文數(shù)據(jù)塊進(jìn)行合并,得到明文數(shù)據(jù)。對(duì)應(yīng)地,501具體包括
從硬盤(pán)的可用區(qū)域讀取多個(gè)密文數(shù)據(jù)塊,從所述硬盤(pán)的保留區(qū)讀取各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰;
502具體包括
利用各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰分別對(duì)所述多個(gè)密文數(shù)據(jù)塊進(jìn)行解密,得到多個(gè)明文數(shù)據(jù)塊;
502之后還包括
將所述多個(gè)明文數(shù)據(jù)塊進(jìn)行合并,得到所述明文數(shù)據(jù)。
需要說(shuō)明的是,若各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰相同,可以僅讀取一個(gè)解密密鑰,若各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰不同,則需要將保留區(qū)中對(duì)應(yīng)的存儲(chǔ)位置分別讀取各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰。進(jìn)一步地,各密文數(shù)據(jù)塊對(duì)應(yīng)的解密算法可以相同,也可以不同。
進(jìn)一步地,若每個(gè)密文數(shù)據(jù)塊的大小不超過(guò)所述硬盤(pán)上每個(gè)扇區(qū)的數(shù)據(jù)區(qū)容量大小,各密文數(shù)據(jù)塊一一對(duì)應(yīng)地保存在所述硬盤(pán)的一個(gè)扇區(qū)的數(shù)據(jù)區(qū)中,則所述從硬盤(pán)的可用區(qū)域讀取多個(gè)密文數(shù)據(jù)塊具體包括
從所述硬盤(pán)的多個(gè)扇區(qū)的數(shù)據(jù)區(qū)分別讀取所述多個(gè)密文數(shù)據(jù)塊;
所述從所述硬盤(pán)的保留區(qū)讀取各密文數(shù)據(jù)塊對(duì)應(yīng)的密鑰具體包括
從所述保存有各密文數(shù)據(jù)塊的扇區(qū)的保留區(qū)中分別讀取各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰。
通常,從哪個(gè)扇區(qū)讀取密文數(shù)據(jù)塊,可以由操作系統(tǒng)層中的文件系統(tǒng)指定。具體地,可以在WRITE READ命令的參數(shù),邏輯塊地址(L0GICALBL0CK ADDRESS)中指定,舉例來(lái)說(shuō),若要讀取O扇區(qū)內(nèi)的數(shù)據(jù),L0GICALBL0CK ADDRESS=0,若要讀取10000扇區(qū)內(nèi)的數(shù)據(jù),logical blockaddress=i0000。
本發(fā)明實(shí)施例通過(guò)將保存在硬盤(pán)的保留區(qū)中的解密密鑰讀出,并對(duì)從硬盤(pán)的可用區(qū)域讀取的密文數(shù)據(jù)進(jìn)行解密,得 到明文數(shù)據(jù),解密密鑰不占用硬盤(pán)的可用區(qū)域,節(jié)省存儲(chǔ)資源,且由于保留區(qū)中的數(shù)據(jù)無(wú)法通過(guò)常規(guī)命令讀取,使得解密密鑰無(wú)法被竊取,提高了數(shù)據(jù)加密的可靠性,解決了現(xiàn)有的硬盤(pán)數(shù)據(jù)加密導(dǎo)致減少硬盤(pán)的實(shí)際可存儲(chǔ)數(shù)據(jù)容量以及易泄密的問(wèn)題。進(jìn)一步地,通過(guò)在驅(qū)動(dòng)層將小的各密文數(shù)據(jù)塊分別解密后再由文件系統(tǒng)進(jìn)行合并,相比于現(xiàn)有技術(shù)中在應(yīng)用層對(duì)整個(gè)密文數(shù)據(jù)進(jìn)行解密,提高了解密的效率。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
圖6為本發(fā)明實(shí)施例提供的一種硬盤(pán)數(shù)據(jù)寫(xiě)入裝置的結(jié)構(gòu)示意圖。如圖6所示, 所述裝置包括
獲取模塊61,用于獲取明文數(shù)據(jù);
加密模塊62,用于利用加密密鑰對(duì)獲取模塊61獲取的明文數(shù)據(jù)進(jìn)行加密,得到密文數(shù)據(jù)和解密密鑰;
寫(xiě)入模塊63,用于將加密模塊62得到的所述密文數(shù)據(jù)寫(xiě)入硬盤(pán)的可用區(qū)域,將加密模塊62得到的所述解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)。
可選地,寫(xiě)入模塊63具體用于
使用SCSI WRITE LONG命令將所述加密模塊得到的所述解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)。
圖7為本發(fā)明實(shí)施例提供的又一種硬盤(pán)數(shù)據(jù)寫(xiě)入裝置的結(jié)構(gòu)示意圖。如圖7所示, 在圖6所示實(shí)施例的基礎(chǔ)上,所述裝置還包括
分解模塊64,用于件獲取模塊61獲取的所述明文數(shù)據(jù)分解為多個(gè)明文數(shù)據(jù)塊;
加密模塊62具體用于利用加密密鑰對(duì)分解模塊64分解得到的所述多個(gè)明文數(shù)據(jù)塊分別進(jìn)行加密,得到多個(gè)密文數(shù)據(jù)塊和各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰;
寫(xiě)入模塊63具體用于將加密模塊62得到的所述多個(gè)密文數(shù)據(jù)塊寫(xiě)入所述硬盤(pán)的可用區(qū)域,將加密模塊62得到的各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)。
進(jìn)一步地,若每個(gè)密文數(shù)據(jù)塊的大小不超過(guò)所述硬盤(pán)上每個(gè)扇區(qū)的數(shù)據(jù)區(qū)容量大小,則寫(xiě)入模塊63具體可以用于
將加密模塊62得到的所述多個(gè)密文數(shù)據(jù)塊一一對(duì)應(yīng)地寫(xiě)入多個(gè)扇區(qū)的數(shù)據(jù)區(qū), 將加密模塊62得到的各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰分別對(duì)應(yīng)地寫(xiě)入各密文數(shù)據(jù)塊所在扇區(qū)的保留區(qū)。
需要說(shuō)明的是,本實(shí)施例提供的硬盤(pán)數(shù)據(jù)寫(xiě)入裝置可以通過(guò)主機(jī)軟件實(shí)現(xiàn),具體地,獲取模塊61可以位于主機(jī)軟件的應(yīng)用層,加密模塊62和寫(xiě)入模塊63可以位于主機(jī)軟件的驅(qū)動(dòng)層,分解模塊64可以位于主機(jī)軟件的操作系統(tǒng)層,進(jìn)一步地位于操作系統(tǒng)層的文件系統(tǒng)中。
本實(shí)施例的具體實(shí)現(xiàn)參照本發(fā)明實(shí)施例提供給的一種硬盤(pán)數(shù)據(jù)寫(xiě)入方法。本發(fā)明實(shí)施例通過(guò)將解密密鑰保存在硬盤(pán)的保留區(qū),不占用硬盤(pán)的可用區(qū)域,節(jié)省存儲(chǔ)資源,且由于保留區(qū)中的數(shù)據(jù)無(wú)法通過(guò)常規(guī)命令讀取,使得解密密鑰無(wú)法被竊取,提高了數(shù)據(jù)加密的可靠性,解決了現(xiàn)有的硬盤(pán)數(shù)據(jù)加密導(dǎo)致減少硬盤(pán)的實(shí)際可存儲(chǔ)數(shù)據(jù)容量以及易泄密的問(wèn)題。進(jìn)一步地,通過(guò)文件系統(tǒng)將大的明文數(shù)據(jù)分解成小的明文數(shù)據(jù)塊后再在驅(qū)動(dòng)層分別進(jìn)行加密,提高了加密的效率。
圖8為本發(fā)明實(shí)施例提供的一種硬盤(pán)數(shù)據(jù)讀取裝置的結(jié)構(gòu)示意圖。如圖8所示, 所述裝置包括
讀取模塊81,用于從硬盤(pán)的可用區(qū)域讀取密文數(shù)據(jù),從所述硬盤(pán)的保留區(qū)讀取解密密鑰;
解密模塊82,用于利用讀取模塊81讀取到的所述解密密鑰對(duì)所述讀取模塊讀取到的密文數(shù)據(jù)進(jìn)行解密,得到明文數(shù)據(jù)。
可選地,讀取模塊81具體用于使用SCSI READ LONG命令從所述硬盤(pán)的保留區(qū)讀取所述解密密鑰。
圖9為本發(fā)明實(shí)施例提供的又一種硬盤(pán)數(shù)據(jù)讀取裝置的結(jié)構(gòu)示意圖。如圖9所示, 在圖8所示實(shí)施例的基礎(chǔ)上,讀取模塊81具體用于
從硬盤(pán)的可用區(qū)域讀取多個(gè)密文數(shù)據(jù)塊,從所述硬盤(pán)的保留區(qū)讀取各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰;
解密模塊82具體用于
利用讀取模塊81讀取到的各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰分別對(duì)讀取模塊81讀取到的所述多個(gè)密文數(shù)據(jù)塊進(jìn)行解密,得到多個(gè)明文數(shù)據(jù)塊;
所述裝置還包括
合并模塊83,用于將解密模塊82得到的所述多個(gè)明文數(shù)據(jù)塊進(jìn)行合并,得到所述明文數(shù)據(jù)。
進(jìn)一步地,若各密文數(shù)據(jù)塊的大小均不超過(guò)所述硬盤(pán)上每個(gè)扇區(qū)的數(shù)據(jù)區(qū)容量大小,各密文數(shù)據(jù)塊一一對(duì)應(yīng)地保存在所述硬盤(pán)的一個(gè)扇區(qū)的數(shù)據(jù)區(qū)中,則讀取模塊81具體可以用于
從所述硬盤(pán)的多個(gè)扇區(qū)的數(shù)據(jù)區(qū)分別讀取所述多個(gè)密文數(shù)據(jù)塊,從所述保存有各密文數(shù)據(jù)塊的扇區(qū)的保留區(qū)中分別讀取各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰。
需要說(shuō)明的是,本實(shí)施例提供的硬盤(pán)數(shù)據(jù)讀取裝置可以通過(guò)主機(jī)軟件實(shí)現(xiàn),具體地,讀取模塊81和解密模塊82可以位于主機(jī)軟件的驅(qū)動(dòng)層,合并模塊83可以位于主機(jī)軟件的操作系統(tǒng)層,進(jìn)一步地位于操作系統(tǒng)層的文件系統(tǒng)中。
本實(shí)施例的具體實(shí)現(xiàn)參照本發(fā)明實(shí)施例提供給的一種硬盤(pán)數(shù)據(jù)讀取方法。本發(fā)明實(shí)施例通過(guò)將保存在硬盤(pán)的保留區(qū)中的解密密鑰讀出,并對(duì)從硬盤(pán)的可用區(qū)域讀取的密文數(shù)據(jù)進(jìn)行解密,得到明文數(shù)據(jù),解密密鑰不占用硬盤(pán)的可用區(qū)域,節(jié)省存儲(chǔ)資源,且由于保留區(qū)中的數(shù)據(jù)無(wú)法通過(guò)常規(guī)命令讀取,使得解密密鑰無(wú)法被竊取,提高了數(shù)據(jù)加密的可靠性,解決了現(xiàn)有的硬盤(pán)數(shù)據(jù)加密導(dǎo)致減少硬盤(pán)的實(shí)際可存儲(chǔ)數(shù)據(jù)容量以及易泄密的問(wèn)題。 進(jìn)一步地,通過(guò)在驅(qū)動(dòng)層將小的各密文數(shù)據(jù)塊分別解密后再由文件系統(tǒng)進(jìn)行合并,相比于現(xiàn)有技術(shù)中在應(yīng)用層對(duì)整個(gè)密文數(shù)據(jù)進(jìn)行解密,提高了解密的效率。
最后應(yīng)說(shuō)明的是以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制; 盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
權(quán)利要求
1.一種硬盤(pán)數(shù)據(jù)寫(xiě)入方法,其特征在于,包括獲取明文數(shù)據(jù);利用加密密鑰對(duì)所述明文數(shù)據(jù)進(jìn)行加密,得到密文數(shù)據(jù)和解密密鑰;將所述密文數(shù)據(jù)寫(xiě)入硬盤(pán)的可用區(qū)域,將所述解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述利用加密密鑰對(duì)所述明文數(shù)據(jù)進(jìn)行加密,得到密文數(shù)據(jù)之前還包括將所述明文數(shù)據(jù)分解為多個(gè)明文數(shù)據(jù)塊;所述利用加密密鑰對(duì)所述明文數(shù)據(jù)進(jìn)行加密,得到密文數(shù)據(jù)具體包括利用加密密鑰對(duì)所述多個(gè)明文數(shù)據(jù)塊分別進(jìn)行加密,得到多個(gè)密文數(shù)據(jù)塊和各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰;所述將所述密文數(shù)據(jù)寫(xiě)入硬盤(pán)的可用區(qū)域,將所述解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)具體包括將所述多個(gè)密文數(shù)據(jù)塊寫(xiě)入所述硬盤(pán)的可用區(qū)域,將各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,每個(gè)密文數(shù)據(jù)塊的大小不超過(guò)所述硬盤(pán)上每個(gè)扇區(qū)的數(shù)據(jù)區(qū)容量大小;所述將所述多個(gè)密文數(shù)據(jù)塊寫(xiě)入所述硬盤(pán)的可用區(qū)域具體包括將所述多個(gè)密文數(shù)據(jù)塊一一對(duì)應(yīng)地寫(xiě)入多個(gè)扇區(qū)的數(shù)據(jù)區(qū);所述將各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)具體包括將各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰分別對(duì)應(yīng)地寫(xiě)入各密文數(shù)據(jù)塊所在扇區(qū)的保留區(qū)。
4.根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的方法,其特征在于,將所述解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)具體包括使用小型計(jì)算機(jī)系統(tǒng)接口 SCSI WRITE LONG命令將所述解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)。
5.一種硬盤(pán)數(shù)據(jù)讀取方法,其特征在于,包括從硬盤(pán)的可用區(qū)域讀取密文數(shù)據(jù),從所述硬盤(pán)的保留區(qū)讀取解密密鑰;利用所述解密密鑰對(duì)所述密文數(shù)據(jù)進(jìn)行解密,得到明文數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述從硬盤(pán)的可用區(qū)域讀取密文數(shù)據(jù),從所述硬盤(pán)的保留區(qū)讀取解密密鑰具體包括從硬盤(pán)的可用區(qū)域讀取多個(gè)密文數(shù)據(jù)塊,從所述硬盤(pán)的保留區(qū)讀取各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰;所述利用所述解密密鑰對(duì)所述密文數(shù)據(jù)進(jìn)行解密,得到明文數(shù)據(jù)具體包括利用各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰分別對(duì)所述多個(gè)密文數(shù)據(jù)塊進(jìn)行解密,得到多個(gè)明文數(shù)據(jù)塊;所述利用所述解密密鑰對(duì)所述密文數(shù)據(jù)進(jìn)行解密,得到明文數(shù)據(jù)之后還包括將所述多個(gè)明文數(shù)據(jù)塊進(jìn)行合并,得到所述明文數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,各密文數(shù)據(jù)塊的大小均不超過(guò)所述硬盤(pán)上每個(gè)扇區(qū)的數(shù)據(jù)區(qū)容量大小,各密文數(shù)據(jù)塊一一對(duì)應(yīng)地保存在所述硬盤(pán)的一個(gè)扇區(qū)的數(shù)據(jù)區(qū)中;所述從硬盤(pán)的可用區(qū)域讀取多個(gè)密文數(shù)據(jù)塊具體包括從所述硬盤(pán)的多個(gè)扇區(qū)的數(shù)據(jù)區(qū)分別讀取所述多個(gè)密文數(shù)據(jù)塊;所述從所述硬盤(pán)的保留區(qū)讀取各密文數(shù)據(jù)塊對(duì)應(yīng)的密鑰具體包括從所述保存有各密文數(shù)據(jù)塊的扇區(qū)的保留區(qū)中分別讀取各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰。
8.根據(jù)權(quán)利要求5-7中任一項(xiàng)所述的方法,其特征在于,所述從所述硬盤(pán)的保留區(qū)讀取解密密鑰具體包括使用小型計(jì)算機(jī)系統(tǒng)接口 SCSI READ LONG命令從所述硬盤(pán)的保留區(qū)讀取所述解密密鑰。
9.一種硬盤(pán)數(shù)據(jù)寫(xiě)入裝置,其特征在于,包括獲取模塊,用于獲取明文數(shù)據(jù);加密模塊,用于利用加密密鑰對(duì)所述獲取模塊獲取的明文數(shù)據(jù)進(jìn)行加密,得到密文數(shù)據(jù)和解密密鑰;寫(xiě)入模塊,用于將所述加密模塊得到的所述密文數(shù)據(jù)寫(xiě)入硬盤(pán)的可用區(qū)域,將所述加密模塊得到的所述解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,還包括分解模塊,用于件所述獲取模塊獲取的所述明文數(shù)據(jù)分解為多個(gè)明文數(shù)據(jù)塊;所述加密模塊具體用于利用加密密鑰對(duì)所述分解模塊分解得到的所述多個(gè)明文數(shù)據(jù)塊分別進(jìn)行加密,得到多個(gè)密文數(shù)據(jù)塊和各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰;所述寫(xiě)入模塊具體用于將所述加密模塊得到的所述多個(gè)密文數(shù)據(jù)塊寫(xiě)入所述硬盤(pán)的可用區(qū)域,將所述加密模塊得到的各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,每個(gè)密文數(shù)據(jù)塊的大小不超過(guò)所述硬盤(pán)上每個(gè)扇區(qū)的數(shù)據(jù)區(qū)容量大?。凰鰧?xiě)入模塊具體用于將所述加密模塊得到的所述多個(gè)密文數(shù)據(jù)塊一一對(duì)應(yīng)地寫(xiě)入多個(gè)扇區(qū)的數(shù)據(jù)區(qū),將所述加密模塊得到的各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰分別對(duì)應(yīng)地寫(xiě)入各密文數(shù)據(jù)塊所在扇區(qū)的保留區(qū)。
12.根據(jù)權(quán)利要求9-11中任一項(xiàng)所述的裝置,其特征在于,所述寫(xiě)入模塊具體用于 使用小型計(jì)算機(jī)系統(tǒng)接口 SCSI WRITE LONG命令將所述加密模塊得到的所述解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)。
13.—種硬盤(pán)數(shù)據(jù)讀取裝置,其特征在于,包括讀取模塊,用于從硬盤(pán)的可用區(qū)域讀取密文數(shù)據(jù),從所述硬盤(pán)的保留區(qū)讀取解密密鑰;解密模塊,用于利用所述讀取模塊讀取到的所述解密密鑰對(duì)所述讀取模塊讀取到的密文數(shù)據(jù)進(jìn)行解密,得到明文數(shù)據(jù)。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述讀取模塊具體用于從硬盤(pán)的可用區(qū)域讀取多個(gè)密文數(shù)據(jù)塊,從所述硬盤(pán)的保留區(qū)讀取各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰;所述解密模塊具體用于利用所述讀取模塊讀取到的各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰分別對(duì)所述讀取模塊讀取到的所述多個(gè)密文數(shù)據(jù)塊進(jìn)行解密,得到多個(gè)明文數(shù)據(jù)塊;還包括合并模塊,用于將所述解密模塊得到的所述多個(gè)明文數(shù)據(jù)塊進(jìn)行合并,得到所述明文數(shù)據(jù)。
15.根據(jù)權(quán)利要求14所述的裝置,其特征在于,各密文數(shù)據(jù)塊的大小均不超過(guò)所述硬盤(pán)上每個(gè)扇區(qū)的數(shù)據(jù)區(qū)容量大小,各密文數(shù)據(jù)塊一一對(duì)應(yīng)地保存在所述硬盤(pán)的一個(gè)扇區(qū)的數(shù)據(jù)區(qū)中;所述讀取模塊具體用于從所述硬盤(pán)的多個(gè)扇區(qū)的數(shù)據(jù)區(qū)分別讀取所述多個(gè)密文數(shù)據(jù)塊,從所述保存有各密文數(shù)據(jù)塊的扇區(qū)的保留區(qū)中分別讀取各密文數(shù)據(jù)塊對(duì)應(yīng)的解密密鑰。
16.根據(jù)權(quán)利要求13-15中任一項(xiàng)所述的裝置,其特征在于,所述讀取模塊具體用于 使用小型計(jì)算機(jī)系統(tǒng)接口 SCSI READ LONG命令從所述硬盤(pán)的保留區(qū)讀取所述解密密鑰。
全文摘要
本發(fā)明實(shí)施例提供一種硬盤(pán)數(shù)據(jù)寫(xiě)入、讀取方法及裝置。寫(xiě)入方法包括獲取明文數(shù)據(jù);利用加密密鑰對(duì)所述明文數(shù)據(jù)進(jìn)行加密,得到密文數(shù)據(jù)和解密密鑰;將所述密文數(shù)據(jù)寫(xiě)入硬盤(pán)的可用區(qū)域,將所述解密密鑰寫(xiě)入所述硬盤(pán)的保留區(qū)。本發(fā)明實(shí)施例通過(guò)將解密密鑰保存在硬盤(pán)的保留區(qū),不占用硬盤(pán)的可用區(qū)域,節(jié)省存儲(chǔ)資源,且由于保留區(qū)中的數(shù)據(jù)無(wú)法通過(guò)常規(guī)命令讀取,使得解密密鑰無(wú)法被竊取,提高了數(shù)據(jù)加密的可靠性,解決了現(xiàn)有的硬盤(pán)數(shù)據(jù)加密導(dǎo)致減少硬盤(pán)的實(shí)際可存儲(chǔ)數(shù)據(jù)容量以及易泄密的問(wèn)題。
文檔編號(hào)G06F21/62GK102930224SQ201210400819
公開(kāi)日2013年2月13日 申請(qǐng)日期2012年10月19日 優(yōu)先權(quán)日2012年10月19日
發(fā)明者錢(qián)巖 申請(qǐng)人:華為技術(shù)有限公司