Hash, elektronický podpis a certifikáty
| Stránky: | Moodle ZČU |
| Kurz: | KVD/UIN Úvod do informatiky pro vzdělávání - šablona |
| Kniha: | Hash, elektronický podpis a certifikáty |
| Vytiskl(a): | Nepřihlášený host |
| Datum: | pondělí, 9. listopadu 2026, 06.19 |
1. Hash a hashovací funkce
|
|
||
Hash a hashovací funkce
Hash (otisk) je matematická funkce, která je založená na faktu, že jedním směrem je spočítaná velice snadno, ovšem její inverze, čili zpětné zjištění výpočtů, je velice obtížné, někdy dokonce nemožné. Hash se hojně využívá při řešení problému autentizace, pro elektronické (digitální) podepisování, pro verifikaci integrity dat, pro ukládání hesel, či pro generování náhodných dat. Je zřejmé, že hashovací funkce mají několikeré využití, my se budeme blíže zabývat využitím při autentizaci.
Problém autentizace
Říkali jsme si, že problémem užití RSA je v autentizaci odesilatele a adresáta.
Pokud bude s námi neustále asymetricky komunikovat Pepa a vyměňovat si s námi informace s tím, že každý už máme daný veřejný i privátní klíč, může zasáhnout opět zvídavá Jarmilka. Získá od Pepy privátní klíč, spočítá pomocí veřejného klíče správnou kombinaci a může vesele odposlouchávat. Či může pomocí veřejného klíče šifrovat zprávy a posílat falešné zprávy oběma stranám.
Jako další příklad si představme, že chceme vydat důležité prohlášení, ale nepřejeme si, aby s ním kdokoli manipuloval a zároveň chceme, aby si každý mohl ověřit, že jsme jej skutečně napsali my (tzn. že se za nás někdo nevydává a chceme potvrdit autorství dokumentu).
Jak tomuto zabránit? Autentizovat komunikující osoby. V autentizaci nám pomůže právě hash.
Hash
Výsledkem hashovací funkce je obvykle 128 nebo 160 bitů dlouhá sekvence, která naprosto jednoznačně označuje blok dat. Blokem dat lze zde rozumět dokument, email, nebo dokonce celý soubor dat. Podstatné ovšem zůstává, že stejná data mají vždy stejný otisk. Stejně tak, pokud změníme vstupní blok dat, výrazně se změní i hash těchto dat. Podvrh je tedy prakticky nemožný. Jediným problémem zůstává tzv. kolize. Kolizí rozumíme případ, kdy dva různé vstupní bloky dat mají stejný otisk. Žádanou vlastností kvalitní hashovací funkce je minimalizace těchto možných kolizí. Celý systém je přehledně zobrazen zde obr. 1.
Obr. 1 Princip hashovací funkce

Když například zkombinujeme principy hashe a asymetrické kryptografie za účelem vytvoření digitálního podpisu, budeme postupovat následovně:
šifrujeme:
- na otevřený text aplikujeme hashovací funkci a vytvoříme ze zprávy hash
- ten zašifrujeme svým soukromým klíčem
- zašifrovaný hash přiložíme ke zprávě a odešleme (samotná zpráva tedy šifrována není) obr. 2
Obr. 2 Šifrování pomocí hash a soukromého klíče
dešifrujeme:
- ten, kdo si bude chtít ověřit, že zpráva je v pořádku a autenticita neporušená, použije veřejný klíč, kterým dešifruje hash obr. 3
Obr. 3 Dešifrování pomocí hash a veřejného klíče
- pokud se hash dešifrovaný veřejným klíčem bude totožně shodovat s hashem vytvořeným s pomocí soukromého klíče, pak je zpráva v pořádku a nebylo s ní manipulováno obr. 4
Obr. 4 Ověřený hash je totožný, zprávy nebyla upravována
Principy a využitím digitálních a elektronických podpisů se blíže budeme zabávat v následujících článcích.
Hashovací algoritmy
Nyní si obecně představíme několik nejznámějších hashovacích algoritmů. Některým se budeme blíže věnovat v dalších studijních článcích a cvičeních.MD5 (Message Digest Algorithm 5)Algoritmus MD5, publikovaný v roce 1991, je založený na jednocestné matematické funkci, která tvoří z jakéhokoli textu hash o velikosti 128 bitů.Probíhají zde lineární i nelineární funkce, permutace, rozdělení bitů na jednotlivé bloky a samozřejmě patřičné logické operace.Zde se nabízí otázka - co je to lineární a nelineární funkce či logická operace? Napadá vás vysvětlení?
- lineární funkce je taková funkce, která je závislá na definičním oboru a oboru hodnot, které nabývá; tyto hodnoty potom rovnoměrně klesají či stoupají (zvláštním případem je funkce konstantní)
nelineární funkce
- je potom taková funkce, která neklesá ani nestoupá rovnoměrně
logických operací
- máme několik -
AND
- ,
OR
- ,
XOR
- a jejich inverze
NAND
- ,
NOR
- a
IOR,
- pravdivostní tabulky jsou vžité axiomy, které není potřeba dokazovat, a jsou vidět na schématu obr. 5
Obr. 5 Pravdivostní tabulky vybraných logických funkcí

Hashovací algoritmus MD5 se využívá například pro ukládání hesel v Unixových operačních systémech, například Linux.SHA a jeho modifikaceSHA (Secure Hash Algorithm) je jednocestná hashovací funkce vyvinutá institucí National Institute of Standards and Technology (NIST). Je brána jako nástupce algoritmu MD5.Algoritmus vytváří z jakkoli dlouhé zprávy hash dlouhý 160 bitů. Tento hash je nazývaný také message digest. Hash je používán především jako digitální podpis zprávy a většinou slouží pro verifikaci její pravosti. Adresát vypočte hash a porovná s hashem přijaté zprávy, pokud nesouhlasí doručený message digest s tím, který adresát spočítal, zpráva byla cestou modifikována.Mezi další příklady algoritmů můžeme uvést:DSA - Digital signature algorithmDSA se stal roku 1994 americkým vládním standardem, který patří do sekce asymetrických algoritmů. Byl navržen NSA (National Security Agency) a určen pouze k digitálnímu podpisu. Algoritmus DSA využívá soukromého 160 bitového klíče a 1024 bitového veřejného klíče.Tento algoritmus je volně šiřitelný a tudíž jeho největší výhodou je, že vedle bezpečnosti poskytuje komfort freewarového programu. Problematika dešifrování se opět opírá o problém diskrétního logaritmu.Tiger a Tiger 2Tiger je hashovací funkce, kterou v roce 1995 navrhli Ross Anderson a Eli Biham. Tato funkce vytváří kontrolní hash o délce 192, 128 či 160 bitů. Používá se pro kontrolu integrity souborů nebo ukládání hesel. Upgrade Tiger 2 stále ještě není oficiálně publikovaný a narozdíl od předchozí verze používá jinou funkci pro ukončení algoritmu.Teď se společně podrobněji podíváme na některé ze zmíněných algoritmů.
Shrnutí
Po asymetrickém způsobu šifrování a představení některých zástupců, jsou na pořadu hashe. Hash nám z libovolně dlouhého dokumentu vytvoří podle hashovací funkce otisk. Této vlastnosti se využívá především u elektronických a digitálních podpisů.
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.
2. MD5
MD5
Ronald Rivest
navrhl v roce 1991 zcela nový algoritmus. Jedná se o hashovací systém MD5 (Message Digest Algorithm 5). Algoritmus v sobě implementuje hashovací funkci a probíhá v 64 rundách, na jejichž konci je 128 bitový výstupní blok dat.
Jeho zjednodušený princip můžete vidět na schématu.

- do algoritmu nám vstupuje blok dat Mi, který je dlouhý 512 bitů
- z tohoto bloku dat získáme šestnáct 32 bitových slov (označených M0...M15)
- posloupnost těchto šestnácti bloků je opakována čtyřikrát za sebou (blok1 .. blok4), pokaždé s jinou permutací
Vzpomenete si ještě, co je to permutace?
- permutace mění pozice prvků dané množiny za jiné prvky množiny bez opakování prvku
- jak jsme si říkali, prvky si zahrají škatulata
Ale zpět k postupu:
- blok je rozdělen na čtyři části (bloky A, B, C, D) a v kompresní funkci se kombinuje logickou funkcíXOR vždy s jedním 32 bitovým slovem Mi, výsledek poté provede XOR s konstantou Ki (Ki pro každou rundu mění); důležité je, že funkce F, se po šestnácti rundách střídá a nahrazuje ji jiná funkce
- po operaci je blok dat cyklicky posunut o x bitů vlevo
- následuje poslední použití XOR při kombinaci výsledku s částí bloku
- runda končí výstupními bloky A, B, C, D
- tyto operace proběhnou 64x za sebou a po průběhu poslední šedesáté čtvrté rundy se k bloku dat přičte původní otevřený text
- a máme výstupní text, který tvoří 128 bitů (128bitová hash)
Za předpokladu, že tento blok dat je jediný, který nám do algoritmu vstupuje, pak jsme se dobrali ke zdárnému konci. Pokud bychom měli ještě několik dalších bloků, pokračovali bychom stejným způsobem a na konci by na nás opět čekala 128 bitová hash.
Útoky na MD5
Zde je nutné říci, že hledáme klíč, díky němuž získáme správný hash. Hash, který máme k dispozici je zašifrován veřejným klíčem, který známe. Hash, který hledáme, je zašifrován soukromým klíčem autora a kolizi, která by mohla ukázat totožnost těchto dvou hashí právě hledáme.Budou zde zmíněny jen některé pokusy o prolomení.- v roce 1994 by navržen stroj na vyhledávání kolizí za cenu 10 milionů dolarů; dokázal najít kolizi během 24 dnů
- v letech 1993 a 1996 byly uveřejněny kolize a pseudokolize (pseudokolizí rozumíme takovou kolizi, která je definována určitou množinou - můžeme si to představit jako náhodné a pseudonáhodné generování klíče)
- v srpnu 2004 byly prezentovány další možné kolize
- asi nejzajímavější je přínos Číňanů v kryptoanalýze MD5, kdy přišli s metodou, která dokáže nalézt kolize dvou různých 1024 bitových textů; princip je vlastně jednoduchý a je založený na tom, že se nejprve naleznou dvě různé 512 bitové „půlzprávy“(což časově trvá několik hodin); poté se k nim najdou ještě jedny dvě 512 bitové půlzprávy (to trvá už jen sekundy) složené zprávy (první z prvního hledání s první z druhého hledání a obdobně druhá z prvního hledání s druhou z druhého hledání) pak mají stejnou hash.
Co nám to přináší?Neumíme k podepsanému dokumentu, souboru, či mailu, nalézt jiný, se stejnou hash funkcí, aledokážeme najít dva různé dokumenty, soubory, či maily, opatřené stejnou hash.Pro ilustraci si to můžeme představit tak, že jako skladník necháme řediteli podepsat žádost o dovolenou, se kterou úplně náhodou koliduje návrh na zvýšení platu.Nástupcem MD5 bývá označen algoritmus SHA a jeho novější modifikace, pojďme se nyní společně na ně podívat zblízka...
Shrnutí
Hashovací algoritmy nám vytvářejí hashe. Podívali jsme se tedy blíže na princip jednoho z nich a to algoritmu MD5.Zdroje
JIROUŠEK, Radim. Principy digitální komunikace. Vyd. 1. Voznice: Leda, 2006, 309 s. ISBN 80-733-5084-X.
3. SHA
SHA
MD5, který předcházel tomuto aloritmu, jsme si již zmínili. Teď se podíváme na rodinu SHA.
Algoritmus SHA-1 byl poprvé uveden v roce 2001. Jako standard byl uznán o rok později.
SHA (Secure Hash Algorithm) je hashovací algoritmus, jenž transformuje vstupní text na text výstupní. Přičemž používá operace a hashovací funkce. Hash či otisk je vytvořen a připojen ke zprávě.
SHA je nadstavba algoritmů SHA-1, SHA-224, SHA-256, SHA-384 a SHA-512. Algoritmus SHA-1 má výstupní text dlouhý 160 bitů, číselné označení dalších algoritmů pak znamená délku výstupního textu při jejich použití (pokud použijeme SHA-384, délka výstupního textu pak bude 384 bitů). Algoritmy SHA-224, SHA-256, SHA-384 a SHA-512 jsou souhrnně nazývány také SHA-2 obr. 1.
Obr. 1 Rodina SHA

Princip
Principiálně jsou algoritmy podobné, my se blíže podíváme na algoritmus SHA-1 obr. 2.
Obr. 2 Runda SHA-1

- do algoritmu vstupuje 512 bitů dlouhý vstupní text
- ten se rozdělí na šestnáct bloků (označení blok 1...blok 16)
- takto rozdělené bloky se zkopírují do schránky pro pozdější použití
- vstupní bloky vstoupí do hashovací funkce
- proběhnou operace cyklický posun vlevo o x pozic, či modulární součet
- výstup z hashovací funkce se sečte (232) s uloženými nezměněnými vstupními bloky
- sečtené bloky (označené blok u1...blok u16) jsou pak výstupen z rundy algoritmu SHA-1
- výstup z rundy má 160 bitů
Při aplikaci algoritmů se setkáváme s pojmem integrita souboru, či integrita dat? Zkusili byste formulovat, co je to integrita a co je její hlavní myšlenkou?
- pokud je integrita dat v pořádku, znamená to, že data dešifrovaná jsou totožná s daty šifrovanými a tudíž během transportu nedošlo k manipulaci
- integrita zároveň zajištuje kompletnost přeneseného souboru či dat; (k čemu nám bude, že budeme znát jméno osoby, když její rodné číslo nepůjde rozeznat)
Použití
SHA a jeho modifikace jsou hojně využívány u protokolu SSL, či ochrany PGP, nebo jako součástí aplikací. Začleněny jsou také do programů kontrolující právě integritu přenesených dat, či aplikací pro kontrolu a ukládání hesel.
Bezpečnost
Bezpečnost algoritmu je opět dána nemožností zpětného zjištění původních dat. Jednou z možností je řešení diskrétního logaritmu, který, jak víme, řešení má, ale je velmi obtížné se k němu dopracovat.
Shrnutí
Mezi další hashovací algoritmy patří nástupce MD5, kterým je rodina algoritmů SHA.
Zdroje
JIROUŠEK, Radim. Principy digitální komunikace. Vyd. 1. Voznice: Leda, 2006, 309 s. ISBN 80-733-5084-X.

4. Elektronický, digitální a zaručený podpis
Elektronický, digitální a zaručený podpis
Po vysvětlení hashovacích algoritmů a jejich principů, je tu jedno z možných využití těchto principů.
Společně se tedy podíváme na metody, které se využívají při ověřování pravosti zprávy, autorství zprávy a integrity zprávy.
Každý z vás má určitě vlastní účet v bance a samozřejmě zřízené moderní a multifunkční internetové bankovnictví. Věděli byste, jak s vámi taková banka komunikuje, pokud používáte Internet Banking?
- využívá se zabezpečený protokol, zpravidla https
- může být využit certifikát přidělený bankou, který instalujeme na svůj počítač, jiná možnost je obyčejné zadání uživatelského jména či ID
- pro přihlášení vyplníme naše příslušné heslo
- ... můžeme vesele operovat s našimi finančními prostředky
- někdy je také vyžadováno ověření v podobě zadání jednorázového hesla zaslaného formou SMS zprávy na naše uvedené číslo - mnohdy je to velmi zdlouhavé, zdržující a přinejmenším otravné, ovšem jde o jeden z nejbezpečnějších způsobů ověření totožnosti uživatele
Nyní se tedy podíváme na další možné způsoby ověření. Ověřovat můžeme uživatele, autora, ale i pravost zprávy.
Otisk, hash
Co je to hash, již víme...
- hash je jednocestná funkce, která nám z libovolně dlouhého vstupního bloku dat vytvoří řetězec konstantní délky
Algoritmy, které vytváří hash, jsme si představili v minulých studijních článcích. Jedná se například o algoritmus MD5, či SHA. Důležité je, aby u hashovacích algoritmů byla minimalizována možnost výskytu kolize. U algoritmů MD5 či SHA-1 se již útočníkům daří nacházet správné hashe, proto se od užití těchto systémů upouští a jsou nahrazeny jinými (například SHA-2).
Otisk získaný ze zprávy
Jedno z možných užití hashe je důkaz integrity zprávy.
K posílaným datům se připojí hash, odesílatel tedy pošle zprávu s otiskem obr. 1.
Obr. 1 Nijak nešifrovný hash připojený ke zprávě

Adresát, který přijme zprávu, sám spočítá otisk z přijaté zprávy, a porovná výsledek s otiskem, který je na přijaté zprávě. Pokud se tyto dva otisky shodují, zpráva nebyla během transportu nijak modifikována obr. 2.
Obr. 2 Nijak nešifrovaný hash - útok

Provedla se tedy kontrola integrity zprávy, která zajišťuje, že zpráva nebyla modifikována, ale také, že dorazila kompletní a neporušená. Důkaz integrity používají také linkové protokoly například u sítí typu Ethernet.
Tento systém ale není odolný vůči útoku třetí osoby. Pokud bude kdokoli chtít pozměnit data při transportu, jednoduše dopočítá hash, pozmění zprávu, spočítá hash a odešle adresátovi, adresát si dopočítá hash, která bude souhlasit a nezjistí nic o modifikaci původní zprávy.
Symetrický podpis
Nastupuje varianta, kdy si adresát a odesilatel vymění nějakou informaci ještě před komunikací, která se stanespolečným tajemstvím. Otisk se následně nevytváří ze samotné zprávy, ale ze zprávy doplněné právě o sdílené tajemství obr. 3.
Obr. 3 Symetrický podpis

Případný útočník tedy nemůže obsah zprávy pozměnit, protože bez znalosti tajemství nedokáže vytvořit nový otisk. Tato metoda bývá někdy označována jako „symetrický podpis“.
Nedostatkem této metody je, že zprávu může stále podvrhnout jeden z pravých účastníků komunikace obr. 4.
Obr. 4 Symetrický podpis - útok

Př.: Vrátíme se zpět k našim přátelům Pepovi a Jarmilce, kteří si před vzájemnou komunikací domluvili společné tajemství.
Pepa pošle Jarmilce zprávu, že jí dluží 10 000 Kč. Jarmilka ověří pravost zprávy pomocí metody symetrického podpisu, která byla zmíněna výše. Případný útočník sice zprávu změnit nemůže, ale Jarmilka ano - pokud přepíše částku na 100 000 Kč a dopočítá díky znalosti tajemství nový otisk, Pepa následně nemá možnost dokázat, že jeho původní zpráva byla odlišná od Jarmilčiny upravené.
Replay attack
Zprávu podepsanou symetrickým podpisem nemůže útočník sice změnit, ale může si ji uložit a poté odeslat v nezměněné podobě znovu. Pokud tedy zpráva obsahovala například příkaz k úhradě, útočník může bez problémů způsobit, že finanční hotovost bude převedena několikrát. V bankovnictví se tomuto útoku říká dual spend attack, obecně je útok nazýván replay attack, tedy útok „přehráním“ zprávy.
Nejjednodušším způsobem obrany je prosté vzestupné číslování zpráv. Příjemce pak kontroluje, zda nedostal zprávu stejnou zprávu několikrát. Vylepšenou verzí této obrany je nonce. Nonce je veliké náhodně generované číslo, které odesilatel přidá do zprávy. Nevýhodou je, že příjemce musí ukládat všechny staré nonce, aby mohl ověřit, že nedostal vícekrát stejnou zprávu.
Elektronická obálka
Princip této metody spočívá v tom, že odesilatel zašifruje zprávu náhodným klíčem a tento klíč rovněž zašifruje, tentokrát pomocí veřejného klíče, který je poskytnut příjemcem. Zašifrovaný klíč následně přidá ke zprávě. Příjemce pomocí svého soukromého klíče rozšifruje náhodný klíč a ten použije k dešifrování samotné zprávy obr. 5.
Obr. 5 Elektronická obálka

Výhodou je, že v případě více příjemců stačí zprávu zašifrovat jednou a vícekrát se šifruje pouze náhodný klíč, pokaždé veřejným klíčem daného příjemce.
Klíč je oproti zprávě výrazně kratší, celý proces šifrování je tedy díky tomu podstatně rychlejší.
Digitální podpis
V principu je zde využita kombinace předchozích metod. Ze zprávy je opět vytvořen hash, ten je zašifrován soukromým klíčem autora zprávy a přiložen ke zprávě. Každý následně může pomocí veřejného klíče hash dešifrovat, zkontrolovat integritu zprávy, a tak ověřit, že zpráva skutečně pochází od autora a nebyla změněna.
Soukromým klíčem šifrovaný hash tedy nazýváme digitální podpis.
Digitální podpis nám také slouží jako důkaz pravosti dokumentu, čili zajišťuje nepopiratelnost a za určitých podmínek slouží jako náhrada za vlastnoruční podpis. Takový digitální podpis pak můžeme označovat jako elektronický podpis.
Elektronický podpis
Je termín, který zahrnuje všechny předchozí metody i některé další způsoby elektronického ověřování zpráv.
Zaručený elektronický podpis potom představuje takový podpis, jenž může sloužit jako důkaz autentičnosti dokumentu, a může tedy být plnohodnotnou náhradou klasického vlastnoručního podpisu. Zda je za plnohodnotnou náhradu považován z právního hlediska záleží na legislativě konkrétního státu.
Některé země berou elektronický podpis jako plnohodnotnou náhradu ručně psaného podpisu a v jejich legislativě se pak hovoří o pojmu zaručený elektronický podpis. Jiné státy naopak chápou digitální podpis pouze jako ověření autenticity dokumentu, ovšem ne jako plnohodnotnou náhradu ručního podepsání.
Společně se ale podíváme na některé směrnice, které přesně definují rozdíly mezi těmito pojmy.
A kde se takový elektronický podpis potřebuje? Elektronicky se podepisujeme při podání přehledu o příjmech a výdajích OSVČ, pokud již pracujeme, můžeme se s elektronickým podpisem setkat u přihlášení či odhlášení vyplňování nemocenského pojištění. Při vyplňování růžového formuláře přiznání DPH. Při jakékoli elektronické komunikaci s pojišťovnami, úřady či státní správou. Pokud budeme aktivní a podáme žádost o dotace či projekty EU, rovněž budeme nuceni použít elektronický podpis. Využití je nepřeberné.
Shrnutí
Definovali jsme si některé metody, které se v elektronické komunikaci potřebují pro ověření autorství, autenticity a integrity dokumentů. Představili jsme si jejich výhody i nevýhody.
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.

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

6. PKI
PKI
Public Key Infrastructure (PKI) představuje soubor hardwaru, softwaru a postupů potřebných pro vytváření, správu, distribuci, používání, ukládání a rušení digitálních certifikátů.
V kryptografii, je PKI způsob ochrany, která váže veřejné klíče k příslušným uživatelským identitám. Identita uživatele musí být jedinečná v rámci každé nové certifikace. Vazba je zajištěna prostřednictvím registračního procesu. V PKI se část, která tuto vazbu zprostředkovává, nazývá Registrační autorita. Registrační autorita tedy zajišťuje vazbu veřejného klíče k příslušnému uživateli. Uživatel musí být současně vázán další metodou, která zaručuje, v případě výměny dat jejich nepopiratelnost.
PKI rovněž umožňuje uživatelům bezpečně komunikovat po nezabezpečené veřejné síti, přičemž spolehlivě ověřuje totožnost ostatních uživatelů. Totožnost se ověřuje pomocídigitálních podpisů.
|
- Certifikační autority (CA), která ověřuje digitální podpisy Registrační autority, která ověřuje identitu uživatele pomocí informací od certifikační autorityCentrální adresář - tedy bezpečné místo, do kterého se ukládají klíčeCertifikát systému řízení
PKI rovněž dokáže vytvářet digitální podpisy. Na tomto je také založeno rozdělení a definice digitálního, elektronického a zaručeného podpisu.
Pojďme se na definice ještě jednou podívat.
Zatím jsme si definovali pojmy elektronický, digitální a zaručený podpis takto.
Nyní se podíváme na podrobnější popis, zohledníme rovněž přínos z legislativního pohledu.
Digitální podpisy zde představují všechny podpisy, které vzniknou technologií PKI. Elektronické podpisy jsou chápány jako všechny náhrady ručně psaných podpisů. Průnik těchto dvou množin dává pak elektronické podpisy založené na technologii digitálního podpisu a zaručené elektronické podpisy. Jelikož je ale použití elektronického podpisu úzce spjato s legislativou daného státu, podíváme se nyní na evropskou Směrnici 1999/93/EC a zákon č. 227/2000 Sb. Zajímavé je porovnat některé definice shodných pojmů.
Po osvěžení a objasnění těchto pojmů se tedy v závěru podíváme na některé protokoly, které využívají zmíněné a popsané postupy a metody.
Shrnutí
Přiblížili jsme si stručně, co je to PKI, a jaké používá principy. Obecně jsme i porovnali některé úryvky a definice obsažené v evropské Směrnici 1999/93/EC a zákoně č. 227/2000 Sb.
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. Elektronický podpis - dělení

Obrázek 2. Elektronický podpis 2

7. PGP, WEP, WPA, WPA2, SSL/TLS
PGP, WEP, WPA, WPA2, SSL/TLS
aneb aplikujeme symetrické, asymetrické šifrování, hashe a elektronický podpis
Podíváme se společně na některé protokoly, které využívají dosud probrané algoritmy. Nebudeme opět zabíhat do detailů, spíše nás zajímá, jak které algoritmy aplikují, případně kde se s těmito protokoly můžeme setkat.
PGP
Nyní si něco řekneme o PGP (Pretty Good Privacy). Pretty Good Privacy lze volně přeložit jako celkem dobrá ochrana, či docela dobré soukromí.
Tvůrcem tohoto světově rozšířeného programu je Phill Zimmermann. Ačkoli bylo PGP napsáno v USA je používáno všude ve světě.
PGP ochrana je založena na kombinaci hashování, komprese dat a použití soukromého i veřejného klíče. Každý veřejný klíč je vázán na uživatelské jméno nebo e-mailovou adresu. První verze tohoto systému byla obecně známa jako síť důvěry narozdíl od PKI systému, který používá přístup založený na certifikační autoritě, která byla přidána k PGP později.
Funguje to tak, že otevřený text je zkomprimován. Poté je text symetricky zašifrován klíčem. Klíč, který se použije pro symetrické šifrování, je generován náhodně a pouze pro tento proces. Tento klíč je zašifrován veřejným klíčem.
Výsledná zpráva zašifrovaná ochranou PGP tedy obsahuje zkomprimovaný text, symetricky zašifrovaný klíčem, který je zašifrovaný asymetrickou šifrou. Tento princip je takto optimalizován především kvůli rychlosti. Symetrické šifry jsou mnohem rychlejší než asymetrické při jejich aplikaci na velký balík dat. Takto probíhá asymetrickou šifrou pouze „krátký“ několika bitový klíč.
Proces dešifrování je inverzní k procesu šifrování. Soukromým klíčem je dešifrován klíč, kterým symetricky dešifrujeme dosud zkomprimovaný text, v konečné fázi pak dekomprimujeme text a máme výchozí zprávu.
PGP má implementován i systém digitálního podpisu. Odesílatel, který použije PGP k vytvoření digitálního podpisu zprávy, operuje buď s RSA, nebo DSA algoritmem, který použije pro vznik digitálního podpisu. PGP jednoduše spočítá hash z otevřeného textu a zašifruje ho soukromým klíčem odesilatele.
WEP
Wired Equivalent Privacy (WEP)
WEP je bezpečnostní algoritmus pro bezdrátové sítě. Jeho účel spočíval v tom, aby důvěrnost dat byla srovnatelná s důvěrností tradiční kabelové sítě. Ačkoli měl WEP dosahovat stejné bezpečnosti jako klasická kabelová síť, bylo prokázáno, že obsahuje četné nedostatky. Přístupová hesla se zadávala ručně a byla neměnná. To způsobilo, že pouhým odposloucháváním mohla být data přeposílána dále.
Byl prolomen v srpnu 2001, a v roce 2003 byl nahrazen protokolem WPA.
WEP používá pro šifrování symetrický algoritmus RC4 a algoritmus CRC-32 jako kontrolní součet pro integritu dat.
Standardní 64- bitový WEP používá 40 bitový klíč (také známý jako WEP-40). K němu je připojen 24bitový inicializační vektor a dohromady tak tvoří 64bitový RC4 klíč. V době svého vytvoření byla vládou USA omezena právě délka klíče, aby se šifrovací technologie nerozšířila. Po zrušení těchto omezení se stal známým 128- bitový WEP, který měl délku klíče 104 bitů (také známý jako WEP-104) a rovněž k němu byl připojen 24bitový inicializační vektor. Takto rozšířený WEP je potom známý jako 128-WEP. Paradoxně je ale délka klíče příteží, neboť delší klíč vyžaduje zachycení více paketů, což zpomaluje rychlost.
WPA a WPA2
Wi-Fi Protected Access (WPA) a Wi-Fi Protected Access II (WPA2) představují dva protokoly ověřující bezpečnost při internetové komunikaci. Vyvinula je společnost Wi-Fi Alliance pro zabezpečení bezdrátových počítačových sítí jako reakci na prolomení protokolu WEP.
WPA se stal dostupným v roce 1999 a byl používán jako přechodný protokol, než se vyvinul silnější WPA2. Komplexní a bezpečnější WPA2 se stal dostupným po roce 2004 a společnou zkratkou pro oba tyto protokoly se stala zkratka WPA2.
Protokol WPA v sobě implementuje protokol TKIP (Temporal Key Integrity Protocol), který narozdíl od předchozího WEP, generuje nové klíče pro každý paket zvlášt. Dymanicky tedy vytváří nové 128- bitové klíče, a tak je zabráněno útoku, jakému podlehl třeba právě WEP. (U WEP byly klíče zadávány ručně do zařízení či aplikací a neměnily se.)
WPA zahrnuje i kontrolu integrity zpráv. WPA kontroloval algoritmem CRC (cyklická redundantní kontrola). WPA2 již v sobě obsahuje nový kontrolní prvek, kterým je algoritmus Michael (někdy také označován MIC). MIC zajišťuje počítání. Počítání je forma ochrany před možným znovu odesláním odposlouchaných dat.
SSL/TLS
Transport Layer Security (TLS) a jeho předchůdce, Secure Sockets Layer (SSL).
SSL/TLS je norma vytvořená společností NETSCAPE. Používá se pro zabezpečení protokolu https.
SSL/TLS poskytuje zabezpečení komunikace přes internet pomocí asymetrického i symetrického šifrování pro ochranu soukromí a certifikačních ověření pro zajištění integrity zprávy.
Aby mohl uživatel ověřit totožnost serveru, je nutné mít platný certifikát. Certifikát je zde chápán jako elektronický průkaz totožnosti. Vydává jej třetí osoba - certifikační autorita serveru. Tím ověřuje důvěryhodnost.
SSL používá asymetrickou RSA a symetrickou šifru RC4. A to 128- bitový klíč v USA a 40-bitový klíč mimo území USA. Protokol SSL při komunikaci serveru z USA a klientem mimo území USA sníží uměle délku klíče na 40 bitů. Těchto 40 bitů je doplněno náhodnou posloupností, která je vyměněna mezi serverem a klientem na počátku komunikace protokolu SSL. Na tento řetezec je aplikována hash funkce MD5. Z vytvořeného vzorku je 88 bitů použito k doplnění původního klíče, čímž dostáváme 128 bitů pro RC4. Efektivní délka klíče však je pouze 40 bitů. Pro RSA se pak používá 512- bitový klíč.
Shrnutí
Ve výše uvedených protokolech a způsobech ochrany jsme aplikovaly dosud nabyté znalosti z kryptografie a kryptoanalýzy. Nyní se podíváme ještě na jeden způsob, který je důležitý rovněž při tvorbě elektronického podpisu.
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.
JIROUŠEK, Radim. Principy digitální komunikace. Vyd. 1. Voznice: Leda, 2006, 309 s. ISBN 80-733-5084-X.



