IPSEC简述
IPSEC,应用密码学的安全通信协议组,它是基于网络层协议的,在IPV6中,IPSEC是要求强制使用的,但是在IPV4中作为可选项使用。
IPSEC可以提供的安全服务
机密性---数据加密;
完整性---确保数据的完整,防止篡改;
可用性---数据源鉴别(身份认证)---数字证书和PSK(预共享密钥)
不可否认性---数据源鉴别
重传攻击保护---通过添加序列号(一个一次性数字)来防止重放攻击
有限的流量保密---在IPSEC中可以抓取感兴趣的流量,即可以设定让哪些流量需要进入IPSEC隧道,继续保密传输,哪些流量不需要进入到隧道中;
IPSEC协议簇
一、IPSEC协议簇中安全协议的两种工作模式(传输模式和隧道模式)
- 传输模式 --- 封装方式:不改变原有的IP包头,在原始数据包头前面添加IPSEC包头,将原来的数据封装成被保护的数据,数据传输的时候进行安全保障。
因为没有添加新的IP头部,所以无法跨越公网建立的隧道,适合在私网内部。
- 隧道模式 --- 封装方式:在需要增加新的IP头部,其后面是IPSEC包头,之后就是将原来的整个数据包进行分装,适用于需要跨越公网的环境。
二、IPSEC簇中的两种安全协议(AH、ESP)
1.1 AH---鉴别头协议(鉴别头协议属于网络层协议,但是它的封装在IP协议之上,它的协议号为51)
1.2 AH协议可以提供的安全服务
- 数据的完整性
- 数据源的确认---身份认证
- 抗重放攻击
1.3 AH的包头
序列号:用来防止重放攻击;
安全参数索引(SPI):用来标识唯一的SA(安全联盟);IPSEC在建立隧道之前,双方需要协商安全参数,安全参数协商完成之后,则建立对应的SA---IPSEC AS;相当于建立好了隧道;
注意:IPSEC AS是分方向的,需要建立一个双向的安全通道,则需要建立两条方向相反的SA,不同的SA需要用不同的SPI进行标识,相当与每一个AS都有一个ID。
1.4 AS协议的运输模式
AH在进行完整性校验时,会包含完整的数据包
1.5 AH协议的隧道模式
AH在进行完整新校验时会包含原来的数据和新的包头
注意:AH在进行完整性的校验时会包含IP头部的内容,所以在运输数据时,IP头部的有些数据就会发生改变,比如TTL、TOS(这样的数据不做校验)。因为会校验IP值,所以在AH无法应用在NAT环境中。
2.1 ESP---封装安全载荷协议,它也是封装在 IP协议之上,但是属于网路层协议,协议号为50;
2.2 ESP可以提供的安全服务
1.数据的完整性校验
2.数据源认证
3.抗重放的保护
4.数据保密---注意:这个是AH所不具备的一个安全服务---可以进行选择性加密
2.3 ESP的头部
ESP尾部:因为ESP要进行加密,如果是分组加密的话对负载的长度有要求,负载长度要为固定值,如果负载不够长的话,要报尾来进行补位。
保护范围---加密的范围是除了最外层的IP头部,ESP的头部以及ESP认证数据部分不进行加密,其他内容的需要进行加密;
完整性的校验是加密的内容加上ESP的头部内容
-
- ESP协议的传输模式
不管是传输还是隧道模式,认证都是将原来的IP数据和原始IP包头和ESP的头部和尾部封装放入ESP认证中,加密则是将数据和ESP尾部进行加密
-
- ESP协议的隧道模式
三、AH协和ESP协议的区别以及二者结合
AH和ESP也可以同时使用
3.1 AH+ESP的传输模式
AH+ESP运输模式:先用ESP对原始数据进行验证和加密,然后用AH对所有的数据进行验证放入AH证头摘要中
3.2 AH+ESP隧道模式
AH+ESP隧道模式:先用ESP对原始数据进行验证和加密,然后用AH对所有的数据进行验证放入AH证头摘要中(包括新的ip头部)
注意:只要有AH参与的封装,就会导致IP头部的信息被校验,就无法应对NAT环境