ipsec协议(转)
2012-03-25 23:40:28
IPSec 协议简介
IPsec具有以下优点:
支持IKE(Internet Key Exchange,因特网密钥交换),可实现密钥的自动协商功能,减少了密钥协商的开销。可以通过IKE建立和维护SA的服务,简化了IPsec的使用和管理。
所有使用IP协议进行数据传输的应用系统和服务都可以使用IPsec,而不必对这些应用系统和服务本身做任何修改。
对数据的加密是以数据包为单位的,而不是以整个数据流为单位,这不仅灵活而且有助于进一步提高IP数据包的安全性,可以有效防范网络攻击。
IPsec的协议实现
IPSec 通过AH (Authentication Header,认证头)和ESP (Encapsulating Security Payload,封装安全载荷)两个安全协议实现了上述目标。为简化 IPSec 的使用和管理,IPSec 还可以通过 IKE(Internet 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 能够对不同的数据流提供不同级别的安全保护。
安全联盟具有生存周期。生存周期的计算包括两种方式:
以时间为限制,每隔指定长度的时间就进行更新;
以流量为限制,每传输指定的数据量(字节)就进行更新。
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为例)如下图所示:
4. 验证算法与加密算法
IPSec配置
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]
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
2. 自动协商配置
3.IPSec显示与调试
IPSec 提供以下命令显示安全联盟、安全联盟生存周期、安全提议、安全策略的信息以及 IPSec处理的报文的统计信息。
display命令可在所有视图下进行操作,debugging命令只能在用户视图下操作。
显示安全联盟的相关信息 display ipsec sa [ brief | remote ip-address | policy policy-name[ seq-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 ] ]
ipsec协议(转)的更多相关文章
- IPSec协议
IPSec协议:IPsec将IP数据包的内容先加密再传输,即便中途被截获,由于缺乏解密数据包所必要的密钥,攻击者也无法获取里面的内容. 传输模式和隧道模式:IPsec对数据进行加密的方式有两种:传输模 ...
- IPSec协议框架
文章目录 1. IPSec简介 1.1 起源 1.2 定义 1.3 受益 2. IPSec原理描述 2.1 IPSec协议框架 2.1.1 安全联盟 2.1.2 安全协议 报文头结构 2.1.3 封装 ...
- IPsec协议簇简析
简介 IPsec协议簇是应用在网络层上的,来保护IP数据报的一组网络传输协议的集合.它是IETF(Internet Engineering Task Force)制定的一系列协议,它为IP数据报提供了 ...
- IPSec协议;IPv6为何增加对IPSec协议的支持
IPSec由一系列的协议组成,除IP层的协议完全结构外,还包括了AH.ESP.ISAKMP.ISAKMP的因特网IP安全解释域.IKE.OAKLEY密钥协议确定等.ESP和AH定义协议.载荷头的格 ...
- 安全协议系列(五)---- IKE 与 IPSec(中)
在上一篇中,搭建好了实验环境.完整运行一次 IKE/IPSec 协议,收集相关的输出及抓包,就可以进行协议分析.分析过程中,我们将使用 IKE 进程的屏幕输出和 Wireshark 抓包,结合相关 R ...
- [crypto][ipsec] 简述ESP协议的sequence number机制
预备 首先提及一个概念叫重放攻击,对应的机制叫做:anti-replay https://en.wikipedia.org/wiki/Anti-replay IPsec协议的anti-replay特性 ...
- 网络安全协议之IPsec
声明 本文仅发表在博客园,作者LightningStar. 简介[1] IPSec(Internet 协议安全)是一个工业标准网络安全协议,工作在OSI模型的第三层,即网络层,为IP网络通信提供透明的 ...
- IPsec 学习笔记
工作中需要,参考网上的资料对IPSecVPN进行学习,并通过博客记录下一些知识点作为学习记录和后续复习的材料. Transport Layer (TLS) 其中主要参考了以下文档: http://ww ...
- RFC(请求注解)--各种协议-标准
转自:http://blog.sina.com.cn/s/blog_65d6476a0101cj8n.html RFC(Request For Comments)-意即“请求注解”,包含了关于Inte ...
随机推荐
- windows10-64位安装OpenSSL详细教程(转载)
相关软件下载地址: 1.ActivePerl 5.26.1:https://www.activestate.com/activeperl/downloads 2.openssl-1.1.0g:http ...
- 大数据开发实战:Stream SQL实时开发一
1.流计算SQL原理和架构 流计算SQL通常是一个类SQL的声明式语言,主要用于对流式数据(Streams)的持续性查询,目的是在常见流计算平台和框架(如Storm.Spark Streaming.F ...
- javascript数组操作大全-原创
//1.join() 方法用于把数组中的所有元素放入一个字符串,并通过指定的分隔符进行分隔. //语法:stringObject.join(a)这是它的语法 //a指定分隔符的任意字符串 //返回值: ...
- 【树莓派】树莓派新版系统SSH连接被拒绝问题处理
安装好新的版本树莓派(NOOBS_v2_4_0.zip)之后,直连显示器并接上网线,可以看到已经获取到动态IP地址了. 但是,此时使用xshell远程连接时,却一直连接不成功: [d:\~]$ Con ...
- Android 如何预置APK M
前言 欢迎大家我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处: CSDN:http://www.csdn.net ...
- js - 关于循环
ES5:for,foreach,for..in ES6:for..of // ES5(可参见ES6的析构写法) const value = ["a", "b", ...
- 磁盘I/O的性能评估方法
磁盘I/O的性能评估方法 http://blog.synology.com/blog/?p=2086 通常,我们很容易观察到数据库服务器的内存和CPU压力.但是对I/O压力没有直观的判断方法.磁盘有两 ...
- MACD底背离选股公式——通达信、同花顺
{底背离,通达信版.同花顺版} DIFF:=EMA(CLOSE,) - EMA(CLOSE,); DEA:=EMA(DIFF,); MACD:=*(DIFF-DEA); QZQ:=BARSLAST(R ...
- linux2.6.30.4内核移植(7)——插入hello world驱动模块
详细步骤参考自:http://www.cnblogs.com/wanyao/archive/2011/11/21/2257628.html 过程比较顺利,结果截图如下: 这里需要注意的是:http:/ ...
- Java BIO、NIO、AIO 学习
正在学习<大型网站系统与JAVA中间件实践>,发现对BIO.NIO.AIO的概念很模糊,写一篇博客记录下来.先来说个银行取款的例子: 同步 : 自己亲自出马持银行卡到银行取钱(使用同步IO ...