基于ssl的代理方法、装置及系统的制作方法

文档序号:9711465阅读:287来源:国知局
基于ssl的代理方法、装置及系统的制作方法
【技术领域】
[0001]本发明涉及网络技术领域,特别是涉及一种基于SSL的代理方法、装置及系统。
【背景技术】
[0002]随着网络技术的发展,对网络数据的传输安全的要求也在不断提高。在基于SSL(Secure Sockets Layer,安全套接层)协议的握手过程中,最消耗计算资源的操作是非对称加密运算,非对称加密运算需要两个密钥来进行加密和解密,这两个密钥是公开密钥和私有密钥。SSL协议是为网络通信提供安全及数据完整性的一种安全协议。
[0003]目前SSL代理与客户端和服务器进行握手协商建立连接的过程中,在SSL代理与客户端通过计算得到协商结果,并根据协商结果建立连接。之后,SSL代理再与服务器握手协商建立连接,在此握手协商过程中,仍需要调用计算资源再次运算,而未使用SSL代理与客户端的协商结果,导致了该协商结果闲置,造成了资源的浪费。

【发明内容】

[0004]基于此,有必要针对由于SSL代理与客户端的协商结果闲置而造成的资源浪费问题,提供一种基于SSL的代理方法、装置及系统。
[0005]—种基于SSL的代理方法,所述方法应用于基于SSL的代理系统中的代理服务器,所述基于SSL的代理系统还包括客户端和目标服务器,在所述客户端通过所述代理服务器访问所述目标服务器的过程中,所述方法包括:
[0006]获取在与客户端的第一握手过程中所述代理服务器所选定的第一加密参数以及所述客户端发送的预主密码密文数据;
[0007]在与所述目标服务器的第二握手过程中,获取所述目标服务器选定的第二加密参数;
[0008]判断所述第一加密参数和所述第二加密参数是否匹配;
[0009]若匹配,则直接将所述预主密码密文数据发送给所述目标服务器,以使所述目标服务器根据所述预主密码密文数据完成所述第二握手过程。
[0010]在其中一个实施例中,所述获取在与客户端的第一握手过程中代理服务器所选定的第一加密参数以及所述客户端发送的预主密码密文数据的步骤,包括:
[0011 ]接收客户端发送的客户端握手请求;
[0012]根据所述客户端握手请求选定第一加密参数并返回给所述客户端;
[0013]接收所述客户端发送的预主密码密文数据,所述预主密码密文数据是根据所述第一加密参数中的公钥对所述客户端产生的随机数加密获得的;
[0014]根据所述公钥相应的私钥对所述预主密码密文数据进行解密获得预主密码明文数据。
[0015]在其中一个实施例中,所述方法还包括:
[0016]若不匹配,则以所述第二握手过程中的随机数作为预主密码,根据所述第二加密参数中的公钥对所述预主密码进行加密得到预主密码密文数据,并将所述预主密码密文数据发送给所述目标服务器,以使所述目标服务器根据所述第二加密参数中的公钥相应的私钥解密所述预主密码密文数据并完成所述第二握手过程。
[0017]在其中一个实施例中,所述第二加密参数包括协议版本号、密钥交换算法以及公钥;所述获取所述服务器选定的第二加密参数包括:
[0018]发送代理握手请求;
[0019]接收所述目标服务器根据所述代理握手请求选定的协议版本号、密钥交换算法以及目标服务器数字证书;
[0020]从所述目标服务器数字证书中提取公钥,并根据所述协议版本号、所述密钥交换算法和所述公钥得到所述第二加密参数。
[0021]在其中一个实施例中,所述判断所述第一加密参数和所述第二加密参数是否匹配包括:
[0022]判断所述第一加密参数中的密钥交换算法、协议版本号及公钥,是否分别与所述第二加密参数中的密钥交换算法、协议版本号及公钥匹配。
[0023]上述基于SSL的代理方法,首先获取在与客户端的第一握手过程中所选定的第一加密参数以及所述客户端发送的预主密码密文数据,之后在与目标服务器的第二握手过程中,获取目标服务器选定的第二加密参数,再判断第一加密参数和第二加密参数是否匹配,若匹配,则直接将在第一握手过程中客户端发送的预主密码密文数据发送给目标服务器,以使目标服务器根据预主密码密文完成第二握手过程。这样,在判断第一加密参数与第二加密参数匹配时,则将与客户端的第一握手过程中的预主密码密文数据作为与目标服务器的第二握手过程中的预主密码密文数据。在第二握手过程中,无需对第二握手过程中随机数进行再次计算以得到预主密码密文数据,就可以获取用于完成第二握手过程的预主密码密文数据,同时也避免了与客户端的第一握手过程中预主密码密文数据的闲置,提高了资源利用率。
[0024]一种基于SSL的代理装置,所述装置包括:
[0025]第一获取模块,用于获取在与客户端的第一握手过程中所述代理服务器所选定的第一加密参数以及所述客户端发送的预主密码密文数据;
[0026]第二获取模块,用于在与所述目标服务器的第二握手过程中,获取所述目标服务器选定的第二加密参数;
[0027]加密参数判断模块,用于判断所述第一加密参数和所述第二加密参数是否匹配;
[0028]预主密码选取模块,用于若所述第一加密参数和所述第二加密参数匹配,则直接将所述预主密码密文数据发送给所述目标服务器,以使所述目标服务器根据所述预主密码密文数据完成所述第二握手过程。
[0029]在其中一个实施例中,所述第一获取模块还包括:
[0030]握手请求接收模块,用于接收客户端发送的客户端握手请求;
[0031]加密参数返回模块,用于根据所述客户端握手请求选定第一加密参数并返回给所述客户端;
[0032]预主密码接收模块,用于接收所述客户端发送的预主密码密文数据,所述预主密码密文数据是根据所述第一加密参数中的公钥对所述客户端产生的随机数加密获得的;
[0033]预主密码解密模块,用于根据所述公钥相应的私钥对所述预主密码密文数据进行解密获得预主密码明文数据。
[0034]在其中一个实施例中,所述预主密码选取模块还用于若所述第一加密参数和所述第二加密参数不匹配,则以所述第二握手过程中的随机数作为预主密码,根据所述第二加密参数中的公钥对所述预主密码进行加密得到预主密码密文数据,并将所述预主密码密文数据发送给所述目标服务器,以使所述目标服务器根据所述第二加密参数中的公钥相应的私钥解密所述预主密码密文数据并完成所述第二握手过程。
[0035]在其中一个实施例中,所述第二加密参数包括协议版本号、密钥交换算法以及公钥;所述第二获取模块包括:
[0036]请求发送模块,用于发送代理握手请求;
[0037]加密参数接收模块,用于接收所述目标服务器根据所述代理握手请求选定的协议版本号、密钥交换算法以及目标服务器数字证书;
[0038]公钥提取模块,用于从所述目标服务器数字证书中提取公钥,并根据所述协议版本号、所述密钥交换算法和所述公钥得到所述第二加密参数。
[0039]在其中一个实施例中,所述加密参数判断模块还用于判断所述第一加密参数中的密钥交换算法、协议版本号及公钥,是否分别与所述第二加密参数中的密钥交换算法、协议版本号及公钥匹配。
[0040]上述基于SSL的代理装置,首先第一获取模块获取在与客户端的第一握手过程中所选定的第一加密参数以及客户端发送的预主密码密文数据,之后在与目标服务器的第二握手过程中,第二获取模块获取目标服务器选定的第二加密参数,加密参数判断模块再判断第一加密参数和第二加密参数是否匹配,若匹配,预主密码选取模块则直接将在第一握手过程中客户端发送的预主密码密文数据发送给目标服务器,以使目标服务器根据预主密码密文完成第二握手过程。这样,在判断第一加密参数与第二加密参数匹配时,则将与客户端的第一握手过程中的预主密码密文数据作为与目标服务器的第二握手过程中的预主密码密文数据。在第二握手过程中,无需对第二握手过程中随机数进行再次计算以得到预主密码密文数据,就可以获取用于完成第二握手过程的预主密码密文数据,同时也避免了与客户端的第一握手过程中预主密码密文数据的闲置,提高了资源利用率。
[0041]一种基于SSL的代理系统,所述系统包括客户端、代理服务器和目标服务器:
[0042]所述客户端用于向所述代理服务器发送客户端握手请求;
[0043]所述代理服务器用于接收所述客户端握手请求,并根据所述客户端握手请求选定第一加密参数
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1