Ipsec协议实现与IP实现的整合.doc

Ipsec协议实现与IP实现的整合.doc

ID:59119515

大小:82.00 KB

页数:15页

时间:2020-09-15

Ipsec协议实现与IP实现的整合.doc_第1页
Ipsec协议实现与IP实现的整合.doc_第2页
Ipsec协议实现与IP实现的整合.doc_第3页
Ipsec协议实现与IP实现的整合.doc_第4页
Ipsec协议实现与IP实现的整合.doc_第5页
资源描述:

《Ipsec协议实现与IP实现的整合.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1实现总体思想通过改造Linux的IP协议栈源代码,使得IP实现与IPSec实现完全整合。该实现按功能分,可以分为以下几个功能模块模块:安全策略库(SPD),安全关联库(SAD),AH协议处理,ESP协议处理,算法(加密卡的实现),日志、统计、配置与审计,面向应用的接口。按处理过程分,还可以分为以下几个处理模块:进入IP层预处理、IPSec进入策略处理、路由、本机对IP包处理、IPSec进入处理、转发处理、本地IP包处理、IPSec外出处理、发送处理。Ipsec协议实现与IP实现的整合思想:利用Netfilter的HOOK机制,在接受IP包和发送I

2、P包的过程中,在适当的处理位置调用相关的ipsec处理模块。1.1Netfilter的HOOK机制的介绍Netfilter是linux2.4内核实现数据包过滤/数据包处理/NAT等功能的抽象、通用化的框架。Netfilter框架包含以下三部分:1、为每种网络协议(IPv4、IPv6等)定义一套钩子函数(IPv4定义了5个钩子函数),这些钩子函数在数据报流过协议栈的几个关键点被调用。在这几个点中,协议栈将把数据报及钩子函数标号作为参数调用netfilter框架。2、内核的任何模块可以对每种协议的一个或多个钩子进行注册,实现挂接,这样当某个数据包被传递

3、给netfilter框架时,内核能检测是否有任何模块对该协议和钩子函数进行了注册。若注册了,则调用该模块的注册时使用的回调函数,这样这些模块就有机会检查(可能还会修改)该数据包、丢弃该数据包及指示netfilter将该数据包传入用户空间的队列。3、那些排队的数据包是被传递给用户空间的异步地进行处理。一个用户进程能检查数据包,修改数据包,甚至可以重新将该数据包通过离开内核的同一个钩子函数中注入到内核中。IP层(ipv4)的五个HOOK点如下:1.NF_IP_PRE_ROUTING:刚刚进入网络层的数据包通过此点(刚刚进行完版本号,校验和等检测),源地

4、址转换在此点进行;2.NF_IP_LOCAL_IN:经路由查找后,送往本机的通过此检查点,INPUT包过滤在此点进行;3.NF_IP_FORWARD:要转发的包通过此检测点,FORWORD包过滤在此点进行;4.NF_IP_POST_ROUTING:所有马上便要通过网络设备出去的包通过此检测点,内置的目的地址转换功能(包括地址伪装)在此点进行;5.NF_IP_LOCAL_OUT:本机进程发出的包通过此检测点,OUTPUT包过滤在此点进行。1.2处理模块之间的关系IPSec安全网关对IP报文的接收、转发和发送处理的整个过程:当安全网关的网卡接收到数据报

5、时,通过中断触发内核的中断处理程序,将网卡接收的数据报传送到内核空间,然后再通过IP层预处理程序将数据报转换为IP包。此时,我们将利用内核的Netfilter机制提供的HOOK点PRE_ROUTING,将IP包传送到IPSec进入策略处理模块。该模块将决定哪些包可以进入安全网关,哪些包需要丢弃。对于允许进入网关的IP包,将送回到路由处理模块。路由处理根据IP头决定IP包是发送到本机还是继续转发。对于发送到本机的IP包,首先经过内核对IP包的处理,如:分片重组、选项处理等等。然后利用HOOK点LOCAL_IN,将重组的IP包传送到IPSec进入处理模

6、块。IPSec进入处理模块将对IPSec包和非IPSec包进行区分,对于发往本机的非IPSec包将直接传送到传输层处理模块;对于IPSec包将进行认证或解密等IPSec处理,并剥去IPSec头。处理完后,将重新组装成IP包发回到IP层预处理模块。这样该IP包将重新通过路由来决定发往何处。对于转发的IP包,首先进行转发处理,如:决定下一跳、减少TTL、对某些特殊情况发送ICMP包。然后,利用HOOK点IP_FORWARD,将IP包传送到外出IPSec外出处理模块。IPSec处理将根据策略区分IPSec包、非IPSec包以及包发往何处。对于IPSec包

7、将直接丢弃。对于发往内部网的非IPSec包,直接将包传送给发送处理模块,发往内部网。对于发往外部网的IP包,将根据策略进行认证或加密等IPSec处理,最后将处理过的IP包传送到发送处理模块。对于从安全网关传输层发送的报文,首先进行本地的IP包处理,构建IP包。然后对IP包进行路由,决定IP包的出口。路由之后将利用HOOK点LOCAL_OUTPUT,将IP包传送到IPSec外出处理模块。IPSec外出处理将根据策略决定那些包需要进行IPSec处理。对于不需要处理的IP包,直接传送到发送处理模块。对于需要进行IPSec处理的IP包,将根据策略进行认证或

8、加密等IPSec处理,然后将IPSec包重新发回到路由处理模块,决定IPSec包将发往何处。当再次经过HOOK点时,IPS

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。