Pełne szyfrowanie dysku
Pełne szyfrowanie dysku (ang. full disk encryption, FDE) – technika szyfrowania polegająca na zaszyfrowaniu każdego bajtu danych, który znajduje się na dysku twardym systemu komputerowego, za pomocą oprogramowania do szyfrowania dysku lub rozwiązań sprzętowych przeznaczonych do tego celu. Pełne szyfrowanie dysku uniemożliwia nieautoryzowany dostęp do danych przechowywanych na dysku twardym.
Porównanie pełnego szyfrowania dysku do szyfrowania na poziomie systemu plików
[edytuj | edytuj kod]Pełne szyfrowanie dysku nie zastępuje całkowicie szyfrowania na poziomie systemu plików. Pełne szyfrowanie dysku jest czasami używane w połączeniu z szyfrowaniem danych na poziomie systemu plików w celu zapewnienia większego bezpieczeństwa. Ponieważ pełne szyfrowanie dysku zazwyczaj używa jednakowego klucza do zaszyfrowania całości dysku, wszystkie dane są dostępne kiedy system operacyjny działa. Jeżeli osoba niepowołana uzyska dostęp do komputera w czasie pracy, ma dostęp do wszystkich danych zawartych na dysku. W przeciwieństwie do tego, w przypadku szyfrowania na poziomie systemu plików możliwe jest stosowanie niejednakowych haseł lub kluczy do różnych części dysku (plików i folderów) – jeżeli osoba niepowołana uzyska dostęp do jednego lub kilku zaszyfrowanych plików, inne pliki używające innego klucza lub hasła są nadal bezpieczne. W przeciwieństwie do pełnego szyfrowania dysku, szyfrowanie na poziomie systemu plików najczęściej nie obejmuje metadanych systemu plików takich jak struktura katalogów, nazwy plików, czasy dostępu i modyfikacji plików oraz ich rozmiary.
Pełne szyfrowanie dysku i Trusted Platform Module
[edytuj | edytuj kod]Trusted Platform Module (TPM) to dedykowany układ mikroprocesorowy do przeprowadzania operacji kryptograficznych, osadzony w obudowie z wieloma środkami bezpieczeństwa fizycznego, które nadają mu pewien stopień odporności na fizyczne manipulacje. Jeżeli jest wbudowany w płytę główną, może być użyty do uwierzytelniania urządzenia sprzętowego. Ponieważ każdy układ TPM jest unikatowy, dla konkretnego urządzenia może być użyty do identyfikacji platformy sprzętowej – to pozwala upewnić się, że system, który próbuje uzyskać dostęp do danych, jest uprawnionym systemem.
Ograniczona liczba rozwiązań do pełnego szyfrowania dysku ma wsparcie dla modułów TPM. Te rozwiązania potrafią powiązać klucz deszyfrujący z modułem TPM i tym samym powiązać dysk twardy z konkretnym urządzeniem. Jeżeli dysk twardy zostanie usunięty z tego konkretnego urządzenia i umieszczony w innym, proces deszyfrowania się nie powiedzie. Odzyskanie dostępu do danych w takiej sytuacji jest możliwe przy pomocy specjalnego klucza odzyskiwania lub specjalnego tokena.
Chociaż takie rozwiązanie ma tę zaletę, że dysk nie może zostać odłączony od urządzenia, niesie w sobie jednak także pewne niebezpieczeństwo, na przykład jeżeli moduł TPM lub płyta główna zostanie uszkodzona, użytkownik może zostać całkowicie pozbawiony dostępu do swoich danych i nie pomoże przełożenie dysku twardego do innego komputera, chyba że posiada oddzielny klucz odzyskiwania lub odpowiedni token.
Implementacje narzędzi do szyfrowania dysku
[edytuj | edytuj kod]Na rynku są dostępne różnorodne narzędzia, które pozwalają na pełne szyfrowanie dysku, jednak różnią się one znacznie stopniem bezpieczeństwa i dostępnymi funkcjami. Są one podzielone na dwie główne kategorie: rozwiązania sprzętowe i rozwiązania programowe. Rozwiązania sprzętowe są znacznie szybsze w działaniu niż programowe i zazwyczaj nie obciążają procesora głównego i dysku twardego podczas pracy. Jednakże rozwiązania sprzętowe nie oferują żadnego rodzaju mechanizmu mocnego uwierzytelniania lub uwierzytelniania przedstartowego (ang. Pre-Boot Authentication).
Kwestie bezpieczeństwa
[edytuj | edytuj kod]Większość narzędzi programowych do pełnego szyfrowania dysku jest podatna na cold boot attack. Nawet użycie modułu TPM nie jest skutecznym zabezpieczeniem przeciw temu atakowi, ponieważ system operacyjny musi trzymać klucze szyfrujące w pamięci, aby uzyskiwać dostęp do danych na dysku. Poza tym wszystkie rozwiązania programowe są podatne na różnego rodzaju ataki typu „side-channel”, takie jak kryptoanaliza akustyczna lub keyloggery sprzętowe.
Korzyści wynikające z pełnego szyfrowania dysku
[edytuj | edytuj kod]Pełne szyfrowanie dysku ma kilka zalet w porównaniu z szyfrowaniem pojedynczych plików i folderów (szyfrowania na poziomie systemu plików) lub zaszyfrowanymi kontenerami:
- Cała zawartość dysku, włącznie z przestrzenią wymiany i plikami tymczasowymi jest zaszyfrowana (ale oprócz programu ładującego w przypadku rozwiązań programowych). Jest to ważne, ponieważ te obszary dysku mogą zawierać potencjalnie poufne informacje.
- W przypadku pełnego szyfrowania dysku decyzja które pliki zaszyfrować nie jest pozostawiona rozwadze użytkownika. Jest to ważne w sytuacjach, kiedy użytkownik może nie chcieć lub może zapomnieć zaszyfrować poufne pliki.
- Zwykłe zniszczenie kluczy kryptograficznych sprawia, że przechowywane dane stają się natychmiast bezużyteczne. Jednakże w przypadku, gdy przypuszcza się ataki na zaszyfrowane dane w przyszłości, wymazywanie danych lub fizyczne zniszczenie dysku jest wskazane.
Problem klucza startowego
[edytuj | edytuj kod]Jedną z kwestii związanych z pełnym szyfrowaniem dysku jest to, że obszar dysku zawierający system operacyjny musi być odszyfrowany zanim system operacyjny wystartuje, co oznacza, że klucz szyfrujący musi być dostępny zanim może być uruchomiony interfejs użytkownika aby zapytać użytkownika o hasło. Większość programowych narzędzi do pełnego szyfrowania dysku używa mechanizmu przedstartowego uwierzytelniania (ang. Pre-Boot Authentication) ładując niewielki, wysoce bezpieczny system operacyjny który jest bardzo mocno ograniczony i zabezpieczony przed modyfikacją. Niektóre implementacje, takie jak BitLocker mogą wykorzystać sprzęt taki jak Trusted Platform Module (TPM) aby zapewnić integralność środowiska startowego i dzięki temu zapobiec atakom skierowanym na program ładujący wykorzystującym bootkit mającym na celu zastąpienie programu ładującego jego zmodyfikowaną wersją. To zapewnia, że uwierzytelnianie odbywa się w kontrolowanym środowisku i wyklucza możliwość użycia bootkita do ingerencji w proces przedstartowego deszyfrowania.
Środowisko przedstartowego uwierzytelniania powoduje, że klucz deszyfrujący dane nie jest odszyfrowywany dopóki zewnętrzny klucz nie zostanie wprowadzony do systemu.
Stosowane rozwiązania do przechowywania zewnętrznego klucza:
- Nazwa użytkownika/hasło
- Karta chipowa w połączeniu z kodem PIN
- Uwierzytelnianie biometryczne, takie jak np. odcisk palca
- Dongle (elektroniczne urządzenie, które musi zostać podłączone do komputera) przechowuje klucz, zakładając, że użytkownik nie pozwoli, aby dongle został skradziony razem z laptopem, lub że dongle jest też zaszyfrowany
- Użycie sterownika startowego który pyta użytkownika o hasło
- Użycie sieci komputerowej aby uzyskać klucz, na przykład za pomocą PXE boot
- Użycie TPM aby przechować klucz deszyfrujący
- Kombinacja powyższych metod
Wszystkie te możliwości mają zróżnicowany poziom bezpieczeństwa.