劉秉峰 韓智偉



摘? 要:醫院數據庫中存放著大量的患者信息,為提高醫療數據的安全性,基于區塊鏈設計醫院數據庫安全訪問控制方法。引入許可操作數據集,使用多項式進行求解,生成訪問控制權限表達式,基于區塊鏈設置數據庫訪問控制權限。建立訪問控制模型,劃定不同節點之間的關系,得到數據庫安全訪問控制方法。實驗結果表明,在該訪問控制方法下,當數據量小于1×105時,數據的增加不會對訪問耗時造成影響,但是當數據量增長到1×105量級時,該訪問控制方法的耗時會隨著數據量的增加而同步增長。
關鍵詞:區塊鏈;醫院數據庫;數據庫安全;訪問控制
中圖分類號:TP391? 文獻標識碼:A? ? 文章編號:2096-4706(2023)08-0048-03
Abstract: A large amount of patient information is stored in the hospital database. In order to improve the security of medical data, the hospital database security access control method is designed based on the blockchain. The permission operation data set is introduced, the polynomial is used to solve, the access control permission expression is generated, and the database access control permission is set based on the blockchain. It establishes the access control model, delimits the relationship between different nodes, and obtains the database security access control method. The experimental results show that under this access control method, when the data volume is less than 1×105, the increase of data will not affect the access time consumption, but when the data volume grows to the order of 1×105, the time consumption of this access control method will increase synchronously with the increase of data volume.
Keywords: blockchain; hospital database; database security; access control
0? 引? 言
互聯網數字化技術和云平臺的發展,使得更多的數據開始從紙上向電子設備轉移,這種趨勢不僅體現在商業領域,還輻射到生活、學習、工作、醫療等多個領域。在醫院內部,可穿戴設備和移動應用程序為患者的身體數據提供了更有力的支持,醫生可以實時跟蹤患者的癥狀,并結合疾病協作護理提出更為精確合理的治療方案。生活條件的提高使得人均壽命越來越長,這將導致全球人口老齡化,醫療數據也因此變得越來越重要。各醫院的電子醫療記錄,都保存著眾多私人醫療數據,病人的各種醫療數據分散在不同的醫院,一旦患者進入另一家醫院就醫,那么患者在前一家醫院內留存的數據就無法被應用,新醫院需要重新采集患者的醫療數據。這樣不僅會浪費大量的數據空間資源,甚至還會導致醫療事故的發生。即使想要從前一家醫院導出數據,也需要經過一系列復雜的步驟。這就為醫療數據的共享提供了現實基礎。然而,醫療數據的共享可能會給數據提供者帶來巨大的隱私風險,因此本文基于區塊鏈設計一種醫院數據庫的安全訪問控制方法。
1? 基于區塊鏈設置數據庫訪問控制權限
想要得到數據庫安全訪問控制方法,需要首先建立內容權限模塊,對不同用戶授予不同的訪問權限,防止權限等級不足的用戶登錄,在本文中建立醫院數據庫的區塊鏈結構,如圖1所示。
根據上述分析,當用戶在圖1的區塊鏈結構中發出訪問請求后,結合式(3)的訪問權限表達式,建立用戶操作權限的集合,并將相關數據發送給控制系統的訪問判別器,以此判斷該用戶是否具備訪問權限。當通過權限認證后,用戶獲取目標醫院數據,當訪問權限通不過認證時,拒絕用戶的訪問請求。
2? 建立訪問控制模型
在傳統的醫療記錄解決方案中,醫療記錄資料的存儲與實時查看,往往會受到授權和公共部門工作效率的限制。例如患者前往A醫院進行身體檢查,但是A院的設備條件有限,所以不得不轉至B院,患者拿到屬于自己醫療記錄的整個過程,需要醫生簽字蓋章授權。由于我國大多數公辦醫院常年都處于人數飽和狀態,患者需要提前預約,而在成功找到醫療記錄后排隊領取的過程又十分復雜。對于患者來說,這將產生較大的時間成本,如果患者病情嚴重將會對患者的生命安全造成嚴重威脅。除此之外,患者一旦不小心丟失了紙質病例記錄,還會對患者的后續就醫造成一定的影響,無法保障醫療記錄的完整性,自然想要跨域就醫就無法提供具體的可信記錄。隨著醫療技術水平的不斷提升,患者需要檢查的項目也逐漸增多,所以完整保存醫療記錄EMR至關重要。在患者醫療記錄EMR內通常存儲著海量的隱私信息,應當如何保障這類信息的安全性,避免不法分子惡意盜取醫院數據庫的EMR信息。
鑒于此,本文引入區塊鏈技術試圖解決醫療記錄EMR領域的核心問題:1)如何安全有效儲存患者的EMR?2)如何實時上傳EMR?3)如何設置訪問控制過濾非法者?4)如何方便跨域下載EMR,設計了三個基于Ethereum的智能合約:文件同步合約、授權合約和跨域獲取合約。上文中對數據庫的訪問權限進行了限制,只有一部分擁有權限的用戶才能訪問特定的數據,由此可以建立訪問控制模型,其節點之間的關系如圖2所示。
在上述的關系節點中,存在身份與數據兩類基本屬性,這兩個屬性與身份數據和共享記錄連接在一起,結合區塊鏈,得到本文的訪問控制節點。在該框架下,首先需要對訪問數據與訪問身份進行初始化處理,計算系統主密鑰。同時生成用戶密鑰,對待分享的數據進行加密。這些數據均需要保存在區塊鏈中,作為備份數據。
根據上述過程建立訪問控制模型,對公鑰和私鑰進行配對,選擇并公開部分共享醫院數據,并根據所提供的主密鑰,恢復系統數據?;趫D1內容審查交易請求,當驗證成功時,標志著審查成功,用戶節點之間可以建立訪問及共享關系,以此實現醫院數據的安全訪問。
3? 實驗研究
3.1? 實驗設計
為測試上文中所設計基于區塊鏈的醫院數據庫安全訪問控制方法的有效性,本文對其共享內容的監管進行了仿真設計。
如圖3所示,某市某醫院數據庫中包含了多種醫療數據,由于各個醫院就醫環境不同,病人自身體質存在較大差異,因此數據庫的類型和組成架構也不盡相同,這都將導致數據庫中的業務邏輯表呈現出復雜多變的特征。在本次的設計方案中,以該醫院為實驗對象,首先從該醫院數據庫內提取出十萬條以上的個人模擬數據作為觀察算法效率的主體。其次,通過botstrap建立節點地址存儲方案,將fatfs和levelds作為本實驗內醫院數據的存儲結構,并將倒數第二、三個字符進行分片處理。在以區塊鏈為核心的訪問控制測試中,對醫院數據庫內不同類型的文件以及不同大小的數據庫加密方式進行安全解密測試,并采用AES為加密基礎,結合AES密鑰和KAs算法,設計了本文的方案。
3.2? 實驗結果與分析
在對醫院數據庫內的數據集進行安全訪問的同時,可以得知其訪問步驟共分為5個階段,分別是Setup、Keygen、enc、delegate、Dec,分別測試其在不同記錄數目下的耗時。
如表1所示,當數據量在1 000~10 000條之間時,Setup階段的訪問耗時在600~800 ms之間,不隨數據量的增加而發生線性變化。在Keygen階段,訪問耗時在100~300 ms之間,同樣不隨數據量的增加而產生正比例的增加趨勢。在enc階段,數據的訪問耗時在100~200 ms之間。在delegate階段,訪問耗時在400~500 ms之間。在Dec階段,訪問耗時在300~400 ms之間。由實驗數據可知,當數據量在10 000條以下時,數據量的增加不會導致訪問耗時的同比例增加,各階段運行所需時間均在一定范圍之內。
如表2所示,當數據量在10 000~100 000條之間時,各階段的訪問耗時不規則。其中Setup階段的訪問耗時在500~900 ms之間,不隨數據量的增加而持續性增長。在Keygen階段,隨著數據量的增加,訪問耗時同步增長,由數據量為10 000條時的1 257.7 ms增長為數據量為100 000條時的5 643.7 ms。在enc階段,數據量與訪問耗時的增長趨勢相同,由1 188.7 ms增長至3 516.7 ms。在delegate階段,訪問耗時隨機變化,在500~600 ms之間。在Dec階段訪問耗時由565.4 ms增長至996.1 ms。
如表3所示,當數據量在100 000~1 000 000之間時,訪問耗時與數據量等比增長,在Setup、Keygen、enc、delegate、Dec五個階段,其訪問耗時的最小值與最大值分別為1 258.5~1687.6 ms、1 656.6~2 054.2 ms、2 378.6~4 452.0 ms、2 655.6~6464.3 ms、2 263.6~5 753.2 ms。綜上所述,當數據量較少時,數據的增加不會對訪問耗時造成影響,但是當數據量增長到一定程度時,本文訪問控制方法的耗時會隨著數據量的增加而同步增長。
4? 結? 論
醫院數據庫涉及患者信息、用藥信息、醫療方案等多類型數據,一旦遭到攻擊或泄露,將對患者和醫院自身造成不可挽回的損失。為保證醫院數據庫訪問安全,本文設計一種基于區塊鏈的醫院數據庫安全訪問控制方法。首先,基于區塊鏈技術設置了醫院數據庫訪問控制權限,對用戶訪問進行限制;然后建立訪問控制模型,實現用戶和數據庫之間的連接;最后設計了相關測試,驗證了該方法可以提高訪問控制的安全性,防止患者的醫療數據泄漏。結合該訪問安全控制方法,可以使各醫院的聯合數據庫得到安全保障。
參考文獻:
[1] 譚靚潔,李永飛,吳瓊.基于區塊鏈的煤礦安監云數據安全訪問模型研究 [J].工礦自動化,2022,48(5):93-99.
[2] 謝芳.基于數據庫安全和云平臺的農機零件庫安全體系研究 [J].農機化研究,2022,44(9):152-155.
[3] 付永貴,朱建明.基于區塊鏈的數據庫訪問控制機制設計 [J].通信學報,2020,41(5):130-140.
[4] 劉雪貞,孫從翔.基于區塊鏈技術的安全訪問控制機制 [J].信息與電腦,2020,32(7):191-193.
[5] 吳曉暉,黃昌軍,吳夢蝶,等.區塊鏈技術在訪問控制的研究進展 [J].科技風,2020(35):102-103.
作者簡介:劉秉峰(1986.07—),男,漢族,山東濰坊人,工程師,碩士,研究方向:計算機應用;韓智偉(1985.10—),男,漢族,山東濰坊人,工程師,碩士,研究方向:軟件工程。