Elektronický podpis je dnes často používané slovo. Co je to ten elektronický podpis? Někdo si pod tím představuje cosi tajemného. Pokusme se vysvětlit si, co se pod tímto pojmem skrývá.
Abychom mohli dojít k vysvětlení principu elektronického podpisu, musíme nejprve zabrousit do vod nauky o utajení informace - kryptografie. Musíme si říci něco o šifrování. Pomocí šifrování převádíme informaci (zprávu, soubor na disku) do podoby, která je pro normálního člověka nesrozumitelná. Vezmeme tedy zprávu, tu zašifrujeme a pošleme. Příjemce ji musí dešifrovat aby byla srozumitelná. Šifrování v nejjednodušší podobě si můžeme představit např. tak, že podle dohodnutého pravidla změníme písmenka (např. místo a bude x, místo b bude a atd.). Tohle udělá odesílatel. Příjemce ví, že musí změnit písmenka obráceně, aby dostal původní zprávu. Způsob záměny (klíč) musí udržovat v tajnosti, jinak by to nemělo smysl. Oba tedy znají způsob, jakým se zpráva zašifruje/dešifruje. Způsob záměny písmenek např. podle tabulky je stejný pro oba. Stačí znát tabulku jednoho a můžeme kteroukoliv zprávu dešifrovat.
Jak si dále ukážeme, šifrovací mechanizmy se využívají nejen k utajení přenášených dat.
Pozn.: Nezaměňujme pojmy šifrování a kódování. Šifrování je úprava zprávy za účelem utajení obsahu. Smyslem kódování není utajit informaci, ale převést zprávu do jiné podoby proto, aby šla lépe přenášet jinými technickými prostředky, lépe zaznamenávat na záznamová média apod. Jako nejjednodušší příklad kódování bychom mohli ukázat převod zprávy do podoby kouřových signálů, či nám dobře známý příklad převodu do podoby Morseovy abecedy, abychom mohli informaci jednoduše přenášet telegrafem, blikáním světlem, zvukovými signály.
Symetrické šifrování
Používá se jeden klíč a ten se musí utajovat. Výhoda je především rychlost šífrování/dešifrování.
K takovémuto způsobu šifrování se využívá logická bitová operace XOR.
původní zpráva ⊕ klíč = zašifrovaná zpráva; zašifrovaná zpráva ⊕ klíč = původní zpráva
originál | 00001111 |
klíč | 01010101 |
zašifrováno | 01011010 |
zašifrováno | 01011010 |
klíč | 01010101 |
dešifrováno | 00001111 |
Asymetrické šifrování
Používají se takové funkce a operace, které jsou z praktického hlediska "jednosměrné". Vezměme např. dvě prvočísla 11 a 23. Velmi snadno je vynásobíme. Ale opačně z jejich součinu zjistit a získat obě prvočísla (faktorizace) bude náročné. A což teprve když obě prvočísla budou víceciferná.
Při znalosti veřejného klíče nelze v reálné době současnými výpočetními prostředky a postupy odvodit klíč druhý. Ta "reálná doba" může být různá. Obecně platí, že by měla být mnohem delší než doba, po kterou lze informaci ve zprávě využít/zneužít. Pokud bychom byli schopni za 5 let práce počítače zjistit klíč a získat zprávu, informace by neměla být již zajímavá.
Používají se dva klíče, jen jeden je třeba utajovat.
Princip nesymetrického šifrování lze využít více způsoby.
Pvní je, když odesílatel zašifruje svoji zprávu veřejným klíčem adresáta a adresát-příjemce ji dešifruje klíčem soukromým.
Nabízí se i druhý, opačný způsob. Zašifrovat u odesílatele zprávu soukromým klíčem odesílatele a u příjemce ji dešifrovat veřejným klíčem odesílatele.
Jaký je rozdíl mezi oběma způsoby? Dobrá indicie pro odpověď je veřejný klíč. Právě, že je veřejný, dostupný, může v prvním způsobu odeslat zprávu zašifrovanou veřejným klíčem každý. Je možné ji přenášet veřejnými kanály. Dešifrovat tuto zprávu může ale jen určený adresát, který vlastní soukromý klíč. Takto můžete někomu poslat zašifrovanou zprávu a nikdo jiný než adresát ji nepřečte. Nikde není ale jistota, že zpráva je právě od vás, protože ji takto může napsat kdokoliv (klíč je veřejný).
U druhého způsobu, kdy zašifruje odesílatel zprávu svým soukromým klíčem a adresát ji dešifruje klíčem veřejným, může zprávu dešifrovat nejen adresát, ale každý. Každý, kdo zprávu zachytí. Protože veřejný klíč je dostupný. Má to tedy význam? Ano, i když zprávu může dešifrovat každý, i když tedy není utajen obsah, je evidentní, že ji zašifroval právě jen ten odesílatel, který zná soukromý klíč. Máme záruku, že zpráva je od pravého odesílatele.
Využití šifrování
Ideální by bylo použít oba způsoby najednou, tím by byla jistota odesílatele i zpráva by byla utajena. Odesílatel by nejprve zašifroval zprávu svým soukromým klíčem (jistota, že odesílatel je pravý), potom to celé zašifroval veřejným klíčem adresáta (utajení). Adresát by použil opačný postup. Tento postup je však velmi výpočetně náročný, proto se používají další způsoby, např. kombinace symetrického a asymetrického šifrování.
Odesílatel vygeneruje klíč pro symetrickou šifru. Ten zašifruje veřejným klíčem adresáta. Naváže spojení a odešle ho adresátovi. Adresát si ho dešifruje svým soukromým klíčem. Dohodnou se na okamžiku začátku přenosu symetrickou šifrou a dále komunikace pokračuje symetrickým šifrováním.
Nebo odesílatel zašifruje zprávu vlastním vygenerovaným klíčem pro sym. šifrování. Ke zprávě připojí tento klíč zašifrovaný veřejným klíčem adresáta a odešle. Adresát dešifruje sym. klíč a tím potom zprávu.
Pomocí výše uvedených mechanizmů se tedy v různých situacích zajišťuje:
- Autentizace - ověření, zda uživatel nebo odesílatel je právě ten, za kterého se vydává.
- Nepopíratelnost - nelze popřít autora zprávy, obsah, případně čas a další údaje.
- Autorizace - povolení přístupu nebo nějaké operace na základě autentifikace.
- Integrita - je zajištěno, že předávaná zpráva nebyla po cestě od odesílatele k příjemci změněna.
- Utajení - k obsahu zprávy se nedostanou cizí (neautorizované) subjekty.
Aplikace, ve kterých se šifrování používá
- bankovní operace
- nákupy
- komunikace s úřady
- datové schránky
- veškeré zabezpečené přenosy (např. e-mail)
- zabezpečení souborů i složek (např. MS Office)
Zabezpečené protokoly: https, ssl, tls, ftps... (s-secure, secured)
Elektronický podpis
Kdyby odesílatel zašifroval zprávu svým soukromým klíčem, je nezpochybnitelné, že ji odesílal on, je to jako podpis. Adresát ji dešifruje veřejným klíčem odesílatele. Ve skutečnosti zašifrovat/dešifrovat celou zprávu by bylo náročné. Proto se nejprve vytvoří tzv. hash (otisk) zprávy pomocí hashovací funkce (MD5, SHA...). Je to krátký soubor, který je jednoznačný pro danou zprávu. Hash má vždy pevnou délku a pro stejnou zprávu je stejný. Pro jinou zprávu je pochopitelné jiný. Tento hash se dále zašifruje soukromým klíčem odesílatele a pošle spolu se zprávou. To je elektronický podpis. Na straně adresáta se dešifruje a dešifrovaný hash se porovná s vypočítaným hashem zprávy. Souhlasí-li oba, je doručená zpráva v pořádku, je celá. Hash jiné zprávy bude jiný, jiný bude tedy i el. podpis. Z principu ale vyplývá, že tento podpis vždy určuje jednoznačně odesílatele, tedy osobu, která vlastní soukromý klíč. Elektronický podpis je i zároveň jako jakási pečeť. Vyjadřuje kdo, případně kdy a kde dokument vytvořil a ověřuje, že dokument nebyl nikde po cestě změněn.
Ke zprávě se dále přidá digitální certifikát a odešle.
Digitální certifikát
Digitální certifikát je soubor, který obsahuje veřejný klíč společně s dalšími údaji (certifikační autorita, uživatel, platnost, účel...). Je to veřejný klíč uživatele digitálně podepsaný certifikační autoritou. Certifikační autorita svým podpisem (dig.) stvrzuje příslušnost veřejného klíče k subjektu. Generování klíčů (soukromý a veřejný) s ním přímo nesouvisí. Soukromý klíč máme rovněž v počítači (flash, čipové kartě...).
Certifikační autorita
Jak se ale zajistí, že určitá osoba, která dává ve známost svůj veřejný klíč, je s tímto klíčem zaručeně spojena? Tuto skutečnost (jako i v normálním životě) musí potvrdit nějaký nezávislý a uznávaný třetí subjekt. Tento subjekt se nazývá certifikační autorita. Ta vydá tzv. digitální certifikát, podepsaný jejím soukromým klíčem. Tento certifikát potvrzuje propojení daného subjektu s jeho veřejným klíčem. Digitální certifikát lze ověřit pomocí veřejného klíče certifikační autority. Certifikační autorita musí mít pochopitelně jistou důvěru. Existuje hierarchický systém CA. V operačním systému máme předinstalovány desítky důvěryhodných a nedůvěryhodných CA.
Pozn.: Zaručený elektronický podpis je se opírá o kvalifikovaný certifikát. Ten vydávají určené schválené CA, pro určené úkony. Elektronický podpis - vždy osoba, elektronická značka - právnická osoba.
- Podrobnosti
- Zobrazení: 3