Szyfrowanie danych w Windowsie XP bez dodatkowych narzędzi - 2007-11-28 12:42:07
Szyfrowanie danych jest tematem starym jak świat, coraz bardziej
nośnym - również w systemach konsumenckich. Windows XP w wersji
Professional daje do ręki prostą w zastosowaniu technologię pozwalającą
rozpocząć przygodę z szyfrowaniem danych - EFS (Encryption File System).
Technologia ta opiera się o infrastrukturę klucza publicznego. Przy
pomocy EFS-a możliwe jest zaszyfrowanie zarówno plików, jak i folderów.
W procesie tym wykorzystany jest algorytm 3DES bądź AES - w zależności
od wersji OS-a (XP - 3DES, XP SP1 w górę AES). EFS może skorzystać z
certyfikatów typu self signed lub wygenerowanych przez Urząd
Certyfikacji -jeżeli takowy jest zainstalowany w środowisku. Dzięki
wykorzystaniu certyfikatów EFS przywiązuje zaszyfrowane pliki do
konkretnego użytkownika zalogowanego w systemie. To z kolei sprawia, że
po zalogowaniu się użytkownik będący twórcą zaszyfrowanego pliku
uzyskuje prawo automatycznej deszyfracji. Z punktu widzenia użytkownika
EFS jest więc w zasadzie w pełni przeźroczysty. Jedynym sygnałem
świadczącym o objęciu pliku czy katalogu szyfrowaniem jest oznaczenie
go przez system (domyślnie) kolorem zielonym, co ułatwia orientację.
Mimo,
że rozpoczęcie samego procesu szyfrowania (patrząc oczami użytkownika)
jest proste, zanim je uruchomimy warto mieć świadomość tego, dlaczego
EFS nie jest systemem idealnym i jakie są jego podstawowe słabości. Do
EFS-a można mieć wiele zastrzeżeń, ale -jak mówią grzybiarze- lepszy
rydz niż nic. Poza tym od czegoś trzeba zacząć. Jak już wspomnieliśmy,
EFS należy do grupy rozwiązań pozwalających użytkownikom szyfrować
tylko i wyłącznie pliki i foldery. Nie przeciwdziała on uruchomieniu
systemu operacyjnego przez osobę nieuprawnioną. Poza tym, mimo, że
zaszyfrowane mogą być zarówno foldery i pliki, to i tak nie wszystkie.
Nie ma możliwości objęcia "enkrypcją" informacji przechowywanych w
folderze systemowym. EFS nie poradzi sobie także z innymi plikami,
które zostały oznaczone jako systemowe.
Możemy więc śmiało
zapomnieć o zaszyfrowaniu takich informacji jak plik hibernacyjny, czy
stronicowania. Podobnie będzie, jeżeli zechcemy spakować plik
zaszyfrowany - EFS nie obsługuje takiej operacji. Inny problem polega
na tym, że w zasadzie szyfrowany jest nie sam plik, ale jego zawartość.
Wszelkie meta dane przywiązane do pliku czy np. rozmiar, czy data
utworzenia można bez problemu uzyskać. Podobnie rzecz ma się z
katalogami. Będąc dowolnym, zalogowanym użytkownikiem możemy bez
problemu podejrzeć zawartość katalogu. Przy okazji warto tutaj
podkreślić, że kluczowe dla skuteczności ochrony realizowanej przez EFS
jest silne hasło użytkownika. Jeżeli osoba nieuprawniona zdobędzie
hasło, to będzie to równoznaczne z uzyskaniem prawa odszyfrowania
pliku. Następna bolączka wynika z przywiązania mechanizmu EFS do
systemu plików NTFS.
Jeżeli będziemy chcieli skopiować
zaszyfrowany plik na inny nośnik, który nie jest sformatowany NTFS-em,
plik zostanie odszyfrowany i przeniesiony już w postaci
niezabezpieczonej. Dobrze jest zatem pamiętać o formatowaniu wszystkich
nośników właśnie NTFS-em. Tutaj może pojawić się pewien problem. Jak
sformatować NTFS-em pendrive-a?
Domyślnie podczas próby formatowania takiego urządzenia wybierany jest
system FAT lub FAT32 (dzięki temu nie ma konieczności "bezpiecznego
wysuwania urządzenia"). Aby móc skorzystać z NTFS-a należy z poziomu
Windowsowego Menadżera Urządzeń znaleźć nasz napęd USB, a następnie w
jego właściwościach, w zakładce Zasady zmienić atrybut "Optymalizacja
szybkiego usuwania" na "Optymalizacja wydajności". Po wykonaniu tej
operacji napęd USB będzie mógł być sformatowany NTFS-em, a pliki
podczas kopiowania pozostaną zaszyfrowane.
W jaki sposób zatem
zaszyfrować katalog lub plik EFS-em? Są w zasadzie trzy sposoby.
Pierwszy to otworzenie właściwości katalogu lub pliku, który ma być
zaszyfrowany, a następnie w zakładce "Ogólne" wejście do ustawień
zaawansowanych. Tutaj w "Atrybutach kompresji i szyfrowania" można
wskazać "Szyfruj zwartość, aby zabezpieczyć dane". Od tej pory
plik/folder będzie zaszyfrowany.
Drugim,
wygodniejszym sposobem jest uruchamianie opcji szyfrowania z menu
kontekstowego pliku (wywoływanego kliknięciem prawego przycisku myszy).
Domyślnie opcja ta jest niewidoczna. Aby można ją było "uwidocznić"
trzeba najpierw wprowadzić niewielką zmianę w rejestrze. W gałęzi
HKLM->Software->Microsoft->Windows->CurrentVersion->Explorer->Advanced
należy dopisać wartość DWORD EncryptionContextMenu i nadać jej wartość
"1".
Wreszcie
trzeci sposób, polegający na wykorzystaniu narzędzia "cipher" z linii
poleceń. Aby zaszyfrować katalog wraz z zawartością do polecenia
"cipher" należy dodać przełączniki /E oraz /A np.
Analogicznie, aby odszyfrować plik "IMG_2185.jpg" należy dodać przełącznik /D oraz /A.
Możliwe
jest także współdzielenie zaszyfrowanych plików pomiędzy użytkownikami.
Wymaga to dwóch rzeczy - posiadania przez innego użytkownika
certyfikatu oraz przypisania tegoż certyfikatu do pliku po jego
zaszyfrowaniu. Należy więc najpierw zaszyfrować plik, a dopiero potem w
jego właściwościach w zakładce "Zaawansowane" kliknąć "Szczegóły" i
dodać uprawnionych użytkowników.
Po wykonaniu pierwszej
operacji zaszyfrowania pliku/katalogu wygenerowany zostanie certyfikat
dla użytkownika, który rozpoczął proces. Dobrze jest wykonać jego kopię
np. na nośnik zewnętrzny. Należy uruchomić konsolę MMC (Start ->
Uruchom -> mmc), dodać przystawkę Certyfikaty (Plik ->
Dodaj/Usuń przystawkę -> Dodaj -> Certyfikaty ->
Moje konto użytkownika). Następnie odszukać certyfikat i wykonać
polecenie "Eksportuj" z menu "Akcja->Wszystkie zadania".
Wyeksportowany w ten sposób klucz należy przechowywać w bezpiecznym
miejscu.