1.IPSEC简介
IPSec 是包括安全协议(Security Protocol)和密钥交换协议(IKE),由IETF(Internet Engineering TaskForce,Internet 工程任务组)开发的,可为通讯双方提供访问控制、无连接的完整性、数据来源认证、反重放、加密以及对数据流分类加密等服务的一系列网络安全协议的总称,IPSec 协议不是一个单独的协议,它给出了应用于IP层上网络数据安全的一整套体系结构,包括网络认证协议 Authentication Header(AH)、封装安全载荷协议Encapsulating SecurityPayload(ESP)、密钥管理协议Internet Key Exchange (IKE)和用于网络认证及加密的一些算法等。IPSec 规定了如何在对等层之间选择安全协议、确定安全算法和密钥交换,向上提供了访问控制、数据源认证、数据加密等网络安全服务。
2.
IPSec安全体系结构图
IPSec安全体系内容
验证头部AH:
为IP包提供数据完整性校验和身份认证功能;
验证算法由SA指定;
认证的范围:整个包。
封装安全载荷ESP:
提供机密性,数据源验证,抗重播以及数据完整性等安全服务;
加密算法和身份验证方法均有SA指定。
用于两种模式:传输模式和隧道模式
AH头格式
AH传输模式
AH隧道模式
AH处理过程
1) 对于发出去的包的处理构造AH
l 创建一个外出SA(手工或通过IKE)
l 产生序列好
l 填充AH头的各字段
l 计算ICV(Integrity Check Value完整性检验值)
内容包括:IP头中部分域,AH自身,上层协议数据
l AH头中的”下一头部“置为原IP包头中的”协议“字段的值,原IP包头的”协议字段置为51(代表AH)
2) 对于接受到的包处理:
l 分片装配
l 查找SA
依据:目标IP地址,AH协议,SPI
l 检查序列号
l ICV检查
ESP头格式
ESP传输模式
ESP隧道模式
ESP处理过程
1) 对出发出去的包的处理
l 查找SA
l 加密
l 封装必要的数据,放到payload data域中,不同的模式,封装数据的范围不同
l 增加必要的padding数据
l 加密操作
l 验证
l 计算ICV 注意:针对加密后的数据进行计算
2) 对于接受到的包的处理
l 分片装配
l 查找SA
依据:目标IP地址,ESP协议,SPI
l 检查序列号(可选,针对重放***)
使用一个滑动串口来检查序列号的重放
l ICV检查
l 解密
根据SA中指定的算法和迷失,参数,对于被加密部分的数据进行解密
去掉padding
重构原始的IP包
SA(Security Association)安全联盟
l SA是单向的(无法反推)
l SA是“协议相关”的(与协议对应)
l 每个SA通过三个参数来标志,<spi,dst(src),protocol>
安全参数索引SPI(Security Parameters Index)
对方IP地址
安全协议标识:AH or ESP
l SA与IPSec系统中实现的两个数据库有关
安全策略数据库(SPD)
安全关联数据库(SAD)
密钥管理(Key Management)
l ISAKMP定义了密钥管理框架。ISAKMP与IKE一样,IKE是高级版本。
l IKE是母线真是确定用于IPSec的密钥交换协议。
ISAKMP参考RFC2308文档,IKE协议参考RFC2409文档。
两阶段交换
第一阶段:建立起ISAKMP SA —— IKE SA
双方(例如ISAKMP Sservers)商定如何保护以后的通讯,通信双方建立一个已通过身份鉴别和安全保护的通道;
此SA将用于保护后表的protocol SA的协商过程。
第二阶段:建立起针对其他安全协议的SA —— IPSec SA
这个阶段可以建立多个SA;
此SA将被相应的安全协议用于博阿虎数据或者消息的交换。
IPSec-×××协议和算法
IP安全协议:AH,ESP
数据加密标准:DES,3DES
公共密钥密码协议:Diffe-Hellman(D-H)
散列算法:MD5,SHA-1
公钥加密算法:RSA
Internet密钥交换:IKE
证书授权中心:CA
3.IPsec配置案例
实验环境说明:
本实验采用华为2600系列路由器三台,防火墙一台。实现1.0网段的主机可以和2.0,3.0网段的主机通过***互访。但是2.0和3.0之间不建立***。
配置详解
防火墙:
R1
R2
R3
测试:
转载于:https://blog.51cto.com/liuguirong/959097