论文阅读笔记 | On the Challenges of Geographical Avoidance for Tor(NDSS 2019)

文章目录

    • 论文信息
    • 核心思想
    • 1. 背景
    • 2. 方法
      • 2.1 Symmetric Approach
      • 2.2 Asymmetric Approach
      • 2.3 Empirical Approach
    • 3. 实验
      • 3.1 实验设置
      • 3.2 实验方法
      • 3.3 实验结果
    • 4. 总结

论文信息

  • 论文:On the Challenges of Geographical Avoidance for Tor
  • 会议:NDSS
  • 发表时间:2019年
  • 作者:Katharina Kohls

核心思想

client 到server 实际建立的circuit的RTT: R e 2 e R_{e2e} Re2e,与client 经过监管区域后到达server 的最小RTT: R e s t R_{est} Rest 进行比较:

{ R e 2 e < R e s t ,   建 立 的 c i r c u i t 没 经 过 监 管 区 域 R e 2 e ≥ R e s t ,   建 立 的 c i r c u i t 可 能 经 过 监 管 区 域 \left\{ \begin{aligned} R_{e2e} & < R_{est}, \ 建立的circuit没经过监管区域 \\ R_{e2e} & \geq R_{est}, \ 建立的circuit可能经过监管区域 \\ \end{aligned} \right. {Re2eRe2e<Rest, circuitRest, circuit

如果建立的circuit可能经过监管区域的话,那么就不使用该circuit进行通信

论文阅读笔记 | On the Challenges of Geographical Avoidance for Tor(NDSS 2019)_第1张图片


1. 背景

背景:

  • 针对Tor的流量分析是近几年的研究热点,已经有很多关于Tor流量分析的相关工作
  • 并且,当某个地区对流量进行分析和管控时,经过该地区的Tor circuit将不再安全

因此,本文要解决的问题是:如何避开某个监管地区的流量分析给Tor网络匿名通信带来的威胁。该问题具有三个方面的挑战:

  1. 网络的多样性
  2. 缺乏真实有效的信息,比如IP地址真实的地理位置
  3. 实际部署中的问题

本文提出了一种基于经验的从地理上进行规避流量分析的方法,并且实现了一个原型TrilateraTor,在现实中部署。

2. 方法

Tor在建立circuit时,会从directory server获取中继节点的信息,包括IP,身份摘要等等。因此,为了判断中继节点有没有在监管区域内,可以通过中继节点的IP进行定位。

补充:Tor网络有9个 Directory Authorities,它们通过达成共识的consensus document维护活跃的中继节点和网桥(未公开的入口中继)。
论文阅读笔记 | On the Challenges of Geographical Avoidance for Tor(NDSS 2019)_第2张图片

2.1 Symmetric Approach

Li等人在2017年提出DeTor,该方法结合客户端到服务端的距离,根据数据传输速度不超过 2 c 3 \frac{2c}{3} 32c的假设(c是光速),比较circuit的RTT 和经过监管区域circuit的RTT 下界,对circuit是否经过监管区域进行判断。经过监管区域的circuit包括以下四种情况:
论文阅读笔记 | On the Challenges of Geographical Avoidance for Tor(NDSS 2019)_第3张图片

图1:经过监管区域的circuit的几种情况

因此,DeTor提出下面的公式,计算client经过监管区域到达server的最短时间:

R m i n = 3 2 c ⋅ min ⁡ { 2 ⋅ D m i n ( c , F , e , m , x , s ) 2 ⋅ D m i n ( c , e , F , m , x , s ) 2 ⋅ D m i n ( c , e , m , F , x , s ) 2 ⋅ D m i n ( c , e , m , x , F , s ) R_{min}=\frac{3}{2c}\cdot \min \left\{ \begin{aligned} 2 & \cdot D_{min}(c,F,e,m,x,s) \\ 2 & \cdot D_{min}(c,e,F,m,x,s) \\ 2 & \cdot D_{min}(c,e,m,F,x,s) \\ 2 & \cdot D_{min}(c,e,m,x,F,s) \end{aligned} \right. Rmin=2c3min2222Dmin(c,F,e,m,x,s)Dmin(c,e,F,m,x,s)Dmin(c,e,m,F,x,s)Dmin(c,e,m,x,F,s)

其中, c , e , m , x , s c,e,m,x,s c,e,m,x,s分别表示client, entry relay, midlle relay, exit relay, server。 F F F表示Forbidden Area中距离当前circuit最近的点。 D m i n D_{min} Dmin代表最小距离

公式的含义就是: 最 短 距 离 链 路 传 播 的 最 大 速 度 2 c 3 \frac{最短距离}{链路传播的最大速度\frac{2c}{3}} 32c。大括号是选出从 c l i e n t → s e r v e r client\rightarrow server clientserver最短距离,根据图1,有四种情况。可以看到,DeTor假设往返是对称的,所以对每个距离乘了2。

当实际测量的RTT 小于阈值 R m i n R_{min} Rmin时,可以认为环路不经过监管区域;大于阈值时,可能经过监管区域,需要舍弃此环路。

显然,为了测量client经过监管区域到达server的RTT,我们需要中继(relay)的位置,判断中继是否在监管区域内。DeTor直接使用了GeoIP得到IP地址所在的区域。

DeTor的缺点:

  • DeTor认为往返路径是对称的,实际上不是
  • 直接使用GeoIP数据库得到IP所在地理位置
  • 没有实际部署和测试

2.2 Asymmetric Approach

本文在DeTor基础上,提出Asymmetric Approach
经过监管区域的RTT的下界 R m i n R_{min} Rmin
R m i n = 3 2 c ⋅ min ⁡ { D m i n ( c , F , e , m , x , s ) D m i n ( c , e , F , m , x , s ) D m i n ( c , e , m , F , x , s ) D m i n ( c , e , m , x , F , s ) + D ( c , e , m , x , s ) R_{min}=\frac{3}{2c}\cdot \min \left\{ \begin{aligned} & D_{min}(c,F,e,m,x,s) \\ & D_{min}(c,e,F,m,x,s) \\ & D_{min}(c,e,m,F,x,s) \\ & D_{min}(c,e,m,x,F,s) \end{aligned} \right. + D(c,e,m,x,s) Rmin=2c3minDmin(c,F,e,m,x,s)Dmin(c,e,F,m,x,s)Dmin(c,e,m,F,x,s)Dmin(c,e,m,x,F,s)+D(c,e,m,x,s)

其中, c , e , m , x , s c,e,m,x,s c,e,m,x,s分别表示client, entry relay, midlle relay, exit relay, server。 F F F表示Forbidden Area中距离当前circuit最近的点。 D m i n D_{min} Dmin代表最小距离

并且,针对GeoIP数据库得到IP所在地理位置可能是错误的情况,本文根据ICMP和三角定位法进行修正

2.3 Empirical Approach

前两种都是静态的方法,为什么说是静态的呢?因为这两种方法都直接使用 2 c 3 \frac{2c}{3} 32c进行RTT的测量。

因此,进一步,本文提出基于经验的方法,其实就是先测量好每一跳之间的时间,需要的时候再拿出来计算RTT,然后定期更新传输时间的一种方法。这也是本文最终使用的方法。

基于经验的方法最关键的是事先测量不同的circuit中,中继(relay)之间每一跳的时间(而不是使用静态的速度 2 c 3 \frac{2c}{3} 32c进行测量)。当需要计算整条circuit的RTT时,把circuit上中继间每一跳的时间加起来即可。

思想:该circuit扩展到监管区域以后的RTT R e s t R_{est} Rest,与新建circuit的RTT R e 2 e R_{e2e} Re2e进行比较

具体步骤:

  • 对新建的circuit,测量RTT: R e 2 e R_{e2e} Re2e,获取该circuit上的中继信息

  • 测量扩展到监管区域后的最短增加延时 e x t F ext_F extF
    e x t F = min ⁡ { D ( A , F , B ) a v g [ S ( A , F ) , S ( B , F ) ] } ext_F = \min\{\frac{D(A,F,B)}{avg[S(A,F),S(B,F)]}\} extF=min{avg[S(A,F),S(B,F)]D(A,F,B)}

    A , B A, B A,B是circuit上的中继, F F F是监管区域距离circuit上的中继最近的节点
    论文阅读笔记 | On the Challenges of Geographical Avoidance for Tor(NDSS 2019)_第4张图片

图2:最短增加延时的情况

也就是说, e x t F ext_F extF表示在新建circuit的基础上,扩展到监管区域时,监管区域Forbidden Area中距离circuit最近的点F,与circuit中最近的两个点A,B之间增加的时间。

  • 估计阈值 R e s t R_{est} Rest
    R e s t = e x t F + e s t ( c , s \ e x t F ) + e s t ( e , s ) R_{est} = ext_F + est(c,s \backslash ext_F) + est(e,s) Rest=extF+est(c,s\extF)+est(e,s)
    其中,最短增加延时 e x t F ext_F extF,除与延时相关的跳外所有跳的估计 e s t ( c , s \ e x t F ) est(c,s \backslash ext_F) est(c,s\extF)以及从服务端返回到客户端的跳的估计 e s t ( e , s ) est(e,s) est(e,s)

  • 判断依据:
    Δ = R e s t R e 2 e \Delta = \frac{R_{est}}{R_{e2e}} Δ=Re2eRest

{ Δ ≥ 1 , 建 立 的 c i r c u i t 没 经 过 监 管 区 域 Δ < 1 , 建 立 的 c i r c u i t 可 能 经 过 监 管 区 域 \left\{ \begin{aligned} \Delta & \geq 1 , 建立的circuit没经过监管区域 \\ \Delta & < 1, 建立的circuit可能经过监管区域 \end{aligned} \right. {ΔΔ1,circuit<1,circuit
如果经过的话,说明不安全,拒绝该circuit

3. 实验

3.1 实验设置

  • 8个国家(DE,US,FR,UA,RU,NL,GB,SE,CA)的服务器
    • 相当于client,通过这些服务器来建立不同的circuit,事先测量每条circuit上、中继的跳之间的时间
  • Hop Estimates R e 2 e R_{e2e} Re2e:16500个中继连接
    • 1945 个Entries,3724个Middles,893 个 Exits
  • Circuit RTT R e s t R_{est} Rest:70,081 circuits, 275,509 measurements
    • 1670 Entries, 2712 Middles, 735 Exits (artificial circuits)
    • 35,924 reference circuits

3.2 实验方法

每次选取八个国家(DE,US,FR,UA,RU,NL,GB,SE,CA)中的一个作为监管区域,也就是作者其实只考虑了只经过一个监管区域的情况。

而且,由于需要选取监管区域中离当前circuit最近的节点,因此整个circuit其实是人工(artificial)构造的。

  1. 对于所有的circuit,本文先确定从当前电路到监管区域的最短扩展。计算扩展的时间 e x t F ext_F extF,确定监管区域中距离电路最近点的位置(判断是在c和e之间?e和m之间?…)
  2. 对于Empirical Approach,查询1.中得到的当前circuit中每一跳的RTT,并且计算扩展到监管区域的时间 e x t F ext_F extF,进一步,可以计算阈值 R e s t R_{est} Rest,以及阈值与的实际测试值的比值 Δ \Delta Δ
  3. 对于Symmetric Approach 和 Asymmetric Approach,则是使用the great circle distance和 2 c 3 \frac{2c}{3} 32c计算每一跳的时间,从而可以得到实际测量的时间;使用第二章中2.1(对应Symmetric Approach)和2.2(对应Asymmetric Approach)中的公式来估计一个circuit的阈值。进一步的,可以得到阈值与的实际测试值比值 Δ \Delta Δ
  4. Δ ≥ 1 \Delta \geq 1 Δ1时,接受该circuit;否则拒绝该circuit

3.3 实验结果

  • 检测能力:使用reject rate:由于实际的RTT超过阈值RTT而拒绝的circuit的数量,进行评估。
    • 欧洲的监管区域之间的差异小;在使用Asymmetric Approach的情况下,美国和加拿大作为监管区域时reject rate显著增加,这是由于从当前circuit扩展到美国、加拿大需要的距离更远(作者是德国人,大部分的测试服务器是在欧洲)。
    • 跟Symmetric Approach和Asymmetric Approach相比,在不采用circuit的数量方面Empirical Approach减少了22.64%,有更好的性能表现;
  • 性能损害:Empirical Approach拒绝较少的circuit,维持27MB/s的平均带宽
  • 附带损害: Δ \Delta Δ的决策阈值1会影响到单个用户的使用性能,也会影响到整个网络的性能。可以通过降低决策阈值来降低reject rate,从而提高网络的性能。比如,原来是 Δ = R e s t R e 2 e ≥ 1 \Delta = \frac{R_{est}}{R_{e2e}} \geq 1 Δ=Re2eRest1时接受该circuit,现在只要 Δ = R e s t R e 2 e ≥ 1 2 \Delta = \frac{R_{est}}{R_{e2e}} \geq \frac{1}{2} Δ=Re2eRest21即可接受。

论文阅读笔记 | On the Challenges of Geographical Avoidance for Tor(NDSS 2019)_第5张图片

图3:实验结果

4. 总结

提出了基于经验的路径地理规避方法,在Tor circuit建立的过程进行RTT测量,不泄露多余信息,也不会留下其他指纹。

论文阅读笔记 | On the Challenges of Geographical Avoidance for Tor(NDSS 2019)_第6张图片

图3:RTT


文章中除了理论,也就是第二章中介绍的那几种,还介绍了原型TrilateraTor的部署情况,这里为了简单就没有进行介绍。

最后,文章中有理解错误的请指出!

你可能感兴趣的:(匿名通信,论文阅读)