Zugriff auf Trusted Platform Module (TPM) ohne Rootberechtigung

Zugriff auf Trusted Platform Module (TPM) ohne Rootberechtigung

Ich arbeite am Trusted Platform Module (TPM)-Chip (sowohl TPM12 als auch TPM20). Derzeit führe ich einige Vorgänge am TPM aus, z. B. TPM-Eigentümerschaft übernehmen, TPM löschen, Schlüssel im TPM generieren usw. Für alle diese Vorgänge benötige ich jedoch eine Sudo-Berechtigung auf meinem Linux-Laptop.

Kann ich also alle oben genannten Vorgänge als normaler Benutzer ohne Root-Berechtigung ausführen? Wenn ja, wie greife ich ohne Root-Berechtigung auf TPM zu?

Antwort1

Diese Antwort gilt für TPM2 (für TPM1.2 dürfte das Prinzip ähnlich sein). Zunächst einmal: Ihr TPM ist über die folgenden Zeichengeräte zugänglich.

  • /dev/tpm0: direkter Zugriff auf TPM-Treiber
  • /dev/tpmrm0: Zugriff auf den TPM-Treiber über den im Kernel integrierten TPM-Ressourcenmanager (empfohlen)

Sie können die Lese-/Schreibberechtigungen dieser Dateien natürlich vorübergehend ändern. Was Sie jedoch tatsächlich tun möchten, ist, eine udevRegel zu erstellen. Das ist im Grunde eine Datei in /etc/udev/rules.d/. Als Referenz sehen Sie sich dieudev-Regeln bereitgestellt durch das TSS:

# tpm devices can only be accessed by the tss user but the tss
# group members can access tpmrm devices
KERNEL=="tpm[0-9]*", MODE="0660", OWNER="tss"
KERNEL=="tpmrm[0-9]*", MODE="0660", OWNER="tss", GROUP="tss"

Wie Sie sehen, gibt es eine Regel für den Benutzer tss. Dieser Benutzer ist für dieUserspace-Ressourcenmanager. Wenn Sie diesen Ressourcenmanager verwenden, müssen Sie nicht mehr selbst auf die Dateien zugreifen, sondern der Ressourcenmanager im Userspace übernimmt dies für Sie. Sie benötigen daher keine Root-Berechtigungen mehr. Der Ressourcenmanager im Userspace wird als Dienst ausgeführt (oder manuell als Benutzer gestartet tss).

verwandte Informationen