當您輸入正確的密碼時,回應幾乎是即時的(即登入程序)。
然而,當您輸入錯誤的密碼(意外、忘記等)時,它需要一段時間(10-30 秒)才會回應密碼錯誤。
為什麼要花這麼長時間(相對)才說「密碼錯誤」?
這一直困擾著我在 Windows 和 Linux(真實和虛擬機器)上輸入錯誤的密碼;我不確定 mac OSX,因為我不記得它是否相同,自從我上次使用 mac 以來已經有一段時間了。
編輯:為了重複,我在使用者在實體電腦上登入系統的上下文中詢問,而不是透過 ssh ,這可以想像使用稍微不同的機制來登入/驗證憑證。
答案1
為什麼要花這麼長時間(相對)才說「密碼錯誤」?
事實並非如此。或者更確切地說,與正確的密碼相比,電腦不需要更長的時間即可確定您的密碼不正確。理想情況下,計算機所涉及的工作是完全相同的。 (任何根據密碼正確與否而花費不同時間的密碼驗證方案都可以被用來在比其他情況更短的時間內獲得密碼的知識,無論多麼小。)
延遲是人為延遲即使您知道密碼可能是什麼,也無法反覆嘗試使用不同的密碼來取得存取權限和自動帳戶鎖定已停用(在大多數情況下應該如此,因為否則會允許對任意帳戶進行輕微的拒絕服務)。
這種行為的通用術語是柏油瀝青。雖然維基百科文章更多地討論了網路服務緩送,但這個概念是通用的。舊事新事也不是官方來源,但是為什麼拒絕無效密碼比接受有效密碼需要更長的時間?在文章末尾確實談到了這一點。