Speziell Nutzer die vertrauliche Daten mit Linux Workstations und Notebooks bearbeiten, entweder als Entwicklungsumgebung oder bewusst als Alternative zu Windows benötigen einen starken Schutz der Benutzercredentials. In meinen vorigen Beträgen habe ich die Zwei-Faktoren-Benutzeridentifizierung (2FA, Zwei-Faktor-Authentisierung) mit dem Google Authenticator und mit einer 2FA Smartcard unter Linux ausführlich getestet und die Implementierung Schritt für Schritt beschrieben. In diesem Beitrag möchte ich einen einzigartigen Ansatz des österreichischen Herstellers iPoxo mit dem Namen Phrase-Lock testen. Es handelt sich um einen Bluetooth USB-Key, der mit einer Smartphone App als zweiten Faktor betrieben wird.
Die Phrase-Lock Lösung ist deswegen einzigartig, weil die Nutzung dieser Zwei-Faktoren Authentifizierung (auch 2FA, Multi-Faktor Authentisierung, oder starke Benutzeridentifizierung genannt) ganz ohne Konfigurationsänderung unter Linux und ohne spezielle Linux Treiber des Herstellers auskommt. Wie das funktionieren soll? Dazu später.
Einzigartig ist auch die Nutzung der Zwei-Faktoren Methode für die Linux Festplattenverschlüsselung LUKS. Es ist die einzige Linux 2FA Methode die sofort mit LUKS / dm-crypt funktioniert.
Die Kosten der Lösung für Privatnutzer beträgt 49 Euro, eine meines Erachtens günstige Investition in einen sicheren 2FA Schlüsselbund für alle lokalen und Web Anwendungen.
Dieser Artikel beschreibt die wichtigsten Anwendungsfälle des USB-Keys in Kombination mit der Phrase-Lock Smartphone App in Verbindung mit dem aktuellen (Stand September 2019) Ubuntu Desktop 19.04.
Ein komplett anderer 2FA Ansatz
Ein Passwort ist eine Ein-Faktoren-Authentisierung die normalerweise gemeinsam mit dem Benutzernamen als “Wissen” bezeichnet wird. Es gibt zahlreiche Anwendungen wie KeePass oder auch Smartphone-Apps zur Verwaltung von Benutzerkennungen inklusive deren Passwörter.
Bei Phrase-Lock verschiebt sich dieses Wissen in eine Speicherung am Smartphone (“Besitz”) und eine zusätzliche Authentisierung mit Biometrie oder einem PIN (“Identität” oder “Wissen) schützt diese Zugangsdaten.
Jedoch ist es nicht so einfach komplexe Passworte, die man in einer Smartphone App gespeichert hat, vom Smartphone abzulesen und gleichzeitig über die Tastatur einzugeben. Genau deswegen liefert der Hersteller iPoxo ein universelles Verbindungstück zwischen dem Smartphone und dem PC/Notebook/Tablet/Mac Client aus, den USB-Key.
Die Konfiguration des USB-Keys
Die Besonderheit von Phrase-Lock ist der kleine USB-Key, den man am Client fix einstecken kann. Der USB-Key ist neben den Phrase-Lock Smartphone App die wichtigste Komponente der Authentisierungslösung.
Technisch gesehen meldet sich der USB-Key am Betriebssystem als zusätzliche Tastatur (ein HID Device) an und wird daher von jedem Betriebssystem automatisch erkannt. Ich selbst habe es mit diversen Linux System, mit dem Raspberry Pi und einigen Windows 7 und Windows 10 Notebooks verbunden. Bluetooth im Betriebssystem musste nicht aktiviert werden, da am USB Anschluss sich eine Standard-Tastatur meldet:
Der USB-Key wird als zusätzliche Tastatur durch den original Treiber von Microsoft unterstützt. Interessant ist das Microsoft Treiberdatum 21. Juni 2006 trotz meines aktuellsten Windows 10 64-bit. 🙂
Ident ist die Nutzung unter Linux, auch hier zeigt sich der Phrase-Lock USB-Key als normale Tastatur.
Tägliche Nutzung der Phrase-Lock 2FA Authentisierung
Für jede Anwendung, die man mit der Zwei-Faktoren-Authentisierung nutzen möchte, wird in der Phrase-Lock App ein Eintrag definiert. Die App wird kostenfrei über die App-Stores von Google und Apple zur Verfügung gestellt und erfordert eine einmalige Konfiguration des USB-Keys. Da die Konfiguration sehr einfach ist und auf der Webseite des Herstellers beschrieben ist, verzichte ich auf die Erklärung dieser wenigen Schritte, sondern widme mich nur der Nutzung der Smartphone App.
Im einfachsten Fall füllen Sie einfach das Feld Account-Bezeichnung und 2. Passwort aus, um die Anmeldedaten einer Anwendung wie Linux LUKS / dm-crypt oder ein Linux Benutzerkennwort zu speichern.
Extra starke Passwörter
Die 2FA Lösung nutzt die bestehenden Passwortverfahren von Anwendungen, hilft den Benutzern aber gleichzeitig extra starke Passwörter zu definieren. Dazu gibt es in der App eine Funktion zum Generieren von extra starken Passwörtern, die man vor der initialen Passwortvergabe in der Anwendung bereits definieren kann. Beispielsweise generiere ich hier das starke Passwort 0pNIWI(s8hTf1!uFjQ2A, dass ich zum späteren Zeitpunkt für den Boot-Schutz über die Linux LUKS / dm-crypt Festplattenverschlüsselung nutze.
Zwei-Faktoren Benutzeridentifizierung für die Linux Festplattenverschlüsselung
Das zuvor generierte starke LUKS Passwort wird über die Phrase-Lock App und den USB-Key fortan für die Linux Disk-Encryption genutzt:
Zwei-Faktoren Benutzeridentifizierung für Linux Consolen Login
Die Phrase-Lock App kann beliebig viele Benutzerkennungen speichern und diese auch in Kategorien organisieren. Dadurch kann eine große Anzahl an Benutzerkennungen für Linux verwaltet und einfach über die App bei der Anmeldung eingegeben werden.
Zwei-Faktoren Benutzeridentifizierung für Linux GUI (GDM Oberfläche)
Die Nutzung von Phrase-Lock für den Ubuntu Window-Manager GDM ist genau so einfach wie für alle anderen Anwendungen, einfach das starke Passwort bei der Passworteingabe über den zweiten Faktor die Smartphone App eingeben:
Zwei-Faktoren Benutzeridentifizierung für Remote Zugriff per SSH
Auch für die Speicherung von SSH Passwörtern eignet sich Phrase-Lock. Genau wie alle anderen Zugangsdaten sind die Passwörter sicher in der App mit Fingerprint oder PIN-Schutz gespeichert und werden nur bei Bedarf aktiviert.
Phrase-Lock Sicherheitsüberlegungen
Aus Informationssicherheitssicht bietet die Lösung eine Vielzahl an Vorteilen, aber auch Bedenken zur Lösung:
Erzeugung von extra langen und sicheren Passwörtern durch die App
Extra lange generierte Passwörter pro Anwendung unterbinden Brute-Force-Attacken und bringen zusätzlichen Schutz, da Nutzer pro Anwendung eigene Passwörter nutzen können. Speziell die Nutzung der selben Passwörter für unterschiedliche lokale Anwendungen und Online-Applikationen birgt eine hohe Gefahr, sollten die Zugangsdaten einer Anwendung kompromitiert werden.
Getrennte Speicherung der User-Credential von der Anwendung
Die Zugangsdaten werden physisch getrennt von der Anwendung oder dem Client gespeichert und in der Regel vom Benutzer auch nicht gemeinsam mit dem Client verwahrt. Dies ist deutlich besser als bei der 2FA mit Smartcards oder PKI Crypto-Token, wo Benutzer gerne die Smartcard in die Notebook-Tasche packen.
Schutz der User-Credentials in der Smartphone-App durch Fingerprint oder Security-PIN
Moderne Smartphone haben ein Secure-Element und einen sicheren kryptographischen Speicher integriert. Die Nutzung von Security-PIN oder Fingerprint auf modernen Smartphones ist eine ausgereifte Methode die gespeicherten Zugangsdaten zu schützen.
Backup der User-Credentials über geschützte Backup-Datei
Obwohl nahezu alle Benutzerauthentisierungen auch eine Passwort-Reset Methode implementiert haben, ist es wichtig, dass beim Verlust des Smartphones die verwalteten Benutzeranmeldedaten auf ein neues Smartphone übertragen werden können. Hierzu bietet die 2FA Anwendung die Möglichkeit die gesamten Daten mit einem Backup-Passwort verschlüsselt in eine Backup-Datei zu speichern. Die Backup-Datei sollte am Fileserver, in der Cloud oder auf einem externen Speichermedium gespeichert werden.
Unterstützung von TOTP Time-based One-Time Password nach RFC 6238
Phrase-Lock unterstützt neben statischen Passwörtern auch Anwendungen die TOTP nach RFC 6238 oder besser bekannt den Microsoft Authenticator oder Google Authenticator über einen 6‑stelligen Zahlencode unterstützen. Bei dieser Passwort-Methode wird ein Shared-Secret über einen QR-Code ausgetauscht in in der Phrase-Lock App gespeichert. Zum Zeitpunkt der Benutzeranmeldung wird aus der aktuellen Zeit und dem Shared-Secret der TOTP Code errechnet und über den USB-Key als Tastatureingabe in die Zielanwendung eingegeben. Oftmals erfolgt der TOTP-Code als zusätzlicher Faktor einer Authentisierung.
Tastatureingaben können bei der Benutzung kopiert werden
Schnell wird man herausfinden, dass die Tastatureingaben über die App von findigen Nutzern auch in einem Editor kopiert werden können und kein besonderes Geheimnis darstellen. Ja, das ist richtig. Die gespeicherten Passwörter sind nicht an die Zielanwendung gebunden, sondern können in Textanwendungen wir Word oder dem Editor gelesen werden, wenn diese über die Phrase-Lock App dort eingegeben werden.
Jede 2FA Lösung ist aber auch kein Schutz vor dem Benutzer selbst, sondern immer ein Schutz vor externen Angreifern. Daher ist diese Gefahr in einer Risikoanalyse getrennt zu bewerten bzw. auszuschließen.
Hinterlasse einen Kommentar
Du musst angemeldet sein, um einen Kommentar schreiben zu können.