在前几天与一位同事的谈话中,我很难成功地辩护为什么,当您在服务上启用2FA时,您需要在更改密码之前输入第二个因素(例如,在“丢失密码”流中)。
我的论点是,从“道德”的角度来看,如果你启用了两个因素,那么你需要两个因素才能对账户进行任何更改--在丢失密码的情况下,这两个因素将是访问电子邮件+第二个因素。
他的论点是,即使你可以用一个因素重置密码,两个因素认证仍然在做它的工作:即使攻击者可以通过访问你的电子邮件来更改你的密码,攻击者仍然因为第二个因素而无法进入你的帐户,因此,为什么我们需要第二个因素来重置呢?
这里有逻辑谬误吗?如何为重置丢失密码所需的两个因素辩护?
发布于 2019-01-25 16:23:47
这是一种独立于2FA的安全措施。许多地方要求您在更改密码时输入当前密码。还可能需要重新输入密码以更改联系人信息和帐户恢复选项。
其原因是为了防止未经授权的更改。如果用户可以不参与会话,那么另一个人就有可能对帐户进行更改。最敏感的设置涉及身份验证、恢复和联系信息,因为这些设置可以授予恶意参与者持续的访问权限。
为了减少与无人参与的会话相关的风险,大多数服务实现空闲超时、关键操作的重新身份验证或两者兼而有之。
发布于 2019-01-26 16:53:38
这个主题很笼统,但这里的讨论仅限于简化的情况,即第一个因素是密码,第二个因素是其他因素。一般的答案是,您不应该能够修改多因素认证因素与单一因素。
为了使生活更简单,许多MFA解决方案允许您信任一个设备,并使用更少的或单一的因素来验证您的未来。如果有人获得了对没有MFA保护的会话的访问权限,并且可以在不同时访问它们的情况下更改其他因素,那就不再是MFA了。
为了更改身份验证因子,您应该至少可以访问两个独立的因素。许多服务确实允许重新设置密码和两个其他因素: SMS和电子邮件。这里的问题是,这些因素实际上并不是真正独立的,因为电子邮件帐户被添加到智能手机中。当您访问某人未锁定的电话时,您可以首先使用它重置密码,然后再使用密码更改所有其他因素。虽然这是另一种情况,但可能很容易理解。所有这些测量方法的共同之处在于,它们的存在是为了防止出现单一的故障点。
而且,并非所有的服务都像电子邮件一样经常被使用。除非您尝试使用该服务,否则您可能不会发现有人更改了您的密码。这使攻击者有更多的时间获得对其他因素的访问,除非通过同时要求所有因素而提前停止。
发布于 2019-07-24 03:47:23
同样的问题,我的结论是:
3.思想
最后一个想法是愚蠢的,因为现在攻击者已经知道(更改的)密码,只需要暴力执行2FA代码(最有可能是6位数),这确实是可能的。这也可能被滥用于强暴的电子邮件列表,以确定一个帐户是否存在,所以您的表单需要受到captcha的保护。
我认为1或2是方法,但可能两者都是组合。
https://security.stackexchange.com/questions/202204
复制相似问题