网络与信息安全面试复习(四)

4.1  IPSec安全协议概述

      安全协议是以密码学为基础的协议。它可在网络系统中提供各种安全服务。如:认证实体的身份、在实体间分配密钥,实现机密性、完整性、抗否认性等。

      IPSec是IETF(www.ietf.org)公布的一组安全IP协议集,是在IP级为IP业务提供保护的安全协议标准,即IPSec是引入了安全机制的IP安全协议。

      通过现代密码学方法支持机密性和认证服务,使用户能有选择的使用,并得到所期望的安全服务。

            IPSec(IP Security Protocol)在IP层(网络层)提供:访问控制、数据完整性验证、数据源验证、防报文重放、数据机密性等安全服务。

     4.1.1 IPSec组成与功能

    为保证IP网络的安全,Internet工程任务组(IETF)提出一系列IP安全协议,总称为“IPSec协议簇”(IP Security Protocol)。

      IPSec作为一组标准及协议集合,它包括:加密技术、Hash算法、认证头AH(Authentication Header)协议、封装安全载荷ESP(Encapsulating Security Payload)协议、Internet密钥交换IKE(Internet Key Exchange)协议等。

     IPSec是基于OSI第三层网络层的隧道协议,用数据包作为数据交换单位,将IP包封装附加的IP包头后,通过IP网络发送。

      IPSec提供了一种标准的、健壮的机制,可为IP协议及上层协议提供以下几种安全服务:

     1)数据源验证,确保收到的数据的发送者为实际的发送者;

     2)数据完整性,确保数据在传输过程中未被非法篡改;

    3)抗重放攻击保护,防止数据被假冒者复制存储并重复发送;

     4)信息机密性,确保数据在传输过程中不被窃取。

IPSec的不足之处:

    IPSec也存在一些缺点:IPSec需要已知或固定范围的IP地址,所以在动态分配地址时不适合IPSec;除了TCP/IP协议以外,IPSec不支持其它协议;除了包过滤处,它没有指定其它访问控制方法,对于采用NAT方式访问公共网络的情况难以处理。

IPSec的规范文档:

        在1998年11月发布RFC2401、2402、2406和2408。

       RFC2401:安全体系结构的概述。

       RFC2402:IP扩展的包认证描述(IPv4和IPv6)。

       RFC2406:IP扩展的包加密描述(IPv4和IPv6)。

       RFC2408:密钥管理性能规范。

    AH 协议负责定义认证方法,提供数据源验证和完整性保证;

    ESP协议负责定义加密和可选认证方法,提供数据可靠性保证;

    IKE协议负责提供自动协商交换密钥、建立和维护安全联盟等服务。

    IPSec协议弥补了IPv4在安全性方面的不足,它是IPv6的一个组成部分。

   主要功能:

       1、能保证数据的机密性

    IPSec协议通过加密算法,使只有接收方获取真正的数据,而他人无法获知真实数据。

     2、能保证数据来源的可靠性

    在通信之前,双方先用IKE认证对方身份并协商密钥,协商成功之后才进行通信。由于第三方不知道验证加密算法和密钥,因此,不能冒充发送方。

    3、能保证数据的完整性

    IPSec协议通过验证算法,确保数据从发送方到接收方的传送中,任何数据的篡改能被检测到。

   4、确保认证报文没有重复  

          即使攻击者不能发送伪装的报文,也不能篡改报文,但他仍可重发截获的报文,导致复制报文的上层应用发生混乱(称为“报文重放攻击”)。IPSec协议能检测出重复报文并丢弃,具有防重放攻击功能。  

   5、能实现VPN通信

          IPSec协议作为OSI第三层的隧道协议,能在IP层上创建一个安全的VPN隧道,实现在外网上访问远程的私有内网。

   4.1.2 IPSec安全体系

          IPSec协议组提供认证和加密两种安全机制,认证机制能够确认数据发送方的真实身份,并判断数据在传输过程中是否遭到篡改;加密机制保证数据的机密性。

         IPSec安全体系由报文头验证AH协议、封装安全载荷ESP协议、密钥交换IKE协议、解释域、加密和认证算法组成。

         其中,AH协议提供数据源验证、数据完整性校验和防报文重放功能;然而,它并不加密报文。由ESP协议提供对IP报文的加密。

         IKE协议负责定义加密生成技术和协商共享策略。解释域负责定义IKE所没有定义的协商内容,并为使用IKE协商安全的协议,统一分配标识符。

4.1.3  IPSec运行模式

       IPSec协议有两种工作模式:传输模式和隧道模式。

   1.传输模式

         这种模式对IP分组应用IPSec协议,对IP报头不做任何修改,负责保护两个主机之间的通信,提供点对点的安全性,是IPSec的默认模式。

   2.隧道模式

         这种模式将原IP分组封装成带有新IP报头的新的IPSec分组,通过“隧道”进行封装、发送和拆封,隐藏原有的IP分组,该模式常用在装有IPSec的路由器或防火墙中。

IPSec工作原理

    IPSec包含4类组件:

    (1)IPSec进程本身:验证头协议(AH)或封装安全载荷协议(ESP);

    (2)Internet密钥交换协议(IKE,Internet Key Exchange):进行安全参数协商;

    (3)SADB(SA Database):用于存储安全关联(SA,Security Association)等安全相关参数;

    (4)SPD(Security Policy Database,安全策略数据库):用于存储安全策略。

      IPSec的工作原理类似于包过滤防火墙。IPSec通过查询安全策略数据库SPD,决定对接收到的IP包的处理方式,但不同于包过滤防火墙的是,IPSec对IP数据包的处理方法除了丢弃、直接转发(绕过IPSec)外,还有进行IPSec的处理。

      所谓“进行IPSec处理”即是对IP数据包进行加密和认证,保证在外部网络传输的数据包的机密性、真实性、完整性,使其通过Internet进行安全的通信。

    在IETF的标准化下,IPSec的处理流程受到了规范。

4.2  IPSec安全协议—AH

4.2.1 AH概述

     AH协议又称“报文头验证协议“,不提供数据加密服务,适合传输非机密数据。

     AH通过散列函数(Hash函数)实现认证,当需要身份验证而不要求保密时,可选用AH协议。

     AH的工作原理:在每个IP数据包上增加一个身份验证报头,该报头含有一个带密钥的Hash散列,该Hash散列在整个数据包中计算,当数据更改时散列值将会变化,从而提供完整性验证。

   AH报头字段: 

     1) 下一个报头:识别下一个使用IP协议号的报头,如:下一个报头值等于“6”,表示其后是TCP报头。    

      2) AH报头长度。   

    3)SPI (Security Parameters Index)是为数据包识别安全关联的32位伪随机值,若SPI 值为0,则表明没有安全关联存在。           4) 序列号:从1开始的32位单增序列号,唯一标识每一个发送数据包。               

        5)验证数据:接收端接收数据包后,会先执行Hash计算,然后与发送端同样计算的该字段值进行比较。

  4.2.3 AH运行模式与完整性检查

     如果该包在传输过程中,经过NAT(Network Address Translation,网络地址转换)网关,则其源/目的IP地址有可能被改变,将造成到达目的地后,完整性验证失败。故在传输模式下AH与NAT有冲突,两者不能同时使用。

  2) 隧道模式

     在该模式下,AH头插入到原始IP头部之前,AH头之前再增加一个新的IP头部。隧道模式下,AH验证的范围也是整个IP包,因此,上面所说的AH和NAT的冲突在隧道模式下也存在。

     AH头的主要功能是:校验IP源地址和IP目的地址,看它们是否在路由过程中被改变过。如果校验没通过,分组将会被抛弃。

   2、数据完整性检查  

        从上面的传输模式和隧道模式可见,AH协议验证的范围包括整个IP包。

     验证过程概括如下:在发送方,整个IP包和验证密钥作为输入,经过MD算法计算后,得到的结果被填充到AH头部的“验证数据”字段中;在接收方,整个IP包和验证算法所用的密钥也被作为输入,经过MD算法计算的结果和AH头部的“验证数据”字段进行比较,如果一致,说明该IP包数据没有被篡改。否则丢弃。

4.3  IPSec安全协议—ESP

    4.3.1 ESP概述

           ESP(Encapsulating Security Payload ,封装安全载荷)协议是一种提供混合安全服务的协议,它可实现IP数据包的保密、完整和数据源认证,可与AH协议一起使用。它是插入IP数据包内的一个协议头(ESP报头)。

           ESP采用对称密钥加密技术,即使用相同的密钥对数据进行加解密。它支持DES、三重DES和AES算法对明文的加密。

      ESP只保护数据,而不保护IP报头。ESP在IP报头和传输协议报头(如:TCP或UDP)之间,增加一个ESP报头提供安全性,IP和ESP报头封装了源端和目的端间的数据包。

     1、传输模式

        在ESP的传输模式中,其头部直接加在准备传输的数据前,一个封装包中只有一个IP头部,且该IP头部与ESP头部均无需加密,因此,这种模式可节省带宽,如下图。 

      传输时先把IP装载数据用ESP封装起来(ESP头部和ESP尾部),发送端通过使用者ID和目的地址得到SA环境,然后用加密算法(DES)加密传输的数据,接收端接收到ESP封装的数据包后,直接处理IP头部(因没有加密),从ESP头部取出SPI值,得到相应的SA,再用SA中的解密函数解出加密的数据。

      ESP传输模式的验证要比AH传输模式弱一些。如果需要更强的验证服务,可用AH验证或同时使用AH验证和ESP验证。

  2、隧道模式

         在隧道模式中,ESP首先将IP封装包加密(含IP头部),再在前面加上ESP头部并插入新的IP头部。接收端用ESP头部内容中的SPI值决定SA,解出ESP头部后的装载数据,取回原始的IP头部与封装包,继续往后传输ESP头部及ESP尾部的内容。

      ESP在隧道模式下,对整个原始IP包进行验证和加密,而在传输模式下,由于源、目的IP地址不被加密,不能提供流加密服务。因此,ESP隧道模式比ESP传输模式更安全。但隧道模式增加了一个额外的IP头部,将占用更多的带宽。

4.4 安全联盟SA

     安全关联SA(Security Association)是两个IPSec实体(主机、网关)之间经过协商建立起来的一种协定。

     4.4.1 安全联盟概述

        SA是构成IPSec的基础,也是IPSec的本质,它决定保护什么、如何保护以及谁来保护的问题。AH和ESP两个协议都使用SA保护通信,而IKE则是在通信双方中协商出SA。

     SA由三元组(SPI,IP目的地址,IPSec协议)唯一标识。

    1) SPI(安全参数索引):是32位的安全参数索引,用于标识具有相同IP地址和相同安全协议的不同的SA,它通常被标识在AH或ESP头中 。

       2)IP目的地址:IP目的地址,它是SA的终端地址。

         3)IPSec协议:采用AH或ESP。

    SA是策略和密钥的结合,它定义了保护端对端通信的常规安全服务、机制以及密钥。

    当一台计算机与多台计算机同时进行安全通信时,可能存在多种关联。

    接收端计算机使用SPI,决定将用哪种SA处理传入的数据包。SPI是一个分配给每个SA的字串,用于区分多个存在于接收端计算机上的安全关联。每个SA可以使用不同的安全协议。

4.5 密钥管理协议—IKE

   4.5.1  IKE概述

          IKE(Internet Key Exchange,Internet密钥交换)是IPSec体系中的一种主要协议,它属于一种混合型协议,包括:Internet安全关联、密钥管理协议(ISAKMP)、两种密钥交换协议Oakley与SKEME。

          IKE为IPSec协议—AH和ESP提供自动协商交换密钥、建立SA等服务,能简化IPSec的使用、管理、配置和维护。

           注意:IKE不是在网络上直接传输密钥,而是通过一系列数据的交换,最终计算出双方共享的密钥,即使第三者截获了双方的所有交换数据也不足以计算出真正的密钥。

   IKE的身份认证方式:

   1)基于数字签名,利用数字证书表示身份,用数字签名算法计算出一个签名来验证身份。

   2)基于公开密钥,利用公钥加密身份,通过检验对方发来的该HASH值进行认证。

   3)基于修正的公开密钥,对上述方式进行修正。

   请求IKE的方式:

     IKE是一个用户级的进程。启动后,作为后台守护进程运行。在需要服务前,它处于不活动状态,在实际中通过两种方式请求IKE服务。

   1)当内核的安全策略模块要求建立SA时,内核触发IKE。

   2)当远程IKE实体需要协商SA时,触发IKE。

 IKE在IPSec中的作用:

1)IKE是UDP之上的一个应用层协议;

2)IKE为IPSec协商建立SA,并把建立的参数及生成的密钥交给IPSec;通过IKE,IPSec很多参数(如:密钥)可自动建立,降低手工配置的复杂度。

3)IPSec用IKE建立的SA,对IP报文加密或认证处理。

3)IKE协议保证每个SA所使用的密钥互不相关。

4)IPSec用AH或ESP报文头中的序列号防止重放。该序列号溢出后,SA需重新建立,这时需要IKE协议的配合,以防止重放。

  4.6  SSL—安全套接层协议

  4.6.1 SSL协议简介

      在互联网上访问某些网站时,你会发现在浏览器窗口的下方会显示一个锁的小图标,表示该网页被SSL协议保护着。

     SSL协议(Secure Sockets Layer Protocol,安全套接层)是一个用于互联网上保密通信的安全协议,它位于TCP层和应用层之间,对应用层透明。

     SSL协议的设计初衷是支持各种应用层协议的,如:HTTP,FTP,Telnet等,但目前SSL协议主要是应用于HTTP协议。

      SSL协议具有两层结构,其低层是SSL记录协议层(SSL Record Protocol Layer),其高层是SSL握手协议层(SSL Handshake Protocol Layer)。

      握手层允许通信实体在应用SSL协议传送数据之前,相互验证身份、协商加密算法、生成密钥等。记录层封装各种高层协议,具体实施压缩与解压缩、加解密、计算与验证MAC(散列值)等与安全有关的操作。

  1.SSL协议的特点

    1)SSL协议的优势是它与应用层协议无关。高层的应用层协议(如:HTTP、FTP)在SSL协议之上。SSL协议在应用层协议通信之前,就已经完成加密算法、通信密钥的协商以及服务器认证工作,之后应用层协议所传送的数据都会被加密,从而保证通信的机密性。

    2)SSL协议支持各种加密算法。在“握手”过程中,使用的是RSA公钥系统。密钥交换后,使用一系列密码算法,如:DES及MD5等。

    3)SSL协议可被大多数浏览器和Web服务器所内置,应用于电子交易中。国际著名的Cyber(1ash信用卡支付系统)就支持这种加密模式,IBM等公司也提供这种加密模式的支付系统。

    2.SSL协议存在的问题

   1)SSL提供的保密连接有漏洞。SSL除了传输过程以外不能提供任何安全保证,SSL并不能使客户确信此公司接收信用卡支付是得到授权的。

    2)网上商店在收到客户的信用卡号码后,需设法保证其安全性,否则信用卡号可能被黑客通过商家服务器窃取。

   3)SSL是一个面向连接的协议,只能提供交易中客户与服务器间的双方认证,在涉及多方的电子交易中,SSL协议并不能保证各方间的安全传输和信任关系。

  4.6.2  SSL记录协议

    SSL记录协议的功能:根据会话状态指定的压缩算法、加密算法、MAC算法、密钥长度、散列长度、IV长度等,以及连接状态中指定的客户和服务器的随机数、加密密钥、序列号等参数,对当前连接中要传送的高层数据进行压缩与解压缩、加解密、计算与检验MAC等操作。

     在SSL协议中,所有的传输数据都被封装在记录中,记录由记录头和长度不为0的记录数据组成。

     SSL记录协议包括:对记录头和记录数据格式的规定以及为SSL连接提供的服务,如:机密性服务和数据完整性服务。

4.6.3  SSL握手协议


     SSL握手协议让服务器和客户机相互验证,协商加密和MAC算法以及保密密钥,以保护在SSL记录中发送的数据,握手协议在应用程序的数据传输之前使用。

      握手协议的功能:验证实体身份,协商密钥交换算法、压缩算法和加密算法,完成密钥生成及密钥交换等。

      握手协议由一系列客户机与服务器的交换消息组成,所有消息都具有规定的格式并分为两个阶段建立连接:

          1)建立私密性信道;      2)进入客户认证。

   Kerberos简介

1、Kerberos特点

    Kerberos是美国麻省理工学院(MIT)研制的认证协议,是一种实用的网络认证系统。Kerberos协议通过网络通信的实体相互证明彼此的身份,抵抗旁听和重放等攻击,保证通信数据的完整性和保密性。

    Kerberos基于非对称密钥加密技术,采用可信任第三方的认证方案,加入了“时间戳记”和“报文序号”机制,抵抗重发(Replay)攻击。

    Kerberos认证技术在分布式环境中提供强大的认证,而且使用的范围广,目前已经成为事实上的工业标准。

     Kerberos认证的实现不依赖于主机操作系统,不基于对主机操作系统的信任,不要求网络中全部主机的物理安全性。Kerberos

     Kerberos采用认证服务器保存主体及其密钥的数据库,代码库提供加密并实现Kerberos协议。

      采用Kerberos协议用户只需输入一次身份验证信息就可凭借此验证获得的票据(ticket)访问多个服务。由于在每个Client和Service之间建立了共享密钥,使得该协议具有较好的安全性。

     在一个分布式的client/server体系机构中采用一个或多个Kerberos服务器提供一个认证服务。

 

 

 

 

你可能感兴趣的:(计算机网络及安全)