借用IP地址的主机号中的若干位来充当子网地址,将物理网络划分为若干个子网。32位IP地址中的网络号和子网号字段的每个比特位均取“1”,主机号字段取“0”,将这样的32位地址称为子网掩码。子网掩码和主机的IP地址做与运算,可以得到划分子网的子网地址,使路由器知道子网的划分情况,子网上的主机可以利用路由器与外网进行数据交换。
2.2 IP协议安全性和IPSec安全协议
Inernet网上所有的应用协议都要转换为IP协议,然后在各种物理网络间传递。作为因特网的核心协议,其IP数据报的格式如图1所示。
IP数据报包括首部和数据部分,首部又包括固定部分和可变部分两部分,固定部分占20字节,每个IP数据报都固定的包含这个部分,其中的字段能够帮助我们更好的理解IP协议的内容。最后两个字段分别是源地址和目的地址,表示通信双方主机的IP地址。IP协议在设计的时候缺乏对安全性的考虑,从首部中的各个字段可以很明显的看出,IP协议中不存在对IP地址的有效的保护和认证机制,网络用户可以轻而易举的改变字段中的内容,并根据修改后的IP数据包的首部计算出新的首部检验和字段,造成了不可信的IP地址的出现。
为了增加网络传输的安全性,设计了网络层的IPSec协议[4]。IPSec协议族包括AH(Authentication Header)和ESP(Encapsulation Security Payload)两种协议,AH协议并不对传送的数据包进行加密,也就无法提供机密性服务,但AH中有两个强制实施身份验证器,能够认证数据的完整性,具有强大的认证功能。ESP协议的报头相对复杂一些,它能够实现对数据包的认证和加密的功能。两种协议都能够实现对数据源的验证和抗重播攻击的能力,对数据源的验证是基于数据完整性的基础之上的,通过使用数字签名的算法实现。虽然IPSEC协议能够有效地解决网络传输中数据的机密性和完整性问题,但是并不能有效地保证通信中IP地址的可信性问题。
2.3 IP地址的应用
IP地址是IP协议中为了实现主机之间的数据通信而提出的概念,网络层的主要功能是实现数据从发送端主机经过选定的路由到达目的端主机,下面简述一下IP数据报在网络中的传输过程。假设A主机向B主机发送IP数据报,A主机根据目的地址和本子网所在的子网掩码进行判定,如果A和B连接在同一个网络中,A主机可以直接发送数据报,B主机可以收到;如果A和B位于不同的网络,则需要利用路由器进行分组转发,主机A将数据报放送到所在子网的默认路由器中。路由器的主要工作包括路由选择和转发两部分。路由器的路由选择功能根据路由选择算法来实现,路由选择算法一般比较复杂,而不同的路由选择算法会根据整个网络拓扑结构的变化,生成不同的路由信息,构造出路由表。各个路由器之间相互通信,发送交换路由信息的分组,及时的更新和维护路由表。A主机发送的数据报到达路由器后,读取IP数据报首部的目的地址,并根据路由表中的信息,选择合适的端口,将IP数据报从输出端口中转发出去,数据报到达下一跳路由器,然后再继续存储转发过程,直到某个路由器的路由表中包含目的主机B所在的子网信息,该路由器可以将IP数据报直接发送给主机,从而成功的将IP数据报从主机A发送到主机B。
3、可信IP地址机制及安全性分析
基于上述对IP地址的安全问题及IP传输工作原理的系统分析和论证可知,IP地址的不可信源于IP地址可动态配置。对可信IP的研究,除了IPSec外,还有一些学者从安全网卡的角度提出了IP安全性研究[5],但这些并没有从根本上解决本文开始提出的安全问题。作者从IP的工作机理出发[6~7],从另一个角度提出了可信IP地址的机制,以食读者。
3.1可信路由IP机制
首先,我们给出相关的概念。路由网中的路由器可分为边界路由器和内部路由器。边界路由器是指将局域网连接到路由网的路由器,而内部路由器是指路由网中除了边界路由器以外的所有路由器。
其次,对边界路由表和路由器的路由算法进行改造。内部路由器还沿用传统的的路由表,如图2(a)所示;而边界路由器的路由表改造为图2(b)的模式。
改造后的边界路由器的路由表由三部分构成:源IP地址、目的IP地址和下一跳IP地址,即在边界路由器的路由表中增设了源IP地址项。
最后,对边界路由器的IP路由算法进行改造(内部路由器的算法不变,沿用传统的算法),改进后的IP路由算法如下:
1、从报文中提取源IP地址S和目的IP地址D;
2、如果源IP地址S不在该路由器的管辖范围之内(安装边界路由器时设定),则抛弃该IP数据报,并形成相关日志,以便进行安全审计;否则转3;
3、从目的IP地址D中提取目的网段地址N,如果 N与该路由器相连的网络地址匹配,则将该数据报转发给该网络,并结束。否则转4;
4、如果路由表的目的IP地址项中包含D,则将该数据报发给下一跳路由器,并结束。否则转5;
5、如果路由表的目的IP地址项中包含N,则将该数据报发给下一跳路由器,并结束。否则转6;
6、如果路由表中包含默认路由地址,则将该数据报发给默认路由器,并结束。否则,进行出错处理。
这样改造的目的是:边界路由器在将相关的IP数据报传递到下一跳前,进行源IP地址的检查,如果该IP是该路由器所辖的范围则转发,否则拒绝转发。这种IP机制的设置,可使得传输到路由网络的IP地址是一个可信范围的IP地址。而防火墙的设置往往是针对某个网段的,而非针对某个IP地址,这就有效地提高了防火墙的安全性,减少欺骗的可能性;针对DoS这类的攻击和其他形式的IP欺骗,使得管理机构和公安机关可有效地锁定IP地址的范围,便于对相关人员的处罚,以至于追究相关的刑事责任。这种设置并没有改变内容路由器的功能和工作方式,只是在边界路由器对转发管辖范围内的IP地址的合法性检查,不影响整个网络的工作效率。
3.2可信网内IP机制
尽管,可信路由IP机制可以将发起者的IP地址锁定在局域网范围内,但这种方法尚不能根据IP地址锁定某个计算机。一般地,较大规模的计算机局域网是按图3的方式,用交换机将其中的计算机联成一个具有层次结构的网络。
为了使IP地址与计算机绑定,可在低层交换机上通过IP地址与MAC地址绑定并注册,该交换机在交换数据报时,检测IP地址和MAC地址的注册信息是否一致,即可判定IP地址是否伪造问题。当然,这种方法将会损伤交换机的工作效率。为此,我们进行如下的改进:
首先,在最低层交换机注册其管辖的计算机的IP地址与其绑定的MAC地址,在高一层交换机注册其所有下一层交换机管辖的IP地址。只有当最下一层的交换机需要与上一层交换机进行数据交换时,才进行IP地址与MAC地址绑定的验证,只交换验证一致的数据,而抛弃不一致的数据;其他层的交换机只有在需要与上一层交换机交换数据报时,检查数据报的IP地址是否与其管辖的IP地址一致,简单抛弃不一致的数据报。
(责任编辑:adminadmin2008)