Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!
Adminie… Czy znamy Twoje grzechy? ;-) Sprawdź!
Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!
Adminie… Czy znamy Twoje grzechy? ;-) Sprawdź!
Poczta elektroniczna jest niezmiernie wygodnym i popularnym sposobem komunikacji. Nagminne jednak za pośrednictwem e-maili przesyłane są tak poufne informacje jak:
Informacje te często nie są w żaden sposób chronione – w odpowiednich warunkach mogą być przechwytywane, a następnie odczytywane przez osoby postronne.
Jednym z popularnych, a zarazem relatywnie prostych sposobów na zapewnienie poufności e-maili, jest szyfrowanie wiadomości.
W artykule zostanie pokazany sposób konfiguracji klienta pocztowego, umożliwiający tworzenie i odczytywanie zaszyfrowanych informacji. W tym celu wykorzystane zostanie następujące oprogramowanie:
Oprogramowanie Gpg4Win jest dostępne bezpłatnie również do użytku komercyjnego.
Outlook z kolei jest oprogramowaniem komercyjnym dostępnym w ramach pakietu MS Office.
Dla osób chcących korzystać z całkowicie darmowego oprogramowania do obsługi poczty polecamy konfigurację szyfrowania w oprogramowaniu Thunderbird.
Z kolei osoby chcące realizować szyfrowanie w oparciu o GPG w Outlook 2010 (niebawem: 2013) – mogą zainteresować się komercyjnym oprogramowaniem gpg4o (dostępny tez bezpłatny trial).
Standardowo Outlook nie posiada wsparcia dla szyfrowania e-maili z wykorzystaniem GPG lub PGP. Istnieje jednak wiele dodatków umożliwiających szyfrowanie tą metodą.
Jednym z tego typu pakietów jest Gpg4win. W trakcie pisania tego tekstu dostępna była stabilna wersja pakietu działającego z Outlook 2003 oraz Outlook 2007 (wersja 2010 obecnie nie jest wspierana).
Instalacja jest prosta i sprowadza się do uruchomienia instalatora. Po instalacji oprogramowania warto zrestartować Windows – nie jest to oficjalnie wymagane, jednak restart zapewnił nam bardziej stabilną pracę.
Zanim przejdziemy do omawiania konfiguracji Outlook, warto poruszyć kwestie dotyczące tzw. kluczy szyfrujących wykorzystywanych w procesie szyfrowania wiadomości.
Środowisko, którego konfigurację omawia artykuł, opiera się na tak zwanej kryptografii asymetrycznej. W skrócie, pojęcie wiąże się z wykorzystaniem dwóch kluczy szyfrujących:
Klucz publiczny służy do szyfrowania danych. Jego nazwa (publiczny) umożliwia zapamiętanie, że klucz może być publicznie dostępny dla wszystkich. Jeśli ktoś chce zaszyfrować do mnie informację – wykorzystuje mój klucz publiczny. Każdy może posiadać mój klucz publiczny, więc każdy może zaszyfrować do mnie informację.
Klucz prywatny służy do deszyfrowania danych. Jego nazwa (prywatny) przypomina, że nie powinien być znany nikomu poza właścicielem. Jeśli chcę odszyfrować wysłaną do mnie informację – wykorzystuję klucz prywatny – znany tylko mi. W ten sposób tylko ja mogę odszyfrować przesłaną do mnie zaszyfrowaną wiadomość.
Powyższa para kluczy generowana jest każdorazowo dla użytkownika, który chce korzystać z możliwości szyfrowania wiadomości. Zatem pierwszą czynnością po zainstalowaniu odpowiedniego oprogramowania, będzie wygenerowanie tej pary kluczy.
Po instalacji Gpg4win i uruchomieniu Outlooka, w menu narzędzia dostępna jest opcja GPG Certificate Manager.
Aby wygenerować nową parę kluczy, należy użyć opcji File -> New Certificate oraz na kolejnym ekranie wybrać: Create a personal OpenPGP key pair:
Następnie:
W związku procedurą generacji haseł mogą nasunąć się następujące pytania:
Otóż jeśli ktoś uzyska dostęp do naszego klucza prywatnego – jest m.in. w stanie odszyfrować wysłane do nas wiadomości. Hasło to dodatkowe zabezpieczenie przed uzyskaniem dostępu do klucza prywatnego przez niepowołane osoby.
Wygenerować nową parę kluczy oraz poprosić wszystkich zainteresowanych o usunięcie z programów pocztowych naszego wcześniejszego klucza i dodanie klucza nowego.
Procedura wymiany pary kluczy po kompromitacji (np. upublicznieniu) klucza prywatnego jest uciążliwa. Krótki okres ważności powoduje zmniejszenie przedziału czasowego, w którym skompromitowany klucz może być przedmiotem nadużyć (np. max 12 miesięcy).
W skrócie – należy przekazać swój klucz publiczny. Można to zrealizować z wykorzystaniem kilku metod:
Najprostszy sposób przekazania klucza publicznego to wysłanie e-maila, zawierającego w załączniku ten klucz.
W managerze kluczy (Kleopatra – dostępne w Outlook z menu: Narzędzia -> GnuPG Certificate Manager) klikamy prawym przyciskiem na naszym kluczu i zaznaczamy opcję: Export Certificates. Zapisujemy plik z kluczem na dysku, po czym wysyłamy ten klucz (tj. klucz publiczny) mailem do osoby, która chce szyfrować do nas wiadomości.

Gpg4win udostępnia opcje szyfrowania / odszyfrowywania e-maila jako dostępne z interface użytkownika. Wystarczy napisać nową wiadomość i zaznaczyć odpowiednią ikonę (szyfrowanie i/lub podpisanie).
W przypadku szyfrowania odpowiedni klucz zostanie dobrany na podstawie e-maila adresata, do którego wysyłamy wiadomość (aby móc szyfrować e-maile, musimy wcześniej zaimportować klucz publiczny adresata: Outlook -> Narzędzia -> GnuPG Certificate Manager -> File -> Import Certificates).
W przypadku otrzymania szyfrowanego maila, zostaniemy poproszeni o hasło do naszego klucza prywatnego (umożliwiającego deszyfrację), a po podaniu prawidłowej wartości pojawi się odszyfrowana wiadomość.
W domyślnej konfiguracji programu Outlook mogą nie być dostępne opcje włączenia szyfrowania i podpisywania e-maila przy tworzeniu nowej wiadomości. Aby możliwości te były dostępne, z poziomu interface’a należy ustawić w menu Narzędzia -> Opcje -> Format:
Przedstawiona w powyżej procedura szyfrowania poczty elektronicznej istotnie zwiększa bezpieczeństwo przesyłanych e-maili. W przypadku przesyłania danych o krytycznej istotności, bezpieczeństwo to można podnieść, stosując poniższe techniki.
Aby zwiększyć bezpieczeństwo całej procedury warto weryfikować instalowane oprogramowanie – np. poprzez kontrolę sumy SHA-1.
Przekazując klucze publiczne, rekomendujemy weryfikowanie ich autentyczności. Przykładowe sposoby:
Poza ochroną przed wirusami stacji roboczej oprogramowanie takie jest w stanie wykryć również aplikacje typu malware, umożliwiające np. wrogie przejęcie dostępu do klucza prywatnego.
—Michał Sajdak (michal.sajdak@securitum.pl)