ctdo/Vorträge/gpg/emailcrypto.tex

537 lines
18 KiB
TeX
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\RequirePackage{pdf14} % funkioniert sonst mit impress!ve nicht, weil LaTeX in neueren Versionen
% mittlerweile PDF V.1.5 statt V.1.4 erzeugt, das impress!ve (zumindest
% bis inkl. version 0.10.3-1) nicht unterstützt! Das 'pdf14'-Package ist
% z.B. in dem Metapaket 'texlive-most' enthalten (zumindest unter Arch)!
\documentclass[ignorenonframetext]{beamer}
%\documentclass[ignorenoframetext,handout]{beamer}
\usepackage{pgf}
\usepackage{hyperref}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{multirow}
\mode<handout>
{
\usepackage{pgfpages}
\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm]
\setjobnamebeamerversion{foobar}
}
\setbeamertemplate{navigation symbols}{}
\mode<presentation> {
\usetheme[secheader]{Madrid}
\usecolortheme{default}
\usefonttheme{professionalfonts}
\setbeamercovered{transparent}
}
%\usepackage[latin1]{inputenc}
%\usepackage{multirow}
%\usepackage[english]{babel}
\title{eMail-Verschlüsselung für Einsteiger}
%\author{\\$\langle$von zeus und nospoonuser$\rangle$}
%\author[zeus \& nospoonuser]{Kai 'zeus' Kostian $\langle$zeus@ctdo.de$\rangle$ \\
%Julian 'nospoonuser' Kellermann $\langle$nospoonuser@ctdo.de$\rangle$}
\author[kai / stefan / markus]
{Kai 'zeus' Kostian $\langle$zeus@ctdo.de$\rangle$ \\
Stefan Kinzel $\langle$stefan@ctdo.de$\rangle$ \\
Markus Lindenberg $\langle$markus@lindenberg.io$\rangle$ \\}
%\institute[CTDO - BBQ'11]{Chaostreff-Dortmund - Chaos BBQ Weekend 08/09/10-07-2011}
%\institute[CTDO]{Chaostreff Dortmund} \date[Chaos BBQ Weekend 2011]{Chaos BBQ Weekend 2011\\{\small 09.07.2011}}
%\institute[CTDO]{Chaostreff Dortmund} \date[Cryptoparty 25.03.2014]{Cryptoparty\\{\small 25.03.2014}}
\institute[CTDO]{Chaostreff Dortmund} \date[Cryptoparty im LA 04.10.15]{Cryptoparty im Langen August\\{\small 04.10.2015}}
\logo{\pgfimage[width=50px]{ctdo-logo}}
\begin{document}
\frame{\maketitle}
\begin{frame}
\frametitle{Index}
\tableofcontents
\end{frame}
\section{Generelles Vorwissen zum Thema}
\begin{frame}
\frametitle{Kryptographie kurz erkl\"art}
\begin{itemize}
\item Wird seit dem R\"omischen Reich zur \"Ubermittlung von geheimen Informationen genutzt (z.B. Schlachtpl\"ane)
%
\item Die Anf\"ange: Caesar-Chiffre (Schl\"ussel ''C'' ):
\begin{itemize}
\item DiesisteinKlartext
\item GLHVLVWHLQNODUWHAW
\end{itemize}
\item Durchbruch der Verschl\"usselung seit der Enigma(1918): DES(1975), RSA(1977), AES(1998), ...
\item Verschiedene Verfahren: Symmetrische und asymmetrische Schl\"usselverfahren
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{eMail-Grundlagen}
\begin{itemize}
\item Elektronische Post seit 1984
\item Getrennte Server f\"ur Empfang (POP3 - veraltet, und IMAP) und Versand (SMTP) einer eMail
\item eMails bestehen aus Header- und Body-Teil
\begin{itemize}
\item Wichtig: Betreff geh\"ort zum Envelope (Header!)
\end{itemize}
\item Verschl\"usselte Kommunikation nur bis zum Provider ohne Zusatzsoftware m\"oglich
\item eMails passieren im Klartext meist einige bis einige dutzend Server
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{eMail mit Alice und Bob}
\includegraphics[width=10cm]{png/alicebob_mail.png}
\end{frame}
\begin{frame}
\frametitle{Wie eMail-Verschl\"usselung funktioniert - Ein \"Uberblick}
\begin{itemize}
\item PGP - Pretty Good Privacy (1991) - Programm zur Beschreibung des Schl\"usselmodells
\begin{itemize}
\item Bis Ende der 90er unter Kriegswaffengesetz in USA - mittlerweile von McAfee aufgekauft
\end{itemize}
\item OpenPGP (1998) - Offener Standard und Beschreibung des Verfahrens basierend auf PGP v.5
\item GnuPG (1998) - Freies Programm auf Basis des Standards von OpenPGP
\item Web of Trust (Keine zentrale Zertifizierungsinstanz)
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Bedarf an Vertrauensw\"urdigkeit}
% \begin{itemize}
% \item Das Fazit
%
\begin{itemize}
\item Je peinlicher oder pers\"onlicher eine Information, desto mehr Bedarf an Schutzw\"urdigkeit
\item Je brisanter die Informationen, desto mehr Bedarf an Schutzw\"urdigkeit
\item Je teurer es ist, wenn Informationen in die falschen H\"ande gelangen, desto mehr Bedarf an Schutzw\"urdigkeit
\end{itemize}
% \end{itemize}
\begin{block}{}
$\Rightarrow$ Alles verschl\"usseln, was verschl\"usselbar ist
\end{block}
\end{frame}
\begin{frame}
\frametitle{Unterschied zwischen Transport und Inhaltsverschl\"usselung}
\begin{itemize}
\item Transport-Crypto \textbf{IST NICHT GLEICH} Inhalts-Crypto!
\item Transportverschl\"usselung \textbf{KANN} vor Account- und Identit\"atsdiebstahl sch\"utzen
\item Inhaltserschl\"usselung sch\"utzt vor Manipulation, vor Mitlesern und erm\"oglicht Authentifizierung des Kommunikationspartners
\item beides sind \textbf{ERG\"ANZENDE} Verfahren
\begin{itemize}
\item SSL und TLS (https) sind Transportverschl\"usselungen
\item GPG, PGP, AES u.\"A. sind Inhaltsverschl\"usselungen
\end{itemize}
\end{itemize}
\end{frame}
%\section{Bedarf und Anwendungen von Verschl\"usselung und Signaturen}
%\begin{frame}
% \frametitle{Privater Bereich}
% \begin{itemize}
% \item Der typische Liebesbrief und \"ahnliches
%
% \item Vertrauen durch Schweigepflicht bei \"Arzten, Psychiatern, Geistlichen, Beratungsstellen, etc.
%
% \item Schutz vor Beh\"orden und staatlicher Repression
%
% \item Kann ich meinem Gegen\"uber vertrauen, dass er/sie auch wirklich er/sie ist ?
% \end{itemize}
%\end{frame}
%\begin{frame}
% \frametitle{Geschäftlicher Bereich}
% \begin{itemize}
% \item Wirtschaftlicher Bedarf an Vertrauensw\"urdigkeit, da h\"aufig viel Geld im Spiel ist
%
% \item Schutz vor der Konkurrenz
%
% \item Leaking !!!
% \end{itemize}
%\end{frame}
%\begin{frame}
% \frametitle{Hoheitlicher Bereich}
% \begin{itemize}
% \item Da ist noch viel viel mehr Geld im Spiel...
%
% \item Schutz vor anderen Staaten und Nationen
%
% \item Sicherstellung der Geheimniswahrung kann ggf. \"uber Leben und Tod sowie \"uber Krieg und Frieden entscheiden
%
% \item Hier ist Leaking noch deutlich brisanter als bei Firmen (siehe WikiLeaks) !!
% \end{itemize}
%\end{frame}
\section{Funktionsweise im Detail}
\begin{frame}
\frametitle{GPG, PGP, GnuPG... und andere P und G's...}
\begin{itemize}
\item Asymmetrisches Schl\"usselverfahren mit Passw\"ortern \textbf{UND} Schl\"usseldateien
\item Private- und Public-Keys
\item Signatur mit \textbf{Private}-Key des Senders
\item Verschl\"usselung mit \textbf{Public}-Key des Empf\"angers
\item Entschl\"usselung durch \textbf{Private}-Key des Empf\"angers
\end{itemize}
Vorteile:
\begin{itemize}
\item \"Uberpr\"ufbarkeit der Authentizit\"at von Schl\"usseln durch Fingerprints
\item \"Uberpr\"ufbarkeit einer Nachricht auf Manipulation durch Signaturen
\item Erweiterung von ''Vertrauen'' durch Keysigning (gegenseitiges Unterschreiben von Schl\"usseln)
\begin{itemize}
\item Verschiedene Vertrauensebenen - Ein wesentlicher \\
Bestandteil der Chain of Trust / des Web of Trust
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Vorraussetzungen}
\begin{itemize}
\item Schl\"usselerzeugung mit OpenPGP bei ausreichender \\
Schl\"ussell\"ange (z.B. 4096 bit) und sicherem Passwort
\begin{itemize}
\item 2 Schl\"ussel werden erzeugt; 1 privater und 1 \"offentlicher
\item Der \"offentliche Schl\"ussel muss an alle k\"unftigen Kommunikationspartner weitergegeben werden
\item Der private Schl\"ussel sowie das Passwort \textbf{DARF NIEMALS} weitergegeben werden
\end{itemize}
\item Schl\"usselaustausch am besten pers\"onlich vornehmen
\begin{itemize}
\item Praktische Alternative f\"ur den Schl\"usseltausch: Keyserver
\item Schl\"usselserver dienen zum Austausch von Public-Keys \\
mit automatischer Synchronisation untereinander
\item \textbf{Achtung: Verifikation von Schl\"usseln ist bei \\
Nutzung von Keyservern wichtiger denn je !!}
\end{itemize}
\item Verifizierung von Schl\"usseln entweder pers\"onlich oder \"uber\\
alternative Kan\"ale (z.B. Fingerprint am Telefon vorlesen)
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{eMail-Verschl\"usselung mit Alice und Bob}
\includegraphics[width=10cm]{png/alicebob_key.png}
\end{frame}
\begin{frame}
\frametitle{Keysigning mit Alice und Bob}
\includegraphics[width=10cm]{png/alicebob_keysign.png}
\end{frame}
\begin{frame}
\frametitle{Web of Trust - Vertrauensketten}
\includegraphics[width=10cm]{png/weboftrust.png} \footnote{ CC-BY-SA \url{http://de.wikipedia.org/wiki/Datei:Web_of_Trust.svg}}\\
\begin{itemize}
\item Schaffung von Vertrauensketten durch \\
direktes und indirektes Vertrauen
\item Kurz gesagt: Ich vertraue Jedem, dem von \\
Jemandem vertraut wird, dem ich vertraue
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Fingerprints im Detail}
\begin{itemize}
\item F\"ur Penible: Der Fingerprint ist ein 160-bit SHA-1-Hash \\
des Octets 0x99 \"uber den Public-Key (RFC4880 Kapitel 12.2)
\item Key-ID: Die unsignifikantesten (letzten) 64 Bits des Fingerprints
\item Hex-Dezimale Notation von Fingerprints und Key-ID's
\item Beispiel: Immo Wehrenberg - immo@bundessicherheitsministerium.de
\end{itemize}
\begin{tabular}{|r|r|r|r|} \hline
& \multicolumn{3}{c|}{\textbf{Fingerprint-Aufbau}} \\ \hline
\textbf{Print:} & \multicolumn{3}{c|}{8BFC 303C 1574 5912 23B5 CFDD 5A59 5F09 \textbf{9B40 9979}} \\ \hline
\textbf{ID:} & \multicolumn{3}{r|} {0x \textbf{9B40 9979}} \\ \hline
\end{tabular}
\end{frame}
\section{Chain of Trust - Das Vertrauensmodell}
\begin{frame}
\frametitle{Chain of Trust - Teil I : Die Theorie}
\emph{In der Theorie ist Theorie und Praxis Ein- und Dasselbe} \\
In der Theorie ...
\begin{itemize}
\item ...gibt man niemals den Private-Key oder das Passwort weiter (oder vergisst eines von beiden irgendwo... )
\item ...nimmt man f\"ur jeden Zweck ein anderes Passwort
\item ...benutzt man nur sichere Passw\"orter mit \textgreater 20 Zeichen, mit Sonderzeichen, Gro"s- und Kleinbuchstaben und Zahlen
\item ...benutzt man nur vertrauensw\"urdige Hard-\& Software und zwar nur in Umgebungen, die man vollst\"andig kontrollieren kann
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Chain of Trust - Teil II : Die Praxis}
\emph{Wenn man sagt, dass man einer Sache grundsätzlich zustimmt, \\
so bedeutet es, dass man nicht die geringste Absicht hat, \\
sie in der Praxis durchzuführen.} -Otto von Bismarck \\
In der Praxis...
\begin{itemize}
\item ...passieren Fehler eher selten durch schlechte Konzepte oder Technik, sondern durch dessen mangelhafte Umsetztung
\item ...ist der Mensch nach wie vor der Single Point of Failure in diesem Trustmodell
\item ...passieren die meisten GAUs immernoch durch:
\begin{itemize}
\item Dummheit
\item Naivit\"at
\item Faulheit
\item oder (vor allem!) Schusseligkeit
\end{itemize}
\item Das ist nun mal die Realit\"at...
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Backups}
\begin{itemize}
\item Backups von privaten Schl\"usseln bzw.~Widerrufszertifikaten anzufertigen ist \textbf{UNERL\"ASSLICH}
\item Der goldene Weg: Auf Papier und/oder USB-Stick im Schliessfach/Tresor lagern, am besten redundant
\begin{itemize}
\item Problem: bei Verlust/Verlegen des Keys ist das abtippen m\"uhselig (etwa 1 Din-A4 Seite voller kryptischer Zeichen)
\end{itemize}
\item Fazit: Jedes Konzept hat seine Schw\"achen
\end{itemize}
\end{frame}
%\begin{frame}
% \frametitle{Man-in-the-Middle Attacke}
%\includegraphics[width=10cm]{png/alicebob_mitm.png}
%\end{frame}
\section{Verschl\"usselung mobil ?!?}
\begin{frame}
\frametitle{Ist nur mit Vorsicht zu genie"sen}
Verschl\"usselung mobil, tragbar und bequem auf dem USB-Stick / Smartphone ist zwar m\"oglich, aber nicht ratsam, denn man bricht die Chain of Trust:
\begin{itemize}
\item man hat das Zielsystem seltenst auch nur halbwegs unter Kontrolle (z.B. Keylogger)
\item man kann nicht absch\"atzen, wo Private-Key oder Passwort vielleicht landen
\item gestohlene Identit\"aten sind besonders tragisch, wenn sich der Dieb auch noch authentifizieren kann
\item halbwegs sicherer weg f\"ur alle, die alle Warnungen ignorieren wollen:
\begin{itemize}
\item verschl\"usselter USB-Stick (oder CD) mit Keys drauf
\item am besten als bootbares Live-System
\item \textbf{DAS ALLES HILFT TROTZDEM NICHTS GEGEN MANIPULIERTE TASTATUREN ODER FIES AUSGERICHTETE KAMERAS!!}
\end{itemize}
\end{itemize}
\end{frame}
\section{Fancy Hardware}
\begin{frame}
\frametitle{Es gibt da noch mehr, womit man Verschl\"usseln kann}
Es gibt da Hardware, womit das Ganze etwas noch etwas sicherer wird
\begin{center}
\includegraphics[width=5cm]{png/openpgp_card.jpg}\footnote{ CC-BY-SA \url{https://en.wikipedia.org/wiki/File:OpenPGP_card_2.0.jpg}}
\includegraphics[width=5cm]{png/YubiKey_Neo_and_Nano.jpg}\footnote{ CC-BY-SA \url{https://en.wikipedia.org/wiki/File:YubiKey_Neo_and_Nano.jpg}}
\end{center}
\begin{itemize}
\item Chipkarte ISO/IEC 7816
\item USB: CCID (chip card interface device)
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Smart Cards - Eigenschaften}
\begin{itemize}
\item Prozessorkarte
\item Unterschiedliche Anwendungen (Applets)
\item Schl\"ussel in der Karte gespeichert
\item Grundprinzip: Schl\"ussel kann die Karte nicht verlassen
\item Prozessor der Karte führt Schl\"usseloperationen durch
\item Klonen der Karte oder kopieren der Schl\"ussel unm\"oglich
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{OpenPGP Card}
\begin{itemize}
\item Offener Standard f\"ur PGP-Verschl\"usselung mittels Smart Cards
\item Dedizierte OpenPGP-Karten oder OpenPGP-Funktion in anderen Karten
\item Platz f\"ur drei Schl\"ussel: Sign, Encrypt, Authenticate
\item Schutz durch PIN / Admin-PIN: Sperre nach 3 Versuchen
\item Funktionen zur Verwaltung / Nutzung in GnuPG integriert
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{OpenPGP Card in der Praxis}
\begin{itemize}
\item gpg-agent: Nutzung von GnuPG wie gewohnt
\item Karte muss eingesteckt sein, Eingabe von PIN anstatt Passwort
\item Android: OpenKeychain unterst\"utzt Yubikey Neo (NFC)
\item Nutzung PGP-Key als SSH-Key (gpg-agent als ssh-agent)
\item Keys offline erzeugen, im Alltag nur die OpenPGP-Karte verwenden
\end{itemize}
\end{frame}
\section{Anwendung im t\"aglichen Leben - So sieht die Praxis aus}
\begin{frame}
\frametitle{Praxisbeispiel: Thunderbird mit Enigmail-Addon unter Linux}
\begin{center}
AB HIER KOMMT \\ EINE GANZ TOLLE \\ SUPER-LIVE-DEMO
\end{center}
\end{frame}
\section{Fragen und Antworten}
\begin{frame}
\frametitle{Bullshit made in Germany \footnote{\url{http://media.ccc.de/browse/congress/2013/30C3_-_5210_-_de_-_saal_g_-_201312282030_-_bullshit_made_in_germany_-_linus_neumann.html}}}
\begin{columns}[c]
\begin{column}[t]{5.5cm}
\begin{block}{E-Mail made in Germany}
Aktivierung von SSL/TLS zwischen den Mail-Servern der beteiligten (deutschen) Provider
\end{block}
\end{column}
\begin{column}[t]{5.5cm}
\begin{block}{DE-Mail, E-Postbrief, ...}
Marketingkampagne zur Einf\"uhrung der Briefmarke f\"ur E-Mail
\end{block}
\end{column}
\end{columns}
\begin{columns}[c]
\begin{column}[t]{11.635cm}
\begin{block}{Schlandnet}
Die Telekom ist schuld!
\end{block}
\end{column}
\end{columns}
\end{frame}
\begin{frame}
\frametitle{Was Ihr sonst noch so wissen wollt...}
\begin{center}
Hier ist jetzt Platz f\"ur Fragen und Antworten zum Thema \\
- - -\\
Diese Vortragsfolien gibt es (ungek\"urzt) auch zum Download unter \\
\url{https://wiki.ctdo.de/vortraege/gnupg} \\
- - - \\
Lizensiert unter Creative Commons Deutsch 3.0 BY-NC-SA \\
\url{http://creativecommons.org/licenses/by-nc-sa/3.0/de/} \\
- - - \\
\includegraphics[width=1.47cm]{png/cc-by-nc-sa.png}
\end{center}
\end{frame}
\section{Ende des Vortragsteils}
\begin{frame}
\frametitle{Links zum selber Nachlesen}
\textbf{Links zum Thema:}
\begin{itemize}
\item \url{http://www.chaostreff-dortmund.de}
\item \url{http://de.wikipedia.org/wiki/E-Mail-Verschl\%C3\%BCsselung}
\item \url{http://de.wikipedia.org/wiki/Pretty_Good_Privacy}
\item \url{http://de.wikipedia.org/wiki/OpenPGP}
\item \url{http://de.wikipedia.org/wiki/Gnupg}
\item \url{http://de.wikipedia.org/wiki/Alice_und_Bob}
\item \url{http://de.wikipedia.org/wiki/Web_of_trust}
\item \url{http://de.wikipedia.org/wiki/Schl\%C3\%BCsselserver}
\item \url{http://de.wikipedia.org/wiki/Hexadezimalsystem}
\item \url{http://de.wikipedia.org/wiki/SHA-1}
\item \url{http://tools.ietf.org/html/rfc4880}
\end{itemize}
\end{frame}
\section{Ende des Vortragsteils}
\begin{frame}
\frametitle{Links zum selber Nachlesen}
\textbf{Links zu OpenPGP Smart Cards:}
\begin{itemize}
\item \url{http://g10code.com/p-card.html}
\item \url{http://blog.josefsson.org/2014/06/23/offline-gnupg-master-key-and-subkeys-on-yubikey-neo-smartcard/}
\item \url{http://shop.kernelconcepts.de/}
\item \url{https://www.yubico.com/products/yubikey-hardware/yubikey-neo/}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Ende des Vortragsteils}
\begin{center}
Danke das ihr solange durchgehalten habt!
\end{center}
\end{frame}
\begin{frame}
\frametitle{Nachwort}
\begin{center}
\textbf{Nachwort: https://xkcd.com/538/}
\includegraphics[width=9cm]{png/xkcd_security.png}
\end{center}
\end{frame}
\end{document}