Version fuer 16.07.2014 (RUB)

This commit is contained in:
Stefan Kinzel 2014-07-10 01:20:02 +02:00
commit 38229e26f4
20 changed files with 3211 additions and 0 deletions

BIN
ctdo-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

BIN
dia/alicebob_key.dia Normal file

Binary file not shown.

BIN
dia/alicebob_keysign.dia Normal file

Binary file not shown.

BIN
dia/alicebob_mail.dia Normal file

Binary file not shown.

BIN
dia/alicebob_mitm.dia Normal file

Binary file not shown.

BIN
dia/schleuder_schema.dia Normal file

Binary file not shown.

477
emailcrypto.tex Normal file
View File

@ -0,0 +1,477 @@
\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[zeus / stefan]{Kai 'zeus' Kostian $\langle$zeus@ctdo.de$\rangle$ \\
Stefan Kinzel $\langle$stefan@ctdo.de$\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/RUB 16.07.14]{Cryptoparty an der RUB\\{\small 16.07.2014}}
\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 https:// und eMail-Verschl\"usselung}
\begin{itemize}
\item https, SSL und TLS ersetzt eMail-Verschl\"usselung \textbf{NICHT}
\item https kann vor Account- und Identit\"atsdiebstahl sch\"utzen
\item eMail-Verschl\"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 u.\"A. sind Inhaltsverschl\"usselungen
\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 zum 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}
%\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{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=11cm]{png/weboftrust.png} \\
\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{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}
Bild auf Seite 13: \url{http://de.wikipedia.org/wiki/Datei:Web_of_Trust.svg} \\
\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}
\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}

BIN
png/alicebob_key.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

BIN
png/alicebob_keysign.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

BIN
png/alicebob_mail.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

BIN
png/alicebob_mitm.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

BIN
png/badge.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
png/cc-by-nc-sa.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 KiB

2
png/schleuder_schema.aux Normal file
View File

@ -0,0 +1,2 @@
\relax
\providecommand\hyper@newdestlabel[2]{}

BIN
png/schleuder_schema.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

2732
png/schleuder_schema.tex Normal file

File diff suppressed because it is too large Load Diff

BIN
png/weboftrust.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

BIN
png/xkcd_security.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB