本发明专利技术公开了一种客户端与服务器之间的通信方法,包括以下步骤:在服务器侧增设密钥服务器;客户端生成预密钥,然后使用服务器证书中的公钥加密后,发送给服务器端;所述客户端使用预密钥计算会话密钥;反向代理接收到加密的预密钥后,通过加密通道将加密的预密钥发送给密钥服务器;密钥服务器接收到加密的预密钥后,使用服务器证书的私钥解密,得到原始预密钥;密钥服务器将解密后的预密钥发送给反向代理;反向代理使用预密钥计算会话密钥。采用本发明专利技术后,服务器证书的私钥只在密钥服务器上存储,并且是由密钥所属企业人员管理,安全性高,也简化了服务器证书私钥的部署。
【技术实现步骤摘要】
本专利技术涉及网络通信安全领域,具体涉及一种客户端与服务器之间的通信方法。
技术介绍
SSL(SecureSocketsLayer,安全套接层),是为网络通信提供认证、保密以及数据完整性的一种安全协议。SSL两端使用会话密钥进行加密通信,会话密钥建立方式有两种:RSA和DH,下面以RSA方式为例进行阐述,DH方式与RSA方式原理相似。如图1所示,会话密钥协商过程为:1、客户端生成预密钥,然后使用服务器证书中的公钥加密后,发送给服务器端;2、客户端使用预密钥计算会话密钥;3、服务器接收到加密的预密钥后,使用服务器证书的私钥解密,得到原始预密钥;4、服务器使用预密钥计算会话密钥。如图2和图3所示,在增加反向代理后,其会话密钥协商过程为:1、客户端生成预密钥,然后使用服务器证书中的公钥加密后,发送给反向代理;2、客户端使用预密钥计算会话密钥;3、反向代理接收到加密的预密钥后,使用服务器证书的私钥解密,得到原始预密钥;4、反向代理使用预密钥计算会话密钥。反向代理代替服务器与客户端完成SSL协商并提供缓存等服务,提高客户端的访问速率。服务器可以部署在防火墙后,只允许反向代理访问,提高服务器的安全性。以上两种通信方式存在以下不足:1)反向代理必须拥有服务器证书的私钥。反向代理和服务器可能属于不同的企业,同一个私钥由不同企业的人员管理,增加了安全隐患;2)反向代理为多个服务器提供服务时,必须拥有所有服务器证书的私钥,增加了多个服务器证书私钥同时泄露的风险;3)多个反向代理为一个服务器提供服务时,所有反向代理都需要拥有该服务器证书的私钥。同一个私钥多点存储,增加了私钥泄露的风险;4)服务器证书私钥需要在多点部署,增加了部署难度。
技术实现思路
本专利技术所要解决的技术问题是提供一种客户端与服务器之间的通信方法,反向代理上无需部署服务器的私钥。为解决上述技术问题,本专利技术采用的技术方案是:一种客户端与服务器之间的通信方法,包括以下步骤:在服务器侧增设密钥服务器,在反向代理与密钥服务器间完成双向认证并建立加密通道;客户端生成预密钥,然后使用服务器证书中的公钥加密后,发送给服务器端;所述客户端使用预密钥计算会话密钥;反向代理接收到加密的预密钥后,通过加密通道将加密的预密钥发送给密钥服务器;密钥服务器接收到加密的预密钥后,使用服务器证书的私钥解密,得到原始预密钥;密钥服务器将解密后的预密钥发送给反向代理;反向代理使用预密钥计算会话密钥。与现有技术相比,本专利技术的有益效果是:1)服务器证书的私钥只在密钥服务器上存储,并且是由密钥所属企业人员管理,安全性高;2)简化了服务器证书私钥的部署。附图说明图1是现有客户端与服务器的SSL协商过程示意图。图2是现有客户端与服务器之间增设反向代理的实现方式。图3是图2的具体SSL协商过程示意图。图4是本专利技术客户端与服务器之间的通信示意图。图5是图4的具体SSL协商过程示意图。具体实施方式下面结合附图和具体实施方式对本专利技术作进一步详细的说明。尽管本专利技术将结合一些具体实施方式进行阐述和说明,但需要注意的是本专利技术并不仅仅只局限于这些实施方式。相反,对本专利技术进行的修改或者等同替换,均应涵盖在本专利技术的权利要求范围当中。本专利技术提供的一种客户端与服务器之间的通信方法,如图4和图5所示,在服务器侧增加密钥服务器,用于存放服务器证书的私钥,反向代理与密钥服务器间完成双向认证并建立加密通道1。反向代理与密钥服务器间可以通过SSL完成双向认证,即密钥服务器(SSL服务器端)对反向代理(SSL客户端)也进行认证,认证通过后,建立SSL加密通道。客户端与反向代理在SSL协商过程中,涉及到服务器证书私钥的操作时,将数据通过加密通道发送给密钥服务器,由密钥服务器完成对应的处理,并将处理结果发送回反向代理。然后反向代理与客户端完成后续的SSL协商。例如,对于RSA协商方式,反向代理将服务器证书公钥加密后的预密钥以及服务器证书公钥通过之前建立的SSL加密通道发送给密钥服务器,密钥服务器找到服务器证书公钥对应的服务器证书私钥对预密钥做解密处理,得到明文的预密钥,然后将明文预密钥发送给反向代理,反向代理使用明文预密钥生成会话密钥。更具体的,完整的SSL协商流程为:客户端生成预密钥,然后使用服务器证书中的公钥加密后,发送给服务器端2;客户端使用预密钥计算会话密钥3;反向代理接收到加密的预密钥后,通过加密通道将加密的预密钥发送给密钥服务器4;密钥服务器接收到加密的预密钥后,使用服务器证书的私钥解密,得到原始预密钥5;密钥服务器将解密后的预密钥发送给反向代理6;反向代理使用预密钥计算会话密钥7。本专利技术方法有以下优点:1)将服务器证书私钥存放在服务器侧的密钥服务器中,避免反向代理中部署私钥,提高了私钥的安全性;2)反向代理与密钥服务器进行双向认证,并建立加密通道传输数据,避免反向代理仿冒以及数据窃听。以上具体实施方式和附图仅为本专利技术之常用实施例。显然,在不脱离权利要求书所界定的本专利技术精神和专利技术范围的前提下可以有各种增补、修改和替换。本领域技术人员应该理解,本专利技术在实际应用中可根据具体的环境和工作要求在不背离专利技术准则的前提下在形式、结构、布局、比例、材料、元素、组件及其它方面有所变化。因此,在此披露之实施例仅用于说明而非限制,本专利技术之范围由后附权利要求及其合法等同物界定,而不限于此前之描述。本文档来自技高网...
【技术保护点】
一种客户端与服务器之间的通信方法,其特征在于,包括以下步骤:在服务器侧增设密钥服务器,在反向代理与密钥服务器间完成双向认证并建立加密通道(1);客户端生成预密钥,然后使用服务器证书中的公钥加密后,发送给服务器端(2);所述客户端使用预密钥计算会话密钥(3);反向代理接收到加密的预密钥后,通过加密通道将加密的预密钥发送给密钥服务器(4);密钥服务器接收到加密的预密钥后,使用服务器证书的私钥解密,得到原始预密钥(5);密钥服务器将解密后的预密钥发送给反向代理(6);反向代理使用预密钥计算会话密钥(7)。
【技术特征摘要】
1.一种客户端与服务器之间的通信方法,其特征在于,包括以下步骤:在服务器侧增设密
钥服务器,在反向代理与密钥服务器间完成双向认证并建立加密通道(1);客户端生成预密
钥,然后使用服务器证书中的公钥加密后,发送给服务器端(2);所述客户端使用预密钥计
算会话密钥(3...
【专利技术属性】
技术研发人员:蔡自彬,
申请(专利权)人:成都知道创宇信息技术有限公司,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。