




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章应用层计算机网络的安全随着计算机网络的发展,网络中的安全问题也日趋严重。当资源共享广泛用于政治、军事、经济以及科学各个领域,网络的用户来自社会各个阶层与部门时,大量在网络中存储和传输的数据就需要保护。这些数据在存储和传输过程中,都有可能被盗用、暴密或篡改。7.1.1网络安全问题概述81.计算机网络面临的安全性威胁我们通过两个用户甲和乙在计算机网络上的通信来考察计算机网络面临的威胁。截获(Interception侦听):当甲通过网络与乙通信时,如果不采取任何保密措施,那么其他人(如丙),就有可能偷听到他们的通信内容。中断(Interruption):当用户正在通信时,有意的破坏者,可设法中断他们的通信。篡改(Modification):乙给甲发了如下一份报文:“请给丁汇一百元钱。乙”。报文在转发过程中经过丙,丙把“丁”改为“丙”。这就是报文被篡改。伪造(Fabrication):当甲与乙用电话进行通信时,甲可通过声音来确认对方*但用计算机通信时,若甲的屏幕上显示出“我是乙”时,甲如何确信这是乙而不是别人呢?又如甲是网络的合法用户。乙想非法获得甲的权限,于是向网络发出伪造信息:“我是合法用户甲”。上述四种对网络的威胁可划分为两大类,即被动攻击和主动攻击(图1)。在上述情况中,截获信息的攻击称为被动攻击,而更改信息和拒绝用户使用资源的攻击称为主动攻击。,在被动攻击中,攻击者只是观察通过某一个协议数据单元PDU(这里使用PDU这一名词是考虑到所涉及到的可能是不同的层次)而不干扰信息流。即使这些数据对攻击者来说是不易理解的,他也可通过观察PDU的协议控制信息部分,了解正在通信的协议实体的地址和身份,研究PDU的长度和传输的频度,以便了解所交换的数据的性质。这种被动攻击又称为通信量分析(TrafficAnalysis)。,主动攻击是指攻击者对某个连接中通过的PDU进行各种处理:如有选择地更改、删除、延迟这些PDU(当然也包括记录和复制它们)。还可在稍后的时间将以前录下的PDU插入这个连接(即重放攻击):甚至还可将合成的或伪造的PDU送入到个连接中去。所有主动攻击都是上述各种方法的某种组合;但从类型上看,主动攻击又可进一步划分为三种:(1)更改报文流;(2)拒绝报文服务;(3)伪造连接初始化:更改报文流包括对通过连接的PDU的真实性、完整性和有序性的攻击。对真实性的攻击可以是更改PDU中的协议控制信息,这样就使PDU被送往错误的目的地。对完整性的攻击可以是更改PDU的数据部分。对有序性的攻击则可用删除PDU或更改PDU中协议控制部分的序号来实现。拒绝报文服务是指攻击者或者删除通过某一连接的所有PDU,或者将双方或单方的所有PDU加以延迟。,伪造连接初始化则是攻击者重放以前已被记录的合法连接初姑化序列,或者伪造身份而企图建立连接。对于主动攻击,可以采取适当措施加以检测。但对于被动攻击,通常却是检测不出来的。根据这些特点,可得出计算机网络通信安全的五个目标如下:(1)防止析出报文内容;(2)防止信息量分析;(3)检测更改报文流;(4)检测拒绝报文服务;(5)检测伪造初始化连接。对付被动攻击可采用各种数据加密技术,而对付主动攻击则需将加密技术和适当的鉴别技术相结合。还有种特殊的主动攻击就是恶意程序(rogueprogram)的攻击。恶意程序种类繁多,对网络安全威胁较大的主要有以下几种:计算机病毒(ComputeVirus),一种会“传染”其他程序的程序,“传染”是通过修改其他程序来把自身或其变种复制进去,完成的。计算机蠕虫(ComputerWorm),种通过网络的通信功能将自身从一个结点发送到另一个结点并启动之的程序。特洛伊木马(TrojanHorse)一种程序,它执行的功能超出所声称的功能。如个编译程序除了执行编译任务以外,还把用户的源程序偷偷地拷贝下来,则这种编译程序就是一种特洛伊木马。计算机病毒有时也以特洛伊木马的形式出现。逻辑炸弹(LogicBomb),种当运行环境满足某种特定条件时执行其他特殊功能的程序。如一个编辑程序,平时运行得很好,但当系统时间为13日又为星期五时,它删去系统中所有的文件,这种程序就是一种逻辑炸弹。这里讨论的计算机病毒是狭义的,也有人把所有的恶意程序泛指为计算机病毒:例如1988年l0月的“Morris病毒”人侵美国Interne网。舆论说它是“计算机病毒入侵美国计算机网”,而计算机安全专家则称之为“Internet蠕虫事件”。,712计算机网络安全的内容由上一节的内容可知,计算机网络安全主要有以下内容:1保密性为用户提供安全可靠的保密通信是计算机网络安全最为重要的内容。尽管计算机网络安全不仅仅局限于保密性,但不能提供保密性的网络肯定是不安全的。网络的保密性机制除为用户提供保密通信以外,也是许多其他安全机制的基础。例如,存取控制中登录口令的设计,安全通信协议的设计以及数字签名的设计等,都离不开密码机制。2安全协议的设计人们一直希望能设计出安全的计算机网络,但不幸的是,网络的安全性是不可判定的DENN82。目前在安全协议的设计方面,主要是针对具体的攻击(如假冒)设计安全的通信协议。但如何保证所设计出的协议是安全的?协议安全性的保证通常有两种力法,一种是用形式化方法来证明,另种是用经验来分析协议的安全性。形式化证明的方法是人们所希望的,但一般意义上的协议安全性也是不可判定的,只能针对某种特定类,型的攻击来讨论其安全性。对复杂的通信协议的安全性,形式化证明比较困难,所以主要采用找漏洞的分析方法。对于简单的协议,可通过限制攻击者的操作(即假定攻击者不会进行某种攻击)来对一些特定情况进行形式化的证明,当然,这种方法有很大的局限性。3存取控制存取控制(accesscontrol)也叫做访问控制。必须对接入网络的权限加以控制,并规定每个用户的接人权限。由于网络是个非常复杂的系统,其存取控制机制比操作系统的存取控制机制更复杂(尽管网络的存取控制机制是建立在操作系统的访问控制机制之上),尤其在高安全性级别的多级安全性(multilevelsecurity)情况下更是如此。所有上述计算机网络安全的内容都与密码技术紧密相关。如在保密通信中,要用加密算法来对消息进行加密,以对抗可能的窃听;安全协议中的一个重要内容就是要论证协议的安全性取决于加密算法的强度;在存取控制系统的设计中,也要用到,加密技术。713一般的数据加密模型一般的数据加密模型如图2所示。明文X用加密算法E和加密密钥K得到密文Y=EK(X)。在传送过程中可能出现密文截取者。到了收端,利用解密算法D和解密密钥K,解出明文为DK(Y)=DK(EK(X)X。截取者又称为攻击者,或入侵者。在这里我们假定加密密钥和解密密钥都是一样的。但实际上它们可以是不一样的(即使不一样,这两个密钥也必然有某种相关性)。密钥通常是由一个密钥源提供:当密钥需要向远地传送时,一定要通过另一个安全信道。密码编码学是密码体制的设计学,而密码分析学则是在未知密钥的情况下从密文推演出明文或密钥的技术。密码编码学与密码分析学合起来即为密码学。如果不论截取者获得了多少密文,但在密文中都没有足够的信息来唯一地确定出对应的明文,则这一密码体制称为无条,图2一般的数据加密模型,件安全的,或称为理论上是不可破的。在无任何限制的条件下,目前几乎所有实用的密码体制均是可破的。因此,人们关心的是要研制出在计算上(而不是在理论上)是不可破的密码体制。如果一个密码体制中的密码不能被可以使用的计算资源破译,则这一密码体制称为在计算上是安全的。,早在几千年前人类就已经有了通信保密的思想和方法,但直到1949年,信息论创始人香农(CEShannon)发表著名文章SHAN49,论证了一般经典加密方法得到的密文几乎都是可破的。密码学的研究曾面临着严重的危机。但从20世纪60年代起,随着电子技术、计算技术的迅速发展以及结构代数、可计算性和计算复杂性理论等学科的研究,密码学又进入了一个新的发展时期。在20世纪70年代后期,美国的数据加密标准DES(DataEncryptionStandard)和公开密钥密码体制(publickeycrypto-system)的出现,成为近代密码学发展史上的两个重要里程碑。72常规密钥密码体制所谓常规密钥密码体制,即加密密钥与解密密钥是相同的密码体制。我们先介绍在常规密钥密码体制中酌两种最基本的密码。721替代密码与置换密码较早期的常规密钥密码体制中,有两种常用的密码,即替代密码和置换密码。替代密码(SubstitutionCipher)的原理可用一个例子来说明,。例如,将字母a,b,c,d,w,x,y,z的自然顺序保持不变,但使之与D,E,F,G,X,A,B,C分别对应(即相差3个字符)。若明文为caesarcipher,则对应的密文为FDHVDUFLSKHU(此时密钥为3)。由于英文字母中各字母出现的频度早已有人进行过统计,所以根据字母频度表可以很容易对这种替代密码进行破译。目前替代密码只是作为复杂约编码过程中的一个中间步骤。置换密码(TranspositionCipher)则是按照某一规则重新排列消息中的比特或字符的顺序。例如,以CIPHER这个字作为密钥。我们注意到,在此密钥中的英文字母顺序,C为第1,E为第2,R为第6。于是得出密钥的顺序为145326。这就表示在形成密文时,首先读取第l列的字符,然后读取第5列、第4列、第2列、第3列和第6列。明文也以6个字符为一组写在密钥下,如:,密钥CIPHER顺序145326(注:此顺序与密钥等价,但不如密钥便于记忆)明文attack(注:明文的意思是“二时开始进攻”)beginsattwo这样得出密文为abacnwaittettgkso。接收者按密钥中的字母顺序按列写下按行读出,即得明文。这种密码很容易破译,同样是作为加密过程中的中间步骤。从得到的密文序列的结构来划分,则有序列密码与分组密码两种不同的密码体制。序列码体制是将明文X看成是连续的比特流(或字符流)x1x2,并且用密钥序列Kklk2中的第i个元素ki对明文中的xi进行加密,即,EK(X)=EKl(xI)EK2(x2)图3序列密码体制图3给出了序列密码的框图。在开始工作时,种子I0对密钥序列产生器进行初始化。,图3序列密码体制,ki,xi和yi均为1bit(或均为1个字符),并按照模2进行运算,得出:,yi=Eki(xi)xiki在收端,对yi的解密算法为:Dki(yi)=yiki=(xiki)ki=xi序列密码又称为密钥流密码。这种体制的保密性完全在于密钥的随机性。如果密钥是真正的随机数,则这种体制就是理论上不可破的。这也可称为一次一密乱码本体制。严格的一次密乱码本体制所需的密钥量不存在上限,很难实用化。密码学家就试图以某种方法模仿这种一次一密乱码本体制。目前常使用伪随机序列作为密钥序列。关键是序列的周期要足够长,且序列要有很好的随机性(这很难寻找)。现在周期小于1010的序列很少被采用,而周期长达1050的序列也不罕见,这种伪随机序列一般用n级移位寄存器来构成。另一种密码体制与序列密码不同。它将明文划分成固定的n比特的数据组,然后以组为单位,在密钥的控制下进行一系列的线性或非线性的变化而得到密文,这就是分组密码(blockcipher)。图4为分组密码体制的框图。分组密码次变换一组数据。分组密码算法的一个重要特点就是:当给定一个密钥后,,若明文分组相同,那么所变换出密文分组也相同。,图4为分组密码体制,分组密码的个重要优点是不需要同步,因而在分组交换网中有着广泛的用途。分组密码中最有名的就是美国的数据加密标准DES和国际数据加密算法IDEA。在后面将陆续对它们进行介绍。722分组密码算法之一:数据加密标准DES数据加密标准DES体制属于常规密钥密码体制。它由IBM公司研制出,于1977年被美国定为联邦信息标准后,在国际上引起了极大的重视。ISO曾将DES作为数据加密标准。DES是种分组密码。在加密前,先对整个明文进行分组。每一个组长为64位。然后对每一个64位二进制数据进行加密处理,产生一组64位密文数据。最后将各组密文串接起来,即得出整个的密文。使用的密钥为64位(实际密钥长度为56位,有8位用于奇偶校验)。其加密算法如图5所示。64位的明文x进行初始置换IP后得出X0,其左半边32位和右半边32位分别记为L0和R0。然后再经过16次的迭代。如果用Xi表示第i次的迭代结果,同时令Li和Ri分别代表Xi的的左半边和右半边(各32位),则从图5可看出,,图5DES加密标准,Li=Ri-1Ri=Li-1f(Ri-1,Ki)式中i=1,2,16,而K是48位密钥(从原来的64位密钥经过若干次变换而得出)。上式(斜体)即DES加密方程。每次迭代要进行函数f的变换、模2加运算以及左右半边交换。在最后的一次迭代之后,左右半边没有交换,这是为了使算法既能加密又能解密。最后一次的变换是IP的逆变换IP-1。其输入是R16I16,Y即为输出的密文。DES加密中起关键作用的是函数f。它是一个非常复杂的变换,这种复杂变化的细节都没有画在图中。f(Ri-1,Ki)先将32位的Ri-1进行变换,扩展成48位,记为E(Ri-1)。48位的E(Ri-1)与48位的Ki按位模2加,所得的48位结果顺序地划分为8个6位长的组B1,B2,B8,即E(Ri-1)Ki=B1,B2,B8然后将6位长的组经过称为“S变换”的替代转换为长4位的组(s也是一个复杂的函数)。或写为DjSj(Bj),(j1,2,8)。这里要用到8个不同的S函数(S1,S2,S8)。将所,得的8个4位长的Sj(Bj)按顺序排好,再进行一次置换,即得出32位的f(Ri-1,Ki)。解密过程和加密相似,但生成16个密钥的顺序正好相反。上述的DES的一个明显的缺点就是它实际上就是一种单字符替代,而这种字符的长度是64比特。也就是说,对于DES算法,相同的明文就产生相同的密文。这对DES的安全性来说是不利的。为了提高DES的安全性,可采用加密分组链接的方法(图6)。图6(a)是加密过程。64bit的明文分组X0先和初始向量逐位进行异或运算,然后进行加密操作(这不一定限于采用DES加密算法),得到密文Y0。再将Y0和下一个明文分组X1进行异或运算后再加密,得出密文Y1,以后都用相同的方法进行操作。不难看出,即使出现明文相同的分组,加密后得到的密文也是不一样的。这就给攻击者的破译增加了难度。图6(b)是解密过程。密文分组Y0先解密,再和初始向量进行异或运算,得出明文X0。下一个密文分组在经过解密后,要和密文Y0进行异或运算后才得出第二个明文分组X1。,DES的保密性取取决于对密钥的保密,而算法是公开的。尽管人们在破译DES方面取得了许多进展BIHA90,但至今仍未能找到比穷举搜索密钥更有效的方法。现在DES可由软件和硬件实现。美国AT&T首先用LSI芯片实现了DES的全部工作模式,该产品称为数据加密处理机DEP(DataEncryptionProcessor)。由于DES已使用了二十余年,它巳成为对盗窃者越来越具有吸引力的可能目标。在DES的算法中,令人们怀疑最多的就是上面提到的非常复杂的S函数。由于DES的设计者一直未公布S函数的整个设计过程,因此人们很担心破译者可能会利用S函数的薄弱环节来攻破DES。尽管如此,到目前为止,还没有人发现了S函数的薄弱环节。鉴于DES的算法已经历了这样多年的严格考验,因此可能可以这样说,尽管DES已经完成了其历史作用,但DES加密算法仍是目前最好的加密算法之一。无论是个人或商业的应用(如银行系统的自动取款机ATM),信赖DES仍然是合理的。学习数据加密的人仍然仔细研究DES,,因为DES是世界上第一个公认的实用密码算法标准,它曾对密码学的发展做出了重大贡献。目前较为严重的问题是DES的密钥的长度。56bit长的密钥意味着共有256种可能的密码,也就是说,共约有761016种密钥。假设一台计算机1s可执行一次DES加密,同时假定平均只需搜索密钥空间的一半即可找到密钥,那么破译DES要超过1千年。但最近几年,情况已有了一些变化。现在已经设计出来搜索DES密钥的专用芯片。如使用流水线技术的芯片,每秒钟对搜索5千万个密钥。Wiener设计了包含5760个密钥搜索芯片的计算机,价格为10万美元(1993年的价格)。预期的搜索时间为35小时。若用价格为100万或1000万美元的机器,则预期的搜索时间分别为35小时和21分钟。一种叫做三重DES(TripleDES)是Tuchman提出的,并在1985年成为美国的个商用加密标准。三重DES使用两个密钥,执行二次DES算法(图7)。,图7三重DES,为什么在加密和解密长度已有112位,这对商用巳足够长(至少目前是这样)。如过程中只使用两个而不是三个密钥呢?这是因为两个密钥合起来的使用总长为168位的三个密钥,则产生不必要的开销。为什么在加密时采用EDE(加密解密加密)而不是E
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论