盐渍密码可以反转吗?

时间:2015-12-31 02:13:01

标签: security salt

我刚刚在hosting24.com上按了'忘记密码',只是将我的密码以纯文本形式发送给我(见下图)。我联系了他们的技术支持来质疑这个,他们告诉我:

  

我们在网站上使用Salt加密,密码不存储   用纯文本。如果您有任何疑问,请告诉我们   数据的安全性。

我理解的方式是,一旦密码被“腌制”,就无法将其反转回纯文本。我也非常关注,考虑到他们的合作伙伴公司000webhosting是massive hacking incident recently的受害者,这暴露了他们的安全性低于标准杆。

感谢。

enter image description here

修改
在收到几封热烈的电子邮件后,我终于收到了回复:

  

我们的密码是使用安全加密方法加密的   数据库。虽然我们确实有一个解密方法(即   用来防止欺诈),这一切都会随着我们的变化而改变   重新设计项目并更新代码以适应新时代   标准。很抱歉让你失望。

     

如有任何其他问题,请与我们联系。节日快乐!

'新时代'。惊人的。

修改
我发送网站这个链接来证明一点,所以我期待他们的技术支持下来一大堆下来的投票。

2 个答案:

答案 0 :(得分:4)

不,他们不能没有天文计算能力。我投注了大笔资金,他们有第二个明文密码数据库。

答案 1 :(得分:4)

Salted 散列密码不是直接可逆的 - 这就是散列的重点。但是,总是可以尝试通过强力恢复它们,尝试所有可能/可能的密码以查看散列是否匹配。

要做多少钱取决于所用哈希的强度,但是你永远不会构建一个以这种方式存储和解密密码的系统。如果他们说他们只存储盐腌哈希,并且仍然可以向您发送您最初设置的密码,那么他们显然是在撒谎。

他们没有提到哈希:

  

我们在网站上使用Salt加密,密码不以纯文本形式存储。

“盐加密”不是一件事,但让我们尽可能地慷慨。

有可能他们意味着他们使用可逆加密和一些随机元素(变量IV或加密消息中的额外数据),这将确保两个密码不能获得匹配的加密版本(即与''相同的目的'在散列操作中的盐'。

也可以想象,为什么他们需要可逆密码可能有一些正当的理由,例如,如果他们需要使用密码来验证另一个单独的系统。使用可逆密码构建合理的系统是可能的,但与Good Old Bcrypt相比,管理这种方式要花费更多的精力(例如,应用服务器上的密钥;管理该密钥的广泛内部策略; HSM;以及防水代码审计)

假设我们接受这是他们已经完成的事情并且他们已经实施了这一点(这非常值得怀疑 - 他们更有可能获得明文密码或黑客攻击和易受攻击的AES)。即使这样,他们也会通过通过未加密的公共SMTP基础设施发送邮件反转密码来烧毁它。

您可以采取一些措施来缓解邮件渠道的不可信赖性,例如发送一次性令牌或需要在之后设置新密码的临时密码。但是,永远不会有充分的理由发送现有密码,该密码将继续在目标站点上运行,并且您可能已经用它来保护其他服务。用户设置的密码永远不会触摸SMTP。