gnupg_emailcrypto/emailcrypto.tex

523 lines
18 KiB
TeX
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

\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]
{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[Vortrag bei Ping - 14.11.15]{Lightning Talks beim Ping e.V.\\{\small 14.11.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}
\pause
\frametitle{Was ist Verschl\"usselung?}
\emph {Verschl\"usselung (auch: Chiffrierung) ist die von einem Schl\"ussel abhängige Umwandlung von „Klartext“ genannten Daten in einen „Geheimtext“ (auch: „Chiffrat“), so dass der Klartext aus dem Geheimtext nur unter Verwendung eines geheimen Schl\"ussels wiedergewonnen werden kann. Sie dient zur Geheimhaltung von Nachrichten, beispielsweise um Daten gegen\"uber unbefugtem Zugriff zu sch\"utzen oder um Nachrichten vertraulich \"ubermitteln zu können.}\footnote{ Quelle: \url{https://de.wikipedia.org/wiki/Verschl\%C3\%BCsselung}}\\
\pause
\begin{itemize}
% \item Wird seit dem R\"omischen Reich zur \"Ubermittlung von geheimen Informationen genutzt (z.B. Schlachtpl\"ane)
\item Die Anf\"ange: Caesar-Verschl\"usselung
\item Durchbr\"uche der Verschl\"usselung: 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 Mails bestehen aus einem Header (Metadaten) und dem Body (Nachrichten, Anh\"ange) \\ $\Rightarrow$ Wichtig: Der Betreff geh\"ort zum Envelope (Header!)
\item Verschl\"usselte Kommunikation nur bis zum eigenen Provider ohne Zusatzsoftware m\"oglich (Transportverschl\"usselung)
\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{Der Bedarf an Vertraulichkeit}
% \begin{itemize}
% \item Das Fazit
%
\begin{itemize}
\item Je \textbf{peinlicher}, \textbf{pers\"onlicher} oder \textbf{brisanter} eine Information ist, desto mehr Bedarf an Vertraulichkeit ist vorhanden
\item Je \textbf{teurer} es ist, wenn Informationen in die falschen H\"ande gelangen, desto mehr Bedarf an Vertraulichkeit ist vorhanden
\end{itemize}
% \end{itemize}
\pause
\begin{block}{}
$\Rightarrow$ Fazit: Alles verschl\"usseln, was verschl\"usselbar ist
\end{block}
\end{frame}
\begin{frame}
\frametitle{Unterschied zwischen Transport- und Inhaltsverschl\"usselung}
\begin{center}
\textbf{Transport-Verschl\"usselung $\neq$ Inhalts-Verschl\"usselung!}
\end{center}
\begin{itemize}
\item Transportverschl\"usselung schafft eine sichere, \textbf{verschl\"usselte} Verbindung, durch welche die Inhalte f\"ur Sender und Empf\"anger trotzdem im Klartext verf\"ugbar sind.
\item Transportverschl\"usselung sch\"utzt nur vor Dritten, die von aussen auf die Verbindung sehen
\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/TLS (https,imaps, ..) $\rightarrow$ \textbf{Transport}verschl\"usselungen
\item GPG, PGP u.\"A. sind Verfahren f\"ur \textbf{Inhalts}verschl\"usselung
\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 (optional) 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}
\pause
\textbf{Vorteile:}
\begin{itemize}
\item \"Uberpr\"ufbarkeit der \textbf{Authentizit\"at} von Schl\"usseln durch Fingerprints
\item \"Uberpr\"ufbarkeit der \textbf{Integrit\"at} von Nachrichten auf Manipulation
\item Erweiterung von ''Vertrauen'' durch Keysigning \\(Chain of Trust / des Web of Trust)
\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 \textbf{2 Schl\"ussel} werden erzeugt; \textbf{1 privater} und \textbf{1 \"offentlicher}
\item Der \textbf{\"offentliche Schl\"ussel} muss an alle k\"unftigen Kommunikationspartner weitergegeben werden
\item Der \textbf{private Schl\"ussel} sowie das Passwort \textbf{DARF NIEMALS} weitergegeben werden
\end{itemize}
\item Schl\"usselaustausch am besten \textbf{pers\"onlich} vornehmen
\begin{itemize}
\item Praktische Alternative f\"ur den Schl\"usseltausch: \textbf{Keyserver}
\item Schl\"usselserver dienen zum Austausch von Public-Keys \\
mit automatischer Synchronisation untereinander
\item $\Rightarrow$ Verifikation von Schl\"usseln ist bei Nutzung von\\
Keyservern wichtiger noch wichtiger als ohnehin schon !!
\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=10cm]{png/weboftrust.png} \footnote{ \url{http://de.wikipedia.org/wiki/Datei:Web_of_Trust.svg}}\\
\begin{itemize}
\item Vertrauensketten durch direktes und indirektes Vertrauen
\item Kurz: 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{Konzeptionale Sicherheit - Theorie und Praxis}
\begin{frame}
\frametitle{Konzeptsicherheit: Die Theorie}
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 $\geq$ 20 Zeichen, mit Sonderzeichen, Gro"s- und Kleinbuchstaben sowie 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{Konzeptsicherheit: Die Praxis}
In der Praxis...
\begin{itemize}
\item ...passieren Fehler eher selten durch schlechte Konzepte oder Technik, sondern durch dessen mangelhafte Umsetztung
\item ...ist der Mensch der Single Point of Failure in diesem Modell
\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{center}
\textbf{Do more Backups!}
\end{center}
\begin{itemize}
\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
\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{Fancy Hardware}
Es gibt da Hardware, womit das Ganze auch noch sicherer wird
\begin{center}
\includegraphics[width=5cm]{png/openpgp_card.jpg}\footnote{ \url{https://en.wikipedia.org/wiki/File:OpenPGP_card_2.0.jpg}}
\includegraphics[width=5cm]{png/YubiKey_Neo_and_Nano.jpg}\footnote{ \url{https://en.wikipedia.org/wiki/File:YubiKey_Neo_and_Nano.jpg}}
\end{center}
\begin{itemize}
\item Links: Chipkarte ISO/IEC 7816
\item Rechts: 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/} \\
Alle benutzen Bilder aus der Wikipedia sind ebenfalls CC-BY-SA \\
- - - \\
\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}
\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{Danke f\"ur Eure Aufmerksamkeit}
\begin{center}
Danke f\"urs Zuh\"oren!
\end{center}
\end{frame}
\begin{frame}
\frametitle{Nachwort}
\begin{center}
\includegraphics[width=9cm]{png/xkcd_security.png} \footnote{\url{https://xkcd.com/538/}}
\end{center}
\end{frame}
\end{document}