第七章网络安全7-01计算机网络都面临哪几种威胁?主动攻击和被动攻击的区别是什么?对于计算机网络的安全措施都有哪些?答:计算机网络面临以下的四种威胁:截获(interception),中断(interruption),篡改(modification),伪造(fabrication)。网络安全的威胁可以分为两大类:即被动攻击和主动攻击。主动攻击是指攻击者对某个连接中通过的PDU进行各种处理。如有选择地更改、删除、延迟这些PDU。甚至还可将合成的或伪造的PDU送入到一个连接中去。主动攻击又可进一步划分为三种,即更改报文流;拒绝报文服务;伪造连接初始化。被动攻击是指观察和分析某一个协议数据单元PDU而不干扰信息流。即使这些数据对攻击者来说是不易理解的,它也可通过观察PDU的协议控制信息部分,了解正在通信的协议实体的地址和身份,研究PDU的长度和传输的频度,以便了解所交换的数据的性质。这种被动攻击又称为通信量分析。还有一种特殊的主动攻击就是恶意程序的攻击。恶意程序种类繁多,对网络安全威胁较大的主要有以下几种:计算机病毒;计算机蠕虫;特洛伊木马;逻辑炸弹。对付被动攻击可采用各种数据加密动技术,而对付主动攻击,则需加密技术与适当的鉴别技术结合。7-02试解释以下名词:(1)重放攻击;(2)拒绝服务;(3)访问控制;(4)流量分析;(5)恶意程序。答:(1)重放攻击:所谓重放攻击(replayattack)就是攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程。(2)拒绝服务:DoS(DenialofService)指攻击者向因特网上的服务器不停地发送大量分组,使因特网或服务器无法提供正常服务。(3)访问控制:(accesscontrol)也叫做存取控制或接入控制。必须对接入网络的权限加以控制,并规定每个用户的接入权限。(4)流量分析:通过观察PDU的协议控制信息部分,了解正在通信的协议实体的地址和身份,研究PDU的长度和传输的频度,以便了解所交换的数据的某种性质。这种被动攻击又称为流量分析(trafficanalysis)。(5)恶意程序:恶意程序(rogueprogram)通常是指带有攻击意图所编写的一段程序。7-03为什么说,计算机网络的安全不仅仅局限于保密性?试举例说明,仅具有保密性的计算机网络不一定是安全的。答:计算机网络安全不仅仅局限于保密性,但不能提供保密性的网络肯定是不安全的。网络的安全性机制除为用户提供保密通信以外,也是许多其他安全机制的基础。例如,存取控制中登陆口令的设计。安全通信协议的设计以及数字签名的设计等,都离不开密码机制。7-04密码编码学、密码分析学和密码学都有哪些区别?答:密码学(cryptology)包含密码编码学(Cryptography)与密码分析学(Cryptanalytics)两部分内容。密码编码学是密码体制的设计学,是研究对数据进行变换的原理、手段和方法的技术和科学,而密码分析学则是在未知密钥的情况下从密文推演出明文或密钥的技术。是为了取得秘密的信息,而对密码系统及其流动的数据进行分析,是对密码原理、手段和方法进行分析、攻击的技术和科学。7-05“无条件安全的密码体制”和“在计算上是安全的密码体制”有什么区别?答:如果不论截取者获得了多少密文,但在密文中都没有足够的信息来惟一地确定出对应的明文,则这一密码体制称为无条件安全的,或称为理论上是不可破的。如果密码体制中的密码不能被可使用的计算资源破译,则这一密码体制称为在计算上是安全的。7-06破译下面的密文诗。加密采用替代密码。这种密码是把26个字母(从a到z)中的每一个用其他某个字母替代(注意,不是按序替代)。密文中无标点符号。空格未加密。KfdktbdfzmeubdkfdpzyiommztxkukzygurbzhakfthcmurmfudmzhxMftnmzhxmdzythcpzqurezsszcdmzhxgthcmzhxpfakfdmdztmsutythcFukzhxpfdkfdintcmfzldpthcmsokpztkzstkkfduamkdimeitdxsdruidPdfzlduoiefzkruimubduromziduokursidzkfzhxzyyuromzidrzkHufoiiamztxkfdezindhkdikfdakfzhgdxftbboefruikfzk答:单字母表是:明文:abcdefghIjklm密文:zsexdrcftgyb明文:nopqrstuvwxyz密文:hunImkolpka根据该单字母表,可得到下列与与本题中给的密文对应的明文:thetimehascomethewalrussaidtotalkofmanythingsofshoesamdshipsandsealingwaxofcabbagesandkingsandwhytheseaisboilinghotandwhetherpigshavewingsbutwaitabittheoysterscriedbeforewehaveourchatforsomeofusareoutofbreathandallofusarefatnohurrysaidthecarpentertheythankedhimmuchforthat7-07对称密钥体制与公钥密码体制的特点各如何?各有何优缺点?答:在对称密钥体制中,它的加密密钥与解密密钥的密码体制是相同的,且收发双方必须共享密钥,对称密码的密钥是保密的,没有密钥,解密就不可行,知道算法和若干密文不足以确定密钥。公钥密码体制中,它使用不同的加密密钥和解密密钥,且加密密钥是向公众公开的,而解密密钥是需要保密的,发送方拥有加密或者解密密钥,而接收方拥有另一个密钥。两个密钥之一也是保密的,无解密密钥,解密不可行,知道算法和其中一个密钥以及若干密文不能确定另一个密钥。优点:对称密码技术的优点在于效率高,算法简单,系统开销小,适合加密大量数据。对称密钥算法具有加密处理简单,加解密速度快,密钥较短,发展历史悠久等优点。缺点:对称密码技术进行安全通信前需要以安全方式进行密钥交换,且它的规模复杂。公钥密钥算法具有加解密速度慢的特点,密钥尺寸大,发展历史较短等特点。7-08为什么密钥分配是一个非常重要但又十分复杂的问题?试举出一种密钥分配的方法。答:密钥必须通过最安全的通路进行分配。可以使用非常可靠的信使携带密钥非配给互相通信的各用户,多少用户越来越多且网络流量越来越大,密钥跟换过于频繁,派信使的方法已不再适用。举例:公钥的分配,首先建立一个值得信赖的机构(认证中心CA),将公钥与其对应的实体进行绑定,每个实体都有CA发来的证书,里面有公钥及其拥有者的标识信息,此证书被CA进行了数字签名,任何用户都可从可信的地方获得CA的公钥,此公钥可用来验证某个公钥是否为某个实体所拥有。7-09公钥密码体制下的加密和解密过程是怎么的?为什么公钥可以公开?如果不公开是否可以提高安全性?答:加密和解密过程如下:(1)、密钥对产生器产生出接收者的一对密钥:加密密钥和解密密钥;(2)、发送者用接受者的公钥加密密钥通过加密运算对明文进行加密,得出密文,发送给接受者;接受者用自己的私钥解密密钥通过解密运算进行解密,恢复出明文;因为无解密密钥,解密是不可行的,所以公钥可以公开,知道算法和其中一个密钥以及若干密文不能确定另一个密钥。7-10试述数字签名的原理答:数字签名采用了双重加密的方法来实现防伪、防赖。其原理为:被发送文件用SHA编码加密产生128bit的数字摘要。然后发送方用自己的私用密钥对摘要再加密,这就形成了数字签名。将原文和加密的摘要同时传给对方。对方用发送方的公共密钥对摘要解密,同时对收到的文件用SHA编码加密产生又一摘要。将解密后的摘要和收到的文件在接收方重新加密产生的摘要相互对比。如两者一致,则说明传送过程中信息没有被破坏或篡改过。否则不然。7-11为什么需要进行报文鉴别?鉴别和保密、授权有什么不同?报文鉴别和实体鉴别有什么区别?答:(1)使用报文鉴别是为了对付主动攻击中的篡改和伪造。当报文加密的时候就可以达到报文鉴别的目的,但是当传送不需要加密报文时,接收者应该能用简单的方法来鉴别报文的真伪。(2)鉴别和保密并不相同。鉴别是要验证通信对方的确是自己所需通信的对象,而不是其他的冒充者。鉴别分为报文鉴别和实体鉴别。授权涉及到的问题是:所进行的过程是否被允许(如是否可以对某文件进行读或写)。(3)报文鉴别和实体鉴别不同。报文鉴别是对每一个收到的报文都要鉴别报文的发送者,而实体鉴别是在系统接入的全部持续时间内对和自己通信的对方实体只需验证一次。7-12试述实现报文鉴别和实体鉴别的方法。答:(1)报文摘要MD是进行报文鉴别的简单方法。A把较长的报文X经过报文摘要算法运算后得出很短的报文摘要H。然后用自己的私钥对H进行D运算,即进行数字签名。得出已签名的报文摘要D(H)后,并将其追加在报文X后面发送给B。B收到报文后首先把已签名的D(H)和报文X分离。然后再做两件事。第一,用A的公钥对D(H)进行E运算,得出报文摘要H。第二,对报文X进行报文摘要运算,看是否能够得出同样的报文摘要H。如一样,就能以极高的概率断定收到的报文是A产生的。否则就不是。(2)A首先用明文发送身份A和一个不重数RA给B。接着,B响应A的查问,用共享的密钥KAB对RA加密后发回给A,同时也给出了自己的不重数RB。最后,A再响应B的查问,用共享的密钥KAB对RB加密后发回给B。由于不重数不能重复使用,所以C在进行重放攻击时无法重复使用是哟截获的不重数。7-13报文的保密性与完整性有何区别?什么是MD5?答:(1)报文的保密性和完整性是完全不同的概念。保密性的特点是:即使加密后的报文被攻击者截获了,攻击者也无法了解报文的内容。完整性的特点是:接收者接收到报文后,知道报文没有被篡改或伪造。(2)MD5是[RFC1321]提出的报文摘要算法,目前已获得了广泛的应用。它可以对任意长的报文进行运算,然后得出128bit的MD报文摘要代码。算法的大致过程如下:①先将任意长的报文按模264计算其余数(64bit),追加在报文的后面。这就是说,最后得出的MD5代码已包含了报文长度的信息。②在报文和余数之间填充1~512bit,使得填充后的总长度是512的整数倍。填充比特的首位是1,后面都是0。③将追加和填充的报文分割为一个个512bit的数据块,512bit的报文数据分成4个128bit的数据依次送到不同的散列函数进行4论计算。每一轮又都按32bit的小数据块进行复杂的运算。一直到最后计算出MD5报文摘要代码。这样得出的MD5代码中的每一个比特,都与原来的报文中的每一个比特有关。7-14什么是重放攻击?怎样防止重放攻击?答:(1)入侵者C可以从网络上截获A发给B的报文。C并不需要破译这个报文(因为这可能很花很多时间)而可以直接把这个由A加密的报文发送给B,使B误认为C就是A。然后B就向伪装是A的C发送许多本来应当发送给A的报文。这就叫做重放攻击。(2)为了对付重放攻击,可以使用不重数。不重数就是一个不重复使用的大随机数,即“一次一数”。7-15什么是“中间人攻击”?怎样防止这种攻击?答:(1)中间人攻击(Man-in-the-MiddleAttack,简称“MITM攻击”)是一种“间接”的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机就称为“中间人”。然后入侵者把这台计算机模拟一台或两台原始计算机,使“中间人”能够与原始计算机建立活动连接并允许其读取或篡改传递的信息,然而两个原始计算机用户却认为他们是在互相通信,因而这种攻击方式并不很容易被发现。所以中间人攻击很早就成为了黑客常用的一种古老的攻击手段,并且一直到今天还具有极大的扩展空间。(2)要防范MITM攻击,我们可以将一些机密信息进行加密后再传输,这样即使被“中间人”截取也难以破解,另外,有一些认证方式可以检测到MITM攻击。比如设备或IP异常检测:如果