zpětdálkapitolakurskatedra

3.5 KRYPTOGRAFIE

Jednou z hlavních překážek rychlejšího rozšíření Internetu v obchodu a bankovnictví je nedostatečná bezpečnost dat.

Elektronická pošta je méně soukromá než telefonní rozhovor. Telefonní rozhovor se odehrává mezi dvěma body a jde jednou konkrétní trasou. Elektronická pošta se však posílá nejrůznějšími směry mezi routery. Bez šifrování může být elektronická pošta, obsahující citlivé informace, jako například finanční údaje, čísla úvěrových karet, obchodní smlouvy, čtena na mnoha místech trasy, kudy probíhá internetový provoz.

Při práci s citlivými informacemi požadujeme, aby byly zajištěny následující funkce systému:

Při realizaci těchto funkcí se používá šifrování. Při šifrování se informace s použitím šifrovacího klíče převede do tvaru, který je bez použití dešifrovacího klíče nerozluštitelný. Postup lze zapsat následovně: Šifrovacími algoritmy se nazývá věda zvaná kryptografie, která využívá poznatků náročných abstraktních teorií - teorie čísel, teorie informace a teorie složitosti.
Aby bylo šifrování účinné, musí být složité Luštění šifry musí tedy být složitým problémem., to znamená, že čas, který zaberou potřebné výpočty, musí být příliš velký nebo je takový výpočet principiálně nemožný. Takovými problémy se zabývá teorie složitosti. Složitost problému je charakterizována vztahem mezi velikostí vstupních dat a časem výpočtu, při němž se používá nejlepšího existujícího algoritmu (pozor - ten nemusí být známý!). Za rozumně řešitelné se pokládají problémy, v nichž je tato závislost polynomiální. Pokud je závislost exponenciální, pak je problém principiálně řešitelný, ovšem pro velké problémy je doba řešení příliš velká.

Tak zvané NP-úplné problémy jsou takové, že nejlepší známý algoritmus řešení má exponenciální složitost a není dokázána existence polynomiálního algoritmu (nezbývá tedy než projít všechna možná řešení). Patří mezi ně řada zdánlivě jednoduchých problémů, např. problém obchodního cestujícího a - což je v souvislosti se šifrováním důležité - problém rozkladu na prvočísla.

Důležitým výsledkem kryptografie je to, že jedinou informací, kterou je třeba chránit před odhalením, je dešifrovací klíč. Všechny ostatní parametry systému, včetně šifrovacího klíče, mohou být veřejně dostupné.
V systémech s veřejným klíčem má každý komunikující dva klíče - jeden tajný, dešifrovací a jeden veřejný, šifrovací. Chce-li A zaslat zprávu svému partnerovi B, najde si veřejný klíč B a jím zprávu zakóduje. B ji pak dešifruje svým tajným klíčem. Přesto si žádný z nich nemůže být jist, že zpráva zůstala utajena.
Představme si, že v okamžiku, kdy A a B navážou spojení a odešlou své veřejné klíče, do jejich komunikace vstoupí útočník U, který zachytí veřejné klíče A i B a nahradí je svým vlastním klíčem, aniž to A a B zjistí. Pak může dekódovat zachycené zprávy svým tajným klíčem, zakódovat je správný veřejným klíčem A nebo B a posílat je na příslušnou adresu. Potíž je v tom, že ani A, ani B si nemohou ověřit, že získané veřejné klíče opravdu patří jejich partnerovi.

Tento problém se obvykle řeší pomocí tzv. certifikátu, což je vlastně veřejný klíč obsahující informaci o svém majiteli, digitálně podepsaný certifikační autoritou, která ručí za správnost svého podpisu. Tím se z pole technického dostáváme na pole důvěryhodnosti certifikační autority.

Co to je digitální podpis? Není to ruční podpis naskenovaný do počítače, který se používá např. při ověřování podpisových vzorů v bankách. Digitální podpis pozmění dokument tak, aby měl vlastnosti, které vyžadujeme od běžného podepsaného dokumentu, tzn.

Obyčejné dopisy tyto nároky většinou nesplňují stoprocentně. Digitální podpis, který má výše uvedené vlastnosti, lze realizovat tak, že dokument zašifrujete svým tajným klíčem. Tento postup však má tu nevýhodu, že je výpočetně náročný. Byly proto vyvinuty jednodušší algoritmy, které jsou pro běžné účely postačující.
Pro ilustraci uveďme, jaká je výpočetní složitost rozluštění šifry s klíčem délky n bitů „hrubou silou“, tj. probráním všech možností. 1 MIPS (milion operací za sekundu) je jednotka výkonnosti počítače.
 
Tab 3.1 Výpočetní složitost rozluštění šifry 
délka klíče (bitů) počet pokusů čas při 1 MIPS čas při 106 MIPS
8 28 256 ms
56 256 1142 let 10 hodin
128 2128 5.1024 let 5.1028 let
2K 22048  10587 let 10591 let

Má-li zůstat informace utajena po nějakou dobu, musí být použít klíč takové délky, aby její dešifrování bylo řádově delší než požadovaná doba utajení. Porovnáme-li nároky různých oborů lidské činnosti na dobu utajení informací, vidíme, že pro operace, které vyžadují utajení po dobu řádu hodin, stačí klíče délky 56 bitů, pro obchodní informace s požadovanou dobou ochrany řádu týdnů stačí 56 - 64 bitů, pro několikaletou ochranu průmyslových tajemství stačí 64 bitů a pro diplomacii, kde se některé informace utajují i stovky let, stačí klíče o délce 128 bitů (pak i při předpokládaném technologickém rozvoji bude pravděpodobnost úspěchu špióna, který má k dispozici 100 miliónů dolarů, menší než 1/232).

Nakonec je třeba říci, že je zbytečné používat klíče s délkou 1024 bitů, pokud máte heslo přilepené na spodní straně monitoru nebo pokud použijete jako hesla svého jména nebo jiné snadno odhalitelné kombinace. Uvádí se, že probráním slovníku pravděpodobných hesel lze odhalit asi 40% hesel uživatelů na UNIXových stanicích. Největší slabinou šifrovacích systémů jsou tedy - jak tomu u technických systémů obvykle bývá - jejich uživatelé.

zpětdálkapitolakurskatedra


Správce stránky: Jiří Vacek
Poslední změna: 16.7.2001