一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于验证虚拟会话请求的系统和方法与流程

2021-11-05 23:54:00 来源:中国专利 TAG:

用于验证虚拟会话请求的系统和方法
1.对相关申请的交叉引用本技术要求2019年5月20日提交的临时申请no.62/850,089的权益,该临时申请在此通过引用整体地并入本文中。


背景技术:

2.许多组织现在正在使用应用和/或桌面虚拟化来提供更灵活的选项以满足其用户的变化的需求。在桌面虚拟化中,用户的计算环境可以与用户的物理计算设备分离。使用客户端

服务器技术,“虚拟化桌面”可以存储在远程服务器中并且由远程服务器管理,而不是存储在客户端计算设备的本地存储装置中。
3.存在若干种不同类型的桌面虚拟化系统。例如,虚拟桌面基础设施(vdi)指代在服务器上驻留的虚拟机内部运行用户桌面和/或应用的过程。虚拟化系统也可以在云计算环境或云系统中实现,其中计算资源、存储磁盘、联网硬件和其他物理资源的池可以用于供应(provision)虚拟桌面和/或提供对共享应用的访问。


技术实现要素:

4.一种方法可以包括:在计算设备处存储和更新多个客户端设备的已公布资源权利(resource entitlement);以及使用多个虚拟递送器具(appliance),以从客户端设备接收连接请求并且从计算设备请求连接租用的验证。连接请求可以包括基于客户端设备的已公布资源权利而发布的连接租用。所述方法可以进一步包括:在计算设备处,响应于来自虚拟递送器具的验证请求将连接租用与经更新的已公布资源权利进行比较,并且基于此来验证虚拟会话请求。所述方法还可以包括:在虚拟递送器具处,响应于来自计算设备的连接租用的验证向客户端设备提供对与已公布资源权利相对应的虚拟会话的访问。
5.所述方法可以进一步包括:在计算设备处,针对虚拟递送器具生成预先授权的验证,以及在虚拟递送器具处,基于预先授权的验证在不具有计算设备的可用性的情况下向至少一个客户端设备提供对所请求的虚拟会话的访问。在示例实现方式中,虚拟递送器具可以被布置在池中,并且所述方法可以进一步包括:在所述池中的给定虚拟递送器具处,在向至少一个客户端设备提供对所请求的虚拟会话的访问之后停止在不具有计算设备的可用性的情况下向其他客户端设备提供况下对虚拟会话的访问。此外,所述方法可以进一步包括:在所请求的虚拟会话关闭之后重新供应给定虚拟递送器具以生成预先授权的验证。
6.在示例实施例中,所述方法可以进一步包括:在虚拟递送器具处,在不具有计算设备的可用性的情况下拒绝连接请求并且将连接请求重定向到其他虚拟递送器具。根据另一示例实现方式,连接租用可以列出所述多个虚拟递送器具的子集,并且所述方法可以进一步包括:在计算设备处,基于虚拟递送器具使用水平将具有经验证的连接租用的客户端设备重定向到所列出的虚拟递送器具子集内部或外部的虚拟递送器具。
7.在示例实现方式中,连接租用可以与公共/私有加密密钥对相关联并且使用私有加密密钥来签名,并且所述方法可以进一步包括:在虚拟递送器具处,在从计算设备请求连
接租用的验证之前使用公共加密密钥来验证连接租用。此外,连接租用也可以是基于时间的,并且所述方法可以进一步包括:例如,在虚拟递送器具处,在从计算设备请求连接租用的验证之前执行连接租用的基于时间的验证。
8.根据仍另外的示例,计算设备可以进一步具有与其相关联的公共密钥/私有密钥对,计算设备的公共密钥可以由信任根(rot)的私有密钥来签名,并且所述方法可以进一步包括:在计算设备处,将其经签名的公共密钥连同虚拟会话请求验证一起提供给虚拟递送器具。在一个示例实现方式中,所述方法可以进一步包括:使用rot的公共密钥来认证计算设备的经签名的公共密钥,使用计算设备的经认证的公共密钥来认证虚拟会话请求验证,以及响应于认证虚拟会话请求验证在客户端设备与虚拟递送器具之间建立会话连接。根据另一示例实现方式,所述方法可以进一步包括:在客户端设备处,使用rot的公共密钥来认证计算设备的经签名的公共密钥,使用计算设备的经认证的公共密钥来认证虚拟会话请求验证,以及响应于认证虚拟会话请求验证而建立与虚拟递送器具的会话连接。
9.一种相关的计算系统可以包括被配置成存储和更新多个客户端设备的已公布资源权利的计算设备。所述系统可以进一步包括多个虚拟递送器具,所述多个虚拟递送器具被配置成:从客户端设备接收连接请求,连接请求包括基于客户端设备的已公布资源权利而发布的连接租用;从计算设备请求连接租用的验证;以及响应于来自计算设备的连接租用的验证向客户端设备提供对与已公布资源权利相对应的虚拟会话的访问。响应于来自虚拟递送器具的验证请求,计算设备还可以将连接租用与经更新的已公布资源权利进行比较,并且基于此来验证虚拟会话请求。
10.还提供了一种相关的虚拟递送器具。
附图说明
11.图1是其中可以实现本公开的各个方面的计算设备的网络环境的示意性框图。
12.图2是对于实践图1中图示的客户端机器或远程机器的实施例而言有用的计算设备的示意性框图。
13.图3是其中可以实现本公开的各个方面的云计算环境的示意性框图。
14.图4是其中可以实现本公开的各个方面的操作工作空间app的桌面、移动设备和基于网络的设备(web

based device)的示意性框图。
15.图5是其中可以实现本公开的各个方面的计算设备的工作空间网络环境的示意性框图。
16.图6是根据示例实施例的通过连接租用提供虚拟会话访问的计算系统的示意性框图。
17.图7是根据示例实施例的其中可以实现图6的系统的连接租用架构和独立流程序列的示意性框图。
18.图8是示例实施例中的可以在图7的系统内执行的虚拟递送器具反向会话准备序列的序列图。
19.图9a

9b是示例实施例中的可以在图7的系统内执行的虚拟递送器具

代理注册序列的序列图。
20.图10a

10b是示例实施例中的可以在图7的系统内执行的另一虚拟递送器具

代理
注册序列的序列图。
21.图11是根据示例实现方式的由图7的系统的代理列出不同验证场景的表。
22.图12和13是图示了与图6的系统相关联的方法方面的流程图。
具体实施方式
23.在虚拟计算架构中,可以通过代理服务向客户端设备发布连接租用。连接租用可以包括客户端设备被准许访问的资源权利的静态快照。举例来说,客户端设备访问的资源可以包括虚拟应用、虚拟桌面、软件即服务(saas)应用、桌面即服务(daas)会话等。此外,连接租用还可以包括资源位置数据,其允许在连接租用到期并且必须被更新之前进行相对长期的访问(例如,一个或多个星期)。这帮助了促进客户端设备对资源的更快访问,这是因为它们不需要在每次它们请求访问虚拟计算会话时向代理服务重新注册。然而,在某些情况下,连接租用的静态性质加上用户权利和已公布资源位置状态的动态性质可能会导致某些弹性或性能问题。例如,由于时钟漂移或过时的安全密钥等,用户可能失去继续先前建立的会话、与现有会话中的应用共享会话、建立与虚拟递送器具的连接的能力。
24.本文中阐述的方法有利地允许继续使用这种静态连接租用来保持客户端设备进行的更快访问,而同时准许将客户端设备与各种资源连接的虚拟递送器具与代理服务协作,以验证客户端权利(用户被准许使用的在连接租用中指定的资源,诸如应用或桌面)是否响应于会话请求是实时最新的。此外,本文中阐述的方法还通过允许虚拟递送器具在不可用性时段期间承担代理服务的某些功能来有利地允许在代理服务的不可用性时段期间进行部分但仍然安全的操作。也就是说,尽管由于代理服务中断,原本将提供的完整连接功能不可用,但是虚拟递送器具可以仍然能够在受控制的基础上提供一些连接。
25.最初参考图1,其中可以实现本公开的各个方面的非限制性网络环境10包括一个或多个客户端机器12a

12n、一个或多个远程机器16a

16n、一个或多个网络14、14'、以及安装在计算环境10内的一个或多个器具18。客户端机器12a

12n经由网络14、14'与远程机器16a

16n通信。
26.在一些实施例中,客户端机器12a

12n经由中间器具18与远程机器16a

16n通信。所图示的器具18定位在网络14、14'之间,并且还可以称为网络接口或网关。在一些实施例中,器具108可以作为应用递送控制器(adc)来操作,以向客户端提供对部署在数据中心、云中、或者作为软件即服务(saas)跨一系列客户端设备而递送的商业应用和其他数据的访问,和/或提供诸如负载平衡等其他功能。在一些实施例中,可以使用多个器具18,并且(一个或多个)器具18可以被部署为网络14和/或14'的一部分。
27.客户端机器12a

12n可以总地被称为客户端机器12、本地机器12、客户端12、客户端节点12、客户端计算机12、客户端设备12、计算设备12、端点12或端点节点12。远程机器16a

16n可以总地被称为服务器16或服务器群16。在一些实施例中,客户端设备12可以具有既充当寻求访问由服务器16提供的资源的客户端节点又充当针对其他客户端设备12a

12n提供对托管资源的访问的服务器16的能力。网络14、14'可以总地被称为网络14。网络14可以以有线和无线网络的任何组合来配置。
28.服务器16可以是任何类型的服务器,诸如例如:文件服务器;应用服务器;web服务器;代理服务器;器具;网络器具;网关;应用网关;网关服务器;虚拟化服务器;部署服务器;
安全套接字层虚拟专用网络(ssl vpn)服务器;防火墙;web服务器;执行活动目录的服务器;云服务器;或执行提供防火墙功能、应用功能或负载平衡功能的应用加速程序的服务器。
29.服务器16可以执行、操作或以其他方式提供应用,该应用可以是以下各项中的任一个:软件;程序;可执行指令;虚拟机;管理程序;web浏览器;基于web的客户端;客户端

服务器应用;瘦客户端计算客户端;activex控件;java小程序;与互联网语音协议(voip)通信相关的软件,如软ip电话;用于流式传输视频和/或音频的应用;用于便于实时数据通信的应用;http客户端;ftp客户端;oscar客户端;远程登录(telnet)客户端;或任何其他可执行指令集合。
30.在一些实施例中,服务器16可以执行远程呈现服务程序或其他程序,其使用瘦客户端或远程显示协议来捕获由在服务器16上执行的应用所生成的显示输出,并且将该应用显示输出传输到客户端设备12。
31.在又其他实施例中,服务器16可以执行向客户端设备12的用户提供对计算环境的访问的虚拟机。客户端设备12可以是虚拟机。虚拟机可以由例如管理程序、虚拟机管理器(vmm)、或服务器16内的任何其他硬件虚拟化技术来管理。
32.在一些实施例中,网络14可以是:局域网(lan);城域网(man);广域网(wan);主要公有网络14;以及主要专用网络14。附加实施例可以包括使用各种协议在移动设备间通信的移动电话网络的网络14。对于无线局域网(wlan)内的短程通信而言,协议可以包括802.11、蓝牙和近场通信(nfc)。
33.图2描绘了对于实践客户端设备12、器具18和/或服务器16的实施例而言有用的计算设备20的框图。计算设备20包括一个或多个处理器22、易失性存储器24(例如,随机存取存储器(ram))、非易失性存储器30、用户接口(ui)38、一个或多个通信接口26、以及通信总线48。
34.非易失性存储器30可以包括:一个或多个硬盘驱动器(hdd)或其他磁性或光学存储介质;一个或多个固态驱动器(ssd),诸如闪存驱动器或其他固态存储介质;一个或多个混合磁性和固态驱动器;和/或诸如云存储装置之类的一个或多个虚拟存储卷(volume)、或者这种物理存储卷和虚拟存储卷或其阵列的组合。
35.用户接口38可以包括图形用户接口(gui)40(例如,触摸屏、显示器等)和一个或多个输入/输出(i/o)设备42(例如,鼠标、键盘、麦克风、一个或多个扬声器、一个或多个相机、一个或多个生物测定扫描仪、一个或多个环境传感器、以及一个或多个加速度计等)。
36.非易失性存储器30存储操作系统32、一个或多个应用34和数据36,使得例如操作系统32和/或应用34的计算机指令由(一个或多个)处理器22在易失性存储器24之外执行。在一些实施例中,易失性存储器24可以包括一种或多种类型的ram和/或高速缓冲存储器,其可以提供比主存储器更快的响应时间。数据可以使用gui 40的输入设备来录入,或者从(一个或多个)(i/o)设备42来接收。计算机20的各种元件可以经由通信总线48进行通信。
37.所图示的计算设备20仅被示出为示例客户端设备或服务器,并且可以通过具有任何类型的机器或机器集合的任何计算或处理环境来实现,该机器或机器集合可以具有能够如本文中所描述的那样进行操作的合适硬件和/或软件。
38.(一个或多个)处理器22可以由一个或多个可编程处理器来实现,以执行一个或多
个可执行指令(诸如,计算机程序)来执行该系统的功能。如本文中所使用的,术语“处理器”描述执行功能、操作或操作序列的电路。该功能、操作或操作序列可以被硬编码到该电路中,或者通过保存在存储器设备中并且由该电路执行的指令的方式来软编码。处理器可以使用数字值和/或使用模拟信号来执行该功能、操作或操作序列。
39.在一些实施例中,处理器可以被体现在一个或多个专用集成电路(asic)、微处理器、数字信号处理器(dsp)、图形处理单元(gpu)、微控制器、现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、多核处理器、或具有相关联的存储器的通用计算机中。
40.处理器22可以是模拟、数字或混合信号。在一些实施例中,处理器22可以是一个或多个物理处理器、或一个或多个虚拟(例如,远程定位或云)处理器。包括多个处理器核的处理器和/或多个处理器可以提供用于并行、同时执行指令或者用于在多于一个数据段上并行、同时执行一个指令的功能。
41.通信接口26可以包括一个或多个接口,以使得计算设备20能够通过各种有线和/或无线连接(包括蜂窝连接)来访问计算机网络,诸如局域网(lan)、广域网(wan)、个人区域网(pan)或互联网。
42.在所描述的实施例中,计算设备20可以代表客户端设备的用户来执行应用。例如,计算设备20可以执行由管理程序所管理的一个或多个虚拟机。每个虚拟机可以提供执行会话(诸如,托管的桌面会话),在该执行会话内,应用代表用户或客户端设备而执行。计算设备20还可以执行终端服务会话来提供托管桌面环境。计算设备20可以提供对远程计算环境的访问,该远程计算环境包括一个或多个应用、一个或多个桌面应用、以及其中一个或多个应用可以执行的一个或多个桌面会话。
43.示例虚拟化服务器16可以使用由佛罗里达州劳德代尔堡的思杰系统公司(“citrix systems”)提供的思杰管理程序来实现。虚拟app和桌面会话可以进一步由也来自思杰系统的思杰虚拟app和桌面(cvad)来提供。思杰虚拟app和桌面是应用虚拟化解决方案,该解决方案利用从任何设备对虚拟会话(包括虚拟app、桌面和数据会话)的通用访问、加上用于实现可扩展vdi解决方案的选项来增强生产力。例如,虚拟会话可以进一步包括软件即服务(saas)和桌面即服务(daas)会话。
44.参考图3,描绘了云计算环境50,其也可以被称为云环境、云计算或云网络。云计算环境50可以向多个用户或租户提供共享计算服务和/或资源的递送。例如,共享资源和服务可以包括但不限于网络、网络带宽、服务器、处理、存储器、存储装置、应用、虚拟机、数据库、软件、硬件、分析和智能。
45.在云计算环境50中,一个或多个客户端52a

52c(诸如,上面描述的那些)与云网络54通信。云网络54可以包括后端平台,例如服务器、存储装置、服务器群或数据中心。用户或客户端52a

52c可以对应于单个组织/租户或多个组织/租户。更特别地,在一个示例实现方式中,云计算环境50可以提供服务于单个组织的私有云(例如,企业云)。在另一个示例中,云计算环境50可以提供服务于多个组织/租户的社区或公有云。在仍另外的实施例中,云计算环境50可以提供混合云,混合云是公有云和私有云的组合。公有云可以包括由第三方向客户端52a

52c或企业/租户所维持的公有服务器。服务器可以异地定位在远程地理位置中或以其他方式定位。
46.云计算环境50可以提供资源池,用以通过多租户环境或多租户模型经由客户端
52a

52c来服务于多个用户,其中响应于相应环境内的不同需求来动态地指派和重新指派不同的物理和虚拟资源。多租户环境可以包括能够提供软件、应用或软件应用的单个实例来服务于多个用户的系统或架构。在一些实施例中,云计算环境50可以提供按需自助服务,以跨网络单方面地为多个客户端52a

52c供应计算能力(例如,服务器时间、网络存储)。云计算环境50可以提供响应于来自一个或多个客户端52的不同需求而动态地向外扩展(scale out)或向内扩展(scale in)的弹性。在一些实施例中,计算环境50可以包括或提供监测服务,以监测、控制和/或生成对应于所提供的共享服务和资源的报告。
47.在一些实施例中,云计算环境50可以提供不同类型的云计算服务的基于云的递送,例如诸如软件即服务(saas)56、平台即服务(paas)58、基础设施即服务(iaas)60和桌面即服务(daas)62。iaas可以指代用户租用在指定时间段期间需要的基础设施资源的使用。iaas提供商可以提供来自大型池的存储、联网、服务器或虚拟化资源,从而允许用户通过根据需要访问更多资源来快速地向上扩展(scale up)。iaas的示例包括:由华盛顿州西雅图市的amazon.com公司提供的amazon web services;由德克萨斯州圣安东尼奥市的rackspace us公司提供的rackspace cloud;由加利福尼亚州山景城的谷歌公司提供的谷歌计算引擎(google compute engine);或者由加利福尼亚州圣巴巴拉的 rightscale公司提供的rightscale。
48.paas提供商可以提供由iaas提供的功能,包括例如存储、联网、服务器或虚拟化、以及附加的资源,诸如例如操作系统、中间件或运行时资源。paas的示例包括:由华盛顿州雷蒙德市的微软公司提供的windows azure、谷歌公司提供的谷歌app引擎、以及由加利福尼亚州旧金山市的heroku公司提供的heroku。
49.saas提供商可以提供paas所提供的资源,包括存储、联网、服务器、虚拟化、操作系统、中间件或运行时资源。在一些实施例中,saas提供商可以提供附加的资源,包括例如数据和应用资源。saas的示例包括:由谷歌公司提供的谷歌app、由加利福尼亚州旧金山市的salesforce.com公司提供的salesforce、或者由微软公司提供的office 365。saas的示例还可以包括数据存储提供商,例如由加利福尼亚州旧金山市的dropbox公司提供的dropbox、由微软公司提供的microsoft skydrive、由谷歌公司提供的google drive、或者由加利福尼亚州库比蒂诺的苹果公司提供的apple icloud。
50.与saas类似,daas(其也被称为托管桌面服务)是一种形式的虚拟桌面基础设施(vdi),其中虚拟桌面会话通常与虚拟桌面上使用的app一起作为云服务而被递送。例如,思杰云是daas递送平台的一个示例。daas递送平台可以被托管在公有云计算基础设施上,例如诸如来自华盛顿州雷蒙德市的微软公司的azure cloud(本文中为“azure”)、或者由华盛顿州西雅图市的amazon.com公司提供的amazon web services(本文中为“aws”)。在思杰云的情况下,思杰工作空间app可以被用作用于将app、文件和桌面带到一起(无论是预置的还是在云中)以递送统一体验的单入口点。
51.现在将参考图4更详细地讨论由思杰工作空间app提供的统一体验。思杰工作空间app在本文中总地被称为工作空间app 70。工作空间app 70是用户如何得到对其工作空间资源的访问,其中一个类别是应用。这些应用可以是saas app、web app或虚拟app。工作空间app 70还给予用户对其桌面的访问,桌面可以是本地桌面或虚拟桌面。此外,工作空间app 70给予用户对其文件和数据的访问,这些文件和数据可以存储在许多存储库中。例如,
文件和数据可以托管在思杰共享文件(sharefile)上,托管在预置网络文件服务器上,或者托管在某一其他云存储提供商(诸如,微软onedrive或谷歌drive box)中。
52.为了提供统一体验,用户需要的所有资源都可以从工作空间app 70定位和可访问。工作空间app 70以不同的版本来提供。工作空间app 70的一个版本是用于桌面72的所安装的应用,该应用可以基于windows、mac或linux平台。工作空间app 70的第二个版本是用于移动设备74的所安装的应用,该应用可以基于ios或android平台。工作空间app 70的第三个版本使用超文本标记语言(html)浏览器来向用户提供对其工作空间环境的访问。当用户不想要安装工作空间app或没有安装工作空间app的权利时、诸如当操作公有信息亭76时,使用工作空间app 70的web版本。
53.工作空间app 70的这些不同版本中的每一个可以有利地提供相同的用户体验。这有利地允许用户在不同平台中从客户端设备72移动到客户端设备74到客户端设备76,并且仍然针对其工作空间接收相同的用户体验。客户端设备72、74和76被称为端点。
54.如上所指出,工作空间app 70支持windows、mac、linux、ios和android平台、以及具有html浏览器(html5)的平台。工作空间app 70并入多个引擎80

90,从而允许用户访问多种类型的app和数据资源。每个引擎80

90针对特定资源来优化用户体验。每个引擎80

90还向组织或企业提供对用户活动和潜在安全威胁的洞察。
55.嵌入式浏览器引擎80保持saas和web应用被包含在工作空间app 70内,而不是在本地安装且未经管理的浏览器上启动它们。利用嵌入式浏览器,工作空间app 70能够拦截saas和web app中的用户选择的超链接,并且在批准、拒绝或隔离访问之前请求风险分析。
56.高清体验(hdx)引擎82建立与运行在windows或linux操作系统上的虚拟浏览器、虚拟app和桌面会话的连接。在hdx引擎82,windows和linux资源远程运行的情况下,同时显示器在该端点上保持本地。为了提供最佳的可能用户体验,hdx引擎82利用不同的虚拟通道来适应改变的网络条件和应用要求。为了克服高时延或高分组丢失网络,hdx引擎82自动实现优化的传输协议和更好的压缩算法。每个算法针对某种类型的显示(诸如,视频、图像或文本)而被优化。hdx引擎82在应用中标识这些类型的资源,并且将最适当的算法应用于屏幕的该部分。
57.对于许多用户来说,工作空间以数据为中心。内容协作引擎84允许用户将所有数据集成到工作空间中,无论该数据是预置地存在还是存在于云中。内容协作引擎84允许管理员和用户创建至公司和用户特定的数据存储位置的一组连接器。例如,这可以包括onedrive、dropbox和预置网络文件共享。用户可以维持多个存储库中的文件,并且允许工作空间app 70将它们整合到单个个性化库中。
58.联网引擎86标识端点或端点上的app是否需要至安全后端资源的网络连接性。联网引擎86可以针对整个端点设备自动建立完整的vpn隧道,或者它可以创建app特定的
µ‑
vpn连接。
µ‑
vpn定义了应用和端点设备可以访问哪些后端资源,从而保护后端基础设施。在许多实例中,某些用户活动受益于独特的基于网络的优化。如果用户请求文件副本,则工作空间app 70可以同时自动利用多个网络连接来更快地完成该活动。如果用户发起voip呼叫,则工作空间app 70通过跨多个网络连接复制该呼叫来改进其质量。联网引擎86仅使用首先到达的分组。
59.分析引擎88关于用户的设备、位置和行为进行报告,其中基于云的服务标识任何
潜在异常,该潜在异常可能是被盗设备、被黑客攻击的身份、或准备离开公司的用户的结果。分析引擎88所收集的信息通过自动实现对策来保护公司资产。
60.管理引擎90保持工作空间app 70是当前的(current)。这不仅向用户提供了最新的能力,而且还包括额外的安全性增强。工作空间app 70包括自动更新服务,该服务基于可定制的策略来定期检查并且自动部署更新。
61.现在参考图5,将讨论基于工作空间app 70向用户提供统一体验的工作空间网络环境100。工作空间app 70的桌面、移动和web版本全部与运行在云104中的工作空间体验服务102进行通信。工作空间体验服务102然后经由资源馈送微服务108来拉入所有不同的资源馈送16。也就是说,来自运行在云104中的其他服务的所有不同资源被资源馈送微服务108拉入。不同的服务可以包括虚拟app和桌面服务110、安全浏览器服务112、端点管理服务114、内容协作服务116和访问控制服务118。组织或企业所订阅的任何服务被自动地拉入到工作空间体验服务102中,并且被递送到用户的工作空间app 70。
62.除了云馈送120之外,资源馈送微服务108还可以拉入预置馈送122。云连接器124用于提供正在预置数据中心中运行的虚拟app和桌面部署。桌面虚拟化可以由例如思杰虚拟app和桌面126、微软rds 128或vmware horizon 130来提供。除了云馈送120和预置馈送122之外,资源馈送微服务108还可以拉入例如来自物联网(iot)设备134的设备馈送132。使用站点聚合以将不同的资源关联到用户的总体工作空间体验中。
63.云馈送120、预置馈送122和设备馈送132各自向用户的工作空间体验提供不同且独特类型的应用。工作空间体验可以支持本地app、saas app、虚拟app和桌面浏览器app、以及存储app。随着馈送继续增加和扩展,工作空间体验能够在用户的总体工作空间中包括附加的资源。这意味着用户将能够接触到他们需要访问的每一个单独应用。
64.仍然参考工作空间网络环境20,将关于如何向用户提供统一体验来描述一系列事件。统一体验开始于:用户使用工作空间app 70以连接到运行在云104内的工作空间体验服务102,并且呈现他们的身份(事件1)。例如,该身份包括用户名和密码。
65.工作空间体验服务102将用户的身份转发给云104内的身份微服务140(事件2)。身份微服务140基于组织的工作空间配置向正确的身份提供商142认证该用户(事件3)。认证可以基于需要部署云连接器146的预置活动目录144。认证还可以基于azure活动目录148或甚至第三方身份提供商150,例如诸如思杰adc或okta。
66.一旦被授权,工作空间体验服务102就从资源馈送微服务108请求授权资源的列表(事件4)。针对每个经配置的资源馈送106,资源馈送微服务108从单点登录微服务152请求身份令牌(事件5)。
67.资源馈送特定的身份令牌被传递到每个资源的认证点(事件6)。预置资源122通过云连接器124来联系。每个资源馈送106利用针对相应身份而授权的资源列表进行回复(事件7)。
68.资源馈送微服务108聚合来自不同资源馈送106的所有项目,并且将它们转发(事件8)到工作空间体验服务102。该用户从工作空间体验服务102中选择资源(事件9)。
69.工作空间体验服务102将该请求转发给资源馈送微服务108(事件10)。资源馈送微服务108从单点登录微服务152请求身份令牌(事件11)。用户的身份令牌被发送到工作空间体验服务102(事件12),其中,启动票证(launch ticket)被生成并且被发送给用户。
70.用户向网关服务160发起安全会话并且呈现该启动票证(事件13)。网关服务160向适当的资源馈送106发起安全会话,并且呈现身份令牌以无缝地认证该用户(事件14)。一旦会话初始化,该用户就能够利用该资源(事件15)。使整个工作空间通过单个访问点或应用来递送有利地改进生产力,并且精简了用户的常见工作流程。
71.现在转到图6,首先描述了虚拟计算系统200,系统200提供了用于访问虚拟计算会话的增强的连接租用。举例来说,系统200可以使用上面描述的计算设备来实现,并且在一些实现方式中,可以在工作空间基础设施内实现。用于提供对虚拟计算会话的访问的另一个示例架构是来自本技术人思杰系统公司的思杰虚拟app和桌面(cvad)。思杰虚拟app是应用虚拟化解决方案,该解决方案利用从不同客户端设备对虚拟app和基于服务器的桌面的通用访问来帮助优化生产力。cvad提供了与思杰虚拟app相同的所有功能、加上用于实现可扩展虚拟桌面基础设施(vdi)的选项。思杰虚拟app/cvad可用作云服务或传统软件配置。
72.这种计算机虚拟化基础设施传统上可以利用独立计算架构(ica)协议和ica文件以用于认证客户端设备以访问用户有权利访问的虚拟会话和计算资源。ica是一种协议,该协议被设计成通过网络来传输windows图形显示数据以及用户输入。ica文件包含短期安全票证权威机构(sta)和登录票证。sta票证可以用于授权经由网关(例如,思杰网关)至虚拟递送器具(例如,思杰虚拟递送代理商(vda))的连接。登录票证可以使用户单点登录(sson)到虚拟计算会话中。在cvad的情况下,这是通过“高清晰度”体验(hdx)会话来完成的,该会话可以可供集中式应用和桌面的用户在不同的客户端设备上并且通过不同的网络来使用。思杰hdx被构建在ica远程协议之上。
73.在任何远程或其他网络基础设施的情况下,来自外部攻击的安全性始终是重要的问题。此外,连接租用是长期的(例如,基于策略,几个小时到几周)并且因此攻击机会窗口增加,与传统的ica文件相比,安全性要求也增加。因此,连接租用是经加密和签名的。连接租用也可能被撤销,以应对诸如被盗的设备、受损的用户帐户、关闭的用户帐户等事件。当客户端/端点设备或主机相对于连接租用发布服务(clis)或代理是在线时,应用连接租用撤销。然而,对于客户使用先前发布的连接租用而言,clis或代理通常不需要在线,因为连接租用是为了在离线模式下使用的。
74.系统200说明性地包括计算设备201,计算设备201被配置成存储和更新多个客户端设备203a

203n的已公布资源权利202。举例来说,计算设备201可以是代理服务或连接租用发布服务的一部分,并且已公布资源权利可以涉及客户端设备203a

203n被准许或授权访问的虚拟计算资源(例如,saas应用、daas会话、虚拟app/桌面等)。如上所指出,客户端设备203a

203n可以是台式或膝上型计算机、平板计算机、智能电话等。
75.系统200进一步说明性地包括经由网络205(例如,互联网或web)与客户端设备203a

203n通信的多个虚拟递送器具204a

204n。虚拟递送器具204a

204n被配置成:从客户端设备203a

203b接收连接请求,该连接请求包括基于客户端设备的相应已公布资源权利202而发布的连接租用。在示例实现方式中,例如,可以使用思杰虚拟递送代理商(vda)来实现虚拟递送器具204a

204n,尽管在不同的实现方式中可以使用其他合适的虚拟递送器具。
76.虚拟递送器具204a

204n还被配置成:从计算设备201请求连接租用的验证,并且响应于来自计算设备的连接租用的验证向客户端设备203a

203n提供对与已公布资源权利202相对应的虚拟会话的访问。在这点上,响应于来自虚拟递送器具204a

204n的验证请求,
计算设备201还将连接租用与其维护的经更新的已公布资源权利202进行比较,并且相应地验证虚拟会话请求。
77.现在将在图7中所示的计算系统250的示例实现方式的上下文中进一步描述前述内容。在所图示的示例中,上面描述的计算设备201和租用生成功能在云计算服务255(例如,思杰云)内执行,该云计算服务255说明性地包括云接口256,该云接口256被配置成与客户端设备252对接以用于登记和租用生成。在示例实现方式中,云接口256可以利用思杰工作空间来实现,并且客户端设备252可以运行思杰工作空间app,尽管在不同的实施例中可以使用其他合适的平台。云计算服务255进一步说明性地包括信任根(rot)257、连接租用发布服务(clis)258、网关服务259、代理260和数据库261,这将在下面进一步描述。
78.客户端设备252具有与其相关联的公共

私有加密密钥对,在所图示的示例中,该密钥对由硬件支持的密钥存储262来创建。硬件支持的密钥存储262防止客户端设备252操作系统(os)访问私有密钥。客户端设备252os利用私有密钥来执行密码操作,但是不具有访问/导出该密钥的能力。硬件支持的密钥存储的示例包括例如个人计算机(pc)上的可信平台模块(tpm)、ios安全飞地(secure enclave)和安卓硬件密钥存储,尽管也可以使用其他合适的加密密钥生成平台。作为背景,在一些实施例中,诸如tpm之类的硬件支持的密钥存储262是安装在客户端设备252的主板上的微芯片,并且被设计成提供基本的安全相关功能,例如主要涉及加密密钥。硬件支持的密钥存储262通过使用硬件总线与该系统的其余部分进行通信。并入了硬件支持的密钥存储262的客户端设备252可以创建密码密钥并对它们进行加密,使得它们只能够由硬件支持的密钥存储262来解密。被称为包裹(wrapping)或绑定(binding)密钥的该过程可以帮助保护该密钥以免泄露。硬件支持的密钥存储262可以具有被称为存储根密钥的主包裹密钥,该主包裹密钥被存储在硬件支持的密钥存储262本身内。在硬件支持的密钥存储262中创建的存储根密钥或认可密钥的私有部分从不暴露于任何其他组件、软件、进程或用户。因为硬件支持的密钥存储262使用其自己的内部固件和逻辑电路来处理指令,所以它不依赖于操作系统,并且它不会暴露于可能存在于操作系统或应用软件中的漏洞。
79.转回到图7,客户端设备252将其公共密钥提供给云接口256(图7中的步骤(1)),然后云接口256具有由rot 257签名的公共密钥(图7中的步骤(2)),并且将经签名的公共密钥返回给客户端设备(图7中的步骤(3))。具有由rot 257签名的公共密钥是重要的,因为网关263、虚拟递送器具253和代理260也信任rot,并且因此可以使用其签名来认证客户端设备公共密钥。
80.客户端设备252然后可以经由云接口256与clis 258通信,以获得连接租用(图7中的步骤(4))。客户端设备252的公共密钥可以要么间接经由代理260要么直接由客户端设备提供给主机或虚拟递送器具253(例如,思杰vda)。如果客户端设备252的公共密钥被间接提供给虚拟递送器具253,则可以利用与客户端到代理的通信和虚拟递送器具到代理的通信相关联的安全性,以用于安全的客户端公共密钥传输。然而,这可能涉及相对大量的客户端公共密钥(来自多个不同的客户端设备252)被间接传送到虚拟递送器具253。
81.另一方面,客户端设备252的公共密钥可以由客户端设备直接提供给虚拟递送器具253,在本情况下,这是经由网关263完成的(图7中的步骤(5))。客户端设备252和虚拟递送器具253两者都信任rot 257。由于虚拟递送器具253信任rot 257并且有权访问rot公共
密钥,因此虚拟递送器具253能够基于公共密钥上的rot签名来验证客户端设备252的有效性,并且如果有效,则可以信任客户端设备公共密钥。在又一个实施例中,客户端设备公共密钥也可以可选地由代理260来预先签名。客户端设备252和虚拟递送器具253两者都信任代理260。由于虚拟递送器具253信任代理260并且有权访问代理公共密钥,因此虚拟递送器具253能够基于公共密钥上的代理签名来验证客户端设备252的有效性,并且如果有效,则可以信任客户端设备公共密钥。在所图示的示例中,客户端设备252的经签名的公共密钥连同连接租用一起经由网关263被直接提供给虚拟递送器具253。在示例实现方式中,网关263可以使用例如思杰网关来实现,尽管在不同的实施例中也可以使用其他合适的平台。
82.虚拟递送器具253和网关263可以经由云连接器264与代理260和网关服务259(其可以使用例如思杰安全web网关来实现)进行通信。在示例实施例中,云连接器264可以利用思杰云连接器来实现,尽管在不同的实施例中也可以使用其他合适的平台。思杰云连接器是如下组件:该组件用作思杰云与客户资源位置之间的通信的通道,从而在无需复杂的联网或基础设施配置的情况下实现云管理。然而,在不同的实施例中也可以使用其他合适的云连接基础设施。
83.客户端设备252的经签名的公共密钥、或客户端设备的经签名的公共密钥的散列(指纹)被包括在由clis 258生成的连接租用中,并且是在计算连接租用的签名时被包括的连接租用的字段之一。连接租用的签名帮助确保连接租用内容有效并且未被篡改。因此,连接租用是针对特定客户端设备252而不仅仅是特定认证用户来创建的。
84.此外,虚拟递送器具253可以使用质询

响应来验证客户端设备252是对应私有密钥的真正所有者。首先,虚拟递送器具253验证客户端设备252公共密钥是有效的,并且更特别地由rot 257和/或代理260来签名(图7中的步骤(6))。在所图示的示例中,如上所指出,客户端设备252的公共密钥由客户端设备直接发送到了虚拟递送器具253。在一些实施例中,当客户端设备252或虚拟递送器具253相对于clis 258或代理260离线时,可以应用连接租用撤销。在线不是使用连接租用的要求,这是因为连接租用可以在离线模式下使用。连接租用和撤销列表细节可以存储在数据库261中,以供由代理260与虚拟递送器具253所提供的信息进行比较。
85.其次,在客户端设备252与虚拟递送器具253之间的早期会话建立时、例如在传输和表示层协议建立之后,虚拟递送器具253向客户端设备252进行质询,以用其私有密钥来签名随机数(在密码通信中使用一次的任意数字)(图7中的步骤(7))。虚拟递送器具253利用客户端设备252的公共密钥来验证随机数的签名。这允许虚拟递送器具253知道客户端设备252实际上是对应私有密钥的所有者。应当注意的是,如果需要,在一些实施例中,该步骤可以在利用rot 257和/或代理260来验证客户端设备252的公共密钥之前执行。
86.此外,虚拟递送器具253验证连接租用包括与客户端设备252公共密钥匹配的公共密钥(或公共密钥的散列)。更特别地,虚拟递送器具253首先验证连接租用签名和日期,从而确保租用上的代理260签名有效(使用rot 257的经签名的代理公共密钥,因为虚拟递送器具信任rot)并且租用尚未到期。此外,虚拟递送器具253可以验证连接租用包括客户端设备252公共密钥或客户端设备公共密钥的散列,在这种情况下,虚拟递送器具计算客户端设备公共密钥的散列。如果连接租用包括匹配的客户端设备252公共密钥,则虚拟递送器具253确认连接租用是从针对其创建了该连接租用的客户端设备发送的。
87.因此,如果从客户端设备252盗取了连接租用并且从恶意客户端设备使用了该连接租用,则恶意客户端与虚拟递送器具253之间的会话建立将不会成功,这是因为恶意客户端设备将无权访问客户端私有密钥,该密钥是不可导出的并且存储在硬件支持的密钥存储262中。
88.如上面参考图6简要指出的,所图示的连接租用管理基础设施还有利地允许使用从虚拟递送器具253(例如,思杰vda等)作为目标资源位置到代理260(例如,思杰虚拟app和桌面代理)的“反向会话准备”操作来进行连接租用验证。这可以结合在客户端设备252与虚拟递送器具253之间发生的连接租用交换、并且利用来自代理260和虚拟递送器具253的签名响应来完成。如下面将进一步描述的,关于连接租用,它们在弹性、安全性、性能和用户体验(ux)方面起到了重要的作用。此外,如下面将进一步描述的,连接租用管理基础设施还允许相比于离线模式的在线模式作为层级式机会方法中的阶段,以用于增加弹性并且促进关于权利、策略和连接操纵的准确实时数据。
89.更特别地,如上所指出,连接租用包括用于长期使用(例如,一周)的权利和资源位置数据的静态快照。然而,在某些情况下,cl的静态性质加上用户权利和已公布资源位置状态的动态特性可能会导致弹性或性能问题。例如,个体资源位置(例如,虚拟递送器具253)可能不具有关于用户已经在不同机器上运行的会话的任何知识。虚拟递送器具间的通信可能是复杂的,需要特殊的安全措施,并且难以用最新的软件版本进行维护。仍进一步,即使vda间通信可用于虚拟递送器具253交换其状态、用户会话等的知识,如果客户端设备252以某种方式开始依赖于潜在的恶意虚拟递送器具来将其重定向到正确的虚拟递送器具实例,则可能仍然存在安全问题。
90.用于每个用户连接租用的虚拟递送器具253指派的智能分配的技术提高了用户回到其优选虚拟递送器具实例上的其会话的机会,但是他们没有被保证始终工作。例如,虚拟递送器具可能已经停机或过载(低可用cpu、存储器或网络带宽),并且用户可能已经被重定向到另一个虚拟递送器具实例(例如,作为基于高使用率、中断等将客户端设备定向到连接租用中列出的替代虚拟递送器具的连接租用扇出方法的结果)。因此,用户将获得新的会话,并且不能够在另一个器具上从其在先前会话中中断的地方继续其工作。
91.在另一个示例问题中,用户可能不能够在现有会话中与应用进行会话共享,这将导致性能(登录时间)、可扩展性(针对虚拟递送器具)和用户体验(例如,没有直接复制粘贴或其他应用间通信)问题。此外,上述连接租用方法在某些情况下也可能潜在地导致性能问题,这是因为客户端设备252或网关263必须重复尝试连接到连接租用中列出的下一个虚拟递送器具实例。
92.此外,围绕汇集的虚拟递送器具253的使用可能存在安全问题,汇集的虚拟递送器具253是在首次使用时指派的机器实例。如果汇集的虚拟递送器具253上的软件以某种方式被恶意更改以使其看起来似乎汇集的虚拟递送器具仍未被使用,则不同的用户然后可以连接到成功地得到代理260授权的相同虚拟递送器具253(如果它也被列出在他们的连接租用中的话),并且要么经由单点登录要么交互式地向器具253提供其证书。虚拟递送器具253上的被更改的软件然后可以代表恶意用户来收集用户证书。因此,恶意用户可能潜在地收集其他毫无戒心的用户的证书。
93.另一个潜在问题是:连接租用中列出的虚拟递送器具253可能经历诸如时钟漂移
之类的问题,从而由于错误的时间验证而在连接租用交换期间拒绝原本有效的连接租用。如果那个虚拟递送器具253被包括在许多用户的连接租用中,则可能发生中断,因为具有漂移时钟的虚拟递送器具将变成“黑洞”。类似地,虚拟递送器具253上的软件可能潜在地变得被损坏,并且如果虚拟递送器具已经离线达长时间并且密钥已经被旋转,则器具253的密钥可能变得无效。在不联系代理260的情况下,虚拟递送器具253在这里可能再次拒绝连接,并且有成为“黑洞”的风险。
94.在功率管理场景中,另一个问题是在用户的连接租用中列出的有限的一组虚拟递送器具253可能不再可用(例如,机器关机等)。类似地,连接租用中的该组汇集的虚拟递送器具253可能已经由其他用户所使用。因此,即使可能存在可用的机器,用户也将无法连接,这是因为用户连接租用中列出的机器不可用。
95.本文中描述的方法有利地帮助克服这些技术挑战并且提供附加的益处。更特别地,在代理260可用或在线的正常操作条件期间,虚拟递送器具253利用来自代理的实时数据以及经签名的响应来验证连接租用,并且将客户端设备252与所请求的资源(虚拟计算会话254)进行连接。也就是说,虚拟递送器具253被约束到连接租用中的权利和资源位置数据的静态快照,而是取而代之在提供会话访问时从代理260访问实时的、经更新的已公布资源权利数据(图7中的步骤(8))。
96.在这点上,虚拟递送器具253可以在会话访问的时间处被用作虚拟“存储服务”,以经由反向会话准备操作传送回到代理260,以提供例如关于权利、策略和连接操纵(将客户端设备252定向到与最初请求的虚拟递送器具不同的虚拟递送器具)的当前实时和最新数据。图8的序列图280中示出了当代理260在线并且由虚拟递送器具253呈现了有效连接租用请求时发生的示例反向会话准备序列。在所图示的示例中,虚拟递送器具253处的协议栈281执行连接租用签名和日期的初始验证,然后它将该初始验证连同连接租用对称密钥一起传递给虚拟递送器具253处的会话管理器282,在一些实施例中,该连接租用对称密钥可以利用虚拟递送器具253的公共密钥来加密,使得会话管理器282可以解析连接租用并且提取其有效载荷。在一些实施例中,连接租用可以采用javascript对象符号(json)文档的形式,并且可以至少由清单(manifest)、有效载荷和签名部分组成。连接租用的清单可以是透明的,即未加密的,并且可以包含诸如连接租用标识符(id)、类型(例如,思杰虚拟app和桌面)、有效期(有效开始和有效结束日期和时间)、用户id、客户id、工作空间存储(例如,云接口256)、统一资源定位符(url)、已公布资源密钥和名称、端点(例如,客户端设备252)公共密钥指纹(例如,散列)等信息。连接租用有效载荷可以利用上述对称密钥来加密,并且可以包含虚拟递送器具ip地址和/或完全限定的域名(fqdn)、端口号、传输类型、代理信息、区域信息、网关信息、云连接器信息、虚拟会话偏好(例如,会话分辨率、音频、视频、usb和其他设备类型偏好、相比于桌面模式的无缝应用)等中的至少一个。连接租用签名可以应用于清单和有效负载部分两者,以确保连接租用尚未被篡改。回到图8的序列图280,会话管理器282可以进一步与虚拟递送器具253处的密码服务283进行通信,该密码服务283可以利用虚拟递送器具253的私有密钥来解密连接租用对称密钥,利用连接租用对称密钥来解密有效载荷,并且将解密的有效载荷返回给会话管理器282。
97.由于如先前所描述,连接租用清单已经包括了用户标识符(id)和已公布资源密钥,会话管理器282然后可以通过将连接租用清单和有效载荷转发到虚拟递送器具253的代
理代理商284来进行发起反向会话准备操作,代理代理商284将验证请求传递给代理260。代理260进而对会话结果进行验证和签名,并且将适当的信息返回给代理代理商284(例如,以指示被允许或拒绝的请求的状态、策略blob等的形式)。代理代理商284然后在虚拟递送器具253处应用策略blob,并且将经代理签名的验证会话结果(例如,validatesessionresult)返回给会话管理器282。会话管理器282可以相应地创建资源连接票证(例如,虚拟递送器具253连接票证),该资源连接票证然后与经代理签名(验证)的会话结果一起被提供给协议栈281。
98.从虚拟递送器具253到代理260的反向会话准备调用将validatesessionresult返回给虚拟递送器具253,validatesessionresult包括请求的状态(例如,被允许、被拒绝、重定向到另一个虚拟递送器具实例等)和其他信息。代理260针对性能和弹性对validatesessionresult进行签名,例如独立于其他服务。代理260的公共密钥有利地被包括在用户的资源连接租用中。由此,客户端设备252和网关263可以验证validatesessionresult的签名,因为它们已经验证并信任连接租用本身。在替代实施例中,由信任根(rot)257的私有密钥签名的代理260的公共密钥可以有利地被包括在经签名的validatesessionresult本身中。由此,客户端设备252和网关263可以首先使用rot 257的公共密钥来验证代理269的所包括的公共密钥的签名,因为它们两者都信任rot 257,然后使用代理269的经验证的公共密钥来验证validatesessionresult的签名。图11的表310列出了在代理260的在线与中断模式中作为validatesessionresult的一部分而返回的值,其中在“允许”行中示出的是,当代理在线时,由代理260提供用于有效连接租用的经签名(经验证)的validatesessionresult。
99.现在参考图9a

9b的序列图290来描述示例虚拟递送器具253到代理260注册序列。密钥初始化开始于:连接租用发布服务(clis)258向信任根(rot)257提供其公共密钥,该公共密钥被签名并且与rot公共密钥一起返回给clis,并且然后被传递给机器创建服务(mcs)291和代理260。mcs 291生成虚拟递送器具253通用唯一标识符(uuid)和虚拟递送器具私有/公共密钥对,并且具有由rot 257签名的公共密钥。然后,mcs 291从代理260请求经签名的响应,并且以经代理签名的“允许”的形式接收对连接请求的响应,此时,mcs可以创建针对虚拟递送器具253的包括该信息的身份盘(identity disk)。
100.然后,该身份盘可以用于供应虚拟递送器具注册表292或等同的访问控制列表(acl)保护的存储器位置,这允许在代理260停机或离线并且虚拟递送器具253未注册时进行密码操作。在初始化时,密码服务283可以以提升的权限(例如,本地系统)从虚拟递送器具注册表292中读取rot 257公共密钥、以及由rot签名的clis 258和虚拟递送器具253公共密钥、以及虚拟递送器具253私有密钥,以允许在代理260停机并且虚拟递送器具未注册时进行经签名的响应,如表310的“允许”行中针对代理中断(这将在下面进一步讨论)所示的那样。当代理代理商284初始化时,从虚拟递送器具注册表292读取被签名为“允许”的虚拟递送器具253 uuid和代理260,并且通过将虚拟递送器具uuid从代理代理商284传送到代理260来执行虚拟递送器具注册以完成注册过程。
101.现在参考图10a

10b的序列图300来描述例如使用可信平台模块(tpm)或软件密钥存储提供商(ksp)301的另一示例虚拟递送器具253到代理260注册序列。如上所讨论,首先在代理260、clis 258和rot 257之间执行密钥初始化序列。在初始化时,密码服务283可以
以提升的权限(例如,本地系统)从虚拟递送器具注册表292中读取虚拟递送器具253私有密钥。如果该密钥不存在,则tpm 301可以首先生成虚拟递送器具253公共密钥/私有密钥对,并且将公共密钥提供给密码服务283。密码服务283然后可以将公共密钥存储在虚拟递送器具注册表292中。如果虚拟递送器具253 uuid已经存在,则代理代理商284从虚拟递送器具注册表292中读取它(否则代理代理商284将生成它,并且然后将其存储在虚拟递送器具注册表292中)。代理代理商284还从虚拟递送器具注册表292中读取虚拟递送器具253公共密钥。然后可以通过从代理代理商284向代理260提供虚拟递送器具253 uuid和公共密钥来执行虚拟递送器具253注册。代理260具有由rot 257签名的虚拟递送器具253公共密钥。代理260然后生成经代理签名的“允许”,以在代理260停机时允许虚拟递送器具253进行经签名的响应。代理260然后向代理代理商284提供注册响应,代理代理商284随后将rot 257公共密钥、由rot 257签名的clis 258和虚拟递送器具253公共密钥、以及经代理签名的“允许”写入虚拟递送器具注册表292。
102.作为上面描述的虚拟递送器具253注册序列的结果,当代理260离线时,虚拟递送器具仍然可以有利地提供安全虚拟会话访问,其中代理代理商284接管作为临时或替代代理。如上所指出,表310总结了各种代理260在线和中断模式的示例会话验证结果,这些结果包括经签名的“允许”、经签名的“拒绝”、经签名的“重定向

目标”和“软拒绝”。关于安全性,该配置有利地帮助避免被重定向到“恶意”虚拟递送器具253,因为如上所描述,“允许”(在该虚拟递送器具处接受连接)和“重定向

目标”(重定向到不同的目标虚拟递送器具)响应两者被签名,从而允许客户端设备252和/或网关263在信任该连接之前验证该响应。
103.此外,该配置还帮助避免受损害的虚拟递送器具253引诱用户并且盗取他或她的证书(例如,具有管理员访问权限的上面描述的汇集的虚拟递送器具)。更具体地,对于汇集的虚拟递送器具253配置而言,例如,所存储的预先签名的允许准许代理代理商284接受第一(单个)用户连接,并且此后可以从代理代理商中自动移除该预先签名的允许。因此,会话请求验证不会基于短期的代理中断而立即停止,然而,如果中断持续存在,则另外的客户端设备252将不被准许使用虚拟递送器具253,从而避免了如上所描述的其相关联的用户证书被盗取的可能性。
104.示例配置还有利地帮助在离线和在线代理260模式两者中提供增强的弹性。更特别地,在离线模式中,虚拟递送器具253对“软拒绝”的使用帮助针对时钟漂移或其他虚拟递送器具故障(如密钥过期/轮换)和连接租用签名验证故障进行保护。也就是说,软拒绝经由上述连接租用机制隐式地将客户端设备252重定向到不同的虚拟递送器具253,使得如果第一虚拟递送器具由于时钟漂移等而不能够验证连接租用,则客户端设备252仍然可以被隐式地重定向到已经在客户端的连接租用资源位置中列出的另一虚拟递送器具,该另一虚拟递送器具可以正确地验证连接租用,使得客户端设备将不会经历服务缺乏。换句话说,在接收到“软拒绝”之后,客户端设备252(例如,用于至虚拟递送器具的直接连接)和/或网关263(例如,用于网关连接)将选择在连接租用资源位置中列出的下一个虚拟递送器具,并且取而代之尝试连接到该下一个虚拟递送器具。选择下一个可用虚拟递送器具的该连接过程也可以称为“扇出”。为此,代理代理商284不会(像代理260可能做的那样)拒绝请求,而是取而代之利用“软拒绝”。
105.在在线模式中,“重定向

目标”可以类似地允许重定向到当前连接租用资源位置
之外的可用虚拟递送器具253,例如,作为功率管理问题或已经在使用的汇集的vda的结果,并且再次帮助防止客户端设备252由于其连接租用中的(一个或多个)特定虚拟递送器具处的局部化问题而经历服务下降。关于“重定向

目标”(这意味着代理260在线)的情况下的性能,该方法不仅避免了连接租用“扇出”方法以提供更好的连接速度,它还允许例如与先前启动的不同应用的会话共享。此外,“重定向

目标”(在线代理260模式)的用户体验允许用户与现有会话重新连接,这与获得新会话并且不重新使用工作形成对照。例如,在不利用“重定向

目标”的情况下,要连接到的虚拟递送器具的选择可能仅限于已经在连接租用资源位置中列出并且按指定的选择次序列出的那些。在可能的场景中,客户端设备252的用户可能最初已经连接到第一虚拟递送器具并开始应用或桌面会话。该第一虚拟递送器具可能不一定是连接租用资源位置次序中的第一选择,例如,如果第一选择虚拟递送器具在该时间处不可用或过载的话。在稍后时间处,用户可能会尝试重新连接到第一虚拟递送器具上的其现有会话。严格遵循连接租用资源位置次序将把客户端设备252的用户连接到第一选择虚拟递送器具,假设它现在是可用的,因此将用户指派给新的会话,而不是重新使用工作。“重定向

目标”通过将用户重定向到已经托管其会话的虚拟递送器具来解决该问题,尽管它可能不是连接租用资源位置中规定的第一选择。
106.在示例实现方式中,可以使用“迷你”连接租用来验证会话结果。例如,迷你连接租用可能是在“redirecttarget”中使用的包含“connectiondetails”的json。下面阐述了示例json迷你连接租用脚本:
107.在另一示例实施例中,代理260公共密钥不被包括在连接租用中。而是,代理260公共密钥由rot 257的私有密钥来签名。然后,连同每个经签名的验证对象(validatesessionresult),代理260还返回由rot 257私有密钥签名的其代理公共密钥。客户端252和/或网关263信任rot 257公共密钥。因此,客户端252和/或网关263可以使用rot 257公共密钥来验证代理260公共密钥的签名。现在,代理260公共密钥是可信的,而不必将其包括在连接租用中。然后,可以使用代理260公共密钥来验证或认证验证对象。
108.可以在客户端设备252与虚拟递送器具253之间使用各种连接方法。在客户端设备252与虚拟递送器具253之间存在直接连接的情况下(没有网关263),可以将validatesessionresult从虚拟递送器具253发送到客户端设备252,并且客户端设备执行验证。在网关263存在的情况下,首先将validatesessionresult从虚拟递送器具253发送到网关,并且网关验证它。然后,取决于结果的类型(例如,允许、拒绝等),它可以被中继到客户端设备252。在一个示例实现方式中,软拒绝和重定向

目标由网关263来处理,而不是中继到客户端252。validatesessionresult然后也可以从网关263被发送到客户端设备252,使得客户端设备也可以验证它。
109.现在将关于图12的流程图320来描述进一步的方法方面。在框321处开始,该方法开始于:在框322

323处,在计算设备201处存储和更新客户端设备203a

203n的已公布资源权利,并且使用虚拟递送器具204a

204n以从客户端设备203a

203n接收连接请求。如上所
指出,连接请求包括基于客户端设备203a

203n的已公布资源权利202而发布的连接租用,并且虚拟递送器具204a

204n从计算设备201请求连接租用的验证(框324)。该方法进一步说明性地包括:在框325处,在计算设备201处,响应于来自虚拟递送器具204a

204n的验证请求将连接租用与所更新的已公布资源权利202进行比较,并且基于此来验证虚拟会话请求。该方法还说明性地包括:在框326处,在虚拟递送器具204a

204n处,响应于来自计算设备201的连接租用的验证向客户端设备203a

203n提供对与已公布资源权利202相对应的虚拟会话的访问,这说明性地结束了图12的方法(框327)。
110.在图13的流程图330中还示出了附加的方法方面。在框331处开始,如上所指出,连接租用还可以是基于时间的,并且在例如框332

333处,虚拟递送器具204a

204n可以进一步在从计算设备201请求连接租用的验证之前执行连接租用的基于时间的验证。也就是说,连接租用在某个时间段内被发布,并且在该时间之外是不能使用的,除非被更新或重新发布。还如上所指出,在框334

335处,连接租用可以列出指派给相应客户端设备203a

203n的虚拟递送器具204a

204n的子集,并且计算设备201可以基于虚拟递送器具使用水平(例如,超过使用阈值)将具有经验证的连接租用的客户端设备重定向到所列出的虚拟递送器具子集内部或外部的虚拟递送器具。此外,可以使用计算设备201的私有加密密钥来对连接租用进行签名,并且虚拟递送器具可以在从计算设备请求连接租用的验证之前使用计算设备的公共加密密钥来验证连接租用(框336),还如上面进一步讨论的那样。图13的方法说明性地在框337处结束。
111.如本领域技术人员在阅读前述公开后将理解的,本文中描述的各个方面可以体现为设备、方法或计算机程序产品(例如,具有用于执行所指出的操作或步骤的计算机可执行指令的非暂时性计算机可读介质)。因此,这些方面可以采取完全硬件实施例、完全软件实施例、或组合了软件和硬件方面的实施例的形式。
112.此外,这种方面可以采取由一个或多个计算机可读存储介质存储的计算机程序产品的形式,该计算机可读存储介质具有体现在存储介质中或其上的计算机可读程序代码或指令。可以利用任何合适的计算机可读存储介质,包括硬盘、cd

rom、光学存储设备、磁性存储设备和/或其任何组合。
113.受益于前述描述和相关联附图中给出的教导的本领域技术人员将想到许多修改和其他实施例。因此,要理解的是,前述内容不限于示例实施例,并且修改和其他实施例意图被包括在所附权利要求的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献