IP Sec 定义
IPSec全称是Internet Protocol Security
,因特网协议安全,由IETF官方定义。
RFC-1825 to RFC-1827
。属于一种协议套件,通过认证和加密数据包来保证因特网安全通信。
属于端到端的安全模式。
保护跨IP网络的应用层通信。但应用层无需设计使用IPSec。
- 可以使用SSL(安全套接字),TLS(传输层安全),安全壳(SSH)。
IPSec是ISO标准网络层安全协议的后继者。
IP协议的安全性:使用IPSec解决
IPSec提供网络层加密方案,在网络层对内容先加密再传输。
- 数据加密方式有
- 传输模式:对数据部分payload加密。
- 隧道模式:对整个IP分组进行加密。
- 数据加密方式有
数据保护措施
- 数据保密:使用各种加密手法。主要是对称加密技术。要保证公钥的合法性,我们需要确认发送证书的一方不是伪装的攻击者。X.509证书作为可信第三方为通信双方做身份验证。或者使用预共享的密钥,RSA密钥。
- 数据完整性度量:保证数据完整。数据做摘要,完整接收后再进行摘要比对。
- 来源认证:确认收发双方,以信息摘要的方式解决。信息摘要种包含了发送方的地址信息HMAC
- 防止重放攻击:加上时间戳+随机数,保证消息唯一区分。
IPSec 的一些基本理念
AH认证头协议
AH比ESP相比具有更强的认证能力。能有效在数据传送过程中对数据进行完整性度量度量和来源认证,防止重放攻击。
工作原理:在IP数据报前加上一个身份验证报头,报头中有一个带密钥的Hash值。
可单独使用,也可以和ESP协议结合使用。
ESP封装安全载荷协议
能够对数据进行完整性度量,来源认证和加密,防止重放攻击。
ESP服务依据建立的SA,对可选项目有所限制
- 完整性检查和验证一起进行
加密服务是可选的。启用加密,那么也就启用了完整性检车和认证。
一般情况下,ESP只加密数据报中有效载荷部分(传输模式),在端对端的隧道通信下,需要开启隧道模式。
ESP报头位置在IP报头之后,在TCP,UDP报头之前。
可以与AH协议结合使用,也可以单独使用。
Tunnel隧道模式
加密原IP报文,作为数据内容,在这段数据内容之前,加上ESP或AH协议头,加上新的IP头,形成IPSec报文进行传输。
Transport Mode传输模式
仅保护IP报文中的有效载荷部分,在该过程中原报文结构被修改。然后在修改后有效载荷前加上新的ESP或AH协议头,装回原来的IP地址,形成IPSec报文。
SA
安全关联。可以认为是某一连接被IPSec保护的唯一标识。
SA是单向的,一次连接,通信双方都需要创建一个SA。
SAD
安全关联数据库。
SAD条目:
- 顺序号计数器
- 顺序号溢出计数器
- 防止回放窗口
- SA有效期
- AH协议中所使用的算法和密钥
- ESP协议 涉及加密认证的算法和密钥
- IPSec运行模式
- PMTU 两个通信设备间的MTU
除了SAD外还有 SPI,SPD,IKE
ESP协议
1. 主要了解隧道模式下IPSec数据报结构。
新IP头 + ESP头 + 加密原数据报 + 加密ESP尾 + ESP的MAC验证码
2. 传输模式下的IPSec数据报结构
原IP头+ESP头+加密的原IP数据报文+加密的ESP尾+ESP-MAC
AH协议
不加密,供验证。消息高,不防窃听。
IKE 因特网密钥交换
几种IKE协议。
ISAKMP:用于建立SA,密钥。
Oakley:允许在非安全连接中安全交换密钥
SKEME:安全密钥交换机制。
Gateway 模式和Road Warrior模式
IPSec适用于:
- 两个私有网络通过因特网对接
- 因特网接入私有网络
需要保护好通信数据。
Gateway模式是网关之间的通信,只需要在网关上设置好IPSec模式。
Road Warrior模式一头是网关,另外一头是单个客户端。
注: 私有网络内部主机默认为安全,没有必要对私有网络中的每一个设备配置IPsec