一种基于医疗联盟链的跨域认证方法技术

技术编号:33209711 阅读:11 留言:0更新日期:2022-04-24 01:02
本发明专利技术提出了一种基于医疗联盟链的跨域认证方法,利用区块链技术,设计了医疗联盟链的系统框架,该框架无需依赖第三方,通过链上数据存储和信息交互实现跨域认证与密钥协商,有助于异域间的资源共享,对跨医疗机构服务具有巨大的益处。本发明专利技术有效结合实用拜占庭算法和股份授权证明算法以提高系统共识效率,提升吞吐量。吞吐量。吞吐量。

【技术实现步骤摘要】
一种基于医疗联盟链的跨域认证方法


[0001]本专利技术属于跨域身份认证
,涉及一种基于医疗联盟链的跨域认证方法。

技术介绍

[0002]物联网技术带给世界的变化是巨大的,而区块链技术的出现更是在物联网浪潮的发展中具有重要地位。达沃斯世界经济论坛评价区块链是最值得称赞的发展之一,它被人认为是继蒸汽机、电气、互联网之后的第四大改变世界格局的技术,为众多行业带来新的机遇与发展,其对医疗行业领域的影响尤甚。医疗健康服务的普及与发展不仅关系到民生国计,更是与每一位公民的健康状况息息相关,也是有效应对老龄化问题的重要举措。国家重视“互联网+医疗健康”体系的建设,鼓励通过“互联网+医疗健康”的平台使就医诊疗服务更便民,充分发挥网络技术对医疗健康发展的作用。区块链技术根据其自身去中心化、去信任化、安全性高、隐私性强、透明度高等特性,为完善智慧医疗领域中的医疗数据信息安全领域的建设提出可行性建议,重塑医疗机构、患者等众多医疗相关机构关系,搭建涵盖多医疗主体、可实现医疗数据互联互通且安全可靠的区块链医疗联盟监管服务平台。
[0003]在医疗健康数据系统中,医疗健康数据精确记录着每个人的用药情况、过敏药物、化验结果以及各项生命体征,这些都是十分宝贵的数据资产。目前,大多数医疗机构都建立了自己独立的认证系统,只有本域内合法的用户才可以登录系统获取医疗数据。由于医疗水平的差异和疾病的不同,病患往往会选择不同的医疗机构进行诊治,各医疗机构之间在访问和共享病患医疗数据时存在严格的限制,使得病人不得不接受重复诊治,造成资源和时间的浪费。如何实现不同医疗机构的认证系统整合,完成跨域认证,保证数据在安全存储的情况下被各医疗机构高效共享成为构建智慧医疗系统的难点问题。
[0004]区块链技术自2008年出现以来,一直在金融领域受到持续关注并快速发展。医疗健康领域是仅次于金融领域的区块链第二大应用场景,其中医疗健康数据的安全存储和共享成为了研究的重点。有许多公司和初创企业试图使用区块链来改变医疗行业的运作方式。然而,现阶段的电子医疗数据面临诸多问题,主要概括为以下三点:医疗数据集中存储在患者就诊医疗机构的数据库中,而不能在医疗机构间及时共享,导致信息孤岛问题。医疗数据涉及患者的个人隐私,但就目前的存储方式而言安全性较低,容易被非法用户窃取和篡改。不同身份的人员在访问和共享医疗健康数据时都受到比较严格的限制,且验证身份和数据的真实性需要大量的资源和时间。

技术实现思路

[0005]为解决以上提及问题,本专利技术提出了一种基于医疗联盟链的跨域认证方法,基于联盟链设计合理高效的跨域认证协议,采用哈希函数、数字签名等密码学技术实现对处于不同域的用户进行安全可靠的身份验证,并优化共识机制,保证在没有中心节点的情况下联盟中医疗机构可以快速达成一致,共享医疗健康数据。本专利技术所述的一种基于医疗联盟链的跨域认证方法,其步骤为:
[0006]S1、系统初始化,生成系统参数;本域内参与实体有密钥生成中心KGC、病患用户、医疗机构;
[0007]S2、用户注册:本域KGC根据病患用户提供的身份标识生成部分密钥,并通过安全信道发送给病患用户,病患用户自身选取秘密值,与部分密钥组成完整密钥;
[0008]S3、域内认证与密钥协商:本域的病患用户向本域医疗机构发起认证请求,本域医疗机构收到请求后,首先验证消息的有效性和病患用户的合法性,验证通过后,返回签名给病患用户,病患用户收到后进行签名验证操作;若双方均验证通过,则说明通信双方是合法的,双方协商出共同的会话密钥以保证后续的加密通信;
[0009]S4混合共识上链:当病患用户与医疗机构完成相互认证后,医疗机构服务器将为该病患用户生成区块凭证,并写入交易,该交易将由区块链网络中的所有共识节点进行验证,最后,由选举出的记账节点将一定时间内合法交易打包成区块,经过共识后上链存储;
[0010]S5跨域认证:病患用户要获取异域医疗机构服务资源,首先发起认证请求,异域医疗机构首先检索本地数据库,若该病人未在本域认证过,则调用链码查询该用户的认证凭证,接着与病患交互达成相互认证并协商会话密钥,异域医疗机构将跨域认证结果相关参数发布上链;若该病患已在本域认证过,则无需再次认证,根据已查询到的认证凭据生成新的会话密钥。
[0011]进一步的,S1的具体步骤为:
[0012]S1

1、本域参与实体生成身份标识字符串ID∈{0,1}
*
,不失一般性,本域病患用户、本域医疗机构、异域医疗机构的身份标识符分别为:
[0013][0014]S1

2、本域密钥生成中心KGC选取安全参数k,椭圆曲线E上的域F
p
,循环加群G1及循环乘群G2,其中两个循环群的阶数皆为q且q与p均为两个大素数,G1的生成元为P,定义双线性映射e:G1×
G1→
G2;选取安全哈希函数:;选取安全哈希函数:;选取安全哈希函数:选取数字签名算法Sig(*);
[0015]S1

3、KGC随机选取计算P
pub
=sP,其中,s为系统主密钥,需要秘密存储,P
pub
为系统公钥;系统初始化的所有公共参数param={G1,G2,P,p,q,P
pub
,H
i
(i=0,1,2,3,4,5)}将被写入区块链,对不同域的用户都是公开可见的。
[0016]进一步的,S2的具体步骤为:
[0017]S2

1、本域病患用户发送其身份标识字符串ID
iA
给密钥生成中心KGC,密钥生成中心KGC收到后计算:其中,T为当前该用户注册时的时间戳,作为用户的匿名身份标识符,作为病患用户的部分私钥,且与身份标识ID
iA
唯一对应,密钥生成中心KGC将部分密钥通过安全信道发送给病患用户;
[0018]S2

2、本域病患用户随机生成作为秘密值,并计算作为本域病患用户的公钥,故病患用户的完整公私钥对为
[0019]S2

3同样地,本域和异域医疗机构将其身份标识ID
jA
、发送给密钥生成中心KGC分别可以获得和并计算和作为各自的公钥,则本域和异域医疗机构都可以得到完整的公私钥对,分别为和
[0020]进一步的,S3的具体步骤为:
[0021]S3

1、本域病患用户ID
iA
选取随机数并计算U=rP,g
r
=[r]e(P,P
pub
),),其中,g
r
为本次消息生成的过程变量,U、N、h、I为本次认证过程的数字签名,T1为当前时间戳,然后生成消息M1=<N,h,T1,U,I>并发送给本域医疗机构ID
jA

[0022]S3

2、当本域医疗机构ID...

【技术保护点】

【技术特征摘要】
1.一种基于医疗联盟链的跨域认证方法,其特征在于,所述方法的步骤为:S1、系统初始化,生成系统参数;本域内参与实体有密钥生成中心KGC、病患用户、医疗机构;S2、用户注册:本域KGC根据病患用户提供的身份标识生成部分密钥,并通过安全信道发送给病患用户,病患用户自身选取秘密值,与部分密钥组成完整密钥;S3、域内认证与密钥协商:本域的病患用户向本域医疗机构发起认证请求,本域医疗机构收到请求后,首先验证消息的有效性和病患用户的合法性,验证通过后,返回签名给病患用户,病患用户收到后进行签名验证操作;若双方均验证通过,则说明通信双方是合法的,双方协商出共同的会话密钥以保证后续的加密通信;S4混合共识上链:当病患用户与医疗机构完成相互认证后,医疗机构服务器将为该病患用户生成区块凭证,并写入交易,该交易将由区块链网络中的所有共识节点进行验证,最后,由选举出的记账节点将一定时间内合法交易打包成区块,经过共识后上链存储;S5跨域认证:病患用户要获取异域医疗机构服务资源,首先发起认证请求,异域医疗机构首先检索本地数据库,若该病患用户未在本域认证过,则调用链码查询该病患用户的认证凭证,接着与病患用户交互达成相互认证并协商会话密钥,异域医疗机构将跨域认证结果相关参数发布上链;若该病患已在本域认证过,则无需再次认证,根据已查询到的认证凭据生成新的会话密钥。2.根据权利要求1所述的一种基于医疗联盟链的跨域认证方法,其特征在于,S1的具体步骤为:S1

1、本域参与实体生成身份标识字符串ID∈{0,1}
*
,不失一般性,本域病患用户、本域医疗机构、异域医疗机构的身份标识符分别为:S1

2、本域密钥生成中心KGC选取安全参数k,椭圆曲线E上的域F
p
,循环加群G1及循环乘群G2,其中两个循环群的阶数皆为q且q与p均为两个大素数,G1的生成元为P,定义双线性映射e:G1×
G1→
G2;选取安全哈希函数:H0::H1:H2:H3:H4::H5:选取数字签名算法Sig(*);S1

3、KGC随机选取计算P
pub
=sP,其中,s为系统主密钥,需要秘密存储,P
pub
为系统公钥;系统初始化的所有公共参数param={G1,G2,P,p,q,P
pub
,H
i
(i=0,1,2,3,4,5)}将被写入区块链,对不同域的用户都是公开可见的。3.根据权利要求2所述的一种基于医疗联盟链的跨域认证方法,其特征在于,S2的具体步骤为:S2

1、本域病患用户发送其身份标识字符串ID
iA
给密钥生成中心KGC,密钥生成中心KGC收到后计算:其中,T为当前该用户注册时的时间戳,作为用户的匿名身份标识符,作为病患用户的部分私钥,且与身份
标识ID
iA
唯一对应,密钥生成中心KGC将部分密钥通过安全信道发送给病患用户;S2

2、本域病患用户随机生成作为秘密值,并计算作为本域病患用户的公钥,故病患用户的完整公私钥对为S2

3同样地,本域和异域医疗机构将其身份标识发送给密钥生成中心KGC分别可以获得和并计算和作为各自的公钥,则本域和异域医疗机构都可以得到完整的公私钥对,分别为和4.根据权利要求2所述的一种基于医疗联盟链的跨域认证方法,其特征在于,S3的具体步骤为:S3

1、本域病患用户ID
iA
选取随机数并计算U=rP,g
r
=[r]e(P,P
pub
),),其中,g
r
为本次消息生成的过程变量,U、N、h、I为本次认证过程的数字签名,T1为当前时间戳,然后生成消息M1=<N,h,T1,U,I>并发送给本域医疗机构S3

2、当本域医疗机构收到M1后,首先解析该消息并选取当前时间戳T2,若|T1‑
T2|<ΔT,成立,则说明M1是新鲜的,否则,中止会话或不应答;其中ΔT为消息附带的时间戳和收到消息时的当前时间戳之间的差值;然后计算:t=[h

]e(P,P
pub
),其中,为本域医疗机构推导出的病患用户的匿名身份标识符,u、t、h

都为验签过程的生成变量。若h

=h成立,则说明该病患用户是合法的,否则,中止会话;S3

3、本域医疗机构选取随机数并计算Y=yP,g
y
=[y]e(P,P
pub
),),其中,T3为当前时间戳,g
y

【专利技术属性】
技术研发人员:陈彦冰钟超然周超然薛凌妍黄海平肖甫高汉成汪文明
申请(专利权)人:南京邮电大学
类型:发明
国别省市:

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

1