![]() Specializovaný týdeník o výpočetní technice |
|
![]() |
Seriál o bezpečnosti a informačním soukromí |
Část 59 - CW 36/98
Důvěřuj, ale prověřujVáclav Matyáš ml.
V několika dílech našeho seriálu jsme narazili na problémy, kdy jsme byli schopni nabídnout řešení za předpokladu, že známe vlastníka určitého kryptografického klíče. Nebo spíše máme k dispozici popisné informace, které jej identifikují a důvěřujeme spojení těchto informací a daného klíče. Dnes se podíváme podrobněji na tento aspekt důvěry. Připomeňme si, že šifrovací algoritmy lze mj. dělit na symetrické (pro zašifrování i dešifrování se používá stejný klíč) a asymetrické, které používají odlišný klíč pro zašifrování (veřejný klíč) a pro dešifrování (soukromý klíč). Jak už jsme uváděli v minulých dílech, symetrické algoritmy jsou sice rychlejší, ale musíte si se svými partnery vždy dohodnout kryptografický klíč a oba jej musíte pečlivě opatrovat. Pro asymetrické algoritmy obecně platí, že rychlost šifrování je výrazně nižší, ale jinak stačí spolehlivě publikovat svůj veřejný klíč a chránit si jen svůj soukromý klíč. K tomu všemu ještě máme možnost vytvořit a ověřit digitální podpis, probíraný v části 34. Na první pohled se skutečně zdá, že správa klíčů u asymetrické kryptografie je podstatně jednodušší než u symetrické kryptografie. Pro malé systémy je to podle dosavadních zkušeností většinou pravda, ale ukazuje se, že ono spolehlivé publikování či oznámení veřejného klíče není triviální záležitostí, zvláště pro velké systémy. Zásadním aspektem správy veřejných klíčů je jejich integrita a spojení s dalšími informacemi o uživateli. Pro malé skupiny uživatelů vystačíme např. s osobním předáním klíčů na disketě, popřípadě předáním otisku (haše) klíče a zasláním vlastního klíče e-mailem nebo poštou, při nejhorším i přečtením haše po telefonu. Co ale pro velké, snad i celosvětové (asi ne rozsahem, jen dosahem) systémy? Určitým řešením jsou tzv. certifikáty veřejných klíčů, kde je spolehlivě spojen veřejný klíč k patřičným informacím. Spolehlivé vázání je u certifikátů řešeno digitálním podpisem -- operací s privátním klíčem entity, která takto vlastně "prohlašuje" vazbu za důvěryhodnou. V posledních letech slýcháme stále častěji o infrastrukturách veřejných klíčů (PKI -- Public Key Infrastructure) a o potřebě využití služeb certifikační autority (CA -- Certification Authority) nebo tzv. důvěryhodné třetí strany (TTP -- Trusted Third Party). Pokud nám někdo zajistí "jen" infrastrukturu -- spolehlivou výměnu veřejných klíčů uživatelů a tím nám vlastně umožní navázat bezpečnou komunikaci, označujeme tuto stranu jako certifikační autoritu. V podstatě se jedná o vystavení potvrzení ve smyslu "tento veřejný klíč patří uživateli Bořkovi Špatnému", samozřejmě za využití digitálního podpisu. Asi si dovedete představit, že uvedení e-mailové adresy a dalších informací nám pak pomůže zjistit ještě přesněji, o kterého Bořka Špatného se jedná. CA obvykle nezajišťuje jen vlastní certifikaci klíčů, ale také udržování údajů o platnosti klíčů a to buď odvoláním (revokací) klíčů, nebo opětným potvrzením klíčů (rekonfirmace); což souvisí s níže probíraným liberálním nebo konzervativním přístupem k důvěře vůči klíčům. Naproti tomu TTP poskytuje další služby, jako např. spolehlivé služby elektronického notáře, nezvratné označení času u datových položek (tzv. časové razítka -- timestamp) a je také mnohými vládami zvažována pro podporu depozitování soukromých klíčů (key escrow). Zajímavý je i pohled na důvěru jako takovou (samozřejmě v oboru bezpečnosti). V základní rovině lze snad říct, že se jedná o víru, že systém splňuje dané (bezpečnostní) požadavky a specifikace. Na věc se však lze také podívat z úplně jiného úhlu -- podle významného odborníka National Security Agency se jedná o možnost, že daný systém může porušit bezpečnostní politiku bez zanechání jakýchkoliv stop v podobě průkazné evidence. A pozor -- tyto dva pohledy nejsou nutně v protikladu!
X.509 a PGP PGP (Pretty Good Privacy) byl věnován díl 44 našeho seriálu, kde jsme problematiku spolehlivého šíření klíčů diskutovali poměrně rozsáhle. Konvencí PGP při spojení klíčů s tzv. UserID, což není nic jiného než ona "další informace" o uživateli, je použití jména uživatele a e-mailové adresy. Významným rysem certifikace PGP klíčů je to, že ji provádí každý uživatel sám, na základě vlastních informací a podle vlastního rozhodnutí (lze ovšem umožnit i zprostředkované "představení" neznámých klíčů = činitelů). Tak je vlastně správa klíčů přímo pod kontrolou uživatele. PGP klíče jsou pak vystavovány přes servery klíčů jako např. <http://www.pgp.cz>. Velkou nevýhodou obvyklého využití PGP klíčů je pak to, že není jasně prosazována homogenní bezpečnostní politika ani uvnitř jedné domény a až příliš často je potřeba se spolehnout v mnoha kritických funkcích na korektní a zodpovědný přístup svých členů. Naopak certifikáty podle standardu X.509 jsou vždy vytvářeny certifikační autoritou, která je také revokuje. Podoba X.509 certifikátů a s nimi související vztahy certifikace a revokace pocházejí z návrhů pro globální databázi podle X.500. Podle X.500 mají všechny entity v celém světě odlišná jednoznačná jména (DN -- Distinguished Name). Zde se nabízí velmi jednoduché řešení -- spojit s každou jednoznačně identifikovatelnou entitou veřejný klíč -- a máme X.509. Významným rysem plynoucím z X.509 je stromová struktura, kdy daný uživatel a jeho klíč spadají pod jednu CA, ta pak může spadat pod další nadřazenou CA atd. -- až se dostaneme ke kořenové CA. Problémem ale zůstává skutečnost, že jednoznačné pojmenování existuje snad jen v určité doméně, např. malé firmě. V této doméně lze s určitým úsilím a v závislosti na její velikosti také prosadit jednoznačnou bezpečnostní politiku a zavést nějaké konvence. Daleko závažnějším problémem je, že CA může poměrně jednoduše falzifikovat podstatná data v neprospěch strany, jejíž pár kryptografických klíčů je předmětem sporu. Podle X.509 je totiž certifikační autorita zároveň i revokační autoritou a navíc je struktura seznamu revokovaných certifikátů (CRL -- Certificate Revocation List) certifikační autoritou libovolně modifikovatelná, aniž by modifikace byla bezproblémově a jednoznačně prokazatelná. Pro ověření certifikátu X.509 je potřeba mít k dispozici také veřejné klíče (certifikáty) všech nadřízených CA až po tu CA, které lze bezmezně důvěřovat a jejíž klíč je "zaručeně" bezpečný. Toto obvykle znamená potvrzení nebo dodání certifikovaného klíče nezávislou cestou (nejlépe zveřejněním v tisku, osobním odběrem od důvěryhodného zástupce CA atd.). V žádném případě nelze za spolehlivou metodu považovat zveřejnění klíče na Internetu, jeho dodání v rámci aplikace (WWW prohlížeč) ap. Jakýkoliv podvod nebo selhání certifikační autority znamená porušení důvěry ve všech větvích stromu certifikačních vztahů pod touto autoritou. Co se ověřování klíčů ve smyslu jejich aktuální platnosti týče, již jsme naznačili, že přístup k důvěře právě používaným klíčům lze podle kontroly (či její absence) dělit na: 1. Konzervativní, kdy každý klíč, resp. certifikát považujeme za neplatný až do okamžiku, kdy jsme spolehlivým způsobem zpraveni o opaku -- např. potvrzením vydaným CA spolu se spolehlivým označením času. 2. Liberální, kdy klíče, resp. certifikáty považujeme za platné až do okamžiku, kdy jsme informování o opaku -- např. prostřednictvím seznamu revokovaných certifikátů (CRL).
Certifikační autority v praxi Asi nejznámější certifikační autoritou je VeriSign http://www.verisign.com, celkový počet certifikačních autorit lze dnes odhadovat řádově na desetitisíce, protože ne všechny nabízejí služby veřejnosti, většinou se jedná o certifikační autority tzv. uzavřených skupin uživatelů (Closed User Group). Seznam vetšiny významných veřejných CA je dostupný např. přes http://www.qmw.ac.uk/~tl6345/ca.htm. Veřejné CA obvykle nabízejí certifikáty na různé úrovni podle způsobu a důkladnosti prověření uživatele, popř. provozovatele WWW serveru. Nešvarem mnoha certifikačních autorit je bohužel jednání hraničící často až s nekompetencí. A to jak v zahraničí, tak i u nás. Důvěřuj, ale prověřuj -- tak zní dávná moudrost, která je u nás na Divokém Východě platná dvojnásobně. Při práci na Global Trust Register (viz níže) jsme se např. setkali s českou CA, jejíž zástupci nebyli schopni aplikovat digitální podpis u vlastních e-mailů a k dovršení všeho e-maily opatřovali elektronickými podpisy (řetězec znaků na konci e-mailu) jiných osob, než byli sami odesilatelé v záhlaví e-mailu. Dalším problémem je nespolehlivost cesty, která je použita k distribuci a ověření veřejného klíče vrcholné (kořenové) CA. Zahrnutí certifikátů do nově distribuované kopie WWW prohlížeče není příliš spolehlivou metodou, i když je samozřejmě spolehlivější než stažení certifikátu po Internetu. Výzkumný tým oddělení počítačové bezpečnosti na univerzitě v anglické Cambridge navrhl řešení, které spojuje prvky tradiční důvěry (je nesrovnatelně těžší změnit všechny kopie určité knihy na všech kontinentech světa, než nabourat WWW server sebelépe chráněné certifikační autority) s důvěrou potřebnou pro elektronické obchodování. Jedná se o tzv. Global Trust Register, určitou obdobu telefonního seznamu -- seznam významných certifikačních autorit, anonymních remailerů, bezpečnostních týmů CERT, obchodních konsorcií, ale i jednotlivců, kteří služeb asymetrické kryptografie využívají. Existuje samozřejmě primárně v podobě knihy, ale lze jej získat i v elektronické podobě na http://www.cl.cam.ac.uk/Research/Security/Trust-Register/. Nezáleží na tom, jestli jsou klíče ve formátu používaném v EDI, PGP, X.509, resp. Entrust. Klíče nejsou samozřejmě vypisovány celé (s výjimkou EDI), pro jejich jednoznačné určení stačí tzv. otisk, jak jsme ostatně již zmínili v úvodu článku. Otisk se vám také u klíčů zobrazuje i u WWW prohlížečů a PGP softwaru nebo e-mailových programů.
Věřím, že věříš Pro práci s kryptografickými aplikacemi platí dvojnásobně to, že bezhlavé klikání myší na řadu tlačítek OK nebo mačkání Enter se jednou vymstí. Na akceptování právě jen dobrých a potřebných klíčů je založeno vybudování systému, kterému můžete důvěřovat. Akceptováním jednoho klíče nespolehlivé CA můžete přijít k mnoha dalším klíčům, které způsobí více škody než užitku. Předtím než můžete důvěřovat, musíte prověřovat!
| COMPUTERWORLD - seriál o bezpečnosti | COMPUTERWORLD | IDG CZ homepage | |