26
Thomas Witt mail (at) thomas-witt [dot] com MacHackers-Treffen am 2005-06-02 http://www.thomas-witt.com/papers/050602.gpg.pdf Kryptographie mit GnuPG unter MacOS X

Kryptographie mit GnuPG unter Mac OS X

Embed Size (px)

DESCRIPTION

Ein Vortrag über das Aufsetzen von GnuPG auf Mac OS X für die Verschlüsselung von E-Mail. Gehalten auf einem Chaos Computer Club (CCC) Treffen am 2005-06-02.

Citation preview

Page 1: Kryptographie mit GnuPG unter Mac OS X

Thomas Wittmail (at) thomas-witt [dot] com

MacHackers-Treffen am 2005-06-02

http://www.thomas-witt.com/papers/050602.gpg.pdf

Kryptographie mit GnuPG unter MacOS X

Page 2: Kryptographie mit GnuPG unter Mac OS X

Kryptographie

There are two kinds of cryptography in this world: cryptography that will stop your sister from reading your files, and cryptography that

will stop major governments from reading your files.

Bruce Schneier, Applied Cryptography

Wir reden heute über zweiteres.

Page 3: Kryptographie mit GnuPG unter Mac OS X

Anforderungen an Kryptographie

Sicherer Nachrichtenaustauschüber unsichere Kanäle

Page 4: Kryptographie mit GnuPG unter Mac OS X

Anforderungen an Kryptographie

Geheimhaltung

Integrität

Nachweisbarkeit / Authentizität

Page 5: Kryptographie mit GnuPG unter Mac OS X

Methodik:Symmetrische Cipher

• Vorteil:Schnell

• Nachteil:Nur ein Schlüssel

• Anwendung:Verschlüsselung des eigentlichen Inhaltes

• Beispiele:Blowfish, DES

Verschlüsselung

Klartext

Schlüssel

Entschlüsselung

Klartext

Klartext

Schlüssel

Page 6: Kryptographie mit GnuPG unter Mac OS X

Methodik:Asymmetrische Cipher• Vorteil:

Zwei Schlüssel• Public und Private Key

• Nachteil:Langsam

• Anwendung:Austausch Session Keys

• Beispiele:RSA, Diffie-Hellmann

Verschlüsselung

Klartext

Öffentl.Schlüssel

Entschlüsselung

Klartext

Klartext

PrivaterSchlüssel

Page 7: Kryptographie mit GnuPG unter Mac OS X

Und wieso ist das sicher?

Symmetrisch• Abhängig von der Schlüssellänge• Zuviele Kombinationen, um es in sinnvoller Zeit

auszuprobieren

Asymmetrisch• Wir wissen es nicht• Schlaue Mathematiker sagen es wäre so• Sie können aber jeden Moment das Gegenteil

beweisen

Page 8: Kryptographie mit GnuPG unter Mac OS X

Was ist GnuPG?

Basierend auf PGP• 1991 geschrieben von Phil Zimmermann

OpenPGP• Verschlüsselungsstandard nach RFC 2440

GNU Privacy Guard (GnuPG)• Freie Implementation von OpenPGP

Page 9: Kryptographie mit GnuPG unter Mac OS X

Möglichkeiten von GnuPG

Verschlüsseln/Entschlüsseln• Nachricht wird mit einem symmetrisch

verschlüsselt und komprimiert• Der Schlüssel besteht aus einem mit dem Public

Key des Empfängers asymetrisch verschlüsselten Session-Key

Digitale Signaturen• überprüfbar mit dem Public Key

Page 10: Kryptographie mit GnuPG unter Mac OS X

Möglichkeiten von GnuPG

Schlüsselverwaltung• Erstellen• Verwalten• Überprüfen• Zertifizieren• Zurückziehen

Page 11: Kryptographie mit GnuPG unter Mac OS X

Okay - was brauche ich?

GnuPG

Plug-In für Mail-ClientSen:te GPGMail (Apple Mail)EntourageGPG (Entourage)

Enigmail (Thunderbird/Mozilla)

Terminal

Page 12: Kryptographie mit GnuPG unter Mac OS X

Vorgehen

Software downloaden

Installieren

Sign- und Encryption-Key generieren

Revocation Certificate generieren

Los geht’s!

Page 13: Kryptographie mit GnuPG unter Mac OS X

GnuPG installieren

Downloadwww.gnupg.org

macgpg.sf.net (vorkompiliert)

Installieren

$HOME/.gnupg/gpg.conf anpassenexpertno-allow-non-selfsigned-uidno-greetingno-secmem-warning#default-key 0xAAAAAAAA#encrypt-to 0xAAAAAAAAkeyserver wwwkeys.de.pgp.net

Page 14: Kryptographie mit GnuPG unter Mac OS X

Schlüssel generierenErzeugen des Sign-Keys

gpg --gen-key

Schlüssel-TypRSA: Langjährig erprobt, längere Signaturen

DSA: Neuer, kürzere Signaturen(Empfehlung: RSA)

Generierung des Sign-KeysLänge: Mindestens 2048 Bit

(Empfehlung: 4096 Bit)

Page 15: Kryptographie mit GnuPG unter Mac OS X

Schlüssel generieren

Expiry-DatumEin Sign-Key sollte möglichst lange gültig sein

Eingabe von Realname, E-Mail und Kommentar (optional)

Verschlüsselung des Keys durch ein Paßwortkann später geändert werden

Page 16: Kryptographie mit GnuPG unter Mac OS X

Schlüssel generieren

Encryption-Key erzeugen: gpg --edit-key <ID>"addkey"

Schlüssel-TypRSA: Encrypt only

Länge wie gehabt

Expiry-DatumSinnvollerweise ein Jahr

Page 17: Kryptographie mit GnuPG unter Mac OS X

Schlüssel überprüfen und sichern

gpg --list-keyslistet den Schlüsselbund

Schlüssel sichern (!)USB-Stick, CD-ROM, …

Wichtig: physikalische Sicherheit!

Verzeichnis .gnupgsecring.gpg enthält die privaten Schlüssel

pubring.gpg die öffentlichen Schlüssel

Page 18: Kryptographie mit GnuPG unter Mac OS X

Revocation Certificate generieren

gpg --gen-revokeErmöglicht späteres Zurückziehen auch bei Verlust des

Originalschlüssels.

Revocation Certificate sichernausdrucken (!) und an einem sicheren Ort verstauen -

am besten außerhalb der eigenen Wohnung

Page 19: Kryptographie mit GnuPG unter Mac OS X

Importieren von Schlüsseln

Import direkt aus einer Dateigpg --import

Import von einem Keyservergpg --recv-keys

Fingerprint des Keys anschauengpg --fingerprint <keyid>

Unbedingt auf sicherem Wege vergleichen!(Telefon, in persona, ...)

Page 20: Kryptographie mit GnuPG unter Mac OS X

Signieren von Schlüsseln

Zunächst: Stimmt der Fingerprint und wurde er persönlich verglichen?

Wenn ja:gpg --edit-key <keyid>

"sign"

Mein Key (0x5D239994) hat den Fingerprint:7C3F 2E61 51B1 BE90 AA24EF96 F294 3519 5D23 9994

Page 21: Kryptographie mit GnuPG unter Mac OS X

Installation von GPGMail

Downloadhttp://www.sente.ch/software/GPGMail/

Mail.app beenden

Installieren

Bundles aktivierendefaults write com.apple.mail EnableBundles 1

Page 22: Kryptographie mit GnuPG unter Mac OS X

Installation von GPGMailMacOS X 10.4 Tiger

defaults write com.apple.mail \ BundleCompatibilityVersion 2

MacOS X 10.3 Pantherdefaults write com.apple.mail \ BundleCompatibilityVersion 1

Anschließend Mail.app starten

Page 23: Kryptographie mit GnuPG unter Mac OS X

Herzlichen Glückwunsch!

Page 24: Kryptographie mit GnuPG unter Mac OS X

Zusammenfassung der wichtigsten Befehle

Encryptgpg -r <empfänger> -a -o <output> -e <input>

Signgpg -a --sign <input>

Decryptgpg -d <input>

Page 25: Kryptographie mit GnuPG unter Mac OS X

Zusammenfassung der wichtigsten Befehle

Schlüsselmanagementgpg --refresh-keys (regelmäßig ausführen)gpg --list-keys / --list-sigs / --fingerprint

gpg --edit-keygpg --import <input>

gpg --send-keys / --recv-keys

alternativ: “GPGKeys” als GUI

Public Keyserver (DFN-CERT)http://wwwkeys.de.pgp.net/

Page 26: Kryptographie mit GnuPG unter Mac OS X

Vielen Dank!Thomas Witt

mail (at) thomas-witt [dot] com

URL dieses Vortrags:http://www.thomas-witt.com/papers/050602.gpg.pdf