基于联盟链的可搜索电子病历双重授权共享方案

2023-12-08 13:10姚中原斯雪明
应用科学学报 2023年5期
关键词:关键字密文病历

马 雪,潘 恒,姚中原,斯雪明,3

1.中原工学院前沿信息技术研究院,河南郑州450007

2.河南省区块链数据共享国际联合实验室,河南郑州450007

3.复旦大学计算机学院,上海201203

4.郑州经贸学院大数据与人工智能学院,河南郑州450007

电子病历(electronic medical record,EMR)是数字形式的患者疾病记录,包括患者的个人基本信息、病史、过敏史、疾病检测结果和诊疗方案等[1],其中涉及多项敏感信息。目前,医院通常由独立的医疗信息系统存储并处理病历,这导致病历数据孤岛现象严重,不同医院间的病历数据难以互通[2-3]。

云计算的出现可以使大量病历集中存放到中心化云端服务器中,既能降低本地数据的存储开销,又为病历数据共享提供了解决思路。然而,云端存储存在的主要问题是透明度低、可信度差、敏感数据的安全得不到保证,这对患者的隐私构成严重的威胁[4-5]。在现有的基于云存储的数据共享方案中,大多采用中心化的密文检索机制,仍然由医院完成整个病历的加密检索与安全访问。在这种情况下,各医疗机构对患者电子病历拥有绝对控制权,而患者的参与度不高,无法控制甚至了解自己病历的被访问情况,因此存在隐私泄露风险,容易出现医患矛盾和纠纷。

自2008 年比特币[6]出现以来,区块链技术得到了迅速发展。区块链采用分布式存储架构,并依托健壮的加密原语保证其安全性;利用强大的共识协议使分布式网络中的节点达成一致。若能将区块链的分布式存储思想引入数据共享领域,则有望解决上述中心化电子病历共享存在的问题,于是涌现出了多种基于区块链技术的电子病历共享框架及病历访问控制方案,但由医院和患者共同授权管理病历的方案并不多见。实际上,由于电子病历不仅包括患者个人信息,同时也有医院的诊疗信息,因此如何凭借区块链的去中心化共享优势实现医院和患者对病历的共同管理是一个值得研究的问题。

为了解决上述问题,本文提出了一种支持链上病历关键字密文检索的电子病历双重授权安全共享方案——DaseChain,主要包含以下内容:

1)基于可搜索加密的病历关键字密文检索方法,利用医院端的私钥控制检索权限值的生成,实现了链上密文数据检索权限的细粒度访问控制,并在分布式存储环境下提高了检索结果的准确性,保证了检索过程中患者的隐私安全。

2)提出了一种电子病历链上授权方法。基于代理重加密技术设计了访问控制密钥链上传递算法,不仅增强了患者对所属病历的可控性,还实现了医院与患者对病历的共同授权和管理。

3)在随机预言机模型下,基于n-QBDH 假设证明了本文方案的安全性,并通过模拟实验证明了该方案在计算开销方面的能耗较少。

1 相关工作

在电子病历共享模型及方案设计方面,多数方案采用云链结合方式,主要利用区块链可追溯的特性进行数据及操作的存证。文献[7] 提出一种安全的云辅助电子健康系统,对电子健康记录外包到云端的每一项操作都以交易的形式存储到分布式账本中,保证电子健康记录访问的可追溯性。文献[8] 介绍了一种基于区块链的用户可控制数据共享的穿戴健康数据共享系统。文献[9] 基于私有区块链提出了一种轻量级的电子健康记录共享系统,可实现电子病历数据的安全存储和隐私保护。文献[10] 为解决基于云的数据共享系统的可扩展性和信任问题,提出一种基于区块链的代理重加密的物联网数据共享方案,可确保传感器收集到的数据安全地传输给用户。

在病历密文数据安全检索方面,传统的可搜索加密方案[11-14]主要从功能性、安全性和检索效率等方面进行研究。文献[15] 提出了一种新的云存储数据共享服务方案。当密文数据中需要添加新关键字时,云服务提供商能够基于新的关键字和原始重加密密钥生成新的重加密密钥,实现了云端密文数据的安全检索,同时也提高了重加密的效率。然而在云计算环境下,中心化服务器可能存在单点故障,于是许多研究人员试图以分布式区块链代替中心化服务器,实现可靠且保密的数据检索。文献[16] 在区块链环境下提出了一种电子病历可搜索加密方案,用逻辑表达式构建病历索引并存储在区块链中,便于用户搜索病历索引。文献[17] 基于许可区块链和私有区块链联合的方法提出一种支持关键字检索的电子病历共享方案,由云服务器存储加密后的电子病历,私有链存储密文哈希值,联盟链存储关键字索引,实现了电子病历的安全存储检索与共享。文献[18] 结合区块链技术与可搜索加密技术提出了一个医学图像数据共享方案,将特定医学影像数据相关的关键词生成陷门发送到云服务器中搜索相应的密文,便于用户利用区块链验证病历密文的真实性。文献[19] 基于云存储和区块链提出了一个在不同实体之间共享电子病历的框架。在该框架中,云服务器负责存储电子病历密文,联盟区块链可以保存电子病历索引,关键字可搜索加密能够确保链上密文数据的安全检索,所构建的联盟区块链网络模型、数据结构和共识机制旨在保证系统高效运行。上述方法虽然利用区块链去中心化的特点弥补了传统云存储中心化安全检索的一些问题,但大多未涉及用户检索权限的可控性。

在电子病历的访问控制研究方面,文献[20] 提出了云计算环境下基于属性的可搜索加密电子病历系统。该方案可隐藏访问结构,根据数据拥有者的请求增加或撤销用户的访问权限,实现了数据拥有者对病历的访问控制。文献[21] 提出一种云链协同的数据安全共享方案,利用属性加密方案对电子病历进行加密,同时可以让病人自主设置访问策略,实现细粒度的访问控制。文献[22] 在联盟区块链环境下提出一种K-匿名和关键字可搜索加密的医疗数据共享方案,设计了基于属性的访问控制智能合约,虽然可以实现患者本人对所属病历的访问控制,但是大大增加了患者端的运行负担。文献[23] 考虑到用户无法实际控制自己的医疗数据以及电子病历数据共享存在安全隐患问题,提出了一种基于区块链的新型电子健康系统。该方案在代理重加密机制中嵌入基于属性的密码体制,实现了电子病历共享的高安全性和细粒度的访问控制。上述研究逐渐呈现出以患者为中心的发展趋势,即让患者拥有对病历的控制权,但对医院和病患如何共同控制电子病历访问的研究尚少。

2 预备知识

2.1 区块链技术

区块链是一种将分布式存储、P2P 传输、共识机制、加密算法和智能合约等传统技术结合应用的分布式账本技术,能够将一个个区块链接起来形成一个有序的记录列表,具有分布式、防篡改、可追溯、多方维护、公开透明和强大的共识机制等特点。根据准入机制可将区块链分为3 种类型:公有链、私有链、联盟链。联盟链以节点授权方式设置准入机制,确保数据的产生和使用是可控的,从而在一定程度上实现多准入节点共同维护数据,避免了隐私数据的泄露[24-26]。

2.2 双线性映射

令G和GT是q阶的两个循环群,群上的运算分别称为加法和乘法,令e:G×G →GT为一个双线性映射,且满足以下性质:

性质1 双线性性对于∀g1,g2∈G,且a,b ∈,有=e(g1,g2)ab。

性质2 可计算性对于任意∀g1,g2∈G,存在有效算法能够计算e(g1,g2)。

性质3 非退化性存在g1,g2∈G,使e(g1,g2)1GT。

2.3 n-QBDH 困难性假设

对于两个q阶循环群G和GT、一个双线性映射e:G×G →GT以及从G中随机选取的一个元素g,n-QBDH 问题是指给定一个元组∈Gn+2,并计算,其中a,b ←。n-QBDH 假设是指不存在攻击者B可以在多项式时间内以不可忽略的优势解决n-QBDH 问题,即不存在B使得式(1) 成立

3 本文方案

3.1 DaseChain 模型框架

本文构建的DaseChain 模型框架如图1 所示。病历的产生及加密存储由医院实现,链上密文索引数据的检索权限由医院控制,病历的解密权限由患者授予,从而实现了医院和患者对病历访问的共同授权。

图1 DaseChain 模型框架Figure 1 Framework of DaseChain model

该方案涉及的实体参与者包括云端服务器CS、医疗联盟链MCB、患者O、病历请求者U和医院HD,各角色具体描述如下:

1)云服务器CS 是云存储服务提供者,负责存储电子病历大数据密文文件并响应联盟链节点用户文件的下载请求。

2)医疗联盟链MCB 由多家医疗机构、医疗科研机构以及医疗保险公司等协商构建。联盟链节点用来存储患者病历的关键字索引信息和执行关键字密文检索算法,联盟链的CA 认证机构负责生成系统全局公共参数并为系统用户颁发数字证书。

3)医院HD 是患者就诊服务提供方。医院的医生为就诊患者生成电子病历,并用对称加密算法将病历文件加密存储到云端服务器;之后提取病历文件的关键词集,利用病历加密密钥、关键词集以及病历摘要等构造关键字密文索引信息,并存储到联盟链账本中。

4)病历请求者U 即访问电子病历的用户,包括医疗机构、医疗科研机构、医保机构或者保险公司等。当病历请求者希望获取与某关键字相关的EMR 时,需要获得医院医生和对应患者的许可。首先U 需要与医疗合作单位HD 进行交互获取链上检索权限,再向联盟链中发送检索交易提案;然后联盟链节点响应交易提案并执行关键字密文匹配算法,将检索结果返回给U;最后U 根据检索结果向患者本人请求授权。

5)患者O 即病历文件的所有者,根据用户U 发送的授权请求,决定是否同意对数据请求者授权。若同意授权,则患者O 生成重加密密钥对病历关键字密文进行重加密,并将重加密密文发送到联盟链中;用户U 通过联盟链获取重加密密文后可用自己的私钥解密出文件密钥和病历文件的云端存储地址,进而获取原始病历文件。

3.2 密文可搜索代理重加密算法形式化定义

Setup(λ)→GP 输入一个安全参数λ,输出一个全局公共参数GP。

KeyGen(GP)→(pko,sko,pkh,skh,pku,sku) 输入系统公共参数GP,输出患者的公私钥对(pko,sko)、医院的公私钥对(pkh,skh) 和病历请求者的公私钥对(pku,sku)。

RKeyGen(sko,pku)→rko,u输入患者的私钥sko和病历请求者的公钥pku,输出部分重加密密钥rko,u。

WKeyGen(sko,W)→cko,w输入患者的私钥sko和关键字集W,输出病历关键字密钥cko,w。

Encrypt(pko,k,W)→CT 输入患者的公钥pko、病历文件密钥k以及文件对应的关键字W,输出病历关键字密文CT。

KeySearch(Wx,skh)→CT 输入目标检索关键字Wx、医院的私钥skh。联盟链节点调用该算法进行密文关键字匹配,并返回满足关键字条件的密文CT。

ReEncrypt(CT,rko,u,cko,w) 输入部分重加密密钥rko,u、病历关键字密钥cko,w和病历关键字密文CT,输出重加密密文CT′。

Decrypt1(CT,sko) 输入密文CT 和患者私钥sko,输出解密成功后的病历文件M或者解密失败信息。

Decrypt2(CT′,sku) 输入重加密密文CT′和病历请求者的私钥sku,输出解密成功后的病历文件M或者解密失败信息。

3.3 安全模型

通过攻击者A和挑战者C之间的游戏来定义本文所提出的电子病历可控共享方案在选择密文攻击下的语义安全性。

3.3.1 参数设置阶段

挑战者C执行Setup(λ) 算法进行全局参数设置,并将全局参数返回给A。A发起一系列q1,···,qm询问如下:

1)未攻破的密钥生成询问。C首先运行密钥生成算法KeyGen(GP),生成公私钥对(ski,pki) 后将pki发送给A。

2)已攻破的密钥生成询问。C运行密钥生成算法KeyGen(GP),生成(skj,pkj)返回给A。

3)部分重加密密钥询问。C运行部分重加密密钥生成算法RKeyGen(ski,pkj),生成部分重加密密钥rki,j返回给A。

4)关键字密钥询问。C运行关键字密钥生成算法WKenGen(ski,W),生成关键字密钥cki,w后返回给A。

5)重加密询问。C运行重加密算法ReEncrypt(CT,rki,j,cki,w),输入重加密密钥rki,j‖cki,w和密文CTi,输出重加密密文CTj发送给A。

6)解密询问。挑战者C根据获取的私钥和重加密密文运行解密算法Decrypt(CT,sk),最后将解密结果返回给A,而对应的公钥pk 是提前根据KeyGen() 算法生成的。

3.3.2 挑战阶段

攻击者A确定参数设置阶段结束后,输出一个目标公钥pk*和目标关键字W*,之后输出两个长度相同的消息M0和M1;挑战者C随机选coinδ ∈{0,1},且将密文CT*=Encrypt(pk*,kδ,W*) 发送给攻击者A。

3.3.3 猜测阶段

在这个阶段,A输出δ′∈{0,1},若δ′=δ,则A赢得此游戏。

根据上述游戏定义的IND-CCA 安全性,可知敌手A赢得此游戏的概率为

基于上述安全模型,本文所提出的方案是满足(t,qu,qc,qrk,qck,qre,qd,∈)IND-CCA 安全的。假设存在一个IND-CCA 敌手A进行多次未攻破的密钥生成询问qu、多次已攻破的密钥生成询问qc、多次部分重加密密钥询问qrk、多次条件密钥询问qck、多次重加密询问qre以及多次解密询问qd后仍以可忽略的∈优势赢得此游戏,则说明本方案所提出的共享协议是基于IND-CCA 安全的。

3.4 具体方案

DaseChain 共享流程如图2 所示,主要包含以3 个阶段:系统初始化、病历加密存储、病历数据访问。该方案涉及到的符号定义如表1 所示。

表1 方案符号定义Table 1 Notations definition of scheme

图2 DaseChain 安全共享流程Figure 2 DaseChain sharing security process

本方案包含系统初始化阶段、病历加密存储阶段和病历数据共享阶段。

3.4.1 系统初始化阶段

在系统初始化阶段,CA 认证中心首先为该系统生成全局公共参数GP,然后联盟链中的节点用户根据系统公共参数生成相应的公私钥对。该阶段包含以下两个步骤:

步骤1系统全局公共参数设置

CA 认证中心输入一个安全参数λ,生成参数集合(q,G,GT,e),q为λ比特长的大素数,g1是从G中随机选取的一个元素,l0和l1是定义的两个安全参数。5 个哈希函数分别为H1:{0,1}*→,H2:GT→,H3:×G×G×G×→G,H4:GT→,H5:{0,1}*→G。待加密信息的消息空间为。最后本系统的全局公共参数为GP={(q,G,GT,e),g,g1,H1,H2,H3,H4,H5}。

步骤2密钥对产生

3.4.2 病历加密存储阶段

在病历加密存储阶段,医院HD 将不同类型病历数据分别加密存储在云端服务器和联盟链中。其中,将原始病历大文件加密存储到云端,将文件密钥密文、病历的哈希值、病历关键字及文件云端存储地址等生成病历关键字密文索引存储到联盟链账本中。具体执行步骤如下:

步骤1病历密文链下存储

医生为患者O 就诊后生成电子病历M ∈{0,1}*,并提取病历关键字集为W ∈{0,1}*;然后医生用AES 加密算法生成一次性文件密钥k对M进行加密,生成病历密文LM=AESk(M) 存储到云端服务器CS;最后CS 将存储地址FM返回给医院HD。

步骤2病历关键字索引上链

医院医生HD 执行病历关键字密文生成算法,如算法1 所示。首先根据条件关键字W、文件密钥k、病历文件在CS 端存储地址FM生成密文CTo,h;然后按照所设计的区块交易单的数据结构,将CTo,h、H(M)和患者的伪身份标识IDo生成索引数据包δh=H(M)‖CTo,h‖IDo发送到区块链节点中,在节点验证达成共识后存储到分布式区块链账本中。

算法1病历关键字密文生成

3.4.3 病历数据共享阶段

此阶段为病历数据共享的关键阶段,包括病历检索请求、病历授权请求和病历解密3 个步骤。

步骤1病历检索请求

数据请求者U 访问EMR 时,需要获得医院和患者双方许可才可共享病历数据。U 首先将所需病历的关键字W′发送给医院HD,请求共享HD 机构内部与W′相关的患者病历数据。若HD 同意共享数据,则根据自己的私钥xh和关键字W′生成哈希值H1(W′,) 发送给U。U 获取到检索权限后,根据H1(W′,) 生成检索请求交易提案发送到联盟链MCB中;MCB 节点执行如算法2 所示的链上关键字密文检索算法,并根据等式e(Qo,Ts)=e(B,E)对密文关键字W′进行匹配。

算法2链上关键字密文检索

步骤2病历授权请求

用户U 收到病历数据请求阶段反馈的检索信息后,根据患者的伪身份信息IDo向对应用户O 请求授权。若患者O 同意授权,则执行如算法3 所示的关键字密文重加密算法。该算法根据用户O 的私钥sko、病历请求者U 的公钥信息Qu和关键字W′生成重加密密钥rk=rko,u‖cko,w对密文CTo,h进行重加密,利用生成的重加密密文CTu构造授权交易提案发送到MCB 节点中。联盟链节点验证通过后,将授权信息保存到分布式账本中。

算法3关键字密文重加密

实际运算后的重加密密文CTu=(B′,D′) 形式如下:

步骤3病历解密

当患者O为病历请求者U 授权后,U 可通过联盟链获取重加密密文CTu=(B′,D′),并执行如算法4 所示的关键字密文解密算法,解密CTu获取文件密钥k。

算法4关键字密文解密

在算法4 中,用户U 以自己的私钥sku计算D′⊕H2=k‖r′‖FM,根据r′验证等式==B′是否成立。若等式成立,则说明病历文件密钥k是有效的。最后,用户U 根据解密出的云端存储地址FM下载病历密文LM=AESk(M),利用文件密钥k解密LM即可获取包含关键字集W′=W的原始病历M。

病历文件解密密钥k的正确性验证公式如下:

4 安全性分析

4.1 安全目标分析

本方案采用了加密算法和杂凑算法,可以满足病历数据的机密性和完整性等基本安全需求。接下来重点讨论DaseChain 如何实现病历数据的安全检索和病历数据的访问控制。

4.1.1 病历数据的安全检索

在病历检索阶段,链上关键字密文检索算法WIndex 输入的是医院为用户U 生成的摘要值H1(W′,),因此联盟链中其他节点无法得知检索关键字W′的真实信息,也就无法得知数据请求者想要获取的真实病历数据信息,从而保证了患者病历数据的隐私。

4.1.2 病历数据的访问控制

在生成病历关键字密文CTo,h=(A,B,D,E) 时,E的产生与医院HD 的私钥相关。在HD 许可的情况下,医生为用户U 生成链上关键字检索条件H1(W′,Axh);用户U 一旦获取到此哈希值H1(W′,) 即拥有了检索权限。因此,该方法既可以保证链上密文检索的可控性,又能防止非法用户的恶意检索。用户U 在获取检索权限的前提下,仍然需要向患者O 本人请求获取病历的解密权限。O 同意后生成授权交易提案发送到联盟链中,用户U 可通过联盟链获取授权交易信息,之后才有权限解密出原始病历文件。因此,本方案能够实现医院和患者对病历的双重可控共享。

4.2 安全性证明

定理1当3-QBDH 困难问题的安全假设在(G,GT) 上成立时,本文算法在随机预言机下是IND-CCA 安全的。

推理1如果存在一个敌手A,在随机预言机下,针对每个哈希Hi,i ∈{1,2,···,5},系统建立次哈希询问来攻破(t,qu,qc,qrk,qck,qre,qd,∈) IND-CCA 安全协议,那么可以利用A构造一个算法B在t′时间内以∈′优势解决3-QBDH 困难问题。

证明假定B的输入是一个3-QBDH 挑战元组I=(g,g1/a,ga,,gb),a和b是从中随机选取的。算法B计算后,从中随机选取参数u并定义g1=,再将(g,g1) 发送给攻击者A。

4.2.1 参数设置阶段

4.2.1.1 哈希询问

敌手A对随机预言机Hi进行多次哈希询问,其中i ∈{1,2,···,5}。5 类哈希询问完成后,B拥有5 个哈希列表,i ∈{1,2,···,5}。当收到询问qi,j(qi,j为第i个哈希函数的第j次询问)时,查询qi,j是否在哈希列表中出现。若存在,则将对应的询问值返回给A;若不存在,则从哈希函数的值域中随机选取一个值αi,j,将(qi,j,αi,j) 添加到哈希列表中,并将αi,j值返回给A。

4.2.1.2B响应A的询问

B执行以下6 种询问对敌手A发来的信息做出响应。

2)已攻破的密钥生成询问B从中随机选取xj,定义pkj=(Pj,Qj)=,coinj=‘-’,之后将元组(pkj,xj,coinj) 添加到Klist列表中,并将(pkj,xj) 发送给A。

6)解密询问B解析pki,pki=(Pi,Qi),从Klist列表中获取元组(pki,xi,coini),若coini=‘-’,意味着ski=xi,则B用xi解密密文发送给敌手A,否则执行如下步骤:

步骤1利用公钥pk′重加密密文CTj=(B′,D′),首先保证pkipk′。

步骤3若步骤2 中的目标元组存在,则判断等式W=W′、=B′、β⊕(k‖r′‖FM)=D′、U=e(g1,g1)1/r是否成立。若成立,则将k,FM返回给A,否则返回⊥。

4.2.2 挑战阶段

4.2.3 猜测阶段

敌手A输出δ′的猜测返回给挑战者B,然后B从中随机选取一个元组(U,β),输出U1/y*作为所给出的3-QBDH 实例的解决方案。

B解决3-QBDH 困难问题假设的优势为

若存在IND-CCA 敌手A能以∈优势攻破上述游戏,则存在B至少能以∈′的优势解决3-QBDH 困难问题,与假设相矛盾。

5 实验分析

5.1 功能分析

比较表2 的结果可以看出,本方案DaseChain 与相关对比文献都实现了数据共享。文献[10,15,18] 未采用许可联盟链架构,文献[10,18] 虽然以云链结合的存储方式提高了数据的共享效率,但是未实现加密数据的检索,不够贴近实际的应用场景需求。文献[17] 采用私有链和联盟链的方式存储数据,导致系统存储开销方面性能较差。本方案基于联盟链和云存储架构,在确保密文数据安全检索的基础上实现了医院和患者对病历数据的共同授权,同时增强了患者对自身病历数据的访问控制。

表2 不同方案工作对比Table 2 Comparison of diffierent scheme works

5.2 性能分析

本方案基于Hyperledger Fabric v1.4.3 平台,在Raft 排序服务模式下部署了1 个多机联盟链网络。此网络架构包含3 个排序节点Orderer 和3 个组织HOrg1、POrg2、UOrg3,每个组织下包含2 个对等节点Peer 和1 个证书节点CA。各节点配置环境均为Intel®CoreTMi7-8700 CPU@3.20 GHz,16 GB 内存,运行在Window10 和Ubuntu16.04 操作系统上。分别以SHA-256 和AES-256 作为哈希函数和对称加密方案,用C++语言为密码算法编程,并调用PBC 库和OpenSSL 库对本方案算法进行实验测试。本次实验共使用7 台宿主机,其中1台模拟医院客户端,1 台模拟患者客户端,1 台模拟云存储服务端,1 台模拟数据请求者客户端,3 台作为区块链网络平台。该实验拓扑图如图3 所示。

图3 DaseChain 网络拓扑Figure 3 DaseChain network topology

对比相关方案与本方案在4 个阶段的计算代价如表3 所示,其中h表示哈希函数运算,p表示双线性对运算,e表示指数运算。

表3 不同方案的计算代价Table 3 Computational overhead among diffierent schemes

图4 显示了不同方案在加密、陷门检索、重加密和解密这4 个阶段的计算开销,分别用Encrypt、Search、ReEncrypt 和Decrypt 表示。从表3 和图4 中可以看出:本方案在加密阶段耗费的总时间比其他方案略高,但因为加密操作由计算能力强的医院服务器端承担,所以在可接受范围内。检索和重加密算法的平均耗时与其他方案的平均耗时相差不大。

图4 不同方案不同阶段计算开销对比Figure 4 Comparison of calculation cost in diffierent phases of diffierent schemes

6 结语

本文基于可搜索代理重加密机制,在联盟链环境下提出了一种支持关键字密文检索的电子病历双重授权共享方案——DaseChain。设计云链结合的EMR 安全共享模型,实现了电子病历大数据的安全存储和高效共享;利用分布式存储条件下构建的关键字密文检索方法,将病历关键字和文件密钥等信息构造密文索引存储到联盟链上,在用户从医院方获取检索权限的前提下,凭借区块链分布式账本各节点数据能同步更新且存储内容一致的特性,保证了医疗联盟链节点对密文数据的安全及时检索;基于所提出的EMR 链上授权方法实现了患者对所属病历较细粒度的访问控制,同时也实现了医院和患者对共享病历的共同管控;在随机预言机模型下证明了本方案在n-QBDH 下的语义安全性,以及在性能方面的总体计算开销相对较低。

猜你喜欢
关键字密文病历
一种针对格基后量子密码的能量侧信道分析框架
履职尽责求实效 真抓实干勇作为——十个关键字,盘点江苏统战的2021
一种支持动态更新的可排名密文搜索方案
强迫症病历簿
基于模糊数学的通信网络密文信息差错恢复
“大数的认识”的诊断病历
成功避开“关键字”
为何要公开全部病历?
村医未写病历,谁之过?
云存储中支持词频和用户喜好的密文模糊检索