Spe­zi­ell Nut­zer die ver­trau­li­che Daten mit Linux Work­sta­tions und Note­books bear­bei­ten, ent­we­der als Ent­wick­lungs­um­ge­bung oder bewusst als Alter­na­ti­ve zu Win­dows benö­ti­gen einen star­ken Schutz der Benut­zer­creden­ti­als. In mei­nen vori­gen Beträ­gen habe ich die Zwei-Fak­to­ren-Benut­ze­r­iden­ti­fi­zie­rung (2FA, Zwei-Fak­tor-Authen­ti­sie­rung) mit dem Goog­le Authen­ti­ca­tor und mit einer 2FA Smart­card unter Linux aus­führ­lich getes­tet und die Imple­men­tie­rung Schritt für Schritt beschrie­ben. In die­sem Bei­trag möch­te ich einen ein­zig­ar­ti­gen Ansatz des öster­rei­chi­schen Her­stel­lers iPo­xo mit dem Namen Phra­se-Lock tes­ten. Es han­delt sich um einen Blue­tooth USB-Key, der mit einer Smart­pho­ne App als zwei­ten Fak­tor betrie­ben wird.

Die Phra­se-Lock Lösung ist des­we­gen ein­zig­ar­tig, weil die Nut­zung die­ser Zwei-Fak­to­ren Authen­ti­fi­zie­rung (auch 2FA, Mul­ti-Fak­tor Authen­ti­sie­rung, oder star­ke Benut­ze­r­iden­ti­fi­zie­rung genannt) ganz ohne Kon­fi­gu­ra­ti­ons­än­de­rung unter Linux und ohne spe­zi­el­le Linux Trei­ber des Her­stel­lers aus­kommt. Wie das funk­tio­nie­ren soll? Dazu später.

Ein­zig­ar­tig ist auch die Nut­zung der Zwei-Fak­to­ren Metho­de für die Linux Fest­plat­ten­ver­schlüs­se­lung LUKS. Es ist die ein­zi­ge Linux 2FA Metho­de die sofort mit LUKS / dm-crypt funktioniert.

Die Kos­ten der Lösung für Pri­vat­nut­zer beträgt 49 Euro, eine mei­nes Erach­tens güns­ti­ge Inves­ti­ti­on in einen siche­ren 2FA Schlüs­sel­bund für alle loka­len und Web Anwendungen.

Die­ser Arti­kel beschreibt die wich­tigs­ten Anwen­dungs­fäl­le des USB-Keys in Kom­bi­na­ti­on mit der Phra­se-Lock Smart­pho­ne App in Ver­bin­dung mit dem aktu­el­len (Stand Sep­tem­ber 2019) Ubun­tu Desk­top 19.04.

  • LUKS Disk Encryption

  • Con­so­le Login

  • GUI Log­in

  • Remo­te SSH Login

Imple­men­tie­rung: ein­fach 100%
Funk­ti­ons­um­fang 100%
Sicher­heit 100%

Ein kom­plett ande­rer 2FA Ansatz

Ein Pass­wort ist eine Ein-Fak­to­ren-Authen­ti­sie­rung die nor­ma­ler­wei­se gemein­sam mit dem Benut­zer­na­men als “Wis­sen” bezeich­net wird. Es gibt zahl­rei­che Anwen­dun­gen wie Kee­Pass oder auch Smart­pho­ne-Apps zur Ver­wal­tung von Benut­zer­ken­nun­gen inklu­si­ve deren Passwörter.

Bei Phra­se-Lock ver­schiebt sich die­ses Wis­sen in eine Spei­che­rung am Smart­pho­ne (“Besitz”) und eine zusätz­li­che Authen­ti­sie­rung mit Bio­me­trie oder einem PIN (“Iden­ti­tät” oder “Wis­sen) schützt die­se Zugangsdaten.

Jedoch ist es nicht so ein­fach kom­ple­xe Pass­wor­te, die man in einer Smart­pho­ne App gespei­chert hat, vom Smart­pho­ne abzu­le­sen und gleich­zei­tig über die Tas­ta­tur ein­zu­ge­ben. Genau des­we­gen lie­fert der Her­stel­ler iPo­xo ein uni­ver­sel­les Ver­bin­dungstück zwi­schen dem Smart­pho­ne und dem PC/Notebook/Tablet/Mac Cli­ent aus, den USB-Key.

Die Kon­fi­gu­ra­ti­on des USB-Keys

Die Beson­der­heit von Phra­se-Lock ist der klei­ne USB-Key, den man am Cli­ent fix ein­ste­cken kann. Der USB-Key ist neben den Phra­se-Lock Smart­pho­ne App die wich­tigs­te Kom­po­nen­te der Authentisierungslösung.

Tech­nisch gese­hen mel­det sich der USB-Key am Betriebs­sys­tem als zusätz­li­che Tas­ta­tur (ein HID Device) an und wird daher von jedem Betriebs­sys­tem auto­ma­tisch erkannt. Ich selbst habe es mit diver­sen Linux Sys­tem, mit dem Raspber­ry Pi und eini­gen Win­dows 7 und Win­dows 10 Note­books ver­bun­den. Blue­tooth im Betriebs­sys­tem muss­te nicht akti­viert wer­den, da am USB Anschluss sich eine Stan­dard-Tas­ta­tur meldet:

Phrase-Lock-USB-HID-Tastatur

Der USB-Key wird als zusätz­li­che Tas­ta­tur durch den ori­gi­nal Trei­ber von Micro­soft unter­stützt. Inter­es­sant ist das Micro­soft Trei­ber­da­tum 21. Juni 2006 trotz mei­nes aktu­ells­ten Win­dows 10 64-bit. 🙂

Ident ist die Nut­zung unter Linux, auch hier zeigt sich der Phra­se-Lock USB-Key als nor­ma­le Tastatur.

10_Identifikation_Phrase-Lock-USB-Key

Täg­li­che Nut­zung der Phra­se-Lock 2FA Authentisierung

Die fol­gen­den Kon­fi­gu­ra­tio­nen habe ich in einer nicht pro­duk­ti­ven, vir­tu­el­len Test­um­ge­bung erstellt. Daher ver­zich­te ich auf die Unkennt­lich­ma­chung von User­ken­nun­gen oder Details zu gespei­cher­ten Passwörtern.

Für jede Anwen­dung, die man mit der Zwei-Fak­to­ren-Authen­ti­sie­rung nut­zen möch­te, wird in der Phra­se-Lock App ein Ein­trag defi­niert. Die App wird kos­ten­frei über die App-Stores von Goog­le und Apple zur Ver­fü­gung gestellt und erfor­dert eine ein­ma­li­ge Kon­fi­gu­ra­ti­on des USB-Keys. Da die Kon­fi­gu­ra­ti­on sehr ein­fach ist und auf der Web­sei­te des Her­stel­lers beschrie­ben ist, ver­zich­te ich auf die Erklä­rung die­ser weni­gen Schrit­te, son­dern wid­me mich nur der Nut­zung der Smart­pho­ne App.

Phrase-Lock-neue-Anwendung-definieren

Im ein­fachs­ten Fall fül­len Sie ein­fach das Feld Account-Bezeich­nung und 2. Pass­wort aus, um die Anmel­de­da­ten einer Anwen­dung wie Linux LUKS / dm-crypt oder ein Linux Benut­zer­kenn­wort zu speichern.

Extra star­ke Passwörter

Die 2FA Lösung nutzt die bestehen­den Pass­wort­ver­fah­ren von Anwen­dun­gen, hilft den Benut­zern aber gleich­zei­tig extra star­ke Pass­wör­ter zu defi­nie­ren. Dazu gibt es in der App eine Funk­ti­on zum Gene­rie­ren von extra star­ken Pass­wör­tern, die man vor der initia­len Pass­wort­ver­ga­be in der Anwen­dung bereits defi­nie­ren kann. Bei­spiels­wei­se gene­rie­re ich hier das star­ke Pass­wort 0pNIWI(s8hTf1!uFjQ2A, dass ich zum spä­te­ren Zeit­punkt für den Boot-Schutz über die Linux LUKS / dm-crypt Fest­plat­ten­ver­schlüs­se­lung nutze.

Phrase-Lock-starkes-Passwort-generieren

Zwei-Fak­to­ren Benut­ze­r­iden­ti­fi­zie­rung für die Linux Festplattenverschlüsselung

Das zuvor gene­rier­te star­ke LUKS Pass­wort wird über die Phra­se-Lock App und den USB-Key fort­an für die Linux Disk-Encryp­ti­on genutzt:

Zwei-Fak­to­ren Benut­ze­r­iden­ti­fi­zie­rung für Linux Con­so­len Login

Die Phra­se-Lock App kann belie­big vie­le Benut­zer­ken­nun­gen spei­chern und die­se auch in Kate­go­rien orga­ni­sie­ren. Dadurch kann eine gro­ße Anzahl an Benut­zer­ken­nun­gen für Linux ver­wal­tet und ein­fach über die App bei der Anmel­dung ein­ge­ge­ben werden.

Zwei-Fak­to­ren Benut­ze­r­iden­ti­fi­zie­rung für Linux GUI (GDM Oberfläche)

Die Nut­zung von Phra­se-Lock für den Ubun­tu Win­dow-Mana­ger GDM ist genau so ein­fach wie für alle ande­ren Anwen­dun­gen, ein­fach das star­ke Pass­wort bei der Pass­wort­ein­ga­be über den zwei­ten Fak­tor die Smart­pho­ne App eingeben:

Zwei-Fak­to­ren Benut­ze­r­iden­ti­fi­zie­rung für Remo­te Zugriff per SSH

Auch für die Spei­che­rung von SSH Pass­wör­tern eig­net sich Phra­se-Lock. Genau wie alle ande­ren Zugangs­da­ten sind die Pass­wör­ter sicher in der App mit Fin­ger­print oder PIN-Schutz gespei­chert und wer­den nur bei Bedarf aktiviert.

Phra­se-Lock Sicherheitsüberlegungen

Aus Infor­ma­ti­ons­si­cher­heits­sicht bie­tet die Lösung eine Viel­zahl an Vor­tei­len, aber auch Beden­ken zur Lösung:

Erzeu­gung von extra lan­gen und siche­ren Pass­wör­tern durch die App

Extra lan­ge gene­rier­te Pass­wör­ter pro Anwen­dung unter­bin­den Bru­te-For­ce-Atta­cken und brin­gen zusätz­li­chen Schutz, da Nut­zer pro Anwen­dung eige­ne Pass­wör­ter nut­zen kön­nen. Spe­zi­ell die Nut­zung der sel­ben Pass­wör­ter für unter­schied­li­che loka­le Anwen­dun­gen und Online-Appli­ka­tio­nen birgt eine hohe Gefahr, soll­ten die Zugangs­da­ten einer Anwen­dung kom­pro­mi­tiert werden.

Getrenn­te Spei­che­rung der User-Creden­ti­al von der Anwendung

Die Zugangs­da­ten wer­den phy­sisch getrennt von der Anwen­dung oder dem Cli­ent gespei­chert und in der Regel vom Benut­zer auch nicht gemein­sam mit dem Cli­ent ver­wahrt. Dies ist deut­lich bes­ser als bei der 2FA mit Smart­cards oder PKI Cryp­to-Token, wo Benut­zer ger­ne die Smart­card in die Note­book-Tasche packen.

Schutz der User-Creden­ti­als in der Smart­pho­ne-App durch Fin­ger­print oder Security-PIN

Moder­ne Smart­pho­ne haben ein Secu­re-Ele­ment und einen siche­ren kryp­to­gra­phi­schen Spei­cher inte­griert. Die Nut­zung von Secu­ri­ty-PIN oder Fin­ger­print auf moder­nen Smart­pho­nes ist eine aus­ge­reif­te Metho­de die gespei­cher­ten Zugangs­da­ten zu schützen.

Back­up der User-Creden­ti­als über geschütz­te Backup-Datei

Obwohl nahe­zu alle Benut­zer­au­then­ti­sie­run­gen auch eine Pass­wort-Reset Metho­de imple­men­tiert haben, ist es wich­tig, dass beim Ver­lust des Smart­pho­nes die ver­wal­te­ten Benut­zer­an­mel­de­da­ten auf ein neu­es Smart­pho­ne über­tra­gen wer­den kön­nen. Hier­zu bie­tet die 2FA Anwen­dung die Mög­lich­keit die gesam­ten Daten mit einem Back­up-Pass­wort ver­schlüs­selt in eine Back­up-Datei zu spei­chern. Die Back­up-Datei soll­te am File­ser­ver, in der Cloud oder auf einem exter­nen Spei­cher­me­di­um gespei­chert werden.

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

Phra­se-Lock unter­stützt neben sta­ti­schen Pass­wör­tern auch Anwen­dun­gen die TOTP nach RFC 6238 oder bes­ser bekannt den Micro­soft Authen­ti­ca­tor oder Goog­le Authen­ti­ca­tor über einen 6‑stelligen Zah­len­code unter­stüt­zen. Bei die­ser Pass­wort-Metho­de wird ein Shared-Secret über einen QR-Code aus­ge­tauscht in in der Phra­se-Lock App gespei­chert. Zum Zeit­punkt der Benut­zer­an­mel­dung wird aus der aktu­el­len Zeit und dem Shared-Secret der TOTP Code errech­net und über den USB-Key als Tas­ta­tur­ein­ga­be in die Ziel­an­wen­dung ein­ge­ge­ben. Oft­mals erfolgt der TOTP-Code als zusätz­li­cher Fak­tor einer Authentisierung.

Tas­ta­tur­ein­ga­ben kön­nen bei der Benut­zung kopiert werden

Schnell wird man her­aus­fin­den, dass die Tas­ta­tur­ein­ga­ben über die App von fin­di­gen Nut­zern auch in einem Edi­tor kopiert wer­den kön­nen und kein beson­de­res Geheim­nis dar­stel­len. Ja, das ist rich­tig. Die gespei­cher­ten Pass­wör­ter sind nicht an die Ziel­an­wen­dung gebun­den, son­dern kön­nen in Text­an­wen­dun­gen wir Word oder dem Edi­tor gele­sen wer­den, wenn die­se über die Phra­se-Lock App dort ein­ge­ge­ben werden.

Jede 2FA Lösung ist aber auch kein Schutz vor dem Benut­zer selbst, son­dern immer ein Schutz vor exter­nen Angrei­fern. Daher ist die­se Gefahr in einer Risi­ko­ana­ly­se getrennt zu bewer­ten bzw. auszuschließen.