淺談SSL與SSH以及各層安全協議
“(1)應用層安全(Security at the Application Layer):郵件系統安全(Electronic Mail Security)
電子郵件安全要素(Email security issues)
PGP協議(PGP-Pretty Good Privacy)
(2)傳輸層安全(Security at the Transport Layer):SSL
SSL上的四個子協議(Four protocols)
SSH
(3)網路層安全(Security at the Network Layer):IPSec
IPSec的兩個資料庫(Two Database)
IPSec的兩個安全協議(Two Security Protocols)
IPSec的兩種模式(Two Modes)
因特網祕鑰交換(Internet Key Exchange(IKE))”
網路安全協議大致可以按網路層級分三層:分別是應用層的安全協議、傳輸層的安全協議和網路層的安全協議。
其中應用層的安全協議這裡只講用於電子郵件安全的PGP協議。
我們知道,網路的五層中,下層總是為上層提供服務,在安全協議棧中也是如此,通常下層的安全協議都能提供給上層進行安全服務。
當然,上層也可以自己實現一套自己的安全協議,而並不需要下層進行關於安全的工作,你就給我完成好你本身的任務就行了(比如傳輸層的TCP/UDP連線,網路層的IP包傳送)。但是通常上層實現一套完整的安全協議代價更大,並且通用性不強。例如PGP協議通常只用於電子郵件安全服務,而不是用在HTTP協議當中,所以對於HTTP這些其他的協議來說,我只需要呼叫下層也就是傳輸層提供給我的安全協議(SSL)就好了。舉個可能不太恰當的例子吧,就是京東跟淘寶,京東自己搭建了一整套的電商服務體系,也就是網店管理、物流配送、售後這些都是自己一整套做下來的;而淘寶則提供給賣家一個平臺,賣家只需要做好網店和售後等工作就好了,物流配送這些外包給“下層體系”去做。所以我們都知道,前者京東這樣的模式能提供更好的使用者體驗,但是相應的成本也更高,也就是從最上層到最底層,都是我,而後者淘寶則是提供了一個底層的實現機制,上層淘寶賣家只需要做好頂層的東西就好了,下層的基礎支援我們提供,因為有統一的底層支援,自然上層就不是一個“我”在做了,我可以開放給更多的賣家來做,用我的這套底層支援來做,個人覺得這就是馬老闆經常強調的“平臺”二字的精髓吧。當然,京東現在已經開放它的下層平臺給其他的賣家了,阿里也開始做自己的一整套垂直電商了,這些就扯遠了。
回到正題。
既然應用層協議時作為頂層的安全協議,那它自然要兼顧到“傳輸連線(TCP)的安全、IP包傳送的安全”等等下層的安全體系,或者說,你把應用層的包加密好,然後下層TCP和IP層級不必加密而是讓它們直接幫我傳包就好了。
然後來到傳輸層的SSL(Secure Sockets Layer)和SSH(Secure Shell),先來看它們的區別之一:
“SSL不是一個應用程式,而是一個協議棧,它需要和應用層進行結合SSH本身就是一個完整的應用程式,可以用來進行遠端登入,也可以遠端帶加密地儲存檔案,也提供了兩個主機間安全的通訊通道(可以借這個進行翻牆)。”
也就是說SSL提供給上層也就是應用層一個通用的傳輸層加密框架,上層只需要用SSL就能保障一定的安全性。然後再來看SSL的一些具體介紹:
至於網路層的IPSEC安全協議: