wireguard

wireguard

官网 https://www.wireguard.com

采用先进的加密技术,如noise协议框架,Curve25519,chacha20,Poly1305,blake2,siphash24,hkdf,和安全的信任结构。这让保守的、合理的选择和已审查了密码

 最小攻击面

WireGuard的设计易于实施和简单。它意味着可以通过很少的代码轻松实现,并且可以轻松审计安全漏洞。与像Swan / IPsec或OpenVPN / OpenSSL这样的庞然大物相比,即使对于大型安全专家团队来说,审计庞大的代码库也是一项压倒一切的任务,WireGuard意味着可以由单个人全面审查。

 高性能

极高速的加密原语和WireGuard存在于Linux内核中的事实意味着安全的网络可以非常高速。它适用于小型嵌入式设备,如智能手机和满载的骨干路由器。

 良好的定义和彻底的考虑

WireGuard是经过漫长而彻底考虑的学术过程的结果,产生了技术白皮书,这是一份学术研究论文,明确定义了协议以及每个决策中的强烈考虑因素。

概念概述

如果您想了解WireGuard的一般概念概述,请点击此处阅读。然后您可以继续安装并阅读有关如何使用它的快速入门说明

如果您对内部工作感兴趣,可能会对协议的简要概述感兴趣,或者通过阅读技术白皮书进行更深入的介绍,该白皮书详细介绍了协议,密码学和基础知识。如果您打算为新平台实施WireGuard,请阅读跨平台说明

WireGuard通过UDP安全地封装IP数据包。您添加了一个WireGuard接口,使用您的私钥和对等方的公钥对其进行配置,然后通过它发送数据包。密钥分发和推送配置的所有问题都不在WireGuard 的范围之内; 这些问题远远好于其他层,以免导致IKE或OpenVPN的膨胀。相比之下,它更模仿SSH和Mosh的模型; 双方拥有彼此的公钥,然后他们只需通过接口就可以开始交换数据包。

简单的网络接口

WireGuard工作通过将网络接口(或多个),例如eth0wlan0,称为wg0(或wg1wg2wg3等等)。然后,可以使用ifconfig(8)ip-address(8)使用route(8)ip-route(8)使用所有普通网络实用程序添加和删​​除路由来正常配置此网络接口。接口的特定WireGuard方面使用该wg(8)工具进行配置。该接口充当隧道接口。

WireGuard将隧道IP地址与公共密钥和远程端点关联。当接口向对等体发送数据包时,它会执行以下操作:

  1. 此数据包适用于192.168.30.8。那是哪个同行?让我看看……好吧,这是同行的ABCDEFGH。(或者如果它不是用于任何配置的对等体,则丢弃该数据包。)
  2. 使用对等方ABCDEFGH的公钥加密整个IP数据包。
  3. 同伴的远程端点是ABCDEFGH什么?让我看看……好的,端点是主机216.58.211.110上的UDP端口53133。
  4. 使用UDP将步骤2中的加密字节通过Internet发送到216.58.211.110:53133。

当接口收到数据包时,会发生以下情况:

  1. 我刚从主机98.139.183.24上的UDP端口7361获得一个数据包。让我们解密它!
  2. 它为对等体正确解密和验证LMNOPQRS。好的,让我们记住,对等LMNOPQRS的最新Internet端点是使用UDP的98.139.183.24:7361。
  3. 解密后,纯文本数据包来自192.168.43.89。同行LMNOPQRS允许发送我们的数据包为192.168.43.89?
  4. 如果是,请接受接口上的数据包。如果没有,请放弃它。

在幕后,使用最先进的密码术可以提供适当的隐私,真实性和完美的前向保密

zh-CN Chinese (Simplified)
X