CN110008746B - 基于区块链的医疗记录存储、共享和安全理赔模型及方法 - Google Patents

基于区块链的医疗记录存储、共享和安全理赔模型及方法 Download PDF

Info

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
Application number
CN201910255280.3A
Other languages
English (en)
Other versions
CN110008746A (zh
Inventor
李凤岐
刘克猛
张璐鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dalian University of Technology
Original Assignee
Dalian University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dalian University of Technology filed Critical Dalian University of Technology
Priority to CN201910255280.3A priority Critical patent/CN110008746B/zh
Publication of CN110008746A publication Critical patent/CN110008746A/zh
Application granted granted Critical
Publication of CN110008746B publication Critical patent/CN110008746B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6272Protecting 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
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data

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;随机选取一个随机的参数
Figure BDA0002013498840000041
以及
Figure BDA0002013498840000042
为一个关于p的素数阶群,
Figure BDA0002013498840000043
为一个素序P的双线性群,
Figure BDA0002013498840000044
生成元为
Figure BDA0002013498840000045
其中i=1,2,...,n,n+2,...,2n;随机选取
Figure BDA0002013498840000046
随机选取
Figure BDA0002013498840000047
并设置v=gγ,定义函数
Figure BDA0002013498840000048
其中ls,max是允许在子访问集合矩阵的行数最大值,m是能够作为秘钥的属性子集的最大值;输出公钥pk=(g,g1,...,gn,gn+2,...,g2n,v,h0,...,hm′),主密钥msk=(α,γ)。
密钥生成过程KeyGen(pk,msk,S=(s1,...,sn))→sk:
输入公钥pk、主密钥msk以及属性集
Figure BDA0002013498840000051
其中
Figure BDA0002013498840000052
输出私钥
Figure BDA0002013498840000053
随机选取
Figure BDA0002013498840000054
其中D(1)=gγ+αr,D(2)=gr
Figure BDA0002013498840000055
加密过程Encrypt(pk,M∈GT,(A,ρ,Γ))→ct:
设置A为ls×ks的生成矩阵,映射ρ将生成矩阵的每一行映射为每个属性名,其中
Figure BDA0002013498840000056
是输入的属性值,ρ(i)是访问策略指定的值,随机选取
Figure BDA0002013498840000057
使
Figure BDA0002013498840000058
计算λi=Mi·u,其中Mi是M的第i行;输出密文
Figure BDA0002013498840000059
其中C=M·e(gn,g1)s,e是双线性映射关系符,C(1)=gs
Figure BDA00020134988400000510
C(3)=(vΠj∈Sgn+1-j)s;ls和ks分别为子访问集合矩阵的行数和列数。
解密过程Decrypt(pk,sk,ct,Γ)→M:
输入密文ct以及私钥sk,公钥pk以及属性值Γ,计算对应的重建常数集
Figure BDA00020134988400000511
其中μi是常数,Is={i|ρ(i)∈ψ},Recon(A,ρ)是线性重组函数;最后输出明文M=C/K,其中参数K的公式如下:
Figure BDA00020134988400000512
具体步骤如下:
(1)基于IPFS和可信区块链存储结构增加医疗记录:
(1a)医生对病人进行诊断并生成新的病历,病历包括诊断信息、疾病的哈希索引值及医生私钥生成的签名;在医生实体中,医生采用对称密钥将医疗记录加密,并用患者的公钥对加密密钥进行加密,随后,将医疗密文和加密后的对称秘钥发送给患者实体;
(1b)患者实体在接收到医生实体发来的医疗密文和加密后的对称秘钥后,解密获得医疗记录;运行SHDPCPC-CP-ABE加密过程的Setup(1λ,U),输出pk和msk并存储在患者实体中;患者根据实际情况设置访问权限;患者实体运行Encrypt(pk,M∈GT,(A,ρ,Γ)过程对医疗记录进行加密,输出密文
Figure BDA0002013498840000061
并将密文提交到外部存储IPFS中;随后,外部存储IPFS返回一个Hash Index给患者实体;
(1c)患者实体初始化交易请求,通过Fabric SDK发起增加医疗记录索引的交易请求,调用增加医疗记录索引智能合约;
(1d)背书节点对交易请求背书完成后,交易请求被发送给排序节点;排序节点将一段时间内的所有请求排序并打包生成区块;通过gossip协议发送给通道内的所有节点;交易验证合法后,提交交易请求并将医疗记录的Hash Index写入状态数据库;
(1e)患者实体给医生实体发送通知,表示医疗记录已经添加完成;
(2)基于SHDPCPC-CP-ABE加密算法更改访问策略:
(2a)医生实体向患者实体发送读患者医疗记录的请求以及用患者公钥加密的医生的属性集合s;
(2b)当患者实体接收到更改访问策略的请求时,重新生成信息
Figure BDA0002013498840000062
以及
Figure BDA0002013498840000063
替换步骤(1b)中的密文
Figure BDA0002013498840000064
中的C(2)
(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)。
加密过程:随机选择
Figure BDA0002013498840000071
并输入明文
Figure BDA0002013498840000072
输出密文ct=(1+mn)rnmodn2;其中,
Figure BDA0002013498840000073
为一个关于n的非零素数阶群,
Figure BDA0002013498840000074
为一个关于n的素数阶群。
(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,则说明可以理赔,否则不需要理赔;解密过程如下:
输入密文
Figure BDA0002013498840000075
输出明文m=bL(C)modn,其中,
Figure BDA0002013498840000076
为一个关于n2的非零素数阶群。
(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加密,患者可以根据实际情况,动态地改变访问策略以实现细粒度的访问控制。医生实体需要先向患者实体提出请求,然后患者实体更改访问策略,重新加密部分的密文
Figure BDA0002013498840000091
其中通过如下计算过程
Figure BDA0002013498840000092
Figure BDA0002013498840000093
然后重新生成对应的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;随机选取一个随机的参数
Figure BDA0002013498840000111
以及
Figure BDA0002013498840000112
生成元为
Figure BDA0002013498840000113
其中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:
输入公钥pk、主密钥msk以及属性集
Figure BDA0002013498840000121
输出私钥
Figure BDA0002013498840000122
其中D(1)=gγ+αr,D(2)=gr
Figure BDA0002013498840000123
加密过程Encrypt(pk,M∈GT,(A,ρ,Γ))→ct:
设置A为ls×ks的生成矩阵,映射ρ将生成矩阵的每一行映射为每个属性名,其中
Figure BDA0002013498840000124
是属性值,ρ(i)是访问策略指定的值;输出密文
Figure BDA0002013498840000125
其中C=M·e(gn,g1)s,C(1)=gs
Figure BDA0002013498840000126
C(3)=(vΠj∈sgn+1-j)s
解密过程Decrypt(pk,sk,ct,Γ)→M:
输入密文ct以及私钥sk,公钥pk以及属性值Γ,计算对应的重建常数集
Figure BDA0002013498840000127
最后输出明文M=C/K,其中:
Figure BDA0002013498840000128
一种基于区块链的医疗记录存储、共享和安全理赔的方法,参见图2-5,包括有如下步骤:
(1)基于IPFS和可信区块链存储结构增加医疗记录:
(1a)医生对病人进行诊断并生成新的病历,病历包括诊断信息、疾病的哈希值及医生私钥生成的签名;在医生实体中,医生采用对称密钥将医疗记录加密,并用患者的公钥对加密密钥进行加密,随后,将医疗密文和加密后的对称秘钥发送给患者实体;
(1b)患者实体在接收到医生实体发来的医疗密文和加密后的对称秘钥后,解密获得医疗记录;运行SHDPCPC-CP-ABE加密过程的Setup(1λ,U)以输出pk和msk并存储在患者实体中;患者根据实际情况设置访问权限;患者实体运行Encrypt(pk,M∈GT,(A,ρ,Γ)过程对医疗记录进行加密,输出密文
Figure BDA0002013498840000131
并将密文提交到外部存储IPFS中;随后,外部存储IPFS返回一个Hash Index给患者实体;
(1c)患者实体初始化交易请求,通过Fabric SDK发起增加医疗记录索引的交易请求,调用增加医疗记录索引智能合约;
(1d)背书节点对交易请求背书完成后,交易请求被发送给排序节点;排序节点将一段时间内的所有请求排序并打包生成区块;通过gossip协议发送给通道内的所有节点;交易验证合法后,提交交易请求并将医疗记录的Hash Index写入状态数据库;
(1e)患者实体给医生实体发送通知,表示医疗记录已经添加完成;
(2)基于SHDPCPC-CP-ABE加密算法更改访问策略:
(2a)医生实体向患者实体发送读患者医疗记录的请求以及用患者公钥加密的医生的属性集合s;
(2b)当患者实体接收到更改访问策略的请求时,重新生成
Figure BDA0002013498840000132
Figure BDA0002013498840000133
以及
Figure BDA0002013498840000134
替换步骤(1b)中的密文
Figure BDA0002013498840000135
中的C(2)
(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)。
加密过程:随机选择
Figure BDA0002013498840000141
并输入明文
Figure BDA0002013498840000142
输出密文ct=(1+mn)rnmodn2
(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,则说明可以理赔,否则不需要理赔;解密过程如下:
输入密文
Figure BDA0002013498840000143
输出明文m=bL(C)modn,其中
Figure BDA0002013498840000144
(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;随机选取一个随机的参数
Figure FDA0002627149110000011
以及
Figure FDA0002627149110000012
Figure FDA0002627149110000013
为一个关于p的素数阶群,
Figure FDA0002627149110000014
为一个素序P的双线性群,
Figure FDA0002627149110000015
生成元为
Figure FDA0002627149110000016
其中i=1,2,...,n,n+2,...,2n;随机选取
Figure FDA0002627149110000017
随机选取
Figure FDA0002627149110000018
并设置v=gγ,定义函数
Figure FDA0002627149110000019
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:
输入公钥pk、主密钥msk以及属性集
Figure FDA00026271491100000110
其中
Figure FDA00026271491100000111
输出私钥
Figure FDA0002627149110000021
随机选取
Figure FDA0002627149110000022
其中D(1)=gγ+αr,D(2)=gr
Figure FDA0002627149110000023
加密过程Encrypt(pk,M∈GT,(A,ρ,Γ))→ct:
设置A为ls×ks的生成矩阵,映射ρ将生成矩阵的每一行映射为每个属性名,其中
Figure FDA0002627149110000024
是输入的属性值,ρ(i)是访问策略指定的值,随机选取
Figure FDA0002627149110000025
使
Figure FDA0002627149110000026
计算λi=Mi·u,其中Mi是M的第i行;输出密文
Figure FDA0002627149110000027
其中C=M·e(gn,g1)s,e是双线性映射关系符,C(1)=gs
Figure FDA0002627149110000028
C(3)=(vΠj∈Sgn+1-j)s;ls和ks分别为子访问集合矩阵的行数和列数;
解密过程Decrypt(pk,sk,ct,Γ)→M:
输入密文ct以及私钥sk,公钥pk以及属性值Γ,计算对应的重建常数集
Figure FDA0002627149110000029
Figure FDA00026271491100000210
其中μi是常数,Is={i|ρ(i)∈ψ},Recon(A,ρ)是线性重组函数;最后输出明文M=C/K,其中参数K的公式如下:
Figure FDA00026271491100000211
所述改进的Paillier加密过程如下:
加密初始化:随机选择公钥n=p×q,其中p和q都是素数;私钥为b=λ-1modn,其中λ=lcm(p-1,q-1);
加密过程:随机选择
Figure FDA00026271491100000212
并输入明文
Figure FDA00026271491100000213
输出密文ct=(1+mn)rnmodn2;其中,
Figure FDA00026271491100000214
为一个关于n的非零素数阶群,
Figure FDA00026271491100000215
为一个关于n的素数阶群。
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,ρ,Γ))过程对医疗记录进行加密,输出密文
Figure FDA0002627149110000031
并将密文提交到外部存储IPFS中;随后,外部存储IPFS返回一个HashIndex给患者实体;
(1c)患者实体初始化交易请求,通过Fabric SDK发起增加医疗记录索引的交易请求,调用增加医疗记录索引智能合约;
(1d)背书节点对交易请求背书完成后,交易请求被发送给排序节点;排序节点将一段时间内的所有请求排序并打包生成区块;通过gossip协议发送给通道内的所有节点;交易验证合法后,提交交易请求并将医疗记录的HashIndex写入状态数据库;
(1e)患者实体给医生实体发送通知,表示医疗记录已经添加完成;
(2)基于SHDPCPC-CP-ABE加密算法更改访问策略:
(2a)医生实体向患者实体发送读患者医疗记录的请求以及用患者公钥加密的医生的属性集合s;
(2b)当患者实体接收到更改访问策略的请求时,重新生成信息
Figure FDA0002627149110000041
以及
Figure FDA0002627149110000042
替换步骤(1b)中的密文
Figure FDA0002627149110000043
中的C(2);
(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,则说明可以理赔,否则不需要理赔;解密过程如下:
输入密文
Figure FDA0002627149110000044
输出明文m=bL(C)modn,其中,
Figure FDA0002627149110000045
为一个关于n2的非零素数阶群;
(3d)如果保险公司对患者的理赔资料提出质疑,则调用审计智能合约对患者的医疗记录的真实性进行审计;经患者授权后,读取患者的病历。
3.根据权利要求2所述的一种基于区块链的医疗记录存储、共享和安全理赔方法,其特征在于:
所述的可信区块链Hyperledger Fabric基于哈希链式存储结构;当患者发起交易请求时,通过Fabric SDK调用增加病历智能合约,经过背书节点背书后,将交易请求发送到排序节点,排序节点进行排序并打包进区块,当新区块生成时,通过gossip协议送到通道的所有的节点,验证合法后提交交易并更新状态数据库;由于可信联盟区块链状态数据库存储容量有限,采用外部存储IPFS系统,将密文的医疗记录以Merkle DAG的结构分块存入外部存储IPFS中并生成对应的哈希索引Hash Index,实现高吞吐量以及放篡改的要求;区块链中以增加的方式存储患者医疗记录的Hash Index,对应的密文存储在外部存储IPFS中。
CN201910255280.3A 2019-04-01 2019-04-01 基于区块链的医疗记录存储、共享和安全理赔模型及方法 Active CN110008746B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018145024A1 (en) * 2017-02-03 2018-08-09 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 大连理工大学 一种基于区块链的稿件保护方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
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) 基于区块链的医疗记录存储、共享和安全理赔模型及方法
CN110321721B (zh) 基于区块链的电子病历访问控制方法
EP3451578B1 (en) Turn-control rewritable blockchain
CN111916173B (zh) 基于ipfs和联盟链的医疗数据安全共享系统及方法
CN107864139B (zh) 一种基于动态规则的密码学属性基访问控制方法与系统
US10348700B2 (en) Verifiable trust for data through wrapper composition
AU2017269736B2 (en) Multiple-link cryptologic blockchain
CN103563325B (zh) 用于保护数据的系统和方法
Sharma et al. RSA based encryption approach for preserving confidentiality of big data
CN113407627A (zh) 一种基于区块链的智能医疗网络系统及医疗数据共享方法
John et al. Provably secure data sharing approach for personal health records in cloud storage using session password, data access key, and circular interpolation
Boumezbeur et al. Privacy-preserving and access control for sharing electronic health record using blockchain technology
CN115883214A (zh) 基于联盟链和cp-abe的电子医疗数据共享系统及方法
Huang et al. Lagrange interpolation-driven access control mechanism: Towards secure and privacy-preserving fusion of personal health records
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
CN114978664A (zh) 一种数据共享方法、装置及电子设备
Mahapatra et al. A secure health management framework with anti-fraud healthcare insurance using blockchain
Vidhya et al. A blockchain based secure and privacy aware medical data sharing using smart contract and encryption scheme
Devassy Research Project Questions
Abirami et al. Efficient method for storing health record in cloud using integrity auditing and data sharing
Abouali et al. Patient full control over secured medical records transfer framework based on blockchain
Abouali et al. Access Delegation Framework for Private Decentralized Patient Health Records Sharing System Based on Blockchain
Jaganathan et al. CIADS: a framework for secured storage of patients medical data in cloud

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