google身份验证器工作原理

更新时间:01-23 教程 由 冷兮め 分享

google身份验证器工作原理?

Google身份验证系统是通过基于时间的一次性密码算法实现的双因子(2FA)验证,即TOTP(Time-Based One-Time Password)算法。该算法由3部分组成:

一个共享密钥

一个基于当前时间的输入

一个签名函数

1、Shared Secret(共享密钥)

用户在手机端进行身份验证的时候,需要获取共享密钥。拿Authy举例,获取的方式包括识别程序扫描给定的二维码(QR)或者直接手动输入,密钥是32位加密的字符串。

2、Input(Current Time)

简单来说,输入是基于用户手机产生的当前时间,一旦你获取到secret密钥,就不用再与服务器进行通信了。但是这里比较重要的是用户手机时间要准确,因为从算法原理来讲,身份验证服务器会基于同样的时间来重复进行用户手机的运算。进一步来说,服务器会计算当前时间前后几分钟内的令牌,跟用户提交的令牌比较。所以如果时间上相差太多,身份验证过程就会失败。

3、Signing Function(签名函数)

签名函数使用的是HMAC-SHA1。HMAC是基于哈希的消息验证码,能够用安全的单向哈希函数(SHA1)来生成签名。

声明:关于《google身份验证器工作原理》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2165308.html