哈希鏈
在計算機安全中 哈希鏈 是一種由單個密鑰或密碼生成多個一次性密鑰或密碼的一種方法。
定義
哈希鏈 是將密碼學中的哈希函數 循環地用於一個字符串。(即將所得哈希值再次傳遞給哈希函數得至其哈希值)
例:
一個長度為4哈希鏈,通常記
應用
蘭波特 [1]建議將其作為一種在非安全環境中的密碼保護方案。相比較而言,一個提供身份驗證的服務器儲存哈希字符串,比儲存純文本密碼,更能防止密碼在傳輸或儲存時被泄露。舉例來說,一個服務器一開始存儲了一個由用戶提供的哈希值 。進行身份驗證時,用戶提供給服務器 。服務器計算 ,並與已儲存的哈希值 進行比較。然後服務器將存儲 以用來對用戶進行下次驗證。
竊聽者即使嗅探到 送交服務器,也無法將 用來認證,因為現在服務器驗證的哈希值是 。由於安全的哈希函數有一種單向的加密屬性,對於想要算出前一次哈希值的竊聽者來說它的值是不可逆的。在本例中,用戶在整個哈希鏈用完前可以驗證1000次之多。每次哈希值是不同的,因此不能被攻擊者再次使用。