PGP.CZ HomePage
Public Key Server
PGP Background
Cíle projektu pgp.cz
Administrativní a
technický kontakt
Návrh zákona
o digitálním podpisu
Co je PGP
Úvod do šifrování
Historie a současnost
Licence PGP
Download
Neomezená
komerční verze
Správa veřejných
klíčů PGP
Vyhledat klíč
Registrovat klíč
Zrušit klíč
Mail rozhraní serveru
Jak vygenerovat klíč
Podpora uživatelů
Často kladené dotazy
Novinky a informace
Mailing List
Máte dotaz?
Další informace
Zimmermann Telegram
Crypto-gram
                            .


PGP v České Republice

Josef Pojsl, SkyNet, a.s., josef.pojsl@skynet.cz
11. listopadu 1998

K dispozici je také prezentace.

Úvod

Toto je přepis přednášky, která se konala 16. listopadu 1998 při příležitosti návštěvy pana Philipa R. Zimmermanna v Praze. Pan Zimmermann je autorem PGP (Pretty Good Privacy), jednoho z nejrozšířenějších softwarových nástrojů pro bezpečnost elektronické pošty. Zasazuje se také o zachování soukromí občanů, které může být porušeno vládními zásahy.

PGP má za sebou nedlouhou, ale bouřlivou historii. Více se o ní dozvíte v literatuře [1]. O kryptografii obecně pojednává [2].

V první části je krátký úvod o hlavních principech PGP. Druhá část se zabývá světovou sítí veřejných serverů a jejím vývojem, včetně zapojení českého serveru. Přidal jsem údaje, které mohou něco napovědět o popularitě PGP v České republice. Třetí část je popisem zajímavých technických vlastností komerční verze PGP, jejíž rozšíření je v naší zemi teprve na počátku.

PGP, Pretty Good a Pretty Good Privacy jsou registrované obchodní známky společnosti Network Associates, Inc.

1. Principy PGP

Šifrování se používá od pradávna. S nástupem výpočetní techniky se výrazně zvýšila dostupná výpočetní síla, která umožňuje efektivnější šifrování, ale zároveň také efektivnější útoky na zašifrované zprávy.

Šifrovací algoritmy se dělí na dva odlišné typy, kterým se říká symetrické a asymetrické. Symetrické šifrování je známo již dlouho. Jeho princip spočívá v tom, že autor i příjemce zprávy sdílejí klíč, s jehož pomocí byla zpráva zakódována a s jehož pomocí ji lze zároveň dekódovat. Existuje mnoho symetrických šifer na matematickém základě, mezi nejznámější patří DES, 3DES, CAST, Blowfish a RC4.

Symetrické šifry mají následující nevýhody:

  • Úvodní předání sdíleného klíče je problematické.
  • Každá komunikující dvojice potřebuje vlastní klíč, počet klíčů má proto kvadratickou složitost.
  • Neřeší digitální podpisy.
Teprve v 70. letech tohoto století se objevily první asymetrické šifrovací algoritmy. Jsou založeny na jednoduché myšlence: zpráva je dekódována jiným klíčem, než který byl použit pro zakódování. Každá osoba vlastní dvojici (pár) klíčů, jeden tajný (privátní) a druhý veřejný. Zpráva je pak zakódována veřejným klíčem, který je distribuován všem partnerům dotyčné osoby, ale pouze tato osoba pak může zprávu dekódovat svým tajným klíčem. Reprezentanty asymetrických algoritmů jsou RSA a DH (Diffie-Hellmann), respektive ElGamalova varianta DH algoritmu.

Asymetrické šifry lze také použít pro digitální podpisy. K tomu je třeba algoritmů pro vzorkování zpráv (angl. hash algorithms). Vzorek zprávy (např. MD4, MD5 nebo SHA-1) je zašifrován tentokrát tajným klíčem autora a příjemce ověřuje podpis autorovým veřejným klíčem.

Asymetrické šifry řeší všechny tři uvedené nevýhody symetrických algoritmů, mají však samy podstatnou nevýhodu: jsou výrazně pomalejší.

Východiskem z této situace jsou kombinované šifrovací systémy. Ty používají symetrickou šifru pro zakódování samotné zprávy a sdílený klíč této symetrické šifry je předán v rámci zprávy asymetrickou šifrou. Tím je zachována potřebná rychlost šifrování a zároveň všechny výhody asymetrického šifrování. Asymetrický algoritmus je použit pro digitální podpisy. Taková kombinace má dokonce jednu výhodu oproti samotnému symetrickému i samotnému asymetrickému šifrování. Je totiž velmi snadné zašifrovat jednu zprávu pro dva i více příjemců. Zpráva je totiž zašifrována symetricky a blok s asymetricky zašifrovaným klíčem této symetrické šifry může být zopakován pro různé příjemce.

2. Servery klíčů

Veřejná část PGP klíče může být zveřejněna. Pro potřebu Internetové veřejnosti byly zřízeny servery veřejných PGP klíčů, které slouží jako jakési “telefonní seznamy” nebo adresáře uživatelů PGP. Váš PGP klíč nemusí být certifikován, jako je tomu u X.509 certifikátů (používaných v rámci standardu S/MIME například v programech Netscape a Internet Explorer).

Je zřejmé, že identita veřejných PGP klíčů může být snadno podvržena. PGP obsahuje mechanismy, které slouží k ověřování důvěryhodnosti klíčů. Tyto mechanismy jsou založeny na distribuovaném principu, což je opak přístupu zvoleného v X.509 pro S/MIME certifikáty, který je hierarchicky založen. Model důvěryhodnosti (Trust Model) PGP klíčů má složitou strukturu a nemáme v úmyslu ho zde detailně popisovat. Spokojíme se s konstatováním, že servery PGP klíčů jsou součástí tohoto modelu a mohou sloužit jako vynikající adresář uživatelů PGP na Internetu.

Servery PGP klíčů se objevily brzy po uvolnění PGP jako freewaru. Původní server vznikl na MIT a používal dávky napsané v perlu a ke správě PGP klíčů samotný program PGP. Ukázalo se však, že PGP si nedokáže s databází o velikosti tisíců klíčů dostatečně efektivně poradit. Na podzim roku 1995 totiž databáze obsahovala více než 20 000 klíčů.

Nová generace serverů je napsána v jazyce C a správu databáze klíčů ponechává na knihovně DB pocházející z Kalifornské univerzity v Berkeley (tato knihovna je známá například ze sendmailu). Server má dvě komunikační rozhraní, jedno založené na elektronické poště a druhé na HTTP. Celosvětová síť dnes zahrnuje asi 10 serverů, z nichž většina je národních. Již druhým rokem máme i v České republice server zapojený do celosvětové sítě serverů PGP klíčů. Každý server udržuje celou databázi klíčů a synchronizace je zajištěna automaticky elektronickou poštou. V současné době spravují tyto servery více než 400 000 klíčů.

Většina serverů je součástí domény pgp.net. Popis této domény najdete na stránce http://www.pgp.net/pgpnet. Rozhraní pro elektronickou poštu má adresu pgp-public-keys@keys.pgp.net (obecný server) nebo pgp-public-keys@keys.XX.pgp.net (národní servery, za XX dosaďte dvoupísmenný kód země, například cz) a rozeznává následující příkazy (uvádějí se v předmětu či subjektu zprávy):

    • HELP - Nápověda
    • HELP CZ - Nápověda v češtině
    • INDEX jméno - Seznam PGP klíčů obsahujících zadané jméno
    • VERBOSE INDEX jméno - Podrobný seznam (i s podpisy) PGP klíčů obsahujících zadané jméno
    • GET jméno - Získání klíčů obsahujících jméno
    • LAST n - Získání klíčů, které se objevily v posledních n dnech. Tento příkaz se nedoporučuje, protože jeho výsledkem může být obrovský soubor


Pro větší obrázek klikni

Rozhraní HTTP je dostupné ze stránky http://www.cam.ac.uk.pgp.net/pgpnet/wwwkeys.html. Jde o formulář, který dovoluje kontaktovat libovolný nebo jednotlivé národní servery. Stačí vybrat si server, zadat hledané jméno a zvolit "search". Formulář pak kontaktuje HTTP rozhraní daného serveru, který očekává spojení obvykle na standardním portu 11371. Servery mají adresy wwwkeys.pgp.net (vybere náhodný server) nebo wwwkeys.XX.pgp.net (XX je opět dvoupísmenný kód země, například cz).

HTTP rozhraní má velmi jednoduchou syntaxi:

http://wwwkeys.pgp.net:11371/pks/lookup?
op=<operace>&search=<řetězec>

přičemž <operace> může být např. index (výsledkem je seznam hlaviček klíčů obsahujících <řetězec>) nebo get (výsledkem jsou již samotné klíče ve formátu PGP, které obsahují <řetězec>).

Příklady: seznam mých klíčů je na URL http://wwwkeys.pgp.net:11371/pks/lookup?
op=index&search=pojsl
, jeden z těchto klíčů získám na URL http://wwwkeys.pgp.net:11371/pks/lookup?
op=get&search=0x59159CF1
.

Vývoj počtu klíčů registrovaných na veřejných serverech je dramatický. Zejména od přelomu let 1997 a 1998, kdy se objevila verze PGP 5.0, se počet uživatelů zvýšil velmi výrazně. Verze 5.0 totiž přišla s vlastním grafickým uživatelským rozhraním pro platformy Win95/NT a MacOS a přiblížila se tak široké veřejnosti.

Největší uživatelskou základnu má PGP samozřejmě v USA. Americkým uživatelům je jako implicitní server klíčů nabízen server společnosti PGP, Inc., dnes již Network Associates, Inc. Právě na tento server se proto dostává nejvíce PGP klíčů. Byl však jistou dobu odpojen od ostatních světových serverů, kterým tak mnoho nových klíčů chybělo. V současné době probíhá slučování obou množin klíčů. Sjednocení všech takto získaných klíčů bude obsahovat kolem půl milionu prvků. Software pro servery nebyl na takovou zátěž připraven. Do budoucna existují dvě možná východiska: Servery budou postaveny nad skutečným databázovým strojem nebo se databáze klíčů distribuuje. Druhá možnost vylučuje redundanci a nekonzistenci databází. Vedou se úvahy nad vytvořením struktury podobné DNS nebo přímo zavedením nějakého nového typu DNS záznamů. Tyto myšlenky jsou zatím ve stadiu zrodu.

Jak jsme se již zmínili, server PGP klíčů zapojený do světové sítě funguje v ČR již téměř dva roky. Zároveň je k dispozici český mirror norského serveru s mezinárodními verzemi PGP freeware na adrese ftp://ftp.cz.pgpi.com/pub/pgp/ (nebo v kratší verzi ftp://ftp.pgp.cz/pub/pgp/). Absolutní počet uživatelů PGP v ČR se dá jen těžko odhadnout, o vývoji popularity tohoto programu se ale dá přece jen něco zjistit. Do konce měsíce října roku 1998 bylo na veřejných serverech zaregistrováno 1 215 klíčů s elektronickou adresou z domény .cz. Přitom časový vývoj má exponenciální charakter a tím kopíruje (s jistým koeficientem) počet uživatelů připojených na Internet.

Také z počtu uživatelů, kteří si z národního FTP serveru PGP zkopírovali tento software, lze usuzovat, že popularita PGP v českých zemích je v posledních měsících velmi významná.


Pro větší obrázek klikni

Všechna tato čísla mohou pouze naznačit, kolik uživatelů v naší zemi si PGP vyzkoušelo a kolik z nich ho aktivně používá. V České republice jsou lidé s adresou i v jiných doménách než .cz a všichni si svůj klíč neregistrují na serveru. Mnoho uživatelů nepoužívá český FTP server pro stažení své kopie PGP freeware. Protože je naše společnost zároveň distributorem Network Associates a tedy i produktů řady PGP, mohu potvrdit, že také zájem o komerční licenci pro PGP prožívá obrovský nárůst. V měsíci říjnu jsme zajistili 400 licencí na komerční používání PGP a v jednání je projekt nasazení PGP ve státní správě v objemu 1 200 licencí. Dovolím si odhadnout, že PGP si již někdy vyzkoušelo přes 2 500 uživatelů v ČR a aktivně ho používá snad 1 000 až 2 000 osob.

3. Komerční verze PGP 6.0

V České republice je dosud nejrozšířenější verzí PGP tzv. mezinárodní freeware, jejíž původ je v Norsku a která je založena na vytištěných zdrojových kódech legálně vyvezených z USA.

PGP již dávno není podzemní záležitostí, kterou používají počítačoví rebelové a ke které není vhodné se veřejně přiznávat. Komerční verze pro organizace (tzv. PGP Enterprise Security) obsahuje mnoho vlastností, které lze použít pro celopodnikovou šifrovací politiku a její vynucení. Průmyslová špionáž je dnes rostoucím odvětvím a PGP vás může proti některým jejím aktivitám ochránit.

V souvislosti s těmito komerčními vlastnostmi se opakovaně vyskytlo podezření, že PGP bude mít nějakou díru nebo vadu, záměrně do programu zanesenou výrobcem. Chtěl bych uvést na pravou míru, že nejde o žádnou technologickou nebo algoritmickou vadu, ale o zašifrování dokumentů dodatečným dešifrovacím klíčem (angl. Additional Decryption Key, ADK). Navíc jsou tyto vlastnosti plně transparentní a uživatel je s nimi seznámen.

PGP v komerční verzi pro podniky obsahuje nástroj na výrobu instalačních balíků PGP. Jmenuje se PGPadmin a používá ho pouze administrátor PGP. Takto vyrobené balíky jsou distribuovány v organizaci a instalují si je jednotliví uživatelé. Administrátor může při pořizování balíku vzít v úvahu firemní šifrovací politiku a nakonfigurovat podle ní některé vlastnosti instalačního balíku. Má možnost vybírat či odebírat jednotlivé komponenty PGP (např. PGPdisk) a specifikovat chování PGP tak, aby vyhovovalo bezpečnostní politice organizace.

3.1 Dodatečný dešifrovací klíč pro odeslání

Dodatečný dešifrovací klíč pro odeslání (angl. Outgoing ADK) je přímo implementován v konkrétní instanci programu PGP. Ve chvíli, kdy dotyčný uživatel šifruje zprávu cizím klíčem a jeho instance PGP obsahuje administrátorem definovaný dodatečný dešifrovací klíč pro odeslání, objeví se v seznamu příjemců (tedy klíčů, kterými budou zpráva nebo soubor zašifrovány) tento dodatečný dešifrovací klíč pro odeslání. Jedná se tedy o klíč, kterým může být (pokud to administrátor bude vyžadovat) navíc zašifrována každá zpráva nebo soubor, které jsou zašifrovány uživatelem z dané organizace pro někoho jiného.

Dodatečný klíč pro odeslání může být uživateli pouze nabídnut s možností jeho odstranění ze seznamu příjemců, nebo se dá dokonce vynutit. Vynucení této vlastnosti je však výrazným zásahem do soukromí jednotlivých osob uvnitř organizace a může vést dokonce k tomu, že tito lidé nebudou ochotni PGP používat.

3.2 Dodatečný dešifrovací klíč pro přijetí

Dodatečný dešifrovací klíč pro přijetí (angl. Incoming ADK) je vlastností veřejného PGP klíče. Administrátor může zajistit, že jím rozeslaná kopie PGP bude generovat klíče vždy s dodatečným dešifrovacím klíčem pro přijetí, kterým je další administrátorem specifikovaný klíč. (Ten může být zajisté shodný s dodatečným dešifrovacím klíčem pro odeslání, ale to se příliš nedoporučuje.) Pokud se někdo jiný pokusí zašifrovat zprávu s pomocí klíče obsahujícího dodatečný klíč pro přijetí, objeví se tento dodatečný klíč automaticky v seznamu příjemců. Tato vlastnost je opět vynutitelná.

Administrátor může také vyrobit a rozeslat instalační balíky PGP, které vůbec neumožní generování PGP klíčů. V takovém případě bude generování všech klíčů centrální.

PGP dovoluje standardně používat tzv. konvenční šifrování, tedy čistě symetrickou šifru bez použití asymetrických klíčů. V tomto případě je třeba pro každou zprávu nebo soubor uvést zvláštní frázi hesla (angl. passphrase). To by zajisté mohlo být často považováno z hlediska organizace za nebezpečné, proto i konvenční šifrování je možno zakázat.

3.3 Certifikační klíč organizace

Pokud znáte PGP z vlastní zkušenosti, dokážete si představit, jak je jednoduché vložit do klíče podvrženou identifikaci. Důvěryhodnost PGP klíčů může být ověřena mnoha různými způsoby. Jedním z nich je podepisování PGP klíčů. V rámci organizace lze zvolit jeden klíč, tzv. certifikační klíč organizace (angl. Corporate Signing Key, CSK), který slouží k ověřování pravosti klíčů. Tento CSK klíč je distribuován v rámci instalačního balíku pořízeného administrátorem a při vygenerování nového klíče v tomto balíku je novým klíčem ihned podepsán i CSK klíč organizace. Tím je zajištěno, že klíče, které jsou v dané organizaci ověřeny a tedy podepsány CSK klíčem, budou na stanici uživatele automaticky platné (ověřené).

3.4 Pověřený revokační klíč

Možná jste se již dostali do té nepříjemné situace: Váš PGP klíč je rozeslán mezi Vaše partnery nebo na serveru PGP klíčů a Vy jste si jeho privátní část smazali a nemáte k dispozici ani zálohu. Nebo jste zapomněli frázi hesla Vašeho klíče. Jakmile Vám někdo pošle zašifrovanou zprávu, nebudete schopni ji dekódovat. Nejlepším řešením by byla revokace klíče, tedy jeho zneplatnění, a rozeslání takové revokované verze mezi partnery. Bohužel, k revokaci je nutné mít privátní klíč k dispozici a znát frázi hesla.

Těmto potížím můžete předem zabránit (nikoli zpětně v případě klíčů, u kterých tato situace již nastala). Máte totiž možnost přiřadit Vašemu klíči pověřený revokační klíč (angl. Designated Revoker Key, DRK). Vlastník privátní části pověřeného revokačního klíče může potom Váš klíč revokovat. S touto vlastností je však třeba zacházet opatrně a pověřovat revokací pouze velmi důvěryhodné partnery, protože toto právo je velmi snadno zneužitelné.

3.5 PGPdisk

Od verze 6.0 je k dispozici PGPdisk také na platformě Win95/NT. Uživatel si vyhradí na disku místo o pevné velikosti. Na tomto místě založí PGPdisk zašifrovaný soubor s daty. Dostupnost je pak zajištěna prostřednictvím virtuální diskové jednotky. Při jejím připojení je třeba znát frázi hesla ke klíči PGP disku, odpojení lze vyvolat kdykoli ručně nebo automaticky po určené době, po kterou je PGP disk nevyužíván.

Při pořizování instalačního balíku pro uživatele lze i pro PGPdisk zavést dodatečný dešifrovací klíč. Všechny PGP disky na uživatelské stanici jsou pak dostupné s pomocí dvou klíčů: klíče, který je vlastní konkrétnímu PGP disku a který je vygenerován při založení nového PGP disku, a dodatečného dešifrovacího klíče pro PGPdisk, který patří administrátorovi.

3.6 Sdílení klíčů

V praxi je často neúnosné, aby PGP klíč potvrzující oficiální podpis organizacedržení jediné osoby. Také dodatečné dešifrovací klíče organizace by byly méně zneužitelné, kdyby k nim neměl přístup pouze jeden zaměstnanec. PGP vychází těmto požadavkům vstříc a zavádí sdílené klíče.

Sdílený klíč se fyzicky rozdělí mezi několik osob. Každá si odnese svůj “podíl”, což je soubor zašifrovaný veřejným klíčem dotyčného podílníka, případně pouze frází hesla, pokud veřejný klíč podílníka není k dispozici. Každý podílník má nějakou váhu (nebo počet podílů). Klíč přitom nemusí vyžadovat, aby byly dostupné všechny podíly (je to implicitní nastavení). Místo toho lze uvést minimální počet podílů potřebných k tomu, aby privátní klíč mohl být použit k podepsání nebo dešifrování zprávy či dokumentu.

Příklad: Společnost XYZ má svůj oficiální klíč pro podepisování firemních dokumentů. Přitom ředitel má tři zástupce a oficiální dokument musí podepsat buď ředitel společně s alespoň jedním zástupcem, nebo v nepřítomnosti ředitele všichni tři zástupci. V této situaci je možné vytvořit sdílený PGP klíč, v němž bude mít ředitel dva podíly a jeho zástupci po jednom podílu. Minimální počet shromážděných podílů je pak třeba nastavit na tři (přestože všech podílů celkem je pět).

Při pokusu o podepsání nebo dešifrování sdíleným klíčem je nutné shromáždit určený počet podílů. Je možné to učinit na jedné stanici, kde jsou k dispozici všechny soubory s rozděleným klíčem, a jednotliví podílníci musí být přítomni a zadat na této stanici své fráze hesla. Druhou variantou je získání podílu zvláštním k tomu určeným síťovým protokolem, který je zabezpečen autentizací a šifrováním PGP. Jedinou podmínkou je, že podílníci se musí v jednu chvíli dohodnout na odeslání svých podílů ze svých stranic jednomu z nich.

3.7 Komerční PGP server a SMTP agent

Rád bych se ještě zmínil o dvou doplňkových produktech v komerční verzi PGP. Jedním z nich je komerční PGP server klíčů, který má sloužit vnitřním potřebám organizace. Standardně pracuje na základě protokolu LDAP, ale obsahuje i CGI programy, které umožňují konverzi z HTTP protokolu na LDAP server. Mezi vlastnosti, které nemají (a ani nepotřebují) světové servery, patří možnost ověření, zda je přidávaný klíč podepsaný jistým klíčem (např. certifikačním klíčem organizace, CSK), odstranění podpisů nedovolenými klíči a odstranění nepodepsaných identifikací. Nepodepsané klíče jsou uloženy do fronty, kterou by měl administrátor kontrolovat a prověřovat.

SMTP agent je proces, který obsluhuje SMTP port místo standardního SMTP serveru. Jakmile zjistí, že některá zpráva je šifrovaná nebo podepsaná PGP, rozhodne podle konfiguračních pravidel, zda bude požadavek na odeslání vyřízen. Mezi pravidly může být opět např. povolení zpráv zašifrovaných pouze klíčem v organizaci ověřeným (tedy podepsaným CSK klíčem) apod.

PGP server i SMTP agent zapadají do filosofie komerční verze PGP a podporují spolupráci se všemi dalšími komponentami. Společně tvoří PGP Enterprise Security homogenní nástroj pro bezpečnou komunikaci v průmyslu a obchodě. Obsahuje nejmodernější kryptografické metody a prostředky, které byly ještě nedávno dostupné pouze vládám vyspělých zemí.

Literatura

[1] Simson Garfinkel, PGP: Pretty Good Privacy - šifrování pro každého, Computer Press 1998

[2] Bruce Schneier, Applied Cryptography: Protocols, Algorithms, and Source Code in C, 2nd Edition, John Wiley & Sons, Inc. 1996

[3] PGP Administrator's Guide, Version 6.0, Network Associates, Inc. 1998

[4] PGP Certificate Server Administrator's Guide, Version 1.0, Network Associates, Inc. 1998

[5] An Introduction to Cryptography, Network Associates, Inc. 1998

            1999, SkyNet a.s., Distributor produktů Network Associates, Inc.
            mailto:webmaster@pgp.cz