挑戰認證模式指的是什么呢?
顧名思義,基于挑戰/應答(Challenge/Response)方式的身份認證系統就是每次認證時認證服務器端都給客戶端發送一個不同的挑戰字串,客戶端程序收到這個挑戰字串后,做出相應的應答,以此機制而研制的系統.認證過程為:
1) 客戶向認證服務器發出請求,要求進行身份認證;
2) 認證服務器從用戶數據庫中查詢用戶是否是合法的用戶,若不是,則不做進一步處理;
3) 認證服務器內部產生一個隨機數,作為提問,發送給客戶;
4) 客戶將用戶名字和隨機數合并,使用單向Hash函數(例如MD5算法)生成一個字節串作為應答;
5) 認證服務器將應答串與自己的計算結果比較,若二者相同,則通過一次認證;否則,認證失敗;
6) 認證服務器通知客戶認證成功或失敗。
以后的認證由客戶不定時地發起,過程中沒有了客戶認證請求一步。兩次認證的時間間的密鑰隔不能太短,否則就給網絡、客戶和認證服務器帶來太大的開銷;也不能太長,否則不能保證用戶不被他人盜用IP地址,一般定為1-2分鐘。