Obsah. 1 Úvod do problematiky bezpečnosti informačních technologií Úvodní motivace... 8

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

Download "Obsah. 1 Úvod do problematiky bezpečnosti informačních technologií 7 1.1 Úvodní motivace... 8"

Transkript

1 Seznam obrázků 1 Úvod do problematiky bezpečnosti informačních technologií Úvodní motivace Přehled některých pojmů Zranitelné místo Hrozba Útok Riziko Bezpečnostní funkce, mechanismy a cíle Bezpečnostní funkce, mechanismy Bezpečnostní cíle (požadavky) Matematický background Základní pojmy Modulární aritmetika Eukleidův algoritmus Důležité věty a problémy Malá Fermatova věta Eulerova věta Čínská věta o zbytcích Problém diskrétního logaritmu Úvod do kryptografie Základní kryptografické pojmy Bezpečnost kryptografického systému Výlet do historie Substituční algoritmy Permutační algoritmy

2 3.3.3 Rotační přístroje - Enigma Malý úvod do kryptoanalýzy Luštění jednoduché substituce Luštění jednoduché permutace Symetrická kryptografie Blokové a proudové šifry Blokové šifry Proudové šifry Režimy činnosti symetrických šifer Electronic Codebook Mode (ECB) Cipher Block Chaining (CBC) Cipher-Feedback Mode (CFB) Output-Feedback Mode (OFB) Counter mode (CRT) Algoritmus DES TripleDES Algoritmus AES Asymetrická kryptografie Úvod do asymetrické kryptografie RSA Diffie - Hellman ElGamal Kryptografické hashovací funkce Úvod do problematiky kryptografických hashovacích funkcí Message Authentication Code SHA Kryptografie na bázi eliptických křivek Úvod do teorie eliptických křivek Proč se začaly používat eliptické kryptosystémy? Pojem eliptické křivky Eliptické křivky nad F p ECDSA - Elliptic Curve Digital Signature Algorithm ECDSA Shrnutí

3 8 Náhodné a pseudonáhodné generátory Autentizace Autentizační techniky Autentizace znalostí Autentizace vlastnictvím Autentizační protokol Útok Man-in-the-Middle Biometrie Otisky prstů Hlas Zápěstní žíly Duhovka a sítnice Digitální podpis a certifikaty Digitální podpis Digital Signature Algorithm Certifikáty Certifikát X Význačné jméno Hierarchie certifikátů Řetězec certifikátů Ověření řetězce certifikátů Literatura 152 Rejstřík 153 Nahoru Seznam obrázků 3

4 Předcházející Úvod do problematiky bezpečnosti informačních technologií Seznam obrázků 1.1 Útoky Model zabezpečení dat při sít ovém přenosu Kryptografický systém Jednoduchý kryptografický systém Playfair Polyboisův čtverec Scytale Enigma Symetrický kryptosystém Bloková šifra Proudová šifra Režim ECB Režim CBC Režim CFB Režim OFB Schéma Feistelovy šifry Obecný model DESu DES - Šifrovací algoritmus Schéma funkce f IP - Úvodní permutace schematicky Závěrečná permutace IP Schéma generování podklíčů (pro šifrování) Schéma generování podklíčů (pro dešifrování) DES - Dešifrovací algoritmus

5 4.17 Rijndael - šifrovací algoritmus Transformace SubBytes Afinní transformace Transformace ShiftRow Transformace MixColumns Transformace MixColumns - násobení maticí Transformace AddRoundKeys - násobení maticí Rijndael - dešifrovací algoritmus Asymetrický kryptosystém - model pro utajování Asymetrický kryptosystém - model pro autentizaci DES v CBC režimu Hashovací funkce SHA Sčítání bodů P+ Q=Rkřivky E: y 2 = x 3 7 x Sčítání opačných bodů P+( P)=O křivky E: y 2 = x 3 6 x Přičítání bodu k sobě samému P+ P=2P, křivka E: y 2 = x 3 3 x Přičítání bodu k sobě samému P+ P=2P= O, Body křivky E: y 2 = x 3 + x+4 nad F Cyklické šifrování ANSI X9.17 PRNG LFSR Vzory Identifikační body Porovnání dvou otisků Zápěstní žíly Digitální podpis v dodatku zprávy Algoritmus DSA Struktura certifikátu Struktura certifikátů X.509v1,2, Reprezentace DN v X Hierarchie certifikačních autorit

6 Předcházející Nahoru Úvod do problematiky bezpečnosti informačních technologií 6

7 Předcházející Seznam obrázků Úvodní motivace Kapitola 1 Úvod do problematiky bezpečnosti informačních technologií 1.1 Úvodní motivace Přehled některých pojmů Zranitelné místo Hrozba Útok Riziko Bezpečnostní funkce, mechanismy a cíle Bezpečnostní funkce, mechanismy Bezpečnostní cíle (požadavky) Tato kapitola je úvodem do problematiky bezpečnosti infromačních technologií. Výborným zdrojem informací k tomuto úvodu jsou [5], [7], ze kterých bylo čerpáno i při jeho tvorbě. Předcházející Seznam obrázků Nahoru Úvodní motivace 7

8 Předcházející Úvod do problematiky bezpečnosti informačních technologií Přehled některých pojmů 1.1 Úvodní motivace Časová náročnost kapitoly: 30 minut Cíl kapitoly: Po prostudování této podkapitoly budete umět vysvětlit pojem bezpečnost IT a dále budete schopni definovat, čím je bezpečnost IT zajištěna. Dále budete umět definovat aktiva informačního systému. Pod pojmem bezpečnost informačních technologií obvykle rozumíme ochranu odpovídajících informačních systémů a informací, které jsou v nich uchovávány, zpracovávány a přenášeny. Součástí takto obecně chápané bezpečnosti informačních technologií (dále jen IT) je i komunikační bezpečnost, tj. ochrana informace přenášené mezi počítači, fyzická bezpečnost, tj. ochrana před přírodními hrozbami a fyzickými útočníky a personální bezpečnost, tj. ochrana před vnitřními útočníky. Pojem bezpečnost IT v sobě tedy zahrnuje i takové pojmy, jakými jsou bezpečnost informačních systémů, ochrana informačních systémů, ochrana informací, ochrana informačních technologií, počítačová bezpečnost, telekomunikační bezpečnost apod. Tyto pojmy mohou mít pro mnohé odlišný význam, ale pojem bezpečnost IT ale bude dál používán jako obecný pojem, který může reprezentovat kterýkoli z ostatních uvedených pojmů. V současné době je prostřednictvím informačních technologií zpracováváno stále větší množství informací, které mají velkou hodnotu (např. daňová přiznání, elektronické platební nástroje, výsledky vývoje nebo výzkumu). Zpracováním informací se v tomto kontextu rozumí použití informačních technologií k uchovávání, přenosu, vyhodnocování a prezentaci informací. Informace musejí být chráněny takovým způsobem: aby k nim měly přístup pouze oprávněné osoby, aby se zpracovávaly nefalšované informace, aby se dalo zjistit, kdo je vytvořil, změnil nebo odstranil, aby nebyly nekontrolovaným způsobem vyzrazeny, aby byly dostupné tehdy, když jsou potřebné. Bezpečnost IT lze definovat jako zajištěnost proti nebezpečím, minimalizaci rizik a jako komplex administrativních, logických, technických a fyzických opatření pro prevenci, detekci a opravu nesprávného použití informačního systému (dále jen IS). Informační systém je systém, kde jsou zpracovávána a uchovávána data, která jsou nositeli informací. uje následující tzv. aktiva: 8

9 hardware - procesor, paměti, terminály, telekomunikace atd., software - aplikační programy, operační systém atd., data - data uložená v databázi, výsledky, výstupní sestavy, vstupní data atd. Bezpečný IS je takový IS, který je zajištěn fyzicky, administrativně, logicky i technicky. V soudobém chápání bezpečnosti IT je bezpečnost dána zajištěním následujících vlastností bezpečného IS: důvěrnosti (confidentiality) - k aktivům (k údajům) mají přístup pouze autorizované subjekty, integrity (Integrity) a autenticity - aktiva smí modifikovat jen autorizované subjekty a původ informací je ověřitelný, dostupnosti (accessibility) - aktiva (data nebo služby) jsou autorizovaným subjektům do určité doby dostupná, nedojde tedy k odmítnutí služby, kdy subjekt nedostane to na co má právo, prokazatelnosti odpovědnosti (accountability) - záruka, že lze učinit subjekty zodpovědné za své aktivity, ozn. také účtovatelnost, nepopiratelnosti odpovědnosti (non-repudiation) - nelze popřít účast na transakci, spolehlivosti (reliability) - konzistence zamýšleného a výsledného chování. Příklad 1.1 Narušení bezpečnosti zpracovávání informací lze provést například: vydáváním se za jinou oprávněnou osobu a zneužíváním jejích privilegií, distancováním se od odpovědnosti nebo od závazků plynoucích z manipulace s informacemi, tvrzením, že se nějaká informace někam poslala a toto se nikdy nestalo, tvrzením, že se informace získala od nějakého podvodníka, neoprávněným zvýšením svých privilegií přístupu k informacím, modifikací privilegií ostatních osob, zatajením výskytu důvěrné informace v jiných informacích, zjišt ováním, kdo a kdy si zpřístupňuje které informace, zařazením se jako skrytý mezičlánek v konverzaci jiných subjektů, pokažením funkcionality softwaru doplněním skrytých funkcí, narušením protokolu činností jiných subjektů (zavedením nesprávných, nekorektních informací), podkopáním důvěryhodnosti protokolu způsobeným zjevnými, byt možná jen zdánlivými poruchami, bráněním jiným uživatelům legitimně komunikovat. 9

10 V současné době organizace používají informační a komunikační systémy budované na bázi informačních technologií jak uvnitř organizace ( intranet, vnitřní sít ), tak pro komunikaci s ostatními organizacemi ( extranet / Internet). Tím se činnosti organizace stávají silně závislé na informacích a službách IT. Organizace musí své informační systémy zabezpečovat stejně jako jiné investice do své činnosti: hardwarové komponenty IT lze zničit (teroristy nebo i nespokojenými či pomatenými zaměstnanci) nebo ukrást (a levně prodat nebo používat pro vlastní potřebu), ukrást lze i software, který mnohdy představuje enormní a přitom špatně vyčíslitelné hodnoty. Konkurent tak může ušetřit náklady na vývoj a/nebo na pořízení softwaru, neoprávněné užívání softwaru zaměstnanci pro osobní potřebu nebo pro jejich druhé zaměstnání je zdrojem jejich nelegálních zisků, provozovateli kradeného softwaru mohou vzniknout škody plynoucí z trestní odpovědnosti za porušení licence, informační systém lze používat neautorizovaně, a tím způsobit např. zničení systému nebo porušení soukromí jiných osob ( krádeží přístupového hesla, překonáním mechanismu řídicího přístup k IS), IS lze využívat i autorizovanými zaměstnanci k nepracovní činnosti, at již osobní, nebo výdělečné. Existují právní, morální a etická pravidla pro používání informací, existují zákonné úpravy pro ochranu dat, a ty je žádoucí, resp. nutné, dodržovat, viz publikace [6]. Bezpečnostní politika v oblasti IT je součástí všeobecné bezpečnostní politiky organizace, která představuje souhrn bezpečnostních zásad a předpisů definujících způsob zabezpečení organizace od fyzické ostrahy, přes ochranu profesních zájmů až po ochranu soukromí a lidských práv. Bezpečnostní politika IT organizace se zabývá výběrem bezpečnostních zásad a předpisů, které splňují bezpečnostní politiku organizace a obecně definují bezpečné používání informačních zdrojů v rámci organizace nezávisle na konkrétně použitých informačních technologiích (určuje, která data jsou pro organizaci citlivá, kdo je za ně odpovědný, předpisuje infrastrukturu zabývající se v rámci organizační struktury organizace bezpečností, vymezuje základní omezení, která se musí respektovat apod.). Systémová bezpečnostní politika IT určuje detaily konkrétních norem, pravidel a předpisů, které definují způsob správy, ochrany a distribuce informací v rámci organizace. Dále specifikuje bezpečnostní opatření a způsob jejich implementace a určuje způsob použití těchto opatření, přičemž jsou respektovány použité IT. Provozní prosazování systémové bezpečnostní politiky se často označuje pojmem bezpečnostní program. Bez explicitní definice a ohodnocení aktiv nelze implementovat a udržovat žádný bezpečnostní program. Je třeba si uvědomit, že každý IS je zranitelný, bezpečnostní politika IS pouze snižuje pravděpodobnost úspěchu útoku proti IS nebo nutí útočníka vynakládat více peněz nebo času. Absolutně bezpečný systém neexistuje. Když analyzujeme IS z hlediska potřeb jeho zabezpečení, rozpoznáváme: 10

11 objekt IS - pasivní entita, která obsahuje/přijímá informace a je přístupná autorizovaným subjektům IS, subjekt IS - aktivní entita (osoba, proces nebo zařízení činné na základě příkazu uživatele) autorizovatelná pro získání informace z objektu, vydávání příkazů ovlivňujících udělení práv přístupu k objektu, změnu stavu objektu apod. Pojmem autorizace (authorization) subjektu pro jistou činnost rozumíme určení, že daný subjekt je z hlediska této činnosti důvěryhodný. Udělení autorizace subjektu si vynucuje, aby se pracovalo s autentickými subjekty. Autentizací (authentication) se rozumí proces ověřování pravosti identity entity (subjektu, objektu, tj. uživatele, procesu, systémů, informačních struktur apod.). Důvěryhodný (trustworthy) IS (subjekt nebo objekt) je taková entita, o které se věří (je o tom podán důkaz), že je implementovaná tak, že splňuje svoji specifikaci vypracovanou v souladu s bezpečnostní politikou. Na důvěryhodnou entitu se můžeme spolehnout, chováli se tak, jak očekáváme, že se bude chovat. Shrnutí kapitoly 1.1 V této podkapitole jsme si ozřejmili pojem zpracování informací a seznámili se pojmem bezpečnost informačních technologií. Dále jsme si řekli co je informační systém a jaká jsou jeho aktiva. Získali jsme představu o tom, jaké jsou bezpečnostní politiky organizace. Nejdůležitějšími pojmy, se kterými dále budeme pracovat jsou: autentizace, autorizace, důvěrnost a důvěryhodnost, integrita, nepopiratelnost a prokazatelnost odpovědnosti, spolehlivost a dostupnost.? Otázky ke kapitole Proti které vlastnosti bezpečného IS útočíte, pokud neoprávněně zvýšíte svá privilegia (pro přístup k informacím)? 2. Proti které vlastnosti bezpečného IS útočíte, pokud se zařadíte skrytý mezičlánek v konverzaci jiných subjektů? 3. Proti které vlastnosti bezpečného IS útočíte, pokud omezíte funkčnost softwaru? 4. Proti které vlastnosti bezpečného IS útočíte, pokud bráněníte jiným uživatelům v legitimní komunikaci? Předcházející Úvod do problematiky bezpečnosti informačních technologií Nahoru Přehled některých pojmů 11

12 Předcházející Úvodní motivace Bezpečnostní funkce, mechanismy a cíle 1.2 Přehled některých pojmů Časová náročnost kapitoly: 30 minut Cíl kapitoly: Po prostudování podkapitoly budete umět definovat pojmy zranitelné místo, hrozba, útok a riziko a charakterizovat jednotlivé typy útoků Zranitelné místo Slabinu IS využitelnou ke způsobení škod nebo ztrát útokem na IS nazýváme zranitelné místo. Existence zranitelných míst je důsledek chyb, selhání v analýze, v návrhu a/nebo v implementaci IS, důsledek vysoké hustoty uložených informací, složitosti softwaru, existence skrytých kanálů pro přenos informace jinou než zamýšlenou cestou apod. Podstata zranitelného místa může být: fyzická - např. umístění IS v místě, které je snadno dostupné sabotáži a/nebo vandalismu, výpadek napětí, přírodní - objektivní faktory typu záplava, požár, zemětřesení, blesk, v hardwaru nebo v softwaru, fyzikální - vyzařování, útoky při komunikaci na výměnu zprávy, na spoje, v lidském faktoru - největší zranitelnost ze všech možných variant. Příklad 1.2 Jako příklady typických zranitelných míst např. v operačních systémech lze uvést: okamžik identifikace a autentizace - podvržený login program (trojský kůň) umí ukrást heslo, chybný předpoklad důvěryhodnosti - předpokládá se správnost jiného programu, místo toho, aby se pečlivě testovala správnost jím dodávaných parametrů, skryté sdílení - systém může ukládat kritické informace do adresových prostorů procesů, aniž by to bylo definováno v jeho manuálu (tajné usnadnění implementace, chyba návrhu...), komunikace mezi procesy - testování zasíláním a čtením zpráv až do získání správného výsledku, přerušení komunikačního spojení - útočník nahradí původní spoj svým spojem, 12

13 rezidua (nezničená informace v uvolněných prostředcích, skryté pamět ové kanály), nekontrolování počtů neúspěšných pokusů přihlášení se apod Hrozba Pojmem hrozba označujeme možnost zužitkovat zranitelné místo IS k útoku na něj - ke způsobení škody na aktivech. Hrozby lze kategorizovat na: objektivní : - přírodní, např. fyzické požár, povodeň, výpadek napětí, poruchy..., u kterých je prevence obtížná, a u kterých je třeba řešit spíše minimalizaci dopadů vhodným plánem obnovy, - fyzikální, např. elektromagnetické vyzařování, - technické nebo logické, např porucha paměti, softwarová zadní vrátka, špatné propojení jinak bezpečných komponent, krádež, resp. zničení pamět ového média, nebo nedokonalé zrušení informace na něm, subjektivní, tj. hrozby plynoucí z lidského faktoru: - neúmyslné, např. působení neškoleného uživatele / správce, - úmyslné, představované potenciální existencí vnějších útočníků (špioni, teroristi, kriminální živly, konkurenti, hackeři) i vnitřních útočníků (např. být propuštěný, rozzlobený, vydíraný, chamtivý zaměstnanec). Charakteristikou hrozby je její zdroj (např. vnější nebo vnitřní), motivace potenciálního útočníka (finanční zisk, získání konkurenční převahy), frekvence a kritičnost uplatnění hrozby. Příklad 1.3 Jako příklady typických hrozeb pro IT lze uvést: neautorizované modifikace informací, informačních zdrojů a služeb, tj. porušení integrity odchytáváním a modifikací zpráv, vkládáním a replikacemi zpráv, neautorizované zpřístupnění informace odposlechem na přenosovém médiu, analýzu toku vyměňovaných zpráv nebo jejich délek, resp. frekvencí zasílání, analýza adres zdrojů a cílů zpráv, neoprávněné kopírování z dočasných pamět ových míst (vyrovnávací paměti), agregaci citlivých informací z méně citlivých dílčích informací, dedukci ze znalosti, že jistá informace je uložena v databázi, dedukce z informací neoprávněně dostupných na veřejných zdrojích (např. z mnohých nedostatečně chráněných systémových tabulek), neautorizované použití zdrojů (krádeže hardwarových a softwarových komponent, včetně používání jejich neoprávněných kopií), neautorizované používání informačních systémů a služeb jimi poskytovaných, znepřístupnění služeb, tj. akce a události, které brání autorizovaným subjektům využívat systém IT na dohodnuté úrovni poskytovaných služeb, 13

14 Obrázek 1.1: Útoky. popírání odpovědnosti za akce citlivé z hlediska bezpečnosti, např. popírání aktu zaslání nebo přijetí zprávy, popírání autorství dané zprávy Útok Útokem rozumíme bud to úmyslné využití zranitelného místa ke způsobení škod/ztrát na aktivech IS, nebo neúmyslné uskutečnění akce, jejímž výsledkem je škoda na aktivech. Při analýze možných forem útoků na IT je třeba typicky řešit problémy typu: jak se projevuje počítačová kriminalita, jaké jsou možné formy útoků, kdo útočí, jaká rizika souvisí s používáním informačních technologií, jak se chránit před útoky apod. Následně řešenými problémy jsou pak rozhodnutí typu: jak detekovat útok, jak reagovat na útok. Útočit lze: přerušením (interruption) (viz obrázek 1.1 b)) - aktivní útok na dostupnost, např. ztráta, znepřístupnění, poškození aktiva, porucha periférie, vymazání programu, vymazání dat, porucha v operačním systému, odposlechem (interception) (viz obrázek 1.1 c)) - pasivní útok na důvěrnost, kdy neautorizovaný subjekt si neoprávněně zpřístupní aktiva, jde např. o okopírování programu nebo o okopírování dat, odposlech prováděný při datových přenosech po síti, změnou (modification) (viz obrázek 1.1 d)) - aktivní útok na integritu, neautorizovaný subjekt zasáhne do aktiva, provede se např. změna uložených a/nebo přenášených dat, přidání funkce do programu, přidáním hodnoty (fabrication) (viz obrázek 1.1 e)) - aktivní útok na integritu nebo útok na autenticitu, tj. případ, kdy neautorizovaná strana něco vytvoří (podvržení transakce, dodání falešných dat). Útoky lze dále rozdělit na: 14

15 pasivní útoky jsou útoky odposlechem - zveřejnění obsahu zprávy a sledování provozu (útočník může sledovat polohu a identitu komunikujících subjektů, frekvenci a délku vyměňovaných zpráv, což umožní odhadnout povahu komunikace), aktivní útoky (přerušením, změnou a přidáním hodnoty): - maškaráda (masquerade) (entita se vydává za jinou), - zachycení (replay), - modifikace zprávy, - odepření služby (denial of service) (zabránění, blokování normálního užití komunikačních prostředků). Vhodnou formou ochrany před pasivními útoky odposlechem je prevence, poněvadž detekce odposlechu je velmi obtížná. Absolutní prevence útoků ovšem zajistitelná není, proto typická ochrana (hlavně před aktivními formami útoků) je založena na detekci útoků a na následné obnově činnosti. Dále rozpoznáváme: útoky na hardware, které lze vést: - přerušením - přírodní havárie, neúmyslné útoky způsobené kouřením, údery, úmyslné útoky krádeží, destrukcí, - odposlechem - krádež času procesoru, místa v paměti, - přidáním hodnoty - změnou režimu činnosti, útoky na software, které lze vést: - přerušením - mezi neúmyslné útoky může patřit vymazání softwaru způsobené špatným konfiguračním systémem nebo archivačním systémem, použití neotestovaných programů, chyby operátora; mezi úmyslné útoky patří např. úmyslné vymazání programu, - odposlechem - provedení neoprávněné kopie programu, pirátství, - změnou - např. využitím zadních vrátek (neveřejných spouštěcích postupů z doby tvorby softwaru), - přidáním hodnoty - zabudováváním trojských koňů, viry, červi, logické bomby, útoky na data - zatímco útok na hardware lze vyřešit bezpečnostními systémy, strážemi apod. a útok na software vedou obvykle profesionálně zdatní jedinci, tak útok na data je mnohem nebezpečnější. Útoky na data lze opět vést: - přerušením - mezi neúmyslné útoky lze zařazovat jejich neúmyslné vymazání, mezi úmyslné útoky pak úmyslné vymazání, sabotáž, - odposlechem - porušení důvěrnosti, krádež kopií, - změnou - porušení integrity, neautorizované modifikace dat, - přidáním hodnoty - opakovanými neautorizovanými dílčími odběry z peněžního konta (salámový útok), generování transakcí atd. Příklad 1.4 Jako příklady útoků např. na operační systém lze uvést: prohlížení pamětí, systému souborů, využití neodstraněných ladících vstupních bodů, zamezení poskytování služeb autorizovaným uživatelům (zahlcením počítače elektronickou poštou, monopolizací počítače nadměrným generováním procesů), vystupováním v identitě jiného autorizovaného uživatele, 15

16 podplacení/podvedení operátora/obsluhy Riziko Existence hrozby představuje riziko. Rizikem rozumíme pravděpodobnost využití zranitelného místa IS. Říkáme, že se hrozba uplatní s takovou a takovou pravděpodobností. Rizika lze charakterizovat vedle pravděpodobnosti výskytu bezpečnostního incidentu i potenciálně způsobenou škodou. Shrnutí kapitoly 1.2 V této podkapitole jsme si vysvětlili základní pojmy zranitelné místo, hrozba, útok a riziko. Nejdůležitější dovedností získanou při studiu této podkapitoly je schopnost určit typy útoků (přerušením, odposlechem, změnou a přidáním hodnoty) a uvést jejich příklady.? Otázky ke kapitole Uved te příklady zranitelných míst v hardwaru, softwaru a zranitelných míst s závislých na lidském faktoru. 2. Uved te příklady technických a logických hrozeb. 3. Uved te příklady útoku přerušením. 4. Uved te příklady útoku změnou. 5. Uved te příklady útoku odposlechem. 6. Uved te příklady útoku přidáním hodnoty. Předcházející Úvodní motivace Nahoru Bezpečnostní funkce, mechanismy a cíle 16

17 Předcházející Přehled některých pojmů Matematický background 1.3 Bezpečnostní funkce, mechanismy a cíle Časová náročnost kapitoly: 25 minut Cíl kapitoly: Po prostudování této podkapitoly budete umět charakterizovat bezpečnostní cíle, bezpečnostní funkce a bezpečnostní mechanismy, kterými implementujeme bezp. funkce Bezpečnostní funkce, mechanismy Zabezpečujeme-li IS, je třeba nejprve stanovit bezpečnostní cíle a způsob jejich dosažení. Bezpečnostní cíle jsou dílčí přínosy k bezpečnosti, kterou dosahuje IS z hlediska udržení důvěrnosti, integrity a dostupnosti. Prostředkem použitým pro dosažení stanovených bezpečnostních cílů IS jsou bezpečnostní funkce IS (bezpečnostní opatření). Bezpečnostní funkce (služby) můžeme kategorizovat podle okamžiku uplatnění na: preventivní (např. odstraňující zranitelná místa nebo aktivity zvyšující bezpečnostní uvědomění), heuristické (snižující riziko dané nějakou hrozbou), detekční a opravné (minimalizující účinek útoku podle schématu detekce-opravazotavení ). Bezpečnostní funkce můžeme kategorizovat rovněž podle způsobu implementace. Implementující bezpečnostní mechanismus může mít charakter fyzického opatření, administrativní akce, může jím být technické zařízení nebo logický nástroj (procedura, algoritmus). Podle způsobu implementace pak rozeznáváme bezpečnostní funkce: softwarového charakteru (mnohdy označované jako logické bezpečnostní funkce) - např. softwarové řízení přístupu, funkce založené na použití kryptografie, digitální podepisování, antivirové prostředky, zřizování účtů, standardy pro návrh, kódování, testování, údržbu programů, ochranné nástroje v operačních systémech (ochrana paměti, ochrana souborů řízením přístupu, přístupové matice, přístupové seznamy, hesla, autentizace přístupu k terminálu), ochranné nástroje v aplikačních systémech pro autentizaci přístupu, pro autentizaci zpráv atd., administrativního a správního charakteru - ochrana proti hrozbám souvisejícím s nedokonalostí odpovědnosti a řízení systému IT; výběr a školení důvěryhodných osob, hesla, autorizační postupy, přijímací a výpovědní postupy, právní normy, zákony, vyhlášky, předpisy, etické normy, licenční politika, nástroje provozního řízení, zpravodajství o událostech a stavech významných z hlediska bezpečnosti, sběru a analýzy statistik, konfigurace systému apod., 17

18 hardwarového charakteru (mnohdy označované jako technické bezpečnostní funkce) - autentizace na bázi identifikačních karet, autentizační kalkulátory, firewally, archivní pásky - záložní kopie dat a programů, fyzického charakteru - stínění, trezory, zámky, strážní, jmenovky, protipožární ochrana, záložní generátory energie, chráněná místa pro záložní kopie dat a programů. Příklad 1.5 Jako příklady bezpečnostních funkcí lze uvést funkce (bez nároku na úplnost výčtu): identifikace a autentizace, autorizace a řízení přístupu, řízení opakovaného užívání objektů, účtovatelnost, resp. prokazatelnost odpovědnosti získání záruky, že lze učinit subjekty zodpovědné za své aktivity, audit manuální nebo automatické zkoumání protokolu o relevantních událostech v IS z hlediska bezpečnosti, zajištění nepopiratelnosti - nepopiratelnost vykonání akce či doručení zprávy (např. digitálním podepisováním), zajištění integrity, zajištění důvěrnosti, zajištění pohotovosti bezpečnostní funkce založené na strategiích prevence, detekce, duplikace a redundance, obnovy a návratu; patří mezi ně procedury obnovy a návratu po poruše (po útoku, po bezpečnostním incidentu), které po obnově bezpečného provozního stavu systému IT (služby) vrací systém IT nebo službu do běžného používání. Bezpečnostní funkce musí být implementovaná dostatečně důvěryhodně, tj. musí být adekvátním způsobem prokázáno, že její implementace vyhovuje její žádané, resp. zadané specifikaci Bezpečnostní cíle (požadavky) Jaké jsou typické cíle bezpečnostní politiky IT? V reálném prostředí se nevyhneme tlaku na zajištění potřebné úrovně důvěrnosti, autentizace, integrity dat a prevence před viry a jinými škodlivými programy, nepopiratelnosti odpovědnosti a potřebné velikosti výpočetního a pamět ového výkonu. V distribuovaném prostředí, jakým je např. sít Internet, se k uvedeným cílům přidává požadavek bezpečnosti transakcí, např. mezi webovými klienty a servery. Na webových serverech se uchovávají jak veřejně dostupné soubory, tak soubory citlivé a důvěrné, a ty je třeba ochránit. Na webovském klientu je třeba přijmout opatření proti virové nákaze, prohlížeč by neměl spouštět žádné nedůvěryhodné aplikace. Legitimní javovské applety by neměly působit problémy, ale applety získané z neznámých zdrojů mohou obsahovat cokoli. K provedení programu, staženého do klientské stanice z WWW, by měl uživatel dát explicitní souhlas po zvážení potřeby prověření certifikace takového objektu. 18

19 Obrázek 1.2: Model zabezpečení dat při sít ovém přenosu. Základní představa zabezpečení dat v sít ových přenosech je zobrazena na obr V kontextu bezpečnosti IT je termínem principal označován koncový subjekt účastnící se průběhu přenosu informace. Může to být osoba (uživatel, klient) nebo systémová entita (systémový proces), u které se předpokládá možnost přístupu k informaci bud na straně vysílající informaci do přenosového systému, nebo na straně cílové. Důvěryhodná třetí strana (trusted third party, dále jen TTP) poskytuje nezávislou podporu zabezpečovacímu procesu. Zabezpečovací proces (Security Transformation) je opatření proti ohrožení dat vyvolanému v přenosovém systému protivníkem. Přenosový systém (Information Chanel) je nezabezpečené komunikační prostředí (veřejná sít, Internet). Určitě je takovým bezpečnostním požadavkem poskytnutí potřebného rozsahu důvěrnosti. Důvěrnost má zásadní význam z hlediska ochrany soukromých dat, a to jak z hlediska zachování soukromí, tak i z hlediska možnosti zneužití informačních služeb. Důvěrnost IS lze zabezpečit pomocí šifrování, skrýváním identit počítačů organizace za firewally nebo řízením přístupu k souborům, např. na WWW serverech. m možným bezpečnostním požadavkem může být uplatnění řízení přístupu. Může být žádoucí, aby byla neviditelná pouze část nějaké transakce, zatímco její zbytek může být veřejně dostupný. Takové výběrové řízení přístupu k transakcím, např. při elektronickém obchodování, umožní zákazníkovi zabalit svoje identifikační informace o platební kartě do elektronické obálky, kterou může otevřít pouze jeho banka, tuto přiložit k objednávce a zaslat obchodníkovi. Obchodník obálku předá bance, která obchodníkovi potvrdí solventnost zákazníka, a tento může pokračovat v prodeji, aniž by mu zákazník svoje soukromá data zpřístupňoval. m přirozeným požadavkem je požadavek zajištění integrity. Integrita musí zajišt ovat, aby aktiva, dostupná autorizovaným uživatelům, byla úplná a věrná, tj. odpovídající své specifikaci. Data při přenosu nemohou být neautorizovaně měněna. Data nelze modifikovat ani v místě jejich dlouhodobého uložení v nějaké paměti. Pro zajištění integrity dat lze použít např. mechanismů kryptografických hashovacích funkcí, digitálního podpisu a certifikátů na bázi asymetrické kryptografie. Pro zajištění integrity softwaru je přirozeně nutné používat také adekvátní aktuální antivirové nástroje Zajištění autentičnosti je dalším požadavkem bezpečnosti IT. Komunikující strany by měly důvěřovat tomu, že komunikují s tím partnerem, se kterým komunikovat chtěly. K silné autentizaci je třeba obvykle použít mechanismů digitálního podpisu a certifikátů. Dostatečně důvěryhodné prokázání identity lze (podle výsledků analýzy rizik) také dosáhnout např. jednoduchým používáním hesel. 19

20 Požaduje-li se zajištění nepopiratelnosti, pak žádná ze spolupracujících stran nesmí mít možnost svoji účast v transakci popřít, a to i po jejím ukončení. Aby bylo možné použít nějaký mechanismus pro implementaci funkce nepopiratelnosti, je třeba ho vybavit vlastností prokazatelnosti autorství. Takovým mechanismem je např. certifikovaný digitální podpis. Nedílnou součástí bezpečnostní politiky on-line provozovaných IS musí být opatření zajišt ující trvalou dostupnost jeho informatických služeb, tj. zamezující neoprávněnému vyčerpání zdrojů vnějším útočníkem nebo nedokonale vyškoleným vlastním zaměstnancem organizace. Tato opatření se realizují např. definicí mezí dostupného pamět ového prostoru, omezením délek elektronicky vyměňovaných zpráv nebo dílu dostupného procesorového výkonu. Shrnutí kapitoly 1.3 V této podkapitole jsme vymezili pojem bezpečnostní funkce, bezpečnostní mechanismus a bezpečnostní požadavek (cíl) a uvedli si jejich příklady. Závěrem celé úvodní kapitoly zbývá uvést následující: Perfektní bezpečnost je sice teoreticky možná, není však prakticky využitelná. Na každý nejlepší bezpečnostní mechanismus (algoritmus) lze útočit hrubou silou. Každý použitý zabezpečující nástroj musí být akceptovatelný uživatelskou komunitou. Systém je tak bezpečný, jak je bezpečný jeho nejslabší článek.? Otázky ke kapitole Uved te příklady bezpečnostních funkcí. 2. Uved te příklady bezpečnostních mechanismů. 3. Jak zabezpečíme důvěrnost IS? 4. Pokud chcete zabránit modifikaci např. dat uložených na pevném disku vašeho počítače, o jaký bezpečnostní požadavek se jedná? Předcházející Přehled některých pojmů Nahoru Matematický background 20

21 Předcházející Bezpečnostní funkce, mechanismy a cíle Základní pojmy Kapitola 2 Matematický background 2.1 Základní pojmy Modulární aritmetika Eukleidův algoritmus Důležité věty a problémy Malá Fermatova věta Eulerova věta Čínská věta o zbytcích Problém diskrétního logaritmu Teorie čísel je ta část matematiky, jejímž základním objektem zkoumání jsou vlastnosti přirozených a celých čísel. V této kapitole je uveden pomocný matematický aparát, který souvisí s kryptografií, které se budeme věnovat v dalších kapitolách. Bez újmy na obecnosti bude většina pojmů objasňována na množině přirozených čísel, není však problém uvedené výsledky zavést pro množinu celých čísel, což čtenář jistě zvládne sám. Předcházející Bezpečnostní funkce, mechanismy a cíle Nahoru Základní pojmy 21

22 Předcházející Matematický background Modulární aritmetika 2.1 Základní pojmy Časová náročnost kapitoly: 10 minut Cíl kapitoly: Po prostudování této podkapitoly budete schopni vysvětlit některé základní pojmy z teorie čísel. Definice 2.1 Přirozené číslo n dělí přirozené číslo m právě tehdy když existuje přirozené číslo c takové, že m=n c. Mezi další známé pojmy patří: Jako triviální dělitele přirozeného č. m označujeme čísla1am. Prvočíslo je číslo, které nemá jiné dělitele než triviální. Číslo, které není prvočíslem nazýváme číslem složeným. Každé přirozené číslo m >1 je bud prvočíslo, nebo se dá zapsat jako součin prvočísel. Definice 2.2 Každé přirozené číslo m >1se dá zapsat jednoznačně (až na pořadí) v kanonickém tvaru m=p 1 a 1 p 2 a 2... p k a k, kde p 1, p 2,..., p k jsou navzájem různá prvočísla a a 1, a 2,..., a k jsou přirozená čísla (např.3600= ). Úloha zjistit, zda je dané přirozené číslo prvočíslem nebo číslem složeným není triviální. Pro malá čísla se používají známé algoritmy jako např Eratosthenovo síto, algoritmus Trial Division a další. Výklad jejich principu a výklad principu algoritmů určených pro větší přirozená čísla (viz také podkapitola 2.3) přesahuje rámec tohoto kurzu. Zvídavý čtenář necht se podívá např. na: WWW: Algoritmy pro nalezení malých prvočísel Definice 2.3 Přirozené číslo d je největším společným dělitelem (dále jen NSD) dvou c.č. a, b když platí d dělí obě čísla a, b, jestliže nějaké číslo c.č. d 1 dělí obě čísla a, b, pak d 1 dělí také d. Příklad 2.1 NSD(60,24))=12; NSD(35,13)=1. Nejznámějším algoritmem pro nalezení NSD je Eukleidův algoritmus, jehož princip si ozřejmíme v následující podkapitole

23 Příklad 2.2 Je snadné nalézt NSD dvou přir. čísel, pokud je vyjádříme v kanonickém tvaru. 300= , 18= , NSD(300,18)= =6. Definice 2.4 Dvě přirozená čísla jsou nesoudělná, když jejich NSD je 1. Jinak řečeno dvě čísla a, b jsou nesoudělná pokud nemají společného prvočíselného dělitele. Příklad 2.3 Čísla8a15 jsou nesoudělná, protože8má dělitele1,2,4 a15 má dělitele 1,3,5. Tedy jediným společným dělitelem je 1. Definice 2.5 Eulerovo číslo φ:n > N udává počet těch přirozených čísel nepřesahujících př.č. m, která jsou nesoudělná s m. Věta 2.1 Jestliže m je prvočíslo, pak platí, že φ(m)=m 1. Shrnutí kapitoly 2.1 V této podkapitole jsme si osvěžili pojmy, kterým jistě všichni intuitivně rozumíte. Nejdůležitějšími pojmy, které si zapamatujte, jsou číslo složené, prvočíslo, nesoudělnost, Eulerovo číslo. Otázky ke kapitole 2.1? 1. Jací jsou dělitelé čísla 24? 2. Nalezněte na Internetu tabulku prvních 1000 prvočísel. 3. Určete φ(35) a φ(13). 4. Nalezněte NSD(270,36) (pomocí vyjádření daných čísel v kanonickém tvaru). bac- Předcházející Matematický kground Nahoru Modulární aritmetika 23

24 Předcházející Základní pojmy Důležité věty a problémy 2.2 Modulární aritmetika Časová náročnost kapitoly: 45 minut Cíl kapitoly: Po prostudování podkapitoly budete umět definovat pojem kongruence, budete umět definovat vlastnosti algebraické struktury těleso a porozumíte základům modulární aritmetiky. Množina celých čísel není uzavřená vzhledem k dělení nenulovými celými čísly. Pro další výklad musíme proto zavést tzv. celočíselný podíl. Definice 2.6 Necht x je reálné číslo. Potom x je největší celé číslo menší nebo rovno x (tzv. dolní celá část čísla x). Definice 2.7 Jestliže a je celé číslo a N je kladné celé číslo, pak definujeme a mod N jako zbytek po dělení čísla a číslem N (které se nazývá modul (nebo také modulus)). Pro každé a můžeme psát a= a/n n+a mod N. Definice 2.8 Celé číslo a je kongruentní modulo N s c.č. b tehdy, když je rozdíl a b dělitelný číslem N. Píšeme a b mod N (tj. platí a mod N= b mod N). Příklad mod11,13 9 mod7. Platí: a 0mod N, a a mod N pro a N, a b mod N= b a mod N, a b mod N b c mod N= a c mod N. Necht m je přirozené číslo, označme množinu Z m = {0,1,2,.., m 1} a definujme dvě operace+a takto: Výsledkem a+b bude číslo c Z m pro které platí a+b c mod m. Výsledkem a b bude číslo c Z m pro které platí a b c mod m. Příklad 2.5 N=9, Z N = {0,1,2,3,4,5,6,7,8}, 6+8=14 5mod9, 6 8=48 3mod9. Nyní následují vlastnosti, ze kterých vyplývá, že vzhledem k operacím+, množina Z m tvoří komutativní těleso pro každé přirozené m > 1: 24

25 Aditivní jednotkový prvek0:(a+0) mod m=amod m pro každé a Z m. Aditivní opačný prvek k prvku a je a: a+( a) 0mod m, tj. a=m a pro každé a Z m. Sčítání je uzavřené, tj. pro každé a, b Z m platí(a+b) mod m Z m. Sčítání je komutativní, tj. pro každé a, b Z m platí(a+b) mod m=(b+a) mod m. Sčítání je asociativní, tj. pro každé a, b, c Z m platí[(a+b)+c] mod m=[a+(b+ c)] mod m. Multiplikativní jednotkový prvek1: a 1=amod m pro každé a Z m. Multiplikativní inverzní prvek k prvku a je a 1 : a a 1 1mod m. Takovýto inverzní prvek existuje tehdy a jen tehdy když NSD(a, m)=1. Násobení je uzavřené, tj. pro každé a, b Z m platí(a b) mod m Z m. Násobení je komutativní, tj. pro každé a, b Z m platí(a b) mod m=(b a) mod m. Násobení je asociativní, tj. pro každé a, b, c Z m platí[(a b) c] mod m=[a (b c)] mod m. Poznámka: Jestliže(a b) mod m (b c) mod m pak b c mod m platí jen tehdy když a je nesoudělné s m. Např.: 6 3=18 2mod8 6 7=42 2mod8 ale3 7mod8. Jestliže čísla a a m mají společné dělitele, pak po násobení čísel z množiny {0, 1,..., m 1} číslem a nedostaneme kompletní množinu zbytků (např. pro a = 6, m = 8 ne (čtenář necht se přesvědčí sám), ale pro a = 5, m = 8 celou množinu zbytků dostaneme). Tj. pokud se více než jedno číslo z množiny Z m = {0,1,2,.., m 1} mapuje na stejný zbytek, neexistuje unikátní inverzní prvek vzhledem k násobení. Pokud tedy a a m jsou nesoudělná, pak((a 1 ) a b) mod m ((a 1 ) a c) mod m pak b c mod m. Platí:(a+b) mod m=[(a mod m)+(b mod m)] mod m (např.:[(11 mod8)+ (15 mod8)] mod8=10 mod8=2,(11+15) mod8=26 mod8=2). Platí:(a b) mod m=[(a mod m) (b mod m)] mod m. Platí:(a b) mod m=[(a mod m) (b mod m)] mod m. Na umocňování se můžeme dívat jako na opakované násobení. Chceme-li určit 11 7 mod13, postupujeme takto: 11 2 =121 4mod mod mod13. Příklad 2.6 Kolik je3 8 mod7? = =(81 mod7) (81 mod7) 4 4=16 2mod7, 25

26 2.3 8 =6561 2mod7, protože6561= , je vhodné se vyhnout násobení velkých čísel a provést redukci modulo co nejdříve Eukleidův algoritmus Eukleidův algoritmus je postup, jak zjistit největšího společného dělitele dvou přirozených čísel pomocí zbytků po celočíselném dělení. Klasická forma Eukleidova algoritmu používá pouhé odčítání, a tu můžeme zkrátit užitím počítání modulo. Pro každé nezáporné celé číslo a a kladné celé číslo b totiž platí, že NSD(a, b)=nsd(b, a mod b) Příklad 2.7 NSD(55,22)=NSD(22,55 mod22)=nsd(22,11)=11. Předpokládejme, že d=nsd(a, b), pro každé kladné b můžeme a vyjádřit jako Proto a mod b=a k b pro nějaké c.č. k. a=k b+r r mod b a mod b=r. Eukleidův algoritmus tedy vytváří ze dvou zadaných čísel a 0 > a 1 (ostře) klesající posloupnost(a i, i = 0,1,..., n+1) jejíž poslední člen a n+1 = 0 a předposlední a n = NSD(a 0, a 1 ). Přitom i+2-hý člen je právě zbytek po dělení i-tého členu i+1-ním členem. Tedy pro vhodné celé x i+1 : a i+2 =(a i ) mod a i+1 = a i x i+1 a i+1. Eukleidův algoritmus nám postupným dosazováním předchozích dvou členů posloupnosti za i+2-hý člen zároveň umožňuje vyjádřit předposlední člen jako celočíselnou lineární kombinaci prvních dvou členů. Tak například a 3 = a 1 x 2 a 2 = a 1 x 2 (a 0 x 1 a 1 )=(x 1 +1) a 1 x 2 a 0 a 4 = a 2 x 3 a 3 = a 0 x 1 a 1 x 3 ((x 1 +1) a 1 x 2 a 0 )=(x 2 x 3 +1) a 1 (x 1 +x 1 x 3 ) a 0 atd. Toto pozorování můžeme vyjádřit tvrzením: Pro každá dvě různá přirozená čísla a, b (můžeme se omezit na přirozená čísla, protože NSD(a, b)=nsd( a, b )) existují celá čísla x, y tak, že NSD(a, b)=x a+y b. Pokud m=bje prvočíslo,0<a<m, pak zřejmě NSD(a, m)=1. Tedy podle předchozí úvahy existuje celé číslo x tak, že1=nsd(a, m)=(x a) mod m, toto x můžeme volit z intervalu0,1,..., m 1. Prvek inverzní k nenulovému číslu ze Z m budeme značit a 1 (tj. takové x=a 1, že a a 1 =1 (mod m)). Pokud platí, že NSD(a, m)=1, můžeme Eukleidův algoritmus použít pro nalezení tohoto inverzního prvku - tato varianta se nazývá rozšířený Eukleidův algoritmus (viz [3]). 26

27 Příklad 2.8 Pomocí Eukleidova algoritmu určete hodnotu13 1, v Z 31 (tedy modulo31). Aplikujme na dvojici čísel 31 a 13 Eukleidův algoritmus: 31, 13, 5= , 3=13 2 5= , 2=5 3= , 1=3 2= Zjistili jsme, že13 1 =12 (mod31). podrobnosti k modulární aritmetice a Eukleidovu algoritmu naleznete v [2], [3]. Shrnutí kapitoly 2.2 Nejdůležitějšími poznatky této podkapitoly, jsou pojmy kongruence modulo, vlastnosti algebraické struktury těleso a princip Eukleidova a rozšířeného Eukleidova algoritmu. Pro pochopení jednotlivých pojmů byly uvedeny příklady, čtenáři se doporučuje ověření znalostí na dalších příkladech.? Otázky ke kapitole Existuje multiplikativní inverzní prvek k prvku15, m=26, tj.15 mod26? 2. Existuje multiplikativní inverzní prvek k prvku14, m=26, tj.14 mod26? 3. Spočítejte3 9 mod4. 4. Spočítejte3 82 mod8. 5. Spočítejte3 1,22 1 v Z 31 (modulo31). 6. Na Internetu nalezněte nějaký program (Java applet) pro Eukleidův algoritmus a rozšířený Eukleidův algoritmus. Předcházející Základní pojmy Nahoru Důležité věty a problémy 27

28 Předcházející Modulární aritmetika Úvod do kryptografie 2.3 Důležité věty a problémy Časová náročnost kapitoly: 45 minut Cíl kapitoly: Po prostudování podkapitoly budete umět definovat malou Fermatovu větu a Eulerovu větu, pochopíte princip Čínské věty o zbytcích a porozumíte tomu, co je to problém diskrétního logaritmu Malá Fermatova věta Věta 2.2 Malá Fermatova věta (MFV): Pro každé prvočíslo p a každé kladné celé číslo a nesoudělné s p platí a p 1 1mod p. Důkaz.Z předchozí podkapitoly víme následující: Platí a 0 0mod p. Dále platí že p 1 čísel {a mod p,2a mod p,...,(p 1)a mod p}. jsou čísla z množiny Z p v nějakém pořadí. Vynásobíme spolu tato čísla: a 2a...((p 1)a) [(a mod p) (2a mod p)... ((p 1)a mod p)] mod p (p 1)! mod p. Ale a 2a...((p 1)a)=(p 1)!a p 1. Proto(p 1)!a p 1 (p 1)! mod p. Vykrátíme(p 1)! a dostaneme a p 1 1mod p. Příklad 2.9 a=7, p=19, 7 2 =49 11 mod19, mod19, mod19, mod19, a p 1 =7 18 = mod19. Věta 2.3 Jiná formulace MFV: Je-li p prvočíslo, tak pro každé přirozené číslo a platí. a p a mod p. 28

29 Příklad 2.10 p=5, a=3,3 5 =243 3mod5, p=5, a=10,10 5 = mod5 0mod5. MFV můžeme využít k určení, zda dané celé číslo n je složené číslo nebo prvočíslo, můžeme provést tzv. Fermatův test prvočíselnosti: najdeme-li číslo a z daného intervalu 1 < a < n 1 takové, že ekvivalence a n 1 1( mod n) neplatí, pak n je číslo složené, pokud ale tato ekvivalence platí, pak ještě není řečeno, že n je prvočíslo (celý test provedeme znovu s jiným a). Necht n je liché složené číslo, a je celé číslo,1 < a < n 1. Potom n se nazývá pseudoprvočíslo při základu a jestliže a n 1 1( mod n), číslo a se nazývá Fermatův lhář vzhledem k n. Např.: n = 341(= 11 31) je pseudoprvočíslo. Složená čísla, pro které toto platí při libovolném základu, se nazývají Carmichaelova čísla a je jich nekonečně mnoho (např. 561, 1105, 1729, 2465, ). mi testy prvočíselnosti jsou testy pravděpodobnostní (Solovay-Strassenův test, Miller-Rabinův test), jejichž popis lze nalézt v [2], [3] Eulerova věta Pokud p a q jsou dvě prvočísla a n je c.č. platí n=p q, φ(n)=φ(p q)=φ(p) φ(q)=(p 1) (q 1). Předpokládejme že množina zbytků v Z n je {0,1,...,(p q 1)}. Zbytky, které nejsou nesoudělné s n jsou množiny {p,2p,...,(q 1)p}, {q,2q,...,(p 1)q},0. Tedy je-li n=p q, pak φ(n)=p q [(q 1)+(p 1)+1]=p q (p+q)+1=(p 1) (q 1)=φ(p) φ(q). Věta 2.4 Eulerova věta: Pro každé přirozené číslo N a každé přirozené číslo a, které je nesoudělné s N platí a φ(n) 1mod N. Příklad 2.11 N=10, a=3, φ(n)=4,3 4 =81 1mod10, N=11, a=2, φ(n)=10,2 10 =1024 1mod Čínská věta o zbytcích Věta 2.5 Čínská věta o zbytcích (Chinese reminder theorem): Necht m 1,..., m k jsou po dvou nesoudělná přirozená čísla, tj. i, j,(1 i < j k):nsd(m i, m j )=1. Necht a 1,..., a k Z. Potom soustava kongruencí x a 1 (mod m 1 ) x a 2 (mod m 2 )... x a k (mod m k ) 29

30 má řešení. Navíc všechna řešení této soustavy kongruencí jsou navzájem kongruentní modulo M= m 1 m 2... m k. Příklad 2.12 Uvažujme soustavu kongruencí x 3(mod6), x 2(mod7). Řešením je x= =93. Nejmenší přirozené číslo, které je řešením soustavy je93= mod(6 7)=9. Čínská věta říká, že libovolné číslo z množiny {0,1,..., M} (tj. zbytkovou třídu modulo M) lze jednoznačným způsobem reprezentovat pomocí zbytkových tříd modulo m 1,..., m k. Odtud vyplývá následující tvrzení. Věta 2.6 Necht p, q jsou navzájem nesoudělná přirozená čísla. Potom pro libovolné x Z platí: x a(mod p q) x a( mod p), x a(mod q). Poznámka: Předchozí tvrzení můžeme snadno zevšeobecnit pro větší počet navzájem po dvou nesoudělných čísel (modulů). Čínská věta o zbytcích se používá pro efektivní provádění algebraických operací u algoritmu RSA Problém diskrétního logaritmu Necht a m 1mod p. Jestliže jsou čísla a a p nesoudělná, potom existuje alespoň jeden exponent m, takový, že vyhovuje tomuto vztahu, a to m=φ(p). Nejmenší kladné m, pro které platí toto platí, se označuje jako: řád čísla a(mod p), délka periody, kterou generuje a, exponent, kterému a náleží(mod p). Příklad 2.13 Uved me si příklad pojmu délka periody z předchozího odstavce, předpokládejme mocniny č. 7(mod 19). 7 1 =7mod19, 7 2 =49= =11 mod19, 7 3 =343= =1mod =2401= =7mod19, 7 5 =16807= =11 mod19. Nemá smysl dále pokračovat, nebot posloupnost je periodická a délka periody je nejmenší exponent m takový, že7 m =1(mod19). V tabulce 2.1 vidíme mocniny a < 19 modulo 19. Všechny posloupnosti končí jedničkou, délka posloupností dělí φ(19) = 18. Některé z posloupností mají délku 18, říkáme, že c.č. a generuje množinu všech c.č. modulo 19. Takové c.č. a se nazývá primitivní odmocnina modulo

31 a a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a 10 a 11 a 12 a 13 a 14 a 15 a 16 a 17 a Tabulka 2.1: Mocniny modulo 19. b i(a = 2) b i(a = 3) Tabulka 2.2: Tabulka některých diskrétních logaritmů modulo 19. Definice 2.9 Necht a, p jsou nesoudělná c.č. (p je prvočíslo), primitivní odmocnina prvočísla p je to číslo a, jehož mocniny generují všechna c.č. od 1 do p 1, tj. čísla a mod p, a 2 mod p,..., a p 1 mod p (všechna c.č. od1do p 1 v nějaké permutaci). Definice 2.10 Pro c.č. b a primitivní odmocninu a prvočísla p můžeme najít exponent i takový, že b a i mod p, kde0 i (p 1). Exponent i se nazývá diskrétní logaritmus (index) čísla b o základu a(mod p) (viz tab. 2.2). Předpokládejme výše uvedený vztah b a i mod p. Je-li dáno i, a, p, není obtížné vypočítat b. Ovšem je-li dáno b, a, p, je těžké nalézt i, tedy vyřešit tzv. problém diskrétního logaritmu (DLP). Jeden z nejrychlejších algoritmů (viz [3]) má asymptotickou složitost e ((ln p)1/3 ln(ln p)) 2/3, což není pro velká p řešitelné. Důkaz Eulerovy věty, čínské věty o zbytcích a další podrobnosti ke podkapitole lze nalézt v [2], [3]. Shrnutí kapitoly 2.3 V této podkapitole byly uvedeny velmi důležité věty, Malá Fermatova věta, Eulerova věta a Čínská věta o zbytcích a byl definován problém diskrétního logaritmu. Jejich znalosti využijeme dále v podkapitole 5.1. Otázky ke kapitole 2.3? 1. Nalezněte3 201 mod11, použijte Fermatovu větu. 2. Nalezněte další pseudoprvočísla. 3. Na Internetu vyhledejte další Carmichaelova čísla. 31

32 4. Nalezněte primitivní mocniny a modulo 17 a diskrétní logaritmy modulo Úkol navíc (pro zvídavé čtenáře): seznamte se s Velkou Fermatovou větou. Předcházející Modulární aritmetika Nahoru Úvod do kryptografie 32

33 Předcházející Důležité věty a problémy Základní kryptografické pojmy Kapitola 3 Úvod do kryptografie 3.1 Základní kryptografické pojmy Bezpečnost kryptografického systému Výlet do historie Substituční algoritmy Permutační algoritmy Rotační přístroje - Enigma Malý úvod do kryptoanalýzy Luštění jednoduché substituce Luštění jednoduché permutace V této kapitole se seznámíme se základními kryptografickými pojmy a uděláme si malý výlet do kryptografické historie. Předcházející Důležité věty a problémy Nahoru Základní kryptografické pojmy 33

34 Předcházející Úvod do kryptografie Bezpečnost kryptografického systému 3.1 Základní kryptografické pojmy Časová náročnost kapitoly: 45 minut Cíl kapitoly: Tato podkapitola seznamuje s základními pojmy z oblasti kryptografie. Cílem podkapitoly je osvojení si základních kryptografických pojmů, získání schopnosti je vyjmenovat a definovat. Po nastudování podkapitoly budete umět rozlišit dva základní typy kryptografických algoritmů. Kryptologie je věda o utajování informace, stojící na pomezí matematiky a informatiky, s větším přesahem do matematiky, zejména v oblasti teorie čísel a algebry. Součástí kryptologie je kryptografie a kryptoanalýza. Kryptografie je umění a věda o převedení informace do podoby, ve které je obsah informace skrytý (a to i tehdy, pokud je tato nečitelná informace prozrazena třetí straně). Je to tedy věda o šifrování dat za pomoci matematických metod. Kryptoanalýza je umění a věda o prolomení skryté informace (šifry nebo klíče), zabývá se odolností kryptografického systému a metodami vedoucími k jeho rozbití. Někdy se v souvislosti s kryptologií hovoří také o tzv. steganografii. Steganografie je věda o utajení existence zprávy (ne jejího obsahu). Nicméně se nejedná o kryptografii a my se jí budeme zabývat jen okrajově. Proč používat kryptografické nástroje? Abychom zajistili: důvěrnost obsahu zpráv, autenticitu zprávy, integritu zprávy a nepopiratelnost příjmu/doručení zprávy. Kryptografický systém (viz obr. 3.1 a 3.2) je pětice M, C, K, E, D, kde symbolem M označujeme tzv. prostor textů, což je konečná množina prvků, kterým se říká otevřený (srozumitelný) text (zpráva) (angl. plaintext), symbolem C označujeme tzv. prostor šifrovývh textů. C je konečná množina prvků nazývaných šifrový text (ciphertext), K je konečná množina možných klíčů, tzv. prostor klíčů, jejímž prvkem je klíč (key), E je množina šifrovacích funkcí (algoritmů, pravidel). Šifrováním (encryption) nazýváme proces, kterým z otevřeného textu získáme jeho šifový text, D je množina dešifrovacích funkcí (algoritmů, pravidel). Dešifrováním (decryption) nazýváme proces, kterým z šifového textu získáme otevřený text. Pro kryptografický systém (dále také KS) platí: pro k K existuje šifrovací funkce e k E a jí odpovídající dešifrovací funkce d k D, 34

35 E A Algoritmus e Algoritmus d B m c m Tajemství k Tajemství k Zdroj k, k Obrázek 3.1: Kryptografický systém. každá e k : m c a d k : c m jsou funkce, pro které platí e k (m)=c, d k (c)=m, d k (e k (m))=m, pro m M, e k je bijektivní funkce(1:1), pokud M= C, pak je každá šifrovací funkce permutací, klíč pro šifrování nemusí být totožný s klíčem pro dešifrování, pak hovoříme o dvojici klíčů a značíme ji (e k, d k ). Symbolem Z budeme značit tzv. přípustnou abecedu, což je konečná množina prvků, ze kterých se může skládat zpráva (i šifrový text). Přípustná abeceda se může pro otevřený text a šifrový text lišit. Nadále budeme uvažovat tyto typy účastníků dvojstranného komunikačního procesu: odesílatel (sender) je entita (někdo nebo něco), která legitimně zasílá zprávu (budeme je označovat Alice (nebo jen A)), příjemce (reciever) je entita (někdo nebo něco), která zprávu legitimně přijímá (budeme je označovat Bob (nebo jen B)), útočník (intruder, eavesdropper, adversary, opponent atd.) je entita, která není ani odesílatelem ani příjemcem zprávy, a která se pokouší prorazit bezpečnostní mechanismus zabezpečující komunikaci mezi A a B (budeme ji označovat E (jako eavesdropper)). Kryptografie se člení na symetrickou a asymetrickou kryptografii. Symetrická kryptografie (která je také označována jako kryptografie s tajným klíčem (secret key)) používá pro šifrování a dešifrování tentýž klíč, k=k. Symetrické (kryptografické) algoritmy se dělí na blokové šifry (algoritmy), které operují nad n-bitovým blokem dat (otevřeným textem), typicky n=64, proudové šifry (algoritmy), kdy se otevřený text zpracovává bit po bitu nebo bajt po bajtu. 35

36 Náhodný bitový proud k Stejný proud Náhodný bitový proud k XOR Proud bitů zprávy + Proud bitů šifry + XOR Proud bitů zprávy Obrázek 3.2: Jednoduchý kryptografický systém. Asymetrická kryptografie (nazývaná také kryptografie s veřejným klíčem) používá dvojici klíčů (k k ), tzv. soukromý (private key) a veřejný klíč (public key). Každý odesílatel i příjemce vlastní tuto dvojicí klíčů a její použití se liší podle toho, zda chceme zprávu šifrovat (k zašifrování se použije veřejný klíč příjemce, pro dešifrování se použije soukromý klíč příjemce, viz kapitola 5) nebo k podepsání (digitální podpis viz podkapitola 10.1) zprávy (odesílatel se podepisuje svým soukromý klíčem a příjemce podpis ověřuje odesílatelovým veřejným klíčem). Shrnutí kapitoly 3.1 Hlavními poznatky získanými po prostudování podkapitoly jsou pojmy kryptografický systém, otevřený text, šifrový text, klíč, šifrování, dešifrování, symetrická kryptografie, asymetrická kryptografie.? Otázky ke kapitole Jak se nazývají kryptografické algoritmy, které pro šifrování a dešifrování používají stejný klíč? 2. Co to je kryptologie? 3. Jak se nazývají klíče používané v asymetrické kryptografii? 4. Jak se liší steganografie od kryptografie? Předcházející Úvod do kryptografie Nahoru Bezpečnost kryptografického systému 36

37 Předcházející Základní kryptografické pojmy Výlet do historie 3.2 Bezpečnost kryptografického systému Časová náročnost kapitoly: 45 minut Cíl kapitoly: Tato podkapitola seznamuje s základními pojmy z oblasti bezpečnosti kryptografického systému. Po nastudování podkapitoly budete umět vyjmenovat a definovat základních pojmy bezpečnosti KS a roztřídit jednotlivé typy útoků na kryptografický systém. V minulosti se používaly tzv. proprietární algoritmy, kdy se utajoval princip algoritmu. Nevýhod proprietárních algoritmů je řada, zejména následující: každá skupina, která si chce předávat informace, musí mít svůj vlastní algoritmus; prozrazení algoritmu může zkompromitovat všechny zprávy jím zašifrované. Jelikož algoritmy musejí zůstat tajné, není možné, aby mezinárodní kryptologická komunita ověřila jejich odolnost proti kryptoanalýze a utajení rovněž neumožní proces jejich standardizace. Steganografie - spočívá v ukrytí otevřené zprávy před nepovolanými osobami tak, aby si nepovšimly jeho existence. Do této kategorie patřily v historii tajné inkousty, označování písmen v textu tečkama, v současné době zápis vhodných bitů do souborů s obrázky. Nevýhodou steganografie je, že ji nelze aplikovat u velkých skupin uživatelů, zejména pak navzájem se neznajících. Pro malé skupiny může však být značně účinná. Jako steganografii lze ohodnotit i zatemňování dokumentů, používané občas při komunikaci přes Internet. Existují programy, kterými lze upravit například soubor *.exe tak, aby jeho statistické vlastnosti odpovídaly spíše souboru *.jpg. Tento trik je málo účinný proti odposlouchávajícímu člověku, může však zmást odposlouchávací software, který vzhledem k objemu elektronické komunikace vykonává naprostou většinu kontroly zpráv - například sít Echelon viz: WWW: Echelon Moderní kryptografie používá algoritmy závislé na klíči (tzv. Kerckhoffův princip). Kryptografické algoritmy (tj. šifrovací a dešifrovací algoritmy) jsou veřejně publikovány a jejich znalost nesmí kryptoanalytikovi pomoci ve snaze překonat utajení - to musí být plně závislé na klíči (který tedy kryptoanalytik nezná). Jak už jsme se zmínili v úvodu podkapitoly, kryptoanalýza je umění a věda o prolomení skryté informace a jejím cílem je odkrytí zprávy m bez znalosti šifrovacího klíče k (který může být ale také odkryt). Rozeznáváme (viz také podkapitola 1.2): útoky kryptoanalytické, založené na matematické analýze šifry a snažící se odhalit její slabosti a využít jich; říkáme jim útoky proti algoritmům, útoky jiné povahy, sahající od pokusů využít nedostatků v implementaci (hacking/cracking) až po použití násilí proti příslušným osobám; v úvahu připadají za běžného použití zejména útoky proti protokolům a útoky proti implementacím. 37

38 Existují tyto základní typy útoků proti algoritmům, u kterých zná útočník zpravidla šifrovací algoritmus e a šifrový text c: Ciphertext only attack (útok ze známých šifer) - útočník E zná c 1 = e k (m 1 ), c 2 = e k (m 2 )..., chce zjistit m 1, m 2,...,k. V případě kryptografie pro praktické použití nepředstavuje obvykle získání šifrového textu pro útočníka nepřekonatelný problém. Zejména odesíláme-li soubory Internetem, cestují přitom přes několik vzdálených serverů a jsou přímo vystaveny odposlouchávání. Útok může být veden např. na základě znalosti statistických závislostí jazyka - tzv. frekvenční analýza znaků, dvojic (digramů), trojic (trigramů) znaků. Known-plaintext attack (útok ze známého otevřeného textu) - útočník E zná šifrovací algoritmus, šifrový text a jednu nebo více dvojic m 1, c 1 = e k (m 1 ), m 2, c 2 = e k (m 2 )..., chce zjistit k. Tato situace není vzácná. Často dochází k rozesílání předem známých zpráv, standardizované jsou např. hlavičky jistých typů souborů (např. Postscriptové soubory začínají stejným textovým řetězcem) atd. Chosen-plaintext attack (útok z vybraného známého otevřeného textu) - útočník E zná c 1 = e k (m 1 ), c 2 = e k (m 2 )..., a má navíc možnost si vybrat některé m i k za šifrování do c i za použití stejného klíče, což mu může pomoci k odkrytí k. Útočník má dokonce možnost vkládat do šifrovacího zařízení zvolené otevřené texty (samé nuly, samé jedničky atd.) a zjišt ovat, na jaký šifrový text je šifrovací algoritmus převede. Tato situace není pravděpodobná u lidí, ale je možná u počítače, generujícího zašifrované texty v odpověd na požadavek zvenčí. Algoritmus RSA je zranitelný vůči tomuto algoritmu. Chosen-ciphertext attack (útok z vybraných známých šifer) - útočník E zná c 1 = e k (m 1 ), c 2 = e k (m 2 )... a má navíc možnost si vybrat některé c i k dešifrování, což mu může pomoci k odkrytí k. m typem útoku je např. Chosen-key attack - útočník může využít znalostí o vztazích mezi různými klíči, dále Adaptive chosen-plaintext attack, kdy má útočník možnost modifikovat vkládané otevřené texty podle výsledku předešlých zašifrování. Brute-force attack (útok hrubou silou, exhaustive search) je útok, kdy útočník postupně vyzkouší všechny možné klíče. Zkouší, zda při jejich aplikaci na známou šifru c nedostaneme smysluplnou zprávu m (i v případě, že známe k tomuto c i původní m, také čekáme na klíč k, který vygeneruje příslušný m). Důležitá je velikost klíče, a tedy velikost prostoru klíčů. Např. algoritmus DES používá klíč velikosti 56 bitů, všech možných klíčů je tedy jen Každý kryptografický systém je zlomitelný tímto útokem, ale za jak dlouho? To je jen otázka peněz, protože je tento útok zpravidla spojený s využitím počítače. Tento útok je možný proti velké většině algoritmů a doba jeho trvání většinou závisí právě na délce použitého klíče. Se zvětšováním délky klíče roste časová náročnost útoku exponenciálně a rychle překračuje fyzikálně možné meze. Brute-force attack se nejčastěji používá proti algoritmům s krátkým klíčem, jako je například zmiňovaný algoritmus DES. V některých dalších kapitolách se seznámíme i s dalšími typy útoků. Bezpečnost KS chápeme jako odolnost KS proti odhalení otevřeného textu neautorizovaným subjektem: Kryptosystém je bezpodmínečně bezpečný (absolutně bezpečný, perfektní, ideální KS) tehdy, když nemůže být prolomen ani prostřednictvím neomezených výpočetních prostředků (ideál). Jediným takovým systémem je systém One-Time Pad. 38

39 Klíč Vel. abecedy Délka klíče Vel.stavového prostoru Doba útoku PIN s Velká písmena s Alfanumerické zn hod. Heslo (Unix) let DES let Klíč128b ess Klíč512b ess ess - doba existence sluneční soustavy, cca10 9 let,10 16 ess=10 25 let. Tabulka 3.1: Porovnání doby potřebné k prolomení KS útokem Brute-force při rychlosti 1 operace za µs. KS je výpočetně bezpečný tehdy, když nejlepší možný algoritmus potřebuje k jeho prolomení N operací, kde N je velmi velké číslo a je známé. Výpočetně bezpečný KS lze charakterizovat jako systém, kdy nelze získat otevřený text na základě znalosti odpovídající šifry v reálném čase dostupnými ani očekávanými prostředky. Bezpečnost kryptografického systému závisí na složitosti dat (kolik dat potřebujeme jako vstup pro útok), složitosti zpracování (jak dlouho bude útok trvat) a pamět ových nárocích (velikost paměti potřebné pro útok). Dobrý kryptografický algoritmus můžeme charakterizovat takto: množství práce vynaložené na šifrování a dešifrování by mělo být úměrné požadovanému stupni utajení, šifrovací algoritmus by neměl obsahovat zbytečná omezení, implementace algoritmu by měla být co nejjednodušší, chyby při šifrování by se neměly příliš šířit a ovlivňovat následující komunikaci, zprávy by se neměly zašifrováním příliš zvětšovat. Shrnutí kapitoly 3.2 V této podkapitole jsme se seznámili se základním členěním kryptoanalytických útoků na algoritmus, definovali jsme útok hrubou silou. Dále jsme zavedli stručné dělení kategorií bezpečnosti kryptografického systému.? Otázky ke kapitole Pokud kryptografický algoritmus pracuje se 128-bitovým klíčem, jaký je prostor klíčů (kolik různých klíčů musím zkontrolovat při útoku hrubou silou)? 2. Popište princip útoku ze známých šifer. 3. Co říká tzv. Kerckhoffův princip? 39

40 Předcházející Základní kryptografické pojmy Nahoru Výlet do historie 40

41 Předcházející Bezpečnost kryptografického systému Malý úvod do kryptoanalýzy 3.3 Výlet do historie Časová náročnost kapitoly: 60 minut Cíl kapitoly: Tato podkapitola seznamuje s jednoduchými kryptografickými algoritmy. Cílem podkapitoly je osvojení si principů historických algoritmů. Po nastudování podkapitoly budete umět definovat dvě základní techniky konstrukce šifrovacích algoritmů (permutaci a substituci). V minulosti se uplatňovaly dva základní principy konstrukce šifrovacích algoritmů: substituce a permutace. Substituční algoritmy nahrazují znaky otevřeného textu jinými znaky. Permutační (transpoziční) algoritmy nemění znaky otevřeného textu, ale mění jejich pořadí. V teorii informace se používá pojem redundance jazyka. My se spokojíme konstatováním, že redundance je mírou relativní nadbytečnosti informace. V kryptografii se snažíme o minimalizace redundance, tedy o ukrytí všeho nadbytečného, co existuje v m v šifrovém textu c (např.: dotazník - zadáváte rodné číslo a datum narození - redundantní informace). Existují dvě základní techniky pro ukrytí redundance otevřeného textu: konfuse (záměna - confusion) - ukrytí vztahů mezi m, c, k, odrazuje útočníka od hledání redundance a statistických vzorků v c - je realizováno substitucí, difuse (rozptyl - diffusion) - rozptýlení redundance m po celé c, statistické závislosti se rozptýlí po šifře - je realizováno permutací (transpozicí). V současnosti se čistě substituční nebo permutační algoritmy nepoužívají. Používají se algoritmy (symetrické), které kombinují obě techniky, říká se jim složené šifry Substituční algoritmy Mezi jednoduché substituční algoritmy (monoalfabetické algoritmy - jeden znak m je nahrazen jedním znakem c) patří následující: Shift Cipher - M= C= Z 26, prvky Z jsou písmena anglické abecedy (bez mezery), která lze po řadě očíslovat (tj. A=0,..., Z=25), m M, k {0,1,...,25}, - šifrování c=e(m)=(m+k) mod26, - dešifrování m=d(c)=(c k) mod26, - algoritmus není odolný proti útoku pomocí tzv. frekvenční analýzy ani proti útoku hrubou silou (ten je úspěšný průměrně po 26/2 = 13 pokusech), - pro k=3dostaneme tzv. Caesarovu šifru, pro k=13 dostaneme šifru ROT13. 41

42 P O K U S A B C D E F G H I/J L M N Q R T V W X Y Z Obrázek 3.3: Playfair. A B C D E A A B C D E B F G H I K C L M N O P D Q R S T U E V W X Y Z Obrázek 3.4: Polyboisův čtverec. Příklad 3.1 m=totojeprikladcaesarov Y SIFRY, c=wrwrmhsulnodgfdhv DURY BV LIUB. Affine Cipher - M= C= Z 26, m M, k=(a, b), kde a, b {0,1,...,25}, - šifrování c=e(m)=(a m+b) mod26, - dešifrování m=d(c)=((c b) a 1 ) mod26, - pozn.: a 1 existuje tehdy a jen tehdy, když NSD(a,26) = 1, kde NSD je největší společný dělitel. Příklad 3.2 k=(a, b)=(3,5), m=totojeprikladaffinecipher, c=kv KV GRY EDJMFOFUUDSRLDY ARE. Mezi tzv. polygramové substituční algoritmy (skupina znaků otevřeného textu je v šifře nahrazena opět skupinou znaků) patří následující: Playfair (viz obr. 3.3) - pracuje s digramy (dvojicemi znaků) pomocí tabulky znaků velikosti5 5, - do tabulky se nejprve zapíše klíč (klíč v příkladu k=pokus), a poté se buňky tabulky doplní zbývajícími znaky abecedy (I/J se umístí do jedné buňky), - každý znak digramu se nahradí znakem, který leží na průsečíku řádku tohoto znaku a sloupce druhého znaku z digramu, - např. PL se šifruje na SF, - poměrně dobře eliminuje frekvenční závislosti. Polyboisův čtverec (viz obr. 3.4) - substituce 25 znakové abecedy (anglické bez písmene J) abecedou25 dvojic AA, AB,..., EE, - klíčem je tabulka s tajným obsahem, - např. znak P se šifruje na CE, zpráva m = P RIKLAD se šifruje na c = CEDBBDBECAAAAD. Hillův algoritmus viz [2]. 42

43 a b c d e f g h i j k l m n o p q r s t u v w x y z a A B C D E F G H I J K L M N O P Q R S T U V W X Y Z b B C D E F G H I J K L M N O P Q R S T U V W X Y Z A c C D E F G H I J K L M N O P Q R S T U V W X Y Z A B d D E F G H I J K L M N O P Q R S T U V W X Y Z A B C e E F G H I J K L M N O P Q R S T U V W X Y Z A B C D f F G H I J K L M N O P Q R S T U V W X Y Z A B C D E g G H I J K L M N O P Q R S T U V W X Y Z A B C D E F Tabulka 3.2: Část Vigenérovy tabulky. Polyalfabetické substituční algoritmy jsou založeny na použití několika různých monoalfabetických algoritmů. Pro každý znak otevřeného textu se použije konkrétní monoalf. algoritmus. Přesné určení vhodných algoritmů určuje hodnota klíče. Pokud je délka klíče (tj počet různých monoalf. algoritmů)= n a je kratší než je počet znaků otevřeného textu, musí se klíč použít opakovaně - tomuto jevu se říká perioda. Doporučuje se používat klíč, který je stejně dlouhý jako otevřený text nebot periodické použití kratšího klíče ulehčuje kryptoanalýzu (nebot nedochází ke skrývání frekvenčních závislostí). Kryptoanalýza na základě frekvenční analýzu je u polyalfabetických algoritmů obtížnější než u algoritmů monoalfabetických. Obecný princip lze demonstrovat na Shift Cipher: - M= C= K=(Z 26 ) n, - zpráva m se šifruje po blocích o n prvcích, - klíčem je řetěz n znaků, k=(k 1, k 2,..., k n ), - e k (m 1, m 2,..., m n )=(m 1 + k 1 ) mod26,...,(m n + k n ) mod26, - d K (c 1, c 2,..., c n )=(c 1 k 1 ) mod26,...,(c n k n ) mod26. Počet všech různých klíčů je26 n, což není dostatečný počet pro útok hrubou silou za použití počítače, ale pro manuální útok může být tento počet dostačující. Příklad 3.3 m=prikladpoly ALFABETICKESIFRY, k= TOTOJEKLICTOTOJEKLICTOTOJEKLICTOT, c 1 = P+ T mod26, c 2 = R+O mod26..., tj. c 1 =15+19 mod26, c 2 =17+14 mod26... Mezi polyalfabetické algoritmy patří následující: Vigenérův algoritmus - každý z n znaků klíče k určuje jinou tabulku (viz tab. 3.2) obecného monoalfabetického algoritmu. Šifrování probíhá tak, že je-li např. dán znak klíče c a znak otevřeného textu d, znak šifrového textu leží na průsečíku řady označené znakem c a sloupce označeného znakem d. V našem případě je výsledným znakem šifrového textu znak F. Dešifrování probíhá analogicky, tj. že je-li např. dán znak klíče c a znak šifrového textu f, výsledný znak otevřeného textu leží na průsečíku řady označené znakem c a sloupce označeného znakem f. V našem případě je výsledným znakem otevřeného textu znak D. 43

44 Obrázek 3.5: Scytale. One-Time Pad (Vernamův algoritmus (alg. s jednorázovým klíčem)) je nerozluštitelný systém, kdy se pro každé použití generuje nový klíč (jednorázový). - M= C= K=(Z 2 ) n, - e k (m 1, m 2,..., m n )=(m 1 + k 1,..., m n + k n ) mod2=(m 1 k 1,..., m n k n ) - jedná se o XOR bitového obrazu otevřeného textu s náhodným bitovým klíčem, - d k (c 1, c 2,..., c n )=(c 1 +k 1,..., c n +k n ) mod2=(c 1 k 1,..., c n k n ) - jedná se o XOR bitového obrazu šifrového textu se stejným klíčem. Vernamův algoritmus je jediným absolutně bezpečným systémem. Klíče z množiny K jsou voleny náhodně a se stejnou pravděpodobností a při šifrování každého nového otevřeného textu se volí nový klíč, který by měl být stejně dlouhý jako otevřený text. Pokud bychom použili k zašifrování dvou zpráv m 1 a m 2 stejný klíč k, tak můžeme díky sčítání (XORu) eliminovat vliv klíče a pokud by obě zprávy byly totožné, můžeme je obě určit ((m 1 k) (m 2 k)=m 1 m 2 ). Problémem u tohoto systému je ale generování a distribuce klíčů Permutační algoritmy Znaky šifrového textu jsou stejné jako znaky otevřeného textu, jen je jejich pořadí změněno. Neskrývá se statistická závislost výskytů znaků otevřeného textu. Příklady permutačních algoritmů: Je dáno je přirozené číslo n >1, necht M= C= Z n, množina klíčů K je množina permutací množiny {1, 2,..., n}. Šifrovací a dešifrovací funkce jsou definovány takto: e(m 1 m 2...m n ; k) = m k(1) m k(2)...m k(n), d(c 1 c...c m ; k) = c k 1 (1)c k 1 (2)...c k 1 (n). Delší text (než n znaků) doplníme (vhodně zvolenými znaky) na násobek n a rozdělíme na n-tice, které šifrujeme zvlášt. Příklad 3.4 M= C=(Z 26 ) n, - šifrovací klíč: permutace {1,2,..., n} např.: n=6, permutace1/3,2/5,3/1,4/6,5/4,6/2, - dešifrovací klíč: inverzní permutace, 1/3, 2/6, 3/1, 4/5, 5/2, 6/4, m=caesar, c=ercaas. Starořecký systém Scytale používal jako klíč tyč určitého průměru. Šifrování probíhalo tak, že se na tyč namotal pás látky a na tu se napsala zpráva. Šifrovým textem se pak stal pás látky (odmotaný) s napsanou zprávou. K dešifrování se musela použít klíč (tyč stejného průměru jako pro šifrování) a šifrový text (pás látky) se musel namotat na tuto tyč. 44

45 Obrázek 3.6: Enigma Rotační přístroje - Enigma Již v polovině 30 let patřila Enigma ke standardnímu vybavení všech složek německých ozbrojených sil. Přístroj Enigma (viz obr. 3.6) se podobal psacímu stroji. Byl však napájen z baterie a nepoužíval papír. Zašifrované depeše se vysílaly morseovkou a musely být u příjemce dekódovány druhým přístrojem Enigma. Jádro Enigmy tvořila klávesnice, programovací deska zvaná štekr, a 3 rotační kotouče s dvaceti šesti písmeny abecedy, Každým stiskem klávesy vysílala obsluha do útrob Enigmy elektrický impuls. Impuls procházel programovací deskou, která ho nasměrovala do prvního rotačního kotouče s písmeny abecedy. Pomocí těchto kotoučů sestavovala obsluha soubory kódu pro Enigmu. Za války se měnily každých osm hodin. V okénkách se objevovala písmena z kotoučů v pořadí podle místa v abecedě. Každým stiskem klávesy operátor uvedl do chodu kotouč vpravo, který se posunul o jedno písmeno. Pak prostřední kotouč a nakonec levý. Impuls procházel zprava doleva vedený v každém ze tří kotoučů. Vlevo ho odrážeč obrátil zpět. Na zpáteční cestě procházel impuls znovu programovací deskou (štekrem), kde byl podruhé přesměrován. Jeho konečným místem určení byl světelný panel nad klávesami, kde se rozsvěcovalo převedené písmeno. Písmeno, které se na něm rozsvítilo bylo výsledkem kombinací kotoučů, jichž byl neuvěřitelný počet. Zakódovaná depeše se pak morseovkou vysílala příjemci, kde se dekódovala na přijímacím přístroji Enigma nastaveném na stejný denní klíč. O fascinující historii prolomení Enigmy za 2. světové války může čtenář např. na Internetu nalézt mnoho informací, např.: WWW: Enigma Shrnutí kapitoly

46 V této části textu jsme se nejenom seznámili s některými jednoduchými kryptografickými algoritmy, ale zejména jsme si objasnili základní principy konstrukce algoritmů, a to princip substituce a permutace. Nejdůležitějšími uvedenými algoritmy jsou Shift Cipher, Affine Cipher a One-Time Pad.? Otázky ke kapitole Jaký je prostor klíčů u Afinne Cipher, pokud přípustná abeceda Z obsahuje 52 znaků? 2. Transpoziční šifra: Otevřený text je: M = CRYPTOGRAPHY, šifrujeme pomocí transpozice, která je dána klíčem k =( ). Jaký dostaneme zašifrovaný text? Jakým způsobem získáme z šifrového textu původní otevřený text? Jak lze vhodně reprezentovat zadanou transpozici? 3. Jednoduchý symetrický algoritmus: Je dána vstupní abeceda Z = 0, 1, otevřený text m je xor-ován pomocí klíče k na šifrový text c. Jak proběhne dešifrování? 4. Předpokládejme substituční polyalfabetickou Vigenérovu šifru (blokovou), kde M = C= Z, tj. pracujeme s abecedou o26 znacích (bez mezery), délka bloku je n=3 (tedy i délka klíče). Otevřený text m=thiscipheriscertainlynotsecure. Šifrování probíhá následovně e=(p 1, p 2, p 3 ), kde p 1 posune znak o3znaky v abecedě dále (doprava), p 2 o7znaků a p 3 o10 znaků doprava. Jaký je šifrový text c? Předcházející Bezpečnost kryptografického systému Nahoru Malý úvod do kryptoanalýzy 46

47 Předcházející Výlet do historie Symetrická kryptografie 3.4 Malý úvod do kryptoanalýzy Časová náročnost kapitoly: 45 minut Cíl kapitoly: Tato podkapitola se věnuje dvěma nejjednodušším postupům při luštění šifer. Cílem podkapitoly je osvojit si postup při luštění jednoduché monoalfabetické substituce a jednoduché permutace. Po prostudování podkapitoly budete umět tyto postupy použít Luštění jednoduché substituce Monoalfabetické algoritmy nejsou bezpečné, nebot věrně reprodukují vlastnosti otevřeného textu, a to zejména opakování skupin znaků a souhláskové vztahy. Pokud tedy předpokládáme, že šifrový text vznikl jednoduchou substitucí (frekvence znaků odpovídá frekvenci znaků předpokládaného jazyka, vyskytují se delší opakování...) můžeme použít tzv. frekvenční analýzu: 1. Spočítáme frekvenci jednotlivých písmen v šifrovém textu. 2. Pokusíme se identifikovat písmeno, které případně nahrazuje mezeru mezi jednotlivými slovy. Pokud není šifrový text příliš krátký, tak se nám podaří zjistit, jestli takové písmeno existuje, a které to v tom případě je. Průměrná délka slov v přirozených jazycích je obvykle něco mezi 5 a 6 písmeny. Pokud tedy nějaké písmeno nahrazuje mezeru mezi slovy, musí tvořit něco mezi16% a20% textu. Dále, je-li správný náš předpoklad, že nějaké písmeno zastupuje mezeru, objeví se v šifrovém textu vždy po několika jiných písmenech, nemůže se také objevit dvakrát po sobě. 3. Pokud se nám podařilo mezeru identifikovat, můžeme si šifrový text rozdělit na slova. Pokud by v původním otevřeném textu mezera byla vynechána, nic rozdělovat nebudeme. 4. Pokusíme se identifikovat písmena, která v šifrovém textu nahrazují některá z nejčastěji používaných písmen v přirozeném jazyce, jako například písmena E, A, T, P atd. Několik těchto nejčastěji používaných písmen vždy tvoří až 40% obvyklého textu, ve většině jazyků a případů je písmeno E zdaleka nejčastější. Tabulka 3.3 ukazuje frekvence jednotlivých písmen v některých jazycích. Tuto tabulku je třeba chápat pouze jako pomůcku. Nejčastěji používaná písmena se objevují pravidelně jako nejčastější písmena v různých textech. Zato málo frekventovaná písmena žádnou velkou cenu pro luštění nemají, v některém textu se mohou objevit častěji než v jiném. Frekvence jednotlivých písmen také závisí na tom, o jaký text jde. Odborný text obsahující mnoho speciálních termínů může mít frekvence jednotlivých písmen velmi posunuté. Text o stavbě atomu často užívající termíny PROTON, ELEKTRON, NEUTRON bude mít patrně o dost vyšší frekvenci O, než je obvyklé. 47

48 Písmeno Angl. Franc. Něm. Češ. Slov. A 7,96 7,68 5,52 8,99 9,49 B 1,60 0,80 1,56 1,86 1,90 C 2,84 3,32 2,94 3,04 3,45 D 4,01 3,60 4,91 4,14 4,09 E 12,86 17,76 19,18 10,13 9,16 F 2,62 1,06 1,96 0,33 0,31 G 1,99 1,10 3,60 0,48 0,40 H 5,39 0,64 5,02 2,06 2,35 I 7,77 7,23 8,21 6,92 6,81 J 0,16 0,19 0,16 2,10 2,12 K 0,41 0,00 1,33 3,44 3,80 L 3,51 5,89 3,48 4,20 4,56 M 2,43 2,72 1,69 2,99 2,97 N 7,51 7,61 10,20 6,64 6,34 O 6,62 5,34 2,14 8,39 9,34 P 1,81 3,24 0,54 3,54 2,87 Q 0,17 1,34 0,01 0,00 0,00 R 6,83 6,81 7,01 5,33 5,12 S 6,62 8,23 7,07 5,74 5,94 T 9,72 7,30 5,86 4,98 5,06 U 2,48 6,05 4,22 3,94 3,70 V 1,15 1,27 0,84 4,50 4,85 W 1,80 0,00 1,38 0,06 0,06 X 0,17 0,54 0,00 0,04 0,03 Y 1,52 0,21 0,00 2,72 2,57 Z 0,05 0,07 1,17 3,44 2,72 Tabulka 3.3: Frekvence výskytů jednotlivých znaků v některých jazycích. 48

49 5. Také je dobré vědět, která písmena se nejčastěji vyskytují na začátku a na konci jednotlivých slov. Pořadí hlásek v češtině je tedy: E,O,A,I,N,S,T,R,V,U,L,Z,D,K,P,M,C,Y,H,J,B,G,F,X,W,Q. Pořadí hlásek v češtině na začátku slov: P,S,V,Z,N,T,O,J,K,D,A,B,M,R,U,C,I,H,E,L,F,G,W,Y,Q,X. Pořadí hlásek v češtině na konci slov: E,I,A,O,U,Y,M,T,H,V,L,K,S,Z,D,N,R,C,J,B,P,G,F,W,X,Q. 6. Pokud jsme odhalili některé hlásky, můžeme pokračovat v luštění s využitím dalších vlastností přirozeného jazyka. Nejčastějšími souhláskovými bigramy (dvojicemi znaků) v češtině jsou ST, PR, SK, CH, DN, TR. Tyto bigramy mají své zvláštnosti: - ST: S a T má přibližně stejnou frekvenci (existuje i bigram TS), je součástí velkého počtu souhláskových trigramů (STR, STN, STL, STV) a vyskytuje se uprostřed i na konci slova. - PR: P má asi poloviční frekvenci než R, obrácený bigram RP se téměř nevyskytuje (chrpa), zpravidla jej nelze rozšířit dozadu na souhláskový trigram (PRV), lze jej ale rozšířit dopředu na trigram (SPR, ZPR,...), zpravidla stojí na počátku slov. - CH: H má jen o něco menší frekvenci než C (u kratších textů nemusí platit), bývá zpravidla na konci slov spolu se samohláskami Y,I,A,E (YCH, ICH, ACH, ECH), většinou platí, že předchází-li CH souhláska, pak je po něm samohláska a naopak (OBCHOD, NECHŤ). 7. Trigramy: PRO, UNI, OST, STA, ANI, OVA, YCH, STI, PRI, PRE, OJE, REN, IST, STR (nejběžnější souhláskový trigram!), EHO, TER, RED, ICH,.. 8. Nakonec dokončíme luštění s využitím gramatických pravidel a informací vyplývajících z kontextu Luštění jednoduché permutace Luštění jednoduché permutace (transpozice) rovněž není obtížné. připomeňme si, že permutace (transpozice) je přeskupení otevřeného textu podle nějakých pravidel (tato pravidla se nazývají klíčem). Výsledný šifrový text zachovává frekvenci hlásek příslušného jazyka. Zpřetrhány jsou pouze bigramové, trigramové vazby, a tím je ukryt význam původního textu. V takovémto textu se tedy nevyskytují dlouhá opakování, je zachována frekvence hlásek příslušného jazyka, neodpovídají bigramové, trigramové frekvence, nelze provést dělbu na samohlásky a souhlásky. Poměr samohlásek a souhlásek je v textu zachován a je přibližně v poměru40: Získaný šifrový text rozepišme do např. pětimístných skupin. Určíme frekvenci znaků a zjistíme, zda odpovídá frekvenci jazyka. V šifře nejsou velká opakování a jsou zde skupiny samohlásek a souhlásek. To by mohlo naznačovat, že se jedná o transpozici. Uvedeme postup kryptoanalýzy šifrového textu vytvořeného jednoduchou transpozicí s tzv. úplnou tabulkou (otevřený text je vepsán do tabulky určitého rozměru a sloupce jsou podle určitého klíče přeskupeny). 49

50 2. Určíme rozměr tabulky - spočteme délku šifrového textu a snažíme se určit pravděpodobný rozměr tabulky. Ten zjistíme tak, že délku šifrového textu rozložíme na součin prvočísel a z nich kombinujeme pravděpodobnou velikost tabulky. Máme-li např. šifrový text délky120= , pak jsou možné následující velikosti tabulek (počet sloupců * počet řádků): málo pravděpodobné (bylo by příliš lehké k řešení) jsou tabulky o rozměrech 1 120,2 60,3 40,4 30,6 20, naopak složité jsou tabulky o rozměrech120 1,60 2,60 2, použitelné tabulky:8 15,15 8,12 10,10 12,20 6,30 4, Šifrový text se vepíše do podezřelých tabulek po sloupcích. Dříve, než přejdeme k vlastnímu luštění, můžeme si do značné míry ověřit, zda námi zvolená tabulka je správná. Zjistíme to na poměru souhlásek a samohlásek v jednotlivých řádcích tabulky. I zde by měl být přibližně zachován poměr samohlásky : souhlásky -40:60. Která z tabulek splňuje tento poměr pro většinu svých řádků, ta je nejpravděpodobnější tabulkou a zde začneme s pokusem o vyluštění původního textu. 4. Pokud nemáme k dispozici vhodný program, nezbývá než sloupce tabulky rozstříhat a přeskupovat tak, abychom se snažili zohlednit bigramové četnosti (např. PR, ST) a samohláskové a souhláskové vazby, a to ve všech řádcích najednou. Postupně tedy k sobě přikládáme vhodné sloupky, až dostaneme celé bloky otevřeného textu (čte se po řádcích). Bloky pak jen přeskupíme a máme hledaný výsledek. 5. Pokud hovoříme o úplné tabulce, myslíme tím doplnění posledního řádku tabulky vhodnými znaky tak, aby byl úplný. V následujícím příkladu byl otevřený text na konci doplněn znaky XX. Příklad 3.5 Je dán šifrový text o 60 znacích OTSEC NCNUX ATONO TOUTO KXUJU AILBX UVPTD HSEOL KYREN EPSUK ZELID RZPAU - určíme velikosti tabulky, možné tabulky : 15 4, 20 3, 10 6, 6 10 a vyzkoušíme jednotlivé tabulky: rozměr20 3, očekávaný poměr8/12 OECXOTTXULUTSLREUEDP 8/12 TCNANOOUABVDEKEPKLRA 8/12 SNUTOUKJIXPHOYNSZIZU 8/12 rozměr15 4, očekávaný poměr6/9 OCUOOKUBPSKNULZ 6/9 TNXNUXAXTEYEKIP 6/9 SCAOTUIUDORPZDA 7/8 ENTTOJLVHLESERU 5/10 rozměr10 6, očekávaný poměr4/6 OCOTUUSRUD 5/5 TNNOAVEEKR 4/6 SUOKIPONZZ 4/6 EXTXLTLEEP 3/7 CAOUBDKPLA 4/6 NTUJXHYSIU 4/6 50

51 rozměr6 10, očekávaný poměr2,4/3,6 OAKUKZ 3/3 TTXVYE 2/4 SOUPRL 2/4 ENJTEI 3/3 COUDND 2/4 NTAHER 2/4 COISPZ 2/4 NULESP 2/4 UTBOUA 4/2 XOXLKU 2/4 Nejpravděpodobnějšími tabulkami jsou tabulky s rozměry 20 3 a 6 10, následují rozměry10 6 a nejhůře z testu vyšel rozměr15 4. Správný rozměr je6 10. Vzhledem k malému počtu sloupců již není problém je správně seřadit UKAZKO VYTEXT PROLUS TENIJE DNODUC HETRAN SPOZIC ESUPLN OUTABU LKOUXX a dostaneme hledaný otevřený text: UKAZKOVY TEXT PRO LUSTENI JEDNODUCHE TRANSPOZICE S UPLNOU TABULKOU XX. mi jednoduchými kryptoanalytickými postupy se nebudeme zabývat, jejich popis lze nalézt např. v [3], [9]. Shrnutí kapitoly 3.4 V této podkapitole jsme si ukázali princip luštění jednoduchésubstituce a permutace.? Otázky ke kapitole Vyluštěte tento šifrový text (jedná se o jednoduchou transpozici), nalezněte klíč (permutace). Je použita mezinárodní abeceda o 26 znacích A,..., Z bez mezery. IRJYE VDIPI AVIVZ NTUKM EORZN EOTYE KKLPI TTNNC EIPAE COSMN EOPRL KEPEP LAPTE NNEDO SOTNK ENOPT LBOAO TROVR OEEIN REEEK UTSHX EOORM YIJAJ PZOED DEDOD UCSTS ONZOA IKSCU JPPES NISBV FEIIK AE- UVU EJOOO DNMKS EORKB YMOAU ELPNO DKOOO JUNST ZIUOU EEJVG EEDZA ACEDM KKEEI RNETV 51

52 2. Vyluštěte tento šifrový text (jedná se o jednoduchou substituci), nalezněte klíč (převodová tabulka). Je použita mezinárodní abeceda o 26 znacích A,..., Z bez mezery. UFTAL OTCSF CILDO TGLUL JHSFN PZIHF NBGZU FTALP ZRZOB NCHSF NQBZA ZFZGX ZWOZG OLPZX AHBHU FTALP ZXIHJ OTWZJ HFAZD NDTOS BZLFN WCHPR ZPHCI TUXHI ZCITD ZSAWT BCHSF NDNFT ALPZG ZGZPZ WZIZD NQAHS WZOTP TCOZJ RZHWT UBTPZ HJOZW TUBHB LHJUB ALOTP ZWLUB TOLXL JZOZI LADLP TCPNG SGDNU ZOLOL ULQIT DHUBX IHJOT WZDHJ HSRZG OLPQH SGZXI HJOTW ZRZXA ZUBLA ILOZD CHJOL QZUFZ ASXAT AHGQI LJONW CXAHW ZUZWC PHCHS DGOTQ LBTOZ FZGXZ WOZIL BQNRL QHOLX ARZJO ZSATO BLQUZ PHCHS UBLBT BGDRZ JIZCH SFNJA SCHBO ZRZJH DLBNP TDNRP SBZXI HJOTW ZSQIL JLPZJ HHBZD AZONW CJNWC LRTWT WCHFL ISOZF HBDSG LDAZO NWCOZ XAHXS UBONW CHFLI ZWCUZ XIHJO TWZBG DGLXL ATGDI LUBZO ZDCHJ OZRZS IHGZO TDXHI NZBNI ZOHDN WCULW WTWCO ZRDCH JOZRU TPTHF LINGS UBLDL RTBAL JTWOZ XIZBZ OZQHU TWQNO ZRXHG JZRTJ ASCNJ ZOXHU FZASP LRTFN BCHSF NGXAL WHDLO NEEEE Předcházející Výlet do historie Nahoru Symetrická kryptografie 52

53 Předcházející Malý úvod do kryptoanalýzy Blokové a proudové šifry Kapitola 4 Symetrická kryptografie 4.1 Blokové a proudové šifry Blokové šifry Proudové šifry Režimy činnosti symetrických šifer Electronic Codebook Mode (ECB) Cipher Block Chaining (CBC) Cipher-Feedback Mode (CFB) Output-Feedback Mode (OFB) Counter mode (CRT) Algoritmus DES TripleDES Algoritmus AES V této kapitole se seznámíme s principem symetrických algoritmů, s režimy, ve kterých tyto algoritmy mohou pracovat. Blíže se seznámíme se dvěma nejvýznamnějšími symetrickými algoritmy DES a AES. Předcházející Malý úvod do kryptoanalýzy Nahoru Blokové a proudové šifry 53

54 Předcházející Symetrická kryptografie Režimy činnosti symetrických šifer 4.1 Blokové a proudové šifry Časová náročnost kapitoly: 45 minut Cíl kapitoly: Po prostudování této podkapitoly budete umět definovat základní vlastnosti blokových a proudových šifer a vyjmenovat jejich výhody a nevýhody. Symetrické šifrovací algoritmy používají k šifrování a dešifrování (decryption) jeden a tentýž tajný klíč pevné délky. Existují symetrické algoritmy dvou typů: proudové, které zpracovávají otevřený text bit po bitu nebo bajt po bajtu, a blokové algoritmy, které zpracovávají otevřený text po n-bitových blocích. Na obr. 4.1 je schematicky znázorněn symetrický kryptosystém. Výhody symetrické kryptografie (dále také SK) jsou následující: symetrické algoritmy jsou rychlejší než asymetrické (dále také ASK), rychlá hardwarová implementace (v případě blokových algoritmů i softwarová) relativně krátké klíče (viz tabulka 4.1), mohou být využity jako základní prvek pro konstrukci různých kryptografických mechanismů (pseudonáhodné genrátory, digitální podpisy, MAC...). Nevýhody symetrické kryptografie: na tajném klíči se musí obě strany dohodnout a klíč musí být oběma stranami udržován v tajnosti, management klíčů je velmi náročný (generování, distribuce, uchovávání), klíč by měl být často měněn, velký počet klíčů (mezi N účastníky, kdy chce komunikovat každý účastník s každým utajeně pomocí symetrického algoritmu, je počet tajných klíčů roven(n (N 1))/2), digitální podpis založený na SK vyžaduje velký klíč nebo důvěryhodnou třetí stranu. 54

55 E Útočník útočí proti m, k A Algoritmus e Algoritmus d B m c=e k (m) m=d k (c) Tajemství k Tajemství k Zdroj k Obrázek 4.1: Symetrický kryptosystém Blokové šifry Při návrhu blokových šifer je potřebné splnit současně několik, častokrát protichůdných, požadavků. Mezi základní patří: bezpečnost - nejdůležitější požadavek, šifrovací systém má být odolný vůči všem známým útokům, výkon - potřeba šifrovat a dešifrovat data zpomaluje jejich zpracování. Proto má být šifrovací systém co nejefektivnější. Častokrát můžeme odolnost šifrovacího algoritmu vůči kryptoanalýze zvyšovat přidáváním dodatečných vrstev zpracování otevřeného textu. Tím ale algoritmus zpomalujeme. Na druhé straně méně transformací otevřeného textu sice urychlí šifrování, avšak může vytvořit v šifrovacím systému bezpečnostní slabinu. mi požadavky na šifrovací systém jsou pamět ové nároky, omezení vyplývající z cílové platformy atd. Uvedené požadavky se netýkají jen blokových šifer, ale jsou platné také pro proudové šifry (algoritmy) (a některé další kryptografické konstrukce). Blokové šifry šifrují současně celý blok dat (obvykle64 bitů), stejně veliký je i výstupní blok šifrového textu. Šifrový text má stejnou délku jako otevřený text (zpráva). Velikost vstupního bloku blokového algoritmu má základní význam pro bezpečnost celého algoritmu. Pokud by velikost tohoto bloku byla malá, pak by bylo možné aplikovat tzv. slovníkový útok, tj. sestavit kompletní seznam (při určitém klíči) vstupních a jim odpovídajících výstupních hodnot algoritmu (tj dvojic m, c). Proto je nezbytné volit velikost vstupního bloku takovou, aby vytvoření takovéhoto slovníku bylo nereálné. V současnosti jsou používány převážně blokové šifry zpracovávající bloky o délce64 bitů (odpovídající slovník by měl velikost2 64 ) a více. Klíče je třeba často měnit. Mohou být použity ve všech režimech (viz 4.2). Bývají implementovány hardwarově i softwarově (softwarová implementace snazší než u proudových šifer). 55

56 Délka klíče SK Délka klíče ASK Tabulka 4.1: Porovnání délky klíčů (v bitech) se stejnou odolností vůči útoku hrubou silou. m=m 1 m 2... c=c 1 c 2...= = e k (m 1 )e k (m 2 )... m=d k (c)= = d k (c 1 )d k (c 2 )... A e d B Tajemství k Tajemství k Zdroj k Obrázek 4.2: Bloková šifra. Blokové šifry je možno využit nejenom na zabezpečení důvěrnosti dat šifrováním, ale také pro konstrukci jiných kryptografických mechanismů: hashovacích funkcí, MAC (Message Authentication Code) atd. (viz kap. 6). Podrobněji se budeme věnovat dvěma blokovým algoritmům, algoritmům DES (4.3) a AES (4.4), dalšími blokovými šiframi jsou např.: Lucifer, FEAL, LOKI, GOST, CAST, Blowfish, IDEA, RC5 a SKIPJACK se zabývat nebudeme Proudové šifry Proudové šifry (algoritmy) jsou šifrovací algoritmy, které mohou zpracovávat zprávu libovolné délky tak, že šifrují její jednotlivé prvky tj. bity či byty. Nemusí tedy shromáždit před šifrováním nejprve celý blok dat. Konstrukce proudových šifer je v zásadě jednoduchá. Sestává z náhodného generátoru (viz obr. 4.3), jehož výstupní hodnoty závisí na hodnotách tajného klíče k. Výstupní posloupnost tohoto generátoru je pak nějakým jednoduchým způsobem kombinována s otevřeným textem. Obvykle je k tomu využíván součet modulo dva (XOR - exclusive OR). Dešifrování pak probíhá analogickým způsobem. Náhodným generátorem (v závislosti na hodnotě tajného startovacího klíče) je opět generována pseudonáhodná posloupnost (říkejme jí heslo) a sečtením modulo dva této posloupnosti a šifrového textu dostaneme zpět otevřený text. Při konstrukci příslušného generátoru hesla je samozřejmě třeba vycházet z podmínek definujících kryptologickou odolnost celého systému. Například je zcela reálné předpokládat, že v určitých situacích zná potenciální protivník jak šifrový text, tak i jemu příslušející otevřený text (tzv. known-plaintext attack). Potom jednoduchým způsobem získá čisté heslo a stojí před úlohou, jak získat k tomuto heslu příslušející tajný klíč. Pokud by tuto úlohu vyřešil, mohl by si pak vygenerovat příslušné heslo i pro úsek, kde adekvátní otevřený text jemu znám není. Samozřejmě kvalitně navržený algoritmus musí být schopen tomuto útoku odolat. 56

57 Strartovací klíč K Generátor bitů k i Stejný proud Generátor bitů k i Klíč K Bity zprávy m=m 1 m 2... XOR + Bity šifry c=e k1 (m 1 )e k2 (m 2 )... + XOR Bity zprávy m=d k1 (c 1 )e k2 (c 2 )...=m 1 m 2... Obrázek 4.3: Proudová šifra. Proudové šifry jsou rychlé a snadno se implementují. Hodí se pro hardwarovou implementaci (VLSI). Nešíří se chyby -1chyba v c způsobí1 chybu v m. Není ochrana proti manipulaci se šifrovým textem. Opakované použití stejného startovacího klíče K má za následek generování stejného proudu klíčů k i. Matematicky je lze analyzovat snadněji než blokové. Existují asynchronní a synchronní proudové šifry, nejznámější šifrou je šifra RC4, viz: WWW: RC4 Shrnutí kapitoly 4.1 V této podkapitole byly uvedeny základní principy, na kterých fungují blokové a proudové algoritmy. Byl popsán princip konstrukce proudových šifer. Dále podkapitola obsahuje stručný výčet výhod a nevýhod obou typů symetrických algoritmů.? Otázky ke kapitole Jaký je základní rozdíl mezi blokovými a proudovými šiframi? 2. K jakému účelu se především symetrické algoritmy používají? 3. Popište princip slovníkového útoku. 4. Zjistěte jak velký blok dat zpracovávají některé blokové algoritmy (např. Blowfish, IDEA). 57

58 Předcházející Symetrická kryptografie Nahoru Režimy činnosti symetrických šifer 58

59 Předcházející Blokové a proudové šifry Algoritmus DES 4.2 Režimy činnosti symetrických šifer Časová náročnost kapitoly: 60 minut Cíl kapitoly: Po prostudování podkapitoly budete umět vyjmenovat režimy činnosti symetrických algoritmů, popsat jejich princip, definovat jejich výhody a nevýhody. Existují další požadavky na kryptosystém, než jen ty, které jsme již uvedli. Požadujeme, aby se opakující se vzorky otevřeného textu v šifrovém textu skrývaly, aby byl vstup pro algoritmus náhodný (např. náhodné generování klíče), aby byla manipulace s otevřeným textem prostřednictvím chyb v šifrovém textu obtížná, aby bylo možno opakovaně použít tentýž tajný klíč pro šifrování více než jedné zprávy. Proto jsou základní symetrické algoritmy doplňovány nějakým druhem zpětné vazby a jednoduchými pomocnými operacemi. Tyto doplňky žádným způsobem neovlivňují samotný algoritmus. Říkáme, že algoritmus pracuje v některém z kryptografických režimů Electronic Codebook Mode (ECB) Electronic Codebook Mode je základním, nejjednodušším a nejrychlejším režimem (viz obr. 4.4), jedná se o přímočaré použití blokové šifry, kdy je blok otevřeného textu šifrován do bloku šifrového textu, analogicky to platí pro dešifrování. Tento postup se dá vyjádřit takto: Vlastnosti režimu ECB: necht i 1, c i = e k (m i ), m i = d k (c i ). Nevýhodou režimu je to, že opakovaný blok je šifrován shodně - lze budovat tzv. kódovou knihu (uložíme otevřený text a jemu odpovídající šifru) odposlechem bez znalosti klíče (opakované bloky nejsou vzácné - např. stereotypní začátky a konce zprávy). Navíc lze nahrazovat bloky šifrového textu jinými bloky (tzv. útok replikací ), nebo je může útočník vynechat atd. Nezašifrovaný text v tomto režimu není skryt. Výhodou režimu na druhé straně je to, že vzhledem k tomu, že je každý blok šifrován a dešifrován nezávisle, celý proces může být paralelizován. Tento režim je hodný pro poruchová spojení (změna nebo ztráta jednoho bloku neovlivní šifrování ostatních bloků, změna jednoho bitu šifrového textu ovlivní po dešifrování jen příslušný blok otevřeného textu). 59

60 M 1 M 2 M n K E K E... K E C 1 C 2 C n C 1 C 2 C n D D... K K K D M 1 M 2 M n Obrázek 4.4: Režim ECB. U tohoto režimu je třeba řešit tzv. padding - doplnění posledního bloku zprávy m, který může být kratší než je délka bloku. Např. je-li velikost bloku otevřeného textu n=64 a poslední blok má velikost jen24 bitů, doplníme posledních5 bytů takto:4 byty doplníme nulama a poslední pátý číslem5, které reprezentuje počet doplněných bytů. Doporučuje se ale přidávat vždy ještě jeden blok, i když je velikost posledního 64 bitů. Tento přidaný blok může sloužit např. k uložení příznaku konce otevřeného textu. Protože útočník může modifikovat, odstranit nebo zopakovat libovolný blok šifrového textu znalosti klíče nebo algoritmu, doporučuje se tento režim používat pro šifrování krátkých zpráv (rozesílání klíčů atd.) Cipher Block Chaining (CBC) Řešením uvedených nevýhod režimu ECB je Cipher Block Chaining Mode, který používá tzv. chaining (zřetězení). Zřetězení je v podstatě mechanismus zpětné vazby, kdy je každý blok šifrového textu použit pro zašifrování dalšího bloku otevřeného textu (šifrový text bloku je kontextově závislý). To znamená, že je každý blok šifrového textu závislý na všech předešlých blocích otevřeného textu. Blok m i je XORován se šifrovým textem bloku m i 1 před šifrováním, analogicky pro dešifrování: c i = e k (m i c i 1 ), m i = c i 1 d k (c i ), pro i >1. Pro šifrování/ dešifrování prvního bloku se používá inicializační vektor IV (pseudonáhodná data): Vlastnosti režimu CBC: c 1 = e k (m 1 IV), m 1 = IV d k (c 1 ). Opakovaný blok je šifrován odlišně, pouze když je odlišný některý z předchozích bloků m. Nešifrovaný text je skrýván (je XORován). 60

61 IV M 1 M 2 M n C n-1 E E... K K K E C 1 C 2 C n C 1 C 2 C n D D... K K K D IV C n-1 M 1 M 2 M n Obrázek 4.5: Režim CBC. Chyba v jednom bitu m tolik nevadí, po dešifrování se v m objeví zase jen tato chyba. Chyba v c je obvyklejší (poruchový spoj, chyba na pamět ovém médiu) - chyba v jednom bitu c ovlivní jeden blok a jeden odpovídající bit následujícího bloku otevřeného textu. Tento jev nazývá se error extension (error propagation). Z této chyby se systém zotaví - CBC je samoopravný režim. Pokud však je bit do šifrového textu c přidán či z ní ztracen, z této chyby se systém nezotaví. Inicializační vektor nemusí být skrýván, přesto se doporučuje jej zabezpečit stejně jako klíč. Bývá přenášen jako nultý blok šifrového textu, můžeme jej zašifrovat např. v ECB režimu. Je důležité zapbezpečit jeho integritu, protože změny bitů v IV způsobí po dešifrování změny v m 1. Shodné zprávy jsou změnou šifrovány odlišně. Je snadno softwarově implementovatelný. Šifrování je neparalelizovatelné, dešifrování ano. Vhodný pro šifrování souborů (vzhledem k zřetězení se hodí pro šifrování zpráv delších než 64 bitů). Bezpečnější než ECB. 61

62 4.2.3 Cipher-Feedback Mode (CFB) U režimu Cipher-Feedback Mode se se (na rozdíl od dvou předchozích režimů) nemusí zpráva rozdělovat na bloky o velikosti odpovídající velikosti bloku blokové šifry. Místo toho se se zprávou pracuje jako s plynulým proudem dat o libovolné velikosti. V obecném případě musí být pro režim CFB stanoveny dva parametry j a n, kde j odpovídá délce úseků, na které je zpráva rozdělena (často j = 8 nebo se j = k), n reprezentuje velikost bloku blokové šifry. To nám umožňuje, aby blokové šifry pracovaly jako proudové. Bloková šifra v tomto režimu slouží jako generátor pseudonáhodné posloupnosti, která je použita pro zašifrování otevřeného textu operací XOR. Tento generátor je ovlivňován zpětnou vazbou získanou ze šifrového textu. Vlastnosti režimu CFB: Pro šifrování a dešifrování se používá stejný algoritmus (na obr. 4.6 je označen E). Bity klíče jsou funkcí předchozích bitů šifrového textu. Opakované vzorky otevřeného textu nedávají opakované vzorky v textu šifrovém. Vstupem algoritmu je náhodný text - jedinečný IV, který je nutno generovat nový pro každou novou zprávu. Šifrování je neparalelizovatelé, dešifrování ano. Používá se pro přenosy proudové povahy, např. pro šifrování znakových terminálů (8-bitový CFB), dále např. pro autentizaci. Více než jedna zpráva může být šifrována stejným klíčem. Změna pořadí bloků šifrového textu ovlivní dešifrování. Korektní dešifrování bloku vyžaduje korektní předcházející blok šifrového textu. Chyba v bitu šifrového textu ovlivní odpovídající bit otevřeného textu a následující celý blok. Vnější zpětná vazba algoritmu v režimu CFB zvyšuje jeho náchylnost na chybovost způsobovanou poruchami spoje. Podobně jako CBC má i CFB samosynchronizující vlastnost, protože ztráta celého bloku šifrového textu zapříčiní chybné dešifrování následujícího bloku, ale další bloky jsou už dešifrovány správně Output-Feedback Mode (OFB) m režimem, který umožňuje používat blokový algoritmus jako proudový je režim Output-Feedback Mode. Vlastnosti režimu OFB: Bity klíče jsou funkcí předchozích bitů šifrového textu. Opakované vzorky otevřeného textu nedávají opakované vzorky v textu šifrovém. Generátor není ovlivňován šifrovým textem, ale pouze výstupem samotného generátoru. 62

63 K M 1 IV Zpetna vazba 64-j bitu j bitu+ j j E j Vyber vymaz j bitu 64-j bitu K j j IV Zpetna vazba 64-j bitu j bitu E Vyber vymaz j bitu 64-j bitu j C 1 M 1 C 1 Zpetna vazba 64-j bitu j bitu K M E Vyber vymaz j bitu 64-j bitu 2 Zpetna vazba 64-j bitu j bitu K E Vyber vymaz j bitu 64-j bitu M 2 C 2 C 2 C n-1... C n-1... Zpetna vazba 64-j bitu j bitu K M E Vyber vymaz j bitu 64-j bitu K M n Zpetna vazba 64-j bitu j bitu E Vyber vymaz j bitu 64-j bitu n C n C n Obrázek 4.6: Režim CFB. 63

64 Vnitřní zpětná vazba - její mechanismus je nezávislý na m i c. Stav S i je nezávislý na M, C. Vstupem algoritmu je náhodný text - jedinečný IV. Více než jedna zpráva může být šifrována se stejným klíčem Šifrování je neparalelizovatelé, dešifrování také. Je vhodný pro vysokorychlostní systémy s nepřípustným šiřením chyb (satelitní systémy). Změna bitu šifrového textu ovlivní přímo otevřený text. Chyba v bitu šifrového textu ovlivní pouze odpovídající bit otevřeného textu, ale ztráta bloku (bitu) šifrového textu vede k chybnému dešifrovánía tedy ke ztrátě synchronizace přenosu. Vnější zpětná vazba algoritmu v režimu OFB nezvyšuje jeho náchylnost na chybovost způsobovanou poruchami spoje, ale je náchylnější k manipulaci se zprávou (pokud útočník zná otevřený text, umí vypočítat proud bloků a zkonstruovat šifrový text k otevřenému textu, který si zvolí (stejné délky) Counter mode (CRT) Režim Counter mode používá posloupnost tzv. čítačů T 1, T 2,..., T n, pro které platí, že každý blok T i je jiný než všechny ostatní. Režim CRT může být definován takto: O i = e k (T i ) pro i=1,.., n 1, c i = m i O i pro i=1,.., n 1, c n = m n msb u (O n ), O i = e k (T i ) pro i=1,.., n 1, m i = c i O i pro i=1,.., n 1, m n = c n msb u (O n ). Pro poslední blok dat, který může mít jen u bitů (msb - most significant bits - nejvýznamnější bity (nejpravější)), se neprovádí padding. Operace XOR se provede jen pro těchto u platných bitů. Shrnutí kapitoly 4.2 Tato podkapitola obsahuje popis základní kryptografických režimů, ve kterých pracují symetrické algoritmy. Těmito režimy jsou režimy ECB, CBC, CFB, OFB a Counter režim.? Otázky ke kapitole Proč se mohou režimy CFB a OFB používat pro blokové algoritmy? 2. Proč se nepovažuje režim ECB za bezpečný, jaké jsou jeho hlavní nedostatky? 3. Jaký je základní rozdíl mezi režimy CFB a OFB? 4. CBC režim má vlastnost zvanou error extension. Pokud je porušen přenášený blok c 1, obvykle to má po dešifrování vliv na bloky otevřeného textu m 1, m 2. Jsou postiženy i jiné bloky za blokem m 2? Předpokládejme, že existuje chyba v jednom bitu originálního otevřeného textu v bloku m 1. Na kolik bloků šifrového textu má tato chyba vliv? Jaký efekt tato chyba přinese příjemci šifrového textu? 64

65 K M 1 IV Zpetna vazba 64-j bitu j bitu+ j j E j Vyber vymaz j bitu 64-j bitu C 1 Zpetna vazba 64-j bitu j bitu K M E Vyber vymaz j bitu 64-j bitu 2 C 2 O n-1... Zpetna vazba 64-j bitu j bitu K M E Vyber vymaz j bitu 64-j bitu n C n K j j IV Zpetna vazba 64-j bitu j bitu E Vyber vymaz j bitu 64-j bitu C j 1 M 1 Zpetna vazba 64-j bitu j bitu K M E Vyber vymaz j bitu 64-j bitu 2 C 2 O n-1... Zpetna vazba 64-j bitu j bitu K M E Vyber vymaz j bitu 64-j bitu n C n Obrázek 4.7: Režim OFB. 65

66 Předcházející Blokové a proudové šifry Nahoru Algoritmus DES 66

67 Předcházející Režimy činnosti symetrických šifer Algoritmus AES 4.3 Algoritmus DES Časová náročnost kapitoly: 60 minut Cíl kapitoly: Po prostudování podkapitoly budete umět popsat princip Feistelových algoritmů. Dále budete umět popsat princip algoritmu DES, jeho jednotlivých kroků. Dále budete umět vysvětlit princip algoritmu TripleDES. Jak už bylo zmíněno dříve, v současnosti se používají algoritmy, které používají zároveň jak substituci tak permutaci a říká se jim složené šifry nebo také substitution-permutation network. Největší skupinu blokových algoritmů tvoří tzv. iterované algoritmy. Jejich princip spočívá v tom, že definujeme základní transformaci, kterou potom opakujeme. Tomuto opakování se říká kolo, iterace nebo také nepříliš česky runda. V jednotlivých kolech obvykle vstupují do výpočtu podklíče šifrovacího klíče - v prvním kole podklíč k 1, v druhém k 2 atd. Podklíče jsou řetězce bitů deterministicky odvozené z původního klíče. Proces odvození podklíčů se nazývá plánování klíče (key-scheduling). Mnoho symetrických blokových algoritmů patří mezi tzv. Feistelovy algoritmy, které jsou charakteristické tím, že struktura šifrovacího a dešifrovacího algoritmu je stejná, jen podklíče se při dešifrování používají v opačném pořadí než při šifrování 1. Tyto Feistelovy šifry mají tyto vlastnosti (obr. 4.8): provádí se celkem n kol, všechny jsou identické. blok zprávy m i se dělí na dvě poloviny L i, R i. Klíč k se dělí na podklíče k i. Jádrem algoritmu je funkce f (libovolně složitá), která se aplikuje na R i pomocí k i takto: L i = R i 1, R i = L i 1 f(r i 1, k i ). Kryptografické vlastnosti algoritmu jsou určeny funkcí f, ve které se uplatňují tzv. S-boxy (substituce) a P-boxy (permutace). Data Encryption Standard je nejrozšířenějším symetrickým algoritmem. Poprvé byl publikován v roce 1975, standardizován byl Národním standardizačním úřadem USA (NBS) v roce Po poslední certifikaci v r.1993 jeho certifikát vypršel v r a v současnosti je jako standard pro symetrickou kryptografii vybrán algoritmus Rijndael. Název DES je podle normy ANSI, DEA-1 (Data Encryption Algorithm) podle normy ISO. 1 Existují algoritmy s touto vlastností, které ale nejsou Feistelovy šifry (např. IDEA viz [3]) 67

68 Obrázek 4.8: Schéma Feistelovy šifry. M uvodni permutace E k1... E zaverecna k16 permutace C k1 k k16 Obrázek 4.9: Obecný model DESu. DES je bloková Feistelova šifra o velikosti bloku n=64 bitů. Délka klíče56 bitů (délka je64 bitů, ale každý8. bit je paritní, testuje se lichá parita). Algoritmus má celkem16 kol (iterací) viz obr Algoritmus je založen na kombinaci substitučních a permutačních operací, používá jen standardní aritmetické a logické operace. Bezpečnost algoritmu tkví v klíči, ten by měl být nejlépe pro každé použití jiný. DES má vlastnost nazývanou lavinový efekt (avalanche effect), kterou by měl mít každý šifrovací algoritmus - malá změna v otevřeném textu nebo klíči (např. v jednom bitu otevřeného textu nebo klíče) má vliv na mnoho bitů šifrového textu. Popis algoritmu: Při šifrování musí zpráva m nejprve projít úvodní permutací IP (4.2). Výstup 64 bitů z úvodní permutace je rozdělen na dvě32-bitové části L 0 a R 0, které jsou vstupem pro první kolo. Pravá část R 0 se kopíruje přímo do levé části L 1 druhého kola. Levá část L 0 vstupuje spolu s výstupem funkce f do exkluzivního logického součtu, jehož výstup tvoří pravou část R 1 druhého kola. Funkce f je transformační funkce Feistelova kryptosystému. Má dva vstupy a v prvním kole vstupuje do funkce f pravá čast R 0 a podklíč k 1. Analogicky se přejde přes zbývajících15 kol. V závěrečném kole se výstupy L 16 a R 16 bitově spojí a vstupují do závěrečné permutace IP 1 (4.12, 4.13). Výstup této permutace zároveň tvoří výstup algoritmu DES, šifru c. Úvodní permutace IP a závěrečná permutace IP 1 nemají vliv na bezpečnost DESu, jsou snadno implementovatelné hardwarově, méně snadno softwarově, proto je některé implementace vypouštějí. 68

69 Obrázek 4.10: DES - Šifrovací algoritmus. 69

70 Obrázek 4.11: Schéma funkce f. IP Tabulka 4.2: IP - Úvodní permutace. 70

71 Obrázek 4.12: IP - Úvodní permutace schematicky. Obrázek 4.13: Závěrečná permutace IP 1. Každé kolo si tvoří tzv. podklíč k i. Tvorba podklíčů k i je realizovaná tak, aby se při dešifrování (viz obr. 4.15) tvořily stejné podklíče jako při šifrování (viz obr. 4.14), ale v přesně v opačném pořadí. Klíč k přejde přes permutaci klíče PC 1 viz tab. 4.3 a tvoří tak vstup pro tvorbu podklíče k 1 pro první kolo. V každém kole jsou bity klíče posunuty. Při šifrování takto: bity jsou posouvány cyklicky o jeden nebo dva bity: pro LS i =1,2,9,16 se posouvá o jeden bit doleva, pro LS i 1,2,9,16 se posouvá o dva bity doleva. Při dešifrování takto: pro RS i se posouvá cyklicky o0,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1 bitů doprava. Pro každý podklíč k i je vybráno48 bitů pomocí tzv. kompresní premutace (Compression Permutation, viz tab. 4.4). Vstupem do funkce f je polovina R i, jejíž32 bitů je pomocí tzv. expanzní permutace (Expansion Permutation, 4.5) expandováno na 48 bitů. Těchto 48 bitů je sečteno (XOR) se48 bity příslušného podklíče k i. Jádrem funkce f (viz obr. 4.11) je substituce reprezentovaná tzv. S-BOXy a permutací P (tab. 4.7). Princip S-boxu, nebo-li substitučního boxu si ukážeme na příkladu, první S-box reprezentuje tab. 4.6, další S-boxy můžete najít např. na WWW: S-boxu Vstupem do S-boxu je6bitů, výstupem jsou4 bity např.: S1(100101) 2 = (37) 10. Nejlevější a nejpravější bit jsou indexem řádku (indexováno od0), tj.(11) 2 =(3) 10. Vnitřní4bity jsou indexem sloupce (indexováno od0), tj.(0010) 2 =(2) 1 0, S1 ij = S1 32 =(8) 10 =(1000) 2 - výstup. 71

72 Obrázek 4.14: Schéma generování podklíčů (pro šifrování). Tabulka 4.3: Permutace PC-1. 72

73 Tabulka 4.4: Permutace PC-2 (kompresní permutace). Obrázek 4.15: Schéma generování podklíčů (pro dešifrování). 73

74 Tabulka 4.5: Expanzní permutace. Tabulka 4.6: S-box 1. Tabulka 4.7: Permutace P. 74

75 Obrázek 4.16: DES - Dešifrovací algoritmus. 75

76 Slabé klíče FFFFFFF FFFFFFF FFFFFFF FFFFFFF Tabulka 4.8: Slabé klíče. Dvojice slabých klíčů - semiweak keys 01FE01FE01FE01FE and FE01FE01FE01FE01 1FE01FE00EF10EF1 and E01FE01FF10EF10E 01E001E001F101F1 and E001E001F101F101 1FFE1FFE0EFE0EFE and FE1FFE1FFE0EFE0E 011F011F010E010E and 1F011F010E010E01 E0FEE0FEF1FEF1FE and FEE0FEE0FEF1FEF1 Tabulka 4.9: Slabé klíče (dvojice klíčů) - semiweak keys. Bezpečnost DESu - algoritmus DES byl kritizován z mnoha důvodů: Malý klíč, útok hrubou silou vyžaduje testování pouhých 2 56 možných klíčů. V roce 1998 byl sestrojen přístroj DES-Cracker, jehož cena byla , byl schopen zkontrolovat 90 MLD klíčů/sec, uváděla se maximální doba luštění 9 dní. Autoři DESu byli obviněni, že v S-boxech ukryli nějaká tajná zadní vrátka pro své pozdější nekalé úmysly (nebylo dokázáno), na základě této kritiky byly S-boxy pozměněny. Existují tzv. slabé klíče (Weak keys) - některé klíče se po jedné iteraci (při generaci podklíčů) nemění a jsou stejné pro všechny cykly algoritmu (hexadecimálně v tab. 4.8). Semiweak Keys - některé dvojice klíčů způsobí, že otevřený text m je šifrován do identické šifry c=m. Negeneruje se16 různých podklíčů, ale jen2 různé podklíče (hexadecimálně v tab. 4.9). Počet cyklů algoritmu - kritika proč právě 16 cyklů algoritmu, ale bylo dokázáno, že více cyklů nemá žádný bezpečnostní efekt a méně cyklů zase způsobí snadnější prolomení šifry. Kromě útoku hrubou silou se proti DESu použily novější a chytřejší útoky: diferenční kryptoanalýza (provádí rozbor změn které nastávají ve výsledné šifře a jejich závislosti na (malých) změnách šifrovaného otevřeného textu) a lineární kryptoanalýza. Jejich výklad však přesahuje rámec tohoto materiálu TripleDES Populární přístup ke zvýšení bezpečnosti symetrických algoritmů je takový, že se stejný algoritmus aplikuje dvakrát takto: c=e k2 (e k1 (m)), m=d k1 (d k2 (m)). 76

77 Ale, jak už to v kryptografii bývá, výsledky jsou často jiné než jsou naše očekávání. Takto aplikovaný algoritmus není odolný proti útoku meet-in-the-middle, jehož princip si vysvětlíme. Označme X = e k1 (m)=d k2 (c). Mějme známou dvojici(m 1, c 1 ). Nejprve zašifrujme otevřený text m 1 všemi2 56 hodnotami klíče k 1 (resp.2 64 ). Získané šifrové texty uložme do tabulky a setřid me podle hodnoty X. Potom dešifrujme nám známý šifrový text c 1 všemi2 56 hodnotami klíče k 2. Každou získanou hodnotu ihned hledejme v tabulce. Pokud ji nalezneme, použijme příslušné klíče k 1, k 2 na jinou dvojici(m 2, c 2 ). Pokud získáme korektní c 2, našli jsme korektní dvojici klíčů. Pokud použijeme toto dvojité šifrování na DES, klíč má sice velikost2 112 (resp ). Tento útok ale potřebuje jen2 56 pokusů, aby byl úspěšný. Proto není dvojité šifrování bezpečnou alternativou k šifrování s jedním klíčem. Bezpečnější je již tzv. trojité šifrování. Algoritmus TripleDES, se používá ve dvou variantách: se dvěma různými klíči (délka klíče je112 bitů, což je délka bezpečná: c=e k1 (d k2 (e k1 (m))), m=d k1 (e k2 (d k1 (m))), se třemi různými klíči (Merklova varianta, délka klíče je168 bitů, což je délka bezpečná): c=e k3 (d k2 (e k1 (m))), m=d k1 (e k2 (d k3 (m))). Nevýhodou TripleDESu je, že je 3x pomalejší než DES, ale jeho výhodou je, že může jednoduše nahradit dnes již nevyhovující DES, všude tam, kde se DES používá. Shrnutí kapitoly 4.3 V podkapitole byla charakterizována tzv. Feistelova šifra. Jedním z Feistelových algoritmů je algoritmus DES, jenž byl podrobně popsán v této podkapitole. Dále byl popsán útok na dvojité šifrování meet-in-the-middle a na algoritmu TripleDES byl vysvětlen princip trojitého šifrování.? Otázky ke kapitole Jaký je výstup po první iteraci algoritmu DES, jestliže otevřený text a klíč oba obsahují jen0? 2. Předpokládejme, že dvojkový doplněk čísla A je číslo A (záměna nul za jedničky a naopak). Necht je bitový XOR. Chceme dokázat, l e jestliže c=des k (m), pak c = DES k (m ). Tedy jestliže existuje dvojkový doplněk m k m a k ke k, pak dokažte, že existuje dvojkový doplněk c k c. 3. Předpokládejme, že existují dvě Affine Cipher (dále jen AC) takové, že: e k1 =(a 1 m+b 1 ) mod26 a e k2 =(a 2 m+b 2 ) mod26. Dokažte, že existuje jednoduchá Affine Cipher e k3 = (a 3 m+b 3 ) mod 26, jejíž výsledek je stejný jako kombinace c=e k2 (e k1 (m)). Tj. najděte hodnotu pro a 3, b 3, když a 1 =3, b 1 =5aa 2 =11, b 2 =7. Zkuste popsat co se stane, když útočník zaútočí pomocí útoku hrubou silou na dvojitý algoritmus (tj. c=e k2 (e k1 (m))). Zvětší se prostor klíčů (při tomto dvojitém šifrování)? 77

78 4. Porovnejte incializační permutaci IP s permutací PC-1. Jsou si podobné? Pokud ano, tuto podobnost popište. Co z toho vyplývá? Předcházející Režimy činnosti symetrických šifer Nahoru Algoritmus AES 78

79 Předcházející Algoritmus DES Asymetrická kryptografie 4.4 Algoritmus AES Časová náročnost kapitoly: 60 minut Cíl kapitoly: Po prostudování podkapitoly budete umět popsat princip algoritmu Rijndael a jeho jednotlivých kroků. Na začátku r byla vyhlášena soutěž na nový symetrický standard. V srpnu 2000 bylo vybráno 5 finalistů, šifry Mars, RC6, Rijndael, Serpent, Twofish. Po téměř čtyřech letech výběrového řízení zvítězil algortimus Rijndael, ktrerý se stal v listopadu 2001 standardem pod označením AES - Advanced Encryption Standard (National Institute of Standards and Technology (NIST) - FIPS PUB 197). Ten se na dalších20 až30 let stane nejpoužívanějším algoritmem na světě a ovlivní bezpečnostní praxi v mnoha ohledech. Jeho úloha v novém tisíciletí je zejména v zvýšení důvěryhodnosti elektronického obchodu, bankovnictví a elektronického života vůbec. Blokovou šifru Rijndael přihlásili soutěže známí kryptologové J. Daemen a V. Rijmen. Pro AES (tedy ve standardu) je délka vstupního a výstupního bloku definována jako 128 bitů, ale algoritmus podporuje i větší bloky. Délka klíče je volitelná - 128, 192, 256 bitů, což je Nk (4,6,8)32-bitových slov. Uvedeným délkám klíče odpovídá Nr=10,12,14 kol algoritmu (viz tab. 4.10). Rijndael je velmi flexibilní. Návrh je přímočarý a za základ jsou použity operace s prvky Galoisova tělesa GF(2 8 ). Příslušné operace s nimi lze provádět bud tabulkově, nebo výpočtem přímo, což je v prvním případě výhodné pro implementaci softwarovou a v druhém případě pro hardwarovou. Bajtově orientovaný návrh také umožňje optimalizovat programový kód pro různé mikroprocesory. AES není Feistelova šifra. Než přistoupíme k základním operacím, vysvětlíme si nejnutnější pojmy. Prvky v Galoisově tělese GF(2 8 ) mají osm bitů (b 7,..., b 0, b i {0,1}), nereprezentují však bajty, ale polynomy (b 7 x b 1 x 1 + b 0 ). Násobení těchto prvků je proto zavedeno nikoli jako násobení bajtů, ale jako násobení jim odpovídajících polynomů, a to modulo polynom m(x)=x 8 +x 4 +x 3 +x Například = C1, nebot (x 6 +x 4 +x 2 +x 1 +1) (x 7 + x 1 +1)=(x 7 + x 6 +1)(mod m(x)) (v apostrofech píšeme hexadecimální vyjádření bitů b 7,..., b 0 ). mi operacemi (sčítání polynomů...) s prvky (polynomy) konečného tělesa GF(2 8 ) se nebudeme zabývat, jejich popis lze nalézt přímo v propozicích šifry Rijndael na: WWW: Rijndael 79

80 Tabulka 4.10: Počet kol Nr jako funkce délky bloku a délky klíče. Tabulka 4.11: Příklad stavové matice (Nb=6) a šifrovacího klíče (Nk=4). Obrázek 4.17: Rijndael - šifrovací algoritmus. 80

81 Obrázek 4.18: Transformace SubBytes. Obrázek 4.19: Afinní transformace. Pro grafickou jednoduchost vyjádření schématu zapisujeme vstup jako např. 16 bajtů (elementů tělesa GF(2 8 )) do stavové matice4x4, a to sloupcích shora dolů a sloupce vyplňujeme zleva doprava. Výstup ze stavové matice probíhá stejným způsobem jako vstup do ní. Jednotlivé operace se provádí na prvcích stavové matice A (viz tab. 4.11). Předpokládáme, že pro schéma Nr kola je už připraveno celkem4+4 Nr klíčů kola (32-bitových slov) pro šifrování a stejný počet klíčů kola pro dešifrování. Popíšeme schéma pro zašifrování, viz obr Na počátku se ke vstupu AES naxorují (bajt po bajtu, slovo po slovu) první4klíče kola. Poté proběhne Nr shodných kol až na poslední, kde se neprovádí operace MixColumns. Každé z regulárních kol se skládá z transformací: SubBytes, ShiftRows, MixColumns, AddRoundKeys a poslední kolo se skládá z transformací: SubBytes, ShiftRows, AddRoundKeys. 81

82 y a b c d e f c 77 7b f2 6b 6f c b fe d7 ab 76 1 ca 82 c9 7d fa f0 ad d4 a2 af 9c a4 72 c0 2 b7 fd f f7 cc 34 a5 e5 f1 71 d c7 23 c a e2 eb 27 b c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f d1 00 ed 20 fc b1 5b 6a cb be 39 4a 4c 58 cf 6 d0 ef aa fb 43 4d f9 02 7f 50 3c 9f a a3 40 8f 92 9d 38 f5 bc b6 da ff f3 d2 x 8 cd 0c 13 ec 5f c4 a7 7e 3d 64 5d f dc 22 2a ee b8 14 de 5e 0b db a e0 32 3a 0a c c2 d3 ac e4 79 b e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea 65 7a ae 08 c ba e 1c a6 b4 c6 e8 dd 74 1f 4b bd 8b 8a d 70 3e b f6 0e b9 86 c1 1d 9e e e1 f d9 8e 94 9b 1e 87 e9 ce df f 8c a1 89 0d bf e d 0f b0 54 bb 16 Tabulka 4.12: Substituční tabulka AES (S-box), například 53 ed. SubBytes (viz obr. 4.18) je pevně definovaná substituce bajtu za bajt, kterou lze realizovat bud výpočtem nebo tabulkou, a která se aplikuje na každý bajt vstupní matice. Skládá se ze dvou operací. Vstupní bajt je nejprve invertován (jako polynom modulo m(x)) a poté jsou jeho bity transformovány afinní funkcí viz Poznamenejme pro úplnost, že bit y 7 označuje nejvýznamnější bit. V každém případě je celá substituce konstantní a je možné ji definovat následující tabulkou Prostřednictvím tabulky transformujeme každý bajt stavové matice. V případě, kdy schéma programujeme s cílem dosažení co největší rychlosti (i na úkor paměti), je průchod přes tabulku pochopitelně rychlejší. ShiftRow vykoná v matici A cyklickou rotaci jejích prvků v jednotlivých řádcích doleva, a to tak, že první řádek ponechá beze změny, druhý rotuje o jednu pozici, třetí o dvě a čtvrtý o tři pozice, jak ukazuje obr MixColumns zesložití prvky v rámci každého sloupce matice A. Vstupem této transformace jsou všechny prvky daného sloupce (na obrázku označen a) a výstupem jsou jejich nové hodnoty (b). Každý sloupec je transformován zvlášt, ale stejným způsobem, viz obr Transformaci MixColumns je možné zapsat jako násobení (ve smyslu násobení prvků v tělese GF(2 8 )) maticí, která je uvedena na obrázku Například b 0 =02 a 0 03 a 1 01 a 2 01 a 3. Nakonec se v rámci operace AddRoundKeys na prvky stavové matice (opět zleva doprava a shora dolů po sloupcích) naxorují po řadě jednotlivé bajty4klíčů kola, které jsou na řadě, viz obr Jednotlivé kroky šifrovacího algoritmu realizují prosté zobrazení vstupní stavové matice na výstupní stavovou matici. To znamená, že ke všem operacím šifrovacího algoritmu existují inverzní operace. Dešifrovací algoritmus je potom posloupností odpovídajících inverzních operací uspořádaných v opačném pořadí než při šifrování. Tj. při dešifrování se výhodně využívá vlastnosti linearity některých operací tak, že nakonec lze sestavit ze stejných stavebních prvků, naplněných jinými konstantami (parametry). Konkrétně například operace InvMixColumns, která je inverzní k MixColumns, lze vyjádřit jako operaci MixColumns s tím, že násobící matice obsahuje jiné konstanty. 82

83 Obrázek 4.20: Transformace ShiftRow. Obrázek 4.21: Transformace MixColumns. Obrázek 4.22: Transformace MixColumns - násobení maticí. Obrázek 4.23: Transformace AddRoundKeys - násobení maticí. 83

84 Zápis dešifrovacího algoritmu je uveden na obr Tento dešifrovací algoritmus vznikne inverzním seřazením inverzních operací. Pro hardwarovou implementaci je výhodné, aby šifrovací i dešifrovací algoritmus měly stejnou strukturu. Pak se využívá faktu, že u některých operací lze zaměnit pořadí, blíže viz např.: WWW: fips-197 Ze zápisu šifrovacího algoritmu je zřejmé, že se(r + 1)-krát provádí procedura přičtení klíče (AddRoundKey). K tomu je zapotřebí(r +1) klíčů kola ve formě matice klíče kola, která má formát4 4 bajty. V prvém kroku algoritmu se proto provádí expanze klíče (KeyExpansion). Šifrovací klíč key N k 32-bitových slovech (4, 6, 8) se zapíše na počátek pomocného pole32-bitových slov W[0...Nk 1]. Toto pole se poté expanduje tak, že každé nové W je vypočítáno jako W[i]=W[i Nk] temp, kde temp je W[i 1] nebo jeho modifikace n. Při modifikaci se využívá operace cyklického posuvu bajtů slova temp o jeden doprava (RotByte), dále substituce bajtů SubByte, a to aplikovane na každý bajt proměnné temp a pole konstant Const[], viz následující kód v jayce C. pro Nk 6: for(i = Nk; i < Nb * (Nr + 1);i++) { temp = W[i - 1]; if (i % Nk == 0) temp = SubByte(RotByte(temp)) ˆ const[i / Nk]; W[i] = W[i - Nk] ˆ temp; } Z doposud uvedeného popisu lze celkově konstatovat, že AES je iterovaná bloková šifra. Transformace AddKey zajišt uje závislost šifrového textu na klíči a transformace ShiftRows a MixColumns zajišt ují rozptýlení redundance zprávy (tzv. difuse). Transformace SubBytes zabezpečuje zakrytí závislostí mezi zprávou a otevřeným textem (tzv. konfusi). Přínosem AES pro vývoj blokových šifer je důsledná bajtová architektura, která dovoluje jednoduchou implementaci šifry na nejrůznějších hardwarových a softwarových platformách. Algoritmus je vhodný k implementaci na různých typech procesorů (od procesorů na čipových kartách až po digitální signálové procesory), na programovatelných hradlových polích, na specializovaných integrovaných obvodech atd. m přínosem AES je maticová forma bloků zpracovávaných dat, která zajišt uje rychlejší difúzi. Tím se snižuje potřebný počet kol a zvyšuje se tak rychlost šifrování. Nevýhodou AES může být pomalejší dešifrování oproti šifrování. Shrnutí kapitoly 4.4 V této podkapitole jsme se seznámili s algoritmem AES, jeho principem a jeho jednotlivými kroky. Pro porozumění algoritmu je čtenáři doporučeno se seznámit s operacemi s prvky (polynomy) Galoisova tělesa.? Otázky ke kapitole Necht G(2 5 ) je Galoisovo pole s polynomem f(x)=x 5 +x Vypočtěte(x 4 +x 2 ) (x 3 + x+1). 2. Necht G(2 5 ) je Galoisovo pole s polynomem f(x)=x 5 + x Vypočtěte x 25. Využijte faktu, že x 5 =(x 2 +1). 84

85 Obrázek 4.24: Rijndael - dešifrovací algoritmus. 85

86 3. Kolik S-boxů je použito pro každý bajt v transformaci SubBytes? 4. Jak velký klíč a jak velký blok dat je standardem doporučeno používat? Předcházející Algoritmus DES Nahoru Asymetrická kryptografie 86

87 Předcházející Algoritmus AES Úvod do asymetrické kryptografie Kapitola 5 Asymetrická kryptografie 5.1 Úvod do asymetrické kryptografie RSA Diffie - Hellman ElGamal V této kapitole se seznámíme s principy asymetrické kryptografie a s některými nejpoužívanějšími asymetrickými algoritmy, jako jsou algoritmus RSA, Diffie - Hellman a ElGamal. Předcházející Algoritmus AES Nahoru Úvod do asymetrické kryptografie 87

88 Předcházející Asymetrická kryptografie RSA 5.1 Úvod do asymetrické kryptografie Časová náročnost kapitoly: 20 minut Cíl kapitoly: Po prostudování podkapitoly budete umět vysvětlit základní principy fungování asymetrické kryptografie, vysvětlit použití dvojice klíčů pro šifrování a podepisování. Asymetrická kryptografie (dále také ASK) vznikla jako reakce na obtížnou správu klíčů symetrické kryptografie. U ASK je správa klíčů jednodušší, ačkoliv ne jednoduchá (viz podkapitola o certifikátech 10.3). Algoritmy ASK se používají pro zajištění důvěrnosti (confidentiality), integrity (integrity), autenticity a nepopiratelnosti. Asymetrická kryptografie (nazývaná také kryptografie s veřejným klíčem) používá dvojici klíčů, tzv. soukromý (private key) a veřejný klíč (public key). Každý odesílatel i příjemce vlastní tuto dvojicí klíčů a její použití se liší podle toho, zda chceme zprávu šifrovat (k zašifrování se použije veřejný klíč příjemce, pro dešifrování se použije soukromý klíč příjemce) nebo k podepsání (digitální podpis) zprávy (odesílatel se podepisuje svým soukromým klíčem a příjemce podpis ověřuje odesílatelovým veřejným klíčem). Šifrování (viz obr. 5.1) v případě asymetrické kryptografie mezi subjekty A (Alice) a B (Bob) probíhá takto: A má dvojici klíčů K SA (soukromý klíč), K V A (veřejný klíč), B má k dispozici obdobně klíče K SB a K V B. Klíče K V A, K V B jsou zveřejněny a jsou tedy A i B známy. Subjekt A připraví text, který chce utajit, zašifruje jej klíčem K V B. Příjemce B potom dešifruje přijatou zprávu pomocí svého soukromého klíče K SB. Podepisování = šifrování soukromým klíčem (viz obr. 5.2). Subjekt A připraví text, který chce podepsat, zašifruje (podepíše) jej klíčem K SA. Příjemce B potom dešifruje (ověří podpis) přijatou zprávu pomocí veřejného klíče K V A. V podkapitole 6.1 jsou zavedeny pojmy jednocestná funkce a jednocestná funkce se zadními vrátky. Předpokládejme, že nějaká funkce f k je spojena s určitým konkrétním subjektem - uživatelem XY, f k je jeho veřejný klíč. Informace o zadních vrátkách k je známa pouze subjektu XY, a je to jeho soukromý klíč. Z vlastností jednocestné funkce se zadními vrátky f k plyne, že z pouhé znalosti f k nelze najít výpočetně schůdnou inverzní funkcif k 1, čili speciálně: ze znalosti veřejného klíče nelze nalézt klíč soukromý. Tedy nakonec prakticky: ten, kdo zná pouze veřejný klíč, dokáže zašifrovat libovolnou zprávu, ale nedokáže náhodně vybraný šifrový text sám odšifrovat (analogicky platí pro podepisování). Algoritmy asymetrické kryptografie se používají jak již bylo naznačeno pro šifrování, podepisování, a také pro výměnu tajných klíčů. My si uvedeme tyto algoritmy: RSA (používá se pro šifrování, podepisování i výměnu klíčů), Diffie - Hellman (používá se pro výměnu klíčů), ElGamal (používá se pro šifrování, podepisování i výměnu klíčů). Velkou nevýhodou asymetrických algoritmů je velikost klíčů a z ní výplývající větší časová náročnost prováděných operací, než je tomu v případě symetrických algoritmů (viz tab. 4.1). Často se proto asymetrický algoritmus používá v tzv. hybridních kryptosystémech pro bezpečné doručení (zašifrování) tajného relačního klíče pro symetrický algoritmus. 88

89 E Útočník útočí proti m, K SB A Algoritmus e Algoritmus d B m c=e KV B (m) m=d KSB (c) Veřejný klíč K V B Soukromý klíč K SB Obrázek 5.1: Asymetrický kryptosystém - model pro utajování. E Útočník útočí proti K SA A Algoritmus e Algoritmus d B m c=e KSA (m) m=d KV A (c) Soukromý klíč K SA Veřejný klíč K V A Obrázek 5.2: Asymetrický kryptosystém - model pro autentizaci. 89

90 Shrnutí kapitoly 5.1 Tato podkapitola obsahuje výklad principů asymetrické kryptografie, jsou zde vysvětleny mechanismy používaní dvojice klíčů asymetrické kryptografie pro šifrování a pro podepisování.? Otázky ke kapitole Který klíč se používá na straně odesílatele zprávy v případě, že chce podpořit utajení (důvěrnost) zprávy? 2. Který klíč se používá na straně příjemce zprávy v případě, že chce ověřit autenticitu zprávy (odesílatele)? krypto- Předcházející Asymetrická grafie Nahoru RSA 90

91 Předcházející Úvod do asymetrické kryptografie Diffie - Hellman 5.2 RSA Časová náročnost kapitoly: 45 minut Cíl kapitoly: Po prostudování podkapitoly budete umět vysvětlit princip algoritmu RSA, definovat jeho použití pro šifrování a pro podepisování. Algoritmus RSA vymysleli pánové Rivest, Shamir a Adleman z MIT (Massachusetts Institute of Technology) v roce 1977 a ten se stal nejrozšířenějším asymetrickým algoritmem. Název algoritmu, jak lze snadno vysledovat, se skládá se začátečních písmen příjmení autorů. Jedná se o blokovou šifru, kdy je otevřený text rozdělen do bloků, které každý mají binární hodnotu menší než nějaké číslo n. Šifrování a dešifrování probíhá podle následujících předpisů: c=m e mod n, m=c d mod n. Příjemce i odesílatel musejí znát hodnotu n. Odesílatel A zná hodnotu e a pouze příjemce B zná hodnotu d. Z toho vyplývá, že K V B =[e, n] a K SB =[d, n]. Pro tento algortimus platí: je možné nalézt hodnoty e, d, n tak aby M ed = M mod n pro všechna M < n, je relativně snadné vypočítat M e a C d pro M < n, je nemožné určit d, je-li známo e a n. Popis algoritmu RSA: Postup při vytváření dvojice veřejný a soukromý klíč pro RSA je následující: Nejprve náhodně (a nepredikovatelně) vygenerujeme dvě dostatečně (zhruba stejně) velká prvočísla p a q. Vypočteme n=p q aφ(n)=(p 1) (q 1) (Φ(n) je Eulerovo číslo určující počet přirozených čísel nesoudělných s n a menších než n. V praxi lze čísloφ(n) nahradit číslem L=NSN(p 1, q 1) (tj. nejmenším společným násobkem čísel p 1 a q 1). Zvolíme náhodné číslo e, kde1<e<φ(n) tak, že NSD(e,Φ(n))=1(tj. e aφ(n) jsou nesoudělná). Zde NSD značí největšího společného dělitele. Použitím rozšířeného Eukleidova algoritmu vypočteme jednoznačně definované číslo d takové, že 1 < d < Φ(n) a e d 1 mod Φ(n) (tj. d = e 1 (mod Φ(n))). Veřejným klíčem je potom dvojice(e, n), soukromým klíčem uživatele je dvojice(d, n). 91

92 Popis šifrování a dešifrování: Strana A vyjádří zprávu M jako číslo m,0<m<n 1 (resp. posloupnost takových čísel). Dále strana A vypočte c=m e mod n (použije veřejný klíč příjemce) a zašle tuto šifru straně B. Strana B nyní při dešifrování vypočte pomocí svého soukromého klíče m=c d mod n,0<c<n 1. Popis podepisování a ověřování podpisu: Strana A vyjádří zprávu M jako číslo m, 0 < m < n 1 (resp. posloupnost takových čísel). Dále strana A vypočte c=m d mod n (použije tedy k podpisu svůj soukromý klíč) a zašle tuto šifru straně B. Strana B nyní při dešifrování vypočte pomocí veřejného klíče odesílatele m=c e mod n,0<c<n 1 (tj. ověří podpis). Příklad 5.1 Příklad 1. Zvolíme prvočísla: p=47, q=71. Spočteme modul: n=p q=47 71=3337 a dále:φ(n) = (p 1) (q 1) = = Zvolíme veřejný exponent e (nesmí mít společné dělitele s 3220), volíme např. 79. Spočteme soukromý exponent d:79 d=1mod3220, d =79 1 mod3220, d=1019 (k výpočtu použijeme rozšířený Eukleidův algoritmus). Získali jsme veřejný klíč(79,3337), soukromý klíč(1019,3337). 2. Nyní si na příkladě předvedeme, jak se v tomto systému šifruje a dešifruje. Vezmeme například otevřený text VESELE VANOCE! Otevřený text převedeme nějakým vhodným způsobem do nějaké číselné soustavy. K tomu např. použijeme nap59klad uvedenou převodovou tabulku doplněnou o znak! A B C D E 7 f G H I J K L M N O 8 P Q R S T U V W X Y 9 Z.! Získáme tak : M = Dále stanovíme určitá pravidla formátování. V praxi se používají poměrně složitá pravidla. Zájemcům doporučuji prostudovat standardy PKCS, viz WWW: PKCS My si však zavedeme následující jednoduchá pravidla. Nazvěme je nadneseně standard formátování Crypto1.0: Má-li modul délku k, budeme zprávu v dekadickém tvaru dělit na skupiny délky k 1 (pravidlo Crypto1.0,1). Všechny skupiny musí mít délku k 1, nemá-li poslední skupina tuto délku, doplníme ji zprava příslušným počtem nul (pravidla Crypto1.0, 2). Výsledek po šifrování má délku rovnou k, nemá-li ji doplníme výsledek zleva nulami (pravidla Crypto1.0, 3). 4. Vezměme zprávu M= zprávu M rozdělíme podle pravidla Crypto1.0,1 - na na bloky m 1 m 2 m 3... Tedy M= m 1 m 2 m 3... = Poslední skupina vznikla doplněním92 o0(pravidlo Crypto1.0, 2). 5. Pro pochopení stačí předvést konkrétní výpočet např. jen pro první skupinu: Šifrování: blok m 1 =866, c 1 =(m 1 ) e mod n, c 1 = mod3337=492 (Pozn. tj při dělení3337 dává zbytek492) Výsledek zapíšeme jako0492 (doplníme 0 zleva), protože šifrové texty c i některých bloků m i mohou být o jednu dekadickou číslici větší (pravidlo Crypto1.0, 3). 92

93 6. Dešifrování: m 1 =(c 1 ) d mod n, mod3337=866. (Pozn. tj při dělení 3337 dává zbytek866). Blok m 1 je tedy m 1 =866. Provedeme tento postup s celým textem a dostaneme: M = , C = Bezpečnost RSA: Na algoritmus RSA lze útočit: hrubou silou, matematickými útoky, útokem Timing attack - je to účinný útok proti mnoha implementacím RSA. Spočívá v měření odezvy druhé strany. V závislosti na použitém klíči se totiž může měnit čas potřebný na zašifrování zprávy. Z doby odezvy tak lze odhadovat, jak klíč vypadá. Co se týká matematických útoků na RSA, v zásadě se rozlišují tři způsoby: Faktorizace modulu n na dva jeho prvočíselné dělitele. To umožní určitφ(n)=(p 1) (q 1), což nám pomůže určit d=e 1 (modφ(n)). Určení Φ(n) přímo, bez předchozího určování prvočísel p, q (opět nám to pomůže určit d=e 1 (modφ(n))). Určení d přímo bez předchozího určování Φ(n). Zjednodušeně se dá říci, že je obtížnost všech tří matematických útoků ekvivalentní obtížnosti problému faktorizace (rozložení na součin prvočíselných dělitelů) velkého celého čísla. V současné době je největším faktorizovaným čislem 512-ti bitové číslo, k jeho faktorizaci byl použit v současnosti nejužívanější algoritmus General Number Field Sieve (GNFS, viz [3]). Shrnutí kapitoly 5.2 V této podkapitole byl vysvětlen princip algoritmu RSA, dále jsme se seznámili s jeho použitím šifrování a pro podepisování.? Otázky ke kapitole Je dáno podpisové RSA schéma s veřejným klíčem (n=9797;e=131). Který z následujících podpisů platí (zdůvodněte)? (a) M=123;C= sig(m)=6292, (b) M=4333;C= sig(m)=4768, (c) M=4333;C= sig(m)=1424, 93

94 2. Je dán klíč pro šifrování (e, modul) =(101,2479) a šifra C= Vaším úkolem je nalézt klíč pro dešifrování (tj. tajný exponent d) - (d, modul)=(?, 2479) a dále získat původní otevřený text. Nápověda: Převodová kódová tabulka je shodná s tabulkou v předchozím cvičném případě. Formátování je podle námi zavedeného standardu Crypto1.0. Možná bude třeba implementovat nebo nalézt implementaci např. následujících algoritmů: rozšířeného Eukleidova algoritmu ([3] strana 67, alg.2.107) a nalezení inverzního prvku mod N (strana 71, alg.2.142), algoritmus pro modulární výpočty (násobení a umocňování mod N) (strana 71, alg.2.143). Některé algoritmy lze vynechat a výsledek, který byste jimi získali, určit jinak. 3. Veřejný klíč pro algoritmus RSA je e=31, n=3599. Jaký je soukromý klíč tohoto uživatele? 4. Simulujte šifrování a dešifrování pomocí RSA pokud jsou dány následující hodnoty: (a) p=3, q=11, d=7, m=5, (b) p=7, q=11, e=17, m=8. Předcházející Úvod do asymetrické kryptografie Nahoru Diffie - Hellman 94

95 Předcházející RSA ElGamal 5.3 Diffie - Hellman Časová náročnost kapitoly: 20 minut Cíl kapitoly: Po prostudování této podkapitoly budete umět vysvětlit princip algoritmu Diffie - Hellman pro výměnu tajného klíče. Algoritmus Diffie - Hellman se používá pro výměnu tajných klíčů pro symetrickou kryptografii. Poprvé jej představili pánové Diffie a Hellman v roce Jeho bezpečnost spočívá v obtížnosti řešení problému diskrétního logaritmu. Princip výměny klíčů (key exchange) je založen na myšlence, že si Alice a Bob vymění tajný klíč výměnou veřejných zpráv. Veřejnými hodnotami v tomto algoritmu jsou prvočíslo p, primitivní odmocnina g, g < p. Oba účastníci komunikace Alice i Bob si vygenerují dvojici klíčů, klíč soukromý a veřejný: Generování klíčů uživatelem A: vyber soukromý K SA, K SA < p, spočítej veřejný K V A, K V A =((g) K SA) mod p. Generování klíčů uživatelem B: vyber soukromý K SB, K SB < p, spočítej veřejný K V B, K V B =((g) K SB) mod p. Pak Alice pošle Bobovi svůj veřejný klíč K V A a Bob zašle Alici svůj veřejný klíč K V B. Následuje výpočet tajného klíče K AB : Generování tajného klíče K AB uživatelem A (po výměně klíčů):k AB =((K V B ) K SA) mod p. Generování tajného klíče K AB uživatelem B: K AB =((K V A ) K SB) mod p. Příklad 5.2 p=97, g=5, K SA =36, K SB =58, K V A =536=50 mod97, K V B =558=44 mod97. Generování tajného klíče uživatelem A: K AB =((K V B ) K SA) mod97=4436=75 mod97. Generování tajného klíče uživatelem B (po výměně klíčů): K AB =((K V A ) K SB) mod97= 5058=75 mod97. Útočník nemůže z {44, 50} snadno spočítat 75. Shrnutí kapitoly 5.3 V této podkapitole jsme se seznámili s principem algoritmu Diffie - Hellman, asymetrického algoritmu, který je používán pro výměnu tajných klíčů symetrické kryptografie.? Otázky ke kapitole Necht je dán algoritmus Diffie - Hellman s těmito parametry: p=11, g=2. (a) Jestliže uživatel A má veřejný klíč K V A =9, jaký je jeho soukromý klíč K SA? 95

96 (b) Jestliže uživatel B má veřejný klíč K V B =3, jaký je sdílený tajný klíč K AB? Předcházející RSA Nahoru ElGamal 96

97 Předcházející Diffie - Hellman Kryptografické hashovací funkce 5.4 ElGamal Časová náročnost kapitoly: 35 minut Cíl kapitoly: Po prostudování této podkapitoly budete umět vysvětlit princip algoritmu ElGamal pro šifrování a podepisování. Algoritmus ElGamal se používá jak pro šifrování, tak pro podepisování. Vychází z algoritmu Diffie - Hellman a představil je ElGamal v roce Jeho bezpečnost opět spočívá v obtížnosti řešení problému diskrétního logaritmu. Generování dvojice klíčů: Zvol prvočíslo p, náhodná čísla g, x taková, že jsou obě menší než p. Poté spočítej y=g x mod p. Veřejnými hodnotami v tomto algoritmu jsou prvočíslo p, primitivní odmocnina g a hodnota y. Soukromým klíčem je hodnota x. Schéma pro šifrování: Nalezni číslo k, které je nesoudělné s p 1. Spočítej a=g k mod p, b=y k m mod p. Šifrovým textem je pak dvojice c = [a, b], jeho velikost je dvojnásobná proti velikosti otevřeného textu m. Pro dešifrování je třeba vypočítat m=b/a x mod p. Schéma pro podepisování: Nalezni číslo k, které je nesoudělné s p 1. Spočítej a=g k mod p. Použij rozšířený Eukleidova algoritmu pro určení b ze vztahu m=(x a+k b) mod(p 1). Podpisem je pak dvojice[a, b], náhodná hodnota k musí být uchována v tajnosti. Pro ověření podpisu je třeba zjistit, zda y a a b mod p=g m mod p. Každé použití algoritmu ElGamal, at pro šifrování nebo pro podepisování, vyžaduje novou hodnotu k, která musí být vybrána náhodně. Pokud útočník zná hodnotu k, může odhalit soukromý klíč odesílatele x. Příklad 5.3 Postup: 97

98 Vybereme p=11, g=2, x=8. Vypočítejme y= g x mod p=2 8 mod11=3. Veřejný klíč je y=3, g=2, p=11. Pro podepsání zprávy m=5nejprve vyberme k=9. Ověříme, že NSD(9,10)=1. Vypočteme a=g k mod p=2 9 mod11=6apoužijeme rozšířený EA pro nalezení b: m=(x a+k b) mod(p 1), 5=(8 6+9 b) mod10. Řešením je b=3apodpis je a=6, b=3. Ověření podpisu: y a a b mod p=g m mod p, mod11=2 5 mod11. Shrnutí kapitoly 5.4 V této podkapitole jsme se seznámili s principem algoritmu ElGamal, asymetrického algoritmu, který je používán pro výměnu šifrování a podepisování.? Otázky ke kapitole Necht je dán algoritmus ElGamal s těmito parametry: p=71, g=7. (a) Jestliže uživatel B má veřejný klíč K V B =3auživatel A vybere náhodné číslo k=2, jaký je šifrový text c otevřeného textu m=30? (b) Uživatel A vybere jinou hodnotu k takovou, že pokud zašifrujeme m = 30, získáme c=(59, b). Jaká je potom hodnota b? Předcházející Diffie - Hellman Nahoru Kryptografické hashovací funkce 98

99 Předcházející ElGamal Úvod do problematiky kryptografických hashovacích funkcí Kapitola 6 Kryptografické hashovací funkce 6.1 Úvod do problematiky kryptografických hashovacích funkcí Message Authentication Code SHA V této podkapitole se seznámíme s vlastnostmi kryptografických hashovacích funkcí, s jejich použitím a pro lepší představu si uvedeme, jak je navržena jedna z nich, SHA-1. Předcházející ElGamal Nahoru Úvod do problematiky kryptografických hashovacích funkcí 99

100 Předcházející Kryptografické hashovací funkce SHA Úvod do problematiky kryptografických hashovacích funkcí Časová náročnost kapitoly: 45 minut Cíl kapitoly: Po prostudování této podkapitoly budete schopni vysvětlit co je to jednosměrná funkce, jaká je to kryptografická heashovací funkce, jaké má vlastnosti. Dále budete umět popsat iterační postup, který kryptografické hashovací funkce používají. Dále porozumíte dalšímu typu útoku, který se nazývá birthday attack. Hashovací funkce jsou matematické funkce, které se v informačních technologiích používají velice často. Jsou to funkce, které mapují vstup proměnné délky na výstup pevné délky. Jako příklad lze uvést databázové zpracování, kdy technika hashování umožňuje na základě hodnoty vyhledávacího klíče určit umístění odpovídajícího záznamu. Kryptografické hashovací funkce jsou důležitými nástroji pro kryptografické aplikace jakými jsou například digitální podpis (viz 10), klíčované hashovací funkce (MAC - Message Authentication Code). Používají se k zajištění důležitých bezpečnostních aspektů současných informačních technologií jakými jsou zejména integrita, autentizace a nepopiratelnost. Kryptografické hashovací funkce jsou většinou iterační procesy, které hashují vstup proměnné délky (t-bitové bloky) na výstup pevné délky (r-bitové bloky). Vstup M je nejprve zarovnán na násobek délky bloku a poté je rozdělen na t-bitové bloky M i. Hashovací funkce H může být popsána takto: MD 0 = IV, MD i = f(md i 1, M i ),1 i n, H(M)=MD n, kde IV je inicializační hodnota, f je kompresní funkce (ale jednocestná funkce, MD i jsou r-bitové buffery. Výstupu hashovací funkce se říká výtah zprávy (message digest), otisk (fingerprint) vzorek nebo např. charakteristika. Hashovací funkce používané v kryptografii musí splňovat určité vlastnosti, které jsou uvedeny v následujících definicích. Definice 6.1 Funkce H() se nazývá jednocestnou funkcí (JF), jestliže splňuje následující vlastnost: Pro daný vstup M a danou funkci H je snadné vypočítat H(M), ale pro danou H(M) je nesnadné vypočítat M. Definice 6.2 Jednocestná funkce H() se nazývá jednocestnou funkcí se zadními vrátky (JFZV), jestliže navíc splňuje následující vlastnost: Pro danou H K (M) lze snadno spočítat M tehdy, když je známa hodnota tajemství K. 100

101 Definice 6.3 Funkce H() se nazývá jednocestnou hashovací funkcí (JHF), jestliže splňuje následující vlastnosti: 1. Argument (zpráva) M může mít libovolnou délku. 2. Výsledek H(M) má pevnou délku (charakteristika). 3. Funkci H(M) lze relativně snadno realizovat jak hardwarově, tak softwarově. 4. Funkce H(M) je jednocestná, tj. pro daný vstup M a danou funkci H je snadné vypočítat H(M), ale pro danou H(M) je nesnadné vypočítat M. Definice 6.4 Jednocestná hashovací funkce H() se nazývá jednocestnou hashovací funkcí odolnou kolizím (JHFOK), jestliže splňuje následující vlastnosti: 1. Funkce H(M) je odolná proti kolizím, tj. pro daný vstup M a danou hodnotu H(M) je těžké (nemožné) najít takové M (M M ), aby platilo H(M)=H(M ). 2. Funkce H(M) je silně odolná proti kolizím, je-li těžké (nemožné) najít jakýkoliv pár M, M (pro M M ) takový, aby platilo H(M)=H(M ). Definice 6.5 Necht je dán klíč K pevné délky a vstup (zpráva) M proměnlivé délky. Jednocestná hashovací funkce H() se nazývá klíčovanou (jednocestnou) hashovací funkcí (odolnou kolizím) (KJHFOK), jestliže splňuje následující vlastnosti: 1. Pro dané H, KaM je snadné vypočítat H(K, M). 2. Bez znalosti K je těžké najít M pro dané H(K, M). 3. Bez znalosti K je těžké najít M, M (M M ) takové, aby platilo H(K, M) = H(K, M ). 4. K (mnoha) daným párům[m i, H(K, M i )] je těžké nalézt tajný klíč K. 5. Bez znalosti K je těžké najít H(K, M) pro jakékoliv M, a to i tehdy, jestliže je dáno mnoho párů[mi, H(K, Mi)], kde M M i, pro každé M i. Následuje stručný výčet různých typů hashovacích funkcí: 1. hashovací funkce založené na blokových šifrách (např. algoritmus DES v CBC režimu - viz obr. 6.1), 2. hashovací funkce založené na modulární aritmetice: bezpečnost kryptosystémů založených na modulární aritmetice plyne z výpočetní složitosti těžkých problémů - problému faktorizace a problém diskrétního logaritmu, 3. hashovací funkce založené na automatech (není součástí výkladu), 4. hashovací funkce založené na problému batohu (není součástí výkladu), 5. speciální hashovací funkce - mezi nejznámější a nejpoužívanější patří např. MD5 (ta není vzhledem k velikosti charakteristiky 64 bitů považována za bezpečnou), SHA-1, RIPEMD-x. Tyto hashovací funkce zpravidla vstupní zprávu M dělí na bloky velikosti 512 bitů a poskytují výstup (charakteristiku) H(M) velikosti bud 128 nebo 160 bitů (např. v případě RIPEMD-160 se je možnost získat charakteristiku dvojnásobné velikosti 320 bitů). Jádrem kompresní funkce f jsou obvykle bitové operace jako XOR, bitová negace, b. součin, b. součet, b. posuv a b. rotace. 101

102 M M1... Mn IV K E K E C K(M) Obrázek 6.1: DES v CBC režimu. Dále jsou uvedeny některé typy útoků na hashovací funkce. Útoky se dělí na dvě skupiny - na útoky závisící na algoritmu a na útoky na algoritmu nezávisící. 1. Útok hrubou silou - hledání zpráv se stejnou hodnotu n-bitové charakteristiky H, tj. např. Pro n=128 to znamená2 128 pokusů nalézt zprávu M se stejnou charakteristikou H. 2. Birthday attack (narozeninový útok) je útok vycházející z tzv. narozeninového paradoxu (jaká je pravděpodobnost, že se v místnosti mezi n lidmi najde alespoň jedna dvojice osob se stejným datem narození (den, měsíc), pro n=23 je tato pravděpodobnost p=0.507, pro n=30 je p=0.706). Pro např. n=128 útok spočívá v generování zpráv M 1 a podvržených zpráv M 2 a vyhledání takové M 2, že H(M 1 )=H(M 2 ). Pár podvržená zpráva/původní zpráva, které mají stejnou hodnotu hashovací funkce se nám podaří nalézt po nikoli2 128, ale po vygenerování pouze2 64 zpráv (s pravděpodobností cca 50%). 3. Náhodný útok (Random attack) - útočník vybere náhodnou zprávu a doufá, že její charakteristika je stejná jako ta pravá. 4. Pseudo attack - útočník se snaží útočit na klíčovanou hashovací funkcí pomocí podvrženého klíče K. 5. Speciální útoky (diferenční kryptoanalýza, lineární kryptoanalýza, Meet-in-the-Middle attack, Fixed point attack) - přesahují výklad. Následují příklady použití kryptografických hashovacích funkcí: A B: E K [M H(M)] poskytuje autentizaci a utajení, A B: M E K [H(M)] poskytuje autentizaci, A B: M E KSA [H(M)] poskytuje autentizaci a digitální podpis, A B: E K [M E KSA [H(M)]] poskytuje autentizaci, utajení a digitální podpis, A B: M H(M S) poskytuje autentizaci, A B: E K [M H(M) S] poskytuje autentizaci a utajení. Symbol S zde značí nějakou hodnotu, kterou zná jen Alice a Bob, K je tajný klíč, který zná jen Alice a Bob, K SA je soukromý klíč Alice. 102

103 6.1.1 Message Authentication Code Klíčované hashovací funkce vystupují pod různými názvy, ale mají jedno společné: s daty zpracují do výstupní charakteristiky také tajný klíč (MAC= C k (m)). Ta pak detekuje jakoukoliv úmyslnou i neúmyslnou změnu ve zprávě, čímž zajišt uje integritu zprávy, současně ale také autentizuje jejího původce, nebot musel znát tajný klíč. Proto se tento hashovací kód nazývá autentizační kód zprávy (MAC, Message Authentication Code). Před vznikem hashovacích funkcí se k výpočtu MAC používaly blokové šifry, viz obr V roce 1995 byla navržena rodina autentizačních kódů MDx-MAC. Používají haoshovací funkce typu MDx (tedy hashovací funkce rodin MD, RIPEMD a SHA) jako základ, ale zesložit ují je. Zesložitění spočívá ve vstupu klíče do inicializační hodnoty IV i konstant kompresní funkce a v doplnění nového datového bloku (závislého na klíči) na konec zprávy. klíčovanou hashovací funkcí je HMAC. Následují příklady použití klíčovaných kryptografických hashovacích funkcí: A B: M C K (M) poskytuje autentizaci, A B: E K2 (M C K1 (M)) poskytuje utajení (K2), autentizaci (K1), A B: E K2 (M) C K1 (E K2 (M)) poskytuje utajení (K2), autentizaci (K1). Shrnutí kapitoly 6.1 V této podkapitole jsme se seznámili s pojmem kryptografická hashovací funkce. Je to funkce jednosměrná a navíc odolná kolizím, má kompresní charakter. Moderní hashovací funkce jsou iterační procesy. Klíčované hashovací funkce se používají jako tzv. MAC.? Otázky ke kapitole Jakým způsobem získáte z charakteristiky zpět původní otevřený text? 2. Jaká je to hashovací funkce odolná kolizím? 3. Popište přesně, jak budete postupovat při hledání dvojice M 1, M 2 takové, aby platilo, že h(m 1 )=h(m 2 ) pro danou hashovací funkci h. Jaké jsou nároky na pamět pro takovýto postup hledání, pokud hashovací funkce má výstup o velikosti n bitů? 4. Je hashovací funkce, která má charakteristiku délky 64 bitů bezpečná? Zdůvodněte. Předcházející Kryptografické hashovací funkce Nahoru SHA-1 103

104 Předcházející Úvod do problematiky kryptografických hashovacích funkcí Kryptografie na bázi eliptických křivek 6.2 SHA-1 Časová náročnost kapitoly: 30 minut Cíl kapitoly: Po prostudování podkapitoly budete umět stručně popsat hashovací funkci SHA-1. V této podkapitole bude uveden popis alespoň jedné kryptografické hashovací funkce. Hashovací funkce SHA-1 je nástupcem hashovací funkce SHA-0. Hashovací funkce SHA-1 byla vytvořena NSA a americkým úřadem pro normalizaci NIST byla vyhlášena jako standard v oficiálním dokumentu Federal Information Processing Standards Publication (FIPS PUB 180-1). Tato funkce má všechny požadované bezpečnostní vlastnosti zabraňující jejímu zneužití. Je určena pro všechny aplikace, kde je požadována bezpečná hashovací funkce. Vstupem hashovací funkce SHA-1 je datový soubor M o délce až bitů. Výstupem hashovací funkce je hashovací hodnota H(M) pevné a relativně velmi malé délky, u SHA-1 je výstup 160 bitový. Algoritmus SHA-1 se skládá z několika kroků: 1. Prvním krokem je doplnění zprávy. Předpokládejme, že máme zprávu M, která má m bitů. SHA-1 zpracovává vstupní data po512 bitech, proto nejprve dojde k doplnění zprávy M na délku, které je celočíselným násobkem512 bitů. Doplnění je definováno tak, že M se nejprve doplní jedničkovým bitem a poté nulovými bity tak, aby délka zprávy byla rovna512 (n 1)+448, kde n je vhodné přirozené číslo. Zbývajících64 bitů bude doplněno 64 bitovým číslem, které vyjadřuje počet bitů původní zprávy, tedy m. Takto nám vždy vznikne n512 bitových bloků dat, které označíme M 1,..., M n. 2. Dále označme W <<< s cyklickou rotaci slova W o s bitů doleva. 104

105 3. V samotném algoritmu budeme používat následující logické funkce a konstanty: 32 bitová slova A E a TEMP, konstanty K0 až K79, které jsou v hexadecimálním zápisu rovny: Kt=5A827999(0 t 19), Kt=6ED9EBA1(20 t 39), Kt=8F1BBCDC(40 t 59), Kt=CA62C1D6(60 t 79), konstanty H0 až H4, které jsou před zpracováním prvního bloku M 1 nastaveny na inicializační hodnoty: H0 = , H1 = EFCDAB89, H2 = 98BADCFE, H3 = , H4 = C3D2E1F 0, funkce f0 až f79, kde výstupem každé funkce jsou slova B, C, D definovaná následujícím způsobem: ft(b, C, D)=(B C) ((NOT B) D)(0 <= t <=19), ft(b, C, D)=B C D(20 <= t <=39), ft(b, C, D)=(B C) (B D) (C D)(40 <= t <=59), ft(b, C, D)=B C D(60 <= t <=79). 4. Výpočet hashovací hodnoty se provádí postupným zpracováním bloků M 1 až M n. Celé zpracování probíhá v následující hlavní smyčce: (a) Rozdělíme M i (pro i=1,..., n) na16 slov W(0) až W(15). (b) Provedeme expanzi na slova W(16) až W(79) podle vztahu: W(t)=(W(t 3) W(t 8) W(t 14) W(t 16) <<<1. (c) Do A až E zkopírujeme poslední hodnoty slov H0 až H4: A=H0, B= H1, C= H2, D=H3, E= H4. (d) V následujících80 kolech (t=0,...,79) ke slovůma až E přimícháváme slova W podle symbolického zápisu: TEMP=(A <<<5)+ft(B, C, D)+E+W(t)+Kt, E= D, D=C, C= B <<<30, B= A, A=TEMP. (e) Aktualizujeme hodnoty H0 až H4 podle vztahů: H0 = H0+A, H1=H1+B, H2=H2+C, H3=H3+D, H4=H4+E. 5. Po zpracování posledního bloku M n je hashovací hodnota definována jako160 bitový řetězec tvořený slovy H0 až H4. 6. Schematicky je algoritmus znázorněn na obrázku 6.2. Shrnutí kapitoly 6.2 V této podkapitole byla pro ilustraci toho, jak vypadají současné bezpečné kryptografické hashovací funkce, popsána hashovací funkce SHA-1.? Otázky ke kapitole Jaké bitové operace jsou v algoritmu SHA-1 použity? 105

106 Obrázek 6.2: Hashovací funkce SHA Nalezněte na Internetu implementace SHA-1 v různých programovacích jazycích. Předcházející Úvod do problematiky kryptografických hashovacích funkcí Nahoru Kryptografie na bázi eliptických křivek 106

107 Předcházející SHA-1 Úvod do teorie eliptických křivek Kapitola 7 Kryptografie na bázi eliptických křivek 7.1 Úvod do teorie eliptických křivek Proč se začaly používat eliptické kryptosystémy? Pojem eliptické křivky Eliptické křivky nad F p ECDSA - Elliptic Curve Digital Signature Algorithm ECDSA Shrnutí V této kapitole se seznámíme s pojmem eliptická křivka, s operacemi na ní, s kryptografií na bázi eliptických křivek a s algorimem pro digtální podpis na bázi eliptických křivek. Předcházející SHA-1 Nahoru Úvod do teorie eliptických křivek 107

108 Předcházející Kryptografie na bázi eliptických křivek ECDSA - Elliptic Curve Digital Signature Algorithm 7.1 Úvod do teorie eliptických křivek Časová náročnost kapitoly: 90 minut Cíl kapitoly: Po prostudování podkapitoly budete rozumět pojmu eliptická křivka, budete umět popsat operace s body eliptické křivky nad prvočíselnými tělesy. Dále porozumíte pojmu řád eliptické křivky a řád bodu eliptické křivky Proč se začaly používat eliptické kryptosystémy? Dnešní systémy s veřejným klíčem vznikly proto, aby byl s jejich pomocí vyřešen problém klíčového hospodářství pro symetrické algoritmy. Mezi N účastníky, kdy chce komunikovat každý účastník s každým utajeně pomocí symetrického algoritmu, je počet tajných klíčů roven(n (N 1))/2 a tyto tajné klíče je třeba distribuovat pouze příslušným dvěma účastníkům. Pokud však účastníci používají asymetrický algoritmus, je celá situace jednodušší. Každý účastník vlastní dvojicí klíčů - veřejný a soukromý. Mnoho současných asymetrických kryptosystémů je založeno na využití operací nad velkými konečnými matematickými grupami. Kryptografická síla těchto systémů je odvozena ze složitosti řešení úlohy diskrétního logaritmu nad multiplikativní grupou tělesa F p, kde p je velké prvočíslo, např. algoritmus ElGamal. Bezpečnost těchto systémů závisí na velikosti prvočísla a řádu vybraného prvku grupy. Typickým představitelem asymetrických kryptosystémů je dále algoritmus RSA, jehož síla spočívá v řešení úlohy faktorizace velkého přirozeného čísla (na součin dvou prvočísel). K provedení rozkladu dostatečně velkého čísla však potřebujeme výrazně efektivní algoritmy. Takové algoritmy existují, ale mají své výpočetní meze (v současnosti algoritmus Number field sieve viz [3]). K tomu, aby používaný kryptosystém měl z hlediska takovýchto útoků dostatečnou záruku bezpečnosti, je třeba stanovit dostatečnou délku klíče, kterou je dnes > 1024b. 108

109 Blokové šifry RSA/DL Eliptické křivky Tabulka 7.1: Srovnatelná bezpečnost různých kryptosystémů při různých délkách klíčů. Nevýhodou asymetrických kryptosystémů je, že bezpečná velikost klíče je podstatně větší než u symetrických kryptosystémů a asymetrické algoritmy jsou značně pomalejší. V tabulce 7.1 je uvedena srovnatelná bezpečnost různých kryptosystémů při různých délkách klíčů. Matematici proto hledali jiné cesty, nové algoritmy pro asymetrické kryptosystémy. Kryptografie na bázi eliptických křivek (Elliptic Curve Cryptography, dále jen ECC) je moderní směr, který v řadě ukazatelů přináší lepší výsledky než nejrozšířenější používané kryptosystémy. Užití eliptických křivek pro návrh asymetrických kryptosystémů poprvé navrhli v r nezávisle pánové Victor Miller a Neal Koblitz. Jedná se vlastně o analogii již existujících systémů s veřejným klíčem, kdy je modulární aritmetika nahrazena aritmetikou budovanou na základě operací s body na eliptické křivce. U asymetrických kryptosystémů definovaných nad eliptickou křivkou (ECC) se hierarchicky volí dva typy algebraických struktur: konečné těleso a eliptická křivka reprezentující grupu bodů, nad níž je vlastní asymetrický algoritmus definován. Volba obou těchto algebraických struktur významně ovlivňuje bezpečnost a efektivitu kryptosystému. Požadavky kladené na tyto dvě struktury spolu vzájemně souvisí. Bezpečnost eliptických kryptosystémů spočívá v obtížnosti řešení úlohy diskrétního logaritmu pro eliptické křivky. V současné době je tato úloha podstatně obtížněji řešitelná než je úloha klasického diskrétního logaritmu. Dokonce nejsou pro tyto algoritmy známy žádné subexponenciální algoritmy (jako pro klasický diskrétní logaritmus, resp. úlohu faktorizace), nejlepší algoritmy mají plně exponenciální charakter (což platí pro obecné křivky, nikoliv však pro některé speciální podtřídy eliptických křivek). V důsledku toho lze konstruovat bezpečné kryptosystémy s výrazně kratší délkou klíče (viz tabulka 7.1). To vede mimo jiné k implementacím s menšími nároky na pamět, které jsou současně i výrazně rychlejší ve srovnání např. s kryptosystémy na bázi diskrétního logaritmu. Teoretická konstrukce přitom umožňuje vytvořit systémy zcela analogické klasickým modelům Pojem eliptické křivky Pod pojmem rovinná křivka rozumíme množinu bodů, které splňují rovnici F(x, y)=0. Nejjednodušší rovinnou křivkou je přímka. Rovnici přímky lze zapsat jako polynom s proměnnými x a y, přitom tyto proměnné se v těchto rovnicích objevují v podobě lineární závislosti. Kuželosečky (parabola, hyperbola, elipsa) lze popsat rovnicemi, kde závislost proměnných je popsána kvadratickou rovnicí (v x a y). Logicky navazují kubické křivky, závislost proměnných je popsána rovnicí třetího stupně. Jejich speciální podtřídou jsou eliptické křivky. Eliptická křivka je algebraická struktura konstruovaná obecně nad tělesem. V kryptografii se používají eliptické křivky nad konečnými tělesy, která lze algebraicky klasifikovat a každé konečné těleso je pak jednoznačně určeno řádem (počtem svých prvků). 109

110 Definice vlastností konečných těles lze nalézt v podkapitole 2.2. Definice 7.1 Na binární těleso 1 F 2 m se můžeme dívat jako na vektorový prostor dimenzem nad tělesem F 2, které se skládá z prvků0,1. Tj. v tělese F 2 m existuje m prvků α 0, α 1,..., α m 1 takových, že každý prvek α F 2 m se dá jednoznačně zapsat ve tvaru: α=a 0 α 0 + a 1 α a m 1 α m 1, kde a i {0,1}. Definice 7.2 Množina prvků {α 0, α 1,..., α m 1 } se nazývá báze F 2 m nad F 2. Existuje mnoho různých bází, norma ANSI X9.62 se omezuje na dvě báze: polynomiální a normální bázi. Pokud se omezíme na polynomiální bázi, pak prvky tělesa F 2 m jsou všechny polynomy stupně m s koeficienty z {0, 1}. Všechny operace (sčítání polynomů, násobení polynomů a nalezení inverzního plynomu k danému polynomu jsou prováděny modulo ireducibilní polynom stupně m s koeficienty z {0, 1}. Operace nad binárním tělesem F 2 m s polynomiální bází se staly také základem nového symetrického standardu, algoritmu AES (viz 4.4). Proto pro specifikaci konkrétního konečného tělesa stačí použít označení F q, kde q= p m je počet prvků, p prvočíslo a m přirozené číslo. Velmi zjednodušeně lze definovat eliptickou křivku nad konečným tělesem F q jako množinu E = {[x, y] F 2 q \ {[0,0]}, F(x, y)= 0} {O}, kde O je dodefinovaný neutrální prvek eliptické křivky (tzv. bod v nekonečnu) a F(x, y)=y 2 + a 1 x y+ a 2 y x 3 a 3 x 2 a 4 x a 5 je polynom nad F q. Na takto vytvořené množině je možno definovat binární operaci tak, že eliptická křivka opatřená touto operací má strukturu komutativní grupy. Vztah F(x, y) = 0 je obecnou Weierstrassovou rovnicí eliptické křivky. Tu lze zjednodušit pro jednotlivé tvary těles a doplnit podmínky pro hodnoty koeficientů rovnic tak, aby eliptická křivka nebyla singulární (aby neexistoval tzv. bod singularity): 1. Pro q= p m, kde p >3, m 1akoeficienty a, b F q,4 a b 2 0, splňuje bod eliptické křivky[x, y] E \ {O} následující rovnici nad F q : y 2 = x 3 + a x+b, kde a, b jsou celá čísla mod p. 2. Pro q = 2 m, m 1 a koeficienty a, b F q, b 0, splňuje bod eliptické křivky [x, y] E \ {O} následující rovnici nad F q : y 2 + x y= x 3 + a x 2 + b, kde a, b jsou celá čísla mod q. 3. Pro q = 3 m, m 1 a koeficienty a, b F q, b 0, splňuje bod eliptické křivky [x, y] E \ {O} následující rovnici nad F q : y 2 = x 3 + a x 2 + b, kde a, b jsou celá čísla mod q Eliptické křivky nad F p Sčítání: jak na to? Nejprve přibližme graficky operaci sčítání na reálné křivce (v rovině). Na obrázku 7.1 je znázorněna konkrétní eliptická křivka E daná rovnicí y 2 = x 3 7 x. Výsledkem součtu P+Q dvou různých bodů P, Q, které leží na křivce, bude opět bod R křivky E a vznikne takto (viz obr. 7.1): Spojíme body P=(x P, y P ) a Q=(x Q, y Q ) přímkou, ta protne křivku v dalším bodě, který označíme R, a výsledkem sčítání je bod R, symetrický k R podle osy x. Body symetrické podle osy x se nazývají opačné. 1 Konečným tělesům se říká také Galoisova pole (Galoisova tělesa) a značí se GF p resp. GF 2 m. 110

111 Obrázek 7.1: Sčítání bodů P+ Q=Rkřivky E: y 2 = x 3 7 x. Algebraicky je směrnice přímky, která spojuje body P, Q (předpokládejme, že jsou různé a nikoli opačné), rovnas=(y Q y P )/(x Q x P ) a souřadnice bodu R=(x R, y R ) lze pak odvodit z rovnice křivky jako x R = s 2 x P x Q a y R = s (x P x R ) y P. V případě P= Q přechází jejich spojnice v tečnu ke křivce E a její směrnice je rovna s=(3 x 2 P + a)/(2 y P). Když sčítáme body opačné P+( P), jejich spojnice (rovnoběžka s osou y) eliptickou křivku E protne jakoby v nekonečnu. Proto matematici definitoricky přidali ke křivce E bod v nekonečnu O a sčítání dodefinovali i pro body opačné: P+( P)=O, viz obr Pro bod v nekonečnu O nadefinujeme pravidla pro sčítání takto: pro každý bod P na křivce E definujeme P+ O=P a také O+ O=O, přičemž O=O. Pro přičtení bodu k sobě samému, tj. P+ P, je vedena tečna ke křivce E z bodu P. Jestliže y P 0, protne tečna křivku v bodě R. Výsledkem sčítání P+ P=2P= R je bod R, symetrický k R podle osy x, viz obr Sčítání: eliptická křivka nad F p. Eliptická křivka E nad tělesem F p je tedy definována jako bod v nekonečnu O společně s množinou bodů P=(x, y), kde x a y jsou z tělesa F p a splňují rovnici y 2 = x 3 + ax+b v F p, tj. y 2 x 3 + a x+b(mod p). Víme, že koeficienty a, b jsou také prvky tělesa F p a musí splňovat podmínku4 a b 2 0mod p, která zaručuje, že takto definovaná množina bodů tvoří grupu (jinak koeficienty a ab můžeme volit libovolně budou to později veřejné parametry příslušného kryptosystému). V této grupě definujeme opačný bod k O jako O = O a pro ostatní nenulové P=(x P, y P ) E definujeme P=(x P, y P mod p), dále pro všechny body P E definujeme P+ P= O a P+ O=P. Bod O nazýváme také nulový bod, vzhledem k jeho roli při sčítání v grupě E. 111

112 Obrázek 7.2: Sčítání opačných bodů P+( P)=O křivky E: y 2 = x 3 6 x+6. Obrázek 7.3: Přičítání bodu k sobě samému P+ P=2P, křivka E: y 2 = x 3 3 x

113 Obrázek 7.4: Přičítání bodu k sobě samému P+ P=2P= O, pokud je y P=0, křivka E: y 2 = x 3 +5 x 7. Sčítání různých nenulových a ne vzájemně opačných bodů P =(x P, y P ) a Q= (x Q, y Q ): jestliže P a Q jsou různé body takové, že P Q, pak P+ Q=R, kde s=(y P y Q )/(x P x Q ) mod p 2, x R = s 2 x P x Q mod p, y R = y P + s (x P x R ) mod p. Zdvojení bodu P : pokud y P 0, pak2p= R, kde s=(3 x 2 P + a)/(2 y P) mod p, x R = s 2 2 x P mod p, y R = y P + s (x P x R ) mod p. Příklad 7.1 (Eliptická křivka nad F p.) Necht p=23 a předpokládejme křivku E: y 2 = x 3 + x+4 nad F 23, tj. a=1, b=4. Platí4 a b 2 =4+432=436 22(mod23). 1. Body (viz obr. ) této křivky jsou O a(0,2),(0,21),(1,11),(1,12),(4,7),(4,16),(7,3), (7,20), (8,8),(8,15),(9,11),(9,12),(10,5),(10,18),(11,9),(11,14),(13,11),(13,12), (14,5),(14,18),(15,6),(15,17),(17,9),(17,14),(18,9),(18,14),(22,5),(22,19). 2. Necht P =(4,7) a Q=(13,11), potom P+ Q=Rse vypočte takto: x R =((11 7)/(13 4)) = = 8 15 mod23 a y 3 =3 (4 15) 7= 40 6 mod23. Tedy P+ Q=(15,6). 3. Necht P=(4,7) potom2p= P+P= R se vypočte takto: x R =(( )/14) 2 8= = mod23 a y 3 =15 (4 10) 7= mod23. Tedy 2P=(10,18). 113

114 Podobně jako2p vypočítáme3p=(p+ P)+P=2P+ P,4P,5P... Získáme obecně různé body xp na křivce#e. Protože má křivka konečný počet bodů, musí se po určitém počtu (l) kroků tato posloupnost zacyklit. V bodě zacyklení (lp ) tak platí lp= mp, kde mp je nějaký dřívější bod. Odtud ale dostáváme lp mp=(l m)p= O, čili existuje nějaké n=l m, n < l) takové, že np= O. Je tedy jasné, že v posloupnosti P,2P,3P,4P... se vždy nakonec dostaneme do bodu O a poté cyklus začíná znovu od bodu P, nebot (n+1)p= np + P = O + P = P. Různé body na křivce E mohou mít různý řád. V kryptografické praxi vybíráme takový bod, jehož řád je roven největšímu prvočíslu v rozkladu čísla#e (pokud je n velké, například řádově2 256, dostaneme velmi dlouhou posloupnost, než se zacyklí ) nebo jeho násobku (tzv. kofaktoru, kofaktor h =#E/n). Definice 7.3 Řádem eliptické křivky E rozumíme celkový počet bodů této křivky a ozn. jej jako#e. Definice 7.4 Necht n je přirozené číslo, bod P E. Nejmenší takové n, pro něž je np= O, nazýváme řád bodu P. Lze dokázat, že řád bodu dělí řád křivky. Příklad 7.2 (F p, p=23, E: y 2 = x 3 + x+4, P=(0,2)) Řád křivky je#e=29, 1P =(0,2),2P =(13,12),3P =(11,9),4P =(1,12),5P =(7,20),6P =(9,11),7P = (15,6), 8P = (14,5),9P = (4,7),10P = (22,5),11P = (10,5),12P = (17,9),13P = (8,15),14P =(18,9),15P =(18,14),16P =(8,8),17P =(17,14),18P =(10,18),19P = (22,18),20P =(4,16),21P =(14,18),22P =(15,17),23P =(9,12),24P =(7,3),25P = (1,11),26P=(11,14),27P=(13,11),28P=(0,21),29P= O. Shrnutí kapitoly 7.1 V této podkapitole byly nejprve uvedeny důvody, které vedly k rozmachu ECC. Dále byl definován pojem eliptická křivka a bylo uvedeno, které eliptické křivky se v ECC používají. Dále byly vysvětleny operace s body eliptické křivky nad prvočíselným tělesem.? Otázky ke kapitole Co je to řád eliptické křivky? 2. Co je to řád bodu eliptické křivky? 3. Je dána křivka E: y 2 = x 3 + x+1,f p, p=23. Nalezněte všechny body této křivky. Určete řád této křivky. Zvolte si jeden z bodů této křivky a určete jeho řád. 4. V textu byl použit pojem bod singularity, jeký to je bod? 5. Co je to bod v nekonečnu? Proč se používá? 2 Operaci dělení definujeme jako násobení inverzním prvkem, například x/y je x y 1 a přirozeně y 1 je ten prvek tělesa F p, který vynásoben y dává jedničku: y y 1 =1. 114

115 Předcházející Kryptografie na bázi eliptických křivek Nahoru ECDSA - Elliptic Curve Digital Signature Algorithm 115

116 Obrázek 7.5: Body křivky E: y 2 = x 3 + x+4 nad F

117 Předcházející Úvod do teorie eliptických křivek Náhodné a pseudonáhodné generátory 7.2 ECDSA - Elliptic Curve Digital Signature Algorithm Časová náročnost kapitoly: 60 minut Cíl kapitoly: Po prostudování této podkapitoly budete umět popsat princip algoritmu ECDSA. Porozumíte tomu, jaké parametry má mít eliptický kryptosystém ECDSA Problémem diskrétního logaritmu nad eliptickou křivkou (ECDLP, eliptic curve discrete logarithm problem) je tato úloha: je dána eliptická křivka E nad konečným tělesem F q, bod P E, bod Q = dp, kde1 d n 1. Určete číslo d tak, že Q = dp. Schéma diskrétního logaritmu) (multiplikativní grupa) se transformuje na eliptickou křivku (aditivní grupa) tak, že operace násobení prvků g g g g...(tj. g k ) se převede na sčítání bodů na křivce P+ P+ P+ P+... (tj. kp ). Následuje popis schématu pro digitální podpis na bázi eliptických křivek - ECDSA - Elliptic Curve Digital Signature Algorithm. Parametry eliptického kryptosystému pokud q = p je prvočíslo: prvočíslo p definující velikost příslušného tělesa F p, p >3, (nepovinně) bitový řetězec SEED délky alespoň 160 bitů, pokud eliptická křivka byla náhodně generována, a, b F p, které definují rovnici eliptické křivky E: y 2 = x 3 + a x+b, x, y F p dva prvky tělesa, které definují bod P =(x, y), tento bod má prvočíselný řád a P O, řád n bodu P (musí platit n >2 160, n >4 q), tento řád bodu P je dělitelem řádu křivky E, (nepovinně) kofaktor h =#E/n. Parametry eliptického kryptosystému pokud q je rovno2 m : číslo q = 2 m definující velikost příslušného tělesa F q, dále jaká báze je použita k vyjádření jednotlivých prvků tohoto tělesa a příslušný redukční polynom řádu m, (nepovinně) bitový řetězec SEED délky alespoň 160 bitů, pokud eliptická křivka byla náhodně generována, 117

118 a, b F p, které definují rovnici eliptické křivky E: y 2 + x y= x 3 + a x 2 + b, x, y F p dva prvky tělesa, které definují bod P =(x, y), tento bod má prvočíselný řád a P O, řád n bodu P (musí platit n >2 160, n >4 q), tento řád bodu P je dělitelem řádu křivky E, (nepovinně) kofaktor h =#E/n. Generování dvojice klíčů pro eliptické kryptosystémy. Daná množina parametrů eliptického kryptosystému je asociována s dvojicí klíčů, která je vytvářena následovně: soukromý klíč d je celé číslo náhodně vygenerované v intervalu 1 < d < n 1. Veřejný klíč je bod Q na eliptické křivce vypočtený jako Q=dP. Bod Q (i P ) můžeme nyní zveřejnit budou součástí veřejného klíče, kterým je čtveřice(e, P, n, Q). Vytvoření podpisu pomocí schématu ECDSA. Mějme zprávu M: vybereme jedinečné a nepredikovatelné číslo1 k n 1, vypočteme bod kp=(x 1, y 1 ) a číslo r=x 1 mod n, je-li r = 0, pak postup opakujeme od generování čísla k (to je nutné proto, aby v hodnotě s byl obsažen privátní klíč, viz dále), vypočteme k 1 mod n, vypočteme s=k 1 (h(m)+dr) mod n, kde h je hashovací funkce SHA-1 (viz literatura), je-li s=0, pak opět jdeme na první bod generování nového k (neexistovalo by s 1 mod n, viz dále proces ověření), podpisem zprávy M je dvojice čísel(r, s). Ověření podpisu ECDSA. Mějme zprávu M a její podpis(r, s): důvěryhodným způsobem získáme veřejný klíč podepisujícího(e, P, n, Q), ověříme, že r, s 1, n 1, vypočteme w=s 1 mod n a h(m), vypočteme u 1 = h(m)w mod n a u 2 = rw mod n, vypočteme u 1 P+ u 2 Q=(x 0, y 0 ) a v= x 0 mod n, podpis je platný právě tehdy, když v= r. 118

119 Délka symetrického klíče Příklad algoritmu Délka p pro F p Velikost m pro F 2 m 80 Skipjack DES AES AES AES Tabulka 7.2: Doporučená velikost těles podle FIPS Shrnutí V původním návrhu využití eliptických křivek pro kryptografii se užívalo výhradně eliptických křivek nad F p. Z důvodu snadné hardwarové implementace (např. čipové karty bez nutnosti vnitřního speciálního koprocesoru) byly zavedeny i eliptické křivky nad tělesem F 2 m. Pro tyto dvě kategorie byla zveřejněna kritéria pro výběr vhodných těles a eliptických křivek nad nimi. Pro implementaci asymetrického kryptosystému je nutno zvolit bod eliptické křivky s maximálním možným řádem, tj. uvedený prvek generuje pracovní podgrupu maximálního řádu. Jelikož řád podgrupy vždy dělí řád grupy, je podíl obou hodnot celočíselný (kofaktor). Snahou je volit parametry systému tak, aby kofaktor byl co nejnižší. Řešení problému diskrétního logaritmu nad eliptickou křivkou má obecně exponenciální složitost na rozdíl od hledání přirozeného diskrétního logaritmu, pro který byly nalezeny výpočetní metody se subexponenciální složitostí. Pro některé speciální typy eliptických křivek však existují metody řešení diskrétního logaritmu s menší výpočetní složitostí než v obecném případě. Volba bezpečných parametrů eliptického kryptosystému přesahuje svou obtížností výklad, proto se jí nebudeme zabývat, stejně tak se nebudeme zabývat kritérii výběru těles. Tato problematika je však popsána v mnoha jiných publikacích. Doporučená konečná tělesa (NIST): 1. prvočíselná tělesa: F p pro p= , p= , p= , p= , p= , 2. binární tělesa: F 2 163, F 2 233, F 2 283, F 2 409, F Dosud nejúčinnější metodou na řešení úlohy ECDLP je Pollardova rho metoda, jejíž složitost je řádově(π n/2) 1/2 kroků. Pokud je n = 2 256, dostáváme cca2 128 kroků, což je zhruba na úrovni luštitelnosti symetrické blokové šifry (viz tab. 7.2) se 128-bitovým klíčem a z výpočetního hlediska neřešitelné. Proto říkáme, že příslušná šifra je výpočetně bezpečná. Úlohu lze sice paralelizovat, takže pokud použijeme N procesorů, dostáváme složitost(π n/2) 1/2 /N, ale pro velká n je to stále výpočetně neřešitelná úloha. Doporučené křivky: 1. Náhodné eliptické křivky nad F p. 2. Koblitzovy křivky nad F 2 m. 119

120 3. Náhodné eliptické křivky nad F 2 m. Příklad 7.3 Křivka P-192, E: y 2 = x 3 3 x+b(mod p) prvočíselný modul p= = = , prvočíselný řád křivky#e = = , kofaktor =1, protože řád křivky je prvočíslo, a= 3, b = e59c80e70f a7e9ab f eb8deecc146b9b1(hex.), (generující) bod P : x P (hex.), = 188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012 y P =07192b95ffc8da ed6b24cdd573f977a11e (hex.), n = Doporučení pro výběr parametrů kryptografických systémů obsahuje celá řada standardů, vzájemně jsou však mezi nimi odchylky. Často citovanou normou pro digitální podpis je FIPS 186-2, která zrovnoprávňuje podpis na bázi RSA, DSA i ECDSA. ECDSA, vychází z normy ANSI X9.62. Ta, stejně jako FIPS 186-2, pak těží z práce skupiny P1363 organizace IEEE, která definuje řadu asymetrických algoritmů, včetně těch na bázi eliptických křivek. ECC se zabývá i ANSI norma X9.63. skupinu tvoří různé normy ISO používající ECC: například ISO definuje digitální podpis, ISO/IEC definuje podpisy, šifrování a výměnu klíče, ISO/IEC autentizaci a ISO/IEC správu klíčů. Dále jsou k dispozici různé internetové standardy IETF, využívající eliptické křivky pro internetové použití [?], standardy WAP fóra pro bezdrátové komunikace, zejména mobilní telefony (například Wireless Transport Layer Security). V současnosti se staly eliptické kryptosystémy alternativou ke klasickým asymetrickým kryptosystémům. Mají své výhody zejména v rychlosti a menší náročnosti na hardware i software. Nasazení eliptických kryptosystémů se zdá být pomalé. Příčinou může být to, že klasické asymetrické kryptosystémy jsou používány, studovány a známy déle. Avšak výhodou kryptosystémů na bázi eliptických křivek je jejich velká kryptografická bezpečnost vzhledem k dané velikosti klíče. Význačně kratší délka klíčů oproti klasickým kryptosystémům vede k menším parametrům systému, a tedy i k větší výpočetní efektivnosti algoritmů. výhodou je, že fakticky všechna již známá použití v systémech na bázi diskrétního logaritmu (např. ElGamal) lze převést do systémů na bázi eliptických křivek, což se podařilo zejména při převodu DSA na ECDSA. Shrnutí kapitoly 7.2 V této podkapitole byl popsán algoritmus ECDSA. Dále byly uvedeny parametry eliptického kryptosystému. Na závěr byly uvedeny některá doporučení podle NIST.? Otázky ke kapitole

121 1. Porovnejte algoritmus ECDSA s algoritmem DSA. 2. Navrhněte algoritmus pro výměnu klíčů pro ECC (analogii algoritmu Diffie-Hellman). Předcházející Úvod do teorie eliptických křivek Nahoru Náhodné a pseudonáhodné generátory 121

122 Předcházející ECDSA - Elliptic Curve Digital Signature Algorithm Autentizace Kapitola 8 Náhodné a pseudonáhodné generátory Časová náročnost kapitoly: 60 minut Cíl kapitoly: Po prostudování této podkapitoly budete umět vyjmenovat některé z generátorů náhodných čísel používaných v kryptografii a vysvětlit některé přístupy ke generování náhodných čísel. Kvalitní zdroj náhodných čísel je v bezpečnosti IT stejně cenný jako klíče, hesla apod. Náhodná čísla se používají např. jako šifrovací klíče v protokolu SSL, viz WWW: SSL a pro tvorbu klíčů pro digitální podpis (10.1) atd. One-Time Pad je jediným systémem, který používá jednorázové heslo (které se nikdy nezopakuje), toto heslo je opravdu náhodná sekvence (true random sequence) - ideál. Problémem je však její generování. Za náhodnou posloupnost bitů považujeme například výsledek házení zcela souměrnou mincí: panna = 0, orel = 1. Přitom výsledek tohoto házení je zcela určený deterministickými zákony klasické mechaniky. Tak kde je pak náhodnost? Náhodnost je důsledkem toho, že výsledek panna nebo orel závisí na počátečních podmínkách (tj. výšce hodu a rotaci, kterou minci udělíme v okamžiku, kdy opouští naši ruku, tj. síle, kterou na minci působíme) tak jemně, že není v možnostech nejmodernější techniky tuto sílu změřit s takovou přesností, aby řešení příslušné soustavy diferenciálních rovnic umožnilo jakkoliv předpovědět výsledek hodu. Stejně tak bychom mohli tahat ze dvou čísel v klobouku. Zde vstupuje do hry ještě naše vůle, ani v tomto případě ale neexistuje žádná shoda v tom, nakolik je naše vůle skutečně svobodná a nakolik je deterministická v důsledku působení fyzikálních zákonů v našem mozku a během jeho celého vývoje. 122

123 m běžně používaným generátorem náhodných čísel je měření časového úseku mezi dvěma úhozy do klávesnice počítače s přesností na tisíciny vteřiny. Pokud je desetinná část této doby lichá, tak jsme generovali1, pokud je sudá, tak jsme generovali0. Zdroje skutečně náhodných čísel (posloupností) (true random numbers) se hledají těžko, následuje výčet některých z náhodných generátorů: generátory na bázi radioaktivního rozpadu, hardwarový generátor na čipsetech 8xx firmy Intel používá k tvorbě nedeterministického proudu bitů tepelný šum připojeného rezistoru, lávové lampy, WWW: Lávové lampy kosmické záření, kolekce náhodných čísel (je jich jen omezený počet), běžné periferie (mikrofon, zvuková karta...), systémové zdroje (systémové datum a čas, statistika I/O operací...), činnost uživatele (již zmíněné úhozy při psaní na klávesnici, pohyby myší...). Žádná posloupnost čísel (bitů) vzniklá na základě výpočtu (deterministického postupu) nemůže být skutečně náhodná. Tedy žádný software nedokáže generovat náhodná čísla, místo toho vytváří pseudonáhodná čísla, která jsou odvozena od prvního, skutečně náhodného. Generátorům generujícím pseudonáhodné sekvence se říká pseudorandom number generators (PRNG) - jsou to algoritmy, které ze vstupních dat v podobě nějaké krátké posloupnosti náhodných bitů vyprodukují dlouhou posloupnost bitů, která vypadá náhodně. Tím se myslí to, že neexistuje žádný rychlý algoritmus, který by tuto posloupnost dokázal odlišit od skutečně náhodné posloupnosti. Rychlým algoritmem se obvykle rozumí algoritmus, který vyžaduje dobu polynomiálně závisející na délce posloupnosti n. Po sekvencích vygenerovaných generátory náhodných resp. pseudonáhodných sekvencí pro kryptografické účely požadujeme, aby měly následující vlastnosti: uniformní distribuce - frekvence výskytu každé číslice je přibližně stejná, nezávislost - žádná hodnota v sekvenci nemůže být odvozena z ostatních, nepředvídatelnost (unpredictability) - následující hodnoty v sekvenci jsou nepředvídatelné. Jak už bylo řečeno, algoritmické techniky pro generování náhodných čísel jsou deterministické, proto generují čísla, která nejsou ze statistického hlediska náhodná. Pokud je algoritmus dobrý, výsledná sekvence však může úspěšně projít testy náhodnosti. Tyto statistické testy (test frekvencí bitu 1, poker testy (testy výskytu n-tic bitů), testy sérií) se sdružují do tzv. testovacích baterií (NIST 800, FIPS ). Příklady generátorů: 1. Lineární kongruenční generátor je pseudonáhodný generátor (není považován za bezpečný), kde je posloupnost náhodných čísel X n generována takto: 123

124 Counter s periodou N C C+1 Km E Xi= E (C+1) Km Obrázek 8.1: Cyklické šifrování. X n+1 =(a X n + b) mod m, m >0,0 a, b < m,0 X 0 < m. Délka periody (délka výstupní sekvence v bitech, než se začne opakovat) při vhodně zvolených a, b, m (např. b=0, m je prvočíslo) může být sekvence dlouhám 1, typicky pro32 bitovou aritmetiku m= Náhodně je třeba vybrat počáteční heslo X 0. Příklad 8.1 a=5, b=0, m=32, X 0 =1, výsledná posloupnost je {1,5,25,29,17, 21,9,13,1,..}, délka periody je tedy8. 2. Kryptograficky generovaná náhodná čísla: Cyklické šifrování zobrazené na obr. 8.1 se používá pro generování relačního klíče z tzv. hlavního klíče (master key Km, který je chráněný). Vstupem je čítač (counter) s periodou N, např. pro algoritmus DES (56-ti bitový klíč) má counter periodu2 56, po vygenerování každého klíče se counter zvýší o1. Každý z výstupů X 0,..., X N 1 je založen na jiné hodnotě čítače, výstupy jsou tedy navzájem různé. Protože je hlavní klíč K m chráněný, není výpočetně možné vydedukovat tajný klíč s jednoho nebo více dřívějších tajných klíčů generovaných tímto způsobem. Jedním z kryptograficky nejsilnějších PRNG je ten, který je specifikován v ANSI X9.17 (viz obr. 8.2). Mnoho aplikací používá tento generátor, mezi nejznámější patří PGP (Pretty Good Privacy). WWW: PGP Zde je vstupem DTi -64-ti bitový čas a datum, které se aktualizuje pro generování každého nového čísla a V i - počáteční hodnota (64b.), jiná pro každou iteraci i, K 1, K 2 jsou dva 56-ti bitové tajné klíče. Výstupem pak je Ri (pseudonáhodné číslo (64b.) generované i-tou iterací Ri=EDE K1,K2 [V i EDE K1,K2 [DTi]]) a hodnota V i+ 1=EDE K1,K2 [Ri EDE K1,K2 [DTi]]. Dále EDE představuje algoritmus TripleDES s dvěma klíči. DES v režimu OFB. 3. Linear Feedback Shift Register (LFSR) se skládá z n bitového posuvného registru a zpětnovazební funkce (viz obr. 8.3). Pokaždé, když je požadován bit výstupní sekvence (výstupem je vždy nejpravější bit), posunou se bity v registru o jeden bit doprava. Nový nejlevější bit registru je funkcí těch bitů registru (bity se Xorují), které jsou určeny tzv. vypouštěcím (inicializačním) polynomem. Počátečním heslem je tzv. vypouštěcí (inicializační) sekvence. 124

125 K1,K2 DTi EDE Vi EDE EDE Vi+1 Ri Obrázek 8.2: ANSI X9.17 PRNG. bn b n-1 b n-2 b 2 b 1 Obrázek 8.3: LFSR. LFSR generuje sekvenci dlouhou2 n 1 bitů, ale jen některé vypouštěcí sekvence generují posloupnost s maximální délkou. Jsou to polynomy formované vypouštěcí sekvencí+1 (to jsou ireducibilní (primitivní) polynomy mod2, např. polynom x 32 + x 7 + x 5 + x 3 + x 2 + x+1). Stupeň polynomu představuje délku posuvného registru. LFSR používají např. algoritmy A5, Gifford, ale nepoužívají např. RC4, SEAL. Shrnutí kapitoly 8 V této podkapitole jsme zavedli pojmy náhodné a pseudonáhodné sekvence a jejich generátory. Blíže jsme se seznámili s lineárním kongruenčním generátorem, generátorem LFSR a dalšími generátory používanými pro kryptografické účely.? Otázky ke kapitole 8 1. Mějme lineární kongruenční generátor. Výběr parametrů generátoru tak, aby generoval sekvenci s maximální periodou, nemusí nutně mít za následek sekvenci s doboru náhodností. Předpokládejme např. dva generátory X n+1 =(6 X n ) mod13, X n+1 =(7 X n ) mod13. Napište obě sekvence, které mají obě maximální periodu. Která z těchto dvou sekvencí vám připadá více náhodná? 2. Jaká je pseudonáhodná sekvence generovaná LFSR, který je charakterizován b 3 = 1, b 2 =0, b 1 =1ainicializační hodnota vypouštěcí sekvence je100? Jaká bude pseudonáhodná sekvence inicializovaná 011? Jaká je se relace mezi oběma sekvencemi? 3. Nakreslete dva LFSR, jejichž vypouštěcími polynomy jsou polynomy: 125

126 (a) x 4 + x 2, (b) x 4 + x 3 + x 2 + x. Předcházející ECDSA - Elliptic Curve Digital Signature Algorithm Nahoru Autentizace 126

127 Předcházející Náhodné a pseudonáhodné generátory Autentizační techniky Kapitola 9 Autentizace 9.1 Autentizační techniky Autentizace znalostí Autentizace vlastnictvím Autentizační protokol Útok Man-in-the-Middle Biometrie Otisky prstů Hlas Zápěstní žíly Duhovka a sítnice V této kapitole si blíže přiblížíme pojem autentizace, uvedeme si tři základní způsoby autentizace, seznámíme se s útokem Man-in-the-Middle. Dále si stručně přiblížíme některé biometrické techniky. Předcházející Náhodné a pseudonáhodné generátory Nahoru Autentizační techniky 127

128 Předcházející Autentizace Biometrie 9.1 Autentizační techniky Časová náročnost kapitoly: 45 minut Cíl kapitoly: Po prostudování podkapitoly budete umět vysvětlit účel autentizace, dále budete umět popsat princip autentizace znalostí, autentizace vlastnictvím. Rovněž umět definovat pojem autentizační protokol a popsat útok Manin-the-Middle. Ve světě informací se na uživateli požaduje prokázání jeho identity, dříve než získá přístup do systému, k informacím či službám. Systém musí mít důvěru v uživatele nebo uživatelé si musí důvěřovat vzájemně. Aby byla tato důvěra nastolena, musí uživatel být schopen prokázat, že je tím, za koho se vydává. Musí se tedy, jak říkáme, autentizovat. Autentizace je pojem, který je v obecné veřejnosti používán ve velmi širokém smyslu. Ve své podstatě má však značit tu skutečnost, že určitými prostředky se prokazuje garance, že entita je tím, za koho se vydává, nebo že informace nebyla zneužita neoprávněnými stranami. Vztahuje se zejména k takovým specifickým činnostem, jako jsou: kontrola přístupu, autentizace entity, autentizace zprávy, kontrola integrity dat, uznání nějaké skutečnosti a autentizace (kryptografických) klíčů. Příklad 9.1 Dvoustranná komunikace mezi A a B, kteří jsou v různých zemích, jedna (či obě) z těchto zemí chce monitorovat všechny jejich komunikace. A a B chtějí však být si ubezpečeni identitou každého z nich a integritou i původem informací, které vysílají a přijímají. Objektem autentizace (pro potřeby systémů na zpracování informací a rozhodovacích systémů) mohou být lidští uživatelé, počítačové systémy, ale i procesy probíhající v těchto systémech. Z hlediska autentizace se pojem uživatel vztahuje ke všem těmto objektům. Vlastní autentizační techniky se opírají o: znalost utajované informace (heslo, PIN, kryptografický klíč) - autentizace znalostí, vlastnictví unikátního fyzického znaku - tokenu (např. magnetické a čipové karty) - autentizace vlastnictvím, biometrickou autentizaci (má smysl pouze pro lidské uživatele - rukou psaný podpis, otisky prstů, hlas) - autentizace vlastností. Je třeba rozlišovat: autentizaci entity (identifikaci - osoby, počítačového terminálu, kreditní karty atd.), autentizaci zprávy (původu a integrity dat). 128

129 Identifikací či autentizací entity rozumíme techniku, pomocí níž se jednak jedna strana ubezpečí o totožnosti druhé strany a jednak druhá strana se aktivně účastní jejího průběhu. Tedy taková technika, pomocí níž jedna strana (ověřovatel) získává ujištění, že identita druhé strany (žadatel, prokazující strana) je ta, jaká je deklarována. Cílem je zabránit záměně stran. Nejčastější technikou je, že ověřující strana prověří správnost zprávy, která demonstruje, že žadatel vlastní tajemství, které je asociováno se správnou stranou. Příklad 9.2 Osoba vstupující do budovy určité instituce musí při vstupu prokázat svoji totožnost. Provede to zasunutím chipové karty do čtecího zařízení ve vchodu budovy. Příklad 9.3 Ověřování pravosti šeku je v bance prováděno na základě porovnání podpisu na šeku s podpisem uloženým v bance. Autentizace integrity dat značí techniku zabezpečující nenarušitelnost původního obsahu zprávy. Autentizace původu dat je zase technika umožňující dát straně přijímající zprávu ubezpečení o identitě strany, která je původcem zprávy. Příklad 9.4 Klasickou metodou zaručení nenarušení dat (i prokázání jejich původu) je využívání pečeti. Nenarušení pečeti dokumentuje integritu zprávy, použití originálního pečetidla zase garantuje původ osoby zasílající zprávu. Autentizace zprávy je spojena: s ochranou integrity zprávy, s vyhodnocením identity původce, s nepopiratelností původu zprávy, s elektronickým ekvivalentem podpisu zprávy. Spolu se zprávou je zasílán autentizátor, podpis či autentizační kód zprávy (message authentication code - (MAC) - je nutné zvážit problematiku znovuzaslání (replay) zprávy a MAC - je požadováno pořadové číslo zprávy, časová značka či odsouhlasené náhodné hodnoty. Rozdíl mezi autentizací entity a autentizací zprávy je následující. Autentizace zprávy sama o sobě nám neprokáže, kdo je původcem zprávy. Autentizace entity vede k potvrzení totožnosti autentizující se strany. Autentizace entity obvykle tedy nemá jiný smysl než tvrzení, že jsem určitá entita, zatímco autentizace zprávy potvrzuje nenarušenost obsahu zprávy. Na závěr této části se zmíníme, že zatímco někdy je vyžadována pouze jednostranná autentizace (např. při vstupu do budovy), jindy je nezbytná vzájemná autentizace dvou nebo i více stran současně (finanční transakce) Autentizace znalostí V šedesátých letech se s nástupem počítačů rozšířil způsob přihlášení se do systému pomocí hesla. Heslo (password) je řetězec znaků, obvykle v délce Aby uživatel získal přístup, použije dvojici vstupů. Prvním je jeho prohlášení, kde sděluje, za koho se vydává (obvykle uživatelovo jméno), druhým je pak vlastní heslo. Systém ověří, zda heslo odpovídá datům, které má uloženy v databázi spolu s identitou uživatele. Heslo je tedy určité tajemství a demonstrace znalosti tohoto tajemství slouží počítači jako potvrzení identity uživatele. Tato metoda má několik slabin. Jelikož jedno a totéž heslo je používáno vícekrát, existuje pro některé potenciální narušitele možnost získat toto heslo prostým odpozorováním, např. v době, kdy oprávněný uživatel vkládá heslo pomocí klávesnice. 129

130 S rozvojem počítačových sítí však narůstá i pravděpodobnost užití dalšího způsobu vedoucího k neoprávněným přístupům (k datům, procesům). Při přilogování se k síti terminálem umístěným územně mimo základní systém existují reálné možnosti odchycení autentizačních dat během přenosu v síti - pokud je heslo přenášeno v otevřené podobě, stačí, že narušitel monitoruje průběh přenosu. Dokonce některé druhy programů, které jsou využívány k monitorování sít ového provozu, provedou tuto práci pro narušitele samy. Ani jednoduché zašifrování hesla v tomto případě nepomůže. Narušitel si prostě nahraje zašifrované heslo a takto ho použije. Počítačový systém není pak schopen odlišit narušitele a oprávněného uživatele a povolí přístup. Třetí cestou, která má šanci na úspěch, pokud je heslo krátké a potenciální narušitel má neomezenou možnost vkládání různých hodnot hesla, je vyzkoušení všech možných variant. Lze využít i toho, že uživatelé mají tendenci používat jako hesla snadno zapamovatelné výrazy. Narušitel ze všech potenciálních hesel zkouší hesla, která jsou pravděpodobnější. Použije k tomu třeba slovník. Potom i při probrání jen malého podílu všech potenciálních hesel získá narušitel s vysokou pravděpodobností nakonec správné heslo. Systém nemusí mít uložena všechna kompletní hesla. Stačí aby byl schopen rozlišit, zda je heslo platné či nikoliv. K tomu jsou využívány tzv. hashovací funkce, které v moderní kryptografii hrají podstatnou úlohu (viz kap. 6) Autentizace vlastnictvím Autentizace vlastnictvím je založena na vlastnictví unikátního fyzického znaku (magnetické a čipové karty, autentizačního kalkulátoru). Pojem čipová karta bývá spojován s označením nějaké karty, jako například karty s magnetickým pruhem, optické, pamět ové a mikroprocesorové karty. Výraz čipová karta (smart card) se však spíše vztahuje k pamět ovým a mikroprocesorovým kartám. Karta s magnetickým pruhem obsahuje magnetický proužek, který je na povrch karty. Jedná se o standardní technologii pro bankovní karty. Optické karty jsou stejně velké jako bankovní karty. Jedná se o speciální plastové karty, na které je zapisují a čtou data pomocí laseru. Pamět ové karty mohou uchovávat různá data včetně finančních, zdravotních, osobních a speciálních informací. Karta ale nemůže s daty provádět žádné informace. Mikroprocesorové karty se na první pohled jeví jako standardní plastové karty, ale jsou vybaveny integrovaným obvodem (Integrated Circuit IC chip). Mikroprocesorové karty mohou uchovávat informace, mohou provádět operace s daty. Karty jsou vybaveny kontakty, pomocí nichž lze data číst přes speciální zařízení na čtení a zápis dat (kontaktní). Existují také i bezkontaktní karty, které již nemají kontakty, ale integrují uvnitř karty anténu. K datům na kartě se přistupuje pomoci rádiového signálu. Např. v souvislosti s asymetrickou kryptografií můžeme používat tzv. hardwarový klíč (čipová karta, USB zařízení), který uchovává soukromý tak, že ten nikdy tento hardwarový klíč neopouští, generuje dvojici soukromý a veřejný klíč, generuje podklady pro žádost o certifikát, vydaný certifikát lze uložit do tohoto hardwarového klíče Autentizační protokol Slovo protokol je obvykle chápáno jako určitý postup včetně souvisejících náležitostí (například diplomatický protokol). 130

131 Kryptografický protokol je sdílený algoritmus definovaný posloupností kroků, které precizují aktivity vyžadované na dvou či více entitách s cílem dosáhnout určitého bezpečnostního cíle. Tento algoritmus využívá kryptografické transformace. Cílem kryptografických protokolů bývá autentizace účastníků protokolu, utvoření dohody o kryptografickém klíči, výměna těchto klíčů apod. Někdy se v literatuře používá i pojem autentizační (identifikační) protokol či protokol typu výzva-odpověd. Příklad 9.5 Strany A a B si potřebují mezi sebou vyměnit tajné klíče pro symetrickou šifru. Použijí například poměrně jednoduchý Needham-Schroederův protokol (viz [4]) s veřejným klíčem. To znamená, že strany A a B se předem dohodly na systému asymetrického algoritmu a mají vzájemně k dispozici veřejné klíč zmíněného algoritmu. Použijme následující značení: K V A je veřejný klíč strany A, K V B je veřejný klíč strany B, K A je tajný klíč pro symetrickou šifru vygenerovaný stranou A (předmět výměny), K B je tajný klíč pro symetrickou šifru vygenerovaný stranou B (předmět výměny). Zprávy protokolu probíhají následovně: Tedy slovně: 1. A nejprve zašle straně B zprávu (Z1), A B: K V B (K A, A) (Z1), B A:K V A (K A, K B ) (Z2), A B: K V B (K B ) (Z3) 2. B získá dešifrováním klíč K A a pošle A zprávu (Z2), 3. strana A po dešifrování zprávy (Z2) ověří, zda získaný klíč K A souhlasí s tím, který zaslala straně B ve zprávě (Z1) - tím strana A má provedenu jak autentizaci strany B, tak i ujištění, že strana B zná K A, 4. A pošle B zprávu (Z3), 5. strana B po dešifrování zprávy (Z3) ověří, zda získaný klíč K B souhlasí s tím, který zaslala ve zprávě (Z2). Výsledkem průběhu tohoto autentizačního protokolu je vzájemná autentizace obou entit, jimi vygenerovaných klíčů a přenos utajovaného klíče. Obě strany jsou si tedy po provedení protokolu jisty identitou svého protějšku. Vědí, že klíč K A (resp. K B ) mohla vygenerovat pouze strana A (resp. strana B). Vzhledem ke klíči, který spočtou jako f(k A, K B ) (jejich funkční hodnotu pomocí předem dohodnuté funkce f) mají záruku, že ho znají pouze strany A a B. Výhodou tohoto, a samozřejmě dalších autentizačních protokolů, je reciprocita autentizace (obě strany mají stejnou možnost ověření své identity) stejně jako nízký počet požadovaných výpočetních operací a vzájemně zasílaných zpráv. Shrňme nyní cíle autentizačních protokolů. Z hlediska ověřující strany výsledkem protokolu autentizujícího entitu je bud přijetí identity žadatele, nebo ukončení požadavku jeho zamítnutím. Navíc strana B není schopna zneužít identifikační výměnu s A tak, aby provedla záměnu totožnosti strany A s třetí stranou C (tj. strana B např. nemůže později tvrdit, že komunikovala se stranou C). Pravděpodobnost, že třetí strana C (odlišná od A) projde protokolem a podaří se jí hrát roli strany A, je zanedbatelně nízká. Strana B tudíž může přijmout totožnost strany A. 131

132 Příkladem autentizačních protokolů na bázi symetrických šifer jsou např. Needham- Schroederův protokol, protokol systému Kerberos, atd. Z protokolů na bázi systémů s veřejným klíčem uvedeme např. modifikovaný Needham-Schroederův protokol a protokol X-509 (vše viz [2], [3], [4]). Problematika autentizačních protokolů je velmi široká, my se jí dále nebudeme zabývat Útok Man-in-the-Middle Pro některé typy autentizačních protokolů, zejména těch, které ustavují klíče (key establishment protocols), je důležitým pojmem důvěryhodná třetí strana (trusted third party). V síti, kde více entit spolu komunikuje a má potřebu spolu navazovat různé typy autentizovaných spojení, je často užitečné vydělit jednu entitu a svěřit jí určité bezpečnostní funkce. Tato entita, které budeme říkat důvěryhodná třetí strana (trusted third party, TTP), hraje potom v autentizačních protokolech roli určitého prostředníka, zprostředkovatele. Např. může sloužit jako bezpečná schránka pro tajné kryptografické klíče, vede databázi uživatelů atd. Princip důvěryhodné třetí strany je zavedený i v běžném životě. Jsou to nejen notáři, ale svým způsobem i soudci a podobní. Musí přitom především v komerční počítačové oblasti platit, že třetí strana má co možná největší míru zájmu být skutečně důvěryhodná jak jen to jde, protože kredit ztracený v případě porušení důvěryhodnosti by se velmi těžko získával zpět. Jak důležitá může být role TTP si ukážeme nyní. Mějme např. takovýto známý problém: Alice a Bob spolu chtějí bezpečně komunikovat a jelikož znají principy asymetrické kryptografie tak vědí, že je to možné, aniž by si museli předem dohodnout symetrický šifrovací klíč. Typická ukázka toho, jak to fungovat nebude : Alice pošle Bobovi svůj veřejný klíč. Bob pošle Alici svůj veřejný klíč. Tím mají navzájem svoje klíče a můžou bezpečně komunikovat. Případný útočník M (Mallory) uprostřed oblafne obě strany velmi jednoduše: Alice pošle svůj veřejný klíč. Mallory ho zachytí a nahradí ho svým veřejným klíčem. Bob pošle svůj veřejný klíč. Mallory ho zachytí a nahradí ho svým veřejným klíčem. Nyní si stejně jako v první ukázce obě strany myslí, že mají veřejný klíč toho druhého. Místo toho ale obě mají klíč Mallory. Kdykoliv tak něco šifrovaného pošlou, Mallory to zachytí, dešifruje svým soukromým klíčem, přečte si to (popř. zamění), zašifruje veřejným klíčem druhé strany a odešle. Příjemce (Bob) nic nepozná, dokonce ani v případě, že by zpráva byla Alicí digitálně podepsána. Mallory to může udělat totiž stejně tak. Mallory aplikoval útok Man-in-the-Middle, česky by se dalo říci osoba uprostřed, což je jeden z nejznámějších problémů v informační bezpečnosti. 132

133 Důvěryhodná třetí strana je v tomto případě certifikační autorita. Její podpis na Aliciném klíči potvrzuje Bobovi, že je skutečně Alicin. Bob nemá nejmenší důvod věřit nepodepsanému podvrhnutému klíči, ve skutečnosti od Mallory. Je zde vidět, že právě na důvěryhodnosti třetí strany celý systém stojí. Pokud bude certifikační autorita podplatitelná nebo její data, technologie, servery apod. budou nedostatečně zabezpečené, Mallory bude ve skutečnosti ještě v lepší situaci, protože (falešný) podpis klíče bude tím víc Boba klamně ujišt ovat o jeho pravosti. Shrnutí kapitoly 9.1 V této podkapitole jsme se blíže seznámili s pojmem autentizace, přiblížili jsme si principy a problémy autentizace znalostía autentizace vlastnictvím. m novým pojmem této podkapitoly je pojem autentizační protokol a útok Man-in-the-Middle. Otázky ke kapitole 9.1? 1. K čemu slouží autentizace? 2. Existují nějaké další problémy kromě uvedených při autentizaci znalostí (heslem)? 3. Jaká je úloha důvěryhodné třetí strany? Předcházející Autentizace Nahoru Biometrie 133

134 Předcházející Autentizační techniky Digitální podpis a certifikaty 9.2 Biometrie Časová náročnost kapitoly: 20 minut Cíl kapitoly: Po prostudování této přehledové podkapitoly budete umět vyjmenovat jednotlivé typy biometrických technologií. Biometrické technologie jsou prostředkem k dosažení rychlé a uživatelsky příjemné autentizace (autentizace vlastností) s vysokým stupněm přesnosti. Biometrie poskytuje automatizované metody rozpoznávání osob založené na fyziologických charakteristikách nebo rysech chování. Příkladem lidských charakteristik sloužících pro biometrické rozpoznávání jsou: otisky prstů, DNA, hlas, geometrie ruky, zápěstní žíly, obličej, duhovka, sítnice, vlastnoruční podpis, lůžko nehtu, dynamika stisku klávesy. V této části textu se zmíníme stručně jen o některých, jejich úplný výčet přesahuje rozsah textu vymezený této problematice. Pro všechny biometrické technologie platí, že pokud chceme autentizovat určitou osobu pomocí biometrické vlastnosti, musíme mít k dipozici již dříve pořízený srovnávací vzor (např. sejmutý otisk prstů dané osoby), se kterým budeme porovnávat nový vzor. Základní požadavky kladené na systém: uživatelská přívětivost systému, cena systému - cenu takového systému tvoří základní cena senzorů, ale také srovnávací a rozpoznávací software, přesnost: u biometrických systémů se hovoří o: FAR (false-acceptance rate), což je procento přijatých podvodníků, FRR (false-rejection rate), procento odmítnutých autorizovaných uživatelů, ERR (equal-error rate), jestliže FAR je rovna FRR. V případě biometrických systémů je vhodné uvažovat equal-error nebo přinejmenším false-acceptance a false-rejection rate dohromady. Pokud uvedené požadavky shrneme zjistíme, že dobrý biometrický systém je takový, který je levný, rychlý, přesný a jednoduše použitelný. Důležité atributy biometrických systémů: přesnost (udává FAR a FRR), náchylnost k chybám (jaká je šance vyrobení duplikátu biometrických dat?), jednoduchost použití (je třeba zvláštní manuál nebo školení?), aplikovatelnost (je skupina uživatelů nějakým způsobem uzavřená?), 134

135 Obrázek 9.1: Vzory. rychlost verifikace (jak dlouho je třeba čekat na výsledek biometrické metody?), velikost paměti pro identifikační známky (vejde se biometrická informace např. na čárový kód, pamět ovou kartu nebo čip?), dlouhodobá stabilita (jak stabilní jsou měřené biometrické vlastnosti, lze metodu používat pro stejné uživatele bez upgrade i za několik let?), ověřená technologie (jak často se systém používá a jak funguje?), nemalou roli hraje také cena přístroje (tj. hardware + software) Otisky prstů Pokud chceme autentizovat určitou osobu pomocí otisku prstů, sejmeme jí nový otisk prstu, a ten porovnáme s otiskem původním (se zrovnávacím vzorem). Tento případ se nejčastěji vyskytuje v informačních technologiích, kdy pomocí elektronického snímacího zařízení sejmeme a následně ověříme totožnost určité osoby. Narozdíl od jiných fyziologických charakteristik se otisky prstů nemění a zůstávají stejné po celý život. Vzory na kůži nejsou dědičné a člověku se vyvíjí již ve stavu embrya. Během života se tyto vzory na kůži mohou změnit jen díky nehody, příčinou zranění, popálení či jiného neobvyklého důvodu. Spolehlivě bylo dokázáno, že žádní dva jednotlivci nemají tyto vzory na kůži stejné, dokonce ani u jednovaječných dvojčat se od doby, kdy vznikla věda zabývající se studiem otisku prstů, nenašel případ dvou stejných otisků prstů. Podíváte-li se na vnitřní povrch svých prstů, dlaní a na svá chodidla, zpozorujete vyvýšené, drobné, brázdovité útvary, které vytvářejí různé vzory. Tyto vzory se dělí do tří hlavních kategorií. Jsou to smyčky (loop), spirály (whorl) a oblouky (arch) (obr. 9.1). Identifikace otisků je současné porovnávání jednoho otisku s druhým pomocí identifikačních bodů. Tyto identifikační body se nacházejí v rýhách vzoru, anglicky se jim říká minutie (drobný detail). V souvislosti s identifikačními body u otisku prstů mluvíme o různých zbůsobech, jak je daná kontura otisku přerušená. Jedná se o anatomické rysy každého člověka. Nejběžnějšími druhy identifikačních bodů jsou např. rozdvojení (bifurcation), rozvětvení - když se konce dvou rýh spojí ve vidličku, krátká rýha, ukončovací rýha, ohrazení (enclosure) - kde se setkají dvě rýhy a vytvoří vidličky na obou koncích (obr. 9.2). I jeden neobjasněný rozdíl identifikačních bodů mezi dvěmi otisky (obr. 9.3) je dostatečný, aby zaručil, že tyto pocházejí z různých zdrojů. Kolik identifikačních bodů se tedy musí shodovat, aby bylo prokazatelné, že dva otisky jsou totožné? Ve většině evropských zemí je soudem požadováno16 shodných identifikačních bodů, aby byly otisky prohlášeny za identické. 135

136 Obrázek 9.2: Identifikační body. Obrázek 9.3: Porovnání dvou otisků. 136

Jako příklady typicky ch hrozeb pro IT lze uvést: Útok

Jako příklady typicky ch hrozeb pro IT lze uvést: Útok Bezpečnost - úvod Zranitelné místo Slabinu IS využitelnou ke způsobení škod nebo ztrát útokem na IS nazýváme zranitelné místo. Existence zranitelných míst je důsledek chyb, selhání v analýze, v návrhu

Více

Provozování integrovaného podnikového systému. Jaroslav Šmarda

Provozování integrovaného podnikového systému. Jaroslav Šmarda Provozování integrovaného podnikového systému Jaroslav Šmarda Provozování IPS Implementace IS Formy využívání aplikací Software jako služba Zabezpečení IS Spolehlivost IS Servisně orientovaná architektura

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

Bezepečnost IS v organizaci

Bezepečnost IS v organizaci Bezepečnost IS v organizaci analýza rizik Zabezpečení informačního systému je nutné provést tímto postupem: Zjistit zranitelná místa, hlavně to, jak se dají využít a kdo toho může zneužít a pravděpodobnost

Více

Š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

Bezpečnostní politika společnosti synlab czech s.r.o.

Bezpečnostní politika společnosti synlab czech s.r.o. Bezpečnostní politika společnosti synlab czech s.r.o. Platnost dokumentu: 14. ledna 2015 Datum vypracování: 8. ledna 2015 Datum schválení: 13. ledna 2015 Vypracoval: Schválil: Bc. Adéla Wosková, Ing. Jaroslav

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

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

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

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

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

(2) Zásady bezpečnostní politiky jsou rozpracovány v návrhu bezpečnosti informačního systému

(2) Zásady bezpečnostní politiky jsou rozpracovány v návrhu bezpečnosti informačního systému Strana 5882 Sbírka zákonů č. 453 / 2011 Částka 155 453 VYHLÁŠKA ze dne 21. prosince 2011, kterou se mění vyhláška č. 523/2005 Sb., o bezpečnosti informačních a komunikačních systémů a dalších elektronických

Více

Bezpečnostní aspekty informačních a komunikačních systémů KS2

Bezpečnostní aspekty informačních a komunikačních systémů KS2 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 1 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Bezpečnostní aspekty informačních a komunikačních systémů KS2 VŠFS; Aplikovaná informatika; SW systémy

Více

Návrh vyhlášky k zákonu o kybernetické bezpečnosti. Přemysl Pazderka NCKB

Návrh vyhlášky k zákonu o kybernetické bezpečnosti. Přemysl Pazderka NCKB Návrh vyhlášky k zákonu o kybernetické bezpečnosti Přemysl Pazderka NCKB Východiska ISO/IEC 27001:2005 Systémy řízení bezpečnosti informací Požadavky ISO/IEC 27002:2005 Soubor postupů pro management bezpečnosti

Více

Úvod - Podniková informační bezpečnost PS1-2

Úvod - Podniková informační bezpečnost PS1-2 VŠFS; Aplikovaná informatika - 2006/2007 1 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Úvod - Podniková informační bezpečnost PS1-2 VŠFS; Aplikovaná informatika - 2006/2007 2 Literatura Kovacich G.L.:

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

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

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

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

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

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

Š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

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

Zákon o kybernetické bezpečnosti

Zákon o kybernetické bezpečnosti Zákon o kybernetické bezpečnosti Ing. Ondřej Ševeček GOPAS a.s. MCSM:Directory2012 MCM:Directory2008 MVP:Enterprise Security CEH: Certified Ethical Hacker CHFI: Computer Hacking Forensic Investigator CISA

Více

BEZPEČNÁ SPRÁVA KLÍČŮ POMOCÍ HSM. Petr Dolejší Senior Solution Consultant

BEZPEČNÁ SPRÁVA KLÍČŮ POMOCÍ HSM. Petr Dolejší Senior Solution Consultant BEZPEČNÁ SPRÁVA KLÍČŮ POMOCÍ HSM Petr Dolejší Senior Solution Consultant OCHRANA KLÍČŮ A ZOKB Hlavní termín kryptografické prostředky Vyhláška 316/2014Sb. o kybernetické bezpečnosti zmiňuje: v 17 nástroj

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

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

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

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

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

Aplikovaná informatika

Aplikovaná informatika 1 Aplikovaná informatika ZÁKLADY BEZPEČNOSTI IS ZEMÁNEK, Z. - PLUSKAL, D. Operační program Vzdělávání pro konkurenceschopnost Projekt: Vzdělávání pro bezpečnostní systém státu (reg. č.: CZ.1.01/2.2.00/15.0070)

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

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

Není cloud jako cloud, rozhodujte se podle bezpečnosti

Není cloud jako cloud, rozhodujte se podle bezpečnosti Není cloud jako cloud, rozhodujte se podle bezpečnosti Marcel Jánský Manažer útvaru produktů a podpory prodeje 26. 2. 2013 České Radiokomunikace Vysílací služby Profesionální telekomunikační operátor Poskytovatel

Více

KYBERNETICKÁ A INFORMAČNÍ VÁLKA

KYBERNETICKÁ A INFORMAČNÍ VÁLKA KYBERNETICKÁ A INFORMAČNÍ VÁLKA Téma č. 8 ÚTOKY NA INFORMAČNÍ SYSTÉMY mjr. Ing. Petr STODOLA, Ph.D. Univerzita obrany Fakulta ekonomiky a managementu Katedra vojenského managementu a taktiky Operační program:

Více

Věstník ČNB částka 18/2010 ze dne 21. prosince ÚŘEDNÍ SDĚLENÍ ČESKÉ NÁRODNÍ BANKY ze dne 10. prosince 2010

Věstník ČNB částka 18/2010 ze dne 21. prosince ÚŘEDNÍ SDĚLENÍ ČESKÉ NÁRODNÍ BANKY ze dne 10. prosince 2010 Třídící znak 2 2 1 1 0 5 6 0 ÚŘEDNÍ SDĚLENÍ ČESKÉ NÁRODNÍ BANKY ze dne 10. prosince 2010 k výkonu činnosti organizátora regulovaného trhu, provozovatele vypořádacího systému a centrálního depozitáře cenných

Více

srpen 2008 Ing. Jan Káda

srpen 2008 Ing. Jan Káda nauka o srpen 2008 Ing. Jan Káda ČSN ISO/IEC 27001:2006 (1) aktivum cokoliv, co má pro organizaci hodnotu důvěrnost zajištění, že informace jsou přístupné pouze těm, kteří jsou k přístupu oprávněni integrita

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

BEZPEČNOSTNÍ POLITIKA INFORMACÍ

BEZPEČNOSTNÍ POLITIKA INFORMACÍ BEZPEČNOSTNÍ POLITIKA INFORMACÍ společnosti ČEZ Energetické služby, s.r.o. Stránka 1 z 8 Obsah: 1. Úvodní ustanovení... 3 2. Cíle a zásady bezpečnosti informací... 3 3. Organizace bezpečnosti... 4 4. Klasifikace

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

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

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

Technická a organizační opatření pro ochranu údajů

Technická a organizační opatření pro ochranu údajů Technická a organizační opatření pro ochranu údajů V této příloze najdete více podrobností o tom, jak zabezpečujeme data. verze 1810 Adresa Bisnode Česká republika, a. s. Siemensova 2717/4 155 00 Praha

Více

)(x 2 + 3x + 4),

)(x 2 + 3x + 4), 3 IREDUCIBILNÍ ROZKLADY POLYNOMŮ V T [X] 3 Ireducibilní rozklady polynomů v T [x] - rozklady polynomů na ireducibilní (dále nerozložitelné) prvky v oboru integrity polynomů jedné neurčité x nad tělesem

Více

Technická opatření dle zákona o kybernetické bezpečnosti verze 1.0

Technická opatření dle zákona o kybernetické bezpečnosti verze 1.0 D Ů V Ě Ř U J T E S I L N Ý M Technická opatření dle zákona o kybernetické bezpečnosti verze 1.0 Petr Vácha Team Leader Security CCSP, CCSI# 25008, IronPort ICSP, ICSI petr.vacha@alef.com ALEF NULA, a.s.

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

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: 28 CZ.1.07/1.5.00/34.0410 Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek:

Více

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

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

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

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

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: 3 Maticový počet 3.1 Zavedení pojmu matice Maticí typu (m, n, kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: a 11 a 12... a 1k... a 1n a 21 a 22...

Více

Informační bezpečnost

Informační bezpečnost Marek Čandík Katedra managementu a informatiky Fakulta bezpečnostního managementu Policejní akademie ČR v Praze Informační bezpečnost Information security Úvod Informační technologie zpracovávají stále

Více

Věta o dělení polynomů se zbytkem

Věta o dělení polynomů se zbytkem Věta o dělení polynomů se zbytkem Věta. Nechť R je okruh, f, g R[x], přičemž vedoucí koeficient polynomu g 0 je jednotka okruhu R. Pak existuje jediná dvojice polynomů q, r R[x] taková, že st(r) < st(g)

Více

Více úrovňové informační systémy a jejich certifikace podle zákona č.412/2005 Sb., ve znění pozdějších předpisů

Více úrovňové informační systémy a jejich certifikace podle zákona č.412/2005 Sb., ve znění pozdějších předpisů Více úrovňové informační systémy a jejich certifikace podle zákona č.412/2005 Sb., ve znění pozdějších předpisů Vyhláška č. 523/2005 Sb., o bezpečnosti informačních a komunikačních systémů a dalších elektronických

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

Testování prvočíselnosti

Testování prvočíselnosti Dokumentace zápočtového programu z Programování II (NPRG031) Testování prvočíselnosti David Pěgřímek http://davpe.net Úvodem V různých oborech (například v kryptografii) je potřeba zjistit, zda je číslo

Více

Co je Czech Point? Podací Ověřovací Informační Národní Terminál, zredukovat přílišnou byrokracii ve vztahu

Co je Czech Point? Podací Ověřovací Informační Národní Terminál, zredukovat přílišnou byrokracii ve vztahu Czech Point Co je Czech Point? Podací Ověřovací Informační Národní Terminál, tedy Czech POINT je projektem, který by měl zredukovat přílišnou byrokracii ve vztahu občan veřejná správa. Czech POINT bude

Více

Návrh zákona o kybernetické bezpečnosti. Přemysl Pazderka Národní centrum kybernetické bezpečnosti Národní bezpečnostní úřad p.pazderka@nbu.

Návrh zákona o kybernetické bezpečnosti. Přemysl Pazderka Národní centrum kybernetické bezpečnosti Národní bezpečnostní úřad p.pazderka@nbu. Návrh zákona o kybernetické bezpečnosti Přemysl Pazderka Národní centrum kybernetické bezpečnosti Národní bezpečnostní úřad p.pazderka@nbu.cz Předmět úpravy VKB Obsah a strukturu bezpečnostní dokumentace

Více

ISMS. Autentizace ve WiFi sítích. V Brně dne 5. a 12. prosince 2013

ISMS. Autentizace ve WiFi sítích. V Brně dne 5. a 12. prosince 2013 ISMS Případová studie Autentizace ve WiFi sítích V Brně dne 5. a 12. prosince 2013 Pojmy Podnikové WiFi sítě Autentizace uživatelů dle standardu 802.1X Hlavní výhodou nasazení tohoto standardu je pohodlná

Více

Směrnice upravující eliminaci rizik při správě osobních údajů technicko-organizační opatření

Směrnice upravující eliminaci rizik při správě osobních údajů technicko-organizační opatření Směrnice určuje práva a povinnosti pracovníků správce osobních údajů ve vztahu k ochraně osobních údajů. Upravuje též konkrétní režim na pracovišti, způsoby zabezpečení (fyzického i elektronického). Směrnice

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ástroje IT manažera

Nástroje IT manažera Obsah Nástroje IT manažera Školení uživatelů Ochrana osobních údajů Bezpečnostní politika Software a právo Legální software Management jakosti Výběr a řízení dodavatelů Pracovněprávní minimum manažerů

Více

Fyzická bezpečnost, organizační opatření. RNDr. Igor Čermák, CSc.

Fyzická bezpečnost, organizační opatření. RNDr. Igor Čermák, CSc. Fyzická bezpečnost, organizační opatření RNDr. Igor Čermák, CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Igor Čermák, 2011 Informační bezpečnost,

Více

grupa těleso podgrupa konečné těleso polynomy komutativní generovaná prvkem, cyklická, řád prvku charakteristika tělesa

grupa těleso podgrupa konečné těleso polynomy komutativní generovaná prvkem, cyklická, řád prvku charakteristika tělesa grupa komutativní podgrupa těleso generovaná prvkem, cyklická, řád prvku Malá Fermatova věta konečné těleso charakteristika tělesa polynomy ireducibilní prvky, primitivní prvky definice: G, je grupa kde

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

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

Business Continuity Management jako jeden z nástrojů zvládání rizik. Ing. Martin Tobolka AEC, spol. s r.o.

Business Continuity Management jako jeden z nástrojů zvládání rizik. Ing. Martin Tobolka AEC, spol. s r.o. Business Continuity Management jako jeden z nástrojů zvládání rizik Ing. Martin Tobolka AEC, spol. s r.o. Co je BCM? Mezi časté příčiny přerušení kontinuity činností patří technická selhání (energie, HW,

Více

UNIVERZITA PARDUBICE FAKULTA EKONOMICKO-SPRÁVNÍ BAKALÁŘSKÁ PRÁCE. 2007 Jitka HAVELKOVÁ

UNIVERZITA PARDUBICE FAKULTA EKONOMICKO-SPRÁVNÍ BAKALÁŘSKÁ PRÁCE. 2007 Jitka HAVELKOVÁ UNIVERZITA PARDUBICE FAKULTA EKONOMICKO-SPRÁVNÍ BAKALÁŘSKÁ PRÁCE 2007 Jitka HAVELKOVÁ UNIVERZITA PARDUBICE FAKULTA EKONOMICKO-SPRÁVNÍ ÚSTAV SYSTÉMOVÉHO INŽENÝRSTVÍ A INFORMATIKY BEZPEČNOSTNÍ POLITIKA FIRMY

Více

Bezpečnost IS. Základní bezpečnostní cíle

Bezpečnost IS. Základní bezpečnostní cíle Bezpečnost IS Informační bezpečnost ochrana informace a uchování bezpečnostních atributů informace Důvěrnost, Integrita, Dostupnost, Autentičnost, Spolehlivost? Informace představují majetek s určitou

Více

Typy bezpečnostních incidentů

Typy bezpečnostních incidentů Typy bezpečnostních incidentů Aleš Padrta CESNET, z. s. p. o. Praha 12.12. 2008 Obsah Úvodní slovo Co je to bezpečnostní incident Klasifikace bezpečnostních incidentů Pojmy související s bezpečnostními

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

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY Příloha č. 3 k č.j. MV-159754-3/VZ-2013 Počet listů: 7 TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY Nové funkcionality Czech POINT 2012 Popis rozhraní egon Service Bus Centrální Místo Služeb 2.0 (dále jen CMS

Více

Řízení vybraných bezpečnostních rizik v podnikových informačních systémech. Bc. Aleš Bednář

Řízení vybraných bezpečnostních rizik v podnikových informačních systémech. Bc. Aleš Bednář Řízení vybraných bezpečnostních rizik v podnikových informačních systémech Bc. Aleš Bednář Diplomová práce 2006 ABSTRAKT Cílem této práce, která má název Řízení vybraných bezpečnostních rizik v podnikových

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

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

BEZPEČNOSTNÍ POLITIKA PRO BEZPEČNOST INFORMACÍ V ORGANIZACI

BEZPEČNOSTNÍ POLITIKA PRO BEZPEČNOST INFORMACÍ V ORGANIZACI BEZPEČNOSTNÍ POLITIKA PRO BEZPEČNOST INFORMACÍ V ORGANIZACI Název organizace Identifikační číslo 60153351 Sídlo organizace Datum zpracování 18. 5. 2018 Platnost a účinnost 25. 5. 2015 ZÁKLADNÍ ŠKOLA A

Více

BEZPEČNOST INFORMACÍ

BEZPEČNOST INFORMACÍ Předmět Bezpečnost informací je zaměřen na bezpečnostní aspekty informačních systémů a na zkoumání základních prvků vytvářeného bezpečnostního programu v organizacích. Tyto prvky technologie, procesy a

Více

o Kontaktní údaje o Jak připravit hlášení o kybernetickém incidentu o Klasifikace incidentu o Formulace hlášení o Způsob předávání na NCKB o Zpětná

o Kontaktní údaje o Jak připravit hlášení o kybernetickém incidentu o Klasifikace incidentu o Formulace hlášení o Způsob předávání na NCKB o Zpětná o Kontaktní údaje o Jak připravit hlášení o kybernetickém incidentu o Klasifikace incidentu o Formulace hlášení o Způsob předávání na NCKB o Zpětná vazba o Příklad o Zákon č. 181/2014 Sb., o kybernetické

Více

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30 Počítání modulo polynom 3. přednáška z algebraického kódování Alena Gollová, TIK Počítání modulo polynom 1/30 Obsah 1 Polynomy nad Zp Okruh Zp[x] a věta o dělení se zbytkem 2 Kongruence modulo polynom,

Více

Typ aktiv Aktivum Hrozba Zranitelnost Riziko

Typ aktiv Aktivum Hrozba Zranitelnost Riziko Zbytková rizika Typ aktiv Aktivum Hrozba Zranitelnost Částečná úroveň rizika Snížení hrozby Snížení zranit. Zbytkové Namapovaná opatření Riziko C I A T MAX Hodnota MAX Hodnota riziko ISO? specif.? Datová

Více

Banking - Personal Identification Number management and security Part 1: PIN protection principles and techniques

Banking - Personal Identification Number management and security Part 1: PIN protection principles and techniques ČESKÁ NORMA ICS 03.060;35.240.40 Leden 1996 Bankovnictví ŘÍZENÍ A BEZPEČNOST OSOBNÍCH IDENTIFIKAČNÍCH ČÍSEL Část 1: Principy a techniky ochrany PIN ČSN ISO 9564-1 97 9007 Banking - Personal Identification

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

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

Typ aktiv Aktivum Hrozba Zranitelnost Riziko

Typ aktiv Aktivum Hrozba Zranitelnost Riziko Zbytková rizika Typ aktiv Aktivum Hrozba Zranitelnost Částečná úroveň rizika Snížení hrozby Snížení zranit. Zbytkové Namapovaná opatření Riziko C I A T MAX Hodnota MAX Hodnota riziko ISO? specif.? Datová

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

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] MATICE Matice typu m/n nad tělesem T je soubor m n prvků z tělesa T uspořádaných do m řádků a n sloupců: a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] a m1 a m2 a mn Prvek a i,j je prvek matice A na místě

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

Počet kreditů: 5 Forma studia: kombinovaná. Anotace: Předmět seznamuje se základy dělitelnosti, vybranými partiemi algebry, šifrování a kódování.

Počet kreditů: 5 Forma studia: kombinovaná. Anotace: Předmět seznamuje se základy dělitelnosti, vybranými partiemi algebry, šifrování a kódování. Název předmětu: Matematika pro informatiky Zkratka předmětu: MIE Počet kreditů: 5 Forma studia: kombinovaná Forma zkoušky: kombinovaná (písemná a ústní část) Anotace: Předmět seznamuje se základy dělitelnosti,

Více

Bezpečnostní politika společnosti synlab czech s.r.o.

Bezpečnostní politika společnosti synlab czech s.r.o. www.synlab.cz synlab czech s.r.o. Sokolovská 100/94 Karlín 186 00 Praha 8 Bezpečnostní politika společnosti synlab czech s.r.o. Platnost dokumentu: 12. dubna 2017 Datum vypracování: 7. dubna 2017 Datum

Více

1. Organizace dokumentu. 2. Zabezpečení jako priorita. 3. Cloudová infrastruktura Hybrid Ads

1. Organizace dokumentu. 2. Zabezpečení jako priorita. 3. Cloudová infrastruktura Hybrid Ads 1. Organizace dokumentu V tomto dokumentu jsou popsány organizační a technická opatření přijatá Hybrid Company a.s. pro jednotlivé služby a produkty týkající se poskytovaných služeb a produktů 2. Zabezpečení

Více

Zákon o kybernetické bezpečnosti

Zákon o kybernetické bezpečnosti Zákon o kybernetické bezpečnosti Ing. Ondřej Ševeček GOPAS a.s. MCSM:Directory2012 MVP:Security CEH CHFI CISA CISM CISSP ondrej@sevecek.com www.sevecek.com GOPAS: info@gopas.cz www.gopas.cz www.facebook.com/p.s.gopas

Více

EXTRAKT z české technické normy

EXTRAKT z české technické normy EXTRAKT z české technické normy Extrakt nenahrazuje samotnou technickou normu, je pouze informativním 35.240.60 materiálem o normě. Dopravní telematika Dopravní telematika Elektronický výběr poplatků Směrnice

Více

příklad Steganografie Matematické základy šifrování šifrování pomocí křížů Hebrejské šifry

příklad Steganografie Matematické základy šifrování šifrování pomocí křížů Hebrejské šifry příklad Steganografie Matematické základy šifrování modulární aritmetika modulární inverze prvočísla faktorizace diskrétní logaritmus eliptické křivky generátory náhodných čísel šifrování pomocí křížů

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

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

Security of Things. 6. listopadu 2015. Marian Bartl

Security of Things. 6. listopadu 2015. Marian Bartl Security of Things 6. listopadu 2015 Marian Bartl Marian Bartl Unicorn Systems, Production Manager, 2013 Unicorn Systems, Operations Architect, 2012 Unicorn, 2012 Architektura a projektové řízení Bezpečnost

Více

Matematické základy šifrování a kódování

Matematické základy šifrování a kódování Matematické základy šifrování a kódování Permutace Pojem permutace patří mezi základní pojmy a nachází uplatnění v mnoha oblastech, např. kombinatorice, algebře apod. Definice Nechť je n-prvková množina.

Více

ALGEBRA. Téma 4: Grupy, okruhy a pole

ALGEBRA. Téma 4: Grupy, okruhy a pole SLEZSKÁ UNIVERZITA V OPAVĚ Matematický ústav v Opavě Na Rybníčku 1, 746 01 Opava, tel. (553) 684 611 DENNÍ STUDIUM Téma 4: Grupy, okruhy a pole Základní pojmy unární operace, binární operace, asociativita,

Více