优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

P2P网络中的匿名通信算法研究

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:
1.1.1 P2P系统中的匿名性
近几年来,人们逐渐在研究P2P网络中的节点隐藏和匿名通信问题,提出了一些解决办法。Napster是最先出现的一个P2P系统,它采用了集中式目录管理方式,所有peer信息都是通过中央服务器来进行发布和维护的,但是并未考虑节点的信息隐藏和整个P2P网络的安全。Gnutella是真正的纯P2P网络系统,没有中央服务器,所有节点都是对等的,采用flooding的方式来进行网络资源的定位,请求者与服务者之间建立直接的通信通道来进行文件传输。它在资源搜索的时候保证了节点的隐蔽和匿名,但在文件传输的过程中这个作用就丧失了。Freenet也是一个纯P2P的分布式结构化文件共享存储系统,在文件传输过程中采用多级代理转发来实现节点的隐蔽。但是它采用的全链路方式,在请求者和发送者之间的链路都是与相邻节点之间进行连接而形成,同时它采用的是全程缓存技术,这样就导致了系统较大的访问延迟和系统开销,同时存在单点失效的问题。APFS是在基于集中目录式管理结构的P2P文件共享系统中采用Onion Routing解决节点相互隐藏问题,采用IP组播的技术来实现会话管理。Mapper基于分布式无结构P2P文件共享系统,将IP组播技术和多级代理转发技术相结合,解决了P2P网络中文件访问的相互匿名问题。Crowds系统是基于组群的思想来实现匿名的。系统中的代理,称做jondo,每个成员用户均有一个jondo。当用户发出服务请求时,jondo充当请求代理,将该请求以等概率随机发给组中任一代理之后,路径上每个代理以随机概率决定是转发给下一个代理,还是将服务请求传给Server[4]。

think58.com

[来源:http://think58.com]


2.2 信息量分析攻击
信息量分析攻击是匿名系统常见的攻击方式之一。信息量分析攻击通过分析传送信息的长度,对手可以关联不同的客户端-服务器对。信息量分析攻击是对通信方式的研究,对象不是电文内容本身,而是它们的特点。谁和谁联系过、什么时候、电文的长度是多少、在多短的时间答复、答复有多长,这些就是信息量分析的问题,其答案可以揭示出大量的信息。
在Mix网络中传输的信息包中添加Ri,其目的是用以消除攻击者验证两个加密信息包是否相同带来的威胁。即防止攻击者将从某个Mix节点发送出去的信息包,用该Mix的公钥重新加密之后,再与进入Mix的信息包进行比对,达到攻击目的。可是在一定程度上不能够抵御基于信息量分析的攻击。因为随机位串Ri相对于要发送的M来说是非常小的。比如一个2MB的信息包经过一个Mix结点后,大小仍然约等于2M。
Mix节点在传送信息包时可采取重新排序、延迟和填充手段使攻击者获取通信关系的概率更低,从而加大攻击者进行流量分析的难度。在抵御信息量分析攻击方面,显然,传统Mix机制可通过随机位串的填充将所有信息包填充成一样大,来抵御匿名系统中的信息量分析攻击,但是给系统带来了更多的开销。比如有一组信息包,其中大部分大小低于0.5M,而有一个是2M的,那么Mix可以通过把所有的信息包填充成2M,来抵御匿名系统中的信息量分析攻击,但这无疑加重了网络额外的带宽开销,引发拥塞,从而降低了网络的性能。 think58.com
[来源:http://think58.com]

2.3 基于分组填充Mix策略的匿名通信机制
Mix节点输出报文的规则关系到Mix网络的匿名性能,目前关于Mix节点转发报文的规则主要有阈值(Threshold)Mix,缓冲池(Pool)Mix,停止转发(Stop-and-Go)Mix等。在阈值Mix系统中,Mix节点转发报文的规则是:事先设定一个阈值n,只有当Mix收到的信息包数目达到阈值n时,才将n个信息包同时发送出去。
为了在有效保证Mix机制抵御信息量分析攻击能力的前提下,尽量降低不必要的通信开销。本节在阈值Mix系统中Mix节点转发报文的规则基础上,提出了一种基于分组填充Mix策略的新型匿名通信机制,其核心思想如下:事先设定一个阈值n,当Mix收到的信息包数目达到阈值n时,Mix先对n个信息包进行分组填充,然后打乱顺序将n个信息包同时发送出去。
基于上述分组填充Mix思想,综合考虑通信开销与匿名度之间的平衡关系,本节给出了分组填充算法如下:
分组填充算法:
Step 1:Mix接收n个信息包
Step 2:对接收到的每一个信息包,用自己的公钥解密,丢弃随机位串
Step 3:把n个信息包按包的大小从小到大进行排序
Step 4:每相邻的k个包分为一个组,填充为组内的包的最大值。如果最后只剩下不到k个包,就把剩下的包作为一组,填充为组内的包的最大值。 内容来自think58
[来源:http://www.think58.com]

在这个算法中,k取值越小,带宽越节约,k的取值越大,匿名性越好。如果取k=1,就是每个包都不填充,都按原来的大小发送,这样是最节约带宽的,但是达不到理想的匿名效果。如果取k=n,就相当于全部填充成该n个数据包中最大的值,这样就有比较高的匿名性。所以,k的取值要在带宽和匿名度之间做一个权衡。对于匿名性,如果一个由多个Mix节点组成的匿名通信网络中,每一个Mix节点都对接收到的信息包采取分组填充,那么,即使k=2,新机制还是可以有较高的匿名性,可以抵御比较网络中包大小的信息量分析攻击。
3.2 NS原理
3.2.1 丰富的构件库
用户可以自己完成对所要研究的系统的建模工作,编写各种事件的处理代码,然后利用这个离散事件模拟器来完成对这个模拟的模拟。然而,这样不能发挥NS的优势,不符合NS设计者的本意。针对网络模拟,NS已经预先做了大量的模型化工作。NS对网络系统中一些通用的实体已经进行了建模,例如链路、队列、分组、节点等,并用对象来实现了这些实体的特性和功能,这就是NS的构件库。相对于一般的离散事件模拟器来说,NS的优势就在于它有非常丰富的构件库,而且这些对象易于组合,易于扩展。用户可以充分利用这些已有的对象,进行少量的扩展,组合出所要研究的网络系统的模型,然后进行模拟。这样就大大减轻了进行网络模拟研究的工作量,提高了效率。 copyright think58

[资料来源:www.THINK58.com]


NS的构件库所支持的网络类型包括广域网、局域网、移动通信网、卫星通信网等,所支持的路由方式包括层次路由、动态路由、多播路由等。NS还提供了跟踪和监测的对象,可以把网络系统中的状态和事件记录下来以便分析。另外,NS的构件库中还提供了大量的数学方面的支持,包括随机数产生、随机变量、积分等。