我理解双因素身份验证的基本思想:使用两个凭据来更安全地验证用户身份。我问的是我经常遇到的双因素身份验证的具体方法。
当我为我的Google帐户启用双因素身份验证时,我可以在iPhone上访问频繁更改的伪随机数。这些随机数构成了第二个身份验证因素(另一个是我的密码),我可以输入这些数字来验证自己。
我真正不明白的是,当我的iPhone离线时,这些数字仍可用于验证我的身份。所以无论发生什么事都比Google验证我更有趣他们给了我一些号码。
我对目前的情况非常感兴趣。伪随机数是系统时间的键控哈希吗?这是我最好的猜测,但我很好奇。
答案 0 :(得分:2)
您所谓的“伪随机数”是一次性密码(OTP)。这些密码是在算法下生成的。如果您谈论频繁更改OTP,则使用TOTP算法。 TOTP(基于时间的一次性密码)算法意味着生成临时密码。此密码通常在30-60秒内到期。您的设备不需要联机,因为OTP是基于密钥生成的,这对您的设备和服务是相同的。因此设备和服务器生成相同的密码,当您在访问帐户的过程中输入OTP时,服务器会检查OTP是否正确。在此基础上,服务器确认或拒绝访问该帐户。