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

云桌面访问方法、零信任网关、云桌面客户端和服务端与流程

2022-12-20 20:48:07 来源:中国专利 TAG:


1.本发明涉及通信及云计算技术领域,尤其涉及一种云桌面访问方法、零信任网关、云桌面客户端和服务端。


背景技术:

2.随着互联网技术的不断发展,新技术态势下的网络安全威胁和风险不断涌现,移动互联网、工业互联网、车联网等新型的应用场景也使得物理网络安全边界逐渐瓦解。为了应对逐渐复杂的网络环境,业界提出了“零信任”网络安全框架。零信任网络安全框架的核心思想是:默认不信任企业网络内外的任何人、设备和系统,基于身份认证和授权重新构建访问控制的信任基础,从而确保身份可信、设备可信、应用可信和链路可信。基于零信任原则,可以保障办公系统的终端安全、链路安全和访问控制安全。
3.在云计算和设备虚拟化技术日趋成熟的背景下,使用云桌面远程办公逐渐成为一种常态化的工作模式,虚拟桌面架构(virtual desktop infrastructure,vdi)即云桌面系统主要依靠部署在服务器上的虚拟机为用户提供虚拟计算资源,这些虚拟机资源消耗小,便于统一管理,并且使用方便。目前,云桌面已经成为很多企事业单位办公的首选方式。
4.目前,零信任网络的安全体系还不完善,云桌面以什么样的形式接入到零信任网络体系,各厂商还没有统一的解决方案。因为云桌面作为零信任体系内一个比较特殊的特例,既可以看作是在用户域的一个访问数据的工具,也可以看作数据域中一个特殊用途的应用。相较于一些web应用,在业务逻辑、数据访问方式、网络连接方式等方面,云桌面有其相对特殊的地方,因此云桌面接入零信任网络安全框架还面临较多问题。
5.在面临的问题当中,其中一个主要的问题是如何实现单点登录的问题。云桌面有其自身的安全认证体系,零信任网络安全框架也有自己的安全认证系统,两个独立的认证系统,无法实现统一认证和单点登录。


技术实现要素:

6.有鉴于此,本发明提供一种云桌面访问方法、零信任网关、云桌面客户端和服务端,用于解决基于零信任网络安全框架实现云桌面系统的技术问题。
7.基于本发明实施例的一方面,本发明提供了一种云桌面访问方法,该方法应用于云桌面客户端,该方法包括:
8.在所述云桌面客户端启动时,接收由安全认证门户传入的认证信息;所述认证信息来自于零信任网络安全框架中的安全认证中心;
9.在所述云桌面客户端与云桌面服务端交互以建立控制连接和数据连接的过程中,在交互的报文中携带所述认证信息以使零信任网关对交互的报文进行认证。
10.进一步地,所述云桌面客户端与云桌面服务端交互以建立控制连接和数据连接的过程包括:
11.所述云桌面客户端向所述云桌面服务端发送连接请求,在所述连接请求的报文中
包括扩展字段,所述扩展字段中携带所述认证信息;所述认证信息用于零信任网关通过所述安全认证中心对所述连接请求进行认证;
12.所述云桌面客户端接收所述零信任网关转发的由所述云桌面服务端发送的连接应答以建立与所述云桌面服务端的连接。
13.进一步地,所述方法还包括:
14.所述云桌面客户端通过所述控制连接向所述云桌面服务端发送登录请求以登录所述云桌面服务端;在所述登录请求的内容字段中携带所述认证信息以使所述云桌面服务通过所述安全认证中心对所述认证信息进行认证;
15.接收所述云桌面服务端发送的登录应答,从登录应答中获取云桌面列表;
16.所述云桌面客户端建立与所述云桌面列表中的选定云桌面的连接。
17.进一步地,所述云桌面客户端包括客户端主模块和客户端子模块,所述云桌面服务端包括虚拟化管理平台和虚拟化内核平台;
18.所述云桌面客户端建立与所述云桌面列表中的选定云桌面的连接方法为:
19.所述客户端主模块从所述云桌面列表中获取选定云桌面的云桌面信息;
20.所述客户端主模块启动用于连接所述选定云桌面的客户端子模块,并将选定云桌面的云桌面信息和认证信息传入所述客户端子模块;
21.所述客户端子模块基于云桌面信息和认证信息建立与所述虚拟化管理平台之间的控制连接,以及建立与位于所述虚拟化内核平台中的选定云桌面的数据连接。
22.进一步地,在所述云桌面客户端与云桌面服务端交互以建立控制连接的过程包括:
23.所述客户端主模块向所述虚拟化管理平台发送的第一连接请求以建立与所述虚拟化管理平台之间的连接的过程;以及
24.所述客户端子模块基于云桌面信息和认证信息向所述虚拟化管理平台发送的第二连接请求以建立与所述虚拟化管理平台之间的控制连接的过程;
25.其中,在所述第一连接请求和第二连接请求的报文中都包括所述扩展字段。
26.基于本发明实施例的一方面,本发明还提供了一种零信任云桌面访问方法,该方法应用于零信任网关,该方法包括:
27.接收云桌面客户端向云桌面服务端发送的控制连接请求,从所述控制连接请求中提取认证信息,通过零信任网络安全框架中的安全认证中心对所述控制连接请求进行认证,认证成功后放行所述控制连接请求;
28.接收云桌面客户端通过已建立的与所述云桌面服务端之间的连接向所述云桌面服务端发送的登录请求,将所述登录请求转发给所述云桌面服务端;
29.接收云桌面客户端向云桌面服务端发送的用于连接选定云桌面的虚拟桌面协议连接请求,从所述虚拟桌面协议连接请求中提取认证信息,通过零信任网络安全框架中的安全认证中心对所述虚拟桌面协议连接请求进行认证,认证成功后放行所述虚拟桌面协议连接请求。
30.进一步地,所述接收云桌面客户端向云桌面服务端发送的控制连接请求包括:
31.接收云桌面客户端的客户端主模块向云桌面服务端的虚拟化管理平台发送的第一连接请求;和
32.接收云桌面客户端的客户端子模块向云桌面服务端的虚拟化内核平台发送的第二连接请求;
33.其中,在所述第一连接请求和第二连接请求的报文中都包括扩展字段,所述扩展字段中携带所述认证信息。
34.进一步地,所述认证信息中至少包括:用户令牌、应用令牌。
35.进一步地,所述认证信息中还包括报文转发的目的ip地址和目的端口两个字段。
36.基于本发明实施例的一方面,本发明还提供了一种云桌面客户端,所述云桌面客户端包括客户端主模块和客户端子模块;
37.所述客户端主模块用于在所述云桌面客户端启动时,获取由安全认证门户传入的认证信息;所述认证信息来自于零信任网络安全框架中的安全认证中心;
38.所述客户端主模块还用于向云桌面服务端的虚拟化管理平台发送的第一连接请求以建立与所述虚拟化管理平台之间的第一控制连接;通过所述第一控制连接向所述云桌面服务端发送登录请求以登录所述云桌面服务端;在所述登录请求内容字段中携带所述认证信息;
39.所述客户端主模块还用于接收所述虚拟化管理平台发送的登录应答,从登录应答中获取云桌面列表;从所述云桌面列表中获取选定云桌面的云桌面信息;启动用于连接所述选定云桌面的客户端子模块,并将选定云桌面的云桌面信息和认证信息传入所述客户端子模块;
40.所述客户端子模块用于基于云桌面信息和认证信息向所述虚拟化管理平台发送的第二连接请求以建立与所述虚拟化管理平台之间的第二控制连接;以及向所述云桌面服务端的虚拟化内核平台发送虚拟桌面协议连接请求以建立与位于所述云桌面服务端的虚拟化内核平台中的选定云桌面的数据连接;
41.在所述第一连接请求和第二连接请求的报文中都包括扩展字段,所述扩展字段中携带所述认证信息。
42.进一步地,所述认证信息中至少包括:用户令牌、应用令牌;或所述认证信息中至少包括:用户令牌、应用令牌、报文转发的目的ip地址和目的端口两个字段。
43.基于本发明实施例的一方面,本发明还提供了一种零信任网关,所述零信任网关包括:
44.第一认证转发模块,用于接收云桌面客户端的客户端主模块向云桌面服务端的虚拟化管理平台发送的第一连接请求,从所述第一连接请求中提取认证信息,通过零信任网络安全框架中的安全认证中心对所述第一连接请求进行认证,认证成功后放行所述第一连接请求;以及接收和转发所述客户端主模块向所述虚拟化管理平台发送的登录请求;
45.第二认证转发模块,用于接收云桌面客户端的客户端子模块向云桌面服务端的虚拟化管理平台发送的第二连接请求,以及云桌面客户端的客户端子模块向云桌面服务端的虚拟化内核平台发送的虚拟桌面协议连接请求,从所述第二连接请求和虚拟桌面协议连接请求中提取认证信息,通过零信任网络安全框架中的安全认证中心对所述第二连接请求和虚拟桌面协议连接请求进行认证,认证成功后放行所述第二连接请求和虚拟桌面协议连接请求;
46.其中,所述第一连接请求和第二连接请求的报文中都携带扩展字段,在所述扩展
字段中携带所述认证信息。
47.进一步地,所述认证信息中至少包括:用户令牌、应用令牌;或所述认证信息中至少包括:用户令牌、应用令牌、报文转发的目的ip地址和目的端口两个字段。
48.基于本发明实施例的一方面,本发明还提供了一种零信任云桌面访问方法,该方法应用于云桌面服务端,所述方法包括:
49.接收零信任网关转发的登录请求,所述登录请求中携带认证信息;
50.通过零信任网络安全框架中的安全认证中心对所述登录请求进行认证。
51.进一步地,所述方法还包括:与所述安全认证中心同步用户信息。
52.基于本发明实施例的一方面,本发明还提供了一种云桌面服务端,所述云桌面服务端包括:
53.登录认证模块,用于接收零信任网关转发的登录请求,所述登录请求中携带认证信息;通过零信任网络安全框架中的安全认证中心对所述登录请求进行认证;
54.同步模块,用于与所述安全认证中心同步用户信息。
55.本发明通过安全认证门户启动云桌面客户端,由安全认证门户将云桌面用户的认证信息传入云桌面客户端,云桌面客户端在与云桌面服务端建立控制连接和数据连接时,在连接请求报文和登录请求报文中携带安全认证门户传入的认证信息。零信任网关从请求报文中提取认证信息进行认证并转发给云桌面服务端。云桌面服务端、零信任网关及安全认证门户都使用统一的安全认证中心进行认证。通过本发明能够实现零信任网络安全框架与云桌面基础框架的融合,实现云桌面的单点登录,提高云桌面系统的安全性。
附图说明
56.为了更加清楚地说明本发明实施例或者现有技术中的技术方案,下面将对本发明实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本发明实施例的这些附图获得其他的附图。
57.图1为本发明一实施例提供的基于零信任网络安全框架的云桌面访问方法的步骤流程示意图;
58.图2为本发明一实施例提供的用于实现本发明实施例提供的零信任云桌面访问方法的电子设备结构示意图。
具体实施方式
59.在本发明实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本发明实施例。本发明实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。本发明中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
60.应当理解,尽管在本发明实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
61.由于云桌面基础框架与零信任网络安全框架分别拥有各自独立的安全认证体系,因此云桌面用户在接入部署在零信任网络内的云桌面系统时,分别需要零信任网络和云桌面系统的认证系统进行两次安全认证,无法进行单点登陆认证,而且为了保证两个系统认证的一致性,需要管理员做大量用户认证信息的同步工作,降低了整个系统的智能化和维护管理效率。
62.针对以上基于零信任网络安全框架的云桌面系统所面临的问题,本发明提出了一种零信任云桌面访问方法,以实现在位于零信任网络安全框架中的云桌面的访问。本发明的基本思想是:通过安全认证门户启动云桌面客户端,由安全认证门户将云桌面用户的认证信息传入云桌面客户端,云桌面客户端在与云桌面服务端建立控制连接和数据连接时,在连接请求报文和登录请求报文中携带安全认证门户传入的认证信息。零信任网关从请求报文中提取认证信息进行认证,认证通过的请求报文才会放行转发给云桌面服务端。云桌面服务端、零信任网关及安全认证门户都使用统一的安全认证中心进行认证。通过本发明能够实现零信任网络安全框架与云桌面基础框架的融合,实现云桌面的单点登录,提高云桌面系统的安全性。
63.基于本发明的基本思想,以下结合附图和具体实施例来描述本发明的具体实现过程。
64.图1为本发明一实施例提供的基于零信任网络安全框架的云桌面访问方法的步骤流程示意图。该示例中,在云桌面服务端1200之前部署有零信任网关1300,零信任网关1300对所有云桌面客户端1100与云桌面服务端1200之间的流量都进行可信接入检控。云桌面客户端1100由客户端主模块1110(简称主模块)和客户端子模块1120(简称子模块)组成。云桌面服务端1200包括虚拟化管理平台(cloud virtualization manager,cvm)1210和虚拟化内核平台(cloud virtualization kernel,cvk)1220。虚拟化管理平台1210负责云桌面用户的登录认证、云桌面列表下发、云桌面客户端的状态监控、登录认证等管理功能。虚拟化内核平台1220用于承载提供云桌面的虚拟机。
65.客户端主模块1110主要用于完成控制层面的功能,例如连接的建立、云桌面的登录、策略控制、启动与云桌面对应的客户端子模块1120等功能。客户端子模块1120与云桌面虚拟机一一对应,客户端子模块分别cvm和cvk建立连接。云桌面用户登录打开多个云桌面的情况下,云桌面客户端1100会通过客户端主模块1110启动多个客户端子模块1120连接虚拟化内核平台1220中的多个虚拟机。
66.安全认证门户、零信任网关1300及云桌面服务端1200统一通过安全认证中心1400进行安全认证。
67.本发明实施例中,将用于云桌面管理和控制目的的连接称为控制连接,将具体用于云桌面数据传输的连接称为数据连接。例如云桌面客户端主模块1110与虚拟化管理平台1210之间通过连接请求和连接应答消息建立的连接,以及客户端子模块1120与虚拟化管理平台1210之间通过连接请求和连接应答消息建立的连接都属于控制连接;云客户端子模块1120与虚拟化内核平台中的云桌面虚拟机之间通过vdp连接请求和连接应答消息建立的连接属于数据连接。
68.以下按步骤说明云桌面客户端1100访问云桌面服务端1200的过程:
69.s101.安全认证门户对云桌面用户进行认证,获取认证信息;
70.与传统非融合零信任网络的云桌面系统不同的是,在基于零信任网络安全框架的云桌面系统中,云桌面用户需首先通过安全认证门户的认证,有安全认证门户来启动云桌面客户端。云桌面用户登录安全认证门户,在安全认证门户中输入用户名和密码,安全认证门户将用户名和密码发送到安全认证中心1400进行认证,安全认证中心1400可采用身份识别与访问管理(identity and access management,iam)实现。认证成功后,安全认证中心将认证信息发送给安全认证门户。认证信息的可包括用户令牌和应用令牌或与其它必要信息的组合,对认证信息的具体形式,本发明不做限定。
71.s102.通过安全认证门户启动云桌面客户端,将认证信息传入云桌面客户端;
72.通过安全认证门户的认证后,云桌面用户才可访问到云桌面入口界面。
73.云桌面用户通过安全认证门户才能启动云桌面客户端,在启动云桌面客户端时,安全认证门户可将认证信息作为程序运行参数传入云桌面客户端程序。
74.为安全起见,安全认证门户可使用预设秘钥对认证信息进行加密,将加密后的认证信息作为程序运行参数传入云桌面客户端。云桌面客户端在启动时使用预设秘钥解密传入的参数,从而得到认证信息。预设秘钥可采用从配置文件中读取、使用固定秘钥等方式获得。
75.认证信息可以是用户令牌、用户令牌和应用令牌或其它必要信息的组合,可根据具体的应用场景和认证需求来确定。例如在只需要进行身份认证的场景下可只包括用户令牌;在需要同时进行身份认证及应用访问权限认证的场景下,可同时包括用户令牌和应用令牌。云桌面客户端通过解密用户令牌、应用令牌可得到用户标识、应用标识等信息。本发明实施例不对每个步骤中认证信息的具体形式和内容做具体限定,根据具体安全认证需求确地即可。
76.s103.云桌面客户端向云桌面服务端发送连接请求,连接请求中携带认证信息;
77.在零信任网络安全框架中,所有云桌面客户端与服务端之间的流量都要经过零信任网关的监控,只有通过零信任网关的认证的连接请求才可以成功建立连接。因此,云桌面客户端在与云桌面服务端建立连接时,云桌面客户端发送给云桌面服务端的连接请求首先会被零信任网关拦截,零信任网关对连接请求进行认证,认证成功后,零信任网关才会将连接请求放行给云桌面服务端。
78.云桌面客户端如何将认证信息传递给零信任网关并成功穿透零信任网关与云桌面服务端建立连接,这是云桌面系统与零信任网络安全框架融合的关键步骤。
79.本发明实施例中,云桌面客户端启动后,根据预先设置的云桌面服务端地址向云桌面服务端发起连接请求,在连接请求中携带认证信息。为了使零信任网关从连接请求中提取到认证信息,可对云桌面客户端与云桌面服务端之间所使用的协议报文结构进行扩展,使得零信任网关在能够识别连接请求报文的基础上从连接请求报文中提取到认证信息。
80.在本发明一实施例中,云桌面客户端与云桌面服务端使用远程过程调用协议(remote procedure calls,rpc),例如grpc协议进行通信,在grpc所依赖的传输层安全(transport layer security,tls)协议中,可将tls协议的clienthello报文作为前述的连接请求,对该报文结构进行扩展,在clienthello报文中新增扩展字段并在扩展字段中携带
加密的认证信息,例如以加密字符串的形式存入云桌面客户端从安全认证门户获得的用户令牌、应用令牌等认证信息,也可包括云桌面客户端所在终端设备的ip地址、mac地址、cvm地址及端口等信息。零信任网关要能识别tls协议的clienthello报文并能从扩展字段中提取出携带的认证信息。
81.除grpc协议外,云桌面客户端和云桌面服务端之间也可采用https协议建立连接,https协议也依赖tls协议,也可采用同样的方式扩展tls协议clienthello报文来携带认证信息。本领域技术人员可以理解的是,基于同样的原理,也可选择其它类型的传输层安全协议,或其它支持tls的上层协议类型来实现本步骤的功能,本发明不做具体限定。
82.s104.零信任网关从连接请求中提取认证信息,通过安全认证中心进行安全认证,认证成功后放行连接请求,将连接请求转发给云桌面服务端,以使云桌面客户端与云桌面服务端建立连接。
83.零信任网关收到云桌面客户端发送的连接请求后,对报文进行解析并从扩展字段中提取加密的认证信息,使用与云桌面客户端约定的秘钥对报文扩展字段进行解密,从而获得原始认证信息。
84.零信任网关使用提取的认证信息到安全认证中心进行身份和访问权限的认证,认证通过后才会放行云桌面客户端发送的连接请求,将连接请求转发至云桌面服务端的虚拟化管理平台cvm。cvm会响应连接请求向云桌面客户端发送连接应答消息,连接应答消息通过零信任网关转发给云桌面客户端主模块,云桌面客户端主模块接收到连接应答即可建立与cvm之间的连接。
85.s105.云桌面客户端向云桌面服务端发送登录请求,登录请求中携带认证信息;
86.在云桌面客户端主模块与云桌面服务端cvm建立连接后,云桌面客户端主模块即可向cvm发起登录请求以获取云桌面用户的云桌面列表等信息。
87.云桌面客户端主模块在登录请求报文的内容字段中需写入由安全认证门户传入的认证信息。与前述连接请求携带认证信息的方式不同的是,在登录请求中,认证信息需写入登录报文的内容字段中,而连接请求报文中是携带在报文头部的扩展字段中。由于内容字段中的认证信息是给云桌面服务端进行安全认证使用的,而扩展字段中的认证信息是给零信任网关进行安全认证使用的,因此内容字段中的认证信息与扩展字段中的认证信息的具体内容和形式可以不同。
88.s106.零信任网关从登录请求中提取认证信息,通过安全认证中心进行安全认证,认证成功后,放行登录请求,将登录请求转发给云桌面服务端。
89.零信任网关对连接请求报文(clienthello)进行解析,并提取认证信息并进行认证,认证通过后将连接请求报文放行到云桌面服务端,云桌面客户端和云桌面服务端之间的连接建立成功后,这个连接会长时间保持直到关闭连接,后面的登录报文、申请虚拟机等报文都是通过这个连接进行发送和响应的。通常情况下,零信任网关只在连接建立的时候通过对连接请求报文的认证来认证该连接的安全性,在通过认证后,对通过此连接传送的报文不再进行认证,直接转发。
90.s107.云桌面服务端接收到登录请求后,提取登录请求中的认证信息,通过安全认证中心进行安全认证;
91.云桌面服务端的cvm接收到登录请求后,从登录请求中获取认证信息,使用认证信
息,例如用户令牌和应用令牌,到安全认证中心对云桌面用户的身份和访问权限等进行认证,认证通过后通过认证响应消息将认证结果通知给cvm。
92.安全认证中心的地址可通过配置文件提供给cvm。
93.s108.云桌面服务端向云桌面客户端发送登录应答消息,登录应答消息中携带云桌面列表;
94.在通过登录认证后,cvm通过登录应答消息将云桌面用户的云桌面列表发送给云桌面客户端中的客户端主模块,云桌面列表中包括登录的云桌面用户拥有访问权限的云桌面信息的集合,例如云桌面用户拥有2个云桌面,则云桌面列表中包括这2个云桌面的云桌面信息,所述云桌面信息可包括但不限于:提供云桌面的虚拟机的访问地址信息、桌面策略信息等。
95.s109.云桌面服务端与安全认证中心同步认证相关信息;
96.如果云桌面系统和零信任网络安全框架使用两套完全独立的用户身份认证系统,则用户在连接云桌面过程中就需要分别在安全认证门户和云桌面服务端cvm进行两次认证。因此,为了实现用户的单点登录,云桌面服务端、安全认证门户和零信任网关都需要使用同一套认证系统对云桌面用户进行身份以及应用访问权限等方面的安全认证。
97.cvm中需维护云桌面用户信息、云桌面用户的云桌面列表、用户策略、桌面策略、用户日志等信息。为了实现单点登录,拉通云桌面系统与零信任网络安全框架中的安全认证,云桌面系统与零信任网络安全框架需要同步一些认证相关信息,例如认证相关信息可包括用户列表、访问权限等,云桌面服务端和安全认证中心任何一方认证相关信息的变化(例如云桌面用户或权限的增加、删除或修改等)都需进行同步。
98.如果零信任网络安全框架不允许敏感信息(例如用户密码、令牌等)在安全认证中心以外的系统中落地,则上述认证相关信息的同步过程可仅同步用户标识等非敏感信息,可将用户标识作为关键字关联云桌面系统中的用户相关信息。
99.该步骤的认证相关信息的同步时机本发明不做限定,可以是周期性的同步,也可以是基于事件的同步,例如在新增、删除、修改认证相关信息时触发同步操作。
100.s110~s111.云桌面客户端子模块向云桌面服务发送连接请求,连接请求中携带认证信息;零信任网关从连接请求中提取认证信息,向安全认证中心进行认证,认证成功后将连接请求转发给云桌面服务端,以使云桌面客户端子模块与云桌面服务端建立连接;
101.当客户端主模块接收到cvm的登录应答后,从登录应答报文中获得云桌面用户的云桌面列表,云桌面用户在云桌面客户端主界面中选定云桌面虚拟机并发起针对选定云桌面虚拟机的连接请求后,客户端主模块会相应地启动一个客户端子模块并将选定云桌面的云桌面信息以及认证信息传送给客户端子模块,客户端子模块启动后基于客户端主模块传入的云桌面信息以及认证信息向cvm发送连接请求。
102.步骤s110、步骤s111以及cvm向云桌面客户端子模块反馈连接应答消息的步骤可参考步骤s103、步骤s1040及cvm向云桌面客户端主模块反馈连接应答消息的步骤实现。例如,使用tls的clienthello报文作为连接请求报文,在clienthello报文头的扩展字段中携带认证信息,零信任网关从连接请求报文中提取认证信息进行安全认证等,此处不做赘述。
103.客户端子模块接收到cvm发送的连接应答消息后建立与cvm之间的控制连接,所建立的控制连接主要用于完成cvm对客户端子模块进行状态监控、策略下发等控制功能。客户
端子模块可周期上报客户端子模块的运行状态,当cvm长时间未收到客户端子模块上报的状态信息时,则判定客户端子模块故障,会及时切断客户端子模块与对应虚拟机之间的连接以释放资源。
104.s112~s113.客户端子模块向云桌面服务端中的虚拟化内核平台cvk发送连接请求,请求建立与选定云桌面虚拟机之间的虚拟桌面协议连接,在连接请求中至少携带认证信息;零信任网关从连接请求中提取认证信息,通过安全认证中心进行安全认证,认证成功后放行连接请求,将连接请求转发给云桌面服务端,以使云桌面客户端与云桌面服务端建立虚拟桌面协议连接。
105.客户端子模块在启动后根据客户端主模块传递的云桌面地址信息、认证信息向cvk发起连接请求以建立与选定云桌面虚拟机的虚拟桌面协议(virtual desktop protocol,vdp)连接。与前述步骤s103、s105、s110步骤请求建立的控制连接不同,步骤s112~s113请求建立的连接为虚拟桌面协议连接,属于数据连接。其中,独立计算环境简单协议(simple protocol for independent computing environment,spice)是一项高性能、动态的自适应远程呈现协议,所述vdp协议是以spice协议为基础开发的一种远程桌面协议。本发明不对数据连接的具体协议类型进行限定。
106.步骤s112~s113的处理方式可参考步骤s103~s104对vdp协议的连接请求报文进行扩展,在扩展字段中携带云桌面地址信息、认证信息等。其中,云桌面地址信息可以是cvk服务器地址 端口号,也可以是为虚拟机分配的独立的ip地址 端口号。
107.以下示例了一种对clienthello报文扩展的方法,该方法在clienthello报文头部新增一个扩展字段,扩展字段中可包括用户令牌、应用令牌、应用标识、终端地址和终端标识、转发目的ip地址和目的端口等字段内容。步骤s103、s105、s110及s112都可参考使用下述示例的扩展方式对连接请求、登录请求等报文进行扩展。
108.{
109."time":"1612350126",#unix时间戳
110."user_token":"xxx",#用户令牌
111."app_token":"yyy",#应用令牌
112."app_code":"zzz",#应用标识
113."terminal_ip":"bb.bb.bb.bb",#云桌面客户端所在终端ip
114."terminal_id":"zzz",#云桌面客户端所在终端id,填mac地址
115."forward_ip":"aa.aa.aa.aa",#需要转发的目的ip地址,
116."forward_port":"5888",#需要转发的目的端口
117.}
118.对于云桌面数据流来说,与控制流稍有不同,当云桌面服务端的cvk以服务器集群提供云桌面时,云桌面客户端数据流所连接的云桌面虚拟机地址对于管理员来说是事先不知道的,而cvm的地址对于管理员来说是可知的。因此,管理员可在零信任网关上配置cvm的地址,当通过报文头部的类型字段判断接收到的报文为与cvm建立连接的连接请求报文或登录cvm的登录请求报文时,零信任网关可通过预先配置的cvm地址将控制流的报文转发给cvm。而对于发往集群中cvk上的虚拟机的报文,可采取两种方式转发,一种是在扩展字段中携带云桌面地址信息,另一种方式是解析报文,获取内层报文头中的目的地址和端口。
119.当零信任网关接收到发往cvk服务器集群中某个cvk服务器上的虚拟机的连接请求或数据报文时,如果扩展字段中不携带云桌面地址信息(cvk服务器地址及端口),则零信任网关就不能仅从扩展字段中获知报文转发的目的地址,这样就需要进一步解析内层报文头中的目的地址和端口,这样会在一定程度上影响转发效率。因此,本发明优选实施例中,在扩展字段中还包括报文转发的目的ip地址forward_ip和目的端口forward_port两个字段,云桌面客户端通过这两个字段把报文的目的ip和端口告知零信任网关,零信任网关通过这两个字段就可直接获取到报文的转发目的地址,从而提高转发效率。如果这两个字段是空值,则零信任网关可将报文转发给预先配置的默认地址,也可进一步解析报文获取报文目的地址。
120.在cvk服务器接收到云桌面客户端子模块发送的vdp连接请求时,向客户端子模块发送连接应答消息,云桌面客户端子模块接收到cvk的连接应答消息后即可建立与云桌面虚拟机之间的连接。
121.本发明实施例中,在成功建立控制连接和数据连接后即建立了相应的控制报文的传输通道和数据报文的传输通道,在连接建立后传输通道中传输的控制报文或数据报文可通过通道本身的安全机制来保障报文传输的安全性。对于通道中传输的重要报文,也可参考前述对连接请求、登录请求报文的扩展方式进行扩展,以实现更好的安全性。
122.图2为本发明一实施例提供的用于实现本发明实施例提供的零信任云桌面访问方法的电子设备结构示意图,该设备200包括:诸如中央处理单元(cpu)的处理器210、通信总线220、通信接口240以及存储介质230。其中,处理器210与存储介质230可以通过通信总线220相互通信。存储介质230内存储有计算机程序,当该计算机程序被处理器210执行时可实现本发明实施例提供的零信任云桌面访问方法中的一个或多个步骤的功能。本发明提供的零信任云桌面访问方法步骤所实现的功能可以程序组件、软件模块等方式组合成逻辑装置加载运行于存储介质230当中,从而配合其他程序功能模块实现在零信任网络安全体系中的虚拟桌面的接入和应用。
123.图2的示例中,存储介质可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。另外,存储介质还可以是至少一个位于远离前述处理器的存储装置。处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
124.应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术,包括配置有计算机程序的非暂时性存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。此外,可按任何合适的顺序来执行本发明描述的过程的操作,除非本发明另外指示
或以其他方式明显地与上下文矛盾。本发明描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
125.进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本发明所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
126.以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献