GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So signieren Sie eine Datei unter Linux mit GnuPg (digitale Signaturen) digital

Da viele Unternehmen von Papierdokumenten zu digitalen Dokumenten übergehen, sind digitale Signaturen erforderlich, um sensible digitale Dokumente zu verwalten. Digitale Signaturen können verwendet werden, um die Quelle der Nachricht zu authentifizieren, sodass der Empfänger entscheiden kann, ob er dem Absender vertraut oder nicht. Heutzutage wird es am häufigsten für die Softwareverteilung und Finanztransaktionen verwendet.

Bei der Public-Key-Kryptographie ist es möglich, einen privaten Schlüssel zum Signieren einer Datei zu verwenden. Jeder, der über den entsprechenden öffentlichen Schlüssel verfügt, kann überprüfen, ob die Datei mit dem privaten Schlüssel signiert wurde. Wer den privaten Schlüssel nicht hat, kann eine solche Signatur nicht fälschen.

Digitale Signaturen können zur Absenderauthentifizierung und Nachweisbarkeit verwendet werden. Der Unterzeichner kann nicht behaupten, dass er das Dokument nicht unterzeichnet hat.

Heutzutage spielen digitale Signaturen eine Schlüsselrolle bei der Softwareverteilung. Wenn Sie eine Software vom Debian-Spiegel installieren, wird die Software nach dem Herunterladen überprüfen, ob die Software von einer vertrauenswürdigen Quelle stammt, indem die Signatur überprüft wird, wodurch sichergestellt wird, dass das Paket von einer vertrauenswürdigen Quelle stammt.

Nun sehen wir uns die verschiedenen Methoden zum Signieren von Dokumenten mit dem GnuPG-Tool an.

Wenn Sie neu im GnuPG-Tool sind, sollten Sie zuerst verstehen, wie die grundlegenden gpg-Befehle verwendet werden.

Eine digitale Signatur zertifiziert und versieht ein Dokument mit einem Zeitstempel. Wenn das Dokument in irgendeiner Weise verändert wird, schlägt eine Überprüfung der Signatur fehl.

1. Digitale Signatur für eine Datei erstellen

Um ein Dokument digital zu signieren, wird die Option „Signieren“ verwendet. Sie werden aufgefordert, Ihre Passphrase einzugeben, um den privaten Schlüssel freizugeben, der zum Signieren des Dokuments verwendet wird.

$ gpg --sign file.txt

You need a passphrase to unlock the secret key for
user: "lakshmanan (This is lakshmans key) "
2048-bit RSA key, ID 3630F8D6, created 2012-12-30

Enter passphrase:

Jetzt wird eine Datei namens „file.txt.gpg“ im Binärformat erstellt. Die Eingabedatei wird komprimiert, bevor die Datei signiert wird.

2. Digitale Signatur verifizieren

Bei einem signierten Dokument können Sie die Signatur mit der Option –verify überprüfen.

$ gpg --verify file.txt.gpg

gpg: Signature made Saturday 12 January 2013 11:17:46 PM IST using RSA key ID 3630F8D6
gpg: Good signature from "lakshmanan (This is lakshmans key) "

Der obige Befehl überprüft, ob die Signatur gut ist.

3. Extrahieren Sie das Dokument aus der Datei

Um das Originaldokument aus der signierten Datei zu extrahieren, verwenden Sie die Option –decrypt. Sie können die –output verwenden, um die Ausgabedatei zum Speichern des tatsächlichen Dateiinhalts anzugeben.

$ gpg --output doc.txt --decrypt file.txt.gpg

gpg: Signature made Saturday 12 January 2013 11:17:46 PM IST using RSA key ID 3630F8D6
gpg: Good signature from "lakshmanan (This is lakshmans key) "

Jetzt wird das eigentliche Dokument in der Datei doc.txt gespeichert.

4. Unterzeichnen Sie die Dokumente eindeutig

Eine häufige Verwendung von digitalen Signaturen ist das Versenden von E-Mails. In einem solchen Fall ist es nicht wünschenswert, die Datei binär zu komprimieren und zu signieren. Sie können die Option –clearsign verwenden, um die Datei in gepanzerte ASCII-Signaturen einzuschließen.

$ gpg --output file.sig --clearsign file.txt

Nun wird eine ASCII-Datei namens file.sig erstellt, die die digitale Signatur und die Datei selbst enthält.

$ cat file.sig

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

This is a test file
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iQEcBAEBAgAGBQJQ8af1AAoJEHUf3BE2MPjWJ6QIAIoM7vZlvVD4PR4TgqKkUAr5
S4Pc/7tjkEquBcPfzHgm6MPdTd7kIvUzwHNkkST0FyB2cLzvx8wNf7Zp/kDYL0Uz
/7UCocMPsDBYHasUY4XRfCDUkF0ER/NAFdiL9AUTvQf6oQxwuQG9sWxb6tcK8eiV
U7BBvQvMl6RszP+e7VXgcDbNeYMrTDwrivP9BKwAFuBtZmRg0vQKnjenUyVJL6gJ
tndkwtOd1XGpc5ZKCTRSKOoTonuUQAD1q0Pi6nmeaNskSqwVOxzQcV6lQ8nHJTh2
XfKSAopNriv405YfC1KO5H2Ffzee2jx+o3HqxfU1vQbHtP7uf4QqxUc2HtDnRNQ=
=PN+K
-----END PGP SIGNATURE-----

Die Überprüfung des klar signierten Dokuments ähnelt der Überprüfung des binär signierten Dokuments.

5. Getrennte Signatur erstellen

Bei getrennten Signaturen wird eine neue Datei als Signatur erstellt. Sie können die Option –detach-sign verwenden, um eine getrennte Signatur zu erstellen.

$ gpg --armor --detach-sig file.txt

Nun wird eine ASCII-Datei mit dem Namen file.txt.asc erstellt, die die abgetrennte Signatur enthält. Sie können –output verwenden, um den Dateinamen der getrennten Signatur zu ändern.

6. Überprüfen Sie die abgetrennte Signatur

Um eine getrennte Signatur zu verifizieren, benötigen Sie sowohl die Signaturdatei als auch die Datendatei.

$ gpg --verify file.txt.asc file.txt

gpg: Signature made Sunday 13 January 2013 12:13:59 AM IST using RSA key ID 3630F8D6
gpg: Good signature from "lakshmanan (This is lakshmans key) "

Versuchen wir, die file.txt zu bearbeiten. Fügen Sie etwas Inhalt zur file.txt hinzu und versuchen Sie, die Signatur zu verifizieren.

$ echo "Append" >> file.txt

$ gpg --verify file.txt.asc file.txt
gpg: Signature made Sunday 13 January 2013 12:13:59 AM IST using RSA key ID 3630F8D6
gpg: BAD signature from "lakshmanan (This is lakshmans key) "

Jetzt ist die Überprüfung fehlgeschlagen und sagt BAD-Signatur, da der Inhalt geändert wurde.

7. Verschlüsseln und signieren Sie ein Dokument

In einem unserer vorherigen Beiträge haben wir auch ausführlich darüber gesprochen, wie man eine Datei mit GnuPG ver- und entschlüsselt. Wenn Sie ein Dokument jedoch gleichzeitig verschlüsseln und signieren möchten, gehen Sie wie folgt vor:

$ gpg --sign --encrypt --recipient raman file.txt

Der obige Befehl verschlüsselt die file.txt und signiert das Dokument digital. Der Empfänger kann die Signatur überprüfen und das Dokument mit der Option –decrypt.

entschlüsseln
Linux
  1. Wie benenne ich eine Datei unter Linux um?

  2. So erstellen Sie Sparse-Dateien in Linux mit dem Befehl „dd“.

  3. Wie hängt man eine Datei mit dem Mail-Befehl unter Linux an?

  4. Wie kopiere ich eine Datei über FTP mit Ubuntu Linux?

  5. So bearbeiten Sie eine Excel-Datei (xlsx) mit der Linux-Shell

So erstellen Sie einen symbolischen Link in Linux mit dem Ln-Befehl

So überwachen Sie Dateiänderungen mit fswatch unter Linux

Digitale Signaturen mit GnuPG

So sperren Sie eine Textdatei in Linux mit dem Befehl flock

So verknüpfen Sie eine Datei unter Linux per Symlink

So laden Sie eine Datei mit Wget über Proxy in Linux herunter