MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY. Autentizace dat. Bc. David Cimbůrek

Rozměr: px
Začít zobrazení ze stránky:

Download "MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY. Autentizace dat. Bc. David Cimbůrek"

Transkript

1 MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY! " #$ % F & GH D E ')(+*,.-0/132?@ACB 46587:9<;>= Autentizace dat DIPLOMOVÁ PRÁCE Bc. David Cimbůrek Brno, 2005

2 Prohlášení Prohlašuji, že tato diplomová práce práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. Vedoucí práce: doc. RNDr. Václav Matyáš ml., M.Sc., Ph.D. ii

3 Poděkování Děkuji vedoucímu mé práce doc. RNDr. Václavu Matyášovi ml., M.Sc., Ph.D. za cenné rady, připomínky a všechen čas, který mi věnoval. Dále bych chtěl poděkovat Mgr. Jiřímu Denemarkovi za jeho rady během mé práce na systému Netrw. Poděkování patří i Petru Kovářovi za pomoc při testování přenosové rychlosti systému Netrw. iii

4 Shrnutí V dnešní době stále progresivněji se rozvíjející digitální komunikace se stává čím dál více aktuální otázka bezpečnosti této komunikace. Někdy je potřeba obsah přenášených zpráv šifrovat, aby si jejich obsah mohli přečíst pouze povolaní lidé. Mnohdy však postačuje, když u získané zprávy máme jistotu, že ji skutečně zaslal ten, o kom si myslíme, že ji zaslal, a že zpráva nebyla během přenosu změněna. Touto problematikou se zabývá autentizace dat a autentizaci dat je věnována tato práce. Důležité pro autentizaci dat jsou hashovací funkce, které dokáží udělat z jakkoliv dlouhých dat jakýsi jejich otisk vždy stejné délky, který původní data pokud možno co nejvěrněji reprezentuje. Tyto funkce je možné použít pro autentizaci dat například ve spojení s tajným heslem, nebo v mechanismech digitálních podpisů. Digitální podpisy hrají v digitálním světě podobnou roli, jako ručně psané podpisy ve světě papírové komunikace. Algoritmy digitálních podpisů jsou založeny převážně na objevech kryptografie. Systém Netrw slouží k rychlému přenosu dat přes Internet. V rámci této práce do něj byl doplněn jednoduchý, avšak účinný a bezpečný systém autentizace uživatelů a přenášených dat, který by měl ještě rozšířit jeho použitelnost. iv

5 Klíčová slova autentizace dat, autentizace uživatelů, digitální podpisy, hashovací funkce, Netrw v

6 Sem bude v papírové podobě diplomové práce vložena kopie oficiálního zadání. vi

7 Obsah Úvod Hashovací funkce Základní vlastnosti hashovacích funkcí Neklíčované hashovací funkce Hashovací funkce založené na blokových šifrách Speciální hashovací funkce Hashovací funkce založené na modulární aritmetice Kontrolní součty Klíčované hashovací funkce autentizační kódy Autentizační kódy založené na blokových šifrách Vytváření autentizačních kódů z hashovacích funkcí MAA a MD5-MAC algoritmy Útoky na hashovací funkce Digitální podpisy RSA ElGamal DSA Feige-Fiat-Shamir Netrw Autentizace komunikujících stran Autentizace jedné strany Autentizace obou stran Autentizace dat po dokončení jejich přenosu Jednostranná autentizace dat Oboustranná autentizace dat Pomocné soubory Soubor rand Soubor prev Soubor keys Použité nástroje Ověření bezpečnosti funkce mhash keygen ext() Parametry Netrw

8 OBSAH 3.6 Implementace Příklady použití Netrw Přenos dat bez autentizace Přenos dat za použití autentizace Testy rychlosti Intel Celeron 900MHz AMD Duron 600MHz Pentium III 1 GHz Intel Celeron 900MHz, AMD Duron 600MHz Shrnutí testů Závěr A Hashovací funkce A.1 Hashovací funkce Matyas-Meyer-Oseas A.2 Hashovací funkce MD A.3 Hashovací funkce SHA A.4 Algoritmus CBC-MAC A.5 Algoritmus MAA A.6 Yuvalův narozeninový útok B Netrw komunikační protokol B.1 Používané zprávy B.2 Komunikace C Testy rychlosti přenosu dat C.1 Intel Celeron 900 MHz C.2 AMD Duron 600 MHz C.3 2 Pentium III 1 GHz C.4 Intel Celeron 900 MHz, AMD Duron 600 MHz

9 Seznam obrázků 1.1 Použití CRC Použití hashování za pomoci autentizovaného kanálu Použití hashování ve spolupráci s šifrováním dat Použití autentizačních kódů Hashovací funkce Matyas-Meyer-Oseas Autentizační kód CBC-MAC Obecné schéma digitálního podpisu Schéma digitálního podpisu využívajícího hashování Rozšířený Eukleidův algoritmus Algoritmus RSA Algoritmus ElGamal Feige-Fiat-Shamir Komunikační protokol Netrw verze 1.2 (příklad) Autentizační protokol autentizace uživatelů (příklad)

10 Úvod Lidé mezi sebou odjakživa potřebovali komunikovat. Pokud se od sebe nacházeli ve větší vzdálenosti, zasílali si zprávy. Dříve se tak dělo pomocí poslů a kurýrů, kteří předávali informace od odesílatele k příjemci. U takto doručovaných zpráv se ovšem mohlo stát (a také stávalo), že byl během jejich přepravy pozměněn jejich obsah nebo bylo dokonce doručeno úplně jiné sdělení, než bylo odesláno. Takovéto modifikace často působily aktérům komunikace značné škody, a proto byly postupně vyvinuty různé způsoby, jak těmto změnám zabránit nebo je alespoň odhalit. Zprávy a dopisy se začaly opatřovat podpisy odesílatelů, voskovými pečetěmi a podobnými mechanismy. Ty měly zajistit, aby odeslaná zpráva nemohla být nahrazena zprávou podvodnou, případně aby ke zprávě nemohl být dopsán další text (podpis či pečet byly pořízeny přímo pod poslední řádek textu). Tento způsob využití samozřejmě předpokládal, že napsat správný podpis nebo obtisknout do vosku pravou pečet může pouze původní odesílatel. S nástupem výpočetní techniky a digitální komunikace se ovšem stávající situace dramaticky změnila. Stále více a více komunikace probíhá elektronickou formou a od starých metod zasílání zpráv se postupně upouští. Mnoho lidí vyřizuje svou osobní nebo obchodní korespondenci pomocí u. Obchody se mnohdy domlouvají a provádějí pomocí Internetu, elektronickou formou se realizuje i množství velkých finančních operací a bankovních převodů, mnoho bank dnes poskytuje svým klientům internetové bankovnictví. Podvržená zpráva tedy může napáchat velmi rozsáhlé škody. Proto je i v digitální komunikaci nutné zajistit integritu vyměňovaných zpráv a jistotu o identitě autorů těchto zpráv. U digitální komunikace jsou ale dříve uplatňované techniky ověřování integrity zprávy a identity jejího autora nepoužitelné. Každý bit je stejný jako kterýkoliv jiný a nelze tedy použít analogii ručně psaného podpisu. Naštěstí přichází na pomoc jiné techniky a metody. Byly vyvinuty postupy, souhrnně označované jako digitální podpisy, které v digitálním světě plní podobnou (i když ne úplně stejnou) funkci jako klasické ručně psané podpisy. Algoritmy digitálních podpisů jsou převážně založeny na poměrně nových objevech v kryptografii. Důležitou roli v autentizaci dat hrají i tzv. hashovací 4

11 ÚVOD funkce, které dokáží z jakkoliv dlouhé zprávy vytvořit řetězec pevně dané (většinou malé) délky, se kterým se dá dále operovat (např. právě v mechanismech digitálního podpisu). Základní metody, nejpoužívanější algoritmy a příklady použití těchto postupů jsou popsány v dalším textu této práce. Součástí práce je systém Netrw-2.0 určený pro rychlý a jednoduchý přenos dat přes Internet. Tento systém implementuje některé algoritmy a postupy autentizace popsané v teoretické části. Umožňuje provádět autentizaci zasílaných dat i autentizaci uživatelů účastnících se přenosu. Snaží se tak při zachování vysoké přenosové rychlosti zvýšit bezpečnost výměny dat přes počítačové sítě. Rozvržení kapitol První kapitola práce se věnuje hashovacím funkcím, principům jejich práce a několika nejpoužívanějším algoritmům. Druhá kapitola se zaměřuje na digitální podpisy, způsoby jejich použití a obsahuje popis nejpoužívanějších schémat digitálních podpisů. Třetí kapitola je věnována systému Netrw, popisu implementace autentizace uživatelů a dat a testům rychlosti přenosu dat. 5

12 Kapitola 1 Hashovací funkce Kryptografické hashovací funkce (dále jen hashovací funkce, pokud nebude explicitně uvedeno jinak) hrají v autentizaci dat a potažmo v celé kryptografii velmi důležitou a nezastupitelnou roli. Vytvářejí ze vstupních dat libovolné délky jakési jejich otisky pevné délky (řádově stovky bitů) nazývané hash (hash-code, hash-result, hash-value, digest, fingerprint), které původní data (pokud možno jednoznačně) reprezentují. Toto se dá využít v mnoha aplikacích. V oblasti kryptografických hashovacích funkcí došlo v poslední době k závažným událostem. V září 2004 byly publikovány útoky, pomocí kterých byly prolomeny hashovací funkce MD5, RIPEMD-128, HAVAL-128 a SHA-0 a byly nalezeny nové obecnější techniky hledání slabin iterativních hashovacích funkcí, což jsou prakticky všechny dnes používané důležité hashovací funkce. Hashovací funkce SHA-0 není příliš rozšířena, byla již dříve nahrazena dokonalejší modifikací nazývanou SHA-1. Rovněž funkce RIPEMD-128 a HAVAL-128 se příliš nepoužívají. Ovšem hashovací funkce MD5, přestože se již delší dobu doporučuje ji nepoužívat, je stále obsažena v mnoha současných systémech. Podrobnější informace o těchto hashovacích funkcích jsou v kapitole Hashovací funkce jsou velice užitečné ve dvou oblastech: při autentizaci původu dat a při kontrole integrity dat. Co tyto dva pojmy přesně znamenají? Mějme situaci, kdy subjekt B obdrží nějaká data. O těchto datech tvrdí subjekt A, že je jejich odesílatelem. A právě pomocí mechanismů autentizace původu dat je možné s jistotou určit, zda je A skutečným odesílatelem těchto dat. Pomocí kontroly integrity dat je zase možné s jistotou určit, zda nebyla data od doby vytvoření, během přenosu od odesílatele k příjemci, až po převzetí příjemcem nějakým způsobem neautorizovaně změněna. Je třeba si uvědomit, že tyto dvě vlastnosti jsou spolu nerozlučně spjaty. Data, která byla cestou od odesílatele k příjemci změněna, mají nového autora. A pokud není možné autora určit, nemůžeme se bavit o otázce 6

13 1. HASHOVACÍ FUNKCE změny dat během přenosu. Existuje několik způsobů, jak použít hashovací funkce k autentizaci původu a ke kontrole integrity dat. Hashování může být použito pro jednoduchou nezaručenou kontrolu integrity dat díky mechanismu kontrolních součtů (checksums), například pomocí CRC (Cyclic Redundancy Check). Tento postup ovšem odhalí pouze neúmyslné chyby vzniklé při přenosu dat. Pro zjištění, zda data nebyla nějakým způsobem modifikována či přímo zaslána nějakým útočníkem, se musí používat sofistikovanější metody, protože CRC může k libovolným datům vytvořit kdokoliv, tedy i případný útočník. Hashovací funkce, které počítají CRC, nejsou kryptografické (viz požadované vlastnosti kryptografických hashovacích funkcí popsané v kapitole 1.1). Data Odesílatel CRC Neautentizovaný kanál Pøíjemce Data CRC CRC? Obrázek 1.1: Použití CRC. Způsoby, jak využít hashovací funkce k skutečně zaručené kontrole integrity dat, jsou následující. První z nich je využití jiného zabezpečeného komunikačního kanálu. Data se zašlou normálně standardním nezabezpečeným způsobem. Avšak hash těchto dat se zašle příjemci nějakým zabezpečeným způsobem tak, aby ji případný útočník nemohl pozměnit či zaměnit za nějakou jinou hash. Příjemce si poté spočítá z obdržených dat svou hash a porovná ji s hashí, kterou obdržel od odesílatele. Pokud se tyto hashe shodují, má jistotu, že data nebyla cestou nijak změněna. Hashovací funkce je možné použít pro kontrolu integrity dat ve spojení s nějakým šifrovacím mechanismem používajícím symetrickou nebo asymetrickou metodu šifrování. Pokud je potřeba zajistit integritu dat, ale není nutné obsah dat utajovat, je jejich šifrování zbytečné. Zabírá zbytečně mnoho času a zvláště u asymetrické kryptografie je zdržení u většího množství dat reálně neúnosné. Ze zasílaných dat se tedy udělá hash stejně jako 7

14 1. HASHOVACÍ FUNKCE Odesílatel Data Neautentizovaný kanál Pøíjemce Data Hash Autentizovaný kanál Hash? Hash Obrázek 1.2: Použití hashování za pomoci autentizovaného kanálu. v předchozím případě, ale takto získaná hash se zašifruje a zašle se společně se zprávou nezabezpečeným způsobem. Příjemce zprávy si obdrženou hash rozšifruje a z obdržených dat si spočítá svou vlastní hash. Pokud jsou tyto dvě hashe identické, znamená to, že data mají integritu neporušenou. Neklíčované hashovací funkce (tj. funkce, které pro výrobu hashe nepoužívají žádný tajný klíč) jsou v anglické terminologii často označovány zkratkou MDC (Modification Detection Code). Data Odesílatel Zašifrovaná hash Neautentizovaný kanál Pøíjemce Data Zašifrovaná hash Hash Šifrovací algoritmus Hash? Hash Dešifrovací algoritmus Obrázek 1.3: Použití hashování ve spolupráci s šifrováním dat. Dalším způsobem využití hashovacích funkcí jsou tzv. autentizační kódy (Message Authentication Codes, odtud často používané zkratky MAC, plurál MACs, též digitální pečetě, digital seals). Autentizační kódy dovolují zajistit autentizaci dat pomocí symetrických technik. Používají hashovací funkce, které mají dva různé vstupy: hashovaná data a tajný klíč. Tyto funkce pak produkují hash, která má tu vlastnost, že za neznalosti klíče je výpočetně 8

15 1. HASHOVACÍ FUNKCE velmi obtížné požadovanou hash vyprodukovat. Data Odesílatel MAC Neautentizovaný kanál Pøíjemce Data MAC Tajný klíè k MAC Tajný klíè k? Obrázek 1.4: Použití autentizačních kódů. Odesílatel tedy spočítá za pomoci tajného klíče MAC zasílaných dat, data i MAC odešle příjemci, který si z obdržených dat spočítá pomocí svého tajného klíče (identického s klíčem druhé strany) svůj MAC a tyto dva autentizační kódy porovná. Pokud jsou stejné, data nebyla cestou pozměněna či nahrazena jinými. Hashovací funkce jsou též velmi často využívány v mechanismech digitálního podpisu (podrobně viz kapitola 2). Poznámka. Český překlad anglického slova hash zatím není ujednocený. Běžně se používají výrazy haš, heš, či nepřekládané hash. Já se v celé diplomové práci budu držet termínu hash, i díky vyjádření Jazykové poradny Ústavu pro jazyk český AV ČR [1]: Přejímání cizích slov je v terminologické oblasti velice časté. Právě zde je výhodná mezinárodní srozumitelnost a často i větší schopnost vytvářet odvozeniny (přídavná jména, slovesa). Přestože je pro češtinu charakteristická tendence začleňovat přejímaná slova co nejúplněji do domácího jazykového systému, a to jak po stránce hláskové, tak morfologické, není možné mechanicky nahrazovat jednotlivé cizí termíny českými ekvivalenty, pokud není zaručena návaznost v rámci celého pojmenovávacího systému dané oblasti. Míra tohoto začlenění je pochopitelně u různých slov různá, nemůžeme postupovat mechanicky, protože každé slovo reaguje na počešt ování různě. Proces zapojování do české slovní zásoby je pozvolný a postupný, některá slova si stále zachovávají původní pravopis. Doporučujeme zatím užívat anglickou podobu hash, proti počeštění mluví i ne zcela jednotná výslovnost (heš haš, něco mezi a-e ). 9

16 1. HASHOVACÍ FUNKCE 1.1 Základní vlastnosti hashovacích funkcí V další části diplomové práce jsem mnoho informací (definice, kódy algoritmů) čerpal z [2]. Jak vlastně hashovací funkce vypadají? Základní neformální definice říká následující: Definice 1.1 Hashovací funkce. Hashovací funkce je funkce h, která má následující dvě vlastnosti: komprese zobrazuje vstupní data x libovolné (konečné) bitové délky na data h(x) pevně dané bitové délky; snadnost výpočtu pro danou hashovací funkci h a libovolná vstupní data x musí být výpočetně snadné spočítat hash h(x). Příklad 1.2. Funkce, která počítá modulo 256 (tedy funkce, která vezme vstupní data, sečte všechny bajty těchto dat a jako výstup produkuje zbytek po dělení tohoto součtu číslem 256) je hashovací funkce ve smyslu definice 1.1. Další důležité vlastnosti hashovacích funkcí jsou následující: Definice 1.3 Jednosměrnost. Hashovací funkce h je jednosměrná (one-way, preimage resistant), pokud pro každou zadanou hodnotu hashe y je výpočetně obtížné nalézt nějakou vstupní hodnotu x tak, aby platilo h(x) = y. Příklad 1.4. Funkce f, která sčítá hodnoty znaků (podle tabulky ASCII) ze zadaného řetězce modulo 256, není jednosměrná, protože pro dané číslo v intervalu [0, 255] lze snadno nalézt data, jejichž modulo 256 má tuto hodnotu. Příklad je zadáno číslo 195. Vezme se libovolný řetězec, například ahoj. Hodnota f( ahoj ) je ( ) mod 256 = 418 mod 256, což je 162. Vezme se tedy znak s ASCII hodnotou = 33, což je znak!. Máme tedy nalezen řetězec ahoj!, pro který platí: f( ahoj! ) = 195. Funkce f tedy není jednosměrná. Naopak například hashovací funkce SHA-1 (viz příloha A.3) jednosměrná je. Definice 1.5. Slabá bezkoliznost. Hashovací funkce h má vlastnost slabé bezkoliznosti (weak collision resistance, 2nd-preimage resistance), pokud je výpočetně obtížné nalézt k určené pevně dané vstupní hodnotě x jinou vstupní hodnotu x, x x takovou, že h(x) = h(x ). 10

17 1. HASHOVACÍ FUNKCE Slabá jednosměrná hashovací funkce. Slabá jednosměrná hashovací funkce (weak one-way hash function, one-way hash function) je hashovací funkce ve smyslu definice 1.1, která je navíc jednosměrná a má vlastnost slabé bezkoliznosti. Definice 1.6. Silná bezkoliznost. Hashovací funkce h má vlastnost silné bezkoliznosti (collision resistance, strong collision resistance), pokud je výpočetně obtížné nalézt dvě různé libovolné vstupní hodnoty x a x, pro které platí h(x) = h(x ). Silná jednosměrná hashovací funkce. Silná jednosměrná hashovací funkce (strong one-way hash function, collision resistant hash function) je hashovací funkce ve smyslu definice 1.1, která má navíc vlastnosti slabé i silné bezkoliznosti. Proč jsou tyto vlastnosti důležité? Například v mnoha systémech jsou hesla uložena v hashované podobě. Uživatel při přihlašování zadá své heslo, z něj se spočítá jeho hash, která se poté porovná s hashí uloženou v systému. Pokud jsou tyto hashe totožné, přihlášení proběhlo úspěšně. Pokud by měl potenciální útočník přístup k hashím v systému a použitá hashovací funkce by nebyla jednosměrná, mohl by lehce nalézt nějaké jiné heslo, které by mělo stejnou hash jako heslo původní. Mohl by tak neoprávněně proniknout do systému. U algoritmů digitálního podpisu (viz kapitola 2) se velmi často nepodepisují celá data x, ale pouze jejich hash h(x). Použitá hashovací funkce musí mít vlastnost slabé bezkoliznosti. Proč? Pokud odesílatel podepíše hash, která byla získána hashovací funkcí nemající vlastnost slabé bezkoliznosti, mohl by případný útočník nalézt nějaká jiná data x x, pro která by platilo h(x ) = h(x). O těchto nových datech by mohl útočník tvrdit, že je odesílatel podepsal a neexistovala by možnost, jak toto tvrzení vyvrátit. Pokud by mohl útočník určit, jaká data bude odesílatel podepisovat, je nutné, aby použitá hashovací funkce měla vlastnost silné bezkoliznosti. Tak se opět zamezí útočníkovi (nebo nepoctivému odesílateli) v prohlášení, že odesílatel podepsal jiná data, než skutečně podepsal. Definice 1.7 Autentizační kódy. Autentizační kódy (MACs) tvoří skupinu funkcí h k, kde k je tajný klíč, s následujícími vlastnostmi: Snadnost výpočtu Pro daný autentizační kód h k, daný tajný klíč k a libovolná vstupní data x musí být výpočetně snadné spočítat hodnotu autentizačního kódu h k (x). Komprese h k zobrazuje vstupní data x libovolné (konečné) bitové délky na data h k (x) pevně dané bitové délky. 11

18 1. HASHOVACÍ FUNKCE Odolnost při dané výpočetní síle (computational resistance) Pro každé pevně zvolené k musí platit: Pokud je dáno libovolné množství dvojic dat a jejich autentizačních kódů (x i, h k (x i )), je výpočetně obtížné bez znalosti k nalézt nějakou dvojici (x, h k (x)), x x i. (Nemusí platit podmínka h k (x) h k (x i ).) Výrazy výpočetně snadné a výpočetně obtížné zde nejsou formálně definovány. V praxi to ale znamená, že pokud je získání hodnoty funkce výpočetně snadné, má výpočet maximálně polynomiální časovou a prostorovou složitost, tj. doba výpočtu (resp. množství paměti potřebné během výpočtu) je vzhledem k délce vstupních dat shora omezena nějakou polynomiální funkcí (například n 6 nebo n 2 + n, kde n je délka vstupních dat). Doba výpočtu výpočetně snadných funkcí se za obvyklých okolností (a na běžném hardwarovém vybavení) pohybuje v řádu maximálně vteřin či minut, zatímco pro výpočetně obtížné problémy se tato doba počítá od roků až po miliardy let. Záleží ale samozřejmě na každé konkrétní funkci a na výpočetní síle, kterou máme k dispozici. Většinou se u výpočetně obtížných problémů jedná o hledání výsledku hrubou silou procházením všech možných řešení. 1.2 Neklíčované hashovací funkce Drtivá většina hashovacích funkcí pracuje iterativním způsobem. To znamená, že nezahashuje všechna vstupní data x najednou, ale rozdělí je na bloky x 1,..., x n. Poté se jednotlivé bloky zpracovávají hashovacím algoritmem, a to tím způsobem, že h(x i ) vždy závisí jak na příslušném bloku dat, tak i na hashi předchozího bloku. Platí tedy vztah h(x i ) = f(x i, h(x i 1 )). Výsledná hash je rovna h(x n ). Takto je zaručeno, že hash je závislá na všech částech dat. Jistou nepříjemností ovšem je, že všechny vstupní bloky x i musí mít pevnou stejnou délku. Vstupní data jsou ale velikosti libovolné. Tím dochází ke stavu, kdy je poslední blok ve většině případů kratší. Takovéto krátké bloky se proto zarovnávají na správnou délku. Této metodě doplňování posledního bloku se říká padding. Bity do bloku by se měly doplňovat tak, aby ze dvou různých vstupních bitových řetězů nemohly vzniknout po doplnění řetězy totožné. Padding by měl obsahovat i údaj udávající bitovou délku původních dat. 12

19 1.2.1 Hashovací funkce založené na blokových šifrách 1. HASHOVACÍ FUNKCE Hlavní důvod používání a vyvíjení hashovacích funkcí založených na blokových šifrách je jednoduchý. Využívá se zde totiž funkce, která je již v systému obsažena (at již softwarově či hardwarově) a nemusí se tudíž vyvíjet znovu. Proč nemohou být jako hashovací funkce použity přímo tyto blokové šifry? Odpověd je nasnadě samotné blokové šifry nemají potřebné vlastnosti, například nejsou jednosměrné. Proto se musí upravit tak, aby výsledná hashovací funkce požadované vlastnosti měla. Hashovací funkce vytvořené z nbitových blokových šifer (tedy z šifer produkujících nbitový výstup) lze rozdělit na dvě skupiny: funkce vytvářející hash délky n (single-length) a funkce, které produkují hash délky 2n (double-length). Proč se funkce s délkou hashe 2n zavádějí? V praxi existuje velké množství blokových šifer s délkou bloku 64 bitů. A hashe této délky vytvořené použitím takovéto blokové šifry nemají vlastnost silné bezkoliznosti. Proto se z těchto blokových šifer vytváří hashovací funkce produkující hash dvojnásobné délky, které již vlastnost silné bezkoliznosti mají. Z předcházejícího vyplývá, že hashovací funkce produkující hash délky stejné jako je délka použité blokové šifry se konstruují tak, aby měly vlastnosti slabých jednosměrných funkcí. A hashovací funkce, které vytvářejí hash dvojnásobné délky než použitá bloková šifra, jsou navrhovány tak, aby měly vlastnosti silných jednosměrných hashovacích funkcí. IV g x 1 E H 1 g x 2 E... H t-1 g x t E H 1 H 2 H t Obrázek 1.5: Hashovací funkce Matyas-Meyer-Oseas. Mezi slabé jednosměrné hashovací funkce založené na blokových šifrách patří například algoritmy Matyas-Meyer-Oseas (viz obrázek 1.5 a detailní popis v příloze A.1), Davies-Meyer [3] nebo Miyaguchi-Preneel [4]. Typická délka hashe při použití těchto funkcí je 64 bitů. Jako příklad silných jednosměrných hashovacích funkcí používajících blokové šifry je možné uvést algoritmy MDC-2 a MDC-4 [5], které využívají 13

20 1. HASHOVACÍ FUNKCE symetrickou blokovou šifru DES [6]. Obě generují hash délky 128 bitů Speciální hashovací funkce Pod názvem speciální hashovací funkce (customized hash functions) se skrývají funkce, které byly od prvopočátku navrhovány jako hashovací a nepoužívají žádné jiné externí komponenty (jako například blokové šifry). Prvním zástupcem z této skupiny je algoritmus MD4 [7] (Message Digest). Z dat libovolné délky vytváří 128bitovou hash. Funkce byla navrhována tak, aby měla vlastnosti silné jednosměrné hashovací funkce. Její rozlomení tedy mělo být možné pouze za použití hrubé síly. Nalezení dvou vstupů, které mají stejnou hash, mělo zabrat průměrně 2 64 operací a nalezení nějakých vstupních dat odpovídajících předem zadané hashi mělo trvat průměrně operací. Pro tuto hashovací funkci ovšem byly nalezeny kolize, které snižují čas potřebný pro útok hrubou silou na pouhých 2 20 operací. Proto je doporučováno hashovací funkci MD4 nadále nepoužívat. Po tomto zjištění byla vytvořena hashovací funkce MD5 [8] (viz detailní popis v příloze A.2), která je založena na MD4, ale odstraňuje problémy s kolizemi, které má funkce MD4. MD5 je opět 128bitová. Obsahuje krokové cykly (na rozdíl od 3 cyklů u MD4) a další změny oproti MD4, které měly zaručovat bezkoliznost. Na podzim roku 2004 byla však hashovací funkce MD5 prolomena [9] (byly nalezeny kolize) a neměla by již tedy být jako kryptografická hashovací funkce používána. MD5 dosáhla velikého rozšíření a přestože již bylo několik let doporučováno ji nepoužívat (mimo jiné proto, že byly nalezeny kolize pro kompresní funkci, kterou MD5 používá), je dnes součástí mnoha systémů a její nahrazení nějakým bezpečným algoritmem bude stát v mnoha případech nemalé úsilí a náklady. Spolu s MD5 byly prolomeny ještě další hashovací funkce: RIPEMD-128, HAVAL-128 a SHA-0. Tyto funkce ale nejsou naštěstí příliš rozšířeny. Obecně by se mělo upouštět od používání 128bitových hashovacích funkcí, protože při dnešní výpočetní síle přestávají poskytovat záruku bezpečnosti. Používat by se měly alespoň 160bitové hashovací funkce. Mezi 160bitové hashovací funkce patří SHA-1 [10] (the Secure Hash Algorithm). Tento algoritmus je nástupcem algoritmu SHA-0. V současné době je považován za bezpečný. Rozšíření oproti SHA-0 jej dělá bezpečným i proti nejnovějším útokům. Dnes patří mezi nejpoužívanější hashovací funkce. Je využíván například v algoritmu digitálního podpisu DSS [11] (Digital Signature Standard, viz kapitola 2.3). 14

21 1. HASHOVACÍ FUNKCE Další 160bitovou hashovací funkcí založenou na MD4 je RIPEMD-160 [12]. V současné době se považuje za stejně silnou jako SHA-1. Existují i vícebitové varianty hashovací funkce SHA-1. Jsou to funkce SHA256, SHA384 a SHA512 [13], jejichž hashe mají, jak je již z jejich názvů patrné, délku postupně 256, 384 a 512 bitů. Tyto funkce byly vytvořeny kvůli potřebám, které vznikly při vyvíjení nové symetrické šifry AES [14]. Souhrnně jsou označovány jako hashovací funkce třídy SHA Hashovací funkce založené na modulární aritmetice Hlavní výhodou funkcí založených na modulární aritmetice je, podobně jako u hashovacích funkcí vytvořených z blokových šifer, využití v systému již existujících částí pracujících s modulární aritmetikou, například funkcí pro práci s digitálními podpisy. Nepříjemnou vlastností těchto hashovacích funkcí ovšem je, že ve srovnání se speciálními hashovacími funkcemi jsou pomalejší. Mezi hashovací funkce pracující na principu modulární aritmetiky patří například MASH-1 nebo MASH-2 [15] Kontrolní součty Kontrolní součty (checksums), jak již bylo řečeno dříve, patří mezi nekryptografické mechanismy a používají se pro jednoduchou kontrolu integrity dat během přenosu, nebo pro různé samoopravné kódy (error-correcting codes), kdy jsou některé chyby nejen rozpoznány, ale i opraveny. Nejčastěji používanými kontrolními součty je skupina funkcí CRC [16] (Cyclic Redundancy Code, nebo Cyclic Redundancy Check). Vytvářejí z dat libovolné délky hashe o pevné délce k (většinou 16 nebo 32 bitů). CRC je založeno na vhodně zvoleném (k 1)bitovém vektoru, jehož jednotlivé bity jsou chápány jako koeficienty polynomu stupně k. Například pro funkci CRC-16 je často používán polynom g(x) = 1 + x 2 + x 15 + x 16. Na vstupní data délky t je obdobně nahlíženo jako na polynom d(x) stupně t 1. Výsledná 16bitová hash je zbytek po dělení polynomu x 16 d(x) polynomem g(x). CRC funkce jsou často implementovány pomocí hashovacích funkcí, mohou však používat i jiné mechanismy. Tento způsob kontroly integrity dat nemůže, jak již bylo řečeno dříve, odhalit úmyslné změny v přenášených datech. Nedokáže také odhalit všechny náhodné chyby, které vznikly během přenosu (i když naprostou většinu ano). 15

22 1.3 Klíčované hashovací funkce autentizační kódy 1. HASHOVACÍ FUNKCE Klíčované hashovací funkce se vytvářejí podobnými způsoby jako neklíčované. Pouze s tím rozdílem, že součástí vstupu je tajný klíč k, bez jehož znalosti musí být výpočetně velmi obtížné příslušný MAC vytvořit Autentizační kódy založené na blokových šifrách Autentizační kódy vytvořené pomocí blokových šifer se svou konstrukcí velmi podobají hashovacím funkcím pracujícím na tomto principu. Jako základ algoritmu je použita nějaká bloková symetrická šifra. Vstupní data jsou rozdělena na jednotlivé bloky a tyto bloky spolu s tajným klíčem (případně ještě nějakým způsobem upravené) jsou zpracovány blokovou šifrou. x 2 x 3 x t 0 k x 1 H 1 E k E k H 2 E H 3... k H t-1 E H 1 H 2 H 3 H t Zvýšení bezpeènosti k k' H E E -1 Obrázek 1.6: Autentizační kód CBC-MAC. Nejčastěji používanou klíčovanou hashovací funkcí založenou na blokové šifře je algoritmus CBC-MAC [17] (Cipher-Block-Chaining MAC), viz schéma na obrázku 1.6 a příloha A.4). Jako blokovou šifru používá nejčastěji DES, kde je délka jednotlivých bloků 64 bitů a klíč má délku 56 bitů. Pro zvýšení bezpečnosti tohoto algoritmu se často používá druhý klíč k, který snižuje možnost odhalení hodnoty k a zabraňuje útokům vybraným textem. 16

23 1.3.2 Vytváření autentizačních kódů z hashovacích funkcí 1. HASHOVACÍ FUNKCE Hashovacích funkcí existuje poměrně velké množství. Tudíž se při vytváření autentizačních kódů nabízí myšlenka je nějakým způsobem využít tak, aby se daly použít jako autentizační kódy. Takovýchto metod je několik, většinou se nějak připojí tajný klíč k ke zpracovávaným datům. Možné je tedy zařadit k jako prefix dat, výsledný MAC má tedy hodnotu h k (x) = h(k x) (kde je operace zřetězení), nebo jako postfix: h k (x) = h(x k). Používané jsou i další, sofistikovanější metody, například Hash-based MAC [18] (HMAC): HMAC(x) = h(k p 1 h(k p 2 x)), kde p 1 a p 2 jsou řetězce, které doplňují k tak, aby jeho délka byla celočíselným násobkem délky bloku MAA a MD5-MAC algoritmy Tyto algoritmy byly navrženy úplně od začátku jako autentizační kódy, nejsou v nich tedy použity žádné jiné mechanismy, jako například blokové šifry nebo hashovací funkce. Algoritmus MAA [19] (Message Authenticator Algorithm) používá 64bitový tajný klíč a vytváří MAC o délce 32 bitů. Hlavní smyčka algoritmu je tvořena dvěma paralelními, na sobě nezávislými výpočty. Běh tohoto algoritmu je zhruba dvakrát pomalejší v porovnání s hashovací funkcí MD4. MAA je detailně popsán v příloze A.5. Algoritmus MD5-MAC [20] je odvozen od hashovací funkce MD5. Tajný klíč k se zde ovšem nepřidává pouze jako součást vstupních dat (jako u autentizačních kódů založených na blokových šifrách), ale je, po určitých úpravách, použit odlišným způsobem dále v těle algoritmu. Rychlost algoritmu MD5-MAC je zhruba srovnatelná s rychlostí hashovací funkce MD Útoky na hashovací funkce Co je cílem útoků na hashovací funkce? Útočníci se vždy snaží využít slabin jednotlivých funkcí a dosáhnout toho, čeho by teoreticky neměli být schopni. U slabých jednosměrných hashovacích funkcí je snahou útočníka k zadané hashi y nalézt nějaká data x taková, aby platilo h(x) = y, nebo k zadané dvojici (x, h(x)) nalézt data x, x x, pro která platí h(x ) = h(x). Ideální síla slabých jednosměrných hashovacích funkcí by měla být 2 n, tedy k jejich prolomení by ideálně mělo být zapotřebí průměrně 2 n operací, kde n je bitová délka výsledné hashe. Tato délka by v současnosti měla být při 17

24 1. HASHOVACÍ FUNKCE praktickém použití alespoň 80 bitů. Při útoku na silnou jednosměrnou hashovací funkci je nutné nalézt různá vstupní data x a x taková, že platí h(x) = h(x ). Ideální síla této funkce je 2 n/2. Délka hashe silných jednosměrných funkcí by měla být při dnešní výpočetní síle počítačů alespoň 160 bitů. Velké množství útoků proti hashovacím funkcím je postaveno na takzvaném narozeninovém paradoxu (birthday paradox). Ten lze ilustrovat následovně. Pokud je v jedné místnosti 23 náhodně vybraných lidí, pak pravděpodobnost, že dva z nich budou mít narozeniny v ten samý den v roce, je překvapivě vysoká více než 50 %. S přibývajícím počtem lidí tato pravděpodobnost rychle roste, takže pro 30 lidí je to již více než 70 %. Této vlastnosti se dá využít při hledání kolizí hashovacích funkcí. Mezi nejznámější narozeninové útoky patří Yuvalův narozeninový útok (Yuval s birthday attack) popsaný v příloze A.6. Je aplikovatelný na všechny neklíčované hashovací funkce. Útok je úspěšný po průměrně 2 n/2 operacích. Jeho nevýhodou ovšem je, že ke svému chodu potřebuje velké množství paměti. Velikost potřebné paměti je možné zmenšit tím, že vytváření modifikací x 1 a x 2 z x 1 a x 2 je deterministické a není tedy potřeba pozměněná data ukládat. Další útoky využívají konkrétní vlastnosti jednotlivých hashovacích funkcí. Zaměřují se na jejich iterativní podstatu, zkoumají kompresní funkci (například používanou symetrickou šifru), řetězcové proměnné a snaží se nalézt slabiny v jejich aplikaci. U autentizačních kódů se útočník snaží bez znalosti klíče k spočítat nějakou novou dvojici (x, h k (x)) za znalosti libovolného množství dvojic (x i, h k (x i )), x i x. U správně navrženého MACu by měla být pravděpodobnost nalezení takovéto dvojice rovna maximu z hodnot 2 t a 2 n, kde t je délka tajného klíče a n délka autentizačního kódu. K odhalení klíče by mělo být třeba průměrně 2 t operací. Pro praktickou bezpečnost by měla být v dnešní době délka autentizačního kódu alespoň 64 bitů při délce klíče bitů. 18

25 Kapitola 2 Digitální podpisy Klasický ručně psaný podpis má široké uplatnění a používá se v mnoha oblastech. Od klasického podpisu očekáváme několik zásadních vlastností. Je to především nepadělatelnost, tedy nikdo by neměl být schopen podepsat se podpisem někoho jiného. Z podpisu by mělo být jednoznačně určitelné (resp. ověřitelné), kdo jej pořídil. Podpis musí být neoddělitelně spjatý s podepisovaným dokumentem, aby ho případný útočník nemohl použít pro podpis nějakého jiného dokumentu. Další důležitou vlastností je nepopiratelnost původu když někdo nějaký dokument podepíše, nemůže později tento podpis popřít. Technologie digitálních podpisů slouží ke stejným účelům, jako podpisy klasické, používají se ovšem v digitálním světě. Mějme dva subjekty A a B (v literatuře jsou často označovány jako Alice a Bob), které si chtějí vyměňovat zprávy podepsané pomocí technik digitálního podpisu. Jaké vlastnosti musí digitální podpis mít? Obecná definice digitálního podpisu je následující: Definice 2.1 Digitální podpis. Digitální podpis je datový řetězec, který spojuje zprávu (v digitální podobě) s odesílatelem této zprávy. V praxi se jedná o nějaká data, která jsou nerozlučně spojena s podepisovanou zprávou (či obecně s jakýmikoliv daty) a která poskytují autentizaci o daném dokumentu je možné s jistotou říci, kdo jej podepsal; integritu jistotu, že zpráva nebyla během přenosu neoprávněně pozměněna; nepopiratelnost původu pokud někdo podepíše nějakou zprávu, nemůže později tvrdit, že ji nepodepsal pomocí mechanismu veřejných klíčů. Jak výše zmíněný mechanismus veřejných klíčů vypadá? Každá osoba, která chce podepisovat zprávy, musí mít dva tzv. klíče soukromý (private 19

26 2. DIGITÁLNÍ PODPISY key) a veřejný (public key). Jejich délka je typicky několik set bitů. Soukromý klíč se používá při pořizování digitálního podpisu. Musí platit, že bez znalosti soukromého klíče je (prakticky) nemožné digitální podpis vytvořit. Každý tedy musí zajistit důvěrnost svého soukromého klíče, protože při jeho znalosti by mohl správný digitální podpis vytvořit kdokoliv. U veřejného klíče je situace opačná. Hodnotu veřejného klíče příslušné osoby musí znát každý, kdo chce ověřit platnost digitálního podpisu tohoto člověka. Data Odesílatel (Alice) Alicin soukromý klíè Pøíjemce (Bob) Alicin veøejný klíè Certifikát Alicina veøejného klíèe Algoritmus digitálního podpisu Podepsaná data Algoritmus ovìøení digitálního podpisu Obrázek 2.1: Obecné schéma digitálního podpisu. Při komunikaci Alice s Bobem se může stát, že nějaký útočník podstrčí Bobovi svůj veřejný klíč, ale prohlásí ho za Alicin. Poté může Bobovi zasílat zprávy podepsané svým soukromým klíčem. Bob si bude myslet, že zprávy jsou od Alice a že jejich digitální podpis je v pořádku. Proto je nutné zajistit nějakým způsobem integritu veřejného klíče. K tomu se používá certifikát veřejného klíče. Certifikát veřejného klíče je údaj, který spojuje veřejný klíč s určitou osobou (nebo spíše s nějakým identifikátorem, který danou osobu jednoznačně určuje). Certifikát veřejného klíče bývá většinou digitálně podepsán certifikační autoritou, což je nějaká instituce, které všechny zúčastněné strany důvěřují. Tento podpis zaručuje pravost certifikátu, a tedy i veřejného klíče s tímto certifikátem spojeným. Tímto způsobem se problém integrity veřejných klíčů všech účastníků komunikace redukuje na problém zajištění integrity veřejného klíče certifikační autority. Tu je již třeba zajistit jiným způsobem, například osobním odběrem veřejného klíče v pobočce certifikační autority. Naprostá většina používaných algoritmů digitálního podpisu je založena na asymetrické kryptografii. Ta je ovšem časově velmi náročná. Při podepisování zpráv, které mají větší délku, by digitální podepisování znamenalo neúměrné zdržení. Proto se v praxi nepodepisuje celá zpráva, ale 20

27 2. DIGITÁLNÍ PODPISY pouze její hash. Ta musí být vytvořena pomocí silné jednosměrné hashovací funkce, jak je popsáno v kapitole 1.1. Data Odesílatel (Alice) Alicin soukromý klíè Pøíjemce (Bob) Alicin veøejný klíè Certifikát Alicina veøejného klíèe Hash Data Data Hash? Hash Algoritmus digitálního podpisu Podepsaná hash Algoritmus ovìøení digitálního podpisu Obrázek 2.2: Schéma digitálního podpisu využívajícího hashování. Pokud chce tedy Alice zaslat Bobovi digitálně podepsanou zprávu za pomoci hashování, probíhá celý proces následovně. Alice vytvoří ze zasílané zprávy hash, tu digitálně podepíše a zprávu i podepsanou hash zašle Bobovi. Ten si pomocí Alicina veřejného klíče (opatřeného certifikátem) zkontroluje, že hash skutečně podepsala Alice. Poté si z obdržené zprávy spočítá hash a zkontroluje, zda je shodná s hashí, která byla opatřena digitálním podpisem. Pokud ano, má jistotu, že zprávu odeslala skutečně Alice a že byla řádně podepsána. V praxi přichází s používáním soukromých a veřejných klíčů spousta problémů, které je potřeba nějakým způsobem řešit. Může se stát, že přes veškerá opatření získá útočník hodnotu např. Alicina soukromého klíče. V takovém případě je nutné zajistit, aby certifikační autorita přestala poskytovat certifikát k veřejnému klíči, který přísluší k tomuto Alicinu odcizenému soukromému klíči. Problém spočívá v tom, jak zajistit, aby se všichni účastníci komunikace dozvěděli o zrušení certifikátu včas a útočník nestačil napáchat nějaké škody. Zároveň je potřeba, aby si Alice vytvořila nový pár svých klíčů a veřejný opět nechala opatřit certifikátem. Podobný problém nastává, pokud zaměstnanec opouští své místo v ně- 21

28 2. DIGITÁLNÍ PODPISY Vstup: Dvě celá nezáporná čísla a a b, a b. Výstup: Číslo d = nsd (a, b) a celá čísla x, y, pro která platí: ax + by = d. 1. Pokud b = 0, pak nastav hodnoty výsledných proměnných na d = a, x = 1, y = 0 a skonči. 2. Nastav pomocné proměnné: x 2 = 1, x 1 = 0, y 2 = 0, y 1 = Dokud platí b > 0, dělej následující: q = a, r = a qb, x = x2 qx1, y = y2 qy1. b a = b, b = r, x 2 = x 1, x 1 = x, y 2 = y 1, y 1 = y. 4. Nastav hodnoty výsledných proměnných na d = a, x = x 2, y = y 2 a skonči. Obrázek 2.3: Rozšířený Eukleidův algoritmus. jakém podniku a používal zde soukromý klíč, kterým podepisoval zprávy coby zaměstnanec podniku. Při jeho odchodu se musí zajistit, aby tento klíč nemohl nikdo nadále používat (například proto, aby zaměstnanec nemohl svůj bývalý podnik zneužitím tohoto soukromého klíče poškodit). Důležité je, že digitální podpis sám o sobě nedává žádnou informaci o tom, kdy byl pořízen. Pokud je tuto informaci potřeba k podpisu připojit, musí se použít jiných mechanismů. 2.1 RSA Kryptografický systém RSA [21] je pojmenován po pánech Rivestovi, Shamirovi a Adelmanovi, kteří jej v roce 1977 publikovali. 1 Dnes je to nejpoužívanější algoritmus v systémech pracujících s asymetrickou kryptografií, proto bude popsán podrobněji než ostatní algoritmy. Systém RSA je založen na myšlence, že přestože násobení dvou prvočísel je relativně snadné, faktorizace jejich násobku je obtížná (samozřejmě bez znalosti oněch dvou součinitelů). Pokud chce Alice Bobovi zaslat nějakou zprávu opatřenou digitálním podpisem pomocí RSA, musí mít nejdříve vygenerován svůj soukromý a veřejný klíč. To provede následovně. Nejprve zvolí dvě velká různá prvo- 1 Algoritmus, který je ekvivalentní s RSA, byl ve skutečnosti objeven již v roce Používala jej ovšem britská informační služba GCHQ (Government Communications Headquarters) a tento objev podléhal přísnému utajení. K odhalení tohoto faktu došlo až v roce

29 2. DIGITÁLNÍ PODPISY Generování klíčů 1. Vygeneruj dvě velká náhodná a od sebe různá prvočísla p a q, která mají přibližně stejnou velikost. 2. Spočítej n = pq a ϕ(n) = (p 1)(q 1). 3. Zvol libovolné celé číslo e, 1 < e < ϕ(n), pro které platí: nsd(e, ϕ(n)) = Použij rozšířený Eukleidův algoritmus (viz obrázek 2.3) pro nalezení jedinečného čísla d, 1 < d < ϕ(n), pro které platí ed 1 (mod ϕ(n)), tedy d e 1 (mod ϕ(n)). 5. Veřejný klíč je (e, n), soukromý klíč je (d, n). Vytvoření digitálně podepsané zprávy 1. Zpráva m musí být číslo v rozsahu [0, n). 2. Spočítej s = m d mod n. s je digitální podpis zprávy m. 1. Získej Alicin veřejný klíč (e, n). Ověření digitálního podpisu 2. Spočítej m = s e mod n. m je původní hodnota zprávy. Obrázek 2.4: Algoritmus RSA. čísla p a q. Z nich spočítá jejich součin pq = n. Dále spočítá hodnotu Eulerovy funkce pro n (viz definice 2.3), ϕ(n) = (p 1)(q 1) (podle věty 2.4). Potom zvolí libovolné celé číslo e menší než ϕ(n), které je s ϕ(n) nesoudělné. Dvojice čísel (e, n) nyní tvoří Alicin veřejný klíč. Dále musí Alice vypočítat svůj soukromý klíč d. Ten spočítá podle vztahu ed 1 (mod ϕ(n)). Platí tedy d e 1 (mod ϕ(n)). e 1 existuje, protože e bylo zvoleno s ϕ(n) nesoudělné. Hodnota d se dá spočítat například pomocí rozšířeného Eukleidova algoritmu popsaného na obrázku 2.3. Soukromý klíč Alice tvoří dvojice čísel (d, n). Pokud chce nyní Alice podepsat nějakou zprávu m, stačí když spočítá s = m d (mod n). Digitální podpis zprávy m je s. Jestliže chce Bob ověřit digitální podpis zprávy a získat její hodnotu, spočítá pomocí hodnoty Alicina veřejného klíče (e, n) (ponechme nyní stranou otázku certifikátu veřejného klíče) původní hodnotu zprávy: m = s e (mod n). Celé schéma RSA je popsáno na obrázku 2.4. Příklad 2.2. Alice volí prvočísla p = 7, q = 17 (pro praktické použití jsou 23

30 2. DIGITÁLNÍ PODPISY prvočísla příliš malá, jako příklad však postačují). Dále spočítá n = pq = 7 17 = 119 a ϕ(n) = ϕ(119) = 6 16 = 96. Zvolí e = 77 a spočítá d, například podle schématu na obrázku 2.3. Vyjde d = 5. Soukromý klíč Alice je tedy (5, 119), její veřejný klíč tvoří dvojice čísel (77, 119). Předpokládejme, že Alicí zasílaná zpráva má hodnotu například m = 197. Toto číslo se nevejde do požadovaného rozsahu [0, 119). Musí se tedy rozdělit, například na dva bloky s hodnotami m 1 = 19 a m 2 = 7, ze kterých si poté Bob složí původní hodnotu zprávy. Nyní Alice podepíše oba bloky: s 1 = 19 5 mod 119 = 66, s 2 = 7 5 mod 119 = 28. Alice tedy zašle Bobovi čísla 66 a 28. Bob získá Alicin veřejný klíč a na obdržená čísla aplikuje výpočet: m 1 = mod 119 = 19 a m 2 = mod 119 = 7. Z těchto výsledků poskládá původní zprávu m = 197. Jak vypadá matematické pozadí celého algoritmu? Při obnovování zprávy m z s se počítá její původní hodnota jako s e mod n. Protože platí s m d (mod n), dá se odvodit s e (m d ) e m de (mod n). Ze vztahu mezi veřejným a soukromým klíčem ed 1 (mod ϕ(n)) je vidět, že platí ed = 1 + k(p 1)(q 1) pro nějaké k Z {0}. Dostáváme tedy s e m 1+k(p 1)(q 1) m m k(p 1)(q 1) (mod n). Protože je p prvočíslo, platí podle malé Fermatovy věty (2.5) m (p 1) 1 (mod p). Dále je vidět, že m (p 1)(q 1)k (m (p 1) ) (q 1)k 1 (q 1)k (mod p) 1 (mod p). q je také prvočíslo, musí tedy platit analogicky m (q 1)(p 1)k 1 (mod q). Podle věty 2.6 dostáváme m (p 1)(q 1)k mod pq = 1 mod pq = 1 mod n. Pokud se nyní vrátíme k původnímu vztahu, dostaneme požadovaný výsledek: s e mod n = m m k(p 1)(q 1) mod n = m 1 mod n = m mod n = m. Zde jsou uvedeny používané definice a věty. Definice 2.3 Eulerova funkce. Necht n je přirozené číslo. Symbolem ϕ(n) označíme počet všech přirozených čísel menších než n a nesoudělných s n. Funkce ϕ se nazývá Eulerova funkce. Věta 2.4. (a) Pro libovolné prvočíslo p platí: ϕ(p) = p 1. (b) Pro libovolná nesoudělná přirozená čísla p, q platí: ϕ(p q) = ϕ(p) ϕ(q). Věta 2.5 Malá Fermatova věta. Necht p je prvočíslo a a je číslo, které je s p nesoudělné. Pak platí a p 1 1 (mod p). Věta 2.6 Čínská zbytková věta. Pokud jsou p a q dvě nesoudělná čísla a 24

31 2. DIGITÁLNÍ PODPISY pro čísla x a y platí x y (mod p) a x y (mod q), pak platí x y (mod pq). Bezpečnost RSA vyplývá ze skutečnosti, že aby bylo možné z veřejného klíče (e, n) získat hodnotu soukromého klíče (d, n), musel by útočník faktorizovat číslo n, aby získal hodnoty prvočísel, z nichž se n skládá a pomocí nichž je tedy možné soukromý klíč vypočítat. Dnes ovšem neexistuje pro faktorizaci velkých čísel žádný efektivní algoritmus, 2 zbývá tedy metoda hrubou silou. Délka klíče by proto dnes měla být alespoň 1024 bitů. 2.2 ElGamal Dalším používaným schématem pro digitální podpis je algoritmus ElGamal [22]. Jeho bezpečnost je založena na obtížnosti výpočtu diskrétních logaritmů, tedy obecně na obtížnosti výpočtu hodnoty čísla a ze vztahu q a y (mod p), kde hodnoty q, q a, y a p jsou známé. Celý algoritmus je podrobně popsán na obrázku 2.5. Na rozdíl od RSA není možné z digitálního podpisu obnovit původní hodnotu zprávy, ta musí být zaslána zvlášt. Příklad 2.7. Alice chce vygenerovat svůj veřejný a soukromý klíč a zasílat Bobovi digitálně podepsané zprávy pomocí schématu ElGamal. Volí tedy parametry p = 2357, q = 2, a = Dále spočítá y = mod 2357 = Veřejný klíč Alice je tedy (2357, 2, 1185). 3 Pro zjednodušení předpokládejme, že pro podepisovanou zprávu platí m Z p a pro hashovací funkci platí h(m) = m. Alice chce Bobovi zaslat například zprávu m = Zvolí náhodné k = 1529 a spočítá r = mod 2357 = 1490 a k 1 mod (p 1) = 245. Nyní již může spočítat s = 245{ } mod 2356 = Digitální podpis zprávy m tvoří dvojice čísel (1490, 1777). Aby Bob digitální podpis ověřil, spočítá v 1 = mod 2357 = 1072 a v 2 = mod 2357 = Protože v 1 = v 2, je digitální podpis v pořádku. 2 Ve skutečnosti takový algoritmus existuje, jmenuje se Shorův. Jeho časová složitost je polynomiální. Je ovšem navržený pro kvantové počítače. V současné době však žádný kvantový počítač schopný pracovat s velkými čísly neexistuje a pravděpodobně ještě dlouho existovat nebude. 3 Zvolené parametry jsou, stejně jako v příkladu 2.1, pro praktické použití příliš malé. V praxi se volí délka p několik set bitů. 25

32 2. DIGITÁLNÍ PODPISY Generování klíčů 1. Vygeneruj velké náhodné prvočíslo p a generátor q multiplikativní grupy Z p. 2. Zvol náhodné celé číslo a, 1 a p Spočítej y = q a mod p. 4. Veřejný klíč je trojice (p, q, y). Soukromý klíč je (p, q, a). Vytvoření digitálně podepsané zprávy 1. Zvol náhodné tajné celé číslo k, 1 k p 2, pro které platí nsd(k, p 1) = Spočítej r = q k mod p. 3. Spočítej k 1 mod (p 1). 4. Spočítej s = k 1 {h(m) ar} mod (p 1). h je hashovací funkce, jejíž obor hodnot musí být Z p. 5. Digitální podpis zprávy m je dvojice (r, s). 1. Získej Alicin veřejný klíč (p, q, y). Ověření digitálního podpisu 2. Zkontroluj, zda platí 1 r p 1. Pokud ne, podpis je chybný. 3. Spočítej v 1 = y r r s mod p. 4. Spočítej h(m) a v 2 = q h(m) mod p. 5. Pokud platí v 1 = v 2, je digitální podpis v pořádku. Pokud platí v 1 v 2, je podpis chybný. Obrázek 2.5: Algoritmus ElGamal. 2.3 DSA Na obtížnosti výpočtu diskrétních logaritmů je založen i další algoritmus digitálního podpisu, jmenuje se DSA [11] (Ditital Signature Algorithm) a je velmi podobný algoritmu ElGamal. Algoritmus DSA je zajímavý tím, že byl v roce 1994 vybrán americkým standardizačním úřadem NIST [23] (National Institute of Standards and Technology) pro standard digitálního podpisu DSS (Digital Signature Standard). Bylo to vůbec první schéma digitálního podpisu, které bylo uznáno za standard vládou nějaké země. 26

Šifrová ochrana informací věk počítačů PS5-2

Šifrová ochrana informací věk počítačů PS5-2 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 1 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Šifrová ochrana informací věk počítačů PS5-2 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 2 Osnova

Více

Šifrová ochrana informací věk počítačů PS5-2

Šifrová ochrana informací věk počítačů PS5-2 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Šifrová ochrana informací věk počítačů PS5-2 1 Osnova šifrová ochrana využívající výpočetní techniku např. Feistelova šifra; symetrické a asymetrické šifry;

Více

Digitální podepisování pomocí asymetrické kryptografie

Digitální podepisování pomocí asymetrické kryptografie Digitální podepisování pomocí asymetrické kryptografie 11. dubna 2011 Trocha historie Asymetrické metody Historie Historie Vlastnosti Asymetrické šifrování 1976 Whitfield Diffie a Martin Hellman první

Více

Základní definice Aplikace hašování Kontrukce Známé hašovací funkce. Hašovací funkce. Jonáš Chudý. Úvod do kryptologie

Základní definice Aplikace hašování Kontrukce Známé hašovací funkce. Hašovací funkce. Jonáš Chudý. Úvod do kryptologie Úvod do kryptologie Základní definice Kryptografická hašovací funkce Kryptografickou hašovací funkcí nazveme zobrazení h, které vstupu X libovolné délky přiřadí obraz h(x) pevné délky m a navíc splňuje

Více

Projekt: 1.5, Registrační číslo: CZ.1.07/1.5.00/ Digitální podpisy

Projekt: 1.5, Registrační číslo: CZ.1.07/1.5.00/ Digitální podpisy VY_32_INOVACE_BEZP_08 Projekt: 1.5, Registrační číslo: CZ.1.07/1.5.00/34.0304 Digitální podpisy Základní myšlenkou elektronického podpisu je obdoba klasického podpisu, jež má zaručit jednoznačnou identifikaci

Více

Kryptografie založená na problému diskrétního logaritmu

Kryptografie založená na problému diskrétního logaritmu Kryptografie založená na problému diskrétního logaritmu Andrew Kozlík KA MFF UK Diffieho-Hellmanův protokol ustanovení klíče (1976) Před zahájením protokolu se ustanoví veřejně známé parametry: Konečná

Více

8. RSA, kryptografie s veřejným klíčem. doc. Ing. Róbert Lórencz, CSc.

8. RSA, kryptografie s veřejným klíčem. doc. Ing. Róbert Lórencz, CSc. Bezpečnost 8. RSA, kryptografie s veřejným klíčem doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních programů

Více

Asymetrická kryptografie

Asymetrická kryptografie PEF MZLU v Brně 12. listopadu 2007 Problém výměny klíčů Problém výměny klíčů mezi odesílatelem a příjemcem zprávy trápil kryptografy po několik století. Problém spočívá ve výměně tajné informace tak, aby

Více

Diffieho-Hellmanův protokol ustanovení klíče

Diffieho-Hellmanův protokol ustanovení klíče Diffieho-Hellmanův protokol ustanovení klíče Andrew Kozlík KA MFF UK Diffieho-Hellmanův protokol ustanovení klíče (1976) Před zahájením protokolu se ustanoví veřejně známé parametry: Konečná grupa (G,

Více

asymetrická kryptografie

asymetrická kryptografie asymetrická kryptografie princip šifrování Zavazadlový algoritmus RSA EL GAMAL další asymetrické blokové algoritmy Skipjack a Kea, DSA, ECDSA D H, ECDH asymetrická kryptografie jeden klíč pro šifrování

Více

MFF UK Praha, 22. duben 2008

MFF UK Praha, 22. duben 2008 MFF UK Praha, 22. duben 2008 Elektronický podpis / CA / PKI část 1. http://crypto-world.info/mff/mff_01.pdf P.Vondruška Slide2 Přednáška pro ty, kteří chtějí vědět PROČ kliknout ANO/NE a co zatím všechno

Více

Kryptografie, elektronický podpis. Ing. Miloslav Hub, Ph.D. 27. listopadu 2007

Kryptografie, elektronický podpis. Ing. Miloslav Hub, Ph.D. 27. listopadu 2007 Kryptografie, elektronický podpis Ing. Miloslav Hub, Ph.D. 27. listopadu 2007 Kryptologie Kryptologie věda o šifrování, dělí se: Kryptografie nauka o metodách utajování smyslu zpráv převodem do podoby,

Více

Digitální podepisování pomocí asymetrické kryptografie

Digitální podepisování pomocí asymetrické kryptografie Digitální podepisování pomocí asymetrické kryptografie Jan Máca, FJFI ČVUT v Praze 26. března 2012 Jan Máca () Digitální podepisování 26. března 2012 1 / 22 Obsah 1 Digitální podpis 2 Metoda RSA 3 Metoda

Více

PA159 - Bezpečnostní aspekty

PA159 - Bezpečnostní aspekty PA159 - Bezpečnostní aspekty 19. 10. 2007 Formulace oblasti Kryptografie (v moderním slova smyslu) se snaží minimalizovat škodu, kterou může způsobit nečestný účastník Oblast bezpečnosti počítačových sítí

Více

Asymetrická kryptografie a elektronický podpis. Ing. Mgr. Martin Henzl Mgr. Radim Janča ijanca@fit.vutbr.cz

Asymetrická kryptografie a elektronický podpis. Ing. Mgr. Martin Henzl Mgr. Radim Janča ijanca@fit.vutbr.cz Asymetrická kryptografie a elektronický podpis Ing. Mgr. Martin Henzl Mgr. Radim Janča ijanca@fit.vutbr.cz Obsah cvičení Asymetrická, symetrická a hybridní kryptografie Matematické problémy, na kterých

Více

Hashovací funkce. Andrew Kozlík KA MFF UK

Hashovací funkce. Andrew Kozlík KA MFF UK Hashovací funkce Andrew Kozlík KA MFF UK Hashovací funkce Hashovací funkce je zobrazení h : {0, 1} {0, 1} n. Typicky n {128, 160, 192, 224, 256, 384, 512}. Obraz h(x) nazýváme otisk, hash nebo digest prvku

Více

Správa přístupu PS3-2

Správa přístupu PS3-2 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Správa přístupu PS3-2 1 Osnova II základní metody pro zajištění oprávněného přístupu; autentizace; autorizace; správa uživatelských účtů; srovnání současných

Více

Kryptografie - Síla šifer

Kryptografie - Síla šifer Kryptografie - Síla šifer Rozdělení šifrovacích systémů Krátká charakteristika Historie a současnost kryptografie Metody, odolnost Praktické příklady Slabá místa systémů Lidský faktor Rozdělení šifer Obousměrné

Více

Asymetrické šifry. Pavla Henzlová 28.3.2011. FJFI ČVUT v Praze. Pavla Henzlová (FJFI ČVUT v Praze) Asymetrické šifry 28.3.

Asymetrické šifry. Pavla Henzlová 28.3.2011. FJFI ČVUT v Praze. Pavla Henzlová (FJFI ČVUT v Praze) Asymetrické šifry 28.3. Asymetrické šifry Pavla Henzlová FJFI ČVUT v Praze 28.3.2011 Pavla Henzlová (FJFI ČVUT v Praze) Asymetrické šifry 28.3.2011 1 / 16 Obsah 1 Asymetrická kryptografie 2 Diskrétní logaritmus 3 Baby step -

Více

vá ro ko Sý ětuše Kv

vá ro ko Sý ětuše Kv Květuše Sýkorová elektronický podpis hash funkce bezpečná komunikace princip nejznámější hash funkce MD x RIPEMD x SHA Květuše Sýkorová definice: Elektronický podpis je nejobecnější pojem pro údaje v elektronické

Více

ElGamal, Diffie-Hellman

ElGamal, Diffie-Hellman Asymetrické šifrování 22. dubna 2010 Prezentace do předmětu UKRY Osnova 1 Diskrétní logaritmus 2 ElGamal 3 Diffie-Hellman Osnova 1 Diskrétní logaritmus 2 ElGamal 3 Diffie-Hellman Osnova 1 Diskrétní logaritmus

Více

Elektronický podpis. Základní princip. Digitální podpis. Podpis vs. šifrování. Hashování. Jednosměrné funkce. Odesílatel. Příjemce

Elektronický podpis. Základní princip. Digitální podpis. Podpis vs. šifrování. Hashování. Jednosměrné funkce. Odesílatel. Příjemce Základní princip Elektronický podpis Odesílatel podepíše otevřený text vznikne digitálně podepsaný text Příjemce ověří zda podpis patří odesílateli uvěří v pravost podpisu ověří zda podpis a text k sobě

Více

Moderní metody substitučního šifrování

Moderní metody substitučního šifrování PEF MZLU v Brně 11. listopadu 2010 Úvod V současné době se pro bezpečnou komunikaci používají elektronická média. Zprávy se před šifrováním převádí do tvaru zpracovatelného technickým vybavením, do binární

Více

Asymetrická kryptografie a elektronický podpis. Ing. Dominik Breitenbacher Mgr. Radim Janča

Asymetrická kryptografie a elektronický podpis. Ing. Dominik Breitenbacher Mgr. Radim Janča Asymetrická kryptografie a elektronický podpis Ing. Dominik Breitenbacher ibreiten@fit.vutbr.cz Mgr. Radim Janča ijanca@fit.vutbr.cz Obsah cvičení Asymetrická, symetrická a hybridní kryptografie Kryptoanalýza

Více

Andrew Kozlík KA MFF UK

Andrew Kozlík KA MFF UK Autentizační kód zprávy Andrew Kozlík KA MFF UK Autentizační kód zprávy Anglicky: message authentication code (MAC). MAC algoritmus je v podstatě hashovací funkce s klíčem: MAC : {0, 1} k {0, 1} {0, 1}

Více

KRYPTOGRAFIE VER EJNE HO KLI Č E

KRYPTOGRAFIE VER EJNE HO KLI Č E KRYPTOGRAFIE VER EJNE HO KLI Č E ÚVOD Patricie Vyzinová Jako téma jsem si vybrala asymetrickou kryptografii (kryptografie s veřejným klíčem), což je skupina kryptografických metod, ve kterých se pro šifrování

Více

PSK2-16. Šifrování a elektronický podpis I

PSK2-16. Šifrování a elektronický podpis I PSK2-16 Název školy: Autor: Anotace: Vzdělávací oblast: Předmět: Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3 Ing. Marek Nožka Jak funguje asymetrická šifra a elektronický podpis Informační

Více

Autentizace uživatelů

Autentizace uživatelů Autentizace uživatelů základní prvek ochrany sítí a systémů kromě povolování přístupu lze uživatele členit do skupin, nastavovat různá oprávnění apod. nejčastěji dvojicí jméno a heslo další varianty: jednorázová

Více

RSA. Matematické algoritmy (11MA) Miroslav Vlček, Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. čtvrtek 21.

RSA. Matematické algoritmy (11MA) Miroslav Vlček, Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. čtvrtek 21. Čínská věta o zbytcích Šifrování Závěr Čínská věta o zbytcích RSA Matematické algoritmy (11MA) Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 4. přednáška 11MA čtvrtek 21. října 2010 verze:

Více

Jak funguje asymetrické šifrování?

Jak funguje asymetrické šifrování? Jak funguje asymetrické šifrování? Petr Vodstrčil petr.vodstrcil@vsb.cz Katedra aplikované matematiky, Fakulta elektrotechniky a informatiky, Vysoká škola báňská Technická univerzita Ostrava Petr Vodstrčil

Více

Základy kryptografie. Beret CryptoParty 11.02.2013. 11.02.2013 Základy kryptografie 1/17

Základy kryptografie. Beret CryptoParty 11.02.2013. 11.02.2013 Základy kryptografie 1/17 Základy kryptografie Beret CryptoParty 11.02.2013 11.02.2013 Základy kryptografie 1/17 Obsah prezentace 1. Co je to kryptografie 2. Symetrická kryptografie 3. Asymetrická kryptografie Asymetrické šifrování

Více

Čínská věta o zbytcích RSA

Čínská věta o zbytcích RSA Čínská věta o zbytcích RSA Matematické algoritmy (11MAG) Jan Přikryl Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 5. přednáška 11MAG pondělí 10. listopadu 2014 verze: 2014-11-10 11:20 Obsah

Více

RSA. Matematické algoritmy (11MAG) Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. verze: :01

RSA. Matematické algoritmy (11MAG) Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. verze: :01 Čínská věta o zbytcích Mocnění Eulerova funkce Šifrování Závěr Čínská věta o zbytcích RSA Matematické algoritmy (11MAG) Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 4. přednáška 11MAG ponděĺı

Více

Složitost a moderní kryptografie

Složitost a moderní kryptografie Složitost a moderní kryptografie Radek Pelánek Modulární systém dalšího vzdělávání pedagogických pracovníků JmK v přírodních vědách a informatice CZ.1.07/1.3.10/02.0024 Složitost a moderní kryptografie

Více

SSL Secure Sockets Layer

SSL Secure Sockets Layer SSL Secure Sockets Layer internetové aplikační protokoly jsou nezabezpečené SSL vkládá do architektury šifrující vrstvu aplikační (HTTP, IMAP,...) SSL transportní (TCP, UDP) síťová (IP) SSL poskytuje zabezpečenou

Více

Šifrování Kafková Petra Kryptografie Věda o tvorbě šifer (z řečtiny: kryptós = skrytý, gráphein = psát) Kryptoanalýza Věda o prolamování/luštění šifer Kryptologie Věda o šifrování obecné označení pro kryptografii

Více

Informatika / bezpečnost

Informatika / bezpečnost Informatika / bezpečnost Bezpečnost, šifry, elektronický podpis ZS 2015 KIT.PEF.CZU Bezpečnost IS pojmy aktiva IS hardware software data citlivá data hlavně ta chceme chránit autorizace subjekt má právo

Více

Pokročilá kryptologie

Pokročilá kryptologie Pokročilá kryptologie RSA doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních programů Informatika pro

Více

Komerční výrobky pro kvantovou kryptografii

Komerční výrobky pro kvantovou kryptografii Cryptofest 05 Katedra počítačů, Fakulta elektrotechnická České vysoké učení technické v Praze 19. března 2005 O čem bude řeč Kryptografie Kryptografie se zejména snaží řešit: autorizovanost přístupu autenticitu

Více

Protokol RSA. Tvorba klíčů a provoz protokolu Bezpečnost a korektnost protokolu Jednoduché útoky na provoz RSA Další kryptosystémy

Protokol RSA. Tvorba klíčů a provoz protokolu Bezpečnost a korektnost protokolu Jednoduché útoky na provoz RSA Další kryptosystémy Protokol RSA Jiří Velebil: X01DML 3. prosince 2010: Protokol RSA 1/18 Protokol RSA Autoři: Ronald Rivest, Adi Shamir a Leonard Adleman. a Publikováno: R. L. Rivest, A. Shamir a L. Adleman, A Method for

Více

DSY-6. Přenosový kanál kódy pro zabezpečení dat Základy šifrování, autentizace Digitální podpis Základy měření kvality přenosu signálu

DSY-6. Přenosový kanál kódy pro zabezpečení dat Základy šifrování, autentizace Digitální podpis Základy měření kvality přenosu signálu DSY-6 Přenosový kanál kódy pro zabezpečení dat Základy šifrování, autentizace Digitální podpis Základy měření kvality přenosu signálu Kódové zabezpečení přenosu dat Popis přiřazení kódových slov jednotlivým

Více

5. Hašovací funkce, MD5, SHA-x, HMAC. doc. Ing. Róbert Lórencz, CSc.

5. Hašovací funkce, MD5, SHA-x, HMAC. doc. Ing. Róbert Lórencz, CSc. Bezpečnost 5. Hašovací funkce, MD5, SHA-x, HMAC doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních programů

Více

CO JE KRYPTOGRAFIE Šifrovací algoritmy Kódovací algoritmus Prolomení algoritmu

CO JE KRYPTOGRAFIE Šifrovací algoritmy Kódovací algoritmus Prolomení algoritmu KRYPTOGRAFIE CO JE KRYPTOGRAFIE Kryptografie je matematický vědní obor, který se zabývá šifrovacími a kódovacími algoritmy. Dělí se na dvě skupiny návrh kryptografických algoritmů a kryptoanalýzu, která

Více

C5 Bezpečnost dat v PC

C5 Bezpečnost dat v PC C5 T1 Vybrané kapitoly počíta tačových s sítí Bezpečnost dat v PC 1. Počíta tačová bezpečnost 2. Symetrické šifrování 3. Asymetrické šifrování 4. Velikost klíče 5. Šifrování a dešifrov ifrování 6. Steganografie

Více

MINIMÁLNÍ POŽADAVKY NA KRYPTOGRAFICKÉ ALGORITMY. doporučení v oblasti kryptografických prostředků

MINIMÁLNÍ POŽADAVKY NA KRYPTOGRAFICKÉ ALGORITMY. doporučení v oblasti kryptografických prostředků MINIMÁLNÍ POŽADAVKY NA KRYPTOGRAFICKÉ ALGORITMY doporučení v oblasti kryptografických prostředků Verze 1.0, platná ke dni 28.11.2018 Obsah Úvod... 3 1 Doporučení v oblasti kryptografických prostředků...

Více

Jihomoravske centrum mezina rodnı mobility. T-exkurze. Teorie c ı sel, aneb elektronicky podpis a s ifrova nı

Jihomoravske centrum mezina rodnı mobility. T-exkurze. Teorie c ı sel, aneb elektronicky podpis a s ifrova nı Jihomoravske centrum mezina rodnı mobility T-exkurze Teorie c ı sel, aneb elektronicky podpis a s ifrova nı Brno 2013 Petr Pupı k Obsah Obsah 2 Šifrovací algoritmy RSA a ElGamal 12 2.1 Algoritmus RSA.................................

Více

Identifikátor materiálu: ICT-2-04

Identifikátor materiálu: ICT-2-04 Identifikátor materiálu: ICT-2-04 Předmět Téma sady Informační a komunikační technologie Téma materiálu Zabezpečení informací Autor Ing. Bohuslav Nepovím Anotace Student si procvičí / osvojí kryptografii.

Více

9. DSA, PKI a infrastruktura. doc. Ing. Róbert Lórencz, CSc.

9. DSA, PKI a infrastruktura. doc. Ing. Róbert Lórencz, CSc. Bezpečnost 9. DSA, PKI a infrastruktura doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních programů Informatika

Více

ČESKÁ TECHNICKÁ NORMA

ČESKÁ TECHNICKÁ NORMA ČESKÁ TECHNICKÁ NORMA ICS 35.240.15 2003 Bankovnictví - Bezpečný přenos souborů (drobné obchody) ČSN ISO 15668 97 9120 Listopad Banking - Secure file transfer (retail) Banque - Transfert de fichier de

Více

Symetrické šifry, DES

Symetrické šifry, DES Symetrické šifry, DES Jiří Vejrosta Fakulta jaderná a fyzikálně inženýrská, ČVUT Jiří Vejrosta (FJFI) UKRY 1 / 20 Klíče Symetrická šifra tajný klíč klíč stejný u odesilatele i příjemce Asymetrická šifra

Více

Úvod RSA Aplikace, související témata RSA. Ing. Štěpán Sem <stepan.sem@gmail.com> Festival Fantazie, 2013. Štěpán Sem

Úvod RSA Aplikace, související témata RSA. Ing. Štěpán Sem <stepan.sem@gmail.com> Festival Fantazie, 2013. Štěpán Sem Ing. Festival Fantazie, 2013 Osnova 1 Základní pojmy Obtížnost Kryptografie 2 Základní princip Matematické souvislosti Historie 3 Vymezení pojmů Základní pojmy Obtížnost Kryptografie

Více

PV157 Autentizace a řízení přístupu

PV157 Autentizace a řízení přístupu PV157 Autentizace a řízení přístupu Zdeněk Říha Vašek Matyáš Konzultační hodiny FI MU: B415 St 17:00 18:00 část semestru mimo CZ Microsoft Research Cambridge Email: zriha / matyas @fi.muni.cz Průběh kurzu

Více

Y36PSI Bezpečnost v počítačových sítích. Jan Kubr - 10_11_bezpecnost Jan Kubr 1/41

Y36PSI Bezpečnost v počítačových sítích. Jan Kubr - 10_11_bezpecnost Jan Kubr 1/41 Y36PSI Bezpečnost v počítačových sítích Jan Kubr - 10_11_bezpecnost Jan Kubr 1/41 Osnova základní pojmy typy šifer autentizace integrita distribuce klíčů firewally typy útoků zabezpečení aplikací Jan Kubr

Více

Operační mody blokových šifer a hašovací algoritmy. šifer. Bloková šifra. šifer. Útoky na operační modus ECB

Operační mody blokových šifer a hašovací algoritmy. šifer. Bloková šifra. šifer. Útoky na operační modus ECB Operační mody blokových šifer a hašovací algoritmy Operační mody blokových šifer RNDr. Vlastimil Klíma vlastimil.klima@i.cz ICZ a.s. 2 Operační mody blokových šifer T způsob použití blokové šifry k šifrování

Více

SIM karty a bezpečnost v mobilních sítích

SIM karty a bezpečnost v mobilních sítích Spojujeme software, technologie a služby SIM karty a bezpečnost v mobilních sítích Václav Lín programátor 19.5.2009 1 Osnova SIM karty Role SIM karet v telekomunikacích Hardwarové charakteristiky Bezpečnost

Více

Návrh a implementace bezpečnosti v podnikových aplikacích. Pavel Horal

Návrh a implementace bezpečnosti v podnikových aplikacích. Pavel Horal Návrh a implementace bezpečnosti v podnikových aplikacích Pavel Horal Kryptologie nauka zkoumající metody dosažení cílů informační bezpečnosti důvěrnost, integrita, autenticita,

Více

Ochrana dat 2.12.2014. Obsah. Výměna tajných klíčů ve veřejném kanálu. Radim Farana Podklady pro výuku. Kryptografické systémy s tajným klíčem,

Ochrana dat 2.12.2014. Obsah. Výměna tajných klíčů ve veřejném kanálu. Radim Farana Podklady pro výuku. Kryptografické systémy s tajným klíčem, Ochrana dat Radim Farana Podklady pro výuku Obsah Kryptografické systémy s tajným klíčem, výměna tajných klíčů veřejným kanálem, systémy s tajným klíčem. Elektronický podpis. Certifikační autorita. Metody

Více

Základy šifrování a kódování

Základy šifrování a kódování Materiál byl vytvořen v rámci projektu Nové výzvy, nové příležitosti, nová škola Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky Základy šifrování a kódování

Více

DEMONSTRAČNÍ APLIKACE HASHOVACÍCH ALGORITMŮ SHA-1 A SHA-2

DEMONSTRAČNÍ APLIKACE HASHOVACÍCH ALGORITMŮ SHA-1 A SHA-2 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÝCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER SYSTEMS DEMONSTRAČNÍ APLIKACE

Více

Katedra informačních technologií PEF ČZU, Praha 6, Kamýcká ul., brechlerova@pef.czu.cz

Katedra informačních technologií PEF ČZU, Praha 6, Kamýcká ul., brechlerova@pef.czu.cz DIGITÁLNÍ PODPIS Dagmar Brechlerová Katedra informačních technologií PEF ČZU, Praha 6, Kamýcká ul., brechlerova@pef.czu.cz Abstrakt V referátu jsou vysvětleny základní pojmy týkající se digitálního podpisu.

Více

ŠIFROVÁNÍ, EL. PODPIS. Kryptografie Elektronický podpis Datové schránky

ŠIFROVÁNÍ, EL. PODPIS. Kryptografie Elektronický podpis Datové schránky ŠIFROVÁNÍ, EL. PODPIS Kryptografie Elektronický podpis Datové schránky Kryptografie Kryptografie neboli šifrování je nauka o metodách utajování smyslu zpráv převodem do podoby, která je čitelná jen se

Více

Směry rozvoje v oblasti ochrany informací PS 7

Směry rozvoje v oblasti ochrany informací PS 7 1 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Směry rozvoje v oblasti ochrany informací PS 7 2 Osnova vývoj symetrických a asymetrických metod; bezpečnostní protokoly; PKI; šifrováochranavinternetu;

Více

496/2004 Sb. VYHLÁŠKA Ministerstva informatiky ze dne 29. července 2004 o elektronických podatelnách

496/2004 Sb. VYHLÁŠKA Ministerstva informatiky ze dne 29. července 2004 o elektronických podatelnách 496/2004 Sb. VYHLÁŠKA Ministerstva informatiky ze dne 29. července 2004 o elektronických podatelnách Ministerstvo informatiky stanoví podle 20 odst. 4 zákona č. 227/2000 Sb., o elektronickém podpisu a

Více

Informatika Ochrana dat

Informatika Ochrana dat Informatika Ochrana dat Radim Farana Podklady předmětu Informatika pro akademický rok 2007/2008 Obsah Kryptografické systémy s veřejným klíčem, výměna tajných klíčů veřejným kanálem, systémy s veřejným

Více

Od Enigmy k PKI. principy moderní kryptografie T-SEC4 / L3. Tomáš Herout Cisco. Praha, hotel Clarion 10. 11. dubna 2013.

Od Enigmy k PKI. principy moderní kryptografie T-SEC4 / L3. Tomáš Herout Cisco. Praha, hotel Clarion 10. 11. dubna 2013. Praha, hotel Clarion 10. 11. dubna 2013 Od Enigmy k PKI principy moderní kryptografie T-SEC4 / L3 Tomáš Herout Cisco 2013 2011 Cisco and/or its affiliates. All rights reserved. Cisco Connect 1 Největší

Více

SHA-3. Úvod do kryptologie. 29. dubna 2013

SHA-3. Úvod do kryptologie. 29. dubna 2013 SHA-3 L ubomíra Balková Úvod do kryptologie 29. dubna 2013 Prolomení hašovacích funkcí masová kryptografie na nedokázaných principech prolomení je přirozená věc 2004 - prolomena MD5 2010 - konec platnosti

Více

Bezpečnostní mechanismy

Bezpečnostní mechanismy Hardwarové prostředky kontroly přístupu osob Bezpečnostní mechanismy Identifikační karty informace umožňující identifikaci uživatele PIN Personal Identification Number úroveň oprávnění informace o povolených

Více

Šifrová ochrana informací věk počítačů KS - 5

Šifrová ochrana informací věk počítačů KS - 5 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 1 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Šifrová ochrana informací věk počítačů KS - 5 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 2

Více

dokumentaci Miloslav Špunda

dokumentaci Miloslav Špunda Možnosti elektronického podpisu ve zdravotnické dokumentaci Možnosti elektronického podpisu ve zdravotnické dokumentaci Miloslav Špunda Anotace Příspěvek se zabývá problematikou užití elektronického podpisu

Více

kryptosystémy obecně další zajímavé substituční šifry klíčové hospodářství kryptografická pravidla Hillova šifra Vernamova šifra Knižní šifra

kryptosystémy obecně další zajímavé substituční šifry klíčové hospodářství kryptografická pravidla Hillova šifra Vernamova šifra Knižní šifra kryptosystémy obecně klíčové hospodářství klíč K, prostor klíčů T K kryptografická pravidla další zajímavé substituční šifry Hillova šifra Vernamova šifra Knižní šifra klíč K různě dlouhá posloupnost znaků

Více

12. Bezpečnost počítačových sítí

12. Bezpečnost počítačových sítí 12. Bezpečnost počítačových sítí Typy útoků: - odposlech při přenosu - falšování identity (Man in the Middle, namapování MAC, ) - automatizované programové útoky (viry, trojské koně, ) - buffer overflow,

Více

Protokol pro zabezpečení elektronických transakcí - SET

Protokol pro zabezpečení elektronických transakcí - SET Protokol pro zabezpečení elektronických transakcí - SET Ing. Petr Číka Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, Ústav telekomunikací, Purkyňova 118, 612 00 Brno,

Více

Integrovaný informační systém Státní pokladny (IISSP) Dokumentace API - integrační dokumentace

Integrovaný informační systém Státní pokladny (IISSP) Dokumentace API - integrační dokumentace Česká republika Vlastník: Logica Czech Republic s.r.o. Page 1 of 10 Česká republika Obsah 1. Úvod...3 2. Východiska a postupy...4 2.1 Způsob dešifrování a ověření sady přístupových údajů...4 2.2 Způsob

Více

Moderní kryptografické metody

Moderní kryptografické metody Bankovní institut vysoká škola Praha Katedra matematiky, statistiky a informačních technologií Moderní kryptografické metody Bakalářská práce Autor: Daryna Polevyk Informační technologie Vedoucí práce:

Více

Problematika převodu zprávy na body eliptické křivky

Problematika převodu zprávy na body eliptické křivky Problematika převodu zprávy na body eliptické křivky Ing. Filip Buršík Ústav telekomunikací Fakulta elektrotechniky a komunikačních technologií Vysoké Učení Technické v Brně Purkyňova 118, 612 00 Brno,

Více

Tel.: (+420) 312 608 207 E-mail: szabo@fbmi.cvut.cz

Tel.: (+420) 312 608 207 E-mail: szabo@fbmi.cvut.cz Internet a zdravotnická informatika ZS 2007/2008 Zoltán Szabó Tel.: (+420) 312 608 207 E-mail: szabo@fbmi.cvut.cz č.dv.: : 504, 5.p Dnešní přednáškař Bezpečnost dat Virus, červ a trojský kůň Základní bezpečnostní

Více

Pokročilá kryptologie

Pokročilá kryptologie Pokročilá kryptologie Kryptografie eliptických křivkek doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních

Více

Základy kryptologie. Kamil Malinka malinka@fit.vutbr.cz Fakulta informačních technologií

Základy kryptologie. Kamil Malinka malinka@fit.vutbr.cz Fakulta informačních technologií Základy kryptologie Kamil Malinka malinka@fit.vutbr.cz Fakulta informačních technologií 1 Detaily zkoušky Během semestru je možno získat maximální počet 100 bodů projekty - 20b. vnitrosemestrální písemka

Více

Stavební bloky kryptografie. Kamil Malinka malinka@fit.vutbr.cz Fakulta informačních technologií

Stavební bloky kryptografie. Kamil Malinka malinka@fit.vutbr.cz Fakulta informačních technologií Stavební bloky kryptografie Kamil Malinka malinka@fit.vutbr.cz Fakulta informačních technologií 1 Módy blokových šifer Šifrování textu po blocích 64, 80, 128, bitové bloky Jak zašifrovat delší zprávy?

Více

Modulární aritmetika, Malá Fermatova věta.

Modulární aritmetika, Malá Fermatova věta. Modulární aritmetika, Malá Fermatova věta. Matematické algoritmy (11MAG) Jan Přikryl Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 4. přednáška 11MAG pondělí 10. listopadu 2014 verze: 2014-11-03

Více

Datové struktury 2: Rozptylovací tabulky

Datové struktury 2: Rozptylovací tabulky Datové struktury 2: Rozptylovací tabulky prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy

Více

Předmět úpravy. 2 Způsob dokládání splnění povinností stanovených v 6 zákona o elektronickém podpisu

Předmět úpravy. 2 Způsob dokládání splnění povinností stanovených v 6 zákona o elektronickém podpisu V Y H L Á Š K A Úřadu pro ochranu osobních údajů ze dne 3. října 2001 o upřesnění podmínek stanovených v 6 a 17 zákona o elektronickém podpisu a o upřesnění požadavků na nástroje elektronického podpisu

Více

Kerchhoffův princip Utajení šifrovacího algoritmu nesmí sloužit jako opatření nahrazující nebo garantující kvalitu šifrovacího systému

Kerchhoffův princip Utajení šifrovacího algoritmu nesmí sloužit jako opatření nahrazující nebo garantující kvalitu šifrovacího systému Základní cíle informační bezpečnosti Autentikace Autorizace Nepopiratelnost Integrita Utajení Shannonův model kryptosystému Kerchhoffův princip Utajení šifrovacího algoritmu nesmí sloužit jako opatření

Více

Markov Chain Monte Carlo. Jan Kracík.

Markov Chain Monte Carlo. Jan Kracík. Markov Chain Monte Carlo Jan Kracík jan.kracik@vsb.cz Princip Monte Carlo integrace Cílem je (přibližný) výpočet integrálu I(g) = E f [g(x)] = g(x)f (x)dx. (1) Umíme-li generovat nezávislé vzorky x (1),

Více

České vysoké učení technické v Praze Fakulta elektrotechnická Katedra telekomunikační techniky Asymetrické kryptosystémy I

České vysoké učení technické v Praze Fakulta elektrotechnická Katedra telekomunikační techniky Asymetrické kryptosystémy I České vysoké učení technické v Praze Fakulta elektrotechnická Katedra telekomunikační techniky Asymetrické kryptosystémy I Ing. Tomáš Vaněk, Ph.D. tomas.vanek@fel.cvut.cz Osnova obecné informace IFP RSA

Více

POPIS STANDARDU CEN TC278/WG4. 1 z 5. Oblast: TTI. Zkrácený název: Zprávy přes CN 4. Norma číslo:

POPIS STANDARDU CEN TC278/WG4. 1 z 5. Oblast: TTI. Zkrácený název: Zprávy přes CN 4. Norma číslo: POPIS STANDARDU CEN TC278/WG4 Oblast: TTI Zkrácený název: Zprávy přes CN 4 Norma číslo: 14821-4 Norma název (en): Traffic and Traveller Information (TTI) TTI messages via cellular networks Part 4: Service-independent

Více

Elektronické bankovníctvo základy, priame distribučné kanály. Tradičné vs. elektronické bankovníctvo BIVŠ 2007/2008

Elektronické bankovníctvo základy, priame distribučné kanály. Tradičné vs. elektronické bankovníctvo BIVŠ 2007/2008 Elektronické bankovníctvo základy, priame distribučné kanály Tradičné vs. elektronické bankovníctvo BIVŠ 2007/2008 ELBA distribučné kanály Telefónne bankovníctvo (phone banking) Internetové bankovníctvo

Více

Bezpečnost internetového bankovnictví, bankomaty

Bezpečnost internetového bankovnictví, bankomaty , bankomaty Filip Marada, filipmarada@gmail.com KM FJFI 15. května 2014 15. května 2014 1 / 18 Obsah prezentace 1 Bezpečnost internetového bankovnictví Možná rizika 2 Bankomaty Výběr z bankomatu Možná

Více

Vzdálenost jednoznačnosti a absolutně

Vzdálenost jednoznačnosti a absolutně Vzdálenost jednoznačnosti a absolutně bezpečné šifry Andrew Kozlík KA MFF UK Značení Pracujeme s šifrou (P, C, K, E, D), kde P je množina otevřených textů, C je množina šifrových textů, K je množina klíčů,

Více

PSK2-5. Kanálové kódování. Chyby

PSK2-5. Kanálové kódování. Chyby PSK2-5 Název školy: Autor: Anotace: Vzdělávací oblast: Předmět: Tematická oblast: Výsledky vzdělávání: Klíčová slova: Druh učebního materiálu: Typ vzdělávání: Ověřeno: Zdroj: Vyšší odborná škola a Střední

Více

Hesla a bezpečnost na internetu MjUNI 2019 Dětská univerzita,

Hesla a bezpečnost na internetu MjUNI 2019 Dětská univerzita, Hesla a bezpečnost na internetu MjUNI 2019 Dětská univerzita, 13. 4. 2019 Vladimír Sedláček, vlada.sedlacek@mail.muni.cz Marek Sýs, syso@mail.muni.cz Osnova Hesla: Jaké jsou typické problémy? Jak si zvolit

Více

UKRY - Symetrické blokové šifry

UKRY - Symetrické blokové šifry UKRY - Symetrické blokové šifry Martin Franěk (frankiesek@gmail.com) Fakulta jaderná a fyzikálně inženýrská, ČVUT Praha 18. 3. 2013 Obsah 1 Typy šifer Typy šifer 2 Operační mody Operační mody 3 Přiklady

Více

Seminární práce do předmětu: Bezpečnost informačních systémů. téma: IPsec. Vypracoval: Libor Stránský

Seminární práce do předmětu: Bezpečnost informačních systémů. téma: IPsec. Vypracoval: Libor Stránský Seminární práce do předmětu: Bezpečnost informačních systémů téma: IPsec Vypracoval: Libor Stránský Co je to IPsec? Jedná se o skupinu protokolů zabezpečujících komunikaci na úrovni protokolu IP (jak už

Více

Proudové šifry a posuvné registry s lineární zpětnou vazbou

Proudové šifry a posuvné registry s lineární zpětnou vazbou Proudové šifry a posuvné registry s lineární zpětnou vazbou Andrew Kozlík KA MFF UK Proudové šifry Bloková šifra Šifruje velké bloky otevřeného textu. Bloky mají pevnou délku. Velké znamená, že je prakticky

Více

Moderní komunikační technologie. Ing. Petr Machník, Ph.D.

Moderní komunikační technologie. Ing. Petr Machník, Ph.D. Moderní komunikační technologie Ing. Petr Machník, Ph.D. Virtuální privátní sítě Základní vlastnosti VPN sítí Virtuální privátní síť (VPN) umožňuje bezpečně přenášet data přes nezabezpečenou síť. Zabezpečení

Více

Přednáška 10. X Window. Secure shell. Úvod do Operačních Systémů Přednáška 10

Přednáška 10. X Window. Secure shell. Úvod do Operačních Systémů Přednáška 10 Přednáška 10 X Window. Secure shell. 1 X Window systém I Systém pro správu oken. Poskytuje nástroje pro tvorbu GUI (Graphical User Interface) a grafických aplikací. Nezávislý na hardwaru. Transparentní

Více

Elektronický podpis a jeho aplikace v praxi

Elektronický podpis a jeho aplikace v praxi Elektronický podpis a jeho aplikace v praxi 1. aktualizace k 1. 2. 2010 Rok 2009 byl pro elektronický podpis a jeho praktické využití velice významný. Objevilo se mnoho nových řešení, které v rámci použitých

Více

Šifrování Autentizace Bezpečnostní slabiny. Bezpečnost. Lenka Kosková Třísková, NTI TUL. 22. března 2013

Šifrování Autentizace Bezpečnostní slabiny. Bezpečnost. Lenka Kosková Třísková, NTI TUL. 22. března 2013 Šifrování Autentizace ní slabiny 22. března 2013 Šifrování Autentizace ní slabiny Technologie Symetrické vs. asymetrické šifry (dnes kombinace) HTTPS Funguje nad HTTP Šifrování s pomocí SSL nebo TLS Šifrování

Více

Bezpečnost dat. Možnosti ochrany - realizována na několika úrovních

Bezpečnost dat. Možnosti ochrany - realizována na několika úrovních Bezpečnost dat Možnosti ochrany - realizována na několika úrovních 1. ochrana přístupu k počítači 2. ochrana přístupu k datům 3. ochrana počítačové sítě 4. ochrana pravosti a celistvosti dat (tzv. autenticity

Více