Krypta.cz - Magazín o informační bezpečnosti
Pretty Goog Privacy je pojem ve světě elektronické bezpečnosti již hezkou řádku let. Největší reklamu tomuto produktu udělaly tlakem na "umlčení" autora začátkem devadesátých let paradoxně americké vládní instituce. Kolem kryptografie bylo tenkrát celkem dusno. Export ze Států byl v striktně zakázán, pokud produkt umožňuje pracovat s "lepší než krátkou" délkou klíče, symetrické algoritmy byly například omezeny na 40 bitů. Tedy na velikost, která se dá prostým zkoušením všech možností dnes pokořit v čase řádu hodin. S asymetrickými algoritmy to také nebylo lehké - za oceánem si můžete patentovat vskutku ledacos a dovedeno ad absurdum bychom mohli požádat o patent například na řešení kvadratické rovnice. Patentována je jak samotná idea asymetrické kryptografie (tj. předmět patentu je, že "mám dva klíče"), jednak ještě navíc jednotlivé algoritmy. Ty přitom, nejsou o moc víc než chytré matematické vzorečky.
A tak byl programátor Philip Zimmerman stíhán, několik let mu hrozilo mu vězení, na druhou stranu o jeho PGP se vlivem tisku dozvědělo velké množství lidí. Že se hodně z nich bálo kvůli hrozícímu zatčení (!) vůbec program používat je věc další.
Podobných kritických situací a zvratů bychom v historii programu našli více, nebudeme se jimi ale již nadále zabývat. Důležité je, že legální a důvěryhodný balík PGP Desktop Security si nyní můžete stáhnout na z www.pgp.com, konkrétně zde. Je k dispozici beta osmé verze, popřípadě program plně stabilní s číslem sedm.
Začínáme
Instalace produktu není zrovna složitá. Jednotlivé části balíku mají své funkce. PGPKeys (PGPKeys.exe) je základní program pro správu PGP klíčů. Pomocí něho vytváříte nové páry, podepisujete ostatní klíče, přidáváte k nim IDčka, fotky atd. Umožňuje také download/upload klíčů na internetové key-servery. K čemu toto vše je a co to znamená si vysvětlíme později. PGPDisk umožňuje šifrování části pevného disku symetrickou šifrou. Na disku se vytvoří soubor o konstantní velikosti, který se pomocí tohoto programu může namountovat (připojit) jako nová jednotka či adresář (WIN NT/2k/XP). Pod Windows se vám do systému nahraje tzv. PGPTray, jehož ikonka se vám zobrazí vedle systémových hodin. Pomocí ní máte nejdůležitější funkce rychle k dispozici.
Abyste mohli bezpečně komunikovat, musíte mít svůj pár klíčů. Asymetrická kryptografie, kterou PGP (také) používá, pracuje narozdíl od klasické symetrické se dvěma klíči: pokud jedním zašifruji, musím dešifrovat druhým a naopak. Klíče jsou pochopitelně v nějakém matematickém vztahu, ovšem nedají se ze sebe navzájem odvodit. Jejich existence dovoluje jeden z nich publikovat (nazýváme ho veřejný) a nechávat si jím šifrovat zprávy. Vedle toho druhý si pečlivě schováme - tím budeme dešifrovat. Jejich rychlost je ale nesrovnatelně menší než u šifer symetrických a pro delší texty jsou prakticky nepoužitelné.
Pokud jste při instalaci zadali, že jste new user, spustí se vám průvodce vytvoření automaticky, v opačném případě si pusťte PGPKeys. Některé verze při nenalezení aspoň jednoho tajného klíče nabídnou vytvoření, někdy si musíme pomoci sami ikonkou umístěnou úplně vpravo, nabídkou Keys | New key či klávesovou zkratkou Ctrl+N.
Pokud již své klíče máte, můžete je jednoduše importovat ( Keys | Import ).
Na úvodní obrazovce nás bude zajímat akorát tlačítko Expert, abychom PGP využili skutečně naplno. Všimněme si následujícího dialogu. Každý klíč musí mít svůj název a doporučuje se i e-mail. Klíčové je nastavení typu klíče, které určuje, jaký asymetrický šifrovací algoritmus bude použit. Na výběr je k dispozici Diffie-Hellman/DSS, RSA a RSA Legacy. Posledně jmenovaný nepoužívejte, slouží jen ke zpětné kompatibilitě se starými verzemi PGP, ještě pro MS-DOS. Mezi RSA a D-H/DSS pro uživatele zase takový rozdíl není, ovšem PGP se s první GUI verzí pro Windows dalo obecně cestou Diffie-Hellmanů a proto doporučuji tento typ. Na druhou stranu bezpečnost RSA není ani o špetku horší.
Velikost klíče označuje délku matematických konstant používaných k šifrování a dešifrování. Čím je klíč větší, tím je teoreticky bezpečnější, ovšem je potřeba vzít v úvahu několik dalších faktů. Útoky na používané algoritmy pracují zjednodušeně řečeno "hledáním", kdy zkoumaný prostor je roven nebo se blíží celkovému prostoru všech možných klíčů. S každým dalším bitem se jejich počet zdvojnásobuje - problém má tedy exponenciální charakter. Tedy máme-li dnes k dispozici hardware který prozkouší všechny možnosti n-bitového klíče za dobu řekněme jeden den, tak přidáním pouhých několika (řekněme dvaceti) bitů zesložitíme dešifrování mnohokrát (v tomto případě miliónkrát, 2^20 =. 1 000 000). Tedy bezpečnost nad jistou míru je zbytečná. Navíc (resp. na druhou stranu) pokud by někdo vymyslel způsob jak šifru skutečně (matematicky) prolomit, bylo by velmi pravděpodobné, že dešifrování jakkoliv dlouhých klíčů by trvalo víceméně stejně krátce.
Doporučená hodnota 2048 bitů je rozumná, zmenšovat jí je zbytečné, paranoidní jedinci mohou naopak přidat směrem nahoru. Nic se tím nezkazí, šifrování může být o trochu pomalejší, a to maximálně v řádu sekund.
Každý klíč, resp. pár klíčů, může mít nastavenou dobu své platnosti, po které je nepoužitelný k dalšímu šifrování, přestože dešifrovat zprávy s ním nadále jde. Pro běžné osobní účely není potřeba ji omezovat. To by se hodilo v případě, že za jistá čas předpokládáme vytvoření klíče nového.
Po odklepnutí tlačítka "Další" následuje dotaz na bezpečnostní frázi. Šifrovací klíče (tj. privátní části asymetrických klíčů určené k šifrování a podepisování) se totiž ve vašem počítači neukládají v otevřené podobě, ale vždy jsou chráněné dalším heslem. I při fyzické kompromitaci například vašeho tzv. keyringu (tj. souboru s klíči, takové elektronické klíčenky), nemusí být samotný tajný klíč ohrožen. Tedy za předpokladu, že jste zvolili skutečně bezpečnou frázi. Platí zde všechna známá pravidla o bezpečných heslech: mělo by to být něco, co nemůže nikdo odhadnout ale vy to jen tak nezapomenete, s co největší délkou a se zastoupením co největšího počtu znaků. Fráze je case-sensitive, tedy záleží i na velikosti znaků. Vhodným "promícháním" velkých a malých písmen docílíte požadované bezpečnosti a ukazatel "Passphrase Quality" bude tam kde má být - úplně vpravo. Pokud má vaše fráze méně než osm znaků, systém vás na tuto nebezpečnou skutečnost upozorní, ale nechá vás jít dál.
Pokud se fráze shoduje s její kontrolou, začne program klíče generovat, což může v závislosti na nastavení trvat několik minut, v případě skutečně starého počítače i hodinu. Závisí to na velikosti klíče a na nastavení PGP. O tom si ještě povíme v budoucnu.
Co teď s tím?
Máte tedy vygenerovaný klíč. Měl by mít ikonku osoby, která značí přítomnost tajné poloviny určené k šifrování a podepisování. Pokud je v seznamu klíčů obsažena jen jedna nebo je tato implicitní, bude se popisek vypisovat tučným písmem. V závislosti na nastavení (nabídka View) bude systém vpravo zobrazovat různé detaily klíčů.
Necháte-li "klíč" rozbalit, objeví se obálka se jménem klíče a "pod" ní tužka. Co to znamená? Obrázek obálky značí tzv. jméno - identitu nějaké osoby a její e-mailové adresy. Jeden klíč může totiž jednak zastupovat několik osob, jednak i vy můžete využívat více e-mailových adres. Tužka značí podpis identity a zabraňuje neoprávněnému přidávání jmen pod cizí klíč bez znalosti fráze. Takové podvržené jméno by pak nebylo klíčem samotným podepsáno.
Vlastnosti klíče si můžete nechat zobrazit pravým tlačítkem (volba Properties) nebo klávesami Ctrl+I. Popišme si jednotlivé položky.
Údaje vpravo jsou víceméně jasné, zastavme se na chvíli u položky "Cipher". Na tomto serveru jsme systém kombinovaného šifrování popisovali několikrát, vysvětleme si jej nyní jen velmi stručně. Chceme používat (pomalé) asymetrické šifrování, ovšem zároveň bychom rádi využili rychlosti šifer symetrických. Spojíme proto oba algoritmy dohromady, na pomoc si přitom přizveme generátor náhodných čísel. Tím při komunikaci program nejdříve vygeneruje tzv. klíč sezení (session key). Symetricky a tudíž rychle jím zašifruje zprávu, přiloží ho, a potom pouze ten zašifrujeme asymetricky. Je vůči zprávě krátký a proto celá operace nezabere mnoho času.K čemu je dobrá asymetrická "Cipher" je tedy jasné. Verze PGP 8.0 používá 256ti bitový standard AES.
To by bylo pro dnešek o PGP vše. Další zajímavosti si povíme v následujících pokračováních článku.
  1. PGP : Co v manuálu nenajdete
  2. Na osudem PGP se stahují mračna