Loader der Linux Foundation und Shim sollen vereint werden
Mit der Herausgabe des UEFI Secure Boot Loaders der Linux Foundation gibt es nun zwei funktionierende Mechanismen, um Linux auf Rechnern mit UEFI Secure Boot zu starten. Die zweite und früher dagewesene ist Shim.
Ubuntu 12.10 und Fedora 18 benutzen Shim und haben sich bereits auf Rechnern mit aktiviertem UEFI Secure Boot starten lassen. Der Bootloader der Linux Foundation löst das selbe Problem, geht allerdings anders an die Sache heran.
Der Unterschied zwischen Shim und der Lösung der Linux Foundation ist, dass der Loader der LF verschlüsselte Hashes benutzt und keine digital unterschriebenen Schlüssel. Der Anwender muss also explizit das Ausführen eines Hash einer Binärdatei erlauben. Sollte sich der Bootloader oder Kernel im Zuge eines Updates ändern, muss der Anwender wieder manuell eingreifen. Dazu muss der Anwender auch physikalischen Zugriff zu der Maschine haben.
Der Vorteil von dieser Hash-Methode ist, dass man keine Signing-Infrastruktur braucht. Somit können Linux-Distributionen Secure Boot unterstützen und müssen dazu ihren Build-Prozess nicht verändern. Shim unterstützt diesen Fall zwar auch, allerdings hat der Loader der Linux Foundation laut Matthew Garret ein hübscheres UI.
Weiterhin implementiert Shim Secure Boot Loading in einem nicht ganz idealer Weise. Die Software dupliziert das Laden, Überprüfen und Ausführen der Binärdateien der Firmware. Somit funktionieren UEFIs LoadImage() und StartIMage() uner Shim nicht. Der LF-Loader hängt sich in die low-lever Sicherheits-Architektur und installiert seine eigenen Handler, womit das Standard-UEFI-Interface funktioniert. Somit lassen sich Bootloader wie Gummiboot und efilinux benutzen, ohne diese modifizieren zu müssen.
Allerdings kann es sein, dass der Loader der Linux Foundation nicht überall funktioniert. Das ist dann der Fall, wenn die Platform Initialization Spezifikation nicht benutzt wird, was sich innerhalb der UEFI-Regeln befindet.
Derzeit plant man nun beide Herangehensweisen zu vereinen. Matthew Garret arbeitet daran, den Code der Loader-UI der Linux Foundation in Shim zu integrieren. Somit möchte man einen Bootloader erschaffen, der die Ansprüche aller befriedigt und James Bottomley ist damit einverstanden.