第一套1、为了构建一个简单、安全的客户机/服务器模式的应用系统,要求:①能安全存储用户的口令(无须解密);②用户口令在网络传输中需要被保护;③用户与服务器需要进行密钥协商,以便在非保护信道中实现安全通信;④在通信过程中能对消息进行认证,以确保消息未被篡改。(共10分)假设要构建的应用系统允许使用MD5、AES、Diffie-Hellman算法,给定消息m,定义MD5(m)和AES(m)分别表示对m的相应处理。为了准确地描述算法,另外定义如下:给定数x、y和z,x*y表示乘法运算,x/y表示除法运算,x^y表示指数运算,而x^(y/z)表示指数为y/z。请回答下述问题:(1)为了安全存储用户的口令,服务器需要将每个用户的口令采用_____【1】______算法运算后存储。(1分)(2)在建立安全通信前,用户需要首先提交用户名和口令到服务器进行认证,为了防止口令在网络传输中被窃听,客户机程序将采用_____【2】______算法对口令运算后再发送。(1分)(3)为了在服务器和认证通过的用户之间建立安全通信,即在非保护的信道上创建一个会话密钥,最有效的密钥交换协议是_____【3】_______算法。(2分)(4)假定有两个全局公开的参数,分别为一个素数p和一个整数g,g是p的一个原根,为了协商共享的会话密钥:首先,服务器随机选取a,计算出A=____【4】________modp,并将A发送给用户;(1分)然后,用户随机选取b,计算出B=_______【5】_____modp,并将B发送给服务器;(1分)最后,服务器和用户就可以计算得到共享的会话密钥key=_______【6】_____modp。(2分)(5)为了同时确保数据的保密性和完整性,用户采用AES对消息m加密,并利用MD5产生消息密文的认证码,发送给服务器;假设服务器收到的消息密文为c,认证码为z。服务器只需要验证z是否等于______【7】______即可验证消息是否在传输过程中被篡改。(2分)2、为了增强数据库的安全性,请按操作要求补全SQL语句:(每空1分,共5分)(1)创建一个角色R1:_____【8】_______R1;(2)为角色R1分配Student表的INSERT、UPDATE、SELECT权限:_____【9】_______INSERT,UPDATE,SELECTONTABLEStudentTOR1;(3)减少角色R1的SELECT权限:_____【10】_______ONTABLEStudentFROMR1;(4)将角色R1授予王平,使其具有角色R1所包含的全部权限:_____【11】_______TO王平;(5)对修改Student表数据的操作进行审计:_____【12】_______UPDATEONStudent;3)下图是TCP半连接扫描的原理图。其中,图1为目标主机端口处于监听状态时,TCP半连接扫描的原理图;图2为目标主机端口未打开时,TCP半连接扫描的原理图。请根据TCP半连接扫描的原理,补全扫描过程中各数据包的标志位和状态值信息。(每空1分,共10分)请在下表中输入A-J代表的内容A:_____【13】_______B:_____【14】_______C:____【15】________D:_____【16】_______E:_____【17】______F:_____【18】______G:_____【19】______H:_____【20】_______I:_____【21】_______J:_____【22】______4、一个程序运行中进行函数调用时,对应内存中栈的操作如下:(每空1分,共5分)第一步,____【23】________入栈;第二步,____【24】________入栈;第三步,_____【25】_______跳转;第四步,ebp中母函数栈帧____【26】________入栈;第五步,_____【27】_______值装入ebp,ebp更新为新栈帧基地址;第六步,给新栈帧分配空间。第二套1、为了构建一个简单、安全的客户机/服务器模式的应用系统,要求:①能安全存储用户的口令(无须解密),且对网络传输中的口令进行保护;②使用第三方权威证书管理机构CA来对每个用户的公钥进行分配。(共10分)假设要构建的应用系统只允许使用MD5、AES、RSA算法。请回答下述问题:(1)为了安全存储用户的口令,服务器需要将每个用户的口令采用_____【1】_______算法运算后存储。为了能通过用户名和口令实现身份认证,用户将采用相同的算法对口令运算后发送给服务器。(1分)(2)SHA算法的消息摘要长度为_____【2】_______位。(1分)(3)用户可将自己的公钥通过证书发给另一用户,接收方可用证书管理机构的_____【3】_______对证书加以验证。(2分)(4)要实现消息认证,产生认证码的函数类型有三类:消息加密、消息认证码和______【4】______。(1分)(5)为了确保RSA密码的安全,必须认真选择公钥参数(n,e):模数n至少_____【5】_______位;为了使加密速度快,根据反复平方乘算法,e的二进制表示中应当含有尽量少的_____【6】_______。(每空1分)(6)假设Alice的RSA公钥为(n=15,e=3)。Bob发送消息m=3给Alice,则Bob对消息加密后得到的密文是______【7】______。已知素数p=3,q=5,则Alice的私钥d=_____【8】_______。(第1空1分,第2空2分)2、请回答有关数据库自主存取控制的有关问题。(每空1分,共5分)(1)自主存取控制可以定义各个用户对不同数据对象的存取权限,向用户授予权限的SQL命令是___【9】_______,如果指定了_____【10】_______子句,则获得某种权限的用户还可以把这种权限再授予其它的用户;向用户收回所授予权限的SQL命令是_____【11】_______。(2)对数据库模式的授权则由DBA在创建用户时实现,如果在CREATEUSER命令中没有指定创建的新用户的权限,默认该用户拥有_____【12】_______权限。(3)可以为一组具有相同权限的用户创建一个____【13】________,用其来管理数据库权限可以简化授权的过程。3、在下图中,内网有两台计算机A和B,通过交换机连接到网关设备最后连入互联网,其中计算机A的IP地址为192.168.1.10,MAC地址为MACA;计算机B的IP地址为192.168.1.20,MAC地址为MACB;网关设备的IP地址为59.60.1.1,MAC地址为MACG。(每空1分,共10分)图网络拓扑图其中,计算机B感染了ARP病毒,此ARP病毒向其它内网计算机发起伪装网关ARP欺骗攻击,它发送的ARP欺骗数据包中,IP地址为_____【14】_______,MAC地址为_____【15】_______。为了防止ARP欺骗,需要在内网计算机和网关设备上进行IP地址与MAC地址的双向静态绑定。首先,在内网中的计算机A设置防止伪装网关欺骗攻击的静态绑定:arp_____【16】_______//清空ARP缓存表arp_____【17】____________【18】_____________【19】______//将IP地址与MAC地址静态绑定然后,在网关设备中对计算机A设置IP地址与MAC地址的绑定:arp______【20】______//清空ARP缓存表arp______【21】____________【22】___________【23】_______//将IP地址与MAC地址静态绑定4、有些软件的漏洞存在于动态链接库中,这些动态链接库在内存中的栈帧地址是动态变化的,因而进行漏洞利用的Shellcode地址也是动态变化的。下图是以jmpesp指令做为跳板,针对动态变化Shellcode地址的漏洞利用技术原理图,左右两部分表明了缓冲区溢出前后内存中栈帧的变化情况。(每空1分,共5分)图漏洞利用技术原理图请补全图中右半部分的相应内容,并填入下面【24】-【28】中。【24】:____________【25】:____________【26】:____________【27】:____________【28】:____________第三套1、在一个基于公钥密码机制的安全应用系统中,假设用户Alice和Bob分别拥有自己的公钥和私钥。请回答下述问题:(每空1分,共10分)(1)在选择公钥密码RSA、ECC和ElGamal时,为了在相同安全性的基础上采用较短的密钥,应该选择其中的______【1】______,且应确保选取的参数规模大于_____【2】_______位。(2)为了获得两方安全通信时所需的密钥,应用系统采用了基于中心的密钥分发,利用可信第三方KDC来实施。图1所示的密钥分发模型是_____【3】_______模型,图2所示的密钥分发模型是_____【4】_______模型。在客户端与服务器进行安全通信时,在Kerberos实现认证管理的本地网络环境中,把获得密钥的任务交给大量的客户端,可以减轻服务器的负担,即采用_____【5】_______模型;而在使用X9.17设计的广域网环境中,采用由服务器去获得密钥的方案会好一些,因为服务器一般和KDC放在一起,即采用_____【6】_______模型。(3)为了预防Alice抵赖,Bob要求Alice对其发送的消息进行签名。Alice将使用自己的___【7】_____对消息签名;而Bob可以使用Alice的____【8】________对签名进行验证。(4)实际应用中为了缩短签名的长度、提高签名的速度,而且为了更安全,常对信息的____【9】____进行签名。(5)实际应用中,通常需要进行身份认证。基于____【10】________的身份认证方式是近几年发展起来的一种方便、安全的身份认证技术,它可以存储用户的密钥或数字证书,利用内置的密码算法实现对用户身份的认证。2、以root用户身份登录进入Linux系统后,请补全如下操作所需的命令:(每空1分,共5分)(1)查看当前文件夹下的文件权限。命令:$____【11】________(2)给foo文件的分组以读权限。命令:$_____【12】_______g+rfoo(3)查看当前登录到系统中的用户。命令:$_____【13】_______(4)查看用户wang的近期活动。命令:$_____【14】_______(5)用单独的一行打印出当前登录的用户,每个显示的用户名对应一个登录会话。命令:$_____【15】_______3、请完成下列有关SSL协议连接过程的题目。(每空1分,共10分)SSL协议在连接过程中使用数字证书进行身份认证,SSL服务器在进行SSL连接之前,需要事先向CA申请数字证书,再进行SSL服务器和客户端之间的连接。SSL协议的连接过程,即建立SSL服务器和客户端之间安全通信的过程,共分六个阶段,具体连接过程如下。(1)SSL客户端发送ClientHello请求,将它所支持的加密算法列表和一个用作产生密钥的随机数发送给服务器。(2)SSL服务器发送ServerHello消息,从算法列表中选择一种加密算法,将它发给客户端,同时发送Certificate消息,将SSL服务器的_____【16】_______发送给SSL客户端;SSL服务器同时还提供了一个用作产生密钥的随机数。(3)服务器可请求客户端提供证书。这个步骤是可选择的。(4)SSL客户端首先对SSL服务器的数字证书进行验证。数字证书的验证包括对下列三部分信息进行确认:验证____【17】________性,通过比较当前时间与数字证书截止时间来实现;验证____【18】_____性,查看数字证书是否已废除,即查看数字证书是否已经在___【19】___中发布来判断是否已经废除;验证____【20】____性,即数字证书是否被篡改,SSL客户端需要下载_____【21】