Das NitroPad X230 ist ein Thinkpad mit überwachtem Boot-Prozess, das Manipulationen mittels Prüfsummen und kryptografischer Schlüssel auf dem Gerät und einem USB-Token aufdeckt.
In den letzten Jahren gewinnt Sicherheit in der IT immer mehr an Bedeutung. Spätestens seit Edward Snowden weiß jeder, dass es Begehrlichkeiten von vielen Seiten gibt, uns unserer Privatsphäre zu berauben und sich unserer Daten zu bemächtigen.
Ein Virenscanner oder ein verschlüsseltes Dateisystem genügen Zeitgenossen mit gehobenem Sicherheitsanspruch bei Weitem nicht mehr. In diese Kategorie fallen unter anderem Journalisten, Rechtsanwälte und Geschäftsleute oder Behördenmitarbeiter, die intellektuelles Eigentum schützen müssen; Whistleblower und Dissidenten müssen um ihre Existenz oder sogar ihr Leben bangen. Aber auch der leicht paranoide Verschwörungstheoretiker fühlt sich wohler, wenn er seiner IT etwas mehr Sicherheit verleihen kann.
Vorreiter Purism
Vor dem Hintergrund dieser Ansprüche entstand in den letzten Jahren eine Hardware-Nische, die dieses Klientel mit Linux-Notebooks versorgt. Die Hersteller legen bei der Entwicklung und Ausstattung der Geräte ein besonderes Augenmerk auf die Sicherheit – nicht nur während des regulären Betriebs, sondern bereits während des Boot-Vorgangs. Den Vorreiter spielt hier die amerikanische Firma Purism, deren Notebook Librem 15 wir bereits ausführlich testen konnten [1].
Bei Purism beginnt Sicherheit schon mit dem Entwurf eigener Mainboards. Etwas weniger Aufwand betreibt der für seine mit Linux ausgestatteten Rechner bekannte Hersteller System76 [2], der bei seinen Linux-Notebooks die berüchtigte Intel Management Engine (ME [3]) ausschaltet und zum Booten lieber Coreboot statt UEFI ausliefert. Auch der deutsche Ausrüster Tuxedo verbannt die ME und arbeitet am Einsatz von Coreboot.
New Pad in Town
Kürzlich betrat ein neuer Anbieter aus deutschen Landen diese Nische. Der bereits durch seine gleichnamigen Sicherheits-Token [4] bekannte Hersteller Nitrokey stellte mit dem NitroPad X230 [5] ein Notebook mit aufwendigen Sicherheitsmerkmalen vor (Abbildung 1).
Der Name deutet es bereits an: Als Grundlage dient das grundsolide und von Juni 2012 bis August 2014 produzierte Lenovo Thinkpad X230. Nitrokey überholt gebrauchte Systeme und stattet sie dann als NitroPad mit aktuellen Komponenten aus. Unser Testgerät, das uns die in der Nähe von Berlin angesiedelte Firma freundlicherweise zur Verfügung stellte, war in sehr gutem Zustand und wies so gut wie keine sichtbaren Gebrauchsspuren auf.
Starkes Testgerät
Die Basisversion [6] des NitroPads kostet 450 Euro und verfügt über eine Intel-CPU des Typs Core i5-3320M aus der “Ivy-Bridge”-Baureihe, 4 GByte DDR3-Hauptspeicher, eine 320 GByte fassende HDD und einen Nitrokey Pro 2. Unser Testsystem war mit einem Intel Core i7-3520M, 8 GByte RAM und einer 256 GByte fassenden SSD ausgerüstet und würde im Shop 785 Euro kosten (Abbildung 1).

Abbildung 1: Unser Testgerät bewegte sich mit einer Intel-i7-CPU, 8 GByte RAM und einer 256 GByte großen SSD im mittleren Ausstattungsbereich. Man kann das NitroPad auch mit 16 GByte Hauptspeicher bestellen.
An Anschlüssen stellt das NitroPad X230 zwei USB-3-Ports sowie einen USB-2-Port, einen Mini-DisplayPort (mDP), VGA, Gigabit-Ethernet, Audio In/Out sowie einen 4-in-1-Kartenleser bereit. Die Tastatur verfügt über eine Hintergrundbeleuchtung, eine Webcam ist oben im Display-Rahmen untergebracht. Hier liefert Nitrokey einen kleinen Schieber mit, der die Kamera im Bedarfsfall mit einer Blende abdeckt.
Optional
Nitrokey bietet in seinem Shop [7] noch einige zusätzliche Optionen an. Wer lieber auf WLAN und Bluetooth verzichtet, kann die entsprechenden Komponenten für zusätzliche 15 Euro komplett abschalten lassen. Anstelle des im Preises enthaltenen Nitrokey Pro 2 gibt es optional noch einen Nitrokey Storage genannten Speicherstick mit 32 oder 64 GByte Kapazität und integrierter Hardware-Verschlüsselung.
Um zu verhindern, dass das NitroPad auf dem Weg zum Kunden manipuliert wird, besteht für 100 Euro Aufpreis die Möglichkeit, alle Schrauben und zusätzlich die Versandtasche versiegeln zu lassen. Optional bietet das Unternehmen auch an, das NitroPad und den Nitrokey getrennt voneinander zu versenden.
Ubuntu oder Qubes OS
Standardmäßig installiert Nitrokey auf dem Rechner Ubuntu 18.04 LTS. Der Hersteller verteilt das System auf drei Partitionen: eine unverschlüsselte Boot-Partition sowie verschlüsselte System- und Swap-Bereiche. Alternativ bietet das Unternehmen gegen 45 Euro Aufpreis an, die Distribution Qubes OS 4.0 aufzuspielen, die auf Basis unterschiedlich privilegierter virtueller Maschinen ein spezielles Sicherheitsmodell realisiert. Auf unserem Testgerät war das verschlüsselte Ubuntu vorinstalliert (Abbildung 2).

Abbildung 2: Die Gnome-Shell von Ubuntu auf dem NitroPad unterscheidet sich nur in einem Punkt von anderen Ubuntu-Installationen: Links in der Leiste lässt sich über das Icon die Nitrokey-App starten. Oben rechts ist die App nochmals verlinkt.
Im Lieferumfang befindet sich neben dem Notebook und einem Ladegerät das USB-Token NK Pro 2. Es enthält eine fälschungssichere OpenPGP-Karte, einen Passwort-Safe und Einmalpasswort-Funktionen. Den Nitrokey sollten Sie möglichst bei jedem Boot-Vorgang an das Gerät anstecken, der Rechner lässt sich aber auch ohne starten.
Überwachter Start
Das Sicherheitskonzept des NitroPad basiert auf einer Technik namens Measured Boot [8], die man als erweitertes Secure Boot bezeichnen könnte. Der entscheidende Unterschied: Beim Measured Boot des NitroPads bleiben die Schlüssel in Ihrer Hand und liegen nicht wie bei Secure Boot bei Microsoft, der Distribution oder einer anderen externen Stelle.
Dem von Nitrokey auf dem mitgelieferten USB-Token abgelegten und auf das System geladenen Schlüsselpaar müssen Sie nicht zwingend vertrauen, Sie können es jederzeit durch von Ihnen selbst generierte Schlüssel ersetzen.
Wie unterscheidet sich nun der Boot-Vorgang des NitroPad von dem eines üblichen Notebooks? Das NitroPad prüft bei jedem Start, ob Hardware, BIOS, Betriebssystem oder Software des Geräts in irgendeiner Weise manipuliert wurden. Dazu vergleicht das System die auf dem Gerät und die auf dem Nitrokey gespeicherten Schlüssel und Prüfsummen.
Lassen sich keine Unterschiede erkennen, wurde das Gerät wahrscheinlich nicht manipuliert. Allerdings könnte ein Angreifer hier tricksen. Deshalb leuchtet der Nitrokey während des Boot-Vorgangs auf, falls alles in Ordnung ist. Auch hier könnte ein Angreifer den Benutzer täuschen, wenn er sich vorab gleichzeitig in den Besitz des Notebooks und des Nitrokeys bringen konnte. Daraus ergibt sich, dass das Token nicht am Gerät steckenbleiben sollte, wenn das Notebook unbeaufsichtigt bleibt.
Nitrokey als dritter Faktor
Im Erfolgsfall zeigt die Sicherheits-Firmware Heads [9] beim Booten ein grau hinterlegtes Fenster, in dessen oberer Zeile am Ende die Phrase HOTP: Success steht und damit Sicherheit meldet (Abbildung 3). Im Fall einer erkannten Manipulation wäre das Fenster rot hinterlegt, und die Meldung würde auf HOTP: invalid code enden (Abbildung 4).

Abbildung 3: Die Sicherheits-Firmware Heads signalisiert mit einem grauen Hintergrund und dem Wort Success in der ersten Zeile, dass das Gerät seit dem letzten Start nicht manipuliert wurde.

Abbildung 4: Ist das Fenster von Heads beim Start des Rechners rot hinterlegt und steht in der ersten Zeile invalid code, dann ist Vorsicht geboten: Es könnte eine Manipulation stattgefunden haben.
Die Begriffe HOTP und TOTP stehen für die Standards HMAC-based One-Time Password und Time-based One-Time Password, wobei TOTP auf HOTP basiert [10]. Es handelt sich dabei um Algorithmen, die den zweiten Faktor bei der Zwei-Faktor-Authentifizierung als Zahl berechnen. Beim NitroPad erstellt die Hardware diese Werte; beim Anmelden bei Diensten im Internet übernimmt das eine App, wie beispielsweise Google Authenticator oder FreeOTP.
Alles normal
Stellt das System beim Start keine Manipulationen fest, erscheint anschließend eine Abfrage nach der Passphrase für die LUKS-Verschlüsselung. Voreingestellt muss man hier PleaseChangeMe eingeben. Danach verhält sich das NitroPad-Ubuntu genau wie die normale Distribution und fährt zunächst mit dem Abschluss der Installation und dem Erstellen des Benutzerkontos fort.
Nach Abschluss der Einrichtung folgen wir der Aufforderung, das voreingestellte LUKS-Passwort zu ändern [11]. Das gelingt am einfachsten mit der vorinstallierten App Gnome Disks. Dort wählen wir die mit LUKS bezeichnete Partition aus. Ein Klick auf das darunter zu sehende Zahnrad-Symbol bringt unter anderem die Option zum Ändern des Passworts hervor (Abbildung 5).

Abbildung 5: Wie üblich sollte man direkt nach dem ersten Start das Passwort für die Verschlüsselung ändern. Das lässt sich über die Anwendung Gnome Disks schnell erledigen.
Daneben vergeben wir auch gleich neue PINs für den Nitrokey. Dazu öffnen wir die links in der Leiste verlinkte Nitrokey-App [12] und wählen im Menü den Punkt Configure | Change User Pin. Alternativ erreicht man die Funktionen der App auch über das Icon rechts oben in der Leiste (Abbildung 6). Analog verfahren wir mit dem Admin-Pin. Damit ist unser sicheres NitroPad X230 bereit für den Einsatz. Die als Standard vergebenen PINs lauten 123456 für den User und 12345678 für den Admin [13].

Abbildung 6: Bei der Arbeit müssen Sie den Nitrokey regelmäßig verifizieren. Dazu dient eine PIN, sodass Sie nicht jedes Mal den gesamten Schlüssel eingeben müssen. Das System weist eindringlich darauf hin, dass Sie diese PIN ändern müssen, bevor Sie weiterarbeiten können.
Im Rahmen dieses Sicherheitsbündels wollen wir die letzte Schwachstelle beseitigen und dem von der Firma Nitrokey erstellten Standardschlüssel – wie jedem anderen Herstellerschlüssel auch – misstrauen, einen eigenen Schlüssel erzeugen und auf den Nitrokey aufspielen.
Hier kommt die interaktive GPG-Kommandozeilenschnittstelle ins Spiel, die wir mit dem Befehl gpg2 --card-edit aufrufen. Dann folgen wir den Anweisungen aus der Dokumentation von Nitrokey [14]. Der Schlüssel wird dabei erstellt und direkt auf den Nitrokey übertragen. Die Anleitung beschreibt weiter, wie sich der öffentliche Teil des Schlüssels bei Bedarf auf einen Schlüsselserver im Netz übermitteln lässt.
Durchgefallen
Wie bei frischen Installationen üblich, stellen wir anschließend durch eine Systemaktualisierung sicher, dass sich die Software auf dem neuesten Stand befindet. Beim darauf folgenden Reboot erscheint wie erwartet die oben erwähnte Erfolgsmeldung. Allerdings folgt darauf keineswegs der Systemstart, sondern eine Fehlermeldung, die uns informiert, dass einige Dateien bei der Überprüfung nicht verifiziert werden konnten (Abbildung 7).

Abbildung 7: Hat eine Aktualisierung wichtige Software-Komponenten erneuert, so kommt es beim nächsten Neustart zu einer Fehlermeldung. Sie warnt vor einem Boot Hash Mismatch und führt die nicht verifizierbaren Pakete auf. Ähnlich würde es bei einer Manipulation von außen aussehen, wenn beispielsweise Schadsoftware installiert wurde.
Die Fehlermeldung bezieht sich auf einige Dateien von Grub sowie die Initrd, die nicht verifiziert werden konnten: Beim Upgrade wurden eine neue Grub-Version sowie ein neuer Kernel installiert, sodass nun die Prüfsummen nicht mehr übereinstimmen. Zwar lösen nicht alle Pakete diesen Fehler aus, wohl aber kritische Komponenten wie der Bootloader, der Kernel und die Initrd.
Neue Checksummen
Das Fenster mit der Fehlermeldung erlaubt das Aktualisieren der Prüfsummen, woraufhin die Firmware im nächsten Schritt den Nitrokey initialisiert und dessen User-PIN abfragt. Dabei gilt es zu beachten, dass in der Eingabemaske von Heads noch die englische Tastaturbelegung aktiv ist. Bei Fragen mit yes oder no als Vorgabe für die Antwort müssen Sie also unbedingt [Z]+ anstatt [Y] eingeben. Nach erfolgreichem Abschluss des Durchgangs lädt das System weiter bis zum Desktop. Wurde ein neuer Kernel installiert, lässt sich dieser zuvor noch als Standard festlegen.
Das eigentliche Arbeiten mit dem NitroPad unter Ubuntu gestaltet sich nach den Vorarbeiten nicht anders als mit Ubuntu auf jedem gewöhnlichen Notebook. Anwender mit einem höheren Sicherheitsanspruch erwerben mit dem gegen Aufpreis erhältlichen Qubes OS in Verbindung mit dem Measured Boot von Nitrokey ein in Sachen Sicherheit nochmals deutlich verbessertes System. Es bietet Angreifern kaum Chancen für unauffällige Manipulationen und bewegt sich auch sicher im Netz. Das Plus an Sicherheit bedingt allerdings einigen Lernaufwand und eine nicht gerade eingängige Bedienung.
Unser Testgerät stellte sich allen Aufgaben ohne Probleme und arbeitete dabei in guter Geschwindigkeit. Der Akku hielt bei bürotypischen Tätigkeiten etwas über dreieinhalb Stunden. Dieser Artikel wurde auf dem NitroPad geschrieben, wobei die Tastatur einen guten Druckpunkt aufwies und sich insgesamt besser anfühlte als das Keyboard eines zum Vergleich herangezogenen aktuellen Thinkpads.
Fazit
Zeitgenossen, die zum angesprochenen Kreis der potenziellen Nutzer gehören, machen mit dem NitroPad X230 nichts verkehrt. Die im Test verwendete mittlere Ausstattungsvariante ist nach unserer Einschätzung ihr Geld wert – ein vergleichbar ausgestattetes Librem 13 von Purism kostet über 500 Euro mehr. Dafür gibt es dort aber ein fabrikneues Notebook mit einer zwei Generationen jüngeren CPU. Zudem bietet Purism noch Kill-Switches zum sofortigen Abschalten von WLAN, Bluetooth, Webcam und Mikrofon. Für das Gerät aus den USA fallen noch Zoll und Steuern an, bei NitroPad aus heimischer Produktion nicht. Somit erscheint das NitroPad X230 als gute Alternative, die zudem noch den Geldbeutel schont. (cla)
Infos
-
Librem 15: Ferdinand Thommes, “Linux-Notebook”, LU 10/2018, S. 80, https://www.linux-community.de/41538
-
System76: https://linuxnews.de/2019/08/system76-kuendigt-notebook-mit-coreboot-an/
-
Intel ME: https://linuxnews.de/2017/11/minix-in-der-intel-management-engine/
-
Nitrokey Pro: Frank Hofmann, Mandy Neumeyer, “Digitaler Hausschlüssel”, LU 04/2017, S. 76, https://www.linux-community.de/38124
-
Nitrokey-Shop: https://shop.nitrokey.com/de_DE/shop/product/nitropad-x230-67
-
Measured Boot: https://forums.juniper.net/t5/Security/What-s-the-Difference-between-Secure-Boot-and-Measured-Boot/ba-p/281251
-
Heads: http://osresearch.net/
-
HOTP/TOTP: https://www.michaelschuler.ch/totp-hotp-zwei-faktor-authentifizierung/
-
LUKS-PW: https://www.nitrokey.com/documentation/changing-passphrase-disk-encryption
-
Nitrokey-App: https://www.nitrokey.com/download
-
Nitrokey-PIN: https://www.nitrokey.com/documentation/change-user-and-admin-pin
-
GPG-Key: https://www.nitrokey.com/documentation/openpgp-create-on-device





