Elektronický podpis v on-line světě
O elektronickém podpisu se dnes nejčastěji mluví v souvislosti s podáváním daňového přiznání, případně s obecnějším uzavíráním smluvních vztahů elektronickou cestou. Neméně důležitý ale bude elektronický podpis i pro mezilidskou komunikaci v on-line světě i pro zpřístupňování informací, zejména na WWW serverech.
Nejdůležitější služby dnešního "on-line světa", kterými určitě jsou elektronická pošta a World Wide Web, velmi trpí snadnou možností zmanipulování svých významných atributů. Například u elektronické pošty je velmi jednoduché změnit hlavičky zprávy tak, aby tato vypadala stejně jako kdyby ji odeslal někdo úplně jiný. Praktický důsledek je evidentní - když vám přijde nějaká zpráva emailem, nemáte dostatečnou jistotu, že je skutečně "pravá". Podobně je tomu v případě web-u, resp. obsahu WWW stránek - co brání komukoli, aby vytvořil nějaký obsah a podepsal se pod něj jménem někoho úplně jiného? Nebrání mu v tom prakticky nic...
Začneme-li se zamýšlet nad tím, jak zvýšit celkovou "důvěryhodnost" elektronické pošty a webu, pak záhy zjistíme že jedno z možných řešení můžeme škrtnout jako nepoužitelné. Jde o identifikaci "protistrany" podle přenosového kanálu, kterým s námi komunikuje. Pokud by se jednalo o telefon, odpovídalo by to situaci, kdy identitu volajícího odvozujeme od telefonního čísla, ze kterého nám volá - například na mobilních telefonech či na ISDN telefonech se nám u přicházejícího hovoru zobrazí číslo volajícího, a pokud jej máme v adresáři, obvykle se nám vypíše (slovně) i jeho jméno. V případě telefonní sítě, fungující na principu přepojování okruhů (a spravované jedním konkrétním operátorem) je takovéto odvození identity volajícího na základě čísla jeho telefonu relativně spolehlivé - samozřejmě ne absolutně, ale relativní míra věrohodnosti tohoto mechanismu je poměrně vysoká.
Naproti tomu u Internetu, který nepracuje na principu přepojování okruhů ale na principu přepojování paketů, něco podobného nemá smysl. Zde jsou všechna data přenášena nikoli vyhrazenými přenosovými kanály (okruhy), vytvořenými mezi dvěma koncovými body speciálně pro ně, ale jsou přenášena přenosovým kanálem, který je společný (společně sdílený) všemi komunikujícími dvojicemi či skupinami. Z identifikace takovéhoto společného kanálu pak skutečně nelze poznat, kdo je "na druhé straně" (tam jsou svým způsobem všichni). Určitým řešením sice jsou identifikační údaje, připojené ke každému přenášenému bloku dat (konkrétně adresa odesilatele), ale tyto údaje mohou být velmi snadno změněny (zfalšovány). To přitom platí jak pro bloky přenášené na úrovní linkové vrstvy (tzv. rámce) či síťové vrstvy (tzv. pakety), tak i pro bloky přenášené na úrovni aplikační vrstvy - například pro celé emailové zprávy či WWW stránky. Jak jsme si již naznačili výše, i zde je možné příslušné údaje velmi snadno změnit, neboli zfalšovat.
Odpadá-li možnost identifikovat protistranu podle komunikačního kanálu, skrze který s námi komunikuje, nabízí se možnost jiná: odvozovat identitu protistrany z vhodného identifikujícího údaje, který nám v rámci komunikace sama pošle. Pak je totiž zcela jedno, jakým kanálem se tak děje a záleží zde pouze na důvěryhodnosti onoho "identifikujícího údaje". Jak jistě tušíte, takovýmto údajem bude elektronický podpis, připojený ke zprávě či jinému informačnímu obsahu (např. WWW stránce).
Jaké jsou požadavky?
Zdůrazněme si hned na začátku, že použití elektronického podpisu nesleduje jeden velmi často uvažovaný cíl, kterým je utajení - nejčastěji utajení obsahu přenášené zprávy, tak aby se nedostal do nepovolaných rukou. Techniky, na kterých je dnes elektronický podpis založen (techniky asymetrického šifrování) si s utajením dokáží poradit, ale sám elektronický podpis možnost utajení nenabízí (a ani o to neusiluje).
Cíle elektronického podpisu jsou jiné, a je velmi důležité si je podrobněji rozebrat. Učiňme tak na významném příkladu elektronické pošty a zabývejme se tím, čeho je potřeba dosáhnout, aby elektronická pošta byla dostatečně důvěryhodným mechanismem mezilidské komunikace:
- z přijaté zprávy musí jednoznačně vyplývat, od koho pochází, resp. kdo je jejím autorem. Možnosti takovéhoto zjištění se říká IDENTIFIKACE.
- údaj o autorovi, který z přijaté zprávy vyplývá (v rámci identifikace), musí být dostatečně věrohodný - v tom smyslu, že je nutné mít možnost jej ověřit. Konkrétně: uvádí-li hlavičky že autorem zprávy je pan Jan Novák, musí být možné ověřit, že je to pravda (že autorem skutečně je pan Novák uvedený v hlavičce). Takovéto možnosti se říká AUTENTIKACE, a ve většině případů "splývá" s IDENTIFIKACÍ (do jediného věrohodného zjištění autora zprávy).
- příjemce zprávy chce mít jistotu nejen ohledně toho, kdo je autorem konkrétní zprávy, ale chce mít jistotu i o jejím obsahu. Konkrétně chce mít jistotu, že zpráva nebyla od svého odeslání (přesněji: od svého podpisu, viz dále) jakkoli změněna. Jde o zajištění tzv. INTEGRITY zprávy (ve smyslu: neporušenosti), a to nikoli v tom smyslu, že by ke změně obsahu zprávy nemohlo dojít - zde jde pouze o to, aby příjemce dokázal rozpoznat, zda zpráva byla pozměněna nebo nikoli (pokud byla pozměněna, není cílem zjistit jaká byla původní podoba zprávy, ale pouze varovat příjemce že obsah byl změněn).
- příjemce zprávy chce mít jistotu, že ten kdo je jejím autorem (určeným pomocí IDENTIFIKACE a ověřený díky možnosti AUTENTIKACE) později nepopře své autorství příslušné zprávy. Zde se jedná o tzv. NEPOPIRATELNOST, a i tu lze zajistit pomocí elektronického podpisu.
Elektronický podpis přitom nabízí všechny právě vyjmenované možnosti (identifikaci, autentikaci, integritu i nepopiratelnost). Pokud tedy dostanete od někoho zprávu opatřenou elektronickým podpisem, můžete si být jisti kdo je jejím autorem, můžete si být jisti že obsah zprávy nebyl od okamžiku jejího podepsání změněn, a kromě toho máte jistotu že autor zprávy nebude moci v budoucnu popřít, že zprávu podepsal právě on a nikdo jiný. Jediné, co vám elektronický podpis pod nějakou zprávou nezajistí, je utajení jejího obsahu, neboli to že si obsah zprávy nebude moci přečíst kdokoli třetí. Zopakujme si ale znovu to, co jsme si řekli již v úvodu: utajení nebylo a není cílem elektronického podpisu jako takového.
Velmi důležitým aspektem elektronického podpisu je také to, že jeho ověření (tj. ověření autenticity, integrity atd.) si může realizovat příjemce sám, aniž by k tomu potřeboval bezprostřední součinnost nějaké třetí strany - nemusí se obracet na žádného "ověřovatele informací" či "elektronického notáře", a samozřejmě ani nemusí za žádné konkrétní ověření elektronického podpisu cokoli platit. Ve skutečnosti takovéto ověření (zjištění identity, ověření autenticity a integrity atd.) dokáží uživateli zajistit příslušné programy. V námi zvoleném případě přijaté elektronické zprávy vše zkontroluje přímo poštovní program (např. MS Outlook či podobný) a uživateli sám řekne, zda je "vše v pořádku" či nikoli.
Jak to v praxi funguje?
Jediné, k čemu je zapotřebí přímá součinnost třetích stran, navíc dostatečně důvěryhodných, je jednorázové vystavení "dokladů" používaných při práci s elektronickými podpisy. Jde o tzv. certifikáty, které vydávají subjekty označované jako certifikační autority. O vydání certifikátu požádá certifikační autoritu ten, kdo chce začít něco elektronicky podepisovat. Jakmile tak jednou učiní a certifikát získá, může následně s jeho pomocí vytvářet své elektronické podpisy, neboli podepisovat své emailové zprávy elektronicky, bez omezení počtu vytvořených podpisů (ale jen po celou dobu platnosti certifikátu, která je vždy nějak omezena, např. na rok). Díky zabudování potřebných mechanismů do poštovních programů typu Outlooku je přitom samotné podepisování elektronickým podpisem doslova triviální záležitostí, redukující se na zmáčknutí jediné ikonky ("elektronicky podepiš").
Pro příjemce je práce s elektronickým podpisem v zásadě stejně jednoduchá jako pro podepisujícího se odesilatele. Jemu se elektronicky podepsaná zpráva zobrazí úplně stejně jako běžná zpráva (bez elektronického podpisu), pouze s nastaveným příznakem o tom, zda elektronický podpis je či není "v pořádku". Jediné, co musí příjemce učinit, a to opět v zásadě jednorázově, je rozhodnout zda bude důvěřovat certifikátu autora zprávy (tj. certifikátu, který autor zprávy využil při vytváření svého podpisu). Takovýto certifikát je typicky zasílán spolu s vlastní zprávou opatřenou elektronickým podpisem, a příjemce má na výběr dvě základní možnosti: buďto svému klientskému poštovnímu programu jednorázově řekne, že má důvěřovat danému konkrétnímu certifikátu (tj. certifikátu konkrétního autora), nebo mu řekne že má důvěřovat obecně všem certifikátům které vydala určitá konkrétní certifikační autorita (důvěryhodná třetí strana). Pokud má příjemce o nějakém certifikátu jakékoli pochybnosti, má samozřejmě vždy možnost ověřit si jeho platnost u toho, kdo jej vydal.
Elektronický podpis a WWW stránky
Význam elektronického podpisu a jeho použití jsme si až dosud popisovali na příkladu elektronické pošty. V případě WWW stránek je situace principiálně velmi podobná - i zde je elektronicky podepsán obsah příslušné stránky a k ní je obvykle přiložen i příslušný certifikát. Když se pak nějaký uživatel Internetu dostane na tuto stránku a načte ji do svého browseru, ten ověří pravost podpisu a dá uživateli najevo, zda je vše v pořádku - opět jde o to, kdo je autorem stránky (identifikace a autentikace), i to zda obsah stránky nebyl od svého podpisu změněn (integrita). Kromě toho i zde samozřejmě platí nepopiratelnost, tj. autor podpisu nemůže své autorství stránky popřít.
V roli ilustrativního příkladu si můžeme uvést následující situaci: firma chce na svých WWW stránkách vystavit svůj účetní audit. Pokud je takto "vyvěšený" audit opatřen elektronickým podpisem představitele příslušného auditora, může si každý návštěvník stránky sám ověřit, že jde skutečně o "pravý" audit (pocházející od příslušného auditora, díky identifikaci a autentikaci), i že jeho obsah včetně finálního verdiktu nebyl změněn (díky integritě). Kromě toho příslušný auditor nebude moci popřít, že audit provedl právě on, protože díky nepopiratelnosti jej nemohl podepsat nikdo jiný.
Se svolením autora převzato ze serveru J. Peterka: Archiv článků, přednášek a tutoriálů [4]