\documentclass[naustrian,notes]{beamer}

\input{header}
%Titelinformationen
\title[Digidow Biometric Sensor]{Digital Shadow: Biometric Sensor}
\subtitle{Master's Thesis Seminar}
\author[Michael Preisach]{Michael Preisach}
\date{November 19, 2019}
\institute[INS]{\includegraphics[width=0.1\textwidth]{../../resources/ins}}

\begin{document}
\begin{frame}
	\titlepage
\end{frame}
	
\begin{frame}
	\frametitle{Project Overview Digital Shadow}
	\begin{figure}
		\centering
		\includegraphics[width=0.9\textwidth]{../../resources/globalview}
	\end{figure}
\end{frame}

\begin{frame}
	\frametitle{Recap: Trust inside Biometric Sensor}
	\begin{itemize}
		\item manufacturer of TPM holds certificate
		\item TPM holds measurements of boot chain in PCR
		\begin{itemize}
			\item CRTM measures BIOS
			\item BIOS measures MBR/EFI Bootloader
			\item bootloader measures Kernel (Grub 2.04 supports TPM2)
			\item Kernel measures libs, executables, \ldots
		\end{itemize}
		\item TPM Quote: summarize the PCR state and sign it with TPM Endorsement Key (EK)
	\end{itemize}
\end{frame}

\begin{frame}
	\frametitle{Problem: Create trust beween BS and PA}
	\begin{itemize}
		\item network discovery
		\item \textbf{no Knowledge about BS}
		\begin{itemize}
			\item \textbf{Hardware}
			\item \textbf{Software}
			\item \textbf{Am I talking to a valid BS}
			\item Correct client to certify identity for given biometric data
		\end{itemize}
		\item \textbf{BS faces same problem with PA}
		\item establish a secure channel to submit sensitive data
	\end{itemize}
\end{frame}

\begin{frame}
	\frametitle{Solution: Direct Anonymous Attestation (DAA)}
	\begin{center}
		\includegraphics[width=0.7\textwidth]{../../resources/daa}
	\end{center}
	
	\begin{itemize}
		\item based on group signatures
		\item Zero Knowledge Proof to verify group membership
		\item defines 3 Parties
		\begin{itemize}
			\item \emph{Issuer}: provides public key for a group (e.g. all Biometric Sensors) and manages group memberships
			\item \emph{Member}: holds a group private key to sign messages (e.g. a Biometric Sensor)
			\item \emph{Verifier}: knows the group public key and is able to verify correctness of signature (e.g. Personal Agent)
		\end{itemize}
	\end{itemize}
\end{frame}

\begin{frame}
	\frametitle{DAA Setup: Issuer creates Bilinear Group and Keys}
	\begin{eqnarray*}
		q,\mathbb{G}_1, \mathbb{G}_2, \mathbb{G}_T, g_1, g_2, e
	\end{eqnarray*}
	\begin{itemize}
		\item $\mathbb{G}_1, \mathbb{G}_2, \mathbb{G}_T$: groups of prime order $q$
		\item $g_1 \in \mathbb{G}_1$, $g_2 \in \mathbb{G}_2$: generator points
		\item $e$: bilinear map with properties
		\begin{itemize}
			\item \emph{Bilinear}: For all $P \in \mathbb{G}_1, Q \in \mathbb{G}_2$, for all $a,b \in \mathbb{Z}$, $ e(P^a,Q^b) = e(P,Q)^{ab}$
			\item \emph{Non-degenerate}: There exists some $P \in \mathbb{G}_1, Q \in \mathbb{G}_2$ such that $e(P,Q) \neq 1$, where 1 is the identity of $\mathbb{G}_T$
			\item \emph{Efficient}: There exists an efficient algorithm for computing $e$
		\end{itemize}
		\item Choose secret key $x\leftarrow\mathbb{Z}_q$, $y\leftarrow\mathbb{Z}_q$
		\item generate public key $X=g_2^x$, $Y=g_2^y$
	\end{itemize}
\end{frame}

\begin{frame}
	\frametitle{Bilinear Maps}
	Definition Bilinear Maps:
	\begin{itemize}
		\item \emph{Bilinear}: For all $P,Q \in G$, for all $a,b \in \mathbb{Z}$, $e(P^a,Q^b) = e(P,Q)^{ab}$
		\item \emph{Non-degenerate}: There exists some $P,Q \in G$ such that $e(P,Q) \not 1$ where 1 is the identity of $\mathrm{G}$
	\end{itemize}
\end{frame}

\begin{frame}
	\frametitle{Bilinear Maps: Signatures}
	\begin{itemize}
		\item given message $m$ and random number $r leftarrow \mathbb{Z}_q$
		
	\end{itemize}
\end{frame}

\begin{frame}
	\frametitle{Bilinear Maps: Zero Knowledge Proofs}
	\begin{itemize}
		\item Do the same as before, but choose to additional random variables $r$ and $r'$
	\end{itemize}
\end{frame}

\begin{frame}
	\frametitle{DAA Join: Member joins to Issuer's Group}
	\begin{center}
	\begin{footnotesize}
	\begin{tabular}{|lclcl|}\hline
		\multicolumn{1}{|c}{TPM}&&\multicolumn{1}{c}{Host}&&\multicolumn{1}{c|}{Issuer}\\\hline
		&&&$\xrightarrow{\text{JOIN}}$&$n\leftarrow\{0,1\}^{ln}$\\
		$gsk\leftarrow\mathbb{Z}$&$\xleftarrow{\makebox[5mm]{n}}$&&$\xleftarrow{\makebox[5mm]{n}}$&\\
		$Q\leftarrow g_1^{gsk}$&&&&\\
		$\pi_1\rightarrow SPK\{(\alpha):g_1^\alpha\}$&$\xrightarrow{Q,\pi_1}$&&$\xrightarrow{Q,\pi_1}$&verify $\pi_1$\\
		&&&&$r\leftarrow\mathbb{Z}_q$\\
		&&&&$a\leftarrow g_1^r$\\
		&&&&$b\leftarrow a^{x+ym}$\\
		&&&&$c\leftarrow a^x\cdot Q^{rxy}$\\
		&&&&$d\leftarrow Q^{ry}$\\
		&&&&$\pi_2\leftarrow SPK\{(t):$\\
		&&$e(a,X)\cdot e(c,Y)$&$\xleftarrow{a,b,c,d,\pi_2}$&$ b=g_1^t \wedge d=Q^t\}$\\
		verify $\pi_2$&$\xleftarrow{b,d,\pi_2}$&$\stackrel{?}{=}e(b,g_2)$&&\\
		store($gsk, b, d$)&$\xrightarrow{JOINED}$&store($a,b,c,d$)&&\\\hline
	\end{tabular}
	\end{footnotesize}
	\end{center}
\end{frame}
\end{document}
