一种基于分布式哈希表网络的匿名通信方法

文档序号:7809021阅读:204来源:国知局
一种基于分布式哈希表网络的匿名通信方法
【专利摘要】本发明是一种基于分布式哈希表网络的匿名通信方法,针对传统DHT网络中的三类基本操作:资源发布操作、资源搜索操作和资源传输操作,通过引入一定的匿名机制和安全机制,实现DHT网络中的匿名通信问题。在资源的发布阶段构建匿名映射路径,确定映射节点,从而为资源发布操作提供匿名基础;在资源搜索阶段采用概率转发策略,使资源的搜索操作具备匿名性;在资源下载传输阶段,采用映射节点作为中继节点进行数据传输并与会话密钥加密数据相结合的方法,确保数据的匿名传输和安全传输。三方面的结合实现了发送者匿名、接收者匿名和通信关系的匿名,从而达到用户隐私保护和整个DHT网络安全稳定运行的目的。
【专利说明】一种基于分布式哈希表网络的匿名通信方法

【技术领域】
[0001]本发明是一种适用于分布式哈希表网络(Distributed Hash Table,缩写为DHT)环境中,采用概率转发的重路由模式应用于资源查询过程和资源发布过程,从而实现DHT网络的匿名通信服务。本技术属于计算机网络领域。

【背景技术】
[0002]现今,各类网络服务涌现,使网络用户间的交互达到了一个空前高涨的时期。特别是P2P网络,一种基于分布式概念的文件共享网络已经在人们的互联网使用中占到了很大的比重。而且越来越多的人愿意加入到这个开放的平台来分享和检索他们所需要的资源或文件。其中DHT网络已经成为了 P2P网络的一种主流实现方式,因此用户的隐私保护引起了人们的广泛关注。匿名通信,网络隐私保护的一项重要技术用来隐藏发送者和接收者之间的通信关系。同时也被证明其可以同样被应用于P2P网络中实现匿名通信。
[0003]匿名通信(Anonymous Communicat1n):指通过一定的技术方法和手段来隐藏网络中通信实体的网络地址、实体间的通信关系等隐私信息,使攻击者无法直接窃听获取或推知双方的通信关系或通信的任何一方的身份信息,从而实现网络实体参与双方的身份信息及行为信息的得到更好的保护。
[0004]网络中的通信实体根据其通信关系分为发送者(Sender)和接收者(Receiver)。发送者是通信的信息发起者,接收者是通信的信息响应者,一般更多的人研究的是通信内容的保密和安全问题,即信息的完整性、保密性、可用性、不可否认性。而匿名通信技术是对发送者和接收者的身份信息及双方的通信关系的保密性进行研究,所以,根据匿名隐藏的对象不同,匿名通信主要分为以下三个保护形式:发送者匿名(Sender Anonymity)、接收者匿名(Recipient nonymity)、发送者和接收者不可连接性(Unlinkability of Sender andRecipient)。
[0005]现今传统的P2P网络并没有考虑到用户的隐私保护,用户节点间的通信以明文形式暴露在互联网中,这容易被不法分子加以利用,从而对P2P网络中的用户隐私产生威胁,甚至会影响整个P2P网络的正常运行。
[0006]因此,如何实现P2P网络中用户节点间的匿名通信是亟需解决的问题,其对于P2P网络健康有效的运行和用户的隐私保护具有十分重要的意义。


【发明内容】

[0007]技术问题:本发明针对如何实现P2P网络中用户节点间的匿名通信问题,提出了一种基于分布式哈希表网络的匿名通信方法。通过在P2P节点的消息转发过程中引入了概率转发机制和对称密钥加密机制,从而实现了 DHT网络中资源搜索阶段、资源发布阶段和资源传输阶段的用户节点匿名性。
[0008]技术方案:这种P2P网络中用户节点间的匿名通信方案从三个方面考虑整个DHT网络的匿名通信,分别在用户对资源的发布阶段,用户对资源的搜索阶段和资源的下载传输阶段。三者的结合可以实现发送者匿名、接收者匿名和通信关系的匿名。
[0009]在用户对资源的发布阶段采用了匿名映射路径构建方法,通过基于概率转发机制的下一跳路径选择策略来实现匿名映射路径的构建,并最终确立映射节点;在用户对资源的搜索阶段采用基于概率向后转发请求包或向前转发响应包的方法;在资源下载传输阶段,采用映射节点作为中继节点传输数据并与会话密钥加密数据相结合的方法。
[0010]一、体系结构
[0011]本发明是在分布式哈希表(DHT)网络中实现用户节点间的匿名通信,DHT网络中的每个节点都是对等节点,它是属于全分布式的、无中心服务器的P2P网络。
[0012]DHT网络中每个用户节点的基本操作有三类:1、资源发布操作,用户将本节点拥有的资源发布到DHT网络中去,供其他节点搜索下载;2、资源搜索操作,用户根据自身需求向网络中其他节点搜索需要的资源;3、用户根据搜索得到的资源信息列表对具体的某个或某些资源进行下载传输操作。
[0013]本发明从上述的三类基本操作入手,在资源的发布阶段,资源的搜索阶段和资源的下载传输阶段分别引入相关匿名机制和安全机制来实现用户节点间的匿名通信,即实现上述三类基本操作的匿名性,从而达到对用户隐私的保护。
[0014]二、方法流程
[0015]在DHT网络中,节点依次执行资源的匿名发布操作、资源的匿名搜索操作、资源的匿名传输操作,下面就不同的操作模块详细讲述。
[0016]1.资源的匿名发布阶段
[0017]传统的DHT网络中的资源发布是发布节点将包含资源信息与本节点信息(IP,Port)的消息包发布到其他节点上进行存储,这样一来发布者的节点信息就暴露在整个网络中了,很容易被恶意节点利用,影响DHT网络的正常运行。现在引入资源的匿名发布操作可以将发布节点信息最大限度的加以隐藏,实现资源的匿名发布,其具体步骤如下:
[0018]步骤1.DHT网络中,用户节点P对其准备发布的资源File先进行哈希操作:
[0019]Hash (File) =FID
[0020]得到该资源的ID设为FID。节点P从路由表中选取一个存活时间最长的邻居节点I1,将包含有FID的资源映射消息M_REQ(Map Request)发送至节点I1, I1接收到M_REQ消息后会选择以概率Pfl e [0,1]继续向后转发,或者以概率(1-Pfl)终止转发成为节点P的映射节点E,这样就会在发布节点P和映射节点E之间形成一条映射路径L。其中对于路径上任意一个节点Ii都满足如下二元函数关系:
[0021]Ρ(Ι,)- < ,、
\Pn<P(fi)<\ Ii=E
[0022]其中Pfl的值由网络发布者设置,P (Ii)为节点Ii接收到M_REQ消息后随机生成的一个位于O?I之间的值,当/</,> [0,P,」时,继续向后继节点Ii+1转发,否则节点Ii就为
P的映射节点E。在映射路径上的每个节点Ii还需创建一个映射表,用来存放资源ID与其前继节点和后继节点的消息三元组〈FID,Ii+ Ii+1>。当映射节点E确立后,根据映射表返回映射响应消息M_RES(Map Response)给资源发布节点P。M_RES消息中包含节点E的IP和Port信息。
[0023]映射表用来在资源的匿名传输过程中进行资源的转发,由于映射路径的建立采用随机概率策略,即下一跳路径选择策略,所以该映射具有匿名性,路径上除了发布节点P,其他节点均不知道其前继节点是否为资源的发布者。
[0024]步骤2.当映射路径构建完成后,节点P就开始发布其资源信息。节点P将FID,资源的相关信息(如文件名,类型,大小等),会话密钥SecK和映射节点E的IP与Port信息构成一个五元组:
[0025]〈FID, Info, SecK, IPE, PortE>
[0026]由于DHT网络中生成节点ID与资源ID的哈希算法一致,所以节点P以通过选择路由表中距离FID较近的邻居节点Neigp = (N1, N2, N3,...,Nj发送资源发布消息P_REQ (Publish Request)。接收到P_REQ消息的邻居节点会首先将该五元组信息〈FID, Info,SecK, IPE,PortE>存储下来,然后再继续查找其路由表,找出距离FID更近的邻居节点,并继续迭代地发送P_REQ消息,若没有找到距离FID更近的邻居节点则停止发布P_REQ消息。
[0027]2.资源的匿名搜索阶段
[0028]传统的DHT网络中的资源搜索采用关键字哈希搜索,是将关键字进行哈希后再进行搜索操作,整个搜索过程是一种迭代的搜索,即每次操作都由搜索节点本身发起,由于搜索过程中必定会将自己的节点信息(IP,Port)暴露在网络中,不具有匿名性和安全性。实现资源的匿名搜索,其具体步骤如下:
[0029]步骤1.用户节点S首先将其要搜索的关键字进行哈希:
[0030]Hash (Keyword) = KID
[0031] 这样得到关键字的哈希值KID,然后S会从其路由表中选取ALPHA个与KID距离最近的节点Neighs = (N1, N2,..., NalphaI ,进行同步的搜索请求,即发送资源搜索请求S_REQ(Search Request),其中ALPHA为同步搜索的维度,其值由用户节点自行设定。
[0032]步骤2.邻居节点Ni收到节点S发来的S_REQ消息后,会选择以概率Pf2 e [0,1]向后转发,即从它的路由表中找出更接近KID的节点,然后继续向其发送S_REQ消息,或者以概率(1-Pf2)向其前继节点返回搜索请求的响应报文S_RES (Search Response)。对于某一搜索路径Path = (J1, J2, J3,…,Jj上任意一个节点Ji都满足如下二元函数关系:
[0033]

【权利要求】
1.一种基于分布式哈希表网络的匿名通信方法,其特征在于:在资源发布阶段构建映射路径,产生映射节点,从而在资源发布时有效地隐藏了自身信息;在资源搜索阶段,采用基于概率转发机制的策略,让搜索路径上的节点无法明确初始查询者是谁;在资源传输阶段利用映射节点做中继并对数据加密,实现双方通信的匿名性和数据的安全性,其具体步骤如下: 步骤1.初始时刻,在分布式哈希表网络DHT中,用户节点P拥有某个资源File,并对其进行哈希,得到该资源的身份标识ID设为文件身份标识FID ; 步骤2.节点P从路由表中选取一个存活时间最长的邻居节点I1,将包含有FID的资源映射消息M_REQ发送至节点I1,节点I1接收到M_REQ消息后会选择以概率Pfl e [O, I]继续向后转发,4为映射路径构建过程中的转发事件;或者以概率(1-Pfl)终止转发成为节点P的映射节点E,这样就会在发布节点P和映射节点E之间形成一条映射路径L ;其中对于路径上任意一个节点Ii都满足如下二元函数关系:
在映射路牷上的每个节点Ii还需创建一个映射表,用来存放资源ID与其前继节点和后继节点的消息三元组〈FID,Ii+ Ii+1>,以便在资源的匿名传输过程中进行资源的转发,当映射节点E确立时,根据映射表返回映射响应消息M_RES给资源发布节点P,M_RES消息中包含节点E的网络层地址IP和端口信息Port ; 步骤3.当映射路径构建完成后,节点P就开始发布其资源信息;节点P将FID,资源的相关信息,会话密钥SecK和映射节点E的IP与Port信息构成一个五元组:〈FID,Info, SecK,IPE,PortE> ;N1; N2,…,Nn均为P的邻居节点,节点从其邻居节点集Neigp ={N” N2, N3,…,NJ中选择距离FID较近的邻居节点发送资源发布消息P_REQ,接收到P_REQ消息的邻居节点会首先将该五元组存储下来,然后再继续查找其路由表,找出距离FID更近的邻居节点,并继续迭代地发送P_REQ消息,若没有找到距离FID更近的邻居节点则停止发布消息; 步骤4.用户节点S准备以关键字进行资源搜索时,S首先将用户输入的关键字进行哈希,得到关键字哈希值KID,然后S从其路由表中选取ALPHA个与KID距离最近的节点Neighs = (N1, N2,…,NAmiA}进行同步的搜索请求,即发送资源搜索请求S_REQ,其中ALPHA为同步搜索的维度; 步骤5.邻居节点Ni收到节点S发来的S_REQ消息后,以概率Pf2 e [0,1] (f2为资源匿名搜索过程中的转发事件)向后转发,即从它的路由表中找出更接近KID的节点,然后继续向其发消息,或者以概率(1-Pf2)向其前继节点返回搜索请求的响应报文S_RES。对于某一搜索路径Path = (J1, J2, J3,…,Jj上任意一个节点Ji都满足如下二元函数关系:
当某个节点返回S_RES消息后,则该轮搜索结束,S_RES消息返回到节点S后,S会根据S.RES消息中的内容开始下一轮搜索,直至搜索到需要的资源信息,整个搜素过程结束; 步骤6.节点S准备下载某一资源FID,S向已获得的信息仆10,11^0,56成,1?^?01^>中所包含的映射节点E发送资源下载请求D_REQ,当E接收到来自S的D_REQ消息后,依据消息中的FID查询其映射表T,然后向其前继节点转发此消息直至节点P ; 步骤7.节点P接收到转发过来的D_REQ消息后,将FID对应的资源File进行加密得到Efile,然后P将Efile放入资源下载响应消息D_RES,并经映射路径L发送至映射节点E,再由E发送给节点S,S根据资源的匿名搜索过程得到的会话密钥SecK对资源解密,得到原始数据。
【文档编号】H04L29/06GK104168265SQ201410340343
【公开日】2014年11月26日 申请日期:2014年7月16日 优先权日:2014年7月16日
【发明者】孙力娟, 黄凯翔, 肖甫, 王汝传, 韩志杰, 王少辉, 蒋季宏 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1