双因素认证方法及虚拟机设备与流程

文档序号:13151409阅读:397来源:国知局
双因素认证方法及虚拟机设备与流程
本发明涉及通信技术,尤其涉及一种双因素认证方法及虚拟机设备。

背景技术:
一般情况下,用户通常使用的网络登录方法为:用户名称+密码。用户使用的密码通常为固定不变的静态密码,很容易泄露或者被破解,这使得用户名称+密码的登录方式存在很大的安全隐患。于是出现一种更加安全的身份认证方法,即双因素认证技术。双因素是密码学的一个概念,从理论上来说,身份认证有三个要素:(1)所知道的内容,即,需要使用者记忆的身份认证内容,例如密码和身份证号码等;(2)所拥有的物品,即,使用者拥有的特殊认证加强机制,例如动态密码卡,集成电路卡(IntegratedCircuitCard,简称为IC卡)或磁卡等;(3)所具备的特征,即,使用者本身拥有的惟一特征,例如指纹、瞳孔、声音等。把以上任意两种要素结合起来的身份认证的方法就是“双因素认证”。由于需要用户身份的双重认证,因此,双因素认证技术可以抵御非法访问者,提高认证的可靠性。随着云计算的发展,出现了一种新的计算应用模式:虚拟桌面(VirtualDesktopInfrastructue,简称为VDI),即用户的虚拟机(VirtualMachine,简称为VM)是在云端,本地只有瘦终端和显示器、键盘、鼠标等显示和输入/输出设备。在云计算中,虚拟机资源的所有权和控制权分离。用户有所有权,但虚拟机在云端,用户没有对物理资源的控制权,因此,对虚拟机的安全性要求更高。因此,要求云计算中的虚拟机支持双因素认证技术,以提高系统的安全。但是,目前无法在桌面云的解决方案中实现双因素认证。

技术实现要素:
本发明实施例提供一种双因素认证方法及虚拟机设备,用以在虚拟机中实现双因素认证。第一方面提供一种双因素认证方法,包括:如果客户端首次登录虚拟机的操作系统,指示所述客户端以第一登录方式登录所述虚拟机的操作系统;在所述客户端以所述第一登录方式成功登录所述虚拟机的操作系统后,将所述虚拟机的操作系统锁定,然后指示所述客户端以第二登录方式登录所述虚拟机的操作系统。在第一方面的第一种可能的实现方式中,如果客户端首次登录虚拟机的操作系统,指示所述客户端以第一登录方式登录所述虚拟机的操作系统之前包括:根据用于标识所述虚拟机与所述客户端之间是否建立连接的远程桌面连接建立状态标识判断所述客户端是否首次登录所述虚拟机的操作系统。结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述指示所述客户端以第二登录方式登录所述虚拟机的操作系统之前包括:在所述客户端以所述第一登录方式成功登录所述虚拟机的操作系统后,设置所述远程桌面连接建立状态标识用以标识所述客户端与所述虚拟机之间建立连接,并标识当前使用的登录方式是所述第一登录方式。结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述双因素认证方法还包括:如果所述客户端非首次登录所述虚拟机的操作系统,指示所述客户端以所述第二登录方式登录所述虚拟机的操作系统。结合第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述双因素认证方法还包括:在所述客户端以所述第二登录方式成功登录所述虚拟机的操作系统后,标识当前使用的登录方式是所述第二登录方式,允许所述客户端使用所述虚拟机的操作系统。结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述指示所述客户端以第一登录方式登录虚拟机的操作系统包括:通过远程桌面协议向所述客户端发送第一登录提示信息,所述第一登录提示信息用于指示所述客户端返回所述第一登录方式所需的第一认证信息;接收所述客户端返回的所述第一认证信息,并根据所述第一认证信息对所述客户端进行身份验证;若通过身份验证,允许所述客户端登录所述虚拟机的操作系统;若未通过身份验证,拒绝所述客户端登录所述虚拟机的操作系统。结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式,在第一方面的第六种可能的实现方式中,所述指示所述客户端以第二登录方式登录所述虚拟机的操作系统包括:通过远程桌面协议向所述客户端发送第二登录提示信息,所述第二登录提示信息用于指示所述客户端返回所述第二登录方式所需的第二认证信息;接收所述客户端返回的所述第二认证信息,并根据所述第二认证信息对所述客户端进行身份验证;若通过身份验证,允许所述客户端登录所述虚拟机的操作系统;若未通过身份验证,拒绝所述客户端登录所述虚拟机的操作系统。结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式或第一方面的第五种可能的实现方式或第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,所述第一登录方式包括用户名与密码登录方式;所述第二登录方式包括指纹登录方式。第二方面提供一种虚拟机设备,包括:第一指示模块,用于如果客户端首次登录虚拟机设备的操作系统,指示所述客户端以第一登录方式登录所述虚拟机设备的操作系统;第二指示模块,用于在所述客户端以所述第一登录方式成功登录所述虚拟机设备的操作系统后,将所述虚拟机设备的操作系统锁定,然后指示所述客户端以第二登录方式登录所述虚拟机设备的操作系统。在第二方面的第一种可能的实现方式中,所述虚拟机设备还包括:判断模块,用于在所述第一指示模块指示所述客户端以第一登录方式登录所述虚拟机设备的操作系统之前,根据用于标识所述虚拟机与所述客户端之间是否建立连接的远程桌面连接建立状态标识判断所述客户端是否首次登录所述虚拟机设备的操作系统。结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第二指示模块还用于在指示所述客户端以第二登录方式登录所述虚拟机设备的操作系统之前,在所述客户端以所述第一登录方式成功登录所述虚拟机的操作系统后,设置所述远程桌面连接建立状态标识用以标识所述客户端与所述虚拟机之间建立连接,并标识当前使用的登录方式是所述第一登录方式。结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述虚拟机设备还包括:第三指示模块,用于如果所述客户端非首次登录所述虚拟机设备的操作系统,指示所述客户端以所述第二登录方式登录所述虚拟机设备的操作系统。结合第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第二指示模块还用于在所述客户端以所述第二登录方式成功登录所述虚拟机设备的操作系统后,标识当前使用的登录方式是所述第二登录方式,允许所述客户端使用所述虚拟机设备的操作系统。结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式或第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述第一指示模块包括:第一发送单元,用于通过远程桌面协议向所述客户端发送第一登录提示信息,所述第一登录提示信息用于指示所述客户端返回所述第一登录方式所需的第一认证信息;第一接收单元,用于接收所述客户端返回的所述第一认证信息;第一验证单元,用于根据所述第一认证信息对所述客户端进行身份验证,若通过身份验证,允许所述客户端登录所述虚拟机设备的操作系统,若未通过身份验证,拒绝所述客户端登录所述虚拟机设备的操作系统。结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式或第二方面的第四种可能的实现方式,在第二方面的第六种可能的实现方式中,所述第二指示模块包括:第二发送单元,用于通过远程桌面协议向所述客户端发送第二登录提示信息,所述第二登录提示信息用于指示所述客户端返回所述第二登录方式所需的第二认证信息;第二接收单元,用于接收所述客户端返回的所述第二认证信息;第二验证单元,用于根据所述第二认证信息对所述客户端进行身份验证,若通过身份验证,允许所述客户端登录所述虚拟机设备的操作系统,若未通过身份验证,拒绝所述客户端登录所述虚拟机设备的操作系统。结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式或第二方面的第四种可能的实现方式或第二方面的第五种可能的实现方式或第二方面的第六种可能的实现方式,在第二方面的第七种可能的实现方式中,所述第一登录方式包括用户名与密码登录方式;所述第二登录方式包括指纹登录方式。本发明实施例提供的双因素认证方法及虚拟机设备,虚拟机在客户端首次登录虚拟机的操作系统时,指示客户端以第一登录方式登录该操作系统,当客户端以第一登录方式成功登录该操作系统后,将操作系统进行锁定,然后指示客户端以第二登录方式登录该操作系统,实现对客户端身份的双重认证,在虚拟机中实现了双因素认证,有利于提高虚拟机的安全性。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例。图1为本发明一实施例提供的桌面云解决方案的组网示意图;图2为本发明一实施例提供的双因素认证方法的流程图;图3为本发明另一实施例提供的双因素认证方法的流程图;图4为本发明一实施例提供的虚拟机设备的结构示意图;图5为本发明另一实施例提供的虚拟机设备的结构示意图;图6为本发明又一实施例提供的虚拟机设备的结构示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。图1为本发明一实施例提供的桌面云解决方案的组网示意图。如图1所示,该桌面云系统包括:客户端11、虚拟机12和输入/输出设备13。其中,客户端11作为瘦终端布置在用户本地,输入/输出设备13也布置在用户本地,输入/输出设备13可以包括键盘、鼠标和显示器等。虚拟机12布置在云端。虚拟机12和客户端11通过远程桌面协议进行通信。所使用的远程桌面协议可以是独立计算架构(IndependentComputingArchitecture,简称为ICA)或远端桌面协议(RemoteDesktopProtocol,简称为RDP)等。在该桌面云系统中,用户拥有虚拟机12的物理资源的所有权,但由于虚拟机12位于云端,所以没有对虚拟机12的物理资源的控制权。因此,对虚拟机12的安全性更加担忧,例如担扰系统管理员或其他用户会不会使用自己的虚拟机12,窃取自己在虚拟机12上的信息等。基于此,本发明以下实施例提供了一种双因素认证方法,适用于云计算中的虚拟机,用以提高虚拟机的安全性,特别是对一些高安全要求的应用场景,例如政府部门,只有通过双因素认证后虚拟机才能启动。图2为本发明一实施例提供的双因素认证方法的流程图。如图2所示,本实施例的方法包括:步骤201、如果客户端首次登录虚拟机的操作系统,指示客户端以第一登录方式登录虚拟机的操作系统。步骤202、在客户端以第一登录方式成功登录虚拟机的操作系统后,将虚拟机的操作系统锁定,然后指示客户端以第二登录方式登录虚拟机的操作系统。在本实施例中,客户端首次登录虚拟机的操作系统是指客户端在退出虚拟机的操作系统的情况下,登录虚拟机的操作系统的过程,例如,客户端首次登录虚拟机的操作系统的情况可能是客户端每次启动后或者在虚拟机每次启动后,第一次登录虚拟机的操作系统。相应地,客户端非首次登录虚拟机的操作系统是指客户端登录虚拟机的操作系统之后,可能由于客户端主动执行锁定功能锁定操作系统,或由于操作系统长时间没被使用,因系统超时保护而进入锁定状态等,客户端重新登录虚拟机的操作系统的过程。本实施例的执行主体是云端的虚拟机。在实际过程中,当客户端请求登录虚拟机的操作系统时,虚拟机可以先判断客户端是否是首次登录虚拟机的操作系统,如果判断出客户端是首次登录操作系统,则指示客户端以第一登录方式登录虚拟机的操作系统。相应地,客户端根据虚拟机的指示,以第一登录方式登录操作系统。在以第一登录方式登录过程中,虚拟机会对客户端进行第一重身份验证,若客户端通过该身份验证,则虚拟机允许客户端登录虚拟机的操作系统,即客户端成功登录虚拟机的操作系统;若客户端未通过该身份验证,虚拟机就拒绝客户端登录虚拟机的操作系统,即客户端无法成功登录虚拟机的操作系统。当客户端成功登录虚拟机的操作系统后,为了提高虚拟机的安全性,本实施例的虚拟机将虚拟机的操作系统进行锁定,然后指示客户端以第二登录方式再次登录虚拟机的操作系统。相应地,客户端根据虚拟机的指示继续以第二登录方式登录虚拟机的操作系统。在以第二登录方式登录过程中,虚拟机会对客户端进行第二重身份验证,若客户端通过该身份验证,则虚拟机允许客户端登录虚拟机的操作系统,即客户端成功登录虚拟机的操作系统;若客户端未通过该身份验证,虚拟机就拒绝客户端登录虚拟机的操作系统,即客户端无法成功登录虚拟机的操作系统。在客户端以第二登录方式成功登录虚拟机的操作系统后,说明该客户端是合法的,因此不再对虚拟机的操作系统进行锁定,即允许客户端使用虚拟机的操作系统。由此可见,在本实施例提供的双因素认证方法中,虚拟机在客户端首次登录虚拟机的操作系统时,指示客户端以第一登录方式登录该操作系统,当客户端以第一登录方式成功登录该操作系统后,将操作系统进行锁定,然后指示客户端以第二登录方式登录该操作系统,实现对客户端身份的双重认证,在虚拟机中实现了双因素认证,提高了虚拟机的安全性。在一可选实施方式中,提供一种虚拟机判断客户端是否是首次登录虚拟机的操作系统的方法。该方法包括:虚拟机根据远程桌面连接建立状态标识,判断客户端是否首次登录虚拟机的操作系统。具体过程如下:虚拟机中增加远程桌面连接建立状态标识,该远程桌面连接建立状态标识主要用于标识虚拟机与客户端之间是否已经通过远程桌面协议建立起连接。例如,当远程桌面连接建立状态标识为第一取值时,标识虚拟机与客户端之间尚未建立起连接,当远程桌面连接建立状态标识为第二取值时,标识虚拟机与客户端之间已经建立起连接。在此说明,这里的第一取值和第二取值仅仅用来说明取值不同,并不限定具体数值。例如,第一取值可以为0,第二取值可以为1。通常,在客户端首次请求登录虚拟机的操作系统时,虚拟机与客户端之间尚未通过远程桌面协议建立连接,只有客户端成功登录虚拟机的操作系统后,虚拟机和客户端之间才会建立起连接。而对于客户端在非首次请求登录虚拟机的操作系统时,虚拟机与客户端之间已经通过远程桌面协议建立起了连接。基于此,在本实施例中,虚拟机使用远程桌面连接建立状态标识来标识客户端是否是首次登录虚拟机的操作系统。例如,如果远程桌面连接建立状态标识为第一取值,则说明虚拟机与客户端之间尚未建立连接,故虚拟机可以确定客户端是首次登录虚拟机的操作系统;如果远程桌面连接建立状态标识为第二取值,则说明虚拟机与客户端之间已经建立起连接,故虚拟机可以确定客户端是非首次登录虚拟机的操作系统。可选的,基于通过远程桌面连接建立状态标识判断客户端是否是首次登录虚拟机的操作系统的方法,在客户端以第一登录方式成功登录虚拟机的操作系统后,在指示客户端以第二登录方式登录虚拟机的操作系统之前,虚拟机可以设置远程桌面连接建立状态标识用以标识客户端与虚拟机建立连接,例如可以将远程桌面连接建立状态标识置为第二取值,同时标识客户端再次登录虚拟机的操作系统时已经不是首次登录虚拟机的操作系统,并且虚拟机还可以标识当前使用的登录方式是第一登录方式。可选的,虚拟机中可以增加一个用户登录认证方式类型标识,例如可以用Login_Type来表示。当用户登录方式类型标识Login_Type为第三取值时,表示当前使用的登录方式为第一登录方式;当用户登录方式类型标识Login_Type为第四取值时,表示当前使用的登录方式为第二登录方式。在此说明,第三取值和第四取值仅仅用来说明取值不同,具体数值不做限定。例如,第三取值可以是0,第四取值可以是1。另外,这里的第三取值和第四取值,与之前的第一取值和第二取值没有必然联系。可选的,如果虚拟机重启或者虚拟机与客户端之间的连接中断,虚拟机需要将远程桌面连接建立状态标识置为第一取值。可选的,如果虚拟机重启或者虚拟机与客户端之间的连接中断,虚拟机也需要将用户登录方式类型标识Login_Type的取值清除,例如可以设置其取值为空或者设置为不同于第三取值和第四取值的其他取值,以便于后续继续使用。本实施方式通过远程桌面连接建立状态标识来判断客户端是否是首次登录虚拟机的操作系统,具有判断简单易于实现的优势。在一可选实施方式中,如果判断出客户端是非首次登录虚拟机的操作系统,说明客户端已经通过了双重身份的认证,即之前已经成功以第一登录方式和第二登录方式登录到虚拟机的操作系统,故虚拟机可以直接指示客户端以第二登录方式登录虚拟机的操作系统,而不用再次以两种登录方式进行登录,有利于提高客户端在非首次登录虚拟机的操作系统时的登录效率。但是,对于客户端非首次登录虚拟机的操作系统的情况,并不限于虚拟机直接指示客户端以第二登录方式登录操作系统这种方法。例如,如果判断出客户端是非首次登录虚拟机的操作系统,则虚拟机还可以指示客户端以第一登录方式登录虚拟机的操作系统,这样也可以提高客户端在非首次登录虚拟机的操作系统时的登录效率。基于上述各实施方式,当客户端以第二登录方式成功登录虚拟机的操作系统后,虚拟机还可以标识当前使用的登录方式为第二登录方式,允许客户端使用虚拟机的操作系统。可选的,在虚拟机使用用户登录认证方式类型标识Login_Type来标识当前使用的登录方式中,虚拟机可以设置用户登录认证方式类型标识Login_Type为第四取值,用于标识当前使用的是第二登录方式。结合上述各实施方式,本实施例给出一种虚拟机指示客户端以第一登录方式登录虚拟机的操作系统的实施方式,该实施方式包括:虚拟机通过远程桌面协议向客户端发送第一登录提示信息,该第一登录提示信息用于指示客户端返回第一登录方式所需的第一认证信息。其中,虚拟机和客户端都运行有远程桌面协议。在虚拟机向客户端发送第一登录提示信息之前,客户端可以通过远程桌面协议向虚拟机发送登录请求,虚拟机接收到客户端的登录请求之后,判断客户端是否是首次请求登录虚拟机的操作系统,在判断出客户端是首次登录虚拟机的操作系统后,向客户端发送第一登录提示信息。可选的,第一登录提示信息在客户端一侧可以通过用户界面显示。如果第一认证信息是用户名和密码,则用户界面上可以显示用户名和密码以及对应的输入框。客户端根据第一登录提示信息,向虚拟机返回第一认证信息,第一认证信息通过客户端与虚拟机之间的远程桌面协议被传输到虚拟机一侧。接着,虚拟机接收客户端返回的第一认证信息,并根据第一认证信息对客户端进行身份验证。这里的身份验证相当于第一重身份验证。若客户端通过该身份验证,说明客户端身份合法,允许客户端登录虚拟机的操作系统,这也相当于虚拟机与客户端通过远程桌面协议建立起了连接;若客户端未通过该身份验证,说明客户端身份不合法,则拒绝客户端登录虚拟机的操作系统。相应地,虚拟机指示客户端以第二登录方式登录虚拟机的操作系统的可选实施方式包括:虚拟机通过远程桌面协议向客户端发送第二登录提示信息,该第二登录提示信息用于指示客户端返回第二登录方式所需的第二认证信息。可选的,第二登录提示信息在客户端一侧可以通过用户界面显示。如果第二认证信息是指纹信息,则用户界面上可以显示提示客户端通过指纹仪输入指纹的字样。客户端根据第二登录提示信息,向虚拟机返回第二认证信息,第二认证信息通过客户端与虚拟机之间的远程桌面协议被传输到虚拟机一侧。在第二登录方式为指纹登录方式,第二认证信息为指纹信息的场景下,指纹仪软件安装在桌面云的虚拟机上,但读取指纹信息的物理设备,即指纹仪连接在客户端上,指纹仪可以通过通用串行总线(UniversalSerialBUS,简称为USB)口连接到客户端上。基于此,要输入指纹信息在虚拟机中进行指纹认证的前提是客户端与虚拟机通过远程桌面协议已经建立起连接,能够把客户端上连接指纹仪的物理端口映射到虚拟机中,这样客户端才可以把指纹仪读取到的指纹信息传送到虚拟机中。由于本实施例的虚拟机在指示客户端通过第二登录方式登录虚拟机的操作系统之前,已经通过指示客户端以第一登录方式登录虚拟机的操作系统建立起客户端与虚拟机之间的连接,所以客户端能够把指纹仪读取到的指纹信息成功传送到虚拟机中,实现虚拟机对客户端的指纹认证,进而实现了虚拟机对客户端的双重身份验证,在虚拟机中实现了双因素认证。在上述各实施方式中,第一登录方式可以是普通的用户名与密码登录方式,而第二登录方式可以是指纹登录方式,但不限于此。本实施例的第一登录方式和第二登录方式可以有多种组合,例如,第一登录方式除了可以是用户名与密码登录方式之外,还可以是动态密码卡登录方式或IC卡登录方式等;第二登录方式除了可以是指纹登录方式之外,还可以是使用声音的登录方式或使用瞳孔的登录方式等。以第一登录方式为用户名与密码登录方式,第二登录方式为指纹登录方式为例,详细说明虚拟机对客户端进行双重身份验证的过程。具体的,在该双重身份验证过程中,客户端输入用户名和密码认证通过后,还需要进行指纹验证。首先,虚拟机要求客户端输入用户名和密码,虚拟机上预先存储有客户端对应的用户名和密码,通过将客户端输入的用户名和密码与预先存储的用户名和密码进行比对,如果比对结果为一致,则通过验证,反之未通过验证;当客户端通过用户名和密码的验证后,虚拟机要求客户端再输入指纹信息进行指纹验证。其中,客户端上安装有指纹仪,而虚拟机上安装有相应的指纹仪软件。在指纹仪的软硬件安装成功后,需要进行指纹信息的初始设置,即输入需要认证的指纹信息。通常设置指纹信息的方法是:虚拟机的操作系统提示输入待认证的指纹信息,用户只需要根据提示在指纹仪上按一下某个手指,指纹仪识别成功后会有提示信息,并重复采样3-5次,将多次采样得到的最终结果存储在虚拟机上作为标准指纹信息。基于此,虚拟机收到客户端输入的指纹信息后,可以将用户输入的指纹信息与之前设置的标准指纹信息进行比对,如果比对结果为一致,则验证通过;反之,验证未通过。下面进一步以第一登录方式为用户名与密码登录方式,第二登录方式为指纹登录方式为例,详细说明本发明实施例提供的双因素认证方法的一种优选实施过程。该实施过程具体包括:当客户端首次登录虚拟机的操作系统时,虚拟机检查远程桌面连接建立状态标识VDI_Connection_Status_Flag,如果远程桌面连接建立状态标识VDI_Connection_Status_Flag为0,则选择用户名与密码的登录方式(UserNamePasswordLoginIn)。当客户端通过用户名与密码成功登录虚拟机的操作系统后,虚拟机把远程桌面连接建立状态标识VDI_Connection_Status_Flag置为1,用于表示虚拟机与客户端之间已经建立起连接,并把用户登录认证方式类型标识Login_Type置为0,表示当前采用的登录方式为UserNamePasswordLoginIn。虚拟机可以根据用户登录认证方式类型标识Login_Type判断出客户端是以UserNamePasswordLoginIn方式登录的,则立即锁定虚拟机的操作系统,然后提示客户端以指纹登录方式(FingerPrintLoginIn)再次登录虚拟机的操作系统。客户端刷指纹仪,输入指纹信息。当客户端通过指纹登录方式成功登录虚拟机的操作系统后,虚拟机把用户登录认证方式类型标识Login_Type置为1,表示当前采用的登录方式为FingerPrintLoginIn。虚拟机可以根据用户登录认证方式类型标识Login_Type判断出客户端是以FingerPrintLoginIn方式登录的,不对虚拟机的操作系统进行锁定处理,允许客户端使用虚拟机的操作系统。如果虚拟机进入运行状态后,由于客户端主动执行锁定功能将操作系统锁定,或操作系统长时间没被使用,因系统超时保护进入锁定状态,虚拟机检查远程桌面连接建立状态标识VDI_Connection_Status_Flag为1,说明虚拟机与客户端之间已经建立起连接,故直接提示客户端以指纹登录方式进行登录。客户端刷指纹仪,输入指纹信息,以重新登录虚拟机的操作系统。如果虚拟机进入运行状态后,用户到另外一个客户端上登录虚拟机的操作系统,虚拟机认为该登录过程对另一个客户端来说是首次登录虚拟机的操作系统,则采用对前一个客户端登录操作系统的处理方式进行处理。在一个具体应用场景中(以远程桌面协议为Citrix的ICA协议,操作系统以WINDOWSXP为例),虚拟机通过以下文件实现双因素认证:msgina.dll文件是WIndows登陆认证策略相关模块,该模块用于完成所有用户登陆和验证功能;图形化识别和验证(GraphicalIdentificationandAuthentication,简称为GINA)模块,它是几个动态数据库文件,被winlogon.exe所调用,为其提供能够对用户身份进行识别和验证的函数,并将用户的帐号和密码反馈给winlogon.exe。其中,在登录过程中,客户端上显示的“欢迎屏幕”和“登录对话框”都是由GINA模块显示的。在安装了指纹仪软件后,WindowsXP系统中会有3个gina.dll文件。一个是Windowsmsgina.dll,一个是Citrix桌面系统的picagina.dll,另一个是指纹仪的zwgina.dll。其中,指纹仪的gina.dll文件会因厂家的不同而不同,并且文件的名称也可能会不一样。其中,上述虚拟机在对客户端进行双因素认证方法过程中的相应操作可以由上述模块结合相应地文件来实现。综上可见,在本实施例中,虚拟机在客户端首次登录虚拟机的操作系统时,指示客户端以用户名与密码的登录方式登录该操作系统,当客户端以用户名与密码的登录方式成功登录该操作系统后,将操作系统进行锁定,然后指示客户端以指纹登录方式登录该操作系统,实现对客户端身份的双重认证,在虚拟机中实现了双因素认证,提高了虚拟机的安全性。图3为本发明另一实施例提供的双因素认证方法的流程图。如图3所示,本实施例的方法包括:步骤301、客户端根据虚拟机的指示,以第一登录方式登录虚拟机的操作系统。步骤302、当客户端以第一登录方式成功登录虚拟机的操作系统后,客户端根据虚拟机的指示,以第二登录方式登录虚拟机的操作系统。可选的,步骤301的一种实施方式包括:客户端首先向虚拟机发送登录请求。虚拟机接收到客户端发送的登录请求之后,向客户端发送第一登录提示信息。客户端接收虚拟机通过远程桌面协议发送的第一登录提示信息,该第一登陆提示信息用于指示客户端返回第一登录方式所需的第一认证信息。客户端向虚拟机返回第一认证信息,以供虚拟机根据第一认证信息对客户端进行身份验证。其中,当客户端通过该身份验证后,虚拟机允许客户端登录虚拟机的操作系统,即客户端成功登录到虚拟机的操作系统。可选的,步骤302的一种可选实施方式包括:客户端接收虚拟机通过远程桌面协议发送的第二登录提示信息,该第二登录提示信息用于指示客户端返回第二登录方式所需的第二认证信息。其中,客户端以第一登录方式成功登录到虚拟机的操作系统后,虚拟机会将其操作系统锁定,然后向客户端发送第二登录提示信息,以指示客户端以第二登录方式登录虚拟机的操作系统。客户端向虚拟机返回第二认证信息,以供虚拟机根据第二认证信息对客户端进行身份验证。虚拟机根据第二认证信息对客户端进行身份验证,若客户端通过该身份验证,则虚拟机允许客户端登录虚拟机的操作系统并允许客户端使用虚拟机的操作系统,即成功登录虚拟机的系统。在一可选实施方式中,第一登录方式可以是用户名与密码登录方式;第二登录方式可以是指纹登录方式,但不限于此。本实施例是从客户端的角度进行的描述,关于双因素认证过程的详细流程可参见上述实施例的描述,在此不再赘述。在本实施例中,客户端与虚拟机相配合,在虚拟机上实现了双因素认证,提高了虚拟机的安全性。图4为本发明一实施例提供的虚拟机设备的结构示意图。如图4所示,本实施例的虚拟机设备包括:第一指示模块41和第二指示模块42。第一指示模块41,用于如果客户端首次登录本实施例虚拟机设备的操作系统,指示客户端以第一登录方式登录本实施例虚拟机设备的操作系统。第二指示模块42,与第一指示模块41连接,用于在客户端在第一指示模块41的指示下以第一登录方式成功登录本实施例虚拟机设备的操作系统后,将本实施例虚拟机设备的操作系统锁定,然后指示所述客户端以第二登录方式登录本实施例虚拟机设备的操作系统。在一可选实施方式中,如图5所示,本实施例的虚拟机设备还包括:判断模块43。判断模块43,用于在第一指示模块41指示客户端以第一登录方式登录本实施例虚拟机设备的操作系统之前,根据用于标识虚拟机设备与所述客户端是否建立连接的远程桌面连接建立状态标识判断客户端是否首次登录本实施例虚拟机设备的操作系统。其中,判断模块43与第一指示模块41连接,用于向第一指示模块41提供客户端是否是首次登陆本实施例虚拟机设备的操作系统的信息。进一步,第二指示模块42还可用于在指示客户端以第二登录方式登录本实施例虚拟机设备的操作系统之前,在所述客户端以所述第一登录方式成功登录所述虚拟机的操作系统后,设置远程桌面连接建立状态标识用以标识客户端与虚拟机设备建立连接,并标识当前使用的登录方式是第一登录方式。如图5所示,本实施例的虚拟机设备还可以包括:第三指示模块44。第三指示模块44,用于如果客户端非首次登录本实施例虚拟机设备的操作系统,指示客户端以第二登录方式登录本实施例虚拟机设备的操作系统。其中,第三指示模块44与判断模块43连接,用于从判断模块43获取客户端是否是首次登陆本实施例虚拟机设备的操作系统的信息。进一步,第二指示模块42还可用于在客户端以第二登录方式成功登录本实施例虚拟机设备的操作系统后,标识当前使用的登录方式是第二登录方式,允许客户端使用本实施例虚拟机设备的操作系统。在一可选实施方式中,第一指示模块41的一种可选实现结构包括:第一发送单元411、第一接收单元412和第一验证单元413。第一发送单元411,用于通过远程桌面协议向客户端发送第一登录提示信息,该第一登录提示信息用于指示客户端返回第一登录方式所需的第一认证信息。第一接收单元412,用于接收客户端返回的第一认证信息。可选的,第一接收单元412与第一发送单元411连接,用于在第一发送单元411发送第一登录提示信息后,接收客户端输入的第一认证信息。第一验证单元413,与第一接收单元412连接,用于根据第一接收单元412接收到的第一认证信息对客户端进行身份验证,若通过身份验证,允许客户端登录本实施例虚拟机设备的操作系统,若未通过身份验证,拒绝客户端登录本实施例虚拟机设备的操作系统。在一可选实施方式中,第二指示模块42的一种可选实现结构包括:第二发送单元421、第二接收单元422和第二验证单元423。第二发送单元421,用于通过远程桌面协议向客户端发送第二登录提示信息,该第二登录提示信息用于指示客户端返回第二登录方式所需的第二认证信息。第二接收单元422,用于接收客户端返回的第二认证信息。可选的,第二接收单元422与第二发送单元421连接,用于在第二发送单元421发送第二登录提示信息后,接收客户端输入的第二认证信息。第二验证单元423,与第二接收单元422连接,用于根据第二接收单元422接收到的第二认证信息对客户端进行身份验证,若通过身份验证,允许客户端登录本实施例虚拟机设备的操作系统,若未通过身份验证,拒绝客户端登录本实施例虚拟机设备的操作系统。在一可选实施方式中,第一登录方式可以为用户名与密码登录方式;第二登录方式可以为指纹登录方式,但不限于此。本实施例提供的虚拟机设备的各功能模块或单元,可用于执行图2所示实施例提供的双因素认证方法的流程,其具体工作原理不再赘述,详见方法实施例的描述。本实施例提供的虚拟机设备,在客户端首次登录虚拟机设备的操作系统时,指示客户端以第一登录方式登录该操作系统,当客户端以第一登录方式成功登录该操作系统后,将操作系统进行锁定,然后指示客户端以第二登录方式登录该操作系统,实现对客户端身份的双重认证,在虚拟机设备中实现了双因素认证,提高了虚拟机设备的安全性。图6为本发明又一实施例提供的虚拟机设备的结构示意图。如图6所示,本实施例的虚拟机设备包括:至少一个处理器61,以及存储器62和通信接口63。处理器61、存储器62以及通信接口63可以通过总线连接。所述总线可以是工业标准体系结构(IndustryStandardArchitecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(ExtendedIndustryStandardArchitecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:存储器62用于存储可执行程序代码;处理器61通过读取存储器62中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:如果客户端首次登录虚拟机设备的操作系统,指示所述客户端以第一登录方式登录所述虚拟机设备的操作系统;在所述客户端以所述第一登录方式成功登录所述虚拟机设备的操作系统后,将所述虚拟机设备的操作系统锁定,然后指示所述客户端以第二登录方式登录所述虚拟机设备的操作系统。存储器62除了存储处理器61需要执行的程序代码之外,还可用于存储处理器61在执行程序代码实现双因素认证过程中的一些数据或标识信息等。通信接口63用于实现虚拟机设备与客户端之间的通信。例如,处理器61具体可以通过通信接口63向客户端发送指示信息,以指示客户端以第一登录方式或第二登录方式登录虚拟机设备的操作系统。在一可选实施方式中,第一登录方式可以为用户名与密码登录方式;第二登录方式可以为指纹登录方式,但不限于此。本实施例提供的虚拟机设备可用于执行图2所示双因素认证方法的流程,其具体工作原理不再赘述,详见方法实施例的描述。本实施例提供的虚拟机设备,在客户端首次登录虚拟机设备的操作系统时,指示客户端以第一登录方式登录该操作系统,当客户端以第一登录方式成功登录该操作系统后,将操作系统进行锁定,然后指示客户端以第二登录方式登录该操作系统,实现对客户端身份的双重认证,在虚拟机设备中实现了双因素认证,提高了虚拟机设备的安全性。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1