iT邦幫忙

2023 iThome 鐵人賽

DAY 18
0
IT管理

誒,想不到有一天搞懂網路是因為宿舍學長逼我的QQ!30天的宿舍網路架設系列 第 18

Day-17 - 深入瞭解 VPN 核心,從加密技術看 VPN 安全 - 03

  • 分享至 

  • xImage
  •  

昨天我們已經討論過網路架構的部分來了解 VPN 的安全不只是純粹依靠跟建立在 VPN 本身上,而更多的是連線設備的安全,與環境網路的設定,因為唯有這樣才能保護公司網路的安全。

但今天讓我們最後再藉由 ASUS Router 的 VPN 設定介面,來看看 VPN 的加密技術,以及如何透過加密技術來保護資料的安全。

什麼是加密技術?

加密技術是一種將資料透過特定的演算法,將資料轉換成看不懂的密文,而只有擁有特定的金鑰才能將密文轉換回原本的資料的技術。

大家對於密碼這個東西的想像應該都有一個想像,例如我跟我的好朋友要寫小紙條時,我們都會將字母 Shift 3 個來確保別人攔截紙條時看不懂我們的內容,這其實就是一種傳統的加密技術,只是這種加密技術的安全性很低,因為只要對方知道我們的加密方式,就可以很容易的解密。

現代密碼學領域的界定已經開始有些不同,我們不在將加密法本身視為一種秘密,相反,我們開始公開演算法,並將加密這件事情交由所謂的 Secure Key,也就是密碼金鑰來保護資料的安全。

而密碼學或者加密解密技術其實概念很簡單,就是把一串有效資訊(明文)轉換成看不懂的無效資訊(密文),而只有擁有特定的金鑰才能將密文轉換回原本的資料的技術。而在資訊的世界中,加密技術是所有不管是保護資訊、避免竄改等等的核心基礎,我們會藉由各種不同的加密技術來保護資料的安全。

在當我們在知道密碼是由所謂的金鑰來保護資料的安全後,我們就可以將加密技術分為兩種,分別是對稱式加密與非對稱式加密,其中最明顯的差異就是究竟是靠一把金鑰還是兩把金鑰來進行資料的加解密。

對稱式加密

對稱,顧名思義就是相近近似,也因此對稱式加密的基本做法就是將資料透過一把金鑰加密,而解密時也是使用同一把金鑰來解密。那常見的對稱是加密法包含 AES / DES / 3DES / RC4 / RC5 / RC6 等等。

非對稱式加密

同理,非對稱式加密的相關算法就會依靠兩把不同的鑰匙來做到,其中一把是公開的,也就是所謂的公鑰,而另一把則是私密的,也就是所謂的私鑰,而這兩把鑰匙是可以互相轉換的,也就是說我們可以透過公鑰加密,再透過私鑰解密,或者透過私鑰加密,再透過公鑰解密,而常見的非對稱式加密法包含 RSA / DSA / ECC 等等。

那兩種加密法並沒有直觀的比對誰比較安全 or 比較強,基本上就是看使用的場景來決定,甚至很多系統中會有多個加密法的混用來提升安全性。舉例來說數位簽章之類的驗證就會用到非對稱式加密,而對稱式加密則會用在大量資料的加解密上。

VPN 所使用的加密技術

還記得我們前幾天說過,VPN 主要是依靠在封裝與數據加密來達到安全隱密的將資訊從 A 送到 B 的技術,那究竟今天 VPN 是如何達到這樣的效果呢?

先來聊聊怎麼樣確保 VPN 的加密是安全的,其實只要遵守

  1. 選擇盡可能越強健且新型穩定的加密技術
  2. 定期更換金鑰
  3. 使用足夠長的金鑰
  4. 避免使用已知的弱點加密技術

就能為我們的 VPN 連線提供足夠安全的連線環境與保護。

VPN 的加密協定

我們藉由打開 ASUS Router 的 VPN 設定選項時,可以看到其提供 PPTP 跟 OpenVPN 兩個選項做使用(此 Router 已經有些老舊,新型的應該還包含 WireGuard VPN 等其他驗證技術),就讓我們嘗試認識一下他們吧!

  • PPTP - Point-to-Point Tunneling Protocol,中文叫做點對點隧道協定,是一種將點對點連線透過 TCP/IP 來進行封裝的協定,而 PPTP 本身是一種對稱式加密技術,其加密技術是使用 MPPE(Microsoft Point-to-Point Encryption)來進行加密。從截圖中可以看到,ASUS Router 針對 PPTP 的設定有包含 MPPE Encryption 的算法等等。

    ASUS VPN PPTP Setting

  • OpenVPN - OpenVPN 是一種開源的 VPN 協定,提供高度的安全性和可配置性。主要是利用 SSL/TLS 進行鑰匙交換,並支援多種加密算法,如 AES 等。那 OpenVPN 就有利用到多種加密法來做到不同的功能,包含非對稱式加密進行身份驗證,AES 等對稱是加密做到資料加密與保護等等。從截圖可以看到,ASUS Router 針對 OpenVPN 的設定有包含加密法的挑選等等。

    ASUS VPN OpenVPN Setting

那到底 PPTP 跟 OpenVPN 這兩種加密技術的安全性如何呢?我們可以從下面的表格來看看。

加密技術 安全性 備註
PPTP 較低 有多個已知的安全漏洞,特別是 MS-CHAP v2 認證。不建議在需要高度安全性的場景中使用。
OpenVPN 高(需正確配置) 使用 SSL/TLS 和多種加密算法。當正確配置時,被認為是非常安全的。

利用 ASUS Router 的 OpenVPN 進階設定了解 VPN

可以看到 VPN 的相關設定中還有許多可以調整的細節,也順便讓我們藉此認識一下 VPN 的相關設定。

  • Interface Type:TUN 適用於路由,TAP 適用於橋接。
    • TUN(Tunnel,隧道),是一種虛擬點對點網絡設備。它運作在第三層(網絡層)並處理 IP 封包。其由於只能處理 IP 封包,因此比較適合用於路由器。
    • TAP(Network Tap),是一種虛擬乙太網設備。它運作在第二層(資料鏈路層)並可以傳輸乙太網框架。由於其可以適用於所有 OSI 模型的層,因此比較適合用於橋接,因為其不只能處理 IP 相關封包。
  • Protocol:TCP 較為穩定,但 UDP 效能較好。
    • TCP(Transmission Control Protocol),是一種連接導向的、可靠的、基於字節流的傳輸協定。其會在資料開始傳師前藉由三向交握來建立連線,並且會確保資料的傳輸順序與完整性。重可靠性,但也因此效能較差。
    • UDP(User Datagram Protocol),是一種無連接的、不可靠的、基於資料報的傳輸協定。其不會建立連線,並且不會確保資料的傳輸順序與完整性。因為不會建立連線,所以效能較好,但也因此不可靠。

    為什麼 VPN 可以使用 UDP 呢?因為 VPN 本身是一種封裝技術,對於內部資訊的傳輸如果有所缺漏時,被封裝的資訊會自己進行相關校驗,並且重新傳輸,因此並不一定需要再依賴 VPN 的 TCP 來保證資料的完整性。

  • Respond to DNS:是否允許 VPN 伺服器回應 DNS 查詢。
    • 啟用 "Respond to DNS":當此選項被啟用時,VPN 伺服器將會回應經由 VPN 連接的客戶端的 DNS 查詢請求。這代表當今天我們的裝置透過 VPN 連接並嘗試訪問一個網站時,它將會問 VPN 伺服器來解析該網站的域名。可以做到額外的隱私保護,因為您的 DNS 查詢不會被您的 ISP(網際網路服務提供商)看到。
  • Encryption cipher:各種加密算法的特點和適用場景,例如 AES 是目前最常用的對稱式加密算法。裡面還包含 BF / CAST5 / CAMELLIA / DES / DESX / IDEA / RC2 / SEED 等不同算法。

是否應該一味地選擇強度最高的加密法?

這時你可能會好奇,為什麼明明有些加密法已經比較舊了,且有些已經有安全漏洞,但還是會被保留在 VPN 的加密法中呢?其實這主要需要考量到 VPN Server 能提供的效能,以及 Client 端的效能,因為加密法的強度越高,所需要的運算量也越大,因此如果 Server 端的效能不足,或者 Client 端的效能不足,就會造成 VPN 效能的下降,甚至是無法連線的情況。

也因此其實在選擇加密法,亦或者前提過的 MTU 等設定時,皆需要評估平衡效能與安全性,才能夠達到最佳的效果。考量到

  • 加密和解密的過程會消耗計算資源,特別是在使用高強度加密時。
  • 要平衡加密強度和效能,可以考慮使用硬體加速或選擇適當的加密算法。

綜合評估下,我們可以得到一些結論:

當有足夠的硬體資源時,可以考慮使用高強度加密,例如 AES-256-CBC。當硬體資源不足時,可以考慮使用低強度加密,例如 BF-CBC。

總結

加密技術是確保 VPN 安全的關鍵技術。透過今天的文章,我們了解了 VPN 的加密原理、各種加密技術的特點和適用場景,以及如何在實際應用中選擇合適的加密方法。我們也看到了,儘管加密技術可以提供強大的安全保護,但它也需要消耗計算資源,因此在選擇加密方法時,我們需要平衡安全性和效能。

此外,我們還看到了如何使用 ASUS Router 的 VPN 設定介面來了解和配置 VPN 的加密設定。這些設定可以幫助我們根據自己的需求和硬體資源來選擇合適的加密方法。

最後,我想再次強調,為了保護自己的資料,使用者應該定期檢查和更新他們的 VPN 加密設定。隨著技術的進步和新的安全漏洞的發現,我們需要不斷地更新我們的知識和技術,以確保我們的資料始終保持安全。

希望透過這系列的文章,能夠幫助大家更加了解 VPN 和網路安全的相關知識,並學會如何保護自己的資料和隱私。在未來的文章中,我們還會繼續探討更多有關網路和安全的主題,敬請期待!


上一篇
Day-16 - 深入瞭解 VPN 核心,從網路架構決定 VPN 安全 - 02
下一篇
Day-18 - 安全的 HTTP 連線,HTTPS 大哉問
系列文
誒,想不到有一天搞懂網路是因為宿舍學長逼我的QQ!30天的宿舍網路架設31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言