1.一种远程医疗系统认证方法,其特征在于包括如下步骤:
患者认证阶段,所述患者认证的过程如下:
首先,密钥分配中心KDC在一开始分别为注册的患者P和医生D以及医疗服务器MS分配密钥对(PKP,SKP)、(PKD,SKD)和(PKS,SKS),PKP,SKP分别为患者P的公钥和私钥,PKD,SKD分别为医生D的公钥和私钥,PKS,SKS分 别为医疗服务器MS的公钥和私钥,并公开所有用户的公钥;患者P和医生D从密钥分配中心KDC获得共享密钥keyP以及keyD,作为与服务器进行数据交换时的协商密钥;
患者P使用MD5散列函数生成消息摘要 然后使用自身私钥SKP对消息摘要 进行数字签名,即 接着使用服务器公钥PKs对患者P的身份码IDp进行加密,即 将患者P的时间戳tp,患者P的数字签名结果Sp和患者P的身份码IDp的加密结果 发送至服务器;
患者P使用服务器公钥将从密钥分配中心KDC获取的患者共享密钥keyP进行加密,得将患者共享密钥的加密结果 发送给医疗服务器MS;
医疗服务器MS收到所述tp,Sp和 后,验证消息时效性;先用自己的私钥SKS对所述身份码IDp的加密结果 进行解密,即 其中,ID'P表示使用密钥SKS对加密结果 进行解密的结果, 为使用密钥SKS对加密结果 进行解密;
然后使用MD5散列函数生成消息摘要 所述H(ID'P)表示使用MD5算法计算ID'P的哈希值, 表示使用MD5算法计算ID'P的哈希值的结果,接着使用患者公钥PKP验证签名Sp,即 Sp为患者P的数字签名结果, 表示使用患者公钥PKP对数字签名结果Sp进行验证,S'P表示使用患者公钥PKP对数字签名结果Sp进行验证的结果,判断与S'P是否相等,若相等则患者身份验证通过,将验证结果返回值传送给患者,完成患者身份的验证;
医生认证阶段,所述医生认证的过程如下:
医生D使用MD5散列函数生成消息摘要 其中 为医生D的消息摘要,H(IDD)表示使用MD5计算医生D的身份码IDD的哈希值;然后使用自身私钥SKD对所述 进行数字签名,即 其中SD为医生D的数字签名结果, 表示使用所述SKD对所述 进行数字签名,接着使用服务器公钥PKs对所述IDD进行加密,即将医生D的时间戳tD,SD和 发送至服务器MS,其中 表示IDD的加密结果, 表示对使用服务器公钥PKs对所述IDD进行加密;
医生D使用服务器公钥PKs将从密钥分配中心KDC获取的医生共享密钥keyD进行加密,得将 发送给服务器,其中 表示所述keyD的加密结果, 表示使用服务器公钥PKs对医生共享密钥keyD进行加密;
服务器收到所述tD,SD和 后,验证消息时效性;先用自己的私钥SKS对 进行解密,即 所述 表示使用所述SKS对 进行解密,ID'D表示使用所述SKS对 进行解密的结果;然后使用MD5散列函数生成消息摘要 接着使用医生公钥PKD验证签名SD,即 判断 与S'D是否相等,若相等则医生身份验证通过,将验证结果返回值传送给医生,完成医生身份的验证,其中 表示使用PKD验证SD,S'D表示使用PKD验证SD的结果, 表示使用MD5算法计算ID'D的哈希值的结果;
患者就诊阶段,所述患者就诊的过程如下:
患者P使用患者的共享密钥keyP对自身就诊信息M1进行AES算法加密,即将C1发送到服务器,C1表示M1进行AES算法加密的结果, 表示使用所述keyP对就诊信息M1进行加密;
服务器MS首先使用自己的私钥SKS对所述keyP的加密结果 进行解密,即key'P表示对所述keyP的加密结果 进行解密的结果,然后使用key'P对C1进行AES算法解密,即 其中P1表示用key'P对C1进行AES算法解密的结果,表示使用所述key'P对所述C1进行解密;接着使用自己的私钥SKS对所述 进行解密,即 用key'D对P1进行AES算法加密得 将C2发送给医生,key'D表示所述SKS对所述 进行解密的结果, 表示使用所述SKS对所述进行解密,所述C2表示用key'D对P1进行AES算法加密的结果,所述 表示使用所述key'D对所述P1进行加密;
医生收到C2后,使用keyD进行AES算法解密C2得 P2为患者就诊信息,表示使用所述keyD对C2进行解密;
医生确诊阶段,所述医生确诊阶段的过程如下:
医生D给出诊断消息M2,使用所述keyD对诊断消息M2进行AES算法加密得将C3发送至服务器,其中C3表示所述keyD对诊断消息M2进行AES算法加密的结果,所述表示使用所述keyD对所述M2进行加密;
服务器使用所述key'D对C3进行AES算法解密得 再使用所述key'P对P3进行AES算法加密得 将C4发送给患者,所述P3表示使用所述key'D对C3进行AES算法解密的结果, 表示使用所述key'D对C3进行解密,所述C4表示使用所述key'P对P3进行AES算法加密的结果, 表示使用所述key'P对P3进行加密;
患者收到所述C4,使用所述keyP进行AES算法解密得 即为医生给出的诊断消息,所述P4表示使用所述keyP对C4进行AES算法解密的结果,所述 表示使用所述keyP对C4进行解密;至此完成了一次身份认证过程和安全的数据通信过程。