Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



05.09.2022

Łatwiejsza migracja do chmur

Commvault i Oracle rozszerzyły partnerską współpracę i wspólnie oferują rozwiązanie...
01.09.2022

Badanie sieci

QNAP ogłosił wprowadzenie oprogramowania ADRA Network Detection and Response (NDR) dla...
01.09.2022

5G w Polsce

Z badania Kearney 5G Readiness Index 2022 wynika, że Polska jest jednym z najgorzej...
01.09.2022

Zarządzanie działaniami

Fortinet zaprezentował chmurową usługę, która koreluje informacje dotyczące...
01.09.2022

Selektywna rejestracja

Naukowcy z UCLA przedstawili projekt inteligentnej kamery, która pozwala wybrać, jaki...
01.09.2022

Więcej mocy, komputer...

Profesjonalny komputer Dell Precision 7865 Tower z AMD Ryzen Threadripper PRO 5000...
01.09.2022

Rekord prędkości

Firma Aorus zapowiada superszybki dysk, następcę modelu Gen4 7000s SSD, który ma oferować...
01.09.2022

Beprzewodowe drukowanie

Firma Brother wprowadziła do swojego portfolio nowe urządzenie wielofunkcyjne z systemem...
01.09.2022

Obraz dobrze zaprogramowany

Monitor interaktywny Lyra to połączenie Androida 11, szyby antybakteryjnej, wbudowanego...

Szyfrowanie wspomagane sprzętowo

Data publikacji: 07-06-2022 Autor: Marcin Bieńkowski

Jeszcze w ubiegłym roku mało kto zwracał uwagę na moduł TPM. Jednak premiera Windowsa 11 sprawiła, że o wspomaganym sprzętowo szyfrowaniu danych zrobiło się głośno, i to nie tylko wśród specjalistów zajmujących się bezpieczeństwem systemów informatycznych.

 

Standard Trusted Platform Module (TPM), znany również jako norma ISO/IEC 11889, to międzynarodowy standard bezpiecznego procesora kryptograficznego, czyli specjalnego mikrokontrolera przeznaczonego do hardware’owego zabezpieczania sprzętu za pomocą zintegrowanych kluczy kryptograficznych. W praktyce pod pojęciem TPM kryje się układ scalony zgodny z tym standardem.


TPM używany jest m.in. do zarządzania prawami cyfrowymi (ang. digital rights management, DRM) czy walidacji baz oprogramowania antywirusowego. Wykorzystuje go m.in. Windows Defender do logowania do domeny Windows, ochrony i egzekwowania licencji na oprogramowanie oraz zapobiegania oszustwom w grach online. Jednak najbardziej znanym zastosowaniem jest zwiększenie bezpieczeństwa w systemach operacyjnych Microsoftu, w tym w Windowsie 11. Jednym z wymagań systemowych nowych okien jest bowiem obecność modułu TPM 2.0. Firma Microsoft twierdzi, że ma to pomóc w zwiększeniu bezpieczeństwa i uchronić przed atakami typu ransomware i nieautoryzowanym modyfikacjom firmware’u.


> Budowa modułu TPM


Specyfikacja Trusted Platform Module została opracowana przez konsorcjum o nazwie Trusted Computing Group (TCG). Przygotowane przez inżynierów z branży komputerowej uwarunkowania techniczne przekształciły się w TPM Main Specification Version 1.2, które zostały znormalizowane przez International Organization for Standardization (ISO) i International Electrotechnical Commission (IEC) w 2009 r. jako norma ISO/IEC 11889:2009. TPM Main Specification Version 1.2 została sfinalizowana 3 marca 2011 r. W 2014 r. Trusted Computing Group opublikowała dużą aktualizację specyfikacji pod nazwą TPM Library Specification 2.0, a najnowsze wydanie standardu ogłoszone jako TPM 2.0 pojawiło się w listopadzie 2019 r. Wersja ta została znormalizowana jako norma ISO/IEC 11889:2015.


Funkcje zgodne ze specyfikacją TPM 1.2/2.0 realizuje fizyczny układ scalony, tzw. moduł scalony, który może być przylutowany do płyty głównej w trakcie jej produkcji, być do niej podłączony za pomocą specjalnego złącza, najczęściej tzw. złącza pinowego, jak również jako komponent sprzętowo-firmware’owy w procesorze – chodzi tu o technologię Intel Platform Trust Technology (Intel PTT) lub AMD fTPM (firmware TPM), o których szerzej za chwilę.


Zainstalowany na płycie moduł TPM musi oferować sprzętowy generator liczb losowych (który służy do bezpiecznego tworzenia kluczy kryptograficznych), generator kluczy RSA, obsługę algorytmu SHA-1 (Secure Hash Algorithm). TPM 2.0 korzysta z SHA-256, który pozwala na korzystanie z kryptograficznych funkcji skrótu (tzw. funkcji haszującej, czyli funkcji przyporządkowującej dowolnie dużej liczbie krótkich wartości o stałym rozmiarze) oraz silnika sygnatur szyfrująco-deszyfrujących.


Programy komputerowe mogą używać układów TPM do uwierzytelniania urządzeń sprzętowych, ponieważ każdy z nich ma unikatowy i tajny klucz zatwierdzenia (ang. endorsement key, EK) wypalony w trakcie produkcji. Klucz zatwierdzenia służy do tworzenia przechowywanych w pamięci modułu TPM, niemożliwych do wymazania kluczy skrótu podsumowujących konfigurację sprzętu i oprogramowania. Można wykorzystać ten skrót do sprawdzenia, czy sprzęt i oprogramowanie nie zostały zmienione. Oprogramowanie odpowiedzialne za haszowanie konfiguracji określa zakres podsumowania.


Z kolei główny klucz pamięci masowej (ang. storage root key, SRK) wykorzystywany jest do ochrony kluczy TPM utworzonych przez aplikacje, tak aby klucze te nie mogły być używane bez modułu TPM. W przeciwieństwie do klucza zatwierdzenia, który jak wspomniano, tworzony jest podczas produkcji modułu TPM, główny klucz pamięci masowej jest tworzony w momencie przejęcia własności modułu TPM. Oznacza to, że w przypadku wyczyszczenia TPM i przejęcia własności przez nowego użytkownika tworzony jest nowy klucz główny pamięci masowej. Te dwa elementy znajdują się w tzw. pamięci trwałej układu TPM.


W uniwersalnej pamięci modułu składowane są rejestry dotyczące konfiguracji sprzętu (ang. Platform Configuration Registers, PCR), klucze identyfikacyjne atestów oprogramowania (ang. Attestation Identity Keys, AIK) oraz wszelkie inne klucze, które mogą być wykorzystywane do weryfikacji i autentykacji.


TPM 2.0 pozwala w pełni wykorzystać niektóre technologie zaimplementowane w systemie Windows, takie jak BitLocker, który wykorzystywany jest do szyfrowania dysków i Windows Hello do biometrycznego logowania. Jest też kluczowym składnikiem dla podejścia Zero Trust, stosowanego przez firmy, którym zależy na bezpieczeństwie.


> Działanie modułu TPM


Komputery wyposażone w moduł TPM mogą tworzyć klucze kryptograficzne i szyfrować je w taki sposób, aby mogły być odszyfrowane tylko przez moduł TPM. Proces ten, często nazywany opakowywaniem (wrapping) lub wiązaniem (binding) klucza, może pomóc w ochronie klucza przed ujawnieniem. Każdy moduł TPM ma główny klucz opakowujący – jest to wspomniany wcześniej główny klucz pamięci masowej SRK, który jest przechowywany w samym module TPM. Prywatna część głównego klucza pamięci masowej SRK lub klucza zatwierdzenia EK nigdy nie jest udostępniana żadnemu innemu komponentowi, oprogramowaniu, procesowi lub użytkownikowi.


Można określić, czy klucze szyfrowania tworzone przez moduł TPM mogą być udostępniane na zewnątrz, czy nie. Jeśli klucze mogą migrować, publiczna i prywatna część klucza jest udostępniana innym komponentom, oprogramowaniu, procesom lub użytkownikom. Jeśli klucze nie mogą migrować, prywatna część klucza nigdy nie jest udostępniana poza moduł TPM.


W komputerach wyposażonych w moduł TPM można również utworzyć klucz, który jest opakowany i powiązany z określonymi elementami platformy. Ten typ klucza może zostać odpakowany tylko wtedy, gdy wartości zwrócone przez platformę są takie same jak wartości, które zostały zwrócone w momencie tworzenia klucza. Proces ten jest określany jako „zapieczętowywanie klucza w TPM”. Odszyfrowanie klucza nazywane jest odpieczętowaniem. TPM może również zapieczętować i odpieczętować dane, które są generowane poza modułem TPM. Za pomocą tego zapieczętowanego klucza i oprogramowania, takiego jak BitLocker Drive Encryption, można zablokować dane do momentu spełnienia określonych warunków sprzętowych lub programowych.


Innymi słowy, dzięki modułowi TPM prywatne części par kluczy są przechowywane niezależnie od pamięci kontrolowanej przez system operacyjny. Klucze mogą być zapieczętowane w module TPM, a zapewnienia dotyczące stanu systemu (określające jego wiarygodność) mogą być weryfikowane przed odpieczętowaniem kluczy i dopuszczeniem ich do użytku. TPM wykorzystuje własne wewnętrzne oprogramowanie wewnątrzukładowe (firmware) i obwody logiczne do przetwarzania instrukcji. W związku z tym nie jest w ogóle zależny od systemu operacyjnego i nie jest narażony na luki w zabezpieczeniach, które mogą występować w nim lub w aplikacjach. Jak widać, system bezpieczeństwa wbudowany w sprzęt zapewnia znacznie większą ochronę niż rozwiązania bazujące wyłącznie na oprogramowaniu.

 

[...]

 

Autor jest niezależnym dziennikarzem zajmującym się propagowaniem nauki i techniki.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik \"IT Professional\"