999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于區(qū)塊鏈和同態(tài)加密的電子健康記錄隱私保護方案

2018-10-15 06:48:56徐文玉閻允雪
計算機研究與發(fā)展 2018年10期
關(guān)鍵詞:信息

徐文玉 吳 磊,3 閻允雪

1(山東師范大學(xué)信息科學(xué)與工程學(xué)院 濟南 250358)2(山東省分布式計算機軟件新技術(shù)重點實驗室 濟南 250014)3(山東省軟件工程重點實驗室 濟南 250101)

電子健康記錄(electronic health records, EHR)早在20世紀60年代末就開始投入使用,它記錄了個人疾病發(fā)生、發(fā)展、治療轉(zhuǎn)歸的過程,具有很高的醫(yī)療價值.正因如此,醫(yī)療行業(yè)一直是信息竊取的主要目標.醫(yī)療數(shù)據(jù)的爆炸式增長及互聯(lián)網(wǎng)的迅速發(fā)展,致使醫(yī)院內(nèi)網(wǎng)的數(shù)據(jù)逐漸走向公網(wǎng),然而醫(yī)療行業(yè)的信息安全保護起步較晚,醫(yī)療數(shù)據(jù)泄露的事故層出不窮.2017年我國發(fā)生重大醫(yī)療信息泄露事件,導(dǎo)致7億條個人信息被倒賣.除此之外,醫(yī)院對EHR具有絕對的控制權(quán),可能會存在惡意刪除、修改或內(nèi)部人員泄露數(shù)據(jù)的情況.

傳統(tǒng)理賠中,保險公司有權(quán)查看患者的明文電子健康記錄,并核對數(shù)據(jù)庫患者的投保信息判斷是否應(yīng)該理賠,這實際上侵犯了患者的隱私.區(qū)塊鏈是一種新興的技術(shù),本質(zhì)上是一個授權(quán)的賬本,具有“去中心化”和“不可篡改”等特點,能夠使用戶核實和記錄所有交易,且存儲在鏈上的信息不可更改.以太坊被稱作區(qū)塊鏈2.0的技術(shù),其上擁有智能合約,供區(qū)塊鏈上所有節(jié)點執(zhí)行.如何保護患者數(shù)據(jù)隱私,加強患者對數(shù)據(jù)的控制權(quán)及解決保險公司安全理賠對EHR建設(shè)具有重要的意義.

1 相關(guān)工作

文獻[1]闡述了基于云計算的EHR管理系統(tǒng)要求達到的安全性要求,并提出了一些建議.文中提到提供者必須保護電子健康記錄的安全性和隱私性,實施必要的安全機制以保證患者信息在云中的安全.文獻[2]將屬性基加密與可搜索加密查詢技術(shù)相結(jié)合構(gòu)建了安全的、隱私保護的EHR系統(tǒng),使患者和提供商之間以靈活、動態(tài)、可擴展的方式共享數(shù)據(jù).Xhafa等人提出云計算中具有隱私意識的基于屬性的個人健康記錄共享系統(tǒng)[3],該方案是一種秘鑰策略的多機構(gòu)的屬性基加密,通過隱藏訪問策略保護用戶的隱私.文獻[4]中,電子健康記錄由患者擁有數(shù)據(jù)所有權(quán)并將其存儲至云中,保證了患者擁有數(shù)據(jù)的所有權(quán),但忽略了其他角色和患者共享醫(yī)療方面存在的問題.此外,此方案無法解決患者不擁有數(shù)據(jù)所有權(quán)(如心理治療記錄)的特殊情況.隨著云計算中保護患者EHR隱私的技術(shù)逐漸成熟和區(qū)塊鏈技術(shù)的不斷發(fā)展,許多研究學(xué)者開始把研究方向轉(zhuǎn)向基于區(qū)塊鏈的EHR隱私保護,大量分析區(qū)塊鏈可用于醫(yī)療行業(yè)的文章出現(xiàn).文獻[5-8]分析了區(qū)塊鏈應(yīng)用于醫(yī)療行業(yè)的可行性,并分別提出了醫(yī)療共享模型.其中文獻[5]提出的基于區(qū)塊鏈的醫(yī)療數(shù)據(jù)共享模型解決了各醫(yī)療機構(gòu)間校驗、保存和同步醫(yī)療數(shù)據(jù)的難題.該模型使用的是股份授權(quán)證明機制(delegated proof of stake, DPoS),較于現(xiàn)有解決方案具有一定優(yōu)勢,但存在不具備預(yù)測模塊、機器學(xué)習算法的能力,在數(shù)據(jù)存儲能力等方面具有一定的缺點.Brodersen等人指出區(qū)塊鏈可以促進醫(yī)療信息共享,并且探討了如何將當前的醫(yī)療IT投資與分布式賬本技術(shù)(distributed ledger technology, DLT)相結(jié)合[6],此外文中提出了3種可以解決長期困擾醫(yī)療行業(yè)難題的區(qū)塊鏈結(jié)構(gòu),區(qū)塊鏈技術(shù)與醫(yī)療行業(yè)的結(jié)合有利于患者、醫(yī)療機構(gòu)和醫(yī)療保健參與者等各個參與方.文獻[7]介紹了當前提出的基于區(qū)塊鏈的EHR系統(tǒng),指出區(qū)塊鏈具有應(yīng)用于醫(yī)療保健行業(yè)的潛力,但在實際應(yīng)用中仍然存在實施障礙還需進一步研究.文獻[8]提到區(qū)塊鏈用于醫(yī)療數(shù)據(jù)系統(tǒng)是可行的,但存在重大障礙和挑戰(zhàn),如不存在適用于醫(yī)療保健的區(qū)塊鏈設(shè)施和節(jié)點用戶不愿意用自己的算力維護醫(yī)療區(qū)塊鏈.文章就抵抗中間人攻擊的問題提出了3個不同的轉(zhuǎn)移方案.文獻[9-11]對在區(qū)塊鏈上以何種方式存儲電子健康記錄和如何抵抗區(qū)塊鏈上的中間人攻擊提出了一些解決方案.其中文獻[9]利用區(qū)塊鏈技術(shù)提出了一個去中心化的系統(tǒng)MedRec,該系統(tǒng)在區(qū)塊鏈上存儲電子健康記錄索引的Hash值,以此來為患者提供完整的日志,該系統(tǒng)還使用了一系列智能合約跟蹤某些狀態(tài)的轉(zhuǎn)換,提高系統(tǒng)的可操作性和對患者的數(shù)據(jù)隱私保護.Linn和Koo等人將醫(yī)療記錄存儲醫(yī)院的數(shù)據(jù)庫中,把區(qū)塊鏈集成為一個訪問控制層,存儲了指向電子健康記錄Hash值的索引,提高了系統(tǒng)的可拓展性[10].文獻[10]中還提出了一個用于身份認證的生物認證系統(tǒng),用于保護訪問控制,抵抗中間人攻擊.Halamka等人[11]提出將數(shù)據(jù)存儲在權(quán)限區(qū)塊鏈中,對存儲在區(qū)塊鏈上的EHR和權(quán)限Hash值進行加密,以此來提高數(shù)據(jù)的安全性.文獻[12]實施了一個只有提供者、政府和患者參與的權(quán)限區(qū)塊鏈,利用區(qū)塊鏈及相關(guān)技術(shù)將提供者、患者和政府監(jiān)管機構(gòu)之間復(fù)雜的協(xié)議轉(zhuǎn)化成計算機代碼(智能合約),保證了互操作性和透明性.為抵抗中間人攻擊,文中提到可以將虛假記錄和區(qū)塊鏈上的有效記錄混合.為了達到患者擁有數(shù)據(jù)所有權(quán)和EHR控制權(quán)的目的,Dagher等人提出了一個基于區(qū)塊鏈的隱私保護框架Ancile[13],在節(jié)點注冊階段就為其提供明確的權(quán)限級別,文獻[13]中設(shè)計了多個智能合約對區(qū)塊鏈上的節(jié)點進行權(quán)限控制,擴大了患者對電子健康記錄的控制權(quán).

從上述分析來看,基于區(qū)塊鏈的EHR隱私保護是重點研究課題,其中涉及到數(shù)據(jù)如何在區(qū)塊鏈上存儲、如何保護區(qū)塊鏈上的數(shù)據(jù)隱私、如何保護訪問控制、如何擴大患者的控制權(quán)以及如何抵抗區(qū)塊鏈上的攻擊,如中間人攻擊.國內(nèi)學(xué)者大都在研究基于云存儲的電子健康記錄隱私保護,對基于區(qū)塊鏈的患者敏感數(shù)據(jù)保護領(lǐng)域的研究處于剛剛起步狀態(tài).相對于國外來說,有較多學(xué)者在研究此課題,設(shè)計出了一些基于區(qū)塊鏈的EHR系統(tǒng),這些系統(tǒng)不僅具有理論指導(dǎo)意義,更具有一定的應(yīng)用可能性,更有部分系統(tǒng)已經(jīng)應(yīng)用于現(xiàn)實生活中,但仍存在一些問題處于不斷改進的狀態(tài).現(xiàn)如今國內(nèi)外還未有文章涉及到基于區(qū)塊鏈的保險公司理賠的具體應(yīng)用場景,本文就改進傳統(tǒng)理賠方式提出了解決方案.傳統(tǒng)理賠時,保險公司具有查看患者明文病歷的權(quán)限,這實際上侵犯了患者的隱私.本文基于區(qū)塊鏈,對Ancile[12]進行了擴展,以Ancile為基礎(chǔ)添加了保險公司的角色,將同態(tài)加密、智能合約和兩方安全計算技術(shù)相結(jié)合,實現(xiàn)了保險公司在不能獲取患者明文EHR和用戶ID的前提下仍能正確理賠的功能,對改進傳統(tǒng)理賠方式具有重要理論意義.

2 區(qū)塊鏈技術(shù)背景知識

2.1 區(qū)塊鏈概述及特征

區(qū)塊鏈是從比特幣底層技術(shù)衍生出來的新技術(shù)體系,最早的定義來自于中本聰在2009年發(fā)表的論文[13].區(qū)塊鏈是一種按照時間順序?qū)?shù)據(jù)區(qū)塊以鏈條的方式組合而成的特定數(shù)據(jù)結(jié)構(gòu),并以密碼學(xué)方式保證的不可篡改、不可偽造的去中心化公共總賬[14].賬本是由不同區(qū)塊構(gòu)成的,一個區(qū)塊包含區(qū)塊頭和區(qū)塊體2部分,前一區(qū)塊的Hash值、挖礦的難度及本區(qū)塊中一定數(shù)量的交易數(shù)據(jù)的默克爾樹、時間戳等參數(shù)構(gòu)成了區(qū)塊頭,區(qū)塊頭的結(jié)構(gòu)如圖1所示,區(qū)塊和區(qū)塊之所以形成鏈是因為區(qū)塊中存儲了前一個區(qū)塊的Hash值.

Fig. 1 The structure of the block in block chain圖1 區(qū)塊鏈中區(qū)塊的結(jié)構(gòu)

區(qū)塊鏈由所有參與節(jié)點共同維護,每一個節(jié)點可以通過定期與鄰居節(jié)點交換信息使全局賬本保持同步.區(qū)塊鏈的特點:

1) 開放共識.任何用戶都可以參與到區(qū)塊鏈中,參與其中的節(jié)點都可以獲得一份完整的賬本;任何用戶都可以通過公開的接口查詢區(qū)塊鏈上的數(shù)據(jù).

2) 去中心化.區(qū)塊鏈是由參與節(jié)點組成的P2P網(wǎng)絡(luò),不存在中心化的硬件或管理機構(gòu),任何節(jié)點在網(wǎng)絡(luò)中都是平等的.

3) 不可篡改性.區(qū)塊鏈是一個公開的賬本,區(qū)塊通過節(jié)點的驗證后會被永久存儲.區(qū)塊中含有上一個區(qū)塊的Hash值,如果修改其中某一個區(qū)塊,在這之后的所有區(qū)塊都要重新計算,除非能控制系統(tǒng)中超過51%的節(jié)點,否則單個節(jié)點對數(shù)據(jù)庫的修改是無效的.

2.2 共識機制

區(qū)塊鏈技術(shù)采用共識機制保證所有合法節(jié)點維持的全局賬本是一樣的.常見的共識機制有工作量證明(proof of work, PoW)、權(quán)益證明機制(proof of stake, PoS)、股份授權(quán)證明機制(DPoS)等.比特幣中使用的共識機制是工作量證明,若節(jié)點可以通過計算獲得一個滿足規(guī)則的隨機數(shù),就可以擁有此區(qū)塊的記賬權(quán),其他節(jié)點驗證通過后存儲此區(qū)塊.這種方法完全去中心化,但是挖礦會造成大量的資源浪費,且達成共識的周期較長.PoS權(quán)益證明根據(jù)每個節(jié)點所占代幣的比例與時間等比例的降低挖礦難度,由此可以減少達成共識的時間,可以代替PoW機制.DPoS股份授權(quán)機制類似于董事會投票,全部的節(jié)點投票選舉出一定數(shù)量的節(jié)點代表,由他們來確認區(qū)塊.

本文中使用的共識機制是“QuorumChain”[15]共識,是一種基于投票的共識機制.QuorumChain規(guī)定一定數(shù)量的節(jié)點具有投票的能力,獲得大部分選票(高于閾值數(shù)量)的塊將會被添加到區(qū)塊鏈.該算法在創(chuàng)建塊之前設(shè)置了一個隨機時間量,可以減少多個礦工節(jié)點同時創(chuàng)建相同區(qū)塊的情況發(fā)生.

2.2 以太坊及gas[16]

以太坊(Ethereum)是一個基于區(qū)塊鏈的去中化應(yīng)用平臺,被稱作區(qū)塊鏈2.0的技術(shù),本質(zhì)就是保存數(shù)字交易永久記錄的公共數(shù)據(jù)庫.以太坊上的程序稱為智能合約,是代碼和數(shù)據(jù)的集合,通過以太坊虛擬機來進行處理.

比特幣是區(qū)塊鏈1.0的技術(shù),開創(chuàng)了數(shù)字貨幣的先河,但比特幣協(xié)議的擴展性不足,協(xié)議中使用的是基于堆棧的腳本語言,不能構(gòu)建更高級的應(yīng)用.由此出現(xiàn)了圖靈完備的以太坊,解決了比特幣擴展性不足的問題.

以太坊在區(qū)塊鏈的運行環(huán)境被稱作以太坊虛擬機(ethereum virtual machine, EVM),每個區(qū)塊鏈上的節(jié)點都會驗證區(qū)塊中包含的每個交易并在EVM中運行交易所觸發(fā)的代碼.網(wǎng)絡(luò)中的全節(jié)點(full node)會進行相同的計算,存儲相同的值,這使得合約的執(zhí)行都會需要大量的消耗,以太坊中用gas為單位來表示消耗.

在以太坊中,每個調(diào)用智能合約的交易都有一個gas消耗的上限,稱之為gas limit.如果一個交易不僅需要原始計算而且還需要觸發(fā)別的合約,當該交易需要使用的總gas數(shù)量小于gas limit時,這個交易才會被處理.每筆交易的交易費與gas used和gas price相關(guān),發(fā)送、存儲和執(zhí)行計算等每項操作在EVM中都被設(shè)置了固定的gas消耗值,稱之為gas used,單位gas的價格(用以太幣計算)稱之為gas price,二者的乘積是每筆交易的交易費.發(fā)起交易的用戶余額必須大于執(zhí)行交易的gas成本,否則交易終止.若在交易過程中發(fā)現(xiàn)用戶余額不足,消耗的gas不會退還.

2.3 智能合約

“智能合約”(smart contract)這個術(shù)語至少可以追溯到1995年,文獻[17]將智能合約定義為一套以數(shù)字形式定義的承諾(promises),包括合約參與方可以在上面執(zhí)行這些承諾的協(xié)議”.智能合約是一段可以寫入?yún)^(qū)塊鏈的代碼,可以被所有參與節(jié)點運行.智能合約不僅僅是一個可以自動執(zhí)行的計算機程序更像是一個可信的第三方,可以臨時保管資產(chǎn)并且嚴格按照事先約定好的規(guī)則執(zhí)行操作.智能合約的優(yōu)點是可以多方合作,消除潛在的人為錯誤和腐敗風險,對于每個參與用戶來說都是公開透明的,目前主流的開發(fā)平臺是以太坊.

2.4 區(qū)塊鏈的隱私保護

隱私即為數(shù)據(jù)所有者不愿意被披露的敏感信息,包括敏感數(shù)據(jù)以及數(shù)據(jù)所表征的特性.個人隱私指的是任何可以確認特定個人或與可確認的個人相關(guān),但個人不愿暴露的信息.隱私保護技術(shù)主要是考慮2個方面:1)如何保證數(shù)據(jù)應(yīng)用過程中不泄露隱私;2)如何更有利于數(shù)據(jù)的應(yīng)用[18],一般而言隱私分為個人隱私和共同隱私2類[19].

區(qū)塊鏈為了維護各節(jié)點的數(shù)據(jù)同步必須要公開部分信息,如交易內(nèi)容,但為了保護用戶隱私,要求不能泄露用戶的敏感數(shù)據(jù).通過分析區(qū)塊鏈技術(shù)的特點,區(qū)塊鏈中的隱私分為2類[20]:身份隱私和交易隱私.身份隱私是指用戶身份信息和區(qū)塊鏈地址之間的關(guān)聯(lián)關(guān)系,區(qū)塊鏈的地址是由公鑰加密算法生成,與個人信息無關(guān),一個用戶可以生成多個地址.因此通過地址很難推斷出用戶信息,相比較于傳統(tǒng)的賬號來說具有較好的匿名性.交易隱私指的是區(qū)塊鏈中的交易記錄和交易記錄背后的知識,由于在區(qū)塊鏈中交易是公開的,而交易中往往存在一些私人交易,比如金錢交易等,所以應(yīng)該對交易記錄進行一定的保護.

區(qū)塊鏈的特性決定了區(qū)塊鏈對保護用戶隱私具有天然優(yōu)勢,首先區(qū)塊鏈網(wǎng)絡(luò)是一種P2P網(wǎng)絡(luò),很難實現(xiàn)網(wǎng)絡(luò)竊聽;其次區(qū)塊鏈支持匿名交易,即以太坊的地址是由用戶公鑰經(jīng)過一定算法生成,與個人信息無關(guān),具有一定的匿名性.但也存在不足之處,如區(qū)塊鏈中任何節(jié)點都可查看交易,攻擊者可以通過查看交易逐漸分析出地址所對應(yīng)的用戶信息.

3 預(yù)備知識

3.1 相關(guān)定義

定義1. 不基于第三方的公平的安全兩方數(shù)據(jù)匹配.Alice擁有數(shù)據(jù)塊M,Bob擁有數(shù)據(jù)M1,M2,…,Mn,在不向?qū)Ψ叫孤禡和M1,M2,…,Mn也不借助第三方的情況下,查看M是否與Bob的某一塊數(shù)據(jù)匹配.

定義2. 半誠實參與模型[2].就是各參與者都完全按照協(xié)議的規(guī)定執(zhí)行協(xié)議的每一步,并且在協(xié)議執(zhí)行過程中不會中途退出協(xié)議,也不會惡意輸入或提供虛假數(shù)據(jù),但它們可能會通過試圖分析和利用協(xié)議執(zhí)行過程中自己所得到的信息來推斷協(xié)議之外的其他信息.

3.2 同態(tài)加密

同態(tài)加密最初是由Rivest等人于1978年提出的,是一種允許直接對密文進行操作的加密變換技術(shù)[21].

如果2個密文E(x)和E(y)通過運算計算出E(x+y),即F(E(x),E(y))=E(x+y),F代表任意運算,則E是加法同態(tài)算法.

如果E(x)和E(y)可以通過運算計算出E(x×y),即F(E(x),E(y))=E(x×y),則E是乘法同態(tài).

如果E(x)和y通過運算計算出E(x×y),即F(E(x),E(y))=E(x×y),則E是混合乘法同態(tài).

如果一個加密方案同時滿足加法同態(tài)和乘法同態(tài)稱之為全同態(tài)加密.

3.3 Paillier 加密體制 [22]

3.3.1 Paillier基于的困難問題

λ=λ(n)=lcm(p-1,q-1),

設(shè):

則困難問題的解為

(L(cλmodn2)/L(gλmodn2)) modn.

3.3.2 Paillier公鑰密碼體制

加密階段,存在明文m∈Zn,且m

c=gm×rnmodn2.

解密階段,密文c

3.3.3 Paillier加密的同態(tài)性質(zhì)

根據(jù)3.2節(jié)介紹,F(xiàn)(E(x),E(y))=E(x+y)(F代表任意運算),則E是加法同態(tài)算法.假設(shè)有明文m1,m2,使用Paillier加密方案對2個明文進行加密,得到:

則:

E(m1)×E(m2)=gm1+m2(r1r2)nmodn2=
E(m1+m2),

此表達式滿足加法同態(tài)的性質(zhì),因此Paillier加密體制是加法同態(tài).

3.4 代理重加密

代理重加密解決了用戶在共享數(shù)據(jù)時的不便,在減輕用戶端負擔的同時強化了數(shù)據(jù)的可靠性和安全性.代理重加密實質(zhì)上是一種用于密文之間的密鑰轉(zhuǎn)換機制.在代理重加密過程中,各參與方均得不到任何明文信息.簡單來說,代理重加密就是授權(quán)者通過代理產(chǎn)生針對被授權(quán)者的轉(zhuǎn)換密鑰,代理者利用該密鑰就能將由授權(quán)者公鑰加密的密文轉(zhuǎn)化為用被授權(quán)者的公鑰所加密的密文.

3.5 分布式ElGamal代理重加密[24]

1)Cj向各服務(wù)器i發(fā)送初始化消息啟動協(xié)議;

2) 從Cj收到消息的服務(wù)器i生成隨機數(shù)p,計算(EA(pi),EB(pi)),并將其發(fā)送給Cj;

3)Cj計算EA(p)=×i∈IEA(pi)和EA(p)=×i∈IEB(pi),將其發(fā)送給授權(quán)者;

4) 授權(quán)者計算EA(mp)=EA(m)×EA(p),解密EA(mp),得到mp,并將其發(fā)送給Cj;

5)Cj計算EB(m)=(mp)×EB(p)-1.

4 本文方案

4.1 概 述

本文方案涉及到7個智能合約,患者可以通過智能合約查看和更改其他用戶對該記錄的權(quán)限,這實現(xiàn)了患者對隱私數(shù)據(jù)的訪問控制;電子健康記錄可以在不同節(jié)點之間進行安全轉(zhuǎn)移,實現(xiàn)了對隱私數(shù)據(jù)的保護;除此之外,本文方案改變了傳統(tǒng)理賠方式,將智能合約和同態(tài)加密技術(shù)相結(jié)合,在隱藏理賠對象ID和該理賠對象電子健康記錄的情況下,實現(xiàn)保險公司自動理賠的功能.方案中各參與方與區(qū)塊鏈的交互如圖2所示,患者的EHR存儲在醫(yī)院的數(shù)據(jù)庫中,醫(yī)院將對稱加密密鑰和患者部分信息存儲至區(qū)塊鏈中,患者可通過與區(qū)塊鏈上的智能合約交互更改EHR的訪問權(quán)限和獲取加密密鑰以解密EHR.保險公司可通過區(qū)塊鏈獲取患者的信息,投票節(jié)點使用上文提到的QuorumChain算法決定新節(jié)點是否具有合法性.本節(jié)將會詳細介紹文中涉及到的智能合約,尤其是自動理賠合約的生成和結(jié)構(gòu)以及如何實現(xiàn)添加節(jié)點、授予權(quán)限以及自動理賠功能.

Fig. 2 Interactions between roles in the system圖2 系統(tǒng)中角色之間的交互

4.2 智能合約

本文方案中的7個智能合約分別為共識合約、分類合約、服務(wù)歷史合約、所有權(quán)合約、權(quán)限合約、代理重加密合約以及自動理賠合約,本文將詳細介紹各個智能合約的結(jié)構(gòu)功能.

智能合約中可以存儲一定的數(shù)據(jù),共識合約內(nèi)存儲了具有投票權(quán)力的節(jié)點以太坊地址,合約依靠共識算法—Quorum算法[15]進行挖礦,Quorum是一個在私有區(qū)塊鏈上使用投票共識機制的算法.當用戶節(jié)點注冊時,投票節(jié)點驗證注冊節(jié)點是否有效,若該注冊節(jié)點獲得大部分投票節(jié)點的選票則可以加入到系統(tǒng)中,該合約有效地減少了惡意節(jié)點蓄意注冊的情況,也可以避免重復(fù)注冊的情況發(fā)生.除此之外,共識合約還可以對節(jié)點重寫,即可以移除存在的惡意節(jié)點.

本文方案中共有3種類型的節(jié)點,分別是患者、醫(yī)院及保險公司,共識合約不僅用于驗證節(jié)點是否合法,還可以對合法的注冊節(jié)點進行分類,將分類結(jié)果和節(jié)點的以太坊地址存儲于分類合約中.分類合約存儲了所有節(jié)點的分類信息,當新節(jié)點注冊時可先查詢分類合約中是否已經(jīng)存儲該節(jié)點信息,由此可以簡化注冊過程.

為加強患者的訪問控制及增加數(shù)據(jù)混淆程度,使用了3個層層遞進的合約,即服務(wù)歷史合約、所有權(quán)合約以及權(quán)限合約.每個醫(yī)院與患者節(jié)點均擁有歷史服務(wù)合約,用于存儲與本節(jié)點有聯(lián)系的節(jié)點信息以及所有權(quán)合約的地址.所有權(quán)合約則存儲了EHR擁有者和EHR的相關(guān)信息以及權(quán)限合約的地址,該合約的主要功能就是為了追蹤醫(yī)院存儲的數(shù)據(jù).患者可通過合約中存儲的數(shù)據(jù)庫信息查看自己的數(shù)據(jù)是否存儲在合法的位置,通過查看查詢鏈和EHR的Hash值建立數(shù)據(jù)完整性.權(quán)限合約則存儲了節(jié)點的權(quán)限信息,根據(jù)不同類型的節(jié)點定義了相應(yīng)的權(quán)限.本文方案劃分了4種級別的訪問權(quán)限:1)讀權(quán)限.指的是具有讀取EHR的權(quán)限,一般情況下醫(yī)院具有此類型的權(quán)限;2)轉(zhuǎn)移權(quán).指的是某節(jié)點具有轉(zhuǎn)移EHR讀權(quán)限的權(quán)限,一般情況下醫(yī)院具有級別的權(quán)限,如醫(yī)院A可以向醫(yī)院B轉(zhuǎn)移某患者的EHR;3)所有權(quán)權(quán)限.指的是該節(jié)點具有EHR的控制權(quán),一般情況下患者具有此權(quán)限,特殊情況下如患者患有心理疾病,則醫(yī)院具有所有權(quán)權(quán)限;4)盲權(quán)限.指的是某節(jié)點只能查看EHR密文,如代理重加密節(jié)點、保險公司節(jié)點以及患有心理疾病的患者節(jié)點只有盲權(quán)限,只能查看EHR密文和哪些節(jié)點可訪問EHR.

在轉(zhuǎn)移記錄的過程中,為保證EHR不被泄露,使用了代理重加密技術(shù),本文中使用了3.5節(jié)中介紹的基于ElGamal的代理重加密算法.在區(qū)塊鏈中使用代理重加密需要一組代理重加密節(jié)點,每當生成一組代理重加密節(jié)點就會創(chuàng)建代理重加密合約,用于存儲代理節(jié)點的信息以及p值密文對和盲化的明文信息.代理重加密過程如下:代理重加密合約首先獲取主密鑰并向各代理節(jié)點發(fā)送接受者的公鑰,假設(shè)有i個代理節(jié)點,每個代理節(jié)點都生成一個隨機的p值,記作pi,分別用主密鑰和公鑰對pi值加密生成pi密文對,并將其發(fā)送給代理重加密合約.合約利用ElGamal的同態(tài)乘法性質(zhì)將加密的pi整合成p,返回給代理,代理從中解出盲化消息mp的值,再將盲化的消息發(fā)送給合約,合約利用同態(tài)乘計算接收者的新密鑰.

自動理賠合約主要用于存儲患者的部分信息和實現(xiàn)自動理賠功能.圖3是自動理賠合約的存儲結(jié)構(gòu),在此合約中,存儲了該患者的以太坊地址、一組以數(shù)組形式存儲的計算結(jié)果A[n],以及由對稱加密密鑰加密的EHR和患者病歷中具體疾病的哈希值.該合約在患者初次就診時由醫(yī)院創(chuàng)建,功能類似于傳統(tǒng)理賠中的理賠申請單,合約具體的創(chuàng)建過程以及理賠過程可參考4.5節(jié).保險公司通過訪問理賠合約中的數(shù)組A[n],使用私鑰解密獲取計算結(jié)果,將是否滿足理賠條件的結(jié)果返回給合約,自動理賠合約根據(jù)輸入判斷是否理賠,若符合條件則自動向患者以太坊地址進行轉(zhuǎn)賬.

Fig. 3 The structure of the claim contract圖3 自動理賠合約的結(jié)構(gòu)

4.3 添加保險公司

添加保險公司節(jié)點的過程如圖4所示(假設(shè)保險公司在被添加前已經(jīng)有以太坊的地址和唯一的標識符),圖4中數(shù)字代表添添保險公司的順序.保險公司首先向患者發(fā)送添加請求,患者向分類合約發(fā)送該保險公司的以太坊地址,分類合約檢索該節(jié)點是否已經(jīng)存在于數(shù)據(jù)庫中,若不存在,將請求的地址和類型發(fā)送給共識合約,投票節(jié)點驗證收到的公共標識符是否符合請求的分類,投票完成后將結(jié)果返回給分類合約,分類合約確認授權(quán),將該保險公司以太坊地址和分類結(jié)果存儲至合約數(shù)據(jù)庫中,添加保險公司節(jié)點的操作完成;若該保險公司以太坊地址已經(jīng)存儲于分類合約中但存儲的分類與要求的分類不一致,則再次對此節(jié)點進行投票驗證,將投票結(jié)果存儲至合約中;若請求的分類與存儲的分類一致則不再進行下一步操作.

Fig. 4 Adding an insurance company node圖4 添加保險公司節(jié)點

Fig. 5 The process of adding permission for insurance company圖5 授予保險公司權(quán)限

4.4 授予保險公司權(quán)限

在本文中,為保護患者敏感數(shù)據(jù)的隱私,保險公司不可讀取明文電子健康記錄,只具有讀取電子健康記錄密文的權(quán)限,即盲權(quán)限.根據(jù)4.2節(jié)介紹,一般情況下患者具有電子健康記錄的擁有權(quán),任何角色添加權(quán)限或更改權(quán)限都需獲得患者同意.授予保險公司盲權(quán)限的過程如圖5所示,保險公司首先向患者發(fā)起授權(quán)請求,患者向服務(wù)歷史合約獲取所有權(quán)合約的地址,再向所有權(quán)合約請求權(quán)限合約的地址,得到該電子健康記錄的權(quán)限合約地址后向其發(fā)送更改保險公司權(quán)限請求,權(quán)限合約(步驟⑦代表在合約內(nèi)進行的操作)檢索是否已經(jīng)存儲該節(jié)點的信息,若不存在該節(jié)點信息則直接將該保險公司節(jié)點的以太坊地址和請求的權(quán)限添加進合約;若合約中已經(jīng)存儲了該節(jié)點的信息,則比較存儲的節(jié)點權(quán)限是否與請求權(quán)限相同,相同的話不做處理,不同的話更新權(quán)限合約.另外權(quán)限更改的發(fā)起者也可以是醫(yī)院,當醫(yī)院請求更改保險公司權(quán)限時,醫(yī)院通過訪問自己的服務(wù)歷史合約找到權(quán)限合約的地址,權(quán)限合約檢索是否已經(jīng)存儲節(jié)點的以太坊地址及權(quán)限,較前一種情況不同的是,在權(quán)限合約確認更改保險公司權(quán)限時,要先詢問患者是否同意更改.此情況并沒有越過患者,患者仍擁有電子健康記錄的所有權(quán).

4.5 自動理賠

為改進傳統(tǒng)理賠方式中保險公司可查看患者明文數(shù)據(jù)的弊端,加強對患者隱私數(shù)據(jù)的保護,本文提出了一個基于區(qū)塊鏈的可自動理賠的方案.在該方案中,每個患者都擁有一個由醫(yī)院創(chuàng)建的理賠合約,該合約相當于傳統(tǒng)理賠中的理賠申請單,智能合約一旦發(fā)布,就無法進行更改,所以保證了合約中的信息具有不可篡改性,若想調(diào)用智能合約,只需知道合約地址即可.理賠過程中保險公司主要與自動理賠合約、醫(yī)院進行交互.假設(shè)在理賠之前保險公司和醫(yī)院已經(jīng)約定好使用的同態(tài)加密算法Epk(本文中使用的同態(tài)加密算法是Paillier加密),公私秘鑰對為(Pk,Sk),私鑰由保險公司保存.自動理賠合約創(chuàng)建過程如圖6所示,具體方案如下:

步驟1.患者就診,醫(yī)生將該患者的EHR存儲至醫(yī)院數(shù)據(jù)庫.

步驟2.醫(yī)院向保險公司請求該患者的保險信息;

步驟3.保險公司響應(yīng)請求,將該患者投保的病種分別加密(形式為E(M1),E(M2),…,E(Mn))發(fā)送給醫(yī)院;若無此患者的理賠信息,發(fā)送通知提示醫(yī)院.

步驟4.醫(yī)院創(chuàng)建理賠合約,計算由對稱加密密鑰加密的電子健康記錄和患者電子健康記錄中所記錄的疾病M的Hash值;計算E(M1)×E(M)-1,E(M2)×E(M)-1,…,E(Mn)×E(M)-1,并將計算結(jié)果亂序放入數(shù)組A[n]中,若該患者無保險信息則將數(shù)組數(shù)據(jù)域置空.將患者的以太坊地址、2個Hash值以及數(shù)組A[n]存儲至自動理賠合約.

此時,自動理賠合約創(chuàng)建完成.當用戶發(fā)起理賠請求時,較之傳統(tǒng)理賠不同的是,患者不直接與保險公司交互,而是先向醫(yī)院發(fā)起請求,醫(yī)院收到請求向保險公司發(fā)送自動理賠合約的以太坊地址.保險公司訪問理賠合約,獲取數(shù)組A[n]中的計算結(jié)果,使用私鑰Sk進行解密.若解密的結(jié)果為0,證明2個明文相同,可進行理賠;否則證明2個數(shù)據(jù)不相等,不需要理賠.由于計算結(jié)果是亂序存儲在數(shù)組A[n]的,保險公司無法辨別究竟是哪個明文與密文匹配,無法獲取患者的任何保險信息,保證了患者的隱私安全.保險公司將計算結(jié)果及自己的以太坊地址發(fā)送給自動理賠合約,若收到的結(jié)果為0,合約執(zhí)行保險公司向患者以太坊地址轉(zhuǎn)賬的操作;若收到的結(jié)果不為0,則不進行操作.

Fig. 6 The process of creating Claim Contract圖6 創(chuàng)建自動理賠合約過程

據(jù)2.4節(jié)所述,以太坊地址是由用戶公鑰生成,通過以太坊地址不能推測出用戶的身份信息,由此可見,當保險公司訪問理賠合約時,并不能通過以太坊地址判斷患者的身份,即通過智能合約實現(xiàn)了隱藏患者身份信息的功能;其次在理賠過程中,保險公司除解密外,還可以向醫(yī)院請求加密的EHR和M以便與自動理賠合約中的Hash值比較,驗證數(shù)據(jù)完整性.

5 分 析

5.1 正確性分析

定理1. 當保險公司從智能合約中獲取數(shù)組A[n]后,可用私鑰對該數(shù)組內(nèi)的數(shù)據(jù)解密,以驗證2個數(shù)據(jù)是否匹配.

證明.

E(M)×E(M1)=
(gm×rn1)×(gm1×rn2)-1modn2=
(gm-m1×gn1-n2) modn2=
E(M-M1),

所以如果M1和M相等,則D(E(M)×E(M1)-1)=D(M-M1)=0.

證畢.

定理2. 在轉(zhuǎn)移記錄時,代理可通過計算盲化消息和用醫(yī)院公鑰B加密的p逆值得到由公鑰B加密的密文.

E(m1)-1≡(a-1,b-1),
m′×E(m)≡(a,m′b),
E(m1)×E(m2)≡(a1a2,b1b2).

并且保持以下3種特性:

ElGamal的逆.E(m1)-1∈ε(m-1);

ElGamal的并置.m′×E(m,r)=E(m′m,r);

E(m1,r1)×E(m2,r2)∈ε(m1m2).

由代理重加密算法步驟5可知,EB(m)=(mp)×EB(p)-1,驗證過程如下:

EB(m)=(mp)×EB(p)-1=
(mp)×EB(p-1,-r)=
EB(mpp-1,-r)=
EB(m-r)∈εB(m).

由此可知通過計算mp×(EB(p,r))-1,可得到用公鑰B加密后的密文EB(m).

證畢.

5.2 安全分析

定理3. 保險公司從數(shù)組A[n]中成功推斷出患者疾病的概率為1/n,其中n是患者保險信息所包含的疾病數(shù)量.

證明. 為了驗證患者疾病M與保險信息中的疾病是否相符合,醫(yī)院將計算結(jié)果亂序的存儲在數(shù)組A[n]中.理賠時,保險公司用私鑰解密訪問智能合約獲取的數(shù)組A[n].若保險公司想獲得額外的信息,可以通過計算D(E(M)×E(M1)-1/E(M1)-1)獲得M,但由于醫(yī)院將計算結(jié)果亂序存入A[n],每個數(shù)據(jù)的可能性是相等的,所以如果存在n個數(shù)據(jù),猜測正確的概率為1/n,由此數(shù)據(jù)M是安全的.

證畢.

定理4. 醫(yī)院不能推斷出患者所投的保險信息,即不能從E(M1),E(M2),…,E(Mn)中獲取到關(guān)于M1,M2,…,Mn的任何一條信息.

證明. Paillier加密方案是語義安全當且僅當區(qū)分n2的n次剩余與非n次剩余是困難的.

充分性證明.假設(shè)M0,M1是2個已知的消息,C*是其中一個(設(shè)為Mβ)的密文,即C*←gMβ×rnmodn2,C*g-Mβ≡rnmodn2是n2的n次剩余,而C*g-M1-β≡gMβ-M1-β×rnmodn2是n次非剩余.因此敵手能夠區(qū)分C*對應(yīng)哪個消息,可以區(qū)分n次剩余和n次非剩余,這與判定合數(shù)剩余類假設(shè)是困難的矛盾.

必要性證明.假設(shè)有2個消息M0,M1,同上C*是2個消息中的其中一個密文,C*g-Mβ≡rnmodn2是n2的n次剩余,而C*g-M1-β≡gMβ-M1-β×rnmodn是n次非剩余,由于判定合數(shù)剩余類假設(shè)是困難的,所以無法區(qū)別C*g-Mβ和C*g-M1-β,因此是語義安全的.由此證明醫(yī)院無法從獲得的消息中獲得更多的知識.

證畢.

5.3 隱私保護分析

保險公司在理賠過程中只能獲取到患者的以太坊地址,難以推斷出患者的身份信息,這在一定程度上保護了患者的身份隱私,也可以結(jié)合簽名技術(shù)(如環(huán)簽名)保護交易發(fā)起方的隱私;所有放在區(qū)塊鏈上的信息都使用了加密技術(shù)進行加密,降低了未授權(quán)的節(jié)點訪問敏感信息的可能性;文中使用服務(wù)歷史合約、所有權(quán)合約和權(quán)限合約來分離信息,每個合約存儲一定的信息且權(quán)限合約是由所有權(quán)合約創(chuàng)建,權(quán)限合約由服務(wù)歷史合約創(chuàng)建,若想更改權(quán)限必須層層訪問,增加了數(shù)據(jù)混淆的程度;任何節(jié)點在注冊時共識合約和分類合約都會驗證該節(jié)點的合法性,保證了所有參與到區(qū)塊鏈的節(jié)點都是合法的;假設(shè)存在惡意節(jié)點試圖訪問患者的EHR,訪問EHR之前必須經(jīng)過權(quán)限合約的核查,若該節(jié)點的確有讀取明文的權(quán)限才可獲取到解密EHR的密鑰,如此可以防止非法或惡意節(jié)點訪問患者隱私數(shù)據(jù);最后在所有交互過程中,除醫(yī)院和授權(quán)者外其余各參與方均無法獲取到任何明文消息.在轉(zhuǎn)移電子健康記錄時,使用了代理重加密技術(shù),允許EHR在密文狀態(tài)下被傳輸,并分離了對稱密鑰,進一步提高了安全性;理賠過程中,醫(yī)院收到的僅是患者保險信息的密文,在加密方案安全的情況下醫(yī)院無法對其解密;保險公司只能獲取密文狀態(tài)的EHR和疾病,無法獲取相關(guān)解密密鑰,保證了患者敏感數(shù)據(jù)的安全.雖然以太坊地址和個人信息無關(guān),使得攻擊者很難從以太坊地址推斷出個人ID,在一定程度上保護了用戶隱私,但通過分析特定節(jié)點訪問醫(yī)院或保險公司的頻率可能會推斷出此節(jié)點的信息,未來工作中可以繼續(xù)在這方面做出努力.

5.4 性能分析

如2.2節(jié)所述,gas是以太坊計算成本的度量單位,在分析性能時主要考慮gas的消耗.文獻[13]中添加電子健康記錄的成本高于文獻[9]中MedRec系統(tǒng)添加電子健康記錄的成本,在對比時主要比較區(qū)塊鏈之外和區(qū)塊鏈上的操作.在比較區(qū)塊鏈之外的操作時,Ancile比MedRec多一個使用解密密鑰解密查詢鏈的操作,所以Ancile在區(qū)塊鏈之外的成本比MedRec略高一些,但就實施模型來說性能成本還是很低的.在對比區(qū)塊鏈上的操作時,由于Ancile需要發(fā)送內(nèi)部交易連接不同合約,使用合約創(chuàng)建其他合約,所以gas成本會達到gas limit的一半,成本高于MedRec.

本文中創(chuàng)建自動理賠合約時,在區(qū)塊鏈外的操作主要有保險公司發(fā)送患者保險保險信息、醫(yī)院使用同態(tài)加密算法進行計算以及計算散列值,性能成本較低.區(qū)塊鏈上的操作主要是醫(yī)院將數(shù)據(jù)存儲至合約中,保險公司從合約中檢索數(shù)據(jù),檢索和存儲單個數(shù)據(jù)的gas成本取決于存儲/讀取數(shù)據(jù)的大小,所以gas成本小于gas limit的一半.由于文中涉及了多個智能合約,且醫(yī)院為每個患者都生成一個自動理賠合約,這意味著將存在大量的智能合約,導(dǎo)致節(jié)點需要大量的計算能力和時間來執(zhí)行每個合約,效率低下.下一步工作中可以在不降低安全性的前提下適當減少智能合約的數(shù)量提高效率.總體來說,本文方案在性能成本和效率方面稍有不足,但實現(xiàn)了更多功能,如自動理賠功能等,尤其是在保護患者隱私方面,增加了數(shù)據(jù)混淆程度和攻擊難度.

6 總 結(jié)

由于云環(huán)境下患者沒有對數(shù)據(jù)的控制權(quán)且在傳統(tǒng)理賠過程中保險公司具有查看患者隱私數(shù)據(jù)的弊端,因此實現(xiàn)基于區(qū)塊鏈的數(shù)據(jù)隱私保護,增強患者的控制權(quán)以及在隱私保護的前提下實現(xiàn)正確理賠具有重要意義.考慮到區(qū)塊鏈具有不可篡改性和去中心化等特點,以及智能合約使以太坊更具擴展性,本文提出了基于區(qū)塊鏈的EHR隱私保護方案.本方案將智能合約及同態(tài)加密技術(shù)相結(jié)合,實現(xiàn)了患者擁有數(shù)據(jù)所有權(quán)及在患者匿名前提下自動理賠的功能.通過對安全和性能方面分析得知該方案不會在交互過程中泄露任何敏感數(shù)據(jù),但由于智能合約數(shù)量較多,性能方面還有待提高.

如何在保證隱私數(shù)據(jù)安全的前提下提高效率,減少智能合約的數(shù)量及如何在惡意模式下實現(xiàn)安全交互是下一步研究的主要工作.

猜你喜歡
信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息超市
展會信息
展會信息
展會信息
展會信息
展會信息
信息
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 亚洲欧美日韩久久精品| 99精品免费欧美成人小视频| 51国产偷自视频区视频手机观看| 色综合日本| 爆操波多野结衣| 亚洲精品无码在线播放网站| 中文字幕亚洲第一| 在线亚洲精品福利网址导航| 97色伦色在线综合视频| 亚洲毛片一级带毛片基地| 国产99在线观看| 久草美女视频| 四虎影视国产精品| 毛片国产精品完整版| 夜夜操天天摸| 一级毛片在线免费看| 亚洲一区二区日韩欧美gif| 国产一级毛片网站| 伊人激情综合网| 毛片在线看网站| 伊人婷婷色香五月综合缴缴情| 午夜久久影院| 亚洲福利网址| 亚洲91在线精品| 亚洲国产成人久久精品软件| 国产新AV天堂| 亚洲欧美精品在线| 国产欧美日韩综合在线第一| 在线观看国产精美视频| 日本久久网站| 亚洲丝袜第一页| 久久久久人妻精品一区三寸蜜桃| 欧美在线观看不卡| 自拍亚洲欧美精品| 久久久久无码精品| 曰AV在线无码| 国产精品自拍露脸视频| 高清无码一本到东京热| 亚洲AV无码乱码在线观看裸奔| 国产人免费人成免费视频| 久久美女精品国产精品亚洲| 2020国产精品视频| 在线看片国产| 国产黄在线观看| 丰满人妻久久中文字幕| 免费精品一区二区h| av尤物免费在线观看| 在线播放精品一区二区啪视频| 色哟哟国产成人精品| 国产综合色在线视频播放线视| 国产亚洲精品97在线观看| 中国一级毛片免费观看| 国产精品视频公开费视频| 免费人成又黄又爽的视频网站| 国产青青草视频| 四虎永久免费在线| 国产区在线观看视频| 亚洲国产黄色| 女人一级毛片| 91外围女在线观看| 国产精品区网红主播在线观看| 免费高清毛片| 亚洲精品天堂自在久久77| 2022国产无码在线| 亚洲成人高清在线观看| 国产真实二区一区在线亚洲| 国产99热| AV无码无在线观看免费| 亚洲国产成人精品一二区| 日本国产精品| 精品国产免费观看| 少妇人妻无码首页| 亚洲精品国产综合99| 日韩精品毛片| 99视频在线免费看| 欧美有码在线观看| 亚洲美女高潮久久久久久久| 精品一区二区三区波多野结衣| 国语少妇高潮| 伦精品一区二区三区视频| 亚州AV秘 一区二区三区| 国产色伊人|