PGP znamená Pretty Good Privacy. Jedná se o šifrovací software navržený tak, aby poskytoval soukromí, zabezpečení a ověřování pro online komunikační systémy. Phil Zimmerman stojí za prvním programem PGP a podle něj byl volně dostupný kvůli rostoucí společenské poptávce po soukromí.
Od svého vzniku v roce 1991 bylo vytvořeno mnoho verzí softwaru PGP. V roce 1997 Phil Zimmerman navrhl Internet Engineering Task Force (IETF) na vytvoření open-source standardu PGP. Návrh byl přijat a vedl k vytvoření protokolu OpenPGP, který definuje standardní formáty pro šifrovací klíče a zprávy.
Ačkoli se PGP původně používalo pouze pro zabezpečení e-mailových zpráv a příloh, nyní se používá pro širokou škálu případů použití, včetně digitálních podpisů, úplného šifrování disku a ochrany sítě.
PGP původně vlastnila společnost PGP Inc, kterou později koupila společnost Network Associates Inc. V roce 2010 společnost Symantec Corp. získala PGP za 300 milionů dolarů a tento termín je nyní ochrannou známkou používanou pro jejich produkty vyhovující OpenPGP.
Jak to funguje?
PGP patří mezi první široce dostupný software pro implementaci kryptografie veřejného klíče. Jde o hybridní kryptosystém, který využívá jak symetrické, tak asymetrické šifrování pro dosažení vysoké úrovně zabezpečení.
V základním procesu šifrování textu se prostý text (data, kterým lze jasně rozumět) převádí na šifrovaný text (nečitelná data). Než však dojde k procesu šifrování, většina systémů PGP provádí kompresi dat. Tím, že PGP zkomprimuje soubory ve formátu prostého textu před jejich přenosem, šetří místo na disku i čas přenosu – a zároveň zlepšuje zabezpečení.
Po kompresi souboru začíná vlastní proces šifrování. V této fázi je komprimovaný soubor ve formátu prostého textu zašifrován jednorázovým klíčem, který je známý jako klíč relace. Tento klíč je náhodně generován pomocí symetrické kryptografie a každá komunikační relace PGP má jedinečný klíč relace.
Poté je samotný klíč relace (1) zašifrován pomocí asymetrického šifrování: zamýšlený příjemce (Bob) poskytne svůj veřejný klíč (2) odesílateli zprávy (Alice), aby mohla klíč relace zašifrovat. Tento krok umožňuje Alici bezpečně sdílet klíč relace s Bobem prostřednictvím internetu bez ohledu na bezpečnostní podmínky.
Asymetrické šifrování klíče relace se obvykle provádí pomocí algoritmu RSA. Mnoho dalších šifrovacích systémů používá RSA, včetně protokolu Transport Layer Security (TLS), který zabezpečuje velkou část internetu.
Jakmile je šifrovaný text zprávy a šifrovaný klíč relace přeneseny, může Bob použít svůj soukromý klíč (3) k dešifrování klíče relace, který se pak použije k dešifrování šifrovaného textu zpět na původní prostý text.
Kromě základního procesu šifrování a dešifrování podporuje PGP také digitální podpisy – které slouží minimálně třem funkcím:
Autentizace: Bob může ověřit, že odesílatelem zprávy byla Alice.
Integrita: Bob si může být jistý, že zpráva nebyla změněna.
Neodmítnutí: poté, co je zpráva digitálně podepsána, Alice nemůže tvrdit, že ji neposlala.
Případy užití
Jedním z nejběžnějších použití PGP je zabezpečení e-mailů. E-mail, který je chráněn pomocí PGP, se změní na řetězec znaků, které jsou nečitelné (šifrovaný text) a lze je dešifrovat pouze pomocí odpovídajícího dešifrovacího klíče. Pracovní mechanismy jsou prakticky stejné pro zabezpečení textových zpráv a existují také některé softwarové aplikace, které umožňují implementaci PGP nad jiné aplikace, čímž efektivně přidávají šifrovací systém k nezabezpečeným službám zasílání zpráv.
Přestože se PGP většinou používá k zabezpečení internetové komunikace, lze jej použít i k šifrování jednotlivých zařízení. V této souvislosti lze PGP použít na diskové oddíly počítače nebo mobilního zařízení. Šifrováním pevného disku bude uživatel požádán o zadání hesla při každém spuštění systému.
Výhody a nevýhody
Díky kombinovanému použití symetrického a asymetrického šifrování umožňuje PGP uživatelům bezpečně sdílet informace a kryptografické klíče přes internet. Jako hybridní systém využívá PGP jak bezpečnost asymetrické kryptografie, tak rychlost symetrického šifrování. Kromě bezpečnosti a rychlosti zajišťují digitální podpisy integritu dat a pravost odesílatele.
Protokol OpenPGP umožnil vznik standardizovaného konkurenčního prostředí a řešení PGP nyní poskytuje více společností a organizací. Přesto jsou všechny programy PGP, které vyhovují standardům OpenPGP, vzájemně kompatibilní. To znamená, že soubory a klíče vygenerované v jednom programu lze bez problémů použít v jiném.
Pokud jde o nevýhody, systémy PGP nejsou tak jednoduché na používání a pochopení, zejména pro uživatele s malými technickými znalostmi. Také dlouhá délka veřejných klíčů je mnohými považována za docela nepohodlnou.
V roce 2018 byla nadací Electronic Frontier Foundation (EFF) zveřejněna velká zranitelnost nazvaná EFAIL. EFAIL umožnil útočníkům zneužít aktivní obsah HTML v šifrovaných e-mailech k získání přístupu k verzím zpráv v prostém textu.
Některé z obav popsaných EFAIL však komunita PGP znala již od konce 90. let a ve skutečnosti se zranitelnosti týkají různých implementací na straně e-mailových klientů, nikoli samotného PGP. Takže navzdory alarmujícím a zavádějícím titulkům není PGP narušeno a je nadále vysoce bezpečné.
Závěrečné myšlenky
Od svého vývoje v roce 1991 je PGP základním nástrojem pro ochranu dat a nyní se používá v široké řadě aplikací, které poskytují soukromí, bezpečnost a autentizaci pro několik komunikačních systémů a poskytovatelů digitálních služeb.
Zatímco objev chyby EFAIL v roce 2018 vyvolal značné obavy o životaschopnost protokolu, základní technologie je stále považována za robustní a kryptograficky v pořádku. Stojí za zmínku, že různé implementace PGP mohou představovat různé úrovně zabezpečení.