只有系统验证用户的身份,而用户不能验证系统的身份,这种模式不全面。为确保安全,用户和系统应能相互平等的验证对方的身份。
假设A和B是对等实体,需要进行双方身份验证。所以,需要事先约定好并共享双方的口令。但A要求与B通信时,B要验证A的身份,往往遇到如下限制:
(1)首先A向B出示,表示自己身份的数据。
(2)但A尚未验证B的身份
(3)A不能直接将口令发送给B。
反之,B要求与A通信也存在上述问题。
【问题1】(6分)
可以构建口令的双向对等验证机制解决上述问题,设PA、PB为A、B的共享口令,RA、RB为随机数,f为单向函数。
假定A要求与B通信,则A和B可如下过程,进行双向身份认证:
1. A B: RA (1)
2. B A:f(PB || RA)|| RB (2)
3. A用f对自己保存的PB和RA 进行加密,与接收到的f (PB || RA)进行比较。如果两者相等,则A确认B的身份是真实的执行第4步,否则认为B的身份是不真实的。
4. A B: f(PA|| RB) (3)
5. B用f对自己保存的PA和RB 进行加密,并与接收到的f (PA ||RB)进行比较。若两者相等,则B确认A的身份是真实的,否则认为A的身份是不真实的。
请对上述过程进行解释,并填入(1)~(3)空。
【问题2】(2分)
简述上述验证机制中,单向函数f的作用。为了防止重放攻击,上述过程,还应该如何改进?
【问题3】(2分)
执行以下两条语句
① HTTP://xxx.xxx.xxx/abc.asp?p=YY and (select count(*) from sysobjects)>0
② HTTP://xxx.xxx.xxx/abc.asp?p=YY and (select count(*) from msysobjects)>0
如果第一条语句访问abc.asp运行正常,第二条异常,则说明?
【问题4】(3分)
简述常见的黑客攻击过程。
【问题5】(2分)
Sniffer需要捕获到达本机端口的报文。如想完成监听,捕获网段上所有的报文,则需要将本机网卡设置为(1)。