diff options
| author | Rasmus Dahlberg <rasmus@rgdd.se> | 2024-10-15 15:35:20 +0200 | 
|---|---|---|
| committer | Rasmus Dahlberg <rasmus@rgdd.se> | 2024-10-15 15:35:45 +0200 | 
| commit | 76bae02bcd7d6b3ec9eea428e5e95da184a8dbfb (patch) | |
| tree | 410ab71c78c99d35aecd46733958a5699cdf5204 /slides/2018-lwm | |
| parent | 883a67439aff566962adafeb0385c6ae972073a3 (diff) | |
Rescue some slides from old private mono repos
Diffstat (limited to 'slides/2018-lwm')
34 files changed, 893 insertions, 0 deletions
diff --git a/slides/2018-lwm/.gitignore b/slides/2018-lwm/.gitignore new file mode 100644 index 0000000..4a7f033 --- /dev/null +++ b/slides/2018-lwm/.gitignore @@ -0,0 +1,12 @@ +*.aux +*.fdb_latexmk +*.fls +*.fls +*.log +*.nav +*.out +main.pdf +*.snm +*.toc +*.nav +*.snm diff --git a/slides/2018-lwm/README b/slides/2018-lwm/README new file mode 100644 index 0000000..21bb6c9 --- /dev/null +++ b/slides/2018-lwm/README @@ -0,0 +1 @@ +Presentation at NordSec. diff --git a/slides/2018-lwm/beamercolorthemergd.sty b/slides/2018-lwm/beamercolorthemergd.sty new file mode 100644 index 0000000..74ced1c --- /dev/null +++ b/slides/2018-lwm/beamercolorthemergd.sty @@ -0,0 +1,24 @@ +\mode<presentation> + +%%% +% Color definitions +%%% +\RequirePackage{xcolor} +\definecolor{rgdGreen}{RGB}{33,114,106} +\definecolor{rgdYellow}{RGB}{255,210,4} +\definecolor{rgdOrange}{RGB}{232,114,12} +\colorlet{rgdGray}{gray!33} +\colorlet{rgdBlack}{black} + +%%% +% Beamer colors +%%% +\setbeamercolor*{titlepage}{fg=rgdBlack} +\setbeamercolor*{author}{fg=rgdGreen} +\setbeamercolor*{date}{fg=black} +\setbeamercolor*{header}{bg=rgdYellow,fg=black} +\setbeamercolor*{trailer}{bg=rgdGray,fg=black} +\setbeamercolor*{item}{fg=rgdGreen} +\setbeamercolor*{alerted text}{fg=rgdGreen} + +\mode<all> diff --git a/slides/2018-lwm/beamerfontthemergd.sty b/slides/2018-lwm/beamerfontthemergd.sty new file mode 100644 index 0000000..a6d212c --- /dev/null +++ b/slides/2018-lwm/beamerfontthemergd.sty @@ -0,0 +1,9 @@ +\mode<presentation> + +\setbeamerfont{title}{size=\large,shape=\bfseries} +\setbeamerfont{subtitle}{size=\normalsize,shape=\bfseries} +\setbeamerfont{frametitle}{size=\large,shape=\bfseries} +\setbeamerfont{institute}{size=\small} +\setbeamerfont{date}{size=\small} + +\mode<all> diff --git a/slides/2018-lwm/beamerinnerthemergd.sty b/slides/2018-lwm/beamerinnerthemergd.sty new file mode 100644 index 0000000..4dfd6cf --- /dev/null +++ b/slides/2018-lwm/beamerinnerthemergd.sty @@ -0,0 +1,49 @@ +\mode<presentation> + +%%% +% Title page +%%% +\defbeamertemplate*{title page}{rgd}[1][]{ +  \begin{tikzpicture}[remember picture, overlay] +    \usebeamercolor{titlepage} +    % Add top-left triangle with university logo +    \filldraw[draw=rgdGray,fill=rgdGray] +      (current page.north west) -- +      (current page.north) -- +        node[draw=none,pos=0.5](Logo){\includegraphics[width=3cm]{img/logo}} +      (current page.west) -- +      (current page.north west); +    % Add title +    \node[ +      text=fg, +      text width=0.75\paperwidth, +    ] (Title) at ([shift={(0,-0.5cm)}]current page){% +      \centering\usebeamerfont{title}\inserttitle\\% +    }; +    % Add subtitle +    \node[ +      text=fg, +      text width=0.75\paperwidth, +      below=0pt of Title, +    ] (Subtitle) {% +      \centering\usebeamerfont{subtitle}\insertsubtitle\\% +    }; +    % Add authors +    \usebeamercolor{author} +    \node[ +      text=fg, +      text width=0.75\paperwidth, +      below=12pt of Subtitle, +    ] (Author) {% +      \centering\usebeamerfont{author}\insertauthor\\% +    }; +    % Add date +    \node[ +      text=fg, +      text width=0.75\paperwidth, +      below right= 0.25cm and 4.5cm of current page.north, +    ](Date) {\today}; +  \end{tikzpicture} +} + +\mode<all> diff --git a/slides/2018-lwm/beamerouterthemergd.sty b/slides/2018-lwm/beamerouterthemergd.sty new file mode 100644 index 0000000..ba757c6 --- /dev/null +++ b/slides/2018-lwm/beamerouterthemergd.sty @@ -0,0 +1,66 @@ +\mode<presentation> + +%%% +% Frame header +%%% +\defbeamertemplate*{frametitle}{corporate}[1][]{% +  \nointerlineskip +  % Add frame title +  \begin{beamercolorbox}[ +    wd=\paperwidth, +    ht=3ex, +    dp=1.5ex, +    left, +    leftskip=2ex +  ]{header} +    \insertframetitle +  \end{beamercolorbox} +  % Add line after header +  \nointerlineskip +  \begin{beamercolorbox}[ +    wd=\paperwidth, +    ht=0.25ex +  ]{trailer} +  \end{beamercolorbox}% +} + +%%% +% Frame trailer +%%% +\defbeamertemplate*{footline}{corporate}{% +  \hbox{% +    % Add mail +    \begin{beamercolorbox}[ +      wd=0.22\paperwidth, +      ht=2ex, +      dp=0.5ex, +      left, +      leftskip=2ex +    ]{trailer} +      \texttt{rasmus.dahlberg@kau.se} +    \end{beamercolorbox}% +    % Add author +    \begin{beamercolorbox}[ +      wd=0.73\paperwidth, +      ht=2ex, +      dp=0.5ex, +      left, +      leftskip=2ex +    ]{header} +      %\insertauthor +      \inserttitle +    \end{beamercolorbox}% +    % Add page counter +    \begin{beamercolorbox}[ +      wd=0.05\paperwidth, +      ht=2ex, +      dp=0.5ex, +      right, +      rightskip=1ex +    ]{header} +      \insertframenumber/\inserttotalframenumber +    \end{beamercolorbox}% +  } +} + +\mode<all> diff --git a/slides/2018-lwm/beamerthemergd.sty b/slides/2018-lwm/beamerthemergd.sty new file mode 100644 index 0000000..022ef2c --- /dev/null +++ b/slides/2018-lwm/beamerthemergd.sty @@ -0,0 +1,23 @@ +\mode<presentation> + +%%% +% Load beamer settings +%%% +\usecolortheme{rgd} +\usefonttheme{rgd} +\useinnertheme{rgd} +\useoutertheme{rgd} + +%%% +% Disable navigation tools on slides +%%% +\setbeamertemplate{navigation symbols}{} + +%%% +% Object styles +%%% +\setbeamertemplate{itemize item}[square] +\setbeamertemplate{itemize subitem}[default] +\setbeamertemplate{sections/subsections in toc}[square] + +\mode<all> diff --git a/slides/2018-lwm/handout.pdf b/slides/2018-lwm/handout.pdf Binary files differnew file mode 100644 index 0000000..823a3ba --- /dev/null +++ b/slides/2018-lwm/handout.pdf diff --git a/slides/2018-lwm/img/batch.pdf b/slides/2018-lwm/img/batch.pdf Binary files differnew file mode 100644 index 0000000..f98250f --- /dev/null +++ b/slides/2018-lwm/img/batch.pdf diff --git a/slides/2018-lwm/img/ct.png b/slides/2018-lwm/img/ct.png Binary files differnew file mode 100644 index 0000000..10267e7 --- /dev/null +++ b/slides/2018-lwm/img/ct.png diff --git a/slides/2018-lwm/img/frequency.pdf b/slides/2018-lwm/img/frequency.pdf Binary files differnew file mode 100644 index 0000000..4957b24 --- /dev/null +++ b/slides/2018-lwm/img/frequency.pdf diff --git a/slides/2018-lwm/img/logo.png b/slides/2018-lwm/img/logo.png Binary files differnew file mode 100755 index 0000000..0c7c885 --- /dev/null +++ b/slides/2018-lwm/img/logo.png diff --git a/slides/2018-lwm/img/mt.tex b/slides/2018-lwm/img/mt.tex new file mode 100644 index 0000000..984da14 --- /dev/null +++ b/slides/2018-lwm/img/mt.tex @@ -0,0 +1,26 @@ +\begin{tikzpicture}[ +  sibling distance=32pt, +  -latex, +  apnode/.style = { +    draw=none, +  }, +  ap/.style = { +    draw=black, +  }, +] +  \Tree [ +    .$r\gets\hash(h_{ab}\concat h_{cd})$ [ +      .\node[apnode]{$h_{ab}\gets\hash(h_a\concat h_b)$}; [ +        .$h_a\gets\hash(a)$ +      ] [ +        .$h_b\gets\hash(b)$ +      ] +    ] \edge[ap]; [ +      .$h_{cd}\gets\hash(h_c\concat h_d)$ [ +        .\node[apnode]{$h_c\gets\hash(c)$}; +      ] \edge[ap]; [ +        .$h_d\gets\hash(d)$ +      ] +    ] +  ]    +\end{tikzpicture} diff --git a/slides/2018-lwm/img/mtp.tex b/slides/2018-lwm/img/mtp.tex new file mode 100644 index 0000000..a62b333 --- /dev/null +++ b/slides/2018-lwm/img/mtp.tex @@ -0,0 +1,28 @@ +\begin{tikzpicture}[ +  sibling distance=32pt, +  -latex, +  apnode/.style = { +    draw=black, +    dashed, +  }, +  ap/.style = { +    draw=black, +    dashed, +  }, +] +  \Tree [ +    .$r\gets\hash(h_{ab}\concat h_{cd})$ [ +      .\node[apnode]{$h_{ab}\gets\hash(h_a\concat h_b)$}; [ +        .$h_a\gets\hash(a)$ +      ] [ +        .$h_b\gets\hash(b)$ +      ] +    ] \edge[ap]; [ +      .$h_{cd}\gets\hash(h_c\concat h_d)$ [ +        .\node[apnode]{$h_c\gets\hash(c)$}; +      ] \edge[ap]; [ +        .$h_d\gets\hash(d)$ +      ] +    ] +  ]    +\end{tikzpicture} diff --git a/slides/2018-lwm/img/overview.tex b/slides/2018-lwm/img/overview.tex new file mode 100644 index 0000000..9dff7b0 --- /dev/null +++ b/slides/2018-lwm/img/overview.tex @@ -0,0 +1,74 @@ +\begin{tikzpicture}[ +  -latex, +  rrs/.style = { +    draw = gray!30, +    thick, +    rounded rectangle, +    fill = white, +    minimum width = 2cm, +    font = \fontsize{8}{8}\selectfont, +    text = white, +  }, +  ls/.style = { +    font=\fontsize{6}{6}\selectfont, +  }, +] +\draw (0, 1) node[rrs, fill=darkRed] (Log) {Log}; +\draw (0, -1) node[rrs, fill=darkGreen] (Subject) {Subject}; +\draw (3.5, 0) node[rrs, fill=darkBlue] (Endpoint) {Notifier}; +\draw (-3.5, 0) node[rrs, fill=gray] (Monitor) {Monitor}; + + +\path [draw, ->, rounded corners] +  (Log.north) |- +  ($ (Log.north) + (Log.west) - (Log) + (-0.25, 0.25) $) +    node[ls, above, pos=0.75]{ +      STH with snapshot extension +    } |- +  (Log.west); + +\path [draw, ->, rounded corners] +  (Monitor.south) |- +  ($ (Monitor.south) + (Monitor.west) - (Monitor) + (-0.25, -0.25) $) +    node[ls, below, pos=0.75]{ +      verify STH extension +    } |- +  (Monitor.west); + +\path [draw, ->, rounded corners] +  (Subject.south) |- +  ($ (Subject.south) + (Subject.east) - (Subject) + (0.25, -0.25) $) +    node[ls, below, pos=0.75]{ +      verify notification +    } |- +  (Subject.east); + +\path [draw, <-, dashed, rounded corners] +  (Endpoint.north) |- +  ($ (Endpoint.east) + (Endpoint.north) - (Endpoint) + (0.25, 0.25) $) +    node[ls, above, pos=0.75]{ +      optional verify +    } |- +  (Endpoint.east); + +\draw [->] +  (Log.south east) -- +    node[ls, sloped, anchor=center, above]{% +      batch, STH +    } +  (Endpoint.north west); + +\draw [->] +  (Endpoint.south west) -- +    node[ls, sloped, anchor=center, above]{% +      notification +    } +  (Subject.north east); + +\path [draw, ->] +  (Log.south west) -- +    node[ls, sloped, anchor=center, above]{% +      batch, STH +    } +  (Monitor.north east); +\end{tikzpicture} diff --git a/slides/2018-lwm/img/perf.jpg b/slides/2018-lwm/img/perf.jpg Binary files differnew file mode 100644 index 0000000..42564f4 --- /dev/null +++ b/slides/2018-lwm/img/perf.jpg diff --git a/slides/2018-lwm/img/proofcom.pdf b/slides/2018-lwm/img/proofcom.pdf Binary files differnew file mode 100644 index 0000000..473d817 --- /dev/null +++ b/slides/2018-lwm/img/proofcom.pdf diff --git a/slides/2018-lwm/img/proofgen.pdf b/slides/2018-lwm/img/proofgen.pdf Binary files differnew file mode 100644 index 0000000..deb7ca4 --- /dev/null +++ b/slides/2018-lwm/img/proofgen.pdf diff --git a/slides/2018-lwm/img/proofvf.pdf b/slides/2018-lwm/img/proofvf.pdf Binary files differnew file mode 100644 index 0000000..a2db9d1 --- /dev/null +++ b/slides/2018-lwm/img/proofvf.pdf diff --git a/slides/2018-lwm/img/qleft.pdf b/slides/2018-lwm/img/qleft.pdf Binary files differnew file mode 100644 index 0000000..f35a078 --- /dev/null +++ b/slides/2018-lwm/img/qleft.pdf diff --git a/slides/2018-lwm/img/qright.pdf b/slides/2018-lwm/img/qright.pdf Binary files differnew file mode 100644 index 0000000..da2e8e3 --- /dev/null +++ b/slides/2018-lwm/img/qright.pdf diff --git a/slides/2018-lwm/img/self-monitor.tex b/slides/2018-lwm/img/self-monitor.tex new file mode 100644 index 0000000..0896990 --- /dev/null +++ b/slides/2018-lwm/img/self-monitor.tex @@ -0,0 +1,34 @@ +\begin{tikzpicture}[ +  -latex, +  entity/.style = { +    draw = gray!30, +    thick, +    rounded rectangle, +    fill = white, +    minimum width = 2cm, +    font = \fontsize{8}{8}\selectfont, +    text = white, +  }, +  ls/.style = { +    draw=none, +    font=\fontsize{6}{6}\selectfont, +  }, +] +  \node[entity,fill=darkGreen](domain) at (0,0) {Subject}; +  \node[entity,fill=darkRed](log) at (0,-3) {Log}; +  \path[draw,thick,-latex] +    (domain.south west) -- +      node[ls,sloped,below]{Any new certs?} +    (log.north west); +  \path[draw,thick,-latex] +    (log.north east) -- +      node[ls,sloped,below]{List of certs} +    (domain.south east); +  \path[draw,thick,-latex] +    (domain.north) |- +    ($ (domain.west) + (domain.north) + (domain) + (-0.25, 0.25) $) +      node[ls,above,pos=0.75]{ +        All ok? +      } |- +    (domain.west); +\end{tikzpicture} diff --git a/slides/2018-lwm/img/snapshot.pdf b/slides/2018-lwm/img/snapshot.pdf Binary files differnew file mode 100644 index 0000000..df185f6 --- /dev/null +++ b/slides/2018-lwm/img/snapshot.pdf diff --git a/slides/2018-lwm/img/takeaway.pdf b/slides/2018-lwm/img/takeaway.pdf new file mode 100644 index 0000000..7d3b190 --- /dev/null +++ b/slides/2018-lwm/img/takeaway.pdf @@ -0,0 +1,68 @@ +%PDF-1.4 +% +3 0 obj +<< /Length 4 0 R +   /Filter /FlateDecode +>> +stream +xmA0"
>R#$E{rGyC\`;㻨(dUt0f-TA7
Tx1f՚;"*4{~M7$ +endstream +endobj +4 0 obj +   118 +endobj +2 0 obj +<< +   /ExtGState << +      /a0 << /CA 1 /ca 1 >> +   >> +>> +endobj +5 0 obj +<< /Type /Page +   /Parent 1 0 R +   /MediaBox [ 0 0 12.8 12.8 ] +   /Contents 3 0 R +   /Group << +      /Type /Group +      /S /Transparency +      /I true +      /CS /DeviceRGB +   >> +   /Resources 2 0 R +>> +endobj +1 0 obj +<< /Type /Pages +   /Kids [ 5 0 R ] +   /Count 1 +>> +endobj +6 0 obj +<< /Creator (cairo 1.14.0 (http://cairographics.org)) +   /Producer (cairo 1.14.0 (http://cairographics.org)) +>> +endobj +7 0 obj +<< /Type /Catalog +   /Pages 1 0 R +>> +endobj +xref +0 8 +0000000000 65535 f  +0000000520 00000 n  +0000000232 00000 n  +0000000015 00000 n  +0000000210 00000 n  +0000000304 00000 n  +0000000585 00000 n  +0000000712 00000 n  +trailer +<< /Size 8 +   /Root 7 0 R +   /Info 6 0 R +>> +startxref +764 +%%EOF diff --git a/slides/2018-lwm/img/tp-monitor.tex b/slides/2018-lwm/img/tp-monitor.tex new file mode 100644 index 0000000..37a6241 --- /dev/null +++ b/slides/2018-lwm/img/tp-monitor.tex @@ -0,0 +1,43 @@ +\begin{tikzpicture}[ +  -latex, +  entity/.style = { +    draw = gray!30, +    thick, +    rounded rectangle, +    fill = white, +    minimum width = 2cm, +    font = \fontsize{8}{8}\selectfont, +    text = white, +  }, +  ls/.style = { +    draw=none, +    font=\fontsize{6}{6}\selectfont, +  }, +] +  \node[entity,fill=darkGreen](domain) at (0,0) {Subject}; +  \node[entity,fill=darkRed](log) at (0,-3) {Log}; +  \node[entity,fill=darkBlue](monitor) at (3,-1.5) {Monitor}; +  \path[draw,thick,-latex] +    (domain) -| +      node[ls,above]{Notify if you see my certs} +    (monitor); +  \path[draw,thick,-latex] +    (monitor) -- +      node[ls,sloped,above]{Found cert!} +    (domain); +  \path[draw,thick,-latex] +    (monitor) |- +      node[ls,below]{Any new certs?} +    (log); +  \path[draw,thick,-latex] +    (log) -- +      node[ls,sloped,above]{List of certs} +    (monitor); +  \path[draw,thick,-latex] +    (domain.north) |- +    ($ (domain.west) + (domain.north) + (domain) + (-0.25, 0.25) $) +      node[ls,above,pos=0.75]{ +        All ok? +      } |- +    (domain.west); +\end{tikzpicture} diff --git a/slides/2018-lwm/img/ty.pdf b/slides/2018-lwm/img/ty.pdf Binary files differnew file mode 100644 index 0000000..9ad4dc8 --- /dev/null +++ b/slides/2018-lwm/img/ty.pdf diff --git a/slides/2018-lwm/img/wildcard.tex b/slides/2018-lwm/img/wildcard.tex new file mode 100644 index 0000000..11f328e --- /dev/null +++ b/slides/2018-lwm/img/wildcard.tex @@ -0,0 +1,22 @@ +\begin{tikzpicture}[ +  sibling distance=6pt, +  level distance=150pt, +  -latex, +  grow=left, +] +  \Tree [ +    .$r\gets\hash(h_{01}\concat h_{23})$ [ +      .$h_{01}\gets\hash(h_0\concat h_1)$ [ +        .$h_0\gets\hash(\mathsf{gro.elpmaxe})$ +      ] [ +        .$h_1\gets\hash(\mathsf{moc.elpmaxe})$ +      ] +    ] [ +      .$h_{23}\gets\hash(h_2\concat h_3)$ [ +        .$h_2\gets\hash(\mathsf{moc.elpmaxe.bus})$ +      ] [ +        .$h_3\gets\hash(\mathsf{ten.elpmaxe})$ +      ] +    ] +  ]    +\end{tikzpicture} diff --git a/slides/2018-lwm/img/wish.pdf b/slides/2018-lwm/img/wish.pdf Binary files differnew file mode 100644 index 0000000..372db92 --- /dev/null +++ b/slides/2018-lwm/img/wish.pdf diff --git a/slides/2018-lwm/main.tex b/slides/2018-lwm/main.tex new file mode 100644 index 0000000..d1060f8 --- /dev/null +++ b/slides/2018-lwm/main.tex @@ -0,0 +1,27 @@ +\pdfminorversion=4 +%\documentclass[aspectratio=169]{beamer} +\documentclass[handout,aspectratio=169]{beamer} +\usetheme{rgd} + +\input{src/preamble} + +\title{% +  Verifiable Light-Weight Monitoring for Certificate Transparency Logs  +} +%\subtitle{% +%} +\author{% +  \textbf{Rasmus Dahlberg} and Tobias Pulls +} +\institute{% +  Karlstad University +} +\date{% +  \today +} + +\begin{document} +  \input{src/titlepage} +  \input{src/body} +  \input{src/questions} +\end{document} diff --git a/slides/2018-lwm/slides.pdf b/slides/2018-lwm/slides.pdf Binary files differnew file mode 100644 index 0000000..29be110 --- /dev/null +++ b/slides/2018-lwm/slides.pdf diff --git a/slides/2018-lwm/src/body.tex b/slides/2018-lwm/src/body.tex new file mode 100644 index 0000000..67f3c5e --- /dev/null +++ b/slides/2018-lwm/src/body.tex @@ -0,0 +1,268 @@ +\begin{frame} +  \frametitle{Certificate Transparency (CT)} +  \begin{columns} +    \begin{column}{0.49\textwidth} +      \begin{itemize} +        \item Add transparency to CA ecosystem +        \item Publicly log all certificates +        \item No need\footnotemark{} to trust the log +          \begin{itemize} +            \item Membership proofs +            \item Append-only proofs +          \end{itemize} +      \end{itemize} +    \end{column} +    \begin{column}{0.49\textwidth} +      \centering +      \includegraphics[width=\textwidth]{img/ct} +      \burl{http://www.certificate-transparency.org/what-is-ct} +    \end{column} +  \end{columns} +  \footnotetext{As deployed right now we do trust the logs tho \Frowny} +\end{frame} + +\begin{frame} +  \frametitle{Certificate logging in greater detail +    \titlefloatright{Merkle tree}} +  \centering +  \vfill +  \input{img/mt} +  \pause +  \vfill +  \begin{columns} +    \begin{column}{0.49\textwidth} +      \begin{itemize} +        \item Append new certificates in batches +      \end{itemize} +    \end{column} +    \begin{column}{0.49\textwidth} +      \begin{itemize} +        \item Sign tree head every hour \ding{224} STH +      \end{itemize} +    \end{column} +  \end{columns} +  \vfill +  %\vfill\centering\alert{Anyone can audit and monitor the log, but as deployed +  %  not much of this yet} +\end{frame} + +\begin{frame} +  \frametitle{Generating a membership proof +    \titlefloatright{Audit path}} +  \centering +  \vfill +  \input{img/mtp} +  \vfill +  \begin{columns} +    \begin{column}{0.49\textwidth} +      \begin{itemize} +        \item Traverse tree from root to leaf +      \end{itemize} +    \end{column} +    \begin{column}{0.49\textwidth} +      \begin{itemize} +        \item Grab all sibling hashes on the way +      \end{itemize} +    \end{column} +  \end{columns} +  \vfill +\end{frame} + +\begin{frame} +  \frametitle{Two approaches towards monitoring a CT log} +  \begin{columns} +    \begin{column}{0.49\textwidth} +      \centering +      \vbox to 0.8\textheight { +        \textbf{Self-monitoring} +        \vfill +        \input{img/self-monitor} +        \vfill +        \pause +        \begin{description} +          \item[\Frowny] Continuous uptime +          \item[\Frowny] Download everything +        \end{description} +        \pause +      } +    \end{column} +    \begin{column}{0.49\textwidth} +      \centering +      \vbox to 0.8\textheight { +        \textbf{Monitoring-as-a-service} +        \vfill +        \input{img/tp-monitor} +        \pause +        \vfill +        \begin{description} +          \item[\Smiley] Ezpz +          \item[\Frowny] Trusted 3rd party +        \end{description} +      } +    \end{column} +  \end{columns} +\end{frame} + +\begin{frame} +  \frametitle{Notion of what we would like to achieve +    \titlefloatright{`Wish list'}} +  \begin{columns} +    \begin{column}{0.59\textwidth} +      \begin{itemize} +        \item CT/bis backwards compatibility +        \item Piggy-back on gossip-audit model +        \item Self-monitor wildcards w/o full download +        \item Reduced 3rd party monitoring trust +      \end{itemize} +    \end{column} +    \begin{column}{0.39\textwidth} +      \centering +      \includegraphics[height=0.8\textheight]{img/wish} +    \end{column} +  \end{columns} +\end{frame} + +\begin{frame} +  \frametitle{An overview of light-weight monitoring} +  \centering +  \input{img/overview} +  \vfill +  \begin{columns} +    \begin{column}{0.49\textwidth} +      \begin{itemize} +        \item A new Merkle tree for each batch +      \end{itemize} +    \end{column} +    \begin{column}{0.49\textwidth} +      \begin{itemize} +        \item Add snapshot to STH as extension +      \end{itemize} +    \end{column} +  \end{columns} +  \vfill\centering\alert{One wildcard (non-)membership notification per STH}\\ +  \pause +  \alert{How do you know if you got all notifications \ding{224} index +    extension} +\end{frame} + +\begin{frame} +  \frametitle{Wildcard notifications} +  \centering +  \input{img/wildcard} +  \begin{columns} +    \begin{column}{0.39\textwidth} +      \begin{itemize} +        \item Merkleize reverse-sorted list +      \end{itemize} +    \end{column} +    \begin{column}{0.59\textwidth} +      \begin{itemize} +        \item Wildcard proof \ding{224} at most two audit paths +      \end{itemize} +    \end{column} +  \end{columns} +  \pause +  \vfill\centering\alert{Security of this data structure? It is still just a +    Merkle tree...} +\end{frame} + +\begin{frame} +  \frametitle{Performance evaluation \titlefloatright{Experimental setup}} +  \begin{columns} +    \begin{column}{0.49\textwidth}  +      \vbox to .6\textheight{ +        \begin{itemize}  +          \item PoC: 351 lines of Go\footnotemark +          \item Interesting metrics +            \begin{itemize} +              \item Snapshot creation time +              \item Proof generation time +              \item Proof verification time +              \item Bandwidth overhead +            \end{itemize} +          \item Two log characteristics that matter +            \begin{itemize} +              \item STH frequency +              \item Batch size +            \end{itemize} +        \end{itemize} +        \vfill\centering\alert{We observed all Chrome-included logs for eight +          months to determine these characteristics} +      } +    \end{column} +    \begin{column}{0.49\textwidth} +      \vbox to 0.8\textheight{ +        \centering +        \vfill +        \textbf{Google's Icarus Log}\\ +        \vfill +        \includegraphics[width=\textwidth]{img/frequency}\\ +        \vfill +        \includegraphics[width=\textwidth]{img/batch} +        \vfill +      } +    \end{column} +  \end{columns} +  \footnotetext{\burl{https://github.com/rgdd/lwm}} +\end{frame} + +\begin{frame} +  \frametitle{Snapshot creation time} +  \centering +  \includegraphics[height=0.6\textheight]{img/snapshot} +  \vfill\centering\alert{Negligible in comparison to STH issuance rate (1h)} +\end{frame} + +\begin{frame} +  \frametitle{Proof generation time} +  \centering +  \includegraphics[height=0.6\textheight]{img/proofgen} +  \vfill\centering\alert{At least 288M non-membership proofs per hour on a +    single core} +\end{frame} + +\begin{frame} +  \frametitle{Proof generation and verification for *.com} +  \centering +  \includegraphics[height=0.6\textheight]{img/proofcom} +  \vfill\centering\alert{352k matches in max batch \ding{224} 29k proofs per +    hour on a single core} +\end{frame} + +\begin{frame} +  \frametitle{Bandwidth overhead} +  \begin{columns} +    \begin{column}{0.69\textwidth} +      \begin{description} +        \item[Audit paths] max batch size \ding{224} 1 KB +        \item[Self-monitor] compare to median batch size of 32.6 MB +        \item[Notifier] 288M audit paths per hour \ding{224} 640 Mbps +      \end{description} +    \end{column} +    \begin{column}{0.39\textwidth} +      \centering\includegraphics[width=\textwidth]{img/perf} +      \burl{http://blog.coviam.com/wp-content/uploads/2016/07/Performance-Evaluation-Process-z.jpg} +    \end{column} +  \end{columns} +\end{frame} + +\begin{frame} +  \frametitle{Take away} +  \begin{columns} +    \begin{column}{0.79\textwidth} +      \begin{itemize} +      \item Unfortunate if CT monitoring relies on trusted parties +      \item Light-weight monitoring +        \begin{itemize} +          \item One verifiable wildcard notification per batch +          \item Untrusted notification component with push/pull model +          \item Untrusted log \ding{224} rely on one honest monitor +          \item Trusted log \ding{224} no need to also trust monitor +        \end{itemize} +      \end{itemize} +    \end{column} +    \begin{column}{0.19\textwidth} +      \centering\includegraphics[width=\textwidth]{img/takeaway} +    \end{column} +  \end{columns} +\end{frame} diff --git a/slides/2018-lwm/src/preamble.tex b/slides/2018-lwm/src/preamble.tex new file mode 100644 index 0000000..abefa6d --- /dev/null +++ b/slides/2018-lwm/src/preamble.tex @@ -0,0 +1,99 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%                                  Packages                                    % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\usepackage[ +  lambda, advantage, operators, sets, adversary, landau, probability, notions, +  logic, ff, mm, primitives, events, complexity, asymptotics, keys +]{cryptocode} + +\usepackage{marvosym} +\usepackage{rotate} +\usepackage{graphicx} +\usepackage{mathtools} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{flowchart} +\usepackage{smartdiagram} +\usepackage{pifont} +\usepackage{graphicx} +\usepackage{color} +\usepackage{drawstack} +\usepackage{tikz} +\usepackage{tikz-qtree} +\usetikzlibrary{ +  arrows,% +  decorations.markings,% +  backgrounds,% +  calc,% +  fit,% +  positioning,% +  shapes.misc,% +  shadows,% +  shapes.arrows,% +  shapes,% +  snakes,% +} +\usepackage{booktabs} +\usepackage{smartdiagram} +\usepackage{floatrow} +%\usepackage[position=bottom]{subfig}            % environment for nested figures + +\usepackage{xcolor} +\definecolor{darkGreen}{HTML}{008000} +\definecolor{darkBlue}{HTML}{2809B2} +\definecolor{darkRed}{HTML}{CC0000} +\definecolor{darkGray}{HTML}{808080} +\definecolor{darkOrange}{HTML}{D77D00} +\definecolor{darkPurple}{HTML}{800080} +\colorlet{lightGray}{gray!33} +\colorlet{lightYellow}{yellow!50} +\definecolor{darkGreen}{HTML}{008000} +\definecolor{darkBlue}{HTML}{2809B2} +\definecolor{darkRed}{HTML}{CC0000} + +% Figures, tables and code +\usepackage{booktabs} +\usepackage{colortbl} +\usepackage{flowchart} +\usepackage{adjustbox} +\usepackage{listings} + +\lstdefinestyle{CStyle}{ +    backgroundcolor=\color{lightGray!25}, +    commentstyle=\color{darkGreen}, +    keywordstyle=\color{darkBlue}, +    numberstyle=\tiny\color{darkRed}, +    stringstyle=\color{darkPurple}, +    basicstyle=\footnotesize, +    breakatwhitespace=false, +    breaklines=false, +    captionpos=b, +    keepspaces=true, +    numbers=left, +    numbersep=5pt, +    showspaces=false, +    showstringspaces=false, +    showtabs=false, +    tabsize=2, +    language=C, +    morekeywords={size_t}, +} + +%\setbeamertemplate{itemize item}[circle] +%\setbeamertemplate{itemize subitem}[default] +%\setbeamertemplate{caption}[numbered] + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%                                 Defines                                      % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\makeatletter +\let\@@magyar@captionfix\relax %needed for \titlefloatright +\makeatother + +\newcommand{\tyes}{\textcolor{darkGreen}{\ding{51}}} +\newcommand{\tno}{\textcolor{darkRed}{\ding{55}}} +\newcommand{\burl}[1]{\tiny{\url{#1}}} +\newcommand{\TODO}[1]{\textcolor{red}{TODO}: #1} +\newcommand{\titlefloatright}[1]{\hspace{0pt plus 1 filll}#1$\;$} + +\def\rding{\rotatebox[origin=c]{-90}{\ding{224}}} diff --git a/slides/2018-lwm/src/questions.tex b/slides/2018-lwm/src/questions.tex new file mode 100644 index 0000000..85cb2f3 --- /dev/null +++ b/slides/2018-lwm/src/questions.tex @@ -0,0 +1,17 @@ +\begin{frame} +  \frametitle{Any questions?} \label{frm:que} +  \begin{columns} +    \begin{column}{0.49\textwidth} +      \centering +      \includegraphics[width=0.75\textwidth]{img/qleft} +    \end{column} +    \begin{column}{0.49\textwidth} +      \centering +      \includegraphics[width=0.75\textwidth]{img/qright} +    \end{column} +  \end{columns} + +  \centering +  \vspace{-1cm} +  \includegraphics[width=0.20\textwidth]{img/ty} +\end{frame} diff --git a/slides/2018-lwm/src/titlepage.tex b/slides/2018-lwm/src/titlepage.tex new file mode 100644 index 0000000..9b18039 --- /dev/null +++ b/slides/2018-lwm/src/titlepage.tex @@ -0,0 +1,3 @@ +\begin{frame} +  \titlepage +\end{frame}  | 
