在計算機安全中 哈希鏈 是一種由單個密鑰或密碼生成多個一次性密鑰或密碼的一種方法。
定義
哈希鏈 是將密碼學中的哈希函數循環地用於一個字符串。(即將所得哈希值再次傳遞給哈希函數得至其哈希值)
例:
一個長度為4哈希鏈,通常記
應用
蘭波特 [1]建議將其作為一種在非安全環境中的密碼保護方案。相比較而言,一個提供身份驗證的服務器儲存哈希字符串,比儲存純文本密碼,更能防止密碼在傳輸或儲存時被泄露。舉例來說,一個服務器一開始存儲了一個由用戶提供的哈希值。進行身份驗證時,用戶提供給服務器。服務器計算 ,並與已儲存的哈希值進行比較。然後服務器將存儲以用來對用戶進行下次驗證。
竊聽者即使嗅探到送交服務器,也無法將用來認證,因為現在服務器驗證的哈希值是。由於安全的哈希函數有一種單向的加密屬性,對於想要算出前一次哈希值的竊聽者來說它的值是不可逆的。在本例中,用戶在整個哈希鏈用完前可以驗證1000次之多。每次哈希值是不同的,因此不能被攻擊者再次使用。
參見
- 問答認證
- 哈希表-與遞歸哈希鏈結構恰恰相反,每個哈希表的元素是相互獨立的。
- 一次性密碼
參考文獻:
- ^ L. Lamport, 「Password Authentication with Insecure Communication」, Communications of the ACM 24.11 (November 1981), pp 770-772.[1] (頁面存檔備份,存於網際網路檔案館) [2] (頁面存檔備份,存於網際網路檔案館)
外部連結