一种远程访问方法、代理服务器及客户端的制作方法

文档序号:9618687阅读:372来源:国知局
一种远程访问方法、代理服务器及客户端的制作方法
【技术领域】
[0001]本发明涉及计算机技术领域,具体涉及了一种远程访问方法、代理服务器及客户端。
【背景技术】
[0002]OpenStack是一个开源的云计算管理平台项目,可提供实施简单、大规模扩展、丰富、标准统一的云计算管理平台,其在Nova组件中集成了虚拟网络计算机远程控制(Virtual Network Computer, VNC)功能。用户在OpenStack环境下,可以通过Nova组件获得统一资源定位器(Uniform Resoure Locator, URL)地址,并根据所述URL地址发起VNC访问请求,代理服务器接收所述VNC访问请求并对所述请求中的校验数据token进行验证,如验证通过,则代理服务器可允许VNC客户端进行VNC访问连接,但在此过程中,由于token信息为明文,而Nova会将token信息存储于开放的缓存中,因此其很容易被其它非法用户所获得,而任意一个非法用户获取到token信息就可以通过VNC功能对用户的虚拟机进行操作,不仅会造成虚拟机的信息泄露,同时多用户同时进行VNC连接和访问,也会影响VNC访问的安全性。

【发明内容】

[0003]本发明实施例提供一种远程访问方法、代理服务器及客户端,以期减小信息泄露风险,加强VNC访问的安全性。
[0004]本发明实施例第一方面公开了一种远程访问方法,包括:
[0005]当代理服务器接收到目标客户端发送的携带目标用户标识的虚拟网络计算机VNC访问请求时,所述代理服务器获取与所述目标用户标识相匹配的密钥;
[0006]所述代理服务器采用所述密钥对随机数据进行加密处理,生成加密数据并输出至所述目标客户端,以使所述目标客户端对所述加密数据进行解密处理获得解密数据;
[0007]所述代理服务器接收所述目标客户端发送的解密数据;
[0008]所述代理服务器将所述解密数据与所述随机数据进行比对;
[0009]如比对一致,所述代理服务器允许所述目标客户端与虚拟机建立VNC访问连接。
[0010]在本发明实施例第一方面的第一种可能的实现方式中,所述当代理服务器接收到目标客户端发送的携带目标用户标识的VNC访问请求时,所述代理服务器获取与所述目标用户标识相匹配的密钥之前,还包括:
[0011]当代理服务器接收到目标客户端发送的携带目标用户标识的用户注册信息时,所述代理服务器生成与所述目标用户标识相匹配的密钥,所述密钥包括公钥和私钥。
[0012]结合本发明实施例第一方面的第一种可能的实现方式,在本发明实施例第一方面的第二种可能的实现方式中,所述代理服务器采用所述密钥对随机数据进行加密处理,生成加密数据并输出至所述目标客户端,以使所述目标客户端对所述加密数据进行解密处理获得解密数据,包括:
[0013]所述代理服务器采用所述公钥对随机数据进行加密,生成加密数据;
[0014]所述代理服务器采用图形码规则对所述加密数据进行编码处理,获得图形码信息并输出,以使所述目标客户端扫描并解析所述图形码信息获得所述加密数据,并从所述代理服务器获取所述私钥后,采用所述私钥对所述加密数据进行解密处理获得解密数据。
[0015]结合本发明实施例第一方面或第一方面的第一、二种可能的实现方式,在本发明实施例第一方面的第三种可能的实现方式中,所述代理服务器接收所述目标客户端发送的解密数据之后,还包括:
[0016]如所述解密数据与任意一个历史解密数据相同,所述代理服务器禁止所述目标客户端与虚拟机建立VNC访问连接,所述历史解密数据由当前处于VNC访问连接状态的至少一个客户端所发送。
[0017]结合本发明实施例第一方面的第三种可能的实现方式,在本发明实施例第一方面的第四种可能的实现方式中,所述代理服务器将所述解密数据与所述随机数据进行比对之后,还包括:
[0018]如比对不一致,所述代理服务器禁止所述目标客户端与虚拟机建立VNC访问连接。
[0019]结合本发明实施例第一方面或第一方面的第一、二种可能的实现方式,在本发明实施例第一方面的第五种可能的实现方式中,所述方法还包括:
[0020]所述代理服务器查询处于VNC访问连接状态的至少一个客户端的连接记录,所述连接记录包括:所关联的用户标识及连接建立时间;
[0021]所述代理服务器根据所述至少一个客户端的连接记录执行安全策略。
[0022]结合本发明实施例第一方面的第五种可能的实现方式,在本发明实施例第一方面的第六种可能的实现方式中,所述代理服务器根据所述至少一个客户端的连接记录执行安全策略,包括:
[0023]所述代理服务器按照所关联的用户标识对所述至少一个客户端进行归类,获得至少一个群组,每一个群组中包含至少一个成员客户端,同一群组中所有成员客户端所关联的用户标识相同;
[0024]所述代理服务器判断所述至少一个群组中每一个群组包含的成员客户端数量是否大于第一阈值;
[0025]若是,所述代理服务器保持所述虚拟机与大于第一阈值的目标群组中连接建立时间最晚的成员客户端之间的VNC访问连接,断开所述虚拟机与所述大于第一阈值的目标群组中其他成员客户端之间的VNC访问连接。
[0026]结合本发明实施例第一方面的第六种可能的实现方式,在本发明实施例第一方面的第七种可能的实现方式中,所述代理服务器根据所述至少一个客户端的连接记录执行安全策略之后,还包括:
[0027]所述代理服务器判断执行所述安全策略之后处于VNC访问连接状态的所有群组包含的成员客户端数量是否大于第二阈值;
[0028]若是,所述代理服务器向执行安全策略之后处于VNC访问连接状态的所有群组包含的成员客户端发送多用户连接提示信息。
[0029]本发明实施例第二方面公开了一种远程访问方法,包括:
[0030]目标客户端向代理服务器发送携带目标用户标识的虚拟网络计算机VNC访问请求,以使所述代理服务器获取与所述目标用户标识相匹配的密钥,并采用所述密钥对随机数据进行加密处理,生成和输出加密数据;
[0031]所述目标客户端对所述代理服务器输出的加密数据进行解密处理获得解密数据;
[0032]所述目标客户端向所述代理服务器发送所述解密数据,以使所述代理服务器将所述解密数据与所述随机数据进行比对;
[0033]如比对一致,所述目标客户端与虚拟机建立VNC访问连接以对所述虚拟机进行VNC访问。
[0034]在本发明实施例第二方面的第一种可能的实现方式中,所述目标客户端向代理服务器发送携带目标用户标识的VNC访问请求之前,还包括:
[0035]目标客户端向代理服务器发送携带有目标用户标识的用户注册信息,以使所述代理服务器根据所述用户注册信息生成与所述目标用户标识相匹配的密钥,所述密钥包括公钥和私钥。
[0036]结合本发明实施例第二方面的第一种可能的实现方式,在本发明实施例第二方面的第二种可能的实现方式中,所述加密数据为所述代理服务器采用所述公钥对随机数据进行加密获得,且所述代理服务器采用图形码规则对所述加密数据进行编码处理,获得图形码信息并输出;
[0037]所述目标客户端对所述代理服务器输出的加密数据进行解密处理获得解密数据,包括:
[0038]所述目标客户端扫描并解析所述图形码信息,获得所述加密数据;
[0039]所述目标客户端从所述代理服务器获取所述私钥,并采用所述私钥对所述加密数据进行解密处理获得解密数据。
[0040]结合本发明实施例第二方面或第二方面的第一、二种可能的实现方式,在本发明实施例第二方面的第三种可能的实现方式中,所述如比对一致,所述目标客户端与虚拟机建立VNC访问连接以对所述虚拟机进行VNC访问之后,还包括:
[0041]当所述目标客户端接收到所述代理服务器发送的多用户连接提示信息,输出所述多用户连接提示信息。
[0042]本发明实施例第三方面公开了一种代理服务器,包括:
[0043]获取单元,用于当接收到目标客户端发送的携带目标用户标识的虚拟网络计算机VNC访问请求时,获取与所述目标用户标识相匹配的密钥;
[0044]加密处理单元,用于采用所述密钥对随机数据进行加密处理,生成加密数据并输出至所述目标客户端,以使所述目标客户端对所述加密数据进行解密处理获得解密数据;
[0045]接收单元,用于接收所述目标客户端发送的解密数据;
[0046]比对单元,用于将所述解密数据与所述随机数据进行比对;
[0047]连接建立单元,用于如比对一致,允许所述目标客户端与虚拟机建立VNC访问连接。
[0048]在本发明实施例第三方面第一种可能的实现方式中,所述代理服务器还包括:
[0049]密钥生成单元,用于当接收到目标客户端发送的携带目标用户标识的用户注册信息时,生成与所述目标用户标识相匹配的密钥,所述密钥包括公钥和私钥。
[0050]结合本发明实施例第三方面的第一种可能的实现方式,在本发明实施例第三方面的第二种可能的实现方式中,加密处理单元包括:
[0051]加密子单元,用于采用所述公钥对随机数据进行加密,生成加密数据;
[0052]编码子单元,用于采用图形码规则对所述加密数据进行编码处理,获得图形码信息并输出,以使所述目标客户端扫描并解析所述图形码信息获得所述加密数据,并从所述代理服务器获取所述私钥后,采用所述私钥对所述加密数据进行解密处理获得解密数据。
[0053]结合本发明实施例第三方面或第三方面的第一、二种可能的实现方式,在本发明实施例第三方面的第三种可能的实现方式中,所述代理服务器还包括:
[0054]第一禁止单元,用于如所述解密数据与任意一个历史解密数据相同,禁止所述目标客户端与虚拟机建立VNC访问连接,所述历史解密数据由当前处于VNC访问连接状态的至少一个客户端所发送。
[0055]结合本发明实施例第三方面的第三种可能的实现方式,在本发明实施例第三方面的第四种可能的实现方式中,所述代理服务器还包括:
[0056]第二禁止单元,用于如比对不一致,禁止所述目标客户端与虚拟机建立VNC访问连接。
[0057]结合本发明实施例第三方面或第三方面的第一、二种可能的实现方式,在本发明实施例第三方面的第五种可能的实现方式中,所述代理服务器还包括:
[0058]查询单元,用于查询处于VNC访问连接状态的至少一个客户端的连接记录,所述连接记录包括:所关联的用户标识及连接建立时间;
[0059]执行单元,用于根据所述至少一个客户端的连接记录执行安全策略。
[0060]结合本发明实施例第三方面的第五种可能的实现方式,在本发明实施例第三方面的第六种可能的实现方式中,所述执行单元包括:
[0061]归类子单元,用于按照所关联的用户标识对所述至少一个客户端进行归类,获得至少一个群组,每一个群组中包含至少一个成员客户端,同一群组中所有成员客户端所关联的用户标识相同;
[0062]判断子单元,用于判断所述至少一个群组中每一个群组包含的成员客户端数量是否大于第一阈值;
[0063]执行子单元,用于当所述至少一个群组中每一个群组包含的成员客户端数量大于第一阈值时,保持与大于第一阈值的目标群组中连接建立时间最晚的成员客户端之间的VNC访问连接,断开虚拟机与所述大于第一阈值的目标群组中其他成员客户端之间的VNC访问连接。
[0064]结合本发明实施例第三方面的第六种可能的实现方式,在本发明实施例第三方面的第七种可能的实现方式中,所述代理服务器包括:
[0065]数量判断单元,用于判断执行所述安全策略之后处于VNC访问连接状态的所有群组包含的成员客户端数量是否大于第二阈值;
[0066]发送单元,用于当执行所述安全策略之后处于VNC访问连接状态的所有群组包含的成员客户端数量大于第二阈值时,向执行安全策略之后处于VNC访问连接状态的所有群组包含的成员客户端发送多用户连接提示信息。
[0067]本发明实施例第四方面公开了一种客户端,包括:
[0068]发送单元,用于向代理服务器发送携带目标用户标识的虚拟网络计算机VNC访问请求,以使所述代理服务器获取与所述目标用户标识相匹配的密钥,并采用所述密钥对随机数据进行加密处理,生成和输出加密数据;
[0069]解密处理单元,用于对所述代理服务器输出的加密数据进行解密处理获得解密数据;
[0070]比对单元,用于向所述代理服务器发送所述解密数据,以使所述代理服务器将所述解密数据与所述随机数据进行比对;
[0071]连接建立单元,用于如比对一致,与虚拟机建立VNC访问连接以对所述虚拟机进行VNC访问。
[0072]在本发明实施例第四方面的第一种可能的实现方式中,所述客户端还包括:
[0073]所述发送单元,还用于向代理服务器发送携带有目标用户标识的用户注册信息,以使所述代理服务器根据所述用户注册信息生成与所述目标用户标识相匹配的密钥,所述密钥包括公钥和私钥。
[0074]结合本发明实施例第四方面的第一种可能的实现方式,在本发明实施例第四方面的第二种可能的实现方式中,所述加密数据为所述代理服务器采用所述公钥对随机数据进行加密获得,且所述代理服务器采用图形码规则对所述加密数据进行编码处理,获得图形码信息并输出;
[0075]所述解密处理单元包括:
[0076]扫描子单元,用于扫描并解析所述图形码信息,获得所述加密数据;
[0077]解密处理子单元,用于从所述代理服务器获取所述私钥,并采用所述私钥对所述加密数据进行解密处理获得解密数据。
[0078]结合本发明实施例第四方面或第四方面的第一、二种可能的实现方式,在本发明实施例第四方面的第三种可能的实现方式中,所述客户端还包括:
[0079]输出单元,用于当接收到所述代理服务器发送的多用户连接提示信息,输出所述多用户连接提示信息。
[0080]本发明实施例中,当代理服务器接收到目标客户端发送的携带目标用户标识的虚拟网络计算机VNC访问请求时,所述代理服务器获取与所述目标用户标识相匹配的密钥,并采用所述密钥对随机数据进行加密处理,生成加密数据并输出至所述目标客户端,以使所述目标客户端对所述加密数据进行解密处理获得解密数据,接收所述解密数据并与所述随机数据进行比对,如比对一致,所述代理服务器允许所述目标客户端与虚拟机建立VNC访问连接,通过代理服务器根据目标用户标识获取密钥并对随机数据进行加解密处理,从而对目标客户端进行身份验证,避免了非法客户端与虚拟机建立VNC访问连接,从而减小信息泄露风险,加强VNC访问的安全性。
【附图说明】
[0081]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0082]图1是本发明实施例公开的一种网络构架示意图;
[0083]图2是本发明实施例公开的一种远程访问方法的流程示意图。
[0084]图3是本发明实施例公开的另一种远程访问方法的流程示意图;
[0085]图4是本发明实施例公开的又一种远程访问方法的流程示意图;
[0086]图5是本发明实施例公开的又一种远程访问方法的流程示意图;
[0087]图6是本发明实施例公开的又一种远程访问方法的流程示意图;
[0088]图7是本发明实施例公开的一种代理服务器的模块化示意图;
[0089]图8是本发明实施例公开的另一种代理服务器的模块化示意图;
[0090]图9是本发明实施例公开的一种代理服务器的结构示意图;
[0091]图10是本发明实施例公开的一种客户端的模块化示意图;
[0092]图11是本发明实施例公开的一种客户端的结构示意图;
[0093]图12是本发明实施例公开的一种VNC远程访问系统的架构示意图。
【具体实施方式】
[0094]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0095]本发明实施例提供一种远程访问方法、服务器及客户端,以期减小信息泄露风险,加强VNC访问的安全性。
[0096]为了便于理解本发明实施例,下面先对本发明实施例中所涉及的OpenStack的核心组件Nova和VNC访问连接的现有技术实现过程进行说明。OpenStack是一个开源的云计算管理平台项目,可提供实施简单、大规模扩展、丰富、标准统一的云计算管理平台,其中,计算Nova是OpenStack的核心,可以根据需要提供虚拟机的服务器,负责处理工作负载的流程,VNC是Nova提供的用来访问虚拟机的一项重要功能,用户可以通过浏览器来进行VNC访问。VNC访问连接的现有
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1