基于区块链的分布式EHR细粒度可追溯方案

2021年5月Journal on Communications May 2021 第42卷第5期通信学报V ol.42No.5基于区块链的分布式EHR细粒度可追溯方案
应作斌1,斯元平2,马建峰2,3,刘西蒙4
(1. 安徽大学计算机科学与技术学院,安徽合肥 230601;2. 安徽大学物质科学与信息技术研究院,安徽合肥 230601;
3. 西安电子科技大学网络与信息安全学院,陕西西安 710071;
4. 福州大学数学与计算机科学学院,福建福州 350108)
摘  要:针对电子健康档案(EHR)在分布式系统中的密钥管理及用户身份追溯问题,提出了一种基于区块链的分布式EHR细粒度可追溯方案。结合变龙哈希和零知识证明技术实现区块链上节点的注册与身份证明的生成,从而实现区块链上恶意用户的追溯。针对密钥管理的单点故障问题,设计了分布式密文策略的属性基加密方案实现安全细粒度的数据访问控制,设置多个解密机构区块链节点联合分发用户节点的属性私钥。安全性分析表明,基于区块链的可追溯分布式密钥生成属性基加密算法是随机预言机模型下自适应安全的,并通过实验证明了所提方案的可行性和实用性。
关键词:电子健康档案;区块链;追溯;密钥管理;细粒度访问控制
中图分类号:TP309
文献标识码:A
DOI: 10.11959/j.issn.1000−436x.2021033
Blockchain-based distributed EHR fine-grained traceability scheme
YING Zuobin1, SI Yuanping2, MA Jianfeng2,3, LIU Ximeng4
1. School of Computer Science and Technology, Anhui University, Hefei 230601, China
2. Institutes of Physical and Information Technology, Anhui University, Hefei 230601, China
3. School of Network and Information Security, Xidian University, Xi’an 710071, China
4. School of Mathematics and Computer Science, Fuzhou University, Fuzhou 350108, China
Abstract: Aiming at the key management of electronic health records (EHR) in a distributed system and user identity tracing issues, a distributed EHR fine-grained traceability scheme based on blockchain was proposed. Combining cha-meleon hash and zero-knowledge proof technology, the re
gistration of nodes on the blockchain and the generation of identity certificates were realized, and the traceability of malicious users on the blockchain was realized. Besides, given the single point of failure problem of key management, the attribute-based encryption scheme of distributed ciphertext strategy was designed to achieve secure and fine-grained data access control, and multiple decryption agency blockchain nodes were set up to jointly distribute the attribute private keys of user nodes. The security analysis shows that the tracea-ble distributed key generation attribute-based encryption algorithm based on the blockchain is adaptively secure under the random oracle model, and through experiments, the feasibility and practicability of the proposed scheme are shown.
Keywords: EHR, blockchain, tracking, key management, fine-grained access control
1引言
目前,电子健康档案(EHR, electronic health record)已经成为提高医疗诊断效率的工具之一,其数据从可穿戴设备、智能传感器等来源收集。随着智慧医疗的逐步发展,EHR数据量呈指数级增长。电子病历的数据量将以每年48%的速度增长[1]。但是,EHR数据共享面临存储安全性和隐私泄露的
收稿日期:2020−08−15;修回日期:2020−11−10
基金项目:安徽省教育厅重点基金资助项目(No.KJ2018A0031);国家自然科学基金资助项目(No.62072109, No.U1804263, No.61702105)
Foundation Items: The Key Project of Anhui Provincial Department of Education (No.KJ2018A0031), The National Natural Science Foundation of China (No.62072109, No.U1804263, No.61702105)
·206·通信学报第42卷
问题。密文策略属性基加密(CP-ABE, ciphertext policy attribute based encryption)专门为一对多加密而设计,适合作为EHR的访问控制解决方案。面对海量的EHR数据,本地存储解决方案已不再适用,而集中式云存储方案存在数据泄露和单点故障问题,区块链技术成为EHR数据管理的有前途的解决方案。考虑到区块链的块大小有限,将加密的EHR文件存储于分布式存储系统,如星际文件系统(IPFS, inter planetary file system),而将EHR的密文及其IPFS中的下载地址等数据上链,可以有效节省区块链的存储空间。
基于区块链的EHR访问控制方案的研究大多侧重于隐私保护[2-3],而实现隐私保护的同时带来了监管问题。区块链中强大的隐私保护滋生了许多安全问题,例如,所有软件攻击中有88%发生在医疗保健系统中[4]。文献[5]指出,2009—2017年发生了约1 138起违规事件,影响了1.64亿患者的医疗数据。这些安全问题不仅对用户利益构成严重威胁,而且严重阻碍了区块链在EHR大规模共享中的开发wikipedia
和应用。跟踪用户身份是解决区块链监管问题的关键。
为了应对这些挑战,本文提出了一种基于区块链的分布式EHR细粒度可追溯方案,能够实现EHR 在分布式存储中的隐私保护和细粒度的访问控制,并完成用户的追溯。此外,为了消除分布式存储中密钥管理的单点故障(SPoF, single point of failure)问题,本文设计了一种分布式CP-ABE方案。本文主要的贡献总结如下。
1) 提出了一种基于区块链的可追溯分布式EHR细粒度访问控制方案,解决分布式存储中EHR 数据的密钥管理和恶意用户的追溯问题。
2) 融合变龙哈希和零知识证明技术完成链上节点的注册验证和生成身份证明,通过节点的公开信息可以追溯节点的身份证明,获得注册节点的真实ID,从而实现用户的追溯。
3) 结合分布式密钥生成(DKG, distributed key generation)协议,设定多个解密机构节点作为授权中心,设计分布式CP-ABE方案。安全性证明表明,基于区块链的可追溯分布式属性基加密算法在随机预言机模型下是自适应安全的。
2  相关工作
2008年,中本聪在比特币中使用了哈希链和工作量证明[6]。区块链[7]是按时间排序的数据区块,包括
完整和有效的交易记录列表。近年来,区块链技术已应用于金融服务[8]、医疗保健[2, 9]、物联网[10-11]和车联网[2, 12]等领域。将区块链应用于医疗保健领域的趋势正在增加[13-16]。文献[13]提出了使用区块链技术的去中心化电子病历管理系统——MedRec,它是一种模块化设计,可管理参与者之间的权限和数据共享。与MedRec类似,文献[14]提出了一个基于以太坊的区块链Ancile,它利用智能合约来增强访问控制和数据混淆。文献[15]构建了云环境中电子病历的基于区块链的数据共享框架。文献[16]提出通过区块链进行高效、安全的医疗数据共享,利用基于混合区块链的架构保护电子病历。
在基于区块链的存储EHR数据的应用中,研究者提出加密方案来增强EHR的安全性和有效性。文献[17]采用离散波长变换和遗传算法来增强安全性并优化系统性能。类似地,文献[18]通过在密钥的共享中采用密文策略的属性基加密,并结合区块链技术,实现了云存储中的细粒度访问控制,并支持验证搜索。文献[19]将基于分层身份的加密系统(HIBE, hierarchical identity based encryption)和CP-ABE组合在一起,以实现在云服务器上有效的数据加密共享。文献[20]提出了一种用于大数据访问的有效可撤销CP-ABE方案,使用基于代理的更新在云中进行控制。Lewko 和Waters[21]提出在没有中央授权的情况下提供分布式CP-ABE方案。Hu等[22]和Li等[23]提出了具有隐私保护和基于双方属性的密钥协议的多权限CP-ABE方案。
但是,上述应用均集中在增强安全性和隐私保护方面,密钥生成的单点故障问题依然影响安全,且对于区块链的可追溯功能的研究是有限的。EHR 数据具有高度敏感性,在此类数据的共享中,一旦发生
非法访问,将会造成极大的不良影响。文献[24]中比特币地址被认证,只要用户使用,就必须通过权威机构获取认证,大大降低了方案的执行效率。文献[25]设计了新的分布式匿名支付系统以解决监管问题,但系统只适用于Zerocash[26]。本文提出了一种灵活的基于区块链的分布式EHR细粒度可追溯方案。
分布式密钥生成。DKG协议是(,t n)阈值密码系统的组成部分之一[27]。它允许n方共同生成密钥
第5期 应作斌等:基于区块链的分布式EHR 细粒度可追溯方案 ·207·
对(即公共密钥和私有密钥),而不需要让任何一方重建或存储密钥。如果不超过1t +个参与方被破坏,则该协议是安全的。此外,文献[28]通过统一的随机性提高了DKG 协议的安全性。通过运行DKG 协议,每个诚实方将拥有密钥a 的份额i a 。对于N 组中1t +个正确份额,
超帝国主义其中i i
i a a λ∈
=∑N
,i λ是集合N 的拉格朗日内插系数,t −安全DKG 协议将始终满足以下特性。
① 正确性。1t +份额的任何子集都定义相同
的私钥()p a a ∈Z ,并且各方共享相同的公钥GP a g =。
② 保密性。除了GP a g =外,没有关于a 的任何信息。
3  系统模型
系统模型如图1所示,涉及7个参与方:用户
节点、医生节点、验证节点、仲裁节点、解密机构节点、区块链平台、分布式数据存储系统。表1列出了主要参数及含义。
图1  系统模型
表1
主要参数及含义
参数
含义
/MSK λ
安全参数/主密钥 pp/GP
公共参数/全局参数
att /PK /PK i j i A A
解密机构/对应的公钥/属性公钥 id /regmess u
用户节点的真实身份/节点的注册信息 (conf,pers)
节点的公开和保密信息对 chame chame pk ,sk  变龙哈希的公私钥对 id
cert u
节点的身份证明 (,)ρM
访问策略
验证节点主要用于生成链上节点的身份证明。用户生成注册信息,并将其发送给验证节点,完成注册信息的验证。成功注册的用户将得到由验证节点生成的身份证明,身份证明和私人信息之间存在一一对应的绑定关系。
用户节点由u P 标识,指可以提供EHR 健康数据的患者。用户节点需要进行节点注册,从验证节点获得身份证明id cert u 。u P 提交电子健康记录EHR ,用对称加密算法加密EHR 得到C EHR ,并发送到链外的IPFS 中,IPFS 将返回一个下载链接τ用于检索数据,再用非对称加密算法将对称加密的密钥ε加密得到C ε。u P 将data u P 传送给仲裁节点F 。data u P 经F 验证后上传到区块链
B 存储,且u P 节点的公开信息和身份证明在链上
公开显示。
医生节点由u D 标识,指申请访问EHR 的实体。医生节点需要进行节点注册,从验证节点获得身份证明id cert u ,并将data u D 传送给仲裁节点F 。
data u D 经F 验证后上传到区块链B 存储。当医生
·208· 通  信  学  报 第42卷
节点u D 请求访问数据文件data u D 时,u D 将自己的属性集u S D 以及身份证明id cert u 发送给链上仲裁节点F 。验证通过后,F 返回访问凭证res 。u D 获得访问凭证后,发送给解密机构节点i A ,获得足够的密钥份额,获得data u P ,完成解密操作。 仲裁节点由F 标识,是指可以验证用户节点身份以及数据内容的节点,且可以为数据访问节点生成访问凭证。链上文件访问异常时,可通过查用户身份实现追溯。
解密机构节点由i A 标识,是指使用DKG 协议共同维护主密钥的实体。他们提供密钥份额以允许仲裁节点生成访问凭证res 。特别地,u D 需要获得至少1t +份额才能解密从区块链获得的数据。
区块链平台由B 标识,是由多个区块链节点维护的许可区块链。上述几个角都充当区块链节点,允许获得许可的参与者加入该区块链系统。追溯记录在B 中,使公众可以审计调查的有效性和合法性。
分布式存储系统是指存储相关数据的数据存储系统,本文方案采用了分布式数据存储系统IPFS 。数据在加密后存入IPFS 中,如果u D 想检索数据,则需要获得访问权限以获得解密密钥。
设定仲裁节点F 和验证节点比其他节点具有更高的权重来维护B 的安全性,区块链基于权益证明(PoS, proof of stake ),如果存在可疑行为需要调查,F 将在区块链数据中追踪用户的真实身份,采用混合加密的方式加强数据保密性,提高加密效率。
4  算法设计
4.1  算法定义
1) 初始化算法
初始化算法输入安全参数λ,得到公共参数pp ,主密钥MSK a =,全局参数GP a g =。
2) 解密机构和用户节点初始化阶段 获得每个解密机构i A 的私钥为SK i A ,对应的公钥为PK i A 以及属性公钥att PK j 。
用户私钥id
sk u G 和公钥为id亚瑟王2:亡灵军团
pk u G ,且id
u A S 是解密机构对应用户id u 的属性
集。用户id u 发送密钥份额申请app 给解密机构i A ,解密机构i A 将计算并返回属性私钥份额att SK 。
3) 节点注册与节点验证阶段 节点注册阶段。输入公共参数pp 和用户节点的真实身份id u ,返回节点的注册信息mess mess regmess (CT ,)ς=。 节点验证阶段。输入公共参数pp 、注册信息
regmess ,以及注册信息的私钥enrol sk ,验证节点身份id 是否有效,验证有效,输出1;否则输出0。
4) 身份证明的生成和验证阶段
身份证明的生成阶段。输入公共参数pp 、节点的公开和保密信息对(conf,pers)、用户身份的变龙哈希值id CH u 、变龙哈希的公私钥对chame pk 和
chame sk 、随机值c 、Merkle 树根节点rt 、树叶节点到树根节点的路径id path u ,输出节点的身份证明
id cert u 。
身份证明的验证阶段。输入公共参数pp 、节点的公开信息conf 、节点的身份证明id cert u ,输出验证结果,若验证成功,则1b =。
5) 数据生成阶段
在此阶段使用混合加密算法加密数据,且将数据密文存储于分布式存储系统IPFS 中。对称加密算法,如AES (advanced encryption standard )加密原数据,对称加密算法的密钥由CP-ABE 实现加密。为了消除单点故障,本文方案采用DKG 协议。假设有N 个解密机构(也属于用户节点)分布于区块链上1,2,,{}i i A ="N ,每个解密机构i A 获得a 的一个秘密份额i a ,将数据加密的密文存储于
IPFS 中,IPFS 返回数据的下载链接。数据的密文EHR C 、密文在IPFS 中的下载链接τ、数据加密的完成时间timestamp ,以及密钥加密结果都被上传到区块链中存储。
6) 数据访问权请求和授权阶段
当链上节点请求访问数据文件时,用户节点将自己的属性集合发送给链上仲裁节点F 。如果用户的属性集合满足访问策略(,)ρM ,则仲裁节点
F 将访问授权凭证发送给用户节点。
7) 解密并获取数据阶段
用户节点得到授权后,将获得凭证(包含足够的密钥份额),进而有权获得区块链中存储的data u P ,可以完成解密操作。首先,用户节点利用
访问授权凭证解密密钥密文,从而获得对称加密算法的密钥;然后,利用IPFS 下载链接得到密文EHR C ;最后,利用对称加密算法的密钥解密数据密文,从而得到数据明文,完成访问。
8) 追溯阶段
仲裁节点F 获得链上数据data u D ,解密后将得到其变龙哈希公钥,通过检索验证节点上的记录信息,从而获得与用户节点变龙哈希公钥对应的
第5期 应作斌等:基于区块链的分布式EHR 细粒度可追溯方案 ·209·
用户真实id ,输出用户节点的身份序列ID 。 4.2  具体方案构造
1) 系统初始化阶段 Setup(1)pp λ→。初始化算法输入安全参数λ,得到公共参数pp 。公共参数组成如下:用于zk-SNARK (zero knowledge succinct non-interactive argument of knowledge )中的mess ς的证明和验证密钥对mess mess (pk ,vk )、用于zk-SNARK 中cert ς的证明和验证密钥对cert cert (pk ,vk )、注册机构的公钥enrol pk 以及用于变龙哈希的公共参数chame pp 。
nizk (pk ,,)x x x x ρd o ς→,其中,x 为mess 或cert ,表明给定pk x 、陈述x d 和见证x o ,nizk ρ将返回一个证明x ς。nizk (vk ,,)x x x o d ς用于验证,给定验证密钥
vk x 、陈述x d 和nizk ρ所得证明x ξ,如果验证成功,则nizk o 返回1,否则返回0。
选择1G 和2G 是素数阶为q 的循环,且1G 的生成元为g 。设有双线性映射112:e ×→G G G 、抗
碰撞哈希函数1{01}H ∗→:,
G 。N 个解密机构(也属于用户节点)分布于区块链上1,2,,{}i i A ="N ,运行
DKG 协议,得到主密钥MSK a =,其中q a ∈Z ,每个解密机构i A 获得a 的一个秘密份额i a 。生成全局参数GP a g =。
2) 解密机构和用户节点初始化阶段
随机选取参数,,i i i q ηθκ∈Z ,每个解密机构i A 的私钥为SK (,,)i A i i i ηθκ=,对应的公钥为《全民健身条例》
1
PK ((,),,)i
i i
i
wdb620i A e g g g g κηθθ=。i A 随机选取j q x ∈Z ,生成属性公钥att PK (())j i j x
g H j κ=。
随机选取,q y z ∈Z ,用户私钥id
sk (,)u G y z =,公钥为id
pk (,)u y z G g g =,且
id
u A S 是解密机构对应用户id u 的属性集。id u 发送密钥
份额申请app 给解密机构i A ,如式(1)所示。
1
att app (,,PK )j
ay y
z
g g =      (1)
i A 将计算并返回属性私钥份额,如式(2)所示。
att
1
SK ,,()(()
)i i
j j j
i i
ay z
z x
y z H g g I g J g g H j ηθθκθκ⎧⎪===⎨⎪⎩⎫=⎬⎭
(2)
3) 节点注册与节点验证阶段 节点注册阶段可表示为
mess id Gen (pp,)regmess u → (3)
用户节点由chame pp 生成自己的变龙方案的公
钥和私钥对chame chame (pk ,sk )。由id u 计算其变龙哈希值,随机选取c ,得到id chame CH u H =⋅
chame id (pk ,,)u c 。此时,用户可以为以下NP 关系生成zk-SNARK 证明mess ς。给定mess id chame (,pk ,d u =
id CH )u ,得到mess chame (sk ,)o c =。其中,变龙哈希的私钥与公钥的关系为chame gen chame pk chame (sk )=。
仲裁节点F 得到mess nizk mess mess mess  = (pk ,,)ρd o ς。计算注册信息的加密密文mess enrol mess CT =Enc(pk ,)d ,验证节点存储id id chame chame (,pk ,sk ,,CH )u u c ,同时返回
mess mess regmess (CT ,)ς=
(4)
节点验证阶段可表示为少女初体验
mess enrol Ver (pp,regmess,sk )b → (5)
节点验证过程如图2所示,具体步骤如下。解
析regmess 为mess mess (CT ,)ς,由解密算法得到mess d ,
enrol mess mess Dec(sk ,CT )d =,并解析mess d 为id id chame (,pk ,CH )u u 。如果所得id u 不是有效身份,则输出b 值为0;否则判断nizk mess mess mess (vk ,,)= 0o d ς是否成立,若成立,则输出0b =,否则1b =。由仲裁节点存储id chame id (pk ,,CH )u u ,并通过Merkle 树来发布id chame (pk CH )u &。
图2  节点验证过程

本文发布于:2024-09-22 01:16:23,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/398472.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:习题9解答
下一篇:hash值范围
标签:节点   数据   区块   用户   密钥   验证
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议