999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于HDFS的云存儲安全技術研究

2013-09-11 03:21:04琦,凌
計算機工程與設計 2013年8期
關鍵詞:用戶

余 琦,凌 捷

(廣東工業大學 計算機學院,廣東 廣州510006)

0 引 言

云存儲作為未來信息存儲的一種重要方式,其數據安全性問題也是人們關注的焦點。HDFS(hadoop distributed file system)是一個應用廣泛的云計算開源分布式文件系統,支持高容錯且可以部署在低成本的計算機上,提供高吞吐量的訪問,適用于一些具有大量數據處理的應用程序。但是HDFS存在許多安全性方面的問題,如:用戶認證問題、DataNode認證問題、文件存儲與傳輸的機密性問題。目前,國內外對于云存儲安全方面的研究還比較少。維護數據完整性,Cachin等[1]曾提出采用加密工具的方法。Bower等[2]提出分布式加密系統解決數據機密性問題。Weatherspoon的 Antiquity[3]與 Kotla的 SafeStore[4]都是典型的研究數據可恢復機制的系統。在國內,針對云計算安全問題,馮登國[5]等學者曾提出相應的安全機制和安全策略,清華大學侯清鏵[6]等設計了一種基于SSL安全連接和DaoLi安全虛擬監控系統保護用戶數據安全性的解決方案。本文根據HDFS文件讀取與寫入的特點,提出基于HDFS輸入輸出流、在客戶端完成數據加解密的安全技術方案,實現了以密文形式進行數據傳輸與存儲,解決了HDFS數據泄露和篡改的問題。

1 HDFS文件安全傳輸存儲體系

HDFS存在數據完整性校驗機制,HDFS會對寫入的所有數據計算校驗和,并在讀取數據時驗證校驗和。客戶端 (即clientnode)在向HDFS寫入數據時會計算并寫入數據的CRC-32(循環冗余校驗)校驗和,然后將數據及其校驗和發送到由一系列datanode組成的管線,datanode負責在驗證收到的數據后存儲數據及其校驗和。clientnode從datanode讀取數據時,同樣需要驗證校驗和,將其與datanode中存儲的校驗和進行比較來完成數據校驗。根據HDFS的完整性校驗機制的特點,本文按以下流程設計基于HDFS文件讀寫的加解密機制。當客戶端向HDFS寫入文件數據時,加密操作在clientnode計算校驗和之前執行;當客戶端從HDFS讀取文件數據時,解密操作在clientnode計算校驗和并完成密文文件讀取后執行。

如圖1所示,在HDFS文件寫入過程中,clientnode通過對DistributedFileSystem對象調用create()函數來創建文件。DistributedFileSystem對namenode創建一個RPC調用。在文件系統的命名空間中創建一個新文件,此時該文件還沒有相應的數據塊。如果需要對存入HDFS的文件進行加密,clientnode首先應當從 (PublicKeyLibrary)公鑰庫中獲取當前用戶的公鑰,執行encrypt操作,獲得存儲文件加密后的密文文件。此時clientnode計算出密文文件的校驗和,DistributedFileSystem向clientnode返回FSdataOutputStream后,clientnode開始寫入密文文件及其校驗和。由FSdataOutputStream封裝而成的DFSOutputStream將clientnode寫入的數據分成一個個數據包,并寫入內部隊列,稱為 “數據隊列” (data queue)。clientnode將這些數據包發送至一系列datanode組成的管線,管線中的最后一個datanode負責驗證校驗和。

圖1 HDFS文件寫入過程

如圖2所示,在HDFS文件讀取過程中,clientnode通過調用FileSystem對象的open()方法來打開希望讀取的文件,這個對象是分布式文件系統的一個實例。DistributedFileSystem通過RPC調用namenode,以確定文件起始塊的位置。DistributedFileSystem返回FSDataInputStream給clientnode并讀取數據。clientnode通過反復的對FSDataInputStream對象調用read()方法,可以完成對datanode數據的讀取。如果需要從HDFS中讀取密文文件,則需要一個對文件進行解密的過程,clientnode需要對FSDataInput-Stream進行讀取,獲取密文文件后,通過自己掌握的私鑰完成對密文文件的解密操作,獲取文件明文。

圖2 HDFS文件讀取過程

2 云存儲安全技術設計

本文選擇 AES (advanced encryption standard)作為文件加密算法,它具有密碼使用相對簡單以及加密速度相對較快等優點,但是AES存在密鑰分配和保密管理方面的問題。RSA作為一種非對稱加密算法,不需要秘密分配密鑰,并且密鑰的安全管理也相對較容易。此外面對HDFS龐大云存儲用戶群體,作為公開密鑰密碼體制中十分重要的一種算法,RSA還可以完成用戶認證和數字簽名。本文提出將兩種加密算法相互結合,運用于HDFS中文件傳輸和存儲的加密,可充分利用AES和RSA兩種算法的優點。

2.1 文件加解密設計

文件數據在傳輸過程中經AES加密處理后,需對加密密鑰做RSA加密,得到的密鑰密文與文件經過加密后的密文相綁定 (云端密文文件存儲格式如圖5所示),通過系統分塊并存儲于HDFS的各存儲節點,這樣不但提高了系統的存儲效率,也可以解決單鑰密碼的密鑰分發問題。在讀取并下載HDFS上的文件時,需要從存儲密文中抽取AES密鑰密文,通過用戶的私鑰進行解密獲得密鑰明文后,再對文件密文解密獲得文件明文。具體過程如下:

(1)如圖3所示,在文件加密上傳過程中,用戶登錄云存儲系統,向HDFS發送傳輸文件請求時,并確定選擇加密傳輸,同時由客戶端隨機密鑰生成器生成一個128bit的AES加密密鑰key。

(2)在客戶端對用戶需要傳輸的文件Plaintext用生成的AES密鑰進行加密獲得文件密文Cipher。

(3)使用該用戶的2048bit的RSA公鑰對該文件的加密密鑰key進行加密,獲得密鑰密文KEY。

(4)將密鑰密文KEY與文件密文Cipher相綁定,按照文件密文儲存格式加上相應的標記位和數據長度標識,存儲于HDFS文件系統。

(5)如圖4所示,在文件解密下載過程中,當用戶從云端HDFS文件系統下載文件時,在獲得從HDFS系統傳輸至客戶端的文件后,系統首先判斷文件的第1比特,若為0,表示文件為明文存儲,去掉標記位后即可還原為原始文件。若為1則表示文件為密文文件,需對其進行解密。

(6)首先應提取文件中128字節 (RSA加密后的大小)的AES密鑰密文KEY,通過用戶個人的RSA私鑰可解密成為AES的明文密鑰key。

(7)通過獲得的AES密鑰key對存儲文件密文的Cipher部分進行AES解密,獲得存儲文件明文。

2.2 文件存儲格式分析

云端文件的存儲格式分為明文存儲和密文存儲兩類。如圖5所示。

圖5 文件存儲格式分類

存儲格式的第1比特為0,表示文件以明文存儲;若為1,表示文件以密文存儲。當文件以密文形式存儲時,在密文前需要增加128字節用于放置經過RSA加密后AES密文密鑰KEY,4個字節用于表示文件的有效數據長度,Cipher代表AES加密后的密文。(由于通過AES文件加密,每1024Byte的明文字節流通過加密后變為1040Byte的密文字節流,因此Cipher部分長度相對于原有的文件明文也有所增長)。

3 安全性分析

首先對于文件傳輸時使用的AES算法進行分析,在未知AES密鑰的前提下,可通過以下幾種攻擊方法對AES安全性進行分析。

(1)窮舉攻擊:窮盡密鑰搜索的平均復雜度為2k-1(k為密鑰長度)次AES加密,針對本方案中的128bit密鑰,需要進行2127次AES加密,計算量十分龐大,因此這種攻擊方法是無效的。

(2)差分攻擊:AES算法采用的寬軌跡策略可有效抵抗差分分析,算法的4輪變換后的差分軌跡預測概率小于或等于2-150,8輪變換后也小于或等于2-300。因此可以確定足夠大的輪數,使所有差分軌跡都小于1/2n-1(n位分組塊的),從而使差分攻擊失效。

(3)內插攻擊:AES算法中F256域,其展開式為:

由于展開式十分復雜,這種攻擊方法也是無效的。

由以上分析可以看出,在未知AES密鑰的前提下,AES算法對目前已知的攻擊具有較好的免疫性。并且由于HDFS是將用戶的文件按一定大小分片存儲,可進一步增加系統的安全性。因此制約其安全性的瓶頸主要在于AES文件加密密鑰的安全性,如何管理和存儲文件加密密鑰是決定方案安全性的重點。在本文設計的技術方案中,對文件傳輸存儲,采用一次一密鑰,存儲的每一個文件都有其不同的AES密鑰,且該AES密鑰對于用戶是透明的。此外由于采用RSA算法對每個文件的AES密鑰進行加密,將加密的AES密鑰密文與文件密文綁定并存儲于HDFS,用戶在整個過程中只需要保管好自己的RSA私鑰即可。由于以上加密是在客戶端 (clientnode)上完成的,因此實現了文件的密文傳輸與密文存儲。下面將對RSA的安全性進行分析[7]。

RSA的安全性依賴于大數的因子分解,這樣攻擊RSA系統的難度就是大整數因子分解的難度。Schroeppel算法作為一種較優越的因子分解算法,經常被研究者用來分析大數因子分解問題。表1為采用Schroeppel算法分解不同長度十進制數n的因子時所需要的運算次數。

表1 用Schroeppel分解因子算法的運算次數

對于RSA系統,如果n的長度更長,因子分解越困難,一般來說,每增加10位二進制數,分解的時間就要加長一倍,密碼就越難以破譯,加密強度就越高。RSA通常選取的密鑰長度為512,1024,2048bit。在本文設計的云存儲安全技術方案中,由于RSA加密的對象為16字節的AES密鑰,因此本方案選擇2048bit的密鑰,就目前而言具有很高的安全性。

4 實驗結果分析

在基于HDFS云存儲數據傳輸過程中引入加解密機制后,除了提高數據安全性之外,應該納入考慮的主要有以下兩個方面:①加密與解密對于文件速率造成的影響;②加密與解密對于客戶端主機性能所造成的影響。本文中的技術方案是在客戶端完成文件的加密與解密,文件由明文加密變為密文后,其長度將發生變化。根據2.2中的文件存儲格式分析,除需要對每個密文文件的文件頭添加128Byte用于存儲AES密文密鑰外,在進行AES文件加密時,每1024Byte的明文字節流通過加密后將變為1040Byte的密文字節流。綜上,密文文件長度相比于加密前明文長度約增長1.56%,因此通過加密,對于HDFS中namenode和datanode會造成約1.56%的額外的開銷。對于HDFS中的clientnode,主要是增加了對于文件的加密與解密的時間開銷和性能損失。文件加解密操作對整個文件傳輸速率的影響主要表現在兩個方面:①對傳輸文件采用AES加解密所用的時間;②對AES密鑰采用RSA加解密所用的時間。

本文實驗中搭建的Hadoop集群由1臺namenode和3臺datanode共4臺服務器組成,客戶端 (clientnode)通過namenode來提交數據。4臺服務器的配置為:Intel酷睿2雙核G630@2700MHzCPU;網絡環境為NetLink BCM5784MGigabit Ethernet;Hadoop 版 本 為 hadoop-1.0.3;Linux版本為ubuntu 11.10;JDK采用1.6.0_17。客 戶 端 配 置 為 Pentium/ (R)Dual-Core CPU E5200@2.5GHz。

表2列出了用AES加密不同大小、不同類型文件以及HDFS傳輸該文件所用時間的實驗數據。

表2 AES加密時間對比

采用RSA加密AES明文密鑰的時間,這里也做了相應的測試。其中128bit的AES密鑰采用RSA加密平均耗時499ms,解密平均耗時32ms。

由以上測試數據可見,文件通過AES加密或者解密耗時與文件類型無關。本文提出的安全方案中RSA算法對于AES密鑰進行加解密時間相對較短,對于文件傳輸總的時間損耗和用戶體驗影響不大。AES文件加密耗時相對較長,會對HDFS造成較大的額外時間開銷。除了對整體傳輸速率的影響外,加解密對于客戶端主機性能的影響也十分重要。以上表中的165.617MB文件為測試用例,表3,表4,圖6,圖7為測試結果。

表3 客戶端向HDFS上傳文件時性能數據

表4 客戶端從HDFS下載文件時性能數據

表3和圖6表現了客戶端在原始、加入加密操作后兩種狀態下CPU占用率與上傳速度之比。表4和圖7表現了客戶端在原始、加入解密操作后兩種狀態下CPU占用率與下載速度之比。由表3和表4可見,在HDFS傳輸過程中加入加解密機制,CPU占用率平均會增加22%~25%,總體文件傳輸速率會降低30%~35%。由圖6和圖7可見引入加解密機制后,客戶端引入了3倍多的性能損失。

由以上結果分析可得,加解密機制雖然會給客戶端主機帶來一定的性能損失,但是保障了數據的機密性,從用戶數據安全性的角度考慮是可以接受的。實現加解密之后,由于加密和解密的時間損耗將會造成傳輸速率的下降。針對這種情況本文提出兩點改進:

(1)如圖8中實現的用戶操作界面,用戶可自主選擇是否對文件進行加密。重要的文件一般是以文本或圖片的形式存在,這些文件一般長度較小,可選擇加密存儲。對于長度較大的文件,如視頻、音頻等文件,用戶可根據實際需要自主選擇是否加密存儲,重要性較低的文件選用明文存儲可提高文件的存取效率。

圖8 用戶操作界面

(2)對于使用云存儲用戶而言,文件的傳輸與存儲過程是透明的。因此針對大文件的存儲傳輸,客戶端可設置相應的傳輸加密緩沖區。在用戶提交傳輸請求后,文件的加解密以及傳輸操作在后臺完成,客戶端只在傳輸完成后給出提示信息即可,可以改善用戶體驗。

5 其他工作

目前存在并被廣泛使用的云存儲分布式文件系統,包括 Google Cloud的 Google File System,Amazon Cloud的Simple Storage Service,MicroSoft Azure的 Live Service和IBM Blue Cloud的 Hadoop Distribute File System 等,都是提供的文件存儲功能,并沒有通過對用戶文件進行加密保護其數據私密性的功能。清華大學候清鏵等提出一種基于SSL安全連接和Daoli安全虛擬監控系統的保護云存儲平臺上用戶數據私密性的解決方案。該方案中,用戶與分布式文件系統進行數據交互時采用SSL安全連接來保障數據傳輸的私密性和安全性,通過在客戶端和元數據服務器 (或塊數據服務器)上部署Daoli安全虛擬監督系統,將用戶數據與操作系統隔離開來,確保用戶數據在分布式文件系統中存儲的安全性。由于需要在客戶端和分布式文件系統中部署SSL和Daoli安全虛擬監督系統,會給客戶端和整個分布式系統帶來性能損失。

在本文提出的解決方案中,在客戶端完成文件的加密與解密,具備以下特點:①可以保障用戶文件數據的傳輸安全性和存儲安全性;②由于是在HDFS Clientnode計算校驗和之前完成加密,所以加密操作不會破壞HDFS原有的數據完整性校驗機制;③在整個分布式文件存儲體系中,將文件的加密與解密操作分散至各客戶端。這樣雖然會給客戶端帶來一定的性能損失,但基本不會給HDFS的namenode和datanode帶來額外的性能損失。這樣可以使整個分布式文件系統在采用數據私密性保護后,面對多用戶、大規模的訪問和文件存取時不會存在較大性能損失;④當前版本的HDFS中,客戶端用戶身份是通過宿主操作系統給出,HDFS客戶端用戶身份認證機制還存在很大缺陷。本文提出的方案引入RSA算法及其公鑰庫,可為這一問題的解決創造前提。

6 結束語

本文根據HDFS數據輸入輸出和完整性校驗的特點,在HDFS的客戶端采用AES算法加密用戶上傳的文件,保障云存儲用戶數據的機密性;通過RSA算法保障AES密鑰的安全性,同時可解決AES單鑰密碼的分發與管理的問題;設計云端文件的兩種存儲格式,實現加密用戶自主選擇;通過性能測試的結果可驗證方案的可行性。在本方案的基礎上可通過設置加密緩沖區來完善用戶體驗,同時也可以進一步引入PKI技術,實現HDFS用戶的CA認證和數字簽名,從而進一步提升HDFS的安全性。

[1]Cachin c,Keidar I,Shraer A.Trusting the cloud[J].ACM SIGACT News,2009,40 (2):455-461.

[2]Bower K D,Juels A A.HAIL:A high availability and integrity layer for cloud storage [C]//Proceedings of the 16th ACM Conference on Computer and Communications Security.New York,USA:ACM,2009:489-501.

[3]Weatherspoos H,Eaton P,Ubiatowiz J.Antiquity:Exploiting a secure log for wide-area distributed storage[C]//Proceeding of the Second ACM European Conference on Computer Systems,New York,USA:ACM,2007:78-89.

[4]Kotla R,Alvisi L,Dahlin M.SafeStore:A durable and practical storage system [C]//Proceeding of the 12th USENIX Annual Technical Conference.Berkeley,USA:USENIX Association,2007:129-142.

[5]FENG Dengguo,ZHANG Min,ZHANG Yan,et al.Study on cloud computing security [J].Journal of Software,2011,22(1):71-83 (in Chinese).[馮登國,張敏,張妍,等.云計算安全研究 [J].軟件學報,2011,22 (1):71-83.]

[6]HOU Qinghua,WU Yongwei,ZHENG Weimin,et al.A method on protection of user data privacy in cloud storage platform [J]Journal of Computer Research and Development,2011,48 (7):1146-1154 (in Chinese). [侯清鏵,武永衛,鄭緯民,等.一種保護云存儲平臺上用戶數據私密性的方法[J].計算機研究與發展,2011,48 (7):1146-1154.]

[7]XIE Jianquan,YANG Chunhua.Several possible parameters options causing encryption failure in RSA algorithm [J].Computer Engineering,2006,32 (16):118-120 (in Chinese).[謝建全,陽春華.RSA算法中幾種可能泄密的參數選擇 [J].計算機工程,2006,32 (16):118-120.]

[8]ZHANG Huanguo,WANG Zhangyi.Introduction to cryptography [M].2nd ed.Wuhan:Wuhan University Press,2009:71-86 (in Chinese). [張煥國,王張宜.密碼學引論 [M].2版.武漢:武漢大學出版社,2009:71-86.]

[9]Tom White.Hadoop:The Definitive Guide[M].ZHOU Minqi,WANG Xiaoling,JIN Cheqing,et al transl.Beijing:Tsinghua University Press,2011 (7):41-128 (in Chinese).[Tom White.Hadoop權威指南 [M].周敏奇,王曉玲,金澈清,等譯.北京:清華大學出版社,2011(7):41-128.]

[10]CHEN Quan.DENG Qianni.Cloud computing and its key techniques [J].Journal of Computer Applications,2009,29(9):2562-2567 (in Chinese). [陳全,鄧倩妮.云計算及其關鍵技術 [J].計算機應用,2009,29 (9):2562-2567.]

猜你喜歡
用戶
雅閣國內用戶交付突破300萬輛
車主之友(2022年4期)2022-08-27 00:58:26
您撥打的用戶已戀愛,請稍后再哭
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年5期)2016-11-28 09:55:15
兩新黨建新媒體用戶與全網新媒體用戶之間有何差別
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
挖掘用戶需求尖端科技應用
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 不卡无码h在线观看| 国产毛片基地| 精品久久久久久中文字幕女| 亚洲精品波多野结衣| 色综合日本| 九九视频在线免费观看| 成人免费一级片| 国产黄色片在线看| 亚洲久悠悠色悠在线播放| 97国产成人无码精品久久久| 国产在线97| 日韩黄色在线| 色亚洲成人| 欧洲日本亚洲中文字幕| 91区国产福利在线观看午夜| 91精品久久久久久无码人妻| 综合五月天网| 中文字幕av一区二区三区欲色| 亚洲精品视频免费观看| 亚洲日本www| 日韩欧美视频第一区在线观看| 亚洲精品无码不卡在线播放| 91精品国产91久久久久久三级| 日韩小视频在线播放| 国产成熟女人性满足视频| 久久综合九色综合97婷婷| 国内精品久久久久鸭| 亚洲第一色网站| 在线亚洲天堂| 久久国产精品夜色| 亚洲伦理一区二区| 国产国产人在线成免费视频狼人色| 久青草免费在线视频| 国产欧美日韩精品综合在线| 国产激情无码一区二区APP| 国产极品粉嫩小泬免费看| 亚洲欧洲自拍拍偷午夜色| 欧美午夜一区| 午夜激情婷婷| 尤物亚洲最大AV无码网站| 色精品视频| 中文字幕久久精品波多野结| 亚洲成人www| 5555国产在线观看| 特黄日韩免费一区二区三区| 在线观看热码亚洲av每日更新| 国产另类乱子伦精品免费女| 精品久久久久无码| www中文字幕在线观看| 免费人成视频在线观看网站| 伊在人亞洲香蕉精品區| 成人国产三级在线播放| 国产产在线精品亚洲aavv| 婷婷六月天激情| 久久精品无码一区二区国产区 | 欧美、日韩、国产综合一区| 91www在线观看| 最新国语自产精品视频在| 狠狠色噜噜狠狠狠狠色综合久| 青草视频久久| 国产第一福利影院| 亚洲黄网在线| 亚洲一区二区三区在线视频| 国产交换配偶在线视频| 亚洲欧美极品| 亚洲国语自产一区第二页| 国产在线视频自拍| 色综合a怡红院怡红院首页| 丰满人妻一区二区三区视频| 久久精品丝袜| 91人妻日韩人妻无码专区精品| 亚洲免费黄色网| 色亚洲成人| 米奇精品一区二区三区| 国产精品网址在线观看你懂的| 无码人妻热线精品视频| jizz在线观看| 亚洲av日韩av制服丝袜| 四虎成人在线视频| 久久久久久久久久国产精品| 国产91全国探花系列在线播放| 国产91蝌蚪窝|