由于网络安全专业课的一次小作业,做一个小文章分享吧
IPSec这里不做详细讲解,主要是简单分析一下里面的AH协议和ESP协议
引言:IPSec核心协议是AH和ESP;本文分三部分,分别是对于两个协议的简述和对二者区别以及联系的总结
IPSec体系结构:
正文:
[if !supportLists]1. [endif]AH协议
简述:
Authentication header,验证头部协议;AH协议提供无连接的完整性、数据源认证和抗重放保护服务(不提供保密性服务)
AH协议使用消息认证码(采用MAC算法)对IP数据进行认证;MAC算法与hash算法类似,实际上是hash算法的演进版本;它可以检测出对IP报文的任何修改,通过这个来保证IP包的完整性和可靠性;通信双方必须采用相同的MAC算法和密钥(保证统一)
AH报文头:
前文中提到的防止重放攻击是通过这个报文头中的序列号来实现的;(序列号是一个单向递增的计数器,可以类比CAS中解决ABA问题的加版本号的解决方式的思路【个人理解】)
数据完整性检查:
(1)AH的验证范围是整个IP包,简单来说,数据完整性检查就是,发送方的整个IP包和验证密钥【输入】,经过HMAC算法得到的数据放进AH报文头的验证数据段中;接收方把收到的IP包和验证密钥进行HMAC校验和AH中的字段进行一致性比较;IP报文中允许被修改的字段(如TTL, DF...)在计算时会被用0占位;不允许修改的就是我们需要保护的内容
工作模式:
(1)传出模式
(2)隧道模式下认证
2. ESP协议
简述:
Encapsulating Security Payload,IPSec封装负载;ESP提供数据保密、无连接完整性、抗重播服务以及数据包/数据流加密服务
ESP使用消息认证码(MAC)提供认证服务;ESP大都采用对称密码体制加密数据,这是因为公钥密码系统的运算量要比对称密钥系统大得多(更好的保证保密性)
ESP报文头:
工作模式:
和AH类似,需要注意的是
(1)如果使用加密,SPI和序号字段不能加密
(2)如果使用验证,验证数据也不会被加密
(3)隧道模式中,内部的IP头被加密验证,而外部的不能加密也不能验证
数据校验:
与AH不同,ESP验证不会对整个IP包进行验证
3. AH协议和ESP协议的区别和联系
根据上文对于两个协议的简述,可以看出二者的一些区别和联系
为了分析方便,以表格的形式展现: