基于证书的到云虚拟机的连接的利记博彩app

文档序号:7792808阅读:262来源:国知局
基于证书的到云虚拟机的连接的利记博彩app
【专利摘要】在包括执行虚拟机的主机计算系统以及将主机通信地耦合到被分配给虚拟机中的特定一个的客户端计算系统的安全云计算通道的环境中,该特定的虚拟机生成证书,将证书安装在其自身上并将证书表示返回到客户端。这可在虚拟机被提供时发生。在从客户端到虚拟机的后续连接请求期间,虚拟机向客户端返回证书。客户端将在提供期间返回的证书表示与在后续连接期间返回的证书进行比较,并且如果存在匹配,则虚拟机被认证给客户端。由此,在这种情况下,虚拟机在客户端不必生成、安装和管理证书的安全性的情况下来认证。
【专利说明】基于证书的到云虚拟机的连接
[0001]背景
[0002]对计算系统的虚拟化已经使得能够实现对计算系统的灵活且方便的设置和维护。计算系统通过使得虚拟机位于该虚拟机服务的客户端计算系统远程地操作来被虚拟化。虚拟机模拟完全可操作的计算系统的逻辑,包括操作系统、其各个应用以及对应的设置,并且该虚拟机通过位于远程的客户端计算系统与用户进行接口。例如,虚拟机接收来自远程客户端的客户端输入,并将所得到的桌面图像信息提供回客户端。客户端不操作对应的操作系统,而是仅仅接收用户输入,将这样的用户输入中继到虚拟机,并使用由虚拟机提供的所得到的桌面图像来呈现桌面。
[0003]虚拟机最近被实现在云计算环境中。“云计算”是用于允许对可配置计算资源(例如,网络、服务器、存储、应用和服务)的共享池的普遍、方便、按需网络访问的模型。可配置计算资源的共享池可经由虚拟化而被快速地供应,并可利用低管理努力或服务提供商交互来释放,并随后相应被缩放。云计算模型可由各种特性(如按需自服务、广泛网络访问、资源池、快速灵活性、测量的服务等)、服务模型(如软件即服务(“SaaS”)、平台即服务(“PaaS”)、基础结构即服务(“IaaS”))以及部署模型(如私有云、社区云、公共云、混合云等)组成。
[0004]简要概述
[0005]在此描述的至少一个实施例涉及一种系统,其中主机计算系统执行虚拟机,以及云计算通道通信地将主机耦合到被分配给虚拟机之一的客户端计算系统。在一些实施例中,存在云计算通道来提供客户端计算系统和主机计算系统之间的端对端安全性。通过使用在此描述的原理,这样的端对端安全性可从客户端计算系统一路扩展到代表客户端运行的对应的虚拟机。
[0006]虚拟机被配置成生成证书,将证书安装在虚拟机上以及向客户端返回证书表示。例如,这可在虚拟机被提供时发生。在从客户端到虚拟机的后续连接请求期间,虚拟机向客户端返回证书。客户端将在提供期间返回的证书表示与在后续连接期间返回的证书进行比较,并且如果存在匹配,则虚拟机被认证给客户端。由此,在这种情况下,虚拟机在客户端不必生成并安装证书的情况下认证,从而简化了客户端的处理。
[0007]本概述不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。

【专利附图】

【附图说明】
[0008]为了描述能够获得上述和其它优点和特征的方式,各实施例的更具体的描述将通过参考各附图来呈现。可以理解,这些附图只描绘了示例实施例,并且因此不被认为是对其范围的限制,将通过使用附图并利用附加特征和细节来描述和解释各实施例,在附图中:
[0009]图1示出在其中在此描述的一些实施例可被使用的计算系统;
[0010]图2示出作为操作环境的系统,其中客户端计算系统提供并连接到被云计算环境内的主机计算系统主控的虚拟机,使得客户端可随后操作该虚拟机;
[0011]图3示出云计算环境200的示例并表示图2的云计算环境的示例;
[0012]图4示出用于客户端计算系统连接到虚拟机的方法的流程图;
[0013]图5示出在其中虚拟机可被实例化、提供和操作的环境;以及
[0014]图6示出当从一般化的虚拟机图像中引导虚拟机时提供虚拟机的方法600的流程图。

【具体实施方式】
[0015]根据在此描述的各实施例,客户端计算系统认证它被分配到其的虚拟机,而不必生成并安装证书。首先,将参考图1来描述关于计算系统的一些引导性讨论。随后,认证的各实施例将参考图2到6来描述。
[0016]计算系统现在越来越多地采取多种多样的形式。例如,计算系统可以是手持式设备、电器、膝上型计算机、台式计算机、大型机、分布式计算系统或甚至常规上不被认为是计算系统的设备。在本说明书以及权利要求书中,术语“计算系统”被广义地定义为包括任何设备或系统(或其组合),该设备或系统包含至少一个物理有形的处理器以及其上能含有可由处理器执行的计算机可执行指令的物理有形的存储器。存储器可以采取任何形式,并可以取决于计算系统的性质和形式。计算系统可以分布在网络环境中,并可包括多个组分计算系统。
[0017]如图1所示,在其最基本的配置中,计算系统100通常包括至少一个处理单元102和存储器104。存储器104可以是物理系统存储器,该物理系统存储器可以是易失性、非易失性、或两者的某种组合。术语“存储器”在此也可用来指诸如物理存储介质等非易失性大容量存储。如果计算系统是分布式的,则处理、存储器和/或存储能力也可以是分布式的。如此处所使用的那样,术语“模块”或“组件”可以指在计算系统上执行的软件对象或例程。此处所描述的不同组件、模块、引擎,以及服务可以实现为在计算系统上执行的对象或进程(例如,作为分开的线程)。
[0018]在随后的描述中,参考由一个或多个计算系统执行的动作描述了各实施例。如果这样的动作是以软件实现的,则执行动作的相关联计算系统的一个或多个处理器响应于已经执行了计算机可执行指令来引导计算系统的操作。这样的操作的示例涉及对数据的操纵。计算机可执行指令(以及被操纵的数据)可被存储在计算系统100的存储器104中。计算系统100还可包含允许计算系统100例如通过网络110与其他消息处理器通信的通信信道108。
[0019]这里描述的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如例如一个或多个处理器和系统存储器等计算机硬件,如以下更详细讨论的。这里描述的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是物理存储介质。承载计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种显著不同的计算机可读介质:计算机存储介质和传输介质。
[0020]计算机存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其他介质。
[0021]“网络”被定义为使得电子数据能够在计算机系统和/或模块和/或其它电子设备之间传输的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可包括可用于携带计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的网络和/或数据链路。上述的组合也应被包括在计算机可读介质的范围内。
[0022]此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码装置可从传输介质自动转移到计算机存储介质(或者相反)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓存在网络接口模块(例如,“NIC”)内的RAM中,然后最终被传输到计算机系统RAM和/或计算机系统处的较不易失性的计算机存储介质。因而,应当理解,计算机存储介质可被包括在还利用(或甚至主要利用)传输介质的计算机系统组件中。
[0023]计算机可执行指令例如包括,当在处理器处执行时使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。更具体而言,上述特征和动作是作为实现权利要求的示例形式而公开的。
[0024]本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。本发明也可在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实施。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备两者中。
[0025]图2示出作为操作环境的系统200,其中客户端计算系统201提供并连接到被云计算环境203内的主机计算系统210主控的虚拟机(例如,虚拟机211A),使得客户端201可随后操作该虚拟机211A。客户端计算系统201可如上针对图1的计算系统100描述的那样被结构化,并且还将在此后被简单地称为“客户端201”。主机计算系统210也可如上针对图1的计算系统100描述的那样被结构化,并且还将在此后被简单地称为“主机210”。尽管在此描述的原理主要关于提供和初始连接的预操作过程,但是现在将描述关于虚拟机的操作的简要注释。
[0026]在操作期间,虚拟机211A模拟完全可操作的计算系统,包括至少一个操作系统并且也许还包括一个或多个其他应用。虚拟机生成桌面图像或其他表示桌面的当前状态的呈现指令,并接着将该图像或指令传送到客户端以供桌面的呈现。随着用户与桌面进行交互,用户输入被传送到虚拟机。虚拟机处理用户输入,并且如果合适,则改变桌面状态。如果桌面状态中这样的改变将导致在所呈现的桌面中的改变,则虚拟机更改图像或呈现指令(如果合适的话),并将经更改的图像或呈现的指令传送到客户端计算系统以供合适的呈现。从用户的角度而言,就好像客户端计算系统本身执行桌面处理。
[0027]如之前提到的,主机210在云计算环境中操作。在该描述和下面的权利要求书中,“云计算”被定义为用于允许对可配置计算资源(例如,网络、服务器、存储、应用和服务)的共享池的普遍、方便的、按需网络访问的模型。可配置计算资源的共享池可经由虚拟化而被快速地供应,并可利用低管理努力或服务提供商交互来释放,并随后相应被缩放。云计算模型可由各种特性(如按需自服务、广泛网络访问、资源池、快速灵活性、测量的服务等)、服务模型(如软件即服务(“SaaS”)、平台即服务(“PaaS”)、基础结构即服务(“IaaS”))以及部署模型(如私有云、社区云、公共云、混合云等)组成。在该描述和权利要求书中,“云计算环境”是其中采用了云计算的环境。
[0028]主机210能够主控多个虚拟机211,并且其通常是具有处理、存储器、存储和联网资源的单个物理机。在示出的示例中,主机210执行虚拟机211A和211B,但是椭圆211C表示在此描述的原理不限于在主机上执行的虚拟机的数目。
[0029]系统200还包括通信地将主机210耦合到客户端201的云计算通道202。云计算通道202具有以下特征:(I)能够连接到在云计算环境203外部的实体(诸如客户端201),
(2)对于主机210是可访问的,以及(3)提供关于直接连接到云计算通道202的每个端的各方的身份的某种程度的身份安全性。由此,通过能够直接通过云计算通道202进行通信的动作,客户端201可认证主机210,并且主机210可认证客户端201。然而,在没有进一步处理的情况下,客户端201还未认证虚拟机211A,并且虚拟机21IA还未认证客户端201。
[0030]图3示出云计算环境300的示例。在这个示例中,主机计算系统302A是图2的主机210的示例,并且仅仅是在云计算环境300中的多个主机302之一。例如,虽然示出了三个主机302A、302B和302C,但是椭圆302D表示在云计算环境300内可以存在任意数量的主机。
[0031]虚拟机311是图2的虚拟机211的示例。从被包括在存储服务301内的虚拟机图像312中,虚拟机被实例化在这个云计算环境中。控制服务303协调云计算环境300内的各个服务,包括在主机(诸如主机302A)和被分配到主机内的各个虚拟机(诸如虚拟机311A)的客户端(诸如客户端201)之间提供安全云计算通道。
[0032]图4示出用于客户端计算系统连接到虚拟机的方法400的流程图。在一个实施例中,客户端计算系统是图1的客户端201,而虚拟机是图2的虚拟机211A。因此,由于方法400可在图2的系统200的上下文中执行,所以现将频繁参考图2的系统200来描述图4的方法400。
[0033]在图4中,如在图4的左列中在标题“客户端”下表示的,示出的动作中的一些由客户端(例如客户端201)执行。如在图4的右列中在标题“虚拟机”下表示的,示出的动作中的其他由虚拟机(例如,虚拟机211A)执行。如在图4的中间列中在标题“主机”下表示的,示出的动作中的其他由主机(例如,主机210)执行。方法400包括第一往返通信阶段401,其中虚拟机被提供、被分配到客户端,并且客户端接收第一证书表示。方法400还包括第二往返通信阶段402,其中客户端向虚拟机作出初始连接请求,并且虚拟机用第二证书表示进行响应。方法400包括认证决定阶段403,其中客户端取决于证书表示来决定是否要认证虚拟机。
[0034]方法400开始于对于提供用于客户端的虚拟机的请求(动作411)。例如,在图2中,虚拟机211A可被实例化并被提供以分配到客户端201。虽然这个动作示出在图4的左列,但是这个初始提供请求不需要由客户端201作出,而是可以由某个第三方作出,第三方诸如例如,具有向客户端201的用户所属的组织提供虚拟机的责任的管理员。然而,提供请求可替换地由客户端201作出。
[0035]注意在这个阶段,虚拟机211A还不存在,并且连虚拟机要在其上实例化的主机计算系统的身份可能还没有被预先确定(如果在云计算环境中针对虚拟机有多个潜在的主机候选)。例如,在图3的云计算环境300中,可向控制服务303作出虚拟机提供请求,该控制服务303决定哪个主机302来实例化虚拟机。在这种情况下,假设控制服务303将主机302A选择为最适合于执行虚拟机。提供请求可接着被传递(也许直接或也许采用一些更改)到主机302A。在图2的上下文中,提供请求被主机210接收到。
[0036]主机接着使得虚拟机从虚拟机图像中被实例化(动作421),并进一步提供虚拟机。例如,在图2中,假设主机210实例化用于客户端201的虚拟机211A。在图3中,假设主机302A使用存储服务301中的虚拟机图像312之一来实例化用于客户端的虚拟机31IA。
[0037]随着虚拟机启动,作为引导过程一部分,虚拟机生成证书(动作431)(此后也称为“虚拟机证书”),将证书安装在虚拟机上(动作432)并向客户端提供虚拟机证书的第一证书表示(动作433)。虽然这个证书表示可以是虚拟机证书的副本,但是它还可以是虚拟机证书的散列。然而,散列可以使得虚拟机证书的传输和比较更为容易。在一个实施例中,散列是被用作证书的公钥的简写形式的“拇指纹(thumbprint) ”,其是散列本身。
[0038]在一个实施例中,可通过执行虚拟机上的提供代理来执行虚拟机证书的生成(动作431),虚拟机证书的安装(动作432)以及向客户端提供虚拟机证书的第一证书表示(动作433)。虽然不被要求,但是这个提供代理可不存在在从中虚拟机被实例化的虚拟机图像中,并且也许相反已经在虚拟机的引导期间被虚拟机获取。将在以下参考图5来进一步描述这种情况。
[0039]一旦主机接收到第一证书表示,主机将向客户端提供该第一证书表示(动作422)。例如,在图2中,主机210可接收安装在虚拟机211A上的证书的第一证书表示,并通过云计算通道202将该第一证书表示提供给客户端201。在图3中,主机302A可接收安装在虚拟机311a上的证书的第一证书表示,并通过控制服务303将该第一证书表示提供给客户端。这完成了第一往返通信阶段401。
[0040]客户端通过主机接收到来自虚拟机的第一证书表示(动作412)。此后,客户端作出初始虚拟机连接请求并将该请求提交给虚拟机(动作413)。在一个实施例中,使用协议来作出该初始连接请求,该协议使得虚拟机自动地向客户端返回虚拟机证书的第二证书表示。第二证书表示可以例如是虚拟机证书的散列或副本。这样的常规协议的一示例是远程桌面协议(RDP)协议。然而,在此描述的原理不限于该RDP协议或甚至任何现有的协议,因为可在将来开发出具有这个特征的新的协议。主机接着将初始连接请求提供到虚拟机(动作 423)。
[0041]虚拟机接着接收初始连接请求(动作434)。在这个初始请求内可包括允许用户和/或客户端向虚拟机进行认证的客户端和/或用户凭证。然而,注意的是在此时,虚拟机还未响应于该初始连接请求来向客户端认证。为了促进客户端认证虚拟机,虚拟机通过向客户端发送虚拟机证书的第二证书表示来对初始连接请求进行响应(动作435)。该第二表示可以再次是证书的任意表示,诸如例如,虚拟机证书的散列或副本。如果RDP协议被使用,则虚拟机将通常返回虚拟机证书的副本。
[0042]主机接着将第二证书表示发送(或中继)到客户端(动作424)。客户端接着接收虚拟机证书的第二证书表示(动作414),由此完成第二往返通信阶段402。作为一个示例,在图2中,该第二往返通信阶段402在客户端201和虚拟机211A之间发生。在图3中,该第二往返通信阶段402在客户端(未示出)和虚拟机311A之间发生。这允许客户端接着执行认证决定阶段403。
[0043]为了客户端决定是否认证虚拟机,客户端将(作为第一往返通信阶段401的结果返回到客户端的)第一证书表示和(作为第二往返通信阶段402的结果返回到客户端的)第二证书表示进行比较。例如,如果第一证书表示是虚拟机证书的散列,而第二证书表示是虚拟机证书的副本,则客户端将对第二证书表示进行散列并查看是否达到相同的散列值。
[0044]如果不存在第一和第二证书表示的匹配(决定框416中的“否”),则客户端不认证虚拟机(动作417),并由此不可相信客户端正在与其通信的一方真正是被分配给客户端的虚拟机。另一方面,如果存在第一和第二证书表示的匹配(决定框416中的“是”),则客户端认证虚拟机(动作418),并由此可相信客户端正在与其通信的一方真正是被分配给客户端的虚拟机,并由此可用对虚拟机的置信度来操作。
[0045]如之前提到的,虚拟机可使用提供代理来执行虚拟机证书的生成和安装以及向客户端提供第一证书表示。该提供代理还可协助其他功能,诸如向用户报告关于提供过程的状态。现在将关于附图5和6来描述关于这个的更多细节。
[0046]图5示出在其中虚拟机501可被实例化、提供和操作的环境500。环境500表示图3的主机计算系统302A的示例,并且虚拟机501是图2的虚拟机211A以及图3的虚拟机311A的示例。环境500还包括虚拟存储介质502,虚拟机501可被连接到其以访问该虚拟机存储介质502上的数据。虚拟存储介质包括在虚拟机511的引导时被执行的引导计算机可执行指令511。
[0047]虚拟存储介质502包括响应于引导计算机可执行指令511的执行,变得能被虚拟机501访问的内容512。引导计算机可执行指令511的执行还允许虚拟机501访问虚拟存储介质502的内容512,诸如提供数据521和提供代理522。
[0048]提供数据521包括可被虚拟机用于填充虚拟机501内的用户专用和机器专用信息以针对特定用户或机器来专门化虚拟机501的数据。由此,即使虚拟机501是从一般化的虚拟机图像中引导的,虚拟机501最终针对特定的用户和机器被专门化。由此,提供数据521帮助提供虚拟机501。在一个实施例中,提供数据可以是在安装的专门化阶段期间被虚拟机使用的应答文件。
[0049]提供代理522表示可被访问(响应于执行引导计算机可执行指令511)和执行来执行与虚拟机501的提供有关的任务的计算机可执行代码。例如,提供代理可监视提供过程的进展和/或报告该进展,并可生成虚拟机证书(动作431),将虚拟机证书安装在它自身上(动作432),并将虚拟机证书的第一证书表示分派到客户端(动作433)。
[0050]图6示出用于当从一般化的虚拟机图像中引导虚拟机时提供虚拟机的方法600的流程图。在启动虚拟机的引导(动作601)之际启动方法600。这个涉及根据一般化的虚拟机图像来创建虚拟机实例。并且,虚拟机实例将部分地用不特定于要被分配给虚拟机的用户和/或机器的参数来填充。
[0051]在这个状态中,虚拟机包括引导可执行指令。例如,在图5中,虚拟机501包括引导计算机可执行指令511。这些引导计算机可执行指令接着被执行(动作602)。
[0052]弓I导计算机可执行指令的执行使得虚拟机检测能被虚拟机访问的虚拟存储介质(动作603)。例如,参考附图5,虚拟机501执行引导计算机可执行指令511,使得虚拟机501检测并能够访问虚拟存储介质502,如线531表示的。虚拟存储介质由抽象出底层物理存储介质的管理程序来提供。当计算系统启动时,一些操作系统执行的过程之一是发现附连的设备。可以是这个过程发现虚拟存储设备。在一些实施例中,这个虚拟存储介质可以是例如,虚拟DVD驱动器。
[0053]一旦虚拟机检测到虚拟存储设备,虚拟机就能访问虚拟存储设备的内容的至少一些。例如,在图5中,如线532表示的,虚拟机501能够通过执行引导计算机可执行指令511来访问虚拟存储介质502的内容512。在此时,虚拟机可从虚拟存储介质获取提供数据(动作611)和提供代理(动作621)两者。例如,在图5中,虚拟机501从虚拟存储介质502获取提供数据521和提供代理522。
[0054]作为一个示例,提供数据可以是应答文件。应答文件常规上被用于执行在物理计算系统上的操作系统安装的专门化阶段。在将操作系统安装在物理计算系统上期间,存在两个阶段;即复制阶段和专门化阶段。在复制阶段期间,文件被复制到物理计算系统上。在专门化阶段期间,用户通常被查询用户专用或机器专用信息,该用户专用或机器专用信息将针对操作系统正被安装在其上的物理计算系统和针对物理计算系统的用户来定制操作系统。然而,常规上知晓的是取代于询问用户,用户和机器专用信息可改为在遵从特定模式的应答文件中提供。安装过程可改为查阅应答文件来寻找对于原本通常在安装期间向用户提出的相关问题的答案。提供数据可包括例如参数,诸如但不限于,机器名、用户账户、用户账户设置、组策略、访问口令、时区。
[0055]提供数据接着被用于提供虚拟机(动作612)。例如参考图5,执行引导计算机可执行指令可使得虚拟机501向提供数据521 (例如,应答文件)查询用户专用或机器专用设置并用该用户专用或机器专用设置来适当地设置其自己的设置,从而创建被提供给被分配来使用虚拟机的特定机器和/或用户的虚拟机。
[0056]虚拟机还可从检测到的存储介质获取提供代理(动作621)。例如,在图5中,虚拟机501从虚拟存储介质502获取提供代理522。这可通过虚拟机501执行引导计算机可执行指令511来执行。
[0057]提供代理表示可被虚拟机执行的计算机可执行指令集合。虚拟机接着执行提供代理(动作622)。虚拟机还可监视虚拟机的进展(动作623),并向客户端报告提供过程的状态(动作624)。例如,在图5中,虚拟机501可响应于执行引导计算机可执行指令511来执行提供代理522。引导计算机可执行指令511和提供代理522可各自共同地或单独地具体化在计算机可读介质(诸如计算机存储介质)上,来作为计算机程序产品的组成部分。
[0058]例如,假设被提供的虚拟机是图3的虚拟机311A。虚拟机311的提供状态可被报告给主机计算系统302A,并接着被报告给控制服务303,然后接着被报告给用户。所报告的状态的示例包括提供过程的成功或失败,或可能是提供过程的超时状态(例如,提供是否用时比指定的超时时间段更长)。控制服务303的示例包括支持云计算系统的服务,诸如例如 MICROSOFT AZURE。
[0059]提供代理522还可执行虚拟机证书的生成(动作431),虚拟机证书在虚拟机上的安装(动作432),以及将第一证书表示提供到客户端(动作433)。
[0060]在提供完成后,或至少在从虚拟存储设备获取提供数据和提供代理后,如果虚拟存储设备不被用于虚拟机作出的正常操作,则虚拟存储设备可从虚拟机断开连接(动作631)。
[0061]在一个示例中,虚拟机的操作系统(此后称为“启用引导的操作系统”)可以是具有引导时计算机可执行指令511的类型,该引导时计算机可执行指令511在引导时期间被自动执行来使得虚拟机获取并使用提供数据来提供虚拟机以及获取并执行提供代理。这样的计算系统的一个示例是MICROSOFT WINDOWS。
[0062]在一个实施例中,虚拟机的操作系统(此后称为“没有启动引导的操作系统”)可以是不具有这样的引导时计算机可执行指令511的类型。这样的操作系统的一个示例是LINUX。在这种情况下,当生成包括这样的操作系统的一般化的虚拟机图像时,引导时计算机可执行指令511被添加到该一般化的虚拟机图像,使得它们在引导时出现在被虚拟机执行中。
[0063]由此,在此描述的原理描述了用于客户端以客户端在初始地连接到虚拟机时能认证该虚拟机的方式提供和初始地连接到虚拟机的机制。本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。因此,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变应被权利要求书的范围所涵盖。
【权利要求】
1.一种系统,包括: 主机计算系统,所述主机计算系统被配置成在云计算环境中执行多个虚拟机(211,311); 云计算通道,所述云计算通道通信地将所述主机计算系统耦合到被分配给所述多个虚拟机中的特定虚拟机的客户端计算系统,其中所述云计算通道包括关于通过所述云计算通道进行通信的各方的身份的身份安全性; 其中所述特定虚拟机被配置成执行以下: 生成证书的动作; 将所述证书安装在所述虚拟机上的动作; 将对应于所述证书的证书表示提供到所述主机计算系统,使得所述主机计算系统通过所述云计算通道将所述证书表示提供到所述客户端计算系统的动作。
2.如权利要求1所述的系统,其特征在于,所述云计算环境中的所述虚拟机用所述证书来对来自所述客户端计算系统的初始连接请求进行响应,使得所述客户端计算系统能将所述证书表示和所述证书进行比较。
3.如权利要求2所述的系统,其特征在于,所述云计算环境中的所述虚拟机还接收来自所述客户端计算系统的认证凭证,并使用所述认证凭证来认证所述客户端计算系统或所述用户。
4.如权利要求2所述的系统,其特征在于,所述初始连接请求是使用在其中所述虚拟机自动返回所述证书的协议来作出的。
5.如权利要求1所述的系统,其特征在于,所述云计算环境中的所述虚拟机包括计算机可执行指令,当所述计算机可执行指令被执行时,使得所述虚拟机执行生成所述证书、安装所述证书以及将所述证书表示提供到所述主机计算系统的动作,其中所述计算机可执行指令是由所述虚拟机在引导时期间获得的,但是所述计算机可执行指令没有隐含在所述虚拟机的操作系统内。
6.如权利要求5所述的系统,其特征在于,所述云计算环境中的所述虚拟机通过执行以下来在所述虚拟机的引导期间获得所述计算机可执行指令: 检测能被所述虚拟机访问的虚拟存储介质; 在检测到所述虚拟存储介质后,从所检测到的存储介质中获取所述计算机可执行指令。
7.如权利要求1所述的系统,其特征在于,所述证书表示是所述证书的散列。
8.如权利要求1所述的系统,其特征在于,所述证书表示是所述证书的副本。
9.一种用于客户端计算系统连接到虚拟机的方法,所述方法包括: 从虚拟机接收第一证书表示,所述第一证书表示对应于安装在所述虚拟机上的证书; 使用协议将连接请求提交到所述虚拟机,所述协议使得所述虚拟机返回安装在所述虚拟机上的所述证书的第二表示; 从所述虚拟机接收所述证书的所述第二表示; 比较所述第一和所述第二证书表示;以及 取决于所述第一和所述第二证书表示是否匹配来认证所述虚拟机。
10.如权利要求9所述的方法,其特征在于,所述虚拟存储介质是虚拟DVD驱动器。
【文档编号】H04L29/06GK104272699SQ201380022850
【公开日】2015年1月7日 申请日期:2013年4月29日 优先权日:2012年5月2日
【发明者】E·D·赖特, M·U·阿扎德, S·P·里瓦斯卡, C·M·桑德斯, S·塞德 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1