Gal*_*len 11 passwords hash cryptography salt rainbowtable
我花了两个小时阅读盐渍密码,确保我理解了这个想法.我希望你们中的一些人可以分享你对我的结论的了解.
如果这是真的那么盐腌似乎真的没有那么多帮助.它只会轻微地减慢攻击者的速度.
我知道理想情况下你会想要强制使用复杂的密码并用独特的随机字符串加密它们,但强制使用复杂的密码会让用户烦恼(我知道这让我感到烦恼),所以很多网站都不这样做.看起来网站对他们的用户不利,并且强制复杂的密码比一个好的腌制方法更重要.
我想这不是一个问题,而是要求其他人了解情况.
Bil*_*ard 14
盐的一点是攻击者不能再使用预先存在的字典来攻击系统中的任何用户.他们必须使用该用户的盐为每个用户创建一个全新的字典,这需要时间和精力.如果您在为系统的所有用户创建词典之前了解了违规行为,那么您就有时间采取行动.(警告用户必须更改其登录凭据,这应生成新的随机盐.)
我要说的是,你应该使用这两种盐,并在最复杂的密码(口令短语,真的),你的用户会容忍.即便如此,腌制是一项基本的安全措施,如果没有盐腌,你就无法承受.
对于大多数网站,我倾向于采用一种方法,即每个用户使用一个盐,全局盐(每个算法的盐),以及适度的密码复杂性规则(8个字符,其中包含至少2个大写/数字/标点字符的组合).使用盐需要为每个要破解的帐户生成彩虹表 - 假设每个用户使用独特的盐.使用全局salt要求您同时破坏数据库和应用程序服务器.就我而言,这些总是两个独立的系统.使用密码复杂性规则有助于防止使用简单,易于猜测的密码.
对于具有更多权限的帐户,您可能希望强制实施更高的密码复杂性.例如,我们的AD林中的管理员必须至少具有15个字符的密码.它实际上比短密码更容易,因为它几乎迫使你使用密码短语而不是密码.
您还希望指导用户如何创建正确的密码,或者更好地传递短语,并了解各种社会工程攻击,这些攻击会绕过保护数据的所有技术手段.