IKE协议与实现
IKE协议与实现一、IKE的作用当应用环境的规模较小时,可以用手工配置SA;当应用环境规模较大、参与的节点位置不固定时,IKE可自动地为参与通信的实体协商SA,并对安全关联库(SAD)维护,保障通信安全。二、IKE的机制IKE属于一种混合型协议,由Internet安全关联和密钥管理协议(ISAKMP)和两种密钥交换协议OAKLEY与SKEME组成。IKE创建在由ISAKMP定义的框架上,沿用了OAKLEY的密钥交换模式以及SKEME的共享和密钥更新技术,还定义了它自己的两种密钥交换方式。IKE使用了两个阶段的ISAKMP:第一阶段,协商创建一个通信信道(IKESA),并对该信道进行验证,为双方进一步的IKE通信提供机密性、消息完整性以及消息源验证服务;第二阶段,使用已建立的IKESA建立IPsecSA(如图1所示)。IKESA消息主机止图1阶段L的一4-IKESA保护阶段0的多个交换IKE共定义了5种交换。阶段1有两种模式的交换:对身份进行保护的“主模式”交换以及根据基本ISAKMP文档制订的“野蛮模式”交换。阶段2交换使用“快速模式”交换。IKE自己定义了两种交换:1为通信各方间协商一个新的DiffieHellman组类型的“新组模式”交换;2在IKE通信双方间传送错误及状态消息的ISAKMP信息交换。1主模式交换主模式交换提供了身份保护机制,经过三个步骤,共交换了六条消息。三个步骤分别是策略协商交换、DiffieHellman共享值、nonce交换以及身份验证交换(如图2所示)。对安全参数的提谏值协商启动响宜方选定可接受的安全奏数值响应方不接受响应方身份;重传探护套件翁起方的提谊中的辅助数据开贻夾换重传身份不对密钥格式不正确密钥素材身份验证完成密粗就绪ISAKM1沁立发起方序有的提谏选定的协银木在图2:主模式蕊换狀态转换图发起方启动协商传送重传.发起方发送密铜素財和必需响应方境送密粗秦材和必需的辅助数据成功,状数据复险或失败鯉方传送身说消息密钥格式不正确重传g身杠息K?2野蛮模式交换野蛮模式交换也分为三个步骤,但只交换三条消息:头两条消息协商策略,交换DiffieHellman公开值必需的辅助数据以及身份信息;第二条消息认证响应方;第三条消息认证发起方,并为发起方提供在场的证据(如图3所示)。離方启动协商(唸对安重传协商启动发起方身份不对11向应方身份木对额载荷航载辭身悅验证ISAKKIP重传沁立就绪ff,nonce,及身份数据图恳野蛮模式交换状碎换图重传发起方传送验证载荷全参数的提魂公开成功,状态数据复位;或者尖败:响应方传递选定的安全参数值DH公开值;none内身份数据,以及3快速模式交换快速模式交换通过三条消息建立IPsecSA:头两条消息协商IPsecSA的各项参数值,并生成IPsec使用的密钥;第二条消息还为响应方提供在场的证据;第三条消息为发起方提供在场的证据(如图4所示)。4新组模式交换通信双方通过新组模式交换协商新的DiffieHellman组。新组模式交换属于一种请求/响应交换。发送方发送提议的组的标识符及其特征,如果响应方能够接收提议,就用完全一样的消息应答(如图5所示)。5ISAKMP信息交换参与IKE通信的双方均能向对方发送错误及状态提示消息。这实际上并非真正意义上的交换,而只是发送单独一条消息,不需要确认(如图6所示)。三、IKE的安全1机密性保护IKE使用DiffieHellman组中的加密算法。IKE共定义了五个DiffieHellman组,其中三个组使用乘幂算法(模数位数分别是768、1024、1680位),另两个组使用椭圆曲线算法(字段长度分别是155、185位)。因此,IKE的加密算法强度高,密钥长度大。2完整性保护及身份验证在阶段1、2交换中,IKE通过交换验证载荷(包含散列值或数字签名)保护交换消息的完整性,并提供对数据源的身份验证。IKE列举了四种验证方法:1预共享密钥;2数字签名;3公钥加密;4改进的公钥加密。3抵抗拒绝服务攻击对任何交换来说,第一步都是cookie交换。每个通信实体都生成自己的cookie,cookie提供了一定程度的抗拒绝服务攻击的能力。如果在进行一次密钥交换,直到完成cookie交换,才进行密集型的运算,比如DiffieHellman交换所需的乘幕运算,则可以有效地抵抗某些拒绝服务攻击,如简单使用伪造IP源地址进行的溢出攻击。4防止中间人攻击中间人攻击包括窃听、插入、删除、修改消息,反射消息回到发送者,重放旧消息以及重定向消息。ISAKMP的特征能阻止这些攻击。5完美向前保密完美向前保密(PFS),指即使攻击者破解了一个密钥,也只能还原这个密钥加密的数据,而不能还原其他的加密数据。要达到理想的PFS,一个密钥只能用于一种用途,生成一个密钥的素材也不能用来生成其他的密钥。我们把采用短暂的一次性密钥的系统称为“PFS”。如果要求对身份的保护也是PFS,则一个IKESA只能创建一个IPsecSA。四、IKE的实现IKE是一个用户级的进程。启动后,作为后台守护进程运行。在需要使用IKE服务前,它一直处于不活动状态。可以通过两种方式请求IKE服务:1当内核的安全策略模块要求建立SA时,内核触发IKE。2当远程IKE实体需要协商SA时,可触发IKE。1IKE与内核的接口内核为了进行安全通信,需要通过IKE建立或更新SA。IKE同内核间的接口有:1、同SPD通信的双向接口。当IKE得到SPD的策略信息后,把它提交给远程IKE对等实体;当IKE收到远程IKE对等实体的提议后,为进行本地策略校验,必须把它交给SPD。2、同SAD通信的双向接口。IKE负责动态填充SAD,要向SAD发送消息(SPI请求和SA实例),也要接收从SAD返回的消息(SPI应答)。2IKE对等实体间接口IKE为请求创建SA的远程IKE对等实体提供了一个接口。当节点需要安全通信时,IKE与另一个IKE对等实体通信,协商建立IPsecSA。如果已经创建了IKESA,就可以直接通过阶段2交换,创建新的IPsecSA;如果还没有创建IKESA,就要通过阶段1、2交换创建新的IKESA及IPsecSA。一、总体设计IPsec规定的组件包括安全协议验证头(AH)和封装安全载荷(ESP)、安全策略数据库(SPD)和安全关联数据库(SAD)、IKE密钥交换及加密和验证算法。1.总体结构如图1所示,IPsec实现的总体结构分为IPsec协议引擎、策略管理、IKE密钥交换及密码变换4个模块。其中IPsec安全协议的处理是数据流程的核心,策略管理模块为其直接提供所需参数,IKE密钥交换用于自动管理SAD,而密码算法是达到安全的基本工具。2.功能分配策略管理:位于内核中,管理SPD和SAD,对数据包(要进行IPsec处理的数据报或数据包的统称)的安全保障起决定作用。功能包括SPD和SAD的管理(记录的增加、删除、修改、刷新和查询)、同IPsec协议引擎的接口和同IKE的接口。IPsec协议引擎:位于内核中,实现安全协议AH和ESP。功能包括外出数据包的处理、进入数据包的处理、同IP层和TCP层的接口。IKE密钥交换:一个用户级进程,用于动态管理SAD。功能包括IKE间的交互、同SAD和SPD的接口。密码算法:至少应实现AES、DES、3DES、HMAC-MD5、HMAC-SHA1。二、实现策略管理模块和协议引擎1.策略管理模块(1)SPD和SAD在内存中的组织和管理IPsec系统所使用的策略库一般保存在一个策略服务器中。该服务器为域中的所有节点(主机和路由器)维护策略库。各节点可将策略库拷贝到本地,也可使用轻型目录访问协议(LDAP)动态获取。从名义上说,一个IPsec系统中SPD分为进入SPD和外出SPD,均处于内核中。系统初始化时,将策略库中的每一条记录分别装入进入SPD和外出SPD中。为了确保SPD的有效性和安全性,应定期进行更新和刷新。SAD的每一条记录对应一个SA。SA经IKE协商得到,并以有序散列链表的形式组织。从名义上说,SAD也分为进入SAD和外出SAD,分别与进入散列链表和外出散列链表相对应。进入散列链表用SA中的IPsec源地址计算散列值,外出散列链表用SA中的IPsec目的地址计算散列值。SA的维护视SA的建立方式而定。如采用自动方式协商SA,则根据SA生存期的状态和序号计数器的溢出标志来决定SA的有效性。生存期分为软生存期和硬生存期。软生存期状态决定发送方是否可用SA发送数据包,硬生存期状态决定接收方是否可用SA来处理收到的数据包。当一个SA的软生存期期满时,发送方不能继续用其来发送数据包,此时,可以启动或触发IKE再协商一个。使用软、硬生存机制可保证通信的持续性。如采用手工方式建立SA,则不存在生存期,仅根据序号计数器的溢出标志来决定SA的有效性。如SPD或SAD过于庞大,则可将一部分置于用户空间。(2)SPD和SAD间的关系对数据包进行IPsec处理时,要查询SPD和SAD。为了提高速度,SPD的每一条记录都应有指向SAD中相应记录的指针,反之亦然。对于外出处理,先查询SPD,获得指向SA的指针,再在SAD查询进行处理所需参数。如SA未建立,则应使用IKE协商,并建立SPD和SAD间的指针。对于进入处理,先查询SAD,对IPsec包进行还原,取出指向SPD的指针,然后验证该包应用的策略与SPD中规定的是否相符。2.IPsec协议引擎(1)外出处理对于外出数据包,不论是本机产生的还是转发的,IPsec协议引擎要先调用策略管理模块,查询SPD,确定为数据包应使用的安全策略。根据策略管理模块的指示,协议引擎对该数据包作出3种可能的处理(如图2所示):丢弃丢弃数据包,并记录出错信息。绕过一一给数据包添加IP头,然后发送。应用Ipsec调用策略管理模块,查询SAD,确定是否存在有效的SA。1存在有效的SA,则取出相应的参数,将数据包封装(包括加密、验证,添加IPsec头和IP头等),然后发送。2尚未建立SA,策略管理模块启动或触发IKE协商,协商成功后按1中的步骤处理,不成功则应将数据包丢弃,并记录出错信息。3存在SA但无效,策略管理模块将此信息向IKE通告,请求协商新的SA,协商成功后按1中的步骤处理,不成功则应将数据包丢弃,并记录出错信息。返si2)进入处理不护启-.::-.T?;.应励竹就r4v(SAJt戦:P幺.于lPjgJKU乩列陌屉屈砥斷1臥头兀FJS产生萌咗君翳转岌的易驰csa;ke对于进入数据包,IPsec协议引擎先调用策略管理模块,查询SAD。如得到有效的SA,则对数据包进行解封(还原),再查询SPD,验证为该数据包提供的安全保护是否与策略配置的相符。如相符,则将还原后的数据包交给TCP层或转发。如不相符,或要求应用IPsec但未建立SA,或SA无效,则将数据包丢弃,并记录出错信息。三、分片和ICMP问题1解决分片和PMTU问题的建议外出的IP包长度如果超过网络接口的最大传输单元(MTU),则要进行分片处理。由于实施IPsec时,要增加一个或多个IPsec头,因此不能直接使用Linux中的PMTU(PathMaximumTransferUnit)查找。以下分主机实施和路由器实施2种情况来讨论分片和PMTU问题。主机实施IPsec时,可在传输层或IP层查找PMTU。由于主机不维护源路由,因此应在传输层维护端到端的PMTU信息。计算和确定IP包的长度时,要考虑IPsec的模式及AH头和ESP头的长度。对于路由器转发的数据包,如不允许分片,且长度超过了转发该数据包接口的MTU,路由器就应向始发主机发送一条控制消息协议(ICMP)不可到达消息。为有效利用网络带宽,应允许路由器决定是否可对数据包进行分片。2.解决ICMP问题的建议ICMP用于Internet差错处理和报文控制。ICMP消息分为错误消息和查询消息。以端到端的方式使用IPsec时,不会影响ICMP,而以隧道模式来使用IPsec,则会影响ICMP错误消息的处理。这是因为ICMP错误消息只能发送数据包的外部IP头及其后的64比特数据,内部IP头的源地址不会在ICMP错误消息中出现,路由器不能正确地转发该消息。因此,应对路由器生成的ICMP错误消息进行特殊处理,特别是当路由器通过隧道传输其他路由器生成的ICMP错误消息时,可以为隧道两端的路由器建立一个隧道模式SA,用于发送ICMP错误消息。同时,路由器应不对ICMP错误消息的源地址进行检查。四、结束语将IPsec集成到Linux内核中,涉及修改TCP层和IP层的部分源代码,比作为线缆中的块实施要复杂得多。但这样做有利于保证IPsec的互操作性和配置上的灵活性与可伸缩性,同时有利于软件的复用性。
收藏
编号:117263375
类型:共享资源
大小:334.64KB
格式:DOCX
上传时间:2022-07-08
20
积分
- 关 键 词:
-
IKE
协议
实现
- 资源描述:
-
IKE协议与实现
一、IKE的作用
当应用环境的规模较小时,可以用手工配置SA;当应用环境规模较大、参与的节点位置不固定时,IKE可自动地为参与通信的实体协商SA,并对安全关联库(SAD)维护,保障通信安全。
二、IKE的机制
IKE属于一种混合型协议,由Internet安全关联和密钥管理协议(ISAKMP)和两种密钥交换协议OAKLEY与SKEME组成。IKE创建在由ISAKMP定义的框架上,沿用了OAKLEY的密钥交换模式以及SKEME的共享和密钥更新技术,还定义了它自己的两种密
钥交换方式。
IKE使用了两个阶段的ISAKMP:第一阶段,协商创建一个通信信道(IKESA),并对
该信道进行验证,为双方进一步的IKE通信提供机密性、消息完整性以及消息源验证服务;
第二阶段,使用已建立的IKESA建立IPsecSA(如图1所示)。
IKESA
消息
主机止
图1■阶段L的一4-IKESA保护阶段0的多个交换
IKE共定义了5种交换。阶段1有两种模式的交换:对身份进行保护的“主模式”交换以及根据基本ISAKMP文档制订的“野蛮模式”交换。阶段2交换使用“快速模式”交换。IKE自己定义了两种交换:1为通信各方间协商一个新的DiffieHellman组类型的“新组模式”交换;2在IKE通信双方间传送错误及状态消息的ISAKMP信息交换。
1.主模式交换
主模式交换提供了身份保护机制,经过三个步骤,共交换了六条消息。三个步骤分别是策略协商交换、DiffieHellman共享值、nonce交换以及身份验证交换(如图2所示)。
•对安全参数的提谏值
协商启动
响宜方选定可接受
的安全奏数值
响应方不接受
响应方身份;
重传
探护套件
翁起方的提谊中
的辅助数据
开贻夾换
重传
身份不对
密钥格式不正确
密钥素材
身份验证
完成密粗
就绪
ISAKM1沁立
发起方
序有的提谏选定的协银木在
图2:主模式蕊换狀态转换图
发起方启动协商传送
重传
.发起方发送密
铜素財和必需
响应方境送密粗秦材
和必需的辅助数据
成功,状数据
复险或失败
□鯉方传送
身说消息
密钥格式不正确
重传
g身杠息K?
2.野蛮模式交换
野蛮模式交换也分为三个步骤,但只交换三条消息:头两条消息协商策略,交换
DiffieHellman公开值必需的辅助数据以及身份信息;第二条消息认证响应方;第三条消息认证发起方,并为发起方提供在场的证据(如图3所示)。
離方启动协商■(唸对安
重传
协商启动
发起方身份不对
11向应方身份木对
额载荷
航载辭
身悅验证
ISAKKIP
重传
沁立
就绪
■ff,nonce,及身份数据
图恳野蛮模式交换状碎换图
重传
发起方传送验证载荷
全参数的提魂公开
成功,状态
数据复位;
或者尖败:
响应方传递选定
的安全参数值』DH
公开值;none内
身份数据,以■及•
3.快速模式交换
快速模式交换通过三条消息建立IPsecSA:头两条消息协商IPsecSA的各项参数值,
并生成IPsec使用的密钥;第二条消息还为响应方提供在场的证据;第三条消息为发起方提供在场的证据(如图4所示)。
4.新组模式交换
通信双方通过新组模式交换协商新的DiffieHellman组。新组模式交换属于一种请求/响应交换。发送方发送提议的组的标识符及其特征,如果响应方能够接收提议,就用完全一样的消息应答(如图5所示)。
5.ISAKMP信息交换
参与IKE通信的双方均能向对方发送错误及状态提示消息。这实际上并非真正意义上
的交换,而只是发送单独一条消息,不需要确认(如图6所示)。
三、IKE的安全
1.机密性保护
IKE使用DiffieHellman组中的加密算法。IKE共定义了五个DiffieHellman组,其中三个组使用乘幂算法(模数位数分别是768、1024、1680位),另两个组使用椭圆曲线算法(字段长度分别是155、185位)。因此,IKE的加密算法强度高,密钥长度大。2.完整性保护及身份验证
在阶段1、2交换中,IKE通过交换验证载荷(包含散列值或数字签名)保护交换消息的完整性,并提供对数据源的身份验证。IKE列举了四种验证方法:1预共享密钥;2数字签名;3公钥加密;4改进的公钥加密。
3.抵抗拒绝服务攻击
对任何交换来说,第一步都是cookie交换。每个通信实体都生成自己的cookie,cookie提供了一定程度的抗拒绝服务攻击的能力。
如果在进行一次密钥交换,直到完成cookie交换,才进行密集型的运算,比如DiffieHellman交换所需的乘幕运算,则可以有效地抵抗某些拒绝服务攻击,如简单使用伪造IP源地址进行的溢出攻击。
4.防止中间人攻击中间人攻击包括窃听、插入、删除、修改消息,反射消息回到发送者,重放旧消息以及重定向消息。ISAKMP的特征能阻止这些攻击。
5.完美向前保密
完美向前保密(PFS),指即使攻击者破解了一个密钥,也只能还原这个密钥加密的数据,而不能还原其他的加密数据。要达到理想的PFS,一个密钥只能用于一种用途,生成一个密钥的素材也不能用来生成其他的密钥。我们把采用短暂的一次性密钥的系统称为“PFS”。
如果要求对身份的保护也是PFS,则一个IKESA只能创建一个IPsecSA。
四、IKE的实现
IKE是一个用户级的进程。启动后,作为后台守护进程运行。在需要使用IKE服务前,它一直处于不活动状态。可以通过两种方式请求IKE服务:1当内核的安全策略模块要求建立SA时,内核触发IKE。2当远程IKE实体需要协商SA时,可触发IKE。
1.IKE与内核的接口
内核为了进行安全通信,需要通过IKE建立或更新SA。IKE同内核间的接口有:
1、同SPD通信的双向接口。当IKE得到SPD的策略信息后,把它提交给远程IKE对等实体;当IKE收到远程IKE对等实体的提议后,为进行本地策略校验,必须把它交给SPD。
2、同SAD通信的双向接口。IKE负责动态填充SAD,要向SAD发送消息(SPI请求和SA实例),也要接收从SAD返回的消息(SPI应答)。
2.IKE对等实体间接口
IKE为请求创建SA的远程IKE对等实体提供了一个接口。当节点需要安全通信时,IKE与另一个IKE对等实体通信,协商建立IPsecSA。如果已经创建了IKESA,就可以直接通过阶段2交换,创建新的IPsecSA;如果还没有创建IKESA,就要通过阶段1、2交换创建新的IKESA及IPsecSA。
一、总体设计
IPsec规定的组件包括安全协议验证头(AH)和封装安全载荷(ESP)、安全策略数据库(SPD)和安全关联数据库(SAD)、IKE密钥交换及加密和验证算法。
1.总体结构
如图1所示,IPsec实现的总体结构分为IPsec协议引擎、策略管理、IKE密钥交换及密码变换4个模块。其中IPsec安全协议的处理是数据流程的核心,策略管理模块为其直接提供所需参数,IKE密钥交换用于自动管理SAD,而密码算法是达到安全的基本工具。
2.功能分配
策略管理:位于内核中,管理SPD和SAD,对数据包(要进行IPsec处理的数据报或数据包的统称)的安全保障起决定作用。功能包括SPD和SAD的管理(记录的增加、删除、修改、刷新和查询)、同IPsec协议引擎的接口和同IKE的接口。
IPsec协议引擎:位于内核中,实现安全协议AH和ESP。功能包括外出数据包的处理、进入数据包的处理、同IP层和TCP层的接口。
IKE密钥交换:一个用户级进程,用于动态管理SAD。功能包括IKE间的交互、同SAD和SPD的接口。
密码算法:至少应实现AES、DES、3DES、HMAC-MD5、HMAC-SHA1。
二、实现策略管理模块和协议引擎
1.策略管理模块
(1)SPD和SAD在内存中的组织和管理
IPsec系统所使用的策略库一般保存在一个策略服务器中。该服务器为域中的所有节点(主机和路由器)维护策略库。各节点可将策略库拷贝到本地,也可使用轻型目录访问协议(LDAP)动态获取。从名义上说,一个IPsec系统中SPD分为进入SPD和外出SPD,均处于内核中。系统初始化时,将策略库中的每一条记录分别装入进入SPD和外出SPD中。为了确保SPD的有效性和安全性,应定期进行更新和刷新。
SAD的每一条记录对应一个SA。SA经IKE协商得到,并以有序散列链表的形式组织。从名义上说,SAD也分为进入SAD和外出SAD,分别与进入散列链表和外出散列链表相对应。进入散列链表用SA中的IPsec源地址计算散列值,外出散列链表用SA中的IPsec目的地址计算散列值。
SA的维护视SA的建立方式而定。如采用自动方式协商SA,则根据SA生存期的状态和序号计数器的溢出标志来决定SA的有效性。生存期分为软生存期和硬生存期。软生存期状态决定发送方是否可用SA发送数据包,硬生存期状态决定接收方是否可用SA来处理收到的数据包。当一个SA的软生存期期满时,发送方不能继续用其来发送数据包,此时,可以启动或触发IKE再协商一个。使用软、硬生存机制可保证通信的持续性。
如采用手工方式建立SA,则不存在生存期,仅根据序号计数器的溢出标志来决定SA的有效性。
如SPD或SAD过于庞大,则可将一部分置于用户空间。
(2)SPD和SAD间的关系
对数据包进行IPsec处理时,要查询SPD和SAD。为了提高速度,SPD的每一条记录都应有指向SAD中相应记录的指针,反之亦然。对于外出处理,先查询SPD,获得指向SA的指针,再在SAD查询进行处理所需参数。如SA未建立,则应使用IKE协商,并建立SPD和SAD间的指针。对于进入处理,先查询SAD,对IPsec包进行还原,取出指向SPD的指针,然后验证该包应用的策略与SPD中规定的是否相符。
2.IPsec协议引擎(1)外出处理
对于外出数据包,不论是本机产生的还是转发的,IPsec协议引擎要先调用策略管理模块,查询SPD,确定为数据包应使用的安全策略。根据策略管理模块的指示,协议引擎对该数据包作出3种可能的处理(如图2所示):
丢弃——丢弃数据包,并记录出错信息。
绕过一一给数据包添加IP头,然后发送。
应用Ipsec——调用策略管理模块,查询SAD,确定是否存在有效的SA。1存在有效的SA,则取出相应的参数,将数据包封装(包括加密、验证,添加IPsec头和IP头等),然后发送。2尚未建立SA,策略管理模块启动或触发IKE协商,协商成功后按1中的步骤处理,不成功则应将数据包丢弃,并记录出错信息。3存在SA但无效,策略管理模块将此信息向IKE通告,请求协商新的SA,协商成功后按1中的步骤处理,不成功则应将数据包丢弃,并记录出错信息。
返si
2)进入处理
不护启
■-.'.::--..T?;
.应励竹就r4v(SAJt
戦:P幺.■于lPjgJKU乩■列
陌」屉屈砥斷1臥头
兀FJS产生萌咗君翳转岌的易驰
csa;ke
对于进入数据包,IPsec协议引擎先调用策略管理模块,查询SAD。如得到有效的SA,则对数据包进行解封(还原),再查询SPD,验证为该数据包提供的安全保护是否与策略配置的相符。如相符,则将还原后的数据包交给TCP层或转发。如不相符,或要求应用IPsec但未建立SA,或SA无效,则将数据包丢弃,并记录出错信息。
三、分片和ICMP问题
1.解决分片和PMTU问题的建议
外出的IP包长度如果超过网络接口的最大传输单元(MTU),则要进行分片处理。由于实施IPsec时,要增加一个或多个IPsec头,因此不能直接使用Linux中的PMTU(PathMaximumTransferUnit)查找。以下分主机实施和路由器实施2种情况来讨论分片和PMTU
问题。
主机实施IPsec时,可在传输层或IP层查找PMTU。由于主机不维护源路由,因此应在传输层维护端到端的PMTU信息。计算和确定IP包的长度时,要考虑IPsec的模式及AH头和ESP头的长度。
对于路由器转发的数据包,如不允许分片,且长度超过了转发该数据包接口的MTU,路由器就应向始发主机发送一条控制消息协议(ICMP)不可到达消息。为有效利用网络带宽,应允许路由器决定是否可对数据包进行分片。
2.解决ICMP问题的建议
ICMP用于Internet差错处理和报文控制。ICMP消息分为错误消息和查询消息。以端到端的方式使用IPsec时,不会影响ICMP,而以隧道模式来使用IPsec,则会影响ICMP错误消息的处理。这是因为ICMP错误消息只能发送数据包的外部IP头及其后的64比特数据,内部IP头的源地址不会在ICMP错误消息中出现,路由器不能正确地转发该消息。
因此,应对路由器生成的ICMP错误消息进行特殊处理,特别是当路由器通过隧道传输其他路由器生成的ICMP错误消息时,可以为隧道两端的路由器建立一个隧道模式SA,用于发送ICMP错误消息。同时,路由器应不对ICMP错误消息的源地址进行检查。
四、结束语
将IPsec集成到Linux内核中,涉及修改TCP层和IP层的部分源代码,比作为线缆中的块实施要复杂得多。但这样做有利于保证IPsec的互操作性和配置上的灵活性与可伸缩性,同时有利于软件的复用性。
展开阅读全文
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。