Kryptografie Kryptografie Kryptografie je vědeck{ disciplína zabývající se šifrov{ním. Díky počítačům je možné obrovskou rychlostí luštit jednoduché, dříve používané šifry, díky nim je naštěstí také možné vytv{řet tak složité šifry, které se běžnými prostředky dnes nedají prolomit.
Integrita dat, hash, autenticita, šifrovací algoritmus a klíč Internet představuje nesmírně výkonné, ale potenci{lně nebezpečné prostředí pro přenos zpr{v. Původní protokol TCP/IP neobsahoval ž{dné bezpečnostní prvky. Prioritou bylo doručení paketu jakýmkoliv způsobem k cílovému počítači. Brzy se proto objevila nutnost řešit bezpečnost přenosu dat nad úrovní tohoto protokolu. K čemu by bylo dokonalé zabezpečení počítače, který by hesla do banky před{val ve volně čitelných balíčcích IP protokolu? Pakety s daty proch{zejí přes desítky směrovačů a téměř kdokoliv je může po cestě prohlížet. Klasický, „obyčejný" přenos dat přes Internet je lehce odposlouchatelný, nemůžete mít jistotu, že data došla v poř{dku, že je nikdo nečetl a jisté není ani to, že skutečně komunikujete s tím, komu jsou data určena. Proto byly pro komunikaci vyvinuty nejrůznější bezpečnostní prvky, které se soustřeďují na tyto oblasti: • Integrita dat. Zaručuje, že se data během přenosu nezměnila. • Důvěrnost dat. Požaduje, aby data nemohl nikdo cizí přečíst. • Autenticita. Zaručuje identifikaci komunikujících, d{v{ jistotu, že strany, se kterými komunikujete, jsou ty, za které se vyd{vají. • Nepopiratelnost. Odesilatel nemůže popřít, že uvedenou zpr{vu (smlouvu, objedn{vku) poslal. • Datov{ní a časov{ní. Umožňuje určit přesný okamžik vzniku nebo doručení zpr{vy. Integrita dat, hash Integrita dat je jejich zcela z{sadní vlastnost, nikdo nechce dostat jin{ data, než mu byla odesl{na. Na úrovni komunikace zařízení se zajišťuje kontrolními součty a samoopravnými kódy. Na úrovni ověření přenosu zpr{v se často použív{ tzv. hash (čtěte heš). Hash je jakýsi otisk dokumentu, kontrolní součet, který umožňuje digit{lní podpis dokumentu. Speci{lním algoritmem (např. MD5) se provede jednosměrn{ transformace, kter{ z obsahu dokumentu vr{ti jednoznačnou hodnotu (textový řetězec) pevné délky (cca 40 až 200 znaků), který je mnohem kratší než původní dokument. Jestliže se v původním dokumentu změní byť jediné písmenko, změní se výrazně generovaný hash. Hash m{ tedy tyto vlastnosti: • Vždy stejnou předem určenou délku.
• Z hashe se ned{ nijak odvodit původní obsah. • Mal{ změna origin{lu způsobí velké změny hashe. Řetězec Hash se zašifruje a pošle se šifrovaný spolu se zpr{vou. U příjemce zpr{vy se pak z celé došlé zpr{vy vypočte opět hash. Zašifrovaný hash se dešifruje a porovn{ s nově vypočteným. Pokud si oba hash řetězce odpovídají, nebyla zpr{va při přenosu změněna. Zpr{va tedy nešla přes síť šifrovan{, zašifrovaný byl jen její kr{tký otisk - hash, m{te ale jistotu, že nebyla změněna. Autenticita komunikujících stran Spameři často využívají podvrženou adresu odesilatele e-mailové zpr{vy, také phishing využív{ podvržené str{nky banky apod. Autencitita přístupu k počítači byla probr{na na předchozích str{nk{ch, nyní se zaměříme na autenticitu komunikace přes Internet. Certifik{ty počítačů a uživatelů ověřující identitu vůči certifikační autoritě představují z{kladní prostředek ověřov{ní identity. Protože souvisí s metodami šifrov{ní dat, vr{tíme se k nim po vysvětlení této problematiky. Šifrov{ní dat, šifrovací algoritmus a klíč Bezpečnost šifry z{visí na použitém algoritmu a na délce klíce. • Algoritmus je předpis, který šifrovací prostředek (člověk, program, technické zařízení) použív{ na šifrov{ní dat. Například můžeme zašifrovat text tak, že k ASCII kódu každého znaku připočteme určité číslo a opět ho převedeme na text, vlastně posuneme písmena v abecedě. • Klíč si vytv{ří uživatel s{m, případně je generov{n pro určitého uživatele. Množství lidí tedy použív{ pro šifrov{ní stejný algoritmus, ale různé klíče. V trivi{lním příkladu kódov{ní pomocí posunu znaků by klíč tvořilo číslo ud{vající, o kolik znaků je kód posunut. Symetrické kryptografie a oblasti jejího nasazení Symetrick{ kryptografie je v principu velmi jednoduch{. Existuje algoritmus a klíč, kterými se zpr{va zašifruje, a stejným algoritmem a klíčem se zase dešifruje. Použív{ se pro lok{lní šifrov{ní, např. obsahu disku počítače, kdy šifrov{ní i dešifrov{ní probíh{ na stejném místě. Dnes používané algoritmy (např. DES) umožňují i silné symetrické šifrov{ní téměř v re{lném čase. Pro přenos dat se symetrické šifrov{ní hodí méně, vyžaduje bezpečné před{ní stejného klíče mezi oběma komunikujícími stranami.
12/3/2012
Kryptografie
2
Asymetrick{ kryptografie, priv{tní a veřejný klíč Asymetrick{ kryptografie již tak jednoduch{ není, umožňuje však bezpečnou komunikaci bez předchozí osobní výměny klíče. Použív{ k tomu dva klíče- veřejný a soukromý. Každý uživatel bezpečného spojení vlastní dvojici klíčů: veřejný klíč, který zveřejní (pošle lidem, se kterými komunikuje), a soukromý (priv{tní) klíč, který pečlivě tají. Tyto klíče jsou šifrovacím algoritmem neoddělitelně sv{z{ny, tj. zpr{vu zašifrovanou veřejným klíčem je možné dešifrovat pouze k němu n{ležejícím klíčem soukromým a naopak (není tedy možné ji dešifrovat veřejným klíčem, kterým byla zašifrov{na). Nevýhodou této metody je pomalé zpracov{ní dat. Pokud tedy adres{t od odesílatele potřebuje získat bezpečně přenesen{ šifrovan{ data, postupuje takto:
12/3/2012
Kryptografie
3
• Pomocí šifrovacího programu si vytvoří (vygeneruje) oba klíče, veřejný i soukromý. • Soukromý (priv{tní) klíč si pečlivě schov{ (např. na USB disk) a přístup k němu chr{ní silným heslem. • Veřejný klíč naopak pošle všem odesílatelům, od kterých předpokl{d{ šifrované dokumenty. • Odesílatelé mohou posílat veřejným klíčem adres{ta zašifrované dokumenty, které on svým priv{tním klíčem dešifruje. V případě obousměrné komunikace samozřejmě musí stejný postup absolvovat obě strany. Bezpečnostní certifik{ty, certifikační autorita Výše uveden{ asymetrick{ šifrovan{ komunikace m{ jedno slabé místo: před{ní veřejného certifik{tu. Budoucí odesilatel si nemůže být zcela jist, zda ho dostal od uvedeného budoucího adres{ta, protože jeho před{ní není ničím autentizov{no. Proto vznikl institut certifikační (registrační) autority, kter{ vyd{v{ tzv. bezpečnostní certifik{ty a ověřuje je. Důvěra mezi mnoha šifrujícími stranami se potom omezuje na důvěru všech stran v určitou certifikační autoritu. Certifik{t je vlastně soubor s údaji o určité osobě (firmě), který je elektronicky podeps{n pomocí certifik{tu registrační autority. K certifik{tu se ještě uloží výše uvedené soukromé a veřejné klíče, doplněné o osobní údaje o osobě, kter{ je vlastní, a o době platnosti certifik{tu. Elektronický podpis Jak potom funguje zaručený elektronický podpis, použitelný pro úřední komunikaci (a samozřejmě i jakoukoliv jinou, soukromou nebo obchodní)? Uk{žeme si to na příkladu komunikace Adama a Evy, přičemž na místě Adama nebo Evy může být klidně úřad, banka apod. Adam chce Evě poslat elektronicky podepsanou zpr{vu. 1. Adam musí nejdříve získat svůj elektronický podpis, který obsahuje jeho osobní certifik{t (digit{lní ID) a jeho soukromý i veřejný klíč. Navštíví proto osobně (nebo zašle úředně ověřené doklady) certifikační (registrační) autoritu, předloží své doklady totožnosti a získ{ nosič (USB disk, obecně tzv. token nosič certifik{tů nebo šifrovacích klíčů), na kterém budou jeho soubory. Ty jsou elektronicky podeps{ny certifikační autoritou, přístup k osobnímu klíči je chr{něn heslem. 2. Adam na svém osobním počítači nejdříve nainstaluje kořenový certifik{t certifikační autority mezi důvěryhodné cerifikační autority a potom importuje svůj elektronický podpis do e-mailového a webového klienta. 3. Nyní může Adam podepsat svým elektronickým podpisem zpr{vu a poslat ji Evě. Elektronický podpis zpr{vy je pomocí soukromého klíče vytvořený kontrolní součet (otisk, hash) zpr{vy, d{le Adamův certifik{t a jeho veřejný klíč. To vše se před{v{ spolu se zpr{vou. 4. Eva obdrží podepsanou zpr{vu (tj. vše výše uvedené). Aby Eva mohla ověřit Adamův certifik{t (který je podeps{n certifikační autoritou), musí mít předem 12/3/2012
Kryptografie
4
na svém počítači instalov{n jako důvěryhodný kořenový certifik{t registrační autority, kter{ ověřuje Adamův podpis. Ten si většinou st{hne z webu certifikační autority. Oba musí tedy důvěřovat jedné certifikační autoritě. 5. Komunikační program pomocí veřejného klíče vypočte hash a ověří spr{vný obsah zpr{vy a d{le jím ověří, že Adamův certifik{t nebyl při přenosu změněn. Adamovu certifik{tu věří, protože je ověřen (podeps{n) nez{vislou certifikační autoritou. Eva ví nyní jistě, kdo zpr{vu poslal a že nedošlo k její změně (samotný podpis neřeší časové razítko a šifrov{ní). Pokud je vyžadov{no určení času (okamžiku) odesl{ní zpr{vy, může k ní být připojeno tzv. časové razítko, které si vyž{d{ přesný čas od serveru Internetu poskytujícího tuto službu. Datov{ schr{nka Datov{ schr{nka je pro úřední potřeby zřízen{ speci{lní (poštovní) schr{nka. Její zřízení podléh{ podobnému režimu jako elektronický podpis, tedy osoba, úřad nebo organizace musí předložit své zřizovací listiny a datov{ schr{nka je napevno sv{z{na s určitým subjektem. Vlastníci datových schr{nek si do nich mohou navz{jem posílat zpr{vy. Systém datových schr{nek zaručuje autenticitu, integritu i důvěrnost dat, tedy příjemce m{ jistotu, od koho zpr{va přišla, že její obsah nebyl změněn a že ho nikdo jiný nečetl. Speci{lním ustanovením je, že obsah datové zpr{vy je po určité době (nyní 14 dní) považov{n za přečtený, i kdyby ho příjemce nečetl. To zajišťuje doručitelnost úředních (soudních) rozhodnutí.
12/3/2012
Kryptografie
5