BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6, str. 1 díl 6, PGP - Pretty good privacy
5/6 PGP - PRETTY GOOD PRIVACY
5/6.1 5/6.2 5/6.3 5/6.4
Úvod Public Key Infrastructure podle PGP Používáme PGP PGP 9.0
bfiezen 2006
část 5, díl 6, str. 2 díl 6, PGP - Pretty good privacy
bfiezen 2006
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6, kapitola 1, str. 1 díl 6, PGP - Pretty good privacy
5/6.1 ÚVOD
Obsahem této kapitoly bude stručný popis nejen produktu, ale vlastně celého „světa“ kolem PGP. Speciálně v dnešní době může mnoho lidí ocenit přímost softwaru, který dělá přesně to co chceme a dělá to dobře. PGP se bude líbit zvláště těm z vás, kteří si na kryptografii rádi „sáhnou“ - přímo na jednotlivé části - program byl od začátku s tímto účelem vyvíjen.
PGP - Legenda na poli šifrování
Nejprve si povíme jisté historické a právní souvislosti, protože vývoj produktu tak trochu kopíruje situaci kolem šifrování obecně. Následovat bude exkurze do světa PKI, tak jak ji razí PGP. Obrněni znalostmi nejen z této kapitoly si nakonec ukážeme praktickou práci s programem. Tajné šifry, kódy, agenti, špióni, skryté schránky, to všichni známe ze stříbrného plátna. Příběhy okořeněné tajemstvími, špionážní technikou, vládními agenturami, mezinárodní politikou jsou prostě žánr sám
Kryptografie „doma“
únor 2005
část 5, díl 6, kapitola 1, str. 2
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty good privacy
o sobě. Můžete se mnou polemizovat, nicméně se domnívám, že již samotná možnost, umožňující kvalitně šifrovat, si s sebou nese ducha této atmosféry. Musíme si uvědomit, že v době, kdy se kryptografie nasazovat začala, byla její pozice vůči široké veřejnosti zcela odlišná. Digitální technika se na celém světě vyráběla postupně v jednotkách, desítkách, stovkách či tisících kusech, tj. pojmy jako „koncový uživatel“ vůbec neměly smysl. Thomas Watson, legendární výzkumník firmy IBM v roce 1943 řekl: „Myslím, že na světě je trh pro asi tak 5 počítačů.“ Tedy toto mám na mysli. Počítače byly v prvních fázích velmi úzce spojeny se státem, konkrétně s jeho vojenským aparátem. Je to logické mj. z toho důvodu, že pokud vyrábíte něco tak velkého a drahého (tehdy) jako sálový počítač, rozpočty ministerstev (obrany, školství) jsou finančním zdrojem, který toto může zvládnout. Vojenské využití je nasnadě. Přední světoví odborníci, kteří zkoumají kryptografii nikoliv čistě pro vládní agentury, se domnívají, že kvalita veřejně dostupných šifrovacích algoritmů je nejlepší možná. Šifra je kvalitní, pokud není znám žádný způsob, jak úspěšně provést nějaký útok (viz první kapitoly o tématu) s podstatně menším úsilím, než představuje vyzkoušení všech možností. Máme-li tedy n-bitový klíč, dobrý algoritmus nám neposkytne jinou cestu, než postupným testováním 2^n možností. V některých případech existují takzvané slabé klíče, které mají na celkovou kvalitu bezpečnosti za šifrovaného obsahu negativní vliv, např. klasický algoritmus DES jich měl několik skupin. Nicméně při použití 128bitového šifrování má číslo 2128 36 desítkových míst, tj. i při relativně velkém počtu slabých klíčů se počet možností nesnižuje podstatně. únor 2005
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6, kapitola 1, str. 3 díl 6, PGP - Pretty good privacy
Vezmeme li za předpoklad minulý odstavec, zjistíme, že si ideální bezpečnost můžeme „nastavit“ pouhou volbou délky šifrovacího klíče a o nic víc není třeba se starat. To je skvělá vlastnost. Tedy, už samotný fakt, že by jakýkoliv občan měl k dispozici bezpečnostní nástroj kvality ne horší, než má k dispozici vláda, můžeme pokládat za silně kontroverzní. Marně si snažím vybavit jiný nástroj na obranu soukromí a majetku (zbraně, špionážní technika...), kde by doslova každý měl legálně k použití to, co státní agentury. Možná je to důvod se domnívat, že to tak „nechali“, protože vědí, že náskok mají, ale to už jsou moc černé myšlenky. O symetrickém šifrování víme z jiné kapitoly této publikace. Má to jisté schéma, daným způsobem je nutné používat šifrovací klíče atd. Z toho plynou jistá principiální nepohodlnost použití. A já tvrdím: je-li symetrická kryptografie (tj. ta s jedním klíčem na obě operace) jak již bylo řečeno kontroverzní, pak masové rozšíření kryptografie asymetrické (různé klíče pro operace šifrování/dešifrování) je revoluce! Skutečně, myslím, že v dnešní době masivních odposlechů, dohledů nad bankovními účty a dalších záležitostí, je kryptografie obecně, ale speciálně asymetrická, v rukou běžných lidí, jedním z největších výsledků svobody jednotlivce nad státním aparátem. Uvedení PGP představuje ideovou revoluci na poli ochrany soukromí pomocí digitálních technologií. Od začátku bylo poselstvím produktu poskytovat kombinovaný šifrovací systém (viz příslušná kapitola). Tedy, asymetrická kryptografie a digitální podpis v plné „parádě“. Proto byl program na svoji dobu tak revoluční.
K čemu PGP
únor 2005
část 5, díl 6, kapitola 1, str. 4
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty good privacy
Historické souvislosti
Pokud čtenář čte tuto publikaci, možná netíhne k historii. Přesto si myslím, že pochopení vývoje přístupu státních orgánů k metodám zabezpečování digitální komunikace představuje pro každého odborníka v této branži základní stavební kameny pro další sledování situace. Osvětlím proč. Jak plyne z výše uvedených informací, použitá kryptografie, vzhledem ke své softwarové-lehce kopírovatelné podstatě, představuje místo, kde díky nutnosti pouze jednorázových výdajů na výzkum a vývoj byly vládní agentury dohnány nevládními, tedy aspoň v to všichni doufáme. Proto tato oblast byla, je a bude vždy třecí plochou mezi dvěma velkými mlýnskými koly. Společnost má obecně z kryptografie přínos, ale jelikož jakožto technologie je neutrální, může sloužit komukoliv, k jakýmkoliv účelům. Stát má obecně z tohoto strach a snaží se dostat věc pod kontrolu. To je již z podstaty nemožné, bez nějakého globálního regulačního mechanismu. Mohu uvést hned několik příkladů z praxe a nemusím chodit ani zas tak daleko. Zrovna v době psaní této kapitoly byl oznámen záměr vlády zakázat existenci anonymních telefonních čísel, tj. v podobě předplacených karet. To je takřka učebnicová ukázka prosazování dalšího omezování osobní svobody, podepřené paušálním zdůvodněním. Protože je tato věc také využívána pro kriminální účely, zakážeme ji. Dále se hojně diskutují sporné odposlechy. Nejsem v tomto oboru znalec, proto pouze hodím do pléna otázku, co by se stalo, kdyby vývoj softwaru v oblasti mobilních komunikací šel kupředu tak rychle, jako na běžných PC. Tam totiž jednotlivé protokoly začaly mít bezpečné „bratry“ (HTTP/HTTPS,.), obrněné kvalit-
únor 2005
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6, kapitola 1, str. 5 díl 6, PGP - Pretty good privacy
ním end-to-end šifrováním, které znepřístupnily kompletní komunikaci pro jakoukoliv třetí stranu. To se objevilo tak rychle, jakmile se internetová komunikace masivně rozšířila. Nemluvím o žádném sci-fi, když již dnes běžně telefonují PDA, kde jsou programátorovy možnosti daleko větší, než na běžném mobilu. Možná by na některých platformách šel jen lehce změnit ovladač, zajišťující vstup z mikrofonu a výstup z reproduktoru. Obohatil by se o nějaké inteligentní bezpečnostní funkce, místo pro uložení klíčů/certifikátů.(Asi by to tedy muselo být ušité na míru faktu, že rutina, kódovací zachycený hlas do formátů pro GSM síť přijde až po ovladači, ale to jsou technické detaily.). Co by stát dělal pak? Jakým opatřením by nás postihl? Podobných kauz regulace informačních technologií (např. Georgie W. Bush v současnosti zvažuje paušální zákaz výměnných sítí...), kde bezpečnost a ochrana soukromí digitálními prostředky může zcela změnit pohled na věc a výslednou realitu, je mnoho. Zvláště po 11. září 2001. Vývoj vztahu státu k šifrování (pro veřejnost) představuje odvěký boj mezi „národní“ bezpečností a individuální svobodou jednotlivce. Bohužel je tomu tak, že druhé je masivně omezováno prvním. Bohužel lidé často nejsou zvyklí o podobných problémech přemýšlet dostatečně intenzivně, abychom došli k nějakému radikálnímu protikroku. Apatie dává státu volnou ruku, který stále více a více posiluje svůj názor na věc. Pokud jste stejně jako já schopni a ochotni se vzdát jisté míry bezpečí za cenu zachování soukromí, myslím, že je to dobře.
Svoboda versus bezpečnost
Ještě jsem ani nezačal výklad o samotném objevení asymetrické kryptografie a už musím zase začít stej-
Role státu
únor 2005
část 5, díl 6, kapitola 1, str. 6
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty good privacy
ným tónem. Chtěl jsem trochu přibližněji specifikovat datum objevu, problémem je, že se to neví. Totiž dlouho vykládaný letopočet v průběhu devadesátých let vzal za své, když se podařilo prokázat, že americká National Security Agency tajemství asymetrického šifrování znala možná již počátkem sedmdesátých let a v nejvyšším utajení tak možná půl až jedno desetiletí věc čekala na své objevení „civilními“ matematiky! Jak jsem říkal na začátku (a v názvu) kapitoly, to nejsou dějiny, to jsou souvislosti. Opět se můžu ptát, co by se dělalo, kdyby v civilním rotoru věc nikdo neobjevil? Na takto implementované bezpečnosti dnes funguje takřka vše a představa, že daněmi financovaný výzkum si někde v podzemních městech syslí pár vzorečků, které nám dneska na internetu umožňují dělat cokoliv trochu důležitějšího (vzdálená zpráva, bezpečný e-mail, bankovnictví) a to jen z toho důvodu, aby se věc nedostala do rukou podobným lidem na druhé straně zeměkoule - to mne zvedá ze židle. V průběhu konce minulého století, takřka až do poloviny devadesátých let, bylo v této oblasti americkou vládou silně prosazováno pro tuto dobu charakteristické dogma, které srovnávalo kryptografii se zbraněmi. Tyto věci byly položeny na opačné konce rovnítka, protože obě mohly sloužit nepřátelským silám, teroristům. Mimo USA byl pak zakázán vývoz „těžké kryptografie“ - tj. existovala konkrétní hranice velikosti (symetrického) šifrovacího klíče, jednalo se o 40 bitů. Z dnešního pohledu již směšná hranice, nicméně prostě vyvést (v elektronické podobě např. po internetu viz dále) cokoliv lepšího mimo území Spojených států bylo nelegální. únor 2005
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6, kapitola 1, str. 7 díl 6, PGP - Pretty good privacy
Zde se poprvé dotýkáme PGP, protože toto opatření je v přímém rozporu s jeho posláním. Situace se řešila tak, že zdrojový kód byl vytištěn, převezen do jiné země, tam přepsán a zkompilován. Legálnost tohoto postupu je zaručena americkou svobodou slova. Spojené státy od tohoto nařízení později upustily. Vypusťme ideologii a konstatujme, že jeho vymahatelnost a tím i smysluplnost se postupem času blížila nule. Nicméně hon na uhlídání neuhlídatelného pokračoval a my se nejprve zmíníme o termínu key escrow. Bývá jím označena technika paušálně aplikovaná na nějaký komunikační systém za účelem de facto odposlechu šifrovaných zpráv. Děje se tak jednoduchým způsobem, kdy se data šifrují nejen klíčem příjemce, ale ještě nějakým dalším. Ten drží autorita, která odposlech bude později provádět. V kapitole o kombinovaných systémech, kdy jsme vysvětlovali asymetricky šifrovanou komunikaci mezi dvěma účastníky, byl popsán způsob, jak se jedna zpráva zašifruje několika příjemcům jednoduše, bez nutnosti vyrábět a posílat jakoby zprávy dvě. To si můžete představit jako jednu z možností.
Dohled nad kryptografií
V praxi by to v extrémním případě vypadalo tak, že by NSA vydala veřejný šifrovací klíč, a jakákoliv komunikace musí být zašifrována i jím. V případě potřeby pak pro agenturu není problém odposlechnutou komunikaci dešifrovat. Což byl přesně scénář, který americká vláda razila. Jádrem všeho byl kontroverzní čip Clipper, ve kterém byl implementován přísně střežený algoritmus Skipjack. Státní orgány se snažily dostat kryptografii pod kontrolu tímto způsobem. Opět mi není jasné, jak může stát používat peníze daňových poplatníků na vývoj něčeho, co pak použije přímo proti nim a zásadním způsobem tak omezí jejich právo na soukromí. únor 2005
část 5, díl 6, kapitola 1, str. 8
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty good privacy
Věc je alarmující v několika ohledech, tak například už samotný fakt utajení algoritmu. Uživatelé absolutně neví, na čem jsou. Nedokáží odhadnou jeho kvalitu, neví, kdo zná jeho slabiny, atd. Další problém je key escrow samotný. Někde musí existovat ten Klíč, který otvírá veškerou komunikaci. A velké K jsem zde použil úmyslně. Jen s malou nadsázkou jeho majitele označme jako Pána klíčů - One key to rule them all. Vrátíme-li se k analogii se standardními odposlechy, znamená to možnost provést dodatečné dešifrování jen na základě ještě nějaké vyšší autority, třeba soudního povolení. No, ale to jsme ještě na tenčím ledě, než v případě běžných telefonů. Kdo to bude kontrolovat? Jak se to pozná? Algoritmus Skipjack byl odtajněn v roce 1998, celý projekt dnes prakticky nemá budoucnost. Dohled nad výzkumem
Dalším významným „kasovním trhákem“ na poli státních intervencí do IT jsou regulace na ochranu intelektuálního vlastnictví, především v podobě nechvalně známého zákonu Digital Millennium Copyright Act. Opět se jedná o plošnou expanzi vynucování jisté „bezpečnosti“ státem. Zmíněný zákon rozšiřuje trestnost v této oblasti. Nejen že je podle něj nelegální intelektuální vlastnictví porušovat, navíc se zavádí trestnost již samotného vyvíjení systémů, které by k porušování vedly. Jednodušeji řešeno následovně. Já vydám nějaký výrobek digitálního charakteru, tj. např. softwarový program, audio nahrávka atd. K tomuto obsahu mám přímo (v případě programu) či nepřímo (v případě nahrávky přes přehrávač) k dispozici jisté uživatelské rozhranní, které dovoluje s předmětem intelektuálního vlastnictví pracovat nějakým omezeným způsobem typicky vynucuje nějakou DRM (Digital Rights Ma-
únor 2005
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6, kapitola 1, str. 9 díl 6, PGP - Pretty good privacy
nagement) ochranu. Trestné je v tomto případě již pouhé disassemblování těchto ochran - tj. rozkládání na jednotlivé instrukce počítač - zkoumání, jak to vlastně funguje. Je třeba říci, že na úrovni dostatečně blízké procesoru není rozdílů mezi zdrojovým kódem a přeloženým programem - jednotlivé instrukce jsou „vidět“, tak je prostě vše veřejné. Tedy už sama jakákoliv ochrana proti pirátskému kopírování softwaru je diskutabilní pokud dokáži duplikovat stroj a médium 1:1, dokáži zkopírovat program. To se týká jakéhokoliv duševního vlastnictví realizovaného digitální formou. Bez hardwarového dílu, který nebude moci uživatel měnit, ji nelze realizovat. Radikální autoři tvrdí, že tento zákon takřka znemožňuje jakýkoliv výzkum již implementované kryptografie, protože prostě pokus o proniknutí do systému ochrany je ilegální. Problémy jsou však i v jiných směrech. Největší vidím v tom, že se legislativa snaží „napravit“ principiální nedostatky softwaru. Ze samotné digitální povahy věcí vyplývá možnost pořizování přesných kopií, a s tím žádný zákon nic neudělá. Navíc opatření těžko můžeme označit za „proaktivní“ nevynucuje správné principy typu bezpečnost založená na tajném klíči, místo toho dává zelenou sebehorší šifře a její bezpečnost pak „dotahuje“ zákonem. Softwarové patenty jsou dnes často diskutovaným tématem. Nás zajímají především z toho důvodu, že PGP je americký produkt a tam je tato ochrana používání invencí v informačních technologiích regulativní nejvíce. Patentovat lze takřka všechno a zvláště v oblasti šifrovacích postupů není situace pro osamoceného programátora příznivá.
Dohled nad vynálezy
únor 2005
část 5, díl 6, kapitola 1, str. 10
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty good privacy
Diskuze, zda takovéto pojetí patentové ochrany je správné či nikoliv, nechme stranou. Chráněné jsou jak obecné myšlenky - například samotný nápad použití dvou rozdílných klíčů pro šifrování a dešifrování, tak jednotlivé algoritmy. Tedy vlastně nic jiného než matematické vzorečky. Podle data objevení některým z nich patentová ochrana přetrvává dodnes, starším již vypršela, a jsou tak volně k použití. Hodně patentů je již staršího data, tj. do dnešní doby vypršely. Spíše v minulosti byly známé korporace, které držely celou sadu patentů, a mohly tak mít výhradní kontrolu nad použitou kryptografií, zvláště tou asymetrickou. Programu PGP se tento fakt týká zásadním způsobem. Celková nejasnost v této oblasti, resp. možné porušování patentů programem, byl jeden z důvodů, proč se ho v počátcích lidé báli používat. Hrozilo, že by se dopouštěli trestného činu. To je také jeden z faktů, který přidal produktu na jeho fenomenálnosti, také díky tomu ho můžeme označit za kultovní. Stal se v mnoha ohledech symbolem boje proti diskutabilní právní úpravě. Krátká historie
První verze Pretty Good Privacy byla uvedena již v roce 1991. Autorem byl Philip Zimmermann, který se právě díky tomu stal legendární postavou v oblasti poskytování kvalitního šifrování pro masy lidí. Jak již patrně víte z předcházejících kapitol, tzv. kombinované schéma má čtyři základní stavební bloky, od nichž se odvíjí celková bezpečnost systému. Jsou to: symetrická šifra, asymetrická šifra, hashovaní funkce a generátor náhodných čísel. V průběhu vývoje se konkrétní algoritmy na těchto čtyřech místech měnily lehce. Na pozici symetrické šifry začínal algoritmus navržený samotným autorem, ten byl za krátký čas
únor 2005
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6, kapitola 1, str. 11 díl 6, PGP - Pretty good privacy
„rozbit“. V některých knihách popisujících PGP je líčena historka jak Zimmermann vysvětloval někde u oběda svoji šifru skutečnému kryptologovi, který mu návod na prolomení vyrobil na počkání. V nových verzích je algoritmů několik a uživatel si může vybrat, konkrétně v prvních verzích pro Windows CAST, IDEA a 3DES, časem přibyly další. Jako asymetrická šifra (plus samozřejmě systém na práci s digitálními podpisy) byly v programu zapojeny RSA a DSA/El Gamal. Nejprve RSA, později DSA a RSA varianta byla přidána ještě jednou, „starou“ autoři z důvodů zpětné kompatibility se staršími verzemi pro MS DOS v programu ponechali, s názvem RSA Legacy. Z dnešního pohledu je třeba se vyvarovat hashovacím funkcím MDx, které jsou již teoreticky i prakticky překonané. To nebude problém, protože nyní by sotva kdo používal stará PGP pro DOS, bez DSA podpory. Ale zpět k tématu. Roku 1993 je proti autorovi zahájeno trestní řízení pro porušení amerických vývozních pravidel. Tři roky mu hrozilo vězení, než soud definitivně případ zamítl. Mezi tím se produktu PGP zhostila firma Viacrypt, která dříve produkt komerčně prodávala. Ve stejném roce, jako bylo ukončeno stíhání (1996), se z Viacryptu zformovala PGP Inc. a současně vyšla první verze s uživatelským rozhraním - 4.5 pro Microsoft Windows. Od té doby jde rozvoj produktu ruku v ruce s komerčními potřebami - jsou přidávány nové funkce, do balíku je zahrnuto několik dalších bezpečnostních utilit, objevuje se síťová verze atd. V roce 1997 PGP Inc. koupila firma Network Associates. Pokračuje rozvoj produktu, nicméně vlastnictví koupila zpět nově vzniklá PGP Corporation. Koncem roku 2003 uvolňují nový produkt - PGP Universal, únor 2005
část 5, díl 6, kapitola 1, str. 12
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty good privacy
který s původním PGP souvisí pouze nepřímo. V současnosti je PGP ve verzi 8.1 (8.5 pro příkazovou řádku), Universal 1.2. Je již tradicí poskytovat „odlehčenou“ verzi produktu zdarma jako freeware. Můžete ji bez omezení používat pro osobní nekomerční účely a pro toto vám poskytne vše co potřebujete. V balíku nejsou zahrnuty některé přídavné utility. Stáhnete si ji z www.pgp.com. V tomto textu budeme, alespoň prozatím, popisovat verzi Desktop 8.1 Freeware. Je to základní nástroj pro koncového uživatele.
únor 2005
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6, kapitola 2, str. 1 díl 6, PGP - Pretty good privacy
5/6.2 PUBLIC KEY INFRASTRUCTURE PODLE PGP
Chceme-li naprogramovat něco jako PGP, musíme si mimo jiné zvolit příslušné datové formáty pro ukládání informací - klíčů, šifrovaných souborů, digitálních podpisů, certifikátů. Detailní implementace není podstatná, nicméně fakt, že jich v dnešním IT světě existuje více, je pro PGP velmi podstatný. Totiž, v roce 1991 zdaleka nebyla bezpečnost IT tak velikým oborem jako je nyní, autor PGP si proto formáty vytvořil. Postupem času se začali do oboru dostávat i jiní hráči, kteří si celkovou filozofii ochrany představovali jinak, než ji razilo PGP.
Architektura PGP
Nyní si prosím vzpomeňte na kapitolu o certifikačních autoritách. Základní nutností fungování PKI je kontrola pravosti cizího veřejného šifrovacího klíče označme ho A. To se děje pomocí certifikátu - speciálním dokumentu, říkajícím něco o vztahu šifrovacího klíče (A) a jeho fyzického (popř. virtuálního - počítače atd.) majitele. Tento dokument je podepsán jiným únor 2005
část 5, díl 6, kapitola 2, str. 2
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty good privacy
klíčem - ten nazvěme B. Pokud o pravosti klíče B a důvěryhodnosti jeho majitele jsme přesvědčeni, je proces ověřování A u konce. Pokud nikoliv, musíme celou proceduru zopakovat - potřebujeme certifikát podepsaný klíčem C, který svědčí o důvěryhodnosti klíče B, atd. Této struktuře se říká PKI (resp. je to část PKI). V principu každý klíč může vydat certifikát o jiném klíči. Stačí vzít dokument, kde jsou napsány informace o klíči a jeho majiteli a podepsat ho. Pokud jsme použili vhodný formát, programy ho budou přijímat. Nicméně modelování vztahů mezi subjekty v reálném světě není tak jednoduché, například z důvodu velkých nároků na osobu, která certifikáty vydává, a její klíč. Ten musí být extrémně dobře chráněn proti odcizení, které by znamenalo možnost tvořit falešné certifikáty. Stejně tak majitel musí mít naši důvěru, např. korupce celý systém bourá podobným způsobem. Rozdělme modely reálných situací do dvou ideově odlišných skupin: 1. U každého uživatele (majitele klíče) předpokládáme funkci jak uživatelskou - používá svůj klíč k šifrování - tak certifikační - on a jeho klíč funguje jako zprostředkovatel důvěry mezi lidmi, kteří se navzájem neznají (ale ideálně oba znají jeho). V tomto případě je tedy vydavatelů certifikátů řádově tolik, jako uživatelů. 2. Rozlišujeme subjekty uživatelské (koncové), kteří drží šifrovací klíče pro šifrování a podepisování dokumentů (ne klíčů) a certifikační autority, jejichž klíče jsou určeny pro tvorbu certifikátů - dokumentů svědčících o pravosti klíčů koncových uživatelů (a někdy také jiných autorit). V tomto případě je klíčů autorit řádově méně než klíčů uživatelů a PKI únor 2005
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6, kapitola 2, str. 3 díl 6, PGP - Pretty good privacy
jako celek (a její software) jim poskytuje jisté „logistické“ funkce pro lepší správu vydaných certifikátů. První model můžeme pro přehlednost nazvat distribuovaný, druhý hierarchický. Chce se tím poukázat na podstatný rozdíl. V jednom z nich jsou si všichni rovni - všechny uzly mají stejné možnosti a vztahy „Klíč a subjet A svědčí o pravosti klíče B“ jsou mezi účastníky rozloženy rovnoměrně. V druhém případě certifikační autority mají „pod sebou“ obrovská množství klientů, jejichž certifikaci zařídily. V praxi může být i (klíčů) autorit velmi mnoho, tj. musíme navrhnout systém i na jejich ověření. V zásadě můžeme použít oba dva, často se různými způsoby kombinují. Certifikační autority, které certifikují jiné z nich, opět hierarchickým způsobem nazýváme kořenové (root CA), nicméně zde se často autority certifikují různě „napříč“ mezi sebou. O a) hierarchické pojetí
b) distribuované pojetí
šipka → značí potvrzení identity (vydání „PGP certifikátu“) únor 2005
část 5, díl 6, kapitola 2, str. 4
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty good privacy
Distribuované pojetí PGP versus hierarchické pojetí ostatních
Jestli něco je hlavní ideová myšlenka PGP, tak je to víra v distribuovaný systém. To je to, co program odlišuje od implementací, které najdete např. v majoritních poštovních klientech. Tuto kapitolku bych rád věnoval krátké diskusi nad výhodami a nevýhodami obou pojetí, v pořadí nezávislém na důležitosti argumentu. Jsou to současně důvody a indicie, kdy se např. ve firmě vyplatí nasadit PGP a kdy je nutné sáhnout po jiných nástrojích.
Obecnost
První bod dávám PGP z toho důvodu, že distribuované pojetí je obecný systém, který umožňuje bez omezení vše, co nám dává technologie. Hierarchické pojetí samo o sobě je jeho podmnožina. Pokud něco namodelujete tam, namodelujete to i v PGP.
Uživatelská kontrola
Tento bod úzce souvisí s předchozím. Jako uživatel PGP jste pánem svého klíče. Máte absolutní kontrolu nad klíči a účastníky, se kterýma jste v PKI-styku. Vidíte všechny vztahy s kolegy, vidíte nastavené míry důvěryhodnosti. O každém „PGP-certifikátu“ můžete říci, který z vašich známých ho vydal, můžete se s ním osobně zkontaktovat, jelikož vydávání certifikátů je zde záležitostí „mezilidských vztahů“.
Výukové účely
Trochu nestandardní důvod, ale rád ho zmiňuji. Chceteli pochopit asymetrickou kryptografii a PKI, PGP je ideálním výukovým prostředkem. Tím, že je vše blízko uživateli a jak jsem již řekl - kryptografické funkce kopírují mezilidské vztahy s vašimi blízkými - velmi rychle si ujasníte, co je co. Takřka škola hrou.
Náročnost na průměrného uživatele
Zmiňované klady jsou ale dvojsečnou zbraní, jejichž společným jmenovatelem je jistá „náročnost“ na uživatele. Uvozovky jsou zde na místě, protože je třeba vysvětlit, jak je to míněno. Věci vyplynou na povrch v momentě, kdy (ne)ideálně: potřebujete PKI nasadit
únor 2005
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6, kapitola 2, str. 5 díl 6, PGP - Pretty good privacy
mezi hodně lidí, kteří jsou v IT málo vzdělaní a chcete se bavit o penězích. Můžete si představit v analogii rozdíl asi takový, jako mezi PDA s vlastním operačním systémem, kam můžete nahrát jakékoliv aplikace a jednorázovým elektronickým diářem, kde jsou natvrdo zadrátovány funkce, co nejčastěji potřebujete. V tom druhém jsou možnosti a postupy dány, první jich má víc, ale uvedení do chodu vyžaduje jisté dovednosti. Speciálně, jak jsem řekl, pro běžné kancelářské použití „vedle“ Wordů a Excelů. Zkrátka, někdy je třeba místo vykládání o kryptografii uživatelům naservírovat bezpečnost jako „sadu tlačítek s obrázky“. Vzhledem k tomu, že v jednom případě je potencionálních certifikačních autorit podstatně méně než v druhém, bude pro programy daleko snazší s nimi komunikovat. Tak například poštovní klient může ve své instalaci obsahovat až tisíce klíčů nejznámějších a nejdůvěryhodnějších autorit, což v druhém případě nepřipadá v úvahu. To přitom přináší pro uživatele obrovské výhody. Několik desítek kořenových CA dokáže ověřit tisíce „standardních“ CA, které mohou ověřit miliony uživatelů. Výsledek? Takřka jako byste si se všemi vyměnili klíč (skoro) osobně! To vám distribuovaný systém nikdy nedá.
Více podpůrných funkcí PKI
Další podpůrnou (v tomto případě nutnou) funkcí jsou mechanismy pro včasné odvolávání kompromitovaných klíčů/certifikátů - Certificate Revocation List (CRL). Jelikož je vše centrálně evidováno, není problém např. zcizení klíče „nahlásit“, něco jako kdyby šlo o kreditní kartu. V distribuovaném systému je toto trochu těžší - přímá obdoba nemůže existovat, každý by musel mít infrastrukturu pro CRL. PGP má jiné nástroje, které zmíníme v dalších kapitolách zabývajících se detailním popisem práce s PGP. únor 2005
část 5, díl 6, kapitola 2, str. 6
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty good privacy
Důvěrnější certifikační orgány
Přestože není problém postavit komerční CA operující v PGP-like PKI, v současnosti to není zvykem. A asi sotva kdy bude. Naopak, hierarchie si důvěryhodné CA v podobě komerčních subjektů přímo žádá. To zajistí, že zprostředkované důvěře můžete věřit o několik řádů vícekrát, než té samé v PGP. Ve skutečnosti PGP má v sobě zabudované prostředky, které zprostředkovanou důvěru v jejím distribuovaném systému ruší. Je tomu tak právě z bezpečnostních důvodů - jednotliví účastníci sítě na to nejsou dost „dobří“.
Další vlastnosti systému PGP
Dříve, než přistoupíme k popisu práce s PGP, je třeba si osvětlit některé další vlastnosti, které PKI v pojetí tohoto programu má. Předně, všechny privátní klíče jsou chráněny bezpečnostní frází. Slovo fráze je zde „terminus technicus“. Mohlo by se říci jednoduše „heslo“, nicméně takto je vystihnut nátlak na uživatele, aby si svůj klíč chránil opravdu pečlivě. Při prvním ukládání klíče po jeho vygenerování budete muset frázi dvakrát zadat, přičemž její „kvalitu“ - vyhodnoceno jistým algoritmem - uvidíte při každém dalším stisku klávesy. Podle toho, co s PGP zamýšlíte, můžete frázi nechat kratší či delší, pro mne je jistotou nechat „vyjet“ zmíněný ukazatel pryž z jeho „pole“. Každý klíč má svoje ID a tzv. fingerprint - otisk. Zatímco ID je krátké hexadecimální číslo a jeho smysl by se dal charakterizovat výrokem „pokud jsou ID různá, jde o různé klíče (nikoliv nutně naopak)“, otisk plní bezpečnostní účely, tj. opačný směr implikace. Jedná se o hash klíče a jeho účel spadá do PGPčkového pojetí PKI. Pokud si dva lidé pošlou klíč např. e-mailem, nemají absolutní jistotu jeho pravosti. Odříkávat celý klíč např. po telefonu (či jiném bezpeč-
únor 2005
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6, kapitola 2, str. 7 díl 6, PGP - Pretty good privacy
ném kanále), by bylo neúnosné, ale to je právě místo pro fingerprint. Vzhledem k vlastnostem hashovacích funkcí (viz příslušná kapitola) stačí ověřit jej a shoda je jistá. Uživatelské rozhraní programu, jak uvidíte, má dokonce standardizovaný formát přepisu hexadecimálních hodnot hashe do anglických, lehce vyslovitelných slov. Speciálně v architektuře, jakou razí PKI, hrají důležitou roli tzv. keyservery - servery klíčů. Jsou to úložiště, kde si mohou uživatelé vyhledávat klíče ostatních a nahrávat tam svoje vlastní. PGP má v sobě adresy na několik nejznámější, další není problém přidat. Pochopitelně problémem takto získaných klíčů je jejich důvěryhodnost. Každý klíč může mít jeden nebo více identifikátorů jmenovek. Účel PGP byl primárně míněn pro e-mailovou komunikaci, a proto je zde mnoho věcí zařízeno tímto směrem. Jenže jakmile je e-mail součást jmenovky, týká se ověření platnosti klíče i elektronické adresy, což není tak jednoduché. Často se totiž stane, že si ji lidé mění. Systém je proto navrhnut tak, že každý klíč může mít více jmenovek. Pozor, pokud jednou nahrajete klíč na server klíčů, můžete mu už jen přidávat jmenovky. To je docela logické, jejich odvolávání by do celé architektury vneslo relativně velký zmatek. Pojetí pojmu certifikát v prvních verzích PGP se liší od toho, co byste dostali za odpověď na otázku „co je to certifikát?“ nyní. Účel takového digitálního dokumentu je stejný - vydavatel certifikátu svým podpisem stvrzuje, že ověřil příslušnost uvedeného veřejného klíče k uvedené fyzické entitě (člověku, serveru...).
Certifikáty v pojetí PGP
únor 2005
část 5, díl 6, kapitola 2, str. 8
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty good privacy
Rozdíl je v tom, že důležitost certifikátu v hierarchické struktuře je ideově podstatně větší než ve struktuře distribuované. To je logické - pokud máme několik málo certifikačních autorit, které se poskytováním svých služeb živí, je certifikát vstupenkou do světa používání klíče pro „vážné“ účely - vlastnictví certifikátu (vydaného známou CA) znamená ověření identity. Skoro se dá říci, že pojem certifikát zastínil celý pojem šifrovací klíč. Je tomu tak v mnoha programech, kde se potom dočteme věci jako „šifrovat certifikátem“ atd. To je z toho důvodu, že když někomu pošlete šifrovací klíč, spíše mu pošlete i ten konkrétní certifikát, který vás identifikuje. V PGP by toto mohlo platit také, kdyby zde síť autorit byla podobně rozvětvená. Což není. Právě naopak. Certifikát - resp. z dnešního pohledu už jen „něco jako certifikát“ - může vydat každý. Právě proto dominantním pojmem v PGP je (veřejný) šifrovací klíč a jednotlivé certifikáty od (ostatních) drobných uživatelů jsou jeho doplňkem. Sbíráte je postupně, tak jak se setkáváte s novými lidmi. S jejich vzrůstajícím počtem máte větší pravděpodobnost, že již po výměně klíčů s někým novým budete oba věřit někomu třetímu, který předtím certifikoval oba klíče. Možná bychom neměli u PGP vůbec mluvit o certifikátech - sama terminologie programu používá „Sign a key“ - podepsat klíč. Je to takřka totéž, jde o snahu vše co nejvíce zjednodušit. Podepsáním klíče prostě stvrzujete, že patří tomu, kdo je uveden na jmenovce. Pojmy trust a validity
únor 2005
Jak již bylo řečeno, v PGP má každý uživatel výhradní kontrolu nad klíči, se kterými pracuje. Není zde žádný seznam certifikačních autorit, vůči kterému by se důvěryhodnost klíče ověřovala, vše závisí pouze na svobodném rozhodnutí uživatele. Nicméně, zvláště pokud
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6, kapitola 2, str. 9 díl 6, PGP - Pretty good privacy
uživatel pracuje s velkým počtem cizích veřejných klíčů, není možné při každém použití ručně kontrolovat podpisy-certifikáty, program musí poskytnout mechanismy, které toto radikálně ulehčí. Tím jsou právě pojmy zmíněné v nadpisu. Úmyslně jsem je nechal v původním anglickém tvaru. Intuitivní česká terminologie může mást - po přeložení dává smysl použití i po záměně. Navíc PGP je v angličtině, osvětlíme si proto pojmy v originále. Trust (řekli bychom asi důvěra) je vlastnost majitele nějakého veřejného klíče - „to trust a person“. V principu říká, jak moc dotyčné osobě věříme jako certifikační autoritě, především jak moc věříme, že si dává pozor na to, které klíče certifikuje. Pokud je třeba váš kamarád fanda do PGP, nabízí vašemu klíči (PGP-) certifikát, v oboru se vyzná, svůj tajný klíč maximálním způsobem chrání a i po vás (ačkoli vás zná) chtěl, abyste mu klíč donesli osobně, patrně bude mít vaši důvěru jakožto CA. Důležité je si uvědomit, že důvěra je jedinečná také podle vydavatele - vás. Pokud vy důvěřujete vašemu zmíněnému kamarádovi, ještě to neznamená, že mu důvěřuji já. Každý účastník tak může být různě důvěryhodný pro různé ostatní účastníky. Validity (často se překládá jako platnost) je vlastnost klíče. Jedná se o funkci (resp. její výsledek) vaší důvěry (trustu) jiných klíčů, kteří tento certifikovali (podepsali). Uvedu jednoduchý příklad. Pokud já, osoba A, nastavím trust (moji důvěru) osoby B na 0,5, tak platnost (validity) každého klíče C, který B certifikuje (podepíše), se zvýší o 0,5. Pokud mám ještě lepšího přítele, kterému dám plnou důvěru 1.0 a on shodou okolností podepíše-certifikuje ten samý klíč C, tak pro mne jeho výsledná platnost bude 1,5. únor 2005
část 5, díl 6, kapitola 2, str. 10
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty good privacy
Tedy, PGP, aby usnadnilo uživatelům práci, zobrazuje u každého klíče mimo jiné: - důvěryhodnost (trust), kterou jsme přiřadili jeho majiteli - odstupňovanou jako žádnou, poloviční a plnou (podle nastavení ve vlastnostech klíče), - platnost (validity) jako výsledek výše popsaného algoritmu - odstupňováno stejně s tím, že žádná znamená celkovou hodnotu 0, poloviční 0,5 a plná 1,0 a vyšší (tj. jakmile se jednou dosáhne 1,0, tak je klíč prostě plně platný). Dejte si maximální pozor na podepisování cizích klíčů, zvláště když se domníváte, že by jste mohli pobírat vysoké důvěry od vašich kolegů. V extrémním případě by vaši nepozornost mohl útočník využít k průlomu do celého PKI - klíč s vaším podpisem je k tomu ideální. O
únor 2005
Názorn˘ pfiíklad systému dÛvûry a platnost
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6, kapitola 3, str. 1 díl 6, PGP - Pretty good privacy
5/6.3 POUŽÍVÁME PGP
V minulých odstavcích jsme detailně popsali historii, vývoj a filozofii programu Pretty Good Privacy a vybaveni znalostmi z předešlých kapitol by neměl být pro čtenáře problém s tímto produktem začít pracovat. Pokud rozumíte všem aspektům šifrování, které zde byly popsány, bude ovládání softwaru jen potvrzením o tom, jak vlastně „věci fungují“.
Úvod
Jak již bylo řečeno, tradicí vydavatele PGP (ať již je jakýkoliv), je poskytovat zdarma pro nekomerční účely základní verzi Freeware Desktop. Mohl za tím být altruismus v dávných dobách, ale dnes je to logické - majitelé potřebují, aby jejich produkt používalo co možná největší množství lidí, protože tím je větší pravděpodobnost, že systém osloví další a další - již za peníze. Tedy licenci máme zatím zdarma a produkt pro osobní potřebu, tj. neměli bychom ho používat pro jakoukokvûten 2005
část 5, díl 6, kapitola 3, str. 2
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty good privacy
liv komunikaci v ziskových aktivitách (v práci atd.). Zatím, pro účely tohoto textu, u této verze zůstaneme, dokud bude stačit. Jestli si budeme postupy ukazovat na komerčním nebo nekomerčním dopisování, je pochopitelně jedno. Stahujeme
Webovým domovem PGP je stránka pgp.com. PGPček je celá řada, dle mého názoru je web trochu zmatečný, minimálně v situaci, kdy si chci stáhnout právě freeware verzi. Odkaz na poslední vydanou verzi je http://www.pgp.com/downloads/freeware/freeware.html. Nicméne v době, kdy je tato publikace psána, je k dispozici Beta nové verze 9.0, kterou obdržíte pro změnu na adrese http://www.pgp.com/downloads/beta/current.html a vyjde vás na 18 MB času. Ta se ale pro naše účely nehodí hned z několika důvodů. Problémy jsou dva. Jedna sama o sobě není freeware a licence, kterou dostanete, za 30 dní vyprší. O tu je navíc třeba žádat na webu pgp.com s tím, že vás kontaktuje prodejce firmy. Tedy zatím pro seriózní používání nevhodné. Druhou věcí, před kterou bych chtěl varovat, je fakt, že verze, která byla k dispozici v době psaní tohoto textu (začátek dubna 2005) je velmi nestabilní a moje osobní zkušenost je špatná, doslova bych měl napsat „neslučitelné s životem (počítače)“. Na druhou stranu demonstrace prostředí (když nemám licenci, tak nic nefunguje, jsou to jen dialogy) dává možnost nahlédnout pod pokličku budoucímu vývoji. PGP 9.0 bude obsahovat řadu nových funkcí, o kterých se určitě dozvíte v některé z příštích aktualizací publikace. Dle dostupných informací dojde také k malé „reorganizaci“ PGP nástrojů - s novou verzí přichází komponenty PGP Global Directory a PGP Whole Disk, čímž se práce může v některých momentech vi-
kvûten 2005
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6, kapitola 3, str. 3 díl 6, PGP - Pretty good privacy
zuálně změnit, např. funkce z Global Directory byly dříve součástí hlavního programu PGP Keys atd. Důležitý je poznatek, že vlastnosti verze 8.1, které budeme popisovat zde, budou v devítce spíše „překreslené“ než nějak zásadně změněné, vzhled uživatelského prostředí je trochu odlišný, ale spojit si stará a nová tlačítka/menu je otázkou chvilky používání. PGP 8.1 je nejrozšířenější verze, a jak to tak vypadá, ještě nějakou dobu jí zůstane. Program je pro člověka vzdělaného v oblasti bezpečnosti velmi intuitivní a troufám si tvrdit, že je skoro jedno, kterou verzi zde budeme popisovat. Ať již budete stahovat cokoliv, nespleťte si produkt s PGP Universal 2.0 Beta, to je něco jiného. Instalace je jednoduchá, takřka stylem „odenterovat a restart“. Můžete si zvolit některé doplňky, typicky PGP moduly do poštovních klientů, tj. naklikejte si to, co uznáte za vhodné. Nezapomeňte se na systémech Windows 2000/XP přihlásit jako administrátor (či jiný ekvivalentní účet), program dělá relativně velké změny v systému - spouští různé služby atd. a bez toho by patrně v jejich instalaci neuspěl.
Instalace
Aby mohl produkt dobře fungovat, musí mít nastavena úložiště veřejných a tajných klíčů, takzvané keyringy, v podobě souborů secring.skr a pubring.pkr. Implicitní konfiguraci lze bez problémů použít, jen pokud byste chtěli změnu, je třeba to říci. Můžete si tyto sobory uložit do nějakého jiného adresáře, standardně jsou v „Dokumentech“, v podadresáři „PGP“. Nabízí se třeba nastavit si USB klíčenku, síťový disk atd. To lze kdykoliv později změnit. Software se vás zeptá, zda máte pár šifrovacích klíčů. V případě pozitivní odpovědi mu ho budete muset pokvûten 2005
část 5, díl 6, kapitola 3, str. 4
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty good privacy
mocí dialogu na disku najít, v případě negativní bude ihned spuštěn průvodce tvorbou šifrovacích klíčů. Ten také můžete spustit později, ale je to první setkání s kryptografií, tak se na tuto problematiku podíváme detailněji. Generování klíče
„Welcome to the PGP Key Generation Wizard,“ říká dialog. Já automaticky klikám na tlačítko „Expert“, což prosím udělejte také, není se vůbec čeho bát. První, co je třeba zadat, je popisek klíče, resp. jeho hlavní identifikátor. O pár stránek dříve jsme si říkali, že PGP klíče mají identifikátory, jakési visačky se jmény a většinou i e-mailovými adresami. Zde se vyplňuje první (každý klíč musí mít alespoň jednu) a tato visačka se ihned nastaví jako hlavní. Se jménem asi nebude problém, ale e-mailové adrese věnujte jistou pozornost. Jde o to, že PGP se právě na e-mailovou komunikaci používá a toto je jakoby vaše vizitka. Když změníte e-mail, stovka vytisknutých vizitek rázem ztrácí hodnotu. Tady to není úplně stejně, ale tak trochu přece. Adresu uveďte takovou, kterou skutečně budete používat pro komunikaci s lidmi, s nimiž chcete zabezpečit sdělení pomocí tohoto klíče, popř. vícero opravdu používaných adres. Později lze na klíč dohrát další údaje, ale většinou již nelze nic vymazat. A opět nemusí být příjemné se „ohánět“ šifrovacím klíčem, na kterém je několik vašich freemailových adres, u nichž již dávno neznáte ani heslo. Zde je také potencionální problém s možným spamem. Servery veřejných klíčů jsou volně přístupné a proti extrémně vychytralému podvodníkovi zde sotva bude obrany. Pokud jste opravdu klikli na expertní volbu, můžete si nyní „sáhnout“ na kryptografii. Program vám dovo-
kvûten 2005
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6, kapitola 3, str. 5 díl 6, PGP - Pretty good privacy
luje si vybrat, jaký systém kryptografie s veřejným klíčem budete používat: Diffie-Hellman/DSS, RSA či RSA Legacy. Posledně jmenovaný vyloučíme, pokud vysloveně neplánujete komunikaci se starými verzemi PGP, jedná se o zpětně kompatibilní formát bez novějších možností. Mezi zbylými dvěma je pochopitelně rozdíl algoritmicky, ale uživatelsky nikoli. Přikláněl bych se na stranu D-H/DSS, a to z historického důvodu. Po opuštění DOSové verze byly D-H/DSS klíče novinkou a prosazovaly se od PGP verze 5.0, první pro Windows. RSA, tj. to, co je v dialogu označeno jako RSA (ne RSA Legacy), bylo později přidáno, tj. můžeme říci, že D-H/DSS klíče jsou více časté. To samozřejmě není nic proti RSA formátu, šifrovat můžete všem, jak jsem již řekl, uživateli na tom nezáleží. Generování klíãe programem PGP
O
kvûten 2005
část 5, díl 6, kapitola 3, str. 6
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty good privacy
Otázka velikosti klíče je možná zajímavá pro fanoušky, ale v praxi na tom opět nad jistou mez nezáleží. Pokud potvrdíte předdefinovanou volbu, nic se nezkazí, stejně tak pokud vyženete délku klíče na maximum, ať už „pro sichr“, nebo prostě proto, že to tak jde. Větší klíč je možná bezpečnější, ale ten průměrný, který je nastaven standardně, je tak bezpečný, že další zvyšování není tak podstatné. Kdyby se najednou přišlo na to, jak prolomit 2048bitový D-H/DSS klíč, patrně půjde o tak revoluční metodu, že 4096bitový bude odolávat stejně „dlouho“. Ještě upozorňuji, že jde o velikost klíče v asymetrické kryptografii, takže např. srovnání se 128bitovým šifrováním v SSL není na místě, to je úplně něco jiného. Pokud si nejste jisti, osvěžte si kapitolu o kombinovaných systémech, kde je vysvětleno, jak dohromady oba světy spolupracují. Také můžete nastavit dobu, za jakou váš klíč vyprší. To se týká operací šifrování (operace s veřejným klíčem) a podepisování (operace s privátním klíčem). Po jejím uplynutí by software neměl být schopen tyto akce provádět, na druhou stranu možnost dešifrovat (operace s privátním klíčem) a ověřovat podpisy (operace s veřejným klíčem) budou fungovat. Je ale třeba říci, že toto omezení nelze brát jako „důkaz“ - klíč sám jakožto datová položka, mající někde uvnitř zapsaný údaj o vypršení, může sotva zabránit šifrovacímu programu v jeho používání. Je nutné poznamenat ještě jednu drobnost. Totiž, PGP standardně používá takzvané zrychlené generování klíče. Tato metoda používá přepočítaných výsledků, které jsou uloženy uvnitř programu. To nemá žádný vliv na výslednou bezpečnost klíče ve smyslu, že se tomuto výroku věří stejně tak, jako se věří, že prolokvûten 2005
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6, kapitola 3, str. 7 díl 6, PGP - Pretty good privacy
mení této asymetrické kryptografie „není možné“, tj. nelze patřičně rychle vyřešit dané matematické problémy. Pokud byste se při použití tohoto nastavení necítili dobře, můžete si jej pro maximální bezpečnost vypnout. Prodlení není zas tak veliké, na Athlonu XP 2500+ trvá výroba D-H/DSS klíče nejvyšší délky (4096 b) přibližně minutu. Následuje okno „šifrovací fráze“, což je vlastně symetrický „ochranný“ šifrovací kíč, pod kterým bude uložen váš privátní klíč. Kdykoliv program bude potřebovat mít k němu přístup, budete ji muset zadat (může se ukládat do cache, aby to bylo jednodušší, viz dále). Jak jistě vidíte, polem pro ni nejsou jen jednořádkové vstupní elementy na hesla jako všude jinde, skutečně se zde počítá s frází. Elektronický podpis je určen pro dokumenty velké důležitosti a v PGP se bezpečnost mnoha dalších věcí točí kolem utajení vašeho privátního klíče. Frázi zvolte dobře, návod na tvorbu bezpečných hesel a frází najdete v této publikaci. Mělo by v ní být co nejvíce entropie (chaosu), tj. co nejméně uspořádanosti. V jedné větě se dá říci, že pokud fráze nedává smysl, obsahuje malá písmena, velká písmena, číslice, nějaké to interpunkční znaménko a ukazatel kvality (uprostřed dialogu) je na maximu, máte dobrou frázi. Po odkliknutí se začnou generovat klíče. Program by měl ohlásit „Generating key“ a „Generating Subkey“, o čemž si povíme za chvíli. Ať již jste průvodce generováním spustili odkudkoliv, momentálně byste měli mít nově vygenerované klíče připravené k práci.
PGP Tray - váš pomocník
Správu šifrovacích klíčů obstarává hlavní komponenta PGP Keys, většina jiných věcí se dělá buď dalšími dokvûten 2005
část 5, díl 6, kapitola 3, str. 8
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty good privacy
plňky nebo pomocí kontextového menu v prostředí operačního systému. Instalační program by vám měl na systémovou lištu přidat malý žlutý zámeček, to je PGP Tray, ovládací ikonka. Menu, které se objeví po stisknutí tlačítka myši, je sice velké, ale stejně se upotřebí pouze spouštění PGP Keys, možná nějaké další kontextové funkce. Hned z kraje upozorním na již zmíněné cacheování bezpečnostní fráze. Abyste ji nemuseli zadávat pokaždé, dá se nastavit její uchovávání v paměti PGP, implicitně po dobu dvou minut. Že se tak děje, poznáte podle ikonky zámku. Pokud je aktuálně fráze uložena v paměti, je zámek otevřený a po najetí kurzorem myši nad něj se ozve nápověda „PGP Tray: passphrase is cached“. Jak se vypne, si vysvětlíme. Nastavení PGP
Nabídka Edit->Options otevře dialog s nastaveními. Jsou poměrně jednoduchá, projdeme si v rychlosti jednotlivé záložky. Nejprve „General“. Políčko „Always encrypt to default key“ znamená, že v dialogu, ve kterém si vybíráte adresáta šifrované zprávy, bude standardně uveden váš klíč, abyste vždycky mohli zprávu dešifrovat. Adresáta pak přidáte vedle. „Faster key generation“ jsme probrali výše. „Comment block“ představuje text, který se bude vkládat do všech textových výstupů PGP (zašifrované a podepsané soubory) jako komentář. Další oblast se týká cacheování fráze, o tom jsme již také mluvili. „File Wiping“ jsou nastavení pro bezpečné mazání souborů, volí se především počet přepsání daného souboru jinými daty. Na záložce „Files“ si nastavíte cesty ke svým Keyringům. „E-mail“ se týká možností doplňků k e-mailovým programům. Věc se aktivuje nahráním doplňku
kvûten 2005
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6, kapitola 3, str. 9 díl 6, PGP - Pretty good privacy
a zaškrtnutím volby „Use PGP/MIME when sending email“. Další možnosti představují míru automatické práce s obdrženými a odesílaným zprávami. Další záložka, „Hotkeys“, je srozumitelná - nastavují se klávesové zkratky na práci s aktuálním oknem a schránkou. „Server“ umožňuje nadefinovat systému servery veřejných klíčů. Ve standardní instalaci najdete dva (ldap:// keyeserver.pgp.com a ldap://europe.keys.pgp.com). Další je třeba http://wwwkeys.pgp.net, který ale funguje pomocí protokolu http na portu 11371, což musíte při přidávání nastavit. Pokud jste za firewallem, musí vám administrátor nastavit možnost přístupu ven na zmíněný port, resp. 389 v prvním případě (ldap), jinak se připojení nezdaří. Některé servery jsou mezi sebou navzájem provázány, takže stačí klíč nahrát jen na jeden z nich. Webové rozhranní pro vyhledávání klíčů lze nalézt mimo jiné na adrese http://www.pgp.cz/index.php?stranka=1&jazyk=cz. Lze nastavit, po jakých akcích se budou klíče synchronizovat se serverem. Záložka „CA“ obstarává veškerou administraci kolem certifikačních autorit v systému PGP. Program umí vedle svých certifikátů pracovat i se standardním formátem X.509. Pokud vyplníte formulář identifikující certifikační agentury, můžete si obstarat certifikát příkazem Retrieve Certificate, který se poté automaticky vloží do vašeho keyringu. Pro osobní použití se v PGP certifikačních autorit často nepoužívá. Poslední záložka „Advanced“ umožňuje nastavit některé další možnosti. Volby jsou velmi intuitivní. Nastavuje se symetrický šifrovaný algoritmus, který preferujete a který vůbec povolujete. Detaily PKI kvûten 2005
část 5, díl 6, kapitola 3, str. 10
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty good privacy
umožňují zpřísnit platnost klíče tak, že poloviční bude znamenat neplatný. Poslední zajímavou možností je automatické zálohování keyringu. Práce s klíči
Nyní se podíváme, jak se v PGP Keys pracuje se šifrovacími klíči. V hlavním okně vidíte jejich seznam. Klíče, které jsou párové, tj. máte veřejnou i privátní část, byste měli rozeznat, ve verzi 8.1 jsou symbolizovány postavičkou před žlutou ikonkou, která jinak symbolizuje prostý (cizí) veřejný klíč. Navíc jeden z párů, které máte k dispozici, bude patrně označen jako výchozí (default). Ve verzi 8.1 je vyznačen tučným písmem. Všechny položky v hlavím okně mají kontextové menu (pravé tlačítko myši), volba „Set default“ nastavuje přesně toto.
O
Prostfiedí programu PGP
kvûten 2005
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6, kapitola 3, str. 11 díl 6, PGP - Pretty good privacy
Po rozbalení (kliknout na +) svého nového klíče patrně vidíte obálku se svým jménem vedle a pod ní pero, opět se jménem. To značí následující: „tento klíč nese jmenovku popisek-vedle-obálky, která byla podepsaná klíčem popisek-vedle-pera“. Proč je tato informace podepsaná vlastním klíčem? Protože se distribuuje s veřejnou částí, ale je podepsaná částí privátní, takže spojuje pravost tohoto údaje s vlastníkem privátní části. Tedy tento údaj je pravý. Tím se zaručí, že někdo třetí (kdo nevlastní privátní klíč) nemůže k veřejné části dodat vlastní informace. Obdobné technice se mimo systém PGP říká self-signed certifikát/klíč. Nyní si můžete pomocí kontextového menu přidat ke klíči další informace, třeba další identifikátor. To se hodí, pokud máte např. druhou (používanou) e-mailovou adresu. Také si můžete přidat fotku, pak bude pod obálkou ještě ikonka obrázku. To je trochu diskutabilní záležitost. Totiž většina lidí se psychologicky nechá opít i jménem v identifikátoru klíče, a když uvidí (ukradenou, ale reálnou) fotku, bude tendence danému klíči věřit ještě větší, což ovšem nebude nijak doloženo realitou. Zda všechny podpisy „sedí“, jednoduše ověříte příkazem Reverify signatures z kontextového menu klíče. Nyní stručně o nakládání s klíči. Klíče můžete jednoduše exportovat a importovat, buď opět příkazem z kontextového menu, nebo z nabídky. Při exportování máme možnost volby, zda ve výsledném souboru bude uložen jen veřejný, nebo i tajný klíč. Pokud exportujeme tajný, bude stále chráněn stejnou bezpečnostní fází, jako kdyby byl v našem keyringu, tj. zcizení souboru ještě neznamená automatický přístup k tajnému klíči. Další volba umožňuje výběr mezi úplným a kompatibilním formátem. Druhá možnost zaručuje bezkvûten 2005
část 5, díl 6, kapitola 3, str. 12
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty good privacy
problémový import souboru do keyringu ve starších verzích řady 6.x, na druhou stranu budeme muset oželit některé speciality jako možnost prezence fotky u klíče. Vlastnosti klíče
Po kliknutí na Properties v kontextovém menu klíče si můžete nechat zobrazit jeho vlastnosti. Tento dialog přehledně zobrazuje informace o daném klíči všechny jsme již popisovali v ostatních kapitolách.
O
Vlastnosti klíãe
Záložka Subkeys představuje podklíče. Totiž v PGP vše funguje tak, že se používají různé klíče pro šifrování a různé pro podepisování, přičemž pro podpis je ten „hlavní“, pro šifrování je „pod ním“. Podklíčů může být několik. Představte si společnost, kde se používá PKI. Zaměstnavatel může chtít, aby měl přístup ke všem informacím, které jsou vám zašifrovány, např. kvûten 2005
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6, kapitola 3, str. 13 díl 6, PGP - Pretty good privacy
pro případ úmrtí. Na druhou stranu asi sotva může požadovat váš tajný klíč pro vytváření podpisů. Technicky je to provedeno tak, že klíče pro šifrování jsou podepsány klíčem pro podepisování. Navenek ale vše funguje, jako kdyby se jednalo o jeden jediný pár klíčů. Revokers představuje seznam revokačních klíčů, o kterých budeme hovořit za chvíli. Je třeba říci, že systém PGP je na keyserverech z velké části postavený. Nejsou sice žádnou principiální nutností, samy o sobě nemají bezpečnostní funkci, ale díky roztříštěnosti klíčů a certifikátů jsou nezbytné pro správnou komunikaci mezi uživateli.
Důležitost keyserverů
Komunikace mezi účastníky je v PGP důležitá. Právě keyservery umožňují spravovat databázi milionů, mezi kterými pak PGP umí např. vyhledávat atd. Skutečně kritickými se stanou keyservery v momentu odvolávání (revokace, podle angl. revoke) klíče, speciálně při jeho kompromitaci. V tom případě jde o čas. Je nutné co nejrychleji tuto informaci rozšířit všem, kteří by mohli tomuto klíči cokoliv šifrovat, nebo se spoléhat na jeho podpis. Bez nich by to šlo udělat, ale špatná distribuce informace by znamenala naprostou neúčinnost tohoto kroku. Nikdo by to nezjistil. Dá se skoro říci, že možnost distribuovat svůj zneplatněný klíč je daleko důležitější funkce keyserveru než samotná možnost klíč publikovat. Proto je nutné vždy znát stav klíčů na keyserverech. Jen od nich se můžeme dozvědět odvolání, nelze počítat s tím, že nám kamarád zavolá, „abychom jeho klíč už nepoužívali“. U hierarchického systému PKI jsme hovořili o takzvaných Certificate Revocation Listech, což jsou ak-
Revokace klíče
kvûten 2005
část 5, díl 6, kapitola 3, str. 14
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty good privacy
tualizované seznamy zneplatněných certifikátů ke zcizeným či ztraceným klíčům. U PGP není něco takového možné, protože zde je takovou malou CA každý a nelze po uživatelích chtít, aby nějakou podobnou internetovou službu sami provozovali. Proto byl zvolen jiný způsob, který umožní klíč revokovat, tj. jakoby „na dálku“ oznámit, že klíč se již nemá používat. Pokud jste stále majitelem klíče, provedete odvolání opět nabídkou v kontextovém menu. Do klíče se o tom uloží informace. Nyní je nezbytné aktualizovat klíč na keyserverech, nejlépe na co největším množství, bude tak větší pravděpodobnost, že se novinka dostane k zainteresovaným účastníkům. Odlišná situace nastává v případě, že již k privátnímu klíči nemáte přístup, např. došlo ke ztrátě jediného média s ním, nebo, a to je častější, jste zapomněli bezpečnostní frázi. V takovém případě také nemáte ke klíči přístup, je uložen šifrovaný, tj. jako kdyby nebyl. Přístup je nutný proto, že informace o odvolání musí být pochopitelně nějakou formou (viz dále) podepsaná klíčem, který je odvoláván, jinak by mohl kdokoliv odvolávat cizí klíče. Tedy pokud není k dispozici privátní klíč (vůbec, nebo je zašifrovaný), při odvolávání máte prostě smůlu. To je obzvláště závažný problém, pokud byl klíč zcizen a na PGP spoléháte při zabezpečení důležitých dat. Pokud by zloděj překonal bezpečnostní frázi, může nejen číst vám zašifrovaná data (to není to nejhorší), ale navíc i podepisovat dokumenty, což může vyústit ve velmi závažný problém. Vy s tím navíc nemůžete v globálním měřítku vůbec nic dělat. Jediná šance je manuálně kontaktovat všechny osoby, které by se na bezpečnost tohoto klíče mohly spoléhat, a danou věc jim sdělit osobně. Na keyserverech bude klíč již navždy v použitelné podobě. kvûten 2005
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6, kapitola 3, str. 15 díl 6, PGP - Pretty good privacy
PGP pro zlepšení možnosti něco takového udělat používá takzvané odvolávací (revokační) klíče. To jsou klíče jako každé jiné, revokační je zde název vztahu mezi klíči, tj. klíč R je revokační klíč pro klíč A, současně lze i naopak. Jejich funkce spočívá v tom, že R klíč může vydat o klíči A odvolávací informaci, tj. říct, že klíč A se nemá používat. Podpis klíče A pod touto informací je zprostředkovaný právě přes R. Ilustrativně řečeno, v případě odvolání sama sebe se publikuje informace „Klíč A už není platný PODPIS_KLICE_A“, v případě odvolávání přes cizí klíč se postupně publikuje dvojice „Klíč K je revokační klíč ke klíči A - PODPIS_KLICE_A“ a „Klíč A už není platný - PODPIS_KLICE_K“, samozřejmě postupně. Důležité je si uvědomit, že institut revokačního klíče je jako pojištění - když se něco stane, je vám to už k ničemu, musíte ho mít před tím. Je to tedy opatření preventivní, nikoliv reaktivní. V praxi si můžete ke klíči přidat buď svůj druhý - pro tento účel speciálně vygenerovaný klíč, nebo klíč někoho úplně cizího. První možnost je dobrá, když nenosíte oba klíče pohromadě, tj. je menší pravděpodobnost, že ztratíte oba. Pověřit někoho jiného je také vhodné, jen je třeba mít jistotu, že danou osobu budete schopni v naléhavém případě dohledat a „přemluvit“ o nutnosti provedení odvolání. Přidání revokačního klíče provedete přes příkaz Add, opět v kontextovém menu. Každý klíč může mít vícero revokačních partnerů. Samotné revokování proběhne příkazem „Revoke“. Po každé z výše uvedených akcí nezapomeňte klíč vystavit na server. kvûten 2005
část 5, díl 6, kapitola 3, str. 16
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty good privacy
Co se týče vyhledávání klíčů na serveru pomocí PGP - můžete tak učinit pomocí nabídky Search v menu Server. Platnost a důvěra
Toto téma jsme velmi podrobně rozebírali v obecné části výkladu o PGP. Zkráceně řečeno, důvěra je vztah jednoho uživatele k druhému, který vypovídá o jeho náchylnosti k neodhalení či provedení podvodu při vystavování PGP certifikátů. Platnost je stav klíče, počítaný programem na základě důvěryhodnosti osob, které ke klíči vydaly PGP certifikát. O kapitolu dříve jsou popsány všechny podrobnosti. Důvěryhodnost i platnost jsou v PGP zobrazovány vedle klíčů. Ujistěte se, že ve vlastnostech (pravé tlačítko, Properties) svého klíče máte nastavenu volbu „Implicit trust“. Ta vlastně říká „to je moje“, tj. tyto hodnoty zde nemají smysl, klíče jsem vytvořil já. S distribucí PGP máte ve veřejném keyringu přibližně 10 různých veřejných klíčů, spojených především s autory PGP a s organizací, která program (vaši verzi) vydala. Těm program standardně nedůvěřuje, vlastně žádným klíčům se standardně nedůvěřuje. Jsou podepsány i navzájem, ale to nic nemění na faktu, že „do nich“ nebyla od vás žádná důvěra vložena, a proto žádné nepožívají a nejsou také platné. Nyní to změníme. Klikněte pravým tlačítkem na klíč „PGP Corporation Employee Certfication Key“ a zvolte volbu „Sign“. Tuto akci bychom normálně neměli dělat, právě totiž vystavujeme certifikát klíči, o jehož původu si nejsme stoprocentně jisti, nicméně pro demonstraci to nevadí. Vložte frázi a odklikejte dialogy. Nyní tomuto klíči (vlastně vydavateli!) v jeho vlastnostech nastavte Trust na „Trusted“, důvěryhodný. Rázem se platnost všechny klíčů, které mají certifikát
kvûten 2005
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6, kapitola 3, str. 17 díl 6, PGP - Pretty good privacy
od (majitele) „PGP Corporation Employee Signing Key“ rozsvítila na zelenou barvu (či se ukazatel posunul na plnou šířku pole). Dle logiky a algoritmu systému je možné tyto klíče považovat za důvěryhodné. Jak vidíte, PGP si při změně důvěry vynucuje podepsání klíče, tj. vydání certifikátu. To je docela logické, těžko vkládat důvěru do majitele klíče, jehož původ může být sporný. Zatím jsme se nedostali k tomu hlavnímu - totiž k praktickému použití bezpečnostních prostředků, které PGP nabízí. Základní akce jsou čtyři: šifrování, podepisování, šifrování a podepisování a dešifrování/ověřování podpisu. PGP vám umožňuje tyto akce provádět se třemi „médii“: se soubory na pevném disku, se schránkou a s aktuálně používaným oknem.
Používáme bezpečnost
Práce se soubory na disku je velmi jednoduchá, protože program integruje kontextové menu do systému. Kdykoliv kliknete v jakémkoliv programu na ikonku nějakého souboru pravým tlačítkem, zobrazí se vám menu s položkou PGP někde uprostřed, ta se dále rozbalí právě na relevantní jmenované operace a nějaké další. Všechny dialogy jsou maximálně intuitivní a nemá cenu je dopodrobna rozebírat. U podepisování bych jen zmínil, že výsledný podpis může být buď zapsán do podepisovaného souboru, nebo odděleně, do souboru nového s příponou .sig. První volba mění soubor, takže se stejně vytvoří nový, tentokrát s příponou .pgp. Výhoda odděleného podpisu je ta, že je možné ho distribuovat nezávisle na původních datech, což se hodí. Například pro ověření neporušenosti archivu atd., často najdete v instalačních sadách programů právě separovaný PGP-podpis vydavatele. kvûten 2005
část 5, díl 6, kapitola 3, str. 18
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty good privacy
Při šifrování a podepisování je možné si vyžádat textový výstup, tj. výsledný soubor ve formátu .asc obsahuje jen část znaků ASCII tabulky. To se využije např. v situaci, kdy je třeba mít jeden datový text (např. tělo e-mailové zprávy), který má být podepsaný. Obsah pak začíná řetězcem -----BEGIN PGP SIGNED MESSAGE----- a samotný podpis je přiložen na konec. Při šifrování lze v dialogu lehce zvolit libovolné množství příjemců. PGP také umí standardní symetrické šifrování. Můžete použít volbu „Conventional Encryption“, navíc možnost „Create Self-Decription Archive“ (SDA) vyrobí z výsledku standardní spustitelný .exe program. Ten bude umět jenom jedinou věc: po zadání hesla (nikoliv fráze, teď šifrujeme symetricky) vytvoří původní soubor na disku. Takovýto .exe archiv si můžete vzít kamkoliv s sebou bez obavy, že nebudete mít k dispozici PGP či pakovací program (kterým se dá dobře symetricky šifrovat také). Je třeba ale na druhou stranu počítat s tím, že uplatnění najdete jen na systémech platformy Microsoft Windows. PGP používá několik různých formátů (ve smyslu přípon) souborů pro různé účely, kontextové menu zobrazuje vždy relevantní volby. Co mi osobně na PGP chybí, je možnost vícenásobného podpisu jednoho dokumentu několika lidmi. Tj. mám na mysli podpisy „na stejné úrovni“. Symbolicky zapsáno jedno podepsání vytvoří soubor (dokument, podpis1), kde podpis1 je podpisem souboru dokument. Další podpis tohoto souboru vytvoří soubor ((dokument, podpis1), podpis2), nikoliv (dokument, podpis1, podpis2). Tedy podpis se vždy vztahuje k dokumentu i s podpisem původním. Přitom opak by se kvûten 2005
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6, kapitola 3, str. 19 díl 6, PGP - Pretty good privacy
v praxi mohl hodit, často se stává, že má více lidí podepsat jednu věc. Šifrování schránky a aktuálního okna probíhá identicky, jen je třeba použít menu z PGP Traye. Práce se schránkou prostě mění obsah, je tedy možné něco označit, vložit do schránky stisknutím Ctrl+C, např. zašifrovat a výsledek vložit kamkoliv pomocí Ctrl+V. V tomto případě je vždy v textovém formátu. Práce s aktuálním oknem funguje tak, že PGP mačká Ctrl+C před a Ctrl+V po operaci samo. Tedy kdybych teď, maje otevřený MS Word, dal zašifrovat aktuální okno, tato má aktualizace knihy by začínala -----BEGIN PGP MESSAGE----- a vy byste četli pouze změť znaků. To se může hodit při jakémkoliv posílání důvěrných informací přes nebezpečné kanály, např. po ICQ. V PGP je také možnost použití takzvaného Secure Vieweru při čtení, resp. šifrování. Autor tím přinutí adresátovo PGP zobrazit výsledek po dešifrování tak, aby si jej nemohl uložit na disku, ani (lehkým způsobem) do schránky. Ten pak dokonce může při čtení použít speciální Tempest Attack Prevention font, který má zabránit odposlechu elektromagnetického vlnění, které vyzařují monitory. Tuto funkci berte s velkou rezervou, spíše to nepatrně ztíží tuto činnost amatérovi.
kvûten 2005
část 5, díl 6, kapitola 3, str. 20 díl 6, PGP - Pretty good privacy
kvûten 2005
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6 kap. 4, str. 1 díl 6, PGP - Pretty Good Privacy
5/6.4 PGP 9.0
Je tomu relativně nedávno, co společnost PGP Corporation uvedla na trh novou verzi 9.0 svého balíku bezpečnostních nástrojů, s PGP Desktop v čele. Dá se bez nadsázky říci, že ve vývoji programu Pretty Good Privacy je „devítka“ patrně největší skok od přechodu z textového command-line programu na regulérní uživatelsky orientovaný software. Tenkrát vývojáři opustili řádkovou větev 2.6.x a přivedli na svět revoluční PGP 5.0, tj. PGP for Windows. Od té doby samozřejmě nové vlastnosti narůstají, ale „rozprostřeme-li“ je po tři verze (6.0, 7.0 a 8.0), zjistíme, že se jedná spíše o „mírná vylepšení v mezích zákona“. Existuje mnoho důvodů, proč se nové verzi věnovat, psát a diskutovat o ní. Pokud bychom měli shrnout klíčové poznatky, které z nové verze vyplývají, byla by to (bez ohledu na pořadí/důležitost) následující fakta. Za prvé, PGP definitivně potvrzuje, že přes dnešní pojetí tolik diskutovaného elektronického podpisu, který bfiezen 2006
část 5, díl 6, kap. 4, str. 2
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty Good Privacy
se ovšem stále ne a ne rozšířit mezi neodbornou veřejnost, má smysl svým způsobem alternativní koncept, orientovaný na inteligentního a vzdělaného uživatele. PGP „není mrtvé“, naopak. Přestože v nových funkcích se objevují skvělé věci pro zjednodušení používání celého systému, PGP se nesnaží být řešením pro všechny. Cíl je přesně opačný - představovat špičkový nástroj pro vzdělané uživatele, jejichž práce je důležitá a kteří proto potřebují špičkovou úroveň zabezpečení. PGP vždy razilo přístup, že základy elektronické bezpečnosti nejsou „ty složité technické věci, kterým rozumí počítačoví fanatici“, ale spíše něco jako porozumění základům právního státu, umění dobře sepsat tu či onu smlouvu, dobře si poradit s osobními financemi a podobně. Obé je pro bezproblémový život vzdělaného člověka nezbytné. Za druhé, vývojáři PGP ukázali, že vsadit na jejich koně se vyplatí. V momentě, kdy se, jak už bylo řečeno, všude „zavádí“ „kancelářské“ pojetí šifrování a bezpečnosti (elektronický podpis pro masy), byl doslova konkurenční produkt takřka celý kompletně přepsán, bylo doprogramováno mnoho revolučních funkcí a základ je často postaven na nových, modernějších technologiích (viz dále). K této obdivuhodné aktivitě přidejme, že nejenže produkt nyní obsahuje nástroj na automatické stahování záplat a nových funkcí, ale v době psaní tohoto příspěvku je k dispozici již čtvrtá verze řady 9.0 (9.0.4). A aby toho nebylo málo, na trhu se daří bratrskému produktu pro větší podnikové sítě, PGP Universal (již ve druhé verzi).
bfiezen 2006
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6 kap. 4, str. 3 díl 6, PGP - Pretty Good Privacy
Za třetí - a to hodnotím lehce negativně - je zde drobný náznak opuštění vydávání freeware verze. Jedna z verzí k dispozici zdarma - to bylo vždy motto produktu. Nyní je to trochu složitější, citujme přímo z webu pgp.com: „PGP Desktop Professional 9.0 Trial vznikl vylepšením zpětně kompatibilní verze PGP Freeware (Desktop 8.x a níže). Trial poskytuje všechny funkce po dobu třiceti dní. Po této době program vrátí všechny své možnosti na úroveň toho, co dříve bývávalo PGP Freeware.“ Je třeba poznamenat, že staré („osmičkové“) freeware verze se pro osobní účely mohou bez problémů používat a z hlediska šifrovacích technik nebudou mít při komunikaci s „devítkou“ problém. Pro naše účely je to ale nyní nepodstatné, protože tento doplněk má právě popsat nové věci v 9.0. Mimochodem, roční předplatné jedné licence (tj. rok budete dostávat nové updaty zdarma, produkt můžete používat stále) stojí v přepočtu 2070 Kč. Pokud produkt skutečně potřebujete, je to naprosto senzační investice, která se vám může stonásobně vrátit. Speciálně uvážíme-li všechny softwarové komponenty, které produkt nabízí. A konečně za čtvrté, a to se již dotýkáme nových funkcí, PGP ukazuje, že se skutečně snaží být bezpečnostním balíkem a poskytovat v tomto ohledu vše, co se dá zařídit šifrováním. PGP už ve verzi 8.0 dávno nebyl jen nástroj pro šifrování elektronické pošty, což je ještě více vidět nyní. Nejzajímavější a nejpřínosnější nové funkcionality devítkové řady PGP lze shrnout do následujících bodů - nové uživatelské rozhraní, - nová sekce „Messaging“ spolu s novým systémem zacházení s e-mailovými zprávami,
Nové vlastnosti
bfiezen 2006
část 5, díl 6, kap. 4, str. 4
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty Good Privacy
- možnost zašifrovat celý oddíl pevného disku, - vylepšená práce se servery klíčů. Nové prostředí a práce se servery
První změnou, kterou okamžitě poznáte, je odlišné uživatelské rozhraní. Pryč je veškerá žlutá, barevný tón byl sjednocen do modro-šedivé. Ale to není zas tak podstatné. Především byly skoro všechny komponenty integrovány do centrálního PGP Desktop. Už není PGP Keys pro správu klíčů a několik dalších programů pro ostatní. Aplikace PGP Desktop nabízí jednoduchý přístup ke všemu v rámci „jednoho okna“. Obecně bylo mnoho dialogů přestylizováno tak, aby uživatel méně klikal. Veškeré funkční komponenty systému najdete v levém panelu, ve standardní instalaci po řadě oddělené názvem komponenty: PGP Keys pro správu klíčů, PGP Messaging pro šifrování nejrůznějších komunikačních kanálů, PGP Zip pro vytváření šifrovaných archivů a nakonec PGP Disk, spojující v sobě možnost vytváření virtuálních šifrovaných jednotek (jako starý PGP Disk) a možnost šifrovat celou logickou jednotku. Všimnete-li si v nabídce File možnosti Open, zjistíte, že v novém PGP (Keys) byla trochu změněna filozofie práce s keyringy (soubory s klíči). Nyní máte nějaký soubor otevřený, obdobně jako dokument ve Wordu, a s ním se pracuje. Ze stejných důvodů také z dialogu nastavení (PGP Options) zmizela záložka Files, kde šlo specifikovat jeden konkrétní pubring a secring. Abychom nepřeskakovali témata a vysvětlili nejdříve jednodušší změny, řekněme si nyní o změnách v práci se servery klíčů. Předně se vyhledávací dialog integroval na místo hlavního okna, klikněte na „Search for keys“. V nabídce Search si můžete vybrat, kde se bude
bfiezen 2006
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6 kap. 4, str. 5 díl 6, PGP - Pretty Good Privacy
hledat - zda v současném keyringu, nebo na nějakém serveru. Tlačítkem „+“ můžete přidávat další podmínky pro výběr. To ale není tak podstatné, ani důležité. Naopak velmi zajímavou vlastností je nyní možnost ověření e-mailové pošty, resp. nutnost v případě „hlavního“ serveru keyserver.pgp.com. Ve snaze alespoň nějakým způsobem předejít nahrávání falešných klíčů (s neplatným jménem a/nebo e-mailem) na server byla zavedena nová vlastnost - dotyčný stroj odpoví na (nově přidané) e-mailové adresy s žádostí o potvrzení příslušnosti k danému klíči. Poté, co najdete e-mail ve schránce, kliknete na obsažený odkaz, čímž se věc potvrdí. To je trochu zvláštní novinka. Obdobně jako například možnost nahrát si ke klíči fotografii je implementování něčeho takového do PGP trochu kontroverzní záležitost. Totiž, tyto dvě věci mají společné to, že ačkoliv se snaží o větší důvěryhodnost, nejsou nijak principiálně bezpečné (jako zbytek PGP). Hladina jakési řekněme „dokazatelné“ bezpečnosti je pořád stejná a tím pádem se „jistota“, odvozená z těchto dvou vlastností, dá v extrémním případě nazvat až falešnou. Nicméně jistý přínos ověřování e-mailové adresy má, minimálně ve smyslu „pokud nebyla ověřena, může to znamenat problém“ (z kladného předpokladu zde ale kladný závěr nevyplývá). Na druhou stranu má ověřování adresy své opodstatnění v jedné z dalších nových funkcí, viz dále. Ještě upozornění: ověřovací e-mail má jistou, relativně krátkou platnost, v řádu hodin. To je logické - pokud by se vám někdo dostal do starých e-mailů, mohl by zpětně napáchat škodu. Problém nastane, pokud např. váš hosting doručuje e-maily pozdě. V tom případě bfiezen 2006
část 5, díl 6, kap. 4, str. 6
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty Good Privacy
ověření nebude možné a vy ho budete muset provést znovu. V krajním případě chronického „opozdilce“ se vám ale nepodaří e-mail ověřit vůbec. Ověřené klíče budou podepsány klíčem „PGP Global Directory Verification Key“. To souvisí s ještě jednou změnou, totiž s faktem, že veškerou komunikaci se serverem ohledně klíčů obstarává volba „Synchronize“ či „Sync keys“. Klíče se tedy synchronizují a klíč se vám později „vrátí“ podepsaný. Z minulých kapitol o PGP je vám patrně jasné, že musíte mít dotyčný „PGP Global Directory Verification Key“ v keyringu, navíc se správně nastavenou důvěrou v něj. S trochou nadsázky vám, našim čtenářům, můžeme zprostředkovat bezpečnou informaci o dotyčném klíči. Po důvěryhodném kanálu, tj. stránce papírové publikace, vás informujeme o hashi daného klíče, hodnota je 50BB 6FFC 9719 DFD2 BEBB 04C6 9710 B89B CA57 AD7C. Můžete si ji ověřit a případný útočník nyní nemá s podvrženým klíčem šanci. Nové komunikační možnosti
Pretty Good Privacy 9.0 od základů mění způsob zabezpečení komunikačních kanálů. Doménou starších verzí byly v této oblasti plug-iny do jednotlivých e-mailových klientů. S tím je definitivně konec - po vzoru jiných programů bylo implementováno úplně nové řešení. Především je třeba poznamenat, že šifrování vašich emailů je nyní za prvé naprosto úplně automatické, za druhé nezávislé na konkrétním poštovním klientovi. Vše kolem e-mailů nastavíte v PGP Desktop (sekce Messaging) a vše pak funguje přesně podle požadovaných pravidel.
bfiezen 2006
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6 kap. 4, str. 7 díl 6, PGP - Pretty Good Privacy
Nová technologie pracuje na principu vrstvy mezi emailovým softwarem a skutečnými rutinami pro komunikaci s ostatními počítači na Internetu. PGP pozná, že se „něco dějě“, s obsahem provede požadované úpravy a výsledek předá dál. Obdobně fungují například antivirové programy, scanující příchozí a odchozí komunikaci. Existuje ještě jeden alternativní, ale často používaný způsob dosažení téhož, a PGP jej také podporuje. Jedná s o komunikaci přes lokální server. E-mailový klient se nepřipojuje ke vzdálenému serveru se schránkou, ale jenom k tomu (programu/serveru), který běží na lokálním stroji. Tento server je ale část PGP. Nyní PGP opět provede potřebné akce a obsah předá. Tedy vlastně proxy. Veškeré takto „podchycené“ služby se nastavují v části PGP Messaging. Skvělé je zautomatizování, jaké je v programu implementování. Po instalaci se již hlídá odesílání a přijímání e-mailu. Pokud PGP zjistí aktivitu (chcete např. stáhnout poštu), zeptá se vás, zda chcete tento (e-mailový) účet zabezpečit. Pokud ano, kliknete a de facto je hotovo. Zmíněná automatická obsluha se dá aplikovat na protokoly POP, IMAP, MAPI/Exchange a na komunikaci programu Lotus Notes. Každá služba, na které PGP zajišťuje automaticky šifrování a/nebo podepisování, má nějakou sadu pravidel (Policies). Pokud odejde zpráva, pravidla se na ni aplikují. Po kliknutí na danou službu v levém panelu uvidíte na hlavní obrazovce nejprve její síťové vlastnosti (jaké komunikace s jakým serverem se týká, uživatelské jméno a heslo, implicitní šifrovací klíč), pod nimi pak jednotlivá pravidla. bfiezen 2006
část 5, díl 6, kap. 4, str. 8
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty Good Privacy
Každé pravidlo má vedle svého názvu následující tři části: 1. na jaké zprávy se bude aplikovat, 2. jaká akce se bude s nimi provádět, 3. co se má stát, pokud klíč z minulého bodu není k dispozici. Ve standardním, automatickém nastavení každé nové služby jsou čtyři pravidla. První dvě jsou nezajímavá - způsobují standardní chování v konferencích. Tedy pokud PGP detekuje e-mail, který znamená přihlašování do konference, zprávu jejího administrátora apod., nic se dít nebude. Třetí pravidlo je vynucení šifrování na základě klíčového slova v předmětu zprávy. Dovoluje vám jednoduše specifikovat, že daný e-mail musí být odeslán podepsaný a šifrovaný (adresátovým veřejným klíčem). Pravidlo říká, že se to stane, pokud předmět obsahuje „[PGP]“ či „confidental“. Pokud klíč adresáta nebude nalezen, bude se hledat na všech dostupných keyserverech. Pokud i to bude neúspěšné, zpráva se neodešle. Poslední, čtvrté, pravidlo „Opportunistic encryption“ způsobuje šifrování všem, kteří používají PGP a jejichž klíč se dá někde dohledat. Pokud se veřejný klíč pro danou e-mailovou adresu nenajde, zpráva se odešle v otevřené formě. Všimněte si slovního spojení „Encrypt to... recipient’s verified key“. Zde začíná hrát roli ověřování e-mailové adresy, jak jsme o tom mluvili výše. Bez tohoto mechanismu by případný útočník mohl systém „poškodit“ tím, že by ve velkém vyráběl a na server nahrával nové, falešné klíče oběti se správnou e-mailovou adresou. PGP by pak nevědělo, který je ten pravý. bfiezen 2006
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6 kap. 4, str. 9 díl 6, PGP - Pretty Good Privacy
Nové prostfiedí PGP se zobrazením nastavení e-mailové sluÏby
O
Při přidávání a upravování pravidel je třeba si rozmyslet ještě jednu věc. Totiž jakým způsobem budou podepisovány jak zprávy, tak přílohy. To není tak úplně jednoduchá záležitost. Z podstaty protokolu, kterým se kóduje, zapisuje a formátuje obsah přenesených dat, existuje několik způsobů, jak vytvořit digitální podpis na částech zprávy (tj. na vlastní zprávě a jejích přílohách). Na vlastním textu se dá vytvořit podpis jak ve vlastním textu (zpráva pak bude začínat řádkem --BEGIN PGP SIGNED MESSAGE---), nebo v příloze (to se ale hůře ověřuje, pokud to potřebujete udělat bfiezen 2006
část 5, díl 6, kap. 4, str. 10
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
díl 6, PGP - Pretty Good Privacy
manuálně). Na přílohách se dá za prvé vytvořit podpis ke každé zprávě také v příloze (tj. zdvojnásobí se počet příloh, ale na druhou stranu je jednoduché podpisy manuálně ověřit ve starších verzích) a nebo, za druhé, přes všechny přílohy, popřípadě přes celou zprávu najednou. Podepisování e-mailového obsahu přes více komponent zprávy je efektivní, nicméně to může způsobit zmatek. Totiž pokud zprávu zpracovává PGP na své vrstvě automaticky, nikde nevzniká žádný problém, program si s e-mailem poradí a vzniklý podpis přiloží jako (jednu) přílohu. Ale ve výsledku je finální „celkový“ podpis ve skutečnosti podpisem jiných dat než příloh či textu zprávy. Z tohoto důvodu pak ručním porovnáváním (např. v kontextovém menu ve Windows) nejde ověřit vůči ničemu, co vám v e-mailu přijde. Tedy budete-li zkoušet, jak e-mailová bezpečnostní proxy funguje, nezapomeňte si ověřit, jak máte nastavené podepisování zpráv a příloh, jinak vám nebudou vytvořené podpisy dávat smysl. Hezké je, že PGP poskytuje relativně detailní log-záznam veškerých akcí, které jsou s e-maily prováděny. Klikněte na „Messaging Log“ a uvidíte, jak PGP o vašich zprávách rozhoduje. Šifrování oddílu pevného disku
PGP 9.0 nabízí dvě možnosti, jak si zabezpečit větší část diskového prostoru. První z nich jsou klasické virtuální jednotky, kdy je šifrovaný obsah uschován v jednom souboru (.pgd), který se dá na požádání připojit do systému. Koncept se v „devítce“ jmenuje Virtual Disk a obsah může být chráněn heslem či tajným klíčem. O stupeň vyšší šíři zabezpečení umožňuje koncept ochránit kryptografií celý jeden oddíl. Pokud uživatel nezadá při startování počítače platné heslo, nebude mu přístup k datům umožněn.
bfiezen 2006
BEZPEČNÁ POČÍTAČOVÁ SÍŤ
část 5, díl 6 kap. 4, str. 11 díl 6, PGP - Pretty Good Privacy
Šifrování celého diskového oddílu pomocí PGP je jednoduché a účinné. Nejprve je na pozadí vše zašifrováno, později jsou data dešifrována za běhu (on-thefly) a předávána operačnímu systému a programům tak, jak si je žádají. PGP vám zašifruje nejen data, ale všechny adresáře jako Windows, Program Files a další. To je pro komplexní ochranu počítače potřeba - nacházejí se zde mnohé relikty vaší práce v podobě dočasných souborů, kopií, nastavení a dalšího. Inicializace zabere nějaký čas. Počítejte zhruba s jednou hodinou na každých 40 GB disku, počítáno na Athlonu 2500+. Tato možnost ale pochopitelně není pro každého, je třeba si uvědomit, zda vám pocit bezpečí (například typicky v případě ukradeného notebooku...) vyváží lehké zpomalení systému. Odhadem pravidelného uživatele tak 10% (celkový efekt) v případě běžného používání PC, 20% - 30% čisté navýšení při provádění diskových operací.
bfiezen 2006
část 5, díl 6, kap. 4, str. 12 díl 6, PGP - Pretty Good Privacy
bfiezen 2006
BEZPEČNÁ POČÍTAČOVÁ SÍŤ