CN110910977A - 一种融入区块链技术的医疗数据安全存储方法 - Google Patents

一种融入区块链技术的医疗数据安全存储方法 Download PDF

Info

Publication number
CN110910977A
CN110910977A CN201911103320.9A CN201911103320A CN110910977A CN 110910977 A CN110910977 A CN 110910977A CN 201911103320 A CN201911103320 A CN 201911103320A CN 110910977 A CN110910977 A CN 110910977A
Authority
CN
China
Prior art keywords
medical
data
node
consensus
medical data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911103320.9A
Other languages
English (en)
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 Tech University
Original Assignee
Nanjing Tech University
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 Tech University filed Critical Nanjing Tech University
Priority to CN201911103320.9A priority Critical patent/CN110910977A/zh
Publication of CN110910977A publication Critical patent/CN110910977A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • 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/602Providing cryptographic facilities or services
    • 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/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Fuzzy Systems (AREA)
  • Epidemiology (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

本发明公开了一种融入区块链技术的医疗数据安全存储方法。涉及区块链领域,该方法采用了改进PBFT共识算法和优化Hash加密算法,将医疗数据安全、有效地存储在分布式数据库中,保证医疗数据的完整性和可追溯性;同时,提出并设计了全新的数据交互***,阻止第三方与数据库的直接交互,防止不可信的第三方恶意破坏医疗数据,保证了数据的安全性;最后,通过访问控制和Lucene检索机制保证患者的隐私和实现医疗数据的快速检索。改进的PBFT共识算法相较于POW、DPOS等算法,为医疗区块链***提供了更好的稳定性和吞吐量。同时,相比于普通的数据库交互,数据交互***有效的阻止对数据库的直接操作,在隐私保护和防篡改上具有较好的表现。实验数据说明,去中心化的医疗数据存储***、改进的PBFT共识算法以及数据交互***的架构,实现了医疗数据的安全、可追溯和防篡改,解决了医疗数据集中存储、不可追溯和易受攻击等难点,为进一步推动区块链技术应用于医疗信息行业奠定了基础。

Description

一种融入区块链技术的医疗数据安全存储方法
技术领域
本发明涉及医疗数据存储领域,具体涉及到融入区块链技术的医疗数据安全存储方法。
背景技术
长期以来,全球在解决电子医疗数据(Electronic Medical Record,EMR)的存储、校验和可追溯性等问题上一直存在难点,当患者和医生在访问EMR时会受到严格的限制,需要花费大量的资源和时间进行许可校验。EMR需要经常在医院、研究人员、患者等之间进行分发和共享,这对保证EMR的安全性十分重要。其次,EMR通常存储在医院单独的数据库中,集中存储导致信息价值较大,易成为攻击重点,一旦被第三方恶意攻击,则数据的安全性、完整性和不可更改性可能无法得到保证,所以,医疗数据的安全问题亟待解决。
近年来,加密技术、大数据、云存储等相关技术得到快速发展,研究人员提出了基于同态加密的数据安全存储和基于云存储服务数据安全机制等方案,但是,这些安全服务方案都依赖于一个完全可信的第三方来保证交互的可靠性,一旦第三方信任机构遭到攻击,则所有的服务都不再安全。随着区块链技术的发展,为解决医疗数据的安全、集中存储和复杂的权限限制结构提供了一种全新的去中心化模式,利用区块链的去中心化、不可篡改等特点保证了EMR的安全存储与共享,帮助解决了EMR存储集中、可追溯性难等问题,以达到隐私规则和安全规则的标准。
发明内容
为了实现上述发明目的,本发明采用了一种融入区块链技术的医疗数据安全存储方法,步骤为:
1、用户在医疗区块链网络***中注册,其中各级医院代表网络节点,组成区块链网络结构和共识中心。所有从***获取、上传数据统称为用户,如患者、医生等。用户注册生成的注册信息存储在分布式数据库中当前节点分区下。
用户注册过程为:节点和用户上传身份证明文件,密钥中心作为密钥分发机构,为申请用户分发密钥,并且对患者的医疗数据执行加密等操作。
2、构建医疗数据块和医疗元数据块模型,其结构为:
医疗数据分为医疗数据块和医疗元数据块,其中,Patient ID为患者的公钥,公钥字段可以很方便的查到患者的医疗数据记录。
(1)医疗数据块结构,包含诊断文档、医疗图片、视频等,加密存储在链下的分布式数据库中以减轻主链压力,其包含以下块:临床数据块和数据备注。
1)临床数据块的组织形式如下:
A.时间戳Timestamp。
B.Doctor ID:主治医师的ID,即医师的公钥。
C.Data Description:医疗数据的主要描述。
D.Data Type:医疗数据的数据类别。
E.EMR:医疗数据的数据文件。
2)数据备注:数据备注是由医师记录该次诊疗的相关备注,以便下次治疗时医师根据备注信息得知上次治疗的效果和注意事项。
(2)医疗元数据块结构,发布至区块链账本中,医疗区块链网络中所有节点同步备份,其中包含以下块:临床元数据块和数据备注。
1)临床元数据块中包含了主治医师上传到分布式数据库中的所有医疗数据文件的信息,其组织形式如下:
A.时间戳Timestamp。
B.Doctor ID:主治医师ID,即医师的公钥。
C.Path To File:文件路径,指向存储在分布式数据库中的文件的指针。文件路径使用患者的私钥进行签名,签名后本身是需要进行隐藏的,因为账本是公开的所有人都可以查阅到,所以对未授权认证的用户我们对他隐藏文件路径。我们需要用户提供自己的私钥签名作为主要的身份认证,数据安全交互***通过对私钥认证,只有当匹配到正确的签名后,才会向授权的用户展示被隐藏的内容。
D.Hash(File):数据文件的Hash,确保不可伪造和篡改存储在分布式数据库中的数据文件。
2)数据备注块:与存储在分布式数据库中的数据备注类似,医师可以添加诊疗的相关备注信息,方便后期跟进治疗。
3、根据注册信息和医疗数据块结构模型,生成医疗数据安全存储网络,构造医疗区块联盟链,其步骤为:
(1)共识节点选取:医疗区块链中的网络节点由各级医院组成,根据医院等级,本文将各医院在链中的节点设定为普通节点和共识节点。调查研究发现,一般医疗大数据和服务中心都建立在高水平医疗机构,如三甲医院和高水平医疗研究所等,因此,设定共识节点主要由全国各三甲医院等高水平医疗机构组成。普通节点不参与全局账本的记账,但是,需要同步整个账本,并且可以将患者的医疗数据用其私钥进行签名,通过提交由参与共识的上级医院来发布。参与共识的医院节点需要将数据打包成医疗元数据块和医疗数据块,并向医疗区块链中的共识中心发送请求,主节点将所有医疗元数据块打包进区块,通过共识添加至医疗区块链,之后,再将医疗数据块加密存储在链下分布式数据库中。
(2)共识节点轮询并检测其是否合法,保证***容错性:为了减小医疗数据在共识过程中受错误节点的影响,采用信任管理方法对PBFT共识算法中的共识节点Ni进行可靠性考察。在该模型中,信任被定义为节点成为共识节点发布医疗数据至医疗区块链的可靠程度,用0~1之间的数值来对该信任节点进行量化与评估。通过对医院节点共识过程中发生错误监测,利用beta信誉***构建t阶段Ni节点的信任值Ti(t),阶段t以月为单位,每年共12个阶段。节点的信任值越高,其发生错误的概率就越低,可靠性越高,则在下一阶段被选为共识节点的概率就越大。采用改进的“Watchdog”监控技术来监测节点。
beta分布通常用来表示一个二元事件的后验概率,主要用参数α,β和Γ函数来表示,如式(1)所示:
Figure BSA0000194708440000041
其中,0≤p≤1,α>0,β>0。
beta分布的概率期望如式(2)所示:
Figure BSA0000194708440000042
对于二元事件
Figure BSA0000194708440000043
用s,f分别表示X和
Figure BSA0000194708440000044
出现的次数。通过对式(2)中的α和β进行设置,事件X出现的概率密度可以表示为历史统计数据的函数,变量p表示X出现的概率。
α=s+1,β=f+1 (3)
在PBFT共识算法中,将节点参与共识发布医疗数据的行为看作独立同分布的二项事件,在共识过程中没有发生错误的事件记为X,发生错误的事件记为
Figure BSA0000194708440000051
在每一个阶段t内,用si和fi分别表示监测到共识节点未发生错误和发生错误的次数。利用二项事件后验概率服从beta分布的特性,计算出节点Ni的信任值Ti(τ),如公式(4)所示:
Figure BSA0000194708440000052
(3)leader节点选取:根据我国行政区的划分,每一个行政区作为一个区域,由个区域参与共识的节点医院轮流选取leader节点,赋予它构造区块的权利。各个区域选取leader节点的规则参照步骤2中的信任值,由高到低选取信任值最高的节点医院为leader节点,其余节点为member节点。
(4)leader节点构造联盟区块链并安全存储患者医疗数据,具体步骤为:
1)患者就诊后,主治医生将医疗数据使用患者和自己的私钥对医疗数据进行数字签名,生成医疗数据的Hash值,并生成医疗数据块和医疗元数据块,一起发送至医院***的发布中心。
2)发布中心在固定的时间内将上传的医疗数据进行收集,将医疗元数据块打包后提交至医疗区块链***等待共识认证。
3)leader节点不断检查member节点提交的医疗数据元数据块,确认数据块的合法性和有效性,检查周期为K,当医疗元数据块数量达到M时,就将这M个医疗元数据块组成区块,基于改进的PBFT共识算法对医疗数据块进行共识认证,最终构成联盟连。
4)通过共识认证后,医疗元数据块将被上传到医疗区块链的分布式账本中。医疗元数据块成功发布至区块链后,发布中心将医疗数据块通过数据交互***安全地存储到医院的分布式数据库中。
5)返回第一步循环进行。
4、患者就诊时,医生想要获取患者历史就诊信息时,***验证节点医院身份信息,提供Lucene检索机制,安全的找到并返回患者医疗数据,具体步骤为:
(1)通过公钥ID对患者医疗数据进行精确检索:
1)患者提供身份信息,***中密钥中心根据身份信息生成患者公钥索引ID,医院节点向数据交互***提交患者公钥ID和节点请求信息,数据交互***向leader节点提交信息。
2)leader节点验证请求信息,验证通过后通过公钥ID在联盟链中找到患者医疗元数据块,将医疗元数据快信息返回给数据交互***。
3)数据交互***通过患者通过提供的私钥进行身份认证,认证合法后解析文件路径,通过文件路径在链下分布式数据库中找到患者医疗数据块,将医疗数据块解密成明文进行返回。
4)在返回数据中,利用Lucene检索机制,通过输入关键词、时间等进行模糊检索,具体步骤为:
A.计算查找词权重(Term Weight)
Term Frequency(tf):Term在数据文件中出现频次。
Document Frequency(df):包含Term文档频次。
计算公式如式(5):
wt,d=tft,d×log(n/dft) (5)
B.向量控件模型算法
将数据中所有的词(Term)和权重(Term Weight)表示为一个向量。
Document={term1,term2,...,term N}
DocumentVector={weight1,weight2,...,weight N}
将查询的查找词等也看作数据,用向量来表示。
Query={term1,term2,...,term N}
Query Vector={weight1,weight2,...,weight N}
将所有的搜索数据结果向量和查询向量放入N维空间,每个词(Term)是一维,计算夹角的余弦值作为相关性判断,并根据数据的最高相关性依次返回搜索结果。
相关性公式计算如试(6)所示:
Figure BSA0000194708440000071
附图说明
图1是本发明的医疗区块链***模型图。
图2是本发明的医疗数据结构图。
图3是本发明的数据共识结构图。
具体实施方式
如图1所示,本发明是一种让那个如区块链技术的医疗数据安全存储方法,步骤为:
1、用户在医疗区块链网络***中注册,其中各级医院代表网络节点,组成区块链网络结构和共识中心。所有从***获取、上传数据统称为用户,如患者、医生等。用户注册生成的注册信息存储在分布式数据库中当前节点分区下。
用户注册过程为:节点和用户上传身份证明文件,密钥中心作为密钥分发机构,为申请用户分发密钥,并且对患者的医疗数据执行加密等操作。
2、构建医疗数据块和医疗元数据块模型,其结构为:
医疗数据分为医疗数据块和医疗元数据块,其中,Patient ID为患者的公钥,公钥字段可以很方便的查到患者的医疗数据记录。
(1)医疗数据块结构,包含诊断文档、医疗图片、视频等,加密存储在链下的分布式数据库中以减轻主链压力,其包含以下块:临床数据块和数据备注。
1)临床数据块的组织形式如下:
A.时间戳Timestamp。
B.Doctor ID:主治医师的ID,即医师的公钥。
C.Data Description:医疗数据的主要描述。
D.Data Type:医疗数据的数据类别。
E.EMR:医疗数据的数据文件。
2)数据备注:数据备注是由医师记录该次诊疗的相关备注,以便下次治疗时医师根据备注信息得知上次治疗的效果和注意事项。
(2)医疗元数据块结构,发布至区块链账本中,医疗区块链网络中所有节点同步备份,其中包含以下块:临床元数据块和数据备注。
1)临床元数据块中包含了主治医师上传到分布式数据库中的所有医疗数据文件的信息,其组织形式如下:
A.时间戳Timestamp。
B.Doctor ID:主治医师ID,即医师的公钥。
C.Path To File:文件路径,指向存储在分布式数据库中的文件的指针。文件路径使用患者的私钥进行签名,签名后本身是需要进行隐藏的,因为账本是公开的所有人都可以查阅到,所以对未授权认证的用户我们对他隐藏文件路径。我们需要用户提供自己的私钥签名作为主要的身份认证,数据安全交互***通过对私钥认证,只有当匹配到正确的签名后,才会向授权的用户展示被隐藏的内容。
D.Hash(File):数据文件的Hash,确保不可伪造和篡改存储在分布式数据库中的数据文件。
2)数据备注块:与存储在分布式数据库中的数据备注类似,医师可以添加诊疗的相关备注信息,方便后期跟进治疗。
3、根据注册信息和医疗数据块结构模型,生成医疗数据安全存储网络,构造医疗区块联盟链,其步骤为:
(1)共识节点选取:医疗区块链中的网络节点由各级医院组成,根据医院等级,本文将各医院在链中的节点设定为普通节点和共识节点。调查研究发现,一般医疗大数据和服务中心都建立在高水平医疗机构,如三甲医院和高水平医疗研究所等,因此,设定共识节点主要由全国各三甲医院等高水平医疗机构组成。普通节点不参与全局账本的记账,但是,需要同步整个账本,并且可以将患者的医疗数据用其私钥进行签名,通过提交由参与共识的上级医院来发布。参与共识的医院节点需要将数据打包成医疗元数据块和医疗数据块,并向医疗区块链中的共识中心发送请求,主节点将所有医疗元数据块打包进区块,通过共识添加至医疗区块链,之后,再将医疗数据块加密存储在链下分布式数据库中。
(2)共识节点轮询并检测其是否合法,保证***容错性:为了减小医疗数据在共识过程中受错误节点的影响,采用信任管理方法对PBFT共识算法中的共识节点Ni进行可靠性考察。在该模型中,信任被定义为节点成为共识节点发布医疗数据至医疗区块链的可靠程度,用0~1之间的数值来对该信任节点进行量化与评估。通过对医院节点共识过程中发生错误监测,利用beta信誉***构建t阶段Ni节点的信任值Ti(t),阶段t以月为单位,每年共12个阶段。节点的信任值越高,其发生错误的概率就越低,可靠性越高,则在下一阶段被选为共识节点的概率就越大。采用改进的“Watchdog”监控技术来监测节点。
beta分布通常用来表示一个二元事件的后验概率,主要用参数α,β和Γ函数来表示,如式(1)所示:
Figure BSA0000194708440000101
其中,0≤p≤1,α>0,β>0。
beta分布的概率期望如式(2)所示:
Figure BSA0000194708440000102
对于二元事件
Figure BSA0000194708440000103
用s,f分别表示X和
Figure BSA0000194708440000104
出现的次数。通过对式(2)中的α和β进行设置,事件X出现的概率密度可以表示为历史统计数据的函数,变量p表示X出现的概率。
α=s+1,β=f+1 (3)
在PBFT共识算法中,将节点参与共识发布医疗数据的行为看作独立同分布的二项事件,在共识过程中没有发生错误的事件记为X,发生错误的事件记为
Figure BSA0000194708440000111
在每一个阶段t内,用si和fi分别表示监测到共识节点未发生错误和发生错误的次数。利用二项事件后验概率服从beta分布的特性,计算出节点Ni的信任值Ti(τ),如公式(4)所示:
Figure BSA0000194708440000112
(3)leader节点选取:根据我国行政区的划分,每一个行政区作为一个区域,由个区域参与共识的节点医院轮流选取leader节点,赋予它构造区块的权利。各个区域选取leader节点的规则参照步骤2中的信任值,由高到低选取信任值最高的节点医院为leader节点,其余节点为member节点。
(4)leader节点构造联盟区块链并安全存储患者医疗数据,具体步骤为:
1)患者就诊后,主治医生将医疗数据使用患者和自己的私钥对医疗数据进行数字签名,生成医疗数据的Hash值,并生成医疗数据块和医疗元数据块,一起发送至医院***的发布中心。
2)发布中心在固定的时间内将上传的医疗数据进行收集,将医疗元数据块打包后提交至医疗区块链***等待共识认证。
3)leader节点不断检查member节点提交的医疗数据元数据块,确认数据块的合法性和有效性,检查周期为K,当医疗元数据块数量达到M时,就将这M个医疗元数据块组成区块,基于改进的PBFT共识算法对医疗数据块进行共识认证,最终构成联盟连。
4)通过共识认证后,医疗元数据块将被上传到医疗区块链的分布式账本中。医疗元数据块成功发布至区块链后,发布中心将医疗数据块通过数据交互***安全地存储到医院的分布式数据库中。
5)返回第一步循环进行。
4、患者就诊时,医生想要获取患者历史就诊信息时,***验证节点医院身份信息,提供Lucene检索机制,安全的找到并返回患者医疗数据,具体步骤为:
(1)通过公钥ID对患者医疗数据进行精确检索:
1)患者提供身份信息,***中密钥中心根据身份信息生成患者公钥索引ID,医院节点向数据交互***提交患者公钥ID和节点请求信息,数据交互***向leader节点提交信息。
2)leader节点验证请求信息,验证通过后通过公钥ID在联盟链中找到患者医疗元数据块,将医疗元数据快信息返回给数据交互***。
3)数据交互***通过患者通过提供的私钥进行身份认证,认证合法后解析文件路径,通过文件路径在链下分布式数据库中找到患者医疗数据块,将医疗数据块解密成明文进行返回。
4)在返回数据中,利用Lucene检索机制,通过输入关键词、时间等进行模糊检索,具体步骤为:
A.计算查找词权重(Term Weight)
Term Frequency(tf):Term在数据文件中出现频次。
Document Frequency(df):包含Term文档频次。
计算公式如式(5):
wt,d=tft,d×log(n/dft) (5)
B.向量控件模型算法
将数据中所有的词(Term)和权重(Term Weight)表示为一个向量。
Document={term1,term2,...,term N}
DocumentVector={weight1,weight2,...,weight N}
将查询的查找词等也看作数据,用向量来表示。
Query={term1,term2,...,term N}
Query Vector={weight1,weight2,...,weight N}
将所有的搜索数据结果向量和查询向量放入N维空间,每个词(Term)是一维,计算夹角的余弦值作为相关性判断,并根据数据的最高相关性依次返回搜索结果。
相关性公式计算如试(6)所示:
Figure BSA0000194708440000131
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所做的等效结构或等流程变换,或直接或间接运用在相关技术领域,均同理包括在本发明的专利保护范围。

Claims (4)

1.用户在医疗区块链网络***中注册,其中各级医院代表网络节点,组成区块链网络结构和共识中心。所有从***获取、上传数据统称为用户,如患者、医生等。用户注册生成的注册信息存储在分布式数据库中当前节点分区下。
用户注册过程为:节点和用户上传身份证明文件,密钥中心作为密钥分发机构,为申请用户分发密钥,并且对患者的医疗数据执行加密等操作。
2.构建医疗数据块和医疗元数据块模型,其结构为:
医疗数据分为医疗数据块和医疗元数据块,其中,Patient ID为患者的公钥,公钥字段可以很方便的查到患者的医疗数据记录。
(1)医疗数据块结构,包含诊断文档、医疗图片、视频等,加密存储在链下的分布式数据库中以减轻主链压力,其包含以下块:临床数据块和数据备注。
1)临床数据块的组织形式如下:
A.时间戳Timestamp。
B.Doctor ID:主治医师的ID,即医师的公钥。
C.Data Description:医疗数据的主要描述。
D.Data Type:医疗数据的数据类别。
E.EMR:医疗数据的数据文件。
2)数据备注:数据备注是由医师记录该次诊疗的相关备注,以便下次治疗时医师根据备注信息得知上次治疗的效果和注意事项。
(2)医疗元数据块结构,发布至区块链账本中,医疗区块链网络中所有节点同步备份,其中包含以下块:临床元数据块和数据备注。
1)临床元数据块中包含了主治医师上传到分布式数据库中的所有医疗数据文件的信息,其组织形式如下:
A.时间戳Timestamp。
B.Doctor ID:主治医师ID,即医师的公钥。
C.Path To File:文件路径,指向存储在分布式数据库中的文件的指针。文件路径使用患者的私钥进行签名,签名后本身是需要进行隐藏的,因为账本是公开的所有人都可以查阅到,所以对未授权认证的用户我们对他隐藏文件路径。我们需要用户提供自己的私钥签名作为主要的身份认证,数据安全交互***通过对私钥认证,只有当匹配到正确的签名后,才会向授权的用户展示被隐藏的内容。
D.Hash(File):数据文件的Hash,确保不可伪造和篡改存储在分布式数据库中的数据文件。
2)数据备注块:与存储在分布式数据库中的数据备注类似,医师可以添加诊疗的相关备注信息,方便后期跟进治疗。
3.根据注册信息和医疗数据块结构模型,生成医疗数据安全存储网络,构造医疗区块联盟链,其步骤为:
(1)共识节点选取:医疗区块链中的网络节点由各级医院组成,根据医院等级,本文将各医院在链中的节点设定为普通节点和共识节点。调查研究发现,一般医疗大数据和服务中心都建立在高水平医疗机构,如三甲医院和高水平医疗研究所等,因此,设定共识节点主要由全国各三甲医院等高水平医疗机构组成。普通节点不参与全局账本的记账,但是,需要同步整个账本,并且可以将患者的医疗数据用其私钥进行签名,通过提交由参与共识的上级医院来发布。参与共识的医院节点需要将数据打包成医疗元数据块和医疗数据块,并向医疗区块链中的共识中心发送请求,主节点将所有医疗元数据块打包进区块,通过共识添加至医疗区块链,之后,再将医疗数据块加密存储在链下分布式数据库中。
(2)共识节点轮询并检测其是否合法,保证***容错性:为了减小医疗数据在共识过程中受错误节点的影响,采用信任管理方法对PBFT共识算法中的共识节点Ni进行可靠性考察。在该模型中,信任被定义为节点成为共识节点发布医疗数据至医疗区块链的可靠程度,用0~1之间的数值来对该信任节点进行量化与评估。通过对医院节点共识过程中发生错误监测,利用beta信誉***构建t阶段Ni节点的信任值Ti(t),阶段t以月为单位,每年共12个阶段。节点的信任值越高,其发生错误的概率就越低,可靠性越高,则在下一阶段被选为共识节点的概率就越大。采用改进的“Watchdog”监控技术来监测节点。
beta分布通常用来表示一个二元事件的后验概率,主要用参数α,β和Γ函数来表示,如式(1)所示:
Figure FSA0000194708430000031
其中,0≤p≤1,α>0,β>0。
beta分布的概率期望如式(2)所示:
Figure FSA0000194708430000032
对于二元事件
Figure FSA0000194708430000033
用s,f分别表示X和
Figure FSA0000194708430000034
出现的次数。通过对式(2)中的α和β进行设置,事件X出现的概率密度可以表示为历史统计数据的函数,变量p表示X出现的概率。
α=s+1,β=f+1 (3)
在PBFT共识算法中,将节点参与共识发布医疗数据的行为看作独立同分布的二项事件,在共识过程中没有发生错误的事件记为X,发生错误的事件记为
Figure FSA0000194708430000041
在每一个阶段t内,用si和fi分别表示监测到共识节点未发生错误和发生错误的次数。利用二项事件后验概率服从beta分布的特性,计算出节点Ni的信任值Ti(τ),如公式(4)所示:
Figure FSA0000194708430000042
(3)leader节点选取:根据我国行政区的划分,每一个行政区作为一个区域,由个区域参与共识的节点医院轮流选取leader节点,赋予它构造区块的权利。各个区域选取leader节点的规则参照步骤2中的信任值,由高到低选取信任值最高的节点医院为leader节点,其余节点为member节点。
(4)leader节点构造联盟区块链并安全存储患者医疗数据,具体步骤为:
1)患者就诊后,主治医生将医疗数据使用患者和自己的私钥对医疗数据进行数字签名,生成医疗数据的Hash值,并生成医疗数据块和医疗元数据块,一起发送至医院***的发布中心。
2)发布中心在固定的时间内将上传的医疗数据进行收集,将医疗元数据块打包后提交至医疗区块链***等待共识认证。
3)leader节点不断检查member节点提交的医疗数据元数据块,确认数据块的合法性和有效性,检查周期为K,当医疗元数据块数量达到M时,就将这M个医疗元数据块组成区块,基于改进的PBFT共识算法对医疗数据块进行共识认证,最终构成联盟连。
4)通过共识认证后,医疗元数据块将被上传到医疗区块链的分布式账本中。医疗元数据块成功发布至区块链后,发布中心将医疗数据块通过数据交互***安全地存储到医院的分布式数据库中。
5)返回第一步循环进行。
4.患者就诊时,医生想要获取患者历史就诊信息时,***验证节点医院身份信息,提供Lucene检索机制,安全的找到并返回患者医疗数据,具体步骤为:
(1)通过公钥ID对患者医疗数据进行精确检索:
1)患者提供身份信息,***中密钥中心根据身份信息生成患者公钥索引ID,医院节点向数据交互***提交患者公钥ID和节点请求信息,数据交互***向leader节点提交信息。
2)leader节点验证请求信息,验证通过后通过公钥ID在联盟链中找到患者医疗元数据块,将医疗元数据快信息返回给数据交互***。
3)数据交互***通过患者通过提供的私钥进行身份认证,认证合法后解析文件路径,通过文件路径在链下分布式数据库中找到患者医疗数据块,将医疗数据块解密成明文进行返回。
4)在返回数据中,利用Lucene检索机制,通过输入关键词、时间等进行模糊检索,具体步骤为:
A.计算查找词权重(Term Weight)
Term Frequency(tf):Term在数据文件中出现频次。
Document Frequency(df):包含Term文档频次。
计算公式如式(5):
wt,d=tft,d×log(n/dft) (5)
B.向量控件模型算法
将数据中所有的词(Term)和权重(Term Weight)表示为一个向量。
Document={term1,term2,…,term N}
DocumentVector={weight1,weight2,…,weight N}
将查询的查找词等也看作数据,用向量来表示。
Query={term1,term2,…,term N}
Query Vector={weight1,weight2,…,weight N}
将所有的搜索数据结果向量和查询向量放入N维空间,每个词(Term)是一维,计算夹角的余弦值作为相关性判断,并根据数据的最高相关性依次返回搜索结果。
相关性公式计算如试(6)所示:
Figure FSA0000194708430000061
CN201911103320.9A 2019-11-12 2019-11-12 一种融入区块链技术的医疗数据安全存储方法 Pending CN110910977A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911103320.9A CN110910977A (zh) 2019-11-12 2019-11-12 一种融入区块链技术的医疗数据安全存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911103320.9A CN110910977A (zh) 2019-11-12 2019-11-12 一种融入区块链技术的医疗数据安全存储方法

Publications (1)

Publication Number Publication Date
CN110910977A true CN110910977A (zh) 2020-03-24

Family

ID=69816714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911103320.9A Pending CN110910977A (zh) 2019-11-12 2019-11-12 一种融入区块链技术的医疗数据安全存储方法

Country Status (1)

Country Link
CN (1) CN110910977A (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111414433A (zh) * 2020-05-09 2020-07-14 北京阳光欣晴健康科技有限责任公司 基于区块链和密文检索技术的分布式随访***
CN111599425A (zh) * 2020-04-27 2020-08-28 合肥工业大学 基于区块链面向节点动态的分层电子病历存储方法及装置
CN111858768A (zh) * 2020-07-27 2020-10-30 苏州区盟链数字科技有限公司 一种优化区块链可信节点与共识算法的装置
CN111899827A (zh) * 2020-07-28 2020-11-06 周林好 基于区块域技术的康复医疗链***及方法
CN111967054A (zh) * 2020-06-30 2020-11-20 国网浙江省电力有限公司培训中心 一种基于区块链的反窃电取证影像资料存储方法及***
CN112150152A (zh) * 2020-10-09 2020-12-29 浙江专线宝网阔物联科技有限公司 基于区块链与模糊认知映射融合的b-f神经网络可追溯算法
CN112185498A (zh) * 2020-09-24 2021-01-05 毛真真 一种中医内科患者数据信息处理方法、***、装置
CN112233812A (zh) * 2020-09-22 2021-01-15 广州思达信息科技有限公司 基于区块链的医疗诊断***
CN112349368A (zh) * 2020-09-29 2021-02-09 福建西岸康健管理有限公司 基于医疗区块链的电子健康档案授权共享与管理***
CN112380543A (zh) * 2020-10-23 2021-02-19 重庆大学 基于区块链的电子医疗数据隐私保护与安全共享***
CN112420140A (zh) * 2020-10-23 2021-02-26 江苏亚寰软件股份有限公司 基于区块链与机器学习算法的慢病全周期管理监察***
CN112562811A (zh) * 2020-12-15 2021-03-26 昆明理工大学 一种基于区块链的瘦客户端电子医疗数据安全共享方法
CN113851203A (zh) * 2021-12-01 2021-12-28 南京可信区块链与算法经济研究院有限公司 基于新型pos机制的新生儿眼底筛查协作学习方法及***
CN113889203A (zh) * 2021-10-11 2022-01-04 海南大学 基于联盟链的医疗数据存储方法和***
CN114374525A (zh) * 2021-04-14 2022-04-19 南京质子链科技有限公司 一种基于区块链的电子胶片安全共享***及方法
CN114528346A (zh) * 2022-01-27 2022-05-24 中科大数据研究院 一种多源异构数据资产依托区块链共享交易的方法
CN115567331A (zh) * 2022-12-07 2023-01-03 珠海市鸿瑞信息技术股份有限公司 一种基于工业控制协议的信息安全监测***及方法
CN115618412A (zh) * 2022-10-11 2023-01-17 郑州大学 一种基于区块链的医疗隐私数据保护方法
CN116389012A (zh) * 2023-05-29 2023-07-04 国家卫生健康委统计信息中心 一种基于区块链的医疗健康数据可信共享方法
CN116707835A (zh) * 2023-08-09 2023-09-05 北京信创达科技有限公司 一种基于区块链实现患者信息交互方法及***

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111599425A (zh) * 2020-04-27 2020-08-28 合肥工业大学 基于区块链面向节点动态的分层电子病历存储方法及装置
CN111599425B (zh) * 2020-04-27 2023-12-05 合肥工业大学 基于区块链面向节点动态的分层电子病历存储方法及装置
CN111414433A (zh) * 2020-05-09 2020-07-14 北京阳光欣晴健康科技有限责任公司 基于区块链和密文检索技术的分布式随访***
CN111967054A (zh) * 2020-06-30 2020-11-20 国网浙江省电力有限公司培训中心 一种基于区块链的反窃电取证影像资料存储方法及***
CN111858768A (zh) * 2020-07-27 2020-10-30 苏州区盟链数字科技有限公司 一种优化区块链可信节点与共识算法的装置
CN111858768B (zh) * 2020-07-27 2023-06-16 苏州区盟链数字科技有限公司 一种优化区块链可信节点与共识算法的装置
CN111899827A (zh) * 2020-07-28 2020-11-06 周林好 基于区块域技术的康复医疗链***及方法
CN112233812A (zh) * 2020-09-22 2021-01-15 广州思达信息科技有限公司 基于区块链的医疗诊断***
CN112185498A (zh) * 2020-09-24 2021-01-05 毛真真 一种中医内科患者数据信息处理方法、***、装置
CN112349368A (zh) * 2020-09-29 2021-02-09 福建西岸康健管理有限公司 基于医疗区块链的电子健康档案授权共享与管理***
CN112150152A (zh) * 2020-10-09 2020-12-29 浙江专线宝网阔物联科技有限公司 基于区块链与模糊认知映射融合的b-f神经网络可追溯算法
CN112150152B (zh) * 2020-10-09 2023-08-08 浙江专线宝网阔物联科技有限公司 基于区块链与模糊认知映射融合的b-f神经网络可追溯算法
CN112420140A (zh) * 2020-10-23 2021-02-26 江苏亚寰软件股份有限公司 基于区块链与机器学习算法的慢病全周期管理监察***
CN112380543B (zh) * 2020-10-23 2024-03-19 重庆大学 基于区块链的电子医疗数据隐私保护与安全共享***
CN112380543A (zh) * 2020-10-23 2021-02-19 重庆大学 基于区块链的电子医疗数据隐私保护与安全共享***
CN112562811A (zh) * 2020-12-15 2021-03-26 昆明理工大学 一种基于区块链的瘦客户端电子医疗数据安全共享方法
CN112562811B (zh) * 2020-12-15 2023-09-15 昆明理工大学 一种基于区块链的瘦客户端电子医疗数据安全共享方法
CN114374525A (zh) * 2021-04-14 2022-04-19 南京质子链科技有限公司 一种基于区块链的电子胶片安全共享***及方法
CN113889203A (zh) * 2021-10-11 2022-01-04 海南大学 基于联盟链的医疗数据存储方法和***
CN113851203B (zh) * 2021-12-01 2022-02-15 南京可信区块链与算法经济研究院有限公司 基于pos机制的新生儿眼底筛查协作学习方法及***
CN113851203A (zh) * 2021-12-01 2021-12-28 南京可信区块链与算法经济研究院有限公司 基于新型pos机制的新生儿眼底筛查协作学习方法及***
CN114528346B (zh) * 2022-01-27 2023-01-13 中科大数据研究院 一种多源异构数据资产依托区块链共享交易的方法
CN114528346A (zh) * 2022-01-27 2022-05-24 中科大数据研究院 一种多源异构数据资产依托区块链共享交易的方法
CN115618412A (zh) * 2022-10-11 2023-01-17 郑州大学 一种基于区块链的医疗隐私数据保护方法
CN115567331A (zh) * 2022-12-07 2023-01-03 珠海市鸿瑞信息技术股份有限公司 一种基于工业控制协议的信息安全监测***及方法
CN116389012A (zh) * 2023-05-29 2023-07-04 国家卫生健康委统计信息中心 一种基于区块链的医疗健康数据可信共享方法
CN116389012B (zh) * 2023-05-29 2023-09-15 国家卫生健康委统计信息中心 一种基于区块链的医疗健康数据可信共享方法
CN116707835A (zh) * 2023-08-09 2023-09-05 北京信创达科技有限公司 一种基于区块链实现患者信息交互方法及***
CN116707835B (zh) * 2023-08-09 2023-10-17 北京信创达科技有限公司 一种基于区块链实现患者信息交互方法及***

Similar Documents

Publication Publication Date Title
CN110910977A (zh) 一种融入区块链技术的医疗数据安全存储方法
EP3451578B1 (en) Turn-control rewritable blockchain
CN109326337B (zh) 基于区块链的电子医疗记录存储和共享的模型及方法
Chen et al. A Blockchain‐Based Medical Data Sharing Mechanism with Attribute‐Based Access Control and Privacy Protection
Yang et al. A hybrid solution for privacy preserving medical data sharing in the cloud environment
EP3641220A1 (en) Cryptologic rewritable blockchain
Lee et al. Medical blockchain: Data sharing and privacy preserving of EHR based on smart contract
Ying et al. A lightweight policy preserving EHR sharing scheme in the cloud
Hirtan et al. Blockchain-based approach for e-health data access management with privacy protection
CN112530531B (zh) 基于双区块链的电子病历存储与共享方法
US20210266170A1 (en) System and method of trustless confidential positive identification and de-anonymization of data using blockchain
Zhang et al. BDSS: Blockchain-based data sharing scheme with fine-grained access control and permission revocation in medical environment
US12010235B2 (en) Apparatus and system for zero-knowledge proof performed in multi-party computation
Ismail et al. Performance evaluation of a patient-centric blockchain-based healthcare records management framework
Ismail et al. BlockHR: A blockchain-based framework for health records management
Matos et al. Securing electronic health records in the cloud
Ramesh et al. Blockchain based efficient tamper-proof EHR storage for decentralized cloud-assisted storage
Obiri et al. Personal health records sharing scheme based on attribute based signcryption with data integrity verifiable
Ge et al. Toward verifiable phrase search over encrypted cloud-based IoT data
Ismail et al. Blockhr–a blockchain-based healthcare records management framework: performance evaluation and comparison with client/server architecture
Baskar et al. Data security in healthcare using blockchain technology
Banik et al. Blockchain-based public key encryption with keyword search for medical data sharing in cloud environment
Wang et al. Health data security sharing method based on hybrid blockchain
Liu et al. Blockchain-based medical data storage and sharing system
Oksuz A System For Storing Anonymous Patient Healthcare Data Using Blockchain And Its Applications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
DD01 Delivery of document by public notice

Addressee: Liu Yuxiang

Document name: Deemed withdrawal notice

DD01 Delivery of document by public notice
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200324

WD01 Invention patent application deemed withdrawn after publication