Author:残风
IPSec的目标
l 为IPv6和IPv6提供具有较强的互操作能力
l 高质量的基于密码的安全
l 在IP层实现多种安全服务,包括:访问控制,无连接完整性,数据源验证,抗重播,机密性和有限的业务流机密性
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