initial commit
[cryptoparty-slides.git] / cryptoparty.tex
1 \documentclass{beamer}
2 \usepackage[utf8x]{inputenc}
3 \usepackage[ngerman]{babel}
4 \usepackage{color}
5 \usepackage{listings}
6 \usepackage{graphicx} % needed for beamer
7
8 \lstset{%
9 language=sh, % FIXME: nice syntax coloring for JSON
10 basicstyle=\ttfamily\footnotesize,
11 showspaces=false,
12 showstringspaces=false,
13 showtabs=false,
14 keepspaces=true,
15 %breaklines=true,
16 }
17
18 \usetheme{Boadilla}
19 \usefonttheme{professionalfonts}
20 \useoutertheme[subsection=false,footline=empty]{miniframes}
21 \useinnertheme{circles}
22 \setbeamertemplate{footline}[frame number]
23
24 \author{Stratum~0~e.~V.}
25 \title{Cryptoparty}
26 \subtitle{Sichere Kommunikation im Internet}
27 \date{17. August 2013}
28
29 \begin{document}
30 \begin{frame}
31 \maketitle
32 \end{frame}
33
34 \section{Begrüßung}
35 \begin{frame}{Begrüßung}
36 \begin{itemize}
37 \item Wer sind wir?
38 \item Wer seid ihr?
39 \end{itemize}
40 \end{frame}
41
42
43 \section{Organisatorisches}
44 \begin{frame}{Organisatorisches}
45 \begin{itemize}
46 \item Ablauf:
47 \begin{itemize}
48 \item kurzer Vortrag zur Theorie (15-20 Min)
49 \item Workshop in Kleingruppen
50 \end{itemize}
51 \item Getränke hinten an der Theke
52 \item WLAN-Passwort ist: FIXME
53 \item Folien gibts auf \url{https://stratum0.org/cryptoparty}
54 \end{itemize}
55 \end{frame}
56
57 \section{Einführung}
58 \begin{frame}{Motivation}
59 \begin{itemize}
60 \item Daten im Internet sind vergleichbar mit Postkarten: \\
61 \vfill
62 \begin{center}
63 \includegraphics[width=0.8\textwidth]{no-crypto.pdf}
64 \end{center}
65 \pause
66 \vfill
67 \item Mögliche Angriffspunkte:
68 \begin{itemize}
69 \item Provider A
70 \item die große Internet-Wolke
71 \item Provider B
72 \end{itemize}
73 \pause
74 \vfill
75 \item Aber: es gibt Möglichkeiten, das zu verhindern.
76 \end{itemize}
77 \end{frame}
78
79 \begin{frame}
80 \begin{block}{Disclaimer}
81 \begin{itemize}
82 \item Es gibt keine 100-prozentige Sicherheit.
83 \item Alles hier gezeigte ist Stand der Technik und hinreichend sicher.
84 \end{itemize}
85
86 Trotzdem: plant keine Terroranschläge über das Internet.
87 \end{block}
88 \end{frame}
89
90 \section{Public-Key-Kryptographie}
91 \begin{frame}{Public-Key-Kryptografie}
92 \emph{(Kryptografie: die Lehre vom Geheimen)}
93
94 \begin{itemize}
95 \item 1977 erfunden von Ron Rivest, Adi Shamir und Leonard Adleman
96 \item komplizierte mathematische Verfahren
97 \begin{itemize}
98 \item soll hier nicht erklärt werden
99 \end{itemize}
100 \item Jeder Kommunikationsteilnehmer generiert ein zufälliges Schlüsselpaar:
101 \begin{itemize}
102 \item einen öffentlichen Schlüssel zum Verschlüsseln von Nachrichten
103 \item einen geheimen Schlüssel zum Entschlüsseln von Nachrichten
104 \end{itemize}
105 \end{itemize}
106 \begin{alertblock}{Achtung}
107 Der private Schlüssel sollte geheim gehalten werden!
108
109 Der öffentliche Schlüssel sollte veröffentlicht werden.
110 \end{alertblock}
111 \end{frame}
112
113 \begin{frame}{Public-Key-Kryptografie}
114 \begin{itemize}
115 \item Nachrichten, die mit dem öffentlichen Schlüssel verschlüsselt wurden,
116 können nur mit dem passenden privaten Schlüssel entschlüsselt werden
117 \vfill
118 \begin{center}
119 \includegraphics[width=0.5\textwidth]{public-private-keys.pdf}
120 \end{center}
121 \vfill
122 \item der private Schlüssel kann nicht aus dem öffentlichen Schlüssel
123 hergeleitet werden
124 \end{itemize}
125 \end{frame}
126
127 \begin{frame}{Analogie}
128 \begin{itemize}
129 \item Das ist Bob: \raisebox{-6pt}{\includegraphics[height=20pt]{bob.pdf}}
130 \vspace{0.5\baselineskip}
131
132 \item Bob verteilt Bügelschlösser für jeden, der Nachrichten an ihn
133 verschlüsseln will:
134 \raisebox{-4pt}{\includegraphics[height=16pt]{bobs-lock.pdf}}
135 \begin{itemize}
136 \item öffentlicher Schlüssel
137 \end{itemize}
138 \vspace{0.5\baselineskip}
139
140 \item Bob behält den Schlüssel für die Schlösser:
141 \raisebox{-2pt}{\includegraphics[width=20pt]{bobs-key.pdf}}
142 \begin{itemize}
143 \item privater Schlüssel
144 \end{itemize}
145 \end{itemize}
146 \end{frame}
147
148 \begin{frame}{Verschlüsseln und Entschlüsseln}
149 Alice verschlüsselt eine Nachricht an Bob mit seinem öffentlichen Schlüssel: \\
150 \begin{center}
151 \includegraphics[width=.7\textwidth]{public-key-encryption.pdf}
152 \end{center}
153
154 Nur Bob kann diese Nachricht jetzt mit seinem privaten Schlüssel lesen:
155 \begin{center}
156 \includegraphics[width=.7\textwidth]{public-key-decryption.pdf}
157 \end{center}
158 \end{frame}
159
160 \begin{frame}{Signaturen}
161 Das System auch umgekehrt für Signaturen einsetzbar:
162 \begin{center}
163 \includegraphics[width=0.5\textwidth]{public-private-signature.pdf}
164 \end{center}
165 \begin{itemize}
166 \item Bob verschlüsselt ein Dokument mit seinem \emph{privaten} Schlüssel
167 \begin{itemize}
168 \item nur Bob hat diesen privaten Schlüssel, also kann nur Bob diesen
169 Schlüsseltext erstellt haben
170 \end{itemize}
171 \item Jeder andere kann den Schlüsseltext entschlüsseln und Bobs Signatur
172 überprüfen
173 \end{itemize}
174 \end{frame}
175
176 \begin{frame}{Vertrauensnetzwerke}
177 \begin{block}{Soweit in Ordnung\ldots}
178 Aber wie kann ich sicher sein, dass der Schlüssel, mit dem ich
179 Nachrichten verschlüssele, auch wirklich Bob gehört?
180 \end{block}
181
182 \pause
183 \textbf{Lösung:} Vertrauensnetzwerke
184 \begin{itemize}
185 \item Ich prüfe, ob Alices öffentlicher Schlüssel auch wirklich Alice gehört
186 \begin{itemize}
187 \item Falls ja, signiere ich ihren öffentlichen Schlüssel
188 \item Ich versichere damit, dass Alice diesen Schlüssel besitzt
189 \end{itemize}
190 \item Alice hat das gleiche mit Bobs Schlüssel getan
191 \item Falls Alice nicht schlampig war, kann ich Bobs Schlüssel indirekt
192 vertrauen
193 \end{itemize}
194 \end{frame}
195
196 \begin{frame}{Vertrauensnetzwerke}
197 Beispiel Vertrauensnetzwerk:
198 \begin{center}
199 \includegraphics[width=\textwidth]{web-of-trust.pdf}
200 \end{center}
201 \end{frame}
202
203 \section{Surfen}
204 \begin{frame}{Sicher surfen: HTTPS}
205 \begin{itemize}
206 \item Webserver besitzt privaten und öffentlichen Schlüssel ("`Zertifikat"')
207 \item Schlüsselerzeugung auf Benutzerseite dynamisch
208 \item Vertrauensnetzwerk über \emph{Certificate Authorities} (CA)
209 \begin{itemize}
210 \item nehmen meist Geld für die Signatur des Server-Zertifikats
211 \item Identitätsprüfung je nach CA unterschiedlich genau\ldots
212 \item Browser vertrauen nur bestimmten CAs $\Rightarrow$
213 Zertifikatswarnungen
214 \end{itemize}
215 \end{itemize}
216 \begin{center}
217 \includegraphics[width=0.5\textwidth]{https-google-de.png}
218 \end{center}
219 \end{frame}
220
221 \begin{frame}{Sicher surfen: HTTPS}
222 \begin{alertblock}{Achtung}
223 Die Daten sind nur auf dem Weg zum Webserver geschützt, am Ende liegen sie
224 wieder entschlüsselt vor!
225 \end{alertblock}
226
227 \begin{itemize}
228 \item Auf dem Webserver könnte z.\,B. auch ein Angreifer seine Finger im
229 Spiel haben\ldots
230 \item Certificate Authorities könnten gefälschte Zertifikate ausstellen
231 \begin{itemize}
232 \item Beispiel: Comodo CA, DigiNotar, TürkTrust
233 \end{itemize}
234 \item keine eingebaute Anonymisierung
235 \end{itemize}
236 \end{frame}
237
238 \section{E-Mail}
239 \begin{frame}{Mails verschlüsseln: PGP}
240 \begin{itemize}
241 \item PGP: Pretty Good Privacy ("`Ziemlich gute Privatsphäre"')
242 \item seit 1998 ein Standard für Mailverschlüsselung
243 \begin{itemize}
244 \item Freie Softwarelösung: GnuPG (GNU Privacy Guard)
245 \end{itemize}
246 \item Verschlüsselt keine Metadaten (wie z.\,B. Betreffzeile)!
247 \item Erweiterungen für viele Mailprogramme vorhanden
248 \begin{alertblock}{Webbasierte Dienste?}
249 Webbasierte Dienste meiden, Mailprogramm auf dem eigenen Rechner installieren!
250 Die meisten Anbieter bieten Anleitungen zum Einrichten der Mailkonten im
251 Mailprogramm an.
252 \end{alertblock}
253 \end{itemize}
254 \end{frame}
255
256 \begin{frame}{PGP: Softwareunterstützung}
257 \begin{itemize}
258 \item Windows: Gpg4Win, \url{http://gpg4win.org/}
259 \item Mac OS X: GPGTools, \url{https://www.gpgtools.org/}
260 \item Linux: GnuPG, \url{http://gnupg.org}
261 \end{itemize}
262
263 Darauf aufbauend Unterstützung in Mailprogrammen:
264 \begin{itemize}
265 \item Mozilla Thunderbird: Enigmail, \url{http://enigmail.org}
266 \item Apple Mail: GPGMail, \url{https://www.gpgtools.org/}
267 \item Microsoft Outlook: Gpg4Win
268 \end{itemize}
269 \end{frame}
270
271 \section{Chats}
272 \begin{frame}{Chats verschlüsseln: OTR}
273 \begin{itemize}
274 \item OTR: Off-the-Record Messaging
275 \item Verschlüsselung
276 \item Authentizität
277 \item Abstreitbarkeit
278 \begin{itemize}
279 \item keiner kann nachher beweisen, ich hätte etwas bestimmtes gesendet
280 \end{itemize}
281 \item Folgenlosigkeit
282 \begin{itemize}
283 \item Verlust des privaten Schlüssels hat keine Auswirkung auf bisherige
284 Verbindungen
285 \end{itemize}
286 \end{itemize}
287 \end{frame}
288
289 \begin{frame}{OTR: Softwareunterstützung}
290 \begin{itemize}
291 \item eingebaut in Adium (Mac OS X), Jitsi, Xabber (Android), ChatSecure (iOS)
292 \item Pidgin (Windows, Linux): \url{http://www.cypherpunks.ca/otr/}
293 \item Miranda (Windows): auf der Addons-Seite
294 \end{itemize}
295
296 \begin{block}{Tipp}
297 Adium, Pidgin und Miranda unterstützen alle gängigen Netzwerke, z.~B. ICQ,
298 MSN, Yahoo und auch Facebook Chat.
299 \end{block}
300 \end{frame}
301
302 \begin{frame}{Weitere Informationen}
303 \begin{itemize}
304 \item CryptoCD, Anleitungen auf deutsch,
305 \url{http://www.cryptocd.org/CryptoCDBetriebssystem}
306 \item Cryptoparty Handbook, mit Anleitungen zu allen hier gezeigten Themen
307 (englisch), \url{https://www.cryptoparty.in/documentation/handbook}
308 \end{itemize}
309 \end{frame}
310
311 \begin{frame}{Quellen}
312 Folgende Bilder wurden benutzt:
313 \begin{itemize}
314 \item Server-Icon, Computer-Icon: aus dem Tangerine-Icon-Theme, CC-BY-SA 2.5,
315 Copyright 2004-2006 Canonical Ltd.
316 \item Schlüssel-Icon: aus dem Gnome-Icon-Theme, CC-BY-SA 3.0 United States,
317 Copyright GNOME Project
318 \item Notizblock-Icon:
319 \url{http://commons.wikimedia.org/wiki/File:Ruled_paper_note_with_pin.svg},
320 Autor: Andreas Plank, CC-BY-SA-3.0 Unported
321 \item alle anderen Icons aus dem Tango Project, gemeinfrei.
322 \end{itemize}
323 \end{frame}
324
325 \end{document}
This page took 0.072395 seconds and 5 git commands to generate.