Passwortmanager, der Leaks unmöglich macht
Moin.
Ein prinzipielles Problem von Kennwortmanagement-Software ist, dass es möglich ist, die Kennwortdatenbank zu stehlen und den Key zu brechen oder ihn selbst per Keylogger zu erbeuten. [ob man das für unwahrscheinlich hält, sei dahingestellt und ist hier nicht Thema]. In dem Fall fielen gleich alle gespeicherten Kennwörter auf einmal in fremde Hände.
Es gibt nun eine mir bislang unbekannte open-source Software "Spectre", die einen neuen Ansatz verfolgt:
Spectre speichert keine Kennwörter, sondern es errechnet sie.
Wer daran Interesse hat:
https://spectre.app/ demonstriert es online
und hier ist die IOS/IPhone App. Andere OS' werden erst später unterstützt.
https://apps.apple.com/app/apple-store/id1526402806?pt=153897&ct=hom ...
Andere OS' als Work in Progress: https://gitlab.com/spectre.app/
Ein prinzipielles Problem von Kennwortmanagement-Software ist, dass es möglich ist, die Kennwortdatenbank zu stehlen und den Key zu brechen oder ihn selbst per Keylogger zu erbeuten. [ob man das für unwahrscheinlich hält, sei dahingestellt und ist hier nicht Thema]. In dem Fall fielen gleich alle gespeicherten Kennwörter auf einmal in fremde Hände.
Es gibt nun eine mir bislang unbekannte open-source Software "Spectre", die einen neuen Ansatz verfolgt:
Spectre speichert keine Kennwörter, sondern es errechnet sie.
Wer daran Interesse hat:
https://spectre.app/ demonstriert es online
und hier ist die IOS/IPhone App. Andere OS' werden erst später unterstützt.
https://apps.apple.com/app/apple-store/id1526402806?pt=153897&ct=hom ...
Andere OS' als Work in Progress: https://gitlab.com/spectre.app/
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 7604942561
Url: https://administrator.de/contentid/7604942561
Ausgedruckt am: 04.12.2024 um 09:12 Uhr
35 Kommentare
Neuester Kommentar
Moin,
interessant.
Hab ich das Prinzip aber richtigverstanden, bedeutet es, dass wenn mein "Twitter-Kennwort" erspäht werden konnte, kann ich es nicht ändern, weil spectre ja immer das selbe Kennwort neu "berechnen" würde.
Das kann ich nur "brechen", wenn ich den geheimen Spectre-Key ändere. Aber dann sind ja alle übrigen Kennwörter ebenfalls nicht mehr korrekt.
Oder hab' ich etwas übersehen/ noch nicht ganz durchrungen?
interessant.
Hab ich das Prinzip aber richtigverstanden, bedeutet es, dass wenn mein "Twitter-Kennwort" erspäht werden konnte, kann ich es nicht ändern, weil spectre ja immer das selbe Kennwort neu "berechnen" würde.
Das kann ich nur "brechen", wenn ich den geheimen Spectre-Key ändere. Aber dann sind ja alle übrigen Kennwörter ebenfalls nicht mehr korrekt.
Oder hab' ich etwas übersehen/ noch nicht ganz durchrungen?
Das verstehe ich auch so wie em-pie, wenn ein Konto kompromittiert wurde, dann kann man das PW nur durch das Ändern des Secret neu errechnen lassen. Bedeutet also, dass ich alle anderen Passwörter auch tauschen müsste, es sei denn, ich verwende immer andere Secrets für verschiedene Seiten. Wird dann schnell unübersichtlich.
Mir geht es ja nicht um das Erspähen aus der App heraus bzw. beim Eintippen. Eine Sicherheitslücke beim Dienst (hier mal weiterhin Twitter genannt) kann ja schon dafür sorgen, dass dort das Kennwort nicht mehr sicher ist.
Oder was ist mit gut gemachten Phishing-Sites. Ich versuche mich dort anzumelden (traue ich der Seite ja) und gebe dann mein Kennwort preis.
Das selbe Problem, eigentlich sogar noch gravierender, wenn es mal einer böhsen Gang gelingen sollte, biometrische Daten abzugreifen und zu verwenden. Muss ich mich dann einer Gesichts-OP unterziehen?
Oder was ist mit gut gemachten Phishing-Sites. Ich versuche mich dort anzumelden (traue ich der Seite ja) und gebe dann mein Kennwort preis.
Das selbe Problem, eigentlich sogar noch gravierender, wenn es mal einer böhsen Gang gelingen sollte, biometrische Daten abzugreifen und zu verwenden. Muss ich mich dann einer Gesichts-OP unterziehen?
Somit ist das einzige, was man sich merken muss der Security Key (ähnlich dem MasterPasswort anderer Anbieter).
Interessant dürfte noch werden, dann manche Webseiten diverse Sonderzeichen im Passwort nicht erlauben.
Hier gibt es keine Möglichkeit das zu beeinflussen.
Ansonsten finde ich das Konzept besser als die Cloud-basierten Geschichten, die (auch bei uns) im Einsatz sind.
Interessant dürfte noch werden, dann manche Webseiten diverse Sonderzeichen im Passwort nicht erlauben.
Hier gibt es keine Möglichkeit das zu beeinflussen.
Ansonsten finde ich das Konzept besser als die Cloud-basierten Geschichten, die (auch bei uns) im Einsatz sind.
Muss ich mich dann einer Gesichts-OP unterziehen?
Nein.., eine Po-Straffung genügt schon.
Nein.., eine Po-Straffung genügt schon.
Zitat von @DerWoWusste:
Ein prinzipielles Problem von Kennwortmanagement-Software ist, dass es möglich ist, die Kennwortdatenbank zu stehlen und den Key zu brechen oder ihn selbst per Keylogger zu erbeuten.
Ein prinzipielles Problem von Kennwortmanagement-Software ist, dass es möglich ist, die Kennwortdatenbank zu stehlen und den Key zu brechen oder ihn selbst per Keylogger zu erbeuten.
Bei dieser Lösung ohne Datenbank reicht es demnach aus, den Key zu brechen oder per Keylogger zu erbeuten, um sich für jede beliebige Domain das mögliche Passwort erzeugen zu lassen.
Natürlich ist es schwer, den Key zu brechen. Aber das kann es ja bei einer verschlüsselten Passwort-Datenbank grundsätzlich auch sein.
Ob es schwer ist, den Schlüssel anders zu erbeuten, ist fraglich, denn wer gibt auf seinem iPhone gerne sichere Passwörter ein? Die von XKCD popularisierte Annahme, zufällige Wortkombinationen wären sichere Passwörter, gilt auch nur unter der Bedingung, dass der Angreifer weder irgendeine Information über den Nutzer und seinen Begriff von Zufälligkeit hat, noch weiß, dass dieser gerade mit der Nase darauf gestoßen wurde, doch eine zufällige Wortkombination zu verwenden.
Hier wird das Problem ins Zentrum gerückt, das Passwortmanager eigentlich lösen sollen: Die menschliche Unfähigkeit, sichere Passwörter zu verwenden und Passwörter sicher zu verwenden.
Wenn ich den Verdacht habe, dass mir jemand bei KeePass im Zug über die Schulter geschaut hat, ändere ich eben das Datenbankpasswort. Der jemand hat ja nicht die Datenbank. Oder man benutzt gleich einen Hardware-Token zur Sicherung der Datenbank. Hier müssten alle Dienstpasswörter für ein neues Masterpasswort geändert werden (so scheint es; ein mögliches Rotationsverfahren für das Nutzerpasswort wäre ohnehin nutzlos ohne anschließende Änderung der Dienstpasswörter).
Das Passwort eines Dienstes zu ändern, erfordert umgekehrt kein neues Masterpasswort, weil dafür ein Zähler vorgesehen ist. Zumindest die frühere Version nutzte Passwort-Templates, die an sich die Dienstpasswörter schwächen: https://www.masterpasswordapp.com/masterpassword-algorithm.pdf
Grüße
Richard
Das Brechen des Schlüssels ist sicher nicht der Hauptkritikpunkt, weil es allein aufgrund der Schlüsselableitung unwahrscheinlich ist. Der Punkt ist halt, dass es prinzipiell nicht sicherer ist als der Schlüssel einer Datenbank - richtig, sofern man an ein Dienstpasswort kommt.
Um zu entscheiden, ob das akzeptabel ist, kann man sich einfach fragen: Würde ich eine Kopie meiner Passwortmanager-Datenbank jedem der Dienste zur Verfügung stellen, deren Passwörter ich dort abgelegt habe?
Ich finde es nicht überzeugend, eine Datenbank, die gestohlen werden kann, mit einem kryptografischen Äquivalent zu ersetzen, das praktisch überall ist: bei fahrlässig implementierten Diensten oder auch nur Köder-Angeboten. Das ist eine kryptographische Abhängigkeit, die man eher vermeiden möchte, indem man z.B. verlangt, dass ein klassischer Passwortmanager einen guten Zufallsgenerator verwendet.
Um zu entscheiden, ob das akzeptabel ist, kann man sich einfach fragen: Würde ich eine Kopie meiner Passwortmanager-Datenbank jedem der Dienste zur Verfügung stellen, deren Passwörter ich dort abgelegt habe?
Ich finde es nicht überzeugend, eine Datenbank, die gestohlen werden kann, mit einem kryptografischen Äquivalent zu ersetzen, das praktisch überall ist: bei fahrlässig implementierten Diensten oder auch nur Köder-Angeboten. Das ist eine kryptographische Abhängigkeit, die man eher vermeiden möchte, indem man z.B. verlangt, dass ein klassischer Passwortmanager einen guten Zufallsgenerator verwendet.
Ich denke mal du hast immer "irgendwie" vergleichbare Probleme. Denn egal ob ich die Passwörter jetzt in irgendeinem "Tresor" verwalte oder die errechnet werden: Du musst ja eine Möglichkeit zum Recovery haben (oder wenn du deinen Rechner tauschen musst bist du mal so ziemlich im Ar...).
Wenn ich jetzt überlege wie ich vorgehen würde um da ran zu kommen wäre ja das "errechnen" des Master-Schlüssels eher bei Anwender-Tresoren relevant. DA würde ich aber den üblichen Anruf machen "hey, hier is Meyer von der IT - ich brauch mal das Passwort" und hoffen das ich es bekomme (mit einer vermutlich traurig hohen Erfolgsaussicht). Ist es ein Tresor von "höher Berechtigten" wäre zumindest meine HOFFNUNG das eben kein Wörterbuch-Angriff reicht und das Passwort entsprechend komplex ist - hier würde ich also eher andere Wege versuchen. Bekomme ich auf einem dieser Wege das Masterpasswort ist es mir aber ja auch egal ob das ne Tresor-File ist oder eben errechnet wird, ich nutze ja den "normalen" Recovery-Weg...
Von daher sehe ich das recht pragmatisch: Es kommt da eher auf die GUI des Managers an das man damit leicht zurecht kommt um eben auch Passwörter zu generieren und nicht überall dieselben zu haben aber einen wirklichen Schutz bietet das auch nur begrenzt. Da glaube ich das die Zeiten von Passwörtern "vorrüber" sind und es eben nur entweder über Biometrie und/oder 2FA (oder sonstige zusatz-mech's) geht. Aber die Art wie/wo die Passwörter generell abgelegt werden ist (für mich) eher sekundär - zumal man natürlich immer auch das Risiko eingeht das die Software ne Backdoor hat und der Hersteller (oder div. Behörden) damit natürlich nen direkten Zugang zu allen haben...
Wenn ich jetzt überlege wie ich vorgehen würde um da ran zu kommen wäre ja das "errechnen" des Master-Schlüssels eher bei Anwender-Tresoren relevant. DA würde ich aber den üblichen Anruf machen "hey, hier is Meyer von der IT - ich brauch mal das Passwort" und hoffen das ich es bekomme (mit einer vermutlich traurig hohen Erfolgsaussicht). Ist es ein Tresor von "höher Berechtigten" wäre zumindest meine HOFFNUNG das eben kein Wörterbuch-Angriff reicht und das Passwort entsprechend komplex ist - hier würde ich also eher andere Wege versuchen. Bekomme ich auf einem dieser Wege das Masterpasswort ist es mir aber ja auch egal ob das ne Tresor-File ist oder eben errechnet wird, ich nutze ja den "normalen" Recovery-Weg...
Von daher sehe ich das recht pragmatisch: Es kommt da eher auf die GUI des Managers an das man damit leicht zurecht kommt um eben auch Passwörter zu generieren und nicht überall dieselben zu haben aber einen wirklichen Schutz bietet das auch nur begrenzt. Da glaube ich das die Zeiten von Passwörtern "vorrüber" sind und es eben nur entweder über Biometrie und/oder 2FA (oder sonstige zusatz-mech's) geht. Aber die Art wie/wo die Passwörter generell abgelegt werden ist (für mich) eher sekundär - zumal man natürlich immer auch das Risiko eingeht das die Software ne Backdoor hat und der Hersteller (oder div. Behörden) damit natürlich nen direkten Zugang zu allen haben...
Zitat von @DerWoWusste:
@em-pie
Ich sehe gerade, dass die App doch eine einfache Möglichkeit biette, für einzelne Domains ein weiteres Kennwort zu bilden, sollte man es benötigen (bei Verdacht von Leaks auf Seiten des Websiteanbieters zum Beispiel). Gelöst wird das über den "Site counter", den man bei Bedarf nur um 1 erhöht.
@em-pie
Ich sehe gerade, dass die App doch eine einfache Möglichkeit biette, für einzelne Domains ein weiteres Kennwort zu bilden, sollte man es benötigen (bei Verdacht von Leaks auf Seiten des Websiteanbieters zum Beispiel). Gelöst wird das über den "Site counter", den man bei Bedarf nur um 1 erhöht.
Ach cool. Dann wär das zumindest "gelöst".
Zitat von @DerWoWusste:
Schreib's doch genauer, bitte:
Die Bestandteile aller Varianten (Apps für Android, IOS, Desktop Java Client) sind allesamt sehr wohl in der aktiven Überarbeitung, alle zuletzt upgedated zwischen binnen der letzten 4 Monate und der letzten 2 Wochen. Einzig MacOS bildet da mit "vor 11 Monaten" eine Ausnahme. https://gitlab.com/spectre.app/
Schreib's doch genauer, bitte:
Die Bestandteile aller Varianten (Apps für Android, IOS, Desktop Java Client) sind allesamt sehr wohl in der aktiven Überarbeitung, alle zuletzt upgedated zwischen binnen der letzten 4 Monate und der letzten 2 Wochen. Einzig MacOS bildet da mit "vor 11 Monaten" eine Ausnahme. https://gitlab.com/spectre.app/
"Gitlab geht noch ..." war mein Kommentar zu den Varianten...
IOs App aber trotzdem in neuester Version:
Version History: 3.1.8 - Aug 28, 2022
Ich will halt aber zB auch n Browser Plugin usw... Hab ich jetzt aber noch nicht gesehen oder uebersehen.
Spannender Ansatz.
Mich verwirrt allerdings ein wenig, dass ich mich bei xy Websites nicht nur mit einem Passwort anmelde, sondern variabel auch mit einer Zugangsnummer, einem Benutzernamen, einer E-Mailadresse.
Ich sehe hier nur generierte Passwörter, nach Domain, heißt den Rest muss ich mir "woanders" merken?
Grüße
ToWa
Hallo,
da habe ich noch einen Spezialfall.
Bei einigen Hostinganbietern kannst Du bestimmte Kennwörter nicht setzen.
Du kannst ein neues erstellen was dann einmal auf dem Monitor angezeigt wird.
Das gleiche gilt für API-Keys. Diese werden generiert und angezeigt, können aber nicht manuel gesetzt werden.
Wir kommen aber auch hier zurück zu dem Problem, dass Kennwörter prinzipbedingt "doof" sind.
Die einzigen Vorteile von Kennwörter sind, dass die technisch einfach und günstig auf Anbieterseite zu implementieren sind. 2FA und Biometrie sind Deine Freunde. Wobei mein 2FA Dings mit inzwischen 75 Einträgen auch nicht sooo top ist.
Stefan
da habe ich noch einen Spezialfall.
Bei einigen Hostinganbietern kannst Du bestimmte Kennwörter nicht setzen.
Du kannst ein neues erstellen was dann einmal auf dem Monitor angezeigt wird.
Das gleiche gilt für API-Keys. Diese werden generiert und angezeigt, können aber nicht manuel gesetzt werden.
Wir kommen aber auch hier zurück zu dem Problem, dass Kennwörter prinzipbedingt "doof" sind.
Die einzigen Vorteile von Kennwörter sind, dass die technisch einfach und günstig auf Anbieterseite zu implementieren sind. 2FA und Biometrie sind Deine Freunde. Wobei mein 2FA Dings mit inzwischen 75 Einträgen auch nicht sooo top ist.
Stefan
Moin, ok - sagen wir so, es ist sicher eine interessante Möglichkeit um Leute dazu zu bringen mal nicht überall gleiche Passwörter zu nutzen. DAS ist schon mal ein positiver Ansatz. Andersrum könnte ich aber sowas auch relativ schnell selbst machen und hat eben nicht das Risiko das irgendwo irgendwer ne Datenbank aufbaut... Denn zumindest soweit ich es gesehen habe machen die ja prinzipiell nix anderes als "nehme Benutzername, nehme Domain und bilde nen Passwort aus der Kombination".
Damit könnte man auf nahezu jedem OS natürlich auch sich was überlegen:
md5_summe(mein_standard_passwort+mein_benutzer+name_domain) -> somit hat man das ja auch erreicht.
Nicht falsch verstehen: Ich finde den Ansatz sogar gut (und werde mir mal überlegen mir sowas in mein Programm einzubauen ) da es damit natürlich schon nahezu unmöglich ist das Passwort zu erraten und das Passwort auch immer ne hinreichende Länge hat. Aber dagegen würde _für mich_ eben sprechen das ich dafür das Risiko eingehe das morgen der Anbieter selbst (oder jemand der doch ne Backdoor ins Programm bekommen hat) alle Daten auf dem Silbertablet hat. DAS ist aber eben bei JEDEM PW-Manager der Fall...
Damit könnte man auf nahezu jedem OS natürlich auch sich was überlegen:
md5_summe(mein_standard_passwort+mein_benutzer+name_domain) -> somit hat man das ja auch erreicht.
Nicht falsch verstehen: Ich finde den Ansatz sogar gut (und werde mir mal überlegen mir sowas in mein Programm einzubauen ) da es damit natürlich schon nahezu unmöglich ist das Passwort zu erraten und das Passwort auch immer ne hinreichende Länge hat. Aber dagegen würde _für mich_ eben sprechen das ich dafür das Risiko eingehe das morgen der Anbieter selbst (oder jemand der doch ne Backdoor ins Programm bekommen hat) alle Daten auf dem Silbertablet hat. DAS ist aber eben bei JEDEM PW-Manager der Fall...
Zitat von @maretz:
Damit könnte man auf nahezu jedem OS natürlich auch sich was überlegen:
md5_summe(mein_standard_passwort+mein_benutzer+name_domain) -> somit hat man das ja auch erreicht.
Damit könnte man auf nahezu jedem OS natürlich auch sich was überlegen:
md5_summe(mein_standard_passwort+mein_benutzer+name_domain) -> somit hat man das ja auch erreicht.
Das wäre die logische Fortschreibung der Evolution: Jahrzehntelang erwartete man, dass erzeugte Passwörter nicht anders als durch einen sicheren Zufallszahlengenerator miteinander verwandt sind. Dann ersetzt ein Bastler den durch eine sichere Schlüsselableitungsfunktion mit statischen Eingaben. Und der Nächste ersetzt die sichere Schlüsselableitungsfunktion mit einer gebrochenen.
Zitat von @DerWoWusste:
Es ist quelloffen und kann offline benutzt werden. Mehr kann man nicht verlangen.
Es ist quelloffen und kann offline benutzt werden. Mehr kann man nicht verlangen.
Nehme Benutzername, nehme Domain und bilde nen Passwort aus der Kombination".
Das eigene Passwort für Spectre ist doch auch in der Kette drin.Moin, korrekt das habe ich vergessen... Danke für die korrektur
Das is nix anderes als symmetrische Verschlüsselung mit Salt und anschließendem HMAC Hash. Der Salt ist ist die Kombination aus Benutzername und Domain. Und das Passwort das Passwort, ändert sich der Salt ändert sich auch das Ergebnis, bei gleichbleibendem Passwort.
Da wird nur was schon ewig existierendes unter neuem Gewand als "Revolutionär" angepriesen. Naja muss jeder selbst wissen.
Zeppel.
Da wird nur was schon ewig existierendes unter neuem Gewand als "Revolutionär" angepriesen. Naja muss jeder selbst wissen.
Zeppel.
Zitat von @7426148943:
Das is nix anderes als symmetrische Verschlüsselung mit Salt. Der Salt ist ist die Kombination aus Benutzername und Domain. Und das Passwort das Passwort, ändert sich der Salt ändert sich auch das Ergebnis, bei gleichbleibendem Passwort.
Hashing geht in Kombination natürlich auch.
Da wird nur was schon ewig existierendes unter neuem Gewand als "Revolutionär" angepriesen.
Zeppel.
Das is nix anderes als symmetrische Verschlüsselung mit Salt. Der Salt ist ist die Kombination aus Benutzername und Domain. Und das Passwort das Passwort, ändert sich der Salt ändert sich auch das Ergebnis, bei gleichbleibendem Passwort.
Hashing geht in Kombination natürlich auch.
Da wird nur was schon ewig existierendes unter neuem Gewand als "Revolutionär" angepriesen.
Zeppel.
Nun - nur scheint kaum ein anderer Passwort-Manager genau diese Idee mal gehabt zu haben, oder? Und darum gehts doch -> hier brauchst du eben keine grosse Datenbank dahinter... Nehmen wir mal an der Anbieter ist vertrauenswürdig und speichert deine Eingaben nicht einfach (und vermutlich ist er das!): Dann kann selbst der beste Hacker der Welt meine Passwörter nicht aus der DB lesen -> wenn es nämlich keine gibt. Und da ja das Master-PW teil des Algo's ist könnte man das einfach vom Anmeldepasswort nehmen - fertig. Ich brauch ja nicht mal zu prüfen ob du der legitime Benutzer bist -> nimm halt das Passwort 123456 (während meines 654321 war) -> alle generierten Passwörter sind falsch, thema durch...
Das einzige Problem was ich eben sehe wäre das ich wieder die Daten jemand anders prinzipiell geben muss.. Da ändert leider auch der offene Quellcode nix da ich ja grad bei Android / iOS nicht wirklich in der Lage bin zu prüfen ob DER übersetzt wurde oder was ganz anderes... Und ohne Dev-Acc bei Apple "selbst übersetzen" geht ja auch schlecht. DAS ist aber ein Problem der Store's, nicht des Anbieters!
Wenn du überall gleiche Benutzernamen hast dann brauchst du nichts speichern, ja, andere Anforderungen der Anbieter an den Namen, bereits belegte Usernamen etc. machen das aber fast unmöglich, ansonsten muss man sich da auch wieder ein Schema zu bauen das man sich entweder merken oder speichern muss.
tja - und wenn das RZ vom nächsten Sturmhochwasser geflutet wird brings eh nix... Ganz ehrlich - wo ist das Problem? Du MUSST es nicht nutzen, du kannst auch natürlich dir einfach grosse Zettel schreiben, dann brauchst du gar keinen PW-Manager.. du kannst auch überall einfach 1234!"§$ als PW nehmen -> auch dann brauchst du das nicht... Es ist eine OPTION das zu tun...
Zitat von @maretz:
tja - und wenn das RZ vom nächsten Sturmhochwasser geflutet wird brings eh nix... Ganz ehrlich - wo ist das Problem? Du MUSST es nicht nutzen, du kannst auch natürlich dir einfach grosse Zettel schreiben, dann brauchst du gar keinen PW-Manager.. du kannst auch überall einfach 1234!"§$ als PW nehmen -> auch dann brauchst du das nicht... Es ist eine OPTION das zu tun...
Wo habe ich geschrieben das ich ein Problem damit habe?? ICH habe kein Problem damit nutze eh ein anderes Prinzip, wie bereits oben geschrieben muss das wie eh und jeh jeder selbst entscheiden, alles gut minge @maretz ..tja - und wenn das RZ vom nächsten Sturmhochwasser geflutet wird brings eh nix... Ganz ehrlich - wo ist das Problem? Du MUSST es nicht nutzen, du kannst auch natürlich dir einfach grosse Zettel schreiben, dann brauchst du gar keinen PW-Manager.. du kannst auch überall einfach 1234!"§$ als PW nehmen -> auch dann brauchst du das nicht... Es ist eine OPTION das zu tun...