计算机三级

章节练习
章节练习
  • 小编正在收集试题...

历年真题
历年真题
  • 小编正在收集试题...

考前押题
考前押题
  • 小编正在收集试题...

考试试题

[问答题]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)为了安全存储用户的口令,服务器需要将每个用户的口令采用{blank}算法运算后存储。(1分) (2)在建立安全通信前,用户需要首先提交用户名和口令到服务器进行认证,为了防止口令在网络传输中被窃听,客户机程序将采用{blank}算法对口令运算后再发送。(1分) (3)为了在服务器和认证通过的用户之间建立安全通信,即在非保护的信道上创建一个会话密钥,最有效的密钥交换协议是{blank}算法。(2分) (4)假定有两个全局公开的参数,分别为一个素数p和一个整数g,g是p的一个原根,为了协商共享的会话密钥: 首先,服务器随机选取a,计算出A={blank} mod p,并将A发送给用户;(1分)然后,用户随机选取b,计算出B={blank} mod p,并将B发送给服务器;(1分)最后,服务器和用户就可以计算得到共享的会话密钥key={blank} mod p。(2分) (5)为了同时确保数据的保密性和完整性,用户采用AES对消息m加密,并利用MD5产生消息密文的认证码,发送给服务器;假设服务器收到的消息密文为c,认证码为z。服务器只需要验证z是否等于{blank}即可验证消息是否在传输过程中被篡改。(2分)