Keepass Keyfile

SeeD

Lt. Junior Grade
Registriert
Aug. 2009
Beiträge
451
Hallo zusammen,

ich schlage mich immer noch mit der Frage rum, ob sich ein Keyfile bei mir lohnt, bzw. wie es sinnvoll umsetzbar ist.


Hintergrund:

Ich möchte Keepass Mobil & Lokal verwenden. Die usability steht jedoch im Vordergrund, da ich sonst eh wieder Akzeptanzprobleme in der Familie habe und das ganze dann komplett begraben kann.


Derzeitige Umsetzung:

Ich habe ein Random Keyfile + Passwort und zusätzlich natürlich die Datenbank. Ob die Datenbank lokal oder in einer eigenen Cloud liegt bin ich mir noch unschlüssig. Hat für die Fragestellung des Keyfiles jedoch nur bedingt Relevanz.

Das Problem:

Ich muss das Keyfile ja z.B. auch auf einem Handy benutzen können. Daher fallen die üblichen Lösungen wie USB Stick mit Keyfile halt direkt raus. Bei Handys bleibt dann ja fast nur das lokale ablegen des Keyfiles, jedoch ist dieses dann ja im Keepass voreingstellt und liegt direkt vor. Für einen Angreifer also ein leichtes dieses direkt zu nutzen. Genauso wäre es wenn es über eine Cloud gesynct wird. Daher stellt sich für mich der Gedanke ein, ob ein Keyfile überhaupt eine sinnvolle Ergänzung dastellt.

Wie habt ihr das bei euch gelöst?


Am Ende des Tages ist das Keyfile für mich immer gefährdet, solange es nicht hinter einer zweiten Sicherheitsschwelle liegt. Denn z.B. in einer Cloud mit autoconnect oder sync wäre es für einen Hacker des Handys ja auch wieder direkt verfügbar und damit unsinnig. Und in Cloud Manuell einloggen + Keepass Login ist natürlich auch wieder aufwändig.

Ich weiß, Sicherheit und Komfort vertragen sich meist nicht...

Beste Grüße
Michael
 
Ich kenne das Problem und nutze (sehr selten) auf dem PC Keepass und (hauptsächlich) auf dem iPhone "Kypass", weil ich der kostenlosen Keepass-iOS-Alternative nicht vertraue. Allerdings nutze ich nur ein Password, das Keyfile ist nicht praktikabel, außerdem - was ist, wenn man es verliert (ist meinem Sohn passiert). Auf dem iPhone habe ich nur natürlich die Cloud abgeschalten, aber das File dort lokal zu speichern (und regelmäßig zu sichern, für den PC lesbar) ist nicht trivial.. Ich habe bisher keine bessere Lösung gefunden bzw. aus Faulheit umgesetzt (in Kypass könnte man auf eine Web-Dav-Freigabe synchen, die ich auf meinem privaten NAS einrichten könnte..) Zur Sicherheit: Das iPhone zu knacken ist für Normalos praktisch unmöglich (der gesamte Speicher ist ja verschlüsselt), der Angreifer bräuchte mein iPhone-Passwort und das KeePass-Password.. Da ich kein Industrie-Geheimnisträger oder Regierungsagent bin, reicht mir das als Schutz..
 
Das Keyfile habe ich manuell einmal auf die Endgeräte verteilt. Die Passwortdatei wird per Resilio bzw auf den Android per Webdav verteilt bzw. eingebunden.

Die Androiden sind verschlüsselt mit Pinsperre. Die Laptops ebenfalls, die Computer habe nur normales Passwörter.

Das Backend ist ein virtueller Server mit Nextcloud welches lokale Resilioordner eingebunden hat.

Wenn es ein offizielles, leichtgewichtiges Bitwarden gibt, steige ich darauf um.
 
Der Thread ist ganz nützlich dafür.
https://www.computerbase.de/forum/threads/keepassxc-keepass2android.1852503/#post-22245294

Ansonsten kannst du das Keyfile auch neu erstellen und damit ist das auf dem Handy ungültig. Bis der Angreifer deine Sperre ausgehebelt hat (was vermutlich das bedeutend größere Problem ist), hast du das Keyfile locker ungültig gemacht. Vor allem, weil er ja die Handysperre und das Kennwort vom Keepass knacken müsste. Bei gutem Keepass Kennwort, wird das nie was.
 
Geht das auch mit 2 Yubikeys (2 Slots ? - Alternativ nutzbar ?), einen hat man immer dabei und einer liegt daheim sicher in der Schublade, so ein Key ist ja schnell mal verloren..
 
SeeD schrieb:
Ob die Datenbank lokal oder in einer eigenen Cloud liegt bin ich mir noch unschlüssig. Hat für die Fragestellung des Keyfiles jedoch nur bedingt Relevanz.
Das ist gerade die entscheidende Frage. Datenbank wird manuell verteilt und liegt nur lokal vor -> Keyfile kann man sich sparen. Datenbank wird synchronisiert bzw. liegt irgendwo auf fremden Servern -> keyfile einmalig manuell verteilen. Hier hat das einen Zugewinn an Sicherheit.

SeeD schrieb:
Am Ende des Tages ist das Keyfile für mich immer gefährdet, solange es nicht hinter einer zweiten Sicherheitsschwelle liegt.
Das hat nicht direkt was mit Gefährdung zu tun. Wenn das Keyfile immer zusammen mit der Datenbank vorliegt, dann ist der Zugewinn an Sicherheit genau Null.

Und da wo das Keyfile zusammen mit der Datenbank vorliegt, also z.B. lokal auf einem Computer, da hat es natürlich entsprechend auch keinerlei Sicherheitsnutzen. Nützlich ist das ganze nur in Bezug auf die Cloud aka fremder Server.
 
Zuletzt bearbeitet: (Präzisierung)
Ich habe auch eine lokale Kopie des Keyfiles auf dem Smartphone.
Der Speicher ist verschlüsselt und meine Pin ist deutlich länger als 4 Zeichen / Ziffern.
Wenn man für die Passwortdatei noch ein starkes Passwort verwendet, ist das schon eine harte Nuss für Angreifer.
 
Mein Yubikey habe ich am Schlüsselbund, diese habe ich noch nie verloren.
Den zweiten Yubikey habe ich zuhause, der wandert immer mal an ein anderen PC, dieser war plötzlich mal weg.

Ich persönlich nutze statt Keypass Lastpass, Lastpass synchronisiert zwischen allen Geräten die ich nutze, auch dem Handy. Außerdem kann ich beliebig viele Yubikey´s einsetzen für ein Konto.
 
Zuletzt bearbeitet:
SeeD schrieb:
Ich muss das Keyfile ja z.B. auch auf einem Handy benutzen können. Daher fallen die üblichen Lösungen wie USB Stick mit Keyfile halt direkt raus.

Warum? Mit einem OTG USB Stick geht des prima.
Hab einen, der beide Anschlüsse hat.

Gruß
 
Für Apfelgeräte gibt es yubikeys (und deren Alternativen) teilweise schon mit Lightning Anschluss, für Android nimmt man einfach einen mit NFC sofern das Handy natürlich NFC unterstützt. Dann brauchst auch kein Keyfile, da der entsprechende Token (Yubikey, Feitian, Google Titan, usw. usf) dein zweiter Token ist.

Denk dran entweder alle Backup-Codes sicher aufzuverwahren und/oder direkt einen zweiten Token mitzubestellen, der ebenfalls bei allen Konten eingetragen wird sonst hast du dich sehr sehr effizient ausgesperrt wenn der genutzte Token verloren geht oder zerstört/beschädigt wird.
 
Vielleicht kann mich da ja jemand korrigieren was FIDO2 angeht, aber so wie ich das verstanden habe ist das ja so:
Der eigentliche Key kann den Stick nicht verlassen bzw. kann nicht ausgelesen werden. Das heißt aber wiederum, dass du auch kein Backup machen kannst, bzw. einen zweiten Stick mit dem selben Key initialisieren kannst.

Das heißt du kannst keinen Backup-Key erstellen, außer du hast beide parallel stets verfügbar, was den Sinn eines entsprechenden Backups doch sehr beschränkt.

Alternativ Brauchst du als Fallback eine andere Authentifizierungsmethode wenn du den Key verlierst. Aber welche nimmst du da? Und wenn diese zweite Methode ausreicht um Zugriff zu bekommen, dann kann man mehr oder minder auch gleich diese zweite verwenden, bzw. ein Angreifer würde sie dann ja einfach verwenden.

Das ganze scheint mir mehr auf die Anforderungen größerer Unternehmen zugeschnitten zu sein.
 
Du hast einen Denkfehler. Ich kaufe 2 Sticks und richte beide als zweiten Faktor bei $Dienst ein. Sodass ich mich stets anmelden kann mit Passwort oder Pin und einem der Sticks, egal welchen ich nutze. Ein Stick(1) kommt dann an den Schlüsselbund und der zweite an einen sichereren Ort, z.B. Bankschließfach oder Eltern oder Kinder oder was weiß ich, da Stick(2) ohne Passwort nutzlos.
Geht der Stick(1) am Schlüsselbund verloren, kaufe ich einen neuen Stick(3) und besorge mir Stick(2) wieder, melde mich überall mit Stick (2) an, deaktiviere/entferne Stick(1) und trage dafür Stick (3) ein. Stick(2) oder Stick (3) kommt dann wieder in sichere Verwahrung und der andere an meinen Schlüsselbund.

Ja, das ist etwas aufwendig aber hat den Charme dass zu keiner Zeit meine Accounts kompromittierbar sind und 2FA stets aktiv ist. Anstatt zweitem Stick einfach die Backup Codes aller Dienste langfristig aufbewahren aber das ist vermutlich aufwendiger nur um einmalig ~50 € zu sparen...

Alternativ gibst den zweiten Stick deinem Partner/Partnerin und er/sie nutzt diesen als ihren "Stick(1)" und dein Stick wird der Backup-Stick für sie/ihn. Schneller verfügbar als Bankschließfach und wird so genutzt.
 
Die von@snaxilian gebrachte Erklärung unterstütze ich, da auch mein Verständnis. Habe mir gestern den c´t uplink Podcast angeschaut.

Sehe ich das richtig: Erst wenn viele Webseiten wie z.B. ComputerBase die Funktion FIDO2 unterstützen, wird sich FIDO2 als deutlich bessere Alternative anbieten? Oder ist bereits heute die FIDO2 Funktion vorhanden? Woran erkenne ich, daß FIDO2 unterstützt wird?

Ein aktuelles Windows 10 und Android ab 7.0 aufwärte können laut c´t Podcast mit FIDO2 zusammenarbeiten.
 
Zuletzt bearbeitet:
Fido wird den Weg des HBCI gehen.. gut und sicher aber unpraktisch.. ich muss mindestens einen Stick dabei haben.

Ok, kann man am Schlüsselbund haben, der hängt nur am Schlüsselhaken. ( Und ist eh schon riesig). Da muss ich 10m laufen, also brauche ich nen zweiten direkt am Rechner.

Ich will mich mitm Smartphone anmelden? Brauch ich was mit NFC oder Webauthn, schränkt auch wieder ein.

Da bleibe ich lieber bei Google Authenticator.
 
Zu den Schwachstellen vom Google Authenticator schreibt Wikipedia:

"Der Authenticator speichert die mit den Servern vereinbarten Geheimnisse im Klartext in einer SQLite-Datenbank auf dem Mobilgerät. Die Sicherheit des Verfahrens hängt damit von der Sicherheit des verwendeten Betriebssystems ab. Wird diese Sicherheit durch den Anwender (beispielsweise durch das bei Smartphones anzutreffende Rooten) oder durch Sicherheitslücken im Betriebssystem kompromittiert, können die Geheimnisse ohne Wissen des berechtigten Anwenders ausgelesen und zur Berechnung von Einmalpasswörtern verwendet werden; ein Angreifer kann so den zusätzlichen Schutz durch das zweistufige Verfahren aushebeln.[6]

Wenn ein Angreifer in den physischen Besitz des Mobilgeräts gelangt, kann er -- selbst im ausgeschalteten Zustand -- die Geheimnisse aus dem Speicher auslesen, solange nicht das gesamte Gerät verschlüsselt ist.

Trotz gewisser Schwächen in den Implementierungsdetails bewirkt die Nutzung der Zwei-Faktor-Authentifizierung sogar mit dieser App einen großen Zugewinn an Sicherheit, da der Aufwand für einen Angreifer bei Einsatz dieses Verfahrens erheblich höher ist als bei einer Ein-Faktor-Authentifizierung nur über ein Passwort."

Ende des Zitats

Eine runde und sichere Lösung sieht anders aus.
 
snaxilian schrieb:
Du hast einen Denkfehler. Ich kaufe 2 Sticks und richte beide als zweiten Faktor bei $Dienst ein. Sodass ich mich stets anmelden kann mit Passwort oder Pin und einem der Sticks, egal welchen ich nutze. Ein Stick(1) kommt dann an den Schlüsselbund und der zweite an einen sichereren Ort, z.B. Bankschließfach oder Eltern oder Kinder oder was weiß ich, da Stick(2) ohne Passwort nutzlos.
Ah, einen wesentlichen Aspekt hatte ich nicht hingeschrieben wie ich gesehen habe:
Was du schreibst stimmt natürlich. Allerdings würde man als Privatperson ja vermutlich diverse Dienste absichern wollen und es kommt immer mal wieder ein Dienst dazu. Dann müsste ich mir jedes mal den (offsite) backup stick besorgen.
Andererseits könnte man ja seinen Passwortcontainer damit absichern.
 
Das Keyfile ist natürlich nur ein 2ter Faktor neben dem Kennwort und ist besonders beim synchronisierten Einsatz interessant.

Kommt die DB mal weg, ist es mit einem einfachen PW Bruteforce nicht getan, es muss auch das Keyfile geklaut werden (gleiches falls irgendwie das Kennwort kompromittiert wird).
Kommt das (entsperrte) Mobilgerät weg, müsste ein Angreifer auch noch das Kennwort kennen.

Es ist einfach ein zusätzlicher Schutz.

Am Telefon kann auch der Fingerabdruck Sensor zum entsperren genutzt werden.
 
Zurück
Oben