1、第7章 通信网络安全标准 第第7章章 通信网络安全标准通信网络安全标准 7.1 概述7.2 安全体系结构7.3 IPSec安全协议7.4 SSL安全协议7.5 TLS安全协议7.6 无线通信网络安全协议7.7 小结习题第7章 通信网络安全标准 7.1 概概 述述 在一个分层的通信网络体系结构中,开发标准以支持安全性是一件很复杂的事情,因为体系结构中所有的组成部分都将受到影响,包括所有的层协议和应用程序。其关键问题是,不仅要提供必要的安全功能,而且要确保标准有效实现的成本。在考虑把安全性加入OSI体系结构时,显然应采取统一、协调的步骤,才能开发出一组广泛适用的、连贯的安全标准。这里简要介绍一组根
2、据这个原则开发出来的标准以及把标准组协调到一起的中心标准,它们是OSI体系结构的一部分,但同样适用于非OSI体系结构。第7章 通信网络安全标准 这些安全标准可以分成以下几大类:(1)安全体系结构和框架标准:是设计其它类标准的参考。(2)分层安全协议标准:各层(如网络层和传输层)独立于应用的协议规范。低层安全协议包括传输层安全协议(TLSP)、网络层安全协议(NLSP)、局域网协同安全标准(SILS)中的安全数据交换(SDE)协议。高层安全协议位于应用层和表示层,它们使具体应用能够提供安全性,包括ACSE认证选项、协议设计工具(安全交换服务元素、ASN.1保护表示法、保护性传输语法,这些工具构成
3、通用高层安全标准GULS)。第7章 通信网络安全标准(3)安全技术标准:一些广泛适用的技术规范,如认证交换和数字签名机制。这些标准与分层、具体应用无关。(4)具体应用安全标准:是应用标准(如电子邮件、目录服务、消息处理)的组成部分或扩展。(5)安全管理标准:支持安全功能管理或为网络管理通信提供保护的规范。本章主要介绍前两类标准,后三类标准在本书的其它有关章节也有所涉及。第7章 通信网络安全标准 7.2 安全体系结构安全体系结构 OSI安全体系结构的研究由ISO/IEC JTC1/SC21于1988年完成,其制定的标准是ISO 7498-2标准,作为OSI基本参考模型的新补充。1990年,ITU
4、决定采用ISO7498-2作为它的X.800推荐标准。第7章 通信网络安全标准 7.2.1 OSI安全体系结构简介安全体系结构简介OSI安全体系结构定义了许多术语和概念,在整个开放系统安全标准中,它们随处可见。它还建立了一些重要的结构性准则,其中比较重要的内容包括术语、安全服务和安全机制的定义等。事实上,OSI安全体系结构不是具体实现的标准,而是如何设计标准的标准。第7章 通信网络安全标准 OSI安全体系结构的第三款给出了标准族中的部分术语的正式定义,尽管不一定是最好的定义,但还是有一定的参考价值的。值得一提的是,虽然在后来的开放系统的安全研究中,大体上采用了这些术语,但有些术语(如证书、对等
5、实体认证、安全策略、安全服务)定义得太窄,这是因为该标准的范围只限于OSI体系结构。在其它标准中对某些术语采用了更广的定义。第7章 通信网络安全标准 在ISO 7498-2定义了所有安全服务及其变体,并且对定义有详细说明,OSI安全体系结构没有详细说明这些安全服务应该如何来实现。作为指南,它给出了一系列可用来实现这些安全服务的安全机制,其中大部分安全服务和安全机制的内容在第5章已做了详细介绍,这里就不再详述。第7章 通信网络安全标准 7.2.2 OSI分层安全服务分层安全服务OSI安全体系结构最重要的贡献是它总结了各项安全服务在OSI 7层中的适当配置位置,说明了参考模型中各个层次应提供哪些安
6、全服务。有关各层提供的主要安全服务说明如下:(1)物理层:提供连接机密性和业务流机密性服务,这一层没有无连接服务。(2)数据链路层:提供连接机密性和无连接机密性服务,物理层以上不能提供完全的业务流机密性。第7章 通信网络安全标准(3)网络层:可以在一定程度上提供认证、访问控制、机密性(除了选择字段机密性)和完整性(除了可恢复的连接完整性、选择字段的连接完整性)服务。(4)传输层:可以提供认证、访问控制、机密性(除了选择字段机密性、业务流机密性)和完整性(除了选择字段的连接完整性)服务。(5)会话层:不提供安全服务。第7章 通信网络安全标准(6)表示层:表示层本身不提供安全服务,然而,表示层提供
7、的设施支持应用层向应用程序提供安全服务,所以规定表示层的设施将支持基本的数据机密性服务,也可以支持认证、完整性和非否认服务。(7)应用层:必须提供所有的安全服务,并且这是唯一能提供选择字段服务和非否认服务的一层。第7章 通信网络安全标准 7.2.3 OSI安全框架安全框架在OSI网络体系结构完成后,就启动了开放系统安全框架规划项目,其目标是开发一个由多部分组成的标准,其中每部分应详细论述OSI安全体系结构指出的基本安全主题,包括认证、访问控制、机密性、完整性和非否认性,后来还增加了安全审计。第7章 通信网络安全标准 安全框架规划项目仍由 OSI安全体系结构的开发者ISO/IEC JTC1/SC
8、21/WG1工作组完成,该框架对OSI安全体系结构做了很大的扩展,而实际上他们声称的范围更广。其目标是解决开放系统中的安全服务问题。在这里,开放系统涵盖了数据库、分布式应用、开放分布式处理和OSI。该框架对整个标准化进程的贡献是给出了一些概念、术语作为其它标准的基础,这使得其它标准能够更好地互动,避免不必要的重复制定概念。与OSI安全体系结构一样,该框架是制定标准的标准,而不是实现的标准。第7章 通信网络安全标准 该框架定义了一些通用的概念,它们对于提供安全服务很重要,这些概念包括:(1)安全策略:用于限定一个或一组对象进行安全相关活动的规则集。它说明在某一安全区域内,安全指的是什么,为达到这
9、一安全应遵从的规则,以及哪些活动应该受限制。安全策略还可能说明哪些规则限定了与其它安全区域的关系。(2)安全机构:该实体对安全策略的实现负责,它可以使用安全策略限制其它实体的活动。第7章 通信网络安全标准(3)安全区域:一组对象,加上安全策略、安全权威机构和一组与安全相关的活动。它们的关系是对象在进行与安全相关的活动时,安全权威机构要根据安全策略对其进行管理。(4)安全交互规则:在安全区域之间进行交互应遵守的规则。安全证书和安全令牌的概念应用于制定安全协议之中。前者表示一组与安全有关的数据,由颁布它的安全机构保证它的完整性和数据起源认证。它包括证书所有者、颁布者以及生存期等。这个一般的定义涵盖
10、了公钥证书和访问控制证书。后者表示由非安全机构颁布的一组与安全有关的数据,也能保证完整性和数据起源认证。第7章 通信网络安全标准 安全框架系列(ISO/IEC 10181)包括7部分(也有可能会进一步扩展),它们是:(1)安全框架综述。综述的目的有两个,一是一般性地介绍这个由多部分构成的标准,二是定义出现在多个部分中的一组术语、概念,以及一些有用的术语,如封装、单向函数、私钥、公钥、秘密密钥。(2)认证框架。认证框架是安全框架系列中最早完成的部分,它定义了有关认证原理和认证体系结构的重要术语,提出了对不同的认证交换机制的高级分类方法。(3)访问控制框架。访问控制框架是继认证框架之后完成的,该框
11、架的最大贡献是定义了在网络环境下提供访问控制的术语和体系结构模型。第7章 通信网络安全标准(4)非否认框架。描述了开放系统中的所有非否认方面,包括为数据接收者提供的起源证明的概念和为数据发送者提供的传递证明的概念。(5)机密性框架。陈述了开放系统中的所有机密性方面,主要说明了如何通过访问控制或其它方法来保护敏感数据,指出了机密性机制的可能分类,对每个机密性机制定义了服务和重要的抽象数据类型,陈述了与其它安全服务和机制的相互作用。第7章 通信网络安全标准(6)完整性框架。主要陈述了开放系统中所有关于数据完整性的内容,确保未授权改变或者可以被阻止(如访问控制),或者可以被检测出(如在非安全媒介上的
12、密码校验和)。(7)安全审计框架。这个框架是后来根据技术发展的需要才增加的一个框架,以测试系统控制是否充分,确保系统符合安全策略和操作规程,检测安全漏洞,并提出对控制、策略和规程的修改建议。第7章 通信网络安全标准 这里我们只对认证框架做较为详细的介绍,以便读者了解这些框架的定义格式和描述风格。认证框架中定义了一些常用的术语,包括主体、声称者、验证者等。主体定义其身份可被验证的实体;声称者定义被验证身份的主体或主体的代表;验证者定义要验证对方身份的实体或实体的代表。第7章 通信网络安全标准 认证框架使用术语声称者、验证者和可信第三方来描述认证模型。可信第三方有多种形式,如在线可信第三方(比如A
13、NSI X.17密钥分配中心和Kerberos认证服务器)、离线可信第三方(比如通过目录服务颁布证书的证书机构)等。第7章 通信网络安全标准 认证框架还定义了几种认证信息,其中三个主要的信息是:交换认证信息,指在认证一个主体的过程中声称者和验证者交换的信息;声称者认证信息,指认证过程中声称者用来产生交换认证信息的信息;验证者认证信息,指认证过程中,验证者在验证交换认证信息中所声称的身份时用到的信息。例如,在一次认证过程中,声称者发出一条用自己的私钥签名的消息,验证者用待验证的主体的公钥检验该签名。在这里,签名的消息就是交换认证信息,私钥就是声称者认证信息,而该主体的公钥则是验证者认证信息。第7
14、章 通信网络安全标准 用上面的术语可以描述各种不同的认证模型,其中主要有基本认证、内联式认证、在线认证以及离线认证模型。基本认证模型如图7.1所示,用于没有可信第三方的场合。图7.1 基本认证模型第7章 通信网络安全标准 在图7.2所示的内联式认证中,主体的身份被中间者认证,并且为它提供担保。图7.2 内联式认证模型第7章 通信网络安全标准 在图7.3所示的在线认证模型中,有一台在线认证服务器,声称者从它获得一个通行证,并传给验证者,或者验证者同服务器进行交互以完成认证。图7.3 在线认证模型第7章 通信网络安全标准 图7.4所示的模型是离线服务器的情况,例如颁发证书的目录服务。图7.4 离线
15、认证模型第7章 通信网络安全标准 认证框架还说明了认证过程各个阶段的行为,以此为基础定义了一系列认证设施。各个阶段分别如下:(1)初始化:确定主体的声称者认证信息和验证者认证信息。(2)改变认证信息:主体或管理员修改声称者认证信息或验证者认证信息(如口令)。(3)分发:验证者认证信息(如公钥证书)被发给需要的实体,这可能早于或紧接在认证请求之后。第7章 通信网络安全标准(4)获取:声称者或验证者在线获取信息以进行某次认证(如从在线认证服务器获取通行证)。(5)传输:声称者和验证者传输交换认证信息。(6)验证:在验证者这一端,处理交换认证信息和验证者认证信息,做出认证决策。这一步可能需要与可信第
16、三方做进一步的交互。(7)禁止:某个主体的认证权被暂时吊销。(8)恢复:恢复被禁止的主体的认证权。(9)删除:永久删除某个主体。第7章 通信网络安全标准 认证设施分成两类,一类是与管理有关的设施,包括初始化、改变认证信息、分发、禁止、恢复和删除。标准没有说明如何实现这些服务,列出它们的目的是为与认证相关的管理活动提供标准术语。另一类是与操作有关的设施,包括获取、验证和生成(声称者用来产生交换认证信息,用以传给验证者,例如在一段认证数据上签名)。与这三个设施相关的信息流如图7.5所示。这些设施为进行认证提供直接的支持,可以把它们实现成为应用程序接口(API),有助于认证软件的模块化。第7章 通信
17、网络安全标准 例如,与机制无关的标准接口可以这样实现:声称者调用generate例程(生成服务),验证者调用verify例程(验证服务),双方都调用(或不调用)acquire例程(获取信息服务)。这种设施模型也可用在双向认证中,不过这时生成服务和验证服务合并到一起。认证框架还把认证机制按抵抗窃听和重放攻击的能力进行分类。但是,这种分法实用性有限,因为最简单的模型也混用了多种技术(例如,非密码技术、对称密码技术、公钥密码体制),也都采用了实体认证和数据起源认证。第7章 通信网络安全标准 图7.5 操作设施信息流第7章 通信网络安全标准 OSI安全体系结构和框架标准作为“标准的标准”有两个实际用途
18、:一个是为以后设计可实现的安全标准提供指南;另一个是为以后的标准术语提供参考源。第一个用途已经被广泛应用。特别地,关于各种安全服务在OSI中的分层配置的论述,导致了其后的安全协议标准化工作分成两个方向进行,即低层和高层。低层有详尽的传输层和网络层安全协议,还制定了局域网安全协议,以及在数据链路层和物理层上的针对具体子网技术的安全特征;高层利用表示层提供的功能,在应用层上确定了通用的安全协议和特定应用的安全协议。第7章 通信网络安全标准 随着后继标准的相继实现,OSI安全体系结构的指导作用正逐渐减弱。然而,它作为参考源的角色将持续很长时间,因为标准的使用者总会需要概念、术语的正式定义。第7章 通
19、信网络安全标准 7.3 IPSec安全协议安全协议IPSec是指IETF以RFC形式公布的一组安全IP协议集,是在IP包级为IP业务提供保护的安全协议标准,其基本目的就是把安全机制引入IP协议,通过使用密码学方法支持机密性和认证性服务,使用户能有选择地使用,并得到所期望的安全服务。第7章 通信网络安全标准 OSI将计算机通信网络按层进行划分,显然,网络的安全性也需从协议层加以考虑。例如,为保证自己专用TCP/IP网络的安全性,可对从自己网络发出的数据包进行加密,对进入自己网络的数据包进行认证,同时不允许对不可信站点的连接,这些安全策略的实施是在IP层上进行的。IP层的安全性包括认证、保密和密钥
20、管理三个方面。认证可保证收到的数据包的确是由数据包包头所标识的数据源发来的,而且可以保证数据包在传输期间未被篡改;保密可保证数据在传输期间不被第三方窃听;而密钥管理则解决密钥的安全交换问题。第7章 通信网络安全标准 7.3.1 IP协议的安全缺欠协议的安全缺欠在TCP/IP体系结构中,IP层本身并不提供任何安全保证,IP包可能会被监听、拦截或者重放,地址可以被伪造,内容可能会被修改。因此,IP层本身不提供源认证,也无法保证包含的是发送方当初放在其中的原始数据,更无法保证原始数据的保密性。第7章 通信网络安全标准 通信网络的基本协议是TCP/IP协议,因为它向其它运行在网络层中或网络之间的协议提
21、供数据传送服务。TCP/IP网络中的IP就如同邮政服务中的“标准信封”,在这个基本的、有效的传送机制中,任何种类的数据都能插入到该“标准信封”中。因为IP需要用于传送大量不同类型的数据,所以在设计中,IP只向上层提供所需的最小服务,而把诸如分组确认、流量控制这类功能留给了TCP等上层协议。一般来说,IP是个廉价的初级邮件服务,在此基础上如果需要提供特殊保障的话,可以再在IP头中增加附加选项,就像寄一个挂号邮件或其它特殊邮件一样。它在安全服务、安全过程等方面都存在缺欠。第7章 通信网络安全标准 1IPv4服务的不安全性服务的不安全性IP所提供的服务通常被认为是无连接的和不可靠的。事实上,在网络性
22、能良好的情况下,完全可以指望IP传送的数据能够完好无损地到达目的地。所谓无连接的传输,是指在没有确定源系统的存在,也没有确定目的系统已做好接收数据准备之前就发送数据。与此相对应的就是面向连接的传输(例如TCP就可以提供这类传输),在这类传输中,源系统与目的系统在应用层数据传送之前需要进行一次握手。第7章 通信网络安全标准 不可靠的服务是指目的系统不对成功接收的分组进行确认,IP只是尽可能地使数据传输成功。不过,只要需要,上层协议必须实现用于保证分组成功提供的附加服务。IP包头中的服务类型TOS字段对服务质量进行划分,当前人们对如何在基于TCP/IP的因特网中提供保证服务质量的研究十分关注,而分
23、等级服务的技术基础则依赖于对网络IP数据包的传输质量的保证。第7章 通信网络安全标准 IP只提供无连接、不可靠的服务,而把诸如差错检测和流量控制之类的服务授权给了其它的各层协议,这正是TCP/IP能够高效率工作的一个重要保证。这样,可以根据传送数据的属性来确定所需的传送服务以及客户应该使用的协议。例如,传送大型文件的FTP会话就需要面向连接的、可靠的服务(因为如果稍有损坏,就可能导致整个文件无法使用)。当FTP的数据到达网络层之后,文件被分为小片,这些片称为IP数据包,并且作为独立的单元交给IP传送。IP提供无连接、不可靠的服务这一特性,无法保证数据的完整性。第7章 通信网络安全标准 2IPv
24、4操作过程的不安全性操作过程的不安全性尽管IP传输缺少面向连接的服务和可靠的质量保证,但是IP仍然承担了大量的责任。实际上,IP涉及到了TCP/IP传输中的一些最复杂的操作,归纳起来,IP协议定义的主要功能包括以下内容:第7章 通信网络安全标准(1)将上层数据(如TCP、UDP数据)或同层的其它数据(如ICMP数据)封装到IP数据包中。(2)将IP数据包传送到最终的目的地。(3)为了使数据能够在链路层网络上进行传输,对数据进行分段。(4)确定数据包到达其它网络中的目的地的路径。总的来说,IP需要定义一系列的功能,决定如何创建数据包,如何使数据包通过一个物理网络。当数据信息发送到计算机时,IP协
25、议软件执行一组任务,当从另一台计算机那里接收数据信息时,IP协议软件执行另一组任务。第7章 通信网络安全标准 当发送数据时,源计算机上的IP协议软件必须确定目的地是在同一个网络(本地)上,还是在另一个网络上,IP通过执行这两项计算并对结果进行比较,确定数据到达的目的地。如果两项计算的结果相同,则数据的目的地确定为本地,否则,目的地应为远程的其它网络。如果目的地在本地,那么IP协议就启动直达通信。如果目的地是远程计算机,那么IP必须通过网关(或路由器)进行通信,在大多数情况下,这个网关应当是默认网关。当源IP完成了数据包的准备工作时,它就将数据包传递给网络访问层,网络访问层再将数据包传送给传输介
26、质,最终完成数据帧发往目的计算机的过程。第7章 通信网络安全标准 当数据抵达目的计算机时,网络访问层首先接收该数据。网络访问层要检查数据帧有无差错,并将数据帧送往正确的物理地址。假如数据帧到达目的地时正确无误,网络访问层便从数据帧的其余部分中提取数据的有效负载,然后将它一直传送到帧层次类型字段指定的协议中。在这种情况下,可以说数据有效负载已经传递给了IP。第7章 通信网络安全标准 当接收到来自网络访问层的数据包时,IP首先要确定数据包本身在传递过程是否出现差错。接着,IP对数据包中包含的目的IP地址与计算机的IP地址进行比较,以确定数据包是否已经送达正确的计算机。IPv4在数据包传输的过程中,
27、没有进行强制的认证和安全检查。第7章 通信网络安全标准 3IPv6的安全特性的安全特性鉴于IPv4在安全性、地址长度以及数据延时等方面存在的诸多局限性,IETF成立了一个专门委员会,制定了新一代网际协议IPv6。作为新一代的IP协议,IPv6具有以下5个方面的特性。第7章 通信网络安全标准 1)扩展地址空间,增强路由由于IPv6地址由原来的32位扩展为128位,因此地址数量变得极大,这也是IPv6最重要的一个特点。保守估计,IPv6将为每平方米的地球表面支持数以千计的地址。同时由于可以支持更多的层次结构,使地址分配有更大的灵活性。除此之外,IPv6灵活、大容量的地址空间使定义一个带有许多分层次
28、的、灵活的全球路由体系成为可能,也使一个IPv6地址层次能够按地理范围排列(就像平常的电话地区号码系统)。第7章 通信网络安全标准 2)地址的自动配置地址自动配置是IPv6最宝贵的功能之一。只要机器连接上网络,便可自动设定地址。它有两个优点,一是终端用户用不着花精力进行地址设定,二是可以大大减轻网络管理者的负担。IPv6支持多种形式的自动配置,包括从一个单独网络节点地址的“即插即用”配置到DHCP提供的全功能设备的配置。第7章 通信网络安全标准 3)IP数据包包头简化IPv6对数据包包头做了简化,以尽量减少在传输过程中由于对IP信息头处理而造成的延迟。尽管IPv6地址长度是IPv4的4倍,但I
29、Pv6的数据包包头却只有IPv4的2倍。4)服务质量 QoSIPv6不仅可用于解决因特网网络地址的危机,而且由于包头简化,还有助于对因特网网络性能的改进。IPv6重视QoS机制,对实时多媒体信息流传输提供了很大的支持。第7章 通信网络安全标准 在IPv6中定义了两个重要参数,即业务类别字段和数据流标志位。业务类别字段将IP包的优先级分为16级,并将其分为两类:07用于在网络发生拥塞时通过减少数据包的发送速度来实现拥塞控制业务;815用于一些实时性很强的业务,它在网络拥塞时不做任何减少流量的控制。对于那些需要特殊QoS的业务,可在IP数据包中设置相应的优先级,路由器根据IP包的优先级来处理这些数
30、据。数据流标志位用于定义任意一个传输的数据流,以便网络中所有的节点能对这一数据进行识别,并做特殊的处理。有了数据流标志位,就可以使路由器处理一些具有特殊业务请求的数据包。第7章 通信网络安全标准 5)安全控制IPv6建立了包验证、包完整性和包可靠性三个重要的安全服务。包的安全功能通过IPv6的可选扩展分组头来实现,扩展分组头在RFC1883中进行了描述。验证扩展分组头(AH)提供密码验证或完整性测试。默认时它使用一个加密的MDS算法,但是任何实现都可以根据需要,选用任何其它算法。第7章 通信网络安全标准 IPv6优化了IP数据包的基本字段布局,通过改善IPv4的数据包格式,使之更趋于合理化。在
31、IPv6数据包内,一些IPv4原有的字段被摒弃,另一些被变成可选项。这不仅提高了数据包头的处理效率和路由器处理分组的速度,而且在某种程度上,被重新设计的、单一化的数据包结构将抵消较长的IPv6地址字段的带宽费用。16字节IPv6地址比4字节的IPv4地址长4倍,但作为对数据包头进行合理布局的结果,整个IPv6数据包头的规模只有IPv4的2倍。第7章 通信网络安全标准 除了对数据包格式的合理划分外,IPv6还通过在IP数据包包头加入选项的方法,增加了灵活性和安全性。可选择的IPv6包头选项被转换成独立的扩展包头,位于每一个IPv6包头之后、传输层负载之前。IPv6的大多数扩展包头不会被中间节点检
32、查和处理(这正是IPv4带来的问题),IPv6扩展包头的长度也不再有严格的限制,可以改变。这些扩展包头可用来传送路由信息,也可以用于帮助进行安全验证及碎片的控制。网络设计者也可以根据自己的需要添加新的扩展包头,因此可引入新的选项。第7章 通信网络安全标准 虽然IPv6增加了安全控制内容,但是,由于目前仍然以IPv4为实际使用的协议,因此在现实的网络上,必须在网络层添加额外的安全功能,保证这一层的安全性。第7章 通信网络安全标准 7.3.2 IPSec的结构的结构 CERT在年度报告中指出,最为严重的通信网络安全事故有两类:第一类是IP欺骗,即入侵者以虚假的IP地址建立数据包,以欺骗基于IP认证
33、的应用程序;第二类是各种类型的窃听和数据包嗅探,以获取合法用户的登录信息和其它数据。因此安全的IP协议应有必要的认证和加密功能,IPsec就是针对这两类问题而设计的安全协议。第7章 通信网络安全标准 IPSec简介简介IPSec在IP层提供安全业务的方式是让系统选择所要求的安全协议,决定所需的算法和密钥。安全协议有两个:一个是由协议头,即认证报头 AH(Authentication Header)指定的认证协议;另一个是由协议数据包格式,即封装的安全负载 ESP(Encapsulating Security Payload)指定的将加密和认证结合起来的协议。安全业务有访问控制、无连接的完整性、
34、数据源的认证性、对重放数据包的拒绝、保密性、受限的业务流保密性等。第7章 通信网络安全标准 表7.1显示AH指定的协议(简称AH协议)和ESP指定的协议(简称ESP协议)所能提供的安全业务,其中ESP又分为仅加密和加密与认证结合两种情况。第7章 通信网络安全标准 表表7.1 IPsec的安全业务的安全业务第7章 通信网络安全标准 2IPSec的安全功能的安全功能IPSec通过在IP层对所有业务流进行加密和认证,保证了所有分布式应用程序(包括远程登录、客户机/服务器、电子邮件系统、文件传输、Web的访问等)的安全性,因此可以提供网络内(包括局域网LAN、广域网WANS等)或网际间的安全通信。例如
35、:公司可在因特网或公用广域网上建立自己的安全虚拟专用网,从而可节省建立并管理自己专用网的支出。配备有IPSec系统的终端用户,可以在本地呼叫因特网服务提供商ISP,以获取对某一公司网络的安全访问。IPSec不仅能用于建立内部网中的连接,而且也能用于建立与外部网的安全连接。某些Web应用程序和电子商务应用程序即使已有自己的安全协议,但使用IPSec可以增加它们的安全性。第7章 通信网络安全标准 在IPSec的实际应用中,如果LAN内的通信未考虑安全性,则在用户系统和LAN发出通信业务流时,都需要在网际设备中使用IPSec协议。网际设备指路由器或防火墙等设备,用于将LAN连接到外部网中,网际设备对
36、发往WAN的业务流进行加密和压缩,对来自WAN的业务流进行解密和解压缩。这些运算对LAN上的工作站和服务器都是透明的。第7章 通信网络安全标准 3IPSec的作用的作用IPSec用于防火墙和路由器等网际设备,可以为通过网际设备的业务流提供强安全业务,且在LAN内(比如一个公司的LAN)的业务无需进行安全性处理。IPSec用于防火墙,可以防止使用IP的业务流绕过防火墙。IPSec位于传输层(TCP,UDP)之下,所以它对应用程序来说是透明的,而且,当IPSec用于防火墙或路由器时,无须修改用户或服务器所使用的软件,即使IPSec用于端系统时,上层软件(包括应用程序)也不受影响。第7章 通信网络安
37、全标准 IPSec对终端用户来说是透明的,因此无须对用户进行安全培训,也无须对用户发放或撤销密钥材料。IPSec除了支持终端用户、保护系统和网络外,还在网络互联所需的路由结构中起着重要的作用,它能保证路由通告(新路由器用于向外界通告自己)来自一个被授权的路由器,保证邻居通告(路由器用于建立或维护与其它路由域中路由器的邻居关系)来自一个授权的路由器,保证重新走向的消息来自于数据包上次到达的路由器,保证路由的更新不被伪造。第7章 通信网络安全标准 4安全关联安全关联安全关联SA(Security Associations)是指由IPSec提供安全服务的业务流的发方到收方的一个单向逻辑关系,用来表示
38、IPSec为SA所承载的数据通信提供安全服务,其方式是使用AH或ESP之一,一个SA不能同时使用AH和ESP保护。因为SA是单向的,所以两个系统之间的双向通信需要两个SA,每一个方向使用一个SA。第7章 通信网络安全标准 一个SA可由三个参数唯一地表示为 安全参数索引,目标IP地址,安全协议标识符这三个参数的含义分别为:安全参数索引SPI指赋值给该SA的比特串,其位置在AH和ESP包头中,作用是使接收系统对收到的数据包能够选择在哪个SA下进行处理,所以SPI只有本地意义;目标IP地址指SA中接收方的IP地址,该地址可以是终端用户系统或防火墙、路由器等网际设备的地址,目前的SA管理机制只支持单目
39、传送地址(即只指定一个用户或网际设备的地址);安全协议标识符表示SA使用的协议是AH协议还是ESP协议。第7章 通信网络安全标准 对任何IP数据包,通过IPv4或IPv6包头中的目标地址以及封装扩展包头(AH或ESP)中的SPI,可对SA唯一地识别。IPSec的实现还需维护两个数据库,即安全关联数据库SAD和安全策略数据库SPD。下面分别对它们进行介绍。第7章 通信网络安全标准 1)安全关联数据库SADSAD用于定义每一个SA的参数值,包括:(1)顺序号:以AH或ESP包头中的32比特值表示。(2)顺序号溢出标记:表示顺序号的溢出是否能产生一个可审核事件,并防止在这一SA上数据包的进一步传送。
40、(3)反重放窗口:用以决定收到的AH或ESP数据包是否是重放的。(4)AH信息:表示AH所使用的认证算法、密钥、密钥有效期等。第7章 通信网络安全标准(5)ESP信息:表示ESP所使用的认证和加密算法、密钥、初始值、密钥有效期等。(6)SA的有效期:表示时间间隔,在该间隔以后,SA的关联关系或者结束,或者被一个新SA代替,这一参数值中有一个标识符,用于标识SA是被结束还是被代替。(7)IPSec的协议模式:协议模式有隧道模式、传输模式或通配符。(8)路径最大传输单元:指不被分段而能传输的最大数据包长度。第7章 通信网络安全标准 其中AH信息和ESP信息分别仅为AH协议和ESP协议所要求,其它参
41、数在两种协议中都被要求。SA中的密钥管理机制是通过SPI而结合在认证和保密机制中的,因此IPSec在指定认证算法和保密算法时无须考虑特定的密钥管理机制。第7章 通信网络安全标准 2)安全策略数据库SPDSA能以很多方式产生用户所需的配置,使得IPSec为用户的业务流提供了灵活的安全服务,而且IPSec还在有IPSec安全服务的业务流和允许绕过IPSec的业务流之间提供了高度的颗粒性。一个业务流是被提供安全服务还是让其绕过IPSec,是由是否将业务流关联于一个特定的SA决定的,关联的手段是安全策略数据库SPD。在SPD的最简单形式中,各数据项定义了一个IP业务流子集以及每一个业务流指向一个SA的
42、指针。在较复杂的形式中,多个数据项指向同一个SA,或者一个数据项指向多个SA,而每个数据项是由一个IP集合和IP上层协议字段的选择值定义的。这些选择值用于过滤发出的业务流,以使它映射到一个特定的SA。第7章 通信网络安全标准 发出业务流的处理过程如下:(1)在SPD中寻找与业务流数据包相匹配的选择值。(2)由选择值决定该业务流的SA。(3)对业务流进行所需的IPSec处理(如AH处理或ESP处理)。第7章 通信网络安全标准 选择值有以下几个:(1)目标IP地址:可以是单个IP地址,也可以是多IP地址列表或通配符掩码地址。后两种地址用于支持共享同一个SA的多目标地址系统。(2)源IP地址:可以是
43、单个IP地址,也可以是多IP地址列表或通配符掩码地址。后两种地址用于支持共享同一个SA的多源地址系统。(3)用户ID:操作系统使用的用户识别符,用户ID不在IP或IP上层协议字段中,但如果IPSec和用户使用的操作系统相同,IPSec就可用用户的ID作为选择值。第7章 通信网络安全标准(4)数据敏感级:用于为系统提供信息流的安全性。(5)传输层协议:该选择值是从IPv4的“协议”字段或IPv6的“下一包头”字段得到的,可能是单个协议号、协议号列表或协议号范围。(6)IPSec协议(AH协议或ESP协议或AH/ESP协议):从IPv4“协议”字段或IPv6的“下一包头”字段得到。(7)源和目标端
44、口:可以是单个TCP或UDP端口值,也可以是多端目列表或通配符端口。第7章 通信网络安全标准(8)IPv6业务类:从IPv6包头获得,是IPv6中字段“业务类”的值或是一个通配符。(9)IPv6业务流标号:从IPv6包头获得,可以是IPv6中字段“业务流标号”的值或是一个通配符。(10)IPv4服务类型TOS:从IPv4包头获得,可以是IPv4中字段“服务类型”的值或者是一个通配符。5AH和和ESP的两种使用模式的两种使用模式AH和ESP的两种使用模式分别是传输模式和隧道模式。这里先介绍两种模式的一概念。第7章 通信网络安全标准 1)传输模式传输模式主要用于对上层协议的保护,即将其保护推广到I
45、P数据包的负载,如TCP数据段、UDP数据段或ICMP数据包。传输模式典型地用于两个主机的端端通信。在IPv4中,负载指位于IP包头之后的数据。在IPv6中,负载指IP包头和扩展包头(除目标地址选项)之后的数据,而目标地址选项也和负载一起受到保护。以传输模式运行的ESP协议对负载进行加密和认证(认证性可供选择),但不对IP包头进行加密和认证。以传输模式运行的AH协议对负载及包头中选择的一部分进行认证。第7章 通信网络安全标准 2)隧道模式隧道模式用于对整个IP数据包的保护,它是将一个数据包用一个新的数据包包装,即给原数据包加一个新的包头,称为外部包头,这样原数据包就成为新数据包的负载。因此原数
46、据包在整个传送过程中就像在隧道中一样,传送路径上的路由器都无法看到原数据包的包头。由于封装了原数据包,因此新数据包的源地址和目标地址都与原数据包的不同,从而增加了安全性。第7章 通信网络安全标准 隧道模式用于SA关系中至少一方是一个安全的网关,例如实现IPSec的防火墙或路由器。通过网关进入局域网中的通信则无须使用IPSec予以保护,而从局域网通过网关发出的数据包则由网关中的IPSec软件建立起隧道模式的SA,并以隧道模式发送。第7章 通信网络安全标准 例如,主机A产生一个数据包,其目标地址是另一个网络中主机B的地址,A将自己的数据包发送给所在网络中的防火墙或安全路由器。防火墙过滤自己将发送的
47、所有数据包,以决定哪些需要进行IPSec处理,如果A发往B的数据包需要IPSec处理,防火墙则对其进行处理,并用一个新包头对其封装,新包头中源地址则为防火墙的IP地址,目标地址则是B所在局域网中防火墙的IP地址。数据包在到达B的防火墙前,所有中间路由器仅检查外部包头,到达B的防火墙后,则剥去外部包头,并将原数据包发给B。第7章 通信网络安全标准 以隧道模式运行的ESP协议对整个内部数据包(包括包头)加密和认证(认证性可供选择),而AH协议则对整个内部数据包和外部包头中的所选部分进行认证。第7章 通信网络安全标准 7.3.3 认证头认证头 认证头AH用于保证IP数据包的数据完整性和认证性,并用于
48、防止地址欺骗攻击、消息重放攻击等。其认证性由消息认证码MAC实现,因此要求通信双方有共享的密钥。AH的数据字段如图7.6所示。第7章 通信网络安全标准 图7.6 认证头格式第7章 通信网络安全标准(1)下一包头:字段长为8比特,用来标识下一数据的包头。(2)负载长度:字段长也为8比特,其值(即负载长度)为以32比特字为单位的AH长度减2(单位为字)。例如:“认证数据”字段的默认长度为96比特,即3个字,此时AH总长为6个字,所以负载长度为4(单位为字)。(3)保留:字段长为16比特,留待将来可能出现的新用途使用。(4)安全参数索引SPI:字段长32比特,对收到的数据包能够选择在哪个SA下进行处
49、理。第7章 通信网络安全标准(5)序列号:字段长32比特,为单调速增的计数器。(6)认证数据:为可变长字段,但长度必须为32比特的整数倍。字段的值为本数据包所用的完整性检验值ICV,即MAC。所以AH总长为96比特固定部分加上认证数据的可变长部分。第7章 通信网络安全标准 1防重放攻击防重放攻击AH头中的“序列号”字段用于防止攻击者截获已经认证过的数据包后实施重放攻击。在新SA建立时,发送方将序列号计数器的初值置为0,每当在这一个SA上发送一个数据包,就将计数器的值加1。因为需防止重放攻击,所以计数器的值不应重复,当达到其最大值232-1时,就应该建立一个新的SA。由于IP服务是无连接的、不可
50、靠的,协议不能保证数据包的发送是按顺序的,也不能保证所有数据包都能被发送,因此接收方为实现认证,可建立一个窗口,如图7.7所示。第7章 通信网络安全标准 图7.7 防重放攻击窗口第7章 通信网络安全标准 窗口W长度默认值为64,图中N为目前收到的数据包的最大序列号,所以窗口中序列号的范围是N-W+1N。一个数据包如果其序列号落在窗口内,且其MAC经检查也为正确的,则认为该数据包是有效的,相应地在窗口中的窗格内做上标记(图中以阴影表示)。如果序列号落在窗口左边,或落在窗口中但MAC不正确,则认为该数据包是无效的。如果序列号落在窗口右边,且MAC也是正确的,则认为相应的数据包是正确的,此时将窗口右