基于挑战/应答属于密码鉴别的一种。特定是密码不在网络上传输。该认证机制中认证者(服务器)每次向被认证者(客户端)发送一个不同的”挑战“字串,客户端收到这个”挑战“字串后,按照双方事先协商好的方法应答。挑战相当于咨询,应答相当于回答。
(1)客户端向服务器端发错请求,要求进行身份验证。
(2)服务器从数据库中查找用户名是否合法,若不合法则不做处理
(3)服务器产生一个“挑战”随机数,发给客户端,作为”提问“。
(4)客户端使用”用户名“+H(以共享密钥+挑战) 做应答。
(5)服务器收到应答和自己计算的比较,相等则认证通过,反之则失败。
(6)服务器挑战客户端成功还是失败。
之后客户端不定时发送认证请求。
http://blog.51cto.com/692344/1029615