2012-07-08 17 views
1

我正在使用HOTP爲第二個因素身份驗證生成OTP。我使用的是基於事件的OTP生成,並且如果客戶端和服務器的計數器不匹配,則會提供10次迭代的窗口。使用OAUTH HOTP在窗口中生成重複OTP的概率?

但是,我被問到如果在任何時間點從過去重新生成OTP會發生什麼。

由於OTP是6位數字,因此用戶可能只有999999個組合可用。因此,OTP在生命週期中不可能是唯一的,它會在某個時間點重新生成。當一個特定的OTP重複時,是否會有一種模式?另外,如果OTP在10的窗口大小內重新生成,它可能會更糟糕,因爲它很容易受到重播攻擊。

請在此指導我。

回答

1

不,不應該有一個重複的可預測的模式,如果你不知道用randomness密鑰(這將是該算法的一個重要發現和缺陷要不然的話)。

雖然你可以容忍10的窗口大小,但只容忍前進。永遠不要接受一個小於最後確認的計數器的標記,否則你會留下一個重放攻擊。

當然,HOTP,TOTP或其他任何東西都不能抵抗所有形式的攻擊,所以您需要一種多層次的安全方法來實現攻擊與防禦成本的逼真。

更深入的討論可能是最好的here。在這個答案中,我試圖堅持執行問題。