Sichere E-Mail - Hackerspace Bremen eV

Transcrição

Sichere E-Mail - Hackerspace Bremen eV
Sichere E-Mail
Axel Kielhorn
Hackerspace Bremen 2014
1
Für alle offen
E-Mail ist . . .
• eine Postkarte
• eine Postwurfwendung
• unsicher
Internet E-Mail, so wie wir sie heute kennen, basiert auf RFC 822 aus dem Jahre 1982. In den
80er Jahren gab es weitere Mail Netzwerke, wie das FidoNet (1984), MausNet (1984), Z-Netz
(1984), sowie die Onlinedienste CompuServe (1969) und AOL (1985). Diese Dienste benutzten
eigene Formate und wurden in den 90ern über Gateways an das Internet angeschlossen.
Heute gibt es mit de-mail ein neues Parallelsystem ohne Verbindung zur Internet Mail.
2
Sichere E-Mail
Sichere E-Mail
SSL / TLS: Mailprogramm an Server
Signatur: Verifizierter Absender
Verschlüsselung: Geschützter Inhalt
Umgangssprachlich wird immer noch der Begriff SSL (Secure Sockets Layer) benutz, pratisch
ist dieses Protokoll jedoch veraltet und durch TLS (Transport Layer Security) abgelöst. Die
aktuelle Version TLS 1.2 (2008) bietet zusätzlich forward secrecy und verwendet damit für
jede Verbindung einen neuen Schlüssel. Ohne diese Erweiterung ist es möglich aufgezeichnete
Verbindungen zu entschlüsseln, wenn der Schlüssel bekannt wird.
Neben der TLS Version kommt es auch auf das verwendete Verschlüsselungsverfahren an.
DES, RC2, 3DES und RC4 sind auch bei Verwendung von TLS nicht sicher, die beiden ersten
werden daher von TLS 1.2 nicht mehr unterstützt.
Laut c’t[2] verwenden die großen deutschen Anbieter web.de und GMX zwar TLS 1.2,
jedoch keine forward secrecy. Lediglich mail.de und gmail sind auf dem Stand der Technik.
Besonders negativ fällt T-Online auf, die immer noch SSL v3 und 3DES benutzt.
Die Anbieter web.de, GMX und T-Online wollen bis zum Frühjahr ihre Server auf den
Stand der Technik bringen.
Zwei Anbieter, die bereits jetzt sichere Mail anbieten sind https://www.jpberlin.de/ und
https://posteo.de/. Ein Postfach kostet 1 A
C pro Monat und bietet 1 bzw. 2 GB Speicherplatz.
1
3
Restrisiko
Tracking
Wer hat was wann gelesen?
Durch verlinkte Bilder (1 Pixel Bilder oder Logos) die vom Server abgerufen werden, kann
der Absender das Öffnen der Mail protokollieren.
Phishing
Mail von der Bank?
Nachgemachte Mails von Banken oder Paypal versuchen Nutzer auf gefälschte Webseiten zu
locken. Nach Eingabe des Benutzernamens und Passworts ist dann die Identität und das Geld
weg.
Metadaten
Wer kommuniziert mit wem?
Auch bei verschlüsselter Mail bleibt der „Umschlag“ lesbar, da er für den Transport der
Mail benötigt wird.
4
Signatur
Signatur
• Elektronische Signatur (S/MIME X.509 oder PGP)
2
• Absender hat Kontrolle über die Mail Adresse (Fehler in Thunderbird 24.1.0)
Es gibt zwei Absender: From: und Sender:. Thunderbird hat From: angezeigt, aber die
Signatur von Sender: überprüft.
• Empfänger muss der Signatur vertrauen
5
Verschlüsselung
Verschlüsselung
• Absender benötigt öffentlichen Schlüssel des Empfängers
• Sicherer Schlüsselaustausch
• Was passiert mit veralteten Schlüsseln (1024 bit)?
6
S/MIME
S/MIME
• S/MIME wird von den meisten Mailprogrammen unterstützt (außer mobil, hier nur Apple
Mail ab iOS 5)
• Integration im Betriebssystem
• Einfach zu bedienen
S/MIME Vertrauen
• Zentrale Vergabe durch CA (Certification Authority) (Kosten: Symantec 23 $ US / Jahr)
• Hierarchisches Vertrauensmodell
• Vertrauen in CA wichtig
– DigiNotar
– ANSSI (Google für franz. Innenministerium)
– Comodo Security Solutions, Inc
– Web.de
– ich
– CAcert.org
CAcert.org
• Eingetragener Verein (Australien)
• Kostenlos für Privatnutzer
• Überprüfung durch Mitglieder (CAP-Formular)
• CAcert signiert auch PGP Schlüssel
3
Um ein Zertifikat zu beantragen, muss man Mitglied im CAcert werden. Als CAcert Mitglied
erkennt man die Vertragsbedingungen (CCA CAcert Community Agreement) an.
Daraus ergeben sich Risiken und Pflichten:
Risiken: Mitglied kann jederzeit Beteiligter in einer Arbitration werden
Haftung: Haftungslimitierung auf 1000 A
C z. B. bei Falschaussagen
Pflichten: Primäre Email Adresse erreichbar zu halten
Die Arbitration ist ein interner Prozess um Konflikte zu lösen. (z. B. widersprüchliche Angaben)
Bei minderjährigen ist eine Einwilligungserklärung der Eltern erforderlich.
Bei Mitgliedern mit weniger als 50 Punkten ist das Zertifikat 6 Monate gültig und muss
dann erneuert werden. Bei Mitgliedern mit 50 und mehr Punkten ist das Zertifikat 2 Jahre
gültig. Es enthält außerdem den Namen des Zertifikateigentümers. Zusätzlich bietet CAcert an
PGP-Schlüssel zu signieren.
7
PGP / GPG
PGP / GPG
• PGP benötigt Zusatzprogramme (Enigmail, GPGTools, GPG4Win)
• Eigenständige Verwaltung
• Etwas umständlicher
PGP Vertrauen
• Zentrale Infrastruktur (Keyserver)
• Vernetztes Vertrauensmodell (Key Signing Party)
• Inselbildung möglich (nicht-öffentliche Keyserver/ Schlüssellisten)
Anhand der Einträge auf dem Keyserver lassen sich Verbindungen (wer kennt wen, wer
hat wen wann getroffen) zu anderen Personen ermitteln. (Web of Trust graph) Daher kann es
sinnvoll sein, interne Schlüssel nicht auf den Keyserver zu laden.
Es gibt zwei GPG-Versionen, die alte (1.4 Reihe) und die neu (2.0 Reihe). Wenn beide installiert sind findet man GPG2 unter dem Namen gpg2. Um die installierte Version zu ermitteln
gibt man
gpg --version
ein. Das Ergebnis ist dann
gpg (GnuPG) 1.4.16
oder
gpg (GnuPG/MacGPG2) 2.0.22
In folgenden wird GPG2 verwendet.
Außer E-Mails lassen sich auch Dateien signieren:
4
gpg2 --detach-sign --local-user <keyID> Dateiname
Das Ergebnis ist eine neue Datei mit dem Namen der Originaldatei und der Endung .sig
oder .asc. Mit dieser Signaturdatei lässt sich die Originaldatei überprüfen.
gpg2 --verify Dateiname.sig
Wenn Absender und Empfänger eine Datei signieren und sich die Signaturen zumailen bestätigen sie somit die Identität der Datei.
Rechtliche Unterschiede
• CAcert verbindet ein Mitglied mit einer (oder mehreren) E-Mail Adressen. Diese Adressen dürfen ausschließlich vom Mitglied genutzt werden. Familien Mail-Adressen sind
nicht zulässig!
• PGP verbindet eine Person mit einem Schlüssel. Es können mehrere Schlüssel für eine
Mail Adresse existieren. Diese Schlüssel können einer oder mehreren Personen gehören.
Ein CAcert Mitglied darf seinen geheimen Schlüssel nicht an dritte weitergeben. Ein Mitnutzer der E-Mail Adresse kann kein CAcert Mitglied sein, da Mail Adressen einmalig sein
müssen.
8
Praxis
GPG Schlüssel erzeugen
Kommandozeile
$ gpg2 --gen-key
Bitte wählen Sie, welche Art von Schlüssel Sie möchten:
(1) RSA und RSA (voreingestellt)
(2) DSA und Elgamal
(3) DSA (nur signieren/beglaubigen)
(4) RSA (nur signieren/beglaubigen)
Auswahl? 1
GPG Schlüssel erzeugen
RSA-Schlüssel können zwischen
1024 und 8192 Bit lang sein.
Welche Schlüssellänge wünschen Sie? (2048)
Bitte wählen Sie,
wie lange der Schlüssel gültig bleiben soll.
0 = Schlüssel verfällt nie
<n> = Schlüssel verfällt nach n Tagen
<n>w = Schlüssel verfällt nach n Wochen
<n>m = Schlüssel verfällt nach n Monaten
<n>y = Schlüssel verfällt nach n Jahren
Wie lange bleibt der Schlüssel gültig? (0)
5
GPG Schlüssel erzeugen
Schlüssel verfällt nie
Ist dies richtig? (j/N) j
Ihr Name (" Vorname Nachname"): Vorname Nachname
Email-Adresse: [email protected]
Kommentar:
Ändern: (N)ame, (K)ommentar, (E)-Mail oder
(F)ertig/(A)bbrechen? F
Sie benötigen eine Passphrase,
um den geheimen Schlüssel zu schützen.
GPG Schlüssel erzeugen
Wir müssen eine ganze Menge Zufallswerte erzeugen.
Sie können dies unterstützen, indem Sie z.B. in
einem anderen Fenster irgendetwas tippen, die Maus
verwenden oder irgendwelche anderen Programme
benutzen.
gpg: Schlüssel 43A32526 ist als uneingeschränkt
vertrauenswürdig gekennzeichnet
Öffentlichen und geheimen Schlüssel
erzeugt und signiert.
pub
2048R/43A32526 2013-12-04
Schl.-Fingerabdruck = 2D58 ... 2526
uid Vorname Nachname <[email protected]>
sub 2048R/6ADE42A1 2013-12-04
Als Schlüssel-ID wird die 8stellige Kurzform angezeigt, in Wirklichkeit sind es aber 16 Stellen. Der Fingerabdruck (10 4stellige Hexadezimalzahlen) wird benutzt, um die Echtheit des
Schlüssels zu beweisen (zum Beispiel durch vorlesen am Telefon).
Zum hochladen auf einen Schlüsselserver dient der Befehl
gpg2 --send-keys keyID --keyserver subkeys.pgp.net
Die keyID kann man mit dem Befehl
gpg2 --list-keys <name>
ermitteln.
PGP Schlüssel werden von anderen Nutzern signiert (beglaubigt). Daher sollte man regelmäßig die Schlüssel aktualisieren. Das geht mit dem Befehl:
gpg2 --refresh-keys --keyserver subkeys.pgp.net
Die Angabe des Schlüsselservers ist optional.
Diese Befehle werden nur der Vollständigkeit halber gezeigt. Es ist einfacher, diese Operationen über eine grafische Oberfläche auszuführen.
6
9
Mailprogramme
Thunderbird
• Erweiterung Enigmail (vorher GPG installieren!)
• Installationswizard findet GPG Konfiguration
• Benutzung: Schaltfläche OpenPGP
Apple Mail
• Erweiterung GPGtools (enthält GPG)
• Mail plugin / Dienste Erweiterung
• GPG Schlüsselbund zur Schlüsselverwaltung
PGP signierte Mail
PGP signierte Mail (Fehler)
7
S/MIME signierte Mail
Outlook
• GPG4Win installieren (enthält GPG)
• GpgOL (Plugin für Outlook 2003, 2007, 2010, 2013)
• Kleopatra zur Schlüsselverwaltung
Webmail
• Geheimer Schlüssel muss geheim bleiben, hochladen zum Mail Anbieter problematisch
(bzw. verboten).
• Signieren der Mail auf dem Rechner, hochladen von Text und Signatur ist umständlich.
• Ausnahme: Web.de erlaubt im Webbrowser signierte und verschlüsselte Mails zu verschicken. Geheimer Schlüssel wird beim Anbieter gespeichert!
10
Web of Trust
Risiken und Nebenwirkungen
• BCC Leck: Eine Mail wird einmal verschlüsselt. Der Schlüssel wird für jeden Empfänger
verschlüsselt. Dadurch kann jeder Empfänger alle Empfängeradressen sehen.
• Kein Schutz bei blindem Vertrauen (GPG überprüft ob der Schlüssel zur Mail passt, ich
überprüfe, ob ich dem Schlüssel vertraue.)
• Web of Trust legt Kontakte zwischen Nutzern offen.
Es gibt zwei Möglichkeiten das BCC-Leck zu stopfen: --hidden-encrypt-to <name> und
--hidden-recipient <name>.
Beide verschlüsseln für den Empfänger <name>, tragen aber dessen Schlüssel-ID nicht in die
Empfängerliste ein. Der Empfänger muss ggf. alle seine Schlüssel ausprobieren.
8
Die Alternative --throw-keyids trägt keine Schlüssel-ID in die Empfängerliste ein. Alle
Empfänger müssen bei Bedarf alle Schlüssel ausprobieren.
Wirklich sicher ist es nur dem BCC-Empfänger eine separate Mail zu schicken. Diese ist
dann aber nicht mehr das identische Dokument sondern nur eine Kopie und kann gegenüber
der Originalmail verändert sein.
Für beide Varianten gibt es in der graphischen Oberfläche keine Unterstützung, die Verschlüsselung muss auf der Kommandozeile erfolgen.
Web of Trust
Web of Trust (Detail)
Was fehlt?
• „Sichere Umgebung“
• Unterschlüssel (mit begrenzter Gültigkeit)
• Widerrufen (von Schlüsseln und Unterschlüsseln)
• Schlüsselbackup
9
11
Aktion!
Los geht’s
• Programme installieren
• Schlüssel erzeugen
• Auf Schlüsselserver hochladen
• Signierte Mail an [email protected]
• Schlüssel signieren lassen (bei Vorlage eines amtlichen Ausweises)
Es muss nicht für jede E-Mail Adresse ein eigener Schlüssel erzeugt werden. An einen Schlüssel lassen sich beliebig viele User-IDs (E-Mail Adressen) anhängen. Diese können unabhängig
voneinander widerrufen werden.
Key Signing Party
mit Internetzugang
• Schlüssel auf Schlüsselserver hochladen
• Signierte Mail an Signierer schicken
• Fingerabdruck und Ausweis bereithalten
• Signierer lädt Schlüssel vom Server, unterschreibt ihn und lädt ihn wieder hoch
• Schlüssel vom Server aktualisieren
• Signierer signieren
Das Programm party-table.pl erstellt aus allen Schlüsseln eines Schlüsselbundes eine
HTML-Datei. Mit Hilfe dieser Datei kann man bei einer Key Signing Karty überprüfen, ob
man alle Schlüssel überprüft und signiert hat. Dazu senden alle Teilnehmer ihren Schlüssel an
einen Organisator, der diese in sein Schlüsselbund importiert und dann die Tabelle erstellt.
In der Spalte Key Info Matches? macht man ein Kreuz wenn der Fingerabdruck übereinstimmt, in der Spalte Owner ID Matches wenn man den Ausweis überprüft hat. Anschließend
kann man den Schlüssel signieren und auf den Server hochladen.
12
Anhang
Lizenz
Das Begleitmaterial zu diesem Vortrag steht unter einer Creative Commons Lizenz.
b Namensnennung
e Nicht-kommerziell
a Weitergabe unter gleichen Bedingungen
Version 3.0 in der für Deutschland angepassten Version. (CC BY-NC-SA 3.0 DE)
http://creativecommons.org/licenses/by-nc-sa/3.0/de/legalcode
10
Haftungsausschluss
• Ich übernehme keine Haftung für Schäden, die durch die hier vorgestellte Software entstehen.
• Die Benutzung von Verschlüsselung bzw. die Nicht-Herausgabe eines Passwortes ist in
einigen Ländern strafbar.
• Die vorgestellte Software ist nicht zur Übertragung von militärischen Geheimnissen geeignet.
Links
Thunderbird http://www.mozilla.org/en-US/thunderbird/
GPG4Win http://www.gpg4win.de/
GPGTools https://gpgtools.org/
Gnupg http://www.gnupg.org/
CAcert http://www.cacert.org
Workshop https://dl.dropboxusercontent.com/u/710584/email-article.pdf
Signatur https://dl.dropboxusercontent.com/u/710584/email-article.pdf.sig
Heise http://www.heise.de/security/dienste/Krypto-Kampagne-2111.html
Literatur
[1]
Jo Bager und Holger Bleich. „Mailer zum Mitnehmen“. In: c’t 25 (2013), S. 104.
[2]
Jo Bager und Jürgen Schmidt. „Briefgeheimnis“. In: c’t 04 (2014), S. 86–95.
[3]
Holger Bleich. „Privatsache E-Mail“. In: c’t 22 (2013), S. 136.
[4]
V. Alex Brennen. GnuPG Keysigning-Party HOWTO. 26. Jan. 2014. url: http://rhonda.
deb.at/projects/gpg-party/gpg-party.de.html.
[5]
Reiko Kaps. „Einbruchschutz“. In: c’t 23 (2013), S. 166.
[6]
Hauke Laging. Einführung in die Funktionsweise von OpenPGP / GnuPG (gpg). 26. Jan.
2014. url: http://www.hauke-laging.de/sicherheit/openpgp.html.
[7]
Jürgen Schmidt. „E-Mail im Visier“. In: c’t 22 (2013), S. 130.
11

Documentos relacionados