2013-02-17 50 views
5

當用戶輸入錯誤的密碼時,從安全角度出發的以下兩條錯誤消息是否有區別?當用戶輸入錯誤的密碼時,哪個錯誤信息更好?

錯誤的用戶名或密碼。

錯誤的密碼。

例如,當您在Gmail.com上輸入了錯誤的密碼時,它會告訴您「您輸入的用戶名或密碼不正確」。出於安全原因是否有任何考慮因素?我認爲錯誤消息:「您輸入的密碼不正確」對用戶更加明確,而且,更容易檢查Gmail.com上是否存在用戶名:只需點擊「無法訪問您的帳戶?」並輸入用戶名。如果用戶名不存在,它會告訴你。

+1

我敢肯定,如果您嘗試「無法訪問您的帳戶」的技巧幾千倍,它很快會被注意到。 – 2013-02-17 14:32:38

回答

8

這個想法是不給黑客額外的信息。如果你說錯了密碼,你告訴黑客他們有一個正確的用戶名,反之亦然。雖然你所說的是真實的,但在某些網站上,可以通過其他方式確定你是否猜到了用戶名。

2

在某些情況下,您不希望攻擊者能夠猜測帳戶的存在。因此,您將始終返回一般錯誤消息,以便攻擊者無法猜測此帳戶是否存在。

在GMAIL上下文中,可能gmail不希望挖掘現有電子郵件地址的人被垃圾郵件機器人使用。

你自己可以決定在你的應用程序中是否需要執行安全性,或者你是否可以提供更多用戶友好的錯誤消息。

4

最簡單,最常見的詞組使用的是:

「您輸入了一個無效的用戶名或密碼」

這背後的原因是爲了防止有人試圖通過「猜測蠻力您的帳戶' 密碼。如果攻擊者得到一個錯誤,詳細說明密碼不正確,那麼他們可以嘗試不同的密碼直到正確。

但是,如果您提供了上述通用消息,則攻擊者不知道用戶,密碼或兩者的組合是否正確。

法比奧 @fcerullo