SSL 和 SSH 之間的區別是什麼?
在瞭解它們之間的區別之前,讓我們先了解安全套接字層 (SSL) 和安全外殼 (SSH) 的概念。
安全套接字層 (SSL)
這是一種基於加密的網際網路安全技術。它旨在保護網際網路通訊中的資料完整性、隱私性和身份驗證。SSL 是我們今天使用的 TLS 加密協議的前身。採用 SSL/TLS 的網站在其 URL 中使用“HTTPS”而不是“HTTP”。
SSL 記錄為 SSL 連線提供兩項服務,即機密性和訊息完整性。資料在 SSL 記錄協議應用程式中被分割。在新增使用 SHA 和 MD5 等方法生成的加密 MAC 之前,會先壓縮片段。
這是一項標準技術,它透過防止罪犯讀取和修改任何傳輸的資訊(包括潛在的個人詳細資訊)來幫助我們確保資料安全。
SSL 透過加密來保護資料。當我們傳送電子郵件時,我們需要讀取其內容才能編寫它,伺服器需要讀取其內容才能傳遞它。
而這些傳輸中的資料可能會被竊聽並用於惡意目的。透過 SSL 協議傳輸的資料使用牢不可破的演算法進行加密,除非它檢測到互動雙方都具有安全的 SSL 證書,否則不會洩露其秘密;這種方法稱為“握手”。
繞過加密過程會使資料竊聽者能夠訪問從私人電子郵件到線上購買記錄再到銀行賬戶資訊的所有內容。
安全外殼 (SSH)
這是一個程式,用於透過網路登入到另一臺計算機,在遠端機器上執行命令以及將檔案從一臺機器移動到另一臺機器。
安全外殼 (SSH) 是一種用於安全地透過不受信任的網路訪問系統服務的密碼系統約定。常見應用程式包括遠端命令列登入和遠端命令執行,但任何系統管理都可以透過 SSH 進行驗證。
SSH 在客戶端伺服器架構中透過不受信任的網路提供安全通道,將 SSH 客戶端應用程式與 SSH 伺服器連線起來。協議規範識別兩種版本,SSH-1 和 SSH-2。
SSH 的標準 TCP 埠是 22。SSH 通常用於訪問類 Unix 作業系統,但它也可以用於 Microsoft Windows。Windows 10 使用 OpenSSH 作為其預設 SSH 客戶端。
SSH 的設計目的是替代 Telnet 和不受信任的遠端 shell 協議,例如 Berkeley rlogin、rsh 和 rexec 協議。這些協議以明文形式傳送資料(特別是密碼),這使得它們容易受到使用資料包分析的捕獲和洩露。
SSH 使用的加密旨在提供透過不受信任的網路(例如網際網路)的資料隱私和完整性,儘管愛德華·斯諾登洩露的檔案表明,國家安全域性有時可以解碼 SSH,從而使他們能夠讀取 SSH 會話的內容。
**優點是**它具有高安全性,因為資料以加密格式傳輸。**缺點是**在大型環境中分發公鑰可能很麻煩。
區別
SSL 和 SSH 之間的主要區別如下:
SSH (安全套接字層) | SSL (安全外殼) |
|---|---|
| SSH 是一種隧道協議,具有使用者名稱/密碼身份驗證系統。 | SSL 沒有使用者名稱或密碼身份驗證系統。 |
| SSH 通常工作在 22 埠。 | SSL 工作在 443 埠。 |
| SSH 依賴於網路隧道。 | SSL 依賴於證書。 |
| SSH 是一個三階段的伺服器和客戶端身份驗證過程。 | SSL 是用於伺服器和客戶端身份驗證的數字證書。 |
| SSH 加密網際網路上兩臺計算機之間的通訊。 | SSL 加密瀏覽器和伺服器之間的通訊。 |
| SSH 適用於安全地在網際網路上執行命令。 | SSL 用於安全地傳輸信用卡和銀行業務中的關鍵資料。 |
| SSH 使用對稱金鑰演算法來提供資料機密性。 | SSL 使用對稱和非對稱加密演算法來提供資料隱私。 |
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP