Úvod do klasických a moderních metod šifrování Jaro 2009, 5. přednáška
Moderní kryptologie Centrum F83, rozsáhlé podzemní pracoviště systému Echelon
Bezpečnostní cíle moderní kryptografie Důvěrnost dat – utajení informace před neoprávněnými uživateli. Lze dosáhnout různými způsoby, např. kontrolou fyzického přístupu k datům, šifrováním. Integrita dat – zajištění, aby data nebyla úmyslně nebo neúmyslně změněna neoprávněným uživatelem, např. pozměněním, vložením nebo smazáním části dat, jejich opakováním ve zprávě např. Potvrzuji, že dlužím XY Kč, JT. Potvrzuji, že dlužím XY Kč, JT. Autentizace entit – ověřuje proklamovanou identitu daných entit např. uživatele, počítače, zařízení, programu, procesu, apod.
Šifrování nestačí ! Na obrázku vidíme zachycený šifrovaný dopis Marie Stuartovny. Luštitel, který znal šifrovací klíč, vložil závěrečnou část zprávy, žádající sdělení jmen a adres spiklenců, spolupracujících s Marií Stuartovnou. Na základě toho byli spiklenci odhaleni. Zajištění integrity přenášených (šifrovaných) zpráv je kupodivu velkým praktickým problémem mnoha moderních systémů a přetrvává do současnosti, stejně jako mýtus, že šifrování řeší všechny problémy bezpečnosti.
Bezpečnostní cíle - pokračování Autentizace dat – ověřuje proklamovanou identitu daných dat, např. obsah dat, čas jejich vzniku, původ dat, apod. Vedlejším produktem autentizace dat je zajištění jejich integrity Nepopiratelnost – zajišťuje, aby daný subjekt nemohl později popřít to, co předtím vykonal. Je-li zajištěna nepopiratelnost, pak v případě sporu dvou stran může nezávislá třetí strana rozhodnout, zda daný úkon proběhl nebo ne. Jde o např. nepopiratelnost vytvoření zprávy, nepopiratelnost odeslání, podání, přenosu a příjmu zprávy. Řízení přístupu – zajišťuje, že pouze oprávněné subjekty mají přístup k definovaným objektům, zdrojům, informacím.
Další bezpečnostní cíle výměna tajného klíče na nechráněném komunikačním kanálu sdílení tajemství hraní karetních her na dálku bez možnosti podvádění házení mincí po telefonu současný podpis smlouvy více stranami najednou protokoly pro výměnu klíčů vzájemné autentizace důkaz nějaké znalosti bez jejího odhalení.
Základní kryptografické služby Bezpečnostní cíle jsou zajišťovány pomocí základních kryptografických služeb Mezi ně řadíme důvěrnost, integritu, autentizaci a nepopiratelnost Uživatelem nemusí být vždy osoba, může jím být třeba program nebo proces Zprávou nemusí být vždy , může jí být libovolný soubor dat, program, položka v databázi, atd. Informačně bezpečnostní služba je metoda zajištění určitého bezpečnostního cíle. Například zajištění integrity dat přenášených nějakým komunikačním kanálem je bezpečnostní cíl, metoda, kterou ji zajišťujeme, je bezpečnostní služba. Bezpečnostní služby jsou zajišťovány pomocí kryptografických nástrojů.
Kryptografické nástroje Nebo také kryptografické mechanismy. Šifrovací systémy Hašovací funkce Generátory pseudonáhodných znaků Autentizační kódy zpráv a klíčované autentizační kódy zpráv Šifry s veřejným klíčem Schémata digitálních podpisů Schémata výměny klíčů a dohody na klíči Schémata sdíleného tajemství Autentizační a identifikační schémata atd.
Moderní kryptografie Můžeme ji definovat jako studium matematických metod pro zajištění informační bezpečnosti Metod pro zajištění informační bezpečnosti je celá řada fyzická bezpečnost (např. nosičů informace) personální (nikdo nepovolaný/neprověřený se k nim nedostane) technické zabezpečení administrativní zabezpečení Kryptografie hraje důležitou roli, není ale sama
Nové myšlenky v kryptografii Rozvoj informačních technologií a uvědomění si potřebnosti zajištění nových bezpečnostních cílů vedly k hledání matematických nástrojů, které by je mohly zajistit. Jednosměrné funkce. Funkce f : X → Y se nazývá jednosměrná, jestliže pro libovolný prvek x X je snadné (umíme rychle) vypočítat hodnotu f (x), ale pro náhodně vybraný prvek y f(X) nelze (neumíme, je výpočetně nezvládnutelné) najít nějaké x X takové, že y = f (x). Příklad ze života: telefonní seznam. Příklad z matematiky: X = { ( p,q ) : p,q jsou prvočísla velikosti 1024 bitů }, Y je množina přirozených čísel velikosti 2048 bitů, f(p,q) = pq.
Hašovací funkce Jiný typ jednosměrné funkce. Hašovací funkce z jakkoliv velkých dat (menších než 2 64 bitů) umí rychle vytvořitjejich identifikátor – digitální otisk. Data lze nyní identifikovat (i z právního hlediska) podle jejich digitálního otisku majícího řádově pár set bitů. AHS (Advanced Hash Standard) – celosvětová soutěž na návrh nového typu hašovací funkce. Organizovaná NIST (National Institue of Standards and Technology).
Použití hašovacích funkcí Kontrola shody databází. Chceme-li porovnat dvě databáze uložené na vzdálených místech, není nutné porovnávat celé databáze, ale pouze jejich digitální otisky velikosti pár set bitů získané nějakou hašovací funkcí. Prokazování autorství. Vytvořím nějaké dílo, nechci jej ale zveřejnit hned. Aby mi někdo v budoucnu nemohl upřít autorství, spočtu digitální otisk díla pomocí hašovací funkce a zveřejním tento otisk. Později dílo zveřejním a každý si může sám ověřit, že dříve zveřejněný digitální otisk se shoduje s digitálním otiskem celého zveřejněného díla. Předpověď výsledku letošních prezidentských voleb v USA – viz projekt HashClash. Ukládání přístupových hesel. Přístupová hesla nejsou v počítačových systémech ukládána přímo, aby se k nim nikdo nemohl snadno dostat. Jsou ukládány jejich digitální otisky.
Jednosměrná funkce s padacími vrátky. To je jednosměrná funkce, kterou umí invertovat pouze ten, kdo má nějakou dodatečnou informaci (privátní klíč). Padací vrátka je český překlad trapdoor. Padací vrátka jsou analogie klíče k poštovní schránce. Vhazovat do ní dopisy může každý, vybírat pouze ten, kdo má klíč. Jsou základem asymetrických šifrovacích systémů. Zde jsou dva klíče – veřejný klíč, který slouží k zašifrování, a soukromý klíč, který slouží k dešifrování. Adresát zveřejní veřejný klíč, pomocí kterého může každý zašifrovat zprávu, kterou mu chce poslat. Pouze adresát má ale privátní klíč, pomocí kterého může dešifrovat zprávu, kterou kdokoliv zašifroval jeho veřejným klíčem. Účastník si zvolí dvě velká prvočísla a zveřejní jejich součin. Sám si ale uschová obě prvočísla, takže je jediným, kdo veřejný klíč umí rozložit na součin prvočísel.
Digitální podpis Na této jednosměrné funkci s padacími vrátky je založen šifrovací systém RSA. Digitální podpis je jinou aplikací jednosměrné funkce s padacími vrátky. K podpisu dokumentu použiji svůj soukromý klíč. Podpis může ověřit kdokoliv pomocí mého veřejného klíče. Mluvíme také o podpisovací transformaci a ověřovací transformaci.
Kryptografická transformace, zobrazení, algoritmus a systém V klasické kryptografii se příliš nerozlišovaly, protože v rámci jedné služby (zajištění důvěrnosti dat) to nebylo potřeba. Kryptografická transformace (funkce, operace), je funkce definující zpracování dat pomocí daného konkrétního klíče. V případě šifrovacího systému je to funkce e K : P → C, viz první přednáška. Kryptografické zobrazení je zobrazení, které každému klíči (nebo jinému parametru) přiřadí konkrétní kryptografickou transformaci. V případě šifrovacího systému je to zobrazení, které každému klíči k K přiřadí šifrovací transformaci e K : P → C. Kryptografický algoritmus je souhrn všech kryptografických transformací a zobrazení daného kryptosystému. V případě šifrovacího systému jde je to dvojice funkcí, která každému klíči k K přiřadí dvojici transformací e K : P → C a d K : C → P.
Kryptografický systém Kryptografický systém (kryptosystém, kryptografické schéma, kryptoschéma) je matematická metoda, zajišťující některou informačně bezpečnostní službu. Kryptosystém zahrnuje celý proces zpracování dat a klíče a všechny jeho okolnosti, zahrnující všechny relevantní kryptografickéalgoritmy, transformace, zobrazení, algoritmy a další pravidla, které daný systém používá a řídí se jimi. Tak třeba v případě šifrovacího systému Enigma sem patří nejenom samotný přístroj (transformace), ale i pravidla jeho nastavování (zobrazení), dále způsob generování denních klíčů a klíčů pro jednotlivé zprávy, protokol používání, tj. způsob předávání informace o klíči pro jednotlivou zprávu, atd. V případě šifrovacího systému RSA to jsou nejen šifrovací a dešifrovací algoritmy, ale i způsob generování prvočísel dané velikosti.
Kryptoanalýza Moderní kryptoanalýzu můžeme v širším významu definovat jako vědu o hledání slabin nebo prolamování matematických metod informační bezpečnosti. Klasická kryptoanalýza vycházela nejčastěji pouze ze znalosti šifrového textu – útok se znalostí šifrového textu - cipher text attack. Mnohem více informací o systému bylo možné získat v případě, pokud měl kryptoanalytik k dispozici současně otevřený text a jeho šifrovou podobu – útok se znalostí otevřeného textu - plain text attack. Pokud si kryptoanalytik mohl zvolit otevřený text k zašifrování a nechat jej nepříteli zašifrovat daným systémem, pak měl k dispozici ještě více informací – útok s možností volby otevřeného textu - chosen plain text attack. Utajení kryptografické transformace lze použít pouze jako další zesílení bezpečnosti šifrovacího systému, nesmí sloužit jako opatření nahrazující nebo garantující kvalitu šifrovacího systému.
Moderní kryptoanalýza S rozvojem moderních komunikačních a počítačových systémů přibyla řada nových možností útoků. Útočník nemusí pouze pasivně sledovat komunikační kanál, ale může aktivně zasahovat do komunikačního kanálu. Může pozměnit šifrový text, může sám komunikaci vyvolat, přerušit, znovu poslat zachycenou starou šifrovanou zprávu, může zprávu pozdržet, odstranit, nahradit odeslanou zprávu svou vlastní, atd. To jsou aktivní útoky. Další moderní formou jsou adaptivní útoky. V nich kryptoanalytik koriguje svůj aktivní útok za chodu na základě již dosažených výsledků. Útočník už nemusí být vně šifrovacího systému, ale být jeho součástí.
Postranní kanály Šifrovací systém je sice založen na matematické metodě, nežije ale, na rozdíl od této matematické metody, ve světě abstraktních idejí, ale v reálném světě. Je implementován na nějakém počítači, který odebírá proud, obrazovka vyřazuje elektromagnetické záření, výpočet nějakou dobu trvá, systém odpovídá na přijatá data chybovými hláškami, čipová karta při výpočtu vyřazuje fotony, mohou se vyskytnout chyby v implementaci, atd. Těmto zdrojům informací se říká postranní kanály. Klasickými postranními kanály jsou například špioni, úplatky, vydírání, palečnice, natahování na žebřík, španělská panna, zde se mohli lidé s bohatou představivostí skutečně vyřádit. Klasické postranní kanály byly rovněž používány adaptivně. Moderní adaptivní útok může například spočívat v postupném odesílání miliónů šifrových textů serveru, přičemž tyto texty jsou volené podle reakcí serveru, odesílání chybových hlášek, apod.
Typy bezpečnosti kryptografických systémů Nepodmíněná bezpečnost a absolutní bezpečnost. Kryptografický systém je nepodmínečně bezpečný, je-li bezpečný i v případě, že útočník má k dispozici neomezené materiální prostředky k jeho luštění. Důvodem nepodmínečné bezpečnosti je to, že útočník nemá k prolomení systému dostatek informací. V případě šifrovacích systémů se nepodmínečná bezpečnost nazývá absolutní bezpečnost. Vernamova šifra je absolutně bezpečná. Drtivá většina kryptografických systémů tuto vlastnost nemá. Dokazatelná bezpečnost. Kryptografický systém je dokazatelně bezpečný, jestliže jeho prolomení je (v zásadě, přibližně, řádově) stejně obtížné, jako řešení nějakého známého problému, jehož složitost je velmi vysoká. Jedním takovým známým problémem je problém faktorizace velkých čísel.
Výpočetní bezpečnost. Kryptografický systém je výpočetně bezpečný, jestliže jeho prolomení je s použitím nejefektivnějších známých útoků natolik složité, že převyšuje výpočetní možnosti a zdroje protivníka. Zde je třeba při posuzování bezpečnosti brát v úvahu rychlý vývoj techniky. Například počátkem devadesátých let byla velikost prostoru klíčů 2 56 u DES považována za relativně bezpečnou. V roce 1999 stál DES-Cracker asi 130 tis. dolarů (210 tis. včetně vývoje), a probrat celý prostor klíčů trvalo 9 dní.