VPN(Virtual Private Network) 中文翻譯為「虛擬私有網路」,以下從網路上擷取 VPN 的定義進行說明:
原文說明:
A virtual private network (VPN) is a private communications network often used by companies or organizations, to communicate confidentially over a public network. VPN traffic can be carried over a public networking infrastructure (e.g. the Internet) on top of standard protocols, or over a service provider's private network with a defined Service Level Agreement (SLA) between the VPN customer and the VPN service provider. A VPN can send data e.g. voice, data or video, or a combination of these media, across secured and encrypted private channels between two points.中文說明:
VPN 是利用 Internet IP 的技術,建立 Internet 上的加密通道 (Tunneling) 來架構網際網路上的虛擬內聯網路(VPN),IP網路的擴充性良好,所使用的加密技術是標準的 IPSEC (IP Security) 方式,IPSec 結合了加密(Encryption)、認證(Authentication)、密鑰管理 (Key Management)、數位檢定 (Digital Certification) 等安全標準,具有高度的保護能力。而由上述的說明,可瞭解到 VPN 是希望透過價格低廉的 WAN 線路,以 Tunneling 的技術,加上特殊的安全、傳輸等附加機制後,可以破除地理限制,讓 Intranet、Extranet、Internet 都可以用類似區域網路的方式進行連結。
VPN透過Internet傳送企業重要資料自然成為競爭對手覬覦的對象,因此,保障通訊安全即為建置VPN的首要考量。這裡的安全除了保證資訊的隱密 (Confidentiality),避免第三者「竊聽」到通訊內容,同時還須確保網路傳送內容不被篡改破壞,亦即所謂資料的一致性 (Integrity);另外就是資料來源的驗證(Authentication),確定資料並非來自網際網路上第三者所偽造。至少達成這三點,我們才能確保跨越開放式網際網路的VPN有如專線構成的封閉式內聯網路一樣安全。
VPN 的優點
VPN 擁有相當多的使用上優點,例如:
- 使用 WAN 的線路作為基礎,破除地理因素
- 安全性高
- 使用與維護成本低
- 增加生產力
- 原理與使用操作上簡單、容易
- 增強企業合作伙伴間、或是與企業與用戶間的聯繫
相關安全機制
由於 VPN 是架構在現有的 WAN 上面,當然在安全性的部分要注意的地方可是相當多,一般來講,大概有以下幾種加強安全性的方式:
1、防火牆 Firewall
防火牆是個很普遍的概念,因此這邊就不多做說明了,除了可參考坊間的許多書籍外,以下再附上介紹防火牆概念的連結資訊:
- 認識防火牆 by 鳥哥
- Linux 防火牆入門 by 臥龍小三
2、加密 Encryption
加密的方式,大致有以下兩種:
- 對稱式加密 Symmetric-key encryption
- 非對稱式加密 Public-key encryption
上述兩種加密方式,在密碼學裡面都有詳細的探討,以下附上幾個連結供參考:
3、IPSec
IPSec 的部分其實蠻複雜的,可以閱讀以下兩篇文章,相信觀念會相當清楚:
IPSec 的特色在於其架構於網路層的安全機制,因此即使傳輸層 or 應用層的部分沒有安全機制的防護,IPSec 依然可以保護網路通訊的內容。
Tunneling
VPN 的運作原理即稱為 Tunneling。
簡單來說,Tunneling 是一種用於在不同通訊協定間傳遞資料的方法,其運作的在於將資料封包視為另外一個封包中的 Data,並加上不同協定的控制訊息後,轉變為適用於另一種通訊協定的資料封包,進而達到讓資料封包在不同通訊協定間傳遞的目的。
以下用一張圖,來解釋原本的 packet 加上了 encrypt information 以及 tunnel information 後的樣子:
看見了嗎? 要進行 tunneling 的資料,必須額外加掛上一層一層的資訊,雖然安全性與便利性提升了,不過也造成網路傳輸的 overhead 很高,這是管理者必須注意到的地方。
在原本的資料封包中,即使內含的 IP Address 是區域網路的 IP,甚至是自訂的 Protocol,經過加入外層 header information 後,便可以標準的通訊協定進行傳輸,而接收封包的兩端,則必須具有解析封包的能力,因此又稱為 Tunneling Interface。
而 Tunneling 需要三種不同的協定來組合而成:
- Carrier Protocol
用來在網際網路上傳遞封包用的協定 - Encapsulation Protocol
用來包裝原本封包資料用的協定,例如:GRE、IPSec、PPTP、L2TP....etc - Passenger Protocol
原本封包資料所使用的協定
此外,Tunneling 還可以根據其協定實作的層級不同,分為以下三種:
1、實作於 OSI Layer 2
在 Layer 2 就將 packet 進行封裝有一個相當大的好處,即是此 tunnel 在兩端使用非 IP 的協定時依然可以進行傳輸(IP 屬於 Layer 3),雖然 IP 在 internet 上被廣泛使用,但不代表只有 IP 一種協定,例如 Netware 系統中所使用的 IPX。
在此模式下,若 vpn 兩端要進行傳輸,client 會產生一個虛擬的 Point-to-Point(點對點) 的裝置來與 server 連結,而實作 Layer 2 tunneling 的技術,目前有以下四種較為熱門,不但提供了加密的功能,也提供了使用者認證的機制:
- Point to Point Tunneling Protocol (PPTP)
其為擴充功能後的 PPP 協定,由 Microsoft 所協助發展而成,當然在 Windows 下也直接支援,所建立的 tunnel 可以用來傳送 IP 以及 IPX 的封包,不過主要缺點在於傳輸雙方一次只能建立一個 tunnel - Layer 2 Forwarding (L2F)
由 Cisco 所發展而成,提供了比 PPTP 更多的功能,在傳輸上較有效率,也可同時產生多個 tunnel - Layer 2 Tunneling Protocol (L2TP)
廣為使用的協定,原因是因為此協定結合了 PPTP 以及 L2F 的優點,卻沒有其缺點,並可與其他安全機制進行結合 - Layer 2 Security Protocol (L2Sec)
似乎是發展用來處理與 IPSec 相容性的問題
當然選擇使用的 tunneling 協定時,要考量的還有很多,例如:
- 支援的使用者認證機制是否廣泛
- 是否支援在不同的網路環境下運作,例如:NAT
- 是否支援 dial-up 模式以方便僅有動態 IP 的使用者
- 是否支援 PKI 安全機制
2、實作於 OSI Layer 3
實作於 Layer 3 中最著名且最為廣泛使用的 tunneling 技術則是 IPSec 了,IPSec 在前面已經有提供網頁介紹,因此這邊不再贅述;不過 IPSec 所提供的功能相當的多,不過也因此產生了一個很主要的缺點,即是設定過於複雜,不過在許多硬體中都支援 IPSec。
而 IPSec 是如何建立 tunnel 來傳輸資料呢? 有以下兩種方式:
- Tunnel mode
此種模式下,packet 進行傳輸前,會將整個 packet 加密後,再加上 tunnel information 後進行傳輸 - Transport mode
此種模式下,僅針對 packet 中的 data 進行加密(並非整個 packet),再加上 tunnel information 後進行傳輸;這樣做的缺點,在於惡意人士可以知道 packet 實際傳送的 source 以及 destination 為何,不過相對所產生的 overhead 也小。
3、實作於 OSI Layer 4
當然,vpn tunnel 也可以建立於 application layer,而 TLS 以及 SSL 就是為了此目的而產生的。透過此種方式,就可以直接透過 browser 連線到已經實作 SSL 的 https 網站進行相關的認證手續,以便建立起vpn tunnel,此種方式已經被廣泛測試過了,是相當可靠的一種方式。
範例說明
為了瞭解 Carrier Protocol、Encapsulation Protocol、Passenger Protocol、Tunnel Interface、Internet 之間的關係,以下用一個實際的簡單範例進行說明:
- 假設使用者透過網路訂購一台電腦,廠商製造完成後,要將此台電腦(原本的資料封包)透過快遞業者送交到使用者手上
- 而快遞業者收到廠商委託後,將此台電腦進行裝箱打包(Passenger Protocol)進送貨專用的箱子(Encapsulation Protocol)裡,再來會被統一送至快遞業者的貨物運送中心(Entry Tunnel Interface)
- 接著快遞業者用送貨車(Carrier Protocol),行經高速公路、一般道路(Internet)後,送達至使用者家中 (Exit Tunnel Interface)
- 最後,使用者打開箱子(Encapsulation Protocol),並取出裡面的電腦(Passenger Protocol)開始使用
參考資料
作者已經移除這則留言。
回覆刪除最近在找有關VPN的資料
回覆刪除這真的是超。優文
感謝感謝~
你這真的是超優網站,不過感覺太技術性了。
回覆刪除這篇寫的比較淺顯易懂:
VPN台灣
(我目前仅使用 https://en.finevpn.org/ 。我不得不给他们一些荣誉,因为最近它的运行情况比过去对我来说要好得多。我可以更可靠地连接,有时速度更快,但是仍然非常缓慢,流媒体视频仍然无法工作或无法连接很多时候,这篇文章中所说的一切仍然适用,我正在寻找一种新的低成本备份VPN。 )
回覆刪除VPN 是什麼,它有什麼作用? 你的互聯網隱私安全指南https://topvpn.world/knowledge-base/what-is-vpn/
回覆刪除如果你想找性价比最高的VPN,那就选PandaVPN , PandaVPN 可以说是目前中国VPN市场上最质优价廉的一款,速度稳定性方面也都非常不错。
回覆刪除PandaVPN
刪除作者已經移除這則留言。
回覆刪除pandavpn的跑路,让多少消费者损失惨重啊。文章写的很棒,多谢分享啊。电脑VPN软件的使用频率现在是越来越多,毕竟海外学习工作都需用上。
回覆刪除