Verschlüsseln Sie die tar-Datei asymmetrisch

1996
DerMike

Ich möchte so etwas erreichen

tar -c directory | openssl foo > encrypted_tarfile.dat 

Ich brauche das openssl-Tool, um die Verschlüsselung mit öffentlichen Schlüsseln zu verwenden.

Ich habe beim Befehl promt (sic!) Eine frühere Frage zur symmetrischen Verschlüsselung gefunden, die nicht ausreicht. Ich habe mir die Manpage openssl (1) angesehen und nur symmetrische Verschlüsselung gefunden. Unterstützt openssl wirklich keine asymmetrische Verschlüsselung?

Grundsätzlich sollen viele Benutzer ihre verschlüsselten TAR-Dateien erstellen und an einem zentralen Ort speichern, aber nur wenige dürfen sie lesen.

2

4 Antworten auf die Frage

3
Jeremy W. Sherman

Die asymmetrischen Verschlüsselungsroutinen von OpenSSL liegen unter dem rsautlUnterbefehl. (In den letzten Versionen von OpenSSL wurde dies durch den pkeyutlBefehl ersetzt, die Argumente scheinen jedoch identisch zu sein.)

Verschlüsseln Sie eine TAR-Datei mit dem öffentlichen Schlüssel einer anderen Person:

openssl rsautl -encrypt -inkey Bob.pub -pubin -in foo.tar -out foo.tar.enc 

Sie können dann die tar-Datei mit ihrem privaten Schlüssel entschlüsseln:

openssl rsautl -decrypt -inkey Bob -in foo.tar.enc -out foo.tar 

Beachten Sie, dass SSH und SSL unterschiedliche Schlüsselformate verwenden. Wenn Sie also einen SSH-Schlüssel für die Verschlüsselung / Entschlüsselung verwenden möchten, können Sie ~ / .ssh / id_rsa.pub nicht so verwenden, wie er ist.

2
rems

Verwenden Sie gpg --encrypt .

Mit "-r" können Sie die Benutzer-ID übergeben.

Sehen

man gpg 
Es scheint, dass DerMike fragt, wie dies über openssl geht? Jeremy W. Sherman vor 10 Jahren 1
1
galets

Wenn Sie keine GPG-Infrastruktur einrichten möchten und die Datei nur mit einem öffentlichen / privaten Schlüsselpaar verschlüsseln möchten, kann das folgende Tool hilfreich sein: https://github.com/galets/AsymmetricCrypt . Sie benötigen Mono unter Linux, um es auszuführen.

Haftungsausschluss: Ich habe es geschrieben

1
nponeccop

Hier sind 2 Beispiele aus man openssl:

Send encrypted mail using triple DES:  openssl smime -encrypt -in in.txt -from steve@openssl.org \ -to someone@somewhere -subject "Encrypted message" \ -des3 user.pem -out mail.msg Sign and encrypt mail:  openssl smime -sign -in ml.txt -signer my.pem -text \ | openssl smime -encrypt -out mail.msg \ -from steve@openssl.org -to someone@somewhere \ -subject "Signed and Encrypted message" -des3 user.pem 

Einige Verwirrung kommt von der Tatsache, dass s/mimeund des3erwähnt werden. In den obigen Beispielen geschieht jedoch Folgendes:

  • Ein neuer zufälliger symmetrischer Schlüssel wird generiert
  • Die Datei wird mit dem symmetrischen Schlüssel verschlüsselt
  • Der symmetrische Schlüssel wird mit einem asymmetrischen Algorithmus verschlüsselt, in dem ein öffentlicher Schlüssel gespeichert ist user.pem
  • Der verschlüsselte symmetrische Schlüssel, die verschlüsselte Datei und die Metadaten werden in einen Standardcontainer gestellt

Das Endergebnis ist, dass die in.txtDatei in eine mail.msgDatei verschlüsselt wird, sodass nur der Benutzer, der über den öffentlichen Schlüssel mit dem user.pemöffentlichen Schlüssel verfügt, diesen entschlüsseln kann.