发送相同的 OTP,只要它没有过期

问题描述 投票:0回答:1

我有一个通过短信和电子邮件发送 6 位 OTP 的系统。

我正在考虑让它发送相同的 OTP(每个用户),只要它没有过期(在我的例子中是 10 分钟)。

因此,例如,如果用户现在创建了一个 OTP,他在 5 分钟后回来,他将收到相同的 OTP(只要时间还没有过去或者 OTP 没有被使用)

有没有安全隐患?

security cryptography
1个回答
0
投票

我唯一能想到的是相同的值被传输两次,如果第一次传输被复制/窃听/等等,攻击者的机会窗口更大。如果传输 2 会使传输 1 无效,则传输 1 的信息此时将变得无用,并且攻击者将需要获取传输 2 以保留登录因子(直到它过期/被使用)。如果使用相同的值,在这种情况下,攻击者的机会窗口将保持打开状态,直到 10 分钟到期或实际使用该值并且不需要捕获传输 2。

取决于所需的安全级别,这可能会或可能不会成为您的一个因素。但这已经考虑到至少能够窃取价值一次的攻击者,所以......也许不是你的典型攻击者。换句话说:对于某些 ICBM 发射代码绝对要考虑这一点,但对于您每天的美元商店、最终客户商店系统,具有这种能力的攻击者可能有点牵强,即使这样的攻击者很可能在您的情况下并且要加以防御,更大的机会窗口可能不是您最关心的问题……多因素身份验证可能会提高标准。

© www.soinside.com 2019 - 2024. All rights reserved.