SSH比SSL在原理和協(xié)議上有什么區(qū)別?
發(fā)布時(shí)間:2019-04-11 點(diǎn)擊數(shù):1599
SSL應(yīng)該很多服務(wù)器租用用戶都會(huì)知道,這也是我們網(wǎng)站上常用到的協(xié)議,但是SSH聽(tīng)說(shuō)的人也許就少了很多,在這小編要說(shuō)的是SSH比SSL在原理和協(xié)議上有什么區(qū)別?
80%的人會(huì)有這樣的疑問(wèn),這明明是兩種不同的東西嘛。
是的,這看似不是一個(gè)合理的比較。普遍的認(rèn)知是:
SSL是一種保護(hù)通過(guò)網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)的通用方法
SSH是一種用于登錄和共享數(shù)據(jù)的網(wǎng)絡(luò)程序
他們差別很大。但仔細(xì)想想,他們功能相似,加密方式相似,這是上天的安排,還是冥冥中的巧合?
看似風(fēng)馬牛不相及,你真的認(rèn)真對(duì)比過(guò)他們嗎?工作中,你又是否偶爾會(huì)混淆他們呢?下面讓我們基于原理和協(xié)議一起來(lái)一探究竟……

一、SSL
SSL,即安全套接層(Secure Sockets Layer),它是一種安全協(xié)議,是Netscape公司在推出Web瀏覽器首版時(shí)一起提出的。
SSL證書(shū)主要是部署在網(wǎng)站服務(wù)器中,通過(guò)SSL協(xié)議實(shí)現(xiàn)瀏覽器客戶端與網(wǎng)站服務(wù)器通信鏈路上的數(shù)據(jù)加密,并認(rèn)證網(wǎng)站服務(wù)器身份,防止釣魚(yú)網(wǎng)站。它用來(lái)保障你的瀏覽器和網(wǎng)站服務(wù)器之間安全通信,免受網(wǎng)絡(luò)“中間人”竊取信息。
傳統(tǒng)的HTTP協(xié)議采用明文傳輸數(shù)據(jù),用戶數(shù)據(jù)存在被竊取和篡改的風(fēng)險(xiǎn)。而部署了SSL證書(shū)的網(wǎng)站,可以采用安全的HTTPS協(xié)議進(jìn)行訪問(wèn)。當(dāng)瀏覽器訪問(wèn)以“https://”開(kāi)頭的URL時(shí),瀏覽器通過(guò)SSL連接使用HTTP。SSL協(xié)議會(huì)在數(shù)據(jù)傳輸之前對(duì)數(shù)據(jù)進(jìn)行加密再進(jìn)行網(wǎng)絡(luò)傳輸,保證了用戶數(shù)據(jù)在傳輸鏈路上的安全。
SSL協(xié)議包含兩個(gè)子協(xié)議:
記錄協(xié)議(SSL Record Protocol):說(shuō)明SSL的數(shù)據(jù)包應(yīng)該如何封裝的。位于OSI七層模型的會(huì)話層上,為不同機(jī)器上的用戶建立和管理會(huì)話。
握手協(xié)議(SSL Handshake Protocol):說(shuō)明通信雙方如何協(xié)商共同決定使用什么算法以及算法使用的key。它在OSI七層模型會(huì)話層的下一層——表示層上,對(duì)他們之間的網(wǎng)絡(luò)聯(lián)接進(jìn)行加密解密。
二、SSH
SSH,也就是Security Shell,由 IETF 的網(wǎng)絡(luò)小組(Network Working Group)所制定,是目前較可靠,專為遠(yuǎn)程登錄會(huì)話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。
SSH最初是UNIX系統(tǒng)上的一個(gè)程序,后來(lái)又迅速擴(kuò)展到其他操作平臺(tái)。SSH相當(dāng)于一個(gè)隧道,數(shù)據(jù)通過(guò)的時(shí)候保護(hù)它不被泄露和篡改,為shell提供安全的傳輸和運(yùn)用環(huán)境。具體來(lái)說(shuō),通過(guò)它可以安全的遠(yuǎn)程實(shí)行另一臺(tái)UNIX體系上機(jī)器的指令。
SSH只是一種協(xié)議,它有很多實(shí)現(xiàn)方法。在Linux中SSH幾乎是標(biāo)配,其中用的最多的實(shí)現(xiàn)是OpenSSH。在Windows系統(tǒng)中使用SSH,會(huì)用到另一種軟件PuTTY。這就相當(dāng)于用QQ遠(yuǎn)程在別的電腦上登錄一樣,是一種安全地遠(yuǎn)程登錄服務(wù)器的方法。
在互聯(lián)網(wǎng)層次中,SSH與HTTP,F(xiàn)TP類似,歸于OSI七層參考模型中的應(yīng)用層協(xié)議,它是使用TCP協(xié)議的應(yīng)用層服務(wù)中的一員。
三、SSH和SSL之間的區(qū)別和關(guān)聯(lián)是什么?
1. 在OSI七層模型中的位置
看完前面的介紹,我們了解到 SSL 是保護(hù)網(wǎng)絡(luò)傳輸數(shù)據(jù)的協(xié)議,是安全地在互聯(lián)網(wǎng)中傳輸?shù)幕?。?SSH 只是一種用于主機(jī)用戶登錄,安全共享數(shù)據(jù)的網(wǎng)絡(luò)應(yīng)用程序。它們?cè)贠SI七層模型中位于不同的位置:

2. 功能的關(guān)聯(lián)與差異
(1) 差異
從功能上來(lái)講,他們差異很大。
SSH 代表了“Secure Shell”。我們關(guān)心它是因?yàn)?,它使?lián)網(wǎng)的計(jì)算機(jī)1能夠訪問(wèn)聯(lián)網(wǎng)計(jì)算機(jī)2上的shell,以計(jì)算機(jī)1的身份登錄主機(jī),并對(duì)他進(jìn)行操作。
SSL 代表“安全套接字層”。我們之所以關(guān)注它,是因?yàn)樗篂g覽器能夠以一種安全的加密方式在web服務(wù)器之間傳輸數(shù)據(jù),從而使監(jiān)視所有internet流量的第三方間諜難以生存。SSL和主機(jī)用戶名登錄沒(méi)有任何關(guān)系,它本身并不實(shí)現(xiàn)主機(jī)登錄的功能,它只是一個(gè)單純的加密功能。
(2) 關(guān)系
SSL和SSH都必須提供在不安全通道上加密和解密數(shù)據(jù)的系統(tǒng)。SSH有自己獨(dú)立于SSL的傳輸協(xié)議,所以這意味著SSH在底層不使用SSL。
為了方便理解,可以簡(jiǎn)單的認(rèn)為功能上:SSH = SSL + 用戶登錄功能等應(yīng)用層協(xié)議。
3. 加密方式的關(guān)聯(lián)與差異
從嚴(yán)格密碼學(xué)角度來(lái)看,他們身份驗(yàn)證的加密方式不同。
SSL 和 SSH 都提供加密元素,以便為檢查完整性的機(jī)密數(shù)據(jù)傳輸構(gòu)建隧道。
SSH 使用所謂的 encryption -and-MAC ,即將加密的消息與明文消息的身份驗(yàn)證代碼(MAC)并列,以添加完整性。這并不是完全安全的(即使看起來(lái)已經(jīng)足夠安全了)。
SSL 使用 MAC-then- encrypt ,即將MAC與明文并列,然后對(duì)它們進(jìn)行加密。這也不是最好的,因?yàn)樵谝恍┓纸M密碼模式下,MAC的某些部分可以猜測(cè)并顯示密碼上的一些內(nèi)容。這導(dǎo)致了TLS 1.0中的漏洞。老的算法譬如:TLS_RSA_WITH_AES_128_CBC_SHA 和TLS_RSA_WITH_RC4_128_MD5 都是mac-then-encrypt模式。
兩種加密方式它們都有潛在的理論弱點(diǎn)。最強(qiáng)的方法是Encrypt-then-MAC,它在IPsec ESP中實(shí)現(xiàn)。
4. 安全性比較
從安全性上來(lái)講,Secure Shell和SSL各有千秋。
SSL有證書(shū)中心(CA)公正,可以確定發(fā)送者的身份。而SSH沒(méi)有,可能會(huì)被“中間人攻擊”,它相當(dāng)于現(xiàn)代版的竊聽(tīng)。如果攻擊者插在用戶與遠(yuǎn)程主機(jī)之間(比如在公共wifi區(qū)域),用偽造的公鑰,獲取用戶的登錄密碼。再用這個(gè)密碼登錄遠(yuǎn)程主機(jī),那么SSH的安全機(jī)制就蕩然無(wú)存了。不過(guò)確保禁用了不安全的SSL/TLS協(xié)議,且所訪問(wèn)的網(wǎng)址前面有HTTPS作為開(kāi)頭,可以避免大多數(shù)的中間人攻擊。
SSL終止代理可以處理傳入的SSL連接,解密SSL并將未加密的請(qǐng)求傳遞給其他服務(wù)器。SSL允許您通過(guò)簽名證書(shū)使用PKI(公鑰基礎(chǔ)設(shè)施)。而使用SSH,您必須通過(guò)ftp等其他協(xié)議手動(dòng)交換密鑰指紋。
SSH有一個(gè)用戶身份驗(yàn)證層,這是SSL所缺乏的(不過(guò)是因?yàn)樗⒉恍枰?yàn)證功能)。在使用utf – 8編碼時(shí),SSH協(xié)議使用了更多的協(xié)議。考慮到有更多的潛在攻擊,SSH的攻擊面似乎更大。但這只是因?yàn)镾SH內(nèi)建了一個(gè)完整的應(yīng)用程序。安全性和SSL其實(shí)相差無(wú)幾。
80%的人會(huì)有這樣的疑問(wèn),這明明是兩種不同的東西嘛。
是的,這看似不是一個(gè)合理的比較。普遍的認(rèn)知是:
SSL是一種保護(hù)通過(guò)網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)的通用方法
SSH是一種用于登錄和共享數(shù)據(jù)的網(wǎng)絡(luò)程序
他們差別很大。但仔細(xì)想想,他們功能相似,加密方式相似,這是上天的安排,還是冥冥中的巧合?
看似風(fēng)馬牛不相及,你真的認(rèn)真對(duì)比過(guò)他們嗎?工作中,你又是否偶爾會(huì)混淆他們呢?下面讓我們基于原理和協(xié)議一起來(lái)一探究竟……

一、SSL
SSL,即安全套接層(Secure Sockets Layer),它是一種安全協(xié)議,是Netscape公司在推出Web瀏覽器首版時(shí)一起提出的。
SSL證書(shū)主要是部署在網(wǎng)站服務(wù)器中,通過(guò)SSL協(xié)議實(shí)現(xiàn)瀏覽器客戶端與網(wǎng)站服務(wù)器通信鏈路上的數(shù)據(jù)加密,并認(rèn)證網(wǎng)站服務(wù)器身份,防止釣魚(yú)網(wǎng)站。它用來(lái)保障你的瀏覽器和網(wǎng)站服務(wù)器之間安全通信,免受網(wǎng)絡(luò)“中間人”竊取信息。
傳統(tǒng)的HTTP協(xié)議采用明文傳輸數(shù)據(jù),用戶數(shù)據(jù)存在被竊取和篡改的風(fēng)險(xiǎn)。而部署了SSL證書(shū)的網(wǎng)站,可以采用安全的HTTPS協(xié)議進(jìn)行訪問(wèn)。當(dāng)瀏覽器訪問(wèn)以“https://”開(kāi)頭的URL時(shí),瀏覽器通過(guò)SSL連接使用HTTP。SSL協(xié)議會(huì)在數(shù)據(jù)傳輸之前對(duì)數(shù)據(jù)進(jìn)行加密再進(jìn)行網(wǎng)絡(luò)傳輸,保證了用戶數(shù)據(jù)在傳輸鏈路上的安全。
SSL協(xié)議包含兩個(gè)子協(xié)議:
記錄協(xié)議(SSL Record Protocol):說(shuō)明SSL的數(shù)據(jù)包應(yīng)該如何封裝的。位于OSI七層模型的會(huì)話層上,為不同機(jī)器上的用戶建立和管理會(huì)話。
握手協(xié)議(SSL Handshake Protocol):說(shuō)明通信雙方如何協(xié)商共同決定使用什么算法以及算法使用的key。它在OSI七層模型會(huì)話層的下一層——表示層上,對(duì)他們之間的網(wǎng)絡(luò)聯(lián)接進(jìn)行加密解密。
二、SSH
SSH,也就是Security Shell,由 IETF 的網(wǎng)絡(luò)小組(Network Working Group)所制定,是目前較可靠,專為遠(yuǎn)程登錄會(huì)話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。
SSH最初是UNIX系統(tǒng)上的一個(gè)程序,后來(lái)又迅速擴(kuò)展到其他操作平臺(tái)。SSH相當(dāng)于一個(gè)隧道,數(shù)據(jù)通過(guò)的時(shí)候保護(hù)它不被泄露和篡改,為shell提供安全的傳輸和運(yùn)用環(huán)境。具體來(lái)說(shuō),通過(guò)它可以安全的遠(yuǎn)程實(shí)行另一臺(tái)UNIX體系上機(jī)器的指令。
SSH只是一種協(xié)議,它有很多實(shí)現(xiàn)方法。在Linux中SSH幾乎是標(biāo)配,其中用的最多的實(shí)現(xiàn)是OpenSSH。在Windows系統(tǒng)中使用SSH,會(huì)用到另一種軟件PuTTY。這就相當(dāng)于用QQ遠(yuǎn)程在別的電腦上登錄一樣,是一種安全地遠(yuǎn)程登錄服務(wù)器的方法。
在互聯(lián)網(wǎng)層次中,SSH與HTTP,F(xiàn)TP類似,歸于OSI七層參考模型中的應(yīng)用層協(xié)議,它是使用TCP協(xié)議的應(yīng)用層服務(wù)中的一員。
三、SSH和SSL之間的區(qū)別和關(guān)聯(lián)是什么?
1. 在OSI七層模型中的位置
看完前面的介紹,我們了解到 SSL 是保護(hù)網(wǎng)絡(luò)傳輸數(shù)據(jù)的協(xié)議,是安全地在互聯(lián)網(wǎng)中傳輸?shù)幕?。?SSH 只是一種用于主機(jī)用戶登錄,安全共享數(shù)據(jù)的網(wǎng)絡(luò)應(yīng)用程序。它們?cè)贠SI七層模型中位于不同的位置:

2. 功能的關(guān)聯(lián)與差異
(1) 差異
從功能上來(lái)講,他們差異很大。
SSH 代表了“Secure Shell”。我們關(guān)心它是因?yàn)?,它使?lián)網(wǎng)的計(jì)算機(jī)1能夠訪問(wèn)聯(lián)網(wǎng)計(jì)算機(jī)2上的shell,以計(jì)算機(jī)1的身份登錄主機(jī),并對(duì)他進(jìn)行操作。
SSL 代表“安全套接字層”。我們之所以關(guān)注它,是因?yàn)樗篂g覽器能夠以一種安全的加密方式在web服務(wù)器之間傳輸數(shù)據(jù),從而使監(jiān)視所有internet流量的第三方間諜難以生存。SSL和主機(jī)用戶名登錄沒(méi)有任何關(guān)系,它本身并不實(shí)現(xiàn)主機(jī)登錄的功能,它只是一個(gè)單純的加密功能。
(2) 關(guān)系
SSL和SSH都必須提供在不安全通道上加密和解密數(shù)據(jù)的系統(tǒng)。SSH有自己獨(dú)立于SSL的傳輸協(xié)議,所以這意味著SSH在底層不使用SSL。
為了方便理解,可以簡(jiǎn)單的認(rèn)為功能上:SSH = SSL + 用戶登錄功能等應(yīng)用層協(xié)議。
3. 加密方式的關(guān)聯(lián)與差異
從嚴(yán)格密碼學(xué)角度來(lái)看,他們身份驗(yàn)證的加密方式不同。
SSL 和 SSH 都提供加密元素,以便為檢查完整性的機(jī)密數(shù)據(jù)傳輸構(gòu)建隧道。
SSH 使用所謂的 encryption -and-MAC ,即將加密的消息與明文消息的身份驗(yàn)證代碼(MAC)并列,以添加完整性。這并不是完全安全的(即使看起來(lái)已經(jīng)足夠安全了)。
SSL 使用 MAC-then- encrypt ,即將MAC與明文并列,然后對(duì)它們進(jìn)行加密。這也不是最好的,因?yàn)樵谝恍┓纸M密碼模式下,MAC的某些部分可以猜測(cè)并顯示密碼上的一些內(nèi)容。這導(dǎo)致了TLS 1.0中的漏洞。老的算法譬如:TLS_RSA_WITH_AES_128_CBC_SHA 和TLS_RSA_WITH_RC4_128_MD5 都是mac-then-encrypt模式。
兩種加密方式它們都有潛在的理論弱點(diǎn)。最強(qiáng)的方法是Encrypt-then-MAC,它在IPsec ESP中實(shí)現(xiàn)。
4. 安全性比較
從安全性上來(lái)講,Secure Shell和SSL各有千秋。
SSL有證書(shū)中心(CA)公正,可以確定發(fā)送者的身份。而SSH沒(méi)有,可能會(huì)被“中間人攻擊”,它相當(dāng)于現(xiàn)代版的竊聽(tīng)。如果攻擊者插在用戶與遠(yuǎn)程主機(jī)之間(比如在公共wifi區(qū)域),用偽造的公鑰,獲取用戶的登錄密碼。再用這個(gè)密碼登錄遠(yuǎn)程主機(jī),那么SSH的安全機(jī)制就蕩然無(wú)存了。不過(guò)確保禁用了不安全的SSL/TLS協(xié)議,且所訪問(wèn)的網(wǎng)址前面有HTTPS作為開(kāi)頭,可以避免大多數(shù)的中間人攻擊。
SSL終止代理可以處理傳入的SSL連接,解密SSL并將未加密的請(qǐng)求傳遞給其他服務(wù)器。SSL允許您通過(guò)簽名證書(shū)使用PKI(公鑰基礎(chǔ)設(shè)施)。而使用SSH,您必須通過(guò)ftp等其他協(xié)議手動(dòng)交換密鑰指紋。
SSH有一個(gè)用戶身份驗(yàn)證層,這是SSL所缺乏的(不過(guò)是因?yàn)樗⒉恍枰?yàn)證功能)。在使用utf – 8編碼時(shí),SSH協(xié)議使用了更多的協(xié)議。考慮到有更多的潛在攻擊,SSH的攻擊面似乎更大。但這只是因?yàn)镾SH內(nèi)建了一個(gè)完整的應(yīng)用程序。安全性和SSL其實(shí)相差無(wú)幾。
從概念上講,我們可以使用SSH并將隧道部分替換為SSL中的隧道部分,甚至還可以使用HTTPS并使用SSH-with-data-transport替換SSL事務(wù),并使用鉤子從其證書(shū)中提取服務(wù)器公鑰。沒(méi)有科學(xué)上的不可能性,如果做得恰當(dāng),它們的安全性將保持不變。
看完相信大家對(duì)于SSH與SSL的區(qū)別有了更深的理解,以上信息由全網(wǎng)數(shù)據(jù)小編提供,全網(wǎng)數(shù)據(jù)是一家老牌服務(wù)商,有著多年的豐富經(jīng)驗(yàn),主要是為各大中小企業(yè)以及個(gè)人提供深圳服務(wù)器托管,深圳服務(wù)器租用,深圳主機(jī)租用,寬帶租用等,歡迎咨詢客服了解更多詳情。