1 / 60

计算机系统安全

计算机系统安全. 第十二章 IP 安全. IETF 的各个工作小组从不同角度解决互连网安全问题,形成一些 RFC 和草案: DNSSEC 工作组 RFC2137、2535、2541 研究 DNS 安全及 DNS 动态更新 WTS(Web Transaction Security) 工作组 建立 SHTTP 认证、完整性保护; RFC2084 SECSH 工作组 安全 Shell IPSEC 工作组 TLS 工作组( SSL 协议). Internet 安全协议. 一、 IP 安全概述. IP 安全面临的问题.

chet
Download Presentation

计算机系统安全

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. 计算机系统安全 第十二章 IP安全

  2. IETF的各个工作小组从不同角度解决互连网安全问题,形成一些RFC和草案:IETF的各个工作小组从不同角度解决互连网安全问题,形成一些RFC和草案: DNSSEC工作组 RFC2137、2535、2541 研究DNS安全及DNS动态更新 WTS(Web Transaction Security)工作组 建立SHTTP 认证、完整性保护;RFC2084 SECSH工作组 安全Shell IPSEC工作组 TLS工作组(SSL协议) Internet安全协议

  3. 一、IP安全概述 IP安全面临的问题 伪造IP包的地址;修改其内容 重播以前的包;拦截并查看包的内容 如何确保收到的IP数据报: 1)来自原先要求的发送方(IP头内的源地址); 2)包含的是发送方当初放在其中的原始数据; 3)原始数据在传输中途未被其它人看过。

  4. 一、IP安全概述 IPSec协议 IP安全是整个TCP/IP安全的基础与核心。它可对上层的各种应用服务提供透明的安全保护。IPv4没有考虑安全性,缺乏对通信双方身份的认证,缺乏对传输数据的保护,并且容易受窃听、IP地址欺骗等攻击。IPSec工作组于1994年成立,1995年8月公布了一系列建议标准: RFC2401:IP安全结构 RFC2406:AH; RFC2406:ESP RFC2409:IKE RFC2403:HMAC-MD5-96 RFC2404:HMAC-SHA-96

  5. 一、IP安全概述 IPSec概述 IPSec可保障主机之间、网络安全网关(如路由器或防火墙)之间或主机与安全网关之间的数据包的安全。 由于受IPSec保护的数据报本身不过是另一种形式的IP包,所以完全可以嵌套提供安全服务,同时在主机之间提供像端到端这样的认证,并通过一个隧道,将那些受IPSec保护的数据传送出去(隧道本身也通过IPSec受到安全网关的保护)。

  6. 一、IP安全概述 IPSec的协议 对IP数据报或上层协议进行保护的方法是使用某种IPSec协议:“封装安全载荷(ESP:Encapsulating Security Payload)”或者“认证头(AH:Authentication Header)”。 AH可证明数据的起源地、保障数据的完整性、防止相同数据包的重播。 ESP除具有AH的所有能力之外,还可选择保障数据的机密性,以及为数据流提供有限的机密性保障。

  7. AH ESP (加密) ESP (加密并认证) 访问控制 √ √ √ 无连接完整性 √ √ 数据来源认证 √ √ 对重放数据的拒绝 √ √ √ 保密性 √ √ 受限业务流的保密性 √ √ IPSec的安全业务

  8. 一、IP安全概述 密钥管理协议IKE 密钥管理协议IKE(Internet Key Exchange)用于动态地认证IPSec参与各方的身份、协商安全服务以及生成共享密钥等。 IPSec提供的安全服务需要用到共享密钥,它既可用于保障数据的机密性,亦可用于数据完整性(消息认证码MAC),或者同时应用于两者。 IPSec的运算速度必须够快,而现有公共密钥技术(如RSA或DSS)的速度均不够快。公共密钥技术仍然限于在密钥交换期间完成一些初始的认证工作。

  9. 二、结构 IPSec协议组成 安全关联SA (Security Association) 安全策略数据库SPD (Security Policy Database) 认证头AH (Authentication Head ) 封装安全载荷ESP(Encapsulation Security Payload) IKE(Internet密钥交换) ISAKMP/Oakley(密钥管理协议) ISAKMP:Internet Security Association and Key Management Protocol Oakley:是D-H密钥交换协议的改进

  10. 二、结构 结构图

  11. 二、结构 IPSec实施 IPSec既可在终端系统上实现,亦可在某种安全网关上实现(如路由器及防火墙)。 在主机中实施可以有两种方式: 1、与操作系统的集成实施。 2、在协议堆栈中的网络层和数据链路层之间实施。

  12. 二、结构 操作系统集成 IPSec作为网络层协议,可在网络层实现,由IP层的服务构建IP头。这个模型与其它网络层协议(比如ICMP)的实施等同。

  13. 二、结构 在协议堆栈中实施

  14. 二、结构 在主机实施的特点 a.保证端到端的安全性 b.能够实现所有的IPSEC安全模式 c.能够对每个数据流提供安全保障 d.在建立IPSEC的过程中,能够维持用户身份的认证。

  15. 二、结构 在路由器中实施 如果在路由器中实施,可在网络的一部分中对传输的数据包进行安全保护。 例如某公司只打算对传给地理位置分散的那些部门的数据实施保护,而且只在数据流经Internet的时候进行保护,从而构建自己的VPN或者内联网。IPSec实施方案通过对数据包进行“隧道传输”,从而实现了对它们的保护。

  16. 二、结构 IPSec两种不同的使用模式 传送模式:保护上层协议;用于两主机之间; 隧道模式:保护整个IP数据报;当一方为网关时。 原始IP包: IP头 + TCP头 + 数据 传送模式: IP头 + IPSec头 + TCP头 + 数据 隧道模式:新 IP头 + IPSec头 + IP头 + TCP头 + 数据

  17. 二、结构 安全关联 为正确封装及提取IPSec数据包,要将安全服务、密钥与要保护的通信数据联系到一起;同时要将远程通信实体与要交换密钥的IPSec数据传输联系起来。这样的方案称为安全关联(Security Association,SA)。 SA是构成IPSec的基础。它由两个通信实体协商建立。它们决定了用来保护数据包安全的IPSec协议、密钥以及密钥的有效存在时间等。任何IPSec实施方案都会构建一个SA数据库(SAD),由它来维护保障数据包安全的SA记录。

  18. 二、结构 安全关联 SA是单向进行的,它仅朝一个方向定义安全服务,要么对通信实体收到的包进行“进入”保护,要么对实体外发的包进行“外出”保护。SA由一个三元组唯一标识: 1)安全参数索引(SPI):存在于IPSec协议头内; 2)安全协议(AH、ESP)标识符; 3)目标IP地址:它同时决定了关联方向。 通常SA是以成对的形式存在的,每个朝一个方向。既可人工创建它,亦可采用动态创建方式。SA驻留在“安全关联数据库(SAD)”内。

  19. 二、结构 SA创建 若用人工方式加以创建,SA便会一直存在下去,除非再用人工方式将其删除。 若用动态方式创建,则SA有一个存活时间与其关联在一起。存活时间(TTL)由IPSec通信双方在密钥管理协议中协商。TTL非常重要,因为受一个密钥保护的通信量必须加以谨慎地管理。若超时使用一个密钥,会为攻击者侵入系统提供更多的机会。

  20. SAD用于定义每个SA的参数值: 顺序号:以AH/ESP报头中32位bit值表示 顺序号溢出标记:防止溢出数据报的传送 反重放窗口:收到的AH/ESP数据报是否重放 AH/ESP信息:认证/加密算法、密钥、有效期 SA有效期:该时间间隔之后,SA结束/被替代 IPSec协议模式:传输模式/隧道模式 路径最大传输单元:最大数据报长度(不分段) 安全关联数据库SAD

  21. 二、结构 安全策略数据库SPD SPD (Security Policy Database)定义了对所有出/入业务应采取的安全策略,为IP数据项提供什么服务以及以什么方式提供。对所有出/入包括非Ipsec业务的处理必须咨询SPD,处理有三种可能: 1)丢弃:不允许在此主机上存在,或不允许通过此网关。 2)绕过Ipsec:允许通过而无需Ipsec保护 3)采用Ipsec:对这种业务流,SPD要指明提供的安全服务,采用的协议及使用的算法等。

  22. 二、结构 安全策略 用户可以根据自己的要求,对不同的通信设定不同级别的安全策略。 例:在一个网络安全网关上制订IPSec策略,对本地子网与远程网关的子网间通信数据采用DES加密,并用HMAC-MD5进行认证;对从远程子网发给一个邮件服务器的所有Telnet数据用3DES进行加密,同时用HMAC-SHA进行认证;对于需要加密的、发给另一个服务器的所有Web通信数据,则用IDEA满足其加密要求,同时用HMAC-RIPEMD进行认证。

  23. 二、结构 安全参数索引(SPI ) SPI长度为32位,用于唯一地标识出接收端上的一个SA。作为两个主机秘密通信的协定, SA决定了密钥和加密算法等参数。必须采用某种机制,让通信源指出用哪个SA来保护数据包;而对通信的目的地,则需指出用哪个SA来检查收到的包是否安全。SPI是个任意数,一般是在IKE交换过程中由目标主机选定的。 SPI被当作AH和ESP头的一部分传送。接收主机使用<SPI,DST,Protocol>这个字元组来唯一地标定SA(DST是IP头中的目标地址;而protocol代表协议是AH或ESP)。

  24. 二、结构 消息认证码MAC MAC:使用一个保密密钥生成固定大小的小数据块,并加入到消息中,称MAC, 或加密和。 用户A和用户B,共有保密密钥K,消息M, MAC=CK(M) 1、接收者可以确信消息M未被改变。 2、接收者可以确信消息来自所声称的发送者; 3、如果消息中包含顺序码,则接收者可以保证消息的正常顺序; MAC函数类似于加密函数,但不需要可逆性。因此在数学上比加密算法被攻击的弱点要少。

  25. 二、结构 MAC的基本应用方式 • 1)消息认证 • AB: M||CK(M) • 2)消息认证+保密 • AB: EK2[ M||CK1(M)] • 3)消息认证+保密 • AB: EK2 [M]||CK1(EK2 [M])

  26. 三、封装安全载荷 封装安全载荷概述 ESP(Encapsulating Security Payload)属于IPSec的一种协议,可用于确保IP数据包的机密性、数据的完整性以及对数据源的身份认证。此外,它也要负责对重播攻击的抵抗。 具体做法是在IP头之后、需要保护的数据之前,插入一个新头——ESP头。受保护的数据可以是一个上层协议,或者是整个IP数据报。最后,还要在最后追加一个ESP尾。ESP是一种新的IP协议,对ESP数据包的标识是通过IP头的协议字段来进行的。

  27. ESP保护示意图 ESP原理

  28. 三、封装安全载荷 ESP格式

  29. 三、封装安全载荷 ESP格式 作为IPSec头,ESP头中会包含一个SPI字段。它和IP头之前的目标地址以及协议结合在一起,用来标识用于处理数据包的特定的SA。 通过序列号,ESP具有了抵抗重播攻击的能力。序列号是一个不重复的、单向递增的、由发送端插在ESP头的一个号码。 ESP保护的实际数据包含在载荷数据字段中。因此,这个字段的长度由数据长度决定。某些加密算法要用到初始化向量(IV),它也受到保护。

  30. 三、封装安全载荷 隧道模式 隧道模式下受ESP保护的一个IP包,下一个头是TCP 认证 加密

  31. 三、封装安全载荷 传输模式

  32. 三、封装安全载荷 加密与认证 由于ESP同时提供了机密性以及身份认证机制,所以在其SA中必须同时定义两套算法——用来确保机密性的算法叫作cipher(加密器),而负责身份认证的叫作authenticator(认证器)。每个ESP SA都至少有一个加密器和一个认证器。

  33. 三、封装安全载荷 处理外出数据包:传送模式 对在IPv4上运行的传送模式应用来说,ESP头跟在IP头后,IP头的协议字段被复制到ESP头的“下一个头”字段中,ESP头的其余字段则被填满—SPI字段分配到的是来自SAD的、用来对这个包进行处理的特定SA的SPI;填充序列号字段的是序列中的下一个值;填充数据会被插入,其值被分配;同时分配的还有填充长度值。随后,IP头的协议字段得到的是ESP的值,50。 除了头插入位置不同之外,IPv6处理规则基本上类似于IPv4。ESP头可插在任意一个扩展头之后。

  34. 三、封装安全载荷 处理外出数据包:隧道模式 对隧道模式应用来说,ESP头是加在IP包前面的。如果封装的是一个IPv4包,那么ESP头的“下一个头”字段分配到值4;如果封装的是一个IPv6包,则分配到值41。其他字段的填充方式和在传送模式中一样。随后,在ESP头的前面新增了一个IP头,并对相应的字段进行填充(赋值)—源地址对应于应用ESP的那个设备本身;目标地址取自于用来应用ESP的SA;协议设为50;其他字段的值则参照本地的IP处理加以填充。

  35. 三、封装安全载荷 加密认证 不管哪种模式下,接下去的步骤都是相同的。从恰当的SA中选择加密器(加密算法),对包进行加密(从载荷数据的开头,一直到“下一个头”字段)。随后,使用恰当的SA中的认证器,对包进行认证(自ESP头开始,中间经过加密的密文,一直到ESP尾)。随后,将认证器的结果插入ESP尾的“认证数据”字段中。 对外出数据包进行处理的最后一步是:重新计算位于ESP前面的IP头的校验和。

  36. 三、封装安全载荷 处理进入数据包 接收端在收到一个ESP包之后,若不对这个包进行处理,就无法得知它究竟处于隧道模式,还是传送模式。根据对这个包进行处理的SA,便可知道它到底处在什么模式下。但除非完成了对它的解密,实际上不可能知道ESP保护的是什么。 如果收到的IPSec包是一个分段,必须把它保留下来,直到这个包的其他部分收完为止。

  37. 三、封装安全载荷 处理进入数据包 收到ESP包后,首先要检查处理这个包的SA是否存在——这是基本的IPSec要求,而不是ESP专有的。如果没有SA,这个包就会被丢弃。 一旦认证通过了一个有效的SA,就可用它开始对包的处理。 首先检查序列号。 由于ESP身份认证密文而不是明文,接下来进行的便是对这个包进行身份认证。

  38. 三、封装安全载荷 处理进入数据包 然后是解密。通过取自SA的密钥和密码算法,就可对ESP包进行解密,这个ESP包从载荷数据开始到下一个头结束。 传送身份认证和解密检查成功之后,就可对结果数据包进行初步的有效性检验。如果用来处理这个数据包的SA表明在某一特定模式下——要么是隧道模式,要么是传送模式—只能处理ESP包,那么还必须检验这个包的适用性。如果这个包与要求的模式不符,就必须把它丢弃。

  39. 三、封装安全载荷 处理进入数据包 对于传送模式,上层协议头与IP头是同步的,ESP头的下一个头字段被复制到IP头的协议字段中,并计算出一个新的IP校验和; 对于隧道模式,就抛开外部IP头和ESP头——我们需要的是这个解开封装的包。 为进行下一步的处理,可将一个经过改造和认证的包转发出去。如果它是一个传送模式包,就会转发到一个高一级的协议层(比如TCP或UDP),由它们对这个包进行处理;如果它是一个隧道模式包,就会重新插入到IP处理流中,继续转发到它的最终目的地。

  40. 四、认证头 认证头概述 认证头(AuthenticationHeader,AH)是一种IPSec协议,用于为IP提供数据完整性、数据原始身份认证和一些可选的、有限的抗重播服务。它定义在RFC2402中。除了机密性之外,AH提供ESP能够提供的一切东西。不需要加密算法(加密器),而需要一个认证器(身份认证器)。AH定义保护方法、头的位置、身份认证的覆盖范围以及输出和输入处理规则,但没有对所用的身份认证算法进行定义。

  41. 认证头的保护 认证头概述

  42. 四、认证头 认证头概述 AH是另一个IPSec协议。在IPv4中数据报的协议字段值是51,表明IP头之后是一个AH头。在IPv6中,下一个头字段的值由扩展头的存在来决定。如果没有扩展头,下一个头字段将是51。如果AH头之前有扩展头,紧靠在AH头前面的扩展头中的下一个头字段就会被设成51。将AH头插入IPv6的规则与ESP插入规则类似。AH和ESP保护的数据相同时,AH头会一直插在ESP头之后。AH头比ESP头简单,因为它不提供机密性。由于不需要填充和一个填充长度指示器,因此也不存在尾。另外,也不需要一个初始化向量。

  43. 四、认证头 认证头格式 AH格式

  44. 四、认证头 认证头格式 下一头字段表示AH头之后是什么。在传送模式下,将是处于保护中的上层协议的值,如UDP或TCP协议的值。在隧道模式下,值为4,表示IP-in-IP(IPv4)封装或IPv6封装的41这个值。 载荷长度字段表示采用32位的字减2表示头本身的长度。AH头是一个IPv6扩展头,按照RFC2460,它的长度是从64位字表示的头长度中减去一个64位字而来的。但AH采用32位字来计算,因此,我们减去两个32位字(或一个64位字)。没有使用预留字段时,必须将它设成0。

  45. 四、认证头 认证头格式 SPI和外部IP头的目的地址一起,用于识别对这个包进行身份认证的SA。 序列号是一个单向递增的计算器,等同于ESP中使用的序列号。序列号提供抗重播功能。 认证数据字段长度不固定,其中包括完整性校检的结果。AH没有定义身份认证器,但有两个强制实施身份认证器:HMAC-SHA-96和HMAC-MD5-96。和ESP一样,输出结果被切短成96个位。同时,也没有针对AH的使用,定义公共密钥身份认证算法(比如RSA和DDS)。

  46. 四、认证头 模式 和ESP一样,AH可用于传送模式和隧道模式。不同之处在于它保护的数据要么是一个上层协议,要么就是一个完整的IP数据报。任何一种情况下,AH都要对外部IP头的固有部分进行身份认证。

  47. 四、认证头 传送模式 AH用于传送模式时,保护的是端到端通信。通信终点必须是IPSec终点。下一个头是TCP。 已认证

  48. 四、认证头 隧道模式 AH用于隧道模式时,它将自己保护的数据报封装起来,另外,在AH头之前,另添了一个IP头。“里面的”IP数据报中包含了通信的原始寻址,而“外面的”IP数据报则包含了IPSec端点的地址。隧道模式可用来替换端对端安全服务的传送模式,AH只用于保证收到的数据包在传输过程中不会被修改,保证由要求发送它的当事人将它发送出去,以及保证它是一个新的非重播的数据包。

  49. 四、认证头 隧道模式 已认证 下一个头是IP-in-IP

  50. 四、认证头 AH处理 外出数据包与一个SPD条目(表示采用AH保护)匹配时,要求SAD查看是否存在一个合适的SA。如果没有,可用IKE动态地建立一个。如果有,就将AH应用到这个与之相符的数据包,该数据包在SPD条目指定的那个模式中。如果它是一束SPD,应用顺序就由它所涉及的协议而定。AH始终保护的是ESP,别无它物。

More Related