Crypto Mail

Vertraulicher Mailverkehr mit OpenPGP.

Agenda

  1. Wie funktioniert Email
  2. Kryptographie
  3. OpenPGP
  4. OpenPGP einrichten
  5. OpenPGP nutzen

Wie funktioniert Email

Email

Begriffe 1

MUA … Mail User Agent

  • = Mail Client
  • Analogie: Schreibtisch, Zettel und Stift

Email

Begriffe 2

MTA … Mail Transfer Agent

  • = SMTP-Server
  • Analogie: Briefkasten, Postbüro, Briefträger

Email Email Email Email Email

Begriffe 3

MDA … Mail Delivery Agent

  • = IMAP-(/OWA-)Server
  • Analogie: Postkasten

Email

Sendevorgang

Mail-Transport
graph LR MUA1["MUA Sender"] MTA1 INET(["Internet"]) MTA2 MDA MUA2["MUA Empfänger"] MUA1 --> MTA1 MTA1 <--> INET INET <--> MTA2 MTA2 --> MDA MDA --> MUA2

Sendevorgang mit Transport-Verschlüsselung

TLS … Transport Layer Security

Mail-Transport
graph LR MUA1[MUA Sender] MTA1 INET([Internet]) MTA2 MDA MUA2[MUA Empfänger] MUA1 --TLS--> MTA1 MTA1 -->|?| INET INET -->|?| MTA2 MTA2 --TLS--> MDA MDA --TLS--> MUA2

Sicher wenn …

Valide Zertifikate.

Keine schwachen oder kaputten Verschlüsselungsprotokolle und -algorithmen.

Kryptographie erzwungen.

Der Admin beschließt nicht hineinzusehen.

Das sind eine ganze Menge “Bedingungen” für den Umgang mit schutzbedüftigen Informationen.

Eine weitere Sicherheitsebene ist notwendig.

Welche die gesamte Strecke absichert.

Von Ende zu Ende. :-)

Kryptographie

Document-Encrypted
Was genau fehlt der Kommunikation?

Vertraulichkeit

Authentizität und Unleugbarkeit

Integrität

Kryptographie kann dies leisten.

Symmetrische Kryptographie

  • Zum Ver- und Entschlüsseln wird der
    gleiche Schlüssel eingesetzt.
  • Analogie: Fahrradschloss
  • Beispiele: ZIP-Archive, Festplattenverschlüsselung, Passwort-Manager, …

Asymmetrische Kryptographie

  • Zum Ver- und Entschlüsseln werden
    verschiedene Schlüssel eines Paares genutzt.
    • Privater Schlüssel
    • Öffentlicher Schlüssel
  • Entweder RSA oder ECC

Kryptographische Hashfunktion

  • Verarbeitet jede beliebige Bit- oder Bytefolge und erzeugt daraus einen Hash von fixer Länge (typisch 256 Bit).
  • Einwegfunktion.
  • Stark kollisionsresistent.

Öffentlicher Schlüssel

  • frei verteilbar
  • unverschlüsselt gespeichert
  • Nutzung
    • Zur Verschlüsselung von Daten,
      für den Besitzer des private Key
    • Zur Entschlüsselung der mit dem private Key verschlüsselten Daten
      • Signaturprüfung

Privater Schlüssel

  • HÖCHSTES GEHEIMNIS
  • verschlüsselt aufbewahrt
    mit symmetrischer Crypto (z.B. AES-256)
    mit einem starken Passwort
  • Nutzung
    • Zur Verschlüsselung des Hashes in der Signatur,
      welche durch alle mit dem Public Key geprüft werden kann
    • Zur Entschlüsselung der mit dem public Key verschlüsselten Daten.

Verschlüsselung

  1. Die Klartextdaten werden in einen Cipher-Text umgewandelt.
  2. Empfänger muss im Besitz des private Key sein, um den Cipher-Text wieder in den Klartext zurückzuführen.
    1. Sicherstellung der Vertraulichkeit
    2. Sicherstellung der Integrität

Signatur

  1. Nachricht wird eingelesen und ein kryptographischer Hash erzeugt.
  2. Hash wird mit dem privaten Schlüssel verschlüsselt und an die Nachricht angehangen (.asc Dateien)
  3. Empfänger
    1. kann mit dem öffentlichen Schlüssel die Signatur entschlüsseln
      -> Feststellung der Authentizität
    2. und erhält damit den Hash zum Vergleich
      -> Überprüfung der Integrität
Ziele der Crypto

Vertraulichkeit

durch Verschlüsselung

Authentizität und Unleugbarkeit

durch Signatur

Integrität

durch Verschlüsselung und/oder Signatur

Verschlüsselung & Signatur

können auch kombiniert werden.

OpenPGP

MailAndCrypto

Was ist nun dieses OpenPGP?

  • Freie Implementierung der Pretty Good Privacy (PGP) Standards in Software
  • Ver- und Entschlüsselung sowie Authentisierung von Nachrichten unter Zuhilfenahme asymmetrischer Kryptographie
  • Ungebrochen
  • Alternative Technologie: S/MIME
    • Basieren auf X.509 Zertifikaten (benötigt eine CA)
    • Eher im Unternehmensumfeld

Clients mit OpenPGP Support.

Breite Verfügbarkeit von Software
auf allen Plattformen.

Praktische Liste:

https://www.openpgp.org/software/

Thunderbird

  • Freie Software
  • Auf allen Plattformen
  • Seit Version 91 integriertes OpenPGP
    (früher Enigmail)
Thunderbird

OpenPGP

Einrichten.

Construction-Worker

Beginn der Workshop-Inhalte

Wir werden gemeinsam durch die Folien gehen und die verschiedenen Aufgaben meistern.

Zur Unterstützung stehen die freundlichen Kollegen zu ihrer Verfügung bereit. :-)

Thunderbird installieren

Bitte installieren Sie nun Thunderbird. Thunderbird

https://www.thunderbird.net/de

Klären Sie eventuelle Alternativen mit dem nächsten Betreuer ab. Scheuen Sie keine Frage. 😉

Präsentation ist bereitgestellt unter:
https://slides.rockstable.it/crypto-mail

Email-Kontoeinrichtung

  1. Thunderbird öffnen
  2. Burger-Menü oben rechts in der Ecke
  3. Konteneinstellungen
  4. Navigations-Menü
  5. Konten-Aktionen
  6. Email-Konto hinzufügen …

Schlüsselpaar generieren - Teil 1

Menü finden

  1. Burger-Menü oben rechts in der Ecke
  2. Konteneinstellungen
  3. Mail-Account auswählen
  4. Unterpunkt End-Zu-End-Verschlüsselung
  5. Add Key …

Schlüsselpaar generieren - Teil 2

  • Identität auswählen
  • Aktion: “Neuen Schlüssel erstellen”
  • Ablaufzeitraum: 5 Jahre
  • Schlüsseltyp: RSA
  • Schlüssellänge: 4096bit
  • Button: “Schlüssel generieren”

Schlüsseldateien gut aufbewahren

  • Alle Dateien sicher aufbewahren.
    • Public Key, Private Key
    • (Revocation Certificate)
  • Kopie auf Crypto-Speicher (USB-Stick).
  • Das Passwort sicher speichern (Password-Manager).

Vertrauen 1

Ein Schlüssel in OpenPGP wird erst dann verwendet, wenn der Nutzer dem Schlüssel das Vertrauen ausgesprochen hat.

Trust-Level-0 Trust-Level-1 Trust-Level-2 Trust-Level-3 Trust-Level-4

Vertrauen 2

Einem selbst erzeugten Schlüssel kann das “ultimative” Vertrauen ausgesprochen werden.
Thunderbird macht dies automatisch.

Das Vertrauen in einen Fremdenschlüssel muss erst hergestellt werden. Jeder Schlüssel hat eine ID.
Vergleichen, Zuordnen und Vertrauen.

Schlüssel identifizieren

  • In Konteneinstellungen > Ende-zu-Ende-Verschlüsselung
  • Kurze ID sind 16 Stellen von rechts.

Kommandozeile

# gpg --list-keys --keyid-format long \
        openpgp@rockstable.it     
pub   rsa4096/382411AFD9AEBBD0 2022-06-10 [SC] [verfällt: 2027-06-09]
      B4CCD0C183A19C6F9C6B4102382411AFD9AEBBD0
uid              [ ultimativ ] Rockstable OpenPGP <openpgp@rockstable.it>
sub   rsa4096/7D7CB67F02CBB450 2022-06-10 [E] [verfällt: 2027-06-09

Öffentlichen Schlüssel hochladen - Teil 1

  • Dritte können den Schlüssel finden und herunterladen
  • Dritte können den Schlüssel signieren
    • Bildung eines Netzwerk gegenseitigen Vertrauens (Web of Trust)
  • Mit dem Key-Revocation Zertifikat kann ein Schlüssel vom Server zurückgezogen werden.

Öffentlichen Schlüssel hochladen - Teil 2

https://keys.openpgp.org/

  • Ist ein öffentlicher Service für die Verteilung von OpenPGP-Schlüsseln, ein “Keyserver”.
  • Herausstellungsmerkmal:
    Sicherstellung der Kontrolle der Email-Adresse durch Verifizerung per Email.
  • Mehr Info unter
    https://keys.openpgp.org/about

OpenPGP nutzen

Email-Encrypted

Öffentlichen Schlüssel suchen

für

openpgp@rockstable.it

auf

https://keys.openpgp.org/

Email schicken

an

openpgp@rockstable.it

  1. Normal
  2. Signiert
  3. Verschlüsselt
  4. Signiert und verschlüsselt.

Appendix

Referenzen

Präsentation

Bilder