一文详解密码学Hash算法的安全问题(加盐+HMAC)

编程入门 行业动态 更新时间:2024-10-25 19:29:18

一文详解<a href=https://www.elefans.com/category/jswz/34/1761750.html style=密码学Hash算法的安全问题(加盐+HMAC)"/>

一文详解密码学Hash算法的安全问题(加盐+HMAC)

密码学Hash算法的安全问题

    • 密码学Hash算法作为身份验证的安全问题
    • 重要声明
      • 彩虹表
        • 什么是彩虹表
        • 彩虹表从哪来的
        • 彩虹表怎么用
    • Hash加盐
      • 静态盐
      • 随机盐
      • 盐的存储
      • Java加盐Hash的实现
    • HMAC
      • Hash一致性校验的问题
      • HMAC
      • Java HMAC的实现

文章- 一文详解密码学中的Hash 算法, 我们介绍了密码学中Hash算法的性质、分类以及使用场景。在使用场景中,我们介绍了这些场景的具体使用方式方法。为了保持文章的连贯性和可读性, 对于其中的潜在安全问题,我们简单一笔带过。今天我们另开一篇文章,着重介绍密码学Hash算法的主要安全问题以及对应的解决办法。希望能大家使用密码学Hash算法带来更多维度的考量。

密码学Hash算法作为身份验证的安全问题

上一篇文章我们介绍了怎样使用密码学Hash算法的单向特性来作为用户身份验证的方案:

密码学Hash算法必须具备有单向性,也就是不可逆,不能从Hash值逆向推算出原始值,基于这种特性,我们可以用来进行用户身份验证。用户登录都需要进行用户名密码的校验,如果我们将用户密码存在数据库里面,一旦数据库泄露,那就所有人的密码都泄露了,这样的事情前几年发生了不少!那么如果我们将用户的原始密码进行Hash运算,并只是把Hash值保存在数据库里面,当用户登录时,我们计算用户输入密码的Hash值,并与数据库的Hash值进行比较,如果相同则验证通过,不同则失败。而用户的明文密码不进行保存,这样一来,万一数据库泄露了,也不会一下子泄露了全部的用户密码

简单地说 用户的密码在系统中变成了 f ( p ) = h ( p ), 而验证的时候, 计算h(p’) = h ( p ), 其中p为用户设置的密码,p’为登录时用户输入的密码,这样系统就可以不用明文保存用户的密码。比如常见密码password1 用SHA256保存在数据库就变成了0b14d501a594442a01c6859541bcb3e8164d183d32937b851835442f69d5c94e , 登录时系统校验 SHA(input)是否等于这个Hash值,相同则通过验证。

感觉这样很可行,就连系统管理员直接查DB也不知道你的密码是什么,因为目前常用的Hash算法不可逆的特性都还没被打破,也就是基本没办法从Hash值反推出原始消息。

重要声明

我们这里将会根据计算机网络安全所遇到的问题进行介绍,目的是提高我们开发人员的密码安全意识,提供系统的攻防能力!一定要在合法的前提下进行网络安全的攻防演练!

彩虹表

什么是彩虹表

道高一尺魔高一丈!反推不行,那我就干脆“正推”。上一篇文章我们介绍Hash算法的时候有一个特性相同的输入消息总是能得到相同的Hash值. 那如果有一个Hash值的表,里面包含了原文以及Hash值,如果我的Hash值跟你系统的Hash值一样,那我就可以知道你的密码是什么了!!!比如你的密码是password1, 然后数据库存的是SHA的值0b14d501a594442a01c6859541bcb3e8164d183d32937b851835442f69d5c94e, 这时如果攻击者的密码表中 有如下数据:

sequencehashpassword
1e5e8b2d214db8f3689be77f6fde9b64164b3e792efb329e9a9b53993055d6c8estrongPassword1
20b14d501a594442a01c6859541bcb3e8164d183d32937b851835442f69d5c94epassword1<

更多推荐

一文详解密码学Hash算法的安全问题(加盐+HMAC)

本文发布于:2024-03-13 03:59:01,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1733137.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:密码学   一文   安全问题   算法   详解

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!