本發(fā)明涉及一種跨域電子醫(yī)療社交系統(tǒng)中基于病癥的動(dòng)態(tài)匿名認(rèn)證群組密鑰管理方法及系統(tǒng)。
背景技術(shù):
電子醫(yī)療系統(tǒng)通過(guò)電子化的醫(yī)療數(shù)據(jù)處理,實(shí)現(xiàn)了適用于高質(zhì)量醫(yī)療保健的新型普適計(jì)算方式。通過(guò)電子醫(yī)療設(shè)備或者微型傳感器來(lái)收集患者生命體征和其他醫(yī)療數(shù)據(jù),可以監(jiān)測(cè)患者的病情。在醫(yī)療系統(tǒng)中,醫(yī)護(hù)人員需要為患者提供專(zhuān)業(yè)的疾病和病癥診斷。另一方面,這些患者也有意與具有相同病癥的其他患者進(jìn)行溝通。他們希望建立基于病癥的通信群組,來(lái)交流疾病的相關(guān)信息、分享治療經(jīng)驗(yàn)和專(zhuān)家建議。他們可以在通信組中聊天,談?wù)勊麄兊膶?shí)時(shí)疾病狀況,并相互鼓勵(lì)戰(zhàn)勝疾病。
考慮到醫(yī)療信息的敏感性,患者的隱私應(yīng)該受到系統(tǒng)保護(hù)。建立一個(gè)安全的群組信息交換系統(tǒng)是十分有必要的。如果這些患者可以通過(guò)真實(shí)的會(huì)面來(lái)協(xié)商出群組密鑰,那么很容易就能建立這樣的系統(tǒng)。然而,事實(shí)是他們不得不留在醫(yī)院接受治療,沒(méi)有機(jī)會(huì)在現(xiàn)實(shí)中見(jiàn)面,只能通過(guò)因特網(wǎng)進(jìn)行溝通。我們應(yīng)該設(shè)計(jì)安全的群組密鑰管理方案(gkm)來(lái)保護(hù)群組會(huì)話(huà)。另一方面,具有相同病癥的患者很有可能來(lái)自不同城市或不同國(guó)家的醫(yī)療機(jī)構(gòu)。有些得罕見(jiàn)疾病的患者甚至很難在同一個(gè)城市找到患類(lèi)似病癥的病人。為了加強(qiáng)國(guó)際醫(yī)療援助,我們應(yīng)該建立跨醫(yī)療域的安全群組會(huì)話(huà)系統(tǒng)。
在安全群組系統(tǒng)中,患者的匿名性和相互認(rèn)證性是至關(guān)重要的。匿名性能夠保護(hù)患者的真實(shí)身份,避免不必要的個(gè)人信息泄露和歧視。用戶(hù)身份認(rèn)證可以防止系統(tǒng)遭受偽裝攻擊。實(shí)現(xiàn)患者認(rèn)證的一種方式是數(shù)字簽名機(jī)制。用戶(hù)的公鑰由公鑰基礎(chǔ)設(shè)施(pki)管理。在pki系統(tǒng)中,認(rèn)證機(jī)構(gòu)(ca)負(fù)責(zé)分發(fā)、存儲(chǔ)、驗(yàn)證和撤銷(xiāo)證書(shū),從而帶來(lái)了較高的管理成本。設(shè)計(jì)認(rèn)證算法的另一種方式是基于身份的公鑰密碼體制(id-pkc),其中每個(gè)用戶(hù)都有一個(gè)身份,所有用戶(hù)密鑰由密鑰生成中心(kgc)生成。由于kgc保管著所有用戶(hù)的密鑰,一旦kgc存儲(chǔ)服務(wù)器被黑客攻擊,那么基于身份的密碼系統(tǒng)將面臨風(fēng)險(xiǎn)。無(wú)證書(shū)密碼系統(tǒng)可以解決密鑰托管問(wèn)題,因?yàn)樵谠撓到y(tǒng)中kgc只知道用戶(hù)的部分密鑰(partialsecretkey)。
為了實(shí)現(xiàn)靈活的患者管理,當(dāng)患者從疾病中康復(fù)后,系統(tǒng)應(yīng)該撤銷(xiāo)該患者的密鑰。此外,基于病癥的群組通信系統(tǒng)應(yīng)該是動(dòng)態(tài)的。一方面,病人可以自由地加入或離開(kāi)系統(tǒng)而不會(huì)泄露群組會(huì)話(huà)的隱私。另外,在基于病癥的認(rèn)證群組密鑰協(xié)議中,病癥信息應(yīng)該嵌入到群組會(huì)話(huà)密鑰中,使得具有不同病癥的患者不能加入該群組進(jìn)行通信。同時(shí),在信息交互過(guò)程中,需要保證患者的病癥不能泄露給不屬于該群組其他病人或者進(jìn)行竊聽(tīng)的攻擊者。
除了功能需求外,效率也是衡量跨域群組密鑰管理系統(tǒng)的重要因素。醫(yī)院里的大多數(shù)患者無(wú)法使用擁有強(qiáng)大計(jì)算能力的電子設(shè)備(例如筆記本電腦或臺(tái)式機(jī))加入群聊。他們往往躺在病床上使用手機(jī)或者平板電腦與他人聊天,這些設(shè)備的計(jì)算和存儲(chǔ)能力十分有限。然而,大多數(shù)現(xiàn)有的群組密鑰協(xié)商協(xié)議(gka)依賴(lài)計(jì)算開(kāi)銷(xiāo)較大的雙線(xiàn)性對(duì)運(yùn)算和映射到點(diǎn)的哈希計(jì)算,這些需要較大計(jì)算量的方案并不適用于電子醫(yī)療社交系統(tǒng)。
密鑰管理和其他安全方法(如加密、簽名等)同等重要。在群組通信中,群組密鑰管理(gkm)得到了較為廣泛的研究。2010年,srinivasa等人提出適用于組播網(wǎng)絡(luò)的安全gkm方案,它結(jié)合了邏輯密鑰樹(shù)結(jié)構(gòu)和中國(guó)剩余定理進(jìn)行方案設(shè)計(jì)。drira等人為移動(dòng)自組網(wǎng)絡(luò)設(shè)計(jì)了群組密鑰管理方案,它基于信任導(dǎo)向的聚類(lèi)方法。在方案中,信任信息被當(dāng)作是密鑰管理相關(guān)的聚類(lèi)依據(jù)。harn和lin提出了基于秘密共享的廣播gkm方案,并證明方案是安全的。然而,liu等證明harness的方案容易受到內(nèi)部攻擊。chen等人提出了基于單向代理重加密的群組密鑰管理方案。nabbel等人構(gòu)造了基于屬性的群組密鑰管理方案,它根據(jù)群組成員的屬性管理群組密鑰。在他們的方案中,只有滿(mǎn)足某種訪(fǎng)問(wèn)控制策略屬性的用戶(hù)才能獲得群組密鑰。jiang等人提出了自愈群組密鑰管理方案,以及具有撤銷(xiāo)和抗共謀能力的自愈方法。sun等人[17]提出了兩個(gè)抗共謀攻擊的gkm方案,分別基于重復(fù)單向功能樹(shù)和節(jié)點(diǎn)單向功能樹(shù)。2017年,chen等人設(shè)計(jì)了具有動(dòng)態(tài)群組密鑰管理方案,它基于密鑰樹(shù)結(jié)構(gòu)。
群組密鑰協(xié)商協(xié)議(gka)是生成群組會(huì)話(huà)密鑰的核心技術(shù)。2013年,cheng等人[22]提出了基于二叉樹(shù)結(jié)構(gòu)的容錯(cuò)gka協(xié)議,它支持參與者加入或離開(kāi)的動(dòng)態(tài)操作。yang等人為移動(dòng)自組網(wǎng)提出基于身份的廣播加密(ibbe)機(jī)制的gka方案。在本方案中,當(dāng)管理員知道群組成員的身份時(shí),不需要進(jìn)行消息交互就可以生成群組會(huì)話(huà)密鑰,然而它不提供用戶(hù)認(rèn)證機(jī)制。后來(lái),cheng等人設(shè)計(jì)了基于雙線(xiàn)性對(duì)的認(rèn)證gka方案。xu等人提出了基于短簽名的身份隱藏認(rèn)證非對(duì)稱(chēng)gka方案。lv等人提出無(wú)證書(shū)gka方案。2015年,sun等人[27]為移動(dòng)環(huán)境提出了可驗(yàn)證的認(rèn)證gka協(xié)議。ranjani等人提出了基于身份的gka協(xié)議來(lái)抵抗主動(dòng)和被動(dòng)攻擊,它是基于雙線(xiàn)性對(duì)構(gòu)造的。tan等人提出了無(wú)雙線(xiàn)性對(duì)的基于身份gka方案。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有群組密鑰協(xié)商方案中,沒(méi)有實(shí)現(xiàn)跨域安全群組通信、無(wú)法支持基于病癥匹配的群組建立,效率低等問(wèn)題,本發(fā)明提供了一種跨域電子醫(yī)療社交系統(tǒng)中基于病癥的動(dòng)態(tài)匿名認(rèn)證群組密鑰管理方案,它提出了跨域群組密鑰協(xié)商協(xié)議,實(shí)現(xiàn)了基于病癥匹配的患者匿名身份驗(yàn)證,能夠支持動(dòng)態(tài)的患者管理和群組管理,效率優(yōu)于同類(lèi)相關(guān)方案,并且擁有較高的安全性。
為實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案實(shí)現(xiàn):一種基于病癥的跨域動(dòng)態(tài)匿名認(rèn)證群組密鑰管理方法,其包括以下步驟:s1:建立一密鑰生成中心kgc;s2:kgc先檢查醫(yī)療機(jī)構(gòu)mi是否具有相關(guān)醫(yī)療資質(zhì),然后為mi生成部分密鑰;s3:mi負(fù)責(zé)對(duì)患者的診斷和治療,并生成患者的部分密鑰;s4:來(lái)自不同醫(yī)療機(jī)構(gòu)的患者安全地生成群組會(huì)話(huà)密鑰。
本發(fā)明還提供一種基于病癥的跨域動(dòng)態(tài)匿名認(rèn)證群組密鑰管理系統(tǒng),其包括密鑰生成中心kgc,所述密鑰生成中心kgc負(fù)責(zé)生成主公鑰/私鑰對(duì),并被所有實(shí)體信任,=為注冊(cè)的醫(yī)療機(jī)構(gòu)生成部分公鑰/私鑰對(duì),從而避免密鑰托管問(wèn)題;醫(yī)療機(jī)構(gòu)mi,醫(yī)療機(jī)構(gòu)mi需要向kgc注冊(cè);醫(yī)療機(jī)構(gòu)選擇秘密值并生成秘密值的公開(kāi)信息;為了得到部分公鑰/私鑰對(duì),mi將生成的公開(kāi)信息提交給kgc;mi負(fù)責(zé)管理和診斷在其醫(yī)療領(lǐng)域內(nèi)的患者,并為患者生成部分公鑰/私鑰對(duì),從而避免密鑰托管問(wèn)題;以及患者pt,患者pt向醫(yī)療機(jī)構(gòu)注冊(cè),患者選擇秘密值并生成秘密值的公開(kāi)信息,為了得到部分公鑰/私鑰對(duì),pt將秘密值對(duì)應(yīng)的公開(kāi)信息提交給mi。
與現(xiàn)有技術(shù)相比本發(fā)明具有以下優(yōu)點(diǎn):
(1)跨域認(rèn)證密鑰管理和病癥匹配功能:本方案中,來(lái)自不同醫(yī)療域的患者經(jīng)過(guò)身份認(rèn)證后,系統(tǒng)會(huì)為患有相同病癥的病人生成群組會(huì)話(huà)密鑰,患者可以利用密鑰建立基于病癥的安全群組,通過(guò)群組通信來(lái)共享病癥相關(guān)信息。
(2)匿名性和可追蹤性:由于醫(yī)療機(jī)構(gòu)的信息和患者的病癥信息都是敏感的,本發(fā)明確保外界無(wú)法從匿名身份中恢復(fù)出醫(yī)療機(jī)構(gòu)和患者的真實(shí)身份,實(shí)現(xiàn)了醫(yī)療機(jī)構(gòu)和患者的匿名性。為了防止醫(yī)療機(jī)構(gòu)和患者發(fā)生惡意行為,密鑰生成中心kgc能夠恢復(fù)醫(yī)療機(jī)構(gòu)的真實(shí)身份,而患者的真實(shí)身份可以由其注冊(cè)的醫(yī)療機(jī)構(gòu)恢復(fù),從而實(shí)現(xiàn)了醫(yī)療機(jī)構(gòu)和患者的可追蹤性。
(3)安全性:本方案利用完美的前向安全性(perfectforwardsecurity)來(lái)保護(hù)信息的隱私,即使攻擊者能夠策反一個(gè)群組成員,他也無(wú)法推斷出之前的會(huì)話(huà)密鑰。本方案還能夠抵抗各種主動(dòng)攻擊:偽裝攻擊、篡改攻擊和重放攻擊等。
(4)時(shí)間控制的用戶(hù)撤銷(xiāo):為了簡(jiǎn)化用戶(hù)管理過(guò)程,本方案提供基于時(shí)間的用戶(hù)自動(dòng)撤銷(xiāo)機(jī)制。一旦過(guò)了設(shè)定的有效期,患者的公鑰/私鑰對(duì)將自動(dòng)失效。
附圖說(shuō)明
圖1為本發(fā)明一實(shí)施例的系統(tǒng)框架示意圖。
圖2為本發(fā)明一實(shí)施例中醫(yī)療機(jī)構(gòu)注冊(cè)流程圖。
圖3為患者注冊(cè)流程圖。
圖4為群組密鑰協(xié)商流程圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步解釋說(shuō)明。
針對(duì)現(xiàn)有的群組密鑰協(xié)商方案中,沒(méi)有實(shí)現(xiàn)跨域安全群組通信、無(wú)法支持基于病癥匹配的群組建立、效率低等問(wèn)題,本發(fā)明設(shè)計(jì)了跨域電子醫(yī)療社交系統(tǒng)中基于病癥的動(dòng)態(tài)匿名認(rèn)證群組密鑰管理方法。其包括以下步驟:s1:建立一密鑰生成中心kgc;s2:kgc先檢查醫(yī)療機(jī)構(gòu)mi是否具有相關(guān)醫(yī)療資質(zhì),然后為mi生成部分密鑰;s3:mi負(fù)責(zé)對(duì)患者的診斷和治療,并生成患者的部分密鑰;s4:來(lái)自不同醫(yī)療機(jī)構(gòu)的患者安全地生成群組會(huì)話(huà)密鑰。
圖1為本發(fā)明的系統(tǒng)框架。系統(tǒng)包括三種類(lèi)型的實(shí)體:密鑰生成中心(kgc)、醫(yī)療機(jī)構(gòu)(mi)和患者(pt)其中密鑰生成中心(kgc):負(fù)責(zé)生成主公鑰/私鑰對(duì),并被所有實(shí)體信任。它為注冊(cè)的醫(yī)療機(jī)構(gòu)生成部分公鑰/私鑰對(duì),從而避免密鑰托管問(wèn)題。醫(yī)療機(jī)構(gòu)(mi):需要向kgc注冊(cè)。醫(yī)療機(jī)構(gòu)選擇秘密值并生成秘密值的公開(kāi)信息。為了得到部分公鑰/私鑰對(duì),mi會(huì)把生成的公開(kāi)信息提交給kgc。mi負(fù)責(zé)管理和診斷在其醫(yī)療領(lǐng)域內(nèi)的患者,并為患者生成部分公鑰/私鑰對(duì),從而避免密鑰托管問(wèn)題。患者(pt):向醫(yī)療機(jī)構(gòu)注冊(cè)。患者選擇秘密值并生成秘密值的公開(kāi)信息。為了得到部分公鑰/私鑰對(duì),pt會(huì)把秘密值對(duì)應(yīng)的公開(kāi)信息提交給mi。密鑰生成中心(kgc)處于頂級(jí),負(fù)責(zé)管理醫(yī)療機(jī)構(gòu)(mi)。kgc先檢查mi是否具有相關(guān)醫(yī)療資質(zhì),然后為mi生成部分密鑰。mi處于系統(tǒng)的第二級(jí),負(fù)責(zé)對(duì)患者的診斷和治療,并生成患者的部分密鑰。系統(tǒng)的底層是患有不同疾病和病癥的患者。來(lái)自不同醫(yī)療機(jī)構(gòu)(跨域)的患者可以安全地生成群組會(huì)話(huà)密鑰。
本發(fā)明實(shí)現(xiàn)了基于病癥匹配的患者匿名身份驗(yàn)證:為了建立安全的群組密鑰,所有參與的患者必須通過(guò)匿名認(rèn)證;患者的真實(shí)身份不能透露給其他患者;同一個(gè)群組內(nèi)的所有患者都必須具有相同的病癥;認(rèn)證過(guò)程中不能泄露關(guān)于病癥的明文信息。
本發(fā)明能夠支持動(dòng)態(tài)的患者和群組管理:系統(tǒng)提供了受時(shí)間控制的患者撤銷(xiāo)機(jī)制。根據(jù)所估計(jì)的治療時(shí)間,系統(tǒng)為每個(gè)患者分配密鑰的有效期,并將其隱性嵌入到患者的部分密鑰中。一旦過(guò)了有效時(shí)間,用戶(hù)的密鑰就會(huì)被自動(dòng)撤銷(xiāo)。此外,群組密鑰管理系統(tǒng)允許患者動(dòng)態(tài)加入或離開(kāi)群組。當(dāng)群組成員變動(dòng)時(shí),系統(tǒng)會(huì)生成新的群組會(huì)話(huà)密鑰。電子醫(yī)療社交系統(tǒng)為患者們提供了便利的途徑,來(lái)分享治療經(jīng)驗(yàn)、交流醫(yī)療信息。該系統(tǒng)的患者可以由不同的醫(yī)療機(jī)構(gòu)進(jìn)行診斷和治療,系統(tǒng)允許一組來(lái)自不同醫(yī)療領(lǐng)域的患者生成群組會(huì)話(huà)密鑰,從而建立安全的群組通信。系統(tǒng)支持患者的匿名性和可追蹤性,它將患者的身份隱藏在匿名身份(pseudonym)中,只有指定機(jī)構(gòu)才能夠恢復(fù)他們的真實(shí)身份??缬蛉航M密鑰協(xié)議保證:來(lái)自于不同醫(yī)療機(jī)構(gòu)并且具有相同病癥的認(rèn)證患者,可以生成安全的群組密鑰?;颊呃迷撁荑€建立安全的群組通信,從而保護(hù)了電子醫(yī)療社交系統(tǒng)中的患者隱私信息。系統(tǒng)還支持動(dòng)態(tài)的群組管理,當(dāng)群組成員變更時(shí),系統(tǒng)會(huì)生成新的群組會(huì)話(huà)密鑰。
s1中kgc建立包括以下步驟:
s11:以安全參數(shù)κ∈z+作為輸入,該算法輸出安全參數(shù)和系統(tǒng)主公鑰/私鑰對(duì);
s12:選擇κ比特的素?cái)?shù)p,q和橢圓曲線(xiàn)e/fq,生成的橢圓曲線(xiàn)具有生成元p;
s13:選擇
s14:選擇安全對(duì)稱(chēng)加密/解密對(duì)senc/sdec,具有對(duì)稱(chēng)密鑰空間
在本發(fā)明一實(shí)施例中,橢圓曲線(xiàn)定義如下:q為素?cái)?shù),fq是特征為素?cái)?shù)的有限域,e/fq是fq上的橢圓曲線(xiàn),并定義為e/fq={(x,y)|y2=x3+ax+bmodq};從fq中隨機(jī)選擇元素a,b并且滿(mǎn)足△=4a3+72b2≠0modq。橢圓曲線(xiàn)群g包含e/fq上的點(diǎn)和一個(gè)特殊點(diǎn)o,o稱(chēng)為無(wú)窮遠(yuǎn)點(diǎn):g={(x,y):x,y∈fq,(x,y)∈e/fq}u{o};群g上的加法運(yùn)算定義如下:假設(shè)p,q是g上的兩個(gè)點(diǎn),l是連接兩個(gè)點(diǎn)的直線(xiàn),l和橢圓曲線(xiàn)e/fq交于第三點(diǎn)r',點(diǎn)r是r'關(guān)于x軸的對(duì)稱(chēng)點(diǎn),則r=p+q,g上的標(biāo)量乘法運(yùn)算定義為:
在本發(fā)明一實(shí)施例中,s2醫(yī)療機(jī)構(gòu)注冊(cè)主要流程示意圖參見(jiàn)圖3,其包括以下步驟:
當(dāng)
1.設(shè)置秘密值:醫(yī)療機(jī)構(gòu)
2.部分密鑰提取:以kgc的主私鑰msk,
3.設(shè)置私鑰:醫(yī)療機(jī)構(gòu)
4.設(shè)置公鑰:醫(yī)療機(jī)構(gòu)
為了在醫(yī)療機(jī)構(gòu)
s3:mi負(fù)責(zé)對(duì)患者的診斷和治療,并生成患者的部分密鑰,具體包括以下步驟:
1.設(shè)置秘密值:患者
2.部分密鑰提?。阂?imgfile="bda00013088769500000626.gif"wi="82"he="62"img-content="drawing"img-format="gif"orientation="portrait"inline="no"/>的密鑰
·
·
·在收到
3.設(shè)置私鑰:患者
4.設(shè)置公鑰:患者
s4群組密鑰協(xié)商,主要流程圖參見(jiàn)圖4,其包括以下步驟:
假設(shè)患者
步驟1.
收到信息
其中
然后,
步驟2.從其他患者
如果等式成立,則確保
其中,
然后,
步驟3.收到
如果authi,0=auth0,i,則確保
新患者加入群組,包括以下步驟:
假設(shè)一組擁有較低計(jì)算能力的患者集合u0'={ptn+1,...,ptm}想要加入群組,群組成員依照如下步驟生成新的會(huì)話(huà)密鑰。
步驟1.患者
步驟2.收到患者
然后,
其中
然后,
步驟3.收到患者
如果auth'i,0=auth'0,i,則確保
患者退出群組包括以下步驟:
假設(shè)一組擁有較低計(jì)算能力的患者集合u0”={ptj+1,...,ptn}想要離開(kāi),群組成員依照如下方法生成新的會(huì)話(huà)密鑰。
然后,
然后,
收到
其中
如果auth”i,0=auth”0,i,則
以上是本發(fā)明的較佳實(shí)施例,凡依本發(fā)明技術(shù)方案所作的改變,所產(chǎn)生的功能作用未超出本發(fā)明技術(shù)方案的范圍時(shí),均屬于本發(fā)明的保護(hù)范圍。