第4章 网络信息安全服务
机密性服务
完整性服务
可用性服务
可审性服务
数字签名
Kerberos鉴别
公钥基础设施
访问控制
本章小结
习题
机密性服务提供信息的保密。正确地使用该服务,就
可防止非授权用户访问信息。为了正确地实施该服务,
机密性服务必须和可审性服务配合工作,后者用来标
识各个访问者的身份,实施该功能,机密性服务能对
抗访问攻击。机密性服务应考虑信息所在的形式和状
态,比如,是物理形式的纸面文件、电子形式的电子
文件,还是在传输中的文件。
机密性服务
文件的存在形式不同,文件的机密性服务的方式也相
应不同。
对纸面文件,主要是存放这类文件的物理位置必须是
可控的,通过物理位置的访问控制来保护文件的机密
性。
文件机密性
对电子文件,有几种情况。首先文件可能同时存放在
不同位置,如后备磁带、软盘或CD等。其次对电子
文件的保护有些也需要物理位置的访问控制,如同保
护纸面文件一样,例如,对磁带、磁盘需要物理访问
控制。对于存放在计算机系统中的电子文件,则需要
某些类型的计算机访问控制,也可能包括文件的加密。
计算机访问控制要依靠合适的身份标识和身份鉴别
(一种可审性服务)以及正确的系统配置,这样可防
止非授权用户旁路身份标识和身份鉴别功能而成为合
法用户。
为实现文件机密性服务,所需提供的机制包括物理安
全机制、计算机文件访问控制以及文件加密。文件机
密性的要求包括身份标识和身份鉴别、正确的计算机
系统配置,如使用加密则还需合适的密钥管理。
仅仅保护存储在文件中的信息是远远不够的。信息有
可能在传输过程中受到攻击,因此必须同时保护在传
输中的信息机密性,图表示使用加密来完成信息
传输的机密性。
可基于每个报文信息进行加密保护,也可以对链路上
的所有通信进行加密。加密能阻止窃听,但不能完全
阻止信息的截获。为了保护被截获的信息,需要合适
的身份标识和身份鉴别,它可决定远程端点的身份,
如图所示。
信息传输机密性
图 使用加密保护传输中的信息
图 加密和身份标识、身份鉴别的结合
完整性服务提供信息的正确性。正确地使用完整性服
务,就可使用户确信信息是正确的,未经非授权者修
改过。如同机密性服务一样,该服务必须和可审性服
务配合工作。完整性服务能对抗篡改攻击。完整性服
务同样应考虑信息所在的形式和状态。
完整性服务
文件的存在形式不同,文件的完整性服务方式也相应
不同。一般来说,纸面文件的完整性较易识别,而纸
面文件的修改要通过检查,修改者需要掌握一定技巧。
而对于电子文件只要能访问它,任何人都能方便地对
其进行修改。
为了防止修改纸面文件,可采用多种方法,包括在每
一页上签名、装订成册、分发多个文件复制本等。这
些完整性机制使修改变得十分困难,因为仿造签名技
术、增加或删除装订成册的文件以及对一个文件的多
个复制本同时进行修改都有很大难度。另一种方法是
使用与机密性服务相同的机制,完全阻止非授权者访
问文件。
文件完整性
对电子文件进行修改比较容易,使用字处理工具进行。
保护电子信息完整性的最基本的方法是采用与保护信
息机密性一样的方法,即计算机文件访问控制。然而
不同的是,并不要求将访问控制机制配置成完全拒绝
访问,而只需配置成只允许读文件,不允许写文件。
如同机密性服务,十分重要的是必须正确识别那些企
图修改文件的访问者。这只有通过身份标识和身份鉴
别来实现。
假如文件驻留在单个计算机系统或者组织控制的网络
中,对其进行计算机文件访问控制能达到很好的效果。
如果需要将文件复制到其他部门或单位,那么只在单
个计算机或可控网络上进行计算机文件访问控制就不
足以提供充分的保护。因此需要有一种机制来识别非
授权者对文件的改变。一种有效的机制就是数字签名,
它必须与特定用户的识别一起工作。因此完整性服务
也必须和身份标识、身份鉴别功能结合在一起。
信息在传输中也可能被修改,然而如果不实施截获攻
击就很难对传输中的信息进行修改。通常用加密方法
可阻止大部分的篡改攻击。当加密和强身份标识、身
份鉴别功能结合在一起时,截获攻击便难以实现,如
图所示。
由上述分析可知,完整性服务可成功地阻止篡改攻击
和否认攻击。任何篡改攻击都可能改变文件或传输中
的信息,当完整性服务能检测到非授权者的访问,篡
改攻击就不能成功进行。当完整性服务和身份标识、
身份鉴别服务很好地结合,即使组织以外的文件被改
变也能被检测出来。
信息传输完整性
如果没有好的完整性服务以及好的身份标识、身份鉴
别服务,那么否认攻击也不可能被成功阻止。而检测
这种攻击的机制是数字签名。
可用性服务提供的信息是可用的。可用性使合法用户
能访问计算机系统,存取该系统上的信息,运行各种
应用程序。可用性还提供两个计算机系统之间可用的
传输信息的通信系统。当我们谈及信息和能力的可用
性时,通常指的是电子信息。
可用性服务
后备是最简单的可用性服务,是指对重要信息复制一
份拷贝,并将其存储在安全的地方。后备可以是纸文
件,如重要文本的拷贝;也可以是电子的,如计算机
后备磁带。后备的作用是防止意外事件发生或文件被
恶意破坏造成的信息完全丢失。
用于后备的安全位置可以是现场防火的地方,也可以
是远地有物理安全措施的地方。
通常后备提供信息可用性,并不需要提供及时的后备。
这意味着后备可能从远地检索到,然后传送到现场,
并加载到相应的系统。
后备
在线恢复提供信息和能力的重构。不同于后备,带有
在线恢复配置的系统能检测出故障,并重建诸如处理、
信息访问、通信等能力。它是通过使用冗余硬件自动
处理的。
通常认为在线恢复是一种立即的重构,且无须进行配
置。冗余系统也可以在现场备用,以便在原始系统发
生故障时再投入使用。
在线恢复
灾难恢复是针对大的灾难来保护系统、信息和能力。
灾难恢复是当整个系统或重要的设备不可用时采取的
重构一个组织的进程。
由上述分析可知,可用性是用来对拒绝服务攻击的系
统恢复。可用性并不能阻止拒绝服务攻击,但可用性
服务可用来减少这类攻击的影响,并使系统得以在线
恢复、正常运行。
灾难恢复
可审性服务本身并不能针对攻击提供保护,因此容易
被人们疏忽。可审性服务必须和其他安全服务结合,
从而使这些服务更加有效。可审性服务会增加系统的
复杂性,降低系统的使用能力。然而,如果没有可审
性服务,机密性服务与完整性服务也会失效。
可审性服务
身份标识与身份鉴别有两个目的:其一是对试图执行
一个功能的每个人的身份进行标识;其二是验证这些
人声称的身份。身份鉴别可使用以下任何一种或其组
合的方法实现:
(1) 知识因子——你知道什么,如口令或PIN(个
人身份标识号)。
(2) 拥有因子——你有什么,如智能卡或标记。
(3) 生物因子——你是什么,如指印、视网膜。
身份标识与身份鉴别
组合使用上面的方法会更有效,如将口令和智能卡结
合使用,通常称为双因子身份鉴别。因为每一种身份
鉴别方法本身有它自身的弱点,采用双因子鉴别可互
相取长补短,因而更有效。例如,口令易于被猜测,
而智能卡又易于被偷。生物因子身份鉴别难以伪造,
但一定要将其指印放在指印扫描器中。
在物理世界,身份鉴别可以用带相片的ID卡出示给
门警。指纹扫描器也经常用来对进入某些特定区域者
作身份鉴别。这些身份鉴别机制将物理现场与每个人
的身份标识直接联系起来。
在电子世界,物理身份鉴别机制并不适用。传统的用
于计算机的身份鉴别机制是口令。身份标识是通过系
统管理员设置的用户ID联系起来。系统管理员用某
种方法来证明正在被鉴别的用户身份就是接收用户
ID的个别者。但是口令是单因子身份鉴别,有较大
弱点。这就是为什么提倡在计算机系统中采用双因子
身份鉴别,它提供更强的身份鉴别机制。
身份标识与身份鉴别也有助于计算机文件访问控制,
以提供计算机系统电子文件的机密性和完整性。它对
加密和数字签名也是重要的。然而,身份标识与身份
鉴别必须要传给远程用户。远程用户要对本地机制证
明它的身份标识。图表示当发送一个报文时如何
使用数字签名。用户首先对保护签名的本地机器作身
份鉴别,然后本地机器允许使用签名机制,并发送已
进行身份鉴别的报文。接收到该报文的用户使用数字
签名以证明该报文的发送者的身份。
在大多数情况下,身份标识与身份鉴别机制是一个组
织内其他安全服务的关键。如果身份标识与身份鉴别
失效了,那么完整性和机密性也无法保证。
图 用于远程通信的身份标识与身份鉴别
网络环境下的身份鉴别是验证某个通信参与方的身份
是否与他所声称的身份一致的过程。一般通过某种复
杂的身份认证协议来实现。身份认证协议是一种特殊
的通信协议,它定义了参与认证服务的所有通信方在
身份认证过程中需要交换的所有消息的格式、这些消
息发生的次序以及消息的语义,通常采用密码学机制,
例如加密算法来保证消息的完整性、保密性。
网络环境下的身份鉴别
身份认证是建立安全通信的前提条件,只有通信双方
相互确认对方身份后才能通过加密等手段建立安全信
道,同时它也是授权访问(基于身份的访问控制)和
审计记录等服务的基础,因此身份认证在网络安全中
占据十分重要的位置。这些协议在解决分布式,尤其
是开放环境,起着很重要的作用。其中系统的组成部
分以及连接它们的网络可以跨越地理和组织的界限。
1. 身份认证技术
下面介绍两种身份认证技术。
(1) 口令技术
口令技术是常用的一种身份认证技术,使用口令存在
的最大问题是口令的泄露。口令泄露可以有多种途径,
例如登录时被他人看见;攻击者从计算机中存放口令
的文件中读到;口令被在线攻击猜测出;也可能被离
线攻击搜索到。所谓在线攻击是指在线状态下攻击者
对用户口令进行的猜测攻击;所谓离线攻击是指攻击
者通过某些手段进行任意多数量的口令猜测,采用攻
击字典和攻击程序,最终获得口令。离线攻击方法是
Internet上常用的攻击手段。
(2) 采用物理形式的身份认证标记进行身份认证的
鉴别技术
常用的身份认证标记是磁卡和智能卡。磁卡存储着关
于用户身份的一些数据,用户通过读卡设备向联网的
认证服务器提供口令才能证明自己的身份。最简单的
智能卡称作PIN(Personal Identification Number)
保护记忆卡,PIN是由数字组成的口令,只有读卡机
将PIN输入智能卡后才能读出卡中保存的数据。这种
卡比磁卡安全,可以存放一些秘密信息。
另一种智能卡是加密挑战/响应卡,卡中有一个加密
密钥,可使用该密钥进行加密和解密,但该密钥是无
法被读出的。这种智能卡通常采用公开密钥算法,存
储的是用户的私钥,可在离线状态下进行认证。在与
计算机进行交互时首先递交代表自己身份的公钥证书,
计算机验证证书的签发者后就获得了用户的公钥。
2. 身份认证协议
基于密码学原理的密码身份认证协议比基于口令或者
地址的认证更加安全,而且能够提供更多的安全服务。
各种密码学算法,如私钥算法、公钥算法和哈希算法
都可以用来构造身份认证协议,它们各有特点。可以
分为共享密钥认证、公钥认证和零知识认证等几类。
计算机可以存放高质量的密钥,进行复杂的加密解密
运算。计算机可以代表用户进行加密解密操作,但是
需要用户提供口令,将用户口令经过变换可以获得加
密使用的密钥,或者是用口令来解密一个存放在某处
的高质量的密钥,例如用PIN获得存放PIN保护记忆
卡中的高质量密钥。
身份认证协议一般有两个通信方,可能还会有一个双
方都信任的第三方参与进行。其中一个通信方按照协
议的规定向另一方或者第三方发出认证请求,对方按
照协议的规定作出响应或者其他规定的动作,当协议
顺利执行完毕时双方应该确信对方的身份。
(1) 会话密钥
在很多协议中,不仅要求验证相互身份,而且还要建
立后续通信使用的会话密钥。所谓会话密钥
(Session Key)是指在一次会话过程中使用的密钥,
一般都是由机器随机生成的。会话密钥在实际使用时
往往是在一定时间内都有效,并不真正限制在一次会
话过程中。虽然公开密钥系统也被用于认证协议中,
但是由于公钥系统算法复杂度高,大量数据的加密还
是采用传统密码,因此会话密钥都是传统密钥。因为
会话密钥主要用于通信加密,因此也将它称为通信密
钥,与用于身份认证的认证密钥加以区分。会话密钥
能够有效地抵抗密码分析攻击;而认证密钥不能长时
间使用,否则容易被攻击者搜集到足够的密文数据进
行密码分析。需要建立会话密钥的认证协议也被称为
密钥分发协议。
(2) 共享密钥认证
共享密钥认证的思想是从通过口令认证用户发展来的。
传统方式是检验对方传递来的口令是否正确,但是这
样口令容易在传递过程中被窃听而泄露。必须采用既
能够验证对方拥有共同的秘密又不会在通信过程中泄
露该秘密的方法,挑战/响应技术可完成这一目标。
在网络环境下,一台计算机可能要与很多台计算机进
行身份认证,如果全部采用挑战/响应方式认证,那
么就需要与众多的计算机都建立共享密钥。这样做在
大型网络环境中既不经济也不安全,同时大量共享密
钥的建立、维护和更新将是非常复杂的事情。
密钥分发中心(Key Distribution Center,KDC)的概
念是Needham和Schroeder在1978年提出的,KDC在
网络环境中为大家所信任,并且与每个网络通信方都
有一个共享密钥。网络中每个通信参与方都只与
KDC有共享密钥,它们之间的认证需要借助于可信
第三方KDC才能完成。KDC负责给通信双方创建并
分发共享密钥,通信双方获得共享密钥后再利用挑战
/响应协议建立相互信任关系。
(3) 公钥认证
公开密钥算法的出现为身份认证协议带来了更强有力
的方法和手段,因为它可以让对方通过密码运算验证
自己的身份而不需要将自己的私钥告诉对方。在公钥
算法中,一般将利用私钥对明文信息进行的变换称为
签名(sign),变换后的信息为签名信息;将利用公钥对
明文信息进行的变换称为封装(seal)或者加密。
使用公钥方式进行身份认证时需要事先知道对方的公
钥,虽然已经有算法可以解决双方在通信时直接交换
公钥的安全问题,但是从使用方便程度和可管理程度
上出发需要依靠一个可信第三方来参与分发公钥。如
果没有可信第三方的参与,每个通信参与方都需要记
住所有其他用户的公钥,不仅增加负担而且无法更新
维护;其次每个通信方产生自己的私钥和公钥,而它
们的可信赖程度不同,一旦出现问题和纠纷需要权威
中间机构进行仲裁。
在实际网络环境中,采用证书(certificate)的方式
来分发公钥。证书是一种特殊格式的数据记录,它包
含有证书代表的通信参与方的名字、身份信息、公钥
以及签发机构、签发日期、序列号、有效期等相关数
据,由证书权威机构(Certificate Authority,CA)用
自己的私钥进行签名。证书权威机构扮演可信第三方
的角色,它是大家信任的组织、机构。所有的公钥认
证系统都采用了证书方式,证书被设计存放在目录服
务系统中,通信参与方拥有CA的公钥,可以从目录
服务中获得通信对方的证书,通过验证CA签名可以
相信证书中列出的对方公钥。
KDC方式和CA方式是分发密钥的主要技术,它们各
有自己明显的优势和缺陷。公钥方式的身份认证协议
安全强度要高,但是计算开销大,因此越来越多的安
全系统倾向于利用公钥进行认证和建立对称的会话密
钥,利用传统密钥进行大量数据传输的方法,例如
SSL协议、PGP等。
可审性的另一个重要功能是审计。审计提供历史事件
的记录。审计记录将每个人及其在计算机系统中或在
物理世界中的行动联系起来。如果没有正确的身份标
识与身份鉴别,审计记录也是没有用的,因为无法保
证这些记录事件确实是谁执行的。
在物理世界,审计的方法有入门的日志、签名本、录
像仪等。这些物理记录的目的是提供执行各种行动的
记录。应该特别指出的是,必须采用完整性服务以保
证这些审计记录没有被修改过。否则,这些审计记录
是值得怀疑的。
审计功能
在电子世界,计算机系统提供日志,以记录用户ID
的行动。假如身份标识与身份鉴别功能的作用合适,
这些事件就能跟踪用户的行为。同样,必须保护好计
算机系统上的审计记录,防止非授权者对其进行修改,
事实上,审计记录要防止任何人的修改。
由上述分析可知,可审性服务并不能阻止攻击。它与
其他服务结合,尤其是机密性和完整性服务结合,对
试图执行某些操作者进行正确的身份标识与身份鉴别。
可审性服务还提供用户对系统执行的操作记录,因此
事件能重构。
在完整性服务与可审性服务中都提到数字签名。数字
签名是通信双方在网上交换信息用公钥密码防止伪造
和欺骗的一种身份认证。在传统密码中,通信双方用
的密钥是一样的,既然如此,收信方可以伪造、修改
密文,发信方也可以抵赖他发过该密文,若产生纠纷,
将无法裁决谁是谁非。
数字签名
由于公钥密码的每个用户都有两个密钥,所以实际上有两个
算法,如用户A,一个是加密算法EA,一个是解密算法DA。
若A要向B送去信息m,A可用A的保密的解密算法DA对m进
行加密得DA(m),再用B的公开算法EB对DA(m)进行加密
得
C=EB(DA(m))
B收到密文C后先用他自己掌握的解密算法DB对C进行解密得
DB(C)=DB(EB(DA(m)))=DA(m)
再用A的公开算法EA对DA(m)进行解密得
EA(DA(m))=m
从而得到了明文m。
由于C只有A才能产生,B无法伪造或修改C,所以A
也不能抵赖,这样就能达到签名的目的。不是所有公
钥系统都具有数字签名的能力,RSA第一个提出这样
的功能。
Kerberos鉴别是一种使用对称密钥加密算法来实现通
过可信第三方密钥分发中心(KDC)的身份认证系
统。它是美国麻省理工学院(MIT)为了保护
Athena项目中的网络服务和资源而开发的,
Kerberos版本5的协议已被Internet工程部IEIF正式接
受为RFC 1510。
Kerberos鉴别
Kerberos在学术界和工业界都获得了广泛的支持,被
众多系统选作身份认证的基础平台。例如,开放软件
基金会(Open Soft Foundation,OSF)开发的分布式
计算环境DCE就是以Kerberos为身份认证平台的,
而在国外应用最广泛的分布式文件系统(Andrew
File System,AFS)也采用了Kerberos作为身份认证
平台。目前各主要操作系统都支持Kerberos认证系统,
例如,SUN Microsoft公司在其高端服务器产品
Windows NT 中也支持Kerberos系统。Kerberos
实际上已经成为工业界的事实标准。
Kerberos使用对称密钥加密算法来实现通过可信第三
方密钥分发中心的认证服务,它提供了网络通信方之
间相互的身份认证手段,而且并不依赖于主机操作系
统和地址。Kerberos设计的目标是在开放网络上运行,
不要求网络上所有主机的物理安全,同时还假设通过
网络传输的包可以被任意截获、修改和插入。
Kerberos系统非常适合在一个物理网络并不安全的环
境下使用,它的安全性经过了实践的考验。
Kerberos协议中有3个通信参与方:需要验证身份的通信双方
及一个双方都信任的第三方,即密钥分发中心(KDC)。当
某个网络应用进程需要访问另外一个服务进程时,需要构成
了双向的身份认证。将发起认证服务的一方称为客户方,将
客户方需要访问的对象称为服务器方。在Kerberos中客户方
是通过向服务器方递交自己的“凭据”(ticket)来证明自己
的身份的,该凭据是由KDC专门为客户方和服务器方在某一
阶段内通信而生成的。凭据中包括有客户和服务器方的身份
信息、在下一阶段双方使用的临时加密密钥(称为会话密钥,
Session Key),还有证明客户方拥有会话密钥的身份认证者
(authenticator)信息。身份认证者信息的作用是防止攻击者
将来将同样的凭据再次使用。
凭据是KDC发出的。Kerberos在Needham-Schroeder
原始模型中加入了时间标记(timestamp)以检测重
放攻击(Replay Attack)。与KDC共享的密钥构成
了客户方或者服务器方相信它接收到的凭据的真实性
的基础。为了提高安全性能,一个Kerberos凭据只在
一段有限的时间内有效,称为凭据的生命期。当生命
期过后凭据自动失效,以后的通信必须从KDC获得
新的凭据进行认证。
KDC自治管理的计算机和用户等通信参与方的全体
称为领域(realm),领域是从管理角度提出的概念,
与物理网络或者地理范围等无关。在实际使用中,为
了方便, 通常选择与Internet域名系统一致的名字来
命名领域。不同领域中的用户之间的身份认证也是可
以进行的,Kerberos定义了通过共享密钥进行领域间
用户认证的方式。
Kerberos保持一个它的客户方以及密钥的数据库,这
些密钥是KDC与客户方之间共享的,是不能被第三
方知道的。如果客户是用户,该密钥就是用户口令经
过Hash生成的,需要使用Kerberos认证服务的其他
网络服务也需要进行登记并且在登记时协商共享密钥,
这些密钥往往是机器随机生成的。
公钥基础设施(PKI)是在分布式计算系统中提供的
使用公钥密码系统和证书安全服务的基础设施。
PKI产品和服务允许使用者在网络上建立一个安全领
域,在该领域中可以签发密钥和证书。PKI支持使用
者在建立的安全领域中进行加密密钥和证书的使用和
管理,提供密钥管理(包括密钥更新、恢复和托管)、
证书管理(包括产生和撤销),以及安全政策管理等。
PKI还提供通过证书层次结构(Certificate
Hierarchy)或者通过直接交叉证书(Cross
Certificate)的方法在本地安全领域与其他安全领域
之间建立相互信任的关系。
公钥基础设施
图表示了PKI的体系结构,除了证书以外,PKI还
包括其他几个组成成分。PKI最基本的组成是证书的
主体,它通常是用户,也可以是任何拥有公钥的一个
公司、组织、系统或者应用。例如,Web站点就可以
成为证书主体,它通过SSL或者其他协议与浏览器建
立安全通信信道。用户和应用软件系统可以成为证书
的客体,它们和其他实体也将是证书的使用者。
图 PKI体系结构
证书权威机构(CA)创建并签发证书。通常一个CA将
为一个有限的用户团体签发证书,这样的用户团体通
常被称为安全领域(Security Domain)。CA还维护并
且发布证书撤销列表(Certificate Revoke List,CRL)
,当证书以及证书中的公钥失效时通常采用CRL这
种集中方式通知用户和应用。CA通常将CRL发布在
目录服务的某个位置甚至某个特定的URL上。
目录系统是PKI的重要依靠,目前支持轻量级目录服
务(Light Weight Directory Access Protocol,
LDAP)是最基本的要求。因为PKI将使用目录服务
来存放、发布、查找和获取密钥,如果目录服务不支
持基于证书的对象类和属性的话,PKI产品通常将涉
及对目录服务的扩展。由于LDAP和是目前占
优势的目录服务标准,大多数PKI产品默认支持
(、和 )定义的证书对象类
和属性。
由于建立PKI的目标是需要与其他网络以及Internet
互联,在全球范围内实现电子商务和安全通信等应用,
因此,PKI必须基于国际标准以保证它的互操作性,
这是实现PKI的最低限度的要求。但是目前PKI体系
结构和标准才刚刚推出,现有的很多证书服务器产品,
例如,Netscape的 Certificate Server和Microsoft的
Certificate Server,只涉及了证书的生成和撤销,并没
有解决密钥等其他问题,因此并不是一个完整的PKI
的解决方案,没有完全解决企业对于公钥体系结构的
需求。
1.访问控制概念
机密性服务和完整性服务都需要实施访问控制。访
问控制是确定来访实体有否访问权以及实施访问权
限的过程。被访问的数据统称客体。能访问或使用
客体的活动实体称做主体。访问控制一般都是基于
安全政策和安全模型的。Lampson提出的访问矩阵
(Access Matrix)是表示安全政策的最常用的访问
控制安全模型。该矩阵中列表示访问者,即主体;
行表示被访问对象,即客体。访问者对访问对象的
权限就存放在矩阵中对应的交叉点上。
访问控制
为节省存储空间,实际系统通常并不直接采用矩阵,
而是采用访问控制表或者权利表进行表示。前一种方
法是按照行来存储矩阵,在对象服务器上存储着每个
对象的授权访问者及其权限的一张表,也称访问控制
表(Access Control List,ACL)。负责保护访问对
象的程序称为引用监控器(Reference Monitor),它
根据访问控制表的内容来判断是否授权某个访问者某
些访问权限。后一种方法则是按照列来处理矩阵,每
个访问者存储有访问权利(capability)的表,该表
包含了他能够访问的特定对象和操作权限。引用监视
器根据验证访问表提供的权利表和访问者的身份来决
定是否授予访问者相应的操作权限。
2.访问控制分类
根据能够控制的访问对象粒度可以将访问控制分为粗
粒度(Coarse Grained)访问控制、中粒度
(Medium Grained)访问控制和细粒度(Fine
Grained)访问控制。这里并没有严格定义的区分标
准,但是人们通常认为能够控制到文件甚至记录对象
的访问控制可以称为细粒度访问控制,而只能控制到
主机对象的访问控制称为粗粒度访问控制。
目前很多计算机系统的安全都是采用ACL模型,分
布式系统和网络系统也不例外,ACL模型提供安全
保密和完整性安全策略的基础。
源通信参与方是通信发起者和请求者,请求信息包含
了对网络资源进行某种操作的请求;ACL服务器通
过引用监控器检查源通信方的请求内容并决定是否允
许通过;访问对象是网络资源,如文件、设备或者
CPU等。
3.访问控制实现
在集中式系统中访问控制是很容易实现的,因为操作
系统控制着所有访问对象并且管理所有进程,所有操
作均在主机操作系统管理下进行。在分布式系统和网
络环境中情况有些不同,首先是访问者和被访问对象
不在一台主机上,它们之间的通信路径可能很长并且
中间可能经过很多台主机,这些主机的可信赖程度是
不同的。因此在进行身份认证时必须将远程用户和本
地用户加以区分,在设置访问控制权限时也要区别对
待。例如有些资源只允许用户在本地进行访问。
其次是规模不同,网络系统的规模比集中式系统要大很多,
因此不可能由单个主机来负责管理所有用户以及他们的访问
控制信息。必须有机制保证引用监视器与这些用户管理和访
问控制信息管理的服务器之间安全地通信,这里涉及访问控
制信息数据完整性和对访问控制服务器的认证协议等问题。
为了简化管理,访问者通常被分类成组、组织,设置访问控
制时可以按组进行设定,这样就可以避免访问控制表过于庞
大。例如,某文件允许所有清华大学学生阅读,那么在访问
控制表中将清华大学学生作为组来定义是合适的,否则就需
要在ACL中添加一万多项,而且随时需要根据学生毕业、入
学而修改。当然,这需要身份认证系统提供分组管理的功能。
网络信息基本安全服务是为了维护信息自身的安全,
针对信息安全威胁,用以对抗攻击的基本安全服务:
机密性服务、完整性服务、可用性服务、可审性服务。
机密性服务提供信息的保密。机密性服务包括文件机
密性、信息传输机密性以及通信流的机密性。相应的
机制有访问控制、加密、填充通信等。机密性服务可
阻止访问攻击,但它必须与可审性服务一起使用。
本章小结
完整性服务提供信息的正确性。完整性服务包括文件
完整性、信息传输完整性。相应的机制有访问控制、
加密、数字签名等。完整性服务可成功地阻止篡改攻
击和否认攻击,但它也必须与可审性服务一起使用。
可用性服务提供的信息是可用的,使合法用户能访问
计算机系统、存取该系统上的信息、运行各种应用程
序。可用性服务包括后备、在线恢复和灾难恢复。可
用性服务是针对拒绝服务攻击的一种安全服务。可用
性并不能阻止DOS攻击,但可用来减少这类攻击的影
响。
可审性服务包括身份标识与身份鉴别、审计。可审性
服务本身并不能针对攻击提供保护,它必须和其他安
全服务结合,从而使这些服务更有效。可审性服务会
增加系统的复杂性,降低系统的使用能力。然而,如
果没有可审性服务,机密性服务与完整性服务也会失
效。
身份鉴别的方法有知识因子、拥有因子、生物因子以
及它们的组合。网络环境下的身份鉴别是指可靠地验
证某个通信参与方的身份是否与他声称的身份一致的
过程,一般通过某种复杂的身份认证协议来实现。
数字签名是通信双方在网上交换信息用公钥密码防止
伪造和欺骗的一种身份认证。
Kerberos鉴别是一种使用对称密钥加密算法来实现通
过第三方密钥分发中心(KDC)的身份认证系统。
公钥基础设施(PKI)是在分布式计算机系统中提供
的使用公钥密码系统和证书安全服务的基础设
施。
访问控制是指确定可给予哪些主体访问的权利、确定
以及实施访问权限的过程。被访问的数据统称客体,
能访问或使用客体的活动实体称主体。访问控制一般
都是基于安全政策和安全模型的。
4-1 机密性服务提供信息的保密,机密性服务包括
()。
A.文件机密性 B. 信息传输机密性
. 通信流的机密性 D. 以上3项都是
4-2 完整性服务提供信息的正确性。该服务必须和
()服务配合工作,才能对抗篡改攻击。
A. 机密性 B. 可用性 C. 可审性 D. 以上3项都是
4-3 数字签名要预先使用单向Hash函数进行处理的
原因是()。
习题
A. 多一道加密工序使密文更难破译
B. 提高密文的计算速度
C. 缩小签名密文的长度,加快数字签名和验证签名
的运算速度
D. 保证密文能正确地还原成明文
4-4 Kerberos的设计目标不包括()。
A. 认证 B. 授权 C. 记账 D. 加密
4-5 身份鉴别是安全服务中的重要一环,以下关于身
份鉴别的叙述不正确的是()。
A. 身份鉴别是授权控制的基础
B. 身份鉴别一般不用提供双向的认证
C. 目前一般采用基于对称密钥加密或公开密钥加密
的方法
D. 数字签名机制是实现身份鉴别的重要机制
4-6 基于通信双方共同拥有的但是不为别人知道的
秘密,利用计算机强大的计算能力,以该秘密作为
加密和解密的密钥的认证是()。
A.公钥认证 B. 零知识认证
. 共享密钥认证 D. 口令认证
4-7 Kerberos在请求访问应用服务器之前,必须()。
A. 向Ticket Granting服务器请求应用服务器ticket
B. 向认证服务器发送要求获得“证书”的请求
C. 请求获得会话密钥
D. 直接与应用服务器协商会话密钥
4-8 下面不属于PKI(公钥基础设施)的组成部分的
是()。
A. 证书主体 B. 使用证书的应用和系统
C. 证书权威机构 D. AS
4-9 下列对访问控制影响不大的是()。
A. 主体身份 B. 客体身份
C. 访问类型 D. 主体与客体的类型
4-10 为了简化管理,通常对访问者(),避免访问
控制表过于庞大。
A. 分类组织成组
B. 严格限制数量
C. 按访问时间排序,并删除一些长期没有访问的用
户
D. 不作任何限制