博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
快速哈希算法破坏了加密的安全性
阅读量:6677 次
发布时间:2019-06-25

本文共 761 字,大约阅读时间需要 2 分钟。

像MD5、SHA和SHA1之类的快速哈希算法的用意并不在安全性——保护重要的信息,特别是密码,哈希算法必须有意地减慢反向暴力破解速度。是一位微软的MVP,它演示了所提供的密码哈希值如何易于被暴力破解。

SqlMembershipProvider是VS 2010中ASP.NET web应用程序模板中的默认成员(membership)提供程序。Troy在他的文章中演示了经过SqlMembershipProvider中SHA1哈希算法处理的密码安全性是如何被破解的,其中使用的是GPU、名为的字典以及暴力破解算法。在规模为40000条的真实密码样本中(来自于之前的一次攻击),算法在45分钟内破解了24710个,占总体样本的67%。 其中包括被认为是很强壮的密码:

像“volleyball6”,有11个字符,两种字符类型。甚至还有“zaq1@WSX”——由八个字符组成,其中有大写、小写、数字和符号,肯定足以通过大多数安全策略,但是即便被存储为“安全的”哈希值,也完全没用。

问题在于你拥有了可能的密码字典之后可以快速创建新的哈希值,并且硬件变得越来越快。

那么如何来解决这个问题呢? ,通过多次迭代哈希算法,能够提供一种方式来让哈希算法变得足够慢,使得暴力破解更加困难。和都是这样的算法——它们叫做适应性算法,因为通过增加迭代的次数,会随着时间推移而变得更慢(因为硬件变得更快)。实现了前者,而DefaultMembershipProvider实现了后者。 DefaultMembershipProvider对SHA1使用了1000次迭代,它是VS2012的ASP.NET MVC 4模板政所提供的默认选项。Troy的文章说明了如何使用这些方法,以及如何把应用程序迁移到使用更强壮的哈希算法,而不会破坏你的身份验证过程。

转载地址:http://ecyao.baihongyu.com/

你可能感兴趣的文章
puppet on windows
查看>>
岁末说安全 详解U-Mail邮件服务器多重防护盾
查看>>
数组顺序存储二叉树
查看>>
excel導出框架
查看>>
maven 编译 run test的时候控制台输出乱码信息
查看>>
SpringMVC实现上传和下载
查看>>
C#基础知识整理:基础知识(14) 数组
查看>>
HashMap源码理解
查看>>
Linux下的系统时间和主板时间
查看>>
Python 学习笔记之函数的参数对应(进阶)
查看>>
ubuntu wireshark 安装
查看>>
C#读取 和写入文件的方法
查看>>
缓存查询计划对性能的提升验证测试
查看>>
iOS切面编程
查看>>
Lungo 使用说明及心得 中文api —— JavaScript部分
查看>>
Linux常用命令--ls、cd、date用法
查看>>
DataTable 用 foreach 循环出来
查看>>
我的友情链接
查看>>
Docker 生产SSH服务的镜像
查看>>
LightGBM 算法原理
查看>>