[go: up one dir, main page]

CN102404314A - 远程资源单点登录 - Google Patents

远程资源单点登录 Download PDF

Info

Publication number
CN102404314A
CN102404314A CN2011103079384A CN201110307938A CN102404314A CN 102404314 A CN102404314 A CN 102404314A CN 2011103079384 A CN2011103079384 A CN 2011103079384A CN 201110307938 A CN201110307938 A CN 201110307938A CN 102404314 A CN102404314 A CN 102404314A
Authority
CN
China
Prior art keywords
server
voucher
user
client computer
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011103079384A
Other languages
English (en)
Other versions
CN102404314B (zh
Inventor
S·A·库辛
A·叶廖缅科
I·本-沙哈尔
A·候赛因
J·贝克
R·M·雷斯库西吉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102404314A publication Critical patent/CN102404314A/zh
Application granted granted Critical
Publication of CN102404314B publication Critical patent/CN102404314B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及远程资源单点登录。描述了用于允许单点登录到被配置成进行远程呈现会话的操作系统的示例性技术。在一示例性实施例中,用户凭证被使用由远程呈现会话服务器所生成的加密密钥来加密并被发送给客户机。客户机可以将经加密的用户凭证发送到远程呈现会话服务器。远程呈现会话服务器可以解密用户凭证并使用它来使用户登录到在远程呈现会话服务器上运行的操作系统。除以上之外,权利要求书、具体实施方式和附图中描述了其他技术。

Description

远程资源单点登录
技术领域
本发明涉及单点登录,尤其涉及远程资源单点登录。
背景技术
虚拟机平台通过在每一操作系统自己的虚拟机内运行该操作系统来启用多个客操作系统在物理机上的同时执行。可以在虚拟机中提供的一个示例性服务是虚拟桌面会话。虚拟桌面会话在本质上是在虚拟机内运行的将其用户界面发送到远程计算机的个人计算机环境。这一体系结构类似于远程桌面环境,但改为使多个用户同时连接到操作系统,在虚拟桌面会话中每一用户能够访问在虚拟桌面环境中的虚拟机中执行的他们自己的操作系统。
单点登录是跨相关但不同的计算机系统的访问控制的性质。有了单点登录,用户可以登录一次并获得对多个独立的计算机系统的访问。与其中用户只需要向服务器证明他们的身份就能获得访问权的大多数场景不同,在访问远程呈现会话服务器,即虚拟桌面服务器或远程桌面服务器时,用户凭证实际上需要被发送到该远程呈现会话服务器以进行确认。这一要求需要对凭证可被发送到的远程资源进行严格限制,尤其是在无需用户同意就发送凭证的情况下,因为单点登录通常是这种情况。通常,这样的远程资源的列表由域策略来管制并且在将凭证发送给每一远程资源之前该资源必须被认证。在这样的远程资源的集合是大型的并且持续变化的环境中,维护这样的策略变成管理员的巨大负担。在远程资源是在进行中为用户创建的情况下,维护这样的策略是不可能的。
因此,用于允许用户单点登录到服务器被动态地添加到数据中心的环境中的远程呈现会话和/或用于允许用户简化这样的域策略的维护的技术是合乎需要的。
发明内容
一示例性实施例描述了用于实现用于远程呈现会话的单点登录的系统。在所示实施例中,该系统可包括但不限于,被配置成使用由第二服务器生成的唯一的加密密钥来加密从客户机接收到的用户凭证并将经加密的用户凭证发送给客户机的第一服务器。在该示例实施例中,第二服务器可被配置成解密从客户机接收到的经加密的用户凭证的副本;使与该用户凭证的经解密的副本相关联的用户登录到操作系统;以及与客户机进行远程呈现会话。除以上之外,权利要求书、具体实施方式和附图中描述了其他技术。
除了系统之外,一示例性实施例提供了一种包括用于实现用于远程呈现会话的单点登录的可执行指令的计算机可读存储介质。在该示例中,该计算机可读存储介质包括但不限于各个指令,这些指令在执行时使得处理器:生成加密密钥并将其与唯一标识符相关联;将该加密密钥和该唯一标识符发送给被配置成使用该加密密钥来加密用户凭证的副本的第二服务器;从客户机接收用户凭证的经加密的副本和唯一标识符;将与用户凭证相关联的用户解密到虚拟桌面会话;使与用户凭证相关联的用户登录到虚拟桌面会话;与客户机进行虚拟桌面会话。除以上之外,权利要求书、具体实施方式和附图中描述了其他技术。
在又一示例实施例中,提供了一种单点登录方法,该方法包括但不限于:将用户凭证发送给第一服务器;从第一服务器接收第二服务器的网络标识符和由第二服务器所生成的加密密钥来加密的用户凭证的经加密的副本;将用户凭证的经加密的副本发送给第二服务器的网络标识符;接收指示用户凭证被验证并被用于使客户机的用户登录到第二服务器上的远程呈现会话的信号;以及显示指示远程呈现会话的用户界面图形。除以上之外,权利要求书、具体实施方式和附图中描述了其他技术。
本领域技术人员将理解,此处所描述的一个或多个方面可包括但不限于用于实现此处所引用的方面的电路和/或编程;该电路和/或编程实质上可以是配置成实现本文所引用方面的硬件、软件和/或固件的任何组合,这取决于系统设计者的设计选择。
以上是概述,并且因此必然包含细节的简化、一般化及省略。本领域技术人员将明白,本概述只是说明性的并且决不旨在是限制性的。
附图说明
图1描述了示例计算机系统。
图2描绘了描述示例性虚拟化平台的操作环境。
图3描绘了描述示例性虚拟化平台的操作环境。
图4描绘了远程桌面服务器的高级框图。
图5描绘了虚拟桌面服务器的高级框图。
图6描绘了数据中心的高级框图。
图7描绘了操作过程。
图8描绘了图7的操作过程的替换实施例。
图9描绘了操作过程。
图10描绘了图9的操作过程的替换实施例。
图11描绘了操作过程。
图12描绘了图11的操作过程的替换实施例。
具体实施方式
所公开的主题可使用一个或多个计算机系统。图1及以下讨论旨在提供可在其中实现所公开的主题的合适计算环境的简要概括描述。
贯穿本说明书使用的术语电路可包括诸如硬件中断控制器、硬盘驱动器、网络适配器、图形处理器、基于硬件的视频/音频编解码器等硬件组件,以及用于操作这些硬件的固件。术语电路还可包括由固件和/或软件来配置的微处理器、专用集成电路、以及处理器,例如多核通用处理单元的核(读取并执行程序指令的单元)。处理器可由从例如RAM、ROM、固件和/或大容量存储等存储器加载的指令来配置,从而具体化可用于配置处理器来执行功能的逻辑。在其中电路包括硬件和软件的组合的示例实施例中,实现者可以编写具体化逻辑的源代码,该源代码随后被编译成可由硬件执行的机器可读代码。因为本领域技术人员可以明白现有技术已经进化到硬件实现的功能或软件实现的功能之间几乎没有差别的地步,因而选择硬件还是软件来实现此处描述的功能只是一个设计选择。换言之,由于本领域的技术人员可以理解软件进程可被变换成等效的硬件结构,且硬件结构本身可被变换成等效的软件进程,因此选择硬件实现或是软件实现留给了实现者。
现在参考图1,描绘了示例性计算系统100。计算机系统100可包括处理器102,例如,执行核。尽管示出了一个处理器102,但在其他实施例中,计算机系统100可具有多个处理器,例如每一处理器衬底有多个执行核,和/或各自可具有多个执行核的多个处理器衬底。如图1所示,各种计算机可读存储介质110可由一个或多个系统总线互连,系统总线将各种系统组件耦合到处理器102。系统总线可以是几种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线、以及使用各种总线体系结构中的任一种的局部总线。在示例实施例中,计算机可读存储介质110可以包括例如随机存取存储器(RAM)104、存储设备106(例如电机硬盘驱动器、固态硬盘驱动器等)、固件108(例如闪速RAM或ROM)、以及可移动存储设备118(诸如例如CD-ROM、软盘、DVD、闪速驱动器、外部存储设备等)。本领域的技术人员应当理解,可使用其他类型的计算机可读存储介质,如磁带盒、闪存卡、和/或数字视频盘。
计算机可读存储介质110可提供对计算机100的处理器可执行指令122、数据结构、程序模块和其他数据的非易失性和易失性存储。基本输入/输出系统(BIOS)120可被存储在固件108中,它包含帮助在诸如启动期间在计算机系统100内的各元件之间传递信息的基本例程。包括操作系统和/或应用程序的多个程序可被存储在固件108、存储设备106、RAM 104和/或可移动存储设备118上,并且可由处理器102来执行。
命令和信息可由计算机100通过输入设备116来接收,输入设备可包括但不限于键盘和定点设备。其他输入设备可以包括话筒、操纵杆、游戏手柄、扫描仪等等。这些和其他输入设备常通过耦合到系统总线的串行端口接口连接到处理器102,但也可通过其他接口连接,如并行端口、游戏端口或通用串行总线(USB)。显示器或其他类型的显示设备也可经由诸如视频适配器等可以是图形处理器单元112的一部分或可连接到图形处理器单元112的接口来连接到系统总线。除了显示器之外,计算机通常包括其他外围输出设备,如扬声器和打印机(未示出)。图1的示例性系统还包括主适配器、小型计算机系统接口(SCSI)总线和连接到SCSI总线的外部存储设备。
计算机系统100可使用至一个或多个远程计算机,如远程计算机的逻辑连接在网络化环境中操作。远程计算机可以是另一计算机、服务器、路由器、网络PC、对等设备或其他常见的网络节点,并且通常可包括上面关于计算机系统100所描述的许多或全部元件。
当在LAN或WAN联网环境中使用时,计算机系统100可通过网络接口卡114连接至LAN或WAN。NIC 114可以是内置或外置的,其可以连接到系统总线。在联网环境中,相对于计算机系统100所描述的程序模块或其部分可被储存在远程存储器存储设备中。可以理解,此处所描述的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其他手段。此外,虽然可构想本发明的许多实施例尤其适用于计算机化的系统,然而在本说明中不意味着将本发明限于那些实施例。
转向图2,示出了可被用来生成虚拟机的示例性虚拟机服务器。在该实施例中,系统管理程序微内核202可被配置成控制并仲裁对计算机系统200的硬件的访问。系统管理程序微内核202可以隔离一个分区中的进程,使其不能访问另一分区的资源。例如,系统管理程序微内核202可以生成称为分区的执行环境,如子分区1到子分区N(其中N是大于1的整数)。在该实施例中,子分区是系统管理程序微内核202支持的基本隔离单元。每一子分区可被映射到在系统管理程序微内核202控制之下的一组硬件资源,例如,存储器、设备、处理器周期等。在各实施例中,系统管理程序微内核202可以是独立的软件产品、操作系统的一部分、嵌入在主板的固件中、专用集成电路、或其组合。
系统管理程序微内核202可以通过限制客操作系统对物理计算机系统中的存储器的视图来实施分区划分。当系统管理程序微内核202实例化一虚拟机时,它可以将系统物理存储器(SPM)的页(例如,具有开始和结束地址的固定长度存储器块)分配给虚拟机作为客物理存储器(GPM)。在该实施例中,客操作系统对系统存储器的受限视图受系统管理程序微内核202控制。术语客物理存储器是从虚拟机的视点描述存储器页的简写方式,且术语系统物理存储器是从物理系统的观点描述存储器页的简写方式。因此,被分配给虚拟机的存储器页会有客物理地址(虚拟机所使用的地址)和系统物理地址(页的实际地址)。
客操作系统可以虚拟化客物理存储器。虚拟存储器是一种管理技术,其允许操作系统过度提交存储器,并且给予应用程序对连续工作存储器的唯一访问。在虚拟化环境中,客操作系统可以使用一个或多个页表来将已知为虚拟客地址的虚拟地址转换成客物理地址。在该示例中,存储器地址可以具有客虚拟地址、客物理地址以及系统物理地址。
在所描绘的示例中,父分区组件也可被认为是类似于Xen的开源系统管理程序的域0,父分区组件可以包括主机204。主机204可以是操作系统(或一组配置实用程序),并且主机204可以被配置成通过使用虚拟化服务提供者228(VSP)向在子分区1-N中执行的客操作系统提供资源。VPS 228(一般在开源社区中被称为后端驱动程序)可用来通过虚拟化服务客户机(VSC)(在开源社区或类虚拟化设备中一般称为前端驱动程序)对到硬件资源的接口进行多路复用。如图所示,虚拟化服务客户机可以在客操作系统的上下文中执行。然而,这些驱动程序不同于客操作系统中的其余驱动程序,因为向它们提供了系统管理程序而非客操作系统。在一示例性实施例中,虚拟化服务提供者228与虚拟化服务客户机216和218通信所使用的路径可以被视为虚拟化路径。
如图所示,仿真器234(例如虚拟化IDE设备、虚拟化视频适配器、虚拟化NIC等)可被配置成在主机204中运行并被附连到可供客操作系统220和222使用的资源。例如,当客操作系统接触被映射到设备的寄存器的所处位置的存储器位置或接触被映射到设备的存储器时,微内核系统管理程序202可截取该请求并将客操作系统试图写入的值传递给相关联的仿真器。在该示例中,资源可被认为是虚拟设备所处的位置。仿真器的这种使用可以被视为仿真路径。仿真路径与虚拟化路径相比是低效的,因为和在VSP和VSC之间传递消息相比,它需要更多的CPU资源来仿真设备。例如,可以将经由仿真路径把值写入盘所需的、被映射至寄存器的存储器上的几百个动作减少为在虚拟化路径中从VSC被传递至VSP的一个消息。
每一子分区可包括一个或多个虚拟处理器(230和232),客操作系统(220和222)可管理并调度线程以便在这些虚拟处理器上执行。一般而言,虚拟处理器是提供具有特定架构的物理处理器的表示的可执行指令以及相关联的状态信息。例如,一个虚拟机可具有带有英特尔x86处理器特性的虚拟处理器,而另一虚拟处理器可具有PowerPC处理器的特性。本例中的虚拟处理器可被映射到计算机系统的处理器,使得实现虚拟处理器的指令将得到处理器的支持。由此,在包括多个处理器的实施例中,虚拟处理器可以由处理器同时执行,同时例如其他处理器执行系统管理程序指令。分区中虚拟处理器和存储器的组合可被认为是虚拟机。
客操作系统(220和222)可以是任何操作系统,如来自微软
Figure BSA00000591098000061
、苹果
Figure BSA00000591098000062
、开源社区等的操作系统。客操作系统可包括用户/内核操作模式,并且可具有能包括调度器、存储器管理器等的内核。一般而言,内核模式可包括处理器中的执行模式,该执行模式授予至少对特权处理器指令的访问。每一客操作系统可具有相关联的文件系统,该文件系统上存储有诸如终端服务器、电子商务服务器、电子邮件服务器等应用以及客操作系统本身。客操作系统可调度线程来在虚拟处理器上执行,并且可实现此类应用的实例。
现在参考图3,它示出基于一备选体系结构的虚拟机服务器。图3描绘了与图2的组件相类似的组件;然而,在该示例实施例中,系统管理程序302可包括微内核组件以及和图2的主机204中的组件(如虚拟化服务提供者228和设备驱动程序224)相类似的组件,而管理操作系统304可包含例如用于配置系统管理程序302的配置实用程序。在该体系结构中,系统管理程序302可以执行与图2的系统管理程序微内核202相同或相似的功能;然而,在该体系结构中,系统管理程序304可被配置成向在子分区中执行的客操作系统提供资源。图3的系统管理程序302可以是独立的软件产品、操作系统的一部分、嵌入在主板的固件内,或者系统管理程序302的一部分可以由专用集成电路来实现。
现在参考图4,它概括地示出了可主存多个同时的客户机会话的远程桌面服务器。在一示例性实施例中,可以使用加密密钥模块402和/或证书引擎404来实现单点登录,这在以下段落中更详细地描述。简言之,远程桌面服务器400可包括被配置成为多个客户机实现远程桌面会话的电路。在所描绘的示例中,远程桌面服务器400可被配置成生成一个或多个远程桌面会话,诸如会话1到N(其中N是大于1的整数)。简言之,远程桌面会话一般可包括供用户执行存储在服务器上的应用程序的操作环境。与控制台会话(例如其中用户登录到在物理上与该用户位于一处的计算机的会话)相反,远程桌面会话可以提供多个操作系统外壳,这可包括现代操作系统提供给多个用户的桌面和其他熟悉特征。这些特征由与操作系统414的内核420进行交互的多个子系统(如软件代码)实现。例如,会话可包括跟踪鼠标在桌面内的移动的子系统,等等。
会话可由远程桌面服务器400在逐个用户的基础上生成,例如在远程桌面服务器400通过网络连接接收来自客户机的连接请求时由远程桌面服务器400生成。连接请求首先可由远程呈现引擎406处理。远程呈现引擎406可以被配置成监听连接消息并将它们转发至会话管理器408。会话管理器408可通过向会话分配存储器并实例化诸如运行时子系统426等环境子系统来为连接中的客户机生成该会话,该会话可包括诸如会话核410、运行时子系统426等内核模式部分,其可担当应用程序的应用程序界面等。如图2所示,当会话被生成时,远程呈现引擎406可以产生每一会话的协议栈实例。一般而言,每个协议栈实例可被配置成将用户界面输出路由到相关联的客户机、以及将从相关联的客户机接收到的用户输入路由到合适的会话核410。
用户凭证(诸如用户名/口令组合)可由远程呈现引擎406接收并被传递至会话管理器408。会话管理器408可以将凭证传递至加载到会话内的登录过程,登录过程可以将凭证路由至认证子系统424以进行验证。认证子系统424可以生成系统令牌,系统令牌可以在每当用户尝试执行一进程以确定用户是否具有运行该进程或线程的安全凭证时使用。例如,当进程或线程尝试获得访问时(例如,打开、关闭、删除和/或修改例如文件、设置或应用程序这样的对象),线程或进程可由安全子系统422来认证。安全子系统422可以相对于与对象相关联的访问控制列表来检验系统令牌,并且基于系统令牌中的信息与访问控制列表的比较来确定线程是否具有许可。如果安全子系统422确定线程被授权,则允许该线程访问对象。
继续对图4的描述,在一实施例中,会话核410可以包括图形显示界面416(GDI)和输入子系统412。在一示例实施例中,输入子系统412可以被配置为通过与该会话相关联的协议栈实例接收来自客户机的用户输入并将该输入传输给会话核410。在一些实施例中,用户输入可包括指示绝对和/或相对鼠标移动命令、鼠标坐标、鼠标点击、键盘信号、操纵杆移动信号等的信号。例如图标上的鼠标双击等用户输入可被会话核410接收,并且输入子系统412可被配置成确定图标位于与该双击相关联的坐标处。输入子系统412随后可被配置成向可执行与该图标相关联的应用的进程的运行时子系统426发送通知。
绘制命令可从应用程序和/或桌面被接收,并由GDI 416处理。GDI 416一般可包括能生成图形对象绘制命令的进程。在该示例实施例中,GDI 416可以被配置成将命令传递给远程显示子系统418,该远程显示子系统418可为会话实例化显示驱动程序。在一示例实施例中,远程显示子系统418可被配置成包括虚拟显示驱动程序,虚拟显示驱动程序可被配置成接收绘制命令并将它们发送至客户机。
转向图5,它示出了被配置成进行多个虚拟桌面会话的示例性虚拟化主机。尽管示出了一个虚拟机,但虚拟化主机500可同时主存许多虚拟机。简言之,虚拟化平台502是如上在图2和图3中所述的虚拟化基础结构组件的逻辑抽象。所示出并被描述成处于虚拟化平台502“之内”的功能(如加密密钥模块402和/或证书引擎404)可在图2或图3中描绘的各元素中的一个或多个中实现。同样,加密密钥模块402以虚线示出,并且一实例被示出在虚拟化平台502和客操作系统506中。这示出了加密密钥模块402可任选地在虚拟化平台502内执行或一实例可在每一客操作系统内执行。
图4与图5之间的简单比较会揭示出用于实现远程桌面会话的组件类似于用于生成虚拟桌面会话的组件。这两种类型的会话之间的一个主要区别是虚拟桌面会话是在客户机与在虚拟机中运行的商用客操作系统之间进行的会话。在虚拟桌面会话中,操作系统与物理机分开并且作为客操作系统来运行。更重要的,单个用户被登录到客操作系统并且完全控制该虚拟机。即,用户可以作为具有对客操作系统的全部权限的管理员来运行,并且不必与其他用户竞争操作系统资源。另一方面,远程桌面会话不向远程用户提供对操作系统的完全控制,并且使用操作系统的定制的服务器版本。远程桌面会话部署涉及将服务器操作系统配置成允许多个用户同时登录到同一操作系统并使用它的资源。远程用户不作为管理员来连接并且竞争操作系统资源。
现在参考图6,它示出了其中可实现单点登录技术的示例性数据中心的高级框图。简言之,数据中心包括中介服务器608、客户机624、网关626、以及远程呈现会话服务器602,它们中的每一个可包括与参考图1描述的组件相类似的组件。远程呈现会话服务器602可被配置成进行远程呈现会话,例如虚拟桌面会话或远程桌面会话,并且可包括与参考图4描述的组件相类似的组件,即远程呈现会话服务器602可被配置成部署远程桌面会话,或包括与参考图5描述的组件相类似的组件,即远程呈现会话服务器602可被配置成部署虚拟桌面会话。因此,在一实施例中,操作系统604可以是客操作系统506,或者在另一实施例中,它可以是操作系统414。尽管示出了一个远程呈现会话服务器,但本领域技术人员可以明白,数据中心可具有许多远程呈现会话服务器,这些远程呈现会话服务器中的一些可以是虚拟桌面服务器并且另一些可以是远程桌面服务器。
为了保护数据中心,可以使远程呈现会话服务器远离诸如因特网等公共网络,并且连接的客户机在被认证之后才可被路由到远程呈现会话服务器。此外,远程呈现会话服务器可被配置成只允许特定类型的连接,如特定远程过程调用(RPC)和远程呈现会话连接,例如虚拟桌面会话连接或远程桌面会话连接。这一配置很好地保护了计算资源,但它造成了连接的用户必须多次键入他或她的口令的情况。
在一示例性实施例中,中介服务器608可被充分利用以向客户机624提供单点登录体验。在这一示例性实施例中,数据中心中的单点登录可允许客户机624在中介服务器608上登录一次并且在无需再次登录的情况下从远程呈现会话服务器602访问虚拟桌面会话和/或远程桌面会话。
在一实施例中,中介服务器608可担当信任点。例如,客户机624可以验证中介服务器608的真实性,并且中介服务器608可以验证远程呈现会话服务器602的真实性。从而,客户机624可以将它的信任从中介服务器608扩展到远程呈现会话服务器602,并充分利用它来实现客户机624的单点登录。例如,客户机624可具有允许它只向中介服务器608发送用户凭证的策略。通过将用户的信任从中介服务器608扩展到远程呈现会话服务器602,客户机624现在也可将用户凭证发送到远程呈现会话服务器602。在一示例性实施例中,客户机624可使用第三方证书授权机构来验证中介服务器608的真实性。例如,证书授权机构可以创建包括该证书授权机构的名称和证书授权机构公钥的自签署的证书。该证书授权机构还可以生成包含公共中介密钥的中介证书;用该证书授权机构的私钥签署该中介证书;以及将该中介证书发送给中介服务器608。同时,客户机624可以获得包括证书授权机构公钥的自签署的证书。
在客户机624连接到中介服务器608时,中介服务器608可以将它的中介证书的副本发送给客户机624。客户机624可被配置成通过使用证书授权机构公钥来解密与中介证书相关联的散列并将其与客户机624计算得到的证书的散列进行比较来确认签名。此时,客户机624可被配置成相信中介证书真正是由可信证书授权机构发放的并且它没有被篡改。然而,此时,客户机624可不被配置成相信中介服务器608是发出中介证书的服务器。例如,某一其他服务器可能获得了中介证书的副本并将它发送给客户机624。
为了确定中介证书真正来自中介服务器608,客户机624可以生成随机数并用中介服务器的公钥(从接收到的来自中介服务器608的中介证书中获得)对它进行加密并将经加密的数字发送到中介服务器608。如果中介服务器608确实是中介服务器608,则它可以使用它的中介服务器私钥来解密该随机数。中介服务器608随后可以从接收自客户机624的随机数中创建会话密钥;使用它来加密预定消息,以及将经加密的消息发送给客户机624。客户机624也可以使用同一随机数来生成会话密钥的副本并使用它来解密从中介服务器608接收到的消息。客户机可以通过将该信息与它自己的预定消息副本进行比较来验证该消息的真实性。如果验证成功,则客户机624可被配置成相信它正在与中介服务器608进行通信。
因为远程呈现会话服务器602未连接到公共网络,所以中介服务器608可以使用不同的方案来对远程呈现会话服务器602进行认证。例如,远程呈现会话服务器602可被配置成包括用于请求加密密钥并实例化可主存虚拟桌面会话的虚拟机的远程过程调用存根(stub)。远程过程调用允许客户机进程发出对该进程而言显得是在本地被处理的请求。并非在中介服务器608上处理该请求,该请求经由网络连接发送到远程呈现会话服务器602。中介服务器608可以使用例如Kerberos认证协议来验证远程呈现会话服务器602的身份。通过验证身份,中介服务器608可以确保所获得的加密密钥、证书、以及其他信息确实来自呈现会话服务器602。
在示例性实施例中,客户机624与中介服务器608之间的“信任”可被扩展到远程呈现会话服务器602。通过将“信任”扩展到远程呈现会话服务器602,发送到中介服务器608的用户凭证也可被发送到远程呈现会话服务器602,并且可在不必提示用户向远程呈现会话服务器提供用户凭证的情况下使用户能够登录到被配置成进行远程呈现会话的操作系统。在一示例性实施例中,经加密的用户凭证可被用来将“信任”从客户机624扩展到远程呈现会话服务器602,因为远程呈现会话服务器602能够解密它。例如,可以使用由远程呈现会话服务器602生成并经由“可信”中介服务器608发送到客户机624的加密密钥来加密用户凭证。客户机624可以将经加密的用户凭证发送到远程呈现会话服务器602。在该示例中,远程呈现会话服务器602可以通过解密用户凭证并使用它使用户登录到被配置成进行远程呈现会话的操作系统来认证客户机624。
在一示例性实施例中,客户机624可以通过将凭证发送到中介服务器608来开始单点登录过程。在一种情况下,客户机624可被配置成指示用户通过键入来提供他或她的凭证。使用户以此方式提供凭证是最不安全的配置,因为客户机624上的恶意软件可以在用户提供该凭证时(例如,在键入时)捕捉该凭证。在另一配置中,凭证可以存储在凭证数据库622中。例如,凭证数据库622可被配置成将凭证与同关于请求该凭证的资源的信息的关系一起存储。例如,如果用户在凭证数据库622中存储了与网站相关联的凭证,则该信息可包括该网站的IP地址。凭证数据库622可被配置成在一进程请求凭证数据库622向与该凭证相关联的资源发送凭证时只展示凭证。例如,如果客户机624将凭证与中介服务器608的名称一起保存,则凭证数据库622可被配置成在连接到中介服务器608时只揭示凭证。
在客户机624被认证之后,重定向引擎612(它可以是可执行指令的一个或多个模块)可以在处理器上运行并且为客户机624选择合适的远程呈现会话服务器。如果该请求是针对远程桌面会话的,则重定向引擎612可以搜索包括远程桌面服务器的网络标识符的数据库以寻找合适的主机。类似地,如果该请求是针对虚拟应用程序或虚拟桌面会话的,则重定向引擎612可以选择包括数据中心中的虚拟化主机的网络标识符的数据库以寻找合适的主机来实例化主存该虚拟桌面会话的虚拟机。
中介服务器608可以选择合适的主机并向它发送连接请求。例如,中介服务器608可以通过TCP/IP连接向例如虚拟桌面服务器500等远程呈现会话服务器602发出远程过程调用。该调用可以由远程呈现会话服务器602认证,而中介服务器608可以认证远程呈现会话服务器602。在相互认证发生之后,加密密钥模块402可以生成加密密钥并且可任选地生成解密密钥(在这种情况下,加密密钥不能用于解密)。加密密钥和唯一标识符可经由远程过程调用连接被发送给中介服务器608。加密密钥模块402还可以将加密密钥的唯一标识符存储在本地,以找出稍后执行解密操作的密钥。中介服务器608可以接收该加密密钥和唯一标识符。在该示例性实施例中,在中介服务器608上运行的加密引擎616可以对指示用户凭证的数据进行加密。中介服务器608随后可以将该经加密的数据、远程呈现会话服务器602的网络标识符、以及唯一标识符发送给客户机624。在该示例中,客户机624可能在连接请求之前不具有远程呈现会话服务器602的网络标识符,因为服务器可能被添加到数据中心/从数据中心移除并且中介服务器608可以将连接请求路由到不同的服务器。当然,尽管加密引擎616被示为在中介服务器608上运行,但在一示例性实施例中,加密引擎616的实例可以在每一远程呈现会话服务器上运行。
客户机624可以接收经加密的用户凭证和唯一标识符,并经由所建立的到远程呈现会话服务器的安全通道将这两者发送到远程呈现会话服务器602的网络标识符。网关626可以接收发送自客户机624的信号并且可以将经加密的用户凭证和唯一标识符路由到远程呈现会话服务器602。远程呈现会话服务器602可以基于唯一标识符来找出用来解密用户凭证的密钥,并使用该密钥来解密用户凭证。经解密的用户凭证随后可被传递给认证引擎424,认证引擎424可使与该用户凭证相关联的用户登录到操作系统604,例如操作系统414或客操作系统506。
在其中加密密钥模块402在诸如客操作系统506等客操作系统中运行的具体实施例中,虚拟化平台502在接收到生成加密密钥的请求时可以实例化虚拟机504并将客操作系统506加载到虚拟处理器上。加密密钥模块402可以执行并生成加密密钥,该加密密钥可被传递给虚拟化平台502并被发送到中介服务器608。在该示例中,客户机624可以将用户凭证的经加密的副本发送给虚拟机504,并且加密密钥模块402可以使用解密密钥及唯一标识符来解密该凭证。在该示例中,远程呈现会话服务器602可以将经解密的凭证传递给远程呈现引擎406。远程呈现引擎406可以接收经解密的用户凭证并将其传递给会话管理器408。会话管理器408可以将该凭证转发给在例如客操作系统506的用户空间内运行的登录过程,该登录过程可以将该凭证路由到认证子系统424以供认证。认证子系统424可以验证用户并启动虚拟桌面会话。
继续图6的概览,在可任选实现中,中介服务器608可包括远程呈现配置引擎614并且远程呈现会话服务器602可包括证书引擎404。远程呈现配置设置通常被客户机请求并且被用来配置诸如自动重新连接、音频重定向、打印机重定向、桌面的以像素为单位的高度和宽度、自定义壁纸/主题等设置。在一示例性实施例中,远程呈现配置引擎614可被用来在每用户的基础上实施特定设置。在该示例中,所需设置可由远程呈现配置引擎614根据一策略来设置并且被用加密密钥模块402所生成的加密密钥来数字地签署。例如,该策略可以设置某些约束,如在工作时间期间启用打印机重定向,等等。可以针对单独的用户或针对用户组来设置策略。在客户机624连接到远程呈现会话服务器602时,经加密的远程呈现配置设置的副本可连同经加密的用户凭证一起被发送给远程呈现会话服务器602。加密密钥模块402可以验证与远程呈现配置设置相关联的签名并将该远程呈现配置设置传递给会话管理器402,其可以根据接收到远程呈现配置设置来启动远程呈现会话。
证书引擎404可被用来允许客户机624验证资源服务器602的真实性。例如,证书引擎404可由远程呈现会话服务器602用来生成自签署的证书。即,创建该证书的计算机系统也对其合法性来进行签名。不是由可信证书授权机构发放的自签署的证书通常不被信任,并且在客户机624连接时将使得弹出警告对话框。然而,在各示例性实施例中,这些自签署的证书可被用来通过充分利用客户机624与中介服务器608之间建立的信任来认证远程呈现会话服务器602。在该示例中,远程呈现会话服务器602先前可能已经生成了自签署的证书。在该示例中,中介服务器608可以接收自签署的证书、加密密钥、远程呈现会话服务器602的网络标识符、以及与加密密钥相关联的唯一标识符。中介服务器608可以将自签署的证书、由加密密钥加密的用户凭证的经加密的副本、远程呈现会话服务器602的网络标识符、以及与加密密钥相关联的唯一标识符发送给客户机624。
客户机624可以连接到远程呈现会话服务器602并将经加密的用户凭证连同唯一标识符一起传递。远程呈现会话服务器602可以将自签署的证书的副本传递给客户机624。客户机624可以将从远程呈现会话服务器602接收到的自签署的证书与从可信中介服务器608检索到的副本进行匹配。在证书匹配的情况下,客户机624可被配置成接受远程呈现会话服务器602的标识,从而将中介服务器608的“信任”扩展到远程呈现会话服务器602。
以下是描绘操作过程的一系列流程图。为便于理解,流程图被组织成使得初始流程图通过总体“大图”视点来演示各实现,并且后续的流程图提供以虚线示出的进一步的附加物和/或细节。此外,本领域的技术人员可以理解,虚线所描绘的操作过程被认为是任选的。
现在转向图7,它示出了包括操作700-710的操作过程。操作700开始操作过程,并且操作702示出使用由第二服务器生成的唯一加密密钥来加密从客户机接收到的用户凭证。例如,并转向图6,在一示例性实施例中,诸如中介服务器608等第一服务器可包括用于使用由诸如远程呈现会话服务器602等第二服务器生成的加密密钥来加密用户凭证的电路。例如,中介服务器608可以在远程呈现会话请求中接收到来自客户机624的用户凭证的副本,并且从远程呈现会话服务器602(远程桌面服务器400或虚拟桌面服务器500)接收唯一加密密钥的副本。中介服务器608可以将唯一加密密钥传递给可在处理器上执行并且可加密用户凭证的加密引擎616。
在一具体示例中,并转向图4,远程呈现会话服务器602可以是远程桌面服务器400。在该示例中,客户机624可向中介服务器608发送了用户名/口令组合连同对远程桌面会话的请求。中介服务器608可将该请求转发给在远程桌面服务器400上运行的加密密钥模块402。在该示例中,加密密钥模块402可以生成唯一密钥。例如,该模块可以通过使用随机数据和远程桌面服务器400的唯一标识符(例如,DNS名、机器名、MAC地址等)来生成与数据中心中的远程桌面服务器创建的密钥所不同的密钥。加密密钥模块402可以在处理器上执行并且生成唯一加密密钥和唯一标识符,并可任选地生成解密密钥。远程桌面服务器400可以将加密密钥和唯一标识符发送给中介服务器608。中介服务器608可以将加密密钥传递给加密密钥模块402,该模块可以加密用户名/口令的副本。
继续对图7的描述,操作704示出了将经加密的用户凭证发送给客户机。例如,并转回图6,在一示例性实施例中,中介服务器608的网络适配器可以将指示经加密的凭证的信息的一个或多个分组发送给客户机624。转回前一段落的具体示例,中介服务器608可以将用户名/口令的经加密的副本、唯一标识符、用于连接到远程桌面服务器400的网络标识符发送给客户机624。
操作706示出解密从客户机接收到的经加密的用户凭证的副本。例如,并转回图6,远程呈现会话服务器602可以从客户机624接收经加密的凭证的副本。在该示例中,远程呈现会话服务器602可以将经加密的凭证传递给加密密钥模块402的正在执行的实例,它可以解密凭证。转回前一段落的具体示例,客户机624可以使用用于连接到远程桌面服务器400的网络标识符来将指示经加密的凭证和与加密密钥相关联的唯一标识符的信息的一个或多个分组发送给网关626。网关626可包括用于确定将客户机624连接到哪一远程呈现会话服务器并打开到远程桌面服务器400的通信信道的电路。网关626可以将经加密的凭证和密钥对的标识符路由到远程桌面服务器400。加密密钥模块402可以使用加密密钥的唯一标识符来定位解密密钥并解密经加密的凭证。
操作708示出使与用户凭证的经解密的副本相关联的用户登录到操作系统。转回图6,在操作系统604上运行的认证子系统424的正在执行的实例可以接收凭证并对它进行认证。例如,认证子系统424可以查询本地的用户数据库以确定凭证是否有效。在凭证有效的情况下,用户凭证可被用来使用户登录到正在执行远程呈现引擎406、会话管理器408等的实例的操作系统。转回前一段落的具体示例,会话管理器408可以将用户凭证的副本传递给认证引擎424,它可以通过检查该凭证是否在目录服务器中来确认该凭证。在用户凭证有效的情况下,认证子系统424可以生成令牌,将该令牌传递给会话管理器408,并启动远程桌面会话。
操作710示出与客户机进行远程呈现会话。例如,远程呈现会话服务器602可以与客户机624进行远程呈现会话。转回图6,远程桌面会话的图形用户界面可由远程呈现引擎406经由网关626流传输到客户机624,并且用户输入可从客户机624接收并被注入到远程呈现会话的会话核410。
现在参考图8,其示出了图7所描绘的操作过程的替换实施例。图8中描绘的操作过程包括附加操作/细化812-828。细化812示出从客户机数据库检索用户凭证并响应于确定与第一服务器相关联的网络标识符匹配客户机数据库中存储的网络标识符来将该用户凭证发送给第一服务器。例如,并转向图6,客户机624可包括客户机凭证数据库622。在该示例性实施例中,凭证数据库622可被配置成当例如中介服务器608(和/或从属于中介服务器608的web服务器)的统一资源位置(URL)匹配凭证数据库622中存储的URL时,揭示凭证。例如,客户机624的用户先前可能连接并登录到从属于中介服务器608的web服务器所生成的网站。在该示例中,web浏览器可能在凭证数据库622中存储了被用来登录到中介服务器608的用户凭证的副本以及例如中介服务器608的IP地址、中介服务器608的MAC地址、和/或中介服务器608的URL。在后续登录操作期间,web浏览器可以向凭证数据库622发起对与该网络标识符相关联的凭证的请求,并且凭证数据库622可以进行搜索并找出匹配相关联的网络标识符的用户凭证;并经由web浏览器或web服务器将该凭证传递给中介服务器608。
操作814示出响应于确定从第二服务器接收到的由该第二服务器签署的认证证书匹配从第一服务器接收到的证书,来对该第二服务器进行认证。例如,在一实施例中,可以通过使用自签署的证书和中介服务器608与客户机624之间建立的信任来认证远程呈现会话服务器602。转回图6,在远程呈现会话服务器602上运行的证书引擎404可以生成证书并签署它。例如,证书引擎404可以生成证书中的信息的散列并使用私有加密密钥来加密该散列并且将经加密的散列连同公共解密密钥一起嵌入在证书中。证书可被发送给中介服务器608,它可将该证书发送给客户机624。当客户机624连接到远程呈现会话服务器602时,远程呈现会话服务器602可以将证书的副本发送给客户机624,客户机624可以解密这两个证书的经加密的散列并比较这两个证书。在证书匹配的情况下,客户机624可以认证远程呈现会话服务器602。
转向操作816,它示出在单次使用了唯一加密密钥之后删除用于解密从客户机接收到的经加密的用户凭证的副本的解密密钥之后删除。例如,并回头参考图6,在一示例性实施例中,在使用加密密钥模块402所生成的加密密钥解密了与该唯一标识符相关联的用户凭证之后,删除该加密密钥。换言之,可为每一次连接请求使用唯一的加密密钥。
操作818示出加密用户凭证并数字地签署远程呈现会话配置设置的列表。例如,中介服务器608可以用被用于加密用户凭证的加密密钥来数字地签署远程呈现会话配置设置的列表。在该示例中,中介服务器608可被配置成担当可实施远程呈现会话配置设置的集中式授权机构。在这一示例性实施例中,操作系统610可包括远程呈现配置引擎614。响应于从客户机624接收到连接请求,远程呈现配置引擎614可以查询包括远程呈现规则的数据库。远程呈现配置引擎614可以接收简档并生成远程呈现会话服务器602将遵循的远程呈现会话配置设置以代替客户机624所设置的配置设置。
操作820示出将配置简档发送给客户机,其中配置简档包括与第一服务器相关联的网络标识符。例如,在一实施例中,简档可被推送到客户机624,该简档将客户机624配置成使用中介服务器608。例如,策略可从例如与中介服务器608相关联的网页等网页下载、通过电子邮件发送给客户机624,在即时消息中发送、或从诸如闪存驱动器等存储设备复制。在这一示例性实施例中,策略可包括从属于中介服务器608的web服务器的URL和/或中介服务器608的URL。用户可以运行该策略,其可将远程呈现客户机624配置成经由web服务器向中介服务器608发送和/或直接向中介服务器608发送对远程资源的请求。
操作822示出配置在虚拟机内执行的客操作系统以与客户机进行虚拟桌面会话。例如,在一实施例中,远程呈现会话服务器602可以是虚拟桌面服务器500。在这一示例中,虚拟化平台502可以管理可包括客操作系统506的虚拟机504。客操作系统506可以在虚拟处理器上执行并且调度远程呈现引擎406和会话管理器408来运行。虚拟处理器随后可以运行远程呈现引擎406和会话管理器408,其可以配置客操作系统506来进行虚拟桌面会话。换言之,虚拟处理器可由一处理器来执行,并且该处理器可以运行远程呈现引擎406和会话管理器408。例如,客操作系统506可打开防火墙并被设置成在一端口上监听传入的连接。会话管理器408还可以将用户名添加到已允许的虚拟桌面用户的列表中;将用户名添加到客操作系统506管理员的列表中;并且远程呈现引擎406可被配置成在一端口上监听传入的虚拟桌面会话连接请求。
操作824示出与客户机进行远程桌面会话。例如,在这一实施例中,远程呈现会话服务器602可以是远程桌面服务器400。在这一实施例中,响应于经由远程呈现引擎406接收到连接请求,远程桌面会话可由会话管理器408启动。远程呈现引擎406可以通过网络从客户机624接收用户输入并将该输入注入会话中。远程显示子系统418可以执行并捕捉该会话的图形用户界面并将其发送给客户机624。例如,可在存储器中生成指示桌面的位图并且可发出呈现命令。远程显示子系统418可以复制该位图并将其发送给远程呈现引擎406,远程呈现引擎406可经由一个或多个分组将其发送给网关626。网关626可以接收指示位图的这些分组并将指示位图的信息的一个或多个分组流传输到客户机624。
操作826示出在预定时间量之后删除用于解密经加密的用户凭证的副本的解密密钥。例如,在一实施例中,加密密钥模块402可被配置成在过去了预定时间量之后删除解密密钥。即,如果加密密钥也在解密操作中被使用则它可被删除,或者如果唯一的解密密钥在解密操作中被使用则它可被删除。这确保客户机624可以在从中介服务器608接收到经加密的用户凭证之后的有限时间段内单点登录。例如,如果客户机624在它接收到经加密的用户凭证之后失去了网络连接并且在预定时间量过去之后重新建立了连接,则远程呈现会话服务器602将不能够解密该用户凭证并且用户将不能够在不再次输入他或她的凭证的情况下登录。
操作828示出响应于第一服务器的网络标识符与第二服务器注册表中存储的网络标识符之间的比较来接受来自第一服务器的连接请求。例如,在一实施例中,远程呈现会话服务器602可被配置成只接受来自具有与远程呈现会话服务器602上的注册表中存储的网络标识符匹配的网络标识符(例如,DNS名)的中介服务器的传入连接请求。这确保远程呈现会话服务器602将只接受来自被预先批准的远程呈现会话服务器的连接请求。例如,管理员在配置数据中心时他或她可登录到远程呈现会话服务器602,并配置与接受来自中介服务器608的传入连接请求相关联的注册表键。与上述网络标识符类似,网络标识符可以是在内部网络上唯一地标识中介服务器608的机器名或任何其他标识符。
除远程呈现会话服务器602认证中介服务器608之外,中介服务器608可以认证远程呈现会话服务器602。在一示例性实施例中,中介服务器608可以使用Kerberos协议来认证远程呈现会话服务器602。在远程呈现会话服务器602被认证之后,中介服务器608可被配置成接受加密密钥和/或数字证书。
现在参考图9,它示出了用于允许到远程呈现会话服务器的单点登录的操作过程,包括操作900、902、904、906、908、910、以及912。操作900开始该操作过程并且操作902示出生成加密密钥并将其与唯一标识符相关联。例如并且转至图5,虚拟化平台502可以包括加密密钥模块402。例如,加密密钥模块402可以在图2的主机204内实现。在这一示例中,加密密钥模块402可以在处理器上执行,并生成加密密钥。在这一示例性实施例中,加密密钥可在单个加密操作中使用并且随后它被毁灭。换言之,加密密钥模块402可为每一连接请求生成唯一的加密密钥。
继续图9的描述。操作904示出将加密密钥和唯一标识符两者发送给被配置成使用加密密钥来加密用户凭证的副本的第二服务器。转向图6,在该示例性实施例中,远程呈现会话服务器可表示图5的虚拟桌面服务器500。在该示例中,虚拟桌面服务器500的网络适配器可以将指示只用一次的加密密钥和唯一标识符的一个或多个分组发送给中介服务器608。在一具体示例中,虚拟桌面服务器500可以向中介服务器608发起远程过程调用。在该示例中,虚拟桌面服务器500和中介服务器608两者都可被配置成通过TCP/IP连接来实现远程过程调用。即,虚拟桌面服务器500可以运行RPC键传递存根过程,并且中介服务器608可以运行对应的RPC键接收存根过程。在该示例中,在加密密钥模块402生成只用一次的加密密钥时,它可以调用RPC键传递存根过程,并将只用一次的加密密钥和唯一标识符传递给该过程。RPC键传递存根过程可以打开到中介服务器608的TCP/IP连接,并将只用一次的加密密钥和唯一标识符发送给RPC键接收存根过程。RPC键接收存根过程可以确认RPC键传递存根过程并从网络缓冲区中检索只用一次的加密密钥和唯一标识符且将其传递给例如加密引擎616。
继续图9的描述,操作906示出从客户机接收用户凭证的经加密的副本和唯一标识符。例如,虚拟桌面服务器500可以从客户机624接收经加密的凭证的副本。在该示例中,中介服务器608先前可能加密了用户凭证并将其发送给了客户机624。
操作908示出响应于找到与唯一标识符相关联的解密密钥来解密用户凭证的经加密的副本。转回图6,在一示例实施例中,加密密钥模块402可以解密用户凭证的经加密的副本。例如,加密密钥模块402可以接收唯一标识符和经加密的用户凭证,并搜索数据库来寻找该唯一标识符。如果找到匹配,则加密密钥模块402可以在数据库中检索与该唯一标识符相关联的解密密钥并用它来解密用户凭证。在解密操作完成之后,虚拟桌面服务器500具有了在无需第二次提示用户输入他或她的用户凭证的情况下就可被用来使客户机624登录到虚拟桌面会话的用户凭证。
操作910示出使与该用户凭证相关联的用户登录到虚拟桌面会话。转回图6,虚拟化平台402可以将经解密的用户凭证发送给在客操作系统506中运行的认证子系统424的正在执行的实例。在该示例中,认证子系统424可以接收经解密的用户凭证并使用户登录到虚拟桌面会话。例如,认证子系统424可以查询本地的用户数据库以确定凭证是否有效。例如,认证子系统424可以检查该凭证是否在被批准的虚拟桌面用户的列表上和/或检查该凭证是否在目录服务器中。在凭证有效的情况下,该用户凭证可被用来使用户登录到客操作系统506。
操作912示出与客户机进行虚拟桌面会话。例如,远程呈现引擎406可以通过网络从客户机624接收用户输入并将来自客户机624的用户输入注入客操作系统506。远程呈现引擎406还可以捕捉客操作系统506的图形用户界面并将其发送给客户机624。远程显示子系统418可以执行并捕捉该会话的图形用户界面并将其发送给客户机624。例如,可在存储器中生成指示桌面的位图并且可发出呈现命令。远程显示子系统418可以复制该位图并将其发送给远程呈现引擎406,远程呈现引擎406可经由一个或多个分组将其发送给网关626。网关626可以接收指示位图的这些分组并将指示位图的信息的一个或多个分组流传输到客户机624。
现在参考图10,其示出图10的操作过程的替换实施例,包括附加操作1014-1018。操作1014示出使用加密密钥来验证从客户机接收到的虚拟桌面配置设置的列表的签名;以及根据该虚拟桌面配置设置的列表来配置虚拟桌面会话。例如,中介服务器608先前除了加密用户凭证之外,可能已使用加密用户凭证的加密密钥签署了远程呈现会话配置设置的列表。在该示例性实施例中,虚拟化平台502可被配置成使中介服务器设置远程呈现设置。在该示例中,加密密钥模块402可以验证该签名并将它们传递给在虚拟化平台502内运行的虚拟桌面管理器模块。会话管理器408可以处理该设置并根据经解密的设置来设置虚拟桌面会话。例如,会话管理器408可关闭打印机重定向、设置远程显示子系统418的分辨率,等等。
参考操作1016,它示出在预定时间量之后删除用于解密从客户机接收到的经加密的用户凭证的副本的解密密钥。例如,在一实施例中,加密密钥模块402可被配置成在过去了预定时间量之后删除与唯一标识符相关联的解密密钥。这确保客户机624可以在有限时间段内单点登录。
转向操作1018,它示出响应于第二服务器的网络标识符与存储在第一服务器注册表中的所存储的网络标识符之间的比较来接受来自第二服务器的连接请求。例如,在一实施例中,虚拟桌面服务器500可被配置成接受来自具有与虚拟桌面服务器500上的注册表中存储的网络标识符相匹配的网络标识符的中介服务器的传入连接请求。
除远程呈现会话服务器602认证中介服务器608之外,中介服务器608可以认证远程呈现会话服务器602。在一示例性实施例中,中介服务器608可以使用Kerberos协议来认证远程呈现会话服务器602。在远程呈现会话服务器602被认证之后,中介服务器608可被配置成接受加密密钥和/或数字证书。
现在参考图11,它示出了包括操作1100、1102、1104、1106、1108、以及1110的操作过程。操作1100开始该操作过程,并且操作1102示出将用户凭证发送给第一服务器。例如,客户机624可以显示例如图标,该图标可被选择并使得处理器执行用于向中介服务器608发送对例如远程桌面会话或虚拟桌面会话等远程呈现会话的请求的指令。中介服务器608可以从客户机624接收用户凭证的副本。例如,指示用户凭证的一个或多个分组可经由因特网从客户机624发送到中介服务器608。
继续图11的描述,操作1104示出从第一服务器接收第二服务器的网络标识符和由该第二服务器所生成的加密密钥来加密的用户凭证的经加密的副本。例如,客户机624可以在重定向分组中从中介服务器608接收经加密的用户凭证、唯一标识符、以及远程呈现会话服务器602的网络标识符。客户机624中的处理器可以执行处理该重定向分组并使得客户机624向远程呈现会话服务器602发送连接请求的指令。在该示例中,必须在远程呈现会话服务器602与客户机624之间建立信任,否则远程呈现会话服务器602将在连接时提示用户输入用户凭证。在该示例性实施例中,经加密的用户凭证可被用来建立信任。
继续图11的描述,操作1106示出将用户凭证的经加密的副本发送给第二服务器的网络标识符。例如,客户机624可以被重定向到网关626。网关626可包括用于确定网络标识符与远程呈现会话服务器602相关联的可执行指令,并且网关626可以打开到远程呈现会话服务器602的通信信道。网关626随后可以将经加密的用户凭证的副本路由到远程呈现会话服务器602。
现在转向操作1108,它示出接收指示用户凭证已被验证并被用于使客户机的用户登录到第二服务器上的远程呈现会话的信号。转回图6,客户机624可以接收指示用户凭证已被验证并被用于登录到例如操作系统414或客操作系统506等操作系统604的信号。例如,远程呈现客户机620可以接收指示图形用户界面的一个或多个分组,该图形用户界面示出显示指示操作系统正在登录用户的文本的登录屏幕,或指示用户凭证已被验证的信号可以显示操作系统604的桌面。登录屏幕可以指示用户凭证已被确认并且远程呈现客户机620可以在本地显示器上显示该图形。在该场景之后,加密密钥模块402的正在执行的实例可以解密经加密的用户凭证并将其传递给认证子系统424以供认证。认证子系统424可以确定凭证是有效的并且使用户登录到操作系统604。
现在转向操作1110,它示出显示指示远程呈现会话的用户界面图形。例如,远程呈现会话服务器602可以与客户机624进行远程呈现会话。转回图4或5,远程呈现会话的图形用户界面可由远程呈现引擎406经由网关626流传输到客户机624,并且用户输入可从客户机624接收并被注入到会话核410。
现在参考图12,其示出了图11所描绘的操作过程的替换实施例。图12示出附加操作1212、1214、1216、1218、以及1220。操作1212示出响应于确定第一服务器的网络标识符匹配客户机数据库中存储的网络标识符来发送从客户机数据库中检索到的用户凭证。例如,并转向图6,在一示例性实施例中,客户机624可包括客户机凭证数据库622。在该示例性实施例中,凭证数据库622可被配置成在中介服务器608的网络标识符匹配凭证数据库622中存储的网络标识符时揭示用户凭证。例如,客户机624的用户先前可能已连接到由中介服务器608维护的网站并且已登录到中介服务器608。在该示例中,客户机应用程序可以将用于登录到中介服务器608的用户凭证的副本连同例如中介服务器608的DNS名一起存储在凭证数据库622中。在后续登录操作期间,该应用程序可以向凭证数据库622发出对与中介服务器的网络标识符相关联的凭证的请求,并且凭证数据库622可以检查它是否具有中介服务器608的网络标识符的凭证。在此,凭证数据库622可以具有标识符,并且可以打开到请求了该凭证的进程的安全信道并传递该凭证。
继续图12的描述,操作1214示出响应于接收到标识用户已从客户机注销的信号来从客户机数据库删除用户凭证。例如,转向图6,在一示例性实施例中,凭证数据库622可被配置成临时地存储用户凭证,并且在该示例性实施例中,凭证数据库622可以在注销时删除凭证。例如,在客户机624连接到中介服务器608时,与中介服务器608相关联的网络标识符和用户凭证可被存储在凭证数据库622中。此时,该用户凭证可用于与中介服务器608相关联的任何远程呈现会话服务器。在该示例中,该数据库条目可以与指示它是临时用户凭证的信息相关联。在该示例中,在用户从操作系统618注销时,凭证数据库622可以删除用户凭证。在该示例性实施例中,用户凭证可被存储在安全储存库中而非RAM中,在RAM中它可能被恶意文件捕获。例如,当客户机624与远程呈现会话服务器602进行会话时,用户凭证的副本可被存储在RAM中,使得在存在网络故障且客户机暂时断开连接的情况下它可被呈现给远程呈现会话服务器602。在该示例实施例中,用户凭证可被存储在凭证数据库622中而非RAM中。如果在该示例中发生了网络故障,则远程呈现客户机418可以查询凭证数据库622以将用户凭证发送给中介服务器608,以获得远程呈现会话服务器602的经加密的凭证,并传递中介服务器608的网络标识符。在该示例中,凭证数据库622可以确定它具有包括中介服务器608的网络标识符的数据库条目,并将与网络标识符相关联的用户凭证连同要重新连接到远程呈现会话服务器602的请求一起发送给中介服务器608。在接收到远程呈现会话服务器602的经加密的凭证之后,客户机624可将它们发送给该服务器。
继续图12的描述,操作1216示出响应于接收到标识远程呈现会话客户机引擎已终止的信号来从客户机数据库删除用户凭证。类似于操作1212,在一不例性实施例中,凭证数据库622可被配置成临时存储用户凭证,并且在该示例性实施例中,凭证数据库622可以在存储用户凭证的进程终止时删除该用户凭证。例如,在客户机624连接到远程呈现会话服务器602时,远程呈现客户机620可以请求与远程呈现会话服务器602相关联的网络标识符并且用户凭证可被存储在凭证数据库622中。在该示例中,该数据库条目可以与指示它是临时用户凭证并且应当在远程呈现客户机418终止时被删除的信息相关联,即操作系统618,对远程呈现客户机418的各线程做标记以终止、释放远程呈现客户机418所分配的任何资源、移除远程呈现客户机418、设置远程呈现客户机418退出代码,等等。在该示例中,在用户揭示远程呈现会话并且操作系统416关闭远程呈现客户机418时,凭证数据库622可以删除用户凭证。
操作1218示出在操作系统登录操作期间接收用户凭证。例如,在一实施例中,在用户登录到操作系统618时可以获得用户凭证。客户机624可以显示登录屏幕。用户可以向登录屏幕提供用户凭证,并且操作系统618可以将该凭证传递给在客户机624上运行的认证引擎(未示出)。在该示例中,认证引擎可以验证用户凭证并且为用户启动控制台会话。另外,用户凭证的副本可被存储在例如凭证数据库622中,直至例如用户从操作系统618注销。
现在转向操作1220,它示出响应于确定从第二服务器接收到的由该第二服务器签署的认证证书匹配从第一服务器接收到的证书,来对该第二服务器进行认证。例如,在一实施例中,可以通过使用自签署的证书和中介服务器608与客户机624之间建立的信任来认证远程呈现会话服务器602。转回图6,在远程呈现会话服务器602上运行的证书引擎404可以生成证书并签署它。例如,证书引擎404可以生成证书中的信息的散列并使用私有加密密钥来加密该散列并且将经加密的散列连同公共解密密钥一起嵌入在证书中。证书可被发送给中介服务器608,它可将该证书发送给客户机624。当客户机624连接到远程呈现会话服务器602时,远程呈现会话服务器602可以将证书的副本发送给客户机624,客户机624可以比较这两个证书。在证书匹配的情况下,客户机624可以认证远程呈现会话服务器602。
前述的详细描述通过示例和/或操作图阐述了系统和/或过程的各实施例。在这样的框图和/或示例包含一个或多个功能和/或操作的范围内,本领域技术人员将理解,这样的框图,或示例内的每一功能和/或操作可以分别地和/或共同地通过范围广泛的硬件、软件、固件或几乎其任何组合来实现。
尽管示出和描述了此处所描述的本主题的特定方面,但是,对于本领域的技术人员显而易见的是,基于此处的原理,在不偏离此处所描述的主题以及其广泛的方面的情况下,可以作出更改和修改,因此,所附权利要求书将包含在它们的范围内,所有这样的更改和修改都将在此处所描述的主题的真正的精神和范围内。

Claims (14)

1.一种被配置成实现用于远程呈现会话的单点登录的系统,包括:
第一服务器(608),包括:
第一处理器;
耦合至所述第一处理器的第一存储器,所述第一存储器包括在执行时使所述第一处理器执行以下操作的计算机可执行指令:
使用由第二服务器(608)生成的唯一的加密密钥来加密从客户机(624)接收到的用户凭证;以及
将经加密的用户凭证发送给所述客户机(624);
第二服务器(602),包括:
第二处理器;以及
耦合至所述第二处理器的第二存储器,所述第二存储器包括在执行时使所述第二处理器执行以下操作的计算机可执行指令:
解密从所述客户机(624)接收到的经加密的用户凭证的副本;
使与所述用户凭证的经解密的副本相关联的用户登录到所述操作系统(604);以及
与所述客户机(624)进行所述远程呈现会话。
2.如权利要求1所述的系统,其特征在于,还包括:
所述客户机,包括:
第三处理器;以及
耦合至所述第三处理器的第三存储器,所述第三存储器包括在执行时使所述第三处理器执行以下操作的计算机可执行指令:
从客户机数据库检索所述用户凭证并响应于确定与所述第一服务器相关联的网络标识符匹配所述客户机数据库中存储的网络标识符来将所述用户凭证发送给所述第一服务器。
3.如权利要求1所述的系统,其特征在于,还包括:
所述客户机,包括:
第三处理器;以及
耦合至所述第三处理器的第三存储器,所述第三存储器包括在执行时使所述第三处理器执行以下操作的计算机可执行指令:
响应于确定从第二服务器接收到的由该第二服务器签署的认证证书匹配从所述第一服务器接收到的证书,来对该第二服务器进行认证。
4.如权利要求1所述的系统,其特征在于,所述第二存储器还包括在执行时使所述第二处理器执行以下操作的计算机可执行指令:
在单次使用了唯一加密密钥之后删除用于解密从所述客户机接收到的经加密的用户凭证的副本的解密密钥。
5.如权利要求1所述的系统,其特征在于,在由所述第一处理器执行时使得所述第一服务器使用所述唯一的加密密钥来加密从所述客户机接收到的用户凭证的所述指令还包括在执行时使得所述第一处理器执行以下操作的计算机可执行指令:
加密所述用户凭证并数字地签署远程呈现会话配置设置的列表。
6.如权利要求1所述的系统,其特征在于,所述第一存储器还包括在执行时使所述第一处理器执行以下操作的计算机可执行指令:
将配置简档发送给所述客户机,其中所述配置简档包括与所述第一服务器相关联的网络标识符。
7.如权利要求1所述的系统,其特征在于,所述第二存储器还包括在执行时使所述第一处理器执行以下操作的计算机可执行指令:
配置在虚拟机内执行的客操作系统以与所述客户机进行虚拟桌面会话。
8.如权利要求1所述的系统,其特征在于,在执行时使得所述第二处理器与所述客户机进行所述远程呈现会话的所述指令还包括在执行时使得所述第二处理器执行以下操作的计算机可执行指令:
与所述客户机进行远程桌面会话。
9.如权利要求1所述的系统,其特征在于,所述第二存储器还包括在执行时使所述第二处理器执行以下动作的计算机可执行指令:
在预定时间量之后删除用于解密经加密的用户凭证的副本的解密密钥。
10.如权利要求1所述的系统,其特征在于,所述第二存储器还包括在执行时使所述第二处理器执行以下动作的计算机可执行指令:
响应于所述第一服务器的网络标识符与第二服务器注册表中存储的网络标识符之间的比较来接受来自所述第一服务器的连接请求。
11.一种包括用于实现用于虚拟桌面会话的单点登录的可执行指令的计算机可读存储介质,所述计算机可读存储介质包括使得第一服务器(602)的处理器执行以下操作的计算机可执行指令:
生成加密密钥并将其与唯一标识符相关联;
将所述加密密钥和所述唯一标识符两者发送给被配置成使用所述加密密钥来加密所述用户凭证的副本的第二服务器(608);
从客户机(624)接收所述用户凭证的经加密的副本以及所述唯一标识符;
响应于找到与所述唯一标识符相关联的解密密钥来解密所述用户凭证的经加密的副本;
使与所述用户凭证相关联的用户登录到虚拟桌面会话(506)以及
与所述客户机(624)进行所述虚拟桌面会话。
12.如权利要求11所述的计算机可读存储介质,其特征在于,还包括使所述第一服务器的处理器执行以下操作的计算机可执行指令:
使用所述加密密钥来验证从所述客户机接收到的虚拟桌面配置设置的列表的签名;以及
根据虚拟桌面配置设置的所述列表来配置所述虚拟桌面会话。
13.如权利要求11所述的计算机可读存储介质,其特征在于,还包括使所述第一服务器的处理器执行以下操作的计算机可执行指令:
在预定时间量之后删除用于解密从所述客户机接收到的经加密的用户凭证的所述副本的解密密钥。
14.如权利要求11所述的计算机可读存储介质,其特征在于,还包括使所述第一服务器的处理器执行以下操作的计算机可执行指令:
响应于所述第二服务器的网络标识符与存储在第一服务器注册表中的所存储的网络标识符之间的比较来接受来自所述第二服务器的连接请求。
CN201110307938.4A 2010-09-30 2011-09-29 远程资源单点登录 Active CN102404314B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/895,727 US8505083B2 (en) 2010-09-30 2010-09-30 Remote resources single sign on
US12/895,727 2010-09-30

Publications (2)

Publication Number Publication Date
CN102404314A true CN102404314A (zh) 2012-04-04
CN102404314B CN102404314B (zh) 2015-01-14

Family

ID=45886100

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110307938.4A Active CN102404314B (zh) 2010-09-30 2011-09-29 远程资源单点登录

Country Status (2)

Country Link
US (1) US8505083B2 (zh)
CN (1) CN102404314B (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873454A (zh) * 2012-12-18 2014-06-18 中国移动通信集团山东有限公司 一种认证方法及设备
CN104468113A (zh) * 2013-09-16 2015-03-25 安讯士有限公司 用户凭证的分布
WO2015192582A1 (zh) * 2014-06-18 2015-12-23 中兴通讯股份有限公司 虚拟桌面登录验证方法和装置
CN105376274A (zh) * 2014-08-21 2016-03-02 中兴通讯股份有限公司 登录处理方法、装置及系统
WO2016155220A1 (zh) * 2015-03-30 2016-10-06 中兴通讯股份有限公司 一种单点登录的方法、系统以及终端
CN107005547A (zh) * 2014-09-30 2017-08-01 思杰系统有限公司 用于由中间装置执行对于客户机的远程桌面会话的单点登录的系统和方法
CN107210916A (zh) * 2014-11-13 2017-09-26 迈克菲有限责任公司 条件登录推广
CN107787494A (zh) * 2015-06-23 2018-03-09 微软技术许可有限责任公司 跨重启的登录的恢复
CN108650209A (zh) * 2018-03-06 2018-10-12 北京信安世纪科技股份有限公司 一种单点登录的方法、系统、装置及认证方法
CN108965275A (zh) * 2018-07-03 2018-12-07 福建天晴数码有限公司 一种体验游戏的方法及系统
CN109684813A (zh) * 2012-04-17 2019-04-26 英特尔公司 受信服务交互
CN111726328A (zh) * 2019-03-22 2020-09-29 阿里巴巴集团控股有限公司 用于对第一设备进行远程访问的方法、系统以及相关设备
CN113536276A (zh) * 2013-01-15 2021-10-22 施耐德电气美国股份有限公司 安全访问可编程装置的系统和方法
CN113569222A (zh) * 2021-07-12 2021-10-29 成都安恒信息技术有限公司 一种用于windows程序的单点登录方法
CN113728603A (zh) * 2020-03-12 2021-11-30 甲骨文国际公司 经由不可提取的不对称密钥的浏览器登录会话
CN114219417A (zh) * 2021-11-05 2022-03-22 北京来也网络科技有限公司 基于ai的rpa系统分身的控制方法及装置
CN114398114A (zh) * 2021-08-31 2022-04-26 北京来也网络科技有限公司 基于ai的rpa系统分身界面的生成方法及装置
CN114692120A (zh) * 2020-12-30 2022-07-01 成都鼎桥通信技术有限公司 国密认证方法、虚拟机、终端设备、系统及存储介质
CN115529178A (zh) * 2022-09-27 2022-12-27 中国电信股份有限公司 单点登录方法、装置、非易失性存储介质及处理器

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8707397B1 (en) * 2008-09-10 2014-04-22 United Services Automobile Association Access control center auto launch
FI20100057A0 (fi) * 2010-02-12 2010-02-12 Notava Oy Menetelmä ja järjestelmä virtuaalilaitteen luomiseksi dataliikenteen uudelleenohjaukseen
US8775590B2 (en) * 2010-09-02 2014-07-08 International Business Machines Corporation Reactive monitoring of guests in a hypervisor environment
US8874888B1 (en) 2011-01-13 2014-10-28 Google Inc. Managed boot in a cloud system
US9542549B2 (en) * 2011-02-09 2017-01-10 Verizon Patent And Licensing Inc. Toolbar for single sign-on and non-single sign-on sites, applications, systems, and sessions
US8619986B2 (en) 2011-07-21 2013-12-31 Patton Protection Systems LLC Systems and methods for secure communication using a communication encryption bios based upon a message specific identifier
US9075979B1 (en) 2011-08-11 2015-07-07 Google Inc. Authentication based on proximity to mobile device
US9305182B1 (en) * 2011-08-22 2016-04-05 Cloudflare, Inc. Managing distribution of sensitive information
US8719571B2 (en) * 2011-08-25 2014-05-06 Netapp, Inc. Systems and methods for providing secure multicast intra-cluster communication
US8966198B1 (en) 2011-09-01 2015-02-24 Google Inc. Providing snapshots of virtual storage devices
US8909918B2 (en) * 2011-10-05 2014-12-09 Cisco Technology, Inc. Techniques to classify virtual private network traffic based on identity
GB2496107C (en) * 2011-10-26 2022-07-27 Cliquecloud Ltd A method and apparatus for preventing unwanted code execution
US8958293B1 (en) 2011-12-06 2015-02-17 Google Inc. Transparent load-balancing for cloud computing services
US8800009B1 (en) 2011-12-30 2014-08-05 Google Inc. Virtual machine service access
US9032496B2 (en) * 2012-02-28 2015-05-12 Citrix Systems, Inc. Secure single sign-on
US8909939B1 (en) * 2012-04-04 2014-12-09 Google Inc. Distribution of cryptographic host keys in a cloud computing environment
US9436220B2 (en) * 2012-05-04 2016-09-06 Jpmorgan Chase Bank, N.A. System and method for mobile device docking station
US9442526B2 (en) 2012-05-04 2016-09-13 JPMorgan Chase, Bank, N.A. System and method for mobile device docking station
US8782768B2 (en) * 2012-06-15 2014-07-15 Vmware, Inc. Systems and methods for accessing a virtual desktop
CN102739658B (zh) * 2012-06-16 2015-09-30 华南师范大学 一种单点登录的离线验证方法
US9280589B2 (en) * 2012-06-22 2016-03-08 Sap Se Virtual business desktop for arrangement of objects
CN102739686B (zh) * 2012-07-05 2014-09-24 无锡中科泛在信息技术研发中心有限公司 一种限制用户多地点同时登录的方法
US8838961B2 (en) 2012-09-14 2014-09-16 Netflix, Inc. Security credential deployment in cloud environment
US8863255B2 (en) * 2012-09-14 2014-10-14 Netflix, Inc. Security credential deployment in cloud environment
US9363241B2 (en) * 2012-10-31 2016-06-07 Intel Corporation Cryptographic enforcement based on mutual attestation for cloud services
US9374351B1 (en) 2012-11-02 2016-06-21 Wyse Technology L.L.C. Virtual desktop accelerator support for network gateway
US9992185B1 (en) 2012-11-02 2018-06-05 Wyse Technology L.L.C. Virtual desktop accelerator support for network gateway
US9485233B1 (en) * 2012-11-02 2016-11-01 Wyse Technology L.L.C. Virtual desktop accelerator support for network gateway
US9065856B2 (en) 2013-02-01 2015-06-23 Vidder, Inc. Securing communication over a network using client system authorization and dynamically assigned proxy servers
KR101541591B1 (ko) * 2013-05-16 2015-08-03 삼성에스디에스 주식회사 Vdi 환경에서의 싱글 사인온 시스템 및 방법
US9461820B1 (en) * 2013-06-05 2016-10-04 Teradici Corporation Method and apparatus for providing a conditional single sign on
US9215064B2 (en) * 2013-10-21 2015-12-15 Adobe Systems Incorporated Distributing keys for decrypting client data
US9065854B2 (en) * 2013-10-28 2015-06-23 Citrix Systems, Inc. Systems and methods for managing a guest virtual machine executing within a virtualized environment
US10367702B2 (en) * 2013-10-31 2019-07-30 Hewlett Packard Enterprise Development Lp Network database hosting
US9166791B2 (en) 2013-11-20 2015-10-20 At&T Intellectual Property I, L.P. Method and apparatus for user identity verification
EP3127300B1 (en) * 2014-05-12 2019-09-04 Google LLC Managing nic-encrypted flows for migrating guests or tasks
US20150333909A1 (en) * 2014-05-15 2015-11-19 Ricoh Company, Ltd. Information processing system and information processing method
US10243953B2 (en) 2014-05-20 2019-03-26 Box, Inc. Systems and methods for secure resource access and network communication
CN104394128B (zh) * 2014-11-10 2018-08-03 安磊 一种终端访问服务器的控制方法
US10291616B1 (en) * 2014-12-18 2019-05-14 VCE IP Holding Company LLC Resource authorization system and method
CN105991709A (zh) * 2015-02-11 2016-10-05 中国移动通信集团河南有限公司 一种云桌面帐号管理方法及装置
US10432592B2 (en) * 2015-05-10 2019-10-01 Citrix Systems, Inc. Password encryption for hybrid cloud services
US20160342434A1 (en) * 2015-05-20 2016-11-24 Blackberry Limited Methods and systems for virtualization of portable electronic devices
US10325076B2 (en) * 2015-11-25 2019-06-18 Box, Inc. Personalized online content access experiences using online session attributes
US9886563B2 (en) 2015-11-25 2018-02-06 Box, Inc. Personalized online content access experiences using inferred user intent to configure online session attributes
KR102463293B1 (ko) * 2015-12-08 2022-11-07 삼성전자주식회사 전자 장치의 설정 변경 방법 및 이를 수행하는 전자 장치
US10387181B2 (en) * 2016-01-12 2019-08-20 International Business Machines Corporation Pre-deployment of particular virtual machines based on performance and due to service popularity and resource cost scores in a cloud environment
US10469262B1 (en) 2016-01-27 2019-11-05 Verizon Patent ad Licensing Inc. Methods and systems for network security using a cryptographic firewall
US9860064B2 (en) * 2016-03-07 2018-01-02 Citrix Systems, Inc. Encrypted password transport across untrusted cloud network
RU2626350C1 (ru) * 2016-04-11 2017-07-26 Андрей Сергеевич Моляков Способ функционирования операционной системы вычислительного устройства программно-аппаратного комплекса
CN107347058B (zh) 2016-05-06 2021-07-23 阿里巴巴集团控股有限公司 数据加密方法、数据解密方法、装置及系统
CN106060035B (zh) * 2016-05-26 2019-09-06 新华三技术有限公司 一种虚拟桌面的解锁方法及装置
CN107959656B (zh) * 2016-10-14 2021-08-31 阿里巴巴集团控股有限公司 数据安全保障系统及方法、装置
US10915881B2 (en) 2017-01-27 2021-02-09 American Express Travel Related Services Company, Inc. Transaction account charge splitting
CN108667608B (zh) 2017-03-28 2021-07-27 阿里巴巴集团控股有限公司 数据密钥的保护方法、装置和系统
CN108667773B (zh) 2017-03-30 2021-03-12 阿里巴巴集团控股有限公司 网络防护系统、方法、装置及服务器
CN108736981A (zh) 2017-04-19 2018-11-02 阿里巴巴集团控股有限公司 一种无线投屏方法、装置及系统
US10554480B2 (en) 2017-05-11 2020-02-04 Verizon Patent And Licensing Inc. Systems and methods for maintaining communication links
US10798128B2 (en) * 2017-07-24 2020-10-06 Blackberry Limited Distributed authentication for service gating
GB2565282B (en) * 2017-08-02 2021-12-22 Vnc Automotive Ltd Remote control of a computing device
US10523658B2 (en) * 2017-09-05 2019-12-31 Citrix Systems, Inc. Securing a data connection for communicating between two end-points
CN109994115B (zh) 2018-01-03 2023-07-07 阿里巴巴集团控股有限公司 通讯方法及装置、数据处理方法及设备
US10805283B2 (en) 2018-06-18 2020-10-13 Citrix Systems, Inc. Single sign-on from desktop to network
GB2575293B (en) * 2018-07-04 2020-09-16 Graphcore Ltd Data Through Gateway
CN109450620B (zh) 2018-10-12 2020-11-10 创新先进技术有限公司 一种移动终端中共享安全应用的方法及移动终端
CN113647051B (zh) * 2019-01-28 2024-08-20 康奈尔克有限公司 用于安全电子数据传输的系统和方法
US11038852B2 (en) 2019-02-08 2021-06-15 Alibaba Group Holding Limited Method and system for preventing data leakage from trusted network to untrusted network
US11137923B2 (en) 2019-07-18 2021-10-05 Alibaba Group Holding Limited Method and system for data reduction in a storage infrastructure to support a high-ration thin-provisioned service
US11429519B2 (en) 2019-12-23 2022-08-30 Alibaba Group Holding Limited System and method for facilitating reduction of latency and mitigation of write amplification in a multi-tenancy storage drive
US11469890B2 (en) * 2020-02-06 2022-10-11 Google Llc Derived keys for connectionless network protocols
CN111262879B (zh) * 2020-02-13 2022-05-24 武汉思普崚技术有限公司 一种基于仿真路径分析的防火墙安全策略开通方法及装置
CN111556376B (zh) * 2020-03-23 2022-06-14 视联动力信息技术股份有限公司 数字证书签发方法、装置及计算机可读存储介质
WO2021232347A1 (en) * 2020-05-21 2021-11-25 Citrix Systems, Inc. Cross device single sign-on
US11483305B2 (en) 2020-06-23 2022-10-25 Nutanix, Inc. Windows single sign-on mechanism
US11861388B2 (en) 2020-07-06 2024-01-02 Frame Platform, Inc. User profile management for non-domain joined instance virtual machines
US12531846B2 (en) * 2022-08-12 2026-01-20 Citrix Systems, Inc. Trusting a certificate for a secure connection based on a remote user session
CN115859335B (zh) * 2023-02-03 2023-06-16 合肥科颖医药科技有限公司 基于远控技术的远程信息数据查阅方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1761188A (zh) * 2005-09-09 2006-04-19 中国移动通信集团公司 一种单点登录方法和单点登出方法
CN1764296A (zh) * 2004-10-22 2006-04-26 北京握奇数据系统有限公司 动态口令认证系统和方法
US20100082734A1 (en) * 2007-12-04 2010-04-01 Elcock David Establishing A Thin Client Terminal Services Session

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987523A (en) 1997-06-04 1999-11-16 International Business Machines Corporation Applet redirection for controlled access to non-orginating hosts
US7146505B1 (en) 1999-06-01 2006-12-05 America Online, Inc. Secure data exchange between date processing systems
US7360096B2 (en) 2002-11-20 2008-04-15 Microsoft Corporation Securely processing client credentials used for Web-based access to resources
US7644275B2 (en) 2003-04-15 2010-01-05 Microsoft Corporation Pass-thru for client authentication
JP4066924B2 (ja) * 2003-09-19 2008-03-26 ソニー株式会社 送受信システム
US7404204B2 (en) 2004-02-06 2008-07-22 Hewlett-Packard Development Company, L.P. System and method for authentication via a single sign-on server
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US7730302B2 (en) * 2006-05-05 2010-06-01 Microsoft Corporation Secure and modifiable configuration files used for remote sessions
US7913084B2 (en) 2006-05-26 2011-03-22 Microsoft Corporation Policy driven, credential delegation for single sign on and secure access to network resources
US8189572B2 (en) * 2006-12-21 2012-05-29 Verizon Patent And Licensing Inc. Systems and methods for resetting a network device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1764296A (zh) * 2004-10-22 2006-04-26 北京握奇数据系统有限公司 动态口令认证系统和方法
CN1761188A (zh) * 2005-09-09 2006-04-19 中国移动通信集团公司 一种单点登录方法和单点登出方法
US20100082734A1 (en) * 2007-12-04 2010-04-01 Elcock David Establishing A Thin Client Terminal Services Session

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109684813A (zh) * 2012-04-17 2019-04-26 英特尔公司 受信服务交互
CN103873454B (zh) * 2012-12-18 2017-02-08 中国移动通信集团山东有限公司 一种认证方法及设备
CN103873454A (zh) * 2012-12-18 2014-06-18 中国移动通信集团山东有限公司 一种认证方法及设备
CN113536276A (zh) * 2013-01-15 2021-10-22 施耐德电气美国股份有限公司 安全访问可编程装置的系统和方法
CN104468113A (zh) * 2013-09-16 2015-03-25 安讯士有限公司 用户凭证的分布
CN104468113B (zh) * 2013-09-16 2019-09-27 安讯士有限公司 用于分布用户凭证的装置和方法
WO2015192582A1 (zh) * 2014-06-18 2015-12-23 中兴通讯股份有限公司 虚拟桌面登录验证方法和装置
CN105282095A (zh) * 2014-06-18 2016-01-27 中兴通讯股份有限公司 虚拟桌面登录验证方法和装置
CN105376274A (zh) * 2014-08-21 2016-03-02 中兴通讯股份有限公司 登录处理方法、装置及系统
CN107005547B (zh) * 2014-09-30 2020-03-20 思杰系统有限公司 用于由中间装置执行对于客户机的远程桌面会话的单点登录的系统和方法
CN107005547A (zh) * 2014-09-30 2017-08-01 思杰系统有限公司 用于由中间装置执行对于客户机的远程桌面会话的单点登录的系统和方法
CN107210916B (zh) * 2014-11-13 2021-08-24 迈克菲有限责任公司 条件登录推广
CN107210916A (zh) * 2014-11-13 2017-09-26 迈克菲有限责任公司 条件登录推广
WO2016155220A1 (zh) * 2015-03-30 2016-10-06 中兴通讯股份有限公司 一种单点登录的方法、系统以及终端
CN106161348B (zh) * 2015-03-30 2020-12-22 中兴通讯股份有限公司 一种单点登录的方法、系统以及终端
CN106161348A (zh) * 2015-03-30 2016-11-23 中兴通讯股份有限公司 一种单点登录的方法、系统以及终端
CN107787494A (zh) * 2015-06-23 2018-03-09 微软技术许可有限责任公司 跨重启的登录的恢复
CN107787494B (zh) * 2015-06-23 2021-07-27 微软技术许可有限责任公司 跨重启的登录的恢复
CN108650209A (zh) * 2018-03-06 2018-10-12 北京信安世纪科技股份有限公司 一种单点登录的方法、系统、装置及认证方法
CN108650209B (zh) * 2018-03-06 2021-05-14 北京信安世纪科技股份有限公司 一种单点登录的方法、系统、装置及认证方法
CN108965275A (zh) * 2018-07-03 2018-12-07 福建天晴数码有限公司 一种体验游戏的方法及系统
CN108965275B (zh) * 2018-07-03 2021-06-08 福建天晴数码有限公司 一种体验游戏的方法及系统
CN111726328A (zh) * 2019-03-22 2020-09-29 阿里巴巴集团控股有限公司 用于对第一设备进行远程访问的方法、系统以及相关设备
CN113728603A (zh) * 2020-03-12 2021-11-30 甲骨文国际公司 经由不可提取的不对称密钥的浏览器登录会话
CN113728603B (zh) * 2020-03-12 2024-05-24 甲骨文国际公司 经由不可提取的不对称密钥的浏览器登录会话的方法
CN114692120A (zh) * 2020-12-30 2022-07-01 成都鼎桥通信技术有限公司 国密认证方法、虚拟机、终端设备、系统及存储介质
CN113569222A (zh) * 2021-07-12 2021-10-29 成都安恒信息技术有限公司 一种用于windows程序的单点登录方法
CN113569222B (zh) * 2021-07-12 2024-04-05 成都安恒信息技术有限公司 一种用于windows程序的单点登录方法
CN114398114A (zh) * 2021-08-31 2022-04-26 北京来也网络科技有限公司 基于ai的rpa系统分身界面的生成方法及装置
CN114219417A (zh) * 2021-11-05 2022-03-22 北京来也网络科技有限公司 基于ai的rpa系统分身的控制方法及装置
CN115529178A (zh) * 2022-09-27 2022-12-27 中国电信股份有限公司 单点登录方法、装置、非易失性存储介质及处理器
CN115529178B (zh) * 2022-09-27 2025-06-24 中国电信股份有限公司 单点登录方法、装置、非易失性存储介质及处理器

Also Published As

Publication number Publication date
US20120084570A1 (en) 2012-04-05
CN102404314B (zh) 2015-01-14
US8505083B2 (en) 2013-08-06

Similar Documents

Publication Publication Date Title
CN102404314B (zh) 远程资源单点登录
US12010248B2 (en) Systems and methods for providing authentication to a plurality of devices
US8601265B2 (en) Method and system for improving storage security in a cloud computing environment
US20220014515A1 (en) Secure Authentication Of A Device Through Attestation By Another Device
US9864608B2 (en) Client authentication during network boot
CN104969201B (zh) 用于调用特权操作的安全接口
US10776489B2 (en) Methods and systems for providing and controlling cryptographic secure communications terminal operable to provide a plurality of desktop environments
CN110247758B (zh) 密码管理的方法、装置及密码管理器
US11526595B2 (en) Optically scannable representation of a hardware secured artifact
US9864853B2 (en) Enhanced security mechanism for authentication of users of a system
CN117879819A (zh) 密钥管理方法、装置、存储介质、设备及算力服务系统
CN114817957B (zh) 基于域管平台的加密分区访问控制方法、系统及计算设备
EP4184859A1 (en) Cloud key management for system management
CN107612917B (zh) 云计算环境下对日志存储使用3des加密算法加密的方法
CN113330435A (zh) 跟踪被污染的连接代理
CN112416525B (zh) 设备驱动初始化方法、直接存储访问方法及相关装置
CN107612918B (zh) 对数据字典信息进行rsa加密存储的方法
US20260025284A1 (en) Enclave architecture
CN120150939A (zh) 一种多用途网络密码服务系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150423

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150423

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.