Master Thesis as published at INS in 2022
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

216 lines
6.8 KiB

\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{Chain of Trust}
\begin{itemize}
\item Manufacturer of TPM creates certificate
\item Core Root of Trust: key seed
\item \texttt{tpm2\_CreatePrimary} to generate new EK
\end{itemize}
\begin{figure}
\centering
\includegraphics[width=0.9\textwidth]{../../resources/tpmcert}
\end{figure}
\end{frame}
\begin{frame}
\frametitle{Chain of Trust - Platform Configuration Register (PCR)}
\begin{itemize}
\item Booting with TPM2 (PCR0-7)
\begin{description}
\item[\texttt{PCR0}] EFI Boot Services, EFI Runtime Services, Platform Firmware
\item[\texttt{PCR1}] ACPI, SMBIOS, \ldots
\item[\texttt{PCR2}] Option ROMs, Drivers from disks, \ldots (not relevant)
\item[\texttt{PCR4}] EFI/Legacy os Loader
\item[\texttt{PCR5}] EFI Partition, GPT, OS Partition Table
\end{description}
\item Grub2.04 supports TPM2 (PCR8,9) \footnote{\url{www.gnu.org/software/grub/manual/grub/grub.html\#Measured-Boot}}
\begin{description}
\item[\texttt{PCR8}] Kernel-, Module- and all other commands
\item[\texttt{PCR9}] All files read by GRUB
\end{description}
\item Linux uses PCR10-15
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Problem: Create Trust between 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{ECDAA Setup}
\begin{itemize}
\item Choose TPM-supported pairing-firendly Elliptic Curve: FP256BN
\item Generate Issuer keypair
\item $isk = (x,y)$
\item $ipk = (q,\mathbb{G}_1, \mathbb{G}_2, \mathbb{G}_T, g_1, g_2, e, X, Y)$
\item Publish ipk
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{ECDAA Member Join}
\begin{center}
\includegraphics[width=0.9\textwidth]{../../resources/daajoin}
\end{center}
\end{frame}
\begin{frame}
\frametitle{ECDAA Member Sign}
\begin{center}
\includegraphics[width=0.9\textwidth]{../../resources/daajoin}
\end{center}
\end{frame}
\begin{frame}
\frametitle{ECDAA Member Verify}
\begin{center}
\includegraphics[width=0.9\textwidth]{../../resources/daajoin}
\end{center}
\end{frame}
\begin{frame}
\frametitle{DAA Setup: Issuer creates Bilinear Group and Keys}
\[
q,\mathbb{G}_1, \mathbb{G}_2, \mathbb{G}_T, g_1, g_2, e
\]
\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$
\item $ipk = (q,\mathbb{G}_1, \mathbb{G}_2, \mathbb{G}_T, g_1, g_2, e, X, Y)$
\item $isk = (x,y)$
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Bilinear Maps - Sign Messages}
\begin{itemize}
\item Simplified Example: $\mathbb{G}_1 = \mathbb{G}_2$
\item $pk = (q,\mathbb{G}_1, \mathbb{G}_T, g_1, g_T, e, X, Y)$
\item Given message $m$
\end{itemize}
\begin{columns}[t]
\begin{column}{4cm}
\emph{Signer:}
\begin{itemize}
\item Compute Signature $\sigma(a,b,c)$
\begin{itemize}
\item $a \in \mathbb{G}_1$
\item $b = a^y$
\item $c = a^{x+mxy}$
\end{itemize}
\item Send(m, $\sigma$)
\end{itemize}
\end{column}
\begin{column}{6cm}
\emph{Verifier:}
\begin{itemize}
\item Check, that
\begin{small}
\begin{displaymath}
\underline{e(a,Y)} = e(a,g^y) = e(a^y,g) = \underline{e(b,g)}
\end{displaymath}
\begin{displaymath}
\underline{e(X,a)\cdot e(X,b)^m} = e(g,a)^x \cdot e(g,a)^{xym}
\end{displaymath}
\begin{displaymath}
= e(g,a)^{x+xym} = \underline{e(g,c)}
\end{displaymath}
\end{small}
\end{itemize}
\end{column}
\end{columns}
\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}