本發(fā)明涉及一種移動電子醫(yī)療中具有叛逆者追蹤功能的可搜索加密系統(tǒng)。
背景技術:
移動電子醫(yī)療(mhealth)系統(tǒng)中包含各種移動設備,利用無線通信技術進行設備間的通信,可用于收集臨床醫(yī)療數(shù)據(jù),并將其提供給醫(yī)療服務機構。無線體域傳感器網(wǎng)絡(wbsn)的出現(xiàn)加速了移動電子醫(yī)療網(wǎng)絡的發(fā)展,將可植入或可穿戴的醫(yī)療傳感器放置在患者上以監(jiān)測生理數(shù)據(jù)。這些醫(yī)療數(shù)據(jù)匯聚到移動設備中,并且經(jīng)由無線網(wǎng)絡發(fā)送到云端??墒且苿釉O備往往具有非常有限的計算,存儲能力和有限的電量供給。除了移動設備的性能問題,數(shù)據(jù)安全和隱私問題也是阻礙電子醫(yī)療系統(tǒng)廣泛采用的主要障礙。在移動電子醫(yī)療網(wǎng)絡中,電子醫(yī)療記錄(ehr)被外包給公共云進行存儲,數(shù)據(jù)擁有者無法掌控用于存儲其數(shù)據(jù)的云端軟件和硬件平臺。為了減輕有關ehr安全和隱私問題的擔憂,一個常見的解決方案是通過以加密形式存儲ehr來實現(xiàn)端到端加密。即使云端是不完全可信的或受到受到攻擊,也能保持數(shù)據(jù)的私密和安全。然而,加密的ehr還需要便于共享,并為其提供訪問控制機制?;趯傩缘募用?abe)是一種有效的方法來對加密數(shù)據(jù)提供細粒度的訪問控制。目前大多數(shù)現(xiàn)有的基于abe的數(shù)據(jù)加密系統(tǒng)需要大規(guī)模周期性密鑰更新或密文更新來實現(xiàn)用戶撤銷,這會導致mhealth系統(tǒng)的計算和通信開銷過大。
abe的概念首先由goyal等人提出。他們提出了基于訪問樹的密鑰策略abe(kp-abe)方案和密文策略abe(cp-abe)方案。ostrovsky等人引入了一種新的kp-abe方案,使得用戶的私鑰可以表示成關于屬性的任何訪問公式。為了避免單一的中央權威機構所造成的系統(tǒng)瓶頸,又提出了基于多權限中心的分散式abe系統(tǒng)。然而,這些方案的計算開銷很大。
為了減少本地的計算開銷,green等人在abe系統(tǒng)中引入外包解密機制,以減少用戶的解密開銷。在外包解密機制中,通過代理轉換操作將密文轉換為另一種形式,以便用戶可以有效地恢復消息。然而,green的方案不能驗證密文轉換的正確性。后來,lai等人提出了一種可驗證的外包解密(vod)abe方案,通過附加冗余消息作為輔助驗證信息。雖然lai的方案實現(xiàn)了可驗證性,但是該方案使密文的長度加倍并且在加密操作中引入了很多額外開銷。這些方案減少了解密計算開銷,但是加密開銷仍然隨著訪問結構的復雜性而增長。此外,這些方案不能對加密的密文提供搜索功能。在現(xiàn)有的其他可搜索加密方案中,也沒有考慮到降低關鍵詞陷門生成的開銷。
abe機制的另一個問題是,用戶的密鑰總是與一組屬性相關聯(lián),而不是用戶的身份。同一組屬性可以由一組不同的用戶共享。如果惡意的授權用戶決定出售他的密鑰以獲得經(jīng)濟利益(該惡意用戶也稱為叛逆者),則在傳統(tǒng)abe方案中幾乎不可能找出的真正的密鑰擁有者?,F(xiàn)有具有叛逆者追蹤方案的不足之處在于:需要建立和維護一個用戶列表,以實現(xiàn)叛逆者追蹤功能;或者會給系統(tǒng)產(chǎn)生很大的額外計算開銷。
雖然abe的加密可以防止云服務提供商或外部攻擊者獲取敏感的ehr信息,但它仍然面臨數(shù)據(jù)可用性的問題。加密算法為保密醫(yī)療文件提供了不可讀性,但同時也妨礙了用戶對加密數(shù)據(jù)的操作,例如最常用的信息檢索功能。song等人提出了第一個可搜索加密方案,以實現(xiàn)對加密文件的搜索。為了在公鑰機制中提供可搜索加密功能,boneh等人提出了公鑰可搜索加密(peks)的架構,以實現(xiàn)不同實體之間的可搜索數(shù)據(jù)共享。后來,curtmola等人提出了一種基于倒排索引的動態(tài)可搜索加密方案。2007年,boneh和waters等人提出了一個新的peks方案,并支持聯(lián)結、子集和范圍關鍵字查詢。然而,該方案需要很大的計算和存儲開銷。此外,還需要為多用戶可搜索加密系統(tǒng)提供權限授予的功能。將abe機制引入到可搜索加密系統(tǒng)中,使得外包文件不僅可以由多個數(shù)據(jù)擁有者上傳,還可由多個用戶搜索。數(shù)據(jù)擁有者可以對文檔的索引實施訪問策略控制,從而實現(xiàn)對用戶搜索授權的控制。還有的可搜索加密方案要求系統(tǒng)重新加密所有的加密文件并更新所有的合法秘鑰,從而撤銷用戶。顯然,這種方式不適合大型電子醫(yī)療系統(tǒng)。此外,這些方案的計算開銷隨著訪問結構的復雜性增加,大量的計算開銷并不適用于mhealth網(wǎng)絡中電量有限的移動設備。
針對現(xiàn)有的系統(tǒng)存在計算和存儲開銷過大,無法支持叛逆者追蹤,無法按需要進行用戶撤銷等問題,本發(fā)明提出一種新型輕量級,可進行數(shù)據(jù)和訪問權限共享,可進行叛逆者追蹤的安全電子醫(yī)療系統(tǒng)(list)。
技術實現(xiàn)要素:
本發(fā)明的目的在于提供一種移動電子醫(yī)療中具有叛逆者追蹤功能的可搜索加密系統(tǒng),以克服現(xiàn)有技術中存在的缺陷。
為實現(xiàn)上述目的,本發(fā)明的技術方案是:一種移動電子醫(yī)療中具有叛逆者追蹤功能的可搜索加密系統(tǒng),包括:數(shù)據(jù)擁有單元、數(shù)據(jù)用戶單元、公共云以及密鑰生成中心單元;
當無線體域傳感器網(wǎng)絡中產(chǎn)生電子醫(yī)療數(shù)據(jù)時,所述數(shù)據(jù)擁有單元提取用于描述電子醫(yī)療數(shù)據(jù)的關鍵詞,通過輕量級加密算法對電子醫(yī)療數(shù)據(jù)和關鍵字進行加密;在加密過程中,所述數(shù)據(jù)擁有單元件預設訪問策略將嵌入到加密的電子醫(yī)療數(shù)據(jù)中;加密完成后,所述數(shù)據(jù)擁有單元將密文將通過無線局域網(wǎng)外包存儲到所述公共云;
所述密鑰生成中心單元生成密鑰,并下發(fā)至所述數(shù)據(jù)用戶單元;當具備密鑰的數(shù)據(jù)用戶單元發(fā)出搜索查詢時,通過安全電子醫(yī)療系統(tǒng)中的輕量級陷門生成算法生成關鍵字查詢陷門,通過無線局域網(wǎng)將查詢陷門發(fā)送到所述公共云;
在接收到數(shù)據(jù)檢索請求后,所述公共云將執(zhí)行輕量級測試算法,找到匹配的文件;所述公共云將匹配的文件轉換為外包密文的形式,然后發(fā)送給所述具備密鑰的數(shù)據(jù)用戶單元;
在接收到所述公有云發(fā)送過來的密文后,所述具備密鑰的數(shù)據(jù)用戶單元通過輕量級的解密算法恢復明文電子醫(yī)療數(shù)據(jù),并用輕量級驗證算法檢查正確性;
當發(fā)現(xiàn)用戶密鑰在市場上銷售時,所述密鑰生成中心單元驗證所銷售的密鑰是否是密鑰生成中心單元生成的合法密鑰;如果是有效的密鑰,密鑰生成中心單元將運行輕量級叛逆者追蹤算法來找出密鑰所有者的真實身份。
相較于現(xiàn)有技術,本發(fā)明具有以下有益效果:
(1)輕量級加密。在加密算法中,大量abe加密的計算開銷都被轉移給公共云進行運算;在數(shù)據(jù)擁有者的移動設備中只需執(zhí)行少量指數(shù)運算。加密后的ehr上傳到公共云進行存儲。
(2)輕量級關鍵詞陷門生成。為了在公共云中檢索到包含某個關鍵字的加密ehr,數(shù)據(jù)用戶需要生成關鍵字陷門并將其發(fā)送到云端進行查詢。在關鍵詞陷門生成算法中,在數(shù)據(jù)用戶的設備中僅需要進行少量的乘法,除法和求逆運算,而不需要進行耗費資源的指數(shù)運算和雙線性對運算。
(3)輕量級測試算法。在接收到數(shù)據(jù)用戶發(fā)送的關鍵詞陷門后,云端運行測試算法以檢索包含指定關鍵詞的加密文檔。云存儲提供商只需要三個雙線性計算來完成測試操作。而現(xiàn)有的基于屬性可搜索加密系統(tǒng)需要大量耗時的雙線性運算來執(zhí)行測試算法。
(4)輕量級解密和驗證。在解密算法中,大多數(shù)abe解密操作都外包給公共云。也就是說,云端首先將加密的ehr轉換為中間密文并發(fā)送給數(shù)據(jù)用戶。數(shù)據(jù)用戶的設備僅需要執(zhí)行一次指數(shù)計算就可獲得明文ehr,然后驗證云端完成的變換是否正確。
(5)輕量級用戶撤銷?,F(xiàn)有的可搜索加密系統(tǒng)需要通過耗時耗力的大規(guī)模密鑰更新或密文重加密來進行用戶召回。而list系統(tǒng)的精巧設計,實現(xiàn)了超輕量級的用戶撤銷機制。
(6)輕量級叛逆者跟蹤。由于abe的一對多加密特性,解密權限可以由擁有相同屬性集合的一組用戶共享。由于大多數(shù)現(xiàn)有的abe方案在密鑰生成過程中進行了隨機化處理,因此從泄露的密鑰恢復出密鑰持有者的原始身份是非常困難的。而list系統(tǒng)支持輕量級的叛逆者追蹤。在追蹤算法中只需要三次雙線性運算就可以恢復出叛逆者的身份,并且不需要通過維護用戶列表來輔助完成叛逆者追蹤的過程。
附圖說明
圖1為本發(fā)明中移動電子醫(yī)療中具有叛逆者追蹤功能的可搜索加密系統(tǒng)的原理框圖。
圖2為本發(fā)明中移動電子醫(yī)療中具有叛逆者追蹤功能的可搜索加密系統(tǒng)中各個單元的流程圖。
圖3為本發(fā)明中移動電子醫(yī)療中具有叛逆者追蹤功能的可搜索加密系統(tǒng)中用戶撤銷示意圖。
具體實施方式
下面結合附圖,對本發(fā)明的技術方案進行具體說明。
本發(fā)明一種移動電子醫(yī)療中具有叛逆者追蹤功能的可搜索加密系統(tǒng),圖1為本實施例中的系統(tǒng)框架,主要由四個實體組成:作為數(shù)據(jù)擁有者的無線體域傳感器網(wǎng)絡(wbsn),作為數(shù)據(jù)用戶的醫(yī)護人員,公共云和密鑰生成中心(kgc)。
(1)當無線體域傳感器網(wǎng)絡中產(chǎn)生電子醫(yī)療數(shù)據(jù)(ehr)時,數(shù)據(jù)擁有者將提取關鍵詞來描述ehr。然后,使用輕量級加密算法對ehr和關鍵字進行加密。在加密過程中,數(shù)據(jù)擁有者指定的訪問策略將嵌入到加密的ehr中。然后,密文將通過無線局域網(wǎng)(wlan)外包存儲到公共云。
(2)當授權的醫(yī)護人員(數(shù)據(jù)用戶)發(fā)出搜索查詢時,使用list中的輕量級陷門生成算法生成關鍵字查詢陷門。然后,通過wlan將查詢陷門發(fā)送到公共云。
(3)接收到數(shù)據(jù)檢索請求后,公共云將執(zhí)行輕量級測試算法,找到匹配的文件。然后,公共云將匹配的文檔轉換為外包密文的形式,然后以較低的傳輸開銷發(fā)送給醫(yī)護人員。
(4)在接收到公有云發(fā)送過來的密文后,醫(yī)務人員用輕量級的解密算法恢復明文ehr,并用輕量級驗證算法檢查正確性。
(5)當發(fā)現(xiàn)用戶密鑰在市場上銷售時,kgc將首先驗證所銷售的密鑰是否是kgc生成的合法密鑰。如果它是有效的密鑰,kgc將運行輕量級叛逆者追蹤算法來找出密鑰所有者的真實身份。
(6)為了保護ehr的隱私,需要召回被濫用的密鑰。kgc將利用輕量級撤銷機制來撤銷叛逆者用戶的數(shù)據(jù)檢索和解密權限。
進一步的,在本實施例中,通過如下方式進行系統(tǒng)建立:kgc將安全參數(shù)1λ作為輸入,setup算法將輸出整個系統(tǒng)的公共參數(shù)pp和系統(tǒng)主密鑰msk。kgc定義senc/sdec為對稱加解密算法,
setup(1λ)→(pp,msk)。
令
進一步的,在本實施例中,通過如下方式進行生成密鑰:
kgc使用keygen算法為每個數(shù)據(jù)用戶生成公/私鑰對。用戶的身份id和屬性集s將被嵌入到生成的密鑰skid,s中。
keygen(msk,id,s)→(pkid,s,skid,s)。
密鑰生成算法將主密鑰msk,用戶的身份id和屬性集
ψ1=(d1σ)u',ψ1=y(tǒng)0u”',ψ3,i=(d3,iσ)u”,ψ4=gs',ψ5=fs”,
pkid,s=(ψ1,ψ2,{ψ3,i}i∈[k],ψ4,ψ5),
skid,s=(d1,d2,{d3,i}i∈[k],d4,s′,s″,u′,u″,u″′)。
注意,1/(λ+δ)是在模p中計算的。如果gcd(λ+δ,p)≠1,keygen算法將重新選擇
進一步的,在本實施例中,數(shù)據(jù)擁有者將執(zhí)行以下步驟來加密ehr。首先,應首先提取用于描述文件的關鍵字(例如疾病名稱)。其次,數(shù)據(jù)擁有者將選擇一個隨機數(shù)
加密enc算法為enc(m,(m,ρ),kw)→ct。令m為一個l×n的矩陣,ρ為將矩陣m的行與用戶屬性相關聯(lián)的函數(shù)。加密enc算法選擇隨機數(shù)
c0=υ·ys,c1=gs,c2=hs,
c3,i=ρ(i)si/[s′h(kw)],c′3,i=si/[s″h(kw)],c4=y(tǒng)0h(kw)ys/h(kw)。
然后,enc算法輸出密文ct=(c0,c1,c2,{c3,i,c′3,i}i∈[l],c4,cm),并將ct和訪問策略(m,ρ)外包存儲至公共云平臺。
進一步的,在本實施例中,數(shù)據(jù)用戶將使用trapdoor算法生成關鍵字陷門tkw。數(shù)據(jù)用戶的屬性集合s也會被嵌入到生成的陷門tkw中,用戶其將通過無線信道發(fā)送到公共云服務器進行查詢。
trapdoor(skid,s,kw)→tkw。
數(shù)據(jù)擁有者選擇隨機數(shù)
t0=u·(u′)-1,t1=u0/[u′h(kw)],t2=d2,t3=u0·(u″)-1,t3′=uh(kw)·(u″)-1,
t4=u0d4,t5=u0d4·h(kw)·(u″′)-1。
進一步的,在本實施例中,接收到來自數(shù)據(jù)用戶的數(shù)據(jù)檢索請求后,公共云服務器將對存儲的加密ehr進行搜索,尋找匹配的文件。云服務器提供商將利用測試test和轉換transform算法完成該過程。
test&transform(ct,tkw,pkid,s)→ctout/⊥。
在測試test算法中,如果密文滿足以下兩個要求,公共云服務器搜索匹配的加密ehr:數(shù)據(jù)用戶的屬性集s(隱含地包括在關鍵詞陷門中)滿足加密ehr中定義的訪問結構;關鍵字陷門中包含的關鍵字與密文中的關鍵字一致。
test(ct,tkw,pkid,s)→1/0。
假設密文ct與關鍵字kw′關聯(lián),查詢陷門tkw與關鍵字kw關聯(lián)。該算法驗證與tkw相關的用戶屬性集s是否滿足與ct相關的訪問策略(m,ρ)。如果不是,輸出0;否則,將
然后,test算法驗證以下等式是否成立
在轉換transform算法中,公共云服務器將匹配的密文ct轉換為ctout,使得數(shù)據(jù)用戶可以使用輕量級解密算法來恢復明文。
transform(ct,tkw,pkid,s)→ctout/⊥。
如果test算法的輸出為0,則transform算法輸出⊥。否則,transform算法計算并輸出ctout=(c0,γ1,λ1,cm),其中
進一步的,在本實施例中,在接收到公共云服務器發(fā)送過來的密文ctout后,數(shù)據(jù)用戶可以僅僅通過一個冪運算來恢復出隨機數(shù)υ,并通過解密dec算法恢復電子醫(yī)療數(shù)據(jù)的消息m。為了驗證所接收的ctout是否從原始ct正確變換,數(shù)據(jù)用戶將檢查在m之后是否附加零串。解密dec算法的輸入為密文ctout和用戶密鑰skid,s,解密成功則輸出明文消息m;否則,輸出⊥;解密dec算法表示為:dec(ctout,skid,s)→m/⊥。
數(shù)據(jù)用戶單元計算
進一步的,在本實施例中,對于叛逆者追蹤,kgc首先通過keysanitycheck算法驗證所銷售的密鑰是否是有效密鑰。
keysanitycheck(skid,s)→1/0。
假設密鑰相關的屬性集合s={ξ1,ξ2,···ξk}。密鑰skid,s的密鑰有效性檢查包括兩個步驟。首先,kgc檢查skid,s是否是如下格式的密鑰:
(d1,d2,{d3,i}i∈[k],d4,s′,s″,u′,u″,u″′)
其中,
進一步的,在本實施例中,如果市場上所銷售的密鑰被證明是kgc生成的有效密鑰,則可以通過對密鑰skid,s中的d1進行兩次解密計算,恢復出密鑰持有者的真實身份。輕量級叛逆者追蹤trace算法將由kgc使用主密鑰msk來執(zhí)行。
trace(msk,skid,s)→id/⊥。
如果keysanitycheck算法輸出0,這意味著skid,s不是一個有效密鑰,不需要進行叛逆者追蹤,trace算法將輸出⊥。否則,skid,s是kgc生成的有效密鑰。trace算法計算
進一步的,在本實施例中,圖2表示用戶撤銷機制,利用精妙的密鑰設計,kgc可以很容易地撤銷用戶在list系統(tǒng)中的訪問權限。由于密鑰的分量d2=δ包含用戶的身份信息。此外,在檢索階段,數(shù)據(jù)用戶必須將其作為關鍵字陷門的組件t2=d2提交給公共云服務器以發(fā)出數(shù)據(jù)檢索請求。kgc可以將d2=δ放到撤銷列表中以實現(xiàn)用戶撤銷。如圖3所示,撤銷列表應該存儲在公共云服務器中(與被kgc簽名的簽名一起)。當公共云接收到關鍵字陷門tkw時,應首先檢查撤銷列表中是否包括t2=d2=δ。如果是,則數(shù)據(jù)檢索請求將被拒絕;如果不是,則執(zhí)行測試操作。
進一步的,在本實施例中,移動醫(yī)療系統(tǒng)(mhealth)已經(jīng)成為一種新的以患者為中心的應用模型,可以通過可穿戴傳感器實時收集患者的數(shù)據(jù),在移動設備上對這些醫(yī)療數(shù)據(jù)進行聚合和加密,然后將加密的數(shù)據(jù)上傳到云端以供醫(yī)務人員和研究人員查詢和訪問。然而,加密數(shù)據(jù)的高效利用和可共享性是一個非常具有挑戰(zhàn)性的問題。用戶可以使用本實施例中提供的上述技術方案,實現(xiàn)高效的關鍵字搜索,并對加密數(shù)據(jù)進行細粒度的訪問控制??梢源_保用戶的數(shù)據(jù)安全,保證只有授權用戶才能夠對用戶數(shù)據(jù)進行訪問,同時實現(xiàn)叛逆者追蹤,并允許系統(tǒng)對惡意用戶用戶的權限進行撤銷。本實施例中提供的輕量級算法可以在資源受限的移動用戶設備上使用。
以上是本發(fā)明的較佳實施例,凡依本發(fā)明技術方案所作的改變,所產(chǎn)生的功能作用未超出本發(fā)明技術方案的范圍時,均屬于本發(fā)明的保護范圍。