![]() Specializovaný týdeník o výpočetní technice |
|
![]() |
Seriál o bezpečnosti a informačním soukromí |
Část 34 - CW 47/97
Elektronický podpisPetr Hanáček
Konverze informačního systému s papírovými dokumenty na informační systém počítačový s sebou přináší také konverzi papírových dokumentů na elektronické. Při této konverzi ztrácí dokument jednu z důležitých vlastností - možnost být podepsán člověkem, který je za obsah tohoto dokumentu zodpovědný. Proto hledáme elektronický ekvivalent manuálního podpisu, jenž nám poskytne požadované vlastnosti. Tento ekvivalent se nazývá elektronický podpis, nebo někdy také digitální podpis.
Kryptografie a elektronický podpis Proces podepsání zprávy (dokumentu) elektronickým podpisem typicky probíhá následovně: Nejdříve se vytvoří kontrolní součet zprávy (haš), který je vlastně charakteristikou zprávy. Tento haš se spočte vhodnou, kryptograficky bezpečnou, jednocestnou hašovací funkcí. Poté se zašifruje asymetrickým šifrovacím algoritmem pomocí soukromého klíče odesílatele a tím se získá elektronický podpis zprávy, který se připojí ke zprávě. Kdokoli, kdo zná odpovídající veřejný klíč odesílatele, si může ověřit platnost elektronického podpisu dešifrováním veřejným klíčem. Pokud je elektronický podpis v pořádku, příjemce má jistotu, že zpráva byla podepsána vlastníkem soukromého klíče a že po podepsání nebyla modifikována. Pro elektronický podpis se používají asymetrické kryptografické algoritmy (tj. algoritmy s veřejným klíčem). Důvodem je požadavek na efektivní implementaci autenticity, kterou lze symetrickými kryptografickými algoritmy splnit jen velmi obtížně. Nejvíce se používají algoritmy RSA (Rivest Shamir Adleman), DSS (Digital Signature Standard) a algoritmy založené na eliptických křivkách EC (Eliptic Curves). Jako hašovací funkce se v případě algoritmu RSA používá obvykle funkce MD5, v případě algoritmu DSS se používá SHA. Příjemce navíc může předložit nezávislé třetí straně zprávu, její elektronický podpis a nepadělatelný doklad o platnosti veřejného klíče odesílatele jako důkaz o tom, že odesílatel tuto zprávu odeslal a odesílatel tuto skutečnost nemůže popřít. Tato vlastnost se nazývá nepopiratelnost původu. Elektronický podpis na druhé straně nezajišťuje důvěrnost (utajení) zprávy. Pokud si odesílatel přeje zprávu při přenosu utajit, musí ji ještě navíc zašifrovat některým jiným šifrovacím algoritmem, případně pro její přenos použít implicitně důvěrný přenosový kanál (např. v Internetu využitím vlastností virtuálních privátních sítí na bázi protokolu IPv6). Proces elektronického podpisu má tři fáze. V první fázi si odesílatel zprávy vygeneruje svůj veřejný klíč VK a soukromý klíč SK (obr. 1). Svůj soukromý klíč si bezpečně uschová a chrání jej proti prozrazení. Svůj veřejný klíč si zaregistruje u potenciálního příjemce. Při registraci veřejného klíče odesílatel manuálně podepíše Prohlášení o registraci veřejného klíče, který obsahuje text prohlášení, registrovaný veřejný klíč a dobu jeho platnosti. Druhou fází je podepsání dokumentu odesílatelem (obr. 2). V této fázi odesílatel vytvoří dokument a podepíše jej svým soukromým klíčem SK. Tento podepsaný dokument odešle příjemci. Třetí fází je ověření elektronického podpisu příjemcem, které se provádí pomocí veřejného klíče odesílatele VK. Pokud je ověření elektronického podpisu úspěšné, příjemce má jistotu, že: -- zprávu mohl podepsat pouze ten, kdo zná k veřejnému klíči VK odpovídající soukromý klíč SK (tedy pouze odesílatel) a nikdo jiný (autentizace odesílatele); -- zpráva nebyla během přenosu ani během archivace modifikována (integrita zprávy); -- odesílatel nemůže později popřít vytvoření této zprávy (nepopiratelnost původu);
Aplikace elektronického podpisu Jelikož elektronický podpis zajišťuje jak identitu autora, tak i integritu podepsané zprávy, může být použit v nejrůznějších aplikacích. Může být použit například v systému elektronické pošty. Elektronický podpis může být také použit v systémech pro elektronické provádění plateb (EFT, Electronic Fund Transfer). Předpokládejme, že v systému EFT je vytvořena zpráva, která má provést převod 1000,- Kč z jednoho účtu na druhý. Pokud je tato zpráva zaslána přes nechráněnou datovou síť, může být útočníkem změněna tak, aby převáděná částka byla 10 000,- Kč. Pokud je však zpráva před odesláním podepsána elektronickým podpisem, příjemce bezpečně pozná, že zpráva byla modifikována a odmítne její zpracování. Elektronický podpis může být také zabudován do velkého množství obchodních aplikací, které požadují elektronickou náhradu manuálního podpisu. Jedním z příkladů je elektronická výměna dat (EDI, Electronic Data Interchange). EDI je systém výměny elektronických informací mezi počítači, ve kterém přenášené informace představují obchodní dokumenty (doklady). EDI lze použít například pro bezhotovostní platební styk nebo pro elektronický styk s finančním ústavem. Při přenosu dokladu pomocí EDI je elektronický podpis využíván jako přímá náhrada manuálního podpisu přenášených dokladů. Uveďme příklad uzavření kontraktu mezi státní správou a dodavatelem. Orgán státní správy vytvoří poptávkový dokument, podepsaný elektronickým podpisem, jehož ověřením si potenciální dodavatel ověří věrohodnost dokumentu. Sám potom vytvoří svou nabídku a také ji opatří elektronickým podpisem. Jakmile orgán státní správy přijme nabídku, provede stejným způsobem její ověření. Je-li nabídka přijata, orgán státní správy s dodavatelem sjedná smlouvu, která je oběma účastníky podepsána elektronickým podpisem a archivována. Pokud by později došlo ke sporu, obsah smlouvy a elektronické podpisy mohou být prověřeny nezávislou třetí stranou (například soudem). Elektronický podpis může být také užitečný při distribuci programového vybavení (software). Software může být po schválení pro distribuci podepsáno elektronickým podpisem. Před instalací software na počítači může být elektronický podpis zkontrolován, aby se zajistilo, že se softwarem nebyla provedena žádná změna (jako je například infekce virem nebo úmyslná modifikace). Elektronický podpis může být později periodicky kontrolován a tím se zajistí, že ani později během činnosti nebyl software modifikován. V databázových aplikacích je často velmi důležitá integrita informací a jednou z možností jejího zajištění může být také elektronický podpis. Dokument může být například podepsán před jeho vložením do databáze. Při jeho pozdějším vyhledání je elektronický podpis zkontrolován. Je-li správný, uživatel má jistotu, že dokument nebyl modifikován ani podvržen neautorizovaným subjektem. Systém také může ukládat podpisy do auditního záznamu, čímž se získá přehled o uživatelích, kteří informaci v databázi modifikovali.
Správa veřejných klíčů Dalším základním problémem, který se objeví při použití elektronického podpisu, je otázka autenticity veřejných klíčů. V okamžiku ověřování elektronického podpisu si musí být ověřovatel jistý, že veřejný klíč, který používá k ověřování daného podpisu, náleží autorovi zprávy, tzn. potřebuje spolehlivou vazbu mezi klíčem a jménem. Registrace veřejného klíče, popsaná v předcházejících odstavcích, je použitelná pouze v prostředí, kde je poměrně malý počet uživatelů, kteří se mohou snadno osobně setkat. V praxi ale chtějí elektronický podpis používat komunity obsahující velký počet uživatelů, kteří se ani nikdy nemuseli osobně setkat. Zde by tento způsob registrace ( vyžadující předchozí osobní setkání odesílatele a příjemce) byl nepoužitelný. Složitost tohoto problému může být zmenšena certifikací veřejných klíčů prostřednictvím někoho jiného, komu jak odesílatel, tak příjemce důvěřují. Tento prostředník, takzvaná certifikační autorita (CA), elektronicky podepíše veřejný klíč uživatele a jeho jméno (a také další údaje, jako například dobu platnosti) svým vlastním soukromým klíčem. Tyto údaje, podepsané certifikační autoritou, se nazývají certifikát. Tento certifikát může být ověřen veřejným klíčem certifikační autority; oba partneři musí klíč znát a mít v něj důvěru. Veřejný klíč certifikační autority musí být distribuován vhodným bezpečným kanálem. Ve velkých skupinách (doménách) uživatelů zahrnujících třeba milióny partnerů, však nestačí jediná společná certifikační autorita. Veřejné klíče certifikačních autorit mohou být opět certifikovány jinými certifikačními autoritami. Je možné představit si stromové (hierachické) struktury certifikačních autorit nebo síťové struktury, v nichž se jednotlivé autority, náležící do různých stromů (hierarchií, domén), navzájem křížově certifikují, což vytváří cesty certifikace nebo řetězce důvěry mezi jednotlivými partnery. Tento řetěz však nemůže být nekonečný a veřejný klíč poslední autority potom zůstává necertifikovaný. To je kořenový veřejný klíč a uživateli nezbývá, než mu věřit. Autenticita tohoto klíče musí být zajištěna nějakým jiným způsobem. Klíč může být zveřejněn, například v čitelné podobě, a daný software může uživateli umožňovat porovnání s klíčem uloženým v počítači. Pro úspěšnou implementaci elektronického podpisu je však třeba zvládnout i některé systémové, organizační a právní otázky. Například může být nezbytné zajišťovat centrální registraci veřejných klíčů uživatelů. Zde musí být vzaty v úvahu právní náležitosti, jako například zodpovědnost certifikační autority, přijímání elektronicky podepsaných dokumentů orgány státní správy a důkazní síla elektronického podpisu u soudu. V konkrétní aplikaci je rovněž třeba vyřešit některé technické detaily, jako například mechanismy generování a distribuce certifikátů a mechanismy rušení jejich platnosti.
Akceptování elektronického podpisu ve světě Ve státní správě mnoha zemí je elektronický podpis běžně používán. Uvedeme zde pouze několik příkladů z USA. Všechny federální orgány USA (včetně orgánů ministerstva obrany) mohou používat elektronický podpis (implementovaný na základě standardů DSS a SHA) pro podepisování neklasifikovaných informací. Ministerstvo obrany ve vybraných aplikacích používá DSS i pro podepisování klasifikovaných dat. Ústřední účetní úřad (GAO) vydal rozhodnutí, že elektronický podpis může být použit pro vytváření platných hospodářských smluv a závazků. Tento úřad rovněž rozhodl, že dokumenty, vytvářené v systémech EDI (Electronic Data Interchange), které jsou podepsány pomocí DSS, budou chápány jako platné důkazní materiály. Zvláštní výjimkou mezi státy USA je stát Utah, který v roce 1995 přijal zákon o používání elektronického podpisu, nazvaný Digital Signature Act. Tím se stát Utah stal prvním státem na světě, který má ve svém právním řádu uzákoněna pravidla pro používání elektronického podpisu. Podobný zákon je už delší dobu připravován v Německu, ale s jeho přípravou jsou jisté problémy. Není jasné, zda podobné zákony budou v dohledné době vznikat i v jiných státech, neboť ve většině zemí s anglosaským právem se soudí, že pro používání elektronického podpisu není zvláštní zákon zapotřebí. (ram)
| COMPUTERWORLD - seriál o bezpečnosti | COMPUTERWORLD | IDG CZ homepage | |