Speziell Nutzer die ver­trauliche Dat­en mit Lin­ux Work­sta­tions und Note­books bear­beit­en, entwed­er als Entwick­lung­sumge­bung oder bewusst als Alter­na­tive zu Win­dows benöti­gen einen starken Schutz der Benutzer­cre­den­tials. In meinen vorigen Beträ­gen habe ich die Zwei-Fak­toren-Benutzeri­den­ti­fizierung (2FA, Zwei-Fak­tor-Authen­tisierung) mit dem Google Authen­ti­ca­tor und mit ein­er 2FA Smart­card unter Lin­ux aus­führlich getestet und die Imple­men­tierung Schritt für Schritt beschrieben. In diesem Beitrag möchte ich einen einzi­gar­ti­gen Ansatz des öster­re­ichis­chen Her­stellers iPoxo mit dem Namen Phrase-Lock testen. Es han­delt sich um einen Blue­tooth USB-Key, der mit ein­er Smart­phone App als zweit­en Fak­tor betrieben wird.

Die Phrase-Lock Lösung ist deswe­gen einzi­gar­tig, weil die Nutzung dieser Zwei-Fak­toren Authen­tifizierung (auch 2FA, Mul­ti-Fak­tor Authen­tisierung, oder starke Benutzeri­den­ti­fizierung genan­nt) ganz ohne Kon­fig­u­ra­tionsän­derung unter Lin­ux und ohne spezielle Lin­ux Treiber des Her­stellers auskommt. Wie das funk­tion­ieren soll? Dazu später.

Einzi­gar­tig ist auch die Nutzung der Zwei-Fak­toren Meth­ode für die Lin­ux Fest­plat­ten­ver­schlüs­selung LUKS. Es ist die einzige Lin­ux 2FA Meth­ode die sofort mit LUKS / dm-crypt funk­tion­iert.

Die Kosten der Lösung für Pri­vat­nutzer beträgt 49 Euro, eine meines Eracht­ens gün­stige Investi­tion in einen sicheren 2FA Schlüs­sel­bund für alle lokalen und Web Anwen­dun­gen.

Dieser Artikel beschreibt die wichtig­sten Anwen­dungs­fälle des USB-Keys in Kom­bi­na­tion mit der Phrase-Lock Smart­phone App in Verbindung mit dem aktuellen (Stand Sep­tem­ber 2019) Ubun­tu Desk­top 19.04.

  • LUKS Disk Encryp­tion

  • Con­sole Login

  • GUI Login

  • Remote SSH Login

Imple­men­tierung: ein­fach 100%
Funk­tion­sum­fang 100%
Sicher­heit 100%

Ein kom­plett ander­er 2FA Ansatz

Ein Pass­wort ist eine Ein-Fak­toren-Authen­tisierung die nor­maler­weise gemein­sam mit dem Benutzer­na­men als “Wis­sen” beze­ich­net wird. Es gibt zahlre­iche Anwen­dun­gen wie KeeP­ass oder auch Smart­phone-Apps zur Ver­wal­tung von Benutzerken­nun­gen inklu­sive deren Pass­wörter.

Bei Phrase-Lock ver­schiebt sich dieses Wis­sen in eine Spe­icherung am Smart­phone (“Besitz”) und eine zusät­zliche Authen­tisierung mit Bio­me­trie oder einem PIN (“Iden­tität” oder “Wis­sen) schützt diese Zugangs­dat­en.

Jedoch ist es nicht so ein­fach kom­plexe Pass­worte, die man in ein­er Smart­phone App gespe­ichert hat, vom Smart­phone abzule­sen und gle­ichzeit­ig über die Tas­tatur einzugeben. Genau deswe­gen liefert der Her­steller iPoxo ein uni­verselles Verbindungstück zwis­chen dem Smart­phone und dem PC/Notebook/Tablet/Mac Client aus, den USB-Key.

Die Kon­fig­u­ra­tion des USB-Keys

Die Beson­der­heit von Phrase-Lock ist der kleine USB-Key, den man am Client fix ein­steck­en kann. Der USB-Key ist neben den Phrase-Lock Smart­phone App die wichtig­ste Kom­po­nente der Authen­tisierungslö­sung.

Tech­nisch gese­hen meldet sich der USB-Key am Betrieb­ssys­tem als zusät­zliche Tas­tatur (ein HID Device) an und wird daher von jedem Betrieb­ssys­tem automa­tisch erkan­nt. Ich selb­st habe es mit diversen Lin­ux Sys­tem, mit dem Rasp­ber­ry Pi und eini­gen Win­dows 7 und Win­dows 10 Note­books ver­bun­den. Blue­tooth im Betrieb­ssys­tem musste nicht aktiviert wer­den, da am USB Anschluss sich eine Stan­dard-Tas­tatur meldet:

Phrase-Lock-USB-HID-Tastatur

Der USB-Key wird als zusät­zliche Tas­tatur durch den orig­i­nal Treiber von Microsoft unter­stützt. Inter­es­sant ist das Microsoft Treiber­da­tum 21. Juni 2006 trotz meines aktuell­sten Win­dows 10 64-bit. 🙂

Ident ist die Nutzung unter Lin­ux, auch hier zeigt sich der Phrase-Lock USB-Key als nor­male Tas­tatur.

10_Identifikation_Phrase-Lock-USB-Key

Tägliche Nutzung der Phrase-Lock 2FA Authen­tisierung

Die fol­gen­den Kon­fig­u­ra­tio­nen habe ich in ein­er nicht pro­duk­tiv­en, virtuellen Tes­tumge­bung erstellt. Daher verzichte ich auf die Unken­ntlich­machung von Userken­nun­gen oder Details zu gespe­icherten Pass­wörtern.

Für jede Anwen­dung, die man mit der Zwei-Fak­toren-Authen­tisierung nutzen möchte, wird in der Phrase-Lock App ein Ein­trag definiert. Die App wird kosten­frei über die App-Stores von Google und Apple zur Ver­fü­gung gestellt und erfordert eine ein­ma­lige Kon­fig­u­ra­tion des USB-Keys. Da die Kon­fig­u­ra­tion sehr ein­fach ist und auf der Web­seite des Her­stellers beschrieben ist, verzichte ich auf die Erk­lärung dieser weni­gen Schritte, son­dern widme mich nur der Nutzung der Smart­phone App.

Phrase-Lock-neue-Anwendung-definieren

Im ein­fach­sten Fall füllen Sie ein­fach das Feld Account-Beze­ich­nung und 2. Pass­wort aus, um die Anmelde­dat­en ein­er Anwen­dung wie Lin­ux LUKS / dm-crypt oder ein Lin­ux Benutzerken­nwort zu spe­ich­ern.

Extra starke Pass­wörter

Die 2FA Lösung nutzt die beste­hen­den Pass­wortver­fahren von Anwen­dun­gen, hil­ft den Benutzern aber gle­ichzeit­ig extra starke Pass­wörter zu definieren. Dazu gibt es in der App eine Funk­tion zum Gener­ieren von extra starken Pass­wörtern, die man vor der ini­tialen Pass­wortver­gabe in der Anwen­dung bere­its definieren kann. Beispiel­sweise gener­iere ich hier das starke Pass­wort 0pNIWI(s8hTf1!uFjQ2A, dass ich zum späteren Zeit­punkt für den Boot-Schutz über die Lin­ux LUKS / dm-crypt Fest­plat­ten­ver­schlüs­selung nutze.

Phrase-Lock-starkes-Passwort-generieren

Zwei-Fak­toren Benutzeri­den­ti­fizierung für die Lin­ux Fest­plat­ten­ver­schlüs­selung

Das zuvor gener­ierte starke LUKS Pass­wort wird über die Phrase-Lock App und den USB-Key for­t­an für die Lin­ux Disk-Encryp­tion genutzt:

Zwei-Fak­toren Benutzeri­den­ti­fizierung für Lin­ux Con­solen Login

Die Phrase-Lock App kann beliebig viele Benutzerken­nun­gen spe­ich­ern und diese auch in Kat­e­gorien organ­isieren. Dadurch kann eine große Anzahl an Benutzerken­nun­gen für Lin­ux ver­wal­tet und ein­fach über die App bei der Anmel­dung eingegeben wer­den.

Zwei-Fak­toren Benutzeri­den­ti­fizierung für Lin­ux GUI (GDM Ober­fläche)

Die Nutzung von Phrase-Lock für den Ubun­tu Win­dow-Man­ag­er GDM ist genau so ein­fach wie für alle anderen Anwen­dun­gen, ein­fach das starke Pass­wort bei der Pass­worteingabe über den zweit­en Fak­tor die Smart­phone App eingeben:

Zwei-Fak­toren Benutzeri­den­ti­fizierung für Remote Zugriff per SSH

Auch für die Spe­icherung von SSH Pass­wörtern eignet sich Phrase-Lock. Genau wie alle anderen Zugangs­dat­en sind die Pass­wörter sich­er in der App mit Fin­ger­print oder PIN-Schutz gespe­ichert und wer­den nur bei Bedarf aktiviert.

Phrase-Lock Sicher­heit­süber­legun­gen

Aus Infor­ma­tion­ssicher­heitssicht bietet die Lösung eine Vielzahl an Vorteilen, aber auch Bedenken zur Lösung:

Erzeu­gung von extra lan­gen und sicheren Pass­wörtern durch die App

Extra lange gener­ierte Pass­wörter pro Anwen­dung unterbinden Brute-Force-Attack­en und brin­gen zusät­zlichen Schutz, da Nutzer pro Anwen­dung eigene Pass­wörter nutzen kön­nen. Speziell die Nutzung der sel­ben Pass­wörter für unter­schiedliche lokale Anwen­dun­gen und Online-App­lika­tio­nen birgt eine hohe Gefahr, soll­ten die Zugangs­dat­en ein­er Anwen­dung kom­pro­mi­tiert wer­den.

Getren­nte Spe­icherung der User-Cre­den­tial von der Anwen­dung

Die Zugangs­dat­en wer­den physisch getren­nt von der Anwen­dung oder dem Client gespe­ichert und in der Regel vom Benutzer auch nicht gemein­sam mit dem Client ver­wahrt. Dies ist deut­lich bess­er als bei der 2FA mit Smart­cards oder PKI Cryp­to-Token, wo Benutzer gerne die Smart­card in die Note­book-Tasche pack­en.

Schutz der User-Cre­den­tials in der Smart­phone-App durch Fin­ger­print oder Secu­ri­ty-PIN

Mod­erne Smart­phone haben ein Secure-Ele­ment und einen sicheren kryp­tographis­chen Spe­ich­er inte­gri­ert. Die Nutzung von Secu­ri­ty-PIN oder Fin­ger­print auf mod­er­nen Smart­phones ist eine aus­gereifte Meth­ode die gespe­icherten Zugangs­dat­en zu schützen.

Back­up der User-Cre­den­tials über geschützte Back­up-Datei

Obwohl nahezu alle Benutzer­authen­tisierun­gen auch eine Pass­wort-Reset Meth­ode imple­men­tiert haben, ist es wichtig, dass beim Ver­lust des Smart­phones die ver­wal­teten Benutzer­an­melde­dat­en auf ein neues Smart­phone über­tra­gen wer­den kön­nen. Hierzu bietet die 2FA Anwen­dung die Möglichkeit die gesamten Dat­en mit einem Back­up-Pass­wort ver­schlüs­selt in eine Back­up-Datei zu spe­ich­ern. Die Back­up-Datei sollte am File­serv­er, in der Cloud oder auf einem exter­nen Spe­icher­medi­um gespe­ichert wer­den.

Unter­stützung von TOTP Time-based One-Time Pass­word nach RFC 6238

Phrase-Lock unter­stützt neben sta­tis­chen Pass­wörtern auch Anwen­dun­gen die TOTP nach RFC 6238 oder bess­er bekan­nt den Microsoft Authen­ti­ca­tor oder Google Authen­ti­ca­tor über einen 6‑stelligen Zahlen­code unter­stützen. Bei dieser Pass­wort-Meth­ode wird ein Shared-Secret über einen QR-Code aus­ge­tauscht in in der Phrase-Lock App gespe­ichert. Zum Zeit­punkt der Benutzer­an­mel­dung wird aus der aktuellen Zeit und dem Shared-Secret der TOTP Code errech­net und über den USB-Key als Tas­tatureingabe in die Zielan­wen­dung eingegeben. Oft­mals erfol­gt der TOTP-Code als zusät­zlich­er Fak­tor ein­er Authen­tisierung.

Tas­tatureingaben kön­nen bei der Benutzung kopiert wer­den

Schnell wird man her­aus­find­en, dass die Tas­tatureingaben über die App von find­i­gen Nutzern auch in einem Edi­tor kopiert wer­den kön­nen und kein beson­deres Geheim­nis darstellen. Ja, das ist richtig. Die gespe­icherten Pass­wörter sind nicht an die Zielan­wen­dung gebun­den, son­dern kön­nen in Tex­tan­wen­dun­gen wir Word oder dem Edi­tor gele­sen wer­den, wenn diese über die Phrase-Lock App dort eingegeben wer­den.

Jede 2FA Lösung ist aber auch kein Schutz vor dem Benutzer selb­st, son­dern immer ein Schutz vor exter­nen Angreifern. Daher ist diese Gefahr in ein­er Risiko­analyse getren­nt zu bew­erten bzw. auszuschließen.