Důvěřuj, ale prověřuj

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,


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, 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í 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 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 apod. 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 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ů. 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 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ě 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!
8 2030 / ram









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