kryptographie mit gnupg unter mac os x
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.TRANSCRIPT
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
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.
Anforderungen an Kryptographie
Sicherer Nachrichtenaustauschüber unsichere Kanäle
Anforderungen an Kryptographie
Geheimhaltung
Integrität
Nachweisbarkeit / Authentizität
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
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
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
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
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
Möglichkeiten von GnuPG
Schlüsselverwaltung• Erstellen• Verwalten• Überprüfen• Zertifizieren• Zurückziehen
Okay - was brauche ich?
GnuPG
Plug-In für Mail-ClientSen:te GPGMail (Apple Mail)EntourageGPG (Entourage)
Enigmail (Thunderbird/Mozilla)
Terminal
Vorgehen
Software downloaden
Installieren
Sign- und Encryption-Key generieren
Revocation Certificate generieren
Los geht’s!
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
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)
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
Schlüssel generieren
Encryption-Key erzeugen: gpg --edit-key <ID>"addkey"
Schlüssel-TypRSA: Encrypt only
Länge wie gehabt
Expiry-DatumSinnvollerweise ein Jahr
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
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
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, ...)
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
Installation von GPGMail
Downloadhttp://www.sente.ch/software/GPGMail/
Mail.app beenden
Installieren
Bundles aktivierendefaults write com.apple.mail EnableBundles 1
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
Herzlichen Glückwunsch!
Zusammenfassung der wichtigsten Befehle
Encryptgpg -r <empfänger> -a -o <output> -e <input>
Signgpg -a --sign <input>
Decryptgpg -d <input>
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/
Vielen Dank!Thomas Witt
mail (at) thomas-witt [dot] com
URL dieses Vortrags:http://www.thomas-witt.com/papers/050602.gpg.pdf