1、2015 硕士信息安全复习题1. 基本攻击类型和防范措施a、窃听,防范措施将数据加密后传输b、密码分析,防范措施主要分为设计更加安全的加密算法使之能够抵御各种可能的统计和数学分析,使用更长的密钥使得蛮力分析实效,管理好密钥的传播和存储以确保密钥不会被窃取,开发出更严密的软件系统及硬件装置。c、盗窃登录密码,防范措施为身份认证d、身份诈骗,防范措施,使用加密算法将甲乙双方的通信加密,使用数字签名方法确认通信双方的身份以及不允许路由器等网络装置传递改道传递的网包;中间人如果不能将经过加密的网包解密,则读不到网包内容也不能修改经过加密的网包;此外,中间人也很难假冒甲乙双方以他们的名义给自己炮制或修改
2、的 IP 包做数字签名,因而无法蒙骗甲乙各方。e、软件剥削,防范措施关闭所有允许内存溢出之门,即在写入缓冲区前必须首先检查将写入到缓冲区的内容的界限,如果超出缓冲区预设的空间则不执行此语句并给出错误信息,并避免使用没有界限限制的字符串函数。f、抵赖,防范措施是实用严密的身份验证协议和密码学方法。g、入侵,防范措施包括使用入侵检测系统及时发现入侵行为,以及关闭不必要的网络端口减少系统入口点。h、流量分析,防范措施是将整个 IP 包加密i、服务阻断,防范措施包括检测和终止占比的攻击。j、恶意软件, 病毒和蠕虫,防范措施,随时检测及清除病毒和蠕虫,减少病毒和蠕虫感 1染的可能。 特洛伊木马,防范措施
3、,检测和删除。 逻辑炸弹和软件后门,防范措施, 2 3减少雇员植入逻辑炸弹的动机和机会,再者是检测。 间谍软件,防范措施,检测和消除 4间谍软件。 伪抗间谍软件,防范措施,检测和消除伪抗间谍软件 占比软件,防范措施 5 6加强系统的安全管理k、其他攻击类型,2. 暴力攻击、字典攻击和彩虹表原理暴力攻击,又称蛮力攻击,穷举所有可能的密钥字符串,把每一个这样的字符串当做密钥,将所窃得的密文作为解密算法的输入,并检查计算结果是否很像明文,如是,破译成功。字典攻击是针对存储在计算机系统内的登录密码进行的。原理 利用某些用户喜欢使用单 1词、地名、人名或日期来设置登录密码的习惯,事先利用散列算法对这些数
4、据进行处理,把得到的密文和对应的原文存起来备用。 设法窃得存储在计算机系统内的登录密码文件 2将盗来的密文和事先计算好的密文进行比对,找出相同者,则其对应的明文便是登录密 3码。彩虹表是实现字典攻击的一种解决方法,其原理为它是一种时间和空间都可接受的这种方案。只预先计算和存储某些明文密文对,在盗得密码文件后利用它们计算其他明文密文对,边算边比较。3. 流密码的概念、基本结构和关键问题。流密码又称为序列密码,是一种对称密钥加密算法,其使用方法和“一次一密”相同,它是将明文消息字符串逐位地加密成密文字符。首先利用密钥 K 产生一个密钥流,然后使用如下规则对明文串 x=x0x1加密 y=y0y1y2
5、=Ez0(x0)Ez1(x1)Ez2(x2);解密时,使用相同的密钥流与密文做运算(XOR)。流密码无记忆性,即加密器件中没有记忆单元,所以带来低扩散、插入及修改的不敏感性。4. 分组密码设计的主要指导原则是什么?其实现的手段是什么?分组密码又称为加密算法,其设计的主要指导原则为 一把密钥能使用多次而不会威胁到 1加密算法的安全。 运算简便快捷,手段使用简单运算方法,置换和替换运算中,置换是 2一对一的,即不同的二元字符串不能被相同的二元字符串所取代,而替换运算则可以是多对一。 抵御统计分析,加密算法必须要有扩散性和混淆性,获得扩散性的方法为对明文 3执行某些特定的计算。产生混淆性的方法是从密
6、钥生成若干子密钥,将明文段用一个子密钥执行某些特定运算。 抵御穷举攻击,手段为延长数据长度 l。 抵御数学攻击 抵御旁 4 5 6道攻击,手段为设法减少每一步骤的计算时间差。5. DES 、3DESDES:绿皮书 P413DES:绿皮书 P49DES 是通用的计算机加密算法。DES 是美国和国际标准,是一种对称算法,加密和解密的密钥是相同的。它是一个分组加密算法,以 64 位为分组对数据加密。64 位一组的明文从算法的一端输入,64 位密文从另一端输出。DES 是一个对称算法;加密解密用的是同一个算法(除了密钥编排不同之外)密钥的长度为 56 位,(密钥通常表示为 64 位数,但每个第 8 位
7、都用作奇偶校验)密钥可以是任意的 56 位数,且可以任意时候改变,其中有极少数的数被认为是弱密钥,但能很容易避开它们。所有的保密性依赖于密钥。DES 基本组建分组是这些技术的一个组合(先替代后置换),它基于密钥作用+明文的轮。DES 有 16 轮,这意味着要在明文的分组上 16次施用相同的组合技术。3DES 又称 Triple DES,是 DES 加密算法的一种模式,它使用 3 条 56 位的密钥对数据进行 3 次加密。为了避免三重 DES 使用 3 个密钥进行三阶段加密带来的密钥过长的缺点(168bit ),Tuchman 提出使用两个密钥的三重加密方法,这个方法只要求 112bit 密钥,
8、即令其K1=K3: C=EK1(DK2(EK1(M)三重 DES 的第二阶段的解密并没有密码编码学上的意义。它的唯一优点是可以使用三重DES 解密原来的单次 DES 加密的数据,即 K1=K2=K3。C=EK1(DK1(EK1(M)=EK1(M)6. 分组密码的五种使用方式,其特点和应用场合。电子密码本模式,适用于加密通话密钥以便传送给通话对方 1ECB 主要用于发送少数量的分组数据(如加密密钥等); 相同明文=相同密文(相同密码):好像有一个密码本 同样信息多次出现造成泄漏 信息块可被替换 信息块可被重排 密文块损坏=仅对应明文块损坏 适合于传输短信息,数据较少的情况,典型应用:单个数据的安
9、全传输密码段链模式,适用于明文加密 2CBC 适合加密长度大于 64 比特的消息,还可以用来进行用户鉴别; 需要共同的初始化向量 IV,如密钥一样保护? 相同明文 不同密文 初始化向量 IV 可以用来改变第一块 密文块损坏 两明文块损坏 安全性好于 ECB,重排 加密算法的输入是上一个密文组和下一个明文组的异或优点:1.不容易主动攻击,安全性好于 ECB,适合传输长度长的报文 ,是 SSL、IPSec 的 标准。缺点:1.不利于并行计算;2.误差传递;3.需要初始化向量 IV密码反馈模式,适用于多种场合,是常见的序列密码 3CFB 适合数据以比特或字节为单位出现,常用于流模式中; CFB:分组
10、密码=流密码(密文和明文等长) 一次处理 j 位 延迟小 需要共同的移位寄存器初始值 IV 对于不同的消息,IV 必须唯一 一个单元损坏影响多个单元: (W+j-1)/j W 为分组加密块大小,j 为流单元位数 一次处理 j 位,上一分组密文作为伪随机数输入加密算法,输出和明文异或生成下一组密文。输出反馈模式,适用于卫星通信等噪声频繁的网络通信场景 4OFB 用于需要反馈错误或者需要在消息可用前进行加密的场合。 OFB:分组密码=流密码 需要共同的移位寄存器初始值 IV 一个单元损坏只影响对应单元(没有错误扩散问题) 导致抗流窜改攻击的能力不如 CFB 用于噪声通道上的数据传输(如卫星通信),
11、适用于必须避免错误传播的应用领域。 与 CFB 基本相同,只是加密算法的输入(填充移位寄存器)是上一次加密函数的输出,而 CFB 是密文单元来填充移位寄存器。计数器模式,适用于对速度要求较高的分组密码通信 5CTR 是分组模式,它使用一个长为 l 比特的计数器 Ctr,从初始值 Ctr0 开始依次加 1,加满后自动回零。用 Ctr+表示 Ctr 的值使用之后加 1。计数器模式简单,也克服了电子密码本模式的弱点。7. 构建公钥密码体制的数学难题常见的有哪些,数学难题在构造公钥算法时有何考虑?常见难题:背包问题整数分解问题离散对数问题丢番图方程矩阵覆盖问题设计考虑:公钥和私钥必须相关,而且从公钥到
12、私钥不可推断,必须要找到一个难题,从一个方向走是容易的,从另一个方向走是困难的。计算可行和不可行的界【单向陷门函数是有一个陷门的一类特殊单向函数。它首先是一个单向函数,在一个方向上易于计算而反方向却难于计算。但是,如果知道那个秘密陷门,则也能很容易在另一个方向计算这个函数】8. 掌握 RSA 加密和解密的方法细节。9. 掌握逆元、欧拉函数、乘幂 powmod 等的计算。用扩展的欧几里德算法可以求乘法逆元 e,算法描述如下:ExtendedEuclid(e,f) 1、(X1,X2,X3):=(1,0,f) 2、(Y1,Y2,Y3):=(0,1,e) 3、if (Y3=0) then return
13、 e=null/无逆元 4、if (Y3=1) then return e=Y2 /Y2 为逆元 5、Q:=X3 div Y3 6、(T1,T2,T3):=(X1-Q*Y1,X2-Q*Y2,X3-Q*Y3)7、(X1,X2,X3):=(Y1,Y2,Y3) 8、(Y1,Y2,Y3):=(T1,T2,T3) 9、goto 3 举个例子:求 7 关于 96 的乘法逆元。 10. Hash 的单向性、抗弱碰撞性和抗强碰撞性。单向性:指的是对任意给定明文计算其数字指纹容易,但从数字指纹获得明文很难抗弱碰撞性:设 x 为任意给定输入,尽管必存在 yx,使得 H(x)=H(y),但寻找这样的 y却是计算难解
14、的。抗强碰撞性:寻找两个不同的二元字符串 x 和 y 使得 H(x)=H(y)是计算难解的。11. 如何理解生日攻击在数字签名中的应用。生日攻击理论基础: 若 k1.182m/22m/2, 则 k 个在1,2m的随机数中有两个数相等的概率不低于 0.5 若 k0.83n1/2,两个在1,n的 k 个随机数集合有交集的概率不小于 0.5因此,当 Hash 算法选用 N 位的 Hash 值时,两组消息(选择 k2N/2)中有一对消息产生相同 Hash 值的概率超过 0.5应用: 303050 10124has 32has 2 (rne .假 定 函 数 的 输 出 为 比 特 。 攻 击 者 可
15、以 选 择 文 件 的 可 以略 微 改 动 之 处 , 例 如 , 在 每 一 行 的 结 束 位 置 加 一 个 空 格 , 对词 句 稍 加 改 动 等 。 因 此 , 他 可 以 有 个 版 本 并 存 储 它 们 的值 。 考 虑 和 情 况 下 的 生 日 攻 击 问 题 。 我 们 有 。因 此 , 存 在 一 个 正 确 的 文 件 和 一 个 错 误 的 文 件 有 相 同 的 值概 率 是 大 约 。 攻 击 者 发 现 了 匹 配 就 可 以 要 求 签 名 者签 署 好 的 版 本 。预 防 措 施 ) has(2) 使 用 的 函 数 的 输 出 长 度 应 该 是
16、预 料 长 度 的 两倍 。 在 签 署 一 个 电 子 文 件 之 前 , 做 些 许 改 变 。 (mod) (1)() 2 od (mod)()mod(1)xklklppppxklp我 们 想 解 离 散 对 数 问 题 。 我 们 希 望 通 过 生 日 攻 击以 一 个 非 常 高 的 概 率 解 决 这 一 问 题 。 造 两 个 表 每 个 的 长 度 都 大约 是 。第 一 个 表 包 含 数 据 , 这 里 是 随 机 选 择 的 不 同 数 值 。第 二 个 表 包 含 数 据 , 这 里 是 随 机 选 择 的 不 同 数值 。如 果 存 在 一 组 匹 配 , 我 们
17、就 有 , 因 此 ,。MD5 2004 年,王小云证明 MD5 数字签名算法可以产生碰撞。 2007 年,Marc Stevens,Arjen K. Lenstra 和 Benne de Weger 进一步指出通过伪造软件签名,可重复性攻击 MD5 算法。研究者使用前缀碰撞法(chosen-prefix collision),使程序前端包含恶意程序,利用后面的空间添上垃圾代码凑出同样的MD5 Hash 值。 2008 年,荷兰埃因霍芬技术大学科学家成功把 2 个可执行文件进行了 MD5 碰撞,使得这两个运行结果不同的程序被计算出同一个 MD5。 2008 年 12 月一组科研人员通过 MD5
18、 碰撞成功生成了伪造的 SSL 证书,这使得在https 协议中服务器可以伪造一些根 CA 的签名。SHA 2005 年,Rijmen 和 Oswald 发表了对 SHA-1 较弱版本(53 次的加密循环而非 80 次)的攻击:在280 的计算复杂度之内找到碰撞。 2005 年二月,王小云、殷益群及于红波发表了对完整版 SHA-1 的攻击,只需少于 269 的计算复杂度,就能找到一组碰撞。(利用生日攻击法找到碰撞需要 280 的计算复杂度。) 2005 年 8 月 17 日的 CRYPTO 会议尾声中王小云、姚期智、姚储枫再度发表更有效率的 SHA-1攻击法,能在 263 个计算复杂度内找到碰
19、撞。 2006 年的 CRYPTO 会议上, Christian Rechberger 和 Christophe De Cannire 宣布他们能在容许攻击者决定部分原讯息的条件之下,找到 SHA-1 的一个碰撞。在密码学的学术理论中,任何攻击方式,其计算复杂度若少于暴力搜寻法所需要的计算复杂度,就能被视为针对该密码系统的一种破密法;但这并不表示该破密法已经可以进入实际应用的阶段。12. 消息认证解决什么问题?HMAC 的优点是什么?息认证 (报文鉴别):对收到的消息进行验证,证明确实是来自声称的发送方,并且没有被修改过。如果在消息中加入时间及顺序信息,则可以完成对时间和顺序的认证。三种方式:
20、1. Message encryption:用整个消息的密文作为认证标识(接收方必须能够识别错误)2. MAC:使用一个双方共享的秘密密钥生成一个固定大小的小数据块,并加入到消息中,称 MAC,或密码校验和(cryptographic checksum)。MAC 函数类似于加密函数,但不需要可逆性。因此在数学上比加密算法被攻击的弱点要少。3. Hash function:一个公开函数将任意长度的消息映射到一个固定长度的散列值,作为认证标识优点是可以与任何迭代散列函数捆绑使用,并引入了密钥增强安全性。13. 挑战-响应身份认证技术,协议的交换过程。(了解)挑战/响应方式的身份认证机制就是每次认证
21、时认证服务器端都给客户端发送一个不同的“挑战”码,客户端程序收到这个“挑战”码,根据客户端和服务器之间共享的密钥信息,以及服务器端发送的“挑战”码做出相应的“应答”。服务器根据应答的结果确定是否接受客户端的身份声明。从本质上讲,这种机制实际上也是一次性口令的一种。一个典型的认证过程如下图所示:认证过程为:1) 客户向认证服务器发出请求,要求进行身份认证;2) 认证服务器从用户数据库中查询用户是否是合法的用户,若不是,则不做进一步处理;3) 认证服务器内部产生一个随机数,作为“挑战”码,发送给客户;4) 客户将用户名字和随机数合并,使用单向 Hash 函数(例如 MD5 算法)生成一个字节串作为
22、应答;5) 认证服务器将应答串与自己的计算结果比较,若二者相同,则通过一次认证;否则,认证失败;6) 认证服务器通知客户认证成功或失败。14. 密钥分配中心 KDC 的工作方式、交互流程、现时数的使用。KDC 是一种集中式密钥分配方案,每个通信方与密钥分配中心 KDC 之间都共享一个惟一的主密钥,并且这个惟一的主密钥是通过其他安全的途径传递的。由一个中心节点或者由一组节点组成层次结构负责密钥的产生并分配给通信的双方,在这种方式下,用户不需要保存大量的会话密钥,只需要保存同中心节点的加密密钥,用于安全传送由中心节点产生的即将用于与第三方通信的会话密钥(1)A 向 KDC 发出一个要求会话密钥的请
23、求,请求报文中包含 IDa:A 的标识符,IDb:B 的标识符,N1 为现时数。请求 KDC 产生一个会话密钥用于安全通信(2)KDC 使用一个在 A 与 KDC 共享的主密钥加密的报文进行响应。返回给 A 一个包含会话密钥,以及 B 与 KDC 共享的主密钥。(3)A 通过发送利用 B 与 KDC 共享的主密钥加密的报文给 B,报文中包含了会话密钥 Ks 和 A 的标识符 IDa。(4)B 使用会话密钥 Ks 对现时数 N2 进行加密,返回给 A。(5)A 返回给 B 利用会话密钥 Ks 对 f(N2)加密的信息。N1 N2 Nonce 现时实际上,到第(3)步已经完成密钥的分配过程,通信的
24、双方已经共享了当前的会话密钥 Ks,第(4)步和第(5)步完成的是鉴别功能15. Kerberos 认证系统的工作流程。一个更安全的认证流程,5 步。Kerberos认证服务器Kerberos客户Kerberos应用服务器Kerberos票据服务器1 25634Share KeyShareKey16. PKI 的工作流程,CA 证书、 PKI 中的几种信任模型。PKI 是 Public Key Infrastructure 的缩写,是指用公钥概念和技术来实施和提供安全服务的具有普适性的安全基础设施.PKI 运行:X509 标准1)署名用户向证明机构(CA)提出数字证书申请;2)CA 验明署名用
25、户身份,并签发数字证书;3)CA 将证书公布到证书库中;4)署名用户对电子信件数字签名作为发送认证,确保信件完整性,不可否认性,并发送给依赖方。5)依赖方接收信件,用署名用户的公钥验证数字签名,并到证书库查明署名用户证书的状态和有效性;6)证书库返回证书检查结果;证书机构 CA证书库署名用户 依赖方31 246517. 实际的认证系统设计。18. 双签协议、盲签名和电子现钞(了解)P134,P137,P13819. IPSec 协议 、隧道模式和传输模式的特点网络层安全协议标准是 IP 安全协议,简记为 IPsec,它将密码算法部署在网络层。其主要任务是给从传输层传递到网络层的 TCP 包加密
26、和签名。IPsec 给出了执行这些密码算法的具体格式和步骤。IPsec 主要由认证协议、加密协议和密钥交换协议 3 个主要子协议组成,含有若干内建机制包括安全连接数据库、安全政策数据库及 SA 选择器。隧道模式与传输模式是 IPsec 的两种应用模式,建立传输模式较为简单易行。建立隧道模式比较复杂,它的复杂性由传输路径中的 IPsec 网关的个数和设置所决定,这是因为数据每经过一次 IPsec 网关便需要使用不同的 SA。它包含了单层隧道和多层隧道两种模式。20. SSL 协议(了解)P16121. PGP、Fire Wall、IDS 工作原理(了解) P170,P220,P280【注】本次考试方式为开卷,题型均为问答题。上面列出的复习题作为主要知识点,实际测试将结合具体应用,不仅仅限于概念的考查,请大家在复习时注重对知识点的理解认识和灵活掌握。参考书:王杰 计算机网络安全的理论与实践 高等教育出版社 2011.6