HINWEIS: Diese Frage lautet Ein Teil der ursprünglichen Frage zu aWallet Password Manager, die auf Cryptography.StackExchange veröffentlicht wurde. Wie von @SEJPM vorgeschlagen, veröffentliche ich es hier, da das Thema der Frage besser für InformationSecurity.StackExchange geeignet ist.
Nachdem ich viele Artikel über die Erhöhung der Sicherheit meiner Webkonten gelesen hatte, begann ich, aWallet Password Manager für Android zum Sichern meine Passwörter. Ich mag es aus folgenden Gründen:
- Ich kann ziemlich Passwörter mit guter Entropie : Ich kann eine Verwechslung von Kleinbuchstaben & Großbuchstaben, Ziffern, Sonderzeichen (einschließlich Leerzeichen) eingeben und habe ziemlich lange Passwörter (10+ Zeichen) )
- Wenn ich meine Passwörter sicher speichere, kann ich unterschiedliche Passwörter für jedes Webkonto haben, was sonst der Fall wäre Dies würde einen Kaskadeneffekt (Angabe der Anmeldeinformationen aller Konten) verhindern, der entstehen würde Wenn eines meiner Konten, dessen Anmeldeinformationen ich mit mehreren Konten teile, kompromittiert wird.
Es ist unnötig zu erwähnen, dass dieser zweite Punkt umstritten ist, da alle Anmeldeinformationen vorhanden sind Das Speichern an einem einzelnen Ort führt zu einem Single-Point-of-Failure und birgt das gleiche Risiko für die Kettenreaktion bereits erwähnt.
Aufgrund meiner begrenzten Kenntnisse der Kryptografie und der Zweifel an der Privatsphäre (angesichts der jüngsten Vorfälle von Online-Diebstählen) möchte ich die Sicherheit von aWallet Password Manager vor dem Speichern meines Bank- / Kartendetails . Folgendes behaupten sie auf ihrer Google PlayStore-Seite :
SICHERHEITSMERKMALE
• Alle Daten werden verschlüsselt, einschließlich Eintragsnamen, Kategoriedefinitionen und der Daten selbst.
• Verschlüsselt Daten mit AES- und Blowfish-Algorithmen mit Schlüsselgrößen von 256, 192 und 128 Bit.
• Wenn die Datendatei entschlüsselt wird, werden bis zu allen Kombinationen aus Algorithmus, Schlüsselgröße und Verschlüsselungsmodus (CBC, CFB, OFB und EZB) mit dem Master-Passwort versucht, die Datendatei zu entsperren macht Brute-Force-Angriffe länger. Die App selbst speichert keinen Hinweis auf die tatsächliche Verschlüsselung, Schlüsselgröße oder den Verschlüsselungsmodus.
• Verwendet ein zufällig generiertes „Salt“ in Kombination mit dem Master-Passwort. Salt hilft zum Schutz vor Offline-Wörterbuchangriffen.
• Der Schlüssel zum Öffnen der Datendatei wird durch Kombinieren Ihres Hauptkennworts mit dem 512-Bit-Salt erstellt. Das Ergebnis wird 1000-mal von SHA-256 gehasht Wiederholtes Hashing macht eine rohe Kraft bei schwieriger angehen.
Während keiner dieser Punkte für mich sehr sinnvoll ist, sagt mir das kleine bisschen, das ich über Kryptographie weiß, dass [bitte korrigieren Wenn ich falsch liege] Das mehrfache Wiederholen einer Verschlüsselungstechnik verbessert die Sicherheit nicht mathematisch. ; es kann nur einen falschen Eindruck von zusätzlicher Sicherheit vermitteln.
Und aufgrund dieser Inkonsistenz begann ich, die Gültigkeit ihrer anderen Behauptungen anzuzweifeln. Meine Fragen sind: –
- Gibt es ein Tool / eine Technik, mit der ich versuchen könnte, die von einer Wallet-App verwendete Datei
data.crypt
zu entschlüsseln Testen Sie die Sicherheit? - aWallet bietet keinen eigenen Cloud-Speicher an und ermöglicht es uns, (optional) die Datei
data.crypt
auf Google Drive oder zu sichern Dropbox. Wie sicher wäre es, wenn ich die 2-Faktor-Authentifizierung für mein Google-Konto verwende? - Ist es im Allgemeinen sicher, Anmeldeinformationen oder Bankdaten oder beides in einem Passwort-Manager zu speichern?
Kommentare
- Hat Sie das wiederholte Hashing verdächtig gemacht? Das ist nicht dasselbe wie wiederholte Verschlüsselung, und es ist in der Tat Standard. Siehe this .
-
Is it safe to store login credentials or banking details or both in a password manager
‚ muss keine perfekte Sicherheit sein, es muss besser sein, als ein eigenes Passwort zu erstellen und es sich zu merken. - “ alle Kombinationen von Algorithmus, Schlüsselgröße und Der Chiffriermodus (CBC, CFB, OFB und ECB) wird ausprobiert. “ Das klingt idiotisch. Warum nicht eine geeignete Schlüsselableitungsfunktion verwenden?Die Tatsache, dass Sie anscheinend die Verwendung der EZB zulassen, ist eine große rote Fahne (und wenn Sie mit ‚ nicht die Verwendung der EZB zulassen, ist der Versuch, damit zu entschlüsseln, nicht ‚ tut sowieso nichts, um den Angreifer zu verlangsamen)
- Ich ‚ möchte jeden darauf hinweisen, der die kryptografischen Details kommentieren möchte von diesem “ Passwort-Manager “ zu dem verknüpften Beitrag auf Crypto.SE , wo diese Probleme ausgewertet und diskutiert werden.
Antwort
Bitte beachten Sie: Dieser Beitrag beantwortet tatsächlich die Frage (n) in der Frage und kommentiert nicht (viel) die Sicherheit von aWallet. Ich schlage vor, dass Sie die besuchen Crypto.SE-Version dieser Frage zur Überprüfung der kryptografischen Details.
Gibt es ein Werkzeug / eine Technik, die ich verwenden könnte? Um zu versuchen, die von einer Wallet-App verwendete Datei data.crypt zu entschlüsseln, um die Sicherheit zu testen?
Eine schnelle Suche ergab nichts, also ich Angenommen, dieser Passwort-Manager ist nicht groß genug / hat nicht genug Nachforschungen angestellt, um jemanden dazu zu bringen, ein Tool zum Angriff auf diesen Passwort-Manager zu schreiben.
aWallet bietet keinen eigenen Cloud-Speicher an und ermöglicht es uns, die Datei data.crypt (optional) auf Google Drive oder Dropbox zu sichern. Wie sicher wäre das, wenn ich die 2-Faktor-Authentifizierung für mein Google-Konto verwende?
Dies hängt sehr stark davon ab.
Angenommen, aWallet „s Sicherheitsmaßnahmen sind tatsächlich gut und Sie verwenden ein sicheres Kennwort und / oder eine lokale Schlüsseldatei. Das Hochladen der verschlüsselten Kennwortdatenbank in einen Cloud-Dienst beeinträchtigt die Sicherheit nicht, da Ihr Kennwort und / oder Ihre Schlüsseldatei weiterhin vorhanden sind Schützen Sie die Passwörter. Natürlich bedeutet die zusätzliche Authentifizierung und Zugriffskontrolle dieser Cloud-Dienste, dass wahrscheinlich nur Sie und der Anbieter Zugriff haben und es normalerweise im besten Interesse des Anbieters liegt, Benutzerdateien nicht zu verlieren.
Ist es im Allgemeinen sicher, Anmeldeinformationen oder Bankdaten oder beides in einem Passwort-Manager zu speichern?
Ja, sehr, wenn der Passwort-Manager anständig ist.
Mit einem Passwort-Manager können Sie ganz einfach eindeutige, Starke Passwörter pro Website, dh ein Kompromiss zwischen Ihrer Passwortdatenbank oder Ihrem lokalen Client ist erforderlich. Wie wir bereits festgestellt haben, wird ein Kompromiss der Sicherung durch das sichere Kennwort verhindert, sodass der Client-Kompromiss als Vektor zum Erlernen des Kennworts verbleibt. Sobald Ihr Client jedoch kompromittiert ist, sind alle Wetten sowieso ungültig, da der Angreifer einfach an Ihrer Tastatur schnüffeln oder Ihre Netzwerkdaten überwachen / abfangen kann! Alles in allem haben Sie also wenig zu verlieren und viel zu gewinnen, wenn Sie (gute) Passowrd-Manager verwenden.
Ob aWallet ein guter Passwort-Manager ist, ist jedoch eine andere Frage (und wird auf Crypto.SE beantwortet).
Antwort
aWallet speziell: Verwenden Sie es nicht. Der Ersteller weiß offensichtlich nicht, was er tut. Ich werde nur ein Problem herausgreifen (es gibt mehrere, die für People Smarter Than Me wahrscheinlich offensichtlicher sind): Es könnte Ihre Datenbank im EZB-Modus verschlüsseln (manchmal, aber nicht immer).
EZB-Modus ist insbesondere nicht sicher, da derselbe Klartext immer den gleichen Chiffretext verschlüsselt. Daher verbirgt der EZB-Modus „Datenmuster nicht gut … bietet keine ernsthafte Vertraulichkeit von Nachrichten und es wird überhaupt nicht für die Verwendung in kryptografischen Protokollen empfohlen „.
Kennwortmanager im Allgemeinen: Verwenden Sie eines. Wählen Sie jedoch eine bekannte mit einem guten Ruf wie 1Password, LastPass, KeePass, Dashlane usw. Oder verwenden Sie mindestens eine, die von einer bekannten Sicherheitsfirma oder einem Sicherheitsforscher erstellt oder empfohlen wurde, wenn Sie nicht wissen, wo Sie sonst suchen sollen. Ein guter Passwort-Manager mit kompetenter Verschlüsselung ( not aWallet anscheinend) ist absolut sicher, um im Cloud-Speicher zu bleiben, vorausgesetzt, Ihr Hauptkennwort ist sicher.
Bearbeiten: OK Ich kann nicht widerstehen, ein paar andere Punkte auszuwählen, die auf mich herausspringen und“ wegbleiben „schreien:
- In Bezug auf die Umwandlung des Hauptkennworts in einen Verschlüsselungsschlüssel: „Das Ergebnis wird von SHA-256 1000-mal gehasht.“ Das ist lächerlich unzureichend. Richtig gemacht würden sie mindestens PBKDF mit 10.000 Runden oder mehr anstelle einer maßgeschneiderten Hash-Schleife von nur 1000 verwenden. Selbst das wäre kaum ausreichend und würde sich schlecht mit richtig implementierten Passwort-Managern vergleichen lassen. Hunderttausende oder mehr Runden wären eher so. Oder geben Sie das SHA-basierte Passwort-Hashing auf und verwenden Sie etwas wie bcrypt oder argon2. Diese Software kann nicht mit modernen Tools verglichen werden.
- „Unterstützt die automatische Zerstörung der Datendatei, nachdem eine vordefinierte Anzahl nicht erfolgreicher Entsperrungen versucht wurde.“ Dies betrifft einen Angreifer überhaupt nicht. Die einzige Person, die dies verletzen kann, ist der legitime Benutzer. Ein Angreifer erstellt eine Kopie der Datenbank oder verwendet modifizierte Software, um das Schätzlimit zu entfernen. Sie auf dem Andererseits können versehentlich alle Ihre Passwörter verloren gehen, um nie wieder gesehen zu werden, indem versehentlich die Feststelltaste oder ein toter Schlüssel oder ähnliches aktiviert wird.
Antwort
Beantworten Sie speziell Ihre Frage:
Gibt es ein Werkzeug / eine Technik, mit der ich versuchen könnte Entschlüsseln Sie die von einer Wallet-App verwendete Datei data.crypt, um die Sicherheit zu testen?
Das Skript wurde mit der technische Dokumentation auf awallet.org.