Zatraceně dobré soukromí s PGP

Pokud bychom chtěli v jedné větě shrnout, co je PGP, mohli bychom říci, že PGP je nejrozšířenější a nejpoužívan...


Pokud bychom chtěli v jedné větě shrnout, co je PGP, mohli bychom říci, že PGP
je nejrozšířenější a nejpoužívanější kryptografický balík, který je de facto
standardem v šifrování elektronické pošty. Takto bychom mohli charakterizovat
PGP snad už od verze 1.0. Současná verze 6.5.3 oproti původním verzím v mnohém
rozšiřuje a usnadňuje použití jeho šifrovacích schopností.
Historie
PGP má kromě jiného i velice zajímavou historii. Původní PGP napsal Phil R.
Zimmermann v roce 1991 jako reakci na restriktivní politiku vlády Spojených
států v otázce používání a exportu silné kryptografie. Vytvořil tak veřejně
dostupný nástroj pro ochranu soukromé komunikace, který je pro nekomerční účely
volně dostupný.
Kvůli exportním omezením Spojených států se PGP nesměl vyvážet mimo území USA a
Kanady. Exportní restrikce totiž prostředky silné kryptografie řadila do stejné
kategorie jako např. zbraně. Jelikož ovšem v USA platí svoboda slova, obešli
autoři PGP tato omezení tak, že zdrojové kódy PGP vytiskli na papír, převezli
je mimo území USA a tam byly opět složeny do podoby programu.
Neamerická verze se od americké lišila tím, že číslo příslušné verze končilo
písmenem i, používala některé jiné knihovny a opravovala případné chyby, které
byly zjištěny v době mezi vydáními obou verzí. V prosinci roku 1999 ovšem
americká vláda uvolnila exportní omezení konkrétně pro PGP, a 14. 1. 2000 byla
uvolněna tato omezení i pro ostatní produkty používající silnou kryptografii
(US restrikce byly uvolněny, ale nepadly úplně viz
http://www.epic.org/crypto/export_controls/regs_1_00.html). I díky těmto změnám
je dnes PGP dostupnější. PGP byl původně program spouštěný jen z příkazové
řádky. Od verze 5.0 existuje pro OS Windows i okénková verze, čímž se PGP
značně přiblížil obyčejným uživatelům a od té doby má v podstatě masové použití.
Kryptografie v PGP
PGP používá algoritmy symetrické i asymetrické kryptografie, přičemž spojuje
výhody obou (o šifrování jste si již v Computerworldu mohli přečíst např. v
čísle 44/99). V krátkosti si můžeme šifrování představit jako funkci, která má
dva vstupní parametry: jedním z nich je klíč, druhým pak dokument, který chceme
zašifrovat. Výstupem je zašifrovaný dokument.
Šifrovací algoritmus by měl být vždy známý, tajný by měl být pouze klíč. Rozdíl
mezi symetrickou a asymetrickou kryptografií je následující. Symetrická
kryptografie používá stejný klíč pro šifrování i pro dešifrování. V asymetrické
kryptografii jsou klíče dva. Privátní a veřejný. Cokoliv zašifrujeme veřejným
klíčem, rozšifrujeme pouze privátním klíčem a naopak, tzn. cokoliv zašifrujeme
privátním klíčem, rozšifrujeme pouze klíčem veřejným. Symetrická kryptografie
má výhodu v tom, že je rychlá (řádově asi 1 000krát rychlejší než asymetrická).
Její velkou nevýhodou je fakt, že před samotným přenosem šifrovaných dat si
musejí komunikující strany vyměnit tento sdílený klíč nějakým důvěryhodným
kanálem, který nesmí nikdo odposlouchávat. Druhá nevýhoda spočívá v tom, že
pokud chce mezi sebou komunikovat X lidí je potřeba "X2/2 klíčů". Asymetrická
kryptografie je pomalejší oproti symetrické, na druhou stranu umožňuje daleko
lépe pracovat s klíči. Předtím, než začnete používat PGP, si vygenerujete svůj
pár klíčů se svým jménem, veřejný vystavíte tak, aby byl dostupný pro ostatní,
privátní si ponecháte v tajnosti. Pokud s vámi chce někdo komunikovat,
zašifruje svou zprávu vaším veřejným klíčem a pouze vy budete moci tuto zprávu
dešifrovat. Dokonce ani sám odesílatel, pokud si smazal originál zprávy, nebude
schopen ji později dešifrovat.
Principy asymetrické kryptografie se dají využít ještě k jiné aplikaci, než je
šifrování, a tou je digitální podpis. Jestliže chceme nějaký dokument digitálně
podepsat, nejprve vytvoříme tzv. otisk dokumentu, který zašifrujeme privátním
klíčem, a takto vytvořený podpis připojíme k dokumentu. Příjemce po obdržení
e-mailu naším veřejným klíčem otisk dešifruje a tento porovná s otiskem, jejž
si vytvořil z dokumentu, který dostal. Jestli se rovnají, je podpis pravý.
Výměna klíčů
Asymetrická kryptografie má ovšem také problémy při předávání klíče. Pokud
dostanu do rukou něčí veřejný klíč, jak poznám, že je jeho? Tzn. že veřejný
klíč musíme předávat také nějakým důvěryhodným způsobem. Sice nám již nebude
vadit, když bude někdo tento kanál odposlouchávat, nesmíme však připustit
možnost podvržení klíče. Problém, zda veřejný klíč patří opravdu tomu člověku,
jehož jméno je v kolonce USER ID, je nejpalčivějším problémem PGP a vůbec celé
asymetrické kryptografie.
Neexistuje totiž vždy možnost setkat se s daným člověkem a klíče si vyměnit
osobně. V PGP existuje tzv. otisk klíče (fingerprint), což je jednoznačná
identifikace klíče (asi 40 hexa čísel). Pokud se s daným člověkem znáte po
hlase, můžete si ověřit pravost klíče po telefonu zkontrolujete, jestli otisk
klíče souhlasí s tím, co vám partner nadiktoval po telefonu. Otisk klíče je
proto vhodné mít na vizitce. Další možnost, kterou PGP nabízí pro ověření
klíče, je podpis klíče. Pokud jste si důkladně ověřili, že klíč patří dané
osobě, můžete klíč podepsat vaším klíčem. Stvrzujete tak, že jste si ověřili,
že klíč není podvržený. Pokud někdo zná váš klíč (příznak valid) a věří, že
jste si určitě ověřili pravost klíče před tím, než jste jej podepsali (příznak
trusted), tzn. že pro toho člověka vystupujete jako "důvěryhodná třetí strana"
nebo také "certifikační autorita", může věřit také pravosti tohoto klíče. Na
rozdíl od certifikátů X.509 je možné PGP klíč podepsat libovolným počtem klíčů.
Vzniká tak pavučina důvěry, oproti X.509, kde je tzv. strom důvěry.
Tolik tedy k teoretickému základu, který se ve stručnosti pokusil nastínit
základy PGP. Více informací pak můžete najít v souboru IntroToCrypto.pdf, který
je součástí instalace a na adrese www. pgp.cz.
Pracujeme s PGP
Základní práce s PGP je dost snadná, bylo by zbytečné popisovat, že pokud
chceme šifrovat soubor, klikneme na něj pravým tlačítkem a vybereme akci
Šifrovat. Spíše se zaměříme na nějaké zajímavější vlastnosti PGP a na tipy a
triky. V některém dalším čísle pak poodhalíme ještě jinou kapitolu, a to moduly
PGP.
PGP keys
Abyste mohli rozumně pracovat s PGP, musíte si vygenerovat svůj klíč, resp. pár
klíčů. V dnešní době bych doporučil vygenerovat klíč typu DSS, který je ale
bohužel nekompatibilní se starými verzemi (nižší než 5.0) minimální délky 2 048
bitů, a zadat opravdu kvalitní heslo, nejlépe složené z několika slov.
Mezi základní vybavení PGP patří plug-iny do několika windowsových mailových
klientů, jež usnadňují šifrování a podepisování e-mailů. V nejnovější verzi PGP
6.5.3 najdete plug-iny pro MS Exchange, MS Outlook, Outlook Expres, Lotus
Notes, Group Wise a Eudoru. PGP se dá integrovat také do různých unixových
klientů (viz www.pgp.cz). Bohužel Netscape PGP nepodporuje. To není ovšem až
tak velká nevýhoda. Stačí si v Options nastavit HotKeys a poté jedním stiskem
horké klávesy např. zašifrovat obsah aktivního okna, takže se ani nemusí text
kopírovat a vkládat do clipboardu. Šifrování pošty i souborů je opravdu velmi
jednoduché a pohodlné. PGP v sobě kromě jiného zahrnuje podporu pro komunikaci
se servery klíčů, což je vlastně databáze veřejných klíčů. Pokud nebudete mít
něčí veřejný klíč na svém kroužku, podíváte se na server klíčů, a v případě, že
tam je, si klíč stáhnete. Tím samozřejmě neodpadá potřeba ověřit si pravost
klíče, pouze se zjednodušuje cesta klíče k vám. PGP umí s klíči na serveru
zacházet stejně jako s těmi, které máte na svém kroužku. Můžete si např.
nastavit, že pokud se pokusíte šifrovat klíčem, který nemáte lokálně v kroužku,
pokusí se PGP automaticky klíč stáhnout ze serveru a použít jej. V současné
době je na Internetu několik centrálních serverů, které udržují databázi klíčů
z celého světa. Pokud přidáte klíč na jeden server, klíč se automaticky
distribuuje na ostatní servery. Jeden takový server je i v České republice,
jeho adresa je wwwkeys.cz.pgp. net. Byl založen před 3 roky jako součást
projektu PGP.CZ společností SkyNet a v té době byl jedním z pilířů sítě
serverů. Poslouchá na mailovém rozhraní na portu 25 a na HTTP rozhraní na portu
11371. V současné době jeho databáze obsahuje asi 750 000 klíčů, což svědčí o
velké popularitě PGP.
Na konci velmi stručného popisu, co PGP umí, zmíním ještě dvě zajímavé
vlastnosti. První z nich je tzv. funkce "Split key". Pokud potřebujete právo
manipulovat s klíčem rozdělit mezi několik lidí, tak aby pro použití klíče byla
nutná např. nadpoloviční většina zúčastněných, pak právě funkce "Split key" je
to, co hledáte. Klíč se rozdělí tzv. Blakely--Shamirovou funkcí na X částí,
přičemž minimálně Y částí je nutných k tomu, aby se dalo s klíčem manipulovat.
Funkce "Split key" se používá např. ve společnostech, které mají ve vedení
několik lidí a každý člen má stejné rozhodovací právo.
Druhou takovou zajímavou vlastností je možnost definovat tzv. šifrovací
"SubKeys". Jelikož se dnes rapidně zvyšuje rychlost výpočetní techniky, vzniká
potřeba zvětšovat délku klíčů. Někdo, kdo si ještě nedávno vygeneroval DSS klíč
1 024 bitů dlouhý, zjišťuje, že mu za chvíli již nebude stačit. Jednou možností
je vygenerovat si nový, silnější klíč. Jak ale zajistím, aby všichni, kdo mi
posílali dokumenty zašifrované mým starým klíčem, začali používat můj nový
klíč? Navíc můj starý klíč bude stále na serveru, takže stačí ke starému klíči
přidat nový, silnější subkey, klíč nahrát na server a poté upozornit všechny,
aby si obnovili tento klíč ze serveru. Budete mít tedy pořád jen jeden klíč.
Každý, kdo použije tento klíč, již bude šifrovat data novým podklíčem. Bohužel
tím neodpadá problém, co s dokumenty zašifrovanými starým klíčem a navíc tuto
funkci je možné použít pouze pro DSS klíče, nikoliv pro RSA klíče.
PGP neznamená
100% bezpečí
Ani PGP ovšem není všemocné a nemůže zajistit úplnou bezpečnost vašich dat.
Nástroje na odposlouchávání klávesnice, trojské koně a jiné programy mohou tuto
bezpečnost prolomit. V IT bezpečnosti platí: "Neexistuje 100procentní ochrana
před vniknutím útočníka. Tj. musíte data zabezbečit adekvátním způsobem tak,
aby úsilí, které utočník vynaloží k získání těchto dat, bylo větší, než samotná
cena těchto dat." A právě PGP je jedním ze způsobů, které umožní tuto ochranu
vybudovat.
0 0939 / als









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