網路安全協議之比較(SSH、PKI、SET、SSL)
一、SSH介紹
什麼是SSH?
傳統的網路服務程式,如:ftp、pop和telnet在本質上都是不安全的,因為它們在網路上用明文傳送密碼和數據,別有用心的人非常容易就可以截穫這些密碼和數據。而且,這些服務程式的安全驗證方式也是有其弱點的,就是很容易受到“中間人”(man-in-the-middle)這種方式的攻擊。所謂“中間人”的攻擊方式,就是“中間人”冒充真正的伺服器接收你的傳給伺服器的數據,然後再冒充你把數據傳給真正的伺服器。伺服器和你之間的數據傳送被“中間人”一轉手做了手腳之後,就會出現很嚴重的問題。
SSH的英文全稱是Secure
SHell。透過使用SSH,你可以把所有傳輸的數據進行加密,這樣“中間人”這種攻擊方式就不可能實現了,而且也能夠防止DNS和IP欺騙。還有一個額外的好處就是傳輸的數據是經過壓縮的,所以可以加快傳輸的速度。 SSH有很多功能,它既可以代替telnet,又可以為ftp、pop、甚至ppp提供一個安全的“通道”。
最初SSH是由芬蘭的一家公司開發的。但是因為受版權和加密算法的限制,現在很多人都轉而使用OpenSSH。 OpenSSH是SSH的替代軟體,而且是免費的,可以預計將來會有越 來越多的人使用它而不是SSH。
SSH是由用戶端和服務端的軟體組成的,有兩個不相容的版本分別是:1.x和2.x。 用SSH 2.x的用戶程式是不能連接到SSH 1.x的服務程式上去的。OpenSSH 2.x同時支援SSH 1.x和2.x。
SSH的安全驗證是如何工作的
從用戶端來看,SSH提供兩種級別的安全驗證。
第一種級別(基於密碼的安全驗證)隻要你知道自己帳號和密碼,就可以登錄到遠端主機。所有傳輸的數據都會被加密, 但是不能保證你正在連接的伺服器就是你想連接的伺服器。可能會有別的伺服器在冒充真正的伺服器, 也就是受到“中間人”這種方式的攻擊。
第二種級別(基於密匙的安全驗證)需要依靠密匙,也就是你必須為自己創建一對密匙,並把公用密匙放在需要訪問的伺服器上。如果你要連接到SSH伺服器上,用戶端軟體就會向伺服器發出請求,請求用你的密匙進行安全驗證。伺服器收到請求之後,先在你在該伺服器的家目錄下尋找你的公用密匙,然後把它和你發送過來的公用密匙進行比較。如果兩個密匙一致,伺服器就用公用密匙加密“質詢”(challenge)並把它發送給用戶端軟體。用戶端軟體收到“質詢”之後就可以用你的私人密匙解密再把它發送給伺服器。
用這種方式,你必須知道自己密匙的密碼。但是,與第一種級別相比,第二種級別不需要在網路上傳送密碼。
第二種級別不僅加密所有傳送的數據,而且“中間人”這種攻擊方式也是不可能的(因為他沒有你的私人密匙)。 但是整個登錄的過程可能需要10秒。
什麼是SSH?
傳統的網路服務程式,如:ftp、pop和telnet在本質上都是不安全的,因為它們在網路上用明文傳送密碼和數據,別有用心的人非常容易就可以截穫這些密碼和數據。而且,這些服務程式的安全驗證方式也是有其弱點的,就是很容易受到“中間人”(man-in-the-middle)這種方式的攻擊。所謂“中間人”的攻擊方式,就是“中間人”冒充真正的伺服器接收你的傳給伺服器的數據,然後再冒充你把數據傳給真正的伺服器。伺服器和你之間的數據傳送被“中間人”一轉手做了手腳之後,就會出現很嚴重的問題。
SSH的英文全稱是Secure
SHell。透過使用SSH,你可以把所有傳輸的數據進行加密,這樣“中間人”這種攻擊方式就不可能實現了,而且也能夠防止DNS和IP欺騙。還有一個額外的好處就是傳輸的數據是經過壓縮的,所以可以加快傳輸的速度。 SSH有很多功能,它既可以代替telnet,又可以為ftp、pop、甚至ppp提供一個安全的“通道”。
最初SSH是由芬蘭的一家公司開發的。但是因為受版權和加密算法的限制,現在很多人都轉而使用OpenSSH。 OpenSSH是SSH的替代軟體,而且是免費的,可以預計將來會有越 來越多的人使用它而不是SSH。
SSH是由用戶端和服務端的軟體組成的,有兩個不相容的版本分別是:1.x和2.x。 用SSH 2.x的用戶程式是不能連接到SSH 1.x的服務程式上去的。OpenSSH 2.x同時支援SSH 1.x和2.x。
SSH的安全驗證是如何工作的
從用戶端來看,SSH提供兩種級別的安全驗證。
第一種級別(基於密碼的安全驗證)隻要你知道自己帳號和密碼,就可以登錄到遠端主機。所有傳輸的數據都會被加密, 但是不能保證你正在連接的伺服器就是你想連接的伺服器。可能會有別的伺服器在冒充真正的伺服器, 也就是受到“中間人”這種方式的攻擊。
第二種級別(基於密匙的安全驗證)需要依靠密匙,也就是你必須為自己創建一對密匙,並把公用密匙放在需要訪問的伺服器上。如果你要連接到SSH伺服器上,用戶端軟體就會向伺服器發出請求,請求用你的密匙進行安全驗證。伺服器收到請求之後,先在你在該伺服器的家目錄下尋找你的公用密匙,然後把它和你發送過來的公用密匙進行比較。如果兩個密匙一致,伺服器就用公用密匙加密“質詢”(challenge)並把它發送給用戶端軟體。用戶端軟體收到“質詢”之後就可以用你的私人密匙解密再把它發送給伺服器。
用這種方式,你必須知道自己密匙的密碼。但是,與第一種級別相比,第二種級別不需要在網路上傳送密碼。
第二種級別不僅加密所有傳送的數據,而且“中間人”這種攻擊方式也是不可能的(因為他沒有你的私人密匙)。 但是整個登錄的過程可能需要10秒。