2004 | Kryptographie in Theorie und Praxis: Only the Paranoids Survive

A presentation at Chaos Communication Congress in December 2004 in Berlin, Germany by Jutta Horstmann

Slide 1

Slide 1

Fragen ● Wie erzeuge ich mir ein Schlüsselpaar? ● Wie veröffentliche ich meinen öffent. Schlüssel? ● ● ● ● Wie komme ich an Schlüssel meiner Kommunikationspartnerin? Woher weiss ich, dass der Schlüssel wirklich von ihr ist? Wie verschlüssele ich Daten und Datentransfer? Was mache ich, wenn ich meinen Schlüssel verloren habe oder er kompromittiert wurde?

Slide 2

Slide 2

Grundlagen: Verschlüsseln Signieren Vertrauen Zertifizieren

Slide 3

Slide 3

Slide 4

Slide 4

Verschlüsselung mit GPG

Slide 5

Slide 5

Verschlüsseln, Signieren, Authentizität ● ● ● Verschlüsselung: Übertragung von Geheimnissen Signatur: Gewährleistung der Authentizität des Senders, der Integrität der Nachricht (wie Siegel) Wie stelle ich Authentizität des Gegenübers fest? – Direktes Vertrauen – Web Of Trust – Hierarchisches Vertrauensverhältnis

Slide 6

Slide 6

Woher weiss ich, das Schlüssel zur Person gehört? ● Web of Trust ● PGP/GPG ● Key Signing Party ● ich vertraue Berta, weil ich Alice vertraue und Alice vertraut Berta ● Public Key Infrastructure mit hierarch. Zertifizierung ● SSL, S/MIME ● Behörden/Firmen ● zentrale Zertifizierungsinstanz

Slide 7

Slide 7

Web Of Trust ● ● inwieweit traut man Eigentümer eines öff. Schlüssel korrekte Authentisierung zu (Unbekannt, kein/teilweises/volles Vertrauen) Vertrauen: Schlüssel ist von genügend gültigen Schlüsseln unterschrieben: – persönlich – von einem Schlüssel vollen Vertrauens – von drei Schlüsseln teilweisen Vertrauens – Pfad unterschriebener Schlüssel von Schlüssel K zurück zu eigenem Schlüssel führt < 5

Slide 8

Slide 8

Zertifizierung ● ● Public Key Infractructure: hierarchisches Netz von Zertifizierungsstellen Zertifizierungsstelle (Certification Authority, CA): Zertifikate ausstellen und veröffentlichen ● Cross-Signing zwischen CAs ● Public Keys einiger CAs im Browser ● Zertifikat enthält Infos über Schlüssel, Person, und digitale Unterschrift der zertifizierenden Behörde

Slide 9

Slide 9

Gnu Privacy Guard (GPG) Grundlagen Schlüssel erzeugen Schlüssel anzeigen Schlüssel exportieren Schlüssel importieren Schlüssel signieren Schlüssel widerrufen

Slide 10

Slide 10

Grundlagen: PGP und GPG ● ● Was ist Pretty Good Privacy (PGP)? – Software für Verschlüsselung, Schlüsselerzeugung, Schlüsselverwaltung – standardisiert in OpenPGP – unabhängig von Datenformaten – kann symmetrisch und asymm. verschlüsseln Was ist Gnu Privacy Guard (GPG)? – basiert auf OpenPGP – vollständig kompatibel zu PGP, benutzt die gleiche Infrastruktur (Schlüsselserver usw.)

Slide 11

Slide 11

So klappt’s mit GPG ● Download: www.gnupg.org ● bei Linux-Distributionen dabei ● gibt’s auch für Windows ● Benutzung: – Kommandozeile – Frontends: GPA, KGpg / Kleopatra – aus der Applikation heraus (Mail, IM…) ● man gpg ● www.gnupg.org/(en)/howtos/de/index.html

Slide 12

Slide 12

Schlüssel erzeugen

Slide 13

Slide 13

Schlüssel erzeugen (2)

Slide 14

Slide 14

Schlüssel erzeugen (3)

Slide 15

Slide 15

Schlüssel erzeugen (4) ● ● Passphrase (Mantra): – symmetrische Verschlüsselung des privaten Schlüssels (einzige Sicherung!) – nicht zu kurz, Sonderzeichen… Zum Erzeugen von Schlüsseln muss “Zufall” generiert werden – Bsp. RSA: Man wählt zufällig zwei grosse Primzahlen p und q sowie ein zufälliges e

Slide 16

Slide 16

Schlüssel erzeugen mit KGpg

Slide 17

Slide 17

Schlüssel anzeigen

Slide 18

Slide 18

Schlüssel exportieren

Slide 19

Slide 19

KGpg: Schlüssel exportieren

Slide 20

Slide 20

Schlüssel bekannt machen ● Keyserver – gpg —send-keys [names] —keyserver [name] – z.B. hkp://wwwkeys.eu.pgp.net – eigenen Schlüssel vom Keyserver aktualisiert holen (unterschrieben) – unterschriebene Schlüssel hochladen ● versenden per Mail ● eigene Website ● Visitenkarte (Fingerprint)

Slide 21

Slide 21

GPG – importieren ● ● Importieren des Schlüssels einer Kommunikationspartnerin: – gpg —import [Datei] – ohne Dateiname: von Kommandozeile – z.B. aus Mail: von Enigmail unterstützt Schlüssel anhand des Fingerprints verifizieren

Slide 22

Slide 22

GPG: Schlüssel signieren (1) ● ● Fremdschlüssel: – ist der Schlüssel überprüft, kann man ihn signieren – mit “check” gucken, wer den Schlüssel sonst schon beglaubigt hat eigener (öffentlicher) Schlüssel: – könnte manipuliert werden – daher: signieren (Eigenbeglaubigung) mit privatem Schlüssel (automatisch)

Slide 23

Slide 23

gpg —edit-key UID

Slide 24

Slide 24

KGpg: signierter Schlüssel

Slide 25

Slide 25

Key Signing Party ● HOWTO: http://www.cryptnet.net/fdp/crypto/gpgparty/gpg-party.de.html ● Ziel: gegenseitig Schlüssel signieren ● Web Of Trust vertiefen ● Identität der Person verifizieren (Ausweis) ● Schlüssel verifizieren und signieren ● signierten Key an Schlüsselbesitzer oder Keyserver exportieren

Slide 26

Slide 26

Key Revocation (1) ● gpg —gen-revoke ● gpg —output revoke.asc —gen-revoke ● ● Widerrufsurkunde ausdrucken und an sicherem Ort aufbewahren jeder kann damit den Schlüssel ungültig machen

Slide 27

Slide 27

Key Revocation (2)

Slide 28

Slide 28

Key Revocation (3)

Slide 29

Slide 29

Praxis Dateien verschlüsseln Mailverkehr verschlüsseln

Slide 30

Slide 30

Verschlüsseln von Dateien ● ● ● Asymmetrisch verschlüsseln: – gpg —output test.gpg —encrypt —recipient EF2EC201 test.txt – bei recipient auch mehrere Empfänger Asymmetrisch entschlüsseln: – gpg —output test.klar —decrypt test.gpg – Passphrase eingeben Symmetrisch verschlüsseln: – gpg —output test.sym —symmetric test.txt – Passphrase zum Ver- und Entschlüsseln

Slide 31

Slide 31

Mail verschlüsseln ● ● Mailprogramme: – Linux: Enigmail (Mozilla/Thunderbird), Evolution, KMail, mutt, Sylpheed… – Win: Enigmail (Mozilla/Thunderbird), Outlook Plugin, EudoraGPG… – Mac: Enigmail (Mozilla/Thunderbird), Apple Mail Plugin… Beispiel Enigmail: – http://enigmail.mozdev.org/

Slide 32

Slide 32

Enigmail einrichten

Slide 33

Slide 33

Enigmail: Verschlüsselt senden

Slide 34

Slide 34

Enigmail: Verschlüsselt empfangen

Slide 35

Slide 35

Sonstige Datenströme Grundlagen SSL Datenverkehr im WWW Mailserver: Sichere Authentifizierung SSH FTP

Slide 36

Slide 36

SSL ● Zunächst zur Absicherung von HTTP (“https”) ● Später generalisiert zu TLS ● Sicherheitsprotokoll der Transportschicht ● Sichert beliebige Anwendungen, die auf TCP aufsetzen ● Meist Server-Authentisierung ● X.509 Zertifikate (wichtigster Standard) ● ● verschiedene kryptographische Verfahren mit variablen Schlüssellängen Open Source: OpenSSL, GnuTLS

Slide 37

Slide 37

Datenübertragung im WWW ● Ist der Server der, für den ich ihn halte? (z.B. wirklich www.berliner-sparkasse.de?) – ● ● Server hat zertifizierte Schlüssel Aufbau einer SSL-Verbindung: – Server sendet zertifizierten Public Key – Browser überprüft Key und Zertifikat – nicht ok: Warnmeldung von Browser – okay - dann verschlüsselter Austausch zwischen Browser und Server keine Client-Authentisierung

Slide 38

Slide 38

Mail: SSL, STARTTLS ● Serverseitiges Angebot für POP, IMAP, SMTP ● Im Mail-Client anschalten! ● ● ● StartTLS (Start Transport Layer Security): TLS für SMTP es werden auch Inhalt und Attachment (der gesamte Datenstrom) der Mail verschlüsselt! (aber nur von Punkt zu Punkt) SMTP AUTH: nur Login/PW verschlüsselt

Slide 39

Slide 39

Secure Shell (SSH) ● Eigenes Protokoll unabhängig von SSL ● Kommandozeilenzugriff auf entfernten Rechner ● ● ● sichere authentifizierte und verschlüsselte Verbindung zwischen zwei Rechnern über ein unsicheres Netzwerk X11-Sitzungen und andere TCP/IP-Verbindungen über ssh tunneln Sendet RSA Key Fingerprint, der geprüft werden und bei späteren Logins verglichen werden kann

Slide 40

Slide 40

File Transfer (FTP) ● SCP, SFTP: nutzen SSH zum Datentransfer ● FTP mit SSL (FTPS) – ● Serverseitig: SSL nutzen (Zertifikat generieren, TLS im Server anschalten, z.B. proftp, vsftp) Clients/Frontends: – Linux: Gftp (scp, sftp, ssl), Konqueror (sftp, ssl) – Win: WS FTP (SSL), Putty (SFTP), WinSCP – Mac: Fugu (SFTP, SCP)

Slide 41

Slide 41

Verschlüsselung in Funknetzen Wireless LAN Mobiles Telefonieren

Slide 42

Slide 42

WLAN ● ● Wireless Equivalent Privacy (WEP): – meiste Produkte: nur 40bit Schlüssel – gezielte Modifikationen an Nachrichten, Mitlesen, Schlüsselberechnung sind möglich – kein Schlüsselmanagement, es gibt einen Shared Key für das gesamte Netzwerk – nur Client authentisiert, nicht AP oder Nutzer Lösungen: – stattdessen SSL, SSH, IPSec o.ä. verwenden – VPN hinter Access Point aufbauen

Slide 43

Slide 43

WLAN (2) ● ● 2002: WPA (Wi-Fi Protected Access) – Verschlüsselung: TKIP (Temporal Key Integrity Protocol), basiert auf WEP, behebt dessen gröbste Fehler – Geräte per Firmware-Update aufrüsten 2004: Standard IEEE 802.11i: – TKIP – WRAP (Wireless Robust Authenticated Protocol) basierend auf AES (Advanced Encryption Standard) und CCMP (vollständig neues Protokoll ohne Verwandtschaft zu WEP) – neue AP-Geräte notwendig

Slide 44

Slide 44

Mobil Telefonieren ● ● ● ● Drahtlose Übertragung leichter anzuzapfen Gerät muss immer neu authentifiziert werden, wenn es den Netzzugangspunkt wechselt Aufenthaltsort des Gerät u.U. ähnlich interessant wie Inhalt des Gesprächs Location Privacy ist nicht gegeben

Slide 45

Slide 45

Mobil Telefonieren (2) ● GSM: – an sich immer Verschlüsselung - zwischen Handy und Basisstation – Provider kann Verschl. jederzeit deaktivieren ● Es gibt Software zur End-zu-End-Verschlüsselung ● anonyme Pre-Paid-Karten nutzen ● Verschlüsselungssoftware für die Daten auf dem Handy (Fotos, Notizen…)

Slide 46

Slide 46

Noch Fragen?