24 changed files with 793 additions and 95 deletions
@ -0,0 +1,88 @@ |
|||
\usepackage[naustrian]{babel} |
|||
\usepackage[utf8]{inputenc} |
|||
\usepackage[T1]{fontenc} |
|||
|
|||
%Designvorlage |
|||
\usetheme{Boadilla} |
|||
|
|||
%Font Typeface |
|||
\usepackage{paratype} |
|||
|
|||
\usepackage{graphicx} |
|||
\usepackage{url} |
|||
\usepackage{pgfpages} |
|||
\usepackage{lmodern} |
|||
|
|||
\usepackage{listings} |
|||
|
|||
\usepackage{marvosym} |
|||
\usepackage{textcomp} |
|||
|
|||
\usepackage{tikz} |
|||
\usepackage{geometry} |
|||
\usepackage{layout} |
|||
\usepackage{amsmath} |
|||
\usepackage{amssymb} |
|||
\usepackage{textcomp} |
|||
\usepackage{xcolor} |
|||
\usepackage{colortbl} |
|||
|
|||
\usepackage[default]{cantarell} |
|||
%\usepackage{libertine} |
|||
%\usepackage{libertinus} |
|||
|
|||
\usepackage{sourcecodepro} |
|||
%\renewcommand*\familydefault{\ttdefault} %% Only if the base font of the document is to be typewriter style |
|||
%properties for listings: |
|||
\lstset{ |
|||
language=[LaTeX]TeX, %language |
|||
basicstyle=\footnotesize\ttfamily, %common font style |
|||
xleftmargin=10pt, |
|||
numbers=left, %line numbers |
|||
numberstyle=\tiny, |
|||
numberfirstline=true, |
|||
stepnumber=1, |
|||
numbersep=5pt, |
|||
tabsize=2, %size of tabulator |
|||
columns=flexible, |
|||
upquote=true, |
|||
%breaklines=true, %automatischer Zeilenumbruch |
|||
literate= %Umlauts in source files |
|||
{Ö}{{\"O}}1 |
|||
{Ä}{{\"A}}1 |
|||
{Ü}{{\"U}}1 |
|||
{ß}{{\ss}}2 |
|||
{ü}{{\"u}}1 |
|||
{ä}{{\"a}}1 |
|||
{ö}{{\"o}}1 |
|||
} |
|||
|
|||
%Beamer preferences |
|||
|
|||
%\usecolortheme{structure} |
|||
\renewcommand{\arraystretch}{1.2} |
|||
|
|||
\setbeamertemplate{navigation symbols}{} |
|||
\setbeamertemplate{enumerate items}[square] |
|||
\setbeamertemplate{itemize items}[square] |
|||
\setbeamertemplate{section in toc}[circle] |
|||
\setbeamertemplate{subsection in |
|||
toc}{\leavevmode\leftskip=1.5em{\color{fg!30!blue}$\bullet$}\hskip0.5em\inserttocsubsection\par} |
|||
\AtBeginSection[] |
|||
{ |
|||
\begin{frame} |
|||
\frametitle{Inhalt} |
|||
\tableofcontents[ |
|||
currentsection, |
|||
sectionstyle=show/shaded, |
|||
hideothersubsections] |
|||
\end{frame} |
|||
} |
|||
|
|||
%Titelinformationen |
|||
\title[Wissenschaftliches Schreiben mit \LaTeX~1] |
|||
{Wissenschaftliches Schreiben und Layouten anhand von \LaTeX{} 1} |
|||
|
|||
\author[Michael Preisach]{Michael Preisach, BSc. \\\url{michael.preisach@oeh.jku.at}} |
|||
\date{Sommersemester 2020} |
|||
\institute[TNF]{Technisch-Naturwissenschaftliche Fakultät} |
|||
Binary file not shown.
@ -0,0 +1,164 @@ |
|||
\documentclass[naustrian,notes,aspectratio=169]{beamer} |
|||
|
|||
\input{header} |
|||
%Titelinformationen |
|||
\title[Digidow Biometric Sensor]{Digital Shadow: Biometric Sensor} |
|||
\subtitle{Master's Thesis Seminar} |
|||
\author[Michael Preisach]{Michael Preisach} |
|||
\date{April 21, 2020} |
|||
\institute[INS]{\includegraphics[width=0.1\textwidth]{../../resources/ins}} |
|||
|
|||
\begin{document} |
|||
\begin{frame} |
|||
\titlepage |
|||
\end{frame} |
|||
|
|||
\begin{frame} |
|||
\frametitle{Biometric Sensor as Part of Digidow} |
|||
\begin{figure} |
|||
\centering |
|||
\includegraphics[width=0.7\textwidth]{../../resources/globalview} |
|||
\end{figure} |
|||
\end{frame} |
|||
|
|||
\begin{frame} |
|||
\frametitle{Threat Model} |
|||
\begin{itemize} |
|||
\item Biometric Sensor (BS) point of view |
|||
\begin{itemize} |
|||
\item Rogue Personal Identity Agent (PIA) |
|||
\item Metadata/Attribute Extraction on Network |
|||
\item Defects on Network - Discovery not working |
|||
\item Sensor data modification at sensor hardware (e.\,g. camera) |
|||
\item Physical manipulation of hardware |
|||
\end{itemize} |
|||
\item Network/PIA point of view |
|||
\begin{itemize} |
|||
\item Retransmission of sensor data |
|||
\item Blocking data transmission |
|||
\item Sensor data aggregation |
|||
\item Sensor data modification before transmission |
|||
\end{itemize} |
|||
\end{itemize} |
|||
\end{frame} |
|||
|
|||
\begin{frame} |
|||
\frametitle{Trusted Platform Module (TPM)} |
|||
\begin{columns} |
|||
\begin{column}{0.55\textwidth} |
|||
\begin{itemize} |
|||
\item Dedicated Cryptocoprocessor in the PC |
|||
\item Toolset available for measurement, attestation, key management, \ldots |
|||
\item Available Hierarchies: Storage, Endorsement, Platform, Null |
|||
\item Platform Configuration Registers (PCR) for the state of the system\footnotemark |
|||
\end{itemize} |
|||
\end{column} |
|||
\begin{column}{0.45\textwidth} %%<--- here |
|||
\begin{footnotesize} |
|||
\begin{tabular}{c|l} |
|||
PCR &Usage\\\hline |
|||
0 &UEFI boot and runtime services \\ |
|||
1 &SMBIOS, ACPI, \ldots \\ |
|||
4 &UEFI OS Loader \\ |
|||
5 &ESP, GPT \\ |
|||
7 &Unified Kernel\\ |
|||
10 &Integrity Measurements (by Kernel)\\ |
|||
\end{tabular} |
|||
\end{footnotesize} |
|||
\end{column} |
|||
\end{columns} |
|||
\footnotetext{\url{https://www.trustedcomputinggroup.org/wp-content/uploads/PC-ClientSpecific_Platform_Profile_for_TPM_2p0_Systems_v21.pdf}} |
|||
\end{frame} |
|||
|
|||
\begin{frame} |
|||
\frametitle{Integrity Measurement Architecture\footnote{\url{https://wiki.gentoo.org/wiki/Integrity_Measurement_Architecture}}} |
|||
\begin{itemize} |
|||
\item Compile options within the Linux Kernel |
|||
\item When the Kernel starts, a large set of resources can be measured |
|||
\begin{itemize} |
|||
\item files accessed by root |
|||
\item all executables run |
|||
\item shared libs and all other files held in memory |
|||
\item \ldots |
|||
\end{itemize} |
|||
\item Based on policies, cooperates with selinux |
|||
\item Creates Hash chain in PCR 10 (default) |
|||
\begin{itemize} |
|||
\item new\_hash = hash(old\_hash | resource) |
|||
\end{itemize} |
|||
\item integrity log lists measured resources, different file formats possible |
|||
\item Attestation |
|||
\begin{enumerate} |
|||
\item Create Attestation Identity Key (AIK) from the Endorsement Key |
|||
\item Sign the current PCR value and the log with the AIK |
|||
\end{enumerate} |
|||
\end{itemize} |
|||
\end{frame} |
|||
|
|||
\begin{frame} |
|||
\frametitle{TPM environment for DAA} |
|||
\begin{figure} |
|||
\centering |
|||
\includegraphics[width=0.8\textwidth]{../../resources/tpmkeys} |
|||
\end{figure} |
|||
|
|||
\begin{itemize} |
|||
\item TPM can sign messages with the AIK |
|||
\item The signature is proofable with the Issuer Public Key (zero knowledge proof) |
|||
\end{itemize} |
|||
\end{frame} |
|||
|
|||
\begin{frame} |
|||
\frametitle{DAA Verification} |
|||
\begin{columns} |
|||
\begin{column}{0.55\textwidth} |
|||
\begin{figure} |
|||
\centering |
|||
\includegraphics[width=\textwidth]{../../resources/tpmattest} |
|||
\end{figure} |
|||
\end{column} |
|||
\begin{column}{0.45\textwidth} %%<--- here |
|||
\begin{itemize} |
|||
\item Issuer Public Key is assumed known to any PIA |
|||
\item Verifier (PIA) can only check validity of BS |
|||
\item Only communication between PIA and BS |
|||
\item Revocation lists manage termination of subscription |
|||
\end{itemize} |
|||
\end{column} |
|||
\end{columns} |
|||
\end{frame} |
|||
|
|||
\begin{frame} |
|||
\frametitle{Mitigated Threats} |
|||
\begin{itemize} |
|||
\item Biometric Sensor point of view |
|||
\begin{itemize} |
|||
\item Rogue PIA \textcolor{orange}{Two way DAA? TBD} |
|||
\item Metadata/Attribute Extraction on Network \textcolor{orange}{Cert based channel encryption? TBD} |
|||
\item Defects on Network - Discovery not working \textcolor{red}{Denial of Service} |
|||
\item Sensor data modification at sensor hardware \textcolor{green}{Firmware/Driver trust/attestation} |
|||
\item Physical manipulation of hardware \textcolor{orange}{Trusted Bootchain} |
|||
\end{itemize} |
|||
\item Network/PIA point of view |
|||
\begin{itemize} |
|||
\item Retransmission of sensor data \textcolor{green}{Integrity Measurement/Trusted Software} |
|||
\item Blocking data transmission \textcolor{green}{Integrity Measurement/Trusted Software} |
|||
\item Sensor data aggregation \textcolor{green}{Integrity Measurement/Trusted Software} |
|||
\item Sensor data modification before transmission \textcolor{green}{Integrity Measurement/Trusted Software} |
|||
\end{itemize} |
|||
\end{itemize} |
|||
\end{frame} |
|||
|
|||
\begin{frame} |
|||
\frametitle{State of the project} |
|||
\begin{itemize} |
|||
\item Trusted Boot: ready, different flavors tested |
|||
\item DAA: Basically working, Attestation Key not yet in TPM |
|||
\item Integrity Measurement: ongoing, not running, policy design necessary |
|||
\item Put above parts together |
|||
\item Thesis: Theoretical concepts need to be written down |
|||
\item Future work: minimize system, hardening on OS level |
|||
\end{itemize} |
|||
\end{frame} |
|||
|
|||
\end{document} |
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,126 @@ |
|||
#FIG 3.2 Produced by xfig version 3.2.7 |
|||
Landscape |
|||
Center |
|||
Inches |
|||
Letter |
|||
100.00 |
|||
Single |
|||
-2 |
|||
1200 2 |
|||
6 6000 6150 7500 6900 |
|||
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5 |
|||
7500 6900 7500 6150 6000 6150 6000 6900 7500 6900 |
|||
4 1 0 50 -1 4 14 0.0000 0 180 1455 6750 6450 Endorsement\001 |
|||
4 1 0 50 -1 4 14 0.0000 0 225 420 6750 6750 Key\001 |
|||
-6 |
|||
6 9750 7425 11250 8175 |
|||
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5 |
|||
11250 8175 11250 7425 9750 7425 9750 8175 11250 8175 |
|||
4 1 0 50 -1 4 14 0.0000 0 180 510 10500 7725 DAA\001 |
|||
4 1 0 50 -1 4 14 0.0000 0 180 645 10500 8025 Issuer\001 |
|||
-6 |
|||
6 4125 6975 5400 8325 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
4125 7425 5400 7425 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
4125 7575 5400 7575 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
4125 7725 5400 7725 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
4125 7875 5400 7875 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
4125 8025 5400 8025 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
4125 8175 5400 8175 |
|||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 |
|||
4125 7275 5400 7275 5400 8325 4125 8325 4125 7275 |
|||
4 0 0 50 -1 4 12 0.0000 0 165 540 4125 7200 PCRs\001 |
|||
-6 |
|||
6 3900 9750 5175 11100 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
3900 10200 5175 10200 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
3900 10350 5175 10350 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
3900 10500 5175 10500 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
3900 10650 5175 10650 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
3900 10800 5175 10800 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
3900 10950 5175 10950 |
|||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 |
|||
3900 10050 5175 10050 5175 11100 3900 11100 3900 10050 |
|||
4 0 0 50 -1 4 12 0.0000 0 165 540 3900 9975 PCRs\001 |
|||
-6 |
|||
6 6600 10275 7200 11100 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 6 |
|||
7200 10275 7200 11100 6600 11100 6600 10425 6750 10275 7200 10275 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 |
|||
6600 10425 6750 10425 6750 10275 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
6750 10725 7050 10725 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
6750 10800 7050 10800 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
6750 10875 7050 10875 |
|||
4 1 0 50 -1 4 10 0.0000 0 120 330 6900 10575 LOG\001 |
|||
-6 |
|||
6 10050 8775 10500 9225 |
|||
1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 10275 9000 168 168 10275 9000 10425 9075 |
|||
4 1 0 50 -1 4 14 0.0000 0 180 135 10275 9075 1\001 |
|||
-6 |
|||
1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 8400 10725 168 168 8400 10725 8550 10800 |
|||
1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 8700 9600 168 168 8700 9600 8850 9675 |
|||
1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 6525 8550 168 168 6525 8550 6675 8625 |
|||
1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 10500 10950 168 168 10500 10950 10650 11025 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 |
|||
2 0 1.00 120.00 180.00 |
|||
5400 6525 6000 6525 |
|||
2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 |
|||
4200 6375 5400 6375 5400 6675 4200 6675 4200 6375 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 |
|||
2 0 1.00 120.00 180.00 |
|||
6750 6900 6750 7425 |
|||
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5 |
|||
7500 8175 7500 7425 6000 7425 6000 8175 7500 8175 |
|||
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5 |
|||
11250 10650 11250 9900 9750 9900 9750 10650 11250 10650 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 |
|||
2 0 1.00 120.00 180.00 |
|||
7500 10500 9750 10500 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 |
|||
2 0 1.00 120.00 180.00 |
|||
6750 8175 6750 9675 |
|||
2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 |
|||
3750 9675 7500 9675 7500 11700 3750 11700 3750 9675 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 |
|||
2 0 1.00 120.00 180.00 |
|||
10500 8175 10500 9900 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 |
|||
2 0 1.00 120.00 180.00 |
|||
9825 9900 7875 8925 |
|||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 |
|||
3900 6000 7650 6000 7650 8850 3900 8850 3900 6000 |
|||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 |
|||
3450 5775 7875 5775 7875 9300 3450 9300 3450 5775 |
|||
4 1 0 50 -1 4 14 0.0000 0 225 975 4800 6600 key seed\001 |
|||
4 1 0 50 -1 4 10 0.0000 0 120 315 5700 6375 KDF\001 |
|||
4 1 0 50 -1 4 14 0.0000 0 180 1170 6750 7725 Attestation\001 |
|||
4 1 0 50 -1 4 14 0.0000 0 225 1275 6750 8025 Identity Key\001 |
|||
4 0 0 50 -1 4 14 0.0000 0 180 510 3975 8775 TPM\001 |
|||
4 1 0 50 -1 4 14 0.0000 0 180 390 10500 10200 PIA\001 |
|||
4 1 0 50 -1 4 14 0.0000 0 240 1515 10500 10500 (DAA Verifier)\001 |
|||
4 0 0 50 -1 4 14 0.0000 0 240 2220 3825 11625 Attestation Message\001 |
|||
4 1 0 50 -1 4 14 0.0000 0 135 1110 5850 10575 + nonce +\001 |
|||
4 1 0 50 -1 4 10 0.0000 0 150 900 6900 10125 Integrity Log\001 |
|||
4 0 0 50 -1 4 12 0.0000 0 210 1260 10575 9075 get Issuer PK\001 |
|||
4 0 0 50 -1 4 14 0.0000 0 180 1845 3525 9225 Biometric Sensor\001 |
|||
4 1 0 50 -1 4 14 0.0000 0 180 135 8700 9675 2\001 |
|||
4 1 0 50 -1 4 14 0.0000 0 180 135 6525 8625 3\001 |
|||
4 1 0 50 -1 4 14 0.0000 0 180 135 8400 10800 4\001 |
|||
4 0 0 50 -1 4 12 0.0000 0 210 1260 8625 9225 attest(nonce)\001 |
|||
4 0 0 50 -1 4 12 0.0000 0 210 390 6825 8625 sign\001 |
|||
4 0 0 50 -1 4 12 0.0000 0 210 465 8175 10350 reply\001 |
|||
4 1 0 50 -1 4 14 0.0000 0 180 135 10500 11025 5\001 |
|||
4 0 0 50 -1 4 12 0.0000 0 210 510 10725 11025 verify\001 |
|||
Binary file not shown.
@ -0,0 +1,107 @@ |
|||
#FIG 3.2 Produced by xfig version 3.2.7 |
|||
Landscape |
|||
Center |
|||
Inches |
|||
Letter |
|||
100.00 |
|||
Single |
|||
-2 |
|||
1200 2 |
|||
6 6000 6150 7500 6900 |
|||
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5 |
|||
7500 6900 7500 6150 6000 6150 6000 6900 7500 6900 |
|||
4 1 0 50 -1 4 14 0.0000 0 180 1455 6750 6450 Endorsement\001 |
|||
4 1 0 50 -1 4 14 0.0000 0 225 420 6750 6750 Key\001 |
|||
-6 |
|||
6 450 6150 1950 6900 |
|||
6 450 6225 1950 6750 |
|||
4 1 0 50 -1 4 14 0.0000 0 180 1425 1200 6450 Manufacturer\001 |
|||
4 1 0 50 -1 4 14 0.0000 0 180 345 1200 6750 CA\001 |
|||
-6 |
|||
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5 |
|||
1950 6900 1950 6150 450 6150 450 6900 1950 6900 |
|||
-6 |
|||
6 2625 6075 3225 6900 |
|||
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 3075 6225 106 106 3150 6150 3000 6300 |
|||
1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 3075 6225 75 75 3075 6225 3075 6150 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 6 |
|||
3225 6075 3225 6900 2625 6900 2625 6225 2775 6075 3225 6075 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 |
|||
2625 6225 2775 6225 2775 6075 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 |
|||
3150 6300 3150 6450 3075 6375 3000 6450 3000 6300 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
2775 6525 3075 6525 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
2775 6600 3075 6600 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
2775 6675 3075 6675 |
|||
-6 |
|||
6 9750 7425 11250 8175 |
|||
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5 |
|||
11250 8175 11250 7425 9750 7425 9750 8175 11250 8175 |
|||
4 1 0 50 -1 4 14 0.0000 0 180 510 10500 7725 DAA\001 |
|||
4 1 0 50 -1 4 14 0.0000 0 180 645 10500 8025 Issuer\001 |
|||
-6 |
|||
6 8475 7350 9075 8175 |
|||
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 8925 7500 106 106 9000 7425 8850 7575 |
|||
1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 8925 7500 75 75 8925 7500 8925 7425 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 6 |
|||
9075 7350 9075 8175 8475 8175 8475 7500 8625 7350 9075 7350 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 |
|||
8475 7500 8625 7500 8625 7350 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 |
|||
9000 7575 9000 7725 8925 7650 8850 7725 8850 7575 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
8625 7800 8925 7800 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
8625 7875 8925 7875 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
8625 7950 8925 7950 |
|||
-6 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 |
|||
2 0 1.00 120.00 180.00 |
|||
3225 6525 4200 6525 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 |
|||
2 0 1.00 120.00 180.00 |
|||
5400 6525 6000 6525 |
|||
2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 |
|||
4200 6375 5400 6375 5400 6675 4200 6675 4200 6375 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 |
|||
2 0 1.00 120.00 180.00 |
|||
6750 6900 6750 7425 |
|||
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5 |
|||
7500 8175 7500 7425 6000 7425 6000 8175 7500 8175 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 |
|||
2 0 1.00 120.00 180.00 |
|||
8475 7800 7500 7800 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 |
|||
2 0 1.00 120.00 180.00 |
|||
1950 6525 2625 6525 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 |
|||
2 0 1.00 120.00 180.00 |
|||
9750 7800 9075 7800 |
|||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 |
|||
3900 6000 7800 6000 7800 8850 3900 8850 3900 6000 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
4125 7425 5400 7425 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
4125 7575 5400 7575 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
4125 7725 5400 7725 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
4125 7875 5400 7875 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
4125 8025 5400 8025 |
|||
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 |
|||
4125 8175 5400 8175 |
|||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 |
|||
4125 7275 5400 7275 5400 8325 4125 8325 4125 7275 |
|||
4 1 0 50 -1 4 14 0.0000 0 225 975 4800 6600 key seed\001 |
|||
4 1 0 50 -1 4 10 0.0000 0 120 315 5700 6375 KDF\001 |
|||
4 1 0 50 -1 4 14 0.0000 0 180 1170 6750 7725 Attestation\001 |
|||
4 1 0 50 -1 4 14 0.0000 0 225 1275 6750 8025 Identity Key\001 |
|||
4 1 0 50 -1 4 10 0.0000 0 120 690 8775 8400 DAA Cert\001 |
|||
4 1 0 50 -1 4 10 0.0000 0 120 1275 2925 7125 Manufacturer Cert\001 |
|||
4 0 0 50 -1 4 14 0.0000 0 180 510 3975 8775 TPM\001 |
|||
4 0 0 50 -1 4 12 0.0000 0 165 540 4125 7200 PCRs\001 |
|||
Binary file not shown.
@ -0,0 +1,94 @@ |
|||
\chapter{Introduction} |
|||
We all live in a world full of digital systems. |
|||
They appear as PCs, notebooks, cellular phones or embedded devices. |
|||
Especially the footprint of embedded computers became so small that they can be used in almost all elctrical devices. |
|||
This product category form the so called \emph{smart} devices. |
|||
|
|||
With all these new devices a lot of societal problems could be solved in the past few decades. |
|||
Many of them automate services to the public like managing the bank account, public transportation or health services. |
|||
There is an endless list of services that can be done by a computer. |
|||
|
|||
The downside of all these digital services is that using these services generate a lot of data. |
|||
Besides of the intended exchange of information, many of the services try to extract metadata as well. |
|||
Which IP is connected? |
|||
What kind of device is that? |
|||
Is the software up to date? |
|||
Was this device here in the past? |
|||
Which other sites did the user browse? |
|||
This is an endless list of questions which can be answered with a set of metadata. |
|||
And all this data is collected when users browse the Internet. |
|||
At the end the user may not be charged financially but one pay with this metadata. |
|||
The customer becomes the product. |
|||
|
|||
However when a project is financed by the public, it should be possible to show users that there is a difference in the usage. |
|||
It should be possible to prove that an application or a computer system is honest to the user. |
|||
People should be convinced of this honesty and build trust in using this kind of software. |
|||
|
|||
%TODO find the bridge to DigiDow |
|||
|
|||
|
|||
\section{introduction in project digidow} |
|||
The Project \emph{Digital Shadow} is under ongoing developüment at the Institute of Networks and Security and creates a scalable system for authentication. |
|||
Key feature is privacy by design and a provable system to create trust to the end user. |
|||
|
|||
At this early stage the interfaces and interaction points are not fully defined. |
|||
|
|||
This is a brief description of the process of authentication: |
|||
%TODO paste image here and describe it |
|||
|
|||
\section{Biometric Sensor use case in DigiDow} |
|||
derive the use case of the Biometric sensor out of the above model. |
|||
%TODO description of BS in DigiDow |
|||
|
|||
\section{Definitions and Requirements} |
|||
\begin{itemize} |
|||
\item privacy |
|||
\item integrity |
|||
\item trust |
|||
\item security |
|||
\item Usage Model of Biometric Sensor |
|||
\end{itemize} |
|||
|
|||
This thesis will describe a system, which is part of the Digital Shadow network. |
|||
Therefore it has to meet the common principles in information security, namely: |
|||
\begin{itemize} |
|||
\item \emph{Availability}: |
|||
\item \emph{Integrity}: ISO 27000 (Data Integrity) |
|||
\item \emph{Confidentiality}: ISO 27000 |
|||
\end{itemize} |
|||
|
|||
Upon AIC it should be possible for users to prove honesty of the system. |
|||
This is what \emph{trust} defines in information security |
|||
|
|||
\subsection{Requirements} |
|||
\begin{itemize} |
|||
\item given a set of software, this system should provide information that exaclty this version of software is running on the system. (Integrity) |
|||
\item The system must furthermore show that it is a member of valid biometric sensors (Attestation) |
|||
\item All the given information should be anonymized. It should not be possible to gain any other information about the system (Anonymity) |
|||
\item It should be ensured that no sensitive data is stored at the biometric sensor |
|||
\end{itemize} |
|||
Scope of this thesis is on implementing the system from from hardware to application layer. |
|||
Is is not supposed to think about the network communication. |
|||
|
|||
\section{Description of structure} |
|||
\begin{enumerate} |
|||
\item What exists out there? |
|||
\item What is the theoretical solution |
|||
\item What about the implementations used - what is the limitation of the used tools? |
|||
\item How far are we? what has to be considered next? |
|||
\end{enumerate} |
|||
|
|||
\chapter{Related Work} |
|||
\begin{itemize} |
|||
\item What exists in the field? |
|||
\item Keylime |
|||
\item Xaptum ECDAA |
|||
\item FIDO 2 ECDAA |
|||
\item Strongswan Attestation |
|||
\item Linux IMA |
|||
\item Secure Boot |
|||
\item Intel TXT |
|||
\item Trusted Execution Environment (TEE) |
|||
\item nanovm (\url{nanovms.com}) |
|||
|
|||
\end{itemize} |
|||
@ -0,0 +1,63 @@ |
|||
\chapter{Concept} |
|||
The theoretical tool that should be formed to one whole system implementation in this thesis. |
|||
\section{Definition of the Biometric Sensor} |
|||
What part fulfills the BS and what needs to be done. |
|||
Record Sensor data, Network Discovery, send sensor data via trusted channel to PIA |
|||
\subsection{Definitions} |
|||
\begin{itemize} |
|||
\item Sensitive Data |
|||
\item Privacy |
|||
\item Metadata |
|||
\item Attribute |
|||
\end{itemize} |
|||
|
|||
\subsection{What has the BS to do?} |
|||
\begin{enumerate} |
|||
\item Listen for a Trigger to start the Authentication Process |
|||
\item Collect Sensor Data (Picture, Fingerprint) and calculate a biometric representation |
|||
\item Start Network Discovery and find the PIA of this person |
|||
\item Create a trusted and secure channel and transmit the attributes for verification |
|||
\item Restore the state of the system as it was before this transaction |
|||
\end{enumerate} |
|||
|
|||
\section{Attack Vectors and Threat Model} |
|||
\subsection{The Threat Model} |
|||
\begin{itemize} |
|||
\item Definition of sensitive data / privacy / metadata |
|||
\item This version of BS is not owned by the user, there is no personal data in the System |
|||
\item Rogue Personal Identity Agent (PIA) |
|||
\item Metadata Extraction |
|||
\item Attribute extraction |
|||
\item Sensor Data Modification/manipulation |
|||
\item Wiretap between Sensor and System (USB or network) |
|||
\item Physical Manipulation of the BS-System |
|||
\item Network - Retransmission of sensor data of a rogue BS |
|||
\item Network - Blocking Data transmission of a rogue BS |
|||
\item Rogue BS Sensor Data aggregation |
|||
\item Rogue BS Sensor data modifiacation before transmission |
|||
\end{itemize} |
|||
\section{Trust and Security} |
|||
Differentiation between trust and security --- and the problem that not everyone is using that right. |
|||
\section{Systems of Trust} |
|||
All trust systems are built on the standards of Trusted Computing Group. |
|||
\subsection{Secure Boot, TXT, \ldots} |
|||
Trusted Boot is not the same as Secure Boot. Explain the difference |
|||
\subsection{TPM1.2} |
|||
Initial Version of the Cryptocoprocessor, successfully spread into many systems, but hardly any integration in Trust/security Software |
|||
|
|||
\subsection{TPM2.0} |
|||
Current Version (published 2014) with some improvements. |
|||
\begin{itemize} |
|||
\item Hierarchies |
|||
\item Endorsement Key |
|||
\item Attestation Identity Key |
|||
\item Key management |
|||
\end{itemize} |
|||
|
|||
\section{Integrity Measurements} |
|||
Extend the Chain of Trust beyond the boot process. |
|||
The Kernel can measure many different types of Resources. |
|||
What is a useful set of measurements |
|||
|
|||
\section{Verify Trust (DA and DAA)} |
|||
Use the TPM to proof trustwothiness to other instances like the PIA |
|||
@ -0,0 +1,26 @@ |
|||
\chapter{Implementation} |
|||
\section{Trusted Boot} |
|||
\begin{itemize} |
|||
\item Trusted Boot with GRUB 2.04: TPM support available; PCR mapping |
|||
\item Secure Boot with Unified Kernel; another PCR mapping |
|||
\item Benefits and Drawbacks of both variants |
|||
\end{itemize} |
|||
|
|||
Limitations due to bad implementation on BIOS-Level, no Certificate Verification Infrastructure available for TPMs? Needs to be proven for correctness. |
|||
|
|||
\section{Integrity Measurement Architecture} |
|||
Available on Ubuntu, RedHat and optionally Gentoo. |
|||
The Kernel has the correct compile options set. |
|||
|
|||
\subsection{Handling external hardware} |
|||
How can camera and fingerprint sensor be trusted? |
|||
What is the limitation of this solution? |
|||
|
|||
\section{Interaction with TPM2} |
|||
tpm2-tools 4.x are usable to interact with the TPM from the command line. |
|||
Available on all major releases after summer 2019. |
|||
Fallback is using the TPM2 ESAPI or SAPI, which is available on almost all Linux distributions. |
|||
|
|||
\section{Direct Anonymous Attestation} |
|||
DAA Project from Xaptum: Working DAA handshakt and possible TPM integration. |
|||
Requires an Attestation Key which is secured with a password policy. |
|||
@ -0,0 +1,32 @@ |
|||
\chapter{Conclusion and Outlook} |
|||
\section{Testing} |
|||
These are the test results |
|||
|
|||
\section{Limitations} |
|||
Still hard to set up a system like that. |
|||
Documentation is available, but hardly any implementations for DAA and IMA. |
|||
|
|||
\section{Outlook} |
|||
Hardening of the system beyond IMA useful. |
|||
Minimization also useful, because the logging gets shorter. |
|||
|
|||
|
|||
\autoref{tab:example} is an example of a table, in which the numbers are aligned at the comma, every second line is colored and the commands \texttt{\textbackslash toprule}, \texttt{\textbackslash midrule} and \texttt{\textbackslash bottomrule} are used \cite{arthur15}. |
|||
|
|||
\begin{table}[ht] |
|||
\centering |
|||
\caption{Example} \label{tab:example} |
|||
\rowcolors{2}{lightgray}{white} |
|||
\begin{tabular}{SSS} |
|||
\toprule |
|||
\multicolumn{1}{c}{Länge $l$ in m} & \multicolumn{1}{c}{Breite $b$ in m} & \multicolumn{1}{c}{Höhe $h$ in m} \\ |
|||
\midrule |
|||
12.454 & 1.24 & 335.3 \\ |
|||
543.22 & 32.123 & 33.21 \\ |
|||
353.0 & 33.0 & 33.0 \\ |
|||
23.3 & 333.2 & 32.4 \\ |
|||
\bottomrule |
|||
\end{tabular} |
|||
\end{table} |
|||
|
|||
|
|||
@ -0,0 +1,31 @@ |
|||
\chapter{Installation instructions} |
|||
\section{Installing IMA on Arch} |
|||
\url{https://wiki.archlinux.org/index.php/Kernel/Arch_Build_System} in combination with \url{https://wiki.gentoo.org/wiki/Integrity_Measurement_Architecture}: |
|||
|
|||
\begin{lstlisting} |
|||
sudo pacman -S asp base-devel |
|||
cd ~ |
|||
mkdir build && cd build |
|||
asp update linux |
|||
asp export linux #Linux repo exported to this directory |
|||
\end{lstlisting} |
|||
Change \emph{pkgbase} in \texttt{linux/PKGBUILD} to custom name, e.g. linux-ima. |
|||
Check \texttt{linux/config} for the following settings: |
|||
\begin{lstlisting} |
|||
CONFIG_INTEGRITY=y |
|||
CONFIG_IMA=y |
|||
CONFIG_IMA_MEASURE_PCR_IDX=10 |
|||
CONFIG_IMA_LSM_RULES=y |
|||
CONFIG_INTEGRITY_SIGNATURE=y |
|||
CONFIG_IMA_APPRAISE=y |
|||
IMA_APPRAISE_BOOTPARAM=y |
|||
\end{lstlisting} |
|||
For optimizing file access, add to every fstab-entry \emph{iversion}. |
|||
It prevents creating a hash of the file at every access. |
|||
Instead the hash will only be created when writing the file. |
|||
|
|||
\texttt{updpkgsums} generates new checksums for the modified files. |
|||
|
|||
\texttt{makepkg -s} then makes the new kernel |
|||
|
|||
S\texttt{S}l\texttt{l}M\texttt{M}x\texttt{x}i\texttt{i} \textsf{Hallowelt} |
|||
Binary file not shown.
@ -1,46 +1,4 @@ |
|||
\chapter{Introduction} |
|||
All about motivation of doing this masterthesis |
|||
\begin{itemize} |
|||
\item introduction in project digidow |
|||
\item privacy |
|||
\item integrity |
|||
\end{itemize} |
|||
\chapter{Concept} |
|||
The theoretical tool that should be formed to one whole system implementation in this thesis |
|||
\section{Attack Vectors and Threat Model} |
|||
\section{Trust and Security} |
|||
\section{Systems of Trust} |
|||
\subsection{Secure Boot, TXT, \ldots} |
|||
\subsection{TPM1.2} |
|||
\subsection{TPM2.0} |
|||
\section{Verify Trust (DA and DAA)} |
|||
\chapter{Handling Biometric Data} |
|||
\section{Extend the Trust to External Hardware} |
|||
\section{Mitigation of Attack Vectors} |
|||
\chapter{Implemtentation and Limitations} |
|||
\section{Trusted Boot} |
|||
\section{Linux Kernel Integrity Tools} |
|||
|
|||
\chapter{Conclusion and Outlook} |
|||
It is yet very hard to implement a system of this kind. |
|||
The tools are available, but the documentation is not. |
|||
I did at least figure out what a prototype can look like. |
|||
\autoref{tab:example} is an example of a table, in which the numbers are aligned at the comma, every second line is colored and the commands \texttt{\textbackslash toprule}, \texttt{\textbackslash midrule} and \texttt{\textbackslash bottomrule} are used \cite{arthur15}. |
|||
|
|||
\begin{table}[ht] |
|||
\centering |
|||
\caption{Example} \label{tab:example} |
|||
\rowcolors{2}{lightgray}{white} |
|||
\begin{tabular}{SSS} |
|||
\toprule |
|||
\multicolumn{1}{c}{Länge $l$ in m} & \multicolumn{1}{c}{Breite $b$ in m} & \multicolumn{1}{c}{Höhe $h$ in m} \\ |
|||
\midrule |
|||
12.454 & 1.24 & 335.3 \\ |
|||
543.22 & 32.123 & 33.21 \\ |
|||
353.0 & 33.0 & 33.0 \\ |
|||
23.3 & 333.2 & 32.4 \\ |
|||
\bottomrule |
|||
\end{tabular} |
|||
\end{table} |
|||
|
|||
|
|||
|
|||
Loading…
Reference in new issue