首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在服务器上哈希密码有安全优势吗?

在服务器上哈希密码有安全优势吗?
EN

Security用户
提问于 2015-08-11 08:32:08
回答 4查看 212关注 0票数 2

我在研究一个认证系统。现在,在这个系统中,用户登录并向服务器发送散列密码。这足够了吗?还是我必须重新破解密码?

所以基本上这个密码是=>散列=>网络=>散列=>数据库

那么密码=>哈希=>网络=>数据库更安全吗?或者哈希已经散列的密码是浪费时间和空间?

还是应该是密码=>网络=>哈希=>数据库?

作为一种额外的好处,未来可能的扩展是让用户登录到远程服务器上,在远程服务器上必须保存和使用信用,以便将来与服务器进行交互,从而产生这样的结果?

密码=>网络=> database1= >网络=> database2

这是否意味着要有2到3次?

EN

回答 4

Security用户

发布于 2015-08-11 08:41:24

在将密码发送到服务器之前,没有额外的安全性,因为现在这个散列将成为密码。更重要的是通过加密通道(SSL/TLS)发送密码,以防止密码以明文形式发送,并被网络上的其他人读取。

要存储密码,您应该散列+加盐,再次防止密码被存储在明文中。如果哈希是在客户端完成的,并且您存储了这个哈希,它仍然像以明文形式存储密码一样,因为这个散列现在是密码。

因此,在存储密码之前,请始终在服务器上散列(+salt)密码。

票数 2
EN

Security用户

发布于 2015-08-11 08:43:05

这取决于攻击的类型。

如果攻击是中间人类型的,那么如果在到达服务器之前再次对其进行散列,那就没有意义了,因为第一个哈希已经在其途中泄漏了。

如果攻击发生在服务器端,那么最好保留password => hash => network => hash => database,因为这会使野蛮的过程更加耗时。

如果攻击发生在客户端本身(例如,客户端机器上安装了一些键盘记录器),那么所有这些进程都将是浪费。

这些天,只有哈希密码是不可靠的。您应该查看salting的过程,以使其更加可靠和安全。

票数 0
EN

Security用户

发布于 2015-08-11 08:46:37

在存储密码之前,您可以使用氪石bcryptPBKDF2对密码进行散列和腌制。密码哈希是伤害遏制姿态。我认为两次或更多次重述是没有用的。您可以使用彩虹台攻击安全散列,在存储哈希之前将应用到哈希可以防止这种攻击。如果您感兴趣,我建议您阅读这篇文章(为什么盐渍散列对于密码存储更安全?)以获得更详细的信息。我读过一些使用这种方法的系统,他们的密码在20年中仍然是安全的,即使用户在一段时间内保持相同的密码。

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/96521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档