基于区块链的带有ZPK和CRF的电子医疗记录访问控制方法
未命名
09-22
阅读:122
评论:0
基于区块链的带有zpk和crf的电子医疗记录访问控制方法
技术领域
1.本发明涉及信息安全技术领域,特别涉及一种基于区块链的带有zpk和crf的电子医疗记录访问控制方法。
背景技术:
2.随着物联网与云计算的快速发展,并在这万物互联的时代下,数据共享为人们带来许多便捷的服务,因此保障共享时交互过程中的信息安全是必须确保的要求,而访问控制是交互过程中关键的步骤。访问控制是一种能保障数据安全和资源共享安全的重要机制,可以通过特定的控制访问策略来确保用户是否拥有可以访问资源的权限,能够防止用户在没有权限的情况下非法访问数据资源。
3.电子医疗记录(ehr)是个人身体健康相关信息数据的集合,包括了个人信息,例如:个人姓名、体重、年龄、身份证号、联系电话、家庭住址、就诊记录等一些个人私密信息。这些信息往往是敏感的,需要对这些信息进行保护,禁止没有权限的人员进行访问;在医疗保健领域中安全的共享电子医疗记录是最大的挑战之一,即安全的获取访问电子医疗记录的权限和不泄露电子医疗记录中的信息。因此,设计出一种电子医疗记录访问控制方法是非常有必要的。
4.2010年j.adler等人描述了无纸ehr系统相对于传统纸质系统的优势。它还研究了采用新的医疗系统所面临的挑战,并得出结论,需要对支付系统进行改革,以促进更好的医疗保健。2013年y等人使用了基于属性的加密,该加密在双线性配对操作中存在昂贵的计算和复杂性。2019年nguyen等人提出了一种基于云的安全ehr共享解决方案。他们方法中的缺陷是存在一个集中的ehr管理器,负责对ehr数据进行解密和重新加密。这将使数据在云上以明文形式显示,使其成为黑客和恶意方的主要目标。同年s.sharaf等人将安全共享ehr解密密钥的责任交给了中央可信卫生机构(tha)。如果这个权限被黑客入侵,那么存储在云端的ehr的所有解密密钥都将被泄露。d.c.snchez等人为区块链抗sybil挖掘创建了基于零知识证明的匿名身份。
5.零知识证明最早是由goldwasser等人提出的。零知识协议是一种基于概率的验证方法,涉及两方,即证明方和验证者。证明者(prover)能够在不向验证者(verifier)提供任何有用的信息的情况下,使验证者(verifier)相信某个论断、声明或陈述是正确的。零知识证明提供了一种完成可验证的同时保护数据隐私的方法,提高了用户隐私信息的安全性。
技术实现要素:
6.发明目的:本发明的目的是提供一种基于区块链的带有zpk和crf的电子医疗记录访问控制方法,采用了零知识证明zpk的方式在不透露用户个人信息的情况下保证拥有访问ehr的权限,将ehr存储在区块链上可以避免服务器的单点故障问题;同时采用逆向防火墙crf的方式,满足重随机化的要求并运用在用户id、承诺和证明上,致使敌手无法伪造承诺和证明。
7.技术方案:本发明提供了一种基于区块链的带有zpk和crf的电子医疗记录访问控制方法,包括有以下步骤:
8.步骤1:用户获取社保卡,社保卡中包括用户的个人信息、验证密码,同时社保卡使用密钥派生函数pbkdf2生成一个对称密钥k并保存在社保卡中,产生电子医疗记录ehr;
9.步骤2:将ehr通过对称密钥k加密,与用户的个人信息一起发送给逆向防火墙进行随机化处理后将其上传到区块链上;
10.步骤3:医生通过用户验证密码后获取对称密钥k,通过对称密钥k生成一个证明并将证明发送至区块链,区块链验证证明通过则将加密的电子医疗记录ehr发送给医生进行解密得到电子医疗记录ehr;
11.步骤4:当医生对所述电子医疗记ehr更新后,使用密钥派生函数pbkdf2生成新的对称密钥k'对更新后的ehr进行加密,再将加密后的电子医疗记录ehr及用户的个人信息发送给逆向防火墙进行随机化处理后将其上传到区块链上,同时更新社保卡中的对称密钥。
12.进一步地,所述步骤1中产生电子医疗记录ehr的具体过程为:
13.s1.1:用户将自己的身份证idc放置在身份感应区内,用户通过社保卡制卡机上的指纹识别装置输入自己的指纹信息fp;
14.s1.2:社保卡制卡机读取idc中的芯片,获得用户的个人信息,姓名、id号、fp,个人信息用字母ui表示;社保卡制卡机验证用户输入的fp,验证ui是否一致,若信息一致,系统继续运行,若信息不一致,系统停止运行;
15.s1.3:用户通过社保卡制卡机的输入装置,在0到9中随机选择6个数字,这些数字作为社保卡的验证密码,并使用字母pw表示;
16.s1.4:社保卡制卡机使用密钥派生函数pbkdf2生成一个对称密钥k,密钥k将存储在社保卡中,k=pbkdf2(prf,pw,h(id+t),c,k_len),其中prf表示为伪随机函数,通常使用sha2哈希算法,pw是验证密码,h(id+t)是用哈希算法生成的值,社保卡制卡机使用自带的哈希算法sha-256对用户的id以及当前时间t进行哈希处理,哈希算法用字母h表示,c是迭代次数,k_len是最终生成对称密钥k的长度,c和k_len使用系统默认参数;
17.s1.5:社保卡制卡机使用摄像头对用户面部进行扫描,获得用户面部信息fi,社保卡制卡机使用fi与ui,形成一张空白的电子医疗记录ehr,并通过显示器展示给用户。
18.进一步地,所述步骤2中将ehr上传到区块链上的具体操作为:
19.s2.1:社保卡制卡机将ehr通过对称密钥k加密,与id一起发送给逆向防火墙,用字母p表示,p=(id,e),e=(k,ehr);
20.s2.2:在发送到区块链之前对id随机化处理,使用逆向防火墙,随机选择一个参数n,并将n存储,id'=idn,然后将随机化后的数据发送给区块链,用字母p'表示,p'=(id',e);
21.s2.3:社保卡制卡机将带有用户信息与对称密钥k的社保卡ssc发放给用户。
22.进一步地,所述步骤3中通过对称密钥k生成一个证明并将证明发送至区块链时,还需要对其进行逆向防火墙随机化处理,具体包括:
23.s3.1:医生将社保卡ssc放置感应区,用户输入验证密码pw,进行身份验证,若验证成功,医生得到对称密钥k,若验证失败,系统停止运行;
24.s3.2:医生得到对称密钥k后,对拥有电子医疗记录访问权限陈述s生成一个承诺
a,将承诺发送给逆向防火墙,a=ga,s=gk;
25.s3.3:逆向防火墙对a进行随机化处理,将随机化后的a'发送给区块链,a'=agb=gagb=g
a+b
,
26.s3.4:区块链根据a'生成一个挑战δ=h(g||s||a'),将挑战δ发送给医生;
27.s3.5:医生根据挑战δ生成一个证明π=a+δk,并将证明π和id发送给逆向防火墙;
28.s3.6:逆向防火墙对证明π和id进行随机化处理,π'=π+b=a+δk+b,id'=idn,将π'和id'发送给区块链;
29.s3.7:区块链首先对id'进行验证,查看是否存在与其相匹配的值,没有则拒绝,其次区块链计算δ=h(g||s||a')对证明π'进行验证,如果正确将数据文件发送给医院,否则拒绝;
30.g
π'
=g
a+δk+b
=g
a+bgδk
=a's
δ
31.s3.8:得到加密的数据后医院通过对称密钥k进行解密d=(k,e),得到ehr。
32.进一步地,所述步骤4中医生生成新的对称密钥k',并将电子医疗记录ehr及用户的个人信息发送至区块链上的具体操作为:
33.s4.1:医生对ehr进行更新,使用密钥派生函数pbkdf2生成新的对称密钥k'对更新后的ehr进行加密,医生将加密好的ehr与用户id一起发给逆向防火墙,k'=pbkdf2(prf,pr,h(id+t),c,k_len),其中prf、pr、c、k_len与在注册期间使用的参数相同,h(id+t)中的id是用户的id号,t是电子医疗记录更新的时间;
34.s4.2:逆向防火墙对id随机化后发送给区块链;
35.s4.3:医生将新生成对称密钥k'代替原来的对称密钥k,存储在社保卡中,将社保卡返回给用户。
36.有益效果:
37.本发明采用了零知识证明的方式在不透露用户个人信息的情况下保证拥有访问ehr的权限,将ehr存储在区块链上可以避免服务器的单点故障问题,保证共享数据的开放性、独立性、自治性以及去中心化,之后由医生产生证明,并交给区块链进行验证使得医生可以获得ehr,同时,我们采用逆向防火墙的方式,满足重随机化的要求并运用在用户id、承诺和证明上,致使敌手无法伪造承诺和证明,由此保证了使用此证明的医生能够抵制内部攻击,提高了安全性,该方法运算简单,是一种理想的ehr访问控制方法。
附图说明
38.图1为本发明的注册阶段流程图;
39.图2为本发明的验证阶段流程图。
具体实施方式
40.下面结合附图对本发明作进一步描述,以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
41.本发明提供了一种基于区块链的带有zpk和crf的电子医疗记录访问控制方法,包括以下步骤:
42.s1:用户注册阶段:用户在医院里的社保卡制卡机上进行注册获得社保卡并上传电子医疗记录,包括以下步骤:
43.s1.1:用户将自己的身份证(idc)放置在身份感应区内,用户通过社保卡制卡机上的指纹识别装置输入自己的指纹信息(fp)。
44.s1.2:社保卡制卡机读取idc中的芯片,获得用户的个人信息,姓名、id号、fp等,个人信息用字母ui表示,社保卡制卡机验证用户输入的fp,验证ui是否一致,若信息一致,系统继续运行,若信息不一致,系统停止运行。
45.s1.3:用户通过社保卡制卡机的输入装置,在0到9中随机选择6个数字,用户需要记住这6个数字,这些数字将作为社保卡的验证密码,并使用字母pw表示。
46.s1.4:社保卡制卡机使用密钥派生函数pbkdf2生成一个对称密钥k,密钥k将存储在社保卡中,k=pbkdf2(prf,pw,h(id+t),c,k_len),其中prf表示为伪随机函数,通常使用sha2哈希算法,pw是人类可读密码,这里使用用户输入的6个数字,h(id+t)是用哈希算法生成的值,社保卡制卡机使用自带的哈希算法sha-256对用户的id以及当前时间t进行哈希处理,哈希算法用字母h表示,c是迭代次数,k_len是最终生成对称密钥k的长度,c和k_len使用系统默认参数。
47.s1.5:社保卡制卡机使用自带的高清摄像头对用户面部进行扫描,获得用户面部信息fi,社保卡制卡机使用fi与ui,形成一张空白的ehr,并通过显示器展示给用户。
48.s1.6:用户确认电子医疗记录信息是否正确。
49.s1.7:得到反馈后,社保卡制卡机将ehr通过对称密钥k加密,与id一起发送给逆向防火墙,用字母p表示,p=(id,e)其中,e=(k,ehr)。
50.s1.8:为了不暴露用户和ehr之间的关系,在发送到区块链之前要对id随机化处理,使用逆向防火墙,随机选择一个参数n,并将n存储,id'=idn,然后将随机化后的数据发送给区块链,用字母p'表示,p'=(id',e)。
51.s1.9:社保卡制卡机将带有用户信息与对称密钥k的ssc发放给用户。
52.s2:验证阶段:医生需要在不透露用户的信息的情况下进行有效身份认证获取用户电子医疗记录,包括以下步骤:
53.s2.1:用户将自己在注册阶段得到的ssc交给医生,医生将ssc放置感应区,用户输入pw,进行身份验证,若验证成功,医生得到对称密钥k,若验证失败,系统停止运行。
54.s2.2:医生得到对称密钥k后,对拥有电子医疗记录访问权限陈述(s)生成一个承诺(a),将a发送给逆向防火墙,a=ga,s=gk。
55.s2.3:逆向防火墙对承诺a进行随机化处理,将随机化后的a'发送给区块链,a'=agb=gagb=g
a+b
,
56.s2.4:区块链根据承诺a'生成一个挑战δ=h(g||s||a'),将挑战δ发送给医生。
57.s2.5:医生根据挑战δ生成一个证明π=a+δk,并将证明π和id发送给逆向防火墙。
58.s2.6:逆向防火墙对证明π和id进行随机化处理,π'=π+b=a+δk+b,id'=idn将π'和id'发送给区块链。
59.s2.7:区块链首先对id'进行验证,查看是否存在与其相匹配的值,没有则拒绝,其次区块链计算δ=h(g||s||a')对证明π'进行验证,如果正确将数据文件发送给医院,否则
拒绝:
60.g
π'
=g
a+δk+b
=g
a+bgδk
=a's
δ
61.s2.8:得到加密的数据后医院通过对称密钥k进行解密d=(k,e),得到ehr。
62.s2.9:医生对ehr进行更新,使用密钥派生函数pbkdf2生成新的对称密钥k'对更新后的ehr进行加密,医生将加密好的ehr与用户id一起发给逆向防火墙,k'=pbkdf2(prf,pr,h(id+t),c,k_len),其中prf、pr、c、k_len与在注册期间使用的参数相同,h(id+t)中的id是用户的id号,t是ehr更新的时间。
63.s2.10:逆向防火墙对id随机化后发送给区块链。
64.s2.11、医生将新生成对称密钥k'代替原来的对称密钥k,存储在ssc中,将ssc返回给用户。
65.对于该方案实施过程中主要使用的主要符号总结在下表1中。
66.表1方案主要符号表
[0067][0068][0069]
上述实施方式只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。
技术特征:
1.一种基于区块链的带有zpk和crf的电子医疗记录访问控制方法,其特征在于,包括有以下步骤:步骤1:用户获取社保卡,社保卡中包括用户的个人信息、验证密码,同时社保卡使用密钥派生函数pbkdf2生成一个对称密钥k并保存在社保卡中,产生电子医疗记录ehr;步骤2:将ehr通过对称密钥k加密,与用户的个人信息一起发送给逆向防火墙进行随机化处理后将其上传到区块链上;步骤3:医生通过用户验证密码后获取对称密钥k,通过对称密钥k生成一个证明并将证明发送至区块链,区块链验证证明通过则将加密的电子医疗记录ehr发送给医生进行解密得到电子医疗记录ehr;步骤4:当医生对所述电子医疗记录ehr更新后,使用密钥派生函数pbkdf2生成新的对称密钥k
′
对更新后的ehr进行加密,再将加密后的电子医疗记录ehr及用户的个人信息发送给逆向防火墙进行随机化处理后将其上传到区块链上,同时更新社保卡中的对称密钥。2.根据权利要求1所述的基于区块链的零知识证明和逆向防火墙的电子医疗记录访问控制方法,其特征在于,所述步骤1中产生电子医疗记录ehr的具体过程为:s1.1:用户将自己的身份证idc放置在身份感应区内,用户通过社保卡制卡机上的指纹识别装置输入自己的指纹信息fp;s1.2:社保卡制卡机读取idc中的芯片,获得用户的个人信息,姓名、id号、fp,个人信息用字母ui表示;社保卡制卡机验证用户输入的fp,验证ui是否一致,若信息一致,系统继续运行,若信息不一致,系统停止运行;s1.3:用户通过社保卡制卡机的输入装置,在0到9中随机选择6个数字,这些数字作为社保卡的验证密码,并使用字母pw表示;s1.4:社保卡制卡机使用密钥派生函数pbkdf2生成一个对称密钥k,密钥k将存储在社保卡中,k=pbkdf2(prf,pw,h(id+t),c,k_len),其中prf表示为伪随机函数,通常使用sha2哈希算法,pw是验证密码,h(id+t)是用哈希算法生成的值,社保卡制卡机使用自带的哈希算法sha-256对用户的id以及当前时间t进行哈希处理,哈希算法用字母h表示,c是迭代次数,k_len是最终生成对称密钥k的长度,c和k_len使用系统默认参数;s1.5:社保卡制卡机使用摄像头对用户面部进行扫描,获得用户面部信息fi,社保卡制卡机使用fi与ui,形成一张空白的电子医疗记录ehr,并通过显示器展示给用户。3.根据权利要求1所述的基于区块链的零知识证明和逆向防火墙的电子医疗记录访问控制方法,其特征在于,所述步骤2中将ehr上传到区块链上的具体操作为:s2.1:社保卡制卡机将ehr通过对称密钥k加密,与id一起发送给逆向防火墙,用字母p表示,p=(id,e),e=(k,ehr);s2.2:在发送到区块链之前对id随机化处理,使用逆向防火墙,随机选择一个参数n,并将n存储,id
′
=idn,然后将随机化后的数据发送给区块链,用字母p
′
表示,p
′
=(id
′
,e);s2.3:社保卡制卡机将带有用户信息与对称密钥k的社保卡ssc发放给用户。4.根据权利要求1所述的基于区块链的零知识证明和逆向防火墙的电子医疗记录访问控制方法,其特征在于,所述步骤3中通过对称密钥k生成一个证明并将证明发送至区块链时,还需要对其进行逆向防火墙随机化处理,具体包括:s3.1:医生将社保卡ssc放置感应区,用户输入验证密码pw,进行身份验证,若验证成
功,医生得到对称密钥k,若验证失败,系统停止运行;s3.2:医生得到对称密钥k后,对拥有电子医疗记录访问权限陈述s生成一个承诺a,将承诺发送给逆向防火墙,a=g
a
,s=g
k
;s3.3:逆向防火墙对a进行随机化处理,将随机化后的a
′
发送给区块链,a
′
=ag
b
=g
a
g
b
=g
a+b
,s3.4:区块链根据a
′
生成一个挑战δ=h(g||s||a
′
),将挑战δ发送给医生;s3.5:医生根据挑战δ生成一个证明π=a+δk,并将证明π和id发送给逆向防火墙;s3.6:逆向防火墙对证明π和id进行随机化处理,id=idn,将π
′
和id
′
发送给区块链;s3.7:区块链首先对id
′
进行验证,查看是否存在与其相匹配的值,没有则拒绝,其次区块链计算δ=h(g||s||a
′
)对证明π
′
进行验证,如果正确将数据文件发送给医院,否则拒绝;g
π
=g
a+δk+b
=g
a+b
g
δk
=a
′
s
δ
s3.8:得到加密的数据后医院通过对称密钥k进行解密d=(k,e),得到ehr。5.根据权利要求1所述的基于区块链的零知识证明和逆向防火墙的电子医疗记录访问控制方法,其特征在于,所述步骤4中医生生成新的对称密钥k
′
,并将电子医疗记录ehr及用户的个人信息发送至区块链上的具体操作为:s4.1:医生对ehr进行更新,使用密钥派生函数pbkdf2生成新的对称密钥k
′
对更新后的ehr进行加密,医生将加密好的ehr与用户id一起发给逆向防火墙,k
′
=pbkdf2(prf,pr,h(id+t),c,k_len),其中prf、pr、c、k_len与在注册期间使用的参数相同,h(id+t)中的id是用户的id号,t是电子医疗记录更新的时间;s4.2:逆向防火墙对id随机化后发送给区块链;s4.3:医生将新生成对称密钥k
′
代替原来的对称密钥k,存储在社保卡中,将社保卡返回给用户。
技术总结
本发明公开了一种基于区块链的带有ZPK和CRF的电子医疗记录访问控制方法,包括以下步骤:用户在社保卡制卡机上注册,将生成好的电子医疗记录EHR通过对称密钥进行加密,并将其与用户发送给逆向防火墙;逆向防火墙对用户随机化处理并与加密过的EHR发送给区块链;社保卡带有对称密钥;医生得到对称密钥,通过对称密钥生成一个证明并将证明发送至区块链,区块链验证证明通过则将加密的电子医疗记录EHR发送给医生进行解密得到电子医疗记录EHR。与现有技术相比,本发明在不透露用户个人信息的情况下保证拥有访问EHR的权限,区块链避免服务器的单点故障问题,逆向防火墙致使敌手无法伪造承诺和证明。造承诺和证明。造承诺和证明。
技术研发人员:金春花 孙友旺 季玲 刘畅 陈冠华 陈晓兵 张海艳
受保护的技术使用者:淮阴工学院
技术研发日:2023.06.20
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/