CN118101241A - 基于密钥封装机制的电子医疗数据隐私保护方法及系统 - Google Patents

基于密钥封装机制的电子医疗数据隐私保护方法及系统 Download PDF

Info

Publication number
CN118101241A
CN118101241A CN202410071483.8A CN202410071483A CN118101241A CN 118101241 A CN118101241 A CN 118101241A CN 202410071483 A CN202410071483 A CN 202410071483A CN 118101241 A CN118101241 A CN 118101241A
Authority
CN
China
Prior art keywords
key
medical data
encryption
data
patient
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
CN202410071483.8A
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.)
Huaiyin Institute of Technology
Original Assignee
Huaiyin Institute of Technology
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 Huaiyin Institute of Technology filed Critical Huaiyin Institute of Technology
Priority to CN202410071483.8A priority Critical patent/CN118101241A/zh
Publication of CN118101241A publication Critical patent/CN118101241A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Medical Treatment And Welfare Office Work (AREA)

Abstract

本发明公开了基于密钥封装机制的电子医疗数据隐私保护方法及系统,通过国密算法SM4对电子医疗数据进行对称加密,同时将传输的密钥进行国密算法SM2椭圆曲线公钥密码算法的非对称加密,接收医师端获得加密的电子医疗数据后先使用自己的国密算法SM2私钥对国密算法SM4对称加密密钥进行解密,再使用获得的密钥对电子医疗数据进行国密算法SM4解密获得患者电子医疗数据的明文;此外,对电子医疗系统用户信息使用国密算法SM3杂凑算法进行加密存储在数据库中;本发明能够显著提升医疗数据传输过程的安全性,提升用户信息的安全性和隐私性。

Description

基于密钥封装机制的电子医疗数据隐私保护方法及系统
技术领域
本发明涉及电子医疗数据隐私保护,具体涉及基于密钥封装机制的电子医疗数据隐私保护方法及系统。
背景技术
电子医疗服务在带给人们便利的同时,频发的电子医疗数据泄露事件,例如电子医疗数据被随意拍照泄露、电子病历的非法传播、患者医疗病历被随意调取以及网站入侵导致的电子医疗数据泄露等,也暴露出电子医疗数据存储的安全问题。为解决电子医疗数据隐私传输的安全问题,2023年吴龙等人提出了采用SM4-GCM(Galois/Counter Mode)算法对以明文形式存储在数据库中的电子病历信息、患者个人信息等敏感数据进行存储完整性和机密性保护的方案,从而降低敏感数据被窃取和非授权篡改风险。然而,使用单一的国密SM4算法难以满足医疗数据传输过程的安全性,保证用户信息的安全性和隐私性。
发明内容
发明目的:本发明的第一目的是针对当前电子医疗数据传输中存在的安全性和真实性问题,提供一种基于密钥封装机制的电子医疗数据隐私保护方法,以显著提升医疗数据传输过程的安全性,提升用户信息的安全性和隐私性;本发明的第二目的是提供一种基于密钥封装机制的电子医疗数据隐私保护系统。
技术方案:本发明所述的基于密钥封装机制的电子医疗数据隐私保护方法,包括:
(1)加密时,对电子医疗数据进行国密SM4对称加密,并使用国密SM2非对称加密公钥对国密SM4进行密钥封装;解密时,使用国密SM2非对称加密私钥解密获得国密SM4密钥,再使用国密SM4密钥解密获得患者医疗数据;
(2)使用国密SM3杂凑算法对系统用户的密码进行加密存储。
进一步地,步骤(1)包括:
(1-1)配置椭圆曲线系统参数G、授权接收医师的部门代码a与其标识码b,输出SM2非对称加密公钥SM2非对称加密私钥/>以及SM4对称加密密钥/>其中idA∈{0,1}*为授权接收医师的身份,pdA为患者医疗数据标识;
(1-2)根据SM2非对称加密公钥和SM4对称加密密钥/>输出SM4对称加密密钥/>经SM2非对称加密公钥/>加密后的密文/>
(1-3)配置国密SM4的系统参数FK与固定参数CK,使用SM4对称加密密钥加密患者医疗数据明文/>得到患者数据初始密文/>
(1-4)接收密钥封装后的密文患者数据初始密文/>根据授权接收医师的身份idA以及联合标识码a,b进行数据传输;
(1-5)使用SM2非对称加密私钥对密文/>进行解密,获得SM4对称加密密钥/>使用SM4对称加密密钥/>对患者数据初始密文/>进行解密,获得患者医疗数据明文/>
进一步地,步骤(1-1)包括:
计算椭圆曲线点C1=[k]G=(a,b),G≠O,计算得到字节串S=PC||a||b,使用随机数发生器,产生整数作为接收医师的国密算法SM2私钥并产生长度为128比特的国密算法SM4密钥/>计算接收医师非对称加密的公钥/>
进一步地,步骤(1-2)包括:
计算椭圆曲线点h是余因子,[h]表示计算h倍的/>的值;判断s是否为无穷远点,若是,则报错退出;否则继续计算;
计算椭圆曲线点K是正整数;将联合标识码a,b的数据类型转换为比特串/>使用密钥派生函数KDF计算参数/>klen为密钥长度,若t全为0比特串,则返回步骤(1-1);
计算且使用哈希函数Hash计算/>密文/> 表示32位异或运算;
可通过验证私钥值判断密文正确性,公式为:
进一步地,步骤(1-3)包括:
(1-3-1)SM4对称加密密钥SK=(SK0,SK1,SK2,SK3),其中SKi(i=0,1,2,3)为字,生成32比特字的轮密钥(rk0,rk1,…,rk31),使用系统参数FK=(FK0,FK1,FK2,FK3)和固定参数CK=(CK0,CK1,…,CK31)进行密钥扩展;
(1-3-2)计算生成轮密钥,患者医疗数据明文分解为PM0,PM1,PM2,PM3都表示32位的字,轮密钥为/>轮函数F如下式所示:
T(.)=L(τ(.)),为合成置换T的过程,是将有非线性变换的τ和线性变换的L复合;
(1-3-3)非线性变换τ由4个并行的S盒构成,输入经过S盒变换公式,输出Output=(PM'0,PM'1,PM'2,PM'3),且输出的值同时等于如下公式所得结果:τ(InPut)=(Sbox(PM0),Sbox(PM1),Sbox(PM2),Sbox(PM3));
(1-3-4)线性变换L,由步骤(1-3-3)算得非线性变换τ(Input)的输出是线性变换L的输入,设置线性变换的输入IpL与输出OpL,且即输入与输出之间变换的公式为:OpL=L(IpL),具体变换的公式如下:
(1-3-5)32次S盒迭代运算与1次反序变换R运算,其中32次迭代运算式为:以及反序变换R运算后输出患者数据初始密文,公式为
进一步地,步骤(1-5)包括:
(1-5-1)设klen为密文C2的比特长度,获得密文取出比特串C1,将数据类转换为椭圆曲线上的点,验证C1的正确性,不满足,则数据报错运算中断;
计算椭圆曲线点S=[h]C1,验证S是否为无穷远点,若是,则报错退出;否则继续计算;
(1-5-2)使用SM2非对称加密私钥计算/>将坐标转换为比特串;计算t=KDF(a0||b0,klen),验证t是否为全0比特串,若是,则报错退出;否则继续计算;
(1-5-3)从中取出比特串C2,计算/>计算验证因子数/>从/>取出C3,若μ≠C3,则报错退出;若μ=C3,则输出SM4对称加密密钥/>
(1-5-4)通过SM4对称加密密钥进行对称加密的解密操作以得到患者医疗数据明文/>其变换结构与加密的变换结构相同,使用轮密钥序(rk31,rk30,…,rk0)即可。
进一步地,步骤(2)包括:
(2-1)用户密码的填充,设置用户A的登录密码明文IVA,输出密码消息填充后的密码消息IV′A
(2-2)用户密码的扩展,输入填充后的密码IV′A,按512比特进行分组,输出迭代压缩的结果V(n) A
(2-3)用户密码的压缩,设定密码数据存放的8个寄存器,分别是R1,R2,R3,R4,R5,R6,R7,R8,同时设置中间变量SS1,SS2,TT1,TT2,用于压缩函数的计算,输出杂凑值V(n) A
进一步地,步骤(2-1)包括:
设置的用户A密码初始明文为IVA,长度为l比特,首先将比特“1”添加到密码初始明文的末尾,再添加k个“0”,且k满足l+1+k≡448(mod512)的最小非负整数,再添加长度l的二进制比特串,填充后的密码IV′A比特长度即512的倍数。
进一步地,步骤(2-2)包括:
填充后的密码IV′A按512比特进行密码消息分组,IV′A=B(0)B(1)…B(n-1),其中n=(l+k+65)/512;
对IV′A使用压缩函数CF进行密码消息IV′A的迭代:V(i+1)=CF(V(i),B(i)),i=0,1…n-1,IVA为256比特初始值V(0),B(i)是填充后的密码消息分组,扩展生成132个消息字,即W0,W1,…,W67,W′0,W′1,…,W′63,用于压缩函数CF生成迭代压缩结果V(n) A;其中,压缩函数CF分为三步,先将密码消息分组B(i)划分为W0,W1,…,W15共16个字,再进行32比特异或运算并进行左向赋值运算,公式为:
最后,计算其中j随着数值的变化使用不同的运算方式取不同的值;
步骤(2-3)包括:
密码存放的8个寄存器分别命名为R1,R2,R3,R4,R5,R6,R7,R8,设置SS1,SS2,TT1,TT2为中间变量,使用压缩函数Vi+1=CF(V(i),B(i)),0≤i≤n-1进行计算,在j=0,1,…63范围内,计算过程如下,左向赋值中间变量SS1:SS1←((R1<<<12)+R5+(Ti<<<(jmod32)))<<<7,中间变量SS1与寄存器R1进行32比特循环左移12比特后左向赋值SS2:对R1,R2,R3寄存器数据进行布尔函数FFi计算并与寄存器R4,中间变量SS2与字Wi′相连并左向赋值到中间变量TT1,即TT1←FFi(R1,R2,R3)+R4+SS2+Wi′,字Wi′是将消息分组进行扩展生成的132个消息字,用于压缩函数的运算;对R5,R6,R7寄存器数据进行布尔函数GGi计算并与寄存器R8,中间变量SS1与字W'i相连并左向赋值到中间变量TT2,即TT2←GGi(R5,R6,R7)+R8+SS1+Wi′,再进行寄存器之间的左向赋值,即R4←R3,R3←R2<<<9,R2←R1,R1←TT1,R8←R7,R7←R6<<<19,R6←R5,最后对TT2使用压缩函数中置换函数P0进行左向赋值R5←P0(TT2);获得/>根据计算机特性,数据存储使用的是大端序,即左边为高有效位,右边为低有效位;最后输出的杂凑值是R1R2R3R4R5R6R7R8←V(n),V(n) A=R1R2R3R4R5R6R7R8;其中,当j∈[0,15]时,函数FFj与函数GGj进行32位比特异或运算,使用公式分别如下:函数/>函数当j∈[16,63]时,函数FFj与函数GGj进行32位比特与运算和32或运算,使用公式分别如下:函数FFj(R1,R2,R3)=(R1∧R2)∨(R1∧R3)∨(R2∧R3),函数GGj(R5,R6,R7)=(R5∧R6)∨(R5∧R7)∨(R6∧R7)。
本发明所述的基于密钥封装机制的电子医疗数据隐私保护系统,包括:
系统参数设置模块,用于配置椭圆曲线系统参数G、授权接收医师的部门代码a与其标识码b,输出SM2非对称加密公钥SM2非对称加密私钥/>以及SM4对称加密密钥/>其中idA∈{0,1}*为授权接收医师的身份,pdA为患者医疗数据标识;将SM4对称加密密钥/>发送给国密算法SM4对称加密模块、国密算法SM2非对称加密密钥封装模块、密钥解密模块和患者数据解密模块;将SM2非对称加密私钥/>发送给授权的接收医师端;
国密算法SM4对称加密模块,用于配置国密SM4的系统参数FK与固定参数CK,使用SM4对称加密密钥加密患者医疗数据明文/>得到患者数据初始密文/>
国密算法SM2非对称加密密钥封装模块,用于根据SM2非对称加密公钥和SM4对称加密密钥/>输出SM4对称加密密钥/>经SM2非对称加密公钥/>加密后的密文/>
密钥解密模块,用于根据SM2非对称加密私钥对密文/>进行解密,获得SM4对称加密密钥/>
以及,患者数据解密模块,用于根据SM4对称加密密钥对患者数据初始密文进行解密,获得患者医疗数据明文/>
有益效果:本发明与现有技术相比,具有如下显著优点:
本发明提供了国密算法SM2、SM3和SM4相结合,对患者电子医疗数据进行隐私保护的方案。采用国密算法SM4与SM2结合直接对患者电子医疗数据的密钥封装机制加密操作,具体来说,是将电子医疗数据进行国密算法SM4对称加密,同时将传输的密钥进行国密算法SM2椭圆曲线公钥密码算法的非对称加密,接收医师端获得加密的电子医疗数据后先使用自己的国密算法SM2私钥对国密算法SM4对称加密密钥进行解密,再使用获得的密钥对电子医疗数据进行国密算法SM4解密获得患者电子医疗数据的明文。这样不仅能有效规避电子医疗数据传输过程中被网站入侵者非法拦截后暴露数据明文,而且能防范非授权人对患者电子医疗数据的随意调取与拍照。同时,对电子医疗系统用户信息(即系统用户的密码)使用国密算法SM3杂凑算法进行加密存储在数据库中,能够保护用户信息不被恶意篡改和暴力破解,防止网站入侵后用户信息的明文泄露。
本发明能够显著提升医疗数据传输过程的安全性,提升用户信息的安全性和隐私性,提供了一种电子医疗数据隐私保护领域更全面、可靠的解决方案。
附图说明
图1是本申请实施例提供的基于密钥封装机制的电子医疗数据隐私保护方法流程框图;
图2是本申请实施例提供的基于密钥封装机制的电子医疗数据隐私保护方法数据交互示意图;
图3是本申请实施例中基于密钥封装机制的电子医疗数据隐私保护系统用户使用状态示意图;
图4是本申请实施例中基于密钥封装机制的电子医疗数据隐私保护系统用户使用流程图。
具体实施方式
下面结合附图对本发明做进一步说明。
结合图1和图2,本申请实施例提供一种基于密钥封装机制的电子医疗数据隐私保护方法,整体分为两个步骤,包括使用国密算法SM4对称加密与国密算法SM2非对称加密,对患者医疗数据进行密钥封装的信息加密;使用国密算法SM3杂凑算法对系统用户的密码进行加密。
以下对这两个步骤做具体介绍。
(1)加密时,对电子医疗数据进行国密SM4对称加密,并使用国密SM2非对称加密公钥对国密SM4进行密钥封装;解密时,使用国密SM2非对称加密私钥解密获得国密SM4密钥,再使用国密SM4密钥解密获得患者医疗数据;
步骤(1)包括:
(1-1)密钥生成中心(Key Generator Centre,KGC)输入椭圆曲线系统参数G、授权接收医师的部门代码a与其标识码b(即以a,b作为联合标识码),输出SM2非对称加密公钥SM2非对称加密私钥/>以及SM4对称加密密钥/>其中idA∈{0,1}*为授权接收医师的身份,pdA为患者医疗数据标识;
使用患者输入椭圆曲线系统参数有限域Fq,接收医生的联合标识码a,b,根据国家标准GB/T32918.1-2016中3域和椭圆曲线的方法,确定密钥计算的椭圆曲线方程。KGC计算椭圆曲线点C1=[k]G=(a,b),G≠O,计算得到字节串S=PC||a||b。使用随机数发生器,产生整数作为接收医师的国密算法SM2私钥并产生长度为128比特的国密算法SM4密钥/>计算接收医师国密算法SM2加密使用的公钥/>
上述的是授权接收医师个人身份idA的国密算法SM2公钥和私钥,是患者医疗数据标识码为pdA的国密算法SM4加密密钥。国密算法SM2私钥与国密算法SM4密钥是由随机数发生器产生,国密算法SM2公钥由私钥计算得到。
(1-2)根据SM2非对称加密公钥和SM4对称加密密钥/>KGC输出SM4对称加密密钥/>经SM2非对称加密公钥/>加密后的密文/>
计算椭圆曲线点h是余因子,[h]表示计算h倍的PrKidA的值;判断s是否为无穷远点,若是,则报错退出;否则继续计算;
计算椭圆曲线点K是正整数;按照国家标准GB/T32918.1-2016中4.2数据类型转换方法将联合标识码a,b的数据类型转换为比特串/>使用密钥派生函数KDF计算参数/>klen为密钥长度,若t全为0比特串,则返回步骤(1-1);
计算且使用哈希函数Hash计算/>输出密文/> 表示32位异或运算;
接收医师端可通过验证私钥值判断密文正确性,公式为:
(1-3)配置国密SM4的系统参数FK与固定参数CK,使用SM4对称加密密钥加密患者医疗数据明文/>得到患者数据初始密文/>
(1-3-1)SM4对称加密密钥SK=(SK0,SK1,SK2,SK3),其中SKi(i=0,1,2,3)为字,生成32比特字的轮密钥(rk0,rk1,…,rk31),使用系统参数FK=(FK0,FK1,FK2,FK3)和固定参数CK=(CK0,CK1,…,CK31)进行密钥扩展;
(1-3-2)计算生成轮密钥,患者医疗数据明文分解为PM0,PM1,PM2,PM3都表示32位的字,即范围是在比特长度为32的二进制序列集合内,轮密钥为/>轮函数F如下式所示:
T(.)=L(τ(.)),为合成置换T的过程,是将有非线性变换的τ和线性变换的L复合;
(1-3-3)非线性变换τ由4个并行的S盒构成,输入经过S盒变换公式,输出Output=(PM'0,PM'1,PM'2,PM'3),且输出的值同时等于如下公式所得结果:τ(InPut)=(Sbox(PM0),Sbox(PM1),Sbox(PM2),Sbox(PM3));
(1-3-4)线性变换L,由步骤(1-3-3)算得非线性变换τ(Input)的输出是线性变换L的输入,设置线性变换的输入IpL与输出OpL,且IpL,即输入与输出之间变换的公式为:OpL=L(IpL),具体变换的公式如下:
(1-3-5)32次S盒迭代运算与1次反序变换R运算,其中32次迭代运算式为:以及反序变换R运算后输出患者数据初始密文,公式为
(1-4)服务器接收密钥封装后的密文患者数据初始密文/>根据授权接收医师的身份idA以及联合标识码a,b进行数据传输;
(1-5)服务器将患者数据的初始密文和密钥封装后的密文/>发送给接收医师端。接收医师端根据SM2非对称加密私钥/>对密文/>进行解密,获得SM4对称加密密钥/>使用SM4对称加密密钥/>对患者数据初始密文/>进行解密,获得患者医疗数据明文/>
(1-5-1)设klen为密文C2的比特长度,获得密文取出比特串C1,将数据类转换为椭圆曲线上的点,验证C1的正确性,不满足,则数据报错运算中断;
计算椭圆曲线点S=[h]C1,验证S是否为无穷远点,若是,则报错退出;否则继续计算;
(1-5-2)使用接收医师的SM2非对称加密私钥计算/>将坐标转换为比特串;计算t=KDF(a0||b0,klen),验证t是否为全0比特串,若是,则报错退出;否则继续计算;
(1-5-3)从中取出比特串C2,计算/>计算验证因子数/>从/>取出C3,若μ≠C3,则报错退出;若μ=C3,则输出SM4对称加密密钥/>
(1-5-4)接收医师通过SM4对称加密密钥进行对称加密的解密操作以得到患者医疗数据明文/>其变换结构与加密的变换结构相同,使用轮密钥序(rk31,rk30,…,rk0)即可。
(2)使用国密SM3杂凑算法对系统用户信息进行加密存储,即系统用户的密码进行加密存储。
步骤(2)包括:
(2-1)用户密码的填充,输入用户的登录密码明文,即设置用户A的登录密码明文IVA,输出密码消息填充后的密码消息IV′A
设置的用户A密码初始明文为IVA,长度为l比特,首先将比特“1”添加到密码初始明文的末尾,再添加k个“0”,且k满足l+1+k≡448(mod512)的最小非负整数,再添加长度l的二进制比特串,填充后的密码IV′A比特长度即512的倍数。
(2-2)用户密码的扩展,输入填充后的密码IV′A,按512比特进行分组,输出迭代压缩的结果V(n) A
填充后的密码IV′A按512比特进行密码消息分组,IV′A=B(0)B(1)…B(n-1),其中n=(l+k+65)/512;
对IV′A使用压缩函数CF进行密码消息IV′A的迭代:V(i+1)=CF(V(i),B(i)),i=0,1…n-1,IVA为256比特初始值V(0),B(i)是填充后的密码消息分组,扩展生成132个消息字,即W0,W1,…,W67,W′0,W′1,…,W′63,用于压缩函数CF生成迭代压缩结果V(n) A;其中,压缩函数CF分为三步,先将密码消息分组B(i)划分为W0,W1,…,W15共16个字,再进行32比特异或运算并进行左向赋值运算,公式为:
最后,计算其中在国家标准GB/T32905-2016中j随着数值的变化使用不同的运算方式取不同的值;
(2-3)用户密码的压缩,设定密码数据存放的8个寄存器,分别是R1,R2,R3,R4,R5,R6,R7,R8,同时设置中间变量SS1,SS2,TT1,TT2,用于压缩函数的计算,输出杂凑值V(n) A
密码存放的8个寄存器分别命名为R1,R2,R3,R4,R5,R6,R7,R8,设置SS1,SS2,TT1,TT2为中间变量,使用压缩函数Vi+1=CF(V(i),B(i)),0≤i≤n-1进行计算,在j=0,1,…63范围内,计算过程如下,左向赋值中间变量SS1:SS1←((R1<<<12)+R5+(Ti<<<(jmod32)))<<<7,<<<k是32比特循环左移k比特运算;中间变量SS1与寄存器R1进行32比特循环左移12比特后左向赋值SS2:对R1,R2,R3寄存器数据进行布尔函数FFi计算并与寄存器R4,中间变量SS2与字Wi′相连并左向赋值到中间变量TT1,即TT1←FFi(R1,R2,R3)+R4+SS2+Wi′,字Wi′是按国家标准GB/T32905-20165.3.2方法,将消息分组进行扩展生成的132个消息字,用于压缩函数的运算;对R5,R6,R7寄存器数据进行布尔函数GGi计算并与寄存器R8,中间变量SS1与字W'i相连并左向赋值到中间变量TT2,即TT2←GGi(R5,R6,R7)+R8+SS1+Wi′,再进行寄存器之间的左向赋值,即R4←R3,R3←R2<<<9,R2←R1,R1←TT1,R8←R7,R7←R6<<<19,R6←R5,最后对TT2使用压缩函数中置换函数P0进行左向赋值R5←P0(TT2);获得根据计算机特性,数据存储使用的是大端序,即左边为高有效位,右边为低有效位;最后输出的杂凑值是R1R2R3R4R5R6R7R8←V(n),V(n) A=R1R2R3R4R5R6R7R8。其中,当j∈[0,15]时,函数FFj与函数GGj进行32位比特异或运算,使用公式分别如下:函数/>函数/>当j∈[16,63]时,函数FFj与函数GGj进行32位比特与运算和32或运算,使用公式分别如下:函数FFj(R1,R2,R3)=(R1∧R2)∨(R1∧R3)∨(R2∧R3),函数GGj(R5,R6,R7)=(R5∧R6)∨(R5^R7)∨(R6∧R7)。
本申请实施例还提供一种基于密钥封装机制的电子医疗数据隐私保护系统,包括:
系统参数设置模块,用于配置椭圆曲线系统参数G、授权接收医师的部门代码a与其标识码b,输出SM2非对称加密公钥SM2非对称加密私钥/>以及SM4对称加密密钥/>其中idA∈{0,1}*为授权接收医师的身份,pdA为患者医疗数据标识;将SM4对称加密密钥/>发送给国密算法SM4对称加密模块、国密算法SM2非对称加密密钥封装模块、密钥解密模块和患者数据解密模块;将SM2非对称加密私钥/>发送给授权的接收医师端;
国密算法SM4对称加密模块,用于配置国密SM4的系统参数FK与固定参数CK,使用SM4对称加密密钥加密患者医疗数据明文/>得到患者数据初始密文/>
国密算法SM2非对称加密密钥封装模块,用于根据SM2非对称加密公钥和SM4对称加密密钥/>输出SM4对称加密密钥/>经SM2非对称加密公钥/>加密后的密文/>
密钥解密模块,用于根据SM2非对称加密私钥对密文/>进行解密,获得SM4对称加密密钥/>
以及,患者数据解密模块,用于根据SM4对称加密密钥对患者数据初始密文进行解密,获得患者医疗数据明文/>
如图3和图4所示,为本申请实施例基于密钥封装机制的电子医疗数据隐私保护系统用户使用状态示意图,包括如下四个实体:
密钥生成中心(KGC):负责为患者医疗数据加密端生成密钥,为每个接收电子医疗数据的医师生成私钥,授予电子医疗数据使用者的消息解密能力。
服务器:传输数据,存储加密消息,执行密钥封装的过程。
患者信息上传端:对患者的医疗数据消息进行加密,将相关的密文和密钥上传到服务器。
接收医师端:授权的接收医师可以使用密钥生成中心分发的私钥对传输的对称加密密钥进行解密获得对称加密的密钥,使用该密钥下载相关电子医疗数据消息。
本申请实施例中,国密算法SM4遵循的标准号为GB/T32907-2016,国密算法SM2遵循的标准号为:GB/T32918.1-2016、GB/T32918.2-2016、GB/T32918.3-2016、GB/T32918.4-2016、GB/T32918.5-2017、GB/T35276-2017,国密算法SM3遵循的标准号为GB/T32905-2016。
下面将对申请实施例中所述的基于密钥封装机制的电子医疗数据隐私保护方法应用于某医院的场景进行示例说明。
假设某医院以使用了该项目,有患者在长期情况下在该院就医,该医院首先要将患者电子医疗数据进行上传,涉及到患者的隐私敏感数据(比如,患者的个人身份信息、患者的身体指标数据、患者患病情况)进行对称加密后,再利用患者信息上传端的公钥对对称加密密钥进行非对称加密。保障了加密密钥的安全传输,只允许具备相应私钥的接收医师才能解密该加密密钥,从而解锁患者的医疗数据。这种双重加密机制确保了在整个数据传输过程中,即使数据被截获,也无法轻易解读其中的敏感信息。接着对每个患者设置键值描述性标签以方便患者数据的流向追踪。比如,某一天该医院接诊的第一位患者,其描述为{“患者1”,“医疗数据1”}。这种标签系统不仅有助于医院内部的数据管理,还能够提供数据溯源的能力,让医疗人员能够追踪和访问特定患者的医疗数据。由于患者的医疗数据处于加密状态,这样,接收医师可以在不泄露患者个人信息的前提下,安全地查看和分析患者的医疗数据。

Claims (10)

1.基于密钥封装机制的电子医疗数据隐私保护方法,其特征在于,包括:
(1)加密时,对电子医疗数据进行国密SM4对称加密,并使用国密SM2非对称加密公钥对国密SM4进行密钥封装;解密时,使用国密SM2非对称加密私钥解密获得国密SM4密钥,再使用国密SM4密钥解密获得患者医疗数据;
(2)使用国密SM3杂凑算法对系统用户的密码进行加密存储。
2.根据权利要求1所述的基于密钥封装机制的电子医疗数据隐私保护方法,其特征在于,步骤(1)包括:
(1-1)配置椭圆曲线系统参数G、授权接收医师的部门代码a与其标识码b,输出SM2非对称加密公钥SM2非对称加密私钥/>以及SM4对称加密密钥/>其中idA∈{0,1}*为授权接收医师的身份,pdA为患者医疗数据标识;
(1-2)根据SM2非对称加密公钥和SM4对称加密密钥/>输出SM4对称加密密钥经SM2非对称加密公钥/>加密后的密文/>
(1-3)配置国密SM4的系统参数FK与固定参数CK,使用SM4对称加密密钥加密患者医疗数据明文/>得到患者数据初始密文/>
(1-4)接收密钥封装后的密文患者数据初始密文/>根据授权接收医师的身份idA以及联合标识码a,b进行数据传输;
(1-5)使用SM2非对称加密私钥对密文/>进行解密,获得SM4对称加密密钥使用SM4对称加密密钥/>对患者数据初始密文/>进行解密,获得患者医疗数据明文/>
3.根据权利要求2所述的基于密钥封装机制的电子医疗数据隐私保护方法,其特征在于,步骤(1-1)包括:
计算椭圆曲线点C1=[k]G=(a,b),G≠O,计算得到字节串S=PC||a||b,使用随机数发生器,产生整数作为接收医师的国密算法SM2私钥并产生长度为128比特的国密算法SM4密钥/>计算接收医师非对称加密的公钥/>
4.根据权利要求3所述的基于密钥封装机制的电子医疗数据隐私保护方法,其特征在于,步骤(1-2)包括:
计算椭圆曲线点h是余因子,[h]表示计算h倍的/>的值;判断s是否为无穷远点,若是,则报错退出;否则继续计算;
计算椭圆曲线点K是正整数;将联合标识码a,b的数据类型转换为比特串/>使用密钥派生函数KDF计算参数/>klen为密钥长度,若t全为0比特串,则返回步骤(1-1);
计算且使用哈希函数Hash计算/>密文 表示32位异或运算;
可通过验证私钥值判断密文正确性,公式为:
5.根据权利要求4所述的基于密钥封装机制的电子医疗数据隐私保护方法,其特征在于,步骤(1-3)包括:
(1-3-1)SM4对称加密密钥SK=(SK0,SK1,SK2,SK3),其中SKi(i=0,1,2,3)为字,生成32比特字的轮密钥(rk0,rk1,…,rk31),使用系统参数FK=(FK0,FK1,FK2,FK3)和固定参数CK=(CK0,CK1,…,CK31)进行密钥扩展;
(1-3-2)计算生成轮密钥,患者医疗数据明文分解为PM0,PM1,PM2,PM3都表示32位的字,轮密钥为/>轮函数F如下式所示:
T(.)=L(τ(.)),为合成置换T的过程,是将有非线性变换的τ和线性变换的L复合;
(1-3-3)非线性变换τ由4个并行的S盒构成,输入经过S盒变换公式,输出Output=(PM'0,PM'1,PM'2,PM'3),且输出的值同时等于如下公式所得结果:τ(InPut)=(Sbox(PM0),Sbox(PM1),Sbox(PM2),Sbox(PM3));
(1-3-4)线性变换L,由步骤(1-3-3)算得非线性变换τ(Input)的输出是线性变换L的输入,设置线性变换的输入IpL与输出OpL,且即输入与输出之间变换的公式为:OpL=L(IpL),具体变换的公式如下:
(1-3-5)32次S盒迭代运算与1次反序变换R运算,其中32次迭代运算式为:以及反序变换R运算后输出患者数据初始密文,公式为
6.根据权利要求5所述的基于密钥封装机制的电子医疗数据隐私保护方法,其特征在于,步骤(1-5)包括:
(1-5-1)设klen为密文C2的比特长度,获得密文取出比特串C1,将数据类转换为椭圆曲线上的点,验证C1的正确性,不满足,则数据报错运算中断;
计算椭圆曲线点S=[h]C1,验证S是否为无穷远点,若是,则报错退出;否则继续计算;
(1-5-2)使用SM2非对称加密私钥计算/>将坐标转换为比特串;计算t=KDF(a0||b0,klen),验证t是否为全0比特串,若是,则报错退出;否则继续计算;
(1-5-3)从中取出比特串C2,计算/>计算验证因子数从/>取出C3,若μ≠C3,则报错退出;若μ=C3,则输出SM4对称加密密钥/>
(1-5-4)通过SM4对称加密密钥进行对称加密的解密操作以得到患者医疗数据明文/>其变换结构与加密的变换结构相同,使用轮密钥序(rk31,rk30,…,rk0)即可。
7.根据权利要求1至6中任一项所述的基于密钥封装机制的电子医疗数据隐私保护方法,其特征在于,步骤(2)包括:
(2-1)用户密码的填充,设置用户A的登录密码明文IVA,输出密码消息填充后的密码消息IVA′;
(2-2)用户密码的扩展,输入填充后的密码IVA′,按512比特进行分组,输出迭代压缩的结果V(n) A
(2-3)用户密码的压缩,设定密码数据存放的8个寄存器,分别是R1,R2,R3,R4,R5,R6,R7,R8,同时设置中间变量SS1,SS2,TT1,TT2,用于压缩函数的计算,输出杂凑值V(n) A
8.根据权利要求7所述的基于密钥封装机制的电子医疗数据隐私保护方法,其特征在于,步骤(2-1)包括:
设置的用户A密码初始明文为IVA,长度为l比特,首先将比特“1”添加到密码初始明文的末尾,再添加k个“0”,且k满足l+1+k≡448(mod512)的最小非负整数,再添加长度l的二进制比特串,填充后的密码IV′A比特长度即512的倍数。
9.根据权利要求8所述的基于密钥封装机制的电子医疗数据隐私保护方法,其特征在于,步骤(2-2)包括:
填充后的密码IV′A按512比特进行密码消息分组,IV′A=B(0)B(1)…B(n-1),其中n=(l+k+65)/512;
对IV′A使用压缩函数CF进行密码消息IVA′的迭代:V(i+1)=CF(V(i),B(i)),i=0,1…n-1,IVA为256比特初始值V(0),B(i)是填充后的密码消息分组,扩展生成132个消息字,即W0,W1,…,W67,W′0,W′1,…,W′63,用于压缩函数CF生成迭代压缩结果V(n) A;其中,压缩函数CF分为三步,先将密码消息分组B(i)划分为W0,W1,…,W15共16个字,再进行32比特异或运算并进行左向赋值运算,公式为:
最后,计算其中j随着数值的变化使用不同的运算方式取不同的值;
步骤(2-3)包括:
密码存放的8个寄存器分别命名为R1,R2,R3,R4,R5,R6,R7,R8,设置SS1,SS2,TT1,TT2为中间变量,使用压缩函数Vi+1=CF(V(i),B(i)),0≤i≤n-1进行计算,在j=0,1,…63范围内,计算过程如下,左向赋值中间变量SS1:SS1←((R1<<<12)+R5+(Ti<<<(jmod32)))<<<7,中间变量SS1与寄存器R1进行32比特循环左移12比特后左向赋值SS2:对R1,R2,R3寄存器数据进行布尔函数FFi计算并与寄存器R4,中间变量SS2与字Wi′相连并左向赋值到中间变量TT1,即TT1←FFi(R1,R2,R3)+R4+SS2+Wi′,字Wi′是将消息分组进行扩展生成的132个消息字,用于压缩函数的运算;对R5,R6,R7寄存器数据进行布尔函数GGi计算并与寄存器R8,中间变量SS1与字W'i相连并左向赋值到中间变量TT2,即TT2←GGi(R5,R6,R7)+R8+SS1+Wi′,再进行寄存器之间的左向赋值,即R4←R3,R3←R2<<<9,R2←R1,R1←TT1,R8←R7,R7←R6<<<19,R6←R5,最后对TT2使用压缩函数中置换函数P0进行左向赋值R5←P0(TT2);获得根据计算机特性,数据存储使用的是大端序,即左边为高有效位,右边为低有效位;最后输出的杂凑值是R1R2R3R4R5R6R7R8←V(n),V(n) A=R1R2R3R4R5R6R7R8;其中,当j∈[0,15]时,函数FFj与函数GGj进行32位比特异或运算,使用公式分别如下:函数/>函数/>当j∈[16,63]时,函数FFj与函数GGj进行32位比特与运算和32或运算,使用公式分别如下:函数FFj(R1,R2,R3)=(R1∧R2)∨(R1^R3)∨(R2∧R3),函数GGj(R5,R6,R7)=(R5∧R6)∨(R5∧R7)∨(R6∧R7)。
10.基于密钥封装机制的电子医疗数据隐私保护系统,其特征在于,包括:
系统参数设置模块,用于配置椭圆曲线系统参数G、授权接收医师的部门代码a与其标识码b,输出SM2非对称加密公钥SM2非对称加密私钥/>以及SM4对称加密密钥其中idA∈{0,1}*为授权接收医师的身份,pdA为患者医疗数据标识;将SM4对称加密密钥/>发送给国密算法SM4对称加密模块、国密算法SM2非对称加密密钥封装模块、密钥解密模块和患者数据解密模块;将SM2非对称加密私钥/>发送给授权的接收医师端;
国密算法SM4对称加密模块,用于配置国密SM4的系统参数FK与固定参数CK,使用SM4对称加密密钥加密患者医疗数据明文/>得到患者数据初始密文/>
国密算法SM2非对称加密密钥封装模块,用于根据SM2非对称加密公钥和SM4对称加密密钥/>输出SM4对称加密密钥/>经SM2非对称加密公钥/>加密后的密文
密钥解密模块,用于根据SM2非对称加密私钥对密文/>进行解密,获得SM4对称加密密钥/>
以及,患者数据解密模块,用于根据SM4对称加密密钥对患者数据初始密文/>进行解密,获得患者医疗数据明文/>
CN202410071483.8A 2024-01-17 2024-01-17 基于密钥封装机制的电子医疗数据隐私保护方法及系统 Pending CN118101241A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410071483.8A CN118101241A (zh) 2024-01-17 2024-01-17 基于密钥封装机制的电子医疗数据隐私保护方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410071483.8A CN118101241A (zh) 2024-01-17 2024-01-17 基于密钥封装机制的电子医疗数据隐私保护方法及系统

Publications (1)

Publication Number Publication Date
CN118101241A true CN118101241A (zh) 2024-05-28

Family

ID=91160959

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410071483.8A Pending CN118101241A (zh) 2024-01-17 2024-01-17 基于密钥封装机制的电子医疗数据隐私保护方法及系统

Country Status (1)

Country Link
CN (1) CN118101241A (zh)

Similar Documents

Publication Publication Date Title
JP3421950B2 (ja) 非決定論的ミクスチャー発生器ストリーム暗号化システム
Nyang et al. Improvement of Das's two-factor authentication protocol in wireless sensor networks
Chinnasamy et al. Design of secure storage for health-care cloud using hybrid cryptography
Schäfer et al. Security in fixed and wireless networks
CA2747891C (en) Method for generating an encryption/decryption key
Ali et al. An efficient cryptographic technique using modified Diffie–Hellman in wireless sensor networks
CN113783683B (zh) 基于传感器网络的云平台隐私保护可验证数据聚合方法
Reyad et al. Key-based enhancement of data encryption standard for text security
Stallings NIST block cipher modes of operation for authentication and combined confidentiality and authentication
Pandian et al. Dynamic Hash key‐based stream cipher for secure transmission of real time ECG signal
CN116996327B (zh) 一种基于分组密码的加密方法、解密方法以及产品
Hwang et al. Robust stream‐cipher mode of authenticated encryption for secure communication in wireless sensor network
Mohamed New Frontiers in Cryptography: Quantum, Blockchain, Lightweight, Chaotic and DNA
Ding et al. A lightweight and secure communication protocol for the IoT environment
Jammu et al. Improved AES for Data Security in E-Health.
Olteanu et al. A lightweight block cipher based on a multiple recursive generator for wireless sensor networks and RFID
JP5489115B2 (ja) 原本性保証装置、原本性保証プログラム、及びこのプログラムを記録する記録媒体
CN118101241A (zh) 基于密钥封装机制的电子医疗数据隐私保护方法及系统
Murugan An efficient algorithm on quantum computing with quantum key distribution for secure communication
Kumari et al. Lightweight encryption with data and device integrity using NLFSR and PUF for the Internet of Medical Things
Radhakrishnan et al. Development of a novel security scheme using DNA biocryptography for smart meter data communication
Thwe et al. Prevention of Man-In-The-Middle Attack in Diffie-Hellman Key Exchange Algorithm using Proposed Hash Function
CN113923029B (zh) 基于ecc混合算法的物联网信息加密方法
Mantoro et al. Preventing Cyber Crime in Electronic Medical Records Using Encryption Data
Rajesh Double Encryption using TEA and DNA

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Jiang Furong

Inventor after: Chen Liqing

Inventor after: Wang Xiaofan

Inventor after: Dong Fengrui

Inventor after: Du Rui

Inventor before: Jiang Furong

Inventor before: Wang Xiaofan

Inventor before: Dong Fengrui

Inventor before: Du Rui

Inventor before: Chen Liqing