当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > IP安全加密 IPSec安全技术全面接触

Unix/Linux
Linux crontab定时执行任务 命令格式与详细例子
linux 查看用户及用户组的方法
让Linux系统有效防御ARP攻击的实用技巧
Linux 常用软件列表
linux wget 一个强大的下载命令
linux 常用脚本、命令
linux 磁盘配额 简单介绍
Linux服务器架设笔记 Squid服务器配置
ubuntu intel 集成显卡安装
ubuntu 9.04 X3100 显卡开启3D特效
Ubuntu 8.10 Server Ruby 的安装方法
Ubuntu root帐户密码修改
ubuntu下apt-get 命令参数
Ubuntu Linux下实现QQ的三种方式
Ubuntu 8.04中建立PHP+MySQL环境
Ubuntu常用软件大全
Ubuntu系统下安装Aircrack-ng
Ubuntu实现FTP功能
ubuntu 字体美化实现方法
ubuntu下netbeans汉字显示残缺问题

Unix/Linux 中的 IP安全加密 IPSec安全技术全面接触


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 36 ::
收藏到网摘: n/a

  IP安全加密——IPSec使用了网络通信加密技术。虽然不能加密数据包的头部和尾部信息(如源/目的IP地址、端口号、CRC校验值等),但可对数据包数据进行加密。由于加密过程发生在IP 层,因此可在不改变POP/WWW等协议的情况下进行网络协议的安全加密。同时它也可以用于实现局域网间(通过互联网)的安全连接。

  IP协议的安全体系结构

  IPv4 的包本身没有提供任何安全保护,黑客可以通过信息包探测、IP电子欺骗、连接截获、replay攻击(是一种不断发相同序列号的包使系统崩溃的攻击方法) 等方法来攻击。因此,我们收到的数据包存在着以下危险:并非来自合法的发送者; 数据在传输过程中被人修改; 数据内容已被人窃取(例如军事机密等重要信息的对话)。IPsec的目的就是为了实现数据传输的完整性(源地址验证和保证数据没有被修改)和机密性(没有被人看过)以及提供一定程度的对replay攻击的保护。IPsec可用它为IP及其上层协议(TCP和UDP等)提供安全保护。

  IPsec的基本结构,它是利用认证头标(AH)和封装化安全净荷(ESP)来实现数据的认证和加密。前者用来实现数据的完整性,后者用来实现数据的机密性。同时对数据的传输规定了两种模式:传送模式和通道模式。在传送模式中,IP头与上层协议头之间嵌入一个新的IPsec头(AH或ESP); 在通道模式中,要保护的整个IP包都封装到另一个IP数据包里,同时在外部与内部IP头之间嵌入一个新的IPsec头。两种IPsec头都可以同时以传送模式和通道模式工作。

  原始的数据包

  传送模式受保护的数据包

  通道模式受保护的数据包

  IPsec数据包的保护机制

  IPsec是由四大组件组成,它们是因特网密钥交换进程、IPsec进程本身、安全联盟数据库和安全策略数据库。

  IPsec 中有两个重要的数据库,分别是安全联盟数据库SAD和安全策略数据库SPD.SAD中的每一个元组是一个安全联盟SA,它是构成IPsec的基础,是两个通信实体经协商建立起来的一种协定,它决定了用来保护数据包安全的IPsec协议、转码方式、密钥以及密钥的有效存在时间等。SPD中的每一个元组是一条策略,策略是指应用于数据包的安全服务以及如何对数据包进行处理,是人机之间的安全接口,包括策略定义、表示、管理以及策略与IPsec系统各组件间的交互。两个数据库联合使用。对于发送方,每个SPD的元组都有指针指向相关的SAD的元组。如果一个SPD的元组没有指向适合发送包的SA,那么将会创建新的SA或SA束,并将SPD的元组和新的SA元组链接起来。对于接收方,通过包头信息包含的IP目的地址、IP安全协议类型(AH或ESP)和SPI(安全参数索引)在SAD中查找对应的SA.SA中其他字段为序列号、序列号溢出标志、Anti-replay 窗口、AH认证算法和密钥、ESP加密算法和密钥及初始化矩阵、ESP认证算法及密钥等等。

  因特网密钥交换(IKE)是IPsec最为重要的部分,在用IPsec保护一个IP包之前,必须先建立一个SA,IKE用于动态建立SA.IKE代表IPsec对SA进行协商,并对SAD数据库进行填充。 IKE是一个混合型的协议,它建立在由Internet安全联盟和密钥管理协议(ISAKMP)定义的一个框架上。IKE使用了两个阶段的ISAKMP.第一阶段建立IKE安全联盟,第二阶段利用这个既定的安全联盟,为IPsec协商具体的安全联盟。

  IPsec进程本身就是用来实现整个IPsec 的守护进程,用户可以通过和这个进程打交道来管理自己的安全策略,实现适合自己需要的网络安全。当然,每个开发组织的源代码不一样,但是它们都必须遵守 RFC的规范,最终的目的都应该是差不多的。通常,IPsec的源代码是嵌入到内核IP层源代码中的,也有人提出在其层次在IP之上,TCP之下,两种方式都可以。

  基于IPsec的虚拟专用网

  当IPsec用于路由器时,就可以建立虚拟专用网。路由器连入内部网的一端,是一个受保护的网络,另一端则是不安全的公共网络。两个这样的路由器建立 起一个安全通道,通信就可以通过这个通道从一个本地的保护子网发送到一个远程的保护子网,这就形成了一个VPN.

  在这个VPN中,每一个具有IPsec的路由器都是一个网络聚合点,试图对VPN进行通信分析将会失败。目的地是VPN的所有通信都经过路由器上的SA来定义加密或认证的算法和密钥等参数,即从VPN的一个路由器出来的数据包只要符合安全策略,就会用相应的SA来加密或认证(加上AH或ESP报头)。整个安全传输过程由IKE控制,密钥自动生成,保护子网内的用户根本不需要考虑安全,所有的加密和解密由两端的路由器全权代理。

 

[1] [2] [3] 下一页