【技术实现步骤摘要】
基于受限可净化签名的电子病历安全共享方法及系统
[0001]本专利技术属于医疗数据共享
,具体涉及一种基于受限可净化签名的电子病历安全共享方法及系统。
技术介绍
[0002]电子病历(EHR)作为提高患者医疗保健质量和满意度的有效方案被广泛应用于医疗管理、科学研究和保险理赔等场景。目前常使用数字签名技术来保护医疗信息的真实性和完整性。对经过签名的数据进行任何轻微的修改都将导致签名失效,从而无法验证数据的有效性。但是,对于某些不需要完整的电子病历的场景,如果允许患者从原始数据中删除某些敏感数据将有助于保护个人隐私。例如,当电子病历被提供给其他医疗机构或科学机构用以研究分析时,与病症无关的个人信息(例如住址、医保卡号等)是需要被隐藏的。当电子病历被提供给保险公司进行医疗索赔时,隐藏与索赔无关的其他敏感病症可以避免对患有某种疾病的患者的歧视。可以采用的一种解决方案是要求医生仅签署需要被共享的部分信息。但是,该方案要求每次共享电子病历的新子集时,医生都要重新签名,这将导致高昂的计算成本。因此,如何为患者授予合适的权限以更改签名病历是一个重要的研究问题。在理想情况下,甚至不用和原始签名者进行交互就可以完成对签名消息的修改且保持签名有效性。
[0003]可净化签名(Sanitizable Signature Schemes,SSS)在2005年由Ateniese等人提出,其允许指定的第三方(Sanitizer,净化者)以受控且非交互式的方式更改签名的数据,且生成的签名仍能被成功验证,相比于传统数字签名,更适用于某些
【技术保护点】
【技术特征摘要】
1.一种基于受限可净化签名的电子病历安全共享方法,其特征在于,包括:(1)在系统建立阶段,可信机构TA运行Setup算法,生成系统公共参数mpk和主密钥msk;并将mpk作为输入,分别运行KGen
sig
和KGen
san
算法,为签名者和净化者生成密钥对(pk
S
,sk
S
)和(pk
Z
,sk
Z
),并分别将其发送给签名者和净化者;(2)在签名阶段,签名者生成净化者的电子病历m,并运行Sign算法,在当前时间t为消息m生成签名ρ;同时,签名者指定病历中的哪些字段是允许修改的、可修改的字段数量上限γ以及修改操作的时间限制τ;(3)在净化阶段,净化者对消息m进行净化;净化者指定要修改的消息块MOD,生成新的消息m
′
,并运行Sanit算法,在当前时间t
′
为消息m
′
生成签名σ
′
;(4)在验证阶段,验证者运行Verify算法验证消息签名对(m,σ)的有效性;Verify算法输出一个比特位b,b=1表示(m,σ)是有效的,b=0则表示无效;(5)若发生关于消息签名对的生成者的争议,签名者和净化者各自生成证明发送给TA;签名者和净化者各自运行Proof
sig
和Proof
san
算法,生成证明π
sig
、π
san
,将其发送给TA,以证明自己是或不是消息签名对(m,σ)的生成者;对于由签名者发送的证明π
sig
,TA运行Judge
sig
算法,判断生成者的身份;若证明π
san
来自净化者,则TA运行Judge
san
算法;Judge
sig
和Judge
san
算法输出判断d∈{Signer,Sanitizer,
⊥
},d=Signer表示消息签名对(m,ρ)由签名者生成,d=Sanitizer表示消息签名对(m,ρ)由净化者生成,d=
⊥
表示证明π
sig
、π
san
是无效的。2.根据权利要求1所述的基于受限可净化签名的电子病历安全共享方法,其特征在于,步骤(1)中,Setup算法表示为:输入安全参数λ、等价类代表大小l和时间长度TA选取双线性对其中和是素数阶p的乘法循环群;随机选择生成元选择哈希函数H,F:H1::然后,TA生成BBS+密钥对,随机选择计算TA发布系统公共参数保密主密钥msk=ψ
TA
;KGen
sig
算法表示为:(pk
S
,sk
S
)
←
KGen
sig
(mpk);输入系统公共参数mpk,TA为签名者生成密钥对(pk
S
,sk
S
);所述密钥对(pk
S
,sk
S
)包括等价类签名的密钥对、可验证环签名的密钥对和BBS+签名的密钥对;KGen
san
算法表示为:(pk
Z
,sk
Z
)
←
KGen
san
(mpk);输入系统公共参数mpk,TA为净化者生成密钥对(pk
Z
,sk
Z
);所述密钥对(pk
Z
,sk
Z
)包括公钥加密的密钥对和可验证环签名的密钥对。3.根据权利要求2所述的基于受限可净化签名的电子病历安全共享方法,其特征在于,密钥对(pk
S
,sk
S
)中,等价类签名的密钥对的生成方法为:随机选择定义sk
EQS
=(x
i
)
i∈[1,l]
,可验证环签名的密钥对的生成方法为:随机选择定义sk
VRS
=a,pk
VRS
=g
a
;BBS+签名的密钥对的生成方法为:随机选择作为私钥,计算公钥则输出的密钥对(pk
S
,sk
S
)中,pk
S
=(pk
EQS
,pk
VRS
,vk
Sig
),sk
S
=(sk
EQS
,sk
VRS
,ψ
Sig
)。4.根据权利要求2所述的基于受限可净化签名的电子病历安全共享方法,其特征在于,
密钥对(pk
Z
,sk
Z
)中,公钥加密的密钥对的生成方法为:随机选择定义ssk
PKE
=β,可验证环签名的密钥对的生成方法为:随机选择定义则输出的密钥对(pk
Z
,sk
Z
)中,pk
Z
=(spk
PKE
,spk
VRS
),sk
Z
=(ssk
PKE
,ssk
VRS
)。5.根据权利要求1所述的基于受限可净化签名的电子病历安全共享方法,其特征在于,步骤(2)中,签名者在当前时间t为消息m生成签名ρ;签名者为消息内容和限制生成承诺C和关于承诺的证明π1和π2,以及当前时间不超过到期时间,即t<τ的证明π3,以上证明采用非交互式的零知识证明;然后,签名者对承诺C进行等价类签名,并加密净化者所需要的一些信息,最后对以上内容进行环签名;Sign算法表示为:(m,ρ)
←
Sign(mpk,sk
S
,pk
Z
,m,ADM,γ,τ,t);其具体实现方法为:(1)签名者将消息m分为n个块m1||
…
||m
n
;生成关于消息块m
i
和限制γ的承诺;随机选择计算C1=H(γ)
δ
;对于每一个消息块m
i
,计算C
2,i
=H(i||m
i
)
δ
;如果i∈ADM,计算C
3,i
=F(i)
δ
,否则C
3,i
=F(i||m
i
)
δ
;(2)证明净化的消息块是允许修改的消息块,即对于每个消息块m
i
,C
3,i
=F(i)
δ
或C
3,i
=F(i||m
i
)
δ
;生成证明:随机选择若C
3,i
=F(i)
δ
,随机选择计算否则,随机选择记(3)证明净化的消息块数量不超过γ,即证明使得C1=H(i)
δ
,且n个消息块中存在大小为n
‑
i的消息块集合J,对于满足C
2,j
=H(j||m
j
)
δ
;生成证明:其中,[n]={1,2,...,n};对于i=γ,随机选择计算选择前n
‑
i个满足C
2,j
=H(j||m
j
)
δ
的消息块,随机选择计算对于其余的i个消息块,随机选择计算对于i≠γ,随机选择计算随机选择i个消息块,假设是前i个,对于j∈[1,i],随机选择计算用i+1个点和构造i次的拉格朗日多项式P
i
(x);对于j∈[i+1,n],计算随机选择计算得到计算
对于i=γ,用i+1个点和构造i次的拉格朗日多项式P
i
(x);对于j∈J,计算得到得到(4)设置签名的到期时间为τ,并证明当前时间t不超过到期时间τ;签名者计算τ的BBS+签名,首先计算{τ
j
}
j∈[1,l]
←1‑
ENC(τ),然后计算{(A
j
,ξ
j
,ζ
j
)}
j∈[1,l]
,其中令到期时间信息ei=({(A
j
,ξ
j
,ζ
j
)}
j∈[1,l]
,τ);签名者向TA请求当前时间t的信息;TA计算并计算t的BBS+签名其中TA令当前时间信息将其发送给签名者;若t<τ,则存在使得τ
k
=t
k
,则有签名者计算关于A
k
,B
k,t
的承诺,随机选择计算签名者令β1=ρ1ξ
k
,β2=ρ2ξ
′
k,t
,生成证明随机选择计算计算计算计算计算得到(5)对承诺C=(C1,{C
2,i
}
i∈[1,n]
,{C
3,i
}
i∈[1,n]
)进行等价类签名;将C映射为等价类代表随机选择计算得到等价类签名(6)加密签名到期时间信息ei、承诺C、指数δ和等价类签名s
EQS
;记M
PKE
=(ei,C,δ,ρ
EQS
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。