Metody szyfrowania danych

Ponieważ szyfrowanie informacji ma niebagatelne znaczenie w kontekście odzyskiwania danych w efekcie ich usunięcia lub awarii urządzenia, zasadne jest posiadanie niezbędnej wiedzy związanej ze sposobami szyfrowania oraz konsekwencjami jego stosowania. Oczywiście szyfrowanie służy ochronie danych przed nieautoryzowanym dostępem. Paradoksalnie awaria zaszyfrowanego nośnika czyni je często niedostępne dla samego szyfrującego. Aby odzyskać takie pliki ich struktura logiczna nie może zostać naruszona, należy także dysponować kluczem szyfrującym. Jest on przechowywanym na dysku pod określonym adresem – jego odnalezienie jest wstępnym warunkiem deszyfracji i odzysku danych. Aby to było możliwe w żaden sposób nie można ingerować w konfigurację danych, na przykład poprzez reinstalację systemu czy próby odzysku na własną rękę. Bez klucza zaszyfrowane pliki są bowiem jedynie nic nieznaczącymi ciągami bitów. Należy zdawać sobie z tego sprawą zanim przystąpimy do procesu szyfrowania.

Szyfrowanie na poziomie plików i szyfrowanie pełne

Szyfrować można poszczególne pliki, jak i cały dysk (szyfrowanie pełne). Szyfrowanie pełne używa na ogół jednego klucza dla całego dysku, co oznacza, że gdy system operacyjny pracuje, dane są widoczne dla każdego kto uzyska dostęp do komputera. W przypadku szyfrowania na poziomie pliku możliwe jest stosowanie oddzielnych haseł i kluczy dla każdego szyfrowanego pliku czy folderu. Nawet przy uruchomionym systemie uzyskanie dostępu wymaga podania hasła. Oba rodzaje szyfrowania, w celu zwiększenia stopnia ochrony, stosuje się niekiedy komplementarnie. Wskazuje się jednak na pewne zalety szyfrowania pełnego. Szyfrowaniu w tym przypadku podlega cała przestrzeń dysku, łącznie z plikami tymczasowymi i przestrzenią wymiany – jest to istotne gdyż mogą one zawierać informacje poufne. Istotne jest także, iż użytkownik nie musi podejmować decyzji co do tego, które pliki mają podlegać szyfrowaniu ani pamiętać o każdorazowym wykonaniu procedury. Ponadto, zniszczenie kluczy szyfrujących powoduje, iż zgromadzone na dysku dane stają się bezużyteczne.

Szyfrowanie programowe i sprzętowe

Szyfrowanie może odbywać się za pomocą oprogramowania bądź specjalnych rozwiązań sprzętowych. Jednym ze stosowanych rozwiązań sprzętowych jest TPM (Trusted Platform Module). Jest to specjalny mikroprocesor o odpowiedniej konstrukcji utrudniającej fizyczną ingerencję i dającą pewien stopień zabezpieczenia przed niepowołaną manipulacją. Każdy taki układ jest unikatowy i dedykowany do konkretnej platformy sprzętowej. Montowany na płycie głównej może być wykorzystany jako element uwierzytelniający dane urządzenie, potwierdzenie, że system próbujący uzyskać dostęp do danych jest systemem autoryzowanym. Rozwiązania programowe dla pełnego szyfrowania potrafią skorelować klucz deszyfrujący z modułem TPM, czyli dysk z przypisanym mu urządzeniem. Przemontowanie dysku do innego komputera uniemożliwia deszyfrację i odczyt danych. Wada takiego rozwiązania jest utrata dostępu do danych w przypadku uszkodzenia TPM lub płyty głównej. Zabezpieczeniem w takim przypadku jest posiadanie oddzielnego klucza odzyskiwania lub specjalnego tokena.

Innym przykładem szyfrowania sprzętowego są rozwiązania stosowane przez producentów dysków SSD, gdzie dane podczas zapisu są szyfrowane automatycznie według konfiguracji dokonanej przy pierwszym uruchomieniu dysku. Wielu producentów urządzeń używa tutaj rozwiązań opartych na technologii Trusted Computing (specjalne środowisko i metody kontroli oprogramowania uruchamianego w tym środowisku – komputer używający tej technologii zachowuje się według określonych wzorców, co osiągane jest dzięki wyposażeniu sprzętu w unikatowy klucz szyfrujący)

Z szyfrowaniem pełnym związana jest kwestia uruchomienia klucza startowego. Obszar dysku, na którym znajduje się system operacyjny musi być odszyfrowany (w celu uruchomienia systemu) zanim system operacyjny wystartuje i uczyni możliwym podanie hasła. Programowe rozwiązania do pełnego szyfrowania stosują zazwyczaj mechanizm przedstartowego uwierzytelnienia (Pre-Boot Authentication). Jest to mikrosystem operacyjny, mocno okrojony i odpowiednio zabezpieczony przed atakiem i próbą zastąpienia go zmodyfikowaną wersją. System przedstartowego uwierzytelniania powoduje, że klucz deszyfrujący dane nie jest odszyfrowany dopóki zewnętrzny klucz (np. nazwa/hasło) nie zostanie wprowadzony przez użytkownika.

Algorytmy szyfrujące

Szyfrowanie przeprowadza się za pomocą specjalnych funkcji matematycznych zwanych algorytmami szyfrującymi. Algorytmy te w zależności od wymaganego stopnia zabezpieczenia wykorzystują klucze szyfrujące o różnej długości (np. 128, 192 i 256 bitów). Oprogramowanie, które wykorzystuje użytkownik do przeprowadzenia operacji szyfrowania oparte jest na takich algorytmach.

Algorytmy szyfrowania można podzielić na symetryczne i asymetryczne. W szyfrowaniu symetrycznym zarówno do szyfrowania jak i deszyfrowania używa się tego samego klucza (algorytmy DES, AES). Są to metody wydajne i szybkie, wymagające jedynie znalezienia bezpiecznej metody dystrybucji kluczy szyfrujących. Kwestie dystrybucji kluczy omijają metody asymetrycznego szyfrowania (RSA), oparte na dwóch kluczach: publicznym i prywatnym. Publiczny klucz szyfruje a prywatny wykonuje operację odwrotną. Algorytmy te uchodzą za bezpieczniejsze ale także bardziej wymagające w kwestiach obliczeniowych. Aby ograniczyć tę niedogodność zastosowanie znajdują rozwiązania hybrydowe, w których szyfrowanie odbywa się metodą symetryczną, algorytmem asymetrycznym szyfrowany zostaje jedynie klucz, który odbiorca odczytuje za pomocą swojego klucza prywatnego. W przypadku szyfrowania plików znajdujących się na nośnikach osobistych, gdy dostęp do informacji ma mieć tylko jeden użytkownik w zupełności sprawdzają się szyfry symetryczne.

Pavel Kroupka

Galeria