为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

「《信息安全原理与技术》(第2版)习题答案」

2022-02-02 4页 doc 582KB 22阅读

用户头像 个人认证

洛幽幽

暂无简介

举报
「《信息安全原理与技术》(第2版)习题答案」《信息安全原理与技术》习题参考答案郭亚军,宋建华,李莉,董慧慧清华大学出版社第1章1.1 主动攻击和被动攻击是区别是什么?答:被动攻击时系统的操作和状态不会改变,因此被动攻击主要威胁信息的保密性。主动攻击则意在篡改或者伪造信息、也可以是改变系统的状态和操作,因此主动攻击主要威胁信息的完整性、可用性和真实性。1.2 列出一些主动攻击和被动攻击的例子。答:常见的主动攻击:重放、拒绝服务、篡改、伪装等等。常见的被动攻击:消息内容的泄漏、流量分析等等。1.3列出并简单定义安全机制的种类。答:安全机制是阻止安全攻击及恢复系统的机制,常见...
「《信息安全原理与技术》(第2版)习题答案」
《信息安全原理与技术》习参考答案郭亚军,宋建华,李莉,董慧慧清华大学出版社第1章1.1 主动攻击和被动攻击是区别是什么?答:被动攻击时系统的操作和状态不会改变,因此被动攻击主要威胁信息的保密性。主动攻击则意在篡改或者伪造信息、也可以是改变系统的状态和操作,因此主动攻击主要威胁信息的完整性、可用性和真实性。1.2 列出一些主动攻击和被动攻击的例子。答:常见的主动攻击:重放、拒绝服务、篡改、伪装等等。常见的被动攻击:消息内容的泄漏、流量等等。1.3列出并简单定义安全机制的种类。答:安全机制是阻止安全攻击及恢复系统的机制,常见的安全机制包括:加密机制:加密是提供数据保护最常用的方法,加密能够提供数据的保密性,并能对其他安全机制起作用或对它们进行补充。数字签名机制:数字签名主要用来解决通信双方发生否认、伪造、篡改和冒充等问题。访问控制机制:访问控制机制是按照事先制定的确定主体对客体的访问是否合法,防止未经授权的用户非法访问系统资源。数据完整性机制:用于保证数据单元完整性的各种机制。认证交换机制:以交换信息的方式来确认对方身份的机制。流量填充机制:指在数据流中填充一些额外数据,用于防止流量分析的机制。路由控制机制:发送信息者可以选择特殊安全的线路发送信息。公证机制:在两个或多个实体间进行通信时,数据的完整性、来源、时间和目的地等内容都由公证机制来保证。1.4安全服务模型主要由几个部分组成,它们之间存在什么关系。答:安全服务是加强数据处理系统和信息传输的安全性的一种服务,是指信息系统为其应用提供的某些功能或者辅助业务。安全服务模型主要由三个部分组成:支撑服务,预防服务和恢复相关的服务。支撑服务是其他服务的基础,预防服务能够阻止安全漏洞的发生,检测与恢复服务主要是关于安全漏洞的检测,以及采取行动恢复或者降低这些安全漏洞产生的影响。1.5说明安全目标、安全要求、安全服务以及安全机制之间的关系。答:见图1.4,全部安全需求的实现才能达到安全目标,安全需求和安全服务是多对多的关系,不同的安全服务的联合能够实现不同的安全需求,一个安全服务可能是多个安全需求的组成要素。同样,安全机制和安全服务也是多对多的关系,不同的安全机制联合能够完成不同的安全服务,一个安全机制也可能是多个安全服务的构成要素。1.6说明在网络安全模型中可信的第三方所起的作用。答:要保证网络上信息的安全传输,常常依赖可信的第三方,如第三方负责将秘密信息分配给通信双方,或者当通信的双方就关于信息传输的真实性发生争执时,由第三方来仲裁。第2章2.1、列出小于30的素数。2、3、5、7、11、13、17、19、23、292.2、若a是大于1的整数,则a的大于1的最小因子一定是素数。证明若a是素数,显然a的大于1的最小因子就是素数a; 若a是合数,则显然除1和a外还有其它的因数,令b是这些正因数中最小者, 可以证明b不是合数而是素数,若其不然, b必有大于1且不等于b的因数c,于是由c|b和b|c可知c|a,即c是a的因数,又有10;(4)f(a)≡f(b)(mod m),f(x)为任一整系数多项式。证明 (1)因为a≡b(mod m),c≡d(mod m),所以m|(a-b),m|(c-d),于是m|((a-b)x+(c-d)y),即m|((ax+cy)-(bx+dy)),故ax+cy≡bx+dy(modm)。(2)因为a≡b(mod m),c≡d(modm),所以m|(a-b),m|(c-d),于是m|((a-b)c+(c-d)b),即m|(ac-bd),故ac≡bd(modm)。(3)因为a≡b(modm),则存在整数q使得a-b=mq。于是:an-bn=(b+mq)n-bn=(bn+bn-1(mq)1+…+b1(mq)n-1+(mq)n)-bn=mp,其中p是一整数。所以an≡bn(modm)。(4)由(1)和(3)可证。2.14、求满足下面同余方程的解x≡1(mod 5),x≡5(mod6),x≡4(mod7),x≡10(mod11)解:令m1=5,m2=6,m3=7,m4=11,b1=1,b2=5,b3=4,b4=10。则m=2310,M1=462,M2=385,M3=330,M4=210。利用辗转相除法求得M1¢=-2,M2¢=1,M3¢=1,M4¢=1。所以,x≡1·(-2)·462+5·1·385+4·1·330+10·1·210≡4421≡2111(mod2310)2.15、求Z5中各非零元素的乘法逆元。解:1-1=1,2-1=3,3-1=2,4-1=42.16、类似于表2.2,用表列出有限域GF(5)中的加法和乘法运算解:表如下:加法01234001234112340223401334012440123乘法01234000000101234202413303142404321a-aa-100--1412333224142.17、对于系数在Z10上的取值的多项式运算,分别计算2.18、假设f(x)=x3+x+1在GF(2n)中是一个不可约多项式,a(x)=2x2+x+2,b(x)=2x2+2x+2,求a(x)b(x) 2.19、编程实现模n的快速指数运算。#include "stdafx.h"#include#include<iostream.h>intmain(intargc,char* argv[]){int m,e,n;printf("inputthefirst number:");ﻩcin>>e;ﻩprintf("inputthesecondnumber:");cin>>m;ﻩprintf("input thethird number:");cin>>n;ﻩint a=e,b=m,c=1;ﻩfor(a=e;a>0;){if(a%2==1){ a-=1;ﻩc=(c*b)%n;ﻩif(a==0)ﻩcout<intmain(intargc,char*argv[]){ﻩintm,d;cout<<"inputthe firstnumber:"<>m;ﻩcout<<"inputthesecondnumber:"<>d;ﻩinta[3]={1,0,m},b[3]={0,1,d};intQ;if(b[2]%a[2]>=0){ﻩﻩQ=b[2]/a[2];ﻩfor(inti=0;i<=2;i++){ intt[3];ﻩﻩt[i]=a[i]-Q*b[i];ﻩﻩ  a[i]=b[i];ﻩﻩb[i]=t[i];ﻩ}ﻩﻩif(b[2]==0)ﻩﻩ{ﻩ  cout<<"m和d的最大公因子是"<<b[2]<<","<<b[2]<<"没有逆元!"<<endl;ﻩ}ﻩelseif(b[2]==1){cout<<"m和d的最大公因子是"<方案
。解:(1)破解一个Hillm密码至少应该有m个不同的明文-密文对。(2)攻击方案为:假定攻击者已经确定了正在使用的m值,至少有m个不同的明-密文对设为:   对任意的,有。如果定义两个,则有矩阵方程Y=XK,其中矩阵K是未知密钥。假如矩阵X是可逆的,则攻击者可以算出,从而可以破译Hill密码(如果X不可逆,则必须重新选择m个明-密文对)。3.5用Hill密码加密消息”hill”,密钥为:并写出从密文恢复明文的解密过程。解:经计算设明文为Hill,则相应的明文向量为(7,8)和(11,11)。于是,相应的密文向量分别为因此,明文Hill的密文为XIYJ。3.6用一次一密加密消息“110111100”,选定的密钥是“111001”,试写出密文。解:密文=明文密钥=110001111010=1111113.7使用DES加密,假设明文和密钥都为(0123456789ABCDEF)16 =(00 01100111 1011101111)2(1)推导出第一轮的子密钥K1写出R0和L0扩展R0并计算E(R0)⊕K1将第(3)问的结果,输入到8个S盒,求出加密函数F推导出R1和L1解:(1)将密钥K经置换选择1,得 =1111010101010 0000 =10101111100000000左移1位后经置换选择2输出48为。=00 10(2)初始置换后,得到=1100110000 =1111011110(3)用扩展置换E将扩展为48位后,与异或E()=01110001000101110111110000(4)经过8个S盒输出32位S1(011100)=0000S2(000001)=0000S3(011100)=0010S4(100010)=1000S5(111000)=0011S6(010101)=1101S7(110111)=1000S8(110000)=1100经置换函数P,输出加密函数如下:F=00111 00100(5)由和计算出L1和R1  L1==1111011110R1=F=11001 110103.8在GF(28)上{01}的逆是什么?并验证其在S盒中的输入。解:在GF(28)上{01}的逆是{01},用二进制标识为00000001,代入S盒的变换,如下: 结果为01111100,用十六进制表示为{2A},与查S盒所得到结果一致。3.9假设AES的State矩阵的某一列分别是s0={87},s1={6E},s2={46},s3= {A6}。经过列混淆变换后,s1={6E}映射为s’1={37},试计算验证这一结果。解:第一列第2个字节的代换方程为{87}({02}{6E})({03}{46}){A6}={37}下面验证上面等式成立。用多项式表示为      那么  再模一个次数为8的不可约多项式结果为写成二进制为11011100。同样,计算出{03}{46}=11001010,{87}=10000111, {A6}=10100110。因此{87}({02}{6E})({03}{46}){A6}计算结果为       10000111    11011100    11001010 00110111={37}3.10采用AES加密,密钥为2B7E 15 1628AED2A6ABF7 1588 09CF 4F3C,明文为3243 F6AD885A 308D3131 98A2 E0370734(1)写出最初的State的值写出密钥扩展数组中的前8个字节写出初始轮密钥加后State的值写出字节代换后State的值写出行移位后的State的值写出列混淆后State的值解:(1)最初的State的值为: (2)K0=(W1,W2,W3,W4)=密钥扩展数组中前8个字节为W0,W1,即2b 7e 151628 ae d2a6(3)根据的计算公式,分别计算出各式,然后计算出K1。W4=SubByte(RotByte(W3))Rcon[1] W0  =SubByte(CF4F3C09)(01000000)(2B7E1516)   =(8A84EB01)(01000000) (2B7E1516)  =A0FAFE17 W5=W1W4=(28AED2A6)( A0FAFE17)=88542CB1  W6=W2W5=(ABF71588)( 88542CB1)=23A33939  W7=W3W6=(09CF4F3C)(23A33939)=2A6C7605 所以,得到第一轮子密钥K1为: 初始轮密钥加后,B1=B0+K0 ==(4)经过字节代换后,state的值为(5)经过行移位后,state的值为(6)经过列混淆变换后,state的值为3.11对习题3.10的明文和密钥不变,采用SMS4加密。(1)求出第一轮的轮密钥rk0。(2)求第一轮加密后的明文输出是什么?解:(1)SMS4加密算法的轮密钥由加密密钥通过密钥扩展算法生成,第一轮轮密钥rk0的计算过程如下:①首先,将加密密钥按字分为四组,分别为,,,已知: 根据,得出各个的值:=0010101101111110 0001 010100010110=1010001110110001101110101100 0110两者做异或运算后,得=10001000 110011111010111111010000同理计算,可以分别得=01111110 00000100 111000011111 0110=11001100 100010101000 010000011111=101110111011 11110110110111100000②然后,求出变换的输出:固定参数的十六进制表示为:00070e15,则通过异或运算==(0000 10010011011000000110 00011100)。十六进制表示为:0936061c。再将输出结果A分为四组进入S盒,通过查表,输出的十六进制为:b6e83d 49。利用公式,得=0001010110011010 011111111000101③最后,由公式知,将与步骤②求出的做异或运算,即可得到。=0001 010110011010011111111000 1010异或=10001000110011111010111111010000=100111010101 01011101000001011010,十六进制表示为:9d55 d05a。(2)根据SMS4加密算法,首先将十六进制明文 3243 f6 ad 885a30 8d31 3198a2e0 370734分组:。然后,根据第一轮轮密钥rk0的计算结果,已知加密函数F,得到第一轮输出数据。进行合成置换T运算中间值==(1100 0100000010010111 111101000001)。十六进制表示为:c4097f41。将输出结果A分为四组进入S盒,通过查表,输出中间值的十六进制为:bbb69e07。进行线性变换由公式得,=11110000101100011010000010110011。利用加密函数,将③式得到的结果与做异或运算,即=(0011 0010 0100 00111111011010101101)(1111 0000 1011 0001101000001011 0011 )=1100001011110010 0101 011000011110十六进制表示为:c2f2 56 1e。因此,得到第一轮的输出=885a308d3131 98 a2e03707 34 c2f2561e。3.12有一个四级线性移位寄存器的反馈函数为f(a1,a2,a3,a4)=a1⊕a2其中初态为(a1, a2,a3,a4)=(1000),求其则输出序列的前12位。解:四级移位存储器的输出如下所示:状态(a4,a3, a2,a1)输出状态(a4, a3,a2,a1)输出000110110010000101110100001011001001010010011110111100011100所以,输出序列的前12位是100010011010。3.13假如使用3位(从0到7)的RC4,其操作是对8取模(而不是对256取模),密钥是326,(1)求初始化后S表的值计算第1个密钥字用上面生成的密钥加密明文100101解:(1)数据表S只有8个元素。初始化为01234567  S0 1 2 345  6 7由密钥326构造密钥数据表如下:32632632 K 0 1 2345 67   利用如下循环构造实际S数据表。  j=0; fori=0to 7do   j=(j+S(i)+K(i))mod 8;  swap(S(i),S(j)); 该循环以j=0和i=0开始,使用更新公式后,  j=(0+S(0)+K(0))mod8=(0+0+3)mod8=3因此,S数据表的第一个操作是将S(0)和S(3)互换,互换结果如下:31204567    S 0 1234567  同样i加1后,继续执行此过程,直到循环结束。最后数据表S就被随机化为30527146    S 012 34  5 6 7  故初始化后S表的值为30527146  S  0 1 2 3  45  67(2)从j=0和i=0开始,下面计算第一个密钥字:  i=(i+1)mod8=(0+1)mod8=1   j=(j+S(i))mod8=(0+S(1))mod8=(0+0)mod8=0 Swap(S(1),S(0))   变换后数据表S变为03527146    S  012 3 45 6 7  然后如下计算t和k:  t=(S(i)+S(j))mod8=(S(1)+S(0))mod8=3    k=S(t)=2 所以第一个密钥字是2,其二进制表示为010。(3)在(2)的基础上重复(2)过程,此时i=1,j=0  i=(i+1)mod8=(1+1)mod8=2   j=(j+S(i))mod8=(0+S(2))mod8=(0+5)mod8=5  Swap(S(2),S(5))  变换后数据表S变为03127546      S0  12 34 5 67 然后如下计算t和k:    t=(S(i)+S(j))mod8=(S(2)+S(5))mod8=6   k=S(6)=4  所以第二个密钥字是4,其二进制表示为100。故,使用密钥100010加密明文100101,即异或得到密文000111。3.14在8位CFB模式中,如果传输中一个密文字符发生错误,这个错误将传多远?解:  错误将传9个字符。第4章4.1在使用RSA的公钥体制中,已截获发给某用户的密文为c=10,该用户的公钥e=5, n =35,那么明文m等于多少?为什么能根据公钥可以破解密文?解:n=p*q (p和q都是素数),n=35故解出p=5,q=7;Φ(n)=(p-1)*(q-1)=24;又因为e*d≡1modΦ(n),而e=5故可解出d=5;m=cdmodn=105 mod 35=5。因为RSA密码体制的安全性是基于分解大整数的困难性设计的。RSA算法的加密函数c=memodn是一个单项函数,故对于解密密文的陷门是分解n=p*q,只要知道这个分解就可以计算Φ(n)=(p-1)*(q-1),然后用扩展欧几里德算法来求计算解密私钥d。4.2利用RSA算法运算,如果p=11,q=13,e=103,对明文3进行加密.求d及密文。解:Φ(n)=(p-1)*(q-1)=10*12=120e*d≡1modΦ(n),而e=103故可解出d=7n=p*q=11*13=143c=memodn=3103mod 143=164.3在RSA体制中,某用户的公钥e=31,n=3599,那么该用户的私钥等于多少?解:n=p*q(p和q都是素数),n=3599故解出p=59 ,q=61; Φ(n)=(p-1)*(q-1)=3480; e*d≡1 modΦ(n),而e=31故可解出d=3031。   4.4在RSA体制中,假设某用户的公钥是3533,p=101,q=113,现对明文9726加密和解密。解:加密过程如下:n=p*q=11413;Φ(n)=(p-1)*(q-1)=11200;e*d≡1 modΦ(n),而e=3533故可解出d=6597;c=memod n=97263533mod11413=5761;   解密过程如下:m=cdmodn=57616597 mod11413=9726。4.5在ElGamal密码体制中,假设Alice想要将消息m=1299传送给Bob。Alice任选一个大素数p为2579,取g为101,选择保密的私钥x为237。   (1) 计算公钥y。 (2)求密文。(3)写出解密过程解:(1)y=gxmodp=101237mod2579=4; (2)选取一个r为853,计算密文为 C1=grmodp=101853 mod 2579=1559  C2=m*yrmodp=1299*4853 mod2579=1358  故密文为{1559,1358};(3)解密过程为:先计算w=(C1x)-1modp,再计算m=C2*wmodp。4.6选取模p为11下的椭圆曲线y2=x3+x+6,确定E(Z11)上的所有点。解:xx3+ x + 6 mod 11squarerootsmodp?y06no18no25yes4,733yes5, 648no54yes2,968no74yes2,989yes3, 897no104yes2,94.7取实数域椭圆曲线y2=x3-36x上的两个点p=(-3,9),Q =(12, 36),计算P+Q和2P。4.8利用ElGamal的椭圆曲线密码算法,设椭圆曲线是y2=x3-x+118.椭圆曲线上一个点,假设A选择一个秘密整数k=7。求:(1)A的公开密钥;(2)发送方B欲发送消息(562,201),选择随机数r=386.求密文。(3)给出A从密文恢复消息的计算过程。解:(1)设模数p=563,则B=kA=7A=( 139,465) ,A的公开密钥是(A,B) ; (2)密文为:(C1,C2)=(rA,M+rB)=(386(0,376),(562,201)+386(139,465))      =((458,314),(469,366))   (3)A从密文恢复消息的计算过程为:M=C2-7C1=(469,366)-7(458,314)=(469,366)-(73,71)=(469,366)+(73,492)=(562,201)4.9公钥密码一般用于传输对称密钥,现假设A和B之间需要传输数据,A产生一个会话钥,请回答下面问题:  (1)在事前通信发信者A应该得到什么密钥? (2)会话钥的作用是什么? (3) 写出一个密钥分配协议,并分析其安全性。解:(1)在事前通信发信者A应该得到会话钥;  (2)会话钥的作用是将需要传送的数据用会话钥加密;  (3)一个密钥分配协议如下:     1.A→B:EPUb(IDA||N1),   2.B→A:EPUa(N1||N2),  3.A→B:EPUb(N2+1),     4.B→A:EPUa(EPRb(Ks)),  这协议既可以保密又可以认证。4.10在Diffie-Hllman方法中,公共素数p=11,本原根α=2(1)如果用户A的公钥YA =9,则A的私钥XA为多少?(2)如果用户B的公钥YB= 3,则共享密钥K为多少?解:(1)YA=aXAmodp,则XA=6; (2)K=YBXAmodp=36 mod11=3。4.11两个用户A和B使用Diffie-Hellman密钥交换协议来交换密钥,假设公共素数p为71,本原根α为7。A和B分别选择秘密数为5和12。求共享的密钥。解:由题意得XA=5,XB=12,则 YA=aXAmod p=75mod71=51,    故K=YAXBmod p=5112mod71=30。4.12编写RSA加密和解密程序。解:intencrypt(intm,inte,intn){ intc,i,k=1;for(i=1;i<=e;i++) k=k*m;c=k%n;returnc; }intdecrypt(intc,intd,intn){ intm,i,k=1;for(i=1;i<=d;i++)k=k*c;m=k%n;returnm;}第5章5.1为什么需要消息认证?答:网络安全的威胁来自于两个方面:一是被动攻击,攻击者只是通过侦听和截取等手段被动的获取数据,并不对数据进行修改;一是主动攻击,攻击者通过伪造、重放、篡改、改变顺序等手段改变数据。对于这些应用中,仅提供保密性是远远不够的。认证则是防止主动攻击的重要技术。认证的目的主要有两个:第一,验证消息的发送者是合法的,不是冒充的,这称为实体认证,包括对信源、信宿等的认证和识别;第二,验证信息本身的完整性,这称为消息认证,验证数据在传送或存储过程中没有被篡改、重放或延迟等。SHA中使用的基本算术和逻辑函数是什么?答:SHA-512中最核心的处理就是对单个512分组处理的80轮的每一轮的处理,其运算如下定义:T1=h+Ch(e,f,g)+(∑1512e)+Wt+KtT2=(∑0512a)+Maj(a,b,c)a=T1+T2b=ac=bd=ce=d+T1f=eg=fh=g其中:t:步骤数,0≤t≤79。Ch(e,f,g)=(e ANDf)⊕(NOTeANDg) 条件函数,如果e,则f,否则g。Maj(a,b,c)=(a ANDb)⊕(aANDc)⊕(bANDc),函数为真仅当变量的多数(2或3)为真。(∑0512 a)=ROTR28(a)⊕ROTR34(a)⊕ROTR39(a)(∑1512 e)=ROTR14(e)⊕ROTR18(e) ⊕ROTR41(e)Wt:64位,从当前的512位消息分组导出Kt:64位常数+:模264加5.3一个安全的散列函数需要满足的特性有哪些?答:(1)H可以应用于任意长度的数据块,产生固定长度的散列值;(2) 对每一个给定的输入m,计算H(m)是很容易的;(3) 给定Hash函数的描述,对于给定的散列值h,找到满足H(m)=h的m在计算上是不可行的;(4)给定Hash函数的描述,对于给定的消息m1,找到满足m2¹m1且H(m2)=H(m1)的m2在计算上是不可行的;(5)找到任何满足H(m1)=H(m2)且m1 ¹m2的消息对(m1,m2)在计算上是不可行的。5.4什么是生日攻击?答:生日攻击方法没有利用Hash函数的结构和任何代数弱性质,它只依赖于消息摘要的长度,即Hash值的长度。这种攻击对Hash函数提出了一个必要的安全条件,即消息摘要必须足够长。ﻩYuval的生日攻击法描述如下:(1) 合法的签名方对于其认为合法的消息愿意使用自己的私钥对该消息生成的m位的散列值进行数字签名。(2)攻击者为了伪造一份有(1)中的签名者签名的消息,首先产生一份签名方将会同意签名的消息,再产生出该消息的2m/2种不同的变化,且每一种变化表达相同的意义(如:在文字中加入空格、换行字符)。然后,攻击者再伪造一条具有不同意义的新的消息,并产生出该伪造消息的2m/2种变化。(3)攻击者在上述两个消息集合中找出可以产生相同散列值的一对消息。根据“生日悖论”理论,能找到这样一对消息的概率是非常大的。如果找不到这样的消息,攻击者再产生一条有效的消息和伪造的消息,并增加每组中的明文数目,直至成功为止。(4)攻击者用第一组中找到的明文提供给签名方要求签名,这样,这个签名就可以被用来伪造第二组中找到的明文的数字签名。这样,即使攻击者不知道签名私钥也能伪造签名。5.5散列函数和消息认证码有什么区别?各自可以提供什么功能?答:消息认证码和散列函数都属于认证函数。简单来说,消息认证码是一种使用密钥的认证技术,它利用密钥来生成一个固定长度的短数据块,并将该数据块附加在消息之后。而散列函数是将任意长的消息映射为定长的hash值的函数,以该hash值作为认证符。散列函数也称为消息的“指纹”。但是散列函数用于认证时,通常和数字签名结合使用。它们都可以提供消息认证,认证内容包括:消息的源和宿;消息内容是否曾受到偶然的或有意的篡改;消息的序号和时间栏。5.6数字签名和散列函数的应用有什么不同?答:散列函数可以被称为是消息的“指纹”,它可以用来对于消息生成一个固定长度的短数据块。它可以和数字签名结合提供对消息的认证。由于数字签名算法在对长的消息进行签名的时候需要先分块再分别签名,速度很慢,所以采用对消息的散列值进行签名可以提供效率并提供认证。数字签名中需要使用私钥,只有拥有私钥的用户才可以提供数字签名,数字签名可以解决的问题包括:否认:发送方否认发送过或签名过某个消息;伪造:用户A伪造一份消息,并声称该消息来自B;冒充:用户A冒充其他用户接收或发送报文;篡改:消息接收方对收到的消息进行篡改。这些问题散列函数是单独解决不了的。5.7数字签名需要满足哪些条件?答:数字签名需要满足的条件包括:签名的结果必须是与被签名的消息相关的二进制位串;签名必须使用发送方某些独有的信息(发送者的私钥),以防伪造和否认;产生数字签名比较容易;识别和验证签名比较容易;给定数字签名和被签名的消息,伪造数字签名在计算上是不可行的。保存数字签名的拷贝,并由第三方进行仲裁是可行的。5.8给出几种数字签名技术,分析其优缺点。答:数字签名:DSA的安全性是建立在求解离散对数难题之上的,算法基于ElGamal和Schnorr签名算法,其后面发布的最新版本还包括基于RSA和椭圆曲线密码的数字签名算法。这里给出的算法是最初的DSA算法。只提供数字签名功能的算法,虽然它是一种公钥密码机制,但是不能像RSA和ECC算法那样还可以用于加密或密钥分配。仲裁数字签名:仲裁签名中除了通信双方外,还有一个仲裁方。发送方A发送给B的每条签名的消息都先发送给仲裁者T,T对消息及其签名进行检查以验证消息源及其内容,检查无误后给消息加上日期再发送给B,同时指明该消息已通过仲裁者的检验。因此,仲裁数字签名实际上涉及到多余一步的处理,仲裁者的加入使得对于消息的验证具有了实时性。盲签名:允许消息发送者先将消息盲化,而后让签名者对盲化的消息进行签名,最后消息拥有者对签名除去盲因子,得到签名者关于原消息的签名。它除了满足一般的数字签名条件外,还必须满足下面的两条性质:1. 签名者不知道其所签名的消息的具体内容。2.签名消息不可追踪,即当签名消息被公布后,签名者无法知道这是他哪次的签署的。盲签名主要用于电子商务等等领域。第6章6.1解释身份认证的基本概念。答:身份认证是指计算机及网络系统确认操作者身份的过程。它用来防止计算机系统被非授权用户或进程侵入,保证以数字身份进行操作的操作者就是这个数字身份合法的拥有者。6.2简述使用口令进行身份认证的优缺点。答:口令认证的优点就是简单,易于实现。口令认证的不足之处是容易受到攻击,主要的攻击方式有窃听、重放、中间人攻击、口令猜测等。6.3简述OpenID和OAuth认证协议的功能与区别。答:OpenID(OpenIdentity)是一个开放的、基于URI/URL的、去中心化的身份认证协议,也是一个开放的标准。通过OpenID,任何人都能够使用一个URL在互联网上用统一的方式来认证自己。一次注册,可以在多个网站上登录,从而实现了跨域的单点登录的功能,用户再无须进行重复的注册和登录。OAuth(OpenAuthorization)协议是一个开放的授权协议,其目标是为了授权第三方在可控范围下访问用户资源。OAuth和OpenID的区别在于应用场景的区别,OAuth用于为用户授权,是一套授权协议;OpenID是用来认证的,是一套认证协议。两者是互补的。一般支持OpenID的服务都会使用到OAuth。6.4解释访问控制的基本概念。答:访问控制规定了主体对客体访问的限制,并在身份识别的基础上,根据身份对提出资源访问的请求加以控制。访问控制决定了谁能够访问系统,能访问系统的何种资源以及如何使用这些资源。适当的访问控制能够阻止未经允许的用户有意或无意地获取数据。6.5有哪几种访问控制策略?答:根据控制策略的不同,访问控制可以划分为自主访问控制、强制访问控制和基于角色的访问控制三种。6.6什么是强制访问控制MAC策略?它的适用场合是什么?答:强制访问控制是指计算机系统根据使用系统的机构事先确定的安全策略,对用户的访问权限进行强制性的控制。强制访问控制进行了很强的等级划分,所以经常用于军事用途。6.7什么是自主访问控制DAC策略?它的安全性如何?答:自主访问控制是指对某个客体具有拥有权(或控制权)的主体能够将对该客体的一种访问权或多种访问权自主地授予其它主体,并在随后的任何时刻将这些权限回收。它的安全性不高,权限的传递可能会给系统带来安全隐患,无意间就可能泄露信息,而且不能防备特洛伊木马的攻击。6.8为什么MAC能阻止特洛伊木马?答:一个特洛伊木马是在一个执行某些合法功能的程序中隐藏的代码,它利用运行此程序的主体权限违反安全策略,通过伪装成有用的程序在进程中泄露信息。阻止特洛伊木马的策略是基于非循环信息流,所以在一个级别上读信息的主体一定不能在另一个违反非循环规则的安全级别上写,同样,在一个安全级别上写信息的主体一定不能在另一个违反非循环规则的安全级别上读。由于MAC策略是通过梯度安全标签实现信息的单向流通,因而它可以很好地阻止特洛伊木马的泄密。6.9简述什么是基于角色的访问控制RBAC。答:基于角色的访问控制是在用户和访问权限之间引入角色的概念,将用户和角色联系起来,通过对角色的授权来控制用户对系统资源的访问。第7章7.1简述Kerberos的基本工作过程。答:Kerberos的基本认证过程描述为:①用户想要获取访问某一应用服务器的许可证时,先以明文方式向认证服务器AS发出请求,要求获得访问TGS的许可证。②AS以证书(credential)作为响应,证书包括访问TGS的许可证和用户与TGS间的会话密钥。会话密钥以用户的密钥加密后传输。 ③用户解密得到TGS的响应,然后利用TGS的许可证向TGS申请应用服务器的许可证,该申请包括TGS的许可证和一个带有时间戳的认证符(authenticator)。认证符以用户与TGS间的会话密钥加密。 ④TGS从许可证中取出会话密钥、解密认证符,验证认证符中时间戳的有效性,从而确定用户的请求是否合法。TGS确认用户的合法性后,生成所要求的应用服务器的许可证,许可证中含有新产生的用户与应用服务器之间的会话密钥。TGS将应用服务器的许可证和会话密钥传回到用户。⑤用户向应用服务器提交应用服务器的许可证和用户新产生的带时间戳的认证符(认证符以用户与应用服务器之间的会话密钥加密)。 ⑥应用服务器从许可证中取出会话密钥、解密认证符,取出时间戳并检验有效性。然后向用户返回一个带时间戳的认证符,该认证符以用户与应用服务器之间的会话密钥进行加密。据此,用户可以验证应用服务器的合法性。7.2简述SSL握手的过程。答:SSL握手的详细过程如下:第一步:客户发出一个带有客户HELLO信息的连接请求。第二步:服务器评估客户方发来的HELLO信息中的各项参数,并且返回一个服务器方的HELLO信息,其中含有服务器选来用于SSL会话的各项参数。在服务器HELLO信息之后,服务器发出如下信息:①服务器证书,如果服务器需要被鉴别的话。②服务器密钥交换信息,如果得不到证书或证书仅仅用作签名的话。③证书请求,如果客户要求被鉴别的话。然后,服务器发出一个服务器HELLODONE信息,开始等待客户的回音。第三步:客户发送下列信息:①如果服务器发出了一个证书请求,那么客户方必须发送一个证书或非证书信息。②如果服务器发送了一个服务器密钥交换信息,那么客户方就发送一个基于公钥算法的由HELLO信息决定的密钥交换信息。③如果客户方已经发送了一个证书,那么客户方就需验证服务器方的证书并且发出一个证书验证信息指明结果。然后,客户方发出一个结束信息,指出协商过程已经完成。客户方还发送一个修改密文规约信息来产生共享的常规密钥。应该注意这部分工作不是由握手协议控制,是由修改密文规约协议管理的。第四步:服务器发出一个结束信息指出协商阶段完成。然后服务器发出一个密文修改规约信息。第五步:会话双方分别产生一个加密密钥,然后他们再根据这些密钥导出会话主密钥。握手协议改变状态至连接状态。所有从应用层的来的数据传输作为特定信息传输给对方。7.3IPSec中,ESP和AH分别有什么作用?答:在IPSec安全协议组中,ESP规定了为通信提供机密性和完整性保护的具体方案,包括ESP载荷的格式、语义、取值以及对进入分组和外出分组的处理过程等。ESP涉及到密码学中的核心组件——加密和鉴别算法。AH协议定义了认证的应用方法,提供数据源认证和完整性保证。AH协议规定了AH头在AH实现中应插入IP头的位置、AH头的语法格式、各字段的语义及取值方式,以及实施AH时进入和外出分组的处理过程。AH机制涉及到密码学中的核心组件——鉴别算法。7.4AH的传输模式与隧道模式有何区别?答:传输模式的AH中,封装后的分组IP头仍然是原IP头、只是IP头的协议字段由原来的值变为51,表示IP头后紧接的载荷为AH载荷。在隧道模式的AH中,不是将原始的IP协议头移到最左边然后插入AH协议头,而是复制原始IP协议头,并将复制的IP协议头移到数据报最左边作为新的IP协议头。随后在原始IP协议头与IP协议头的副本之间放置AH协议头。原始IP协议头保持原封不动,并且整个原始IP协议头都被认证或由加密算法进行保护。7.5ESP的传输模式与隧道模式有何区别?答:ESP传输模式中,IP协议头被调整到数据报左边,并插入ESP协议头。ESP协议尾以及ICV(完整性校验值,用于认证)被附加在数据报末端。如果需要加密,仅对原始数据和新的ESP协议尾进行加密。认证从ESP协议头一直延伸到ESP协议尾。在ESP隧道模式下,原数据包(包括原IP报头和数据)被封装在ESP报头和ESP报尾之间,外边附上了新的IP报头。在这种模式下,加密部分为原IP数据包和ESP报尾,完整性检查部分为ESP报头、原IP数据包以及ESP报尾。7.6电子邮件存在哪些安全性问题?答:电子邮件安全问题主要包括两个方面:一是电子邮件服务器的安全,包括网络安全以及如何从服务器端防范和杜绝垃圾邮件、病毒邮件和钓鱼邮件等,这些是电子邮件服务的基本要求;二是电子邮件内容安全性的问题,即如何确保电子邮件用户的电子邮件内容不会被非法窃取、非法篡改、发信方和收信方不能否认对邮件的发送和接收行为,以及如何防止非法用户登录合法用户的电子邮件账号等。7.7PGP加密电子邮件时,邮件的主题和附件是否被加密?答:PGP在进行邮件加密时常常与邮件收发软件一起使用,如OutlookExpress。加密邮件时,邮件的主题不能加密,否则接收方不知道是哪个用户传的邮件,附件是被加密的。第8章8.1PKI的主要组成是什么?它们各自的功能各是什么?答:PKI主要组成部分包括:包括PKI策略、软硬件系统、认证机构(Certificate Authority,简称CA)、注册机构(RegisterAuthority,简称RA)、证书发布系统和PKI应用接口等。结构图参考教材图7.2和7.3。各自的功能如下:PKI安全策略建立和定义了一个信息安全方面的指导方针,同时也定义了密码系统使用的处理方法和原则。证书机构CA是PKI的信任基础,它管理公钥的整个生命周期,其作用包括:发放证书、规定证书的有效期和通过发布证书撤销列表(CertificateRevocationLists,简称CRL)确保必要
/
本文档为【「《信息安全原理与技术》(第2版)习题答案」】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索