Vyšlo na www.mediaserver.cz dne 5. srpna 1997
Vytištěno z adresy: http://www.earchiv.cz/axxxk160/a708k160.php3

Digital Signature

Digital signature - digitální podpis. Společné označení pro techniky, představující elektronickou analogii vlastnoručního podpisu na tištěném dokumentu - umožňují ověřit autenticitu a integritu určitého objektu (zprávy, dokumentu, appletu apod.), a zajišťují také nemožnost pozdějšího popření autorství. Řeší se nejčastěji s pomocí technik na bázi asymetrické kryptografie (tj. na bázi veřejných a privátních klíčů), obvykle v kombinaci s dalšími technikami, zejména s tzv. hašováním. Využívá se nejen pro elektronickou korespondenci, ale obecně pro všechny zabezpečené transakce (secure transactions), a v neposlední řadě i pro potřeby stahování programových modulů ze sítě (mj. jako ochrana proti virům).

V báječném světě počítačů a počítačových komunikací se lze setkat s mnoha různými formami podpisů - například se jménem autora u článku, který je publikován prostřednictvím služby WWW. Nebo u zpráv elektronické pošty je možné považovat za formu podpisu i údaj o odesilateli, obsažený v hlavičce zprávy. Jiným příkladem podpisu pak mohou být podrobnější informace o autorovi zprávy, nacházející se na jejím samotném konci, a mnohdy generované automaticky, z předem připraveného vzoru (obvykle obsahující základní údaje typu poštovní adresy, telefonického spojení, profese autora apod). Všechny takovéto podpisy si zaslouží přívlastek "elektronické", protože skutečně mají elektronickou formu, ale jejich význam je dosti odlišný od toho, který je běžně přisuzován "klasickému" vlastnoručnímu podpisu na tištěném dokumentu.

Podpis vlastní rukou na tištěném dokumentu má především "ověřovací" smysl - autor podpisu jím vyjadřuje autenticitu samotného dokumentu, stvrzuje že "je skutečně tím, co měl na mysli", a současně potvrzuje své autorství. Míra věrohodnosti takovéhoto "ověření" je založena na obtížnosti napodobení individuálního lidského rukopisu, a může být uměle zvýšena speciálními postupy, například notářským ověřením podpisu. Naproti tomu výše naznačené "elektronické" podpisy typu automaticky generovaných dovětků na konci zpráv elektronické pošty slouží především k informování - v daném případě o tom, kdo je autorem zprávy, co je zač a jak ho lze kontaktovat - s tím že míra věrohodnosti takovýchto informací je velmi nízká. Na konec své zprávy (jako elektronický podpis) si totiž každý může napsat v zásadě cokoli, a stejně tak je velmi jednoduché zfalšovat i údaje o odesilateli, které obsahuje hlavička zprávy.

Skutečnou analogii vlastnoručního podpisu na tištěném dokumentu představují až takové techniky, které pro nejrůznější objekty (například zprávy elektronické pošty, ale také např. applety) dokáží zajistit:

  • autenticitu, neboli záruku že autorem je skutečně ten, kdo se za autora vydává,
  • integritu, neboli záruku že objekt je přesně takový, jaký jej vytvořil jeho autor (a nikdo jej nemohl pozměnit)
  • nemožnost popření, neboli záruku že autor objektu nebude moci jeho autorství popřít.
Současně s tím by takovéto mechanismy měly být i dostatečně efektivní - jejich oprávněné použití (zejména "ověřování pravosti") by mělo být snadné, a naopak případné zfalšování neúnosně těžké, tak aby se potenciálním padělatelům nevyplatilo.

Pro takto chápané zabezpečení elektronických dokumentů se ujalo označení digital signature, neboli digitální podpis. Pozor tedy na správné odlišení od "elektronických podpisů" typu automatických vkládaných podpisů na konci zpráv elektronické pošty, které jsou skutečně o něčem úplně jiném.

Pro správné pochopení "digitálních podpisů" jako zabezpečovacích a ověřovacích mechanismů je vhodné si uvědomit, že nemusí vůbec sledovat požadavek utajení - například u zpráv, posílaných prostřednictvím elektronické pošty do různých konferencí a diskusních skupin, by jistě nemělo smysl jejich obsah utajovat (ale má smysl postarat se o to, aby příspěvek mým jménem nemohl poslat někdo jiný, resp. aby bylo možné případný pokus rozpoznat a dokázat, že jde o podvrh). Dalším zajímavým aspektem je skutečnost, že potřeba "digitálního podepsání" se netýká pouze běžné korespondence typu elektronické pošty či distribuce nejrůznějších dokumentů v elektronické podobě. Týká se celé oblasti tzv. bezpečných transakcí (včetně např. elektronického bankovnictví), a vzhledem k očekávanému vývoji počítačových sítí se bude čím dál tím více týkat i nejrůznějšího "stahování" programů a programových modulů ze sítě, na základě jejich momentální potřeby. S takovýmto způsobem fungování je totiž spojeno dosti velké nebezpečí zanesení virů, trojských koňů a jiných nežádoucích forem infiltrací, a právě "digitální podepisování" je způsobem, jak se takovémuto nebezpečí bránit - příslušné moduly, například Javovské applety, moduly ActiveX apod. se opatří nezfalšovatelným a snadno ověřitelným podpisem svých autorů. Příjemce takovýchto modulů, tedy například uživatel browseru stahujícího určitý applet, pak bude moci posuzovat jeho neškodnost a důvěryhodnost podle důvěryhodnosti zdroje appletu - protože bude mít dostatečnou záruku, že skutečně pochází z uvedeného zdroje, a že nebyl "po cestě" jakkoli změněn.

Zajímavé jsou i konkrétní možnosti, jak dosáhnout potřebného "digitálního podepsání". Techniky na bázi jediného tajného klíče (označované též jako symetrické, viz minulé vydání této rubriky) se k tomuto účelu moc nehodí - tajný klíč zde musí znát i příjemce, a tak pro něj není příliš těžké pozměnit zprávu, kterou mu druhý majitel tajného klíče poslal, nebo zfalšovat zprávu úplně novou, kterou mu ve skutečnosti nikdo nikdy neposlal. Určitou možností je využití "důvěryhodného zprostředkovatele", kterému budou všichni věřit, svěří mu druhý exemplář svého tajného klíče, a všechny své zprávy budou posílat přes něj. V praxi je ale nalezení někoho takového, kdo bude vyhovovat každému, dosti problematické.

Šikovnější je použití kryptografických technik na principu veřejných a privátních klíčů (tedy tzv. asymetrická kryptografie). Jak jsme si již popisovali minule, autor může zašifrovat dokument svým privátním klíčem - ten pak půjde "odemknout" komukoli, prostřednictvím autorova veřejného klíče, ale vzhledem k charakteru privátního klíče bude zaručeno, že autorem je skutečně vlastník příslušného privátního klíče, a že zašifrovanou zprávu nikdo nepozměnil. Problémy zde jsou spíše praktické - jak to udělat, aby nemusela být tímto způsobem šifrována celá zpráva, případně celý elektronický dokument (když, jak už také víme, použití technik na bázi veřejných klíčů je značně výpočetně náročné).

V praxi se proto řešení na bázi veřejných klíčů kombinuje ještě s jednou další kryptografickou technikou, kterou je tzv. hašování (hashing). Jde ve své podstatě o jednosměrnou (tj. nevratnou) transformaci zdrojového textu na údaj konstantní velikosti, přičemž k této transformaci neexistuje možnost inverze (tj. transformace není vratná). Při hodně velkém zjednodušení si lze představit analogii s kontrolním součtem (byť ve skutečnosti na mnohem komplikovanějším principu): ze zdrojového textu se vypočítá "kontrolní součet" (zde označovaný jako tzv. message digest), způsobem který je plně zveřejněn, ale který neumožňuje získat z výsledku zpětně původní zprávu. Důležité je právě ono plné zveřejnění hašovacího algoritmu (způsobu výpočtu "kontrolního součtu") - tento postup zná a může aplikovat jak odesilatel, tak i příjemce. Odesilatel tak učiní, tj. aplikuje hašovací algoritmus na celou zprávu, dostane poměrně "malý" výsledek (měřeno v počtu bytů) pevně dané velikosti (tzv. message digest), a ten pak zašifruje svým privátním klíčem. Takto získaný zabezpečovací údaj připojí k původní zprávě (v jejím zdrojovém, tj. nezašifrovaném tvaru), a vše odešle. Příjemce aplikuje stejný hašovací algoritmus na zdrojový tvar přijaté zprávy, a zapamatuje si získaný výsledek (message digest). Poté dekóduje přijatý zabezpečovací údaj, pomocí veřejného klíče odesilatele, a tím získá message digest vypočítaný odesilatelem. Pak oba výsledky porovná, a pokud se shodují, je digitální podpis ověřen.


Další zdroje informací:
Velmi hezké a srozumitelné tutoriály o problematice digitálních podpisů lze nalézt zde a zde. První přehled nabízí i tento článek z časopisu PC Magazine.
Dokument FAQ věnovaný problematice digitálních podpisů lze nalézt zde, V USA byl vyvinut "oficiální" standard pro digitální podpisy (DSS, Digital Signature Standard), jeho domovskou stránku lze najít zde. Problematikou digitálních podpisů se zabývá i konsorcium W3C.