?

一種基于區塊鏈技術的醫療數據共享模型研究

2024-01-14 09:54龍草芳江榮旺
電腦與電信 2023年9期
關鍵詞:病歷密鑰區塊

魏 爽 龍草芳 江榮旺

(三亞學院信息與智能工程學院,海南 三亞 572000)

1 引言

在數字化時代的今天,數據大量存儲在云端。醫療機構使用私有電子數據庫存儲信息,當患者由于各種原因更換醫療機構時,患者的數據就會分散在各個醫療機構中,由于缺乏統一的數據共享和管理機制,導致醫療機構之間缺乏互操作性。另外,為了維護醫院和病人的隱私,病歷都存儲在前一家醫院的私人數據庫中,醫生無法獲得病人以前的治療記錄,從而無法制定未來的診斷計劃。因此,數據查詢和共享已成為一個嚴重的問題?;谠拼鎯Φ慕鉀Q方案雖然能解決數據共享問題,但存在集中控制、安全和隱私方面的問題。而通過加密的方法盡管可以解決云服務提供商在醫療數據共享中的隱私和安全問題,但這些方案效率較低。區塊鏈的分布式架構克服了查詢過往記錄的性能瓶頸,并通過部署高效的身份驗證和授權機制維護了安全性和隱私性,因此區塊鏈技術適合醫療數據共享。

區塊鏈是一種由比特幣衍生的基于密碼學和點對點網絡的分布式賬本技術[1,2],將數據組織成特定的塊結構,這些塊按時間順序形成鏈線結構,通過使用共識算法和密碼學技術,保證了數據的完整性和安全性。塊的動態創建和驗證依賴于業務邏輯,業務邏輯使用自動化可執行機制,可進行分布式計算驗證和有效性確認,從而實現同步和防篡改。區塊鏈由于其去中心化的架構,適合用來提供準確信息,通過部署高效的認證和授權機制,保證了安全和隱私的同時克服了查詢記錄的性能瓶頸問題。這樣就方便患者查詢數據,進而提高了醫療機構的運營效率。在健康管理領域,醫療數據的存儲和共享受到了越來越多的關注。區塊鏈技術通過改變信息共享的方式,為各行業提供了無集中權威的分布式環境,帶來了革命性的影響。

本文采用線性擬合和深度學習的方法獲得了高預測精度的混合模型,稱之為“醫療鏈模型”。該模型是一個用于顯示患者信息的自動去中心化的嵌入式系統。該系統通過使用區塊鏈集成無線網絡來協助監控患者的生理動態。該獨立模型提供了完整的身份認證、授權和訪問控制,以此來維護和驗證設備、服務和管理用戶身份認證。

2 安全認證架構

醫療鏈模型對現有系統進行了簡化,有助于減少患者和醫院檢索和訪問分布式醫療信息所需的平均通信時間。該架構增強了患者和醫院在檢索醫療數據時的信任度,解決了安全認證階段存在的問題。模型部署了基于BAN(Burrows Abadi Needham,BAN)邏輯[3,4]的認證方法,維護了數據提供方和用戶之間的第三方信任,降低了系統的通信時間成本。圖1 所示為基于區塊鏈的系統體系架構,其中包括了認證機構(Certification Authority,CA)、用戶層和處理層。每個醫院的每條醫療記錄的計算哈希值都以加密形式儲存在區塊鏈網絡上。區塊鏈網絡上的節點分為設備節點、用戶節點和云節點,每個節點有其特定的功能。

圖1 系統模型結構圖

CA負責給連接到區塊鏈網絡的實體創建并發布數字證書?;颊呤褂玫墓€由CA 生成,目的是規范去中心化網絡上的信息共享并在需要的時候使用患者的私鑰解密數據。CA 負責檢查系統的運行狀態。所以,檢測和移除系統上的惡意節點也由CA負責。

用戶層包含所有的患者、醫生、設備等用戶?;颊咄ㄟ^使用私鑰獲得存儲在聯盟鏈上的醫療記錄,并通過使用公鑰加密數據和使用私鑰簽署數據,將所有與醫院就診相關的信息存儲在聯盟鏈上。

處理層包含了醫院服務器和數據庫。這些數據庫存儲了與患者相關的數據如既往病歷、檢查報告、處方等,以及醫院的數據,如醫生提供的治療、治療時間、賬目等,這些數據對應的哈希值以加密的形式存儲在區塊鏈網絡上。聯盟鏈網絡就是由這些記錄形成的鏈線結構,其中每一條記錄代表了一家特定的醫院的醫療數據,其架構圖如圖2所示。

圖2 基于區塊鏈的醫療記錄架構

2.1 雙線性映射概念

雙線性映射技術將配對的概念應用于橢圓曲線[5,6]。設G1、G2 都是階為p的循環群,p是素數。如果映射e:G1×G1→G2 滿足以下性質:對于任意a,b∈Zp和R,S∈G1,有e(Ra,Sb)=e(R,S)ab;存在R,S∈G1,使得e(R,S)≠1G2。這里1G2 代表G2 群的單位元;存在有效的算法對任意的R,S∈G1,計算e(R,S)的值。則e是一個雙線性映射。

病歷發布流程:一般來講,由于區塊鏈存儲內存限制,所有的醫院都會將病歷數據通過密碼文本、病歷哈希值、摘要及其云存儲位置等形式存儲在聯盟鏈主節點中。M是每家醫院的哈希值,用于加密病歷摘要;L表示病歷的云存儲位置。L應始終用該醫院的公鑰進行加密并發送到區塊鏈網絡。下面為該算法的步驟:

輸入:每個醫院的醫療記錄

輸出:醫療數據的交易結果

第1步:生成相應的Epubkey{Mac||H(M)||L};

第2步:將第1步生成相應的信息保存到醫療聯盟鏈中;

第3步:處理所有的交易并廣播到區塊鏈網絡中;

第4步:更新記錄,并輸出反映醫療數據的記錄。

2.2 安全認證機制

醫療鏈上共享醫療記錄的機制需要在區塊鏈網絡上存儲醫療記錄信息。當醫院H1 需要來自醫院H2 的病歷信息時,H1 使用H1 的數據和私鑰向區塊鏈網絡發送請求,醫療記錄將數據更新到聯盟鏈網絡的主節點MN。網絡上的超級節點SN負責密鑰管理和屬性生成。醫療鏈的安全認證分為三個階段:初始化、注冊和認證。表1所示為安全認證機制使用的符號說明。

表1 符號說明

(1)初始化階段

醫療鏈超級節點SN 生成密鑰對,并提供系統參數供進一步處理,系統參數表示為(L,A1,A2,q,P,e,H,h)。然后,使用醫療鏈的共識機制生成公私鑰對。

(2)注冊階段

醫院H1 在網絡上創建唯一標識ID 和隨機數R,創建所需的醫院數據請求記錄R1,形成參數Parameter=(ID,R,R1),并將該參數發送給醫療鏈網絡上的超級節點。醫療鏈上的超級節點接收到參數后,計算QID和SID并將參數通過安全通道發送給H2,表示如下:

QID=H(ID⊕R⊕R1),SID=QID*SSN,Parameter=(SID,QID)

H2收到參數后將其進行安全存儲以備將來使用。

(3)認證階段

在H1選擇隨機數后,計算X、X'、QID、r、s、U和W,如下所示。然后,H1 給區塊鏈網絡上的主節點發送時間戳參數。

X=x*P,X'=x*QMN,QID=H(ID⊕R⊕R1),r=H(ID||R||QID||QSN||X||X'||tc),s=h(X||X'||tc||R1),U=SID+x*r*QID=W=ESID(ID,R,U)

主節點收到時間戳后開始進行驗證。如果發現其無效就拒絕,否則主節點開始計算安全哈希,并使用醫院H1的公鑰解密,以獲取ID、R和U,然后創建驗證參數。如果不滿足條件,主節點就選擇隨機數。此外,主節點還會計算會話密鑰和驗證密鑰,并將參數發送給醫院H1。計算公式如下:

y∈Z*q,X′=SMN*X,s=h(X||X′||tc||R1),e(U,P)=(QID,QSN+r*xP),T=y*P,V=y*X=x*y*P,M=EQID(R||L|||(M)||Mac),SK=h(X,X,T,V),AK=(W,Tc,X,X,T,V),Parameter=(T,AK,M)

H1收到時間戳參數后,立即計算V并驗證是否成立:V=x.T and h(X,X,T,V)。如果沒通過驗證就拒絕該請求。否則,使用H1 的私鑰解密M,得到R、L、M 和Mac。至此,H1 和主節點通過驗證,獲得了與病歷、醫院H2位置索引和病人相關的所有信息。

3 認證機制有效性檢查

本節使用BAN 邏輯對前面的驗證過程進行驗證和分析。該算法通常用于定義和分析協議之間的信息交換,證明協議的有效性。圖3 所示為使用BAN 邏輯[7,8]驗證協議的工作原理。

圖3 BAN邏輯驗證流程圖

BAN 邏輯啟動后,首先檢查協議描述的參數,然后為協議的所有屬性,如協議假設、協議目標設置、會話細節管理等初始化值。如果通過BAN邏輯驗證的協議目標為true,則認為協議是安全的。

下面介紹BAN 邏輯的數學表示,BAN 邏輯用到的符號如下所示:

P believes X:P認為X為TRUE。

P sees X:在一個特定的時間(過去或者現在),P 收到消息X。

PsaidX:在某一個特定時間,P 發送了一個包含X 的消息,且在發送時PbelievesX。

PcontrolX:P 對X 有管轄權,即如果認為P 為TRUE,則也認為X為TRUE。

Fresh(X):X 在協議運行之前沒有被發送過。通常用nonces來證明新鮮度,也包括時間戳。如果沒有nonces則表示消息不新鮮。

P?KQ:P和Q共享用于通信的密鑰K。這里,除了P、Q以及P與Q信任的委托人之外,任何委托人都不能發現K。

{X}k:使用密鑰k對X進行加密。

下面列出的式子表示一些用于確定證明的邏輯規則。

(1)規則1:消息解釋規則

該規則說明了當公鑰被使用時,使用式1進行消息解釋:

用于生成公鑰的信息解釋規則,如式2所示:

(2)規則2:Nonce驗證規則

該規則如公式3所示,判斷消息的新鮮度和對發送者的信任。

(3)規則3:管轄規則

如公式4所示:

(4)規則4:評價公式

(5)規則5:公式有效性

如果任意的公式是新鮮的,那么所有公式都是新鮮的,如公式6所示:

4 結果

當應用BAN邏輯來驗證所提的算法模型時,可以發現:區塊鏈上的醫院H1和主節點MN之間的身份認證需要的時間是離散對數階。因此,所提協議實現了較高效率的同時,協議實現了在醫療鏈上存儲和共享數據的安全會話密鑰的建立。下面從存儲開銷和計算成本來展示其性能。

通過分析存儲容量和密鑰存儲要求可以計算存儲開銷。本文中,q階加法群的長度為1024,q階乘法群的長度為512,G1的長度為512,大素數的長度為160,時間戳為34。首先,計算H1 存儲密鑰的要求{SID+R+R1}=1024+64+42=1130。主節點私鑰需要區塊鏈上的155位存儲空間。

下面通過演繹法對模型進行正確性分析。區塊鏈上的醫療節點接收H1 發送的參數(W,X,R1,tc)后,需要進行授權確認和準確性計算。假設QID 為l,QSN 為m,SID 為n,SSN為o,則有:

E(U,P)=e(l,m+r*x*P)

e(n+x*r*l,P)

e(l*o+x*r*l,P)

e(l*o,P)*e(x*r*l,P)

e(l,P*o+x*r*P)

e(l,m+r*x*P)

上面的推導說明了模型的正確性。

通過采用配置為8KBRAM,128KBROM 和7.38MHz 的Atmega 128L 單片機作為平臺,對模型的計算開銷進行了評估。在時間方面采用雙線性配對,RAM和ROM使用TinyOS庫。運算時間開銷為5TG(mul)+1TG(add)+1TG(exp)+2Th,結果約為10.65秒。

5 結語

針對現存基于區塊鏈的架構無法直接應用于醫療領域,本文通過整合區塊鏈和云存儲技術,為醫療數據共享提供了一個安全的平臺??紤]到醫療行業所面臨的挑戰,所提模型保證了在成本開銷、安全共享和數據真實性方面的高性能?;趨^塊鏈和網絡模型的去中心化和安全傳輸特性,設計了一個用于數據傳輸的安全醫療鏈架構,該架構保證了安全的同時,其性能良好。

猜你喜歡
病歷密鑰區塊
探索企業創新密鑰
強迫癥病歷簿
區塊鏈:一個改變未來的幽靈
密碼系統中密鑰的狀態與保護*
“大數的認識”的診斷病歷
區塊鏈:主要角色和衍生應用
區塊鏈+媒體業的N種可能
讀懂區塊鏈
一種對稱密鑰的密鑰管理方法及系統
基于ECC的智能家居密鑰管理機制的實現
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合