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

基于再生碼的擬態(tài)數(shù)據(jù)存儲方案

2018-05-08 01:09:18陳越王龍江嚴新成張馨月
通信學(xué)報 2018年4期
關(guān)鍵詞:系統(tǒng)

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

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

1 引言

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

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

2 相關(guān)工作

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

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

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

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

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

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

3 擬態(tài)存儲原理

本節(jié)主要介紹擬態(tài)存儲的基本原理和核心技術(shù)。

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

擬態(tài)化存儲機制主要包括數(shù)據(jù)的上傳、下載和擬態(tài)變換3個部分。其中,數(shù)據(jù)的上傳和下載使用現(xiàn)有的網(wǎng)絡(luò)編碼存儲技術(shù)就能實現(xiàn),網(wǎng)絡(luò)編碼存儲方案具有天然的冗余性,相關(guān)方案已經(jīng)比較成熟。

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

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

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

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

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

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

當某個數(shù)據(jù)節(jié)點因為意外情況失效了(例如,系統(tǒng)故障或外部原因?qū)е聼o法對外提供服務(wù)),為了保證數(shù)據(jù)的安全性和服務(wù)的連續(xù)性,必須盡快對其上的數(shù)據(jù)進行修復(fù)。數(shù)據(jù)的重構(gòu)過程需要在其他n-1個數(shù)據(jù)節(jié)點上各取一個數(shù)據(jù)塊,將這n-1個數(shù)據(jù)塊重新編碼生成n-k個編碼塊,替代失效節(jié)點的數(shù)據(jù),(4,2)FMSR碼的修復(fù)過程如圖1所示。

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

4 數(shù)據(jù)擬態(tài)化存儲機制

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

4.1 存儲框架

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

圖2 存儲框架

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

4.2 數(shù)據(jù)的上傳

數(shù)據(jù)的上傳需要經(jīng)過以下2個步驟。

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

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

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

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

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

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

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

4.3 數(shù)據(jù)的下載

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

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

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

圖3 n=4、k=2時的數(shù)據(jù)上傳過程

圖4 n=4、k=2時的數(shù)據(jù)下載過程

4.4 數(shù)據(jù)的擬態(tài)變換

4.4.1 擬態(tài)變換

在數(shù)據(jù)節(jié)點N1,N2,…,Nn中,假設(shè)對數(shù)據(jù)節(jié)點Nt上的數(shù)據(jù)進行擬態(tài)變換,單輪擬態(tài)變換需經(jīng)過以下7個步驟。

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

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

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

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

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

Step6 客戶端將TM以及從Step1中挑選出的編碼塊序號發(fā)送給數(shù)據(jù)節(jié)點Nt。

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

當n=4、k=2時,對數(shù)據(jù)節(jié)點1進行擬態(tài)變換的過程如圖5所示。

4.4.2 擬態(tài)變換協(xié)議

擬態(tài)變換協(xié)議用于用戶端系統(tǒng)與數(shù)據(jù)節(jié)點間變換參數(shù)的協(xié)商。為了保證交互信息的安全性,擬態(tài)變換協(xié)議使用了TSL協(xié)議來構(gòu)建安全信道,對交換的控制信息進行了加密處理。用戶端系統(tǒng)和數(shù)據(jù)節(jié)點間的交互過程如圖6所示。

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

當客戶端收到所有數(shù)據(jù)節(jié)點發(fā)來的存儲完成消息后,說明所有的數(shù)據(jù)塊已經(jīng)存儲完成,向每個數(shù)據(jù)節(jié)點發(fā)送存儲完成消息確認消息。

圖5 n=4、k=2時對數(shù)據(jù)節(jié)點1的擬態(tài)變換過程

圖6 擬態(tài)變換協(xié)議示意

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

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

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

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

數(shù)據(jù)節(jié)點收到確認消息后,啟動定時器,進入下一個擬態(tài)變換周期。

4.4.3 擬態(tài)變換周期的確定

擬態(tài)變換周期通常以小時為單位,初始化為一個[1,10]之間的隨機值,并隨著數(shù)據(jù)節(jié)點的運行狀態(tài)和網(wǎng)絡(luò)的安全態(tài)勢的變化而變化。

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

r越大,表示當前節(jié)點的系統(tǒng)資源越充足;r越小,表示當前節(jié)點的系統(tǒng)資源越緊缺。

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

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

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

5 擬態(tài)變換的建模與分析

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

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

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

因此,不難得出若一個編碼數(shù)據(jù)集滿足MDS性質(zhì),則其編碼矩陣也滿足MDS性質(zhì)。

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

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

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

1) A是滿秩的。

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

3) S '可解碼出原始數(shù)據(jù)。

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

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

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

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

證明 使用歸納法證明。

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

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

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

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

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

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

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

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

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

6 仿真實驗

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

圖7 仿真程序流程

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

1) 初始狀態(tài)的編碼矩陣為

2) 當對節(jié)點3進行變換時,其對應(yīng)的編碼系數(shù)標記為0,對應(yīng)的矩陣為

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

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

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

6) 用新節(jié)點系數(shù)矩陣的系數(shù)替換節(jié)點 3的編碼系數(shù),檢查新的編碼矩陣是否滿足MDS 性質(zhì)。

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

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

6.1 編碼參數(shù)對擬態(tài)變換性能的影響

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

表1 不同參數(shù)設(shè)置下擬態(tài)變換需迭代的次數(shù)

表2 不同參數(shù)設(shè)置下擬態(tài)變換的平均時間

從實驗結(jié)果可以看出,當n和k逐漸增大時,生成具有MDS性質(zhì)的編碼矩陣所需要的迭代總次數(shù)逐漸增加。當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 次。生成可用的變換矩陣所用時間也隨著參數(shù)n的變大而增加,但均不超過1 s。

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

6.2 有限域大小對擬態(tài)變換性能的影響

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

表3 不同大小有限域下擬態(tài)變換需迭代的次數(shù)

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

7 安全性分析

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

1) 冗余性增加了系統(tǒng)的可靠性,可保護數(shù)據(jù)的完整性和服務(wù)的連續(xù)性

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

冗余性能夠避免節(jié)點失效造成的數(shù)據(jù)損失,保證了用戶數(shù)據(jù)的完整性和可用性,可有效應(yīng)對攻擊者對系統(tǒng)的蓄意破壞和污染攻擊行為,增強了系統(tǒng)的可靠性,確保了數(shù)據(jù)的安全性和服務(wù)的連續(xù)性。

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

基于網(wǎng)絡(luò)編碼的擬態(tài)存儲系統(tǒng)中的隨機性主要體現(xiàn)在以下2個方面。

①數(shù)據(jù)的編碼過程采用了隨機線性網(wǎng)絡(luò)編碼,其編碼參數(shù)是在有限域中隨機選取的,僅要求編碼矩陣滿足MDS性質(zhì)即可。利用隨機算法來構(gòu)造編碼矩陣,可以防止攻擊者對編碼矩陣進行碰撞攻擊,當有限域的規(guī)模足夠大時,對編碼參數(shù)的窮舉攻擊在現(xiàn)有的計算條件下幾乎是不可能的。

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

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

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

時變性主要體現(xiàn)在變換時機的選取上,在本文方案中,每個數(shù)據(jù)節(jié)點會維持一個定時器,變換周期初始化為一個隨機的時間,隨后會隨著系統(tǒng)資源的使用情況和安全狀況進行動態(tài)的調(diào)整。當定時器到時,就啟動數(shù)據(jù)的變換過程,對當前節(jié)點上的數(shù)據(jù)進行重構(gòu)。

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

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

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

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

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

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

5) 擬態(tài)變換機制可減小系統(tǒng)的攻擊面

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

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

8 系統(tǒng)實現(xiàn)與性能分析

本節(jié)設(shè)計和實現(xiàn)了一個擬態(tài)存儲驗證系統(tǒng),該系統(tǒng)采用了分層的松耦合系統(tǒng)結(jié)構(gòu),實現(xiàn)了上文提出的擬態(tài)變換機制,并在真實的網(wǎng)絡(luò)和存儲環(huán)境下,進行了相關(guān)的功能驗證和性能測試。

8.1 系統(tǒng)設(shè)計與實現(xiàn)

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

圖8 系統(tǒng)的整體架構(gòu)

客戶端系統(tǒng)采用基于代理的結(jié)構(gòu),用戶通過在終端運行代理程序與數(shù)據(jù)節(jié)點進行交互。代理程序?qū)ι舷蛴脩艉蛻?yīng)用程序提供標準統(tǒng)一的數(shù)據(jù)訪問接口,屏蔽下層的實現(xiàn)細節(jié);對下兼容各種不同類型的存儲系統(tǒng)和存儲介質(zhì),能夠適應(yīng)不同的存儲和網(wǎng)絡(luò)設(shè)置,可根據(jù)不同的業(yè)務(wù)和安全性需求,添加和調(diào)整功能構(gòu)件??蛻舳讼到y(tǒng)采用松耦合的分層設(shè)計,具有良好的可擴展性,每個功能層次相互獨立,各層之間約定了數(shù)據(jù)交換格式和調(diào)用接口,各層的功能模塊可根據(jù)用戶需求進行動態(tài)重構(gòu),每一層可以根據(jù)需要動態(tài)替換和增加其他的功能和組件,而不影響其他層的功能和系統(tǒng)整體的邏輯結(jié)構(gòu)。

1) 文件系統(tǒng)層

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

2) 訪問控制層

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

3) 加密層

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

4) 編碼層

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

5) 擬態(tài)變換層

擬態(tài)變換層負責為各個數(shù)據(jù)節(jié)點計算擬態(tài)變換參數(shù)。該層是一個可選的層,只參與數(shù)據(jù)的擬態(tài)變換操作,在文件的上傳和下載過程中,擬態(tài)變換層被跳過,不執(zhí)行任何操作。擬態(tài)變換層中運行擬態(tài)變換協(xié)議,建立和維持客戶端主機與數(shù)據(jù)節(jié)點間的安全鏈路,響應(yīng)擬態(tài)變換請求,產(chǎn)生和分發(fā)擬態(tài)變換參數(shù)。

當客戶端系統(tǒng)收到某個數(shù)據(jù)節(jié)點的擬態(tài)變換請求時,具體的處理過程如下。

Step1 擬態(tài)變換層從擬態(tài)變換請求包中解析出目標數(shù)據(jù)節(jié)點的標識和其上數(shù)據(jù)塊的序列號范圍。

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

Step3 用戶端將擬態(tài)變換參數(shù)發(fā)送給目標數(shù)據(jù)節(jié)點,數(shù)據(jù)節(jié)點進行擬態(tài)變換。

6) 存儲層

存儲層負責數(shù)據(jù)塊的存取訪問,將編碼數(shù)據(jù)塊分發(fā)給網(wǎng)絡(luò)上的數(shù)據(jù)節(jié)點進行存儲,可根據(jù)編碼層的數(shù)據(jù)塊訪問請求,從云端數(shù)據(jù)節(jié)點上讀取相應(yīng)的編碼塊,對下可兼容不同類型的存儲介質(zhì)和存儲系統(tǒng)。存儲層對下層的存儲介質(zhì)進行了抽象,屏蔽了下層存儲系統(tǒng)的實現(xiàn)細節(jié),對上提供統(tǒng)一的訪問接口。

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

7) 數(shù)據(jù)節(jié)點

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

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

8.2 性能測試與分析

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

圖9 實驗拓撲與配置

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

8.2.1 文件的上傳

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

8.2.2 文件的下載

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

圖10 文件大小與上傳時間關(guān)系

圖11 文件大小與下載時間關(guān)系

8.2.3 擬態(tài)變換

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

圖12 文件大小與擬態(tài)變換時間關(guān)系

8.2.4 數(shù)據(jù)的完整性和可用性驗證

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

9 結(jié)束語

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

參考文獻:

[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]羅象宏,舒繼武. 存儲系統(tǒng)中的糾刪碼研究綜述[J]. 計算機研究與發(fā)展,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]鄔江興. 網(wǎng)絡(luò)空間擬態(tài)安全防御[J]. 保密科學(xué)技術(shù),2014(10):4-10.WU J X. Cyber minic security defense[J]. Secrecy Science and Technology,2014(10):4-10.

[7]鄔江興,張帆,羅興國,等. 擬態(tài)計算與擬態(tài)安全防御[J]. 計算機學(xué)會通訊,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]鄔江興. 網(wǎng)絡(luò)空間擬態(tài)防御研究[J]. 信息安全學(xué)報,2016,1(4):1-10.WU J X. Research on cyber mimic defense[J]. Journal of Cyber Security,2016,1(4):1-10.

[9]羅興國,仝青,張錚,等. 擬態(tài)防御技術(shù)[J]. 中國工程科學(xué),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]斯雪明,王偉,曾俊杰,等. 擬態(tài)防御基礎(chǔ)理論研究綜述[J]. 中國工程科學(xué),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]龐建民,張宇嘉,張錚,等. 擬態(tài)防御技術(shù)結(jié)合軟件多樣化在軟件安全產(chǎn)業(yè)中的應(yīng)用[J]. 中國工程科學(xué),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]鄔江興. 專題導(dǎo)讀—擬態(tài)計算與擬態(tài)安全防御的原意和愿景[J].電信科學(xué),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]吳春明. 動態(tài)網(wǎng)絡(luò)主動安全防御的若干思考[J]. 中興通訊技術(shù),2016(1):34-37.WU C M. Proactive security defense of dynamic network[J].ZTE Technology Journal,2016(1):34-37.

[14]仝青,張錚,張為華,等.擬態(tài)防御 Web 服務(wù)器設(shè)計與實現(xiàn)[J]. 軟件學(xué)報,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服務(wù)器擬態(tài)防御原理驗證系統(tǒng)測試與分析[J]. 信息安全學(xué)報,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.

猜你喜歡
系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
基于UG的發(fā)射箱自動化虛擬裝配系統(tǒng)開發(fā)
半沸制皂系統(tǒng)(下)
FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統(tǒng) 德行天下
PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
主站蜘蛛池模板: 性做久久久久久久免费看| 中文字幕人妻av一区二区| 91久久精品日日躁夜夜躁欧美| 最新国产精品第1页| 久久中文电影| 草草影院国产第一页| 免费a级毛片18以上观看精品| 真实国产精品vr专区| 日韩欧美91| 高清不卡一区二区三区香蕉| 国产精品免费电影| 亚洲国产成人精品一二区| 91免费国产在线观看尤物| 久久婷婷国产综合尤物精品| 91原创视频在线| 欧美成人看片一区二区三区| 国产精品成| 国产办公室秘书无码精品| 欧美成人日韩| 毛片免费观看视频| 99精品欧美一区| 啪啪永久免费av| 国产在线97| 国产丝袜第一页| 色噜噜狠狠色综合网图区| 欧美视频在线第一页| 国产精品久久久久久久久| 国产欧美在线观看一区| 无码高潮喷水专区久久| 亚洲天堂精品在线| 国产簧片免费在线播放| 亚洲一区二区约美女探花| 亚洲中文在线看视频一区| 成人在线视频一区| 波多野吉衣一区二区三区av| 波多野结衣在线一区二区| 亚洲欧美色中文字幕| 久久这里只有精品23| 制服丝袜 91视频| 成人一区专区在线观看| 久久久国产精品无码专区| 亚洲国产天堂久久综合| 92午夜福利影院一区二区三区| 黄色三级毛片网站| 色综合天天视频在线观看| 成人另类稀缺在线观看| 三级国产在线观看| 成人免费午间影院在线观看| 伊人91在线| 国产丝袜第一页| 日韩在线成年视频人网站观看| 91成人精品视频| 国产麻豆精品在线观看| 国产高清免费午夜在线视频| 成人亚洲视频| 亚洲欧美不卡中文字幕| 一区二区三区四区在线| 天天躁狠狠躁| 97超碰精品成人国产| 久久久91人妻无码精品蜜桃HD| 日本成人精品视频| 欧美精品xx| 中文字幕啪啪| 五月六月伊人狠狠丁香网| 中文字幕av一区二区三区欲色| 日本91视频| 免费啪啪网址| 中文字幕无码av专区久久| 午夜毛片免费看| 欧美国产成人在线| 一级毛片无毒不卡直接观看| 亚洲天堂网在线观看视频| 最新国语自产精品视频在| 日韩第九页| 婷婷六月综合网| 国产成人亚洲精品无码电影| 亚洲成aⅴ人在线观看| 九九久久精品免费观看| 国产日产欧美精品| Aⅴ无码专区在线观看| 亚洲性影院| 一级片免费网站|