【问题标题】:How to implement reset password for a password manager如何为密码管理器实现重置密码
【发布时间】:2017-07-26 22:40:54
【问题描述】:

我怎样才能最好地为密码管理器实现重置密码功能?我目前正在保存一个散列+加盐的主密码,并用主密码本身加密密码,但是如果用户丢失了他的主密码,这意味着密码无法解密。

我考虑过保存使用主密码加密的密码版本和使用用户电子邮件加密的版本+用户创建帐户时生成的一些随机令牌,但这会安全吗?这样做时有什么最佳做法吗?

用户的电子邮件也只存储为哈希。

所以为了澄清我的问题,如果密码丢失,是否有恢复使用密码加密的数据的最佳做法?

【问题讨论】:

  • 仅使用散列函数是不够的,仅添加盐对提高安全性无济于事。相反,iIterate over an HMAC with a random salt for about 100ms duration and save the salt with the hash.使用PBKDF2password_hashBcrypt等函数和类似函数。关键是让攻击者花费大量时间通过蛮力寻找密码。
  • @zaph 我目前正在使用 PBKDF2 来生成散列并验证密码,但是当用户忘记密码时这并不重要,我没有在引用中提到这一点。还是谢谢。
  • *问题,不是引用

标签: encryption passwords


【解决方案1】:

安全性会降低到您存储“随机令牌”的方式,我认为它根本不安全。没有最佳实践。您可以将主密码写在一张纸上,然后将其锁在银行的保险箱或类似的地方。

更短:如果不信任其他人,本地密码管理器就无法使用密码重置功能。

【讨论】:

    猜你喜欢
    • 2022-01-21
    • 2012-05-19
    • 2011-09-15
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    • 2021-06-25
    • 2015-05-14
    相关资源
    最近更新 更多