Como determinar se o computador possui o TPM (Trusted Platform Module) disponível

9

Querendo brincar com as coisas do Trusted Platform Module , instalei o TrouSerS e tentei iniciar tcsd, mas recebi este erro:

TCSD TDDL ERROR: Could not find a device to open!

No entanto, meu kernel possui vários módulos do TPM carregados:

# lsmod | grep tpm
tpm_crb                16384  0
tpm_tis                16384  0
tpm_tis_core           20480  1 tpm_tis
tpm                    40960  3 tpm_tis,tpm_crb,tpm_tis_core

Então, como determino se meu computador está com falta de TPM vs TrouSerS com um bug?

Nem dmidecodeproduza cpuidnada sobre "tpm" ou "trust". Examinando /var/log/messages, por um lado rngd: /dev/tpm0: No such file or directory, mas por outro lado, kernel: Initialise system trusted keyringse de acordo com este documento do kernel, as chaves confiáveis ​​usam o TPM.

EDIT : Os menus de configuração do BIOS do meu computador não mencionam nada sobre o TPM.

Além disso, olhando para /proc/keys:

# cat /proc/keys 
******** I--Q---     1 perm 1f3f0000     0 65534 keyring   _uid_ses.0: 1
******** I--Q---     7 perm 3f030000     0     0 keyring   _ses: 1
******** I--Q---     3 perm 1f3f0000     0 65534 keyring   _uid.0: empty
******** I------     2 perm 1f0b0000     0     0 keyring   .builtin_trusted_keys: 1
******** I------     1 perm 1f0b0000     0     0 keyring   .system_blacklist_keyring: empty
******** I------     1 perm 1f0f0000     0     0 keyring   .secondary_trusted_keys: 1
******** I------     1 perm 1f030000     0     0 asymmetri Fedora kernel signing key: 34ae686b57a59c0bf2b8c27b98287634b0f81bf8: X509.rsa b0f81bf8 []
Matthew Cline
fonte
Existe uma opção na configuração do BIOS para ativar / desativar o TPM? Mesmo que você não possa desativá-lo, pode haver informações aqui sobre o TPM, independentemente.
airhuff
Ah, não, verifiquei e o BIOS não tinha nada sobre o TPM. Vou acrescentar isso.
Matthew Cline
1
O TPM é normalmente descrito pelas tabelas ACPI configuradas pelo BIOS. Se dmesg | grep -w tpmnão der mensagens sobre a inicialização de um tpm, você não terá um que seja reconhecido pelo kernel. A maioria dos laptops e desktops não possui TPMs, eles são bastante padrão em máquinas vendidas como servidores (ou seja, coisas grandes o suficiente para executar IPMI) e também em chromebooks, onde fazem parte da história de segurança.
Icarus
1
Para o jogo, a IBM desenvolveu um tpm suave você pode compilar e executar, e há também esta mais fácil de usar emulador.
meuh

Respostas:

12

Os TPMs não aparecem necessariamente nas tabelas ACPI, mas os módulos imprimem uma mensagem quando encontram um módulo suportado; por exemplo

[  134.026892] tpm_tis 00:08: 1.2 TPM (device-id 0xB, rev-id 16)

Então dmesg | grep -i tpmé um bom indicador.

O indicador definitivo é a ferramenta de configuração do firmware: os TPMs envolvem procedimentos de propriedade gerenciados a partir da configuração do firmware. Se sua configuração não mencionar nada relacionado ao TPM, você não o terá.

Os TPMs geralmente são encontrados em servidores e laptops comerciais (e no ChromeBooks, conforme explicado pelo icarus ), são raros em desktops ou laptops "não comerciais". Qualquer coisa que suporte Intel TXT possui um TPM.

Stephen Kitt
fonte
Atualização do ano 2020: a maioria dos PCs recém-fabricados, até mesmo modelos de consumidor, agora é fornecida com um TPM. A Microsoft os recomenda oficialmente em todos os novos PCs, e um número crescente de recursos do Windows exige isso.
Lily Finley