网络层安全协议——IPSec

1.IPSec的目标

为IPv4和IPv6提供具有较强的互操作能力,IPv4下IPSec为可选,而IPv6下为必选

高质量和基于密码的安全

在IP层实现多种安全服务,包括:

访问控制、无连接完整性、数据源验证、抗重播、保密性和有限的业务流机密性

2.网络层安全性

优点:

密钥协商的开销被大大的消减了

需要改动的应用程序很少,对用户透明

很容易构建VPN

缺点:

很难解决“抗抵赖”之类的问题,即无法认证到每个个人

3.IPSec安全体系结构图

4.IPSec安全体系的内容

IPSec并不是一个单一的协议,而是能够在IP层提供互联网通信安全的协议族。并没有限定用户必须使用何种特定的加密和鉴别算法。实际上IPSec是一个框架,它允许通信双方选择合适的算法和参数(如密钥长度)。IPSec就是“IP安全(security)”的缩写。

IPSec协议族中的协议可划分为三个部分:

(1)IP安全数据报格式的两个协议:

AH:Authentication Header 验证头部

ESP:Encapsulation Security Payload 封装安全载荷

其中,验证头部AH:

提供源点鉴别和数据完整性,但不能保密

验证算法由SA指定

认证范围:整个包

其中,封装安全载荷ESP:

提供源点鉴别、数据完整性、加密及抗重播等安全服务

加密算法和身份验证方法均由SA指定

IPSec支持IPv4和IPv6。在IPv6中,AH和ESP都是扩展首部的一部分。AH协议的功能都已包含在ESP协议中,因此使用ESP协议就可以不使用AH协议。使用AH或ESP协议的IP数据报称为IP安全数据报(或IPSec数据报)。

AH和ESP均用于两种模式:传输模式和隧道模式。

传输模式:在整个传输层报文段的前后分别添加若干控制信息,再加上IP首部,构成IP安全数据报。

隧道模式:在原始IP数据报的前后分别添加若干控制信息,再加上新的IP首部,构成IP安全数据报。

两种方式,IP安全数据报的IP首部都是不加密的,这样数据报才能在各个路由器之间进行转发,从源点安全地转发到终点。所谓的“安全数据报”是指数据报的数据部分是经过加密的,并能够被鉴别的。

(2)有关加密算法的三个协议(在此不讨论)

(3)互联网密钥交换IKE(Internet Key Exchange)协议

密钥管理(Key Management):

SA(Security Association)安全联盟

ISAKMP定义了密钥管理框架

IKE是目前正式确定用于IPSec的密钥交换协议

5.IPSec的模式

隧道模式下,“原始IP首部”中,用两台通信的主机IP地址分别作为源地址和目的地址,而在IP安全数据报的“新的IP首部”中,若两台路由器进行通信,则使用两台路由器的地址作为源地址和目的地址;若一台路由器和主机之间进行通信,则使用路由器和主机的IP地址分别作为源地址和目的地址。

6.AH相关

1)AH头格式

SPI:标识此包用什么样的算法和什么样的密钥进行加密处理

2)AH的传输模式

3)AH的隧道模式

4)AH的处理过程

过程1

对于发出去的包的处理构造AH:

创建一个外出SA(手工或通过IKE)

产生序列号

填充AH头的各字段

计算ICV(Integrity Check Value完整性检验值),内容包括IP头中部分域、AH自身、上层协议数据

AH头中的“下一头部”置为原IP报头中的“协议”字段的值,原IP报头的“协议”字段置为51(代表AH)

过程2

对于接收到的包的处理:

分片装配

查找SA     依据:目标IP地址、AH协议、SPI

检查序列号

ICV检查

7.ESP相关

1)ESP头

2)ESP的传输模式

3)ESP的隧道模式

4)ESP的处理过程

过程1

对于发出去的包的处理:

查找SA

加密

封装必要的数据,放到payload data域中,不同的模式封装数据的范围不同

增加必要的padding数据

加密操作

验证

计算ICV,注意,针对加密后的数据进行计算

过程2

对于接收到的包(Inbound Packet)的处理:

分片装配

查找SA   依据:目标IP地址、ESP协议、SPI

检查序列号(可选,针对重放攻击),使用一个滑动窗口来检查序列号的重放

ICV检查

解密      根据SA中指定的算法和密钥、参数,对于被加密部分的数据进行解密     去掉padding      重构原始的IP包

8.安全联盟SA

在发送IP安全数据报之前,在源实体和目的实体之间创建一条网络层的逻辑连接,即安全关联CA。这样,传统的互联网中无连接的网络层就变成了具有逻辑连接的一个层。安全关联是从源点到终点的单向连接,它能够提供安全服务。若要进行双向安全通信,则两个方向都需要建立安全关联。

SA可以是两部路由器、路由器与主机之间进行建立。建立安全关联的路由器或主机,必须维护这条SA的状态信息。

每个SA通过三个参数来标志<spi,dst(src),protocol>

—安全参数索引SPI(Security Parameters Index)

—对方IP地址

—安全协议标识:AH or ESP

当路由器要通过SA发送安全数据报时,就必须读取SA的这些状态信息,以便知道如何把IP数据报进行加密和鉴别。

SA与IPSec系统中实现的两个数据库有关

—安全策略数据库(SPD):指明什么样的数据报需要进行IPSec处理

—安全关联数据库(SAD):指明若需要使用IP安全数据报,应怎样做(使用哪一个SA)

9.IPSec密钥管理

包括密钥的确定和分配

两种方式:

—手工的

—自动的:Internet密钥交换IKE(非IPSec专用)

作用:在IPSec通信双方之间,建立起共享安全参数及验证过的密钥(建立“安全关联”),IKE代表IPSec对SA进行协商,并对SADB数据库进行填充

10.Internet密钥交换协议—IKE

IKE协议:

负责在通信两端安全地交换密钥

RFC2409,是Oakley和SKEME协议的一种混合

基于ISAKMP框架

沿用了Oakley和SKEME的共享和密钥更新技术

ISAKMP:

Internet  Security Association and Key Management Protocol

RFC 2408

定义如何建立安全联盟 并初始化密钥

11.两阶段交换

第一阶段:建立起ISAKMP SA——IKE SA

双方(例如ISAKMP Servers)商定如何保护以后的通讯

,通信双方建立一个已通过身份鉴别和安全保护的通道

此SA将用于保护后面的protocol SA的协商过程

第二阶段:建立起针对其他安全协议的SA——IPSec SA

这个阶段可以建立多个SA

此SA将被相应的安全协议用于保护数据或者消息的交换

12.IPSec—vpn要求

数据私密性

数据完整性

数据来源鉴别

防重放

13.IPSec—vpn协议和算法

IP安全协议:AH,ESP

数据加密标准:DES,3DES

公共密钥密码协议:Diffie—Hellman(D-H)

散列算法:MD5,SHA-1

公钥加密算法:RSA

Internet密钥交换:IKE

证书授权中心:CA

14.实验

两台Windows2003服务器实现传输模式的VPN

两台Windows2003服务器实现隧道模式的VPN

设计:

通信一方必须告诉另一方自己的策略

通信双方必须保持策略一致,用ping测试IPSec配置是否成功

隧道模式:IPSec必须成对出现,既有隧道进方向,又有隧道出方向

windows上实现IPSec和路由器上实现完全不同:Windows利用图形界面,路由器利用一条一条的命令

若通信一方配置IPSec,另一方未配置,则ping不通,如下:

双方都配置好IPSec,且参数一致,则结果有个协商过程,如下:

注意:

通信两端的源地址和目的地址,可以为一个特定IP地址,也可以为一个特定的IP子网等,如下列表中的选项:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章