资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
第9页 / 共12页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
计算机网络教程第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 网络安全问题概述10.1.1 计算机网络面临的安全性威胁1. 计算机网络上的通信面临以下的4种威胁。1) 截获(interception) 攻击者从网络上窃听他人的通信内容。2) 中断(interruption) 攻击者有意中断他人在网络上的通信。3) 篡改(modification) 攻击者故意篡改网络上传送的报文。4) 伪造(fabrication) 攻击者伪造信息在网络上传送。2. 上述四种威胁可划分为两大类,即被动攻击和主动攻击(如图10-1所示)。在上述情况中,截获信息的攻击称为被动攻击,而更改信息和拒绝用户使用资源的攻击称为主动攻击。1) 在被动攻击中,攻击者只是观察和分析某一个协议数据单元PDU(这里使用PDU这一名词是考虑到攻击可能涉及数据的不同的层次)而不干扰信息流。即使这些数据对攻击者来说是不易理解的,他也可以通过观察PDU的协议控制信息部分,了解正在通信的协议实体的地址和身份,研究PDU的长度和传输的频度,以便了解所交换的数据的性质。这种被动攻击又称为通信量分析(traffic analysis)。2) 主动攻击是指攻击者对某个连接中通过的PDU进行各种处理。如有选择地更改、删除、延迟这些PDU(当然也包括记录和复制它们)。还可在稍后的时间将以前记录下的PDU插入这个连接(即重放攻击)。甚至还可以将合成的或伪造的PDU送入一个连接中去。所有主动攻击都是上述各种方法的某种组合。但从类型上看,主动攻击又可进一步划分为以下3种:(1) 更改报文流,包括对通过连接的PDU的真实性、完整性和有序性的攻击。(2) 拒绝报文服务,指攻击者或者删除通过某一连接的所有PDU,或者将双方或单方的所有PDU加以延迟,从而使被攻击网站的服务器一直处于“忙”的状态,因而拒绝向发出请求的合法客户提供服务。这种攻击方式被称为拒绝服务DoS(Denial of Service),或分布式拒绝服务DDoS(Distributed Denial of Service)。(3) 伪造连接初始化,攻击者重放以前已被记录的合法连接初始化序列,或者伪造身份而企图建立连接。3. 对于主动攻击,可以采取适当措施加以检测。但对于被动攻击,通常却是检测不出来的。根据这些特点,可得出计算机网络通信安全的五个目标:1) 防止析出报文内容;2) 防止信息量分析;3) 检测更改报文流;4) 检测拒绝报文服务;5) 检测伪造初始化连接。4. 对付被动攻击可采用各种加密技术,而对付主动攻击,则需要将加密技术与适当的鉴别技术相结合。还有一种特殊的主动攻击就是恶意程序(rogue program)的攻击。恶意程序种类繁多,对网络安全威胁较大的主要有以下几种:1) 计算机病毒(computer virus),一种会“传染”其他程序的程序,“传染”是通过修改其他程序来把自身或其变种复制进去完成的。2) 计算机蠕虫(computer worm),一种通过网络的通信功能将自身从一个结点发送到另一个结点并启动运行的程序。3) 特洛伊木马(Trojan horse),一种程序,它执行的功能超出所声称的功能。如一个编译程序除了执行编译任务以外,还把用户的源程序偷偷地复制下来,则这种编译程序就是一种特洛伊木马。计算机病毒有时也以特洛伊木马的形式出现。4) 逻辑炸弹(logic bomb),一种当运行环境满足某种特定条件时执行其他特殊功能的程序。如一个编辑程序,平时运行得很好,但当系统时间为13日又为星期五时,它删去系统中所有的文件,这种程序就是一种逻辑炸弹。10.1.2 计算机网络安全的内容1. 保密性1) 为用户提供安全可靠的保密通信是计算机网络安全最为重要的内容。2) 尽管计算机网络安全不仅仅局限于保密性,但不能提供保密性的网络肯定是不安全的。3) 网络的保密性机制除了为用户提供保密通信以外,也是许多其他安全机制的基础。4) 例如,接入控制中登录口令的设计、安全通信协议的设计以及数字签名的设计等,都离不开密码机制。2. 安全协议的设计1) 人们一直希望能设计出安全的计算机网络,但不幸的是,网络的安全性是不可判定的DENN82。2) 目前在安全协议的设计方面,主要是针对具体的攻击(如假冒)设计安全的通信协议。3) 但如何保证所设计出的协议是安全的?协议安全性的保证通常有两种方法:(1) 一种是用形式化方法来证明协议的安全性。(2) 另一种是用经验来分析协议的安全性。3. 接入控制1) 接入控制(access control)也叫做访问控制或存取控制。指对接入网络的权限加以控制,并规定每个用户的接入权限。2) 由于网络是个非常复杂的系统,所以其接入控制机制比操作系统的访问控制机制更复杂(尽管网络的接入控制机制是建立在操作系统的访问控制机制之上的),尤其在高安全性级别的多级安全性(multilevel security)情况下更是如此。4. 所有上述计算机网络安全的内容都与密码技术紧密相关。10.1.3 一般的数据加密模型1. 一般的数据加密模型如图10-2所示。1) 在发送端,明文X用加密算法E和加密密钥K1得到密文Y,这个过程可以简记为:。2) 在接收端,密文Y通过解密算法D和解密密钥K2重新得到明文X,这个过程可以简记为:。或。3) 密文在传送过程中可能出现截取者,截取者又称为攻击者或入侵者。4) 如果K1 = K2,则称为对称加密,反之,则称为非对称加密。5) 密钥通常是由一个密钥源提供。当密钥需要向远地传送时,也需要通过一个安全信道来进行。这称为密钥的分发。2. 密码编码学(cryptography)是密码体制的设计学,而密码分析学(cryptanalysis)则是未知密钥的情况下从密文推演出明文或密钥的技术。这两者合起来即为密码学(cryptology)。3. 对一个密码体制而言,如果不论截取者获得了多少密文,但在密文中都没有足够的信息来唯一地确定出对应的明文,则该密码体制称为无条件安全,或称为理论上是不可破译的。4. 如果一个密码体制中的密码在给定的计算资源下是不可破译的,则称该密码体制在计算上是安全的。5. 在20世纪70年代后期,美国的数据加密标准DES(Data Encryption Standard)和公开密钥密码体制(public key crypto-system)的出现,成为近代密码学发展史上的两个重要里程碑。10.2 常规密钥密码体制10.2.1 替代密码与置换密码1. 在早期的常规密钥密码体制中,有两种常用的密码,即替代密码和置换密码。1) 替代密码(substitution cipher)的原理可用一个例子来说明。如表10-1所示。表10-1字母a、b、c、等与D、E、F、等相对应abcdefghijklmnopqrstuywxyzDEFGHIJKLMNOPQRSTUVWXYZABC注:设明文为:hello,则对应的密文为:KHOOR。解密时反查上表即可。也可往左数3个字符。2) 置换密码(transposition cipher)则是按照某一规则重新排列消息中的比特或字符的顺序。例子如下文所示。密钥CIPHER顺序145326明文attackbeginsatfour注:顺序与密钥等价,但不如密钥便于记忆。明文旋涡状的意思是“四时开始进攻”密文为:abatettgfaiocnuksr。密钥与顺序的关系见下表:abcdefghijklm1234nopqrstuywxyz562. 从得到密文序列的结构来划分,则有序列密码和分组密码两种不同的密码体制。1) 序列密码体制是将明文X看成是连续的比特流(或字符流)X =,并且用密钥序列K =中的第个元素对明文中的进行加密,即=2) 序列密码又称为密钥流密码。目前常使用伪随机序列作为密钥序列。图10-3是其原理框图。在发送方加密时,伪随机序列的种子对密钥序列产生器进行初始化。,和均为1位(或均为1个字符),并按照模2进行运算,得出: = (10-1)在接收方,对的解密算法是:=(10-2)3) 另一种密码体制与序列密码不同。它将明文划分成固定的n比特的数据组,然后以组为单位,在密钥的控制下进行一系列的线性或非线性的变化而得到密文。这就是分组密码(block cipher)。4) 图10-4为分组密码体制的框图。分组密码一次变换一组数据。分组密码算法的一个重要特点就是:当给定一个密钥后,若明文分组相同,那么所变换出密文分组也相同。10.2.2 数据加密标准DES1. 数据加密标准DES属于常规密钥密码体制。它由IBM公司研制出,于1977年被美国定为联邦信息标准后,在国际上引起了极大的重视。ISO曾将DES作为数据加密标准。2. 加密算法如图10-5所示。3. 解密过程和加密过程相似,但生成16个密钥的顺序正好相反。4. 上述的DES的一个明显的缺点是它实际上就是一种单字符替代,而这种字符的长度是64位。也就是说,对于DES算法,相同的明文就产生相同的密文。这对DES的安全性来说是不利的。为了提高DES的安全性,可采用加密分组链接的方法,如图10-6所示。(注,此种说法不太准确,因为链接后并没有能增加多少算法的计算复杂性。)1) 图10-6(a)是加密过程。2) 图10-6(b)是解密过程。5. DES的保密性仅取决于对密钥的保密,而算法是公开的。尽管人们在破译DES方面取得了许多进展BIHA90,但至今仍未能找到比穷举搜索密钥更有效的方法。6. DES的安全性问题主要是密钥比较短(即56位太短),为了增加密钥长度,可以有多种方法,但不一定增加了密钥长度,安全性就能相应地增加。1) 一种叫做三重DES (Triple DES)是Tuchman提出的,并在1985年成为美国的一个商用加密标准RFC 2420。三重DES使用两个密钥,执行三次DES算法,如图10-7所示。7. 在DES之后出现了国际数据加密算法IDEA(International Data Encryption Algorithm)LAI90。IDEA使用128位密钥,因而更加不容易被攻破。8. 计算
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号