Ssh
SSH over TLS 1.2/1.3 是否過大?
我正在設計一個將安全作為其主要目標之一的協議。目前我選擇了帶有 TLS 的 SSH 作為底層傳輸。
我選擇 SSH 是因為它已經內置了多種可擴展的身份驗證方法,這不僅使我將來更容易添加自己的身份驗證方法,而且(在某些情況下)根本不需要添加任何身份驗證方法,具體取決於使用者想要驗證自己。它還內置了文件傳輸功能,這對我來說也是一個不錯的獎勵。
考慮到這一點,我應該繼續在 TLS 上使用 SSH,還是這樣做有點矯枉過正?或者我應該改用普通的非基於 SSH 的套接字嗎?
旁注:此協議不會用於通過命令終端訪問遠端系統。
- 基於 TLS 的 SSH 不僅僅是一種矯枉過正,它是一種軟體膨脹/設計蠕變。
兩種協議都提供機密性、完整性和真實性保證,因此使用兩個是多餘的。對它們進行編碼會增加軟體的大小,從而更難維護軟體的質量、效率和安全性。
- SSH 的好處
SSH 已經是一個非常好的應用數據封裝協議,事實上,使用最廣泛的 SSH 實現“OpenSSH”允許您設置自己的服務與 sftp 並行執行。在我看來,SSH 更容易設置,並且具有許多專用應用程序所需的功能。
另一方面,TLS 承載了太多遺留問題,它有太多需要支持的選項以保持與現有實現的兼容性。即使您不支持 TLS-1.3 之前的版本,在程式碼中加入對它的支持仍然需要大量的專業技能。