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

基于再生碼的擬態數據存儲方案

2018-05-08 01:09:18陳越王龍江嚴新成張馨月
通信學報 2018年4期
關鍵詞:系統

陳越,王龍江,2,嚴新成,張馨月

(1. 解放軍信息工程大學數據與目標工程學院,河南 鄭州 450001;2. 解放軍61660部隊,北京 100089)

1 引言

隨著大數據和云計算技術的快速發展和日益普及,越來越多的用戶選擇將自己的數據托管在云存儲平臺(如Amazon S3[1]、Windows Azure[2])上,但是,現有的云存儲平臺面臨著一系列固有的安全問題,嚴重威脅著用戶的數據安全。靜態的系統結構和存儲模式容易暴露系統的脆弱性,信息系統內部的軟硬件漏洞難以避免,傳統的被動防御策略難以防范日益復雜的攻擊手段。云存儲平臺的這些安全問題已經嚴重制約著云存儲技術的發展和應用。

本文針對云存儲系統確定性存儲模式帶來的安全威脅,提出了一種擬態數據存儲方案,該機制在存儲過程中引入了冗余性、隨機性和時變性,支持數據的快速恢復和重構,提高了系統的容錯性和抗毀性,可保證數據的完整性和持續可用性。通過再生碼對編碼數據進行動態、隨機的變換,改變了傳統云存儲的靜態存儲模式,使系統的攻擊表面難以預測,隱藏了系統的脆弱性和用戶的操作信息,壓縮了攻擊者可利用的時間窗口,增加了攻擊的難度和成本,可有效提高云存儲系統的可靠性和安全性。

2 相關工作

目前,云存儲平臺多采用增加數據冗余的方式來保證數據安全,主要的方案有以下3類。1) 基于多副本的云存儲方案,它將數據存儲為多個副本來確保用戶的數據安全,如谷歌文件系統[3](GFS,Google file system)、Hadoop分布式文件系統[4](HDFS,Hadoop distribute file system),這類方案簡單易行,但存儲空間浪費嚴重,缺乏有效的安全機制。2) 基于糾刪碼的云存儲方案[5],該方案通過糾刪碼算法來存儲和恢復數據,大大提高了空間利用率,但修復開銷太大。3) 基于再生碼的云存儲方案,該方案基于網絡編碼理論,是一種改進的糾刪碼,可有效減少修復帶寬,且具有更好的安全性,得到了廣泛的研究和應用。

但是現有的云存儲系統由于自身的靜態存儲模式和確定性的系統結構,往往采用被動式的防御策略,難以有效防范日益復雜多樣的攻擊手段,不能有效保護用戶的數據安全。擬態安全防御技術[6]是近幾年提出的一種主動防御技術,旨在通過增加系統的不確定性來阻斷攻擊鏈,為防范未知類型的攻擊和潛在的安全風險開辟了新途徑,在學術界和產業界引起廣泛的關注。

擬態安全防御技術通過在信息系統中引入動態性、異構性、冗余性,構建一個動態可變的網絡環境和程序運行環境,通過在不同的環境之間快速地跳變和遷移,使系統的攻擊表面難以預測,從而增加了攻擊者利用系統脆弱性實施攻擊的難度和代價,可防范基于未知漏洞和后門的攻擊手段。

理論研究方面,鄔江興[6]首先提出了擬態安全防御的思想并介紹了其技術特點。文獻[7]介紹了擬態計算和擬態安全防御的原意和愿景,對其研究問題和應用背景做了闡述。文獻[8]闡述了動態異構冗余架構以及如何利用不可信軟硬構件組成高可靠、高安全等級信息系統的原理與方法,給出了擬態防御的基本概念。文獻[9]通過分析對比擬態防御和入侵容忍、移動目標等技術的異同,介紹了擬態安全防御技術的特點和優勢。文獻[10]對擬態安全防御問題進行形式化建模,分析和闡述了擬態防御技術的構成、擬態防御的科學問題及其理論框架。文獻[11]提出了將擬態防御技術與軟件多樣化技術相結合應用于軟件安全產業的新思路。文獻[12]提出了以多維重構函數化體系結構與動態多變體運行機制為核心的擬態計算和擬態安全防御技術體系。文獻[13]介紹動態網絡的主動變遷技術,提出了演進防御機制,該機制可以根據網絡系統安全狀態、網絡系統安全需求等,選擇最佳的網絡配置變化元素組合來應對潛在的攻擊,保證特定等級的安全要求。

工程實踐方面,文獻[14]提出了攻擊鏈模型,針對已有安全技術的不足和問題,提出了基于“動態異構冗余”結構的擬態防御模型,設計實現了擬態防御 Web服務器系統,并進行了安全性分析和性能測試。文獻[15]提出了一種適用于擬態防御架構的 Web服務器測試方法,基于讓步灰盒測試,對擬態 Web服務器原型系統進行性能、兼容性、功能實現、安全性等方面的測試。

目前,擬態安全防御技術的研究僅局限于計算機系統結構上,本文將擬態安全防御的思想應用到云存儲領域,提出了一種擬態變換機制,利用再生碼技術實現了數據存儲狀態的動態時變切換,支持數據的動態修復和快速自愈,增加了攻擊的難度和成本,提高了系統的容錯能力和安全性,可有效保證數據的完整性和可用性。

3 擬態存儲原理

本節主要介紹擬態存儲的基本原理和核心技術。

擬態化存儲的基本思路為在數據存儲和訪問的過程中,加入時變和隨機因素,實現數據存儲狀態的動態可變,從而增加攻擊者獲取數據的難度和成本,提高系統的可靠性和安全性。

擬態化存儲機制主要包括數據的上傳、下載和擬態變換3個部分。其中,數據的上傳和下載使用現有的網絡編碼存儲技術就能實現,網絡編碼存儲方案具有天然的冗余性,相關方案已經比較成熟。

數據上傳時,首先對文件進行加密處理,將文件對象切分成固定大小的數據塊。然后采用隨機線性編碼對其進行編碼,將編碼后的數據塊上傳給云存儲系統,存儲在各個數據節點上。

數據讀取時,從云存儲系統中隨機下載含有足夠冗余信息的編碼塊,經過譯碼還原出原始數據塊,再通過合并操作和解密操作即可得到原始的用戶文件。

數據的擬態變換利用功能性最小存儲再生[16](FMSR,functional minimum storage regenerated)碼來實現,主要依賴于FMSR碼良好的修復性能,通過控制變換時機和編碼系數的選取,可實現數據存儲狀態的隨機時變切換。

用戶和云端數據節點之間使用擬態變換協議來協商變換參數,每個數據節點根據擬態變換參數變換其存儲內容,以達到數據存儲狀態動態可變的目的。數據節點的擬態變換過程類似于失效節點的修復過程,即將當前節點視為需要修復的數據節點,從其他節點上下載數據,利用隨機編碼技術重新構造新的數據塊,覆蓋現有內容,以達到擬態變換的目的。經過擬態變換后的數據節點,必須確保能夠通過譯碼操作還原出原始數據,確保用戶數據的完整性和持續可用性。

由于整個變換過程中不需要對數據進行譯碼,云端數據一直處于編碼狀態,編碼參數始終由客戶端控制,每次擬態變換的參數由客戶端經過計算生成。攻擊者在不掌握初始編碼參數和變換規則的情況下,難以還原出原始文件。由于變換過程中引入了隨機和時變因素,增加了窮舉攻擊的難度。擬態變換協議使用加密的通信鏈路來協商變換參數,減少了來自不可信網絡環境的安全威脅。

FMSR碼是一種支持功能性修復的最小存儲再生碼,屬于典型的(n,k)最大距離可分(MDS,maximum distance separable)碼,保持了MDS碼良好的容錯能力和存儲效率。對于一個大小為M的文件,(n,k)FMSR碼將其切分成k(n-k)個固定大小的原始塊,再將它們編碼成n(n-k)個編碼塊,上傳給n個數據節點,每個節點存儲n-k個編碼塊。數據讀取過程中,首先,隨機挑選任意k個節點,下載k(n-k)個編碼塊,然后,對其進行譯碼操作,還原出原始數據塊,最后,將數據塊合并成原始文件。

當某個數據節點因為意外情況失效了(例如,系統故障或外部原因導致無法對外提供服務),為了保證數據的安全性和服務的連續性,必須盡快對其上的數據進行修復。數據的重構過程需要在其他n-1個數據節點上各取一個數據塊,將這n-1個數據塊重新編碼生成n-k個編碼塊,替代失效節點的數據,(4,2)FMSR碼的修復過程如圖1所示。

圖1 (4,2)FMSR碼的修復過程

4 數據擬態化存儲機制

本節對數據的擬態存儲機制進行深入的討論,首先,給出了擬態存儲系統所使用的存儲框架和存儲模型,然后,分別介紹數據的上傳和下載過程,最后,詳細闡述擬態變換機制。

4.1 存儲框架

實際的云存儲系統異常復雜,為了討論問題的方便,本文對云存儲系統進行簡化和抽象。存儲框架如圖2所示,主要分客戶端系統和云端存儲系統2個部分。客戶端系統通過互聯網與各個數據節點相連。云端存儲系統由一系列分布于網絡中的數據節點組成,它們通過網絡連接構成一個分布式存儲系統。這里的數據節點是對下層存儲系統進行抽象,可兼容多樣化異構的存儲設備,既可以是大型的數據中心,如Amazon的S3、Microsoft的Azure等,也可以是普通的PC機、服務器、NAS設備等。

圖2 存儲框架

用戶端通過運行客戶端程序與云端數據節點進行交互,客戶端負責數據的上傳和下載以及必要的身份鑒別和訪問控制。客戶端與數據節點通過擬態變換協議,完成擬態變換參數的協商??蛻舳诉€負責維護編碼參數和加密密鑰等信息。本節只討論對單個文件的擬態存儲過程,多個文件的存儲原理相同。

4.2 數據的上傳

數據的上傳需要經過以下2個步驟。

1) 客戶端首先對文件進行預處理,對文件進行加密后,切分成塊。假設文件大小為M,將其切分成k(n-k)個固定大小的原始數據塊,記作每個數據塊的大小為

2) 客戶端對原始數據塊進行編碼,得到n(n-k)個編碼數據塊,記作每個編碼塊都是k(n-k)個原始數據塊的線性組合。具體的編碼過程如下。

Step1 構造一個n(n-k)×k(n-k)的編碼矩陣EM=[αi,j],其中,元素αi,j均是從有限域GF(2w)(一般取w=8)中隨機產生,為了保證能夠正確譯碼,要求EM必須滿足MDS性質。

Step2 使用編碼矩陣與原始塊相乘,即可得到n(n-k)個編碼塊。EM中每個行向量稱為一個編碼向量(ECV,encoding coefficient vector),對應于一個編碼塊,包含了n(n-k)個編碼系數。第i個編碼塊的編碼過程可表示為

其中,i=1,2,…,n(n-k),編碼中涉及加法和乘法運算遵循有限域GF(2w)上的運算規則。

Step3 客戶端將n(n-k)個編碼數據塊上傳給n個數據節點,每個節點存儲相鄰的n-k個數據塊,編碼矩陣EM由客戶端存儲和維護。

當n=4、k=2時,數據的上傳過程如圖3所示。

4.3 數據的下載

1) 客戶端。從n個數據節點中任取k個下載其所有的編碼塊(一般取負載較小的節點),共計k(n-k)個編碼塊,從編碼矩陣EM中取出這些數據塊對應的編碼向量,組成一個k(n-k)×k(n-k)階的方陣,記作EM′。由于EM′是從EM中產生的,它的各個行向量線性無關,其逆矩陣必然存在。

2) 客戶端。將EM′-1乘以下載的編碼塊即可得到k(n-k)個原始塊,將其合并組裝,再經過解密即可得到原始文件。

當n= 4 、k= 2 時,數據的下載過程如圖4所示。

圖3 n=4、k=2時的數據上傳過程

圖4 n=4、k=2時的數據下載過程

4.4 數據的擬態變換

4.4.1 擬態變換

在數據節點N1,N2,…,Nn中,假設對數據節點Nt上的數據進行擬態變換,單輪擬態變換需經過以下7個步驟。

Step1 客戶端在除了Nt以外的每個節點上,隨機挑選一個編碼塊(共有(n-k)n-1種不同的可能),在編碼矩陣中取出這n-1個編碼塊所對應的編碼向量,記作這一操作實際上在客戶端完成,只需要對編碼矩陣進行操作,不涉及數據塊的讀取。

Step2 客戶端構造一個(n-k)×(n-1)大小的變換矩陣TM=[γi,j],其中,i=1,2,…,n-k,j=1,2,…,n-1,元素γi,j均從有限域GF(2w)(一般取w=8)中隨機產生。

Step3 客戶端為新的編碼塊計算編碼向量,TM乘以得到n-k個新的編碼向量該過程可表示為

其中,每個新的編碼向量可表示為

Step5 客戶端判斷EM′是否滿足MDS性質,即判斷EM′中任意k(n-k)個行向量組成的方陣是否滿秩。若滿足MDS性質,執行Step6,否則,跳到Step1,進入下一輪迭代,重新挑選新的編碼向量和變換系數。

Step6 客戶端將TM以及從Step1中挑選出的編碼塊序號發送給數據節點Nt。

Step7 數據節點Nt從相應的數據節點上下載Step1中的挑選出的編碼塊,并使用TM對這些編碼塊進行編碼得到n-k個數據塊,覆蓋自身原有的數據,完成一次擬態變換。

當n=4、k=2時,對數據節點1進行擬態變換的過程如圖5所示。

4.4.2 擬態變換協議

擬態變換協議用于用戶端系統與數據節點間變換參數的協商。為了保證交互信息的安全性,擬態變換協議使用了TSL協議來構建安全信道,對交換的控制信息進行了加密處理。用戶端系統和數據節點間的交互過程如圖6所示。

首先,客戶端上傳數據到數據節點,當該節點上的數據完成存儲時,會向客戶端發送一個存儲完成消息(SCM,storage completed message)。

當客戶端收到所有數據節點發來的存儲完成消息后,說明所有的數據塊已經存儲完成,向每個數據節點發送存儲完成消息確認消息。

圖5 n=4、k=2時對數據節點1的擬態變換過程

圖6 擬態變換協議示意

每個數據節點設置一個定時器,當收到客戶端給出的確認后,啟動定時器,定時器的初始時間設置為一個隨機值。

當定時器時間到時,數據節點向客戶端發送一個擬態變換請求(MTR,mimic transform request),MTR消息中包含該數據節點的編號、編碼塊序列號區間等信息。

客戶端收到這個MTR消息后,查看所有的數據節點的狀態信息,如果其他的數據節點均處于存儲完成的狀態,就允許這個更新請求,并發送確認消息,并根據編碼矩陣為該數據節點構造擬態變換參數。擬態變換參數包括2個部分:需要讀取的編碼塊序號列表和一個用于產生新的編碼塊的擬態變換矩陣TM。

數據節點收到確認消息后,就處于等待狀態,等待客戶端發來的擬態變化參數。當收到客戶端發來的擬態變化參數時,從其他節點下載指定序號的編碼數據塊,并利用TM對它們進行編碼,用新的編碼塊覆蓋當前的數據。當變換操作完成后,數據節點向客戶端發送一個變換完成消息(TCM,transform completed message),客戶端收到這個消息后,得知數據節點已經完成了數據更新,于是,根據TM更新編碼矩陣,并向數據節點端發送確認消息。

數據節點收到確認消息后,啟動定時器,進入下一個擬態變換周期。

4.4.3 擬態變換周期的確定

擬態變換周期通常以小時為單位,初始化為一個[1,10]之間的隨機值,并隨著數據節點的運行狀態和網絡的安全態勢的變化而變化。

每個數據節點需要維持一個資源值r,用來描述當前系統的資源使用情況,該值由系統當前的運行狀態(包括CPU利用率、內存利用率、I/O速率、出口帶寬等)計算出來,可表示為

r越大,表示當前節點的系統資源越充足;r越小,表示當前節點的系統資源越緊缺。

每個數據節點還要維持一個安全值s,用來反映當前系統的安全狀況。s越大,表示當前系統越安全;s越小,表示當前系統面臨的安全風險越大。安全值通過對系統進行一系列的安全性評估而得出。使用基于知識庫的安全評估方法,對系統面臨的安全風險進行評估,進而計算出一個安全值來刻畫系統當前的安全狀況和防御能力。

每次擬態變換完成后計算一次資源值和安全值,新的擬態變換周期 Tnew可表示為

其中, α ,β∈ [ 0,1], α+β=1,α和β分別表示資源值和安全值的權重。

5 擬態變換的建模與分析

擬態變換過程必須保證數據經過變換后依然能夠正確譯碼,變換過程不能破壞數據的完整性和可用性。本節對4.4節討論的擬態變換過程進行了深入的分析,給出了擬態變換后數據持續可用的嚴格證明。本節討論 k = n - 2 ,即雙節點冗余的情形(目前的云存儲系統中,普遍使用雙節點冗余的設置),如下的討論均基于這個前提條件。

定義1 MDS性質。在再生碼中,對于一個nx個編碼塊的數據集,若其中任意kx個編碼塊,即可解碼出kx個原始塊,則該數據集滿足MDS性質。其中n>k,x為一個存儲單元的數據塊個數。

對于一個nx×kx的矩陣來說,若其中任意的kx個行向量是線性無關的,則該矩陣滿足MDS性質,反之亦然。其中n>k,x為任意正整數。

因此,不難得出若一個編碼數據集滿足MDS性質,則其編碼矩陣也滿足MDS性質。

定義2 可譯碼性。如果kx個編碼塊的數據集可以通過譯碼操作還原出kx個原始數據塊,則說明該數據集滿足可譯碼性。其中,x為一個存儲單元的數據塊個數。

因此,若一個nx個元素的數據集滿足 MDS性質,則它的任意一個大小為kx的子集均滿足可譯碼性,x為任意正整數。

引理1 n(n -k)個編碼塊組成的數據集S,S'是S的大小為 k (n -k)的任意子集。S'所對應的編碼系數組成的方陣為A,若S滿足MDS性質,則有以下結論。

1) A是滿秩的。

2) A的行列式不為0,即det(A)≠0。

3) S '可解碼出原始數據。

證明 S滿足 MDS性質,則其編碼矩陣也滿足MDS性質,即任意 k(n -k)個行向量是線性無關的,根據線性無關組的性質,這些向量組成的矩陣必然是滿秩的,結論1)得證。由于A是滿秩矩陣,因此,其行列式的值不為0,結論2)得證。S滿足MDS性質,由定義2可知,任意 k(n -k)個編碼塊滿足可譯碼性,結論3)得證。

引理 2 Schwartz-Zippel定理[17]。設 h (x1,…,xt)是有限域F上的多變元ρ次非零多項式,S是F的一個子集,則對S中隨機選取的元素 x1,…,xt,有

證明 略,可參考文獻[18]。

定理 1 數據持續可用性。假設一個文件存儲在 k= n - 2 的擬態存儲系統中,在第r輪對節點j的擬態變換中,從其他節點各取一個編碼塊,共計n-1塊編碼塊進行編碼重新構造出新的編碼塊,那么通過增加有限域 G F(q)的大小q,變換后的數據集總能滿足MDS性質。

證明 使用歸納法證明。

初始化。首先使用 Reed-Solomon 碼將原始數據編碼為 n(n -k )=2 n個編碼塊,滿足MDS性質。

歸納假設。假設在第r輪變換后,MDS性質滿足,接下來,證明在第 r+1輪變換后,MDS性質依然滿足。

接下來,將證明通過調整域GF(q)中γi,j,總能夠使在 r+1 輪中變換后數據集依然滿足MDS性質。

由于 Ur滿足MDS性質,所以只需要證明剩下的n-1個節點{2,…,n}中任意k-1個節點子集和變換后節點 1 組成的數據集滿足MDS性質即可。

{s1,s2,… ,sk-1}共有種可能的組合,為了不失一般性,本文假設(2,…,k),其他情況的證明與此同理。

其中,δ為區分每個節點上選擇的是哪個編碼塊,當f(i)=1時,當f(i)=2時,

由于 Ur滿足 MDS性質,R是 Ur的一個k(n -k)子集,由引理1可知,R可譯碼出原始文件。

根據引理2,A的行列式det(A)是以任意概率不為0。由于R是可譯碼的,且A是滿秩的,所以V是可譯碼的。

因此, Ur+1滿足MDS屬性,證畢。綜上所述,只要有限域的規模足夠大,總能找到合適的編碼參數使數據集始終滿足MDS性質,從而確保數據在任何時刻都能夠被正確譯碼,保證了數據的持續可用性。

6 仿真實驗

本節對擬態變換的過程進行了仿真實驗,驗證了擬態變換機制的正確性和可行性,并根據仿真實驗的結果,對其變換性能進行了估計和分析。本文使用C++語言,借助于Jerasure庫[19]提供的有限域操作接口以及Eigen3矩陣運算庫提供的API,設計和實現了擬態變換過程的仿真程序,仿真程序的流程如圖7所示。仿真實驗環境的配置為Intel Core i3@ 2.10 GHz 4核處理器,8 GB內存,Ubuntu12.04 LTS 64位操作系統。

圖7 仿真程序流程

接下來,通過一個實例來說明具體的仿真過程。本文取 n =4、 k = 2 ,每個節點有2個數據塊,所有的編碼系數都是在 G F (28)上隨機選取的。

1) 初始狀態的編碼矩陣為

2) 當對節點3進行變換時,其對應的編碼系數標記為0,對應的矩陣為

3) 隨機生成(n-k) × (n- 1) =2×3 大小的矩陣為

4) 從n-1 =3 個節點分別隨機選擇一行系數為

5) 上面2個矩陣相乘,得到新的節點系數矩陣為

6) 用新節點系數矩陣的系數替換節點 3的編碼系數,檢查新的編碼矩陣是否滿足MDS 性質。

7) 若滿足,擬態變換成功(本例中滿足)。否則,跳到步驟2),進入下一次迭代。

本文通過統計變換成功所需要的迭代次數對擬態變換的性能進行估計,分別使用幾組不同的編碼參數和不同大小的有限域進行仿真實驗,測量和評估編碼參數及有限域大小對變換過程的影響。

6.1 編碼參數對擬態變換性能的影響

取k=n- 2 的存儲設置,本實驗分別選擇了(4,2)、(6,4)、(8,6)這 3 個編碼參數,在有限域GF(28)上進行了仿真實驗,分別統計了10 000次擬態變換操作中變換成功需要的迭代次數和平均時間,分別如表1和表2所示。

表1 不同參數設置下擬態變換需迭代的次數

表2 不同參數設置下擬態變換的平均時間

從實驗結果可以看出,當n和k逐漸增大時,生成具有MDS性質的編碼矩陣所需要的迭代總次數逐漸增加。當n=4、k=2時,測試10 000次,1次變換成功為7 303次,2次隨機生成矩陣變換成功1 975次,3次及其以上變換成功為722次;而當n=8、k=6時,10 000次中1次變換成功為1 501次,2次隨機生成矩陣變換成功為1 319次,3次及其以上變換成功為7 180 次。生成可用的變換矩陣所用時間也隨著參數n的變大而增加,但均不超過1 s。

實驗結果表明了隨著數據節點數的增加,產生滿足MDS性質的擬態變換參數將需要更多的迭代總次數和時間開銷,由于該算法是一種啟發式算法,難以完全保證多項式時間。但是在目前的情況下已經接近最優,算法的時間復雜度接近O(n2),該算法原理簡單、易于實現,適合分布式計算環境。由于擬態變換屬于離散事件,擬態變換周期通常以小時計算,擬態變換參數構造算法只涉及小規模的矩陣計算,占用的資源較少,對客戶端系統的影響可以忽略不計。

6.2 有限域大小對擬態變換性能的影響

本實驗取n= 4 、k= 2 ,分別選取了GF(24)、GF(28)、GF(216)、GF(232)4個不同大小的有限域進行了仿真實驗,分別統計了10 000次擬態變換操作中變換成功所需要的迭代次數和平均時間分別如表3和表4所示??梢钥闯?,隨著有限域大小的增加,1次迭代成功的比例逐漸增加,當有限域的規模達到 232時,1次迭代的成功率達到了99%以上。因此,通過選擇較大的有限域可以有效地提高擬態變換的效率,一般取GF(28)就能夠滿足實際需求,時間開銷隨著有限域的大小大致呈線性增長。

表3 不同大小有限域下擬態變換需迭代的次數

表4 不同大小有限域下擬態變換需迭代的時間

7 安全性分析

本節從以下5個方面對擬態變換機制的安全增益進行了深入的分析。

1) 冗余性增加了系統的可靠性,可保護數據的完整性和服務的連續性

基于網絡編碼的存儲方案具有天然的冗余性,整個存儲系統滿足MDS性質,用戶只需要訪問部分數據節點,即可還原出原始數據。當出現失效節點時,可以通過其他節點的數據進行快速有效的恢復和重構,對于(n,k)MDS碼,可以容忍n-k個節點的失效,具有較好的容錯能力。當攻擊行為導致數據節點受損時,只要存儲系統內可用的數據節點數保持在一個安全的閾值內,通過再生碼修復方案可以快速有效地修復這些受損的節點,可避免數據的丟失。黑客的攻擊行為通常會在系統內部產生許多污染數據,通過再生碼技術可以快速地對這些被污染的數據節點進行清洗和修復,防止污染數據的進一步擴散。

冗余性能夠避免節點失效造成的數據損失,保證了用戶數據的完整性和可用性,可有效應對攻擊者對系統的蓄意破壞和污染攻擊行為,增強了系統的可靠性,確保了數據的安全性和服務的連續性。

2) 隨機性使系統的攻擊表面難以預測,增加了暴力破解編碼矩陣的難度和成本

基于網絡編碼的擬態存儲系統中的隨機性主要體現在以下2個方面。

①數據的編碼過程采用了隨機線性網絡編碼,其編碼參數是在有限域中隨機選取的,僅要求編碼矩陣滿足MDS性質即可。利用隨機算法來構造編碼矩陣,可以防止攻擊者對編碼矩陣進行碰撞攻擊,當有限域的規模足夠大時,對編碼參數的窮舉攻擊在現有的計算條件下幾乎是不可能的。

②數據擬態變換過程中,當一個節點需要變換時,需要從其他的每個節點上隨機地挑選一個編碼塊,增加了變換空間。由于每一次擬態變換過程中都加入了隨機因素,使擬態變換過程具有很強的隨機性,數據塊的重構過程攻擊者事先無法預測,事后無法重現,攻擊者即使拿到了原始的編碼矩陣,也無法構造出完全一致的擬態變換參數。

綜上所述,隨機性的引入使系統的攻擊表面難以預測,極大地增加了攻擊者暴力破解的難度和成本,有效地增強了系統的頑健性和安全性。

3) 時變性壓縮了攻擊者實施攻擊的時間窗口

時變性主要體現在變換時機的選取上,在本文方案中,每個數據節點會維持一個定時器,變換周期初始化為一個隨機的時間,隨后會隨著系統資源的使用情況和安全狀況進行動態的調整。當定時器到時,就啟動數據的變換過程,對當前節點上的數據進行重構。

擬態化存儲機制將用戶的文件切分成k(n-k)份,經過編碼生成n(n-k)個編碼塊,分散地存儲在n個數據節點上,從n個數據節點中任意的k個節點上下載數據,通過使用先前的編碼矩陣進行譯碼即可還原出原始文件。對于攻擊者要想拿到用戶的原始文件,必須同時滿足 2個條件,一是集齊k(n-k)個編碼塊,二是獲得該文件的編碼矩陣。如果破壞這個2個條件,攻擊就難以奏效。

假設t0時刻的數據塊集合為data0,編碼矩陣為EM0,此時,攻擊者只有同時拿到數據集data0的和EM0,才能還原出原始文件,如果在攻擊者得到這些信息之前,將這些信息進行變換,就能夠阻斷攻擊過程,使之前針對data0和EM0的攻擊行為變得無效,增加了攻擊者獲取數據的成本和代價。

假設所有數據節點的擬態變換周期的最大值為T,經過時間T,所有的數據節點都至少經過了一輪擬態變換,設變換后新的數據集版本為data1,相應地,客戶端的編碼矩陣也發生了變化,設變換后的編碼矩陣為EM1,攻擊者如果之前已經獲得data0中的少于k(n-k)個編碼塊,t0+T時,由于所有的編碼塊至少被刷新過一次,那么攻擊者獲得的這部分數據就沒有任何意義了,就算攻擊者拿到先前的編碼矩陣也無法還原出原始數據。所以只要設置合理的擬態變換周期就能夠有效地阻斷攻擊鏈,保護數據安全。

綜上所述,時變性改變了數據的靜態存儲狀態,實現了云端數據的動態變化,壓縮攻擊者可利用的時間窗口,增加攻擊者獲取數據的難度和成本,提高系統的安全性。

4) 擬態變換機制可隱藏用戶的操作信息和行為特征

在傳統的靜態存儲系統中,用戶和系統行為的確定性會給攻擊者提供許多有用的信息,無意中暴露了系統的脆弱性,攻擊者通過分析用戶的行為特征和存儲方式,尋找和利用系統防護的薄弱點實施滲透和攻擊,進而竊取和破壞用戶的數據。在擬態變換機制中,變換的時機和參數都是隨機選取的,變換參數以加密的形式傳輸,可有效隱藏和保護用戶的操作信息,干擾攻擊者的信息探測手段,可有效防止社會工程學攻擊。

5) 擬態變換機制可減小系統的攻擊面

擬態變換機制使存儲系統具有動態可變屬性,可隱藏系統的脆弱性,降低存儲系統漏洞暴露在網絡中的概率,通過減小系統的攻擊面來保護系統安全。

綜上所述,擬態變換機制可阻斷攻擊鏈,增加攻擊者實施攻擊的難度和成本,有效保護存儲系統的安全性。

8 系統實現與性能分析

本節設計和實現了一個擬態存儲驗證系統,該系統采用了分層的松耦合系統結構,實現了上文提出的擬態變換機制,并在真實的網絡和存儲環境下,進行了相關的功能驗證和性能測試。

8.1 系統設計與實現

本方案的系統架構如圖8所示,整個存儲系統可分為客戶端系統和數據節點2部分??蛻舳讼到y負責用戶文件的存取,與數據節點進行交互,主要分成6個功能層次,其中,文件系統層、編碼層和存儲層是必需的,而訪問控制層、加密層和擬態變換層是可選的,對其他層是透明的。數據節點分布于網絡中,通過安全信道與客戶端相連。數據節點支持不同類型的存儲設備和存儲系統,本節討論的數據節點是廣義的數據節點,既可以是普通的 PC機、服務器,也可以是數據中心、云服務提供商(如百度云、DropBox)等大型存儲設施。

圖8 系統的整體架構

客戶端系統采用基于代理的結構,用戶通過在終端運行代理程序與數據節點進行交互。代理程序對上向用戶和應用程序提供標準統一的數據訪問接口,屏蔽下層的實現細節;對下兼容各種不同類型的存儲系統和存儲介質,能夠適應不同的存儲和網絡設置,可根據不同的業務和安全性需求,添加和調整功能構件??蛻舳讼到y采用松耦合的分層設計,具有良好的可擴展性,每個功能層次相互獨立,各層之間約定了數據交換格式和調用接口,各層的功能模塊可根據用戶需求進行動態重構,每一層可以根據需要動態替換和增加其他的功能和組件,而不影響其他層的功能和系統整體的邏輯結構。

1) 文件系統層

文件系統層負責與用戶和上層應用進行交互,對上提供標準的數據訪問接口(包括讀、寫、刪除和更新等操作),處理由用戶發起的文件操作請求,還負責文件元數據的創建和維護。文件系統層建立在開源的應用層文件系統框架FUSE之上,實現了標準的文件操作接口。它支持以邏輯驅動器的形式掛載在主機的文件系統下,這樣既可以簡化設計,又允許應用程序像訪問本地文件一樣透明地訪問云端數據,而不需要關心底層的實現細節。

2) 訪問控制層

訪問控制層負責文件內容的訪問控制,根據用戶要求和文件屬性定制和執行不同的訪問控制策略,并將這些策略存儲在數據庫中。通過審查用戶的文件讀取請求,來驗證用戶的身份,對照用戶文件預設的訪問權限執行訪問控制,可防止數據的非授權訪問,保護用戶數據安全。

3) 加密層

加密層負責對數據進行加解密操作,對下行數據進行加密處理,對上行數據進行解密處理,該層功能相對獨立,對文件系統層和編碼層完全透明。加密層包括加密器、解密器和密鑰管理模塊3部分,支持不同類型的加密方案。為了提高加密的效率,一般采用對稱加密算法,如 AES128、AES256、3DES、RC4等。

4) 編碼層

編碼層負責對數據進行切分和編碼,包括編碼器、解碼器、修復模塊、編碼管理和配置模塊。編碼層針對基本的編碼和譯碼操作,設計了相應的編碼和譯碼原語,向用戶開放了編程接口,用戶可以根據需要實現自定義的編碼方案,也可建立自己的編碼庫;編碼管理和配置模塊用來讀取編碼參數和使用偽隨機數發生器而產生編碼矩陣。編碼層各個模塊之間相互獨立,通過規范的接口相連,具有較好的擴展性。

5) 擬態變換層

擬態變換層負責為各個數據節點計算擬態變換參數。該層是一個可選的層,只參與數據的擬態變換操作,在文件的上傳和下載過程中,擬態變換層被跳過,不執行任何操作。擬態變換層中運行擬態變換協議,建立和維持客戶端主機與數據節點間的安全鏈路,響應擬態變換請求,產生和分發擬態變換參數。

當客戶端系統收到某個數據節點的擬態變換請求時,具體的處理過程如下。

Step1 擬態變換層從擬態變換請求包中解析出目標數據節點的標識和其上數據塊的序列號范圍。

Step2 擬態變換層從本地元信息數據庫中讀取編碼矩陣,運行擬態變換算法(詳細可參考 4.4節),為其計算擬態變換參數。擬態變換參數包括該目標節點需要下載的數據塊列表和擬態變換矩陣。

Step3 用戶端將擬態變換參數發送給目標數據節點,數據節點進行擬態變換。

6) 存儲層

存儲層負責數據塊的存取訪問,將編碼數據塊分發給網絡上的數據節點進行存儲,可根據編碼層的數據塊訪問請求,從云端數據節點上讀取相應的編碼塊,對下可兼容不同類型的存儲介質和存儲系統。存儲層對下層的存儲介質進行了抽象,屏蔽了下層存儲系統的實現細節,對上提供統一的訪問接口。

存儲層為上層提供訪問不同的存儲節點的通用接口,負責數據塊粒度的讀寫訪問。存儲層會根據編碼層所使用的編碼方式,綜合考慮下層不同的數據節點受損概率、I/O性能來確定相應的放置策略,并根據數據節點的運行狀況進行實時的調整。

7) 數據節點

數據節點可以是普通的PC機、廉價的商用服務器、NAS設備,也可以是云服務提供商或大型的數據倉庫等。數據節點需要具備一定的存儲和計算能力,每個數據節點上需要運行一個守護進程,負責采集系統運行信息,與客戶端程序配合完成文件的寫入、讀取、更新操作和擬態變換等操作。

本文使用 C++語言實現一個擬態存儲實驗系統。其中,文件系統層是基于開源的應用層文件系統框架FUSE來實現,提供了最基本的文件讀寫操作接口,在此基礎上實現了擬態變換功能。訪問控制層使用訪問控制列表(ACL,access control list)來實現強制訪問控制,ACL存儲在共享數據庫中。加密層使用開源的加密庫 Crypto++5.6.5提供的API接口,Crypto++庫支持多種不同密鑰長度的對稱加密算法,如 DES、3DES、AES128、AES256等,滿足對不同安全等級文件的加密需求。編碼層和擬態變換層使用 Jersure庫提供的Galois域操作接口和矩陣運算庫 Eigen3,實現了 Reed-Solomon和FMSR這2種編碼方案。客戶端與云端存儲系統間使用OpenSSL建立安全信道。數據節點采用了普通的服務器,每個數據節點上運行一個守護進程,專門用于數據的讀取、寫入和擬態變換。

8.2 性能測試與分析

本文利用局域網環境和OpenStack來模擬真實的云存儲環境,部署了擬態存儲系統。實驗拓撲和相關配置如圖 9所示,客戶機運行客戶端程序,6個存儲節點由OpenStack虛擬而來,每個節點上運行一個守護進程,負責用戶數據的讀取、寫入和擬態變換。存儲節點和客戶機通過局域網連接,為了簡化客戶端的存儲層,存儲節點通過網絡文件系統(NFS)掛載在客戶機目錄下,這樣客戶機可以通過訪問本地目錄來訪問存儲節點。

圖9 實驗拓撲與配置

本節對擬態存儲機制進行功能驗證和性能測試,主要從文件的上傳、下載、擬態變換3個方面進行實驗。實驗采用的編碼方案是(6,4)FMSR碼,采用的有限域為GF(28)。

8.2.1 文件的上傳

本文分別選取不同大小的文件上傳到數據節點上,測量上傳過程所需要的時間,實驗結果如圖10所示。文件的上傳過程需要經過4個階段:文件的加密、數據切分編碼、數據的傳輸、數據節點接收并寫入數據。從圖 10中可以看出,文件上傳的大部分時間都消耗在網絡傳輸上面,而加密和編碼環節所用的時間相對比較少。隨著文件大小的增加,數據上傳所用的時間大致呈線性增長趨勢,說明存儲機制具有良好的穩定性和適應性。

8.2.2 文件的下載

本節將前面上傳到數據節點上的文件分別下載到本地,測量下載過程所需要的時間,結果如圖 11所示。文件的下載過程分為4個子過程:數據讀取、數據傳輸、數據譯碼、數據塊合并和解密。從圖11中可以看出,數據的讀取和傳輸時間占總下載時間的主要部分,數據譯碼和解密時間相對較少,下載所用時間與文件大小大致呈線性關系。

圖10 文件大小與上傳時間關系

圖11 文件大小與下載時間關系

8.2.3 擬態變換

本節任選一個數據節點,對于不同大小的文件進行擬態變換,測量一次擬態變換所需的時間如圖12所示。擬態變換過程主要分為4部分:客戶端計算變換參數、節點端下載編碼塊、數據重構和節點端寫入編碼塊。從圖12中可以看出,隨著文件大小的增加,擬態變換的時間呈線性增長。數據的擬態變換操作的時間開銷主要集中于文件的網絡傳輸和I/O操作上,變換參數的計算和編碼過程占用的時間較少,說明擬態變換算法的計算開銷較小,不會對系統性能造成明顯的影響。

圖12 文件大小與擬態變換時間關系

8.2.4 數據的完整性和可用性驗證

文件上傳時計算其散列值,對其進行若干次的擬態變換后,將其下載到本地,還原出原始文件,再計算其散列值,比較2個散列值是否一致,以此來檢驗數據的完整性。使用SHA-1算法來計算文件的散列值,對100個不同的文件,每個數據節點進行1 000次擬態變換,對變換前后的散列值進行比對,實驗結果表明,文件的完整性并未遭到破壞,數據依然保持持續可用性。

9 結束語

本文針對存儲系統因靜態存儲模式而易被攻擊的問題,提出了一種基于再生碼的擬態存儲機制,通過對數據進行編碼存儲,并在云端進行擬態變換,增加了攻擊者獲得數據的難度和成本;對擬態變換問題進行了建模與分析,給出了擬態變換過程中數據完整性和持續可用性的形式化證明;對擬態變換機制進行了仿真實驗,驗證了擬態變換的正確性和有效性,分析了不同參數和有限域大小對變換性能的影響;對擬態化存儲機制的擬態特征進行歸納,并分析了其安全性;設計和實現了一個擬態存儲實驗系統,并進行了性能測試和分析,實驗結果表明,擬態變換方案切實可行,能夠保證數據的持續可用性和完整性。

參考文獻:

[1]PALANKAR M R,IAMNITCHI A,RIPEANU M,et al. Amazon S3 for science grids: a viable solution?[C]// The 2008 International Workshop on Data-aware Distributed Computing. 2008: 55-64.

[2]CALDER B,WANG J,OGUS A,et al. Windows azure storage: a highly available cloud storage service with strong consistency[C]//The Twenty-Third ACM Symposium on Operating Systems Principles.2011: 143-157.

[3]MCKUSICK K,QUINLAN S. GFS: evolution on fast-forward[J].Communications of the ACM,2010,53(3):42-49.

[4]SHVACHKO K,KUANG H,RADIA S,et al. The Hadoop distributed file system[C]//MASS Storage Systems and Technologies. 2010:1-10.

[5]羅象宏,舒繼武. 存儲系統中的糾刪碼研究綜述[J]. 計算機研究與發展,2012,49(1):1-11.LUO X H,SHU J W. Summary of research for erasure code in storage system[J]. Journal of Computer Research and Development,2012,49(1):1-11.

[6]鄔江興. 網絡空間擬態安全防御[J]. 保密科學技術,2014(10):4-10.WU J X. Cyber minic security defense[J]. Secrecy Science and Technology,2014(10):4-10.

[7]鄔江興,張帆,羅興國,等. 擬態計算與擬態安全防御[J]. 計算機學會通訊,2015,11(1): 8-14.WU J X,ZHANG F,LUO X G,et al. The meaning and vision of minic computing and minic security defense[J].Communications of CCF,2015,11(1): 8-14.

[8]鄔江興. 網絡空間擬態防御研究[J]. 信息安全學報,2016,1(4):1-10.WU J X. Research on cyber mimic defense[J]. Journal of Cyber Security,2016,1(4):1-10.

[9]羅興國,仝青,張錚,等. 擬態防御技術[J]. 中國工程科學,2016,18(6):69-73.LUO X G,TONG Q,ZHANG Z,et al. Mimic defense technology[J].Engineering Sciences,2016,18(6):69-73.

[10]斯雪明,王偉,曾俊杰,等. 擬態防御基礎理論研究綜述[J]. 中國工程科學,2016,18(6):62-68.SI X M,WANG W,ZENG J J,et al. A review of the basic theory of mimic defense[J]. Engineering Sciences,2016,18(6):62-68.

[11]龐建民,張宇嘉,張錚,等. 擬態防御技術結合軟件多樣化在軟件安全產業中的應用[J]. 中國工程科學,2016,18(6):74-78.PANG J M,ZHANG Y J,ZHANG Z,et al. Applying a combination of mimic defense and software diversity in the software security industry[J]. Engineering Sciences,2016,18(6):74-78.

[12]鄔江興. 專題導讀—擬態計算與擬態安全防御的原意和愿景[J].電信科學,2014,30(7):1-7.WU J X. Meaning and vision of mimic computing and mimic security defense[J]. Telecommunications Science,2014,30(7):1-7.

[13]吳春明. 動態網絡主動安全防御的若干思考[J]. 中興通訊技術,2016(1):34-37.WU C M. Proactive security defense of dynamic network[J].ZTE Technology Journal,2016(1):34-37.

[14]仝青,張錚,張為華,等.擬態防御 Web 服務器設計與實現[J]. 軟件學報,2017,28(4):883-897.TONG Q,ZHANG Z,ZHANG W H,et al. Design and implementation of mimic defense Web server[J]. Journal of Software,2017,28(4):883-897.

[15]張錚,馬博林,鄔江興. Web服務器擬態防御原理驗證系統測試與分析[J]. 信息安全學報,2017,2(1):13-28.ZHANG Z,MA B L,WU J X. The test and analysis of prototype of mimic defense in web servers[J]. Journal of Cyber Security,2017,2(1):13-28.

[16]HU Y,LEE P P C,SHUM K W. Analysis and construction of functional regenerating codes with uncoded repair for distributed storage systems[C]// IEEE INFOCOM. 2012:2355-2363.

[17]TRACEY H,MURIEL M. On randomized network coding[C]//The Annual Allerton Conference on Communication Control and Computing. 2003(3):11-20.

[18]MOSHKOVITZ D. An alternative proof of the schwartz-zippel lemma[J].Electronic Colloquium on Computational Complexity,2010,17.

[19]PLANK J S. Jerasure: a libraryin C/C++facilitating erasure coding for storage applications-version 1.2,UT-CS-08-627[R]. Department of Computer Science,University of Tennessee,2008.

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 九九热精品视频在线| 国产亚洲精品在天天在线麻豆| 真人高潮娇喘嗯啊在线观看| 国产乱子伦视频在线播放| 国产精品亚洲五月天高清| 国产成人调教在线视频| 亚洲精品制服丝袜二区| 欧美69视频在线| 国产在线视频福利资源站| 欧美午夜在线播放| 久久精品aⅴ无码中文字幕| 国产网站在线看| 日韩精品欧美国产在线| 在线观看亚洲国产| 国产人碰人摸人爱免费视频| 天天躁夜夜躁狠狠躁躁88| 亚洲最猛黑人xxxx黑人猛交| 超薄丝袜足j国产在线视频| 亚洲三级a| 天天婬欲婬香婬色婬视频播放| 亚洲欧美日韩动漫| 久久香蕉国产线| 免费国产黄线在线观看| 一区二区三区国产| 日韩精品久久久久久久电影蜜臀| 香蕉精品在线| 尤物视频一区| 欧美三级视频网站| 国产va免费精品观看| 欧美影院久久| 国产香蕉国产精品偷在线观看| 99久久亚洲综合精品TS| 人与鲁专区| 亚洲大尺度在线| 永久免费无码日韩视频| 美女毛片在线| 亚洲综合二区| 国产成人精品2021欧美日韩| 亚洲av中文无码乱人伦在线r| 日本免费一级视频| 日本高清有码人妻| 亚洲天堂网在线视频| 精品免费在线视频| 成人一级免费视频| 伊人久久青草青青综合| 久久精品免费看一| 国产清纯在线一区二区WWW| 亚洲福利一区二区三区| 华人在线亚洲欧美精品| 一区二区理伦视频| 人妻无码中文字幕第一区| 97在线公开视频| 国产福利在线免费| 中文字幕在线日韩91| 毛片免费高清免费| 无码在线激情片| 国产成人无码Av在线播放无广告| 四虎亚洲精品| 国产黄色片在线看| 国产人在线成免费视频| 免费看av在线网站网址| 亚洲日本一本dvd高清| 国产成人亚洲毛片| 97在线观看视频免费| 黄色网址免费在线| 国产高潮流白浆视频| 日韩无码精品人妻| www.日韩三级| 婷婷色在线视频| 91精品情国产情侣高潮对白蜜| 国产高颜值露脸在线观看| 亚洲一区毛片| 亚洲系列中文字幕一区二区| 亚洲成AV人手机在线观看网站| 真实国产乱子伦视频| 欧美有码在线| 国产精品欧美在线观看| 国产成人免费视频精品一区二区| 国产精品美女在线| 免费激情网站| 91精品伊人久久大香线蕉| 亚洲性一区|