一种匿名通信路径选择方法及网络节点的制作方法

文档序号:7886948阅读:349来源:国知局
专利名称:一种匿名通信路径选择方法及网络节点的制作方法
技术领域
本发明涉及匿名通信技术领域,特别涉及ー种匿名通信路径选择方法及网络节果。
背景技术
随着计算机网络运用的日益广泛以及ー些特殊部门对网络系统安全的需求,诞生了ー些特殊的网络协议和通信系统,匿名通信协议和匿名通信系统就是其中之一。匿名通信是互联网上ー种重要的应用,可以为用户提供隐私保护、匿名投票、匿名发布等服务,它通过一定的方法将通信流中的通信关系加以隐藏,使攻击者无法获知“谁和谁”在通信、通信的内容以及时间等。对许多应用来说,匿名已成为不可或缺的要求。匿名P2P网络是匿名技术和P2P技术的融合,可以为用户提供更为便利的安全保护。匿名P2P网络中,需要建立一条匿名路径以便于进行匿名通信。在进行匿名路径建立过程中,需要考虑如何抵抗可能的攻击。匿名通信的攻击者可能控制整个网络,这种攻击者称为全局攻击者。在进行匿名路径建立过程中,要尽量避免路径上的节点被同一个攻击者所控制。例如,避免路径上的所有节点都位于同一个ISPanternet Service Provider,互联网服务提供商)、同一个AS (Autonomous System,自制系统)、同一个国家或地区等。我们期望匿名路径上的节点尽可能位于不同的国家、不同的ISP、不同的地区等。例如,用户通过匿名技术访问了国内的某个网站,如果该路径所有节点都位于同 ー个ISP,那么该ISP要进行匿名追踪就会相对容易很多。因而,从匿名保护的角度而言,用户期望该匿名路径上存在更多不同国家、或不同地区、或不同ISP的节点,这样提高攻击的难度,加强匿名保护。目前,为了使得匿名路径上不同的节点尽量位于不同的国家或地区,常见方法就是进行节点选择时,选择IP地址前16位不同的节点。例如,用户Alice要匿名与Bob通信, Alice在进行匿名路径建立吋,所选择的节点需要其IP地址前16位与自己的IP地址不一致,假定选择了 P1,在进行下一个节点P2选择吋,希望P2的IP地址前16位与Pl不一样。 这样,可以完成整个匿名通信。但是,在实现本发明的过程中,发明人发现现有技术至少存在以下问题—个国家或者ISP会拥有很多不同的网络地址,现有的匿名通信过程中,仅根据 IP地址前16位进行选择,匿名通信路径上的节点存在很大的概率位于同一个ISP或者同一个国家内,无法确保匿名通信路径上的节点位于不同的国家、地区或者ISP内,达不到匿名通信安全性的要求。

发明内容
为了更加准确的保障匿名通信路径上的节点位于不同的国家、地区或者ISP内, 确保匿名通信的安全性,本发明实施例提供了ー种匿名通信路径选择方法及网络节点。所述技术方案如下
ー种匿名通信路径选择方法,所述方法包括匿名通信发起节点确定匿名通信路径中的中间节点数量N,并从自身的邻居节点中选择节点1,所述节点1与所述发起节点不属于同一网络区域;所述节点1从自身的邻居节点中选择设定数量M个节点发送所述发起节点,所述发起节点从中选择节点2,所述节点2与所述节点1和发起节点均不属于同一网络区域;所述节点2从自身的邻居节点中选择设定数量M个节点发送所述发起节点,所述发起节点从中选择节点3,所述节点3与所述节点1、节点2和发起节点均不属于同一网络区域;以此类推,直到节点N-I从自身的邻居节点中选择设定数量M个节点发送所述发起节点,所述发起节点从中选择节点N,所述节点N与所述节点N-I以及已经建立的匿名通信路径上所有节点均不属于同一网络区域;所述节点N与匿名通信的目标节点建立连接。所述发起节点在选择所述匿名通信路径上每个节点吋,如果已经建立的匿名通信路径上所有节点已经遍历了网络中所有的网络区域,则允许所述节点所属网络区域与所述已经建立的匿名通信路径上任ー节点所属网络区域相同。所述同一网络区域包括同一大洲、同一国家、同一地区、同一网络服务提供商或同一自治网络。所述网络中每个节点均维护网络区域数据库,其中包括网络中所有网络区域信息;所述匿名通信路径中每个节点在选择下一节点时,将欲选择的下一节点的信息发送所述匿名通信发起节点,由所述匿名通信发起节点确认是否选择所述节点作为下ー节
好、ο所述下ー节点的信息为所述下ー节点所属的网络区域信息;或所述下ー节点的信息为所述下一节点的IP地址;所述匿名通信发起节点通过网络区域数据库确认所述下一节点是否与已经建立的匿名通信路径上任ー节点属于同一网络区域,确认是否选择所述节点作为下ー节点。所述匿名通信发起节点维护网络区域数据库,其中包括网络中所有网络区域信息;所述匿名通信路径上的每个节点在选择下一节点时,将欲选择的下一节点的IP 地址发送所述匿名通信发起节点,由所述匿名通信发起节点通过网络区域数据库确认所述下一节点是否与已经建立的匿名通信路径上任ー节点属于同一网络区域,确认是否选择所述节点作为下ー节点。所述网络区域数据库包括每个网络区域所对应的IP地址集合,具体如下若为、类IP地址,则包括该IP地址的前8位;若为B类IP地址,则包括该IP地址的前16位;若为C类IP地址,则包括该IP地址的前M位。ー种网络节点,用于匿名通信网络,所述网络节点包括网络区域数据库单元和选择单元,其中,
5
所述网络区域数据库单元,用于维护网络区域数据库,包括网络中所有网络区域 fn息;所述选择单元,用于根据所述网络中所有网络区域信息,选择匿名通信路径上的下一节点。该网络节点还包括确认单元,用于从该网络节点的邻居节点中选择设定数量M个网络节点,并发送给所述匿名通信的发起网络节点的选择单元;所述选择单元还用于根据接收到的设定数量M个网络节点从中选择匿名通信路径上的下一节点。该网络节点还包括邻居列表单元,用于维护所述网络节点的邻居节点信息;所述确认单元从所述邻居列表单元中获取所述网络节点的邻居节点信息。本发明实施例提供的技术方案带来的有益效果是通过维护网络区域数据库,该网络区域数据库中包括网络中所有的网络区域信息。当需要匿名通信的时候,匿名通信路径上的发起节点通过网络区域数据库中的信息来选择下一节点,以确保所选择的下一节点与匿名通信路径上之前所有的节点均不属于同一网络区域。以本方案建立的匿名通信路径,可以确保路径上各个节点均不属于同一网络区域,增加了匿名通信路径的安全性和可靠性,使匿名通信过程不易受到攻击。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例1提供的匿名通信路径选择方法流程图;图2是本发明实施例5提供的一种网络节点结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。本发明的原理在于首先需要建立一个网络区域数据库,这个数据库中包含网络中所有的网络区域的信息。也就是说,整个网络中所有的网络区域是预先分割好的,获取了每个节点的信息,通过与网络区域数据库中的网络区域信息做比较,就可以确知每个网络节点所属的网络区域。据此,在建立匿名通信路径的过程中,就可以通过将欲选择的下一节点的信息与网络区域数据库中的网络区域信息做比较而知道该节点所属的网络区域,从而确保匿名通信路径中每个节点都不属于同一网络区域,从而保证匿名通信路径的可靠性。这里的网络区域,实际上包括网络节点所处的大洲、国家、地区或者ISP等,还可以是一个国家内不同的省、市、州、县等。根据实际匿名通信的需要可以进行设定和调整,网络节点不属于同一网络区域,可以是不属于同一国家,不属于同一地区或者是不属于同一 ISP 等。实施例1
如图1所示,为本发明实施例1提供的匿名通信路径选择方法流程图,其中,步骤10,匿名通信发起节点确定匿名通信路径中的中间节点数量N,并从自身的邻居节点中选择节点1,节点1与发起节点不属于同一网络区域。这里,匿名通信发起节点想要发起匿名通信,首先需要根据匿名通信的具体要求来确定本次匿名通信路径中的中间节点的数量N,通过这个数量N来控制匿名通信路径总体的节点数量,也就是路径的长度。这里的中间节点仅包括整个匿名通信路径中除去发起节点和目标节点之外的所有其它的节点。在此之后,匿名通信发起节点需要选择路径中的第一个节点,也就是节点1。选择的原则就是节点1与发起节点不能属于同一网络区域。节点1首先是发起节点的邻居节点,这样发起节点与节点1才能够建立连接,进行
ififn。步骤20,节点1从自身的邻居节点中选择设定数量M个节点发送给发起节点,发起节点从中选择节点2,节点2与节点1和发起节点均不属于同一网络区域。同理,节点1在与发起节点建立连接后,也就建立起了整个匿名通信路径的第一部分。根据发起节点的要求,节点1需要选择下一节点继续进行路径的建立。节点1需要在自己的邻居节点中选择设定数量M个节点作为节点2的备选,然后将这M个节点发送给发起节点,发起节点来选择节点2,并将选择的节点2的信息发送给节点1。节点1与节点 2建立连接,从而建立匿名通信路径,选择的原则是节点2与节点1、发起节点均不能属于同一网络区域。这里,设定数量M可以根据匿名通信的实际需要设定,并可以进行调整。
步骤30,节点2从自身的邻居节点中选择设定数量M个节点发送所述发起节点,所述发起节点从中选择节点3,节点3与节点1、节点2和发起节点均不属于同一网络区域。同理,节点2在与节点1建立连接后,需要根据需要选择节点3继续建立匿名通信路径。同样的过程是节点2从自身的邻居节点中选择设定数量M个节点作为节点3的备选,然后通过已经建立起来的匿名通信路径,发送给发起节点,由发起节点选择合适的节点作为节点3。选择的原则是节点3与节点2、节点1和发起节点均不能属于同一网络区域。也就是说,整个匿名通信路径的建立,所有新选择的节点均不能与之前已经建立连接的匿名通信路径上的节点中的任一个属于同一网络区域。这是本发明实施例1的一个重要原则。步骤40,以此类推,直到节点N-I从自身的邻居节点中选择设定数量M个节点发送所述发起节点,所述发起节点从中选择节点N,节点N与节点N-I以及已经建立的匿名通信路径上所有节点均不属于同一网络区域。同理,每个节点都从自身的邻居节点中选择M个节点发送给发起节点,由此继续选择下一节点的过程,选择的原则是所有新选择的节点均不能与之前已经建立连接的匿名通信路径上的节点中的任一个属于同一网络区域,直到节点N被选择。因为匿名通信路径上所有中间节点的数量是设定的,也就是N,所以当节点N被选中后,匿名通信路径中的中间节点已经全部完成选择,下一步仅需要直接跟目标节点建立连接了。步骤50,节点N与匿名通信的目标节点建立连接。由于匿名通信的目标节点是明确的,因而不存在选择的问题。对于目标节点,也不要求必须与其它节点属于不同的网络区域。至此,匿名通信路径选择完毕,匿名通信链路也已经建立,可以进行匿名通信。特别的,网络中很可能没有那么多的网络区域用于选择建立匿名通信路径,或者某个中间节点的所有邻居节点均与之前已经建立的匿名通信路径上的节点中的某个节点属于同一网络,那么,不再苛求匿名通信路径上的每个节点均属于不同的网络区域。也就是说,每个节点在参与选择下一节点时,如果已经建立的匿名通信路径上所有节点已经遍历了网络中所有的网络区域,则允许下一节点所属网络区域与所述已经建立的匿名通信路径上任一节点所属网络区域相同。这里,应该强调的是,选择合适的节点作为匿名通信路径上的下一节点是发起节点的工作,只有发起节点可以知道整个匿名通信路径上所有节点的信息,因而,具体的是否允许下一节点所属网络区域与所述已经建立的匿名通信路径上任一节点所属网络区域相同,也是由发起节点控制的,匿名通信路径上的中间节点并不能进行控制。这里的同一网络区域,包括同一国家、同一地区或同一网络服务提供商ISP。当然, 该网络区域数据库可以包含世界各大洲、各国、各地区或者ISP的IP地址分布情况。例如以国家为例,该数据库包含每个国家IP前缀的情况。这里的网络区域数据库,一般是通过IP地址来确认不同的网络区域,该数据库中包括每个网络区域所对应的IP地址集合,具体如下若为、类IP地址,则包括该IP地址的前8位;若为B类IP地址,则包括该IP地址的前16位;若为C类IP地址,则包括该IP地址的前M位。具体来说,网络区域数据库中可以建立三张表格,分别包括现有的A、B、C三类IP 地址信息,这三张表格的内容是基本固定的,也可以根据IP地址实际分配情况的变化而变化。表格中尽可能多的包括每个或者每类IP地址对应的大洲、国家、地区以及ISP、AS等。 一般的,A类IP地址有1 个,也就说数据库表为1 项。B类IP地址16384个,也就说数据库表为16384项。C类IP地址2097152个,也就说数据库表为2097152项。当需要查询网络区域数据库时,实际上需要将网络节点的IP地址的网络地址分别与网络区域数据库中的IP地址的网络地址表格做比较,以判断该网络节点具体所属于的网络区域。也可以先判断该网络节点的IP地址具体属于哪一类的IP地址,然后分别在不同的表格中查询。实施例2在上述实施例1中,发起节点选择节点1,节点1从自己的邻居表中选择部分节点, 可以是2个、3个、或4个等,但至少2个,可以设定为M个。要求这M个节点本身位于不同的国家、地区、ISP等,并且这M个节点与发起节点及节点1位于不同的国家、地区或ISP。 发起节点从收到的M个节点中选择一个作为节点2。要求节点2与节点1及发起节点位于不同的网络区域。以此类推,当节点i选择下一个节点时,节点i从自身的邻居节点中选择M个节点,要求这M个节点与节点i及节点i_l位于不同的网络区域(这里,仅要求下一节点与节点i以及节点i_l位于不同的网络区域,因为节点i在选择时,只知道节点i_l以及自身所处的网络区域,节点i并不能知道此前匿名通信路径上其它节点所属的网络区域)。此时发起节点到节点i的路径已经建立完成,节点i把这M个节点沿着已建立的这条路经发给发起节点,发起节点从M个节点选择一个作为节点i+Ι,要求节点i+Ι与发起者及节点1、2,…,i_l、i均位于不同网络区域。以此类推,直到匿名通信路径完全建立。节点i不能完全确定下一个节点i+Ι,因为节点i并不知道路径上的节点,仅知道节点i_l和自身。实施例3为了确保匿名通信路径的建立,根据匿名通信的原理,需要网络中每个节点均维护网络区域数据库。匿名通信路径中每个节点在选择下一节点时,将M个欲选择的下一节点的信息发送匿名通信发起节点,由匿名通信发起节点选择下一节点。这里,由匿名通信发起节点控制是否选择一个节点作为匿名通信路径的下一节点,每个节点在选择下一节点的时候均需要将该M个下一节点的信息发回给发起节点,由发起节点选择。每个节点在发回给发起节点的信息中,可以包括选定的下一节点所属的网络区域信息,发起节点仅需要判定是否与路径上之前所有节点属于同一网络区域即可。另一种方式中,每个节点仅将欲选择的M个下一节点的IP地址发回给发起节点,发起节点通过网络区域数据库确认下一节点是否与已经建立的匿名通信路径上任一节点属于同一网络区域, 选择下一节点。实施例4在本发明实施例4中,可以仅由匿名通信发起节点维护网络区域数据库。匿名通信路径上的每个节点在选择下一节点时,将欲选择的M个下一节点的IP地址发送匿名通信发起节点,由匿名通信发起节点通过网络区域数据库选择一个与已经建立的匿名通信路径上任一节点均不属于同一网络区域的节点作为下一节点。这样做的优势在于仅需要发起节点维护网络区域数据库,对网络节点的要求较低。实施例5如图2所示,本发明实施例5提供一种网络节点,用于匿名通信网络,具体包括网络区域数据库单元100和选择单元200,其中,网络区域数据库单元100,用于维护网络区域数据库,包括网络中所有网络区域信肩、ο如上述各个实施例所述,这个网络区域数据库中,包含有所有网络区域的信息。一般的,该信息是以IP地址集合的方式存在,若为、类IP地址,则包括该IP地址的前8位; 若为B类IP地址,则包括该IP地址的前16位 ’若为C类IP地址,则包括该IP地址的前24 位。通过不同的IP地址来区分不同的网络区域。选择单元200,用于根据网络中所有网络区域信息,选择匿名通信路径上的下一节
点ο网络节点可以是匿名通信发起节点,也可以是中间节点。当其是发起节点时,选择下一节点的原则是下一节点与已经建立的匿名通信路径上所有节点均不属于同一网络区域。这就需要获取已经建立的匿名通信路径上所有节点所属的网络区域信息,还需要获取下一节点的网络区域信息,进行比较,然后确定。当网络节点是匿名通信路径上的中间节点时,该网络节点还包括确认单元300,用于从该网络节点的邻居节点中选择设定数量M个网络节点,并发送给匿名通信的发起网络节点的选择单元200;发起节点的选择单元200还用于根据接收到的设定数量M个网络节点从中选择匿名通信路径上的下一节点。特别的,该网络节点还包括邻居列表单元400,用于维护网络节点的邻居节点信
息ο确认单元300从邻居列表单元300中获取网络节点的邻居节点信息。这里的邻居列表单元300维护的是该网络节点的邻居节点的信息,一般以列表方式存储。选择下一节点的候选节点时,从该邻居节点列表中选择。以网络区域为国家为例,本发明的一个实施例中,假定用户Alice要匿名的与Bob 通信,Al ice在从自己的邻居列表中选择下一个节点Pl时,要求Pl与自己位于不同的国家; Pl在选择下一个节点P2时,要求P2与Alice及Pl位于不同的国家(通过查询网络区域数据库表即可完成)。作为匿名通信的发起者,Alice知道匿名路径上的所有节点。在路径建立过程中,一旦有两个节点位于同一个国家,则Alice会要求重新选择节点,以使得该路径上所有节点度位于不同的国家。当然,如果网络节点数据库中不同国家的节点都已经出现过,则可以多次选择同一国家的不同节点。综上,本发明实施例提供的方案,通过维护网络区域数据库,该网络区域数据库中包括网络中所有的网络区域信息。当需要匿名通信的时候,匿名通信路径上的发起节点通过网络区域数据库中的信息来选择下一节点,以确保所选择的下一节点与匿名通信路径上之前所有的节点均不属于同一网络区域。以本方案建立的匿名通信路径,可以确保路径上各个节点均不属于同一网络区域,增加了匿名通信路径的安全性和可靠性,使匿名通信过程不易受到攻击。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.ー种匿名通信路径选择方法,其特征在干,所述方法包括匿名通信发起节点确定匿名通信路径中的中间节点数量N,并从自身的邻居节点中选择节点1,所述节点1与所述发起节点不属于同一网络区域;所述节点1从自身的邻居节点中选择设定数量M个节点发送所述发起节点,所述发起节点从中选择节点2,所述节点2与所述节点1和发起节点均不属于同一网络区域;所述节点2从自身的邻居节点中选择设定数量M个节点发送所述发起节点,所述发起节点从中选择节点3,所述节点3与所述节点1、节点2和发起节点均不属于同一网络区域; 以此类推,直到节点N-I从自身的邻居节点中选择设定数量M个节点发送所述发起节点,所述发起节点从中选择节点N,所述节点N与所述节点N-I以及已经建立的匿名通信路径上所有节点均不属于同一网络区域;所述节点N与匿名通信的目标节点建立连接。
2.如权利要求1所述的方法,其特征在干,所述发起节点在选择所述匿名通信路径上每个节点吋,如果已经建立的匿名通信路径上所有节点已经遍历了网络中所有的网络区域,则允许所述节点所属网络区域与所述已经建立的匿名通信路径上任ー节点所属网络区域相同。
3.如权利要求1或2所述的方法,其特征在干,所述同一网络区域包括同一大洲、同一国家、同一地区、同一网络服务提供商或同一自治网络。
4.如权利要求1所述的方法,其特征在干,所述网络中每个节点均维护网络区域数据库,其中包括网络中所有网络区域信息;所述匿名通信路径中每个节点在选择下一节点时,将欲选择的下一节点的信息发送所述匿名通信发起节点,由所述匿名通信发起节点确认是否选择所述节点作为下ー节点。
5.如权利要求4所述的方法,其特征在干,所述下ー节点的信息为所述下ー节点所属的网络区域信息;或所述下ー节点的信息为所述下一节点的IP地址;所述匿名通信发起节点通过网络区域数据库确认所述下一节点是否与已经建立的匿名通信路径上任ー节点属于同一网络区域,确认是否选择所述节点作为下ー节点。
6.如权利要求1所述的方法,其特征在干,所述匿名通信发起节点维护网络区域数据库,其中包括网络中所有网络区域信息;所述匿名通信路径上的每个节点在选择下一节点时,将欲选择的下一节点的IP地址发送所述匿名通信发起节点,由所述匿名通信发起节点通过网络区域数据库确认所述下一节点是否与已经建立的匿名通信路径上任ー节点属于同一网络区域,确认是否选择所述节点作为下ー节点。
7.如权利要求4、5或6任一所述的方法,其特征在干,所述网络区域数据库包括 每个网络区域所对应的IP地址集合,具体如下若为、类IP地址,则包括该IP地址的前8位; 若为B类IP地址,则包括该IP地址的前16位; 若为C类IP地址,则包括该IP地址的前M位。
8.—种网络节点,用于匿名通信网络,其特征在干,所述网络节点包括网络区域数据库単元和选择单元,其中,CN 102546635 A所述网络区域数据库单元,用于维护网络区域数据库,包括网络中所有网络区域信息;所述选择単元,用于根据所述网络中所有网络区域信息,选择匿名通信路径上的下一ザル
9.如权利要求8所述的网络节点,其特征在干,该网络节点还包括确认单元,用于从该网络节点的邻居节点中选择设定数量M个网络节点,并发送给所述匿名通信的发起网络节点的选择单元;所述选择単元还用于根据接收到的设定数量M个网络节点从中选择匿名通信路径上的下ー节点。
10.如权利要求8或9所述的网络节点,其特征在干,该网络节点还包括邻居列表単元, 用于维护所述网络节点的邻居节点信息;所述确认单元从所述邻居列表単元中获取所述网络节点的邻居节点信息。
全文摘要
本发明公开了一种匿名通信路径选择方法,匿名通信发起节点确定匿名通信路径中的中间节点数量N,并从自身的邻居节点中选择节点1,所述节点1与所述发起节点不属于同一网络区域;以此类推,直到节点N-1从自身的邻居节点中选择设定数量M个节点发送所述发起节点,所述发起节点从中选择节点N,所述节点N与所述节点N-1以及已经建立的匿名通信路径上所有节点均不属于同一网络区域;所述节点N与匿名通信的目标节点建立连接。本发明可以确保路径上各个节点均不属于同一网络区域,增加了匿名通信路径的安全性和可靠性。
文档编号H04L29/08GK102546635SQ20121000635
公开日2012年7月4日 申请日期2012年1月10日 优先权日2012年1月10日
发明者刁婷, 彭勇, 戴忠华, 赵玲玲, 陆天波, 高海辉 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1