IPsec 是一組網路通訊協定,用於在公開共用網路中設定安全的加密連線,例如 VPN。
閱讀本文後,您將能夠:
複製文章連結
IPsec 是一組通訊協定,用於保護裝置之間的連線。它協助維護透過公用網路傳送的資料的安全。IPsec 通常用於建立 VPN,其運作方式為加密 IP 封包,以及驗證封包的來源。
在詞彙「IPsec」中,「IP」代表「網際網路通訊協定」,「sec」代表「安全」。網際網路通訊協定是網際網路上使用的主要路由通訊協定;它使用 IP 位址指定資料的去向。IPsec 是安全的,因為它在此過程中新增了加密*和驗證。
*加密是透過數學方式改變資料以使其看起來隨機的資訊隱藏過程。簡單來說,加密是使用只有授權方才能解譯的「密碼」。
安全通訊協定 (例如 IPsec) 是必要的,因為網路方法預設不會加密。
通過郵政服務發送郵件時,通常不會在信封外面寫信件。 相反地,他們會將郵件包含在信封內,以便沒有人在寄件者和收件者之間處理郵件的人可以閱讀他們的郵件。 不過,像 TCP/IP 這樣的網路通訊協定套件只涉及連線和傳送,而且傳送的訊息不會隱藏。 中間的任何人都可以閱讀它們。 IPsec 和其他加密資料的通訊協定,在資料周遊網路時,基本上會在資料周圍放置一個封套,以確保資料的安全性。
虛擬私人網路 (VPN) 是兩台或多台電腦之間的加密連線。VPN 連線發生在公用網路上,但透過 VPN 交換的資料仍然是私密的,因為它是加密的。
VPN 使透過共用網路基礎結構(例如公用網際網路)安全地存取和交換機密資料成為可能。例如,當員工遠端工作而不是在辦公室工作時,他們經常使用 VPN 存取公司檔案和應用程式。
許多 VPN 使用 IPsec 通訊協定套件來建立和執行這些加密的連線。然而,並非所有的 VPN 都使用 IPsec。另一個用於 VPN 的通訊協定是 SSL/TLS ,它在 OSI 模型中不同於 IPsec 的層中運作。(OSI 模型是對使網際網路運作的處理序的抽象表示)。
使用者可以透過登入 VPN 應用程式或「用戶端」來存取 IPsec VPN。這通常需要使用者在他們的裝置上安裝應用程式。
VPN 登入通常基於密碼。雖然透過 VPN 傳送的資料是加密的,但如果使用者密碼被洩露,攻擊者可以登入 VPN 並竊取這些加密資料。使用雙重驗證 (2FA) 可以加強 IPsec VPN 安全性,因為單獨竊取密碼將不再為攻擊者提供存取權限。
IPsec 連線包括下列步驟:
金鑰交換:金鑰是加密所必需的;金鑰是一串隨機字元,可用於「鎖定」(加密)和「解鎖」(解密)訊息。IPsec 會設定金鑰,在連接的裝置之間進行金鑰交換,這樣每個裝置都可以對另一個裝置的訊息進行解密。
封包標頭和後端項目:透過網路傳送的所有資料都被分解為稱為「封包」的較小部分。封包同時包含裝載(即傳送的實際資料)和標頭(有關該資料的資訊,以便接收封包的電腦知道如何處理它們)。IPsec 向包含驗證和加密資訊的封包新增多個標頭。IPsec 還新增了後端項目,這位於每個封包的裝載之後而不是之前。
驗證:IPsec 為每個封包提供驗證,就像在收藏品上蓋上一個真實的印章。這確保封包來自受信任的來源,而不是攻擊者。
加密:IPsec 對每個封包中的裝載和每個封包的 IP 標頭進行加密(除非使用傳輸模式而不是通道模式——見下文)。這使透過 IPsec 傳送的資料保持安全和私密。
傳輸:加密的 IPsec 封包使用傳輸通訊協定跨越一個或多個網路到達目的地。在這個階段,IPsec 流量與常規 IP 流量的不同之處在於,它最常使用 UDP 作為其傳輸通訊協定,而不是 TCP。TCP(傳輸控制通訊協定)在裝置之間建立專用連線並確保所有封包都到達。UDP(使用者資料包通訊協定)不設定這些專用連線。IPsec 使用 UDP,因為這允許 IPsec 封包通過防火牆。
解密:在通訊的另一端,封包被解密,應用程式(例如瀏覽器)現在可以使用傳遞的資料。
在網路中,通訊協定是格式化資料的指定方式,以便任何联網的電腦都可以解譯資料。IPsec 不是一個通訊協定,而是一套通訊協定。以下通訊協定構成 IPsec 套件:
驗證標頭 (AH):AH 通訊協定確保封包來自受信任的來源,且資料沒有被篡改,就像消費產品上的防篡改封條一樣。這些標頭不提供任何加密;它們對於向攻擊者隱藏資料沒有幫助。
封裝安全通訊協定 (ESP):ESP 加密每個封包的 IP 標頭和裝載——除非使用傳輸模式,在這種情況下它只加密裝載。ESP 向每個封包新增自己的標頭和後端項目。
安全性關聯 (SA):SA 是指一些用於交涉加密金鑰和演算法的通訊協定。最常見的 SA 通訊協定之一是網際網路金鑰交換 (IKE)。
最後,雖然網際網路通訊協定 (IP) 不是 IPsec 套件的一部分,但 IPsec 會直接在 IP 上執行。
IPsec 通道模式用於兩個專用路由器之間,每個路由器充當通過公用網路的虛擬「通道」的一端。在 IPsec 通道模式下,除了封包裝載之外,包含封包最終目的地的原始 IP 標頭也被加密。為了告訴中間路由器將封包轉寄到哪裡,IPsec 新增了一個新的 IP 標頭。在通道的每一端,路由器解密 IP 標頭以將封包傳遞到它們的目的地。
在傳輸模式下,每個封包的裝載都被加密,但原始 IP 標頭不會加密。因此,中間路由器能夠檢視每個封包的最終目的地——除非使用單獨的通道通訊協定(如 GRE)。
網路連接埠是資料進入電腦的虛擬位置。連接埠是電腦追蹤不同處理序和連線的方式;如果資料進入某個連接埠,電腦的作業系統就知道它屬於哪個處理序。IPsec 通常使用連接埠 500。
MSS 和 MTU 是封包大小的兩個度量。封包只能達到一定的大小(以位元組為單位),否則電腦、路由器和交換器將無法處理它們。MSS 衡量每個封包裝載的大小,而 MTU 衡量整個封包,包括標頭。超過網路 MTU 的封包可能會被分散(即被分解成更小的封包),然後重新組合。超過 MSS 的封包將被簡單地捨棄。
IPsec 通訊協定向封包新增了多個標頭和後端項目,所有這些都佔用幾個位元組。對於使用 IPsec 的網路,必須相應調整 MSS 和 MTU,否則封包將被分散並略有延遲。通常,網路的 MTU 為 1,500 個位元組。一個普通的 IP 標頭是 20 個位元組長,而 TCP 標頭也是 20 個位元組長,這意味著每個封包可以包含 1,460 個位元組的裝載。但是,IPsec 新增了驗證標頭、ESP 標頭和關聯的後端項目。這些為一個封包增加了 50-60 個位元組,或者更多。
在「什麼是 MTU?」中瞭解有關 MTU 和 MSS 的更多資訊。
Cloudflare 支援將 IPsec 作為我們的安全存取服務邊緣 (SASE) 解決方案的 Cloudflare One 的入口。
為了保護流量,IPsec 需要在兩點之間建立一個 SA,為流量建立一條通道。根據實作模型,這可能會帶來一些挑戰。例如,在網格模型中,所有節點(或位置)都透過專用通道相互連接。但是,這需要建立和管理多個 IPsec 通道,這很難擴展。
然而,Cloudflare 使用 Anycast IPsec 模型。(Anycast 網路是一種將傳入請求路由到各種節點的網路。)使用 Anycast IPsec,使用者只需設定一個到 Cloudflare 的 IPsec 通道即可連接到我們全球網路中的 250 多個位置。
為了使 Anycast IPsec 成為可能,Cloudflare 在 Cloudflare 邊緣網路中的伺服器之間複製和分發 SA。這意味著整個 Cloudflare 網路充當通往您網路的單個 IPsec 通道。
瞭解有關 Anycast IPsec 和 Cloudflare One 的更多資訊。
入門
關於網路層級
網路類型
網路基礎知識