一种网络属性随机跳变的控制方法与流程

文档序号:11930448阅读:336来源:国知局
一种网络属性随机跳变的控制方法与流程

本发明涉及随机跳变技术领域,特别是一种网络属性随机跳变的控制方法。



背景技术:

网络属性随机跳变技术的最初思想是来源于跳频通信技术,是指在网络通信中,通信一方或双方按照协定的策略随机地改变通信时的地址和端口信息,从而防止被攻击者发现,破坏攻击者的攻击和干扰,主动防护网络通信过程中的安全。

国外对网络属性随机跳变技术的研究起步较早,已经取得了一定的成果。在2000年,基于端口地址跳变的防御策略第一次由美国国防部高级研究计划署(DARPA)在其主导的APOD项目中提出。随后,国内研究者对于网络属性随机跳变技术也开展了不少研究工作。目前,国内外研究者已经提出了一些支持网络属性随机跳变的通信方案,通过不断改变通信地址、端口的方式来抵抗攻击。文献【Port Hopping for Resilient Networks】等提出的方案采用严格的时间同步策略,客户端通过与服务器保持在时间上的严格同步,根据共享的算法同样可以得知当前服务器提供服务的端口号,从而完成通信;但这一类方案有一个缺点,就是在网络通信中,由于网络延迟和拥塞的存在,无法真正意义上到达时间同步。文献【Keeping Denial of Service Attackers in the Dark】提出的方案采用发送ACK报文的方式来保持同步,不要求严格意义上的时间同步;但这一类方案的缺点是ACK报文容易被攻击者截获,从而分析出相应的跳变信息。文献【OpenFlow Random Host Mutation:Transparent MovingTarget Defense using Software Defined Networking】提出的方案采用了基于Openflow技术的跳变控制方法;但是由于是集中式的控制,这一类方案在可靠性、扩展性方面还需要进行加强。

综上所述,目前业界还缺少不依赖于严格的时间同步、不易被截获、采用分布式控制方式的网络属性随机跳变控制方法,在实用性、安全性、可靠性、可扩展性方面都具有良好的表现。

网络属性随机跳变是指在通信网络中,通信一方或双方按照协定的策略随机地改变通信时的地址、端口等网络属性,或者按照协定的策略随机地改变网络报文中携带的地址、端口等网络属性,从而防止被攻击者发现,阻碍攻击者进行攻击和干扰,主动防护网络通信过程中的安全性。为了保证网络属性跳变过程的安全性,防止被攻击者预测到,网络属性跳变往往是随机的、无规律的。但这种随机跳变会给正常的网络通信形成干扰。



技术实现要素:

本发明所要解决的技术问题是:针对上述存在的问题,提供了一种网络属性随机跳变的控制方法。

本发明采用的技术方案如下:一种网络属性随机跳变的控制方法,具体包括以下过程:

步骤1、将进行随机跳变的网络节点组成同步组;

步骤2、同步组中所有节点内置相同的二进制伪随机序列发生器、固定的验证码V和两组计算R(A,B)与R′(A,B)、T(A,B)与T′(A,B),其中,R′(R(A,B),B)=A,T′(T(A,B),B)=A;

步骤3、同步组中所有节点进行时钟同步;

步骤4、同步组中每个节点以与当前时刻小时数H有关的函数F(H)为种子,生成二进制伪随机序列;

步骤5、同步组中每个节点以当前时刻小时数H有关的函数G(H)为起点,从二进制伪随机序列中截取长度为L的一段Sn,作为当前周期的跳变码;

步骤6、同步组中每个节点与邻居节点进行跳变码的同步设置;

步骤7、同步组中每个节点与达成跳变码同步后,恢复原始的网络属性值;

步骤8、设置跳变的更新周期,经过更新周期后,每个节点从二进制伪随机序列中截取下一段长度为L的部分Sn+1作为新的跳变码,重复步骤6-7。

进一步的,步骤6的具体过程为:

(1)同步组中每个节点根据自己的当前周期的跳变码Sn生成同步码Hn=H(Sn),并发送给邻居节点;

(2)同步组中每个节点将收到的来自邻居节点的同步码H′n与自己当前周期的同步码Hn、自己下一个周期的同步码Hn+1进行比较:如果H′n=Hn或者不能做出比较,则自己当前周期的跳变码不变,进行下一步操作;如果H′n=Hn+1,则把自己当前周期的跳变码更新为Sn+1,跳转到第(2)步;

(3)同步组中每个节点根据验证码V和自己当前周期的跳变码Sn生成同步验证码Rv=R(V,Sn),并发送给邻居节点;

(4)同步组中每个节点对收到的来自邻居节点的同步验证码R′v进行逆向计算R′(R′v,Sn),并与自己的同步验证码Rv进行比较,如果R′(R′v,Sn)不等于Rv,则持续等待邻居节点的下一个同步验证码,如果R′(R′v,Sn)=Rv,则邻居节点与当前节点已经达成了跳变码同步。

进一步的,所述步骤7的具体过程为:

(1)当邻居节点与当前节点达成跳变码同步后,网络节点使用当前的跳变码,对需要进行随机跳变的网络属性P进行变换计算,得到Tp=T(P,Sn),并用Tp改写网络报文中携带的网络属性P,再发送给邻居节点;

(2)网络节点首先对来自邻居节点的网络报文中携带的属性Tp进行逆计算,得到P=T′(Tp,Sn),并用P改写网络报文中携带的属性Tp

进一步的,所述函数F(H)采用以H为种子的随机数生成算法。

进一步的,所述函数G(H)采用以H为种子的随机数生成算法。

进一步的,所述函数H(Sn)采用难以逆向计算的Hash算法。

进一步的,每个节点将同步码Hn发送给邻居节点采用的报文格式依次为链路层头部、IP头部、同步码Hn和标志位;

进一步的,每个节点将验证码Rv发送给邻居节点的报文格式依次为链路层头部、IP头部、传输层头部、同步验证码和应用层净荷。

与现有技术相比,采用上述技术方案的有益效果为:本发明提出的网络属性随机跳变控制方法能够支持网络通信的双方按照协定的策略对网络报文中携带的地址、端口等网络属性进行随机跳变,同时能够确保参与跳变的网络节点之间共享一致的控制参数,使得报文传输路径沿途各节点能够正确的理解跳变后的网络属性,并恢复出原始的网络属性值,从而确保正常的网络通信得以开展。本发明有利于防止真实的网络通信地址、端口信息被攻击者以嗅探、监听等方式获取,阻碍攻击者进行分析、攻击和干扰,从而提升网络通信的安全性。

本发明提出的网络属性随机跳变控制方法不依赖于严格的时间同步,采用分布式控制方式,并且采用密码技术防止被截获,因此具有良好的实用性、可靠性、可扩展性与安全性。

附图说明

图1是本发明发送同步码采用的报文格式示意图。

图2是本发明插入同步验证码的报文格式示意图。

图3是本发明节点与邻居节点同步流程示意图。

具体实施方式

下面结合附图对本发明做进一步描述。

一种网络属性随机跳变的控制方法,具体包括以下过程:

步骤1、将进行随机跳变的网络节点组成同步组,同步组是根据具有相互通信需求,并且网络地址、端口等属性进行随机跳变的网络节点组成的;

步骤2、同步组中所有节点内置相同的二进制伪随机序列发生器、固定的验证码V和两组计算R(A,B)与R′(A,B)、T(A,B)与T′(A,B),R(A,B)与R′(A,B)采用以B为密钥的一组对称加解密算法,R(A,B)为加密计算、R′(A,B)为解密计算,T(A,B)与T′(A,B)采用以B为密钥的一组对称加解密算法,T(A,B)为加密计算、T′(A,B)为解密计算,其中,R′(R(A,B),B)=A,T′(T(A,B),B)=A;

步骤3、同步组中所有节点进行时钟同步;

步骤4,每个节点以与当前时刻小时数H有关的函数F(H)为种子,生成二进制伪随机序列,函数F(H)可采用以H为种子的随机数生成算法;

步骤5、同步组中每个节点以当前时刻小时数H有关的函数G(H)为起点,函数G(H)可采用以H为种子的随机数生成算法,从二进制伪随机序列中截取长度为L的一段Sn,作为当前周期的跳变码;

步骤6,同步组中每个节点与邻居节点进行跳变码的同步设置;

步骤7、同步组中每个节点与达成跳变码同步后,恢复原始的网络属性值;

步骤8、设置跳变的更新周期,经过更新周期后,每个节点从二进制伪随机序列中截取下一段长度为L的部分Sn+1作为新的跳变码,重复步骤6-7。

如图3所述,步骤6中,同步组中每个节点与邻居节点进行跳变码的同步设置的具体过程为:

(1)同步组中节点A根据自己的当前周期的跳变码Sn(A)生成同步码Hn(A),Hn(A)可采用难以逆向计算的Hash算法得到,并发送给邻居节点B,节点A将同步码Hn(A)发送给邻居节点B采用的报文格式如图1所示,依次为链路层头部、IP头部、同步码Hn和标志位;其中,同步码Hn(A):长度为128位,填写节点A根据自己当前周期的跳变码Sn(A)生成的同步码Hn(A);标志位:长度为2位,节点B根据自己收到的来自邻居节点A的同步码Hn(A)与自己当前周期的同步码Hn(B)、自己下一个周期的同步码Hn+1(B)的比较结果来填写:如果Hn(A)=Hn(B),则标志位填写01;如果Hn(A)=Hn+1(B),则标志位填写11;如果未比较或不能做出比较,则标志位填写00。

(2)同步组中节点B将收到的来自邻居节点的同步码Hn(A)与自己当前周期的同步码Hn(B)、自己下一个周期的同步码Hn+1(B)进行比较:如果Hn(A)=Hn(B)或者不能做出比较,则自己当前周期的跳变码不变,标志位填写01或者00,进入下一步;如果Hn(A)=Hn+1(B),则把自己当前周期的跳变码更新为Sn+1,标志位填写11,并重复第(2)步;同步组中每一个节点通过步骤(1)-(2)的过程与邻居节点进行比较。

(3)同步组中每个节点根据验证码V和自己当前周期的跳变码Sn生成同步验证码Rv=R(V,Sn),每个节点可以在常规IP报文净荷的开始位置插入同步验证码Rv,并发送给邻居节点;将验证码Rv发送给邻居节点的报文格式如图2所示,依次为链路层头部、IP头部、传输层头部、同步验证码Rv和应用层净荷,同步验证码Rv长度为128位;

(4)同步组中每个节点对收到的来自邻居节点的同步验证码R′v进行逆向计算R′(R′v,Sn),并与自己的同步验证码Rv进行比较,如果R′(R′v,Sn)不等于Rv,则持续等待邻居节点的下一个同步验证码,如果R′(R′v,Sn)=Rv,则邻居节点与当前节点已经达成了跳变码同步。

进一步的,所述步骤7的具体过程为:

(1)当邻居节点与当前节点达成跳变码同步后,网络节点使用当前的跳变码,对需要进行随机跳变的网络属性P进行变换计算,得到Tp=T(P,Sn),并用Tp改写网络报文中携带的网络属性P,再发送给邻居节点;

(2)网络节点首先对来自邻居节点的网络报文中携带的属性Tp进行逆计算,得到P=T′(Tp,Sn),并用P改写网络报文中携带的属性Tp

本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。如果本领域技术人员,在不脱离本发明的精神所做的非实质性改变或改进,都应该属于本发明权利要求保护的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1