1

我瞭解雙因素身份驗證的基本思想:使用兩個憑據來更安全地驗證用戶身份。我在詢問我經常遇到的雙因素認證的具體方法。雙因素認證如何與隨機數一起工作?

當我爲我的Google帳戶啓用雙因素身份驗證時,我可以訪問我的iPhone上經常更改的僞隨機數字。這些隨機數構成第二個認證因素(另一個是我的密碼),我可以輸入這些數字來驗證自己。

我真的不明白的是,當我的iPhone離線時,這些數字仍然可以驗證我的身份。顯然,無論發生什麼事情比Google驗證我有一些他們給我的號碼更有​​趣。

我對究竟發生了什麼感興趣。僞隨機數是系統時間的密鑰散列嗎?這是我最好的猜測,但我很好奇。

+0

https://en.wikipedia.org/wiki/Time-based_One-time_Password_Algorithm –

+0

@JoachimIsaksson好的我想這就是答案。你知道它是如何彌補手機關機的嗎?看起來這會毀了一切。 –

+0

手機具有內置時鐘,即使手機關機後又保持準確的時間。即使網絡啓動並運行,TOTP也絕對不需要網絡連接,只需要一個合理的同步時鐘。事實上,使用它的許多認證軟件狗存在,他們甚至沒有網絡接口。 –

回答

1

你稱爲「僞隨機數」是一次性密碼(OTP)。這些密碼是在算法下生成的。如果您談論頻繁更改的OTP,則使用TOTP算法。 TOTP(基於時間的一次性密碼)算法意味着生成臨時密碼。該密碼通常在30-60秒內過期。您的設備不需要在線,因爲OTP是基於密鑰生成的,這對您的設備和服務是一樣的。因此,設備和服務器會生成相同的密碼,當您在訪問帳戶的過程中輸入OTP時,服務器會檢查OTP是否正確。基於它,服務器確認或拒絕對帳戶的訪問。