本發(fā)明涉及一種維護(hù)分布式存儲(chǔ)系統(tǒng)數(shù)據(jù)可信的系統(tǒng)及方法,屬于信息安全技術(shù)領(lǐng)域。
背景技術(shù):
現(xiàn)有的大規(guī)模分布式存儲(chǔ)系統(tǒng)通常能夠較好地維護(hù)數(shù)據(jù)的完整性和一致性,卻無法避免甚至監(jiān)控?cái)?shù)據(jù)發(fā)生被盜竊和被篡改的情況,數(shù)據(jù)的安全性和可信度無法得到保證。利用現(xiàn)有的可信技術(shù),通過在可信的主機(jī)上建立起可信的存儲(chǔ)系統(tǒng),可以保證存儲(chǔ)數(shù)據(jù)的可信。
可信技術(shù)作為可信存儲(chǔ)系統(tǒng)的基礎(chǔ),提供了一個(gè)安全的硬件平臺(tái)以及遠(yuǎn)程驗(yàn)證機(jī)制。可信是指以安全芯片為基礎(chǔ),建立終端平臺(tái)信任,然后通過遠(yuǎn)程證明,建立終端間信任,將信任延伸到網(wǎng)絡(luò)。在一個(gè)可信環(huán)境中,系統(tǒng)執(zhí)行的任務(wù)都是預(yù)期之中的,一旦系統(tǒng)出現(xiàn)預(yù)期之外的狀況,可信鏈中將會(huì)反映出故障部件,將其標(biāo)注為不可信。
可信計(jì)算平臺(tái)通過可信平臺(tái)模塊對(duì)BIOS等底層代碼以及操作系統(tǒng)關(guān)鍵代碼等進(jìn)行度量,將度量得到的完整性數(shù)據(jù)包括度量值列表和度量摘要分別保存在系統(tǒng)的安全存儲(chǔ)區(qū)和可信芯片內(nèi)部。平臺(tái)提供完整性度量,可信的第三方則通過遠(yuǎn)程證明對(duì)其身份與狀態(tài)進(jìn)行認(rèn)證。這種自我監(jiān)測(cè),外界認(rèn)證的方式能夠使遠(yuǎn)程的用戶了解平臺(tái)的安全狀況,方便用戶和管理者及時(shí)做出響應(yīng)。
然而僅僅基于可信計(jì)算平臺(tái)無法保證數(shù)據(jù)的可信狀態(tài)。當(dāng)少量的服務(wù)器由于意外或者受到攻擊等情況變?yōu)椴豢尚艩顟B(tài)時(shí),一方面希望存儲(chǔ)系統(tǒng)保持穩(wěn)定性,允許偶發(fā)性的單機(jī)故障影響,故不應(yīng)將存儲(chǔ)系統(tǒng)整體標(biāo)記為不可用或不可信;另一方面,此時(shí)存儲(chǔ)系統(tǒng)可能尚未監(jiān)測(cè)到該服務(wù)器的異常狀態(tài),仍向不可信服務(wù)器寫入數(shù)據(jù),導(dǎo)致其存儲(chǔ)數(shù)據(jù)不可信;因而,被動(dòng)地依據(jù)硬件到軟件的可信狀態(tài)無法完全保證存儲(chǔ)數(shù)據(jù)的可信。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述原因,本發(fā)明的目的在于提供一種維護(hù)分布式存儲(chǔ)系統(tǒng)數(shù)據(jù)可信的系統(tǒng)及方法,系統(tǒng)從硬件安全,存儲(chǔ)系統(tǒng)軟件安全,存儲(chǔ)數(shù)據(jù)安全三個(gè)層次度量整個(gè)系統(tǒng)的可信狀態(tài),對(duì)于用戶的存儲(chǔ)數(shù)據(jù),通過驗(yàn)證存儲(chǔ)數(shù)據(jù)的存儲(chǔ)節(jié)點(diǎn)的可信狀態(tài),將數(shù)據(jù)寫入可信的存儲(chǔ)節(jié)點(diǎn),而將不可信的存儲(chǔ)節(jié)點(diǎn)暫時(shí)退出系統(tǒng),保證整個(gè)系統(tǒng)的穩(wěn)定可靠性及存儲(chǔ)數(shù)據(jù)的安全可信性。
為實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:
一種維護(hù)分布式存儲(chǔ)系統(tǒng)數(shù)據(jù)可信的系統(tǒng),包括:
安裝有可信平臺(tái)模塊的若干存儲(chǔ)節(jié)點(diǎn),
存儲(chǔ)節(jié)點(diǎn)定時(shí)從存儲(chǔ)系統(tǒng)硬件層次、存儲(chǔ)系統(tǒng)軟件層次、用戶數(shù)據(jù)層次三個(gè)層次對(duì)系統(tǒng)進(jìn)行可信驗(yàn)證。
進(jìn)一步的,
從存儲(chǔ)系統(tǒng)硬件層次進(jìn)行可信驗(yàn)證包括,每個(gè)存儲(chǔ)節(jié)點(diǎn)均安裝所述可信平臺(tái)模塊;每個(gè)存儲(chǔ)節(jié)點(diǎn)定時(shí)進(jìn)行可信度量,通過可信第三方獲取對(duì)應(yīng)的完整性報(bào)告進(jìn)行驗(yàn)證,禁止系統(tǒng)中不可信節(jié)點(diǎn)與其他存儲(chǔ)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)交互,新加入的存儲(chǔ)節(jié)點(diǎn)通過可信驗(yàn)證才能繼續(xù)驗(yàn)證存儲(chǔ)系統(tǒng)的可信性。
從存儲(chǔ)系統(tǒng)軟件層次進(jìn)行可信驗(yàn)證包括,對(duì)存儲(chǔ)系統(tǒng)軟件代碼進(jìn)行驗(yàn)證,對(duì)存儲(chǔ)系統(tǒng)軟件的運(yùn)行狀態(tài)進(jìn)行驗(yàn)證,對(duì)存儲(chǔ)系統(tǒng)的訪問狀態(tài)進(jìn)行驗(yàn)證。
從用戶數(shù)據(jù)層次進(jìn)行可信驗(yàn)證包括,所有數(shù)據(jù)均基于屬性進(jìn)行封裝,存儲(chǔ)節(jié)點(diǎn)之間傳輸數(shù)據(jù)時(shí),存儲(chǔ)節(jié)點(diǎn)通過遠(yuǎn)程認(rèn)證并處于可信狀態(tài)才能進(jìn)行數(shù)據(jù)解封裝。
用戶數(shù)據(jù)層次的可信驗(yàn)證還包括,客戶端安裝可信平臺(tái)模塊,存儲(chǔ)系統(tǒng)僅向通過驗(yàn)證的客戶端提供數(shù)據(jù)。
基于上述維護(hù)分布式存儲(chǔ)系統(tǒng)數(shù)據(jù)可信的系統(tǒng)實(shí)現(xiàn)的維護(hù)數(shù)據(jù)可信的方法,包括:
存儲(chǔ)系統(tǒng)選擇主節(jié)點(diǎn)和多個(gè)副節(jié)點(diǎn),將其中一個(gè)副節(jié)點(diǎn)作為延遲副節(jié)點(diǎn),
向主節(jié)點(diǎn)發(fā)送包括用戶數(shù)據(jù)的數(shù)據(jù)寫請(qǐng)求,主節(jié)點(diǎn)將用戶數(shù)據(jù)發(fā)送至各副節(jié)點(diǎn);
該主節(jié)點(diǎn)進(jìn)行可信驗(yàn)證,
若主節(jié)點(diǎn)可信驗(yàn)證通過,主節(jié)點(diǎn)將用戶數(shù)據(jù)發(fā)送至延遲副節(jié)點(diǎn),主節(jié)點(diǎn)對(duì)各副節(jié)點(diǎn)及延遲副節(jié)點(diǎn)進(jìn)行數(shù)據(jù)維護(hù);若主節(jié)點(diǎn)可信驗(yàn)證不通過,將主節(jié)點(diǎn)列為不可信節(jié)點(diǎn),將延遲副節(jié)點(diǎn)作為新的主節(jié)點(diǎn),重新向該新的主節(jié)點(diǎn)發(fā)送數(shù)據(jù)寫請(qǐng)求。
所述不可信節(jié)點(diǎn)暫時(shí)退出存儲(chǔ)系統(tǒng),禁止其與存儲(chǔ)系統(tǒng)中的其它存儲(chǔ)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)交互。
對(duì)所述新的主節(jié)點(diǎn)進(jìn)行可信驗(yàn)證,若其可信驗(yàn)證不通過,數(shù)據(jù)寫入失敗并發(fā)出告警,退出寫數(shù)據(jù)操作。
所述主節(jié)點(diǎn)可信驗(yàn)證不通過,副節(jié)點(diǎn)重新從存儲(chǔ)系統(tǒng)中選擇一個(gè)副節(jié)點(diǎn)。
本發(fā)明的優(yōu)點(diǎn)是:
本發(fā)明公開的維護(hù)分布式存儲(chǔ)系統(tǒng)數(shù)據(jù)可信的系統(tǒng)及方法,分布式存儲(chǔ)系統(tǒng)中每臺(tái)主機(jī)安裝有可信平臺(tái)模塊,系統(tǒng)從硬件安全,存儲(chǔ)系統(tǒng)軟件安全,存儲(chǔ)數(shù)據(jù)安全三個(gè)層次度量整個(gè)系統(tǒng)的可信狀態(tài);通過驗(yàn)證用戶存儲(chǔ)數(shù)據(jù)的存儲(chǔ)節(jié)點(diǎn)的可信狀態(tài),將數(shù)據(jù)寫入可信的存儲(chǔ)節(jié)點(diǎn),而將不可信的存儲(chǔ)節(jié)點(diǎn)暫時(shí)退出系統(tǒng),故障解決后快速恢復(fù),可保證整個(gè)系統(tǒng)的穩(wěn)定可靠性及存儲(chǔ)數(shù)據(jù)的安全可信性,同時(shí),系統(tǒng)對(duì)于潛在的威脅能夠主動(dòng)察覺并防御,進(jìn)一步提高了系統(tǒng)安全性。
附圖說明
圖1是本發(fā)明的系統(tǒng)結(jié)構(gòu)示意圖。
圖2是本發(fā)明的信號(hào)流向示意圖,主節(jié)點(diǎn)經(jīng)可信驗(yàn)證為可信節(jié)點(diǎn)。
圖3是本發(fā)明的信號(hào)流向示意圖,主節(jié)點(diǎn)經(jīng)可信驗(yàn)證為不可信節(jié)點(diǎn)。
具體實(shí)施方式
以下結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。
如圖1所示,本發(fā)明公開的維護(hù)分布式存儲(chǔ)系統(tǒng)數(shù)據(jù)可信的系統(tǒng),包括若干存儲(chǔ)節(jié)點(diǎn),每個(gè)存儲(chǔ)節(jié)點(diǎn)安裝有可信平臺(tái)模塊(TPM:Trusted Platform Module),每個(gè)存儲(chǔ)節(jié)點(diǎn)均驗(yàn)證其主機(jī)運(yùn)行時(shí)的可信狀態(tài),確保物理環(huán)境的安全,每個(gè)存儲(chǔ)節(jié)點(diǎn)定時(shí)驗(yàn)證報(bào)告整個(gè)存儲(chǔ)系統(tǒng)軟件的可信狀態(tài),例如存儲(chǔ)系統(tǒng)的操作系統(tǒng)或者存儲(chǔ)系統(tǒng)軟件是否被篡改等,同時(shí)驗(yàn)證用戶數(shù)據(jù)的完整性,以保證存儲(chǔ)系統(tǒng)的可信性??尚膨?yàn)證過程包括如下三個(gè)層次:
一、驗(yàn)證存儲(chǔ)系統(tǒng)硬件層次(包括操作系統(tǒng))的可信狀態(tài):
1)每個(gè)存儲(chǔ)節(jié)點(diǎn)的主機(jī)均安裝有可信平臺(tái)模塊;
2)每個(gè)存儲(chǔ)節(jié)點(diǎn)的主機(jī)定時(shí)進(jìn)行可信度量,并通過可信第三方獲取該主機(jī)對(duì)應(yīng)的完整性報(bào)告進(jìn)行驗(yàn)證;
3)禁止系統(tǒng)中不可信節(jié)點(diǎn)與其他節(jié)點(diǎn)通信或交換數(shù)據(jù),一旦不可信節(jié)點(diǎn)進(jìn)行數(shù)據(jù)交互,即發(fā)出告警并進(jìn)行下一層次的驗(yàn)證;
4)存儲(chǔ)系統(tǒng)中添加新的存儲(chǔ)節(jié)點(diǎn)(Host),新的存儲(chǔ)節(jié)點(diǎn)需通過可信驗(yàn)證才能繼續(xù)驗(yàn)證存儲(chǔ)系統(tǒng)的可信性;
二、驗(yàn)證存儲(chǔ)系統(tǒng)軟件層次上的可信狀態(tài):
1)對(duì)存儲(chǔ)系統(tǒng)軟件代碼進(jìn)行驗(yàn)證,即通過可信第三方獲取代碼完整性度量結(jié)果,對(duì)存儲(chǔ)系統(tǒng)軟件的運(yùn)行狀態(tài)進(jìn)行驗(yàn)證(允許軟件更新,不因?yàn)榘姹締栴}報(bào)告不可信狀態(tài));
2)對(duì)存儲(chǔ)系統(tǒng)的訪問狀態(tài)進(jìn)行驗(yàn)證,以判斷存儲(chǔ)系統(tǒng)軟件的運(yùn)行狀態(tài)是否存在異常;根據(jù)存儲(chǔ)系統(tǒng)實(shí)際應(yīng)用場(chǎng)景設(shè)置,如整個(gè)存儲(chǔ)系統(tǒng)訪問超過50%的數(shù)據(jù)或者修改10%的數(shù)據(jù)將引起系統(tǒng)安全告警;
三、用戶數(shù)據(jù)層次上的可信狀態(tài):
1)所有數(shù)據(jù)均基于屬性進(jìn)行封裝,使得數(shù)據(jù)在存儲(chǔ)系統(tǒng)上能夠保持機(jī)密性。當(dāng)不同的存儲(chǔ)節(jié)點(diǎn)之間需要傳輸數(shù)據(jù)時(shí),存儲(chǔ)節(jié)點(diǎn)需通過遠(yuǎn)程認(rèn)證并且滿足可信狀態(tài)才能夠?qū)?shù)據(jù)解除封裝;
2)對(duì)于安全性要求特別嚴(yán)格的用戶,可在其客戶端加裝可信平臺(tái)模塊,并要求存儲(chǔ)系統(tǒng)僅向通過驗(yàn)證的客戶端提供數(shù)據(jù);對(duì)于未安裝可信平臺(tái)模塊的普通用戶則無需遠(yuǎn)程驗(yàn)證,采用傳統(tǒng)的密鑰驗(yàn)證即可;
3)存儲(chǔ)系統(tǒng)為用戶保證并提供數(shù)據(jù)的可信性。
在上述維護(hù)分布式存儲(chǔ)系統(tǒng)數(shù)據(jù)可信的系統(tǒng)中,當(dāng)個(gè)別的存儲(chǔ)節(jié)點(diǎn)因受到攻擊或其它異常情況而呈不可信狀態(tài)時(shí),考慮到整個(gè)存儲(chǔ)系統(tǒng)的穩(wěn)定性,一方面,存儲(chǔ)系統(tǒng)中除不可信節(jié)點(diǎn)外的大部分存儲(chǔ)節(jié)點(diǎn)應(yīng)保持正常運(yùn)行狀態(tài),不應(yīng)受不可信節(jié)點(diǎn)的影響而導(dǎo)致整個(gè)存儲(chǔ)系統(tǒng)不可用或不可信;另一方面,不可信節(jié)點(diǎn)不再繼續(xù)正常使用,防止寫入不可信節(jié)點(diǎn)的數(shù)據(jù)成為不可信數(shù)據(jù)。
鑒于此,本發(fā)明在上述維護(hù)分布式存儲(chǔ)系統(tǒng)數(shù)據(jù)可信的系統(tǒng)的基礎(chǔ)上,還提供一種維護(hù)數(shù)據(jù)可信的方法,該方法包括:
如圖2所示,用于存儲(chǔ)數(shù)據(jù)的主節(jié)點(diǎn)經(jīng)可信驗(yàn)證為可信節(jié)點(diǎn)的情況下,具體包括如下步驟:
S10:用戶向分布式存儲(chǔ)系統(tǒng)執(zhí)行寫用戶數(shù)據(jù)操作;
S11:從分布式存儲(chǔ)系統(tǒng)中選擇主節(jié)點(diǎn)、副節(jié)點(diǎn)與延遲副節(jié)點(diǎn);
根據(jù)用戶數(shù)據(jù)從分布式存儲(chǔ)系統(tǒng)中確定主節(jié)點(diǎn)與多個(gè)副節(jié)點(diǎn),并從多個(gè)副節(jié)點(diǎn)中確定其中一個(gè)作為延遲副節(jié)點(diǎn)。
S12:向主節(jié)點(diǎn)發(fā)送數(shù)據(jù)寫請(qǐng)求,該數(shù)據(jù)寫請(qǐng)求包括用戶數(shù)據(jù);主節(jié)點(diǎn)將用戶數(shù)據(jù)發(fā)送至各副節(jié)點(diǎn);
S13:主節(jié)點(diǎn)與可信第三方進(jìn)行可信驗(yàn)證過程;
可信驗(yàn)證過程包括上述存儲(chǔ)系統(tǒng)硬件層次、存儲(chǔ)系統(tǒng)軟件層次、用戶數(shù)據(jù)層次三個(gè)層次的可信驗(yàn)證。
S14:主節(jié)點(diǎn)可信驗(yàn)證通過,主節(jié)點(diǎn)將用戶數(shù)據(jù)發(fā)送至延遲副節(jié)點(diǎn),后續(xù)由主節(jié)點(diǎn)維護(hù)各副節(jié)點(diǎn)及延遲副節(jié)點(diǎn)。
如圖3所示,主節(jié)點(diǎn)經(jīng)可信驗(yàn)證為不可信節(jié)點(diǎn)的情況下,具體包括如下步驟:
S20:用戶向分布式存儲(chǔ)系統(tǒng)執(zhí)行寫用戶數(shù)據(jù)操作;
S21:從分布式存儲(chǔ)系統(tǒng)中選擇主節(jié)點(diǎn)、副節(jié)點(diǎn)與延遲副節(jié)點(diǎn);
S22:向主節(jié)點(diǎn)發(fā)送數(shù)據(jù)寫請(qǐng)求,該數(shù)據(jù)寫請(qǐng)求包括用戶數(shù)據(jù);主節(jié)點(diǎn)將用戶數(shù)據(jù)發(fā)送至各副節(jié)點(diǎn);
S23:主節(jié)點(diǎn)與可信第三方進(jìn)行可信驗(yàn)證過程;
S24:主節(jié)點(diǎn)可信驗(yàn)證未通過,將該主節(jié)點(diǎn)列入不可信節(jié)點(diǎn),該不可信節(jié)點(diǎn)暫時(shí)退出分布式存儲(chǔ)系統(tǒng),使其不具有數(shù)據(jù)交互功能,直至其恢復(fù)可信狀態(tài);
S25:將延遲副節(jié)點(diǎn)作為新的主節(jié)點(diǎn),向該新的主節(jié)點(diǎn)發(fā)送數(shù)據(jù)寫請(qǐng)求,新的主節(jié)點(diǎn)將用戶數(shù)據(jù)發(fā)送至各副節(jié)點(diǎn);
副節(jié)點(diǎn)也可重新選擇一個(gè)新的副節(jié)點(diǎn)。
S26:新的主節(jié)點(diǎn)與可信第三方進(jìn)行可信驗(yàn)證過程,若可信驗(yàn)證通過,后續(xù)由新的主節(jié)點(diǎn)維護(hù)各副節(jié)點(diǎn);若可信驗(yàn)證仍不通過,則數(shù)據(jù)寫入失敗并發(fā)出告警,退出寫數(shù)據(jù)操作。
上所述是本發(fā)明的較佳實(shí)施例及其所運(yùn)用的技術(shù)原理,對(duì)于本領(lǐng)域的技術(shù)人員來說,在不背離本發(fā)明的精神和范圍的情況下,任何基于本發(fā)明技術(shù)方案基礎(chǔ)上的等效變換、簡(jiǎn)單替換等顯而易見的改變,均屬于本發(fā)明保護(hù)范圍之內(nèi)。