您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 基于P2P的匿名技术研究
北京图形研究所(基于P2P的匿名通信技术研究)1基于P2P的匿名技术研究北京图形研究所李超【内容提要】本文针对匿名通信中两种基本技术:Mix和洋葱路由进行了论述,并分析了P2P网络对于Mix网络和传统的洋葱路由的改进和缺陷,论述了基于P2P的匿名通信在提高通信性能和抗攻击能力上的实现技术。1概述传统意义下的网络安全包括以下四个要素:秘密性(Confidentiality)、完整性(Integrity)、可用性(Availability)和真实性(Authenticity)。近期的研究表明,匿名性(Anonymity)在某种意义上也可被认为是安全性的构成要素之一。随着Internet网络上应用的增多,Internet上的安全和隐私越来越受到人们的关注,为保护用户隐私,提供匿名服务,一些应用如电子投票E2Voting)、电子银行(E2Banking)、电子商务(E2Commerce)等已将匿名性作为一个衡量指标。利用现代加密体制,例如公私钥加密、电子签名、密钥协商算法能够很好地解决信息的机密性、完整性、可用性和真实性。匿名通信技术已研究发展多年,迄今为止还没有形成完整的匿名理论体系,现有的各种匿名通信技术实现实时环境下的匿名性都很困难。本文在对目前几种比较可行的匿名系统解决方案分析研究的基础上,从对网络环境下匿名系统可能受到的威胁方式研究分析入手,开发研制出一个安全性相对加强的基于P2P的匿名通信系统。2典型匿名通信系统2.1Chaum混淆(Mixes)网络在1981年DavidChaum提出MIX网络的概念。Chaum定义了一个经过多个中间节点转发数据的多级目标路径,为隐蔽接收者,发送者可选定N个连续目标,其中之一为真正接收者。窃听者在一段链路上获取真正接收者的概率为1/N,并且中间节点在传送消息时可采取重新排序、延迟和填充手段使获取真正目标的概率更低,从而加大攻击者进行流量分析的难度。MIX网络结构示意图见图1。为实现上述混淆,必须满足以下两个条件:(1)所选目标能可靠地完成上述工作且彼此间存在安全通道;(2)中间节点必须知道整个路径结构才能重新排序。再者,上述延迟虽然可以防止敌手的跟踪,但也可能为攻击者进行攻击提供时间。在MIX概念的基础上,发展了一系列比较可行的匿名系统,使基于Internet的匿名技术得到了局部应用。北京图形研究所(基于P2P的匿名通信技术研究)2图1MIX网络结构示意图2.2洋葱路由技术(OnionRouting,简称OR)洋葱路由技术(OnionRouting,简称OR)是美国海军研究实验室的研究者们采用多次混淆的办法,提出的一种新的匿名通信技术,可以在公开的计算机网络中隐蔽网络的结构,对在互连网上进行的跟踪、窃听和流量分析有很强的抵抗作用,通信双方用洋葱包代替通常的TCP/IP数据包,利用代理技术实现与目标系统间的连接.这种洋葱路由代理技术的实现过程见图2。图2洋葱路由技术示意图2.2.1洋葱路由技术的缺陷(1)路径信息可以隐蔽,但代理路由器X和W易成为攻击的重点,尤其是主机A至X,W至主机B之间是以明文传输,即使采用应用层加密,但传输层的端口地址和IP层的IP地址却是公开的,缺乏端点的安全机制,一旦攻破X或W节点,则路由器上的链路状态和节点信息将全部公开了。(2)两路由节点通信数据采用了公钥密码机制,当主机节点增多且数据流量增大时,路由节点解密的时间长,占用大量的CPU资源,路由节点的转发效率下降,路由节点将成为网络的瓶颈。代理路由X路由Y路由Z代理路由W主机A主机B((((d,B),W)Pw,Z)Pz,Y)Py(((d,B),w)Pw,z)Pz((d,B),w)Pwd-BdM1~M6:MIX节点Alice:匿名访问用户AP:匿名应用PS:网络服务PSM2M3M1M5M4M6AliceAP北京图形研究所(基于P2P的匿名通信技术研究)3(3)所有节点必须把公私钥、认证码、可信标识、连接的链路信息、存取控制策略、链路当前状态等信息存放在数据库中,当节点N很大时,维护和管理链路的数据库变得庞大,存取路由信息的时延也加大.因此要满足可接受的效率,N的规模要受到限制。(4)单一类型的链路效率低,由于葱头路由是面向连接的技术,而实际的应用是各不相同的;有些连接是短暂的,如HTTP,而有些连接是长时间的,如RLOGIN和TELNET。3基于P2P的匿名通信系统3.1为什么引入P2PP2P网络和传统的客户/服务器(C/S)结构相比较,P2P网络中节点的关系是平等的(称为对等点--Peer),改变了客户机在C/S结构中是被动的角色,使得客户机在P2P网络中成为同时具有服务器和客户机功能的Peer;减轻了服务器的负载并且减少了网络拥塞。P2P网络的体系结构能够解决C/S结构中一些由本身的结构引起而无法在本身的框架中解决的问题。将P2P应用于匿名通信的主要思想在于:P2P网络中的每个节点都可以成为MIX节点,匿名通信系统可以从P2P网络得到同等规模的Mix资源,而且发起匿名通信和接收匿名通信的节点都处在匿名通道中,没有了洋葱路由技术中首尾两个Mix节点的薄弱环节。P2P网络不是特定组织经营的,每一个使用对应P2P软件的用户拥有可以加入到该P2P网络,成为P2P网络一个节点,不可能有哪个组织或个人能随心所欲地控制所有的P2P节点。匿名通道构建过程中,中继节点是由用户随机选择,攻击者很难能控制匿名通道中的所有节点,破坏匿名性难度很大。如果攻击者控制了相当多数量的节点并进行联合攻击,也可能会窃取匿名通道信息,在本系统实现中引入了抵御联合攻击的算法。3.2基于P2P的匿名通信系统框架利用P2P标准框架JXTA进行开发,基于JXTA本身的特点可减少底层P2P网络模块开发的难度,增加系统的可扩展性和互操作性。系统是一个相互协作的系统,每个MIX节点主要包括匿名库和匿名服务器(MixServer)两部分。用户程序通过匿名应用开发接口调用匿名库函数,匿名库借助P2P平台的资源搜索功能找到符合条件的MixServer,并建立匿名通道。匿名传输协议是匿名库和MixServer之间的匿名通道协商构建通信协议。每一个在线的MIX节点都能够发起匿名通信,也必须提供MixServer服务。系统中内嵌了匿名http代理服务,用户不需开发专门的匿名http应用程序,只需修改IE或其它web浏览工具代理设置,即可匿名浏览指定网站。系统结构示意图如图3。北京图形研究所(基于P2P的匿名通信技术研究)4图3基于P2P的匿名通信系统框架结构图3.3匿名实现3.3.1匿名通道的建立发送方S,中继节点m1,m2,m3,目标节点D,其中中继节点m1,m2,m3各有k-1个候选节点.发送方在决定建立匿名通道前,选择用何种长度(固定长度,随机长度)的匿名通道,并且不需要事先选定好中继节点,中继节点在建立的过程中动态产生。通道建立过程见图4。1)S首先用已有的节点选择算法产生第一组(k个)中继节点,其中m1为这一组中继节点的第一候选节点,通过发送s1密钥,S与这一组候选节点采用”群组协商密钥协议”与S产生共享密钥sk1,S发送{建立连接}sk1到m1节点,m1节点用与S共享的密钥sk1解密以后得到命令{建立连接},与S建立了连接。2)m1返回建立成功答复信息,此时建立了通道T(S----m1)。3)S向m1发送继续建立匿名通道信息{继续选择节点,密钥s2}sk1。4)m1收到信息解密以后解密得到s2,采用节点选择算法产生第二组(k个)中继节点,其中m2为这一组中继节点的第一候选节点,这一组候选节点与s2产生一个共享密钥sk2,m1向m2发出{建立连接}sk2。5)m2收到信息用sk2密钥解密,然后返回成功答复信息给m1。6)m1收到m2发出的成功建立连接信息后,向S发出成功连接信息:{成功连接,密钥sk2}sk1,S收到m1发送的成功连接信息,此时建立了通道T(S---m1---m2),S记录路径m2以及与m2产生的共享密钥sk2。7)S向m1发出继续建立请求:{传递给m2,{继续选择节点,密钥s3}sk2}sk1JREJXTA匿名库匿名代理服务匿名应用匿名应用匿名应用开发接口MixServerJREJXTA匿名通信协议北京图形研究所(基于P2P的匿名通信技术研究)58)m1收到S的请求后,解密得到一个传递给m2的命令,于是将消息继续传递给m2。9)m2收到m1传递的消息用sk2解密,得到继续选择节点的命令,于是用同样(第四步到第六步)的方法继续创建一个节点m3。10)m3用与S传递的s3产生一个共享密钥sk3,用sk2加密后传递回m2。11)m2将得到的消息继续用sk1加密。12)S得到消息{{建立成功,m2,sk3}sk2}sk1,S循环解密得到信息,并记录,此时建立了通道T(S---m1---m2---m3)。13)最后用同样的方法(第十三到二十步)发送消息到m3,m3接受到消息解密判断不需要再传递消息,直接连接目标节点D,最终建立通道:T(S---m1---m2---m3---D)。3.3.2匿名socket服务的建立利用已经建立了的匿名通道T(S---m1----m2---D)建立socket服务,S首先向通道的第一个结点m1发送{建立socket服务}sk1,m1在收到消息以后用自己与S的共享密钥sk1解密以后得到建立socket服务命令,然后建立与S的socket服务,然后S再向m1发出建立socket服务消息{m2,{建立socket}sk2}sk1,m1收到一个经过循环加密的消息,用自己的密钥解密以后就得到下一个要通讯的地址m2,然后把消息的后半端传递到m2,m2收到消息以后用自己与S共享的密钥sk2解密得到{建立socket连接}。北京图形研究所(基于P2P的匿名通信技术研究)6sm1m2m3D1234567891011121314151617181920图4匿名通道建立流程图4系统分析4.1系统性能提高方法4.1.1通道复用由于建立通道用公私钥加解密,而传输数据用对称加密,从而导致建立通道的开销比实际传输数据的开销大的多,所以在系统中采用了通道复用技术。通道复用的基本概念是,应用程序可以在一条匿名通道上建立多条匿名Socket,且匿名Socket之间数据和生命期相互独立。具体的做法是:在发送数据时让匿名Socket将数据交由一条匿名通道发送,并在通道的末端区分出数据属于哪个匿名Socket,在接收数据时,所有数据经由同一条通道返回,并且由客户端的匿名库区分数据属于哪个匿名Socket。4.1.2K个节点候选选择算法采用同时存在k个候选节点,k个候选节点使用”群组协商密钥协议”产生共享密钥.在文件的传输过程中,文件采用循环加密,通道中某一个结点发生故障(或者下线),如果只有一个候选结点,将导致文件传输的中断,此时只能采用重新建立匿名通道,并且利用新建立的通道重新传递。而采用k个节点候选,k个节点共享一个密钥的方法后,发生故障p的结点可以通过其他候选结点进行代替,保证通道畅通,顺利将文件传北京图形研究所(基于P2P的匿名通信技术研究)7递到候选节点p’,p’节点代替p结点重组匿名通道。只有当k个候选节点同时不可用的时候,才需要发送方重新建立通道,所以k结点候选的方法可以提高通道的可靠性,维持通道的持久性。4.1.3冗余机制系统在实现过程中为了避免P2P节点的动态变化性强的特点,采用了冗余传输策略,为同一份数据建立冗余备份,通过冗余传输多个备份实现可靠的数据传输。4.1.4节点信誉度模型由于P2P网络中,节点动态变化性强,系统在P2P网络构造中引入了信誉度模型,节点提供的服务越可靠,信誉值越高,就会被其它节点选中,同时也会享受到其它节点的相对好的服务。4.2系统匿名安全性提高1.P2P网络的匿名安全特性基于P2P的MIX系统不再由特定的组织经营,用户是动态加入网络的,匿名通道节点也是随机选择的,只要加入到MIX网络中的节点达到一定的数目,就能保证每个用户有足够的MIX可选择,攻击者对匿名网络的攻击盲目的。2.可控长度的通道建立系统允
本文标题:基于P2P的匿名技术研究
链接地址:https://www.777doc.com/doc-2571176 .html