在OSI七層模型中,這兩個安全傳輸協定其實都是建立在應用層上的
在最初的設計意圖中;
SSL(Secure Sockets Layer (SSL) and Transport Layer Security (TLS))被設計為加強Web安全傳輸(HTTP/HTTPS/)的協定(事實上還有SMTP/NNTP等) ,預設使用443端口
SSH(Secure Shell)更多的則被設計為加強Telnet/FTP安全的傳輸協定,預設地,它使用22端口.
ssl是通訊鍊路的附加層。可以包含很多協定。https, ftps, .....
ssh隻是加密的shell,最初是用來替代telnet的。通過port forward,也可以讓其他協定通過ssh的隧道而起到加密的效果。
SSL是一種國際标準的加密及身份認證通信協定,您用的浏覽器就支援此協定。SSL(Secure Sockets Layer)最初是由美國Netscape公司研究出來的,後來成為了Internet網上安全通訊與交易的标準。SSL協定使用通訊雙方的客戶證書以及CA根證書,允許客戶/伺服器應用以一種不能被偷聽的方式通訊,在通訊雙方間建立起了一條安全的、可信任的通訊通道。它具備以下基本特征:資訊保密性、資訊完整性、互相鑒定。 主要用于提高應用程式之間資料的安全系數。SSL協定的整個概念可以被總結為:一個保證任何安裝了安全套接字的客戶和伺服器間事務安全的協定,它涉及所有TC/IP應用程式。
SSH的英文全稱是Secure Shell。通過使用SSH,你可以把所有傳輸的資料進行加密,這樣“中間人”這種攻擊方式就不可能實作了,而且也能夠防止DNS和IP欺騙。還有一個額外的好處就是傳輸的資料是經過壓縮的,是以可以加快傳輸的速度。SSH有很多功能,它既可以代替telnet,又可以為ftp、pop、甚至ppp提供一個安全的“通道”。SSH是由用戶端和服務端的軟體組成的,有兩個不相容的版本分别是:1.x和2.x。用SSH 2.x的客戶程式是不能連接配接到SSH 1.x的服務程式上去的。OpenSSH 2.x同時支援SSH 1.x和2.x。
SSH的安全驗證是如何工作的?從用戶端來看,SSH提供兩種級别的安全驗證。
第一種級别(基于密碼的安全驗證)隻要你知道自己帳号和密碼,就可以登入到遠端主機。
手遊賣号平台所有傳輸的資料都會被加密,但是不能保證你正在連接配接的伺服器就是你想連接配接的伺服器。可能會有别的伺服器在冒充真正的伺服器,也就是受到“中間人”這種方式的攻擊。
第二種級别(基于密匙的安全驗證)需要依靠密匙,也就是你必須為自己建立一對密匙,并把公用密匙放在需要通路的伺服器上。如果你要連接配接到SSH伺服器上,用戶端軟體就會向伺服器送出請求,請求用你的密匙進行安全驗證。伺服器收到請求之後,先在你在該伺服器的家目錄下尋找你的公用密匙,然後把它和你發送過來的公用密匙進行比較。如果兩個密匙一緻,伺服器就用公用密匙加密“質詢”(challenge)并把它發送給用戶端軟體。用戶端軟體收到“質詢”之後就可以用你的私人密匙解密再把它發送給伺服器。用這種方式,你必須知道自己密匙的密碼。
但是,與第一種級别相比,第二種級别不需要在網絡上傳送密碼。第二種級别不僅加密所有傳送的資料,而且“中間人”這種攻擊方式也是不可能的(因為他沒有你的私人密匙)。但是整個登入的過程可能需要10秒。