Login
Newsletter
Werbung

Fr, 23. November 2012, 11:50

Software::Security

Linux Foundation: Der Weg zur UEFI-Signatur von Microsoft

Der Distributions-unabhängige Ansatz der Linux Foundation, einen Bootloader für UEFI bereitzustellen, erfordert eine Signatur von Microsoft. Kernel-Entwickler James Bottomley beschreibt den aktuellen Stand der Dinge.

Linux Foundation

»UEFI Secure Boot« ist eine Funktion kommender PCs, die von Microsoft von den Herstellern gefordert wird, die das Windows-8-Logo erhalten wollen. Ist sie eingeschaltet, so lädt das BIOS nur Komponenten, die eine gültige kryptografische Signatur tragen. Dazu müssen im BIOS Schlüssel hinterlegt sein. Auf PCs wird Secure Boot über das BIOS abschaltbar sein, auch die Schlüssel sind änderbar. Dennoch ist es das Ziel der meisten Linux-Distributionen, auf allen Rechnern lauffähig zu sein, ohne dass BIOS-Einstellungen geändert werden müssen.

Anders als die Distributionen, darunter Fedora, Ubuntu und Suse, die eigene Pläne zum Thema Secure Boot vorstellten und auch die zusätzliche Sicherheit nutzen und die Unversehrtheit der Software durch Prüfung der kryptografischen Signatur verifizieren wollen, sieht der Plan der Linux Foundation lediglich vor, Linux auch bei aktiviertem Secure Boot starten zu können. Die kryptografische Verifikationskette soll dabei unterbrochen werden. Dazu hat Bottomley, der auch Mitglied des Technical Advisory Board der Linux Foundation ist, einen kleinen Bootloader geschrieben. Dieser Bootloader lädt ohne weitere Signaturprüfungen einen normalen Bootloader wie Grub 2 oder den Bootloader eines anderen Systems. Aktuell versucht Bottomley, von Microsoft einen Schlüssel zu erhalten und den Bootloader damit zu signieren.

Dies erweist sich als nicht so einfach, insbesondere wenn man kein Windows verwenden will, denn Microsoft nutzt bei den Signierdiensten offenbar massiv proprietäre Technologien. Infolgedessen hat sich das Signieren des Bootloaders verzögert und ist bis jetzt nicht nicht abgeschlossen.

Im ersten Schritt zahlte die Linux Foundation die Gebühr von 99 US-Dollar an Verisign für einen Schlüssel. Die ganze Verifikation von Verisign bestand in einem Rückruf an die angegebene Rufnummer. Der Schlüssel wird von einer URL heruntergeladen und im Browser installiert, von wo man ihn mit den Bordmitteln von Linux in PEM-Form bringen kann. Nun muss man einen sysdev-Account bei Microsoft anlegen; dort wird das Konto verifiziert, indem das Unternehmen dem Benutzer eine EXE-Datei schickt, die man signieren und wieder hochladen muss. Microsoft schreibt vor, dass dies unter Windows geschehen muss, doch unter Linux funktioniert es mit dem Programm sbsign (Secure Boot Tools) genauso.

Danach muss man einen Vertrag unterzeichnen, der in Papierform eingeschickt wird. Bottomley bezeichnet die Vertragsbedingungen als ziemlich lästig, so werden zahlreiche Lizenzen ausgeschlossen, insbesondere GPL und ähnliche für Treiber (aber nicht für den Bootloader). Außerdem will der Vertrag über die UEFI-Objekte hinausreichen, die signiert werden. Dies kann für manche Firmen zu einem großen Problem werden, für die Linux Foundation scheint es nach Konsultation ihrer Anwälte keine Hürde darzustellen. Laut Matthew Garrett soll Microsoft bereit sein, mit Linux-Distributionen spezielle Bedingungen auszuhandeln, um diese Probleme zu beseitigen.

Um eine Datei zu signieren, muss man sie in das proprietäre CAB-Format verpacken. Das freie Projekt lcab kann das auch unter Linux. Danach ist die Datei zu signieren, wofür plattformunabhängig das freie Programm osslsigncode bereitsteht. Für das Hochladen der Datei wird jedoch Silverlight benötigt. Hier scheiterte Bottomley daran, den vom Mono-Projekt entwickelten freien Ersatz Moonlight zu nutzen, so dass er auf eine virtuelle Maschine mit einer Windows-Installation ausweichen musste. An diesem Punkt verlangt Microsoft zudem eine Erklärung, dass die signierte Datei nicht unter der GPLv3 »oder ähnlichen Open-Source-Lizenzen« steht.

Vom Upload bis zur Signatur sind dann noch sieben Schritte zu vollziehen. Beim sechsten kam es zu einem Stillstand, und als Bottomley sich an den Support wandte, erklärte dieser, der Fehler sei, dass die Binärdatei keine Win32-Anwendung ist. Offensichtlich, da es sich ja um eine UEFI-Binärdatei handelt. Der Support war unfähig, das Problem zu lösen. Bottomley versuchte es erneut und erhielt dieses Mal trotz einer Fehlermeldung eine signierte Binärdatei, die auch einwandfrei funktionierte. Allerdings weist die Signatur des Bootloaders auf Microsoft anstelle der Linux Foundation hin, was laut Bottomley offensichtlich ein Fehler ist. So wartet die Linux Foundation jetzt immer noch auf einen korrekt signierten Bootloader.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung