EHRChain_TSC’21
论文题目:EHRChain: A Blockchain-based EHR System Using Attribute-Based and Homomorphic Cryptosystem
论文地址:https://ieeexplore.ieee.org/document/9425439
Research Objective
目标: 实现医疗数据的安全性、保密性、完整性、细粒度的访问控制和可靠的数据共享
Problem Statement
-
随着技术的发展,医疗机构开始使用电子病历管理系统来收集和管理患者的个人信息
- 第三方非医疗机构通过EHR 检查患者的病历,可能泄露患者的隐私数据
- 医疗数据的集中存储, 存在严重的黑客攻击和数据泄露风险
-
EHR 具体存在以下问题:
- EHR 系统大多集中在医疗机构、患者的病历分散在不同的医疗机构
-
患者无法直接访问和控制自己的病历
-
患者无法建立完整的终身医疗记录
-
医疗机构难以安全共享数据和互操作
-
EHR 系统管理员可以直接修改医疗数据
-
在医疗纠纷中,司法很难维持中立性
-
第三方非医疗机构在理赔和查看患者病历时,侵犯患者的隐私
-
-
医疗行业迫切需要解决EHR的安全存储、可靠共享、访问控制和隐私保护问题!
- EHR 系统大多集中在医疗机构、患者的病历分散在不同的医疗机构
-
目前已有一些医疗数据管理系统致力于解决这些问题
- Apple’s Mobile Healthcare Application——提供数据不准确,已下架
- Blue Button Connector a US government-led project——数据在中心化系统中明文流通
- Google Health——跟踪、评估数据,推荐产品进行盈利
然而这些解决方案在可靠性、安全性和可追溯性方案不能满足医疗数据管理系统的要求
Methods
-
提出基于区块链的属性基加密和同态加密的EHR管理系统
-
Blockchain+IPFS的病历存储方案
-
改进了CP-ABE密文策略加密技术,设计一种半策略隐藏和同态权限更改的SHDPCPC-CP-ABE
-
基于前人改进的Paillier同态加密技术
-
-
改进的SHDPCPC-CP-ABE加密算法
- 系统架构
- 一共有五个实体:Patient、Doctor、Insurance Company、Fabric、IPFS
- Pat.可以更改访问策略,并授权医院的医生读取自己的病历
- Doc.和Pat.互传S-C-A加密的病历
- Pat.用SHDPCPC-CP-ABE下对病历进行加密,加密数据存储在IPFS
- IPFS计算的hash index存储在Fabric
- Doc.和IC基于Paillier对比Pat.病历
- 一共有五个实体:Patient、Doctor、Insurance Company、Fabric、IPFS
-
Blockchain+IPFS的存储数据
-
IPFS的Merkle DAG存储密文CT、Blockchain存储 hash index
-
Doc.诊断后生成新的医疗记录
-
Doc.用对称密钥加密医疗记录,并使用患者的公钥加密医疗数据
-
Pat.加密得到CT,提交到IPFS
Pat.通过S-C-A的Encrypt算法输出密文ct,并将密文提交到IPFS。然后IPFS将返回一个hash index到患者实体。
-
Pat.发起交易,将hash存储到SC
-
Fabric peer和orderer后形成账本
-
Pat.将SC添加结果通知给Doc.
-
-
-
半策略隐藏(semi-policy hiding)和同态权限更改(dynamic permission changing based on partial ciphertext)的SHDPCPC-CP-ABE
SHDPCPC-CP-ABE更改访问策略
0. Doc.发起访问请求
1. Pat.收到请求,更改访问策略,重新生成CT,替换部分CT 1.2更新IPFS密文
2. 更新SC中的hash index,更新Blockchain的状态数据库
3. Pat.向Doc.发授权完成通知、pk、msk
4. Doc.调取SC,检索CT
5. Doc.解密获得明文
-
改进的Paillier同态加密技术
jiang等人提出的Paillier公钥概率加密系统的改进是本文主要使用的同态加密算法。
该方案由以下四种算法组成:
安全索赔
-
Pat.出请求,保险公司用Paillier加密疾病数据
-
保险公司给Doctor发送SC和PK
-
Doc.计算𝐸(𝑀)并比对保险公司发送的疾病数据
-
保险公司解密A[n],为0则理赔
-
若保险公司质疑Pat.的索赔,可调用SC审计,经过Pat.同意,可查看病历的修改历史
-
Evaluation
-
正确性分析
- SHDPCPC-CP-ABE:根据CT/sk=M,计算密文数据即可得到明文数据
- 安全索赔:保险公司获取Doc.发回的数据,解密后数据为0,则表示为对比结果为同一疾病
-
安全分析
- SHDPCPC-CP-ABE:在选择明文攻击(IND-CPA)下具有不可区分性
- 安全索赔:保险公司不能从Doc.的A[n]中得到明文;医生无法推断Pat.的隐私保险信息
-
隐私分析
- IPFS保存CP-ABE加密后的碎片化数据,Blockchain只保存IPFS计算的hash
- SHDPCPC-CP-ABE:用户在解密时,只需要自己的属性集满足,而无法知道其他任何
- 安全索赔:Doc.只是对密文对比,无法解密,保险公司只能获取结果
-
性能分析
-
和以下5个算法对基于密文属性的加密的复杂度进行比较
- 与BCP-ABE2和BKP-ABE2[16]相比, 本算法能够实现半策略隐藏,降低复杂度
- 与Lai、Js的算法[17]相比,本算法可动态调整访问策略,密钥封装和密文的大小较少
- 比C-AB/IB-ES[18]的复杂度低 ,只有一个加密算法和密钥封装的密文大小的一半
-
评估该方案和传统CP-ABE在更新访问策略方面的性能
- 实验设备:MacOS
- 实验数据
* 使用Java基于配对的密码库 jPBC 1.2.0,随机生成1Mb的明文文本文件 ,在属性和策略数量不同的情况下,基于部分密文验证更改访问策略所需的时间
-
改进的Paillier加密效率
-
加密时候只需要两次乘法运算,进一步提高系统的效率
-
与[26] 相比效率提升将近了 1倍
-
-
-
EHRChain系统性能
-
Fig. 8 病历加密-存储在Blockchain中的hash index的时间基本维持在5秒左右
-
Fig. 9 EHRChain系统获取和解密病历的整个过程时间也保持在5秒左右
-
Fig. 10 更改访问策略的整个过程时间约为4.437秒
-
- 系统中安全索赔过程的运行时间,数据大小=100Mb,处理时间<0.2s
-
EHRChain系统的整体性能,每个操作过程中加密技术的时间开销
-
SHDPCPC-CP-ABE的运行时间在0.6s~0.7s之间
-
改进的Paillier 加密的运行时间在0.01s~0.02s之间
-
Conclusion
-
strong Conclusion:
- 改进的CP-ABE,通过部分密文的修改授权
- 改进的同态加密可以在密文下对比数据
-
weak Conclusion:
作者未来将研究EHRChain与现有医疗电子病历系统的兼容性,实现更实用性的框架
Reference
[1] 姜正涛,刘建伟,王育民. Paillier-Pointcheval公钥概率加密体制的改进[J]. 计算机工程,2008,34(3):38-39,42. DOI:10.3969/j.issn.1000-3428.2008.03.014.
[2] 徐文玉,吴磊,阎允雪. 基于区块链和同态加密的电子健康记录隐私保护方案[J]. 计算机研究与发展, 2018, 55(10): 2233-2243.
[3] Wang H, Song Y. Secure cloud-based EHR system using attribute-based cryptosystem and blockchain[J]. Journal of medical systems, 2018, 42(8): 1-9.