Pełne szyfrowanie dysku z TPM, nie podlega atakowi zimnego rozruchu

9

Oto fragment z Wikipedii na temat BitLocker

Po uruchomieniu maszyny chronionej funkcją BitLocker jej klucze są przechowywane w pamięci, gdzie mogą być podatne na atak procesu, który może uzyskać dostęp do pamięci fizycznej, na przykład przez kanał 1394 DMA. Każdy materiał kryptograficzny w pamięci jest zagrożony tym atakiem, który dlatego nie jest specyficzny dla BitLocker.

Rozumiem, że Moduły Zaufanej Platformy (TPM) , których rzekomo używa BitLocker, zostały stworzone w celu szczególnej ochrony przed takimi atakami:

... klucz nadal byłby podatny na ataki, gdy aplikacja, która uzyskała go z TPM, używa go do wykonywania operacji szyfrowania / deszyfrowania, jak pokazano w przypadku ataku typu „cold boot”. Ten problem został wyeliminowany, jeśli klucze użyte w module TPM nie są dostępne w magistrali lub programach zewnętrznych, a całe szyfrowanie / deszyfrowanie odbywa się w module TPM

Schemat TPM sugeruje, że mechanizm przechowywania i szyfrowania / deszyfrowania kluczy powinien być częścią modułu. Dlaczego więc nie ma produktu do pełnego szyfrowania dysku, który korzysta z tej funkcji? Np .: dlaczego nie ma oprogramowania FDE, które nie byłoby podatne na ataki zimnego rozruchu?

galety
źródło

Odpowiedzi:

3

Schemat TPM sugeruje, że mechanizm przechowywania i szyfrowania / deszyfrowania kluczy powinien być częścią modułu. Dlaczego więc nie ma produktu do pełnego szyfrowania dysku, który korzysta z tej funkcji? Np .: dlaczego nie ma oprogramowania FDE, które nie byłoby podatne na ataki zimnego rozruchu?

Jeśli chcesz, aby Twój klucz nie był obecny poza modułem TPM, moduł TPM musiałby wykonać całe szyfrowanie. Nie jest to możliwe, ponieważ TPM nie ma następujących elementów:

  1. szyfrowanie symetryczne

    Sam TPM nie może wykonać szyfrowania symetrycznego, takiego jak AES, na dostarczonych danych zewnętrznych.

  2. wydajność

    Nawet jeśli byłby zdolny do szyfrowania, wydajność układu nie spełniałaby wymagań FDE. Moduł TPM został zaprojektowany tak, aby był bardzo, bardzo niski koszt. Wydajność nie jest celem projektowym.

  3. pasmo

    Moduł TPM w systemie PC jest podłączony przez magistralę LPC, która może przesyłać maksymalnie 6,67 MB / s. (bez pełnego dupleksu)

Dlatego moduł TPM nie jest przeznaczony do wykonywania FDE.

Rozwiązaniem jest pozwolić samemu HDD na szyfrowanie. Jeśli chcesz pójść tą drogą, powinieneś zajrzeć do grupy roboczej TCG zajmującej się przechowywaniem danych . Ich rozwiązanie oparte jest na dyskach samoszyfrujących (SED), które przechowują swoje klucze w module TPM. Dlatego klucz nigdy nie powinien być widoczny w pamięci RAM systemu i tylko przez krótki czas na magistrali systemu .

Więc nie jest to rozwiązanie dla FDE, ale wymaga specjalnego sprzętu (= z SED).

Scolytus
źródło
Czy nadal nie naraziłoby to systemu na wąchanie magistrali, czy to PCI, czy USB (jeśli zewnętrzne)? Klucz deszyfrujący musi przemieścić się tą ścieżką do napędu, a dane zawsze będą wracały - i znajdowały się w pamięci komputera - w czystej postaci.
deitch
@deitch tak, ale to inny atak. Jeśli chcesz się bronić przed kimś, kto potrafi powąchać twoją magistralę PCIe - powodzenia.
Scolytus
Rozumiem. Innymi słowy, jeśli chcę bronić się przed atakiem niezaszyfrowanych danych (nie klucza), muszę chronić fizyczną magistralę.
deitch
Ale jaka jest wartość tego, że klucze dysków nigdy nie będą widoczne w pamięci RAM? W końcu będą tam niezaszyfrowane dane.
deitch
Och, tak (przepraszam za wiele komentarzy). Widziałem wiele SED; znasz jakieś, które natywnie przechowują swoje klucze w TPM?
deitch
4

Z artykułu w Wikipedii na temat TPM , specyfikacja TPM opisuje „bezpieczny kryptoprocesor, który może przechowywać klucze kryptograficzne chroniące informacje” - innymi słowy, uogólniony element sprzętowy, który wykonuje operacje kryptograficzne dla użytkownika.

TPM jest uogólniony, aby był dostępny z poziomu systemu operacyjnego i późniejszego oprogramowania, a zatem jest z natury ograniczony pod względem bezpieczeństwa ze względu na swój projekt - programy muszą gdzieś działać , a zatem muszą być ładowane do pamięci RAM. Kilka innych programów używa modułu TPM do celów uwierzytelniania (np. Niektóre korporacyjne sieci bezpieczeństwa) lub w celu uniemożliwienia nieautoryzowanym komputerom dostępu do określonej sieci.


Jest to nie ogranicza się do funkcji BitLocker i inne rozwiązania wykorzystujące TPM musi być ostrożny, aby ograniczyć ryzyko ataków zimnego rozruchu / RAM-copy.

Teoretycznie można mieć dysk twardy, który samoszyfruje się w podobny sposób jak samozamykający moduł TPM. Stanowi to jednak bardzo poważne ograniczenie: użytkownik końcowy nie może znać klucza odszyfrowującego (w przeciwnym razie mógłby go również ustalić wirus lub inne oprogramowanie) - dlatego nie byłoby możliwe odzyskanie danych w razie potrzeby, ponieważ użytkownik nie można uzyskać klucza do jego odszyfrowania.

Ten artykuł ilustrujący ataki zimnego rozruchu na prawie wszystkie schematy szyfrowania całego dysku może być przydatny:

W domyślnym „trybie podstawowym” funkcja BitLocker chroni klucz główny dysku wyłącznie za pomocą modułu Trusted Platform Module (TPM) znajdującego się na wielu współczesnych komputerach. Ta konfiguracja [...] jest szczególnie podatna na nasz atak, ponieważ klucze szyfrowania dysku można wyodrębnić za pomocą naszych ataków, nawet jeśli komputer jest wyłączony przez długi czas. Po uruchomieniu komputera klucze zostaną automatycznie załadowane do pamięci RAM (przed ekranem logowania) bez wprowadzania tajemnic.

Wygląda na to, że Microsoft jest świadomy [...] i zaleca skonfigurowanie funkcji BitLocker w „trybie zaawansowanym”, w którym chroni klucz dysku za pomocą modułu TPM wraz z hasłem lub kluczem na wymiennym urządzeniu USB. Jednak nawet przy zastosowaniu tych środków funkcja BitLocker jest narażona na atak, jeśli atakujący dostanie się do systemu, gdy ekran jest zablokowany lub komputer śpi (choć nie w przypadku hibernacji lub wyłączenia zasilania).

Przełom
źródło