Pierwotnie znajdował się pod adresem viewtopic.php?t=43845
============================================
Program truecrypt pozwala nam na zaszyfrowanie danych w taki sposób, aby odczytanie ich bez posiadania hasła lub klucza było niemożliwe lub przynajmniej bardzo trudne do uzyskania w rozsądnym czasie. Pozwala również ukryć dane na dysku aby nie można było udowodnić ich istnienia.
Nie jestem fachowcem od kryptografii, ale dla porządku przytoczę najpierw parę faktów do wzięcia pod uwagę przed przystąpieniem do szyfrowania:
1. Algorytmy szyfrujące stosowane w truecrypt - mimo, że są silne - teoretycznie mogą być złamane.
Chociaż program ma otwarty kod, który sprawdzało wielu ludzi, nie należy mu ufać absolutnie do końca. Najlepiej założyć, że, w pewnych warunkach, Ciemnej Stronie Mocy, pragnącej poznać nasze dane, po prostu nie opłaci się inwestować większych sum (lub czasu) w deszyfrację. Ale jeśli bardzo się narazisz i motywacja Ciemnej Strony Mocy będzie silna, takie pieniądze się znajdą!
Pamiętaj też, że siła szyfrowania bardzo zależy od twojego hasła. Zalecane są hasła o długości co najmniej 8 znaków, z dużymi i małymi literami, cyframi i znakami specjalnymi (!@#$%^ itd.). Złamanie szyfru zabezpieczonego imieniem lub hasłem ze słownika (np. "doniczka") zajmie fachowcom mniej czasu, niż tobie przeczytanie tego artykułu ze zrozumieniem.
2. W Wikipedii natrafiłem na opis programu szyfrującego, którego kariera skończyła się po tym, jak udowodniono, że bez znajomości hasła można udowodnić w zaszyfrowanym wolumenie istnienie plików oznakowanych "znakiem wodnym" (jako przykład tak oznakowanych plików podano filmy z hollywood; patrz hasło "watermarking attack" w Wikipedii).
To znaczy, nie można było dostać się do tych plików, ale dawało się niezbicie wykazać (przed sądem?), że one tam w środku są. Zgodnie z moją najlepszą wiedzą, sytuacja ta nie dotyczy jednak algorytmów szyfrujących truecrypt (grudzień 2006). Niemniej jednak któregoś dnia taki stan rzeczy może się zmienić. Weź to pod uwagę i bądź na bieżąco.
3. Szyfrowanie wybranych plików nie gwarantuje, że ich zawartość w stanie niezaszyfrowanym nie trafi do swapa, pliku core, plików tymczasowych itp. - jeśli będziesz je np. otwierał w edytorze. W związku z tym, jeśli jesteś paranoikiem, poszukaj raczej opisu zaszyfrowania całego systemu. Taki artykuł jest np. tutaj: Encrypted Filesystem Howto (i być może go przetłumaczę - jeśli będzie zainteresowanie).
4. Dane zaszyfrowane w żaden sposób nie są chronione przed skasowaniem!
Szyfrując partycję przed oddaniem komputera do serwisu, aby "zabezpieczyć dane przed wścibskim serwisantem" wcale nie polepszasz swojej sytuacji: weź pod uwagę, że jakiś program diagnostyczny użyty przez serwisanta może rozpoznać zaszyfrowaną partycję jako "uszkodzoną" i zalecić jej "wyleczenie", co doprowadzi do utraty danych. Poza tym, jeden z wariantów pracy programu truecrypt polega na mapowaniu - jako dysku/katalogu - pojedynczego, dużego pliku-kontenera, w którego środku umieszczane są twoje właściwe, zaszyfrowane dokumenty. Wtedy przypadkowe skasowanie pliku-kontenera usunie, za jednym zamachem, wszystkie zaszyfrowane pliki w nim zawarte! A sam wiesz, jak łatwo jest omyłkowo skasować jeden plik...
5. Szyfrowanie plików może znacznie utrudnić lub w ogóle uniemożliwić pracę narzędzi naprawczych, przez co twoje szyfrowane pliki są teoretycznie bardziej zagrożone awarią (np. dysku), niż gdyby były w stanie jawnym. Zauważ jak łatwo może się uszkodzić na dysku jeden sektor. Jeśli będzie to akurat np. sektor z nagłówka pliku-kontenera, wszystkie pliki ze środka mogą być nie do odzyskania!.
6. Jeśli zapomnisz hasła lub zgubisz plik-klucz NIE ODZYSKASZ DANYCH. To całkiem realne! Weź to pod uwagę i dlatego przynajmniej na początek nie ćwicz na istotnych plikach.
Zostałeś ostrzeżony, więc zabieramy się do pracy.
Na początek udajemy się na stronę http://www.truecrypt.org i pobieramy pakiet dla naszej dystrybucji. Rozpakowujemy plik i instalujemy poprzez
Kod: Zaznacz cały
sudo dpkg -i truecrypt_4.2a-0_i386.deb
Kod: Zaznacz cały
sudo chmod a+s `which truecrypt`
(Uwaga: jeśli otrzymasz błąd
Kod: Zaznacz cały
truecrypt: Running with effective user id 0 (set-euid root) is not supported.
Kod: Zaznacz cały
chmod u-s `which truecrypt`
Za ten link dziękuję Theali'emu )
Najpierw przygotowujemy sobie katalog, w którym będziemy montować zaszyfrowany wolumen:
Kod: Zaznacz cały
mkdir /media/sejf
Kod: Zaznacz cały
truecrypt -c
Skrypt spyta najpierw, czy tworzymy wolumen normalny, czy ukryty. Wybieramy opcję "normal" (wolumeny ukryte zostaną omówione dalej), po czym podajemy ścieżkę. Aby zaszyfrować dysk piszemy np. /dev/hdb, partycję: /dev/hdb1, plik: /home/user/sejf.tc.
Oczywiście podane tu przykłady numeracji partycji zastępujemy własnymi. I oczywiście wybieramy partycję pustą! Zakładanie partycji szyfrowanej to nie konwersja: wszelkie dane na niej są po drodze kasowane!
Kolejne pytanie dotyczy systemu plików w wolumenie. Jeśli chcemy systemu FAT, wybieramy go, jeśli systemu plików linuksowych, chwilowo wybieramy "none". Należy pamiętać, że system FAT gwarantuje nam możliwość swobodnego deszyfrowania i używania wolumenu również w systemie Windows, ale jednocześnie stwarza nam rozmaite problemy co do maksymalnego rozmiaru pliku oraz z uprawnieniami do plików. Dlatego lepiej jest wykorzystać jakiś linuksowy system plików, np. ext2. Czyli wybieramy na razie "none".
Następnie podajemy rozmiar kontenera, oraz algorytmy szyfrujące - naciskając enter zatwierdzamy wybór domyślny. Następnie należy określić hasło - starając się, aby było odpowiednio długie, trudne do złamania/odgadnięcia, a jednocześnie łatwe do zapamiętania. W kolejnym kroku generację klucza w postaci pliku możemy pominąć. Ostatni etap to dostarczenie komputerowi dawki liczb losowych, co wykonujemy albo ruszając myszą, albo klepiąc bez sensu w klawiaturę.
Wolumen został utworzony. W kolejnym kroku utworzymy na nim system plików (jeśli wybrałeś FAT, pomiń ten krok). W tym celu montujemy wstępnie wolumen i podajemy hasło:
Kod: Zaznacz cały
truecrypt /home/user/sejf.tc
Teraz tworzymy na naszym wolumenie system plików:
Kod: Zaznacz cały
mkfs.ext2 /dev/mapper/truecrypt0
Kod: Zaznacz cały
truecrypt -d
Kod: Zaznacz cały
truecrypt /home/user/sejf.tc /media/sejf
Kod: Zaznacz cały
mount
Od tego momentu, cokolwiek zapisujemy w /media/sejf jest w locie szyfrowane, a przy odczycie - deszyfrowanie. Dzieje się to w sposób przezroczysty i przy praktycznie niewidocznym spowolnieniu systemu. Dane z naszego przykładu są naprawdę zapisywane w pliku /home/user/sejf.tc, więc należy go odtąd otoczyć odpowiednią opieką./dev/mapper/truecrypt0 on /media/sejf type ext2 (rw)
Operacja montowania i demontowania wolumenu szyfrowanego będzie możliwa do wykonania z konta użytkownika. Jeśli jednak poprzednie montowania przeprowadzaliśmy przez
, należy najpierw sprawdzić i ewentualnie nadać odpowiednie prawa do zapisu/wykonywania katalogowi /media/sejf - w przeciwnym razie zapis będzie niemożliwy. Uprawnienia do zapisu potrafią się zmienić, jeśli mapowanie skończyło się niepowodzeniem, i trzeba je wtedy przywracać. (Ale przy pracy bez błędów wszystko jest OK.)sudo truecrypt
Po zakończeniu pracy z wolumenem, odmontowujemy go przez
Kod: Zaznacz cały
truecrypt -d
Komendę montującą można sobie podpiąć do aktywatora gnome, zaznaczając w opcjach wykonywanie w terminalu, aby było gdzie wpisywać hasło.
===========
Szyfrowany wolumen ukryty
Szyfrowanie to nie wszystko. Może się bowiem zdarzyć, że Ciemna Strona Mocy zmusi nas do podania hasła. Da się przecież zobaczyć, że w naszym systemie zainstalowany jest truecrypt i że obecna jest też "martwa partycja" lub plik-kontener - i co wtedy? Gdybyśmy odmówili podania hasła można by nam zadać kłopotliwe pytania albo wręcz postawić zarzut "utrudniania śledztwa".
(Chociaż plik-kontener nie musi posiadać rozszerzenia tc - możemy go nazwać dowolnie np. "swap" albo "popsuty.avi").
Dlatego autorzy truecrypt zalecają postępowanie zwane "wiarygodnym zaprzeczaniem" (plausible deniability). Czyli będziemy zaprzeczać, ale tak, żeby nikt nie mógł się do nas przyczepić.
Idea jest taka: jeśli tworzymy wolumen, truecrypt zawsze wypełnia jego niezajętą część mieszanką przypadkowych danych. Truecrypt potrafi wśród tych losowych danych umieścić drugi, ukryty wolumen, zagnieżdżony w pierwszym, otwierany zupełnie różnym hasłem. Taki zagnieżdżony wolumen, jeśli nie otwarty, nie różni się niczym od "mieszanki przypadkowych danych". I to jest najważniejsze. Oznacza to bowiem, że nie można udowodnić jego istnienia, bo wygląda jak "puste miejsce" na wolumenie zewnętrznym!
W praktyce można więc postąpić tak: utworzyć wolumen zewnętrzny. Skopiować na niego trochę pseudo-tajnych danych (np. trochę wywrotowych tekstów anarchistycznych z Internetu), a w pustej części tego wolumenu umieścić drugi wolumen - z prawdziwymi, tajnymi danymi. Komenda montownia takiego wewnętrznego, ukrytego wolumenu wygląda tak samo, jak zewnętrznego; w naszym przykładzie
Kod: Zaznacz cały
truecrypt /home/user/sejf.tc /media/sejf
Wykonanie tego planu jest proste: Najpierw tworzymy wolumen zewnętrzny, metodą jak wyżej, i zakładamy w nim system plików. Potem uruchamiamy tworzenie jeszcze raz, podając tę samą ścieżkę do pliku sejf.tc, ale tym razem wybierając opcję "hidden" i wskazując nieco mniejszy rozmiar, a potem podając inne hasło.
O ile mniejszy ma być wolumen ukryty ustalamy doświadczalnie: truecrypt nie zaakceptuje zbyt dużego.
Podczas użytkowania powstaje jednak taki problem, że gdybyśmy wrzucali kolejne pliki w "puste miejsce" wolumenu zewnętrznego, to w którymś momencie nadpisalibyśmy wolumen ukryty, nieodwracalnie go uszkadzając. Z tego powodu należy postąpić tak: utworzyć wolumen zewnętrzny, założyć na nim system plików ext2, odmontować go, a potem analogicznie utworzyć w tym samym kontenerze wolumen wewnętrzny/ukryty, i również wyposażyć go w system plików. Następnie, po jego odmontowaniu, przeprowadzić montowanie komendą
Kod: Zaznacz cały
truecrypt -P /home/user/sejf.tc /media/sejf
Jeśli zapis plików pseudo-tajnych się powiedzie, najbezpieczniej jest nie logować się więcej do wolumenu zewnętrznego - w końcu jest tylko pozorowany - i pracować wyłącznie na ukrytym, a jeśli już zajdzie taka potrzeba, bezwarunkowo używać opcji -P.
Nie dotyczy to oczywiście sytuacji, gdy montujemy wolumen zewnętrzny pod okiem Ciemnej Strony Mocy: wtedy oczywiście nie możemy pozwolić sobie na żadne działanie, które mogłoby być przesłanką, że puste miejsce zawiera cokolwiek innego, niż losowe ciągi zer i jedynek, więc nie stosujemy opcji -P i podajemy hasło wolumenu zewnętrznego, przyznając się niechętnie, że jesteśmy po prostu anarchistami, i stąd ta cała zabawa w szyfry...
=======
Szczegóły działania programu podane są w manualu oraz pliku .pdf zainstalowanym w systemie (/usr/share/truecrypt/doc), który jednocześnie opisuje spsób obsługi wersji programu truecrypt pod Windows.