九章系统安全.ppt

上传人:本田雅阁 文档编号:2552079 上传时间:2019-04-07 格式:PPT 页数:110 大小:1.14MB
返回 下载 相关 举报
九章系统安全.ppt_第1页
第1页 / 共110页
九章系统安全.ppt_第2页
第2页 / 共110页
九章系统安全.ppt_第3页
第3页 / 共110页
亲,该文档总共110页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《九章系统安全.ppt》由会员分享,可在线阅读,更多相关《九章系统安全.ppt(110页珍藏版)》请在三一文库上搜索。

1、第九章 系统安全性,9.1 引言 9.2 数据加密技术 9.3 认证技术 9.4 访问控制技术 9.5 防火墙技术,9.1 引 言,9.1.1 系统安全性的内容和性质,1. 系统安全性的内容 系统安全性包括三个方面的内容,即物理安全、逻辑安全和安全管理。物理安全是指系统设备及相关设施受到物理保护,使之免遭破坏或丢失;安全管理包括各种安全管理的政策和机制;而逻辑安全则是指系统中信息资源的安全, 它又包括以下三个方面: (1) 保密性(Secrecy)。 (2) 完整性(Integrity)。 (3) 可用性(Availability)。,2. 系统安全的性质 系统安全问题涉及面较广,它不仅与系统

2、中所用的硬、软件设备的安全性能有关,而且与构造系统时所采用的方法有关,从而导致了系统安全问题的性质更为复杂,主要表现为如下几点: (1) 多面性。 (2) 动态性。 (3) 层次性。 (4) 适度性。,9.1.2 对系统安全威胁的类型,假冒(Masquerading)。 (2) 数据截取(Data Interception)。 (3) 拒绝服务(Denial of Server)。 (4) 修改(Modification): (5) 伪造(Fabrication)。 (6) 否认(Repudiation)。 (7) 中断(Interruption)。 (8) 通信量分析(Traffic Ana

3、lysis)。,9.1.3 对各类资源的威胁,对硬件的威胁 电源掉电。 (2) 设备故障和丢失。,在Novell公司的Netware网络OS中,提供了三级容错技术,此即SFT-、SFT-和SFT-;在Windows NT网络OS中所采用的是磁盘阵列技术。此外,还必须加强对计算机系统的管理和日常维护,以保证硬件的正常运行和杜绝设备被窃事件的发生。,2. 对软件的威胁,删除软件。 (2) 拷贝软件。 (3) 恶意修改。,3. 对数据的威胁,窃取机密信息。 (2) 破坏数据的可用性。 (3) 破坏数据的完整性。,4. 对远程通信的威胁,(1) 被动攻击方式。 对于有线信道,攻击者可以用在通信线路上进

4、行搭接的方法,去截获在线路上传输的信息,以了解其中的内容或数据的性质。 这种攻击方式, 一般不会干扰信息在通信线中的正常传输,因而也不易被检测出来。 通常把这种攻击方式称为被动攻击。对付被动攻击的最有效方法,是对所传输的数据进行加密,这样,攻击者只能获得被加密过的密文,但却无法了解密文的含义;对于无线信道, 如微波信道、 卫星信道,防范攻击的有效方法也同样是对数据进行加密处理。,(2) 主动攻击方式。 主动攻击方式通常具有更大的破坏性。这里,攻击者不仅要截获系统中的数据,而且还可能冒充合法用户, 对网络中的数据进行删除、修改,或者制造虚假数据。主动攻击,主要是攻击者通过对网络中各类结点中的软件

5、和数据加以修改来实现的,这些结点可以是主机、 路由器或各种交换器。,9.1.4 信息技术安全评价公共准则,1. CC的由来 对一个安全产品(系统)进行评估,是件十分复杂的事。它对公正性和一致性要求很严。因此,需要有一个能被广泛接受的评估标准。为此,美国国防部在80年代中期制订了一组计算机系统安全需求标准,共包括20多个文件, 每个文件都使用了彼此不同颜色的封面,统称为“彩虹系列”。其中最核心的是具有橙色封皮的“可信任计算机系统评价标准(TCSEC)”,简称为“橙皮书”。,该标准中将计算机系统的安全程度划分为8个等级,有D1、C1、C2、B1、B2、B3、A1和A2。在橙皮书中,对每个评价级别的

6、资源访问控制功能和访问的不可抵赖性、信任度及产品制造商应提供的文档,作了一系列的规定,其中以D1级为安全度最低级,称为安全保护欠缺级。 常见的无密码保护的个人计算机系统便属于D1级。C1级称为自由安全保护级, 通常具有密码保护的多用户工作站便属于C1级。C2级称为受控存取控制级, 当前广泛使用的软件, 如UNIX操作系统、 ORACLE数据库系统等,都能达到C2级。从B级开始,要求具有强制存取控制和形式化模型技术的应用。B3、A1级进一步要求对系统中的内核进行形式化的最高级描述和验证。 一个网络所能达到的最高安全等级,不超过网络上其安全性能最低的设备(系统)的安全等级。,2. CC的组成 CC

7、由两部分组成,一部分是信息技术产品的安全功能需求定义, 这是面向用户的,用户可以按照安全功能需求来定义“产品的保护框架”(PP),CC要求对PP进行评价以检查它是否能满足对安全的要求;CC的另一部分是安全保证需求定义,这是面向厂商的,厂商应根据PP文件制定产品的“安全目标文件”(ST), CC同样要求对ST进行评价, 然后根据产品规格和ST去开发产品。,安全功能需求部分,包括一系列的安全功能定义, 它们是按层次式结构组织起来的,其最高层为类(Class)。 CC将整个产品(系统)的安全问题分为11类,每一类侧重于一个安全主题。中间层为帧(Family),在一类中的若干个簇都基于相同的安全目标,

8、 但每个簇各侧重于不同的方面。 最低层为组件(Component),这是最小可选择的安全功能需求。安全保证需求部分, 同样是按层次式结构组织起来的。 须指出的是,保障计算机和系统的安全性,将涉及到许多方面, 其中有工程问题、 经济问题、 技术问题、 管理问题、甚至涉及到国家的立法问题。 但在此, 我们仅限于介绍用来保障计算机和系统安全的基本技术,包括认证技术、访问控制技术、 密码技术、 数字签名技术、 防火墙技术等等。,9.2 数据加密技术,9.2.1 数据加密的基本概念,直至进入20世纪60年代,由于电子技术和计算机技术的迅速发展,以及结构代数、可计算性理论学科研究成果的出现,才使密码学的研

9、究走出困境而进入了一个新的发展时期;特别是美国的数据加密标准DES和公开密钥密码体制的推出,又为密码学的广泛应用奠定了坚实的基础。,1. 数据加密技术的发展,2. 数据加密模型,图9-1数据加密模型,(1) 明文(plain text)。 被加密的文本, 称为明文P。 (2) 密文(cipher text)。 加密后的文本, 称为密文Y。 (3) 加密(解密)算法E(D)。用于实现从明文(密文)到密文(明文)转换的公式、规则或程序。 (4) 密钥K。 密钥是加密和解密算法中的关键参数。,加密过程可描述为:在发送端利用加密算法E和加密密钥Ke对明文P进行加密,得到密文Y=EKe(P)。密文Y被传

10、送到接收端后应进行解密。 解密过程可描述为:接收端利用解密算法D和解密密钥Kd对密文Y进行解密,将密文恢复为明文P=DKd(Y)。 在密码学中,把设计密码的技术称为密码编码, 把破译密码的技术称为密码分析。密码编码和密码分析合起来称为密码学。在加密系统中,算法是相对稳定的。为了加密数据的安全性,应经常改变密钥, 例如, 在每加密一个新信息时改变密钥,或每天、甚至每个小时改变一次密钥。,3. 加密算法的类型 1) 按其对称性分类 (1) 对称加密算法。在这种方式中,在加密算法和解密算法之间,存在着一定的相依关系,即加密和解密算法往往使用相同的密钥;或者在知道了加密密钥Ke后,就很容易推导出解密密

11、钥Kd。在该算法中的安全性在于双方能否妥善地保护密钥。 因而把这种算法称为保密密钥算法。 (2) 非对称加密算法。 这种方式的加密密钥Ke和解密密钥Kd不同,而且难以从Ke推导出Kd来。可以将其中的一个密钥公开而成为公开密钥,因而把该算法称为公开密钥算法。 用公开密钥加密后, 能用另一把专用密钥解密;反之亦然。,2) 按所变换明文的单位分类 (1) 序列加密算法。该算法是把明文P看作是连续的比特流或字符流P1、 P2、P3 ,在一个密钥序列K=K1、K2、K3的控制下,逐个比特(或字符)地把明文转换成密文。可表达成: EK(P)=EK1(P1)EK2(P2)EK3(P3) 这种算法可用于对明文

12、进行实时加密。 (2) 分组加密算法。该算法是将明文P划分成多个固定长度的比特分组,然后,在加密密钥的控制下,每次变换一个明文分组。最著名的DES算法便是以64位为一个分组进行加密的。,4. 基本加密方法,1) 易位法 易位法是按照一定的规则,重新安排明文中的比特或字符的顺序来形成密文,而字符本身保持不变。按易位单位的不同又可分成比特易位和字符易位两种易位方式。前者的实现方法简单易行,并可用硬件实现,主要用于数字通信中;而后者即字符易位法则是利用密钥对明文进行易位后形成密文,具体方法是:假定有一密钥MEGABUCK,其长度为8,则其明文是以8个字符为一组写在密文的下面,如图 9 - 2 所示。

13、,图 9-2 按字符易位加密算法,按密钥中字母在英文字母表中的顺序来确定明文排列后的列号。如密钥中的A所对应的列号为1, B为2, C为3, E为4等。然后再按照密钥所指示的列号,先读出第一列中的字符, 读完第1列后,再读出第2列中的字符, , 这样,即完成了将明文please transfer 转换为密文AFLLSKSOSELAWAIA 的加密过程。,2) 置换法 置换法是按照一定的规则,用一个字符去置换(替代)另一个字符来形成密文。最早由朱叶斯凯撒(Julius caeser)提出的算法, 非常简单,它是将字母a、b、 c、 、 x、 y、 z循环右移三位后,形成d、 e、 f、 、 a、

14、 b、 c字符序列, 再利用移位后的序列中的字母去分别置换未移位序列中对应位置的字母,即利用d置换a, 用e置换b等。 凯撒算法的推广是移动K位。单纯移动K位的置换算法很容易被破译,比较好的置换算法是进行映像。例如,将26个英文字母映像到另外26个特定字母中,见图 9 - 3 所示。 利用置换法可将attack加密, 变为QZZQEA。,9 3 26个字母的映像,9.2.2 对称加密算法与非对称加密算法,1. 对称加密算法 现代加密技术所用的基本手段,仍然是易位法和置换法,但它与古典方法的重点不同。在古典法中通常采用的算法较简单,而密钥则较长;现代加密技术则采用十分复杂的算法,将易位法和置换法

15、交替使用多次而形成乘积密码。最有代表性的对称加密算法是数据加密标准DES(Data Eneryption Standard)。该算法原来是IBM公司于19711972年研制成功的,它旨在保护本公司的机密产品,后被美国国家标准局选为数据加密标准,并于1977年颁布使用。 ISO现在已将DES作为数据加密标准。 随着VLSI的发展,现在可利用VLSI芯片来实现DES算法, 并用它做成数据加密处理器DEP。,在DES中所使用的密钥长度为64位,它由两部分组成,一部分是实际密钥,占56位;另一部分是8位奇偶校验码。 DES属于分组加密算法, 它将明文按64位一组分成若干个明文组,每次利用56位密钥对6

16、4位的二进制明文数据进行加密, 产生64位密文数据。DES算法的总框图如图 9 - 4(a)所示。 整个加密处理过程可分为四个阶段(共19步),见图9-4(b)所示。,图 9-4 DES加密标准,第一阶段:先将明文分出64位的明文段,然后对64位明文段做初始易位处理,得到X0,将其左移32位,记为L0,右移32位,记为R0。 第二阶段:对初始易位结果X0进行16次迭代处理(相应于第217步),每一次使用56位加密密钥Ki。第217步的迭代过程如图 9-4(b)所示。由图可以看出,输出的左32位Li是输入右32位Ri-1的拷贝;而输出的右32位Ri,则是在密钥Ki的控制下,对输入右32位Ri-1

17、做函数f的变换后的结果,再与输入左32位Li-1进行异或运算而形成的,即,第三阶段:把经过16次迭代处理的结果(64位)的左32位与右32位互易位置。 第四阶段: 进行初始易位的逆变换。,2. 非对称加密算法 DES加密算法属于对称加密算法。 加密和解密所使用的密钥是相同的。 DES的保密性主要取决于对密钥的保密程度。加密者必须用非常安全的方法(如通过个人信使)将密钥送给接收者(解密者)。如果通过计算机网络传送密钥,则必须先对密钥本身予以加密后再传送,通常把这种算法称为对称保密密钥算法。 1976年美国的Diffie和Hallman提出了一个新的非对称密码体制。 其最主要的特点是在对数据进行加

18、密和解密时,使用不同的密钥。每个用户都保存着一对密钥, 每个人的公开密钥都对外公开。假如某用户要与另一用户通信, 他可用公开密钥对数据进行加密,而收信者则用自己的私用密钥进行解密。 这样就可以保证信息不会外泄。,公开密钥算法的特点如下: (1) 设加密算法为E、加密密钥为Ke,可利用它们对明文P进行加密, 得到EKe(P)密文。设解密算法为D、解密密钥为Kd, 可利用它们将密文恢复为明文,即 DKd(EKe(P)=P (2) 要保证从Ke推出Kd是极为困难的, 或者说,从Ke推出Kd实际上是不可能的。 (3) 在计算机上很容易产生成对的Ke和Kd。 (4) 加密和解密运算可以对调,即利用DKd

19、对明文进行加密形成密文,然后用EKe对密文进行解密,即,在此情况下,解密密钥或加密密钥公开也无妨。因而这种加密方法称为公开密钥法(Publie Key)。在公开密钥体制中, 最著名的是RSA体制, 它已被ISO推荐为公开密钥数据加密标准。 由于对称加密算法和非对称加密算法各有优缺点,即非对称加密算法要比对称加密算法处理速度慢,但密钥管理简单, 因而在当前新推出的许多新的安全协议中,都同时应用了这两种加密技术。一种常用的方法是利用公开密钥技术传递对称密码,而用对称密钥技术来对实际传输的数据进行加密和解密,例如,由发送者先产生一个随机数,此即对称密钥, 用它来对欲传送的数据进行加密;然后再由接收者

20、的公开密钥对对称密钥进行加密。接收者收到数据后,先用私用密钥对对称密钥进行解密,然后再用对称密钥对所收到的数据进行解密。,9.2.3 数字签名和数字证明书,1. 数字签名 在金融和商业等系统中,许多业务都要求在单据上加以签名或加盖印章,证实其真实性,以备日后查验。在利用计算机网络传送报文时,可将公开密钥法用于电子(数字)签名来代替传统的签名。为使数字签名能代替传统的签名,必须满足下述三个条件: (1) 接收者能够核实发送者对报文的签名。 (2) 发送者事后不能抵赖其对报文的签名。 (3) 接收者无法伪造对报文的签名。,1) 简单数字签名 在这种数字签名方式中,发送者A可使用私用密钥Kda对明文

21、P进行加密,形成DKda(P)后传送给接收者B。B可利用A的公开密钥Kea对DKda(P)进行解密,得到EKea(DKda(P)=P,如图 9 - 5(a)所示。,图 9 5 数字签名示意图,我们按照对数字签名的三点基本要求进行分析后可得知: (1) 接收者能利用A的公开密钥Kea对DKda(P)进行解密,这便证实了发送者对报文的签名。 (2) 由于只有发送者A才能发送出DKda(P)密文,故不容A进行抵赖。 (3) 由于B没有A所拥有的私用密钥,故B无法伪造对报文的签名。 由此可见,图9 - 5(a)所示的简单方法可以实现对传送的数据进行签名,但并不能达到保密的目的,因为任何人都能接收DKd

22、a(P),且可用A的公开密钥Kea对DKda(P)进行解密。为使A所传送的数据只能为B所接收,必须采用保密数字签名。,2) 保密数字签名 为了实现在发送者A和接收者B之间的保密数字签名, 要求A和B都具有密钥,再按照图 9-5(b)所示的方法进行加密和解密。 (1) 发送者A可用自己的私用密钥Kda对明文P加密,得到密文DKda(P)。 (2) A再用B的公开密钥Keb对DKda(P)进行加密,得到EKeb(DKda(P)后送B。 (3) B收到后,先用私用密钥Kdb进行解密,即DKdb(EKeb(DKda(P)=DKda(P)。 (4) B再用A的公开密钥Kea对DKda(P)进行解密,得到

23、EKea(DKda(P)=P。,2. 数字证明书(Certificate),(1) 用户A在使用数字证明书之前,应先向认证机构CA申请数字证明书,此时A应提供身份证明和希望使用的公开密钥A。 (2) CA在收到用户A发来的申请报告后,若决定接受其申请, 便发给A一份数字证明书,在证明书中包括公开密钥A和CA发证者的签名等信息,并对所有这些信息利用CA的私用密钥进行加密(即CA进行数字签名)。 (3) 用户A在向用户B发送报文信息时,由A用私用密钥对报文加密(数字签名),并连同已加密的数字证明书一起发送给B。,(4) 为了能对所收到的数字证明书进行解密,用户B须向CA机构申请获得CA的公开密钥B

24、。CA收到用户B的申请后,可决定将公开密钥B发送给用户B。 (5) 用户B利用CA的公开密钥B对数字证明书加以解密,以确认该数字证明书确系原件,并从数字证明书中获得公开密钥A,并且也确认该公开密钥A确系用户A的。 (6) 用户B再利用公开密钥A对用户A发来的加密报文进行解密,得到用户A发来的报文的真实明文。,9.2.4 网络加密技术,1. 链路加密(Link Encryption) 链路加密,是对在网络相邻结点之间通信线路上传输的数据进行加密。链路加密常采用序列加密算法,它能有效地防止搭线窃听所造成的威胁。两个数据加密设备分别置于通信线路的两端,它们使用相同的数据加密密钥。 如果在网络中只采用

25、了链路加密,而未使用端端加密,那么,报文从最高层(应用层)到数据链路层之间,都是以明文的形式出现的,只是从数据链路层进入物理层时,才对报文进行了加密,并把加密后的数据通过传输线路传送到对方结点上。为了防止攻击者对网络中的信息流进行分析, 在链路加密方式中,不仅对正文做了加密,而且对所有各层的控制信息也进行了加密。,接收结点在收到加密报文后,为了能对报文进行转发,必须知道报文的目标地址。为此,接收结点上的数据加密设备应对所接收到的加密报文进行解密,从中找出目标地址并进行转发。当该报文从数据链路层送入物理层(转发)时,须再次对报文进行加密。由上所述得知,在链路加密方式中,在相邻结点间的物理信道上传

26、输的报文是密文,而在所有中间结点中的报文则是明文,这给攻击者造成了可乘之机,使其可从中间结点上对传输中的信息进行攻击。这就要求能对所有各中间结点进行有效的保护。,此外,在链路加密方式中,通常对每一条链路都分别采用不同的加密密钥。图 9-6 示出了链路加密时的情况。在图中,结点2的DEE使用密钥Kd2将密文EKe1(P)解密为明文P后,又用密钥Ke2将P变换为密文EKe2(P)。可见,对于一个稍具规模的网络,将需要非常多的加密硬件,这是必要的。,图 9 6 链路加密方式,2.端端加密(End-to-End Encryption) 在单纯采用链路加密方式时,所传送的数据在中间结点将被恢复为明文,因

27、此,链路加密方式尚不能保证通信的安全性;而端端加密方式是在源主机或前端机FEP中的高层(从传输层到应用层)对所传输的数据进行加密。 在整个网络的传输过程中,不论是在物理信道上,还是在中间结点,报文的正文始终是密文,直至信息到达目标主机后,才被译成明文,因而这样可以保证在中间结点不会出现明文。,图 9 7 端端加密方式,在端端加密方式中,只要密钥没有泄漏, 数据在传输过程中就不怕被窃取,也无须对网络中间结点的操作人员提出特殊要求。但在这种加密方式中,不能对报头中的控制信息(如目标地址、路由信息等)进行加密,否则中间结点将无法得知目标地址和有关的控制信息。显然,报头不能加密, 也将会直接或间接地受

28、到攻击,比如,攻击者可能根据报头中的源地址和目标地址,了解到某些部门的通信情况, 甚至还可以发起诸如篡改报文的目标地址和路由信息之类的主动攻击。,上述两种加密方式各有优缺点。 一种比较好的网络加密方式是,同时采用链路加密和端端加密,以取长补短。如利用端端加密方式来使用户数据以密文形式穿越各个中间结点,以保障用户数据的安全;而利用链路加密方式则可使报头中的控制信息以密文形式在通信信道中传输,使之不易受到攻击。,9.3 认 证 技 术,9.3.1 基于口令的身份认证技术,1. 口令 利用口令来确认用户的身份,是当前最常用的认证技术。通常,每当用户要上机时,系统中的登录程序都首先要求用户输入用户名,

29、登录程序利用用户输入的名字去查找一张用户注册表或口令文件。 在该表中,每个已注册用户都有一个表目, 其中记录有用户名和口令等。登录程序从中找到匹配的用户名后,再要求用户输入口令,如果用户输入的口令也与注册表中用户所设置的口令一致,系统便认为该用户是合法用户,于是允许该用户进入系统;否则将拒绝该用户登录。,口令是由字母或数字、或字母和数字混合组成的,它可由系统产生,也可由用户自己选定。 系统所产生的口令不便于用户记忆,而用户自己规定的口令则通常是很容易记忆的字母、数字,例如生日、住址、电话号码, 以及某人或宠物的名字等等。这种口令虽便于记忆, 但也很容易被攻击者猜中。,2. 对口令机制的基本要求

30、 基于用户标识符和口令的用户认证技术, 其最主要的优点是简单易行,因此,在几乎所有需要对数据加以保密的系统中, 都引入了基于口令的机制。但这种机制也很容易受到别有用心者的攻击,攻击者可能通过多种方式来获取用户标识符和口令,或者猜出用户所使用的口令。 为了防止攻击者猜出口令,在这种机制中通常应满足以下几点要求:,(1) 口令长度要适中。 通常的口令是由一串字母和数字组成。 如果口令太短, 则很容易被攻击者猜中。例如,一个由四位十进制数所组成的口令,其搜索空间仅为104,在利用一个专门的程序来破解时,平均只需5000次即可猜中口令。假如每猜一次口令需花费0.1 ms的时间,则平均每猜中一个口令仅需

31、0.5 s。 而如果采用较长的口令,假如口令由ASCII码组成,则可以显著地增加猜中一个口令的时间。例如,口令由7位ASCII码组成, 其搜索空间变为957(95是可打印的ASCII码),大约是71013,此时要猜中口令平均需要几十年。,(2) 自动断开连接。 为了给攻击者猜中口令增加难度,在口令机制中还应引入自动断开连接的功能,即只允许用户输入有限次数的不正确口令,通常规定35次。如果用户输入不正确口令的次数超过规定的次数时,系统便自动断开该用户所在终端的连接。 当然, 此时用户还可能重新拨号请求登录,但若在重新输入指定次数的不正确口令后,仍未猜中,系统会再次断开连接。这种自动断开连接的功能

32、,无疑又给攻击者增加了猜中口令的难度。,(3) 不回送显示。 在用户输入口令时,登录程序不应将该口令回送到屏幕上显示,以防止被就近的人发现。 (4) 记录和报告。 该功能用于记录所有用户登录进入系统和退出系统的时间;也用来记录和报告攻击者非法猜测口令的企图及所发生的与安全性有关的其它不轨行为,这样便能及时发现有人在对系统的安全性进行攻击。,3. 一次性口令(One time Passward) 为了把由于口令泄露所造成的损失减到最小, 用户应当经常改变口令。例如,一个月改变一次,或者一个星期改变一次。 一种极端的情况是采用一次性口令机制。在利用该机制时, 用户必须提供记录有一系列口令的一张表,

33、并将该表保存在系统中。 系统为该表设置一指针用于指示下次用户登录时所应使用的口令。这样,用户在每次登录时,登录程序便将用户输入的口令与该指针所指示的口令相比较,若相同,便允许用户进入系统,并将指针指向表中的下一个口令。在采用一次性口令的机制时,即使攻击者获得了本次用户上机时所使用的口令,他也无法进入系统。必须注意,用户所使用的口令表,必须妥善保存好。,4. 口令文件 通常在口令机制中,都配置有一份口令文件, 用于保存合法用户的口令和与口令相联系的特权。 该文件的安全性至关重要, 一旦攻击者成功地访问了该文件,攻击者便可随心所欲地访问他感兴趣的所有资源,这对整个计算机系统的资源和网络,将无安全性

34、可言。显然,如何保证口令文件的安全性,已成为系统安全性的头等重要问题。,保证口令文件安全性的最有效的方法是, 利用加密技术, 其中一个行之有效的方法是选择一个函数来对口令进行加密, 该函数f(x)具有这样的特性:在给定了x值后,很容易算出f(x); 然而, 如果给定了f(x)的值,却不能算出x的值。利用f(x)函数去编码(即加密)所有的口令,再将加密后的口令存入口令文件中。当某用户输入一个口令时,系统利用函数f(x)对该口令进行编码,然后将编码(加密)后的口令与存储在口令文件中的已编码的口令进行比较,如果两者相匹配,便认为是合法用户。顺便说明一下,即使攻击者能获取口令文件中的已编码口令,他也无

35、法对它们进行译码,因而不会影响到系统的安全性。,图 9 8 对加密口令的验证方法,尽管对口令进行加密是一个很好的方法, 但它也不是绝对的安全可靠。 其主要威胁来自于两个方面: (1) 当攻击者已掌握了口令的解密密钥时, 就可用它来破译口令。 (2) 利用加密程序来破译口令, 如果运行加密程序的计算机速度足够快, 则通常只要几个小时便可破译口令。 因此,人们还是应该妥善保管好已加密的口令文件,来防止攻击者轻意地获取该文件。,9.3.2 基于物理标志的认证技术,1. 基于磁卡的认证技术 根据数据记录原理,可将当前使用的卡分为磁卡和IC卡两种。磁卡是基于磁性原理来记录数据的,目前世界各国使用的信用卡

36、和银行现金卡等,都普遍采用磁卡。这是一块其大小和名片大小相仿的塑料卡,在其上贴有含若干条磁道的磁条。 一般在磁条上有三条磁道,每条磁道都可用来记录不同标准和不同数量的数据。磁道上可有两种记录密度,一种是每英寸含有15比特的低密度磁道;另一种是每英寸含有210比特的高密度磁道。如果在磁条上记录了用户名、账号和金额,这就是金融卡或银行卡;而如果在磁条上记录的是有关用户的信息,则该卡便可作为识别用户身份的物理标志。,在磁卡上所存储的信息,可利用磁卡读写器将之读出: 只要将磁卡插入或划过磁卡读写器,便可将存储在磁卡中的数据读出,并传送到相应的计算机中。用户识别程序便利用读出的信息去查找一张用户信息表(

37、该表中包含有若干个表目, 每个用户占有一个表目,表目中记录了有关该用户的信息), 若找到匹配的表目,便认为该用户是合法用户;否则便认为是非法用户。 为了保证持卡者是该卡的主人,通常在基于磁卡认证技术的基础上,又增设了口令机制,每当进行用户身份认证时,都要求用户输入口令。,2. 基于IC卡的认证技术 IC卡即集成电路卡的英文缩写。在外观上IC卡与磁卡并无明显差别,但在IC卡中可装入CPU和存储器芯片,使该卡具有一定的智能,故又称为智能卡或灵巧卡。IC卡中的CPU用于对内部数据的访问和与外部数据进行交换,还可利用较复杂的加密算法,对数据进行处理,这使IC卡比磁卡具有更强的防伪性和保密性,因而IC卡

38、会逐步取代磁卡。根据在磁卡中所装入芯片的不同可把IC卡分为以下三种类型:,(1) 存储器卡。在这种卡中只有一个E2PROM(可电擦、可编程只读存储器)芯片,而没有微处理器芯片。 它的智能主要依赖于终端,就像IC电话卡的功能是依赖于电话机一样。由于此智能卡不具有安全功能,故只能用来存储少量金额的现金与信息。常见的智能卡有电话卡、 健康卡,其只读存储器的容量一般为420 KB。 (2) 微处理器卡。它除具有E2PROM外,还增加了一个微处理器。只读存储器的容量一般是数千字节至数万字节;处理器的字长主要是8位的。在这种智能卡中已具有一定的加密设施, 增强了IC卡的安全性。,(3) 密码卡。在这种卡中

39、又增加了加密运算协处理器和RAM。之所以把这种卡称为密码卡,是由于它能支持非对称加密体制RSA;所支持的密钥长度可长达1024位,因而极大地增强了IC卡的安全性。一种专门用于确保安全的智能卡,在卡中存储了一个很长的用户专门密钥和数字证明书,完全可以作为一个用户的数字身份证明。当前在Internet上所开展的电子交易中, 已有不少密码卡是使用了基于RSA的密码体制。,将IC卡用于身份识别的方法,明显地优于使用磁卡。这一方面是因为,磁卡是将数据存储在磁条上,比较易于用一般设备将其中的数据读出、修改和进行破坏;而IC卡则是将数据保存在存储器中,使用一般设备难于读出,这使IC卡具有更好的安全性。 另一

40、方面,在IC卡中含有微处理器和存储器, 可进行较复杂的加密处理,因此,IC卡具有非常好的防伪性和保密性; 此外,还因为IC卡所具有的存储容量比磁卡的大得多, 通常可大到100倍以上,因而可在IC卡中存储更多的信息, 从而做到“一卡多用”,换言之,一张IC卡,既可作为数字身份证, 又可作为信用卡、电话卡及健康卡等等。,3. 指纹识别技术 (1) 指纹。 指纹有着“物证之首”的美誉。尽管目前全球已有近60亿人口, 但绝对不可能找到两个完全相同的指纹。 因而利用指纹来进行身份认证是万无一失的,而且非常方便。又因为它不会像其它一些物理标志那样出现用户忘记携带或丢失等问题,而且使用起来也特别方便,因此,

41、利用指纹来进行身份识别是有广阔前景的一种识别技术,世界上已有愈来愈多的国家开展了对指纹识别技术的研究。,(2) 指纹识别系统。 早在80年代,美国及其它发达国家便开始了对指纹识别技术的研究,并取得了一定的进展。在所构成的指纹识别系统中包括:指纹输入、指纹图像压缩、 指纹自动比较等8个子系统。但他们的指纹识别系统是建立在大型计算机系统的基础上的,而且由于系统的庞大、价格的昂贵, 始终使该技术难于普及;直至近几年,随着VLSI的迅速发展, 才使指纹识别系统小型化, 使该技术进入了广泛应用的阶段。,9.3.3 基于公开密钥的认证技术,1. 申请数字证书 由于SSL所提供的安全服务,是基于公开密钥证明

42、书(数字证书)的身份认证,因此,凡是要利用SSL的用户和服务器, 都必须先向认证机构(CA)申请公开密钥证明书。 (1) 服务器申请数字证书。 首先由服务管理器生成一密钥对和申请书,服务器一方面将密钥和申请书的备份保存在安全之处;另一方面则向CA提交包括密钥对和签名证明书申请(即CSR)的加密文件,通常以电子邮件方式发送。 CA接收并检查该申请的合法性后,将会把数字证书以电子邮件方式寄给服务器。,(2) 客户申请数字证书。 首先由浏览器生成一密钥对,私有密钥被保存在客户的私有密钥数据库中,将公开密钥连同客户提供的其它信息,一起发往CA。如果该客户符合CA要求的条件, CA将会把数字证书以电子邮

43、件方式寄给客户。,2. SSL握手协议,(1) 身份认证。 SSL协议要求通信的双方都利用自己的私用密钥对所要交换的数据进行数字签名,并连同数字证书一起发送给对方, 以便双方相互检验。如上节所述,通过数字签名和数字证书的验证可以认证对方的身份是否真实。,(2) 协商加密算法。 为了增加加密系统的灵活性,SSL协议允许采用多种加密算法。客户和服务器在通信之前,应首先协商好所使用的某一种加密算法。通常先由客户提供自己能支持的所有加密算法清单,然后由服务器从中选择出一种最有效的加密算法, 并通知客户,此后,双方便可利用该算法对所传送的信息进行加密。 (3) 协商加密密钥。 先由客户机随机地产生一组密

44、钥,再利用服务器的公开密钥对这组密钥进行加密后,送往服务器,由服务器从中选择4个密钥,并通知客户机,将之用于对所传输的信息进行加密。,3. 数据加密和检查数据的完整性 (1) 数据加密。 在客户机和服务器间传送的所有信息,都应利用协商后所确定的加密算法和密钥进行加密处理,以防止被攻击。 (2) 检查数据的完整性。 为了保证经过长途传输后所收到的数据是可信任的,SSL协议还利用某种算法对所传送的数据进行计算, 以产生能保证数据完整性的数据识别码(MAC),再把MAC和业务数据一起传送给对方;而收方则利用MAC来检查所收到数据的完整性。,9.4 访问控制技术,9.4.1 访问矩阵(Access M

45、atrix),1) 访问权 为了对系统中的对象加以保护,应由系统来控制进程对对象的访问。我们把一个进程能对某对象执行操作的权力称为访问权(Access right)。每个访问权可以用一个有序对(对象名, 权集)来表示,例如,某进程有对文件F1执行读和写操作的权力,这时,可将该进程的访问权表示成(F1,R/W)。,2) 保护域 为了对系统中的资源进行保护而引入了保护域的概念,保护域简称为“域”。“域”是进程对一组对象访问权的集合, 进程只能在指定域内执行操作,这样,“域”也就规定了进程所能访问的对象和能执行的操作。在图 9 - 9中示出了三个保护域。在域1中有两个对象,即文件F1和F2,只允许进

46、程对F1读,而允许对F2读和写;而对象Printer1同时出现在域2和域3中,这表示在这两个域中运行的进程都能使用打印机。,图 9 9 三个保护域,3) 进程和域间的静态联系方式 在进程和域之间,可以一一对应,即一个进程只联系着一个域。这意味着,在进程的整个生命期中,其可用资源是固定的,我们把这种域称为“静态域”。在这种情况下, 进程运行的全过程都是受限于同一个域,这将会使赋予进程的访问权超过了实际需要。 例如,某进程在运行开始时需要磁带机输入数据;而在进程快结束时,又需要用打印机打印数据。在一个进程只联系着一个域的情况下,则需要在该域中同时设置磁带机和打印机这两个对象,这将超过进程运行的实际

47、需要。,4) 进程和域间的动态联系方式 在进程和域之间,也可以是一对多的关系,即一个进程可以联系着多个域。在此情况下,可将进程的运行分为若干个阶段,其每个阶段联系着一个域,这样便可根据运行的实际需要,来规定在进程运行的每个阶段中所能访问的对象。用上述的同一个例子,我们可以把进程的运行分成三个阶段:进程在开始运行的阶段联系着域D1,其中包括用磁带机输入; 在运行快结束的第三阶段联系着域D3,其中是用打印机输出; 中间运行阶段联系着域D2,其中既不含磁带机,也不含打印机。我们把这种一对多的联系方式称为动态联系方式,在采用这种方式的系统中,应增设保护域切换功能,以使进程能在不同的运行阶段, 从一个保

48、护域切换到另一个保护域。,2. 访问矩阵 我们可以利用一个矩阵来描述系统的访问控制,并把该矩阵称为访问矩阵(Access Matrix)。 访问矩阵中的行代表域, 列代表对象,矩阵中的每一项是由一组访问权组成的。因为对象已由列显式地定义,故可以只写出访问权而不必写出是对哪个对象的访问权,每一项访问权access(i,j)定义了在域Di中执行的进程能对对象Qj所施加的操作集。 访问矩阵中的访问权,通常是由资源的拥有者或者管理者所决定的。当用户创建一个新文件时,创建者便是拥有者,系统在访问矩阵中为新文件增加一列,由用户决定在该列的某个项中应具有哪些访问权,而在另一项中又具有哪些访问权。 当用户删除

49、此文件时, 系统也要相应地在访问矩阵中将该文件对应的列撤消。,图 9 - 9 的访问矩阵如图 9 - 10 所示。它是由三个域和8个对象所组成的。当进程在域D1中运行时,它能读文件F1、 读和写文件F2。进程在域D2中运行时,它能读文件F3、F4和F5,以及写文件F4、F5和执行文件F4,此外还可以使用打印机1。只有当进程在域D3中运行时,才可使用绘图仪2。,图 9 10 一个访问矩阵,3. 具有域切换权的访问矩阵 为了实现在进程和域之间的动态联系,应能够将进程从一个保护域切换到另一个保护域。为了能对进程进行控制,同样应将切换作为一种权力,仅当进程有切换权时,才能进行这种切换。 为此,在访问矩阵中又增加了几个对象,分别把它们作为访问矩阵中的几个域;当且仅当switchaccess(i,j)时,才允许进程从域i切换到域j。 例如, 在图 9 CD*2 11 中,由于域D1和D2所对应的项目中,有一个S即Switch,故而允许在域D1中的进程切换到域D2中。类似地,在域D2和对象D3所对应的项中, 也有Switch,这表示在D2域

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1