CN110851878B - 一种基于区块链的可问责的医疗数据存储方法 - Google Patents

一种基于区块链的可问责的医疗数据存储方法 Download PDF

Info

Publication number
CN110851878B
CN110851878B CN201911138474.1A CN201911138474A CN110851878B CN 110851878 B CN110851878 B CN 110851878B CN 201911138474 A CN201911138474 A CN 201911138474A CN 110851878 B CN110851878 B CN 110851878B
Authority
CN
China
Prior art keywords
user
data
cloud server
medical
delete
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
CN201911138474.1A
Other languages
English (en)
Other versions
CN110851878A (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.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
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 Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN201911138474.1A priority Critical patent/CN110851878B/zh
Publication of CN110851878A publication Critical patent/CN110851878A/zh
Application granted granted Critical
Publication of CN110851878B publication Critical patent/CN110851878B/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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • 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
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/70ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Public Health (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Pathology (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Storage Device Security (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

一种基于区块链的可问责的医疗数据存储方法,本发明通过使用区块链技术与云存储技术相结合,提出了一种有别于现有医疗区块链的系统框架,所有针对医疗数据进行的操作,例如删除医疗数据、存储医疗数据、查询医疗数据等等,都将经过共识机制写入区块中。同时,本系统通过密码学方法,实现了相关用户对数据操作的不可抵赖性,任何用户的非法操作,都将以区块链中存储的数据为证据被问责。

Description

一种基于区块链的可问责的医疗数据存储方法
技术领域
本发明提出了一种基于区块链的可问责的医疗数据存储方法,涉及到区块链、云存储、数据存储保护技术领域。
背景技术
信息技术的飞速发展正悄然改变着医疗卫生系统,比如电子卫生系统(eHealth),即存储和处理患者医疗数据的信息系统。与传统的纸质系统相比,eHealth系统为患者和医疗机构提供了一种效率更高、容错性更大、灵活性更好的服务,医疗卫生系统的广泛部署给人类社会带来了更深刻的影响。由于现代电子卫生保健系统是数据密集型的,因此在医疗卫生系统中应用云计算技术已显示出巨大的潜力,并且在实际管理医疗数据方面具有前所未有的优势,这种机制就是众所周知的云辅助医疗卫生系统。虽然云辅助医疗卫生系统的优势具有极大的吸引力,但是医疗数据外包存储中的关键隐私和安全问题却受到了广泛的关注。从包括患者和医疗机构在内的医疗数据所有者的角度来看,医疗数据是他们最敏感、最私密的数据之一,与传统的医疗数据管理范例不同,一旦患者或者医疗机构将医疗数据外包给云服务器,他们将不会实际拥有其医疗数据,此外外包的医疗数据的正确性和完整性在实践中也面临着巨大的风险。
区块链技术的兴起引起了包括金融、医疗保健、公用事业、房地产和政府机构等利益相关者的极大兴趣。区块链是一种共享的、分布式的和容错的数据库,网络中的每个参与者都可以共享区块链中所存储的数据,但没有实体可以完全控制区块链网络。由于在区块链系统中使用了加密的数据结构并且不依赖于密码,因此对区块链中所存储的数据进行篡改是一项几乎不可能完成的任务。
许多区块链研究者将区块链技术应用到医疗卫生系统中,提出了一种名为医疗区块链(MedChain)的方案。然而,为了减少各参与节点的计算压力,各节点不会备份所有被写入区块的医疗数据,而是将他们统一外包给第三方云服务器,区块链中存储的仅是医疗数据的索引信息。从另一个角度来看,医疗区块链实际保护的仅是医疗数据索引,任何在第三方云服务器对患者的医疗数据进行的非法操作,医疗区块链不免显得有些力不从心。
发明内容
本发明提出了一种基于区块链的可问责的医疗数据存储方法,来记录任何参与用户对医疗数据进行的操作,例如删除医疗数据、存储医疗数据、查询医疗数据等等。所有数据操作将作为交易写入区块中,不可篡改,可回溯,实现了相关用户对数据操作的不可抵赖性,任何用户的非法操作,都将以区块链中存储的数据为证据被问责。同时,通过密码学方法,任何攻击者无法通过用户的数据操作判断出用户真实身份,保护用户的个人隐私。
一种基于区块链的可问责的医疗数据存储方法,包含以下步骤:
Step 1,初始化系统,生成一系列公共参数;参与用户主要有数据生产者,包括病人与医疗机构,和数据消费者,包括科研机构与部分医生,以及密钥生成中心KGC以及云服务提供商CSP;
Step 2,用户IDp授权医疗机构IDm将自己的医疗数据EMR外包存在云服务器上,授权信息、医疗机构外包存储信息以及云服务器接收信息传送至数据缓冲池,由共识节点写入区块;
Step 3,后续用户定期验证医疗信息的完整性和真实性;
在外包存储操作中,云服务提供商可能做出的非法操作为:出于某种原因,云服务器做出了接收确认,却未将医疗数据内容存储到服务器内;医疗机构可能做出的非法操作为:为了掩盖自身在诊治过程中出现的医疗事故,医疗机构可能篡改用户IDp的医疗数据,然后外包至云服务器;若出现以上两种情况,用户可根据区块链中的数据追究相应责任方的责任;
Step 4,用户IDp在一个完整的治疗周期结束后,根据自己的意愿删除存于云端的医疗数据;用户IDp授权云服务器执行删除操作,随后附有双方签名的删除反馈delete-proof将被写入区块中;
Step 5,用户IDp实时检验云服务器在删除过程中是否进行诚实操作;
云服务器存在的非法操作包括:(1)云服务器未接收到用户IDp的授权指令,擅自删除了用户的医疗数据;(2)云服务器接收到了攻击者伪造的删除指令,并且删除了用户的医疗数据;(3)云服务器接收到用户IDp的授权指令,并作出了删除反馈,实际未删除数据,用户仍然可以检索到;
Step 6,科研机构IDr在研究某疾病案例的过程中,适时查询该疾病的治疗过程;IDr的任何查询操作必须经过数据所有者的授权,仅能在授权并将查询操作的相关内容写入区块后,IDr才能获取真实的医疗数据内容。
进一步地,Step 1的具体内容为:
Step 1.1,各参与用户生成与自己身份信息相关联的的字符串ID∈{0,1}*,病人、医疗机构、科研机构、部分医生、云服务提供商的与身份信息相关联的字符串分别表示为:
{IDp,IDm,IDr,IDd,IDc}
Step 1.2,KGC随机生成一个安全参数λ,选取群G1与G2,它们的阶为q,q为λ位的素数,g为群G1的生成元,并定义这样一个双线性映射e:G1×G2→G2
Step 1.3,KGC随机选取
Figure BDA0002280193950000041
作为系统主密钥,r是秘密信息,并计算gpub=rg。选择四个公开且易于计算的Hash函数,分别为:
H1:{0,1}n→{0,1}n
Figure BDA0002280193950000042
H3:G2→{0,1}n
Figure BDA0002280193950000043
在该系统中传输的明文M={0,1}n,密文
Figure BDA0002280193950000044
则系统中所有的公开参数为{G1,G2,g,n,gpub,H1,H2,H3,H4};
Step 1.4,各参与用户根据自己的身份字符串ID∈{0,1}*获取相对应的私钥skID,具体获取方式如下:先计算
Figure BDA0002280193950000045
再计算skID=rQID;skID与身份信息ID直接且唯一对应,但任何用户无法通过ID推得用户私钥skID
进一步地,Step 2的具体内容为:
Step 2.1,用户IDp生成一个授权指令wstore给医疗机构IDm,授权其生成自身诊断的医疗数据EMR;wstore的生成过程如下:
Figure BDA0002280193950000051
Figure BDA0002280193950000052
其中Supp为辅助信息,
Figure BDA0002280193950000053
为用户公钥,rand为仅用户知晓的随机数,用于后续判断医疗机构是否擅自篡改其医疗数据后再外包存储到云服务器,符号‘|’代表信息的串联;
Step 2.2,医疗机构IDm接收到用户IDp发来的授权指令wp,打包明文信息,明文空间为M={0,1}n,明文M具体如下:
Figure BDA0002280193950000054
并加密得到密文
Figure BDA0002280193950000055
Step 2.3,医疗机构将
Figure BDA0002280193950000056
送至云服务器,云服务器通过下列公式:
e(wstore,g)=e(H2(wastore),vkp)
验证Timestampp与wstore的正确性,如果验证通过则接收该医疗数据,并做出接收确认:
Figure BDA0002280193950000057
为文件标签,以供检索使用;接收确认里包含了三方对此项操作的签名信息,接收确认信息由共识节点写入区块中永久保存,不可篡改;一旦该确认信息被写入区块,意味着三方用户对此项操作已经达成了共识,如果在该过程某一用户存在非法操作,均能被后续的检验操作检测出,并被追究相应的责任且不可抵赖。
进一步地,Step 3的具体内容为:
Step 3.1,针对云服务器可能出现的非法操作,若用户根据tag检索自身医疗数据时未检索到相应数据,则利用区块中存储的接收确认数据为证据追究云平台的责任,且云平台不可抵赖;
Step 3.2,针对医疗机构可能出现的非法操作,在外包存储操作中,用户要求医疗机构获取外包存储数据
Figure BDA0002280193950000061
并将获取的存储数据发送给用户,用户依次做出以下两个验证操作:
1)计算
Figure BDA0002280193950000062
其中散列函数H为通用散列函数,将得到的结果与云服务器所给的散列值相比较,若相同,则第一步验证通过,若不相同,则意味着医疗机构篡改了从云服务器中获取的数据;
2)用户IDp用自己的私钥skp解密密文C,得到明文
Figure BDA0002280193950000063
计算
Figure BDA0002280193950000064
并与授权时
Figure BDA0002280193950000065
相比较,若
Figure BDA0002280193950000066
则第二步验证通过,若
Figure BDA0002280193950000067
则意味着医生将外包的医疗数据进行了篡改;
以上两个验证操作任意一个没有通过,则认定医疗机构在此次外包过程中没有进行诚实的操作,则根据区块中存储的接收确认数据为证据追究医疗机构IDm的责任,且医疗机构不可抵赖。
进一步地,Step 4的具体内容为:
Step 4.1,用户生成授权删除指令wdelete,其中wdelete具体如下:
Figure BDA0002280193950000068
wdelete=ESK(wadelete)
其中,ESK为对称加密算法;
Step 4.2,用户将生成的授权指令wdelete上传至云服务器,云服务器需验证删除指令是否由攻击者伪造,验证步骤如下:
1)ESK加密算法的密钥交换由Diffie-Hellman协议完成,云服务器执行AES解密算法得到wdelete,由IDp获取用户公钥vkp'
2)执行
Figure BDA0002280193950000071
如果可以顺利完成解密操作并得到delete_data,则授权指令有效;如果无法完成解密操作,则认定该授权指令wdelete由攻击者伪造,丢弃该指令;
Step 4.3,获取到数据删除请求delete_data后,云服务器为其建立删除反馈
Figure BDA0002280193950000072
删除反馈中包含双方签名以及时间戳,由共识节点写入区块中,一旦数据写入区块,意味着用户与云服务器就删除操作达成共识,云服务器的非法操作均会被后续的验证操作而追责。
进一步地,Step 5的具体内容为:
Step 5.1,针对非法操作(1),用户在云平台定期检索自身医疗数据,若未检索到医疗数据,而区块链中没有用户的授权删除指令wdelete,则认定云平台在未接收到用户授权指令的情况下擅自删除了用户医疗数据,则以此为证据追究云平台责任;
Step 5.2,针对非法操作(2),用户在云平台定期检索自身医疗数据,若未检索到医疗数据,且区块链中存有用户的授权指令wdelete,用户验证该wdelete并非由自己生成;用户解密wdelete得到wadelete中的
Figure BDA0002280193950000073
并执行
Figure BDA0002280193950000074
如无法得到相应的delete_data,则该授权指令由他人伪造,则认定云服务器未遵循验证协议或云服务器在执行完验证操作并发现问题后,仍然将数据删除,用户以此为证据追究云平台责任;
Step 5.3,针对非法操作(3),用户根据区块中存储的delete-proof,追究云平台的责任,因为delete-proof中包含云服务器的私钥skc的签名,该签名仅能由云服务器自己生成,所以用户能够以据此证明云平台是否进行了诚实的操作。
进一步地,Step 6的具体内容为:
Step 6.1,科研机构IDr根据tag标签定位到某用户IDp的医疗数据,并向云服务器发出查询请求:
Figure BDA0002280193950000081
发出查询请求的同时,视情况向用户IDp允诺适当经济利益;云服务器接收到该请求后,对签名进行验证,若签名来自未认证用户,则丢弃该查询请求;若验证通过,则将该查询请求传至用户IDp,并对该请求进行签名
Figure BDA0002280193950000082
Step 6.2,若用户拒绝该查询请求,则此次查询操作结束;若用户同意该查询请求,则生成此次签名
Figure BDA0002280193950000083
提交至代理重加密节点,由代理重加密节点实现密文的重加密,并将
Figure BDA0002280193950000084
写入区块中,一旦数据成功写入,意味着此次查询操作结束,用户、云平台与医疗机构对此次查询操作达成共识。
本发明的有益效果是:
1.针对云端医疗数据的操作将作为交易写入区块中,不可篡改,可回溯,实现了相关用户对数据操作的不可抵赖性。任何用户的非法操作,都将以区块链中存储的数据为证据被问责。
2.解决了数据实际拥有权不对称的问题,实现了医疗数据所有者和第三方云服务器共同拥有数据操作控制权。
3.医疗数据存储在第三方云平台,满足特定身份特征的医疗工作者、患者以及科研人员可在数据所有者授权下查询部分医疗数据,实现医疗数据的共享。
4.通过密码学方法,任何攻击者无法通过用户的数据操作判断出用户真实身份,保护了用户的个人隐私。
附图说明
图1为本发明实施例中医疗数据存储的系统模型图。
图2为本发明实施例中区块结构图。
图3为本发明实施例中医疗数据存储方法的具体流程图。
具体实施方式
下面结合说明书附图对本发明的技术方案做进一步的详细说明。
一种基于区块链的可问责的医疗数据存储方法,包含以下步骤:
Step 1,初始化系统,生成一系列公共参数;参与用户主要有数据生产者,包括病人与医疗机构,和数据消费者,包括科研机构与部分医生,以及密钥生成中心KGC以及云服务提供商CSP。
Step 1的具体内容为:
Step 1.1,各参与用户生成与自己身份信息相关联的的字符串ID∈{0,1}*,病人、医疗机构、科研机构、部分医生、云服务提供商的与身份信息相关联的字符串分别表示为:
{IDp,IDm,IDr,IDd,IDc}
Step 1.2,KGC随机生成一个安全参数λ,选取群G1与G2,它们的阶为q,q为λ位的素数,g为群G1的生成元,并定义这样一个双线性映射e:G1×G2→G2
Step 1.3,KGC随机选取
Figure BDA0002280193950000101
作为系统主密钥,r是秘密信息,并计算gpub=rg。选择四个公开且易于计算的Hash函数,分别为:
H1:{0,1}n→{0,1}n
Figure BDA0002280193950000102
H3:G2→{0,1}n
Figure BDA0002280193950000103
在该系统中传输的明文M={0,1}n,密文
Figure BDA0002280193950000104
则系统中所有的公开参数为{G1,G2,g,n,gpub,H1,H2,H3,H4}。
Step 1.4,各参与用户根据自己的身份字符串ID∈{0,1}*获取相对应的私钥skID,具体获取方式如下:先计算
Figure BDA0002280193950000105
再计算skID=rQID;skID与身份信息ID直接且唯一对应,但任何用户无法通过ID推得用户私钥skID
Step 2,用户IDp授权医疗机构IDm将自己的医疗数据EMR外包存在云服务器上,授权信息、医疗机构外包存储信息以及云服务器接收信息传送至数据缓冲池,由共识节点写入区块。若后续用户验证自身医疗数据真实性或完整性出现问题时,则可根据区块中的数据追究云服务提供商CSP或者医疗机构的责任。
Step 2的具体内容为:
Step 2.1,用户IDp生成一个授权指令wstore给医疗机构IDm,授权其生成自身诊断的医疗数据EMR;wstore的生成过程如下:
Figure BDA0002280193950000106
Figure BDA0002280193950000111
其中Supp为辅助信息,
Figure BDA0002280193950000112
为用户公钥,rand为仅用户知晓的随机数,用于后续判断医疗机构是否擅自篡改其医疗数据后再外包存储到云服务器,符号‘|’代表信息的串联。
Step 2.2,医疗机构IDm接收到用户IDp发来的授权指令wp,打包明文信息,明文空间为M={0,1}n,明文M具体如下:
Figure BDA0002280193950000113
并加密得到密文
Figure BDA0002280193950000114
Step 2.3,医疗机构将
Figure BDA0002280193950000115
送至云服务器,云服务器通过下列公式:
e(wstore,g)=e(H2(wastore),vkp)
验证Timestampp与wstore的正确性,如果验证通过则接收该医疗数据,并做出接收确认:
Figure BDA0002280193950000116
为文件标签,以供检索使用;接收确认里包含了三方对此项操作的签名信息,接收确认信息由共识节点写入区块中永久保存,不可篡改;一旦该确认信息被写入区块,意味着三方用户对此项操作已经达成了共识,如果在该过程某一用户存在非法操作,均能被后续的检验操作检测出,并被追究相应的责任且不可抵赖。
Step 3,后续用户定期验证医疗信息的完整性和真实性。在外包存储操作中,云服务提供商可能做出的非法操作为:出于某种原因,云服务器做出了接收确认,却未将医疗数据内容存储到服务器内;医疗机构可能做出的非法操作为:为了掩盖自身在诊治过程中出现的医疗事故,医疗机构可能篡改用户IDp的医疗数据,然后外包至云服务器;若出现以上两种情况,用户可根据区块链中的数据追究相应责任方的责任。
Step 3的具体内容为:
Step 3.1,针对云服务器可能出现的非法操作,若用户根据tag检索自身医疗数据时未检索到相应数据,则利用区块中存储的接收确认数据为证据追究云平台的责任,且云平台不可抵赖。
Step 3.2,针对医疗机构可能出现的非法操作,在外包存储操作中,用户要求医疗机构获取外包存储数据
Figure BDA0002280193950000121
并将获取的存储数据发送给用户,用户依次做出以下两个验证操作:
1)计算
Figure BDA0002280193950000122
其中散列函数H为通用散列函数,将得到的结果与云服务器所给的散列值相比较,若相同,则第一步验证通过,若不相同,则意味着医疗机构篡改了从云服务器中获取的数据。
2)用户IDp用自己的私钥skp解密密文C,得到明文
Figure BDA0002280193950000123
计算
Figure BDA0002280193950000124
并与授权时
Figure BDA0002280193950000125
相比较,若
Figure BDA0002280193950000126
则第二步验证通过,若
Figure BDA0002280193950000127
则意味着医生将外包的医疗数据进行了篡改。
以上两个验证操作任意一个没有通过,则认定医疗机构在此次外包过程中没有进行诚实的操作,则根据区块中存储的接收确认数据为证据追究医疗机构IDm的责任,且医疗机构不可抵赖。
Step 4,用户IDp在一个完整的治疗周期结束后,根据自己的意愿删除存于云端的医疗数据;用户IDp授权云服务器执行删除操作,随后附有双方签名的删除反馈delete-proof将被写入区块中。
Step 4的具体内容为:
Step 4.1,用户生成授权删除指令wdelete,其中wdelete具体如下:
Figure BDA0002280193950000131
wdelete=ESK(wadelete)
其中,ESK为对称加密算法。
Step4.2,用户将生成的授权指令wdelete上传至云服务器,云服务器需验证删除指令是否由攻击者伪造,验证步骤如下:
1)ESK加密算法的密钥交换由Diffie-Hellman协议完成,云服务器执行AES解密算法得到wdelete,由IDp获取用户公钥vkp'
2)执行
Figure BDA0002280193950000132
如果可以顺利完成解密操作并得到delete_data,则授权指令有效;如果无法完成解密操作,则认定该授权指令wdelete由攻击者伪造,丢弃该指令。
Step 4.3,获取到数据删除请求delete_data后,云服务器为其建立删除反馈
Figure BDA0002280193950000133
删除反馈中包含双方签名以及时间戳,由共识节点写入区块中,一旦数据写入区块,意味着用户与云服务器就删除操作达成共识,云服务器的非法操作均会被后续的验证操作而追责。
Step 5,用户IDp实时检验云服务器在删除过程中是否进行诚实操作。云服务器存在的非法操作包括:(1)云服务器未接收到用户IDp的授权指令,擅自删除了用户的医疗数据;(2)云服务器接收到了攻击者伪造的删除指令,并且删除了用户的医疗数据;(3)云服务器接收到用户IDp的授权指令,并作出了删除反馈,实际未删除数据,用户仍然可以检索到。
Step 5的具体内容为:
Step 5.1,针对非法操作(1),用户在云平台定期检索自身医疗数据,若未检索到医疗数据,而区块链中没有用户的授权删除指令wdelete,则认定云平台在未接收到用户授权指令的情况下擅自删除了用户医疗数据,则以此为证据追究云平台责任。
Step 5.2,针对非法操作(2),用户在云平台定期检索自身医疗数据,若未检索到医疗数据,且区块链中存有用户的授权指令wdelete,用户验证该wdelete并非由自己生成;用户解密wdelete得到wadelete中的
Figure BDA0002280193950000141
并执行
Figure BDA0002280193950000142
如无法得到相应的delete_data,则该授权指令由他人伪造,则认定云服务器未遵循验证协议或云服务器在执行完验证操作并发现问题后,仍然将数据删除,用户以此为证据追究云平台责任。
Step 5.3,针对非法操作(3),用户根据区块中存储的delete-proof,追究云平台的责任,因为delete-proof中包含云服务器的私钥skc的签名,该签名仅能由云服务器自己生成,所以用户能够以据此证明云平台是否进行了诚实的操作。
Step 6,科研机构IDr在研究某疾病案例的过程中,适时查询该疾病的治疗过程;IDr的任何查询操作必须经过数据所有者的授权,仅能在授权并将查询操作的相关内容写入区块后,IDr才能获取真实的医疗数据内容。
Step 6的具体内容为:
Step 6.1,科研机构IDr根据tag标签定位到某用户IDp的医疗数据,并向云服务器发出查询请求:
Figure BDA0002280193950000151
发出查询请求的同时,视情况向用户IDp允诺适当经济利益;云服务器接收到该请求后,对签名进行验证,若签名来自未认证用户,则丢弃该查询请求;若验证通过,则将该查询请求传至用户IDp,并对该请求进行签名
Figure BDA0002280193950000152
Step 6.2,若用户拒绝该查询请求,则此次查询操作结束;若用户同意该查询请求,则生成此次签名
Figure BDA0002280193950000153
提交至代理重加密节点,由代理重加密节点实现密文的重加密,并将
Figure BDA0002280193950000154
写入区块中,一旦数据成功写入,意味着此次查询操作结束,用户、云平台与医疗机构对此次查询操作达成共识。
以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以上述实施方式为限,但凡本领域普通技术人员根据本发明所揭示内容所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。

Claims (5)

1.一种基于区块链的可问责的医疗数据存储方法,其特征在于:包含以下步骤:
Step1,初始化系统,生成一系列公共参数;参与用户主要有数据生产者,包括病人与医疗机构,和数据消费者,包括科研机构与部分医生,以及密钥生成中心KGC以及云服务提供商CSP;
Step2,用户IDp授权医疗机构IDm将自己的医疗数据EMR外包存在云服务器上,授权信息、医疗机构外包存储信息以及云服务器接收信息传送至数据缓冲池,由共识节点写入区块;
Step3,后续用户定期验证医疗信息的完整性和真实性;
在外包存储操作中,云服务提供商可能做出的非法操作为:出于某种原因,云服务器做出了接收确认,却未将医疗数据内容存储到服务器内;医疗机构可能做出的非法操作为:为了掩盖自身在诊治过程中出现的医疗事故,医疗机构可能篡改用户IDp的医疗数据,然后外包至云服务器;若出现以上两种情况,用户可根据区块链中的数据追究相应责任方的责任;
Step4,用户IDp在一个完整的治疗周期结束后,根据自己的意愿删除存于云端的医疗数据;用户IDp授权云服务器执行删除操作,随后附有双方签名的删除反馈delete-proof将被写入区块中;
Step4的具体内容为:
Step4.1,用户生成授权删除指令wdelete,其中wdelete具体如下:
wadelete=<IDp|IDc|Timestampp|Eskp(delete_data)|tag>
wdelete=ESK(wadelete)
其中,ESK为对称加密算法;
Step4.2,用户将生成的授权指令wdelete上传至云服务器,云服务器需验证删除指令是否由攻击者伪造,验证步骤如下:
1)ESK加密算法的密钥交换由Diffie-Hellman协议完成,云服务器执行AES解密算法得到wdelete,由IDp获取用户公钥vkp'
2)执行
Figure FDA0003782204470000021
如果可以顺利完成解密操作并得到delete_data,则授权指令有效;如果无法完成解密操作,则认定该授权指令wdelete由攻击者伪造,丢弃该指令;
Step4.3,获取到数据删除请求delete_data后,云服务器为其建立删除反馈
Figure FDA0003782204470000022
删除反馈中包含双方签名以及时间戳,由共识节点写入区块中,一旦数据写入区块,意味着用户与云服务器就删除操作达成共识,云服务器的非法操作均会被后续的验证操作而追责;
Step5,用户IDp实时检验云服务器在删除过程中是否进行诚实操作;
云服务器存在的非法操作包括:(1)云服务器未接收到用户IDp的授权指令,擅自删除了用户的医疗数据;(2)云服务器接收到了攻击者伪造的删除指令,并且删除了用户的医疗数据;(3)云服务器接收到用户IDp的授权指令,并作出了删除反馈,实际未删除数据,用户仍然可以检索到;
Step5的具体内容为:
Step5.1,针对非法操作(1),用户在云平台定期检索自身医疗数据,若未检索到医疗数据,而区块链中没有用户的授权删除指令wdelete,则认定云平台在未接收到用户授权指令的情况下擅自删除了用户医疗数据,则以此为证据追究云平台责任;
Step5.2,针对非法操作(2),用户在云平台定期检索自身医疗数据,若未检索到医疗数据,且区块链中存有用户的授权指令wdelete,用户验证该wdelete并非由自己生成;用户解密wdelete得到wadelete中的
Figure FDA0003782204470000031
并执行
Figure FDA0003782204470000032
如无法得到相应的delete_data,则该授权指令由他人伪造,则认定云服务器未遵循验证协议或云服务器在执行完验证操作并发现问题后,仍然将数据删除,用户以此为证据追究云平台责任;
Step5.3,针对非法操作(3),用户根据区块中存储的delete-proof,追究云平台的责任,因为delete-proof中包含云服务器的私钥skc的签名,该签名仅能由云服务器自己生成,所以用户能够以次据 证明云平台是否进行了诚实的操作;
Step6,科研机构IDr在研究某疾病案例的过程中,适时查询该疾病的治疗过程;IDr的任何查询操作必须经过数据所有者的授权,仅能在授权并将查询操作的相关内容写入区块后,IDr才能获取真实的医疗数据内容。
2.根据权利要求1所述的一种基于区块链的可问责的医疗数据存储方法,其特征在于:Step1的具体内容为:
Step1.1,各参与用户生成与自己身份信息相关联的的字符串ID∈{0,1}*,病人、医疗机构、科研机构、部分医生、云服务提供商的与身份信息相关联的字符串分别表示为:
{IDp,IDm,IDr,IDd,IDc}
Step1.2,KGC随机生成一个安全参数λ,选取群G1与G2,它们的阶为q,q为λ位的素数,g为群G1的生成元,并定义这样一个双线性映射e:G1×G2→G2
Step1.3,KGC随机选取
Figure FDA0003782204470000041
作为系统主密钥,r是秘密信息,并计算gpub=rg选择四个公开且易于计算的Hash函数,分别为:
H1:{0,1}n→{0,1}n
Figure FDA0003782204470000042
H3:G2→{0,1}n
Figure FDA0003782204470000043
在该系统中传输的明文M={0,1}n,密文
Figure FDA0003782204470000044
则系统中所有的公开参数为{G1,G2,g,n,gpub,H1,H2,H3,H4};
Step1.4,各参与用户根据自己的身份字符串ID∈{0,1}*获取相对应的私钥skp,具体获取方式如下:先计算
Figure FDA0003782204470000045
再计算skp=rQID;skp与身份信息ID直接且唯一对应,但任何用户无法通过ID推得用户私钥skp
3.根据权利要求1所述的一种基于区块链的可问责的医疗数据存储方法,其特征在于:Step2的具体内容为:
Step2.1,用户IDp生成一个授权指令wstore给医疗机构IDm,授权其生成自身诊断的医疗数据EMR;wstore的生成过程如下:
Figure FDA0003782204470000046
Figure FDA0003782204470000047
其中Supp为辅助信息,
Figure FDA0003782204470000048
为用户公钥,rand为仅用户知晓的随机数,用于后续判断医疗机构是否擅自篡改其医疗数据后再外包存储到云服务器,符号‘|’代表信息的串联;
Step2.2,医疗机构IDm接收到用户IDp发来的授权指令wp,打包明文信息,明文空间为M={0,1}n,明文M具体如下:
Figure FDA0003782204470000051
并加密得到密文
Figure FDA0003782204470000052
Step2.3,医疗机构将
Figure FDA0003782204470000053
送至云服务器,云服务器通过下列公式:
e(wstore,g)=e(H2(wastore),vkp)
验证Timestampp与wstore的正确性,如果验证通过则接收该医疗数据,并做出接收确认:
Figure FDA0003782204470000054
tag为文件标签,以供检索使用;接收确认里包含了三方对此项操作的签名信息,接收确认信息由共识节点写入区块中永久保存,不可篡改;一旦该确认信息被写入区块,意味着三方用户对此项操作已经达成了共识,如果在该过程某一用户存在非法操作,均能被后续的检验操作检测出,并被追究相应的责任且不可抵赖。
4.根据权利要求1所述的一种基于区块链的可问责的医疗数据存储方法,其特征在于:Step3的具体内容为:
Step3.1,针对云服务器可能出现的非法操作,若用户根据tag检索自身医疗数据时未检索到相应数据,则利用区块中存储的接收确认数据为证据追究云平台的责任,且云平台不可抵赖;
Step3.2,针对医疗机构可能出现的非法操作,在外包存储操作中,用户要求医疗机构获取外包存储数据
Figure FDA0003782204470000061
并将获取的存储数据发送给用户,用户依次做出以下两个验证操作:
1)计算
Figure FDA0003782204470000062
其中散列函数H为通用散列函数,将得到的结果与云服务器所给的散列值相比较,若相同,则第一步验证通过,若不相同,则意味着医疗机构篡改了从云服务器中获取的数据;
2)用户IDp用自己的私钥skp解密密文C,得到明文
Figure FDA0003782204470000063
计算
Figure FDA0003782204470000064
并与授权时
Figure FDA0003782204470000065
相比较,若
Figure FDA0003782204470000066
则第二步验证通过,若
Figure FDA0003782204470000067
则意味着医生将外包的医疗数据进行了篡改;
以上两个验证操作任意一个没有通过,则认定医疗机构在此次外包过程中没有进行诚实的操作,则根据区块中存储的接收确认数据为证据追究医疗机构IDm的责任,且医疗机构不可抵赖。
5.根据权利要求1所述的一种基于区块链的可问责的医疗数据存储方法,其特征在于:Step6的具体内容为:
Step6.1,科研机构IDr根据tag标签定位到某用户IDp的医疗数据,并向云服务器发出查询请求:
Figure FDA0003782204470000068
发出查询请求的同时,视情况向用户IDp允诺适当经济利益;云服务器接收到该请求后,对签名进行验证,若签名来自未认证用户,则丢弃该查询请求;若验证通过,则将该查询请求传至用户IDp,并对该请求进行签名
Figure FDA0003782204470000069
Step6.2,若用户拒绝该查询请求,则此次查询操作结束;若用户同意该查询请求,则生成此次签名
Figure FDA0003782204470000071
提交至代理重加密节点,由代理重加密节点实现密文的重加密,并将
Figure FDA0003782204470000072
写入区块中,一旦数据成功写入,意味着此次查询操作结束,用户、云平台与医疗机构对此次查询操作达成共识。
CN201911138474.1A 2019-11-20 2019-11-20 一种基于区块链的可问责的医疗数据存储方法 Active CN110851878B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911138474.1A CN110851878B (zh) 2019-11-20 2019-11-20 一种基于区块链的可问责的医疗数据存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911138474.1A CN110851878B (zh) 2019-11-20 2019-11-20 一种基于区块链的可问责的医疗数据存储方法

Publications (2)

Publication Number Publication Date
CN110851878A CN110851878A (zh) 2020-02-28
CN110851878B true CN110851878B (zh) 2022-10-11

Family

ID=69602365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911138474.1A Active CN110851878B (zh) 2019-11-20 2019-11-20 一种基于区块链的可问责的医疗数据存储方法

Country Status (1)

Country Link
CN (1) CN110851878B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111415718B (zh) * 2020-02-29 2024-02-09 沈培君 一种基于区块链和条件代理重加密的电子处方共享方法
CN113744852B (zh) * 2020-05-28 2024-01-30 陕西尚品信息科技有限公司 一种医疗数据管理系统、方法、服务器及客户端设备
GR1010048B (el) * 2020-09-09 2021-08-13 Νικολαος Δημητριου Μπογονικολος Πλατφορμα βασιζομενη σε παθητικη ηλεκτρονικη συσκευη για την αμεση παροχη ιατρικων δεδομενων εκτακτης αναγκης ασθενων προς σπευδοντες προς βοηθεια τους διασφαλιζομενων μεσω τεχνολογιας αλυσιδας συστοιχιων
GR20200100688A (el) * 2020-11-19 2022-06-08 Νικολαος Δημητριου Μπογονικολος Προϊον βασισμενο σε παθητικη ηλεκτρονικη συσκευη για την αμεση παροχη προσωποποιημενων ιατρικων δεδομενων του φεροντος ασθενους σε οποιον σπευδει προς βοηθεια του σε περιπτωσεις εκτακτης αναγκης, διασφαλιζομενων μεσω τεχνολογιας αλυσιδας συστοιχιων
CN112733164B (zh) * 2021-01-07 2023-12-08 中南大学 一种基于区块链的病例共享方法、系统及私钥存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789082A (zh) * 2017-01-11 2017-05-31 西南石油大学 基于无线体域网的云存储医疗数据批量自审计方法
CN108881160A (zh) * 2018-05-07 2018-11-23 北京信任度科技有限公司 基于区块链智能合约的医疗健康数据管理方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789082A (zh) * 2017-01-11 2017-05-31 西南石油大学 基于无线体域网的云存储医疗数据批量自审计方法
CN108881160A (zh) * 2018-05-07 2018-11-23 北京信任度科技有限公司 基于区块链智能合约的医疗健康数据管理方法及系统

Also Published As

Publication number Publication date
CN110851878A (zh) 2020-02-28

Similar Documents

Publication Publication Date Title
US10600050B1 (en) Secure custody of a ledger token and/or a quantity of cryptocurrency of a distributed ledger network through binding to a possession token
CN110851878B (zh) 一种基于区块链的可问责的医疗数据存储方法
CN109948367B (zh) 一种基于区块链技术的医疗数据授权方法
CN108418680B (zh) 一种基于安全多方计算技术的区块链密钥恢复方法、介质
CN111916173B (zh) 基于ipfs和联盟链的医疗数据安全共享系统及方法
CN111062716B (zh) 生成区块链签名数据的方法及装置、区块链交易发起系统
CN108848063B (zh) 基于区块链的数据处理方法、系统和计算机可读存储介质
CN111368324B (zh) 一种基于区块链的可信电子证照平台系统及其认证方法
Jin et al. Dynamic and public auditing with fair arbitration for cloud data
CN109687963A (zh) 基于公钥池的抗量子计算联盟链交易方法和系统
CN109845220A (zh) 用于提供区块链参与者身份绑定的方法和装置
CN111475836B (zh) 一种基于联盟区块链的档案管理方法及装置
CN113127926B (zh) 隐私数据统计相关性分析方法、系统、存储介质、计算机
CN112422522B (zh) 一种基于区块链的医疗数据安全共享方法
CN115021903B (zh) 一种基于区块链的电子病历共享方法及系统
Sun et al. Research on logistics information blockchain data query algorithm based on searchable encryption
Mishra et al. DS-Chain: A secure and auditable multi-cloud assisted EHR storage model on efficient deletable blockchain
TWI476629B (zh) Data security and security systems and methods
CN113347008A (zh) 一种加法同态加密的贷款信息存储方法
CN103858377A (zh) 用于管理和控制来自组织成结构化集合的不同身份域的数据的方法
CN117294496B (zh) 一种基于区块链的智能家庭监控数据安全管理方法
CN117454442A (zh) 匿名安全和可追溯的分布式数字取证方法与系统
CN115412259B (zh) 基于区块链的云健康系统可搜索代理签密方法及产品
US20230107805A1 (en) Security System
CN116346306A (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
GR01 Patent grant
GR01 Patent grant