Linux Professional Institute Learning Logo.
Weiter zum Inhalt
  • Home
    • Alle Ressourcen
    • LPI Lernmaterialien
    • Mitmachen
    • Publishing Partner
    • Publishing Partner werden
    • Über uns
    • FAQ
    • Mitwirkende
    • Roadmap
    • Kontakt
  • LPI.org
110.3 Lektion 2
Thema 105: Shells und Shell-Skripte
105.1 Die Shell-Umgebung anpassen und verwenden
  • 105.1 Lektion 1
  • 105.1 Lektion 2
  • 105.1 Lektion 3
105.2 Einfache Skripte anpassen oder schreiben
  • 105.2 Lektion 1
  • 105.2 Lektion 2
Thema 106: Benutzerschnittstellen und Desktops
106.1 X11 installieren und konfigurieren
  • 106.1 Lektion 1
106.2 Grafische Desktops
  • 106.2 Lektion 1
106.3 Barrierefreiheit
  • 106.3 Lektion 1
Thema 107: Administrative Aufgaben
107.1 Benutzer- und Gruppenkonten und dazugehörige Systemdateien verwalten
  • 107.1 Lektion 1
  • 107.1 Lektion 2
107.2 Systemadministrationsaufgaben durch Einplanen von Jobs automatisieren
  • 107.2 Lektion 1
  • 107.2 Lektion 2
107.3 Lokalisierung und Internationalisierung
  • 107.3 Lektion 1
Thema 108: Grundlegende Systemdienste
108.1 Die Systemzeit verwalten
  • 108.1 Lektion 1
  • 108.1 Lektion 2
108.2 Systemprotokollierung
  • 108.2 Lektion 1
  • 108.2 Lektion 2
108.3 Grundlagen von Mail Transfer Agents (MTA)
  • 108.3 Lektion 1
108.4 Drucker und Druckvorgänge verwalten
  • 108.4 Lektion 1
Thema 109: Netzwerkgrundlagen
109.1 Grundlagen von Internetprotokollen
  • 109.1 Lektion 1
  • 109.1 Lektion 2
109.2 Persistente Netzwerkkonfiguration
  • 109.2 Lektion 1
  • 109.2 Lektion 2
109.3 Grundlegende Netzwerkfehlerbehebung
  • 109.3 Lektion 1
  • 109.3 Lektion 2
109.4 Clientseitiges DNS konfigurieren
  • 109.4 Lektion 1
Thema 110: Sicherheit
110.1 Administrationsaufgaben für Sicherheit durchführen
  • 110.1 Lektion 1
110.2 Einen Rechner absichern
  • 110.2 Lektion 1
110.3 Daten durch Verschlüsselung schützen
  • 110.3 Lektion 1
  • 110.3 Lektion 2
How to get certified
  1. Thema 110: Sicherheit
  2. 110.3 Daten durch Verschlüsselung schützen
  3. 110.3 Lektion 2

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 secring.gpg und pubring.gpg zugunsten von private-keys-v1.d bzw. pubring.kbx.

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 USER-ID (im Beispiel carol) gibt es auch die KEY-ID. Sie besteht aus den letzten 8 hexadezimalen Ziffern des Fingerabdrucks Ihres öffentlichen Schlüssels (6813 034E). Sie überprüfen Ihren Fingerabdruck mit dem Befehl gpg --fingerprint USER-ID.

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 -a oder --armor für gpg --export (z.B. gpg --export --armor carol > carol.pub.key) erzeugt eine ASCII-basierende Ausgabe (statt des standardmäßigen binären OpenPGP-Formats), die sicher per E-Mail verschickt werden kann.

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 gpg --keyserver keyserver-name --send-keys KEY-ID auf den Server hoch, und andere Benutzer erhalten (d.h. importieren) ihn mit gpg --keyserver keyserver-name --recv-keys KEY-ID.

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 --sign wird das Dokument komprimiert und anschließend signiert. Die Ausgabe erfolgt im Binärformat.

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 gpg-agent.

Geführte Übungen

  1. 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

  2. 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üssels 07A6 5898 2D3A F3DD 43E3 DA95 1F3F 3147 FA7F 54C7?

    • Welche Methode wird für die Verteilung öffentlicher Schlüssel auf globaler Ebene verwendet?

  3. 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:

  4. Was bedeutet die Option --armor in dem Befehl gpg --output encrypted-message --recipient carol --armor --encrypt unencrypted-message in Bezug auf die Dateiverschlüsselung?

Offene Übungen

  1. 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

  2. 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?

  3. Mit welcher gpg-Option rufen Sie ein Menü auf, mit dem Sie die meisten Aufgaben im Zusammenhang mit der Schlüsselverwaltung durchführen?

  4. 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 und KEY-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

  1. 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

  2. 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üssels 07A6 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.

  3. 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

  4. Was bedeutet die Option --armor in dem Befehl gpg --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

  1. 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

  2. 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 oder gpg --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 oder gpg --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 — siehe man pgp für weitere Informationen).

  3. 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

  4. Mit welcher gpg-Option erstellen Sie eine Klartextsignatur?

    --clearsign

Linux Professional Insitute Inc. Alle Rechte vorbehalten. Besuchen Sie die LPI Learning Website: https://learning.lpi.org
Dieses Werk steht unter der Lizenz Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International.

Nächste Lektion

110.2 Einen Rechner absichern (110.2 Lektion 1)

Nächste Lektion lesen

Linux Professional Insitute Inc. Alle Rechte vorbehalten. Besuchen Sie die LPI Learning Website: https://learning.lpi.org
Dieses Werk steht unter der Lizenz Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International.

LPI ist eine Non-Profit-Organisation.

© 2022 Linux Professional Institute (LPI) ist eine globale Organisation für Zertifizierungsstandards und zur Karriereplanung für Open-Source-Profis. Mit mehr als 200.000 Zertifikatsinhabern ist es die weltweit erste und größte herstellerneutrale Linux- und Open-Source-Zertifizierungsstelle. LPI verfügt über zertifizierte Fachleute in über 180 Ländern, bietet Prüfungen in mehreren Sprachen an und hat Hunderte von Trainingspartnern.

Unser Ziel ist es, wirtschaftliche und kreative Möglichkeiten für alle zu ermöglichen, indem wir Open-Source-Wissens- und Kompetenzzertifizierungen allgemein zugänglich machen.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Kontaktieren Sie uns
  • Datenschutz und Cookie-Richtlinien

Haben Sie einen Fehler entdeckt oder möchten Sie helfen, diese Seite zu verbessern? Lassen Sie es uns wissen.

© 1999–2022 The Linux Professional Institute Inc. Alle Rechte vorbehalten.