publicprivateencryptedOpenPGP envelope + signature

PGP šifrování

11 min přečtenoKryptografie

Pretty Good Privacy oslaví 35 let v roce 2026 a stále neexistuje nic jiného, ​​co by dělalo to, co dělá: end-to-end šifrování pro libovolná data s modelem klíče, který nezávisí na žádné centrální autoritě. Uživatelská zkušenost je hrozná, moderní bezpečnostní architektura ji předčila, a přesto pro některé specifické úkoly zůstává PGP odpovědí.

Celé tělo článku je uvedeno níže v angličtině.

PGP (Pretty Good Privacy) vytvořil Phil Zimmermann v roce 1991, původně jako způsob šifrování e-mailů aktivistů pod hrozbou amerického stíhání za kontrolu exportu. Po právních bitvách a standardizaci v IETF jako OpenPGP (RFC 4880, obnoveno v RFC 9580 v roce 2024) se stal de facto standardem pro data nešifrovaná v reálném čase. Open-source implementace GnuPG je v podstatě v každé distribuci Linuxu a na mnoha dalších místech.

Co vám PGP dává

Čtyři možnosti, používané nezávisle nebo společně:

  • Encryption — šifrování souboru/zprávy na jeden nebo více veřejných klíčů příjemců pouze jejich soukromé klíče jej dešifrují.
  • Signing — vytvořte kryptografický podpis přes soubor s vaším soukromým klíčem; kdokoli, kdo má váš veřejný klíč, může ověřit autenticitu a integritu souboru.
  • Kombinované šifrování-a-podepisování – obojí najednou.
  • Certifikace klíče – podepište veřejný klíč někoho jiného, abyste vyjádřili své přesvědčení, že klíč skutečně patří webu Trust.

Jak klíč OpenPGP skutečně vypadá

Klíč OpenPGP je strukturovaný blob obsahující:

  • A primární klíč (dlouhodobý, používaný pro certifikaci)
  • Jeden nebo více podklíčů používaných pro šifrování a podklíče ze dne na den)
  • ID uživatelů (e-mailové adresy a jména svázaná s tímto klíčem)
  • Vlastní podpisy a podpisy třetích stran spojující všechny výše uvedené

Rozdělení na primární + podklíče umožňuje uživatelům pravidelně udržovat primární klíč offline a střídat podklíče Většina uživatelů to neobtěžuje. Výchozí režimy generování klíčů toto vše dělají automaticky.

Identitní model webu Trust

PGP je decentralizovaný: neexistuje žádná centrální autorita. Místo toho si uživatelé vzájemně podepisují klíče na „stranách podepisujících klíče“ nebo prostřednictvím osobního ověření. Pokud Alice podepíše Bobův klíč, Carol – která Alicině podpisu důvěřuje – může rozšířit důvěru na Bobův klíč. Web of Trust spojuje uživatele prostřednictvím řetězců vzájemných podpisů.

V praxi Web of Trust nikdy nefungoval v měřítku mimo malé komunity cypherpunks. Pro většinu uživatelů se model důvěry zhroutí na „Důvěřuji tomuto klíči, protože mi ho někdo poslal e-mailem“ nebo „Důvěřuji tomuto klíči, protože jsem si ho stáhl z oficiální stránky klíčů“. Moderní alternativy, jako je Web Key Directory (WKD), automatizují načítání správného klíče z domény příjemce.

Proč je těžké používat PGP

Neúspěchy v uživatelské zkušenosti jsou známé:

  • Správa klíčů vyžaduje porozumění veřejným/soukromým klíčům, vypršení platnosti klíčů, vypršení platnosti klíčů servers.
  • Výchozí nástroje (gpg, kleopatra) mají povrchy určené pro kryptografy.
  • Šifrované e-maily jsou natolik vzácné, že příjemci často nemají klíče, nemohou dešifrovat vaši zprávu nebo nevědí, jak nastavit svého klienta.XPLZ60 Podpora mobilních zařízení je63X6Z61XPLXX opt-in a stává se to jen zřídka; staré kompromitované klíče přetrvávají na klíčových serverech po celá desetiletí.

Dokument EFAIL z roku 2018 ukázal rozsáhlé implementační chyby v poštovních klientech podporujících PGP, které by mohly být zneužity k exfiltraci prostého textu. Chyby byly opraveny; širší poučení uvízlo: správně nastavit šifrované e-mailové nástroje je skutečně obtížné.

Tam, kde PGP stále vítězí

Navzdory kritice zůstává PGP odpovědí na několik případů použití:

  • Podepisování softwarových verzí. Linuxové distribuce, správci balíčků a mnoho projektů s otevřeným zdrojovým kódem používají ve verzích podpisy PGP. Infrastruktura je vyspělá, podpisy cestují se soubory a jejich ověření nevyžaduje zpáteční cestu po síti.
  • Podepisování Git commitů. GitHub, GitLab a Gerrit ověřují PGP podpisy na commitech a značkách. Model je stejný jako u verzí.
  • Důvěrný přenos souboru známému příjemci. Zašifrování citlivého souboru na klíč PGP kolegy a jeho odeslání přes libovolný kanál funguje asynchronně, bez účasti třetí strany.
  • Whistleblowing a podobné systémy stále používají žurnalizaci PLDPG a OpenZ14. Komunikace mezi zdroji a novináři, kde modely hrozeb překračují rámec Signalu.
  • Šifrované zálohy. Zálohování do nedůvěryhodného cloudu a šifrování pomocí PGP na klíč, který ovládáte, je jedním z mála běžných použití, kde je tření přijatelné. se pokusili udělat PGP použitelné. Web Key Directory (WKD) umožňuje uživatelům publikovat klíče na https://example.com/.well-known/openpgpkey/..., které mohou klienti automaticky dotazovat. Sequoia-PGP je Rust reimplementace OpenPGP s moderním krypto a čistším API. Proton Mail používá OpenPGP interně, ale skrývá složitost za uživatelské rozhraní webové pošty. Mailvelope přináší OpenPGP do běžné webové pošty. Reformy situaci zlepšily; PGP je stále jen zřídka tím správným nástrojem pro příležitostnou komunikaci.

    OpenPGP vs Signal Protocol

    Pro zasílání zpráv v reálném čase tam, kde jsou uživatelé online, je Signal Protocol mnohem lepší – lepší dopředné utajení, lepší UX, vyspělí mobilní klienti. Pro asynchronní šifrování souborů/dat s trvalými identitami a případy použití offline nemá OpenPGP stále žádného skutečného konkurenta. Dva řeší sousední, ale různé problémy.

Často kladené otázky

Mám používat PGP pro e-mail?
Pravděpodobně ne jako výchozí. Pokud vaši korespondenti již PGP používají a váš model ohrožení to vyžaduje (novináři, právníci, bezpečnostní výzkumníci, aktivisté), ano. Pro běžnou komunikaci je použitelnější Signal nebo jiný moderní šifrovaný messenger. Pro asynchronní přenos souborů s modely silných hrozeb je PGP stále vhodné.
Jaký je rozdíl mezi PGP a OpenPGP?
PGP je původní komerční software od Phila Zimmermanna (později prodaný společnosti Symantec). OpenPGP je otevřený standard, na kterém se dohodla širší komunita, definovaný v IETF RFC. GnuPG (GPG) je nejpoužívanější bezplatná implementace OpenPGP. Při běžném použití „PGP“ obvykle znamená „software kompatibilní s OpenPGP“.
Je PGP kvantově bezpečný?
Současné šifrovací sady OpenPGP (RSA, ECDH) nejsou. Aktualizace RFC 9580 OpenPGP přidala postkvantové hybridní režimy; přijetí je pomalé, protože nic nevynucuje střídání klíčů. „Sklízejte nyní, dešifrujte později“ je skutečným problémem pro data šifrovaná PGP s dlouhodobou hodnotou.
Proč EFAIL zlomil PGP?
Neprolomilo šifrování – rozbilo poštovní klienty, kteří dešifrovali zprávy PGP a poté automaticky vykreslili HTML a načetli vzdálené obrázky. Vytvořená zpráva by mohla klienta přimět k odeslání dešifrovaného obsahu zpět útočníkovi prostřednictvím adres URL obrázků. Kryptografická obálka byla v pořádku; prosakovala aplikační vrstva. Poštovní klienti od té doby chyby zabezpečení opravili.
Mohu použít stejný klíč PGP pro více e-mailových adres?
Ano – klíč OpenPGP může mít více ID uživatele, jedno na e-mailovou adresu. ID uživatele můžete časem přidávat nebo odebírat, aniž byste měnili samotný klíč. Nástroje jako Web Key Directory to očekávají; někteří klienti jsou stále zmateni, zejména pokud jsou některá ID uživatelů zrušena.
PGP a OpenPGP: Starý, tvrdohlavý, nedokonalý nástroj pro šifrované e-maily