首页> 中国专利> 一种基于多路径的SDN网络数据传输隐私保护系统及其方法

一种基于多路径的SDN网络数据传输隐私保护系统及其方法

摘要

本发明公开一种基于多路径的SDN网络数据传输隐私保护系统及其方法SDN控制器的网络拓扑模块将OpenFlow交换机间的连接信息转化为网络模型图;SDN控制器的多路径计算模块基于网络模型图计算源地址与目的地址之间多条不相交的路径及其权值;SDN控制器的随机选择路径模块基于已计算得到的路径权值产生随机数来决定每次传输的路径;OpenFlow交换机中触发模块能够及时删除已完成匹配的流表项。由此,在SDN网络中多次传输数据时,网络流量的相似性降低,攻击者无法通过劫持单个节点或者监控流量整体走向来获取路径信息,从而实现隐私保护。

著录项

  • 公开/公告号CN109067758A

    专利类型发明专利

  • 公开/公告日2018-12-21

    原文格式PDF

  • 申请/专利权人 江苏大学;

    申请/专利号CN201810965529.5

  • 申请日2018-08-23

  • 分类号

  • 代理机构南京苏高专利商标事务所(普通合伙);

  • 代理人唐红

  • 地址 212000 江苏省镇江市京口区学府路302号

  • 入库时间 2023-06-19 07:49:34

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-04-05

    专利权的转移 IPC(主分类):H04L29/06 专利号:ZL2018109655295 登记生效日:20220324 变更事项:专利权人 变更前权利人:江苏大学 变更后权利人:博智安全科技股份有限公司 变更事项:地址 变更前权利人:212000 江苏省镇江市镇江市京口区学府路302号 变更后权利人:210042 江苏省南京市雨花台区软件大道168号

    专利申请权、专利权的转移

  • 2020-07-10

    授权

    授权

  • 2019-01-15

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20180823

    实质审查的生效

  • 2018-12-21

    公开

    公开

说明书

技术领域

本发明属于SDN网络数据传输领域,尤其涉及一种基于多路径的SDN网络数据传输隐私保护系统及其方法。

背景技术

软件定义网络(Software-Defined Network,SDN)作为一种新型的网络架构,实现了控制平面与转发平面的分离。SDN网络通过逻辑上的集中控制,能够获得全局的网络拓扑,并且根据应用层的业务需求可以对全局的网络资源做出更加合理的调配,如流量工程,负载均衡等应用。目前,SDN网络已经运用于数据中心、企业网、电信运营商上等场景。

尽管SDN为传统的网络架构带来了创新,但是SDN架构本身也存在一定的安全问题。攻击者可能攻击SDN控制器来发送恶意的指令,也可能通过控制底层的物理设备,破坏控制器对底层设备的判断,读取底层设备的隐私信息。

在解决数据传输隐私保护的现有技术中,利用多路径传输发送假包的方法可以迷惑攻击者,从而实现隐私保护。但该方法只应用在传统网络中,并且加重了网络的开销,同时假包必须与真实流量相似才能起到迷惑攻击者的效果。在SDN网络中,多路径传输常用于解决负载均衡等问题,但是并没有应用于数据传输隐私保护,在单一路径传输的环境下,攻击者通过探测节点收发数据的时间,流量整体走向等方法,很容易获取参与通信节点的隐私信息。多路径传输为SDN网络中数据传输的隐私保护问题提供了新的解决思路。

发明内容

发明目的:为实现保护SDN网络中数据传输路径的隐私性,本发明提出了一种基于多路径的SDN网络中数据传输隐私保护方法。

技术方案:本发明的一种基于多路径的SDN网络数据传输隐私保护系统,包括SDN控制器、OpenFlow交换机、若干主机Host和攻击者Attacker,所述SDN控制器中设有随机选择路径模块、网络拓扑模块、多路径计算模块和路径下发模块;网络拓扑模块通过链路发现协议(Link Layer Discovery Protocol,LLDP)获取底层交换机之间的连接信息,并将这些信息简化为网络模型图,多路径计算模块根据网络拓扑模块简化的模型图计算得到不相交的多条路径,随机选择路径模块根据权重值产生随机数来选择相应路径,路径下发模块将选择好的路径通过流表的形式下发至OpenFlow交换机;所述OpenFlow交换机与传统交换机相比支持OpenFlow协议,为避免攻击者劫持后泄露流表项,所述OpenFlow交换机中设有触发模块,数据包离开OpenFlow交换机将触发OpenFlow交换机删除该流表项;所述各主机Host之间建立长期稳定的通信:每个主机Host均连接一个对应的OpenFlow交换机,在两个主机之间建立连接前获取双方的地址信息,发起通信的主机通过SDN控制器广播ARP请求消息,对方主机收到消息后通过SDN控制器将ARP响应消息发送给发起方,由此获得双方地址信息;建立连接后,主机将数据包发给与之相连的OpenFlow交换机;所述攻击者Attacker攻击参与通信的交换机,并通过分析交换机来获取通信双方之间的路径。

上述过程中,假设SDN控制器是可信的,SDN控制器不会与攻击者联合,将路径信息透露给攻击者。假设网络中的交换机是诚实且可信的,交换机不会与攻击者联合,披露自己的流表信息。

本发明中的SDN控制器现对于传统控制器而言,新增随机选择路径模块,改进网络拓扑模块以及多路径计算模块,同时又兼具传统SDN控制器的路径下发模块。

本发明还公开了一种基于多路径的SDN网络数据传输隐私保护方法,SDN控制器的多路径计算模块计算得到不相交的多条路径,同时随机选择路径模块为每次通信选择唯一的路径,相比于单路径传输场景,攻击者推断得到路径的概率降低。具体步骤如下:

(1)网络拓扑模块通过链路发现协议,与交换机之间发送Packet-in和Packet-out消息,解析LLDP报文,由此获得交换机之间的连接信息;然后网络拓扑模块定义网络拓扑模型图G:将SDN控制器所获取的底层OpenFlow交换机之间的连接信息转化为无向图G并传递给多路径计算模块;其中无向图G为交换机节点、链路、链路权值定义集合;

(2)SDN控制器收到主机发起的连接请求后,多路径计算模块计算源点到目的节点的多条路径,即该模块解析得到主机的通信请求,记录源点与目的节点;在步骤(1)中所给模型的基础上,用不相交的多路径算法计算得到多条路径。

(3)随机选择路径模块收到多路径计算模块计算好的多条路径后后,通过产生随机数的方式决定具体下发哪一条路径,即根据多路径计算模块所得到的路径权值,设定随机数的产生区间范围,产生的随机数所在区间对应了哪条路径的权值就选择这条路径作为下发的路径,并由路径下发模块下发至OpenFLow交换机;

(4)OpenFlow交换机通过触发模块控制流表项的状态,并通过超时机制保证流表项匹配结束后立刻删除该流表项;当数据包到达OpenFlow交换机后匹配流表项,交换机根据指令执行操作;操作结束删除流表项。

进一步的,所述步骤(1)中网络拓扑模块将SDN控制器获得的交换机连接信息转化为网络拓扑的无向图G,为多路径计算模块提供了更为合适的计算模型。以下为模型初始化步骤:

(1.1)SDN控制器解析交换机发来的LLDP报文,报文的目的MAC地址字段记录了多个地址,即该交换机通过多个端口与目的交换机建立连接;

(1.2)网络拓扑模块已知各个交换机之间的连接信息,并将其转化为无向图G=(V,E),V为交换机节点的集合,E为G中各节点间边的集合,即E={(Vi,Vj)|i≠j,且Vi,Vj∈V};

(1.3)定义集合W={w(Vi,Vj)|i≠j,且Vi,Vj∈V},w(Vi,Vj)表示(Vi,Vj)边的权值;定义集合L(n)={Vs,…,Vd|Vs,Vd∈V},L(n)表示第n次计算得到的路径节点的集合,Vs表示源节点,Vd表示目的节点;定义集合V’={Vr|r≠s,d,且Vr∈V},V’表示每条路径中间节点的集合。

进一步的,所述步骤(2)中,多路径计算模块计算出多条不相交的路径,相比于传统的只支持单路径传输的SDN控制器,本发明的多路径传输不仅可以提高网络资源的利用率,还可缓解OpenFlow交换机的端口拥塞。该模块具体计算步骤如下:

(2.1)SDN控制器收到OpenFlow交换机发来的建立连接的请求,解析报文得到源点Vs与目的节点Vd

(2.2)根据网络拓扑模块已经给出的模型,该模块先执行Dijkstra算法,可得到一条最短路径,将该路径加入到集合L中,该路径的中间节点加入到集合V’,则当前OpenFlow交换机的节点集合为V-V’;

(2.3)重复上述步骤,直到没有路径;计算各条路径L的总权值:

WL(m)=w(Vs,Vi)+…+w(Vk,Vd)

进一步的,所述步骤(3)中SDN控制器的随机选择路径模块通过产生随机数的方法来决定具体传输的路径,随机数的范围由路径的权值和决定,降低了多次传输时网络流量的相似性,具体过程如下:

(3.1)在多路径计算模块中,每一条路径的权值由多路径计算模块计算得到,由此得到的随机数的区间为

(3.2)对随机数的区间进行划分,每个权重占用长度就是权重的区间,接下来产生1到的随机数,随机数落在哪个区间,就选择该权重区间所代表的路径;路径L(m)被选中的概率为非等概率事件。

(3.3)将选出的路径信息(包含节点、链路和权值等)传递至路径下发模块,然后由路径下发模块下发至OpenFlow交换机。

进一步的,OpenFlow交换机的触发模块控制流表项的状态,传统的超时机制作为辅助,保证流表项匹配结束后立刻删除该流表项;具体触发过程如下:

OpenFlow交换机收到数据包后匹配流表项,然后对数据包执行指令;数据包被发送到目的端口,并从该端口转发至与之相连的OpenFlow交换机;数据包从目的端口离开交换机,触发删除操作,该数据包所匹配的流表项被删除;为确保流表项被删除,OpenFlow交换机还设置hard_timeout,一旦触发操作失败,OpenFlow交换机将在流表项活跃时间超过hard_timeout后,删除流表项。

有益效果:实际应用中攻击者可能会通过劫持OpenFlow交换机或者分析流量走向等方式获取传输路径信息。而本发明的多路径计算模块计算所得到的路径均为不相交的路径,即没有一个交换机是在所有路径上的。同时OpenFlow交换机设置有触发模块以及超时计时器,完成数据转发就会删除相关的流表项。所以攻击者Attacker无法通过劫持单个OpenFlow交换机读取流表项,获得所有的路径信息。本发明中,OpenFlow交换机每次传输数据包的路径都是由SDN控制器的随机选择路径模块随机选择的,且每条路径被选择的概率不同,降低了网络流量的相似率,攻击者Attacker无法通过统计多次流量信息来推断下一次传输的路径信息。本发明中使用的多路径算法还可提高网络资源的利用率。

附图说明

图1为本发明的系统整体结构图;

图2为本发明中SDN控制器的功能模块图;

图3为实施例中具体创建的SDN网络;

图4为实施例中LLDP报文格式;

图5为实施例中网络拓扑的数学模型

图6为实施例中SDN控制器下发的流表项;

图7为实施例中单路径传输场景与本发明的对比结果图。

具体实施方式

下面将结合附图对本发明作进一步的详细描述。

如图1所示,本发明的一种基于多路径的SDN网络数据传输隐私保护系统,涉及SDN控制器,OpenFlow交换机,主机Host以及攻击者Attacker。

其中SDN控制器如图2所示,划分为多个模块:网络拓扑模块、多路径计算模块、随机选择路径模块以及路径下发模块。交换机均为支持OpenFlow协议的OpenFlow交换机,通过不同端口与主机,SDN控制器,相邻OpenFlow交换机建立连接。而图中所设的攻击者Attacker可能通过劫持单个OpenFlow交换机获取流表项,或者进行流量分析。

实施例:

本实施例的一种基于多路径的SDN网络数据传输隐私保护方法,具体实施过程如下:

首先,在图3所示的SDN网络中,网络拓扑模块首先获取交换机间连接信息;SDN控制器通过解析LLDP报文获取到交换机连接信息;LLDP报文格式如图4所示。网络拓扑模块将交换机连接信息转化为模型图传递至多路径计算模块。

接下来主机1将要与主机2建立连接。主机1与主机2向SDN控制器发起ARP请求来获取对方的Mac地址。多路径计算模块记录下源地址与目的地址,计算得到多条路径。

然后,随机选择路径模块根据已经计算好的多条路径,通过产生随机数的方法选择一条传输路径,并传递给路径下发模块。

路径下发模块将路径信息以流表的形式封装在Packet_out消息中下发至OpenFlow交换机。OpenFlow收到数据包后匹配流表项,执行相应的指令。匹配结束后,OpenFlow交换机通过触发模块以及超时机制删除流表项。

一、SDN控制器的网络拓扑模块具体实施过程如下:

(1)网络拓扑模块解析LLDP报文,其中的Destination Mac字段记录了目的交换机的Mac地址,例如01:80:c2:00:00:0e,即OpenFlow交换机通过端口相连的相邻交换机。

(2)将连接信息转化为模型图G=(V,E),图5是有12个节点的无向图G(V,E),其顶点集为V={V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12},边集为E={(V1,V2),(V1,V4),(V1,V5),(V2,V3),(V2,V4),(V2,V6),(V2,V8),(V3,V9),(V4,V7),(V5,V7),(V6,V10),(V7,V10),(V7,V11),(V8,V9),(V8,V10),(V9,V10),(V9,V12),(V10,V12),(V11,V12)},链路所对应的权重的集合为W=(4,3,5,3,8,7,4,5,2,9,6,6,12,2,5,3,12,8,11);路径上的节点集合为L,且当前为空集。

二、SDN控制器计算不相交的多条路径详细过程如下:

(1)SDN控制器收到主机1的ARP请求后,记录主机1与主机2的地址,即源地址与目的地址。多路径计算模块根据源目地址计算路径。

(2)多路径计算模块根据模型图G计算多条路径。已知源节点为V2,目的节点为V10。首先执行一次最短路径算法,可得最短路径为2->8->10,即除去源目节点,中间节点为V’={V8}。继续执行最短路径算法,此时节点集合V=V-V’。集合中元素变化记录如下表:

表1

(3)不断重复上述步骤,直到最后没有路径。此时已找到路径L1={V2,V8,V10},L2={V2,V3,V9,V10},L3={V2,V6,V10},L4={V2,V1,V4,V7,V10}。

三、SDN控制器随机选择路径的具体过程如下:

(1)多路径计算模块计算得到多条路径的权值,其权值分别为WL(1)=9,WL(2)=11,WL(3)=13,WL(4)=15。根据权重值给定随机数区间[1,48],当随机数落在[1,9),则选取路径L1;随机数落在[10,20),则选取L2;若随机数落在[21,33),则选取L3;若随机数落在[34,48),则选取L4

(2)该模块产生随机数落在哪个区间,就根据上述原则选择相应的路径。并将选择好的路径发送至路径下发模块。

四、OpenFlow交换机收到数据包将执行以下操作:

(1)OpenFlow交换机收到的流表项如图6所示。OpenFlow交换机收到数据包后与流表项进行匹配,匹配域包括数据包的包头字段,进入交换机的端口等。匹配成功,则根据流表项的动作指令执行相应的操作;

(2)数据包被转发至目的端口后,触发删除操作,即当该条流表项匹配完成后,OpenFlow交换机删除该流表项;OpenFlow交换机还设置了hard_timeout值,假设hard_timeout=2.0s,则流表项在OpenFlow交换机中活跃时间超过2秒将被删除。

(3)当主机1再次发来数据包时,OpenFlow交换机将再次向SDN控制器请求流表项,SDN控制器将再次随机选择一条路径下发。

为验证本发明的性能,进行以下仿真实验:

SDN控制器选用Ryu控制器,Mininet创建网络拓扑,设定主机1的IP地址为(10.0.0.1),主机2的IP地址为(10.0.0.2)。攻击者Attacker通过分析网络流量来推测路径信息。

如图7所示,当SDN网络只采用传统的单路径传输时,网络流量的相似性非常高,攻击者通过分析流量特征,就可以获得路径信息。而本发明中不仅结合多路径传输,同时加入随机选择路径模块,每条路径被选择非等概率事件,从图中可以看出,网络流量的相似性相比于单路径传输有所降低,攻击者难以推断路径信息,从而实现数据传输的隐私保护。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号