Acceder al Módulo de plataforma segura (TPM) sin permiso de root

Acceder al Módulo de plataforma segura (TPM) sin permiso de root

Estoy trabajando en el chip del Módulo de plataforma segura (TPM) (tanto TPM12 como TPM20). A partir de ahora estoy realizando algunas operaciones en TPM, como tomar propiedad de TPM, borrar TPM, generar claves dentro de TPM, etc. Pero para todas estas operaciones necesito el permiso sudo en mi computadora portátil Linux.

Entonces, ¿puedo realizar todas las operaciones mencionadas anteriormente como usuario normal sin permiso de root? En caso afirmativo, ¿cómo acceder a TPM sin permisos de root?

Respuesta1

Esta respuesta se aplica a TPM2 (el principio debería ser similar para TPM1.2). En primer lugar: se puede acceder a su TPM a través de los siguientes dispositivos de caracteres.

  • /dev/tpm0: acceso directo al controlador TPM
  • /dev/tpmrm0: acceso al controlador TPM a través del administrador de recursos TPM interno (recomendado)

Por supuesto, puedes cambiar los permisos de lectura/escritura de esos archivos temporalmente. Sin embargo, lo que realmente quieres hacer es crear una udevregla. Básicamente es un archivo en formato /etc/udev/rules.d/. Como referencia, eche un vistazo areglas udev proporcionadas por el 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"

Como puedes ver, hay una regla para el usuario tss. Este usuario está dedicado a laadministrador de recursos del espacio de usuario. Si utiliza este administrador de recursos, ya no tendrá que acceder a los archivos usted mismo, pero el administrador de recursos del espacio de usuario lo hará por usted. Por lo tanto, ya no necesitas permisos de root. El administrador de recursos del espacio de usuario se ejecutará como servicio (o se iniciará manualmente como usuario tss).

información relacionada