\begin{frame}
\frametitle{Disclaimer}
\begin{itemize}
- \item{unvollständiger und interaktiver Vortrag}
- \item{Ziel: Idee davon wie der TPM in Zusammenhang mit Festplattenverschlüsselung uter Linux genutzt werden kann und welche Fallstricke es zu beachten gibt.}
+ \item{interaktiver Vortrag}
\item{nur TPM 2.0}
- \item{beschränkt sich auf TPM im Zusammenhang mit LUKS}
- \item{beschreibt den praktischen Einsatz des TPM}
+ \item{beschränkt sich auf Zusammenhang mit LUKS}
+ \item{beschreibt den praktischen Einsatz}
\item{alle Beispiel Commands brauchen root-Rechte}
\item{Annahme über Zuhörende Menschen:}
\begin{itemize}
\end{description}
\end{itemize}
\note<1>[item]{Trusted Computing Group ISO/IEC 11889 }
- \note<1>[item]{Entwickler fluchen}
\note<1>[item]{nvram Größe bis 112kB}
\note<1>[item]{kein Extrahieren von Keys aus dem TPM (theoretisch)}
+ \note<2>[item]{Entwickler fluchen}
\note<2>[item]{4 APIs $=>$ hohe Komplexität}
\note<2>[item]{sealing = versiegeln}
\end{frame}
\begin{itemize}
\item{Festplatte kann mit dem TPM automatisch entschlüsselt werden}
\item{TPM kann Passphrase für LUKS ersetzen}
-\item{Entschlüsselung kann gesperrt werden}
\item{Kernel, initrd und der Bootprozess können auf Änderungen überwacht werden}
+\item{Entschlüsselung kann gesperrt werden}
\item{der TPM kann nun auch unter Linux genutzt werden, weitere Features sind in aktiver Entwicklung}
\end{itemize}
\end{frame}
\note[item]{Verhinderung DA $->$ \texttt{da-lockout} sperrt Zugriff auf TPM}
\begin{center}
\begin{minipage}{0.5\textwidth}
-\begin{minted}[fontsize=\small,escapeinside=||,highlightlines={8}]{console}
+\begin{minted}[fontsize=\small,escapeinside=||,highlightlines={9}]{console}
tpm2 getcap properties-variables
TPM2_PT_PERMANENT:
\includegraphics[height=0.8\paperheight]{TCG-PCRs.png}
\end{frame}
-\begin{frame}
+
+\begin{frame}<beamer>
+ \frametitle{PCR Slots und ihre Bedeutung}
+ \scriptsize{%
+\begin{tabular}{c||c|p{1.5cm}|p{5.5cm}|p{3cm}}
+ PCR & manpage-name & Used by & Measured Objects & changed by \\
+\hline\hline \rowcolor{gold}
+ 0 & platform-code & UEFI-boot & SRTM, BIOS, Host Platform Extensions, Embedded Option ROMs and PI Drivers & firmware updates\\
+\hline \rowcolor{gold}
+ 7 & secure-boot-policy & UEFI-boot & SecureBoot state & Secure-Boot, -Certificates updates \\
+\hline \rowcolor{blau}
+ 8 & grub & UEFI-boot/ Bootloader & Commands and kernel command line & Kernel commandline \\
+\hline \rowcolor{blau}
+ 9 & kernel-initrd & grub/Kernel & All files in initrd (including kernel image) & changes or updates initrd-file \\
+\hline
+ 11 & kernel-boot & systemd-stub/ systemd-pcrphase & All components of unified kernel images (UKIs), Boot phase strings & UKI image changes and boot-process \\
+\hline
+ 16 & debug & & & \\
+\hline
+ 23 & application-support & & & \\
+\hline
+\end{tabular}}
+\note[item]{die ersten 7 PCRs betreffen UEFI}
+\note[item]{8 \& 9 betreffen Grub}
+\note[item]{$>$ 9 betreffen Linux}
+\note[item]{keinen PCR empfehlen}
+\note[item]{manpage nicht ausreichend, um Anwendung und Änderung zu verstehen}
+\end{frame}
+
+
+\begin{frame}<handout>
\frametitle{PCR Slots und ihre Bedeutung I}
\scriptsize{%
\begin{tabular}{c||c|p{1.5cm}|p{5.5cm}|p{3cm}}
\end{tabular}}
\note[item]{die ersten 7 PCRs betreffen UEFI}
\note[item]{8 \& 9 betreffen Grub}
-\note[item]{ist für später zum Nachschlagen}
\end{frame}
-\begin{frame}
+\begin{frame}<handout>
\frametitle{PCR Slots und ihre Bedeutung II}
\scriptsize{%
\begin{tabular}{c||p{1.5cm}|p{1.8cm}|p{6cm}|p{3cm}}
\note[item]{es können auch selbst PCR-Werte festgelegt werden}
\begin{listing}
\begin{minted}{bash}
-systemd-cryptenroll --tpm2-device=auto --tpm2-with-pin=yes --wipe-slot=2 --unlock-tpm2-device=auto /dev/vda3
+systemd-cryptenroll --tpm2-device=auto --tpm2-with-pin=yes --tpm2-pcrs='' --wipe-slot=2 --unlock-tpm2-device=auto /dev/vda3
\end{minted}
- \caption{keine PCRs verwenden und stattdessen eine TPM-Pin:}
+ \caption{keine PCRs verwenden und stattdessen eine TPM-PIN}
\end{listing}
\vspace{-0.5cm}
\begin{listing}
\begin{minted}{bash}
systemd-cryptenroll --recovery-key --unlock-tpm2-device=auto /dev/vda3
\end{minted}
-\caption{zusätzlichen Recovery-Key:}
+\caption{zusätzlichen Recovery-Key}
\end{listing}
\vspace{-0.5cm}
\begin{listing}
\begin{minted}{bash}
systemd-cryptenroll --password --unlock-tpm2-device=auto /dev/vda3
\end{minted}
-\caption{zusätzlich Passwörter zum Entschlüsseln verwenden:}
+\caption{zusätzlich Passwörter zum Entschlüsseln verwenden}
\end{listing}
\end{frame}
\frametitle{Nachteile des TPM in Bezug auf \texttt{systemd-cryptenroll}}
\begin{itemize}
\item{automatischer Wechsel der Entschlüsselungs-Option von PIN zu Passphrase nicht sichtbar}
-\item{keine Update der PCR Measurements (Ausnahme Archlinux und UKI)}
+\item{keine Updates der PCR Measurements (Ausnahme Archlinux und UKI)}
\item{systemd-cryptenroll mit TPM ausgelegt für Zusammenspiel mit UKI}
\item{mehrere Versuche die TPM-PIN einzugeben, nur mit \texttt{tpm2-measure-pcr=yes} in \texttt{crypttab}}
\item{Debugging:}
\huge{Vielen Dank\\
fürs Zuhören!\\
Gibts noch Fragen?\\
- }\vspace{1cm}
+ }\vspace{0.5cm}
\small{Kontaktmöglichkeiten:\\
email: ratten@buecherratten.in-berlin.de\\
jabber: buecherratten@jabber.in-berlin.de\\