由CSDN泄密想到的:MySQL数据库验证过程的改进、密码存储及验证方法的总结
浏览:1831次 出处信息
这几天CSDN数据库明文密码泄密闹得满城风雨,人人自危。大家开始关注网络安全和隐私问题。由这次的问题,对加密验证过程我也思考过,有没有一套相对安全的存储和验证方法?这里我根据各种验证方法,确实总结了一套可行且相对安全的存储和验证方法,且看我细细道来,最后提出MySQL当前验证方法的改进。- by 谭俊青
一个系统对用户请求的合法性验证都是通过sessionid来判断的,这个层面的攻击和破解这里不涉及,我们只关心在session建立前的验证过程。密码存储的方式和验证方法大致可以归结为以下几种:
对第4种方法进行变种,可以得到很多验证方法,都相对安全可靠得多,但是都存在一个问题,这个问题在mysql4.1之前的版本也存在着,就是如果有人得到存储的hash值,即可以模拟登陆,并验证通过。
现在我们回到MySQL密码的存储和验证过程。在4.1之前,mysql的验证方法相对简单,方法如下:
这样的验证方法看似比较安全可靠,即使你监听网络也不会获得password或者其hash值。但是如果有人通过其他途径,获得了password的hash值,那么就可以模拟登陆系统,因此我们需要对验证过程进行改进。下面介绍mysql4.1之后的密码存储和登陆验证过程:
这个验证过程看似复杂,其实整个过程就是为了保证 sha1(password)不被监听到,用随机串进行了干扰。至此我们的密码存储方式和验证方法的安全性都得到了极大的提升。 当然我们发现mysql 4.1之后的密码存储还是有点小问题,没有加salt,因此存在一定的风险,可以建议官方版本改进,比如将 salt 用用户名代替,整个验证过程几乎不用大的改动。
建议继续学习:
- 网站密码存储方案比较 (阅读:5305)
- 解决linux下安装ssl后,apache重启时需要密码 (阅读:5145)
- 懒人连ssh不输密码若干大法 (阅读:4366)
- 利用QQ游戏破解QQ密码 (阅读:4072)
- SSH无密码登录 (阅读:4060)
- Linux各版本root密码的本地破解方法 (阅读:3689)
- CSDN明文口令泄露的启示 (阅读:3277)
- 正确重置MySQL密码 (阅读:3199)
- 懒人连ssh不输密码若干大法 (阅读:3018)
- 为什么一定要有密码? (阅读:2709)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
文章信息
- 作者:谭俊青 来源: MySQL 实验室(BLOG) - MySQL性能、MySQL Cluster集群、MySQL HA高可用等研究 - MySQL实验室
- 标签: CSDN 密码
- 发布时间:2012-01-03 23:50:57
建议继续学习
近3天十大热文
- [679] WEB系统需要关注的一些点
- [18] 移动音乐产品梳理
- [16] 豆瓣是啥?
- [15] 修改系统最大文件句柄数
- [14] 哪本书是对程序员最有影响、每个程序员都该阅读
- [13] InnoDB insert性能拐点测试
- [13] Chrome开发者工具的小技巧
- [12] 内存的惰性初始化
- [11] 一张图帮你看懂 iPhone 的屏幕分辨率
- [11] 从LinkedIn,Apache Kafka