身份认证方法、设备及系统的制作方法

文档序号:8322226阅读:291来源:国知局
身份认证方法、设备及系统的制作方法
【技术领域】
[0001]本发明实施例涉及互联网技术,尤其涉及一种身份认证方法、设备及系统。
【背景技术】
[0002]在通信网络中,身份认证是网络信息安全的基础。尤其在云计算环境下,共享的软硬件资源和信息按需提供给用户,用户通过云终端登录远程的虚拟机,因此,可靠、健壮身份认证系统对于云计算环境尤为重要。
[0003]目前,云计算环境通常采用智能卡(USB Key)认证技术进行身份认证,USB Key是一种USB接口的硬件设备,内置智能芯片。认证过程如下:用户将USB key插入云终端后,云终端识别key,用户在云终端中输入登录虚拟机(Virtual Machine,简称:VM)的账户和密码,并提交到VM,请求建立连接;VM接收到请求后,向云终端请求证书信息;云终端证书读取模块将USBkey中的数字证书,并将证书加密后发送给VM ;VM根据接收到的证书是否通过认证来确定是否允许用户登录。
[0004]可以看出,上述方法主要是对用户身份的合法性及权限进行了认证,然而,由于云计算环境的虚拟化、共享性,用户失去了对自己使用的VM的完全控制,例如无法阻止管理员在非授权的情况下登录并使用VM。而现有技术的身份认证方法缺少用户对VM的认证,因此安全性不够高。

【发明内容】

[0005]本发明实施例提供一种身份认证方法、设备及系统,以提身份认证方法的安全性。
[0006]第一方面,本发明实施例提供一种身份认证方法,包括:
[0007]云终端向主机的身份认证模块发送第一密钥K1,所述第一密钥Kl由所述云终端的智能卡产生;
[0008]所述主机的身份认证模块获取所述云终端对应的虚拟机的第二密钥K2,根据所述第二密钥K2和所述第一密钥Kl获得第一组合密钥,生成第一随机数NI,并采用所述第一组合密钥加密所述第一随机数NI ;所述云终端接收所述主机的身份认证模块发送的第二密钥K2和加密的第一随机数NI ;
[0009]所述云终端根据所述第二密钥K2和自身保存的所述第一密钥Kl获得第二组合密钥,采用所述第二组合密钥解密所述加密的第一随机数NI,并采用所述第二组合密钥对第一随机数NI进行再次加密;
[0010]所述云终端向所述主机的身份认证模块发送再次加密的所述第一随机数NI ;
[0011]所述主机的身份认证模块根据所述第一组合密钥解密所述再次加密的第一随机数NI,确定解密得到的所述第一随机数NI是否与初始生成的所述第一随机数NI是否一致,若一致,确定所述云终端通过认证;
[0012]所述云终端产生第二随机数N2并采用所述第二组合密钥加密所述第二随机数N2 ;
[0013]所述云终端向所述主机的身份认证模块发送经过所述第二组合密钥加密的所述第二随机数N2 ;
[0014]所述主机的身份认证模块根据所述第一组合密钥解密所述加密的第二随机数N2,并采用所述第一组合密钥对第二随机数N2进行再次加密;
[0015]所述云终端接收所述主机的身份认证模块发送的所述再次加密的所述第二随机数N2 ;
[0016]所述云终端根据所述第二组合密钥解密所述再次加密的第二随机数N2,确定解密得到的所述第二随机数N2是否与初始生成的所述第二随机数N2是否一致,若一致,确定所述虚拟机通过认证。
[0017]在第一方面的第一种可能的实现方式中,在所述云终端向主机的身份认证模块发送第一密钥Kl之前,还包括:
[0018]所述云终端向云认证服务器发送认证请求;
[0019]当认证通过时,所述云终端接收所述云认证服务器发送的虚拟机列表,并选择一个虚拟机;
[0020]所述云终端向所述云认证服务器发送登录所选择的虚拟机的请求,以使云管理服务器将所述选择的虚拟机的镜像下发到所述主机,并将所述选择的虚拟机对应的第二密钥K2通过安全通道迁移到所述主机中。
[0021]根据第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述云终端向云认证服务器发送认证请求,包括:
[0022]所述云终端向所述云认证服务器发送用户口令;和\或,
[0023]所述云终端提示用户插入智能卡,并将所述智能卡中的签名信息和所述智能卡的公钥数字证书发送给云认证服务器。
[0024]根据第一方面、第一方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,在云终端向主机的身份认证模块发送第一密钥Ki之前,还包括:
[0025]云终端向所述主机上的虚拟机发送登录请求;
[0026]所述虚拟机将所述登录请求转发给所述主机的身份认证模块,或者,所述主机的身份认证请求捕获模块捕获所述登录请求,并将所述登录请求转发给所述主机的身份认证模块。
[0027]根据第一方面、第一方面的第一种或第二种可能的实现方式,在第四种可能的实现方式中,在云终端向主机的身份认证模块发送智能卡中的第一密钥Kl并请求认证之前,还包括:
[0028]云终端向所述主机上的虚拟机发送登录请求,以使所述主机捕获所述登录请求,并将所述登录请求转发给所述主机的身份认证模块。
[0029]根据第一方面、第一方面的第一种至第四种可能的实现方式中的任意一种,在第五种可能的实现方式中,在所述云终端根据所述第二组合密钥解密所述再次加密的第二随机数N2,确定解密得到的所述第二随机数N2是否与初始生成的所述第二随机数N2是否一致,若一致,确定所述虚拟机通过认证之后,还包括:
[0030]若所述云终端确定所述虚拟机通过认证,则所述云终端向所述主机发送所述第二密钥K2对应的虚拟机通过认证的消息;
[0031]所述主机采用所述第一组合密钥解密所述虚拟机镜像后,启动所述虚拟机。
[0032]根据第一方面的第五种可能的实现方式,在第六种可能的实现方式中,在所述云终端向所述主机发送所述第二密钥K2对应的虚拟机通过认证的消息,以使所述主机采用所述第一组合密钥解密所述虚拟机镜像后,启动所述虚拟机之后,还包括:
[0033]所述云终端向所述主机发送关闭所述虚拟机的请求,以使所述主机采用所述第一组合密钥加密所述虚拟机镜像后,关闭所述虚拟机。
[0034]根据第一方面、第一方面的第一种至第六种可能的实现方式中的任意一种,在第七种可能的实现方式中:
[0035]所述主机根据虚拟机镜像的标志位确定所述虚拟机当前是否处于加密状态。
[0036]在第一方面的第八种可能的实现方式中,在所述云终端向主机的身份认证模块发送第一密钥Kl之前,还包括:
[0037]所述主机接收云管理服务器在完成对所述云终端的认证之后根据所述云终端选择的虚拟机下发的虚拟机镜像,并接收通过安全通道迁移的所述选择的虚拟机对应的第二密钥K2。
[0038]根据第一方面、第一方面的第一种至第八种可能的实现方式中的任意一种,在第九种可能的实现方式中,所述第一密钥Kl和所述第二密钥K2均为对称密钥。
[0039]第二方面,本发明实施例提供一种云终端,包括:
[0040]发送模块,用于向主机的身份认证模块发送第一密钥K1,所述第一密钥Kl由所述云终端的智能卡产生;
[0041]接收模块,用于接收所述主机的身份认证模块发送的第二密钥K2和经过第一组合密钥加密的第一随机数NI,其中,所述第二密钥K2对应于所要连接的虚拟机,所述第一组合密钥为所述主机的身份认证模块通过获取所述云终端对应的虚拟机的第二密钥K2,并根据所述第二密钥K2和所述第一密钥Kl获得的;
[0042]处理模块,用于根据所述第二密钥K2和自身保存的所述第一密钥Kl获得第二组合密钥,采用所述第二组合密钥解密所述加密的第一随机数NI,并采用所述第二组合密钥对第一随机数NI进行再次加密;
[0043]所述处理模块,还用于产生第二随机数N2并采用所述第二组合密钥加密所述第二随机数N2 ;
[0044]所述发送模块,还用于向所述主机的身份认证模块发送经过所述第二组合密钥再次加密的所述第一随机数NI和经过所述第二组合密钥加密的所述第二随机数N2,其中,所述第一随机数NI用于使所述主机的身份认证模块根据所述第一组合密钥解密所述再次加密的第一随机数NI,确定解密得到的所述第一随机数NI是否与初始生成的所述第一随机数NI是否一致,若一致,确定所述云终端通过认证;
[0045]所述接收模块还用于,接收所述主机的身份认证模块根据所述第一组合密钥解密所述加密的第二随机数N2,并采用所述第一组合密钥对第二随机数N2进行再次加密的所述第二随机数N2;
[0046]所述处理模块还用于,根据所述第二组合密钥解密所述再次加密的第二随机数N2,确定解密得到的所述第二随机数N2是否与初始生成的所述第二随机数N2是否一致,若一致,确定所述虚拟机通过认证。
[0047]在第二方面的第一种可能的实现方式中,还包括:
[0048]云认证服务器认证模块,用于向云认证服务器发送认证请求;
[0049]选择模块,用于当认证通过时,接收所述云认证服务器发送的虚拟机列表,并选择一个虚拟机;
[0050]所述发送模块还用于,向所述云认证服务器发送登录所选择的虚拟机的请求,以使云管理服务器将所述选择的虚拟机的镜像下发到所述主机,并将所述选择的虚拟机对应的第二密钥K2通过安全通道迁移到所述主机中。
[0051]根据第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述云认证服务器认证模块具体用于:
[0052]所述云终端向所述云认证服务器发送用户口令;和\或,
[0053]所述云终端提示用户插入智能卡,并将所述智能卡中的签名信息和所述智能卡的公钥数字证书发送给云认证服务器。
[0054]根据第二方面、第二方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述发送模块还用于:
[0055]在向主机的身份认证模块发送智能卡中的第一密钥Kl之前,向所述主机上的虚拟机发送登录请求,以使所述虚拟机将所述登录请求转发给所述主机的身份认证模块。
[0056]根据第二方面、第二方面的第一种或第二种可能的实现方式,在第四种可能的实现方式中,所述发送模块还用于:
[0057]在向主机的身份认证模块发送智能卡中的第一密钥Kl之前,向所述主机上的虚拟机发送登录请求,以使所述主机捕获所述登录请求,并将所述登录请求转发给所述主机的身份认证模块。
[0058]根据第二方面、第二方面的第一种至第四种可能的实现方式中的任意一种,在第五种可能的实现方式中,所述发送模块还用于:
[0059]在所述处理模块确定所述第二密钥K2对应的虚拟机通过认证之后,向所述主机发送所述第二密钥K2对应的虚拟机通过认证的消息,以使所述主机采用所述第一组合密钥解密所述虚拟机镜像后,启动所述虚拟机。
[0060]根据第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述发送模块还用于:
[0061]向所述主机发送关闭所述虚拟机的请求,以使所述主机采用所述第一组合密钥加密所述虚拟机镜像后,关闭所述虚拟机。
[0062]根据第二方面、第二方面的第一种至第六种可能的实现方式中的任意一种,在第七种可能的实现方式中,所述第一密钥Kl和所述第二密钥K2均为对称密钥。
[0063]第三方面,本发明实施例提供一种主机,包括:身份认证模块和虚拟机管理VMM层,其中,所述身份认证模块包括:
[0064]接收单元,用于接收云终端发送的第一密钥K1,所述第一密钥Kl由所述云终端的智能卡产生;
[0065]处理单元,用于获取所述云终端对应的虚拟机的第二密钥K2,根据所述第二密钥K2和所述第一密钥Kl获得第一组合密钥,生成第一随机数NI,并采用所述第一组合密钥加密所述第一随机数NI ;
[0066]发送单元,用于向所述云终端发送经过所述第一组合密钥加密的所述第一随机数NI和所述第二秘钥K2 ;
[0067]所述接收单元,还用于接收所述云终端采用第二组合密钥解密所述加密的第一随机数N1、并采用所述第二组合密钥对第一随机数NI进行再次加密后发送所述第一随机数NI和经过所述第二组合密钥加密的第二随机数N2 ;其中,所述第二组合秘钥为所述云终端根据所述第二密钥K2和自身保存的所述第一密钥Kl获得的;
[0068]所述处理单元,还用于采用所述第一组合密钥解密所述云终端发送的再次加密的第一随机数NI,确定解密得到的所述第一随机数NI是否与初始生成的所述第一随机数NI是否一致,若一致,确定所述云终端通过认证;
[0069]所述处理单元,还用于根据所述第一组合密钥解密所述加密的第二随机数N2,并采用所述第一组合密钥对第二随机数N2进行再次加密;
[0070]所述发送单元,还用于当所述处理单元确定所述云终端通过认证时,向所述云终端发送经过所述第一组合密钥再次加密的所述第二随机数N2,以使所述云终端根据所述第二组合密钥解密所述再次加密的第二随机数N2,确定解密得到的所述第二随机数N2是否与初始生成的所述第二随机数N2是否一致,若一致,确定所述虚拟机通过认证。
[0071]在第三方面的第一种可能的实现方式中,还包括:
[0072]虚拟机镜像接收模块,用于接收云管理服务器在完成对所述云终端的认证之后根据所述云终端选择的虚拟机下发的虚拟机镜像;
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1