2. 福州大学至诚学院, 福州 350002;
3. 福建师范大学 网络与数据中心, 福州 350117
2. Fuzhou University Zhicheng College, Fuzhou 350002, China;
3. Network and Data Center, Fujian Normal University, Fuzhou 350117, China
随着物联网技术、人工智能和区块链等技术的不断发展, 智慧医疗也在逐步发展. 可穿戴设备、智能传感器等产生大量的医疗数据. 为方便数据共享, 越来越多的医疗机构开始将医疗数据存储到云服务器中. 但是医疗数据涉及了大量的患者隐私信息, 一旦云服务器被攻击或者在共享过程中被未经授权的用户获取, 可能造成医疗数据被篡改或者患者隐私信息遭到泄露. 因此保证存储在云服务器中的医疗数据不被未经授权的用户获取是非常重要的[1–3].
Goyal等[4]为了解决电子病历共享过程中隐私泄露问题, 提出了一种基于密文策略属性加密算法的细粒度访问控制方案, 并将加密后的电子病历存储在云服务器上, 通过云服务器实现医疗机构之间的电子病历共享. 基于密文策略的属性加密方案不仅实现了细粒度的数据访问控制也可以对电子病历进行了加密. Yang等[5]将区块链和属性加密相结合, 实现了医疗数据的安全共享. 首先, 对医疗数据进行加密, 并将密文存储到云服务器中. 而后将加密数据的存储地址和医疗相关信息上传到区块链中, 这样不仅可以确保数据高效率的存储, 而且缓解了区块链的存储开销. 其次, 为了解决医疗数据隐私和签名者身份泄露问题, 同时也要保证医疗数据源真实可信的问题, 该方案将基于属性的加密(attribute-based encryption, ABE)和基于属性的签名(attribute-base signature, ABS)相结合. Wu等[6]为了解决电子病历安全共享问题, 提出了一种基于联盟区块链和代理重加密的电子病历共享方案. 此方案中的电子设备连接到区块链网络, 通过自动执行区块链链代码确保数据访问的安全性; 基于属性的访问控制方法保证了对数据的细粒度访问; 代理重加密技术可以保证相对敏感数据的安全共享和传输.
Sun等[7]利用区块链和智能合约技术, 提出了一种分布式电子病历搜索方案. 首先基于属性的加密方法加密数据, 而后将其存储到星际文件系统(interplanetary file system, IPFS)中. 然后, 将电子病历的加密关键字索引信息存储到区块链上, 通过部署在区块链上的智能合约实现关键字搜索. 应作斌等[8]将变色龙哈希和零知识证明结合解决区块链上恶意用户追踪溯源问题. 然后提出基于多个解密机构的属性基加密方案, 解决了密钥管理中的单点故障问题. Lee等[9]引入区块链和智能合约技术, 建立一个医疗区块链. 实现患者共享病历时对其隐私进行保护. Lai等[10]为了解决医疗数据安全共享问题, 将可追踪环签名和区块链相结合. 首先提出一种分布式密钥生成的无证书可追踪环签名算法, 以保证数据完整性和隐私保护. 其次, 智能合约结合访问控制和自控制对象(self controlled objects, SCO)可以实现解密外包和数据共享. 此外, 该方案利用IPFS存储海量的医疗隐私数据, 并对哈希索引进行加密存储, 提高了数据共享的效率. 最后, 结合区块链选择代理节点, 并使用共识机制将SCO包上传到区块链节点进行数据共享. Jiang等[11]将Tangle集成到物联网区块链中, 并在数据管理背景下构建了跨链交互式分散模型[12], 解决了数据存储和物联网区块链的隐私问题.
从上述方案讨论可以看出, 目前在医疗数据领域, 利用区块链来进行医疗数据的访问控制, 解决医疗数据的隐私泄露问题. 但随着医疗数据的不断增加, 应用的不断增多, 区块链的存储瓶颈成为发展瓶颈, 同时也出现了医疗机构之间数据共享不畅, 出现数据孤岛问题[13]. 同时数据隐私也是数据共享面临的关键问题. 针对医疗数据孤岛问题和医疗数据共享过程中的数据隐私问题. 本文主要研究工作如下.
1)提出一种基于跨链的医疗数据安全共享方案, 解决医疗数据共享过程中加密数据的搜索和细粒度访问控制.
2) 访问策略隐藏, 未经授权的数据用户不能从访问策略中获得任何属性信息. 同时, 将访问控制和关键字搜索, 数据加密相结合, 只有两者都匹配, 用户才能解密数据.
3)利用IPFS存储医疗数据密文, 区块链只存储密文在IPFS中的存储地址和密钥的密文. 这不仅缓解了区块链的存储压力, 也实现了细粒度的数据访问控制.
2 预备知识 2.1 属性基加密属性基加密(ABE)[14]的思想来源于模糊身份基加密(fuzzy identity-based encryption, FIBE), 属性基加密的思想是让密文和密钥与属性集合和访问结构产生关联, 当且仅当属性集合满足访问结构的时候, 方能解密成功.
2.2 可搜索加密当数据存储在一个不可信的服务器时, 为了让服务器不能够了解到数据内容, 需要对数据加密后再存储. 为了实现在加密后的数据上进行关键词检索, 提出了可搜索加密(searchable encryption, SE)的思想[15]. SE分为对称可搜索加密(symmetric searchable encryp-tion, SSE)和非对称可搜索加密(asymmetric searchable encryption, ASE). 两者的区别在于SSE使用对称加密算法, 加密和解密的密钥一样; ASE使用非对称加密算法.
2.3 双线性映射(1)双线性: 对于
(2)可计算性: 对于
(3)非退化性:
Decisional bilinear Diffie-Hellman (DBDH)困难问题假设[17],
Decisional Diffie-Hellman (DDH)困难问题假设[18],
本文涉及的符号描述如表1所示.
3 本文方案 3.1 系统模型
如图1所示, 本文提出的系统模型由6个实体组成: 属性授权中心、患者、数据使用者、IPFS和区块链.
1)属性授权中心(attribute authorities, AA). 属性授权中心负责管理用户属性并生成用户属性密钥.
2)患者(data owner, DO). 医疗数据所有者, 使用对称加密算法对医疗数据进行加密并将其存储到IPFS中. 同时为对称加密密钥和搜索关键字设置访问控制策略, 并将其上传到区块链.
3)数据使用者(data user, DU). 主要是医护人员或研究员, 用户生成关键字搜索陷门, 区块链节点进行搜索匹配, 当关键字匹配, 且数据使用者的属性满足患者所设置的访问控制策略时, 数据使用者便可以获得用于解密医疗数据密文的密钥, 从而对医疗数据密文进行解密.
4) IPFS. 存储医疗数据所有者将加密后的数据. 在降低区块链存储开销的同时, 实现密文数据的分布式存储.
5)数据主链. 存储医疗数据的关键字密文和IPFS中的地址以及对称加密密钥的密文. 保证医疗数据的不可篡改.
6)中继链. 主要用于数据主链的跨链管理, 以及跨链信息验证与存储.
7)跨链网关. 是中继链和数据主链的中转站, 负责监听数据主链的跨链请求消息, 用于转发跨链请求.
3.2 属性基可搜索加密医疗数据共享方案定义
1)系统初始化阶段
输入一个安全参数
2)密钥生成阶段.
输入公共参数
3)数据加密阶段
使用对称加密算法加密原始的医疗数据, 将密文上传到IPFS中存储, IPFS返回其存储地址
4)数据搜索阶段
输入公共参数
5)数据使用者解密阶段
首先, 数据使用者从区块链获得密钥密文
当数据主链A的用户想要获得数据主链B上的患者的数据时, 数据主链A的用户可以通过该跨链架构查询获取数据. 跨链查询流程如图2所示.
首先, 数据主链A发起跨链查询请求. 跨链网关A监听到跨链请求事件. 跨链网关A将跨链请求转发到中继链. 中继链收到跨链请求后, 首先对请求进行验证, 验证通过后, 将请求信息存储到中继链节点上并转发给跨链网关B, 网关B将收到的请求转给数据主链B, 数据主链根据请求, 调用相应的智能合约. 因为查询反馈也是跨链的, 所以数据主链B将查询到的数据返回给数据主链A的过程, 与数据主链A发送跨链查询给数据主链B的过程一致. 既跨链网关B转发数据给中继链, 中继链转发给跨链网关A, 跨链网关A将数据转给数据主链A.
3.4 安全模型本文方案安全模型通过敌手Att和挑战者C之间的挑战游戏进行刻画, 具体过程如下.
游戏1. 关键字不可区分性.
1)初始化阶段. 首先挑战者C运行初始化算法, 获得公共参数
2)密钥询问阶段. 敌手Att向挑战者C进行属性私钥询问, 但所询问的属性不能满足要挑战的访问结构
3)挑战阶段. 敌手Att向挑战者C发送两个等长关键字
4)猜测阶段. 敌手Att输出猜测
定义1. 如果存在敌手Att能够在多项式时间内以优势
游戏2. 陷门不可区分性.
1)初始化阶段. 首先挑战者C运行初始化算法, 获得公共参数
2)密钥询问阶段. 敌手
3)挑战阶段. 敌手
4)猜测阶段. 敌手
定义2. 如果存在敌手
(1) 系统初始化阶段
输入安全参数
(2) 密钥生成阶段
属性授权中心AA根据用户属性集
1) 随机选取
2) 对
最后, 输出用户密钥
(3) 数据加密阶段
1) 医疗数据第1次加密与存储. 患者首先使用AES对称加密算法, 通过AES加密算法的密钥
$ {C_M} = En{c_{AES}}(\sigma , M) $ |
为了降低区块链的存储开销, 将密文
2)数据第2次加密与存储. 用户设置访问控制策略
(3)关键字加密阶段
数据拥有者DO对关键字
数据拥有者将密文的存储地址
(4) 数据搜索阶段
数据使用者DU先进行陷门生成, 输入关键字
数据搜索, 用户提交搜索陷门
$ \begin{split} \theta & = \frac{{\displaystyle\prod\limits_{i \in I} {e{{({g^\beta } \cdot {T_1}, {C_{1, i}})}^{{\omega _i}}}} }}{{\displaystyle\prod\limits_{i \in I} {e{{({T_2}, {C_w})}^{{\omega _i}}}} }} \\ & = \frac{{\displaystyle\prod\limits_{i \in I} {e{{({g^\beta } \cdot {{({H_1}(w) \cdot {H_2}(att))}^{{\vartheta _i}}}, {g^{\mu {\lambda _i}}})}^{{\omega _i}}}} }}{{\displaystyle\prod\limits_{i \in I} {e{{({g^{\mu {\vartheta _i}}}, {{({H_1}(kw) \cdot {H_2}(\rho (i)))}^{{\lambda _i}}})}^{{\omega _i}}}} }} \\ & = \prod\limits_{i \in I} {e({g^\beta }, {g^{\mu {\lambda _i}{\omega _i}}}) = e({g^\beta }, {g^{\mu s}})} \end{split} $ |
验证
(5) 数据使用者解密阶段
如果用户属性满足访问控制策略, 则计算
$ {\sigma {'}} = \frac{{{C_0} \cdot D}}{{e(C, {\textit{SK}}_{u1})}} = \frac{{\sigma \cdot e{{\left( {g, g} \right)}^{\alpha s}}e{{(g, g)}^{t\mu s}}}}{{e({g^s}, {g^\alpha }{g^{\mu t}})}} = \sigma $ |
数据使用者根据IPFS下载链接
定理1. 如果在多项式时间内, 敌手
通过刻画敌手
1)初始化阶段. 首先挑战者
2)密钥询问阶段. 敌手
3)挑战阶段. 敌手
4)猜测阶段. 敌手
因此, 如果敌手
定理2. 如果在多项式时间内, 敌手
通过刻画敌手
1) 初始化阶段. 首先挑战者
2) 密钥询问阶段. 敌手
然后将私钥
3) 挑战阶段. 敌手
4) 猜测阶段. 敌手
因此, 如果敌手
如表2所示, 本文方案与文献[19-22]在访问控制策略、可搜索、策略隐藏和区块链技术方面的功能对比, 可以看出, 本文方案在功能上有一定的优势.
5.2 仿真实验分析本节仿真实验是基于Ubuntu 20.04系统, i5-7500 3.40 GHz, 8 GB运行内存, 构建Hyperledger Fabric v1.4.2联盟链.
5.2.1 区块链网络性能
测试区块链查询数据与写入数据的性能. 不同并发量下区块链的读写性能如图3所示, 实验结果表明, 随着并发量的增加, 区块链的读写时延也在逐渐地增加, 在并发量为300 TPS时, 查询平均时延为2 134.41 ms, 写入的平均时延为4 239.72 ms.
5.2.2 数值实验分析
本节实验是在虚拟机上运行Linux系统, 利用JPBC库, 采用Java语言进行编程.
图4是用户密钥生成时间与用户属性个数之间的关系, 将本文方案与文献[19,23]方案进行对比, 由图4可知, 用户的属性数量影响着用户密钥生成时间耗费. 随着用户属性数量的增加, 用户密钥生成时间也在增加.
图5是本文方案的加解密时间与属性个数的关系. 加密时间由AES算法加密数据的时间和CP-ABE算法加密AES密钥的时间组成. 解密时间由CP-ABE算法解密AES密钥的时间和AES算法解密数据的时间组成. 从图5可知, 用户加解密所消耗的时间与用户的属性数量呈线性关系. 数据解密时间的整体消耗要低于加密时间消耗.
6 结束语
为了解决医疗机构之间医疗数据共享困难的问题, 本文提出基于跨链的医疗数据安全共享方案. 为了保护的患者隐私信息, 使用CP-ABE算法进行细粒度的访问控制. 此外, 利用可搜索加密技术使数据用户可以快速查找到数据同时, 不泄露任何搜索信息. 同时使用IPFS存储医疗数据密文, 将存储地址和密钥存储到区块链中, 以缓解区块链存储压力. 实验结果表明了本文方案在医疗数据传输和共享方面是可行的.
[1] |
Saini A, Zhu QY, Singh N, et al. A smart-contract-based access control framework for cloud smart healthcare system. IEEE Internet of Things Journal, 2021, 8(7): 5914-5925. DOI:10.1109/JIOT.2020.3032997 |
[2] |
Shen BQ, Guo JZ, Yang YL. MedChain: Efficient healthcare data sharing via blockchain. Applied Sciences, 2019, 9(6): 1207. DOI:10.3390/app9061207 |
[3] |
Sun J, Yao XM, Wang SP, et al. Blockchain-based secure storage and access scheme for electronic medical records in IPFS. IEEE Access, 2020, 8: 59389-59401. DOI:10.1109/ACCESS.2020.2982964 |
[4] |
Goyal V, Pandey O, Sahai A, et al. Attribute-based encryption for fine-grained access control of encrypted data. Proceedings of the 13th ACM Conference on Computer and Communications Security. Alexandria: ACM, 2006. 89–98.
|
[5] |
Yang XD, Li T, Pei XZ, et al. Medical data sharing scheme based on attribute cryptosystem and blockchain technology. IEEE Access, 2020, 8: 45468-45476. DOI:10.1109/ACCESS.2020.2976894 |
[6] |
Wu S, Du J. Electronic medical record security sharing model based on blockchain. Proceedings of the 3rd International Conference on Cryptography, Security and Privacy. Kuala Lumpur: ACM, 2019. 13–17.
|
[7] |
Sun J, Ren LL, Wang SP, et al. A blockchain-based framework for electronic medical records sharing with fine-grained access control. PLoS One, 2020, 15(10): e0239946. DOI:10.1371/journal.pone.0239946 |
[8] |
应作斌, 斯元平, 马建峰, 等. 基于区块链的分布式EHR细粒度可追溯方案. 通信学报, 2021, 42(5): 205-215. |
[9] |
Lee JS, Chew CJ, Liu JY, et al. Medical blockchain: Data sharing and privacy preserving of EHR based on smart contract. Journal of Information Security and Applications, 2022, 65: 103117. DOI:10.1016/j.jisa.2022.103117 |
[10] |
Lai CZ, Ma Z, Guo R, et al. Secure medical data sharing scheme based on traceable ring signature and blockchain. Peer-to-Peer Networking and Applications, 2022, 15(3): 1562-1576. DOI:10.1007/s12083-022-01303-w |
[11] |
Jiang YM, Wang CX, Huang Y, et al. A cross-chain solution to integration of IoT tangle for data access management. Proceedings of the 2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData). Halifax: IEEE, 2018. 1035–1041.
|
[12] |
Jin H, Dai XH, Xiao J. Towards a novel architecture for enabling interoperability amongst multiple blockchains. Proceedings of the 38th IEEE International Conference on Distributed Computing Systems (ICDCS). Vienna: IEEE, 2018. 1203–1211.
|
[13] |
Lin SF, Kong YH, Nie ST, et al. Research on cross-chain technology of blockchain. Proceedings of the 6th International Conference on Smart Grid and Electrical Automation (ICSGEA). Kunming: IEEE. 2021. 405–408.
|
[14] |
Yan XX, Ni H, Liu Y, et al. Privacy-preserving multi-authority attribute-based encryption with dynamic policy updating in PHR. Computer Science and Information Systems, 2019, 16(3): 831-847. DOI:10.2298/CSIS180830029Y |
[15] |
Song DX, Wagner D, Perrig A. Practical techniques for searches on encrypted data. Proceedings of the 2000 IEEE Symposium on Security and Privacy. Berkeley: IEEE, 2000. 44–55.
|
[16] |
李双, 徐茂智. 基于属性的可搜索加密方案. 计算机学报, 2014, 37(5): 1017-1024. |
[17] |
葛纪红, 沈韬. 基于区块链的能源数据访问控制方法. 计算机应用, 2021, 41(9): 2615-2622. DOI:10.11772/j.issn.1001-9081.2020111844 |
[18] |
周艺华, 扈新宇, 李美奇, 等. 云环境下基于属性策略隐藏的可搜索加密方案. 网络与信息安全学报, 2022, 8(2): 112-121. DOI:10.11959/j.issn.2096-109x.2022019 |
[19] |
阳真, 黄松, 郑长友. 基于区块链与改进CP-ABE的众测知识产权保护技术研究. 计算机科学, 2022, 49(5): 325-332. DOI:10.11896/jsjkx.210900075 |
[20] |
牛淑芬, 谢亚亚, 杨平平, 等. 区块链上基于云辅助的属性基可搜索加密方案. 计算机研究与发展, 2021, 58(4): 811-821. DOI:10.7544/issn1000-1239.2021.20200041 |
[21] |
Miao YB, Ma JF, Liu XM, et al. Attribute-based keyword search over hierarchical data in cloud computing. IEEE Transactions on Services Computing, 2020, 13(6): 985-998. |
[22] |
Zheng QJ, Xu SH, Ateniese G. VABKS: Verifiable attribute-based keyword search over outsourced encrypted data. Proceedings of the 2014 IEEE Conference on Computer Communications. Toronto: IEEE, 2014. 522–530.
|
[23] |
Lewko A, Waters B. Decentralizing attribute-based encryption. Proceedings of the 30th Annual International Conference on the Theory and Applications of Cryptographic Techniques. Tallinn: Springer, 2011. 568–588.
|