線衛是由 Jason Donenfeld 開發的下一代開源安全隧道 VPN 協議。它是一個第3層使用“保守的現代加密協議”的 IPv4 和 IPv6 安全網絡隧道。它基於 UDP,並且具有內置的隱秘性,這使得它能夠突破防火牆。 WireGuard 的身份驗證模型基於 SSH 的authentiated_keys。
與 IPSec 和 OpenVPN 等成熟的 VPN 隧道協議相比,WireGuard 規模較小。 WireGuard 的代碼量僅為 3782 行(相比之下 OpenVPN 為 329,853 行),其經濟規模使其更容易審計。這意味著檢查平台的安全性要便宜得多,並且只需一個人就可以在一個下午完成。
WireGuard 被設計為在嵌入式接口上運行的通用 VPN。雖然WireGuard最初是為Linux內核設計的,但現在已經實現了適用於安卓、MacOS 和 Windows。事實上,WireGuard 被譽為移動 VPN 應用程序 - 因為它的隱形功能意味著除非有實際數據要發送,否則它永遠不會傳輸數據包。結果是,與其他耗電的 VPN 協議不同,WireGuard 不會不斷耗盡電池電量。

WireGuard 的開發人員 Jason Donenfeld 是邊緣安全。他在安全行業嶄露頭角,在進攻和防守應用中工作。他開發了路由工具包滲透方法,使他能夠留在網絡內而不被發現。
“當您在網絡中進行紅隊評估和滲透測試時,您希望能夠在任務期間保持網絡的持久性。您希望能夠以隱秘的方式洩露數據 - 這樣就可以避免檢測 - 並以安全且不被發現的方式獲取數據。”
多南菲爾德說,在他的安全工作過程中,他意識到他的方法也可以用於安全通信:
“我意識到,安全滲透所需的許多相同技術實際上非常適合防禦性 VPN。因此,WireGuard 內置了許多出色的隱形功能,您無法在互聯網上掃描它,除非您知道它在哪裡,否則無法檢測到它。它不會響應未經身份驗證的數據包。”
Donenfeld 表示,其結果是 VPN 隧道比其前身更值得信賴,並且基於新代碼,而不是他所說的“20 世紀 90 年代過時的技術”。

為什麼 Wireguard 這麼小?
Donenfeld 開發 WireGuard 的主要目標之一是保持代碼簡單。根據 Donenfeld 的說法,這是因為他對現有 VPN 協議的規模普遍缺乏信心。談到 OpenVPN 和 IPsec,Donenfeld 解釋道:
“即使經過如此多的評估和團隊審核這些代碼庫,人們仍然發現了錯誤,因為它們太大太複雜了。”
Donenfeld 表示,他希望保持 WireGuard 最小化和簡單化,從而開發了具有“微小實現”的協議加密技術,從而減少了可能的漏洞和漏洞:
“例如,協議中的所有字段都是固定長度的,因此我們不需要任何解析器。如果沒有解析器,那麼就不會有解析器錯誤。”
說到密碼學本身,WireGuard(以及 WireGuard 客戶端,例如敦安)實施經過驗證的現代原語,例如曲線25519 (對於橢圓曲線 Diffie Hellman),恰恰20(用於散列),聚1305和 布萊克2(用於經過身份驗證的加密),以及SipHash2-4(對於哈希表)。多南菲爾德說,“重要的是,不存在密碼敏捷性”。這是該協議的關鍵部分,使其比其前身更安全。
“如果密碼被破解,那麼你就升級,並且不允許在你的網絡上使用被破解的密碼。目前這些[原語]是最好的,但如果它們在任何時候變得過時,我們將更改它們。”
Wireguard 的另一個令人興奮的事情是它增加了吞吐量與 OpenVPN 相比最多可達六倍。從理論上講,這意味著它更適合數據密集型任務,例如游戲或高清流媒體。

Linux 上 WireGuard 的宏偉計劃
目前,WireGuard 是 Linux 內核的樹外模塊 - 因此,當您購買 Linux 發行版時,它不會像 XFS 或其他驅動程序那樣預加載。這意味著如果您想使用 WireGuard,您必須找到源代碼並自行編譯 - 或者找到一個已經為您的 Linux 內核版本編譯了它的值得信賴的源代碼。
多南菲爾德希望改變這種情況。 WireGuard 的開發人員希望 Linux 默認將代碼添加到內核中,以便所有 Linux 發行版都附帶它。如果多南菲爾德提議已提交上週二很成功,補丁集將被添加到 Linux 內核中,以將安全 VPN 隧道代碼集成為官方網絡驅動程序。

您是否期望很快就能在商業 VPN 客戶端中看到 WireGuard 的實施?
目前 WireGuard 尚未得到證實。雖然它受到了一些形式驗證就其加密實現而言,它尚未被認為是安全的。這意味著它在挑戰 OpenVPN 之前還有很長的路要走。
甚至 WireGuard 的開發人員承認那:
”WireGuard 尚未完成。您不應該依賴此代碼。它尚未經過適當程度的安全審核,並且協議仍可能發生變化。我們正在努力發布穩定的 1.0 版本,但那個時刻還沒有到來。 ”
此外,WireGuard 不處理密鑰交換對於商業 VPN 來說是一個問題,商業 VPN 需要其 API 能夠以安全高效的方式處理位於全球的多個服務器之間的共享密鑰。
儘管如此,將 WireGuard 添加到 Linux 內核項目的討論還是令人興奮,並且表明人們對這種新穎的 VPN 協議寄予厚望。目前,它可能仍處於邊緣狀態——僅由那些希望在建立自己的 VPN 節點時獲得額外安全性的人使用。
NordVPN 首席信息官 Emanuel Morgan 表示,他發現 WireGuard 非常有趣,但他告訴 eeshanaviation.com,商業 VPN 提供商需要“等到它足夠成熟”才能考慮實施它:
“目前缺少太多部件,無法大規模部署,而且沒有標準的密鑰分發方式。如果沒有密鑰分發,WireGuard 作為商業 VPN 應用程序就不太理想。
“用戶需要確保他們連接到合法的 VPN 服務器,而 OpenVPN 的服務器證書以簡單、安全和高效的方式解決了這個問題。”
圖片來源:新設計插圖/Shutterstock.com、tanewpix/Shutterstock.com、file404/Shutterstock.com
