【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

快速哈希算法破坏了加密的安全性

  • 2012-08-04
  • 本文字数:806 字

    阅读完需:约 3 分钟

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

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

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

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

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

查看英文原文: Fast Hashes Kill Cryptographic Security

2012-08-04 18:403706
用户头像

发布了 340 篇内容, 共 125.4 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

kafka consumer group

Eric

电商平台:收货地址

worry

电商平台

用例画成流程图 - 第四章,第三讲总结

mas

windows10+python3.8.0(anaconda)+MeCab安装总结

lauqasim

Python Mecab 日文分词

Spark Shuffle 内部机制(三)

hanke

大数据 spark 开源 数据

现在与以前的你相遇在此刻,让二种不同的风格,创造未来你自己的手艺吧。

叶小鍵

(28DW-S8-Day4) 区块链里面2个核心问题

mtfelix

28天写作

几个小实践带你快速上手MindSpore

华为云开发者联盟

华为 AI mindspore 智慧终端 端边云

华云·云场景应用详解|安超DCM给数据中心“做主”

华云数据

浅谈Python中遇到extend和append,该怎么区别使用

莫陌默

Python 列表 函数

关于MVCC,我之前写错了,这次我改好了!

艾小仙

Java MySQL 数据库 面试 MVCC

Kafka.06 - 数据持久化介绍

insight

kafka 2月春节不断更

设计模式之代理模式

Geek_7cf491

Java 设计模式 代理模式

程序员成长第十五篇:编码的注意事项

石云升

程序员 28天写作 2月春节不断更

工作中当你感觉焦虑的时候,该怎么办?

一笑

28天写作

设计模式【2.2】-- 工厂模式怎么演变成抽象工厂模式?

秦怀杂货店

设计模式 工厂模式 23种设计模式 工厂方法模式

效率工具分享-Quicker

十天、

效率 效率工具 工具 工具软件

以AI之名 | 给千万级合同管理安上“AI”,华为商务经理工作量大解放!

华为云开发者联盟

人工智能 华为 合同 商务 合同管理

Elasticsearch入门,这一篇就够了

知南茶温暖

jupyter在加载pkl文件时报错ModuleNotFoundError: No module named 'pandas.core.internals.managers'; '的解决方法

无极限

Python Jupyter Notebook jupyter

CPU高速缓存与极性代码设计

华为云开发者联盟

缓存 数据 cpu 存储

2021MWC上海召开丨5G与千行百业“和合共生”

浪潮云

云计算

日记 2021年2月24日(周三)

Changing Lin

2月春节不断更

修改OpenCV一行代码,提升14%图像匹配效果

Smile

机器学习 OpenCV Python Turtle 图像处理

Python入门-位运算

123568

Python 入门 位运算

容器 & 服务:Docker应用的Jenkins构建

程序员架构进阶

Docker 容器 七日更 28天写作 2月春节不断更

带你快速了解Flutter的发展和应用

anyRTC开发者

flutter 音视频 WebRTC 跨平台 sdk

索引失效的场景

new life

MySQL 索引性能

得不到的永远在骚动——蔡格尼克效应

Justin

心理学 习惯养成 28天写作 游戏设计

cobra-强大的CLI应用程序库

happlyfox

GitHub cli 28天写作 2月春节不断更 Go 语言

BFF (Backend for frontend)避坑指南

码猿外

架构 微服务 BFF

快速哈希算法破坏了加密的安全性_.NET_Roopesh Shenoy_InfoQ精选文章