1.写在前面网络安全是一个非常重要的领域,今天和大家一起来学习和密码相关的话题 。
说到密码大家肯定都不陌生,我们每个人都有一些列的密码:邮箱密码、社交网站密码、各种App密码等等,密码就如同每个人网络领域的一把钥匙 。
对于我们使用者来说,我们尽量避免使用一些烂大街的密码比如:123qaz、qazwsx等、提高密码的复杂度、避免使用生日等基础信息作为密码、另外要定期更换密码等来确保个人信息安全 。
对于功能服务提供商来说,妥善存储保管密码是一个很重要的环节,一旦造成密码泄漏等事故造成的影响会很大,要严肃对待 。
然而并不是所有的事情都如我们所期盼那样,网上用户敏感信息泄漏的事件比比皆是,国内外都有一些案例,可以自行搜索引擎搞起 。
前面铺垫了一下于是引出本文的主题:
文章插图
通过本文你将了解到以下内容:
- 密码交互基本过程
- 明文存储密码
- 单向无盐哈希存储
- 预计算哈希链集合和彩虹表原理
- 哈希+盐存储
- 专业密码加密算法
文章插图
从严格意义上来说每个环节都可能造成密码的泄漏,过程越多出错的概率就会越大,其中用户登录认证的基本步骤可以归纳为:
- 用户填写账号、密码以及验证码等信息;
- 在之前注册时填写的密码经过加密储存在数据库中并做持久化备份,后续登录做验证;
- 服务端从数据库获取该用户名下的加密密码,并且将用户输入使用相同加密过程计算结果,二者进行对比;
- 二者相同则用户被授权登录,当然这里不考虑手机验证码之类的措施;
- 如果二者不同则提示失败,并且对最大尝试次数做限制;
3.密码的明文存储这种明文存储密码的方法让人觉得不可思议,但是实际上真的有这样做的,就像这样把密码明文直接存储在MySQL,如图:
文章插图
这种明文存储的密码数据一旦被拖库,就会造成很大的问题,对于一些私人小站可能会存在这种情况,因此我们日常一定要注意鉴别,以为这些站点的防范意识不够,后台漏洞很容易被不法分子利用造成泄漏,当然也有少数知名站点明文存储的案例,只能说有点无语了 。
现在的密码太多了,很多人不借助一定规律或者工具的前提下会将1-2个常用密码用在很多站点,这样就出现了木桶效应:只要一个站点的密码被泄漏其他站点的密码也就不安全了 。
文章插图
大锤就是密码太多他记不住,索性就用一个密码注册登陆日常的很多app,有一天他为了玩游戏注册了一个小破站点,后来密码泄漏了,就这样他的其他常用app就面临着被盗的风险 。
对于这种明文存储的案例,网上有人说这是灯下黑...,让我听着有种网剧看多了的感觉,个人觉得主要原因就是意识不够 。
说起这个让我想起,有次放假回老家,坐客运车途中要加油,正在加油的时候,车上有个人接打电话,没过一会儿车上很多人不乐意了,开始嚷嚷他别打了,哈哈哈 。
4. 单向无盐哈希存储在谈论单向无盐哈希存储之前,我们先来达到一个共识问题:我们常说的md5/sha其实都是摘要算法,并不是加密算法 。
4.1 摘要算法和加密算法加密算法和摘要算法之间有很大区别,虽然都是把明文进行变形处理,但是加密算法必然对应解密算法,也就是输入值经过加密算法处理之后可以使用解密算法还原,但是摘要算法一般认为是单向不可逆的,没办法轻易还原原始输入 。
如图展示了加解密可逆过程(注加密密文是我胡乱写的):
文章插图
如图展示了摘要算法不可逆过程(注摘要密文是我胡乱写的):
文章插图
简单了解了摘要算法和加密算法的区别与联系之后,我们可以知道摘要算法是单向的,我只知道原始输入A的摘要输出是B,但是根据B很难推出来A 。
推荐阅读
- 西红柿要如何保存,才能延长保鲜期限?
- 面试官问你:今后你的职业规划是什么?该如何回答?
- 不同的体质该如何吃肉?
- 滇红茶如何冲泡
- 淘宝直播间怎么引流呢 淘宝直播如何推广引流
- 黄茶如何冲泡 起来看黄茶冲泡步骤
- 懂得如何泡茶 才能喝好茶
- 黑茶如何冲泡出好滋味来
- 如何正确看待茶叶耐泡度
- 家居装修中屏风如何选择