PGP (Pretty Good Privacy) — definicja, szyfrowanie i podpis e-mail

PGP — definicja, działanie, szyfrowanie i podpis e-mail. Krok po kroku: klucze, OpenPGP, konfiguracja i praktyczne porady dla bezpiecznej komunikacji pocztowej.

Autor: Leandro Alegsa

Pretty Good Privacy (PGP) to program komputerowy, który zapewnia kryptograficzną prywatność i uwierzytelnianie. PGP jest często używany do podpisywania, szyfrowania i odszyfrowywania poczty elektronicznej (e-maili) w celu zwiększenia bezpieczeństwa komunikacji e-mailowej. Pierwotnie został stworzony przez Phila Zimmermanna w 1991 roku.

PGP i inne podobne produkty wykorzystują standard OpenPGP (RFC 4880) do szyfrowania i odszyfrowywania danych.

Co to jest PGP i dlaczego się go używa

PGP to system kryptografii asymetrycznej, który pozwala na bezpieczne przesyłanie wiadomości oraz potwierdzanie tożsamości nadawcy. Dzięki PGP możesz:

  • zaszyfrować wiadomość tak, aby tylko upoważniona osoba (posiadająca odpowiedni klucz prywatny) mogła ją odczytać,
  • podpisać cyfrowo wiadomość, co pozwala odbiorcy zweryfikować, że wiadomość pochodzi od Ciebie i nie została zmieniona,
  • szyfrować pliki i tworzyć bezpieczne archiwa,
  • zarządzać kluczami oraz ich zaufaniem (tzw. „web of trust”).

Jak działa PGP — najważniejsze koncepcje

  • Klucze publiczny/prywatny: każdy użytkownik generuje parę kluczy — publiczny (do udostępniania innym) i prywatny (który należy chronić). Wiadomość zaszyfrowana kluczem publicznym może być odszyfrowana tylko kluczem prywatnym tej osoby.
  • Szyfrowanie hybrydowe: PGP używa kombinacji kryptografii asymetrycznej (do bezpiecznej wymiany klucza sesyjnego) oraz szyfrowania symetrycznego (do szyfrowania samej treści). Dzięki temu jest szybkie i bezpieczne.
  • Podpis cyfrowy: podpis tworzy się przez obliczenie skrótu (hash) wiadomości i zaszyfrowanie go kluczem prywatnym nadawcy. Odbiorca odszyfrowuje podpis kluczem publicznym nadawcy i porównuje hashe.
  • Odcisk (fingerprint): krótki, unikatowy identyfikator klucza publicznego, używany do jego weryfikacji przez zaufany kanał.

Zarządzanie kluczami i model zaufania

  • Web of Trust: model zaufania używany tradycyjnie w PGP — użytkownicy podpisują klucze innych użytkowników, tworząc sieć powiązań zaufania.
  • Serwery kluczy i WKD: publiczne klucze można publikować na serwerach kluczy (HKP) lub korzystać z Web Key Directory (WKD), aby inni łatwo znaleźli Twój klucz.
  • Revokacja: zawsze wygeneruj certyfikat unieważnienia (revocation certificate) po utworzeniu klucza i przechowuj go w bezpiecznym miejscu — przyda się, jeśli zgubisz klucz prywatny lub zostanie skompromitowany.

Implementacje i narzędzia

Najpopularniejsze i powszechnie rekomendowane implementacje to:

  • GnuPG (GPG) — wolne oprogramowanie zgodne ze standardem OpenPGP, dostępne na Linux, Windows i macOS, często używane w skryptach i aplikacjach.
  • Gpg4win (Windows) — pakiet zawierający GnuPG, Kleopatra (gui) i integracje z systemem.
  • Kleopatra, Enigmail (historycznie) — narzędzia do integracji z klientami poczty; obecnie Thunderbird ma wbudowane wsparcie OpenPGP, a dla webmaili dostępne są rozszerzenia typu Mailvelope.
  • Niektóre usługi pocztowe (np. ProtonMail) oferują zgodność z OpenPGP lub narzędzia do importu/eksportu kluczy.

Formaty i użycie z pocztą elektroniczną

  • ASCII Armor: PGP potrafi zamienić dane binarne na tekstowy blok rozpoczynający się od -----BEGIN PGP MESSAGE-----, co ułatwia przesyłanie e-mailami.
  • Szyfrowanie plików: poza e-mailami PGP jest używane do szyfrowania pojedynczych plików lub archiwów.
  • Praktyczne kroki użycia z e-mailem:
    1. wygeneruj parę kluczy (publiczny i prywatny),
    2. udostępnij swój klucz publiczny odbiorcom lub umieść go na serwerze kluczy/WKD,
    3. zweryfikuj odciski (fingerprints) kluczy osób, z którymi wymieniasz wiadomości,
    4. szyfruj wiadomości kluczem publicznym odbiorcy i podpisuj za pomocą własnego klucza prywatnego.

Dobre praktyki i bezpieczeństwo

  • Używaj silnej frazy (passphrase) do ochrony klucza prywatnego i nigdy nie udostępniaj klucza prywatnego innym.
  • Regularnie twórz kopie zapasowe klucza prywatnego oraz przechowuj certyfikat unieważnienia w bezpiecznym miejscu.
  • Weryfikuj odciski kluczy przez zaufany kanał (np. rozmowa telefoniczna, osobiste spotkanie) zamiast polegać wyłącznie na serwerach kluczy.
  • Ustaw rozsądne daty wygaśnięcia klucza i odnawiaj je w razie potrzeby.
  • Stosuj aktualne algorytmy i długości kluczy — obecnie rekomendowane są m.in. RSA 3072/4096 lub nowoczesne krzywe eliptyczne (Ed25519, Curve25519) w zależności od implementacji.

Ograniczenia i zagrożenia

  • Modele zaufania (web of trust) mogą być trudne do zarządzania na większą skalę — w praktyce wiele organizacji korzysta z hybrydowych rozwiązań lub PKI.
  • Publiczne serwery kluczy przechowują klucze bez centralnej kontroli — usunięcie klucza z serwera może być trudne, jeśli został opublikowany.
  • Bezpieczeństwo zależy od ochrony klucza prywatnego i siły hasła; skompromitowany klucz oznacza utratę poufności i/lub możliwości podszywania się.
  • PGP nie chroni przed metadata (np. nagłówkami e-maili) — szyfrowana treść nie ukryje informacji o tym, kto koresponduje z kim.

Podsumowanie

PGP (i standard OpenPGP) to sprawdzona technologia do szyfrowania i podpisywania wiadomości oraz plików. Przy prawidłowym użyciu i zarządzaniu kluczami zapewnia wysoki poziom poufności i uwierzytelniania. W praktyce warto korzystać z zaufanych implementacji (np. GnuPG), weryfikować odciski kluczy, tworzyć kopie zapasowe i revokacje oraz stosować aktualne algorytmy kryptograficzne.

OpenPGP

OpenPGP znajduje się w Internet Standards Track; aktualna specyfikacja to RFC 4880 (listopad 2007). OpenPGP jest nadal w fazie rozwoju, a następca RFC 2440, czyli RFC 4880, został uznany za proponowany standard. Wiele klientów poczty elektronicznej zapewnia bezpieczeństwo poczty elektronicznej zgodne z OpenPGP, jak opisano w RFC 3156.

Fundacja Wolnego Oprogramowania stworzyła swój własny program zgodny z OpenPGP o nazwie GNU Privacy Guard (w skrócie GnuPG lub GPG). GnuPG jest swobodnie dostępny wraz z całym kodem źródłowym na licencji GNU General Public License (GPL) i jest utrzymywany oddzielnie od kilku graficznych interfejsów użytkownika (GUI), które współdziałają z biblioteką GnuPG w zakresie szyfrowania, deszyfrowania i podpisywania (zobacz KGPG, Seahorse, MacGPG). Kilku innych producentów stworzyło również oprogramowanie zgodne z OpenPGP.

Powiązane strony

  • FreeOTFE - Szyfrowanie dysków
  • PuTTY - szyfrowanie SSH


Przeszukaj encyklopedię
AlegsaOnline.com - 2020 / 2025 - License CC3