本發(fā)明屬于信息安全技術(shù)領(lǐng)域,具體涉及基于無線體域網(wǎng)的云存儲(chǔ)醫(yī)療數(shù)據(jù)批量自審計(jì)方法。
背景技術(shù):
隨著無線通信、低功耗集成、傳感器技術(shù)的迅速發(fā)展,無線傳感網(wǎng)絡(luò)開始廣泛應(yīng)用于智能電網(wǎng)、醫(yī)療健康、工業(yè)控制等各個(gè)領(lǐng)域。作為無線傳感器網(wǎng)絡(luò)的一個(gè)重要應(yīng)用,無線體域網(wǎng)已日益受到學(xué)術(shù)界和醫(yī)學(xué)界的重視。無線體域網(wǎng)使用傳感器節(jié)點(diǎn)收集患者的心率、脈搏、體溫等醫(yī)療信息。這些醫(yī)療數(shù)據(jù)需要被及時(shí)處理的同時(shí)還需要從醫(yī)生處及時(shí)獲得反饋。由于受到存儲(chǔ)、處理、供能等有限的資源制約,依靠傳統(tǒng)的無線體域網(wǎng)要達(dá)到這些目的是相當(dāng)困難的。因此,需要無線體域網(wǎng)與云計(jì)算平臺(tái)集成來存儲(chǔ)和處理實(shí)時(shí)的醫(yī)療數(shù)據(jù)。
云輔助無線體域網(wǎng)配備了強(qiáng)大的基于云計(jì)算和存儲(chǔ)資源,將醫(yī)療傳感器植入患者的體表并周期性地收集健康醫(yī)療信息并通過移動(dòng)設(shè)備或是互聯(lián)網(wǎng)發(fā)送給云輔助醫(yī)療系統(tǒng)。一旦收到這些數(shù)據(jù),云輔助醫(yī)療系統(tǒng)發(fā)送數(shù)據(jù)到相關(guān)醫(yī)療工作者做臨床診斷并將其存儲(chǔ)于云存儲(chǔ)系統(tǒng)。此外,患者的家人與親屬亦同樣可以通過云輔助醫(yī)療系統(tǒng)檢索相關(guān)健康狀態(tài)信息。對(duì)于許多慢性疾病,醫(yī)療工作者對(duì)大量的數(shù)據(jù)進(jìn)行的詳盡分析以輔助實(shí)現(xiàn)正確地診斷。一旦收到醫(yī)療工作者的指令,云輔助系統(tǒng)使用它基于云的強(qiáng)大計(jì)算資源來有效、迅速地完成所下達(dá)的任務(wù)。
存儲(chǔ)于云服務(wù)器上的健康醫(yī)療數(shù)據(jù),可以作為醫(yī)生臨床診斷的基礎(chǔ)。雖然云存儲(chǔ)服務(wù)帶來了許多便利優(yōu)勢(shì),例如成本效益,更方便的數(shù)據(jù)訪問。但是在云存儲(chǔ)擁有這些優(yōu)勢(shì)的同時(shí),它同時(shí)對(duì)患者的外包醫(yī)療數(shù)據(jù)帶來了新的安全性威脅。一旦這些醫(yī)療數(shù)據(jù)遭到攻擊者的惡意篡改,都會(huì)造成醫(yī)生的臨床誤診致使患者病情加重甚至具有死亡的危險(xiǎn),因此云服務(wù)器上的健康醫(yī)療數(shù)據(jù)的完整性變得格外重要。出于對(duì)醫(yī)療數(shù)據(jù)完整性以及安全性的考慮,患者需要使用一個(gè)完整性審計(jì)方案來確保患者的醫(yī)療數(shù)據(jù)在云服務(wù)器上能夠正確地存儲(chǔ)。目前典型的云存儲(chǔ)數(shù)據(jù)完整性審計(jì)方案,由于需要計(jì)算開銷很大的雙線性對(duì)運(yùn)算,并不適用于云輔助的無線體域網(wǎng)的應(yīng)用場(chǎng)景。因此設(shè)計(jì)輕量級(jí)的具有隱私保護(hù)性能的云輔助無線體域網(wǎng)的醫(yī)療數(shù)據(jù)完整性安全審計(jì)方案是一項(xiàng)具有重要意義的研究工作。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是,提供一種適用于無線體域網(wǎng)的云存儲(chǔ)醫(yī)療數(shù)據(jù)批量自審計(jì)方法。
本發(fā)明的技術(shù)方案為:基于無線體域網(wǎng)的云存儲(chǔ)醫(yī)療數(shù)據(jù)批量自審計(jì)方法,其特征在于,包括以下步驟:
a.系統(tǒng)初始化:系統(tǒng)對(duì)醫(yī)療數(shù)據(jù)文件進(jìn)行分塊處理獲得多個(gè)醫(yī)療數(shù)據(jù)塊,并生成簽名算法的公私鑰對(duì);同時(shí)生成用于對(duì)醫(yī)療數(shù)據(jù)文件的身份標(biāo)識(shí)進(jìn)行輕量級(jí)簽名的公私鑰對(duì),系統(tǒng)再選取一個(gè)輕量級(jí)對(duì)稱加密算法及其對(duì)稱密鑰;
b.簽名產(chǎn)生:用戶首先調(diào)用偽隨機(jī)數(shù)發(fā)生器和偽隨機(jī)函數(shù)產(chǎn)生每個(gè)醫(yī)療數(shù)據(jù)塊的同態(tài)消息認(rèn)證碼的匹配系數(shù),并采用與步驟a中相同的簽名算法計(jì)算同態(tài)消息認(rèn)證碼的數(shù)字簽名,同時(shí)分別對(duì)不同的醫(yī)療數(shù)據(jù)文件的身份標(biāo)識(shí)計(jì)算數(shù)字簽名產(chǎn)生醫(yī)療數(shù)據(jù)文件標(biāo)簽,并將多個(gè)醫(yī)療數(shù)據(jù)文件進(jìn)行對(duì)稱加密;最后將這些數(shù)字簽名以及醫(yī)療數(shù)據(jù)文件的密文發(fā)送到云服務(wù)器,并在本地客戶端刪除這些數(shù)據(jù);
c.審計(jì)證明產(chǎn)生:由用戶產(chǎn)生一個(gè)審計(jì)挑戰(zhàn)信息,并將挑戰(zhàn)信息發(fā)送給云服務(wù)器;云服務(wù)器收到審計(jì)挑戰(zhàn)信息后,產(chǎn)生多個(gè)醫(yī)療數(shù)據(jù)文件的聚合審計(jì)證明響應(yīng)信息,并返回給用戶;
d.審計(jì)證明驗(yàn)證:用戶得到聚合的審計(jì)證明響應(yīng)信息之后,利用與步驟a中相同的簽名算法的公鑰以及對(duì)稱加密算法的密鑰驗(yàn)證這個(gè)聚合的審計(jì)證明響應(yīng)信息的有效性。
進(jìn)一步的,所述步驟a的具體方法為:
a1.將醫(yī)療數(shù)據(jù)文件F分成n個(gè)醫(yī)療數(shù)據(jù)塊,這n個(gè)醫(yī)療數(shù)據(jù)塊分別進(jìn)一步分成在Zq(Zq是模q剩余類環(huán),q是素?cái)?shù))中的k個(gè)元素;F表示為:
a2.用戶選取(Zp是模p剩余類環(huán),p是素?cái)?shù)),滿足gq≡1mod p,隨機(jī)地選取私鑰x,滿足1<x<q,計(jì)算公鑰y=gxmod p;用戶選取一個(gè)輕量級(jí)對(duì)稱加密算法設(shè)置對(duì)稱密鑰為τ,并選取一個(gè)輕量級(jí)數(shù)字簽名算法SSig,其公私鑰對(duì)為(spk,ssk);
a3.系統(tǒng)產(chǎn)生偽隨機(jī)數(shù)發(fā)生器偽隨機(jī)函數(shù)PRF:Kprf×I→Zq,其中Kprg,Kprf分別為PRG和PRF的私鑰集合,I為文件中每個(gè)數(shù)據(jù)塊的索引指數(shù)集合;系統(tǒng)隨機(jī)選取對(duì)稱密鑰對(duì)skp=(skprg,skprf),其中skprg∈Kprg,skprf∈Kprf。
進(jìn)一步的,所述步驟b的具體方法為:
b1.對(duì)于L為醫(yī)療數(shù)據(jù)文件的總數(shù),為當(dāng)前選定的醫(yī)療數(shù)據(jù)文件編號(hào),給定每一個(gè)醫(yī)療數(shù)據(jù)文件包含n個(gè)醫(yī)療數(shù)據(jù)塊,其中每一個(gè)醫(yī)療數(shù)據(jù)塊醫(yī)療文件的身份標(biāo)識(shí)為為了確保醫(yī)療數(shù)據(jù)文件身份標(biāo)識(shí)的唯一性,用戶調(diào)用一個(gè)輕量級(jí)數(shù)字簽名算法SSig計(jì)算的標(biāo)簽
b2.用戶利用偽隨機(jī)數(shù)發(fā)生器PRG和偽隨機(jī)函數(shù)PRF分別產(chǎn)生隨機(jī)向量隨機(jī)數(shù)用戶計(jì)算醫(yī)療數(shù)據(jù)塊的同態(tài)消息認(rèn)證碼然后,用戶利用私鑰x計(jì)算的數(shù)字簽名如下:
b21.隨機(jī)選擇計(jì)算
b22.計(jì)算
b23.輸出同態(tài)消息認(rèn)證碼的數(shù)字簽名定義這些簽名的集合為
b3.對(duì)于1≤l≤L,給定每一個(gè)醫(yī)療數(shù)據(jù)文件為了確保用戶的醫(yī)療數(shù)據(jù)文件的機(jī)密性,用戶調(diào)用對(duì)稱加密算法對(duì)稱密鑰為τ,將加密為則加密為
b4.用戶發(fā)送給云服務(wù)器,并在客戶本地端刪除這些信息。
進(jìn)一步的,所述步驟c的具體方法為:
c1.用戶首先取回每一個(gè)醫(yī)療數(shù)據(jù)文件標(biāo)簽并利用公鑰spk驗(yàn)證簽名的有效性;當(dāng)驗(yàn)證完標(biāo)簽的有效性之后,用戶產(chǎn)生審計(jì)挑戰(zhàn)信息如下:
c11.從{1,2,…,n}中隨機(jī)選取一個(gè)含有c個(gè)元素的子集
c12.對(duì)于每一個(gè)用戶產(chǎn)生相應(yīng)的隨機(jī)值βj∈Zq,最后用戶發(fā)送審計(jì)挑戰(zhàn)信息給云服務(wù)器;
c2.一旦接收到審計(jì)挑戰(zhàn)信息云服務(wù)器產(chǎn)生審計(jì)證明響應(yīng)信息如下:
c21.計(jì)算組合信息塊其中θ∈{1,…,k},得到
c22.計(jì)算聚合簽名
c23.云服務(wù)器發(fā)送作為審計(jì)證明響應(yīng)信息給用戶。
進(jìn)一步的,所述步驟d的具體方法為:
d1.對(duì)于每一個(gè)計(jì)算
d2.計(jì)算其中1≤θ≤k,
d3.驗(yàn)證方程是否成立,若成立,則審計(jì)證明響應(yīng)有效,若不成了,則審計(jì)證明響應(yīng)無效。
本發(fā)明的有益效果為,本發(fā)明方法設(shè)計(jì)的密碼算法的安全性基于離散對(duì)數(shù)困難問題,能夠確保惡意云服務(wù)器不能產(chǎn)生偽造的審計(jì)證明響應(yīng)信息欺騙云用戶通過審計(jì)驗(yàn)證過程。在審計(jì)方法中,云用戶利用線性同態(tài)聚合簽名算法構(gòu)造同態(tài)線性認(rèn)器,可以同時(shí)批量審計(jì)多個(gè)醫(yī)療數(shù)據(jù)文件的完整性,并且審計(jì)過程不需要計(jì)算開銷較大的雙線性對(duì)運(yùn)算,特別適用于需要輕量級(jí)計(jì)算量,存儲(chǔ)空間有限,需要高效實(shí)現(xiàn)無線體域網(wǎng)的應(yīng)用場(chǎng)景。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的技術(shù)方案:
本發(fā)明的步驟分為四個(gè)部分:
系統(tǒng)初始化:系統(tǒng)對(duì)醫(yī)療數(shù)據(jù)文件進(jìn)行分塊處理,并生成Schnorr變型簽名算法的公私鑰對(duì),生成用于對(duì)醫(yī)療數(shù)據(jù)文件的身份標(biāo)識(shí)進(jìn)行輕量級(jí)簽名的公私鑰對(duì),系統(tǒng)再選取一個(gè)輕量級(jí)對(duì)稱加密算法及其對(duì)稱密鑰。
簽名產(chǎn)生步驟:用戶首先調(diào)用偽隨機(jī)數(shù)發(fā)生器和偽隨機(jī)函數(shù)產(chǎn)生每個(gè)醫(yī)療數(shù)據(jù)塊的同態(tài)消息認(rèn)證碼的匹配系數(shù),并采用Schnorr變型簽名算法計(jì)算同態(tài)消息認(rèn)證碼的數(shù)字簽名,同時(shí)分別對(duì)不同的醫(yī)療數(shù)據(jù)文件的身份標(biāo)識(shí)計(jì)算數(shù)字簽名產(chǎn)生醫(yī)療數(shù)據(jù)文件標(biāo)簽,并將多個(gè)醫(yī)療數(shù)據(jù)文件進(jìn)行對(duì)稱加密。最后將這些數(shù)字簽名以及醫(yī)療數(shù)據(jù)文件的密文發(fā)送到云服務(wù)器,并在本地客戶端刪除這些數(shù)據(jù)。
審計(jì)證明產(chǎn)生步驟:為了能夠同時(shí)批量審計(jì)外包存儲(chǔ)在云服務(wù)器上的醫(yī)療數(shù)據(jù)的完整性,用戶產(chǎn)生一個(gè)審計(jì)挑戰(zhàn)信息,并將挑戰(zhàn)信息發(fā)送給云服務(wù)器。云服務(wù)器收到挑戰(zhàn)信息后,產(chǎn)生多個(gè)醫(yī)療數(shù)據(jù)文件的聚合審計(jì)證明響應(yīng)信息,并返回給用戶。
審計(jì)證明驗(yàn)證步驟:用戶得到這個(gè)聚合的審計(jì)證明響應(yīng)信息之后,利用Schnorr變型簽名算法的公鑰以及對(duì)稱加密算法的密鑰驗(yàn)證這個(gè)聚合的審計(jì)證明響應(yīng)信息的有效性。
以下給出一個(gè)具體實(shí)例說明:
本發(fā)明所要解決的技術(shù)問題是,適用于無線體域網(wǎng)的云存儲(chǔ)醫(yī)療數(shù)據(jù)完整性批量自審計(jì)方法。
該批量自審計(jì)方法包括以下基本步驟:Setup,SigGen,ProofGen,VerifyProof。
Setup:包括以下三個(gè)子步驟:
(1)將醫(yī)療數(shù)據(jù)文件F分成n個(gè)醫(yī)療數(shù)據(jù)塊,這n個(gè)醫(yī)療數(shù)據(jù)塊分別進(jìn)一步分成在Zq中的k個(gè)元素。F表示如下:
(2)用戶選取滿足gq≡1(modp),隨機(jī)地選取私鑰x,滿足1<x<q,計(jì)算公鑰y=gxmod p。接著用戶選取一個(gè)輕量級(jí)對(duì)稱加密算法(設(shè)置對(duì)稱密鑰為τ),并選取一個(gè)輕量級(jí)數(shù)字簽名算法SSig,其公私鑰對(duì)為(spk,ssk)。
(3)系統(tǒng)產(chǎn)生偽隨機(jī)數(shù)發(fā)生器偽隨機(jī)函數(shù)PRF:Kprf×I→Zq,其中Kprg,Kprf分別為PRG和PRF的私鑰集合,I為文件中每個(gè)數(shù)據(jù)塊的索引指數(shù)集合。接著系統(tǒng)隨機(jī)選取對(duì)稱密鑰對(duì)skp=(skprg,skprf),其中skprg∈Kprg,skprf∈Kprf。
SigGen:用戶同時(shí)產(chǎn)生L個(gè)醫(yī)療數(shù)據(jù)文件的數(shù)字簽名,以及產(chǎn)生這L個(gè)醫(yī)療數(shù)據(jù)文件的密文如下:
(1)對(duì)于給定每一個(gè)醫(yī)療數(shù)據(jù)文件包含n個(gè)醫(yī)療數(shù)據(jù)塊,其中每一個(gè)醫(yī)療數(shù)據(jù)塊醫(yī)療文件的身份標(biāo)識(shí)為為了確保醫(yī)療數(shù)據(jù)文件身份標(biāo)識(shí)的唯一性,用戶調(diào)用一個(gè)輕量級(jí)數(shù)字簽名算法SSig計(jì)算的標(biāo)簽
(2)用戶利用偽隨機(jī)數(shù)發(fā)生器PRG和偽隨機(jī)函數(shù)PRF分別產(chǎn)生隨機(jī)向量隨機(jī)數(shù)用戶計(jì)算醫(yī)療數(shù)據(jù)塊的同態(tài)消息認(rèn)證碼然后,用戶利用私鑰x計(jì)算的數(shù)字簽名如下:
(2a)隨機(jī)選擇計(jì)算
(2b)計(jì)算
(2c)輸出同態(tài)消息認(rèn)證碼的數(shù)字簽名定義這些簽名的集合為
(3)對(duì)于1≤l≤L,給定每一個(gè)醫(yī)療數(shù)據(jù)文件為了確保用戶的醫(yī)療數(shù)據(jù)文件的機(jī)密性,用戶調(diào)用對(duì)稱加密算法(對(duì)稱密鑰為τ)將加密為這樣加密為
最后,用戶發(fā)送給云服務(wù)器,并在客戶本地端刪除這些信息。
ProofGen:用戶產(chǎn)生審計(jì)挑戰(zhàn)信息,云服務(wù)器對(duì)此產(chǎn)生審計(jì)證明響應(yīng)信息,步驟如下:
(1)用戶首先取回每一個(gè)醫(yī)療數(shù)據(jù)文件標(biāo)簽并利用公鑰spk驗(yàn)證簽名的有效性。當(dāng)驗(yàn)證完標(biāo)簽的有效性之后,用戶產(chǎn)生審計(jì)挑戰(zhàn)信息如下:
(1a)從{1,2,…,n}中隨機(jī)選取一個(gè)含有c個(gè)元素的子集
(1b)對(duì)于每一個(gè)用戶產(chǎn)生相應(yīng)的隨機(jī)值βj∈Zq,最后用戶發(fā)送審計(jì)挑戰(zhàn)信息給云服務(wù)器。
(2)一旦接收到審計(jì)挑戰(zhàn)信息云服務(wù)器產(chǎn)生審計(jì)證明響應(yīng)信息如下:
(2a)計(jì)算組合信息塊其中θ∈{1,…,k},這樣得到
(2b)計(jì)算聚合簽名
(2c)云服務(wù)器發(fā)送作為審計(jì)證明響應(yīng)信息給用戶。
VerifyProof:用戶按照如下步驟驗(yàn)證審計(jì)證明響應(yīng)信息的有效性:
(1)對(duì)于每一個(gè)計(jì)算
(2)計(jì)算其中1≤θ≤k,
(3)驗(yàn)證方程是否成立。
審計(jì)證明驗(yàn)證過程正確性如下:
這樣方程成立。
本發(fā)明基于無線體域網(wǎng)以及云計(jì)算的前沿應(yīng)用場(chǎng)景,通過設(shè)計(jì)新穎的安全數(shù)字聚合簽名算法,即設(shè)計(jì)并改進(jìn)Schnorr數(shù)字簽名算法為線性同態(tài)聚合簽名算法,并進(jìn)一步構(gòu)造輕量級(jí)審計(jì)方案,使之能夠有效適用于云輔助的無線體域網(wǎng),幫助患者驗(yàn)證存儲(chǔ)在云輔助醫(yī)療系統(tǒng)的健康數(shù)據(jù)的完整性,且有效檢測(cè)出云醫(yī)療數(shù)據(jù)是否被篡改,從而防止醫(yī)生的臨床誤診。該發(fā)明方法設(shè)計(jì)的密碼算法的安全性基于離散對(duì)數(shù)困難問題,能夠確保惡意云服務(wù)器不能產(chǎn)生偽造的審計(jì)證明響應(yīng)信息欺騙云用戶通過審計(jì)驗(yàn)證過程。在審計(jì)方法中,云用戶利用線性同態(tài)聚合簽名算法構(gòu)造同態(tài)線性認(rèn)器,可以同時(shí)批量審計(jì)多個(gè)醫(yī)療數(shù)據(jù)文件的完整性,并且審計(jì)過程不需要計(jì)算開銷較大的雙線性對(duì)運(yùn)算,特別適用于需要輕量級(jí)計(jì)算量,存儲(chǔ)空間有限,需要高效實(shí)現(xiàn)無線體域網(wǎng)的應(yīng)用場(chǎng)景。