Passwortverschlüsselung und -entschlüsselung

Passwortverschlüsselung und -entschlüsselung

Ich habe das Passwort als Klartext in einer txt-Datei gespeichert. Nun möchte ich das Skript schreiben, das den Klartext aus der txt-Datei liest und diesen anschließend verschlüsseln und entschlüsseln soll.

Antwort1

Das Verschlüsseln eines Passworts ist nutzlos, wenn Sie es nicht verschlüsselt aufbewahren können. Sobald Sie es entschlüsseln, ist es wieder angreifbar.

Egal, wie kryptografisch schwierig sie sind, die Verschlüsselungs- und Entschlüsselungsmethoden sind sowieso für jeden sichtbar und können kopiert und eingefügt werden. Das macht es nur noch alberner.

chmodist ein viel besserer Schutz gegen Schnüffelei als eine Rube-Goldberg-Maschine, aber mit etwas Arbeit können Sie möglicherweise die Verwendung gespeicherter Passwörter ganz vermeiden, was eine sehr gute Sache wäre. Denn: Abrufbar gespeicherte Passwörter sind ein heißes Eisen in Sachen Sicherheit und sollten vermieden werden. Sie sind eine so schlechte Idee, dass Sie sudosie sunicht nur vermeiden sollten , sondern sshsie alle speziell darauf ausgelegt sind, Sie auch von ihrer Verwendung abzuhalten.scpsftp

Wenn Sie vorhaben, nach einem Kennwort gefragt zu werden (was nur eine begrenzte Verwendung hat, ich ziehe aber die Möglichkeit für die Automatisierung von Vorgängen oder Ähnliches in Betracht), können Sie ein Dienstprogramm wie verwenden openssl.

$ echo foobar | openssl enc -aes-128-cbc -a -salt -pass pass:asdffdsa
U2FsdGVkX1/lXSnI4Uplc6DwDPPUQ/WjHULJoKypTO8=

$ echo U2FsdGVkX1/lXSnI4Uplc6DwDPPUQ/WjHULJoKypTO8= | openssl enc -aes-128-cbc -a -d -salt -pass pass:asdffdsa
foobar

Alternativ können Sie dies tun,

$ touch pass.txt && echo foobar > pass.txt
$ openssl bf -a -salt -in pass.txt -out secret && rm -f pass.txt
enter bf-cbc encryption password:
Verifying - enter bf-cbc encryption password:

$ openssl bf -d -a -in secret -out pass.txt
enter bf-cbc decryption password:

$ cat pass.txt
foobar

Antwort2

Klingt, als ob Sie das Rad neu erfinden möchten. Mein persönlicher Vorschlag wäre, eine Textdatei mit Ihren gewünschten Passwörtern zu erstellen, die für Sie ästhetisch ansprechend angeordnet ist (eindeutiger Benutzername, Passwort und Site, zu der es gehört, in jeder Zeile?).

Generieren Sie einen 4096-Bit-RSA-Schlüssel, indem gpg --full-gen-keySie „RSA und RSA“ auswählen. Oder, verdammt, 2048 Bit ist technisch immer noch sicher zu verwenden. Gehen Sie nur nicht unter 2048 Bit.

gpg -e passwords.txtum die Datei mit den darin enthaltenen Passwörtern zu verschlüsseln.

Geben Sie den Namen des Empfängers ein (das wären Sie). Überprüfen Sie anschließend, ob die Datei password.txt.gpgexistiert. Löschen Sie anschließend die ursprüngliche (unverschlüsselte) Datei passwords.txt.

Jetzt der einfache Teil.

Wenn Sie eines der Passwörter in der Datei benötigen, führen Sie aus gpg -d passwords.txt.gpg

Sie müssen sich nur das Passwort merken, das Sie beim Generieren des RSA-Schlüssels ausgewählt haben. Der unverschlüsselte Inhalt wird dann auf stdout (das von Ihnen verwendete Terminal) ausgegeben. Kinderleicht.

Eine Alternative zu RSA wäre die Verwendung dieser Methode zur Schlüsselgenerierung:

gpg --full-gen-key --expert

Wählen Sie dann Option 9 – „ECC und ECC“. Wählen Sie als Algorithmus Brainpool P-512. Viel schnellere Schlüsselgenerierung als RSA und genauso sicher bei kleinerer Schlüsselgröße. Wirklich persönliche Vorliebe. Der Rest meiner Antwort (Verschlüsselung/Entschlüsselung der Kennwortdatei) gilt weiterhin.

Alternativ können Sie auchsuper duperGehen Sie es einfach an und verwenden Sie einfach vorgefertigte Software wie KeePassX, um Passwörter verschlüsselt zu speichern.

verwandte Informationen