110.3 Lektion 2
Zertifikat: |
LPIC-1 |
---|---|
Version: |
5.0 |
Thema: |
110 Sicherheit |
Lernziel: |
110.3 Daten durch Verschlüsselung schützen |
Lektion: |
2 von 2 |
Einführung
In der vorangegangenen Lektion haben wir mit OpenSSH Sitzungen auf entfernten Rechnern sowie deren Informationsaustausch verschlüsselt. Es gibt andere Szenarien, in denen beispielsweise Dateien oder E-Mails verschlüsselt, d.h. sicher und geschützt vor neugierigen Blicken den Empfänger erreichen sollen. Gegebenenfalls müssen diese Dateien oder Nachrichten auch digital signiert werden, um vor Manipulationen geschützt zu sein.
Ein großartiges Werkzeug für diese Art von Anwendungen ist der GNU Privacy Guard (GnuPG oder einfach GPG), eine freie und quelloffene Implementierung des proprietären Pretty Good Privacy (PGP). GPG setzt auf den OpenPGP-Standard, den die OpenPGP Working Group der Internet Engineering Task Force (IETF) in RFC 4880 definiert hat. In dieser Lektion werden wir uns mit den Grundlagen des GNU Privacy Guard beschäftigen.
GnuPG konfigurieren, anwenden und widerrufen
Wie bei SSH ist der zugrundeliegende Mechanismus von GPG die asymmetrische oder Public-Key-Kryptographie. Ein Benutzer erzeugt ein Schlüsselpaar, bestehend aus einem privaten Schlüssel und einem öffentlichen Schlüssel. Die Schlüssel sind mathematisch so aufeinander bezogen, dass das, was mit dem einen verschlüsselt wird, nur mit dem anderen entschlüsselt werden kann. Für eine erfolgreiche Kommunikation muss der Benutzer seinen öffentlichen Schlüssel dem Empfänger zur Verfügung stellen.
GnuPG konfigurieren und anwenden
Der Befehl zum Arbeiten mit GPG lautet gpg
, dem Sie für verschiedene Aufgaben eine Reihe von Optionen übergeben. Beginnen wir mit der Erzeugung eines Schlüsselpaares als Benutzer carol
. Dazu verwenden Sie den Befehl gpg --gen-key
:
carol@debian:~$ gpg --gen-key gpg (GnuPG) 2.2.12; Copyright (C) 2018 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. gpg: directory '/home/carol/.gnupg' created gpg: keybox '/home/carol/.gnupg/pubring.kbx' created Note: Use "gpg --full-generate-key" for a full featured key generation dialog. GnuPG needs to construct a user ID to identify your key. Real name: (...)
Nachdem gpg
Sie unter anderem darüber informiert hat, dass es das Konfigurationsverzeichnis ~/.gnupg
und Ihren öffentlichen Schlüsselring ~/.gnugpg/pubring.kbx
erstellt hat, fordert es Sie auf, Ihren echten Namen und Ihre E-Mail-Adresse anzugeben:
(...) Real name: carol Email address: carol@debian You selected this USER-ID: "carol <carol@debian>" Change (N)ame, (E)mail, or (O)kay/(Q)uit?
Wenn Sie mit der resultierenden USER-ID
einverstanden sind und O drücken, werden Sie anschließend nach einer Passphrase gefragt (diese sollte ausreichend komplex sein):
┌──────────────────────────────────────────────────────┐ │ Please enter the passphrase to │ │ protect your new key │ │ │ │ Passphrase: │ (...)
Es folgen einige abschließende Meldungen über die Erstellung anderer Dateien sowie den Schlüssel selbst — und damit ist die Schlüsselerzeugung beendet:
(...) We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy. gpg: /home/carol/.gnupg/trustdb.gpg: trustdb created gpg: key 19BBEFD16813034E marked as ultimately trusted gpg: directory '/home/carol/.gnupg/openpgp-revocs.d' created gpg: revocation certificate stored as '/home/carol/.gnupg/openpgp-revocs.d/D18FA0021F644CDAF57FD0F919BBEFD16813034E.rev' public and secret key created and signed. pub rsa3072 2020-07-03 [SC] [expires: 2022-07-03] D18FA0021F644CDAF57FD0F919BBEFD16813034E uid carol <carol@debian> sub rsa3072 2020-07-03 [E] [expires: 2022-07-03]
Sehen wir uns an, was sich nun im Verzeichnis ~/.gnupg
(dem Konfigurationsverzeichnis von GPG) befindet:
carol@debian:~/.gnupg$ ls -l total 16 drwx------ 2 carol carol 4096 Jul 3 23:34 openpgp-revocs.d drwx------ 2 carol carol 4096 Jul 3 23:34 private-keys-v1.d -rw-r--r-- 1 carol carol 1962 Jul 3 23:34 pubring.kbx -rw------- 1 carol carol 1240 Jul 3 23:34 trustdb.gpg
Zu den einzelnen Dateien:
opengp-revocs.d
-
Das Widerrufszertifikat, das zusammen mit dem Schlüsselpaar erstellt wurde. Die Berechtigungen für dieses Verzeichnis sind restriktiv, da jeder mit Zugriff auf das Zertifikat den Schlüssel widerrufen könnte (mehr über den Schlüsselwiderruf im folgenden Abschnitt).
private-keys-v1.d
-
Das Verzeichnis mit Ihrem privaten Schlüssel — daher die eingeschränkten Berechtigungen.
pubring.kbx
-
Ihr öffentlicher Schlüsselbund mit Ihrem eigenen sowie alle anderen importierten öffentlichen Schlüsseln.
trustdb.gpg
-
Die Vertrauensdatenbank — sie gehört zum Konzept des Web of Trust, das nicht Thema dieser Lektion ist.
Note
|
Das Erscheinen von GnuPG 2.1 brachte einige bedeutende Änderungen mit sich, z.B. das Verschwinden der Dateien |
Sobald Ihr Schlüsselpaar erstellt wurde, können Sie sich Ihre öffentlichen Schlüssel mit gpg --list-keys
ansehen — es zeigt den Inhalt Ihres öffentlichen Schlüsselbundes:
carol@debian:~/.gnupg$ gpg --list-keys /home/carol/.gnupg/pubring.kbx ------------------------------ pub rsa3072 2020-07-03 [SC] [expires: 2022-07-03] D18FA0021F644CDAF57FD0F919BBEFD16813034E uid [ultimate] carol <carol@debian> sub rsa3072 2020-07-03 [E] [expires: 2022-07-03]
Die hexadezimale Zeichenfolge D18FA0021F644CDAF57FD0F919BBEFD16813034E
ist der Fingerabdruck Ihres öffentlichen Schlüssels (Public Key Fingerprint).
Note
|
Neben der |
Schlüssel verteilen und widerrufen
Haben Sie Ihren öffentlichen Schlüssel erstellt, sollten Sie ihn in einer Datei speichern (exportieren), um ihn Ihren zukünftigen Empfängern zur Verfügung stellen können. Diese nutzen ihn dann zum Verschlüsseln von Dateien oder Nachrichten, die für Sie bestimmt sind — da nur Sie im Besitz des privaten Schlüssels sind, sind Sie auch der Einzige, der sie entschlüsseln und lesen kann. Ebenso werden Ihre Empfänger den öffentlichen Schlüssel benutzen, um Ihre verschlüsselten oder signierten Nachrichten/Dateien zu entschlüsseln. Der Befehl ist gpg --export
, gefolgt von der USER-ID
und einer Umleitung auf den Namen der Ausgabedatei Ihrer Wahl:
carol@debian:~/.gnupg$ gpg --export carol > carol.pub.key carol@debian:~/.gnupg$ ls carol.pub.key openpgp-revocs.d private-keys-v1.d pubring.kbx trustdb.gpg
Note
|
Die Option |
Wie bereits erwähnt, müssen Sie nun Ihre öffentliche Schlüsseldatei (carol.pub.key
) an den Empfänger senden, mit dem Sie Informationen austauschen möchten. Lassen Sie uns zum Beispiel die Datei des öffentlichen Schlüssels an ina
auf dem entfernten Server halof
mittels scp
(secure copy) senden:
carol@debian:~/.gnupg$ scp carol.pub.key ina@halof:/home/ina/ Enter passphrase for key '/home/carol/.ssh/id_ecdsa': carol.pub.key 100% 1740 775.8KB/s 00:00 carol@debian:~/.gnupg$
ina
ist nun im Besitz von carol.pub.key
. Sie wird ihn verwenden, um eine Datei zu verschlüsseln und sie im nächsten Abschnitt an carol
zu senden.
Note
|
Eine andere Möglichkeit, öffentliche Schlüssel zu verteilen, sind sogenannte Schlüsselserver. Sie laden Ihren öffentlichen Schlüssel mit dem Befehl |
Zum Abschluss dieses Abschnitts erörtern wir den Widerruf von Schlüsseln. Der Widerruf eines Schlüssels sollte erfolgen, wenn Ihre privaten Schlüssel kompromittiert oder aus dem Verkehr gezogen wurden. Der erste Schritt besteht darin, ein Widerrufszertifikat zu erstellen, indem Sie gpg
die Option --gen-revoke
, gefolgt von der USER-ID
, übergeben. Um das resultierende Zertifikat in einer Datei zu speichern (statt es auf dem Terminalbildschirm auszugeben) stellen Sie --gen-revoke
die Option --output
voran, gefolgt vom Namen der Zieldatei. Die Ausgabemeldungen während des Widerrufsprozesses sind selbsterklärend:
sonya@debian:~/.gnupg$ gpg --output revocation_file.asc --gen-revoke sonya sec rsa3072/0989EB7E7F9F2066 2020-07-03 sonya <sonya@debian> Create a revocation certificate for this key? (y/N) y Please select the reason for the revocation: 0 = No reason specified 1 = Key has been compromised 2 = Key is superseded 3 = Key is no longer used Q = Cancel (Probably you want to select 1 here) Your decision? 1 Enter an optional description; end it with an empty line: > My laptop was stolen. > Reason for revocation: Key has been compromised My laptop was stolen. Is this okay? (y/N) y ASCII armored output forced. Revocation certificate created. Please move it to a medium which you can hide away; if Mallory gets access to this certificate he can use it to make your key unusable. It is smart to print this certificate and store it away, just in case your media become unreadable. But have some caution: The print system of your machine might store the data and make it available to others!
Das Widerrufzertifikat wurde in der Datei revocation_file.asc
(asc
für ASCII-Format) gespeichert:
sonya@debian:~/.gnupg$ ls openpgp-revocs.d private-keys-v1.d pubring.kbx revocation_file.asc trustdb.gpg sonya@debian:~/.gnupg$ cat revocation_file.asc -----BEGIN PGP PUBLIC KEY BLOCK----- Comment: This is a revocation certificate iQHDBCABCgAtFiEEiIVjfDnnpieFi0wvnlcN6yLCeHEFAl8ASx4PHQJzdG9sZW4g bGFwdG9wAAoJEJ5XDesiwnhxT9YMAKkjQiMpo9Uyiy9hyvukPPSrLcmtAGLk4pKS pLZfzA5kxa+HPQwBglAEvfNRR6VMxqXUgUGYC/IAyQQM62oNAcY2PCPrxyJNgVF7 8l4mMZKvW++5ikjZwyg6WWV0+w6oroeo9qruJFjcu752p4T+9gsHVa2r+KRqcPQe aZ65sAvsBJlcsUDZqfWUXg2kQp9mNPCdQuqvDaKRgNCHA1zbzNFzXWVd2X5RgFo5 nY+tUP8ZQA9DTQPBLPcggICmfLopMPZYB2bft5geb2mMi2oNpf9CNPdQkdccimNV aRjqdUP9C89PwTafBQkQiONlsR/dWTFcqprG5KOWQPA7xjeMV8wretdEgsyTxqHp v1iRzwjshiJCKBXXvz7wSmQrJ4OfiMDHeS4ipR0AYdO8QCzmOzmcFQKikGSHGMy1 z/YRlttd6NZIKjf1TD0nTrFnRvPdsZOlKYSArbfqNrHRBQkgirOD4JPI1tYKTffq iOeZFx25K+fj2+0AJjvrbe4HDo5m+Q== =umI8 -----END PGP PUBLIC KEY BLOCK-----
Um Ihren privaten Schlüssel tatsächlich zu widerrufen, führen Sie nun das Zertifikat mit dem Schlüssel zusamm, indem Sie die Widerrufszertifikatsdatei in Ihren Schlüsselbund importieren:
sonya@debian:~/.gnupg$ gpg --import revocation_file.asc gpg: key 9E570DEB22C27871: "sonya <sonya@debian>" revocation certificate imported gpg: Total number processed: 1 gpg: new key revocations: 1 gpg: marginals needed: 3 completes needed: 1 trust model: pgp gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u gpg: next trustdb check due at 2022-07-04
Listen Sie Ihre Schlüssel jetzt auf, erhalten Sie Informationen über Ihren widerrufenen Schlüssel:
sonya@debian:~/.gnupg$ gpg --list-keys /home/sonya/.gnupg/pubring.kbx pub rsa3072 2020-07-04 [SC] [revoked: 2020-07-04] 8885637C39E7A627858B4C2F9E570DEB22C27871 uid [ revoked] sonya <sonya@debian>
Zu guter Letzt stellen Sie sicher, dass Sie den widerrufenen Schlüssel allen Parteien zur Verfügung stellen, die öffentliche Schlüssel mit ihm verknüpft haben (einschließlich Keyserver).
Mit GPG Dateien verschlüsseln, entschlüsseln, signieren und prüfen
Im vorangegangenen Abschnitt hat carol
ihren öffentlichen Schlüssel an ina
geschickt. Wir nutzen ihn nun, um mit GPG Dateien zu verschlüsseln, zu entschlüsseln, zu signieren und zu prüfen.
Dateien verschlüsseln und entschlüsseln
Znächst muss ina
den öffentlichen Schlüssel von carol
(carol.pub.key
) in ihren Schlüsselbund importieren, damit sie mit diesem arbeiten kann:
ina@halof:~> gpg --import carol.pub.key gpg: /home/ina/.gnupg/trustdb.gpg: trustdb created gpg: key 19BBEFD16813034E: public key "carol <carol@debian>" imported gpg: Total number processed: 1 gpg: imported: 1 ina@halof:~> gpg --list-keys /home/ina/.gnupg/pubring.kbx ---------------------------- pub rsa3072 2020-07-03 [SC] [expires: 2022-07-03] D18FA0021F644CDAF57FD0F919BBEFD16813034E uid [ unknown] carol <carol@debian> sub rsa3072 2020-07-03 [E] [expires: 2022-07-03]
Nun erstellen Sie eine Datei, indem Sie einen Text hineinschreiben und ihn dann mit gpg
verschlüsseln — da Sie den Schlüssel von carol
nicht signiert haben, werden Sie ausdrücklich gefragt, ob Sie ihn tatsächlich verwenden wollen:
ina@halof:~> echo "This is the message ..." > unencrypted-message ina@halof:~> gpg --output encrypted-message --recipient carol --armor --encrypt unencrypted-message gpg: 0227347CC92A5CB1: There is no assurance this key belongs to the named user sub rsa3072/0227347CC92A5CB1 2020-07-03 carol <carol@debian> Primary key fingerprint: D18F A002 1F64 4CDA F57F D0F9 19BB EFD1 6813 034E Subkey fingerprint: 9D89 1BF9 39A4 C130 E44B 1135 0227 347C C92A 5CB1 It is NOT certain that the key belongs to the person named in the user ID. If you really know what you are doing, you may answer the next question with yes. Use this key anyway? (y/N) y
Lassen Sie uns den Befehl gpg
aufschlüsseln:
--output encrypted-message
-
Angabe des Dateinamens für die verschlüsselte Version der Originaldatei (hier:
encrypted-message
). --recipient carol
-
Angabe der
USER-ID
des Empfängers (hier:carol
). Falls nicht angegeben, fragt GnuPG danach (es sei denn,--default-recipient
ist definiert). --armor
-
Erzeugt eine ASCII-basierende Ausgabe, die beispielsweise in eine E-Mail kopiert werden kann.
--encrypt unencrypted-message
-
Angabe des Dateinamens der zu verschlüsselnden Originaldatei (hier:
unencrypted-message
).
Sie können nun encrypted-message
an carol
auf debian
mittels scp
übertragen:
ina@halof:~> scp encrypted-message carol@debian:/home/carol/ carol@debian's password: encrypted-message 100% 736 1.8MB/s 00:00
Wenn Sie sich jetzt als carol
anmelden und versuchen, encrypted-message
zu lesen, werden Sie feststellen, dass sie tatsächlich verschlüsselt und damit unlesbar ist:
carol@debian:~$ cat encrypted-message -----BEGIN PGP MESSAGE----- hQGMAwInNHzJKlyxAQv/brJ8Ubs/xya35sbv6kdRKm1C7ONLxL3OueWA4mCs0Y/P GBna6ZEUCrMEgl/rCyByj3Yq74kuiTmzxAIRUDdvHfj0TtrOWjVAqIn/fPSfMkjk dTxKo1i55tLJ+sj17dGMZDcNBinBTP4U1atuN71A5w7vH+XpcesRcFQLKiSOmYTt F7SN3/5x5J6io4ISn+b0KbJgiJNNx+Ne/ub4Uzk4NlK7tmBklyC1VRualtxcG7R9 1klBPYSld6fTdDwT1Y4MofpyILAiGMZvUR1RXauEKf7OIzwC5gWU+UQPSgeCdKQu X7QL0ZIBS0Ug2XKrO1k93lmDjf8PWsRIml6n/hNelaOBA3HMP0b6Ozv1gFeEsFvC IxhUYPb+rfuNFTMEB7xIO94AAmWB9N4qknMxdDqNE8WhA728Plw6y8L2ngsplY15 MR4lIFDpljA/CcVh4BXVe9j0TdFWDUkrFMfaIfcPQwKLXEYJp19XYIaaEazkOs5D W4pENN0YOcX0KWyAYX6r0l8BF0rq/HMenQwqAVXMG3s8ATuUOeqjBbR1x1qCvRQP CR/3V73aQwc2j5ioQmhWYpqxiro0yKX2Ar/E6rZyJtJYrq+CUk8O3JoBaudknNFj pwuRwF1amwnSZ/MZ/9kMKQ== =g1jw -----END PGP MESSAGE-----
Da Sie jedoch im Besitz des privaten Schlüssels sind, entschlüsseln Sie die Nachricht, indem Sie gpg
die Option --decrypt
, gefolgt vom Pfad zur verschlüsselten Datei, übergeben — Sie benötigen auch die Passphrase des privaten Schlüssels:
carol@debian:~$ gpg --decrypt encrypted-message gpg: encrypted with 3072-bit RSA key, ID 0227347CC92A5CB1, created 2020-07-03 "carol <carol@debian>" This is the message ...
Mit der Option --output
veranlassen Sie gpg
, die Nachricht in einer neuen, unverschlüsselten Datei zu speichern:
carol@debian:~$ gpg --output unencrypted-message --decrypt encrypted-message gpg: encrypted with 3072-bit RSA key, ID 0227347CC92A5CB1, created 2020-07-03 "carol <carol@debian>" carol@debian:~$ cat unencrypted-message This is the message ...
Dateien signieren und prüfen
Neben dem Verschlüsseln dient GPG auch dem Signieren von Dateien — wichtig ist hier die Option --sign
. Erstellen wir eine neue Nachricht (message
) und signieren diese mit der Option --sign
(Sie benötigen die Passphrase Ihres privaten Schlüssels):
carol@debian:~$ echo "This is the message to sign ..." > message carol@debian:~$ gpg --output message.sig --sign message (...)
Erläuterungen zum gpg
-Befehl:
--output message
-
Angabe des Dateinamens der signierten Version der Originaldatei (in unserem Beispiel
message.sig
). --sign message
-
Pfad zur Originaldatei.
Note
|
Mit |
Danach übertragen wir die Datei zu ina
auf halof
mit scp message.sig ina@halof:/home/ina
. Zurück als ina
auf halof
können Sie nun mit der Option --verify
die Datei verifizieren:
ina@halof:~> gpg --verify message.sig gpg: Signature made Sat 04 jul 2020 14:34:41 CEST gpg: using RSA key D18FA0021F644CDAF57FD0F919BBEFD16813034E gpg: Good signature from "carol <carol@debian>" [unknown] (...)
Um die Datei auch zu lesen, entschlüsseln Sie sie Datei mit der Option --output
in eine neue Datei (in unserem Fall message
):
ina@halof:~> gpg --output message --decrypt message.sig gpg: Signature made Sat 04 jul 2020 14:34:41 CEST gpg: using RSA key D18FA0021F644CDAF57FD0F919BBEFD16813034E gpg: Good signature from "carol <carol@debian>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: D18F A002 1F64 4CDA F57F D0F9 19BB EFD1 6813 034E ina@halof:~> cat message This is the message to sign ...
GPG-Agent
Zum Abschluss dieser Lektion werfen wir einen Blick auf gpg-agent
, den Daemon, der private Schlüssel für GPG verwaltet — er wird bei Bedarf von gpg
gestartet. Für eine Zusammenfassung der nützlichsten Optionen führen Sie gpg-agent --help
oder gpg-agent -h
aus:
carol@debian:~$ gpg-agent --help gpg-agent (GnuPG) 2.2.4 libgcrypt 1.8.1 Copyright (C) 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Syntax: gpg-agent [options] [command [args]] Secret key management for GnuPG Options: --daemon run in daemon mode (background) --server run in server mode (foreground) --supervised run in supervised mode -v, --verbose verbose -q, --quiet be somewhat more quiet -s, --sh sh-style command output -c, --csh csh-style command output (...)
Note
|
Weitere Informationen finden Sie in der Manpage von |
Geführte Übungen
-
Vervollständigen Sie die Tabelle durch Angabe des richtigen Dateinamens:
Beschreibung Dateiname Vertrauensdatenbank
Verzeichnis für Sperrzertifikate
Verzeichnis für private Schlüssel
Öffentlicher Schlüsselanhänger
-
Beantworten Sie die folgenden Fragen:
-
Welche Art von Kryptographie nutzt GnuPG?
-
Welche sind die beiden Hauptbestandteile der Public-Key-Kryptographie?
-
Wie lautet die
KEY-ID
des Fingerabdrucks des öffentlichen Schlüssels07A6 5898 2D3A F3DD 43E3 DA95 1F3F 3147 FA7F 54C7
? -
Welche Methode wird für die Verteilung öffentlicher Schlüssel auf globaler Ebene verwendet?
-
-
Bringen Sie die folgenden Schritte zum Widerruf des privaten Schlüssels in die richtige Reihenfolge:
-
Widerrufenen Schlüssel den Kommunikationspartnern zur Verfügung stellen
-
Sperrzertifikat erstellen
-
Sperrzertifikat in Schlüsselbund importieren
Die richtige Reihenfolge ist:
Schritt 1:
Schritt 2:
Schritt 3:
-
-
Was bedeutet die Option
--armor
in dem Befehlgpg --output encrypted-message --recipient carol --armor --encrypt unencrypted-message
in Bezug auf die Dateiverschlüsselung?
Offene Übungen
-
Die meisten
gpg
-Optionen haben sowohl eine lange als auch eine kurze Version. Vervollständigen Sie die Tabelle mit der entsprechenden Kurzversion:Langfassung Kurzfassung --armor
--output
--recipient
--decrypt
--encrypt
--sign
-
Beantworten Sie die folgenden Fragen zum Schlüsselexport:
-
Mit welchem Befehl exportieren Sie alle Ihre öffentlichen Schlüssel in eine Datei namens
all.key
? -
Mit welchem Befehl exportieren Sie alle Ihre privaten Schlüssel in eine Datei namens
all_private.key
?
-
-
Mit welcher
gpg
-Option rufen Sie ein Menü auf, mit dem Sie die meisten Aufgaben im Zusammenhang mit der Schlüsselverwaltung durchführen? -
Mit welcher
gpg
-Option erstellen Sie eine Klartextsignatur?
Zusammenfassung
In dieser Lektion haben Sie GNU Privacy Guard kennengelernt, die erste Wahl zum Verschlüsseln/Entschlüsseln und digitalen Signieren/Verifizieren von Dateien. Sie haben gelernt:
-
Wie Sie ein Schlüsselpaar erzeugen.
-
Wie Sie die Schlüssel in Ihrem Schlüsselbund auflisten.
-
Den Inhalt des Verzeichnisses
~/.gnupg
. -
Was
USER-ID
undKEY-ID
sind. -
Wie Sie öffentliche Schlüssel an Ihre Kommunikationspartner weitergeben.
-
Wie Sie öffentliche Schlüssel über öffentliche Keyserver verteilen.
-
Wie Sie private Schlüssel widerrufen.
-
Wie Sie Dateien verschlüsseln und entschlüsseln.
-
Wie Sie Dateien signieren und prüfen.
-
Die Grundlagen des GPG-Agenten.
Die folgenden Befehle wurden in dieser Lektion behandelt:
gpg
-
OpenPGP Verschlüsselungs- und Signierwerkzeug.
Lösungen zu den geführten Übungen
-
Vervollständigen Sie die Tabelle durch Angabe des richtigen Dateinamens:
Beschreibung Dateiname Vertrauensdatenbank
trustdb.gpg
Verzeichnis für Sperrzertifikate
opengp-revocs.d
Verzeichnis für private Schlüssel
private-keys-v1.d
Öffentlicher Schlüsselring
pubring.kbx
-
Beantworten Sie die folgenden Fragen:
-
Welche Art von Kryptographie nutzt GnuPG?
Kryptographie mit öffentlichem Schlüssel oder asymmetrische Kryptographie.
-
Welche sind die beiden Hauptbestandteile der Public-Key-Kryptographie?
Der öffentliche und der private Schlüssel.
-
Wie lautet die
KEY-ID
des Fingerabdrucks des öffentlichen Schlüssels07A6 5898 2D3A F3DD 43E3 DA95 1F3F 3147 FA7F 54C7
?FA7F 54C7
-
Welche Methode wird für die Verteilung öffentlicher Schlüssel auf globaler Ebene verwendet?
Schlüsselserver.
-
-
Bringen Sie die folgenden Schritte zum Widerruf des privaten Schlüssels in die richtige Reihenfolge:
-
Widerrufenen Schlüssel den Kommunikationspartnern zur Verfügung stellen
-
Sperrzertifikat erstellen
-
Sperrzertifikat in Schlüsselbund importieren
Die richtige Reihenfolge ist:
Schritt 1:
Sperrzertifikat erstellen
Schritt 2:
Sperrzertifikat in Schlüsselbund importieren
Schritt 3:
Widerrufenen Schlüssel den Kommunikationspartnern zur Verfügung stellen
-
-
Was bedeutet die Option
--armor
in dem Befehlgpg --output encrypted-message --recipient carol --armor --encrypt unencrypted-message
in Bezug auf die Dateiverschlüsselung?Sie erzeugt eine geschützte ASCII-Ausgabe, so dass sich die resultierende verschlüsselte Datei in eine E-Mail kopieren lässt.
Lösungen zu den offenen Übungen
-
Die meisten
gpg
-Optionen haben sowohl eine lange als auch eine kurze Version. Vervollständigen Sie die Tabelle mit der entsprechenden Kurzversion:Langfassung Kurzfassung --armor
-a
--output
-o
--recipient
-r
--decrypt
-d
--encrypt
-e
--sign
-s
-
Beantworten Sie die folgenden Fragen zum Schlüsselexport:
-
Mit welchem Befehl exportieren Sie alle Ihre öffentlichen Schlüssel in eine Datei namens
all.key
?gpg --export --output all.key
odergpg --export -o all.key
-
Mit welchem Befehl exportieren Sie alle Ihre privaten Schlüssel in eine Datei namens
all_private.key
?gpg --export-secret-keys --output all_private.key
odergpg --export-secret-keys -o all_private.key
(Sie können statt--export-secret-keys
auch--export-secret-subkeys
setzten, was zu einem etwas anderen Ergebnis führt — sieheman pgp
für weitere Informationen).
-
-
Mit welcher
gpg
-Option rufen Sie ein Menü auf, mit dem Sie die meisten Aufgaben im Zusammenhang mit der Schlüsselverwaltung durchführen?--edit-key
-
Mit welcher
gpg
-Option erstellen Sie eine Klartextsignatur?--clearsign