Neuigkeiten:

Privates MODX und LINUX BLOG, User Registrierung ist deaktiviert! Fragen oder Tipps? Bitte per Matrix: @jolichter:tchncs.de

Hauptmenü

Passwortmanager KeePassXC mit YubiKey

Begonnen von Jo, 2022-02-06 | 18:23:17

« vorheriges - nächstes »

Jo

Ein Passwortmanager ist heute eine Notwendigkeit und es gibt derer viele, mein Favorit ist der plattformübergreifend freie und quell-offener KeePassXC welcher z.B. mit einem YubiKey besonders sicher ist!
-> siehe auch Zwei-Faktor-Authentifizierung

HINWEIS, Stand 2022-02-20: Leider unterstützen nicht alle Portale lange und komplizierte Passwörter oder bieten 2FA per OTP an. Schlecht macht das z.B. die Allianz die keine Sonderzeichen zulassen oder 2FA anbieten. Auch Stromanbieter wie TEAG oder EVM bieten kein 2FA an und bei EVM sind max. nur 16 Zeichen zugelassen (Sonderzeichen eingeschränkt). Die Telekomiker Gesellschaft unterstützt ebenfalls kein 2FA (LINK), als teuerster Anbieter in DE bekommen die das nicht hin? Der Hammer war EVM: Registrierung mit einem "falschen" Sonderzeichen im Passwort ging ohne Warnung, aber das Anmelden war danach unmöglich. Bei Amazon und Google muss erst 2FA per SMS aktiviert werden, danach kann OTP aktiviert werden. Und OTTO? Zitat: "Fazit: Nutze die Zwei-Faktor-Authentifizierung, wann immer du kannst" (LINK). Selbst bietet OTTO so was nicht an... das ist ziemlich unprofessionell und gleichzeitig kommt man sich verarscht vor. Immerhin, deren "Tipps für ein sicheres Passwort" im Backend beim Passwort ändern sind OK.

Wichtig: SMS-Nachrichten werden normalerweise unverschlüsselt übertragen, was bedeutet, dass der Inhalt der Nachrichten von jemandem, der Zugriff auf das Netzwerk hat, eingesehen oder abgefangen werden kann. Daher bietet die 2FA über SMS nur begrenzten Schutz, ist aber besser als keine zusätzliche Sicherheitsebene.

KeePassXC zusammen mit einem sehr robusten YubiKey ermöglicht es euch lange und komplizierte Passwörter zu generieren und dank YubiKey kann das Master-Passwort zum öffnen einfach gehalten werden. Hinzu kommt das KeePassXC von Haus aus Zwei-Faktor-Authentifizierung (2FA) per TOTP unterstützt, indem es euch das zeitlich begrenzte Einmalkennwort generiert (OTP = One-time Password, TOTP = Time-based One-time Password).

Wird damit der Vorteil einer Zwei-Faktor-Authentifizierung (2FA) zunichte gemacht? Zum Teil ja, aber nur wenn diese in der gleichen Datenbank wie das Passwort gespeichert ist. Das KeePassXC Team ist der Meinung, dass die gemeinsame Speicherung immer noch sicherer sein kann als die Nichtverwendung von 2FA, aber um den Sicherheitsgewinn durch die Verwendung von 2FA zu maximieren, sollte man die TOTP-Secret-Daten immer in einer separaten Datenbank speichern, die mit einem anderen Passwort gesichert ist, möglicherweise sogar auf einem anderen Computer.

Das sehe ich auch so! KeePassXC mit TOTP-Secret-Daten:
  • Pro: Einfaches handhaben von 2FA und besser als keines zu nutzen.
  • Contra: Weniger sicherer, weil kein echtes 2FA.

Wer einen YubiKey zusammen mit KeePassXC nutzt dürfte damit kaum Sicherheitsbedenken haben, denn ohne diesen Hardware-Token kommt niemand an die Daten ran. Extrem Sicherheitsbewusste sollten das OTP Feature vom YubiKey getrennt vom KeePassXC nutzen. Die TOTP-Secret-Daten werden dann anstatt auf einem Computer im YubiKey selbst gespeichert und das Einmalkennwort kann mit dem Yubico Authenticator generiert werden - siehe yubioath-desktop welcher auch in den offiziellen Manjaro Paketquellen enthalten ist. Dieses muss für jeden YubiKey extra eingerichtet werden.



KeePassXC gibt es für Linux, iOS und Windows (auch als Portable Version). KeePassXC, YubiKey Manager und Yubico Authenticator (OTP) für Linux Manjaro installieren:
sudo pacman -S keepassxc yubikey-manager-qt yubioath-desktop
Der Yubikey Authenticators kommuniziert am PC per USB oder einfach über NFC, z.B. mit dem ReinerSCT CyberJack NFC-Leser ab Version 2.7  :azn:

Passwörter sind eine Pest und jeder hasst sie zu Recht, bisher leider ein notwendiges übel. Der neue Standard FIDO2 verspricht, Passwörter überflüssig zu machen. FIDO2-Authentifizierung mit WebAuthn ermöglicht eine passwortlose Anmeldung derzeit z.B. an: Google, Microsoft 365, MS Teams, Joomla, Roundcube (Plugin) oder Nextcloud. Wäre cool wenn sich das auch bei anderen Diensten durchsetzt. Damit macht das Einloggen Spaß, leider leben unsere Banken mit ihren photoTAN und mobileTAN noch im letzten Jahrzehnt.

Der YubiKey 5 NFC z.B. verfügt über sehr umfangreiche Features, die per YubiKey-Manager aktiviert und deaktiviert werden können, je nachdem was der Benutzer benötigt. Support für WebAuthn, FIDO2, FIDO U2F, OTP, OATH, PIV, OpenPGP und Challenge-Response (wichtig für KeePassXC).

Beim YubiKey sollte als erstes per YubiKey Manager der Personal Identity Verification (PIV) geändert werden. PIN und PUK sind standardmäßig von YubiKey auf 123456 und 12345678 festgelegt (CheckBox "Use default" zeigt das an). Danach kann die Funktion ,,Management Key" deaktiviert werden, indem die CheckBox "Protect with PIN" ausgewählt wird, zuerst muss dafür ein "New Management Key" generiert werden (Algorithm z.B. TDES) welches ihr mit eurer PIN bestätigt. Dann den FIDO2 PIN und das Challenge-Response einrichten.

Mit Challenge-Response wird der YubiKey zur Verwendung mit KeePassXC konfiguriert. Dieser Schlüssel muss unbedingt sehr sicher aufbewahrt werden und kann für ein Backup YubiKey genutzt werden. Eine Papierkopie an einem sicheren Ort und ein zweiter YubiKey sollte daher Pflicht sein. Ein YubiKey ist sehr robust aber kann dennoch kaputt oder verloren gehen. Wichtig: Ein YubiKey ist nicht kopierbar und ohne diesen kann der Passwortmanager nicht entschlüsselt werden. Die Schlüssel können nur gespeichert werden, jedoch nicht gelesen!

Der YubiKey 5 NFC verfügt über 2 Slots, die unabhängig voneinander konfigurieren können. So funktioniert der Key praktisch wie zwei separate Schlüssel (bei Lieferung ist Slot 1 mit dem Yubico OTP konfiguriert). Der Slot2 kann z.B. für Challenge-Response und dem Passwortmanager genutzt werden. YubiKey Slots:
  • kurze Berührung = Funktion Slot 1, z.B. für OTP
  • lange Berührung = Funktion Slot 2, z.B. für Challenge-Response

Alles in der "KeePassXC Documentation and FAQ" auf englisch, in deutsch auf Stefan's Weblog oder The Morpheus Tutorials (YouTube) erklärt.

Gut zu Wissen: Leider ist bei Yubico nicht alles Open-Source, dabei verwenden sie Open-Source-Software wie OpenPGP, dem eigenen YubiKey-Manager oder Yubico Authenticator. Aus Sicherheitsgründen kann Software auf dem YubiKey weder ausgelesen noch verändert werden. Der verwendete Kryptoprozessor von Infineon wird in Deutschland hergestellt, dieser Hardware Code ist nicht Open-Source. Im Oktober 2017 wurde ein Sicherheitsproblem bekannt und betroffene Geräte von Yubico wurden kostenfrei ersetzt.



2022-Februar, das neue Firefox-Profil behindert das KeePassXC-Addon und WebAuthn in Verbindung mit Firejail. Solltet ihr auch das Problem in der Sandbox haben, könnt ihr diese Config erstellen/anpassen:
mkdir ~/.config/firejail/dann mit einem Editor öffnen:
kate ~/.config/firejail/firefox.localund diese Zeilen eintragen:
# Allow KeePassXC addon
# NOTE: start KeePassXC before Firefox and keep it open to allow communication between them.
noblacklist ${RUNUSER}/app
whitelist ${RUNUSER}/kpxc_server
whitelist ${RUNUSER}/org.keepassxc.KeePassXC.BrowserServer
#
# FIDO2 devices will work in a browser that supports WebAuthn
# I have set ignore nou2f, this allows U2F devices to be used in the browser
# Testpage: https://demo.yubico.com/webauthn-technical/registration
ignore nou2f
Quellen: github.com/netblue30/firejail/issues/3952 und github.com/netblue30/firejail/discussions/5444


Wichtig: Wer sich noch nie damit beschäftigt hat, sollte unbedingt sich die Zeit dafür nehmen und erst nur mit einer verschlüsselten Test-Datenbank den KeePassXC mit dem YubiKey testen. Habt ihr dann den YubiKey erfolgreich getestet und
  • ein Backup der verschlüsselten Datenbank auf einem anderen PC und/oder vertrauensvoller Cloud abgelegt, welches hier wieder herstellen konntet
  • die PIV als auch den Challenge-Response Schlüssel auf Papier an einem sicheren Ort deponiert habt und damit einen anderen YubiKey einrichten konntet

spricht kaum was dagegen den Passwortmanager für alle Passwörter zu nutzen?


Links:


Nachtrag: Ein Android Gerät mit einem YubiKey 5C NFC und Keepass2Android eine KeePassXC DB (*.kdbx) mit Challenge/Response (push required) öffnen.

Der Keepass2Android (kurz K2A) ist ein OpenSource Passwort-Manager für Android von Philipp Crocoll, ein deutscher Hobby Entwickler aus Karlsruhe. K2A kann von Haus aus Challenge-Response Authentifizierung, benötigt aber noch einen Provider zum Zugriff auf NFC, den USB- und NFC-Treiber ykDroid, welcher auch OpenSource ist.

Vorgehensweise (getestet mit Android 13): Wähle die Datenbankdatei aus, als Master-Passwort-Typ wähle "Passwort + Challenge-Response mit KeePass XC". Gebe das Master-Kennwort ein und wähle anschließend "OTP-HILFSDATEI LADEN...". K2A fragt nun nach dem YubiKey, wähle Slot 1 oder 2 welchen ihr für Challenge-Response eingerichtet habt und lege den YubiKey in die Nähe des NFC-Readers an (funktioniert auch mit dem dem USB-C Anschluss), dann das Kennwort frei geben.

PS: OTP-HILFSDATEI LADEN...? Nun, da muss man erst mal drauf kommen, bei KeePassXC nennt sich das "Hardwareschlüssel" :azn:



Update 2024-April: KeePassXC 2.7.7 bietet nun Unterstützung für Passkeys. Diese Funktion baut auf der vorhandenen Browser-Integration auf, um Passkeys zur Authentifizierung zu speichern und zu verwenden (siehe Menü -> Datenbank -> Passkeys...). Um die Passkey-Unterstützung zu aktivieren, musst du die Option "Passkeys aktivieren" auf der Einstellungsseite der Browsererweiterung einschalten.


Jo

#1
Ältere YubiKeys haben eine nicht behebbare Sicherheitslücke – aber sie ist schwer auszunutzen

Im Jahr 2024 wurde eine Sicherheitslücke in bestimmten YubiKey-Modellen entdeckt. Diese Schwachstelle betrifft die ECDSA-Implementierung in der kryptografischen Bibliothek von Infineon, die in YubiKey 5 Series und YubiHSM 2 mit Firmware-Versionen vor 5.7.0 bzw. 2.4.0 verwendet wird.

Um diese Schwachstelle auszunutzen, muss der Angreifer physischen Zugriff auf den betroffenen YubiKey haben. Der Angriff basiert auf sogenannten Seitenkanaltechniken, bei denen Informationen aus der Hardware durch physikalische Beobachtungen – wie Stromverbrauch oder elektromagnetische Emissionen – extrahiert werden. Auf diese Weise könnte es möglich sein, private Schlüssel zu rekonstruieren. Dafür ist jedoch hochgradig spezialisiertes technisches Know-how erforderlich – etwas, das ich derzeit nur großen Organisationen zutraue.

Es ist wichtig zu betonen:

  • Ein Fernangriff ist nicht möglich. Der YubiKey muss sich physisch im Besitz des Angreifers befinden.
  • Der Angriff ist komplex und erfordert spezielles Equipment sowie Fachwissen. Es handelt sich also nicht um eine triviale oder weit verbreitete Angriffsmethode.
  • Nutzer können sich schützen, indem sie ihre YubiKeys sicher aufbewahren und den physischen Zugriff durch Dritte verhindern.
  • Die Challenge-Response-Funktion des YubiKeys nutzt in der Regel HMAC-SHA1 oder HMAC-SHA256 zur Berechnung der Antworten. Da diese Funktion nicht auf ECDSA basiert, ist sie von der spezifischen Schwachstelle in der ECDSA-Implementierung nicht betroffen. Daher bleibt die Verwendung der Challenge-Response-Funktion mit KeePass auch bei älteren YubiKeys sicher.

Falls ein YubiKey verloren geht oder gestohlen wird, sollten betroffene Nutzer umgehend alle verknüpften Konten aktualisieren und den YubiKey aus den Sicherheitseinstellungen entfernen.

Natürlich ist es in jedem Fall ratsam, dies zu tun. Ein YubiKey – oder ähnliche Sicherheitstoken – sollte stets sicher aufbewahrt werden, ähnlich wie ein Haustürschlüssel. Allerdings bietet der YubiKey durch seine starke Authentifizierung ein höheres Maß an Sicherheit, da er – im Gegensatz zum Haustürschlüssel – nicht einfach "geknackt" werden kann. Ein Haustürschlüssel kann verloren gehen oder leicht kopiert werden – der YubiKey hingegen ist selbst bei Verlust schwer zu kompromittieren.

Ich möchte das nicht beschönigen – besonders, da Yubico meiner Meinung nach nicht angemessen auf diese Entdeckung reagiert hat. Angesichts der heutigen Komplexität ist es nahezu unvermeidlich, dass in jeder Hardware oder Software früher oder später Schwachstellen entdeckt werden. Deshalb sollte Software stets aktuell gehalten werden – ,,Never change a running system" ist heute schlicht fahrlässig. Sicherheits-Hardware, insbesondere wenn sie für sensible Daten genutzt wird, sollte alle paar Jahre ausgetauscht werden.

Gerade bei der Sicherheits-Hardware zeigt sich die Schwachstelle von Yubico – ironischerweise liegt sie in dem, was sonst die größte Stärke des YubiKeys ist. Ein Firmware-Update ist nicht möglich, da das Gerät nicht beschrieben werden kann. Dies verhindert zwar, dass Hacker eine eigene Firmware installieren, bedeutet aber auch, dass Sicherheitslücken nicht nachträglich geschlossen werden können. Es ist, als würde man die Tür zur Hölle versiegeln, aber dabei den Schlüssel zum Himmel verlieren. :evil:

Nun, wie hat Yubico darauf reagiert?

ZitatAb dem 21. Mai 2024 hat Yubico YubiKeys mit Firmware-Version 5.7 und neuer veröffentlicht. Diese Modelle nutzen eine eigene, verbesserte kryptografische Bibliothek und sind nicht von der Schwachstelle betroffen. Da ältere YubiKeys nicht durch Firmware-Updates aktualisiert werden können, rät Yubico Nutzern, ihre Geräte sicher aufzubewahren. Im Falle von Verlust oder Diebstahl sollten alle betroffenen Schlüssel umgehend aus den verbundenen Konten entfernt werden.

Für Nutzer mit höchsten Sicherheitsanforderungen empfiehlt es sich, auf die neuesten YubiKey-Modelle mit aktueller Firmware umzusteigen, um potenzielle Risiken zu minimieren.

Da dieses Risiko nach dem Common Vulnerability Scoring System (CVSS) als ,,moderat" eingestuft wurde und da der Besitz Ihres YubiKey und dessen sofortige Abmeldung bei Verlust oder Diebstahl dieses Risiko wirksam mindern kann, haben wir kein aktives Schlüsselersatzprogramm.

Gerade weil der YubiKey als besonders sicheres und vertrauenswürdiges Sicherheitsgerät beworben wird, ist es enttäuschend und frustrierend, dass der einzige Ausweg der Austausch gegen ein neueres Modell ist – da die Schwachstelle weder behoben noch per Patch geschlossen werden kann. Ein faires Angebot oder Rabatt für betroffene Kunden wäre hier zumindest angemessen gewesen.


Quellen: