一種磁盤全局?jǐn)?shù)據(jù)加密系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及針對磁盤上全部數(shù)據(jù)的統(tǒng)一加解密實(shí)現(xiàn)方案,具體涉及一種磁盤全局?jǐn)?shù)據(jù)加密方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展、網(wǎng)絡(luò)應(yīng)用的不斷豐富,網(wǎng)絡(luò)中產(chǎn)生的數(shù)據(jù)呈爆炸式增長,并且數(shù)據(jù)的種類多種多樣,給數(shù)據(jù)的管理、分析帶來了巨大的挑戰(zhàn)。因此針對海量數(shù)據(jù)的研究逐漸成熟,并提出了大數(shù)據(jù)的概念。大數(shù)據(jù)具有4個(gè)顯著特征,即數(shù)據(jù)量巨大、數(shù)據(jù)結(jié)構(gòu)豐富、增長速度快和價(jià)值密度低,因此需要使用具有針對性的解決方案來處理大數(shù)據(jù)。目前較為成熟并且廣為應(yīng)用的方案為Hadoop分布式系統(tǒng)框架,該架構(gòu)包含三個(gè)主要的部分:HDFS (Hadoop分布式文件系統(tǒng))、MapReduce和HBase (面向列的實(shí)時(shí)分布式數(shù)據(jù)庫),其中HDFS負(fù)責(zé)完成大數(shù)據(jù)的高速存儲和訪問,MapReduce負(fù)責(zé)對大數(shù)據(jù)進(jìn)行并行化處理,HBase基于HDFS管理非結(jié)構(gòu)化的大數(shù)據(jù)。由此可見,在基于Hadoop的大數(shù)據(jù)解決方案中,海量數(shù)據(jù)的高速存儲和訪問是解決大數(shù)據(jù)問題的前提和關(guān)鍵。
[0003]但是,海量數(shù)據(jù)存儲中數(shù)據(jù)安全問題性一直有待提高。Hadoop增加了節(jié)點(diǎn)訪問權(quán)限的控制機(jī)制來提高安全性;商用Hadoop系統(tǒng)針對安全問題引入SSL等機(jī)制提供安全交互信道;Hadoop領(lǐng)域的先驅(qū)公司Cloudera發(fā)布了企業(yè)級Hadoop系統(tǒng),面向政府部門的網(wǎng)絡(luò)安全和欺詐檢測應(yīng)用提供安全保證;OpenStack Swift體系框架提供數(shù)據(jù)安全存儲加密插件以提高系統(tǒng)的安全性。并且工信部也針對網(wǎng)絡(luò)用戶的信息安全提出明確的保護(hù)標(biāo)準(zhǔn),未來的互聯(lián)網(wǎng)及其數(shù)據(jù)分析應(yīng)用都將圍繞數(shù)據(jù)安全開展,因此安全機(jī)制將成為大數(shù)據(jù)處理中亟待解決的問題,也將是未來網(wǎng)絡(luò)健康發(fā)展的必要條件。
[0004]由此可見,安全機(jī)制是海量數(shù)據(jù)存儲的基礎(chǔ)問題,是影響Hadoop等海量數(shù)據(jù)處理應(yīng)用的關(guān)鍵因素,已經(jīng)逐漸成為大數(shù)據(jù)解決方案中首要考慮的重點(diǎn)和難點(diǎn)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于,為了克服上述問題,本發(fā)明提出了一種磁盤全局?jǐn)?shù)據(jù)加密方法及系統(tǒng),實(shí)現(xiàn)對磁盤上所有數(shù)據(jù)的加解密處理。
[0006]為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種磁盤全局?jǐn)?shù)據(jù)加密系統(tǒng),所述系統(tǒng)包含:加密算法配置模塊、初始化模塊和數(shù)據(jù)加密和解密模塊;
[0007]所述加密算法配置模塊,用于為磁盤設(shè)定全局?jǐn)?shù)據(jù)加密算法;
[0008]所述初始化模塊,用于依據(jù)設(shè)定的全局加密算法對磁盤啟動(dòng)信息進(jìn)行加密;
[0009]所述數(shù)據(jù)加密和解密模塊,用于依據(jù)設(shè)定的全局加密算法對磁盤的扇區(qū)數(shù)據(jù)進(jìn)行加密和解密。
[0010]可選的,上述加密算法配置模塊進(jìn)一步包含:全局加密配置文件、加密函數(shù)庫和用戶配置接口;
[0011]所述加密函數(shù)庫,用于存放若干加密算法;
[0012]所述用戶配置接口,用于選擇加密函數(shù)庫中的加密算法;
[0013]所述加密配置模塊,用于將選擇的加密算法記錄至全局加密配置文件中。
[0014]可選的,上述初始化模塊進(jìn)一步包含:
[0015]讀取子模塊,用于以明文讀取磁盤的啟動(dòng)信息;
[0016]查找子模塊,用于從加密配置模塊中的全局加密配置文件,依據(jù)查找的全局配置文件得到指定的加密算法;
[0017]加密處理子模塊,用于依據(jù)加密算法對啟動(dòng)信息進(jìn)行加密,并將加密后的密文寫入到磁盤,替換磁盤上的啟動(dòng)信息。
[0018]可選的,上述數(shù)據(jù)加密和解密模塊進(jìn)一步包含:
[0019]截獲解析子模塊,用于截獲對磁盤的讀寫請求,解析出讀寫請求中指定的磁盤扇區(qū)和數(shù)據(jù);
[0020]寫請求加密處理子模塊,用于針對寫請求,按照全局加密配置文件指定的加密算法對寫入磁盤的明文數(shù)據(jù)進(jìn)行加密,并將密文寫入指定的磁盤扇區(qū);
[0021]讀請求加密處理子模塊,用于針對讀請求,由指定的磁盤扇區(qū)讀取密文數(shù)據(jù),按照全局加密算法指定的加密算法對密文數(shù)據(jù)進(jìn)行解密。
[0022]此外,本發(fā)明還提供了一種磁盤全局?jǐn)?shù)據(jù)加密方法,所述方法包含:
[0023]步驟101)選擇加密算法,將選擇結(jié)果寫入全局加密配置文件中;
[0024]步驟102)以明文讀取磁盤的啟動(dòng)信息,查找全局加密配置文件指定的加密算法,依據(jù)加密算法對啟動(dòng)信息進(jìn)行加密,并將加密后的密文寫入到磁盤,替換磁盤上的啟動(dòng)信息;
[0025]步驟103)截獲對磁盤的讀寫請求,解析出讀寫請求中指定的磁盤扇區(qū)和數(shù)據(jù);
[0026]針對寫請求,按照全局加密配置文件指定的加密算法對寫入磁盤的明文數(shù)據(jù)進(jìn)行加密,并將密文寫入指定的磁盤扇區(qū);
[0027]針對讀請求,由指定的磁盤扇區(qū)讀取密文數(shù)據(jù),按照全局加密算法指定的加密算法對密文數(shù)據(jù)進(jìn)行解密。
[0028]可選的,上述加密算法包含:三重?cái)?shù)據(jù)加密算法3DES、高級加密標(biāo)準(zhǔn)算法AES或密鑰長度可變的流加密算法簇RC4。
[0029]與現(xiàn)有技術(shù)相比,本發(fā)明的技術(shù)優(yōu)勢在于:
[0030]本發(fā)明將磁盤實(shí)現(xiàn)細(xì)節(jié)封裝隱藏為統(tǒng)一的數(shù)據(jù)對象,通過對該數(shù)據(jù)對象的加密、解密,實(shí)現(xiàn)了高效的磁盤加密和解密操作,進(jìn)而提高海量數(shù)據(jù)存儲的安全性。
【附圖說明】
[0031]圖1是本發(fā)明提供的針對磁盤的全局?jǐn)?shù)據(jù)加密系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0032]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和【具體實(shí)施方式】對本發(fā)明作進(jìn)一步詳細(xì)的說明。
[0033]本發(fā)明包括加密算法配置模塊、初始化模塊和數(shù)據(jù)加密和解密模塊。首先,使用加密算法配置模塊設(shè)置所述系統(tǒng)使用的加密算法;然后,初始化模塊根據(jù)加密算法對磁盤的啟動(dòng)信息進(jìn)行加密;最后,數(shù)據(jù)加解密模塊根據(jù)加密算法對寫入磁盤的所有數(shù)據(jù)進(jìn)行加密,對由磁盤讀取的所有數(shù)據(jù)進(jìn)行解密。
[0034]加密算法配置模塊包括全局加密配置文件、加密函數(shù)庫和用戶配置接口,用戶通過用戶配置接口選擇加密函數(shù)庫中的加密算法,加密配置模塊將用戶選擇的加密算法記錄到全局加密配置文件中。
[0035]加密算法配置模調(diào)用初始化模塊,初始化模塊將磁盤的啟動(dòng)信息以明文讀取出來,按照加密算法配置模塊中全局加密配置文件指定的加密算法對啟動(dòng)信息進(jìn)行加密,并將加密后的密文寫入到磁盤,替換磁盤上的啟動(dòng)信息。
[0036]數(shù)據(jù)加密和解密模塊截獲用戶對磁盤的讀寫請求,解析出讀寫請求中指定的磁盤扇區(qū)和數(shù)據(jù)。按照磁盤扇區(qū)尋找待讀寫的數(shù)據(jù),按照加密算法配置模塊中全局加密配置文件指定的加密算法對讀取的數(shù)據(jù)進(jìn)行解密,對寫入的數(shù)據(jù)加密。
[0037]全局?jǐn)?shù)據(jù)加密方法及系統(tǒng)的工作流程是:
[0038]步驟1:用戶調(diào)用加密算法配置模塊,在加密函數(shù)庫中選擇加密算法,加密算法配置模塊將選擇結(jié)果寫入全局加密配置文件中。
[0039]步驟2:初始化模塊以明文讀取磁盤的啟動(dòng)信息,查找加密算法配置模塊中全局加密配置文件指定的加密算法,對啟動(dòng)信息進(jìn)行加密,并將加密后的密文寫入到磁盤,替換磁盤上的啟動(dòng)信息。
[0040]步驟3:數(shù)據(jù)加解密模塊截獲用戶對磁盤的讀寫請求,解析出讀寫請求中指定的磁盤扇區(qū)和數(shù)據(jù)。
[0041]步驟3-1:對于寫請求,按照加密算法配置模塊中全局加密配置文件指定的加密算法對寫入磁盤的