版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机网络教程(谢希仁)第10 章计算机网络的安全谢希仁第10章计算机网络的安全本章目录第10章计算机网络的安全 210.1 网络安全问题概述 210.1.1 计算机网络面临的安全性威胁 210.1.2 计算机网络安全的内容 310.1.3 一般的数据加密模型 410.2 常规密钥密码体制510.2.1 替代密码与置换密码510.2.2 数据加密标准DES610.3 公开密钥密码体制810.3.1 公开密钥密码体制的特点 810.3.2 RS心开密钥密码体制910.3.3 数字签名910.4 报文鉴别 1010.5 密钥分配1110.6 链路加密与端到端加密 1210.6.1 链路加密 121
2、0.6.2 端到端加密 12107防火墙1210.1 网络安全问题概述10.1.1 计算机网络面临的安全性威胁1 .计算机网络上的通信面临以下的 4种威胁。1)截获(interception)攻击者从网络上窃听他人的通信内容。2)中断(interruption)攻击者有意中断他人在网络上的通信。3)篡改(modification)攻击者故意篡改网络上传送的报文。4)伪造(fabrication)攻击者伪造信息在网络上传送。2 .上述四种威胁可划分为两大类,即被动攻击和主动攻击(如图10-1所示)。在上述情况中,截获信息的攻击称为被动攻击,而更改信息和拒绝用户使用资源的攻击称为主动攻击。图10-
3、1对网络的被动攻击和主动攻击PDU (这里使用1)在被动攻击中,攻击者只是观察和分析某一个协议数据单元第2页共13页谢希仁PDU这一名词是考虑到攻击可能涉及数据的不同的层次)而不干扰信息流。即使这些数据对攻击者来说是不易理解的,他也可以通过观察PDU的协议控制信息部分,了解正在通信的协议实体的地址和身份,研究 PDU的长度 和传输的频度,以便了解所交换的数据的性质。这种被动攻击又称为通信量 分析(traffic analysis。2)主动攻击是指攻击者对某个连接中通过的PDU进行各种处理。如有选择地更改、删除、延迟这些 PDU (当然也包括记录和复制它们)。还可在稍后的 时间将以前记录下的PD
4、U插入这个连接(即重放攻击)。甚至还可以将合成 的或伪造的PDU送入一个连接中去。所有主动攻击都是上述各种方法的某 种组合。但从类型上看,主动攻击又可进一步划分为以下3种:(1)更改报文流,包括对通过连接的PDU的真实性、完整性和有序性的攻击。(2)拒绝报文服务,指攻击者或者删除通过某一连接的所有PDU,或者将双方或单方的所有 PDU加以延迟,从而使被攻击网站的服务器一直处于“忙”的状态,因而拒绝向发出请求的合法客户提供服务。这种攻击方式被称为拒绝服务 DoS (Denial of Service),或分布式拒绝服务DDoS(Distributed Denial of Service。(3)伪
5、造连接初始化,攻击者重放以前已被记录的合法连接初始化序列,或者伪造身份而企图建立连接。3 .对于主动攻击,可以采取适当措施加以检测。但对于被动攻击,通常却是检测 不出来的。根据这些特点,可得出计算机网络通信安全的五个目标:1)防止析出报文内容;2)防止信息量分析;3)检测更改报文流;4)检测拒绝报文服务;5)检测伪造初始化连接。4 .对付被动攻击可采用各种加密技术,而对付主动攻击,则需要将加密技术与适当的鉴别技术相结合。还有一种特殊的主动攻击就是恶意程序(rogue programi)的攻击。恶意程序种类繁多,对网络安全威胁较大的主要有以下几种:1)计算机病毒(computer virus),
6、 一种会“传染”其他程序的程序,“传染”是 通过修改其他程序来把自身或其变种复制进去完成的。2)计算机蠕虫(computer worm),一种通过网络的通信功能将自身从一个结点发 送到另一个结点并启动运行的程序。3)特洛伊木马(Trojan horse), 一种程序,它执行的功能超出所声称的功能。如 一个编译程序除了执行编译任务以外,还把用户的源程序偷偷地复制下来, 则这种编译程序就是一种特洛伊木马。计算机病毒有时也以特洛伊木马的形 式出现。4)逻辑炸弹(logic bomb1 一种当运行环境满足某种特定条件时执行其他特殊功 能的程序。如一个编辑程序,平时运行得很好,但当系统时间为13日又为星
7、 期五时,它删去系统中所有的文件,这种程序就是一种逻辑炸弹。10.1.2计算机网络安全的内容1 .保密性第3页共13页谢希仁1)为用户提供安全可靠的保密通信是计算机网络安全最为重要的内容。2)尽管计算机网络安全不仅仅局限于保密性,但不能提供保密性的网络肯定是 不安全的。3)网络的保密性机制除了为用户提供保密通信以外,也是许多其他安全机制的 基础。4)例如,接入控制中登录口令的设计、安全通信协议的设计以及数字签名的设 计等,都离不开密码机制。2 .安全协议的设计1)人们一直希望能设计出安全的计算机网络,但不幸的是,网络的安全性是不可判定的DENN82 02)目前在安全协议的设计方面,主要是针对具
8、体的攻击(如假冒)设计安全的 通信协议。3)但如何保证所设计出的协议是安全的?协议安全性的保证通常有两种方法:(1) 一种是用形式化方法来证明协议的安全性。(2)另一种是用经验来分析协议的安全性。3 .接入控制1)接入控制(accesscontrol)也叫做访问控制或存取控制。指对接入网络的权 限加以控制,并规定每个用户的接入权限。2)由于网络是个非常复杂的系统,所以其接入控制机制比操作系统的访问控制 机制更复杂(尽管网络的接入控制机制是建立在操作系统的访问控制机制之 上的),尤其在高安全性级别的多级安全性(multilevel security)情况下更是 如此。4 .所有上述计算机网络安全
9、的内容都与密码技术紧密相关。10.1.3 一般的数据加密模型1. 一般的数据加密模型如图10-2所示。1)在发送端,明文X用加密算法E和加密密钥Ki得到密文Y,这个过程可以 简记为:Y=Eg(X )。2)在接收端,密文Y通过解密算法D和解密密钥K2重新得到明文X,这个过 程可以简记为:X=Dk2 (Y)。或X =dK2(ekjx3)密文在传送过程中可能出现截取者,截取者又称为攻击者或入侵者。4)如果Ki = K2,则称为对称加密,反之,则称为非对称加密。5)密钥通常是由一个密钥源提供。当密钥需要向远地传送时,也需要通过一个 安全信道来进行。这称为密钥的分发。2 .密码编码学(cryptogra
10、phy)是密码体制的设计学,而密码分析学(cryptanalysis 则是未知密钥的情况下从密文推演出明文或密钥的技术。这两者合起来即为密 码学(cryptology)。第4页共13页谢希仁3 .对一个密码体制而言,如果不论截取者获得了多少密文,但在密文中都没有足 够的信息来唯一地确定出对应的明文,则该密码体制称为无条件安全,或称为 理论上是不可破译的。4 .如果一个密码体制中的密码在给定的计算资源下是不可破译的,则称该密码体 制在计算上是安全的。5 .在20世纪70年代后期,美国的数据加密标准 DES(Data Encryption Standard) 和公开密钥密码体制(public ke
11、y crypto-system)勺出现,成为近代密码学发展史 上的两个重要里程碑。10.2常规密钥密码体制10.2.1 替代密码与置换密码1.在早期的常规密钥密码体制中,有两种常用的密码,即替代密码和置换密码。1)替代密码(substitution cipher)勺原理可用一个例子来说明。如表 10-1所示。表10-1 字母a、b、c、等与D、E、F、等相对应abcdefghi j kl m n o p q r st uywxyz DEFGHI J KLMNOPQRSTUV W X Y Z A B CW:设明文为:hello,则对应的密文为:""KHOOR。解密时反查上表即
12、可。也可往左数 3个字符。2)置换密码(transposition cipher)则是按照某一规则重新排列消息中的比特或 字符的顺序。例子如下文所示。密钥CIPHER顺序145326明文attack beginsatfour注:顺序与密钥等价,但不如密钥便于记忆。明文旋涡状的意思是“四时开始进攻”密文为:abatettgfaiocnuksR密钥与顺序的关系见下表:第5页共13页谢希仁abcdefghijklm1234noPqrstuywxyz562.从得到密文序列的结构来划分,则有序列密码和分组密码两种不同的密码体制1)序列密码体制是将明文 X看成是连续的比特流(或字符流) X = XX2II
13、I ,并 且用密钥序列K = k1k21H中的第i个元素K对明文中的x进行加密,即Ex(X 尸 Eki(Xi)Ek2(X2)2)序列密码又称为密钥流密码。目前常使用伪随机序列作为密钥序列。图 10-3 是其原理框图。在发送方加密时,伪随机序列的种子Io对密钥序列产生器进行初始化。k , Xi和yi均为1位(或均为1个字符),并按照模2进行运算, 得出:V =Ek,为=为二 ki(10-1)在接收方,对yi的解密算法是:Dk, V =yi 二 ki= X 二 ki 二 k = Xi(10-2)® 10-3序列密码体制图10-4分组密码体制3)另一种密码体制与序列 密码不同。它将明文划
14、分成固定的n比特的数 据组,然后以组为单位, 在密钥的控制下进行一 系列的线性或非线性的 变化而得到密文。这就 是分组密码(block cipher)。4)图10-4为分组密码体 制的框图。分组密码一 次变换一组数据。分组 密码算法的一个重要特点就是:当给定一个密钥后,若明文分组相同,那么所变换出密文分组也相 同。10.2.2数据加密标准DES第6页共13页谢希仁1.数据加密标准DES属于常规密钥密码体制。它由 旧M公司研制出,于1977年 被美国定为联邦信息标准后,在国际上引起了极大的重视。ISO曾将DES作为数据加密标准。2 .加密算法如图10-5所示。3 .解密过程和加密过程相似,但生成
15、16个密钥 的顺序正好相反。4 .上述的DES的一个明显的缺点是它实际上就 是一种单字符替代,而这种字符的长度是 64 位。也就是说,对于DES算法,相同的明文 就产生相同的密文。这对DES的安全性来说 是不利的。为了提高DES的安全性,可采用 加密分组链接的方法,如图10-6所示。(注, 此种说法不太准确,因为链接后并没有能增 加多少算法的计算复杂性。)64位明文置换迭代1迭彳16置换DES密钥处理器6 64位密文图10-5 DES加密框图位 密 钥1)图10-6(a)是加密过程。2)图10-6(b)是解密过程。5. DES的保密性仅取决于对密钥的保密,而算法是公开的。尽管人们在破译DES方
16、面取得了许多进展BIHA90,但至今仍未能找到比穷举搜索密钥更有效的方 法。加密富铜E E E E需文¥0 丫1 Y3加赛过程解密初始31渴渴ttti明交4%x3X3(b)解密过程图10-6加密分组的链接(方应E和口分别代表加密和解密操作)6. DES的安全性问题主要是密钥比较短(即 56位太短),为了增加密钥长度,可(a)(b)图三重DES第7页共13页谢希仁以有多种方法,但不一定增加了密钥长度,安全性就能相应地增加。1) 一种叫做三重 DES (Triple DES)是Tuchman提出的,并在1985年成为美国 的一个商用加密标准RFC 2420。三重DES使用两个密钥,执行三
17、次 DES 算法,如图10-7所示。7 .在 DES之后出现了国际数据加密算法 IDEA (International Data Encryption Algorithm) LAI90。 IDEA 使用128位密钥,因而更加不容易被攻破。8 .计算结果表明,当密钥长度为 128位时,若每微秒可搜索1百万次,则用穷举 法破译IDEA密码需要花费5.4父1018年。10.3公开密钥密码体制10.3.1 公开密钥密码体制的特点图10-8公开密钥密码体制1 .公开密钥密码体制就是使用不同的加密密钥与解密密钥进行加解密的密码体 制,即对加解密的一般公式 X =D& (E«(X )而言,
18、其中满足K1/K2,要求由 已知加密密钥推导出解密密钥在计算上是不可行。2 .公开密钥密码体制的产生主要是因为两个方面的原因,1) 一是由于常规密钥密码体制的密钥分配 (distribution)问题,2)另一是由于对数字签名的需求。3 .在公开密钥密码体制中,加密密钥(即公开密钥,或记为Kp) PK是公开的,而解密密钥(即秘密密钥,或记为 Ks) SK是需要保密的。加密算法 E和解密 算法D也都是公开的。虽然秘密密钥SK是由公开密钥PK决定的,但却不能根 据PK计算出SK。4 .公开密钥算法的特点如下所述。1)发送者用加密密钥PK对明文X加密后,在接收端,接收者用解密密钥 SK 解密,即可恢
19、复出明文,或写为:Dsk Epk X =X(10-3)加密密钥是公钥,而解密密钥是接收方专用的私钥, 对其他人都保密。止匕外, 加密和解密的运算可以对调,即 EPK(DSKX)= X2)加密密钥是公开的,但不能用它来解密,即第8页共13页谢希仁Dpk Epk X = X(10-4)3)在计算机上可以容易地产生成对的 PK和SK。4)从已知的PK实际上不可能推导出SK,即从PK到SK是“计算上不可能的”。5)加密和解密算法都是公开的。6)上述过程如图10-8所示。10.3.2RS公开密钥密码体制1. RSA公开密钥密码体制所根据的原理是:根据数论,计算两个大素数的乘积比 较简单,而将它们的乘积分
20、解为素因子则极其困难。(1)加密算法若用整数X表示明文,用整数 Y表示密文(X和Y均小于n ),则加密和解密运 算为:力口密:Y = Xe modn(10-5)解密:X = Yd modn(10-6)(2) 密钥的产生现在讨论RSA公开密钥密码体制中每个参数是如何选择和计算的。 计算n。用户秘密地选择两个大素数 p和q,计算出n=pq。n称为RSA 算法的模数。明文必须能够用小于 n的数来表示。实际上n是几百位长的数。 计算欠n)。用户再计算出n的欧拉函数4(n), e(n)定义为不超过n并与n 互素的数的个数。n = p-1 q-1(10-7) 选择e。用户从0,文n)-1中选择一个与”n)
21、互素的数e作为公开的加密 指数。计算d。用户计算出满足下式的ded = 1 mod(10-8)作为解密指数。得出所需要的公开密钥和秘密密钥:公开密钥(即加密密钥)PK = e, n 秘密密钥(即解密密钥)SK = d , n 10.3.3数字签名1 .数字签名必须保证以下三点:1)接收方能够核实发送者对报文的签名;2)发送方事后不能抵赖对报文的签名;3)接收方不能伪造对报文的签名。2 .数字签名的方法1)发送者A用其私钥即解密密钥SKA和解密算法对报文X进行运算,将结果 Dska X传送给接收者B。2) B用已知的A的公钥即加密密钥PKA对报文Dska(X )进行计算,得出第9页共13页谢希仁
22、因为除A外没有别人能具有 生密文Dska(X )。这样,B 就相信报文X是A签名发 送的,如图10-9所示。3)注意,报文X是明文并没 有加密,即直接对明文作解 密运算。这样做的原因不是 为了加密而是为了数字签 名。为了确证报文是否真的 来自A。(注意明文与密文 的相对性。)3 .如果A要抵赖曾发送报文给EpKA d SKA(x)=x。A的解密密钥SKA,所以除A外没有别人能产发借看4镂收看B进行箸名用公开由例 核彝名图119数字签名的实现B,则B可以把X及Dska(X )出示给具有权威的第三方。第三方很容易用PKA去证实A确实发送X给B。4 .反之,如果B把X伪造成X',则B不能在第
23、三方前出示Dska(X')。这样就证 明了 B伪造了报文。5 .上述过程仅报文进行了签名。对报文 X本身却未保密。因为截到 Dska(X)并知道发送方身份的任何人,通过查阅手册即可获得发送方的公钥PKA,因而也能得知报文X的内容。若采用图10-10所示的方法,则可同时实现秘密通信和数 字签名。图中SKA和SKB分别为A和B的私钥,而PKA和PKB分别为A和 B的公钥。案送著AIT密文初搂收新BSKB用秘密密钥PKA用公开密用 核实签名图10。具有保密性的数字整名10.4报文鉴别1 .在信息的安全领域中,对付被动攻击的重要措施是加密,而对付主动攻击中的篡改和伪造则要用报文鉴别(messa
24、ge authenticatio醐方法。报文鉴别就是一种 过程,它使得通信的接收方能够验证所收到的报文 (发送者和报文内容、发送时 向、序列等)的真伪。2 .近年来,广泛使用报文摘要 MD (Message Digest来进行报文鉴别。1)发送方将可变长度的报文 m经过报文摘要算法运算后得出固定长度的报文 摘要H (m)第10页共13页谢希仁2)然后对H (m)进行加密,得出EK(H(m),并将其附加在报文 m后面发送出 动。3)接收文把EK(H(m)解密还原为H(m),再把收到的报文m进行摘要运算, 看得出的是否为此H(m)。如不一样,则可断定收到的报文 m不是发送方产4)对鉴别报文m来说,
25、报文摘要方法也是可检验的和不可抵赖的,因为 m和 Ek (H (m)合在一起是不可伪造的。3 .要做到不可伪造,报文摘要算法必须满足以下两个条件:1)任给一个报文摘要值x,若想找到一个报文y使得H(y) = x,则在计算上是不 可行的。2)若想找到任意两个报文x和y,使得H(x) = H(y),则在计算上是不可行的。4 . RFC1321提出的报文摘要算法 MD5已获得了广泛的应用。MD5的算法大致的 过程如下:1)先将任意长的报文按模264计算其余数(64位),追加在报文的后面。这就是 说,最后得出的MD代码已包含了报文长度的信息。2)在报文和余数之间填充1512位的数据块,使得填充后的总长
26、度是512的整 数倍。填充比特的首位是1,后面都是003)将追加和填充后的报文分割为一个个 512位的数据块,512位的报文数据分 成4个128位的数据块依次送到不同的散列函数进行4轮计算。每一轮又都按32位的小数据块进行复杂的运算。一直到最后计算出MD5报文摘要代码。5 .另一种标准叫做安全散列算法 SHA (Secure Hash Algorithm,和MD5相似, 但码长为160位。它也是用512位长的数据块经过复杂运算得出的。SHA比MD5更安全,但计算起来也比 MD5要慢些。6 0.5密钥分配1 .由于密码算法是公开的,网络的安全性就完全基于密钥的安全保护上。因此在 密码学中出现了一
27、个重要的分支一一密钥管理。密钥管理包括:密钥的产生、 分配、注入、验证和使用。2 .随着用户的增多和通信量的增大,密钥更换频繁 (密钥必须定期更换才能做到可 靠),派信使的办法将不再适用。这时应采用网内分配方式,即对密钥自动分配。3 .目前,常用的密钥分配方式是设立密钥分配中心KDC (Key Distribution),通过KDC来分配密钥。4 .图10-11为一种对常规密钥进行分配的方法。田鼻-艮口4& R|)/第0亡体,E1 B知道了雷闰后KDC图料存毒咿配协议谢希仁1)假定用户A和B都是KDC的登记用户,他们分别拥有与 KDC通信的主密 钥KA和KB。密钥分配分为三个步骤:首先
28、,用户A向KDC发送自己私有的主密钥KA加密的报文Kka(A,B )说 明想和用户B通信。KDC用随机数产生一个“一次一密”密钥 R供A和B这次的信通使用, 然后向A发送回答报文,这个回答报文用 A的主密钥KA加密,报文中 有密钥Ri和请A转给B的报文Kkb(A,R ),但报文Kkb(A,R )是用B的 私有主密钥KB加密的,因此A无法知道报文KkAR )的内容。 当B收到A转来的报文KKB(A,R )并使用自己的私有主密钥 KB解密后, 就知道A要和他通信,同时也知道和 A通信时所使用的密钥R。2)此后,A和B就可使用这个一次一密的密钥 R进行本次通信了。3) KDC还可以在报文中加入时间戳,以防止攻击者利用以前记录下的报文进行 重放攻击。10.6链路加密与端到端加密10.6.1链路加密1 .在采用链路加密的网络中,每条通信链路上的加密是独立实现的。通常对每条 链路使用不同的加密密钥。2 .链路加密的最大缺点是在中间结点暴露了信息的内容。10.6.2端到端加密1 .端到端加密是在源结点和目的结点中对传送的PDU进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CSPSTC 170-2025隧道掘进机(TBM)数据采集、存储与前处理技术规程
- T/ZAWS 009-2024加氢站用高压氢气管道安装及检测规范
- T/HBSL 14-2025生产建设项目水土保持单元工程施工质量验收规范
- T/CIE 265-2024硅基无源光电器件电磁仿真规范
- T/CAOE 93-2025智慧海洋应急通信试验网络终端设备技术要求
- T/CSAE 482-2025纯电动与混合动力越野乘用车爬坡与脱困性能试验方法
- 2025~2026学年江西吉安市吉水县人教版五年级下册期末数学试卷【附答案】
- AI在梵语巴利语中的应用
- 2026学年广东省河源市三年级数学期末自测模拟难点突破题详细参考解析详细答案和解析
- PHP 上机考试试题(含详细答案解析)
- 2026年脑血管介入考试题及答案
- 危化品重大危险源管理
- SK型静态混合器设计计算书
- 2026年5月23日甘肃省兰州市直机关公开选调笔试真题及解析
- 2025艾梅乙工作制度及流程
- 2026年全国肿瘤防治宣传周知识普及讲座课件
- 路由和交换技术(第四版)教案 项目13 IPv6技术
- AI赋能中小学英语写作教学:实 用策略与案例分析【课件文档】
- 议论文主体段写作(专项训练)-2026年高考语文一轮复习
- 安全文明措施费使用计划
- 围术期液体管理与麻醉方案
评论
0/150
提交评论