儲存 ssh 密碼的安全隱患
我試圖了解使用密碼加密 ssh 密鑰並將密碼儲存在 MacOS 密鑰鍊或 Gnome 密鑰環中的安全含義。
據我了解,我的 ssh 密鑰密碼片語需要很長以防止離線攻擊(例如,攻擊者可以訪問未加密的備份)。
作業系統密鑰環是使用我的登錄密碼(OSX、gnome-keyring)加密的。密碼通常不長(與密碼片語相比),因為作業系統速率限制了登錄嘗試。
如果我同時備份我的 ssh 密鑰和密鑰環,我是否降低了破解 ssh 密鑰的複雜性,從猜測我的密碼片語到猜測我的密碼?由於它在 Gnome 和 MacOS 中都實現了,而且我沒有看到任何關於此的警告,所以我覺得我一定是錯的,但我不知道為什麼。
(..) 使用密碼片語加密 ssh 密鑰 (..and..) 將密碼片語儲存在 MacOS 密鑰鍊或 Gnome 密鑰環 (..) 使用我的登錄密碼 (..) 加密
如果我同時備份我的 ssh密鑰和我的鑰匙圈,我是否降低了破解 ssh 密鑰的複雜性,從猜測我的密碼片語到猜測我的密碼?是的,對於有能力的攻擊者(如密碼學中所述),並且只要在密鑰環不使用專用硬體來限制(連續)無效登錄密碼展示的數量(如智能卡的 PIN)。
此外,如果登錄密碼短而密碼又長又好,則“減少”意味著“降低”密碼和密碼的密鑰拉伸的所有合理參數化(密鑰拉伸故意使用緩慢的計算以減慢字典搜尋速度,並且對於任何合格的密碼使用都變得越來越重要,除非可能使用專用硬體來限制密碼顯示的數量)。
是的理由:假設已知密鑰環和登錄使用的方法,找到它的密碼可以恢復密碼(或者也許,通過將 ssh 密鑰加密與密鑰環緊密集成,執行任何知道密碼允許;但這在這種情況下既不尋常,又無效)。
您的登錄密碼不需要很長,它需要足夠複雜以抵禦字典攻擊,包括高級字典攻擊以及字典的變體和組合兩個單詞,這可能是我們目前能做的最多的。您的密碼使用一些帶有大量鹽的優質 PBKDF 進行雜湊處理。這使得暴力破解變得困難。如果您的密碼是 1234,那麼所有的加鹽和慢速散列對您沒有幫助,但係統旨在通過合理的密碼提供良好的安全性。近年來,人們開始提倡使用長且易記的密碼,因為人們似乎不太擅長發明短而高熵的密碼。如果您的密碼是從一個大池中選擇的,並且即使您告訴我您是如何選擇的,它仍然是一個大池,那麼您是相當安全的。