Ich habe in den letzten Jahren viele der Empfehlungen umgesetzt aber beim Passwortmanager KeepAss und Synchronisierung zwischen Server, Laptop und android habe ich ein arges Problem: Ich arbeite nicht mit Masterpasswort sondern mit Schlüsseldatei. Im LAN ist das ok aber auf dem android sehr umständlich wenn ich zum Entsperren immer erst eine VPN-Verbindung nach Hause aufbauen muß. Nach Kuketz-Empfehlung habe ich ein Pixel 5 mit LineageOS und Fingerprint-sensor. Wie bekomme ich es nun hin, dass die selbe Datenbank auf dem android mit Fingerabdruck und im LAN mit Schlüsseldatei geöfnet werden kann? Ein ausreichend sicheres Masterpasswort kann ich mir nicht merken…. Dank & Gruß
Das ist doch schon mal ein Anfang für ein Masterpasswort: 1asMPkimnm!
Dazu noch ein oder zwei andere Sätze hinterher.
Ich habe übrigens meine Schlüsseldatei auch auf dem Smartphone, muss mir halt den Weg dahin gut merken, um sie wiederzufinden.
Und ich benötige das Masterpasswort und die Schlüsseldatei.
Normalerweise arbeitet man mit beiden. KeePassXC betrachtet die Schlüsseldatei als gleichwertigen Bestandteil des Schutzes und nicht als Ersatz. Wenn sie allein verwendet wird, reduziert sich das Sicherheitsmodell auf ein einziges Objekt, das sich kopieren oder entwenden lässt, ohne dass ein zusätzliches Geheimnis nötig wäre. Bei Verwendung eines Masterpassworts und einer Schlüsseldatei können Angreifer die KDBX-Datei nicht offline bruteforcen, weil ihnen ein zwingender Teil des Schlüssels fehlt. Genau dafür ist die Schlüsseldatei als zweiter Faktor gedacht.
Genau das habe ich eine Zeit lang gemacht und ich habe auch nur einen subset meiner Passwörter auf dem handy gehabt. Das war mir zu unsicher/kompliziert und ich stelle gerade um auf alle Passwörter, d.h. nur noch die gleiche Keepass DB auf allen Geräten und die Schlüsseldatei anhängig vom Sicherheitsbedarf. Am laptop hatte ich eine SD-Karte und fürs handy noch nix. Ich dachte/wollte fallweise mit VPN auf die Schlüsseldatei zugreifen aber das geht anscheinend am ungerooteten handy nicht (mehr?). Andere Appzugänge habe ich mittlerweile auf Fingerabdruck umgebaut und das wäre mir auch für Keepass das Liebste. Geht aber wohl nicht alleine und ich muß auf Plan B = USB-Stick mit der Schlüsseldatei umsteigen. Ungut, denn damit muß ich zusätzlich auf nen Stick aufpassen/aufbewahren wenn ich unterwegs bin…
Danke, leider bin ichzum fehlerfreien tippen am handy zu blöd…
Wo liegt denn deine KeyPass-Datenbank und welche App benutzt du auf deinem Smartphone, um die Datenbank zu öffnen? Wir reden schon von nur einer Datenbank, die sowohl auf deinen Desktop-PCs bzw. deinem Laptop als auch auf deinem Smartphone synchronisiert wird? Wir reden nicht von unterschiedlichen Datenbanken? Wenn eine Datenbank mit einem Keyfile gesichert ist, brauchst du zum Öffnen der Datenbank das Keyfile. Egal, wo du sie öffnest. Aus der Nummer kommst du nicht raus.
Aber gar kein Passwort zu verwenden, ist auch keine Lösung. Ich weiß nicht, welche Komfortmerkmale dein Smartphone besitzt, aber bei meinem iPhone habe ich ein kryptisches App-Passwort (KeePassium) und entsperre die App per Biometrie. Somit habe ich ein starkes Passwort, das ich aber nie selbst eingeben muss. Das Masterpasswort der Datenbank selbst (und auch das Keyfile) ist dann in der App hinterlegt.
Habe mich mißverständlich ausgedrückt: Überall die gleichen Inhalte aber DB mit unterschiedlichen Namen je Gerät. Ab und nutze ich nach lokalen Änderungen die Funktion “Zusammenführen” auf meinem Laptop und backup auf einem server im LAN. Manuell, da ich syncthing ansonsten nicht brauche. Am handy nutze ich KeepassDX.
Gar kein Passwort kommt natürlich nicht In Frage aber auf dem handy das keyfile durch Fingerabdruck zu ersetzen habe ich schon überlegt (s.o.).
Wieso mußt Du das kryptische Passwort nie eingeben bzw. was nutzt das dann zusätzlich zum Fingerabdruck?
Wenn KeePassium (oder eine andere App) ein Passwort speichert, wird es z.B. auf einem iPhone verschlüsselt in der iOS-Keychain abgelegt. Der dafür benötigte Entschlüsselungsschlüssel steht dabei unter Kontrolle der Secure Enclave. Beim Entsperren prüft die Secure Enclave die biometrischen Merkmale über Face ID oder Touch ID und gibt den Entschlüsselungsschlüssel nur bei erfolgreicher Authentifizierung frei. Anschließend entschlüsselt das System den Keychain-Eintrag und stellt KeePassium das Passwort bereit.
Auf Android-Geräten und anderen Betriebssystemen funktioniert das Prinzip sehr ähnlich, auch wenn die technische Architektur anders aufgebaut ist: Die Systeme speichern jedoch in allen Fällen Passwörter nicht direkt, sondern legen verschlüsseltes Schlüsselmaterial in einem geschützten Bereich ab. Ein separater, hardwaregestützter Sicherheitsbereich erlaubt die Freigabe des benötigten Entschlüsselungsschlüssels erst nach einer erfolgreichen biometrischen Prüfung.
Das Passwort muss also nur einmal manuell eingegeben werden. Anschließend wird es verschlüsselt im jeweiligen Systemspeicher abgelegt. Künftig sorgt die Hardware-Sicherheitskomponente des Geräts (z.B. die Secure Enclave auf iOS oder das TEE bzw. Secure Element auf Android) dafür, dass der zum Entschlüsseln benötigte Schlüssel nur nach erfolgreicher Authentifizierung freigegeben wird. So kann die App das Passwort wieder nutzen, ohne das du es erneut eingeben musst.
Ok, danke. Spannende Frage: Was passiert nun, wenn ich die handy-DB, die ja nun mit einem unknackbaren Hauptpasswort sowie der keifile gesichert ist, mit einer DB im LAN zusammenführe? Wird dieses Hauptpasswort mit übernommen oder bleibt die LAN-DB (wie gewünscht) nur im keyfile-Schutz?
Wie @Cyberduck schon sagte, spricht m.E. nichts dagegen, die Schlüsseldatei (sollte immer nur der 2. Faktor sein) auf allen Clients lokal zu hinterlegen. Genau das ist auch der Usecase: Wenn die KDBX-Datei remote erreichbar ist (z.B. in einer Cloud), sollte die Schlüsseldatei nur lokal abgelegt werden. Aber nicht zwingend auf einem externen Datenträger, sondern ohne dramatischen Sicherheitsverlust auch gerne im internen Speicher des Clients.
Auf der anderen Seite: Wenn die Passwortdatenbank nur lokal gehändelt wird, bringt eine zusätzliche Schlüsseldatei, die „daneben“ liegt, höchstens gefühlte Sicherheit.
So hatte ich das auch verstanden. In meinem Fall ist die Anforderung ja so, daß auf dem android mit Masterpasswort und Fingerabdruck gesichert werden soll und auf den Geräten im LAN nur mit der Schlüsseldatei, die natürlich woanders liegt. Dank Cyberduck passt das jetzt auf dem android aber offen ist noch die Frage was beim Zusammenführen von unterschiedlich abgesicherten DBs passiert.
Also - die Einstellung ob Biometrie ja oder nein, ob Öffnen der DB mit Biometrie oder nur Entsperren der mit Masterpasswort (und 2FA) geöffneten DB, erfolgt ja in der Android-App fpr eine existierende DB (jedenfalls bei Keepass2Android).
Die Biometrie “umgeht” quasi die bei der Erstellung der DB gewählte Anmeldeeinstellung.
Öffne ich die gleiche DB am PC (bei mir mit Keepass), dann wird mangels Biometrie das angefordert, was beim Erstellen der DB gewählt wurde. Bei mir also Masterpasswort + Keyfile.
Da gabs noch nie Probleme.
Bei KeepassDX, das mehr Möglichkeiten der 2FA bietet, ist es nicht anders. Die DB muss so abgesichert werden, dass sie ohne Biometrie zu öffnen ist, es sei denn am PC / Laptop ist entsprechende Hardware vorhanden.
Also “fange” ich mir durch Zusammenführung ein Masterpassword vom android ein obwohl ich vorher auf dem LAN-Gerät nur ein keyfile hatte? Wäre ganz blöd, denn dann müsste ich mir ja das unknackbare Masterpasswort merken und jedesmal am LAN-Gerät eingeben…
Für Deinen speziellen Fall empfehle ich Dir Testdateien, mit denen Du Deine Vorgaben und ihre Auswirkungen beim Abgleichen testest.
Ich hab noch NIE eine Passwortdatenbank ohne Masterpasswort (bei mir eine Passphrase) genutzt und wusste auch nicht dass das überhaupt geht. Das stellt imo die ganze 2FA auf den Kopf. Ich muss im Übrigen auch nach jeder Eingabe meiner Passphrase einmal auf den Klartext schauen um Tippfehler auszuschließen.
Was sagt eigentlich das WWW zum Abgleich von DB mit unterschiedlichen Sicherheitsmodi?
Btw: Ganz oben schreibst Du “die selbe Datenbank” weiter unten korrigierst Du, dass Deine DB auf jedem Gerät andere Namen haben und bei Bedarf abgeglichen werden. Das ist schon ein fundamentaler Unterschied. (Die “selbe” würde für mich physisch genau eine (1) DB im Netzwerk bedeuten.)
Danke, “die selbe” hatte ich bereits oben präzisiert.
Um 2FA geht es mir nur indirekt: der 1FA ist die generelle android Sperre mit Fingerabdruck und der 2. ist dann der DB-Schutz. Hier alternativ zu einem lokal schlummernden keyfile nochmal mit dem Finger. Thema gelöst und Zusammenführung teste ich wie vorgeschlagen.