哈希链

在计算机安全中 哈希链 是一种由单个密钥或密码生成多个一次性密钥或密码的一种方法。

定义编辑

哈希链 是将密码学中的哈希函数 循环地用于一个字符串。(即将所得哈希值再次传递给哈希函数得至其哈希值)

例:

 

一个长度为4哈希链,通常记 

应用编辑

兰波特 [1]建议将其作为一种在非安全环境中的密码保护方案。相比较而言,一个提供身份验证的服务器储存哈希字符串,比储存纯文本密码,更能防止密码在传输或储存时被泄露。举例来说,一个服务器一开始存储了一个由用户提供的哈希值 。进行身份验证时,用户提供给服务器 。服务器计算  ,并与已储存的哈希值 进行比较。然后服务器将存储 以用来对用户进行下次验证。

窃听者即使嗅探到 送交服务器,也无法将 用来认证,因为现在服务器验证的哈希值是 。由于安全的哈希函数有一种单向的加密属性,对于想要算出前一次哈希值的窃听者来说它的值是不可逆的。在本例中,用户在整个哈希链用完前可以验证1000次之多。每次哈希值是不同的,因此不能被攻击者再次使用。

参见编辑

  • 问答认证
  • 哈希表-与递归哈希链结构恰恰相反,每个哈希表的元素是相互独立的。
  • 一次性密码

参考文献:编辑

  1. ^ L. Lamport, “Password Authentication with Insecure Communication”, Communications of the ACM 24.11 (November 1981), pp 770-772.[1]页面存档备份,存于互联网档案馆[2]页面存档备份,存于互联网档案馆

外部链接编辑