CN104660592B - 一种基于安全套接层协议特征的负载分发方法 - Google Patents
一种基于安全套接层协议特征的负载分发方法 Download PDFInfo
- Publication number
- CN104660592B CN104660592B CN201510058710.4A CN201510058710A CN104660592B CN 104660592 B CN104660592 B CN 104660592B CN 201510058710 A CN201510058710 A CN 201510058710A CN 104660592 B CN104660592 B CN 104660592B
- Authority
- CN
- China
- Prior art keywords
- algorithm
- ssl
- packets
- socket layer
- byte
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种基于安全套接层协议特征的负载分发方法,该方法包括如下步骤:S1、从网络上获取IP数据包;S2、解析出IP数据包的头部信息并保存;S3、判断IP数据包是否为SSL协议数据,若判断结果为真,则执行步骤S4,若判断结果为假,则过程结束;S4、获取IP数据包中IP包载荷部分中的算法套件类型;S5、根据不同的算法套件类型构造不同的负载分发策略。与现有技术相比,不需要对安全套接层(TLS/SSL)数据包进行解密操作就可以进行负载分发,本发明使用安全套接层(TLS/SSL)协议数据包的特征动态构造负载分发策略,分发效率高且安全可靠。
Description
技术领域
本发明属于计算机网络技术领域,具体涉及一种基于安全套接层协议特征的负载分发方法。
背景技术
随着互联网用户的急剧增长,获取信息的速度快慢已经成为制约互联网发展的重要因素。由于现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。
负载均衡就是将负载(工作任务)进行平衡、分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
通常,负载均衡会根据网络的不同层次(网络七层)来划分。近几年来,四到七层网络负载均衡首先在电信、移动、银行、大型网站等单位进行了应用,因为其网络流量瓶颈的现象最突出。
当前四层的负载均衡分发技术主要根据后台服务器负载情况将TCP/IP网络的数据包进行分发,分发时主要依据数据包中的源地址、目标地址、源端口、目标端口信息。
四层的负载均衡,就是通过发布三层的IP地址(VIP),然后加四层的端口号,来决定哪些流量需要做负载均衡,对需要处理的流量进行NAT处理,转发至后台服务器,并记录下这个TCP或者UDP的流量是由哪台服务器处理的,后续这个连接的所有流量都同样转发到同一台服务器处理。七层的负载均衡,就是在四层的基础上再考虑应用层的特征,比如同一个Web服务器的负载均衡,除了根据VIP加80端口辨别是否需要处理的流量,还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡。
随着电子商务业务的不断发展壮大,越来越多的电子商务应用采用安全套接层(TLS/SSL)技术来保护后台业务,采用安全套接层(TLS/SSL)技术以后,普遍的七层负载均衡由于HTTP协议数据被加密,无法根据HTTP协议(如URL,浏览器类型、语言等)来进行负载分发,为了进行正确的分发,可使用安全套接层(TLS/SSL)协议对数据包进行解密,然后根据应用数据进行负载分发,这样就导致存在如下问题:
1)分发效率的降低,负载均衡设备必须进行了多余的解密操作;
2)造成信息的泄露,负载均衡设备不应获得加密的内容。
发明内容
本发明的目的在于克服现有技术的不足,提供一种分发效率高且安全可靠的基于安全套接层协议特征的负载分发方法。
为实现以上目的,本发明采用如下技术方案:一种基于安全套接层协议特征的负载分发方法,其特征在于:该方法包括如下步骤:
S1、从网络上获取IP数据包;
S2、解析出IP数据包的头部信息并保存;
S3、判断IP数据包是否为SSL协议数据,若判断结果为真,则执行步骤S4,若判断结果为假,则过程结束;
S4、获取IP数据包中IP包载荷部分中的算法套件类型;
S5、根据不同的算法套件类型构造不同的负载分发策略。
进一步,所述步骤S2中IP数据包的头部信息包括源地址、源端口、目标地址和目标端口。
进一步,所述步骤S3包括如下步骤:S21、从头部信息中读取IP包载荷部分前3个字节中的SSL握手消息类型和协议版本号;S22、根据步骤S21中的SSL握手消息类型和协议版本号判断是否为SSL协议。
进一步,所述步骤S4包括如下步骤:S41、从头部信息中读取IP包载荷部分从第4至第46共计43个字节内容;S42、从步骤S41中的43个字节之最后3字节中获取算法套件之长度标识位内容和算法套件长度内容;S43、判断步骤S42中最后3个字节内容是否为00 x1 x2,若算法套件之长度标识位内容为真,则获取x1 x2字节内容;S44、将步骤S43中获取的x1 x2字节内容作为算法套件类型,并执行步骤S5。
进一步,所述步骤S43中,若算法套件之长度标识位内容为假,则进一步做如下处理:S431、进一步判断步骤S42中最后3个字节内容是否为20 y1 y2,若算法套件之长度标识位内容为真,则获取y1 y2字节内容;若为假,则过程结束;S432、将步骤S431中获取的y1 y2字节内容作为算法套件类型,并执行步骤S5。
本发明采用以上技术方案,获取IP数据包中IP包载荷部分中的算法套件类型;根据不同的算法套件类型构造不同的负载分发策略。与现有技术相比,不需要对安全套接层(TLS/SSL)数据包进行解密操作就可以进行负载分发,本发明使用安全套接层(TLS/SSL)协议数据包的特征动态构造负载分发策略,分发效率高且安全可靠。
本发明还具有如下优点:
1)、因仅需要检查IP包载荷的内容,使得实现构造分发策略的难度和复杂度显著降低;
2)、因实现难度和复杂度较低,可在操作系统内核或系统驱动内实现,明显减少数据处理的层次。
附图说明
图1是本发明基于安全套接层协议特征的负载分发方法之IP包载荷部分结构示意图之一;
图2是本发明基于安全套接层协议特征的负载分发方法之IP包载荷部分结构示意图之二;
图3是本发明基于安全套接层协议特征的负载分发方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面对IP包载荷部分结构示意图做说明。
如图1所示,前三个字节为SSL握手消息类型(0x16)+协议版本号(0x030x02);
接下来的43个字节包括的内容有:
a)2个字节的长度,具体为握手包长度;
b)1个字节的类型标识(01表示ClientHello消息);
c)3个字节的长度,具体为ClientHello消息长度;
d)2个字节的版本号;
e)32个字节的随机数;
f)最后3个字节中第一个字节为算法套件之长度标识位;
g)length长度的算法套件类型,每个类型2字节
3)需搜索的长度范围不超过f)子项的长度length
如图2所示,前三个字节为SSL握手消息类型(0x16)+协议版本号(0x030x02);
接下来的43个字节包括的内容有:
a)2个字节的长度,具体为握手包长度;
b)1个字节的类型标识(01表示ClientHello消息)
c)3个字节的长度,具体为ClientHello消息长度;
d)2个字节的版本号
e)32个字节的随机数
f)1个字节的长度值为0x20,为算法套件之长度标识位
g)32个字节的会话标识
h)接下来为2字节算法套件长度(假定长度为length)
i)算法套件类型可包含多个,每个类型2字节
3)需搜索的长度范围不超过2)中h)子项的长度length
需要说明的是,如果客户端与服务端进行过成功的握手,客户端会获得32字节的SessionID,下一次进行握手时,客户端可附加这32字节的SessionID进行握手,这样就导致ClientHello消息有两种不同的格式。若长度为0,表示初次握手,若长度为20,则表示已经获得了SessionID。
如图3所示,本发明提供一种基于安全套接层协议特征的负载分发方法,其特征在于:该方法包括如下步骤:
S1、从网络上获取IP数据包;
S2、解析出IP数据包的头部信息并保存;所述步骤S2中IP数据包的头部信息包括源地址、源端口、目标地址和目标端口。
S3、判断IP数据包是否为SSL协议数据,若判断结果为真,则执行步骤S4,若判断结果为假,则过程结束;所述步骤S3包括如下步骤:S21、从头部信息中读取IP包载荷部分前3个字节中的SSL握手消息类型和协议版本号;S22、根据步骤S21中的SSL握手消息类型和协议版本号判断是否为SSL协议。
S4、获取IP数据包中IP包载荷部分中的算法套件类型;
所述步骤S4包括如下步骤:S41、从头部信息中读取IP包载荷部分从第4至第46共计43个字节内容;S42、从步骤S41中的43个字节之最后3字节中获取算法套件之长度标识位内容和算法套件长度内容;S43、判断步骤S42中最后3个字节内容是否为00 x1 x2,若算法套件之长度标识位内容为真,则获取x1 x2字节内容;S44、将步骤S43中获取的x1 x2字节内容作为算法套件类型,并执行步骤S5。
优先的,在所述步骤S43中,若算法套件之长度标识位内容为假,则进一步做如下处理:S431、进一步判断步骤S42中最后3个字节内容是否为20 y1 y2,若算法套件之长度标识位内容为真,则获取y1 y2字节内容;若为假,则过程结束;S432、将步骤S431中获取的y1y2字节内容作为算法套件类型,并执行步骤S5。
S5、根据不同的算法套件类型构造不同的负载分发策略。
需要进一步说明的是,算法套件类型用2个字节表示,算法套件长度为类型个数*2,算法套件类型包含在IP包载荷部分之内(实际上在TCP包载荷内)
算法表示的是在SSL/TLS握手过程中使用哪些算法来建立安全通道,每2个字节表示一种类型。
如E011:ECDHE_SM4_SM3表示使用SM2/SM3/SM4算法,使用ECDHE密钥交换协议来建立安全通道,E013:ECC_SM4_SM3表示使用SM2/SM3/SM4算法,使用ECC加密的密钥交换协议来建立安全通道
0005:TLS_RSA_WITH_RC4_128_SHA表示使用RC4和SHA-1算法,RSA认证算法和密钥交换协议来建立安全通道。
如图3所示,步骤S5中如果包含多个算法套件类型,可以根据算法套件类型的不同建立不同的分发规则,如对算法套件类型为E011和E013(这类算法套件类型为国产密码算法套件)的请求,建立一条规则,分发到一服务器,对算法套件为00 04/00 05/00 09/00 0A(这类算法套件类型为国际通用算法套件)的请求,建立一条规则,分发到另服务器。
本发明不局限于上述最佳实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本申请相同或相近似的技术方案,均落在本发明的保护范围之内。
Claims (4)
1.一种基于安全套接层协议特征的负载分发方法,其特征在于:该方法包括如下步骤:
S1、从网络上获取IP数据包;
S2、解析出IP数据包的头部信息并保存;
S3、从头部信息中读取IP包载荷部分前3个字节中的SSL握手消息类型和协议版本号,并根据握手消息类型和协议版本号判断是否为SSL协议,若判断是SSL协议,则执行步骤S4,若判断不是SSL协议,则过程结束;
S4、获取IP数据包中IP包载荷部分中的算法套件类型;
S5、根据不同的算法套件类型构造不同的负载分发策略。
2.根据权利要求1所述的基于安全套接层协议特征的负载分发方法,其特征在于:所述步骤S2中IP数据包的头部信息包括源地址、源端口、目标地址和目标端口。
3.根据权利要求1所述的基于安全套接层协议特征的负载分发方法,其特征在于:所述步骤S4包括如下步骤:
S41、从头部信息中读取IP包载荷部分从第4至第46共计43个字节内容;
S42、从步骤S41中的43个字节之最后3字节中获取算法套件之长度标识位内容和算法套件长度内容;
S43、判断步骤S42中最后3个字节内容是否为00x1x2,若算法套件之长度标识位内容为真,则获取x1x2字节内容;
S44、将步骤S43中获取的x1x2字节内容作为算法套件类型,并执行步骤S5。
4.根据权利要求3所述的基于安全套接层协议特征的负载分发方法,其特征在于:所述步骤S43中,若算法套件之长度标识位内容为假,则进一步做如下处理:
S431、进一步判断步骤S42中最后3个字节内容是否为20y1y2,若算法套件之长度标识位内容为真,则获取y1y2字节内容;若为假,则过程结束;
S432、将步骤S431中获取的y1y2字节内容作为算法套件类型,并执行步骤S5。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510058710.4A CN104660592B (zh) | 2015-02-04 | 2015-02-04 | 一种基于安全套接层协议特征的负载分发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510058710.4A CN104660592B (zh) | 2015-02-04 | 2015-02-04 | 一种基于安全套接层协议特征的负载分发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104660592A CN104660592A (zh) | 2015-05-27 |
CN104660592B true CN104660592B (zh) | 2018-02-02 |
Family
ID=53251295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510058710.4A Active CN104660592B (zh) | 2015-02-04 | 2015-02-04 | 一种基于安全套接层协议特征的负载分发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104660592B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105577657B (zh) * | 2015-12-18 | 2017-10-24 | 北京海泰方圆科技股份有限公司 | 一种ssl/tls算法套件的扩展方法 |
CN106487706A (zh) * | 2016-09-28 | 2017-03-08 | 苏州迈科网络安全技术股份有限公司 | 基于TCP协议的设备功能许可的license认证方法及认证平台 |
CN106411963B (zh) * | 2016-12-16 | 2019-06-25 | 北京元心科技有限公司 | 即时通讯消息的传输方法及装置 |
CN108833541A (zh) * | 2018-06-15 | 2018-11-16 | 北京奇安信科技有限公司 | 一种识别终端信息的方法及装置 |
CN111988319B (zh) * | 2020-08-21 | 2023-05-26 | 杭州迪普科技股份有限公司 | 访问控制方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1976298A (zh) * | 2005-11-29 | 2007-06-06 | 国际商业机器公司 | 负载均衡系统及其使用方法 |
US7406524B2 (en) * | 2001-07-26 | 2008-07-29 | Avaya Communication Isael Ltd. | Secret session supporting load balancer |
CN101247350A (zh) * | 2008-03-13 | 2008-08-20 | 华耀环宇科技(北京)有限公司 | 一种基于ssl数字证书的网络负载均衡方法 |
CN101296228A (zh) * | 2008-06-19 | 2008-10-29 | 上海交通大学 | 基于流量分析的ssl vpn协议检测方法 |
CN101304436A (zh) * | 2008-07-07 | 2008-11-12 | 杭州华三通信技术有限公司 | 实现应用层会话持续性的负载均衡方法、系统及设备 |
CN101562527A (zh) * | 2008-04-18 | 2009-10-21 | 成都市华为赛门铁克科技有限公司 | 一种密码套件的配置方法和装置 |
CN101741644A (zh) * | 2009-12-16 | 2010-06-16 | 成都市华为赛门铁克科技有限公司 | 流量检测方法及装置 |
CN103118027A (zh) * | 2013-02-05 | 2013-05-22 | 中金金融认证中心有限公司 | 基于国密算法建立tls通道的方法 |
-
2015
- 2015-02-04 CN CN201510058710.4A patent/CN104660592B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7406524B2 (en) * | 2001-07-26 | 2008-07-29 | Avaya Communication Isael Ltd. | Secret session supporting load balancer |
CN1976298A (zh) * | 2005-11-29 | 2007-06-06 | 国际商业机器公司 | 负载均衡系统及其使用方法 |
CN101247350A (zh) * | 2008-03-13 | 2008-08-20 | 华耀环宇科技(北京)有限公司 | 一种基于ssl数字证书的网络负载均衡方法 |
CN101562527A (zh) * | 2008-04-18 | 2009-10-21 | 成都市华为赛门铁克科技有限公司 | 一种密码套件的配置方法和装置 |
CN101296228A (zh) * | 2008-06-19 | 2008-10-29 | 上海交通大学 | 基于流量分析的ssl vpn协议检测方法 |
CN101304436A (zh) * | 2008-07-07 | 2008-11-12 | 杭州华三通信技术有限公司 | 实现应用层会话持续性的负载均衡方法、系统及设备 |
CN101741644A (zh) * | 2009-12-16 | 2010-06-16 | 成都市华为赛门铁克科技有限公司 | 流量检测方法及装置 |
CN103118027A (zh) * | 2013-02-05 | 2013-05-22 | 中金金融认证中心有限公司 | 基于国密算法建立tls通道的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104660592A (zh) | 2015-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104660592B (zh) | 一种基于安全套接层协议特征的负载分发方法 | |
US20220407948A1 (en) | Load Balancing and Session Persistence in Packet Networks | |
EP3603001B1 (en) | Hardware-accelerated payload filtering in secure communication | |
US9843630B2 (en) | System and method for distributed load balancing with load balancer clients for hosts | |
CN104272674B (zh) | 多隧道虚拟专用网络 | |
CN103873320B (zh) | 加密流量识别方法及装置 | |
CN105471964B (zh) | 用于数据推送的方法、服务器、客户端以及系统 | |
US7996886B1 (en) | Method and system for providing persistence in a secure network access | |
CN104322001B (zh) | 使用服务名称识别的传输层安全流量控制 | |
JP6858749B2 (ja) | 負荷平衡システムにおいて接続を確立するデバイス及び方法 | |
US20140359698A1 (en) | System and method for distributed load balancing with distributed direct server return | |
US20160241528A1 (en) | Multi-stage acceleration system and method | |
EP2194671A2 (en) | Efficient key derivation for end-to-end network security with traffic visibility | |
Pit-Claudel et al. | Stateless load-aware load balancing in p4 | |
US20070124477A1 (en) | Load Balancing System | |
CN103457803B (zh) | 一种点对点流量识别装置和方法 | |
CN108667933A (zh) | 连接建立方法、连接建立装置及通信系统 | |
CN107646187A (zh) | 应用标识高速缓存 | |
CN107231269A (zh) | 一种集群精确限速方法和装置 | |
US20140310429A1 (en) | Server-side http translator | |
Beckett et al. | Http/2 tsunami: Investigating http/2 proxy amplification ddos attacks | |
CN106936796B (zh) | 一种基于sni的服务器负载均衡方法及设备 | |
CN107342946A (zh) | 一种基于自协商的通信方法及终端 | |
CN106716974A (zh) | 访问分发方法、装置及系统 | |
US20080244268A1 (en) | End-to-end network security with traffic visibility |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100093 Haidian District, Haidian District, Beijing, No. 23, No. 2, No. 1001 Applicant after: Beijing Xin'an century Polytron Technologies Inc Address before: 100089 Beijing city Haidian District Bei wa Lu Xi Li No. 21 block A No. 8246 Applicant before: Beijing Infosec Technologies Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |