【翻译】 WireGuard 何去何从?

2023-11-19

请考虑订阅 LWN

订阅是 LWN.net 的生命线。 如果您喜欢这些内容并希望看到更多,您的订阅将有助于确保 LWN 继续蓬勃发展。 请访问此页面加入我们,让 LWN 继续在网络上传播。

作者: Jonathan Corbet
2019年3月25日
自本文 发表以来,WireGuard 虚拟专用网络实施方案已经走过了整整一年多的时间。 自本文发表以来,WireGuard 在许多方面都取得了进步:它获得了许多满意的用户,得到了 Linus Torvalds 的认可,现在还得到了 NetworkManager 等工具的支持。 不过,有一件值得注意的事情还 没有发生:WireGuard 还没有并入主线内核。 在沉寂了一段时间后,WireGuard 又回来了,看来进入上游的漫长过程已接近尾声。

新版的 WireGuard 补丁已于 3 月 22 日发布。 WireGuard 本身并无特别争议;很少有人对其设计或实施提出抱怨。 症结在于 WireGuard 使用的"Zinc "加密库。 Zinc 的诞生源于对内核当前加密层的不满,许多人认为该加密层太难使用。 从本质上讲,Zinc 是一个全新的加密层,与当前代码并存,重复了内核中的大量功能,但为加密任务提供了一个更简单的界面。

人们对 Zinc 有一些抱怨。 其中之一就是,Zinc 不仅是一个用于访问加密算法的新 API,它还包含了自己对这些算法的实现,重复了内核已有的功能。 WireGuard 的作者 Jason Donenfeld 为这些新的实现进行了辩护,认为它们经过了更高级别的加密审查,这可能是正确的。 不过,内核开发人员非常不喜欢这种重复;他们会认为,如果特定算法的新实现更好,就应该直接取代现有算法,而不是重复。 这样,只需维护一个版本,所有用户都能享受到它带来的好处。

一段时间以来,重复算法一直是一个棘手的问题,但现在似乎有了一个解决方案。 加密货币维护者赫伯特-徐(Herbert Xu)发布了一个版本的 Zinc,其中引入了新的 API,但使用的是现有的算法实现,而不是多南菲尔德的新算法。 这样一来,像 WireGuard 这样的用户就可以使用 API,而新算法的实现则暂时不在讨论之列。 将来,我们可以根据这些算法实现本身的优点对其进行评估,并在达成共识认为它们更好时逐一合并。

以往的讨论可能会让人以为多南菲尔德会抵制这一举动,但这次他回应说:"我认为我们稍微接近了同一起跑线"。 他计划对徐的 Zinc 版本做一些修改,但他打算发布的版本仍将使用现有的内核算法。 假设大家都喜欢这样的结果,WireGuard 合并的主要长期障碍之一将被克服。

加密功能的重复并不是对 Zinc 的唯一抱怨,阿德-比舍维尔(Ard Biesheuvel)也表达了对 Zinc 的其他抱怨。 Biesheuvel 将 Zinc 描述为"分层违规",并抱怨它无法使用内核中的异步算法实现。 这是设计所致:Zinc 只明确支持同步实现(即调用者等待每个操作完成)。 异步实现(通常在外部加速器上并行运行,同时调用者做其他事情)被认为过于复杂,带来的好处太少。

Biesheuvel 不同意异步操作的这种观点,他担心将来会有人在 Zinc 上附加异步支持。 他更希望看到开发人员致力于修复现有加密 API 的缺陷。 持这种观点的不只他一个人,其他人也有不同意见,包括托瓦尔兹,他曾宣称自己是 Zinc 阵营的坚定支持者:

老实说,在这一点上我与杰森的观点一致。当你知道你的密码或哈希算法是什么,CPU 直接就能很好地完成时,密码/模型就很难使用,效率低下,而且完全没有意义。

他接着说:"异步加速器代码在真实硬件和任何正常真实负载上都没有任何价值。 如果异步加密加速器在现实世界中缺乏价值,那么引入一个可以有效忽略它们的应用程序接口就有一定意义了。 当然,这种对异步加密设备的看法并不被普遍认同,否则内核中就不会存在对它们的支持。 请特别参阅帕斯卡尔-范-里欧文(Pascal Van Leeuwen)对托瓦尔兹某些批评意见的反驳。 但很明显,异步加密对于各种用例来说并不是特别有用。

如果 Torvalds 所表达的观点(以及 Xu 暗含的观点)胜出,如果 Zinc 的下一篇文章能充分解决有关重复算法的问题,那么 Zinc 进入主线的道路将开始变得相对清晰。 除非 WireGuard 出现新的问题(这似乎不太可能,因为即使是反对 Zinc 的人也倾向于支持 WireGuard),否则它应该会在 Zinc 加入后立即被合并。 这样,让 WireGuard 进入主线的漫长故事就可以画上一个圆满的句号了。

本文索引条目
内核 网络/虚拟专用网络
安全 加密/网络
网络安全 Linux 内核/虚拟专用网络 (VPN)


(登录以发表评论)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【翻译】 WireGuard 何去何从? 的相关文章

  • 【翻译】疫苗正在拯救世界!但内容交付网络首先做到了吗?

    2020年1月 一种激进的公共卫生干预措施被介绍给世界 禁闭 在中国推出它之前 它从未在好莱坞以外的任何地方大规模使用过 没有人相信现实生活中的民众会接受连续几个月被关在家里的情况 即使他们的生命取决于此 与所有的预期相反 禁闭正在控制一种
  • 【翻译】 迁移到Python 3

    本文由LWN用户为您带来LWN net的订阅者使得这篇文章 以及它周围的一切 成为可能 如果您喜欢我们的内容 请购买订阅 使下一组文章成为可能 2011年2月9日 本文由Ian Ward提供 Python 3 0于2008年底发布 但到目前
  • 【翻译】3个(不,应该是4个)问题:大使实验室的丹尼尔-布莱恩特

    在我们的循环专题 3个问题 中 我们向云原生社区中具有影响力的人提出了三个问题 旨在定义云原生 在本期节目中 Ambassador Labs的开发关系总监和InfoQ的新闻经理Daniel Bryant接受了这个挑战 我们还偷偷地加入了第四
  • 跟我一起学Multiple View Geometry多视图几何(1)

    本系列博客持续更新 与大家交流学习用 若读者发现有错误或者疑问请留言 前言 前几天博主买了本Multiple View Geometry第二版 一直在看这本书 不得不说之前网上查到的好多理论都是出自这本书 所以为了方便自己学习的更加深刻和与
  • 【翻译】 用纸质电路增加开源的包容性

    你知道吗 LWN net是一份由订阅者支持的出版物 我们依靠订阅者来维持整个运作 请通过购买订阅来帮助我们 让LWN继续在网上运行 作者 Jonathan Corbet 2018年1月30日 linux conf au 开源软件有一个包容性
  • 【翻译】燃烧积压,调整流程

    排列和流动 听起来像Vinyasa瑜伽课 它们真正的内容是管理的趋势 但即使是管理这个词似乎也不对 因为当你在管理对齐和流动时 你是有意放弃你的大部分权力 你走的是仆人式领导的道路 不断寻找方法让你的队友生活更轻松 最大限度地提高流量和一致
  • 【翻译】API版本管理:它是什么,为什么这么难?

    如果你想在API技术专家之间展开一场辩论 只要让他们分享他们对 API版本 的看法 可以肯定的是 你会在短时间内发现一些强烈的感受 术语 API版本 已经成为 改变API 的同义词 这是理清支持已发布的API持续变化而又不给API消费者带来
  • 冰羚中间件 RouDi usage-guide.md翻译

    内容 内容 配置RouDi Configuring RouDi RouDi可以支持读取从一个配置文件中读取mempool config 如果需要支持这个特性 CMake的编译选项中需要使用 DTOML CONFIG on mempool c
  • 【翻译】 Linux 与无人机的未来

    请考虑订阅 LWN订阅是 LWN net 的生命线 如果您喜欢这些内容并希望看到更多 您的订阅将有助于确保 LWN 继续蓬勃发展 请访问此页面加入我们 让 LWN 继续在网络上传播 作者 Nathan Willis 2015 年 10 月
  • node调用谷歌翻译Api,实现自动国际化

    原因 项目国际化过程繁琐 每次都需要人工去google翻译 导致工作效率不高 需求 1 减少人工的重复劳动 提高工作效率 2 使用脚本调用谷歌翻译接口自动化翻译 3 free 作为程序员肯定接受不了付费服务 找方法解决限制 前期准备 1 谷
  • 人工智能革命:超级智能之路(上)

    这篇文章翻译于Tim Urban大神的 The AI Revolution 的系列文章 下面让我们一起领略一下Tim Urban大神理解的人工智能革命是怎样的吧 文章目录 遥远的未来 即将到来 超级智能之路 人工智能 我们目前在哪里 一个在
  • 【翻译】Attention Is All You Need

    Attention Is All You Need 注意力是你所需要的一切 论文地址 https proceedings neurips cc paper 2017 file 3f5ee243547dee91fbd053c1c4a845aa
  • JDBC规范——(8)异常

    当访问一个数据源时发生错误或者警告 JDBC 用 SQLException 这个类及其子类来表示并提供相关的异常信息 8 1 SQLException SQLException 由一下几部分组成 1 描述错误的文本信息 可以通过 SQLEx
  • 【翻译】 一个新的暂停/休眠的基础设施

    LWN订阅者的好处订阅LWN的主要好处是帮助我们继续出版 但除此之外 订阅者可以立即获得所有的网站内容和获得一些额外的网站功能 请今天就注册吧 作者 Jonathan Corbet 2008年3月19日 在参加会议时 你们的编辑多年来一直注
  • csharp:百度翻译

    参考 http api fanyi baidu com api trans product index http developer baidu com wiki index php title E5 B8 AE E5 8A A9 E6 9
  • 推荐这款神器!每年都有数以百万的大学生想用它!闲鱼都卖两百!

    文末有下载链接 如同明日将死那样生活 如同永远不死那样求知 甘地 image 这是一个能把破解者气死的软件 辛辛苦苦破解的软件 却被别人拿去收费标价200元 真买了 吃亏的是你 在我这 不用钱 说到论文翻译 真的是让人抓狂 每年百万的大学生
  • 【翻译】对计算机未来的10个预测或;我们的首席科学家的无稽之谈

    TLDR WASM将无处不在 编译目标 部署目标 物联网 插件生态系统 这已经在发生了 1 5年 Rust将继续流行 根据RedMonk的指数 在未来几年将超过Go 2 4年 将出现一个严重的Kubernetes的对手 如果它使用WASM并
  • 利用java完成图像文字识别和翻译,实现拍照翻译的功能

    需求 利用java完成图像文字识别和翻译 实现拍照翻译的功能 可拆分为以下两个小的功能逐一完成 1 实现图像文字识别 2 将识别出来的文字进行翻译 1 实现图像文字识别 利用Tess4J进行图像文字识别 1 1 为方便集成tess4j的ja
  • Qt多国语言动态切换(含源代码)

    Qt中文国际化 含高阶做法 作者 melon 日期 2019 7 15 1 国际化需要用到的工具 lrelease exe lupdate exe linguist exe 非必须 这些工具在Qt5 12 2的bin文件夹都可以找到 lup
  • 【翻译】 WireGuard 何去何从?

    请考虑订阅 LWN订阅是 LWN net 的生命线 如果您喜欢这些内容并希望看到更多 您的订阅将有助于确保 LWN 继续蓬勃发展 请访问此页面加入我们 让 LWN 继续在网络上传播 作者 Jonathan Corbet 2019年3月25日

随机推荐

  • Python自定义异常 Python Custom Exception

    个人主页 Aurora 如果文章有什么需要改进的地方还请各位大佬指正 如果我的文章对你有帮助 关注 点赞 收藏 一 python自定义异常 1 自定义一个CustomException类 继承Exception类 2 编写CustomExc
  • cur.execute(sql,args)和cur.execute(sql)的区别

    python代码示例 方式一 userid 123 sql select id name from user where id s userid cur execute sql 方式二 sql语句模板中的参数填充符是 s 而不是 s 且多个
  • Linux上开发常见问题整理

    Linux上开发常见问题整理 1 java工程在linux上运行测试 首先要有一个main方法作为主类 程序的入口 右键 gt Run As gt javaapplication生成配置文件入口 右键该工程 gt Export gt Run
  • LaTeX 多行公式、公式对齐以及输入矩阵的方法

    一 LaTex显示 大括号连接的 多行公式 公式组合 使用cases环境实现公式的组合 分隔公式和条件 具体LaTex代码如下 D x begin cases lim limits x to 0 frac a x b c x lt 3 pi
  • tshark 解析pcap中带TLS协议的数据包

    tshark的简单用法参考 tshark解析本地pcap数据包提取五元组 src ip src port proto dst ip dst port 与时间戳 包长 详细用法 官方DOC 比如提取一个数据包 my pcap 中全部带有TLS
  • Oracle数据恢复:强制Resetlogs的可能数据损失

    Oracle数据恢复 强制Resetlogs的可能数据损失 Oracle数据恢复 格式化 ASM及字典损坏案例三则 ORA 00600 kcratr nab less than odr案例一则 SMON recover undo segme
  • 简易DOCKER/K8S使用心得

    1 DOCKER安装 1 1 前置环境 首先 如果使用CentOS 你至少需要7 4以上 从内核角度来说 建议使用8 2及以上 如果是7 4以下的版本 可以通过设置仓库到7 4以上版本 再 yum install centos releas
  • 计算机内存数值存储方式-原码、反码、补码、数值溢出

    计算机内存数值存储方式 1 原码 一个数的原码 原始的二进制码 有如下特点 最高位做为符号位 0表示正 为1表示负 其它数值部分就是数值本身绝对值的二进制数 负数的原码是在其绝对值的基础上 最高位变为1 下面数值以1字节的大小描述 原码表示
  • 手把手教你实现一个向量

    文章目录 什么是向量 向量提供哪些接口 实现 宏定义 定义类 成员变量 构造函数与析构函数 构造函数 析构函数 成员函数 size get r put r e expand insert r e remove lo hi remove r
  • nodejs获取时间戳

    可以使用 JavaScript 内置的 Date 对象来获取当前的时间戳 可以使用 Date now 方法来获取当前的时间戳 consttimestamp Date now console log timestamp 也可以使用 Date
  • 轻松掌握Python自动化工具,解锁PyAutoGUI的强大功能

    前言 PyAutoGUI是一个用于图像识别和鼠标 键盘控制的Python库 它提供了一组函数和方法 用于自动化屏幕上的鼠标移动 点击 拖拽和键盘输入 以及执行图像识别和处理 本文旨在帮助读者入门 PyAutoGUI 理解其基础概念和掌握最佳
  • js逆向-国密SM2初探

    目录 前言 目标网站 加密分析 加密定位 结尾 本文仅供学习使用 切勿非法使用 如有侵权请联系作者及时删除 前言 无意中看到一个网站采用国密SM2算法进行登陆参数进行加密 之前接触的加密基本都是国外的算法 例如RSA DES MD5等等 国
  • 13位时间戳单位为毫秒,10位字符串单位为秒。时间戳转换日期数字格式100%全乎

    时间戳转换为年月日时分秒数字格式 注意时间戳有2种 13位时间戳 单位为毫秒 10位字符串 单位为秒 接口返回1616160878418 微秒 期望格式2021 03 19 21 34 35 标签 java new Date 变成GMT G
  • tar打包备份+ubuntu系统的修复

    如果ubuntu系统出问题 通过备份文件可以简单快速地修复ubuntu系统 tar打包十分必要 一 tar打包备份 1 进入管理员账户 sudo su 2 打包 tar cvPzf 20191203ubuntu1804 tgz exclud
  • 关于static 的各种数据类型 及在面向对象编程中的应用

    一 按存储区域分 全局变量 静态全局变量和静态局部变量都存放在内存的静态存储区域 局部变量存放在内存的栈区 1定义全局静态变量的好处 lt 1 gt 不会被其他文件所访问 修改 lt 2 gt 其他文件中可以使用相同名字的变量 不会发生冲突
  • 2023杭电暑假多校4 题解

    3 Simple Set Problem 题意 k 个多重集合 每个集合选出一个数形成新集合A 求 m a x A m
  • macos多合一系统安装u盘制作器_U 盘多系统安装盘制作神器YUMI

    通常我们一个 U 盘只能制作成一个系统安装盘 比如制作好一个 Windows 10 安装盘 日后想要用到 Linux WinPE 等安装盘时 只能重新制作一遍 非常浪费时间 而且现在 U 盘容量都很大 如果只放一个系统 同样就会白白浪费 U
  • 软考-操作系统

    考点梳理 进程管理 考点1 进程的状态 考法分析 本考点主要考查形式主要是根据图示判断相关状态位置或状态变迁条件 要点分析 操作系统三态模型如下图所示 操作系统五态模型 备考点拨 掌握操作系统三态模型 五态模型的状态位置及其状态变迁条件 考
  • arcgis 10.8 for win10安装教程

    本文主要记录arcgis安装步骤 遇到的问题等 文章目录 一 前提 二 下载与安装 1 下载 2 安装 参考资料 一 前提 下载前需要确定 1 ArcGIS对系统的要求 安装之前系统需安装 net framework 4 5 以上版本 我的
  • 【翻译】 WireGuard 何去何从?

    请考虑订阅 LWN订阅是 LWN net 的生命线 如果您喜欢这些内容并希望看到更多 您的订阅将有助于确保 LWN 继续蓬勃发展 请访问此页面加入我们 让 LWN 继续在网络上传播 作者 Jonathan Corbet 2019年3月25日