1 / 53

IPSec : AH 和 ESP

IPSec : AH 和 ESP. 薛开平( Xue Kaiping ) 信息网络实验室 Lab. of Information and Networks kpxue@ustc.edu.cn. 本章内容. 3.1 IPSec 协议的引入 3.2 IPv4 和 IPv6 协议 3.3 IPSec 中的安全组合( SA ) 3.4 认证头标 AH 3.5 封装安全载荷头标 ESP 3.6 IPSec 的传输模式与隧道模式 3.7 IPSec 与 NAT 3.8 IPSec 隧道模式的应用 -VPN 3.9 IPSec 的实现. 本章内容.

lalasa
Download Presentation

IPSec : AH 和 ESP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IPSec:AH和ESP 薛开平(Xue Kaiping) 信息网络实验室 Lab. of Information and Networks kpxue@ustc.edu.cn

  2. 本章内容 • 3.1 IPSec协议的引入 • 3.2 IPv4和IPv6协议 • 3.3 IPSec中的安全组合(SA) • 3.4 认证头标AH • 3.5 封装安全载荷头标ESP • 3.6 IPSec的传输模式与隧道模式 • 3.7 IPSec与NAT • 3.8 IPSec隧道模式的应用-VPN • 3.9 IPSec的实现

  3. 本章内容 • 3.1 IPSec协议的引入 • 3.2 IPv4和IPv6协议 • 3.3 IPSec中的安全组合(SA) • 3.4 认证头标AH • 3.5 封装安全载荷头标ESP • 3.6 IPSec的传输模式与隧道模式 • 3.7 IPSec与NAT • 3.8 IPSec隧道模式的应用-VPN • 3.9 IPSec的实现

  4. IP Security Protocols • IPSec(IP Security)是Internet的网络层安全协议,于1995年8月发布IPSec 1.0,1998年11月发布了IPSec 2.0,同时支持IPv4和IPv6,它规定了: • IPSec的整体结构(RFC4301,2411) • IPSec协议(认证与加密)(RFC4302,4303,4305,2403) • 密钥管理协议(RFC4304,4306,2412)

  5. 为什么需要IPSec? • 计算机网络的安全性能差,存在众多安全隐患。 • 如伪造、篡改、重放、窃听 • 安全保护的范围 • 点到点(链路):由于IP分组头要用来寻路,在路由器上需要相应的安全操作(如认证或加解密) • 端到端:只需要在收发两端进行安全操作

  6. Security Protocol Layers

  7. 本章内容 • 3.1 IPsec协议的引入 • 3.2 IPv4和IPv6协议 • 3.3 IPSec中的安全组合(SA) • 3.4 认证头标AH • 3.5 封装安全载荷头标ESP • 3.6 IPSec的传输模式与隧道模式 • 3.7 IPSec与NAT • 3.8 IPSec隧道模式的应用-VPN • 3.9 IPSec的实现

  8. IPv4和IPv6协议 • IPv4协议——Internet的网络层协议

  9. IPv6协议 • Version – 4 bit IP version (6) • Traffic Class – 8 bit priority value • Flow Label – 20 bit • Payload Length – 16 bit length of packet • Includes all extension headers plus user data • Allows for 216 – 1 (65,535) bytes • Optional Extension Headers allow for larger packet sizes • Next Header – 8 bit identifier of next header • Hop Limit – 8 bit value denoting number of hops left before packet is dropped • Source Address – 128 bit address of sending host • Target Address – 128 bit address of target host

  10. IPv6地址 • 128位地址可产生2128个地址=3.4x1038。 • 理论上说,地球上每平方米有665,570,793,348,866,943,898,599个IPv6地址. • 实际分析表明,地球上每平方米可用的IPv6地址数为1564 - 3,911,873,538,269,506,102 • 表示方法采用十六进制冒号分割法 • 如1025:1ab6:0:0:0:87:a76f:1234 • 以上地址还可表示为1025:1ab6::87:a76f:1234 • 混合表示::FFFF:129.144.52.38 • 地址前缀表示:IPv6地址/前缀长度

  11. Traffic class IPv4与IPv6头标比较 • V6: 6 fields + 2 addr • V4: 10 fields + 2 addr + options • Deleted: • Header length • type of service • identification, flags, fragment offset • Header Checksum • Added: • Traffic class • Flow label • Renamed: • length -> Payload length • Protocol -> Next header • time to live -> Hop Limit • Redefined: Option mechanism

  12. IPv6 extension headers • 中继点选项(Hop-by-hop options) • 寻路头标(Routing) • 分段头标(Fragment) • 信宿选项(Destination options) • 认证头标(Authentication) • 封装安全载荷头标(Encapsulating Security Payload )

  13. Extension Header Order • IPv6 Header • Hop by Hop Options Header • Destination Options Header 1 • Routing Header • Fragmentation Header • Authentication Header • Encapsulating Security Payload Header • Destination Options Header 2

  14. Application data abcdefghi abc def ghi TCP TCP TCP abc abc TCP TCP def def TCP TCP ghi ghi IP IP IP IP Data in TCP/IP

  15. Application data abcdefghi abc def ghi TCP TCP abc TCP def TCP ghi IP/IPSec IP IP IP IPSec IPSec IPSec TCP TCP TCP uvw xyz lmn Data in TCP/IPSec/IP

  16. 本章内容 • 3.1 IPsec协议的引入 • 3.2 IPv4和IPv6协议 • 3.3 IPSec中的安全组合(SA) • 3.4 认证头标AH • 3.5 封装安全载荷头标ESP • 3.6 IPSec的传输模式与隧道模式 • 3.7 IPSec与NAT • 3.8 IPSec隧道模式的应用-VPN • 3.9 IPSec的实现

  17. 3.3 IPSec中的安全组合(SA) • 需求:认证、加密算法及其参数、密钥、当前正在使用的序列号等 • SA:为使通信双方的认证/加密算法及其参数、密钥的一致,相互间建立的联系被称为安全组合或安全关联(Security Association)。数据传输是双向的,不同方向可能存在不同的策略,因此SA是单向的,在双向通信时要建立两个SA。对于某一主机来说,某个会话的输出数据和输入数据流处理需要两个独立的SA。 • SA是通过密钥管理协议在通信双方之间进行协商,协商完毕后,双方都在它们的安全关联数据库(SAD)中存储该SA参数。 • SA由一个三元组唯一地标识,该三元组为安全参数索引SPI、一个用于输出处理的目的IP地址和协议(如AH或ESP)。

  18. 安全参数索引(SPI) • SPI是为了唯一标识SA而生成的一个32位整数,由目的端确定。包含在AH头标和ESP头标中,其值1~255被IANA留作将来使用,0被保留,目前有效的值为256~232-1 • 有了SPI,相同源、目的节点的数据流可以建立多个SA

  19. 安全策略数据库 • 安全策略数据库(SPD) • SPD中包含一个策略条目的有序表,通过使用一个或多个选择符来确定每一个条目。 • 选择符可以是五元组(目的/源地址,协议,目的/源端口号),或其中几个,理论上可以根据数据包的任何一个域来确定。 • 条目中包含: • 策略(是否需要IPSec处理):丢弃,绕过不使用IPSec,加载IPSec • SA规范 • IPSec协议(AH or ESP) • 操作模式 • 算法 • 对外出处理,应在SPD中查找指向SAD中SA的指针

  20. 安全关联数据库(SAD) • SAD包含现行的SA条目,每个SA由三元组索引,一个SAD条目包含下面域: • 序列号计数器:32位整数,用于生成AH或ESP头中的序列号 • 序列号溢出:是一个标志,标识是否对序列号计数器的溢出进行审核。 • 抗重放窗口:使用一个32位计数器和位图确定一个输入的AH或ESP数据包是否是重放包 • AH的认证算法和所需密钥 • ESP的认证算法和所需密钥 • ESP加密算法,密钥,初始向量(IV)和IV模式 • IPSec操作模式 • 路径最大传输单元(PMTU) • SA生存期

  21. IPSec体系结构

  22. 本章内容 • 3.1 IPsec协议的引入 • 3.2 IPv4和IPv6协议 • 3.3 IPSec中的安全组合(SA) • 3.4 认证头标AH • 3.5 封装安全载荷头标ESP • 3.6 IPSec的传输模式与隧道模式 • 3.7 IPSec与NAT • 3.8 IPSec隧道模式的应用-VPN • 3.9 IPSec的实现

  23. 3.4 认证头标AH (Authentication Head) • AH协议提供无连接的完整性、数据源认证和抗重放保护服务 • 不提供保密性服务 • AH使用消息认证码(MAC)对IP进行认证

  24. 认证头标 • 安全参数索引(Security Parameters Index):此32比特和目的IP地址、IPSec协议(AH或ESP)组合即可确定SA,以确定采用的IPSec协议、操作模式、密码算法、密钥等。当建立新SA时,SPI的产生由目的系统选择。

  25. 认证头标 • 序列号(Sequence Number Field):单调增加的32位无符号整数,利用该域抵抗重发攻击(Replay Attack)

  26. 序列号的使用-防止重放 • 接收到包含在窗口中的新包,且验证通过,则直接进行标记; • 接收包超过了窗口右边界,且验证通过,则窗口右移,使得新包成为右边界; • 接收包超过了左边界或者没有通过验证,丢弃该包。

  27. 认证头标 • 认证数据(Authentication Data Variable):是一个长度可变的域,长度为32比特的整数倍。具体格式因认证算法而异 。该认证数据也被称为数据报的完整性校验值(Integrity Check Value, ICV)

  28. AH处理 • 外出处理 • 使用相应的选择符(目的IP地址,端口号和传输协议)查找安全策略数据库获取策略。如需要对分组进行IPSec处理,且到目的主机的SA已经建立,那么符合分组选择符的SPD将指向外出SA数据库的一个相应SA束。如果SA还未建立,IPSec将调用IKE协商一个SA,并将其连接到SPD条目上。 • 产生或增加序列号,当一个新的SA建立时,序列号计数器初始化为0,以后每发一个分组,序列号加1 • 计算ICV(完整性校验值) • 转发分组到目的节点

  29. AH处理 • 进入处理 • 若IP分组采用了分片处理,要等到所有分片到齐后重组 • 使用IP分组头中的SPI、目的IP地址以及IPSec协议在进入的SA数据库中查找SA,如果查找失败,则抛弃该分组,并记录事件。 • 使用已查到的SA进行IPSec处理。 • 使用分组中的选择符进入SPD查找一条域选择符匹配的策略,检查策略是否相符 • 检查序列号,确定是否为重放分组 • 使用SA指定的MAC算法计算ICV,并与认证数据域中的ICV比较,如果两值不同,则抛弃分组

  30. 完整性校验值ICV的计算 • 根据SA指定的认证算法和密钥对IP分组计算出消息认证码(MAC)。 • MAC的计算包括IP头标,计算前先将可变域置0,不变域和可预测域保持不变。但在隧道模式下,内部IP头标的可变域不用设为0。 • ICV的长度依赖于使用的MAC算法,例如,HMAC-MD5的ICV是128位,HMAC-SHA1的ICV是160位。如果ICV不是32的整数倍,就需要填充成32的整数倍。

  31. 本章内容 • 3.1 IPsec协议的引入 • 3.2 IPv4和IPv6协议 • 3.3 IPSec中的安全组合(SA) • 3.4 认证头标AH • 3.5 封装安全载荷头标ESP • 3.6 IPSec的传输模式与隧道模式 • 3.7 IPSec与NAT • 3.8 IPSec隧道模式的应用-VPN • 3.9 IPSec的实现

  32. 3.5 封装安全载荷头标Encapsulating Security Payload • ESP提供数据保密、无连接完整性、抗重播服务 • ESP大都采用对称密码体制加密数据 • ESP使用消息认证码(MAC)提供认证服务

  33. 封装安全载荷头标

  34. 填充的目的 • 加密算法要求明文为某个数目字节的整数倍; • 32位对齐; • 隐藏实际载荷长度,提供流量保密性

  35. ESP处理 • 外出处理 • 使用分组的相应选择符(目的IP地址、端口、传输协议等)查找安全策略数据库(SPD)获取策略,如分组需要IPSec处理,且其SA已建立,则与选择符相匹配的SPD项将指向安全关联数据库中的相应SA,否则则使用IKE建立SA。 • 生成或增加序列号 • 加密分组,SA指明加密算法,一般采用对称密码算法 • 计算完整性校验值

  36. ESP处理 • 进入处理 • 若IP分组分片,先重组 • 使用目的IP地址、IPSec协议、SPI进入SAD索引SA,如果查找失败,则丢弃分组 • 使用分组的选择符进入SPD中查找与之匹配的策略,根据策略检查该分组是否满足IPSec处理要求 • 检查抗重播功能 • 如SA指定需要认证,则检查数据完整性 • 解密

  37. 本章内容 • 3.1 IPsec协议的引入 • 3.2 IPv4和IPv6协议 • 3.3 IPSec中的安全组合(SA) • 3.4 认证头标AH • 3.5 封装安全载荷头标ESP • 3.6 IPSec的传输模式与隧道模式 • 3.7 IPSec与NAT • 3.8 IPSec隧道模式的应用-VPN • 3.9 IPSec的实现

  38. IPSec的传输模式与隧道模式 • 传输模式 • 在传输模式中,AH和ESP头标被插在IP头标及其他选项(或扩展头标)之后,但在传输层协议之前。它保护净荷的完整性和机密性。 • 隧道模式 • 在隧道模式下,AH或ESP头标插在IP头标之前,另外生成一个新的IP头放在前面,隧道的起点和终点的网关地址就是新IP头的源/目的IP地址。 • 保护整个IP分组

  39. IPsec的传输模式与隧道模式

  40. IPSec Uses • 优点: • 对边界所有流量强制实现安全性,内部网络无需关注开销; • 对上层协议、终端用户透明 • 构建安全的虚拟专用网

  41. 本章内容 • 3.1 IPsec协议的引入 • 3.2 IPv4和IPv6协议 • 3.3 IPSec中的安全组合(SA) • 3.4 认证头标AH • 3.5 封装安全载荷头标ESP • 3.6 IPSec的传输模式与隧道模式 • 3.7 IPSec与NAT • 3.8 IPSec隧道模式的应用-VPN • 3.9 IPSec的实现

  42. IPSec与NAT • NAT(Network Address Translation) ,NATPT通常在防火墙或网关上实现,对过往的IP地址、端口号进行转换 • 具有AH头标或ESP头标的的IP分组不能穿越NAT和NATPT • 地址的修改使得接收端的AH认证失败 • 上层信息(端口号、校验和)的加密,使端口无法得知,校验和验证失败 • 针对ESP问题,IETF的解决方案:在ESP头标前插入一个UDP头标

  43. 本章内容 • 3.1 IPsec协议的引入 • 3.2 IPv4和IPv6协议 • 3.3 IPSec中的安全组合(SA) • 3.4 认证头标AH • 3.5 封装安全载荷头标ESP • 3.6 IPSec的传输模式与隧道模式 • 3.7 IPSec与NAT • 3.8 IPSec隧道模式的应用-VPN • 3.9 IPSec的实现

  44. 3.8 IPSec隧道模式的应用-VPN • VPN( Virtual Private Networks )虚拟专网 • 在虚拟专网中,任意两个节点之间的连接并没有传统专网所需的端到端的物理链路,而是利用某种公众网的资源动态组成的。 • IETF草案理解基于IP的VPN为:“使用IP机制仿真出一个私有的广域网” • 是通过隧道技术在公共数据网络上仿真一条点到点的专线技术。 • 所谓虚拟,是指用户不再需要拥有实际的专用线路,而是使用Internet公共线路。所谓专用网络,是指用户可以为自己制定一个最符合自己需求的网络。 • IPSec VPN就是利用IPSec技术在Internet上建立的VPN

  45. The Internet 虚拟专网的用途 实现: 通过隧道技术(协议)和一些认证、加密机制,实现跨越Internet的互连 背景: 跨国(地区)公司分支机构的LAN互连

  46. LAN间VPN

  47. 本章内容 • 3.1 IPsec协议的引入 • 3.2 IPv4和IPv6协议 • 3.3 IPSec中的安全组合(SA) • 3.4 认证头标AH • 3.5 封装安全载荷头标ESP • 3.6 IPSec的传输模式与隧道模式 • 3.7 IPSec与NAT • 3.8 IPSec隧道模式的应用-VPN • 3.9 IPSec的实现

  48. 3.9 IPSec的实现 • FreeBSD,OpenBSD • KAME:www.kame.net • OpenBSD Doc :www.openbsd.org/ • Linux • FreeS/Wan:www.swan.org • Openswan、StrongsWan是FreeS/Wan的延续 • Solaris • Cisco IOS (PIX and Routers) • Windows 2000

More Related