Jak funguje digitální podpis

23. října 2002

Již nějakou dobu se objevují zprávy o digitálním podpisu, certifikátech, a nejnověji o certifikačních autoritách. Požádali jsme jednoho z odborníků, aby připravil několik příspěvků, které by vás měly celou problematikou provést. Začněme tedy na začátku, u elektronického podpisu a principu jeho fungování.

Elektronický podpis

Hned na úvod se nabízí srovnání elektronického podpisu s běžným (někdy nazývaným „vlastnoruční“) podpisem. Jestliže na papírový dokument připojíme svůj podpis, ručíme tím vlastně za jeho obsah, takže dokument je pro příjemce důvěryhodný. Protože každý člověk má svůj charakteristický rukopis, vlastnoruční podpis víceméně jednoznačně identifikuje osobu, která podpis vytvořila. Pokud chceme zabránit dodatečnému pozměnění dokumentu, vytvoříme jej prostě ve dvou kopiích, přičemž jednu kopii si ponechá podepisující strana, druhou kopii příjemce. Případnou jednostrannou modifikaci dokumentu lze potom velmi snadno prokázat.

U elektronických dokumentů je situace poněkud složitější. Není sice problém pod dokument připojit svůj podpis, ale jeho důvěryhodnost je prakticky nulová. Zatímco vlastnoruční podpis je poměrně  těžké napodobit (a případný grafologický rozbor by zřejmě zfalšovaný podpis prokázal), v případě elektronického textu je tomu přesně naopak. Podepsat se cizím jménem může kdokoliv a neexistuje způsob, jak takový podvrh prokázat. Elektronický dokument je navíc možné velmi snadno modifikovat, aniž by to příjemce dokázal rozpoznat. Z tohoto důvodu bylo potřeba najít prostředek, který by umožnil ověřit, že elektronický dokument skutečně podepsala daná osoba a že v dokumentu nedošlo k žádným dodatečným změnám. Řešení nabídla technologie digitálního podpisu, která využívá výhod asymetrické kryptografie.

Technologie digitálního podpisu

Abychom pochopili princip digitálního podpisu, musíme nyní krátce odbočit a povědět si něco o šifrování dokumentů, které s digitálním podpisem úzce souvisí. Šifrování zpráv se používá již velmi dlouho a jeho cílem je zabránit odposlouchávání zpráv na jejich cestě od odesilatele k příjemci. S nějakou jednodušší šifrou se zřejmě potkal každý: pomocí nějakého klíče zprávu zakódujeme (například nahradíme písmena jinými symboly), odešleme ji, a příjemce ji pomocí stejného klíče dekóduje do původní čitelné podoby. Toto takzvané symetrické šifrování je sice velmi jednoduché a rychlé, ale má jednu obrovskou nevýhodu – je nutné nějakým bezpečným způsobem předat příjemci šifrovací klíč. Proto byla vyvinuta asymetrická šifra, která využívá dvojice klíčů. Tyto klíče jsou zvoleny tak, že zprávu zakódovanou jedním klíčem je možné dekódovat pouze druhým klíčem z dvojice, a naopak. Jeden klíč se nazývá soukromý klíč a zná jej pouze příjemce zprávy. Druhý, veřejný klíč, potom předá odesílateli. Odesílatel pomocí veřejného klíče zprávu zašifruje a pošle ji příjemci, který ji pomocí svého soukromého klíče dešifruje. Protože zprávu zašifrovanou veřejným klíčem není možné tímtéž klíčem dešifrovat, můžeme veřejný klíč předat odesílateli nechráněným kanálem nebo jej prostě přímo zveřejnit (jak ostatně vyplývá z jeho názvu).

Jak už jsme řekli, existuje i opačný postup: zprávu, kterou zašifrujeme pomocí soukromého klíče, je možné dešifrovat klíčem veřejným. Toto použití ovšem nedává na první pohled žádný smysl. K čemu je nám taková šifra, když si zprávu může každý rozšifrovat pomocí veřejného klíče? A tím jsme se dostali zpátky k digitálnímu podpisu. Pokud totiž dokážeme zprávu dešifrovat, nemohl ji zašifrovat nikdo jiný, než vlastník soukromého klíče. Zjednodušeně můžeme říci, že pro podepsání stačí k elektronickému dokumentu připojit tentýž dokument zašifrovaný soukromým klíčem. Pro ověření potom stačí zašifrovanou část dešifrovat pomocí veřejného klíče a porovnat s nešifrovanou zprávou. Pokud se obě zprávy shodují, prokázali jsme, že zprávu zašifroval majitel soukromého klíče. Protože je prakticky nemožné z jednoho klíče odvodit druhý párový klíč, není možné takovýto podpis zfalšovat. Zároveň máme důkaz, že dokument nebyl nijak pozměněn, v opačném případě by totiž původní zpráva nebyla shodná s dešifrovanou.

Pro úplnost je třeba dodat, že asymetrické šifrování je výpočetně náročné a proto by šifrování delších zpráv trvalo neúnosně dlouho. Navíc připojením celé šifrované zprávy bychom zbytečně zvětšovali datový objem původní zprávy. Proto se v praxi nešifruje celá zpráva, ale pouze její tzv. otisk. Otisk můžeme chápat jako jakési „zhuštění“ původní zprávy do malého objemu pomocí matematické funkce, která je zvolena tak, že při jakékoliv změně v původní zprávě dostaneme zcela odlišný otisk. Na výše popsaném principu to ovšem nic nemění, pouze místo celé zprávy kontrolujeme shodnost dešifrovaného otisku a otisku vytvořeného z původní nešifrované zprávy. Z uvedeného popisu vyplývá jedna zajímavost: zatímco vlastnoruční podpis je pokaždé alespoň přibližně stejný, digitální podpis bude pro každou zprávu naprosto odlišný.

Aby byl digitální podpis opravdu důvěryhodný, musíme ještě prokázat, že veřejný klíč, pomocí kterého byl podpis vytvořen, skutečně patří podepisující osobě. K tomu slouží takzvaný certifikát, což je vlastně dokument vydaný třetí důvěryhodnou stranou, která stvrzuje, že podepisující osoba je vlastníkem daného páru klíčů. Tento certifikát je potom připojen k vlastnímu podpisu. Protože problematika certifikátů je poměrně rozsáhlá, bude jí věnován samostatný článek.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Předchozí článek gvp.czweb.org
Štítky: Články

Mohlo by vás také zajímat

Nejnovější

5 komentářů

  1. ps

    Úno 11, 2010 v 15:17

    Přehledné a srozumitelné.
    Jen nevím, proč sem musím vkládat email, abych to mohl pochválit.

    Odpovědět
  2. Miroslav Kučera

    Úno 11, 2010 v 16:19

    Rozhodně to nemá za účel sbírat informace o těch, co přidávají komentáře, ale máte pravdu, že by to tady být nemuselo :-) Dočasně jsem tuto tuto podmínku anuloval a uvidíme, zdali se tu náhodou nezačne objevovat větší množství spamu.

    Odpovědět
  3. Hana Flegelová

    Bře 13, 2011 v 22:34

    Mohla bych prosím dostat kontakt na autora článků, pana Doležala? Chtěla bych použít texty o digitálních certifikátech v pracovním manuálu, chtěla bych jej požádat o svolení. Děkuji.

    Odpovědět
    • Petr

      Bře 2, 2016 v 13:29

      Mohla bych prosím dostat kontakt na autora článků, pana Doležala? Chtěla bych použít texty o digitálních certifikátech v pracovním manuálu, chtěla bych jej požádat o svolení. Děkuji. Bohužel není možno

      Odpovědět
      • Dušan Doležal

        Bře 10, 2016 v 11:05

        Dobrý den, pokud vám stačí svolení touto formou tak já osobně nemám s použitím článku žádný problém. Zkoušel jsem vám psát na emailovou adresu, která mi přišla emailem, ale vrací se mi to jako nedoručitelné.

        Odpovědět

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *