信息安全概论课后答案.docx
《信息安全概论课后答案.docx》由会员分享,可在线阅读,更多相关《信息安全概论课后答案.docx(27页珍藏版)》请在冰豆网上搜索。
信息安全概论课后答案
四45五3六57十4十一34十二47没做
“信息安全理论与技术”习题及答案
教材:
《信息安全概论》段云所,魏仕民,唐礼勇,陈钟,高等教育出版社
第一章概述(习题一,p11)
1.信息安全的目标是什么?
答:
信息安全的目标是保护信息的机密性、完整性、抗否认性和可用性;也有观点认为是机密性、完整性和可用性,即CIA(Confidentiality,Integrity,Availability)。
机密性(Confidentiality)是指保证信息不被非授权访问;即使非授权用户得到信息也无法知晓信息内容,因而不能使用
完整性(Integrity)是指维护信息的一致性,即信息在生成、传输、存储和使用过程中不应发生人为或非人为的非授权簒改。
抗否认性(Non-repudiation)是指能保障用户无法在事后否认曾经对信息进行的生成、签发、接收等行为,是针对通信各方信息真实同一性的安全要求。
可用性(Availability)是指保障信息资源随时可提供服务的特性。
即授权用户根据需要可以随时访问所需信息。
2.简述信息安全的学科体系。
解:
信息安全是一门交叉学科,涉及多方面的理论和应用知识。
除了数学、通信、计算机等自然科学外,还涉及法律、心理学等社会科学。
信息安全研究大致可以分为基础理论研究、应用技术研究、安全管理研究等。
信息安全研究包括密码研究、安全理论研究;应用技术研究包括安全实现技术、安全平台技术研究;安全管理研究包括安全标准、安全策略、安全测评等。
3.信息安全的理论、技术和应用是什么关系?
如何体现?
答:
信息安全理论为信息安全技术和应用提供理论依据。
信息安全技术是信息安全理论的体现,并为信息安全应用提供技术依据。
信息安全应用是信息安全理论和技术的具体实践。
它们之间的关系通过安全平台和安全管理来体现。
安全理论的研究成果为建设安全平台提供理论依据。
安全技术的研究成果直接为平台安全防护和检测提供技术依据。
平台安全不仅涉及物理安全、网络安全、系统安全、数据安全和边界安全,还包括用户行为的安全,安全管理包括安全标准、安全策略、安全测评等。
这些管理措施作用于安全理论和技术的各个方面。
第二章密码学概论(习题二,p20)
杨越越
1.概念解释:
分组密码、流密码、对称密码、非对称密码
答:
分组密码:
对明文的加密有两种形式,其中一种是先对明文消息分组,再逐组加密,称之为分组密码.
流密码:
对明文的加密有两种形式,其中一种是对明文按字符逐位加密,称之为流密.
对称密码:
密码系统从原理上分为两大类,即单密钥系统和双密钥系统,单密钥系统又称为对称密码系统或秘密密钥密码系统,单密钥系统的加密密钥和解密密钥或者相同,或者实质上等同,即易于从一个密钥得出另一个.
非对称密码:
双密钥系统又称为非对称密码系统或公开密码系统.双密钥系统有两个密钥,一个是公开的,用K1表示,谁都可以使用;另一个是私人密钥,用K2表示,只由采用此系统的人自己掌握.
2.设a~z的编号为1~26,空格为27,采用凯撒(Kaesar)密码算法为C=k1M+k2,取k1=3,k2=5,M=PekingUniversity,计算密文C.
答:
M=PekingUniversity
C=ztketzentqtehekz(ovhuykomtiyerhuywcshoanrdh)
3.设a~z的编号为1~26,空格为27,采用Vigenere方案,密钥长度与消息相同,给出密文:
ANKYODKYUREPFJBYOJDSPLREYIUNOFDOIUERFPLUYTS
分别找出对应下列两组明文的密钥:
(a)MRMUSTARDWITHTHECANDLESTICKINTHEHALL
(b)MISSSCARLETWITHTHEKNIFEINTHELIBRARY
答:
(a)owklulrxcnetxquyvbzsmkdamdbufctoigeyyklmxhg
(b)oesfolfxctewfntdgjdhgruqioioxkopmersgjcxbt
4.构造一个用选择明文破译Hill算法的例子。
第三章对称密码体制(习题三,p49)
高会贤
1.证明DES解密过程是加密过程的逆过程。
证明:
由于DES算法是在Feistel网络结构的输入和输出阶段分别初始置换IP和初始逆置换IP-1而构成的。
因此要证DES的解密过程是加密过程的逆过
程,可以先证Feistel网络结构中的解密过程是加密过程的逆过程。
证明如下:
加密过程是:
将明文P等分成两半L0和R0,进行L轮迭代。
按下列规则计算LiRi,1≤i≤L,Li=Ri-1,Ri=Li-1F(Ri-1,Ki)进行L轮迭代运算后,将Ll和Rl再交换,输出密文分组。
轮函数为F。
解密过程与加密过程采用相同的算法。
将密文分组C=RlLl等分成两半记为L0¹和R0¹。
按下述规则计算Li¹Ri¹,1≤i≤l,Li¹=Ri-1¹,Ri¹=Li-1¹F(Ri-1¹,Ki¹),最后输出Rl¹Ll¹。
这里Ki¹=Kl-1,只用证明Rl¹=L0和Ll¹=R0即可。
显然,L0¹=Rl且R0¹=Li,根据加、解密规则,有
L1¹=R0¹=Ll=Rl-1,Rl¹=L0¹F(R0¹,Kl¹)=RlF(Ll,Kl-1)=Ll-1
L2¹=R1¹=Ll-1=Rl-2,R2¹=L1¹F(R1¹,K2¹)=Rl-1F(Ll-1,Kl-2)=Ll-2
递归,有
L¹l-1=R¹l-2=L2=R1,R¹l-l=L¹l-2F(R¹l-2,K¹l-1)=R2F(L2,K1)=L1
L1¹=R¹l-1=Ll=R0,Rl¹=L¹l-1F(R¹l-1,Kl)=Rl¹F(Ll,K0)=L0
这就验证了解密过程的正确性。
2.编制一个DES算法,设密钥为SECURITY,明文为NETWORKINFORMATIONSECURITY,计算密文,并列出每一轮的中间结果。
3.M′是M的逐位补,证明Y′=DESK′(X′),即明文、密钥取补后加密结果等于原密文的补。
4.AES算法采用什么结构?
与DES算法结构有何区别?
答:
AES算法采用SP网络结构,轮变换是由三个不同的可逆一致变换组成,称之为层。
不同层的选择建立在宽轨迹策略的应用基础上每层都有它自己的函数。
这三层分别是线性混合层,非线性层和密钥加层。
而DES采用的是Feistel网络结构,中间状态的部分比特不加改变简单转置到下一轮的其他位置。
5.如果在8比特的CFB方式下密文字符的传输中发生1比特的差错,这个差错会传播多远?
答:
出现的这1比特的差错会影响到以后各明文单元。
因为在CFB模式下,传输过程中的比特错误会被传播。
6.描述流密码的密钥生成过程。
a)p=答:
利用密钥K生成一个密钥流Z=Z0Z1…,密钥流生成器f产生:
Z=f(K,σi),这里的σi是加密器中的记忆元件(存储器)在时刻i的状态,f是由密钥K和σi生成的函数,而σi(i>0)可能依赖于k,σ0,x0,x1,…,xi-1等参数。
第四章公钥密码体制(习题四p60)
郭跃斌
1.应用RSA算法对下列情况进行加/解密,并比较计算结果:
3,q=11,d=7;M=5;
解:
n=pq=3*11=33,φ(n)=(p-1)(q-1)=2*10=20
由de=1modφ(n),可得
7e=1mod20
∵3*7=20+1
∴e=3
M
=5
=26mod33,得到密文C=26
C
=26
=5mod33,得到明文M=5
b)p=5,q=11,e=3;M=9
解:
n=pq=5*11=55,φ(n)=(p-1)(q-1)=4*10=40
由de=1modφ(n),可得
3d=1mod40
∵3*27=4*20+1
∴d=27
M
=9
=14mod55,得到密文C=14
C
=14
=9mod55,得到明文M=9
c)p=7,q=11,e=17;M=8
解:
n=pq=7*11=77,φ(n)=(p-1)(q-1)=6*10=60
由de=1modφ(n),可得
17d=1mod60
∵17*53=15*60+1
∴d=53
M
=8
=57mod77,得到密文C=57
C
=57
=8mod77,得到明文M=8
d)p=11,q=13,e=11;M=7
解:
n=pq=11*13=143,φ(n)=(p-1)(q-1)=10*12=120
由de=1modφ(n),可得
11d=1mod120
∵11*11=120+1
∴d=11
M
=7
=106mod143,得到密文C=106
C
=106
=7mod143,得到明文M=7
e)p=17,q=31,e=7;M=2
解:
n=pq=17*31=527,φ(n)=(p-1)(q-1)=16*30=480
由de=1modφ(n),可得
7d=1mod480
∵7*343=5*480+1
∴d=343
M
=2
=128mod527,得到密文C=128
C
=128
=2mod527,得到明文M=2
2.设截获e=5,n=35的用户密文C=10,请问M是多少?
解:
由n=35,可知pq=5*7=35,即p=5,q=7
∴φ(n)=(p-1)(q-1)=4*6=24
由de=1modφ(n),可得
5d=1mod24
∵5*5=24+1
∴d=5
C
=10
=5mod35,得到明文M=5
3.对于RSA算法,已知e=31,n=3599,求d。
解:
由n=3599,可知pq=59*61=3599,即p=59,q=61
∴φ(n)=(p-1)(q-1)=58*60=3480
由de=1modφ(n),可得
31d=1mod3480
∵31*3031=27*3480+1
∴d=3031
4.在RSA算法中,如果经过有限的几次重复编码之后又得到明文,那么,可能的原因是什么?
解:
5.对于椭圆曲线y=x
+x+6,考虑点G=(2,7),计算2G到3G的各倍数值。
解:
6.对于椭圆曲线y=x
+x+6,考虑点G=(2,7),已知秘密密钥n=7,计算
a)公开密钥P
;
b)已知明文P
=(10,9),并选择随机数k=3,确定密文C
解:
a)P
=nG=7*(2,7)=(14,49)
b)C
=(kG,P
+kP
)=(3*(2,7),((10,9)+3*(14,49)))
=((6,21),(52,156))
第五章消息认证与数字签名(习题五,p75)
孙利涛
1.散列函数应该满足哪些性质?
答:
(1)h能用于任何大小的数据分组,都能产生定长的输出
(2)对于任何给定的x,h(x)要相对容易计算
(3)对任何给定的散列码h,寻找x使得h(x)=h在计算上不可行(单向性)
(4)对任何给定的分组x,寻找不等于x的y,使得h(x)=h(y)在计算上不可行(弱抗冲突).
(5)寻找任何的(x,y)使得h(x)=h(y)在计算上不可行(强冲突).
2.给出一种利用des构造散列函数的算法
答:
(1)将m分成固定长度为64比特的分组,分组个数为L个,记为:
Y0,Y1,Y2….
YL-1
(2)初始化v1=cv0
(3)for(I=1;Icvi=f(cvi-1,Yi-1)
(4)h=H(m)=cvL
3.编制一个程序,用sha-1计算自选文件的散列值
解:
4.比较nd5与sha-1
答:
Mn5
Sha-1
消息摘要长度
128比特
160比特
分组长度
512比特
512比特
步骤数
64(4个16步的循环)
80(4个20步的循环)
消息最大长度
无穷
2的64方减1
基本逻辑函数个数
4
4
加法常数个数
64
4
数据存储方式
低位字节优先
高位字节优先
5.比较dsa和rsa算法
答:
(1)用dsa实现数字签名的方法中,将要签名的消息作为一个散列函数的输入,产生一个定长的安全散列码。
使用签名者的私有密钥对这个散列码进行加密就形成签名,签名附在消息后;而在rsa算法中,签名方先选择全局共钥和用户私钥共钥,然后利用随机数k,对消息m计算两个分量:
r,s.生成签名。
(2)对于dsa,验证者根据消息产生一个散列码,同时使用签名者的公开密钥对签名进行解密。
如果计算得出的散列码和解密后的签名匹配,那么签名就是有效的。
而在rsa算法中,接收方先根据收到的消息签名,公钥等值进行计算,然后进行比较,若相等则接受签名。
6.在dsa中,如果计算结果s=0,则必须重新选k,重新计算,为什么?
答:
r与s是生成签名是产生的两个分量,相应r’与s’是计算签名验证时候需要输入的两个分量,如果s=0,那么s’也为0,这样在进行验证的时候就失效了.所以,必须重新选择k,使得s计算结果不为0.
第六章密码应用与密钥管理(习题六,p97)
王开雷
1.试述并图示采用RSA、DES及SHA-1算法保护信息的机密性、完整性和抗否认性的原理。
答:
RSA加密算法使用了两个非常大的素数来产生公钥和私钥。
即使从一个公钥中通过因数分解可以得到私钥,但这个运算所包含的计算量是非常巨大的,以至于在现实上是不可行的。
加密算法本身也是很慢的,这使得使用RSA算法加密大量的数据变的有些不可行。
这就使得一些现实中加密算法都基于RSA加密算法。
最著名的保密密钥或对称密钥加密算法DES(DataEncryptionStandard)是由IBM公司在70年代发展起来的,并经过政府的加密标准筛选后,于1976年11月被美国政府采用,DES随后被美国国家标准局和美国国家标准协会(AmericanNationalStandardInstitute,ANSI)承认。
DES使用56位密钥对64位的数据块进行加密,并对64位的数据块进行16轮编码。
与每轮编码时,一个48位的“每轮”密钥值由56位的完整密钥得出来。
DES用软件进行解码需要用很长时间,而用硬件解码速度非常快,但幸运的是当时大多数黑客并没有足够的设备制造出这种硬件设备。
在1977年,人们估计要耗资两千万美元才能建成一个专门计算机用于DES的解密,而且需要12个小时的破解才能得到结果。
所以,当时DES被认为是一种十分强壮的加密方法。
但是,当今的计算机速度越来越快了,制造一台这样特殊的机器的花费已经降到了十万美元左右,所以用它来保护十亿美元的银行间线缆时,就会仔细考虑了。
另一个方面,如果只用它来保护一台服务器,那么DES确实是一种好的办法,因为黑客绝不会仅仅为入侵一个服务器而花那么多的钱破解DES密文。
由于现在已经能用二十万美圆制造一台破译DES的特殊的计算机,所以现在再对要求“强壮”加密的场合已经不再适用了。
三重DES
因为确定一种新的加密法是否真的安全是极为困难的,而且DES的唯一密码学缺点,就是密钥长度相对比较短,所以人们并没有放弃使用DES,而是想出了一个解决其长度问题的方法,即采用三重DES。
这种方法用两个密钥对明文进行三次加密,假设两个密钥是K1和K2,其算法的步骤如图5.9所示:
1)用密钥K1进行DEA加密。
2)用K2对步骤1的结果进行DES解密。
3)用步骤2的结果使用密钥K1进行DES加密。
这种方法的缺点,是要花费原来三倍时间,从另一方面来看,三重DES的112位密钥长度是很“强壮”的加密方式了。
图示:
2.说明密钥的分类和作用
答:
从网络应用来看,密钥一般分为以下几类:
基本密钥,会话密钥,密钥加密密钥和主机密钥等。
(1)基本密钥:
基本密钥又称初始密钥,是由用户选定或由系统分配,可在较长时间内由一对用户专门使用的秘密密钥,也称为用户密钥.基本密钥既安全,又便于更换.基本密钥与会话密钥一起用于启动和控制密钥生成器,从而生成用于加密数据的密钥流.
(2)会话密钥:
会话密钥即两个通信终端用户在一次通话或交换数据时所用的密钥。
当用于对传输的数据进行保护时称为数据加密密钥,而用于保护文件时称为文件密钥,会话密钥的作用是使人们不必太频繁地更换基本密钥,有利于密钥的安全和管理。
这类密钥可由双方预先约定,也可由系统通过密钥建立协议动态地生成并赋予通信双方,它为通信双方专用,故又称为专用密钥。
(3)密钥加密密钥:
用于对传送的会话或文件密钥进行加密时采用的密钥,也称为次主密钥、辅助密钥或密钥传送密钥。
每个节点都分配有一个这类密钥。
为了安全,各节点的密钥加密密钥应该互不相同。
每个节点都须存储有关到其他各节点和本节点范围内各终端所用的密钥加密密钥,而各终端只需要一个与其节点交换会话密钥时所需要的密钥加密密钥,称为终端主密钥。
(4)主机主密钥:
是对密钥加密密钥进行加密的密钥,存在主机处理器中。
3.设进行一次解密的时间是1微妙,计算用穷举法破译64比特、128比特和256比特长度的密码分别需要多少年。
答:
进行解密的时间是1微妙,也就是1秒内能破译100万个密钥,64比特的密钥有2的64次方个穷举对象,一年有365*24*60*60=31536000秒,所以破译64比特密钥长度的密码需要584942年,同理,破译128比特密钥长度的密码需要1169885年,破译256钥长度的密码需要2339770年。
4.为什么常用对称算法加密数据,而用非对称算法分配密钥?
答:
加密技术通常分为两大类:
“对称式”和“非对称式”。
对称式加密就是加密和解密使用同一个密钥,通常称之为“Session Key ”这种加密技术目前被广泛采用,如美国政府所采用的DES加密标准就是一种典型的“对称式”加密法,它的Session Key长度为56Bits。
非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件。
这里的“公钥”是指可以对外公布的,“私钥”则不能,只能由持有人一个人知道。
它的优越性就在这里,因为对称式的加密方法如果是在网络上传输加密文件就很难把密钥告诉对方,不管用什么方法都有可能被别窃听到。
而非对称式的加密方法有两个密钥,且其中的“公钥”是可以公开的,也就不怕别人知道,收件人解密时只要用自己的私钥即可以,这样就很好地避免了密钥的传输安全性问题。
5.授权监听是如何实现的?
答:
6.说明CA层次模型中信任建立过程。
答:
在这个层次模型中,根CA将它的权利授予给多个子CA,这些子CA再将它们的权利授给它们的子CA,这个过程直至某个CA实际颁发了某一证书。
一个终端实体A可以如下检验另一个终端实体B的证书。
假设B的证书由子CA3(公钥K3)签发,子CA3的证书由子CA2(公钥K2)签发,子CA2的证书由子CA!
(公钥为K1)签发,子CA1的证书由根CA(公钥为K)签发,拥有K的终端实体A可以利用K来验证子CA1的公钥K1,然后利用K1来验证子CA2的公钥K2,再利用K2来验证子CA3的公钥K3,最终利用K3来验证B的证书。
7.试述一次完整的数字证书的颁发和使用过程。
解:
第七章身份认证(习题七,p113)
孟范静
1.试述零知识证明的原理
答:
P是示证者,V表示验证者,P试图向V证明自己知道某信息。
则使用某种有效的数学方法,使得V相信P掌握这一信息,却不泄漏任何有用的信息,这种方法被称为零知识证明问题。
零知识证明可以分为两大类:
最小泄漏证明和零知识证明
最小泄漏证明需要满足:
1)P几乎不可能欺骗V:
如果P知道证明,他可以使V以极大的概率相信他知道证明;如果P不知道证明,则他使得V相信他知道证明的概率几乎为零。
2)V几乎不可能不知道证明的知识,特别是他不可能向别人重复证明的过程
零知识证明除了要满足以上两个条件之外,还要满足第三个条件:
3)V无法从P那里得到任何有关证明的知识。
2.在身份认证中如何对抗重放攻击?
在基于时间戳的认证中,当时钟不同步时,如何实现身份欺骗?
答:
防止重放攻击的常用方式有时间戳方式和提问/应答方式两种。
时间戳方式的基本思想是:
A接受一个新消息当且仅当该消息包括一个时间戳,并且该时间戳在A看来是足够接近A所知道的当前时间。
提问/应答方式的基本思想是:
A期望从B获得一个新消息,首先发给B一个临时值,并要求后续从B收到的消息中包括这个临时值或是由这个临时值进行某种事先约定的计算后的正确结果。
时间戳方式要求时钟同步,如果发送者得时钟比接收者的时肿块,攻击者就可以从发送者处窃听消息,并等待时间戳对接受者来说成为当前时刻时重放给接收者,这种重放将会得到意想不到的后果。
这类攻击称为抑制重放攻击。
3.安全的口令应该满足哪些原则?
答:
长度最少在8位以上, 且必须同时包含字母、数字、特殊字符,口令必须定期更改,且最好记在心里,除此以外不要在任何地方做记录;另外,如果在日志审核中发现某个口令被连续尝试,则必须立刻更改此口令
4.试述采用challenge/response与一次性口令的区别
答:
一次性口令的主要思路是:
在登录过程中加入不确定因素,使每次登录过程中传送的信息都不相同,以提高登录过程安全性。
例如:
登录密码=MD5(用户名+密码+时间),系统接收到登录口令后做一个验算即可验证用户的合法性;而提问/应答方式的基本思想是:
A期望从B获得一个新消息,首先发给B一个临时值,并要求后续从B收到的消息中包括这个临时值或是由这个临时值进行某种事先约定的计算后的正确结果。
5.描述采用CHAP和RADIUS进行拨号接入的完整的身份认证流程
答:
CHAP的具体的认证过程是:
1)链路建立完成后,认证者发给被认证者一个challenge,这个challenge具有唯一的标识符。
2)被认证这一challenge作为一个单向Hash函数的输入,计算出response,发回给认证者,消息中还包括challenge的标识符。
因为有可能认证这收不到response,所以response是可以重发的,同时为了说明这个response是哪个challenge的应答,其中要包含challenge的标识符。
3)认证者比较收到的response和自己的计算结果是否相同,然后发送一个成功或者失败的消息给被认证者。
被认证者发送response之后如果一定时间以后仍旧收不到成功或者失败的结果,就会重发response。
RADIUS的流程如下:
1)RADIUS客户机向RADIUS服务器发送Access-Request包,内容包括用户名,加密口令,客户机的地址和端口号,以及用户想要启动的会话类型;
2)RADIUS服务器收到Access-Request包后,在数据库中查询是否由此用户名的记录。
如果没有,则加再一个默认的配置文件,或者返回一个Access-Reject消息,内容为拒绝访问的原因。
如果数据库有此用户名并且口令正确,服务器返回一个Access-Request消息,内容包括用于该次会话的参数属性。
6.Kerberos认证协议实现身份认证的什么特点?
如何实现有多个TGS组成的分布式认证