第6章 IP安全 曾雪梅 zengxm@scu.edu.cn
主要内容 IP安全概述 IP安全体系结构 认证头 封装安全负载 结合的安全联盟 密钥管理
背景知识-网络互连和Internet协议
OSI模型的数据流传输过程 Data AH PH SH TH NH DH DT 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层
背景知识-网络互连和Internet协议 x
路由器必须能协调各个网络的不同特性 寻址方案:提供全局网络的寻址格式 最大报文尺寸(MTU) 接口:不同网络的的硬件和软件接口不同 可靠性:路由器的运行不以网络可靠性为前提
IPv4 报头
IPv6 报头
以IPv4为代表的TCP/IP协议簇存在的安全脆弱性 主要四点: IP协议没有为通信提供良好的数据源认证机制。仅采用基于IP地址的身份认证机制,用户通过简单的IP地址伪造就可以冒充他人。 IP协议没有为数据提供强的完整性保护机制。虽然通过IP头的校验和为IP分组提供一定程度的完整性保护,但这对蓄意攻击者远远不够,他可以在修改分组后重新计算校验和。因此,需要在IP层对分组提供一种强的数据完整性保护机制。 IP协议没有为数据提供任何形式的机密性保护。网上的任何信息都以明文传输,无任何机密而言,这已经成为电子商务应用的瓶颈问题。因此,对IP网的通信数据的机密性保护势在必行。 协议本身的设计存在一些细节上的缺陷和实现上的安全漏洞,使各种安全攻击有机可乘。
6.1 IP 安全概况 如何解决? ——实现IP层的安全(IPSec) S/MIME、PGP、Kerberos、WEB安全访问的共同点? ——应用层的特定的安全机制 其它安全需求: 加密传输数据 验证进入的数据 允许连接到不需要加密传输的网站 如何解决? ——实现IP层的安全(IPSec)
6.1 IP 安全概况(2) IP层安全保障的三种机制: 认证 信息机密性 密钥管理
6.1 IP 安全概况(3) CERT1998年的年底报告,列出了1300多个安 全事故报告;2001年度报告,罗列了52000多件网络安全时间 最严重的攻击类型包括IP电子欺骗 1994年,Internet体系结构委员会提出了RFC1636,即Security in the Internet Architechure(Internet体系结构中的安全)
6.1.1 IPSec应用 典型应用 IPSec提供了跨保障局域网、跨私有/公共广域网以及跨Internet的安全通信能力。 通过Internet进行企业部门间的安全连接:建立虚拟专用网VPN 通过Internet进行安全的远程访问:满足远程安全访问内部网络的功能 与合作伙伴之间建立外部网络和内部网连通:保证与其他组织的通信 增加电子商务安全性:增强WEB和电子商务的安全性
IPSec的典型应用场景
6.1.2 IPSec的优势 应用于防火墙或路由器时,提供更强的安全保证; 防火墙可以防止外部数据流的旁路,充当Internet和组织内部连接的唯一通道; 工作在传输层之下,对应用透明的; 对终端用户是透明的; 可以为个人用户提供必要的安全.
6.1.3 路由应用 IPSec在路由系统中可保证: 来自授权路由器的路由器广播 来自授权路由器的邻居广播 来自于接收消息的路由器的重定向消息 路由更新不会被伪造
6.2 IP 安全体系结构 6.2.1 IPSec 文档: RFC 2401: 安全体系结构概述 RFC 2402: IPV4和IPv6的报文认证扩展描述 RFC 2406: IPv4 和 IPv6报文加密扩展描述 RFC 2408:密钥管理功能规范
6.2.1 IPsec文档(2) 其他IP安全协议工作组发布的文档: 体系结构 封装安全有效负载 认证头 加密算法 认证算法 密钥管理 解释域
6.2.1 IPsec文档(3)
6.2.2 IPSec服务 实现安全功能的两种协议: 提供的主要服务 由协议头指定的认证协议,即认证头(AH) 由协议报文格式指定的组合的加密/认证协议,即封装安全有效负载(ESP) 提供的主要服务 访问控制 无连接完整性 数据源认证 丢弃重放的报文 机密性 有限的数据流机密性
6.2.3 安全联盟 (SA) 安全关联SA SA通过三个参数进行惟一指定: 通信对等方之间为了给需要受保护的数据流提供安全服务时而对某些要素的一种协定 。 一个发送者和接收者之间的单向的连接关系,为其上传输的数据提供安全服务。 SA通过三个参数进行惟一指定: 安全参数索引 (SPI) IP 目的地址 安全协议标识符 在任何一个IP报文中,SA通过数据报中的目的地址和封装在扩展头(AH/ESP)中的安全参数索引(SPI)惟一确定
6.2.4 传输模式和隧道模式 AH和ESP都支持两种工作模式 传输模式 隧道模式 传输模式是 IPSec 的默认模式,保护的IP数据包载荷(payload),用于端对端(客户端和服务器间)的通信保护。传输模式下,IPSec 只对 IP 负载(payload)进行加密和鉴别。传输模式通过 AH 或 ESP两种方式对 IP 负载提供保护 隧道模式 隧道模式保护的是整个IP数据包。原始数据包加安全域被当做一个新IP数据包的载荷并拥有一个新的外部IP报头。通过“隧道”从IP网络的一端传输到另一端,沿途路由器不能检查内部IP报头。适用于当SA的一或两端都是安全网关(Router/Firewall)。防火墙或路由器实现了IPSec则防火墙之后的网络主机可以不用实现IPSec而参加安全通信。隧道模式中,ESP加密和认证(可选)整个内部IP包,AH认证整个内部IP包和外部IP报头中的选中部分
6.3 认证头(AH) 提供对IP包的数据完整性和鉴别(验证)服务. 防止重放攻击
6.3.1抗重放攻击服务 重放攻击 是指攻击者在获得认证的报文副本之后又故意地将其传送到该目的地址 在接受到认证的IP报文的副本后,接收端的某些服务可能会瘫痪,也可能会产生其他一些后果。 序号域用于抵抗此类攻击
6.3.1抗重放攻击服务
6.3.2完整性校验值 认证数据域包含了完整性校验值(ICV),ICV是一个消息认证码或是MAC算法产生的代码的削减版本 MAC计算参数: IP头字段、AH头中除认证数据以外的其他域、全部的上层协议 对IP包头的验证只能选择不可变字段和可变但可预测的字段 不可变字段:头长度、源地址等 可变但可预测字段:目的地址(松散源路由或紧致源路由) 可变的:生存期(TTL、报头校验和)
6.3.3 AH中的传输和隧道模式 端到端的身份验证:身份验证直接由服务器和客户机工作站提供使用传输模式SA
应用AH之前 Hop-by-hop options Routing Fragment Destination options Authentication Encryption Security Payload Header
传输模式 (AH 认证) 传输模式保护所有IP包的有效负载 传输模式主要用于两个主机之间端对端的通信 传输模式中AH认证IP的有效负载和选择的IP报头
隧道模式 (AH认证) 隧道模式提供对所有IP包的保护 隧道模式通常在SA的一端或两端都是安全网关时使用 隧道模式中使用AH验证 使用隧道模式,整个初始IP包均由AH进行保护,AH插在初始IP 报头和新的外部IP报头之间
6.4 封装安全负载(ESP) ESP 提供保密性服务,包括对消息内容的保密性和有限的的通信流量的保密性 可选认证服务 ESP格式
6.4.2 加密和认证算法 加密: 认证: Three-key triple DES RC5 IDEA Three-key triple IDEA CAST Blowfish 认证: HMAC-MD5-96 HMAC-SHA-1-96
6.4.3填充 填充字段的几个目的: 加密算法要求明文长度是某个固定字节数的倍数,填充域可以用来扩展明文至需要的长度。 用于保证对齐 隐藏有效负载的真实长度。
6.4.4 ESP中的传输和隧道模式 1.传输模式ESP 传输模式ESP用于加密,还可以选择用来验证IP运载的数据
1.传输模式ESP(2)
1.传输模式ESP(3) 传输模式的操作 在源端加密包含ESP报尾的整个传输层数据段的数据块,用加密的密文替换该数据块的明文,以形成传输的IP报文 发送给目的地址,每个中间的路由器需要检查和处理IP头以及明文形式的IP扩展头,但不需要检查密文 目的节点检查并处理IP头以及明文形式的IP扩展头,然后在ESP头中的SPI,目的节点主机对报文的其余部分进行解密操作以恢复传输层段的明文形式 传输模式为使用它的应用程序提供了机密性支持,从而避免了在每一个单独的应用上都施加加密机制的麻烦。
2.隧道模式ESP 隧道模式ESP用来对整个IP包进行加密
2.隧道模式ESP ESP报头加在包的前面,然后加密包的ESP报尾,并重新生成IP报头
2.隧道模式ESP(2) 例:外部主机希望与由防火墙保护的内部网络的主机进行通信,且外部主机与防火墙实施了ESP,所进行的操作过程: 源端准备一个内部IP报文,目的地址为内部网络的目的主机的地址,使用用ESP报头做前缀,包和ESP报尾进行加密,同进可能会附加一些认证信息,最后用新的IP报头封装,目标地址是防火墙,形成外部IP包 外部IP报文路由 到目的防火墙,每个中间的路由器都需要检查和处理外部IP报文头以及外部IP报文扩展头,但不检查密文 目标防火墙检查和处理外部IP头以及所有外部IP扩展头,然后根据ESP头和SPI,目标节点对包的其余部分进行解密,以恢复明文内部IP包 内部报文经过内部零个或多个路由器到达目的主机。
传输模式和隧道模式功能比较 传输模式 SA 隧道模式 SA AH ESP 带认证功能的ESP 对IP报文有效负载、IP头以及IPv6的扩展头的选定部分进行认证 对整个内部IP报文、外部IP头以及外部IPv6扩展头的选定部分进行认证 ESP 对IP报文有效负载以及ESP头之后的IPv6扩展头进行加 密 对内部IP报文进行加密 带认证功能的ESP 对IP有效负载和ESP头之后的IPv6扩展头进行加密。对IP有效负载进行认证,但不对IP头进行认证。 对内部IP报文进行加密和认证。
6.5结合的安全联盟 单独的安全联盟仅能实现AH或ESP协议之一 安全联盟束是一个安全联盟序列,通过安全联盟束可以保证数据流获得相应的IPSec服务。 SA的组合方式: 传输邻接:对相同的IP包应用多个安全协议,而不调用隧道。组合AH和ESP的方法仅仅允许单层组合 迭代隧道:通过IP隧道起作用的多层安全协议,允许多层嵌套。
6.5.1 认证加机密性 1.带认证选项的ESP 用户首先将ESP协议应用于要保护的数据,然后追加认证数据域。 两种情况: 传输模式ESP:认证和加密机制应用于IP有效负载,但IP报头不受保护 隧道模式ESP:认证机制应用于发送到外部IP目标(如防火墙)的整个IP报文,认证机制是在目的地址处实现的
6.5.1 认证加密性(2) 2.传输邻接 用两个安全联盟构成一个安全联盟束,内部的是一个ESP安全联盟,外部的是一个AH安全联盟,加密应用于IP有效负载 AH用于传输模式,所以认证覆盖了ESP、原始的IP头(及其扩展),但不包括可变域。 优点: 身份验证可以覆盖更多的域 缺点: 需要两个安全联盟的开销。
6.5.1 认证加密性(3) 3.传输-隧道束 在加密前使用认证的好处: 一种传输-隧道束方法: 由于认证数据是被加密保护的,这使得任何人都不可能不留痕迹地截获该信息并进行修改 在目标位置将认证信息和消息存储在一起是有用的,以备将来参考 认证信息应用到未加密的消息上,验证更加方便 一种传输-隧道束方法: 使用一个SA包,它由一个内部AH传输SA和一个外部ESP隧道SA构成。 首先认证被应用于IP有效负载、IP头和扩展 然后,IP包由ESP协议隧道模式处理 结果,加密已认证的整个内部包并附加一个新的外部IP报头和扩展
6.5.2 安全联盟的基本结合 IPSec体系结构文档给出了4种必须由IPSec主机与网关支持的SA结合模式 每个SA可以是AH或ESP。对于主机到主机之间的SA,模式可以是传输或隧道。其他情况只能是隧道模式
情形1 所有安全性都在末端系统中提供。可能的结合形式: AH用于传输模式 ESP用于传输模式 ESP跟随AH用于传输僷式(ESP安全联盟在AH安全联盟之内 以上三种的任意一种包含在AH或ESP之内,工作在传输模式下
情形2 仅在网关之间提供了安全性,没有主机实施了IPSec 隧道可以支持AH、ESP或带认证选项的ESP
情形3 网关到网关之间的隧道为终端系统之间的数据流量提供了认证机制或者机密性机制,或同时提供这两种服务. 个人主机用户通过利用端到端的安全联盟也可以获得特定的应用程序所需要的IPSec服务.
情形4 支持远程用户通过Internet到达某组织的防火墙,并获得对防火墙后的服务器或工作站的访问权限,在远程用户与防火墙之间只需要隧道模式。
6.6 密钥管理 IPSec的密钥管理包括密钥的确定和分发 典型情况需要四个 密钥,分别用于AH和ESP协议的两对 密钥 两种类型: 手工密钥管理 自动密钥管理 Oakley 密钥决定协议 Internet 安全联盟和密钥管理协议 (ISAKMP)
6.6.1 Oakley密钥决定协议 Oakley是Diffie-Hellman密钥交换算法的进一步精化,保留其优点,并克服其缺点设计的 应用cookie防止阻塞攻击 授权通信双方协商一个共享集合,即Diffie-Hellman密钥交换的全局参数 使用临时值以防止重放攻击 允许Diffie-Hellman公钥值的交换 对Diffie-Hellman公钥值的交换进行认证,以防止中间人攻击 三种认证方法: 数字签名 公钥加密 对称密钥加密
6.6.2 ISAKMP ISAKMP定义了建立、协商、修订以及删除安全联盟的过程和报文格式 定义了交换密钥生成和认证数据的有效负载格式,这些有效负载格式提供了一个不依赖于特定的密钥交换协议、加密算法和认证机制的、适应性较好的框架。
ISAKMP格式
ISAKMP交换类型 NONCE: 临时值 KE:密钥交换负载,支持多种密钥交换技术 ID:标识,用于交换标识信息
ISAKMP交换类型(2)