5 marca 2007
Paweł Krawczyk
Przedstawiamy krótki poradnik pozwalający na szybkie uruchomienie szyfrowanej poczty pod dwoma najpopularniejszymi aplikacjami pocztowymi. Niedawno, podczas przygotowania instalacji serwera z kilkoma znajomymi, doszliśmy do momentu, w którym należało wymienić się hasłem roota i paroma innymi informacjami, które muszą być przesłane w sposób względnie bezpieczny. Przygotowałem więc krótki poradnik pozwalający na szybkie uruchomienie szyfrowanej poczty pod dwoma najpopularniejszymi aplikacjami pocztowymi. Standard OpenPGP jest kontynuacją programu PGP, udostępnionego po raz pierwszy w 1991 roku, który zrewolucjonizował światową informatykę dając każdemu użytkownikowi sieci dostęp do nowoczesnych technologii kryptograficznych w przyjaznym i łatwym do użycia opakowaniu. Można sobie zadać pytanie - czy OpenPGP ma rację bytu dzisiaj, gdy wiele mówi się o certyfikatach kwalifikowanych i elektronicznych deklaracjach? Z praktyki wynika, że zdecydowanie tak - pozycja OpenPGP nie jest zagrożona dopóki przy jego pomocy można wdrożyć szyfrowanie poczty praktycznie natychmiast, bez żadnych nakładów finansowych i czasochłonnych kontaktów z poważnymi instytucjami. Podstawy OpenPGP W systemie OpenPGP każdy użytkownik ma dwa klucze: prywatny i publiczny:
· Klucz prywatny przechowujemy bezpiecznie i dodatkowo chronimy przed niepowołanym użyciem za pomocą hasła.
· Klucz publiczny udostępniamy wszystkim swoim znajomym, można go też umieścić na jednym z publicznych serwerów kluczy. Ktoś kto ma nasz klucz publiczny może wysyłać do nas zaszyfrowaną OpenPGP pocztę i pliki oraz weryfikować pocztę lub pliki przez nas podpisane. Instalacja GPG pod Windows Pakiet GPG4Windows zawiera komplet narzędzi potrzebnych do szyfrowania i podpisywania poczty elektronicznej oraz plików w formacie OpenPGP. Poniżej opisana jest procedura instalacji programów oraz generowania pary kluczy.
Po wygenerowaniu klucz pojawia się w okienku programu WinPT, gdzie możemy wprowadzić do niego następujące zmiany (każda z nich wymaga podania hasła):
· dodać nowe adresy email: klikamy na kluczu prawym przyciskiem myszy, wybieramy Add i UserID i podajemy nowe imię, nazwisko, adres email i opcjonalny komentarz (pokaże się w nazwie klucza),
·
· dodać swoje zdjęcie (Add->PhotoID); zdjęcie powinno być w formacie JPEG; zalecane wymiary to 240x288 pikseli; warto jednak pamiętać że dodanie zdjęcia zwiększy rozmiar klucza; standardowy to ok. 1 KB, obniżając jakość JPEG do ok. 50% można osiągnąć jego rozmiar rzędu kilku kilobajtów;
Kompletną listę adresów emailowych w dowolnym kluczu można podejrzeć z poziomu WinPT klikając na klucz prawym przyciskiem i wybierając "List Signatures". Zdjęcie można podejrzeć wybierając Properties.
Po zainstalowaniu GPG4Win baza kluczy będzie przechowywana w katalogu "C:\Documents and Settings\Administrator\Dane aplikacji\gnupg" (lub "C:\Documents and Settings\Administrator\Application Data\gnupg"). Jeśli robimy backup, to warto objąć nim i ten katalog. Binaria programów będą zainstalowane w katalogu "C:\Program Files\GNU\GnuPG" - niektóre aplikacje mogą prosić o podanie tej ścieżki. Instalacja GPG w Thunderbirdzie Korzystanie z GPG w popularnym programie pocztowym Thunderbird jest dziecinnie proste dzięki rozszerzeniu Enigmail. Moduł ten zapewnia praktycznie transparentną obsługę zaszyfrowanych wiadomości, włącznie z importem kluczy z otrzymywanych listów i zarządzaniem nimi.
· Ze strony www.mozilla-europe.org/pl/products/thunderbird/ pobieramy instalator Thunderbirda i instalujemy program. Konfigurujemy konto do ściągania i wysyłania poczty.
· Ze strony enigmail.mozdev.org/ pobieramy aktualną wersję rozszerzenia Enigmail dla programu Thunderbird. Rozszerzenie, w przeciwieństwie do Firefoxa, nie instaluje się automatycznie - należy pobrać plik XPI i zapisać go na dysk (plik "enigmail-0.94.2-tb15-win+lin+mac.xpi" lub podobnie).
· Z menu Thunderbirda wybieramy Narzędzia->Rozszerzenia.
· Wybieramy przycisk Instaluj. Wskazujemy ścieżkę do zapisanego pliku XPI.
· Czekamy kilka sekund i wciskamy Zainstaluj teraz. Okno rozszerzeń powinno wyglądać tak jak poniżej. Restartujemy program.
· Po ponownym uruchomieniu w programie pojawi się nowa pozycja w menu - OpenPGP. Jest to menu dodane przez rozszerzenie Enigmail.
· W menu OpenPGP wybieramy Preferences i w polu "GnuPG Executable Path" wpisujemy "C:\Program Files\GNU\GnuPG\gpg.exe". Jest to ścieżka do głównego programu GPG.
W tym momencie Enigmail jest gotowy do użytku. Od razu możemy zacząć wysyłać pocztę podpisaną cyfrowo:
Aby móc wysłać zaszyfrowany list do kogoś innego musimy mieć jego klucz publiczny. I w drugą stronę, ta osoba musi mieć nasz klucz by wysłać do nas zaszyfrowaną pocztę. Na początku musimy więc wymienić się kluczami:
OpenPGP w Outlook Express Obsługa OpenPGP w programie Outlook Express jest realizowana za pomocą aplikacji GPGoe, dostępnej do pobrania pod adresem wald.intevation.org/projects/gpgoe . Aplikacja jest bardzo prosta w instalacji - na leży go rozpakować i uruchomić program "GPGOEInit.exe". Aplikacja instaluje się w pasku stanu Windows i nie wymaga żadnej dodatkowej konfiguracji po stronie Outlook Express. Podczas tworzenia nowego maila w OE należy zaznaczyć flagi Szyfruj i/lub "Podpisz cyfrowo" w menu Narzędzia. Normalnie aktywują one mechanizmy S/MIME wykorzystujące certyfikaty X.509, ale przy włączonym programie GPGoe będą korzystać z kluczy OpenPGP. Oczywiście OpenPGP musi być wcześniej zainstalowane zgodnie z opisaną wyżej procedurą. Jeszcze o zaufaniu w OpenPGP Jednym z podstawowych problemów w kryptografii jest problem autentyczności klucza - skąd mamy mieć pewność, czy otrzymaliśmy mailem prawdziwy, a nie podrobiony klucz? W OpenPGP nie ma żadnej centralnej instytucji weryfikującej tożsamość właściciela klucza (jak w X.509). W OpenPGP funkcjonuje za to mechanizm podpisywania klucza przez naszych znajomych czy współpracowników. Poniżej widać klucz mojego kolegi z moim podpisem (i jego własnym): Tym podpisem daję innym komunikat: "tak, znam tego Adama, i wiem na pewno że ten klucz należy właśnie do niego". Każdy klucz może mieć dowolną ilość takich podpisów. Z kolei klucze tych, którzy go podpisali też mają podpisy od jeszcze innych osób. W ten sposób, przypominający nieco "sieci społeczne" znane np. z serwisów w stylu LinkedIn tworzy się "sieć zaufania" (web of trust), pozwalająca na stwierdzenie autentyczności klucza przez łańcuszek kluczy bardziej lub mniej znajomych nam osób. Cudzy klucz możemy podpisać w WinPT klikając na nim prawym przyciskiem myszy i wybierając opcję Sign. Musimy podać hasło do swojego klucza prywatnego, bo to nim podpisujemy cudzy klucz. Domyślnie zaznaczona opcja "Sign local only" spowoduje, że podpis będzie miał znaczenie tylko dla naszej lokalnej bazy kluczy - spowoduje, że ten klucz będzie zaufany. Jeśli odznaczymy opcję "Sign local only" podczas podpisywania to taki klucz możemy potem wysłać na serwer lub bezpośrednio do właściciela mailem - nasz podpis będzie widoczny dla wszystkich, którzy zaimportują ten klucz po nas.
Wielu autorów oprogramowania open-source podpisuje opublikowane przez siebie archiwa z kodem źródłowym przy pomocy OpenPGP. W takim przypadku warto udostępnić swój klucz jak najszerszemu gronu odbiorców -opublikować na stronie WWW i wysłać na publiczne serwery kluczy. Serwerów takich jest na świecie kilkadziesiąt i synchronizują one między sobą nowododane klucze. Z poziomu WinPT klucze można wyeksportować na domyślny serwer subkeys.pgp.net/ klikając na kluczu prawym przyciskiem myszy i wybierając "Sent to Keyserver" i wybierając adres serwera. Dodany klucz pojawi się na wszystkich serwerach sieci pgp.net w ciągu około doby. Formularz do "ręcznego" wyszukiwania, importowania i eksportowania kluczy można znaleźć pod adresem www.pgp.net/ . Drugi katalog na który warto wysłać klucz to PGP Global Directory ( https://keyserver.pgp.com/ ). Nie jest on zsynchronizowany z siecią pgp.net. Serwer ten dodatkowo prowadzi usługę automatycznego podpisywania kluczy po zweryfikowaniu poprawności adresu email przypisanego do klucza. Aby wysłać klucz na serwer PGP musimy najpierw wyeksportować go do pliku:
Dodatkowo serwer odeśle nasz klucz podpisany swoim kluczem; plik ten importujemy do WinPT, dodając w ten sposób kolejny podpis do naszego klucza. Przy kolejnym eksporcie nasz klucz zostanie zapisany z tym nowym podpisem. W ten sam sposób możemy dodawać do naszego klucza podpisy złożone przez znajomych.
MATTECHMAT