Szyfrowanie dysków 

7 lutego 2007

Paweł Krawczyk
 
Produkty przeznaczone do środowisk korporacyjnych stanowią oddzielną klasę samą w sobie ze względu na wymagania, jakie muszą spełniać. W przypadku instalacji na kilkuset lub kilku tysiącach laptopów, aplikacja musi spełniać następujące warunki:

- musi dać się zainstalować w pełni automatycznie (np. przez Active Directory), włącznie z wstępną konfiguracją - w przypadku aplikacji szyfrujących dyski jest to spore wyzwanie

- musi dać się zarządzać zdalnie, czy to przez AD czy to przy pomocy mechanizmu natywnego - obsługiwane muszą być przede wszystkim przypadki zapomnienia hasła przez użytkownika przy konieczności natychmiastowego dostępu (np. prezes na 3 minuty przed prezentacją dla kluczowego inwestora 5 tys. kilometrów stąd)

- musi umożliwiać dostęp do danych w przypadku nieodwracalnej utraty klucza do danych, na przykład śmierci pracownika.

Spełnienie tych trzech wymagań przy zachowaniu stabilności i wygody obsługi jest zadaniem nietrywialnym. Zrobienie tego w sposób bezpieczny - wydaje się niemożliwe. Poniżej zaprezentujemy rozwiązania, które te cele starają się realizować - programy Free CompuSec oraz Utimaco SafeGuard Easy.

Uruchamianie systemu z zaszyfrowanego dysku

Szyfrowanie dysków na poziomie sektorowym jest zadaniem z punktu widzenia programisty nietrywialnym. Sekwencja uruchamiania systemu operacyjnego w architekturze PC jest dość skomplikowan - komputer najpierw uruchamia się w tzw. "trybie rzeczywistym" (w którym działał MS-DOS), a następnie przełącza się do "trybu chronionego', w którym działają wszystkie współczesne systemy operacyjne. Jeśli chcemy mieć zaszyfrowany cały dysk twardy i równocześnie uruchamiać z niego system operacyjny, to powstaje problem "jajka i kury" - jak załadować system z zaszyfrowanego dysku, skoro oprogramowanie szyfrujące jest w środku tego systemu?

Obydwa omawiane programy rozwiązują to w dość skomplikowany sposób - instalują w systemie dwa sterowniki. Jeden z nich uruchamia się tuż po starcie systemu z MBR (Master Boot Record) i znajduje się faktycznie poza systemem operacyjnym, w jednym z początkowych sektorów dysku. Sterownik ten działa w trybie rzeczywistym i rozszyfrowuje dysk na tyle, by załadować i uruchomić kernel systemu operacyjnego. Drugi sterownik jest sterownikiem typowym dla Windows i jest ładowany przez uruchamiający się kernel systemu. W ten sposób zachowana jest ciągłość dostępu do dysku. W rzeczywistości szyfrowanie całego dysku na poziomie sektorowym jest jeszcze bardziej skomplikowane, jeśli aplikacja chce obsługiwać takie operacje jak hibernacja (zrzut pamięci na dysk) czy uśpienie systemu operacyjnego.

Hasła

Szyfrowanie dysku byłoby niewiele warte bez silnego uwierzytelnienia użytkownika przy uruchamianiu systemu czyli "pre-boot authentication" (PBA). Obydwa omawiane programy wychodzą tutaj daleko poza zwykłe hasło wpisywane z klawiatury i oferują możliwość uwierzytelnienia użytkownika przy pomocy tokenu kryptograficznego zabezpieczonego kodem PIN. Zarówno hasło jak i informacja zawarta w tokenie są wykorzystywane w procesie generowania klucza deszyfrującego dysk - są więc niezbędne do uruchomienia systemu. Podstawowe założenie jest takie, że bez znajomości hasła nie jest fizycznie możliwe uruchomienie systemu, nawet przy pełnym dostępie do komputera. Rozwiązanie to musi być odporne na wszelkie próby lokalizowania klucza deszyfrującego na dysku, grzebania po sektorach itd. Obydwa prezentowane programy ten warunek spełniają. O czym jeszcze warto pamiętać decydując się na instalację oprogramowania do szyfrowania dysku na poziomie sektorowym?

Przede wszystkim, żaden z nich nie toleruje dodatkowych "bootloaderów", takich jak linuxowe LILO czy GRUB. Instalacja takiej aplikacji w systemie, w którym na drugiej partycji działa Linux skończy się nadpisaniem sektorów LILO i w rezultacie niemożnością uruchomienia Linuxa. Partycjonowanie zaszyfrowanego dysku lub doinstalowanie w nim drugiego bootloadera skończy się prawdopodobnie nadpisaniem aplikacji deszyfrującej dysk w początkowej fazie uruchamiania i utradą dostępu do zaszyfrowanego dysku.

Kolejną szczególną cechą jest sposób instalacji - programy szyfrujące instalujemy w już zainstalowanym systemie. Przy pierwszym uruchomieniu (które zwykle wymaga 1-2 rebootów) aplikacja zaczyna szyfrować dysk twardy, co może potrwać do kilku godzin w zależności od szybkości procesora i dysku. Zaleta jest taka, że po zakończeniu tego procesu cały dysk jest zabezpieczony i nie trzeba się przejmować, że jakieś fragmenty zostaną niezaszyfrowane. W trakcie tej operacji można zamknąć system i ponownie uruchomić - aplikacje obsługują to i kontynuują szyfrowanie z miejsca w którym skończyły.

Często podnoszonym zarzutem wobec aplikacji szyfrujących dyski jest obniżenie wydajności. I faktycznie, jeśli zaszyfrowany jest cały dysk to procesor zajmuje się deszyfrowaniem także przy ładowaniu aplikacji i bibliotek oraz innych operacjach systemowych. Jedna przy zastosowaniu współczesnych algorytmów szyfrujących takich jak AES spadek wydajności jest w praktyce niezauważalny. Według deklaracji producentów wynosi on nie więcej niż 5%.

Ze względu na to, że obydwa programy modyfikują MBR konieczne jest wyłączenie programów antywirusowych oraz funkcji ochrony antywirusowej w BIOS.

Problemy z szyfrowaniem 

Poważnymi wadami omawianych zabezpieczeń przy zastosowaniach w dużych firmach jest brak możliwości wykorzystania typowych programów do klonowania systemów operacyjnych, a także aplikacji do szybkiego wykonywania kopii bezpieczeństwa działających bezpośrednio na partycjach (takich jak partimage lub Ghost). Można skorzystać jedynie z kopiowania sektor po sektorze, np. za pomocą narzędzia dd w systemie Linux. Ponadto naprawa systemu jest szczególnie trudna. Jest to cena, jaką się płaci za podwyższone do maksimum bezpieczeństwo instalacji.

LISTA PRODUCENTÓW OPROGRAMOWANIA DO SZYFROWANIA

 

CompuSec

Program Free CompuSec jest produkowany przez firmę CE-Infosys. Jest darmowy do zastosowań prywanych i komercyjnych. Zapewnia szyfrowanie dysku na poziomie sektorowym algorytmem AES oraz uwierzytelnienie hasłem przy uruchamianiu systemu (PBA). Umożliwia szyfrowanie dysków CD i DVD a także dyskietek, napędów ZIP i pamięci USB. Dodatkowe funkcje to SafeLan czyli szyfrowanie plików przed wysłaniem na zdalny serwer, ClosedTalk - szyfrowanie połączeń VIP, dodatkowa aplikacja do szyfrowania pojedynczych plików np. do wysłania emailem lub przez FTP (DataCrypt). CompuSec posiada również możliwość centralnego zarządzania przez aplikację GlobalAdmin. Dodatkowo instaluje aplikację zapamiętującą hasła oraz pola w formularzach (moduł Identity Management) i umożliwia zapamiętanie hasła do Windows (moduł Single Sign-On), tak by po podaniu hasła w PBA nie było konieczne podawanie go po raz drugi.

Program instalacyjny Free CompuSec instaluje zarówno komponent działający w Windows, jak i ten uruchamiany z MBR. Program podczas instalacji ustawia kilka istotnych parametrów, o których należy pamiętać:

- hasło do PBA, które zawsze na początku jest ustawione na "start123"



- kod odblokowujący ("password reset code"), czyli drugie hasło pozwalające na odblokowanie systemu w razie zapomnienia oryginalnego - jest ono zawsze ustawiane przez użytkownika ręcznie; można go traktować jako hasło administratora



Po instalacji programu można założć dyskietkę ratunkową ("security diskette"), która pozwala na odblokowanie zapomnianego hasła i która sama jest zabezpieczona hasłem (domyślnie "start123").

Hasła do dysku i dyskietek - są to klucze szyfrujące do każdego z nośników, ustawiane domyślnie na wartości losowe, inne w każdej instalacji; w przypadku dyskietek lub innych nośników zewnętrznych sensowne może być ustawienie jednego hasła w całej firmie.



Szyfrowanie dysku twardego i PBA są w konfiguracji programu oddzielnymi modułami, które można zainstalować niezależnie od siebie.



Podczas instalacji konfigurujemy także osiem kluczy SafeLan czyli aplikacji, która potrafi transparentnie szyfrować pliki wysyłane przez nas ze stacji roboczej na inne stacje lub na serwer plików. Każda grupa pracowników (marketing, księgowość) mająca dostęp do wspólnych plików wykorzystuje jeden klucz. Analogicznie konfigurujemy klucze CDCrypt.



Podczas instalacji jest również tworzony plik SecurityInfo, który zawiera m.in. klucze szyfrujące i pozwala na uzyskanie dostępu do zablokowanej stacji. Musimy także wybrać dysk, który ma być zaszyfrowany (domyślna opcja to "Not encrypted") i w jakim trybie zostanie wykonane początkowe szyfrowanie całego dysku ("Encryption before booting' oraz 'Encryption while working"). Po pierwszym uruchomieniu system wstaje normalnie i rozpoczyna szyfrowanie całego dysku, wyświetlając pasek postępu. Po zakończeniu tego procesu system jest w pełni "uzbrojony" i będzie pytał o hasło. Jako ciekawostkę dodajmy, że od ubiegłego roku dostępna jest wersja Free CompuSec dla systemu Linux. Jest ona darmowa, podobnie jak wersja dla Windows. W obu przypadkach zapłacić jednak trzeba za oprogramowanie do zarządzania większą liczbą zaszyfrowanych stacji oraz za wersję e-Identity obsługującą uwierzytelnienie PBA przy pomocy karty kryptograficznej lub danych biometrycznych.

http://www.hal.trzepak.net/faq/winxp/faqxp.html -strona główna FAQ XP