ipsec协议(转)

from:http://lulu1101.blog.51cto.com/4455468/816875

ipsec协议

2012-03-25 23:40:28

标签:休闲 ipsec协议 职场

IPSec 协议简介

IPSec (IP Security)协议族是IETF 制定的一系列协议,它为 IP 数据报提供了高质量的、可互操作的、基于密码学的安全性。特定的通信方之间在 IP 层通过加密与数据源验证等方式,来保证数据报在网络上传输时的私有性、完整性、真实性和防重放。

说明:

私有性(Confidentiality )指对用户数据进行加密保护,用密文的形式传送。

完整性(Data integrity )指对接收的数据进行验证,以判定报文是否被篡改。

真实性(Data authentication )指验证数据源,以保证数据来自真实的发送者。

防重放(Anti-replay )指防止恶意用户通过重复发送捕获到的数据包所进行的攻击,即接收方会拒绝旧的或重复的数据包。

IPsec具有以下优点:

支持IKEInternet Key Exchange,因特网密钥交换),可实现密钥的自动协商功能,减少了密钥协商的开销。可以通过IKE建立和维护SA的服务,简化了IPsec的使用和管理。

所有使用IP协议进行数据传输的应用系统和服务都可以使用IPsec,而不必对这些应用系统和服务本身做任何修改。

对数据的加密是以数据包为单位的,而不是以整个数据流为单位,这不仅灵活而且有助于进一步提高IP数据包的安全性,可以有效防范网络攻击。

IPsec的协议实现

IPSec 通过AH  (Authentication Header,认证头)和ESP (Encapsulating Security Payload,封装安全载荷)两个安全协议实现了上述目标。为简化 IPSec  的使用和管理,IPSec 还可以通过 IKEInternet  Key  Exchange,因特网密钥交换协议)进行自动协商交换密钥、建立和维护安全联盟的服务。

IPsec提供了两种安全机制:认证和加密。认证机制使IP通信的数据接收方能够确认数据发送方的真实身份以及数据在传输过程中是否遭篡改。加密机制通过对数据进行加密运算来保证数据的机密性,以防数据在传输过程中被窃听。

IPsec协议中的AH协议定义了认证的应用方法,提供数据源认证和完整性保证;ESP协议定义了加密和可选认证的应用方法,提供数据可靠性保证。

(1)     AH 协议(IP协议号为51

AH 是报文头验证协议,主要提供的功能有数据源验证、数据完整性校验和防报文重放功能;然而,AH 并不加密所保护的数据报。

(2)     ESP 协议(IP协议号为50

ESP 是封装安全载荷协议。它除提供AH 协议的所有功能外(但其数据完整性校验不包括 IP头),还可提供对 IP 报文的加密功能。

说明:

AH 和ESP 可以单独使用,也可以同时使用。对于AH 和ESP,都有两种操作模式:传输模式和隧道模式。

(3)  IKE 协议

IKE 协议用于自动协商AH 和 ESP 所使用的密码算法,并将算法所需的必备密钥放到恰当位置。

说明: IKE 协商并不是必须的,IPSec 所使用的策略和算法等也可以手工协商。

IPSec 基本概念

1. 安全联盟

IPSec 在两个端点之间提供安全通信,端点被称为 IPSec 对等体。

IPSec  能够允许系统、网络的用户或管理员控制对等体间安全服务的粒度。通过 SA  (Security   Association,安全联盟),IPSec 能够对不同的数据流提供不同级别的安全保护。

安全联盟是 IPSec 的基础,也是 IPSec 的本质。SA 是通信对等体间对某些要素的约定,例如,使用哪种协议(AH、ESP 还是两者结合使用)、协议的操作模式(传输模式和隧道模式)、加密算法(DES 和 3DES)、特定流中保护数据的共享密钥以及密钥的生存周期等。

安全联盟由一个三元组来唯一标识,这个三元组包括 SPI(Security   Parameter  Index,安全参数索引)、目的IP 地址、安全协议号(AH 或 ESP)。SPI 是为唯一标识 SA 而生成的一个 32 比特的数值,它在AH 和 ESP 头中传输。

安全联盟具有生存周期。生存周期的计算包括两种方式:

以时间为限制,每隔指定长度的时间就进行更新;

以流量为限制,每传输指定的数据量(字节)就进行更新。

2. 安全联盟的协商方式

安全联盟的协商方式有两种,一种是手工方式(manual),一种是 IKE自动协商(isakmp)方式。

手工方式(manual)配置比较复杂,创建SA所需的全部信息都必须手工配置,而且不支持一些高级特性(例如定时更新密钥),但优点是可以不依赖IKE而单独实现IPsec功能。

IKE自动协商(isakmp)方式相对比较简单,只需要配置好IKE协商安全策略的信息,由IKE自动协商来创建和维护SA。

当与之进行通信的对等体设备数量较少时,或是在小型静态环境中,手工配置SA是可行的。对于中、大型的动态网络环境中,推荐使用IKE协商建立SA

 

3. IPSec协议的操作模式

IPSec协议有两种操作模式:传输模式和隧道模式。SA中指定了协议的操作模式。在传输模式下,AH或 ESP被插入到IP头之后但在所有传输层协议之前,或所有其他 IPSec协议之前。在隧道模式下,AH或 ESP插在原始 IP头之前,另外生成一个新头放到 AH或 ESP之前。不同安全协议在传输模式和隧道模式下的数据封装形式(传输协议以 TCP为例)如下图所示:

从安全性来讲,隧道模式优于传输模式。它可以完全地对原始 IP数据报进行验证和加密;此外,可以使用 IPSec对等体的 IP地址来隐藏客户机的 IP地址。从性能来讲,隧道模式比传输模式占用更多带宽,因为它有一个额外的 IP头。因此,到底使用哪种模式需要在安全性和性能间进行权衡。

4. 验证算法与加密算法

(1)  验证算法

AH和 ESP都能够对 IP报文的完整性进行验证,以判别报文在传输过程中是否被篡改。验证算法的实现主要是通过杂凑函数,杂凑函数是一种能够接受任意长的消息输入,并产生固定长度输出的算法,该输出称为消息摘要。IPSec对等体计算摘要,如果两个摘要是相同的,则表示报文是完整未经篡改的。一般来说 IPSec使用两种验证算法:

MD5:MD5通过输入任意长度的消息,产生 128bit的消息摘要。

SHA-1:SHA-1通过输入长度小于 2的 64次方比特的消息,产生 160bit的消息摘要。SHA-1的摘要长于 MD5,因而是更安全的。

 

(2)  加密算法

ESP能够对 IP报文内容进行加密保护,防止报文内容在传输过程中被窥探。加密算法实现主要通过对称密钥系统,它使用相同的密钥对数据进行加密和解密。一般来说 IPSec使用两种加密算法:

DES:使用 56bit的密钥对一个 64bit的明文块进行加密。

3DES:使用三个 56bit的 DES密钥(共 168bit密钥)对明文进行加密。

无疑,3DES具有更高的安全性,但其加密数据的速度要比 DES慢得多。

IPSec配置

1. 手工协商配置

IPSec配置主要包括手工协商配置和自动协商配置。其中,手工协商配置包括:

1> 配置访问控制列表

访问控制列表的作用:根据是否与访问控制列表匹配,可以确定哪些 IP包需经 IPSec处理后再发送,哪些IP包直接转发。需要保护的安全数据流使用扩展 IP访问控制列表进行定义。

acl acl-number

rule normal special }{ permit deny pro-number[source source-addr source-wildcard any ][source-port operator port1 port2 ] ] [ destination dest-addr dest- wildcard any ][destination-port operator port1 port2 ] ] [icmp-type icmp-type icmp-code][logging]

2>     配置安全提议

安全提议保存 IPSec需要使用的特定安全性协议以及加密/验证算法, 为 IPSec协商安全联盟提供各种安全参数。为了能够成功的协商 IPSec的安全联盟,两端必须使用相同的安全提议。

包括以下几点:

定义安全提议   ipsec proposal proposal-name

设置安全协议对 IP报文的封装模式 (安全隧道的两端所选择的 IP报文封装模式必须一致。) encapsulation-mode transport tunnel }

选择安全协议  transform ah-new ah-esp-new esp-new }

选择加密算法与认证算法(不同的安全协议可以采用不同的验证算法和加密算法。目前, AH支持MD5和SHA-1验证算法;ESP协议支持MD5、SHA-1验证算法和DES、3DES、AES加密算法。)

transform ah-new ah-esp-new esp-new }

3>     配置安全策略

包括以下几点:

创建安全策略  ipsec policy policy-name sequence-number manual

在安全策略中引用安全提议(通过手工方式建立安全联盟,一条安全策略只能引用一个安全提议,并且若已设置了安全提议,必须先删除原先的安全提议后才能设置新的安全提议。)  proposal proposal-name

在安全策略中引用访问控制列  security acl access-list-number

配置隧道的起点和终点  tunnel local ip-address

tunnel remote ip-address

配置安全联盟的 SPI      sa inbound ah esp spi spi-number

                                                           sa outbound ah esp spi spi-number

配置安全联盟使用的密钥(在安全隧道的两端, 本端的输入安全联盟SPI及密钥必须和对端的输出安全联盟SPI及密钥保持一致;本端的输出安全联盟 SPI 及密钥必须和对端的输入安全联盟 SPI及密钥保持一致。)

AH16进制密钥   sa inbound outbound ah hex-key-string hex-key

AH 字符密钥     sa inbound outbound ah string-key string-key

ESP16进制密钥  sa inbound outbound esp encryption-hex hex-key 

 ESP字符密钥    sa inbound outbound esp string-key string-key

4> 在接口上应用安全策略  ipsec policy policy-name

2. 自动协商配置

对于采用自动协商方式,除完成上述配置后,还需要进行相关的 IKE配置。

IKE创建安全策略联盟的配置包括:

用 IKE创建安全策略联盟   ipsec policy policy-name sequence-number isakmp

配置安全策略引用的访问控制列表   security acl access-list-number

指定安全隧道的终点(对于用 IKE 协商方式创建的安全策略联盟,不需设置本端地址,IKE 能自动地从应用该安全策略的接口上获取本端的地址。)  tunnel remote ip-address

配置安全策略中引用的安全提议   proposal proposal-name1 proposal-name2...proposal-name6 ]


 3.IPSec显示与调试

IPSec 提供以下命令显示安全联盟、安全联盟生存周期、安全提议、安全策略的信息以及 IPSec处理的报文的统计信息。

display命令可在所有视图下进行操作,debugging命令只能在用户视图下操作。

显示安全联盟的相关信息 display ipsec sa [ brief | remote ip-address policy policy-nameseq-number ] | duration ] [ secp slot/card/port  ] ]

显示IPSec处理报文的统计信息 display ipsec statistics [ secp [ slot/card/port  ] ]

显示安全提议的信息 display ipsec proposal [ name proposal-name ] [ secp [slot/card/port  ] ]

显示安全策略的信息 display ipsec policy [ brief | name policy-name [ seq-number ] ] [secp [ slot/card/port  ] ]

显示安全策略模板的信息 display ipsec policy-template [ brief | name policy-name [ seq-number ] ] [ secp slot/card/port  ] ]

打开IPSec的调试功能 debugging ipsec { all | sa | packet [ policy policy-name [ seq-number ] | parameters ip-address protocol spi-number ] | misc  | secp-setting }  [ secp [slot/card/port  ] ]

禁止IPSec的调试功能 undo debugging ipsec { all | sa | packet [ policy policy-name [ seq-number ] | parameters ip-address protocol spi-number ] | misc | secp-setting }  [ secp [slot/card/port  ] ]

时间: 2024-10-05 04:19:26

ipsec协议(转)的相关文章

安全协议系列(五)---- IKE 与 IPSec(中)

在上一篇中,搭建好了实验环境.完整运行一次 IKE/IPSec 协议,收集相关的输出及抓包,就可以进行协议分析.分析过程中,我们将使用 IKE 进程的屏幕输出和 Wireshark 抓包,结合相关 RFC,利用 python 进行验证计算.先看协议的一次完整运行(过滤掉无关报文,如下图) 下面是 RFC 5996 中对 IKEv2 协议的规范说明 由上可知,IKEv2 协议由两个阶段的交互过程(即两个来回,共四个报文)组成.第一阶段称为 IKE_SA_INIT 交换.第二阶段称为 IKE_AUT

IPSec VPN的原理与配置

博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 一.VPN概述 VPN技术最早是为了解决明文数据在网络上传输带来的安全隐患而产生的.TCP/IP协议族中很多协议都是采用明文传输的,比如telnet.ftp.tftp等. VPN技术可以对公网上传输的数据进行加密,也可以实现数据传输双方的身份验证. 1.VPN的定义 VPN(虚拟专用网),就是在两个网络实体之间建立的一个受保护的连接.这两

l2tp ipsec centos7

PPTP.L2TP和IPsec的区别及优缺点 1.PPTP协议是点对点隧道协议: 其将控制包与数据包分开,控制包采用TCP控制,用于严格的状态查询及信令信息:数据包部分先封装在PPP协议中,然后封装到GRE V2协议中. 2.L2TP是国际标准隧道协议: 它结合了PPTP协议以及第二层转发L2F协议的优点,能以隧道方式使PPP包通过各种网络协议,包括ATM.SONET和帧中继.但是 L2TP没有任何加密措施,更多是和IPSec协议结合使用,提供隧道验证. 3.两者的联系与区别: 联系:PPTP和

WEB安全——IPsec传输模式下ESP报文的装包与拆包过程

WEB安全概论                                                          ——IPsec传输模式下ESP报文的装包与拆包过程 一.IPsec       (一)简介       互联网安全协定(英语:Internet Protocol Security,缩写为 IPsec),是透过对IP协议(互联网协议)的分组进行加密和认证来保护IP协议的网络传输协议族(一些相互关联的协议的集合). IPsec由两大部分组成:(1)建立安全分组流的密钥交换

第10章 网络安全(4)_网络层安全IPSec

5. 网络层安全IPSec 5.1 IPSec协议 (1)前面使用Outlook进行数字签名和数字加密是应用层实现的安全.安全套接字实现的安全是在应用层和传输层之间插入了一层来实现数据通信安全.而IPSec是网络层实现的安全.不需要应用程序的支持,只要配置通信双方的安全规则,传输层的数据传输单元就会被加密后封装到网络层,实现数据通信安全.IPSec工作在OSI模型的网络层. (2)IPSec主要的两个协议 ①鉴别首部(Authentication Header, AH)协议:提供源点鉴别和数据完

Linux中IPsec的实现--(实例)

Linux中IPsec的实现 IPsec-VPN: virtual private network--虚拟专用网VPN作用: 通过公网实现远程连接,将私有网络联系起来VPN的类型:1.overlay的VPN,例如IPsec-VPN2.peer-to-peer的VPN,例如MPLS-VPN还可以分为二层VPN和三层VPNIPsec-VPN是三层的VPNIPsec-VPN的分类:1.site-to-site VPN 也叫 LAN-to-LAN VPN (要求两个站点都要有固定的IP)2.EASY-V

信息安全技术及应用 互联网安全协议

一.互联网安全协议概述 1.1 互联网协议体系 TCP/IP协议的体系结构 IP数据报格式及TCP/UDP报文段格式 Web技术构成:HTTP协议.HTML标记语言. TCP/IP协议栈中安全机制的相对位置:网络层.运输层和应用层. 1.2 互联网安全协议 1.将安全机制放置在网络层:如IPSec协议,好处是对最终用户和应用程序透明. 2.将安全机制放置在运输层:如SSL协议,好处是对最终用户和应用程序透明. 3.将安全机制放置在应用层:好处是与应用有关的安全服务被嵌入到特定的应用程序中,可根据

树莓派:L2TP/IPsec VPN 服务器一键安装脚本

经试验,在树莓派上一次成功,很好用,谢谢原作者!!!此文转自:https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/README-zh.md IPsec VPN 服务器一键安装脚本 使用 Linux Shell 脚本一键快速搭建 IPsec VPN 服务器.支持 IPsec/L2TP 和 Cisco IPsec 协议,可用于 Ubuntu,Debian 和 CentOS 系统.你只需提供自己的 VPN 登录凭证,然后运行脚本自动完成安装. I

飞塔 (Fortinet) 防火墙配置-IPsec VPN (固定宽带-拨号宽带)

简介 VPN作为一项成熟的技术,广泛应用于组织总部和分支机构之间的组网互联,其利用组织已有的互联网出口,虚拟出一条"专线",将组织的分支机构和总部连接起来,组成一个大的局域网. IPSec VPN即指采用IPSec协议来实现远程接入的一种VPN技术,IPSec全称为Internet Protocol Security,是由Internet Engineering Task Force (IETF) 定义的安全标准框架,用以提供公用和专用网络的端对端加密和验证服务. 很多企业有类似这种的