• 沒有找到結果。

z 第六章、結論與未來工作

第二章 背景與相關研究

2. 1 Virtual Private Network (VPN) 基本概念

自成一個網域而與外界 (如網際網路 Internet) 隔絕的稱為私密網路 (private network),這網域與外界的聯繫需經過防火牆,以確保內部安全性,通常見於企 業網路,又稱為 Intranet。而身在公司外的公司成員想連接 Intranet 存取資源時,

可以拉專線或直接撥接到公司內部。也就是說 private network 具有實體部署上的 私密性。

然而這對於遠端存取資源的成本太高,距離太遠的話專線受限於物理傳遞限 制而需轉接,佈線成本亦隨距離大幅增加 ;使用長途撥接的電話費也很高。至 於跨海跨洲的成本更是限制其可使用性。

虛擬私人網路 (Virtual Private Network, VPN) 則是利用幾乎無所不在的 Internet 來大幅降低成本,且能達到 private network 的私密安全性。單一遠端使用 者會向虛擬私人網路閘道器 (VPN Gateway) 建立一條通道 (tunnel),此 tunnel 可以是點對點通道協定 (Point-to-Point Tunneling Protocol, PPTP)、第二層通道協 定 (Layer Two Tunneling Protocol, L2TP) [5]、網際網路安全性協定 (Internet Protocol Security, IPSec) 等協定,此 tunnel 不僅使遠端使用者在系統架構上如同 在 Intranet 內一般,也保障這段通訊的私密安全性。除單一使用者外,也有母子 公司的架構,即兩個 VPN Gateway 間建立 tunnel,將兩個網域連成一個,兩 Gateway 通常有主從關係,如 L2TP 協定中的 L2TP 網路伺服器 (L2TP Network Server, LNS)與 L2TP 存取集線器 (L2TP Access Concentrator, LAC)。

圖 2.1 VPN 基本架構 1

圖 2.2 VPN 基本架構 2

2. 2 Layer Two Tunneling Protocol (L2TP)

[6] PPTP (Point-to-Point Tunneling Protocol) 是由 Microsoft、3COM、U.S.

Robotics、Ascend、ECI Telematics 等企業所聯合發展,屬於 OSI 架構中第二層的 協定,目的是在遠端使用者與網路伺服器之間提供虛擬私有網路。

同時 Cisco 也獨力發展了第二層轉遞協定 (Layer 2 Forwarding, L2F),而後在 Internet 特別工程小組 (Internet Engineering Task Force, IETF)的協調下,Cisco 與 發展 PPTP 的公司共同擬定第二層通道協定(Layer Two Tunneling Protocol, L2TP),結合 PPTP 與 L2F 的優點,RFC 編號 2661 [5]。

L2TP 本身並不提供對資料的加密安全性,所以文獻建議搭配 IPSec 作加密 機制 [15]。

L2TP tunnel 的兩端,在伺服器或母公司端的是 L2TP Network Server (LNS),

使用者或子公司端為 L2TP Access Concentrator (LAC)。

2. 2. 1 L2TP Message

下圖為 L2TP 封裝的格式,先以 PPP tunnel 包裝,再加上 L2TP 的 header,

然後是一般 UDP 與 IP header,UDP header 指定送給 port 1701。

圖 2.3 L2TP Packet Format

而其中 L2TP Header 的格式為:

12 bits 4 bits 16 bits T L X X S X O P X X X X Ver Length (option)

Tunnel ID Session ID

Ns (option) Nr (option) Offset Size (option) Offset Pad … (option)

T:0 為資料訊息,1 為控制訊息。L:1 代表有 Length 這一欄位,控制訊息 一定要設成 1。S:1 表示有 Ns、Nr 欄位,控制訊息一定要設成 1。O:1 表示有 Offset Size 這欄,控制訊息一定要設成 0。P:若設成 1,則在候伺與傳輸時,將 獲得優先處理。Ver:L2TP 版本,目前為 2。Tunnel ID:L2TP tunnel 的 ID。Session ID: L2TP session 的 ID。Ns:此訊息的 sequence number。Nr:下一個預期收到 訊息的 sequence number。

2. 3 Mobile IP 簡介

行動網際網路協定 (Mobile IP) 是讓 IP 位址得以具備行動能力的一種通訊 協定,它讓移動節點 (Mobile Node, MN) 在網際網路上漫遊時,仍可使用固定的 IP 位址來與其他網路節點進行通訊,這是由 IETF (Internet Engineering Task Force) 組織制訂出來的網路標準之一 [1]。

當 MN 移動到一個新網域時,他會在當地取得一個 IP 位址,這被稱為 Care of Address (CoA),MN 會告知家網域 (Home Network) 的家代理人 (Home Agent, HA),HA 則在 Home Network 代替 MN 接收來自通訊節點 (Correspondent Node, CN) 的封包,並經由通道 (tunnel) 轉送至 CoA。

MN 通訊時所固定使用的家網域 IP 位址稱為家位址 (Home IP),HA 在家網 域利用 ARP 通訊協定來接收給 Home IP 的封包,轉送至 Foreign Network (非 Home Network 之外地網域)。

圖 2.4 Mobile IP 系統架構

圖 2.4 是 Mobile IP 的系統架構圖,其中 MN1 使用的是 FA-CoA,FA (Foreign Agent) 為 Foreign Network 中支援 Mobile IP 的伺服器,它管轄 Foreign Network,

在其下的 MN1 所使用的 CoA 即 FA 的位址,被稱為 FA-CoA。FA 收到從 HA 傳 來的封包後,根據 Home IP 來決定轉給底下哪個 MN (利用 MAC 位址)。

而 MN2 使用的是 Co-located-CoA (Co-CoA),MN2 直接向 HA 建立 IP-in-IP 通 道 , HA 那 裡 所 記 錄 的 就 是 MN2 在 當 地 網 路 使 用 的 IP 位 址 , 稱 為 Co-located-CoA。

2. 4 Mobile IP 與虛擬私人網路的結合

IETF 在 Internet Draft 中提出了 Mobile IP 與虛擬私人網路 (VPN) 結合時,

所會發生的問題以及需要考慮的事情 [4][10],還有它所訂定的解決方案 [3][11]。

2. 4. 1 問題描述

依照 IETF 的文獻 [4][10] 指出,討論 Mobile IP 與 VPN 的結合時,可依 Home Agent (HA) 的所在位置大致區分五種模型,再分別探討不同的封包格式及 Foreign Agent (FA) 存在與否所會造成的問題。

z 模型一、MIPv4 HA(s) Inside the Intranet behind a VPN Gateway

當 HA 放在 intranet 中,被 VPN Gateway 保護著的時候,MIPv4 必需被封裝 (encapsulate) 在 VPN tunnel (以下以 IP Security (IPSec) 協定為例) 之內。由於 FA 無法辨認被 IPSec 所保護的內容,且 MN 不接受未經 IPSec 封裝的 Advertisement,

故在此模型中並不能使用 FA。若採用 Co-located mode,則每當 MN 改變網路位 置時,VPN tunnel 就必需做 re-negotiate 的動作。

z 模型二、VPN Gateway and MIPv4 HA(s) in parallel

VPN gateway 與 HA 一起放在 DMZ 中,代表無論 MN 在 intranet 內或 internet 上,所有 MIPv4 的封包都必需經過 DMZ (DeMilitarized Zone)。這將有安全性上 的顧慮。因為 DMZ 未受到完整的防火牆保護,屬於半公開的區域,雖然封包的 資料因為仍有 VPN 保護不致外洩,但是仍有被駭客執行阻絕攻擊(Denial of Service)的可能。

這時可再探討 MIPv4 與 IPSec 的內外關係,若將 MIPv4 封裝在 IPSec 之內,

則會產生跟前一個模型相同的問題;若是 MIPv4 在 IPSec 外,則需對 HA 與 VPN Gateway 的 routing logic 做一些修改,因為原本 VPN Gateway 是對外閘門,可是 現在從外面 MN 來的封包得讓 HA 先解開 MIP header,再交給 VPN Gateway;送 給 MN 的封包則動作相反。

z 模型三、Combined VPN Gateway and MIPv4 HA

此模型雖解決了前一模型的 routing 問題,但違反 multi-vendor interoperability (希望 MIPv4 mobility agents、mobility clients (MN)、VPN server 與 VPN client 能 由四個不同的 vendors 所提供) 的原則,因為 MIPv4 mobility agents、mobility clients (即為 MN)、VPN server 與 VPN client 必需由同一家廠商設計。

z 模型四、MIPv4 HA(s) Outside the VPN domain

IPSec 包在 MIPv4 之內,且 HA 不受 VPN Gateway 保護,所以 MIPv4 的註 冊不需先跟 VPN Gateway 建立 IPSec tunnel。但是,由於 Intranet 中沒有 HA 的存 在,MN 也不能以一個不受信任的 HA 來當作代理人,故 Intranet 內無法提供 mobility。除此之外,運作上應該沒有任何技術上的問題。

z 模型五、Combined VPN Gateway and MIPv4 HA(s) on the Local Link VPN Gateway 兼任 NAT Gateway 的角色,與使用 private IP 的 HA 以 local link

的方式連結。若是讓 MIPv4 封裝在 IPsec 裡面,則問題與第一個模型相同;若是 MIPv4 在外,則在路由(routing)方面沒有任何技術上的問題。但是,這個模型不 適合用在大型的部署上,因為安全邊界大且分散,local link 的連接將會很複雜。

2. 4. 2 Mobile IPv4 Traversal Across IPsec-based VPN Gateways

經過幾年來的討論與演進 [3],IETF 在 2005 年 1 月制訂了以下的架構和機 制 [11],這篇現在仍為 Draft,尚未升為標準,它的目的在於結合 Mobile IP 與 IPSec-based VPN,以同時提供行動性與安全性,並盡可能使用現有的軟硬體,不 修改原有的協定。

圖 2.5 是此系統的架構圖,防火牆右邊是 Intranet,左邊就是 Internet (External network);中間為 DMZ (Demilitarized Zone, 非軍事區),有著一定程度安全性且 要讓外部網路 (External network) 使用者存取資源的企業網路,文獻中說現在多 數企業將 VPN 的管理伺服器部署在 DMZ 之中。

圖 2.5 Mobile IPv4 Traversal Across IPsec-based VPN Gateways 架構圖 右上角為 Home Network,MN 的 HA 所在之處,提供最內層的 Mobile IP,

此 HA 被標記為 i-HA (Internal HA)。右下角兩個網域為 Intranet 中的 Foreign Network,MN 有可能在這些地方漫遊,這時 MN 只需執行最原始單純的 Mobile IP

即可,「(c)」表示使用 Co-located CoA,「(f)」則是 FA-CoA,視當地是否有 FA 而定。

左邊兩個網域屬於 External network,當 MN 在這些地方與 Intranet 通訊時,

需要 IPSec 的安全性保護,而為提供 IPSec tunnel 的行動性,在最外面又加了一 層 Mobile IP,這由部署在外面的 External HA (標記為 x-HA) 來提供服務。由於 最外層是一般的 Mobile IP,所以可支援 Co-located 與 FA 模式。

「(fvc)」表示有三層 tunnel,最外層為 FA 模式的 Mobile IP,中間是 VPN tunnel (IPSec tunnel),裡面為 Co-located 模式的 Mobile IP;「(cvc)」的差異在於,最外 層是 Co-located 模式的 Mobile IP。

圖 2.6 為此架構中「(cvc)」模式的訊息流,當 MN 啟動時所需進行的動作,

而移動時只需進行對 x-HA 的註冊。

圖 2.6 Mobile IPv4 Traversal Across IPsec-based VPN Gateways 訊息流 MN 從最外層開始一層層建立通道 (tunnel),完成以後,封包傳遞就如上圖 中最下面,MN 必須處理三層的 tunnel。

圖 2.6 中在有些封包名稱之後會刮號「(1a)」、「(3c)」等等,這是對應下圖

(圖 2.7) 的封包格式。

圖 2.7 Mobile IPv4 Traversal Across IPsec-based VPN Gateways 封包格式

2. 5 行動代理人

行動代理人 (Mobile Agent) [8][9],是一種可在各電腦之間移動,並同時能 進行自主分散運算處理的程式。它可提高分散式計算系統的效率及便利性,也降 低了傳遞延遲與電腦間的傳送次數。

行動代理人的基本原理,就是接受使用者交付的任務,並視情況於網路端點 間移動,進行運算或發佈、收集資訊,最後將結果回傳給使用者。它具備自主性

(Autonomy) 與行動性 (mobility),自主性是指代理人可掌控自己的行為與狀態,

傳統主從架構 (client-server paradigm) 中,client 和 server 需要一直保持連 線;而行動代理人則在程式送到接收端後,傳輸的兩端就不需再保持連線,行動

第三章 在行動虛擬私人網路下以行動代理人為基礎之無縫交遞

在本章節中,我會先建構出本系統的基礎架構 – 行動虛擬私人網路,並詳 細描述其設定、目的與各元件的設計方法。然後繼續說明如何在行動虛擬私人網 路下,以行動代理人來達成無縫交遞之目標。

3. 1 行動虛擬私人網路之基本架構

圖 3.1 為本論文之系統基本架構圖,L2TP Network Server (LNS, VPN Gateway) 為 Intranet 對外唯一閘道,所有進出的封包都要經由 LNS。這裡以 L2TP 作 VPN tunnel,此 tunnel 由 IPSec 保護。L2TP Access Concentrator (LAC) 管轄的範圍我 們稱為 Foreign Intranet,雖不像 Intranet 具有實體部署上的安全性,但可藉認證 授權與傳輸加密來取得類似的安全能力,即虛擬私人網路之概念。在 LAC 之下 的行動端 (Mobile Node, MN) 經由 VPN tunnel (L2TP tunnel) 與 Intranet 之中的通 訊端 (Correspondent Node, CN, 可能是伺服器或其他使用者) 連線,MN 與 LAC 之間的傳輸亦由 IPSec 保護。

圖 3.1 行動虛擬私人網路基本架構

本系統希望讓 Mobile Node 得以漫遊於各 Foreign Intranet 以及 Intranet 之間,

不但不會有連線中斷的感覺,還能保持 VPN 應有的安全性,如此可使企業成員 在公司網路之外移動時,還能如同在公司內部一樣進行作業。

MN 在使用 L2TP tunnel 與 LNS 及 Intranet 內的端點連線前,必須先向認證 伺服器 (Authentication Server, AS) 認證;LAC 讓未經授權的 MN 只被允許連向 AS。 可,然而這裡我規定讓 Intranet 與 Foreign Intranet 共用一個位址集合,此集合可 以是虛擬 IP 位址,如 10.*.*.*,這亦將 Intranet 與各 Foreign Intranet 連成了一個 網域,IP 位址由 Intranet 管理、分配,每台機器或每個使用者均擁有專屬於自己

MN 在使用 L2TP tunnel 與 LNS 及 Intranet 內的端點連線前,必須先向認證 伺服器 (Authentication Server, AS) 認證;LAC 讓未經授權的 MN 只被允許連向 AS。 可,然而這裡我規定讓 Intranet 與 Foreign Intranet 共用一個位址集合,此集合可 以是虛擬 IP 位址,如 10.*.*.*,這亦將 Intranet 與各 Foreign Intranet 連成了一個 網域,IP 位址由 Intranet 管理、分配,每台機器或每個使用者均擁有專屬於自己

相關文件