Zatraceně dobré PGP

Asi jen stěží najdete někoho, kdo se ochomýtá okolo oboru počítačové bezpečnosti a nikdy neslyšel o PGP, které se...


Asi jen stěží najdete někoho, kdo se ochomýtá okolo oboru počítačové
bezpečnosti a nikdy neslyšel o PGP, které se stalo bezesporu fenoménem pro
mnohé uživatele služeb Internetu, především pak e-mailu.
Co všechno PGP umožňuje? Nejnovější komerční verze umožňují spoustu vylepšení a
dodatků nás ale většinou zajímá to, co si můžeme nainstalovat sami a sami také
používat. V kostce PGP umožňuje jednoduché šifrování souborů symetrickou šifrou
vámi zvoleným klíčem, digitální podpis souborů (vytvoří se MD5 haš souboru a
ten se podepíše vašim soukromým klíčem) a zašifrování souborů "asymetrickou
šifrou" (v uvozovkách proto, že se ve skutečnosti používá bloková symetrická
šifra s náhodně vygenerovaným klíčem, který je po zašifrování vlastního souboru
teprve zašifrován zvoleným veřejným klíčem). Pokud nejste pravidelnými čtenáři
seriálu a "kryptohatmatilka" vám nic neříká, tak v části věnované problémům s
verzemi PGP najdete odkazy na relevantní články seriálu. V zájmu rychlosti
přenosu je při šifrování využita komprese (ZIP) a pro aplikace jako je třeba
e-mail, se využívá kódování dat přes Radix-64. V podstatě tedy vše, co
potřebujete pro bezpečnou komunikaci e-mailem, distribuci zašifrovaných souborů
přes FTP/ /WWW či digitální podpis jakýchkoliv dat.
To je tedy ono pověstné PGP? Ano a ne výše uvedený výčet funkcí není
vyčerpávající a je také třeba zvážit fakt, že dnes se nejedná jen o samotné
PGP, ale o tisíce programů umožňujících např. šifrované telefonování po
Internetu, propojení PGP a programů pro e-mail atd. Více se o funkcích PGP a
jeho nástaveb můžete dočíst na URL uváděných v tab. 1. Pojďme ke klíčovému
aspektu
Základní nápovědu lze získat spuštěním pgp s parametrem -h; jako obvykle je
vhodné si skutečně přečíst průvodní dokumentaci (téměř vždy bývá přibalena v
komprimovaném balíku, který si stáhnete). Stejné klíče lze používat na různých
platformách klíč vytvořený na laptopu Mac nebo Wintel lze bez problémů používat
pod Unixem. Vytvoření klíče/klíčů je prvním stěžejním krokem.
Nejprve si řádně zvažte, kolik párů klíčů budete chtít používat. Můžete stejný
klíč používat na všech strojích a systémech, které používáte; můžete zvolit
různé klíče pro různé úrovně bezpečnosti (jiné pro osobní stroje pod vaší
výhradní kontrolou a jiné pro firemní počítače). Na příkladu tabulek 2-4 vidíte
některé mé osobní klíče. Delší (2 048bitový) používám jen jako záložní,
soukromý klíč nikdy není na počítači, který je připojen k jakékoliv síti a
pokud není používán, tak je uložen pouze na disketách a ve vytištěné ASCII
podobě, vše v zapečetěné obálce na bezpečném místě. Tento klíč je hlavně
používán pro potvrzení (podpis) operačního klíče o délce 1 024 bitů. Tento
kratší klíč používám pro běžnou komunikaci a mám ho nainstalován na několika
strojích.
1. Podle způsobu očekávaného použití klíčů zvolte jejich vhodnou délku a
popisné údaje. Stávající hranice bezpečnosti RSA klíčů je něco pod 600 bitů,
takže doporučuji pro klíče, které budete běžně používat v blízké budoucnosti,
volit standardních 1 024 bitů, příp. délku nad 700 bitů. Větší délka má smysl v
případech, kdy klíč má být vazbou pro budoucí aplikace nebo klíče a také kdy
rychlost kryptooperací nehraje velkou roli. Pokud budete používat stejný klíč
pro e-mailovou komunikaci prostřednictvím více adres (ať již skutečné e-mailové
schránky nebo jen přesměrování pošty), uveďte všechny adresy v dodatečných
popisných údajích a pro dokonalé zajištění vazby těchto adres tyto vždy
podepište (viz tab. 4).
2. Rozšíření vašich veřejných klíčů je stěžejním krokem.
Nejspolehlivější mechanismus samozřejmě je, když svým partnerům předáte osobně
(např. na disketě) alespoň jeho vytištěnou ASCII podobu nebo otisk (haš) a poté
zašlete klíč i elektronickou cestou partner pak může podle vytištěné informace
zkontrolovat, zda dostal skutečně ten pravý klíč. Pro tyto účely je např.
vhodné uvádět otisk klíče na vizitkách atd.
O něco méně spolehlivou metodou je poslat klíč elektronickou cestou a haš
sdělit telefonicky pokud druhá strana zná váš hlas, případně je schopna vás
"prověřit" otázkami, na které můžete okamžitě správně odpovědět jen vy ( "kde
jsme byli naposled na pivu", atd.). Méně důvěryhodnou alternativou této metody
je čistě elektronická cesta, kdy tyto otázky přijdou zašifrovány vámi dodaným
veřejným klíčem, vy je musíte dešifrovat (čili být schnopni použít soukromý
klíč) a zodpovědět během krátkého časového intervalu (s mírnou nadsázkou pak
lze předpokládat, že jste na ně skutečně odpověděli vy).
Klíče může podepsat a tak "akreditovat" někdo z vašich přátel, kteří mají svoje
PGP klíče již dostatečně rozšířeny. PGP je z tohoto hlediska velmi propracovaný
mechanismus tranzitivní důvěru lze pomocí PGP spravovat velmi šikovně.
Registrace a ověření (na různých úrovních a tedy i s různým hodnocením důvěry)
pro PGP i WWW prohlížeče a Entrust/Solo je také možná v Global Trust Register
(viz tab. 1), který vychází jednou ročně v tištěné podobě, ale i ve formátu PDF
pro Acrobat Reader.
Klíče lze pak také rozšířit na servery PGP klíčů (viz tab. 1), kam ale může
poslat falešné klíče každý (zkuste si najít např. klíče z whitehouse.gov),
zpřístupnit přes WWW (např. jako www.cl. cam.ac.uk/~vm 206/pgp_publ.html) nebo
pro příkaz finger v souborech jako .plan (zkuste např. finger). Ve všech těchto
případech je ale vhodné mít klíče podepsány jinými akreditory, příp. rozšířeny
spolehlivými způsoby tyto metody jsou vhodné pro širokou veřejnost, vaši
důvěrní přátelé by měli získat vaše klíče spolehlivější cestou.
Analogicky pak získejte veřejné klíče všech stran, se kterými chcete do
budoucna bezpečně komunikovat.
Kde je verze 22?
Existuje několik verzí PGP verze před 2.6 jsou dnes již z praktického hlediska
nezajímavé; verze 2.6.x jsou dnes nejrozšířenější; verze 3 byla čistě komerční
od firmy Viacrypt; verze 4 se "nekonala", Pretty Good Privacy, vypustila až
verzi 5.0; poslední verzí dostupnou v době psaní článku je verze 5.5. Je
důležité si povšimnout rozdílu mezí verzemi před zlomovou verzí 5 a verzemi 5.0
a výše. Zatímco nižší verze využívaly algoritmů RSA (díly 27 a 30) pro
digitální podpis a asymetrické šifrování, IDEA (díl 29) jako blokovou šifru a
MD5 pro hašování (úvod do principů šifrování a hašování lze nalézt v dílu 26),
tak verze 5 a vyšší podporují navíc i algoritmy El-Gamal/DSS (díl 32) pro
asymetrickou kryptografii, RIPEMD-160 a SHA-1 pro hašování a blokové šifry CAST
a 3--DES. Pokud používáte PGP jakoukoliv verzi legálně (bezplatně pro osobní
použití nebo řádně zakoupenou pro komerční využití), tak se nemusíte starat o
patentové poplatky. Ovšem klíče vytvořené pro verzi 5 s implicitním nastavením
nelze použít v nižších verzích, protože ty používají klíče RSA. A abychom si
nic nezastírali, jedná se o naprosto zásadní problém. Verze 5.0 existuje totiž
v podstatě ve třech "variantách" pravá bezplatná verze nepracuje s RSA klíči,
potřebný upgrade je potřeba zakoupit (naštěstí za velmi malý poplatek);
komerční verze pracuje s novými i starými (RSA) klíči.
Je také vhodné vzít v potaz problémy s americkou exportní politikou v oblasti
kryptografie (díl 38) a pokud se rozhodnete PGP používat, pak si nainstalujte
mezinárodní verzi PGP. Také je potřeba zvážit fakt, že verze 5 a vyšší
podporují mechanismy obnovy klíčů (key recovery), což pro mnohé instalace
(např. použití ve firmách atd.) je sice velkou výhodou, ale pro jednotlivce
znamená spíše potenciální hrozbu kompromitování klíče.
A je to!?
Jakou verzi tedy nainstalovat? Pokud PGP budete používat komerčně, tak si jej
raději řádně zakupte, nejlépe verzi 5.5, příp. 5.0, vytvořte si jak DSS, tak
RSA klíče (a pokud budete chtít bezpečně komunikovat i s lidmi mimo vaši firmu,
tak obojí klíče rozšiřte jak po serverech PGP klíčů, tak i v registrech, jako
je Global Trust Register odkazy najdete v tabulce č. 1). Pro osobní použití je
zatím vhodnější používat verze 2.6.2i nebo 2.6.3i, ale mít také nainstalovánu
některou z verzí 5.x.
Velmi důležitým rysem PGP je to, že většina verzí je dostupná nejen jako
zkompilované balíky, ale také jako zdrojový program. Je tím umožněna nezávislá
kontrola, které se mnozí kutilové a hackeři (v kladném slova smyslu) rádi
oddávají a případné nedostatky pak mohou prezentovat na veřejnosti. Princip je
stejný jako u kryptografických algoritmů rozsáhlá a neomezená kontrola odbornou
veřejností odhalí více chyb než jednorázové (ať už jakkoliv dlouhé) otestování
sebelepšími odborníky. Lze namítat, že takový postup umožní "zlým" hackerům
vnést chyby do pozměněných balíků nabízených různými národními servery atd.
Podobná tvrzení jak o kryptoalgoritmech, tak i PGP najdete často v českém
tisku; nejčastěji v "obvyklém" českém stylu zkritizovat světově provozované
řešení a nabídnout ji-nou cestu, nejlépe beze zmínky o vlastních zájmech na
prosazení této cesty. Čtěte podobné materiály pozorně a vždy se dobře dívejte,
co vám jejich autoři nabízejí jako náhradu za "špatné řešení". (Pozorně
samozřejmě čtěte a zvažujte i informace tohoto seriálu!)
PGP je nástroj, který umožnil internetové komunitě bezpečnou výměnu informací.
Je ideálním zhmotněním ideje tohoto seriálu bezpečnostní nástroj, který
umožňuje zatraceně dobrou ochranu informačního soukromí nás a našich přátel.
Proč tedy o něm jenom číst zkuste to na vlastních strojích.
8 0497 / ram









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.