PGP oznacza całkiem dobrą prywatność. Jest to oprogramowanie szyfrujące zaprojektowane w celu zapewnienia prywatności, bezpieczeństwa i uwierzytelniania systemów komunikacji online. Za pierwszym programem PGP stoi Phil Zimmerman, który według niego został udostępniony bezpłatnie ze względu na rosnące zapotrzebowanie społeczne na prywatność.
Od momentu powstania w 1991 roku powstało wiele wersji oprogramowania PGP. W 1997 roku Phil Zimmerman przedstawił Grupie Zadaniowej ds. Inżynierii Internetowej (IETF) propozycję stworzenia standardu PGP o otwartym kodzie źródłowym. Propozycja została zaakceptowana i doprowadziła do stworzenia protokołu OpenPGP, który definiuje standardowe formaty kluczy szyfrujących i wiadomości.
Chociaż początkowo był używany tylko do ochrony wiadomości e-mail i załączników, obecnie PGP jest stosowany w szerokim zakresie zastosowań, w tym w podpisach cyfrowych, szyfrowaniu całego dysku i ochronie sieci.
PGP był początkowo własnością firmy PGP Inc, która później została przejęta przez Network Associates Inc. W 2010 roku firma Symantec Corp. nabyła PGP za 300 milionów dolarów i obecnie termin ten jest znakiem towarowym używanym dla jej produktów kompatybilnych z OpenPGP.
Jak to działa?
PGP jest jednym z pierwszych powszechnie dostępnych programów implementujących kryptografię klucza publicznego. Jest to hybrydowy system kryptograficzny, który wykorzystuje zarówno szyfrowanie symetryczne, jak i asymetryczne, aby osiągnąć wysoki poziom bezpieczeństwa.
W podstawowym procesie szyfrowania tekstu zwykły tekst (dane, które można łatwo zrozumieć) jest konwertowany na tekst zaszyfrowany (dane nieczytelne). Jednak zanim nastąpi proces szyfrowania, większość systemów PGP wykonuje kompresję danych. Kompresując zwykłe pliki tekstowe przed ich przesłaniem, PGP oszczędza miejsce na dysku i czas transmisji, jednocześnie poprawiając bezpieczeństwo.
Po skompresowaniu pliku rozpoczyna się właściwy proces szyfrowania. Na tym etapie skompresowany plik tekstowy jest szyfrowany jednorazowym kluczem, zwanym kluczem sesji. Klucz ten jest generowany losowo przy użyciu kryptografii symetrycznej, a każda sesja komunikacyjna PGP ma unikalny klucz sesji.
Sam klucz sesji (1) jest następnie szyfrowany przy użyciu szyfrowania asymetrycznego: zamierzony odbiorca (Bob) udostępnia swój klucz publiczny (2) nadawcy wiadomości (Alice), aby mógł zaszyfrować klucz sesji. Ten krok umożliwia Alicji bezpieczne udostępnienie klucza sesji Bobowi przez Internet, niezależnie od warunków bezpieczeństwa.

Szyfrowanie asymetryczne klucza sesyjnego odbywa się zwykle przy użyciu algorytmu RSA. Wiele innych systemów szyfrowania wykorzystuje RSA, w tym protokół Transport Layer Security (TLS), który chroni większość Internetu.
Po przesłaniu zaszyfrowanego tekstu wiadomości i zaszyfrowanego klucza sesji Bob może użyć swojego klucza prywatnego (3) do odszyfrowania klucza sesji, który jest następnie używany do odszyfrowania tekstu zaszyfrowanego z powrotem do postaci zwykłego tekstu.

Oprócz podstawowego procesu szyfrowania i deszyfrowania, PGP obsługuje także podpisy cyfrowe, które spełniają co najmniej trzy funkcje:
Uwierzytelnianie: Bob może sprawdzić, czy nadawcą wiadomości była Alicja.
Integralność: Bob może być pewien, że wiadomość nie została zmodyfikowana.
Niezaprzeczalność: Po podpisaniu wiadomości cyfrowej Alicja nie może twierdzić, że jej nie wysłała.
Przypadków użycia
Jednym z najczęstszych zastosowań protokołu PGP jest ochrona wiadomości e-mail. Wiadomość e-mail zabezpieczona protokołem PGP jest konwertowana na ciąg znaków, których nie można odczytać (tekst zaszyfrowany) i które można odszyfrować jedynie za pomocą odpowiedniego klucza deszyfrującego. Mechanizmy działania w przypadku ochrony wiadomości tekstowych są w dużej mierze takie same, a istnieją również aplikacje, które umożliwiają implementację protokołu PGP na innych aplikacjach, dodając system szyfrowania do niezabezpieczonych usług przesyłania wiadomości.
Chociaż protokół PGP jest używany głównie do zabezpieczania komunikacji internetowej, można go również zastosować do szyfrowania poszczególnych urządzeń. W tym kontekście PGP można zastosować do partycji dysku komputera lub urządzenia mobilnego. Podczas szyfrowania dysku twardego użytkownik będzie musiał podać hasło przy każdym uruchomieniu systemu.
Zalety i wady
Dzięki połączonemu wykorzystaniu szyfrowania symetrycznego i asymetrycznego, PGP umożliwia użytkownikom bezpieczne udostępnianie informacji i kluczy kryptograficznych w Internecie. Jako system hybrydowy, PGP korzysta zarówno z bezpieczeństwa kryptografii asymetrycznej, jak i szybkości szyfrowania symetrycznego. Oprócz bezpieczeństwa i szybkości podpisy cyfrowe gwarantują integralność danych i autentyczność nadawcy.
Protokół OpenPGP umożliwił powstanie ustandaryzowanego środowiska konkurencyjnego, a rozwiązania PGP są obecnie dostarczane przez różne firmy i organizacje. Mimo to wszystkie programy PGP zgodne ze standardami OpenPGP są ze sobą kompatybilne. Oznacza to, że pliki i klucze wygenerowane w jednym programie można bez problemu wykorzystać w innym.
Jeśli chodzi o wady, systemy PGP nie są zbyt łatwe w użyciu i zrozumieniu, szczególnie dla użytkowników z niewielką wiedzą techniczną. Ponadto wielu uważa, że duża długość kluczy publicznych jest dość niewygodna.
W 2018 roku Electronic Frontier Foundation (EFF) opublikowała poważną lukę o nazwie EFAIL. EFAIL umożliwił atakującym wykorzystanie aktywnej zawartości HTML w zaszyfrowanych wiadomościach e-mail w celu uzyskania dostępu do wersji wiadomości w postaci zwykłego tekstu.
Jednakże niektóre problemy opisane przez EFAIL były już znane społeczności PGP od końca lat 90-tych i tak naprawdę luki te są związane z różnymi implementacjami klientów poczty e-mail, a nie z samym PGP. Zatem pomimo alarmujących i wprowadzających w błąd nagłówków, PGP nie zostało złamane i pozostaje bardzo bezpieczne.
Podsumowując
Od czasu opracowania w 1991 r. PGP jest niezbędnym narzędziem do ochrony danych i jest obecnie używany w szerokiej gamie zastosowań, zapewniając prywatność, bezpieczeństwo i uwierzytelnianie dla różnych systemów komunikacyjnych i dostawców usług cyfrowych.
Chociaż odkrycie luki w EFAIL w 2018 r. wzbudziło poważne obawy co do żywotności protokołu, podstawowa technologia nadal jest uważana za solidną i kryptograficzną. Warto zauważyć, że różne implementacje PGP mogą prezentować różne poziomy bezpieczeństwa.

