我正在调查基于零知识证明的安全性。我注意到服务器从来不需要发送用户的密码来进行身份验证--密码可以用来生成另一个被发送的值。服务器有密码,因此它可以在服务器端生成该值。这样,用户可以证明他们是谁,他们说,他们是不发送密码。这个共享的秘密值可以用来为一个随机数生成器注入种子,然后可以用来对它们的消息执行操作,这些操作会使数据在潜在攻击者看来是随机的,但是可以由接收方(它有种子,可以重新创建扰码过程)进行撤销。
这样的制度似乎有以下问题:
一种可能是只接受最低程度的不可预见性的密码(使盐类、非less和变异器变得不那么必要),但用户不会热衷于记住一堆字母和数字。
使用用户密码生成共享秘密(共享秘密将是随机数生成器的种子)是否还有其他问题需要克服?
发布于 2017-08-15 13:31:55
我仍然不完全确定您要求什么,但可以使用密码认证密钥协议。它将防止密码的离线暴力强制。
https://crypto.stackexchange.com/questions/50813
复制相似问题