一、
+IPSec(IP Security)Internet 协议安全性
是IFTF制定的为保证在Internet上传送数据的安全保密性能的框架协议
+IPSec包括报文验证头协议AH(协议号51)和报文安全封装协议ESP(协议号50)两个协议两个协议
+IPSec有隧道(tunnel)和传送(transport)两种工作方式

IPSec(IP Security)是IETF制定的为保证在Internet上传送数据的安全保密性能的三层隧道加密协议。 IPSec在IP层对IP报文提供安全服务。IPSec协议本身定义了如何在IP数据包中增加字段来保证IP包的完整性、私有性和真实性,以及如何加密数据包。使用IPsec,数据就可以安全地在公网上传输。IPsec提供了两个主机之间、两个安全网关之间或主机和安全网关之间的保护。
IPSec包括报文验证头协议AH(协议号51) 和报文安全封装协议ESP(协议号50)两个协议。 AH可提供数据源验证和数据完整性校验功能;ESP除可提供数据验证和完整性校验功能外,还提供对IP报文的加密功能。
IPSec有隧道(tunnel)和传送(transport)两种工作方式。在隧道方式中,用户的整个IP数据包被用来计算AH或ESP头,且被加密。AH或ESP头和加密用户数据被封装在一个新的IP数据包中;在传送方式中,只是传输层数据被用来计算AH或ESP头,AH或ESP头和被加密的传输层数据被放置在原IP包头后面。

二、IPSec的组成
+IPSec提供两个安全协议
AH(Authentication Header)报文认证头协议
MD5(Message Digest 5)
SHA1(Secure Hash Algorithm)
ESP(Encapsulation Security Payload)封装安全载荷协议
DES(Date Encryption Standard)
3DES
其他的加密算法: Blowfish, blowfish,cast......

AH(Authentication Header)是报文验证头协议,主要提供的功能有数据源验证、数据完整性校验和防报文重放功能_,可选择的散列算法有MD5(Message Digest ),SHA1(Secure Hash Algorithm)等。AH插到标准IP包头后面,它保证数据包的完整性和真实性,防止黑客截断数据包或向网络中插入伪造的数据包。AH采用了hash算法来对数据包进行保护。AH没有对用户数据进行加密_。
ESP(Encapsulating Security Payload)是报文安全封装协议,ESP将需要保护的用户数据进行加密后再封装到IP包中,证数据的*完整性、真实性和私有性_。 可选择的加密算法有DES,3DES等。

三、IPSec的安全特点
+数据机密性(Confidentiality)
IPSec发送方在通过网络传输包前对包进行加密。
+数据完整性(Data Integrity)
IPSec接收方对发送方发送来的包进行认证,以确保数据在传输过程中没有被篡改。
+数据来源认证(Date Authentication)
IPSec接收方对IPSec包的源地址进行认证。这项服务基于数据完整性服务。
+反重放(Anti-Replay)
IPSec接收方可检测并拒绝接收过时或重复的报文。

四、IPSec基本概念
+数据流(Data Flow)
为一组具有某些共同特征的数据的集合,由源地址/掩码、目的地址/掩码、IP报文中封装上层协议的协议号、源端口号、目的端口号等来规定。通常,一个数据流采用一个访问控制列表(access-list)来定义,经访问控制列表匹配的所有报文在逻辑上作为一个数据流。一个数据流可以是两台主机之间单一的TCP连接,也可以是两个子网之间所有的数据流量。IPSec能够对不同的数据流施加不同的安全保护,例如对不同的数据流使用不同的安全协议、算法或密钥。
+安全联盟(Security Association 简称SA)
IPSec对数据流提供的安全服务通过安全联盟SA来实现,它包括协议、算法、密钥等内容,具体确定了如何对IP报文进行处理。一个SA就是两个IPSec系统之间的一个单向逻辑连接,输入数据流和输出数据流由输入安全联盟与输出安全联盟分别处理。安全联盟由一个三元组(安全参数索引(SPI)、IP目的地址、安全协议号(AH或ESP))来唯一标识。安全联盟可通过手工配置和自动协商两种方式建立。手工建立安全联盟的方式是指用户通过在两端手工设置一些参数,在两端参数匹配和协商通过后建立安全联盟。自动协商方式由IKE生成和维护,通信双方基于各自的安全策略库经过匹配和协商,最终建立安全联盟而不需要用户的干预。
+安全参数索引SPI(Security Parameter Index)
是一个32比特的数值,在每一个IPSec报文中都携带该值。SPI、IP目的地址、安全协议号三者结合起来共同构成三元组,来唯一标识一个特定的安全联盟。在手工配置安全联盟时,需要手工指定SPI的取值。为保证安全联盟的唯一性,必须使用不同的SPI来配置安全联盟;使用IKE协商产生安全联盟时,SPI将随机生成。
+安全联盟生存时间(Life Time)
安全联盟更新时间有“以时间进行限制”(即每隔定长的时间进行更新)和“以流量进行限制”(即每传输一定字节数量的信息就进行更新)两种方式
+安全策略(Crypto Map)
由用户手工配置,规定对什么样的数据流采用什么样的安全措施。对数据流的定义是通过在一个访问控制列表中配置多条规则来实现,在安全策略中引用这个访问控制列表来确定需要进行保护的数据流。一条安全策略由“名字”和“顺序号”共同唯一确定。
+转换方式(Transform Mode)
包括安全协议、安全协议使用的算法、安全协议对报文的封装形式,规定了把普通的IP报文转换成IPSec报文的方式。在安全策略中,通过引用一个转换方式来规定该安全策略采用的协议、算法等。

五、AH协议

AH协议通过使用带密钥的验证算法,对受保护的数据计算摘要。通过使用数据完整性检查,可判定数据包在传输过程中是否被修改;通过使用认证机制,终端系统或网络设备可对用户或应用进行认证,过滤通信流;认证机制还可防止地址欺骗攻击及重放攻击。
在使用AH协议时,AH协议首先在原数据前生成一个AH报文头,报文头中包括一个递增的序列号(Sequence number)与验证字段(空)、安全参数索引(SPI)等。AH协议将对新的数据包进行离散运算,生成一个验证字段(authentication data),填入AH头的验证字段。AH协议目前提供了两种散列算法可选择,分别是:MD5和SHA1,这两种算法的密钥长度分别是128bit和160bit。
AH协议使用32比特序列号结合防重放窗口和报文验证来防御重放攻击。
在传输模式下,AH协议验证IP报文的数据部分和IP头中的不变部分。
在隧道模式下, AH协议验证全部的内部IP报文和外部IP头中的不变部分。

六、ESP协议

ESP协议将用户数据进行加密后封装到IP包中,以保证数据的私有性。同时作为可选项,用户可以选择使用带密钥的哈希算法保证报文的完整性和真实性。ESP的隧道模式提供了对于报文路径信息的隐藏。
在ESP协议方式下,可以通过散列算法获得验证数据字段,可选的算法同样是MD5和SHA1。与AH协议不同的是,在ESP协议中还可以选择加密算法,一般常见的是DES、3DES等加密算法。加密算法要从SA中获得密钥,对参加ESP加密的整个数据的内容进行加密运算,得到一段新的“数据”。完成之后,ESP将在新的“数据”前面加上SPI字段、序列号字段,在数据后面加上一个验证字段和填充字段等。
ESP协议使用32比特序列号结合防重放窗口和报文验证,防御重放攻击
在传输模式下,ESP协议对IP报文的有效数据进行加密(可附加验证)。
在隧道模式下,ESP协议对整个内部IP报文进行加密(可附加验证)。

IPSec配置前准备

IPSec的配置任务
+创建加密访问控制列表
+定义安全提议
+设置安全协议对IP报文的封装模式
+选择安全协议
可选的安全协议有AH与ESP,也可指定同时使用AH与ESP
++设置AH协议采用的认证算法
++ESP协议采用的认证算法
++SEP协议采用的加密算法
AH协议没有加密功能,只对报文进行认证。软件IPSec中ESP支持的安全加密算法有五种:3des、des、blowfish、cast、skipjack。加密卡ESP支持的安全加密算法有七种:3des、des、blowfish、cast、skipjack、aes、qc5。
AH和ESP支持的安全认证算法有MD5(消息摘要Version 5)算法与SHA(安全散列算法)算法两种。md5算法使用128位的密钥,sha1算法使用160位的密钥;md5算法的计算速度比sha1算法快,而sha1算法的安全强度比md5算法高。
安全隧道的两端所选择的安全加密算法与认证算法必须一致。

+创建安全策略
++配置安全策略引用的访问控制列表
++指定安全隧道的终点
++配置安全策略中引用的安全提议
+在接口上应用安全策略组
创建安全策略,必须指定其SA协商方式;协商方式有两种:手工方式和IKE协商方式,由于手工方式不够安全,通常我们采用IKE协商方式。如果是修改安全策略,可不必指定其协商方式。一旦创建了安全策略,就不能再修改为其它的协商模式。必须先删除当前的安全策略然后再重新创建新的安全策略。

IKE配置任务
+创建IKE安全策略
++选择加密算法 DES-CBC 3DES-CBC(三重DES加密)
++选择认证方法 预共享密钥(pre-share-key)
++选择哈希散列算法 SHA-1算法和MD5算法
++选择DH的组标识 Group1或Group2
++设置IKE协商安全联盟的生存周期
+配置预共享密钥
+配置IKE keepalive定时器

IPSec监控与调试
+显示安全联盟的相关信息
display ipsec sa {all | brief remote ip-address | policy policy-name [sequence-number] | parameters dest-address protocol spi}
+IPSec调试信息开关
debugging ipsec {misc | packet | sa}

IKE的监控与调试
+显示IKE安全联盟参数
display ike sa
+调试IKE安全联盟
debugging ike {all | crypto | error | message | misc | sysdep | timer | transport }

IPSec排错

www.huawei.com

IPSec的更多相关文章

  1. 【转】CentOS上部署PPTP和L2TP over IPSec简要笔记

    PPTP部署 安装 PPTP 需要 MPPE 和较高版本的 ppp ( > 2.4.3 ) 支持,不过 CentOS 5.0/RHEL 5 的 2.6.18 内核已经集成了 MPPE 和高版本的 ...

  2. ipsec IP安全策略操作 win7

    //禁止 win7 连接 public static void BannedWINRunCmd() { string str = Console.ReadLine(); System.Diagnost ...

  3. 跨云应用部署第一步:使用IPSEC VPN连接AWS中国版和Windows Azure中国版

    随着公有云的普及,越来越多的客户将关键应用迁移到云端.但是事实证明,没有哪家云服务提供商可以提供100%的SLA,无论是例行维护还是意外中断服务,对于客户的关键应用而言,都会受到不同程度的影响.此外, ...

  4. [转]Mac下配置基于SecurID的Cisco IPSec VPN全攻略(有图)

    来自: http://www.eefocus.com/Kevin/blog/11-09/230878_53c71.html RSA的SecurID长的是这个样子滴: Mac里面,可以设置VPN, 方法 ...

  5. 配置L2TP IPsec VPN (CentOS 6.5)

    1. 安装相关包 yum install -y ppp iptables make gcc gmp-devel xmlto bison flex libpcap-devel lsof vim-enha ...

  6. 在EC2上搭建L2TP over IPSec VPN服务器

    注意(:wq保存文件 putty登陆用户名为ec2-user) 安装与配置: 环境介绍: OS:CentOS 6.4 x86_64 Minimal 1. 修改 /etc/sysctl.conf,新增如 ...

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

    在上一篇中,搭建好了实验环境.完整运行一次 IKE/IPSec 协议,收集相关的输出及抓包,就可以进行协议分析.分析过程中,我们将使用 IKE 进程的屏幕输出和 Wireshark 抓包,结合相关 R ...

  8. 安全协议系列(五)---- IKE 与 IPSec(上)

    IKE/IPSec 属于网络层安全协议,保护 IP 及上层的协议安全.自上个世纪末面世以来,关于这两个协议的研究.应用,已经非常成熟.协议本身,也在不断地进化.仅以 IKE 为例,其对应的 RFC 编 ...

  9. AIX上通过IPSEC进行IP包过滤

    AIX上的IPSEC 在AIX可以通过以下步骤打开IP Security smitty ipsec4 --> Start/Stop IP Security --> Start IP Sec ...

  10. Ubuntu 15.10搭建IPSec L2TP服务器

    以下步骤完全使用于Ubuntu 14.04版本 首先安装以下所需包 sudo apt-get install openswan xl2tpd ppp lsof!注意!Ubuntu 15.10会提示无法 ...

随机推荐

  1. 【java编程】使用System.getProperty方法,如何配置JVM系统属性

    转载:https://www.cnblogs.com/acm-bingzi/p/6673823.html很多时候我们需要在项目中读取外部属性文件,用到了System.getProperty(" ...

  2. JDBC面试题

    关于jdbc的面试题 什么是JDBC,在什么时候会用到它? JDBC的全称是Java DataBase Connection,也就是Java数据库连接,我们可以用它来操作关系型数据库.JDBC接口及相 ...

  3. sofa graphql 2 rest api 试用

      大部分代码还是来自sofa 的官方文档,同时添加了docker && docker-compose集成 备注: 代码使用typescript 同时运行的时候为了方便直接运行使用ts ...

  4. 【甘道夫】MapReduce实现矩阵乘法--实现代码

    之前写了一篇分析MapReduce实现矩阵乘法算法的文章: [甘道夫]Mapreduce实现矩阵乘法的算法思路 为了让大家更直观的了解程序运行,今天编写了实现代码供大家參考. 编程环境: java v ...

  5. html+css常用总结

    一,HTML结构: 1,DOCTYPE 2,head: title:网站的标题 meta charset 3,body: 二,HTML标签: 块状元素和内联元素: 常见的块级元素有:div.p.add ...

  6. [转]ConcurrentHashMap原理分析

    一.背景: 线程不安全的HashMap     因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap. 效率低下的Has ...

  7. linux centos6 yum 安装lamp

    centos 6.5 1.yum安装和源代码编译在使用的时候没啥区别,但是安装的过程就大相径庭了,yum只需要3个命令就可以完成,源代码需要13个包,还得加压编译,步骤很麻烦,而且当做有时候会出错,源 ...

  8. xcrun: error: invalid active developer path

    问题 mac升级到10.12(macOS Sierra),执行命令,出现如下错误: xcrun: error: invalid active developer path (/Library/Deve ...

  9. windbg 如何再内核模式调试用户空间的程序

    1:使用!process 0 0 获取用户空间的所有的进程的信息 !process 0 0 **** NT ACTIVE PROCESS DUMP ****    PROCESS 80a02a60   ...

  10. CSS 仿 iOS 系统通知数字样式

    /** 仿 iOS 系统通知数字样式 **/ .num_span{ background-color: #f00; background-image: -webkit-linear-gradient( ...