本發(fā)明涉及區(qū)塊鏈、信息安全,具體涉及一種支持跨域互操作的聯(lián)盟鏈醫(yī)療數(shù)據(jù)共享通用框架。
背景技術(shù):
1、在當(dāng)今科技迅猛發(fā)展的時代,數(shù)字健康越來越受到人們的關(guān)注;安全高效的醫(yī)療數(shù)據(jù)共享為數(shù)據(jù)所有者提供了便捷的服務(wù);為了確保數(shù)據(jù)所有者的隱私得到保護(hù),醫(yī)療數(shù)據(jù)的研究和分析可以為相關(guān)領(lǐng)域提供實質(zhì)性支持,促進(jìn)相關(guān)研究工作的快速發(fā)展;然而,大多數(shù)機構(gòu)的醫(yī)療信息系統(tǒng)往往是獨立和封閉的,阻礙了有效的數(shù)據(jù)共享;這種隔離制約了大數(shù)據(jù)分析的應(yīng)用,影響了醫(yī)療數(shù)據(jù)價值的充分實現(xiàn),醫(yī)院和機構(gòu)之間缺乏互聯(lián)互通造成了嚴(yán)重的信息孤島;此外,未經(jīng)授權(quán)的跨域醫(yī)療數(shù)據(jù)共享還可能暴露患者的隱私信息;因此,在提升診療服務(wù)的同時,至關(guān)重要的是在數(shù)據(jù)安全性和開放性之間找到平衡。
2、在當(dāng)前云計算技術(shù)領(lǐng)域,數(shù)據(jù)所有者通常被要求在使用云服務(wù)時將其數(shù)據(jù)發(fā)送給云服務(wù)提供商(csp);然而,大多數(shù)現(xiàn)有的方案并不完全信任csp,只將加密數(shù)據(jù)外包給它們;區(qū)塊鏈?zhǔn)且环N去中心化的分布式賬本技術(shù),可以支持醫(yī)療機構(gòu)之間建立可信網(wǎng)絡(luò),同時通過密碼學(xué)確保交易的不變性;近年來,出現(xiàn)了大量基于區(qū)塊鏈的研究,如跨鏈、供應(yīng)鏈系統(tǒng)和物聯(lián)網(wǎng);在快速發(fā)展的數(shù)字醫(yī)療領(lǐng)域,安全高效地共享醫(yī)療數(shù)據(jù)已成為提升醫(yī)療服務(wù)和保護(hù)患者隱私的基礎(chǔ);盡管在這一領(lǐng)域取得了重大成就,但在不同信任域之間實現(xiàn)可互操作的數(shù)據(jù)共享的問題在很大程度上仍然沒有得到解決。
技術(shù)實現(xiàn)思路
1、本發(fā)明為了解決上述技術(shù)問題,提出了一種支持跨域互操作的聯(lián)盟鏈醫(yī)療數(shù)據(jù)共享通用框架,該醫(yī)療數(shù)據(jù)共享框架包括公鑰證書管理方法和醫(yī)療數(shù)據(jù)共享方法,其中醫(yī)療數(shù)據(jù)共享方法包括初始化階段和數(shù)據(jù)共享階段。
2、一種支持跨域互操作的聯(lián)盟鏈醫(yī)療數(shù)據(jù)共享通用框架,具體包括以下步驟:
3、s1、公鑰證書管理方法中,構(gòu)建公鑰證書聯(lián)盟鏈,聯(lián)盟鏈管理員驗證證書頒發(fā)機構(gòu)ca身份信息并頒發(fā)證書,用戶通過證書注冊中心ca驗證后注冊得到偽身份,證書頒發(fā)機構(gòu)ca將用戶證書上傳到公鑰證書聯(lián)盟鏈,用戶獲取其他用戶公鑰使需要提交申請同時會生成使用記錄;
4、s2、醫(yī)療數(shù)據(jù)共享方法中的初始化階段,構(gòu)建醫(yī)療數(shù)據(jù)共享聯(lián)盟鏈,權(quán)威機構(gòu)生成系統(tǒng)公鑰和主密鑰,數(shù)據(jù)所有者生成醫(yī)療數(shù)據(jù)和公鑰密文并上傳到云端,之后將醫(yī)療相關(guān)信息上傳到云端;
5、s3、醫(yī)療數(shù)據(jù)共享中方法中的數(shù)據(jù)共享階段,數(shù)據(jù)用戶分別從醫(yī)療數(shù)據(jù)共享聯(lián)盟鏈和公鑰證書聯(lián)盟鏈上獲取偽身份和公鑰,并發(fā)送共享請求;數(shù)據(jù)所有者驗證用戶身份并生成重加密密鑰并發(fā)送給云服務(wù)器;云服務(wù)器生成重加密密文發(fā)送給數(shù)據(jù)用戶,之后使用自己的私鑰解密密文并查詢得到數(shù)據(jù)所有者的公鑰,解密得到醫(yī)療數(shù)據(jù)信息。
6、優(yōu)選的,在步驟s1中,初始化構(gòu)建公鑰證書聯(lián)盟鏈,部署群組1和群組2,群組1中存儲公鑰證書,群組2中存儲公鑰使用記錄;每個信任域的證書頒發(fā)機構(gòu)ca上傳其身份id和公鑰,聯(lián)盟鏈管理員驗證身份信息;驗證成功后,頒發(fā)證書并上傳到公鑰證書聯(lián)盟鏈的群組1中,公鑰證書管理方法具體包括以下步驟:
7、s11、用戶向證書注冊中心ca發(fā)送證書注冊請求,證書注冊中心ca將自己的公鑰發(fā)送給用戶,用戶使用證書注冊中心ca的公鑰加密自己的真實身份、公鑰和公鑰算法類型并發(fā)送給證書注冊中心ca進(jìn)行驗證,證書注冊中心ca對加密的用戶身份信息進(jìn)行驗證后為用戶生成偽身份并發(fā)送給證書頒發(fā)機構(gòu)ca;
8、s12、證書頒發(fā)機構(gòu)ca收到證書注冊中心ca的消息后,為用戶生成包含證書擁有者偽身份、頒發(fā)者真實身份、公鑰、公鑰哈希、公鑰類型、證書有效期和證書備注的證書,并將生成的用戶偽身份發(fā)送給用戶,并將證書以交易的形式上傳到公鑰證書聯(lián)盟鏈的群組1中;
9、s13、每次用戶請求公鑰時,基礎(chǔ)設(shè)施會生成公鑰使用記錄,并將其上載到公鑰證書聯(lián)盟鏈的群組2中;
10、s14、用戶想要獲取其他用戶公鑰時,用戶需要通過接口向公鑰證書聯(lián)盟鏈提交請求;公鑰證書聯(lián)盟鏈通過智能合約自動查詢公鑰發(fā)送給用戶,并生成公鑰使用記錄,上傳到聯(lián)盟鏈的群組2中;
11、s15、用戶想要查詢其他用戶公鑰時,需要向公鑰證書聯(lián)盟鏈發(fā)送公鑰查詢請求,該請求包括用戶自己的偽身份和需要建立通信的目標(biāo)用戶偽身份;
12、s16、收到請求后,公鑰證書聯(lián)盟鏈自動調(diào)用智能合約查詢對應(yīng)的公鑰,并提供給用戶;同時,自動創(chuàng)建該公鑰的使用記錄,并將其上傳到公鑰證書聯(lián)盟鏈的群組2中;
13、s17、當(dāng)公鑰的所有者想要查看他們的公鑰的使用情況時,他們通過調(diào)用智能合約來獲得公鑰使用記錄。
14、優(yōu)選的,在步驟s2中,初始化階段具體包括以下步驟:
15、s21、構(gòu)建醫(yī)療數(shù)據(jù)共享聯(lián)盟鏈,部署群組1和群組2,醫(yī)療數(shù)據(jù)共享聯(lián)盟鏈的群組1中存儲醫(yī)療數(shù)據(jù)信息,群組2中存儲醫(yī)療數(shù)據(jù)使用記錄,權(quán)威機構(gòu)根據(jù)每個系統(tǒng)使用的不同公鑰算法生成數(shù)據(jù)共享系統(tǒng)的公鑰和系統(tǒng)的機密主密鑰;
16、s22、數(shù)據(jù)共享之前,數(shù)據(jù)所有者在本地生成一對公私鑰;之后使用密鑰對醫(yī)療數(shù)據(jù)明文、數(shù)據(jù)編號、數(shù)據(jù)所有者的偽身份、醫(yī)生的偽身份、醫(yī)療數(shù)據(jù)的哈希值、以及醫(yī)生對哈希結(jié)果的簽名進(jìn)行加密生成醫(yī)療數(shù)據(jù)信息密文;使用公鑰加密對稱密鑰和對稱密鑰算法類型,生成公鑰信息密文;之后,數(shù)據(jù)所有者將和公鑰信息密鑰上傳至云端;
17、s23、在獲取到云端返回的云存儲地址后,將醫(yī)療數(shù)據(jù)關(guān)鍵字、數(shù)據(jù)的哈希、證書的交易哈希、數(shù)據(jù)所有者的偽身份和云存儲地址通過智能合約上傳到醫(yī)療數(shù)據(jù)共享聯(lián)盟鏈的群組1中。
18、優(yōu)選的,在步驟s3中,醫(yī)療數(shù)據(jù)共享方法中,數(shù)據(jù)共享階段具體包括以下步驟:
19、s31、數(shù)據(jù)用戶調(diào)用智能合約從醫(yī)療數(shù)據(jù)共享聯(lián)盟鏈上獲取數(shù)據(jù)所有者的偽身份和需要的醫(yī)療數(shù)據(jù)及醫(yī)療數(shù)據(jù)相關(guān)信息;
20、s32、數(shù)據(jù)用戶基于在相關(guān)信息中存儲的數(shù)據(jù)所有者證書的交易哈希,數(shù)據(jù)用戶查詢公鑰證書聯(lián)盟鏈中的數(shù)據(jù)所有者證書以獲得數(shù)據(jù)所有者的公鑰,智能合約自動生成公鑰使用記錄并存儲到公鑰證書聯(lián)盟鏈的群組2中,根據(jù)證書中的公鑰類型在本地生成對應(yīng)的公私鑰對,然后請求證書頒發(fā)機構(gòu)ca頒發(fā)新的證書;公私鑰對將用于與數(shù)據(jù)所有者通信;
21、s33、數(shù)據(jù)用戶向數(shù)據(jù)所有者發(fā)送醫(yī)療數(shù)據(jù)共享請求;請求內(nèi)容包括偽身份、所請求的醫(yī)療數(shù)據(jù)的存儲地址、以及存儲數(shù)據(jù)用戶的證書的交易哈希;
22、s34、數(shù)據(jù)所有者在公鑰證書區(qū)塊鏈上獲取數(shù)據(jù)用戶的公鑰來驗證數(shù)據(jù)用戶的身份,智能合約自動生成公鑰使用記錄并存儲到公鑰證書聯(lián)盟鏈的群組2中;如果驗證成功,數(shù)據(jù)所有者將使用數(shù)據(jù)用戶的公鑰、自己的公鑰及其私鑰生成重加密密鑰;否則,數(shù)據(jù)共享請求被拒絕;
23、s35、數(shù)據(jù)所有者向云服務(wù)提供者發(fā)送醫(yī)療數(shù)據(jù)共享請求和相關(guān)信息;
24、s36、云服務(wù)提供者通過公鑰證書聯(lián)盟鏈驗證請求者的偽身份;在驗證成功后,云服務(wù)提供者使用重加密密鑰將用數(shù)據(jù)所有者公鑰加密的公鑰信息密文轉(zhuǎn)換為新的公鑰信息密文;之后,云服務(wù)提供者將新的公鑰信息密文和醫(yī)療數(shù)據(jù)信息密文發(fā)送給數(shù)據(jù)用戶,云服務(wù)提供者通過智能合約在醫(yī)療數(shù)據(jù)共享聯(lián)盟鏈上生成醫(yī)療數(shù)據(jù)使用記錄并存儲在聯(lián)盟鏈的群組2中;
25、s37、當(dāng)從云服務(wù)提供者接收到新的公鑰信息密文和醫(yī)療數(shù)據(jù)信息密文時,數(shù)據(jù)用戶使用私鑰來解密新的公鑰信息密文從而獲取到數(shù)據(jù)擁有者的公鑰和公鑰類型;隨后,使用數(shù)據(jù)擁有者的公鑰來解密醫(yī)療數(shù)據(jù)信息密文,得到醫(yī)療數(shù)據(jù)明文和其他信息。
26、與現(xiàn)有技術(shù)相比,本發(fā)明具有以下技術(shù)效果:
27、現(xiàn)有的醫(yī)療數(shù)據(jù)共享方案缺乏底層基礎(chǔ)設(shè)施的支持,存在安全性問題,使得數(shù)據(jù)擁有者和使用者不能互相信任,從而導(dǎo)致信息共享的效率低下;本發(fā)明采用公鑰證書聯(lián)盟鏈和醫(yī)療數(shù)據(jù)共享聯(lián)盟鏈相結(jié)合的策略,保證了不同信任域之間數(shù)據(jù)共享所必需的證書和密鑰的安全管理;該方案不僅保證了數(shù)據(jù)共享的安全可靠,而且引入了一種有效隔離數(shù)據(jù)和服務(wù)的群組架構(gòu),同時采用代理重加密技術(shù)和云計算服務(wù),減輕了用戶的計算負(fù)擔(dān),最大限度地降低了數(shù)據(jù)泄露的風(fēng)險。