Artykuł pochodzi z wydania: Listopad 2020
W świecie narażonym na cyfrową inwigilację szyfrowanie danych okazuje się kluczem do zapewnienia ochrony prywatności w korespondencji prowadzonej za pomocą poczty elektronicznej. W tym celu sprawdzi się silne narzędzie kryptograficzne, takie jak OpenPGP.
Bezpieczeństwo poczty e-mail realizowane jest na wielu płaszczyznach. Podstawowym zabezpieczeniem pozostaje szyfrowanie komunikacji, a więc haseł i treści przesyłanych między klientem poczty a serwerem w szyfrowanych wersjach protokołów POP3, IMAP i SMTP. Na serwerach poczty masowo działają zaawansowane filtry antyspamowe i antywirusowe, zaś mechanizm autoryzacji SMTP wydatnie ogranicza rozsyłanie spamu. Zaawansowane techniki DNS, np. SPF, DKIM, DMARC czy DNSSEC, wprowadzają dodatkową warstwę ochrony przed phishingiem. Problem w tym, że żadne z wymienionych zabezpieczeń nie gwarantuje zachowania poufności korespondencji ani nie pozwala z całą stanowczością potwierdzić tożsamości nadawcy. W tym obszarze do wyboru mamy dwa konkurujące standardy: OpenPGP i S/MIME (oparty na certyfikatach X.509 i Infrastrukturze Klucza Publicznego). Mimo obecności obu standardów na rynku od blisko trzech dekad żaden nie wszedł do użytku na szerszą skalę.
Standard RFC 4880
OpenPGP to otwarty standard dla szyfrowania i deszyfrowania danych. Opisany został przez OpenPGP Working Group w dokumencie RFC 4880 i zatwierdzony przez Internet Engineering Task Force (IETF). Dokument zawiera najważniejsze informacje potrzebne do rozwoju interoperacyjnych aplikacji bazujących na formacie OpenPGP. Specyfikacja RFC 4880 wyróżnia zestaw wymaganych algorytmów szyfrowania ElGamal, DSA, DES i SHA-1, AES-128, CAST-128 oraz IDEA ze wskazaniem na RSA opisanym w PKCS #1 v1.5 dla szyfrowania i podpisywania danych. OpenPGP spełnia trzy podstawowe założenia gwarantujące bezpieczeństwo: poufność (confidentiality), integralność (integrity) oraz dostępność (availability). Przez poufność należy rozumieć tutaj możliwość zapewnienia tajności korespondencji i danych poprzez ich szyfrowanie. Tylko nadawca i odbiorca mogą odczytać komunikat. Zapewnienie integralności wymaga, aby oprogramowanie pozwalało zweryfikować, czy informacje nie zostały zmienione podczas ich przesyłania przez Sieć lub przechowywania na nośniku pamięci. Funkcja ta realizowana jest poprzez złożenie podpisu cyfrowego pod wiadomością albo sygnatury cyfrowej pod pakietem oprogramowania. Z kolei dostępność w OpenPGP może być rozumiana jako publiczny dostęp do katalogu kluczy osób, z którymi zamierzamy się komunikować.
Łyk historii
Historia rozpoczyna się w 1991 r., kiedy to Phil Zimmermann stworzył oprogramowanie PGP do szyfrowania, odszyfrowywania oraz weryfikacji nadawcy poczty elektronicznej. W tamtych czasach PGP było pierwszym prawdziwie silnym narzędziem kryptograficznym dostępnym dla użytkownika końcowego. Zabezpieczonych w ten sposób danych nie mogły odszyfrować nawet służby specjalne.
Wokół PGP szybko narosło sporo kontrowersji. Najbardziej znane zdarzenie z tamtego okresu dotyczy wydrukowania kodu źródłowego aplikacji na papierze i przetransportowania go do Europy, aby ominąć restrykcje dotyczące eksportu oprogramowania kryptograficznego poza USA w formie elektronicznej. Wobec Zimmermanna wszczęto trzyletnie dochodzenie, po umorzeniu którego ten zdecydował się nadać swojemu projektowi komercyjną formę. Zmiana zmobilizowała społeczność do prac nad otwartym standardem, czego efektem była wydana w 1997 r. specyfikacja OpenPGP. Dwa lata później w internecie, pod nazwą GnuPG (GNU Privacy Guard), pojawiła się niezależna implementacja oprogramowania oparta na tym standardzie.
[…]
Artur Pęczak
Autor zawodowo zajmuje się informatyką. Publikuje w magazynach komputerowych i serwisach internetowych.