一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于聚合流量的网络流量隐私保护方法

2022-05-27 02:31:03 来源:中国专利 TAG:


1.本发明涉及网络流量分析技术领域,特别涉及一种基于聚合流量的网络流量隐私保护方法。


背景技术:

2.在过去的网络环境中,网络信息疏于加密保护,用户和网站的信息在网络中以明文的形式传递。这样的信息传递方式带来了巨大的数据泄露风险,处于数据传输路径中的中间人(mitm:man in the middle)可以轻易获取到用户和网站的完整信息。随着网路安全意识的提高,安全套接字/传输层安全(ssl/tls)的使用率从2014年的26%提高到2018年的70%,越来越多的网站使用https对数据进行加密传输。这类方法使得网络中的数据包内容得到加密,在密码安全的前提下中间人无法通过从中间网络节点获得的网络流量中直接取得数据内容。
3.如今的网络环境中,活跃的重要流量几乎都是加密的,但是仍然可以借助机器学习等技术,分析这些加密的流量的其他特征,获得额外的各种信息,这就是网络流量分析技术。
4.这一技术应用场景丰富,例如网页指纹(website fingerprinting):用户选择使用代理和dns over https或tor(洋葱路由)等方法匿名接入网络。这类方法使得网络中数据报的头部地址信息进一步受到混淆,不能简单判断用户访问的目的网站。但是,通过分析这类流量的特征可以非常准确的判断正在访问的网站,即得到了这个网站的指纹(website fingerprinting)。除了网站指纹信息,相同的分析策略还可以使用在用户所使用的应用,所使用的设备上,得到应用的指纹,设备型号的指纹,设备操作系统的指纹等等。这一系列的信息可以反映用户本身的行为特征,组合成用户的肖像,进一步威胁用户的隐私信息。
5.一般来说,上述的网络流量分析方法是通过分析用户流量的外部特征,包括数据包所使用的网络协议类型,尺寸大小、时间戳、方向等,来推断用户更多的隐私信息。因此,安全设计研究人员一般通过掩盖用户加密流量的这些外部特征来实现隐私保护。一般的方式包括:
6.(1)对数据包注入一些冗余信息,改变数据包的尺寸大小;
7.(2)数据包的转发加入等待延迟,影响攻击者收到数据包的时间戳;
8.(3)注入冗余的数据包,影响流量整体的特征。
9.目前这类隐私保护方法可以有效的降低流量分析(一般为分类、聚类等目的)的效果,(包括recall,precision,fpr等指标),但是他们仍然存在其他的问题:
10.(1)引入较大的网络开销,例如在洋葱路由中,每一个数据包都会通过冗余信息注入得到完全相同的尺寸。一些其他的方法中,引入延迟和冗余数据包显然也会增加带宽和速率开销。
11.(2)可能有较大的使用限制,例如,有的保护方法虽然可以用较小的开销达到良好的保护效果但是往往是针对于某种类型的流量分析方法,如针对于使用深度学习方法的分
析方法,针对使用近邻算法的分析方法等等。


技术实现要素:

12.为解决上述技术问题,本发明提供了一种基于聚合流量的网络流量隐私保护方法,掩盖用户网络流量特征保护用户隐私,同时维持较小的额外开销,降低对用户体验的影响;另外,用户可以根据自身信息重要程度或所使用服务对于实时性的要求修改保护方法的参数,以提高保护效果或提高网络吞吐量。
13.为达到上述目的,本发明的技术方案如下:
14.一种基于聚合流量的网络流量隐私保护方法,用户数据包依次经过靠近用户端的边缘交换节点a、若干中间交换节点、靠近服务端的边缘交换节点b后,到达目的地;在网络流量传输过程中的隐私保护方法包括如下步骤:
15.步骤一,边缘交换节点a作为聚合端,将若干个具有相同目的边缘交换节点b的用户数据包打包成聚合数据包p后,再发送到中间交换节点进行转发;
16.步骤二,边缘交换节点b作为拆分端,从中间交换节点接收到聚合数据包p,再拆分成原来的用户数据包,发送至目的地或继续转发。
17.上述方案中,所述步骤一的具体方法如下:
18.(1)目的判断:边缘交换节点a识别到达该节点的用户数据包的目的地,为其分配相应的flow id;
19.(2)打包:边缘交换节点a将有相同flow id的用户数据包放入相同缓冲中,并加入控制信息进行打包,形成数据;
20.(3)分割:将缓冲进行分割,来适应网络最大传输单元的限制,缓冲中的数据作为聚合数据包p的数据部分;
21.(4)封装:向上一步得到的数据部分提供头部信息,将其封装成完整的聚合数据包p,依次发送这些聚合数据包p。
22.上述方案中,所述步骤二的具体方法如下:
23.(1)组合检查:边缘交换节点b通过检查收到的聚合数据包p的头部信息判断其flow id,将聚合数据包p的数据部分除去控制信息加入缓冲中,通过控制信息判断是否失序,缓冲是否已经完整,是否有错误的聚合数据包p加入;通过组合若干个聚合数据包p,得到完整的缓冲;
24.(2)拆分发送:得到完整缓冲后,边缘交换节点b通过缓冲中的控制信息提取到原始的数据包,根据边缘交换节点b的交换规则将这些数据包发送到对应的端口。
25.进一步的技术方案中,所述控制信息包括缓冲长度、序号、本部分长度。
26.通过上述技术方案,本发明提供的一种基于聚合流量的网络流量隐私保护方法具有如下有益效果:
27.1、本发明的方法部署于网络中各个交换节点中,对用户透明,用户不需要安装设置额外配置即可使用,保证了方案的易用性。
28.2、本发明可以灵活平衡保护开销和网络吞吐量,参数少而且易懂,方便用户基于自身需求配置。
29.3、本发明相比于其他的网络流量分析保护措施,不引入冗余的数据信息,减少了
网络带宽额外开销和延迟,提升了用户的体验。
附图说明
30.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
31.图1为本发明实施例所公开的一种典型线性网络拓扑结构示意图。
32.图2为本发明实施例所公开的一种典型树状网络拓扑结构示意图。
33.图3为单个缓冲的基本结构示意图。
34.图4为分割缓冲以及所加入的控制信息的示意图。
具体实施方式
35.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
36.本发明提供了一种基于聚合流量的网络流量隐私保护方法,网络流量的传输采用网络拓扑结构,假设网络中的交换节点有两种,第一种称为边缘交换节点(edge node),这一类节点物理上或网络上靠近用户,是用户流量的出口,可能是用户家中的无线路由,nat路由出口,网关等。第二种称为中间交换节点(core node),除去边缘交换节点的其他交换节点都是中间交换节点,它们在物理上或网络上远离用户,可能是广域网中的任意交换路由。我们认为边缘交换节点是较为安全的,攻击者不容易从边缘交换节点获得用户的流量,因此,我们信任所有的边缘交换节点,认为流量只可能从中间交换节点中被截获。
37.在此我们使用一个典型网络拓扑来说明本发明的技术方案。如图1所示,假设用户到目的主机距离较远,用户数据包依次经过靠近用户端的边缘交换节点a、若干中间交换节点、靠近服务端的边缘交换节点b后,到达目的地。
38.在网络流量传输过程中的隐私保护方法包括如下步骤:
39.步骤一,边缘交换节点a作为聚合端,将若干个具有相同目的边缘交换节点b的用户数据包打包成聚合数据包p后,再发送到中间交换节点进行转发;
40.具体方法如下:
41.(1)目的判断:边缘交换节点a识别到达该节点的用户数据包的目的地,为其分配相应的flow id(网络流程编号)。
42.具体为:对于从边缘交换节点a所可能到达的所有其它边缘节点b,设置一个flow id来标识聚合数据包的可能路径。用户数据包pk1到达边缘交换节点a后,通过数据包的目的地址判断其目的边缘交换节点b或所需要经过的边缘交换节点b,得到对应的flow id。
43.(2)打包:边缘交换节点a将有相同flow id的用户数据包放入相同缓冲中,并加入控制信息进行打包,形成数据。
44.具体为:边缘交换节点a将保留若干个缓冲,一一对应于不同的目的边缘交换节点b,即对应于不同的flow id,数据包在边缘交换节点a经过第一步得到flow id后完整地加入对应的缓冲,即包含完整的头部信息和数据。在相同缓冲中的所有数据包pk1、pk2、pk3...拥有相同的flow id,表明他们会经过相同的边缘交换节点b,拥有相同的目的地或中间目的地,所以可以打包在一起作为聚合数据包p的数据部分进行转发。除去完整的数据
包,还可以加入控制信息包括数据包的长度等在缓冲中,用来进行步骤二中的拆分。
45.每一个缓冲可有两个参数,分别为缓冲所能容纳最大数据包数量(maximum element number,men)和缓冲在单次聚合的存活时间(time to live,ttl),当一个缓冲中的第一个数据包到达时开始计时,缓冲中数据包数目达到men或超过ttl则转发。当一个聚合数据包包含更多数目的原始数据包,可以认为流量的特征受到了更大程度混淆和改变,通过流量分析更难以判断出额外的信息。所以,这两个参数给聚合效果和网络吞吐量之间的平和调整带来很大的灵活性,当所传输的信息保密要求严格时,可以增大men和ttl,以同时聚合更多的数据包,达到更好的聚合效果,当在使用延迟敏感的网络应用,如视频电话,可以降低men和ttl,增大网络吞吐量。
46.(3)分割:将缓冲进行分割,来适应网络最大传输单元(mtu:maximum transmission unit)的限制,缓冲中的数据作为聚合数据包p的数据部分。
47.具体为:完成打包后,一个缓冲中的数据量可能会超过该网络的mtu,为了避免不同分割方法可能引入的额外计算量,我们会预先分割缓冲,确保数据包在发送前符合mtu,避免ip层自行进行数据包分割。
48.缓冲中的内容将作为聚合数据包p的数据部分,目标边缘交换节点b接受到聚合数据包p后提取数据部分即为缓冲中的内容,除去控制信息即为原始的若干个完整数据包pk1、pk2、pk3...。则需要保证分割之后边缘交换节点b也能接受到完整的缓冲,即保证原始数据包pk1、pk2、pk3...的完整性。因此对于缓冲分割成的每一个部分,我们再加上一定的控制信息,具体可包括完整缓冲的尺寸、该部分尺寸、该部分在原缓冲中的顺序等,之后即可作为数据部分进行下一步。
49.(4)封装:向上一步得到的数据部分提供头部信息,将其封装成完整的聚合数据包p,依次发送这些聚合数据包p。
50.具体为:可使用缓冲中任意原始数据包的头部信息作为聚合数据包p的头部信息,因为他们具有相同的目的边缘交换节点b,使用相同的头部信息封装即可让聚合数据包p到达目的边缘交换节点b。另外也可以使用特定的头部信息进行封装,这类头部信息可以指明目的边缘交换节点b。对于经过上一步分割的缓冲,对每一部分都使用相同的头部信息进行封装,得到聚合数据包p1、p2、p3...,然后依次发送这些聚合数据包。
51.步骤二,边缘交换节点b作为拆分端,从中间交换节点接收到聚合数据包p,再拆分成原来的用户数据包,发送至目的地或继续转发;
52.具体方法如下:
53.(1)组合检查:边缘交换节点b组合若干个聚合数据包,检查信息是否完整。
54.由于边缘交换节点a可能进行了分割操作,边缘交换节点b收到的聚合数据包p1可能并不包含完整的原始数据包pk1、pk2、pk3...。可能还需要后续的p2、p3...才能得到完整的原始数据包序列,边缘交换节点b也需要保留若干个接收缓冲,一一对应于路径终点为边缘交换节点b的所有flow id。
55.边缘交换节点b通过检查收到的聚合数据包p的头部信息判断其flow id,将聚合数据包p的数据部分除去控制信息加入缓冲中,通过控制信息判断是否失序,缓冲是否已经完整,是否有错误的聚合数据包p加入;通过组合若干个聚合数据包p,得到完整的缓冲。
56.(2)拆分发送:得到完整缓冲后,边缘交换节点b通过缓冲中的控制信息提取到原
始的数据包pk1、pk2、pk3...,根据边缘交换节点b的交换规则将这些数据包发送到对应的端口。
57.实施例
58.下面通过一个具体的实施例进行说明,如图2所示场景可能为政府机构内网,是典型的树状网络拓扑。内网中的信息保密要求较为严格,不仅不希望外部人员通过网络流量分析推测到信息,政府不同部门之间可能也需要保密。在这些要求前提下应用本发明的方法,政府不同的部门通过各自的边缘交换节点访问内网,内网中的不同网络服务(包括数据库、ftp文件服务、网关防火墙等)也有各自的边缘交换节点。在这种配置下,内网中的流量(除边缘交换节点外)都受到聚合方法的保护,可以达到较好的信息保密效果。
59.该实施例具体工作步骤包括:
60.1)目的判断:在图2的场景中以边缘交换节点a1为例,该节点可以到达的边缘节点包括a2、a3、a4、b1、b2、b3、b4,依次分配flow id 0到6代表a1到达对应边缘交换节点的路径,共有七个。同理,a2可以到达的所有边缘交换节点可分配7到13......flow id是全局唯一的,方便路径的标识。
61.用户数据包到达边缘交换节点a1时,边缘交换节点a1通过数据包的头部信息中的目的地址判断数据包要到达的目的边缘交换节点。例如,当边缘交换节点a1中的用户想要访问ftp文件服务器(其对应的边缘交换节点为b3),边缘交换节点a1通过数据包头部中的目的地址判断目的为ftp文件服务器,分配给数据包的flow id为5。
62.2)打包:以边缘交换节点a1为例,需要保留7个缓冲,对应于flow id 0到6。使用边缘交换节点a1的所有用户(在本实施例中可能对应某一整个政府部门)的数据包在得到对应flow id后加入对应的缓冲,单个缓冲的基本结构如图3所示。开头4字节为无符号整数,表示原始数据包的长度,之后为完整的数据包,单个缓冲可能包含的最大原始数据包数目取决于men。
63.需要特别说明的是,共用边缘交换节点a1的所有用户的数据包(只要有相同的flow id)可以打包在一起,因此在多个用户同时访问相同服务的情况下缓冲可以更快速地达到所设置的最大数据包数men,减少数据包在缓冲中等待的时间,即随着用户数目的增加,本发明的聚合方法对于网络性能的影响越小。在这种前提下,依赖相同的一个边缘交换节点的用户越多,可以提高men,提高保护的效果而几乎不引入更多的网络开销,降低ttl,提升网络的吞吐量而几乎不影响保护效果。
64.3)分割:本聚合方法基于数据链路层,将整个的数据链路层帧作为聚合的基本单位,完整的数据链路层mac帧加入缓冲,作为聚合数据包高层tcp/udp协议的数据部分。这种情况下封装成的聚合数据包mac帧可能会超过网络的mtu要求,为了避免不同的分割方法带来的额外计算量,先对缓冲进行分割,确保封装之后的聚合数据包满足本网络中的mtu要求。
65.分割加入的控制信息和分割后的结构如图4所示,缓冲即为图3中的结构,被分成若干个部分,每个部分头部有两个控制信息,4字节无符号数表示该部分的长度,另外4字节无符号数表示该部分的序号,共同组成了数据部分。
66.4)封装:上一步得到的数据可以使用特定的头部信息进行封装,以边缘交换节点a1到边缘交换节点b1的路径为例,我们可以设定边缘交换节点a1和边缘交换节点b1的地址
信息,包括ip地址,mac地址,使用他们进行封装,一方面便于在中间交换节点中转发,另一方面也标识了聚合数据包,方便后续的拆分。对上一步得到的每一个部分进行相同封装,依次发送。
67.5)组合检查:以边缘交换节点a1到边缘交换节点b1这一路径为例,flow id为5,对于边缘交换节点b1接收聚合流量包需要维持flow id为5的接收缓冲,同时也需要维持其他边缘交换节点到达边缘交换节点b1的路径对应flow id的接收缓冲。从边缘交换节点a1发送到边缘交换节点b1的聚合数据包提取数据部分得到第3)步的数据形式,除去控制信息后加入flow id为5的接收缓冲中,边缘交换节点b1通过控制信息判断是否接收到了完整的发送缓冲,以及是否失序,缺失等等。
68.5)拆分发送:完整的缓冲即为第2)步所得到的形式,通过控制信息即可拆分得到原始的数据链路层帧,继续转发至目的服务端。
69.需要说明的是,以上只说明了a端用户流量到达b端服务器的聚合拆分过程,服务端的服务流量发送到a端用户端也需要经过相似的聚合拆分过程,此时边缘交换节点b进行聚合,边缘交换节点a进行拆分和转发。
70.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献