一种基于ARP请求的地址跳变通信方法与流程

文档序号:21083133发布日期:2020-06-12 16:42阅读:275来源:国知局
一种基于ARP请求的地址跳变通信方法与流程

本发明属于网络安全技术领域,涉及一种基于arp请求的地址跳变通信方法。



背景技术:

近年来,计算机网络技术得到迅速发展,人们极大地享受网络带来的便捷服务。但计算机网络是一把双刃剑,当各种主机连入网络之际,也同时成为潜在的被攻击对象。攻击者往往通过截获、破解、篡改、欺骗、会话劫持、发动拒绝服务等手段来获取有用信息甚至干扰和破坏正常的网络通信。因此,加强网络安全防护、提高网络信息系统遭受网络攻击时的生存能力是当前及以后相当长一段时期内研究人员的一个重要研究方向。

目前企业和机构普遍采用的安全防护措施主要包括防火墙、入侵检测、入侵防御系统等,但这些防护手段大多属于被动防御,接收端或主要主机仍暴露在潜在的攻击之下,采取防范行动的前提是入侵已经发生或者正在发生,且针对已知攻击方式效果较好,对于未知攻击方式效果不理想,防护效果有限。由于传统方法主要是基于对网络流量的分析,检测算法效率较低,高强度海量的攻击流量(dos/ddos攻击)会导致算法性能急剧下降,甚至影响正常用户的访问。

动态目标防御方法旨在ddos等网络攻击影响目标主机性能之前就减弱或防止攻击的发生。目前,实现地址跳变的技术中具有代表性的有:

《一种地址跳变技术》(作者:henryc.j.lee),利用跳变函数实现跳变,系统时间、共享密钥是跳变函数的参数。但是,它存在的问题是同步技术采用严格时钟同步,在拥塞和网络延迟下适应性差。

《一种of-rhm(openflow-randomhostmutation)方法》(作者:jafarian等),在sdn中设计了一种ip地址动态变化技术,该技术对通信主机透明化并且可以提供较高的ip变化速率,然而在传统网络中却难以部署,而且由于较高的延时,使其无法在对时延要求比较苛刻的移动通信系统中直接应用。

《一个基于端口和地址信息的服务跳变机制以及基于时间戳的同步机制》(作者:石乐义、贾春福等),但是该方案不能防止监听攻击。为此,改进方案引入插件机制,但是插件机制中的路由器有成为系统新的性能瓶颈。

综上可以看出,虽然已有一些地址跳变技术,但是都对时间同步精度要求较高。原因为在某一时刻一个数据帧到达接收端时,接收端在同一时刻需要知道该数据帧中目的地址的值,然后进行相应配置并进行接收。现有算法均是在对传输时延进行估算的基础上匹配接收的,估算均存在误差范围,误差范围如果设置不合理,就会引起接收端使用的地址与ip头部中的目的ip地址不同,从而导致通信失败,因此已有技术未能大规模实施部署。



技术实现要素:

本发明的目的是提供一种基于arp请求的地址跳变通信方法,解决了现有技术中存在的因时间同步精度要求较高,误差范围如果设置不合理,从而导致通信失败的问题。

本发明所采用的技术方案是,一种基于arp请求的地址跳变通信方法,具体按照如下步骤实施:

步骤1,在发送端部署:认证单元;

在接收端部署:服务注册单元、密钥生成单元、跳变信息存储单元;

在地址跳变网关部署:地址跳变引擎;

在可信的第三方部署:认证分发中心;

步骤2,配置接收端跳变参数,生成跳变密钥,并将跳变参数和跳变密钥保存至接收端的跳变信息存储单元,接收端的跳变信息存储单元负责控制接收端中地址的跳变;

步骤3,发送端通过认证分发中心的认证,获取与接收端通信资质;

步骤4,发送端修改数据报文ipv4协议头部中ihl值为6,增加一个可选择字段,长度为4个字节,在其中添加指针和标识,使数据报文能够读取网络设备中的arp请求,然后发送给地址跳变网关;

步骤5,地址跳变网关收到发送端的通信报文,地址跳变引擎根据ip头部中的指针和标识获取接收端跳变地址,修改报文对应地址,完成报文的转发。

本发明的特征还在于,

步骤2具体为:

步骤2.1配置部分接收端跳变参数;

跳变参数包括:地址跳变空间aspace、跳变周期t;

步骤2.2,由接收端的密钥生成单元生成跳变密钥k;

步骤2.3,将步骤2.1中的地址跳变空间aspace、跳变周期t保存在接收端的跳变信息存储单元,密钥生成单元将步骤2.2中生成的跳变密钥k保存在接收端的跳变信息存储单元;

步骤2.4,接收端的服务注册单元向认证分发中心发起认证;

若认证通过,接收端获取通信资质,授权的发送端就能访问接收端提供的服务了;同时,接收端的跳变信息存储单元将保存的地址跳变参数发送给地址跳变网关;

若认证失败,则通信失败,接收端不能进行服务注册,发送端也不能访问相应的服务。

步骤2.2具体为:

执行rc4(rivestcipher4)算法,rc4算法由两部分组成,第一部分称为初始化算法(ksa),第二部分是伪随机码生成算法(prga);

步骤2.2.1,执行第一部分称为初始化算法(ksa),通过对长度为l字节的密钥k进行组合,生成排列s{0,1,2,...,n-1};

步骤2.2.2,交换s[im],s[jm],交换操作如下:s[im]的位置字节是x[tm]y[tm](tm=1~f),s[jm]的位置字节是x[nm]y[nm](nm=1~f),i,j,n,m,f<256,每一行依次向右移动,移动距离为|x[nm]-x[tm]|,以便s[im]与jm在同一列,然后移动位置向下的列,移动距离是|y[nm]-y[tm]|,以便s[im]到达jm指定的位置,通过这种转换方法,在jm交换的位置s[im],右移的距离为16-|x[nm]-x[tm]|,在该列下位移距离为16-|y[nm]-y[tm]|,这样,s[jm]到达s[im]的位置;

步骤2.2.3,继续执行rc4算法的第二部分是伪随机码生成算法(prga),伪随机密钥序列z[i]由prga获得,并输出伪随机密钥序列z[i],即为跳变密钥k。

步骤3中,发送端通过认证单元与认证分发中心建立安全通信,认证分发中心完成对发送端主机的认证,证明发送端主机是合法用户,然后发送端获得通信资质。

步骤5的具体为:

对于来自发送端的报文,地址跳变网关的地址跳变引擎通过netfilter架构在内核local_outhook点获取发送端收到的报文,地址跳变引擎根据ip头部中的指针和标识获取发送端跳变地址,将报文的目的地址修改为接收端跳变地址,将报文转发给接收端。

本发明的有益效果是:

1、本发明通过在ip头部加入指针和标识,使数据包在最后一个三层网络设备能够自动读取arp请求,具有自动识别对端ip地址能力,不要求严格的时钟同步,原理简单、易实现,对网络延迟和拥塞有一定的容忍能力,对于真实网络有更强的适应性。

2、本发明基于现有的netfilter进行实现,不需要对现有协议栈进行修改,也不需要额外的协议支持,发送端和接收端应用程序可以不经修改地进行运行,部署实施简单,代价小。

3、本发明基于改进的rc算法生成跳变密钥,能有效提高系统的安全性。

4、本发明网络地址的变化在系统内核空间实现,可以避免数据报文在内核空间和用户空间的多次拷贝,提高了处理效率,能有效提高系统的安全性。

附图说明

图1是本发明一种基于arp请求的地址跳变通信方法的流程图;

图2是本发明一种基于arp请求的地址跳变通信方法在接收端总体运行的流程图;

图3是本发明一种基于arp请求的地址跳变通信方法在发送端总体运行的流程图;

图4是本发明一种基于arp请求的地址跳变通信方法在地址跳变网关总体运行具体流程示意图。

具体实施方式

下面结合附图和具体实施方式对本发明进行详细说明。

本发明一种基于arp请求的地址跳变通信方法,具体按照如下步骤实施:

步骤1,在发送端部署:认证单元;

在接收端部署:服务注册单元、密钥生成单元、跳变信息存储单元;

在地址跳变网关部署:地址跳变引擎;

在可信的第三方部署:认证分发中心;

如图2所示,步骤2,配置接收端跳变参数,生成跳变密钥,并将跳变参数和跳变密钥保存至接收端的跳变信息存储单元,接收端的跳变信息存储单元负责控制接收端中地址的跳变;具体为:

步骤2.1配置部分接收端跳变参数;

跳变参数包括:地址跳变空间aspace、跳变周期t;

步骤2.2,由接收端的密钥生成单元生成跳变密钥k;具体为:

执行rc4(rivestcipher4)算法,rc4算法由两部分组成,第一部分称为初始化算法(ksa),第二部分是伪随机码生成算法(prga);

步骤2.2.1,执行第一部分称为初始化算法(ksa),通过对长度为l字节的密钥k进行组合,生成排列s{0,1,2,...,n-1};

步骤2.2.2,交换s[im],s[jm],交换操作如下:s[im]的位置字节是x[tm]y[tm](tm=1~f),s[jm]的位置字节是x[nm]y[nm](nm=1~f),i,j,n,m,f<256,每一行依次向右移动,移动距离为|x[nm]-x[tm]|,以便s[im]与jm在同一列,然后移动位置向下的列,移动距离是|y[nm]-y[tm]|,以便s[im]到达jm指定的位置,通过这种转换方法,在jm交换的位置s[im],右移的距离为16-|x[nm]-x[tm]|,在该列下位移距离为16-|y[nm]-y[tm]|,这样,s[jm]到达s[im]的位置;

步骤2.2.3,继续执行rc4算法的第二部分是伪随机码生成算法(prga),伪随机密钥序列z[i]由prga获得,并输出伪随机密钥序列z[i],即为跳变密钥k;

步骤2.3,将步骤2.1中的地址跳变空间aspace、跳变周期t保存在接收端的跳变信息存储单元,密钥生成单元将步骤2.2中生成的跳变密钥k保存在接收端的跳变信息存储单元;

步骤2.4,接收端的服务注册单元向认证分发中心发起认证;

若认证通过,接收端获取通信资质,授权的发送端就能访问接收端提供的服务了;同时,接收端的跳变信息存储单元将保存的地址跳变参数发送给地址跳变网关;

若认证失败,则通信失败,接收端不能进行服务注册,发送端也不能访问相应的服务;

如图3所示,步骤3,发送端通过认证分发中心的认证,获取与接收端通信资质;

步骤4,发送端修改数据报文ipv4协议头部中ihl值为6,增加一个可选择字段,长度为4个字节,在其中添加指针和标识,使数据报文能够读取网络设备中的arp请求,然后发送给地址跳变网关;

如图4所示,步骤5,地址跳变网关收到发送端的通信报文,地址跳变引擎根据ip头部中的指针和标识获取接收端跳变地址,修改报文对应地址,完成报文的转发,具体为:

对于来自发送端的报文,地址跳变网关的地址跳变引擎通过netfilter架构在内核local_outhook点获取发送端收到的报文,地址跳变引擎根据ip头部中的指针和标识获取发送端跳变地址,将报文的目的地址修改为接收端跳变地址,将报文转发给接收端。

步骤3中发送端通过认证单元与认证分发中心建立安全通信,认证分发中心完成对发送端主机的认证,证明发送端主机是合法用户,然后发送端获得通信资质。

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