Siła zaufania - Trusted Platform Module

TPM to przede wszystkim rozbudowana platforma kryptograficzna, której trzon stanowi koprocesor kryptograficzny. Korzystając z jego mocy, TPM jest w stanie przeprowadzać "kluczowe" operacje. Przetwarzanie kluczy różnego rodzaju to przecież główne zadanie tego układu. A skoro o kluczach mowa, to trzeba powiedzieć, że TPM posługuje się kilkoma ich rodzajami, a przede wszystkim ma wbudowany klucz EK (Endorsement Key). EK to w rzeczywistości unikatowa para kluczy (publiczny i prywatny), przypisywana modułowi już na etapie produkcji. Klucz prywatny tej pary nigdy nie opuszcza układu, jest też chroniony przed modyfikacjami oraz potwierdzony odpowiednim certyfikatem EC (Endorsement Certificate). Certyfikat musi zostać wystawiony przez podmiot inny niż ten, który wygenerował EK. W ramach samego TPM w przestrzeni magazynowej jest przechowywany EK. Innym kluczem wyodrębnionym w ramach specyfikacji jest AIK (Attestation Identity Key), nazywany czasem Anonymous Identity Key. Za jego pomocą poświadczane jest pochodzenie kluczy z platformy TPM. Jak wskazują specjaliści z organizacji TCPA (Trusted Computing Platform Alliance), zrzeszającej m.in. wytwórców modułów zgodnych ze specyfikacją TPM, AIK poświadcza odbiorcy, że klucze pochodzą z TPM, natomiast nie wskazuje, z którego dokładnie układu. Do tego celu służą inne mechanizmy.

Siła zaufania - Trusted Platform Module

Moduł TPM wbudowany w płytę główną – HP

Sam TPM może być też generatorem kluczy asymetrycznych, które są tworzone przede wszystkim na podstawie algorytmu RSA - domyślnie długość klucza to 2048 bitów, choć specyfikacja dopuszcza wykorzystanie także innych algorytmów. Już na etapie tworzenia klucza musi być wskazane jego przeznaczenie, np. szyfrowanie, deszyfrowanie, podpisywanie czy weryfikacja. TPM wyposażono również w dwie inne funkcje kryptograficzne - generator liczb losowych RNG (Random Number Generator), który wspomaga proces generowania kluczy symetrycznych, oraz moduł pozwalający na tworzenie sum kontrolnych. Dzięki tym mechanizmom komputer, w którym zainstalowano moduł, jest w stanie wygenerować i zaszyfrować klucz w taki sposób, aby jego odszyfrowanie mogło zostać przeprowadzone jedynie przez TPM. Można więc powiedzieć, że TPM potrafi w sposób unikalny dla siebie opakować klucz. Stąd też jedna z funkcji TPM jest określana jako "wrapping" (czasem też "binding"). Z funkcjami generatora muszą być powiązane możliwości przechowywania stworzonych danych i zabezpieczania ich wymiany. Do tego celu wykorzystywana jest przestrzeń magazynowa w ramach samego układu TPM oraz tzw. rejestry PCR (Platform Configuration Registers). PCR to przestrzeń o wielkości 160 bitów, wykorzystywana do pomiaru integralności danych. Funkcja ta może być np. używana do związania klucza z platformą sprzętową, elementem systemu operacyjnego czy też inną wartością unikatową dla danego komputera - tzw. platform measurements. Dzięki rejestrom PCR możliwe jest nie tylko opakowanie klucza przez TPM, ale też uczynienie tego w taki sposób, aby jego odpakowanie nastąpiło wyłącznie po pozytywnej weryfikacji miar zawartych w rejestrach PCR. Tę funkcję z kolei nazywa się procesem pieczętowania/plombowania (sealing) lub odplombowania kluczy (unsealing). Specyfikacja mówi, że w TPM powinno być co najmniej 16 takich rejestrów. Wracając do samej przestrzeni magazynowej, jest ona chroniona za pomocą kolejnego klucza - nadrzędnego - tj. SRK (Storage Root Key), który, podobnie jak EK, nigdy nie opuszcza platformy. To właśnie SRK odpowiada za wymieniony wcześniej "wrapping" klucza.

Warto też wspomnieć o kolejnym elemencie architektury TPM, którym jest Opt-In. Wraz z modułem I/O stanowi on pewnego rodzaju zaporę ogniową modułu. To on umożliwia włączenie/wyłączenie czy aktywowanie/dezaktywację modułu. Kontroluje też stan poszczególnych flag.

Sam moduł TPM to jeszcze jednak nie wszystko. Jest on obecnie ściśle powiązany z BIOS-em, co pozwala na przeprowadzenie weryfikacji konfiguracji sprzętowej (pamiętamy o rejestrach PCR). Potrzebne jest również coś, co będzie w stanie z TPM "rozmawiać". Ale i tutaj TCG przygotowało odpowiednią specyfikację o nazwie Trusted Software Stack (TSS), opisującą wytyczne do budowania narzędzi, które mają wykorzystywać TPM.


TOP 200