基于会话和协议识别https端口数据的方法

文档序号:7821922阅读:752来源:国知局
基于会话和协议识别https端口数据的方法
【专利摘要】基于会话和协议识别HTTPS端口数据的方法。系统捕获HTTPS端口的数据包,并根据IP地址和端口建立会话连接表。当数据包到达检测系统时:1、系统检查维护会话连接表,如果没有记录,则增加记录;如果是RST、FIN数据包或者连接超时则从会话连接表中删除记录。2、系统检查数据包内容并判断会话连接是否符合标准SSL/TLS协议(是否为SSL/TLSRecordProtocol格式,是否通过SSL/TLSHandshakeProtocol建立连接);如果符合则标记该会话为HTTPS协议数据,否则标记为非HTTPS协议数据。使用本发明可以识别HTTPS协议数据和非HTTPS协议数据并对其实行差别服务,或阻止非HTTPS协议数据穿透HTTPS端口。
【专利说明】基于会话和协议识别HTTPS端口数据的方法

【技术领域】
[0001] 本发明属计算机网络【技术领域】,是一种区分HTTPS协议数据和非HTTPS协议数据 的方法。

【背景技术】
[0002] 随着互联网技术的发展,如何控制内网用户访问互联网已经成了网络管理的重 点。传统的网络管理以端口来区分各种网络服务,通过开放或关闭某些端口来实现外网访 问的控制。HTTPS协议是HTTP协议和SSL/TLS协议的组合,用以提供加密通讯及对网络服 务器身份的鉴定。HTTPS协议经常被用于网上的交易支付和敏感信息的传输,很多银行网站 或电子邮箱等安全级别较高的服务都会采用HTTPS协议。HTTPS协议默认端口为TCP 443。 鉴于HTTPS端口一般是开放的,各类软件纷纷借用HTTPS端口与外部建立连接。传统防火 墙使用的端口控制方法已经无法应对HTTPS端口穿透技术,未经授权的外网访问严重威胁 着内部网络的安全。


【发明内容】

[0003] 本发明的目的在于提出一种区分HTTPS协议数据和非HTTPS协议数据的方法,使 用本发明可以识别HTTPS协议数据和非HTTPS协议数据并对其实行差别服务,或阻止非 HTTPS协议数据穿透HTTPS端口。
[0004] 为了方便叙述,首先将本发明涉及的常用术语和标记介绍如下: 1. SrcIP、SrcPort、DstIP、DstPort :分别表示源 IP、源端口、目标 IP、目标端口; 2. 会话(Session):客户端与服务器一次连接过程中的所有信息数据; 3. 会话连接表(Session Table):用于保存多个会话的数据表,通常可采用哈希表。
[0005] HTTPS端口数据检测原理: HTTPS (Hypertext Transfer Protocol Secure)是超文本传输协议(HTTP)和 SSL/TLS 的组合。根据RFC 2818 (HTTP Over TLS)的描述,HTTPS协议是建立在SSL/TLS之上的安 全版 HTTP 协议。SSL/TLS 协议分为两层。SSL/TLS 记录协议(SSL/TLS Record Protocol): 它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能 的支持。SSL/TLS握手协议(SSL/TLS Handshake Protocol):它建立在SSL/TLS记录协议 之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密 钥等。
[0006] 由于HTTPS是加密协议,我们无法解密其中传输的数据内容。但HTTPS是SSL/TLS 对HTTP协议的封装,它必须遵守SSL/TLS协议标准。因此我们可以用一种简单的方法来判 断经过HTTPS端口的数据是否为HTTPS协议数据:符合SSL/TLS协议标准的为HTTPS协议 数据,不符合SSL/TLS协议标准的为非HTTPS协议数据。
[0007] 如果是标准HTTPS协议数据,其遵从SSL/TLS协议标准。客户端和服务端的通信 数据均采用SSL/TLS记录协议格式,双方在数据传输开始前必须通过SSL/TLS握手协议建 立连接。
[0008] 非HTTPS协议数据则采用私有协议,其不遵从SSL/TLS协议标准。客户端和服务 端的通信数据不是SSL/TLS记录协议格式,双方在数据传输开始前也没有通过SSL/TLS握 手协议建立连接。
[0009] 根据这些差别,我们可以通过检查一条会话连接是否为SSL/TLS Record Protocol格式、是否通过SSL/TLS Handshake Protocol建立连接,来判断该会话是HTTPS 协议会话还是非HTTPS协议会话。

【专利附图】

【附图说明】
[0010] 图1为本发明系统网络部署方式图。
[0011] 图2为本发明系统会话连接表维护处理流程图。
[0012] 图 3 为 SSL/TLS Record Protocol 格式。
[0013] 图 4 为 SSL/TLS Handshake Protocol 连接过程。
[0014] 图5为本发明系统对客户端数据包检测流程图。
[0015] 图6为本发明系统对服务端数据包检测流程图。

【具体实施方式】
[0016] 下面结合附图对本发明做进一步的详细介绍。
[0017] 系统网络部署方式: 参见图1,本发明系统通常部署在局域网连接互联网的出口网关处,从网络中捕获指定 端口的数据包。该端口 一般为TCP 443,必要时也可以指定或者增加其他端口。
[0018] 会话连接表的维护: 参见图2,系统从网络中捕获到指定端口数据包,从数据包中提取SrcIP、DstIP、 SrcPort、DstPort等信息,与会话连接表中已有的项目进行对比。如果会话连接表中不存 在该会话记录,则新增本次会话信息到会话连接表中。如果已经存在该会话连接记录,则更 新会话最后活动时间。当收到会话结束数据包(TCP RST、TCP FIN)或者会话超时则从会话 连接表中删除本次会话信息。
[0019] 会话协议检测方法: 检测的标准在于判断会话数据格式是否符合SSL/TLS Record Protocol格式,客户端 与服务端会话是否通过SSL/TLS Handshake Protocol建立连接。如果符合即可判断该会 话为HTTPS协议会话,否则为非HTTPS协议会话。
[0020] 参见图3, SSL/TLS Record Protocol格式如图,其结构定义如下:

【权利要求】
1. 基于会话和协议识别HTTPS端口数据的方法,其包含以下步骤: (1) 初始化会话连接表; (2) 捕获HTTPS端口的数据包; (3) 分析数据包中的IP地址和端口信息,维护会话连接表中的会话状态; (4) 分析会话的数据内容,判断数据内容是否符合SSL/TLS Record Protocol格式,如 果符合则标记该会话为HTTPS协议数据,否则标记为非HTTPS协议数据。
2. 根据权利要求1的方法,所述步骤(4)判断会话是否符合SSL/TLS Record Protocol 格式,其特征在于:检查客户端发给服务端的数据流第1个字节是否为handshake (0x16)。
3. 根据权利要求1的方法,所述步骤(4)判断会话是否符合SSL/TLS Record Protocol 格式,其特征在于:检查服务端发给客户端的数据流第1个字节是否为handshake (0x16)。
4. 根据权利要求1的方法,所述步骤(4)判断会话是否符合SSL/TLS Record Protocol 格式,其特征在于:检查客户端发给服务端的数据流第2至3字节是否为SSL/TLS协议已知 版本。
5. 根据权利要求1的方法,所述步骤(4)判断会话是否符合SSL/TLS Record Protocol 格式,其特征在于:检查服务端发给客户端的数据流第2至3字节是否为SSL/TLS协议已知 版本。
6. 根据权利要求1的方法,所述步骤(4)判断会话是否符合SSL/TLS Record Protocol 格式,其特征在于:检查会话是否通过SSL/TLS Handshake Protocol建立连接。
7. 根据权利要求6的方法,所述检查会话是否通过SSL/TLS Handshake Protocol建立 连接,其特征在于:检查客户端发给服务端的数据流第6字节是否为client hello (0x01)。
8. 根据权利要求6的方法,所述检查会话是否通过SSL/TLS Handshake Protocol建立 连接,其特征在于:检查服务端发给客户端的数据流第6字节是否为server hello (0x02)。
【文档编号】H04L29/06GK104394164SQ201410731779
【公开日】2015年3月4日 申请日期:2014年12月6日 优先权日:2014年12月6日
【发明者】金琥 申请人:金琥
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1