密码重置令牌的过期时间

问题描述:

当用户忘记密码时,他们可以重置密码(在大多数网站上)。他们通过收到带有重置令牌的电子邮件来完成此操作,然后使用它设置新密码。此令牌通常会在一段时间后过期以防止猜测。密码重置令牌的过期时间

假设令牌是256位。用大量的超级计算机来强化它仍然需要(非常粗略的)10^50年。即它不能用现有的知识完成,绝对不在1小时内(正常到期时间)。现在的问题是:为什么我们要防止猜测呢?

+0

假设你的意思是256字节。你也从来没有提到加密方法。即使有一个巨大的密钥,如果你加密性差,破解是微不足道的。 – Trickycm

+0

不,我的意思是位,只是一个数字,没有加密密钥。这基本上只是猜测一个256位数字。 –

+0

啊,当然,你们很长一段时间。 – Trickycm

猜测是不是真的你保护它。正如你所想的那样,熵的大小本身就是照顾的。

过期主要是为了缓解可能的未授权访问该令牌,因为有很多方式可以从电子邮件中泄漏。完全像你为什么不应该将用户密码发送到他们的电子邮件地址。
其他人可能会临时访问电子邮件帐户,恰好与帐户所有者一起阅读,或站在他们后面等等。各种欺骗手段都是可能的。

另外,没有人想要一个充满旧的数据库表,但据称是暂时的一次性令牌 - 每个开发人员都喜欢清理垃圾数据。

+0

您无法真正阻止其他人访问电子邮件帐户,因为那个人当时可以请求新的令牌。防止有人看着你的肩膀被两件事情所避免。首先,令牌是256位随机性,不容易注册。其次,你可以将它隐藏在按钮(html-email)中。 (清理你的数据库是我猜的一个很好的论点,但没有那么多的安全相关,例如肯定会等待48小时。) –

+0

当然,你可以做很多小化妆品来隐藏令牌,但没有保证它并不是真正的重点 - 这个过程必须通过设计来保证安全,而不是依赖于某些前端魔法。是的,当然如果有人永久访问帐户可以请求一个新的密钥,但这里的关键词是“泄漏”和“临时”。 – Narf