计算机网络 第七章-网络安全习题答案

上传人:痛*** 文档编号:180797039 上传时间:2023-01-08 格式:DOC 页数:9 大小:158.50KB
收藏 版权申诉 举报 下载
计算机网络 第七章-网络安全习题答案_第1页
第1页 / 共9页
计算机网络 第七章-网络安全习题答案_第2页
第2页 / 共9页
计算机网络 第七章-网络安全习题答案_第3页
第3页 / 共9页
资源描述:

《计算机网络 第七章-网络安全习题答案》由会员分享,可在线阅读,更多相关《计算机网络 第七章-网络安全习题答案(9页珍藏版)》请在装配图网上搜索。

1、F问题7-1:用一个例子说明置换密码的加密和解密过程。假定密钥为CIPHER,而明文为attack begins at four,加密时明文中的空格去除。答:在英文26个字母中,密钥CIPHER这6个字母在26个英文字母中出现的位置用红色大写加下划线来表示,然后将这6个字母按照字母表中的先后顺序加上编号1 6: a b C d E f g H I j k l m n o P q R s t u v w x y z 1 2 3 4 5 6 然后在下表中,先写下密钥CIPHER,在密钥的每一个字母下面写下顺序号码。然后按行写下明文(从左到右、从上到下)。如图中的红箭头表示的先后顺序、和。请注意,到

2、现在为止,密钥起作用只是确定了明文每行是6个字母。密钥起作用的地方就是在生成密文时。在生成密文时,按照密钥给出的字母顺序,按列读出,如下图所示。第一次读出aba,第二次读出cnu,第三次读出aio,第四次读出tet,第五次读出tgf,第六次读出ksr。将所有读出的结果连起来,得出密文为: abacnuaiotettgfksr收到密文后,先按照密钥的字母顺序,按列写入(根据密钥含有的字母数就知道应当写成多少列),再按行自上而下读出,就可得出明文来。问题7-2:拒绝服务DOS (Denial Of Service) 和分布式拒绝服务DDOS (Distributed DOS)这两种攻击是怎样产生的

3、?答:拒绝服务DOS可以由以下几种方式产生(往往使用虚假的IP地址):(1) 向一个特定服务器非常快地发送大量任意的分组,使得该服务器过负荷因而无法正常工作。(2) 向一个特定服务器发送大量的TCP SYN报文段(即建立TCP连接的三次握手中的第一个报文段)。服务器还误以为是正常的因特网用户的请求,于是就响应这个请求,并分配了数据结构和状态。但攻击者不再发送后面的报文段,因而永远不能够完成TCP连接的建立。这样可以浪费和耗尽服务器的大量资源。这种攻击方式又称为SYN flooding(意思是使用同步标志进行洪泛)。(3) 重复地和一个特定服务器建立TCP连接,然后发送大量无用的报文段。(4)

4、将IP数据报分片后向特定服务器发送,但留一些数据报片不发送。这就使得目的主机永远无法组装成完整的数据报,一直等待着,浪费了资源。(5) 向许多网络发送ICMP回送请求报文(就是使用应用层的PING程序),结果使许多主机都向攻击者返回ICMP回送回答报文。无用的、过量的ICMP报文使网络的通信量急剧增加,甚至使网络瘫痪。这种攻击方式被称为smurf攻击。Smurf就是能够对网络自动发送这种ICMP报文攻击的程序名字。分布式拒绝服务DDOS的特点就是攻击者先设法得到因特网上的大量主机的用户账号。然后攻击者设法秘密地在这些主机上安装从属程序(slave program),如图所示。当攻击者发起攻击时

5、,所有从属程序在攻击者的主程序(master program)的控制下,在同一时刻向被攻击主机发起拒绝服务攻击DOS。这种经过协调的攻击攻击具有很大的破坏性,可以使被攻击的主机迅速瘫痪。在2000年2月美国的一些著名网站(如eBay, Yahoo,和CNN等)就是遭受到这种分布式拒绝服务的攻击。拒绝服务和分布式拒绝服务都是很难防止的。使用分组过滤器并不能阻止这种攻击,因为攻击者的IP地址是事先不知道的。当主机收到许多攻击的数据报时,很难区分开哪些是好的数据报,而哪些是坏的数据报。例如,当服务器收到请求建立TCP连接的SYN报文时,很难区分这是真的请求建立TCP连接,还是恶意消耗服务器资源的连接

6、请求。当攻击者使用IP地址欺骗时,要确定攻击者真正的IP地址也是很难的。F问题7-3:报文的保密性和报文的完整性有何不同?保密性和完整性能否只要其中的一个而不要另一个?答:报文的保密性和完整性是完全不同的概念。保密性的特点是:即使加密后的报文被攻击者截获了,攻击者也无法了解报文的内容。完整性的特点是:接收者收到报文后,知道报文没有被篡改。保密性和完整性都很重要。有保密性而没有完整性的例子:收到一份加密的报文“明日6时发起进攻”。攻击者破译不了被截获的报文,但随意更改了一些比特(攻击者也不知道更改后的密文将会使解码后得出的明文变成什么样子)。接收者收到的还是密文。他认为别人不会知道密文的内容,于

7、是用密钥将收到的密文进行解码,但得到的明文已经不再是原来的明文了。假定原来的明文是“明日8时发起进攻”,现在却变成了“明日6时发起进攻”,提前了2小时。当然也可能将被篡改的密文解码后变得看不懂意思的明文,在这种情况下也许还不致产生有危害的后果。有完整性而没有保密性的例子是对明文加上保证其完整性的措施。接收者收到明文后,就可以相信这就是发送者发送的、没有被篡改的报文。这个报文可以让所有的人都知道(不保密),但必须肯定这个报文没有被人篡改过。可见保密性并不是永远都需要的,但完整性往往总是需要的。这样的例子很多。大家都知道,人民日报所登载的新闻对全世界的所有人都是公开的,没有什么秘密可言。但报纸上的

8、新闻必须保证其完整性(读者不会怀疑报纸的印刷单位擅自改动了新闻的内容)。如果新闻被恶意地篡改了就会产生极其严重的后果。现在有些情况不允许使用电子邮件(例如导师给某个学校发送为某学生写的正式推荐信),并不是因为推荐信有多大的机密,而是因为没有使用数字签名的普通电子邮件,不能证明对方收到的电子邮件的确是某个导师写的并且没有被篡改过。而从邮局寄送的、写在纸上(特别是有水印的、只供单位使用的信纸上)有导师亲笔签名的推荐信,则一般都认为是可信赖的。以上这些都说明了保密性和完整性不是一个概念。总之,保密性是防止报文被攻击者窃取,而完整性是防止报文被篡改。F问题7-4:常规密钥体制与公钥体制最主要的区别是什

9、么?答:常规密钥体制的密钥是对称的。发送方使用的加密密钥和接收方使用的解密密钥是一样的,也都必须是秘密的。公钥体制的密钥是不对称的。发送方使用的加密密钥是公开的(向全世界公开),但接收方的解密密钥是秘密的,只有接收者才知道。F问题7-5:能否举一个实际的RSA加密和解密的例子?答:不行。我们知道,在RSA公钥密码体制中,加密密钥和解密密钥中都有一个大整数n,而n为两个大素数p和q的乘积(素数p和q一般为100位以上的十进数)。因此加密和解密的运算需要非常大的运算量。我们可以用一个能说明RSA工作原理的小例子使读者体会一下RSA计算量有多大。假定选择p = 5, q = 7。(显然这样小的素数是

10、根本不能用于实用的RSA的加密计算中。)这时,计算出n = pq = 5 7 = 35。 算出f(n) = (p - 1)(q - 1) = 24。从0, 23中选择一个与24互素的数e。现在我们选e = 5。然后根据公式ed = 1 mod f(n),得出ed = 5d = 1 mod 24找出d = 29, 因为ed = 5 29 = 145 = 6 24 + 1 = 1 mod 24。这样,公钥PK = (e, n) = 5, 35, 而秘钥SK = 29, 35。明文必须能够用小于n的数来表示。现在n = 35。因此每一个英文字母可以用1至26的数字来表示。假定明文是英文字母o,它是第

11、15个字母。因此明文X = 15。加密后得到的密文Y = Xe mod n = 155 mod 35 = 759375 mod 35 = (21696 35 + 15) mod 35 = 15。以上的计算还是很简单的。现在看一下解密的过程。在用秘钥SK = 29, 35进行解密时,先计算Yd = 1529。这个数的计算已经需要不少时间了。它等于12783403948858939111232757568359375。进行模35运算,得出1529 mod 35 = 15,而第15个英文字母就是o。原来发送的明文就是这个字母。从以上例子可以体会到使用的RSA加密算法的计算量是很大的。F问题7-6:要

12、进一步理解RSA密码体制的原理,需要知道哪一些数论的基本知识?答:数论研究的重点是素数。下面是与进一步理解RSA密码体制原理有关的一些基本概念。有了以下的一些基本知识,我们就能够进一步理解RSA密码体制的原理。v整除和因子: 如果a = mb,其中a、b、m为整数,则当b 0时,可以说b能整除a。换句话说,a除以b余数为0。符号b|a常用作表示b能整除a。当b|a时,b是a的一个因子。v素数:素数p是大于1且因子仅为 1和 p的整数。为简单起见,下面仅涉及非负整数。v互为素数: 整数a和b互素,如果它们之间没有共同的素数因子(即它们只有一个公因子1)。例如,8和15互素,因为1是8和15仅有的

13、公因子(8的因子是1,2,4和8,而15的因子是1,3,5和15,可见8和15的公因子是1)。v模运算:给定任一正整数n 和任一整数a,如果用a除以n,得到的商q和余数r,则以下关系成立:a = qn + r 0 r n; q = a/n其中 x 表示小于或等于x的最大整数。如果a是一个整数,而n是一个正整数,则定义a mod n 为a 除以n的余数。a mod n也可记为“a (模n)”。例如,30除以7的余数是2(30 = 4 7 + 2),可记为30 mod 7 = 2。注意:如果a mod n = 0,则n是的a一个因子。因为在模n运算下,余数一定在0到(n - 1)之间。因此,模n运

14、算将所有整数映射到整数集合0, 1. , (n 1)。这个整数集合又称为模n的余数集合Zn。因此余数集合Zn = 0, 1. , (n 1) (1)如果(a mod n)(b mod n),则称整数a和b模n同余,记为a b (mod n)。但通常mod n不必用括号括起来,也就是说,可以记为a b mod n。显然,a b mod n等价于b a mod n。例如,73 4 mod 23。显然,这里mod 23一定不能省略不写。模运算有一个性质很有用,即:如果n|(a b)(即n能够整除(a b)),则a b mod n。反之,如果a b mod n,则n能够整除(a b),即n|(a b)

15、。例如:23 8 = 15,而15能够被5整除,因此23 8 mod 5,即23和8是模5同余的。v模运算的一些性质: 1. (a mod n) + (b mod n) mod n = (a + b) mod n (2) 2. (a mod n) - (b mod n) mod n = (a - b) mod n (3) 3. (a mod n) (b mod n) mod n = (a b) mod n (4)以上的这些性质的证明都很简单,这里从略。下面举出一些例子。例如:11 mod 8 = 3; 15 mod 8 = 7(11 mod 8) + (15 mod 8) mod 8 = 3

16、+ 7 mod 8 = 10 mod 8 = 2(11 + 15) mod 8 = 26 mod 8 = 2(11 mod 8) - (15 mod 8) mod 8 = 3 7 mod 8 = -4 mod 8 = 4(11 - 15) mod 8 = -4 mod 8 = 4(11 mod 8) (15 mod 8) mod 8 = 3 7 mod 8 = 21 mod 8 = 5(11 15) mod 8 = 165 mod 8 = 5指数运算可看作是多次重复乘法。例如,计算1723 mod 55 = 1716+4+2+1 mod 55 = (1716 174 172 17) mod 5

17、5 = (1716 mod 55) (174 mod 55) (172 mod 55) (17 mod 55) mod 55172 mod 55 = 289 mod 55 = 14174 mod 55 = (172 mod 55) (172 mod 55) mod 55 = 14 14 mod 55 = 196 mod 55 = 311716 mod 55 = (174 mod 55) (174 mod 55) (174 mod 55) (174 mod 55) mod 55 = 31 31 31 31 mod 55 = 923521 mod 55= 16791 55 + 16 mod 55

18、= 16因此1723 mod 55 = 16 31 14 17 mod 55 = 118048 mod 55 = 2146 55 + 18 mod 55 = 18 下面的一个公式也很有用,读者可自行证明。 如果 (a b) mod n = (a c) mod n,则b mod n = c mod n 如果a与n互素。 (5)例如,(5 3) mod 8 = 15 mod 8 = 7 mod 8 (5 11) mod 8 = 55 mod 8 7 mod 8 则3 mod 8 = 11 mod 8但如果a与n不互素,则上述结论不能成立。例如,6 3 = 18 2 mod 8 6 7 = 42 2

19、 mod 8 但3 和7 并不是模8同余。v费马定理:如果p是素数,a是不能被p整除的正整数,则ap1 1 mod p (6)证明:这里要用到公式(1)给出的余数集合的概念。我们应当注意到,余数集合Zp中共有p个数。如果把0除外,则剩下的(p 1)个数是:1, 2,., (p 1) (7)将(7)式中的(p 1)个数分别乘以a模p,就得出如下的集合:a mod p, 2a mod p,., (p 1) a mod p (8)公式(8)中的(p 1)个数恰好是某种次序的1, 2,., (p 1)。例如,a = 5, p = 8, 则公式(8)是:5 mod 8, 10 mod 8, 15 mod

20、 8, 20 mod 8, 25 mod 8, 30 mod 8, 35 mod 8也就是5, 2, 7, 4, 1, 6, 3。(要从一般意义上证明这一点也很容易。这只需要证明公式(8)中的任意两个数的模p都是不同的数即可,读者可自行证明。)将公式(8)中的(p 1)个数相乘应当等于公式(7)中的(p 1)个数相乘:(a mod p) (2a mod p) . ( (p 1)a mod p) = (p 1)!两端取模p:(a mod p) (2a mod p) . ( (p 1)a mod p) mod p = (p 1)! mod p利用公式(4),可得出:(ap 1) (p 1)! mo

21、d p = (p 1)! mod p = 1 (p 1)! mod p利用公式(5),因为(p 1)!与p互素,因此可以从等式两端消去(p 1)!,即ap 1 mod p = 1 mod p或ap1 1 mod p这样就证明了费马定理。v欧拉函数:欧拉函数(Eulers totient function)记为f(n),f(n)表示小于n且与n互素的正整数个数。f(1)被定义为1,但没有实际意义。很显然,对于任一素数p,有f(p) = p 1 (9)例如,p = 11时,f(p) = 10,表示小于11且与11互素的正整数个数是10。 下面要证明一个有用的公式,就是假定有两个不同的素数p和q,则

22、对n = pq,有f(n) = f(pq) = f(p) f(q) = (p 1) (q 1) (10)这个公式就是教材上的公式(9-9)。在证明公式(10)之前可先看一个例子。假定p = 7,q = 11,则n = 77。要找出f(77)就要先找出小于77的正整数,它是76个(从1到76)。下一步就要将这76个整数中与77有大于1的公因子正整数去除。也就是说,将7, 14, 21, , 11, 22, 33,等都去除。因此下面就按照这样的思路证明公式(10)。f(n) = (pq 1) (p 1) (q 1) = pq p q + 1 = (p 1) (q 1) = f(p) f(q)用上面

23、的例子看一下,小于77且与77互素的正整数个数是f(77) = f(7) f(11) = 6 10 = 60,而这60个小于77并且与77互素的数是:1, 2, 3, 4, 5, 6, 8, 9. 10, 12, 13, 15, 16, 17, 18, 19, 20, 23, 24, 25, 26, 27, 29, 30, 31, 32, 34, 36, 37, 38, 39, 40, 41, 43, 45, 46, 47, 48, 50, 51, 52, 53, 54, 57, 58, 59, 60, 61, 62, 64, 65, 67, 68, 69, 71, 72, 73, 74, 7

24、5, 76。v欧拉定理: 对于任何互素的整数a和n有:af(n) 1 mod n (11) 可以代入一些数值看一下。a = 3, n = 10, 得出 f(n) = f(10) = 4, 算出34 = 81 1 mod 10。a = 2, n = 11, 得出 f(n) = f(11) = 10, 算出210 = 1024 1 mod 11。证明:如果n为素数,则此时f(n)(n 1),根据费马定理,公式(11)为真。如果n为任意整数,则我们也能够证明公式(11)为真。这时f(n)表示小于n且与n互素的正整数个数。设这样的整数集合为R:R = x1, x2, , xf(n)现在对该集合中的每个

25、整数乘以a模n:S = ax1 mod n, ax2 mod n, , axf(n) mod n 集合S是集合R的一个置换,原因如下:1. 因为a与n互素,xi也与n互素,则axi一定与n互素。因此,S中的所有数均小于n且与n互素。2. S中不存在重复的整数。因为根据公式(5),如果axi mod n = axj mod n,则xi = xj。 因此,集合S中所有的数的乘积应当等于集合R中所有的数的乘积:(ax1 mod n) (ax2 mod n) (axf(n) mod n) = (x1) (x2) (xf(n)两端都取模n,得(ax1 mod n) (ax2 mod n) (axf(n)

26、 mod n) mod n = (x1) (x2) (xf(n) mod n利用公式(4),得出:(ax1) (ax2) (axf(n) mod n = (x1) (x2) (xf(n) mod n(af(n) (x1) (x2) (xf(n) mod n = (x1) (x2) (xf(n) mod n因为(x1) (x2) (xf(n)与n 互素,因此可以消去(x1) (x2) (xf(n):(af(n) mod n = 1 mod n这样就证明了欧拉定理。 因为a与n互素,因此将上式两端都乘以a,这样就得出欧拉定理的另一种等价形式:(af(n) + 1) mod n = a mod n

27、(12)或写为:af(n) + 1 a mod n (13)F问题7-7:怎样证明RSA密码体制的解码公式?答:现在回顾一下RSA公开密钥密码体制的要点。 秘密选择两个大素数p和q,计算出n = pq。明文X n。 计算f(n) = (p - 1)(q - 1)。 公开选择整数e。1 e f(n)。e与f(n)互素。 秘密计算d,使得ed = 1 mod f(n)。 得出公开密钥(即加密密钥)PK = e, n,秘密密钥(即解密密钥)SK = d, n。 明文X加密后得到密文Y = Xe mod n。 密文Y解密后还原出明文X = Yd mod n这就是RSA密码体制的解码公式。下面就来证明R

28、SA密码体制的解码公式。Yd mod n = (Xe mod n)d mod n = Xed mod n (这里用到了问题7-6的公式(3))但ed = 1 mod f(n) 表示ed = kf(n) + 1,这里k任意整数。因此现在的问题就是要证明Xed mod n = Xkf(n) + 1 mod n是否等于X mod n。根据问题7-6中证明的欧拉定理的一个推论,就可很容易地证明上式。这个推论是这样的:给定两个素数p和q,以及整数n = pq和m,其中0 m n,则下列关系成立:mkf(n) + 1 = m(p - 1)(q - 1) + 1 m mod n (1)下面就来证明公式(1)

29、。根据问题7-6中欧拉定理的公式(13),如果m和n互素,则等式(1)显然成立。但如果m和n不是互素,则下面我们也可以证明等式(1)仍然成立。当m和n不是互素时,m和n一定有公因子。由于n = pq且p和q都是素数,因此当m和n不是互素时,我们一定有下面的结论:或者m是p的倍数,或者m是q的倍数。下面我们不妨先假定m是p的倍数,因此可记为m = kp,这里k是某个正整数。在这种情况下,m和q一定是互素的。因为如果不是这样,那么m一定是q的倍数(如果m是q的倍数,那么m就同时是p和q的倍数,这就和m n = pq的假定不符)。因此我们得出以下结论:如果m和n不是互素,若假定m是p的倍数,则m和q

30、一定是互素的。既然m和q互素,那么根据欧拉定理,我们有mf(q) 1 mod q显然,将左端乘以任何整数次方的模q还是等于1。因此mf(q)f(p) 1 mod q因为f(n) = f(pq) = f(p) f(q),所以上式变为mf(n) 1 mod q可见存在某个整数j使得mf(n) = 1 + jq将等式两端同乘以m = kp,并考虑到n = pq,得出mf(n) + 1 = kp + kpjq = m + kjn取模n,得出mf(n) + 1 mod n = m + kjn mod n = m mod n因此mf(n) + 1 m mod n这样就证明了公式(1),因而也就证明了RSA

31、的解密公式X = Yd mod n。F问题7-8:RSA加密能否被认为是保证安全的?答:RSA之所以被认为是一种很好的加密体制,是因为当选择足够长的密钥时,在目前还没有找出一种能够对很大的整数快速地进行因子分解的算法。这里请注意,“在目前还没有找出”并不等于说“理论上已经证明不存在这样的算法”。如果在某一天有人能够研究出对很大的整数快速地进行因子分解的算法,那么RSA加密体制就不能再使用了。F问题7-9:报文摘要并不对传送的报文进行加密。这怎么能算是一种网络安全的措施?不管在什么情况下永远将报文进行加密不是更好一些吗?答:报文加密并非网络安全的全部内容。我们知道,使用RSA公开密钥体制进行加密

32、时,往往需要花费很长的时间。当需要在网络上传送的报文并不要求保密但却不容许遭受篡改时,使用报文摘要就能够确保报文的完整性(因为这时仅仅对很短的报文摘要进行加密)。F问题7-10:不重数(nonce)是否就是随机数?答:它们并不完全一样。不重数是随机产生的,但只使用一次。可见要做到这点,这种随机数必须很大。随机数虽然是随机产生的,但隔一段时间后再产生的随机数就可能会重复。 F问题7-11:在防火墙技术中的分组过滤器工作在哪一个层次?答:。分组过滤器工作在网络层,但也可以把运输层包含进来。本来“分组”就是网络层的协议数据单元名称。防火墙中使用的分组过滤器就是安装在路由器中的一种软件。大家知道,路由

33、器工作在网络层。从这个意义上讲,分组过滤器当然也应当是工作在网络层。分组过滤器根据所设置的规则和进入路由器的分组的IP地址(源地址或目的地址)决定对该分组是否进行阻拦。这样的分组过滤器当然是工作在网络层。但是,为了增强分组过滤器的功能,一些分组过滤器不仅检查分组首部中的IP地址,而且进一步检查分组的数据内容,也就是说,检查运输层协议数据单元的首部。这主要是检查端口号。这样做的目的是可以进一步限制所通过的分组的服务类型。例如,阻拦所有从本单位发送出去的、向计算机192.50.2.18请求FTP服务的分组。由于FTP的熟知端口号是21,因此只要在分组过滤器的阻拦规则中写上“禁止到目的地址为192.50.2.18且目的端口号为21的所有分组”即可。因此,这样的分组过滤器不仅工作在网络层,而且还工作在运输层。从严格的意义上讲,这样的路由器已经不是仅仅单纯工作在网络层了。当然,像上面给出的规则,也可以由应用网关(即代理服务器)来实现。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!