Truecrypt – Wymagania bezpieczeństwa i środki ostrożności

truecryptW tym dziale opisaliśmy wszystkie zasady bezpieczeństwa, o których należy pamiętać używając programu TrueCrypt, a także możliwe czynniki wpływające na osłabienie bezpieczeństwa (ochrony danych) i uniemożliwiające zastosowanie metody wyparcia. Na wstępie wyjaśniamy, że nie dajemy gwarancji, że znajdują się tu wszystkie kwestie związane z bezpieczeństwem i wspomniane wyżej czynniki wpływające na osłabienie bezpieczeństwa.

Przecieki danych

Po zamontowaniu wolumenu TrueCrypt system operacyjny, na którym pracujesz bądź odrębne programy przeprowadzają zapis danych na   niezaszyfrowane wolumeny (zazwyczaj do niezaszyfrowanego wolumenu systemowego). Mogą być to albo dane w niezaszyfrowanej formie (np. pliki tymczasowe), albo niezaszyfrowane informacje o danych znajdujących się w wolumenie TrueCrypt (czyli np. nazwy plików, lokalizacje ostatnio używanych plików, bazy danych) lub też informacje o systemie plików obecnym w wolumenie, również w niezaszyfrowanej postaci. Miej na uwadze też to, że sam Windows automatycznie zapisuje masę poufnych danych, między innymi nazwy i lokalizacje otwieranych plików, uruchamianych aplikacji itp.

Wykonaj te polecenia, żeby nie dopuścić do przecieków danych:

  • Jeśli nie planujesz stosować metody wyparcia:
    • Zaszyfruj partycję/dysk systemowy (instrukcję znajdziesz w dziale System szyfrowania) i zanim zaczniesz pracę z poufnymi  danymi, upewnij się że zamontowane zostały tylko zaszyfrowane systemy plików lub systemy plików w trybie tylko do odczytu,
      lub,
    • Jeśli nie możesz wykonać powyższego podpunktu, pobierz lub utwórz wersję „live CD” swojego systemu operacyjnego (system  „live”jest w całości przechowywany na płycie CD/DVD i z niej jest uruchamiany). Dzięki temu wszystkie dane zapisywane  normalnie na wolumen systemowy będą zapisywane na dysk RAM. Włóż i uruchom płytę za każdym razem, kiedy będziesz chciał skorzystać z poufnych danych i sprawdź, czy na pewno montowane są tylko zaszyfrowane systemy plików/systemy w trybie tylko do odczytu.
  • Natomiast jeśli planujesz stosować metodę wyparcia, to:
    • Stwórz ukryty system operacyjny. Wtedy program TrueCrypt gwarantuje automatyczną ochronę przed wyciekiem danych. Więcej w sekcji Ukryty system operacyjny.
      lub,
    • Jeśli nie możesz wykonać powyższego, pobierz lub utwórz wersję „live CD” swojego systemu operacyjnego (system „live”jest w całości przechowywany na płycie CD/DVD i z niej jest uruchamiany). Wtedy wszystkie dane oryginalnie przeznaczone do zapisu na wolumen systemowy trafią do dysku RAM. Uruchom płytę „live CD” przed każdą pracą z poufnymi danymi. Ukryte wolumeny obejmują zasady bezpieczeństwa opisane w podsekcji Wymagania bezpieczeństwa i środki ostrożności dotyczące ukrytych wolumenów. W przypadku pozostałych wolumenów upewnij się tylko, że w trakcie pracy z poufnymi danymi zamontowane zostały tylko wolumeny utworzone w niesystemowej partycji lub/i systemy plików w trybie tylko do odczytu.

Plik stronicowania

Uwaga: Sytuacja opisana poniżej nie dotyczy użytkowników z zaszyfrowaną partycją systemową lub dyskiem systemowym, którzy wszystkie pliki stronicowania przechowują na jednej lub kilku partycjach z zakresu klucza systemu szyfrowania – na przykład, na partycji z zainstalowanym Windowsem (więcej informacji w 4 paragrafie tej podsekcji).

Pliki stronicowania, zwane też plikami wymiany służą Windowsowi do przechowywania części programów i danych nie mieszczących się w pamięci. Oznacza to, że nawet poufne dane (które jak sądziłeś są przechowywane tylko w pamięci RAM) bez twojej wiedzy mogą być zapisane przez Windows na dysk twardy w niezaszyfrowanej formie.

TrueCrypt nie chroni przed zapisem poufnych plików do pliku stronicowania w niezaszyfrowanej postaci, jeśli zostaną otworzone w RAM (kiedy otwierasz plik pochodzący z wolumenu TrueCrypt, pamięć RAM przechowuje jego zawartość).

Przed taką sytuacją zabezpieczysz się szyfrując partycję/dysk systemowy i dbając o to, by wszystkie pliki stronicowania znajdowały się na jednej lub kilku partycjach z zakresu klucza szyfrowania systemu (na przykład, na partycji z zainstalowanym Windowsem), z czego drugi warunek jest domyślnym ustawieniem na Windowsie XP. Nowsze wersje tego systemu tworzą pliki stronicowania na dowolnym, odpowiednim wolumenie, dlatego ich użytkownikom poleca się wykonanie tych czynności: Kliknij prawym na ‘Mój komputer’ i wybierz Właściwości (w Windowsie Vista i nowszych: -> Zaawansowane ustawienia systemowe ->) zakładka Zaawansowane -> sekcja Wydajność -> Ustawienia -> zakładka Zaawansowane -> sekcja Pamięć wirtualna -> Zmień. W Windowsie Vista i nowszych, odznacz opcję ‘Automatycznie zarządzaj wielkością pliku stronicowania dla wszystkich dysków’. Potem upewnij się jeszcze, że lista wolumenów dostępnych dla plików stronicowania zawiera tylko wolumeny z zakresu docelowego klucza systemu szyfrowania (na przykład, wolumen na którym zainstalowany jest Windows). Aby wyłączyć tworzenie plików stronicowania w konkretnym wolumenie, wybierz go i zaznacz ‘Nie twórz plików stronicowania’ i kliknij Ustaw. Po zakończeniu, kliknij OK i uruchom ponownie komputer.

Ważne: Warto też utworzyć ukryty system operacyjny w celu zwiększenia bezpieczeństwa (więcej w sekcji Ukryty system operacyjny).


Plik uśpienia

Uwaga: Sytuacja opisana poniżej nie dotyczy użytkowników z zaszyfrowaną partycją systemową lub dyskiem systemowym*, którzy plik uśpienia przechowują na jednej z partycji z zakresu klucza systemu szyfrowania (domyślne ustawienie) – na przykład, na partycji z zainstalowanym Windowsem. W czasie uśpienia komputera, dane są szyfrowane w locie przed ich zapisem do pliku uśpienia.

Kiedy komputer znajduje się w trybie uśpienia (lub włączony jest tryb oszczędzania energii), to zawartość pamięci systemowej jest zapisywana do pliku uśpienia na dysk twardy. W ustawieniach TrueCrypt możesz zaznaczyć automatyczne demontowanie wszystkich zamontowanych wolumenów, wymazywanie ich kluczy głównych z pamięci RAM i zapisanych haseł (przechowywanych w RAM) przed przełączeniem komputera do trybu uśpienia lub do trybu oszczędzania energii. Wejdź w Ustawienia -> Preferencje -> Zdemontuj wszystkie podczas: przejścia na tryb oszczędzania). Pamiętaj jednak, że jeśli nie używasz systemu szyfrowania, to TrueCrypt nadal nie może zagwarantować pełnej ochrony przed zapisem niezaszyfrowanej zawartości otwieranych poufnych plików do pliku uśpienia. Kiedy otwierasz plik znajdujący się w wolumenie TrueCrypt, na przykład w edytorze tekstu, jego zawartość jest przechowywana w pamięci RAM w niezaszyfrowanej postaci (i pozostaje tam niezaszyfrowana aż wyłączysz komputer).

Możesz też zmienić ustawienia tak, by system Windows przechodzący w tryb uśpienia od teraz przechodził w tzw. Hybrydowy tryb uśpienia (również działający na zasadzie uśpienia komputera), albo tak, aby komputer przechodził w hibernację lub w hybrydowy tryb uśpienia, kiedy ty wybierzesz polecenie ‘Zamknij’.

Przed taką sytuacją zabezpieczysz się szyfrując partycję/dysk systemowy i dbając o to, aby plik uśpienia znajdował się na jednej z partycji z zakresu klucza szyfrowania systemu (jest to ustawienie domyślne), na przykład na partycji z zainstalowanym Windowsem. Na uśpionym komputerze wszystkie dane są szyfrowane w locie przed zapisem ich do pliku uśpienia.

Ważne: Bezpieczeństwo dodatkowo zwiększysz tworząc ukryty system operacyjny (więcej w sekcji Ukryty system operacyjny).
Jeśli z jakiegoś powodu nie będziesz mógł używać systemu szyfrowania, wyłącz lub nie dopuszczaj do hibernacji, przynajmniej w czasie pracy z poufnymi danymi i kiedy montujesz wolumen TrueCrypt.

* Wyjaśnienie: Systemy Windows XP i Windows 2003 nie posiadają interfejsu API dla szyfrowanych plików uśpienia. Z tego powodu TrueCrypt musi modyfikować nieudokumentowane elementy Windowsa XP/2003, aby użytkownik miał możliwość zaszyfrowania plików uśpienia, jednak TrueCrypt nie daje gwarancji, że pliki uśpienia Windowsa XP/2003 zawsze będą szyfrowane. Pojawiła się skarga dotycząca braku API w systemach Windows, w rezultacie Microsoft do swoich nowszych systemów (zaczynając od Visty) zaczął dołączać publiczne API potrzebne do szyfrowania plików uśpienia. Dzięki temu w wersji 7.0 (i nowszych) programu TrueCrypt można już używać API i w ten sposób szyfrować pliki uśpienia na systemach Windows Vista i nowszych Windowsach. Jeśli chcesz w bezpieczny sposób zaszyfrować ten plik, ale jesteś użytkownikiem Windowsa XP albo 2003, to koniecznie zainstaluj nową wersję systemu i zaktualizuj TrueCrypt do wersji 7.0 lub nowszej.


Plik zrzutu pamięci

Uwaga: Sytuacja opisana poniżej nie dotyczy użytkowników z zaszyfrowaną partycją systemową lub dyskiem systemowym i tych, którzy w ustawieniach systemowych mają zaznaczoną opcję zapisu plików zrzutu pamięci na dysk systemowy (ustawienie domyślne).

Większość systemów operacyjnych, w tym Windows, można skonfigurować tak, aby w razie błędów systemu zapisywały informacje diagnostyczne (debugujące) i zawartość pamięci do tzw. plików zrzutu pamięci (także zwanych plikami zrzutu awaryjnego. Takie pliki mogą więc zawierać poufne informacje. TrueCrypt nie może uniemożliwić zapisu danych do plików zrzutu w niezaszyfrowanej formie (np. zapisanych haseł, kluczy szyfrowania) i zapisu zawartości poufnych danych otwieranych w pamięci RAM. Pamiętaj też, że kiedy otwierasz plik znajdujący się w wolumenie TrueCrypt, na przykład w edytorze tekstu, jego zawartość jest przechowywana w pamięci RAM w niezaszyfrowanej postaci (i pozostaje tam niezaszyfrowana aż do czasu wyłączenia komputera). Dodatkowo, podczas montowania wolumenu w tym samym miejscu przechowywany jest niezaszyfrowany klucz główny. Należy więc pamiętać o wyłączeniu opcji generowania plików zrzutu pamięci przynajmniej na czas pracy z poufnymi danymi i na czas, kiedy zamontowany jest wolumen. W Windowsie XP lub nowszym wyłączysz ją klikając prawym na ‘Mój komputer’ i wybierając Właściwości -> (na Windowsie Vista lub nowszym: -> Zaawansowane ustawienia systemowe ->) zakładka Zaawansowane -> sekcja Uruchomienie i Przywracanie -> sekcja Zapisuj informacje diagnostyczne -> wybierz (none) -> OK.

Dla użytkowników Windowsa XP/2003: Jako że te systemy nie mają dołączonej funkcji API, to jeśli partycja/dysk systemowy jest zaszyfrowana/y programem TrueCrypt, a system jest skonfigurowany tak, aby zapisywał pliki zrzutu pamięci na dysk systemowy, to sterownik TrueCrypt automatycznie chroni przed zapisem danych do plików zrzutu (wymuszone przez Windowsa).


Niezaszyfrowane dane w RAM

Przypominamy: TrueCrypt jest oprogramowaniem szyfrującym dysk, nie obejmuje szyfrowania pamięci RAM!

Zwróć uwagę, że większość programów nie czyści obszaru pamięci (buforów), w którym przechowują niezaszyfrowane pliki (czy też jego części) uruchomione z wolumenu. Oznacza to, że po wyjściu z tego programu, niezaszyfrowane dane, na których pracował program mogą nadal zapełniać pamięć RAM i pozostać tam aż do wyłączenia komputera (według niektórych nawet jakiś czas po wyłączeniu komputera*). Gdy otworzysz plik z wolumenu (na przykład w edytorze tekstu), a następnie wymusisz demontowanie wolumenu, to plik ten pozostanie zaszyfrowany w obszarze pamięci RAM używanej przez edytor tekstu. Tyczy się to także wymuszonego auto-demontowania.

Oczywiście w pamięci przechowywane są też klucze główne. Podczas demontowania niesystemowego wolumenu, TrueCrypt wymazuje z pamięci jego klucz główny. Kiedy komputer zostanie poprawnie zamknięty lub uruchomiony ponownie, następuje demontaż wszystkich niesystemowych wolumenów, a co za tym idzie, wymazanie wszystkich kluczy głównych z pamięci przez sterownik programu (nie dotyczy kluczy głównych partycji/dysków systemowych – patrz poniżej). Natomiast, w przypadku zamknięcia niepoprawnego (nagły brak prądu), kiedy komputer zostanie zresetowany, lub zawiesza się system, TrueCrypt siłą rzeczy nagle przestaje działać i nie ma czasu na usuwanie kluczy, ani poufnych danych. Microsoft nie wszystkim dostarcza API obsługującego hibernację i zamykanie, zatem nie ma gwarancji, że klucze główne przeznaczone dla szyfrowania systemu zostaną usunięte z RAM, kiedy wyłączysz komputer, uśpisz, lub uruchomisz go ponownie.**

Podsumowując, TrueCrypt nie gwarantuje, że w pamięci RAM nie ma żadnych poufnych danych (np. haseł, kluczy głównych czy rozszyfrowanych danych). Dlatego po każdej zakończonej pracy z wolumenem lub na zaszyfrowanym systemie operacyjnym, należy wyłączyć komputer (lub uśpić go, jeśli zaszyfrowałeś plik uśpienia) i odczekać – nie włączać go przynajmniej przez kilka minut (im dłużej, tym lepiej). To niezbędny krok – zapewnia efektywne wyczyszczenie pamięci RAM.

* Przypuszcza się, że na 1.5-35 sekund w normalnych temperaturach pracy komputera (26-44 °C) i do kilku godzin, kiedy moduły pamięci są schłodzone (w czasie pracy komputera) do bardzo niskich temperatur (nawet -50 °C). Nowocześniejsze moduły pamięci cechuje znacznie krótszy czas rozpadu (np. od 1.5 do 2.5 sekund), w porównaniu do starszych modułów.

** Należy zdemontować odpowiedni wolumen przed wymazaniem klucza z pamięci RAM. Ten problem nie dotyczy jedynie niesystemowych wolumenów. Pliki stronicowania znajdujące się na zaszyfrowanych wolumenach systemowych demontowanych podczas zamknięcia systemu mogą nadal zawierać aktualne, wymienione strony pamięci (łącznie z elementami plików systemowych Windowsa), a to dlatego, że Microsoft nie wyposażył systemy Windows w API sterujące finałową fazą procesu zamykania systemu. Może to powodować błędy krytyczne, którym TrueCrypt zapobiega w ten sposób, że zwyczajnie nie demontuje zaszyfrowanych wolumenów systemowych i w rezultacie nie wymazuje kluczy głównych należących do wolumenów systemowych, kiedy użytkownik zamknie/uruchomi ponownie system.


Ochrona fizyczna

Kiedy zaczniesz używać komputera po tym, jak atakujący zyska do niego fizyczny dostęp, może zdarzyć się, że TrueCrypt może przestać zabezpieczać jego dane, lub może zawodzić w tej kwestii.* A to dlatego, że włamywacz może zmienić element oprogramowania lub zainfekować system złośliwym oprogramowaniem (np. keyloggerem), które jest w stanie na przykład zapisywać hasła czy też umożliwić przechwycenie klucza szyfrowania (kiedy ty montujesz wolumen TrueCrypt), lub w jakikolwiek sposób uszkodzić system/naruszyć jego bezpieczeństwo. Dlatego nie używaj komputera, kiedy odkryjesz, że ktoś wprowadził na nim jakieś zmiany lub uzyskał do niego dostęp, a już na pewno nie uruchamiaj wtedy programu TrueCrypt (i zarazem sterownika urządzenia). Dodatkowe informacje dotyczące bezpośrednich (fizycznych) ataków na  oprogramowanie znajdują się w sekcji Niezaszyfrowane dane w RAM.

Kiedy już włamywacz przejmie kontrolę (w sposób zdalny) nad komputerem, będzie on mógł złamać zabezpieczenia ochrony fizycznej komputera i przechwycić, a także analizować polecenia wykonawcze oprogramowania komputera (na przykład monitora, czy kabli), a więc chociażby przechwycić wstukiwane litery na klawiaturze i w ten sposób dojść do twojego hasła. W tej sekcji nie zmieścilibyśmy opisów wszelkich możliwych ataków tego typu (ataki TEMPEST) i sposób zabezpieczenia się przed nimi (np. osłanianie, zagłuszanie). Do ciebie należy zadanie obrony przed atakami i prewencja – bez tego ochrona TrueCrypt jest niepełna, a bezpieczeństwo danych może być zagrożone.

* W tej sekcji (Ochrona fizyczna), wyrażenie ‘dane na komputerze’ oznacza dane przechowywane na wewnętrznych i zewnętrznych nośnikach pamięci (łącznie z usuwalnymi urządzeniami i dyskami sieciowymi) podłączonych do komputera.


Złośliwe oprogramowanie

Złośliwym oprogramowaniem nazywamy wszystkie niechciane programy zainstalowane na naszym komputerze, np. programy szpiegujące, wirusy, konie trojańskie, ale mogą być to też składniki programu TrueCrypt czy systemu operacyjnego zmienione przez atakującego tak, by mógł nimi sterować. Atakujący używając takiego oprogramowania może m.in zapisywać każde stuknięcie na klawiaturze (i w ten sposób przechwycić hasła – logi są wysyłane przez internet lub zapisywane na niezaszyfrowany dysk i później odczytywane). TrueCrypt nie zapewnia stuprocentowej ochrony na komputerze z zainstalowanym złośliwym oprogramowaniem*, dlatego nie należy pracować na zainfekowanym systemie.

Pamiętaj: TrueCrypt jest oprogramowaniem szyfrującym nieposiadającym zabezpieczeń (niechroniącym) przed wirusami, złośliwym oprogramowaniem. Do ciebie należy dbanie o bezpieczeństwo komputera. TrueCrypt nie zapewni skutecznego zabezpieczenia danych, jeśli nie zapewnisz systemowi wystarczającej ochrony.

Jest kilka zasad bezpieczeństwa, dzięki którym unikniesz zainfekowania komputera o których należy pamiętać. Najważniejsze z nich to: jak najczęstsze aktualizacje systemu operacyjny, przeglądarki internetowej i innych istotnych programów, które mogą wpływać na bezpieczeństwo systemu. W Windowsie XP lub nowszej wersji Windowsa włącz zabezpieczenie DEP i zastosuj do wszystkich zainstalowanych programów.** Nie otwieraj podejrzanie wyglądających załączników na poczcie, zwłaszcza plików .exe, nawet jeśli wyglądają jak wysłane przez twojego znajomego (jego komputer mógł paść ofiarą złośliwego oprogramowania rozsyłającego zawirusowane maile bez wiedzy właściciela).

Nie uruchamiaj też linków z maili (nawet gdy wyglądają na niegroźne), ani nie odwiedzaj podejrzanych stron. Unikaj pobierania i instalowania niezaufanych programów i używaj poleconego, sprawdzonego oprogramowania chroniącego przed malware.

* W tej sekcji (Złośliwe oprogramowanie), wyrażenie „dane na komputerze” dotyczy danych przechowywanych na zewnętrznych i wewnętrznych urządzeniach magazynujących (także na usuwalnych urządzeniach czy dyskach sieciowych) podłączonych do komputera.

** DEP (Data Execution Prevention, pl. Zapobieganie wykonywaniu danych). Więcej informacji o DEP znajdziesz na stronach http://support.microsoft.com/kb/875352, http://technet.microsoft.com/en-us/library/cc700810.aspx, i http://windows.microsoft.com/en-US/windows7/What-is-Data-Execution-Prevention.


Środowisko wieloużytkownikowe

Wolumeny TrueCrypt cechują się tym, że zamontowane są widoczne (dostępne) dla wszystkich użytkowników, o ile nie są włączone uprawnienia NTFS do plików/folderów. Można je włączyć tylko gdy wolumen jest zamontowany jako usuwalny nośnik na komputerach stacjonarnych z system Windows Vista lub nowszym (niektóre sektory wolumenu zamontowanego jako usuwalny nośnik są widoczne i dostępne także dla użytkowników bez uprawnień administratora z poziomu wolumenu).

W Windowsie wszyscy użytkownicy mają też dostęp do pamięci podręcznej z hasłami.

Przełączenie użytkownika (Funkcja szybkiego przełączania użytkownika w Windowsie XP) nie spowoduje zdemontowanie zamontowanych wolumenów (w przeciwieństwie do restartu systemu – restartując komputer zdemontujesz wszystkie zamontowane wolumeny).

Montując wolumen utworzony w pliku w Windowsie 2000 pomijane są uprawnienia pliku kontenera (są ignorowane). We wszystkich wersjach Windowsa obsługiwanych przez TrueCrypt użytkownik bez uprawnień administratora może zamontować każdy wolumen utworzony w partycji/urządzeniu (jeśli oczywiście zostało podane poprawne hasło i/lub pliki klucza). Za to użytkownik nie posiadający tych uprawnień demontować może tylko wolumeny zamontowane przez siebie. Nie dotyczy to jedynie ulubionych wolumenów systemowych (chyba, że zaznaczysz opcję ‘Pozwalaj tylko administratorom na przeglądanie i demontowanie ulubionych wolumenów systemowych w TrueCrypt’ w Ustawieniach -> ‘Ulubione wolumeny systemowe’. Opcja jest domyślnie odznaczona.


Autentyczność i integralność

TrueCrypt używa szyfrowania w celu zachowania poufności danych. Jednak nie sprawdza ani nie zachowuje integralności i autentyczności szyfrowanych/deszyfrowanych danych. Dlatego jeśli umożliwisz atakującemu zmodyfikowanie zaszyfrowanych danych, będzie on mógł zmienić wartość dowolnego 16-bajtowego bloku danych i ustawić losową wartość lub przywrócić poprzednią wartość. Nie będzie on mógł wybrać wartości przydzielonej w momencie, gdy TrueCrypt deszyfruje zmodyfikowany blok – ta wartość jest losowa (o ile atakujący nie przywróci starej wersji zaszyfrowanego bloku). Jako że TrueCrypt nie dba o sprawdzanie autentyczności i integralności szyfrowanych i deszyfrowanych danych, musi dbać o to użytkownik (za pomocą osobnego programu).

Zobacz też: Bezpieczeństwo fizyczne, Model bezpieczeństwa


Wybór haseł i plików klucza

Bardzo ważny jest wybór odpowiedniego, mocnego hasła. Nie wybieraj prostych haseł jednowyrazowych. Najlepiej, żeby nie zawierało też imion, daty urodzenia, numeru konta czy innych danych łatwych do odgadnięcia, czy prześledzenia. Dobre hasło składa się z kombinacji małych i wielkich liter, liczb i znaków specjalnych, jak np. @ ^ = $ * + itd. Im dłuższe, tym lepsze (więcej niż 20 znaków). Krótkie hasła są łatwe do złamania, np. przy użyciu metody brute-force.

Aby uniemożliwić atakującemu wykonanie ataku brute-force, twój plik klucza musi mieć co najmniej 30 bajtów. Jeśli do wolumenu dołączonych jest kilka plików klucza, to wielkość przynajmniej jednego z nich musi być większa lub równa 30 bajtom. 30 bajtowy limit został ustawiony z myślą o wysokiej entropii pliku klucza. Jeśli pierwsze 1024 kilobajtów pliku ma małą ilość entropii to nie można go użyć jako pliku klucza (niezależnie od wielkości pliku). Jeśli nie chcesz zagłębiać się w temat entropii, to najlepiej pozwól programowi TrueCrypt wygenerować plik z losową zawartością i ustaw go jako plik klucza (wybierz Narzędzia -> Generator pliku klucza).

Kiedy będziesz tworzyć wolumen, szyfrować partycję systemową/dysk systemowy bądź będziesz chciał zmienić hasła czy pliki klucza, pamiętaj, aby nie dopuścić, by program inny niż TrueCrypt wybrał/zmodyfikował hasło/plik(i) klucza za ciebie (przed i w trakcie tworzenia wolumenu i zmiany hasła/pliku klucza). Dlatego wystrzegaj się niezaufanych generatorów haseł i wybierania plików ściągniętych z internetu i plików dostępnych dla wszystkich użytkowników komputera na pliki klucza.


Zmiana haseł i plików klucza

Jak już wiesz, nagłówek wolumenu zawiera klucz główny (nie mylić z hasłem), którym zaszyfrowany jest wolumen. Za to nagłówek zaszyfrowany jest kluczem nagłówka wyprowadzonym z hasła bądź pliku klucza. Jeśli atakującemu uda się zrobić kopię twojego wolumenu zanim zmienisz hasło/plik klucza, to będzie on mógł użyć starej kopii lub fragmentu wolumenu (starego nagłówka) do zamontowania twojego wolumenu. Wystarczy, że skorzysta z przechwyconego hasła/pliku klucza, które były ci potrzebne do zamontowania wolumenu zanim je zmieniłeś (przed zmianą hasła/pliku klucza).

Jeśli atakujący zna twoje hasło lub posiada pliki klucza i ma dostęp do twojego wolumenu, to może też dojść do klucza głównego (odzyskując go). Wtedy już z łatwością rozszyfruje twój wolumen, nawet kiedy zmienisz jego hasło/plik(i) klucza – klucz główny pozostaje ten sam nawet po ich zmianie. W takim wypadku trzeba utworzyć nowy wolumen i przenieść do niego wszystkie pliki ze starego wolumenu.

Jeśli nie jesteś pewien, czy twoje hasło/plik(i) klucza faktycznie wyciekły do niepożądanych osób i czy posiadają one kopię twojego wolumenu, a musisz zmienić hasło/plik(i) klucza, to polecamy utworzenie całkiem nowego wolumenu i przeniesienie do niego plików ze starego wolumenu (nowy wolumen będzie posiadał inny, nowy klucz główny).


Funkcja Trim

Niektóre z urządzeń przechowujących (czyli dyski SSD, pamięci USB) używają tzw. funkcji ‘trim’ służącej do oznaczania sektorów dysku – oznaczają je jako wolne, kiedy np. zostanie usunięty plik. Dlatego bardzo możliwe, że takie sektory zawierają niezaszyfrowane (niezdefiniowane) dane, nawet gdy zlokalizowane są na zaszyfrowanej części dysku. TrueCrypt nie blokuje funkcji trim tylko na partycjach z zakresu klucza systemu szyfrowania (pod warunkiem, że ukryty system operacyjny nie jest uruchomiony) i na Linuxie, na wszystkich wolumenach korzystających z macierzystych usług kryptograficznych tego systemu. A to daje atakującemu dostęp do informacji, które z sektorów są wolne – a taka informacja może przydać mu się do ataku w przyszłości czy dalszego analizowania wolumenu i dodatkowo obniża twoje szanse na ewentualne zastosowanie metody wyparcia. Takiej sytuacji unikniesz, jeśli będziesz pamiętać, aby nie używać systemu szyfrowania na dyskach, które używają funkcji trim. Jeśli chodzi o system Linux, możesz skonfigurować TrueCrypt tak, żeby nie korzystał z linuxowych, macierzystych usług kryptograficznych lub umieszczać wolumeny na dyskach nieużywających funkcji trim.

Informacja, czy dane urządzenie używa funkcji trim, czy nie, powinna znajdować się w dołączonej dokumentacji lub u dostawcy/producenta urządzenia.


Równoważenie zużycia

Niektóre urządzenia przechowujące (dyski SSD, pamięci USB) i niektóre systemy plików korzystają z mechanizmów tzw. równoważenia zużycia, które mają za zadanie wydłużyć żywotność urządzenia magazynującego. Mechanizmy te dbają też o równomierne rozłożenie danych na urządzeniu, nawet jeśli aplikacja usilnie próbuje zapisywać dane na jeden i ten sam logiczny sektor (logiczne sektory są zamieniane na inne fizyczne sektory). W ten sposób w przypadku ataku, do atakującego trafiają różne „wersje” jednego sektora. Ma to swoje konsekwencje i odbija się na bezpieczeństwie danych: np., w przypadku wolumenu znajdującego się na urządzeniu wykorzystującym ten mechanizm, TrueCrypt przestaje gwarantować nadpisywanie starego nagłówka podczas zmiany hasła/pliku klucza (kiedy w normalnej sytuacji nagłówek wolumenu jest nadpisywany przez ponownie zaszyfrowany nagłówek). Kiedy atakujący na urządzeniu odnajdzie stary nagłówek (który normalnie zostałby nadpisany), będzie mógł użyć go do zamontowania wolumenu, korzystając ze złamanego wcześniej hasła i/lub pliku klucza, jeśli był dodany i używany do montowania wolumenu (zanim nagłówek wolumenu został ponownie zaszyfrowany). Ze względów bezpieczeństwa nie polecamy tworzenia wolumenów TrueCrypt i przechowywania ich na urządzeniach (systemach plików) korzystających z mechanizmu równoważenia zużycia. Warto też zadbać o to, by TrueCrypt nie był używany do szyfrowania elementów takich dysków ani takich systemów plików.

Jeśli nie możesz zastosować się do powyższych zaleceń i planujesz rozpocząć szyfrowanie w locie na dysku korzystającego z tego mechanizmu, zanim zaczniesz, upewnij się że na dysku/partycji nie znajdują się żadne poufne dane (TrueCrypt nie zapewnia pełnego bezpieczeństwa w przypadku szyfrowania danych istniejących na takim dysku w locie; nowo zapisane dane zostaną bezpiecznie zaszyfrowane w locie dopiero po pełnym zaszyfrowaniu tego dysku/partycji).

Pamiętaj o środkach ostrożności: Zanim uruchomisz TrueCrypt, by ustawić uwierzytelnienie przed rozruchem, wyłącz pliki stronicowania i uruchom ponownie system (pliki stronicowania możesz włączyć po pełnym zaszyfrowaniu partycji systemowej/dysku systemowego). Nie możesz włączyć hibernacji, kiedy już włączysz TrueCrypt, aby wprowadzić nowe ustawienia aż do momentu pełnego zaszyfrowania partycji/dysku systemowego.

Ważne: Te kroki nie dają pełnej ochrony przed wyciekiem danych i gwarancji kompletnego zabezpieczenia (bezpiecznego zaszyfrowania) poufnych danych na twoim urządzeniu. Więcej w działach: Przecieki danych, Plik stronicowania, Plik hibernacji i Plik zrzutu pamięci.

Jeśli chcesz mieć możliwość zastosowania metody wyparcia w przyszłości – nie szyfruj żadnych elementów urządzenia/systemu plików korzystającego z mechanizmu równoważenia zużycia i nie twórz na nim zaszyfrowanych kontenerów.

Informacja, czy dane urządzenie używa mechanizmu równoważenia zużycia powinna znajdować się w dołączonej dokumentacji lub u dostawcy/producenta urządzenia.


Realokowane sektory

Niektóre urządzenia magazynujące, na przykład dyski twarde realokują/zamieniają błędne sektory. Za każdym razem kiedy urządzenie odnajdzie niezapisywalny sektor, zaznacza go jako błędny i zamienia go na sektor w ukrytym, zarezerwowanym obszarze dysku. Kolejne następne operacje zapisu/odczytu z/na błędny sektor są przekierowywane do sektora w zarezerwowanym obszarze. Oznacza to, że wszystkie dane obecne w błędnym sektorze pozostają na dysku i nie mogą być wymazane, ani nadpisane innymi danymi. Wiąże się to m.in. z tym, że dane, które miały zostać zaszyfrowane w locie pozostaną niezaszyfrowane w błędnym sektorze. Podobnie jest z danymi przeznaczonymi do wymazania (na przykład podczas tworzenia ukrytego systemu operacyjnego) – też mogą pozostać w błędnym sektorze. Więcej przykładów tego typu następstw naruszających bezpieczeństwo znajdziesz w sekcji Równoważenie zużycia (nie jest to pełna lista). Pamiętaj też, że TrueCrypt nie odpowiada za jakiekolwiek problemy spowodowane przez realokowane sektory. Faktyczną liczbę tych sektorów oszacuje specjalny program czytający dane S.M.A.R.T. – odnajdziesz go w sieci.


Defragmentowanie

Kiedy defragmentujesz system plików, w którym przechowywany jest plik-kontener TrueCrypt, to jego kopia (lub jego fragment) może pozostać obecna w wolnym obszarze na wolumenie-hoście. Ma to swoje następstwa i odbija się na bezpieczeństwie; w przypadku zmiany hasła/pliku klucza przez użytkownika atakujący dojdzie do starej kopii lub fragmentu starego nagłówka wolumenu będzie mógł użyć go do zamontowania wolumenu, korzystając ze złamanego wcześniej hasła i/lub pliku klucza, jeśli był dodany i używany do montowania wolumenu (zanim nagłówek wolumenu został ponownie zaszyfrowany). Problemów z bezpieczeństwem unikniesz stosując się do poniższych zaleceń:

  • Zamiast pliku z wolumenem używaj partycji lub urządzenia z wolumenem TrueCrypt.
  • Po defragmentacji wymaż wolne miejsce na wolumenie-hoście (na zdefragmentowanym systemie plików).
  • Nie defragmentuj systemów plików w których przechowujesz wolumeny.


Rejestrujące systemy plików

Kiedy w rejestrującym systemie plików (np. NTFS) przechowujesz plik-kontener, to jego kopia (lub jej fragment) może pozostać obecna w wolnym obszarze na wolumenie-hoście. Ma to swoje następstwa; w przypadku zmiany hasła/pliku klucza przez użytkownika atakujący dojdzie do starej kopii lub fragmentu starego nagłówka wolumenu będzie mógł użyć go do zamontowania wolumenu, korzystając ze złamanego wcześniej hasła i/lub pliku klucza, jeśli był dodany i używany do montowania wolumenu (zanim nagłówek wolumenu został ponownie zaszyfrowany). Niektóre rejestrujące systemy plików posiadają własny wewnętrzny mechanizm zapisujący czas dostępu do pliku i inne (potencjalnie) poufne dane. Jeśli w przyszłości chcesz mieć możliwość zastosowania metody wyparcia – nie przechowujesz plików-kontenerów w rejestrujących systemach plików. Problemy wynikające z używania tych systemów plików wykluczysz trzymając się tych zaleceń:

  • Zamiast pliku z wolumenem używaj partycji lub urządzenia z wolumenem TrueCrypt.
  • Kontener przechowuj w nierejestrującym systemie plików (np. FAT32).

Klony wolumenów

Nigdy nie twórz nowych wolumenów poprzez klonowanie istniejących już wolumenów. Do ich tworzenia zawsze używaj Kreatora tworzenia wolumenu TrueCrypt. Kiedy sklonujesz wolumen i zaczniesz używać zarówno klona jak i oryginalnego wolumenu i zaczną one różnić się zawartością danych, możesz rozpocząć kryptoanalizę (oba wolumeny będą posiadały jednakowy zestaw kluczy). Dodatkowo, dopuszczenie do takiej sytuacji blokuje możliwość zastosowania metody wyparcia.


Dodatkowe wymagania bezpieczeństwa i środki ostrożności

Poza wymaganiami opisanymi powyżej w tym dziale istnieje jeszcze kilka dodatkowych. Są to dodatkowe wymagania, środki ostrożności i ograniczenia, lista poniżej:

Zobacz też: Podpisy cyfrowe


Cyfrowa Matka

Może Ci się również spodoba

2 komentarze

  1. Antek napisał(a):

    Wielkie dzięki za tak obszerny materiał. Przydałby się jakiś artykuł o PGP i BitCoin.
    Ciekawie zapowiada się ta stronka :-) Oby tak dalej.
    Pozdrawiam !

  2. ula napisał(a):

    artykuły na wysokim poziomie SUPER

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *