用于在网络环境中的传输层安全会话票证的创新管理的系统和方法

文档序号:7791020阅读:362来源:国知局
用于在网络环境中的传输层安全会话票证的创新管理的系统和方法
【专利摘要】示例方法包括识别在客户端和服务器之间的传输层安全(TLS)会话,解析一个或多个TLS消息以识别与会话相关联的会话票证,将会话票证转换成固定尺寸的会话令牌,以及使用会话令牌来管理会话以识别会话。转换可包括使用散列算法计算会话票证的散列值。如果TLS消息中的任一个跨多于一个TLS协议记录散布,则该方法可包括使用散列算法计算在TLS协议记录中遇到的会话票证的一部分的散列值,根据之前计算的散列值递增地计算在随后的TLS协议记录中遇到的会话票证的另一部分的另一散列值,以及重复递增计算直到会话票证的各部分被处理。
【专利说明】用于在网络环境中的传输层安全会话票证的创新管理的系 统和方法

【技术领域】
[0001] 本公开通常涉及网络安全的领域,且更具体地涉及用于在网络环境中的传输层安 全会话票证的创新管理的系统和方法。

【背景技术】
[0002] 私有和公共、物理和虚拟网络的激增导致对信息的空前访问,而同时增加了来自 各种威胁(包括恶意软件、零日攻击、僵尸网络、拒绝服务企图、以及先进针对性攻击)的对 网络的未授权访问的风险。而且,因为企业合并数据中心、采用云服务、并虚拟化关键基础 设施,它们越来越多地寻找跨物理和虚拟基础设施以统一安全管理的方法,例如通过提供 针对多种网络攻击的实时威胁预防的综合网络安全解决方案。

【专利附图】

【附图说明】
[0003] 为了提供对本公开及其特征和优点的更完全的理解,以下的描述中结合附图给出 参考,其中相似的参考数字表示相似的部分,其中:
[0004] 图1是用于网络环境中的传输层安全(TLS)会话票证的创新管理的通信系统的一 个实施例的简化图;
[0005] 图2是示出TLS消息的示例交换的简化流程图;
[0006] 图3是示出示例TLS会话票证的简化图;
[0007] 图4是根据通信系统的实施例的示出细节的简化方框图;以及
[0008] 图5是根据本公开的示出可与通信系统的实施例相关联的一组示例活动的简化 流程图。 具体实施例
[0009] 概沭
[0010] 示例方法包括识别在客户端和服务器之间的传输层安全(TLS)会话,以及解析一 个或多个TLS消息以识别与会话相关联的会话票证。术语"解析"在这个意义上包括任何 类型的评估、判定、处理、分割、分析等。该方法还包括将会话票证转换(例如改变、修改、变 换、计算等)成固定(例如小的)尺寸会话令牌,以及使用会话令牌来管理会话以识别会 话。在一些实施例中,会话票证在尺寸上范围从32字节到64千字节。
[0011] 在特定的实施例中,转换可包括使用散列算法计算会话票证的散列值并将散列值 指派给会话令牌。如果TLS消息中的任一个跨多于一个TLS协议记录散布,则该方法包括 使用散列算法计算在第一 TLS协议记录中遇到的会话票证的一部分的散列值,根据之前计 算出的散列值递增地计算在随后的TLS协议记录中遇到的会话票证的另一部分的散列值, 以及重复递增计算直到会话票证的各部分已被处理。在特定的实施例中,散列算法可选自 包括下列项的组:GOST、MD5、SHA-1、SHA-256、RIPEMD-160、以及 WHIRLPOOL。
[0012] 在其它实施例中,管理会话可包括选自包括下列活动的组的至少一个活动:将会 话令牌分配给一个或多个处理元件;使用会话令牌将TLS会话映射到之前的TLS会话;以 及执行网络安全操作以探测对由会话令牌和其它特征识别出的TLS会话的网络攻击。
[0013] 示例实施例
[0014] 转到图1,图1是根据本公开的实施例的用于网络环境中的传输层安全(TLS)会话 票证的创新管理的通信系统10的简化方框图。图1的架构可包括在TLS会话中与一个或 多个服务器14通信的一个或多个客户端12。传感器16横跨TLS通信会话,并监控在客户 端12和服务器14之间的网络流量以找到任何网络攻击。服务器14可将特定TLS会话的 会话状态封装到会话票证18中,并将它转发到客户端12。客户端12可随后使用会话票证 18继续会话。根据TLS标准,会话票证18可具有范围从32字节到64千字节的可变尺寸。 为了通过传感器16容易管理TLS会话,与传感器16相关联的转换器20可促进将会话票证 18从可变尺寸转换到小固定尺寸的令牌。
[0015] TLS是提供在互联网上的通信安全的加密协议。TLS使用用于密钥交换的非对称 加密、对私密性的对称加密、和消息完整性的消息认证代码,对在传输层之上(例如应用 层、表示层、会话层)的网络连接的分段加密。TLS协议允许客户端-服务器应用以被设计 成防止窃听和篡改的方式跨网络通信。每一方(例如客户端12、服务器14、以及传感器16) 为每个会话保存会话信息(例如会话票证18、同级设备的X. 503证书、压缩方法、密码规范、 主秘密等)和连接信息(例如,用于加密的服务器和客户端密钥、密码的初始化向量等),直 到会话被终止。
[0016] 例如,假设客户端12和服务器14已决定使用TLS协议用于通信会话。客户端12 和服务器14通过使用握手过程来协商状态连接。会话票证18可由服务器14在握手期间 创建并被发送到客户端12。会话票证18可用于使用一组相关联的主秘密、加密算法等来识 别特定的TLS会话。如果会话由于任何原因被中断,则客户端12可向服务器14呈现会话 票证18以继续会话。会话票证18可被认证并加密以防止由攻击者修改或窃听。
[0017] 会话票证18在不透明结构(例如对客户端12不透明)中用于携带会话特定状 态信息。例如,会话票证18允许:(i)客户端12给服务器14提供它正联系的服务器的名 称(例如为了促进安全连接到在单个基础网络地址处作为多个虚拟服务器的主机的服务 器);(ii)客户端12和服务器14协商待发送的最大分片长度(例如为了符合在一些客户 端当中的存储器约束和在一些接入网络当中的带宽约束);以及(iii)在客户端12和服务 器14之间交换与特定的TLS会话有关的其它信息。当传感器16处理TLS通信会话以寻找 网络侵入时,它可在其存储器元件中分派数据结构,所述存储器元件大到足以保存64千字 节,因为特定会话的会话票证的尺寸不是提前已知的,且可能是可变的。
[0018] 根据各种实施例,传感器16可以是为了探测和防止网络侵入、网络滥用、以及分 布式拒绝服务(DoS)攻击连同其它网络威胁而构建的内容处理器具。传感器16如由网络 管理员配置的可提供实时流量监控以探测恶意活动并对恶意活动做出响应。例如,传感器 16可分析在选定网络分段上的流量并在探测到攻击时做出响应。在各种实现中,传感器16 可检查网络分组的报头和数据部分,寻找在网络流量中指示恶意活动的模式和行为。传感 器16可根据用户配置的规则来检查分组。如果探测到攻击,则传感器16可根据它的所配 置的规则做出响应(例如产生警报和分组日志、重置TCP连接、清除恶意分组等)。在各种 实施例中,传感器16可通过提供网络分组内容检查并抵御被防火墙可能感知为看似良性 的网络流量内嵌入的攻击,来补充在企业中部署的防火墙和反病毒软件。
[0019] 在特定的实施例中,传感器16可向其基本协议元件分析并验证网络流量(例如在 客户端12和服务器14之间),并检查特定的协议字段,同时维持完全流和应用状态。传感 器16可执行IP分片重新组合和传输控制协议(TCP)流重新组合,并执行彻底的协议分析。 一旦分组被捕获,分组就可被分析成其相应的协议字段。在传感器16分析协议之后,它证 实分组符合协议规范,并接着通过其引擎传递所解析的分组以探测各种类型的网络攻击。 "网络攻击"是以阻碍、损坏、无效化、或破坏网络的安全为意图所采取的任何未授权行动。 网络攻击可以是主动的,其中目标是直接利用在设备或软件封装中的某种漏洞。网络攻击 也可以是被动的,通常包括以观看或捕获敏感数据为意图的对流量的监控或窃听。
[0020] 在各种实施例中,多个客户端12可通过传感器16参加与一个或多个服务器14的 TLS会话。传感器16可根据相应的所有者基于每个流的会话票证来分开各种网络流,并对 每个这样的流执行分析。例如,传感器16可通过其相应的会话票证来识别每个流。因为 相应的会话票证的尺寸对于每个流是可变的,传感器16可为每个流分派64千字节的存储 器,从而将约束置于传感器16内的存储资源和附属网络器具(例如管理器器具、路由器等) 上。指派大的数据结构以识别特定的TLS会话也可增加中央处理单元(CPU)对查找表的 利用率,其中长会话票证可与为处理协议的每个新连接或中间器具存储的其它会话票证匹 配。
[0021] 为了减轻这样的忧虑(除了别的以外),传感器16中的转换器20可通过应用一般 或专用算法将会话票证18转换成独特的小固定尺寸的令牌,例如32字节。小固定尺寸的 令牌可帮助优化在传感器16内的以每连接为基础的资源的分派,例如解析、存储、分配(例 如到多核心系统中的处理元件)、CPU利用等,因而有助于传感器16和相关联部件例如服务 器具、路由器、交换机等的总体性能和比例调整。
[0022] 转换器20是可在传感器16上或在其它网络元件上实现以促进本文讨论的活动的 应用(例如计算机程序)。转换器20可与传感器16和/或其它网络元件和相关联的系统 软件绑定,或它可被单独地公布。如在本文使用的,术语"网络元件"意指包括计算机、网络 器具、服务器、路由器、交换机、网关、桥、负载均衡器、防火墙、处理器、模块、或可操作用来 在网络环境中交换信息的任何其它合适的设备、部件、元件、或对象。而且,网络元件可包括 促进其中操作的任何适当的硬件、软件、部件、模块、接口、或对象。这可包括允许数据或信 息的有效交换的适当的算法和通信协议。
[0023] 图1的元件可通过使用任何合适连接(有线或无线)的一个或多个接口耦合到彼 此,该连接提供电子通信的可行通路。此外,图1的这些元件中的任一个或多个可基于特定 的配置需要而被组合或从架构移除。通信系统10可包括能够进行传输控制协议/互联网 协议(TCP/IP)通信的配置,用于网络中的分组的电子传输或接收。通信系统10也可在适 当的场合并基于特定的需要,结合用户数据报协议/IP(UDP/IP)或任何其它合适的协议来 操作。
[0024] 转到图1的基础设施,传感器16被示为在客户端12和服务器14之间的联机模式 中,在客户端12和服务器14之间传达流量流,并在恶意分组到达其预期目标之前基于粒度 规则丢弃恶意分组。在各种实施例中,传感器16可部署在端口群集中,使在单个设备(例 如路由器或交换机)上的多个端口所监控的流量能够聚集到一个流量流中用于状态检查 分析。在其它实施例中,通信系统10可使用冗余传感器支持高可用性部署,避免单点故障。 也可在交换机端口分析器(SPAN)和跟踪分析(tap)模式中使用传感器16。在SPAN模式 中,传感器16可监控在多个交换机上的集线器或SPAN端口,并可注入几个响应行动,例如 TCP重置,以通过监控端口本身来终止恶意连接。在跟踪分析模式中,全双工监控可允许网 络流量的方向敏感视图,实现流量的状态分析。在网络具有穿过两个不同传感器接口的两 个不同活动路径的实施例中,在每个路径上的流量可被独立地分析。
[0025] 传感器16可设置在处理TLS协议的任何设备(包括服务器、负载均衡器、SSL/TLS 终端器具、代理、网络缓存引擎、解密引擎、侵入防止系统、防火墙、或其它安全器具)上,或 形成这些设备的整体部分,或与这些设备相关联。转换器20可在使用如网页浏览器等的 TLS的任何应用上实现。在客户端12和服务器14之间的每个网络连接可由多于一个传感 器16处理。而且,多个传感器可部署在每个网络中,且每个传感器可设置有转换器20。
[0026] 在图1中未示出的是可与传感器16相关联的部件,例如管理器硬件/控制器、路 由器、交换机、以及其它网络元件。例如,与传感器16相关联的管理器平台可包括作为管理 器平台软件的主机的专用服务器,用来配置/控制传感器16的操作。管理器平台可允许从 企业网内远程访问传感器16。通信系统10还可包括可与传感器16通信的数据库(例如用 于存储持久配置信息、规则、漏洞、会话票证表等)。与传感器16相关联的各种部件可提供 收集并分析来自主机和应用的流量以探测蠕虫、僵尸网络等。
[0027] 如在本文使用的,术语"客户端"和"服务器"包括执行与客户端/服务器分布式 计算机联网架构相关联的功能的应用(例如网页浏览器)和设备(例如计算机、膝上型计 算机、移动电话、移动计算设备、大型计算机等)。客户端(例如12) -般在网络上从服务 器(例如14)例如通过发送消息来请求并接收信息。服务器(例如14)可通过作用于每个 请求并返回结果来响应它们的客户端。一个服务器(例如14)通常支持多个客户端(例如 12),且多个服务器可在池中联网在一起,以当客户端的数量增长时处理增加的处理负荷。 在一些情况下,设备(其对一个应用来说是服务器)可同时针对不同应用作为其它服务器 的客户端。
[0028] 通信系统10的网络提供在图1的任何部件之间的通信接口,且可以是任何局域网 (LAN)、无线局域网(WLAN)、城域网(MAN)、广域网(WAN)、虚拟专用网(VPN)、内联网、或在网 络环境中促进通信的任何其它适当的架构或系统。在本公开的特定实施例中,网络可实现 UDP/IP连接并使用TCP/IP通信语言协议。然而,网络可以替代地实现用于在通信系统10 内传输并接收数据分组的任何其它合适的通信协议。
[0029] 为了说明通信系统10的某些示例技术的目的,理解可遍历网络的通信很重要。下 面的基本信息可被视为基础,可根据该基础正确地解释本公开。这样的信息仅为了解释的 目的而被认真地提供,且因此不应被解释为以任何方式限制本公开及其潜在的应用的宽泛 范围。
[0030] TLS协议的目标是提供两个通信应用之间的私密性和数据完整性。协议由两层组 成:作为较下层的TLS记录协议和作为较上层的TLS握手协议。TLS记录协议(其在一些 可靠的传输协议例如TCP之上被分层)提供具有两个属性的连接安全性:(i)连接是私有 的;以及(ii)连接是可靠的。为了确保连接的私密性,对称加密被用于数据加密。用于这 个对称加密的密钥针对每个连接唯一地产生,并基于由另一协议(例如TLS握手协议)协 商的秘密。TLS记录协议也可在没有加密的情况下使用。
[0031] 消息传输包括使用有密钥的消息认证代码(MAC)的消息完整性检查。安全散列函 数(例如SHA-1等)用于MAC计算。TLS记录协议是分层协议。在每层,消息可包括长度、 描述、以及内容的字段。TLS记录协议携带待传输的消息,将数据分片成可管理的块,可选地 压缩数据,应用MAC,加密,并传输结果。所接收的数据被解密、验证、解压缩、重新组合、并接 着传递到更高级客户端。
[0032] TLS记录协议用于封装允许服务器和客户端认证彼此并在应用协议传输或接收 其第一字节的数据之前协商加密算法和加密密钥的各种较高级协议,例如TLS握手协议。 TLS握手协议提供具有三个特性的连接安全性:(i)同级设备的身份可使用非对称或公共 密钥、加密方法来认证;(ii)共享秘密的协商是安全的(例如,所协商的秘密是窃听者不 可得到的,且对于任何所认证的连接,秘密甚至不能由可将自己置于连接的中间的攻击者 得到);以及(iii)协商是可靠的(例如,没有攻击者可修改协商通信,而不由通信方探测 到)。
[0033] 转到图2,图2是示出在支持会话票证的实现中的TLS握手协议的简化流程图。 图2所示的示例协议是根据TLS标准,例如由Internet Engineering Task Force (IETF) standards track 提出的 Request for Comments (RFC) 4507。使用 TLS 协议的通信通过 TLS 消息方式而出现,TLS消息建立一组协商的安全算法。TLS协议以协议记录的形式交换消 息,协议记录封装待交换的数据。每个协议记录可被压缩、填补、附加有MAC、或加密等,取决 于连接的状态。每个记录可包括规定记录的内容类型字段、长度字段、和TLS版本字段。单 个TLS记录可在长度上多达16384个八位字节,但TLS消息可跨越多个TLS记录。在很多 实现中最大可接受的消息长度的合理选择可以是64KB。
[0034] 例如,客户端12可指示它通过将会话票证扩展部分包括在ClientHello消息30 中来支持用于会话票证18的机制。如果客户端12不是已经拥有服务器14的会话票证(例 如在新连接中),则扩展部分可以是空的。如果客户端12拥有它想使用来继续会话的会话 票证,则它可将会话票证包括在ClientHello消息30中的会话票证扩展部分中。服务器14 可使用ServerHello消息32中的空会话票证扩展部分做出响应以指示它将之后发送新的 会话票证。
[0035] 在某些情况下,服务器14使用ServerHello消息32发送ServerKeyExchange消 息,包括建立共享秘密所需的额外信息(例如用于RSA导出密钥交换的512位导出等级RSA 密钥)。如果服务器14希望客户端12认证自己,则它也发送列出可接受的证书类型和客户 端的证书链的证书授予机构名称的CertificateRequest消息。
[0036] 如果服务器14请求客户端认证,则客户端12使用以下内容来开始其响应消息34 : 包括其证书链的证书消息、ClientKeyExchange消息(包括判定共享秘密所必需的任何信 息)、和包括到那一点在握手消息的摘要上的其签名的CertificateVerify消息。客户端12 还发送ChangeCipherSpec消息,用信号通知它的交换机最新协商的参数和秘密密钥。在安 全参数被约定之后,改变密码规范消息在握手期间被发送。客户端12最后发送包括握手消 息的摘要的加密和压缩已完成消息。
[0037] 服务器14也反过来发送ChangeCipherSpec消息和包括握手消息的摘要的已完成 消息(直到客户端的已完成消息)。服务器14可将其会话状态(例如密码系列和主秘密) 存储到票证,其由仅服务器14已知的密钥加密和保护完整性。票证使用NewSessionTicket 消息36被分配到客户端,消息36包括在用于创建并验证已完成消息的散列中。客户端12 缓存这个票证连同主秘密和与当前会话相关联的其它参数。当客户端12希望继续会话时, 它包括在ClientHello消息30内的会话票证扩展部分中的票证。服务器14接着对所接 收的票证解密,验证票证的有效性,从票证的内容取回会话状态,并使用这个状态来继续会 话。应用数据38可随后被加密并在客户端12和服务器14之间交换。
[0038] 转到图3,图3是示例会话票证18的简化图。会话票证18可以对客户端12是不 透明的,所以结构不受互操作性忧虑影响,且实现可脱离这个格式。图3所示的示例结构是 根据TLS标准,例如RFC5077。会话票证18可包括密钥名称,其可识别用于保护会话票证 18的一组特定的密钥。密钥使服务器14能够容易识别它发出的票证。在一个实现中,密钥 名称可随机地产生。
[0039] 状态信息40使用高级加密标准(AES)的128位密钥在具有给定的初始化向量 (IV)的密码块链接(CBC)模式加密中被加密。可在key_nam e(16个八位字节)和IV(16 个八位字节)(后面是encrypted_state字段(2个八位字节)及其内容(可变长度)的长 度)上使用散列算法,例如基于散列的消息认证代码-安全散列算法256 (HMAC-SHA-256) 来计算MAC。状态信息40的内容可包括协议版本、密码组、压缩方法、主秘密、客户端身份、 客户端认证类型等。各种实现可存储不同的信息;例如Kerboros认证机制可存储可不同于 图3所示的示例的客户端身份数据。
[0040] 会话票证18可防止在TLS会话中的安全性缺口。例如,如果窃听者得到会话票证 并试图使用票证来建立与服务器的会话,因为票证被加密且攻击者不知道密钥,被盗票证 不帮助攻击者继续会话。在另一示例中,恶意用户可伪造或改变票证以便继续会话、延长其 寿命、假扮为另一用户、或得到额外的特权。然而,如果使用强完整性保护算法,例如有秘钥 的HMAC-SHA1保护票证,则这样的攻击是不可能的。因此,出于各种安全考虑因素,包括在 会话票证中携带的信息的量,会话票证的尺寸是可变的,范围从32字节到64千字节(与固 定长度(32字节)的安全套接层(SSL)会话标识符不同)。
[0041] TLS是用于提供应用安全性的默认标准,并由用于处理安全事务的几个客户端/ 服务器应用全局地广泛地使用。TLS会话票证被定义为克服在以前的SSL/TLS协议中看到 的一些安全问题和限制。实现没有状态的会话继续的TLS会话票证是相对新的且得到牵 引力,用于由支持超文本传输协议安全(HTTPS)的服务器和由各种终端系统应用如网页浏 览器等使用。然而,TLS通常使用用于加密/解密的RSA认证算法,导致在计算上昂贵的过 程。例如,TLS网页服务器相对于在同一平台上运行的常规网页服务器引起相当大的性能 损失。通过重新使用会话票证的会话缓存可帮助加速TLS计算;然而,由于会话票证的大的 可用尺寸,会话缓存将额外的约束置于存储资源、查找表等上。处理TLS协议的任何设备例 如服务器、负载均衡器、SSL/TLS终端应用、代理、网络缓存引擎、解密引擎、防火墙、或任何 安全器具和应用如网页浏览器等,可能面对资源约束,例如每连接的存储器、分布和CPU周 期。这可影响总体处理能力(例如性能、带宽等),导致减小的可扩展性。
[0042] 根据各种实施例的通信系统10可在提供在网络环境中的TLS会话票证的创新管 理中克服这些问题(和其它问题)。转到图4,图4是示出通信系统10的细节的简化方框 图。会话票证18可由转换器20处理成可具有小固定尺寸(例如32字节或20字节等)的 会话令牌50。转换器20中的解析器52检查在客户端12和服务器14之间的连接是否是 SSL或TLS。对于TLS连接,解析器52从消息(例如ClientHello消息30、ServerHello消 息32、NewSessionTicket消息36等)识别会话票证18。
[0043] 散列54可将可变的会话票证数据馈送到散列算法以产生会话令牌50。散列算法 可在硬件例如处理器56和存储器元件58上实现。散列算法可实质上是任何加密散列算法, 包括以下各项之一:G0ST、MD5、SHA-1、SHA-256、RIPEMD-160、以及WHIRLP00L。会话令牌50 的尺寸可随着所使用的特定散列算法而改变。例如,专用散列算法可将尺寸64千字节的会 话票证18转换成尺寸32字节的会话令牌50 ;MD5可产生尺寸16字节的会话令牌50 ;SHA-1 算法可产生20字节的会话令牌50 ;G0ST可产生32字节的会话令牌50 ;WHIRLP00L可产生 64字节的会话令牌50。
[0044] 在一个示例中,MD5可将可变长度会话票证18处理成固定长度会话令牌50 (例如 具有16字节)。在一些实现中,会话票证18可分片成512位块的大块;会话票证18可被填 补,使得它的长度可被512整除。填补可通过将单个位1附加到会话票证18的末尾来实现, 后面是按要求多的零,使消息的长度一直加到少于512的倍数的64位。其余位用64位小 端字节整数来填补,其中64位小端字节整数代表以位形式的原始消息(例如会话票证18) 的长度。128位(16字节)MD5散列(例如会话令牌50)通常被表示为32个十六进制数字 的序列。
[0045] 在一些实施例中,会话票证18 (最大尺寸64千字节)可跨几个TLS协议记录分割 /分片。这可出现在例如当NewSessionTicket消息36跨越多个协议记录时。在一些这样 的实施例中,递增散列可在各种协议记录(例如通过状态的方式被跟踪)上被计算成会话 令牌50。例如,可对在第一个遇到的TLS协议记录中的会话票证的一部分计算散列μ。可 使用合适的递增散列方法对来自旧有散列μ的下一协议记录计算新散列μ*。该过程可继 续,直到包含会话票证18的部分的所有TLS协议记录被处理。作为结果的散列值可被分配 到会话令牌50。
[0046] 在另一实施例中,可对会话票证的一部分解析每个TLS协议记录,并可将会话票 证的该部分存储在分片中。分片可聚集以产生包含在会话票证18中的信息。因为会话票证 18减小到固定尺寸的会话令牌50 (例如具有32字节),它可配合在一个缓存行中,且因此 比较可以更快,从而减小在这样的票证的分布和存储中的复杂性。用于将可变尺寸会话票 证18转换成固定尺寸会话令牌50的各种其它散列方法可在本公开的宽泛的范围内实现。
[0047] 可使用会话令牌50来代替会话票证18以管理在传感器16和相关联部件内的会 话。在一个实施例中,在会话令牌50产生之后,会话票证18可由传感器16丢弃。在另一 实施例中,会话票证18可被存储而不被丢弃。根据各种实施例,会话令牌50可由分配器60 使用来例如将其中信息分配到各种处理核心以执行与传感器16相关联的功能。会话令牌 50可由映射器62使用来例如使其中的信息与包含在会话票证表64中的信息匹配。会话票 证表64可包括与状态有关的信息和由传感器16处理的每个网络流的其它参数。
[0048] 传感器16可处理在由相应的会话令牌50识别的每个网络流中的分组。在一些实 施例中,传感器16可使用在会话票证18中提供的信息解密TSL流量,并被存储为会话令牌 50。一旦被解密,传感器16就可检查流量寻找侵入。例如,可以检查到来的分组以寻找匹 配已知的攻击签名的串。结论可被总结并连同由会话令牌50表示的网络流标识符一起被 发送到适当的响应模块。适当的规则和响应可在由会话令牌50识别的网络流上实现。
[0049] 在各种实施例中,协议版本和会话票证18的存在或不存在可被维持在每连接状 态变量中。TLS协议记录可单独地被解析以得到尺寸和其它会话票证数据。TLS协议记录 可包含管理下列功能中的一个或多个的信息:(i)将外发消息划分成可管理的块,并重新 组合到来的消息;(ii)压缩外发块并对到来的块解压缩;(iii)将MAC应用于外发消息,并 使用MAC验证到来的消息;以及(iv)对外发消息加密并对到来的消息解密。
[0050] 转到图5,图5是示出可与通信系统10的实施例相关联的示例操作的简化流程图。 操作100在102处开始,此时客户端12发起与服务器14的TLS会话。在104,解析器52可 解析协议交换消息以识别会话是否是TLS会话或SSL会话。在106,做出关于会话是否是 TLS会话的判定。如果会话是SSL会话,则操作在108结束。否则,如果会话是TLS会话,则 可在110识别会话票证18。协议版本,以及会话票证18的存在/不存在,可在112被维持 在状态变量中。在114, TLS协议记录可被解析以判定包含在会话票证18中的数据。在一 些情况下,所有数据可存在于包括会话票证18的一个数据分组中。在其它情况下,数据可 跨几个数据分组散布,取决于分组长度的尺寸。
[0051] 在116,会话票证数据可被馈送到散列54用于使用合适的散列算法来处理。在 118,可以产生会话令牌50。在120,会话令牌50(而不是会话票证18)可用于通过传感器 16管理会话。例如,传感器16可将会话令牌50分配到多个处理元件;使用会话令牌50将 会话映射到以前的会话;执行网络安全操作以探测对由会话令牌50识别的会话的网络攻 击;以及使用会话令牌50按需要执行其它操作以识别特定的会话。例如当会话被终止时, 操作在122结束。
[0052] 虽然通信系统10在本文被描述为促进转换在TLS会话中的会话票证18,可注意 至IJ,本文描述的系统和操作然而可通常应用于将SSL或TSL协议所特有的任何其它大或可 变尺寸数据结构转换成小固定尺寸的令牌,用以节省CPU带宽、管理、增强的性能折衷和按 比例调整。例如,整个SSL/TLS证书或证书的部分,例如公共密钥可转换成相应的小固定尺 寸的令牌。
[0053] 在示例实施例中,在本文概述的活动的至少一些部分可在例如传感器16中(或客 户端12或服务器14中)设置的非暂时性逻辑(即,软件)中实现。这可包括设置在网络 的各个位置上的转换器20 (例如包括解析器52和/或散列54)的一个或多个实例。在一 些实施例中,这些特征中的一个或多个可以以硬件实现、在这些元件外部提供、或以任何适 当的方式合并,以实现预期的功能。传感器16、客户端12、和/或服务器14可包括可协调 以便实现如本文概述的操作的软件(或往复式软件)。在又一些其它实施例中,这些元件可 包括促进其中操作的任何合适的算法、硬件、软件、部件、模块、接口、或对象。
[0054] 此外,在本文描述和显示的通信系统10的部件还可包括用于在网络环境中接收、 传输、和/或另外通信数据或信息的合适接口。此外,与各种网络元件相关联的处理器和存 储器中的一些可被移除或者另外合并,使得单个处理器和单个存储器位置负责某些活动。 在通常意义上,在附图中描绘的布置可能在它们的表示中是符合逻辑的,而物理架构可包 括这些元件的各种置换、组合和/或混合。必须注意,无数可能的设计配置可用于实现这里 概述的操作目标。因此,相关联的基础设施具有无数替代布置、设计选择、设备可能性、硬件 配置、软件实现、设备选项等。
[0055] 在一些示例实施例中,一个或多个存储器(例如存储器元件58)可存储用于本文 描述的操作的数据。这包括存储器能够存储被执行来实现在这个说明书中描述的活动的指 令(例如软件、逻辑、代码等)。处理器可执行与数据相关联的任何类型的指令以实现在这 个说明书中在这里描述的操作。在一个不例中,一个或多个处理器(例如处理器56)可将 元件或物品(例如数据)从一种状态或事物转换成另一状态或事物。在另一示例中,在本 文中概述的活动可使用固定逻辑或可编程逻辑(例如由处理器执行的软件/计算机指令) 来实现,且在本文标识的元件可以是某种类型的可编程处理器、可编程数字逻辑(例如现 场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器 (EEPR0M))、包括数字逻辑、软件、代码、电子指令的ASIC、闪存、光盘、⑶-ROM、DVDR0M、磁卡 或光卡、适合于存储电子指令的其它类型的机器可读介质、或其中任何合适的组合。
[0056] 这些设备可在适当时和基于特定的需要进一步将信息保存在任何合适类型的存 储器元件(例如随机存取存储器(RAM)、只读存储器(ROM)、现场可编程门阵列(FPGA)、可擦 除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPR0M)等)、软件、硬件中,或 在任何其它合适的部件、设备、元件、或对象中。可基于特定的需要和实现,在任何数据库、 寄存器、表、缓存、队列、控制列表、或存储结构中提供被跟踪、发送、接收、或存储在通信系 统10中的信息,其中所有可在任何合适的时间帧中参考。本文讨论的任何存储器项目应被 解释为包括在宽泛术语"存储器元件"内。类似地,在这个说明书中描述的任何潜在的处理 元件、模块、以及机器应被解释为包括在宽泛的术语"处理器"内。
[0057] 注意,使用本文提供的多个示例,可从两个、三个、四个、或更多个网络元件方面描 述交互作用。然而,这仅为了清楚和示例的目的而完成。应认识到,可以用任何合适的方式 合并系统。连同类似的设计可选方案,附图的所示计算机、模块、部件、以及元件中的任一 个可在各种可能的配置中组合,其所有明确地处于这个说明书的宽泛的范围内。在某些情 况下,可能更容易通过只参考有限数量的网络元件来描述给定的一组流程的一个或多个功 能。应认识到,附图的通信系统10及其教导是可容易扩展的,并可容纳大量部件以及更复 杂和/或精细的布置和配置。因此,所提供的示例不应限制范围或抑制如潜在地应用于无 数其它架构的通信系统10的宽泛教导。
[0058] 注意,在这个说明书中,对包括在" 一个实施例"、"示例实施例"、"实施例"、"另一 实施例"、"一些实施例"、"各种实施例"、"其它实施例"、"替代实施例"等中的各种特征(例 如元件、结构、模块、部件、步骤、操作、特征等)的参考是用来意指任何这样的特征被包括 在本公开的一个或多个实施例中,但可能或可能不一定被组合在相同的实施例中。
[0059] 也重要地注意到,关于前述附图描述的操作和步骤仅仅示出可由系统或在系统内 执行的一些可能的场景。这些操作中的一些在适当的场合可以被删除或移除,或这些步骤 可被明显修改或改变,而不偏离所讨论的概念的范围。此外,这些操作的时序可明显改变且 仍然实现在本公开中教导的结果。为了示例和讨论的目的,提供前述操作流程。系统提供 相当大的灵活性,因为可提供任何合适的布置、按时间排列事件、配置、以及时序机制,而不 偏离所讨论的概念的教导。
[0060] 虽然关于特定的布置和配置详细描述了本公开,这些示例配置和布置可明显改 变,而不偏离本公开的范围。例如,虽然关于涉及某些网络访问和协议的特定通信交换描述 了本公开,通信系统10可应用于其它交换或路由协议(其中分组被交换),以便提供移动性 数据、连接参数、访问管理等。而且,虽然关于促进通信过程的特定的元件和操作示出了通 信系统10,这些元件和操作可由实现通信系统10的预期功能的任何适当的架构或过程代 替。
[0061] 本领域中的技术人员可确定很多其它变化、替代、改变、变更和修改,且意图是本 公开包括所有这样的变化、替代、改变、变更和修改作为落在所附权利要求的范围内。为了 帮助美国专利商标局(USPT0)和此外在本申请上发布的任何专利的任何读者解释附到其 的权利要求, 申请人:希望指出, 申请人::(a)并不打算任何所附权利要求援引美国法典第35 编第112章的第六(6)段,如它在其提交日时存在,除非词"用于…的装置"或"用于…的步 骤"在特定的权利要求中被特别使用;以及(b)不打算通过说明书中的任何陈述,来以在所 附权利要求中没有另外反映的任何方式限制本公开。
【权利要求】
1. 一种方法,包括: 识别在客户端和服务器之间的传输层安全(TLS)会话; 解析一个或多个TLS消息以识别与所述TLS会话相关联的会话票证; 将所述会话票证转换成小固定尺寸的会话令牌;以及 使用所述会话令牌来管理所述TLS会话以识别所述TLS会话。
2. 如权利要求1所述的方法,其中所述会话票证在尺寸上范围从32字节到64千字节。
3. 如权利要求1所述的方法,其中转换包括: 使用散列算法计算所述会话票证的散列值;以及 将所述散列值指派给所述会话令牌。
4. 如权利要求3所述的方法,其中所述会话令牌的尺寸取决于所述散列算法。
5. 如权利要求3所述的方法,其中所述散列算法选自包括下列项的组:GOST、MD5、 SHA-1、SHA-256、RIPEMD-160、以及 WHIRLPOOL。
6. 如权利要求1所述的方法,其中管理包括选自包括下列活动的组中的至少一个活 动: 将所述TLS会话令牌分配给一个或多个处理元件; 使用所述会话令牌将所述TLS会话映射到之前的会话;以及 执行网络安全操作以探测对由所述会话令牌识别出的所述TLS会话的网络攻击。
7. 如权利要求1所述的方法,其中如果所述TLS消息中的任一个跨多于一个TLS协议 记录散布,则所述转换包括: 使用散列算法计算在TLS协议记录中遇到的会话票证的一部分的散列值; 根据之前计算出的散列值递增地计算在随后的TLS协议记录中遇到的会话票证的另 一部分的另一散列值; 重复递增计算直到所述会话票证的各部分已被处理;以及 将作为结果的散列值指派给所述会话令牌。
8. -种装置,包括: 存储器元件,其配置成存储指令; 处理器,其能操作来执行所述指令;以及 转换器,其中所述装置被配置用来: 识别在客户端和服务器之间的TLS会话; 解析一个或多个TLS消息以识别与所述TLS会话相关联的会话票证; 将所述会话票证转换成固定尺寸的会话令牌;以及 使用所述会话令牌来管理所述TLS会话以识别所述TLS会话。
9. 如权利要求8所述的装置,其中所述会话票证在尺寸上范围从32字节到64千字节。
10. 如权利要求8所述的装置,其中转换包括: 使用散列算法计算所述会话票证的散列值;以及 将所述散列值指派给所述会话令牌。
11. 如权利要求10所述的装置,其中所述会话令牌的尺寸取决于所述散列算法。
12. 如权利要求10所述的装置,其中所述散列算法选自包括下列项的组:G0ST、MD5、 SHA-1、SHA-256、RIPEMD-160、以及 WHIRLPOOL。
13. 如权利要求8所述的装置,其中管理包括选自包括下列活动的组中的至少一个活 动: 将所述TLS会话令牌分配给一个或多个处理元件; 使用所述会话令牌将TLS会话映射到之前的会话;以及 执行网络安全操作以探测对由所述会话令牌识别出的所述TLS会话的网络攻击。
14. 如权利要求8所述的装置,其中如果所述TLS消息中的任一个跨多于一个TLS协议 记录散布,则所述转换包括: 使用散列算法计算在TLS协议记录中遇到的会话票证的一部分的散列值; 根据之前计算出的散列值递增地计算在随后的TLS协议记录中遇到的会话票证的另 一部分的另一散列值; 重复递增计算直到所述会话票证的各部分已被处理;以及 将作为结果的散列值指派给所述会话令牌。
15. -种在包括用于执行的代码的非暂时性介质中编码的逻辑,所述代码在被处理器 执行时能操作来执行包括以下的操作: 识别在客户端和服务器之间的TLS会话; 解析一个或多个TLS消息以识别与所述TLS会话相关联的会话票证; 将所述会话票证转换成固定尺寸的会话令牌;以及 使用所述会话令牌来管理所述TLS会话以识别所述TLS会话。
16. 如权利要求15所述的逻辑,其中所述会话票证在尺寸上范围从32字节到64千字 节。
17. 如权利要求15所述的逻辑,其中转换包括: 使用散列算法计算所述会话票证的散列值;以及 将所述散列值指派给所述会话令牌。
18. 如权利要求17所述的逻辑,其中所述散列算法选自包括下列项的组:GOST、MD5、 SHA-1、SHA-256、RIPEMD-160、以及 WHIRLPOOL。
19. 如权利要求15所述的逻辑,其中如果所述TLS消息中的任一个跨多于一个TLS协 议记录散布,则转换包括: 使用散列算法计算在TLS协议记录中遇到的会话票证的一部分的散列值; 根据之前计算出的散列值递增地计算在随后的TLS协议记录中遇到的会话票证的另 一部分的另一散列值; 重复递增计算直到所述会话票证的各部分已被处理;以及 将作为结果的散列值指派给所述会话令牌。
20. 如权利要求15所述的逻辑,其中管理包括选自包括下列活动的组中的至少一个活 动: 将所述会话令牌分配给一个或多个处理元件; 使用所述会话令牌将TLS会话映射到之前的TLS会话;以及 执行网络安全操作以探测对由所述会话令牌识别出的所述TLS会话的网络攻击。
【文档编号】H04L9/30GK104067595SQ201380006256
【公开日】2014年9月24日 申请日期:2013年1月25日 优先权日:2012年1月26日
【发明者】S·布鲁加纳哈利, V·维萨姆塞蒂 申请人:迈克菲公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1