CN110008746B - 基于区块链的医疗记录存储、共享和安全理赔模型及方法 - Google Patents
基于区块链的医疗记录存储、共享和安全理赔模型及方法 Download PDFInfo
- Publication number
- CN110008746B CN110008746B CN201910255280.3A CN201910255280A CN110008746B CN 110008746 B CN110008746 B CN 110008746B CN 201910255280 A CN201910255280 A CN 201910255280A CN 110008746 B CN110008746 B CN 110008746B
- Authority
- CN
- China
- Prior art keywords
- patient
- entity
- medical
- medical record
- doctor
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000003860 storage Methods 0.000 title claims abstract description 62
- 230000008569 process Effects 0.000 claims description 47
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 claims description 17
- 238000012163 sequencing technique Methods 0.000 claims description 16
- 201000010099 disease Diseases 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 claims description 7
- 238000012550 audit Methods 0.000 claims description 6
- 239000004744 fabric Substances 0.000 claims description 5
- 238000003745 diagnosis Methods 0.000 claims description 4
- 238000013475 authorization Methods 0.000 claims description 3
- 230000000903 blocking effect Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000001172 regenerating effect Effects 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims description 2
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 238000005215 recombination Methods 0.000 claims description 2
- 230000006798 recombination Effects 0.000 claims description 2
- 239000004576 sand Substances 0.000 claims description 2
- 238000012795 verification Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000013523 data management Methods 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013329 compounding Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6272—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database by registering files or documents with a third party
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Epidemiology (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Medical Treatment And Welfare Office Work (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于医疗数据管理技术领域,涉及一种基于区块链的医疗记录存储、共享和安全理赔模型及方法。首先,利用区块链技术实现医疗机构间患者医疗数据的可信共享,为患者建立终身医疗记录;基于哈希链式存储结构,医疗数据不可篡改;其次,提出改进的基于CP‑ABE的密码原语SHDPCPC‑CP‑ABE,实现了对医疗数据的安全加密以及细粒度访问控制,方便患者高效地访问和授权医疗机构读取医疗数据;最后,利用Paillier同态加密技术,实现了安全的医疗保险理赔,在患者与第三方非医疗机构交互时保护了患者的隐私。本发明的可实现医疗数据的安全性、保密性、可靠性、完整性并支持隐私数据的机密共享。
Description
技术领域
本发明属于医疗数据管理技术领域,特别涉及改进的基于CP-ABE的密码原语--半策略隐藏以及动态更改访问策略的属性加密(SHDPCPC-CP-ABE)、外部存储IPFS、改进的加性同态加密Paillier算法等技术,具体是一种基于区块链的医疗记录存储、共享和安全理赔模型及方法,可用于区块链技术下的数据安全存储和共享并且可以实现安全理赔。
背景技术
近年来,区块链技术兴起并广泛的应用于金融、医疗等领域。区块链是一个不断增长的记录链表,这些记录通过加密技术连接起来。由于密码散列函数的安全性,这种结构很难被篡改。通常,区块链使用链式结构存储数据,通过共识协议生成和更新分布式节点之间的数据,加密散列函数确保安全,自动化脚本代码运行智能合约。
IPFS(InterPlanetary File System)是一个对等分布式文件***,旨在将所有计算设备连接到同一个文件***。IPFS可以看作一个单独的BitTorrent群,在Git仓库中交换对象。同时,IPFS提供了一个高吞吐量的内容可寻址块存储模型,以及内容可寻址的超链接。这形成了一个通用的Merkle DAG,一个可以构建版本化文件***的数据结构。IPFS结合了一个分布式哈希表来激励块交换和自认证命名空间。DHT(Distributed Hash Table)和Bitswap允许IPFS形成一个庞大的点对点***,以便快速、可靠地存储和分发数据块。此外,IPFS还构建了一个Merkle DAG,一个有向无环图,其中对象之间的链接是嵌入在源中目标的加密散列。Merkle DAG为IPFS提供了许多有价值的属性。第一个是内容寻址,其中所有内容都由其多哈希校验和(包括链接)标识。第二个是防篡改,所有内容都通过校验和进行验证。IPFS还为分发大型文件和版本控制提供以下解决方案。最初,使用LBFS(Low-bandwidthNetwork File System)中的Rabin Fingerprint选择适当的块边界。此外,使用rsync滚动校验和算法检测版本之间发生变化的块。最后,允许用户为特定的文件高度调整指定块拆分函数。
CP-ABE(Ciphertext-Policy Attribute-Based Encryption)是一种公钥加密算法,它使用访问树对数据进行加密,并在一组属性上生成用户的密钥。密文对应于一个访问结构而密钥对应于属性集合,当且仅当属性集合中的属性能够满足此访问结构才可以进行解密。这种设计符合医疗中的应用场景,医护人员根据自身属性生成密钥,然后患者来制定访问策略以便实现医疗记录的细粒度的访问控制。
同态加密是一种加密形式,其允许对密文进行计算,生成一个密文的计算结果,当解密时,该结果与明文的计算结果相匹配。Paillier加密基于复合剩余类的困难问题。该加密算法是一种同态加密,满足加法和数乘同态。
随着前沿信息技术的不断发展,越来越多的医疗机构开始应用电子医疗记录管理***。医疗数据是患者隐私的集合,诸如患者的个人身份信息、医疗记录、医疗图像、专家诊断、遗传基因等,这些数据都是极为隐私并且需要被安全的管理的。然而,医疗机构与第三方机构,比如保险公司,都需要频繁的访问患者的个人医疗记录。因此平衡安全存储、隐私保护以及医疗数据的访问控制成为热点问题,医疗数据的管理给医疗机构带来新挑战。
在传统的以医疗机构为中心的电子医疗记录管理***中,患者的医疗数据由医疗机构进行管理,患者无法直接浏览、控制自己的医疗数据。此外,患者医疗记录存储在单独的医疗机构中,医疗数据的共享变得困难,这使得医疗机构间的互操作性变低,也使得患者的个人医疗信息以碎片化的形式存储,不能为患者构建完整的终身医疗信息。然后,传统的医疗数据中心化存储带来了巨大的风险,数据丢失、遭受黑客攻击等事件层出不穷。并且,在极端情况下,当发生医疗纠纷时,医疗机构中的数据管理人员甚至可以直接修改医疗数据,不利于维护患者的权益。此外,在第三方非医疗机构例如保险公司进行理赔时,将会核对患者的医疗信息,这实际上侵犯了患者的隐私。
现在已经有一些医疗记录管理***关注以上问题并做出改进。例如,美国的政府机构the Blue Button Connector、Apple’s Mobile Healthcare Application以及GoogleHealth。然而这些***仍然没有妥善的解决电子医疗记录管理***的安全性、可靠性以及可追踪性。
发明内容
针对上述问题,本发明提出一种基于区块链的医疗记录存储、共享和安全理赔模型及方法。
本发明的技术方案:
一种基于区块链的医疗记录存储、共享和安全理赔模型,包含五部分:患者实体、医生实体、保险公司实体、可信区块链Hyperledger Fabric以及外部存储IPFS;患者实体与可信区块链和外部存储IPFS相连,医生实体与可信区块链和保险公司实体相连,五个实体互相交互;患者实体应用基于CP-ABE的密码原语改进的SHDPCPC-CP-ABE加密算法将医疗记录加密,将加密后的医疗记录存储到外部存储IPFS,并将根据存储内容生成的HashIndex存储到可信区块链;患者通过更改访问策略,动态授权医生读取医疗信息;保险公司实体发送应用改进的Paillier加密的保险信息给医生实体,获得患者授权后,医生实体将加密的保险信息与患者病例信息进行密文计算并将结果发送给保险公司实体,保险公司根据医生实体发来的密文计算结果判断是否需要对当前疾病进行理赔。
一种基于区块链的医疗记录存储、共享和安全理赔方法,通过可信区块链Hyperledger Fabric防止医疗数据被篡改,通过改进的基于CP-ABE的密码原语SHDPCPC-CP-ABE加密电子医疗记录实现半策略隐藏以及动态改变访问权限的功能;
所述的可信区块链Hyperledger Fabric基于哈希链式存储结构;当患者发起交易请求时,通过Fabric SDK(Software Development Kit)调用增加病历智能合约,经过背书节点背书后,将交易请求发送到排序节点,排序节点进行排序并打包进区块,当新区块生成时,通过gossip协议送到通道的所有的节点,验证合法后提交交易并更新状态数据库(世界状态);由于可信联盟区块链状态数据库存储容量有限,采用外部存储IPFS***,将密文的医疗记录以Merkle DAG的结构分块存入外部存储IPFS中并生成对应的哈希索引HashIndex,实现高吞吐量以及放篡改的要求;区块链中以增加的方式存储患者医疗记录的HashIndex,对应的密文存储在外部存储IPFS中。
所述的改进的基于CP-ABE的密码原语SHDPCPC-CP-ABE,密码原语过程如下:
初始化过程Setup(1λ,U)→pk,msk:
输入安全参数λ以及属性集合U;随机选取一个随机的参数以及为一个关于p的素数阶群,为一个素序P的双线性群,生成元为其中i=1,2,...,n,n+2,...,2n;随机选取随机选取并设置v=gγ,定义函数其中ls,max是允许在子访问集合矩阵的行数最大值,m是能够作为秘钥的属性子集的最大值;输出公钥pk=(g,g1,...,gn,gn+2,...,g2n,v,h0,...,hm′),主密钥msk=(α,γ)。
密钥生成过程KeyGen(pk,msk,S=(s1,...,sn))→sk:
加密过程Encrypt(pk,M∈GT,(A,ρ,Γ))→ct:
设置A为ls×ks的生成矩阵,映射ρ将生成矩阵的每一行映射为每个属性名,其中是输入的属性值,ρ(i)是访问策略指定的值,随机选取使计算λi=Mi·u,其中Mi是M的第i行;输出密文其中C=M·e(gn,g1)s,e是双线性映射关系符,C(1)=gs,C(3)=(vΠj∈Sgn+1-j)s;ls和ks分别为子访问集合矩阵的行数和列数。
解密过程Decrypt(pk,sk,ct,Γ)→M:
具体步骤如下:
(1)基于IPFS和可信区块链存储结构增加医疗记录:
(1a)医生对病人进行诊断并生成新的病历,病历包括诊断信息、疾病的哈希索引值及医生私钥生成的签名;在医生实体中,医生采用对称密钥将医疗记录加密,并用患者的公钥对加密密钥进行加密,随后,将医疗密文和加密后的对称秘钥发送给患者实体;
(1b)患者实体在接收到医生实体发来的医疗密文和加密后的对称秘钥后,解密获得医疗记录;运行SHDPCPC-CP-ABE加密过程的Setup(1λ,U),输出pk和msk并存储在患者实体中;患者根据实际情况设置访问权限;患者实体运行Encrypt(pk,M∈GT,(A,ρ,Γ)过程对医疗记录进行加密,输出密文并将密文提交到外部存储IPFS中;随后,外部存储IPFS返回一个Hash Index给患者实体;
(1c)患者实体初始化交易请求,通过Fabric SDK发起增加医疗记录索引的交易请求,调用增加医疗记录索引智能合约;
(1d)背书节点对交易请求背书完成后,交易请求被发送给排序节点;排序节点将一段时间内的所有请求排序并打包生成区块;通过gossip协议发送给通道内的所有节点;交易验证合法后,提交交易请求并将医疗记录的Hash Index写入状态数据库;
(1e)患者实体给医生实体发送通知,表示医疗记录已经添加完成;
(2)基于SHDPCPC-CP-ABE加密算法更改访问策略:
(2a)医生实体向患者实体发送读患者医疗记录的请求以及用患者公钥加密的医生的属性集合s;
(2c)患者实体更新外部存储IPFS中的密文,并重新生成Hash Index;
(2d)患者实体发起交易请求,调用更新医疗记录智能合约并且更新状态数据库中对应的Hash Index;
(2e)患者实体发送通知以及pk和msk给医生实体;医生实体调用读取医疗记录智能合约,得到对应的Hash Index并从外部存储IPFS中取出医疗记录密文;
(2f)医生实体运行KeyGen(pk,msk,S=(s1,...,sn))过程,并输入医生的属性集合S=(s1,...,sn)、pk和msk来输出私钥sk;然后,运行解密过程Decrypt(pk,sk,ct,Γ)获取明文的医疗信息;
(3)基于Paillier同态加密过程进行安全理赔:
(3a)患者向保险公司提交理赔请求,保险公司实体应用改进的Paillier加密过程对保险信息中的疾病进行加密,将每种疾病保险信息加密的结果E(M1),E(M2),...,E(Mn)发送给医生实体,加密过程如下:
加密初始化:随机选择公钥n=p×q,其中p和q都是素数;私钥为b=λ-1modn,其中λ=lcm(p-1,q-1)。
(3b)医生实体调用读取医疗记录智能合约,在患者授权后得到医疗记录,通过改进的Paillier加密过程加密需要理赔的疾病M,生成E(M),然后计算E(M1)×E(M)-1,E(M2)×E(M)-1,...,E(Mn)×E(M)-1,并将计算结果无序存入数组A[n]中;
(3c)保险公司实体解密数组A[n]中的结果,如果存在0,则说明可以理赔,否则不需要理赔;解密过程如下:
(3d)如果保险公司对患者的理赔资料提出质疑,则调用审计智能合约对患者的医疗记录的真实性进行审计;经患者授权后,读取患者的病历。
本发明与现有技术相比具有以下优点:
(1)安全存储:
本发明中医疗数据的存储是经由改进的基于CP-ABE的密码原语SHDPCPC-CP-ABE加密后存入外部存储IPFS中并以Merkle DAG的形式分块存储,输出的Hash Index以附加的形式存入区块链的状态数据库中,保证了患者医疗数据的隐私性,对传统的安全攻击具有很好的抵御能力。例如,攻击者即便破解了状态数据库,也无法获得患者的医疗记录,只能获取哈希索引,而患者的医疗记录经由安全的密码原语SHDPCPC-CP-ABE加密保护,攻击者无法破解;以上这些技术都可以保证本发明模型与方法的安全性、真实性与有效性。其次,在医疗纠纷中,需要司法鉴定机构的介入,而司法鉴定专家大部分由权威医疗专家组成,为了防止司法鉴定专家袒护涉事医生,本发明采用SHDPCPC-CP-ABE加密的半策略隐藏功能,隐去具有访问权限的医生个人属性信息,以确保司法鉴定过程中主体的中立性;最后,本发明的模型实现了安全理赔过程,在患者、医院、保险公司三方开启理赔流程后,患者的医疗信息、保险信息都是通过Paillier算法来加密,应用密文进行计算,保证了患者的隐私安全;
(2)信息共享:
首先,基于区块链的去中心化、分布式架构,可以在不同医院间实现医疗记录索引共享,增加医疗机构间对医疗数据的互操作性。并应用SHDPCPC-CP-ABE加密,患者可以动态的改变访问策略以实现高效、安全、可控的信息共享;其次,通过患者、医生、保险公司三方实体的交互以及智能合约(链上代码)使得每一交易均以真实时间记录在区块链中,保证医疗数据操作的可追踪性和不可篡改性;
(3)访问控制:
应用SHDPCPC-CP-ABE加密,患者可以根据实际情况,动态地改变访问策略以实现细粒度的访问控制。医生实体需要先向患者实体提出请求,然后患者实体更改访问策略,重新加密部分的密文其中通过如下计算过程 然后重新生成对应的Hash Index存入状态数据,这样医生实体就可以根据自己的属性以及患者提供的公钥以及主密钥来生成对应的私钥进行解密,实现了患者医疗记录的良好的访问控制。
(4)隐私保护:
患者的病历不直接存储在区块链中,使用SHDPCPC-CP-ABE加密在IPFS中加密,状态数据库只存储相应的哈希索引,降低了患者医疗数据泄露的可能性,即使区块链受到恶意攻击,也不会泄露患者的隐私。更重要的是,由于IPFS中患者的密文医疗记录是零散的,存储在Merkle DAG中,增加了数据混淆的程度,有效地保护了患者的隐私。本发明提出了SHDPCPC-CP-ABE密码原语,只有符合访问策略的用户才能解密患者的病历,从而实现细粒度的访问控制和隐私保护。SHDPCPC-CP-ABE密码原语的半策略隐藏特性可以保护患者和医生的隐私属性。在解密过程中,用户只需要自己的属性集,不能知道满足访问策略的其他用户的属性集。最后,在索赔过程中,医院只接收病人保险信息的密文,在加密方案的安全性条件下,不能自行解密,无法获知患者保险信息。保险公司只能获取计算结果,而不能获取患者的明文医疗信息,这保证了与第三方交互过程中患者敏感数据的隐私。
附图说明
图1是本发明的各个部分基于可信区块链的交互总览图;
图2是本发明中向存储机制中增加医疗记录的子流程图;
图3是本发明中更改访问策略的子流程图;
图4是本发明中授权读取医疗记录的子流程图;
图5是本发明中应用Paillier加密的安全理赔的子流程图。
具体实施方式
下面结合附图和技术方案对本发明的实施例和效果做详细的描述。
传统的以医疗机构为中心的电子医疗记录管理***中,患者的医疗数据由医疗机构进行管理,患者无法直接浏览、控制自己的医疗数据。此外,患者医疗记录存储在单独的医疗机构中,医疗数据的共享变得困难,使得医疗机构间的互操作性变低,也使得患者的个人医疗信息以碎片化的形式存储,不能为患者构建完整的终身医疗信息。然后,传统的医疗数据中心化存储带来了巨大的风险,数据丢失、遭受黑客攻击等事件层出不穷。并且,在极端情况下,当发生医疗纠纷时,医疗机构中的数据管理人员甚至可以直接修改医疗数据,不利于维护患者的权益。此外,在第三方非医疗机构例如保险公司进行理赔时,将会核对患者的医疗信息,这实际上侵犯了患者的隐私。为此,本发明提出一种基于区块链的医疗记录存储、共享和安全理赔的模型。
本发明基于区块链的医疗记录存储、共享和安全理赔的模型,参见图1,包含五个实体:患者实体、医生实体、保险公司实体、可信区块链Hyperledger Fabric以及外部存储IPFS;五个实体互相交互,进而保证了医疗记录的安全性、权威性以及健全性。患者实体应用基于CP-ABE的密码原语改进的SHDPCPC-CP-ABE加密算法将医疗记录加密,将加密后的医疗记录存储到外部存储IPFS,并将根据存储内容生成的Hash Index存储到可信区块链;患者通过更改访问策略,动态授权医生实体读取其医疗信息;保险公司实体发送应用改进的Paillier加密的保险信息给医生实体,获得患者授权后,医生实体将加密的保险信息与患者病例信息进行密文计算并将结果发送给保险公司实体,保险公司根据医生实体发来的密文计算结果判断是否需要对当前疾病进行理赔。
在本发明中,所述可信区块链Hyperledger Fabric基于哈希链式存储结构,医疗数据不易被篡改;当患者发起交易请求时,通过Fabric SDK调用增加病历智能合约,经过背书节点背书后,将交易请求发送到排序节点,排序节点进行排序并打包进区块,当新区块生成时,通过gossip协议被送到这个通道的所有的节点,验证合法后将提交交易并更新状态数据库(世界状态);由于联盟区块链状态数据库存储容量有限,采用外部存储IPFS***,将密文的医疗记录以Merkle DAG的结构分块存入外部存储IPFS中并生成对应的Hash Index,实现高吞吐量以及放篡改的要求;区块链中以增加的方式存储患者医疗记录的HashIndex,对应的密文存储在外部存储IPFS中。
本发明还改进了CP-ABE,提出改进的基于CP-ABE的密码原语SHDPCPC-CP-ABE,实现了半策略隐藏以及动态改变访问权限的功能;半策略隐藏可以保障第三方机构无法获知相关医生的个人属性信息,保障司法鉴定过程中鉴定组专家不会因为识别出涉事医生身份而袒护医生,保证司法鉴定主体的中立性,动态改变访问权限可以实现患者对个人医疗记录的访问权限的细粒度控制,密码原语过程如下:
初始化过程Setup(1λ,U)→pk,msk:
输入安全参数λ以及属性集合U;随机选取一个随机的参数以及生成元为其中i=1,2,...,n,n+2,...,2n;输出公钥pk=(g,g1,...,gn,gn+2,...,g2n,v,h0,...,hm′),主密钥msk=(α,γ)。
密钥生成过程KeyGen(pk,msk,S=(s1,...,sn))→sk:
加密过程Encrypt(pk,M∈GT,(A,ρ,Γ))→ct:
设置A为ls×ks的生成矩阵,映射ρ将生成矩阵的每一行映射为每个属性名,其中是属性值,ρ(i)是访问策略指定的值;输出密文其中C=M·e(gn,g1)s,C(1)=gs,C(3)=(vΠj∈sgn+1-j)s。
解密过程Decrypt(pk,sk,ct,Γ)→M:
一种基于区块链的医疗记录存储、共享和安全理赔的方法,参见图2-5,包括有如下步骤:
(1)基于IPFS和可信区块链存储结构增加医疗记录:
(1a)医生对病人进行诊断并生成新的病历,病历包括诊断信息、疾病的哈希值及医生私钥生成的签名;在医生实体中,医生采用对称密钥将医疗记录加密,并用患者的公钥对加密密钥进行加密,随后,将医疗密文和加密后的对称秘钥发送给患者实体;
(1b)患者实体在接收到医生实体发来的医疗密文和加密后的对称秘钥后,解密获得医疗记录;运行SHDPCPC-CP-ABE加密过程的Setup(1λ,U)以输出pk和msk并存储在患者实体中;患者根据实际情况设置访问权限;患者实体运行Encrypt(pk,M∈GT,(A,ρ,Γ)过程对医疗记录进行加密,输出密文并将密文提交到外部存储IPFS中;随后,外部存储IPFS返回一个Hash Index给患者实体;
(1c)患者实体初始化交易请求,通过Fabric SDK发起增加医疗记录索引的交易请求,调用增加医疗记录索引智能合约;
(1d)背书节点对交易请求背书完成后,交易请求被发送给排序节点;排序节点将一段时间内的所有请求排序并打包生成区块;通过gossip协议发送给通道内的所有节点;交易验证合法后,提交交易请求并将医疗记录的Hash Index写入状态数据库;
(1e)患者实体给医生实体发送通知,表示医疗记录已经添加完成;
(2)基于SHDPCPC-CP-ABE加密算法更改访问策略:
(2a)医生实体向患者实体发送读患者医疗记录的请求以及用患者公钥加密的医生的属性集合s;
(2c)患者实体更新外部存储IPFS中的密文,并重新生成Hash Index;
(2d)患者实体发起交易请求,调用更新医疗记录智能合约并且更新状态数据库中对应的Hash Index;
(2e)患者实体发送通知以及pk和msk给医生实体;医生实体调用读取医疗记录智能合约,得到对应的Hash Index并从外部存储IPFS中取出医疗记录密文;
(2f)医生实体运行KeyGen(pk,msk,S=(s1,...,sn))算法,并输入医生的属性集合S=(s1,...,sn)、pk和msk来输出私钥sk;然后,运行解密过程Decrypt(pk,sk,ct,Γ)获取明文的医疗信息;
(3)基于Paillier同态加密算法进行安全理赔:
(3a)患者向保险公司提交理赔请求,保险公司实体应用改进的Paillier加密过程对保险信息中的疾病进行加密,将加密结果E(M1),E(M2),...,E(Mn)发送给医生实体,加密过程如下:
加密初始化:随机选择公钥n=p×q,其中p和q都是素数;私钥为b=λ-1modn,其中λ=lcm(p-1,q-1)。
(3b)医生实体调用读取医疗记录智能合约,在患者授权后得到医疗记录,通过改进的Paillier加密过程加密需要理赔的疾病M,生成E(M),然后计算E(M1)×E(M)-1,E(M2)×E(M)-1,...,E(Mn)×E(M)-1,并将计算结果无序存入数组A[n]中;
(3c)保险公司实体解密数组A[n]中的结果,如果存在0,则说明可以理赔,否则不需要理赔;解密过程如下:
(3d)如果保险公司对患者的理赔资料提出质疑,则调用审计智能合约对患者的医疗记录的真实性进行审计;经患者授权后,读取患者的病历。
综上所述,本发明公开的基于区块链的医疗记录存储、共享和安全理赔的模型及方法,主要解决患者患者医疗记录的安全存储、安全共享、访问权限控制以及医院或其他第三方频繁访问患者医疗记录易发的隐私泄露问题。模型包含五个实体:患者实体、医生实体、保险公司实体、可信区块链Hyperledger Fabric以及外部存储IPFS。本发明有效实现***的安全存储、信息共享、访问控制和隐私保护功能并提出了改进的基于CP-ABE的密码原语--半策略隐藏以及动态更改访问策略的属性加密(SHDPCPC-CP-ABE),实现了患者对个人医疗记录的所有权、访问权限的动态控制,并确保了司法鉴定过程中司法机构的中立性。并通过改进的Paillier加密实现不需查看患者医疗数据明文,即可实现安全理赔。本模型和方法具有很强的创新与实用价值。
Claims (3)
1.一种基于区块链的医疗记录存储、共享和安全理赔模型,其特征在于,所述的模型包含五部分:患者实体、医生实体、保险公司实体、可信区块链Hyperledger Fabric以及外部存储IPFS;患者实体与可信区块链和外部存储IPFS相连,医生实体与可信区块链和保险公司实体相连,五个实体互相交互;患者实体应用基于CP-ABE的密码原语改进的SHDPCPC-CP-ABE加密算法将医疗记录加密,将加密后的医疗记录存储到外部存储IPFS,并将根据存储内容生成的HashIndex存储到可信区块链;患者通过更改访问策略,动态授权医生读取医疗信息;保险公司实体发送应用改进的Paillier加密的保险信息给医生实体,获得患者授权后,医生实体将加密的保险信息与患者病例信息进行密文计算并将结果发送给保险公司实体,保险公司根据医生实体发来的密文计算结果判断是否需要对当前疾病进行理赔;
所述的改进的基于CP-ABE的密码原语SHDPCPC-CP-ABE,密码原语过程如下:
初始化过程Setup(1λ,U)→pk,msk:
输入安全参数λ以及属性集合U;随机选取一个随机的参数以及 为一个关于p的素数阶群,为一个素序P的双线性群,生成元为其中i=1,2,...,n,n+2,...,2n;随机选取随机选取并设置v=gγ,定义函数m′=m+ls,max-1,其中ls,max是允许在子访问集合矩阵的行数最大值,m是能够作为秘钥的属性子集的最大值;输出公钥pk=(g,g1,...,gn,gn+2,...,g2n,v,h0,...,hm′),主密钥msk=(α,γ);
密钥生成过程KeyGen(pk,msk,S=(s1,...,sn))→sk:
加密过程Encrypt(pk,M∈GT,(A,ρ,Γ))→ct:
设置A为ls×ks的生成矩阵,映射ρ将生成矩阵的每一行映射为每个属性名,其中是输入的属性值,ρ(i)是访问策略指定的值,随机选取使计算λi=Mi·u,其中Mi是M的第i行;输出密文其中C=M·e(gn,g1)s,e是双线性映射关系符,C(1)=gs,C(3)=(vΠj∈Sgn+1-j)s;ls和ks分别为子访问集合矩阵的行数和列数;
解密过程Decrypt(pk,sk,ct,Γ)→M:
所述改进的Paillier加密过程如下:
加密初始化:随机选择公钥n=p×q,其中p和q都是素数;私钥为b=λ-1modn,其中λ=lcm(p-1,q-1);
2.一种基于区块链的医疗记录存储、共享和安全理赔方法,采用权利要求1所述的模型,通过可信区块链Hyperledger Fabric防止医疗数据被篡改,通过改进的基于CP-ABE的密码原语SHDPCPC-CP-ABE加密电子医疗记录实现半策略隐藏以及动态改变访问权限的功能;其特征在于,具体步骤如下:
(1)基于IPFS和可信区块链存储结构增加医疗记录:
(1a)医生对病人进行诊断并生成新的病历,病历包括诊断信息、疾病的哈希索引值及医生私钥生成的签名;在医生实体中,医生采用对称密钥将医疗记录加密,并用患者的公钥对加密密钥进行加密,随后,将医疗密文和加密后的对称秘钥发送给患者实体;
(1b)患者实体在接收到医生实体发来的医疗密文和加密后的对称秘钥后,解密获得医疗记录;运行SHDPCPC-CP-ABE加密过程的Setup(1λ,U),输出pk和msk并存储在患者实体中;患者根据实际情况设置访问权限;患者实体运行Encrypt(pk,M∈GT,(A,ρ,Γ))过程对医疗记录进行加密,输出密文并将密文提交到外部存储IPFS中;随后,外部存储IPFS返回一个HashIndex给患者实体;
(1c)患者实体初始化交易请求,通过Fabric SDK发起增加医疗记录索引的交易请求,调用增加医疗记录索引智能合约;
(1d)背书节点对交易请求背书完成后,交易请求被发送给排序节点;排序节点将一段时间内的所有请求排序并打包生成区块;通过gossip协议发送给通道内的所有节点;交易验证合法后,提交交易请求并将医疗记录的HashIndex写入状态数据库;
(1e)患者实体给医生实体发送通知,表示医疗记录已经添加完成;
(2)基于SHDPCPC-CP-ABE加密算法更改访问策略:
(2a)医生实体向患者实体发送读患者医疗记录的请求以及用患者公钥加密的医生的属性集合s;
(2c)患者实体更新外部存储IPFS中的密文,并重新生成Hash Index;
(2d)患者实体发起交易请求,调用更新医疗记录智能合约并且更新状态数据库中对应的HashIndex;
(2e)患者实体发送通知以及pk和msk给医生实体;医生实体调用读取医疗记录智能合约,得到对应的HashIndex并从外部存储IPFS中取出医疗记录密文;
(2f)医生实体运行KeyGen(pk,msk,S=(s1,...,sn))过程,并输入医生的属性集合S=(s1,...,sn)、pk和msk来输出私钥sk;然后,运行解密过程Decrypt(pk,sk,ct,Γ)获取明文的医疗信息;
(3)基于Paillier同态加密过程进行安全理赔:
(3a)患者向保险公司提交理赔请求,保险公司实体应用改进的Paillier加密过程对保险信息中的疾病进行加密,将每种疾病保险信息加密的结果E(M1),E(M2),...,E(Mn)发送给医生实体;
(3b)医生实体调用读取医疗记录智能合约,在患者授权后得到医疗记录,通过改进的Paillier加密过程加密需要理赔的疾病M,生成E(M),然后计算E(M1)×E(M)-1,E(M2)×E(M)-1,...,E(Mn)×E(M)-1,并将计算结果无序存入数组A[n]中;
(3c)保险公司实体解密数组A[n]中的结果,如果存在0,则说明可以理赔,否则不需要理赔;解密过程如下:
(3d)如果保险公司对患者的理赔资料提出质疑,则调用审计智能合约对患者的医疗记录的真实性进行审计;经患者授权后,读取患者的病历。
3.根据权利要求2所述的一种基于区块链的医疗记录存储、共享和安全理赔方法,其特征在于:
所述的可信区块链Hyperledger Fabric基于哈希链式存储结构;当患者发起交易请求时,通过Fabric SDK调用增加病历智能合约,经过背书节点背书后,将交易请求发送到排序节点,排序节点进行排序并打包进区块,当新区块生成时,通过gossip协议送到通道的所有的节点,验证合法后提交交易并更新状态数据库;由于可信联盟区块链状态数据库存储容量有限,采用外部存储IPFS***,将密文的医疗记录以Merkle DAG的结构分块存入外部存储IPFS中并生成对应的哈希索引Hash Index,实现高吞吐量以及放篡改的要求;区块链中以增加的方式存储患者医疗记录的Hash Index,对应的密文存储在外部存储IPFS中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910255280.3A CN110008746B (zh) | 2019-04-01 | 2019-04-01 | 基于区块链的医疗记录存储、共享和安全理赔模型及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910255280.3A CN110008746B (zh) | 2019-04-01 | 2019-04-01 | 基于区块链的医疗记录存储、共享和安全理赔模型及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110008746A CN110008746A (zh) | 2019-07-12 |
CN110008746B true CN110008746B (zh) | 2020-11-03 |
Family
ID=67169134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910255280.3A Active CN110008746B (zh) | 2019-04-01 | 2019-04-01 | 基于区块链的医疗记录存储、共享和安全理赔模型及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110008746B (zh) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110535833B (zh) * | 2019-08-07 | 2020-06-09 | 中国石油大学(北京) | 一种基于区块链的数据共享控制方法 |
CN110457929B (zh) * | 2019-08-16 | 2021-01-19 | 重庆华医康道科技有限公司 | 异构his大数据实时加解密压缩上链的共享方法及*** |
CN110471991A (zh) * | 2019-08-21 | 2019-11-19 | 重庆华医康道科技有限公司 | 海量医疗数据的状态机工作流引擎及分布式存储方法 |
CN110535958B (zh) * | 2019-08-30 | 2022-05-13 | 腾讯科技(深圳)有限公司 | 一种健康信息存储方法及相关设备 |
CN112446035A (zh) * | 2019-09-05 | 2021-03-05 | 阿里健康科技(中国)有限公司 | 数据管理方法及装置 |
CN110808958A (zh) * | 2019-10-07 | 2020-02-18 | 复旦大学 | 一种基于cp-abe和区块链的医药分离管理*** |
CN110797099B (zh) * | 2019-10-28 | 2022-06-17 | 河北北方学院 | 一种基于区块链的医疗数据共享方法及*** |
CN110784316B (zh) * | 2019-10-29 | 2023-04-07 | 安徽大学 | 一种基于策略隐藏的自适应策略更新快速属性加密方法 |
CN111079171A (zh) * | 2019-11-11 | 2020-04-28 | 重庆邮电大学 | 一种基于区块链的医疗数据隐私保护方法及存储介质 |
CN110839028B (zh) * | 2019-11-14 | 2022-04-05 | 南京邮电大学 | 一种雾协助工业物联网的隐私保护方法 |
CN111161823A (zh) * | 2019-11-20 | 2020-05-15 | 北京海益同展信息科技有限公司 | 信息的获取方法及装置、存储介质和电子装置 |
CN110880966B (zh) * | 2019-11-22 | 2022-05-06 | 哈尔滨工业大学 | 一种域名解析***搭建和域名查询方法 |
CN110929293B (zh) * | 2019-12-11 | 2022-11-15 | 佛山科学技术学院 | 一种基于区块链的美容数据存储*** |
CN111092882B (zh) * | 2019-12-12 | 2021-12-07 | 中国船舶工业***工程研究院 | 一种基于区块链和ipfs跨域多方信息安全共享方法 |
CN111127020B (zh) * | 2019-12-31 | 2023-09-15 | 深圳市迅雷网络技术有限公司 | 基于区块链的交易数据混淆方法及相关设备 |
CN111274594B (zh) * | 2020-01-20 | 2022-09-16 | 上海市大数据中心 | 一种基于区块链的安全大数据隐私保护共享方法 |
CN111415718B (zh) * | 2020-02-29 | 2024-02-09 | 沈培君 | 一种基于区块链和条件代理重加密的电子处方共享方法 |
CN111462853B (zh) * | 2020-04-05 | 2021-03-26 | 朱礼伟 | 基于区块链和5g通讯的移动医疗***及方法 |
CN111625869B (zh) * | 2020-04-23 | 2022-02-25 | 腾讯科技(深圳)有限公司 | 数据处理方法及数据处理装置 |
CN111683064A (zh) * | 2020-05-22 | 2020-09-18 | 易联众信息技术股份有限公司 | 基于区块链的数据流转方法、装置、介质、设备及应用 |
CN111832038B (zh) * | 2020-05-22 | 2022-10-14 | 南京邮电大学 | 一种基于区块链和ipfs的医疗数据共享模型的实现方法 |
CN111967057A (zh) * | 2020-07-22 | 2020-11-20 | 复旦大学 | 一种基于Fabric的物资援助溯源*** |
CN112134710B (zh) * | 2020-09-21 | 2023-05-12 | 南京工程学院 | 基于区块链的黑名单记录方法和*** |
CN112259178A (zh) * | 2020-09-28 | 2021-01-22 | 北京海益同展信息科技有限公司 | 基于区块链网络的诊断方法、装置和区块链网络*** |
WO2022134119A1 (zh) * | 2020-12-26 | 2022-06-30 | 西安科锐盛创新科技有限公司 | 基于区块链的电子病历共享方法和电子设备 |
CN112907413A (zh) * | 2021-01-13 | 2021-06-04 | 罗春华 | 基于云计算和区块链的智慧互联网医院就诊方法及*** |
CN113536333A (zh) * | 2021-04-27 | 2021-10-22 | 安徽省立医院(中国科学技术大学附属第一医院) | 一种可提高商保理赔效率的医疗商保方法 |
CN113536359B (zh) * | 2021-08-06 | 2023-12-15 | 东北大学 | 基于区块链的个人健康记录隐私保护和访问***及方法 |
CN113779612B (zh) * | 2021-09-30 | 2023-06-13 | 国网湖南省电力有限公司 | 一种基于区块链与隐藏策略属性加密的数据共享方法与*** |
CN114090510B (zh) * | 2021-11-24 | 2024-04-16 | 长春大学 | 基于区块链的数字医疗信息存储及共享架构的构建方法 |
CN114553582A (zh) * | 2022-03-02 | 2022-05-27 | 安徽师范大学 | 基于国密算法和ipfs的电子病历共享方法 |
CN115456804B (zh) * | 2022-11-09 | 2023-04-21 | 浙江数秦科技有限公司 | 基于区块链的重复理赔预警方法 |
CN115860575B (zh) * | 2023-02-13 | 2023-05-12 | 湖南尚医康医疗科技有限公司 | 基于物联网的病房管理方法、***、设备及存储介质 |
CN115996151B (zh) * | 2023-03-22 | 2023-06-16 | 中南大学 | 一种电子医疗数据共享方法、***、设备及介质 |
CN116527355B (zh) * | 2023-04-25 | 2024-01-23 | 湖北联时科技有限公司 | 一种医疗数据的加密共享*** |
CN117077206B (zh) * | 2023-08-31 | 2024-03-08 | 广东省第二人民医院(广东省卫生应急医院) | 基于数字医疗下的患者信息安全控制方法及装置 |
CN117649915A (zh) * | 2024-01-30 | 2024-03-05 | 江苏曼荼罗软件股份有限公司 | 基于模拟器的病历版本控制方法、***、存储介质及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107547525A (zh) * | 2017-08-14 | 2018-01-05 | 复旦大学 | 一种大数据查询处理的隐私保护方法 |
CN108682445A (zh) * | 2018-07-19 | 2018-10-19 | 安徽中科智链信息科技有限公司 | 基于区块链技术的健康数据处理***和方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180240191A1 (en) * | 2017-02-03 | 2018-08-23 | Terry Aronson | System and Method for asset backed crypto-currency |
CN107070652B (zh) * | 2017-04-24 | 2019-07-23 | 湖南科技学院 | 一种基于cp-abe的密文防篡改的车联网隐私保护方法及*** |
CN107634829A (zh) * | 2017-09-12 | 2018-01-26 | 南京理工大学 | 基于属性的可搜索加密电子病历***及加密方法 |
CN109243583B (zh) * | 2018-07-09 | 2020-05-12 | 研境信息科技(上海)有限公司 | 基于区块链的医疗影像数据去中心化管理的方法及设备 |
CN109002693B (zh) * | 2018-07-17 | 2021-03-26 | 大连理工大学 | 一种基于区块链的稿件保护方法 |
-
2019
- 2019-04-01 CN CN201910255280.3A patent/CN110008746B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107547525A (zh) * | 2017-08-14 | 2018-01-05 | 复旦大学 | 一种大数据查询处理的隐私保护方法 |
CN108682445A (zh) * | 2018-07-19 | 2018-10-19 | 安徽中科智链信息科技有限公司 | 基于区块链技术的健康数据处理***和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110008746A (zh) | 2019-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110008746B (zh) | 基于区块链的医疗记录存储、共享和安全理赔模型及方法 | |
CN111916173B (zh) | 基于ipfs和联盟链的医疗数据安全共享***及方法 | |
CN110321721B (zh) | 基于区块链的电子病历访问控制方法 | |
EP3451578B1 (en) | Turn-control rewritable blockchain | |
CN107864139B (zh) | 一种基于动态规则的密码学属性基访问控制方法与*** | |
AU2017269736B2 (en) | Multiple-link cryptologic blockchain | |
US10348700B2 (en) | Verifiable trust for data through wrapper composition | |
CN103563325B (zh) | 用于保护数据的***和方法 | |
Sharma et al. | RSA based encryption approach for preserving confidentiality of big data | |
Jiang et al. | Attribute-based encryption with blockchain protection scheme for electronic health records | |
Tang et al. | A secure and trustworthy medical record sharing scheme based on searchable encryption and blockchain | |
Boumezbeur et al. | Privacy-preserving and access control for sharing electronic health record using blockchain technology | |
John et al. | Provably secure data sharing approach for personal health records in cloud storage using session password, data access key, and circular interpolation | |
Huang et al. | Lagrange interpolation-driven access control mechanism: Towards secure and privacy-preserving fusion of personal health records | |
CN114978664A (zh) | 一种数据共享方法、装置及电子设备 | |
Vidhya et al. | A blockchain based secure and privacy aware medical data sharing using smart contract and encryption scheme | |
Wen et al. | Authenticable medical image-sharing scheme based on embedded small shadow QR code and blockchain framework | |
CN114124392B (zh) | 支持访问控制的数据可控流通方法、***、设备和介质 | |
Xu et al. | A decentralized pseudonym scheme for cloud-based eHealth systems | |
Mahapatra et al. | A secure health management framework with anti-fraud healthcare insurance using blockchain | |
Devassy | Research Project Questions | |
Niranjana et al. | Enhancing Storage Efficiency for Health Data Records through Block chain-Based Storj Mechanism | |
Diwan et al. | Blockchain assisted encryption scheme for intellectual share estimation using medical research data | |
Abirami et al. | Efficient method for storing health record in cloud using integrity auditing and data sharing | |
Salaudin et al. | Application of block chain in EHR’s system for maintaining the privacy of patients record |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |