基於挑戰 應答的認證

2021-09-04 01:30:32 字數 361 閱讀 5773

基於挑戰/應答屬於密碼鑑別的一種。特定是密碼不在網路上傳輸。該認證機制中認證者(伺服器)每次向被認證者(客戶端)傳送乙個不同的」挑戰「字串,客戶端收到這個」挑戰「字串後,按照雙方事先協商好的方法應答。挑戰相當於諮詢,應答相當於回答。

(1)客戶端向伺服器端發錯請求,要求進行身份驗證。

(2)伺服器從資料庫中查詢使用者名稱是否合法,若不合法則不做處理

(3)伺服器產生乙個「挑戰」隨機數,發給客戶端,作為」提問「。

(4)客戶端使用」使用者名稱「+h(以共享金鑰+挑戰) 做應答。

(5)伺服器收到應答和自己計算的比較,相等則認證通過,反之則失敗。

(6)伺服器挑戰客戶端成功還是失敗。

之後客戶端不定時傳送認證請求。

HMAC 挑戰 響應雙向認證

hmac的乙個典型應用是結合 挑戰 響應 challenge response 來保障客戶端和伺服器傳輸資料的安全性 使用的金鑰是雙方事先約定的,第三方不可能知道。從整個流程可看出,攻擊者只能截獲作為 挑戰 的隨機數和作為 響應 的hmac結果,無法根據這兩個資料推算出金鑰。由於不知道金鑰,所以攻擊...

14 2 基於令牌的認證

上節我們介紹了基於http的認證,由於客戶端每次發出請求時都要傳送密令,為了避免老是傳送敏感資訊,我們可以提供一種基於令牌的認證方案。class user db.model 生成認證令牌 def generate auth token self,expiration return s.dumps 驗...

基於Token的認證和基於宣告的標識

openid解決跨站點的認證問題,oauth解決跨站點的授權問題。認證和授權是密不可分的。而openid和oauth這兩套協議出自兩個不同的組織,協議上有相似和重合的之處,所以想將二者整合有些難度。好在openid connect作為openid的下一版本,在oauth 2.0的協議基礎上進行擴充套...