首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用密码播种随机数发生器的问题

使用密码播种随机数发生器的问题
EN

Cryptography用户
提问于 2017-08-13 12:58:43
回答 1查看 195关注 0票数 0

我正在调查基于零知识证明的安全性。我注意到服务器从来不需要发送用户的密码来进行身份验证--密码可以用来生成另一个被发送的值。服务器有密码,因此它可以在服务器端生成该值。这样,用户可以证明他们是谁,他们说,他们是不发送密码。这个共享的秘密值可以用来为一个随机数生成器注入种子,然后可以用来对它们的消息执行操作,这些操作会使数据在潜在攻击者看来是随机的,但是可以由接收方(它有种子,可以重新创建扰码过程)进行撤销。

这样的制度似乎有以下问题:

  • 攻击者现在可以通过预测密码来破坏系统。由于人们倾向于使用部分基于真实单词的密码,攻击者通常不需要考虑k位密码的所有26^k可能性。
  • 即使您使用salt/nonce/timestamp来更改结果密钥,也需要将其发送到服务器(允许攻击者使用它),或者服务器必须在不被告知的情况下知道它,允许攻击者在不被告知的情况下也知道它。
  • 即使您使用类似于HMAC的内容来转换密码,事实仍然是原始密码并不特别安全。攻击者可以简单地将他们对密码的猜测传递给用于转换密码的任何算法。
  • 如果您希望有一些计数器或其他数据在会话的基础上更改密码(并且您不想发送mutator,而是让用户和服务器从他们过去的交互(例如登录次数)推断它),用户必须记住mutator (这意味着如果他们丢失/忘记/错误地记住了mutator,他们将被锁在帐户之外),或者将其存储在他们的机器上(阻止他们登录在不同的设备上)。

一种可能是只接受最低程度的不可预见性的密码(使盐类、非less和变异器变得不那么必要),但用户不会热衷于记住一堆字母和数字。

使用用户密码生成共享秘密(共享秘密将是随机数生成器的种子)是否还有其他问题需要克服?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2017-08-15 13:31:55

我仍然不完全确定您要求什么,但可以使用密码认证密钥协议。它将防止密码的离线暴力强制。

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

https://crypto.stackexchange.com/questions/50813

复制
相关文章

相似问题

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