Trusted Platform Module (Polski)/1.2 (Polski)

From ArchWiki

TPM 1.2 wykorzystuje "TrouSerS" TSS (stos oprogramowania TCG) firmy IBM, który jest spakowany jako trousersAUR (tcsd) i tpm-toolsAUR (przestrzeń użytkownika). Wszystkie programy uzyskują dostęp do TPM za pośrednictwem demona tcsd.

Sterowniki

Sterowniki TPM są natywnie obsługiwane przez nowoczesne jądra, ale mogą wymagać załadowania:

# modprobe tpm

W zależności od posiadanego chipsetu, konieczne może być również załadowanie jednego z poniższych elementów:

# modprobe -a tpm_{atmel,infineon,nsc,tis,crb}

Użycie

TPM 1.2 jest zarządzany przez tcsd, demona przestrzeni użytkownika, który zarządza zasobami Trusted Computing i powinien być (zgodnie ze specyfikacją TSS) jedynym portalem do sterownika urządzenia TPM. tcsd jest częścią pakietu trousersAUR, który został stworzony i wydany przez IBM i może być skonfigurowany poprzez /etc/tcsd.conf.

Aby uruchomić tcsd i obejrzeć dane wyjściowe, uruchom:

# tcsd -f

albo zwyczajne uruchom i włącz tcsd.service.

Po uruchomieniu tcsd warto również zainstalować tpm-toolsAUR, który zapewnia wiele narzędzi wiersza poleceń do zarządzania modułem TPM.

Kilka innych interesujących narzędzi:

  • tpmmanager — Nakładka Qt na narzędzia tpm-tools
https://github.com/Rohde-Schwarz/TPMManager || tpmmanagerAUR
  • opencryptoki — Implementacja PKCS#11 dla systemu Linux. Zawiera sterowniki i biblioteki umożliwiające korzystanie ze sprzętu kryptograficznego IBM, a także token programowy do testowania.
https://sourceforge.net/projects/opencryptoki || opencryptokiAUR

Podstawy

Zacznij od uzyskania podstawowych informacji o wersji:

$ tpm_version

i uruchomienie autotestu:

$ tpm_selftest -l info
TPM Test Results: 00000000 ...
tpm_selftest succeeded

Zabezpieczanie kluczy SSH

Istnieje kilka metod wykorzystania TPM do zabezpieczenia kluczy, ale tutaj pokażemy prostą metodę opartą na simple-tpm-pk11-gitAUR.

Najpierw utwórz nowy katalog i wygeneruj klucz:

$ mkdir ~/.simple-tpm-pk11
$ stpm-keygen -o ~/.simple-tpm-pk11/my.key

Wskaż konfigurację klucza:

~/.simple-tpm-pk11/config
key my.key

Teraz skonfiguruj SSH, aby korzystał z odpowiedniego dostawcy PKCS11:

~/.ssh/config
Host *
    PKCS11Provider /usr/lib/libsimple-tpm-pk11.so

Teraz możliwe jest generowanie kluczy za pomocą dostawcy PKCS11:

$ ssh-keygen -D /usr/lib/libsimple-tpm-pk11.so
Note: Ta metoda nie pozwala obecnie na generowanie i używanie wielu kluczy.

Rozwiązywanie problemów

Nie udało się uruchomić tcsd.service

Po zainstalowaniu trousersAUR, usługa tcsd.service może nie uruchamiać się poprawnie z powodu problemów z uprawnieniami.[1] Można to naprawić poprzez restart systemu lub uruchomienie reguły udev zawartej w pakiecie trousersAUR:

# udevadm control --reload-rules
# udevadm trigger

Zobacz także