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.