《第9章系统安全性精选文档.ppt》由会员分享,可在线阅读,更多相关《第9章系统安全性精选文档.ppt(112页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第9章系统安全性本讲稿第一页,共一百一十二页9.1 引引 言言 9.1.1 系统安全性的内容和性质系统安全性的内容和性质 1.系统安全性的内容系统安全性的内容 系系统统安安全全性性包包括括三三个个方方面面的的内内容容,即即物物理理安安全全、逻逻辑辑安安全全和和安安全全管管理理。物物理理安安全全是是指指系系统统设设备备及及相相关关设设施施受受到到物物理理保保护护,使使之之免免遭遭破破坏坏或或丢丢失失;安安全全管管理理包包括括各各种种安安全全管管理理的的政政策策和和机机制制;而而逻逻辑辑安安全全则则是是指指系系统统中中信信息息资资源源的的安安全全,它它又又包包括括以下三个方面:。以下三个方面:。本
2、讲稿第二页,共一百一十二页它又包括以下三个方面:。它又包括以下三个方面:。(1)保密性保密性(Secrecy)。(2)完整性完整性(Integrity)。(3)可用性可用性(Availability)。本讲稿第三页,共一百一十二页 2.系统安全的性质系统安全的性质 系系统统安安全全问问题题涉涉及及面面较较广广,它它不不仅仅与与系系统统中中所所用用的的硬硬、软软件件设设备备的的安安全全性性能能有有关关,而而且且与与构构造造系系统统时时所所采采用用的的方方法法有有关关,从从而而导导致致了了系系统统安安全全问问题题的的性性质质更更为为复复杂杂,主主要要表表现为如下几点:现为如下几点:(1)多面性。多
3、面性。(2)动态性。动态性。(3)层次性。层次性。(4)适度性。适度性。本讲稿第四页,共一百一十二页9.1.2 对系统安全威胁的类型对系统安全威胁的类型(1)假冒假冒(Masquerading)。(2)数据截取数据截取(Data Interception)。(3)拒绝服务拒绝服务(Denial of Server)。(4)修改修改(Modification):(5)伪造伪造(Fabrication)。(6)否认否认(Repudiation)。(7)中断中断(Interruption)。(8)通信量分析通信量分析(Traffic Analysis)。本讲稿第五页,共一百一十二页9.1.3 对各类
4、资源的威胁对各类资源的威胁 1.对硬件的威胁对硬件的威胁(1)电源掉电。电源掉电。(2)设备故障和丢失。设备故障和丢失。在Novell公司的Netware网络OS中,提供了三级容错技术,此即SFT-、SFT-和SFT-;在Windows NT网络OS中所采用的是磁盘阵列技术。此外,还必须加强对计算机系统的管理和日常维护,以保证硬件的正常运行和杜绝设备被窃事件的发生。本讲稿第六页,共一百一十二页2.对软件的威胁对软件的威胁(1)删除软件。删除软件。(2)拷贝软件。拷贝软件。(3)恶意修改。恶意修改。本讲稿第七页,共一百一十二页3.对数据的威胁对数据的威胁(1)窃取机密信息。(2)破坏数据的可用性
5、。(3)破坏数据的完整性。本讲稿第八页,共一百一十二页4.对远程通信的威胁对远程通信的威胁 (1)被动攻击方式。对于有线信道,攻击者可以用在通信线路上进行搭接的方法,去截获在线路上传输的信息,以了解其中的内容或数据的性质。这种攻击方式,一般不会干扰信息在通信线中的正常传输,因而也不易被检测出来。通常把这种攻击方式称为被动攻击。对付被动攻击的最有效方法,是对所传输的数据进行加密,这样,攻击者只能获得被加密过的密文,但却无法了解密文的含义;对于无线信道,如微波信道、卫星信道,防范攻击的有效方法也同样是对数据进行加密处理。本讲稿第九页,共一百一十二页 (2)主动攻击方式。主动攻击方式通常具有更大的破
6、坏性。这里,攻击者不仅要截获系统中的数据,而且还可能冒充合法用户,对网络中的数据进行删除、修改,或者制造虚假数据。主动攻击,主要是攻击者通过对网络中各类结点中的软件和数据加以修改来实现的,这些结点可以是主机、路由器或各种交换器。本讲稿第十页,共一百一十二页9.1.4 信息技术安全评价公共准则信息技术安全评价公共准则 1.CC的由来的由来 对一个安全产品(系统)进行评估,是件十分复杂的事。它对公正性和一致性要求很严。因此,需要有一个能被广泛接受的评估标准。为此,美国国防部在80年代中期制订了一组计算机系统安全需求标准,共包括20多个文件,每个文件都使用了彼此不同颜色的封面,统称为“彩虹系列”。其
7、中最核心的是具有橙色封皮的“可信任计算机系统评价标准(TCSEC)”,简称为“橙皮书”。本讲稿第十一页,共一百一十二页 该标准中将计算机系统的安全程度划分为8个等级,有D1、C1、C2、B1、B2、B3、A1和A2。在橙皮书中,对每个评价级别的资源访问控制功能和访问的不可抵赖性、信任度及产品制造商应提供的文档,作了一系列的规定,其中以D1级为安全度最低级,称为安全保护欠缺级。常见的无密码保护的个人计算机系统便属于D1级。C1级称为自由安全保护级,通常具有密码保护的多用户工作站便属于C1级。C2级称为受控存取控制级,当前广泛使用的软件,如UNIX操作系统、ORACLE数据库系统等,都能达到C2级
8、。从B级开始,要求具有强制存取控制和形式化模型技术的应用。B3、A1级进一步要求对系统中的内核进行形式化的最高级描述和验证。一个网络所能达到的最高安全等级,不超过网络上其安全性能最低的设备(系统)的安全等级。本讲稿第十二页,共一百一十二页 2.CC的组成的组成 CC由由两两部部分分组组成成,一一部部分分是是信信息息技技术术产产品品的的安安全全功功能能需需求求定定义义,这这是是面面向向用用户户的的,用用户户可可以以按按照照安安全全功功能能需需求求来来定定义义“产产品品的的保保护护框框架架”(PP),CC要要求求对对PP进进行行评评价价以以检检查查它它是是否否能能满满足足对对安安全全的的要要求求;
9、CC的的另另一一部部分分是是安安全全保保证证需需求求定定义义,这这是是面面向向厂厂商商的的,厂厂商商应应根根据据PP文文件件制制定定产产品品的的“安安全全目目标标文文件件”(ST),CC同同样样要要求求对对ST进进行行评评价价,然然后后根根据据产产品规格和品规格和ST去开发产品。去开发产品。本讲稿第十三页,共一百一十二页 安全功能需求部分,包括一系列的安全功能定义,它们是按层次式结构组织起来的,其最高层为类(Class)。CC将整个产品(系统)的安全问题分为11类,每一类侧重于一个安全主题。中间层为帧(Family),在一类中的若干个簇都基于相同的安全目标,但每个簇各侧重于不同的方面。最低层为
10、组件(Component),这是最小可选择的安全功能需求。安全保证需求部分,同样是按层次式结构组织起来的。须指出的是,保障计算机和系统的安全性,将涉及到许多方面,其中有工程问题、经济问题、技术问题、管理问题、甚至涉及到国家的立法问题。但在此,我们仅限于介绍用来保障计算机和系统安全的基本技术,包括认证技术、访问控制技术、密码技术、数字签名技术、防火墙技术等等。本讲稿第十四页,共一百一十二页9.2 数据加密技术数据加密技术 9.2.1 数据加密的基本概念数据加密的基本概念 直至进入20世纪60年代,由于电子技术和计算机技术的迅速发展,以及结构代数、可计算性理论学科研究成果的出现,才使密码学的研究走
11、出困境而进入了一个新的发展时期;特别是美国的数据加密标准DES和公开密钥密码体制的推出,又为密码学的广泛应用奠定了坚实的基础。1.数据加密技术的发展数据加密技术的发展 本讲稿第十五页,共一百一十二页2.数据加密模型数据加密模型 图图9-1数据加密模型数据加密模型 本讲稿第十六页,共一百一十二页 (1)明文明文(plain text)。被加密的文本,被加密的文本,称为明文称为明文P。(2)密文密文(cipher text)。加密后的文本,加密后的文本,称为密文称为密文Y。(3)加加密密(解解密密)算算法法E(D)。用用于于实实现现从从明明文文(密密文文)到到密密文文(明明文文)转换的公式、规则或
12、程序。转换的公式、规则或程序。(4)密钥密钥K。密钥是加密和解密算法中的关键参数。密钥是加密和解密算法中的关键参数。本讲稿第十七页,共一百一十二页 加加密密过过程程可可描描述述为为:在在发发送送端端利利用用加加密密算算法法E和和加加密密密密钥钥Ke对对明明文文P进进行行加加密密,得得到到密密文文Y=EKe(P)。密密文文Y被被传传送送到到接接收收端端后后应应进进行行解解密密。解解密密过过程程可可描描述述为为:接接收收端端利利用用解解密密算算法法D和和解解密密密密钥钥Kd对密文对密文Y进行解密,将密文恢复为明文进行解密,将密文恢复为明文P=DKd(Y)。在在密密码码学学中中,把把设设计计密密码码
13、的的技技术术称称为为密密码码编编码码,把把破破译译密密码码的的技技术术称称为为密密码码分分析析。密密码码编编码码和和密密码码分分析析合合起起来来称称为为密密码码学学。在在加加密密系系统统中中,算算法法是是相相对对稳稳定定的的。为为了了加加密密数数据据的的安安全全性性,应应经经常常改改变变密密钥钥,例例如如,在每加密一个新信息时改变密钥,或每天、甚至每个小时改变一次密钥。在每加密一个新信息时改变密钥,或每天、甚至每个小时改变一次密钥。本讲稿第十八页,共一百一十二页 3.加密算法的类型加密算法的类型 1)按其对称性分类 (1)对称加密算法。在这种方式中,在加密算法和解密算法之间,存在着一定的相依关
14、系,即加密和解密算法往往使用相同的密钥;或者在知道了加密密钥Ke后,就很容易推导出解密密钥Kd。在该算法中的安全性在于双方能否妥善地保护密钥。因而把这种算法称为保密密钥算法。本讲稿第十九页,共一百一十二页(2)非对称加密算法。非对称加密算法。这种方式的加密密钥这种方式的加密密钥Ke和解密密和解密密钥钥Kd不同,而且难以从不同,而且难以从Ke推导出推导出Kd来。可以将其中的来。可以将其中的一个密钥公开而成为公开密钥,因而把该算法称为公一个密钥公开而成为公开密钥,因而把该算法称为公开密钥算法。开密钥算法。用公开密钥加密后,用公开密钥加密后,能用另一把专用密能用另一把专用密钥解密;反之亦然钥解密;反
15、之亦然.本讲稿第二十页,共一百一十二页 2)按所变换明文的单位分类按所变换明文的单位分类 (1)序序列列加加密密算算法法。该该算算法法是是把把明明文文P看看作作是是连连续续的的比比特特流流或或字字符符流流P1、P2、P3,在在一一个个密密钥钥序序列列K=K1、K2、K3的的控控制制下下,逐个比特逐个比特(或字符或字符)地把明文转换成密文。可表达成:地把明文转换成密文。可表达成:EK(P)=EK1(P1)EK2(P2)EK3(P3)这种算法可用于对明文进行实时加密。这种算法可用于对明文进行实时加密。(2)分分组组加加密密算算法法。该该算算法法是是将将明明文文P划划分分成成多多个个固固定定长长度度
16、的的比比特特分分组组,然然后后,在在加加密密密密钥钥的的控控制制下下,每每次次变变换换一一个个明明文文分分组组。最最著著名名的的DES算法便是以算法便是以64位为一个分组进行加密的。位为一个分组进行加密的。本讲稿第二十一页,共一百一十二页4.基本加密方法基本加密方法 1)易位法 易位法是按照一定的规则,重新安排明文中的比特或字符的顺序来形成密文,而字符本身保持不变。按易位单位的不同又可分成比特易位和字符易位两种易位方式。前者的实现方法简单易行,并可用硬件实现,主要用于数字通信中;而后者即字符易位法则是利用密钥对明文进行易位后形成密文,具体方法是:假定有一密钥MEGABUCK,其长度为8,则其明
17、文是以8个字符为一组写在密文的下面,如图 9-2 所示。本讲稿第二十二页,共一百一十二页图图 9-2 按字符易位加密算法按字符易位加密算法 本讲稿第二十三页,共一百一十二页按密钥中字母在英文字母表中的顺序来确定明文排列后的列号。如密钥中的A所对应的列号为1,B为2,C为3,E为4等。然后再按照密钥所指示的列号,先读出第一列中的字符,读完第1列后,再读出第2列中的字符,这 样,即 完 成 了 将 明 文 please transfer 转 换 为 密 文AFLLSKSOSELAWAIA 的加密过程。本讲稿第二十四页,共一百一十二页 2)置换法 置换法是按照一定的规则,用一个字符去置换(替代)另一
18、个字符来形成密文。最早由朱叶斯凯撒(Julius caeser)提出的算法,非常简单,它是将字母a、b、c、x、y、z循环右移三位后,形成d、e、f、a、b、c字符序列,再利用移位后的序列中的字母去分别置换未移位序列中对应位置的字母,即利用d置换a,用e置换b等。凯撒算法的推广是移动K位。单纯移动K位的置换算法很容易被破译,比较好的置换算法是进行映像。例如,将26个英文字母映像到另外26个特定字母中,见图 9-3 所示。利用置换法可将attack加密,变为QZZQEA。本讲稿第二十五页,共一百一十二页 9 3 26个字母的映像 本讲稿第二十六页,共一百一十二页9.2.2 对称加密算法与非对称加
19、密算法对称加密算法与非对称加密算法 1.对称加密算法对称加密算法 现代加密技术所用的基本手段,仍然是易位法和置换法,但它与古典方法的重点不同。在古典法中通常采用的算法较简单,而密钥则较长;现代加密技术则采用十分复杂的算法,将易位法和置换法交替使用多次而形成乘积密码。最有代表性的对称加密算法是数据加密标准DES(Data Eneryption Standard)。该算法原来是IBM公司于19711972年研制成功的,它旨在保护本公司的机密产品,后被美国国家标准局选为数据加密标准,并于1977年颁布使用。ISO现在已将DES作为数据加密标准。随着VLSI的发展,现在可利用VLSI芯片来实现DES算
20、法,并用它做成数据加密处理器DEP。本讲稿第二十七页,共一百一十二页 在DES中所使用的密钥长度为64位,它由两部分组成,一部分是实际密钥,占56位;另一部分是8位奇偶校验码。DES属于分组加密算法,它将明文按64位一组分成若干个明文组,每次利用56位密钥对64位的二进制明文数据进行加密,产生64位密文数据。DES算法的总框图如图 9-4(a)所示。整个加密处理过程可分为四个阶段(共19步),见图9-4(b)所示。本讲稿第二十八页,共一百一十二页图 9-4 DES加密标准 本讲稿第二十九页,共一百一十二页 第一阶段:先将明文分出64位的明文段,然后对64位明文段做初始易位处理,得到X0,将其左
21、移32位,记为L0,右移32位,记为R0。第二阶段:对初始易位结果X0进行16次迭代处理(相应于第217步),每一次使用56位加密密钥Ki。第217步的迭代过程如图 9-4(b)所示。由图可以看出,输出的左32位Li是输入右32位Ri-1的拷贝;而输出的右32位Ri,则是在密钥Ki的控制下,对输入右32位Ri-1做函数f的变换后的结果,再与输入左32位Li-1进行异或运算而形成的,即 本讲稿第三十页,共一百一十二页 第三阶段:把经过16次迭代处理的结果(64位)的左32位与右32位互易位置。第四阶段:进行初始易位的逆变换。本讲稿第三十一页,共一百一十二页 2.非对称加密算法非对称加密算法 DE
22、S加密算法属于对称加密算法。加密和解密所使用的密钥是相同的。DES的保密性主要取决于对密钥的保密程度。加密者必须用非常安全的方法(如通过个人信使)将密钥送给接收者(解密者)。如果通过计算机网络传送密钥,则必须先对密钥本身予以加密后再传送,通常把这种算法称为对称保密密钥算法。1976年美国的Diffie和Hallman提出了一个新的非对称密码体制。其最主要的特点是在对数据进行加密和解密时,使用不同的密钥。每个用户都保存着一对密钥,每个人的公开密钥都对外公开。假如某用户要与另一用户通信,他可用公开密钥对数据进行加密,而收信者则用自己的私用密钥进行解密。这样就可以保证信息不会外泄。本讲稿第三十二页,
23、共一百一十二页 公开密钥算法的特点如下:(1)设加密算法为E、加密密钥为Ke,可利用它们对明文P进行加密,得到EKe(P)密文。设解密算法为D、解密密钥为Kd,可利用它们将密文恢复为明文,即DKd(EKe(P)=P (2)要保证从Ke推出Kd是极为困难的,或者说,从Ke推出Kd实际上是不可能的。(3)在计算机上很容易产生成对的Ke和Kd。(4)加密和解密运算可以对调,即利用DKd对明文进行加密形成密文,然后用EKe对密文进行解密,即 本讲稿第三十三页,共一百一十二页 在此情况下,解密密钥或加密密钥公开也无妨。因而这种加密方法称为公开密钥法(Publie Key)。在公开密钥体制中,最著名的是R
24、SA体制,它已被ISO推荐为公开密钥数据加密标准。由于对称加密算法和非对称加密算法各有优缺点,即非对称加密算法要比对称加密算法处理速度慢,但密钥管理简单,因而在当前新推出的许多新的安全协议中,都同时应用了这两种加密技术。一种常用的方法是利用公开密钥技术传递对称密码,而用对称密钥技术来对实际传输的数据进行加密和解密,例如,由发送者先产生一个随机数,此即对称密钥,用它来对欲传送的数据进行加密;然后再由接收者的公开密钥对对称密钥进行加密。接收者收到数据后,先用私用密钥对对称密钥进行解密,然后再用对称密钥对所收到的数据进行解密。本讲稿第三十四页,共一百一十二页9.2.3 数字签名和数字证明书数字签名和
25、数字证明书 1.数字签名数字签名 在在金金融融和和商商业业等等系系统统中中,许许多多业业务务都都要要求求在在单单据据上上加加以以签签名名或或加加盖盖印印章章,证证实实其其真真实实性性,以以备备日日后后查查验验。在在利利用用计计算算机机网网络络传传送送报报文文时时,可可将将公公开开密密钥钥法法用用于于电电子子(数数字字)签签名名来来代代替替传传统统的的签签名名。为为使使数数字字签签名名能代替传统的签名,必须满足下述三个条件:能代替传统的签名,必须满足下述三个条件:(1)接收者能够核实发送者对报文的签名。接收者能够核实发送者对报文的签名。(2)发送者事后不能抵赖其对报文的签名。发送者事后不能抵赖其
26、对报文的签名。(3)接收者无法伪造对报文的签名。接收者无法伪造对报文的签名。本讲稿第三十五页,共一百一十二页 1)简单数字签名 在这种数字签名方式中,发送者A可使用私用密钥Kda对明文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才能发送出DKd
27、a(P)密文,故不容A进行抵赖。(3)由于B没有A所拥有的私用密钥,故B无法伪造对报文的签名。由此可见,图9-5(a)所示的简单方法可以实现对传送的数据进行签名,但并不能达到保密的目的,因为任何人都能接收DKda(P),且可用A的公开密钥Kea对DKda(P)进行解密。为使A所传送的数据只能为B所接收,必须采用保密数字签名。本讲稿第三十七页,共一百一十二页 2)保密数字签名 为了实现在发送者A和接收者B之间的保密数字签名,要求A和B都具有密钥,再按照图 9-5(b)所示的方法进行加密和解密。(1)发送者A可用自己的私用密钥Kda对明文P加密,得到密文DKda(P)。(2)A再用B的公开密钥Ke
28、b对DKda(P)进行加密,得到EKeb(DKda(P)后送B。(3)B收 到 后,先 用 私 用 密 钥 Kdb进 行 解 密,即DKdb(EKeb(DKda(P)=DKda(P)。(4)B再 用 A的 公 开 密 钥 Kea对 DKda(P)进 行 解 密,得 到EKea(DKda(P)=P。本讲稿第三十八页,共一百一十二页2.数字证明书数字证明书(Certificate)(1)用户A在使用数字证明书之前,应先向认证机构CA申请数字证明书,此时A应提供身份证明和希望使用的公开密钥A。(2)CA在收到用户A发来的申请报告后,若决定接受其申请,便发给A一份数字证明书,在证明书中包括公开密钥A和
29、CA发证者的签名等信息,并对所有这些信息利用CA的私用密钥进行加密(即CA进行数字签名)。(3)用户A在向用户B发送报文信息时,由A用私用密钥对报文加密(数字签名),并连同已加密的数字证明书一起发送给B。本讲稿第三十九页,共一百一十二页 (4)为了能对所收到的数字证明书进行解密,用户B须向CA机构申请获得CA的公开密钥B。CA收到用户B的申请后,可决定将公开密钥B发送给用户B。(5)用户B利用CA的公开密钥B对数字证明书加以解密,以确认该数字证明书确系原件,并从数字证明书中获得公开密钥A,并且也确认该公开密钥A确系用户A的。(6)用户B再利用公开密钥A对用户A发来的加密报文进行解密,得到用户A
30、发来的报文的真实明文。本讲稿第四十页,共一百一十二页9.2.4 网络加密技术网络加密技术 1.链路加密链路加密(Link Encryption)链路加密,是对在网络相邻结点之间通信线路上传输的数据进行加密。链路加密常采用序列加密算法,它能有效地防止搭线窃听所造成的威胁。两个数据加密设备分别置于通信线路的两端,它们使用相同的数据加密密钥。如果在网络中只采用了链路加密,而未使用端端加密,那么,报文从最高层(应用层)到数据链路层之间,都是以明文的形式出现的,只是从数据链路层进入物理层时,才对报文进行了加密,并把加密后的数据通过传输线路传送到对方结点上。为了防止攻击者对网络中的信息流进行分析,在链路加
31、密方式中,不仅对正文做了加密,而且对所有各层的控制信息也进行了加密。本讲稿第四十一页,共一百一十二页 接收结点在收到加密报文后,为了能对报文进行转发,必须知道报文的目标地址。为此,接收结点上的数据加密设备应对所接收到的加密报文进行解密,从中找出目标地址并进行转发。当该报文从数据链路层送入物理层(转发)时,须再次对报文进行加密。由上所述得知,在链路加密方式中,在相邻结点间的物理信道上传输的报文是密文,而在所有中间结点中的报文则是明文,这给攻击者造成了可乘之机,使其可从中间结点上对传输中的信息进行攻击。这就要求能对所有各中间结点进行有效的保护。本讲稿第四十二页,共一百一十二页 此外,在链路加密方式
32、中,通常对每一条链路都分别采用不同的加密密钥。图 9-6 示出了链路加密时的情况。在图中,结点2的DEE使用密钥Kd2将密文EKe1(P)解密为明文P后,又用密钥Ke2将P变换为密文EKe2(P)。可见,对于一个稍具规模的网络,将需要非常多的加密硬件,这是必要的。图图 9 6 链路加密方式链路加密方式本讲稿第四十三页,共一百一十二页 2.端端端加密端加密(End-to-End Encryption)在单纯采用链路加密方式时,所传送的数据在中间结点将被恢复为明文,因此,链路加密方式尚不能保证通信的安全性;而端端加密方式是在源主机或前端机FEP中的高层(从传输层到应用层)对所传输的数据进行加密。在
33、整个网络的传输过程中,不论是在物理信道上,还是在中间结点,报文的正文始终是密文,直至信息到达目标主机后,才被译成明文,因而这样可以保证在中间结点不会出现明文。本讲稿第四十四页,共一百一十二页图 9 7 端端加密方式 本讲稿第四十五页,共一百一十二页 在端端加密方式中,只要密钥没有泄漏,数据在传输过程中就不怕被窃取,也无须对网络中间结点的操作人员提出特殊要求。但在这种加密方式中,不能对报头中的控制信息(如目标地址、路由信息等)进行加密,否则中间结点将无法得知目标地址和有关的控制信息。显然,报头不能加密,也将会直接或间接地受到攻击,比如,攻击者可能根据报头中的源地址和目标地址,了解到某些部门的通信
34、情况,甚至还可以发起诸如篡改报文的目标地址和路由信息之类的主动攻击。本讲稿第四十六页,共一百一十二页 上述两种加密方式各有优缺点。一种比较好的网络加密方式是,同时采用链路加密和端端加密,以取长补短。如利用端端加密方式来使用户数据以密文形式穿越各个中间结点,以保障用户数据的安全;而利用链路加密方式则可使报头中的控制信息以密文形式在通信信道中传输,使之不易受到攻击。本讲稿第四十七页,共一百一十二页9.3 认认 证证 技技 术术 9.3.1 基于口令的身份认证技术基于口令的身份认证技术 1.口令口令 利用口令来确认用户的身份,是当前最常用的认证技术。通常,每当用户要上机时,系统中的登录程序都首先要求
35、用户输入用户名,登录程序利用用户输入的名字去查找一张用户注册表或口令文件。在该表中,每个已注册用户都有一个表目,其中记录有用户名和口令等。登录程序从中找到匹配的用户名后,再要求用户输入口令,如果用户输入的口令也与注册表中用户所设置的口令一致,系统便认为该用户是合法用户,于是允许该用户进入系统;否则将拒绝该用户登录。本讲稿第四十八页,共一百一十二页 口令是由字母或数字、或字母和数字混合组成的,它可由系统产生,也可由用户自己选定。系统所产生的口令不便于用户记忆,而用户自己规定的口令则通常是很容易记忆的字母、数字,例如生日、住址、电话号码,以及某人或宠物的名字等等。这种口令虽便于记忆,但也很容易被攻
36、击者猜中。本讲稿第四十九页,共一百一十二页 2.对口令机制的基本要求对口令机制的基本要求 基于用户标识符和口令的用户认证技术,其最主要的优点是简单易行,因此,在几乎所有需要对数据加以保密的系统中,都引入了基于口令的机制。但这种机制也很容易受到别有用心者的攻击,攻击者可能通过多种方式来获取用户标识符和口令,或者猜出用户所使用的口令。为了防止攻击者猜出口令,在这种机制中通常应满足以下几点要求:本讲稿第五十页,共一百一十二页 (1)口令长度要适中。通常的口令是由一串字母和数字组成。如果口令太短,则很容易被攻击者猜中。例如,一个由四位十进制数所组成的口令,其搜索空间仅为104,在利用一个专门的程序来破
37、解时,平均只需5000次即可猜中口令。假如每猜一次口令需花费0.1 ms的时间,则平均每猜中一个口令仅需0.5 s。而如果采用较长的口令,假如口令由ASCII码组成,则可以显著地增加猜中一个口令的时间。例如,口令由7位ASCII码组成,其搜索空间变为957(95是可打印的ASCII码),大约是71013,此时要猜中口令平均需要几十年。本讲稿第五十一页,共一百一十二页 (2)自动断开连接。为了给攻击者猜中口令增加难度,在口令机制中还应引入自动断开连接的功能,即只允许用户输入有限次数的不正确口令,通常规定35次。如果用户输入不正确口令的次数超过规定的次数时,系统便自动断开该用户所在终端的连接。当然
38、,此时用户还可能重新拨号请求登录,但若在重新输入指定次数的不正确口令后,仍未猜中,系统会再次断开连接。这种自动断开连接的功能,无疑又给攻击者增加了猜中口令的难度。本讲稿第五十二页,共一百一十二页 (3)不回送显示。在用户输入口令时,登录程序不应将该口令回送到屏幕上显示,以防止被就近的人发现。(4)记录和报告。该功能用于记录所有用户登录进入系统和退出系统的时间;也用来记录和报告攻击者非法猜测口令的企图及所发生的与安全性有关的其它不轨行为,这样便能及时发现有人在对系统的安全性进行攻击。本讲稿第五十三页,共一百一十二页 3.一次性口令一次性口令(One time Passward)为了把由于口令泄露
39、所造成的损失减到最小,用户应当经常改变口令。例如,一个月改变一次,或者一个星期改变一次。一种极端的情况是采用一次性口令机制。在利用该机制时,用户必须提供记录有一系列口令的一张表,并将该表保存在系统中。系统为该表设置一指针用于指示下次用户登录时所应使用的口令。这样,用户在每次登录时,登录程序便将用户输入的口令与该指针所指示的口令相比较,若相同,便允许用户进入系统,并将指针指向表中的下一个口令。在采用一次性口令的机制时,即使攻击者获得了本次用户上机时所使用的口令,他也无法进入系统。必须注意,用户所使用的口令表,必须妥善保存好。本讲稿第五十四页,共一百一十二页 4.口令文件口令文件 通常在口令机制中
40、,都配置有一份口令文件,用于保存合法用户的口令和与口令相联系的特权。该文件的安全性至关重要,一旦攻击者成功地访问了该文件,攻击者便可随心所欲地访问他感兴趣的所有资源,这对整个计算机系统的资源和网络,将无安全性可言。显然,如何保证口令文件的安全性,已成为系统安全性的头等重要问题。本讲稿第五十五页,共一百一十二页 保证口令文件安全性的最有效的方法是,利用加密技术,其中一个行之有效的方法是选择一个函数来对口令进行加密,该函数f(x)具有这样的特性:在给定了x值后,很容易算出f(x);然而,如果给定了f(x)的值,却不能算出x的值。利用f(x)函数去编码(即加密)所有的口令,再将加密后的口令存入口令文
41、件中。当某用户输入一个口令时,系统利用函数f(x)对该口令进行编码,然后将编码(加密)后的口令与存储在口令文件中的已编码的口令进行比较,如果两者相匹配,便认为是合法用户。顺便说明一下,即使攻击者能获取口令文件中的已编码口令,他也无法对它们进行译码,因而不会影响到系统的安全性。本讲稿第五十六页,共一百一十二页图 9 8 对加密口令的验证方法 本讲稿第五十七页,共一百一十二页 尽管对口令进行加密是一个很好的方法,但它也不是绝对的安全可靠。其主要威胁来自于两个方面:(1)当攻击者已掌握了口令的解密密钥时,就可用它来破译口令。(2)利用加密程序来破译口令,如果运行加密程序的计算机速度足够快,则通常只要
42、几个小时便可破译口令。因此,人们还是应该妥善保管好已加密的口令文件,来防止攻击者轻意地获取该文件。本讲稿第五十八页,共一百一十二页9.3.2 基于物理标志的认证技术基于物理标志的认证技术 1.基于磁卡的认证技术基于磁卡的认证技术 根据数据记录原理,可将当前使用的卡分为磁卡和IC卡两种。磁卡是基于磁性原理来记录数据的,目前世界各国使用的信用卡和银行现金卡等,都普遍采用磁卡。这是一块其大小和名片大小相仿的塑料卡,在其上贴有含若干条磁道的磁条。一般在磁条上有三条磁道,每条磁道都可用来记录不同标准和不同数量的数据。磁道上可有两种记录密度,一种是每英寸含有15比特的低密度磁道;另一种是每英寸含有210比
43、特的高密度磁道。如果在磁条上记录了用户名、账号和金额,这就是金融卡或银行卡;而如果在磁条上记录的是有关用户的信息,则该卡便可作为识别用户身份的物理标志。本讲稿第五十九页,共一百一十二页 在磁卡上所存储的信息,可利用磁卡读写器将之读出:只要将磁卡插入或划过磁卡读写器,便可将存储在磁卡中的数据读出,并传送到相应的计算机中。用户识别程序便利用读出的信息去查找一张用户信息表(该表中包含有若干个表目,每个用户占有一个表目,表目中记录了有关该用户的信息),若找到匹配的表目,便认为该用户是合法用户;否则便认为是非法用户。为了保证持卡者是该卡的主人,通常在基于磁卡认证技术的基础上,又增设了口令机制,每当进行用
44、户身份认证时,都要求用户输入口令。本讲稿第六十页,共一百一十二页 2.基于基于IC卡的认证技术卡的认证技术 IC卡即集成电路卡的英文缩写。在外观上IC卡与磁卡并无明显差别,但在IC卡中可装入CPU和存储器芯片,使该卡具有一定的智能,故又称为智能卡或灵巧卡。IC卡中的CPU用于对内部数据的访问和与外部数据进行交换,还可利用较复杂的加密算法,对数据进行处理,这使IC卡比磁卡具有更强的防伪性和保密性,因而IC卡会逐步取代磁卡。根据在磁卡中所装入芯片的不同可把IC卡分为以下三种类型:本讲稿第六十一页,共一百一十二页 (1)存储器卡。在这种卡中只有一个E2PROM(可电擦、可编程只读存储器)芯片,而没有
45、微处理器芯片。它的智能主要依赖于终端,就像IC电话卡的功能是依赖于电话机一样。由于此智能卡不具有安全功能,故只能用来存储少量金额的现金与信息。常见的智能卡有电话卡、健康卡,其只读存储器的容量一般为420 KB。(2)微处理器卡。它除具有E2PROM外,还增加了一个微处理器。只读存储器的容量一般是数千字节至数万字节;处理器的字长主要是8位的。在这种智能卡中已具有一定的加密设施,增强了IC卡的安全性。本讲稿第六十二页,共一百一十二页 (3)密码卡。在这种卡中又增加了加密运算协处理器和RAM。之所以把这种卡称为密码卡,是由于它能支持非对称加密体制RSA;所支持的密钥长度可长达1024位,因而极大地增
46、强了IC卡的安全性。一种专门用于确保安全的智能卡,在卡中存储了一个很长的用户专门密钥和数字证明书,完全可以作为一个用户的数字身份证明。当前在Internet上所开展的电子交易中,已有不少密码卡是使用了基于RSA的密码体制。本讲稿第六十三页,共一百一十二页 将IC卡用于身份识别的方法,明显地优于使用磁卡。这一方面是因为,磁卡是将数据存储在磁条上,比较易于用一般设备将其中的数据读出、修改和进行破坏;而IC卡则是将数据保存在存储器中,使用一般设备难于读出,这使IC卡具有更好的安全性。另一方面,在IC卡中含有微处理器和存储器,可进行较复杂的加密处理,因此,IC卡具有非常好的防伪性和保密性;此外,还因为
47、IC卡所具有的存储容量比磁卡的大得多,通常可大到100倍以上,因而可在IC卡中存储更多的信息,从而做到“一卡多用”,换言之,一张IC卡,既可作为数字身份证,又可作为信用卡、电话卡及健康卡等等。本讲稿第六十四页,共一百一十二页 3.指纹识别技术指纹识别技术 (1)指纹。指纹有着“物证之首”的美誉。尽管目前全球已有近60亿人口,但绝对不可能找到两个完全相同的指纹。因而利用指纹来进行身份认证是万无一失的,而且非常方便。又因为它不会像其它一些物理标志那样出现用户忘记携带或丢失等问题,而且使用起来也特别方便,因此,利用指纹来进行身份识别是有广阔前景的一种识别技术,世界上已有愈来愈多的国家开展了对指纹识别
48、技术的研究。本讲稿第六十五页,共一百一十二页 (2)指纹识别系统。早在80年代,美国及其它发达国家便开始了对指纹识别技术的研究,并取得了一定的进展。在所构成的指纹识别系统中包括:指纹输入、指纹图像压缩、指纹自动比较等8个子系统。但他们的指纹识别系统是建立在大型计算机系统的基础上的,而且由于系统的庞大、价格的昂贵,始终使该技术难于普及;直至近几年,随着VLSI的迅速发展,才使指纹识别系统小型化,使该技术进入了广泛应用的阶段。本讲稿第六十六页,共一百一十二页9.3.3 基于公开密钥的认证技术基于公开密钥的认证技术 1.申请数字证书申请数字证书 由于SSL所提供的安全服务,是基于公开密钥证明书(数字
49、证书)的身份认证,因此,凡是要利用SSL的用户和服务器,都必须先向认证机构(CA)申请公开密钥证明书。(1)服务器申请数字证书。首先由服务管理器生成一密钥对和申请书,服务器一方面将密钥和申请书的备份保存在安全之处;另一方面则向CA提交包括密钥对和签名证明书申请(即CSR)的加密文件,通常以电子邮件方式发送。CA接收并检查该申请的合法性后,将会把数字证书以电子邮件方式寄给服务器。本讲稿第六十七页,共一百一十二页 (2)客户申请数字证书。首先由浏览器生成一密钥对,私有密钥被保存在客户的私有密钥数据库中,将公开密钥连同客户提供的其它信息,一起发往CA。如果该客户符合CA要求的条件,CA将会把数字证书
50、以电子邮件方式寄给客户。本讲稿第六十八页,共一百一十二页2.SSL握手协议握手协议 (1)身份认证。SSL协议要求通信的双方都利用自己的私用密钥对所要交换的数据进行数字签名,并连同数字证书一起发送给对方,以便双方相互检验。如上节所述,通过数字签名和数字证书的验证可以认证对方的身份是否真实。本讲稿第六十九页,共一百一十二页 (2)协商加密算法。为了增加加密系统的灵活性,SSL协议允许采用多种加密算法。客户和服务器在通信之前,应首先协商好所使用的某一种加密算法。通常先由客户提供自己能支持的所有加密算法清单,然后由服务器从中选择出一种最有效的加密算法,并通知客户,此后,双方便可利用该算法对所传送的信