IPSec穿越NAT介绍.
IPSec穿越NAT的解决方法
UDP封装 当使用传输模式传送报文时,如果在传 输中IP头部发生变化,TCP或UDP头部将 包含错误的校验和,根据本地策略必须完 成以下任务之一。 在实现中可以对被NAT破坏的包含协议 进行修正。传输模式、隧道模式下ESP封 装的报文格式如图所示
IPsec的传输模式与隧道模式
IP head-n AH head ESP head IP head payload
隧道模式
Internet 主机 A 数据 加密后的数据 A B 数据 IP分组 (1)传输模式 Internet 主机 A IP分组 数据 A B A B 数据 LAN系统① 隧道
SPD:Security Policy Database (安全策略数据库)
可部署 协议兼容性 方向性 远程访问 防火墙兼容性 可扩展性 模式支持 后向兼容和互操作性 安全性
2、IPSec中的安全组合(SA)
需求:认证、加密算法及其参数、密钥 SA:为使通信双方的认证/加密算法及其参数、密钥的一致, 相互间建立的联系被称为安全组合或安全关联(Security Association)。由于SA是单向的,因此在双向通信时要建立 两个SA。对于某一主机来说,某个会话的输出数据和输入数据 流需要两个独立的SA。 SA是通过密钥管理协议在通信双方之间进行协商,协商完毕后, 双方都在它们的安全关联数据库(SAD)中存储该SA参数。 SA由一个三元组唯一地标识,该三元组为安全索引参数SPI、 一个用于输出处理的目的IP地址(或用于输入处理的源IP地址) 和协议(如AH或ESP)。
ESP尾标
ESP认证数据
ESP认证数据
IPSec穿越NAT的解决方法
编辑IP头中的总长字段、协议字段以 及校验和字段,使之与所得的报文相 匹配
穿越NAT对IPSec的影响
IPSec-NAT兼容性的安全考虑 IKE协商的安全考虑 UDP封装的安全考虑
IANA考虑
穿越NAT对IPSec的影响
ESP处理
进入处理
若IP分组分片,先重组 使用目的IP地址、IPSec协议、SPI进入SAD索引 SA,如果查找失败,则丢弃分组 使用分组的选择符进入SPD中查找与之匹配的策略, 根据策略检查该分组是否满足IPSec处理要求 检查抗重播功能 如SA指定需要认证,则检查数据完整性 解密
序列号(Sequence Number Field):单调增加的32位无 符号整数,利用该域抵抗重发攻击(Replay Attack)。 认证数据(Authentication Data Variable):是一个长度 可变的域,长度为32比特的整数倍。具体格式因认证算法而 异 。该认证数据也被称为数据报的完整性校验值(ICV)。
地址的修改使得接收端的AH认证失败 上层信息(端口号、校验和)的加密,使端口无法 得知,校验和验证失败 针对ESP问题,IETF的解决方案:在ESP头标前插 入一个UDP头标
IPSec穿越NAT存在的兼容性问题
NAT固有的问题 NAT实现方面的问题 辅助功能引入的问题
IPSec穿越NAT的兼容性要求
6、IPSec隧道模式的应用-VPN
VPN( Virtual Private Networks )虚拟专网 在虚拟专网中,任意两个节点之间的连接并没有传统 专网所需的端到端的物理链路,而是利用某种公众网 的资源动态组成的。 IETF草案理解基于IP的VPN为:"使用IP机制仿真出 一个私有的广域网“ 是通过隧道技术在公共数据网络上仿真一条点到点的 专线技术。 所谓虚拟,是指用户不再需要拥有实际的专用线路, 而是使用Internet公共线路。所谓专用网络,是指用 户可以为自己制定一个最符合自己需求的网络。 IPSec VPN就是利用IPSec技术在Internet上建立的 VPN
安全参数索引(Security Parameters Index):此32比特和目的(或源) IP地址、IPSec协议(AH或ESP)组合即可确定SA,以确定采用的IPSec 协议、操作模式、密码算法、密钥等。当建立新SA时,SPI的产生由目的 系统选择。
认证范围(IP头标中可变域除外) IP头标 AH头标 TCP/UDP头标 净荷(用户数据) (传输模式) 下一个头标(8) 净荷长度(8) SPI[安全参数索引(32比特)] 序列号 认证数据[长度可变(32比特的整数倍)] 保留(16)
IKE协商 在阶段l协商中,需要针对NAT执行2种探测: 探测是否支持NAT穿越; 探测在通信路径中是否存在NAT。 NAT可能会改变IKEUDP的源端口,因而接收 方必须能处理源端口不是500的IKE报文。
IPSec穿越NAT的解决方法
UDP封装 在进行UDP封装时,要进行一些辅助处 理。当使用隧道模式传送报文时,内部 IP头中会包含不适合当前网络的地址
虚拟专网的用途
The Internet
背景:
实现: 通过隧道技术(协 议)和一些认证、 加密机制,实现跨 越Internet的互连
跨国(地区)公司 分支机构的LAN互连
谢谢!
安全参数索引(SPI)
SPI是为了唯一标识SA而生成的一个32位整数。包含 在AH头标和ESP头标中,其值1~255被IANA留作将 来使用,0被保留,目前有效的值为256~232-1 有了SPI,相同源、目的节点的数据流可以建立多个 SA
安全关联数据库(SAD)
SAD包含现行的SA条目,每个SA由三元组索引,一个SAD 条目包含下面域:Байду номын сангаас
I P v 4 分 组 <原IPv4分组> 原IP头标 TCP头标 数据
①加上AH头标后的IPv4分组 原IP头标 AH头标 TCP头标 数据 传 认证范围(IP头标中可变域除外) 输 ESP净荷 模 ②加上ESP后的IPv4分组 式 原IP头标 ESP头标 TCP头标 数据 加密范围 认证范围 ①加上AH头标后的IPv4分组 新IP头标 AH头标 原IP头标 TCP头标 数据 隧 认证范围(新IP头标中可变域除外) 道 ESP净荷 模 ②加上ESP后的IPv4分组 式 新IP头标 ESP头标 原IP头标 TCP头标 数据 ESP尾标 加密范围 认证范围
IPSec-NAT兼容性的安全考虑 IKE协商的安全考虑 UDP封装的安全考虑 IANA考虑
穿越NAT对IPSec的影响
IPSec-NAT兼容性的安全考虑 IKE协商的安全考虑 UDP封装的安全考虑 IANA考虑
穿越NAT对IPSec的影响
IPSec-NAT兼容性的安全考虑 IKE协商的安全考虑 UDP封装的安全考虑 IANA考虑
加密头标ESP
ESP提供数据保密、无连接完整性、抗 重播服务 ESP大都采用对称密码体制加密数据, 这是因为公钥密码系统的运算量要比对 称密钥系统大得多 ESP使用消息认证码(MAC)提供认证 服务
加密头标
认证范围 ESP净荷 IP头标 ESP头标 TCP/UDP头标 净荷 (用户数据) 加密范围 SPI[安全参数索引(32比特)] 序列号(32比特) 净荷数据(变长) ESP尾标 ESP (认证数据)
IPSec穿越NAT介绍
赵有星 中国海洋大学
主要内容
1. 2. 3. 4. 5.
6.
IPSec介绍及存在问题 IPSec中的安全组合(SA) 认证头标AH与加密头标ESP IPSec的传输模式与隧道模式 IPSec穿越NAT的解决方法及其影响 IPSec隧道模式的应用-VPN
IPSec 介绍
IPSec(IP Security)是Internet的网络 层安全协议,于1995年8月发布IPSec 1.0, 1998年11月发布了IPSec 2.0,同时支持 IPv4和IPv6,它规定了:
IP分组的头标 (源地址A目的地址B) 主机 A B B
主机 网 关 x (SPD) 数据 A B X Y X Y A B 数据 网 关 Y (SPD) 加密后的数据 原IP分组头标 网关间用的新IP头标 LAN系统② 数据 A B A B 数据 B
(2)隧道模式
5、IPSec穿越NAT的解决方法
~ ~
填充(0~255字节) 填充长度(8比特) 认证数据(变长) 下一个头标(8比特)
ESP处理
外出处理
使用分组的相应选择符(目的IP地址、端口、传输 协议等)查找安全策略数据库(SPD)获取策略, 如分组需要IPSec处理,且其SA已建立,则与选择 符相匹配的SPD项将指向安全关联数据库中的相应 SA,否则则使用IKE建立SA。 生成或增加序列号 加密分组,SA指明加密算法,一般采用对称密码算 法 计算完整性校验值
4、IPSec的传输模式与隧道模式
传输模式 IP head
AH head
ESP head
payload
在传输模式中,AH和ESP头标被插在IP头标及其他选项 (或扩展头标)之后,但在传输层协议之前。它保护净 荷的完整性和机密性。
在隧道模式下,AH或ESP头标插在IP头标之前,另外生 成一个新的IP头放在前面,隧道的起点和终点的网关地 址就是新IP头的源/目的IP地址。 保护整个IP分组
3、认证头标AH
AH协议提供无连接的完整性、数据源认 证和抗重放保护服务 不提供保密性服务 AH使用消息认证码(MAC)对IP进行 认证
认证头标
认证范围(IP头标中可变域除外) IP头标 AH头标 TCP/UDP头标 净荷(用户数据) (传输模式) 下一个头标(8) 净荷长度(8) SPI[安全参数索引(32比特)] 序列号 认证数据[长度可变(32比特的整数倍)] 保留(16)