#+TITLE: State of End To End Encryption #+Author: Werner Koch #+EMAIL: wk@gnupg.org #+DATE: FSCONS 15 --- Gothenburg\newline{} November 7, 2015 #+LANGUAGE: en #+OPTIONS: H:2 num:t toc:nil \n:nil @:t ::t |:t ^:{} -:t f:t *:t <:t #+OPTIONS: TeX:t LaTeX:nil skip:nil d:nil todo:t pri:nil tags:not-in-toc #+STARTUP: beamer #+LATEX_CLASS: beamer #+LATEX_CLASS_OPTIONS: [presentation] #+BEAMER_THEME: Singapore #+BEAMER_HEADER: \usepackage{pgfplots} #+BEAMER_HEADER: \pgfplotsset{compat=1.11} #+BEAMER_HEADER: \usepackage{tikz} #+BEAMER_HEADER: \usetikzlibrary{shapes} #+BEAMER_HEADER: \usetikzlibrary{positioning} #+BEAMER_HEADER: \logo{\includegraphics[height=5mm]{gnupg-logo-tr.png}} #+COLUMNS: %45ITEM %10BEAMER_ENV(Env) %2BEAMER_ACT(Act) %4BEAMER_COL(Col) %8BEAMER_OPT(Opt) #+begin_beamer \setbeamercovered{transparent} \setbeamertemplate{itemize item}[triangle] \setbeamertemplate{itemize subitem}[ball] % Support newlines (via \\) in a tabular cell. The first parameter is % how to horizontally align the text (e.g., l, r, or c). The next % parameter is the text to typeset. The optional parameter specifies % how to vertically align the cell *within* the box (either t, b, or % c). Note this vertical alignment does not set the baseline. % [[http://tex.stackexchange.com/questions/2441/how-to-add-a-forced-line-break-inside-a-table-cell]] % http://tex.stackexchange.com/questions/23521/tabular-vertical-alignment-to-top \newcommand{\breakablecell}[3][c]{% \begin{tabular}[#1]{@{}#2@{}}% \def\valignment{#1}% \def\defaultalignment{}% Equivalent to c. \def\topalignment{t}% \def\bottomalignment{b}% \def\centeralignment{c}% \ifx\valignment\defaultalignment% \else% \ifx\valignment\centeralignment% \else% \ifx\valignment\bottomalignment% \vtop\bgroup\null\hbox\bgroup% \else% \ifx\valignment\topalignment% \errmessage{Error: t is unimplemented.}% \else% \errmessage{Error: Invalid vertical alignment #1}% \fi% \fi% \fi% \fi% #3% \ifx\valignment\defaultalignment% \else% \ifx\valignment\centeralignment% \else% \egroup\egroup% \fi% \fi% \end{tabular}% } \tikzset{a/.style={thin,circle,draw=black,minimum size=1.5cm,font={\scriptsize}}} \tikzset{b/.style={a,fill=blue!40}} \tikzset{c/.style={a,fill=green!40}} \tikzset{bc/.style={a,circle split, shade, shading=axis, shading angle=0, left color=green!40, right color=blue!40}} \def\alerton[#1]#2{\alt<#1>{\alert{#2}}{#2}} \AtBeginSection[] { \begin{frame} \frametitle{Outline} \tableofcontents[currentsection,hideothersubsections] \end{frame} } #+end_beamer #+MACRO: alertbegin @@beamer:\begin{alertenv}@@ #+MACRO: alertend @@beamer:\end{alertenv}@@ # MACRO: showlogo \emsp @@beamer:\includegraphics[height=5mm]{$1}@@ #+MACRO: showlogo * Abstract :B_noteNH: :PROPERTIES: :BEAMER_env: noteNH :END: After Snowden explained the world that even the crypto geeks had been to optimistic about the state of global surveillance a new interest in developing and promoting systems to provide encryption service for normal human beings awoke. There are several systems with widely different goals, user bases, and cryptographic strength in active use. Some popped up and drowned soon again, others are getting more and more attention, and finally there are some old comrades getting finally public interest. In this talk Werner gives an overview over the different systems and tries to estimate their future. Will a few of them survive and make the MiniTrue spent way more money on active attacks? * What is it about ** What is end to end encryption - Wikipedia needs 100 words to explain E2EE. - Shorter: #+begin_quote All data exchange between the user operated devices is encrypted and optionally integrity protected. #+end_quote - Needed for: - Mail - Chat - Phone ** Why do we want to have this - All encryption requires a private key. - A (private) key must be protected. #+beamer:\pause - Servers are other people’s machines. - Servers are not trustworthy as a middleman. #+beamer:\pause Solution: - Keys on a device under sole control of the user: - Desktop/laptop/phone memory. - Smartcard, ** History - Restricted transport media. - Cipher rooms. - Private code books (super-encryption). - PGP-2. ** Online vs. offline # Getting both kinds of protocols right is not easy. *** Online (e.g. XMPP) - An active network connection is required. - Negotiation of features possible. - Easy to update the protocol. - Higher attack surface (e.g. no air-gap possible). #+beamer:\pause *** Offline (e.g. OpenPGP) - No network required. - E2EE may even be handled by courier. - Very hard to update the protocol. - Can be used for high security tasks. * Systems ** Bugged systems - Crypto AG devices since 1955. - Software with 40 bit export restrictions.\\ Example: Lotus Notes used 64 bit key but always leaked 26 (1997--2000). - Microsoft’s NSA key in 1999. - RSA BSAFE's with NSA rigged RNG (2004--2013). ** Failed systems 1 *** S/MIME - Rarely seen requests for it since 2013. - Seems to have lost all trust when used in the standard PKIX setting. - Probably still fine in controlled infrastructures. ** Failed systems 2 *** DE-Mail - Central re-encrypt service with no connection to regular mail. - Expensive (pay per mail). - Federal commissioner for data protection demanded an additional end-to-end layer for sensitive data at the launch of the system. - Extra OpenPGP layer is now possible. - Citizens do not use it due to legal obligations. ** More or less failed systems *** Silent circle {{{showlogo(silentcircle-logo-black.png)}}} - Trustworthy developers. - Not a store and forward system. - Inspectable source code but - relies on automated (binary) software updates. ** Active projects 1 *** CaliOpen {{{showlogo(logo_caliopen_black.png)}}} - Unified messaging system with crypto options. - Revitalization of the multi-MTA times of a former Internet. #+beamer:\pause *** Enigmail - Example of an encryption plugin for mailers. - Probably the most used one. - A lot of flaws because it is heavily understaffed. ** Active projects 2 *** Google E2E {{{showlogo(endtoend-icon-128.png)}}} - Smart project with a solid code base. - Takes advantage of being run by a huge mail provider - Will also be deployed using the same code base by Yahoo. - Adoption by the majority of gmail users is questionable. #+beamer:\pause *** Keybase.io - Identify proof through social networks. - Do we really want that? ** Active projects 3 *** Mailpile {{{showlogo(mailpile-icon-512x512.png)}}} - Webmailer under own control. - Encryption is a core component. - Portable. - Understaffed but not restricted by a business model. #+beamer:\pause *** Mailvelope - Browser extension for OpenPGP. - Used for Webmail. - Problem: Storage of private keys. ** Active projects 4 *** STEED {{{showlogo(steed-logo-redsteed.png)}}} - Make crypto mostly invisble. - Based on Tofu and existing protocols. - Update of mail clients required. - Public tender to implement that. #+beamer:\pause *** Whiteout {{{showlogo(whiteout_logo_black.png)}}} - Javascript mail client with encryption and key managment. - Available for different platforms. - Mailprovider with mailboxes and key infrastructure. - Access to other keyserver is also possible. - Problem: Storage of private keys. * Reading the coffee grounds ** Which systems will prevail *** Business infrastructure - [X] Google E2E - [X] Whiteout - [ ] CaliOpen #+beamer:\pause *** Tools for the web - [ ] Mailvelope - [X] Mailpile #+beamer:\pause *** Classic home user tools - [X] Enigmail (with STEED) - [ ] Keybase.io ** Conclusion *** :B_block: :PROPERTIES: :BEAMER_env: block :END: - B2B mail will eventually move towards E2EE. #+beamer:\pause - Home users will use more encryption but not more than 20%. #+beamer:\pause - Pluggable devices (cf. Mailpile) have a chance to go mainstream. *** :B_block: :PROPERTIES: :BEAMER_env: block :BEAMER_ACT: <4-> :END: #+begin_center {{{alertbegin}}} The non-business driven projects need your support! {{{alertend}}} #+end_center #+BEAMER: {\vfill} #+BEAMER: {\vspace{10mm}} #+BEAMER: {\tiny{Slides are \copyright{} 2015 The GnuPG Project, CC BY-SA 4.0. #+BEAMER: \url{https://gnupg.org/ftp/blurbs/fscons15_state-of-e2e-encryption.org}}}