Frage:
Verschlüsseln der Textdatei mit AES 256 anstelle des Passwort-Managers
magna_nz
2017-01-23 15:42:08 UTC
view on stackexchange narkive permalink

Ich fange an, eine große Liste von Passwörtern zu haben, die ich sicher speichern muss. Ich habe mir Passwortmanager wie LastPass angesehen, aber diese scheinen immer von Hackern ins Visier genommen zu werden und wurden zuvor kompromittiert.

Würde ich etwas verlieren, wenn ich meine Passwörter in einem Textdokument speichere, das ich selbst mit AES 256 verschlüssele? ? Dann einfach entschlüsseln, wenn ich das Passwort haben möchte?

Warum nicht einen lokalen Passwort-Manager wie KeePass verwenden?
Ich unterstütze den KeePass-Vorschlag.Es ist offline und speichert die Passwörter sicher.Außerdem bietet es eine Reihe von Funktionen, die sich als nützlich erweisen, wenn Sie eine bestimmte Anzahl von Anmeldeinformationen überschreiten.
Wenn Sie auf einigen Geräten häufig Kennwörter benötigen, z.Mit einem Mobiltelefon können Sie eine kleinere Version Ihrer Kennwortdatenbankdatei in einer sicheren Cloud wie Tresorit (End-to-End-verschlüsselt) speichern.Es gibt eine Tresorit- und Keepass-App für Android und iOS.Sie können diese kleinere Kennwortdatenbank mit einer Schlüsseldatei kombinieren, die nur lokal auf diesen Geräten gespeichert wird.
Ein weiterer lokaler Passwort-Manager ist [pass] (https://www.passwordstore.org/), der die Dinge einfach hält, indem er die Passwörter als gpg-verschlüsselte Textdateien mit einer Verzeichnishierarchie Ihrer Wahl speichert.Es ist nur 594 LOC leicht zu lesender Bash, der eine einfache Kombination aus pwgen, gpg und git macht.Es hat auch eine Android-App, und Sie können von jedem Computer, den Sie steuern (z. B. vps, ssh über vpn, mit dem Heimcomputer usw.) synchronisieren.
* diese scheinen immer von Hackern ins Visier genommen zu werden und wurden schon vorher kompromittiert * - Zitat bitte?Ich sehe nicht, wie Hacker auf eine Datei auf Ihrem PC abzielen können, ohne dass Sie etwas Dummes tun (wie das Herunterladen eines Keyloggers).Wenn Sie versehentlich einen Keylogger heruntergeladen haben, ist auch das von Ihnen entworfene System anfällig.
Indem Sie "Textdatei mit AES-256 verschlüsseln", erstellen Sie im Grunde den Passwort-Manager Ihres eigenen armen Mannes.Letzteres "verschlüsselt (nicht unbedingt) die Testdatei mit einer starken Verschlüsselung".
@NickGammon Nun, LastPass-Server könnten anstelle Ihres lokalen Computers gehackt werden ... auch: Ich glaube, LastPass hat früher (oder vielleicht immer noch ...) nur die Passwörter verschlüsselt, aber nicht alle Daten.Zum Beispiel wurden Informationen zu Benutzernamen oder den Websites, auf denen Sie sich registriert haben, im Klartext gespeichert, wodurch ** jede ** Art von Verletzung des Servers / Ihres Computers zu einer ziemlich großen Sache wird.
Wo würden Sie den AES-Schlüssel aufbewahren?Wenn dieser Ort sicher ist, warum nicht Ihre Passwörter dort platzieren?
Der einzige Grund, warum ich KeePass nicht verwenden kann, ist, wenn Sie Linux unter ARM ausführen - der Linux-Port erfordert Mono.Die Android-Version sollte laufen, würde aber Chrom benötigen, das Sie selbst bauen müssten.
Sieben antworten:
Dmitry Grigoryev
2017-01-23 19:02:44 UTC
view on stackexchange narkive permalink

Glauben Sie angesichts der von Ihnen erwähnten Kompromisse, dass das Verschlüsseln von Dateien selbst einfach sein wird? Woher wissen Sie, dass Sie nicht in die gleichen Fallstricke geraten, die zu Kompromissen bei Kennwortmanagern geführt haben?

Es wird angenommen, dass AES 256 rechnersicher ist. Jeder Computer, der jemals gleichzeitig gearbeitet hat, um den Schlüssel brutal zu erzwingen, hat seit Beginn der Zeit eine wahrscheinlich vernachlässigbare Chance, jemals den Schlüssel für eine Verschlüsselung zu finden.

Allerdings: Ein sicherer Algorithmus funktioniert nicht garantieren keine sichere Implementierung . Um Ihnen ein Beispiel zu geben, hier einige Fragen, die Sie sich stellen sollten:

  • Wie stellen Sie sicher, dass zwei identische Passwörter in Ihrer Liste nicht mit identischem AES-Chiffretext verschlüsselt werden? (Wenn der Gegner ein Kennwort kennt, weiß er, wo es wiederverwendet wird.)
  • Sind Sie sicher, dass Ihre entschlüsselte Kennwortliste nicht von einem Prozess zurückgefordert werden kann, der RAM zuweist, nachdem Sie Ihre Liste konsultiert haben?
  • Sind Sie sicher, dass Ihre entschlüsselte Kennwortliste nicht die Auslagerungsdatei ist?
  • Welche Kommunikationsmechanismen verwenden Sie zwischen dem Benutzer, der das Hauptkennwort bereitstellt, dem Prozess, der die Kennwortliste entschlüsselt, und dem Ziel Anwendung, die ein Kennwort benötigt?

Kennwortmanager wurden unter Berücksichtigung dieser (und möglicherweise vieler anderer) Probleme entwickelt. Es ist fast unmöglich, alles richtig zu machen, wenn Sie es zum ersten Mal selbst tun, insbesondere wenn Sie kein Sicherheitsexperte sind.

Warum sollten Sie identische Passwörter verwenden, wenn Sie einen Passwort-Manager verwenden, um den ersten Punkt anzusprechen?Ist das nicht der springende Punkt, damit Sie überall unterschiedliche Anmeldeinformationen verwenden können?
@Cruncher Vielleicht verwenden Sie das gleiche bereits auf verschiedenen Websites. Dies gilt nicht nur für Passwörter.Was ist, wenn zwei Benutzernamen in der Datei identisch sind?Was ist, wenn Sie ein paar Bissen hinzufügen, damit alle Passwörter verschoben werden und der Gegner Zugriff auf beide verschlüsselten Versionen hat?Krypto ist schwer richtig zu machen.
@Cruncher Obwohl es sicherlich gut ist, unterschiedliche Passwörter für verschiedene Dinge zu verwenden, würde ich einen Passwort-Manager in Betracht ziehen, der die Tatsache preisgibt, dass identische Passwörter im Wesentlichen fehlerhaft sind.
"Wie würden Sie Ihre Textdatei nach einer bestimmten Zeit der Inaktivität" sperren "?"
@Cruncher: Was ist, wenn die beiden URLs tatsächlich dieselbe Authentifizierungssite verwenden?(z. B. Google Mail und YouTube)
«Wie stellen Sie sicher, dass zwei identische Passwörter in Ihrer Liste nicht mit identischem AES-Chiffretext verschlüsselt werden?(Wenn der Gegner ein Passwort kennt, weiß er, wo es wiederverwendet wird.) »Eine Textdatei mit den Passwörtern verwendet so etwas wie CBC, nicht EZB.
@JDługosz nein, es sollte keine EZB verwenden.Wenn ich für jedes Java-Tool, das die EZB verwendet, einen Cent bekommen würde, weil dies die Java-Standardeinstellung ist, hätte ich eine Menge Geld!Viele Leute, die "AES" verwenden möchten, wissen nicht einmal, welche Betriebsarten es gibt!
Matthew
2017-01-23 16:09:42 UTC
view on stackexchange narkive permalink

Sie können auf Knopfdruck keine zufälligen Passwörter mehr generieren. Dies kann bedeuten, dass Sie aufgrund mangelnder Benutzerfreundlichkeit zu schwächeren Passwörtern tendieren. Einer der Vorteile von Passwort-Manager-Apps, ob online oder offline, ist die Generieren langer zufälliger Zeichenfolgen.

Sie würden jedoch die Sicherheit der Kennwörter gewährleisten, wenn Sie eine Kopie der Datei verlieren, vorausgesetzt, Sie verwenden die Verschlüsselungsmethode korrekt.

Abhängig Wenn Sie dies getan haben, wird möglicherweise ein neues Problem für das Schulter-Surfen eingeführt. Bei den meisten Kennwortmanagern wird nur das Kennwort angezeigt, das Sie verwenden möchten. Wenn Ihre Textdatei mehrere Kennwörter enthält, können Sie diese beim Anzeigen eines bestimmten Kennworts alle verfügbar machen. Sie könnten dies vermeiden, indem Sie mehrere Dateien oder eine einzelne Datei mit wirklich großen Lücken zwischen den Passwörtern haben.

Sie erhalten wahrscheinlich auch nicht so viel Sicherheit, dass die entschlüsselten Daten nicht beschrieben werden Festplatten-Passwort-Manager-Apps achten in der Regel sehr darauf, entschlüsselte Passwörter im Speicher zu behalten. Sie müssen jedoch sicherstellen, dass Ihre Entschlüsselungsbehandlung auch selbst funktioniert.

Sie müssen das Passwort nicht einmal mit KeePass anzeigen (und ich nehme andere Manager an) - aber dann müssen Sie natürlich darauf vertrauen, dass Ihre Zwischenablage sicher ist.+1 für den letzten Absatz - Die meisten betrügerischen Texteditoren speichern die letzten Änderungen regelmäßig auf der Festplatte
Guter Punkt - ich hätte mich wirklich daran erinnern sollen, da ich diese Fähigkeit die ganze Zeit benutze!
Eine Möglichkeit, den Schaden durch Schulter-Surfen beim Entschlüsseln aller Ihrer Passwörter (da sie alle in einer einzigen Datei enthalten sind) zu minimieren, besteht darin, Ihre Passwörter nach Site in mehrere Dateien aufzuteilen.Der Nachteil ist, dass Sie eine Liste von Sites für das Betriebssystem verfügbar machen.GPG4Win kann für diese Anwendung gut sein, da es über einen Zwischenablage-Viewer verfügt, der zum Ver- und Entschlüsseln verwendet werden kann.
@ChrisH Wenn Sie Ihrer Zwischenablage nicht vertrauen, können Sie die Hybrid-Auto-Type-Funktion verwenden - dann müsste die Malware gleichzeitig die Tastatur und die Zwischenablage ausspähen - was sie sicherlich tun könnte, aber Sie schließen dies ausalle reinen Keylogger und Zwischenablage-Schnüffler.
@piet.t Fair genug.In der Praxis vertraue ich meiner Zwischenablage, was genauso gut ist, wie ich sie nicht in Firefox integriere.Das Plugin ist (für mich) einfach zu nervig, wenn ich KeePass geschlossen / gesperrt halte.
thel3l
2017-01-23 15:59:25 UTC
view on stackexchange narkive permalink

Würde ich durch das Speichern meiner Passwörter in einem Textdokument, das ich selbst mit AES 256 verschlüssele, etwas verlieren?

In Bezug auf die Sicherheit, nein. Bequemlichkeit, ja. Dies hängt davon ab, wie Sie Ihr Passwort gespeichert haben und wie lang der Schlüssel ist. Aber ja, Sie könnten es definitiv selbst tun.

* Sicherheitstechnisch nein * => herausgefordert!Sichere Codierung ist schwierig, und die Sicherheit zum Selbermachen ist im Allgemeinen überhaupt nicht sicher.Matthew und Dmitry Grigoryev haben einige Mängel angegeben, die bei Lösungen aus eigenem Anbau wahrscheinlich sind.
Und wenn auf Ihrem Computer eine Sicherheitsanfälligkeit aufgetreten ist, können durch das Entschlüsseln einer Datei alle Passwörter kompromittiert werden.Die Verwendung eines Passwort-Keepers würde die Exposition nacheinander begrenzen.
"werden alle Passwörter" => "mit allen Passwörtern"
user3496510
2017-01-23 16:27:11 UTC
view on stackexchange narkive permalink

Aus Ihrer Sicht ist es eine gute Idee, Passwörter lokal in Ihrer eigenen Anwendung zu speichern, ohne sich für ein kommerzielles Produkt zu entscheiden. Weil Sie nicht wissen, welche Sicherheitslücken in diesen Produkten bestehen und wie viele Hacker auf diese Anwendungen abzielen.

Wenn Sie Ihr eigenes Tool erstellen möchten, müssen Sie folgende Punkte beachten.

  • Die Sprache / das Tool, das Sie verwenden möchten, und die kryptografische Unterstützung
  • Wie Sie die Schlüssel sichern, die
  • welche Algorithmen verwenden verwenden und was sind die Schlüssellängen
  • Müssen wir von anderen Paketen / Tools von Drittanbietern abhängen, abgesehen von der Hauptentwicklungssprache / dem Haupttool
  • Wie werden Sie Ihre beibehalten? verschlüsselte Daten (Textdatei / DB / oder in der Cloud usw.)

Wenn wir Java als Beispiel nehmen (ich weiß nicht, wie gut Sie damit vertraut sind), folgen Sie sind die Dinge, die Sie berücksichtigen müssen.

Würde ich etwas verlieren, wenn ich meine Passwörter in einem Textdokument speichere?

Nein. Sie würden nicht, wenn Sie den richtigen Algorithmus verwenden.

AES 256?

Wenn Sie Java verwenden, ist dies nicht möglich, da in der Java-Cipher-Klasse Einschränkungen hinsichtlich der Schlüsselgröße implementiert sind. Entweder müssen Sie sich auf die Bouncycastle Cryto-Bibliothek verlassen oder JCE -Dateien mit unbegrenzter Stärke verwenden. Andererseits müssen Sie Ihre Gerichtsstandsgesetze überprüfen, bevor Sie diese verwenden, wenn Sie Ihre verschlüsselten Daten exportieren möchten.

Mein Vorschlag ist, mit AES 128 fortzufahren, da es ein bisschen wie defacto ist Standard in der Branche jetzt.

Die beste Möglichkeit, Ihre verschlüsselten Daten in Ihrem Kontext zu sichern, ist die Verwendung der Objektverschlüsselung von Java mithilfe von SealedObjects, da die Verwendung einer Datenbank zum Speichern Ihrer verschlüsselten Daten meiner Meinung nach eine zusätzliche Belastung darstellt

Speichern Sie Ihre Schlüssel in einem Javakey-Shop, da dies eine der besten Möglichkeiten zum Speichern und Verteilen Ihrer Verschlüsselungsschlüssel ist.

Sie können eine Java-Anwendung erstellen, die das Kennwort für Ihren Keystore ausnimmt und die Ver- und Entschlüsselung vornimmt. Sie können einfach eine Klasse wie folgt erstellen und Ihre Passwörter verwalten. Führen Sie eine Schlüsselsuche durch, nachdem Sie das Array / die Liste der Objekte entschlüsselt haben.

  öffentliche Klasse PasswordStore {privater String-Schlüssel; private char [] passwd; privates Datum der Aktualisierung; public String getKey () {return Key; } public void setKey (String Key) {this.Key = Key; } public char [] getPasswd () {return passwd; } public void setPasswd (char [] passwd) {this.passwd = passwd; } public Date getUpdated () {return Updated; } public void setUpdated (Aktualisierungsdatum) {this.Updated = Aktualisiert; }  

Sie können ein Objekt schließlich wie folgt verschlüsseln.

  private List<PasswordStore>-Passwörter;  

Denken Sie daran, andere sichere Programmiertechniken zu verwenden, z. B. Ihr Passwort nicht in Zeichenfolgenvariablen zu speichern, da Zeichenfolgen unveränderlich und anfällig sind zum Speicherentführungsangriff.

"_Nein. Sie würden nicht ** wenn ** Sie den richtigen Algorithmus verwenden ._" Das ist eine schrecklich große IF.Die fast universelle Antwort auf Sicherheitsfragen lautet: Erfinde kein eigenes System und schreibe keine eigene Implementierung eines vorhandenen ... weil die Wahrscheinlichkeit, dass etwas falsch gemacht wird, viel höher ist als die (potenziellen) Schwachstellen in einem Test-und getestetes System.Die Entscheidung für einen Nur-Lokal-Passwort-Keeper wäre mein Rat: Wenn nichts anderes der Fall ist, bleibt bei "normalem Betrieb" jeweils nur ein Passwort im Klartext, während beim Speichern von allem in einer Datei die Gefahr besteht, dass das Los offengelegt wird.
Stellen Sie außerdem sicher, dass Ihre Passwörter nicht unverschlüsselt im Swap / auf der Festplatte landen.Stellen Sie sicher, dass Sie einen sicheren Modus für AES verwenden!Stellen Sie erneut sicher, dass Sie den EZB-Modus nicht für AES verwenden!(Java macht dies standardmäßig und es ist schrecklich unsicher!) Und dies sind nur einige häufige Fallstricke.Wenn Sie also Sicherheit wünschen, hacken Sie nichts zusammen, sondern verwenden Sie ein bekanntes, vertrauenswürdiges Open-Source-Produkt wie beispielsweise KeePass.
Tgr
2017-01-25 14:31:13 UTC
view on stackexchange narkive permalink

Sie könnten an pass interessiert sein.

Bei pass befindet sich jedes Passwort in einer gpg-verschlüsselten Datei, deren Dateiname der ist Titel der Website oder Ressource, für die das Kennwort erforderlich ist. Diese verschlüsselten Dateien können in aussagekräftigen Ordnerhierarchien organisiert, von Computer zu Computer kopiert und im Allgemeinen mit Standarddienstprogrammen zur Verwaltung von Befehlszeilendateien bearbeitet werden.

pass macht die Verwaltung dieser Dateien individuell Passwortdateien extrem einfach. Alle Passwörter befinden sich im ~ / .password-store , und pass bietet einige nützliche Befehle zum Hinzufügen, Bearbeiten, Generieren und Abrufen von Passwörtern. Es ist ein sehr kurzes und einfaches Shell-Skript. Es ist in der Lage, Passwörter vorübergehend in Ihre Zwischenablage zu schreiben und Passwortänderungen mit git zu verfolgen.

dotancohen
2017-01-24 15:42:12 UTC
view on stackexchange narkive permalink

Obwohl ich der allgemeinen Meinung zustimme, dass ein für die Aufgabe entwickelter Passwort-Manager am besten ist, werde ich mich auf die Probe stellen und vorschlagen, dass für einige Anwendungsfälle eine verschlüsselte Textdatei gut funktioniert. Sie müssen sicherstellen, dass unverschlüsselte Daten niemals auf die Festplatte geschrieben werden. Der beste Weg, den ich gefunden habe, besteht darin, dass der Texteditor die Datei transparent verschlüsselt und entschlüsselt.

Ich verwende VIM für diesen Zweck . Fügen Sie in VIM 7.4 Folgendes zu Ihrer ~ / .vimrc -Datei hinzu:

  if! Has ("nvim"): set cryptmethod = blowfishendif  

Öffnen Sie nun eine neue Datei als solche:

  $ vim -x Secrets.txt  

VIM fragt zweimal nach einem Passwort.

Jetzt können Sie die Datei ohne das Flag -x öffnen, und VIM fragt bei jedem Öffnen nach einem Kennwort. Das Speichern und Bearbeiten funktioniert normal (normal für VIM).

Mir ist unter Android oder iOs nichts bekannt, das die Datei entschlüsseln könnte, wohlgemerkt. Ich persönlich verwende LastPass für meine normalen Passwörter und die VIM-Verschlüsselung für einige Spezialarbeiten, die unterteilt werden müssen.

njm5785
2017-01-23 21:17:47 UTC
view on stackexchange narkive permalink

Ich würde nicht selbst schreiben, da dies seine eigenen Risiken birgt und viel Zeit in Anspruch nimmt. Es sei denn, Sie möchten nur ein Projekt.

Ich habe nach einem Passwort-Manager gesucht, der nicht im Rampenlicht steht. Die von mir gefundene Datei erstellt eine verschlüsselte Datenbankdatei, die Sie lokal oder in einem Cloud-Dienst wie Dropbox usw. speichern können. (Dies ist hilfreich, da Sie eine Cloud auswählen und sich nicht nur auf die Cloud-Hacker eines Unternehmens konzentrieren müssen.) Es verfügt über eine grundlegende App, mit der Sie Kennwörter markieren und sichere Kennwörter generieren können. Es hat möglicherweise nicht einige der coolen Funktionen wie Lastpass oder Dashlane, aber es gibt auch keine Cloud, die ständig angegriffen wird.

Entschuldigung, ich werde den Namen der von mir verwendeten nicht teilen (Halten Sie es aus dem Rampenlicht und allem), aber machen Sie Ihre Recherchen und Sie werden einen guten finden, der kein großer Name ist und den Sie nicht selbst programmieren müssen.

Ohne den Namen des Programms anzugeben, sagen Sie im Grunde, was bereits in einem Kommentar zu der Frage angegeben wurde ... Und nur weil es weniger bekannt ist, bedeutet dies nicht, dass es weniger wahrscheinlich angegriffen wird - könnte auch bedeuten, dass es vorhanden istweniger Leute schauen auf die Sicherheit.Keepass und Password Safe zum Beispiel haben viele Leute versucht, Fehler in ihnen zu finden, und Fehler, die auf diese Weise gefunden wurden, wurden behoben.
Ich würde keinem Passwort-Manager vertrauen, der sich auf Sicherheit durch Dunkelheit verlässt, um nicht gefährdet zu werden ...


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...