\documentclass{beamer}

\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{hyperref}
\usepackage{graphicx}
\usepackage{fancyvrb}

\definecolor{pink}{RGB}{255, 99, 242}
\definecolor{mudkipdarkblue}{RGB}{0, 70, 175} 
\definecolor{mudkiplightblue}{RGB}{45, 150, 255} 
\definecolor{mudkiplighterblue}{RGB}{195,205,255} 
\definecolor{mudkiporange}{RGB}{255,163,28}
\definecolor{mudkipeyes}{RGB}{82,81,80}

\usetheme{default}

\setbeamercolor{structure}{fg=mudkiporange} 
\setbeamercolor{normal text}{bg=mudkiplighterblue!64}
\setbeamercolor{normal text}{fg=mudkipeyes}

\setlength{\fboxrule}{4pt} %% Border size of \fcolorbox:es
\setbeamertemplate{navigation symbols}{} % no navigation symbols

%\setbeamertemplate{blocks}[rounded][shadow=true] % 2.0!
%\setbeamertemplate{background canvas}{\includegraphics[width=\paperwidth,height=\paperheight]{telecomix.eps}}
%\setbeamertemplate{background canvas}[vertical shading][bottom=black!20,top=gray!30]
%\setbeamertemplate{background}[grid][step=5mm,color=lightgray!50]

\title{x.509 - Hur hamnade vi här och vad kan vi göra åt saken}
\author{Jonatan Walck}
\institute{jonatan@xwalck.se\\xwalck AB}
\date{2012-10-18}

\AtBeginSubsection[]
{
  \begin{frame}<beamer>
    \frametitle{x.509 - Hur hamnade vi här och vad kan vi göra åt saken}
    \tableofcontents[currentsection,currentsubsection]
  \end{frame}
}

\begin{document}

\begin{frame}
  \titlepage
\end{frame}

\section{HTTPS - grunder}

\subsection{x.509 (PKIX)}

\begin{frame}{CA hierarkin i korthet}
  \begin{itemize}
    \item Strikt hirarkisk tillit
    \item Lista på auktoriteter i varje webbläsare
      \begin{itemize}
      \item Subdeligeringar från dessa
      \end{itemize}
    \item Fleratal ``rouge'' CA:s ute
      \begin{itemize}
      \item Comodo 2011
      \item Diginotar 2011-09
      \item {\small ???}
      \item {\small (No) PROFIT!}
      \end{itemize}
    \item EV
  \end{itemize}
\end{frame}

\begin{frame}{Auktoriteter i Firefox}
  \begin{centering}
    \includegraphics[scale=0.4]{firefox-ca}
  \end{centering}
\end{frame}

\begin{frame}[fragile]{Exempel på ett certifikat}
  \Tiny \begin{verbatim}
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 36876 (0x900c)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=SE, O=xwalck AB, CN=xwalck Certificate Authority/emailAddress=info@xwalck.se
        Validity
            Not Before: Sep 24 21:54:29 2012 GMT
            Not After : Sep 24 21:54:29 2013 GMT
        Subject: C=SE, O=xwalck AB, CN=xwalck.se
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (4096 bit)
                Modulus:
                    00:92:d3:c2:c9:c5:48:27:8a:96:9c:ff:2b:25:9e:
                    ... ... ...
                    b2:d3:9b
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Subject Key Identifier: 
                E8:D6:06:4A:A5:A3:F4:9C:C7:2E:FA:BE:26:D3:58:97:B8:58:D9:D5
            X509v3 Authority Key Identifier: 
                keyid:ED:50:D9:07:5C:0F:3E:A6:33:C8:AA:33:5E:46:F5:94:15:68:C5:1C

            X509v3 Basic Constraints: 
                CA:FALSE
            X509v3 Key Usage: critical
                Digital Signature, Non Repudiation, Key Encipherment
            Netscape Cert Type: 
                SSL Server
            X509v3 Extended Key Usage: 
                TLS Web Server Authentication
            X509v3 Subject Alternative Name: 
                DNS:xwalck.se, DNS:www.xwalck.se
    Signature Algorithm: sha1WithRSAEncryption
         31:4d:6d:26:6c:d4:15:37:bd:d9:43:dc:97:78:00:49:00:2e:
         ... ... ...
         4d:37:49:da:3a:4a:b9:b9
  \end{verbatim}
\end{frame}

\begin{frame}[fragile]{Exempel på ett certifikat (2)}
  \small \begin{verbatim}
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 36876 (0x900c)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=SE, O=xwalck AB ...
        Validity
            Not Before: Sep 24 21:54:29 2012 GMT
            Not After : Sep 24 21:54:29 2013 GMT
        Subject: C=SE, O=xwalck AB, CN=xwalck.se
        X509v3 extensions:
          ... ... ...
            X509v3 Subject Alternative Name: 
                DNS:xwalck.se, DNS:www.xwalck.se
  \end{verbatim}
\end{frame}

\section{Andra säkerhetsproblem i WWW}

\subsection{Internet Explorer}

\begin{frame}{Internet Explorer}
    Behöver det ens nämnas?

    % Remote execution i IE 6+7+8+9 under Windows XP+Vista+7
\end{frame}

\subsection{BEAST och CRIME}

\begin{frame}{BEAST - Browser Exploit Against SSL/TLS}
  \begin{itemize}
  \item September 2011
  \item Påverkar TLS 1.0 och tidigare (TLS 1.1 släpptes 2006)
  \end{itemize}
\end{frame}

\begin{frame}{CRIME - Compression Ration Info-leak Made Easy}
  \begin{itemize}
    \item September 2012
    \item Kan hämta ut en sessionskaka från en HTTPS-skyddad länk.
  \end{itemize}
\end{frame}

\section{Tekniska utvägar}
\subsection{Begränsad CA-lista}

\begin{frame}{Färre auktoriteter}
  \begin{itemize}
  \item Inte en lösning utan primärt nya problem
  \item Kostnaden av att ta bort ett root CA...
  \end{itemize}
\end{frame}

\subsection{Monkeysphere}

\begin{frame}{Monkeysphere - OpenPGP WOT certifikat}
  \begin{itemize}
    \item Ingen ökad säkerhet utan kunskapsnivå
    \item Kräver ändringar hos klienten
  \end{itemize}
\end{frame}

\subsection{Convergence}

\begin{frame}{Convergence}
  \begin{itemize}
  \item ``Det senaste'' för ett år sedan
  \item Mer ``agile'' (notaries kan förkastas, till skilland från root CAs)
  \item Kräver ändringar hos klienten
  \end{itemize}

  \url{http://convergence.io/}
\end{frame}

\subsection{DNSSEC (DNS+DANE)}

\begin{frame}
  \begin{itemize}
    \item DNSSEC behövs! (Av helt andra anledningar)
    \item Färre attackvektorer, mer centralisering
    \item ``Fler ägg i samma korg''
  \end{itemize}
\end{frame}

\begin{frame}[fragile]
Och på ämnet flera ägg i en korg... \verb+<rant>+
\end{frame}

\begin{frame}[fragile]{När HTTP är det nya TCP}
  \begin{itemize}
    \item When in doubt, HTTP API
    \item Istället för standarder (men det kan kalla för det)
    \item Inte bara overhead, HTTPS blivit så viktigt (och lidande).
  \end{itemize}

  \verb+</rant>+
\end{frame}

\subsection{Darknets}

\begin{frame}{I2P och TOR med vänner}
  \begin{itemize}
  \item Helt annan lösningsväg
  %% \item I2P
  %%   \begin{itemize}
  %%     \item 
  %%   \end{itemize}
  %% \item TOR
  %%   \begin{itemize}
  %%     \item
  %%   \end{itemize}
  \item För diskussion ikväll?
  \end{itemize}
\end{frame}

\section{Sociala lösningar}

\begin{frame}{Utvecklare! Utvecklare! Utvecklare!}
  Det är kul att leka med, testa alternativen! (Det kan iaf inte bli värre.)
\end{frame}

\begin{frame}{Utbildning! Utbildning! Utbildning!}
  Ett system blir aldrig säkrare än sin dummaste (läs minst utbildade) användare.:) 
\end{frame}

\begin{frame}
  \begin{center}
    {\Large Tack!} \\
    {\Large Frågor? Lösningar?} \\
    \url{jonatan@xwalck.se}
  \end{center}
\end{frame}

\end{document}
