基于区块链的医院数据库安全访问控制方法
2023-06-25刘秉峰韩智伟
刘秉峰 韩智伟
摘 要:医院数据库中存放着大量的患者信息,为提高医疗数据的安全性,基于区块链设计医院数据库安全访问控制方法。引入许可操作数据集,使用多项式进行求解,生成访问控制权限表达式,基于区块链设置数据库访问控制权限。建立访问控制模型,划定不同节点之间的关系,得到数据库安全访问控制方法。实验结果表明,在该访问控制方法下,当数据量小于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所示。
在上述的关系节点中,存在身份与数据两类基本属性,这两个属性与身份数据和共享记录连接在一起,结合区块链,得到本文的访问控制节点。在该框架下,首先需要对访问数据与访问身份进行初始化处理,计算系统主密钥。同时生成用户密钥,对待分享的数据进行加密。这些数据均需要保存在区块链中,作为备份数据。
根据上述过程建立访问控制模型,对公钥和私钥进行配对,选择并公开部分共享医院数据,并根据所提供的主密钥,恢复系统数据。基于图1内容审查交易请求,当验证成功时,标志着审查成功,用户节点之间可以建立访问及共享关系,以此实现医院数据的安全访问。
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—),男,汉族,山东潍坊人,工程师,硕士,研究方向:软件工程。