

每次认证时认证服务器端都给客户端发送一个不同的"挑战"字串,客户端程序收到这个"挑战"字串后,做出相应的"应答"。
典型的认证过程为:
(1) 客户向认证服务器发出请求,要求进行身份认证;
(2) 认证服务器从用户数据库中查询用户是否是合法的用户,若不是,则不做进一步处理;
(3) 认证服务器内部产生一个随机数,作为"提问",发送给客户;
(4) 客户将用户名字和随机数合并,使用单向Hash函数(例如MD5算法)生成一个字节串作为应答;
(5) 认证服务器将应答串与自己的计算结果比较,若二者相同,则通过一次认证;否则,认证失败;
(6) 认证服务器通知客户认证成功或失败。
| 各省软考办 | ||||||||||