CN113764060A - 一种基于双区块链的医疗数据管理***、病人授权病历共享方法 - Google Patents
一种基于双区块链的医疗数据管理***、病人授权病历共享方法 Download PDFInfo
- Publication number
- CN113764060A CN113764060A CN202111055884.7A CN202111055884A CN113764060A CN 113764060 A CN113764060 A CN 113764060A CN 202111055884 A CN202111055884 A CN 202111055884A CN 113764060 A CN113764060 A CN 113764060A
- Authority
- CN
- China
- Prior art keywords
- medical record
- medical
- request
- emergency
- access control
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000013523 data management Methods 0.000 title claims abstract description 24
- 238000013475 authorization Methods 0.000 claims abstract description 52
- 230000036541 health Effects 0.000 claims abstract description 50
- 238000005065 mining Methods 0.000 claims abstract description 15
- 230000007246 mechanism Effects 0.000 claims abstract description 11
- 238000012544 monitoring process Methods 0.000 claims description 20
- 230000009977 dual effect Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 8
- 206010052770 Coma states Diseases 0.000 claims description 6
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 6
- 230000007774 longterm Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000007792 addition Methods 0.000 claims description 2
- 238000009412 basement excavation Methods 0.000 claims description 2
- 206010010071 Coma Diseases 0.000 abstract description 6
- 238000004422 calculation algorithm Methods 0.000 abstract description 6
- 230000008859 change Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 201000010099 disease Diseases 0.000 description 3
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 208000003443 Unconsciousness Diseases 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 206010073261 Ovarian theca cell tumour Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 208000001644 thecoma Diseases 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
Classifications
-
- 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
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/602—Providing cryptographic facilities or services
-
- 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
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Bioethics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Public Health (AREA)
- Primary Health Care (AREA)
- Epidemiology (AREA)
- Computing Systems (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明公开了一种基于双区块链的医疗数据管理***和病人授权病历共享方法,涉及可认证密钥协商算法技术领域,包括:医疗区块链,监管区块链,病历存储端,病历访问控制端,用于:向病历请求端发送访问病历的授权;调用智能合约存储包含病历关键词的健康记录;病历请求端,用于:在病人清醒时获取主动授权并向病历存储端请求数据;在病人昏迷时调用智能合约搜索与病人指纹匹配的健康记录从而向病历存储端请求数据。本发明采用分等级的工作量证明共识机制,实现了根据交易的紧急程度来改变生成新区块的速度,并使用双链结构来形成对链上数据的监管,有效抵御自私挖矿攻击。
Description
技术领域
本发明涉及可认证密钥协商算法、基于身份的数字签名算法技术领域,具体地,涉及一种基于双区块链的医疗数据管理***、病人授权的病历共享方法。
背景技术
近年来,电子健康记录(EHR,Electronic health record)***在世界范围内广泛使用,医疗保健***之间的及时医疗数据共享在降低卫生保健成本、提高医疗服务质量和加强疾病监测方面显示出巨大的好处。电子健康记录是数字化的患者医疗数据记录的集合,这些信息一般由医疗机构生成并由医疗机构使用以帮助医生有效地评估患者的病情并做出正确的疾病诊断。电子病历涉及病人的体征数据,是高度隐私的。因此,越来越多的研究关注共享电子病历的数据安全性和保护患者的隐私。共享病历本质上是隐私数据的共享,因此共享可能会导致存储安全性和隐私泄漏问题。为了解决这些问题,基于云的电子病历共享已经被提出。由于云服务器是半信任的。如果云服务器受到攻击或缺乏适当的监控,将导致单点故障。区块链技术因为其链上数据不可篡改,上链数据可溯源,网络节点平等地位等特点,被越来越多的研究者引入医疗数据安全共享领域。
此外,最近有迹象表明,医疗数据共享的研究发展已经转向以患者为中心的互操作性。要实现真正的以患者为中心的电子病历共享***,患者就应该完全控制自己病历的访问权限,创建病历数据列表、确定共享病历权限、确认数据使用、批准共享数据的生命周期。
发明内容
本发明的目的是提供一种基于双区块链的医疗数据管理***及病人授权病历共享方法,该基于双区块链的医疗数据管理***及病人授权病历共享方法可以实现病人控制自己病历数据的访问权限,运用基于身份的密钥协商算法提高数据传输的安全性,具有病人授权的病历请求端可以向病历存储端请求对应的病历,并通过和医疗区块中的哈希值对比来验证所得病历的真实性、完整性。本方法结合智能合约,实现了病人清醒情况下和病人昏***况下的病历安全共享,使得该发明更加符合医院诊治病人的实际情况。本方法使用监管区块链对较为活跃的医疗区块链进行监管,以防止自私挖矿攻击。为了实现上述目的,本发明提供了一种基于双区块链的医疗数据管理***,其特征在于,所述基于双区块链的医疗数据管理***包括:医疗区块链,用于:运行分等级工作量证明共识来生成新的区块;记录包含病历的哈希值的交易;监管区块链,用于:运行实用拜占庭容错共识以对所述新的区块进行排序;记录所述医疗区块链的区块哈希值;病历存储端,用于:为病历访问控制端生成并存储原始的病历数据;将所述原始的病历数据进行散列计算以得到数据摘要;将所述数据摘要写入交易并上传至所述医疗区块链以进行存证;与病历访问控制端协商用于共享病历数据的可认证身份对称密钥;根据病历请求端提供的授权来共享本地存储的所述原始的病历数据;验证待上链的交易并执行分等级工作量证明共识以生成新的医疗区块,并且每隔预设定的时间间隔将所生成的所述新的医疗区块对应的区块哈希值存入所述监管区块链;所述病历访问控制端,用于:在能够主动授权的情况下,向所述病历请求端发送访问所述病历的授权;在无法主动授权的情况下,被动向病历请求端提供指纹信息以查询查询请求对应的相关医疗信息;调用智能合约存储包含病历关键词的健康记录;所述病历请求端,用于:在病人清醒时获取主动授权并向病历存储端发送非紧急病历请求以获取所述原始的病历数据;在病人处于昏迷状态时调用智能合约搜索与病人指纹匹配的健康记录以获得所述病历关键词;向所述医疗区块链发送紧急访问病历的请求并向所述病历存储端请求所述原始的病历数据。
优选地,所述医疗区块链用于:
记录区块的类型;其中,所述类型包括记录包含病历哈希值的交易的普通类型的区块,记录所述紧急访问病历的请求的紧急类型的区块;以及
根据所记录的所述区块的类型调整生成新的区块的速度。
另外,本发明还提供一种基于可认证密钥协商和区块链的病人授权病历共享方法,使用上述的基于双区块链的医疗数据管理***,所述基于可认证密钥协商和区块链的病人授权病历共享方法包括:
初始化所述医疗数据管理***;
生成所述病历存储端、病历访问控制端以及病历请求端各自的长期密钥;
生成所述病历存储端与所述病历访问控制端各自的可认证身份对称密钥;
生成所述病历的哈希值并使用分等级工作量证明共识将所述病历的哈希值上传至所述医疗区块链;
生成包含病历关键词和病历在区块链中存储地址符的健康记录;
所述病历请求端在病人清醒时根据所述病历访问控制端的授权向所述病历存储端发送非紧急病历请求;
所述病历请求端在病人处于昏迷状态时使用智能合约搜索与病人指纹匹配的健康记录,上传紧急病历请求到所述医疗区块链并向所述病历存储端发送紧急病历请求;
在接收到所述非紧急病历请求时,所述病历存储端检查所述非紧急病历请求以验证所述病历请求端的授权的合法性,并生成非紧急对称密钥加密病历;
在检查到所述紧急病历请求时,所述病历存储端检查所述紧急病历请求是否存储在所述医疗区块链,并生成紧急对称密钥加密病历;
所述病历请求端收到所述非紧急对称密钥加密病历后,根据所述病历访问控制端的授权生成对应的非紧急对称密钥解密病历,并与所述医疗区块链中的哈希值比对确定病历的完整性,完成数据共享;
所述病历请求端收到紧急的加密病历后,根据所述病历存储端身份信息生成对应的紧急对称密钥解密病历,并与医疗区块链中的哈希值比对确定所述病历的完整性,完成数据共享;以及
所述病历存储端每隔预设定的时间间隔将该时间间隔新产生的所述医疗区块链的区块哈希值存入所述监管区块链,完成对所述医疗区块链的监管。
优选地,所述初始化所述医疗数据管理***包括:
私钥生成中心选择一个大素数q和一个双线性对e:G1×G1→G2,其中,G1是阶数为q的加法循环群,G2是阶数为q的乘法循环群;P是循环群G的一个生成元,计算g=e(P,P);所述私钥生成中心选择一个秘密值作为所述私钥生成中心的主私钥,并计算Ppub=sP作为主公钥;选择以下五个Hash函数:
H1:{0,1}*→G1
H3:G2→G1×{0,1}*,
H:{0,1}*→{0,1}l,其中l表示字串长度;
初始化所述医疗数据管理***的公共参数为:
param=(G1,G2,e,q,g,P,Ppub,H0,H1,H2,H3,H);
并且,所述生成所述病历存储端、病历访问控制端以及病历请求端各自的长期密钥包括:
将所述病历存储端HN、所述病历访问控制端PN、以及所述病历请求端DN统一记为端U;
所述端U将自身的身份标识符IDU通过安全信道提交给所述私钥生成中心请求生成对应的私钥;
并且,所述生成所述病历存储端与所述病历访问控制端各自的可认证身份对称密钥包括:
病历访问控制端C使用病历存储端A的身份标识符IDA计算选择随机数并计算Tc=cP,将Tc传送给所述病历存储端A;其中,所述病历存储端A的身份标识符IDA、病历访问控制端C的身份标识符IDC被配置均为***息;
所述病历存储端A收到来自所述病历访问控制端C的Tc后,使用所述病历访问控制端C的身份标识符IDC计算选择随机数并计算Ta=aP,将Ta传送给所述病历访问控制端C,所述病历存储端A计算出与所述病历访问控制端C本次会话的可认证对称密钥skAC=H(IDC||IDA||aTc||KAC||Tc||Ta),并将所述病历加密发送给所述病历访问控制端C;
所述病历访问控制端C收到来自所述病历存储端A的Ta后计算出与病历储端A本次会话的可认证对称密钥skCA=H(IDC||IDA||cTa||KCA||Tc||Ta),并用skCA解密出所述病历。
优选地,所述生成所述病历的哈希值并使用分等级工作量证明共识将所述病历的哈希值上传至所述医疗区块链包括:
所述病历存储端A拥有病历访问控制端C的原始病历MRraw,计算所述原始的病历哈希值digestMR=H(MRraw),生成含有该病历的哈希值的非紧急交易:
tx={IDA,IDC,digestMR,λ0,ts1,σA},
其中,λ0是非紧急交易标识符,ts1是生成该交易时的时间戳;
所述病历存储端A根据交易的类型调整挖矿难度值,其中,非紧急交易的难度值为λ0=0,目标难度值为target=curDifficult×(1+λ0),其中curDifficult是实际挖矿难度值;以及
所述病历存储端A执行分等级工作量证明共识机制将所述非紧急交易tx上传到所述医疗区块链作为存证。
优选地,所述生成包含病历关键词和病历在区块链中存储地址符的健康记录包括:
所述病历访问控制端C根据病历的内容提取关键词集合{keywords},生成健康记录:HR={IDblk,H(tx),{keywords},ts2,σC},
其中,IDblk是包含所述病历哈希值的交易在医疗区块链的区块编号,H(tx)是交易在区块中的搜索标识符,ts2是生成该健康记录的时间,σC=signC(H(IDblk,H(tx),{keywords},ts2))是所述病历访问控制端对所述健康记录的签名;
所述病历访问控制端C在生成所述健康记录后能够删除所述原始的病历数据;
优选地,所述病历请求端在病人清醒时根据所述病历访问控制端的授权向所述病历存储端发送非紧急病历请求包括:
所述病历请求端B收到授权因子后选择随机数并计算Tb∈bP,gb=gb,RB=b(Ppub+QBP),将对病历的请求request放入m=(Tb||requst)并计算h=H2(m||RB),将(αCB,σ,RB,N)作为非紧急病历请求发给所述病历存储端;
并且,所述病历请求端在病人处于昏迷状态时使用智能合约搜索与病人指纹匹配的健康记录,上传紧急病历请求到所述医疗区块链并向所述病历存储端发送紧急病历请求包括:
所述病历请求端B提取病人指纹信息f,并计算H(f),调用智能合约搜索与H(f)匹配的健康记录HR;
所述智能合约将搜索到的健康记录HR反馈给所述病历请求端B,所述病历请求端B根据HR中的关键词集合{keywords}判断是否要请求该病历原始数据;
所述病历请求端B生成包含病历请求request的紧急交易:
tx'={IDB,IDA,request,λ1,ts3,σB},
其中λ1是紧急交易标识符,ts3是生成该交易时的时间戳,σB=SignB(H(IDB,IDA,request,λ1,ts3))是所述病历请求端B对该交易的签名;
所述病历请求端B根据交易的类型调整挖矿难度值;其中,非紧急交易的难度值为λ1=1,目标难度值为target=curDifficult×(1+λ1),其中target是目标难度值,curDifficult是实际挖矿难度值;
所述病历请求端B将对病历的请求request放入m=(Tb||requst),将m传送给所述病历存储端A。
优选地,所述病历存储端检查所述非紧急病历请求以验证所述病历请求端的授权的合法性,并生成非紧急对称密钥加密病历包括:
所述病历存储端A根据(αCB,σ,RB,N)和所述病历请求端B的身份标识符IDB计算QB=H0(IDB),gb'=e(Tc+QAP+QBP,αCB),m'=H3(gb')⊕N,h'=H2(m'||RB),检查e(σ,RB+h'(Ppub+QBP))是否等于g,其中g=e(P,P);当检查结果为等于时,证明所述病历请求端拥有来自所述病历访问控制端的合法授权;
所述病历存储端A计算KAB-C=e(Tb,cP)a,生成本次病历共享的会话密钥skAB=H(IDB||IDA||aTb||KAB-C||KAB||Tb||Ta)并对所述病历加密,将Ta和病历密文发送给所述病历请求端B;
并且,所述病历存储端检查所述紧急病历请求是否存储在所述医疗区块链,并生成紧急对称密钥加密病历包括:
所述病历存储端A收到来自所述病历请求端B的m后,使用所述病历请求端B的身份标识符IDB计算将Ta传送给所述病历请求端B,所述病历存储端A计算出与病历请求端B本次会话的可认证对称密钥skAB=H(IDB||IDA||aTb||KAB||Tb||Ta),并将病历加密发送给病历请求端B。
优选地,所述病历请求端收到所述非紧急对称密钥加密病历后,根据所述病历访问控制端的授权生成对应的非紧急对称密钥解密病历,并与所述医疗区块链中的哈希值比对确定病历的完整性,完成数据共享包括:
所述病历请求端B使用病历访问控制端C的授权因子cP以及病历存储端的身份标识符IDA计算KBA-C=e(Ta,cP)b,生成本次病历共享的会话密钥skBA=H(IDB||IDA||bTa||KBA-C||KBA||Tb||Ta)并对病历密文进行解密,得到病历原始数据,完成数据共享;
并且,所述病历请求端收到紧急的加密病历后,根据所述病历存储端身份信息生成对应的紧急对称密钥解密病历,并与医疗区块链中的哈希值比对确定所述病历的完整性,完成数据共享包括:
所述病历访问请求端B使用所述病历存储端A的身份标识符IDA计算收到来自所述病历存储端A的Ta后计算出与病历储端A本次会话的可认证对称密钥skBA=H(IDB||IDA||bTa||KBA||Tb||Ta),并用skBA解密出病历,得到病历原始数据,完成数据共享。
优选地,所述病历存储端每隔预设定的时间间隔将该时间间隔新产生的所述医疗区块链的区块哈希值存入所述监管区块链,完成对所述医疗区块链的监管包括:
所述病历存储端A和其他病历存储端一起构成联盟并执行实用拜占庭容错共识机制维护监管区块链;
每隔一个每隔预设定的时间间隔将该时段新生成的医疗区块链的区块进行哈希运算得到H(blk1),H(blk2),...,H(blki),并按照梅克尔树的结构组合并写入监管区块链。
根据上述技术方案,本发明通过结合基于身份的签名算法(IBS)和基于身份的可认证密钥协商算法(IBAKA)实现了病历的安全共享,采用分等级的工作量证明共识机制,实现了根据交易的紧急程度来改变生成新区块的速度,并使用双链结构来形成对链上数据的监管,有效抵御自私挖矿攻击。本发明不仅实现了病历存储端和病历请求端之间病历数据的安全存储和共享功能,还实现了病历访问控制端对共享过程的权限控制,并利用区块链存证病历,使得医院之间可以严格追溯病历数据来源,避免因数据源头不明带来的医疗纠纷风险,符合当下智慧医疗,5G网络背景下医院之间医疗数据共享的发展趋势。
本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1是说明本发明的一种基于双区块链的医疗数据管理***的交互框图;
图2是说明本发明的一种基于双区块链的医疗数据管理***的模块框图;以及
图3是说明本发明的一种基于可认证密钥协商和区块链的病人授权病历共享方法的流程图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
实施例1
图1是本发明实施例1所提供的一种基于双区块链的医疗数据管理***的模块交互框图,如图1、2所示,所述基于区块链的智能医疗网络***包括:
医疗区块链,用于:
运行分等级工作量证明共识来生成新的区块;
记录包含病历哈希值的交易;
监管区块链,用于:
运行实用拜占庭容错共识以对新区块进行排序;
记录医疗区块链的区块哈希值以防止数据遭受自私挖矿攻击;
病历存储端,用于:
为病历访问控制端生成病历数据并存储;
将原始病历数据散列计算得到数据摘要;
将数据摘要写入交易并上传至区块链以进行存证;
与病历访问控制端协商用于共享病历数据的可认证身份对称密钥;
根据病历请求端提供的授权来共享本地存储的原始病历数据;
验证待上链的交易并执行分等级工作量证明共识以生成新的医疗区块并且每隔一个固定时间间隔将新生成的医疗区块的哈希值存入监管区块链;
病历访问控制端,用于:
可以主动授权的情况下,向病历请求端发送访问病历的授权;
无法主动授权的情况下,被动向病历请求端提供指纹信息以便查询相关医疗信息;
调用智能合约存储包含病历关键词的健康记录;
病历请求端,用于:
在病人清醒时获取主动授权并向病历存储端请求数据;
在病人昏迷时调用智能合约搜索与病人指纹匹配的健康记录从而获知病历关键词;
向医疗区块链发送紧急访问病历的请求并向病历存储端请求病历数据。
优选地,所述病历存储端使用分等级工作量证明共识的医疗区块链对普通类型区块和紧急类型区块采用不同的速度进行共识并上链包括:
所述医疗区块链记录包含病历哈希值的交易为普通类型区块;
所述医疗区块链记录所述紧急访问病历请求为紧急类型区块;
所述分等级工作量证明共识机制用于根据区块的紧急程度来调整生成新区块的速度;
所述使用拜占庭容错共识的监管区块链用于监管医疗区块链。
总结来看,病历存储端保留病例原始数据,病历访问控制端与病历存储端协商一个授权因子以方便对病历请求端授权,得到授权的病历请求端可以向病历存储端发送非紧急病历请求;为了防止病历访问控制端的所有人昏迷无法向病历请求端提供授权因子,病历访问控制端还利用智能合约生成包含病历关键词的健康记录并存储在区块链中以方便昏迷时,病历请求端可以根据病历访问控制端所有人的指纹信息来获取病历信息,从而向病历存储端发送紧急的病历请求。紧急病历请求会被记录在医疗区块链中,可以被溯源,从而避免了紧急请求的滥用和潜在的医疗纠纷。此外双区块链结构中的医疗区块链采用分等级工作量证明共识机制用于根据区块的紧急程度来调整生成新区块的速度,确保紧急交易可以快速上链;双区块链结构中的监管区块链采用实用拜占庭容错共识机制,定期记录医疗区块链的区块哈希值以抵御自私挖矿攻击。本发明实现了病人跨院治疗时对自己病历在医院之间共享的访问控制,实现了根据交易紧急程度改变区块链生成新区块速度,实现了双区块链结构以保证医疗区块链可以抵御自私挖矿攻击。
实施例2
在实施例1中,公开了一种基于双区块链的医疗数据管理***,对于该***的建立以及使用该***来实现基于可认证密钥协商和区块链的病人授权病历共享方法,需要通过下述的方法来实现,如图3所示,建立并使用权利要求1或2所述的基于可认证密钥协商和区块链的病人授权病历共享方法包括:
S301,初始化所述医疗数据管理***;
S302,生成所述病历存储端、病历访问控制端以及病历请求端的长期密钥;
S303,生成所述病历存储端与所述病历访问控制端的可认证身份对称密钥;
S304,生成所述病历的哈希值并使用分等级工作量证明共识将所述病历哈希值上传医疗区块链;
S305,生成包含病历关键词和病历在区块链中存储地址符的健康记录;
S306,所述病历请求端在病人清醒时根据所述病历访问控制端的授权向病历存储端发送非紧急病历请求;
S307,所述病历请求端在病人昏迷时使用智能合约搜索与病人指纹匹配的健康记录,上传紧急病历请求到医疗区块链并向病历存储端发送紧急病历请求;
S308,所述病历存储端检查非紧急病历请求验证病历请求端的授权的合法性,并生成非紧急对称密钥加密病历;
S309,所述病历存储端检查紧急病历请求是否存储在医疗区块链,并生成紧急对称密钥加密病历;
S310,所述病历请求端收到非紧急的加密病历后,根据病历访问控制端的授权生成对应的非紧急对称密钥解密病历,并与医疗区块链中的哈希值比对确定病历的完整性,完成数据共享;
S311,所述病历请求端收到紧急的加密病历后,根据病历存储端身份信息生成对应的紧急对称密钥解密病历,并与医疗区块链中的哈希值比对确定病历的完整性,完成数据共享;以及
S312,所述病历存储端根据固定时间间隔将该时段新产生的医疗区块哈希值存入监管区块链,完成对医疗区块链的监管。
优选地,S301,所述初始化所述医疗数据管理***包括:
S3011,私钥生成中心(PKG)选择一个大素数q和一个双线性对e:G1×G1→G2,其中,G1是阶数为q的加法循环群,G2是阶数为q的乘法循环群;P是循环群G的一个生成元,计算g=e(P,P);
H1:{0,1}*→G1
H3:G2→G1×{0,1}*,
H:{0,1}*→{0,1}l,其中l表示字串长度;
S3013,初始化所述医疗数据管理***的公共参数为:
param=(G1,G2,e,q,g,P,Ppub,H0,H1,H2,H3,H)。
优选地,S302,所述生成所述病历存储端、病历访问控制端以及病历请求端的长期密钥包括:
S3021,不失一般性地将所述病历存储端HN,所述病历访问控制端PN,所述病历请求端DN统一记为端U;
优选地,S303,生成所述病历存储端与所述病历访问控制端的可认证身份对称密钥包括:
S3032,所述病历存储端A收到来自所述病历访问控制端C的Tc后,使用所述病历访问控制端C的身份标识符IDC计算选择随机数并计算Ta=aP,将Ta传送给所述病历访问控制端C,病历存储端A计算出与病历访问控制端C本次会话的可认证对称密钥skAC=H(IDC||IDA||aTc||KAC||Tc||Ta),并将病历加密发送给病历访问控制端;
S3033,所述病历访问控制端C收到来自所述病历存储端A的Ta后计算出与病历储端A本次会话的可认证对称密钥skCA=H(IDC||IDA||cTa||KCA||Tc||Ta),并用skCA解密出病历。
优选地,S304,生成所述病历的哈希值并使用分等级工作量证明共识将所述病历哈希值上传医疗区块链包括:
S3041,所述病历存储端A拥有病历访问控制端C的原始病历MRraw,计算所述原始病历哈希值digestMR=H(MRraw),生成含有该病历哈希值的非紧急交易:
tx={IDA,IDC,digestMR,λ0,ts1,σA},
其中λ0是非紧急交易标识符,
ts1是生成该交易时的时间戳,
S3042,所述病历存储端A根据交易的类型调整挖矿难度值,非紧急交易的难度值为λ0=0,目标难度值为target=curDifficult×(1+λ0),其中target是目标难度值,curDifficult是实际挖矿难度值。
S3043,所述病历存储端A执行分等级工作量证明共识机制将非紧急交易tx上传到医疗区块链作为存证。
优选地,S305,生成包含病历关键词和病历在区块链中存储地址符的健康记录包括:
S3051,所述病历访问控制端C根据病历的内容提取关键词集合{keywords},生成健康记录:
HR={IDblk,H(tx),{keywords},ts2,σC},
其中IDblk是包含所述病历哈希值的交易在医疗区块链的区块编号,
H(tx)是交易在区块中的搜索标识符,
ts2是生成该健康记录的当前时间,
σC=signC(H(IDblk,H(tx),{keywords},ts2))是所述病历访问控制端对所述健康记录的签名。
S3052,所述病历访问控制端C使用自己指纹信息H(f)对所述健康记录进行加密得到健康记录的密文HR'=H(f)⊕HR,并调用智能合约将HR'存储到区块链中以及所述病历访问控制端C的医疗区块链账户中;
S3053,所述病历访问控制端通常是智能手机等资源有限的移动设备,在生成医疗记录后,所述病历访问控制端可以删除原始病历数据节约存储空间以及减少能耗。
优选地,S306,所述病历请求端在病人清醒时根据所述病历访问控制端的授权向病历存储端发送非紧急病历请求包括:
S3062,所述病历请求端B收到授权因子后选择随机数并计算Tb∈bP,gb=gb,RB=b(Ppub+QBP),将对病历的请求request放入m=(Tb||requst)并计算h=H2(m||RB),将(αCB,σ,RB,N)作为非紧急病历请求发给所述病历存储端。
优选地,S307,所述病历请求端在病人昏迷时使用智能合约搜索与病人指纹匹配的健康记录,上传紧急病历请求到医疗区块链并向病历存储端发送紧急病历请求包括:
S3071,所述病历请求端B提取病人指纹信息f,并计算H(f),调用智能合约搜索与H(f)匹配的健康记录HR;
S3072,所述智能合约将搜索到的健康记录HR反馈给所述病历请求端B,所述病历请求端B根据HR中的关键词集合{keywords}判断是否要请求该病历原始数据;
S3073,所述病历请求端B使用生成包含病历请求request的紧急交易:
tx'={IDB,IDA,request,λ1,ts3,σB},
其中λ1是紧急交易标识符,
ts3是生成该交易时的时间戳,
σB=SignB(H(IDB,IDA,request,λ1,ts3))是所述病历请求端B对该交易的签名。
S3074,所述病历请求端B根据交易的类型调整挖矿难度值,非紧急交易的难度值为λ1=1,目标难度值为target=curDifficult×(1+λ1),其中target是目标难度值,curDifficult是实际挖矿难度值;
S3075,所述病历请求端B将对病历的请求request放入m=(Tb||requst),将m传送给所述病历存储端A。
优选地,S308,所述病历存储端检查非紧急病历请求验证病历请求端的授权的合法性,并生成非紧急对称密钥加密病历包括:
S3081,所述病历存储端A根据(αCB,σ,RB,N)以及所述病历请求端B的身份标识符IDB计算QB=H0(IDB),gb'=e(Tc+QAP+QBP,αCB),h'=H2(m'||RB),检查e(σ,RB+h'(Ppub+QBP))是否等于g,其中g=e(P,P);当等式成立时,证明所述病历请求端拥有来自所述病历访问控制端的合法授权;
S3082,所述病历存储端A计算KAB-C=e(Tb,cP)a,生成本次病历共享的会话密钥skAB=H(IDB||IDA||aTb||KAB-C||KAB||Tb||Ta)并对所述病历加密,将Ta和病历密文发送给所述病历请求端B。
优选地,S309,所述病历存储端检查紧急病历请求是否存储在医疗区块链,并生成紧急对称密钥加密病历包括:
S3091,所述病历存储端A收到来自所述病历请求端B的m后,使用所述病历请求端B的身份标识符IDB计算将Ta传送给所述病历请求端B,病历存储端A计算出与病历请求端B本次会话的可认证对称密钥skAB=H(IDB||IDA||aTb||KAB||Tb||Ta),并将病历加密发送给病历请求端B;
优选地,S310,所述病历请求端收到非紧急的加密病历后,根据病历访问控制端的授权生成对应的非紧急对称密钥解密病历,并与医疗区块链中的哈希值比对确定病历的完整性,完成数据共享包括:
S3101,所述病历请求端B使用病历访问控制端C的授权因子cP以及病历存储端的身份标识符IDA计算KBA-C=e(Ta,cP)b,生成本次病历共享的会话密钥skBA=H(IDB||IDA||bTa||KBA-C||KBA||Tb||Ta)并对病历密文进行解密,得到病历原始数据,完成数据共享。
优选地,S311,所述病历请求端收到紧急的加密病历后,根据病历存储端身份信息生成对应的紧急对称密钥解密病历,并与医疗区块链中的哈希值比对确定病历的完整性,完成数据共享包括:
S3111,所述病历访问请求端B使用所述病历存储端A的身份标识符IDA计算收到来自所述病历存储端A的Ta后计算出与病历储端A本次会话的可认证对称密钥skBA=H(IDB||IDA||bTa||KBA||Tb||Ta),并用skBA解密出病历,得到病历原始数据,完成数据共享。
优选地,S312,所述病历存储端根据固定时间间隔将该时段新产生的医疗区块哈希值存入监管区块链,完成对医疗区块链的监管包括:
S3121,所述病历存储端A和其他病历存储端一起构成联盟并执行实用拜占庭容错共识机制维护监管区块链;
S3122,每隔一个固定的时间间隔将该时段新生成的医疗区块链的区块进行哈希运算得到H(blk1),H(blk2),...,H(blki),并按照梅克尔树的结构组合并写入监管区块链。
其中,实施例2包含了对于所述实施例1中基于双区块链的医疗数据管理***的生成方法以及整个基于可认证密钥协商和区块链的病人授权病历共享方法,其生成建立过程与共享是同步执行的,也可先建立后实现共享。
举例而言,病历访问控制端可以是一个病人C,病历存储端可以是一家医院A,病历请求端是另一家医院B。病人C先到医院A看病,医院A生成了病人C的相关病历并存储,同时医院A和病人C协商可认证会话密钥来传输病历并将协商中用到的中间量作为下一次访问控制的授权因子。病人还需要调用智能合约生成含有病历关键词以及病历在医疗区块链上存储标识符的健康记录以便在自己昏迷时,医院可以通过智能合约搜索到自己的健康记录。当病人C到医院B看病时,医院B可能需要根据病人C的过往病历来辅助诊断。此时病人C若清醒则向医院B授权;病人C若昏迷,医院采集病人C的指纹并调用智能合约搜索匹配的健康记录从而判断哪些病历有助于本次治疗,随后向区块链以及病历存储端A分别发出紧急病历访问请求。在收到病历访问请求后,病历存储端A判断请求类别。如果是非紧急请求,则验证病历请求端的权限然后共享病历,如果是紧急请求,则查询区块链是否记录该紧急请求然后共享病历。收到加密的病历后,病历请求端生成对应的解密密钥,解出病历明文,完成病历共享。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种基于双区块链的医疗数据管理***,其特征在于,所述基于双区块链的医疗数据管理***包括:
医疗区块链,用于:
运行分等级工作量证明共识来生成新的区块;
记录包含病历的哈希值的交易;
监管区块链,用于:
运行实用拜占庭容错共识以对所述新的区块进行排序;
记录所述医疗区块链的区块哈希值;
病历存储端,用于:
为病历访问控制端生成并存储原始的病历数据;
将所述原始的病历数据进行散列计算以得到数据摘要;
将所述数据摘要写入交易并上传至所述医疗区块链以进行存证;
与病历访问控制端协商用于共享病历数据的可认证身份对称密钥;
根据病历请求端提供的授权来共享本地存储的所述原始的病历数据;
验证待上链的交易并执行分等级工作量证明共识以生成新的医疗区块,并且每隔预设定的时间间隔将所生成的所述新的医疗区块对应的区块哈希值存入所述监管区块链;
所述病历访问控制端,用于:
在能够主动授权的情况下,向所述病历请求端发送访问所述病历的授权;
在无法主动授权的情况下,被动向病历请求端提供指纹信息以查询查询请求对应的相关医疗信息;
调用智能合约存储包含病历关键词的健康记录;
所述病历请求端,用于:
在病人清醒时获取主动授权并向病历存储端发送非紧急病历请求以获取所述原始的病历数据;
在病人处于昏迷状态时调用智能合约搜索与病人指纹匹配的健康记录以获得所述病历关键词;
向所述医疗区块链发送紧急访问病历的请求并向所述病历存储端请求所述原始的病历数据。
2.根据权利要求1所述的基于双区块链的医疗数据管理***,其特征在于,所述医疗区块链用于:
记录区块的类型;其中,所述类型包括记录包含病历哈希值的交易的普通类型的区块,记录所述紧急访问病历的请求的紧急类型的区块;以及
根据所记录的所述区块的类型调整生成新的区块的速度。
3.一种基于可认证密钥协商和区块链的病人授权病历共享方法,其特征在于,使用权利要求1或2所述的基于双区块链的医疗数据管理***,所述基于可认证密钥协商和区块链的病人授权病历共享方法包括:
初始化所述医疗数据管理***;
生成所述病历存储端、病历访问控制端以及病历请求端各自的长期密钥;
生成所述病历存储端与所述病历访问控制端各自的可认证身份对称密钥;
生成所述病历的哈希值并使用分等级工作量证明共识将所述病历的哈希值上传至所述医疗区块链;
生成包含病历关键词和病历在区块链中存储地址符的健康记录;
所述病历请求端在病人清醒时根据所述病历访问控制端的授权向所述病历存储端发送非紧急病历请求;
所述病历请求端在病人处于昏迷状态时使用智能合约搜索与病人指纹匹配的健康记录,上传紧急病历请求到所述医疗区块链并向所述病历存储端发送紧急病历请求;
在接收到所述非紧急病历请求时,所述病历存储端检查所述非紧急病历请求以验证所述病历请求端的授权的合法性,并生成非紧急对称密钥加密病历;
在接收到所述紧急病历请求时,所述病历存储端检查所述紧急病历请求是否存储在所述医疗区块链,并生成紧急对称密钥加密病历;
所述病历请求端收到所述非紧急对称密钥加密病历后,根据所述病历访问控制端的授权生成对应的非紧急对称密钥解密病历,并与所述医疗区块链中的哈希值比对确定病历的完整性,完成数据共享;
所述病历请求端收到紧急的加密病历后,根据所述病历存储端身份信息生成对应的紧急对称密钥解密病历,并与医疗区块链中的哈希值比对确定所述病历的完整性,完成数据共享;以及
所述病历存储端每隔预设定的时间间隔将该时间间隔新产生的所述医疗区块链的区块哈希值存入所述监管区块链,完成对所述医疗区块链的监管。
4.根据权利要求3所述的基于可认证密钥协商和区块链的病人授权病历共享方法,其特征在于,所述初始化所述医疗数据管理***包括:
私钥生成中心选择一个大素数q和一个双线性对e:G1×G1→G2,其中,G1是阶数为q的加法循环群,G2是阶数为q的乘法循环群;P是循环群G的一个生成元,计算g=e(P,P);所述私钥生成中心选择一个秘密值作为所述私钥生成中心的主私钥,并计算Ppub=sP作为主公钥;选择以下五个Hash函数:
H1:{0,1}*→G1
H3:G2→G1×{0,1}*,
H:{0,1}*→{0,1}l,其中l表示字串长度;
初始化所述医疗数据管理***的公共参数为:
param=(G1,G2,e,q,g,P,Ppub,H0,H1,H2,H3,H);
并且,所述生成所述病历存储端、病历访问控制端以及病历请求端各自的长期密钥包括:
将所述病历存储端HN、所述病历访问控制端PN、以及所述病历请求端DN统一记为端U;
所述端U将自身的身份标识符IDU通过安全信道提交给所述私钥生成中心请求生成对应的私钥;
并且,所述生成所述病历存储端与所述病历访问控制端各自的可认证身份对称密钥包括:
病历访问控制端C使用病历存储端A的身份标识符IDA计算选择随机数并计算Tc=cP,将Tc传送给所述病历存储端A;其中,所述病历存储端A的身份标识符IDA、病历访问控制端C的身份标识符IDC被配置均为***息;
所述病历存储端A收到来自所述病历访问控制端C的Tc后,使用所述病历访问控制端C的身份标识符IDC计算选择随机数并计算Ta=aP,将Ta传送给所述病历访问控制端C,所述病历存储端A计算出与所述病历访问控制端C本次会话的可认证对称密钥skAC=H(IDC||IDA||aTc||KAC||Tc||Ta),并将所述病历加密发送给所述病历访问控制端C;
所述病历访问控制端C收到来自所述病历存储端A的Ta后计算出与病历储端A本次会话的可认证对称密钥skCA=H(IDC||IDA||cTa||KCA||Tc||Ta),并用skCA解密出所述病历。
5.根据权利要求4所述的基于可认证密钥协商和区块链的病人授权病历共享方法,其特征在于,所述生成所述病历的哈希值并使用分等级工作量证明共识将所述病历的哈希值上传至所述医疗区块链包括:
所述病历存储端A拥有病历访问控制端C的原始病历MRraw,计算所述原始的病历哈希值digestMR=H(MRraw),生成含有该病历的哈希值的非紧急交易:
tx={IDA,IDC,digestMR,λ0,ts1,σA},
其中,λ0是非紧急交易标识符,ts1是生成该交易时的时间戳;
所述病历存储端A根据交易的类型调整挖矿难度值,其中,非紧急交易的难度值为λ0=0,目标难度值为target=curDifficult×(1+λ0),其中curDifficult是实际挖矿难度值;以及
所述病历存储端A执行分等级工作量证明共识机制将所述非紧急交易tx上传到所述医疗区块链作为存证。
6.根据权利要求5所述的基于可认证密钥协商和区块链的病人授权病历共享方法,其特征在于,所述生成包含病历关键词和病历在区块链中存储地址符的健康记录包括:
所述病历访问控制端C根据病历的内容提取关键词集合{keywords},生成健康记录:HR={IDblk,H(tx),{keywords},ts2,σC},
其中,IDblk是包含所述病历哈希值的交易在医疗区块链的区块编号,H(tx)是交易在区块中的搜索标识符,ts2是生成该健康记录的时间,σC=signC(H(IDblk,H(tx),{keywords},ts2))是所述病历访问控制端对所述健康记录的签名;
所述病历访问控制端C在生成所述健康记录后能够删除所述原始的病历数据。
7.根据权利要求6所述的基于可认证密钥协商和区块链的病人授权病历共享方法,其特征在于,所述病历请求端在病人清醒时根据所述病历访问控制端的授权向所述病历存储端发送非紧急病历请求包括:
所述病历请求端B收到授权因子后选择随机数并计算Tb∈bP,gb=gb,RB=b(Ppub+QBP),将对病历的请求request放入m=(Tb||requst)并计算h=H2(m||RB),将(αCB,σ,RB,N)作为非紧急病历请求发给所述病历存储端;
并且,所述病历请求端在病人处于昏迷状态时使用智能合约搜索与病人指纹匹配的健康记录,上传紧急病历请求到所述医疗区块链并向所述病历存储端发送紧急病历请求包括:
所述病历请求端B提取病人指纹信息f,并计算H(f),调用智能合约搜索与H(f)匹配的健康记录HR;
所述智能合约将搜索到的健康记录HR反馈给所述病历请求端B,所述病历请求端B根据HR中的关键词集合{keywords}判断是否要请求该病历原始数据;
所述病历请求端B生成包含病历请求request的紧急交易:
tx'={IDB,IDA,request,λ1,ts3,σB},
其中λ1是紧急交易标识符,ts3是生成该交易时的时间戳,σB=SignB(H(IDB,IDA,request,λ1,ts3))是所述病历请求端B对该交易的签名;
所述病历请求端B根据交易的类型调整挖矿难度值;其中,非紧急交易的难度值为λ1=1,目标难度值为target=curDifficult×(1+λ1),其中target是目标难度值,curDifficult是实际挖矿难度值;
所述病历请求端B将对病历的请求request放入m=(Tb||requst),将m传送给所述病历存储端A。
8.根据权利要求7所述的基于可认证密钥协商和区块链的病人授权病历共享方法,其特征在于,所述病历存储端检查所述非紧急病历请求以验证所述病历请求端的授权的合法性,并生成非紧急对称密钥加密病历包括:
所述病历存储端A根据(αCB,σ,RB,N)和所述病历请求端B的身份标识符IDB计算QB=H0(IDB),gb'=e(Tc+QAP+QBP),h'=H2(m'||RB),检查e(σ,RB+h'(Ppub+QBP))是否等于g,其中g=e(P,P),当检查结果为等于时,证明所述病历请求端拥有来自所述病历访问控制端的合法授权;
所述病历存储端A计算KAB-C=e(Tb,cP)a,生成本次病历共享的会话密钥skAB=H(IDB||IDA||aTb||KAB-C||KAB||Tb||Ta)并对所述病历加密,将Ta和病历密文发送给所述病历请求端B;
并且,所述病历存储端检查所述紧急病历请求是否存储在所述医疗区块链,并生成紧急对称密钥加密病历包括:
9.根据权利要求8所述的基于可认证密钥协商和区块链的病人授权病历共享方法,其特征在于,所述病历请求端收到所述非紧急对称密钥加密病历后,根据所述病历访问控制端的授权生成对应的非紧急对称密钥解密病历,并与所述医疗区块链中的哈希值比对确定病历的完整性,完成数据共享包括:
所述病历请求端B使用病历访问控制端C的授权因子cP以及病历存储端的身份标识符IDA计算KBA-C=e(Ta,cP)b,生成本次病历共享的会话密钥skBA=H(IDB||IDA||bTa||KBA-C||KBA||Tb||Ta)并对病历密文进行解密,得到病历原始数据,完成数据共享;
并且,所述病历请求端收到紧急的加密病历后,根据所述病历存储端身份信息生成对应的紧急对称密钥解密病历,并与医疗区块链中的哈希值比对确定所述病历的完整性,完成数据共享包括:
10.根据权利要求9所述的基于可认证密钥协商和区块链的病人授权病历共享方法,其特征在于,所述病历存储端每隔预设定的时间间隔将该时间间隔新产生的所述医疗区块链的区块哈希值存入所述监管区块链,完成对所述医疗区块链的监管包括:
所述病历存储端A和其他病历存储端一起构成联盟并执行实用拜占庭容错共识机制维护监管区块链;
每隔一个每隔预设定的时间间隔将该时段新生成的医疗区块链的区块进行哈希运算得到H(blk1),H(blk2),...,H(blki),并按照梅克尔树的结构组合并写入监管区块链。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111055884.7A CN113764060B (zh) | 2021-09-09 | 2021-09-09 | 一种基于双区块链的医疗数据管理***、病人授权病历共享方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111055884.7A CN113764060B (zh) | 2021-09-09 | 2021-09-09 | 一种基于双区块链的医疗数据管理***、病人授权病历共享方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113764060A true CN113764060A (zh) | 2021-12-07 |
CN113764060B CN113764060B (zh) | 2023-09-22 |
Family
ID=78794388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111055884.7A Active CN113764060B (zh) | 2021-09-09 | 2021-09-09 | 一种基于双区块链的医疗数据管理***、病人授权病历共享方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113764060B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114936851A (zh) * | 2022-07-25 | 2022-08-23 | 雅安数字经济运营有限公司 | 一种基于区块链的idc数据协同方法及*** |
WO2023179056A1 (zh) * | 2022-03-24 | 2023-09-28 | 腾讯科技(深圳)有限公司 | 区块链网络的共识处理方法、装置、设备及存储介质、程序产品 |
CN117540432A (zh) * | 2024-01-05 | 2024-02-09 | 河北数港科技有限公司 | 一种互联网的数据隐私保护方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180060496A1 (en) * | 2016-08-23 | 2018-03-01 | BBM Health LLC | Blockchain-based mechanisms for secure health information resource exchange |
CN109326337A (zh) * | 2018-09-06 | 2019-02-12 | 西安电子科技大学 | 基于区块链的电子医疗记录存储和共享的模型及方法 |
CN109948367A (zh) * | 2019-03-27 | 2019-06-28 | 南京星链高科技发展有限公司 | 一种基于区块链技术的医疗数据授权方法 |
CN110299195A (zh) * | 2019-06-11 | 2019-10-01 | 中国矿业大学 | 基于联盟链的具有隐私保护的电子病历共享***及应用方法 |
CN112735551A (zh) * | 2021-01-15 | 2021-04-30 | 山东科技大学 | 基于H-Algorand共识机制的医疗记录存储共享模型及其实现方法 |
-
2021
- 2021-09-09 CN CN202111055884.7A patent/CN113764060B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180060496A1 (en) * | 2016-08-23 | 2018-03-01 | BBM Health LLC | Blockchain-based mechanisms for secure health information resource exchange |
CN109326337A (zh) * | 2018-09-06 | 2019-02-12 | 西安电子科技大学 | 基于区块链的电子医疗记录存储和共享的模型及方法 |
CN109948367A (zh) * | 2019-03-27 | 2019-06-28 | 南京星链高科技发展有限公司 | 一种基于区块链技术的医疗数据授权方法 |
CN110299195A (zh) * | 2019-06-11 | 2019-10-01 | 中国矿业大学 | 基于联盟链的具有隐私保护的电子病历共享***及应用方法 |
CN112735551A (zh) * | 2021-01-15 | 2021-04-30 | 山东科技大学 | 基于H-Algorand共识机制的医疗记录存储共享模型及其实现方法 |
Non-Patent Citations (1)
Title |
---|
甘霖;杨建华;路松峰;: "基于区块链的电子病历共享技术研究", 中国数字医学, no. 12 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023179056A1 (zh) * | 2022-03-24 | 2023-09-28 | 腾讯科技(深圳)有限公司 | 区块链网络的共识处理方法、装置、设备及存储介质、程序产品 |
CN114936851A (zh) * | 2022-07-25 | 2022-08-23 | 雅安数字经济运营有限公司 | 一种基于区块链的idc数据协同方法及*** |
CN114936851B (zh) * | 2022-07-25 | 2022-11-01 | 雅安数字经济运营有限公司 | 一种基于区块链的idc数据协同方法及*** |
CN117540432A (zh) * | 2024-01-05 | 2024-02-09 | 河北数港科技有限公司 | 一种互联网的数据隐私保护方法及*** |
CN117540432B (zh) * | 2024-01-05 | 2024-03-19 | 河北数港科技有限公司 | 一种互联网的数据隐私保护方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN113764060B (zh) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11244059B2 (en) | Blockchain for managing access to medical data | |
CN108681966B (zh) | 一种基于区块链的信息监管方法及装置 | |
US11194919B2 (en) | Cognitive system for managing consent to user data | |
US11943237B2 (en) | Malicious peer identification for database block sequence | |
US11949691B2 (en) | Malicious peer identification | |
US11323269B2 (en) | Preserving privacy of linked cross-network transactions | |
CN113764060B (zh) | 一种基于双区块链的医疗数据管理***、病人授权病历共享方法 | |
US11949794B2 (en) | Data anonymization of blockchain-based processing pipeline | |
Zhang et al. | Secure and efficient data storage and sharing scheme based on double blockchain | |
US20230059580A1 (en) | Blockchain with random committee selection | |
Jiang et al. | Attribute-based encryption with blockchain protection scheme for electronic health records | |
US20220138550A1 (en) | Blockchain for artificial intelligence training | |
CN113407627A (zh) | 一种基于区块链的智能医疗网络***及医疗数据共享方法 | |
T. de Oliveira et al. | A break-glass protocol based on ciphertext-policy attribute-based encryption to access medical records in the cloud | |
John et al. | Provably secure data sharing approach for personal health records in cloud storage using session password, data access key, and circular interpolation | |
US20200389518A1 (en) | Secure data dissemination | |
CN111488619A (zh) | 基于区块链的健康数据隐私保护与共享*** | |
CN114357492A (zh) | 一种基于区块链的医疗数据隐私融合方法及装置 | |
US20230208640A1 (en) | Selective audit process for privacy-preserving blockchain | |
Yoosuf | Lightweight fog‐centric auditing scheme to verify integrity of IoT healthcare data in the cloud environment | |
US11856092B2 (en) | Limiting data availability on distributed ledger | |
CN114978664A (zh) | 一种数据共享方法、装置及电子设备 | |
US20220166616A1 (en) | Key reclamation in blockchain network via oprf | |
Yuan et al. | B‐SSMD: A Fine‐Grained Secure Sharing Scheme of Medical Data Based on Blockchain | |
Kaddoura et al. | Blockchain for healthcare and medical systems |
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 |