Referaty
Anglictina
Biologie
Chemie
Dejepis-Historie
Diplom-Projekt
Ekonomie
Filozofie
Finance
Fyzika
Informatika
Literatura
Management
Marketing
Medicina
Nemcina
Ostatni
Politika
Pravo
Psychologie
Public-relations
Sociologie
Technologie
Zemepis-Geografie
Zivotopisy

 

Téma, Esej na téma, Referátu, Referát, Referaty Semestrální práce:

Aplikace Internetu - Elektronický podpis – pojem, zákonná úprava v České republice a implementace elektronického podpisu v pr

Semestrální práce z předmětu

Aplikace Internetu - Elektronický podpis – pojem, zákonná úprava v České republice a implementace elektronického podpisu v praxi

Téma č.1

-

  1. Obsah

1.OBSAH1

2.PŘEDMLUVA3

3.BEZPEČNOSTNÍ FUNKCE INFORMAČNÍHO SYSTÉMU A ELEKTRONICKÝ PODPIS4

4.TECHNOLOGICKÁ STRÁNKA ELEKTRONICKÉHO PODPISU - ÚVOD7

4.1.Co je kryptografie?7

4.1.1.Symetrické šifrování7

4.1.2.Asymetrické šifrování9

4.1.3.Hashovací funkce10

4.1.4.Aplikace šifrovacích algoritmů11

5.ELEKTRONICKÝ PODPIS A CERTIFIKAČNÍ AUTORITA13

5.1.Elektronický podpis – General Electronic Signature13

5.2.Zaručený elektronický podpis – Advanced Electronic Signature14

5.3.Zaručený elektronický podpis založený na kvalifikovaném certifikátu - Electronic Signature Using Qualified Certificate16

5.4.Zaručený elektronický podpis založený na kvalifikovaném certifikátu od akreditovaného poskytovatele certifikačních služeb18

5.5.Kvalifikovaný podpis - Qualified Electronic Signature18

5.6.Vylepšený elektronický podpis – Enhanced Electronic Signature19

5.7.Kvalifikovaný podpis určený pro archivaci dat - Qualified Electronic Signature with Long-term Validity19

5.8.Další pojmy19

6.VÝKLAD NĚKTERÝCH ASPEKTŮ ZÁKONA A IDENTIFIKACE SPECIFIK NÁRODNÍ ÚPRAVY21

6.1.Zákon o elektronickém podpisu21

6.2.Vyhláška Úřadu pro ochranu osobních údajů23

6.3.Nařízení vlády č. 304/2001 Sb.24

6.4.Dodatek25

7.IMPLEMENTAČNÍ PROBLEMATIKA A VYUŽITÍ ELEKTRONICKÉHO PODPISU V PRAXI25

7.1.Tvorba elektronického podpisu, získání digitálního certifikátu25

7.1.1.PGP27

7.2.Bezpečná komunikace po nechráněných sítích27

7.2.1.Oblasti využití digitálních certifikátů27

7.2.2.Certifikáty vydávané I.CA28

7.2.3.Použití certifikátu v aplikaci Outlook29

7.2.4.Zálohování certifikátu33

7.2.5.Zabezpečená elektronická pošta33

7.2.6.Odesílání elektronické pošty33

7.2.7.Příjem podepsané pošty33

7.2.8.Odesílání zašifrované pošty33

7.2.9.Příjem zašifrované pošty34

7.2.10.Odesílání certifikátu dalším uživatelům34

7.2.11.Získání certifikátu dalších uživatelů34

7.2.12.Změna statutu důvěryhodnosti digitálního certifikátu34

7.3.Perspektivy elektronického podpisu34

8.ZÁVĚR35

9.PŘÍLOHY36

9.1.Elektronický podpis v daňové správě36

9.1.1.Organizační a legislativní problémy36

9.1.2.Problematika zavedení elektronického podpisu v daňové správě37

9.1.3.Připravované řešení v daňové správě39

9.2.Zákon č.227/2001 Sb. – plné znění42

9.3.Vyhláška ÚOOÚ – znění bez příloh54

10.LITERATURA59

11. ZHODNOCENÍ EXTERNÍ PŘEDNÁŠKY60

  1. Předmluva

Problematika elektronického podpisu patří v současné době v České republice k hojně diskutovaným a medializovaným tématům v souvislosti s přijetím Zákona č. 227/2000 Sb. o elektronickém podpisu a změně některých dalších zákonů. Cílem této seminární práce je přinést objektivní a hlavně pravdivý pohled na problematiku, který bude prost zjednodušení a chyb.

V počátcích tvorby seminární práce stál autor před otázkou, jak široce problematiku elektronického podpisu pojmout – s ohledem na velké množství informací více či méně relevantních tématu. Nakonec však vybral takovou variantu, která maximálně naplňuje cíle, které si seminární práce klade.

Především se autor rozhodl zúžit geografický záběr práce pouze na právní prostředí České republiky. To však neznamená, že koncept elektronického podpisu je chápán izolovaně – naopak, autor se v práci snaží vyzvednout odlišnosti, kterými se naše právní pojetí elektronického podpisu vyznačuje. Seminární práce začíná podrobnou analýzou důvodů, které si vynutily existenci elektronického podpisu – tedy analýzou bezpečnostních funkcí informačního systému podniku (organizace), respektive některých z nich. Následně autor vysvětluje nezbytné technologické aspekty elektronického podpisu – a to zejména aspekty kryptografické. Na základě objasnění problematiky kryptografie definuje pojem elektronický podpis a jeho jednotlivé druhy. Po výkladu některých aspektů Zákona o elektronickém podpisu a prováděcích vyhlášek autor popisuje aspekty implementace elektronického podpisu v organizaci a jeho implementace jednotlivci a přínosy vyplývající z použití elektronického podpisu v praxi. K popisu implementační problematiky použil bohatého informačního materiálu dostupného na stránkách První certifikační autority a.s.

Problematiku elektronického podpisu tedy práce shrnuje asi na 35 stranách textu.

V příloze podává plná znění Zákona, prováděcí vyhlášky a odborný článek zabývající se perspektivami implementace elektronického podpisu v daňové správě.

  1. Bezpečnostní funkce informačního systému a elektronický podpis

Bezpečnostními funkcemi informačního systému organizace rozumíme takové funkce, které naplňují požadavky udržení důvěrnosti, integrity, dostupnosti, autenticity, nepopiratelnosti a konečně spolehlivosti informací a služeb tímto systémem poskytovaných (tedy zejména datové báze), a to na předem nadefinované úrovni. Jednotlivé bezpečnostní funkce jsou zajišťovány dílčími bezpečnostními technikami a technologiemi. Proveďme nyní krátký rozbor výše zmíněných bezpečnostních funkcí informačního systému.

Bezpečnostní funkce
Definice
Důvěrnost (confidentiality)
Důvěrností rozumíme utajení některých skutečností (resp. dat) před neautorizovanými třetími osobami. Narušení této funkce je jednou ze základních hrozeb pro informační systém podniku. Zajištění této funkce potom znamená zajištění přístupu pouze pro autorizované subjekty.
Integrita
(Integrity)
Integritou rozumíme skutečnost, že data mohou být modifikována pouze autorizovanými subjekty. Ztrátou integrity potom rozumíme modifikaci dat subjektem neautorizovaným.
Autentizace
(Autentization)
Autentizací rozumíme ověřitelnost totožnosti subjektu, který vystupuje v jisté transakci.
Nepopiratelnost, neodmítnutelnost
(Non-repudiation)
Nepopiratelnost souvisí se zajištěním požadavku, aby subjekt nemohl v budoucnu popřít jím realizované kroky a snažit se tím zbavit svých vlastních závazků.
Dostupnost
(Availability)
Tato bezpečnostní funkce znamená, že aktiva jsou autorizovaným subjektům k dispozici pouze s minimálním zpožděním.
Vedení evidence
(Auditing)
Monitoring činnosti systému umožňuje odhalit útoky na systém dodatečně, pokud nebyl dostupný mechanismus jejich odhalení v okamžiku útoku.
Spolehlivost
(Reliability)
Spolehlivostí systému rozumíme konzistenci zamýšleného a skutečného stavu celého systému.
Soukromí
(Privacy)
Neodmyslitelnou součástí bezpečnosti každého informačního systému je zajištění soukromí jeho uživatelů, což je do jisté míry v rozporu s naplňováním jednotlivých bezpečnostních funkcí. Proto je vždy nutno při řešení jednotlivých bezpečnostních funkcí nadefinovat, do jaké míry bude poškozeno lidské soukromí.

Nyní se krátce podívejme na metody a techniky, kterými je naplňování jednotlivých bezpečnostních funkcí informačního systému podniku zajištěno. Zkoumáním a následným popisem těchto metod a technik dojdeme k poznání kontextu, ve kterém elektronický podpis vůči bezpečnostním funkcím informačního systému podniku (resp. podniku jako celku) existuje. Metody zajišťující naplnění bezpečnostních funkcí jsou následující:

  • Důvěrnost. Při přenosech dat je základním prostředkem pro zajištění důvěrnosti dat šifrování. K ochraně dat uložených v počítačových systémech se vhodně kombinují metody fyzického a logického zabezpečení. Především se jedná o řízení přístupu uživatelů k datům včetně fyzické bezpečnosti a šifrování uložených dat. Vzhledem k výkonovým vlastnostem šifrovacích algoritmů jsou používány především šifry symetrického typu (DES, RC2, RC4, RC6, Blowfish, Skipjack apod.). Celá řada kryptosystémů je dostupná i formou freewaru na webových stránkách různých vývojářských firem.

  • Integrita. Podobně jako v případě důvěrnosti může být zajištění integrity rozděleno na zajištění jejich integrity při přenosu a při jejich uložení. V případě uložení dat se využívá zejména řízení přístupu uživatelů pomocí hesel, v případě přenosu dat se využívá právě elektronického podpisu (tedy kombinace tzv. hashovací jednocestné funkce - MD5, SHA-1 - a asymetrického šifrovacího algoritmu, jako např. RSA, Diffie-Hellman apod.).

  • Autentizace. Obecně existují tři způsoby realizace autentizace – uživatel buď něco ví (heslo nebo tajný klíč), něco vlastní (magnetická či čipová karta) nebo něčím je (biometrické metody – otisky prstů, sítnice). Pro zajištění bezpečnosti a především v neinteraktivních systémech se využívá opět zejména technologie elektronických podpisů a digitálních certifikátů.

  • Nepopiratelnost. K zajištění nepopiratelnosti se používají elektronické podpisy. Samotný elektronický podpis však ke splnění požadavku nepopiratelnosti nestačí. Aby byla tato vlastnost zajištěna, pak musí mít strana, která ji vyžaduje, k dispozici průkazní materiál (NRI – Non Repudiation Information). NRI se vztahuje k subjektu i ke zprávě, proto je její součástí digitální podpis, který autentizuje jednoznačně původce zprávy i příslušnou zprávu. Vedle struktury se také digitální podpis a NRI liší v době vzniku a době obvyklého použití. Samotný digitální podpis je obvykle kontrolován okamžitě, zatímco u NRI je důležitá možnost kontroly i za několik let. Podstatná je v tomto případě nepopiratelnost původu (původce dat poskytuje NRI spolu s daty a pokud příjemce obdrží data bez NRI, pak musí tato data považovat za nedůvěryhodná a jako taková je odmítnout) a nepopiratelnost přijetí/doručení (zde se vyskytuje problém v případě, že se komunikace účastní pouze dva subjekty – příjemce potom může informaci přijmout, ale může odmítnout zaslat NRI. Bez existence třetí strany je pak možné pouze nevynucené poskytnutí NRI příjemcem zprávy).

  • Dostupnost. Dostupnost služeb a dat souvisí bezprostředně s volbou spolehlivého systému, který navíc umožňuje spolehlivé zálohování jak dat, tak i funkčních částí systému. Pro zajištění této bezpečnostní funkce se používají různé zálohovací utility a zálohovací zařízení.

  • Vedení evidence. Některé systémy (například systémy elektronického obchodu) by měly být schopny uchovávat jisté informace. Otázka doby uložení těchto informací by pak měla vyplývat hlavně ze zákonných norem – například ze zákona o elektronickém podpisu. Tuto bezpečnostní funkci naplňují svou existencí různé protokolovací a archivační nástroje.

  • Spolehlivost dat. Základem pro zajištění spolehlivosti dat je existence důvěryhodných třetích stran (tzv. trusted third party, TTP), které poskytují certifikát, v němž potvrzují platnost a správnost příslušných informací. Otázka však vzniká v případě, jaký druh informací může TTP potvrdit z hlediska správnosti. Bezproblémová je zejména certifikace faktografických údajů, například v rámci certifikátu X.509, kdy certifikát potvrzuje, že vlastníkem daného veřejného klíče je jistá konkrétní osoba.

  • Soukromí a anonymita. Základem pro zajištění anonymity subjektu je použití pseudonymů při vzájemné interakci. Častost používání jistého pseudonymu však musí být regulována, aby nebylo možno rozpoznat identitu uživatele podle naakumulovaných dat. Použití pseudonymů však musí být podpořeno užitím technologií které jejich užití umožňují. Typickým příkladem je systém elektronických plateb DIgiCash e-cash.

Z výše diskutované problematiky bezpečnostních funkcí vyplývá, že elektronický (resp. digitální podpis) nachází uplatnění celkem ve třech oblastech – v případě zajištění integrity, autentizace a nepopiratelnosti dat, obsažených v informačních systémech (popřípadě předávaných druhé osobě).

Nyní, když se nám podařilo zařadit digitální podpis do kontextu informačního systému podniku, věnujme se jeho technické a implementační stránce – tedy šifrovacím algoritmům na straně jedné a certifikačním autoritám, softwarovým prostředkům na straně druhé. Ihned na počátku poznamenejme, že problematiku budeme nejprve zkoumat z obecného hlediska. Teprve postupně přejdeme ke zkoumání problematiky v kontextu zákona 227/2000 Sb., tedy zákona o elektronickém podpisu, jehož stručný výklad provedeme. S jeho využitím a s využitím prováděcí vyhlášky k zákonu o elektronickém nastíníme některé problémy implementace elektronického podpisu.

  1. Technologická stránka elektronického podpisu - úvod

Pro pochopení technologie elektronického podpisu (resp. digitálního podpisu, rozdíl vysvětlen dále) je nezbytné seznámit se se základy technologií šifrování elektronických dat. Následující sekce seminární práce se proto zabývá stručným popisem šifrovacích algoritmů, hashovacích jednocestných funkcí a jejich implementací v softwarových produktech různých firem.

    1. Co je kryptografie?

Kryptografie je věda spočívající ve vývoji metod, s jejichž pomocí jsou šifrovány různé druhy dat (tedy i data elektronická). Spolu s tímto pojmem musíme ještě zavést pojem kryptoanalýza. Účelem kryptoanalýzy je nalézt s využitím matematických metod klíč, jehož aplikací byla data zašifrována. Kryptografie a kryptoanalýza spolu tvoří vědní obor nazývaný kryptologie. V následující sekci se vzhledem k zaměření práce nebudeme věnovat problematice metod útoků na šifrovací klíče – bez jejich znalosti se při vysvětlování problematiky elektronického podpisu snadno obejdeme.

Důvodem šifrování je nutnost přenosu citlivých či tajných dat přes nezabezpečené prostředí. Takovým prostředím může být např. Internet či jiná veřejná datová síť. Typickým příkladem je šifrování e-mailů s důvěrnými informacemi nebo elektronické platby. K elektronickým platbám se používá buď bezpečného kanálu SSL nebo platebního protokolu SET (ve většině případů, systémů zabezpečené elektronické platby je pochopitelně více), k přenosu citlivých informací se rovněž hojně využívá komunikačního kanálu zabezpečeného pomocí vrstvy SSL.

V zásadě rozeznáváme dva základní druhy kryptografických technik - a to šifrování s tajným klíčem (symetrické šifrování) a šifrování s veřejným klíčem (asymetrické šifrování). Oba dva typy šifer jsou v praxi velmi důležité. Šifrování s veřejným klíčem je výpočetně a matematicky náročnější, ale má aspekty, které je staví na speciální nenahraditelnou pozici (dají se totiž využít právě pro tvorbu elektronického podpisu jako takového).

      1. Symetrické šifrování

Symetrické (neboli konvenční) šifrování je založeno na principu jednoho klíče, kterým lze zprávu jak zašifrovat, tak i odšifrovat. Typickým příkladem symetrické šifry je DES (Data Encryption Standard, tedy národní standard, založený na symetrickém algoritmu) vyvinutý v 70. letech v USA a americkou vládou také hojně používaný. Hlavní výhodou symetrických algoritmů je jejich rychlost – jejich aplikace je časově málo náročná. Na druhou stranu je nutné, aby se příjemce i odesílatel dohodli na jednom klíči, který budou znát pouze oni dva (za předpokladu, že chtějí vést zabezpečenou komunikaci). Problémem je tedy distribuce klíče - jak dostat klíč k příjemci aniž jej zachytil někdo nepovolaný? Velkou překážkou, která brání masovému rozšíření symetrické kryptografie je též potřeba vysokého počtu klíčů za předpokladu, že každá dvojice na Internetu chce uskutečňovat bezpečnou komunikaci. V tomto případě je třeba celkem n(n-1)/2 klíčů, což s sebou nese problémy jejich bezpečného uložení a správy (např pro 1000 uživatelů by bylo třeba celkem 499500 klíčů). Proto je využití symetrické kryptografie v bezpečné komunikaci bez jejího propojení s asymetrickou pouze velmi řídké. Široké využití však má symetrická kryptografie v oblasti zajišťování důvěrnosti uložených dat. Pro tyto účely má celá řada SW produktů implementovány asymetrické šifry.

Podívejme se nyní stručně na symetrické algoritmy, kterých se v praxi využívá.

  • V roce 1974 byl firmou IBM vyvinut algoritmus LUCIFER a stal se kandidátem na americký standard šifrování dat. Posléze v roce 1977 byl jako federální standard přijat a pojmenován DES – Data Encryption Standard. Algoritmus je blokový a šifruje 64 bitů otevřeného textu na 64 bitů šifry. Klíč je 64 bitový, ale každý osmý bit je kontrolní, tedy efektivní délka klíče je 56. Kvůli vyšší bezpečnosti byl přijat standard Triple DES (též TDES, 3DES), který jedna data protáhne algoritmem 3x. Potom je efektivní délka klíče 128 bitů. DES je jednou z nejnapadanějších šifer. I z tohoto důvodu bude nahrazen novým standardem AES (Advanced Encryption Standard).

  • Autorem algoritmu Blowfish je B. Schneier, který jej publikoval v roce 1993. Tento algoritmus není patentován a je volně šiřitelný. Jde o velmi rychlý, jednoduchý algoritmus, který je možno efektivně implementovat i na malých procesorech, nebo dokonce čipových kartách. Při pečlivém naprogramování se celý algoritmus včetně všech svých datových struktur vejde do interní cache procesoru i486. Jde o blokovou šifru (šifra je tedy aplikována na jisté bloky dat, nikoli na jednotlivé datové bity) s délkou bloku 64 bitů a klíči dlouhými maximálně 448 bitů. Algoritmus je použitelný ve všech běžných pracovních modech vhodných pro blokové šifry. Míru dosažené bezpečnosti lze regulovat délkou použitého klíče. Rovněž lze omezit počet kol šifrovacího procesu.

  • Vývoj algoritmu CAST reagoval na neutěšenou situaci na poli šifrovacích algoritmů v polovině 90. let. DES měl v té době už svá nejlepší léta za sebou, a ostatní kvalitní šifry byly patentovány a tudíž drahé (např. IDEA, RC2, RC4). Pojmenován je po svých tvůrcích C. Adams a S. Tavares. Na Internetu byl publikován v květnu 1997 jako RFC 2144. CAST se tak stal kanadskou alternativou k americkému algoritmu Blowfish. Oproti Blowfishi měl CAST výhodu, že dostal certifikát kvality od oficiálního kanadského úřadu pro komunikaci CSE (Communication Security Establishment), používá ho Microsoft ve svých produktech a také je začleněn do známého produktu PGP (Pretty Good Privacy, jehož autorem je Phil Zimmerman). CAST umí pracovat s klíči délky 40 až 128 bitů a bloky o 64 bitech. CAST nyní představuje standard, který je velmi rozšířen a akceptován mnoha společnostmi. Akceptuje jak silné, tak slabé klíče a je velmi bezpečný. Prozatím vyplňuje mezeru, než bude vybrán nový šifrovací standard AES, který nahradí DES.

  • Autory algoritmu publikovaného v roce 1991 původně pod názvem IPES byli X. Lai a J. Massey. Současný název je akronymem za International Data Encryption Algorithm. IDEA vznikla jako vylepšená verze svého předchůdce, algoritmu PES poté, co byla publikována metoda jeho zlomení. IDEA začala úspěšně pronikat do praxe. Je implementována v rámci protokolu SSL nebo jako součást populárního PGP. Jde o blokovou šifru s délkou bloku 64 bitů, pracující s klíčem o délce 128 bitů.

  • Algoritmus MARS je jedním z pěti současných kandidátů na AES. Vytvořen byl v dílně IBM. Pro MARS hraje i to, že dosavadní standard DES je také z dílny IBM a to algoritmus LUCIFER (viz. DES). Podle tvůrců MARS nabízí větší bezpečnost než Triple-DES s neporovnatelnou rychlostí. Mars je šifra s délkou bloku 128 bitů a proměnlivou délkou klíče.

  • Tvůrcem úspěšné šifry RC4 nikdo jiný než Ronald Rivest z RSA. RC4 je jednou z nejpoužívanějších proudových šifer pro Internet a komerční využití. Po celých 7 let se RSA dařilo utajit algoritmus RC4. Poté byla dissasemblována hackerem a její popis umístěn na Internetu. RSA dostala strach o zneužití jejich šifry konkurencí, jelikož nebyla patentována. Tato šifra je řádově 10x rychlejší než DES. Klíč pro RC4 může mít maximálně 256 bytů (2048 bitů). RC4 je velmi zajímavá a neobyčejná a analytickou metodou zatím nenapadnutá šifra. Ani teoretický základ šifry není doposud řádně prozkoumán. RC4 je využita v SSL 3.0 společnosti Netscape, v Microsoft Office, ORACLE Secure SQL nebo v Microsoft Windows 2000.

  • Druhý algoritmus z dílny Ronalda Rivesta z roku 1994 RC5 přinesl do kryptografie novou myšlenku o použití rotací závislých na datech. Jedná se o velmi pružný algoritmus s mnoha parametry. Šifrovací klíč má 0-255 bytů, počet kol šifrovacího procesu (0-255) a délka slova z hodnot 16, 32, 64, 128 a 256 přičemž algoritmus zpracovává bloky o dvojnásobné délce slova. Pro své použití lze algoritmus přizpůsobit vhodnou volbou parametrů. Velikost slova je rozumné volit v závislosti na velikosti slova používaného procesoru. 128 bitů je to správné číslo, chceme-li algoritmus používat pro hašování. Zvětšování počtu kol vede ke zvyšování bezpečnosti algoritmu na úkor rychlosti. Šest kol postačí pro nenáročné aplikace, 32 pro ty nejnáročnější. Jako rozumná se jeví volba délka slova 32 bitů, 12 kol, 16bytový klíč, což krátce zapíšeme RC5-32/12/16.

  • Algoritmus RC6 je vylepšená verze RC5, která tímto dosahuje požadavků NIST na nový standard AES. Byly přidány některé funkce - celočíselné násobení v klíči a čtyři pracovní registry místo dvou. Parametrizovaný je stejně jako RC5.

  • Skipjack je 64bitová symetrická šifra s 80bitovým klíčem.

  • Další z kandidátů na AES se nazývá Twofish. Twofish pracuje s blokem o délce 128 bitů a proměnlivou délkou klíče až do 256 bitů.

      1. Asymetrické šifrování

Asymetrické algoritmy nazýváme též algoritmy s veřejným klíčem. Princip těchto algoritmů je v tom, že pro každého uživatele existuje dvojice klíčů: veřejný a tajný.

Veřejný klíč je všeobecně komukoliv dostupný. Tímto klíčem lze pouze zašifrovat zprávu pro určitého uživatele. Tajný klíč má každý u sebe schovaný a určitým způsobem chráněný proti odcizení (heslem, na čipové kartě, na magnetické kartě). Tímto tajným klíčem lze provádět odkódování přijatých zpráv.

Velkou výhodou asymetrické kryptografie je snížení počtu klíčů při zabezpečené komunikaci. Jelikož každý uživatel disponuje celkem dvěma klíči (soukromým a veřejným), je za předpokladu n uživatelů zapotřebí celkem 2n klíčů (v případě symetrické kryptografie celkem n(n-1)/2 klíčů). Odpadají i problémy s distribucí veřejného klíče, neboť tento není nutno distribuovat zabezpečeným kanálem.

Z hlediska bezpečnosti je nutné podotknout, že teoreticky je možné z veřejného klíče u všech algoritmů vypočítat klíč tajný. Ale dosud je to výpočetně neproveditelné - se současným výkonem počítačů by se jednalo o tisíciletí. Existují návrhy na zefektivnění kryptoanalýzy, ale pro rozumný počet bitů klíče jsou algoritmy stále bezpečné.

Podívejme se nyní na některé představitele asymetrických šifer.

  • Algoritmus RSA byl objeven roku 1977 a jeho autoři jsou Ron Rivest, Adi Shamir a Joe Adleman – odtud RSA. Systém je založen na teoreticky jednoduché úvaze: Je snadné vynásobit dvě dlouhá (100-místná) prvočísla, ale bez jejich znalosti je prakticky nemožné zpětně provést rozklad výsledku na původní prvočísla. Součin těchto čísel je tedy veřejný klíč. Přitom obě prvočísla potřebujeme pro dešifrování. Vzhledem k tomu, že není znám rychlý algoritmus na faktorizaci velkého čísla, je algoritmus RSA bezpečný. Velkým problémem není jen faktorizace čísla N, ale problém je i najít sama prvočísla p a q, potřebné k tvorbě klíčů. Najít dostatečně velké prvočíslo je dosti těžké (resp. pomalé), proto se hledají čísla, která jsou prvočísly s vysokou pravděpodobností. Algoritmus RSA je hojně implementován v SW produktech podporujících elektronický podpis.

  • Diffie-Hellmanova funkce. Již na počátku 70 let uveřejnili pánové Diffie a Hellman svou představu o možnostech šifrování veřejným klíčem. Jejich práce přinesla jednosměrnou DH funkci, která je stále v kryptosystémech používána. I tento algoritmus nachází uplatnění v elektronických podpisech.

  • El Gamal šifra je v případě systémů založených na diskrétním logaritmu v podstatě analogií RSA.

  • Eliptické křivky byly zkoumány algebraickou geometrií a teorií čísel více než 150 let, avšak až v roce 1985 přišli nezávisle na sobě Victor Miller (tehdy IBM) a Neal Koblitz (University Of Washington) na jejich použití v rámci systému veřejného klíče. Je třeba si uvědomit, že éra masivního zkoumání algoritmů veřejného klíče začala až v roce 1976. V nejbližších letech po objevu možností využití problému diskrétního logaritmu v kryptografii se zdálo vše vyřešené a použití eliptických křivek se proto jevilo jako nepraktické. Postupem času se ukázalo, že metody veřejného klíče typu RSA jsou relativně pomalé a těžkopádné a že jsou z tohoto hlediska eliptické křivky výhodnější.

 

Požadavky praxe kladou na kryptografické algoritmy rozporuplné požadavky: kryptografická síla, rychlost a jednoduchost.

      1. Hashovací funkce

Vzorkovací, neboli hashovací, funkce jsou velmi důležité pro kryptografii a tvorbu digitálních podpisů. Jsou to funkce, které umí vytvořit vzorek jakéhokoli souboru, aby byl závislý na všech bitech původního souboru. Výstupem funkce je vzorek (též nazývaný hash, fingerprint či otisk) o pevné délce. Pokud by došlo ke změně jediného bitu v souboru (například v textu šifrované zprávy by přibyla mezera či čárka), výsledkem by byla zcela odlišná hodnota hashovací funkce. Je zřejmé, že hashovací funkce naplňují především potřeby integrity předávaných dat. Nejpoužívanější hashovací funkce jsou popsány v následujících bodech.

  • MD5 – Message Digest Algorithm 5 (RFC 1321). Tvůrcem algoritmu je známý Ron Rivest (tehdy z MIT). Výstupem funkce je 128-bitový vzorek.

  • SHA-1 – Secure Hash Algorithm 1. Upravená verze SHA. Tento algoritmus je zaštítěn NIST, která jej publikovala jako svůj standard ve FIPS 180 – 1.

  • RIPEMD 160 – výstupem této funkce je 160-bitový vzorek

      1. Aplikace šifrovacích algoritmů

Velmi známým a rozšířeným SW produktem (podporujícím mimo jiné i elektronický podpis) je PGP. PGP je zkratkou pro Pretty Good Privacy, což lze přeložit jako “celkem slušné soukromí”. Tvůrcem tohoto světově rozšířeného programu (nyní balíku programů) je Phill Zimmermann. Ačkoli bylo PGP napsáno v USA a používá silnou kryptografii, je používáno všude ve světě. PGP bylo vyvezeno jako literární dílo a mimo území USA přepsáno a zkompilováno. PGP je freeware, ale existuje i komerční verze. Do verze 5.0 používalo PGP asymetrickou RSA, symetrickou šifru IDEA, hash MD5 a podpis RSA. Od verze 5.0 je implementována Diffie-Hellmanova asymetrická funkce, symetrický T-DES, IDEA a CAST, hash SHA1 a podpis DSS (Digital Signature Standard – viz dále).

PGP funguje jako hybridní kryptosystém používající jak symetrickou, tak asymetrickou kryptografii a systém digitálních podpisů. PGP pracuje zhruba na následujícím principu. Otevřený text je nejprve zkomprimován freeware rutinou PKZIP. Poté je zakódován konvenčním (symetrickým) klíčem (náhodným – vytvořeným pouze pro danou relaci). Tento konvenční klíč je zakódován veřejným klíčem příjemce, dostupným v tzv. síti serverů veřejných klíčů (seznamu veřejných klíčů dostupném na Internetu). Konečný “kryptobalíček” obsahuje tedy text zašifrovaný symetricky a symetrický klíč zakódovaný asymetricky. Tento princip je optimální kombinací rychlosti symetrických šifer a odolnosti šifer asymetrických.

Proces dekódování je inverzní k procesu zakódování. Prvně je privátním klíčem odkódován symetrický klíč a potom teprve odkódován samotný text (dosud komprimovaný) a nakonec je právě ten dekomprimován.

PGP má implementován i systém elektronického podpisu. Na Internetu existuje již výše zmíněná síť serverů veřejných klíčů. Tyto servery fungují podobně jako vyhledávače www stránek, ale výsledkem hledání je veřejný klíč určité osoby. Freeware verze PGP a server veřejných klíčů lze nalézt na www.pgp.cz.

Jiným produktem v praxi hojně používaným je produkt SSL (Secure Socket Layer). SSL je norma vytvořená společností NETSCAPE. Používá se jako tzv. bezpečný protokol https. Obecně je používán k přenosu informací, které nesmí být odposlechnuty, jako např. číslo kreditní karty při platbě přes Internet. Opět tu však je nevýhoda exportních nařízení USA.

Při zabezpečené komunikaci rozšiřuje SSL proceduru navázání spojení klient-server (tzv. handshaking) o některé další procedury – a to zejména o výměnu informací o šifrovacích technikách, které klient a server využívají a o identifikaci serveru certifikátem (vydaným certifikační autoritou za účelem autentizace serveru). Data šifruje pomocí symetrického algoritmu, předaného serverem browseru zabezpečeným kanálem.

SSL používá asymetrickou RSA a symetrickou šifru RC4 (128-bitový klíč v USA a 40-bitový klíč mimo území USA). Je implementována zejména v některých browserech.

Konečně, produktem aplikujícím šifrovací algoritmy (zejména RSA a SHA-1) je i protokol S-MIME, který byl odvozen od protokolu MIME, jež slouží k zobrazování specifických národních znaků části kódové tabulky. Tento protokol je aplikován zejména v produktech firmy Microsoft (např. v poštovním klientu MS Outlook).