aboutsummaryrefslogtreecommitdiff
path: root/slides/2018-lwm
diff options
context:
space:
mode:
Diffstat (limited to 'slides/2018-lwm')
-rw-r--r--slides/2018-lwm/.gitignore12
-rw-r--r--slides/2018-lwm/README1
-rw-r--r--slides/2018-lwm/beamercolorthemergd.sty24
-rw-r--r--slides/2018-lwm/beamerfontthemergd.sty9
-rw-r--r--slides/2018-lwm/beamerinnerthemergd.sty49
-rw-r--r--slides/2018-lwm/beamerouterthemergd.sty66
-rw-r--r--slides/2018-lwm/beamerthemergd.sty23
-rw-r--r--slides/2018-lwm/handout.pdfbin0 -> 595449 bytes
-rw-r--r--slides/2018-lwm/img/batch.pdfbin0 -> 8538 bytes
-rw-r--r--slides/2018-lwm/img/ct.pngbin0 -> 25685 bytes
-rw-r--r--slides/2018-lwm/img/frequency.pdfbin0 -> 9500 bytes
-rwxr-xr-xslides/2018-lwm/img/logo.pngbin0 -> 66309 bytes
-rw-r--r--slides/2018-lwm/img/mt.tex26
-rw-r--r--slides/2018-lwm/img/mtp.tex28
-rw-r--r--slides/2018-lwm/img/overview.tex74
-rw-r--r--slides/2018-lwm/img/perf.jpgbin0 -> 152607 bytes
-rw-r--r--slides/2018-lwm/img/proofcom.pdfbin0 -> 12595 bytes
-rw-r--r--slides/2018-lwm/img/proofgen.pdfbin0 -> 14456 bytes
-rw-r--r--slides/2018-lwm/img/proofvf.pdfbin0 -> 14022 bytes
-rw-r--r--slides/2018-lwm/img/qleft.pdfbin0 -> 11388 bytes
-rw-r--r--slides/2018-lwm/img/qright.pdfbin0 -> 12895 bytes
-rw-r--r--slides/2018-lwm/img/self-monitor.tex34
-rw-r--r--slides/2018-lwm/img/snapshot.pdfbin0 -> 11767 bytes
-rw-r--r--slides/2018-lwm/img/takeaway.pdf68
-rw-r--r--slides/2018-lwm/img/tp-monitor.tex43
-rw-r--r--slides/2018-lwm/img/ty.pdfbin0 -> 12497 bytes
-rw-r--r--slides/2018-lwm/img/wildcard.tex22
-rw-r--r--slides/2018-lwm/img/wish.pdfbin0 -> 126291 bytes
-rw-r--r--slides/2018-lwm/main.tex27
-rw-r--r--slides/2018-lwm/slides.pdfbin0 -> 613002 bytes
-rw-r--r--slides/2018-lwm/src/body.tex268
-rw-r--r--slides/2018-lwm/src/preamble.tex99
-rw-r--r--slides/2018-lwm/src/questions.tex17
-rw-r--r--slides/2018-lwm/src/titlepage.tex3
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
new file mode 100644
index 0000000..823a3ba
--- /dev/null
+++ b/slides/2018-lwm/handout.pdf
Binary files differ
diff --git a/slides/2018-lwm/img/batch.pdf b/slides/2018-lwm/img/batch.pdf
new file mode 100644
index 0000000..f98250f
--- /dev/null
+++ b/slides/2018-lwm/img/batch.pdf
Binary files differ
diff --git a/slides/2018-lwm/img/ct.png b/slides/2018-lwm/img/ct.png
new file mode 100644
index 0000000..10267e7
--- /dev/null
+++ b/slides/2018-lwm/img/ct.png
Binary files differ
diff --git a/slides/2018-lwm/img/frequency.pdf b/slides/2018-lwm/img/frequency.pdf
new file mode 100644
index 0000000..4957b24
--- /dev/null
+++ b/slides/2018-lwm/img/frequency.pdf
Binary files differ
diff --git a/slides/2018-lwm/img/logo.png b/slides/2018-lwm/img/logo.png
new file mode 100755
index 0000000..0c7c885
--- /dev/null
+++ b/slides/2018-lwm/img/logo.png
Binary files differ
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
new file mode 100644
index 0000000..42564f4
--- /dev/null
+++ b/slides/2018-lwm/img/perf.jpg
Binary files differ
diff --git a/slides/2018-lwm/img/proofcom.pdf b/slides/2018-lwm/img/proofcom.pdf
new file mode 100644
index 0000000..473d817
--- /dev/null
+++ b/slides/2018-lwm/img/proofcom.pdf
Binary files differ
diff --git a/slides/2018-lwm/img/proofgen.pdf b/slides/2018-lwm/img/proofgen.pdf
new file mode 100644
index 0000000..deb7ca4
--- /dev/null
+++ b/slides/2018-lwm/img/proofgen.pdf
Binary files differ
diff --git a/slides/2018-lwm/img/proofvf.pdf b/slides/2018-lwm/img/proofvf.pdf
new file mode 100644
index 0000000..a2db9d1
--- /dev/null
+++ b/slides/2018-lwm/img/proofvf.pdf
Binary files differ
diff --git a/slides/2018-lwm/img/qleft.pdf b/slides/2018-lwm/img/qleft.pdf
new file mode 100644
index 0000000..f35a078
--- /dev/null
+++ b/slides/2018-lwm/img/qleft.pdf
Binary files differ
diff --git a/slides/2018-lwm/img/qright.pdf b/slides/2018-lwm/img/qright.pdf
new file mode 100644
index 0000000..da2e8e3
--- /dev/null
+++ b/slides/2018-lwm/img/qright.pdf
Binary files differ
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
new file mode 100644
index 0000000..df185f6
--- /dev/null
+++ b/slides/2018-lwm/img/snapshot.pdf
Binary files differ
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
new file mode 100644
index 0000000..9ad4dc8
--- /dev/null
+++ b/slides/2018-lwm/img/ty.pdf
Binary files differ
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
new file mode 100644
index 0000000..372db92
--- /dev/null
+++ b/slides/2018-lwm/img/wish.pdf
Binary files differ
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
new file mode 100644
index 0000000..29be110
--- /dev/null
+++ b/slides/2018-lwm/slides.pdf
Binary files differ
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}