谷歌身份验证器是怎么工作的?

开发 开发工具
密码有 6 位数字,因此生成的密码有 100 万种可能的组合。此外,密码每 30 秒更改一次。如果黑客想在 30 秒内猜出密码,他们每秒需要输入 30,000 个密码组合。

谷歌身份验证器(或其他类型的双因素身份验证器)如何工作?

谷歌身份验证器是一种基于软件的身份验证器,可实现两步验证服务(2FA)。下图提供了详细信息。

图片图片

其中涉及两个阶段:

  • 阶段 1 - 用户启用 Google 两步验证
  • 阶段 2 - 用户使用验证器登录

第一阶段

  • 步骤 1 和 2:Bob 打开网页以启用两步验证。前端请求一个钥。验证服务会为 Bob 生成密钥,并将其存储在数据库中。
  • 步骤 3:验证服务向前端返回一个 URI。URI 由密钥发放者、用户名和秘钥组成。URI 以二维码的形式显示在网页上。
  • 步骤 4:Bob 使用谷歌身份验证器扫描生成的 QR 码。密钥存储在验证器中。

第二阶段

  • 步骤 1 和 2:Bob 想通过 Google 两步验证登录一个网站。为此,他需要密码。每隔 30 秒,谷歌身份验证器会使用 TOTP(基于时间的一次性密码)算法生成一个 6 位数的密码。Bob 使用密码进入网站。
  • 步骤 3 和 4:前台将 Bob 输入的密码发送到后台进行身份验证。验证服务从数据库中读取钥,并使用与客户端相同的 TOTP 算法生成一个 6 位数的密码。
  • 步骤 5:身份验证服务比较客户端和服务器生成的两个密码,并将比较结果返回前端。只有当两个密码匹配时,Bob 才能继续登录。

问题1: 这种身份验证机制是安全的吗?别人能否获取密钥?

我们需要确保使用 HTTPS 传输钥。身份验证器客户端和数据库会存储钥,我们需要确保钥经过加密。

问题2: 6 位数密码会被黑客猜到吗?

不会。密码有 6 位数字,因此生成的密码有 100 万种可能的组合。此外,密码每 30 秒更改一次。如果黑客想在 30 秒内猜出密码,他们每秒需要输入 30,000 个密码组合。

责任编辑:武晓燕 来源: ByteByteGo
相关推荐

2013-05-03 09:44:52

2010-07-19 17:30:47

2013-12-05 13:46:51

2010-09-06 11:24:47

CHAP验证PPP身份验证

2021-08-03 14:48:05

ChromeAndroid身份验证

2010-07-17 00:57:52

Telnet身份验证

2012-04-10 09:36:58

2022-04-01 10:10:39

CISO身份验证企业安全

2013-04-25 09:46:19

身份验证谷歌

2013-07-21 18:32:13

iOS开发ASIHTTPRequ

2011-02-21 10:54:45

2012-10-23 16:12:35

2015-06-30 11:50:26

2022-10-31 10:00:00

2009-04-09 23:44:08

软件身份验证用户

2010-11-30 15:31:38

SharePoint Kerberos

2021-07-19 10:10:15

身份验证漏洞Windows Hel

2010-11-03 16:07:38

DB2身份验证

2012-02-20 09:55:41

ibmdw
点赞
收藏

51CTO技术栈公众号