Sicher verschlüsseln mit GnuPG

Ähnliche Dokumente
Sicher verschlüsseln mit GnuPG

Sicher verschlüsseln mit GnuPG

Dateien und s verschlüsseln mit GPG

GnuPG - mit Sicherheit im Internet

Verschlüsseln mit dem Gnu Privacy Guard

PGP und das Web of Trust

Vortrag Keysigning Party

SHA-1 und OpenPGP/GnuPG

Was ist Kryptographie

Asymmetrische Chiffrierung und GNUPG

Grundpraktikum zur IT-Sicherheit

Die Nutzung von GnuPG

-Verschlüsselung mit GnuPG

Einführung in PGP/GPG Mailverschlüsselung

GnuPG. Verschlüsselte Kommunikation. Beni Buess. Swiss Privacy Foundation

Linux-Info-Tag Dresden - 8. Oktober 2006

Praktikum IT-Sicherheit

Datentransfer Eingangs/Ausgangsserver

2.7 Digitale Signatur (3) 2.7 Digitale Signatur (4) Bedeutung der digitalen Signatur. Bedeutung der digitalen Signatur (fortges.)

GPG GNU Privacy Guard. David Frey

wird über mehrere eigenständige Zwischenstationen übertragen (MTAs)

Einleitung Verfahren Programme Schlüsselverwaltung Passwörter Ende. GPG-Einführung. Martin Schütte. 13. April 2008

Daten- und verschlüsselung

Auswertung zum Praktikumsversuch Benutzung der Softwaretools PGP / GnuPG zur Verschlüsselung und zum Signieren digitaler Daten.

Digitale Unterschriften sind ein cleverer Ansatz, komplexe Mathematik im täglichen Leben zu nutzen. Mal sehen, wie das funktioniert

Eine Praxis-orientierte Einführung in die Kryptographie

GnuPG. Inhaltsverzeichnis. Verschlüsselte Kommunikation. Beni Buess. Swiss Privacy Foundation

-Verschlüsselung

Sichere -Kommunikation

Pretty Good Privacy. Jörn Clausen.

Gnu Privacy Guard I. Öffentliche Schlüssel Digitale Unterschrift. Schutz der Privatsphäre durch Kryptographie. von Gerhard Öttl

IT-Sicherheit Kapitel 13. Sicherheit

OpenPGP Eine Einführung

Datenschutz und Datensicherheit: PGP Panzirsch Robert Vortrag vom

GnuPG. Verschlüsselte Kommunikation. Beni Buess. Swiss Privacy Foundation

GnuPG. Verschlüsselte Kommunikation. Beni Buess. Swiss Privacy Foundation

Nach der Keysigningparty

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am

Verschluss-Sache: s und Dateien

Betriebssysteme und Sicherheit Sicherheit. Signaturen, Zertifikate, Sichere

-Verschlüsselung mit GPG. Von der Key-Erzeugung zur verschlüsselten . Chemnitzer Linux-Tage März 2010 Vortrag

Sichere s mit PGP

Grundpraktikum zur IT-Sicherheit SS Bericht zum 1. Versuch

Verschlüsselung des -Verkehrs mit GnuPG

verschlüsselung mit Thunderbird

Verschlüsselung des -Verkehrs mit GnuPG

Verschlüsselte -Kommunikation mit Mozilla/Enigmail und GnuPG

Selbstdatenschutz - Tools und Technik

Passwörter und Schlüssel. sichern

Verschlüsselungssoftware für eine freie, demokratische Gesellschaft

Verschlüsselung mit PGP (Pretty Good Privacy)

Public-Key-Infrastrukturen

Die Idee des Jahres 2013: Kommunikation verschlüsseln

Archivieren und Komprimieren, SSH

und Digitale Signatur

Digitale Selbstverteidigung

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel

Einführung in OpenPGP

Workshop Schlüsselerzeugung

Cryptoparty: Einführung

-Verschlüsselung via GnuPG mit Thunderbird und Enigmail oder Evolution und Seahorse

Web of Trust, PGP, GnuPG

verschlüsselung mit gpg4o für Firmen und Privatanwender

Netzsicherheit I, WS 2008/2009 Übung 12. Prof. Dr. Jörg Schwenk

Bei falscher Zuordnung: Verlust der Vertraulichkeit. Bei falscher Zuordnung: Verlust der Datenauthentizität

PKI (public key infrastructure)

Modul 2: Zusammenspiel der Verfahren: Authentisierung, Verschlüsselung und Schlüsselmanagement

Sichere Kommunikation. Hamburg,

Archivieren und Komprimieren, Globs

Selbstdatenschutz. -Inhalte schützen. Verschlüsselung mit GPGTools for Mac. Was ist GPGTools? Woher bekomme ich GPGTools?

Simplicity Arriving Too Late to Save a Drowning PKI?

KRYPTOSYSTEME & RSA IM SPEZIELLEN

Kryptografie-Schulung

Benutzung der Softwaretools PGP / GnuPG zur Verschlüsselung und zum Signieren digitaler Daten

Konzepte. SelfLinux Autor: Mike Ashley () Formatierung: Matthias Hagedorn Lizenz: GFDL

Mail encryption Gateway

Verschlüsselung des -Verkehrs mit GnuPG

OpenPGP. Sichere und das Web of Trust. Jens Erat. Ubucon, 12. Oktober 2013

Internet Security: Verfahren & Protokolle

Sichere -Kommunikation

Sind OpenSSL-Zertikate mit Exponent 3 unsicher?

Verschlüsselte s: Wie sicher ist sicher?

Extrahieren eines S/MIME Zertifikates aus einer digitalen Signatur

E-Government in der Praxis Jan Tobias Mühlberg. OpenPGP. Brandenburg an der Havel, den 23.

110.3 Daten durch Verschlüsselung schützen

Semantic Web Technologien. Security and Trust. Sebastian Henke. Betreuer: Mark Giereth VIS 06

Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik

Stammtisch Zertifikate

Kurzanleitung GPG Verschlüsselung Stand vom

Konzepte von Betriebssystem-Komponenten: PGP

OpenPGP. Sichere und das Web of Trust. Jens Erat. Kryptoparty Fachschaft Informatik, 30. Januar 2014

Übung GSS Blatt 6. SVS Sicherheit in Verteilten Systemen

SSL/TLS Sicherheit Warum es sich lohnt, sich mit Ciphersuites zu beschäftigen

Thunderbird Portable + GPG/Enigmail

Nachrichten- Verschlüsselung Mit S/MIME

Einführung in die Kryptographie ,

Transkript:

Sicher verschlüsseln mit GnuPG Werner Koch wk@gnupg.org Sommerakademie 2015 Kiel, 31. August 2015

Outline Schnellkurs Public Key Kryptographie Basisfunktionen Automatisieren mit GnuPG

Symmetrische Verschlüsselung Plaintext Algorithm Ciphertext Derselbe Schlüssel wird zum Ver- und Entschlüsseln benutzt. Sender und Empfänger kennen beide diesen Schlüssel und halten ihn geheim (Shared Secret). Wie eine Passphrase zum Anmelden bei einem Online-Service. Passphrase basierte Systeme sind unsicher, sofern die Passphrase nicht über eine Zufallsgenerator erzeugt wurde. Schlüsselaustausch und -verwaltung sind schwierig und nur praktikabel bei wenigen Relationen.

Symmetrische Verschlüsselung Plaintext Algorithm Ciphertext Derselbe Schlüssel wird zum Ver- und Entschlüsseln benutzt. Sender und Empfänger kennen beide diesen Schlüssel und halten ihn geheim (Shared Secret). Wie eine Passphrase zum Anmelden bei einem Online-Service. Passphrase basierte Systeme sind unsicher, sofern die Passphrase nicht über eine Zufallsgenerator erzeugt wurde. Schlüsselaustausch und -verwaltung sind schwierig und nur praktikabel bei wenigen Relationen.

Symmetrische Verschlüsselung Plaintext Algorithm Ciphertext Derselbe Schlüssel wird zum Ver- und Entschlüsseln benutzt. Sender und Empfänger kennen beide diesen Schlüssel und halten ihn geheim (Shared Secret). Wie eine Passphrase zum Anmelden bei einem Online-Service. Passphrase basierte Systeme sind unsicher, sofern die Passphrase nicht über eine Zufallsgenerator erzeugt wurde. Schlüsselaustausch und -verwaltung sind schwierig und nur praktikabel bei wenigen Relationen.

Asymmetrische Verschlüsselung (Public Key) P Encipher Plaintext Ciphertext S Decipher Es wird ein Schlüsselpaar aus öentlichem und privatem (geheimen) Schlüssel verwendet. Falltüralgorithmus aus Encipher und Decipher. Öentlicher Schlüssel nur zum Verschlüsseln. Privater Schlüssel zum Entschlüsseln. Öentliche Schlüssel im öentlichen Verzeichnis.

Asymmetrische Verschlüsselung (Public Key) P Encipher Plaintext Ciphertext S Decipher Es wird ein Schlüsselpaar aus öentlichem und privatem (geheimen) Schlüssel verwendet. Falltüralgorithmus aus Encipher und Decipher. Öentlicher Schlüssel nur zum Verschlüsseln. Privater Schlüssel zum Entschlüsseln. Öentliche Schlüssel im öentlichen Verzeichnis.

Asymmetrische Verschlüsselung (Public Key) P Encipher Plaintext Ciphertext S Decipher Es wird ein Schlüsselpaar aus öentlichem und privatem (geheimen) Schlüssel verwendet. Falltüralgorithmus aus Encipher und Decipher. Öentlicher Schlüssel nur zum Verschlüsseln. Privater Schlüssel zum Entschlüsseln. Öentliche Schlüssel im öentlichen Verzeichnis.

Asymmetrische Verschlüsselung (Public Key) P Encipher Plaintext Ciphertext S Decipher Es wird ein Schlüsselpaar aus öentlichem und privatem (geheimen) Schlüssel verwendet. Falltüralgorithmus aus Encipher und Decipher. Öentlicher Schlüssel nur zum Verschlüsseln. Privater Schlüssel zum Entschlüsseln. Öentliche Schlüssel im öentlichen Verzeichnis.

Digitale Signaturen Verfahren: Public-Key kann auch zum Signieren dienen. Privater Schlüssel zur Erstellung der Signatur. Öentlicher Schlüssel zur Prüfung der Signatur. Anwendungsgebiete: Datenintegrität. Erstellung von Zertikaten.

Algorithmen Gängige Public-Key Verfahren: RSA (verschlüsseln, signieren) DSA (signieren) Elgamal (verschlüsseln) ECC, Elliptische Kurven (verschlüsseln, signieren) Kürzere Schlüssel (256 bit) Gleiche Sicherheit (RSA mit 4096 bit)

Hybride Verfahren Public-Key Verfahren sind wesentlich langsamer als symmetrische Verfahren. Ein zufälliger Sitzungsschlüssel von 256 Bit wird erzeugt, dieser wird mit einem Public-Key Verfahren an den Empfänger verschlüsselt, die Daten werden mit dem Sitzungsschlüssel symmetrisch verschlüsselt. Vorteile: Ezient bei allen Datengröÿen. Einfaches Verschlüsseln an mehrere Empfänger.

Zertikate und PKI Wie entscheiden ob der Schlüssel authentisch ist? Von Hand verwaltete Liste gültiger Schlüssel (z.b. im Adreÿbuch). Ein Verzeichnis von gültigen Schlüsseln. Eine zentrale PKI (Public-Key Infrastructure), die auf einem hierarchisch aufgebauten System von Zertizierungsstellen beruht. Eine dezentrale PKI wie das Web-of-Trust. Ein lokales Trust-On-First-Use Verfahren erkennt geänderte Schlüssel nach deren ersten Verwendung.

Zertikate und PKI Wie entscheiden ob der Schlüssel authentisch ist? Von Hand verwaltete Liste gültiger Schlüssel (z.b. im Adreÿbuch). Ein Verzeichnis von gültigen Schlüsseln. Eine zentrale PKI (Public-Key Infrastructure), die auf einem hierarchisch aufgebauten System von Zertizierungsstellen beruht. Eine dezentrale PKI wie das Web-of-Trust. Ein lokales Trust-On-First-Use Verfahren erkennt geänderte Schlüssel nach deren ersten Verwendung.

Zertikate und PKI Wie entscheiden ob der Schlüssel authentisch ist? Von Hand verwaltete Liste gültiger Schlüssel (z.b. im Adreÿbuch). Ein Verzeichnis von gültigen Schlüsseln. Eine zentrale PKI (Public-Key Infrastructure), die auf einem hierarchisch aufgebauten System von Zertizierungsstellen beruht. Eine dezentrale PKI wie das Web-of-Trust. Ein lokales Trust-On-First-Use Verfahren erkennt geänderte Schlüssel nach deren ersten Verwendung.

Zertikate und PKI Wie entscheiden ob der Schlüssel authentisch ist? Von Hand verwaltete Liste gültiger Schlüssel (z.b. im Adreÿbuch). Ein Verzeichnis von gültigen Schlüsseln. Eine zentrale PKI (Public-Key Infrastructure), die auf einem hierarchisch aufgebauten System von Zertizierungsstellen beruht. Eine dezentrale PKI wie das Web-of-Trust. Ein lokales Trust-On-First-Use Verfahren erkennt geänderte Schlüssel nach deren ersten Verwendung.

Outline Schnellkurs Public Key Kryptographie Basisfunktionen Automatisieren mit GnuPG

Erzeugen eines Schlüsselpaars $ gpg --gen-key gpg (GnuPG) 2.1.7; Copyright (C) 2015 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: keybox /home/wk/b/gnupg/kiel2015/pubring.kbx created Note: Use "gpg2 --full-gen-key" for a full featured key generation dia GnuPG needs to construct a user ID to identify your key. Real name: John Steed Email address: steed@example.org You selected this USER-ID: "John Steed <steed@example.org>" Change (N)ame, (E)mail, or (O)kay/(Q)uit? o gpg erzeugt den Schlüssel...

und zeigt diesen dann an: gpg: key 3F567FB6 marked as ultimately trusted public and secret key created and signed. gpg: checking the trustdb gpg: public key of ultimately trusted key 912FCB93 not found gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model gpg: depth: 0 valid: 2 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 2u pub rsa2048/3f567fb6 2015-08-12 Key fingerprint = AF19 1E21 6B28 0B02 65E6 50C1 6415 179B 3F56 uid [ultimate] John Steed <steed@example.org> sub rsa2048/63b40b8c 2015-08-12

Backup Der private Schlüssel is wichtig. Ausdruck erstellen für Disaster Recovery: Bis 2.0: Mittels paperkey drucken, Seit 2.1: Ausgabe von gpg -a --export-secret-key drucken. Lokalen Drucker verwenden! Passphrase getrennt notieren! Backup unter Unix: $ tar czf keys-datum.tar.gz --exclude random_seed ~/.gnupg Backup unter Windows: > gpgconf --list-dirs > cd DIR > del random_seed > gpgtar --skip-crypto -eo backup-keys-datum.tar.

Backup Der private Schlüssel is wichtig. Ausdruck erstellen für Disaster Recovery: Bis 2.0: Mittels paperkey drucken, Seit 2.1: Ausgabe von gpg -a --export-secret-key drucken. Lokalen Drucker verwenden! Passphrase getrennt notieren! Backup unter Unix: $ tar czf keys-datum.tar.gz --exclude random_seed ~/.gnupg Backup unter Windows: > gpgconf --list-dirs > cd DIR > del random_seed > gpgtar --skip-crypto -eo backup-keys-datum.tar.

Import von Schlüsseln Von Webseite holen und abspeichern: $ wget -O a.key https://www.datenschutzzentrum.de/uploads/uld/uld.asc $ gpg --import a.key $ rm a.key Über Keyserver holen: $ gpg --keyserver keys.gnupg.net --recv-key 0D75199E11357324 gpg: key 0D75199E11357324: public key "ULD-SH <mail[...]>" imported gpg: public key of ultimately trusted key 0F1EB16A912FCB93 not found gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model gpg: depth: 0 valid: 2 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 2u gpg: Total number processed: 1 gpg: imported: 1

Verschlüsseln Teil 1 $ gpg -v -e -r mail@datenschutzzentrum.de datei.pdf gpg: using PGP trust model gpg: using subkey A749BED409A66C9A instead of primary key 0D75199E1135... Das -v ist optional um anzuzeigen was passiert. Das -e wählt Verschlüsselung aus. Das -r gibt den Empfänger an. datei.pdf ist die zu verschlüsselnde Datei.

Verschlüsseln Teil 1 $ gpg -v -e -r mail@datenschutzzentrum.de datei.pdf gpg: using PGP trust model gpg: using subkey A749BED409A66C9A instead of primary key 0D75199E1135... Das -v ist optional um anzuzeigen was passiert. Das -e wählt Verschlüsselung aus. Das -r gibt den Empfänger an. datei.pdf ist die zu verschlüsselnde Datei.

Verschlüsseln Teil 1 $ gpg -v -e -r mail@datenschutzzentrum.de datei.pdf gpg: using PGP trust model gpg: using subkey A749BED409A66C9A instead of primary key 0D75199E1135... Das -v ist optional um anzuzeigen was passiert. Das -e wählt Verschlüsselung aus. Das -r gibt den Empfänger an. datei.pdf ist die zu verschlüsselnde Datei.

Verschlüsseln Teil 1 $ gpg -v -e -r mail@datenschutzzentrum.de datei.pdf gpg: using PGP trust model gpg: using subkey A749BED409A66C9A instead of primary key 0D75199E1135... Das -v ist optional um anzuzeigen was passiert. Das -e wählt Verschlüsselung aus. Das -r gibt den Empfänger an. datei.pdf ist die zu verschlüsselnde Datei.

Verschlüsseln Teil 1 $ gpg -v -e -r mail@datenschutzzentrum.de datei.pdf gpg: using PGP trust model gpg: using subkey A749BED409A66C9A instead of primary key 0D75199E1135... Das -v ist optional um anzuzeigen was passiert. Das -e wählt Verschlüsselung aus. Das -r gibt den Empfänger an. datei.pdf ist die zu verschlüsselnde Datei.

Verschlüsseln Teil 2 gpg: A749BED409A66C9A: There is no assurance this key belongs to [...] sub elg4096/a749bed409a66c9a 2008-04-11 ULD-SH <mail@[...]zentrum.de> Primary key fingerprint: D092 F1B5 AB9F D68E 4DA0 3633 [...] Subkey fingerprint: 4E31 0B46 A394 DE69 D56A 6F82 [...] 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 gpg: reading from datei.pdf gpg: writing to datei.pdf.gpg gpg: ELG/AES256 encrypted for: "A749BED409A66C9A ULD-SH <mail@[...]>" Der Schlüssel ist nicht bekannt. Der Fingerprint wird angezeigt. Nach Überprüfung mit Ja oder Yes antworten. Die verschlüsselten Daten sind abgespeichert.

Verschlüsseln Teil 2 gpg: A749BED409A66C9A: There is no assurance this key belongs to [...] sub elg4096/a749bed409a66c9a 2008-04-11 ULD-SH <mail@[...]zentrum.de> Primary key fingerprint: D092 F1B5 AB9F D68E 4DA0 3633 [...] Subkey fingerprint: 4E31 0B46 A394 DE69 D56A 6F82 [...] 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 gpg: reading from datei.pdf gpg: writing to datei.pdf.gpg gpg: ELG/AES256 encrypted for: "A749BED409A66C9A ULD-SH <mail@[...]>" Der Schlüssel ist nicht bekannt. Der Fingerprint wird angezeigt. Nach Überprüfung mit Ja oder Yes antworten. Die verschlüsselten Daten sind abgespeichert.

Verschlüsseln Teil 2 gpg: A749BED409A66C9A: There is no assurance this key belongs to [...] sub elg4096/a749bed409a66c9a 2008-04-11 ULD-SH <mail@[...]zentrum.de> Primary key fingerprint: D092 F1B5 AB9F D68E 4DA0 3633 [...] Subkey fingerprint: 4E31 0B46 A394 DE69 D56A 6F82 [...] 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 gpg: reading from datei.pdf gpg: writing to datei.pdf.gpg gpg: ELG/AES256 encrypted for: "A749BED409A66C9A ULD-SH <mail@[...]>" Der Schlüssel ist nicht bekannt. Der Fingerprint wird angezeigt. Nach Überprüfung mit Ja oder Yes antworten. Die verschlüsselten Daten sind abgespeichert.

Verschlüsseln Teil 2 gpg: A749BED409A66C9A: There is no assurance this key belongs to [...] sub elg4096/a749bed409a66c9a 2008-04-11 ULD-SH <mail@[...]zentrum.de> Primary key fingerprint: D092 F1B5 AB9F D68E 4DA0 3633 [...] Subkey fingerprint: 4E31 0B46 A394 DE69 D56A 6F82 [...] 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 gpg: reading from datei.pdf gpg: writing to datei.pdf.gpg gpg: ELG/AES256 encrypted for: "A749BED409A66C9A ULD-SH <mail@[...]>" Der Schlüssel ist nicht bekannt. Der Fingerprint wird angezeigt. Nach Überprüfung mit Ja oder Yes antworten. Die verschlüsselten Daten sind abgespeichert.

Schlüssel vertrauenswürdig setzen $ gpg --lsign-key 0D75199E11357324... pub dsa3072/0d75199e11357324 created: 2008-04-11 expires: never usage: SC trust: unknown validity: unknown Primary key fingerprint: D092 F1B5 AB9F D68E 4DA0 3633 [...] ULD-SH <mail@datenschutzzentrum.de> Are you sure that you want to sign this key with your key "John Steed <steed@example.org>" (6415179B3F567FB6) The signature will be marked as non-exportable. Really sign? (y/n) y --lsign-key zum lokalen Signieren verwenden. Per Telefon oder mittels einer Publikation Fingerprint prüfen, bei positivem Resultat mit Yes oder Ja bestätigen.

Schlüssel vertrauenswürdig setzen $ gpg --lsign-key 0D75199E11357324... pub dsa3072/0d75199e11357324 created: 2008-04-11 expires: never usage: SC trust: unknown validity: unknown Primary key fingerprint: D092 F1B5 AB9F D68E 4DA0 3633 [...] ULD-SH <mail@datenschutzzentrum.de> Are you sure that you want to sign this key with your key "John Steed <steed@example.org>" (6415179B3F567FB6) The signature will be marked as non-exportable. Really sign? (y/n) y --lsign-key zum lokalen Signieren verwenden. Per Telefon oder mittels einer Publikation Fingerprint prüfen, bei positivem Resultat mit Yes oder Ja bestätigen.

Schlüssel vertrauenswürdig setzen $ gpg --lsign-key 0D75199E11357324... pub dsa3072/0d75199e11357324 created: 2008-04-11 expires: never usage: SC trust: unknown validity: unknown Primary key fingerprint: D092 F1B5 AB9F D68E 4DA0 3633 [...] ULD-SH <mail@datenschutzzentrum.de> Are you sure that you want to sign this key with your key "John Steed <steed@example.org>" (6415179B3F567FB6) The signature will be marked as non-exportable. Really sign? (y/n) y --lsign-key zum lokalen Signieren verwenden. Per Telefon oder mittels einer Publikation Fingerprint prüfen, bei positivem Resultat mit Yes oder Ja bestätigen.

Schlüsselstatus anzeigen $ gpg --fingerprint 0D75199E11357324 gpg: checking the trustdb... pub dsa3072/0d75199e11357324 2008-04-11 Key fingerprint = D092 F1B5 AB9F D68E 4DA0 3633 0D75 199E 1135 uid [ full ] ULD-SH <mail@datenschutzzentrum.de> sub elg4096/a749bed409a66c9a 2008-04-11 Allgemeines Kommando um den Fingerprint anzuzeigen. In diesem Beispiel ist der Schlüssel vertrauenswürdig (full). Eine Liste der Vertrauensstufen ndet sich im Handout.

Signieren (standard) $ gpg -v -s datei.pdf gpg: using PGP trust model gpg: writing to datei.pdf.gpg gpg: RSA/SHA256 signature from: "6415179B3F567FB6 John Steed <steed@ex Das -s (oder --sign) wählt Signieren aus. datei.pdf ist die zu signierende Datei. datei.pdf.sig ist die erstellte Datei mit Signatur.

Signieren (standard) $ gpg -v -s datei.pdf gpg: using PGP trust model gpg: writing to datei.pdf.gpg gpg: RSA/SHA256 signature from: "6415179B3F567FB6 John Steed <steed@ex Das -s (oder --sign) wählt Signieren aus. datei.pdf ist die zu signierende Datei. datei.pdf.sig ist die erstellte Datei mit Signatur.

Signieren (standard) $ gpg -v -s datei.pdf gpg: using PGP trust model gpg: writing to datei.pdf.gpg gpg: RSA/SHA256 signature from: "6415179B3F567FB6 John Steed <steed@ex Das -s (oder --sign) wählt Signieren aus. datei.pdf ist die zu signierende Datei. datei.pdf.sig ist die erstellte Datei mit Signatur.

Signieren (abgetrennt) $ gpg -v -b datei.pdf gpg: using PGP trust model gpg: writing to datei.pdf.sig gpg: RSA/SHA256 signature from: "6415179B3F567FB6 John Steed <[...]>" Das -b (oder --detach-sign) wählt Signieren aus. datei.pdf ist die zu signierende Datei. datei.pdf.sig ist die erstellte abgetrennte Signatur.

Signieren (abgetrennt) $ gpg -v -b datei.pdf gpg: using PGP trust model gpg: writing to datei.pdf.sig gpg: RSA/SHA256 signature from: "6415179B3F567FB6 John Steed <[...]>" Das -b (oder --detach-sign) wählt Signieren aus. datei.pdf ist die zu signierende Datei. datei.pdf.sig ist die erstellte abgetrennte Signatur.

Signieren (abgetrennt) $ gpg -v -b datei.pdf gpg: using PGP trust model gpg: writing to datei.pdf.sig gpg: RSA/SHA256 signature from: "6415179B3F567FB6 John Steed <[...]>" Das -b (oder --detach-sign) wählt Signieren aus. datei.pdf ist die zu signierende Datei. datei.pdf.sig ist die erstellte abgetrennte Signatur.

Signieren (anderer Schlüssel) $ gpg -v -b -u peel datei.pdf gpg: writing to datei.pdf.sig gpg: EDDSA/SHA256 signature from: "EA9644E68E27FD07 Emma Peel <[...]>" Das -u (oder --local-user) wählt den Signaturschlüssel aus. Name, Mailadresse oder Keyid wird benötigt. Dieser Schlüssel benutzt einen ECC Algorithmus.

Signieren (anderer Schlüssel) $ gpg -v -b -u peel datei.pdf gpg: writing to datei.pdf.sig gpg: EDDSA/SHA256 signature from: "EA9644E68E27FD07 Emma Peel <[...]>" Das -u (oder --local-user) wählt den Signaturschlüssel aus. Name, Mailadresse oder Keyid wird benötigt. Dieser Schlüssel benutzt einen ECC Algorithmus.

Signatur prüfen $ gpg -v --verify datei.pdf.sig datei.pdf gpg: Signature made Sun 16 Aug 2015 09:24:06 AM CEST gpg: using EDDSA key EA9644E68E27FD07... gpg: Good signature from "Emma Peel <peel@example.org>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs [...] Primary key fingerprint: CA4A EF4F 0065 91A8 DF82 761F EA96 44[...] gpg: binary signature, digest algorithm SHA256, key algorithm ed25519 --verify wählt die Prüfung einer Signatur aus. datei.pdf.sig ist die abgetrennte Signatur. datei.pdf ist die zu prüfende Datei. Die Signatur is gültig, aber... es ist nicht klar ob dies Emmas Schlüssel ist,... deswegen den Fingerprint prüfen.

Signatur prüfen $ gpg -v --verify datei.pdf.sig datei.pdf gpg: Signature made Sun 16 Aug 2015 09:24:06 AM CEST gpg: using EDDSA key EA9644E68E27FD07... gpg: Good signature from "Emma Peel <peel@example.org>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs [...] Primary key fingerprint: CA4A EF4F 0065 91A8 DF82 761F EA96 44[...] gpg: binary signature, digest algorithm SHA256, key algorithm ed25519 --verify wählt die Prüfung einer Signatur aus. datei.pdf.sig ist die abgetrennte Signatur. datei.pdf ist die zu prüfende Datei. Die Signatur is gültig, aber... es ist nicht klar ob dies Emmas Schlüssel ist,... deswegen den Fingerprint prüfen.

Signatur prüfen $ gpg -v --verify datei.pdf.sig datei.pdf gpg: Signature made Sun 16 Aug 2015 09:24:06 AM CEST gpg: using EDDSA key EA9644E68E27FD07... gpg: Good signature from "Emma Peel <peel@example.org>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs [...] Primary key fingerprint: CA4A EF4F 0065 91A8 DF82 761F EA96 44[...] gpg: binary signature, digest algorithm SHA256, key algorithm ed25519 --verify wählt die Prüfung einer Signatur aus. datei.pdf.sig ist die abgetrennte Signatur. datei.pdf ist die zu prüfende Datei. Die Signatur is gültig, aber... es ist nicht klar ob dies Emmas Schlüssel ist,... deswegen den Fingerprint prüfen.

Signatur prüfen $ gpg -v --verify datei.pdf.sig datei.pdf gpg: Signature made Sun 16 Aug 2015 09:24:06 AM CEST gpg: using EDDSA key EA9644E68E27FD07... gpg: Good signature from "Emma Peel <peel@example.org>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs [...] Primary key fingerprint: CA4A EF4F 0065 91A8 DF82 761F EA96 44[...] gpg: binary signature, digest algorithm SHA256, key algorithm ed25519 --verify wählt die Prüfung einer Signatur aus. datei.pdf.sig ist die abgetrennte Signatur. datei.pdf ist die zu prüfende Datei. Die Signatur is gültig, aber... es ist nicht klar ob dies Emmas Schlüssel ist,... deswegen den Fingerprint prüfen.

Signatur prüfen $ gpg -v --verify datei.pdf.sig datei.pdf gpg: Signature made Sun 16 Aug 2015 09:24:06 AM CEST gpg: using EDDSA key EA9644E68E27FD07... gpg: Good signature from "Emma Peel <peel@example.org>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs [...] Primary key fingerprint: CA4A EF4F 0065 91A8 DF82 761F EA96 44[...] gpg: binary signature, digest algorithm SHA256, key algorithm ed25519 --verify wählt die Prüfung einer Signatur aus. datei.pdf.sig ist die abgetrennte Signatur. datei.pdf ist die zu prüfende Datei. Die Signatur is gültig, aber... es ist nicht klar ob dies Emmas Schlüssel ist,... deswegen den Fingerprint prüfen.

Signatur prüfen $ gpg -v --verify datei.pdf.sig datei.pdf gpg: Signature made Sun 16 Aug 2015 09:24:06 AM CEST gpg: using EDDSA key EA9644E68E27FD07... gpg: Good signature from "Emma Peel <peel@example.org>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs [...] Primary key fingerprint: CA4A EF4F 0065 91A8 DF82 761F EA96 44[...] gpg: binary signature, digest algorithm SHA256, key algorithm ed25519 --verify wählt die Prüfung einer Signatur aus. datei.pdf.sig ist die abgetrennte Signatur. datei.pdf ist die zu prüfende Datei. Die Signatur is gültig, aber... es ist nicht klar ob dies Emmas Schlüssel ist,... deswegen den Fingerprint prüfen.

Signatur prüfen $ gpg -v --verify datei.pdf.sig datei.pdf gpg: Signature made Sun 16 Aug 2015 09:24:06 AM CEST gpg: using EDDSA key EA9644E68E27FD07... gpg: Good signature from "Emma Peel <peel@example.org>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs [...] Primary key fingerprint: CA4A EF4F 0065 91A8 DF82 761F EA96 44[...] gpg: binary signature, digest algorithm SHA256, key algorithm ed25519 --verify wählt die Prüfung einer Signatur aus. datei.pdf.sig ist die abgetrennte Signatur. datei.pdf ist die zu prüfende Datei. Die Signatur is gültig, aber... es ist nicht klar ob dies Emmas Schlüssel ist,... deswegen den Fingerprint prüfen.

Wie man OpenPGP Dateien erkennt Mittels eines Tools anhand des Inhalts: Entweder durch einen Versuch mit gpg, oder auf Unix, mit dem Tool file. Mittels der Bibliotheksfunktion gpgme_data_identify von Libgpgme. Bei armored Dateien auch visuell anhand des Inhalts (z.b. -----BEGIN PGP MESSAGE-----). Anhand der Dateiendung (per Konvention):.sig Binäre abgetrennte Signatur..pub Datei mit öentliche Schlüsseln..sec Datei mit privaten Schlüsseln..asc Armored OpenPGP Datei..gpg Andere binäre OpenPGP Datei..pgp Dito, aber von PGP verwendet.

Komprimieren Verschlüsselte Daten können nicht mehr komprimiert werden. gpg komprimiert deswegen die Daten bevor sie Verschlüsselt werden. Bereits verschlüsselte Daten werden i.d.r. erkannt und die Komprimierungsstufe wird ausgeschaltet. Mit -c 0 kann die Komprimierung explizit ausgeschaltet werden. Beim Entschlüsseln werden die Daten automatisch dekomprimiert. Vorsicht: ZIP Bombe. Eventuell die Option --max-output benutzen.

S/MIME GnuPG unterstützt auch S/MIME (X.509/CMS). S/MIME ist nicht kompatibel zu OpenPGP. Es werden andere Schlüssel verwendet und diese müssen durch eine CA zertiziert werden. Das Tool gpgsm wird anstatt von gpg verwendet. Auch für X.509 Zertikate und CSRs für Webserver.

Outline Schnellkurs Public Key Kryptographie Basisfunktionen Automatisieren mit GnuPG

Pipelines Beispiel: In der Wolke speichern $ tar cf - /var/log \ gpg --batch -e --always-trust -r 0x12345678abcdef0 \ ssh backup@archive cat >"backup-$(date +%Y-%m-%d).tar.gpg" tar kopiert rekursiv alle Dateien aus /var/log/ nach stdout, gpg liest, verschlüsselt und gibt nach stdout aus. --batch verhindert hierbei jede Nachfrage. -e fordert Verschlüsselung an. --always-trust vertraut allen angegebenen Schlüsseln. 0x12345678abcdef0 ist eine Key-ID. (Besser: Fingerprint benutzen) ssh verbindet mit Host archive, führt dort cat aus und schreibt in eine Datei.

Pipelines Beispiel: In der Wolke speichern $ tar cf - /var/log \ gpg --batch -e --always-trust -r 0x12345678abcdef0 \ ssh backup@archive cat >"backup-$(date +%Y-%m-%d).tar.gpg" tar kopiert rekursiv alle Dateien aus /var/log/ nach stdout, gpg liest, verschlüsselt und gibt nach stdout aus. --batch verhindert hierbei jede Nachfrage. -e fordert Verschlüsselung an. --always-trust vertraut allen angegebenen Schlüsseln. 0x12345678abcdef0 ist eine Key-ID. (Besser: Fingerprint benutzen) ssh verbindet mit Host archive, führt dort cat aus und schreibt in eine Datei.

Pipelines Beispiel: In der Wolke speichern $ tar cf - /var/log \ gpg --batch -e --always-trust -r 0x12345678abcdef0 \ ssh backup@archive cat >"backup-$(date +%Y-%m-%d).tar.gpg" tar kopiert rekursiv alle Dateien aus /var/log/ nach stdout, gpg liest, verschlüsselt und gibt nach stdout aus. --batch verhindert hierbei jede Nachfrage. -e fordert Verschlüsselung an. --always-trust vertraut allen angegebenen Schlüsseln. 0x12345678abcdef0 ist eine Key-ID. (Besser: Fingerprint benutzen) ssh verbindet mit Host archive, führt dort cat aus und schreibt in eine Datei.

Pipelines Beispiel: Aus der Wolke holen $ cd restored-logs $ ssh backup@archive cat DATEI.tar.gpg \ gpg --batch -d --max-output 0x80000000 \ tar xpf - Ins Zielverzeichnis wechseln, per ssh die Datei nach stdout senden, gpg entschlüsselt die Daten. -d (oder --decrypt) kann entfallen. --max-output gibt die maximal erwartete Länge der Ausgabe in Bytes an. tar entpackt das entschlüsselte Archiv.

Pipelines Beispiel: Aus der Wolke holen $ cd restored-logs $ ssh backup@archive cat DATEI.tar.gpg \ gpg --batch -d --max-output 0x80000000 \ tar xpf - Ins Zielverzeichnis wechseln, per ssh die Datei nach stdout senden, gpg entschlüsselt die Daten. -d (oder --decrypt) kann entfallen. --max-output gibt die maximal erwartete Länge der Ausgabe in Bytes an. tar entpackt das entschlüsselte Archiv.

Pipelines Beispiel: Aus der Wolke holen $ cd restored-logs $ ssh backup@archive cat DATEI.tar.gpg \ gpg --batch -d --max-output 0x80000000 \ tar xpf - Ins Zielverzeichnis wechseln, per ssh die Datei nach stdout senden, gpg entschlüsselt die Daten. -d (oder --decrypt) kann entfallen. --max-output gibt die maximal erwartete Länge der Ausgabe in Bytes an. tar entpackt das entschlüsselte Archiv.

Pipelines Beispiel: Aus der Wolke holen $ cd restored-logs $ ssh backup@archive cat DATEI.tar.gpg \ gpg --batch -d --max-output 0x80000000 \ tar xpf - Ins Zielverzeichnis wechseln, per ssh die Datei nach stdout senden, gpg entschlüsselt die Daten. -d (oder --decrypt) kann entfallen. --max-output gibt die maximal erwartete Länge der Ausgabe in Bytes an. tar entpackt das entschlüsselte Archiv.

Unbeaufsichtigte Benutzung Sinnvolle Optionen: --status-fd 2 erzeugt maschinell verarbeitbare Ausgaben. --batch schaltet alle Abfragen aus. --yes benutzt implizit Ja für viele Abfragen; aber nicht überall. --max-output N kann zur Verhinderung von ZIP Bomben benutzt werden. --trust-model=always kann u.u. mit -r benutzt werden (Alternative zu --lsign-key).

Ratschläge Nach Möglichkeit, Schlüssel immer per Fingerprint angeben. Signaturschlüssel explizit auswählen. --encrypt-to benutzen um verschlüsselte Daten auch selbst entschlüsseln zu können. Achtung: Verhindert Anonymität des Senders. --no-encrypt-to schaltet dies explizit aus. Denierte Kongurationsdatei und GNUPGHOME nutzen. Auf Servern keine Passphrase setzen bzw. Smartcard benutzen. Immer aktuelle Versionen von GnuPG verwenden.

Ratschläge Nach Möglichkeit, Schlüssel immer per Fingerprint angeben. Signaturschlüssel explizit auswählen. --encrypt-to benutzen um verschlüsselte Daten auch selbst entschlüsseln zu können. Achtung: Verhindert Anonymität des Senders. --no-encrypt-to schaltet dies explizit aus. Denierte Kongurationsdatei und GNUPGHOME nutzen. Auf Servern keine Passphrase setzen bzw. Smartcard benutzen. Immer aktuelle Versionen von GnuPG verwenden.

Ratschläge Nach Möglichkeit, Schlüssel immer per Fingerprint angeben. Signaturschlüssel explizit auswählen. --encrypt-to benutzen um verschlüsselte Daten auch selbst entschlüsseln zu können. Achtung: Verhindert Anonymität des Senders. --no-encrypt-to schaltet dies explizit aus. Denierte Kongurationsdatei und GNUPGHOME nutzen. Auf Servern keine Passphrase setzen bzw. Smartcard benutzen. Immer aktuelle Versionen von GnuPG verwenden.

Ratschläge Nach Möglichkeit, Schlüssel immer per Fingerprint angeben. Signaturschlüssel explizit auswählen. --encrypt-to benutzen um verschlüsselte Daten auch selbst entschlüsseln zu können. Achtung: Verhindert Anonymität des Senders. --no-encrypt-to schaltet dies explizit aus. Denierte Kongurationsdatei und GNUPGHOME nutzen. Auf Servern keine Passphrase setzen bzw. Smartcard benutzen. Immer aktuelle Versionen von GnuPG verwenden.

Ratschläge Nach Möglichkeit, Schlüssel immer per Fingerprint angeben. Signaturschlüssel explizit auswählen. --encrypt-to benutzen um verschlüsselte Daten auch selbst entschlüsseln zu können. Achtung: Verhindert Anonymität des Senders. --no-encrypt-to schaltet dies explizit aus. Denierte Kongurationsdatei und GNUPGHOME nutzen. Auf Servern keine Passphrase setzen bzw. Smartcard benutzen. Immer aktuelle Versionen von GnuPG verwenden.

Ratschläge Nach Möglichkeit, Schlüssel immer per Fingerprint angeben. Signaturschlüssel explizit auswählen. --encrypt-to benutzen um verschlüsselte Daten auch selbst entschlüsseln zu können. Achtung: Verhindert Anonymität des Senders. --no-encrypt-to schaltet dies explizit aus. Denierte Kongurationsdatei und GNUPGHOME nutzen. Auf Servern keine Passphrase setzen bzw. Smartcard benutzen. Immer aktuelle Versionen von GnuPG verwenden.

Zusammenfassung GnuPG ist vielseitig zu verwenden, Leicht in Skripte einbindbar. Sichere, etablierte Algorithmen und Protokolle. Kostengünstig. Zukunftssicher. Vielen Dank. https://gnupg.org https://wiki.gnupg.org Slides are 2015 Werner Koch, CC BY-SA 4.0. https://gnupg.org/ftp/blurbs/kiel-2015_sicher-verschl-mit-gnupg.pdf

Zusammenfassung GnuPG ist vielseitig zu verwenden, Leicht in Skripte einbindbar. Sichere, etablierte Algorithmen und Protokolle. Kostengünstig. Zukunftssicher. Vielen Dank. https://gnupg.org https://wiki.gnupg.org Slides are 2015 Werner Koch, CC BY-SA 4.0. https://gnupg.org/ftp/blurbs/kiel-2015_sicher-verschl-mit-gnupg.pdf