P2P组网中的匿名通信技术

    符安文

    

    

    

    摘要:p2p网络的应用较为有效地解决了以往匿名通信系统的发展局限性,增强其可扩展能力,但与之相矛盾的是,受P2P网络中节点动态上下线的影响,不利于维持匿名通道的稳定性。鉴于此,以非结构化P2P网络为关键技术支撑,创建匿名通信系统,其在传统匿名通信系统的基础上做出创新,通过中继组的途径构建匿名通道,可提高其对节点失效的应对能力,以保证匿名通信系统的稳定运行。

    关键词:P2P网络;匿名通信系统;通道技术;中继组

    中图分类号:TP393? ? ? 文献标识码:A

    文章编号:1009-3044(2021)18-0077-03

    开放科学(资源服务)标识码(OSID):

    计算机及网络技术呈日新月异的发展趋势,在给生产、生活提供便捷服务的同时,用户隐私安全问题也随之凸显。置身于互联网环境中,如何实现匿名通信成为技术人员深入探讨的问题,同时也是每位用户的关注点,应当合理应用匿名通信技术,以达到匿名投票、匿名浏览网页等多重效果,既满足用户的网络操作需求,又周全地保护用户的隐私。

    1匿名通信的概述

    通信全流程中,发送者、中间链路及接收者共同构成一条通信链路,庞大体量的通信数据则存在其中。各类数据在中间链路中具有保密性是实现通信安全的必要前提,对应于发送者和接收者而言,其信息的保密性则是实现匿名安全的必要前提。对于匿名通信的概念,可从如下几个角度切入,强化对其的认知:

    匿名反映的是某实体在所处的集合中具有较显著的不可辨认性,由此衍生出匿名集的概念,其反映的是与某行为相对应的各实体的总和。在匿名的条件下,某个实体能够与同属性、同行为的实体集合混为一体,通过该类实体的掩护作用,达到隐藏自身行为的效果,因此在相似成员总量增多、匿名均匀性提高的背景下,该实体的匿名性则越强,更具有不可辨认性。

    匿名通信,指的是在整个通信全流程中,包含网络地址、通信关系在内的各类隐私在节点中均具有被隐藏的特性,无论外部采取何种攻击手段,均难以确切地掌握通信方的信息。假定发送者为S、接收者为D、外部观察者为O,在S与D的通信过程中,若能够实现对O隐藏通信关系,此时则可以在S与D间构建一条具有安全保障的匿名通道;从S的角度来看,若无法将S与D关联起来,D则无法掌握S的真实信息,因此在达到匿名通信效果的同时,还可提供发送者匿名的功能。

    匿名主要具有三重特性:

    (1)不可关联性。各实体、信息等对象均具备不可关联性,对于两个或多个对象而言,在其具备不可关联性后,观察者对其的判断和其自身具备的先验知识的判断一样多,相比于攻击者的先验概率而言,当其对两个对象的关联度判断的后验概率有所增加或减少时,则视为攻击成功,意味着对象间未形成不可关联特性。在通信系统中,随着攻击者观察时间的延长以及其持续性的信息窃取操作,则对应有某对象实施某行为的概率存在变动(含增加或减小的变化趋势)的情况,此时对象与行为间则表现出可关联的特点。

    (2)不可关联性。根据不可关联性,能够推出匿名性,前者是后者的充分条件。尽管不可关联性受到破坏,但并不意味着匿名性必然会发生改变,即前者并非是后者的必要条件,甚至在部分场景中匿名程度均不会受干扰。例如,有时可跟踪是谁做出了信息的发送操作,也可确定谁完成了信息的接收操作,尽管能够掌握发送者和接收者的情况,但对彼此间的通信关系却无从所知。

    (3)不可观察性。从发送者的角度来看,在由用户所组成的不可观察集合中,无法对实际的信息发出者做出判断;从接收者的角度来看,其不可观察性则指的是无法掌握是谁接收了信息。类似的,不可观察性是匿名性的充分非必要条件。例如,发送者是不可观察的,表明其具有匿名的特性,由于该发送者无法注意信息是否发送,因此则不具备与其他信息实现关联的条件。

    2 P2P网络概述

    TAP是新型P2P网络形式,在此条件下创建匿名通道时,中继节点以hopId为依据加以选择,即各hopId均对应有特定的节点,经比较可知,选择节点的nodeId在数值方面与之具有较显著的相似性。在该特性下,失效节点实现重新定位,即对应至另外的k-1节点。

    Cashmere与TAP具有相似性,其网络层实行的是前缀路由的策略,有所不同的是,此时的中继并非某特定的节点,而是基于一组节点(均具有前缀一致的特點)所构成的联合形式,该整体可共享一对公钥和私钥,形成虚拟中继节点,其中的每个成员具有同等权利,均可解密接受的数据。

    可以发现,在上述所提的系统中,其都具备提高匿名通道工作性能的特性,但由于各自均是结构化P2P网络的缘故,在数据存放、网络拓扑结构方面都有着较强的局限性,其均做出特定的限定,也可将其视为存在制约作用,不具备非结构化系统的灵活特性。而在Cashmere系统中,其nodeID采取的是随机分配的机制,其前缀的Group也自然具有随机性,随之影响系统抵抗节点失效的能力;对于Root节点,其除了接受信息包外,还需将其对接至组内剩余的节点,必然会耗费大量的网络带宽。

    3设计方案

    为突破传统系统的束缚,此处做出创新,构建LeafageMix的新型匿名通讯系统,关于该方案的具体内容,做如下分析。

    3.1网络层的构建

    系统为非结构化的P2P网络模型,为之适配的是节点发现机制,在其支持下,若某节点a进入网络,便能够在较短时间内高效锁定邻居节点,生成与之相对应的路由表信息,并将该部分载入本地路由表,实现信息的扩充。网络中带有索引节点,是基于性能评估后所产生的,节能的功能更为丰富,可与其他索引节点交换路由信息,该机制下网络带宽的消耗量有较大幅度的减少。

    节点发现机制是本系统的重要技术突破口,有向图为关键方法,其中的顶点为Mix节点,依托于各类节点,衍生出多条边,即反映的是各节点间的联系,根据此关系,在发现某节点后,则在既有图形的基础上增添一条边。向网络中增添节点后,有向图为初级形态,即弱连通图,随着其与索引节点的接触,双方伴有路由信息交换行为,由此衍生出全连通图。

    非结构化P2P系统的显著特性在于摆脱了过多的约束条件,其能够以杂乱的结构形式而存在,具体如图1所示。图中共给出了4个索引节点(即黑色部分),若某个节点加入,能够与索引节点发生关系,实现路由信息的交换操作,由此确定网络的拓扑信息。

    3.2节点选择算法

    节点加载至网络后,可以得到当前网络节点信息,在此基础上进一步将其载入本地路由表。信息的覆盖范围广,体现在IP地址、节点的公钥等方面。

    路由表内的节点丰富,为实现对该类节点的高效分组,在路由表的基础上还增添了信誉度,由此构建信誉度模型,在其基础上,可确定某节点对其他节点的信誉度。信誉度的取值区间为0~1,假定在某网络中,若存在两个节点A和B,当B能够为A提供优质服务时,A对其的信誉度将有所提高;反之,若B对A提供的是劣质服务,则会降低A对于B的信誉度。在引入信誉度的概念后,能够通过可信任程度的方式表征节点的关系。在该评定机制下,若计算模型的信誉度较高,则可以极为准确地对节点做出区分,形成善意节点和恶意节点两类。在应用信誉度后,可以改善匿名系统的综合性能,保证其能够较为有效地抵御恶意节点的攻击。

    在选择节点的过程中,并非任何一次均可确定最佳信誉度下的节点,其原因在于系统中将一组节点充当中继,而并非某特定的单个节点,因此在算法设计中,可以按照如下的思路展开:从本地路由表内做出筛选,确定k个节点,同时其必须具备广泛性和服务性能两方面的特征。系统应用的选择算法能够与信誉度参数融合。具体而言,确定本地路由节点,对其加以划分,以信誉度为依据形成优、良、差三个等级;此外,以得到的等级为依据,适配选择算法,确定某节点,将其作为首选节点。在经过该流程后,可提高中继组节点的均衡性,即存在信誉度高和低的节点,此方式能够给节点的选择提供良好的基础,丰富节点选择的广泛性,除此之外还可增强节点的服务性能。

    邻居节点可得到进一步的细分,形成更多的级别,但从系统匿名性受扰的角度来看,中继组成员的个数n对其具有较显著的影响,若级别数超过n,则超过n级别的节点将无法被选取。算法伪代码为:

    //k为中继组成员的个数

    //邻居节点按信誉度分为Better-Level, Good-Level, Ordi-nary-Level共3个级别

    //IPPrefixSelection为IP前缀选择算法

    Remove malicious node from neighbor-table

    While (channel is not complete)

    time=0;

    While (k>0)

    If (time%3==0)

    IPPrefixSelection(Better-Level);

    Else if(time% 3==1)

    IPPrefixSelection(Good-Level);

    Else

    IPPrefixSelection(Ordinary-Level);

    time++;

    k--;

    3.3通道构建方法

    节点均有一对公钥和私钥,假定其通道长度为L,对于发送者A而言将从已创建的本地路由表内做出选择,即M1、M2…ML,共计L个中继组,各组分别对应有k各节点。具体至ashmere系统中,中继组也分别存在相应的公钥和私钥,从而形成如下操作流程:A借助该公钥嵌套加密后,传递至接受方B,B能够以中继组的身份而存在,其所处的路径无特定的约束,具有随意性,当组内节点获取信息后,可扩宽该部分内容,传至其他节点,此过程中网络带宽的消耗量增加,应用过程中存在较明显的局限性。

    如图2所示,其中A指的是发送者,M1-M4对应的是路径上的4个中继组,虚线圆圈对应的是接受方的中继组M2,M2的首选节点视为B。由此展开分析:在通道的建立过程中,A在应用M1的公钥后可实现对对称密钥的加密处理,经传递后,当Prime-Node接收该部分数据包后,则会通过私钥的方式完成解密操作,由此确定对称密钥,并结合其他成员的公钥,实现对该部分密钥的加密处理,进一步传递给各成员。经此流程后,中继组内各节点均能够完整地保留该对称密钥。类似的,再按照该机制创建通道A-M 1-M2-M3-M4。

    在数据的传输流程中,数据包仅需传至各组的Prime-Node,若不具备该接受节点,数据则会发生向其他节点传递的变化,由此形成新的Prime-Node,并解密数据包,从中确定中继组的实际地址。通过对上述所提机制的应用,在创建通道的过程中传递密钥,规避了以往对数据进行广播的操作。

    4模拟实现及分析

    4.1模拟实现

    基于JXTA协议创建P2P网络,引入公私钥加密(RSA)算法和对称加密(DES)算法。發送方的灵活性增强,可自行设定通道的长度以及构成中继组的成员总量。

    4.2匿名度分析

    匿名集内部的某实体发出消息后,攻击者为了获取信息,则会从该匿名集中做出判断,确定信息究竟由哪个实体发出,可以用来度量匿名的方法,经计算后确定匿名度d,具体有:

    [d=-t∈TPtlog2(Pt)log2(T)]

    式中:T为节点的集合,t为任一节点,Pt为攻击者辨别该节点是消息发送方的概率。

    关于恶意节点与匿名性的规律,如图3所示。结合图中内容展开分析,其共包含103个节点,根据上文所提的匿名度取值范围,可以得知在恶意节点比例增加时,匿名性表现出下降的趋势。

    4.3通道的稳定性分析

    假定有100条匿名通道,长度为4,中继组成员数为3,对于此条件下模拟节点失效与断裂通道数量的关系,具体如图4所示。

    其中,k指的是中继组的成员数量。可以得知,在节点失效概率维持稳定的前提下,若k值增加,其对应的通道断裂发生概率呈下降的变化趋势,有利于提高通道的稳定性。

    5结语

    综上所述,文章对P2P组网中的匿名通信技术展开探讨,创建LeafageMix匿名通信系统,经论证分析后可知,其具有较好的匿名性,通道的稳定性有所提高,系统的功能得以完善,综合应用效果显著。

    参考文献:

    [1] 刘杰林.基于物联网的P2P通信技术研究[J].无线互联科技,2019,16(8):11-12.

    [2] 张宗郁,张亚平.一种新的P2P混合匿名通信系统[J].计算机与现代化,2012(5):55-58,63.

    [3]张国印,李璐,李影,等.基于P2P的匿名通信技术研究[J].计算机科学,2012,39(4):98-100,109.

    【通联编辑:光文玲】