本發(fā)明涉及文件加解密技術(shù)領(lǐng)域,尤其涉及一種面向簡易存儲服務(wù)的透明文件加解密系統(tǒng)及其方法。
背景技術(shù):
計算機行業(yè)面臨嚴峻的考驗,在大數(shù)據(jù)已經(jīng)到來的時代,信息數(shù)據(jù)呈幾何級別地增長,迅速地填滿了系統(tǒng)內(nèi)一切可用的存儲空間。當前,網(wǎng)絡(luò)存儲已經(jīng)成為存儲業(yè)界的共識。Amazon S3,全名為亞馬遜簡易存儲服務(wù)(Amazon Simple Storage Service),由亞馬遜公司,利用他們的亞馬遜網(wǎng)絡(luò)服務(wù)系統(tǒng)所提供的網(wǎng)絡(luò)在線存儲服務(wù)。經(jīng)由Web服務(wù)界面,包括REST,SOAP,與BitTorrent,提供用戶能夠輕易把文件存儲到網(wǎng)絡(luò)服務(wù)器上。
現(xiàn)今數(shù)據(jù)是最核心資產(chǎn),存儲系統(tǒng)作為數(shù)據(jù)的保存空間,是數(shù)據(jù)保護的最后一道防線;隨著存儲系統(tǒng)由本地直連向著網(wǎng)絡(luò)化和分布式的方向發(fā)展,并被網(wǎng)絡(luò)上的眾多計算機共享,使存儲系統(tǒng)變得更易受到攻擊,相對靜態(tài)的存儲系統(tǒng)往往成為攻擊者的首選目標,達到竊取、篡改或破壞數(shù)據(jù)的目的。工信部也針對網(wǎng)絡(luò)用戶的信息安全提出明確的保護標準,未來的互聯(lián)網(wǎng)及其數(shù)據(jù)分析應(yīng)用都將圍繞數(shù)據(jù)安全開展,因此安全機制將成為網(wǎng)絡(luò)存儲中亟待解決的問題,也將是未來網(wǎng)絡(luò)健康發(fā)展的必要條件。由此可見,安全機制是網(wǎng)絡(luò)存儲的基礎(chǔ)問題,是影響S3等網(wǎng)絡(luò)存儲應(yīng)用的關(guān)鍵因素,已經(jīng)逐漸成為網(wǎng)絡(luò)存儲服務(wù)解決方案中首要考慮的重點和難點。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是為了完善網(wǎng)絡(luò)存儲的安全機制,提出了一種面向簡易存儲服務(wù)的透明文件加解密系統(tǒng)及其方法,在用戶與存儲服務(wù)器之間搭建加解 密系統(tǒng),提供透明的加解密服務(wù),以提高數(shù)據(jù)存儲安全性。
為了實現(xiàn)上述目的,一方面,本發(fā)明提供了一種面向簡易存儲服務(wù)的透明文件加解密系統(tǒng),該系統(tǒng)包括初始化模塊、輸入模塊、處理模塊和輸出模塊;其中初始化模塊用于完成對文件加解密系統(tǒng)的初始化處理;輸入模塊用于完成對輸入到文件加解密系統(tǒng)的數(shù)據(jù)包進行分類處理,將第一類型數(shù)據(jù)包發(fā)送給處理模塊,將第二類型數(shù)據(jù)包發(fā)送給輸出模塊;處理模塊用于對第一類型數(shù)據(jù)包進行匹配處理;若匹配成功,對第一類型數(shù)據(jù)包進行加解密處理;若匹配不成功,對第一類型數(shù)據(jù)包不進行加解密處理;匹配處理后的第一類型數(shù)據(jù)包發(fā)送給輸出模塊;輸出模塊用于將接收的第一類型數(shù)據(jù)包或第二類型數(shù)據(jù)包發(fā)送到相應(yīng)的網(wǎng)絡(luò)端口上。
另一方面,本發(fā)明提供了一種面向簡易存儲服務(wù)的透明文件加解密方法,該方法包括以下步驟:對所述文件加解密系統(tǒng)進行初始化處理;對輸入到所述文件加解密系統(tǒng)的數(shù)據(jù)包進行分類處理,將第一類型數(shù)據(jù)包發(fā)送給所述處理模塊,將第二類型數(shù)據(jù)包發(fā)送給所述輸出模塊;對所述第一類型數(shù)據(jù)包進行匹配處理;如果匹配成功,對所述第一類型數(shù)據(jù)包進行加解密處理;如果匹配不成功,對所述第一類型數(shù)據(jù)包不進行加解密處理;匹配處理后的第一類型數(shù)據(jù)包發(fā)送給所述輸出模塊;將接收的所述第一類型數(shù)據(jù)包或所述第二類型數(shù)據(jù)包發(fā)送到相應(yīng)的網(wǎng)絡(luò)端口上。
本發(fā)明通過在用戶與服務(wù)器之間設(shè)置加解密,減輕了用戶與服務(wù)器的加密負荷,實現(xiàn)穩(wěn)定高效的加解密框架。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1為本發(fā)明實施例提供的一種面向簡易存儲服務(wù)的透明文件加解密系統(tǒng)結(jié)構(gòu)示意圖;
圖2為本發(fā)明實施例提供的另一種面向簡易存儲服務(wù)的透明文件加解密系統(tǒng)結(jié)構(gòu)示意圖;
圖3為本發(fā)明實施例提供的一種面向簡易存儲服務(wù)的透明文件加解密方法流程示意圖。
具體實施方式
傳輸控制協(xié)議(Transmission Control Protocol,簡稱TCP)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議;超文本傳輸協(xié)議(HyperText Transfer Protocol,簡稱HTTP)是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議。所有的WWW文件都必須遵守這個標準,HTTP是一個客戶端和服務(wù)器端請求和應(yīng)答的標準(TCP),客戶端是終端用戶,服務(wù)器端是網(wǎng)站。
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。
圖1為本發(fā)明實施例提供的一種面向簡易存儲服務(wù)的透明文件加解密系統(tǒng)結(jié)構(gòu)示意圖。如圖1所示,本系統(tǒng)包括初始化模塊101、輸入模塊102、處理模塊103以及輸出模塊104。
初始化模塊101用于完成對本系統(tǒng)的內(nèi)存、網(wǎng)口、加密算法、加解密規(guī)則列表和密鑰列表的初始化,根據(jù)數(shù)據(jù)包的源IP、目的IP、源端口和目的端口四元組建立TPC連接信息,又稱TCP四元組信息,來區(qū)分不同的數(shù)據(jù)流,根據(jù)TCP數(shù)據(jù)包中的HTTP協(xié)議產(chǎn)生加解密規(guī)則,并分別初始化密鑰列表以及加解密規(guī)則列表。
加解密規(guī)則根據(jù)HTTP協(xié)議產(chǎn)生,對于HTTP協(xié)議的上傳put命令和用戶信息產(chǎn)生加密規(guī)則,對于HTTP協(xié)議的下載get命令和用戶信息產(chǎn)生解密規(guī)則。加解密規(guī)則由用戶信息、TCP連接信息以及密鑰構(gòu)成。
輸入模塊102負責(zé)完成對輸入到S3文件加解密系統(tǒng)的數(shù)據(jù)包進行分類, 將非TCP數(shù)據(jù)包提交給輸出模塊,將TCP數(shù)據(jù)包提交給處理模塊103進一步處理。
處理模塊103根據(jù)TCP數(shù)據(jù)包的四元組在加解密規(guī)則列表中進行匹配,對于匹配成功的數(shù)據(jù)包進行加解密,對于匹配不成功的數(shù)據(jù)包不進行加解密。當用戶與服務(wù)器之間交互的數(shù)據(jù)匹配加解密規(guī)則,則根據(jù)加解密規(guī)則的加密算法和密鑰對數(shù)據(jù)進行加解密,對用戶存入服務(wù)器的文件進行透明加密,對用戶從S3服務(wù)器讀取的文件進行透明解密。
輸出模塊104將數(shù)據(jù)包發(fā)送到網(wǎng)絡(luò)端口上,根據(jù)預(yù)先定義的規(guī)則,對于從某個輸入端口進入的數(shù)據(jù)包轉(zhuǎn)發(fā)到相應(yīng)的輸出端口上,數(shù)據(jù)包的輸出長度不改變。
由上所述,本系統(tǒng)運行流程如圖3所示:
步驟1:首先初始化模塊101完成對S3文件加解密系統(tǒng)的內(nèi)存、網(wǎng)口、加密算法以及數(shù)據(jù)結(jié)構(gòu)的初始化配置,并初始化密鑰列表以及加解密規(guī)則列表。
步驟2:然后輸入模塊102完成對輸入到S3文件加解密系統(tǒng)的數(shù)據(jù)包進行數(shù)據(jù)包分類,將非TCP數(shù)據(jù)包提交給輸出模塊,將TCP數(shù)據(jù)包提交給處理模塊103進一步處理。
步驟3:處理模塊103接收經(jīng)過輸入模塊102過濾的TCP數(shù)據(jù)包,根據(jù)TCP數(shù)據(jù)包四元組在加解密規(guī)則列表中進行匹配。
步驟3-1:如果匹配成功說明該數(shù)據(jù)包需要進行加解密,根據(jù)用戶信息從密鑰分發(fā)服務(wù)器獲取用戶密鑰,使用經(jīng)過配置的流式加密算法對有效荷載payload數(shù)據(jù)進行加解密;
步驟3-2:如果匹配不成功說明該數(shù)據(jù)包不需要進行加解密,需要進一步分析該TCP數(shù)據(jù)包是否包含HTTP協(xié)議,如果包含HTTP協(xié)議,且HTTP協(xié)議中包含用戶登錄、注銷信息,則需更新密鑰列表,建立用戶與密鑰的映射關(guān)系;如果HTTP協(xié)議中包含文件下載/上傳命令,則需要更新加解密規(guī)則列表, 為該數(shù)據(jù)流啟動數(shù)據(jù)加解密;
步驟3-3:未匹配的TCP數(shù)據(jù)包以及不包含上述命令的HTTP數(shù)據(jù)包均需要直接提交給輸出模塊。
步驟4:輸出模塊104根據(jù)預(yù)先定義的規(guī)則,將數(shù)據(jù)包發(fā)送到相應(yīng)的網(wǎng)絡(luò)端口上。
圖2為本發(fā)明實施例提供的一種面向簡易存儲服務(wù)的透明文件加解密系統(tǒng)結(jié)構(gòu)示意圖。如圖2所示,本系統(tǒng)包括初始化模塊101、輸入模塊102、處理模塊103以及輸出模塊104。其中,初始化模塊101包含密鑰初始化單元113、內(nèi)存初始化單元114、網(wǎng)口初始化單元115、加密規(guī)則初始化單元116與加密算法初始化單元117;處理模塊103由加解密規(guī)則匹配單元105、TCP協(xié)議解析單元106、HTTP命令解析單元107、加解密規(guī)則管理單元108、密鑰管理單元109、加解密規(guī)則列表110、密鑰列表111以及數(shù)據(jù)加解密單元112組成。
本系統(tǒng)首先由初始化模塊101完成初始化工作,對系統(tǒng)所需要的內(nèi)存、網(wǎng)口、密鑰、加解規(guī)則和加密算法等進行初始化,并分配相應(yīng)的資源。
當用戶與S3服務(wù)器交互的一個數(shù)據(jù)包進入本系統(tǒng),首先由輸入模塊102對數(shù)據(jù)包進行分類:非TCP數(shù)據(jù)包會被直接過濾提交給輸出模塊104并輸出系統(tǒng);TCP數(shù)據(jù)包則提交給處理模塊103,處理模塊103對TCP數(shù)據(jù)包的具體處理流程為:
在用戶登錄S3服務(wù)器階段,TCP數(shù)據(jù)包會包含HTTP請求,此TCP數(shù)據(jù)包進入處理模塊103后,首先由加解密規(guī)則匹配單元105判斷為HTTP數(shù)據(jù)包,并經(jīng)過HTTP命令解析單元107識別HTTP請求中的關(guān)鍵字段并獲取請求中的用戶信息,之后本系統(tǒng)經(jīng)過密鑰管理109憑用戶信息與密鑰管理服務(wù)器交互,獲得與用戶一一對應(yīng)的用戶密鑰,并且在密鑰列表111中添加TCP四元組信息、用戶信息以及密鑰,以此作為密鑰列表111的一條新記錄。
在用戶上傳或下載文件階段,此TCP數(shù)據(jù)包進入處理模塊103后,首先 由加解密規(guī)則匹配單元105判斷此TCP數(shù)據(jù)包是否含HTTP協(xié)議。對于HTTP數(shù)據(jù)包,由HTTP命令解析單元107解析HTTP請求中的關(guān)鍵字段并獲取用戶信息與連接信息,加解密規(guī)則管理單元108根據(jù)用戶信息和TCP四元組信息在加解密規(guī)則列表110中添加一條新紀錄,作為加解密的依據(jù)。對于TCP數(shù)據(jù)包,由TCP協(xié)議解析單元106來獲取TCP數(shù)據(jù)包的四元組信息和關(guān)鍵字段,TCP四元組信息與規(guī)則列表110中的信息進行匹配,若匹配成功并且包含上傳文件關(guān)鍵字段,則此TCP數(shù)據(jù)流開始由數(shù)據(jù)加解密單元112進行加密處理,若匹配成功并且包含下載文件關(guān)鍵字段,則此TCP數(shù)據(jù)流開始由數(shù)據(jù)加解密單元112進行解密。加密和解密都是針對TCP的payload部分。
最后,輸出模塊104根據(jù)預(yù)先定義的各個輸入端口與各個輸出端口上的對應(yīng)規(guī)則,將非TCP數(shù)據(jù)包、不匹配不含HTTP協(xié)議的TCP數(shù)據(jù)包和經(jīng)過處理的TCP數(shù)據(jù)包輸出到S3服務(wù)器,且輸出的數(shù)據(jù)包長度不改變。
本發(fā)明實施例通過在用戶與服務(wù)器之間設(shè)置加解密系統(tǒng),卸載了用戶與服務(wù)器的加密負荷,實現(xiàn)穩(wěn)定高效的加解密框架。
專業(yè)人員應(yīng)該還可以進一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認為超出本發(fā)明的范圍。
以上所述的具體實施方式,對本發(fā)明的目的、技術(shù)方案和有益效果進行了進一步詳細說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施方式而已,并不用于限定本發(fā)明的保護范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。