Úvod do klasických a moderních metod šifrování

Slides:



Advertisements
Podobné prezentace
Jaroslav Pinkava - prosinec 2000 Bankovní institut vysoká škola a.s. 1 ELEKTRONICKÝ PODPIS – využití v bankovnictví (jednodenní seminář, Bankovní institut.
Advertisements

Fakulta životního prostředí Katedra informatiky a geoinformatiky
Projekt DIGIT – digitalizace výuky na ISŠTE Sokolov
jak to funguje ? MUDr.Zdeněk Hřib
Ing. Roman Danel, Ph.D. Institut ekonomiky a systémů řízení Hornicko – geologická fakulta.
Seznámení s asymetrickou kryptografií, díl 1.
Úvod do klasických a moderních metod šifrování Jaro 2008, 7. přednáška.
Asymetrická kryptografie
Základní číselné množiny
Soustava lineárních nerovnic
Radek Horáček IZI425 – Teorie kódování a šifrování
BRVKA Georg F.B. Riemann ( ). BRVKA Známe různé inverzní procesy (i matematické), integrování je inverzní proces k derivování. Definice: I je.
REDUKCE DAT Díváme-li se na soubory jako na text, pak je tento text redundantní. Redundance vyplývá z:  některé fráze nebo slova se opakují  existuje.
Bc. Jan Kotlařík. Pojmy  Naslouchání  Falšování  Napodobování – podvádění, zkreslení  Šifrování a dešifrování  Detekce falšování  Autentizace 
Šifrovaná elektronická pošta Petr Hruška
PRETTY GOOD PRIVACY ŠIFROVÁNÍ ZPRÁV. JE KRYPTOGRAFICKÝ BALÍK, KTERÝ JE VYUŽÍVÁN PŘEDEVŠÍM PRO ŠIFROVÁNÍ ZPRÁV A SOUBORŮ A VYTVÁŘENÍ, OVĚŘOVÁNÍ DIGITÁLNÍCH.
Ing. Roman Danel, Ph.D. Institut ekonomiky a systémů řízení Hornicko – geologická fakulta.
Nerovnice s neznámou pod odmocninou
Šifrování a bezpečnost
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Protokoly ověřování Projektování distribuovaných systémů Ing. Jiří Ledvina, CSc.
P-těžké, np-těžké a np-úplné problémy
Distribuce klíčů. Metoda Diffie Hellman Použiji jednosměrnou funkci f(x)=p x mod q p,q jsou velká prvočísla. Uživatel A zvolí tajný klíč t, uživatel B.
Úvod do klasických a moderních metod šifrování Jaro 2008, 9. přednáška.
1 Elektronický podpis v ČR Bezpečnost IS/IT Jaroslav Malý.
Čísla Množiny a podmnožiny čísel Přirozená čísla Nula Celá čísla
Šifrovací algoritmy EI4. DES – Data Encryption Standard  Soukromý klíč  56 bitů  Cca 7,2 x klíčů  Rozluštěn v roce 1997.
Úvod do klasických a moderních metod šifrování Jaro 2009, 5. přednáška.
BIS Elektronický podpis Roman Danel VŠB – TU Ostrava.
RSA šifra Ronald Rivest, Adi Shamir a Leonard Adlemann.
Teorie čísel Prvočíslo Eulerova funkce φ(n)
Elektronický podpis Ochrana Dat Jan Renner
Teorie čísel Prvočíslo Generování prvočísel: Erathosenovo síto
RSA – poznámky k algoritmu
Teorie čísel Prvočíslo Eulerova funkce φ(n)
Feistlovy kryptosystémy Posuvné registry Lucifer DES, AES Horst Feistel Německo, USA IBM.
Hybridní kryptosystémy
1. 2 Zabezpečená mobilní komunikace 3 Private Circle chrání Vaši komunikaci před odposlechem či narušením. Jedná se o komplexní řešení pro zabezpečení.
Josef Petr Obor vzdělání: M/01 Informační technologie INSPIROMAT PRO TECHNICKÉ OBORY 1. ČÁST – VÝUKOVÉ MATERIÁLY URČENÉ PRO SKUPINU OBORŮ 18 INFORMAČNÍ.
Kvadratické nerovnice
McEllisova šifra.
McEllisova šifra. James Ellis( ) Clifford Cocks, Malcolm Williamson Alice Bob zpráva šum Odstranění šumu.
Bezpečnost systémů 2. RSA šifra *1977 Ronald Rivest *1947 Adi Shamir *1952 Leonard Adelman *1945 University of Southern California, Los Angeles Protokol.
Symetrická šifra Šifrovací zobrazení y = φ(x,k) Dešifrovací zobrazení x = ψ(y,k)
ELEKTRONICKÝ PODPIS Jiří Suchomel tel.: Přihlášení na:Tester kraj Heslo:ecibudrap.
Informační bezpečnost VY_32_INOVACE _BEZP_16. SYMETRICKÉ ŠIFRY  Používající stejný šifrovací klíč jak pro zašifrování, tak pro dešifrování.  Výhoda.
PB 169 Počítačové sítě a operační systémy1 Bezpečnost v informačních technologiích PB 169 Počítačové sítě a operační systémy.
Informační bezpečnost VY_32_INOVACE _BEZP_17.  obdoba klasického podpisu, jež má zaručit jednoznačnou identifikaci osoby v prostředí digitálního světa.
BEZPEČNOSTNÍ TECHNOLOGIE I 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/ )
Kerberos ● Bezpečnost zaručená třetí stranou ● Autentikátory, KDC ● Lístky relace ● Lístky na vydávání lístků ● Autentizace mezi doménami ● Dílčí protokoly.
Složitost algoritmu Vybrané problémy: Při analýze složitosti jednotlivých algoritmů často narazíme na problém, jakým způsobem vzít v úvahu velikost vstupu.
Symetrická šifra Šifrovací zobrazení y = φ(x,k) Dešifrovací zobrazení x = ψ(y,k)
3. Ochrana dynamických dat
Úvod do databázových systémů
Prezentace – X33BMI Petr PROCHÁZKA
Ing. Martin Kořínek eGoncentrum ORP Nový Bydžov
Definiční obor a obor hodnot
Soustava lineárních rovnic
Operační program Vzdělávání pro konkurenceschopnost
Číslicová technika.
Virtuální privátní sítě
Feistlovy kryptosystémy
Úvod do klasických a moderních metod šifrování
Soustava lineárních nerovnic
Bezpečnost informačních systémů
Úvod do klasických a moderních metod šifrování
Bezpečnost systémů 2.
Elektronický (digitální) podpis
HASH.
Definiční obory. Množiny řešení. Intervaly.
Transkript prezentace:

Úvod do klasických a moderních metod šifrování Jaro 2009, 8. přednáška

Počátky asymetrické kryptografie Whitfield Diffie, Martin Hellman, New directions in cryptography, IEEE Transactions on Information Theory, vol. IT-22, pp. 644-654, 1976. Popisují, jak lze v kryptografii použít jednosměrné funkce a permutace s padacími vrátky (trapdoor permutations). Šifrovací systém s veřejným klíčem není nic jiného než permutace s padacími vrátky (každý může šifrovat, ale nemůže dešifrovat), která umožňuje dešifrování pouze oprávněnému uživateli. Článek ale neobsahuje žádnou konkrétní permutaci s padacími vrátky. Dalšími zakladateli byli R. Merkle a L. Lamport.

Šifrovací systém s veřejným klíčem Oskar (Eva) - protivník y x Šifrovací algoritmus Dešifrovací algoritmus x Alice Bob Ks Kp Kp Kanál s autentizací Zdroj klíčů x – otevřený text, y – šifrový text, Kp – veřejný klíč Ks – tajný (soukromý) klíč

Požadavky Vlastnosti asymetrického šifrování Pro dvojici klíčů (Kp,Ks) platí, že dKs(eKp(x)) = x pro každou zprávu x. Kanál pro přenos veřejného klíče Kp nemusí být bezpečný (tj. zajišťující důvěrnost přenášených zpráv), musí ale zajišťovat autentizaci, tj. Alice si musí být jistá, že veřejný klíč dostala skutečně od Boba. Generátor klíčů je obvykle na straně příjemce zprávy, tj. u Boba. Šifrovací a dešifrovací algoritmy musí být rychlé, zatímco dešifrování bez znalosti soukromého klíče musí být výpočetně nezvládnutelné. Vlastnosti asymetrického šifrování soukromý klíč je tajemstvím pouze příjemce, nikoliv obou partnerů, veřejný klíč umožňuje každému zašifrovat zprávu pro příjemce, cenou za toto větší pohodlí je větší složitost systémů s veřejným klíčem jak po matematické stránce tak z hlediska počtu operací, které je třeba provádět. Systémy s veřejným klíčem jsou proto mnohem pomalejší oproti symetrickým šifrovacím systémům, jejich bezpečnost se posuzuje mnohem obtížněji.

Protokol Diffieho-Hellmana Zajišťuje ustanovení tajného klíče pro symetrickou kryptografii pomocí nezabezpečeného kanálu, který ale musí zajišťovat autentizaci a integritu. Oskar (Eva) - protivník Šifrovací algoritmus Dešifrovací algoritmus Alice Bob K K V U Výměna A Výměna B Kanál s autentizací K – klíč, U,V – zprávy, kroky protokolu

Dohoda na (symetrickém) klíči Alice a Bob se nejdříve dohodnou na nějakém velkém prvočísle p a kladném g menším než p takovém, že gx mod p je různé od 1 pro každé kladné x < p-1. Obě čísla p a g mohou být veřejná. Alice zvolí nějaké tajné x, které má stejně bitů jako p. Spočítá U = gx mod p a odešle U Bobovi. Bob podobně zvolí tajné y, které má stejně bitů, jako p. Spočítá V = gy mod p a odešle V Alici. Alice si spočítá K = Vx mod p = gyx mod p . Bob si spočítá K = Uy mod p = gxy mod p . Číslo K je tajný klíč sdílený Alicí a Bobem. Aby byl klíč K skutečně tajný, musí být výpočetně nemožné ze znalosti čísel U a V získat číslo K . Problému nalezení čísla x ze znalosti gx mod p se říká problém diskrétního logaritmu. Tento problém je stále považován za velmi obtížný.

Význam autentizace Protokol Diffieho-Hellmana vyžaduje, aby kanál, kterým si Alice a Bob vyměňují p, g, U a V, zajišťoval autentizaci. Bez autentizace by šmíráci Eva s Oskarem mohli postupovat následovně. Posadí se doprostřed kanálu mezi Alici a Boba. Uskuteční protokoly s Alicí a Bobem, s každým zvlášť. Získají tak symetrický klíč K pro komunikaci s Alicí a jiný symetrický klíč L pro komunikaci s Bobem. Pošle-li Alice šifrovanou zprávu Bobovi, Eva s Oskarem ji dešifrují za pomoci příslušného klíče K, poté ji zašifrují pomocí klíče L a pošlou ji dále Bobovi. Tomuto typu aktivního útoku se anglicky říká man-in-the-middle attack.

Šifrovací systém RSA Malá Fermatova věta Jeho autory jsou Ronald Rivest, Adi Shamir a Leonard Adleman. Zveřejnili jej v článku A method for obtaining digital signatures and public-key cryptosystem, Communications of ACM, vol. 21, pp. 120-126, 1978. Jde o první šifrovací systém s veřejným klíčem. Je založený na obtížnosti rozložení velkého přirozeného čísla na součin prvočísel. Malá Fermatova věta Pro přirozené číslo N označíme φ(N) počet přirozených čísel menších než N, které jsou nesoudělné s N. Například jsou-li p,q různá prvočísla, pak φ(p) = p-1, φ(pq) =(p-1)(q-1) . Malá Fermatova věta říká, že pro každé přirozené číslo N větší než 1 a každé přirozené číslo x menší než N platí xφ(N) = 1 mod N .

Generátor klíčů a šifrování Jako první je nutné zvolit veřejný parametr s, který říká, kolik bitů bude mít modul N . Standardní volbou je v současnosti s = 1024. Poté je třeba najít dvě nezávislá náhodná prvočísla p,q velikosti s/2 bitů. Víme, že pro N=pq platí φ(N) = (p-1)(q-1) . Dále se zvolí nějaké číslo e nesoudělné s φ(N) = (p-1)(q-1) . Pomocí rozšířeného Euklidova algoritmu se najde číslo d takové, že ed = 1 mod φ(N). Veřejným klíčem Kp je dvojice (N,e) . Soukromým klíčem Ks je dvojice (N,d) . Zpráva se zakóduje jako nějaké číslo x z množiny {1,2,. . . . N-1}. Zprávu x zašifrujeme jako y = xe mod N . Šifrovou zprávu y pak dešifrujeme jako yd mod N . Z malé Fermatovy věty vyplývá, že po dešifrování dostaneme původní otevřený text x .

Co je třeba umět Musíme umět hledat velká prvočísla. K tomu se používá Millerův-Rabinův test. S pravděpodobností 1 pozná, že dané číslo je prvočíslo a s pravděpodobností 1-4-k pozná, že je to složené číslo, kde k je volitelný parametr. Millerův-Rabinův test vyžaduje O (s4) operací. Vynásobit dvě čísla o s/2 bitech běžným školním algoritmem vyžaduje O (s2) operací. Lze to ale udělat i rychleji pomocí Karacubova algoritmu. Vyzkoušet, je-li nějaké číslo e nesoudělné s φ(N), vyžaduje použít jednou Euklidův algoritmus, což je dalších O (s2) operací. K výpočtu d je třeba jednou použít rozšířený Euklidův algoritmus, což je dalších O (s2) operací. Šifrování vyžaduje dalších O (s3) operací. Vhodnou volbou e, například e = 17 nebo e = 216+1 to lze zrychlit na O (s2) operací. Dešifrování stojí dalších O (s3) operací.

ElGamalův šifrovací systém Autorem je Taher ElGamal, popsal jej ve své PhD disertaci Cryptography and logarithms over finite fields, Stanford University 1984. Dva veřejné parametry jsou velké prvočíslo p a kladné číslo g menší než p takové, že gx mod p je různé od 1 pro každé kladné x < p-1. Generátor klíče nyní vygeneruje náhodné kladné x a spočítá číslo y = gx mod p. Veřejný klíč je Kp = y. Tajný klíč je Ks = x. Zpráva je zakódována jako nenulové číslo m menší než p. Šifrování probíhá tak, že odesílatel zvolí náhodné nenulové číslo r menší než p, spočítá u = gr mod p a v = myr mod p. Šifrová zpráva je (u,v). Dešifrování probíhá tak, že se spočte číslo vu-x mod p. Proběhnou-li výpočty správně, pak m = vu-x mod p. Výhody a nevýhody oproti RSA.

Oskar (Eva) - protivník Digitální podpis x x,σ x,σ Bob Alice Oskar (Eva) - protivník Podpisovací algoritmus Ověřovací algoritmus x,+/- Ks Kp Kp Kanál s autentizací Zdroj klíčů x – podpisovaný text, σ – digitální podpis, Kp – veřejný klíč Ks – tajný (soukromý) klíč

Digitální podpis Schéma s veřejným klíčem pro digitální podpis tvoří: generátor pseudonáhodných čísel, podpisovací algoritmus, který ze zprávy x a tajného klíče Ks vypočítá digitální podpis σ, ověřovací algoritmus, který pro každou zprávu x, podpis σ a veřejný klíč Kp ověří správnost podpisu. Digitální podpis musí zajistit několik bezpečnostních cílů. Nezfalšovatelnost podpisu. Pro útočníka musí být nemožné bez znalosti tajného klíče Ks vytvořit ke zprávě x platný podpis σ. To musí platit i v situaci, kdy útočník má k dispozici několik platných podpisů (xi,σi), dokonce i když si může volit zprávy xi. Nepopiratelnost podpisu. Ten, kdo zprávu podepsal, nesmí mít později možnost svůj podpis popřít. To znamená, že autor podpisu nemůže dokázat, že podpis lze zfalšovat.

Nezfalšovatelnost podpisu Podvržení podpisu může mít několik podob. Úplné prolomení systému spočívá v tom, že útočník dokáže ze znalosti veřejného klíče Kp získat tajný klíč Ks. Univerzální podvržení. Na základě veřejného klíče Kp útočník dokáže vytvořit algoritmus, který vytváří platné podpisy k libovolné zprávě x. Selektivní podvržení. Na základě veřejného klíče Kp útočník dokáže vytvořit zprávu, ke které pak umí připojit platný podpis. Existenční podvržení. Na základě veřejného klíče Kp je útočník schopen vytvářet dvojice (x,σ), kde σ je platný podpis zprávy x. Nemá ale žádnou kontrolu nad tím, jak zpráva x vypadá.

Od šifrovacího k podpisovému systému Šifrovací systém s veřejným klíčem můžeme snadno přeměnit v podpisový systém s veřejným klíčem tak, že použijeme dešifrovací algoritmus jako podpisovací algoritmus a šifrovací algoritmus jako ověřovací. Dešifrovací algoritmus totiž závisí na tajném klíči, který je známý pouze tomu, kdo podepisuje. Šifrovací algoritmus závisí na veřejném klíči, který je dostupný každému, podpis tedy může ověřit kdokoliv. V takto jednoduché podobě jde o podpis s obnovou zprávy. Podepisovanou zprávu x není nutné posílat spolu s podpisem σ, protože ji získáme z podpisu σ jako výsledek ověřovacího algoritmu. V případě dlouhých zpráv trvá vytvoření podpisu a jeho ověření příliš dlouho. Asymetrické šifrovací systémy jsou příliš pomalé.

Jednoduchý RSA podpis Použijeme-li jako výchozí šifrovací systém RSA, dostaneme jednoduchý RSA podpis. Ten trpí několika problémy, které jsou způsobené tvarem šifrovacího a dešifrovacího algoritmu u RSA. Tak například není odolný vůči existenčnímu podvržení. Každý si snadno může k libovolnému náhodně zvolenému podpisu σ vytvořit zprávu m = σe mod N, jejímž podpisem je právě σ. Vytvoří tak zprávu m s platným podpisem σ, nemá ale žádnou kontrolu nad podobou zprávy m. Stejně tak je snadné ze dvou platných podpisů (m,σ) a (m’,σ’) vytvořit nový platný podpis (m’’,σ’’) tak, že položíme m’’ = mm’ mod N a σ’’ = σσ’ mod N . Tyto bezpečnostní problémy lze odstranit použitím hašovací funkce.

Systém bez obnovy zprávy V praxi se proto používají podpisové systémy bez obnovy zprávy. Nepodepisuje se zpráva x, ale hodnota H(x), kde H je nějaká hašovací funkce. Podepisují se tak pouze zprávy délky rovné délce hašovací funkce H. Podpisem je tak dvojice ( H(x),σ ), kde σ je podpis textu H(x). Podepisovaná zpráva x se posílá spolu s podpisem, není ji proto nutné obnovovat. Použitá hašovací funkce musí být odolná vůči nalezení kolizí. V opačném případě by bylo možné mít stejný podpis ke dvěma různým zprávám. Jednu by si útočník nechal podepsat a pak by podpis připojil ke druhé zprávě. Tím by podvrhnul podpis druhé zprávy.

ElGamalův podpis Je založený na ElGamalově šifrovacím systému. Dva veřejné parametry jsou velké prvočíslo p a kladné číslo g menší než p takové, že gx mod p je různé od 1 pro každé kladné x < p-1. Generátor klíče nyní vygeneruje náhodné kladné x a spočítá číslo y = gx mod p. Veřejný klíč je Kp = y. Tajný klíč je Ks = x. Pak se spočítá otisk h = H(m) podepisované zprávy m pomocí nějaké hašovací funkce H. Podpis se vygeneruje tak, že se zvolí náhodné kladné číslo k menší než p-1 a spočítá r = gk mod p a s = (h - xr)k-1 mod (p-1). Podpis zprávy h je potom dvojice σ = (r,s) . Ověřovací algoritmus spočívá v ověření rovnosti yrrs = gh mod p . Pokud byl totiž podpis σ = (r,s) správně spočítán, tak platí yrrs = gxr+ks = gh mod p .