通信网络安全标准_第1页
通信网络安全标准_第2页
通信网络安全标准_第3页
通信网络安全标准_第4页
通信网络安全标准_第5页
已阅读5页,还剩227页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章通信网络安全标准

7.1概述7.2安全体系结构7.3IPSec安全协议7.4SSL安全协议7.5TLS安全协议7.6无线通信网络安全协议7.7小结习题通信网络安全标准全文共232页,当前为第1页。7.1概述在一个分层的通信网络体系结构中,开发标准以支持安全性是一件很复杂的事情,因为体系结构中所有的组成部分都将受到影响,包括所有的层协议和应用程序。其关键问题是,不仅要提供必要的安全功能,而且要确保标准有效实现的成本。在考虑把安全性加入OSI体系结构时,显然应采取统一、协调的步骤,才能开发出一组广泛适用的、连贯的安全标准。这里简要介绍一组根据这个原则开发出来的标准以及把标准组协调到一起的中心标准,它们是OSI体系结构的一部分,但同样适用于非OSI体系结构。通信网络安全标准全文共232页,当前为第2页。这些安全标准可以分成以下几大类:

(1)安全体系结构和框架标准:是设计其它类标准的参考。

(2)分层安全协议标准:各层(如网络层和传输层)独立于应用的协议规范。低层安全协议包括传输层安全协议(TLSP)、网络层安全协议(NLSP)、局域网协同安全标准(SILS)中的安全数据交换(SDE)协议。高层安全协议位于应用层和表示层,它们使具体应用能够提供安全性,包括ACSE认证选项、协议设计工具(安全交换服务元素、ASN.1保护表示法、保护性传输语法,这些工具构成通用高层安全标准GULS)。通信网络安全标准全文共232页,当前为第3页。

(3)安全技术标准:一些广泛适用的技术规范,如认证交换和数字签名机制。这些标准与分层、具体应用无关。

(4)具体应用安全标准:是应用标准(如电子邮件、目录服务、消息处理)的组成部分或扩展。

(5)安全管理标准:支持安全功能管理或为网络管理通信提供保护的规范。本章主要介绍前两类标准,后三类标准在本书的其它有关章节也有所涉及。通信网络安全标准全文共232页,当前为第4页。7.2安全体系结构

OSI安全体系结构的研究由ISO/IECJTC1/SC21于1988年完成,其制定的标准是ISO7498-2标准,作为OSI基本参考模型的新补充。1990年,ITU决定采用ISO7498-2作为它的X.800推荐标准。通信网络安全标准全文共232页,当前为第5页。7.2.1OSI安全体系结构简介

OSI安全体系结构定义了许多术语和概念,在整个开放系统安全标准中,它们随处可见。它还建立了一些重要的结构性准则,其中比较重要的内容包括术语、安全服务和安全机制的定义等。事实上,OSI安全体系结构不是具体实现的标准,而是如何设计标准的标准。通信网络安全标准全文共232页,当前为第6页。

OSI安全体系结构的第三款给出了标准族中的部分术语的正式定义,尽管不一定是最好的定义,但还是有一定的参考价值的。值得一提的是,虽然在后来的开放系统的安全研究中,大体上采用了这些术语,但有些术语(如证书、对等实体认证、安全策略、安全服务)定义得太窄,这是因为该标准的范围只限于OSI体系结构。在其它标准中对某些术语采用了更广的定义。通信网络安全标准全文共232页,当前为第7页。在ISO7498-2定义了所有安全服务及其变体,并且对定义有详细说明,OSI安全体系结构没有详细说明这些安全服务应该如何来实现。作为指南,它给出了一系列可用来实现这些安全服务的安全机制,其中大部分安全服务和安全机制的内容在第5章已做了详细介绍,这里就不再详述。通信网络安全标准全文共232页,当前为第8页。7.2.2OSI分层安全服务

OSI安全体系结构最重要的贡献是它总结了各项安全服务在OSI7层中的适当配置位置,说明了参考模型中各个层次应提供哪些安全服务。有关各层提供的主要安全服务说明如下:

(1)物理层:提供连接机密性和业务流机密性服务,这一层没有无连接服务。

(2)数据链路层:提供连接机密性和无连接机密性服务,物理层以上不能提供完全的业务流机密性。通信网络安全标准全文共232页,当前为第9页。

(3)网络层:可以在一定程度上提供认证、访问控制、机密性(除了选择字段机密性)和完整性(除了可恢复的连接完整性、选择字段的连接完整性)服务。

(4)传输层:可以提供认证、访问控制、机密性(除了选择字段机密性、业务流机密性)和完整性(除了选择字段的连接完整性)服务。

(5)会话层:不提供安全服务。通信网络安全标准全文共232页,当前为第10页。

(6)表示层:表示层本身不提供安全服务,然而,表示层提供的设施支持应用层向应用程序提供安全服务,所以规定表示层的设施将支持基本的数据机密性服务,也可以支持认证、完整性和非否认服务。

(7)应用层:必须提供所有的安全服务,并且这是唯一能提供选择字段服务和非否认服务的一层。通信网络安全标准全文共232页,当前为第11页。7.2.3OSI安全框架在OSI网络体系结构完成后,就启动了开放系统安全框架规划项目,其目标是开发一个由多部分组成的标准,其中每部分应详细论述OSI安全体系结构指出的基本安全主题,包括认证、访问控制、机密性、完整性和非否认性,后来还增加了安全审计。通信网络安全标准全文共232页,当前为第12页。安全框架规划项目仍由OSI安全体系结构的开发者ISO/IECJTC1/SC21/WG1工作组完成,该框架对OSI安全体系结构做了很大的扩展,而实际上他们声称的范围更广。其目标是解决开放系统中的安全服务问题。在这里,开放系统涵盖了数据库、分布式应用、开放分布式处理和OSI。该框架对整个标准化进程的贡献是给出了一些概念、术语作为其它标准的基础,这使得其它标准能够更好地互动,避免不必要的重复制定概念。与OSI安全体系结构一样,该框架是制定标准的标准,而不是实现的标准。通信网络安全标准全文共232页,当前为第13页。该框架定义了一些通用的概念,它们对于提供安全服务很重要,这些概念包括:

(1)安全策略:用于限定一个或一组对象进行安全相关活动的规则集。它说明在某一安全区域内,安全指的是什么,为达到这一安全应遵从的规则,以及哪些活动应该受限制。安全策略还可能说明哪些规则限定了与其它安全区域的关系。

(2)安全机构:该实体对安全策略的实现负责,它可以使用安全策略限制其它实体的活动。通信网络安全标准全文共232页,当前为第14页。通信网络安全标准全文共232页,当前为第15页。通信网络安全标准全文共232页,当前为第16页。

(3)安全区域:一组对象,加上安全策略、安全权威机构和一组与安全相关的活动。它们的关系是对象在进行与安全相关的活动时,安全权威机构要根据安全策略对其进行管理。

(4)安全交互规则:在安全区域之间进行交互应遵守的规则。安全证书和安全令牌的概念应用于制定安全协议之中。前者表示一组与安全有关的数据,由颁布它的安全机构保证它的完整性和数据起源认证。它包括证书所有者、颁布者以及生存期等。这个一般的定义涵盖了公钥证书和访问控制证书。后者表示由非安全机构颁布的一组与安全有关的数据,也能保证完整性和数据起源认证。通信网络安全标准全文共232页,当前为第17页。安全框架系列(ISO/IEC10181)包括7部分(也有可能会进一步扩展),它们是:

(1)安全框架综述。综述的目的有两个,一是一般性地介绍这个由多部分构成的标准,二是定义出现在多个部分中的一组术语、概念,以及一些有用的术语,如封装、单向函数、私钥、公钥、秘密密钥。

(2)认证框架。认证框架是安全框架系列中最早完成的部分,它定义了有关认证原理和认证体系结构的重要术语,提出了对不同的认证交换机制的高级分类方法。

(3)访问控制框架。访问控制框架是继认证框架之后完成的,该框架的最大贡献是定义了在网络环境下提供访问控制的术语和体系结构模型。通信网络安全标准全文共232页,当前为第18页。

(4)非否认框架。描述了开放系统中的所有非否认方面,包括为数据接收者提供的起源证明的概念和为数据发送者提供的传递证明的概念。

(5)机密性框架。陈述了开放系统中的所有机密性方面,主要说明了如何通过访问控制或其它方法来保护敏感数据,指出了机密性机制的可能分类,对每个机密性机制定义了服务和重要的抽象数据类型,陈述了与其它安全服务和机制的相互作用。通信网络安全标准全文共232页,当前为第19页。

(6)完整性框架。主要陈述了开放系统中所有关于数据完整性的内容,确保未授权改变或者可以被阻止(如访问控制),或者可以被检测出(如在非安全媒介上的密码校验和)。

(7)安全审计框架。这个框架是后来根据技术发展的需要才增加的一个框架,以测试系统控制是否充分,确保系统符合安全策略和操作规程,检测安全漏洞,并提出对控制、策略和规程的修改建议。通信网络安全标准全文共232页,当前为第20页。这里我们只对认证框架做较为详细的介绍,以便读者了解这些框架的定义格式和描述风格。认证框架中定义了一些常用的术语,包括主体、声称者、验证者等。主体定义其身份可被验证的实体;声称者定义被验证身份的主体或主体的代表;验证者定义要验证对方身份的实体或实体的代表。

通信网络安全标准全文共232页,当前为第21页。认证框架使用术语声称者、验证者和可信第三方来描述认证模型。可信第三方有多种形式,如在线可信第三方(比如ANSIX.17密钥分配中心和Kerberos认证服务器)、离线可信第三方(比如通过目录服务颁布证书的证书机构)等。通信网络安全标准全文共232页,当前为第22页。认证框架还定义了几种认证信息,其中三个主要的信息是:交换认证信息,指在认证一个主体的过程中声称者和验证者交换的信息;声称者认证信息,指认证过程中声称者用来产生交换认证信息的信息;验证者认证信息,指认证过程中,验证者在验证交换认证信息中所声称的身份时用到的信息。例如,在一次认证过程中,声称者发出一条用自己的私钥签名的消息,验证者用待验证的主体的公钥检验该签名。在这里,签名的消息就是交换认证信息,私钥就是声称者认证信息,而该主体的公钥则是验证者认证信息。通信网络安全标准全文共232页,当前为第23页。用上面的术语可以描述各种不同的认证模型,其中主要有基本认证、内联式认证、在线认证以及离线认证模型。基本认证模型如图7.1所示,用于没有可信第三方的场合。图7.1基本认证模型通信网络安全标准全文共232页,当前为第24页。在图7.2所示的内联式认证中,主体的身份被中间者认证,并且为它提供担保。图7.2内联式认证模型通信网络安全标准全文共232页,当前为第25页。在图7.3所示的在线认证模型中,有一台在线认证服务器,声称者从它获得一个通行证,并传给验证者,或者验证者同服务器进行交互以完成认证。图7.3在线认证模型通信网络安全标准全文共232页,当前为第26页。图7.4所示的模型是离线服务器的情况,例如颁发证书的目录服务。图7.4离线认证模型通信网络安全标准全文共232页,当前为第27页。认证框架还说明了认证过程各个阶段的行为,以此为基础定义了一系列认证设施。各个阶段分别如下:

(1)初始化:确定主体的声称者认证信息和验证者认证信息。

(2)改变认证信息:主体或管理员修改声称者认证信息或验证者认证信息(如口令)。

(3)分发:验证者认证信息(如公钥证书)被发给需要的实体,这可能早于或紧接在认证请求之后。通信网络安全标准全文共232页,当前为第28页。

(4)获取:声称者或验证者在线获取信息以进行某次认证(如从在线认证服务器获取通行证)。

(5)传输:声称者和验证者传输交换认证信息。

(6)验证:在验证者这一端,处理交换认证信息和验证者认证信息,做出认证决策。这一步可能需要与可信第三方做进一步的交互。

(7)禁止:某个主体的认证权被暂时吊销。

(8)恢复:恢复被禁止的主体的认证权。

(9)删除:永久删除某个主体。通信网络安全标准全文共232页,当前为第29页。认证设施分成两类,一类是与管理有关的设施,包括初始化、改变认证信息、分发、禁止、恢复和删除。标准没有说明如何实现这些服务,列出它们的目的是为与认证相关的管理活动提供标准术语。另一类是与操作有关的设施,包括获取、验证和生成(声称者用来产生交换认证信息,用以传给验证者,例如在一段认证数据上签名)。与这三个设施相关的信息流如图7.5所示。这些设施为进行认证提供直接的支持,可以把它们实现成为应用程序接口(API),有助于认证软件的模块化。通信网络安全标准全文共232页,当前为第30页。例如,与机制无关的标准接口可以这样实现:声称者调用generate例程(生成服务),验证者调用verify例程(验证服务),双方都调用(或不调用)acquire例程(获取信息服务)。这种设施模型也可用在双向认证中,不过这时生成服务和验证服务合并到一起。认证框架还把认证机制按抵抗窃听和重放攻击的能力进行分类。但是,这种分法实用性有限,因为最简单的模型也混用了多种技术(例如,非密码技术、对称密码技术、公钥密码体制),也都采用了实体认证和数据起源认证。通信网络安全标准全文共232页,当前为第31页。图7.5操作设施信息流通信网络安全标准全文共232页,当前为第32页。

OSI安全体系结构和框架标准作为“标准的标准”有两个实际用途:一个是为以后设计可实现的安全标准提供指南;另一个是为以后的标准术语提供参考源。第一个用途已经被广泛应用。特别地,关于各种安全服务在OSI中的分层配置的论述,导致了其后的安全协议标准化工作分成两个方向进行,即低层和高层。低层有详尽的传输层和网络层安全协议,还制定了局域网安全协议,以及在数据链路层和物理层上的针对具体子网技术的安全特征;高层利用表示层提供的功能,在应用层上确定了通用的安全协议和特定应用的安全协议。通信网络安全标准全文共232页,当前为第33页。随着后继标准的相继实现,OSI安全体系结构的指导作用正逐渐减弱。然而,它作为参考源的角色将持续很长时间,因为标准的使用者总会需要概念、术语的正式定义。通信网络安全标准全文共232页,当前为第34页。7.3IPSec安全协议

IPSec是指IETF以RFC形式公布的一组安全IP协议集,是在IP包级为IP业务提供保护的安全协议标准,其基本目的就是把安全机制引入IP协议,通过使用密码学方法支持机密性和认证性服务,使用户能有选择地使用,并得到所期望的安全服务。通信网络安全标准全文共232页,当前为第35页。

OSI将计算机通信网络按层进行划分,显然,网络的安全性也需从协议层加以考虑。例如,为保证自己专用TCP/IP网络的安全性,可对从自己网络发出的数据包进行加密,对进入自己网络的数据包进行认证,同时不允许对不可信站点的连接,这些安全策略的实施是在IP层上进行的。IP层的安全性包括认证、保密和密钥管理三个方面。认证可保证收到的数据包的确是由数据包包头所标识的数据源发来的,而且可以保证数据包在传输期间未被篡改;保密可保证数据在传输期间不被第三方窃听;而密钥管理则解决密钥的安全交换问题。通信网络安全标准全文共232页,当前为第36页。7.3.1IP协议的安全缺欠在TCP/IP体系结构中,IP层本身并不提供任何安全保证,IP包可能会被监听、拦截或者重放,地址可以被伪造,内容可能会被修改。因此,IP层本身不提供源认证,也无法保证包含的是发送方当初放在其中的原始数据,更无法保证原始数据的保密性。通信网络安全标准全文共232页,当前为第37页。通信网络的基本协议是TCP/IP协议,因为它向其它运行在网络层中或网络之间的协议提供数据传送服务。TCP/IP网络中的IP就如同邮政服务中的“标准信封”,在这个基本的、有效的传送机制中,任何种类的数据都能插入到该“标准信封”中。因为IP需要用于传送大量不同类型的数据,所以在设计中,IP只向上层提供所需的最小服务,而把诸如分组确认、流量控制这类功能留给了TCP等上层协议。一般来说,IP是个廉价的初级邮件服务,在此基础上如果需要提供特殊保障的话,可以再在IP头中增加附加选项,就像寄一个挂号邮件或其它特殊邮件一样。它在安全服务、安全过程等方面都存在缺欠。通信网络安全标准全文共232页,当前为第38页。

1.IPv4服务的不安全性

IP所提供的服务通常被认为是无连接的和不可靠的。事实上,在网络性能良好的情况下,完全可以指望IP传送的数据能够完好无损地到达目的地。所谓无连接的传输,是指在没有确定源系统的存在,也没有确定目的系统已做好接收数据准备之前就发送数据。与此相对应的就是面向连接的传输(例如TCP就可以提供这类传输),在这类传输中,源系统与目的系统在应用层数据传送之前需要进行一次握手。通信网络安全标准全文共232页,当前为第39页。不可靠的服务是指目的系统不对成功接收的分组进行确认,IP只是尽可能地使数据传输成功。不过,只要需要,上层协议必须实现用于保证分组成功提供的附加服务。

IP包头中的服务类型TOS字段对服务质量进行划分,当前人们对如何在基于TCP/IP的因特网中提供保证服务质量的研究十分关注,而分等级服务的技术基础则依赖于对网络IP数据包的传输质量的保证。通信网络安全标准全文共232页,当前为第40页。

IP只提供无连接、不可靠的服务,而把诸如差错检测和流量控制之类的服务授权给了其它的各层协议,这正是TCP/IP能够高效率工作的一个重要保证。这样,可以根据传送数据的属性来确定所需的传送服务以及客户应该使用的协议。例如,传送大型文件的FTP会话就需要面向连接的、可靠的服务(因为如果稍有损坏,就可能导致整个文件无法使用)。当FTP的数据到达网络层之后,文件被分为小片,这些片称为IP数据包,并且作为独立的单元交给IP传送。

IP提供无连接、不可靠的服务这一特性,无法保证数据的完整性。通信网络安全标准全文共232页,当前为第41页。

2.IPv4操作过程的不安全性尽管IP传输缺少面向连接的服务和可靠的质量保证,但是IP仍然承担了大量的责任。实际上,IP涉及到了TCP/IP传输中的一些最复杂的操作,归纳起来,IP协议定义的主要功能包括以下内容:通信网络安全标准全文共232页,当前为第42页。

(1)将上层数据(如TCP、UDP数据)或同层的其它数据(如ICMP数据)封装到IP数据包中。

(2)将IP数据包传送到最终的目的地。

(3)为了使数据能够在链路层网络上进行传输,对数据进行分段。

(4)确定数据包到达其它网络中的目的地的路径。总的来说,IP需要定义一系列的功能,决定如何创建数据包,如何使数据包通过一个物理网络。当数据信息发送到计算机时,IP协议软件执行一组任务,当从另一台计算机那里接收数据信息时,IP协议软件执行另一组任务。通信网络安全标准全文共232页,当前为第43页。当发送数据时,源计算机上的IP协议软件必须确定目的地是在同一个网络(本地)上,还是在另一个网络上,IP通过执行这两项计算并对结果进行比较,确定数据到达的目的地。如果两项计算的结果相同,则数据的目的地确定为本地,否则,目的地应为远程的其它网络。如果目的地在本地,那么IP协议就启动直达通信。如果目的地是远程计算机,那么IP必须通过网关(或路由器)进行通信,在大多数情况下,这个网关应当是默认网关。当源IP完成了数据包的准备工作时,它就将数据包传递给网络访问层,网络访问层再将数据包传送给传输介质,最终完成数据帧发往目的计算机的过程。通信网络安全标准全文共232页,当前为第44页。当数据抵达目的计算机时,网络访问层首先接收该数据。网络访问层要检查数据帧有无差错,并将数据帧送往正确的物理地址。假如数据帧到达目的地时正确无误,网络访问层便从数据帧的其余部分中提取数据的有效负载,然后将它一直传送到帧层次类型字段指定的协议中。在这种情况下,可以说数据有效负载已经传递给了IP。通信网络安全标准全文共232页,当前为第45页。当接收到来自网络访问层的数据包时,IP首先要确定数据包本身在传递过程是否出现差错。接着,IP对数据包中包含的目的IP地址与计算机的IP地址进行比较,以确定数据包是否已经送达正确的计算机。

IPv4在数据包传输的过程中,没有进行强制的认证和安全检查。通信网络安全标准全文共232页,当前为第46页。

3.IPv6的安全特性鉴于IPv4在安全性、地址长度以及数据延时等方面存在的诸多局限性,IETF成立了一个专门委员会,制定了新一代网际协议IPv6。作为新一代的IP协议,IPv6具有以下5个方面的特性。通信网络安全标准全文共232页,当前为第47页。

1)扩展地址空间,增强路由由于IPv6地址由原来的32位扩展为128位,因此地址数量变得极大,这也是IPv6最重要的一个特点。保守估计,IPv6将为每平方米的地球表面支持数以千计的地址。同时由于可以支持更多的层次结构,使地址分配有更大的灵活性。除此之外,IPv6灵活、大容量的地址空间使定义一个带有许多分层次的、灵活的全球路由体系成为可能,也使一个IPv6地址层次能够按地理范围排列(就像平常的电话地区号码系统)。通信网络安全标准全文共232页,当前为第48页。

2)地址的自动配置地址自动配置是IPv6最宝贵的功能之一。只要机器连接上网络,便可自动设定地址。它有两个优点,一是终端用户用不着花精力进行地址设定,二是可以大大减轻网络管理者的负担。IPv6支持多种形式的自动配置,包括从一个单独网络节点地址的“即插即用”配置到DHCP提供的全功能设备的配置。通信网络安全标准全文共232页,当前为第49页。

3) IP数据包包头简化

IPv6对数据包包头做了简化,以尽量减少在传输过程中由于对IP信息头处理而造成的延迟。尽管IPv6地址长度是IPv4的4倍,但IPv6的数据包包头却只有IPv4的2倍。

4)服务质量QoS

IPv6不仅可用于解决因特网网络地址的危机,而且由于包头简化,还有助于对因特网网络性能的改进。IPv6重视QoS机制,对实时多媒体信息流传输提供了很大的支持。通信网络安全标准全文共232页,当前为第50页。在IPv6中定义了两个重要参数,即业务类别字段和数据流标志位。业务类别字段将IP包的优先级分为16级,并将其分为两类:0~7用于在网络发生拥塞时通过减少数据包的发送速度来实现拥塞控制业务;8~15用于一些实时性很强的业务,它在网络拥塞时不做任何减少流量的控制。对于那些需要特殊QoS的业务,可在IP数据包中设置相应的优先级,路由器根据IP包的优先级来处理这些数据。数据流标志位用于定义任意一个传输的数据流,以便网络中所有的节点能对这一数据进行识别,并做特殊的处理。有了数据流标志位,就可以使路由器处理一些具有特殊业务请求的数据包。通信网络安全标准全文共232页,当前为第51页。

5)安全控制

IPv6建立了包验证、包完整性和包可靠性三个重要的安全服务。包的安全功能通过IPv6的可选扩展分组头来实现,扩展分组头在RFC1883中进行了描述。验证扩展分组头(AH)提供密码验证或完整性测试。默认时它使用一个加密的MDS算法,但是任何实现都可以根据需要,选用任何其它算法。通信网络安全标准全文共232页,当前为第52页。

IPv6优化了IP数据包的基本字段布局,通过改善IPv4的数据包格式,使之更趋于合理化。在IPv6数据包内,一些IPv4原有的字段被摒弃,另一些被变成可选项。这不仅提高了数据包头的处理效率和路由器处理分组的速度,而且在某种程度上,被重新设计的、单一化的数据包结构将抵消较长的IPv6地址字段的带宽费用。16字节IPv6地址比4字节的IPv4地址长4倍,但作为对数据包头进行合理布局的结果,整个IPv6数据包头的规模只有IPv4的2倍。通信网络安全标准全文共232页,当前为第53页。除了对数据包格式的合理划分外,IPv6还通过在IP数据包包头加入选项的方法,增加了灵活性和安全性。可选择的IPv6包头选项被转换成独立的扩展包头,位于每一个IPv6包头之后、传输层负载之前。IPv6的大多数扩展包头不会被中间节点检查和处理(这正是IPv4带来的问题),IPv6扩展包头的长度也不再有严格的限制,可以改变。这些扩展包头可用来传送路由信息,也可以用于帮助进行安全验证及碎片的控制。网络设计者也可以根据自己的需要添加新的扩展包头,因此可引入新的选项。通信网络安全标准全文共232页,当前为第54页。虽然IPv6增加了安全控制内容,但是,由于目前仍然以IPv4为实际使用的协议,因此在现实的网络上,必须在网络层添加额外的安全功能,保证这一层的安全性。通信网络安全标准全文共232页,当前为第55页。7.3.2IPSec的结构

CERT在年度报告中指出,最为严重的通信网络安全事故有两类:第一类是IP欺骗,即入侵者以虚假的IP地址建立数据包,以欺骗基于IP认证的应用程序;第二类是各种类型的窃听和数据包嗅探,以获取合法用户的登录信息和其它数据。因此安全的IP协议应有必要的认证和加密功能,IPsec就是针对这两类问题而设计的安全协议。通信网络安全标准全文共232页,当前为第56页。

1.IPSec简介

IPSec在IP层提供安全业务的方式是让系统选择所要求的安全协议,决定所需的算法和密钥。安全协议有两个:一个是由协议头,即认证报头AH(AuthenticationHeader)指定的认证协议;另一个是由协议数据包格式,即封装的安全负载ESP(EncapsulatingSecurityPayload)指定的将加密和认证结合起来的协议。安全业务有访问控制、无连接的完整性、数据源的认证性、对重放数据包的拒绝、保密性、受限的业务流保密性等。通信网络安全标准全文共232页,当前为第57页。表7.1显示AH指定的协议(简称AH协议)和ESP指定的协议(简称ESP协议)所能提供的安全业务,其中ESP又分为仅加密和加密与认证结合两种情况。通信网络安全标准全文共232页,当前为第58页。表7.1IPsec的安全业务通信网络安全标准全文共232页,当前为第59页。

2.IPSec的安全功能

IPSec通过在IP层对所有业务流进行加密和认证,保证了所有分布式应用程序(包括远程登录、客户机/服务器、电子邮件系统、文件传输、Web的访问等)的安全性,因此可以提供网络内(包括局域网LAN、广域网WANS等)或网际间的安全通信。例如:公司可在因特网或公用广域网上建立自己的安全虚拟专用网,从而可节省建立并管理自己专用网的支出。配备有IPSec系统的终端用户,可以在本地呼叫因特网服务提供商ISP,以获取对某一公司网络的安全访问。IPSec不仅能用于建立内部网中的连接,而且也能用于建立与外部网的安全连接。某些Web应用程序和电子商务应用程序即使已有自己的安全协议,但使用IPSec可以增加它们的安全性。通信网络安全标准全文共232页,当前为第60页。在IPSec的实际应用中,如果LAN内的通信未考虑安全性,则在用户系统和LAN发出通信业务流时,都需要在网际设备中使用IPSec协议。网际设备指路由器或防火墙等设备,用于将LAN连接到外部网中,网际设备对发往WAN的业务流进行加密和压缩,对来自WAN的业务流进行解密和解压缩。这些运算对LAN上的工作站和服务器都是透明的。通信网络安全标准全文共232页,当前为第61页。3.IPSec的作用

IPSec用于防火墙和路由器等网际设备,可以为通过网际设备的业务流提供强安全业务,且在LAN内(比如一个公司的LAN)的业务无需进行安全性处理。

IPSec用于防火墙,可以防止使用IP的业务流绕过防火墙。

IPSec位于传输层(TCP,UDP)之下,所以它对应用程序来说是透明的,而且,当IPSec用于防火墙或路由器时,无须修改用户或服务器所使用的软件,即使IPSec用于端系统时,上层软件(包括应用程序)也不受影响。通信网络安全标准全文共232页,当前为第62页。

IPSec对终端用户来说是透明的,因此无须对用户进行安全培训,也无须对用户发放或撤销密钥材料。

IPSec除了支持终端用户、保护系统和网络外,还在网络互联所需的路由结构中起着重要的作用,它能保证路由通告(新路由器用于向外界通告自己)来自一个被授权的路由器,保证邻居通告(路由器用于建立或维护与其它路由域中路由器的邻居关系)来自一个授权的路由器,保证重新走向的消息来自于数据包上次到达的路由器,保证路由的更新不被伪造。通信网络安全标准全文共232页,当前为第63页。

4.安全关联安全关联SA(SecurityAssociations)是指由IPSec提供安全服务的业务流的发方到收方的一个单向逻辑关系,用来表示IPSec为SA所承载的数据通信提供安全服务,其方式是使用AH或ESP之一,一个SA不能同时使用AH和ESP保护。因为SA是单向的,所以两个系统之间的双向通信需要两个SA,每一个方向使用一个SA。通信网络安全标准全文共232页,当前为第64页。一个SA可由三个参数唯一地表示为<安全参数索引,目标IP地址,安全协议标识符>这三个参数的含义分别为:安全参数索引SPI指赋值给该SA的比特串,其位置在AH和ESP包头中,作用是使接收系统对收到的数据包能够选择在哪个SA下进行处理,所以SPI只有本地意义;目标IP地址指SA中接收方的IP地址,该地址可以是终端用户系统或防火墙、路由器等网际设备的地址,目前的SA管理机制只支持单目传送地址(即只指定一个用户或网际设备的地址);安全协议标识符表示SA使用的协议是AH协议还是ESP协议。通信网络安全标准全文共232页,当前为第65页。对任何IP数据包,通过IPv4或IPv6包头中的目标地址以及封装扩展包头(AH或ESP)中的SPI,可对SA唯一地识别。

IPSec的实现还需维护两个数据库,即安全关联数据库SAD和安全策略数据库SPD。下面分别对它们进行介绍。通信网络安全标准全文共232页,当前为第66页。

1)安全关联数据库SAD

SAD用于定义每一个SA的参数值,包括:

(1)顺序号:以AH或ESP包头中的32比特值表示。

(2)顺序号溢出标记:表示顺序号的溢出是否能产生一个可审核事件,并防止在这一SA上数据包的进一步传送。

(3)反重放窗口:用以决定收到的AH或ESP数据包是否是重放的。

(4) AH信息:表示AH所使用的认证算法、密钥、密钥有效期等。通信网络安全标准全文共232页,当前为第67页。

(5) ESP信息:表示ESP所使用的认证和加密算法、密钥、初始值、密钥有效期等。

(6) SA的有效期:表示时间间隔,在该间隔以后,SA的关联关系或者结束,或者被一个新SA代替,这一参数值中有一个标识符,用于标识SA是被结束还是被代替。

(7) IPSec的协议模式:协议模式有隧道模式、传输模式或通配符。

(8)路径最大传输单元:指不被分段而能传输的最大数据包长度。通信网络安全标准全文共232页,当前为第68页。其中AH信息和ESP信息分别仅为AH协议和ESP协议所要求,其它参数在两种协议中都被要求。

SA中的密钥管理机制是通过SPI而结合在认证和保密机制中的,因此IPSec在指定认证算法和保密算法时无须考虑特定的密钥管理机制。通信网络安全标准全文共232页,当前为第69页。

2)安全策略数据库SPD

SA能以很多方式产生用户所需的配置,使得IPSec为用户的业务流提供了灵活的安全服务,而且IPSec还在有IPSec安全服务的业务流和允许绕过IPSec的业务流之间提供了高度的颗粒性。一个业务流是被提供安全服务还是让其绕过IPSec,是由是否将业务流关联于一个特定的SA决定的,关联的手段是安全策略数据库SPD。在SPD的最简单形式中,各数据项定义了一个IP业务流子集以及每一个业务流指向一个SA的指针。在较复杂的形式中,多个数据项指向同一个SA,或者一个数据项指向多个SA,而每个数据项是由一个IP集合和IP上层协议字段的选择值定义的。这些选择值用于过滤发出的业务流,以使它映射到一个特定的SA。通信网络安全标准全文共232页,当前为第70页。发出业务流的处理过程如下:(1)在SPD中寻找与业务流数据包相匹配的选择值。(2)由选择值决定该业务流的SA。(3)对业务流进行所需的IPSec处理(如AH处理或ESP处理)。通信网络安全标准全文共232页,当前为第71页。选择值有以下几个:

(1)目标IP地址:可以是单个IP地址,也可以是多IP地址列表或通配符掩码地址。后两种地址用于支持共享同一个SA的多目标地址系统。

(2)源IP地址:可以是单个IP地址,也可以是多IP地址列表或通配符掩码地址。后两种地址用于支持共享同一个SA的多源地址系统。

(3)用户ID:操作系统使用的用户识别符,用户ID不在IP或IP上层协议字段中,但如果IPSec和用户使用的操作系统相同,IPSec就可用用户的ID作为选择值。通信网络安全标准全文共232页,当前为第72页。

(4)数据敏感级:用于为系统提供信息流的安全性。

(5)传输层协议:该选择值是从IPv4的“协议”字段或IPv6的“下一包头”字段得到的,可能是单个协议号、协议号列表或协议号范围。

(6) IPSec协议(AH协议或ESP协议或AH/ESP协议):从IPv4“协议”字段或IPv6的“下一包头”字段得到。

(7)源和目标端口:可以是单个TCP或UDP端口值,也可以是多端目列表或通配符端口。通信网络安全标准全文共232页,当前为第73页。

(8) IPv6业务类:从IPv6包头获得,是IPv6中字段“业务类”的值或是一个通配符。

(9) IPv6业务流标号:从IPv6包头获得,可以是IPv6中字段“业务流标号”的值或是一个通配符。

(10) IPv4服务类型TOS:从IPv4包头获得,可以是IPv4中字段“服务类型”的值或者是一个通配符。

5.AH和ESP的两种使用模式

AH和ESP的两种使用模式分别是传输模式和隧道模式。这里先介绍两种模式的一概念。通信网络安全标准全文共232页,当前为第74页。

1)传输模式传输模式主要用于对上层协议的保护,即将其保护推广到IP数据包的负载,如TCP数据段、UDP数据段或ICMP数据包。传输模式典型地用于两个主机的端—端通信。在IPv4中,负载指位于IP包头之后的数据。在IPv6中,负载指IP包头和扩展包头(除目标地址选项)之后的数据,而目标地址选项也和负载一起受到保护。以传输模式运行的ESP协议对负载进行加密和认证(认证性可供选择),但不对IP包头进行加密和认证。以传输模式运行的AH协议对负载及包头中选择的一部分进行认证。通信网络安全标准全文共232页,当前为第75页。

2)隧道模式隧道模式用于对整个IP数据包的保护,它是将一个数据包用一个新的数据包包装,即给原数据包加一个新的包头,称为外部包头,这样原数据包就成为新数据包的负载。因此原数据包在整个传送过程中就像在隧道中一样,传送路径上的路由器都无法看到原数据包的包头。由于封装了原数据包,因此新数据包的源地址和目标地址都与原数据包的不同,从而增加了安全性。

通信网络安全标准全文共232页,当前为第76页。隧道模式用于SA关系中至少一方是一个安全的网关,例如实现IPSec的防火墙或路由器。通过网关进入局域网中的通信则无须使用IPSec予以保护,而从局域网通过网关发出的数据包则由网关中的IPSec软件建立起隧道模式的SA,并以隧道模式发送。通信网络安全标准全文共232页,当前为第77页。例如,主机A产生一个数据包,其目标地址是另一个网络中主机B的地址,A将自己的数据包发送给所在网络中的防火墙或安全路由器。防火墙过滤自己将发送的所有数据包,以决定哪些需要进行IPSec处理,如果A发往B的数据包需要IPSec处理,防火墙则对其进行处理,并用一个新包头对其封装,新包头中源地址则为防火墙的IP地址,目标地址则是B所在局域网中防火墙的IP地址。数据包在到达B的防火墙前,所有中间路由器仅检查外部包头,到达B的防火墙后,则剥去外部包头,并将原数据包发给B。通信网络安全标准全文共232页,当前为第78页。以隧道模式运行的ESP协议对整个内部数据包(包括包头)加密和认证(认证性可供选择),而AH协议则对整个内部数据包和外部包头中的所选部分进行认证。通信网络安全标准全文共232页,当前为第79页。7.3.3认证头

认证头AH用于保证IP数据包的数据完整性和认证性,并用于防止地址欺骗攻击、消息重放攻击等。其认证性由消息认证码MAC实现,因此要求通信双方有共享的密钥。

AH的数据字段如图7.6所示。通信网络安全标准全文共232页,当前为第80页。图7.6认证头格式通信网络安全标准全文共232页,当前为第81页。

(1)下一包头:字段长为8比特,用来标识下一数据的包头。

(2)负载长度:字段长也为8比特,其值(即负载长度)为以32比特字为单位的AH长度减2(单位为字)。例如:“认证数据”字段的默认长度为96比特,即3个字,此时AH总长为6个字,所以负载长度为4(单位为字)。

(3)保留:字段长为16比特,留待将来可能出现的新用途使用。

(4)安全参数索引SPI:字段长32比特,对收到的数据包能够选择在哪个SA下进行处理。通信网络安全标准全文共232页,当前为第82页。

(5)序列号:字段长32比特,为单调速增的计数器。

(6)认证数据:为可变长字段,但长度必须为32比特的整数倍。字段的值为本数据包所用的完整性检验值ICV,即MAC。所以AH总长为96比特固定部分加上认证数据的可变长部分。通信网络安全标准全文共232页,当前为第83页。

1.防重放攻击

AH头中的“序列号”字段用于防止攻击者截获已经认证过的数据包后实施重放攻击。在新SA建立时,发送方将序列号计数器的初值置为0,每当在这一个SA上发送一个数据包,就将计数器的值加1。因为需防止重放攻击,所以计数器的值不应重复,当达到其最大值232-1时,就应该建立一个新的SA。由于IP服务是无连接的、不可靠的,协议不能保证数据包的发送是按顺序的,也不能保证所有数据包都能被发送,因此接收方为实现认证,可建立一个窗口,如图7.7所示。通信网络安全标准全文共232页,当前为第84页。图7.7防重放攻击窗口通信网络安全标准全文共232页,当前为第85页。窗口W长度默认值为64,图中N为目前收到的数据包的最大序列号,所以窗口中序列号的范围是N-W+1~N。一个数据包如果其序列号落在窗口内,且其MAC经检查也为正确的,则认为该数据包是有效的,相应地在窗口中的窗格内做上标记(图中以阴影表示)。如果序列号落在窗口左边,或落在窗口中但MAC不正确,则认为该数据包是无效的。如果序列号落在窗口右边,且MAC也是正确的,则认为相应的数据包是正确的,此时将窗口右移一格,最大序列号为原来的N加1,并对相应的窗格做上标记。通信网络安全标准全文共232页,当前为第86页。

2.完整性校验值ICV认证头AH中,字段“认证数据”的值称为完整性校验值ICV。ICV是由MAC算法产生的消息认证码或截短的消息认证码。当前规定的算法为HMAC-MD5-96或HMAC-SHA-1-96,表示MAC算法为HMAC,所用散列算法分别为MD5和SHA,96表示“认证数据”的默认字段长。因此,由HMAC产生出的消息认证码还需被截短,截短方式为取前96比特。通信网络安全标准全文共232页,当前为第87页。用HMAC求MAC时算法的输入为:

(1) IP包头在传输期间不变的字段或接收方可预测的字段,其它字段则全置为0。

(2) AH头中除“认证数据”字段外的其它所有字段,“认证数据”字段被置0。

(3)所有的上层协议数据(如TCP数据段或隧道模式时的内部IP数据包),上层协议数据在传输期间是不变的。通信网络安全标准全文共232页,当前为第88页。

3.AH的传输模式传输模式用于两个主机之间的端到端通信,而网关可以不支持传输模式。在这种模式中,将认证头AH插到原始IP数据头后面,其作用是对IP包除可变字段外的其它字段提供认证功能。传输模式的优点是额外开销较小,缺点是无法对可变字段进行保护。

IPv6中的AH被视为端到端的负载,即在传输过程中的路由器不对其进行检查和处理。因此AH头的位置在IP包头以及“逐跳”、“路由”、“分段”等扩展报头之后,而另一扩展头部“目的方”可在AH头之前,也可在报头之后通信网络安全标准全文共232页,当前为第89页。IPv4和IPv6的AH传输模式如图7.8所示。图7.8IPv4和IPv6的AH传输模式通信网络安全标准全文共232页,当前为第90页。

4.隧道模式隧道模式用于SA关系中,至少有一方是安全网关。这时将需保护的原数据包用一个新数据包封装,即将原数据包作为新数据包的负载,称新数据包为隧道数据包,然后再对隧道数据包使用传输模式的AH,即将AH插到隧道数据包中新IP包头的后面,如图7.9所示。隧道模式的主要优点是可对被封装的数据包提供完全的保护,缺点是有额外的处理开销。通信网络安全标准全文共232页,当前为第91页。图7.9隧道模式下的AH通信网络安全标准全文共232页,当前为第92页。7.3.4封装安全负载封装安全负载ESP用于提供保密性业务,包括对消息内容的保密性和通信流量的保密性。ESP也提供作为可选项的认证业务。

1.ESP数据包格式通信网络安全标准全文共232页,当前为第93页。

ESP数据包格式如图7.10所示,包括以下字段。

(1)安全参数索引(SPI):字段长32比特,用于标识SA关联。

(2)序列号(SN):字段长32比特,是一个单调递增的计数器,用于防重放攻击。

(3)负载数据:字段长可变,是经加密保护的传输层数据段(传输模式)或IP数据包(隧道模式)。

(4)填充:字段长范围为0~255字节。通信网络安全标准全文共232页,当前为第94页。

(5)填充长度:字段长8比特,表示前一字段以字节为单位的长度。

(6)下一负载头:字段长8比特,通过表示负载数据的第一个ESP头(如IPv6的一个扩展头或TCP等上层协议)而表示负载数据的数据类型。

(7)认证数据:字段长可变(然而必须是32的整数倍),为前面各字段计算出的完整性校验值ICV。其中“安全参数索引”、“序列号”构成了ESP头,“填充”、“填充长度”和“下一负载头”三个字段构成了ESP的报尾。通信网络安全标准全文共232页,当前为第95页。图7.10ESP数据包格式通信网络安全标准全文共232页,当前为第96页。

2.ESP所用的加密算法和认证算法

ESP保密业务为负载数据、填充、填充长度、下一负载头四个字段提供加密,如果加密算法需要初始向量,则将初始向量以明文形式放在负载数据头部。

ESP要求支持CBC模式的DES,同时支持的加密算法还有三个密钥的三重DES、RC5、IDEA、CAST、Blowfish等。和AH一样,ESP支持的消息认证码的默认长度为96比特,支持的算法为HMAC-MD5-96和HMAC-SHA-1-96。通信网络安全标准全文共232页,当前为第97页。

3.填充填充有三个作用:第一个作用是如果加密算法要求明文长为某一字节的倍数(如分组加密算法明文长为分组长的倍数),则通过填充可将明文(包括负载数据、填充、填充长度、下一负载头)扩展为所需的长度;第二个作用是ESP的格式要求“填充长度”字段和“下一负载头”字段在一个32比特的字中是右对齐的,填充用于保证这种对齐;第三个作用是通过填充可隐藏负载数据的实际长度,因此还能对业务流提供部分保密性。通信网络安全标准全文共232页,当前为第98页。

4.ESP传输模式与AH一样,传输模式的ESP也用于两个主机之间的端到端通信。这种模式中将ESP报头插入到原始IP数据包的包头后面,而ESP报尾和认证数据则放在原始数据报的负载之后。传输模式下的ESP未对原始IP包头提供加密和认证,这是它的一个缺点,因为误传的数据包也会交给ESP处理,且攻击者有可能对所传的数据包进行业务流量分析。它的优点是对原始IP数据包的长度增加很少,因此处理开销增加不多。通信网络安全标准全文共232页,当前为第99页。在IPv6中,ESP被视为端到端的负载,即在传输过程中的路由器不对其进行检查和处理,因此ESP报头的位置在IP包头以及“逐跳”、“路由”、“分段”等扩展头部之后,而另一扩展头部“目的方”选项可在ESP包头之前,也可在包头之后。通信网络安全标准全文共232页,当前为第100页。

5.隧道模式和AH一样,隧道模式也用于SA关系中至少有一方是一个安全的网关。这时将需保护的数据包用一个新数据包封装,即将原数据包作为新数据包的负载,称新数据包为隧道IP数据包,然后再对隧道IP数据包实施传输模式的ESP。通信网络安全标准全文共232页,当前为第101页。由于原始数据包成了新数据包的负载,因此得到了完全的安全性保护。不过新IP包头仍是未加保护的。隧道模式下,外层包头(即新IP包头)中的IP地址可以和内部包头(即原始报头)的IP地址不一样,例如两个网关可以通过ESP隧道对它们之间的全部流量进行安全保护。通信网络安全标准全文共232页,当前为第102页。7.3.5SA束一个SA能够实现AH协议或ESP协议,但却不能同时实现这两种协议。然而有些业务流可能要求同时实现两种协议,即要求在主机间和网关间都实现IPSec业务,这时就要求建立起多个SA,以实现所需的IPSec业务。称这种多个SA序列为SA束,同一束上的SA的端点既可以相同,也可以不同。通信网络安全标准全文共232页,当前为第103页。创建SA束的方式有两种。一种方式是传输相邻,指对同一个IP数据包多次应用非隧道模式的AH和ESP两个协议。这种方式只允许将AH和ESP组合为一层,这是因为只有数据包的目标方才对其进行处理,嵌套方式不会增加任何好处。第二种方式是重复隧道方式,指对同一个IP数据包在隧道模式下多次使用两种协议,即每使用一次协议,都生成一个新的IP数据包,下一个协议再对数据包封装。由于各个隧道的起点和终点可以不同,因此这种方法允许使用多层嵌套。通信网络安全标准全文共232页,当前为第104页。这两种方式可以结合起来使用,例如两个网关之间的SA使用重复隧道方式,而在网关之间的部分路段上的主机之间的SA使用传输相邻方式。

1.SA组合方式下的安全业务下面考虑在两个主机之间为IP数据包提供安全业务时,认证和保密的组合次序。通信网络安全标准全文共232页,当前为第105页。

1)具有认证业务的ESP在传输模式和隧道模式的ESP中,用户首先用ESP对需保护的数据加以封装,然后再附加上“ESP认证数据”字段。实际上又有两种情况:

(1)传输模式下的ESP:对发往主机的IP负载既提供认证又提供加密,但却未对IP包头加以保护。

(2)隧道模式下的ESP:对发往网关的整个IP数据包(外部IP数据包)提供认证,整个内部IP数据包则被加密。以上两种情况中,认证都是作用于密文而非明文,即先加密,后认证。通信网络安全标准全文共232页,当前为第106页。

2)传输相邻先加密后认证的另一种方式是使用两个传输SA,内部是一个ESPSA,外部是一个AHSA,其中ESP不选择使用认证业务,这是因为在内部SA中,对IP负载加密后,再在前面加一个新的IP包头(在IPv6下还有IPv6的扩展字段),然后再作用于外部AH。所以整个认证的范围包括内部ESP及内部新IP包头(以及IPv6下的扩展字段)中除可变长字段外的各字段。与具有认证选择的单个ESP相比,这种方案的优点是认证的范围包括了更多的字段(如源IP地址和目标IP地址等),缺点是两个SA增加了处理开销。通信网络安全标准全文共232页,当前为第107页。

3)传输-隧道两层SA前两种方式都是先加密后认证,然而先认证后加密比先加密后认证更具优势。这是因为:首先,认证数据经加密保护后,使得他人无法篡改认证数据;其次,认证数据和明文数据放在一起可方便以后的认证,否则将认证数据和密文数据放在一起的话,认证时还需对明文数据重新加密。通信网络安全标准全文共232页,当前为第108页。在两个主机间先认证后加密的一种方式是使用由两个SA构成的SA束,一个是传输模式下的AH(内部),另一个是隧道模式下的ESP。此时认证的范围是IP负载和除可变字段外的IP包头,由此产生的IP数据包再被隧道模式下的ESP处理,即再对经认证的整个内部数据包加密,并加上一个新的外部IP包头(IPv6时,还有扩展字段)。通信网络安全标准全文共232页,当前为第109页。

2.SA的基本组合

SA的基本组合方式有四种,每种组合中设备之间是通过物理连接而连接到因特网或者内部网络的,其连接方式可以通过SA(一个或多个)的逻辑连接(即传输或者隧道)表述,凡是处于逻辑连接两端的设备都可以实现IPSec。每个SA所承载的通信服务或为AH,或为ESP,对主机到主机的SA、AH或ESP的使用模式可以是传输模式,也可以是隧道模式。如果SA的两个端点中至少有一个为网关(如防火墙、路由器),则AH或ESP的使用模式必须是隧道模式。通信网络安全标准全文共232页,当前为第110页。不同的组合方式可以分别用来支持认证、加密、先认证再加密以及先加密后认证。第一种情况如图7.11所示,它对实现IPSec的两个端系统提供安全业务,两个端系统必须有共享的密钥。此时SA的组合方式可能有传输模式下的AH、传输模式下的ESP、传输模式下的AH后跟传输模式下的ESP(即AHSA在ESPSA的内部)以及前三种方式中的任一种在一个传输模式下的AH或ESP中。通信网络安全标准全文共232页,当前为第111页。图7.11主机传输连接通信网络安全标准全文共232页,当前为第112页。第二种情况如图7.12所示,两个主机未实现IPSec,因此仅在两个网关之间提供安全业务。此时仅需一个隧道模式下的SA,可用于支持AH、ESP或具有认证选择的ESP。由于IPSec安全业务作用于整个内部数据包,因此不需要使用嵌套的隧道模式。图7.12安全网关隧道连接通信网络安全标准全文共232页,当前为第113页。第三种情况如图7.13所示,它是在第二种情况的基础上增加了端到端的安全业务,其中两个网关之间SA的组合可用第二种情况的方式,两个主机之间SA的组合可用第一种情况的方式。通信网络安全标准全文共232页,当前为第114页。图7.13主机传输连接且安全网关隧道连接通信网络安全标准全文共232页,当前为第115页。第四种情况如图7.14所示,表示一个具有IPSec的远程主机通过因特网到达某一组织的防火墙,然后访问防火墙后面的本地主机(如服务器或工作站)。此时在远程主机和防火墙之间只要求使用隧道模式,而在远程主机和本地主机之间,则使用一个或两个SA。图7.14主机传输连接且主机与安全网关隧道连接通信网络安全标准全文共232页,当前为第116页。7.3.6密钥管理

IPSec的密钥管理包括密钥的确定和密钥的分布,分为手工密钥管理和自动密钥管理。手工方式指系统管理员以手工方式为每一系统配置该系统自己的密钥和其它系统的密钥,这种方式仅在相对稳定的小环境中才有实际价值。自动方式是指系统能够自动地按要求为SA产生密钥,这种方式对分布式大系统的密钥管理极为方便。通信网络安全标准全文共232页,当前为第117页。

IPSec默认的自动密钥管理协议称为ISAKMP/Oakley,包括Oakley密钥确定协议及因特网安全关联和密钥管理协议ISAKMP。 Oakley是基于Diffie-Hellman算法的密钥交换协议,但比起Diffie-Hellman来,Oakley又提供了额外的安全性。ISAKMP提供了一个因特网密钥管理框架,并为安全属性的协商提供了特定的协议支持。

SAKMP本身并未指定密钥交换算法,而是由一些消息类型构成,这些消息类型分别指定了不同的密钥交换算法。Oakley是初版ISAKMP使用的指定密钥交换算法。通信网络安全标准全文共232页,当前为第118页。

1.Oakley密钥交换协议

Oakley密钥交换协议是Diffie-Hellman密钥交换协议的改进。在Diffie-Hellman密钥交换协议中,通信双方A和B应事先协商好两个全局参数:q是一个大素数,g是q的一个本原根。A选一随机整数Xa作为自己的私有密钥,计算Ya=gXa作为公开密钥发送给用户B。用户B选随机整数Xb作为自己的私有密钥,计算Yb=gXb作为自己的公开密钥发送给用户A。此时A、B双方都可以求出他们之间的秘密会话密钥:

K=YbXamodq=YaXbmodq=gXaXbmodq通信网络安全标准全文共232页,当前为第119页。

Diffie-Hellman协议有两个特性:一是密钥仅当需要时才被建立,且没有必要长期保存,可防止密钥泄露的危险性;二是协议除要求有预先协商好的全局参数外,不要求有其它预先已存在的设施。

Diffie-Hellman协议有三个弱点:协议未提供有关通信双方的任何身份信息;易受中间人攻击;协议的计算量很大,因此受拥塞。通信网络安全标准全文共232页,当前为第120页。

Oakley的目的是继承Diffie-Hellman协议的优点,同时摒弃其弱点。 Oakley有5个特性:利用cookie机制来防止拥塞攻击;可使通信双方协商Diffie-Hellman密钥交换所用的群,即协商所需的全局参数;使用一次性随机数防止重放攻击;可使通信双方交换Diffie-Hellman公钥;对Diffie-Hellman密钥交换过程加以认证,以防止中间人攻击通信网络安全标准全文共232页,当前为第121页。

cookie机制要求通信双方在首次发送的消息中有一个伪随机数,称这一个伪随机数为cookie,要求对方对这个cookie做出应答。如果源地址是伪造的,攻击者就无法对其做出应答。cookie的产生应满足三个条件:第一,由用户自己产生并防止攻击者获取,否则攻击者就可通过随机选择的IP地址或端口冒充合法用户;第二,除发出cookie的用户外,其它人都不能产生该用户可接受的cookie,这意味着用户是根据自己的秘密信息产生和验证cookie的,同时其它任何人都不能由用户的cookie得到用户的秘密信息,这就要求用户不要存储自己产生的cookie,以防其泄露,但用户在需要时又能够对收到的cookie应答予以验证;第三,cookie的产生和验证速度要快,以防攻击者对处理器资源的故意耗费。通信网络安全标准全文共232页,当前为第122页。

Oakley建议对IP用户源地址和目标地址、UDP源端口和目标端口、用户自己产生的秘密值作为快速散列函数(如MDS)的输入来产生cookie。

Oakley支持在不同群中使用Diffie-Hellman密钥交换,每个群都定义了两个全局变量。目前使用的群有:通信网络安全标准全文共232页,当前为第123页。

768比特长的模数q=2768-2704-1+264×([2638×]+149686),q的本原根g=2。

1024比特长的模数q=21024-2960-

1+264×([2894×]+129093),q的本原根g=2。

1024比特长的模数q,q的具体值未定。模数为2155的椭圆曲线群,群的生成元为(X,Y)=(7B,1C8),曲线参数A=0,B=7338F。模数为2185的椭圆曲线群,群的生成元为(X,Y)=(18,D),曲线参数A=0,B=1EE9。用于防重放攻击的一次性随机数是由本地产生的伪随机数,在交换协议中作为密文出现在应答中。通信网络安全标准全文共232页,当前为第124页。

Oakley的认证方法有三种:第一种方法是数字签名,用户首先根据某些重要参数,如用户的ID和一次性随机数产生出散列值,然后用自己的密钥对散列值签字;第二种方法是公钥加密,用户通过用自己的密钥加密自己的ID和一次性随机数等重要参数来实现对交换的认证;第三种方法是单钥加密,用户用双方共享的密钥加密ID和一次性随机数等重要参数。通信网络安全标准全文共232页,当前为第125页。2.ISAKMP

ISAKMP定义了SA的建立、协商、修改、删除等所需的过程和数据报格式,其中数据报格式提供了一个不依赖于特定密钥交换协议、加密算法和认证机制的框架。

1) ISAKMP的报头格式

ISAKMP消息由报头和一个或多个负载以传输模式构成,其报头格式如图7.15所示。通信网络安全标准全文共232页,当前为第126页。图7.15ISAKMP报头格式通信网络安全标准全文共232页,当前为第127页。

ISAKMP报头字段意义描述如下:

(1)发起方cookie:字段长64比特,用于表示开始SA的建立、SA的发布或删除。

(2)应答方cookie:字段长64比特,是对发起方做出应答的一方的cookie。在发起方首次发来的消息中,该字段为空。

3)下一负载:字段长8比特,表示消息中第一个负载的类型。

(4)主版本号:字段长4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论