hamburger-icon hamburger-icon

SSH 比 SSL 更安全嗎?

|

2023/05/07

|

Dev Tech

|

kai98k

在專案業務上會有許多場合需要使用 FTP,然後在最近被資安單位要求使用 SFTP,乍看之下我以為 SFTP 就是 FTPS,但實際查看才發現底層協議完全不一樣,SFTP 使用的是 SSH,而 FTPS 則是透過 SSL,那 SSL 跟 SSH 到底差在哪呢 ?

SSL 跟 SSH 差異

SSL和SSH都是安全加密通信協議,在 OSI 七層模型中,兩者都是建立在應用層,但它們的用途和應用場景不同,不過都是為了讓網路傳輸變得更安全。

SSL

SSL(Secure Sockets Layer)是一種用於網路安全的加密協議,現在已經被其升級版TLS(Transport Layer Security)所取代。它主要用於保護網路通訊安全,如網站的安全傳輸(HTTPS)、電子郵件、即時通訊等,此外,有使用 HTTPS 的網站,還能使 SEO 分數加分,通常是使用伺服器的 443 Port。

SSL 通過演算法加密技術,保護敏感數據在網絡傳輸過程中不被窺探或篡改(中間人攻擊)。SSL加密技術主要使用公鑰加密和私鑰解密的方式,這樣數據在傳輸過程中只有接收方才能解密。

在網站上使用SSL,可以讓網站在使用者和網站之間的數據傳輸過程中保持加密,有效地防止黑客對數據的盜取和篡改。現在,幾乎所有的網站都使用SSL來保護用戶的敏感信息,如用戶名、密碼、信用卡信息等。

SSL 子協議

在 SSL 中,有幾個子協議,包括:

  • 握手協議(Handshake Protocol):用於在 SSL 會話開始時建立安全通道。在握手過程中,客戶端和服務器互相驗證身份,交換密鑰,並確定加密和解密所使用的算法。

  • 變換協議(Change Cipher Spec Protocol):用於指示對話中的一方,要開始使用新的加密和解密算法。在 SSL 會話建立後,當客戶端和服務器確定了加密和解密算法之後,就可以開始使用這些算法進行數據加密和解密。

  • 證書驗證協議(Certificate Verification Protocol):用於在 SSL 會話開始時驗證數字證書。數字證書用於證明服務器的身份,並確保數據傳輸的安全性。

  • 證書數據協議(Certificate Data Protocol):用於在 SSL 會話期間傳輸數字證書。數字證書包括數字簽名,公開密鑰和其他元數據,用於證明服務器的身份和建立安全通道。

這些子協議看得出來都為了有效防止中間人攻擊,此外,建立具有 SSL 傳輸協議的伺服器,就需要在伺服器置放 SSL Certificate。

SSL 證書

SSL(Secure Socket Layer)證書是由可信任的第三方機構(如 Comodo、Symantec、DigiCert 等)發行的一種數位證書,用於驗證網站的身份並確保傳輸的數據安全。SSL 證書通常包含網站的公開密鑰、數位簽名和其他元數據,這些信息可以證明網站的真實身份和安全性。

當瀏覽器訪問一個使用 SSL 證書的網站時,瀏覽器會向網站的伺服器發送一個請求,伺服器會將其 SSL 證書發送給瀏覽器進行驗證。瀏覽器會檢查 SSL 證書的有效性、發行者、有效期等信息,並使用證書中的公開密鑰來加密傳輸的數據。這樣就可以確保傳輸的數據不會被竊取或篡改。

SSH

安全外殼協定(Secure Shell Protocol,簡稱SSH)是一種加密的網路傳輸協定,用於在不安全的網絡中進行安全的數據通訊和遠程登錄。它通常用於管理和遠程控制運行在遠程服務器上的計算機系統,也可以用於安全傳輸數據,如文件和數據庫備份等,通常是使用 22 Port。

SSH 協議通過建立安全加密通道來保護數據傳輸的安全性,使得攻擊者無法窺探或竊取通訊內容。它通過公鑰加密和私鑰解密的方式,對數據進行加密和解密,從而保證傳輸的數據在網絡上傳輸時不被竊取或篡改。

在 SSH 中,每個用戶都擁有一對密鑰,包括一個公鑰和一個私鑰。當用戶需要登錄遠程服務器時,首先將公鑰發送到服務器上,然後服務器會將用戶的公鑰與自己的私鑰進行匹配,以確認用戶的身份。一旦用戶通過驗證,就可以建立一個安全的 SSH 連接,並進行安全的數據傳輸和遠程操作。

總結: SSH vs SSL,誰更安全?

SSL(Secure Socket Layer)和SSH(Secure Shell)都是用於保障網絡安全的協議,但它們有不同的用途和特點,因此無法直接比較誰更加安全,但主要都是為了防止中間人攻擊。

SSL 主要用於保護網絡傳輸的數據,常用於加密瀏覽器和網站之間的通信,防止敏感信息被截取和竊取。SSL 通常使用 X.509 憑證來驗證網站的身份,並使用對稱加密和非對稱加密來加密數據。SSL 是一個基於 TCP/IP 的協議,通過在傳輸層和應用層之間添加一層安全性來實現安全傳輸。

SSH 則是一個用於加密網絡通信和執行遠程命令的安全協議。SSH 可以在客戶端和服務器之間建立一個安全的加密通道,防止第三方竊聽和中間人攻擊。SSH 通常使用非對稱加密來確定雙方的身份,並使用對稱加密來加密數據。SSH 在許多場景下都非常有用,例如遠程服務器管理、文件傳輸和安全代理等。

因此,SSL 和 SSH 都有其特定的用途和優點,並且都可以提供安全性保護。具體使用哪種協議取決於應用場景和需求,總而言之,SSL 就在貨物的安全保證,而 SSH 就像貨運運輸通道的安全保證。

規格 SSL SSH
完整形式 Secure Socket Layer Secure Shell
埠道 443 22
功能 常用來加密客戶端和伺服器之間的溝通 常用來加密兩台遠端電腦間的溝通通道
驗證授權 公鑰和私鑰配對 公鑰和私鑰配對或是帳號密碼配對
常見案例 電商、銀行業務等等 組織內外的資料傳輸
運作原理 數位憑證 加密通道

Reference