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

文档序号:8322226阅读:来源:国知局
端和主机,且需要配合使用才能对第一随机数NI以及第二随机数N2进行解密,因此,进一步提高了本实施例的身份认证方法抗攻击能力和安全性。
[0127]进一步地,在上述实施例的基础上,云平台除了包括主机和云管理服务器之外,还可以包括独立于云管理服务器的云认证服务器,该云认证服务器用于用户证书的颁发和用户与云终端之间的身份认证,该用户与云终端之间的身份认证的过程通常在用户试图启动主机上的VM时云终端与VM进行身份认证之前进行。图2为本发明身份认证方法适用的云计算系统的结构示意图。
[0128]如图2所示,由于云认证服务器与云管理服务器互相独立,因此云认证服务器上不会有与VM对应的第二密钥K2的信息,即云认证服务器的管理员(智能卡USB Key的管理员)无法获得第二密钥K2,从而可以防止云认证服务器的管理员在非授权的情况下登录并使用VM ;并且,由于云管理服务器上不会有与USB Key对应的第一密钥Kl的信息,即云管理服务器的管理员无法获得第一密钥K1,从而可以防止云管理服务器的管理员在非授权的情况下登录并使用VM。
[0129]进一步地,在上述步骤101之前,还可以包括终端与云认证服务器的认证交互过程,具体如下:
[0130]步骤一、所述云终端向云认证服务器发送认证请求;
[0131]步骤二、当认证通过时,云终端接收云认证服务器发送的虚拟机列表,并选择一个虚拟机;
[0132]步骤三、所述云终端向所述云认证服务器发送登录所选择的虚拟机的请求,以使云管理服务器将所述选择的虚拟机的镜像下发到所述主机,并将所述选择的虚拟机对应的第二密钥K2通过安全通道迁移到所述主机中。
[0133]具体地,在步骤二中云终端可以根据用户的指令选择虚拟机。
[0134]具体地,第二密钥K2可以保存在所述主机的身份认证和密钥管理域VMO的密钥管理模块中。
[0135]进一步地,所述步骤一中云终端向云认证服务器发送认证请求,包括:
[0136]所述云终端向所述云认证服务器发送用户口令;和\或,所述云终端提示用户插入智能卡,并将所述智能卡中的签名信息和所述智能卡的公钥数字证书发送给云认证服务器。
[0137]具体地,可以采用如下流程:
[0138]I)用户通过云终端向云认证服务器申请登录,输入用户的口令;
[0139]2)云认证服务器首先验证用户口令,若正确,提示用户插入用户独有的USB Key ;
[0140]3)云认证服务器提示用户输入PIN码,USB Key中的签名程序用用户私钥对用户信息进行签名,并将签名原文和用户的公钥发送给云认证服务器
[0141]其中,用户在使用一个云计算系统的服务之前,需要先在该计算系统中注册,每一个用户都有其用户名和口令,口令是用户能够使用该云环境中的各种服务的密码。
[0142]用户注册后,云认证服务器会给用户颁发证书,该证书存于USB Key中,用来证明用户的身份;而PIN码是USB Key自身的密码,输入该密码,才能使用USB Key中的程序。
[0143]USB Key内部的签名程序对用户信息进行签名,而云认证服务器端验证这个签名,一方面确定被签名的信息确实是属于该用户的,另一方面确定被签名的信息是完整的。USBKey签名的过程为:USB Key用一个哈希函数把用户信息生成报文摘要,然后用该USB Key的私钥对报文摘要进行加密,再将该加密后的报文摘要将作为用户信息的数字签名和原始用户信息一起发送给云认证服务器。云认证服务器验证签名的过程为:首先云认证服务器用与USB Key —样的哈希函数从接收到的原始用户信息计算出报文摘要,接着再用USB Key发送的公钥来对数字签名进行解密,如果这两个摘要相同,那么云认证服务器确定该数字签名是用户的USB Key生成的,并且发来的用户信息是完整、未被篡改的。
[0144]4)云认证服务器验证公钥数字证书的合法性,并用用户发送的公钥验证签名信息。如果验证成功,则完成对用户身份在云认证服务器的认证,返回相应的VM列表给用户,供用户选择,进行登录。
[0145]用户选择一个VM之后,云终端则向所述云认证服务器发送登录所选择的虚拟机的请求。
[0146]进一步地,对于VM启动后用户注销或者用户界面锁屏时,用户需要再次申请登录VM的场景,云终端与VM之间需要再次进行身份认证。该场景下的身份认证方法也可以采用上述实施例一的身份认证方法,这时,主机的身份认证模块还需要先获得云终端向虚拟机发送的登录请求,从而进行身份认证。具体地,根据主机的部署方式的不同,如何获得云终端向虚拟机发送的登录请求可以有以下两种实现方式。
[0147]在第一种方式中,主机上的每个虚拟机中配置了身份认证请求捕获模块,因此,在云终端向主机的身份认证模块发送智能卡中的第一密钥Kl之前,还包括:
[0148]云终端向所述主机上的虚拟机发送登录请求,以使所述虚拟机将所述登录请求转发给所述主机的身份认证模块。具体地,可以是虚拟机中的身份认证请求捕获模块接收到云终端发送的登录请求,并将所述登录请求转发给主机的身份认证模块。
[0149]在第二种方式中,主机的虚拟机管理层(Virtual Machine Management,简称:VMM)中配置身份认证请求捕获模块,用于对网络信息进行分析以捕获登录请求,而不在每个虚拟机中配置了身份认证请求捕获模块,因此,在云终端向主机的身份认证模块发送智能卡中的第一密钥Kl并请求认证之前,还包括:
[0150]云终端向所述主机上的虚拟机发送登录请求,以使所述主机捕获所述登录请求,并将所述登录请求转发给所述主机的身份认证模块。具体地,云终端发送的登录请求中包含用户相关信息和请求服务信息,如连接类型、连接线路、连接方法、数据传输协议等,主机的VMM层中的身份认证请求捕获模块对网络数据进行分析,当发现云终端请求登录该主机上的某个VM时(即捕获到云终端发送的登录请求),将所述登录请求转发给主机的身份认证模块。
[0151]进一步地,上述实施例中,在所述云终端根据所述第二随机数N2的正确性确定所述第二密钥K2对应的虚拟机是否通过认证之后,还包括:
[0152]若所述云终端确定所述主机的身份认证模块通过认证,则所述云终端向所述主机发送所述第二密钥K2对应的虚拟机通过认证的消息,以使所述主机的采用所述第一组合密钥解密所述虚拟机镜像后,启动所述虚拟机。
[0153]具体地,可以由所述主机的VMM层采用所述第一组合密钥解密所述虚拟机镜像后,启动所述虚拟机。
[0154]进一步地,上述实施例中,在所述虚拟机被启动之后,还可以包括:
[0155]所述云终端向所述主机发送关闭所述虚拟机的请求,以使所述主机采用所述第一组合密钥加密所述虚拟机镜像后,关闭所述虚拟机。
[0156]具体地,可以由所述主机的VMM层采用所述第一组合密钥加密所述虚拟机镜像后,关闭所述虚拟机。
[0157]图3为本发明身份认证方法实施例二的流程图,该实施例的执行主体为主机,本实施例的场景为用户已经通过云终端与云认证服务器交互,通过云认证服务器的认证之后选择了一个虚拟机,并向该虚拟机发送了登录请求,这时用户和该虚拟机通过云终端与主机的身份认证模块的交互进行双向的身份认证。如图3所示,本实施例的方法可以包括:
[0158]步骤301、主机的身份认证模块接收云终端发送的第一密钥K1,所述第一密钥Kl由所述云终端的智能卡产生。
[0159]具体地,第一密钥Kl以及下面提到的第二密钥K2均为对称密钥,对称密钥是指加密和解密算法中所采用的密钥相同。
[0160]在具体实现时,步骤301中主机的身份认证模块还可以同时接收云终端发送智能卡的公钥。
[0161]步骤302、所述主机的身份认证模块获取所述云终端对应的虚拟机的第二密钥K2,根据所述第二密钥K2和所述第一密钥Kl获得第一组合密钥,生成第一随机数NI,并采用所述第一组合密钥加密所述第一随机数NI。
[0162]其中,第二密钥K2为云管理服务器的TPM芯片产生的,云管理服务器在创建VM镜像时为该VM分配该第二密钥K2,因此,云管理服务器可以维护一个存储VM与第二密钥K2的映射关系的密钥信息表,当用户在通过云认证服务器的认证后,云管理服务器将用户选择的VM镜像下发到的主机上,并在密钥信息表中查找该VM对应的第二密钥K2,将其通过安全通道迁移到VM所在的主机上,而且,在存储第二密钥K2时,可以用主机上的TPM保护该第二密钥K2,以增加安全性。
[0163]在具体实现时,主机上可以规划一个身份认证和密钥管理域,用于存放各个用户的虚拟机镜像对应的第二密钥K2,该身份认证和密钥管理域可以为一个专用的虚拟机VMO。VMO中包括身份认证模块和密钥管理模块。第二密钥K2也可以保存在密钥管理模块中。
[0164]若在步骤301中云终端还发送了所述智能卡的公钥,则所述主机的身份认证模块发送的第二密钥K2时,可以采用用户的智能卡中的公钥对该第二密钥K2进行加密,云终端在接收到该第二密钥K2的密文后采用智能卡的私钥解密获得该第二密钥K2,以保证K2在传输过程中的安全性。其中公钥是指在非对称密码体制下的一种密钥,非对称密码体制是指采用非对称算法进行加密和解密的密码体制,在非对称密码体制下,加密密钥与解密密钥是不同的,两者互相匹配形成密钥对,其中,一个为公钥,一个为私钥。用公钥对信息加密后,只有使用与之对应的私钥才能对该信息解密;反之,用私钥对信息加密后,也只有使用与之对应的公钥才能对该信息解密。
[0165]步骤303、所述主机的身份认证模块向所述云终端发送经过所述第一组合密钥加密的所述第一随机数NI。
[0166]步骤304、所述主机的身份认证模块接收所述云终端发送的云终端采用第二组合密钥解密后并再次加密的所述第一随机数NI和经过所述第二组合密钥加密的第二随机数N2。
[0167]其中,该第二组合秘钥为所述云终端根据所述第二密钥K2和自身保存的所述第一密钥Kl获得的。
[0168]步骤305、所述主机的身份认证模块根据所述第一组合密钥解密所述再次加密的第一随机数NI,确定解密得到的所述第一随机数NI是否与初始生成的所述第一随机数NI是否一致,若一致,确定所述云终端通过认证。
[0169]步骤306、所述主机的身份认证模块采用所述第一组合密钥解密所述云终端发送的经过加密的所述第二随机数N2,并采用所述第一组合密钥对第二随机数N2进行再次加
LU O
[0170]步骤307、所述主机的身份认证模块向所述云终端发送所述再次加密的所述第二随机数N2,以使所述云终端根据所述第二随机数N2的正确性确定所述第二密钥K2对应的虚拟机是否通过认证。
[0171]具体地,所述云终端根据所述第二组合密钥解密所述再次加密的第二随机数N2,确定解密得到的所述第二随机数N2是否与初始生成的所述第二随机数N2是否一致,若一致,确定所述虚拟机通过认证。
[0172]进一步地,当所述云终端确定所述虚拟机通过认证时,可以向所述主机发送该虚拟机通过认证的消息,从而主机的VMM层可以启动该虚拟机,或者为所述云终端取消锁屏,从而使用户可以通过云终端使用该虚拟机;当所述云终端确定所述虚拟机未通过认证时,则可以返回登录失败的消息,主机可以不执行任何操作。
[0173]本实施例,主机的身份认证模块获取所述云终端对应的虚拟机的第二密钥K2,根据所述第二密钥K2和所述第一密钥Kl获得第一组合密钥,并采用所述第一组合密钥对第一随机数NI进行加密后,判断云终端是否能够将该第一随机数NI正确地解密,从而确定所述云终端是否通过认证;云终端根据所述第二密钥K2和自身保存的所述第一密钥Kl获得第二组合密钥,采用由所述第二组合密钥对第二随机数N2进行加密后,判断主机的身份认证模块是否能够将该第二随机数N2正确地解密,从而确定所述第二密钥K2对应的VM是否通过认证;从而实现了 VM与云终端所代表的用户之间的双认证;并且,由于第一密钥Kl和第二密钥K2分别来自于云终端和主机,且需要配合使用才能对第一随机数NI以及第二随机数N2进行解密,因此,进一步提高了本实施例的身份认证方法抗攻击能力和安全性。
[0174]进一步地,上述实施例中,云平台除了包括主机和云管理服务器之外,还可以包括独立于云管理服务器的云认证服务器,该云认证服务器用于用户证书的颁发和用户与云终端之间的身份认证,该用户与云终端之间的身份认证的过程通常在用户试图启动主机上的VM时云终端与VM进行身份认证之前进行。云计算系统的结构示意图可以参考图2。如图2所示,由于云认证服务器与云管理服务器互相独立,因此云认证服务器上不会有与VM对应的第二密钥K2的信息,即云认证服务器的管理员(智能卡USB Key的管理员)无法获得第二密钥K2,从而可以防止云认证服务器的管理员在非授权的情况下登录并使用VM ;并且,由于云管理服务器上不会有与USB Key对应的第一密钥Kl的信息,即云管理服务器的管理员无法获得第一密钥K1,从而可以防止云管理服务器的管理员在非授权的情况下登录并使用VM。
[0175]在一个实施例中,在上述的步骤301之前,还可以包括终端与云认证服务器的认证交互过程,具体如下:
[0176]所述主机接收云管理服务器在完成对所述云终端的认证之后根据所述云终端选择的虚拟机下发的虚拟机镜像,并接收,通过安全通道迁移的所述选择的虚拟机对应的第二密钥K2
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1