動態口令基本原理

動態口令,又叫動態令牌、動態密碼。它的主要原理是: 用戶登錄前,依據用戶私人身份信息,並引入隨機數產生隨機變化的口令,使每次登錄過程中傳送的口令信息都不同,以提高登錄過程中用戶身份認證的安全性。
  銀行通常提供給用戶兩種動態口令: 一種是固定數量的動態口令,最常見的就是刮刮卡。用戶每次根據銀行提示,刮開卡上相應區域的塗層,即可獲得一個口令。刮刮卡成本低廉,使用方法簡單,因此很多銀行採用這種方法,如工商銀行; 另一種是硬件形式的動態口令,即電子令牌,它採用專用硬件,每次可以用自帶的密碼生成芯片得到一個當前可用的一次性動態密碼,交通銀行等就採用這種方式。一般來講,每個客戶端的電子令牌都有一個唯一的密鑰,該密鑰同時存放在服務器端,每次認證時令牌與服務器分別根據同樣的密鑰,同樣的隨機數和同樣的算法計算出認證時的動態口令,從而確保口令的一致性和認證的成功。因每次認證時,隨機數的參數不同,所以每次產生的動態口令也不同。每次計算時參數的隨機性保證了每次口令不可預測,以保證系統安全。

  這些隨機數是怎樣產生的呢?動態口令隨機數分爲以下幾類。

  1. 口令爲一個單向的前後相關的序列,系統只記錄第N個口令。用戶用第N—1個口令登錄時,系統用單向算法算出第N個口令與自己保存的第N個口令匹配,以判斷用戶的合法性。由於N是有限的,用戶登錄N次後必須重新初始化口令序列。

  2. 時間同步: 以用戶登錄時間作爲隨機因素。這種方式對雙方的時間準確度要求較高,一般採取以分鐘爲時間單位的折中辦法。在這種動態口令中,對時間誤差的容忍可達±1分鐘。

  3. 事件同步: 通過某一特定的事件次序及相同的種子值作爲輸入,使用相同的算法運算出一致的密碼,其運算機理決定了其整個工作流程同時鍾無關,不受時鐘的影響。它節省了用戶每次輸入挑戰信息的麻煩,但當用戶的挑戰序列與服務器產生偏差後,需要重新同步。

  4. 挑戰/應答: 也叫異步認證方式。它比時間/事件同步方式操作相對煩瑣,實現相對複雜,一般用於對安全性要求更高的場合,比如登錄網上銀行等,需要附加認證的情形。當用戶需要訪問系統時,遠程認證服務器根據用戶的電子令牌資料產生一個隨機的數字串,即“挑戰碼”,用戶將該數字串輸入到電子令牌中。電子令牌利用內置的種子密鑰和算法計算出相應的應答數(通常也是一個數字串)。

  5. 用戶將該應答數輸入系統。 系統根據所保存的該用戶相應電子令牌信息(種子密鑰和算法)計算出應答數,並與用戶輸入的應答數進行比較。如果兩者相同,則認證通過。由於每個電子令牌的種子密鑰不同,因此不同用戶的電子令牌對同樣的挑戰數計算出應答數也並不相同。只有用戶持有指定的電子令牌才能計算出正確的應答數以通過系統認證。從而可以保證該用戶是持有指定電子令牌的合法用戶。

由於口令每次都變化,即使得到密碼也沒用,而且這種動態口令由專用算法生成,隨機性高,不太容易被破解。傳統的***程序即使竊取到用戶個人信息,拿去登錄銀行網頁,也已經過期。因此,動態口令極大地提高了用戶身份認證的安全性。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章