Linux 和安全启动。 我们不能重复的错误

Linux 和安全启动

以前的文章 我记得微软要求 TPM 版本 2 模块能够使用 Windows 11 的先例。我指的是预装 Windows 8 的计算机使用 UEFI 而不是 BIOS 作为引导加载程序的要求,以及安全引导模块已预先安装。  现在我要谈谈,在我看来,Linux 处理问题的错误方式。

Linux 和安全启动

安全启动要求启动的每个程序都有一个签名,以保证其存储在主板非易失性存储器数据库中的真实性。 有两种方法可以出现在该数据库中。 是厂商自带的还是微软自带的。

一些 Linux 发行版与 Microsoft 达成的​​解决方案 这家公司接受了二进制签名,负责启动每个发行版的引导加载程序. 这些二进制文件已提供给社区。

后来,Linux 基金会将推出一个可供所有发行版采用的通用解决方案。

为了寻找更好的解决方案,红帽开发人员向 Linus Torvalds 提出以下建议:

嗨,莱纳斯,

你能包括这个补丁集吗?

提供一种功能,通过该功能可以将密钥动态添加到以安全引导模式运行的内核中。 为了允许在这种情况下加载密钥,我们要求新密钥由我们已经拥有(和信任)的密钥签名,其中我们“已经拥有”的密钥可以包括嵌入内核中的那些UEFI 数据库和加密硬件的数据库。

现在“keyctl add”已经可以处理像这样签名的 X.509 证书,但微软的签名服务只会对可执行的 EFI PE 二进制文件进行签名。

我们可以要求用户重新启动进入 BIOS,添加密钥,然后切换回来,但在某些情况下,我们希望能够在内核运行时执行此操作。

我们想出的解决方法是将包含密钥的 X.509 证书嵌入到 EFI PE 二进制文件中名为“.keylist”的部分中,然后获取 Microsoft 签名的二进制文件

莱纳斯词

Linus 的回应(让我们记住,在他的精神撤退之前重新考虑他与他人的关系的态度)如下:

注意:以下文字包含脏话

伙计们,这不是吸公鸡比赛。

如果您想使用 PE 二进制文件,请继续。 如果红帽想要加深与微软的关系,那是*你的*问题。 这与我维护的内核无关. 您可以轻松拥有一个签名引擎来解析 PE 二进制文件、验证签名并使用您自己的密钥对生成的密钥进行签名。 看在上帝的份上,代码已经写好了,就在那个该死的包含请求中。

我为什么要在乎? 为什么内核要关心一些愚蠢的“我们只签署 PE 二进制文件”? 我们支持 X.509,这是签名标准。

这可以在用户级别完成。 没有理由在内核中这样做。

莱纳斯

我的观点是,Linus 有一次是正确的。 实际上 微软不应该勒索 Linux 基金会和发行版。  确实,用户可能已经丢失。 但是,后来证明,Windows 8 失败了,XP 继续统治了更长时间。

现实是,当微软面临一场战斗时,它被迫遵守标准. 这发生在她使用 SIlverlight 失败并被迫采用 HTML 5 Web 标准时,发生在她不得不放弃 Web 渲染引擎开发并将 Edge 建立在 Chromium 上时。

我们也不应该忘记,为了吸引程序员,它必须包括在 Windows 上运行 Linux 的能力。

Linux 发行版比以往任何时候都处于更好的位置,可以为用户提供继续使用功能完美的硬件的替代方案。


3条评论,留下您的评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   灵狐

    确切地说,GNU/Linux 世界中的任何人都不应该去微软或任何公司,我们必须成为计算自由的抵抗者和倡导者,我们已经受够了手机的监狱,所以现在我们不得不接受要求只让一家公司受益。

  2.   ja

    据我所知,微软的决定甚至从来没有让它自己的生态系统受益,这只是一个营销问题,相信如果你不能运行 tpm 2,你会改变计算机只是为了能够运行 w 11,如果有的话微软最大的是自我,未来是linux而不是windows,对我来说,微软的决定是最好的让用户更接近linux

  3.   rperez19

    我喜欢 Linux,但缺乏安全启动支持迫使我只有 Ubuntu 想要更多的架构,太糟糕了,因为想要跟上当前他们正在失去的用户