1.6 网络安全机制与服务
上一节介绍了安全模型,本节主要介绍安全模型中经常使用的安全机制和安全服务。
从层次结构的角度看,网络中的不同层次所面临的安全问题是不一样的,所应采取的安全保护方案也有所不同,同时一些安全问题还需要从系统的整体角度来进行保护,也就是说一些安全保护措施可能涉及多个网络层次。为了准确描述各个网络层次所需的安全服务和安全机制,与网络体系结构类似,国际标准化组织ISO提出了“网络安全体系结构”这一概念,并于1989年正式发布了安全体系结构标准ISO7498-2“信息处理系统开放系统互连基本参考模型第二部分:安全体系结构”,作为基本的OSI参考模型的补充。我国于1995年发布了与之对应的国家标准GB/T 9387-2。1990年,国际电信联盟(International Telecommunication Union,ITU)决定采用ISO 7498-2作为其X.800推荐标准。因此,X.800和ISO 7498-2标准基本相同。1998年,RFC 2401给出了Internet协议的安全结构,定义了IPsec适应系统的基本结构,为IP层传输提供多种安全服务。
网络安全体系结构提供了安全服务和安全机制的一般性描述(这些安全服务和安全机制都是网络系统为保证安全所配置的),指明在网络系统中哪些部分、哪些位置必须配备哪些安全服务和安全机制,并规定如何进行安全管理。ISO 7498-2对安全机制的定义是:用来检测、阻止攻击或者从攻击状态恢复到正常状态的过程(或实现该过程的设备、系统、措施或技术)。ISO 7498-2对安全服务的定义是:安全服务是指加强数据处理系统和信息传输的安全性的处理过程或通信服务,主要利用一种或多种安全机制对攻击进行反制来实现。RFC 2828也对安全服务进行了定义:安全服务是一种由系统提供的对资源进行特殊保护的进程或通信服务。
ISO 7498-2是一个普遍适用的安全体系结构,其核心内容是保证不同计算机系统上的进程与进程间安全地交换信息。其基本思想是,为了全面而准确地满足一个开放系统的安全需求,必须在七个层次中提供必需的安全服务、安全机制和安全管理,以及它们在系统上的合理部署和配置。尽管与之对应的七层OSI/RM已被TCP/IP体系结构所取代,但标准中定义的很多概念、机制得到了广泛应用,同样适用于今天的因特网体系结构。
ISO7498-2定义了5类安全服务、8种特定的安全机制、5种普遍性安全机制,确定了安全服务与安全机制的关系,以及在OSI七层模型中安全服务的配置、OSI安全体系的管理。下面我们将对这些安全服务和安全机制进行简要介绍。
需要说明的是,本节下面将要介绍的安全服务和安全机制中涉及的一些概念,如完整性、机密性、不可抵赖性等是ISO7498-2中的定义,主要针对的是通信安全,与本章前面介绍的同名概念略有差别,但核心思想是一致的。
1.安全服务
首先介绍5类安全服务:鉴别、访问控制、数据机密性服务、数据完整性服务、抗抵赖服务。
1)鉴别
鉴别(authentication),也称为“认证”,提供通信中的对等实体和数据来源的鉴别,是最基本的安全服务,是对付假冒攻击的有效方法。鉴别可以分为对等实体鉴别和数据源鉴别。
对等实体鉴别是在开放系统的两个同层对等实体间建立连接和传输数据期间,为证实一个或多个连接实体的身份而提供的一种安全服务,简单地说就是确认有关的对等实体是所需的实体。如果这种服务由(N)层提供,将使其服务用户(N+1)层实体确信与之通信的对等实体正是它所需要的(N+1)层对等实体。服务可以是单向的,也可以是双向的;可以带有效期检验,也可以不带。
数据源鉴别服务是对数据单元的来源提供确认,但对数据单元的重复或篡改不提供鉴别保护。同样,当由(N)层提供这种服务时,将使(N+1)层实体确信数据来源正是它所需要的对等(N+1)层实体。
2)访问控制
访问控制用于防止在未得到授权的情况下使用某一资源。在OSI安全体系结构中,访问控制的安全目标是:通过进程对数据或其他计算资源的访问控制;在一个安全域内的访问或跨越一个或多个安全域的访问控制;按照其上下文进行的访问控制,如根据试图访问的时间、访问者地点或访问路由等因素的访问控制等。
访问控制经常和认证一起使用。访问控制就是对某些确认了身份(即进行了身份认证)的实体,在其访问资源时进行控制,是实现授权(authorization)的一种主要方式。
3)数据机密性服务
数据机密性或保密性服务是指保护信息(数据)不泄露或不泄露给那些未授权掌握这一信息的实体。在信息系统安全中区分以下两类机密性服务:数据机密性服务,使攻击者想要从某个数据项中推导出敏感信息十分困难;业务流机密性服务,使得攻击者很难通过观察通信系统的业务流来获得敏感信息。
根据所加密的数据项,机密性服务可以有如下几种类型:连接机密性,保护一次连接中所有的用户数据;无连接机密性,保护单个数据块里的所有用户数据;选择字段机密性,为那些被指定的字段提供机密性保护;通信业务流机密性,保护那些可以通过观察流量而获得的信息。
4)数据完整性服务
数据完整性服务用于防止数据在存储、传输等处理过程中被非授权修改,主要包括3种类型:连接完整性服务、无连接完整性服务及选择字段完整性服务。
OSI安全体系把完整性服务概括为以下几点:
① 带恢复的连接完整性。为一条连接中的所有用户数据保证其完整性,并检测整个数据序列中的数据遭受到的任何篡改、插入、删除或重放,并且试图补救或恢复。
② 不带恢复的连接完整性。同带恢复的连接完整性,只是不做补救或恢复。
③ 选择字段的连接完整性。为一次连接上传送的单个数据块内用户数据中的指定字段提供完整性保护,确定被指定字段是否遭受了篡改、插入、删除或重放。
④ 无连接完整性。为单个无连接上的数据块提供完整性保护,并检测是否遭受了篡改,并在一定程度上提供重放检测。
⑤ 选择字段的无连接完整性。为单个无连接上的协议数据块中的指定字段提供完整性保护,检测被选择字段是否被篡改。
5)抗抵赖(不可抵赖或不可否认)服务
抗抵赖服务的目的是保护通信实体免遭来自其他实体的威胁。OSI安全体系结构定义的抗抵赖服务包括以下两种:①有数据原发证明的抗抵赖。为数据的接收者提供数据的原发证据,使发送者不能抵赖发送过这些数据或否认发送过这些内容;②有交付证明的抗抵赖。为数据的发送者提供数据交付证据,使接收者不能抵赖收到过这些数据或否认接收内容。
2.安全机制
下面介绍标准定义的8种特定的安全机制:加密、数字签名、访问控制、数据完整性保护、认证交换、通信业务填充、路由选择控制、公证。
1)加密
对网络通信中的数据进行密码变换以产生密文。通常情况下,加密机制需要有相应的密钥管理机制配合。加密可为数据或业务流信息提供机密性,并且可以作为其他安全机制的一部分或对安全机制起补充作用。
加密算法主要有两类:①对称(即秘密密钥)加密。对于这种加密,知道了加密密钥也就意味着知道了解密密钥,反之亦然;②非对称(即公开密钥)加密。对于这种加密,知道了加密密钥并不意味着知道解密密钥,反之亦然。这种加密系统的两个密钥,有时被称为“公钥”和“私钥”。
加密机制的存在意味着需要使用密钥管理机制来保证密钥的安全性。
2)数字签名
数字签名是附加在数据单元上的一些数据,或是对数据单元所做的密码变换,这种附加数据或变换可以用来供接收者确认数据来源(真实性)、数据完整性,防止发送方抵赖,包括签名内容、时间(不可抵赖性),并保护数据,防止被人(例如接收者)伪造(真实性和完整性)。
数字签名包括两个过程:对数据单元签名,利用签名者私有的(即独有和保密的)信息实现;验证签过名的数据单元,利用公开的算法和信息(通过它们并不能推出签名者的私有信息)进行验证。
签名机制的主要特征是签名只有利用签名者的私有信息才能产生出来,这样在签名得到验证之后,就可以在任何时候向第三方(如法官或仲裁人)证明只有秘密信息的唯一拥有者才能够产生那个签名。
3)访问控制
访问控制是一种对资源访问或操作进行限制的安全机制。此外,它还可以支持数据的机密性、完整性、可用性及合法使用等安全目标。
访问控制机制利用某个经鉴别的实体身份、关于该实体的信息(如在某个已知实体集里的资格)或该实体的权标,确定并实施实体的访问权限。如果该实体试图使用未被授权的资源或用不正当的访问方式使用授权的资源,那么访问控制机制将会拒绝这一操作,同时还可能产生一个告警或把它作为安全审计线索的一部分记录下来。对于无连接数据的传输,则只有在数据源强制实施访问控制之后,才有可能向发信者提出任何拒绝访问的通知。
访问控制机制通常会使用以下一个或多个手段:
① 访问控制信息库。该库保存对等实体的访问权限,这些信息可以由授权中心保存,或由正被访问的那个实体保存。这些信息的数据结构可以是一个访问控制表(Access Control List,ACL),或者是等级结构或分布式结构的矩阵(称为“访问控制矩阵,Access Control Matrix,ACM”)。使用访问控制信息库需要预先假定对等实体的认证已得到保证。
② 认证信息。例如口令,拥有这些认证信息表明正在进行访问的实体已被授权。
③ 权限信息。拥有的权限信息便证明有权访问由该权限所规定的实体或资源。权限应是不可伪造的,并以可信赖的方式进行传送。
④ 安全标记。当与一个实体相关联时,这种安全标记可用来表示同意或拒绝访问,通常根据安全策略而定。
访问控制机制建立在通信系统中的一个端点或任一中间点中。建立在数据源点或任一中间点的访问控制可以决定发送者是否被授权与指定的接收者进行通信,或是否被授权使用所要求的通信资源。在无连接通信中,原发点必须事先知道目的端上建立的对等访问控制机制,并记录在自己的安全管理信息库中。
对于任何一种访问控制机制,哪些用户(主体,subject)被允许在哪些对象(客体,object)上进行什么样的操作(权限,rights)应该为系统所知,并为系统所记录。同时,需要一种方法来检查一个给定的请求是否满足当前使用的安全规则,系统也应该能够识别发出请求的用户。
4)数据完整性保护
数据完整性保护机制的目的是避免未授权的数据乱序、丢失、重放、插入和篡改,包括两个方面:单个数据或字段的完整性,数据单元流或字段流的完整性。一般来说,提供这两类完整性服务的机制是不相同的,如果没有第一类完整性服务,第二类服务也无法实现。
保障单个数据单元的完整性涉及两个过程:一个在发送实体上,一个在接收实体上。发送实体给数据单元附加上完整性鉴别码,即该数据的某种函数处理结果,可以是通常的通信数据单元校验函数,也可以是密码算法函数。接收实体进行相应的函数计算,得到相应的鉴别码,并把它与接收到的鉴别码进行比较,判断该数据是否在传送中被篡改过。单靠这种机制不能甄别单个数据单元的重放。在网络体系结构的适当层次上,完整性检测可以触发数据恢复机制(例如重传或纠错)。
对于基于连接的数据传送,保护数据单元序列的完整性(即防止乱序、数据的丢失、重放、插入和篡改)还需要明确的排序机制,例如顺序号、时间标记或密码链。对于无连接的数据传送,时间标记可以提供一定程度的保护,防止个别数据单元重放,但这需要有时钟同步机制配合。
5)认证交换
认证交换机制就是向验证方传递认证所需的信息,驱动实体认证。如果得到否定结果,则会导致连接拒绝或终止,也可能产生一条安全审计记录,或产生告警。可用于认证交换的信息主要包括:使用认证信息(如口令),由发送实体提供而由接收实体验证;使用密码技术;使用该实体的特征或独一无二的物体。当采用密码技术时,可以与“握手”协议结合起来防止重放(即确保存活期)。
认证交换技术的选用取决于使用它们的环境。在许多场合,它们必须与下列各项技术结合起来使用:时间标记与同步时钟;两方握手和三方握手(分别对应于单方认证和相互认证);由数字签名和公证机制实现的抗抵赖服务。
6)通信业务填充
通信业务填充,或称为“流量填充”,是一种反通信业务分析技术,通过将一些虚假数据填充到协议数据单元中,达到抗通信业务分析的目的。这种机制只有在通信业务填充受到保护(如加密)时才有效。
7)路由选择控制
路由选择控制机制使路由能动态地或预定地选取,使敏感数据只在具有适当保护级别的路由上传输,选择原则主要有:
① 检测到持续的网络攻击时,端系统可以指示网络服务建立在新的路由上。
② 带安全标识的数据需要根据安全策略选择适当的子网络、中继或链路。
③ 允许连接的发起者(或无连接数据单元的发送者)指定路由,由它请求回避某些特定的子网络、链路或中继。
8)公证
保证在两个或多个实体之间通信的数据安全性,有时必须有可信任的第三方参与,如数据抗抵赖性等服务。第三方公证人掌握必要的信息,为通信实体所信任,以一种可证实方式向通信实体提供所需的保证。每项需要公证的通信事务可使用数字签名、加密和完整性机制,以适应公证人提供的服务。当公证机制被用到时,数据便在参与通信的实体之间经过受保护的通信实体和公证方进行交换。
除了上述8种特定的安全机制,标准还给出了5种普遍性安全机制。普遍性安全机制不是为任何特定的服务而特设的,因此,在任意一个特定的协议层上,无须做明确的说明。其中一些普遍性安全机制属于安全管理方面。
5种普遍性安全机制分别是:可信功能度、安全标记、事件检测、安全审计跟踪及安全恢复。
可信功能度是指根据安全机制的实现体(软件、硬件或固件)中采用的算法、结构和使用环境要求等,评估安全机制的强度,划分使用范围。
安全标记是与某一资源密切相关的标记,为该资源命名或指定安全属性(这种标记或约束可以是显式的,也可以是隐式的)。
事件检测包括对安全明显事件的检测及对“正常”事件(如一次成功的访问)的检测。
安全审计就是对系统的记录与行为进行独立的评估考查,目的是测试系统的行为是否恰当,保证与既定策略和操作协调一致,有助于做出损害评估,及时对控制、策略与规程中指明的改变做出评价。
安全恢复处理来自诸如事件处置与管理功能等机制的要求,并把恢复动作当作应用一组规则的结果。根据系统的预定处理方案,执行系统保护和恢复性工作。恢复动作主要包括3种:立即动作,可能造成操作的立即放弃,如断开;暂时动作,可能使一个实体暂时无效;长期动作,可能是把一个实体记入“黑名单”或改变密钥。
3.安全服务与安全机制的关系
一种安全服务既可由某种安全机制单独提供,也可以通过多种安全机制联合提供。同时,一种安全机制可提供一种或多种安全服务。安全服务与安全机制的关系如表1-1所示。
表1-1 安全服务与安全机制的关系
表注:√表示该机制适合提供该服务。
同样,一个协议层次可能需要提供多种安全服务,或一种安全服务由多个协议层提供。安全服务与TCP/IP协议体系结构中的各个层次的关系如表1-2所示。
表1-2 安全服务与基于TCP/IP体系结构服务层关系
续表
表注:√表示服务应该作为提供者的一种选项被写入该层的标准之中。
总的来说,虽然ISO7498-2提出了一些基础性的安全服务和安全机制,对信息安全的发展起到了指导作用,并且一度成为很多安全公司的理论基础。但是,它所包含的安全服务并不全面,且这些安全服务是否为基础服务仍值得探讨。