diff options
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} |