首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >OTP验证时存在缺陷的OTP系统

OTP验证时存在缺陷的OTP系统
EN

Stack Overflow用户
提问于 2022-11-01 13:48:25
回答 1查看 25关注 0票数 0

我正在创建一个应用程序,用户必须核实他们的电子邮件地址,一旦他们注册。这是通过OTP完成的,OTP是在用户访问注册API之后发送的。如果OTP是有效的,那么我们确认注册,否则我们删除用户。在注册用户时,我还创建了一个OTP对象,并将其与用户相关联。例如,

代码语言:javascript
运行
复制
class Otp{
.
.
.
private User user;

// setter and getter
.
.
}

下面是一个场景。假设用户A已经注册了自己,但还没有验证自己。现在,另一些人点击了验证API,偶然地发送了用户A接收到的相同的OTP,用户A被注册了。现在发生这种情况的可能性很低,因为我的OTP长度将是7-8个字符,但不是零。我认为这是一个安全漏洞。是所有OTP系统都有这样的缺陷,还是我做错了什么。如果是,有人能为OTP系统提出一个好的设计方案吗?

EN

回答 1

Stack Overflow用户

发布于 2022-11-01 14:03:38

你有什么“偶然”的想法?如果您的应用程序发出OTP,您可以限制其有效性(例如24或48小时),并保留OTP列表以避免重复使用,或者使用确定性密码算法生成唯一但不可猜测的密码。

如果您认为用户B只是猜测/蛮力强迫OTP,那么安全性的含义就是任何蛮力攻击,您可能会更安全,因为OTP是真正随机生成的,不会受到字典攻击的影响。

由于OTP只对用户A的帐户有效,所以用户B也必须正确地猜出这一点,从而将概率降低到可以安全忽略的部分。

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

https://stackoverflow.com/questions/74276940

复制
相关文章

相似问题

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