.\" -*- coding: UTF-8 -*- '\" t .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH SYSTEMD\-MEASURE 1 "" "systemd 252" systemd\-measure .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH BEZEICHNUNG systemd\-measure \- Erwartete TPM2\-PCR\-Werte für gestartete vereinigte Kernelabbilder vorberechnen und signieren .SH ÜBERSICHT .HP \w'\fB/lib/systemd/systemd\-measure\ \fR\fB[OPTIONS...]\fR\ 'u \fB/lib/systemd/systemd\-measure \fP\fB[OPTIONEN…]\fP .SH BESCHREIBUNG .PP Hinweis: Dieser Befehl ist derzeit experimentell\&. Obwohl er wahrscheinlich eine reguläre Komponente von Systemd wird, könnte er sich im Verhalten und der Schnittstelle noch verändern\&. .PP \fBsystemd\-measure\fP ist ein Werkzeug, das zum Vorabberechnen und Signieren der erwarteten TPM2\-PCR\-11\-Werte verwandt werden kann, der beobachtet werden kann, wenn ein vereinigtes Linux\-Kernel\-Abbild, das auf \fBsystemd\-stub\fP(7) basiert, gestartet wird\&. Es akzeptiert Pfade zu der ELF\-Kernelabbilddatei, der Initrd\-Abbilddatei, der Devicetree\-Datei, der Kernelbefehlszeile, der \fBos\-release\fP(5)\-Datei, der Systemstart\-Bild\-Datei und der Datei mit dem öffentlichen TPM2\-PCR\-PEM\-Schlüssel, die zusammen das vereinigte Kernelabbild darstellen, und bestimmt die PCR\-Werte, die nach dem Systemstart des Abbildes erwartet werden\&. Die Berechnung beginnt mit dem mit Null initialisierten PCR 11 und wird kompatibel zur Vorgehensweise von Systemd\-stub beim Systemstart durchgeführt\&. Das Ergebnis kann optional kryptographisch signiert werden, um TPM2\-Richtlinien zu erlauben, die nur entsperrt werden können, falls eine bestimmte Gruppe von Kerneln gestartet wird, für die eine solche PCR\-Signatur bereitgestellt werden kann\&. .SH BEFEHLE .PP Die folgenden Befehle werden verstanden: .PP \fBstatus\fP .RS 4 Dies ist der Vorgabebefehl, falls keiner angegeben ist\&. Er fragt die TPM2 PCR\-Werte 11+12+13 des Systems ab und zeigt sie an\&. Die Daten werden in einem ähnlichen Format wie beim nachfolgenden Befehl \fBcalculate\fP geschrieben und können dazu verwandt werden, schnell die Erwartungen mit der Realität abzugleichen\&. .RE .PP \fBcalculate\fP .RS 4 Berechnet die erwarteten Werte, die in PCR\-Register 11 nach dem Hochfahren des vereinigten Kernelabbildes, das aus den mit \fB\-\-linux=\fP, \fB\-\-osrel=\fP, \fB\-\-cmdline=\fP, \fB\-\-initrd=\fP, \fB\-\-splash=\fP, \fB\-\-dtb=\fP, \fB\-\-pcrpkey=\fP angegeben Komponenten bestehen wird (siehe nachfolgend), gesehen werden\&. Nur \fB\-\-linux=\fP ist verpflichtend\&. (Geben Sie alternativ \fB\-\-current\fP an, um die aktuellen Werte aus PCR\-Register 11 zu verwenden\&.) .RE .PP \fBsign\fP .RS 4 Wie bei dem Befehl \fBcalculate\fP wird der erwartete Wert, der nach dem Starten eines vereinigten Kernelabbildes in TPM2\-PCR\-Register 11 gesehene Wert, vorberechnet\&. Dann wird der entstandene Wert kryptographisch mit dem asymetrischen Schlüsselpaar (RSA), das über \fB\-\-private\-key=\fP und \fB\-\-public\-key=\fP konfiguriert ist, signiert\&. Dies schreibt ein JSON\-Objekt in die Standardausgabe, das die Signaturen für alle angegebenen PCR\-Bänke enthält (siehe nachfolgend \fB\-\-pcr\-bank=\fP)\&. Dies kann zum Entsperren verschlüsselter Zugangsberechtigungen (siehe \fBsystemd\-creds\fP(1)) oder LUKS\-Datenträger (siehe \fBsystemd\-cryptsetup@.service\fP(8)) verwandt werden\&. Dies ermöglicht das Binden von Geheimnissen an eine Gruppe von Kerneln, für die solche PCR\-11\-Signaturen bereitgestellt werden können\&. .sp Beachten Sie, dass ein TPM2\-Gerät verfügbar sein muss, damit das Signieren stattfinden kann, obwohl das Ergebnis nicht mit einem TPM2\-Gerät oder seinen Zustand verknüpft ist\&. .RE .SH OPTIONEN .PP Die folgenden Optionen werden verstanden: .PP \fB\-\-linux=\fP\fIPFAD\fP, \fB\-\-osrel=\fP\fIPFAD\fP, \fB\-\-cmdline=\fP\fIPFAD\fP, \fB\-\-initrd=\fP\fIPFAD\fP, \fB\-\-splash=\fP\fIPFAD\fP, \fB\-\-dtb=\fP\fIPFAD\fP, \fB\-\-pcrpkey=\fP\fIPFAD\fP .RS 4 Wird das mit dem Unterbefehl \fBcalculate\fP oder \fBsign\fP verwandt, konfiguriert es die Dateien, aus der die Komponenten des vereinigten Kernelabbildes gelesen werden\&. Jede Option entspricht dem gleich benannten Abschnitt in der PE\-Datei des vereinigten Kernels\&. Der Schalter \fB\-\-linux=\fP erwartet den Pfad zu der ELF\-Kerneldatei, die der vereinigte PE\-Kernel umschließen wird\&. Alle Schalter außer \fB\-\-linux=\fP sind optional\&. Jede Option darf höchstens einmal verwandt werden\&. .RE .PP \fB\-\-current\fP .RS 4 Wird das mit dem Unterbefehl \fBcalculate\fP oder \fBsign\fP verwandt, akzeptiert es die derzeit im System wirksamen PCR\-11\-Werte (die typischerweise die Hashes des aktuell gestarteten Kernels widerspiegeln sollten)\&. Dies kann anstelle von \fB\-\-linux=\fP und den anderen, oben aufgeführten Schaltern verwandt werden\&. .RE .PP \fB\-\-bank=HASH\fP .RS 4 Steuert die PCR\-Bänke, für die PCR\-Werte vorabberechnet werden sollen \(en im Falle des Aufrufs von \fBcalculate\fP oder \fBsign\fP \(en oder die Bänke, die in der Ausgabe \fBstatus\fP angezeigt werden sollen\&. Kann mehrfach verwandt werden, um mehrere Bänke anzugeben\&. Falls nicht angegeben, ist die Vorgabe die vier Bänke »sha1«, »sha256«, »sha384«, »sha512«\&. .RE .PP \fB\-\-private\-key=\fP\fIPFAD\fP, \fB\-\-public\-key=\fP\fIPFAD\fP .RS 4 Diese Schalter akzeptieren Pfade auf PEM\-kodierte RSA\-Schlüsseldateien, zur Verwendung mit dem Befehl \fBsign\fP\&. .sp Beachten Sie die Unterschiede zwischen den Schaltern \fB\-\-pcrpkey=\fP und \fB\-\-public\-key=\fP\&. Ersterer wählt die Daten, die im PE\-Abschnitt »\&.pcrpkey« des vereinigten Kernelabbildes aufgenommen werden sollen, während letzterer den öffentlichen Schlüssel des Schlüsselpaars aufnimmt, der zum Signieren des entstehenden PCR\-11\-Wertes verwandt wird\&. Ersterer ist der Schlüssel, den das gestartete System wahrscheinlich zum Sperren der Verschlüsselung von Platten und Zugangsberechtigungen verwenden wird, während letzterer der Schlüssel ist, der zum erneuten Entsperren solcher Ressourcen verwandt wird\&. Daher sollte typischerweise in beiden Fällen der gleiche PEM\-Schlüssel bereitgestellt werden\&. .sp Falls der \fB\-\-public\-key=\fP nicht, aber \fB\-\-private\-key=\fP angegeben ist, wird der öffentliche Schlüssel automatisch vom privaten Schlüssel abgeleitet\&. .RE .PP \fB\-\-tpm2\-device=\fP\fIPFAD\fP .RS 4 Steuert das zu verwendende TPM2\-Gerät\&. Erwartet einen Geräteknotenpfad, der sich auf einen TPM2\-Chip bezieht (z\&.B\&. /dev/tpmrm0)\&. Alternativ kann der besondere Wert »auto« angegeben werden, um den Geräteknoten eines geeigneten TPM2\-Gerätes (von dem es genau einen geben darf) automatisch zu bestimmen\&. Der besondere Wert »list« kann verwandt werden, um alle geeigneten, derzeit ermittelten TPM2\-Geräte aufzuzählen\&. .RE .PP \fB\-\-phase=\fP\fIPHASE\fP .RS 4 Steuert, für welche Systemstartphasen der erwartete PCR\-11\-Wert berechnet werden soll\&. Dies akzeptiert eine Reihe von Zeichenketten, getrennt durch Doppelpunkte, die die »Pfade« zum Eintritt einer bestimmten Phase des Systemstartprozesses kodieren\&. Jede der angegebenen Zeichenketten wird durch systemd\-pcrphase\-initrd\&.service und \fBsystemd\-pcrphase.service\fP(8) in PCR 11 während verschiedener Meilensteine des Systemstartprozesses gemessen\&. Dieser Schalter kann mehrfach angegeben werden, um die PCR\-Werte für mehrere Systemstartphasen auf einmal zu berechnen\&. Falls nicht verwandt ist die Vorgabe »enter\-initrd«, »enter\-initrd:leave\-initrd«, »enter\-initrd:leave\-initrd:sysinit«, »enter\-initrd:leave\-initrd:sysinit:ready«, d\&.h\&. es werden die erwarteten PCR\-Werte für die Systemstartphase in die Initrd, während des frühen Systemstarts, während des späten Systemstarts und während der Systemlaufzeit berechnet, aber die Phasen vor der Initrd oder beim Herunterfahren ausgeschlossen\&. Diese Einstellung wird von \fBcalculate\fP und \fBsign\fP berücksichtigt\&. Bei der Verwendung mit letzterem ist sie besonders zur Erstellung von PCR\-Signaturen nützlich, die nur zum Entsperren von Ressourcen während bestimmter Teile des Systemstartprozesses verwandt werden können\&. .sp Weitere Details zu PCR\-Systemstartphasen finde Sie in \fBsystemd\-pcrphase.service\fP(8)\&. .RE .PP \fB\-\-json=\fP\fIMODUS\fP .RS 4 Zeigt die Ausgabe als JSON formatiert\&. Erwartet entweder »short« (für die kürzest mögliche Ausgabe ohne unnötigen Leerraum oder Zeilenumbrüche), »pretty« (für eine schönere Version der gleichen Ausgabe, mit Einzügen und Zeilenumbrüchen) oder »off« (um die standardmäßig aktivierte JSON\-Ausgabe auszuschalten)\&. .RE .PP \fB\-\-no\-pager\fP .RS 4 Leitet die Ausgabe nicht an ein Textanzeigeprogramm weiter\&. .RE .PP \fB\-h\fP, \fB\-\-help\fP .RS 4 Zeigt einen kurzen Hilfetext an und beendet das Programm\&. .RE .PP \fB\-\-version\fP .RS 4 Zeigt eine kurze Versionszeichenkette an und beendet das Programm\&. .RE .SH BEISPIELE .PP \fBBeispiel\ \&1.\ \&Ein vereinigtes Kernelabbild erstellen und den erwarteten TPM\-PCR\-11\-Wert berechnen\fP .sp .if n \{\ .RS 4 .\} .nf # objcopy \e \-\-add\-section \&.linux=vmlinux \-\-change\-section\-vma \&.linux=0x2000000 \e \-\-add\-section \&.osrel=os\-release\&.txt \-\-change\-section\-vma \&.osrel=0x20000 \e \-\-add\-section \&.cmdline=cmdline\&.txt \-\-change\-section\-vma \&.cmdline=0x30000 \e \-\-add\-section \&.initrd=initrd\&.cpio \-\-change\-section\-vma \&.initrd=0x3000000 \e \-\-add\-section \&.splash=splash\&.bmp \-\-change\-section\-vma \&.splash=0x100000 \e \-\-add\-section \&.dtb=devicetree\&.dtb \-\-change\-section\-vma \&.dtb=0x40000 \e /usr/lib/systemd/boot/efi/linuxx64\&.efi\&.stub \e foo\&.efi # systemd\-measure calculate \e \-\-linux=vmlinux \e \-\-osrel=os\-release\&.txt \e \-\-cmdline=cmdline\&.txt \e \-\-initrd=initrd\&.cpio \e \-\-splash=splash\&.bmp \e \-\-dtb=devicetree\&.dtb 11:sha1=d775a7b4482450ac77e03ee19bda90bd792d6ec7 11:sha256=bc6170f9ce28eb051ab465cd62be8cf63985276766cf9faf527ffefb66f45651 11:sha384=1cf67dff4757e61e5a73d2a21a6694d668629bbc3761747d493f7f49ad720be02fd07263e1f93061243aec599d1ee4b4 11:sha512=8e79acd3ddbbc8282e98091849c3530f996303c8ac8e87a3b2378b71c8b3a6e86d5c4f41ecea9e1517090c3e8ec0c714821032038f525f744960bcd082d937da .fi .if n \{\ .RE .\} .PP \fBBeispiel\ \&2.\ \&Ein asymetrisches Schlüsselpaar und ein vereinigtes Kernelabbild und eine TPM\-PCR\-11\-Signatur dafür erstellen und die Signatur und den öffentlichen Schlüssel in das Abbild einbetten\fP .sp .if n \{\ .RS 4 .\} .nf # openssl genpkey \-algorithm RSA \-pkeyopt rsa_keygen_bits:2048 \-out tpm2\-pcr\-private\&.pem # openssl rsa \-pubout \-in tpm2\-pcr\-private\&.pem \-out tpm2\-pcr\-public\&.pem # systemd\-measure sign \e \-\-linux=vmlinux \e \-\-osrel=os\-release\&.txt \e \-\-cmdline=cmdline\&.txt \e \-\-initrd=initrd\&.cpio \e \-\-splash=splash\&.bmp \e \-\-dtb=devicetree\&.dtb \e \-\-pcrpkey=tpm2\-pcr\-public\&.pem \e \-\-bank=sha1 \e \-\-bank=sha256 \e \-\-private\-key=tpm2\-pcr\-private\&.pem \e \-\-public\-key=tpm2\-pcr\-public\&.pem > tpm2\-pcr\-signature\&.json # objcopy \e \-\-add\-section \&.linux=vmlinux \-\-change\-section\-vma \&.linux=0x2000000 \e \-\-add\-section \&.osrel=os\-release\&.txt \-\-change\-section\-vma \&.osrel=0x20000 \e \-\-add\-section \&.cmdline=cmdline\&.txt \-\-change\-section\-vma \&.cmdline=0x30000 \e \-\-add\-section \&.initrd=initrd\&.cpio \-\-change\-section\-vma \&.initrd=0x3000000 \e \-\-add\-section \&.splash=splash\&.bmp \-\-change\-section\-vma \&.splash=0x100000 \e \-\-add\-section \&.dtb=devicetree\&.dtb \-\-change\-section\-vma \&.dtb=0x40000 \e \-\-add\-section \&.pcrsig=tpm2\-pcr\-signature\&.json \-\-change\-section\-vma \&.splash=0x80000 \e \-\-add\-section \&.pcrpkey=tpm2\-pcr\-public\&.pem \-\-change\-section\-vma \&.splash=0x90000 \e /usr/lib/systemd/boot/efi/linuxx64\&.efi\&.stub \e foo\&.efi .fi .if n \{\ .RE .\} .PP Später registrieren Sie die signierte PCR\-Richtlinie bei einem LUKS\-Datenträger: .sp .if n \{\ .RS 4 .\} .nf # systemd\-cryptenroll \-\-tpm2\-device=auto \-\-tpm2\-public\-key=tpm2\-pcr\-public\&.pem \-\-tpm2\-signature=tpm2\-pcr\-signature\&.json /dev/sda5 .fi .if n \{\ .RE .\} .PP Und dann entsperren Sie das Gerät mit der Signatur: .sp .if n \{\ .RS 4 .\} .nf # /lib/systemd/systemd\-cryptsetup attach meindatenträger /dev/sda5 \- tpm2\-device=auto,tpm2\-signature=/Pfad/zur/tpm2\-pcr\-Signatur\&.json .fi .if n \{\ .RE .\} .PP Beachten Sie, dass nach dem Systemstart des vereinigten Kernelabbildes foo\&.efi die Signatur und der öffentliche Schlüssel an Orten abgelegt werden, unter denen \fBsystemd\-cryptenroll\fP und \fBsystemd\-cryptsetup\fP danach sucht und daher diese Pfade tatsächlich nicht angegeben werden müssen\&. .SH EXIT\-STATUS .PP Bei Erfolg wird 0 zurückgegeben, anderenfalls ein Fehlercode ungleich Null\&. .SH "SIEHE AUCH" .PP \fBsystemd\fP(1), \fBsystemd\-stub\fP(7), \fBobjcopy\fP(1), \fBsystemd\-creds\fP(1), \fBsystemd\-cryptsetup@.service\fP(8), \fBsystemd\-pcrphase.service\fP(1) .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .