1.本发明属于通信技术领域,特别涉及一种提高低时延匿名通信系统匿名性的方法。
背景技术:2.匿名通信起源于1981年chaum发表的文章(chaum,david l.untraceable electronic mail,return addresses,and digital pseudonyms[j].communications of the acm,1981,24(02):84-90.),首次提出mix节点的匿名通信路由算法。reed等人提出了基于洋葱路由器实现路由选择算法(reed mg,syverson p f,goldschlag d m.anonymous connections and onion routing[j].in ieee journal on selected areas in communications,1998,16(04):482-49),该算法低时延且前向安全。匿名通信是一种采用数据加密、流量混淆、数据转发等措施来隐藏通信双方及通信内容的隐私保护技术,数据转发通常由多跳加密代理节点完成(罗军舟,杨明,凌振,等.匿名通信与暗网研究综述[j].计算机研究与发展,2019,56(1):28.)。匿名通信系统的目的是保护互联网用户的隐私,防止被不可信实体攻击。通信过程主要由四部分组成,即发送发、接收方、通信数据及通信关系。最初网络的信息安全重点关注的是通信数据的可靠性、真实性、完整性以及安全性,不重视通信过程安全,但其他三方面对于网络安全也至关重要。匿名通信技术就对发送方、接收方、收发双方的通信关系展开研究。
[0003]
第二代洋葱路由系统(the second generation onion router,tor)即低时延匿名通信系统是全世界最流行的匿名通信系统之一,tor项目组已将其部署并应用到真实的网络环境中。tor通信链路包括发送方、接收方以及三跳中继节点,实现了发送方、接收方以及通信关系匿名。由于tor在保护用户隐私的同时提供良好的性能,被广泛应用。
[0004]
tor网络本身存在一些问题影响匿名性及性能。tor网络采用带宽加权的路由选择算法(the tor projection.tor path selection specification[eb/ol].https://gitwed.torproject.org/torspec.git/tree/path-spec.txt,2020),节点被选择概率与节点的上报带宽呈现正相关,存在一定风险。攻击者虚报带宽或者提供高带宽的恶意节点,增大被选中的概率(puttaswamy k,sala a,zhao b y.improving anonymity using social links[c].workshop on secure network protocols.ieee,2008:12-20.),影响tor的安全性。虚报带宽的节点其数据传输速率与带宽的比值低于正常的洋葱节点。因负载均衡导致拥塞的节点及虚报带宽的节点统称为低传输能力的洋葱节点。链路的构建应合理避免低传输能力的洋葱节点,否则影响用户的使用体验,限制tor网络匿名集的扩充,损害tor的匿名性。
技术实现要素:[0005]
为了克服上述现有技术的缺点,本发明的目的在于提供一种提高低时延匿名通信系统匿名性的方法,以使得入口位置、出口位置及通信关系均能保持较好的匿名性。
[0006]
为了实现上述目的,本发明采用的技术方案是:
[0007]
一种提高低时延匿名通信系统匿名性的方法,通过如下步骤选择链路的入口保护节点、中间节点和出口节点;
[0008]
在低时延匿名通信系统的入口保护节点列表、中间节点列表或出口节点列表中,有n个节点,节点的加权带宽分别为b
w1
、b
w2
、...、b
wn
,加权距离分别为l
w1
、l
w2
、...、l
wn
;首先,计算各节点权重,将n个节点权重w1、w2、...、wn按照升序排序,将w1、w2、...、wn累加得到权重和w;其次,产生一个(0,w)范围内的随机数x,将节点权重求和,找到第i个节点满足此时第i个节点被选择为链路的入口保护节点、中间节点或出口节点,wj表示第j个节点的节点权重。
[0009]
其中,当满足条件的第i个节点有多个时,取第一个满足条件的节点为链路的入口保护节点、中间节点或出口节点。
[0010]
与现有技术相比,本发明的入口节点、出口节点及通信关系均可以维持较好的匿名性,进而大大提高系统的安全性能。
附图说明
[0011]
图1是入口节点被攻击的概率示意图。
[0012]
图2是出口节点被攻击的概率示意图。
[0013]
图3是通信关系被攻击的概率示意图。
具体实施方式
[0014]
下面结合附图和实施例详细说明本发明的实施方式。
[0015]
本发明提供了一种提高低时延匿名通信系统匿名性的方法,修改洋葱节点权重分配策略,根据洋葱节点的带宽及中继节点间的距离分配权重,构建通信链路的中继节点仍具有高带宽,同时收发双方的通信距离相对较近,可以保证用户体验感良好。本发明可简称为w-tor算法,其中w即权重之意。
[0016]
对本发明低时延匿名通信系统做如下介绍:
[0017]
1、本发明所述之“节点”,在低时延匿名通信系统中即其“洋葱节点”。
[0018]
2、在低时延匿名通信系统中,有四种节点标签洋葱节点位置类型:节点标签为“guard”的纯入口节点、节点标签为“exit”的纯出口节点、节点标签为“guard”和“exit”的节点、节点标签没有“guard”和“exit”的节点。根据本发明的带宽加权算法,客户端从入口保护节点列表中选择入口保护节点。入口保护节点列表由节点标签为“guard”的纯入口节点和节点标签为“guard”和“exit”的节点构成,入口保护节点总带宽bg为:
[0019]bg
=b
pg
+b
ge
[0020]
式中,b
pg
表示节点标签为“guard”的节点总带宽,b
ge
表示节点标签为“guard”和“exit”的节点总带宽。
[0021]
客户端从出口节点列表中选择出口节点。出口节点列表由节点标签为“exit”的纯出口节点和节点标签为“guard”和“exit”的节点构成,出口节点总带宽be为:
[0022]be
=b
pe
+b
ge
[0023]
式中,b
pe
表示节点标签为“exit”的节点总带宽。
[0024]
由于成为出口节点及入口保护节点的要求较多,导致节点列表中数量较少,可用的带宽资源稀缺。为了低时延匿名通信系统的网络负载均衡,保证入口保护节点数量充足,当bg<b/3,表明入口保护节点数量少,入口保护节点只能用于入口位置,入口保护节点权重wg=0;当be<b/3,表明出口节点数量少,出口节点只能用于出口位置,出口节点权重we=0。wg与we的计算公式如下:
[0025][0026][0027]
式中,b表示低时延匿名通信系统的网络总带宽。
[0028]
由此,假设入口保护节点列表、中间节点列表或出口节点列表中有多个备选节点,则本发明通过如下步骤选择链路的入口保护节点、中间节点和出口节点,作为三个中继节点;
[0029]
步骤1:假设入口保护节点列表共有n个节点备选,其加权带宽分别为b
w1
、b
w2
、...、b
wn
,加权距离分别为l
w1
、l
w2
、...、l
wn
。首先,计算节点权重,将n个节点的权重w1、w2、...、wn按照升序排序,将w1、w2、...、wn累加得到权重和w;其次,产生一个(0,w)范围内的随机数x,通过将节点权重求和,找到第i个节点满足此时第i个节点被选择为链路的入口保护节点,wj表示第j个节点的节点权重。
[0030]
步骤2:按照步骤1,在中间节点列表中选择链路的中间节点,中间节点列表中备选的节点可以是n个,也可以不是n个。
[0031]
步骤3:按照步骤1,在出口节点列表中选择链路的出口节点,出口节点列表中备选的节点可以是n个,也可以不是n个。
[0032]
值得说明的是,满足的第i个节点可能会有多个,此时,应优先选择第一个满足条件的节点。
[0033]
在本发明中,节点权重根据公式(1)计算:
[0034]
w=α
×bw
+(1-α)
×
lwꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0035]
其中,w表示节点权重,α表示加权系数,α∈[0,1],bw表示节点的加权带宽,lw表示节点的加权距离;
[0036]
当节点标签为“guard”和“exit”,节点的加权带宽根据公式(2)计算:
[0037]bw
=bi×
we×
wgꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0038]
当节点标签为“guard”,节点的加权带宽根据公式(3)计算:
[0039]bw
=bi×
wgꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0040]
当节点标签为“exit”,节点的加权带宽根据公式(4)计算:
[0041]bw
=bi×
weꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0042]
当节点标签没有“guard”和“exit”,节点的加权带宽根据公式(5)计算:
[0043]bw
=biꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0044]
其中,bi表示该节点的带宽,we表示出口节点权重,wg表示入口保护节点权重;
[0045]
节点的加权距离根据公式(6)计算:
[0046][0047]
其中,l表示入口保护节点、中间节点或出口节点计算的距离;l
max
表示入口保护节点列表、中间节点列表或出口节点列表中距离的最大值;
[0048]
当选择出口节点时,距离l根据公式(7)计算:
[0049]
l=(1-β)
×
l
ce
+β
×
l
ed
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0050]
当选择入口保护节点时,距离l根据公式(8)计算:
[0051]
l=β
×
l
ce
+(1-β)
×
l
ge
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0052]
当选择中间节点时,距离l根据公式(9)计算:
[0053]
l=l
gm
+l
me
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0054]
其中,l
ce
表示客户端与出口节点之间的距离,l
ed
表示出口节点与目的地之间的距离;l
ge
表示入口节点与出口节点之间的距离;l
gm
表示入口节点与中间节点之间的距离,l
me
表示中间节点与出口节点之间的距离;β是距离调节参数,β增大,所选择入口保护节点距离客户端越近,所选择出口节点距离目的地越近。
[0055]
本发明可根据节点的ip地址及maxmind数据库获得节点所对应的经纬度,再根据ip地址的经纬度计算两个节点之间的距离,公式如下:
[0056][0057][0058]
d=r*c
[0059]
式中,d为l
ce
、l
ed
、l
ge
、l
gm
和l
me
的统一表达,a和c是计算中间值,δ表示差值,γ表示经度,ε表示纬度,r表示地球半径,ε1和ε2分别表示待计算的两个节点的纬度。
[0060]
为了评估本发明选择的短距离通信链路与最优链路的偏差程度,根据平均绝对百分比误差(mean absolute percentage error,mape)衡量,mape由公式(10)表示。
[0061][0062]
其中,本发明选择的短距离通信链路是指以所选择的入口保护节点、中间节点和出口节点作为三个中继节点,与客户端和目的地构成短距离通信链路,最优链路指路径最短的链路。式中,l'n表示节点列表中计算的最小距离,ln表示所选择链路的路径长度。
[0063]
此时,本发明入口保护节点权重wg根据公式(11)计算:
[0064][0065]
出口节点权重we根据公式(12)计算:
[0066]
[0067]
示例地,在入口位置的备选节点列表中,第i个节点被客户端选中的概率
p
(i)根据公式(13)计算:
[0068][0069]
式中,b
pg
表示节点标签为“guard”的节点总带宽;b
ge
表示节点标签为“guard”和“exit”的节点总带宽。
[0070]
在出口位置的备选节点列表中,第i个节点被客户端选中的概率p(i)根据公式(14)计算:
[0071][0072]bpe
表示节点标签为“exit”的节点总带宽。
[0073]
为说明本发明的效果,还需要对本发明的方法进行性能评估。
[0074]
洋葱路由选择算法匿名性能评估的基本思想是当tor网络中存在一定数量的恶意节点,在网络环境相同的情况下,构建通信链路并得到tor基于带宽加权的路由选择算法和w-tor算法的入口保护节点、通信关系及出口节点被攻击的概率。当tor算法的攻击概率大于w-tor算法的攻击概率,说明w-tor算法的匿名性较好,当tor算法的攻击概率小于w-tor算法的攻击概率,说明w-tor算法的匿名性下降。
[0075]
洋葱路由选择算法通信性能评估的基本思想是以tor用户平均带宽作为指标。假设tor网络中共有n个活跃的洋葱节点,选择3个中继节点构建通信链路,tor网络系统性能由中继节点的负载及中继节点的带宽共同决定。
[0076]
假设网络中有m个用户在线,用户匿名集为{u1、u2、...、um},n个活跃的洋葱节点带宽集为{b1、b2、...、bn}。其中用户uu(1≤u≤m)分别选择3个中继节点构建链路,中继节点带宽为n个活跃节点累计被选中的次数为{f1、f2、...、fn},用户uu通信链路的入口、中间及出口位置的可用带宽表示为由于通信链路可用带宽由中继节点最小带宽决定,即用户可用带宽表示为设网络中m个用户的平均带宽为t,计算如公式(14),得出tor网络中m个在线用户的平均带宽作为性能的定量分析。
[0077][0078]
基于此,本发明构建了如下的仿真实验及结果分析。
[0079]
1、仿真环境
[0080]
(1)实验环境
[0081]
计算机硬件:cpu:intel(r)core(tm)i7-8700 cpu@3.20ghz;内存:8.00gb;
[0082]
硬盘:1tb。
[0083]
操作系统:ubuntu18.04(64位)。
[0084]
仿真工具:torps。
[0085]
ide:pycharm。
[0086]
(2)数据集
[0087]
从tor项目组的官方网站获取仿真数据,使用2020年12月至2021年5月的路由描述符文件和网络共识文件当作torps的输入数据集,数据集相关信息如表1所示。
[0088]
表1数据集信息
[0089][0090]
2、实验结果
[0091]
如图1所示,结果表明,恶意节点数量增加时,tor基于带宽加权的路由选择算法和w-tor算法的入口节点被攻击率增大;恶意节点数量相同时,tor算法的入口节点被攻击率大于w-tor算法,w-tor算法在入口位置处匿名性更好。
[0092]
如图2所示,结果表明,tor基于带宽加权的路由选择算法和w-tor算法的入口节点被攻击率大于出口节点被攻击率。恶意节点数量增加时,tor算法和w-tor算法的出口节点被攻击率增大;恶意节点数量相同时,tor算法的出口节点被攻击率大于w-tor算法,w-tor算法在出口位置处匿名性更好。
[0093]
如图3所示,结果表明,tor基于带宽加权的路由选择算法和w-tor算法的通信关系被攻击率小于入口节点被攻击率及出口节点被攻击率。恶意节点数量增加时,tor算法和w-tor算法的通信关系被攻击率增大;恶意数量相同时,tor算法的通信关系被攻击率大于w-tor算法,w-tor算法匿名性更好。
[0094]
由此可见,本发明w-tor算法在入口位置、出口位置及通信关系均能保持较好的匿名性。
技术特征:1.一种提高低时延匿名通信系统匿名性的方法,其特征在于,通过如下步骤选择链路的入口保护节点、中间节点和出口节点;在低时延匿名通信系统的入口保护节点列表、中间节点列表或出口节点列表中,有n个节点,节点的加权带宽分别为b
w1
、b
w2
、...、b
wn
,加权距离分别为l
w1
、l
w2
、...、l
wn
;首先,计算各节点权重,将n个节点权重w1、w2、...、w
n
按照升序排序,将w1、w2、...、w
n
累加得到权重和w;其次,产生一个(0,w)范围内的随机数x,将节点权重求和,找到第i个节点满足此时第i个节点被选择为链路的入口保护节点、中间节点或出口节点,w
j
表示第j个节点的节点权重。2.根据权利要求1所述提高低时延匿名通信系统匿名性的方法,其特征在于,当满足条件的第i个节点有多个时,取第一个满足条件的节点为链路的入口保护节点、中间节点或出口节点。3.根据权利要求1所述提高低时延匿名通信系统匿名性的方法,其特征在于,所述节点权重根据公式(1)计算:w=α
×
b
w
+(1-α)
×
l
w
ꢀꢀꢀꢀꢀ
(1)其中,w表示节点权重,α表示加权系数,α∈[0,1],b
w
表示节点的加权带宽,l
w
表示节点的加权距离;当节点标签为“guard”和“exit”,节点的加权带宽根据公式(2)计算:b
w
=b
i
×
w
e
×
w
g
ꢀꢀꢀꢀꢀꢀꢀ
(2)当节点标签为“guard”,节点的加权带宽根据公式(3)计算:b
w
=b
i
×
w
g
ꢀꢀꢀꢀꢀꢀ
(3)当节点标签为“exit”,节点的加权带宽根据公式(4)计算:b
w
=b
i
×
w
e
ꢀꢀꢀꢀꢀꢀꢀ
(4)当节点标签没有“guard”和“exit”,节点的加权带宽根据公式(5)计算:b
w
=b
i
ꢀꢀꢀꢀꢀ
(5)其中,b
i
表示该节点的带宽,w
e
表示出口节点权重,w
g
表示入口保护节点权重;节点的加权距离根据公式(6)计算:其中,l表示入口保护节点、中间节点或出口节点计算的距离;l
max
表示入口保护节点列表、中间节点列表或出口节点列表中距离的最大值;当选择出口节点时,距离l根据公式(7)计算:l=(1-β)
×
l
ce
+β
×
l
ed
ꢀꢀꢀꢀꢀꢀ
(7)当选择入口保护节点时,距离l根据公式(8)计算:l=β
×
l
ce
+(1-β)
×
l
ge
ꢀꢀꢀꢀꢀꢀꢀ
(8)当选择中间节点时,距离l根据公式(9)计算:l=l
gm
+l
me
ꢀꢀꢀꢀꢀꢀꢀ
(9)其中,l
ce
表示客户端与出口节点之间的距离,l
ed
表示出口节点与目的地之间的距离;l
ge
表示入口节点与出口节点之间的距离;l
gm
表示入口节点与中间节点之间的距离,l
me
表示
中间节点与出口节点之间的距离;β是距离调节参数,β增大,所选择入口保护节点距离客户端越近,出口节点距离目的地越近。4.根据权利要求3所述提高低时延匿名通信系统匿名性的方法,其特征在于,根据节点的ip地址及maxmind数据库获得节点所对应的经纬度,再根据ip地址的经纬度计算两个节点之间的距离,公式如下:点之间的距离,公式如下:d=r*c式中,d为l
ce
、l
ed
、l
ge
、l
gm
和l
me
的统一表达,a和c是计算中间值,δ表示差值,γ表示经度,ε表示纬度,r表示地球半径,ε1和ε2分别表示待计算的两个节点的纬度。5.根据权利要求3所述提高低时延匿名通信系统匿名性的方法,其特征在于,所选择的入口保护节点、中间节点和出口节点作为三个中继节点,与客户端和目的地构成短距离通信链路,根据平均绝对百分比误差衡量短距离通信链路与最优链路的偏差程度d,如公式(10)所示:其中,l'
n
表示节点列表中计算的最小距离,l
n
表示所选择链路的路径长度,所述最优链路指路径最短的链路。6.根据权利要求3所述提高低时延匿名通信系统匿名性的方法,其特征在于,所述入口保护节点权重w
g
根据公式(11)计算:所述出口节点权重w
e
根据公式(12)计算:b表示低时延匿名通信系统的网络总带宽,b
g
表示入口保护节点总带宽,b
e
表示出口节点总带宽。7.根据权利要求3所述提高低时延匿名通信系统匿名性的方法,其特征在于,在入口位置的备选节点列表中,第i个节点被客户端选中的概率p(i)根据公式(13)计算:式中,b
pg
表示节点标签为“guard”的节点总带宽;b
ge
表示节点标签为“guard”和“exit”的节点总带宽;在出口位置的备选节点列表中,第i个节点被客户端选中的概率p(i)根据公式(14)计算:
b
pe
表示节点标签为“exit”的节点总带宽。
技术总结一种提高低时延匿名通信系统匿名性的方法,通过如下步骤选择链路的入口保护节点、中间节点和出口节点;在低时延匿名通信系统的入口保护节点列表、中间节点列表或出口节点列表中,有n个节点,节点的加权带宽分别为b
技术研发人员:栾英姿 武衣名
受保护的技术使用者:西安电子科技大学
技术研发日:2022.03.14
技术公布日:2022/7/4