加密存储在数据库中的用户名是否有益?

前端之家收集整理的这篇文章主要介绍了加密存储在数据库中的用户名是否有益?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
第一个&在 this question about passwords management上接受的答案建议加密DB中的用户标识符.

好处是,如果有人获得密码,他必须知道如何解密用户登录以获得完整的登录/密码对.

我看到的一些缺点,例如:

>每次要显示用户登录时,都必须解密用户登录
>如果你想用’开始’搜索用户登录来查找用户,你不能简单地使用LIKE’…%’
>登录字段上的ORDER BY可能也很难……

你会推荐什么(加密用户标识符)?

解决方法

像往常一样,答案是“它取决于”.

一般来说,我会说如果攻击者可以访问您的数据库,那么您的安全状况就会严重受损,加密密码可能对您没有好处.这与使用单向散列不同 – 有权访问您的数据库的攻击者也可以访问您的解密密钥,而根据定义,单向散列是单向散列.

正如您所说,您可能需要定期访问userID(例如,如果您使用电子邮件地址作为用户ID);在这种情况下,再次,可以读取您的数据库的攻击者可能会拦截未加密的数据.

因此,如果您在银行,政府或数据安全必须位于列表顶部的任何其他地方工作,这种额外的保护可能是值得的,特别是如果您拥有强大的密钥管理系统.

对于其他用途,我认为额外的安全性太小,不值得额外的痛苦.

猜你在找的MsSQL相关文章