计算机网络教程(谢希仁)第10章 计算机网络的安全.docx

上传人:小飞机 文档编号:1960626 上传时间:2022-12-28 格式:DOCX 页数:12 大小:272.15KB
返回 下载 相关 举报
计算机网络教程(谢希仁)第10章 计算机网络的安全.docx_第1页
第1页 / 共12页
计算机网络教程(谢希仁)第10章 计算机网络的安全.docx_第2页
第2页 / 共12页
计算机网络教程(谢希仁)第10章 计算机网络的安全.docx_第3页
第3页 / 共12页
计算机网络教程(谢希仁)第10章 计算机网络的安全.docx_第4页
第4页 / 共12页
计算机网络教程(谢希仁)第10章 计算机网络的安全.docx_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《计算机网络教程(谢希仁)第10章 计算机网络的安全.docx》由会员分享,可在线阅读,更多相关《计算机网络教程(谢希仁)第10章 计算机网络的安全.docx(12页珍藏版)》请在三一办公上搜索。

1、计算机网络教程第10章 计算机网络的安全谢希仁第10章 计算机网络的安全本章目录第10章计算机网络的安全110.1网络安全问题概述110.1.1计算机网络面临的安全性威胁110.1.2计算机网络安全的内容210.1.3一般的数据加密模型310.2常规密钥密码体制410.2.1替代密码与置换密码410.2.2数据加密标准DES510.3公开密钥密码体制710.3.1公开密钥密码体制的特点710.3.2RSA公开密钥密码体制810.3.3数字签名810.4报文鉴别910.5密钥分配1010.6链路加密与端到端加密1110.6.1链路加密1110.6.2端到端加密1110.7防火墙1110.1 网络

2、安全问题概述10.1.1 计算机网络面临的安全性威胁1. 计算机网络上的通信面临以下的4种威胁。1) 截获(interception) 攻击者从网络上窃听他人的通信内容。2) 中断(interruption) 攻击者有意中断他人在网络上的通信。3) 篡改(modification) 攻击者故意篡改网络上传送的报文。4) 伪造(fabrication) 攻击者伪造信息在网络上传送。2. 上述四种威胁可划分为两大类,即被动攻击和主动攻击(如图10-1所示)。在上述情况中,截获信息的攻击称为被动攻击,而更改信息和拒绝用户使用资源的攻击称为主动攻击。1) 在被动攻击中,攻击者只是观察和分析某一个协议数

3、据单元PDU(这里使用PDU这一名词是考虑到攻击可能涉及数据的不同的层次)而不干扰信息流。即使这些数据对攻击者来说是不易理解的,他也可以通过观察PDU的协议控制信息部分,了解正在通信的协议实体的地址和身份,研究PDU的长度和传输的频度,以便了解所交换的数据的性质。这种被动攻击又称为通信量分析(traffic analysis)。2) 主动攻击是指攻击者对某个连接中通过的PDU进行各种处理。如有选择地更改、删除、延迟这些PDU(当然也包括记录和复制它们)。还可在稍后的时间将以前记录下的PDU插入这个连接(即重放攻击)。甚至还可以将合成的或伪造的PDU送入一个连接中去。所有主动攻击都是上述各种方法

4、的某种组合。但从类型上看,主动攻击又可进一步划分为以下3种:(1) 更改报文流,包括对通过连接的PDU的真实性、完整性和有序性的攻击。(2) 拒绝报文服务,指攻击者或者删除通过某一连接的所有PDU,或者将双方或单方的所有PDU加以延迟,从而使被攻击网站的服务器一直处于“忙”的状态,因而拒绝向发出请求的合法客户提供服务。这种攻击方式被称为拒绝服务DoS(Denial of Service),或分布式拒绝服务DDoS(Distributed Denial of Service)。(3) 伪造连接初始化,攻击者重放以前已被记录的合法连接初始化序列,或者伪造身份而企图建立连接。3. 对于主动攻击,可以

5、采取适当措施加以检测。但对于被动攻击,通常却是检测不出来的。根据这些特点,可得出计算机网络通信安全的五个目标:1) 防止析出报文内容;2) 防止信息量分析;3) 检测更改报文流;4) 检测拒绝报文服务;5) 检测伪造初始化连接。4. 对付被动攻击可采用各种加密技术,而对付主动攻击,则需要将加密技术与适当的鉴别技术相结合。还有一种特殊的主动攻击就是恶意程序(rogue program)的攻击。恶意程序种类繁多,对网络安全威胁较大的主要有以下几种:1) 计算机病毒(computer virus),一种会“传染”其他程序的程序,“传染”是通过修改其他程序来把自身或其变种复制进去完成的。2) 计算机蠕

6、虫(computer worm),一种通过网络的通信功能将自身从一个结点发送到另一个结点并启动运行的程序。3) 特洛伊木马(Trojan horse),一种程序,它执行的功能超出所声称的功能。如一个编译程序除了执行编译任务以外,还把用户的源程序偷偷地复制下来,则这种编译程序就是一种特洛伊木马。计算机病毒有时也以特洛伊木马的形式出现。4) 逻辑炸弹(logic bomb),一种当运行环境满足某种特定条件时执行其他特殊功能的程序。如一个编辑程序,平时运行得很好,但当系统时间为13日又为星期五时,它删去系统中所有的文件,这种程序就是一种逻辑炸弹。10.1.2 计算机网络安全的内容1. 保密性1) 为

7、用户提供安全可靠的保密通信是计算机网络安全最为重要的内容。2) 尽管计算机网络安全不仅仅局限于保密性,但不能提供保密性的网络肯定是不安全的。3) 网络的保密性机制除了为用户提供保密通信以外,也是许多其他安全机制的基础。4) 例如,接入控制中登录口令的设计、安全通信协议的设计以及数字签名的设计等,都离不开密码机制。2. 安全协议的设计1) 人们一直希望能设计出安全的计算机网络,但不幸的是,网络的安全性是不可判定的DENN82。2) 目前在安全协议的设计方面,主要是针对具体的攻击(如假冒)设计安全的通信协议。3) 但如何保证所设计出的协议是安全的?协议安全性的保证通常有两种方法:(1) 一种是用形

8、式化方法来证明协议的安全性。(2) 另一种是用经验来分析协议的安全性。3. 接入控制1) 接入控制(access control)也叫做访问控制或存取控制。指对接入网络的权限加以控制,并规定每个用户的接入权限。2) 由于网络是个非常复杂的系统,所以其接入控制机制比操作系统的访问控制机制更复杂(尽管网络的接入控制机制是建立在操作系统的访问控制机制之上的),尤其在高安全性级别的多级安全性(multilevel security)情况下更是如此。4. 所有上述计算机网络安全的内容都与密码技术紧密相关。10.1.3 一般的数据加密模型1. 一般的数据加密模型如图10-2所示。1) 在发送端,明文X用加

9、密算法E和加密密钥K1得到密文Y,这个过程可以简记为:。2) 在接收端,密文Y通过解密算法D和解密密钥K2重新得到明文X,这个过程可以简记为:。或。3) 密文在传送过程中可能出现截取者,截取者又称为攻击者或入侵者。4) 如果K1 = K2,则称为对称加密,反之,则称为非对称加密。5) 密钥通常是由一个密钥源提供。当密钥需要向远地传送时,也需要通过一个安全信道来进行。这称为密钥的分发。2. 密码编码学(cryptography)是密码体制的设计学,而密码分析学(cryptanalysis)则是未知密钥的情况下从密文推演出明文或密钥的技术。这两者合起来即为密码学(cryptology)。3. 对一

10、个密码体制而言,如果不论截取者获得了多少密文,但在密文中都没有足够的信息来唯一地确定出对应的明文,则该密码体制称为无条件安全,或称为理论上是不可破译的。4. 如果一个密码体制中的密码在给定的计算资源下是不可破译的,则称该密码体制在计算上是安全的。5. 在20世纪70年代后期,美国的数据加密标准DES(Data Encryption Standard)和公开密钥密码体制(public key crypto-system)的出现,成为近代密码学发展史上的两个重要里程碑。10.2 常规密钥密码体制10.2.1 替代密码与置换密码1. 在早期的常规密钥密码体制中,有两种常用的密码,即替代密码和置换密码

11、。1) 替代密码(substitution cipher)的原理可用一个例子来说明。如表10-1所示。表10-1字母a、b、c、等与D、E、F、等相对应abcdefghijklmnopqrstuywxyzDEFGHIJKLMNOPQRSTUVWXYZABC注:设明文为:hello,则对应的密文为:KHOOR。解密时反查上表即可。也可往左数3个字符。2) 置换密码(transposition cipher)则是按照某一规则重新排列消息中的比特或字符的顺序。例子如下文所示。密钥CIPHER顺序145326明文attackbeginsatfour注:顺序与密钥等价,但不如密钥便于记忆。明文旋涡状的意

12、思是“四时开始进攻”密文为:abatettgfaiocnuksr。密钥与顺序的关系见下表:abcdefghijklm1234nopqrstuywxyz562. 从得到密文序列的结构来划分,则有序列密码和分组密码两种不同的密码体制。1) 序列密码体制是将明文X看成是连续的比特流(或字符流)X =,并且用密钥序列K =中的第个元素对明文中的进行加密,即=2) 序列密码又称为密钥流密码。目前常使用伪随机序列作为密钥序列。图10-3是其原理框图。在发送方加密时,伪随机序列的种子对密钥序列产生器进行初始化。,和均为1位(或均为1个字符),并按照模2进行运算,得出: = (10-1)在接收方,对的解密算法

13、是:=(10-2)3) 另一种密码体制与序列密码不同。它将明文划分成固定的n比特的数据组,然后以组为单位,在密钥的控制下进行一系列的线性或非线性的变化而得到密文。这就是分组密码(block cipher)。4) 图10-4为分组密码体制的框图。分组密码一次变换一组数据。分组密码算法的一个重要特点就是:当给定一个密钥后,若明文分组相同,那么所变换出密文分组也相同。10.2.2 数据加密标准DES1. 数据加密标准DES属于常规密钥密码体制。它由IBM公司研制出,于1977年被美国定为联邦信息标准后,在国际上引起了极大的重视。ISO曾将DES作为数据加密标准。2. 加密算法如图10-5所示。3.

14、解密过程和加密过程相似,但生成16个密钥的顺序正好相反。4. 上述的DES的一个明显的缺点是它实际上就是一种单字符替代,而这种字符的长度是64位。也就是说,对于DES算法,相同的明文就产生相同的密文。这对DES的安全性来说是不利的。为了提高DES的安全性,可采用加密分组链接的方法,如图10-6所示。(注,此种说法不太准确,因为链接后并没有能增加多少算法的计算复杂性。)1) 图10-6(a)是加密过程。2) 图10-6(b)是解密过程。5. DES的保密性仅取决于对密钥的保密,而算法是公开的。尽管人们在破译DES方面取得了许多进展BIHA90,但至今仍未能找到比穷举搜索密钥更有效的方法。6. D

15、ES的安全性问题主要是密钥比较短(即56位太短),为了增加密钥长度,可以有多种方法,但不一定增加了密钥长度,安全性就能相应地增加。1) 一种叫做三重DES (Triple DES)是Tuchman提出的,并在1985年成为美国的一个商用加密标准RFC 2420。三重DES使用两个密钥,执行三次DES算法,如图10-7所示。7. 在DES之后出现了国际数据加密算法IDEA(International Data Encryption Algorithm)LAI90。IDEA使用128位密钥,因而更加不容易被攻破。8. 计算结果表明,当密钥长度为128位时,若每微秒可搜索1百万次,则用穷举法破译ID

16、EA密码需要花费年。10.3 公开密钥密码体制10.3.1 公开密钥密码体制的特点1. 公开密钥密码体制就是使用不同的加密密钥与解密密钥进行加解密的密码体制,即对加解密的一般公式而言,其中满足,要求由已知加密密钥推导出解密密钥在计算上是不可行。2. 公开密钥密码体制的产生主要是因为两个方面的原因,1) 一是由于常规密钥密码体制的密钥分配(distribution)问题,2) 另一是由于对数字签名的需求。3. 在公开密钥密码体制中,加密密钥(即公开密钥,或记为)PK是公开的,而解密密钥(即秘密密钥,或记为)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然秘密密钥SK是由公开密钥PK决定

17、的,但却不能根据PK计算出SK。4. 公开密钥算法的特点如下所述。1) 发送者用加密密钥PK对明文X加密后,在接收端,接收者用解密密钥SK解密,即可恢复出明文,或写为:(10-3) 加密密钥是公钥,而解密密钥是接收方专用的私钥,对其他人都保密。此外,加密和解密的运算可以对调,即。2) 加密密钥是公开的,但不能用它来解密,即(10-4)3) 在计算机上可以容易地产生成对的PK和SK。4) 从已知的PK实际上不可能推导出SK,即从PK到SK是“计算上不可能的”。5) 加密和解密算法都是公开的。6) 上述过程如图10-8所示。10.3.2 RSA公开密钥密码体制1. RSA公开密钥密码体制所根据的原

18、理是:根据数论,计算两个大素数的乘积比较简单,而将它们的乘积分解为素因子则极其困难。(1) 加密算法若用整数X表示明文,用整数Y表示密文(X和Y均小于),则加密和解密运算为:加密:Y = (10-5)解密:X = (10-6)(2) 密钥的产生现在讨论RSA公开密钥密码体制中每个参数是如何选择和计算的。 计算。用户秘密地选择两个大素数和,计算出。称为RSA算法的模数。明文必须能够用小于的数来表示。实际上是几百位长的数。 计算。用户再计算出的欧拉函数,定义为不超过并与互素的数的个数。= (10-7) 选择。用户从0, -1中选择一个与互素的数作为公开的加密指数。 计算。用户计算出满足下式的= 1

19、(10-8)作为解密指数。 得出所需要的公开密钥和秘密密钥:公开密钥(即加密密钥) PK = , 秘密密钥(即解密密钥) SK = , 10.3.3 数字签名1. 数字签名必须保证以下三点:1) 接收方能够核实发送者对报文的签名;2) 发送方事后不能抵赖对报文的签名;3) 接收方不能伪造对报文的签名。2. 数字签名的方法1) 发送者A用其私钥即解密密钥SKA和解密算法对报文X进行运算,将结果 传送给接收者B。2) B用已知的A的公钥即加密密钥PKA对报文进行计算,得出 。因为除A外没有别人能具有A的解密密钥SKA,所以除A外没有别人能产生密文。这样,B就相信报文X是A签名发送的,如图10-9所

20、示。3) 注意,报文X是明文并没有加密,即直接对明文作解密运算。这样做的原因不是为了加密而是为了数字签名。为了确证报文是否真的来自A。(注意明文与密文的相对性。)3. 如果A要抵赖曾发送报文给B,则B可以把X及出示给具有权威的第三方。第三方很容易用PKA去证实A确实发送X给B。4. 反之,如果B把X伪造成X,则B不能在第三方前出示。这样就证明了B伪造了报文。5. 上述过程仅报文进行了签名。对报文X本身却未保密。因为截到并知道发送方身份的任何人,通过查阅手册即可获得发送方的公钥PKA,因而也能得知报文X的内容。若采用图10-10所示的方法,则可同时实现秘密通信和数字签名。图中SKA和SKB分别为

21、A和B的私钥,而PKA和PKB分别为A和B的公钥。10.4 报文鉴别1. 在信息的安全领域中,对付被动攻击的重要措施是加密,而对付主动攻击中的篡改和伪造则要用报文鉴别(message authentication)的方法。报文鉴别就是一种过程,它使得通信的接收方能够验证所收到的报文(发送者和报文内容、发送时间、序列等)的真伪。2. 近年来,广泛使用报文摘要MD (Message Digest)来进行报文鉴别。1) 发送方将可变长度的报文经过报文摘要算法运算后得出固定长度的报文摘要2) 然后对进行加密,得出,并将其附加在报文后面发送出动。3) 接收文把解密还原为,再把收到的报文进行摘要运算,看得

22、出的是否为此。如不一样,则可断定收到的报文不是发送方产生的。4) 对鉴别报文来说,报文摘要方法也是可检验的和不可抵赖的,因为和合在一起是不可伪造的。3. 要做到不可伪造,报文摘要算法必须满足以下两个条件:1) 任给一个报文摘要值x,若想找到一个报文y使得H(y) = x,则在计算上是不可行的。2) 若想找到任意两个报文x和y,使得H(x) = H(y),则在计算上是不可行的。4. RFC1321提出的报文摘要算法MD5已获得了广泛的应用。MD5的算法大致的过程如下:1) 先将任意长的报文按模计算其余数(64 位),追加在报文的后面。这就是说,最后得出的MD代码已包含了报文长度的信息。2) 在报

23、文和余数之间填充1512位的数据块,使得填充后的总长度是512的整数倍。填充比特的首位是1,后面都是0。3) 将追加和填充后的报文分割为一个个512 位的数据块,512 位的报文数据分成4个128位的数据块依次送到不同的散列函数进行4轮计算。每一轮又都按32 位的小数据块进行复杂的运算。一直到最后计算出MD5报文摘要代码。5. 另一种标准叫做安全散列算法SHA(Secure Hash Algorithm),和MD5相似,但码长为160位。它也是用512位长的数据块经过复杂运算得出的。SHA比MD5更安全,但计算起来也比MD5要慢些。10.5 密钥分配1. 由于密码算法是公开的,网络的安全性就完

24、全基于密钥的安全保护上。因此在密码学中出现了一个重要的分支密钥管理。密钥管理包括:密钥的产生、分配、注入、验证和使用。2. 随着用户的增多和通信量的增大,密钥更换频繁(密钥必须定期更换才能做到可靠),派信使的办法将不再适用。这时应采用网内分配方式,即对密钥自动分配。3. 目前,常用的密钥分配方式是设立密钥分配中心KDC (Key Distribution),通过KDC来分配密钥。4. 图10-11为一种对常规密钥进行分配的方法。1) 假定用户A和B都是KDC的登记用户,他们分别拥有与KDC通信的主密钥KA和KB。密钥分配分为三个步骤: 首先,用户A向KDC发送自己私有的主密钥KA加密的报文说明

25、想和用户B通信。 KDC用随机数产生一个“一次一密”密钥供A和B这次的信通使用,然后向A发送回答报文,这个回答报文用A的主密钥KA加密,报文中有密钥和请A转给B的报文,但报文是用B的私有主密钥KB加密的,因此A无法知道报文的内容。 当B收到A转来的报文并使用自己的私有主密钥KB解密后,就知道A要和他通信,同时也知道和A通信时所使用的密钥。2) 此后,A和B就可使用这个一次一密的密钥进行本次通信了。3) KDC还可以在报文中加入时间戳,以防止攻击者利用以前记录下的报文进行重放攻击。10.6 链路加密与端到端加密10.6.1 链路加密1. 在采用链路加密的网络中,每条通信链路上的加密是独立实现的。

26、通常对每条链路使用不同的加密密钥。2. 链路加密的最大缺点是在中间结点暴露了信息的内容。10.6.2 端到端加密1. 端到端加密是在源结点和目的结点中对传送的PDU进行加密和解密。可以看出,报文的安全性不会因中间结点的不可靠而受到影响。2. 在端到端加密的情况下,PDU的控制信息部分(如源结点地址、目的结点地址、路由信息等)不能被加密,否则中间结点就不能正确选择路由。这就使这种方法易于受至通信量分析的攻击。10.7 防火墙1. 防火墙是从内联网(intranet)的角度来解决网络的安全问题。1) 采用因特网技术的单位内部网络称为内联网。2) 内联网通常采用一定的安全措施与企业或机构外部的因特网

27、用户相隔离,这个安全措施就是防火墙(firewall)。3) 在内联网出现后,又有了另一种网络叫做外联网(extranet)。4) 图10-12是防火墙在互连的网络中的位置。一般都将防火墙内的网络称为“可信赖的网络”(trusted network),而将外部的因特网称为“不可信赖的网络”(untrusted network)。2. 防火墙的功能有两个:一个是阻止,另一个是允许。3. 防火墙技术一般分为下述两类。1) 网络级防火墙:主要是用来防止整个网络出现外来非法的入侵。属于这类的有分组过滤(packet filtering)和授权服务器(authorization server)。2) 应

28、用级防火墙:从应用程序来进行接入控制。通常使用应用网关或代理服务器(proxy server)来区分各种应用。4. 防火墙的局限性1) 防火墙不能防御绕过了它的攻击,如:(1) 从网络内部通过拨号连入ISP。(2) 磁带、硬盘、USB盘等。2) 防火墙不能消除来自内部的威胁,如:内外联手所实施的攻击。3) 防火墙不能阻止病毒感染过的程序和文件进出网络4) 防火墙的管理及配置相当复杂,容易出现疏忽。5) 防火墙只是整体安全防范策略的一部分。5. 防火墙的发展趋势1) 多种安全技术的融合,主要包括:(1) VPN技术(2) 入侵检测技术(3) 应用层过滤和防病毒技术2) 多个安全产品实现集成化管理和联动。3) 分布式防火墙。4) 逐步由通用x86平台防火墙向基于网络处理器的防火墙和ASIC芯片防火墙方向发展。5) 模块化、智能化、高性能、多端品等方面的发展。第 12 页 共 12 页

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号