• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于分布式存儲系統(tǒng)的數(shù)據(jù)認(rèn)證和安全保障研究

      2015-06-24 13:56:57王丹輝
      關(guān)鍵詞:數(shù)據(jù)文件數(shù)據(jù)安全密鑰

      王丹輝

      基于分布式存儲系統(tǒng)的數(shù)據(jù)認(rèn)證和安全保障研究

      王丹輝

      (中國電子科學(xué)研究院,北京 100041)

      在業(yè)界通用的分布式存儲系統(tǒng)中,對于數(shù)據(jù)安全性的防護(hù)是薄弱和缺失的。在其被用于解決云端的數(shù)據(jù)存儲時(shí),由于數(shù)據(jù)安全性要求較高,這一問題極為明顯。本文以HDFS系統(tǒng)為例,提出了一種有效的基于分布式存儲系統(tǒng)的數(shù)據(jù)安全保障方案。方案為文件存儲提供AES加密機(jī)制,給出一種能夠與分布式計(jì)算系統(tǒng)無縫結(jié)合的文件加密格式,同時(shí)提出了一種基于涉密數(shù)據(jù)的授權(quán)鑒權(quán)方式,并持續(xù)監(jiān)控審計(jì)。

      分布式;存儲;數(shù)據(jù)安全;HDFS

      0 引 言

      隨著大數(shù)據(jù)時(shí)代的到來,業(yè)界越來越傾向于使用分布式存儲系統(tǒng)去管理、存儲數(shù)據(jù)文件。分布式存儲系統(tǒng)諸如Google文件系統(tǒng)(Google File System,GFS)、Apache Hadoop分布式文件系統(tǒng)(Hadoop Distribute File System,HDFS)[1],通過使用大規(guī)模的廉價(jià)機(jī)器硬件,將數(shù)據(jù)文件拆分存儲,以及提升整體讀寫吞吐等技術(shù)手段,在數(shù)據(jù)存儲規(guī)模、性能、價(jià)格、以及穩(wěn)定性上獲得了極大的成功。鑒于此類分布式存儲系統(tǒng)的優(yōu)異表現(xiàn),業(yè)界的文件存儲系統(tǒng)大多遵循這一體系架構(gòu)實(shí)現(xiàn)。

      另一方面,開放云的興起使得多用戶共享集群隔離存儲的需求快速增長,分布式存儲系統(tǒng)的數(shù)據(jù)安全性也越來越引起人們的關(guān)注和重視。但在現(xiàn)有的這種分布式存儲體系模式下,數(shù)據(jù)存儲存在很多的風(fēng)險(xiǎn)和問題,一旦系統(tǒng)被攻破,將會(huì)造成極大的數(shù)據(jù)泄露風(fēng)險(xiǎn)和損失。

      其中HDFS因?yàn)樵跇I(yè)界使用最為廣泛,其數(shù)據(jù)安全問題影響范圍最廣,也最具共性。本文將以HDFS系統(tǒng)為例,分析其存在的數(shù)據(jù)安全性問題,并針對這些問題,提出了一套基于分布式存儲系統(tǒng)的數(shù)據(jù)認(rèn)證和安全保障。

      1 HDFS分布式存儲系統(tǒng)的數(shù)據(jù)安全性

      Hadoop是Apache的一個(gè)開源項(xiàng)目[2],用來支持?jǐn)?shù)據(jù)密集型的分布式應(yīng)用,能夠支持上千個(gè)節(jié)點(diǎn)以及PB級數(shù)據(jù)量的運(yùn)算[3]。Hadoop主要由HDFS和MapReduce引擎兩部分組成,最底層是HDFS,它存儲Hadoop集群中所有存儲節(jié)點(diǎn)上的文件[4]。HDFS是為以流式數(shù)據(jù)訪問模式存儲超大文件而設(shè)計(jì)的文件系統(tǒng)[5],為Hadoop提供了數(shù)據(jù)的可靠性。第1節(jié)以HDFS為例分析現(xiàn)有的分布式存儲系統(tǒng)的安全特性。

      1.1整體組件架構(gòu)

      HDFS采用的是Master/Slave主從架構(gòu)模型,如圖1所示,一個(gè)HDFS集群包含一個(gè)單獨(dú)的Master節(jié)點(diǎn)NameNode和一系列Slave節(jié)點(diǎn)DataNode。NameNode是中心服務(wù)器,充當(dāng)管理者的角色,主要負(fù)責(zé)管理HDFS文件系統(tǒng),接受來自客戶端的請求;DataNode是工作節(jié)點(diǎn),主要用于存儲數(shù)據(jù)文件,文件數(shù)據(jù)的讀寫是直接在DataNode上進(jìn)行的。HDFS將一個(gè)文件分割成多個(gè)獨(dú)立的Block,這些Block可能存儲在一個(gè)或多個(gè)DataNode上,DataNode同時(shí)為用戶或NameNode提供定位Block的服務(wù)。

      圖1 HDFS架構(gòu)圖

      1.2文件存儲形式

      如圖2所示,對于存儲于HDFS上的數(shù)據(jù)文件,HDFS會(huì)將文件分割成數(shù)個(gè)Block并將其存儲到不同的DataNode中。在創(chuàng)建Block的時(shí)候,NameNode服務(wù)器會(huì)存儲這些Block和文件的映射關(guān)系,Data-Node服務(wù)器把Block保存在本地硬盤上,并且根據(jù)指定的Block標(biāo)識和字節(jié)范圍來讀寫塊數(shù)據(jù)。同時(shí)為了保障數(shù)據(jù)的安全性和完整性,HDFS提供了多副本主從復(fù)制,從而保證了數(shù)據(jù)的Block的副本存儲于多個(gè)DataNode機(jī)器上。

      圖2 HDFS文件存儲形式

      1.3身份識別機(jī)制

      HDFS系統(tǒng)實(shí)現(xiàn)了一個(gè)和可移植操作系統(tǒng)接口(Portable Operating System Interface,POSIX)系統(tǒng)類似的文件和目錄的權(quán)限模型。每個(gè)文件或目錄有一個(gè)所有者(Owner)和一個(gè)組(Group),文件或目錄對其所有者、同組的其他用戶以及所有其他用戶分別有著不同的權(quán)限[6]。由于不涉及可執(zhí)行文件的概念,HDFS權(quán)限模型與POSIX模型不同,其中的文件和目錄都不設(shè)特殊權(quán)限位sticky、setuid和setgid。HDFS文件或目錄的權(quán)限就是它的模式,當(dāng)新建一個(gè)文件或目錄,它的所有者即客戶進(jìn)程的用戶,它的所屬組是父目錄的組[6]。

      訪問HDFS的用戶進(jìn)程的標(biāo)識由用戶名和組名列表兩部分組成,當(dāng)用戶進(jìn)程每訪問一個(gè)文件或目錄時(shí),HDFS將對用戶進(jìn)行權(quán)限檢查。權(quán)限檢查過程如下:

      (1)如果用戶為此文件或目錄的所有者,則檢查所有者的訪問權(quán)限;

      (2)如果此文件或目錄關(guān)聯(lián)的組在組名列表中出現(xiàn),則檢查組用戶的訪問權(quán)限;

      (3)否則檢查此文件或目錄其他用戶的訪問權(quán)限;

      (4)如果訪問權(quán)限不合法,則權(quán)限檢查失敗,也就是說客戶的操作失敗。

      然而一方面,這種權(quán)限檢查方式無法抵抗用戶假冒其他用戶身份的行為,另一方面,這種用戶身份識別機(jī)制以及權(quán)限模型設(shè)定,使得一個(gè)有組織的用戶群體能夠共享文件系統(tǒng)中組群用戶的資源。

      2 業(yè)界常見的數(shù)據(jù)安全改進(jìn)思路

      從第一節(jié)可以看出,在設(shè)計(jì)之初,類似HDFS的分布式存儲系統(tǒng)并沒有很好的考慮系統(tǒng)的數(shù)據(jù)安全問題。隨著分布式存儲系統(tǒng)在大數(shù)據(jù)潮流之下,應(yīng)用場景越來越廣泛,其本身存在的安全問題也愈發(fā)的凸顯。大量的安全漏洞及安全風(fēng)險(xiǎn),也促使業(yè)界和廠商更加關(guān)注于HDFS的數(shù)據(jù)安全,并提供了一些解決方案和思路。

      2.1業(yè)界和廠商提供的HDFS安全解決方案

      業(yè)界和廠商提供的HDFS安全解決方案,大多以HDFS“安全加強(qiáng)版”的形式提供,通過修改HDFS代碼和安全架構(gòu)解決HDFS的數(shù)據(jù)安全問題。比較著名的有intel的安全版hadoop,IBMInfoSphere Optim Data Masking,Cloudera Sentry,DataGuise for Hadoop,Revelytix Loom、Zettaset安全數(shù)據(jù)倉庫,Data-Stax企業(yè)版等。另外,Apache社區(qū)也提供了類似的Apache Accumlo,Knox網(wǎng)關(guān),Rhino項(xiàng)目用于解決HDFS的數(shù)據(jù)安全問題。

      幾乎所有參與Hadoop項(xiàng)目的廠商都提供了自己的解決方案和產(chǎn)品,但這些方案并不可以平滑遷移到任意HDFS版本的集群上,更多的是以整體安全方案的形式售賣。

      2.2解決方案安全性分析

      業(yè)界和廠商提供的HDFS安全解決方案,主要是從HDFS文件訪問控制、數(shù)據(jù)塊訪問控制、網(wǎng)絡(luò)加密三個(gè)方向來增強(qiáng)HDFS的安全性。

      (1)HDFS文件訪問控制

      Hadoop 0.20之后的版本引入了Kerberos RPC(SASL/GSSAPI)的機(jī)制,也就是說可以在RPC連接上做相互認(rèn)證,通過這個(gè)機(jī)制,就可以實(shí)現(xiàn)RPC連接上的用戶、進(jìn)程以及Hadoop服務(wù)的相互認(rèn)證。而基于這個(gè)認(rèn)證,可以通過NameNode根據(jù)文件許可(用戶及組的訪問控制列表(ACLs))強(qiáng)制執(zhí)行對HDFS中文件的訪問控制,從而有效的做到HDFS文件級別的訪問控制(ACL)。

      (2)數(shù)據(jù)塊的訪問控制

      一個(gè)存儲于HDFS上的文件是由落在DataNode上的幾個(gè)數(shù)據(jù)塊組成的。對于數(shù)據(jù)塊的安全性,業(yè)界的解決思路基本是通過令牌的形式,對其訪問權(quán)限進(jìn)行控制。當(dāng)需要訪問數(shù)據(jù)塊時(shí),NameNode會(huì)根據(jù)HDFS的文件許可做出訪問控制決策,并發(fā)出一個(gè)塊訪問令牌,可以把這個(gè)令牌交給DataNode用于塊訪問請求。這種令牌機(jī)制保證對所有對于數(shù)據(jù)塊的訪問行為增加了權(quán)限控制。

      (3)網(wǎng)絡(luò)加密

      網(wǎng)絡(luò)加密是指在數(shù)據(jù)的傳輸過程中,通過SSL在網(wǎng)絡(luò)傳輸層進(jìn)行加密。這種手段主要是用于保證HDFS文件在被瀏覽器打開瀏覽、client端下載、API操作、集群間文件數(shù)據(jù)傳輸?shù)冗^程中,數(shù)據(jù)本身不被竊取。在業(yè)界和廠商的解決方案中,更加偏向于通過權(quán)限控制和網(wǎng)絡(luò)加密的方式解決分布式文件系統(tǒng)的安全問題。

      通過上述解決方案安全性分析,可以得知業(yè)界和廠商提供的解決方案存在以下的幾點(diǎn)缺陷:

      ①無法適用于所有的HDFS版本,只能在特定版本中提供安全保障;

      ②沒有解決數(shù)據(jù)文件在存儲過程中的安全保障;

      ③無法對文件持續(xù)審計(jì)。

      3 基于分布式存儲系統(tǒng)數(shù)據(jù)安全的解決思路

      數(shù)據(jù)的安全保障,可以抽象為權(quán)限控制安全保障,靜態(tài)數(shù)據(jù)安全保障,數(shù)據(jù)審計(jì)安全保障。具體來說,權(quán)限控制安全保障需要解決數(shù)據(jù)訪問的授權(quán)和鑒權(quán);靜態(tài)數(shù)據(jù)安全保障需要保證數(shù)據(jù)文件在存儲傳輸過程中被非法獲取后信息不泄露;數(shù)據(jù)安全審計(jì)需要保證能夠持續(xù)追蹤數(shù)據(jù)的使用情況。

      根據(jù)上述內(nèi)容描述,可以得出HDFS系統(tǒng)中的數(shù)據(jù)存儲存在以下三點(diǎn)安全問題:

      (1)數(shù)據(jù)安全過分依賴于Master節(jié)點(diǎn)的權(quán)限管理

      現(xiàn)有的HDFS系統(tǒng)中,所有的數(shù)據(jù)安全措施只局限于Master節(jié)點(diǎn),也就是說只要通過了權(quán)限系統(tǒng)的認(rèn)證,數(shù)據(jù)就不存在任何其它安全防護(hù)。而由于權(quán)限系統(tǒng)是一個(gè)簡單的user:password系統(tǒng),容易被攻破,同時(shí)本身不具有任何密碼的防護(hù),因此單純依賴權(quán)限系統(tǒng)做數(shù)據(jù)安全防護(hù)是存在很多漏洞的。

      (2)數(shù)據(jù)文件本身沒有做加密處理

      在HDFS系統(tǒng)中,所有的數(shù)據(jù)文件被切割成多個(gè)Block文件,以明文形式存儲在各個(gè)DataNode機(jī)器上,這種存儲方式存在極大風(fēng)險(xiǎn)。一旦DataNode所在機(jī)器被登錄后,攻擊者可以繞過中心的權(quán)限系統(tǒng),讀取走所有涉密數(shù)據(jù)文件。

      (3)數(shù)據(jù)文件的訪問使用缺乏審計(jì)和記錄手段

      在HDFS系統(tǒng)中,涉密數(shù)據(jù)文件的訪問使用缺乏有效的審計(jì)和記錄手段,如在某一時(shí)段哪個(gè)用戶讀取了這份數(shù)據(jù),此類信息不會(huì)被記錄下來。并且,當(dāng)數(shù)據(jù)文件被拷貝到其他集群后,系統(tǒng)更加無法控制數(shù)據(jù)文件的擴(kuò)散使用。

      基于以上問題,HDFS系統(tǒng)在數(shù)據(jù)安全的保障上存在設(shè)計(jì)缺陷,而廠商和業(yè)界的提供的解決方案在應(yīng)用中也存在一些缺陷。本文以AES加密算法為例,使用密碼分組鏈接模式(CBC,Cipher Block Chaining),從基于AES的單文件認(rèn)證和加密、與分布式計(jì)算系統(tǒng)的協(xié)同工作、以及涉密文件使用的持續(xù)審計(jì)三個(gè)方面,對HDFS系統(tǒng)的數(shù)據(jù)安全性進(jìn)行優(yōu)化改進(jìn)。

      4 基于AES的文件認(rèn)證和加密

      高級加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES),又稱Rijndael加密法,是美國聯(lián)邦政府采用的一種區(qū)塊加密標(biāo)準(zhǔn)。第4節(jié)介紹對單文件級別的文檔加密和轉(zhuǎn)換的具體過程和方法。

      4.1單文件加密過程

      優(yōu)化的HDFS數(shù)據(jù)安全架構(gòu)由HDFS系統(tǒng)、密鑰服務(wù)器、以及數(shù)據(jù)轉(zhuǎn)換系統(tǒng)組成。對于存儲在HDFS系統(tǒng)中的文件,我們會(huì)對數(shù)據(jù)文件進(jìn)行加密處理,如圖3所示,具體流程如下:

      (1)將數(shù)據(jù)文件寫入到HDFS系統(tǒng);

      (2)將數(shù)據(jù)文件寫入消息即時(shí)通知數(shù)據(jù)轉(zhuǎn)換系統(tǒng);

      (3)數(shù)據(jù)轉(zhuǎn)換系統(tǒng)生成一個(gè)和該寫入文件相關(guān)的令牌Token,并將其發(fā)送給密鑰服務(wù)器。Token本身具有時(shí)效性,如24小時(shí)或1個(gè)月;

      (4)密鑰服務(wù)器使用Token生成一個(gè)相對應(yīng)的密鑰,并將密鑰返回給數(shù)據(jù)轉(zhuǎn)換系統(tǒng)。這個(gè)密鑰就是對數(shù)據(jù)文件進(jìn)行加密時(shí)使用的密鑰;

      (5)獲取加密密鑰后,數(shù)據(jù)轉(zhuǎn)換系統(tǒng)向HDFS系統(tǒng)發(fā)出申請并讀取數(shù)據(jù)文件;

      (6)數(shù)據(jù)轉(zhuǎn)換系統(tǒng)對明文存儲的數(shù)據(jù)文件進(jìn)行數(shù)據(jù)格式及加密轉(zhuǎn)換;

      (7)文檔轉(zhuǎn)換完成后,加密后的數(shù)據(jù)文件被回填到HDFS系統(tǒng)上;

      (8)HDFS系統(tǒng)使用加密后的數(shù)據(jù)文件替換原有的數(shù)據(jù)文件,完成數(shù)據(jù)加密過程。

      圖3 優(yōu)化的HDFS數(shù)據(jù)安全架構(gòu)圖

      在整體的數(shù)據(jù)加密過程中,除原有的HDFS系統(tǒng)外,以上方案引入了數(shù)據(jù)轉(zhuǎn)換系統(tǒng)和密鑰服務(wù)器兩個(gè)組件。這兩個(gè)組件均為輕量級的外掛組件,不會(huì)顯著增加原有HDFS系統(tǒng)的復(fù)雜性,其中:

      (1)密鑰服務(wù)器用于存儲文件所涉及到的密鑰記錄,每個(gè)加密文件對應(yīng)一個(gè)密鑰記錄,包含用戶信息,token信息,文件信息,有效期信息,權(quán)限信息,AES密鑰信息。在實(shí)現(xiàn)上該密鑰服務(wù)器為一臺部署了數(shù)據(jù)庫服務(wù)(如mysql)的機(jī)器。密鑰服務(wù)器的安全性由機(jī)器密碼,數(shù)據(jù)庫密碼,網(wǎng)絡(luò)訪問限制(白名單)來共同保證。具體的數(shù)據(jù)格式參見第4.2節(jié)。

      (2)數(shù)據(jù)轉(zhuǎn)換系統(tǒng)用于將非加密文件格式轉(zhuǎn)換為加密格式,加密格式和過程參見第4.2和4.3節(jié)。

      4.2文件加密格式

      在密鑰服務(wù)器上,每一個(gè)文件在加密后都會(huì)存儲以下形式的一條記錄。

      User Token Dataset(File/path)Deadline Chmod AESKEY

      每個(gè)字段的具體含義如下:

      (1)User:文件所屬的用戶;

      (2)Token:Token會(huì)返回給用戶,用戶使用Token來獲取解密后的數(shù)據(jù)文件;

      (3)Dateset:加密文件或路徑;

      (4)Deadline:Token的生存周期,也就是說超過Deadline后,整個(gè)Token就失效,用戶必須重新申請Token;

      (5)Chmod:對于該文件的操作權(quán)限;

      (6)AESKEY:AES加密密鑰;

      在用戶對文件的訪問過程中,文件的解密權(quán)限完全由密鑰服務(wù)器控制。用戶申請獲取某一個(gè)文件的操作Token,在Token有效期內(nèi)具有對該文件的解密和讀寫等操作權(quán)限。未獲取權(quán)限的用戶在HDFS系統(tǒng)上直接看到的文件均為無法直接讀取的加密格式。

      對于一個(gè)具有如下格式的原始數(shù)據(jù)文件,

      <記錄行1>< 換行符>

      <記錄行2>< 換行符>

      <記錄行3>< 換行符>

      在經(jīng)過數(shù)據(jù)轉(zhuǎn)換系統(tǒng)加密轉(zhuǎn)換后會(huì)被轉(zhuǎn)化為以下的數(shù)據(jù)格式:

      <文件元信息><加密后記錄行1長度><AES加密后的記錄行1><加密后記錄行2長度><AES加密后的記錄行2><加密后記錄行3長度><AES加密后的記錄行3>…<結(jié)束符>

      也就是說原始的數(shù)據(jù)文件會(huì)按行進(jìn)行切割,并使用AES進(jìn)行加密,而加密后不再區(qū)分文件行,加密文件被糅合到一起存儲。這樣做的優(yōu)點(diǎn)在于,數(shù)據(jù)文件最終會(huì)被HDFS系統(tǒng)切割成一個(gè)個(gè)Block存儲,這樣假如用戶獲得了一個(gè)Block,即使用戶同時(shí)擁有AES key,也無法解析出文件片段,只有獲取所有Block和密鑰才能對文件進(jìn)行解密操作。

      4.3加密模式下的數(shù)據(jù)訪取

      在這種加密模式下,密鑰服務(wù)器成為數(shù)據(jù)安全架構(gòu)最重要的核心組件。對于用戶而言,要想獲取到一個(gè)加密文件中的內(nèi)容需要按以下流程操作:

      (1)通過HDFS的權(quán)限系統(tǒng),獲取需要的被加密數(shù)據(jù)文件;

      (2)通過預(yù)先申請的Token,與密鑰服務(wù)器通話,進(jìn)行獲取密鑰的驗(yàn)證;

      (3)在Token驗(yàn)證通過后,從密鑰服務(wù)器獲取到密鑰;

      (4)在取得密鑰后進(jìn)行文件的逆轉(zhuǎn)換過程;

      (5)獲取到解密后的文件。

      4.4可行性實(shí)驗(yàn)

      針對上述的數(shù)據(jù)加密方式,從算法可行性上,我們基于以下實(shí)驗(yàn)環(huán)境進(jìn)行了測試實(shí)驗(yàn)。

      4.4.1實(shí)驗(yàn)環(huán)境信息

      (1)CPU信息:

      Model name Intel(R)Xeon(R)CPU E5-2620 0@2.00GHz Processor 12 CPU MHz 2001.000 Cache size 15360 KB

      (2)操作系統(tǒng)信息:

      Red Hat4.4.4-13

      (3)內(nèi)核信息:

      2.6.32-1-13-0-0

      (4)實(shí)驗(yàn)數(shù)據(jù):

      使用Hadoop自帶的randomTextWriter生成,每行數(shù)據(jù)中均由英文單詞拼接構(gòu)成。

      (5)加密算法:AES-128

      4.4.2實(shí)驗(yàn)過程

      (1)單行數(shù)據(jù)加密效率

      假設(shè)每個(gè)文件中只包含一個(gè)數(shù)據(jù)行,分別設(shè)定數(shù)據(jù)行長度為1 K,10 K,100 K,1 M,10 M,使用第4節(jié)中的加密算法對文件進(jìn)行加密操作,并記錄耗時(shí)。

      實(shí)驗(yàn)數(shù)據(jù)如下:

      1 K 10 K 100 K 1 M10 M文件加密耗時(shí)(ms)行數(shù)據(jù)長度98 278 902 3981 38912

      從單行數(shù)據(jù)的加密效率來看,整體上通過這種方式對于數(shù)據(jù)進(jìn)行加密,可以滿足速度需求的。

      (2)多行數(shù)據(jù)加密效率

      假設(shè)每個(gè)文件中只包含多個(gè)數(shù)據(jù)行,分別設(shè)定數(shù)據(jù)行長度為1 K,10 K,100 K,1 M,10 M,設(shè)定文件總大小為64 M,使用第4節(jié)中的加密算法對文件進(jìn)行加密操作,并記錄耗時(shí),如圖4所示。

      實(shí)驗(yàn)數(shù)據(jù)如下:

      1 K 10 K 100 K 1 M10 M文件加密耗時(shí)(s)行數(shù)據(jù)長度4 653 1 354 469 199 189

      圖4 多行數(shù)據(jù)加密效率圖

      從實(shí)驗(yàn)數(shù)據(jù)可以看出,在文件級別的加密效率上,對于一個(gè)64 M的文件,加密的整體時(shí)間會(huì)隨著文件行記錄長度的增大而明顯縮小,當(dāng)文件中行記錄大于500 K時(shí),加密耗時(shí)會(huì)維持在500 s內(nèi),當(dāng)文件中行記錄大于1 M時(shí),加密耗時(shí)會(huì)維持在200 s內(nèi)。所以從單文件的角度看,加密耗時(shí)在可接受范圍內(nèi)。

      (3)集群整體加密效率

      在大數(shù)據(jù)處理中,由于存在分布式集群的原因,集群的整體計(jì)算能力是充足且廉價(jià)的。我們假設(shè)有100個(gè)節(jié)點(diǎn)的Hadoop集群是用于做數(shù)據(jù)的加密工作。那么按照實(shí)驗(yàn)2中的數(shù)據(jù)進(jìn)行假設(shè)推算,可以得出在集群條件下的整體加密效率,如圖5所示。

      1 K 10 K 100 K 1 M10 M整體數(shù)據(jù)加密的IOPS(MB/s)行數(shù)據(jù)長度1.375 457 4.726 736 13.646 06 32.160 8 33.862 43

      圖5 集群整體加密效率圖

      可以看出在一個(gè)100節(jié)點(diǎn)的Hadoop集群中,整體的加密效率可以達(dá)到30MB/s,整體效率完全可以滿足正常的需求。

      4.4.3實(shí)驗(yàn)結(jié)論

      從上述的測試實(shí)驗(yàn)中可以看出,在分布式計(jì)算中,計(jì)算能力是充足且廉價(jià)的。通過犧牲計(jì)算能力,用于數(shù)據(jù)文件加密,獲取更高的數(shù)據(jù)安全性是可行的。

      由于加密過程和數(shù)據(jù)訪取過程是針對單文件級別進(jìn)行的,因此在HDFS系統(tǒng)中的數(shù)據(jù)可以選擇是否進(jìn)行加密,也就是說對于部分有加密需求的數(shù)據(jù)可以通過上述方式加密管理,對于一些非重要數(shù)據(jù)也可以選擇不加密,仍以原文件格式存儲。

      5 與分布式計(jì)算系統(tǒng)的協(xié)同工作

      通過第3節(jié)的描述可知,我們在文件級別進(jìn)行了數(shù)據(jù)的加密工作,并通過密鑰服務(wù)器和數(shù)據(jù)轉(zhuǎn)換系統(tǒng)提升了HDFS的安全級別,然而這一過程也加大了數(shù)據(jù)獲取的難度和復(fù)雜度。HDFS上層更多的支持了分布式計(jì)算系統(tǒng),因此數(shù)據(jù)加密本身同時(shí)需要考慮和分布式計(jì)算系統(tǒng)間的協(xié)同工作。

      在分布式計(jì)算系統(tǒng)中,讀寫HDFS主要是通過ImportFormat和OutputFormat類來操作,所以我們通過實(shí)現(xiàn)一個(gè)特殊的AesInputFormat和AesOutputFormat類來實(shí)現(xiàn)和分布式計(jì)算系統(tǒng)的協(xié)同工作。具體來說,這部分需要實(shí)現(xiàn)兩個(gè)功能:首先,用戶在計(jì)算作業(yè)中傳入合適的Token時(shí),經(jīng)過加密的數(shù)據(jù)能夠被解密和讀出;其次,解密后的數(shù)據(jù)能夠直接提供給計(jì)算程序使用。這兩個(gè)功能可以通過實(shí)現(xiàn)AesInputFormat、AesOutputFormat、AesRecordReader、及AesRecordWriter四個(gè)類來完成。

      (1)AesInputFormat類

      實(shí)現(xiàn)createRecordReader方法,根據(jù)文件后綴,決定返回LineRecordReader還是AesRecordReader對象。

      (2)AesRecordReader類

      實(shí)現(xiàn)initialize方法,根據(jù)aes.token和split.toString(),判斷用哪個(gè)token去獲取密鑰,在和密鑰服務(wù)器交互之后,獲取密鑰后寫入jobconf。

      實(shí)現(xiàn)nextKeyValue()、getCurrentKey()、getCurrentValue()三個(gè)方法,獲取用AES流解密后的記錄。

      (3)AesOutputFormat類

      重載構(gòu)造函數(shù),在密鑰服務(wù)器上增加output文件的加密記錄,用于追蹤文件流轉(zhuǎn)情況,records記錄為<token:input-output>。

      實(shí)現(xiàn)getRecordReader方法,返回AesRecord-Writer對象。

      (4)AesRecordWriter類

      實(shí)現(xiàn)write方法,以AES加密的形式寫出數(shù)據(jù),key和value單獨(dú)加密。

      通過實(shí)現(xiàn)AesInputFormat、AesOutputFormat、AesRecordReader、及AesRecordWriter四個(gè)類,使得用戶在分布式計(jì)算作業(yè)中可以直接使用加密后的數(shù)據(jù)文件。

      6 涉密文件使用的持續(xù)審計(jì)

      在涉密文件的管理中還有一個(gè)比較重要的部分就是審計(jì),具體來說就是能夠持續(xù)檢測到文件在什么時(shí)候被誰訪問,以及在文件被復(fù)制到其他集群后仍然可以被持續(xù)監(jiān)控和記錄。這些記錄文件需要最終被整理收集,用于涉密文件的持續(xù)審計(jì)。

      如前面兩節(jié)所述,所有的加密后的數(shù)據(jù)文件在被讀取操作時(shí),均需要通過Token與密鑰服務(wù)器聯(lián)系獲取到AES密鑰,在這種模式下,可以在密鑰服務(wù)器上記錄這些訪取日志來做持續(xù)的數(shù)據(jù)使用審計(jì)工作。記錄信息如下:

      (4)Date:操作的時(shí)間。

      通過這種方式可以比較好的實(shí)現(xiàn)數(shù)據(jù)訪取記錄的審計(jì)工作。

      7 結(jié) 語

      本研究以HDFS系統(tǒng)為例,通過討論分布式存儲系統(tǒng)的整體架構(gòu)、文件存儲形式、身份識別機(jī)制等要點(diǎn),分析得出HDFS系統(tǒng)在數(shù)據(jù)安全保障上存在的安全性問題。并針對已知安全問題,提出了一種有效的基于分布式存儲系統(tǒng)的數(shù)據(jù)安全保障方案。方案以分組密碼AES為例,從基于AES的單文件認(rèn)證和加密,與分布式計(jì)算系統(tǒng)的協(xié)同工作,涉密文件使用的持續(xù)審計(jì)等方面,對HDFS系統(tǒng)的數(shù)據(jù)安全性做出了優(yōu)化改進(jìn)。

      [1] 郝樹魁.Hadoop HDFS和MapReduce架構(gòu)淺析[J].郵電設(shè)計(jì)技術(shù),2012,07:37-42.

      [2] MICHAEL Armbrust,ARMANDO Fox.Above the Clouds:A Berkeley View of Cloud Computing[R].California:Electrical Engineering and Computer Sciences,2009.

      [3] 仇李寅,邱衛(wèi)東,蘇芊,等.基于Hadoop的分布式哈希算法實(shí)現(xiàn)[J].信息安全與通信保密,2011,11:54-56.

      [4] WHITE Tom.Hadoop:The Definitive Guide[M].California:O’Reilly,2009.

      [5] JIMMY Lin,CHRISDyer.Data-Intensive Text Processing with MapReduce[M].Maryland:Human Language Technologies,2010.

      [6] Hadoop.HDFS權(quán)限管理用戶指南. http://hadoop.apache.org/docs/r1.0.4/cn/hdfs-permissions-guide.htm l,2013.

      各個(gè)字段對應(yīng)的含義如下:

      (1)Token:操作數(shù)據(jù)集使用的Token;

      (2)SrcDataSet:操作的數(shù)據(jù)集;

      (3)Action:具體的操作;

      Data Authentication and Security Assurance Based on Distributed Storage System

      WANG Dan-hui
      (China Academy of Electronics and Information Technology,Beijing 100041,China)

      In the general distributed storage systems,lack of data securitymeasures is a serious problem. Due to the high demand of data security,it′s difficult to dealwith security issues in Cloud storage by the distributed storage systems.An Effective data security scheme based on distributed storage system is proposed,in which the AES encryption mechanism is used in document storage.The File encryption format in this scheme can be combined seam lessly with distributed computing system.This scheme also proposes an Authorization mode based on confidential data,and the data will bemonitored continuously.

      distributed;storage;data security;HDFS

      TP309

      :A

      :1673-5692(2015)06-613-07

      10.3969/j.issn.1673-5692.2015.06.010

      2015-09-07

      2015-10-30

      王丹輝(1984—),山東濟(jì)南人,工程師,博士,主要研究方向?yàn)樾畔踩蛿?shù)據(jù)服務(wù);

      E-mail:wangdanhui2014@163.com

      猜你喜歡
      數(shù)據(jù)文件數(shù)據(jù)安全密鑰
      探索企業(yè)創(chuàng)新密鑰
      密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
      云計(jì)算中基于用戶隱私的數(shù)據(jù)安全保護(hù)方法
      電子制作(2019年14期)2019-08-20 05:43:42
      建立激勵(lì)相容機(jī)制保護(hù)數(shù)據(jù)安全
      數(shù)據(jù)文件恢復(fù)專題問答
      數(shù)據(jù)文件安全管控技術(shù)的研究與實(shí)現(xiàn)
      一種對稱密鑰的密鑰管理方法及系統(tǒng)
      SQL數(shù)據(jù)文件恢復(fù)工具
      基于ECC的智能家居密鑰管理機(jī)制的實(shí)現(xiàn)
      大數(shù)據(jù)云計(jì)算環(huán)境下的數(shù)據(jù)安全
      電子制作(2017年20期)2017-04-26 06:57:48
      金寨县| 漳平市| 庄河市| 吉林市| 大田县| 山阳县| 荣昌县| 云林县| 昌吉市| 平定县| 四子王旗| 霍城县| 阿坝县| 大邑县| 察隅县| 南华县| 合水县| 安乡县| 揭东县| 株洲市| 日照市| 榆林市| 靖安县| 延长县| 蒲城县| 华阴市| 汨罗市| 清水县| 华坪县| 南京市| 临清市| 龙江县| 韶山市| 罗江县| 深水埗区| 芜湖县| 吕梁市| 疏附县| 尼木县| 中山市| 阳泉市|