田俊峰,李天樂(lè)
?
基于TPA云聯(lián)盟的數(shù)據(jù)完整性驗(yàn)證模型
田俊峰1,2,李天樂(lè)1,2
(1. 河北大學(xué)網(wǎng)絡(luò)空間安全與計(jì)算機(jī)學(xué)院,河北 保定 071002; 2. 河北省高可信信息系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,河北 保定 071002)
針對(duì)公有性驗(yàn)證模型中第三方審計(jì)機(jī)構(gòu)(TPA, third-party auditor)不可信問(wèn)題,提出基于TPA云聯(lián)盟的數(shù)據(jù)完整性驗(yàn)證模型。首先,設(shè)計(jì)TPA云聯(lián)盟的體系結(jié)構(gòu)并定義系統(tǒng)平臺(tái)的主要功能組件及作用,聯(lián)盟可以對(duì)TPA云成員進(jìn)行管理和控制。其次,利用可信計(jì)算技術(shù)和區(qū)塊鏈技術(shù)對(duì)TPA進(jìn)行詳細(xì)的設(shè)計(jì),確保TPA執(zhí)行環(huán)境和工作流程的可信性。最后,利用TPA云聯(lián)盟構(gòu)建數(shù)據(jù)完整性驗(yàn)證模型,并對(duì)模型的正確性、安全性和有效性進(jìn)行理論和實(shí)驗(yàn)分析。
數(shù)據(jù)完整性驗(yàn)證;區(qū)塊鏈;可信計(jì)算;第三方審計(jì)機(jī)構(gòu)
隨著移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、大數(shù)據(jù)時(shí)代的到來(lái),數(shù)據(jù)量呈指數(shù)級(jí)增長(zhǎng)趨勢(shì),個(gè)人的存儲(chǔ)能力已無(wú)法滿(mǎn)足現(xiàn)有的存儲(chǔ)需求。云存儲(chǔ)(cloud storage)[1]是基于云計(jì)算衍生出來(lái)的概念,即為滿(mǎn)足云計(jì)算系統(tǒng)海量的數(shù)據(jù)存儲(chǔ)空間而產(chǎn)生的。其通過(guò)集群應(yīng)用、網(wǎng)絡(luò)技術(shù)或分布式文件系統(tǒng)等功能,將網(wǎng)絡(luò)中大量各種不同類(lèi)型的存儲(chǔ)設(shè)備通過(guò)應(yīng)用軟件集成起來(lái)協(xié)同工作,共同對(duì)外提供數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)訪(fǎng)問(wèn)功能。通過(guò)云存儲(chǔ)系統(tǒng),用戶(hù)可以采用按需付費(fèi)的方式,利用較小的花費(fèi)即可在云端得到更強(qiáng)大的存儲(chǔ)能力。然而用戶(hù)將數(shù)據(jù)存儲(chǔ)在云端,并將本地?cái)?shù)據(jù)刪除,失去了對(duì)數(shù)據(jù)的實(shí)質(zhì)性控制。云端是否完整地持有用戶(hù)的數(shù)據(jù)、怎樣證明云端持有用戶(hù)數(shù)據(jù)的正確性等問(wèn)題引起了學(xué)術(shù)界的廣泛關(guān)注。
不可信云存儲(chǔ)服務(wù)商(CSP, cloud storage provider)是否完整地持有用戶(hù)的數(shù)據(jù),是近年來(lái)在云存儲(chǔ)安全領(lǐng)域內(nèi)備受關(guān)注的問(wèn)題。目前,對(duì)于驗(yàn)證云存儲(chǔ)服務(wù)商或入侵者有沒(méi)有對(duì)用戶(hù)存儲(chǔ)的數(shù)據(jù)進(jìn)行惡意的刪除、修改等行為,研究者們提出2類(lèi)校驗(yàn)?zāi)P停簲?shù)據(jù)持有性證明(PDP, provable data possession)和數(shù)據(jù)可恢復(fù)性證明(POR, proof of retrievability)。前者可以驗(yàn)證數(shù)據(jù)是否被云端正確地持有;后者可以對(duì)丟失、損壞的數(shù)據(jù)進(jìn)行一定的恢復(fù)。此外,參照驗(yàn)證者身份,驗(yàn)證方案可以分為2種:私有驗(yàn)證方案和公開(kāi)驗(yàn)證方案。相較于私有驗(yàn)證,設(shè)有第三方審計(jì)機(jī)構(gòu)TPA的公開(kāi)驗(yàn)證更好地支持了公開(kāi)審計(jì)、動(dòng)態(tài)更新、驗(yàn)證高效等審計(jì)特點(diǎn)。
Ateniese等[2]首先提出了PDP的概念,利用基于RSA的驗(yàn)證方法和同態(tài)驗(yàn)證標(biāo)簽(HVT, homomorphic verifiable tag)來(lái)進(jìn)行文件塊的完整性驗(yàn)證工作,并利用概率性驗(yàn)證方案,有效地減少了計(jì)算代價(jià)和通信開(kāi)銷(xiāo)。Wang等[3]采用在同等安全條件下比RSA和DSA更短的BLS簽名技術(shù)構(gòu)造數(shù)據(jù)標(biāo)簽進(jìn)行驗(yàn)證。由于BLS簽名機(jī)制的同態(tài)特性,可將多個(gè)簽名聚集為一個(gè)簽名進(jìn)行統(tǒng)一驗(yàn)證,使基于BLS簽名的驗(yàn)證方案存儲(chǔ)代價(jià)和通信開(kāi)銷(xiāo)大大減少。此外,基于BLS簽名的PDP機(jī)制是一種公開(kāi)驗(yàn)證機(jī)制,用戶(hù)可以將煩瑣的審計(jì)任務(wù)交給TPA來(lái)完成,減輕了用戶(hù)的計(jì)算開(kāi)銷(xiāo),提高了整個(gè)方案的效率。在公開(kāi)審計(jì)過(guò)程中,第三方可能利用多次審計(jì)中的線(xiàn)性組合方程式進(jìn)行高斯消元,從而竊取用戶(hù)的數(shù)據(jù)。針對(duì)審計(jì)過(guò)程中可能泄露用戶(hù)數(shù)據(jù)隱私的問(wèn)題,Wang等[4]采用隨機(jī)掩碼技術(shù),利用隨機(jī)置換函數(shù)保證用戶(hù)的數(shù)據(jù)不會(huì)泄露給TPA或云存儲(chǔ)提供商。針對(duì)動(dòng)態(tài)更新驗(yàn)證問(wèn)題,Erway等[5]首先考慮引入動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)來(lái)支持全動(dòng)態(tài)操作,提出基于跳表的PDP機(jī)制來(lái)驗(yàn)證動(dòng)態(tài)操作。利用認(rèn)證跳躍表的數(shù)據(jù)結(jié)構(gòu),根據(jù)云存儲(chǔ)服務(wù)器返回的認(rèn)證路徑、標(biāo)簽信息和本地存儲(chǔ)的認(rèn)證元數(shù)據(jù)判斷數(shù)據(jù)塊在位置上是否正確。Wang等[6]提出基于Merkle樹(shù)的數(shù)據(jù)結(jié)構(gòu)來(lái)驗(yàn)證動(dòng)態(tài)更新操作。與Erway等[5]不同的是,數(shù)據(jù)標(biāo)簽并沒(méi)有參與動(dòng)態(tài)結(jié)構(gòu)中根節(jié)點(diǎn)散列值的計(jì)算,而是利用構(gòu)造的Merkle認(rèn)證散列樹(shù)中的根散列值和某個(gè)葉子節(jié)點(diǎn)的輔助認(rèn)證信息來(lái)保證云存儲(chǔ)提供商的動(dòng)態(tài)操作更新的正確性。此外,Wang等[4]提出數(shù)據(jù)驗(yàn)證文件批審計(jì)(batch auditing)的概念。TPA如果同時(shí)處理多個(gè)審計(jì)任務(wù)請(qǐng)求時(shí),單個(gè)處理起來(lái)會(huì)非常煩瑣和浪費(fèi)資源。如果將不同的審計(jì)請(qǐng)求的線(xiàn)性簽名聚合成一個(gè)簽名,使TPA進(jìn)行一次審計(jì),則大大提高了審計(jì)效率。
以上的公開(kāi)審計(jì)驗(yàn)證模型中,大多數(shù)都是在假設(shè)TPA是可信的前提下來(lái)完成整個(gè)數(shù)據(jù)完整性驗(yàn)證工作的。然而在實(shí)際應(yīng)用中,TPA內(nèi)部的工作流程及其可信性都需要進(jìn)一步的研究和證明。雖然可以利用加密數(shù)據(jù)塊以及隨機(jī)掩碼等技術(shù)防止原始數(shù)據(jù)在TPA中泄露。然而,對(duì)于用戶(hù)來(lái)說(shuō),TPA是一個(gè)黑盒子,其內(nèi)部構(gòu)造和運(yùn)作流程都不得而知。在現(xiàn)實(shí)中,TPA有可能與CSP串謀對(duì)用戶(hù)進(jìn)行攻擊,即無(wú)論CSP中用戶(hù)數(shù)據(jù)是否完整,返回給用戶(hù)的完整性驗(yàn)證結(jié)果都是驗(yàn)證成功的。此外,TPA還有可能與用戶(hù)進(jìn)行串謀(或被其他CSP競(jìng)爭(zhēng)者賄賂),故意驗(yàn)證失敗CSP生成的證明,這時(shí)返回用戶(hù)的完整性驗(yàn)證結(jié)果都是驗(yàn)證失敗。
Xu等[7]利用加密的審計(jì)方案和復(fù)審方案來(lái)保證TPA在規(guī)定時(shí)間內(nèi)完成數(shù)據(jù)完整性驗(yàn)證。在此基礎(chǔ)上,Huang等[8]采用多個(gè)TPA進(jìn)行審計(jì)的授權(quán),如果一個(gè)TPA不能被信任,它將會(huì)被撤銷(xiāo)并被其他TPA替換。然而文獻(xiàn)[7-8]的審計(jì)方案都定義了“time sever”和“receive sever”,而這2個(gè)實(shí)體的可信性和安全性有待進(jìn)一步證明。Wu等[9]提出把TPA的驗(yàn)證工作分為復(fù)雜的計(jì)算過(guò)程和簡(jiǎn)單的驗(yàn)證過(guò)程,前者由第三方審計(jì)機(jī)構(gòu)處理,后者由用戶(hù)自己驗(yàn)證。肖達(dá)等[10]利用部署在云存儲(chǔ)服務(wù)器端的可信硬件來(lái)進(jìn)行審計(jì)日志的生成與存儲(chǔ),由于可信硬件的性能有限以及部署在不可信云存儲(chǔ)提供商等風(fēng)險(xiǎn),其安全性和可信性也有待進(jìn)一步驗(yàn)證。以上方案并沒(méi)有真正解決使TPA誠(chéng)實(shí)可信地完成云用戶(hù)的審計(jì)任務(wù)。
針對(duì)如何構(gòu)建可信TPA以及利用可信TPA誠(chéng)實(shí)可信地完成用戶(hù)的審計(jì)任務(wù),本文做了如下工作。
1) 設(shè)計(jì)TPA云聯(lián)盟的體系架構(gòu),利用TPA云聯(lián)盟管理平臺(tái)對(duì)TPA的運(yùn)行進(jìn)行管理和控制。
2) 設(shè)計(jì)TPA的邏輯框架,使其進(jìn)行審計(jì)任務(wù)的工作流程透明化、可視化。
3) 構(gòu)造關(guān)于TPA可信度量值以及審計(jì)任務(wù)參數(shù)的區(qū)塊鏈,使TPA的狀態(tài)和行為可追溯。
4) 完成基于TPA云聯(lián)盟的數(shù)據(jù)完整性驗(yàn)證模型,在保證可信TPA行為可信的同時(shí),驗(yàn)證存儲(chǔ)在不可信云存儲(chǔ)商的用戶(hù)數(shù)據(jù)的完整性。
本節(jié)定義了TPA云聯(lián)盟的體系架構(gòu)和功能模塊,利用聯(lián)盟對(duì)TPA進(jìn)行管理和控制,利用可信計(jì)算技術(shù)和區(qū)塊鏈技術(shù)對(duì)TPA進(jìn)行設(shè)計(jì),包括TPA操作層的關(guān)鍵功能模塊以及TPA區(qū)塊鏈層可信區(qū)塊鏈的形成。
TPA云聯(lián)盟(CFTPA,cloud federation of TPA),是參考?xì)W洲SUNFISH項(xiàng)目中云聯(lián)盟(FaaS, federation as a service)[11]與基于TPM聯(lián)盟的可信云平臺(tái)管理模型[12],為可信TPA而設(shè)計(jì)的一種云聯(lián)盟模型。TPA云聯(lián)盟保證了TPA可信的運(yùn)行環(huán)境和誠(chéng)實(shí)的驗(yàn)證流程。此外,TPA云聯(lián)盟可以根據(jù)業(yè)務(wù)與隱私保護(hù)等級(jí)的不同,將政務(wù)、金融、醫(yī)療等機(jī)構(gòu)的驗(yàn)證任務(wù)分配給符合要求的TPA云成員來(lái)進(jìn)行處理。云聯(lián)盟中,分布式云成員之間通過(guò)P2P方式進(jìn)行通信和交互,并通過(guò)TPA云聯(lián)盟管理平臺(tái)進(jìn)行統(tǒng)一的管理與調(diào)度。
TPA云聯(lián)盟結(jié)構(gòu)如圖1所示。虛線(xiàn)內(nèi)的TPA表示多個(gè)TPA構(gòu)成的TPA云聯(lián)盟,每個(gè)TPA由TPM和vTPM構(gòu)成,可信計(jì)算基,為可信度量提供存儲(chǔ)、驗(yàn)證、計(jì)算等功能。TPM與vTPM的組合體系結(jié)構(gòu)采用Berger等[13]提出的框架模型,vTPM的采用大大擴(kuò)展了TPM的應(yīng)用場(chǎng)景,突破了TPM的性能瓶頸。TPA在vTPM創(chuàng)建的虛擬機(jī)中執(zhí)行相應(yīng)的審計(jì)任務(wù)。TPA邏輯結(jié)構(gòu)分為操作層和區(qū)塊鏈層。操作層進(jìn)行數(shù)據(jù)完整性驗(yàn)證工作流程,區(qū)塊鏈層收到操作層的日志記錄,形成關(guān)于可信度量值與審計(jì)日志記錄的不可更改區(qū)塊鏈。
圖1 TPA云聯(lián)盟結(jié)構(gòu)
TPA云聯(lián)盟管理平臺(tái)系統(tǒng)對(duì)TPA進(jìn)行綜合的管理與調(diào)度,包括可信執(zhí)行環(huán)境度量、組件間的認(rèn)證、審計(jì)方案的分配、TPA云資源的使用與注銷(xiāo)等。其主要功能組件有如下定義。
1) 身份管理組件:包括一系列認(rèn)證功能的集合,認(rèn)證管理TPA云成員、云用戶(hù)(CU)和聯(lián)盟管理員的身份注冊(cè)、注銷(xiāo)等功能,以及認(rèn)證和管理平臺(tái)系統(tǒng)中各個(gè)組件的身份和正常功能;認(rèn)證管理TPA云聯(lián)盟與管理平臺(tái)的系統(tǒng)交互;認(rèn)證云用戶(hù)任務(wù)請(qǐng)求并通過(guò)VM管理開(kāi)啟相應(yīng)云資源;認(rèn)證云用戶(hù)與TPA通過(guò)數(shù)據(jù)保護(hù)組件進(jìn)行交互;認(rèn)證平臺(tái)組件通過(guò)加密令牌與區(qū)塊鏈的交互。總之,身份管理組件是平臺(tái)系統(tǒng)中必不可少的組件,是所有任務(wù)流和數(shù)據(jù)流的認(rèn)證校驗(yàn)基礎(chǔ)。
2) VM管理組件:即虛擬機(jī)云資源的管理組件。在身份認(rèn)證通過(guò)的情況下,可以根據(jù)業(yè)務(wù)需求和節(jié)點(diǎn)狀態(tài)對(duì)TPA云聯(lián)盟中的云資源進(jìn)行開(kāi)啟、關(guān)閉和掛起等命令。聯(lián)盟管理員一旦發(fā)現(xiàn)TPA行為異常,可對(duì)該TPA進(jìn)行撤銷(xiāo)命令,并扣除相應(yīng)積分。特別地,一旦有云用戶(hù)向TPA云聯(lián)盟發(fā)起審計(jì)任務(wù),VM管理組件會(huì)根據(jù)參數(shù)信息(如花費(fèi)或SLA協(xié)議[14])在TPA云聯(lián)盟中匹配到合適的TPA資源并提供給云用戶(hù),還能提供其他公有云、私有云的交互API。
3) 審計(jì)方案管理:可以存儲(chǔ)高效優(yōu)秀的審計(jì)方案,并支持用戶(hù)自定義審計(jì)方案(需要通過(guò)安全審核);提供對(duì)審計(jì)方案的加密功能[7-8]。此外,如果對(duì)安全隱私要求較強(qiáng)的用戶(hù),可采用強(qiáng)加密方案[15]。
4) 數(shù)據(jù)保護(hù)組件:數(shù)據(jù)保護(hù)組件旨在保證云用戶(hù)數(shù)據(jù)的安全。包括用戶(hù)要存儲(chǔ)在TPA的元數(shù)據(jù)以及對(duì)CSP返回的證據(jù)進(jìn)行強(qiáng)制隨機(jī)掩碼處理[4]。并采用基于屬性的訪(fǎng)問(wèn)控制(AAC, attribute-based access control)[16]協(xié)議,保證訪(fǎng)問(wèn)控制協(xié)議與所使用的云資源服務(wù)相匹配,進(jìn)而保證組件間的隱私保護(hù)。
5) 可信度量組件:負(fù)責(zé)管理監(jiān)控各個(gè)TPA中TPM可信證據(jù)收集與對(duì)比校驗(yàn)工作。利用收集到的可信證據(jù)與基準(zhǔn)數(shù)據(jù)庫(kù)進(jìn)行對(duì)比校驗(yàn),實(shí)現(xiàn)對(duì)TPA啟動(dòng)時(shí)的靜態(tài)完整性度量(包括BIOS、bootloader、OS、配置文件)和系統(tǒng)運(yùn)行時(shí)的動(dòng)態(tài)完整性度量(包括虛擬機(jī)、進(jìn)程的可執(zhí)行文件、環(huán)境變量)。
如圖1的TPA邏輯框架所示,TPA的邏輯框架分為操作層和區(qū)塊鏈層。TPA的操作層邏輯框架如圖2所示。其中,空心粗箭頭表示數(shù)據(jù)的傳輸,實(shí)心細(xì)箭頭表示指令的發(fā)送。接下來(lái),將詳細(xì)介紹各個(gè)模塊的功能及其在業(yè)務(wù)中的作用。
圖2 TPA的操作層邏輯框架
1) 接收用戶(hù)請(qǐng)求模塊(AURM, accept CU request module):分析用戶(hù)發(fā)送給TPA的請(qǐng)求。分為3種請(qǐng)求類(lèi)型:第一種為存儲(chǔ)元數(shù)據(jù)請(qǐng)求,1即用戶(hù)發(fā)送經(jīng)過(guò)預(yù)處理過(guò)的原始數(shù)據(jù)到TPA的元數(shù)據(jù)庫(kù);第二種為挑戰(zhàn)請(qǐng)求,1即用戶(hù)要求TPA生成正確格式的挑戰(zhàn)發(fā)送給CSP;第三種為更新請(qǐng)求,2即用戶(hù)傳達(dá)給TPA的更新要求。
2) 接收云存儲(chǔ)服務(wù)提供商結(jié)果模塊(APRM, accept CSP result module):接收并處理云存儲(chǔ)服務(wù)提供商的結(jié)果。第一種為CSP返回給TPA的“應(yīng)答”結(jié)果,由3發(fā)送給完整性驗(yàn)證模塊;第二種為CSP返回給TPA的“更新”結(jié)果,由4發(fā)送給更新驗(yàn)證模塊。
3) 生成挑戰(zhàn)模塊(GCM, generate challenge module):生成用戶(hù)進(jìn)行完整性驗(yàn)證請(qǐng)求的“挑戰(zhàn)”命令,并發(fā)送給CSP。根據(jù)收到的挑戰(zhàn)請(qǐng)求1,向元數(shù)據(jù)庫(kù)發(fā)送相關(guān)元數(shù)據(jù)2生成“挑戰(zhàn)”,最終發(fā)送給CSP。
4) 生成更新挑戰(zhàn)模塊(GUCM, generate update challeng module):對(duì)用戶(hù)的更新請(qǐng)求生成更新挑戰(zhàn)操作。收到更新挑戰(zhàn)請(qǐng)求2后,該模塊輸入5和相應(yīng)更新數(shù)據(jù)的位置信息等,生成更新挑戰(zhàn),并發(fā)送給CSP。同時(shí),通過(guò)5保證存儲(chǔ)在元數(shù)據(jù)庫(kù)與存儲(chǔ)在CSP中的數(shù)據(jù)的一致性。
5) 更新驗(yàn)證模塊(UVM, update verification module):對(duì)CSP發(fā)送來(lái)的更新結(jié)果進(jìn)行更新驗(yàn)證。輸入更新結(jié)果4、更新請(qǐng)求、更新后的元數(shù)據(jù)4,進(jìn)行三方的更新校驗(yàn)對(duì)比。確認(rèn)CSP的“更新操作”是否正確,將輸出對(duì)比結(jié)果發(fā)送給用戶(hù)。
6) 完整性驗(yàn)證模塊(IVM, integrity verification module):是TPA的關(guān)鍵模塊,其功能是完成對(duì)數(shù)據(jù)的完整性驗(yàn)證。首先,收到處理后的“應(yīng)答”結(jié)果并向元數(shù)據(jù)庫(kù)調(diào)取標(biāo)簽信息3;然后,根據(jù)挑戰(zhàn)、應(yīng)答3、元數(shù)據(jù)3,進(jìn)行數(shù)據(jù)的完整性驗(yàn)證,并將驗(yàn)證結(jié)果發(fā)送給用戶(hù)。
7) 元數(shù)據(jù)庫(kù)(MDB, metadata database):是存儲(chǔ)用戶(hù)經(jīng)過(guò)特殊處理之后的元數(shù)據(jù)的一種特殊數(shù)據(jù)庫(kù),以供生成挑戰(zhàn)模塊、生成更新模塊、更新校驗(yàn)?zāi)K、完整性驗(yàn)證模塊調(diào)取所需數(shù)據(jù)。
8) 操作日志模塊(OLM,operation log module):在規(guī)定時(shí)間間隔內(nèi)對(duì)TPA操作層的模塊間和模塊內(nèi)的操作進(jìn)行記錄,并將數(shù)據(jù)記錄進(jìn)行封裝,然后發(fā)送到區(qū)塊鏈網(wǎng)絡(luò)中。
TPA內(nèi)的區(qū)塊鏈層設(shè)置在TPA操作層的邏輯底層。在區(qū)塊鏈層內(nèi),有多個(gè)基于可信TPM的區(qū)塊鏈節(jié)點(diǎn)。網(wǎng)絡(luò)節(jié)點(diǎn)在區(qū)塊鏈層內(nèi)進(jìn)行關(guān)于審計(jì)消息的廣播和計(jì)算,并記錄和存儲(chǔ)審計(jì)狀態(tài)和結(jié)果。所有TPA云聯(lián)盟成員的區(qū)塊鏈層節(jié)點(diǎn)構(gòu)成區(qū)塊鏈網(wǎng)絡(luò)??尚庞布脚_(tái)保障區(qū)塊層的節(jié)點(diǎn)完整性,區(qū)塊鏈網(wǎng)絡(luò)中的共識(shí)算法保障網(wǎng)絡(luò)節(jié)點(diǎn)的一致性。
圖3所示為區(qū)塊鏈層以及區(qū)塊鏈形成的示意。每個(gè)TPA的區(qū)塊鏈層內(nèi)的節(jié)點(diǎn)如圖3虛線(xiàn)橢圓部分所示,圖3中有2種類(lèi)型的節(jié)點(diǎn):領(lǐng)導(dǎo)節(jié)點(diǎn)和普通節(jié)點(diǎn)。領(lǐng)導(dǎo)節(jié)點(diǎn)在全網(wǎng)絡(luò)中負(fù)責(zé)把TPA的度量值和某時(shí)間段的操作記錄打包進(jìn)區(qū)塊鏈中;普通節(jié)點(diǎn)負(fù)責(zé)收集TPA的可信度量值以及審計(jì)任務(wù)相關(guān)參數(shù)。2種節(jié)點(diǎn)都會(huì)在區(qū)塊鏈網(wǎng)絡(luò)中進(jìn)行監(jiān)聽(tīng)、接收、計(jì)算驗(yàn)證、廣播信息等工作。2種節(jié)點(diǎn)的設(shè)置可以減輕單類(lèi)型節(jié)點(diǎn)工作任務(wù)。
圖3虛線(xiàn)矩形部分即為區(qū)塊鏈?zhǔn)疽?。區(qū)塊由區(qū)塊頭和區(qū)塊體構(gòu)成。區(qū)塊頭中“前區(qū)塊的散列值”是指利用SHA256對(duì)前區(qū)塊進(jìn)行計(jì)算,然后保存到當(dāng)前區(qū)塊中,其可以保證區(qū)塊鏈的鏈接和數(shù)據(jù)的不可更改;領(lǐng)導(dǎo)信息指形成此區(qū)塊的領(lǐng)導(dǎo)信息,即將此輪選舉出的節(jié)點(diǎn)信息保存在區(qū)塊中,可供回溯查詢(xún)相關(guān)信息;時(shí)間戳確定了區(qū)塊的寫(xiě)入時(shí)間,同時(shí)使區(qū)塊鏈具有時(shí)序的性質(zhì),且時(shí)間戳可以作為區(qū)塊數(shù)據(jù)的存在性證明,有助于形成不可篡改、不可偽造的分布式賬本;Merkle根表示TPA中可信證據(jù)收集到的度量值進(jìn)行兩兩散列運(yùn)算的最終所得結(jié)果。區(qū)塊體中除了包括在TPA中收集到的各組件、系統(tǒng)、軟件運(yùn)行狀態(tài)的度量值外,還包括TPA審計(jì)任務(wù)的相關(guān)信息,例如,審計(jì)任務(wù)ID、云用戶(hù)的ID、云存儲(chǔ)服務(wù)商的ID以及此次審計(jì)任務(wù)的具體方案和資源花費(fèi)、時(shí)間花費(fèi)等。
圖3 TPA區(qū)塊鏈層和區(qū)塊鏈形成示意
基于PBFT算法[17-18]以及POS權(quán)益證明方法[19],并結(jié)合本文設(shè)計(jì)的TPA以及數(shù)據(jù)完整性驗(yàn)證的特點(diǎn),提出TPA領(lǐng)導(dǎo)選舉共識(shí)算法(TPA-LECA,TPA-leader election consensus algorithm),具體步驟如下。
1) 操作記錄模塊收集工作層的可信證據(jù),在區(qū)塊鏈網(wǎng)絡(luò)中持續(xù)廣播數(shù)據(jù)驗(yàn)證信息(CU,CSP,TPA,int, OPR)。其中,CU表示云存儲(chǔ)用戶(hù)的一個(gè)度量值,由用戶(hù)所屬行業(yè)數(shù)據(jù)的機(jī)密性和重要性以及在TPA云聯(lián)盟平臺(tái)的注冊(cè)時(shí)長(zhǎng)和良好的用戶(hù)行為決定;CSP表示云存儲(chǔ)提供商的一個(gè)度量值,由CSP返回“應(yīng)答”效率以及數(shù)據(jù)完整性驗(yàn)證成功情況確定;TPA表示TPA云聯(lián)盟中的TPA成員的度量值,由TPA的工作效率、完整性度量結(jié)果和審計(jì)任務(wù)參數(shù)決定;int表示記錄此操作的時(shí)間間隔;OPR表示在此時(shí)間間隔內(nèi)TPA操作層進(jìn)行的操作。
2) 所有節(jié)點(diǎn)均獨(dú)立監(jiān)聽(tīng)區(qū)塊鏈網(wǎng)絡(luò)中的廣播信息并記錄。
3) 經(jīng)過(guò)時(shí)間間隔后,各節(jié)點(diǎn)均把自己監(jiān)聽(tīng)到的廣播信息以及自己的簽名(CU,CSP,TPA,int, OPR,)發(fā)送到區(qū)塊鏈網(wǎng)絡(luò),其中,表示權(quán)值,為各特征項(xiàng)與權(quán)重的乘積之和。
4) 各節(jié)點(diǎn)根據(jù)表1自動(dòng)計(jì)算各節(jié)點(diǎn)的權(quán)值,并將權(quán)值最大的節(jié)點(diǎn)信息向區(qū)塊鏈網(wǎng)絡(luò)中廣播。
表1 特征項(xiàng)權(quán)值參考
5) 任意節(jié)點(diǎn)收到超過(guò)個(gè)(與節(jié)點(diǎn)總數(shù)有關(guān),根據(jù)系統(tǒng)的容錯(cuò)能力而定)相同回應(yīng)信息后,則達(dá)成共識(shí)。此相同信息中的簽名者即本輪共識(shí)的領(lǐng)導(dǎo),它負(fù)責(zé)將可信度量值和操作記錄等信息打包進(jìn)新的區(qū)塊;作為領(lǐng)導(dǎo)節(jié)點(diǎn)的獎(jiǎng)勵(lì),包含領(lǐng)導(dǎo)節(jié)點(diǎn)的TPA節(jié)點(diǎn)池會(huì)提高相應(yīng)單個(gè)TPA的度量值TPA。
6) 新區(qū)塊完成后,各節(jié)點(diǎn)將之前的信息刪除,并開(kāi)始下一輪的共識(shí)。
區(qū)塊鏈網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn)監(jiān)聽(tīng)全網(wǎng)操作記錄以及在接收到操作記錄的信息后,需要對(duì)操作記錄進(jìn)行合法性的驗(yàn)證。如果發(fā)現(xiàn)非法的操作記錄,則不寫(xiě)入其記賬本;如果非法操作記錄包含在領(lǐng)導(dǎo)節(jié)點(diǎn)打包的區(qū)塊中,則放棄本輪共識(shí)結(jié)果,重新進(jìn)行下一輪的共識(shí)過(guò)程。操作記錄的驗(yàn)證流程如下所示。
1) 操作記錄的數(shù)據(jù)格式是否符合系統(tǒng)規(guī)則,如果不符合則判定為非法。
2) 操作記錄的行為是否符合系統(tǒng)規(guī)則,如果不符合則判定為非法。
3) 操作記錄在區(qū)塊鏈中是否已經(jīng)存在,如果存在則判定為非法。
4) 如果以上判定都不符合,則操作記錄被認(rèn)為是合法的。
基于TPA云聯(lián)盟的數(shù)據(jù)完整性驗(yàn)證(CFTPA-DIV, CFTPA based data integrity verification)模型的參與實(shí)體有如下3種。
1) 云用戶(hù),也就是擁有原始數(shù)據(jù)的云存儲(chǔ)服務(wù)使用者,將原始數(shù)據(jù)存儲(chǔ)在云端服務(wù)器。
2) TPA云聯(lián)盟,代替用戶(hù)向云存儲(chǔ)提供商進(jìn)行挑戰(zhàn),并驗(yàn)證挑戰(zhàn)證據(jù)。
3) 云存儲(chǔ)提供商,其存儲(chǔ)著云用戶(hù)的數(shù)據(jù),且有可能無(wú)法保證用戶(hù)數(shù)據(jù)的完整性,所以TPA云聯(lián)盟要對(duì)其進(jìn)行完整性“挑戰(zhàn)”。
基于TPA云聯(lián)盟的數(shù)據(jù)完整性驗(yàn)證模型的過(guò)程示意如圖4所示。有別于一般公開(kāi)審計(jì)的數(shù)據(jù)完整性驗(yàn)證,圖4的TPA云聯(lián)盟執(zhí)行TPA的工作流程,其與用戶(hù)和CSP之間構(gòu)成的完整性驗(yàn)證過(guò)程如下所示。
圖4 基于可信區(qū)塊鏈的數(shù)據(jù)完整性模型
1) 用戶(hù)將加密處理后的文件和數(shù)據(jù)標(biāo)簽存儲(chǔ)到CSP,或用戶(hù)在云端對(duì)數(shù)據(jù)的操作。
2) 將處理后的認(rèn)證元數(shù)據(jù)發(fā)送到TPA云聯(lián)盟,或是用戶(hù)需要進(jìn)行挑戰(zhàn)命令(包括挑戰(zhàn)完整性和挑戰(zhàn)更新)。
3) 將TPA云聯(lián)盟生成的完整性挑戰(zhàn)或更新挑戰(zhàn)發(fā)送給CSP。
4) CSP將完整性應(yīng)答或更新的應(yīng)答發(fā)送給TPA云聯(lián)盟。
5) TPA云聯(lián)盟將“挑戰(zhàn)—應(yīng)答”的對(duì)比結(jié)果發(fā)送給用戶(hù)。
6) CSP提供給用戶(hù)數(shù)據(jù)操作的反饋。
CFTPA-DIV完整性驗(yàn)證過(guò)程如下所示。
1) 初始化階段(setup phase)
步驟1 對(duì)TPA云聯(lián)盟中的每個(gè)TPA底層TPM模塊進(jìn)行初始化設(shè)置,即進(jìn)行靜態(tài)的完整性度量。如果出現(xiàn)度量值與默認(rèn)值不匹配的情況,則發(fā)出警報(bào)給VM管理,后者撤銷(xiāo)此TPA參與此輪審計(jì)任務(wù)的分配。
步驟2 身份管理組件對(duì)TPA云聯(lián)盟中其他組件進(jìn)行完整性度量以及正常功能檢測(cè)。
步驟3 云用戶(hù)對(duì)TPA云聯(lián)盟提出審計(jì)任務(wù),即“生成挑戰(zhàn)請(qǐng)求”(前提是已經(jīng)在TPA云聯(lián)盟管理平臺(tái)進(jìn)行注冊(cè))。
2) 挑戰(zhàn)階段(challenge phase)
步驟1 TPA云聯(lián)盟收到云用戶(hù)的審計(jì)請(qǐng)求后,根據(jù)請(qǐng)求數(shù)據(jù)保護(hù)組件執(zhí)行相應(yīng)的政策,審計(jì)方案管理組件選擇合適的審計(jì)方案。
步驟2 VM管理組件,綜合云用戶(hù)的審計(jì)請(qǐng)求、數(shù)據(jù)保護(hù)政策以及所選擇的審計(jì)方案和其他參數(shù)(包括云用戶(hù)身份等級(jí)、TPA在系統(tǒng)中的積分值)作為參考,將審計(jì)任務(wù)分配給合適的TPA。
3) 應(yīng)答階段(response phase)
4) 驗(yàn)證階段(verification phase)
正確性證明如下所示。
1) 初始化階段(setup phase)
然后對(duì)葉子節(jié)點(diǎn)兩兩向上再進(jìn)行散列運(yùn)算(若葉子節(jié)點(diǎn)為奇數(shù),則直接對(duì)自己進(jìn)行散列運(yùn)算)生成MHT的根root,并記錄每個(gè)葉子節(jié)點(diǎn)的輔助認(rèn)證信息[19],最后將其根root和AAI進(jìn)行簽名。
2) 更新挑戰(zhàn)階段(update challenge phase)
TPA云聯(lián)盟收到用戶(hù)的更新挑戰(zhàn)請(qǐng)求后,要求TPA驗(yàn)證CSP是否進(jìn)行相應(yīng)的更新操作,包括對(duì)文件的修改、插入、刪除。
3) 更新應(yīng)答階段(update challenge phase)
4) 更新驗(yàn)證階段(update verification phase)
本節(jié)從可信度量的安全性、區(qū)塊鏈的安全性以及可證明安全方面提出4個(gè)問(wèn)題,并分別進(jìn)行了安全性分析證明。
問(wèn)題1 TPM模塊能否正確地對(duì)TPA進(jìn)行完整性度量。
利用TPM模塊設(shè)置在TPA的底層硬件,可以收集TPA運(yùn)行環(huán)境中靜態(tài)度量值,并與基準(zhǔn)數(shù)據(jù)庫(kù)進(jìn)行對(duì)比驗(yàn)證,如果驗(yàn)證不通過(guò)則通過(guò)VM管理模塊掛起此TPA的云資源。具體可信度量方法可采用樹(shù)形可信度量模型TSTM來(lái)提高度量模型的可拓展性[20]。在TPA工作層進(jìn)行審計(jì)任務(wù)時(shí),需要對(duì)其進(jìn)行動(dòng)態(tài)度量,包括TPA進(jìn)行審計(jì)任務(wù)時(shí)的可信證據(jù)收集以及運(yùn)行環(huán)境的可信性動(dòng)態(tài)驗(yàn)證機(jī)制。其具體實(shí)現(xiàn)可采用“流嵌入法”[21]對(duì)TPA工作流程中的命令控制流和數(shù)據(jù)流嵌入計(jì)算度量值的程序。所以根據(jù)以上方法和模型的使用,可保證TPM模塊正確地對(duì)TPA進(jìn)行完整性度量。
問(wèn)題2 TPA度量值和TPA操作記錄以及審計(jì)參數(shù)能否正確地保存在區(qū)塊鏈中。
在區(qū)塊鏈的形成過(guò)程中,采用TPA-LECA領(lǐng)導(dǎo)選舉共識(shí)算法選舉出領(lǐng)導(dǎo)節(jié)點(diǎn),對(duì)TPA的度量值、操作記錄、審計(jì)參數(shù)的生成和保存進(jìn)行監(jiān)督,并將其以正確的格式打包進(jìn)區(qū)塊??尚艆^(qū)塊鏈中的領(lǐng)導(dǎo)節(jié)點(diǎn)由TPA的區(qū)塊鏈層全節(jié)點(diǎn)選舉而出,其完整性和打包信息的公正性由區(qū)塊鏈中其他節(jié)點(diǎn)的記賬本和計(jì)算驗(yàn)證保證。此外,所有網(wǎng)絡(luò)節(jié)點(diǎn)都有自己的歸屬TPA,即不會(huì)有外網(wǎng)的任意節(jié)點(diǎn)加入此網(wǎng)絡(luò)中進(jìn)行惡意的廣播虛假信息。并且,TPA云聯(lián)盟高級(jí)管理員也可以對(duì)領(lǐng)導(dǎo)節(jié)點(diǎn)的工作進(jìn)行監(jiān)督,以此保證了TPA的度量值以及TPA的操作記錄、審計(jì)參數(shù)能夠正確完整地保存在區(qū)塊中,形成區(qū)塊鏈。
問(wèn)題3 區(qū)塊鏈在一定容忍度下,是否是不可更改和不可偽造的。
問(wèn)題4 基于雙線(xiàn)性對(duì)和Diffie-Hellman問(wèn)題,CFTPA-DIV方案模型能否在隨機(jī)預(yù)言模型中保證數(shù)據(jù)的完整性。
即要證明在基于雙線(xiàn)性對(duì)和Diffie-Hellman困難問(wèn)題的隨機(jī)預(yù)言模型中,除了回復(fù)正確驗(yàn)證信息外,敵手只有可忽略不計(jì)的概率贏得敵手游戲。
證明 在這里,CSP被認(rèn)為是敵手,而TPA被認(rèn)為是仿真者,其控制著隨機(jī)預(yù)言機(jī)。
整理得
進(jìn)一步整理和化簡(jiǎn)得
證畢。
綜合以上4個(gè)問(wèn)題和安全性分析,可以將可信計(jì)算安全性、區(qū)塊鏈安全性與完整性驗(yàn)證的安全性進(jìn)行有效結(jié)合,整體上達(dá)到了整個(gè)驗(yàn)證模型的安全可信。
在模型分析之前,本文設(shè)定在不增加云用戶(hù)的開(kāi)銷(xiāo)前提下(或減少云用戶(hù)開(kāi)銷(xiāo)),在TPA和CSP上增加一定開(kāi)銷(xiāo)是可以接受的。CFTPA-DIV模型中的主要審計(jì)過(guò)程是在TPA云聯(lián)盟環(huán)境下單個(gè)TPA的操作層完成的。相較于傳統(tǒng)公開(kāi)型PDP驗(yàn)證模型,本文模型增加了TPA云聯(lián)盟系統(tǒng)平臺(tái)的管理功能和TPA區(qū)塊鏈層的工作流程來(lái)保證TPA為用戶(hù)提供誠(chéng)實(shí)可靠的數(shù)據(jù)完整性驗(yàn)證工作。此外,TPA云聯(lián)盟系統(tǒng)平臺(tái)中的組件初始化時(shí)需要認(rèn)證和交互。所以在整體的驗(yàn)證過(guò)程中計(jì)算開(kāi)銷(xiāo)、通信開(kāi)銷(xiāo)、存儲(chǔ)開(kāi)銷(xiāo)等方面會(huì)有一定的增加。
這里,本文選擇與同樣針對(duì)惡意TPA提出模型方案的Huang等[8]的方案和Wu等[9]的方案進(jìn)行對(duì)比。其中,Huang等[8]的方案是對(duì)Xu等[7]的方案進(jìn)行了改進(jìn),利用復(fù)審方案來(lái)核查T(mén)PA是否正確地執(zhí)行審計(jì)任務(wù)。Wu等[9]的方案采用一種安全輕量級(jí)的審計(jì)模型,令用戶(hù)對(duì)惡意TPA進(jìn)行審計(jì)核查?;赥PA云聯(lián)盟的數(shù)據(jù)完整性驗(yàn)證方法最大的優(yōu)勢(shì)是通過(guò)可信計(jì)算技術(shù)和區(qū)塊鏈技術(shù)保證了TPA的可信審計(jì)過(guò)程,規(guī)避了TPA的惡意行為。3種方案的特點(diǎn)如表2所示。
表2 相似模型方案對(duì)比
Huang等[8]的方案中利用receive server和time server來(lái)保證TPA準(zhǔn)確準(zhǔn)時(shí)地完成審計(jì)任務(wù),然而引入的server實(shí)體的可信性無(wú)法被證實(shí)。Wu等[9]的方案中將CSP返回的驗(yàn)證結(jié)果分為復(fù)雜計(jì)算和簡(jiǎn)單計(jì)算2個(gè)部分,前者由TPA完成專(zhuān)業(yè)計(jì)算,后者由用戶(hù)完成簡(jiǎn)單驗(yàn)證。然而,如果用戶(hù)最后驗(yàn)證計(jì)算失敗,將會(huì)直接向CSP進(jìn)行驗(yàn)證。此時(shí)用戶(hù)計(jì)算負(fù)擔(dān)不但大大增加,而且TPA與CSP可能已經(jīng)串謀,用戶(hù)無(wú)法得到真實(shí)的驗(yàn)證結(jié)果。
從計(jì)算開(kāi)銷(xiāo)方面分析CFTPA-DIV模型,即對(duì)所有實(shí)體參與到數(shù)據(jù)完整性驗(yàn)證方面的所有計(jì)算進(jìn)行理論分析。假設(shè)只進(jìn)行一次挑戰(zhàn)設(shè)定數(shù)據(jù)被分為個(gè)數(shù)據(jù)塊,TPA進(jìn)行挑戰(zhàn)時(shí)隨機(jī)選取個(gè)數(shù)據(jù)塊。在CFTPA-DIV模型中,主要計(jì)算開(kāi)銷(xiāo)分別是在初始化階段的步驟5計(jì)算式(1),云用戶(hù)要對(duì)計(jì)算文件標(biāo)簽并生成用戶(hù)簽名。在應(yīng)答階段的步驟2中計(jì)算式(2)和式(3),CSP接收到TPA的挑戰(zhàn),做出應(yīng)答生成證據(jù)。在驗(yàn)證階段的步驟1中計(jì)算式(4)和式(5),即TPA云聯(lián)盟中的數(shù)據(jù)保護(hù)組件對(duì)CPS發(fā)送來(lái)的證據(jù)進(jìn)行隱私保護(hù)即隨機(jī)掩碼技術(shù);步驟3中驗(yàn)證式(6)是否成立和進(jìn)行隨機(jī)置換和隨機(jī)函數(shù)運(yùn)算。定義在數(shù)據(jù)完整性驗(yàn)證過(guò)程中的相關(guān)操作如表3所示,然后分別對(duì)3種方案進(jìn)行計(jì)算開(kāi)銷(xiāo)的理論分析,如表4所示。
表3 相關(guān)操作及定義
表4 模型方案計(jì)算開(kāi)銷(xiāo)
從表4的3種模型方案的計(jì)算開(kāi)銷(xiāo)對(duì)比來(lái)看,CFTPA-DIV模型的用戶(hù)開(kāi)銷(xiāo)較其他2種模型少。分析原因,是因?yàn)樵贖uang等[8]的方案中用戶(hù)要進(jìn)行審計(jì)方案的設(shè)計(jì)以及審計(jì)方案的加密等操作,從而增加了用戶(hù)的計(jì)算開(kāi)銷(xiāo)。在Wu等[9]的方案中,用戶(hù)需要對(duì)TPA的計(jì)算結(jié)果再進(jìn)行一次配對(duì)運(yùn)算,進(jìn)而驗(yàn)證TPA是否驗(yàn)證成功。在不考慮Huang的方案中引入不可信server實(shí)體和Wu等[9]的方案中如果驗(yàn)證失敗用戶(hù)還需要大量計(jì)算的基礎(chǔ)上,此2種方案雖然對(duì)惡意TPA有一定效果,但是增加了用戶(hù)的計(jì)算開(kāi)銷(xiāo)。而CFTPA-DIV方案則盡量減小用戶(hù)的開(kāi)銷(xiāo),使對(duì)TPA的審計(jì)工作放在TPA的云聯(lián)盟中進(jìn)行,并且用戶(hù)可在TPA云聯(lián)盟平臺(tái)對(duì)TPA審計(jì)過(guò)程和狀態(tài)進(jìn)行監(jiān)督。
在Wu等[9]的方案中,需要CSP重新生成簽名標(biāo)簽,所以理論計(jì)算開(kāi)銷(xiāo)較大。在TPA計(jì)算開(kāi)銷(xiāo)方面,Wu等[9]的理論計(jì)算開(kāi)銷(xiāo)較其他2種方案少,但是其增加了用戶(hù)計(jì)算開(kāi)銷(xiāo)。Huang等[8]的方案與CFTPA-DIV方案的計(jì)算開(kāi)銷(xiāo)需要利用仿真實(shí)驗(yàn)來(lái)實(shí)現(xiàn)進(jìn)一步的對(duì)比分析。
CFTPA-DIV模型是建立在基于可信區(qū)塊鏈的TPA基礎(chǔ)之上的,所以要首先進(jìn)行基于可信區(qū)塊鏈的TPA的環(huán)境搭建。實(shí)驗(yàn)物理主機(jī)采用Windows10 64位系統(tǒng),硬件配置如下:英特爾酷睿i5四核3.20 GHz處理器,DDR3 1 600 MHz,8 GB內(nèi)存,120 GB固態(tài)硬盤(pán)。在物理主機(jī)的VMwareWorkstation12虛擬機(jī)創(chuàng)建TPA實(shí)例,TPA實(shí)例采用Ubuntu 16.04 LTS 64位系統(tǒng),隨后在TPA的系統(tǒng)中,采用基于TPM2.0的軟件TPM,即ibmtpm1119代替真實(shí)的硬件TPM,并結(jié)合ibmtss1119軟件協(xié)議棧創(chuàng)建vTPM實(shí)例。
在vTPM實(shí)例中利用C語(yǔ)言實(shí)現(xiàn)了原型系統(tǒng),包括利用PCR寄存器進(jìn)行完整性度量、對(duì)VM的開(kāi)啟及注銷(xiāo)以及對(duì)該TPA的審計(jì)過(guò)程形成日志打包進(jìn)區(qū)塊鏈中等功能。然后在搭建的系統(tǒng)中使用Pairing-Based Cryptography(PBC)庫(kù)版本0.5.14和OpenSSL版本1.0.2g對(duì)驗(yàn)證過(guò)程提供加密、解密以及配對(duì)操作。
首先,對(duì)3種方案做定量的實(shí)驗(yàn)分析。假設(shè)用戶(hù)的文件塊總數(shù)與TPA所選取驗(yàn)證文件塊數(shù)量相同,即==300。根據(jù)表4的計(jì)算開(kāi)銷(xiāo)對(duì)比,在5.2節(jié)中搭建好的可信區(qū)塊鏈環(huán)境中,對(duì)CFTPA-DIV中的TPA運(yùn)算操作進(jìn)行模擬仿真實(shí)驗(yàn),CU和CSP運(yùn)算和其他2個(gè)方案實(shí)驗(yàn)采用Ubuntu 16.04 LTS 64位系統(tǒng)和同樣的PBC庫(kù)、OpenSSL庫(kù)。分別對(duì)3種方案CU、TPA、CSP中的主要計(jì)算開(kāi)銷(xiāo)進(jìn)行20次模擬仿真實(shí)驗(yàn),并對(duì)實(shí)驗(yàn)結(jié)果取平均值。其中,實(shí)驗(yàn)中選擇橢圓曲線(xiàn)形式為MNT曲線(xiàn),其基礎(chǔ)字段大小為159 bit,嵌入度為6,實(shí)驗(yàn)中安全等級(jí)選擇80 bit,即|v|=80、||=160。選擇每個(gè)塊的大小為40 B。實(shí)驗(yàn)結(jié)果即其所各自所花費(fèi)的時(shí)間如表5所示。
表5 模型實(shí)際計(jì)算開(kāi)銷(xiāo)對(duì)比
從表5可以看出,在實(shí)驗(yàn)選定的數(shù)據(jù)塊數(shù)量下,CFTPA-DIV模型在用戶(hù)端較其他2種方案時(shí)間花費(fèi)較低,TPA的時(shí)間花費(fèi)比其他2種方案時(shí)間花費(fèi)較高,CSP的時(shí)間花費(fèi)相差不大。分析原因可能為,CFTPA-DIV模型在TPA工作的處理上較其他2種方案有組件間交互的影響,而CU時(shí)間消耗的較少也達(dá)到了預(yù)期的目標(biāo)。
其次,對(duì)3種方案分別增加選取塊數(shù),同樣假設(shè)=,并進(jìn)行多次模擬仿真,實(shí)驗(yàn)結(jié)果分別如圖5和圖6所示。
圖5 3種方案選取相同塊個(gè)數(shù)下CU花費(fèi)時(shí)間對(duì)比
圖6 3種方案選取相同塊個(gè)數(shù)下TPA花費(fèi)時(shí)間對(duì)比
圖5和圖6表明,本文方案在減少了用戶(hù)開(kāi)銷(xiāo)的基礎(chǔ)上,實(shí)現(xiàn)了利用TPA云聯(lián)盟中的可信計(jì)算技術(shù)與區(qū)塊鏈技術(shù)保證TPA進(jìn)行審計(jì)任務(wù)的誠(chéng)實(shí)可信。并且TPA云聯(lián)盟系統(tǒng)具有可擴(kuò)展性,可綜合其他審計(jì)方案做出具體優(yōu)化部署在審計(jì)方案管理組件中,使原本不安全的審計(jì)方案在TPA云聯(lián)盟中變得安全可信。
本文針對(duì)數(shù)據(jù)完整性驗(yàn)證的公開(kāi)審計(jì)第三方審計(jì)機(jī)構(gòu)的可信性問(wèn)題,提出了一種基于可信區(qū)塊鏈的數(shù)據(jù)完整性驗(yàn)證模型。該模型通過(guò)設(shè)計(jì)TPA云聯(lián)盟系統(tǒng)以及在TPA云成員中構(gòu)造關(guān)于操作記錄的區(qū)塊鏈,證明了可信TPA的可信性。通過(guò)對(duì)模型的分析以及仿真實(shí)驗(yàn)可以得出,本文模型在正確性的前提下不僅保障了公開(kāi)審計(jì)的安全性,還有效地提高了數(shù)據(jù)完整性驗(yàn)證的工作效率。該模型可根據(jù)安全等級(jí)的不同適配相應(yīng)的審計(jì)方案,適用于對(duì)安全等級(jí)需求較高的行業(yè)以及大多數(shù)需要公有驗(yàn)證云端數(shù)據(jù)的用戶(hù)。并且在互聯(lián)網(wǎng)與物聯(lián)網(wǎng)的信息安全、云存儲(chǔ)的數(shù)據(jù)安全等領(lǐng)域的應(yīng)用研究中具有重要的意義和價(jià)值。
[1] WU J, PING L, GE X, et al. Cloud storage as the infrastructure of cloud computing[C]//IEEE International Conference on Intelligent Computing and Cognitive Informatics (ICICCI). 2010:380-383.
[2] ATENIESE G, BURNS R, CURTMOLA R, et al. Provable data possession at untrusted stores[C]//The 14th ACM Conference on Computer and Communications Security. 2007: 598-609.
[3] WANG Q, WANG C, LI J, et al. Enabling public verifiability and data dynamics for storage security in cloud computing[C]//European Conference on Research in Computer Security. 2009: 355-370.
[4] WANG C, WANG Q, REN K, et al. Privacy-preserving public auditing for data storage security in cloud computing[J]. 2010, 62(2):525-533.
[5] ERWAY C, PAPAMANTHOU C, TAMASSIA R. Dynamic provable data possession[C]//ACM Conference on Computer and Communications Security. 2009:213-222.
[6] WANG Q, WANG C, REN K, et al. Enabling public auditability and data dynamics for storage security in cloud computing[J]. IEEE Transactions on Parallel & Distributed Systems, 2011, 22(5):847-859.
[7] XU J. Auditing the auditor: secure delegation of auditing operation over cloud storage[C]//IACR Cryptology ePrint Archive. 2011: 304.
[8] HUANG K, XIAN M, FU S, et al. Securing the cloud storage audit service: defending against frame and collude attacks of third party auditor[J]. IEEE Transactions on Communication, 2014.
[9] WU Y L, LIN X, LU X C, et al. A secure light-weight public auditing scheme in cloud computing with potentially malicious third party auditor[J]. IEICE Transactions on Information & Systems, 2016(10): 2638-2642.
[10] 肖達(dá), 楊綠茵, 孫斌, 等. 面向真實(shí)云存儲(chǔ)環(huán)境的數(shù)據(jù)持有性證明系統(tǒng)[J]. 軟件學(xué)報(bào), 2016, 27(9):2400-2413.
XIAO D, YANG L Y, SUN B, et al. Provable data possession system for realistic cloud storage environments[J]. Journal of Software, 2016, 27(9):2400-2413.
[11] FRANCESCO P S , VLADIMIRO S , LUCA N I, et al. FaaS: Federation-as-a-Service[J]. 2016.
[12] 田俊峰, 常方舒. 基于TPM聯(lián)盟的可信云平臺(tái)管理模型[J]. 通信學(xué)報(bào), 2016, 37(2):1-10.
TIAN J F, CHANG F S. Trusted cloud platform management model based on TPM alliance[J]. Journal on Communications, 2016, 37(2): 1-10.
[13] BERGER S, GOLDMAN K A, PEREZ R, et al. vTPM: virtualizing the trusted platform module[C]//Conference on Usenix Security Symposium. 2006:21.
[14] 張健. 云計(jì)算服務(wù)等級(jí)協(xié)議(SLA)研究[J].電信網(wǎng)技術(shù), 2012(2): 7-10.
ZHANG J. Study on cloud computing SLA[J]. Telecommunication network technology, 2012(2):7-10.
[15] SYED S R, KATIE C, ABDUL R. Cloud data integrity using a designated public verifier[C]//HPCC-CSS-ICESS.2015.
[16] HU V C, KUHN D R, FERRAIOLO D F. Attribute-based access control[J]. Computer, 2015, 48(2):85-88.
[17] CASTRO M, LISKOV B. Practical byzantine fault tolerance[C]// OSDI. 1999: 173-186.
[18] 范捷, 易樂(lè)天, 舒繼武. 拜占庭系統(tǒng)技術(shù)研究綜述[J]. 軟件學(xué)報(bào), 2013(6): 1346-1360.
FAN J, YI L T, SHU J W. Research on the technologies of Byzantine system[J]. Journal of Software, 2013, 24(6): 1346-1360.
[19] WANG Q, WANG C, REN K, et al. Enabling public auditability and data dynamics for storage security in cloud computing[J]. IEEE Transactions on Parallel & Distributed Systems, 2011, 22(5):847-859.
[20] 周振吉, 吳禮發(fā), 洪征, 等. 云計(jì)算環(huán)境下的虛擬機(jī)可信度量模型[J].東南大學(xué)學(xué)報(bào)(自然科學(xué)版), 2014, 44(1): 45-50.
ZHOU Z J, WU L F, HONG Z, et al. Trustworthiness measurement model of virtual machine for cloud computing[J]. Journal of Southeast University(Natural Science Edition) , 2014, 44(1): 45-50.
[21] 吳昊, 毋國(guó)慶. 程序的動(dòng)態(tài)完整性:模型和方法[J]. 計(jì)算機(jī)研究與發(fā)展, 2012, 49(9):1874-1882.
WU H, WU G Q. Dynamical integrity of codes:model and method[J]. Journal of Computer Research and Development, 2012, 49(9): 1874-1882.
Data integrity verification based on model cloud federation of TPA
TIAN Junfeng1,2, LI Tianle1,2
1. Institute of Network Technology, Hebei University, Baoding 071002, China 2. Key Lab on High Trusted Information System in Hebei Province, Baoding 071002, China
Aiming at the untrustworthiness of third-party auditor (TPA) in the publicity verification model, a data integrity verification model based on the cloud federation of TPA was proposed. Firstly, the cloud federation of TPA’s architecture was designed and the main functional components and function of the system platform was defined. The federation could manage and control the TPA cloud members. Secondly, TPA was designed in detail by using trusted computing technology and blockchain technology to ensure the credibility of the TPA execution environment and workflow. Finally, the data integrity verification model was built by using cloud federation of TPA. The correctness, security and effectiveness of the model were analyzed theoretically and experimentally.
data integrity verification, blockchain, trusted computing, third-party auditor
TP309
A
10.11959/j.issn.1000?436x.2018144
田俊峰(1965?),男,河北保定人,河北大學(xué)教授、博士生導(dǎo)師,主要研究方向?yàn)樾畔踩c分布式計(jì)算。
李天樂(lè)(1990?),男,河北滄州人,河北大學(xué)碩士生,主要研究方向?yàn)樾畔踩c分布式計(jì)算。
2017?06?11;
2018?06?14
李天樂(lè),csscholar2017@163.com
國(guó)家自然科學(xué)基金資助項(xiàng)目(No.61170254,No.60873203);河北省自然科學(xué)基金資助項(xiàng)目(No.F2016201244)
The National Natural Science Foundation of China (No.61170254,No.60873203), The Natural Science Foundation of Hebei Province (No.F2016201244)