提升IPsec性能和防窃听安全性的制作方法

文档序号:7792057阅读:271来源:国知局
提升IPsec性能和防窃听安全性的制作方法
【专利摘要】一种网元(NE),包括:所述网元(NE)包括:存储器设备,用于存储指令;处理器,用于通过将数据流的第一多个数据包划分为第一多个子流,并使所述第一多个子流经由网络传输至第二NE来执行指令,其中所述第一多个子流使用包括多个并行子SA的第一因特网协议安全协议(IPsec)安全联盟(SA)集群进行传输。本发明还包括一种网元(NE),包括处理器,用于使用因特网密钥交换协议(IKE)或IKE版本2(IKEv2)在所述NE和第二NE之间创建包括第一多个子SA的IPsec SA集群,其中所述第一子SA是单向的,以及所述第一子SA用于在同一方向传输第一多个数据包。
【专利说明】提升I Psec性能和防窃听安全性
[0001] 相关申请案的交叉参考
[0002] 本发明要求2012年3月30日由张向阳等人递交的发明名称为"多路径IP层安 全"的第61/618359号美国临时专利申请案的在先申请优先权,其以引用方式并入本文本 中,如全文再现一般。
[0003] 关于由联邦政府赞助的
[0004] 研究或开发的声明
[0005] 不适用。
[0006] 缩微平片附件的引用
[0007] 不适用。

【背景技术】
[0008] 可要求联网设备跨多个网络进行通信。某些设备可能要求这类通信保持安全。经 由安全网络互连的设备可依赖该安全网络中固有的安全措施来为任意跨网络通信提供这 种安全。还可要求这些设备跨不安全的网络进行通信。例如,一台主机可经由互联网和另 一主机、客户端、网络等通信,这可能是部分、不均衡和/或完全不安全的。通信可仅如提供 给发送方和接收方之间任意点通信的最低安全级别那样安全。网络设备可采用各种安全协 议来维持通过不安全网络的通信的安全性。例如,源网络设备可与目标网络设备协商安全 连接和/或通信,只要这两个网络设备都配置为采用相同的安全协议(一个或多个)。


【发明内容】

[0009] 在一项实施例中,本发明包括一种网元(NE),包括:存储器设备,用于存储指令; 处理器,用于通过将数据流的第一多个数据包划分为第一多个子流,并使所述第一多个子 流经由网络传输至第二NE来执行指令,其中所述第一多个子流使用包括多个并行子SA的 第一因特网协议安全协议(IPsec)安全联盟(SA)集群进行传输。
[0010] 在另一项实施例中,本发明包括一种网元(NE),包括处理器,用于使用因特网密钥 交换协议(IKE)或IKE版本2 (IKEv2)在所述NE和第二NE之间创建包括第一多个子SA的 IPsec SA集群,其中所述第一子SA是单向的,以及所述第一子SA用于在同一方向传输第一 多个数据包。
[0011] 在另一项实施例中,本发明包括一种方法,包括建立多个IPsec SA子隧道以及将 所述SA子隧道聚集在一起形成SA集群。
[0012] 结合附图和权利要求书,可从以下的详细描述中更清楚地理解这些和其他特征。

【专利附图】

【附图说明】
[0013] 为了更完整地理解本发明,现在参考以下结合附图和详细描述进行的简要描述, 其中相同参考标号表不相同部分。
[0014] 图1是IPsec安全架构的实施例的示意图。
[0015] 图2是IPsec安全架构的另一实施例的示意图。
[0016] 图3是创建SA集群的方法的实施例的流程图。
[0017] 图4是为数据子流选择子SA的方法的实施例的流程图。
[0018] 图5是经由SA集群接收数据的方法的实施例的流程图。
[0019] 图6是NE的实施例的示意图。

【具体实施方式】
[0020] IPsec是一种安全协议组,包括保护跨越各种网络的互联网协议(IP)通信安全的 安全协议,如互联网工程任务组(IETF)文档请求注解(RFC)4301中所述,该文档以引用的 方式并入。IPsec可保护IP层中的(例如,第三层和/或开放系统互连(0SI)模型的网络 层)通信安全。IPsec可以是保护安全网关之间的数据流(例如,信息)的端到端安全方 案。IPsec可采用单向SA对保护包括数据包的数据流。例如,本地安全网关可采用第一 SA 保护传输到远端安全网关的信息,采用第二SA保护从远端安全网关接收的信息。IPsec还 可允许SA束,该SA束可包括嵌套在SA内的SA)(例如,隧道内的隧道)。IPsec可能限于 采用SA对和/或SA束对。IPsec可以一种连续方式在SA上传输包。另外,可为每个SA指 配唯一的安全参数索引(SPI)。因此,窃听节点可通过监控单个网络节点来接收SA保护的 通过隧道的所有包并可使用SPI关联这些包。如果窃听节点突破了 SA安全措施,该窃听节 点可完全自由访问整个数据流。
[0021] 本文本中公开了增强保护不安全网络上传输的数据流量的一种方法和/或系统。 可通过将数据流分割成多个子流并且并行传输这些子流(例如,经由子隧道和/或传输信 息)来增强对IPsec数据的保护。可为每个子流独立建立子SA。可合并子SA以形成SA集 群。每个子SA可包括唯一的SPI。SA集群的子SA可采用或不采用本地安全网关和远端安 全网关之间不同的网络路径。因此,窃听节点可能不能通过监控沿网络路径的单个节点来 访问所有子流且可能意识不到其他网络路径的存在、数目或路线。由于每个子SA可包括唯 一的SPI,从多个子流获取包的窃听节点还可关联数据包以确定它们和同一个流相关。另 夕卜,子流的并行传输可允许传输效率相比串行传输有所提升。SA集群可在IETF文档draft -zhang-ipsecme-multi-path-ipsec-02中进一步描述,该文档以引用方式并入。
[0022] 该方法和/或系统可通过将数据流量扩展到多个路径上来提升安全服务。例如, 这种扩展可能增加攻击者成功拦截所有包的难度,因为可能使用了不同的路线。即便当使 用相同的路线时,攻击者/窃听者可能难以确定哪个SA集是某特定集群SA的一部分,哪个 可能增加解密拦截到的包的难度。并且,多个路径的选择可提供(例如,链路失败时)增强 的可靠性。多个SA的使用还可为优化的性能和最优网络控制提供额外的选择。这些技术 可提升IPsec提供的安全服务。SA集群可提供在不同包上执行不同密码变换的选择。另 夕卜,SA集群还可提供沿不同路径传输包的选择。
[0023] 图1是IPsec安全架构100的一项实施例的示意图。IPsec安全架构100可包括 主机150和主机151,其可经由安全网关110和112在位于不安全网络130中的路由器120 上进行通信。主机150和151可分别经由安全连接143和144连接到安全网关110和112。 主机150和151可能希望在不安全网络130上通信。安全网关110可(例如,通过使用IKE 和/或IKEv2)为向安全网关112的传输建立单向SA141。类似地,安全网关112可为向安 全网关110的传输建立单向SA142,这可能产生SA对。主机150可通过经由安全连接143 与安全网关110通信来向主机151传输数据,主机150可使用SA141经由路由器120在不 安全的网络130上向安全网关112传输信息。这类信息随后可经由安全连接144路由到主 机151,保证所传输的信息的端到端安全。主机151可以大体相同的方式向主机152传输数 据包,但可能采用SA142而非SA141。
[0024] 主机(例如,主机150和151)可以是经由网络与另一台主机通信的任意设备。例 如,主机150和/或151可包括服务器、客户端终端或其组合。主机150和151可用于出于 分享资源、响应业务请求、应用托管等目的的数据通信。例如,主机150可包括客户端终端, 主机151可包括服务器,且主机151可托管应用并响应来自主机150的应用请求。又如,主 机150和151每个都可包括虚拟机(VM)、存储空间、处理资源等资源,并且可在网络连接上 动态重定位数据、应用等。
[0025] 安全网关(例如,安全网关110和112)可以是位于安全网络边缘的任意NE。安 全网络可包括安全连接,例如安全连接143和144。安全网关110和112可为位于安全网 络内的任意设备和/或遍历安全网络的通信提供安全。安全网关110和112可防止未经授 权访问安全网络(例如,防火墙)并且为离开安全网络的通信实施安全协议。例如,如果主 机150和151每个都位于数据中心,安全网关110和112可位于数据中心网络的边缘,使得 离开安全网络的所有流量都经过网关110和/或112。安全网关110和112可分别从主机 150和151接收数据,并且通过在不安全网络130 (例如,互联网)上创建IPsec SA141和 142来发起通信会话。安全网关110和112可通过使用IKE和/或IKEv2等交换安全密钥 以创建这类SA。
[0026] IPsec SA(例如,SA141和142)可在传输模式或隧道模式下运行。在传输模式下, 数据包的净荷(例如,正被传输的实际数据)可加密,而包括数据包路由信息的数据包的头 则可不加密。在隧道模式下,整个数据包都可加密。SA还可包括数据和/或算法以支持报 文认证头协议(AH)和/或封装安全载荷协议(ESP)操作。AH可提供无连接完整性和数据 流的数据源认证。ESP可提供数据包机密性(例如,封装)、数据源认证、无连接完整性、防 重放业务和流机密性。SA141和142每个都可是单向的。因此,可要求一对SA141和142在 安全网关110和112之间传送数据包。在一项实施例中,SA141和142每个可包括SA束。 SA束可包括两个嵌套的SA(例如,隧道内的隧道)。例如,SA束可在ESP SA内包括AH SA。 IPsec安全架构100可限于为安全网关110和112之间的每个安全通信提供单个SA对和/ 或单个SA对束(例如,SA141和SA142)。每个SA可包括单独的SPI,该SPI可用作SA数 据库(SAD)中的索引且可和SA目标地址结合用于唯一地标识SA以及确定加密密钥和与SA 相关联的协议。
[0027] 路由器120可以是位于不安全网络130中的任意NE或NE组。路由器可从安全网 关110接收数据包并将该数据包转发到安全网关112,反之亦然。路由器120可使用0SI第 二层、第2. 5层和/或第三层技术对包进行路由。路由器120可基于数据包的头做出路由 决策。如果数据包已封装(例如,ESP),则路由器120可基于该封装包的头做出路由决策, 无需了解存储在该数据包头和/或净荷中的数据。路由器120可提供安全网关110和安 全网关112之间的端到端连接。路由器120可分别为SA141和SA142组成单个网络路径。 SA141的网络路径和SA142的网络路径可能是或不是同一条路径。
[0028] IPsec协议组指明了遵循IPsec的系统的基础架构100的一个示例。IPsec协议 组描述了如何(例如,在IP层,在IP版本4 (IPv4)和IP版本6 (IPv6)环境中)为流量提 供一组安全服务。如本文所述,IPsec协议组将SA定义为IPsec的概念。SA(例如,SA141 和142)可定义单工连接,其可向该连接携载的流量提供安全服务。SA可通过使用AH或ESP 提供安全服务,但不可在单个SA中同时使用这两者提供安全服务。AH和ESP可在IETF文 档RFC4302和RFC4303中进一步描述,IETF文档RFC4302和RFC4303以引用的方式并入 本文本中。如果要将AH和ESP保护都应用到业务流上,则可创建两个SA,并通过迭代应用 安全协议(例如,嵌套的SA)协调二者以实现保护。由于一个SA可用于携载单播流量,因 此可在点对点通信中创建一对SA(例如,SA141和142)。这两个SA141和142可在安全网 关110和112二者之间创建一个单播IPsec隧道。为区分不同的SA,接收方可使用SPI来 识别输入数据包应绑定的SA,其中SPI可包括32位的值。SPI指配可在SA的创建者处完 成,该创建者可以是接收侧。在发送侧,附加的目标IP地址信息可用于解决任意SPI冲突。 这样,发送侧可选择正确的SA,IP包将在此SA下处理。在另一项实施例中,每个安全网关 110和112都可指配本地SPI,且每个都保持知晓对方的SPI。发送包时,每一方(例如,网 关110或112)可在数据包头中采用对方(例如,网关112或110)的SPI。
[0029] 应注意,尽管图1仅描绘了位于安全网关110和112之间的SA(例如,SA141和 142),在某些实施例中,主机(例如主机150和/或151)可经由SA直接和网关(例如网关 110和/或112)通信。例如,作为主机的客户端终端可以不位于安全网络上。在这种情况 下,客户端终端可使用SA在不安全网络130上直接和安全网关通信。
[0030] 图2是IPsec安全架构200的另一项实施例的示意图。架构200可包括主机250 和251、安全连接243和244、安全网关210和212以及路由器221和222,它们分别和主机 140和141、安全连接143和144、安全网关110和112以及路由器120大体相似。安全网关 210和212可经由SA集群241和SA集群242通信。
[0031] SA集群241和242每个都包括多个并行子SA。并行子SA可以是具有相同源节点 (例如,安全网关210)、相同目标节点(例如,安全网关212)的多个单向子SA,且每个并行 子SA可传输同一数据流的一部分。例如,SA集群241可包括并行子SA241a和241b,而SA 集群242可包括并行子SA242a和242b。SA集群与SA束的区别可在于,SA集群的子SA可 以不是嵌套的。然而,在某些实施例中,子SA可包括SA束。虽然仅为每个SA集群描绘了两 个子SA,但指定通信需要多少子SA,SA集群241和242就可包括多少子SA。子SA241a和 241b每个可类似于SA141,而子SA242a和242b可类似于SA242。然而,每个子SA只可以传 输和/或封装数据流的一部分。例如,安全网关210可能希望经由SA集群241向安全网关 212传输包括多个数据包的数据流。安全网关210可在子SA241a和241b之间交替包,在子 SA241a上发送比在子SA241b上更多的包,将流划分成离散数据包块并在子SA241a-241b之 间交替块等。每个子SA可包括不同的SPI,因此SA集群241和/或242可包括多个SPI。 SA集群的子SA可在安全网关之间采用相同路线或不同路线。例如,SA集群241可分别包 括子SA241a和子SA241b,子SA241a可采用经由路由器221的路线,而子SA241b采用经由 路由器222的路线。又如,SA集群242可包括子SA242a和242b,两者都可采用经由路由器 221的路线。
[0032] 架构200可允许数据流分割并以窃听节点不可预测的方式路由。由于每个SA集 群可包括未知数目的子SA,窃听节点可能不知道和特定数据流相关的数据包的确切数目。 进一步地,由于每个SA集群可包括多个SPI,窃听节点可能无法关联任何获取的数据包,且 可能无法确定这些数据包和同一数据流相关。另外,由于某些子SA可能遍历不同于其他子 SA的网络路线,窃听节点可能无法通过监控单个网络节点获取流的所有数据包,并且可能 无法确定应该监控其他哪些网络节点以获取剩余的数据包。因此,SA集群241和/或242 的使用可显著增加窃听和/或黑客攻击过程的不确定性,并可因此强化不安全网络的安全 性。同样地,在并行子SA中传输数据包的能力可允许传输优化。例如,如果路由器221变得 拥堵,传出数据包可从子SA241a转向241b而不终止通信会话。进一步地,和架构100可能 所需的数据流包的串行处理相比,数据流包的并行传输可通过并行处理器允许处理效率的 提升。例如,当并行传输数据流包时,可并行执行SA查找,序列号生成和/或防重放检查。
[0033] 架构200可采用抽象语法编码1 (ASN. 1)实施SA集群的创建和使用。以下ASN. 1 定义可基于子SA (例如,分别为子SA24la和241b或242a和242b)的数目创建SA集群(例 如,SA集群241和/或242),还可选择合适的子SA用于子流传输 :
[0034]

【权利要求】
1. 一种网元(NE),其特征在于,包括: 存储器设备,用于存储指令;以及 处理器,用于通过如下方式执行所述指令: 将数据流的第一多个数据包划分为第一多个子流;以及 使所述第一多个子流经由网络传输至第二NE, 其中所述第一多个子流使用包括多个并行子SA的第一因特网协议安全协议(IPsec) 安全联盟(SA)集群进行传输。
2. 根据权利要求1所述的NE,其特征在于,所述第一子SA与所述第二子SA经过不同 的网络路径。
3. 根据权利要求1所述的NE,其特征在于,所述第一子SA与所述第二子SA经过相同 的网络路径。
4. 根据权利要求1所述的NE,其特征在于,所述子SA不是嵌套的。
5. 根据权利要求1所述的NE,其特征在于,所述数据流的所述数据包通过使用选择算 法在所述第一多个子SA之间分发。
6. 根据权利要求5所述的NE,其特征在于,所述选择算法包括轮询选择算法、随机选择 算法或其组合。
7. 根据权利要求1所述的NE,其特征在于,所述多个子SA中的每个包括安全参数指标 (SPI),以及所述每个子SA SPI包括不同于其他每个子SA SPI的值。
8. 根据权利要求1所述的NE,其特征在于,所述处理器进一步用于经由第二IPsec SA 集群接收来自所述第二NE的第二多个子流。
9. 根据权利要求8所述的NE,其特征在于,所述第二多个子流包括第二多个数据包,以 及所述处理器进一步用于通过使用防重放位图在所述第二多个数据包上执行防重放功能 来执行所述指令。
10. 根据权利要求1所述的NE,其特征在于,所述第一多个数据包每个都包括序列号, 以及所述序列号基于与数据包相关联的所述子流确定,而非基于所述数据流确定。
11. 一种网元(NE),其特征在于,包括: 处理器,用于使用因特网密钥交换协议(IKE)或IKE版本2(IKEv2)在所述NE和第二 NE之间创建包括第一多个子SA的因特网协议安全协议(IPsec)安全联盟(SA)集群, 其中所述第一子SA是单向的,以及 所述第一子SA用于在同一方向传输第一多个数据包。
12. 根据权利要求11所述的NE,其特征在于,所述处理器进一步用于在通信会话期间 经由网络使用所述第一子SA将第一多个数据包传输到所述第二NE。
13. 根据权利要求12所述的NE,其特征在于,所述处理器进一步用于在所述通信会话 期间经由所述网络接收来自所述第二NE的第二多个数据包,以及所述第二多个数据包经 由包括第二多个子SA的第二IPsec SA集群接收。
14. 根据权利要求13所述的NE,其特征在于,所述第二多个子SA是单向的,所述第二 子SA用于在公共方向传输数据包,以及所述第二子SA用于在与所述第一子SA相反的方向 传输数据包。
15. 根据权利要求13所述的NE,其特征在于,在数据库中对所述第一子SA的查找并行 执行,所述第一多个数据包的序列号并行生成,所述第二多个数据包的防重放检查并行执 行,或其组合。
16. 根据权利要求11所述的NE,其特征在于,所述处理器进一步用于通过处理saCount 属性创建所述SA集群,以及与所述saCount属性相关联的值指示所述SA集群中第一子SA 的数目。
17. 根据权利要求11所述的NE,其特征在于,所述处理器进一步用于通过处理 selectSA属性创建所述SA集群,以及与所述selectSA属性相关联的值指示用于选择传输 与所述第一多个数据包相关联的子流的子SA的选择算法。
18. -种方法,其特征在于,包括: 建立多个因特网协议安全协议(IPsec)安全联盟(SA)子隧道;以及 将所述SA子隧道聚集在一起形成SA集群。
19. 根据权利要求18所述的方法,其特征在于,独立建立所述子隧道,以及所述子隧道 逐个添加到所述SA集群。
20. 根据权利要求19所述的方法,其特征在于,进一步包括通过所述子隧道分割或交 替IPsec流量。
21. 根据权利要求20所述的方法,其特征在于,所述SA集群不包括生命周期。
22. 根据权利要求21所述的方法,其特征在于,所述子隧道在接收实体处使用共享的 防重放位图。
23. 根据权利要求21所述的方法,其特征在于,所述SA子隧道每个使用单独的防重放 位图。
【文档编号】H04L29/06GK104247367SQ201380015156
【公开日】2014年12月24日 申请日期:2013年3月28日 优先权日:2012年3月30日
【发明者】宋继飞, 易晓勇, 张向阳 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1