绕过Google双因素身份验证

时间:2013-04-22 04:18:30

标签: authentication

我在我的网站中使用Google双因素身份验证,但我希望能够检查“记住我”的用户,不需要在下一个条目中输入密钥。是否可以通过“记住我”选项绕过身份验证。我知道潜在的危险,但我们需要这样做。

1 个答案:

答案 0 :(得分:0)

不知道这是否仍有帮助,但我想我还是会回答。你没有指定你正在使用的编程语言,这使得给你一个特定于语言的答案有点困难,因此我将根据我编写C# ASP.NET MVC Two Factor Authentication实现的经验给出答案,但是方法应该是语言不可知的。

没有什么可以阻止您实现“记住我”功能,允许用户绕过整个身份验证步骤(用户名/密码+ TFA)。它实际上与假设双因素身份验证已正确实​​现的任何其他“记住我”功能没有任何不同。

通过正确实施双因素身份验证,我的意思是您的登录应该是一个两步过程(您可以在一个过程中执行此操作,但它会降低可用性,为了解释起见,我将将它们分开)

  1. 用户指定其用户名和密码。如果他们提供有效的用户名/密码组合,那么他们将被传递到第二步,但他们尚未经过身份验证!他们应该无法导航到需要用户登录的任何页面。
  2. 用户指定他们的第二个因素。只有当用户提供正确的第二个因素时,才应对其进行身份验证并允许其继续。
  3. 在我的代码中,我在第一步中有“记住我”复选框,然后如果用户提供了有效的用户名/密码组合,我会存储UserProfile对象以及是否在会话中检查了“记住我”并重定向用户到第二个因子页面。

    然后,如果用户为存储在会话中的用户提供了正确的第二个因子,那么您将用户登录,如果他们选中“记住我”,则将过期日期添加到cookie中,否则将其留空到期日期,当浏览器关闭时将过期。

    希望能回答你的问题,我试着不要在我的网站上重现整篇文章,如果你认为我错过了什么,请随时查看,如果你还没有答案让我知道了,我会更新我的答案。