即使已经使用了很多年,MD5至今仍被用作哈希函数。在本文中,我们讨论什么是MD5。它’的历史以及今天如何使用它。 

您的内容管理系统是否依靠MD5哈希方案来保护和存储密码?它’s time to check!        

ZDNet报告 超过25%的主要CMS系统使用旧的和过时的MD5哈希方案作为默认值,以保护和存储用户密码。除非用户通过修改CMS源代码更改默认设置,否则如果黑客破坏了站点数据库,则运行在CMS上的任何网站都会使用户密码处于危险之中。

MD5最初由密码学家和MIT的Ronald Rivest教授于1991年创建,在技术上被称为 消息摘要算法。作为哈希函数,MD5将一组数据映射到固定大小的称为哈希值的位串。哈希函数具有复杂程度和难度各异的级别,用于加密货币,密码安全性和消息安全性。

跟随MD2和MD4的脚步,MD5产生一个128位的哈希值。其主要目的是验证文件是否已更改。 MD5并没有通过比较原始数据来确认两组数据相同,而是通过在两组数据上生成校验和,然后比较校验和以验证它们是否相同来做到这一点。’re the same.

想知道PGP,OpenPGP和GnuPG之间的区别吗? 下载我们的免费加密手册

利用MD5的历史漏洞

MD5的弱点已在该领域得到了利用。最臭名昭著的事件之一是几年前与Flame恶意软件一起发生的,它影响了全世界’s largest companies. 根据eWeek,MD5哈希功能的一个已知弱点使Flame恶意软件背后的威胁行动者团体能够为Microsoft伪造有效证书’Windows更新服务。

为了验证潜在的损害,证书管理公司Venafi当时扫描了全球2000强企业中的450家公司。他们发现每个人都有与其网络关联的MD5证书。总体上,用于签署服务器,代码和VPN访问的证书中,超过17%的证书仍使用MD5算法。

两个 有史以来最大的数据泄露 也涉及MD5。 2013年,发现了据称源自社交网站Badoo的数据泄露事件。该漏洞包含1.12亿个唯一的电子邮件地址和个人信息,例如以MD5哈希存储的名称,生日和密码。 2016年,中国视频服务优酷(Youku)暴露了9200万个唯一用户帐户和MD5密码哈希。

最近, 《 InfoSecurity》杂志去年报道 机器人提供商EpicBot的817,000 RuneScape订户的数据已从该公司先前的违规事件上载到相同的黑客论坛。受损的详细信息包括存储为盐腌MD5或bcrypt哈希的用户名,电子邮件,IP地址和密码。

保留MD5的有效用途

虽然它’MD5是一种加密功能,具有广泛的漏洞,因此,在保护CMS,Web框架和其他使用密码授予访问权限的系统时,您希望远离它。确实如此的原因之一是,找到两个散列为相同值的不同消息应该在计算上不可行。但是MD5未能满足此要求-可能在几秒钟内发现此类冲突。

尽管存在上述违规行为, MD5仍然可以使用 用于标准文件验证以及作为校验和来验证数据完整性,但仅用于防止意外损坏。它还适用于其他非加密目的,例如确定分区数据库中特定密钥的分区。

远离仍然是一个好主意

多年来,随着MD5的广泛使用,但事实证明它很脆弱,MD6哈希算法应运而生。但是MD6相对未使用,并逐渐变得晦涩难懂,这可能是由于人们对MD5存有疑问。近年来出现的免费下载替代方案包括高度复杂的系统,如SHA-2和SHA-3以及BCRYPT,SCRYPT,Argon2,CABHA,WHIRLPOOL和RIPEMD-160。

当您考虑对一个系统进行散列攻击的可能性时,’重要的是要注意,即使使用MD5,也很可能对您有利。仅当两个单独的输入生成相同的哈希输出时,才发生哈希攻击。但是,由于哈希函数具有无限的输入长度和预定义的输出长度,因此很少发生冲突。散列值越长,散列攻击的可能性就越小。

但作为 Carnegie Mellon University 软件Engineering Institute 警告,软件开发人员,证书颁发机构和网站所有者都应避免以任何身份使用MD5算法。正如先前的研究表明,“它应被认为是加密破坏的,不适合进一步使用。”

It’我们也很清楚,网络犯罪分子将继续对使用MD5的任何系统迅速采取攻击。继续使用损坏的加密哈希算法可能会使您的公司面临风险-’s not worth taking.

9f7422aa0abc1584127975-moveit_generic_prod_940x250.jpg

话题: 安全加密

资源://blog.ipswitch.com/what-is-md5