SSL和SSH有什么區(qū)別?哪一個(gè)更好?
SSL和SSH有什么區(qū)別?哪一個(gè)更好?
今天小編為大家整理一些關(guān)于SSL和SSH的相關(guān)知識(shí),下面我們一起來看看吧
一、SSL
SSL,即安全套接層(Secure Sockets Layer),它是一種安全協(xié)議,是Netscape公司在推出Web瀏覽器首版時(shí)一起提出的。
SSL證書主要是部署在網(wǎng)站服務(wù)器中,通過SSL協(xié)議實(shí)現(xiàn)瀏覽器客戶端與網(wǎng)站服務(wù)器通信鏈路上的數(shù)據(jù)加密,并認(rèn)證網(wǎng)站服務(wù)器身份,防止釣魚網(wǎng)站。它用來保障你的瀏覽器和網(wǎng)站服務(wù)器之間安全通信,免受網(wǎng)絡(luò)“中間人”竊取信息。
傳統(tǒng)的HTTP協(xié)議采用明文傳輸數(shù)據(jù),用戶數(shù)據(jù)存在被竊取和篡改的風(fēng)險(xiǎn)。而部署了SSL證書的網(wǎng)站,可以采用安全的HTTPS協(xié)議進(jìn)行訪問。當(dāng)瀏覽器訪問以“https://”開頭的URL時(shí),瀏覽器通過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):說明SSL的數(shù)據(jù)包應(yīng)該如何封裝的。位于OSI七層模型的會(huì)話層上,為不同機(jī)器上的用戶建立和管理會(huì)話。
握手協(xié)議(SSL Handshake Protocol):說明通信雙方如何協(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è)程序,后來又迅速擴(kuò)展到其他操作平臺(tái)。SSH相當(dāng)于一個(gè)隧道,數(shù)據(jù)通過的時(shí)候保護(hù)它不被泄露和篡改,為shell提供安全的傳輸和運(yùn)用環(huán)境。具體來說,通過它可以安全的遠(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ù)中的一員。
區(qū)別:
ssl是通訊鏈路的附加層??梢园芏鄥f(xié)議。https, ftps, .....
ssh只是加密的shell,最初是用來替代telnet的。通過port forward,也可以讓其他協(xié)議通過ssh的隧道而起到加密的效果。
SSL是一種國(guó)際標(biāo)準(zhǔn)的加密及身份認(rèn)證通信協(xié)議,您用的瀏覽器就支持此協(xié)議。SSL(Secure Sockets Layer)最初是由美國(guó)Netscape公司研究出來的,后來成為了Internet網(wǎng)上安全通訊與交易的標(biāo)準(zhǔn)。SSL協(xié)議使用通訊雙方的客戶證書以及CA根證書,允許客戶/服務(wù)器應(yīng)用以一種不能被偷聽的方式通訊,在通訊雙方間建立起了一條安全的、可信任的通訊通道。它具備以下基本特征:信息保密性、信息完整性、相互鑒定。 主要用于提高應(yīng)用程序之間數(shù)據(jù)的安全系數(shù)。SSL協(xié)議的整個(gè)概念可以被總結(jié)為:一個(gè)保證任何安裝了安全套接字的客戶和服務(wù)器間事務(wù)安全的協(xié)議,它涉及所有TC/IP應(yīng)用程序。
SSH的英文全稱是Secure Shell。通過使用SSH,你可以把所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密,這樣“中間人”這種攻擊方式就不可能實(shí)現(xiàn)了,而且也能夠防止DNS和IP欺騙。還有一個(gè)額外的好處就是傳輸?shù)臄?shù)據(jù)是經(jīng)過壓縮的,所以可以加快傳輸?shù)乃俣?。SSH有很多功能,它既可以代替telnet,又可以為ftp、pop、甚至ppp提供一個(gè)安全的“通道”。SSH是由客戶端和服務(wù)端的軟件組成的,有兩個(gè)不兼容的版本分別是:1.x和2.x。用SSH 2.x的客戶程序是不能連接到SSH 1.x的服務(wù)程序上去的。OpenSSH 2.x同時(shí)支持SSH 1.x和2.x。
SSH的安全驗(yàn)證是如何工作的?從客戶端來看,SSH提供兩種級(jí)別的安全驗(yàn)證。
第一種級(jí)別(基于口令的安全驗(yàn)證)只要你知道自己帳號(hào)和口令,就可以登錄到遠(yuǎn)程主機(jī)。所有傳輸?shù)臄?shù)據(jù)都會(huì)被加密,但是不能保證你正在連接的服務(wù)器就是你想連接的服務(wù)器??赡軙?huì)有別的服務(wù)器在冒充真正的服務(wù)器,也就是受到“中間人”這種方式的攻擊。
第二種級(jí)別(基于密匙的安全驗(yàn)證)需要依靠密匙,也就是你必須為自己創(chuàng)建一對(duì)密匙,并把公用密匙放在需要訪問的服務(wù)器上。如果你要連接到SSH服務(wù)器上,客戶端軟件就會(huì)向服務(wù)器發(fā)出請(qǐng)求,請(qǐng)求用你的密匙進(jìn)行安全驗(yàn)證。服務(wù)器收到請(qǐng)求之后,先在你在該服務(wù)器的家目錄下尋找你的公用密匙,然后把它和你發(fā)送過來的公用密匙進(jìn)行比較。如果兩個(gè)密匙一致,服務(wù)器就用公用密匙加密“質(zhì)詢”(challenge)并把它發(fā)送給客戶端軟件??蛻舳塑浖盏健百|(zhì)詢”之后就可以用你的私人密匙解密再把它發(fā)送給服務(wù)器。用這種方式,你必須知道自己密匙的口令。
但是,與第一種級(jí)別相比,第二種級(jí)別不需要在網(wǎng)絡(luò)上傳送口令。第二種級(jí)別不僅加密所有傳送的數(shù)據(jù),而且“中間人”這種攻擊方式也是不可能的(因?yàn)樗麤]有你的私人密匙)。但是整個(gè)登錄的過程可能需要10秒。
加密方式的關(guān)聯(lián)與差異
從嚴(yán)格密碼學(xué)角度來看,他們身份驗(yàn)證的加密方式不同。SSL 和 SSH 都提供加密元素,以便為檢查完整性的機(jī)密數(shù)據(jù)傳輸構(gòu)建隧道。
SSH 使用所謂的 encryption -and-MAC ,即將加密的消息與明文消息的身份驗(yàn)證代碼(MAC)并列,以添加完整性。這并不是完全安全的(即使看起來已經(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)。
安全性比較
從安全性上來講,Secure Shell和SSL各有千秋。
SSL有證書中心(CA)公正,可以確定發(fā)送者的身份。而SSH沒有,可能會(huì)被“中間人攻擊”,它相當(dāng)于現(xiàn)代版的竊聽。如果攻擊者插在用戶與遠(yuǎn)程主機(jī)之間(比如在公共wifi區(qū)域),用偽造的公鑰,獲取用戶的登錄密碼。再用這個(gè)密碼登錄遠(yuǎn)程主機(jī),那么SSH的安全機(jī)制就蕩然無存了。不過確保禁用了不安全的SSL/TLS協(xié)議,且所訪問的網(wǎng)址前面有HTTPS作為開頭,可以避免大多數(shù)的中間人攻擊。
SSL終止代理可以處理傳入的SSL連接,解密SSL并將未加密的請(qǐng)求傳遞給其他服務(wù)器。SSL允許您通過簽名證書使用PKI(公鑰基礎(chǔ)設(shè)施)。而使用SSH,您必須通過ftp等其他協(xié)議手動(dòng)交換密鑰指紋。
SSH有一個(gè)用戶身份驗(yàn)證層,這是SSL所缺乏的(不過是因?yàn)樗⒉恍枰?yàn)證功能)。在使用utf – 8編碼時(shí),SSH協(xié)議使用了更多的協(xié)議??紤]到有更多的潛在攻擊,SSH的攻擊面似乎更大。但這只是因?yàn)镾SH內(nèi)建了一個(gè)完整的應(yīng)用程序。安全性和SSL其實(shí)相差無幾。
從概念上講,我們可以使用SSH并將隧道部分替換為SSL中的隧道部分,甚至還可以使用HTTPS并使用SSH-with-data-transport替換SSL事務(wù),并使用鉤子從其證書中提取服務(wù)器公鑰。沒有科學(xué)上的不可能性,如果做得恰當(dāng),它們的安全性將保持不變。
以上就是“SSL和SSH有什么區(qū)別”的全部?jī)?nèi)容,好了今天小編的介紹就到這里了,希望對(duì)大家有所幫助!如果你喜歡記得分享給身邊的朋友哦!
相關(guān)文章: