Tls

為什麼 SSH 不使用 TLS?

  • June 24, 2018

如今,大多數受密碼保護的協議都使用 TLS。這適用於郵件協議、HTTP 和許多其他協議。新設計的 QUIC 也採用了 TLS 作為其加密層。

但是,SSH 不同:它有自己的加密層。

為什麼 SSH 有一個非 TLS 加密層?SSH 擁有自己的加密層有什麼好處嗎?

SSH 與其他協議之間的唯一區別在於 SSH 經常只需一次按鍵即可發送消息。在極短消息的情況下,SSH 加密層是否更優化?

相關但不相同:從嚴格的密碼學角度來看,TLS 與 SSH 有何不同?

我認為 TLS 可以支持 SSH 的證書驗證機制(自動學習)。您只是沒有根 CA;您將分別接受每個證書並記住接受。

不使用 TLS 的 SSH 大多是歷史性的;例如,請參閱此答案(在 security.SE 上)。在實踐中,可以完美地定義一種將 TLS 用於數據傳輸部分的 SSH;但是,當然,它不會與現有的 SSH 伺服器和客戶端兼容。從純密碼學的角度來看,SSH 實際上有一些缺點,它的加密和 MAC 加密,以及加密的“長度”欄位;由於 SSH 的特定使用,這不會導致真正可利用的漏洞(攻擊者不會觸發數千個使用部分選擇的數據的新靜默連接,這與 TLS 不同,由於 JavaScript 的魔力,這些事情可以完成) ,並且最近的 AEAD 集成基本上修復了它們。

引用自:https://crypto.stackexchange.com/questions/60255