1.一种应用于医疗信息系统的隐私信息传输方法,其特征在于,该医疗信息系统包括KMC中心、医生客户端和患者客户端;该隐私信息传输方法包括以下步骤:步骤1:所述KMC中心构建系统参数params,并分别发送至所述医生客户端和所述患者客户端;
系统参数params满足:
params={G1,G2,e,q,P,H};
其中,q为阶为素数;G1,G2分别为阶为素数q的加法循环群和乘法循环群;e为G1×G1→G2双线性映射;P为加法循环群G1的生成元;H为哈希函数,且满足:{0,1}*×G1→Zq*
其中,Z为整数集;Zq*为{1,2,…,q‑1}的整数集合;
步骤2:根据所述系统参数进行双层秘钥构建,构建出医生双层秘钥和患者双层秘钥,并传输回所述KMC中心进行存储;
所述医生双层秘钥包括:每个医生的医生私钥d和医生客户端的医生公钥D;
*
医生私钥d满足:d=(d1,1,d1,2),其中,d1,1,d1,2为随机选取的两个数,即d1,1,d1,2∈Zq;
医生公钥D满足:D=(D1,1,D1,2),其中,D=Pd,即D1,1=Pd1,1,D1,2=Pd1,2;所述患者双层秘钥包括:每个患者的患者私钥b和患者客户端的患者公钥B;
*
患者私钥b满足:b=(b1,1,b1,2),其中,b1,1,b1,2为随机选取的两个数,即b1,1,b1,2∈Zq;
患者公钥B满足:B=(B1,1,B1,2),其中,B=Pb,即B1,1=Pb1,1,B1,2=Pb1,2;
步骤3:结合所述医生双层秘钥和所述患者双层秘钥,所述医生客户端对第一隐私信息进行医生签名,获得医生数字签名的第一隐私信息,并传输至所述患者客户端进行提取;
所述医生数字签名包括当前第一时间戳T的医生数字签名S(m,T)满足:其中,m代表患者的电子病历;
步骤4:对所述医生签名进行第一次有效性验证,即判定第一双线性映射值e(S(m,T),D1,1+H(m||T,b1,2D1,2))是否满足预设双线性映射值e(P,P),即:e(S(m,T),D1,1+H(m||T,b1,2D1,2))=e(P,P);
若不满足,则所述医生签名无效,所述医生数字签名的第一隐私信息为假;若满足,则所述医生签名有效,所述医生数字签名的第一隐私信息为真,完成医生向患者的隐私信息的保密传输;
步骤5:结合所述医生双层秘钥和所述患者双层秘钥,所述患者客户端对第二隐私信息进行患者签名,获得患者数字签名的第二隐私信息,并传输至所述医生客户端进行提取;
所述患者数字签名包括当前第二时间戳T’的患者数字签名S’(m’,T’)满足:其中,m’代表患者的询问信息;
步骤6:对所述患者签名进行第二次有效性验证,即判定第二双线性映射值e(S’,B1,1+H(m’||T’,d1,2B1,2))是否满足预设双线性映射值e(P,P),即:e(S’(m’,T’),B1,1+H(m’||T’,d1,2B1,2))=e(P,P);
若不满足,则所述患者签名无效,所述患者数字签名的第二隐私信息为假;若满足,则所述患者签名有效,所述患者数字签名的第二隐私信息为真,完成患者向医生的隐私信息的保密传输。
2.如权利要求1所述的应用于医疗信息系统的隐私信息传输方法,其特征在于,将所述医生双层秘钥中的所述医生公钥和所述患者双层秘钥中的所述患者公钥传输至所述KMC中心进行存储。
3.如权利要求1所述的应用于医疗信息系统的隐私信息传输方法,其特征在于,所述双层秘钥构建还包括以下步骤:步骤2.1:每个医生和每个患者分别通过所述医生客户端和所述患者客户端,分别各自构建所述每个医生的医生私钥和所述每个患者的患者私钥;步骤2.2:基于所述系统参数,根据所述每个医生的医生私钥和所述每个患者的患者私钥,分别获得所述医生公钥和所述患者公钥。
4.如权利要求3所述的应用于医疗信息系统的隐私信息传输方法,其特征在于,所述第一隐私信息为患者的电子病历。
5.如权利要求4所述的应用于医疗信息系统的隐私信息传输方法,其特征在于,获得所述医生数字签名的第一隐私信息还包括以下步骤:步骤3.1:所述医生客户端请求所述KMC中心获得所述患者公钥,并结合所述医生私钥,对所述患者的电子病历进行医生签名,获得医生数字签名;
步骤3.2:将所述医生数字签名和所述患者的电子病历传输至所述患者客户端;
步骤3.3:所述患者客户端请求所述KMC中心获得所述医生公钥,并结合所述患者私钥,解锁所述医生数字签名,并获得所述医生数字签名的电子病历。
6.如权利要求5所述的应用于医疗信息系统的隐私信息传输方法,其特征在于,所述第二隐私信息为患者发送给医生的询问信息。
7.如权利要求6所述的应用于医疗信息系统的隐私信息传输方法,其特征在于,获得所述患者数字签名的第二隐私信息还包括以下步骤:步骤5.1:所述患者客户端请求所述KMC中心获得所述医生公钥,并结合所述患者私钥,对所述患者的询问信息进行患者签名,获得患者数字签名;
步骤5.2:将所述患者数字签名和所述患者的询问信息传输至所述医生客户端;
步骤5.3:所述医生客户端请求所述KMC中心获得所述患者公钥,并结合所述医生私钥,解锁所述患者数字签名,并获得所述患者数字签名的患者的询问信息。