Asymetrická kryptografie: Porovnání verzí

Smazaný obsah Přidaný obsah
přidán překlad z anglické wikipedie
Řádek 64:
 
Jedním ze způsobů, jak předejít takovýmto útokům, je použití certifikační autority. Tento orgán poskytuje uživatelům digitální certifikát, který je odolný proti násilnému otevření. Tyto certifikáty jsou podepsány datovými bloky tak, že veřejný klíč patří k určité osobě, společnosti, nebo jinému subjektu. Tento přístup má také své slabiny. Certifikační autoritě vydávající certifikát musíme věřit, že správně zkontrolovala identitu držitele klíče a zajistila správnost veřejného klíče v době vydání. Také musí být provedena opatření se všemi účastníky, aby zkontrolovali všechny své certifikáty před chráněným začátkem komunikace. Například webové prohlížeče jsou dodávány s dlouhým seznamem certifikátů, které jsou [[Certifikát podepsaný sám sebou|podepsané sami sebou]] od poskytovatelů PKI. Útočník, který by zkorumpoval byť jedinou z těchto certifikačních autorit do vydání certifikátu pod falešným veřejným klíčem, by pak mohl využít Man in the middle útok tak snadno, jako kdyby se certifikát nepoužil vůbec. Přes tyto teoretické a potencionální problémy je tento přístup široce používán. Například SSL protokol a jeho nástupce TLS protokol, které se běžně používají pro zajištění bezpečnosti pro webové prohlížeče tak, aby mohly být bezpečně odeslány podrobnosti o kreditní kartě do internetového obchodu.
 
=== Výpočetní náročnost ===
Známé algoritmy pro asymetrické šifrování jsou poměrně náročnější než symetrické algoritmy podobné úrovně bezpečnosti. Hlavní rozdíl je užívání podstatně delších klíčů což má vážné důsledky pro jejich praktické užití. Většinou se z důvodu efektivnosti používají v [[Hybridní šifrování|Hybridním šifrování]]. V hybridním šifrování nejdříve jedna strana vygeneruje společný klíč a tento o poznání kratší klíč je zašifrován veřejným klíčem příjemce. Každý příjemce pak použije vlastní privátní klíč k rozšifrování společného klíče. Jakmile mají všechny strany společný klíč, pro šifrování a dešifrování zpráv mohou používat rychlejší symetrické algoritmy. 
 
=== Spojení veřejného klíče s vlastníkem ===
Propojení veřejného klíče s jeho vlastníkem musí být korektní, jinak může dojít k tomu, že i kdyby algoritmus fungoval perfektně, není ve svém použití bezpečný. Jako ve většině užití šifrování, jsou [[Kryptografický protokol|kryptografické protokoly]] použité pro vytvoření a ověření tohoto propojení velice důležité. Propojení veřejného klíče s jeho majitelem je obvykle provedeno pomocí protokolu implementujícího [[PKI]]. Tyto protokoly umožňují, aby platnost propojení byla potvrzena [[Důvěryhodná třetí strana|důvěryhodnou třetí stranou]] a to ve formě hierarchie [[Certifikační autorita|certifikačních autorit]] (např. [[X.509]]), místního modelu důvěry (např. SPKI) nebo [[sítě důvěry]], jako té která je původně použita v [[Pretty Good Privacy|PGP]] a [[GNU Privacy Guard|GPG]] a stále je s nimi do jisté míry použitelná. Nehledě na kryptografickou důvěru v protokoly samotné, propojení mezi veřejným klíčem a jeho majitelem je ve finále subjektivním hodnocením na straně důvěryhodné třetí strany, jelikož veřejný klíč je matematická entita a majitel a propojení mezi klíčem a majitelem matematické entity nejsou. Z tohoto důvodu, formalismus infrastruktury privátních klíčů musí jasně uvést protokoly použité pro toto hodnocení. Například komplexní standard X.509, který nebyl nikdy plně implementován, dovoluje certifikační autoritě identifikovat své protokoly pomocí [[Identifikátor objektu|identifikátoru objektů]] který pak slouží jako rejstřík katalogu protokolů. Protokoly mohou existovat z různých důvodů od anonymity až po vojenské utajení.
 
=== Spojení s událostmi reálného světa ===
Veřejný klíč bude znám velkému a v podstatě neznámému počtu uživatelů. Může tak trvat poměrně dlouho než všechny události vyžadující odvolání nebo nahrazení veřejného klíče dorazí ke všem uživatelům, kteří musí být informováni (tj. všem uživatelům vlastnícím již neplatný klíč). Z tohoto důvodu systémy, které musí reagovat na události v reálném čase (např. systémy zabývající se národní bezpečností), by neměly používat asymetrické šifrování bez důkladné údržby.
 
=== Odvolání klíče ===
Chybné (nebo úmyslně škodlivé) odvolání několika (nebo všech) klíčů pravděpodobně (v druhém případě jistě) způsobí kompletní selhání systému. Toto se může stát pokud mohou být klíče odvolány jednotlivě, ale existují přístupy, které mohou snížit reálnou šanci, že tento problém nastane. Například u certifikátů můžeme použít takzvaný "princip sloučení". Takový princip může být "Alice a Bob mají možnost odvolat certifikát". Teď jen Alice a Bob (společně) mohou certifikát odvolat, a ani Alice ani Bob nemohou odvolat certifikát sami. Na druhou stranu, odvolání certifikátu teď vyžaduje, aby byli Alice i Bob k dispozici, což vytváří problém spolehlivosti. Z pohledu bezpečnosti to vytváří slabé místo v systému odvolání klíče. Úspěšný [[Denial of service|DoS]] útok na Alici nebo Boba (nebo oba) zablokuje možnost odvolání. Ve skutečnosti jakékoli rozdělení autority mezi Alici a Boba bude mít stejný účinek.
 
Proto, že princip dovolující odvolání klíče je silný, mechanismus kontroly by měl mít zároveň co nejvíce účastníků (aby se bránil proti jakémukoli útoku) a zároveň co nejméně účastníků (aby mohl být klíč odvolán bez nebezpečných průtahů). Certifikáty s veřejným klíčem s dobou platnosti jsou nedostatečné z důvodu toho, že datum ukončení platnosti nemusí korespondovat s potřebou odvolání certifikátu kvůli událostem reálného světa, ale takovéto certifikáty není nutné shánět po celém systému a ani uživatelé nemusí být v neustálém kontaktu mezi sebou.  
 
== Zástupci ==