陳春燕
(昆明市第三人民醫(yī)院,云南 昆明 650000)
云存儲是云計算概念的延伸,是一個以數(shù)據(jù)存儲和管理為核心的云計算系統(tǒng),它能有效地幫助個人和企業(yè)降低數(shù)據(jù)存儲和共享所需的成本,并且能夠動態(tài)擴展。由于醫(yī)院內(nèi)部數(shù)據(jù)共享的需求日益增長,越來越多的醫(yī)院應用云存儲技術,將醫(yī)院內(nèi)網(wǎng)在線檔案存儲在網(wǎng)上,實現(xiàn)存儲、共享和傳輸。不過,盡管云存儲有很多好處,但其往往會面對大范圍內(nèi)外的安全和隱私威脅,云計算的數(shù)據(jù)安全傳輸和隱私仍然阻礙了云存儲技術的發(fā)展。
出于安全考慮,多個學者開展了云存儲隱私信息加密技術的研究,如文獻[1]中,程晉雪等人研究了一種非安全信道下的高效可搜索加密方案,該方法提出可搜索加密方案,并將雙系統(tǒng)加密方法應用到了數(shù)據(jù)加密中,實現(xiàn)對信息的加密。文獻[2]中,韓培義等人研究了一種面向云存儲的數(shù)據(jù)加密系統(tǒng)與技術,該技術將動態(tài)程序分析技術應用到其中,對各類云應用敏感數(shù)據(jù)進行了加密保護。另外,文獻[3]中,趙志遠等人研究了一種面向云存儲的支持完全外包屬性基加密方案。上述方法雖能夠?qū)π畔⒓用鼙Wo,但是存在加密時間過長與加密效果較差的問題,為此,本文設計一種醫(yī)院內(nèi)網(wǎng)在線檔案云存儲隱私信息加密技術,以期為提高醫(yī)院檔案數(shù)據(jù)的安全性提供一定幫助。
提出一種新的加密方案,在敏感文件上傳之前,將文件分割為大、小數(shù)據(jù)塊,將小數(shù)據(jù)塊保存到本地,將大數(shù)據(jù)加密并上傳到云端,用戶按照需求選擇加密等級。數(shù)據(jù)分割模型如圖1所示。
圖1 數(shù)據(jù)分割模型
將文件分割為數(shù)據(jù)塊,在數(shù)據(jù)上載之前,主要采用固定大小和非固定大小兩種方案,其中對固定大小數(shù)據(jù)的分割過程如下:
(1) 將小塊數(shù)據(jù)大小固定為1k,則抽取1024 個字符,產(chǎn)生0~N文件大小之間的隨機數(shù)據(jù)序列;
(2) 對生成的隨機序列從小到大排列,得到從文件中提取的字節(jié)位置;
(3) 從原始文件中分割字節(jié)位置對應的字節(jié),并將隨機序列保存為小數(shù)據(jù)塊,分割后的數(shù)據(jù)作為大塊數(shù)據(jù)塊;
通過上述過程對最小塊數(shù)據(jù)大小固定[4],但是僅對小塊數(shù)據(jù)固定會導致產(chǎn)生的隨機數(shù)不均勻,被解密后還會分析出一些信息,為此進一步處理,即抽取非固定大小的小塊數(shù)據(jù),其流程如圖2所示。
圖2 抽取非固定大小的數(shù)據(jù)流程
經(jīng)過以上程序,將數(shù)據(jù)所在位置的字節(jié)從原始文件中分割出來,并保存為隨機序列,數(shù)據(jù)小塊,將其分割為大塊數(shù)據(jù)。在對數(shù)據(jù)大小塊分塊后,將用戶文件上傳到云端后,云存儲系統(tǒng)對文件分塊操作和分布式存儲。
此次研究的隱私信息加密技術以檔案數(shù)據(jù)為樣本,在提取關鍵字階段[5],需要進一步對數(shù)據(jù)相似性度量。過程如下:
(1) 對關鍵字集合W中的關鍵字記作ωiW(i=1,…,|W|),并將原點關鍵字記作ω01;
(2) 將沒有被表示為關鍵字的相似公式表示為ωjW(j≠i),并在剩余的關鍵字中選擇原點的關鍵字ω0i,重復此過程,直到所有的關鍵字被表示為相似坐標值為止;
(3) 在所有數(shù)據(jù)構建關鍵字集合完成后,對所有數(shù)據(jù)進行標準化轉(zhuǎn)換[6],計算公式為:
公式(1)中,X代表映射值。
(4) 在上述處理后,計算關鍵字與關鍵字之間的相關度,計算公式表示為:
公式(2)中,dj代表第j個文件,代表文件di中關鍵字ωi的頻率。
經(jīng)過上述數(shù)據(jù)集標準化轉(zhuǎn)換,將關鍵字編輯距離映射到(0,0.5)區(qū)間內(nèi),并將關鍵字集合上傳到私有服務器中。
將關鍵字集合轉(zhuǎn)換為相似坐標集合,為避免在云服務器中關鍵字信息泄露,做進一步處理。將醫(yī)院內(nèi)網(wǎng)在線檔案數(shù)據(jù)集D進行關鍵字提取[7],構建已提取的數(shù)據(jù),將其記作F,采用LSH構建索引,LSH為局部敏感哈希函數(shù),其能夠在高維數(shù)據(jù)空間中進行鄰近查詢,這種方法是把目標映射到多個桶[8],然后把相似度高的目標分成一個桶,不同的目標不會被分成一個桶,具體的構建過程如下:
Step 1:身份染色[9],當云存儲用戶加入到系統(tǒng)時,將其生成全局身份標識,將其記作GIDu。在此基礎上,生成不同元素的隨機數(shù)序列{c1,c2,…,ck},其中k代表屬性授權機構的個數(shù)[10],然后通過身份染色算法,輸出與其相關的有色名color(u,m)。身份染色算法的計算公式表示為:
公式(3)中,cy為第y個數(shù)據(jù)的鏈接參數(shù)。
Step 2:特征提取,將敏感數(shù)據(jù)集集合記作Di,Di數(shù)據(jù)集中特征值集合記作Fi={f1,…,fn},然后特征提取步驟將Di映射到Fi中;
Step 3:度量空間轉(zhuǎn)換p,在經(jīng)過上述過程對數(shù)據(jù)特征提取后,需要將特征值轉(zhuǎn)換為特征向量,方便于局部敏感函數(shù)族的尋找。
假設Fi={f1,…,fn}是Di的特征值集合,因此度量轉(zhuǎn)換步驟就是將特征值映射為向量集合的過程,即,;
Step 4:桶索引構造,此步驟主要將LSH 應用于矢量,假設有一個局部敏感函數(shù)族H可應用到相似機制中,從H中構造局部敏感函數(shù)g:(g1,…,)。復合散列函數(shù)就是從g1到將特征向量映射到個桶中。桶實質(zhì)上是一個大小為l的位向量,在此次分析中l(wèi)是所存儲的全部文件數(shù)據(jù);
Step 5:密鑰生成,當用戶第一次加入系統(tǒng),就為系統(tǒng)分配與查詢內(nèi)容相關的密鑰,將屬性私鑰部件簇表示為:
Step 6:桶索引加密,將數(shù)據(jù)索引轉(zhuǎn)換為安全索引,目的是在數(shù)據(jù)查詢中只有數(shù)據(jù)用戶才能生成加密桶標識。假設是大小為ψ的加密密鑰,為隨機排列為,安全加密方案為,桶標識為Bk,Bk的位向量為VBk,安全索引為I,即。
Step 7:陷門生成,即查詢請求生成,將需要檢索的特征關鍵字記作,對于每個簽名元素相對應的標識利用密鑰Kid進行哈希處理,被哈希處理的桶標識記作Q,Q=,查詢請求有個元素,是獨立于查詢關鍵字數(shù)量的,所以信息不會泄漏給服務器;
Step 8:檢索,給定查詢請求Q,在服務器中找到與Q相對應的加密數(shù)據(jù),然后返回到服務器中將加密的向量EV={V1,…,Vn}返回給用戶。在收到桶后,用戶解密向量按照相關分值對數(shù)據(jù)表示排序,處理完成后返回所有的文檔。
上述為數(shù)據(jù)加密、檢索的整個過程,以此完成對醫(yī)院內(nèi)網(wǎng)在線檔案云存儲隱私信息的加密,以降低用戶數(shù)據(jù)隱私被非法用戶竊取后泄露的風險。
為驗證所研究的醫(yī)院內(nèi)網(wǎng)在線檔案云存儲隱私信息加密技術的性能開銷,對其進行多個階段測試,并將非安全信道下的高效可搜索加密方案、面向云存儲的加密技術與其對比。
實驗在VMware Workstation 虛擬機的Ubuntu10.10環(huán)境中進行,并采用cloudsim平臺進行仿真實驗,利用其創(chuàng)建數(shù)據(jù)中心,為實驗提供基礎,每次對比時間為單獨測試結(jié)果。
在信息加密時需要對多個屬性授權,會增加數(shù)據(jù)初始化的時間,從而影響整個加密技術的性能,為此將信息初始化處理的時間開銷作為對比對象,三種方法在信息加密時初始化時間開銷如圖3所示。
分析圖3可知,所研究的云存儲隱私信息加密技術初始化時間最少,原因是所研究技術預先對數(shù)據(jù)分塊處理,降低屬性授權機構個數(shù),從而降低初始化處理的時間開銷。非安全信道下加密方法、面向云存儲的數(shù)據(jù)加密方法初始化時間較所研究方法多,原因是在每個數(shù)據(jù)屬性授權機構交互時花費了較多的時間。
圖3 初始化時間開銷
三種方法的密鑰分發(fā)時間如圖4所示。
圖4 密鑰分發(fā)時間開銷
對比圖4能夠發(fā)現(xiàn),提出的醫(yī)院內(nèi)網(wǎng)在線檔案云存儲隱私信息加密技術密鑰分發(fā)時間少于其他兩種方法。所研究加密技術密鑰分發(fā)時間開銷少的原因是,加密操作在文件上傳之前執(zhí)行,不涉及屬性密鑰的生成,所以密鑰分發(fā)的時間較少。
所提出技術與非安全信道下加密方法、面向云存儲的數(shù)據(jù)加密方法的加密時間開銷對比結(jié)果如圖5所示。
通過分析圖5 可知,非安全信道下加密方法、面向云存儲的數(shù)據(jù)加密方法加密時間多于提出的加密技術。所提出方法性能更為優(yōu)越的原因是該方法對數(shù)據(jù)分塊處理,分別對大數(shù)據(jù)塊與小數(shù)據(jù)塊做了處理,并對數(shù)據(jù)相似性計算,減少了數(shù)據(jù)加密重復情況的發(fā)生,從而降低了數(shù)據(jù)的加密時間。
圖5 加密時間開銷
三種加密方法在數(shù)據(jù)檢索上的時間開銷對比結(jié)果如圖6所示。
圖6 檢索時間開銷
分析圖6 能夠發(fā)現(xiàn),三種方法的信息檢索時間相差較大,其中非安全信道下的高效可搜索加密方案花費的檢索時間最多,所研究技術花費的檢索時間最少。原因是所研究的加密技術不復雜,減少了信息檢索的時間。
對比三種方法加密后的信息安全性,信息被竊取的情況如表1所示。
表1 加密信息被竊取情況
分析表1能夠發(fā)現(xiàn),在利用非安全信道下的加密方案、面向云存儲的數(shù)據(jù)加密技術進行加密后,均出現(xiàn)信息被竊取的情況,并且被盜取的信息量較大。而所研究的加密技術信息被竊取情況較少,僅出現(xiàn)兩次,由此能夠證明所研究的加密技術能夠提高信息加密效果。
分析表2 能夠發(fā)現(xiàn),三種方法均出現(xiàn)信息被更改的情況,所研究的加密技術出現(xiàn)1 次被更改的情況,其他兩種方法均出現(xiàn)多次信息被更改的情況,加密效果較差,沒有所研究的技術加密效果好。
表2 信息被更改情況對比
綜上,所研究的隱私信息加密技術不僅能夠降低信息加密時間,還能夠提高信息的安全性。所研究方法信息加密安全性較好的原因是,該方法在數(shù)據(jù)分塊處理的基礎上,采用局部敏感哈希函數(shù)對信息進行加密處理,從而提高了信息的安全性。
本文提出了一種醫(yī)院內(nèi)網(wǎng)在線檔案云存儲隱私信息加密技術,并通過實驗驗證了所提技術的有效性。該加密技術的創(chuàng)新之處是將上傳文件預先分成大小兩塊,分別進行加密,以提高數(shù)據(jù)的安全性。但在后續(xù)研究中還需要繼續(xù)研究更優(yōu)的算法,不斷將新技術應用到數(shù)據(jù)保護機制中,以提高信息加密效果,為醫(yī)院內(nèi)網(wǎng)在線檔案數(shù)據(jù)安全提供幫助。