研究意义与背景:
1 医疗数据激增,数据集中在就诊医院中,导致医疗数据信息孤岛问题
2 医疗数据设计个人隐私,目前的存储方式安全性低
研究目的
解决两个问题:1)患者虽然拥有数据所有权,但是对数据的处理过程只执行简单计算操作;2)数据用户只能在有效时间段内才能访问医疗数据。于是本文提出了一种基于联盟链的医疗数据安全共享方案,设计了数据安全共享协议,从而将智能合约和密文策略属性基加密技术相结合;引入智能合约,使数据用户只有在使用期限内才能访问医疗数据;采用 CP-ABE 技术,实现了对医疗数据的细粒度访问控制。
研究内容
事务结构设计
图中:Tid表示事务消息标识号;TPK表示事务发布者(医院、患者、数据用户)公钥;Transaction_type 代表事务消息类型,以 Tsto表示数据存储事务,以 Tset表示时间设置事务,以 Tget表示访问事务;Transaction_data 代表具体的事务消息数据,分别有数据存储信息、时间设置信息和访问信息;数据存储内包含元数据,时间设置包含请求者公钥和允许访问时间段,访问包含访问目标公钥和事务消息标识号;Signature_message 表示对前 4 项事务数据的消息签名;timestamp 表示消息发布的时间戳。
基于联盟链的医疗数据共享模型
本文提出的模型主要由 6 个实体组成:监管中心、云存储器、联盟链、患者、医院、数据用户。
为加强监管并识别恶意用户,本模型采用半中心化的联盟链。用户加入区块链前需要进行注册,只有注册成功才能加入联盟链。患者到医院就诊时,将访问策略签名并发给医院;医院按照访问策略对数据进行加密,将加密数据和元数据分别存入云存储器和联盟链,其中元数据包括医疗数据的存储位置、哈希值等。数据用户向患者发送访问请求,患者为其设置使用期限并存入联盟链;数据用户向联盟链提交共享请求事务来获取元数据,并根据元数据从云存储器中下载相应的数据。
基于联盟链的医疗数据共享协议
基于联盟链的医疗数据共享协议分为 3 个阶段:用户注册、数据存储、数据共享。
1) 用户注册监管中心执行初始化算法 Setup(λ) 产生主密钥 和公共参数 。每个用户向监管中心(第 3 方证书授权机构)提交相关注册信息,只有监管中心授权后才能获得公私钥对以及属性私钥和数字证书。
2)患者将访问策略 T 发送给医院,授权医院对医疗数据进行加密。
3)数据共享医疗数据的使用权限由患者控制,患者 P 可以共享数据给其他数据用户 U。
步骤 1 :数据用户向患者发送请求,请求内容包括自己的公钥 UPK、访问的时间段[ts, te](ts为开始时间,te为结束时间)、签名 Sig 和数字证书 UCert。
访问请求公式为U → P : {(UPK, [ts, te], UCert, Sig(UPK, [ts, te]))}
步骤 2: 患者首先验证数据用户的签名,并确定其访问时间是否合理。然后,患者将限时智能合约部署到联盟链网络,并创建时间设置事务,调用智能合约中 SETINTERVAL 函数为数据用户设置有效访问时间,时间设置事务的数据结构如图 2 所示。
安全性分析
防篡改:区块链上的数据区块包含一个时间戳和前一个区块的哈希值,区块中的事务消息通过Merkle 树哈希生成 Merkle 根,并将其存储在区块头部。
隐私保护:事务由发起者签名,再经节点校验后存储到联盟链上,保证了事务的安全性。
协议攻击:当数据用户请求医疗数据时,需要遵循访问控制协议,首先需要满足访问时间要求,其次需要解密医疗数据密文。
区块安全性分析:攻击者想要成功发起一次区块伪装攻击,就必须比诚实节点更快地产生一条平行链代替区块链。
结论
为了更准确地评估方案的实际性能,本文对共识机制和 CP-ABE 算法进行实验仿真。图 6 展示了在不同属性数量情况下的加解密时间。将密文中属性集的大小从 5 增加到 50,每次测试的增量为 5,观察到加解密时间是随着属性数量的增加而增加的,但都在 2 s 内完成,说明可以保证医疗数据的安全同时又能及时获得数据明文。
不同于传统的医疗数据泄露方案,基于联盟链的医疗数据安全共享方案使用智能合约和CP-ABE 来确保医疗数据共享的安全性,主要包括以下三方面的原因:1)联盟链记录了医疗数据的访问授权和访问等过程,实现了数据的安全共享和可溯源,有效防止了数据被篡改和泄露。2)使用 CP-ABE 实现医疗数据的细粒度访问控制,并将加密过程授权给医院来降低患者的计算开销。3)使用限时智能合约,因此数据用户只能在有效的访问时间内访问医疗数据,保护了患者隐私。
参考来源:学术范
A Privacy-Preserving Medical Data Sharing Scheme Based on Consortium Blockchain文献全文 - 学术范 (xueshufan.com)