了解Google身份验证器应用的工作原理

时间:2015-11-18 06:14:07

标签: android ios cordova phonegap-build google-authenticator

我见过许多双因素身份验证应用,例如google身份验证应用。

该应用程序脱机工作,每隔30秒重置手机上的密钥。

那么服务器如何知道哪些密钥有效?

我无法理解这个?

如果我要自己创建这样的应用程序。我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

Google身份验证器使用Time-based One-time Password Algorithm。它使用当前时间和共享密钥来计算代码。只要设备和服务器设置了正确的时间,生成的代码就会生效。

答案 1 :(得分:0)

Google身份验证器使用两种不同的方法:

1 ...

"基于时间的"版本(TOTP)非常简单,可以保持同步。 (您的设备......和远程服务器......必须具有相同/正确的时间。)

2 ...

"以反制为基础的"版本(HOTP)保持同步(即使您的移动设备处于飞行模式)并以某种方式每隔30秒更新其计数器内部......并且远程服务器也会这样做。

我只使用#1 ...因为Google并不清楚#2计数器如何保持同步状态#34; (在30秒内改变)移动设备和远程服务器之间没有任何通信。