此过程将防止启动未经认证的软件。尽管我看不到它们,但这可能会有好处。
您具有新的安全性机制来控制可以从硬件引导和不能引导的硬件。安全功能。直到为时已晚,您才觉得自己需要它。但是我离题了。
我已经阅读了Linux邮件列表上的一个线程,其中Red Hat员工要求Linus Torvalds提取一个变更集,该变更集实现了对PE二进制文件进行解析的功能,并采取了一系列复杂的操作以使内核以安全启动模式启动(据我所知) )。
驱动程序(例如您的GPU固件)必须与安全启动一起签名,否则它可能是另一个rootkit。现状是那些驱动程序以PE格式签名。无论如何,内核都可以引导,但是硬件无法正常工作。在内核中解析PE格式只是技术上较简单的选择,而不是要求每个硬件供应商为每个发行版签名其blob,或设置一个用户空间框架来执行此操作。Linus决定不吮微软的家伙。那不是技术论点。
作为家庭用户,使用UEFI和安全启动可以获得什么好处?
最明显的功能是UEFI快速启动。我已经接触了多个Windows 8徽标桌面,它们的启动速度如此之快,以至于我经常错过弹出启动菜单的机会。英特尔和OEM对此进行了很多设计。
如果您是那种讨厌膨胀和代码重复的Linux用户,那么您可能还希望在固件级别管理多重引导并完全摆脱引导加载程序。UEFI提供了一个启动管理器,您可以使用它直接启动到内核或通过固件菜单选择启动其他OS。虽然可能需要修补。
另外,在启动时和固件菜单中的图形都比较好。引导过程中的安全性更高(安全引导)。其他功能(IPv4 / 6 netboot,2TB +引导设备等)主要供企业用户使用。
无论如何,正如Linus 所说,BIOS / UEFI应该“只是加载操作系统并摆脱困境”,UEFI肯定会出现在具有快速启动功能的家庭用户中。当然,它比BIOS的功能更多,但是如果我们谈论的是家庭用户,他们将不会在乎。
如何签署?
理论上,二进制文件用私钥加密以生成签名。然后可以使用公钥验证签名,以证明二进制文件已由私钥所有者签名,然后验证了二进制文件。在Wikipedia上查看更多内容。
从技术上讲,仅对二进制文件的哈希值进行签名,并且签名将以PE格式和其他格式的旋转方式嵌入二进制文件中。
程序上,公钥由OEM存储在固件中,它来自Microsoft。您有两种选择:
- 生成自己的密钥对,并安全地管理它们,安装自己的公钥固件,并签署用自己的私钥二进制(sbsign从Ubuntu的,或pesign在Fedora),或
- 将您的二进制文件发送给Microsoft,让他们签名。
谁可以获得签名/证书?它付钱了吗?可以公开吗?(它应该在Linux的源代码中可用,不是吗?)
由于签名/证书嵌入在二进制文件中,因此希望所有用户都可以获取它们。任何人都可以建立自己的CA并为自己生成证书。但是,如果您希望Microsoft为您生成证书,则必须通过Verisign来验证您的身份。该过程的成本为99美元。公用密钥在固件中。私钥在Microsoft的保险箱中。证书在签名的二进制文件中。不涉及源代码。
Microsoft是提供签名的唯一授权吗?不应该有一个独立的基金会来提供这些服务吗?
与管理PKI,验证身份,与每个已知的OEM和硬件供应商进行协调的过程相比,技术方面的琐碎。这要付出高昂的代价。微软恰好具有多年的基础架构(WHQL)和经验。因此,他们提供签署二进制文件的权利。任何独立的基金会都可以加紧提供同样的东西,但是到目前为止,还没有人做到这一点。
在IDF 2013的UEFI会议上,我看到Canonical也已开始将自己的密钥用于某些平板电脑固件。因此,Canonical无需通过Microsoft即可签署自己的二进制文件。但是他们不太可能为您签名二进制文件,因为他们不知道您是谁。
这将如何影响开源和免费内核,爱好者/学术内核开发人员等。
您自定义构建的内核不会在安全启动下启动,因为它没有签名。您可以将其关闭。
安全启动的信任模型可锁定内核的某些方面。就像您即使现在是root,也无法通过写入/ dev / kmem来破坏内核。您无法休眠到磁盘(在上游工作),因为在恢复时无法确保内核映像不会更改为bootkit。当内核崩溃时,您不能转储内核,因为kdump(kexec)机制可用于引导bootkit(也在上游工作)。这些是有争议的,Linus不接受它们进入主线内核,但是无论如何,某些发行版(Fedora,RHEL,Ubuntu,openSUSE,SUSE)都附带了自己的安全启动补丁。
就个人而言,构建安全启动内核所需的模块签名花费10分钟,而实际编译仅花费5分钟。如果我关闭模块签名并打开ccache,则内核构建仅需一分钟。
UEFI是与BIOS完全不同的引导路径。UEFI固件不会调用所有BIOS引导代码。
西班牙的一个名为Hispalinux的Linux用户组已就此问题向Europan Comission投诉了Microsoft。
如上所述,除微软外,没有人加紧进行公共服务。当前没有证据表明微软打算为此做任何邪恶的事情,但是也没有任何东西可以阻止微软滥用其事实上的垄断地位并进行权力之旅。因此,尽管FSF和Linux用户组看起来似乎并不务实,也没有真正坐下来建设性地解决问题,但人们很有必要向Microsoft施加压力并警告其后果。
我应该担心吗?我拒绝使用专有软件或受信任公司签名的软件。到目前为止,我已经这样做了,我想继续这样做。
接受安全启动的原因:
- 它消除了真正的安全攻击媒介。
- 它是一种技术机制,可为用户提供更大的自由来控制其硬件。
- Linux用户需要了解安全启动机制,并在Microsoft完全垄断安全启动策略之前采取积极行动。
UEFI
本身并没有多大问题,但安全启动可能会。