在计算机安全中 哈希链 是一种由单个密钥或密码生成多个一次性密钥或密码的一种方法。
定义
哈希链 是将密码学中的哈希函数循环地用于一个字符串。(即将所得哈希值再次传递给哈希函数得至其哈希值)
例:
一个长度为4哈希链,通常记
应用
兰波特 [1]建议将其作为一种在非安全环境中的密码保护方案。相比较而言,一个提供身份验证的服务器储存哈希字符串,比储存纯文本密码,更能防止密码在传输或储存时被泄露。举例来说,一个服务器一开始存储了一个由用户提供的哈希值。进行身份验证时,用户提供给服务器。服务器计算 ,并与已储存的哈希值进行比较。然后服务器将存储以用来对用户进行下次验证。
窃听者即使嗅探到送交服务器,也无法将用来认证,因为现在服务器验证的哈希值是。由于安全的哈希函数有一种单向的加密属性,对于想要算出前一次哈希值的窃听者来说它的值是不可逆的。在本例中,用户在整个哈希链用完前可以验证1000次之多。每次哈希值是不同的,因此不能被攻击者再次使用。
参见
- 问答认证
- 哈希表-与递归哈希链结构恰恰相反,每个哈希表的元素是相互独立的。
- 一次性密码
参考文献:
- ^ L. Lamport, “Password Authentication with Insecure Communication”, Communications of the ACM 24.11 (November 1981), pp 770-772.[1] (页面存档备份,存于互联网档案馆) [2] (页面存档备份,存于互联网档案馆)
外部链接