陳紅娟 張日花 劉婷婷
(山東華宇工學(xué)院 山東省德州市 253034)
首先,本文簡(jiǎn)要介紹了一個(gè)基于apache的分布式文件系統(tǒng)hdfs平臺(tái)、hdfs的加密和解密算法以及hdfs的文件系統(tǒng)。pre-hdfs平臺(tái)是apache的一個(gè)開(kāi)源分布式文件系統(tǒng)的發(fā)展產(chǎn)物,它具備很高的易于容錯(cuò)性和可靠度,適用于各種價(jià)格便宜的機(jī)器。
它就能夠?qū)崿F(xiàn)強(qiáng)大的數(shù)據(jù)存儲(chǔ)。hdfs是一種基于主從設(shè)備架構(gòu)的高速、可擴(kuò)充的分布式文件系統(tǒng)。給定節(jié)點(diǎn)負(fù)責(zé)管理客戶端向主服務(wù)器提供的信息,并且負(fù)責(zé)控制客戶端對(duì)文檔系統(tǒng)進(jìn)行的訪問(wèn)和維護(hù),這就是保存檔案的主要原因。如果一個(gè)文件被存儲(chǔ)在hdfs中,那么它就不是一個(gè)截然相反的文件,該文件通常被縮寫(xiě)并且存儲(chǔ)在指定的一個(gè)或多個(gè)數(shù)據(jù)節(jié)點(diǎn)上。數(shù)據(jù)加密技術(shù)主要由非對(duì)稱加密算法構(gòu)成,算法就是一種通過(guò)計(jì)算固定長(zhǎng)度的字符串來(lái)求得與數(shù)值信號(hào)相應(yīng)的字符串,不同輸入可以擁有匹配不同的字符串類(lèi)型的高概率,此算法的目標(biāo)主要是為了驗(yàn)證客戶的身份。Macredice計(jì)算模型用于計(jì)算大規(guī)模數(shù)據(jù),HDFS存儲(chǔ)元數(shù)據(jù)和數(shù)據(jù),然后節(jié)點(diǎn)名稱和應(yīng)用程序元數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)節(jié)點(diǎn)中,所有服務(wù)器通過(guò)TCP網(wǎng)絡(luò)連接。研究分布式文件系統(tǒng)的1/O和性能優(yōu)化是一項(xiàng)艱巨而有價(jià)值的工作。HDFS文件系統(tǒng)的IO性能中,并提出了基于同步實(shí)現(xiàn)策略的性能優(yōu)化方案,以降低HDFS的寫(xiě)入性能,通過(guò)犧牲冗余數(shù)據(jù)信息,同時(shí)引入數(shù)據(jù)訪問(wèn)機(jī)制,優(yōu)化數(shù)據(jù)訪問(wèn)性能,提高系統(tǒng)性能。
對(duì)于一般數(shù)據(jù)必須使用通用的加密方法,而對(duì)于非常重要的數(shù)據(jù)必須使用非常安全的加密策略。實(shí)驗(yàn)服務(wù)器和實(shí)驗(yàn)環(huán)境如下:軟件環(huán)境desktop-amd64、tomcat9、英特爾idea,2018年2月,Hadoop測(cè)試步驟主要用于過(guò)濾加密系統(tǒng)的數(shù)據(jù)分發(fā)、加密和解密。
加密通常使用非對(duì)稱加密算法,使用加密算法進(jìn)行加密。這里的加密不是直接加密數(shù)據(jù),而是為了確保數(shù)據(jù)安全,身份驗(yàn)證由加密密鑰數(shù)據(jù)時(shí)生成的密鑰完成。一般來(lái)說(shuō),關(guān)鍵數(shù)據(jù)的數(shù)量遠(yuǎn)低于重要數(shù)據(jù)的數(shù)量,密鑰數(shù)據(jù)必須經(jīng)過(guò)加密和認(rèn)證。實(shí)驗(yàn)中使用的算法是MD5,sun加密的私鑰使用多個(gè)MD5密碼來(lái)防止被破壞。(公式:M=MD5(私鑰)+5)加密用于加密策略,但私鑰仍然是解密密鑰。
GlupRFS是一個(gè)具有廣泛應(yīng)用的群集文件系統(tǒng)。它的存儲(chǔ)空間和訪問(wèn)效率可以線性增加,具有線性可擴(kuò)展性,支持成對(duì)存儲(chǔ)容量,可以處理數(shù)千個(gè)客戶。
GluptFS具有以下特點(diǎn):每個(gè)功能都實(shí)現(xiàn)為一個(gè)模塊,然后組合為一個(gè)組件,以實(shí)現(xiàn)非常復(fù)雜的功能。傳統(tǒng)的分布式存儲(chǔ)系統(tǒng)不設(shè)計(jì)元數(shù)據(jù)服務(wù),而是使用集中式或分布式元數(shù)據(jù)服務(wù)來(lái)維護(hù)元數(shù)據(jù),分布式元數(shù)據(jù)服務(wù)存在元數(shù)據(jù)同步一致性差、工作量低的問(wèn)題,該算法用于查找文件。彈性算法用于根據(jù)文件名和路徑查找文件位置,并行訪問(wèn)數(shù)據(jù),提高可擴(kuò)展性和性能。系統(tǒng)強(qiáng)大的擴(kuò)展能力和功能基礎(chǔ)模塊之間的耦合堆??梢詫?shí)現(xiàn)強(qiáng)大的功能,其中模塊堆棧結(jié)構(gòu)是Glusterfs最重要的特征。這些模塊也稱為系統(tǒng)轉(zhuǎn)換器。Glusterfs的所有功能均由轉(zhuǎn)換器實(shí)現(xiàn),如圖1。
每個(gè)轉(zhuǎn)換器都是針對(duì)相應(yīng)的功能設(shè)計(jì)的,主要包括集群、內(nèi)存、電源、協(xié)議、功能和加密等轉(zhuǎn)換器。集群是內(nèi)存集群的核心,包括DHTAff和strips.ie,它們是用于從文件檢索數(shù)據(jù)的分布式散列。AFR相當(dāng)于RAID 1,可以在多臺(tái)服務(wù)器上保存同一文件的多個(gè)副本。這主要用于修復(fù)用性自動(dòng)化數(shù)據(jù)。文件可以劃分成為固定長(zhǎng)度的塊,利用AFR和ring相結(jié)合。需要經(jīng)常使用性能模塊。當(dāng)應(yīng)用程序處理讀卡器時(shí),glusterfs可以讀取以下預(yù)讀記錄,以保持效率的連續(xù)性和效率。較少的IO讀取操作集成到較少的讀取操作中,以減少對(duì)網(wǎng)絡(luò)和硬盤(pán)的壓力。使用Writebacklight聚合技術(shù)和寫(xiě)入技術(shù)來(lái)提高寫(xiě)入操作的速度。緩存模塊將其用作多臺(tái)服務(wù)器上的緩沖區(qū),它顯著減少了對(duì)外部?jī)?nèi)存的訪問(wèn),提高了數(shù)據(jù)訪問(wèn)速度。加密模塊主要使用Ron13算法進(jìn)行加密和解密。一種簡(jiǎn)單的替換代碼,它將英文字母替換為13位對(duì)應(yīng)的n個(gè)字母,總共26個(gè)英文字符。數(shù)字、符號(hào)、空格和其他字符保持不變??蛻舳撕头?wù)器都有自己的配置文件,包括一些轉(zhuǎn)換器。每個(gè)轉(zhuǎn)換器動(dòng)態(tài)加載庫(kù)并根據(jù)配置文件動(dòng)態(tài)運(yùn)行。
SSCFS主要由網(wǎng)絡(luò)安全管理器、客戶端和服務(wù)器組成。其功能組成如圖2所示。
當(dāng)然,這只是一個(gè)簡(jiǎn)單的模型,在特定的應(yīng)用程序級(jí)別。安全管理器存儲(chǔ)系統(tǒng)文件信息、文件密鑰和用戶訪問(wèn)信息。其主要功能是確認(rèn)用戶身份,準(zhǔn)備用戶許可證并存儲(chǔ)在安全管理器中,還接受用戶和管理員的需要。安全管理器可以執(zhí)行以下操作:維護(hù)用戶信息,維護(hù)管理員和用戶的身份驗(yàn)證,創(chuàng)建用戶許可證和管理密鑰,以正確管理訪問(wèn)密鑰流,并長(zhǎng)期安全存儲(chǔ)必要的安全參數(shù);要確保管理員不知道文件密鑰,使用有效的密鑰存儲(chǔ)機(jī)制??蛻舳私邮苡脩舻倪h(yuǎn)程登錄并驗(yàn)證用戶的遠(yuǎn)程登錄。這是數(shù)據(jù)操作的起點(diǎn)。每個(gè)操作都必須確認(rèn)用戶的權(quán)限和緩存訪問(wèn)證書(shū)。服務(wù)器頁(yè)面執(zhí)行客戶端發(fā)送的命令,對(duì)服務(wù)器頁(yè)面上的數(shù)據(jù)進(jìn)行加密和解密,服務(wù)器頁(yè)面可以提供正確、高效的存儲(chǔ)設(shè)備服務(wù),并對(duì)存儲(chǔ)設(shè)備進(jìn)行加密,防止用戶非法訪問(wèn)或竊取個(gè)人數(shù)據(jù)。用戶使用注冊(cè)的用戶名和密碼登錄到遠(yuǎn)程位置??蛻舳吮仨毚_認(rèn)用戶的身份。在執(zhí)行不同的操作之前,必須審查訪問(wèn)許可證,以防止合法用戶非法訪問(wèn)。Internet服務(wù)器和客戶端之間的連接支持TCP/ippl 20i和高速RDMA Infiniband網(wǎng)絡(luò)。與安全管理員(如客戶端、服務(wù)器、用戶、管理員)的所有連接都是TCP/IP網(wǎng)絡(luò)。Scfs假定客戶端和服務(wù)器在安全的LAN中運(yùn)行和信任。安全管理員也受信任,但注冊(cè)用戶使用的計(jì)算機(jī)不可信。
在用戶首次登錄系統(tǒng)之前,用戶注冊(cè)模塊生成與用戶相關(guān)的信息,并將其存儲(chǔ)在Security Manager數(shù)據(jù)庫(kù)中。通過(guò)創(chuàng)建公鑰和私鑰對(duì),用戶創(chuàng)建自己的私鑰,當(dāng)用戶的私鑰丟失或發(fā)送通過(guò)時(shí),用戶的連接模塊發(fā)送未連接的應(yīng)用程序,安全管理器向每個(gè)客戶端發(fā)送廣播通知,從緩存中檢索相應(yīng)的用戶證書(shū),認(rèn)證模塊檢查用戶身份的真實(shí)性。通過(guò)設(shè)置用戶證書(shū)模塊,用戶必須在操作之前向安全管理器發(fā)送證書(shū)。安全為請(qǐng)求的信息創(chuàng)建用戶證書(shū)。用于生成日志文件的模塊在發(fā)生沖突時(shí)將沖突日期存儲(chǔ)在當(dāng)前日志文件中,關(guān)聯(lián)的日志文件是根據(jù)當(dāng)前日期生成的。黑名單創(chuàng)建模塊插入違反一定數(shù)量或多個(gè)黑名單規(guī)則的用戶數(shù)量,并立即接收這些用戶的證書(shū),向每個(gè)客戶端發(fā)送廣播消息,以限制后續(xù)操作。要從黑名單中刪除用戶,管理員必須親自處理這些用戶。
登錄模塊確認(rèn)用戶已注冊(cè)。在這種情況下,請(qǐng)確保信息正確無(wú)誤。如果一切都一致,用戶可以進(jìn)入系統(tǒng)。生成目錄密鑰,用自己的公鑰加密鎖密鑰,然后將其公開(kāi)發(fā)送給Storage Security Manager。Rock Skip發(fā)送模塊使用Glusterfs的堆棧結(jié)構(gòu)將阻塞的跳轉(zhuǎn)從客戶端發(fā)送到服務(wù)器,正常創(chuàng)建后隨機(jī)生成密鑰文件,然后使用文件所在目錄的鎖密鑰生成文件密鑰,加密并發(fā)送到storage security manager。證書(shū)應(yīng)用模塊是指用戶在認(rèn)證前向安全管理器提供的信息,檢查請(qǐng)求的條目是否包含操作許可證,證書(shū)緩存模塊是指證書(shū)存儲(chǔ)在客戶端內(nèi)存中。服務(wù)器主要由三個(gè)模塊組成,每個(gè)模塊都有一個(gè)證書(shū)恢復(fù)模塊。
通過(guò)各種數(shù)據(jù)表明,采用組合策略對(duì)分布式文件系統(tǒng)進(jìn)行加密,可以保證加密文件的安全性,網(wǎng)絡(luò)的普及和快速發(fā)展,越來(lái)越重視分布式文件系統(tǒng)的安全性。分布式存儲(chǔ)系統(tǒng)取得了巨大的進(jìn)步和發(fā)展,但也面臨著重大的問(wèn)題。本文介紹了基于SScfs的分布式開(kāi)放源代碼文件系統(tǒng)模塊的基本情況,分析了其特性,基本架構(gòu)和Gluster實(shí)現(xiàn)機(jī)制,并介紹了SScfs的總體配置、安全管理器和客戶端、服務(wù)器、系統(tǒng)的各個(gè)部分以及SScfs的安全機(jī)制。每個(gè)模塊都包含在系統(tǒng)的每個(gè)部分中,并簡(jiǎn)要描述了整個(gè)系統(tǒng)的服務(wù)流程。