首页> 中国专利> IPv6网络中基于随机无状态地址分配策略的点对点匿名通信方法

IPv6网络中基于随机无状态地址分配策略的点对点匿名通信方法

摘要

IPv6网络中基于随机无状态地址分配策略的点对点匿名通信方法,属于互联网技术领域。本发明基于葱头路由匿名通信机制通过改进IPv6地址生成算法,利用巨大的IPv6地址空间,周期性地变换节点IPv6地址,避免了因IPv6地址标识而导致的隐私泄漏;通过葱头路由机制来保证IPv6地址的跨网段隐藏以及数据的加密。该方法可以明显提高匿名通信系统的匿名性,并且该系统的通信效率和兼容性都没有减弱。本发明优点在于:(1)明显提高匿名通信系统的匿名性;(2)系统的通信效率和兼容性都没有减弱;(3)较强的通用性。本发明能够为未来互联网的应用提供多种有效的安全通信技术,同时具有良好的可扩展性,能够适应未来互联网应用发展所带来的要求。

著录项

  • 公开/公告号CN105282161A

    专利类型发明专利

  • 公开/公告日2016-01-27

    原文格式PDF

  • 申请/专利权人 绵阳师范学院;

    申请/专利号CN201510724332.9

  • 发明设计人 刘武;唐再良;文永革;赵永驰;

    申请日2015-10-23

  • 分类号H04L29/06(20060101);H04L29/12(20060101);

  • 代理机构

  • 代理人

  • 地址 621000 四川省绵阳市科创区九洲大道268号灵创科技园绵阳师范学院网络安全与计算技术研究所(圣典公司)

  • 入库时间 2023-12-18 13:43:06

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-02-26

    授权

    授权

  • 2016-02-24

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20151023

    实质审查的生效

  • 2016-01-27

    公开

    公开

说明书

技术领域

IPv6网络中基于随机无状态地址分配策略的点对点匿名通信方法属于互联网技术领域,尤其涉及下一代互联网通信领域的技术。

背景技术

匿名通信的主要目的是在通信双方的通信过程中隐藏双方的关联关系,从而保护通信双方的隐私。匿名通信的基本思想是利用多个节点的逐跳转发来隐藏真实通信双方的关联关系,并且通过利用各个节点的密钥对转发内容进行多层加密,使各个中间节点只能知道自己的前驱节点和后继节点,而无法获得真实通信双方的信息。最初的匿名通信采用公钥加密的思想,但是由于加密效率的低下并没有被广泛应用。

随着葱头路由等采用对称密钥的匿名通信机制的实现,匿名通信的实用性大大增强,并出现了很多匿名通信机制,提高了匿名通信系统的安全性。但是,基于IP追踪的时间关联攻击等仍然对于这些机制有效,这是低延时系统所无法避免的攻击手段。在这一过程中,追查到的任一节点都是以IP地址为标识。由于在IPv4网络中,主机的IP地址可以认为在较长时间内保持不变,因此在整个攻击分析过程中,利用IP地址作为主机标识是可靠的:追查到主机的IP地址,即可认为追查到了主机。因此在匿名通信过程中IP地址的长时间固定成为暴露个人隐私的一个重要原因。解决该问题的一个直观方法是定时更换IP地址。但是在IPv4环境下,频繁更换IP地址是不可行的,因为IP地址空间非常有限,如果每个主机主动地频繁更换IP地址,可能会造成同一局域网段内出现大量的IP地址冲突,从而导致通信效率的下降。

在IPv6网络环境中,一个网段所拥有的IP地址空间要远远大于IPv4环境下的网络,这就为主机定时更换IP地址提供了可能。目前有一种利用哈希算法来产生随机无状态IPv6地址的方案,该方案可以实现IP地址的伪随机化。但是由于该方案本身并不是为了配合匿名通信而设计,因此在参数设置等方面并不适些困难。而且,单纯的IP地址变换并不能实现通信的匿名,这是由于攻击者依然可以通过通信内容对通信双方进行关联,而且地址变换仅能局限在一个局域网段的范围内,攻击者仍然可以比较简单地进行追踪。

针对以上问题,本发明结合现有葱头路由机制以及IPv6下的地址分配机制,实现了一种在IPv6环境下的点对点匿名通信方法。该方法一方面利用IPv6的广泛地址空间来实现主机地址的定时更新,另一方面通过引入葱头路由机制来保证IPv6地址的跨网段隐藏以及数据的加密。通过两种机制的互相配合,可以明显地提高系统的匿名性,很好地实现隐蔽通信的目的,充分保护用户的隐私安全。

发明内容

本发明的目的在于:提供一种IPv6网络中基于随机无状态地址分配策略的点对点匿名通信方法,使得在不破坏IPv6端到端特性的条件下很好地实现隐蔽通信的目的,充分保护用户的隐私安全,提高IPv6网络的安全性。

本发明的技术方案特征在于,所述方法依次含有以下步骤:

步骤(1),无状态随机IPv6地址的生成与更新:

步骤(1.1),生成初始IPv6地址。通过IPv6地址分配服务器为节点A生成一个128位的初始IPv6地址;

步骤(1.2),保存IPv6前缀地址。IPv6地址中,前64位为网络地址,需要保持不变,后64位为主机地址,可以改变。将这个128位的IPv6地址分为高低64位两部分,将高64位地址HIP作为地址前缀保存;

步骤(1.3),生成新的随机IPv6地址以及下一轮更新IPv6地址的种子。通过随机函数将低64位的主机地址映射为一个128位的IPv6地址,并将这个128位值也分为高低两个64位的部分。其中高64位与步骤(1.2)中保存的地址前缀执行连接操作,生成一个新的128位IPv6地址。同时,保存低64位作为种子Sed,用于下一轮地址更新操作;

步骤(1.4),无状态随机IPv6地址的更新。当所生成的地址过期时,利用步骤(1.3)中保存的种子值Sed再次通过随机函数映射成一个128位的IPv6地址值,并采用相同的方法产生新的IPv6地址,并且保存低64位MD5值作为新的种子;

步骤(1.5),重复步骤(1.4)直到节点A主机下线或停止该功能;

步骤(2),节点标识与邻居发现;

步骤(2.1),节点标识。对于一个P2P系统来讲,任何一个节点既是客户端又是服务器,客户端主动发起连接请求,服务器端被动等待客户端的连接请求。作为客户端,节点应该尽量隐藏个人身份,而作为服务器,节点应该让其他节点容易找到。为了达到这个目的,为每个节点至少同时配置两个IP地址:服务器IP地址SIP和客户端IP地址CIP。服务器IP地址SIP为长期不变的IP地址,用于接受其他节点的接入请求;客户端IP地址CIP因为匿名性的要求,需要周期更新的随机IP地址,用于节点主动向外部发出连接请求。对于任何一个节点,其他主机仅知道他的服务器IP地址SIP,而无法获知其客户端IP地址CIP。由此,如果采用IP地址作为节点标识,同一主机则会被看作是不相关的两台主机,从而使这种标识变得模糊;

步骤(2.2),邻居发现。初始化时,每个节点配置有某个邻居的服务器IP地址SIP。如图2所示,执行邻居发现时,节点A会将自己已知的邻居节点通过可变的客户端IP地址CIP广播给自己的邻居B和C,同时A的邻居节点B和C也会以同样的方式做同样的广播,从而实现邻居节点信息的交互,使每个节点获得更多的邻居,实现邻居发现功能。由于在广播过程中采用的是可变的客户端IP地址CIP,因此不会泄漏节点的隐私信息。

步骤(3),消息转发。执行步骤如下:

步骤(3.1),当一个节点需要进行匿名通信时,节点首先从自己的邻居节点中随机选择若干节点,并且通过可变的客户端IP地址CIP与相关节点协商会话密钥。

步骤(3.2),如图3所示,假设有3个节点A、B、C,会话密钥为KA,KB,KC。节点依次使用3个密钥对待发送消息M进行加密,即{B{C{M}KC}KB}KA。

步骤(3.3),当转发消息时,首先将消息M发送给节点A,节点A利用会话密钥KA解密后得知下一跳为B,则将解密后的内容转发给节点B;

步骤(3.4),节点B利用KB解密后同样将消息发送给C,C解密后发现为明文,则将消息直接转送给目标主机。在这一过程中,虽然节点A了解初始节点,但任意节点仅知道前驱和后继节点,并无法获得实际的匿名通信双方;

步骤(3.5),为了保证消息的完整性,还需要为每一跳加密数据计算摘要;

步骤(3.6),为了避免过长数据传输的不可靠,将较长数据全部分割为512字节的消息进行依次转发。

本发明之技术方法的有益效果:

(1)增强主机在IPv6环境下的匿名性,节点部署本发明所开发的匿名通信系统后,可以方便快捷地实现端到端的匿名通信与加密通信功能,而中转节点及其他节点无法获取通信双方的地址信息以及通信内容,有效保护了用户的隐私;

(2)兼容现有IPv6协议的基本体系结构,基于本发明开发实现的匿名通信系统无需修改IPv5协议栈,而是充分利用IPv6的巨大地址空间以及IPv6多地址配置的特性,巧妙地实现了匿名通信的功能;

(3)较强的通用性。其他没有部署本发明所开发的匿名通信系统的主机仍然可以主动与实现了匿名机制的主机进行通信;

(4)高效率。本方法实施过程中采用多种技术,减少不必要的开销,大大提高了匿名通信系统的工作效率。本发明能够为未来互联网的应用提供多种有效的匿名通信与加密通信功能,有效保护用户的隐私以及数据传输的保密性,同时具有良好的可扩展性,能够适应未来互联网应用发展所带来的要求。

附图说明

图1.匿名通信系统体系结构图;

图2.邻居发现;

图3.消息转发;

图4.匿名性评价;

图5.匿名通信效率评价(本发明与Tor转发延迟的比较,单位:毫秒)。

具体实施方式

下面结合具体实施方式对本发明的上述发明内容作进一步的详细描述。

但不应将此理解为本发明上述主题的范围仅限于下述实施例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段,做出各种替换和变更,均应包括在本发明的范围内。

一.系统结构

基于本方法所设计实现的匿名通信系统需要达到以下主要目标:1)增强主机在IPv6环境下的匿名性;2)兼容现有IPv6协议的基本体系结构;3)较强的通用性。其他主机仍然可以主动与实现了匿名机制的主机进行通信。

为了实现以上目标,如图1所示,每个节点可以分为两个主要部分,地址管理模块和通信模块。地址管理模块通过与DHCPv6服务器交互以及主机运算生成匿名通信所需的IPv6地址,而通信模块主要负责信息的加/解密与转发并且需要负责搜集邻居节点的信息以及建立路径。接下来详细介绍各模块的设计实现中需要注意的问题。

二.地址管理模块

为了实现IPv6地址的可变与可管理相结合,本方法采用现有DHCPv6机制与无状态IPv6地址生成相结合的方法。具体IPv6地址生成与更新过程分为以下六个步骤:

1.通过DHCPv6服务器获得一个128位的初始IPv6地址,记为IAddr6;

2.将这个128位的IPv6地址IAddr6分为高低64位两部分:H(IAddr6)和L(IAddr6),将高64位地址H(IAddr6)作为地址前缀保存;

3.计算IAddr6低64位L(IAddr6)的MD5值:MD5(L(IAddr6)),并将这个128位的MD5值也分为高低两个64位的部分:H(MD5(L(IAddr6)))和L(MD5(L(IAddr6)))。其中高64位H(MD5(L(IAddr6)))与步骤2中保存的地址前缀H(IAddr6)执行连接操作,生成一个新的128位IPv6地址:H(IAddr6)|H(MD5(L(IAddr6)))。保存低64位L(MD5(L(IAddr6)))作为种子Sed,用于下一轮地址更新操作;

4.当生成的地址过期时,利用步骤3中保存的种子值L(MD5(L(IAddr6)))再次计算MD5值:MD5(L(MD5(L(IAddr6)))),采用相同的方法产生新的IPv6地址:IAddr6_New=H(IAddr6)|H(MD5(L(MD5(L(IAddr6))))),并且保存低64位MD5值作为新的种子:Sed_New=L(MD5(L(MD5(L(IAddr6)))));

5.重复步骤4直到主机下线或用户停止该功能。

6.由于IPv6地址由主机自己生成,因此可能会与同一网段的其他主机生成相同的地址,产生地址冲突。所以当主机每生成一个地址,则需要向域内广播检测该地址是否已被占用,如果已被占用,则需要对以上步骤进行调整,具体实施方案为:

6.1首先,对步骤4中生成的MD5值的两个部分进行调换,生成新的IPv6地址,并检查该地址是否被占用,如果没被占用,则调整结束;

6.2如果被占用,则利用调换后的半个MD5值重新执行步骤4生成新的MD5值以及IPv6地址,继续检测该地址是否被占用,如果被占用,则重复以上过程,直到冲突解除或者执行至上限后报错退出。

之所以采用以上方法而没有采用多次向DHCP服务器申请IP地址的方法来实现IPv6地址更新,主要基于以下两点考虑:首先,匿名通信中的IPv6地址更新频率远高于正常通信中的更新频率,这就可能造成DHCP服务器负载过重;其次,如果利用DHCP进行统一的IPv6地址更新,虽然在理论上是一个可行的方法,但是在实际实现过程中,由于DHCP服务器往往在很长一段时间内会向同一主机分配相同的IP地址或者是可推测的IPv6地址,根本无法实现IPv6地址的随机分配。

三.通信模块

通信模块主要包括节点标识与邻居发现以及消息转发等功能。

1.节点标识与邻居发现

对于一个P2P系统来讲,任何一个节点既是客户端又是服务器,客户端主动发起连接请求,服务器端被动等待客户端的连接请求。作为客户端,节点应该尽量隐藏个人身份,而作为服务器,节点应该让其他节点容易找到。为了达到这个目的,在具体实施过程中,为每个节点同时配置两个IP地址:服务器IP地址SIP和客户端IP地址CIP。服务器IP地址SIP为长期不变的静态IPv6地址,用于接受其他节点的接入请求;客户端IP地址CIP因为匿名性的要求,通过地址生成与更新算法为其配置随机IPv6地址,用于节点匿名通信过程中的邻居发现与消息转发;

2.消息转发

具体实施过程中,消息转发采用的是葱头路由方式,但由于涉及地址更新,所以需要做一些处理。一个节点需要进行匿名通信时,节点首先从自己的邻居节点中随机选择2~5个节点,通过可变IP与这些节点协商会话密钥。

此外,为了保证信息的完整性,还需要为每一跳加密数据计算摘要。同时为了避免过长数据传输的不可靠,将较长数据全部分割为512字节的信息进行依次转发。

由于本发明采用了地址更新策略,所以在信息转发过程中,任何一个接收信息的行为使用的都是固定IP地址,而任何一个转发行为使用的都是可变IP地址。此外,由于节点之间采用TCP连接,因此如果在数据转发过程中出现IP更换,则会导致连接中断。为了防止该情况,系统设计中允许一个过期的IP地址继续使用,直到该连接主动断开。

四.性能分析

考量匿名通信系统性能的主要指标是匿名性和匿名通信效率。以下分别进行分析。

1.匿名性评价

在匿名通信系统中,系统的匿名性可以通过匿名度来进行评价。假设N(N>1)为系统规模,S为系统在遭受攻击的情况下所保持的系统规模,H(X)为系统的熵值,pi为第i个节点可能被认定为真实发送者的概率。对于一般攻击来讲,攻击的基本原理是通过排除法来获得一个较小的集合S(匿名集)来最终判定可能的发送者。在不考虑攻击手段细节的情况下,一个系统的匿名度可以表示为:

>D(X)=H(X)H*(X)=-Σn=1Spilog2(pi)-Σn=1Npilog2(pi)=-Σn=1S1Slog2(1S)-Σn=1N1Nlog2(1N)=log2(S)log2(N)>

其中,H*(X)表示系统在没有攻击的情况下所拥有的理想熵值。

通过该定义可以得出一个系统的匿名度与每个节点在系统中的区分度有关。各个节点之间的区分度越小,信息泄漏越少,熵也就越大,则系统的匿名性也就越强。因此,如果能够保持更多的节点之间维持一个较小的区分度,则可以增强系统的匿名性。即S越大,系统的匿名性会越强。对于传统的攻击模式,排除节点的主要方法就是排除S中的IP地址数量,这是因为主机都是通过IP地址进行标识。而对于采用了本文提出机制的匿名通信系统,由于采用了IPv6中的地址变换方法,该方法相当于在一段时间内在原有匿名性的基础上增加了S中的IP地址数量。

仍假设系统有N个节点,其中M个节点采用了地址变换的方法,经过t个周期之后,攻击者搜集到的可疑IP地址数量为N+(t-1)M个,则在攻击存在的情况下,系统的匿名度可以表示为:

>D(X)=H(X)H*(X)=log2(S+S(t-1)M/N)log2(N+(t-1)M)>

图4展示了随着S减小系统匿名性的变化情况。与传统的未采用IPv6地址变换机制的匿名通信系统(M=0)相比,采用了该机制的系统匿名度的减小过程要慢,尤其是在S相对较小的情况下(S<40)这种现象更为明显。这对于匿名通信来讲是一个非常有意义的结果。由于针对匿名通信的攻击一般采用流量时间关联的分析方法,而随着时间的增加,系统会产生越来越多的IP地址,增加的IP地址会增加分析的难度,这又进一步延长了分析时间,因此整个过程会让匿名通信流量分析变得更加困难。在极端情况下,如图4所示,如果S=1,在传统系统中则表明已经完全追查出真实发送者,即D(X)=0,而对于本系统,则表明仅追踪到了发送者所在的网段(D(X)>0),发送者隐私并没有完全暴露。

2.匿名通信效率评价

在保证匿名通信的同时,匿名通信的效率问题也是系统的重要指标。在匿名通信系统中,系统延迟为最重要的性能指标。图5给出了本方法与广泛使用的匿名通信系统Tor的比较结果,表中的延迟单位为毫秒。由于Tor主要应用于Web网页浏览,因此图5中给出的延迟数值是指初始节点发出请求到请求内容完全返回初始节点的时间。通过比较可以看出,本发明的延迟远小于Tor系统。由于Tor系统已被广泛应用和认可,因此可以认为本发明的设计完全可以满足匿名通信的延迟需求。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号