12-3 IP 安全協定
內容:
12-3-1 IPSec 協定簡介
VIDEO
『 IP 安全協定』( IP Security Protocol, IPSec) 是 ITEF( Internet Engineering Task Force)特別對 VPN 網路所制定的規範 RFC 2401,亦分別對 IPv4( IP Version 4)與 IPv6( IP Version 6)兩個版本制定規範,在此我們會分別介紹之。
在 Internet 網路上,除了 ARP 與 RARP 有獨立的封包傳輸外,其它通訊協定(如 TCP、 UDP、 ICMP、 IGMP)皆是以 IP 封包來傳送。也就是說,這些通訊協定都是經過 IP 封包封裝後,再以 IP 協定在網路上傳輸。傳送端發送 IP 封包時,並無法預估該封包會經過那些路徑,其間需透過網路上一個接一個路由器轉送始可到達目的地。轉送過程中,每一個路由器收到封包後,由封包上讀取該封包上所註明的目的位址,並尋找可能到達的路徑再傳送出去。如此一來, IP 封包內所承載的訊息很容易被有心人士窺視,或是偽造另一個封包傳送給接收端。由此可見,利用 IP 協定來傳輸資料是非常不可靠的。另一方面,既然所有通訊協定都是利用 IP 協定來傳輸,只要我們能將不可靠的 IP 傳輸,經過安全性機制處理之後,使所承載的任何協定就可達到安全性的保護,換言之,經由 IPSec 協定傳輸的任何應用系統,都可以達到安全性的需求,由此可見, IPSec 協定是解決 Internet 網路上安全性需求的根本之道。
圖 12-4 IPSec 與 SSL/TLS 協定堆疊
圖 12-4 (a) 為
IPSec
的協定堆疊 ,只要將不可靠的 IP 協定轉換成具有安全性的 IPSec;如此一來,透過 IPSec 協定所傳輸的訊息,就可以達到安全性目的。除了 IPSec 安全協定之外,其他安全協定大多屬於 TCP/UDP 協定層次,如 SSL或 TLS協定,其協定堆疊如圖 12-4 (b) 所示。這類協定並不修改 IP 協定,它只針對通訊中某筆訊息( TCP 連線)做安全性的保護,保護措施大多是短暫的,對於與陌生人通訊方面比較方便,因此大多使用於電子商務的應用上,兩者的應用有很大的區別(請參考第十一章說明)。
12-3-2 IPSec 相關技術
VIDEO
談到『安全性』( Security) 總是離不開兩個主題,一則為『加密』 ,其目的是要保持資料的隱密性,讓他人無法窺視資料的內容;另一則為『認證』 ,是驗證通訊中的對方身份,是否遭受他人冒名頂替。為了達到上述目的,還是必須仰賴密碼學中加解密演算法,這又牽涉到交換鑰匙的問題。圖 12-5 為 IPSec 的相關技術,我們在這裡先概略性的介紹,讓讀者有一個簡單的概念,接下來再詳細介紹,如此可讓讀者較易進入狀況。
圖 12-5 IPSec 相關技術
由圖 12-5 中,可將 IPSec 相關技術歸納如下:
IPSec 裝置( IPSec Device) :安裝有 IPSec 協定的設備者稱之(或可從事 VPN 功能的設備),它不僅是一個安全裝置,還可以代表一個使用者個體、使用者群組、或組織單位(具有身分憑證)。一般 IPSec 裝置設備可分為下列兩種:
『安全主機』( Security Host, SH) :主機安裝有安全協定者稱之,但必須提供傳輸與通道模式等兩種操作模式(容後介紹)。
『安全閘門』( Security Gateway, SG) :路由器安裝有 IPSec 協定者稱之。因為 SG 充當內部網路與外部網路之間的進出閘門,因此,僅提供通道模式。如果使用傳輸模式的話,僅能使用於網路管理協定(如 SNMP 協定)。
安全關聯( Security Association, SA) :規範通訊實體之間的安全政策,以及某一安全政策之下的相關安全參數,譬如,兩通訊實體之間的安全協定( AH 或 ESP)、封包模式(傳輸模式或通道模式)、以及加密演算法等等。
網際網路安全關聯金鑰管理協定( Internet Security Association Key Management Protocol, ISAKMP) :通訊實體之間係利用 ISAKMP 協定協調及建立所需的 SA,其協議內容包含安全協定、加密演算法、或認證演算法等等。
『網際網路金鑰交換』( Internet Key Exchange, IKE): 當雙方利用 ISAKMP 協議出所欲採用演算法之後,還必須協議出雙方的會議金鑰,此鑰匙可能使用於加密或認證系統。 IPSec 為了使 ISAKMP 能符合各種環境需求,並不固定某一特定的金鑰交換協定,而由另一個 Internet 網路上較普遍的 IKE 協定來完成。
公鑰基礎架構( Public Key Infrastructure, PKI): PKI 發給每一個 IPSec身份驗證的數位憑證,作為進入 VPN 網路的身份證明,其中包含個體的公鑰( Public Key)與私鑰( Private Key)。通訊實體之間就是利用 PKI 所發給的鑰匙互相確認身分,並交換鑰匙材料以建立會議金鑰。相關技術請參考第九章介紹。
認證標頭( Authentication Header, AH): 認證標頭是 IPSec 的兩種安全協定之一。 IPSec AH 主要認證封包標頭是否有遭受竄改或偽裝,其中有『傳輸模式』與『通道模式』兩種封包模式。
封裝安全承載( Encapsulation Security Payload, ESP): ESP 是 IPSec 的另一個安全協定。 IPSec ESP將原 IP 封包經過加密後,重新封裝成另一個 IP 封包,以達到資料隱密性的功能,同樣也有『傳輸模式』與『通道模式』兩種封包模式。
操作模式( Operating Mode): IPSec 協定有『傳輸模式』( Transport Mode) 與『通道模式』( Tunnel Mode) 兩種操作模式,無論 AH 或 ESP 協定都可以使用這兩種操作模式來傳輸訊息;因此, IPsec 協定有四種訊息封包格式,如圖 12-6 所示。
演算法( Algorithm): 無論認證( Authentication)或加密( Encryption)都需要相對應的演算法。基本上, IPSec 並不規定標準演算法,而是雙方利用 ISAKMP 協定協議而成。
圖 12-6 操作模式
12-3-3 IPSec 運作概念
VIDEO
有了上述相關技術之後,接著來探討它們之間的關聯性,如此可讓讀者稍微瞭解 IPSec 的運作概念,至於詳細的運作程序將會在相關協定中說明,簡述如下:
IPSec 協定包含 IPSec AH 與 IPsec ESP 兩種安全協定 ,這兩種安全協定都有傳輸模式和通道模式等兩種封包格式;
至於通訊雙方是要採用何種安全協定及封包格式?視安全關聯( SA) 的規範而定;
如何制定 SA 的安全規範?係由通訊雙方利用 ISAKMP 協定 所協議完成的;
在 ISAKMP 協議當中 若需交換鑰匙作為身份確定或制定會議金鑰,可利用 IKE 協定 來完成;
在雙方認證身分或交換鑰匙 時,必須有代表身份的公鑰,然而此公鑰可由 PKI 系統中的憑證授權( CA) 中心發給。
乍看之下, IPSec 好像很複雜的樣子,這是因為它必須結合許多安全措施(如 PKI、 ISAKMP、 IKE)才能達成。在此假設每一參與 VPN 運作者都已取得數位憑證(有關憑證認證與身份識別的議題,請參考第七、八章介紹)。首先介紹 AH 與 ESP 安全協定的運作程序,接著再介紹 SA 的安全參數;至於如何利用 ISAKMP 協定建立 SA,將保留在第十六章介紹;第十七章再介紹建立會議金鑰的 IKE 協定。