本發(fā)明涉及大數(shù)據(jù)處理和數(shù)據(jù)安全的技術(shù)領(lǐng)域,尤其涉及一種基于hdfs的透明加密方法,以及基于hdfs的透明加密系統(tǒng)。
背景技術(shù):
在大數(shù)據(jù)企業(yè),數(shù)據(jù)安全是安身立命之本、不可或缺,隨著業(yè)務(wù)的發(fā)展,特別是大數(shù)據(jù)的安全變得越來越重要,而對大數(shù)據(jù)加密是一個非常重要的防護(hù)手段。
數(shù)據(jù)庫透明加密技術(shù)是針對關(guān)系型數(shù)據(jù)庫保密需求應(yīng)運(yùn)而生的一種數(shù)據(jù)庫加密技術(shù)。所謂透明,是指對用戶來說無需更改現(xiàn)有的應(yīng)用系統(tǒng)和操作習(xí)慣。當(dāng)用戶通過應(yīng)用程序訪問數(shù)據(jù)庫時,得到的是明文數(shù)據(jù),而未授權(quán)的用戶通過非法手段訪問數(shù)據(jù)庫得到的都是密文數(shù)據(jù)。數(shù)據(jù)在應(yīng)用程序中是明文,在數(shù)據(jù)庫中是密文。一旦離開使用環(huán)境,由于應(yīng)用程序無法得到自動解密的服務(wù)而無法打開,從而起到保護(hù)數(shù)據(jù)庫中數(shù)據(jù)的效果。
為此,中國專利申請(申請?zhí)枺篊N201310012514.4)提供了一種移動平臺透明加密方法,可以在移動平臺進(jìn)行透明加密處理。中國專利申請(申請?zhí)枺篊N201510477683.4)提供了一種數(shù)據(jù)庫透明加密方法,可以在數(shù)據(jù)庫進(jìn)行透明加密處理。
但是,現(xiàn)有的技術(shù)加密只能在一臺小型設(shè)備或者特定應(yīng)用上實現(xiàn)數(shù)據(jù)加密,采用的透明壓縮技術(shù)都是同步的方式,對用戶操作會帶來一定的體驗影響,最關(guān)鍵的是它們的加密對象都是小數(shù)據(jù)量,還不能解決大數(shù)據(jù)領(lǐng)域的數(shù)據(jù)安全問題。
在大數(shù)據(jù)領(lǐng)域目前對特定數(shù)據(jù)的保護(hù)手段比較原始,需要用戶直接去對數(shù)據(jù)做加密和解密操作,無法做到透明加密,效率非常低下。
技術(shù)實現(xiàn)要素:
為克服現(xiàn)有技術(shù)的缺陷,本發(fā)明要解決的技術(shù)問題是提供了一種基于hdfs的透明加密方法,其加密處理過程對于應(yīng)用層完全透明,用戶沒有任何感知,這樣就解決了hadoop集群數(shù)據(jù)安全問題,整個處理過程對數(shù)據(jù)寫操作沒有任何影響。
本發(fā)明的技術(shù)方案是:這種基于hdfs的透明加密方法,該方法包括數(shù)據(jù)異步加密和數(shù)據(jù)讀取,
數(shù)據(jù)異步加密包括以下步驟:
(1)判斷hadoop集群是否繁忙,是則繼續(xù)等待,否則執(zhí)行步驟(2);
(2)根據(jù)用戶配置的白名單目錄,找出所有未加密的數(shù)據(jù)文件對應(yīng)的數(shù)據(jù)塊列表;
(3)對所有的數(shù)據(jù)塊依次加密處理,數(shù)據(jù)塊加密完成后在密文的頭部加上加密標(biāo)識,一并寫回到磁盤,替換原來明文數(shù)據(jù)塊;
數(shù)據(jù)讀取包括以下步驟:
(a)Datanode接收到數(shù)據(jù)讀取請求;
(b)Datanode判斷要讀取的數(shù)據(jù)塊是否經(jīng)過加密處理,如果是明文直接向上返回數(shù)據(jù),如果是密文則把密文解密之后向上返回。
本發(fā)明通過升級改造hdfs的datanode以及相關(guān)模塊,使用異步的方式對存儲在hdfs上的特定數(shù)據(jù)塊(block)完成加密處理,此過程對于應(yīng)用層完全透明,用戶沒有任何感知,這樣就解決了hadoop集群數(shù)據(jù)安全問題,整個處理過程對數(shù)據(jù)寫操作沒有任何影響。
還提供了一種基于hdfs的透明加密系統(tǒng),該系統(tǒng)包括:
集群狀態(tài)判斷模塊,其配置來判斷hadoop集群是否繁忙,是則繼續(xù)等待,否則執(zhí)行步驟(2);
列表尋找模塊,其配置來根據(jù)用戶配置的白名單目錄,找出所有未加密的數(shù)據(jù)文件對應(yīng)的數(shù)據(jù)塊列表;
數(shù)據(jù)加密模塊,其配置來對所有的數(shù)據(jù)塊依次加密處理,數(shù)據(jù)塊加密完成后在密文的頭部加上加密標(biāo)識,一并寫回到磁盤,替換原來明文數(shù)據(jù)塊;
請求接收模塊,其配置來通過Datanode接收到數(shù)據(jù)讀取請求;
數(shù)據(jù)解密模塊,其配置來通過Datanode判斷要讀取的數(shù)據(jù)塊是否經(jīng)過加密處理,如果是明文直接向上返回數(shù)據(jù),如果是密文則把密文解密之后向上返回。
附圖說明
圖1所示為根據(jù)本發(fā)明的基于hdfs的透明加密方法的流程圖。
具體實施方式
如圖1所示,這種基于hdfs(Hadoop分布式文件系統(tǒng))上的分布式文件系統(tǒng)。的透明加密方法,該方法包括數(shù)據(jù)異步加密和數(shù)據(jù)讀取,
數(shù)據(jù)異步加密包括以下步驟:
(1)判斷hadoop(是一個由Apache基金會所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu))集群是否繁忙,是則繼續(xù)等待,否則執(zhí)行步驟(2);
(2)根據(jù)用戶配置的白名單目錄,找出所有未加密的數(shù)據(jù)文件對應(yīng)的數(shù)據(jù)塊列表;
(3)對所有的數(shù)據(jù)塊依次加密處理,數(shù)據(jù)塊加密完成后在密文的頭部加上加密標(biāo)識,一并寫回到磁盤,替換原來明文數(shù)據(jù)塊;
數(shù)據(jù)讀取包括以下步驟:
(a)Datanode接收到數(shù)據(jù)讀取請求;
(b)Datanode判斷要讀取的數(shù)據(jù)塊是否經(jīng)過加密處理,如果是明文直接向上返回數(shù)據(jù),如果是密文則把密文解密之后向上返回。
本發(fā)明通過升級改造hdfs的datanode以及相關(guān)模塊,使用異步的方式對存儲在hdfs上的特定數(shù)據(jù)塊(block)完成加密處理,此過程對于應(yīng)用層完全透明,用戶沒有任何感知,這樣就解決了hadoop集群數(shù)據(jù)安全問題,整個處理過程對數(shù)據(jù)寫操作沒有任何影響。
另外,所述步驟(3)中,定時判斷hadoop集群是否繁忙,是則等待,否則進(jìn)行加密處理。
另外,該方法對hdfs直接升級,hdfs作為hadoop集群的一部分來對外提供分布式存儲服務(wù)。
本領(lǐng)域普通技術(shù)人員可以理解,實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,包括上述實施例方法的各步驟,而所述的存儲介質(zhì)可以是:ROM/RAM、磁碟、光盤、存儲卡等。因此,與本發(fā)明的方法相對應(yīng)的,本發(fā)明還同時包括一種基于hdfs的透明加密系統(tǒng),該系統(tǒng)通常以與方法各步驟相對應(yīng)的功能模塊的形式表示。使用該方法的系統(tǒng)包括:
集群狀態(tài)判斷模塊,其配置來判斷hadoop集群是否繁忙,是則繼續(xù)等待,否則執(zhí)行步驟(2);
列表尋找模塊,其配置來根據(jù)用戶配置的白名單目錄,找出所有未加密的數(shù)據(jù)文件對應(yīng)的數(shù)據(jù)塊列表;
數(shù)據(jù)加密模塊,其配置來對所有的數(shù)據(jù)塊依次加密處理,數(shù)據(jù)塊加密完成后在密文的頭部加上加密標(biāo)識,一并寫回到磁盤,替換原來明文數(shù)據(jù)塊;
請求接收模塊,其配置來通過Datanode接收到數(shù)據(jù)讀取請求;
數(shù)據(jù)解密模塊,其配置來通過Datanode判斷要讀取的數(shù)據(jù)塊是否經(jīng)過加密處理,如果是明文直接向上返回數(shù)據(jù),如果是密文則把密文解密之后向上返回。
另外,所述數(shù)據(jù)加密模塊中,定時判斷hadoop集群是否繁忙,是則等待,否則進(jìn)行加密處理。
另外,該系統(tǒng)對hdfs直接升級,hdfs作為hadoop集群的一部分來對外提供分布式存儲服務(wù)。
本發(fā)明的有益效果如下:
1.提出了對集群中海量數(shù)據(jù)的加密方案,填補(bǔ)了海量數(shù)據(jù)透明加密的空白;
2.異步的加密方法,對數(shù)據(jù)寫請求沒有任何影響,并使得加密過程對集群影響降到最小;
3.通過白名單的方式,用戶可以靈活配置,自由選擇要保護(hù)的核心數(shù)據(jù)。
以上所述,僅是本發(fā)明的較佳實施例,并非對本發(fā)明作任何形式上的限制,凡是依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬本發(fā)明技術(shù)方案的保護(hù)范圍。