赞
踩
为IPv4和IPv6提供具有较强的互操作能力,IPv4下IPSec为可选,而IPv6下为必选
高质量和基于密码的安全
在IP层实现多种安全服务,包括:
访问控制、无连接完整性、数据源验证、抗重播、保密性和有限的业务流机密性
优点:
密钥协商的开销被大大的消减了
需要改动的应用程序很少,对用户透明
很容易构建VPN
缺点:
很难解决“抗抵赖”之类的问题,即无法认证到每个个人
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的密钥交换协议
隧道模式下,“原始IP首部”中,用两台通信的主机IP地址分别作为源地址和目的地址,而在IP安全数据报的“新的IP首部”中,若两台路由器进行通信,则使用两台路由器的地址作为源地址和目的地址;若一台路由器和主机之间进行通信,则使用路由器和主机的IP地址分别作为源地址和目的地址。
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检查
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包
在发送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)
包括密钥的确定和分配
两种方式:
—手工的
—自动的:Internet密钥交换IKE(非IPSec专用)
作用:在IPSec通信双方之间,建立起共享安全参数及验证过的密钥(建立“安全关联”),IKE代表IPSec对SA进行协商,并对SADB数据库进行填充
IKE协议:
负责在通信两端安全地交换密钥
RFC2409,是Oakley和SKEME协议的一种混合
基于ISAKMP框架
沿用了Oakley和SKEME的共享和密钥更新技术
ISAKMP:
Internet Security Association and Key Management Protocol
RFC 2408
定义如何建立安全联盟 并初始化密钥
第一阶段:建立起ISAKMP SA——IKE SA
双方(例如ISAKMP Servers)商定如何保护以后的通讯
,通信双方建立一个已通过身份鉴别和安全保护的通道
此SA将用于保护后面的protocol SA的协商过程
第二阶段:建立起针对其他安全协议的SA——IPSec SA
这个阶段可以建立多个SA
此SA将被相应的安全协议用于保护数据或者消息的交换
数据私密性
数据完整性
数据来源鉴别
防重放
IP安全协议:AH,ESP
数据加密标准:DES,3DES
公共密钥密码协议:Diffie—Hellman(D-H)
散列算法:MD5,SHA-1
公钥加密算法:RSA
Internet密钥交换:IKE
证书授权中心:CA
两台Windows2003服务器实现传输模式的VPN
两台Windows2003服务器实现隧道模式的VPN
设计:
通信一方必须告诉另一方自己的策略
通信双方必须保持策略一致,用ping测试IPSec配置是否成功
隧道模式:IPSec必须成对出现,既有隧道进方向,又有隧道出方向
windows上实现IPSec和路由器上实现完全不同:Windows利用图形界面,路由器利用一条一条的命令
若通信一方配置IPSec,另一方未配置,则ping不通,如下:
双方都配置好IPSec,且参数一致,则结果有个协商过程,如下:
注意:
通信两端的源地址和目的地址,可以为一个特定IP地址,也可以为一个特定的IP子网等,如下列表中的选项:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。