鮑康勝
摘要:隨著云計(jì)算和云存儲(chǔ)技術(shù)的快速發(fā)展和廣泛應(yīng)用,云數(shù)據(jù)的安全問題也引起了越來越多的關(guān)注。用于數(shù)據(jù)保護(hù)的傳統(tǒng)加密等技術(shù),運(yùn)算復(fù)雜度較高,且由于加密之后的秘密信息只有一份,一旦丟失秘密信息也將隨之丟失。多云存儲(chǔ)技術(shù)由于復(fù)雜度低,因此成為云數(shù)據(jù)安全的主流技術(shù)之一。但是具有丟失容忍特性的多云存儲(chǔ)系統(tǒng)還有待于進(jìn)一步研究與設(shè)計(jì)。本文將具有丟失容忍特性的秘密分享技術(shù)應(yīng)用于多云存儲(chǔ)環(huán)境中,設(shè)計(jì)了一種分級(jí)安全存儲(chǔ)系統(tǒng)。系統(tǒng)具有防止惡意內(nèi)部人員竊密、分級(jí)權(quán)限控制等優(yōu)點(diǎn)。
關(guān)鍵詞:多云存儲(chǔ) ?內(nèi)部人員竊密 ?秘密分享 ?權(quán)限控制
隨著云計(jì)算的發(fā)展,云存儲(chǔ)技術(shù)越來越受到人們的青睞,把重要數(shù)據(jù)存放在云上也是越來越多人的選擇。然而,僅將數(shù)據(jù)存放在單個(gè)云上將承擔(dān)很大的風(fēng)險(xiǎn),因?yàn)榧词乖铺峁┥淌强尚诺?,惡意的?nèi)部人員仍可能竊取用戶信息,導(dǎo)致信息的泄露。
考慮如下一個(gè)應(yīng)用場(chǎng)景,一家公司選擇將重要數(shù)據(jù)存儲(chǔ)在云上,但如果是直接將數(shù)據(jù)以明文形式存放在云上,即使云提供商是可信的,但惡意的內(nèi)部人員仍然難以防范,因此,考慮以秘密分享方式把秘密分享為n個(gè)秘密份額分發(fā)到n個(gè)云上,只有拿到k及k個(gè)以上份額才能恢復(fù)秘密,這樣惡意的內(nèi)部人員拿到一個(gè)秘密份額是無法得到秘密的任何信息的,提高了數(shù)據(jù)的安全性。但由于公司內(nèi)員工(這里把公司中所有人員統(tǒng)稱為員工)也分為不同的等級(jí),公司的文件也相應(yīng)有不同的密級(jí),因此不同等級(jí)的員工應(yīng)該接觸到的最高文件密級(jí)也不同,員工等級(jí)越高,就能操作越高密級(jí)的文件,也即是不同等級(jí)的員工擁有不同的權(quán)限。例如,該公司有高層、中層和底層三個(gè)等級(jí)的員工,則文件密級(jí)對(duì)應(yīng)為密級(jí)3、密級(jí)2和密級(jí)1,高層員工可以對(duì)所有密級(jí)文件進(jìn)行操作,如高層員工Alice想發(fā)布一個(gè)秘密文件,只讓中層和高層人員查看,那么她應(yīng)將文件密級(jí)設(shè)為2;中層員工能對(duì)密級(jí)為1和2的文件進(jìn)行操作;底層員工只能對(duì)密級(jí)為1的文件進(jìn)行操作。
用于類似于以上場(chǎng)景的數(shù)據(jù)保護(hù)的傳統(tǒng)的加密等技術(shù),運(yùn)算復(fù)雜度較高,且由于加密之后的秘密信息只有一份,一旦丟失秘密信息也將隨之丟失,也就是不具有丟失容忍特性。多云存儲(chǔ)技術(shù)由于復(fù)雜度低,因此成為云數(shù)據(jù)安全的主流技術(shù)之一。但是具有丟失容忍特性的多云存儲(chǔ)系統(tǒng)還有待于進(jìn)一步研究與設(shè)計(jì)。
秘密分享技術(shù)是信息加密的重要技術(shù)之一,通過秘密分享將秘密s分享成n份,拿到少于k(k本文設(shè)計(jì)一種分級(jí)安全存儲(chǔ)系統(tǒng),把多云存儲(chǔ)思想和秘密分享技術(shù)結(jié)合起來,提供了一種數(shù)據(jù)加密存儲(chǔ)的選擇。概括來講,本系統(tǒng)有以下兩個(gè)特點(diǎn):
1.分級(jí)安全存儲(chǔ)系統(tǒng)主要緩解了單云存儲(chǔ)可能會(huì)出現(xiàn)的用戶數(shù)據(jù)泄漏問題,尤其是降低了服務(wù)商惡意內(nèi)部人員竊取用戶數(shù)據(jù)的可能。
2.本系統(tǒng)為指定文件進(jìn)行分級(jí),根據(jù)分級(jí)確定相應(yīng)的秘密分享參數(shù),分享出指定份額;同時(shí),用戶被賦予不同的訪問權(quán)限,能夠訪問滿足等級(jí)要求的文件,并對(duì)文件進(jìn)行增刪查改操作,但無法得到高于其訪問權(quán)限的文件的任何信息內(nèi)容。用戶的權(quán)限設(shè)定和文件的分級(jí)體現(xiàn)了權(quán)限控制的思想,使分級(jí)安全存儲(chǔ)系統(tǒng)使用更加靈活,應(yīng)用面也更加廣泛。
一、背景知識(shí)
一個(gè)秘密分享算法一般包括秘密分享(share或generate)和秘密恢復(fù)(recover)兩個(gè)階段,也稱作加密(encrypt)和解密(decrypt)兩個(gè)過程或者編碼(encode)和解碼(decode)兩個(gè)過程?,F(xiàn)以基于圖像的秘密分享為例說明秘密分享算法的基本概念,在由多個(gè)參與方組成的秘密分享方案中,加密方通過加密算法將秘密分解為多個(gè)秘密信息不可見的影子圖像,并分發(fā)給對(duì)應(yīng)的參與方個(gè)體;參與方若想恢復(fù)秘密圖像,必須獲取足夠數(shù)量的影子圖像(除數(shù)量基本需求外,也可有其他方面要求)才能恢復(fù)原始秘密圖像,由此可確保圖像傳輸和儲(chǔ)存過程的安全性。在(k,n)門限秘密分享方案(scheme)中,其中k≤n,將秘密信息加密成n個(gè)影子圖像。參與方如果獲取影子圖像數(shù)量不足k個(gè)時(shí),則無法獲得任何秘密;在獲得大于或者等于k個(gè)影子圖像時(shí),才能獲得原始秘密圖像的信息,由此還可以保證在圖像傳輸和存儲(chǔ)過程中的丟失容忍性。
起初的(k,n)門限秘密分享是由Blakley和Shamir于1979年分別提出的。目前秘密分享研究較多的分支是Shamir多項(xiàng)式秘密分享和可視秘密分享(又稱為視覺密碼,visual secret sharing,VSS 或 visual cryptographic scheme,VCS)。
下面具體介紹Shamir多項(xiàng)式秘密分享技術(shù),也是本文設(shè)計(jì)的分級(jí)安全存儲(chǔ)模塊采用的方法,其優(yōu)點(diǎn)是幾乎可以應(yīng)用于各種類型的圖像、能夠無損恢復(fù)和具有(k,n)門限等。
設(shè)定一個(gè)合適的素?cái)?shù)p,隨機(jī)從(0,p-1)內(nèi)生成k-1個(gè)數(shù)a1,a2,…,ak-1,把秘密值s設(shè)為a0,構(gòu)造(k-1)次多項(xiàng)式q(x)=a0+a1x+…+ak-1xk-1。顯然,對(duì)于該多項(xiàng)式,只要知道該多項(xiàng)式的k個(gè)互不相同的點(diǎn)的函數(shù)值q(xi)(i=1,2,…,k),就可以解出a0,a1,a2,…,ak-1,也即是恢復(fù)出秘密a0,生成n個(gè)不同的點(diǎn)xi(i=1,2,…,k)并計(jì)算函數(shù)值q(xi)(i=1,2,…,n),則(xi,q(xi)),i=1,2,…,n,即為分割的n個(gè)子秘密。顯然,這n個(gè)子秘密中的任意k個(gè)子秘密即可重構(gòu)q(x),從而可得到秘密s。
三、基于秘密分享的分級(jí)安全存儲(chǔ)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
基于上述場(chǎng)景等應(yīng)用需求,運(yùn)用秘密分享技術(shù),設(shè)計(jì)實(shí)現(xiàn)分級(jí)安全存儲(chǔ)系統(tǒng),根據(jù)門限k設(shè)置用戶權(quán)限和文件密級(jí)。為簡(jiǎn)化問題和突出重點(diǎn),在本機(jī)上創(chuàng)建5個(gè)文件夾以代替5個(gè)云,這樣就能避免將數(shù)據(jù)分發(fā)到云上可能出現(xiàn)的數(shù)據(jù)丟失、亂序、被惡意篡改等問題。假設(shè)用戶權(quán)限為4,該用戶擁有對(duì)cloud 1、cloud 2、cloud 3和cloud 4四個(gè)云的訪問權(quán),能對(duì)密級(jí)為1,2,3,4的文件進(jìn)行操作,分享一個(gè)密級(jí)為3的文件,調(diào)用(3,3)門限秘密分享算法,得到3個(gè)秘密份額,將這3個(gè)秘密份額分發(fā)到cloud 1、cloud 2和cloud 3三個(gè)云上,分享一個(gè)密級(jí)為4的文件,調(diào)用(4,4)門限秘密分享算法,同樣得到4個(gè)秘密份額,將這4個(gè)秘密份額分發(fā)到cloud 1、cloud 2、cloud 3和cloud 4四個(gè)云上。也即是文件密級(jí)等于門限k,用戶權(quán)限大于等于門限k。通過用戶權(quán)限控制其對(duì)不同云平臺(tái)的訪問能力,通過文件等級(jí)限制影子文件的存放范圍,這樣就實(shí)現(xiàn)了基于秘密分享的具有權(quán)限控制的分級(jí)安全存儲(chǔ)系統(tǒng)的設(shè)計(jì)。
1.整體設(shè)計(jì)
分級(jí)安全存儲(chǔ)系統(tǒng)設(shè)計(jì)以秘密分享技術(shù)為基礎(chǔ),融入權(quán)限控制的思想,邏輯上包括六個(gè)模塊:用戶注冊(cè)與登錄模塊、文件檢索模塊、文件分享模塊、文件恢復(fù)模塊、文件更新模塊和文件刪除模塊,系統(tǒng)整體框架如圖 1所示:
代碼實(shí)現(xiàn)上分為六個(gè)部分,分別是一個(gè)主模塊和五個(gè)功能模塊,主模塊為SimpleFileSystem.py,功能模塊為Register.py,Login.py,Encryption.py,Decryption.py和Delete.py。
執(zhí)行主模塊,首先是用戶注冊(cè)或者用戶登錄環(huán)節(jié),身份驗(yàn)證通過后,即成功進(jìn)入了分級(jí)安全存儲(chǔ)系統(tǒng),可以進(jìn)行相關(guān)文件操作,分別為文件分享、文件恢復(fù)和文件刪除,操作完畢后,選擇退出選項(xiàng)退出系統(tǒng)。
2.關(guān)鍵模塊設(shè)計(jì)
(1)分級(jí)安全存儲(chǔ)系統(tǒng)的三個(gè)核心功能
分級(jí)安全存儲(chǔ)系統(tǒng)三個(gè)核心功能分別是文件分享(加密文件)、文件恢復(fù)(讀取文件)和文件刪除。在注冊(cè)或者登錄成功后,用戶即可使用本系統(tǒng),此時(shí)有四個(gè)選項(xiàng)供用戶選擇,即文件分享、恢復(fù)、刪除和退出系統(tǒng)四個(gè)選項(xiàng)。在文件分享部分,用戶輸入想要分享的文件的絕對(duì)路徑以及設(shè)定的文件密級(jí),系統(tǒng)會(huì)根據(jù)用戶權(quán)限檢測(cè)是否是合法操作,檢測(cè)通過后即可進(jìn)行文件分享。在文件恢復(fù)部分,系統(tǒng)會(huì)檢索并顯示在該用戶查看權(quán)限范圍內(nèi)的所有文件的文件標(biāo)識(shí)及對(duì)應(yīng)的文件密級(jí),用戶輸入想要恢復(fù)的文件標(biāo)識(shí)即可進(jìn)行文件恢復(fù),恢復(fù)的文件統(tǒng)一放在recover文件夾中。在文件刪除部分,系統(tǒng)會(huì)檢索并顯示在該用戶刪除權(quán)限內(nèi)的所有文件的文件標(biāo)識(shí)和其對(duì)應(yīng)的文件密級(jí),用戶輸入想要?jiǎng)h除文件的文件標(biāo)識(shí)即可進(jìn)行文件刪除。用戶操作完畢后,可以選擇退出結(jié)束此次操作。
(2)元數(shù)據(jù)文件
分級(jí)安全存儲(chǔ)系統(tǒng)中分享恢復(fù)的文件的邏輯數(shù)據(jù)單元包含兩個(gè)部分,一個(gè)是元數(shù)據(jù)部分,一個(gè)是數(shù)據(jù)部分,元數(shù)據(jù)是數(shù)據(jù)的描述信息,用以描述數(shù)據(jù)。任何格式的文件的元數(shù)據(jù)部分都由文件標(biāo)識(shí)和文件密級(jí)構(gòu)成,以文件標(biāo)識(shí)為鍵,文件密級(jí)為值,兩者構(gòu)成一鍵值對(duì),形式為“文件標(biāo)識(shí)”:文件密級(jí)。在五個(gè)分享云cloud 1~5中,都設(shè)一個(gè)metadata_i.txt(i=1,2,…,5)的元數(shù)據(jù)文件,以字典形式存儲(chǔ),元素為分享到相應(yīng)云中文件的元數(shù)據(jù)部分(鍵值對(duì))。
(3)權(quán)限控制
分級(jí)安全存儲(chǔ)系統(tǒng)將n設(shè)為5,也即是云的數(shù)量為5,用戶權(quán)限可以設(shè)為1,2,3,4,5,值越大,權(quán)限越大。文件密級(jí)可以設(shè)為1,2,3,4,5,值越大,文件密級(jí)越高,門限k的大小與文件密級(jí)的值是一致的。以權(quán)限為4的用戶為例,該用戶可以將其要加密的文件密級(jí)設(shè)置為1,2,3,4,即文件密級(jí)不大于權(quán)限值,因此該用戶也只能訪問存儲(chǔ)在文件系統(tǒng)中密級(jí)小于等于4的文件。權(quán)限為1的用戶為游客,只能訪問存儲(chǔ)在cloud 1中security_1文件夾中的明文文件,權(quán)限為5的用戶為系統(tǒng)管理員,能夠訪問所有密級(jí)的文件。
(4)影子文件在云中的存儲(chǔ)結(jié)構(gòu)
分級(jí)安全存儲(chǔ)系統(tǒng)以5個(gè)文件夾(分別命名為Cloud 1,Cloud 2,Cloud 3,Cloud 4,Cloud 5)代替5個(gè)云,即n值為5,影子文件為打不開的無格式文件,文件標(biāo)識(shí)即文件名。Cloud 1中有Security_1,Security_2,Security_3,Security_4,Security_5五個(gè)文件夾,分別用以存放文件密級(jí)為1至5的文件的影子文件,而Cloud 2中只有Security_2,Security_3,Security_4,Security_5四個(gè)文件夾,Cloud 3中只有Security_3,Security_4,Security_5三個(gè)文件夾,以此類推,Cloud 5中只有Security_5一個(gè)文件夾。也即是密級(jí)為k(k≤5)的文件經(jīng)秘密分享后得到的k個(gè)影子文件,分別存在Cloud 1~k中的Security k文件夾中,如一個(gè)權(quán)限為4的用戶設(shè)置一個(gè)文件密級(jí)為3,分享出3個(gè)影子文件后,分別存放在Cloud 1,Cloud 2,Cloud 3三個(gè)云中的Security_3文件夾中。
3.模塊設(shè)計(jì)
主要對(duì)文件分享和恢復(fù)過程進(jìn)行介紹。
(1)文件分享模塊
各種格式的文件在磁盤中都是以0,1序列存儲(chǔ)的,以二進(jìn)制形式讀出文件,再以ord函數(shù)將每個(gè)字節(jié)轉(zhuǎn)換為十進(jìn)制整數(shù)(0~255),依次放入一個(gè)列表中,這樣就將目標(biāo)文件轉(zhuǎn)換為元素為十進(jìn)制整數(shù)(0~255)的列表,調(diào)用秘密分享代碼,根據(jù)用戶權(quán)限r(nóng)ight的值和文件密級(jí)確定門限k,其中文件密級(jí)小于等于權(quán)限r(nóng)ight,等于k值。以權(quán)限為4的用戶為例,該用戶可以將文件密級(jí)確定為1,2,3,4,現(xiàn)有一個(gè)文件名為filename_1的pdf文件,將其密級(jí)設(shè)為3,則門限值k也為3,得到該文件的十進(jìn)制整數(shù)列表后,將列表中的每個(gè)元素通過(3,3)門限秘密分享算法得到3個(gè)分享元素(只有拿到全部的3個(gè)分享元素才能恢復(fù)秘密),將這3個(gè)分享元素按序放至三個(gè)空列表中,該文件的十進(jìn)制整數(shù)列表中的每個(gè)元素都以此步驟操作,分發(fā)完畢后這三個(gè)列表中十進(jìn)制整數(shù)即和該文件的十進(jìn)制列表數(shù)目一致,將這三個(gè)分享出來的列表按文件恢復(fù)過程(詳細(xì)過程見下一個(gè)模塊)恢復(fù)成三個(gè)打不開的無格式文件,文件標(biāo)識(shí)為影子文件的文件名(即沒有擴(kuò)展名),再把這三個(gè)‘恢復(fù)文件作為秘密分享份額分發(fā)到cloud 1、cloud 2、cloud 3的security_3文件夾中,分享完畢。
需要注意的是,密級(jí)為1的文件分享時(shí)不需要做任何變換,直接復(fù)制到cloud 1的security_1文件夾并在metadata_1.txt中記錄相應(yīng)的鍵值對(duì)即可。
(2)文件恢復(fù)模塊
登錄成功若要進(jìn)行文件恢復(fù),系統(tǒng)遍歷cloud 1中的metadata_1.txt文件,將用戶權(quán)限與每個(gè)鍵值對(duì)的值(文件密級(jí))做比對(duì),只要文件密級(jí)小于用戶權(quán)限,即為可訪問文件,顯示這些文件的文件標(biāo)識(shí)和對(duì)應(yīng)的文件密級(jí),用戶輸入想要查看文件的文件標(biāo)識(shí),進(jìn)行文件恢復(fù)。以恢復(fù)一個(gè)密級(jí)為3的filename.doc文件為例,在輸入文件標(biāo)識(shí)filename.doc后,系統(tǒng)取出Cloud 1,Cloud 2,Cloud 3中的Security 3文件夾中的filename文件(也即是得到三個(gè)影子文件,每一個(gè)影子文件無任何秘密信息泄露),運(yùn)用文件分享過程,以字節(jié)形式讀出文件,再以ord函數(shù)將每個(gè)字節(jié)轉(zhuǎn)換為十進(jìn)制整數(shù)(0~255),并將十進(jìn)制整數(shù)放入一個(gè)空列表,對(duì)這三個(gè)無格式文件都依此操作,得到三個(gè)十進(jìn)制整數(shù)列表,并執(zhí)行一個(gè)循環(huán),每次依次取出三個(gè)列表中的一個(gè)十進(jìn)制整數(shù),將這三個(gè)數(shù)依據(jù)秘密分享恢復(fù)算法恢復(fù)出原文件轉(zhuǎn)換的十進(jìn)制整數(shù)列表中的相應(yīng)十進(jìn)制整數(shù),待循環(huán)完畢后,則恢復(fù)出原文件轉(zhuǎn)換成的十進(jìn)制列表,再調(diào)用chr函數(shù)將恢復(fù)列表中的每個(gè)十進(jìn)制整數(shù)轉(zhuǎn)換為一個(gè)字節(jié)并拼接為一個(gè)二進(jìn)制字符串,最后根據(jù)正確的文件格式(此例為.doc)以二進(jìn)制寫文件的方法,恢復(fù)原文件并放到recover文件夾中。
需要注意的是,密級(jí)為1的文件存在cloud 1的security_1文件夾中,并且未作任何變換,恢復(fù)時(shí)根據(jù)文件標(biāo)識(shí)在云中找到相應(yīng)文件直接復(fù)制到recover文件夾中即可。
四、系統(tǒng)測(cè)試與分析
本節(jié)將會(huì)具體演示分級(jí)安全存儲(chǔ)系統(tǒng)的工作過程,先展示分級(jí)安全存儲(chǔ)系統(tǒng)的構(gòu)成,再?gòu)挠脩糇?cè)和登錄開始,以圖片形式展示核心功能的實(shí)現(xiàn)效果。
1.文件分享
在用戶登錄或者注冊(cè)成功后,進(jìn)入分級(jí)安全存儲(chǔ)系統(tǒng),彈出“Are you going to encrypt, decrypt, delete files or exit? encrypy:E, decrypt:D, delete:S, exit:T :”的提示項(xiàng),輸入E為文件分享,D為文件恢復(fù),S為文件刪除。先演示文件分享功能,輸入E后,彈出“Please enter the file you want to encrypt:”提示項(xiàng),拖入想要分享的文件即可,而后彈出“Please enter the secret level you want to encrypt:”的提示項(xiàng),輸入權(quán)限范圍內(nèi)的文件密級(jí),以分享一文件標(biāo)識(shí)為How_to_share_a_secrect.pdf,密級(jí)為3的文件為例, 為用戶輸入命令, 為cloud 1的security_3中的影子文件(在cloud 2和cloud 3的security_3中一致變化), 為cloud 1中metadata_1.txt中的元數(shù)據(jù)部分(在cloud 2中的metadata_2.txt和cloud 3中的metadata_3.txt一致變化)。
登錄或者注冊(cè)成功后,輸入D,選擇文件恢復(fù),系統(tǒng)根據(jù)用戶權(quán)限值檢索在權(quán)限范圍內(nèi)的所有文件,以文件標(biāo)識(shí):文件密級(jí)的形式顯示出來,而后彈出提示項(xiàng):“Please enter the name of the file you want to decrypt:”,輸入想要恢復(fù)的文件標(biāo)識(shí)即可進(jìn)行文件恢復(fù),恢復(fù)的文件放入recover文件夾中。以恢復(fù)上述分享過的How_to_share_a_secrect.pdf文件為例, 為參數(shù)輸入, 為recover中的恢復(fù)文件。
3.系統(tǒng)分析
根據(jù)以上所展示的實(shí)驗(yàn)結(jié)果,驗(yàn)證了分級(jí)安全存儲(chǔ)系統(tǒng)基本滿足設(shè)計(jì)思路,能夠完成數(shù)據(jù)的加密存儲(chǔ),惡意人員在拿到少于k個(gè)份額影子文件時(shí)得不到關(guān)于秘密的任何信息,同時(shí)也實(shí)現(xiàn)了權(quán)限控制,用戶只能在權(quán)限范圍內(nèi)對(duì)相應(yīng)文件進(jìn)行操作。
分級(jí)安全存儲(chǔ)系統(tǒng)在測(cè)試中還發(fā)現(xiàn)存在兩點(diǎn)不足,一是存儲(chǔ)優(yōu)化,二是丟失容忍性,下面對(duì)這兩點(diǎn)以及改進(jìn)思路進(jìn)行描述如下。
存儲(chǔ)優(yōu)化方面,分級(jí)安全存儲(chǔ)系統(tǒng)在分享文件時(shí),每個(gè)影子文件的大小與原文件大小等大,如以密級(jí)3分享一個(gè)文件,則在cloud 1,cloud 2,cloud 3的security_3文件夾中生成三個(gè)等大的影子文件,也即是分享一個(gè)大小為a的文件,在云中則需要3a的存儲(chǔ)空間進(jìn)行影子文件的存儲(chǔ)(存儲(chǔ)文件密級(jí)越高,所占存儲(chǔ)空間越大),如果要分享的文件很大,密級(jí)很高,對(duì)云存儲(chǔ)空間的存儲(chǔ)能力是一個(gè)挑戰(zhàn),對(duì)用戶而言,增加了使用成本,因此存儲(chǔ)優(yōu)化是本系統(tǒng)可拓展的方向之一。
這里給出一個(gè)存儲(chǔ)優(yōu)化的思路:文件的數(shù)據(jù)部分使用隨機(jī)密鑰加密,對(duì)加密后的數(shù)據(jù)進(jìn)行編碼(如使用糾刪碼),密鑰使用秘密共享進(jìn)行劃分,每個(gè)服務(wù)器接收一塊加密數(shù)據(jù)塊和一份額的密鑰共享。這種方法能夠保證存儲(chǔ)在云中的總數(shù)據(jù)量與原文件大小一致(比原文件大小要大一點(diǎn),因?yàn)樵浦幸鎯?chǔ)秘密分享后的密鑰)。
丟失容忍性方面,分級(jí)安全存儲(chǔ)系統(tǒng)根據(jù)門限k值提出了用戶權(quán)限和文件密級(jí)的概念,引入了權(quán)限控制的思想。要實(shí)現(xiàn)權(quán)限控制,每個(gè)用戶在分享文件時(shí),確定文件密級(jí)必須小于等于自己的權(quán)限值的大小,并且根據(jù)文件密級(jí)k,只往k個(gè)云中分發(fā)影子文件。因此,在進(jìn)行文件分享時(shí),首先檢查用戶想要分享的文件密級(jí)大小是否合法,文件密級(jí)確定后,影子文件的數(shù)量也即確定,密級(jí)為k的文件,影子文件數(shù)量為k,分發(fā)到cloud 1~k的security_k文件夾中。
依次設(shè)計(jì)思路,權(quán)限控制可以實(shí)現(xiàn),但引發(fā)另一個(gè)問題,系統(tǒng)容錯(cuò)性太差,影子文件沒有冗余備份。若云中的一個(gè)影子文件在傳輸過程中出錯(cuò),或存儲(chǔ)在云端的數(shù)據(jù)受到破壞,那么就不能恢復(fù)出原文件。因此,提高系統(tǒng)容錯(cuò)性是可拓展的另一個(gè)方向。
這里給出一種提高系統(tǒng)容錯(cuò)性的思路:設(shè)置一個(gè)具有最高權(quán)限的管理員,定時(shí)對(duì)系統(tǒng)內(nèi)的文件進(jìn)行刷新,刷新的辦法是根據(jù)用戶分發(fā)到云上的影子文件,利用秘密分享算法得到另外的影子文件以作備份,一般用戶還是只能訪問權(quán)限范圍內(nèi)的規(guī)定云。當(dāng)某個(gè)云中數(shù)據(jù)出錯(cuò)時(shí),錯(cuò)誤會(huì)在下一次更新時(shí)被發(fā)現(xiàn)并改正。
本文中設(shè)計(jì)并實(shí)現(xiàn)的分級(jí)安全存儲(chǔ)系統(tǒng),把秘密分享技術(shù)運(yùn)用于多云存儲(chǔ),實(shí)現(xiàn)了各種格式文件的加密存儲(chǔ),確保拿到少于k個(gè)份額的影子文件時(shí)得不到關(guān)于秘密的任何信息,緩解單云存儲(chǔ)中可能出現(xiàn)的數(shù)據(jù)泄露問題。并且本系統(tǒng)依據(jù)門限k設(shè)計(jì)了用戶權(quán)限和文件密級(jí),系統(tǒng)為指定文件進(jìn)行分級(jí),根據(jù)分級(jí)確定相應(yīng)的秘密分享參數(shù),分享出指定份額;用戶被賦予不同的訪問權(quán)限,能夠訪問滿足等級(jí)要求的文件,并對(duì)文件進(jìn)行增刪查改操作,但無法得到高于其訪問權(quán)限的文件的任何信息內(nèi)容。用戶的權(quán)限設(shè)定和文件的分級(jí)體現(xiàn)了權(quán)限控制的思想,使分級(jí)安全存儲(chǔ)系統(tǒng)使用更加靈活,應(yīng)用面也更加廣泛。本文下一步工作主要集中在提升系統(tǒng)的存儲(chǔ)優(yōu)化和容錯(cuò)性上。
參考文獻(xiàn):
[1]Bessani A, Correia M, Quaresma B, et al. DepSky: Dependable and Secure Storage in a Cloud?of?Clouds[C]// European Conference on European Conference on Computer Systems. DBLP, 2011.
[2]許春香,肖國(guó)鎮(zhèn).門限多重秘密共享方案[J].電子學(xué)報(bào),2004,32(10):1688-1689.
[3]譙偉,梁華慶,鈕心忻.可視秘密分享技術(shù)的研究現(xiàn)狀與發(fā)展[J].計(jì)算機(jī)應(yīng)用研究,2006,23(5).
[4]任方,韓冰,馮景瑜.秘密共享技術(shù)及其在圖像加密中的應(yīng)用[J].科學(xué)技術(shù)與工程,2015,15(16):108-116.
責(zé)任編輯:黃大燦