Ssh

使用公鑰登錄 SSH 比使用密碼更好嗎?

  • April 21, 2014

我不是在詢問密碼與密鑰身份驗證。

我見過幾次(甚至是亞馬遜的 AWS)說,即使 SSH 存在重大漏洞,密鑰身份驗證也會使這種利用變得不那麼容易受到攻擊。但是,如果密鑰驗證方式存在漏洞怎麼辦?這不只是基於身份驗證機製做出假設嗎?

為什麼會有這種想法?是不是因為我們都知道密碼是一種糟糕的身份驗證形式,所以假設只是“使用私鑰”?

我認為您所指的是所謂的挑戰-響應模型。使用這種方法,密鑰對永遠不會以可以從電線上嗅出的方式暴露出來,就像通過線路發送密碼的情況一樣。因此,由於這個事實,它被認為更安全。

此安全 SE Q&A的答案之一是:使用公鑰登錄 SSH 是否比保存密碼更好?解釋了使用公鑰/私鑰對的優勢。

摘抄

在公鑰的情況下,我們有一個非常不同的情況。在這種情況下,伺服器儲存了使用者的公鑰。接下來發生的是伺服器創建一個隨機值(nonce),用公鑰對其進行加密並將其發送給使用者。如果使用者是應有的身份,他可以解密挑戰並將其發送回伺服器,然後伺服器確認使用者的身份。這是經典的挑戰-響應模型。

因此,考慮到通過發送 NONCE 使用密鑰對的方式,它們永遠不會真正被中間人知道,只有密鑰的公共部分是公開的。

如果你真的懷疑,你可以放棄使用這個密鑰對,並簡單地重新生成一個全新的集合。

什麼是隨機數?

摘抄

在安全工程中,nonce 是在加密通信中僅使用一次的任意數字。它在精神上與 nonce 詞相似,因此得名。它通常是身份驗證協議中發布的隨機或偽隨機數,以確保舊的通信不能在重放攻擊中重複使用。例如,在 HTTP 摘要訪問身份驗證中使用隨機數來計算密碼的 MD5 摘要。每次出現 401 身份驗證質詢響應程式碼時,隨機數都是不同的,因此幾乎不可能進行重放攻擊。

參考

引用自:https://unix.stackexchange.com/questions/125722