5. Certifikáty



Certifikáty

Jak souvisí certifikát s šifrováním???

V minulých studijních aktivitách jsme si ukázali spoustu možností šifrování, doporučených standardů i možných útoků, které by se mohly stát. Jak tedy zajistit skutečně bezpečný přenos zprávy a společně s tím i bezpečný přenos klíče, zajistit integritu, autenticitu i autorství...

Algoritmy na zašifrování i dešifrování máme, vzpomenete si na některé?

  • symetrické AES, IDEA, RCx
  • či asymetrický RSA


Algoritmy či protokoly na bezpečné předání klíče po nezabezpečeném kanálu máme také, jmenovali byste nějaké?

  • DH-Protokol
  • či hashovací SHA


Zjištění nepopiratelnosti, autenticity i integrity nám zajistí:

  • elektronický podpis


Tak kde je chyba...

Pozveme opět na scénu Pepu a Jarmilku. Nyní se k Pepovi a Jarmilce přidá i vychytralý IT hacker František a Jarmilky bývalý láska, zhrzený Olda. K šifrování použijeme kvalitní asymetrický RSA algoritmus.

Potřebujeme tedy dva klíče - veřejný a soukromý, které vygeneruje Jarmilka. Veřejný klíč pošle po nezabezpečeném kanálu, který zde představuje Olda, k Pepovi. Olda ale má známého IT hackera Františka, a tak ještě než klíč donese k Pepovi, zajde se za kamarádem poradit. František jako zkušený kryptoanalytik uzná, že algoritmus RSA je nad jeho síly, ale poradí Oldovi, jak nad asymetrickou kryptografií vyzrát. Veřejný klíč Jarmilky si František jednoduše ponechá a vygeneruje novou dvojici klíčů - veřejný a soukromý. S Františkovým veřejným klíčem tedy Olda spěchá za Pepou. Pepa tedy vezme veřejný klíč od Oldy, o kterém si myslí, že mu jej posílá Jarmilka, zašifruje jím svou zprávu a tu pošle zpátky po Oldovi Jarmilce. Olda ovšem zase nejdříve spěchá za kamarádem Františkem, ten pomocí svého soukromého klíče nejen dešifruje Pepovu zprávu, ale umožní Oldovi, aby jí změnil! Změněnou zprávu poté zašifruje veřejným klíčem Jarmilky, který si ponechal, a posílá zprávu po Oldovi Jarmilce. Ta přijatou zprávu dešifruje svým soukromým klíčem.


A jsme u problému. Pepa zašifroval svou zprávu veřejným klíčem, který mu byl poslán. Jarmilka obdržela zprávu od Pepy, kterou dešifrovala svým vygenerovaným soukromým klíčem. Olda, který ke všemu přišel jak slepý k houslím, si zprávu nejen mohl přečíst, ale ještě ji upravit k obrazu svému, je konečně šťastný. A hacker František přinejmenším pomohl svému kamarádovi.


Potřebujeme tedy ještě zajistit, aby nebyl možný útok na distribuci veřejného klíče. Jednou z možností je právě nechat si ověřit třetí stranou pravost vygenerovaného páru klíčů.


Poznámka: Nebudeme zabíhat do podrobností o důvěryhodnosti certifikační autority, či rozšiřujících pojmů. Podíváme se pouze jen, jak takový certifikát vzniká, co nám zajišťuje, co musí Jarmilka udělat, aby certifikovaná data získala a jak si Pepa ověří, že data jsou skutečně Jarmilčina.


Potřebujeme certifikát

Aby bylo možné zamezit útoku na distribuci klíče, je důležité zajistit ověření pravosti. Toto ověření pravosti klíčů může poskytnout certifikační autorita. Certifikační autoritou může být třeba aplikace, která vydává certifikáty, či instituce, která zajišťuje proces vydávání certifikátů. V každém případě certifikační autorita je chápána jako nezávislá třetí strana, která je schopná poskytnou certifikáty.


Certifikát je potom datová struktura, která obsahuje údaje, které byly uloženy k certifikaci. Takovýmito údaji mohou být například veřejné klíče. Vedle těchto dat certifikát obsahuje identifikační údaje žadatele o certifikát. Certifikát, po jeho vydání, také obsahuje název vydavatele certifikátu (certifikační autority), dobu platnosti, či pořadové číslo. Nedílnou součástí je elektronický podpis dané certifikační autority.


A jak tedy takový certifikát získat, aby mohla Jarmilka s Pepou komunikovat beze strachu z odposlouchávání?

Jarmilka vygeneruje dvojici klíčů, které jsou potřebné pro komunikaci. Soukromý klíč si uschová a veřejný klíč společně se svými identifikačními údaji zapíše do souboru. Tento soubordigitálně podepíše svým uschovaným soukromým klíčem. Soubor odešle certifikační autoritě. Certifikační autorita ověří totožnost za pomoci digitálního podpisu, který je šifrován soukromým klíčem. Toto ověření současně slouží jako kontrola, že Jarmilka vlastní odpovídající soukromý klíč. Pokud jsou poté všechna další ověření v pořádku, vydává certifikační autorita příslušný certifikát.


Jarmilka tedy získaný certifikát odešle Pepovi, Pepa certifikát ověří, odejme z něho veřejný klíč a svou zprávu zašifruje. Jarmilka po obdržení zprávy dešifruje svým soukromým klíčem a komunikace je tedy chráněna před útokem na distribuci klíče obr. 1.

Shrnutí

Popsali jsme si na pochopitelném příkladu možnost útoku, který se také nazýva man in the middle. Obranou proti této variantě je vydání certifikátu, který potvrdí použití správné dvojice klíčů.


Zdroje

DOSTÁLEK, Libor a Marta VOHNOUTOVÁ. Velký průvodce infrastrukturou PKI a technologií elektronického podpisu. vyd. 1. Brno: Computer Press, 2006, 534 s. ISBN 80-251-0828-7.


Obrázek 1. Postup při získání certifikátu