2013-04-22 60 views
0

如何有效地阻止對包含用戶名和密碼與鹽(和/或胡椒)散列的密碼文件的重播攻擊?我感興趣的防止攻擊如下:重播密碼存儲文件攻擊的有效解決方案是什麼?

  1. Alice有密碼A.
  2. 馬洛裏開始認識到密碼A.
  3. 愛麗絲改變她的密碼B.
  4. 馬洛裏替換密碼文件與Alice的密碼爲A時使用的一樣。
  5. Mallory使用密碼A認證爲愛麗絲。

顯然不足以依賴操作系統的讀/寫權限,或者它也足以將密碼存儲爲明文。

真實系統如何做到這一點?如果我用舊的替換我的/ etc/shadow會怎麼樣?

+2

如果Mallory可以用另一個文件替換'/ etc/shadow',那麼你已經丟失了!如果攻擊者已經擁有對承載該服務的系統的讀寫權限,則攻擊者完全不需要Alice的密碼! – Celada 2013-04-22 23:28:06

+0

爲什麼馬洛裏甚至會更換密碼文件? – Gumbo 2013-04-23 05:02:29

+0

好吧,爲什麼麻煩存儲密碼散列呢?在您的威脅模型下,您只需以明文形式存儲密碼,並依靠操作系統訪問控制撤消對文件的讀寫權限。但人們不會在沒有遭受巨大後果的情況下這樣做。那麼,爲什麼你認爲可以依靠訪問控制來防止寫入文件,但不防止讀取? – user2309167 2013-04-23 17:30:39

回答

0

我到達的解決方案是將密碼時間戳與存儲密碼文件更改的審覈日誌一起存儲。時間戳使用HMAC進行完整性保護。在密碼上直接使用HMAC是另一種解決方案,但審覈日誌已經存在於系統中,因此利用它可能是可以接受的。

相關問題