呂靜
(西安航空職業(yè)技術(shù)學(xué)院, 科研處, 陜西, 西安 710089)
隨著信息技術(shù)的高速發(fā)展,云存儲憑借成本低、可靠性高、擴展性強等優(yōu)勢日益受到廣大用戶的歡迎,但現(xiàn)有的第三方云數(shù)據(jù)完整性審計方案缺點眾多,制約了云存儲的普及和應(yīng)用[1-3]。本文針對創(chuàng)新型科研項目數(shù)據(jù)提出了一種基于云技術(shù)審計系統(tǒng)模型,利用分布式網(wǎng)絡(luò)在各節(jié)點之間直接建立可靠通信,提高了信息傳遞的效率,增強了整個網(wǎng)絡(luò)的可擴展性和計算能力,通過數(shù)據(jù)加密有效杜絕了項目隱私泄露的現(xiàn)象。
云數(shù)據(jù)完整性審計模型總體結(jié)構(gòu)如圖1所示。模型主要由3個實體構(gòu)成,即普通用戶群、授權(quán)用戶群、云存儲服務(wù)器。用戶群既可以是個人也可以是企業(yè),在DPOS(委托證明)的推進過程中,用戶群體將會逐漸分化為CO(普通用戶群)和DO(授權(quán)用戶群)。由于CSP(云存儲服務(wù)器)為所有的用戶群體提供存儲服務(wù),所以它們都可以在CSP中進行數(shù)據(jù)存儲,DO則代表整個用戶群體驗證CSP中數(shù)據(jù)的完整性。
圖1 模型總體結(jié)構(gòu)
在區(qū)塊鏈的技術(shù)框架下,模型的工作流程如下:
(1) owners首先基于特定的密鑰生成算法生成一個密鑰對(sk,pk);接下來采用DPOS算法向當(dāng)前節(jié)點輸入共識消息;再從P2P網(wǎng)絡(luò)中讀取其他節(jié)點中已有的DPOS共識消息。在收集到網(wǎng)絡(luò)中所有節(jié)點的共識消息后即可形成全網(wǎng)共識,然后在DPOS機制下經(jīng)投票選出具有資格的DO用戶,從而創(chuàng)建授權(quán)用戶列表,owners讀取該列表,如果已被選舉為授權(quán)用戶,則由其進行任務(wù)分配,未被選舉為授權(quán)用戶的owners則成為執(zhí)行任務(wù)的普通用戶[4-5]。
(2) 用戶群CO和DO完成數(shù)據(jù)初始化后將其分割為多個小塊,分別計算數(shù)據(jù)塊的元數(shù)據(jù)及其hash值,由數(shù)據(jù)塊與元數(shù)據(jù)組合到一起生成數(shù)據(jù)交易塊(簡稱IB)并將其保存到CSP中。其中,利用hash函數(shù)計算數(shù)據(jù)hash值。hash函數(shù)是一種能夠?qū)⑷我忾L度的數(shù)據(jù)壓縮轉(zhuǎn)換為固定長度的概括性數(shù)據(jù)函數(shù),它能夠根據(jù)不同的散列需求,計算不同數(shù)據(jù)的hash值。hash函數(shù)具體表達式為
Addr=H(key)
IB的數(shù)據(jù)結(jié)構(gòu),如圖2所示。
圖2 IB的數(shù)據(jù)結(jié)構(gòu)
(3) 用戶群CO和DO將元數(shù)據(jù)和hash值組合為驗證交易塊itemBlcok*(簡稱IB*)并將其保存到DO(激活)中。IB*的數(shù)據(jù)結(jié)構(gòu),如圖3所示。
圖3 IB*的數(shù)據(jù)結(jié)構(gòu)
(4) 當(dāng)一定數(shù)量的IB*保存到DO(激活)后,DO通過區(qū)塊生成算法生成無簽名的區(qū)塊文件,然后啟動區(qū)塊認證相關(guān)流程。
(5) 為了驗證當(dāng)前存儲的區(qū)塊所對應(yīng)的用戶數(shù)據(jù)集合的完整性,DO(未激活)向CSP提出審計要求。
與傳統(tǒng)的區(qū)塊鏈應(yīng)用模型相比,審計模型的數(shù)據(jù)文件更大,因此采用分塊的方式來減少元數(shù)據(jù)的計算量。當(dāng)引入?yún)^(qū)塊鏈技術(shù)進行云數(shù)據(jù)完整性審計時,需要按實際需求修改區(qū)塊鏈底層數(shù)據(jù)的結(jié)構(gòu),所以提出數(shù)據(jù)聚合的方法和MA-MHT(多用戶審計哈希樹)結(jié)構(gòu)以適應(yīng)區(qū)塊鏈模式的審計。MA-MHT的結(jié)構(gòu)形式,如圖4所示。
圖4 MA-MHT結(jié)構(gòu)形式
數(shù)據(jù)聚合指在完成數(shù)據(jù)文件的分塊后,不需要將每一個文件塊在P2P網(wǎng)絡(luò)中單獨輸送,而是將文件快與元數(shù)據(jù)組合成一個完整的文件,從而作為一次完整的交易在網(wǎng)絡(luò)中進行傳輸。MA-MHT結(jié)構(gòu)則適應(yīng)了區(qū)塊鏈與審計的融合需求,使文件塊在區(qū)塊鏈中的簽署以及審計系統(tǒng)對其進行審計均能夠得以實現(xiàn)。在MA-MHT的結(jié)構(gòu)形式下,通過安全哈希算法,底層IB*的所有hash值被整合成哈希樹的葉子節(jié)點,最后再通過特定算法生成根節(jié)點HR。區(qū)塊鏈的簽署由這些根節(jié)點完成,相當(dāng)于區(qū)塊進行的第一次審計,從而快速檢查用戶輸入的數(shù)據(jù)文件是否在CSP中被完整地保存下來。審計模型通過MHT中的元數(shù)據(jù)完成后續(xù)的審計操作以實現(xiàn)周期性的數(shù)據(jù)完整性審計。
MA-MHT數(shù)據(jù)結(jié)構(gòu)的構(gòu)建方法[6-7]如下:
步驟1 由DO進行MA-MHT構(gòu)建的具體過程。
哈希樹葉子節(jié)點hash值的計算:HA=H(H(mi,1)+H(mi,2)+…+H(mi,n))
內(nèi)部節(jié)點hash值的計算:HE=H(HA+HB)
根節(jié)點hash值的計算:HR=H(HE+HF)
步驟2 由CSP進行MA-MHT構(gòu)建的具體過程。
計算文件塊mi,j的hash值H(mi,j);
哈希樹葉子節(jié)點hash值的計算:HA=H(H(mi,1)+H(mi,2)+…+H(mi,n))
內(nèi)部節(jié)點hash值的計算:HE=H(HA+HB)
根節(jié)點hash值的計算:HR=H(HE+HF)
步驟1 生成密鑰。任意選取2個1 024位的素數(shù)x、y(x、y←Zp),由N=x·y計算得到RSA模數(shù);由φ(N)=(x-1)×(y-1)計算歐拉函數(shù)值,任意選取1個整數(shù)e<φ(N),使ged(e,φ(N))=1;由d≡e-1(modφ(N))計算得到1個整數(shù)d;令公鑰pk=(N,e),私鑰sk=d,選擇同態(tài)安全hash函數(shù)H(·):Z*N→Z*N。
步驟2 生成元數(shù)據(jù)。將用戶輸入的數(shù)據(jù)文件分割為n個文件塊Fi={mi,j}1≤j≤n;將Fi的唯一標記nameFi∈Z*N保存在區(qū)塊的頭文件header中,然后對每個文件塊mi,j對應(yīng)的元數(shù)據(jù)進行計算,即σi,j=H(nameFi)H(mi,j)d 1≤j≤n。在完成元數(shù)據(jù)的處理后,用戶將文件塊、文件塊的hash值、文件塊的元數(shù)據(jù)分別整合位IB(header(mi,j,σi,j))1≤j≤n以及IB*(header(H(mi,j),σi,j))1≤j≤n并將其分別保存在CSP和DO(激活)中。
步驟4 按以下方法完成區(qū)塊簽署。
由DO(激活)就區(qū)塊簽署向CSP提出認證要求;
CSP根據(jù)blockId對所存儲的證據(jù)區(qū)塊進行定位,將該區(qū)塊文件MA-MHT根節(jié)點的hash值HR提取出來,構(gòu)建證據(jù)proof(HR,blockId)并將其返回;
DO(激活)接收CSP返回的證據(jù)后找到對應(yīng)的未簽署文件塊,讀取其根節(jié)點HR并與CSP中的HR進行對比,若兩者相等則將簽署消息ack(blockId,succeee,DOpk)發(fā)送給CSP完成區(qū)塊的簽署;
CSP在接收到簽署消息后,在區(qū)塊鏈上找到對應(yīng)的區(qū)塊,從簽署消息中提取出DOpk并寫入該區(qū)塊的簽署標志位中。
步驟5 按以下步驟完成區(qū)塊的審計。
由DO任意抽取一個本地中存儲的文件塊,該區(qū)塊中IB*的數(shù)量為m個,其中存儲文件塊的元數(shù)據(jù)及hash值的數(shù)量為n個。隨機創(chuàng)建m個集合Ii,集合中包含的元素記為Ii={si,j}1≤j≤c,數(shù)量為c個。DO從集合Ii中任意選取1個vi∈Z*p,創(chuàng)建1個子簽署要求chali=(Ii,vi)1≤j≤m,在所有同類要求得到滿足后,將其整合為完整的簽署要求chal(blockId,chali)1≤j≤m并將其發(fā)送給CSP;
DO收到證據(jù)后,對下式進行驗證:
(1)
若式(1)成立,則DO輸出結(jié)果“true”,否則輸出結(jié)果“false”。
所設(shè)計的模型采用了哈希算法、非對稱加密算法以及MA-MHT來保證云數(shù)據(jù)的安全性。在區(qū)塊鏈的結(jié)構(gòu)模式下,數(shù)據(jù)存儲在各個區(qū)塊中且數(shù)據(jù)通過哈希算法整合得到的hash值被保存在區(qū)塊頭中。當(dāng)數(shù)據(jù)面臨被篡改的威脅時,區(qū)塊的哈希值會產(chǎn)生一定的變化,為了使篡改操作在整個網(wǎng)絡(luò)中的每一個節(jié)點得以執(zhí)行,就必須從當(dāng)前區(qū)塊開始對所有節(jié)點的hash值進行重新計算。此外,為了保證用戶的隱私不被侵犯,模型中通過數(shù)據(jù)盲化的方法處理CSP返回給DO的驗證數(shù)據(jù),使DO無法對數(shù)據(jù)內(nèi)容進行反向推導(dǎo)。
實驗搭建硬件環(huán)境為3臺PC(內(nèi)存8 G、CPU3.2 GHz);系統(tǒng)采用Windows 7操作系統(tǒng)。編程環(huán)境為JXTA CMS2.4、jdk1.8、Java。其中:1臺PC用于多用戶科研項目數(shù)據(jù)的存儲和維護,并生產(chǎn)區(qū)塊;另外2臺PC搭建JXTA分布式系統(tǒng)。節(jié)點之間地位平等、無主次之分。每個節(jié)點都可能成為項目主管用戶和普通用戶。
實驗1:用戶單次輸入文件的大小為32 KB,每個文件分割為10個文件塊,CSP和授權(quán)用戶(激活)每成功接收5個IB即創(chuàng)建1個區(qū)塊文件,實驗過程中用戶輸入的文件數(shù)量依次為50、100、150、200個,記錄每次文件輸入后的審計時間并與第三方審計[8-10]方案的用時進行對比。實驗結(jié)果如表1所示。
表1 不同輸入文件數(shù)量條件下2種方案用時對比
實驗2:用戶輸入文件數(shù)量為200個,文件分割為10個文件塊,CSP和授權(quán)用戶(激活)每成功接收5個IB即創(chuàng)建1個區(qū)塊文件,實驗過程中用戶輸入的文件大小依次為32、64、128、256 KB,記錄每次文件輸入后的審計時間并與第三方審計方案的用時進行對比。實驗結(jié)果如表1所示。
由表1的數(shù)據(jù)可見:在文件大小固定的條件下,隨著用戶輸入文件數(shù)量的增加,2種方案各自的審計用時變化不大,但本文模型的審計用時比TPA方案縮短很多;在文件數(shù)量固定的條件下,隨著用戶輸入文件大小的遞增,2種方案各自的審計用時均逐漸延長,但本文模型的審計用時仍比TPA方案短,且兩者差異極其明顯。
實驗3:用戶單次輸入文件的大小為32 KB,每個文件分割為10個文件塊,CSP和授權(quán)用戶(激活)每成功接收5個IB即創(chuàng)建1個區(qū)塊文件,授權(quán)用戶和普通用戶各自依次輸入200、400、800個數(shù)據(jù)文件,授權(quán)用戶(激活)依次完成40、80、160次審計操作。普通用戶的網(wǎng)絡(luò)通信主要包括向CSP發(fā)送數(shù)據(jù)和向授權(quán)用戶(激活)發(fā)送元數(shù)據(jù);授權(quán)用戶(激活)的網(wǎng)絡(luò)通信主要包括向CSP發(fā)送數(shù)據(jù)、其自身生成元數(shù)據(jù)以及區(qū)塊簽署與審計過程中的數(shù)據(jù)傳輸;CSP的網(wǎng)絡(luò)通信僅為接收審計要求后證據(jù)的傳送。在第三方審計方案中,用戶依次分2 000、4 000、8 000次輸入大小為32 KB的數(shù)據(jù)文件,分別完成40、80、160次審計操作。2種審計方案的總體網(wǎng)絡(luò)通信量對比結(jié)果,如表2所示。
表2 2種方案的總體通信量對比
由表2數(shù)據(jù)可見,在用戶發(fā)送相同數(shù)量的文件并達到同等審計效果的條件下,本文模型所需的網(wǎng)絡(luò)通信量遠遠小于第三方審計方案,其原因在于本文模型首先對數(shù)據(jù)文件進行聚合處理再集中發(fā)送,因此網(wǎng)絡(luò)傳輸?shù)膶嶋H數(shù)據(jù)量大大減少,有效減輕了網(wǎng)絡(luò)通信的負載。
為了解決項目數(shù)據(jù)審計中常用的第三方審計方案所存在的性能差、單點失效、用戶隱私易泄露等問題,本文提出了一種基于云技術(shù)的創(chuàng)新型科研項目數(shù)據(jù)審計系統(tǒng)模型。將用戶輸入的項目數(shù)據(jù)保存在分布式網(wǎng)絡(luò)結(jié)構(gòu)的區(qū)塊鏈上,通過文件塊信息的讀取向CSP提出驗證要求,同時利用數(shù)據(jù)的盲化處理方法保證用戶隱私的安全性。實驗結(jié)果表明,與第三方審計方案相比,本文所提出的模型所需審計時間更短、通信量更少,對于云數(shù)據(jù)的完整性審計具有很強的實用性。