Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Szyfrowanie poczty w Outlook
Z tekstu dowiesz się
- Dlaczego warto szyfrować komunikację e-mail.
- Na jakiej zasadzie funkcjonuje szyfrowanie wiadomości z wykorzystaniem oprogramowania GPG.
- Jaka jest różnica pomiędzy kluczem prywatnym a publicznym?
- Jak skonfigurować szyfrowanie wiadomości e-mail w programie pocztowym Outlook.
- Jak za pomocą dwóch kliknięć wysyłać szyfrowane e-maile.
Wstęp
Poczta elektroniczna jest niezmiernie wygodnym i popularnym sposobem komunikacji. Nagminne jednak za pośrednictwem e-maili przesyłane są tak poufne informacje jak:
- hasła dostępowe do systemów,
- dokumentacje projektowe,
- szczegółowe dane osobowe klientów,
- inne istotne informacje (np. listy płac), do których dostęp powinny mieć tylko uprawnione osoby.
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:
- Klient poczty Outlook 2003 lub 2007,
- Pakiet oprogramowania wspomagającego szyfrowanie: Gpg4Win zawierający m.in.: oprogramowanie szyfrujące GPG (the GNU Privacy Guard).
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).
Gpg4win
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.
Klucze: publiczny i prywatny
Ś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:
- Klucza publicznego,
- Klucza prywatnego.
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.
Generowanie 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:
- Uzupełniamy wartości: Name (tj. Imię i Nazwisko) oraz nasz e-mail (z którego będziemy chcieli korzystać, odbierając szyfrowane wiadomości).
- Po naciśnięciu przycisku 'Advanced Settings…’ ustawiamy wartość Valid until (czyli ważność tworzonych kluczy) – np. na nieodległą datę przyszłą (np. 12 miesięcy w przyszłości). Jeśli nie ustawimy tej wartości – klucze będą ważne bezterminowo ważne (nie jest to zalecane rozwiązanie)
- W następnym kroku ustalamy hasło chroniące nasz klucz prywatny. Istotne jest, aby hasło to było trudne do odgadnięcia przez osoby trzecie. Hasło to będziemy podawać przy każdym odszyfrowywaniu wiadomości przekazywanej do nas.
- No koniec, możemy zapisać kopię zapasową nowo utworzonego klucza (pamiętajmy, że jeśli stracimy klucz prywatny, stracimy również możliwość odszyfrowywania archiwalnych, zaszyfrowanych do nas wiadomości).
W związku procedurą generacji haseł mogą nasunąć się następujące pytania:
- W jakim celu dodatkowo zabezpieczać klucz prywatny?
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.
- Co zrobić w przypadku uzyskania dostępu do klucza prywatnego przez inne osoby?
Wygenerować nową parę kluczy oraz poprosić wszystkich zainteresowanych o usunięcie z programów pocztowych naszego wcześniejszego klucza i dodanie klucza nowego.
- Dlaczego warto zmienić okres ważności klucza na krótki?
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).
Jak umożliwić innym wysyłanie do nas szyfrowanych maili?
W skrócie – należy przekazać swój klucz publiczny. Można to zrealizować z wykorzystaniem kilku metod:
1. Za pośrednictwem e-maila
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.
2. Przekazując plik
- Zasada podobna jak powyżej, różnica polega tylko na sposobie dostarczenia klucza publicznego: zapisany plik dostarczamy (np. na pendrive) osobom, które chcą do nas wysyłać szyfrowaną korespondencję.
Szyfrowanie / odszyfrowywanie e-maili
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ść.
Opcje Outlook
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:
- format poczty jako tekst (domyślnie jest to HTML),
- odznaczyć redagowanie e-maili w programie Word.
Dodatkowe sposoby zwiększające bezpieczeństwo (dla zaawansowanych)
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.
1. Weryfikacja instalowanego oprogramowania
Aby zwiększyć bezpieczeństwo całej procedury warto weryfikować instalowane oprogramowanie – np. poprzez kontrolę sumy SHA-1.
2. Weryfikacja importowanych kluczy
Przekazując klucze publiczne, rekomendujemy weryfikowanie ich autentyczności. Przykładowe sposoby:
- weryfikacja ID klucza (przykładowe ID: 0x2B8D5361),
- weryfikacja odcisku palca klucza (przykładowy odcisk: 6AA2 F30B 7536 5491 FF01 C56C 9A30 0444 2B8D 5361).
- w przypadku przekazywania e-mailem klucza publicznego powyższe dane można zweryfikować np. telefonicznie.
- fizyczne przekazanie klucza publicznego osobie zainteresowanej.
3. Wykorzystanie oprogramowania antywirusowego
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)
Więcej informacji
- Alternatywna metoda szyfrowania poczty: S/MIME.
- Kryptografia asymetryczna.
- Podpis cyfrowy.
- Szyfrowanie poczty w Thunderbird