PGP

Docela dobré soukromí
Typ šifrovací software a komerční software
Autor Philipp Zimmermann
Vývojář Philipp Zimmermann
Zapsáno v Vícejazyčný
Operační systém Linux , macOS , Windows
První vydání 1991
Nejnovější verze
Čitelné formáty souborů Pretty Good Privacy (PGP) Private/Secret Keyring [d] , PGP podepsaná zpráva s čistým textem [d] , PGP blok veřejného klíče [d] , PGP blok soukromého klíče [d] , PGP ASCII-Armor [d] , PGP Obraz disku [d] , Veřejný klíčenka PGP (Pretty Good Privacy) [d] a podpis PGP [d]
Vygenerované formáty souborů PGP zpráva [d] , Pretty Good Privacy (PGP) Private/Secret Keyring [d] , PGP podepsaná zpráva s čistým textem [d] , PGP blok veřejného klíče [d] , PGP blok soukromého klíče [d] , PGP ASCII-Armor [ d] , Obraz disku PGP [d] , Přívěsek veřejného klíče PGP (Pretty Good Privacy) [d] a podpis PGP [d]
webová stránka openpgp.org

PGP ( anglicky  Pretty Good Privacy ) je počítačový program , rovněž knihovna funkcí, která umožňuje provádět šifrování a digitální podepisování zpráv, souborů a dalších informací prezentovaných v elektronické podobě, včetně transparentního šifrování dat na úložných zařízeních, jako je např. řídit .

Původně navrhl Philipp Zimmermann v roce 1991 .

Obecné informace

PGP má mnoho implementací, které jsou kompatibilní mezi sebou a řadou dalších programů ( GnuPG , FileCrypt atd.) díky standardu OpenPGP ( RFC 4880 ), ale s jinou sadou funkčnosti. Existují implementace PGP pro všechny nejběžnější operační systémy . Kromě volně distribuovaných implementací existují i ​​komerční.

Kompatibilita

Jak se PGP vyvíjí, některé systémy umožňují vytváření šifrovaných zpráv pomocí nových funkcí, které nejsou dostupné na starších systémech. Odesílatel a příjemce si musí být navzájem vědomi svých možností nebo se alespoň dohodnout na nastavení PGP.

Zabezpečení

V roce 1996 popsal kryptograf Bruce Schneier ranou verzi PGP jako „nejbližší věc kryptosystémům vojenské úrovně“. V současné době neexistuje jediný případ hackování dat šifrovaných PGP pomocí hrubé síly nebo zranitelnosti kryptografického algoritmu.

Kryptografická síla PGP je založena na předpokladu, že použité algoritmy jsou odolné vůči kryptoanalýze na moderním hardwaru. Například v prvních verzích PGP byl k šifrování klíčů relace použit algoritmus RSA , založený na jednosměrné funkci (faktorizace). Ve verzi PGP 2 můžete navíc použít algoritmus IDEA . Následně byly přidány další šifrovací algoritmy. Žádný z použitých algoritmů nemá známé chyby zabezpečení.

V roce 2010 se skupině vědců ze Švýcarska, Japonska, Francie, Nizozemska, Německa a Spojených států podařilo faktorizovat 768bitový, 232místný klíč RSA . Zjištění prvočinitelů bylo provedeno obecnou metodou číselného polního síta [6] . První krok (výběr dvojice polynomů stupně 6 a 1) zabral asi půl roku výpočtů na 80 procesorech, což byla asi 3 % času stráveného na hlavní fázi algoritmu (sifting), která byla provedena na stovky počítačů za téměř dva roky. Pokud bychom tuto dobu interpolovali na provoz jediného 2,2 GHz procesoru AMD Opteron s 2 GB RAM, pak by to bylo zhruba 1500 let. Zpracování dat po prosévání pro další krok náročný na zdroje (lineární algebra) trvalo na malém počtu procesorů několik týdnů. Poslední krok po nalezení netriviálních řešení OSLU netrval déle než 12 hodin.

Řešení OSLU bylo provedeno Wiedemannovou metodou na několika samostatných shlucích a trvalo o něco méně než 4 měsíce. Velikost řídké matice byla 192 796 550 × 192 795 550 s 27 795 115 920 nenulovými prvky. Uložení matice na pevný disk trvalo asi 105 gigabajtů. Současně bylo zapotřebí asi 5 terabajtů komprimovaných dat k vytvoření této matice.

Nakonec se skupině podařilo vypočítat oba prvočinitele, z nichž každý je 384bitové a 116místné číslo.

Vědci jsou přesvědčeni, že pomocí jejich metody faktorizace bude možné prolomit 1024bitový klíč RSA během příští dekády.

Podle vědců lze po jejich práci považovat za spolehlivý šifrovací systém pouze klíče RSA s délkou 1024 bitů a více. Kromě toho by se v příštích třech až čtyřech letech mělo opustit šifrování s klíčem 1024 bitů. [7] .

Při znalosti expanze modulu na součin dvou prvočísel může protivník snadno najít tajný exponent a rozbít tak RSA. Dosud však nejrychlejší faktorizační algoritmus, síto General Number Field Sieve, jehož rychlost pro k-bitové celé číslo je pro některé , neumožňuje rozklad velkého celého čísla v přijatelném čase.

Jak PGP funguje

Šifrování PGP se provádí postupně pomocí hashování, komprese dat, šifrování symetrickým klíčem a nakonec šifrování veřejným klíčem, přičemž každý krok je prováděn jedním z několika podporovaných algoritmů. Symetrické šifrování se provádí pomocí jednoho ze sedmi symetrických algoritmů ( AES , CAST5 , 3DES , IDEA , Twofish , Blowfish , Camellia ) na klíči relace. Klíč relace je generován pomocí kryptograficky silného generátoru pseudonáhodných čísel . Klíč relace je zašifrován veřejným klíčem příjemce pomocí algoritmů RSA nebo Elgamal (v závislosti na typu klíče příjemce). Každý veřejný klíč odpovídá uživatelskému jménu nebo e-mailové adrese. První verze systému se nazývala Web of Trust a byla protichůdná k systému X.509 , který používal hierarchický přístup založený na CA přidaný do PGP později . Moderní verze PGP zahrnují obojí.

Klíče

Uživatel PGP vytvoří pár klíčů: veřejný a soukromý klíč . Při generování klíčů se zadává jejich vlastník (jméno a e-mailová adresa ), typ klíče, délka klíče a doba jeho platnosti. Veřejný klíč se používá k šifrování a ověřování digitálního podpisu . Soukromý klíč – pro dekódování a vytvoření digitálního podpisu.

PGP podporuje tři typy klíčů: RSA v4, RSA legacy (v3) a Diffie-Hellman/DSS ( Elgamal v terminologii GnuPG ).

U starších klíčů RSA může být délka klíče od 1024 do 2048 bitů a u klíčů Diffie-Hellman/DSS a RSA od 1024 do 4096. Starší klíče RSA obsahují jeden pár klíčů, zatímco klíče Diffie-Hellman/DSS a RSA mohou obsahují jeden hlavní klíč a další klíče pro šifrování. Klíč elektronického podpisu v klíčích Diffie-Hellman/DSS má přitom vždy velikost 1024. Dobu platnosti pro každý typ klíče lze definovat neomezeně nebo do konkrétního data. K ochraně kontejneru klíčů se používá tajná fráze.

Digitální podpis

PGP podporuje ověřování a kontroly integrity prostřednictvím digitálního podpisu . Ve výchozím nastavení se používá ve spojení se šifrováním, ale lze jej použít i na prostý text. Odesílatel používá PGP ke generování RSA nebo DSA podpisu . Tím se nejprve vytvoří hash prostého textu (také známý jako výtah), pak se hash digitálně podepíše pomocí soukromého klíče odesílatele . Algoritmy MD5 , SHA-1 , RIPEMD-160 , SHA-256 , SHA-384 , SHA-512 lze použít k vytvoření hash . Novější verze PGP podporují MD5, aby byla zachována kompatibilita s dřívějšími verzemi. K podepisování se používají algoritmy RSA nebo DSA (v závislosti na typu klíče).

Komprese dat

Aby se zmenšila velikost zpráv a souborů a možná byla kryptanalýza obtížnější, PGP data před šifrováním komprimuje . Komprese se provádí podle jednoho z algoritmů ZIP , ZLIB , BZIP2 . Komprimované, krátké a slabě komprimovatelné soubory nejsou komprimovány.

Web of Trust

Jak při šifrování zpráv, tak při ověřování digitálního podpisu je nutné, aby veřejný klíč, který obdrží příjemce, skutečně patřil odesílateli. Jednoduchým stažením veřejného klíče jej lze změnit. Od prvních verzí PGP podporuje certifikáty veřejného klíče , s jejichž pomocí lze snadno rozpoznat záměny (nebo náhodné chyby přenosu). Nestačí však pouze vytvořit certifikát chráněný před změnami, protože to zaručuje integritu certifikátu až po jeho vytvoření. Uživatelé také potřebují nějaký způsob, jak ověřit, že veřejný klíč v certifikátu skutečně patří odesílateli. Od prvních verzí obsahují produkty PGP interní schéma ověřování certifikátů nazývané web důvěry .  Daný pár "uživatelské jméno - veřejný klíč" může být podepsán třetí stranou, což potvrzuje shodu klíče a vlastníka. Takové podpisy mohou mít několik vnořených úrovní důvěryhodnosti. Ačkoli mnoho programů čte a zapisuje tyto informace, jen velmi málo z nich zohledňuje tuto úroveň certifikátu při rozhodování, zda certifikát přijmout nebo odmítnout.

Protokol Web of Trust byl poprvé popsán Zimmermannem v roce 1992 v příručce PGP verze 2.0:

Postupem času se vám nashromáždí klíče jiných lidí, kterým můžete říkat důvěryhodní doporučovatelé. Kdokoli jiný si může vybrat své důvěryhodné doporučovatele. A každý bude postupně shromažďovat a distribuovat se svými klíči sadu ověřených podpisů jiných lidí, přičemž očekává, že každý příjemce bude důvěřovat alespoň jednomu nebo dvěma podpisům. To vám umožní vytvořit decentralizovanou síť všech veřejných klíčů odolnou proti chybám.

Mechanismus sítě důvěry má výhody oproti centralizované infrastruktuře správy veřejných klíčů , jako je ta používaná v S/MIME , ale nebyl široce přijat. Uživatelé chtěli zkontrolovat správnost certifikátů ručně nebo vůbec.

Certifikáty

V nejnovějších specifikacích OpenPGP lze k podpoře vytváření certifikačních autorit použít důvěryhodné podpisy. Důvěra certifikátu znamená, že klíč skutečně patří určenému vlastníkovi a lze jej použít k podepisování certifikátů o úroveň níže. Certifikát úrovně 0 znamená běžný podpis. Úroveň 1 znamená, že můžete vytvořit certifikáty úrovně 0 s podepsaným klíčem. Certifikáty úrovně 1 můžete vytvořit s certifikátem úrovně 2. Úroveň 2 je téměř totožná se stupněm důvěry, který uživatelé spoléhají na seznamy důvěryhodných certifikátů zabudovaných v prohlížečích.

Všechny verze PGP obsahují způsob, jak zrušit certifikát. To je nezbytné, pokud chcete zachovat zabezpečení komunikace v případě ztráty nebo kompromitace soukromého klíče . Odvolání certifikátu je podobné seznamům CRL v centralizované infrastruktuře veřejných klíčů. Moderní verze PGP také podporují data vypršení platnosti certifikátu.

Problém správného určení, zda veřejný klíč patří vlastníkovi, je typický pro všechny kryptografické systémy s asymetrickým šifrováním . Nemá dost dobrá řešení. Původní schéma PGP umožňuje uživateli rozhodnout se, zda použít schéma ověřování certifikátu, zatímco většina ostatních infrastruktur veřejných klíčů vyžaduje ověření každého certifikátu.

Historie

Raná historie

V roce 1991 Philip Zimmerman vytvořil první verzi PGP. První verze obsahovala symetrický šifrovací algoritmus BassOmatic , který vytvořil sám Zimmerman. Zimmerman byl zapojen do protijaderného hnutí a vytvořil PGP pro bezpečné používání BBS a ukládání souborů a zpráv. Pro nekomerční použití nebyla vyžadována žádná licence, se všemi kopiemi byl distribuován veškerý zdrojový kód. PGP se rozšířil do Usenetu a poté do Internetu .

Kriminální vyšetřování

Krátce po svém vydání se PGP začal používat i mimo USA a v roce 1993 americká vláda zahájila vyšetřování proti Zimmermanovi kvůli podezření z porušení exportních zákonů, které regulují distribuci kryptografických systémů s délkou klíče více než 40 bitů. PGP používal klíče 128bitové nebo více.

Zimmerman chytře obešel omezení amerického práva. Zdrojový kód publikoval v knize vydané nakladatelstvím MIT Press [8] [9] . Kód mohl být naskenován, rozpoznán a zkompilován. Vývoz knih nelze zakázat, protože je chráněn prvním dodatkem americké ústavy (podobné schéma bylo použito v šifrovacím systému Snuffle, viz Bernstein v. Spojené státy ).

V roce 1996 bylo vyšetřování uzavřeno [10] [11] [12] .

OpenPGP

Společnost PGP Inc. měl obavy z patentů . Společnost vytvořila interní standard Unencumbered PGP ("unencumbered PGP"), který nepoužívá algoritmy, které mají problémy s licencemi. Protože PGP byl široce používán po celém světě, mnozí chtěli vytvořit svůj vlastní software kompatibilní s PGP 5. V roce 1997 společnost PGP Inc. navrhl standard IETF nazvaný OpenPGP. IETF vytvořila RFC 2440 (1998) a RFC 4880 (2007).

V roce 1999 byla Free Software Foundation vytvořena bezplatná implementace OpenPGP s názvem GNU Privacy Guard (GnuPG) .

Akvizice Network Associates

V prosinci 1997, PGP Inc. byla převzata společností Network Associates Inc (nyní McAfee ). NAI pokračoval v exportu prostřednictvím tisku zdroje. Jako součást NAI vyvinul tým PGP šifrování disku, firewall, detekci narušení a IPsec VPN . Po legalizaci exportu kryptografického softwaru v roce 2000 NAI navzdory námitkám týmu PGP zastavila zveřejňování zdrojového kódu.

V roce 2001 Zimmerman opustil NAI, NAI oznámil prodej PGP a zastavení vývoje PGP. V roce 2002 NAI ukončila podporu pro všechny produkty PGP PGP E-Business Server (původní konzolová verze PGP).

Aktuální stav

V roce 2002 několik bývalých vývojářů PGP vytvořilo PGP Corporation a odkoupilo PGP (kromě konzolové verze). V roce 2003 vyvinula společnost PGP Corporation nový serverový produkt PGP Universal.

V roce 2010 Symantec Corp. koupil PGP za 300 milionů dolarů.

Kryptografické aplikace PGP Corporation

PGP byl původně vyvinut pro šifrování e-mailů na straně klienta, ale od roku 2002 zahrnuje také šifrování pevných disků notebooků, souborů a adresářů, relace rychlých zpráv, dávkový přenos souborů, ochranu souborů a adresářů v síťových úložištích a v moderních verzích také šifrování HTTP požadavky a odpovědi na straně serveru (mod openpgp) a na straně klienta (Enigform).

Klientské programy jsou sjednoceny v rodině PGP Desktop (zahrnuje PGP Desktop EMail , PGP Whole Disk Encryption a PGP NetShare ).

PGP Universal Server vám umožňuje centrálně spravovat klienty založené na PGP Desktop z příkazového řádku .

V roce 2010 práva na aplikaci získala společnost Symantec za 300 milionů dolarů [13] .

Právní aspekty použití v Rusku

K dnešnímu dni neexistují žádné přímé legislativní zákazy používání PGP v Rusku. Použití kryptografie je zákonem omezeno pouze ve státních a městských institucích. FSB nařizuje všem vládním agenturám používat pouze certifikované kryptografické nástroje. Jednotlivci i firmy si sami určují, jaké informace jsou pro ně obchodním tajemstvím, způsoby uchovávání a předávání takových informací [14] . Informační zdroj Helpdesk24 v článku „Zákonnost používání kryptografických prostředků ochrany informací“ poskytuje výňatky z federálních zákonů, které tuto problematiku vysvětlují. [1] Autoři projektu „openPGP v Rusku“ také tvrdí, že neexistují žádné zákony zakazující používání PGP [15] . Elektronický podpis vytvořený pomocí PGP a jeho necertifikovaných protějšků má v Ruské federaci právní sílu, protože podle odstavce 3 článku 5 63-FZ „O elektronickém podpisu“ [16] spadá pod definici vylepšený nekvalifikovaný elektronický podpis [17] . Podle čl. 6 odst. 2 tohoto spolkového zákona je k uznání takového ES nutná dohoda mezi účastníky elektronické interakce.

Viz také

Poznámky

  1. 1 2 https://web.archive.org/web/web.pa.msu.edu/reference/pgp-readme-1st.html
  2. https://web.archive.org/web/web.mit.edu/network/pgp262-announce.html
  3. 1 2 3 http://openpgp.vie-privee.org/latest.html
  4. https://rjmarq.org/pgp/pgp5.html
  5. https://web.archive.org/web/web.mit.edu/afs/net/mit/jis/www/pgpfaq.html
  6. Oznámení faktorizace RSA-768 Archivováno 13. dubna 2014 na Wayback Machine 
  7. Faktorizace RSA-768 archivována 11. února 2020 na Wayback Machine 
  8. Zimmermann, Philip (1995). Zdrojový kód PGP a vnitřní vybavení. MIT Press. ISBN 0-262-24039-4 . Předmluva autora Archivováno 3. března 2016 na Wayback Machine
  9. Deklarace Robert v. Prior Archived 30. června 2016 na Wayback Machine , 4. října 1996 – Svědectví vydavatele ve věci Bernstein v. Ministerstvo spravedlnosti USA Archivováno 4. dubna 2018 na Wayback Machine // EFF 
  10. Federálové nebudou stíhat PGP Creator Archivováno 5. února 2016 na Wayback Machine , 11. ledna 1996, Phil Zimmermann
  11. Zde je oznámení mého hlavního obhájce Archivováno 15. března 2016 na Wayback Machine / Phil Zimmermann, 12. 1. 1996
  12. Domovská stránka Phila Zimmermanna . Získáno 23. února 2013. Archivováno z originálu 26. února 2013.
  13. Symantec koupil PGP Corporation za 300 milionů $ Archivováno 5. března 2016 na Wayback Machine .
  14. Federální zákon „O obchodním tajemství“ č. 98-FZ článek 10 „Ochrana důvěrnosti informací“,
  15. openPGP v Rusku / Často kladené otázky / openPGP v Rusku . Získáno 27. února 2013. Archivováno z originálu 20. ledna 2013.
  16. Federální zákon Ruské federace ze dne 6. dubna 2011 N 63-FZ . Staženo 30. dubna 2020. Archivováno z originálu dne 28. května 2020.
  17. K obsahu pojmu „ELEKTRONICKÝ PODPIS“ Archivní kopie ze dne 5. října 2013 na Wayback Machine // Institut kryptografie, komunikací a informatiky, Moskva

Odkazy