一种基于区块链技术的医疗健康数据存储和共享方法及系统技术方案

技术编号:35433389 阅读:15 留言:0更新日期:2022-11-03 11:39
本发明专利技术公开了一种基于区块链技术的医疗健康数据存储和共享方法及系统,属于区块链技术领域,建立基于联盟链的双链网络模型,包括分布于各区块链网络的联盟链和与所述各联盟链相连的大健康联盟链;所述各联盟链存储数据的hash摘要、存储地址及关键字密文;所述大健康联盟链存储数据跨域访问记录,并利用代理重加密技术对跨域数据进行重加密操作;当访问用户访问数据或进行数据跨域共享时,必须获得数据所有者的授权,获得授权之后当值节点对数据进行重加密,只有访问用户的私钥才能对数据进行解密,保证数据所有者的隐私。本发明专利技术能够有效实现居民健康数据的安全存储和共享。效实现居民健康数据的安全存储和共享。效实现居民健康数据的安全存储和共享。

【技术实现步骤摘要】
一种基于区块链技术的医疗健康数据存储和共享方法及系统


[0001]本专利技术涉及区块链
,具体地说是一种基于区块链技术的医疗健康数据存储和共享方法及系统。

技术介绍

[0002]目前对于各类医疗机构健康数据存在数据共享困难、用户隐私保护不力等问题,不能较有效的实现医疗数据的安全存储和共享。

技术实现思路

[0003]本专利技术的技术任务是针对以上不足之处,提供一种基于区块链技术的医疗健康数据存储和共享方法及系统,能够有效实现居民健康数据的安全存储和共享。
[0004]本专利技术解决其技术问题所采用的技术方案是:
[0005]一种基于区块链技术的医疗健康数据存储和共享方法,建立基于联盟链的双链网络模型,包括分布于各区块链网络的联盟链和与所述各联盟链相连的大健康联盟链;
[0006]所述各联盟链存储数据的hash摘要、存储地址及关键字密文;
[0007]大健康联盟链存储数据跨域访问记录,并利用代理重加密技术对跨域数据进行重加密操作;
[0008]当访问用户访问数据或进行数据跨域共享时,必须获得数据所有者的授权,获得授权之后当值节点对数据进行重加密,只有访问用户的私钥才能对数据进行解密,保证数据所有者的隐私。
[0009]本方法提出的基于联盟链的双链网络模型,联盟链存储数据的hash摘要、存储地址、关键字密文;大健康联盟链存储数据跨域访问记录,并利用代理重加密技术对跨域数据进行重加密操作。实现了处理跨链交易数据,保证数据跨域流转过程中的安全性、完整性、一致性。
[0010]进一步的,数据存储的实现过程如下:
[0011]S1、数据所有者在任一网络中的服务节点i中进行注册,i利用RSA算法为数据所有者分配公私钥对,生成唯一身份标识,并将H(ki)存储在本地;
[0012]S2、数据所有者将公钥发送给区块生成者,相当于权;区块生成者为其生成健康数据m;
[0013]S3、数据上链:节点i将交易trans1<H(m),B,path,ID数据所有者, ID区块生成者>签名后发送给当值节点,当值节点验证交易的有效性,如果交易有效则将交易打包形成新的区块,计算区块的hash值H(trans),生成时间戳 timestamp,当值节点对新区块进行签名,将新区块广播给联盟链中的所有共识节点;共识节点对新区块进行验证,共识节点提取当值节点的公钥pk验证签名,并提取本地联盟链最后一个区块的哈希值lastblock_hash,比较新区块中的前块哈希值previous_hash和lastblock_hash是否相等,如果签名和哈希值均验证通过则将新区块添加到本地联盟链中,验证失败则将新区块丢弃。
[0014]进一步的,区块生成者为数据所有者生成健康数据m,区块生成者从关键字集key{k1,k2,k3,...,kn}中选择ki作为m的关键字;区块生成者用数据所有者的公钥对m,ki进行加密,得到密文c,B=H(ki),再对健康数据m进行hash计算,得到hash摘要H(m)。
[0015]优选的,所述m如果是医疗健康数据则将c存储到医院的本地服务器中;如果m是日常健康数据或运动健康数据则将c保存到边缘服务器。
[0016]进一步的,所述数据共享的实现过程如下:
[0017]步骤一:发送请求与身份验证,用户数据所有者选择关键字k,对其进行哈希计算得到H(k),与当值节点验证;
[0018]步骤二:数据搜索,区块链网络当值节点m从联盟链中提取密文存储地址,服务器将数据密文c发送给区块链网络当值节点m,区块链网络当值节点m再将数据发送给数据所有者;path,然后将访问请求发送到对应的数据存储节点,社区医院;
[0019]步骤三:数据解密,数据所有者利用私钥解密密文c得到数据明文m,并出示明文。
[0020]优选的,利用联盟链构建大健康双链网络模型,由于两条链存储不同的数据,因此需要设计不同的数据存储结构,所述区块包括区块头和交易,
[0021]区块头包括:区块索引、前块哈希、随机数、时间戳、区块哈希;
[0022]各网络联盟链的交易存储包括:数据所有者ID、块生成者ID、数据存储地址、数据哈希摘要、关键字密文,大健康联盟链的交易存储:数据访问者ID、网络编号、联盟链标识、联盟链区块索引。
[0023]优选的,该方法采用基于节点信誉的当值节点选择方案:
[0024]从直接信誉、推荐信誉两个维度来计算共识节点的信誉值,信誉值最高的共识节点成为当值节点,并负责异构网络之间的通信,并规定当某共识节点当选为当值节点后,不能再作为下一次的当值节点。
[0025]为了防止节点共谋并提高共识效率和模型容错率,设计一种基于节点信誉的当值节点选择方案,通过安全性分析和仿真实验得出方案的安全性与高效性,证明其适用于大健康数据存储和共享模型。
[0026]优选的,在一次共识的过程中,如果当值节点向所有的共识节点均发送相同的信息,那么当值节点的直接信誉为1;当当值节点发送的消息数少于共识节点数以及向从节点发送不同消息时,其直接信誉为0;根据信誉值重新选择当值节点,同时直接信誉为0的节点不再作为共识节点。
[0027]优选的,所述联盟链分布于各区块链网络,区块链网络至少包括社区居民区块链网络、社区医院区块链网络,还可包括其他区块链网络和其他医院区块链网络,保证社区居民医疗健康数据存储和共享实现。
[0028]本专利技术还要求保护一种基于区块链技术的医疗健康数据存储和共享系统,通过基于联盟链的双链网络模型,利用代理重加密技术保证数据的跨域安全共享,该系统实现上述的基于区块链技术的医疗健康数据存储和共享方法。
[0029]本专利技术的一种基于区块链技术的医疗健康数据存储和共享方法与现有技术相比,具有以下有益效果:
[0030]本方法在数据存储阶段,对健康数据进行hash计算,生成数据指纹,由于hash算法是单向的,只要数据被篡改,数据的hash值也会发生改变,保证数据的安全存储;在数据共
享阶段,对共享记录进行留痕,将每一条共享记录存储在大健康联盟链中,数据所有者随时都能够查看共享记录,了解数据的被访问情况。
[0031]对数据所有者的日常健康数据、运动数据、医疗健康数据采用公钥加密、私钥解密的方式,充分保证了用户对健康数据的掌握权,没有获得拥有者授权的情况下,访问用户无法访问数据;在数据共享阶段,当访问用户访问数据或进行数据跨域共享时,必须获得数据所有者的授权。获得授权之后当值节点对数据进行重加密,只有访问用户的私钥才能对数据进行解密,充分保证了数据所有者的隐私。
[0032]同时本方法提出基于节点信誉的当值节点选择方案,能够降低非诚实节点担任主节点的概率,减少完成一次完整的共识协议的通信次数,提高计算效率。
附图说明
[0033]图1是本专利技术实施例提供的基于区块链技术的医疗健康数据存储和共享方法实现的流程示意图;
[0034]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链技术的医疗健康数据存储和共享方法,其特征在于,建立基于联盟链的双链网络模型,包括分布于各区块链网络的联盟链和与所述各联盟链相连的大健康联盟链;所述各联盟链存储数据的hash摘要、存储地址及关键字密文;所述大健康联盟链存储数据跨域访问记录,并利用代理重加密技术对跨域数据进行重加密操作;当访问用户访问数据或进行数据跨域共享时,必须获得数据所有者的授权,获得授权之后当值节点对数据进行重加密,只有访问用户的私钥才能对数据进行解密,保证数据所有者的隐私。2.根据权利要求1所述的一种基于区块链技术的医疗健康数据存储和共享方法,其特征在于,数据存储的实现过程如下:S1、数据所有者在任一网络中的服务节点i中进行注册,i利用RSA算法为数据所有者分配公私钥对,生成唯一身份标识,并将H(ki)存储在本地;S2、数据所有者将公钥发送给区块生成者,相当于权;区块生成者为其生成健康数据m;S3、数据上链:节点i将交易trans1<H(m),B,path,ID数据所有者,ID区块生成者>签名后发送给当值节点,当值节点验证交易的有效性,如果交易有效则将交易打包形成新的区块,计算区块的hash值H(trans),生成时间戳timestamp,当值节点对新区块进行签名,将新区块广播给联盟链中的所有共识节点;共识节点对新区块进行验证,共识节点提取当值节点的公钥pk验证签名,并提取本地联盟链最后一个区块的哈希值lastblock_hash,比较新区块中的前块哈希值previous_hash和lastblock_hash是否相等,如果签名和哈希值均验证通过则将新区块添加到本地联盟链中,验证失败则将新区块丢弃。3.根据权利要求2所述的一种基于区块链技术的医疗健康数据存储和共享方法,其特征在于,区块生成者为数据所有者生成健康数据m,区块生成者从关键字集key{k1,k2,k3,...,kn}中选择ki作为m的关键字;区块生成者用数据所有者的公钥对m,ki进行加密,得到密文c,B=H(ki),再对健康数据m进行hash计算,得到hash摘要H(m)。4.根据权利要求3所述的一种基于区块链技术的医疗健康数据存储和共享方法,其特征在于,所述m如果是医疗健康数据则将c存储到医院的本地服务器中;如果m是日常健康数据或运动健康数...

【专利技术属性】
技术研发人员:尹青山冯落落高明王建华陈玉国庞佼佼徐峰王甲莉
申请(专利权)人:山东新一代信息产业技术研究院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1