張曉均 王 鑫 廖文才 趙 芥 付興兵
①(西南石油大學(xué)計(jì)算機(jī)科學(xué)學(xué)院網(wǎng)絡(luò)空間安全研究中心 成都 610500)
②(宜賓學(xué)院理學(xué)部 宜賓 644000)
③(杭州電子科技大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 杭州 310018)
醫(yī)療大數(shù)據(jù)由于其在現(xiàn)代醫(yī)療系統(tǒng)中的潛在價(jià)值,受到了人們的廣泛關(guān)注。醫(yī)療大數(shù)據(jù)的蓬勃發(fā)展不可避免地產(chǎn)生新的數(shù)據(jù)安全和隱私保護(hù)問題。如果醫(yī)療大數(shù)據(jù)不完整和不真實(shí),新挖掘的知識(shí)將無法令人信服。隨著信息技術(shù)的高速發(fā)展,遠(yuǎn)程醫(yī)療信息系統(tǒng)將與云計(jì)算技術(shù)相結(jié)合,提供一種便捷的新型服務(wù)模式[1]。云計(jì)算技術(shù)擁有強(qiáng)大的計(jì)算能力和存儲(chǔ)能力,它為用戶提供高效靈活的存儲(chǔ)服務(wù)來維護(hù)數(shù)據(jù)[2,3]。在基于云輔助的無線醫(yī)療傳感器網(wǎng)絡(luò)中,醫(yī)療用戶通過無線醫(yī)療傳感器設(shè)備收集重要的生理特征參數(shù)(如血壓、血糖等),實(shí)時(shí)地將這些醫(yī)療數(shù)據(jù)上傳到云服務(wù)器進(jìn)行存儲(chǔ)、分析與處理[4]。
雖然云計(jì)算提供的服務(wù)有著非常多的優(yōu)勢(shì),但數(shù)據(jù)存儲(chǔ)于云服務(wù)器,用戶對(duì)數(shù)據(jù)失去絕對(duì)控制權(quán),容易遭受外部敵手惡意刪除或篡改等方面的攻擊。除此之外,某些硬件和軟件故障因素的存在將不可避免地導(dǎo)致數(shù)據(jù)損壞,而云服務(wù)提供商可能會(huì)只考慮自身利益不受損壞,從而隱瞞數(shù)據(jù)不完整的事實(shí)[5]。近年來頻繁發(fā)生云安全和云犯罪事件,嚴(yán)重影響了用戶和云服務(wù)提供商的信任關(guān)系。醫(yī)療用戶關(guān)注的焦點(diǎn)在于存儲(chǔ)在云端的醫(yī)療健康數(shù)據(jù)的完整性,它是所有臨床診斷的基礎(chǔ),任何數(shù)據(jù)篡改或者丟失都會(huì)導(dǎo)致錯(cuò)誤診斷,甚至?xí)?dǎo)致死亡等嚴(yán)重后果[6],因此對(duì)云服務(wù)器上的醫(yī)療數(shù)據(jù)進(jìn)行完整性驗(yàn)證變得尤為關(guān)鍵。
為了檢查云存儲(chǔ)外包數(shù)據(jù)的完整性,Ateniese等人[7]首次提出數(shù)據(jù)可持有性驗(yàn)證(Provable Data Possession, PDP)審計(jì)機(jī)制。 Juels 等人[8]提出了數(shù)據(jù)可恢復(fù)證明(Proofs of Retrievability, PoR)審計(jì)模型。Wang等人[9]提出了一種具有隱私保護(hù)的公共云審計(jì)方案,引入第三方審計(jì)者為用戶完成外包數(shù)據(jù)的完整性審計(jì)任務(wù)。最近,許多具有新型安全功能的公共云存儲(chǔ)審計(jì)方案已陸續(xù)被提出[10–13]。特別地,文獻(xiàn)[10]利用高效去重技術(shù)來支持去重搜索,同時(shí)實(shí)現(xiàn)了過期用戶撤銷和云存儲(chǔ)數(shù)據(jù)審計(jì)。文獻(xiàn)[11]設(shè)計(jì)出了既能支持?jǐn)?shù)據(jù)的動(dòng)態(tài)操作(對(duì)云端數(shù)據(jù)文件進(jìn)行更新、刪除和插入等操作),又能實(shí)現(xiàn)用戶任意次數(shù)撤銷的審計(jì)機(jī)制。Hahn等人[12]基于同態(tài)哈希函數(shù)技術(shù)實(shí)現(xiàn)數(shù)據(jù)快速動(dòng)態(tài)更新的完整性審計(jì)方案。文獻(xiàn)[13]將Shamir秘密共享方法和代數(shù)簽名應(yīng)用到外包云存儲(chǔ)審計(jì)之中,并提出了高效撤銷群組成員的共享數(shù)據(jù)審計(jì)方案。
然而,以上提出的云存儲(chǔ)審計(jì)方案主要依賴公鑰基礎(chǔ)設(shè)施(Public Key Infrastructure, PKI)設(shè)計(jì)的,這將造成對(duì)公鑰證書復(fù)雜的管理,包括公鑰證書的創(chuàng)建、分發(fā)、存儲(chǔ)和撤銷,并不適用于移動(dòng)終端的實(shí)際部署環(huán)境。而在基于身份密碼(Identity-Based Cryptography, IBC)體制之中[14],用戶私鑰是由一個(gè)可信的權(quán)威機(jī)構(gòu)-密鑰生成中心(Private Key Generator, PKG)生成,它利用自己的主私鑰與用戶唯一可識(shí)別的身份信息(如身份證號(hào)、護(hù)照證號(hào)、郵件地址、電話號(hào)碼)來為用戶生成私鑰,避免了基于證書的公鑰密碼機(jī)制中復(fù)雜證書管理問題。在近幾年內(nèi),許多基于身份的公共云存儲(chǔ)審計(jì)方案已經(jīng)提出[15–18]。特別地,Ni等人[15]基于RSA假設(shè),提出了一個(gè)基于身份的遠(yuǎn)程數(shù)據(jù)完整性驗(yàn)證方案,該方案實(shí)現(xiàn)了不同云用戶擁有的外包數(shù)據(jù)完整性的聚合驗(yàn)證,其將身份作為哈希函數(shù)的輸入生成一長(zhǎng)串參數(shù),導(dǎo)致用戶的身份隱私不能得到很好的保護(hù),另外其方案在完整性驗(yàn)證階段的通信開銷也很大,隨著扇區(qū)數(shù)的增長(zhǎng)而增長(zhǎng)。Zhang等人[16]引入了區(qū)塊鏈技術(shù),第三方審計(jì)者將審計(jì)結(jié)果記錄到以太坊中,從而用戶可以檢測(cè)第三方審計(jì)者的惡意行為,但是存儲(chǔ)的醫(yī)療數(shù)據(jù)的隱私容易泄露給云服務(wù)器。有些用戶可能只關(guān)注他感興趣的部分加密云文件的完整性,Gao等人[17]應(yīng)用了一種關(guān)系認(rèn)證標(biāo)簽技術(shù),它可以用來查詢哪些文件包含感興趣的關(guān)鍵字和生成審計(jì)證明信息,但是在交互過程中,TPA容易通過對(duì)響應(yīng)信息進(jìn)行線性運(yùn)算獲取外包文件的內(nèi)容,導(dǎo)致隱私泄露。Xue等人[18]基于比特幣的公共區(qū)塊鏈隨機(jī)數(shù)來生成挑戰(zhàn)信息,可以有效抵御惡意審計(jì)者,但是用戶的身份隱私依然沒有得到有效的保護(hù)。且以上這些方案在TPA端的計(jì)算開銷比較大,且用于驗(yàn)證數(shù)據(jù)文件完整性的時(shí)間與挑戰(zhàn)數(shù)據(jù)塊的數(shù)量線性相關(guān)。5G時(shí)代到來,個(gè)人數(shù)據(jù)量爆炸,實(shí)際上TPA需要快速地完成用戶的審計(jì)任務(wù),由于審計(jì)請(qǐng)求可能集中在特定的時(shí)間段內(nèi),因此過長(zhǎng)的延遲是不可接受的,這對(duì)于TPA的計(jì)算能力要求很高。
在保證基于身份的公共云存儲(chǔ)審計(jì)機(jī)制安全性的前提下,擴(kuò)展系統(tǒng)功能是一項(xiàng)非常有意義的工作。溯源技術(shù)就被應(yīng)用到云存儲(chǔ)環(huán)境中來實(shí)現(xiàn)數(shù)字取證和實(shí)體追蹤功能。一旦系統(tǒng)發(fā)生數(shù)據(jù)不一致導(dǎo)致的糾紛或用戶在系統(tǒng)中惡意操作的情況都將是后續(xù)追蹤調(diào)查、劃分責(zé)任和解決訴訟的第一手證明材料。文獻(xiàn)[19]最先將實(shí)體溯源的想法應(yīng)用到基于無線體域網(wǎng)的環(huán)境中,利用人體指紋的不可偽造性來安全快速地溯源并識(shí)別原始用戶。Zhang等人[20]的方案中,單個(gè)用戶(包括組管理者)無法知道簽名者的身份,同時(shí)基于秘密共享技術(shù)實(shí)現(xiàn)了用戶的可追溯性。然而,這些方案的計(jì)算成本相對(duì)較高,而且沒有解決復(fù)雜的證書管理問題。
針對(duì)上述問題,本文設(shè)計(jì)了一種支持條件身份匿名的外包云存儲(chǔ)醫(yī)療數(shù)據(jù)完整性驗(yàn)證方案。該方案基于同態(tài)哈希函數(shù)技術(shù)設(shè)計(jì)了數(shù)字聚合簽名算法,進(jìn)一步構(gòu)造輕量級(jí)完整性驗(yàn)證方案。方案是基于身份的密碼系統(tǒng)設(shè)計(jì)的,有效避免了PKI關(guān)于公鑰證書的復(fù)雜管理。方案使得第三方審計(jì)者定期代替醫(yī)療用戶驗(yàn)證存儲(chǔ)在云輔助醫(yī)療系統(tǒng)的外包數(shù)據(jù)的完整性,且能檢測(cè)出云醫(yī)療數(shù)據(jù)是否被篡改,從而防止醫(yī)生的臨床誤診。性能分析與比較表明方案在計(jì)算開銷與通信開銷方面具有較大優(yōu)勢(shì)。特別是在第三方審計(jì)者方面,其完整性驗(yàn)證計(jì)算開銷是輕量級(jí)的,非常有利于部署在移動(dòng)終端計(jì)算資源受限的設(shè)備環(huán)境。

(2) 非退化性。e(g,g)?=1, 其中1是G2的單位元。
(3) 可計(jì)算性。對(duì)于群G1的 任意兩個(gè)元素h1,h2,存在一個(gè)高效的算法計(jì)算e(h1,h2)。
H是一個(gè)同態(tài)哈希函數(shù),它滿足如下性質(zhì)。
(1) 同態(tài)性。對(duì)于兩個(gè)消息m1,m2和 標(biāo)量k1,k2,有H(k1m1+k2m2)=H(m1)k1·H(m2)k2。
(2) 抗碰撞性。不存在多項(xiàng)式時(shí)間敵手能夠偽造元組 (m1,m2,m3,k1,k2) ,使之能同時(shí)滿足m3=k1m1+k2m2和H(m3)=H(m1)k1·H(m2)k2。
定義1 DL(Discrete Logarithm)問題:給定g,ga ∈G1, 其中a∈Zp?是未知的,DL問題求解目標(biāo)是計(jì)算a。
定義2 C D H(C o m p u t a t i o n a l D i f f i e-Hellman)問題:給定g,ga,gb ∈G1, 其中a,b ∈Zp?是未知的,CDH問題求解目標(biāo)是計(jì)算gab。
事實(shí)上,敵手在多項(xiàng)式時(shí)間內(nèi)能夠求解DL困難問題和CDH困難問題的概率是可以忽略的。
支持條件身份匿名的云存儲(chǔ)醫(yī)療數(shù)據(jù)完整性驗(yàn)證模型如圖1所示,包含密鑰生成中心(Private Key Generator, PKG)、用戶、醫(yī)院、云服務(wù)器和第三方審計(jì)者(Third Party Auditor, TPA)。各通信實(shí)體的功能介紹如下:

圖1 條件身份匿名的云存儲(chǔ)醫(yī)療數(shù)據(jù)完整性驗(yàn)證模型
(1) PKG。PKG是一個(gè)權(quán)威且完全可信的實(shí)體,主要負(fù)責(zé)系統(tǒng)初始化階段公開參數(shù)設(shè)置,以及根據(jù)用戶真實(shí)身份生成相應(yīng)的匿名身份和公私鑰對(duì)。
(2) 醫(yī)院。為用戶提供醫(yī)療服務(wù),利用無線醫(yī)療傳感器網(wǎng)絡(luò)收集用戶的健康數(shù)據(jù),生成用戶的醫(yī)療數(shù)據(jù)文件。
(3) 用戶。根據(jù)醫(yī)療數(shù)據(jù)文件生成相應(yīng)的數(shù)字簽名和審計(jì)輔助信息(Auditing Auxiliary Information, AAI),將醫(yī)療數(shù)據(jù)文件和數(shù)字簽名上傳給云服務(wù)器,將AAI上傳給TPA。最后,用戶刪除本地存儲(chǔ)。
(4) 云服務(wù)器。擁有巨大存儲(chǔ)容量和計(jì)算能力,根據(jù)用戶需求存儲(chǔ)用戶的醫(yī)療數(shù)據(jù)以及相應(yīng)的數(shù)字簽名,接受來自TPA的完整性驗(yàn)證挑戰(zhàn),并返回完整性驗(yàn)證證明響應(yīng)信息給TPA。
(5) TPA。TPA得到用戶的授權(quán)并且能夠代表醫(yī)療用戶周期性驗(yàn)證存儲(chǔ)在云服務(wù)器的健康醫(yī)療數(shù)據(jù)的完整性,定期與云服務(wù)器交互以執(zhí)行完整性審計(jì)任務(wù),并將完整性驗(yàn)證結(jié)果返回給用戶。
支持條件身份匿名的云存儲(chǔ)醫(yī)療數(shù)據(jù)完整性驗(yàn)證模型包含以下多項(xiàng)式算法:
(1)系統(tǒng)初始化。由PKG執(zhí)行。系統(tǒng)初始化,輸入安全參數(shù),生成系統(tǒng)公共參數(shù)并公開。
(2)用戶匿名身份和簽名私鑰生成。由PKG執(zhí)行。輸入用戶真實(shí)身份,PKG生成用戶的匿名身份以及簽名私鑰,并將其通過安全信道發(fā)送給用戶。
(3)數(shù)字簽名生成。由用戶執(zhí)行。用戶對(duì)數(shù)據(jù)分塊后使用簽名算法對(duì)數(shù)據(jù)進(jìn)行簽名,將數(shù)據(jù)和簽名發(fā)送給云服務(wù)器,將審計(jì)輔助信息發(fā)送給TPA,最后刪除本地存儲(chǔ)。
(4)挑戰(zhàn)信息生成。由TPA執(zhí)行。TPA生成挑戰(zhàn)信息并發(fā)送給云服務(wù)器,在等待云服務(wù)器響應(yīng)證明信的時(shí)間內(nèi),執(zhí)行預(yù)計(jì)算操作。
(5)完整性驗(yàn)證證明響應(yīng)信息生成。由云服務(wù)器執(zhí)行。云服務(wù)器根據(jù)挑戰(zhàn)信息定位相關(guān)的數(shù)據(jù)塊和簽名,生成完整性驗(yàn)證證明響應(yīng)信息,并將其發(fā)送給TPA。
(6)完整性驗(yàn)證。由TPA執(zhí)行。輸入挑戰(zhàn)信息、系統(tǒng)參數(shù)、預(yù)計(jì)算值、用戶匿名身份和完整驗(yàn)證證明信息,生成計(jì)算結(jié)果并通知用戶。
本文提出一個(gè)支持條件身份匿名的外包云存儲(chǔ)醫(yī)療數(shù)據(jù)完整性驗(yàn)證方案,方案包括系統(tǒng)初始化、用戶匿名身份和簽名私鑰生成、數(shù)字簽名生成、挑戰(zhàn)信息生成、完整性驗(yàn)證證明響應(yīng)信息生成、完整性驗(yàn)證6個(gè)階段。具體工作流程如圖2所示。

圖2 條件身份匿名的云存儲(chǔ)醫(yī)療數(shù)據(jù)完整性驗(yàn)證工作流程
(1)系統(tǒng)初始化。輸入安全參數(shù)ζ,PKG執(zhí)行如下步驟:
(a)PKG設(shè)置一個(gè)雙線性對(duì)映射e:G1×G1→G2,其中G1和G2是具有相同階為素?cái)?shù)p的乘法循環(huán)群,g是G1的生成元。
(b)PKG隨機(jī)選取s ←Zp?作為主私鑰,計(jì)算ppub=gs作為PKG的主公鑰。PKG隨機(jī)均勻地選取元素w←G1。

最后,PKG公布系統(tǒng)公開參數(shù)Para=(e,G1,G2,g,p,ppub,w,H1,H2,H3),PKG秘密安全地保存主私鑰s。
(2)用戶匿名身份和簽名私鑰生成。根據(jù)醫(yī)療用戶真實(shí)身份R ID∈{0,1}ρ和 登錄口令P WD,PKG為用戶產(chǎn)生匿名身份,以及相對(duì)應(yīng)的簽名私鑰:
(a)PKG隨機(jī)均勻地選取r←Zp?,并使用主私鑰s為用戶產(chǎn)生匿名身份信息A ID=(AID1,AID2),其中A ID1=gr,A ID2=RID⊕H1(AID1s||ppub||T),T為一個(gè)用戶匿名的有效使用周期。
(b)PKG使用主私鑰s計(jì)算匿名身份A ID對(duì)應(yīng)的簽名私鑰S KAID=(r+s)H2(AID)。
最后,PKG 通過安全信道返回{AID,SKAID,T}給相應(yīng)的醫(yī)療用戶。
(3)數(shù)字簽名生成。醫(yī)療用戶根據(jù)醫(yī)療健康數(shù)據(jù)文件生成如下數(shù)字簽名,并產(chǎn)生完整性驗(yàn)證輔助信息:
(a)將醫(yī)療健康數(shù)據(jù)文件F(文件名為n ame∈Zp?)分塊預(yù)處理成F={m1,m2,...,mn},mi ∈Zp?(i=1,2,...,n)。
(b)隨機(jī)均勻地選取η,κ,τ ←Zp,計(jì)算種子信息ψ1=η.κ.τ,ψ2=η2.κ2.τ,...,ψn=ηn.κn.τ,以及完整性驗(yàn)證輔助信息A AI={η,κ,τ,H3(ψ1),...,H3(ψn)}。
(c)利用簽名私鑰 SKAID計(jì)算每個(gè)醫(yī)療數(shù)據(jù)塊mi(i=1,2,...,n)的 數(shù)字簽名信息Sigi=(wmiH3(name+ψi))SKAID。
最后,醫(yī)療用戶通過無線醫(yī)療傳感器網(wǎng)絡(luò)將({mi}1≤i≤n,{Sigi}1≤i≤n)上傳到云服務(wù)器,通過安全信道將AAI發(fā)送給TPA保存,并在本地端刪除副本。
(4)挑戰(zhàn)信息生成。當(dāng)收到醫(yī)療用戶授權(quán)TPA驗(yàn)證存儲(chǔ)在云服務(wù)器的外包醫(yī)療數(shù)據(jù)完整性的請(qǐng)求時(shí),TPA生成挑戰(zhàn)信息并發(fā)送給云服務(wù)器:
(a)TPA首先從集合{1,2,...,n}中隨機(jī)性地選取一個(gè)包含c個(gè)元素的子集J={j1,j2,...,jc},并為每一個(gè)j ∈J匹配隨機(jī)系數(shù)vj ←Zp,發(fā)送挑戰(zhàn)信息chal={(j,vj)j∈J}給云服務(wù)器。
(b)在等待云服務(wù)器響應(yīng)期間,TPA基于完整性驗(yàn)證輔助信息AAI={η,κ,τ,H3(ψ1),...,H3(ψn)}執(zhí)行預(yù)計(jì)算:

(6)完整性驗(yàn)證。當(dāng)收到來自云服務(wù)器返回的完整性驗(yàn)證證明響應(yīng)信息{μ,β,Sig}, TPA利用預(yù)計(jì)算值λ判斷完整性驗(yàn)證方程e(g,Sig)=e((AID1·ppub)H2(AID),λβμ?β)是否成立。若成立,則說明醫(yī)療用戶存儲(chǔ)在云服務(wù)器上的醫(yī)療數(shù)據(jù)是完整的。反之,則醫(yī)療數(shù)據(jù)是不完整的。
現(xiàn)在對(duì)醫(yī)療健康數(shù)據(jù)完整性驗(yàn)證方程的正確性進(jìn)行詳細(xì)推導(dǎo)為

證畢
支持條件身份匿名的外包云存儲(chǔ)醫(yī)療數(shù)據(jù)完整性驗(yàn)證方案可以使得TPA對(duì)醫(yī)療用戶的多個(gè)醫(yī)療數(shù)據(jù)文件同時(shí)進(jìn)行批量驗(yàn)證,具體拓展細(xì)節(jié)描述如下:
醫(yī)療用戶另外選定3個(gè)隨機(jī)系數(shù)γ,υ,θ ←Zp,這里假設(shè)用戶有d份醫(yī)療文件需要外包存儲(chǔ)在云服務(wù)器,它們的文件名分別是{name1,name2,...,named}。對(duì)于每一個(gè)?∈{ 1,2,...,d} ,n ame?=γ?υ?θ,每一份文件由n個(gè)數(shù)據(jù)塊組成,如:F?= {m?1,m?2,...,m?n}。數(shù)據(jù)文件F?對(duì)應(yīng)的種子信息集合為{ψ?i}1≤i≤n,對(duì)于i=1,2,...,n,ψ?i=η?·iκ?·iτ?·i。F?對(duì)應(yīng)的簽名集合是{Sig?1,Sig?2,...,Sig?n}, 對(duì)于i=1,2,...,n, Sig?i=(wm?iH3(name?+ψ?i))SKAID。


多文件批量完整性驗(yàn)證過程的正確性證明為

證畢
通過以上多文件批量完整性驗(yàn)證過程得知,TPA所需的驗(yàn)證計(jì)算開銷與單個(gè)數(shù)據(jù)文件的計(jì)算開銷幾乎相同,與數(shù)據(jù)文件的個(gè)數(shù)沒有關(guān)系,這是源于方案設(shè)計(jì)中用到同態(tài)哈希函數(shù)技術(shù),使得TPA在生成挑戰(zhàn)信息時(shí),做了相關(guān)的預(yù)計(jì)算。因此本方案在TPA端的開銷是輕量級(jí)的。
現(xiàn)在,本文給出支持條件身份匿名的外包云存儲(chǔ)醫(yī)療數(shù)據(jù)完整性驗(yàn)證方案的安全性分析,包括存儲(chǔ)正確性,用戶的條件身份隱私保護(hù),以及防止TPA的數(shù)據(jù)恢復(fù)攻擊。
定理1 在概率多項(xiàng)式時(shí)間內(nèi),方案中的云服務(wù)器試圖產(chǎn)生偽造的完整性驗(yàn)證證明響應(yīng)信息,通過TPA的驗(yàn)證在計(jì)算上是不可行的。
證明 TPA隨機(jī)地生成一個(gè)完整性驗(yàn)證挑戰(zhàn)信息{(j,vj)j∈J},并通過無線醫(yī)療傳感器網(wǎng)絡(luò)發(fā)送給云服務(wù)器。云服務(wù)器返回給TPA一個(gè)有效的完整性驗(yàn)證證明響應(yīng)信息{μ,β,Sig},其應(yīng)該通過驗(yàn)證方程:e(g,Sig)=e((AID1·ppub)H2(AID),λβμ?β)。
在真實(shí)情況下,云服務(wù)器可能通過篡改或者替換部分?jǐn)?shù)據(jù),偽造數(shù)字簽名等方式產(chǎn)生偽造的完整性驗(yàn)證證明響應(yīng)信息通過TPA的驗(yàn)證。首先,如果云服務(wù)器偽造某一個(gè)數(shù)字簽名 S igi為 S igi′,導(dǎo)致聚合簽名Sig?=Sig′ ,這樣e(g,Sig′)=e((AID1·ppub)H2(AID),λβμ?β)是不滿足的。


因此,本方案中的云服務(wù)器試圖產(chǎn)生偽造的完整性驗(yàn)證證明響應(yīng)信息,通過TPA的驗(yàn)證在計(jì)算上是不可行的。 證畢
定理2 支持條件身份匿名的外包云存儲(chǔ)醫(yī)療數(shù)據(jù)完整性驗(yàn)證方案可確保用戶的條件身份隱私性。
證明 首先說明用戶身份對(duì)外的隱私性。在本方案中,每個(gè)醫(yī)療用戶用以唯一標(biāo)識(shí)真實(shí)身份信息的是 RID∈{0,1}ρ,PKG生成對(duì)應(yīng)的匿名身份:AID=(AID1,AID2) ,其 中A ID1=gr,A ID1與g是乘法循環(huán)群中的元素,在多項(xiàng)式時(shí)間內(nèi),由于離散對(duì)數(shù)困難問題,敵手獲得了 A ID1與g而設(shè)法計(jì)算出r是可以忽略的。此外,PKG利用主私鑰s計(jì)算AID2=RID⊕H1(AID1s||ppub||T),由于PKG是基于身份密碼體制中的權(quán)威可信實(shí)體,主私鑰s是PKG秘密保存的,不能被敵手獲取。因此,即使敵手獲取到了 AID1=gr和ppub=gs,基于CDH困難問題假設(shè),敵手也無法計(jì)算出 A ID1s=grs,進(jìn)而不能完全恢復(fù)用戶的真實(shí)身份R ID。

將本設(shè)計(jì)方案與相關(guān)方案在完整性驗(yàn)證方面進(jìn)行性能分析與比較,這些方案分別是:RDIC方案[21],IBPA方案[18],以及CIPPPA方案[16]。為便于表述:用符號(hào)P air 表 示雙線性對(duì)算法運(yùn)算時(shí)間,E xp表示普通模指數(shù)運(yùn)算時(shí)間,M ult表示橢圓曲線中的倍點(diǎn)運(yùn)算運(yùn)行時(shí)間,A dd表示橢圓曲線上的加法運(yùn)算時(shí)間,h a 表示普通哈希函數(shù)運(yùn)算時(shí)間,m ult表示普通模乘運(yùn)行時(shí)間, Ha表示哈希函數(shù)映射到基于橢圓曲線加法群上的點(diǎn)的運(yùn)行時(shí)間。關(guān)于通信開銷,本文用 |n| 表示集合{ 1,2,...,n}中元素的大小,定義Zp中 元素比特長(zhǎng)度為|p|; 此外,|G|是 循環(huán)群G元素的比特長(zhǎng)度,定義零知識(shí)證明通信開銷的比特長(zhǎng)度為| pf|。
本文將4個(gè)方案進(jìn)行實(shí)驗(yàn)仿真分析與比較,實(shí)驗(yàn)仿真以操作系統(tǒng)為Windows 10,處理器為Intel(R)Core(TM)I5-4210 2.40 GHz,內(nèi)存為4 GB的主機(jī)以及jpbc-2.0.0密碼庫(kù)為實(shí)驗(yàn)環(huán)境,所有算法的計(jì)算開銷時(shí)間都使用C語言及其版本號(hào)為5.6.2密碼算法基礎(chǔ)函數(shù)庫(kù)MIRACL得出。
在本方案中,由于用戶存儲(chǔ)了審計(jì)輔助信息在TPA端,TPA在發(fā)送挑戰(zhàn)信息給云服務(wù)器之后,在等待云服務(wù)器響應(yīng)的時(shí)間內(nèi),TPA可以預(yù)計(jì)算λ,在方案設(shè)計(jì)中,我們采用了同態(tài)哈希函數(shù)設(shè)計(jì)簽名,進(jìn)而將λ的計(jì)算復(fù)雜性優(yōu)化為常量,故而λ的計(jì)算可以忽略。在進(jìn)行完整性驗(yàn)證時(shí)TPA僅需要 2次模指數(shù)運(yùn)算、 2次雙線性對(duì)運(yùn)算、2次普通模乘運(yùn)算和1 次普通哈希運(yùn)算,其計(jì)算開銷為2Exp+2Pair+2·mult+ha,同理經(jīng)過理論分析可以得到RDIC方案,IBPA方案,以及CIPPPA方案相應(yīng)的TPA端的計(jì)算開銷分別為(2c+6)·Exp+(c+1)·Pair +c·mu,lt(2c+4)·Mult+3Pair+(2c?1)·Add+(c+ 2)·Ha+(c+1)·ha , 以 及(c+2)·Mult+3Pair+(c ?1)·Add+c·Ha+ha。這4 個(gè)方案在完整性驗(yàn)證階段,TPA端的計(jì)算開銷的理論比較結(jié)果如表1所示。另外,在云服務(wù)器響應(yīng)完整性證明信息給TPA時(shí),完整性證明響應(yīng)信息通信開銷為 2 |G|+|p|,我們也可以分析得到RDIC方案,IBPA方案,以及CIPPPA方案相應(yīng)的完整性驗(yàn)證證明的通信開銷分別為3 |G|, 3 |G|+|p|,以及3|G|+|p|。這4個(gè)方案在TPA端產(chǎn)生的挑戰(zhàn)信息通信開銷、完整性證明響應(yīng)信息通信開銷的理論比較結(jié)果如表2所示。在這里圖3的實(shí)驗(yàn)仿真結(jié)果表明了本設(shè)計(jì)方案比現(xiàn)有的數(shù)據(jù)完整性驗(yàn)證方案更加輕量級(jí),例如,當(dāng)挑戰(zhàn)數(shù)據(jù)塊的數(shù)量為 500時(shí),TPA實(shí)際上大約只需要0.013 s就可以完成驗(yàn)證任務(wù),而在RDIC方案,IBPA方案,以及CIPPPA方案中,TPA分別大約需要3.8963 s, 4.9647 s和1.1098 s。在完整性驗(yàn)證階段,TPA的驗(yàn)證計(jì)算開銷幾乎常量,不會(huì)隨著挑戰(zhàn)數(shù)據(jù)塊數(shù)量的增加而增加。而在其他方案中,TPA的用于驗(yàn)證完整性的時(shí)間都隨著挑戰(zhàn)數(shù)據(jù)塊的數(shù)量增加而增加,在挑戰(zhàn)數(shù)據(jù)塊的數(shù)量很大時(shí),這將非常消耗TPA的計(jì)算資源。圖4的實(shí)驗(yàn)仿真結(jié)果表明本設(shè)計(jì)方案在完整性驗(yàn)證證明信息通信開銷方面低于IBPA方案和CIPPPA方案。本設(shè)計(jì)方案在完整性驗(yàn)證證明信息通信開銷方面與RDIC方案一致,但在挑戰(zhàn)信息階段RDIC方案的通信開銷顯然遠(yuǎn)遠(yuǎn)高于其他方案,而且RDIC方案不具備本設(shè)計(jì)方案的條件匿名安全特性。因此,本設(shè)計(jì)方案在TPA端具有合理的通信開銷,而且根據(jù)前面可知,本方案計(jì)算開銷在隨著數(shù)據(jù)塊數(shù)量增加時(shí),不會(huì)隨著數(shù)據(jù)塊數(shù)量呈線性增長(zhǎng)趨勢(shì),擁有更為明顯的計(jì)算效率優(yōu)勢(shì)。因此,從以上性能分析與實(shí)驗(yàn)仿真結(jié)果可知,本設(shè)計(jì)方案在TPA的完整性驗(yàn)證過程中,整體上在計(jì)算開銷與通信開銷方面也有較大優(yōu)勢(shì)。而且本設(shè)計(jì)方案同時(shí)確保了存儲(chǔ)正確性,用戶的條件身份隱私保護(hù),以及防止TPA的數(shù)據(jù)恢復(fù)攻擊的安全特性,非常有利于本方案在云輔助無線醫(yī)療傳感器網(wǎng)絡(luò)環(huán)境的安全高效部署。

圖3 完整性驗(yàn)證計(jì)算開銷實(shí)驗(yàn)仿真

圖4 完整性驗(yàn)證證明通信開銷實(shí)驗(yàn)仿真

表1 完整性驗(yàn)證計(jì)算開銷比較

表2 完整性驗(yàn)證通信開銷比較
針對(duì)用戶身份隱私保護(hù),云存儲(chǔ)醫(yī)療數(shù)據(jù)完整性,以及現(xiàn)有完整性驗(yàn)證方案在TPA端計(jì)算開銷較大等問題,該文提出一種條件身份匿名的外包云存儲(chǔ)醫(yī)療輕量級(jí)數(shù)據(jù)完整性驗(yàn)證方案。該方案結(jié)合同態(tài)哈希函數(shù)設(shè)計(jì)了一種基于身份的聚合簽名算法,來進(jìn)行高效安全的完整性驗(yàn)證。方案是基于身份密碼系統(tǒng)設(shè)計(jì)的,有效避免了對(duì)公鑰證書的復(fù)雜管理,同時(shí)保證了用戶的身份隱私,也結(jié)合實(shí)體身份溯源技術(shù)來對(duì)系統(tǒng)中存在的惡意用戶進(jìn)行跟蹤、揭示和問責(zé)。安全性分析與性能評(píng)估結(jié)果表明本方案可以安全高效地部署在云輔助無線醫(yī)療傳感器網(wǎng)絡(luò)。