OpenPGP i szyfrowanie wiadomości e-mail


Inne

openpgp-logo4

Prywatność w sieci jest aspektem, na który zwracamy coraz większą uwagę. Szyfrowanie end to end (inaczej E2EE), gdzie tylko osoby komunikujące się miedzy sobą mogą odczytać wiadomości, jest jednym z najważniejszych aspektów prywatności. Szyfrowanie tego typu uniemożliwia podsłuchanie wiadomości przez osoby trzecie, czy też dostęp do treści takiej wiadomości przez naszego usługodawcę.

Protokoły poczty elektronicznej zostały zaprojektowane wiele lat temu i domyślnie nie wspierały szyfrowania E2EE. W związku z tym w 1991 roku powstał projekt PGP, który rozszerzał bezpieczeństwo poczty e-mail i dawał możliwość szyfrowania wiadomości. Ze względu na zmianę licencji PGP na komercyjną, został stworzony nowy standard – OpenPGP.

OpenPGP możemy zdefiniować jako standard określający sposób szyfrowania oraz cyfrowego podpisywania wiadomości. Wykorzystane jest szyfrowanie asymetryczne, oparte o klucz publiczny i prywatny. Do komunikacji z innymi osobami będziemy, więc potrzebować takiej pary kluczy. Klucz prywatny należy przechowywać w bezpiecznym miejscu i nikomu w żaden sposób go nie udostępniać. Natomiast klucz publiczny zgodnie z jego nazwą można, a nawet trzeba przekazać naszemu odbiorcy. Są tu różne możliwości np. wysłanie go komunikatorem lub wiadomością e-mail, osobiste przekazanie, skorzystanie z kodu QR, udostępnienie w internetowym serwisie albo na swoje stronie. Może to być dość niewygodne, co jest jedną z wad tego rozwiązania.

W uproszczony sposób możemy powiedzieć, że szyfrowanie wiadomości działa w następujący sposób.

  1. Nadawca wiadomości do jej zaszyfrowania wykorzystuje klucz publiczny osoby, z którą chce się skontaktować.
  2. Zaszyfrowana wiadomość jest przesyłana do odbiorcy.
  3. Odbiorca odszyfrowuje wiadomość za pomocą swojego klucza prywatnego.

Tak zaszyfrowaną wiadomość może odczytać tylko i wyłącznie posiadacz klucza prywatnego.

W podobny sposób działa cyfrowe podpisywanie wiadomości. Wiadomość podpisujemy za pomocą klucza prywatnego, a poprawność podpisu odbiorca może sprawdzić korzystając z klucza publicznego.

Jeżeli chcemy skorzystać z OpenPGP w korespondencji, to potrzebujemy programu pocztowego ze wsparciem tej technologii. Jednym z takich programów jest Thunderbird, który od wersji 78 posiada wbudowaną obsługę szyfrowania end to end.

Konfiguracja odbywa się w zakładce „Ustawienia Kont”, gdzie w menu należy odszukać interesujące nas konto i wybrać „Szyfrowanie end-to-end„.

zakladka-szyfrowanie

W pierwszej kolejności musimy dodać nowy klucz (lub zaimportować istniejący np. z innego programu pocztowego).

openpgp-dodaj-klucz

Wybieramy jeszcze konfigurację czasu ważności klucza czy też algorytmu szyfrowania i zatwierdzamy.

openpgp-ustawienia-klucza

Po wygenerowaniu klucza, w zakładce „Szyfrowanie end-to-end” możemy pobrać nasz klucz publiczny, aby udostępnić go innym osobom, jak również możemy wykonać kopię zapasową klucza prywatnego.

openpgp-publikowanie-klucza

Klucz publiczny innej osoby możemy zaimportować w „Menedżerze kluczy OpenPGP”. Należy wybrać z menu Plik -> Importuj klucze publiczne z pliku. Jest również możliwość pobrania kluczy z adresu URL lub wyszukania na serwerze kluczy.

Jak zaszyfrować wiadomość? Nic prostszego, przy tworzeniu wiadomości wystarczy w menu „Zabezpieczenia” zaznaczyć „Wymagaj szyfrowania”. Należy jednak pamiętać, że potrzebujemy do tego klucza publicznego osoby, do której chcemy wysłać wiadomość.

openpgp-szyfruj

Przy tworzeniu wiadomości możemy również załączyć nasz publiczny klucz (w menu OpenPGP -> Dołącz mój klucz publiczny), aby odbiorca mógł nam przesłać zaszyfrowaną odpowiedź (jeżeli nie posiada jeszcze naszego klucza publicznego).

Mamy również możliwość cyfrowego podpisania wiadomości. Podpis cyfrowy potwierdza nadawcę wiadomości oraz czy wiadomość nie została zmodyfikowana przez osobę trzecią. W przypadku podpisu klucz publiczny odbiorcy nie jest potrzebny.

Thunderbird automatycznie odszyfruje otrzymaną wiadomość. Klikając w ikonkę OpenPGP w oknie wiadomości możemy również zweryfikować czy wiadomość została zaszyfrowana, bądź czy cyfrowy podpis jest prawidłowy.

openpgp-weryfikacja

Jak widzimy konfiguracja i sposób wymiany się kluczami może być kłopotliwy w codziennym użytkowaniu, niemniej jeżeli zależy nam na zwiększeniu prywatności i zachowaniu poufności korespondencji, to warto poświęcić temu procesowi odrobinę czasu.