请问在一些系统中鉴别信息使用先MD5后AES的组合加密,这种做法从密码学的角度讲提高了保密性吗?
请问在一些系统中鉴别信息使用先MD5后AES的组合加密,这种做法从密码学的角度讲提高了保密性吗?
About
首先回答题目,提高了。
题主想要学习更多,可以选择了解两个名词叫做字典攻击和彩虹表。这里我们直接告诉你它们的作用是:都可以快速的将常见密码或者较短密码从散列值中恢复出来。
而这个快速是有代价的,代价就是时间换空间,然后空间再换时间。
首先需要生成一个常见的hash表(彩虹表),然后才能用来进一步破解密码。
如果获取了AES密钥,但是通过AES加密之后就无法提前生成相应的hash表(彩虹表),这样就可以有效的提高安全性,以及提高黑客的攻击成本。
而且当AES密钥没有泄露的前提下,建立相对应的hash表(彩虹表)是不可能的。
与加盐相比,这个方案的重点是避免了sql注入攻击带来的脱裤的影响。
注意:sql注入攻击带来的脱裤后的密码即使加盐之后,也无法抵御撞库攻击。撞库攻击是指通过同一个用户id,将一个已知用户密码在另外一个加密数据库中尝试碰撞出密码。
当黑客没有掌握服务器本身(或者说没有拿到AES密钥的前提下),就无法完成撞库行为,自然也无法验证用户的密码是否相同。
综上所述,这是一个很不错的改进。