Trusted Platform Module
Trusted Platform Module (TPM) – standard układu scalonego (nazywany jest tak również sam układ) opracowany przez Trusted Computing Group . Aktualnie obowiązuje wersja specyfikacji TPM 2.0[1].
Funkcjonalność
[edytuj | edytuj kod]Układy zgodne z TPM potrafią wykonać najbardziej typowe operacje obliczeniowe związane z kryptografią. Wśród operacji takich wymienić należy:
- generowanie liczb pseudolosowych
- generowanie podpisu cyfrowego dla ciągu bajtów
- generowanie skrótów dla ciągu bajtów
- szyfrowanie ciągu bajtów
- generowanie skrótów dla sekwencji operacji wykonywanych przez procesor
Układy TPM implementują następujące algorytmy:
Ponadto każdy układ TPM ma unikatowy numer seryjny oraz prywatny klucz RSA.
Zastosowania
[edytuj | edytuj kod]Układy zgodne z TPM mogą obsługiwać wszystkie działania związane z kryptografią, w tym działania, w których producent rozwiązania nie życzy sobie ingerencji użytkownika w ich przebieg. Ponadto działanie TPM zbliżone jest do działania karty inteligentnej i w efekcie, przechowywany w układzie klucz prywatny nigdy go nie opuszcza, ani nigdzie nie jest wysyłany. Znacząco utrudnia to jego zdalne przechwycenie, czyniąc to w praktyce niemożliwym.
„Nieprzejrzystość” operacji kryptograficznych sprawia, że układy TPM mogą być stosowane w rozwiązaniach DRM. Dobra ochrona klucza i ścisłe związanie z konkretnym egzemplarzem sprzętu pozwalają na tworzenie stosunkowo bezpiecznych rozwiązań szyfrujących dane, w szczególności dane na dyskach twardych. Przykładem implementacji może być mechanizm BitLocker stosowany w systemach Windows, począwszy od wersji Vista.
Producenci
[edytuj | edytuj kod]Układy TPM produkowane są przez następujące firmy:
Implementacje
[edytuj | edytuj kod]Wśród komputerów PC, najczęściej spotyka się układy TPM w laptopach. Wynika to z faktu, że dane na tych komputerach są bardzo mocno narażone na kradzież, a dzięki mechanizmom TPM mogą być chronione. Wśród komputerów typu desktop, układy TPM były do niedawna stosunkowo rzadkie. Spotyka się również rozwiązania serwerowe. Wśród producentów komputerów wyposażonych w układy zgodne z TPM, wymienić należy:
- Apple
- Acer
- ASUS
- Dell
- Fujitsu (również serwery)
- Gateway
- Gigabyte (płyty główne)
- HP
- Intel
- Lenovo/IBM
- Toshiba
- MSI
Kontrowersje
[edytuj | edytuj kod]Ponieważ układy zgodne z TPM mogą być wykorzystywane w systemach DRM, budzą kontrowersje we właściwe wszystkich technologiach związanych z ochroną mediów cyfrowych.
Bezpieczeństwo
[edytuj | edytuj kod]Pomimo wysokiego poziomu bezpieczeństwa układy TPM nie stanowią gotowego rozwiązania całościowego problemu bezpieczeństwa systemu, a jedynie implementację specyficznych funkcji, które mogą być w tym celu wykorzystywane. Proponowane techniki obchodzenia zabezpieczeń zapewnianych przez układy TPM obejmują więc głównie wykorzystywanie błędnego zastosowania mechanizmów zapewnianych przez TPM w poszczególnych aplikacjach, wykorzystanie funkcji odtwarzania danych (recovery) lub techniki wirtualizacji[2][3][4].
W 2010 roku firma Flylogic poinformowała o opracowaniu sprzętowej techniki umożliwiającej obejście układu Infineon SLE 66PE. Atak wiąże się z koniecznością dotarcia do fizycznej struktury układu scalonego i obejściem zabezpieczeń, co umożliwia sterowanie sygnałem na pojedynczych ścieżkach[5].
Pomiar PCR
[edytuj | edytuj kod]Układy TPM posiadają rejestr PCR (Platform Configuration Registers), w którym są przechowywane wyniki pomiarów struktury danych, od wyników pomiarów PCR może zależeć działanie modułu TPM – na podstawie wyników pomiarów PCR moduł TPM może stwierdzić, czy działa w zaufanym środowisku. Pomiar PCR obejmuje pomiar struktur danych w postaci sum kontrolnych – zazwyczaj pomiarowi podlegają następujące czynniki:
- PCR0 – struktura kodu systemu BIOS
- PCR1 – konfiguracja BIOS
- PCR2 – struktura kodu opcjonalnej pamięci ROM
- PCR3 – konfiguracja opcjonalnej pamięci ROM
- PCR4 – struktura głównego rekordu rozruchowego MBR
- PCR5 – konfiguracja głównego rekordu rozruchowego MBR
- PCR6 – przejścia stanów
- PCR7 – pomiary producenta
- PCR8-15 – pomiary przeprowadzane przez system (np. struktura jądra systemu, ładowane moduły jądra przy starcie itp.)
- PCR16 – debug
Pomiar PCR jest wykorzystywany w technologii BitLocker w celu sprawdzenia, czy środowisko, w którym jest uruchamiany system, jest zaufane – ma to na celu utrudnić lub wyeliminować szansę przechwycenia klucza szyfrującego poprzez np. uruchomienie innego systemu przy pomocy LiveCD, dokonania zmian w hardware, modyfikacja jądra, wyłączenie SecureBoot, zmiana firmware BIOS itp.
W skład PCR7 wchodzą też podniesione alarmy w systemie BIOS takie jak wyzwolenie czujnika otwarcia obudowy (chassis intrusion) czy wielokrotne wpisanie błędnego hasła do BIOS – na podstawie tego parametru TPM może odmówić wydania klucza szyfrującego z powodu szansy włamania się do obudowy fizycznego sprzętu.
Przypisy
[edytuj | edytuj kod]- ↑ Trusted Platform Module – Specifications. Trusted Computing Group.
- ↑ Sven Tuerpe, Andreas Poller, Jan Steffan, Jan-Peter Stotz, Jan Trukenmueller: Attacking the BitLocker Boot Process. Fraunhofer Institute for Secure Information Technology, 2009.
- ↑ J. Alex Halderman, Seth D. Schoen, Nadia Heninger, William Clarkson, William Paul, Joseph A. Calandrino, Ariel J. Feldman, Jacob Appelbaum, Edward W. Felten: Lest We Remember: Cold Boot Attacks on Encryption Keys. Princeton University, 2008.
- ↑ Joanna Rutkowska: Security Challenges in Virtualized Environments. Confidence 2009, 2009. [dostęp 2011-01-26].
- ↑ Ex-Army man cracks popular security chip. The Register, 2010.