CN118829983A - 用于通过零信任云环境向rdp服务提供多因素认证的系统和方法 - Google Patents
用于通过零信任云环境向rdp服务提供多因素认证的系统和方法 Download PDFInfo
- Publication number
- CN118829983A CN118829983A CN202380025567.1A CN202380025567A CN118829983A CN 118829983 A CN118829983 A CN 118829983A CN 202380025567 A CN202380025567 A CN 202380025567A CN 118829983 A CN118829983 A CN 118829983A
- Authority
- CN
- China
- Prior art keywords
- rdp
- server
- client device
- cloud environment
- mfa
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000004044 response Effects 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0861—Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/107—Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/082—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying multi-factor authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
Abstract
远程桌面协议(RDP)是一种用于通过网络控制机器的专有协议。为了克服该协议的一些不足,公开了一种在零信任云环境中使用的方法,该方法利用RDP本身不支持的多因素认证服务提供对RDP服务器的访问。这是利用RDP客户端执行的,同时通过零信任网络提供经过认证的和基于安全策略的体验。
Description
技术领域
本申请要求于2022年3月10日提交的美国非临时申请第17/654,309号的权益,其内容通过引用并入本文。
本公开一般涉及远程桌面访问,尤其是用于提供远程桌面访问的改进技术。
背景技术
远程桌面协议(RDP)是用于通过网络连接控制另一机器的通信协议。运行客户端软件(或者在一些情况下为web界面)的客户端连接到运行服务器软件的服务器,这允许客户端控制服务器。RDP是由开发的专有协议,广泛应用于网络和云环境。
与专有协议一样,定制针对用户的需求的协议通常并不简单。此外,一些功能可能完全缺失,让用户要么找到变通方案,要么寻找备选的解决方案,要么简单地等待直到专有协议的所有者决定产生新版本的时间。
例如,RDP允许特征网络等级认证(NLA),但不支持多因素认证(MFA)。因此,该专有协议提供的安全等级仅限于所有者决定提供的内容。
因此,至少克服以上描述的挑战,并且进一步提供对用于提供对机器的RDP访问的技术的改进将是有利的。
发明内容
以下是本公开的数个示例实施例的概述。提供本概述是为了方便读者提供对这些实施例的基本理解,并不完全限定本公开的广度。本概述不是对所有预期实施例的广泛概述,既不旨在标识所有实施例的关键或者重要元素,也不旨在描述任何或者所有方面的范围。其唯一目的是以简化形式呈现一个或多个实施例的一些概念,作为稍后呈现的更详细描述的前奏。为方便起见,术语“一些实施例”或“一些实施例”可以在本文中用于指代本公开的单个实施例或者多个实施例。
本文公开的一些实施例包括通过零信任云环境提供针对RDP(远程桌面协议)会话的多因素认证(MFA)服务的方法。该方法包括:认证用户账户的身份,其中用户账户通过客户端设备提供连接到零信任云环境的请求;从客户端设备接收连接到具有RDP服务器的目标机器的请求;生成针对客户端设备的MFA挑战;以及响应于确定MFA挑战成功完成,通过零信任云环境发起与目标机器的主RDP会话。
本文公开的一些实施例还包括其上存储有使处理电路系统执行过程的非暂态计算机可读介质,该过程包括:认证用户账户的身份,其中用户账户通过客户端设备提供连接到零信任云环境的请求;从客户端设备接收连接到具有RDP服务器的目标机器的请求;生成针对客户端设备的MFA挑战;以及响应于确定MFA挑战成功完成,通过零信任云环境发起与目标机器的主RDP会话。
本文公开的一些实施例还包括用于通过零信任云环境提供针对RDP(远程桌面协议)会话的多因素认证(MFA)服务的系统。该系统包括:处理电路系统;以及存储器,存储器包括指令,当由处理电路系统执行时,指令将系统配置为:认证用户账户的身份,其中用户账户通过客户端设备提供连接到零信任云环境的请求;从客户端设备接收连接到具有RDP服务器的目标机器的请求;生成针对客户端设备的MFA挑战;以及响应于确定MFA挑战成功完成,通过零信任云环境发起与目标机器的主RDP会话。
附图说明
本文公开的主题在说明书末尾的权利要求中特别指出并且明确要求保护。通过结合附图进行的以下详细描述,所公开的实施例的前述和其他目的、特征和优点将变得清楚。
图1是根据实施例实现的、用于提供具有多因素认证的RDP服务的零信任网络架构的网络图。
图2是根据实施例实现的、用于在零信任环境中利用RDP在客户端设备与服务器之间进行基于RDP客户端的连接的方法的流程图。
图3是根据实施例实现的、用于提供客户端设备对RDP服务器池的访问的方法的流程图。
图4是根据实施例实现的、用于通过零信任云环境提供具有多因素认证(MFA)的RDP服务的方法的流程图。
图5是根据实施例实现的、前端RDP服务器的示意图。
具体实施方式
重要的是要注意,本文公开的实施例仅是本文创新教示的许多有利用途的示例。一般来说,本申请说明书中的陈述不必然限制各种要求保护的任何实施例。此外,一些陈述可能适用于一些创造性特征,但是不适用于其他特征。一般来说,除非另有说明,否则单数元素可以是复数,反之亦然,但不失一般性。在附图中,相同的数字通过几个视图表示相同的部件。
远程桌面协议(RDP)是一种用于通过网络的控制机器的专有协议。为了克服该协议的一些不足,公开了在零信任云环境中使用的方法,该方法利用RDP本身不支持的多因素认证服务提供对RDP服务器的访问。这利用RDP客户端同时通过零信任网络提供基于认证和安全策略的体验而被执行。
图1是根据实施例实现的、用于提供具有多因素认证(MFA)的RDP服务的零信任网络架构100的网络图。客户端设备110可操作用于通过网络(未示出)与在第一云环境120中实现的接入门户服务器122和前端RDP服务器124通信。客户端设备110可以是个人计算机、智能电话、平板计算机等。客户端设备110可以运行RDP客户端(其是在客户端设备上执行的应用),或者在另实施例中,可以通过web浏览器访问RDP服务,例如利用IIS(互联网信息服务)服务器。第一云环境120是用于利用零信任架构提供服务的计算环境。在下文中,第一云环境120可以被称为零信任云环境。第一云环境120可以在一个或多个云基础设施技术上实现,诸如 Azure、云平台(GCP)、网络服务(AWS)等。
在客户端设备110与前端RDP服务器124之间建立连接,可以由RDP客户端应用或者基于web的访问来执行。基于RDP客户端的连接需要在客户端设备110上安装RDP客户端应用。例如,客户端设备110可以请求与访问门户122的连接。访问门户122向客户端设备110请求标识证书。在实施例中,客户端设备110可以利用例如来自IAM服务器140的标识访问管理(IAM)服务,以验证通过客户端设备110请求访问的用户。例如,OktaTM可以作为第三方应用提供标识和访问管理服务。
在这种实施例中,第三方应用可以请求第二形式的标识,例如向与用户相关联的移动电话发送代码,或者请求由RSA令牌生成的个人标识号码(PIN)。在实施例中,IAM服务器140可以在第一云环境120中实现。客户端设备110可以向访问门户服务器122提供登录凭证,例如用户名和密码。
在验证用户的标识之后,访问门户服务器122可以向客户端设备110提供RDP文件(.rdp),其中包括要连接的地址或者服务器名称、端口、令牌、令牌版本、令牌类型等。令牌可以是与用户、租户或者其组合相关联的唯一ID。在一些实施例中,可以指定令牌到期时间。令牌类型可以是文件令牌或者会话令牌。在一些实施例中,令牌版本可以指示期满时间。在其他实施例中,令牌与日期一起被存储在例如前端RDP服务器124的存储器中。前端服务器可以基于日期或者时间戳来确定令牌过期。
例如,前端RDP服务器124可以包括将令牌限定为在预定时间段过去之后过期的策略。在一些实施例中,预定时间段可以为相对于用户账户被验证的最后一次时间。在实施例中,可以使用策略来定义会话是否在预定的时间段内处于非活动状态,那么最后一次验证用户的时间可能会长于该时间段,因此被认为不再有效。例如,策略引擎125可以在其上存储策略。前端RDP服务器124可以查询策略引擎125以确定用户是否存在策略(例如,基于用户角色、用户名、域名或者与用户相关联的其他信息)。
当发现令牌过期时,前端RDP服务器124可以拒绝连接,或者在其他实施例中,将会话指向到指定的XRDP容器,诸如容器128。XRDP容器128可以用于重新认证(或者,如果由于其他原因认证失败,则进行认证)用户凭证。XRDP容器128可以提供用户界面,例如通过连接到访问门户服务器122来执行多因素认证。接入门户服务器122可以与IAM服务器140通信以提供第三方认证。一旦被认证(即,IAM服务器140提供用户账户被认证的确认),接入门户服务器122可以向前端RDP服务器124更新用户账户已认证,并且前端RDP服务器123然后可以响应于确定用户账户已经认证而发起重新连接。
在实施例中,策略引擎125可以确定用户账户与MFA要求相关联。前端RDP服务器124可以发起与XRDP容器128的连接,该XRDP容器被配置为例如在web浏览器上显示用户界面,可以在该用户界面中输入附加的登录凭证。在策略引擎125确定用户名(或用户)与需要额外认证的策略相关联后,可以启动XRDP容器128(例如,作为集群或者其他软件容器集群中的节点),其被配置为提供用于接收附加的认证信息的用户界面。
在实施例中,XRDP容器128可以向访问门户服务器122提供令牌,以确定与用户相关联的令牌是否有效。如果令牌无效(例如,过期),则接入门户服务器122可以确定向XRDP容器128提供哪种类型的IAM挑战。在一些实施例中,IAM挑战可以从内部IAM服务器(未示出)提供。在其他实施例中,IAM挑战可以从外部IAM服务器140提供。
在实施例中,前端服务器124(或者访问门户服务器122、或者XRDP容器128)可以从IAM服务器140请求HTML帧,该HTML帧包括代码,当由XRDP容器128的web浏览器执行时,显示用于输入附加认证信息的用户界面。附加信息可以是例如输入发送到先前为用户名确认的另一已用设备的代码的请求(例如,通过移动电话短信服务接收的代码),回答用户先前提供答案的一个或多个安全问题的请求等。在实施例中,策略可以被配置为周期性生成认证请求。例如,在15分钟的不活动后,该策略要求用户使用用户名和密码重新进行用户认证,在60分钟的不活跃后,该策略要求用户使用MFA重新进行身份认证。
RDP文件可以基于一个或多个策略生成,这些策略可以存储在前端RDP服务器124的存储装置(未示出)中。在其他实施例中,策略可以存储在策略服务器上,在云环境120中实现为虚拟工作负载或者物理工作负载。RDP文件可以配置客户端设备110以发起与前端服务器124的RDP会话。
在利用客户端RDP应用将客户端设备110连接到前端RDP服务器124后,前端RDP服务器124可以确定是否还需要用户凭证。如果是,前端RDP服务器124被配置为指定到另一机器的连接,以便捕获针对所指定机器的登录凭证。例如,前端服务器124可以启动运行具有XRDP应用的Linux OS的容器128。在实施例中,前端服务器124可以指示无服务器功能为用户的每个登录实例启动XRDP容器。
XRDP容器124为每个用户提供隔离的环境,在该环境中可以捕获用户的登录凭证。登录凭证可能包括用户希望连接的机器的用户名和密码、域的用户名和口令、认证令牌等。XRDP容器124可以用于与客户端设备110的其他交互,并且可以用于通过提供和请求附加信息、绘制信息页面等来改善用户体验。
在实施例中,XRDP容器124可以向用户提供浏览器客户端,并且指向由访问门户服务器122绘制的网页,该网页提供了输入登录凭证的表格。访问门户服务器122可以向前端服务器124提供登录凭证,前端服务器124可以使用登录凭证来确定用户是否被授权登录到作为目标RDP服务器(即客户端希望连接到的机器)的机器。在实施例中,登录凭证可以是操作系统(例如,Microsoft)凭证,其可以不同于用于与零信任云环境120进行认证的凭证。
在一些实施例中,零信任云环境120可以存储登录凭证,零信任云和环境120可以对其进行加密,以便在未来的会话中使用登录凭证,从而减少捕获登录细节的需要,例如通过使用XRDP容器。登录凭证可以由例如前端RDP服务器124存储在存储设备(未示出)中。
在一些实施例中,静态凭证集(例如,用户名、密码、域名或者其组合)存储在零信任云环境中,用于任何有权访问(例如,基于策略)配置的RDP应用的用户。例如,静态凭证集可以存储在访问门户服务器122、策略引擎125等的存储装置中。用户从访问门户服务器GUI中选择RDP应用,然后其客户端设备执行.rdp文件。前端RDP服务器124经配置以使用凭证的静态集合而且不将其展示给用户,并且将用户连接到目标服务器。例如,这有利于允许第三方访问安全网络内的特定RDP资源,而且不生成或者展示在安全网络活动目录中配置的专用windows用户。
例如,后端服务器126可以与连接器132通信,该连接器132在机器134的安全网络环境130中实现。安全网络环境130可以是希望提供对一些机器的受控访问的安全网络。连接器132被配置为与用户设备正试图访问的机器134通信。在实施例中,多个连接器,各自都部署在安全的网络环境中,各自都与多个后端服务器中的一个后端服务器通信。
响应于确定允许用户设备110连接到机器134的登录凭证,前端服务器124向用户设备110与XRDP容器128之间的通信会话注入重新连接分组。重新连接分组配置用户设备110以结束客户端设备和XRDP容器之间的当前RDP会话,并且使用新的会话令牌重新连接到前端服务器124。前端服务器124使用客户端设备110向XRDP容器128提供的登录凭证来访问机器134。
用户设备110和机器134之间的通信路径包括前端服务器124、后端服务器126和连接器132。在实施例中,第一令牌(认证令牌)可以用于经由访问门户服务器122与前端RDP服务器124对客户端进行认证,第二令牌(会话令牌)可以被用于在提供到目标RDP服务器(即,机器134)的连接时将客户端设备110连接到前端RDP服务器124。
RDP通常是在通信中间不支持实体的协议。然而,通过利用本文描述的零信任云架构,客户端设备能够访问资源,在本例中是安全网络环境130中的机器134,同时连接由第一云环境120监测、认证和验证。这些功能不是RDP固有的,并且可能是有利的。此外,可以在该体系结构之上实现各种形式的功能,以便为这种受控访问环境提供附加的益处。
图2是根据实施例实现的、用于通过零信任环境利用RDP在客户端设备与服务器之间进行基于RDP客户端的连接的方法的示例流程图200。
在S210处,生成针对客户端的RDP会话文件。RDP会话文件可以是包括可以由具有RDP客户端的客户端设备提取的信息的文本文件。提取的信息允许RDP客户端与RDP前端服务器发起RDP会话。提取的信息可以是,例如服务器名称、服务器地址、网络路径、端口、令牌、令牌版本、令牌类型、到期时间等。
在实施例中,RDP会话文件基于客户端设备发起的、通过中间云环境(诸如,云环境120)连接到安全网络环境中的远程机器(即目标服务器)的请求而生成。
在S220处,利用RDP会话文件在RDP客户端与RDP前端服务器之间发起零信任RDP会话。RDP会话文件可以指定目标机器。在实施例中,RDP客户端可以在客户端设备上绘制用户界面,以捕获目标机器的登录详细信息。
在S230处,虚拟工作负载被启动,零信任RDP会话被指向到该虚拟工作负载。在实施例中,虚拟工作负载被实现为容器,例如利用XRDP。将零信任RDP会话指向到XRDP容器可以包括生成针对前端RDP服务器的指令,以将网络业务从客户端设备转发到XRDP容器,并且将网络业务从XRDP容器转发到客户端设备。
在S240处,捕获用户登录凭证,用于与目标服务器验证用户身份。在实施例中,虚拟工作负载可以执行web浏览器,该浏览器被预定义为访问指向访问门户服务器的URL。访问门户服务器向web浏览器提供用于捕获登录凭证的网页。
在S250处,所捕获的用户登录凭证用于与远程机器(即目标服务器)进行认证。用户登录凭证可以从XRDP容器被发送到前端RDP服务器,前端RDP服务器进而通过后端服务器与连接器建立的连接根据目标服务器验证它们。因此,前端服务器能够遵守RDP协议的网络等级认证(NLA)要求。
在S260处,在到客户端设备的通信中注入重新连接分组。重新连接分组指示客户端设备使用新会话重新连接到前端RDP服务器,新会话指向目标服务器,而之前的会话指向XRDP容器(即虚拟工作负载)。在实施例中,重新连接分组是发送到客户端设备以关闭当前RDP连接并且立即使用更新的信息发起新的连接的指令,更新的信息包括替换XRDP容器的目标服务器。在一些实施例中,重新连接分组的更新的信息还可以包括更新的令牌,该令牌向前端RDP服务器指示客户端设备已经提供了成功用于连接到目标服务器的登录凭证。重新连接分组可以实现为:
RDP协议中的RDP_SERVER_REDIRECTION_PACKET分组。
在S270处,与目标服务器发起RDP会话。前端RDP服务器能够监测客户端设备与目标服务器之间的通信,因为通信是经由前端RDP服务器在目标服务器与客户端设备之间传递的。
因此,前端RDP服务器被配置为向客户端设备提供到目标服务器的RDP会话,前端RDP充当代理。以这种方式提供RDP会话允许前端RDP服务器对客户端设备的用户进行认证(如零信任环境所暗示的),并且还允许前端RDP服务器监测客户端设备与目标服务器之间的通信,因为所有通信都从客户端设备流向前端RDP服务器,并且从那里经由后端服务器和连接器流向目标服务器。此方法克服了NLA所施加的限制,即在与目标服务器建立会话之前进行认证。前端RDP服务器能够模拟客户端设备(因为它具有客户端的登录凭证),因此可以读取通信线路中转移的任何数据分组。
图3是根据实施例实现的用于提供客户端设备对RDP服务器池的访问的方法的示例流程图300。例如,在用户不必对特定机器感兴趣的情况下,只要他们对登录到特定网络感兴趣,或者访问在许多这样的机器中的任何一个机器上可用的应用。
在S310处,接收连接到零信任云环境的请求。该请求可以通过访问门户服务器从客户端设备接收,其中访问门户服务器生成用于绘制身份验证的图形用户界面(GUI)的指令。在实施例中,还可以包括响应于成功完成身份验证的界面,通过该界面用户可以从目标服务器组中提供发起RDP会话的选择。
在S320处,接收指示目标服务器组的选择。在实施例中,GUI可以例如通过绘制命名在目标服务器中的每个目标服务器顶部上执行的特定应用的图标来表示目标服务器组。通过选择图标,例如通过点击它,用户指示他们希望访问托管在任何目标服务器上的应用。目标服务器组也可以称为服务器池,在RDP服务器的情况下,称为RDP服务器池。
在S330处,从目标服务器组中选择目标服务器。在实施例中,选择可以由接入门户服务器、前端RDP服务器或者在零信任云环境中实现的负载均衡器执行。
在S340处,与所选择的目标服务器进行RDP会话。RDP会话可以例如利用上文关于图2描述的基于RDP客户端应用的方法来发起。在一些实施例中,会话可以包括多因素认证挑战,如本文所详述。
图4是根据实施例实现的、用于通过零信任云环境提供针对RDP服务的具有多因素认证(MFA)的方法的示例流程图400。RDP协议本身不支持MFA,这意味着不可能使用多因素认证来认证RDP会话。然而,通过经由零信任环境提供RDP会话,例如上文图2至图3所示,可以在RDP会话之上添加MFA功能,这提供了增加的安全性,否则当如预期的那样使用该协议时是不可用的。
在S410处,接收连接到零信任云环境的请求。该请求可以通过访问门户服务器从客户端设备接收,其中访问门户服务器生成用于绘制身份验证的图形用户界面(GUI)的指令。在实施例中,还可以包括响应于成功完成身份验证的界面,通过该界面,用户可以从一个或多个目标机器中提供选择,以发起RDP会话。基于用户的选择,可以发起基于RDP客户端的会话,或者可以替代地发起基于web的RDP会话。
在S420处,接收发起RDP会话的请求。在实施例中,请求可以包括选择与其发起RDP会话的目标机器。该请求还可以提供机器的登录凭证,前端RDP服务器可以使用该凭证来发起与目标机器的RDP会话。
在S430处,部署XRDP容器以捕获认证输入。RDP会话可以指向到XRDP容器。在实施例中,指向包括为前端RDP服务器生成指令、以将网络业务从客户端设备转发到XRDP容器、并且将网络业务从XRDP容器转发到客户端设备。
在S440,生成多因素认证(MFA)挑战。MFA挑战可以通过向IAM服务提供方(如OktaTM、Authenticator、Authy、Auth0等)发送请求来生成。该请求可以从XRDP容器、前端RDP服务器和访问门户服务器发送。MFA挑战可以基于从策略引擎接收到的策略生成。例如,前端RDP服务器(或者例如,访问门户服务器或者XRDP容器)可以通过提供用户账户的用户名来查询策略引擎,以确定一个或多个策略是否适用于该用户账户。策略可以是指示前端RDP服务器如何以及多频繁地使用MFA为用户账户的用户发起认证的条件语句。
MFA挑战可以基于物理对象(诸如,安全令牌、银行卡、钥匙卡等)生成;用户拥有的知识,如密码、PIN等;生物特征,如指纹、声纹等;例如通过对用户设备使用的IP地址进行地理定位来确定用户设备的位置。MFA挑战可以提供给用户设备,例如,通过绘制用户界面,用户可以在其中提供MFA质询所需的附加地凭证(或者MFA响应)。用户界面可以使用虚拟工作负载(如XRDP容器)来绘制,该虚拟工作负载具有web浏览器,该浏览器显示由访问门户服务器绘制的网页,用户可以在其中提供输入(即MFA响应)。
在实施例中,前端RDP服务器可以向用户设备发送重新连接分组,以将RDP会话转移(重新连接)到虚拟工作负载(例如,XRDP容器),然后响应接收到MFA挑战已成功完成的指示通过发送另一重新连接分组将RDP会话重新转移回目标机器。
在一些实施例中,前端RDP服务器可以向IAM服务提供方发送请求以提供MFA挑战,并且将从用户设备接收到的MFA响应发送给IAM服务提供方。IAM服务提供方可以发送挑战成功或者失败的指示。如果挑战未成功完成,前端RDP服务器可以确定是否应该提供另一MFA挑战,或者例如是否应该将用户设备与零信任云环境断开连接。在实施例中,还可以基于从策略引擎接收到的策略来执行确定。例如,策略可以规定,用户账户在MFA挑战中失败的次数不得超过连续2次,超过此预定阈值的用户账户将从零信任云环境中注销(即断开连接)。
在S450处,执行检查以确定MFA挑战是通过还是失败。如果用户设备提供了导致通过的MFA响应,则在S560继续执行。否则,执行可以终止。在另一实施例中,如果MFA响应导致MFA挑战执行失败,则可以在S540继续执行另一MFA挑战,该挑战可以是之前提出的相同挑战、相同类型的挑战、不同的挑战和不同类型的挑战。在一些实施例中,还基于策略来执行检查。
在S460处,与目标机器发起RDP会话。在一些实施例中,RDP会话在MFA挑战之前在前端RDP服务器与目标机器之间发起,并且在这些实施例中仅在MFA挑战通过后才在客户端设备与目标机器间发起连接。例如,前端RDP服务器仅在MFA挑战完成后向客户端设备发送重新连接指令,以将XRDP容器的通信指向到目标机器。RDP会话可以由前端RDP服务器发起,如本公开中所述。RDP会话是在成功完成MFA挑战后发起的。在一些实施例中,前端RDP服务器可以例如基于策略的要求周期性地向客户端设备提供MFA挑战。就用户体验而言,MFA挑战可以在RDP会话期间周期性无缝地提供。例如,前端RDP服务器可以向客户端设备发送重新连接分组,以将RDP会话指向到XRDP容器,通过该XRDP容器提出MFA挑战。
响应于成功完成MFA挑战(即提供适当的MFA响应),前端服务器可以发送第二重新连接分组,该分组将RDP会话从XRDP容器指向到目标机器。对于用户来说,该过程可以重复多次,好像是单个RDP会话。
图5是根据实施例实现的前端RDP服务器124的示例示意图500。前端RDP服务器124包括耦合到存储器520、存储装置530和网络接口540的处理电路系统510。在实施例中,前端RDP服务器124的组件可以经由总线550通信连接。在其他实施例中,前端RDP服务器124可以实现为虚拟工作负载,具有由云计算环境提供的计算资源。
处理电路系统510可以实现为一个或多个硬件逻辑组件和电路。例如但不限于,可以使用的示例性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、图形处理单元(GPU)、张量处理单元(TPU)、通用微处理器、微控制器、数字信号处理器(DSP)等,或者可以执行计算或者其他信息操作的任何其他硬件逻辑组件。
存储器520可以是易失性的(例如,随机存取存储器等)、非易失性(例如,只读存储器、闪存等)或者其组合。
在一种配置中,用于实现本文公开的一个或多个实施例的软件可以存储在存储装置530中。在另一配置中,存储器620被配置为存储这样的软件。软件应广义地解释为任何类型的指令,无论是称为软件、固件、中间件、微码、硬件描述语言还是其他。指令可以包括代码(例如,源代码格式、二进制代码格式、可执行代码格式或者任何其他合适的代码格式)。当由处理电路系统510执行时,这些指令使处理电路系统510进行本文所述的各种处理。
存储装置530可以是磁存储器、光存储器、固态存储器等,并且可以实现为例如闪存或者其他存储技术,或者可用于存储所需信息的任何其他介质。
网络接口540允许前端RDP服务器124与例如客户端设备110、访问门户服务器122、策略引擎125、IAM服务器140、后端服务器126、连接器123或者其任何组合通信。
应当理解,本文所述的实施例不限于图5中所示的特定架构,在可以等同地使用其他架构而不脱离所公开的实施例的范围。
本文公开的各种实施例可以实现为硬件、固件、软件或者其任何组合。此外,软件优选地被实现为有形地体现在由部件或者一些设备和/或设备组合组成的程序存储单元或者计算机可读介质上的应用。应用程序可以上传到包括任何合适架构的机器并且由其执行。优选地,该机器在具有硬件的计算机平台上实现,例如一个或多个中央处理单元(“CPU”)、存储器和输入/输出接口。计算机平台还可以包括操作系统和微指令代码。本文所述的各种过程和功能可以是微指令代码的一部分或者应用程序的一部分,或者其任何组合,可以由CPU执行,无论是否明确示出这样的计算机或者处理器。此外,各种其他外围单元可以连接到计算机平台,例如附加数据存储单元和打印单元。此外,非暂态计算机可读介质是除暂态传播信号之外的任何计算机可读介质。
本文所述的所有示例和条件语言旨在用于教学目的,以帮助读者理解所公开的实施例的原理以及发明人为进一步发展本领域所贡献的概念,并且应该被解释为不限于这些具体引用的示例和条件。此外,本文中叙述所公开实施例的原理、方面和实施例的所有陈述,以及其具体示例,旨在涵盖其结构和功能等同物。此外,此类等效物包括目前已知的等同物以及未来开发的等同物,即开发的任何执行相同功能的元素,无论其结构如何。
应当理解,本文中使用诸如“第一”、“第二”等名称对元素的任何引用通常不会限制这些元素的数量或者顺序。相反,这些名称在本文中通常用作区分两个或者多个元素或者元素实例的方便方法。因此,提及第一和第二元素并不意味着那里只能使用两个元素,也不意味着第一元素必须以某种方式先于第二元素。此外,除非另有说明,否则元素集包括一个或多个元素。
如本文所使用的,短语“至少一个”后面是项目列表,意味着可以单独使用任何所列项,或者可以使用两个或者更多个所列项的任何组合。例如,如果一个系统被描述为包括“A、B和C中的至少一个”,则该系统可以仅包括A单独;B单独;C单独;2A;2B;2C;3A;A和B的组合;B和C的组合;A和C的组合;A、B和C的组合;2A和C的组合;A、3B和2C的组合;等等。
Claims (19)
1.一种用于通过零信任云环境提供针对RDP(远程桌面协议)会话的多因素认证(MFA)服务的方法,包括:
认证用户账户的身份,其中至少基于所述用户账户连接到所述零信任云环境的请求从客户端设备发送;
从所述客户端设备接收连接到具有RDP服务器的目标机器的请求;
生成针对所述客户端设备的MFA挑战;以及
响应于确定所述MFA挑战成功完成,通过所述零信任云环境发起与所述目标机器的主RDP会话。
2.根据权利要求1所述的方法,还包括:
将所述客户端设备指向与部署在所述零信任云环境中的虚拟工作负载通信;
通过所述虚拟工作负载捕获来自所述客户端设备的登录凭证,其中所述登录凭证用于所述目标机器,所述目标机器在安全网络环境中实现;
利用所述目标机器对所捕获的所述登录凭证进行认证;以及
响应于确定所捕获的所述登录凭证由所述目标机器认证,向所述客户端设备发送重新连接指令以重新连接到部署在所述零信任云环境中的前端RDP服务器,其中所述前端RDP服务器从所述客户端设备接收通信,并且将所接收的所述通信指向所述目标机器。
3.根据权利要求2所述的方法,其中所述虚拟工作负载是容器集群中的节点。
4.根据权利要求1所述的方法,还包括:
配置所述虚拟工作负载以发起浏览器会话,其中所述浏览器会话被指向由访问门户服务器生成的网页;
配置所述虚拟工作负载以生成至少显示所述MFA挑战的用户界面;以及
从所述客户端设备接收对所述MFA挑战的响应。
5.根据权利要求1所述的方法,还包括:
基于所述用户账户来查询策略引擎;以及
还基于所述策略引擎的策略来生成所述MFA挑战。
6.根据权利要求1所述的方法,还包括:
从身份和认证管理(IAM)服务器接收所述MFA挑战。
7.根据权利要求6所述的方法,其中所述IAM服务器是以下任一项:在所述零信任云环境内被实现,以及在所述零信任云环境外部被实现。
8.根据权利要求6所述的方法,还包括:
发送来自以下任一项的、针对所述MFA挑战的请求:前端RDP服务器,访问门户服务器、以及所述虚拟工作负载。
9.根据权利要求1所述的方法,还包括:
基于以下任一项来生成所述MFA挑战:安全令牌、银行卡、密钥卡、密码、个人标识码(PIN)、生物特征签名、指纹、声纹、以及用户设备的位置。
10.一种非暂态计算机可读介质,其上存储有指令,所述指令用于使处理电路系统执行通过零信任云环境提供针对RDP(远程桌面协议)会话的多因素认证(MFA)服务的过程,所述过程包括:
认证用户账户的身份,其中至少基于所述用户账户连接到所述零信任云环境的请求从客户端设备发送;
从所述客户端设备接收连接到具有RDP服务器的目标机器的请求;
生成针对所述客户端设备的MFA挑战;以及
响应于确定所述MFA挑战成功完成,通过所述零信任云环境发起与所述目标机器的主RDP会话。
11.一种用于通过零信任云环境提供针对RDP会话的MFA服务的系统,包括:
处理电路系统;以及
存储器,所述存储器包括指令,所述指令在由所述处理电路系统执行时,将所述系统配置为:
认证用户账户的身份,其中至少基于所述用户账户连接到所述零信任云环境的请求从客户端设备发送;
从所述客户端设备接收连接到具有RDP服务器的目标机器的请求;
生成针对所述客户端设备的MFA挑战;以及
响应于确定所述MFA挑战成功完成,通过所述零信任云环境发起与所述目标机器的主RDP会话。
12.根据权利要求11所述的系统,其中所述存储器还包括以下指令,所述指令在由所述处理电路系统执行时,还将所述系统配置为:
将所述客户端设备指向与部署在所述零信任云环境中的虚拟工作负载通信;
通过所述虚拟工作负载捕获来自所述客户端设备的登录凭证,其中所述登录凭证用于所述目标机器,所述目标机器在安全网络环境中实现;
利用所述目标机器对所捕获的所述登录凭证进行认证;以及
响应于确定所捕获的所述登录凭证由所述目标机器认证,向所述客户端设备发送重新连接指令以重新连接到部署在所述零信任云环境中的前端RDP服务器,其中所述前端RDP服务器从所述客户端设备接收通信,并且将所接收的所述通信指向到所述目标机器。
13.根据权利要求12所述的系统,其中所述虚拟工作负载是容器集群中的节点。
14.根据权利要求11所述的系统,其中所述存储器还包括以下指令,所述指令在由所述处理电路系统执行时,还将所述系统配置为:
配置所述虚拟工作负载以发起浏览器会话,其中所述浏览器会话被指向由访问门户服务器生成的网页;
配置虚拟工作负载以生成至少显示所述MFA挑战的用户界面;以及
从所述客户端设备接收对所述MFA挑战的响应。
15.根据权利要求11所述的系统,其中所述存储器还包括以下指令,所述指令在由所述处理电路系统执行时,还将所述系统配置为:
基于所述用户账户来查询策略引擎;以及
还基于所述策略引擎的策略来生成所述MFA挑战。
16.根据权利要求11所述的系统,其中所述存储器还包括以下指令,所述指令在由所述处理电路系统执行时,还将所述系统配置为:
从身份和认证管理(IAM)服务器接收所述MFA挑战。
17.根据权利要求16所述的系统,其中所述IAM服务器是以下任一项:在所述零信任云环境内被实现,以及在所述零信任云环境外部被实现。
18.根据权利要求16所述的系统,其中所述系统是以下任一项:前端RDP服务器、访问门户服务器和所述虚拟工作负载。
19.根据权利要求11所述的系统,其中所述存储器还包括以下指令,所述指令在由所述处理电路系统执行时,还将所述系统配置为:
基于以下任一项来生成所述MFA挑战:安全令牌、银行卡、钥匙卡、密码、个人标识码(PIN)、生物特征签名、指纹、声纹、以及用户设备的位置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/654,309 | 2022-03-10 | ||
US17/654,309 US20230291726A1 (en) | 2022-03-10 | 2022-03-10 | System and method for providing multi factor authorization to rdp services through a zero trust cloud environment |
PCT/IB2023/052327 WO2023170653A1 (en) | 2022-03-10 | 2023-03-10 | System and method for providing multi factor authorization to rdp services through a zero trust cloud environment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118829983A true CN118829983A (zh) | 2024-10-22 |
Family
ID=87931351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202380025567.1A Pending CN118829983A (zh) | 2022-03-10 | 2023-03-10 | 用于通过零信任云环境向rdp服务提供多因素认证的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230291726A1 (zh) |
CN (1) | CN118829983A (zh) |
DE (1) | DE112023001324T5 (zh) |
WO (1) | WO2023170653A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117749536B (zh) * | 2024-02-21 | 2024-04-19 | 湖南华博信息技术有限公司 | 一种零信任统一身份认证系统及构建方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10454940B2 (en) * | 2016-05-11 | 2019-10-22 | Oracle International Corporation | Identity cloud service authorization model |
US20220353244A1 (en) * | 2016-05-18 | 2022-11-03 | Zscaler, Inc. | Privileged remote access for OT/IOT/IIOT/ICS infrastructure |
US11190501B2 (en) * | 2017-08-22 | 2021-11-30 | Terawe Corporation | Hybrid single sign-on for software applications and services using classic and modern identity providers |
US20230412638A1 (en) * | 2019-03-25 | 2023-12-21 | Zscaler, Inc. | Systems and methods for providing a native browser experience for Cloud Browser Isolation (CBI) environments |
US20230370495A1 (en) * | 2021-11-23 | 2023-11-16 | Zscaler, Inc. | Breach prediction via machine learning |
-
2022
- 2022-03-10 US US17/654,309 patent/US20230291726A1/en active Pending
-
2023
- 2023-03-10 DE DE112023001324.1T patent/DE112023001324T5/de active Pending
- 2023-03-10 CN CN202380025567.1A patent/CN118829983A/zh active Pending
- 2023-03-10 WO PCT/IB2023/052327 patent/WO2023170653A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023170653A1 (en) | 2023-09-14 |
DE112023001324T5 (de) | 2025-01-09 |
US20230291726A1 (en) | 2023-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10581827B2 (en) | Using application level authentication for network login | |
US8966594B2 (en) | Proxy authentication | |
CN112995219B (zh) | 一种单点登录方法、装置、设备及存储介质 | |
US9369286B2 (en) | System and methods for facilitating authentication of an electronic device accessing plurality of mobile applications | |
CN105337949B (zh) | 一种SSO认证方法、web服务器、认证中心和token校验中心 | |
US10320771B2 (en) | Single sign-on framework for browser-based applications and native applications | |
US9584615B2 (en) | Redirecting access requests to an authorized server system for a cloud service | |
JP2020126602A5 (zh) | ||
CN112491776B (zh) | 安全认证方法及相关设备 | |
WO2018036314A1 (zh) | 一种单点登录认证方法及装置、存储介质 | |
US8191122B2 (en) | Provisioning a network appliance | |
CN110493184B (zh) | 在客户端中登录页面的处理方法、装置、电子装置 | |
US9973490B2 (en) | Single login authentication for users with multiple IPV4/IPV6 addresses | |
CN115021991A (zh) | 未经管理的移动设备的单点登录 | |
US8191123B2 (en) | Provisioning a network appliance | |
US9590972B2 (en) | Application authentication using network authentication information | |
US11734408B2 (en) | Remapping of uniform resource locators for accessing network applications | |
WO2018045798A1 (zh) | 网络认证方法、相关装置 | |
US9948648B1 (en) | System and method for enforcing access control to publicly-accessible web applications | |
CN118829983A (zh) | 用于通过零信任云环境向rdp服务提供多因素认证的系统和方法 | |
CN114338078B (zh) | 一种cs客户端登录方法及装置 | |
JP2021140821A (ja) | 画面制御装置及び画面制御方法 | |
US11474840B1 (en) | Computing device and related methods providing virtual session launching from previously cached assets | |
US20230370447A1 (en) | System and method for providing application access through an rdp pool service over a zero trust cloud environment | |
US20240031358A1 (en) | System and method for providing a web based rdp service through a zero trust cloud environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |