据国外媒体报道,Django开源Web应用框架周一放出一款安全补丁,指出过长的密码其实也存在安全问题,容易被黑客利用成为DoS攻击手段之一。
过去相当一段时间,我们都强调要用复杂且较长的密码来保护我们的数字资产。大多数网站在保存用户密码时会使用PBKDF2等算法进行加密,以让明文信息得以哈希值的方式保持于数据库中。然而,这种加密过程会要求服务器执行较为复杂的计算,而密码越长,所消耗的计算时间也就越长。
根据Django今日的声明指出,一段长达1兆字节的密码若采用PBKDF2算法进行加密,需耗费服务器约一分钟左右的计算时间。此种情况会被黑客所利用——即故意反复发送长度较长,且必定不匹配的密码,则有可能导致服务器宕机,成为典型的DoS攻击案例。
鉴于此,Django在今天的安全更新中特别对密码长度进行了限制,为4096个字节。