目录
【7-01】计算机网络都面临哪几种威胁?主动攻击和被动攻击的区别是什么?对于计算机网络的安全措施都有哪些?
【7-02】 试解释以下名词:(2)拒绝服务;(3)访问控制;(4)流量分析;(5)恶意程序。
【7-03】为什么说,计算机网络的安全不仅仅局限于保密性?试举例说明,仅具有保密性的计算机网络不一定是安全的。
【7-05】“无条件安全的密码体制”和“在计算上是安全的密码体制”有什么区别?
【7-07】对称密钥体制与公钥密码体制的特点各如何?各有何优缺点?
【7-09】公钥密码体制下的加密和解密过程是怎样的?为什么公钥可以公开?如果不公开是否可以提高安全性?
【7-11】为什么需要进行报文鉴别?鉴别和保密、授权有什么不同?报文鉴别和实体鉴别有什么区别?
【7-13】A和B共同持有一个只有他们二人知道的密钥(使用对称密码)。A 收到了用这个密钥加密的一份报文。A 能否出示此报文给第三方,使B不能否认发送了此报文?
【7-14】教材上的图 7-5 所示的具有保密性的签名与使用报文鉴别码相比较,哪一种方法更有利于进行鉴别?
【7-01】计算机网络都面临哪几种威胁?主动攻击和被动攻击的区别是什么?对于计算机网络的安全措施都有哪些?
四种威胁:
(1)截获(interception)攻击者从网络上窃听他人的通信内容
(2)中断(interruption)攻击者在网络上有意中断他人的通信
(3)篡改(modification)攻击者故意篡改网络上传送的报文
(4)伪造(fabrication)攻击者伪造信息在网络上传送。
被动攻击:攻击者只是观察和分析某一个协议数据单元 PDU 而不干扰信息流。截获。
主动攻击:攻击者对某个连接中通过的PDU进行各种处理。中断、篡改和伪造。
对于计算机网络的安全措施有以下几种:
(1)把网络上传送的数据进行加密。
(2)设计出一种尽可能比较安全的计算机网络。使用安全的网络协议。
(3)对接入网络的权限加以控制,并规定每个用户的接入权限。即访问控制。
【7-02】 试解释以下名词:(2)拒绝服务;(3)访问控制;(4)流量分析;(5)恶意程序。
(2)拒绝服务:指攻击者向互联网上的服务器不停地发送大量分组,使互联网或服务器无法提供正常服务。
(3)访问控制:对接入网络的权限加以控制,并规定每个用户的接入权限。
(4)流量分析:攻击者通过观察 PDU 的协议控制信息部分,了解正在通信的协议实体的地址和身份,研究 PDU 的长度和传输的频度,了解所交换数据的某种性质。
(5)恶意程序:属于主动攻击。指带有攻击意图所编写的一段程序。
【7-03】为什么说,计算机网络的安全不仅仅局限于保密性?试举例说明,仅具有保密性的计算机网络不一定是安全的。
保密性是指把通信的内容进行加密,不让未授权的人知道报文的内容。这仅仅预防了“截获”一种威胁。假定某个计算机网络仅具有保密性,那么在这种计算机网络上的通信还会面临其他三种威胁:中断、篡改和伪造。因此,安全的计算机网络还必须具有安全的网络协议,以及使用可靠的访问控制方法。
【7-04】密码编码学、密码分析学和密码学都有哪些区别?
密码编码学(cryptography)是密码体制的设计学
而密码分析学(cryptanalysis)则是在未知密钥的情况下从密文推演出明文或密钥的技术。
密码编码学与密码分析学合起来即为密码学(cryptology)。
【7-05】“无条件安全的密码体制”和“在计算上是安全的密码体制”有什么区别?
无条件安全的密码体制:如果不论截取者获得了多少密文,但在密文中都没有足够的信息来唯一地确定出对应的明文,则这一密码体制称为无条件安全的,或称为理论上是不可破的。世界上不存在无条件安全的密码体制
在计算上是安全的密码体制:如果一个密码体制中的密码,不能在一定时间内被可以使用的计算资源破译,则这一密码体制称为在计算上是安全的。
【7-07】对称密钥体制与公钥密码体制的特点各如何?各有何优缺点?
对称密钥密码体制:加密密钥与解密密钥是相同的密码体制,一对一的双向保密通信,双方既可用此密钥加密自己的明文并发送,也可以接收密文并用此密钥解密。密钥是保密的,算法是公开的。
优点:加密解密速度快。密钥尺寸短。缺点:密钥难管理难分配,不适于在网络中单独使用
公钥密码体制:加密密钥与解密密钥是不同的,多对一的单向保密通信,可以多人使用公钥加密自己的明文并发送,只有接收方一人接收多个密文并用私钥解密。加密密钥是公开的,解密密钥是保密的。
优点:每个用户只需保护自己的私钥,密钥管理和分配简单、可以实现数字签名。缺点:加密解密速度慢,算法开销大。密钥尺寸大
【7-09】公钥密码体制下的加密和解密过程是怎样的?为什么公钥可以公开?如果不公开是否可以提高安全性?
加密和解密过程:
(1)密钥对产生器产生出接收者B的一对密钥:加密密钥和解密密钥,即公钥和私钥,公钥向公众公开,私钥对其他人保密
(2)发送者A用B的公钥通过E运算加密明文并发送给B;B用自己的私钥对密文通过D运算解密,恢复出明文;因为私钥用于解密,公钥用于加密,即使知道了公钥也不能由此得出私钥,所以公钥可以公开。
公钥不公开不能提高安全性,安全性全部由私钥提供的,公钥仅提供鉴别和完整性。
【7-10】试述数字签名的原理
功能:
(1)报文鉴别:接收者能够确认发送者对报文的签名。
只有发送方持有自己的私钥,除发送方外没人能用私钥对报文进行D运算,则接收方就能确认发送方身份。
(2)报文的完整性:接收方可以验证数据在传输过程中是否被篡改。
若其他人篡改过报文,因没有私钥无法对报文进行D运算,B收到报文后进行E运算会得出不可读明文,可知报文被篡改过。
(3)事后不可否认:发送者事后不能抵赖对报文的签名。
接收方可用发送方的私钥对 报文进行 D运算后的结果出示给进行公证的第三者防止发送方抵赖。
过程:发送方用其私钥对报文进行D运算得到密文并传送给接收方,D运算是为了签名。接收方用发送方的公钥进行E运算还原出明文,E运算是为了核实签名。
【7-11】为什么需要进行报文鉴别?鉴别和保密、授权有什么不同?报文鉴别和实体鉴别有什么区别?
(1)许多情况下我们需要鉴别发信者和鉴别报文完整性,所以需要报文鉴别。
(2)鉴别是要验证通信的对方的确是自己所要通信的对象,而不是其他的冒充者;保密是指保护信息不被未授权的人获取;授权是:所进行的过程是否被允许(如是否可以对某文件进行读或写)。
(3)实体鉴别:鉴别发信者,验证通信的对方的确是自己所要通信的对象,而不是其他的冒充者。报文鉴别:包括实体鉴别和完整性鉴别,完整性鉴别即确保报文未被篡改过。
【7-13】A和B共同持有一个只有他们二人知道的密钥(使用对称密码)。A 收到了用这个密钥加密的一份报文。A 能否出示此报文给第三方,使B不能否认发送了此报文?
不行。A和B有同样的密钥,A也可能编造出这个报文。
【7-14】教材上的图 7-5 所示的具有保密性的签名与使用报文鉴别码相比较,哪一种方法更有利于进行鉴别?
传送短报文可用保密性的签名。
传送短报文使用报文鉴别码会快得多,更加有利于进行鉴别。
【7-15】试述实现报文鉴别和实体鉴别的方法
报文摘要 MD是进行报文鉴别的简单方法。
原理:
A 把报文 X经过报文摘要算法运算后,得出报文摘要 H。然后进行数字签名,用自己的私钥对 H进行 D运算得出 D(H)。将D(H)追加在报文 X后面发送给 B。B收到后把D(H)和报文X分离。然后再做两件事。①用A的公钥对 D(H)进行E运算,得出报文摘要H。②对报文X进行报文摘要运算,看是否能够得出同样的报文摘要 H。若一样,就能以极高的概率断定收到的报文是 A产生的。否则就不是。
报文摘要的优点:对短得多的定长报文摘要H进行数字签名,比对整个长报文进行数字签名要简单得多,所耗费的资源也小
实体鉴别和报文鉴别区别:
报文鉴别:对每一个收到的报文都要鉴别报文的发送者
实体鉴别:在系统接入的全部持续时间内,对和自己通信的对方实体只验证一次。最简单的实体鉴别过程的例子:A 使用对称密钥加密明文后向B发送密文,B 收到此密文后,用此对称密钥进行解密,因而鉴别了实体A的身份。
【7-17】报文的保密性与完整性有何区别?
报文的保密性:把通信的内容进行加密,不让未授权的人知道报文的内容,甚至不让未授权的人知道有这样的一个报文。
报文的完整性:不让未授权的人修改报文的内容。
【7-18】什么是重放攻击?怎样防止重放攻击?
入侵者C把A发给B的密文截获,不破译而直接把密文发给B,使B误认为C就是A,B就会向伪装成A的C发送许多本该发给A的报文。A就收不到报文,而C得到这些更多的密文可以想办法来破译。
对付重放攻击,可以使用不重数(nonce)。不重数就是一个不重复使用的大随机数,即“一次一数”。在鉴别过程中,不重数可以使B能够把重复的鉴别请求和新的鉴别请求区分开。
【7-20】什么是“中间人攻击”?怎样防止这种攻击?
A和B通信,A向B发送“我是A”,这个报文被“中间人”C截获,C把这个报文原封不动地转发给 B。B选择一个不重数 RB。发送给 A,但同样被 C 截获后也照样转发给 A。
中间人C用自己的私钥 SKc对 RB加密后发回给 B,使 B误以为是 A 发来的。A 收到 RB后也用自己的私钥 SKA对 RB 加密后发回给 B,但中途被C截获并丢弃。B 向 A索要公钥,被 C 截获后转发给 A。
C把自己的公钥 PKC冒充 A的发送给B,而C也截获到A发送给B的公钥PKA。B用收到的公钥 PKC(以为是A的)对数据DATA加密,并发送给A。C截获后用自己的私钥 SKc解密,复制一份留下,然后再用A的公钥 PKA 对数据 DATA 加密后发送给 A。A收到数据后,用自己的私钥SKA 解密,以为和B进行了保密通信。其实,B发送给 A的加密数据已被中间人C截获并解密了一份。但A和B却都不知道。
要防止这种“中间人攻击”,就需要解决公钥的分发方法,不能在通信的双方直接传送公钥。Kerberose 可以解决“中间人攻击”的问题。