发布网友 发布时间:2023-03-17 17:04
共1个回答
热心网友 时间:2023-11-04 11:58
顾名思义,基于挑战/应答(Challenge/Response)方式的身份认证系统就是每次认证时认证服务器端都给客户端发送一个不同的挑战字串,客户端程序收到这个挑战字串后,做出相应的应答,以此机制而研制的系统.认证过程为:
1) 客户向认证服务器发出请求,要求进行身份认证;
2) 认证服务器从用户数据库中查询用户是否是合法的用户,若不是,则不做进一步处理;
3) 认证服务器内部产生一个随机数,作为提问,发送给客户;
4) 客户将用户名字和随机数合并,使用单向Hash函数(例如MD5算法)生成一个字节串作为应答;
5) 认证服务器将应答串与自己的计算结果比较,若二者相同,则通过一次认证;否则,认证失败;
6) 认证服务器通知客户认证成功或失败。
以后的认证由客户不定时地发起,过程中没有了客户认证请求一步。两次认证的时间间的密钥隔不能太短,否则就给网络、客户和认证服务器带来太大的开销;也不能太长,否则不能保证用户不被他人盗用IP地址,一般定为1-2分钟。