P2P网络中的匿名通信算法研究毕业论文
以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
资料介绍:
目 录
目 录 III
1 绪 论 1
1.1 课题研究背景与意义 1
1.1 国内外研究现状 2
1.1.1P2P系统中的匿名性 3
1.1.2基于P2P的匿名通信机制 4
1.2 论文结构和研究内容 6
1.3 本章小结 6
2 P2P中的一种基于分组填充MIX策略的匿名通信机制 7
2.1 引 言 7
2.2 信息量分析攻击 8
2.3 基于分组填充MIX策略的匿名通信机制 8
2.4 本章小结 9
3 NS2平台简介 10
3.1 NS的简介 10
3.2 NS原理 11
3.2.1丰富的构件库 12
3.2.2离散时间模拟器 11
3.2.3分裂对象模型 12
3.2.4开放的源代码 13
3.3 NS的一般过程 13
3.4 本章小结 14
4 模拟与分析 15
4.1 基于分组填充MIX节点模拟 15
4.1.1MIX基本模型 15
4.1.2模拟过程及结果 15
4.1.3模拟总结 22
4.2 基于P2P的MIX网络通信模拟 22
4.2.1基于P2P的MIX网络模型 22
4.2.2模拟过程及结果 23
本文来自think58 [来源:http://think58.com]
4.2.3模拟总结 27
4.3 本章小结 27
结 论 28
致 谢 29
参考文献 30
附录A:MIX_SIMULATION_RESULT 32
附录B:部分模拟代码 36
附录C:模拟程序环境搭建说明 44
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]。
[资料来源:http://www.THINK58.com]
1.1.2 基于P2P的匿名通信机制
P2P网络中通常采用重路由技术实现匿名通信。采用重路由技术提供匿名保护的匿名通信机制主要有:Mixes和 洋葱路由技术。
1.1.2.1 Mixes网络
在1981年David Chaum提出Mix网络的概念。Chaum 定义了一个经过多个中间节点转发数据的多级目标路径,为隐蔽接收者,发送者可选定N 个连续目标,其中之一为真正接收者。窃听者在一段链路上获取真正接收者的概率为1/ N,并且中间节点在传送消息时可采取重新排序、延迟和填充手段使获取真正目标的概率更低,从而加大攻击者进行流量分析的难度。MIX网络结构示意图见图1.1。为实现上述混淆,必须满足以下两个条件:(1)所选目标能可靠地完成上述工作且彼此间存在安全通道;(2)中间节点必须知道整个路径结构才能重新排序。再者,上述延迟虽然可以防止敌手的跟踪,但也可能为攻击者进行攻击提供时间。在Mix概念的基础上,发展了一系列比较可行的匿名系统,使基于Internet 的匿名技术得到了局部应用[2]。
2.2 信息量分析攻击
信息量分析攻击是匿名系统常见的攻击方式之一。信息量分析攻击通过分析传送信息的长度,对手可以关联不同的客户端-服务器对。信息量分析攻击是对通信方式的研究,对象不是电文内容本身,而是它们的特点。谁和谁联系过、什么时候、电文的长度是多少、在多短的时间答复、答复有多长,这些就是信息量分析的问题,其答案可以揭示出大量的信息。
本文来自think58 [资料来源:http://THINK58.com]
在Mix网络中传输的信息包中添加Ri,其目的是用以消除攻击者验证两个加密信息包是否相同带来的威胁。即防止攻击者将从某个Mix节点发送出去的信息包,用该Mix的公钥重新加密之后,再与进入Mix的信息包进行比对,达到攻击目的。可是在一定程度上不能够抵御基于信息量分析的攻击。因为随机位串Ri相对于要发送的M来说是非常小的。比如一个2MB的信息包经过一个Mix结点后,大小仍然约等于2M。
Mix节点在传送信息包时可采取重新排序、延迟和填充手段使攻击者获取通信关系的概率更低,从而加大攻击者进行流量分析的难度。在抵御信息量分析攻击方面,显然,传统Mix机制可通过随机位串的填充将所有信息包填充成一样大,来抵御匿名系统中的信息量分析攻击,但是给系统带来了更多的开销。比如有一组信息包,其中大部分大小低于0.5M,而有一个是2M的,那么Mix可以通过把所有的信息包填充成2M,来抵御匿名系统中的信息量分析攻击,但这无疑加重了网络额外的带宽开销,引发拥塞,从而降低了网络的性能。
2.3 基于分组填充Mix策略的匿名通信机制
Mix节点输出报文的规则关系到Mix网络的匿名性能,目前关于Mix节点转发报文的规则主要有阈值(Threshold)Mix,缓冲池(Pool)Mix,停止转发(Stop-and-Go)Mix等。在阈值Mix系统中,Mix节点转发报文的规则是:事先设定一个阈值n,只有当Mix收到的信息包数目达到阈值n时,才将n个信息包同时发送出去。
本文来自think58
[资料来源:http://think58.com]
为了在有效保证Mix机制抵御信息量分析攻击能力的前提下,尽量降低不必要的通信开销。本节在阈值Mix系统中Mix节点转发报文的规则基础上,提出了一种基于分组填充Mix策略的新型匿名通信机制,其核心思想如下:事先设定一个阈值n,当Mix收到的信息包数目达到阈值n时,Mix先对n个信息包进行分组填充,然后打乱顺序将n个信息包同时发送出去。
基于上述分组填充Mix思想,综合考虑通信开销与匿名度之间的平衡关系,本节给出了分组填充算法如下:
分组填充算法:
Step 1:Mix接收n个信息包
Step 2:对接收到的每一个信息包,用自己的公钥解密,丢弃随机位串
Step 3:把n个信息包按包的大小从小到大进行排序
Step 4:每相邻的k个包分为一个组,填充为组内的包的最大值。如果最后只剩下不到k个包,就把剩下的包作为一组,填充为组内的包的最大值。
在这个算法中,k取值越小,带宽越节约,k的取值越大,匿名性越好。如果取k=1,就是每个包都不填充,都按原来的大小发送,这样是最节约带宽的,但是达不到理想的匿名效果。如果取k=n,就相当于全部填充成该n个数据包中最大的值,这样就有比较高的匿名性。所以,k的取值要在带宽和匿名度之间做一个权衡。对于匿名性,如果一个由多个Mix节点组成的匿名通信网络中,每一个Mix节点都对接收到的信息包采取分组填充,那么,即使k=2,新机制还是可以有较高的匿名性,可以抵御比较网络中包大小的信息量分析攻击。
[资料来源:www.THINK58.com]
下一篇:用MD5算法对图像进行数字签名