王家騏 于海霞
摘要:Apache Hadoop 是被廣泛使用的一種云計算框架,但是由于其安全機制的薄弱,也是阻礙其發(fā)展的中心問題。本文概論了Hadoop平臺的安全認(rèn)證機制、訪問控制機制及數(shù)據(jù)傳輸和數(shù)據(jù)加密機制的欠缺問題,同時提出了基于PKI的身份認(rèn)證、基于角色的訪問控制和基于身份認(rèn)證的分級加密等相應(yīng)的改進措施。
關(guān)鍵詞:Hadoop平臺;安全機制;身份認(rèn)證;分級加密
中圖分類號:TP311? ? ? ? 文獻標(biāo)識碼:A? ? ? ? 文章編號:1009-3044(2018)31-0047-02
1 Hadoop平臺的安全問題
在初期Hadoop平臺是以數(shù)據(jù)處理的數(shù)量和速度為研究中心,數(shù)據(jù)處理的效率是首位,未細(xì)致設(shè)計和考慮平臺的安全問題,存在著諸如缺乏用戶和服務(wù)的身份認(rèn)證、數(shù)據(jù)的隱私設(shè)計等安全隱患。雖然后續(xù)的Hadoop平臺由于業(yè)務(wù)需求,增加了HDFS文件訪問權(quán)限及ACL的審計和授權(quán)機制,但依舊缺乏身份驗證機制等安全機制,故惡意用戶可以使用身份偽裝的方式輕易繞過Hadoop的安全方案。Hadoop平臺的安全現(xiàn)狀主要體現(xiàn)在以下幾個方面。
1)安全認(rèn)證機制的欠缺
Hadoop平臺有兩類安全認(rèn)證機制,一類是Hadoop平臺服務(wù)器集群間的認(rèn)證機制,另一類是Hadoop平臺與用戶間的認(rèn)證機制。在第一類模式下,破壞者利用偽裝手段,偽裝為集群里任一合法Task Tracker或Data Node服務(wù)器,然后實施對其他服務(wù)器的攻擊,或偽裝為任一合法者,從而接受Job Tracker或Name Node服務(wù)器發(fā)布的數(shù)據(jù)和任務(wù)。在第二類模式下,惡意用戶可以偽裝為合法用戶,使用非法的方式訪問HDFS或 Map Reduce服務(wù)器;甚至可以實施一些如篡改他人用戶作業(yè)、修改HDFS上他人用戶數(shù)據(jù)、惡意提交作業(yè)等非法活動。
即使在后繼的版本中,使用Kerberos進行身份認(rèn)證,為每個任務(wù)進行KDC認(rèn)證,提高了安全性。但若當(dāng)Hadoop集群為同時運行的成百上千個任務(wù)進行認(rèn)證時,KDC的負(fù)載會瞬時急劇增大,從而影響整個集群的性能。且在KDC向客戶端發(fā)送其申請的授權(quán)票據(jù)信息時,信息是不安全的,會造成信息的泄露。
2)訪問控制機制的欠缺
在Hadoop早期版中,對于存儲在HDFS上的資源,采用的是“比特位權(quán)限判定”訪問控制模型,共有9個比特位。權(quán)限類型包含讀(r)、寫(w)、執(zhí)行(x)共三種,訪問HDFS的用戶有user、group和other共三類。當(dāng)用戶提交文件至Hadoop集群時,需要通過hadoop fs -chmod指令來設(shè)定提交文件的訪問權(quán)限。
Hadoop早期版中訪問控制機制里的授權(quán)管理有著明顯的缺陷,即不能針對單獨用戶進行訪問控制授權(quán)。如:系統(tǒng)中某other類別的用戶操作沒有寫入權(quán)限的某文件,若此用戶申請獲得該文件的寫權(quán)限,則系統(tǒng)就需開放other類的權(quán)限,可放開了other權(quán)限后,所有的other類用戶就具備了對此文件的寫權(quán)限,這顯然是訪問控制機制中授權(quán)管理的不合理、不安全部分。
在后繼的版本中,使用ACL進行訪問控制機制。但是高權(quán)限用戶能夠很容易地修改服務(wù)器端的ACL訪問控制列表,因而也存在著不安全的因素。
3)數(shù)據(jù)傳輸和數(shù)據(jù)加密機制的欠缺
在 Hadoop的早期版中,集群的各節(jié)點間(如:Master和Slave間、Client和服務(wù)器間)的數(shù)據(jù)傳輸由于采用的是基于TCP/IP協(xié)議的數(shù)據(jù)明文傳輸,為經(jīng)過加密處理,因此用戶的隱私數(shù)據(jù)和系統(tǒng)的敏感數(shù)據(jù)在傳輸過程中極易被竊取和篡改。另外,由于集群服務(wù)器的內(nèi)存和外部存儲器存儲的數(shù)據(jù)未經(jīng)加密處理和存儲保護,非常容易導(dǎo)致存儲的用戶數(shù)據(jù)和關(guān)鍵信息的泄密。
在后繼的版本里,由于考慮到集群的大量并行計算的資源開銷,為了提高系統(tǒng)的計算處理速度,而未考慮傳輸和存儲過程的數(shù)據(jù)保護機制,導(dǎo)致了無法避免的安全隱患。也有的第三方版本在TCP/IP層應(yīng)用了SSL協(xié)議,能夠滿足一定條件下的部分安全需求。
2 Hadoop平臺的安全對策改進
針對上述的Hadoop平臺安全現(xiàn)狀,在實際的生產(chǎn)實踐中,可以采用基于PKI的身份認(rèn)證、基于角色的訪問控制和基于身份認(rèn)證的分級加密等方法解決安全認(rèn)證機制欠缺、訪問控制機制欠缺和數(shù)據(jù)傳輸及數(shù)據(jù)加密機制欠缺的問題。
2.1 基于PKI的身份認(rèn)證方法
PKI(Public Key Infrastructure)即公鑰基礎(chǔ)設(shè)施,是一種利用非對稱密鑰加密技術(shù),采用公鑰理論技術(shù)實現(xiàn)身份認(rèn)證、數(shù)字簽名等功能,同時實現(xiàn)了公鑰和證書的高效管理。
由CA(認(rèn)證中心)、RA(注冊機構(gòu))、LDAP(數(shù)字證書庫)、密鑰備份和恢復(fù)系統(tǒng)、證書撤銷系統(tǒng)及PKI應(yīng)用接口等部分組成了一個完整的PKI系統(tǒng)。
一個用戶獲得身份證書的具體過程如下:
l 用戶通過瀏覽器向PKI應(yīng)用接口提出證書申請;
l 由PKI應(yīng)用接口向RA注冊中心提交申請數(shù)據(jù);
l 由RA注冊中心向CA認(rèn)證中心提交申請數(shù)據(jù)或拒絕申請,用戶申請證書失敗;
l CA認(rèn)證中心通過申請認(rèn)證,產(chǎn)生數(shù)字證書并反饋至RA注冊中心,用戶獲得認(rèn)證的身份?;蚓芙^申請,用戶申請證書失敗;
l RA注冊中心接收通過認(rèn)證的數(shù)字證書,并更新LDAP服務(wù)器的數(shù)字證書庫;
l 用戶通過瀏覽器從LDAP服務(wù)器查詢和下載數(shù)字證書。
2.2 基于角色的訪問控制方法
其工作原理是Hadoop平臺不再將具體的權(quán)限直接授予用戶,而是改變將權(quán)限授予某類角色,當(dāng)用戶進入Hadoop平臺時,Hadoop平臺會根據(jù)用戶信息分配對應(yīng)的角色,用戶從而獲得相應(yīng)的權(quán)限,從而實現(xiàn)了具體權(quán)限和用戶間直接聯(lián)系的隔離。
這種訪問控制方法特別適用與多用戶和分布式的Hadoop平臺。當(dāng)Hadoop平臺中不斷有新用戶注冊時,只需要為用戶分配具體的角色(因為平臺中角色相對穩(wěn)定,不需要頻繁變更權(quán)限),則這些用戶就擁有了相應(yīng)的權(quán)限,因而不需要重復(fù)為用戶反復(fù)分配權(quán)限;由于角色的權(quán)限是分配到眾用戶,故此種訪問控制方法能有效縮小ACL的訪問控制列表存儲空間,還可以節(jié)約系統(tǒng)資源,及加快判定權(quán)限的速度。
2.3 基于身份認(rèn)證的分級加密方法
該方法的參與角色有三個,分別是:客戶端、服務(wù)器端和第三方認(rèn)證中心AC。其中AC認(rèn)證中心作用是實現(xiàn)角色的身份認(rèn)證及分級加密密鑰的分發(fā)。當(dāng)AC認(rèn)證中心接收到客戶端的請求,判定其為合法用戶,就發(fā)送身份認(rèn)證令牌;同時分級加密密鑰分發(fā)模塊基于AC的可信任身份,結(jié)合用戶的具體情況,生成和發(fā)布分級加密密鑰,并存儲用戶和Hadoop服務(wù)器使用的公開密鑰。客戶端通過AC認(rèn)證中心的認(rèn)證后能夠獲得分級加密密鑰從而實現(xiàn)數(shù)據(jù)加密傳輸/存儲的安全服務(wù)。服務(wù)器端接收和處理經(jīng)過AC認(rèn)證中心認(rèn)證后的認(rèn)證用戶提交的加密數(shù)據(jù),并判斷該用戶是否被賦予相關(guān)的權(quán)限。
該方法的實現(xiàn)需要經(jīng)過身份認(rèn)證、分級加密和服務(wù)校驗共三個階段。在身份認(rèn)證階段,經(jīng)過身份認(rèn)證申請和服務(wù)認(rèn)證申請兩個步驟能夠有效保證密鑰頒發(fā)的安全性以及云數(shù)據(jù)的安全傳輸;在分級加密階段,AC認(rèn)證中心根據(jù)客戶端申請具體需求(如文件類型及大?。┻x擇適合的加密策略并反饋給客戶端,客戶端再根據(jù)加密策略上傳文件至服務(wù)器端,從而使分級加密機制和身份認(rèn)證機制有效結(jié)合在一起;在服務(wù)校驗階段,當(dāng)服務(wù)器端接收到客戶端傳來的加密文件之后,首先要啟動校驗服務(wù)進行數(shù)據(jù)傳輸合法性校驗,若校驗結(jié)果為合法就將加密文件提交給HDFS處理保存,若校驗結(jié)果為不合法則認(rèn)為當(dāng)前傳輸?shù)臄?shù)據(jù)存在安全問題,拒絕數(shù)據(jù)的存儲。
3 結(jié)束語
隨著Hadoop平臺應(yīng)用的越來越廣泛,以及人們越來越重視數(shù)據(jù)的安全性,因此對Hadoop平臺的安全性研究就變得越來越重要。本文通針對Hadoop平臺的安全認(rèn)證機制、訪問控制機制及數(shù)據(jù)傳輸和數(shù)據(jù)加密機制的欠缺問題,提出了相應(yīng)的改進措施,它們分別是:基于PKI的身份認(rèn)證、基于角色的訪問控制和基于身份認(rèn)證的分級加密等方法。通過這些改進措施能為Hadoop平臺提供安全性更強的解決方案。
參考文獻:
[1] 史文浩,江國華,秦小麟,等.基于用戶信任值的HDFS訪問控制模型研究[J].計算機科學(xué)與探索,2016,10(1):25-35.
[2] 陳貞.HDFS環(huán)境下的訪問控制技術(shù)研究[D].重慶:重慶大學(xué),2014.
[3] Wang Cong,Chow S S M,Wang Qian,et al.Privacy-preserving public auditing for secure cloud storage[J].IEEE Transactions on Computers,2013,62(2):362-375.
[4] 林釔霖.基于PKI的身份認(rèn)證系統(tǒng)研究[D].重慶:重慶理工大學(xué),2013.
[5] 盛宇偉.云計算環(huán)境下CA認(rèn)證中心的研究與設(shè)計[D].北京:北京郵電大學(xué),2013.
[6] White T.Hadoop權(quán)威指南[M].2版.北京:清華大學(xué)出版社,2011.