CN115883214A - 基于联盟链和cp-abe的电子医疗数据共享系统及方法 - Google Patents
基于联盟链和cp-abe的电子医疗数据共享系统及方法 Download PDFInfo
- Publication number
- CN115883214A CN115883214A CN202211527224.9A CN202211527224A CN115883214A CN 115883214 A CN115883214 A CN 115883214A CN 202211527224 A CN202211527224 A CN 202211527224A CN 115883214 A CN115883214 A CN 115883214A
- Authority
- CN
- China
- Prior art keywords
- user
- attribute
- medical data
- electronic medical
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000007246 mechanism Effects 0.000 claims abstract description 11
- 238000012163 sequencing technique Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 11
- 238000004806 packaging method and process Methods 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 7
- 238000013500 data storage Methods 0.000 claims description 6
- 238000012856 packing Methods 0.000 claims description 6
- 238000007726 management method Methods 0.000 claims description 4
- 238000013475 authorization Methods 0.000 claims description 3
- 238000012550 audit Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于联盟链和CP‑ABE的电子医疗数据共享系统及方法。该系统包括CA、联盟链账本、IPFS、服务器和AA;方法为:CA进行系统初始化,公开系统公共参数,将系统主密钥分发给AA;AA审核用户的注册申请,为注册用户分发用户证书和属性密钥;用户A将医疗数据原始数据加密后存储在IPFS中,将原始医疗数据的哈希值、元数据及在IPFS中的地址存储在区块链上;当联盟链中的用户B访问数据时,用户B的属性满足该密文的访问策略才能正确解密进行访问;恶意用户E不正当的访问时,AA利用区块链分布式共识机制完成恶意用户的追溯,确保电子医疗数据的安全使用。本发明提高了医疗数据共享的安全性和系统的吞吐量。
Description
技术领域
本发明涉及网络安全技术领域,特别是一种基于联盟链和CP-ABE的电子医疗数据共享系统及方法。
背景技术
随着全球医疗机构数量呈现指数级增长,医疗机构产生的医疗数据也呈现爆炸性增长。由于纸质病历难保存、易篡改、易丢失损坏,越来越多的医院使用电子医疗系统存储病人的病历记录。随着数字化和云存储等技术的发展,各个医疗信息系统均采用了数字化存储技术,医疗数据信息化已经基本成熟。
现有医疗数据多存储于医院内部的数据库中,存在着严重的数据孤岛现象。不同的医疗服务提供者使用不同的标准和模式来存储患者数据,数据共享困难,数据通用性差,导致患者在不同医院进行就诊时需要重复进行很多检查,造成医疗资源的浪费,并且加重了病人的经济负担。同时医疗系统中通常会包含一些敏感数据,如患者个人隐私信息、就医记录等数据,医疗数据存在泄露、滥用和篡改等风险。
目前基于云存储的医疗数据共享系统通常会将医疗数据存储在云服务器上,在不可信的云存储环境中,用户将共享数据加密后存储,并通过获取解密密钥来实现对密文的访问控制。但由于云服务提供商不完全可信,加密后医疗数据仍可能存在滥用或篡改数据的可能,并且无法对数据使用和访问记录提供可信审查和追溯。此外,使用传统的对称、非对称密钥进行数据的保护虽然可以保障数据安全性,但是密钥协商和管理过程复杂,同时难以实现细粒度访问控制。
发明内容
本发明的目的在于提供一种能够保证医疗数据机密性、数据完整性、数据可用性,实现用户医疗数据访问记录的可追溯性的电子医疗数据共享系统及方法。
实现本发明能够目的的技术解决方案为:一种基于联盟链和CP-ABE的电子医疗数据共享系统,包括联盟链端和医疗机构端,其中联盟链端包括CA、联盟链账本和IPFS,医疗机构端包括服务器和AA;
所述CA,为可信第三方证书授权机构,用于生成和公开系统公共参数;
所述联盟链账本,用于存储交易记录;
所述IPFS,为星际文件系统,用于存储电子医疗数据密文;
所述服务器,用于进行交易过程管理;
所述AA,为属性认证节点,用于管理属性认证和属性密钥分发,实现属性认证和属性密钥分发记录的可追溯和追责。
一种基于联盟链和CP-ABE的电子医疗数据共享方法,包括以下步骤:
步骤1、系统初始化:CA进行系统初始化,公开系统公共参数,并通过加密安全通道将系统主密钥分发给AA节点;
步骤2、属性密钥分发:所有想加入联盟链的用户,均需要在系统内进行注册;AA负责完成用户的注册申请,并通过安全信道为所有注册用户分发用户证书和属性密钥;
步骤3、医疗数据的加密与存储:用户A通过联盟链和链上智能合约,配合IPFS将医疗数据原始数据经过CP-ABE方案属性加密后存储在IPFS中,将原始医疗数据的哈希值、元数据及在IPFS中的地址存储在区块链上;
步骤4、医疗数据的获取与访问:当联盟链中的用户B需要访问由属性基加密后的电子医疗数据时,只有用户B的属性满足该密文的访问策略,才能够正确解密进行访问,以此实现对电子医疗数据细粒度的访问控制;
步骤5、恶意用户追溯:当出现恶意用户E不正当的访问行为,AA利用区块链分布式共识机制完成恶意用户的追溯,确保电子医疗数据的安全使用。
本发明与现有技术相比,其显著优点为:(1)利用联盟链分布式共识机制,解决了传统中心化云服务器不完全可信问题,降低了传统加密方案及中心化CA机构遭受攻击的风险,缓解了CA机构的计算压力,实现分散的电子医疗数据的安全共享;(2)在联盟链中引入AA节点来实现属性认证及恶意行为溯源功能,利用分布式共识实现了属性认证,联盟中的AA节点可以查询用户共享过程记录,实现了恶意用户的追溯和追责;(3)通过在链上存储电子医疗数据密文地址,链下IPFS中存储电子医疗数据密文,缓解了区块链链上的存储压力,提高了系统的吞吐量。
附图说明
图1是本发明一种基于联盟链和CP-ABE的电子医疗数据共享系统的系统架构图。
图2是本发明实施例中电子医疗数据共享的交互流程图。
图3是本发明实施例中恶意用户的追溯的交互流程图。
图4是本发明实施例中电子医疗数据共享工作流的流程示意图。
具体实施方式
本发明一种基于联盟链和CP-ABE的电子医疗数据共享系统,包括联盟链端和医疗机构端,其中联盟链端包括CA、联盟链账本和IPFS,医疗机构端包括服务器和AA;
所述CA,为可信第三方证书授权机构,用于生成和公开系统公共参数;
所述联盟链账本,用于存储交易记录;
所述IPFS,为星际文件系统,用于存储电子医疗数据密文;
所述服务器,用于进行交易过程管理;
所述AA,为属性认证节点,用于管理属性认证和属性密钥分发,实现属性认证和属性密钥分发记录的可追溯和追责。
作为一件具体示例,所述电子医疗数据共享系统包括一个联盟链端和多个医疗机构端,每个医疗机构端相对独立,各医疗机构端的数据全部保存于联盟链端的IPFS和联盟链账本中;设定用户A为医疗机构A的用户,用户B为医疗机构B的用户,恶意用户E为医疗机构E的用户。
一种基于联盟链和CP-ABE的电子医疗数据共享方法,包括以下步骤:
步骤1、系统初始化:CA进行系统初始化,公开系统公共参数,并通过加密安全通道将系统主密钥分发给AA节点;
步骤2、属性密钥分发:所有想加入联盟链的用户,均需要在系统内进行注册;AA负责完成用户的注册申请,并通过安全信道为所有注册用户分发用户证书和属性密钥;
步骤3、医疗数据的加密与存储:用户A通过联盟链和链上智能合约,配合IPFS将医疗数据原始数据经过CP-ABE方案属性加密后存储在IPFS中,将原始医疗数据的哈希值、元数据及在IPFS中的地址存储在区块链上,防止其内容被非法篡改和破坏,并提供访问和验证功能,从而达到保护医疗数据的目的。
步骤4、医疗数据的获取与访问:当联盟链中的用户B需要访问由属性基加密后的电子医疗数据时,只有用户B的属性满足该密文的访问策略,才能够正确解密进行访问,以此实现对电子医疗数据细粒度的访问控制;
步骤5、恶意用户追溯:当出现恶意用户E不正当的访问行为,AA利用区块链分布式共识机制完成恶意用户的追溯,确保电子医疗数据的安全使用。
作为一件具体示例,步骤1所述的系统初始化,具体如下:
步骤1.1、系统进行初始化:
CA首先输入系统安全参数λ,生成一个阶为素数p、生成元为g的双线性群G0和一个双线性映射e:G0×G0→G1;接下来选择两个随机指数α,β∈Zp,产生公开参数PKsys(G0,g,h=gβ,e(g,g)α)和主密钥MKsys(β,gα);
步骤1.2、系统密钥分发:
CA在系统内公布公开参数PKsys,联盟链中所有节点和用户都能够获得公开参数PKsys的值;同时,CA通过加密安全通道将主密钥MKsys分别发送给联盟负责属性授权的AA节点。
作为一件具体示例,步骤2所述的属性密钥分发,具体如下:
步骤2.1、加入联盟链的用户A和用户B分别在本地秘密地生成公私密钥对(PKA,SKA)和(PKB,SKB),其中私钥SKA、SKB分别在本地秘密存储;
步骤2.2、用户A和用户B分别向医疗机构A和医疗结构B的服务器节点发送属性认证请求UAR(User Attribute Request),其中用户UA发送的属性认证请求UARA包括用户A的公钥PKA和用户身份标识IDA,用户UB发送的属性认证请求UARB包括用户B的公钥PKB和用户身份标识IDB;
步骤2.3、医疗机构A和医疗结构B的服务器节点分别收到用户A和用户B的属性认证请求并进行身份验证,将用户A的属性集SA和用户B的属性集SB分别发送至医疗机构A和医疗结构B的AA节点,医疗机构A和医疗结构B的AA节点分别验证用户A的属性集SA和用户B的属性集SB并签名,并将带有签名的用户属性集SA和SB发送到系统内其它医疗机构的AA节点,其它医疗机构的AA节点在验证过用户属性集后签名返回背书结果至医疗机构A和医疗结构B的AA节点;在医疗机构A和医疗结构B的AA节点收集到背书策略要求的足够AA节点背书后,将背书结果打包发送给排序节点,排序节点验证签名的有效性,并将结果进行排序打包成区块,然后发给所有AA节点,AA节点对区块进行验证后将其更新到联盟链账本中;
医疗机构A的AA节点使用用户A的属性SA和系统主密钥集MKsys(β,gα)为用户A生成相应的属性私钥选择随机数t∈Zp,对于用户A的每个属性i∈SA选择随机数ti∈Zp,计算用户A的属性密钥 然后将用户A的属性密钥使用用户A的公钥PKA加密成为属性密钥密文CTA发送给用户A;同样的,医疗结构B的AA节点首先使用用户B的属性SB和系统主密钥集MKsys(β,gα)为用户B生成相应的属性私钥选择随机数r∈Zp,对于用户B的每个属性j∈SB选择随机数rj∈Zp,计算用户B的属性密钥 然后将用户B的属性密钥使用用户B的公钥PKB加密成为密文CTB发送给用户B;
作为一件具体示例,步骤3所述的电子医疗数据的加密与存储,具体如下:
步骤3.1、当用户A需要共享自己的数据时,用户A首先生成电子医疗数据明文M,然后指定访问树TR,自上而下的为访问树中的节点x随机选择多项式qx,其中多项式的度dx=kx-1;对根节点R,随机选择s∈Zp,令qR(0)=s;对其他节点x,qR(0)=qparent(index(x));然后设Y为TR中的子节点集,得到密文CT:
步骤3.2、用户A通过医疗机构A的服务器节点将电子医疗数据密文CT存入IPFS中;
步骤3.4、用户A通过医疗机构A的服务器节点与联盟链进行交互,向联盟链中的节点发起电子医疗数据存储请求,将用户A身份标识IDA、电子医疗数据元数据MetadataA、哈希值HashM、访问控制策略P、以及密文在IPFS中的地址打包成交易后广播到联盟链中;
步骤3.5、联盟链节点在接收到用户A提交的交易后,首先按照背书策略进行背书,对交易提案格式、交易提交重复性、交易签名以及交易提交者权限进行验证,进而模拟执行电子医疗数据,存储智能合约,生成背书响应;在收集到足够的背书响应后,进一步封装并发送至联盟链进行排序;在对交易进行排序打包生成区块之后,联盟链节将交易附上时间戳生成并存入联盟链账本中。
作为一件具体示例,步骤4所述的电子医疗数据的获取与访问,具体如下:
步骤4.1、当用户B需要访问用户A共享的电子医疗数据时,用户B通过医疗结构B的服务器与联盟链进行交互,向联盟链中的账本发起电子医疗数据密文获取请求,将用户B的身份标识IDB、属性集SB以及电子医疗数据元数据MetadataM打包成交易Tx(MetadataM,IDB,SB)后广播到联盟链中;
步骤4.2、联盟链中的账本在接收到用户B提交的交易请求之后,查询用户B的属性认证记录,验证用户B的身份标识IDB、属性集SB;
步骤4.4、用户B调用医疗结构B的服务器在IPFS中对电子医疗数据密文CT进行下载,IPFS将电子医疗数据密文CT返回给用户B;
步骤4.5、用户B输入电子医疗数据密文CT和属性密钥客户端执行解密算法,对于访问树TR,用户B的属性集SB需满足以下属性集中的一个才能成功解密:(参与X课题研究、医院X)、(心脏病专家、心内科)、(心脏病专家、医院Y)、(心内科、医院Y);若上述属性集中一个或多个为用户B属性集SB的子集,则能解密出秘密值;
若x为叶子节点,令i=attr(x),并且定义如下:若i∈S,则
若x为非叶子节点,对于x的所有子节点z,令Fz=DecryptNode(CT,SK,x),设Sx是任意kx大小的满足Fz≠⊥的子节点z的集合;如果不存在这样的集合,则节点不满足,函数返回⊥;否则,计算并且返回结果;若SB满足访问树TR,设最后计算电子医疗数据明文完成电子医疗数据共享过程。
作为一件具体示例,步骤5所述的恶意用户追溯,具体如下:
步骤5.1、恶意用户篡改电子医疗数据;
步骤5.2、医疗机构A的AA节点对非法用户进行识别和追溯。
作为一件具体示例,步骤5.1所述的恶意用户篡改电子医疗数据,具体如下:
步骤5.1.1、恶意用户E按照步骤4获取电子医疗数据M;
步骤5.1.2、恶意用户E在M的基础上进行篡改,生成新的电子医疗数据M′,并根据访问策略P对M′进行属性加密生成CT′,然后通过服务器节点将CT′存入IPFS中;
步骤5.1.4、恶意用户E通过医疗机构E的服务器与联盟链进行交互,向联盟链中的节点发起数据存储请求,将恶意用户E的身份标识IDB、M′的哈希值HashM′、M的元数据MetadataM、访问控制策略P、以及M′在IPFS中的地址打包成交易后广播到联盟链中;
步骤5.1.5、联盟链节点在接收到恶意用户E提交的交易后,首先按照背书策略进行背书,对交易提案格式、交易提交重复性、交易签名以及交易提交者权限进行验证,进而模拟执行电子医疗数据,存储智能合约,生成背书响应;在收集到足够的背书响应后,进一步将交易进行封装并发送至联盟链进行排序;在对交易进行排序打包生成区块之后,联盟链节点将交易附上时间戳生成并存入联盟链账本中。
作为一件具体示例,步骤5.2所述的医疗机构A的AA节点对非法用户进行识别和追溯,具体如下:
下面结合附图和具体实施例,对本发明进一步的详细说明。
实施例
结合图1,本发明一种基于联盟链和CP-ABE的电子医疗数据共享系统,包括联盟链端和医疗机构端,其中联盟链端包括CA、联盟链账本和IPFS,医疗机构端包括服务器和AA;
所述CA,为可信第三方证书授权机构,用于生成和公开系统公共参数;
所述联盟链账本,用于存储交易记录;
所述IPFS,为星际文件系统,用于存储电子医疗数据密文;
所述服务器,用于进行交易过程管理;
所述AA,为属性认证节点,用于管理属性认证和属性密钥分发,实现属性认证和属性密钥分发记录的可追溯和追责。
进一步地,所述电子医疗数据共享系统包括一个联盟链端和多个医疗机构端,每个医疗机构端相对独立,各医疗机构端的数据全部保存于联盟链端的IPFS和联盟链账本中;设定用户A为医疗机构A的用户,用户B为医疗机构B的用户,恶意用户E为医疗机构E的用户。
结合图2、图3、图4,一种基于联盟链和CP-ABE的电子医疗数据共享方法,包括以下步骤:
步骤1、系统初始化:CA进行系统初始化,公开系统公共参数,并通过加密安全通道将系统主密钥分发给AA节点,具体如下:
步骤1.1、系统进行初始化:
CA首先输入系统安全参数λ,生成一个阶为素数p、生成元为g的双线性群G0和一个双线性映射e:G0×G0→G1;接下来选择两个随机指数α,β∈Zp,产生公开参数PKsys(G0,g,h=gβ,e(g,g)α)和主密钥MKsys(β,gα);
步骤1.2、系统密钥分发:
CA在系统内公布公开参数PKsys,联盟链中所有节点和用户都能够获得公开参数PKsys的值;同时,CA通过加密安全通道将主密钥MKsys分别发送给联盟负责属性授权的AA节点。
步骤2、属性密钥分发:所有想加入联盟链的用户,均需要在系统内进行注册;AA负责完成用户的注册申请,并通过安全信道为所有注册用户分发用户证书和属性密钥,具体如下:
步骤2.1、加入联盟链的用户A和用户B分别在本地秘密地生成公私密钥对(PKA,SKA)和(PKB,SKB),其中私钥SKA、SKB分别在本地秘密存储;
步骤2.2、用户A和用户B分别向医疗机构A和医疗结构B的服务器节点发送属性认证请求UAR,其中用户UA发送的属性认证请求UARA包括用户A的公钥PKA和用户身份标识IDA,用户UB发送的属性认证请求UARB包括用户B的公钥PKB和用户身份标识IDB;
步骤2.3、医疗机构A和医疗结构B的服务器节点分别收到用户A和用户B的属性认证请求并进行身份验证,将用户A的属性集SA和用户B的属性集SB分别发送至医疗机构A和医疗结构B的AA节点,医疗机构A和医疗结构B的AA节点分别验证用户A的属性集SA和用户B的属性集SB并签名,并将带有签名的用户属性集SA和SB发送到系统内其它医疗机构的AA节点,其它医疗机构的AA节点在验证过用户属性集后签名返回背书结果至医疗机构A和医疗结构B的AA节点;在医疗机构A和医疗结构B的AA节点收集到背书策略要求的足够AA节点背书后,将背书结果打包发送给排序节点,排序节点验证签名的有效性,并将结果进行排序打包成区块,然后发给所有AA节点,AA节点对区块进行验证后将其更新到联盟链账本中;
医疗机构A的AA节点使用用户A的属性SA和系统主密钥集MKsys(β,gα)为用户A生成相应的属性私钥选择随机数t∈Zp,对于用户A的每个属性i∈SA选择随机数ti∈Zp,计算用户A的属性密钥 然后将用户A的属性密钥使用用户A的公钥PKA加密成为属性密钥密文CTA发送给用户A;同样的,医疗结构B的AA节点首先使用用户B的属性SB和系统主密钥集MKsys(β,gα)为用户B生成相应的属性私钥选择随机数r∈Zp,对于用户B的每个属性j∈SB选择随机数rj∈Zp,计算用户B的属性密钥 然后将用户B的属性密钥使用用户B的公钥PKB加密成为密文CTB发送给用户B;
步骤3、医疗数据的加密与存储:用户A通过联盟链和链上智能合约,配合IPFS将医疗数据原始数据经过CP-ABE方案属性加密后存储在IPFS中,将原始医疗数据的哈希值、元数据及在IPFS中的地址存储在区块链上,具体如下:
步骤3.1、当用户A需要共享自己的数据时,用户A首先生成电子医疗数据明文M,然后指定访问树TR,自上而下的为访问树中的节点x随机选择多项式qx,其中多项式的度dx=kx-1;对根节点R,随机选择s∈Zp,令qR(0)=s;对其他节点x,qR(0)=qparent(index(x));然后设Y为TR中的子节点集,得到密文CT:
步骤3.2、用户A通过医疗机构A的服务器节点将电子医疗数据密文CT存入IPFS中;
步骤3.4、用户A通过医疗机构A的服务器节点与联盟链进行交互,向联盟链中的节点发起电子医疗数据存储请求,将用户A身份标识IDA、电子医疗数据元数据MetadataA、哈希值HashM、访问控制策略P、以及密文在IPFS中的地址打包成交易后广播到联盟链中;
步骤3.5、联盟链节点在接收到用户A提交的交易后,首先按照背书策略进行背书,对交易提案格式、交易提交重复性、交易签名以及交易提交者权限进行验证,进而模拟执行电子医疗数据,存储智能合约,生成背书响应;在收集到足够的背书响应后,进一步封装并发送至联盟链进行排序;在对交易进行排序打包生成区块之后,联盟链节将交易附上时间戳生成并存入联盟链账本中。
步骤4、医疗数据的获取与访问:当联盟链中的用户B需要访问由属性基加密后的电子医疗数据时,只有用户B的属性满足该密文的访问策略,才可以正确解密进行访问,以此实现对电子医疗数据细粒度的访问控制,具体如下:
步骤4.1、当用户B需要访问用户A共享的电子医疗数据时,用户B通过医疗结构B的服务器与联盟链进行交互,向联盟链中的账本发起电子医疗数据密文获取请求,将用户B的身份标识IDB、属性集SB以及电子医疗数据元数据MetadataM打包成交易Tx(MetadataM,IDB,SB)后广播到联盟链中;
步骤4.2、联盟链中的账本在接收到用户B提交的交易请求之后,查询用户B的属性认证记录,验证用户B的身份标识IDB、属性集SB;
步骤4.4、用户B调用医疗结构B的服务器在IPFS中对电子医疗数据密文CT进行下载,IPFS将电子医疗数据密文CT返回给用户B;
步骤4.5、用户B输入电子医疗数据密文CT和属性密钥客户端执行解密算法,对于访问树TR,用户B的属性集SB需满足以下属性集中的一个才能成功解密:(参与X课题研究、医院X)、(心脏病专家、心内科)、(心脏病专家、医院Y)、(心内科、医院Y);若上述属性集中一个或多个为用户B属性集SB的子集,则能解密出秘密值;
若x为叶子节点,令i=attr(x),并且定义如下:若i∈S,则
若x为非叶子节点,对于x的所有子节点z,令Fz=DecryptNode(CT,SK,x),设Sx是任意kx大小的满足Fz≠⊥的子节点z的集合;如果不存在这样的集合,则节点不满足,函数返回⊥;否则,计算并且返回结果;
步骤5、恶意用户追溯:当出现恶意用户E不正当的访问行为,AA利用区块链分布式共识机制完成恶意用户的追溯,确保电子医疗数据的安全使用,具体如下:
步骤5.1、恶意用户篡改电子医疗数据,具体如下:
步骤5.1.1、恶意用户E按照步骤4获取电子医疗数据M;
步骤5.1.2、恶意用户E在M的基础上进行篡改,生成新的电子医疗数据M′,并根据访问策略P对M′进行属性加密生成CT′,然后通过服务器节点将CT′存入IPFS中;
步骤5.1.4、恶意用户E通过医疗机构E的服务器与联盟链进行交互,向联盟链中的节点发起数据存储请求,将恶意用户E的身份标识IDB、M′的哈希值HashM′、M的元数据MetadataM、访问控制策略P、以及M′在IPFS中的地址打包成交易后广播到联盟链中;
步骤5.1.5、联盟链节点在接收到恶意用户E提交的交易后,首先按照背书策略进行背书,对交易提案格式、交易提交重复性、交易签名以及交易提交者权限进行验证,进而模拟执行电子医疗数据,存储智能合约,生成背书响应;在收集到足够的背书响应后,进一步将交易进行封装并发送至联盟链进行排序;在对交易进行排序打包生成区块之后,联盟链节点将交易附上时间戳生成并存入联盟链账本中。
步骤5.2、医疗机构A的AA节点对非法用户进行识别和追溯,具体如下:
本发明利用联盟链分布式共识机制,解决了传统中心化云服务器不完全可信问题,降低了传统加密方案及中心化CA机构遭受攻击的风险,缓解了CA机构的计算压力,实现分散的电子医疗数据的安全共享。在联盟链中引入AA节点来实现属性认证及恶意行为溯源功能,利用分布式共识实现了属性认证,联盟中的AA节点可以查询用户共享过程记录,实现恶意用户的追溯和追责。通过在链上存储电子医疗数据密文地址,链下IPFS中存储电子医疗数据密文,缓解了区块链链上的存储压力,使得系统的吞吐量大大提高。
Claims (10)
1.一种基于联盟链和CP-ABE的电子医疗数据共享系统,其特征在于,包括联盟链端和医疗机构端,其中联盟链端包括CA、联盟链账本和IPFS,医疗机构端包括服务器和AA;
所述CA,为可信第三方证书授权机构,用于生成和公开系统公共参数;
所述联盟链账本,用于存储交易记录;
所述IPFS,为星际文件系统,用于存储电子医疗数据密文;
所述服务器,用于进行交易过程管理;
所述AA,为属性认证节点,用于管理属性认证和属性密钥分发,实现属性认证和属性密钥分发记录的可追溯和追责。
2.根据权利要求1所述的基于联盟链和CP-ABE的电子医疗数据共享系统,其特征在于,所述电子医疗数据共享系统包括一个联盟链端和多个医疗机构端,每个医疗机构端相对独立,各医疗机构端的数据全部保存于联盟链端的IPFS和联盟链账本中;设定用户A为医疗机构A的用户,用户B为医疗机构B的用户,恶意用户E为医疗机构E的用户。
3.一种基于联盟链和CP-ABE的电子医疗数据共享方法,其特征在于,包括以下步骤:
步骤1、系统初始化:CA进行系统初始化,公开系统公共参数,并通过加密安全通道将系统主密钥分发给AA节点;
步骤2、属性密钥分发:所有想加入联盟链的用户,均需要在系统内进行注册;AA负责完成用户的注册申请,并通过安全信道为所有注册用户分发用户证书和属性密钥;
步骤3、医疗数据的加密与存储:用户A通过联盟链和链上智能合约,配合IPFS将医疗数据原始数据经过CP-ABE方案属性加密后存储在IPFS中,将原始医疗数据的哈希值、元数据及在IPFS中的地址存储在区块链上;
步骤4、医疗数据的获取与访问:当联盟链中的用户B需要访问由属性基加密后的电子医疗数据时,只有用户B的属性满足该密文的访问策略,才能够正确解密进行访问,以此实现对电子医疗数据细粒度的访问控制;
步骤5、恶意用户追溯:当出现恶意用户E不正当的访问行为,AA利用区块链分布式共识机制完成恶意用户的追溯,确保电子医疗数据的安全使用。
4.根据权利要求3所述的基于联盟链和CP-ABE的电子医疗数据共享方法,其特征在于,步骤1所述的系统初始化,具体如下:
步骤1.1、系统进行初始化:
CA首先输入系统安全参数λ,生成一个阶为素数p、生成元为g的双线性群G0和一个双线性映射e:G0×G0→G1;接下来选择两个随机指数α,β∈Zp,产生公开参数PKsys(G0,g,h=gβ,e(g,g)α)和主密钥MKsysβ,gα);
步骤1.2、系统密钥分发:
CA在系统内公布公开参数PKsys,联盟链中所有节点和用户都能够获得公开参数PKsys的值;同时,CA通过加密安全通道将主密钥MKsys分别发送给联盟负责属性授权的AA节点。
5.根据权利要求3所述的基于联盟链和CP-ABE的电子医疗数据共享方法,其特征在于,步骤2所述的属性密钥分发,具体如下:
步骤2.1、加入联盟链的用户A和用户B分别在本地秘密地生成公私密钥对(PKA,SKA)和(PKB,SKB),其中私钥SKA、SKB分别在本地秘密存储;
步骤2.2、用户A和用户B分别向医疗机构A和医疗结构B的服务器节点发送属性认证请求UAR,其中用户UA发送的属性认证请求UARA包括用户A的公钥PKA和用户身份标识IDA,用户UB发送的属性认证请求UARB包括用户B的公钥PKB和用户身份标识IDB;
步骤2.3、医疗机构A和医疗结构B的服务器节点分别收到用户A和用户B的属性认证请求并进行身份验证,将用户A的属性集SA和用户B的属性集SB分别发送至医疗机构A和医疗结构B的AA节点,医疗机构A和医疗结构B的AA节点分别验证用户A的属性集SA和用户B的属性集SB并签名,并将带有签名的用户属性集SA和SB发送到系统内其它医疗机构的AA节点,其它医疗机构的AA节点在验证过用户属性集后签名返回背书结果至医疗机构A和医疗结构B的AA节点;在医疗机构A和医疗结构B的AA节点收集到背书策略要求的足够AA节点背书后,将背书结果打包发送给排序节点,排序节点验证签名的有效性,并将结果进行排序打包成区块,然后发给所有AA节点,AA节点对区块进行验证后将其更新到联盟链账本中;
医疗机构A的AA节点使用用户A的属性SA和系统主密钥集MKsysβ,gα)为用户A生成相应的属性私钥选择随机数t∈Zp,对于用户A的每个属性i∈SA选择随机数ti∈Zp,计算用户A的属性密钥 然后将用户A的属性密钥使用用户A的公钥PKA加密成为属性密钥密文CTA发送给用户A;同样的,医疗结构B的AA节点首先使用用户B的属性SB和系统主密钥集MKsysβ,gα)为用户B生成相应的属性私钥选择随机数r∈Zp,对于用户B的每个属性j∈SB选择随机数rj∈Zp,计算用户B的属性密钥 然后将用户B的属性密钥使用用户B的公钥PKB加密成为密文CTB发送给用户B;
6.根据权利要求3所述的基于联盟链和CP-ABE的电子医疗数据共享方法,其特征在于,步骤3所述的电子医疗数据的加密与存储,具体如下:
步骤3.1、当用户A需要共享自己的数据时,用户A首先生成电子医疗数据明文M,然后指定访问树TR,自上而下的为访问树中的节点x随机选择多项式qx,其中多项式的度dx=kx-1;对根节点R,随机选择s∈Zp,令qR(0)=s;对其他节点x,qR(0)=qparent(index(x));然后设Y为TR中的子节点集,得到密文CT:
步骤3.2、用户A通过医疗机构A的服务器节点将电子医疗数据密文CT存入IPFS中;
步骤3.4、用户A通过医疗机构A的服务器节点与联盟链进行交互,向联盟链中的节点发起电子医疗数据存储请求,将用户A身份标识IDA、电子医疗数据元数据MetadataA、哈希值HashM、访问控制策略P、以及密文在IPFS中的地址打包成交易后广播到联盟链中;
7.根据权利要求3所述的基于联盟链和CP-ABE的电子医疗数据共享方法,其特征在于,步骤4所述的电子医疗数据的获取与访问,具体如下:
步骤4.1、当用户B需要访问用户A共享的电子医疗数据时,用户B通过医疗结构B的服务器与联盟链进行交互,向联盟链中的账本发起电子医疗数据密文获取请求,将用户B的身份标识IDB、属性集SB以及电子医疗数据元数据MetadataM打包成交易Tx(MetadataM,IDB,SB)后广播到联盟链中;
步骤4.2、联盟链中的账本在接收到用户B提交的交易请求之后,查询用户B的属性认证记录,验证用户B的身份标识IDB、属性集SB;
步骤4.4、用户B调用医疗结构B的服务器在IPFS中对电子医疗数据密文CT进行下载,IPFS将电子医疗数据密文CT返回给用户B;
步骤4.5、用户B输入电子医疗数据密文CT和属性密钥客户端执行解密算法,对于访问树TR,用户B的属性集SB需满足以下属性集中的一个才能成功解密:(参与X课题研究、医院X)、(心脏病专家、心内科)、(心脏病专家、医院Y)、(心内科、医院Y);若上述属性集中一个或多个为用户B属性集SB的子集,则能解密出秘密值;
若x为叶子节点,令i=attr(x),并且定义如下:若i∈S,则
8.根据权利要求3所述的基于联盟链和CP-ABE的电子医疗数据共享方法,其特征在于,步骤5所述的恶意用户追溯,具体如下:
步骤5.1、恶意用户篡改电子医疗数据;
步骤5.2、医疗机构A的AA节点对非法用户进行识别和追溯。
9.根据权利要求8所述的基于联盟链和CP-ABE的电子医疗数据共享方法,其特征在于,步骤5.1所述的恶意用户篡改电子医疗数据,具体如下:
步骤5.1.1、恶意用户E按照步骤4获取电子医疗数据M;
步骤5.1.2、恶意用户E在M的基础上进行篡改,生成新的电子医疗数据M′,并根据访问策略P对M′进行属性加密生成CT′,然后通过服务器节点将CT′存入IPFS中;
步骤5.1.4、恶意用户E通过医疗机构E的服务器与联盟链进行交互,向联盟链中的节点发起数据存储请求,将恶意用户E的身份标识IDB、M′的哈希值HashM′、M的元数据MetadataM、访问控制策略P、以及M′在IPFS中的地址打包成交易后广播到联盟链中;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211527224.9A CN115883214A (zh) | 2022-12-01 | 2022-12-01 | 基于联盟链和cp-abe的电子医疗数据共享系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211527224.9A CN115883214A (zh) | 2022-12-01 | 2022-12-01 | 基于联盟链和cp-abe的电子医疗数据共享系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115883214A true CN115883214A (zh) | 2023-03-31 |
Family
ID=85765184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211527224.9A Pending CN115883214A (zh) | 2022-12-01 | 2022-12-01 | 基于联盟链和cp-abe的电子医疗数据共享系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115883214A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116185974A (zh) * | 2023-04-28 | 2023-05-30 | 北京市农林科学院信息技术研究中心 | 基于区块链的渔业种质资源数据共享方法及系统 |
CN117390699A (zh) * | 2023-11-09 | 2024-01-12 | 河南大学 | 基于区块链的隐私保护在线医疗预诊断方法和系统 |
CN117574440A (zh) * | 2024-01-17 | 2024-02-20 | 浙江大学 | 基于多种签名技术的联盟链医疗数据确权溯源方法及系统 |
-
2022
- 2022-12-01 CN CN202211527224.9A patent/CN115883214A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116185974A (zh) * | 2023-04-28 | 2023-05-30 | 北京市农林科学院信息技术研究中心 | 基于区块链的渔业种质资源数据共享方法及系统 |
CN116185974B (zh) * | 2023-04-28 | 2023-08-04 | 北京市农林科学院信息技术研究中心 | 基于区块链的渔业种质资源数据共享方法及系统 |
CN117390699A (zh) * | 2023-11-09 | 2024-01-12 | 河南大学 | 基于区块链的隐私保护在线医疗预诊断方法和系统 |
CN117574440A (zh) * | 2024-01-17 | 2024-02-20 | 浙江大学 | 基于多种签名技术的联盟链医疗数据确权溯源方法及系统 |
CN117574440B (zh) * | 2024-01-17 | 2024-04-30 | 浙江大学 | 基于多种签名技术的联盟链医疗数据确权溯源方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112989415B (zh) | 一种基于区块链的隐私数据存储与访问控制方法及系统 | |
Liang et al. | PDPChain: A consortium blockchain-based privacy protection scheme for personal data | |
US10673626B2 (en) | Threshold secret share authentication proof and secure blockchain voting with hardware security modules | |
US20230070963A1 (en) | Blockchain-implemented method for control and distribution of digital content | |
WO2022042301A1 (zh) | 一种数据处理方法、装置、智能设备及存储介质 | |
Zhu et al. | TBAC: Transaction-based access control on blockchain for resource sharing with cryptographically decentralized authorization | |
US20210089676A1 (en) | Methods and systems for secure data exchange | |
CN111371561A (zh) | 基于cp-abe算法的联盟区块链数据访问控制方法 | |
Wang et al. | Security-aware and privacy-preserving personal health record sharing using consortium blockchain | |
CN111797415A (zh) | 基于区块链的数据共享方法、电子设备和存储介质 | |
KR102307574B1 (ko) | 블록체인을 기반으로 한 클라우드 데이터 저장 시스템 및 데이터 저장 방법 | |
WO2014086166A1 (zh) | 一种预防性电子数据保全的方法及系统 | |
CN115883214A (zh) | 基于联盟链和cp-abe的电子医疗数据共享系统及方法 | |
CN113326541B (zh) | 一种基于智能合约的云边协同多模式隐私数据流转方法 | |
US8806206B2 (en) | Cooperation method and system of hardware secure units, and application device | |
CN106789080A (zh) | 数字签名生成方法和系统 | |
CN113065961A (zh) | 一种电力区块链数据管理系统 | |
CN111010430B (zh) | 一种基于双链结构的云计算安全数据共享方法 | |
CN115065679B (zh) | 基于区块链的电子健康档案共享模型、方法、系统和介质 | |
Win et al. | Privacy enabled digital rights management without trusted third party assumption | |
Ramesh et al. | Blockchain based efficient tamper-proof EHR storage for decentralized cloud-assisted storage | |
CN114553582A (zh) | 基于国密算法和ipfs的电子病历共享方法 | |
Guo et al. | Using blockchain to control access to cloud data | |
Mittal et al. | A novel two-level secure access control approach for blockchain platform in healthcare | |
CN113673893A (zh) | 退役动力电池管理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |