gpt4 book ai didi

android - 谷歌身份验证器作为单一登录方法

转载 作者:行者123 更新时间:2023-11-29 01:04:51 26 4
gpt4 key购买 nike

大多数开发者似乎都提供 Google Authenticator 作为身份验证的第二个因素。

是否出于技术或安全原因不使用 Google 身份验证器作为唯一的身份验证来源?

换句话说:我可以放弃传统的用户 ID/密码条目并将其替换为 Google 身份验证器 token 条目吗?

Google Authenticator is an application, which generates one (short) time passwords (tokens) locally on a smartphone.

The verification of passwords can be done by your own web-server or application.

Google is by no means involved: Neither generates tokes using their servers nor verifies tokens using their servers.

如何使用应用设置 Google 身份验证器:

  • 使用二维码初始化

Sample QR Code

  • 然后每次您打开 Google 身份验证器时,它都会生成一个新 token

Google Authenticator screenshot

  • 最后,用户在您的网站上输入代码,然后您在您的服务器上本地验证它 [不涉及 Google 服务器]

引用文献:

最佳答案

删除用户名是不可行的,因为您需要查找和验证特定用户的一次性密码。如果不请求用户名,您将面临许多问题:

  1. Google 身份验证器会为每位用户生成一个六位数号码,该号码每 30 秒更改一次。如果您不首先确认哪个用户正在登录,攻击者可以一次猜测任何 6 位数字,如果它与您的任何用户匹配,他们将获得访问权限。用户数量越少,越难猜到,但攻击者总有可能猜出一个有效密码的数字(如果您有一百万或更多用户,则有可能在某个时间点他们都有不同的 OTP,攻击者的任何猜测都是有效的)。
  2. 通过要求首先通过用户名和密码识别特定用户,您可以确保在任何时候将正确猜测的风险限制在一个数字内(百万分之一的机会),并且这种猜测只有在有效时才有可能首先获得详细信息。
  3. 在某些时间点,多个用户可能分配了相同的一次性密码,这意味着您将无法确定哪个用户正在尝试进行身份验证。您也无法将授权用户与只是猜出正确数字的攻击者区分开来。

如果您只使用 Google 身份验证器,您也会失去两个双因素身份验证的好处。

将密码与一次性密码结合使用时,您正在验证用户拥有她应该知道的东西(密码)和她应该知道的东西(她的电话),这构成了两个因素。由于一次性密码不断变化,攻击者破坏这两个因素的可能性非常低。

当您同时使用密码和 OTP 时,如果她的手机被盗或密码被泄露(网络钓鱼或其他方式),您也会受到保护,因为攻击者将无法访问进行身份验证所需的其他因素。

关于android - 谷歌身份验证器作为单一登录方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36527941/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com