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

文档序号:8322226阅读:来源:国知局

[0177]具体地,第二密钥K2可以保存在所述主机的身份认证和密钥管理域VMO的密钥管理模块中。
[0178]进一步地,对于VM启动后用户注销或者用户界面锁屏时,用户需要再次申请登录VM的场景,云终端与VM之间需要再次进行身份认证。该场景下的身份认证方法也可以采用上述图3所示的实施例二的身份认证方法,这时,主机的身份认证模块还需要先获得云终端向虚拟机发送的登录请求,从而进行身份认证。具体地,根据主机的部署方式的不同,如何获得云终端向虚拟机发送的登录请求可以有以下两种实现方式。
[0179]在第一种方式中,主机上的每个虚拟机中配置了身份认证请求捕获模块,因此,在所述主机的身份认证模块接收云终端发送智能卡中的第一密钥Kl之前,还包括:
[0180]步骤一、所述主机上的虚拟机接收所述云终端发送的登录请求;
[0181]步骤二、所述虚拟机将所述登录请求转发给所述主机的身份认证模块。
[0182]具体地,由于每个虚拟机中都配置了身份认证请求捕获模块,因此,虚拟机在接收到登录请求后,身份认证请求捕获模块即可获得登录请求,并可直接将该登录请求转发给所述主机的身份认证模块。
[0183]在第二种方式中,主机的VMM层中配置身份认证请求捕获模块,用于对网络信息进行分析以捕获登录请求,而不在每个虚拟机中配置了身份认证请求捕获模块,因此,在所述主机的身份认证模块接收云终端发送智能卡中的第一密钥Kl之前,还包括:
[0184]步骤一、所述主机上的虚拟机接收所述云终端发送的登录请求;
[0185]步骤二、所述主机的身份认证请求捕获模块捕获所述登录请求,并将所述登录请求转发给所述主机的身份认证模块。
[0186]具体地,云终端发送的登录请求中包含用户相关信息和请求服务信息,如连接类型、连接线路、连接方法、数据传输协议等,主机的VMM层中的身份认证请求捕获模块对网络数据进行分析,当发现云终端请求登录该主机上的某个VM时(即捕获到云终端发送的登录请求),将所述登录请求转发给主机的身份认证模块。
[0187]进一步地,在上述实施例的基础上,当所述主机的身份认证模块确定所述云终端通过认证时,向所述云终端发送经过所述第一组合密钥加密的所述第二随机数N2,以使所述云终端根据所述第二随机数N2的正确性确定所述第二密钥K2对应的虚拟机是否通过认证之后,还包括:
[0188]所述主机接收所述云终端发送的所述K2对应的虚拟机通过认证的消息,然后采用所述第一组合密钥解密所述虚拟机镜像,并启动所述虚拟机。
[0189]具体地,可以由主机的VMM层采用所述第一组合密钥解密所述虚拟机镜像,并启动所述虚拟机。
[0190]进一步地,在所述主机采用所述第一组合密钥解密所述虚拟机镜像,并启动所述虚拟机之后,还包括:
[0191]所述主机采用所述第一组合密钥加密所述虚拟机镜像,并关闭所述虚拟机。
[0192]具体地,可以由主机的VMM层采用所述第一组合密钥加密所述虚拟机镜像,并关闭所述虚拟机。
[0193]下次用户使用VM时需要用第一组合密钥对镜像进行解密,才能启动所述虚拟机,这样,通过组合密钥对VM镜像加解密,增强了 VM的安全性。因为VM关闭后,如果有人想恶意启动VM镜像,那必须首先解密VM镜像,但是解密需要的第一组合密钥,非法用户几乎不可能同时获取Kl和K2。
[0194]进一步地,在另一个实施例中,还可以包括:所述主机根据虚拟机镜像的标志位确定所述虚拟机当前是否处于加密状态。
[0195]下面采用云终端(代表用户)、USB Key管理装置(代表USB Key管理员)、云认证服务器、云管理服务器和主机交互的具体的实施例,对本发明身份认证方法的技术方案进行详细说明。
[0196]本发明的技术方案中,双向身份认证和VM镜像加解密采用USB Key和TPM的组合对称密钥,该组合密钥一部分来自USB Key,一部分来自云管理服务器的TPM,在介绍身份认证流程前,首先介绍一下这两部分密钥。用户的VM在成功创建后,云认证服务器会通过USBKey管理员,把数字证书的公钥及私钥颁发给用户,并写入USB Key中,此外,USB Key会产生一个对称密钥,即第一密钥Kl,Kl只在USB Key中保存。同时,在云管理服务器自带的TPM芯片会产生一个对称密钥,即第二密钥K2,并用TPM的存储根密钥(Storage Root Key,简称:SRK)进行加密后存入密钥信息表中,第二密钥K2与所创建的VM —一对应。
[0197]其中,对称密钥是密钥的类型,是指加密和解密算法中所用的密钥相同。
[0198]云管理服务器生成VM镜像时,可以在用户VM镜像的分区表中设置一个标志位,通过该标志位能够判断出该VM镜像是处于加密还是解密状态。由云管理服务器首次下发到主机上的VM镜像是未经过加密的,系统可以提示用户,建议用户在关机进行加密,以保证VM镜像的安全性。
[0199]此外,还可以在用户VM所运行的主机上配置身份认证和密钥管理域VMO,VMO是运行在主机上的一个专门用于管理组合密钥和进行身份认证的虚拟机,并且可以通过可信计算及虚拟机加密及隔离等技术确保其安全性。这样,密钥管理和身份认证均由该独立于用户VM的VMO来完成,一个主机只需要一个VMO来负责对该主机上所有的VM的身份认证,便于部署,且安全性高。
[0200]本发明实施例中,用户申请USB Key并通过云终端登录虚拟机的总体流程如下:
[0201]USB Key管理装置向云认证服务器发送证书申请;云认证服务器向USB Key管理装置颁发证书和第一密钥Kl ;USB Key管理装置向用户颁发USB Key ;用户通过云终端向云认证服务器申请身份认证;认证通过后云认证服务器向云终端返回VM列表,以供用户选择所要使用的VM ;用户选择一台VM进行登录,云认证服务器通知云管理服务器将用户选择的VM镜像下发到一个主机上,同时云管理服务器在密钥信息表中查找该VM对应的第二密钥K2,云管理服务器中的密钥迁移模块将其通过安全通道迁移到主机的身份认证和密钥管理域(VMO )中,并用主机上的TPM保护该密钥。
[0202]上述用户通过云终端登录虚拟机的总体流程可以总结为包括两个部分:第一部分、用户利用数字证书在云认证服务器进行身份认证;第二部分、用户与VM进行双向身份认证。
[0203]在第一部分中,本发明设置了一个专门的云认证服务器来完成用户证书的颁发与身份认证,该云认证服务器上不会有VM对应的第二密钥K2的相关信息,第二密钥K2的管理由云管理服务器和主机完成;而现有技术中,这部分认证通常是由云管理服务器中的一个“认证/登录”模块完成的,用户证书的颁发与关键的可迁移的第二密钥K2的生成都是在此云管理服务器中进行。相比之下,本发明中这部分身份认证的独立性和安全性更高。
[0204]图4为本发明身份认证方法实施例三的交互流程图,本实施例介绍第二部分用户与VM进行双向身份认证的详细过程。本实施例的场景为用户已经通过云终端与云认证服务器交互,通过云认证服务器的认证之后选择了一个虚拟机,并向该虚拟机发送了登录请求,这时用户和该虚拟机通过云终端与主机的身份认证模块的交互进行双向的身份认证,并在双向认证通过时,启动该虚拟机。由于图4同时描述了主机以及云管理服务器的结构和本发明身份认证方法的交互流程,对于身份认证方法的交互流程,图4中仅体现了各个有交互的步骤中所传输的内容,而对于各个执行主题针对自身的操作没有体现,因此图4中的步骤与本实施例的步骤的文字部分不完全相同,但每个步骤的内容是互相对应的。本实施例的方法可以包括:
[0205]步骤401、云管理服务器将虚拟机镜像下发至主机,并将第二密钥K2迁移至身份认证和密钥管理域VMO。
[0206]其中,身份认证和密钥管理域VMO包括身份认证模块和密钥管理模块。
[0207]步骤402、主机的身份认证模块获得第一密钥Kl和USB Key的公钥。
[0208]具体地,为了完成登录的双向认证,云管理服务器将登录请求定向到VMO中的身份认证模块,身份认证模块与云终端(或云终端中的客户端认证模块)通信,获得USB Key中的第一密钥Kl,并通过所述第一密钥Kl和所述第二密钥K2产生第一组合密钥。
[0209]步骤403、主机的身份认证模块向云终端发送经过第一组合密钥加密的第一随机数NI和经过USB Key的公钥加密的第二密钥K2。
[0210]具体地,VMO中的身份认证模块生成第一随机数NI,用第一组合密钥加密该第一随机数NI,同时用用户USB Key的公钥加密第二密钥K2,发送给用户端。
[0211]步骤404、云终端向身份认证模块发送分别经过第二组合密钥加密第一随机数NI和第二随机数N2。
[0212]具体地,云终端利用USB Key中的私钥解密获得第二密钥K2,并用USBKey中的第一密钥Kl生成第二组合密钥,解密获得第一随机数NI的明文,然后云终端生成第二随机数N2,将N2和NI分别用第二组合密钥加密后,发送给主机的身份认证模块。
[0213]接下来,身份认证模块用所述第一组合密钥解密该信息,获得第一随机数NI和第二随机数N2的明文,比较该解密获得的第一随机数NI是否与之前自身产生的NI相同,如果相同,则VM可以确定云终端对应的用户通过认证,即用户的身份合法;之后,身份认证模块用第一组合密钥解密云终端发送的第二随机数N2。
[0214]步骤405、身份认证模块向云终端发送经过第一组合密钥再次加密的第二随机数N2。
[0215]云终端接收到后,用第二组合密钥解密,获得N2的明文,比较该解密获得的第二随机数N2是否与之前云终端自身产生的N2相同,如果相同,云终端可以确定该VM通过认证,即VM的身份合法。
[0216]步骤406、主机的VMM层解密VM镜像,并启动VM。
[0217]其中,步骤406为可选步骤,若本次启动VM为首次启动,则该VM镜像未经过加密,因此,不需要执行步骤406,若本次启动为非首次启动,则通常VM镜像是经过加密的,VMM采用第一组合密钥解密该VM镜像。
[0218]具体地,VMM可以根据VM镜像分区表中的标志位判断该VM镜像是否需要解密,如果需要解密,则获取VMO的中的第一组合密钥,然后对VM镜像解密,同时启动VM。至此,完成了用户通过云终端登录VM的过程,之后用户可以使用VM的各项功能。
[0219]具体实现时,可以默认设置为:用户关闭VM时,VMM用第一组合密钥对VM镜像加密,下次用户使用VM时需要用第一组合密钥对镜像进行解密,才能登录,这样,通过第一组合密钥对VM镜像加解密,增强了 VM的安全性。
[0220]本实施例,TPM保证了 VM运行平台的安全性;采用由来自于云终端的第一密钥Kl和来自于云管理服务器的与VM对应的第二密钥K2生成的第一组合密钥的形式,实现云终端与VM之间的双向认证,并充分发挥了 USB Key的安全特性优势,认证机制和VM的安全性更高;并且,采用在主机上部署VMO使得双向认证与用户对应的VM弱耦合,便于部署、维护,也从与VM隔离的角度进一步提高了安全性。
[0221]需要说明的是,上述实施例三为用户通过云终端启动VM进行的交互过程,而对于VM锁屏或被注销后重新登录的场景,则只需要执行上述实施例三种的步骤402?405,且在步骤405之后,若云终端确定所述VM通过认证,则向主机发送一个所述VM通过认证的消息,即可重新登录VM。
[0222]图5为本发明云终端实施例一的结构示意图,如图5所示,本实施例的云终端500可以包括:发送模块501、接收模块502和处理模块503,其中,
[0223]发送模块501,可以用于向主机的身份认证模块发送第一密钥K1,所述第一密钥Kl由所述云终端的智能卡产生;
[0224]接收模块502,可以用于接收所述主机的身份认证模块发送的第二密钥K2和经过第一组合密钥加密的第一随机数NI,其中,所述第二密钥K2对应于所要连接的虚拟机,所述第一组合密钥为所述主机的身份认证模块通过获取所述云终端对应的虚拟机的第二密钥K2,并根据所述第二密钥K2和所述第一密钥Kl获得的;
[0225]处理模块503,可以用于根据所述第二密钥K2和自身保存的所述第一密钥Kl获得第二组合密钥,采用所述第二组合密钥解密所述加密的第一随机数NI,并采用所述第二组合密钥对第一随机数NI进行再次加密;
[0226]所述处理模块503,还可以用于产生第二随机数N2并采用所述第二组合密钥加密所述第二随机数N2;
[0227]所述发送模块501,可以还用于向所述主机的身份认证模块发送经过所述第二组合密钥再次加密的所述第一随机数NI和经过所述第二组合密钥加密的所述第二随机数N2,其中,所述第一随机数NI用于使所述主机的身份认证模块根据所述第一组合密钥解密所述再次加密的第一随机数NI,确定解密得到的所述第一随机数NI是否与初始生成的所述第一随机数NI是否一致,若一致,确定所述云终端通过认证;
[0228]所述接收模块502还可以用于,接收所述主机的身份认证模块根据所述第一组合密钥解密所述加密的第二随机数N2,并采用所述第一组合密钥对第二随机数N2进行再次加密的所述第二随机数N2;
[0229]所述处理模块503还可以用于,根据所述第二组合密钥解密所述再次加密的第二随机数N2,确定解密得到的所
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1