如果您有一個需要兩個不同密碼的帳戶,這是一個好主意嗎?
例如,您的登錄詳細信息是:
電子郵件:example @ gmail .compassword 1:P4 $$ w0rd1password 2:HereIsMySecondPassword
現在,當用戶登錄到我的網站時,他需要輸入兩個密碼。這比一個強密碼更好。 ?用戶可以選擇兩個密碼,而不是一個強密碼。
如果您有一個需要兩個不同密碼的帳戶,這是一個好主意嗎?
例如,您的登錄詳細信息是:
電子郵件:example @ gmail .compassword 1:P4 $$ w0rd1password 2:HereIsMySecondPassword
現在,當用戶登錄到我的網站時,他需要輸入兩個密碼。這比一個強密碼更好。 ?用戶可以選擇兩個密碼,而不是一個強密碼。
不是。它本質上是一個密碼,按回車鍵作為一個字符。
它增加了登錄過程的複雜性,這通常不是一件好事(用戶可能會選擇一個好的密碼,並且一個快速輸入密碼)。不要忘記@AviD的規則:“安全是以犧牲可用性為代價的,安全是以犧牲安全性為代價的”
根據密碼的存儲方式,它們會略微降低攻擊者暴力破解帳戶的能力,因為攻擊者需要同時破壞這兩部分。我懷疑這是否會平衡可用性問題。
我見過銀行網站,要求用戶回答2個安全問題(在創建帳戶時從5個預定問題中隨機選擇)。
問題是,如果一個密碼可能被洩露(無論是在用戶前面還是由於網站漏洞),第二個密碼將保持安全的可能性有多大?如果網站可以為其中一個密碼採用更好的加密算法,為什麼不為單個密碼採用該算法? 。例如,設置2個密碼“ aBcD”和“ eFgH”可以在數分鐘(或數小時)內破解,但是像“ aBcDeFgH”這樣的密碼將需要更多時間才能被散列破解。
在其他答案中尚未提到的缺點是,這種方案可能會擊敗某些流行的密碼管理器。
因為您應該鼓勵用戶使用密碼管理器,以便他們可以使用將完全隨機的長字符序列作為密碼,這可能不是一個好主意。
如果 (1)分別選擇兩個密碼,並且(2)錯誤嘗試第二個密碼的鎖定策略比第一個嚴格,則這種系統可能會有一些好處。
對不正確的密碼嘗試擁有相當嚴格的鎖定策略,可以大大提高對暴力攻擊的抵抗力,但也可以極大地促進拒絕服務攻擊。如果一個帳戶在嘗試了三個錯誤的密碼後將被鎖定30分鐘,那麼知道該帳戶ID的任何人都可能會每30分鐘提交三次錯誤的登錄嘗試,從而使合法用戶很難進入。 >如果密碼分為兩部分,並且鎖定僅適用於第一個密碼正確的輸入嘗試,則有必要破壞第一個密碼,甚至進行拒絕服務攻擊。此外,在密鑰空間中搜索第二個密碼將比第一個密碼慢得多。此外,雖然將重複的不正確的主密碼通知給帳戶持有人會產生許多錯誤警報,但帳戶持有人無能為力,但將不正確的輔助帳戶密碼通知給帳戶持有人可能會有用得多。如果Adam Baker收到有關嘗試使用正確的主密碼但不正確的輔助密碼登錄其帳戶的通知,而Adam本人不對該訪問嘗試負責,則他會知道他的主密碼已被破壞並且可能在騙子破壞第二個密碼之前採取措施。
使用2個密碼並不比使用1個密碼更好,因為沒有解決密碼的主要問題。 2個密碼不會打敗按鍵記錄程序,也不會阻止破解者使用Rainbow表成功恢復密碼。另外,人們很難記住2個密碼。
此密碼系統的另一個缺點是,它使系統更容易受到諸如彩虹表之類的暴力哈希破解的攻擊。如果您的密碼哈希數據庫以某種方式洩露,則可能會發生這種情況。
如果攻擊者獲得了對哈希密碼數據庫的訪問權限,則必須將兩個密碼分別存儲為兩個哈希(因為將它們存儲在一起)防止直接比較每個密碼)。因此,這大大降低了每個哈希的熵,從而使攻擊者可以輕鬆地破解兩個哈希,遠快於破解級聯密碼的單個哈希。
如果兩個密碼的長度相等,並且是從同一個池中提取的,則單獨破解兩個哈希所花費的時間將花費一半的指數時間(即,如果破解完整的哈希需要進行1,000,000,000,000次嘗試,它將只需花費1,000,000次嘗試即可破解每個子哈希)。
一個很好的案例研究是Windows XP及以下版本中使用的 NTLM哈希,它的設計缺陷與上述密碼系統非常相似。相對強壯的密碼被拆分並存儲為兩個單獨的哈希,這使整個密碼明顯變弱。
即使是10年前的計算機,也可以在幾天之內輕鬆破解絕大多數NTLM哈希,而無需使用彩虹表,並且有了這些表,破解幾乎是瞬時的。
我已經看到第二個密碼是(1)來完成此操作,該密碼不是用於登錄,而是用於在帳戶內進行重大操作,例如貨幣交易; (2)與第一個密碼不同的類型,例如第一個密碼是固定文本,第二個密碼是從一鍵式鍵盤或短信發送。那樣使用,似乎是個好主意。
如果帳戶中包含高度敏感的數據並且不經常使用登錄功能,則可以將其用於登錄,但是這種方式似乎並不實用
使用一個常量文本密碼登錄,然後使用另一個常量文本密碼執行主要操作可能在某些情況下是有道理的,但遠不及一個二次密碼。
僅使用兩個恆定文本密碼登錄就不能提供比一個較長的密碼帶來的好處,並且還存在一些主要的缺點。
銀行使用的常見方法是密碼和密碼。然後要求以隨機順序輸入隨機字符,例如輸入個人識別碼的數字3 1 2並輸入密碼的字符3 9 5 ...這使鍵盤記錄程序更難獲取任何信息,但這需要使用2個密碼的方法來確保不會發生隨機攻擊以及fail2ban
所以答案是“否”,這不是一個壞主意,但沒有什麼不是一個壞主意,其實現會帶來很大的麻煩或錯誤。
這兩者都不是完全安全的,因為通常,嘗試訪問該帳戶的人有其他方法來獲取用戶輸入的密碼,然後再給他們訪問兩步身份驗證密碼的權限,坦白地說,這很容易獲得,因為它使用了備用電話或另外一封電子郵件,說我相信一個更長的密碼,除了字母和數字外,還可以使用隨機字符
企業將這種安排稱為“雙重身份驗證”,但歸結為擁有一個由您自己彌補的密碼和另一個從其他地方獲取的密碼。這在計算機上等同於保險箱的安全性:僅僅您的鑰匙不能打開保險箱,銀行的鑰匙也不能打開。雙方都需要同時使用兩個密鑰。