CN105591959A - 一种利用ssl会话重用进行负载均衡的系统及方法 - Google Patents
一种利用ssl会话重用进行负载均衡的系统及方法 Download PDFInfo
- Publication number
- CN105591959A CN105591959A CN201410575787.4A CN201410575787A CN105591959A CN 105591959 A CN105591959 A CN 105591959A CN 201410575787 A CN201410575787 A CN 201410575787A CN 105591959 A CN105591959 A CN 105591959A
- Authority
- CN
- China
- Prior art keywords
- ssl session
- ssl
- background server
- load
- session
- 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.)
- Granted
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明一种利用SSL会话重用进行负载均衡的系统,是由客户端、互联网、负载均衡设备及后台服务器模块组成,其中在负载均衡设备中包括有TCP连接模块、SSL会话ID产生模块、SSL会话ID缓存模块、SSL会话ID哈希模块以及连接后台服务器模块。SSL会话ID具有很强的随机性,本发明利用这一特点选择后台服务器,能够保证流量均匀分发;本发明将后台服务器名字记录在SSL会话缓存数据结构中,使得后续新的SSL请求能够快速得到对应的后台服务器的同时,保证了重用同一SSL会话ID的SSL请求能够分发到同一台后台服务器。
Description
技术领域
本发明涉及网络应用交付控制领域,特别涉及一种利用SSL会话重用进行负载均衡的系统及方法。
背景技术
随着广大互联网用户对隐私和安全的重视程度加深,越来越多的网站开始部署SSL来保护客户端和服务器之间的数据传输。绝大部分的SSL(加密套接字协议层,SecuritySocketLayer)通信都开启了会话重用功能。
目前使用较多的一种方案是负载均衡器将SSL流量透明传输给后台服务器,由后者进行加解密。后台服务器的选择使用轮询等基本算法,SSL会话ID由后台服务器产生,负载均衡器记录SSL会话ID和后台服务器的对应关系。
上述方案虽能够均衡处理SSL流量,但有以下若干不足:
●性能较低
由于SSL加解密工作在后台服务器上进行,而没有将其卸载到负载均衡器上,性能指标比较差。
●SSL会话ID冲突
SSL会话ID由各后台服务器随机产生,SSL会话ID存在重复的可能性。而负载均衡器需要记录SSL会话ID与后台服务器的映射表,不允许SSL会话ID产生冲突。如负载均衡器收到的SSLsererhello消息中,SSL会话ID在映射表中已经存在,则会重新与后台服务器建立连接,重新产生SSL会话ID。
发明内容
为克服已有技术中存在的问题,本发明的目的是将SSL的处理卸载到负载均衡器上,并能均匀、高效地将客户端请求分发到后台服务器的系统及方法。
一种利用SSL会话重用进行负载均衡的系统,是由客户端、互联网、负载均衡设备及后台服务器组成,其中在负载均衡设备中包括有TCP连接模块、SSL会话ID产生模块、SSL会话缓存模块、SSL会话ID哈希模块以及对应连接的后台服务器模块。
所述的SSL会话ID产生模块用于当客户端向负载均衡器发送clienthello消息时,随机产生SSL会话ID,并向客户端返回serverhello消息;
所述的SSL会话缓存模块用于为SSL会话缓存数据结构分配内存,保存SSL会话缓存信息,以便于后续SSL会话重用;
所述的SSL会话ID哈希模块用于对SSL会话ID进行哈希运算;
所述的连接后台服务器模块用于根据哈希的结果选择后台服务器,同时将所选择的后台服务器名字记录在SSL会话缓存中。
一种利用SSL会话重用进行负载均衡的方法,是由以下步骤实现的:
步骤1,客户端与负载均衡设备建立TCP连接;
步骤2,客户端向负载均衡设备发送clienthello消息,负载均衡设备产生会话ID,并向客户端发送包含会话ID的serverhello消息;
步骤3,负载均衡设备与客户端完成后续SSL握手过程,包括负载均衡设备在SSL会话缓存数据结构中保存会话关键信息;
步骤4,负载均衡设备对SSL会话ID进行哈希,根据哈希的结果选择后台服务器,同时将所选择的后台服务器名字记录在SSL会话缓存中;
步骤5,负载均衡设备与后台服务器连接,客户端与后台服务器之间进行数据传输;
步骤6,客户端与负载均衡设备建立新的SSL连接,重用上述SSL会话ID,得到对应的后台服务器名字;
步骤7,新的SSL握手完成,直接连接所对应的后台服务器。
SSL会话ID具有很强的随机性,本发明利用这一特点选择后台服务器,能够保证流量均匀分发;本发明将后台服务器名字记录在SSL会话缓存数据结构中,使得后续新的SSL请求能够快速得到对应的后台服务器的同时,保证了重用同一SSL会话ID的SSL请求能够分发到同一台后台服务器。
附图说明
图1是本发明设备的系统结构示意图;
图2是本发明系统中负载均衡设备的系统结构图;
图3是本发明方法流程图;
图4是本发明方法数据流时序图。
具体实施方式
在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也是本申请各权利要求所要求保护的技术方案。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
如图1所示,一种利用SSL会话重用进行负载均衡的系统,是由客户端100、互联网200、负载均衡设备300及若干后台服务器400组成,如图2,所述的负载均衡设备中包括有TCP连接模块301、SSL会话ID产生模块302、SSL会话缓存模块303、SSL会话ID哈希模块304以及连接的后台服务器模块305。
所述的SSL会话ID产生模块用于当客户端向负载均衡器发送clienthello消息时,随机产生SSL会话ID,并向客户端返回serverhello消息;
所述的SSL会话缓存模块用于为SSL会话缓存数据结构分配内存,保存SSL会话缓存信息,例如会话ID,主密钥,加密套件等,以便于后续SSL会话重用;
所述的SSL会话ID哈希用于对SSL会话ID进行哈希运算;
所述的连接后台服务器模块用于根据哈希的结果选择后台服务器。同时将所选择的后台服务器名字记录在SSL会话缓存中。
现以一台ArrayNetworks的负载均衡器APV2600为例,利用SSL会话重用进行负载均衡的实现方法如下:
首先进行系统配置:
1.配置后台服务器
Slbrealhttprs110.3.0.20
Slbrealhttprs210.3.0.21
Slbgroupmethodgtestsslid
Slbgroupmembergtestrs1
Slbgroupmembergtestrs2
2.配置对客户端提供服务的虚拟服务vs
Slbvirtualhttpsvs110.8.1.30
3.配置SSL虚拟服务
Sslvirtualhostvhost1vs1
Sslimportkey
Sslimportcertificate
Sslstartvhost1
4.配置负载均衡策略
Slbpolicydefaultvs1gtest
然后,在完成上述系统配置之后,如图3所示,采用如下的步骤:
步骤1,客户端与负载均衡设备建立TCP连接;
步骤2,客户端向负载均衡设备发送clienthello消息,负载均衡设备产生会话ID,并向客户端发送包含会话ID的serverhello消息;
步骤3,负载均衡设备与客户端完成后续SSL握手过程,包括负载均衡设备在SSL会话缓存数据结构中保存会话关键信息;
步骤4,负载均衡设备对SSL会话ID进行哈希,根据哈希的结果选择后台服务器,同时将所选择的后台服务器名字记录在SSL会话缓存中;
步骤5,负载均衡设备与后台服务器连接,客户端与后台服务器之间进行数据传输;
步骤6,客户端与负载均衡设备建立新的SSL连接,重用上述SSL会话ID,得到对应的后台服务器名字;
步骤7,新的SSL握手完成,直接连接所对应的后台服务器。
图4所示,描述了上述步骤中客户端与负载均衡器及后台服务器之间的数据流时序关系,大致同上述文字描述,不再赘述。
需要说明的是,本发明各设备实施方式中提到的各单元都是逻辑单元,在物理上,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现,这些逻辑单元本身的物理实现方式并不是最重要的,这些逻辑单元所实现的功能的组合才是解决本发明所提出的技术问题的关键。此外,为了突出本发明的创新部分,本发明没有引入上述各设备实施方式以及与解决本发明所提出的技术问题关系不太密切的单元,但这并不表明不存在上述设备实施方式以及其它有关实施单元。
虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (2)
1.一种利用SSL会话重用进行负载均衡的系统,是由客户端、互联网、负载均衡设备及后台服务器组成,其特征是在负载均衡设备中包括有TCP连接模块、SSL会话ID产生模块、SSL会话缓存模块、SSL会话ID哈希模块以及对应连接的后台服务器模块;
所述的SSL会话ID产生模块用于当客户端向负载均衡器发送clienthello消息时,随机产生SSL会话ID,并向客户端返回serverhello消息;
所述的SSL会话缓存模块用于为SSL会话缓存数据结构分配内存,保存SSL会话缓存信息,以便于后续SSL会话重用;
所述的SSL会话ID哈希模块用于对SSL会话ID进行哈希运算;
所述的连接后台服务器模块用于根据哈希的结果选择后台服务器,同时将所选择的后台服务器名字记录在SSL会话缓存中。
2.一种利用SSL会话重用进行负载均衡的方法,其特征是由以下步骤实现的:
步骤1,客户端与负载均衡设备建立TCP连接;
步骤2,客户端向负载均衡设备发送clienthello消息,负载均衡设备产生会话ID并向客户端发送包含会话ID的serverhello消息;
步骤3,负载均衡设备与客户端完成后续SSL握手过程,包括负载均衡设备在SSL会话缓存数据结构中保存会话关键信息;
步骤4,负载均衡设备对SSL会话ID进行哈希,根据哈希的结果选择后台服务器,同时将所选择的后台服务器名字记录在SSL会话缓存中;
步骤5,负载均衡设备与后台服务器连接,客户端与后台服务器之间进行数据传输;
步骤6,客户端与负载均衡设备建立新的SSL连接,重用上述SSL会话ID,得到对应的后台服务器名字;
步骤7,新的SSL握手完成,直接连接所对应的后台服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410575787.4A CN105591959B (zh) | 2014-10-24 | 2014-10-24 | 一种利用ssl会话重用进行负载均衡的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410575787.4A CN105591959B (zh) | 2014-10-24 | 2014-10-24 | 一种利用ssl会话重用进行负载均衡的系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105591959A true CN105591959A (zh) | 2016-05-18 |
CN105591959B CN105591959B (zh) | 2019-04-05 |
Family
ID=55931191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410575787.4A Active CN105591959B (zh) | 2014-10-24 | 2014-10-24 | 一种利用ssl会话重用进行负载均衡的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105591959B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106790150A (zh) * | 2016-12-28 | 2017-05-31 | 北京信安世纪科技有限公司 | 一种会话保持方法和装置 |
CN110839084A (zh) * | 2019-11-19 | 2020-02-25 | 中国建设银行股份有限公司 | 会话管理方法、装置、设备和介质 |
CN110933180A (zh) * | 2019-12-10 | 2020-03-27 | 深信服科技股份有限公司 | 一种通信建立方法、装置、负载设备及存储介质 |
CN111045823A (zh) * | 2019-12-11 | 2020-04-21 | 上海智臻智能网络科技股份有限公司 | 上下文数据的负载分发方法、装置、设备及存储介质 |
CN111464387A (zh) * | 2020-03-31 | 2020-07-28 | 南方电网科学研究院有限责任公司 | 一种检测终端ssl/tls配置安全性的方法、装置、系统和设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030023744A1 (en) * | 2001-07-26 | 2003-01-30 | Emek Sadot | Secret session supporting load balancer |
CN101296238A (zh) * | 2008-06-17 | 2008-10-29 | 杭州华三通信技术有限公司 | 一种保持安全套接层会话持续性的方法及设备 |
CN101453404A (zh) * | 2007-11-30 | 2009-06-10 | 华为技术有限公司 | 一种实现负载均衡的方法及装置 |
US20090271613A1 (en) * | 2008-04-24 | 2009-10-29 | International Business Machines Corporation | Method and system for providing non-proxy tls/ssl support in a content-based load balancer |
CN101783771A (zh) * | 2010-03-24 | 2010-07-21 | 杭州华三通信技术有限公司 | 一种实现负载均衡持续性的方法和设备 |
CN103209223A (zh) * | 2013-04-27 | 2013-07-17 | 中国农业银行股份有限公司 | 分布式应用会话信息共享方法、系统和应用服务器 |
CN103457869A (zh) * | 2013-08-28 | 2013-12-18 | 北京星网锐捷网络技术有限公司 | 会话保持方法和装置 |
-
2014
- 2014-10-24 CN CN201410575787.4A patent/CN105591959B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030023744A1 (en) * | 2001-07-26 | 2003-01-30 | Emek Sadot | Secret session supporting load balancer |
CN101453404A (zh) * | 2007-11-30 | 2009-06-10 | 华为技术有限公司 | 一种实现负载均衡的方法及装置 |
US20090271613A1 (en) * | 2008-04-24 | 2009-10-29 | International Business Machines Corporation | Method and system for providing non-proxy tls/ssl support in a content-based load balancer |
CN101296238A (zh) * | 2008-06-17 | 2008-10-29 | 杭州华三通信技术有限公司 | 一种保持安全套接层会话持续性的方法及设备 |
CN101783771A (zh) * | 2010-03-24 | 2010-07-21 | 杭州华三通信技术有限公司 | 一种实现负载均衡持续性的方法和设备 |
CN103209223A (zh) * | 2013-04-27 | 2013-07-17 | 中国农业银行股份有限公司 | 分布式应用会话信息共享方法、系统和应用服务器 |
CN103457869A (zh) * | 2013-08-28 | 2013-12-18 | 北京星网锐捷网络技术有限公司 | 会话保持方法和装置 |
Non-Patent Citations (1)
Title |
---|
姜秀柱: "《计算机网络》", 31 July 2010 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106790150A (zh) * | 2016-12-28 | 2017-05-31 | 北京信安世纪科技有限公司 | 一种会话保持方法和装置 |
CN110839084A (zh) * | 2019-11-19 | 2020-02-25 | 中国建设银行股份有限公司 | 会话管理方法、装置、设备和介质 |
CN110933180A (zh) * | 2019-12-10 | 2020-03-27 | 深信服科技股份有限公司 | 一种通信建立方法、装置、负载设备及存储介质 |
CN110933180B (zh) * | 2019-12-10 | 2023-05-12 | 深信服科技股份有限公司 | 一种通信建立方法、装置、负载设备及存储介质 |
CN111045823A (zh) * | 2019-12-11 | 2020-04-21 | 上海智臻智能网络科技股份有限公司 | 上下文数据的负载分发方法、装置、设备及存储介质 |
CN111464387A (zh) * | 2020-03-31 | 2020-07-28 | 南方电网科学研究院有限责任公司 | 一种检测终端ssl/tls配置安全性的方法、装置、系统和设备 |
CN111464387B (zh) * | 2020-03-31 | 2022-02-25 | 南方电网科学研究院有限责任公司 | 一种检测终端ssl/tls配置安全性的方法、装置、系统和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105591959B (zh) | 2019-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102055730B (zh) | 云处理系统、云处理方法和云计算代理装置 | |
US20170195417A1 (en) | Data files synchronization with cloud storage service | |
CN106533665B (zh) | 用于存储网站私钥明文的方法、系统和装置 | |
US11777914B1 (en) | Virtual cryptographic module with load balancer and cryptographic module fleet | |
US20120136960A1 (en) | Cloud Storage Data Access Method, Apparatus and System | |
CN105993146A (zh) | 不访问私钥而使用公钥密码的安全会话能力 | |
CN109639819B (zh) | 文件传输方法、客户端、服务器及系统 | |
US10623186B1 (en) | Authenticated encryption with multiple contexts | |
CN108401011A (zh) | 内容分发网络中握手请求的加速方法、设备及边缘节点 | |
CN105591959A (zh) | 一种利用ssl会话重用进行负载均衡的系统及方法 | |
CN109154968B (zh) | 用于组织内的安全且高效的通信的系统和方法 | |
US10346618B1 (en) | Data encryption for virtual workspaces | |
WO2017148313A1 (zh) | 共管账户的授权方法和装置、共管账户的认证方法和装置 | |
US10547597B2 (en) | Secure network connections | |
US20080306875A1 (en) | Method and system for secure network connection | |
US20110154015A1 (en) | Method For Segmenting A Data File, Storing The File In A Separate Location, And Recreating The File | |
CN109862103A (zh) | 基于区块链的文件数据安全共享方法和装置 | |
US10601788B2 (en) | Interception of secure shell communication sessions | |
CN111865897A (zh) | 一种云服务的管理方法及装置 | |
CN113595722B (zh) | 量子安全密钥同步方法、装置、电子设备和存储介质 | |
CN105357239A (zh) | 提供服务的方法和装置、获取服务的方法及装置 | |
US9288116B2 (en) | System and method for NAS server test load generation | |
US20180227297A1 (en) | Enterprise key and password management system | |
CN109962888A (zh) | 一种防篡改业务访问方法、客户端以及服务器 | |
EP2800330A1 (en) | Secret key management method for multi-network platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100125 Beijing city Chaoyang District Liangmaqiao Road No. 40 building 10 room 1001, twenty-first Century Patentee after: Beijing Huayao Technology Co., Ltd Address before: 100125 Beijing city Chaoyang District Liangmaqiao Road No. 40 building 10 room 1001, twenty-first Century Patentee before: Huayao (China) Technology Co., Ltd. |